Version in base suite: 18.13.0+dfsg1-1 Base version: nodejs_18.13.0+dfsg1-1 Target version: nodejs_18.19.0+dfsg-6~deb12u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/n/nodejs/nodejs_18.13.0+dfsg1-1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/n/nodejs/nodejs_18.19.0+dfsg-6~deb12u1.dsc /srv/release.debian.org/tmp/rlDM_VogAy/nodejs-18.19.0+dfsg/test/fixtures/errors/error_with_nul.snapshot |binary /srv/release.debian.org/tmp/rlDM_VogAy/nodejs-18.19.0+dfsg/test/fixtures/es-modules/export-name-code-injection.wasm |binary /srv/release.debian.org/tmp/rlDM_VogAy/nodejs-18.19.0+dfsg/test/fixtures/es-modules/export-name-syntax-error.wasm |binary /srv/release.debian.org/tmp/rlDM_VogAy/nodejs-18.19.0+dfsg/test/fixtures/es-modules/import-name.wasm |binary /srv/release.debian.org/tmp/rlDM_VogAy/nodejs-18.19.0+dfsg/test/fixtures/es-modules/noext-wasm |binary /srv/release.debian.org/tmp/rlDM_VogAy/nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-type-module/node_modules/dep-with-package-json-type-module/noext-wasm |binary /srv/release.debian.org/tmp/rlDM_VogAy/nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-type-module/noext-wasm |binary /srv/release.debian.org/tmp/rlDM_VogAy/nodejs-18.19.0+dfsg/test/fixtures/out-of-bound.wasm |binary /srv/release.debian.org/tmp/rlDM_VogAy/nodejs-18.19.0+dfsg/test/message/error_with_nul.out |binary /srv/release.debian.org/tmp/rlDM_VogAy/nodejs-18.19.0+dfsg/test/wasi/wasm/sock.wasm |binary nodejs-18.19.0+dfsg/.devcontainer/.devcontainer.json | 19 nodejs-18.19.0+dfsg/.devcontainer/Dockerfile | 1 nodejs-18.19.0+dfsg/.flake8 | 3 nodejs-18.19.0+dfsg/AUTHORS | 3589 - nodejs-18.19.0+dfsg/BUILDING.md | 268 nodejs-18.19.0+dfsg/CHANGELOG.md | 57 nodejs-18.19.0+dfsg/GOVERNANCE.md | 6 nodejs-18.19.0+dfsg/LICENSE | 349 nodejs-18.19.0+dfsg/Makefile | 51 nodejs-18.19.0+dfsg/README.md | 134 nodejs-18.19.0+dfsg/SECURITY.md | 56 nodejs-18.19.0+dfsg/ada/.clang-format | 2 nodejs-18.19.0+dfsg/ada/.editorconfig | 5 nodejs-18.19.0+dfsg/ada/.github/ISSUE_TEMPLATE/1-bug-report.yml | 40 nodejs-18.19.0+dfsg/ada/.github/ISSUE_TEMPLATE/2-feature-request.yml | 23 nodejs-18.19.0+dfsg/ada/.github/ISSUE_TEMPLATE/config.yml | 5 nodejs-18.19.0+dfsg/ada/.github/dependabot.yml | 23 nodejs-18.19.0+dfsg/ada/.github/workflows/alpine.yml | 45 nodejs-18.19.0+dfsg/ada/.github/workflows/cifuzz.yml | 41 nodejs-18.19.0+dfsg/ada/.github/workflows/codeql.yml | 47 nodejs-18.19.0+dfsg/ada/.github/workflows/dependency-review.yml | 14 nodejs-18.19.0+dfsg/ada/.github/workflows/documentation.yml | 35 nodejs-18.19.0+dfsg/ada/.github/workflows/emscripten.yml | 39 nodejs-18.19.0+dfsg/ada/.github/workflows/lint_and_format_check.yml | 44 nodejs-18.19.0+dfsg/ada/.github/workflows/macos_install.yml | 44 nodejs-18.19.0+dfsg/ada/.github/workflows/release-script-tests.yml | 33 nodejs-18.19.0+dfsg/ada/.github/workflows/release_create.yml | 56 nodejs-18.19.0+dfsg/ada/.github/workflows/release_prepare.yml | 52 nodejs-18.19.0+dfsg/ada/.github/workflows/scorecard.yml | 70 nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu-release.yml | 40 nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu-s390x.yml | 43 nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu-sanitized.yml | 40 nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu-undef.yml | 40 nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu.yml | 43 nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu_install.yml | 46 nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu_old.yml | 41 nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu_pedantic.yml | 41 nodejs-18.19.0+dfsg/ada/.github/workflows/visual_studio.yml | 49 nodejs-18.19.0+dfsg/ada/.github/workflows/visual_studio_clang.yml | 46 nodejs-18.19.0+dfsg/ada/.github/workflows/wpt-updater.yml | 40 nodejs-18.19.0+dfsg/ada/.gitignore | 27 nodejs-18.19.0+dfsg/ada/CMakeLists.txt | 175 nodejs-18.19.0+dfsg/ada/Dockerfile | 12 nodejs-18.19.0+dfsg/ada/LICENSE-APACHE | 201 nodejs-18.19.0+dfsg/ada/LICENSE-MIT | 18 nodejs-18.19.0+dfsg/ada/README.md | 314 nodejs-18.19.0+dfsg/ada/SECURITY.md | 8 nodejs-18.19.0+dfsg/ada/benchmarks/CMakeLists.txt | 300 nodejs-18.19.0+dfsg/ada/benchmarks/bbc_bench.cpp | 36 nodejs-18.19.0+dfsg/ada/benchmarks/bench.cpp | 72 nodejs-18.19.0+dfsg/ada/benchmarks/bench_search_params.cpp | 343 nodejs-18.19.0+dfsg/ada/benchmarks/benchmark_header.h | 65 nodejs-18.19.0+dfsg/ada/benchmarks/benchmark_template.cpp | 818 nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/Cargo.lock | 83 nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/Cargo.toml | 16 nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/README.md | 17 nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/cbindgen.toml | 12 nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/lib.rs | 44 nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/servo_url.h | 30 nodejs-18.19.0+dfsg/ada/benchmarks/model_bench.cpp | 280 nodejs-18.19.0+dfsg/ada/benchmarks/percent_encode.cpp | 266 nodejs-18.19.0+dfsg/ada/benchmarks/performancecounters/apple_arm_events.h | 1110 nodejs-18.19.0+dfsg/ada/benchmarks/performancecounters/event_counter.h | 150 nodejs-18.19.0+dfsg/ada/benchmarks/performancecounters/linux-perf-events.h | 105 nodejs-18.19.0+dfsg/ada/benchmarks/wpt_bench.cpp | 227 nodejs-18.19.0+dfsg/ada/cmake/CPM.cmake | 24 nodejs-18.19.0+dfsg/ada/cmake/ada-config.cmake.in | 1 nodejs-18.19.0+dfsg/ada/cmake/ada-flags.cmake | 59 nodejs-18.19.0+dfsg/ada/cmake/add-cpp-test.cmake | 67 nodejs-18.19.0+dfsg/ada/cmake/clang-format.cmake | 37 nodejs-18.19.0+dfsg/ada/cmake/codecoverage.cmake | 742 nodejs-18.19.0+dfsg/ada/docs/RELEASE.md | 19 nodejs-18.19.0+dfsg/ada/docs/cli.md | 204 nodejs-18.19.0+dfsg/ada/docs/doxygen/footer.html | 7 nodejs-18.19.0+dfsg/ada/docs/doxygen/header.html | 84 nodejs-18.19.0+dfsg/ada/doxygen | 2741 nodejs-18.19.0+dfsg/ada/fuzz/build.sh | 14 nodejs-18.19.0+dfsg/ada/fuzz/parse.cc | 140 nodejs-18.19.0+dfsg/ada/include/ada.h | 33 nodejs-18.19.0+dfsg/ada/include/ada/ada_idna.h | 149 nodejs-18.19.0+dfsg/ada/include/ada/ada_version.h | 20 nodejs-18.19.0+dfsg/ada/include/ada/character_sets-inl.h | 516 nodejs-18.19.0+dfsg/ada/include/ada/character_sets.h | 21 nodejs-18.19.0+dfsg/ada/include/ada/checkers-inl.h | 67 nodejs-18.19.0+dfsg/ada/include/ada/checkers.h | 107 nodejs-18.19.0+dfsg/ada/include/ada/common_defs.h | 299 nodejs-18.19.0+dfsg/ada/include/ada/encoding_type.h | 32 nodejs-18.19.0+dfsg/ada/include/ada/expected.h | 2515 nodejs-18.19.0+dfsg/ada/include/ada/helpers.h | 238 nodejs-18.19.0+dfsg/ada/include/ada/implementation.h | 60 nodejs-18.19.0+dfsg/ada/include/ada/log.h | 79 nodejs-18.19.0+dfsg/ada/include/ada/parser.h | 43 nodejs-18.19.0+dfsg/ada/include/ada/scheme-inl.h | 63 nodejs-18.19.0+dfsg/ada/include/ada/scheme.h | 77 nodejs-18.19.0+dfsg/ada/include/ada/serializers.h | 45 nodejs-18.19.0+dfsg/ada/include/ada/state.h | 47 nodejs-18.19.0+dfsg/ada/include/ada/unicode-inl.h | 25 nodejs-18.19.0+dfsg/ada/include/ada/unicode.h | 207 nodejs-18.19.0+dfsg/ada/include/ada/url-inl.h | 248 nodejs-18.19.0+dfsg/ada/include/ada/url.h | 412 nodejs-18.19.0+dfsg/ada/include/ada/url_aggregator-inl.h | 923 nodejs-18.19.0+dfsg/ada/include/ada/url_aggregator.h | 307 nodejs-18.19.0+dfsg/ada/include/ada/url_base-inl.h | 39 nodejs-18.19.0+dfsg/ada/include/ada/url_base.h | 142 nodejs-18.19.0+dfsg/ada/include/ada/url_components.h | 80 nodejs-18.19.0+dfsg/ada/include/ada/url_search_params-inl.h | 216 nodejs-18.19.0+dfsg/ada/include/ada/url_search_params.h | 180 nodejs-18.19.0+dfsg/ada/include/ada_c.h | 185 nodejs-18.19.0+dfsg/ada/pyproject.toml | 29 nodejs-18.19.0+dfsg/ada/singleheader/CMakeLists.txt | 66 nodejs-18.19.0+dfsg/ada/singleheader/README.md | 36 nodejs-18.19.0+dfsg/ada/singleheader/amalgamate.py | 146 nodejs-18.19.0+dfsg/ada/singleheader/demo.c | 41 nodejs-18.19.0+dfsg/ada/singleheader/demo.cpp | 15 nodejs-18.19.0+dfsg/ada/src/CMakeLists.txt | 56 nodejs-18.19.0+dfsg/ada/src/ada.cpp | 13 nodejs-18.19.0+dfsg/ada/src/ada_c.cpp | 719 nodejs-18.19.0+dfsg/ada/src/ada_idna.cpp | 9650 +++ nodejs-18.19.0+dfsg/ada/src/checkers.cpp | 110 nodejs-18.19.0+dfsg/ada/src/helpers.cpp | 703 nodejs-18.19.0+dfsg/ada/src/implementation.cpp | 75 nodejs-18.19.0+dfsg/ada/src/parser.cpp | 915 nodejs-18.19.0+dfsg/ada/src/serializers.cpp | 80 nodejs-18.19.0+dfsg/ada/src/unicode.cpp | 532 nodejs-18.19.0+dfsg/ada/src/url-getters.cpp | 96 nodejs-18.19.0+dfsg/ada/src/url-setters.cpp | 237 nodejs-18.19.0+dfsg/ada/src/url.cpp | 590 nodejs-18.19.0+dfsg/ada/src/url_aggregator.cpp | 1716 nodejs-18.19.0+dfsg/ada/src/url_components.cpp | 127 nodejs-18.19.0+dfsg/ada/tests/CMakeLists.txt | 66 nodejs-18.19.0+dfsg/ada/tests/ada_c.cpp | 343 nodejs-18.19.0+dfsg/ada/tests/basic_fuzzer.cpp | 140 nodejs-18.19.0+dfsg/ada/tests/basic_tests.cpp | 398 nodejs-18.19.0+dfsg/ada/tests/from_file_tests.cpp | 18 nodejs-18.19.0+dfsg/ada/tests/installation/CMakeLists.txt | 24 nodejs-18.19.0+dfsg/ada/tests/url_components.cpp | 145 nodejs-18.19.0+dfsg/ada/tests/url_search_params.cpp | 221 nodejs-18.19.0+dfsg/ada/tests/wasm/CMakeLists.txt | 13 nodejs-18.19.0+dfsg/ada/tests/wasm/test.js.in | 33 nodejs-18.19.0+dfsg/ada/tests/wasm/wasm.cpp | 45 nodejs-18.19.0+dfsg/ada/tests/wpt/CMakeLists.txt | 5 nodejs-18.19.0+dfsg/ada/tests/wpt/IdnaTestV2.json | 9754 +++ nodejs-18.19.0+dfsg/ada/tests/wpt/ada_extra_setters_tests.json | 134 nodejs-18.19.0+dfsg/ada/tests/wpt/ada_extra_urltestdata.json | 289 nodejs-18.19.0+dfsg/ada/tests/wpt/ada_long_urltestdata.json | 19 nodejs-18.19.0+dfsg/ada/tests/wpt/percent-encoding.json | 48 nodejs-18.19.0+dfsg/ada/tests/wpt/setters_tests.json | 2380 nodejs-18.19.0+dfsg/ada/tests/wpt/toascii.json | 176 nodejs-18.19.0+dfsg/ada/tests/wpt/urltestdata.json | 9533 +++ nodejs-18.19.0+dfsg/ada/tests/wpt/verifydnslength_tests.json | 88 nodejs-18.19.0+dfsg/ada/tests/wpt_tests.cpp | 477 nodejs-18.19.0+dfsg/ada/tools/CMakeLists.txt | 1 nodejs-18.19.0+dfsg/ada/tools/cli/CMakeLists.txt | 29 nodejs-18.19.0+dfsg/ada/tools/cli/adaparse.cpp | 292 nodejs-18.19.0+dfsg/ada/tools/cli/benchmark_adaparse.sh | 58 nodejs-18.19.0+dfsg/ada/tools/cli/benchmark_write_to_file.sh | 58 nodejs-18.19.0+dfsg/ada/tools/cli/line_iterator.h | 30 nodejs-18.19.0+dfsg/ada/tools/lint_and_format.py | 91 nodejs-18.19.0+dfsg/ada/tools/prepare-doxygen.sh | 22 nodejs-18.19.0+dfsg/ada/tools/release/create_release.py | 28 nodejs-18.19.0+dfsg/ada/tools/release/lib/release.py | 231 nodejs-18.19.0+dfsg/ada/tools/release/lib/tests/samples/ada_version_h.txt | 20 nodejs-18.19.0+dfsg/ada/tools/release/lib/tests/samples/ada_version_h_expected.txt | 20 nodejs-18.19.0+dfsg/ada/tools/release/lib/tests/samples/cmakelists.txt | 10 nodejs-18.19.0+dfsg/ada/tools/release/lib/tests/samples/cmakelists_expected.txt | 10 nodejs-18.19.0+dfsg/ada/tools/release/lib/tests/samples/doxygen.txt | 82 nodejs-18.19.0+dfsg/ada/tools/release/lib/tests/samples/doxygen_expected.txt | 82 nodejs-18.19.0+dfsg/ada/tools/release/lib/tests/test_release.py | 522 nodejs-18.19.0+dfsg/ada/tools/release/lib/tests/test_update_versions.py | 53 nodejs-18.19.0+dfsg/ada/tools/release/lib/versions.py | 52 nodejs-18.19.0+dfsg/ada/tools/release/requirements.txt | 2 nodejs-18.19.0+dfsg/ada/tools/release/update_versions.py | 21 nodejs-18.19.0+dfsg/ada/tools/update-wpt.sh | 27 nodejs-18.19.0+dfsg/benchmark/README.md | 43 nodejs-18.19.0+dfsg/benchmark/_http-benchmarkers.js | 8 nodejs-18.19.0+dfsg/benchmark/assert/deepequal-map.js | 4 nodejs-18.19.0+dfsg/benchmark/async_hooks/async-local-storage-getstore-nested-resources.js | 46 nodejs-18.19.0+dfsg/benchmark/async_hooks/async-local-storage-getstore-nested-run.js | 46 nodejs-18.19.0+dfsg/benchmark/async_hooks/async-local-storage-propagate-asyncresource.js | 46 nodejs-18.19.0+dfsg/benchmark/async_hooks/async-local-storage-propagate-promise.js | 48 nodejs-18.19.0+dfsg/benchmark/async_hooks/async-local-storage-run.js | 2 nodejs-18.19.0+dfsg/benchmark/async_hooks/async-resource-vs-destroy.js | 16 nodejs-18.19.0+dfsg/benchmark/async_hooks/gc-tracking.js | 4 nodejs-18.19.0+dfsg/benchmark/async_hooks/http-server.js | 8 nodejs-18.19.0+dfsg/benchmark/async_hooks/promises.js | 12 nodejs-18.19.0+dfsg/benchmark/bar.R | 36 nodejs-18.19.0+dfsg/benchmark/blob/blob.js | 2 nodejs-18.19.0+dfsg/benchmark/blob/file.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-base64-decode.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-base64-encode.js | 4 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-bytelength-buffer.js | 22 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-bytelength-string.js | 40 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-bytelength.js | 49 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-compare-instance-method.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-compare-offset.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-compare.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-concat-fill.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-concat.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-copy.js | 8 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-creation.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-equals.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-fill.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-from.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-hex.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-indexof-number.js | 4 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-indexof.js | 11 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-iterate.js | 4 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-normalize-encoding.js | 4 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-read-float.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-read-with-byteLength.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-read.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-slice.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-swap.js | 4 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-tojson.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-tostring.js | 9 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-write-string.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-write.js | 6 nodejs-18.19.0+dfsg/benchmark/buffers/buffer-zero.js | 2 nodejs-18.19.0+dfsg/benchmark/buffers/dataview-set.js | 4 nodejs-18.19.0+dfsg/benchmark/child_process/child-process-exec-stdout.js | 2 nodejs-18.19.0+dfsg/benchmark/child_process/child-process-read-ipc.js | 2 nodejs-18.19.0+dfsg/benchmark/child_process/child-process-read.js | 2 nodejs-18.19.0+dfsg/benchmark/child_process/spawn-echo.js | 2 nodejs-18.19.0+dfsg/benchmark/cluster/echo.js | 6 nodejs-18.19.0+dfsg/benchmark/common.js | 33 nodejs-18.19.0+dfsg/benchmark/compare.js | 2 nodejs-18.19.0+dfsg/benchmark/crypto/aes-gcm-throughput.js | 2 nodejs-18.19.0+dfsg/benchmark/crypto/cipher-stream.js | 4 nodejs-18.19.0+dfsg/benchmark/crypto/create-keyobject.js | 85 nodejs-18.19.0+dfsg/benchmark/crypto/get-ciphers.js | 2 nodejs-18.19.0+dfsg/benchmark/crypto/hash-stream-creation.js | 2 nodejs-18.19.0+dfsg/benchmark/crypto/hash-stream-throughput.js | 2 nodejs-18.19.0+dfsg/benchmark/crypto/hkdf.js | 2 nodejs-18.19.0+dfsg/benchmark/crypto/keygen.js | 6 nodejs-18.19.0+dfsg/benchmark/crypto/oneshot-sign-verify.js | 141 nodejs-18.19.0+dfsg/benchmark/crypto/oneshot-sign.js | 131 nodejs-18.19.0+dfsg/benchmark/crypto/oneshot-verify.js | 151 nodejs-18.19.0+dfsg/benchmark/crypto/randomInt.js | 2 nodejs-18.19.0+dfsg/benchmark/crypto/rsa-encrypt-decrypt-throughput.js | 2 nodejs-18.19.0+dfsg/benchmark/crypto/rsa-sign-verify-throughput.js | 2 nodejs-18.19.0+dfsg/benchmark/crypto/webcrypto-digest.js | 2 nodejs-18.19.0+dfsg/benchmark/dgram/array-vs-concat.js | 2 nodejs-18.19.0+dfsg/benchmark/dgram/multi-buffer.js | 2 nodejs-18.19.0+dfsg/benchmark/dgram/offset-length.js | 2 nodejs-18.19.0+dfsg/benchmark/dgram/single-buffer.js | 2 nodejs-18.19.0+dfsg/benchmark/diagnostics_channel/http.js | 12 nodejs-18.19.0+dfsg/benchmark/diagnostics_channel/publish.js | 2 nodejs-18.19.0+dfsg/benchmark/dns/lookup-promises.js | 2 nodejs-18.19.0+dfsg/benchmark/dns/lookup.js | 2 nodejs-18.19.0+dfsg/benchmark/domain/domain-fn-args.js | 2 nodejs-18.19.0+dfsg/benchmark/error/node-error.js | 4 nodejs-18.19.0+dfsg/benchmark/es/defaultparams-bench.js | 2 nodejs-18.19.0+dfsg/benchmark/es/destructuring-bench.js | 2 nodejs-18.19.0+dfsg/benchmark/es/destructuring-object-bench.js | 2 nodejs-18.19.0+dfsg/benchmark/es/foreach-bench.js | 2 nodejs-18.19.0+dfsg/benchmark/es/map-bench.js | 4 nodejs-18.19.0+dfsg/benchmark/es/restparams-bench.js | 2 nodejs-18.19.0+dfsg/benchmark/es/spread-assign.js | 2 nodejs-18.19.0+dfsg/benchmark/es/spread-bench.js | 2 nodejs-18.19.0+dfsg/benchmark/esm/cjs-parse.js | 2 nodejs-18.19.0+dfsg/benchmark/esm/esm-loader-defaultResolve.js | 51 nodejs-18.19.0+dfsg/benchmark/esm/esm-loader-import.js | 43 nodejs-18.19.0+dfsg/benchmark/events/ee-listeners.js | 2 nodejs-18.19.0+dfsg/benchmark/events/ee-once.js | 2 nodejs-18.19.0+dfsg/benchmark/events/eventtarget-add-remove.js | 26 nodejs-18.19.0+dfsg/benchmark/events/eventtarget-creation.js | 23 nodejs-18.19.0+dfsg/benchmark/events/eventtarget.js | 2 nodejs-18.19.0+dfsg/benchmark/fixtures/empty-test-reporter.js | 8 nodejs-18.19.0+dfsg/benchmark/fs/bench-opendir.js | 2 nodejs-18.19.0+dfsg/benchmark/fs/bench-readdir.js | 2 nodejs-18.19.0+dfsg/benchmark/fs/bench-readdirSync.js | 2 nodejs-18.19.0+dfsg/benchmark/fs/bench-stat-promise.js | 2 nodejs-18.19.0+dfsg/benchmark/fs/bench-stat.js | 2 nodejs-18.19.0+dfsg/benchmark/fs/bench-statSync-failure.js | 2 nodejs-18.19.0+dfsg/benchmark/fs/bench-statSync.js | 2 nodejs-18.19.0+dfsg/benchmark/fs/read-stream-throughput.js | 4 nodejs-18.19.0+dfsg/benchmark/fs/readFileSync.js | 2 nodejs-18.19.0+dfsg/benchmark/fs/readfile-partitioned.js | 2 nodejs-18.19.0+dfsg/benchmark/fs/readfile-promises.js | 2 nodejs-18.19.0+dfsg/benchmark/fs/readfile.js | 2 nodejs-18.19.0+dfsg/benchmark/fs/write-stream-throughput.js | 2 nodejs-18.19.0+dfsg/benchmark/fs/writefile-promises.js | 2 nodejs-18.19.0+dfsg/benchmark/http/bench-parser.js | 4 nodejs-18.19.0+dfsg/benchmark/http/check_invalid_header_char.js | 2 nodejs-18.19.0+dfsg/benchmark/http/chunked.js | 2 nodejs-18.19.0+dfsg/benchmark/http/client-request-body.js | 4 nodejs-18.19.0+dfsg/benchmark/http/cluster.js | 4 nodejs-18.19.0+dfsg/benchmark/http/create-clientrequest.js | 4 nodejs-18.19.0+dfsg/benchmark/http/end-vs-write-end.js | 2 nodejs-18.19.0+dfsg/benchmark/http/headers.js | 2 nodejs-18.19.0+dfsg/benchmark/http/http_server_for_chunky_client.js | 4 nodejs-18.19.0+dfsg/benchmark/http/incoming_headers.js | 4 nodejs-18.19.0+dfsg/benchmark/http/set-header.js | 2 nodejs-18.19.0+dfsg/benchmark/http/simple.js | 2 nodejs-18.19.0+dfsg/benchmark/http/upgrade.js | 2 nodejs-18.19.0+dfsg/benchmark/http2/compat.js | 4 nodejs-18.19.0+dfsg/benchmark/http2/headers.js | 8 nodejs-18.19.0+dfsg/benchmark/http2/respond-with-fd.js | 4 nodejs-18.19.0+dfsg/benchmark/http2/simple.js | 4 nodejs-18.19.0+dfsg/benchmark/http2/write.js | 2 nodejs-18.19.0+dfsg/benchmark/https/simple.js | 4 nodejs-18.19.0+dfsg/benchmark/misc/arguments.js | 2 nodejs-18.19.0+dfsg/benchmark/misc/freelist.js | 4 nodejs-18.19.0+dfsg/benchmark/misc/getstringwidth.js | 6 nodejs-18.19.0+dfsg/benchmark/misc/hidestackframes.js | 4 nodejs-18.19.0+dfsg/benchmark/misc/object-property-bench.js | 2 nodejs-18.19.0+dfsg/benchmark/misc/print.js | 4 nodejs-18.19.0+dfsg/benchmark/misc/punycode.js | 2 nodejs-18.19.0+dfsg/benchmark/misc/startup.js | 2 nodejs-18.19.0+dfsg/benchmark/misc/trace.js | 8 nodejs-18.19.0+dfsg/benchmark/misc/util-extend-vs-object-assign.js | 2 nodejs-18.19.0+dfsg/benchmark/module/module-loader-circular.js | 2 nodejs-18.19.0+dfsg/benchmark/module/module-loader-deep.js | 8 nodejs-18.19.0+dfsg/benchmark/module/module-loader.js | 6 nodejs-18.19.0+dfsg/benchmark/module/module-require.js | 4 nodejs-18.19.0+dfsg/benchmark/napi/define_properties/.gitignore | 1 nodejs-18.19.0+dfsg/benchmark/napi/define_properties/binding.c | 104 nodejs-18.19.0+dfsg/benchmark/napi/define_properties/binding.gyp | 8 nodejs-18.19.0+dfsg/benchmark/napi/define_properties/index.js | 15 nodejs-18.19.0+dfsg/benchmark/napi/function_call/index.js | 2 nodejs-18.19.0+dfsg/benchmark/napi/string/.gitignore | 1 nodejs-18.19.0+dfsg/benchmark/napi/string/binding.c | 56 nodejs-18.19.0+dfsg/benchmark/napi/string/binding.gyp | 8 nodejs-18.19.0+dfsg/benchmark/napi/string/index.js | 19 nodejs-18.19.0+dfsg/benchmark/net/net-c2s.js | 2 nodejs-18.19.0+dfsg/benchmark/net/net-pipe.js | 2 nodejs-18.19.0+dfsg/benchmark/net/net-s2c.js | 8 nodejs-18.19.0+dfsg/benchmark/net/net-wrap-js-stream-passthrough.js | 2 nodejs-18.19.0+dfsg/benchmark/net/tcp-raw-c2s.js | 6 nodejs-18.19.0+dfsg/benchmark/net/tcp-raw-pipe.js | 6 nodejs-18.19.0+dfsg/benchmark/net/tcp-raw-s2c.js | 6 nodejs-18.19.0+dfsg/benchmark/os/cpus.js | 2 nodejs-18.19.0+dfsg/benchmark/os/loadavg.js | 2 nodejs-18.19.0+dfsg/benchmark/os/networkInterfaces.js | 2 nodejs-18.19.0+dfsg/benchmark/path/basename-posix.js | 2 nodejs-18.19.0+dfsg/benchmark/path/basename-win32.js | 2 nodejs-18.19.0+dfsg/benchmark/path/dirname-posix.js | 2 nodejs-18.19.0+dfsg/benchmark/path/dirname-win32.js | 2 nodejs-18.19.0+dfsg/benchmark/path/extname-posix.js | 2 nodejs-18.19.0+dfsg/benchmark/path/extname-win32.js | 2 nodejs-18.19.0+dfsg/benchmark/path/format-posix.js | 2 nodejs-18.19.0+dfsg/benchmark/path/format-win32.js | 2 nodejs-18.19.0+dfsg/benchmark/path/isAbsolute-posix.js | 2 nodejs-18.19.0+dfsg/benchmark/path/isAbsolute-win32.js | 2 nodejs-18.19.0+dfsg/benchmark/path/join-posix.js | 2 nodejs-18.19.0+dfsg/benchmark/path/join-win32.js | 2 nodejs-18.19.0+dfsg/benchmark/path/makeLong-win32.js | 2 nodejs-18.19.0+dfsg/benchmark/path/normalize-posix.js | 2 nodejs-18.19.0+dfsg/benchmark/path/normalize-win32.js | 2 nodejs-18.19.0+dfsg/benchmark/path/parse-posix.js | 2 nodejs-18.19.0+dfsg/benchmark/path/parse-win32.js | 2 nodejs-18.19.0+dfsg/benchmark/path/relative-posix.js | 2 nodejs-18.19.0+dfsg/benchmark/path/relative-win32.js | 2 nodejs-18.19.0+dfsg/benchmark/path/resolve-posix.js | 2 nodejs-18.19.0+dfsg/benchmark/path/resolve-win32.js | 2 nodejs-18.19.0+dfsg/benchmark/perf_hooks/resourcetiming.js | 4 nodejs-18.19.0+dfsg/benchmark/policy/policy-startup.js | 8 nodejs-18.19.0+dfsg/benchmark/process/bench-env.js | 2 nodejs-18.19.0+dfsg/benchmark/process/bench-hrtime.js | 2 nodejs-18.19.0+dfsg/benchmark/process/coverage.js | 6 nodejs-18.19.0+dfsg/benchmark/process/getActiveResourcesInfo.js | 45 nodejs-18.19.0+dfsg/benchmark/process/memoryUsage.js | 2 nodejs-18.19.0+dfsg/benchmark/process/next-tick-breadth-args.js | 2 nodejs-18.19.0+dfsg/benchmark/process/next-tick-breadth.js | 2 nodejs-18.19.0+dfsg/benchmark/process/next-tick-depth-args.js | 2 nodejs-18.19.0+dfsg/benchmark/process/next-tick-depth.js | 2 nodejs-18.19.0+dfsg/benchmark/process/next-tick-exec-args.js | 2 nodejs-18.19.0+dfsg/benchmark/process/next-tick-exec.js | 2 nodejs-18.19.0+dfsg/benchmark/process/queue-microtask-breadth.js | 2 nodejs-18.19.0+dfsg/benchmark/process/queue-microtask-depth.js | 2 nodejs-18.19.0+dfsg/benchmark/process/resourceUsage.js | 2 nodejs-18.19.0+dfsg/benchmark/querystring/querystring-stringify.js | 8 nodejs-18.19.0+dfsg/benchmark/run.js | 2 nodejs-18.19.0+dfsg/benchmark/streams/creation.js | 2 nodejs-18.19.0+dfsg/benchmark/streams/destroy.js | 2 nodejs-18.19.0+dfsg/benchmark/streams/pipe-object-mode.js | 2 nodejs-18.19.0+dfsg/benchmark/streams/pipe.js | 2 nodejs-18.19.0+dfsg/benchmark/streams/readable-async-iterator.js | 2 nodejs-18.19.0+dfsg/benchmark/streams/readable-bigread.js | 2 nodejs-18.19.0+dfsg/benchmark/streams/readable-bigunevenread.js | 2 nodejs-18.19.0+dfsg/benchmark/streams/readable-boundaryread.js | 2 nodejs-18.19.0+dfsg/benchmark/streams/readable-readall.js | 2 nodejs-18.19.0+dfsg/benchmark/streams/readable-unevenread.js | 2 nodejs-18.19.0+dfsg/benchmark/streams/writable-manywrites.js | 2 nodejs-18.19.0+dfsg/benchmark/string_decoder/string-decoder-create.js | 2 nodejs-18.19.0+dfsg/benchmark/string_decoder/string-decoder.js | 2 nodejs-18.19.0+dfsg/benchmark/test_runner/global-concurrent-tests.js | 46 nodejs-18.19.0+dfsg/benchmark/test_runner/global-sequential-tests.js | 46 nodejs-18.19.0+dfsg/benchmark/test_runner/suite-tests.js | 65 nodejs-18.19.0+dfsg/benchmark/timers/immediate.js | 2 nodejs-18.19.0+dfsg/benchmark/timers/set-immediate-breadth-args.js | 2 nodejs-18.19.0+dfsg/benchmark/timers/set-immediate-breadth.js | 2 nodejs-18.19.0+dfsg/benchmark/timers/set-immediate-depth-args.js | 2 nodejs-18.19.0+dfsg/benchmark/timers/timers-cancel-unpooled.js | 2 nodejs-18.19.0+dfsg/benchmark/timers/timers-insert-unpooled.js | 2 nodejs-18.19.0+dfsg/benchmark/tls/convertprotocols.js | 2 nodejs-18.19.0+dfsg/benchmark/tls/secure-pair.js | 4 nodejs-18.19.0+dfsg/benchmark/tls/throughput-c2s.js | 2 nodejs-18.19.0+dfsg/benchmark/tls/throughput-s2c.js | 6 nodejs-18.19.0+dfsg/benchmark/tls/tls-connect.js | 4 nodejs-18.19.0+dfsg/benchmark/url/legacy-url-get-prop.js | 41 nodejs-18.19.0+dfsg/benchmark/url/legacy-url-parse.js | 22 nodejs-18.19.0+dfsg/benchmark/url/legacy-vs-whatwg-url-get-prop.js | 90 nodejs-18.19.0+dfsg/benchmark/url/legacy-vs-whatwg-url-parse.js | 66 nodejs-18.19.0+dfsg/benchmark/url/legacy-vs-whatwg-url-searchparams-parse.js | 2 nodejs-18.19.0+dfsg/benchmark/url/legacy-vs-whatwg-url-searchparams-serialize.js | 2 nodejs-18.19.0+dfsg/benchmark/url/legacy-vs-whatwg-url-serialize.js | 2 nodejs-18.19.0+dfsg/benchmark/url/url-format.js | 2 nodejs-18.19.0+dfsg/benchmark/url/url-parse.js | 4 nodejs-18.19.0+dfsg/benchmark/url/url-resolve.js | 4 nodejs-18.19.0+dfsg/benchmark/url/url-searchparams-creation.js | 79 nodejs-18.19.0+dfsg/benchmark/url/url-searchparams-iteration.js | 2 nodejs-18.19.0+dfsg/benchmark/url/url-searchparams-read.js | 2 nodejs-18.19.0+dfsg/benchmark/url/url-searchparams-sort.js | 6 nodejs-18.19.0+dfsg/benchmark/url/url-searchparams-toString.js | 76 nodejs-18.19.0+dfsg/benchmark/url/usvstring.js | 6 nodejs-18.19.0+dfsg/benchmark/url/whatwg-url-canParse.js | 14 nodejs-18.19.0+dfsg/benchmark/url/whatwg-url-get-prop.js | 40 nodejs-18.19.0+dfsg/benchmark/url/whatwg-url-idna.js | 14 nodejs-18.19.0+dfsg/benchmark/url/whatwg-url-parse.js | 42 nodejs-18.19.0+dfsg/benchmark/url/whatwg-url-properties.js | 2 nodejs-18.19.0+dfsg/benchmark/url/whatwg-url-to-and-from-path.js | 30 nodejs-18.19.0+dfsg/benchmark/util/format.js | 2 nodejs-18.19.0+dfsg/benchmark/util/inspect-array.js | 2 nodejs-18.19.0+dfsg/benchmark/util/inspect-proxy.js | 2 nodejs-18.19.0+dfsg/benchmark/util/inspect.js | 4 nodejs-18.19.0+dfsg/benchmark/util/normalize-encoding.js | 6 nodejs-18.19.0+dfsg/benchmark/util/priority-queue.js | 2 nodejs-18.19.0+dfsg/benchmark/util/text-decoder.js | 13 nodejs-18.19.0+dfsg/benchmark/util/text-encoder.js | 41 nodejs-18.19.0+dfsg/benchmark/util/type-check.js | 12 nodejs-18.19.0+dfsg/benchmark/v8/get-stats.js | 2 nodejs-18.19.0+dfsg/benchmark/v8/serialize.js | 2 nodejs-18.19.0+dfsg/benchmark/vm/create-context.js | 2 nodejs-18.19.0+dfsg/benchmark/vm/run-in-context.js | 2 nodejs-18.19.0+dfsg/benchmark/vm/run-in-this-context.js | 2 nodejs-18.19.0+dfsg/benchmark/webstreams/creation.js | 49 nodejs-18.19.0+dfsg/benchmark/webstreams/pipe-to.js | 36 nodejs-18.19.0+dfsg/benchmark/webstreams/readable-async-iterator.js | 31 nodejs-18.19.0+dfsg/benchmark/worker/atomics-wait.js | 11 nodejs-18.19.0+dfsg/benchmark/worker/echo.js | 2 nodejs-18.19.0+dfsg/benchmark/worker/messageport.js | 2 nodejs-18.19.0+dfsg/benchmark/zlib/createInflate.js | 2 nodejs-18.19.0+dfsg/benchmark/zlib/creation.js | 2 nodejs-18.19.0+dfsg/benchmark/zlib/deflate.js | 2 nodejs-18.19.0+dfsg/benchmark/zlib/inflate.js | 2 nodejs-18.19.0+dfsg/benchmark/zlib/pipe.js | 6 nodejs-18.19.0+dfsg/codecov.yml | 6 nodejs-18.19.0+dfsg/common.gypi | 78 nodejs-18.19.0+dfsg/configure.py | 394 nodejs-18.19.0+dfsg/debian/changelog | 110 nodejs-18.19.0+dfsg/debian/control | 7 nodejs-18.19.0+dfsg/debian/copyright | 65 nodejs-18.19.0+dfsg/debian/doc-generator/type-parser.mjs | 9 nodejs-18.19.0+dfsg/debian/gbp.conf | 6 nodejs-18.19.0+dfsg/debian/nodejs.dirs | 1 nodejs-18.19.0+dfsg/debian/patches/arm64/stacksize.patch | 26 nodejs-18.19.0+dfsg/debian/patches/armel/configure.patch | 10 nodejs-18.19.0+dfsg/debian/patches/build/ada.patch | 26 nodejs-18.19.0+dfsg/debian/patches/build/cctest_disable.patch | 2 nodejs-18.19.0+dfsg/debian/patches/build/disable_sea_dfsg_postject.patch | 15 nodejs-18.19.0+dfsg/debian/patches/build/doc.patch | 31 nodejs-18.19.0+dfsg/debian/patches/build/doc_template_home.html | 2 nodejs-18.19.0+dfsg/debian/patches/build/flag_atomic.patch | 18 nodejs-18.19.0+dfsg/debian/patches/build/more_shareable_builtins.patch | 9 nodejs-18.19.0+dfsg/debian/patches/build/openssl_3011_without_new_error_message.patch | 22 nodejs-18.19.0+dfsg/debian/patches/build/openssl_config_explicit_lower.patch | 77 nodejs-18.19.0+dfsg/debian/patches/build/openssl_related_test_issues.patch | 21 nodejs-18.19.0+dfsg/debian/patches/build/test_ci.patch | 48 nodejs-18.19.0+dfsg/debian/patches/build/test_dns_resolveany_bad_ancount.patch | 64 nodejs-18.19.0+dfsg/debian/patches/build/test_process_versions.patch | 26 nodejs-18.19.0+dfsg/debian/patches/build/test_runner_escape_path.patch | 15 nodejs-18.19.0+dfsg/debian/patches/deps/localhost-no-addrconfig.patch | 8 nodejs-18.19.0+dfsg/debian/patches/deps/node_gyp.patch | 2 nodejs-18.19.0+dfsg/debian/patches/dfsg/benchmark_without_alice.patch | 10 nodejs-18.19.0+dfsg/debian/patches/dfsg/multilib_modules.patch | 12 nodejs-18.19.0+dfsg/debian/patches/mips/mipsel_is_32.patch | 4 nodejs-18.19.0+dfsg/debian/patches/riscv/fix-ftbfs-riscv64-18-13-0.patch | 11 nodejs-18.19.0+dfsg/debian/patches/riscv/flaky_tests.patch | 48 nodejs-18.19.0+dfsg/debian/patches/series | 9 nodejs-18.19.0+dfsg/debian/rules | 20 nodejs-18.19.0+dfsg/debian/watch | 4 nodejs-18.19.0+dfsg/deps/ada/LICENSE-MIT | 18 nodejs-18.19.0+dfsg/deps/ada/README.md | 12 nodejs-18.19.0+dfsg/deps/ada/ada.gyp | 17 nodejs-18.19.0+dfsg/deps/base64/base64/.github/workflows/test.yml | 133 nodejs-18.19.0+dfsg/deps/cares/CHANGES | 1268 nodejs-18.19.0+dfsg/deps/cares/CMakeLists.txt | 35 nodejs-18.19.0+dfsg/deps/cares/INSTALL.md | 39 nodejs-18.19.0+dfsg/deps/cares/LICENSE.md | 32 nodejs-18.19.0+dfsg/deps/cares/Makefile.Watcom | 52 nodejs-18.19.0+dfsg/deps/cares/Makefile.am | 21 nodejs-18.19.0+dfsg/deps/cares/Makefile.dj | 5 nodejs-18.19.0+dfsg/deps/cares/Makefile.in | 23 nodejs-18.19.0+dfsg/deps/cares/Makefile.m32 | 14 nodejs-18.19.0+dfsg/deps/cares/Makefile.msvc | 45 nodejs-18.19.0+dfsg/deps/cares/Makefile.netware | 11 nodejs-18.19.0+dfsg/deps/cares/README.md | 6 nodejs-18.19.0+dfsg/deps/cares/README.msvc | 2 nodejs-18.19.0+dfsg/deps/cares/RELEASE-NOTES | 123 nodejs-18.19.0+dfsg/deps/cares/acinclude.m4 | 3 nodejs-18.19.0+dfsg/deps/cares/aclocal.m4 | 1 nodejs-18.19.0+dfsg/deps/cares/aminclude_static.am | 2 nodejs-18.19.0+dfsg/deps/cares/buildconf | 2 nodejs-18.19.0+dfsg/deps/cares/buildconf.bat | 3 nodejs-18.19.0+dfsg/deps/cares/c-ares-config.cmake.in | 16 nodejs-18.19.0+dfsg/deps/cares/cares.gyp | 185 nodejs-18.19.0+dfsg/deps/cares/config.guess | 1502 nodejs-18.19.0+dfsg/deps/cares/config.sub | 2617 nodejs-18.19.0+dfsg/deps/cares/config/aix/ares_config.h | 2 nodejs-18.19.0+dfsg/deps/cares/config/android/ares_config.h | 2 nodejs-18.19.0+dfsg/deps/cares/config/cygwin/ares_config.h | 2 nodejs-18.19.0+dfsg/deps/cares/config/darwin/ares_config.h | 2 nodejs-18.19.0+dfsg/deps/cares/config/freebsd/ares_config.h | 2 nodejs-18.19.0+dfsg/deps/cares/config/linux/ares_config.h | 2 nodejs-18.19.0+dfsg/deps/cares/config/netbsd/ares_config.h | 2 nodejs-18.19.0+dfsg/deps/cares/config/openbsd/ares_config.h | 2 nodejs-18.19.0+dfsg/deps/cares/config/sunos/ares_config.h | 2 nodejs-18.19.0+dfsg/deps/cares/configure | 1228 nodejs-18.19.0+dfsg/deps/cares/configure.ac | 40 nodejs-18.19.0+dfsg/deps/cares/docs/CMakeLists.txt | 2 nodejs-18.19.0+dfsg/deps/cares/docs/Makefile.am | 7 nodejs-18.19.0+dfsg/deps/cares/docs/Makefile.in | 12 nodejs-18.19.0+dfsg/deps/cares/docs/Makefile.inc | 2 nodejs-18.19.0+dfsg/deps/cares/docs/acountry.1 | 54 nodejs-18.19.0+dfsg/deps/cares/docs/adig.1 | 42 nodejs-18.19.0+dfsg/deps/cares/docs/ahost.1 | 20 nodejs-18.19.0+dfsg/deps/cares/docs/ares_cancel.3 | 2 nodejs-18.19.0+dfsg/deps/cares/docs/ares_create_query.3 | 2 nodejs-18.19.0+dfsg/deps/cares/docs/ares_destroy.3 | 2 nodejs-18.19.0+dfsg/deps/cares/docs/ares_destroy_options.3 | 8 nodejs-18.19.0+dfsg/deps/cares/docs/ares_dup.3 | 8 nodejs-18.19.0+dfsg/deps/cares/docs/ares_expand_name.3 | 12 nodejs-18.19.0+dfsg/deps/cares/docs/ares_expand_string.3 | 12 nodejs-18.19.0+dfsg/deps/cares/docs/ares_fds.3 | 2 nodejs-18.19.0+dfsg/deps/cares/docs/ares_free_data.3 | 10 nodejs-18.19.0+dfsg/deps/cares/docs/ares_free_hostent.3 | 8 nodejs-18.19.0+dfsg/deps/cares/docs/ares_free_string.3 | 8 nodejs-18.19.0+dfsg/deps/cares/docs/ares_freeaddrinfo.3 | 2 nodejs-18.19.0+dfsg/deps/cares/docs/ares_get_servers.3 | 13 nodejs-18.19.0+dfsg/deps/cares/docs/ares_get_servers_ports.3 | 3 nodejs-18.19.0+dfsg/deps/cares/docs/ares_getaddrinfo.3 | 20 nodejs-18.19.0+dfsg/deps/cares/docs/ares_gethostbyaddr.3 | 19 nodejs-18.19.0+dfsg/deps/cares/docs/ares_gethostbyname.3 | 18 nodejs-18.19.0+dfsg/deps/cares/docs/ares_gethostbyname_file.3 | 10 nodejs-18.19.0+dfsg/deps/cares/docs/ares_getnameinfo.3 | 19 nodejs-18.19.0+dfsg/deps/cares/docs/ares_getsock.3 | 10 nodejs-18.19.0+dfsg/deps/cares/docs/ares_inet_ntop.3 | 10 nodejs-18.19.0+dfsg/deps/cares/docs/ares_inet_pton.3 | 8 nodejs-18.19.0+dfsg/deps/cares/docs/ares_init.3 | 2 nodejs-18.19.0+dfsg/deps/cares/docs/ares_init_options.3 | 40 nodejs-18.19.0+dfsg/deps/cares/docs/ares_library_cleanup.3 | 2 nodejs-18.19.0+dfsg/deps/cares/docs/ares_library_init.3 | 5 nodejs-18.19.0+dfsg/deps/cares/docs/ares_library_init_android.3 | 2 nodejs-18.19.0+dfsg/deps/cares/docs/ares_library_initialized.3 | 2 nodejs-18.19.0+dfsg/deps/cares/docs/ares_mkquery.3 | 12 nodejs-18.19.0+dfsg/deps/cares/docs/ares_parse_a_reply.3 | 12 nodejs-18.19.0+dfsg/deps/cares/docs/ares_parse_aaaa_reply.3 | 12 nodejs-18.19.0+dfsg/deps/cares/docs/ares_parse_caa_reply.3 | 2 nodejs-18.19.0+dfsg/deps/cares/docs/ares_parse_mx_reply.3 | 11 nodejs-18.19.0+dfsg/deps/cares/docs/ares_parse_naptr_reply.3 | 10 nodejs-18.19.0+dfsg/deps/cares/docs/ares_parse_ns_reply.3 | 10 nodejs-18.19.0+dfsg/deps/cares/docs/ares_parse_ptr_reply.3 | 12 nodejs-18.19.0+dfsg/deps/cares/docs/ares_parse_soa_reply.3 | 10 nodejs-18.19.0+dfsg/deps/cares/docs/ares_parse_srv_reply.3 | 10 nodejs-18.19.0+dfsg/deps/cares/docs/ares_parse_txt_reply.3 | 16 nodejs-18.19.0+dfsg/deps/cares/docs/ares_parse_uri_reply.3 | 10 nodejs-18.19.0+dfsg/deps/cares/docs/ares_process.3 | 4 nodejs-18.19.0+dfsg/deps/cares/docs/ares_query.3 | 19 nodejs-18.19.0+dfsg/deps/cares/docs/ares_save_options.3 | 9 nodejs-18.19.0+dfsg/deps/cares/docs/ares_search.3 | 19 nodejs-18.19.0+dfsg/deps/cares/docs/ares_send.3 | 17 nodejs-18.19.0+dfsg/deps/cares/docs/ares_set_local_dev.3 | 8 nodejs-18.19.0+dfsg/deps/cares/docs/ares_set_local_ip4.3 | 8 nodejs-18.19.0+dfsg/deps/cares/docs/ares_set_local_ip6.3 | 16 nodejs-18.19.0+dfsg/deps/cares/docs/ares_set_servers.3 | 13 nodejs-18.19.0+dfsg/deps/cares/docs/ares_set_servers_csv.3 | 11 nodejs-18.19.0+dfsg/deps/cares/docs/ares_set_servers_ports.3 | 3 nodejs-18.19.0+dfsg/deps/cares/docs/ares_set_servers_ports_csv.3 | 3 nodejs-18.19.0+dfsg/deps/cares/docs/ares_set_socket_callback.3 | 17 nodejs-18.19.0+dfsg/deps/cares/docs/ares_set_socket_configure_callback.3 | 18 nodejs-18.19.0+dfsg/deps/cares/docs/ares_set_socket_functions.3 | 32 nodejs-18.19.0+dfsg/deps/cares/docs/ares_set_sortlist.3 | 9 nodejs-18.19.0+dfsg/deps/cares/docs/ares_strerror.3 | 8 nodejs-18.19.0+dfsg/deps/cares/docs/ares_timeout.3 | 2 nodejs-18.19.0+dfsg/deps/cares/docs/ares_version.3 | 2 nodejs-18.19.0+dfsg/deps/cares/get_ver.awk | 2 nodejs-18.19.0+dfsg/deps/cares/include/CMakeLists.txt | 2 nodejs-18.19.0+dfsg/deps/cares/include/Makefile.am | 2 nodejs-18.19.0+dfsg/deps/cares/include/Makefile.in | 5 nodejs-18.19.0+dfsg/deps/cares/include/ares.h | 85 nodejs-18.19.0+dfsg/deps/cares/include/ares_build.h | 38 nodejs-18.19.0+dfsg/deps/cares/include/ares_build.h.cmake | 9 nodejs-18.19.0+dfsg/deps/cares/include/ares_build.h.in | 39 nodejs-18.19.0+dfsg/deps/cares/include/ares_dns.h | 41 nodejs-18.19.0+dfsg/deps/cares/include/ares_nameser.h | 26 nodejs-18.19.0+dfsg/deps/cares/include/ares_rules.h | 39 nodejs-18.19.0+dfsg/deps/cares/include/ares_version.h | 31 nodejs-18.19.0+dfsg/deps/cares/libcares.pc.cmake | 8 nodejs-18.19.0+dfsg/deps/cares/libcares.pc.in | 2 nodejs-18.19.0+dfsg/deps/cares/ltmain.sh | 827 nodejs-18.19.0+dfsg/deps/cares/m4/ax_check_user_namespace.m4 | 7 nodejs-18.19.0+dfsg/deps/cares/m4/ax_check_uts_namespace.m4 | 7 nodejs-18.19.0+dfsg/deps/cares/m4/ax_cxx_compile_stdcxx.m4 | 1009 nodejs-18.19.0+dfsg/deps/cares/m4/ax_cxx_compile_stdcxx_11.m4 | 158 nodejs-18.19.0+dfsg/deps/cares/m4/ax_pthread.m4 | 444 nodejs-18.19.0+dfsg/deps/cares/m4/cares-compilers.m4 | 7 nodejs-18.19.0+dfsg/deps/cares/m4/cares-confopts.m4 | 3 nodejs-18.19.0+dfsg/deps/cares/m4/cares-functions.m4 | 190 nodejs-18.19.0+dfsg/deps/cares/m4/cares-reentrant.m4 | 5 nodejs-18.19.0+dfsg/deps/cares/m4/libtool.m4 | 229 nodejs-18.19.0+dfsg/deps/cares/m4/ltoptions.m4 | 4 nodejs-18.19.0+dfsg/deps/cares/m4/ltsugar.m4 | 2 nodejs-18.19.0+dfsg/deps/cares/m4/ltversion.m4 | 13 nodejs-18.19.0+dfsg/deps/cares/m4/lt~obsolete.m4 | 4 nodejs-18.19.0+dfsg/deps/cares/m4/xc-am-iface.m4 | 3 nodejs-18.19.0+dfsg/deps/cares/m4/xc-cc-check.m4 | 3 nodejs-18.19.0+dfsg/deps/cares/m4/xc-lt-iface.m4 | 4 nodejs-18.19.0+dfsg/deps/cares/m4/xc-translit.m4 | 4 nodejs-18.19.0+dfsg/deps/cares/m4/xc-val-flgs.m4 | 4 nodejs-18.19.0+dfsg/deps/cares/m4/zz40-xc-ovr.m4 | 3 nodejs-18.19.0+dfsg/deps/cares/maketgz | 2 nodejs-18.19.0+dfsg/deps/cares/msvc_ver.inc | 2 nodejs-18.19.0+dfsg/deps/cares/src/CMakeLists.txt | 2 nodejs-18.19.0+dfsg/deps/cares/src/Makefile.am | 2 nodejs-18.19.0+dfsg/deps/cares/src/Makefile.in | 5 nodejs-18.19.0+dfsg/deps/cares/src/lib/CMakeLists.txt | 7 nodejs-18.19.0+dfsg/deps/cares/src/lib/Makefile.am | 2 nodejs-18.19.0+dfsg/deps/cares/src/lib/Makefile.in | 157 nodejs-18.19.0+dfsg/deps/cares/src/lib/Makefile.inc | 26 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__addrinfo2hostent.c | 41 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__addrinfo_localhost.c | 38 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__buf.c | 476 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__buf.h | 252 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__close_sockets.c | 143 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__get_hostent.c | 37 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__htable.c | 374 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__htable.h | 164 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__htable_asvp.c | 195 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__htable_asvp.h | 120 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__htable_stvp.c | 193 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__htable_stvp.h | 115 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__llist.c | 316 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__llist.h | 203 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__parse_into_addrinfo.c | 36 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__read_line.c | 37 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__readaddrinfo.c | 48 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__slist.c | 501 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__slist.h | 197 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__sortaddrinfo.c | 4 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares__timeval.c | 34 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_android.c | 35 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_android.h | 35 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_cancel.c | 98 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_config.h.cmake | 10 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_config.h.in | 9 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_create_query.c | 37 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_data.c | 36 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_data.h | 40 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_destroy.c | 101 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_expand_name.c | 43 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_expand_string.c | 37 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_fds.c | 80 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_free_hostent.c | 37 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_free_string.c | 37 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_freeaddrinfo.c | 38 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_getaddrinfo.c | 238 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_getenv.c | 38 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_getenv.h | 42 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_gethostbyaddr.c | 50 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_gethostbyname.c | 36 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_getnameinfo.c | 50 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_getsock.c | 91 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_inet_net_pton.h | 40 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_init.c | 966 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_iphlpapi.h | 42 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_ipv6.h | 36 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_library_init.c | 129 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_library_init.h | 43 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_llist.c | 63 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_llist.h | 39 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_mkquery.c | 37 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_nowarn.c | 37 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_nowarn.h | 41 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_options.c | 49 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_parse_a_reply.c | 38 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_parse_aaaa_reply.c | 40 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_parse_caa_reply.c | 36 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_parse_mx_reply.c | 38 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_parse_naptr_reply.c | 39 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_parse_ns_reply.c | 36 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_parse_ptr_reply.c | 37 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_parse_soa_reply.c | 38 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_parse_srv_reply.c | 38 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_parse_txt_reply.c | 38 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_parse_uri_reply.c | 41 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_platform.c | 39 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_platform.h | 43 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_private.h | 209 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_process.c | 1534 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_query.c | 121 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_rand.c | 360 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_search.c | 42 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_send.c | 93 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_setup.h | 39 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_strcasecmp.c | 38 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_strcasecmp.h | 42 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_strdup.c | 38 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_strdup.h | 42 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_strerror.c | 37 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_strsplit.c | 207 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_strsplit.h | 59 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_timeout.c | 119 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_version.c | 27 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_writev.c | 79 nodejs-18.19.0+dfsg/deps/cares/src/lib/ares_writev.h | 36 nodejs-18.19.0+dfsg/deps/cares/src/lib/bitncmp.c | 3 nodejs-18.19.0+dfsg/deps/cares/src/lib/bitncmp.h | 41 nodejs-18.19.0+dfsg/deps/cares/src/lib/cares.rc | 36 nodejs-18.19.0+dfsg/deps/cares/src/lib/config-dos.h | 9 nodejs-18.19.0+dfsg/deps/cares/src/lib/config-win32.h | 38 nodejs-18.19.0+dfsg/deps/cares/src/lib/inet_net_pton.c | 197 nodejs-18.19.0+dfsg/deps/cares/src/lib/inet_ntop.c | 6 nodejs-18.19.0+dfsg/deps/cares/src/lib/setup_once.h | 43 nodejs-18.19.0+dfsg/deps/cares/src/lib/windows_port.c | 8 nodejs-18.19.0+dfsg/deps/cares/src/tools/CMakeLists.txt | 19 nodejs-18.19.0+dfsg/deps/cares/src/tools/Makefile.am | 12 nodejs-18.19.0+dfsg/deps/cares/src/tools/Makefile.in | 148 nodejs-18.19.0+dfsg/deps/cares/src/tools/Makefile.inc | 2 nodejs-18.19.0+dfsg/deps/cares/src/tools/acountry.c | 652 nodejs-18.19.0+dfsg/deps/cares/src/tools/adig.c | 74 nodejs-18.19.0+dfsg/deps/cares/src/tools/ahost.c | 58 nodejs-18.19.0+dfsg/deps/cares/src/tools/ares_getopt.c | 2 nodejs-18.19.0+dfsg/deps/cares/src/tools/ares_getopt.h | 2 nodejs-18.19.0+dfsg/deps/googletest/googletest.gyp | 10 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/gtest-assertion-result.h | 237 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/gtest-death-test.h | 89 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/gtest-matchers.h | 105 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/gtest-message.h | 64 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/gtest-param-test.h | 125 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/gtest-printers.h | 232 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/gtest-spi.h | 134 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/gtest-test-part.h | 20 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/gtest-typed-test.h | 72 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/gtest.h | 616 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/gtest_pred_impl.h | 200 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/gtest_prod.h | 9 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/internal/custom/README.md | 14 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/internal/gtest-death-test-internal.h | 77 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/internal/gtest-filepath.h | 34 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/internal/gtest-internal.h | 357 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/internal/gtest-param-util.h | 255 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/internal/gtest-port-arch.h | 106 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/internal/gtest-port.h | 1419 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/internal/gtest-string.h | 21 nodejs-18.19.0+dfsg/deps/googletest/include/gtest/internal/gtest-type-util.h | 55 nodejs-18.19.0+dfsg/deps/googletest/src/gtest-all.cc | 3 nodejs-18.19.0+dfsg/deps/googletest/src/gtest-assertion-result.cc | 77 nodejs-18.19.0+dfsg/deps/googletest/src/gtest-death-test.cc | 542 nodejs-18.19.0+dfsg/deps/googletest/src/gtest-filepath.cc | 189 nodejs-18.19.0+dfsg/deps/googletest/src/gtest-internal-inl.h | 156 nodejs-18.19.0+dfsg/deps/googletest/src/gtest-matchers.cc | 5 nodejs-18.19.0+dfsg/deps/googletest/src/gtest-port.cc | 496 nodejs-18.19.0+dfsg/deps/googletest/src/gtest-printers.cc | 134 nodejs-18.19.0+dfsg/deps/googletest/src/gtest-test-part.cc | 24 nodejs-18.19.0+dfsg/deps/googletest/src/gtest-typed-test.cc | 13 nodejs-18.19.0+dfsg/deps/googletest/src/gtest.cc | 1640 nodejs-18.19.0+dfsg/deps/googletest/src/gtest_main.cc | 24 nodejs-18.19.0+dfsg/deps/histogram/histogram.gyp | 4 nodejs-18.19.0+dfsg/deps/histogram/include/hdr/hdr_histogram.h | 516 nodejs-18.19.0+dfsg/deps/histogram/include/hdr/hdr_histogram_version.h | 12 nodejs-18.19.0+dfsg/deps/histogram/src/hdr_atomic.h | 2 nodejs-18.19.0+dfsg/deps/histogram/src/hdr_histogram.c | 138 nodejs-18.19.0+dfsg/deps/histogram/src/hdr_histogram.h | 504 nodejs-18.19.0+dfsg/deps/histogram/src/hdr_malloc.h | 19 nodejs-18.19.0+dfsg/deps/histogram/src/hdr_tests.h | 2 nodejs-18.19.0+dfsg/deps/llhttp/CMakeLists.txt | 2 nodejs-18.19.0+dfsg/deps/llhttp/include/llhttp.h | 2 nodejs-18.19.0+dfsg/deps/llhttp/llhttp.gyp | 11 nodejs-18.19.0+dfsg/deps/llhttp/src/llhttp.c | 916 nodejs-18.19.0+dfsg/deps/nghttp2/lib/CMakeLists.txt | 3 nodejs-18.19.0+dfsg/deps/nghttp2/lib/Makefile.am | 10 nodejs-18.19.0+dfsg/deps/nghttp2/lib/Makefile.in | 53 nodejs-18.19.0+dfsg/deps/nghttp2/lib/Makefile.msvc | 38 nodejs-18.19.0+dfsg/deps/nghttp2/lib/includes/Makefile.in | 23 nodejs-18.19.0+dfsg/deps/nghttp2/lib/includes/nghttp2/nghttp2.h | 17 nodejs-18.19.0+dfsg/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h | 4 nodejs-18.19.0+dfsg/deps/nghttp2/lib/nghttp2_frame.c | 49 nodejs-18.19.0+dfsg/deps/nghttp2/lib/nghttp2_frame.h | 62 nodejs-18.19.0+dfsg/deps/nghttp2/lib/nghttp2_http.c | 716 nodejs-18.19.0+dfsg/deps/nghttp2/lib/nghttp2_http.h | 48 nodejs-18.19.0+dfsg/deps/nghttp2/lib/nghttp2_map.c | 61 nodejs-18.19.0+dfsg/deps/nghttp2/lib/nghttp2_map.h | 8 nodejs-18.19.0+dfsg/deps/nghttp2/lib/nghttp2_option.c | 7 nodejs-18.19.0+dfsg/deps/nghttp2/lib/nghttp2_option.h | 6 nodejs-18.19.0+dfsg/deps/nghttp2/lib/nghttp2_ratelim.c | 75 nodejs-18.19.0+dfsg/deps/nghttp2/lib/nghttp2_ratelim.h | 57 nodejs-18.19.0+dfsg/deps/nghttp2/lib/nghttp2_session.c | 232 nodejs-18.19.0+dfsg/deps/nghttp2/lib/nghttp2_session.h | 12 nodejs-18.19.0+dfsg/deps/nghttp2/lib/nghttp2_stream.c | 16 nodejs-18.19.0+dfsg/deps/nghttp2/lib/nghttp2_stream.h | 16 nodejs-18.19.0+dfsg/deps/nghttp2/lib/nghttp2_time.c | 62 nodejs-18.19.0+dfsg/deps/nghttp2/lib/nghttp2_time.h | 38 nodejs-18.19.0+dfsg/deps/nghttp2/lib/sfparse.c | 1146 nodejs-18.19.0+dfsg/deps/nghttp2/lib/sfparse.h | 409 nodejs-18.19.0+dfsg/deps/nghttp2/nghttp2.gyp | 54 nodejs-18.19.0+dfsg/deps/ngtcp2/nghttp3/lib/nghttp3_ringbuf.c | 2 nodejs-18.19.0+dfsg/deps/ngtcp2/ngtcp2.gyp | 4 nodejs-18.19.0+dfsg/deps/ngtcp2/ngtcp2/lib/ngtcp2_ringbuf.c | 2 nodejs-18.19.0+dfsg/deps/openssl/README.md | 2 nodejs-18.19.0+dfsg/deps/openssl/config/Makefile | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm/configdata.pm | 271 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm/engines/e_padlock-x86.S | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm/openssl.gypi | 11 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm_avx2/configdata.pm | 271 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm_avx2/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm_avx2/engines/e_padlock-x86.S | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm_avx2/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm_avx2/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/asm_avx2/openssl.gypi | 11 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/no-asm/configdata.pm | 244 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm/configdata.pm | 300 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm/engines/e_padlock-x86_64.s | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm/openssl.gypi | 16 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm_avx2/configdata.pm | 300 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm_avx2/engines/e_padlock-x86_64.s | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm_avx2/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm_avx2/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/asm_avx2/openssl.gypi | 16 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/no-asm/configdata.pm | 244 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/BSD-x86_64/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm/configdata.pm | 273 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm/engines/e_padlock-x86.asm | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm/openssl.gypi | 11 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm_avx2/configdata.pm | 273 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm_avx2/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm_avx2/engines/e_padlock-x86.asm | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm_avx2/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm_avx2/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/asm_avx2/openssl.gypi | 11 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/no-asm/configdata.pm | 246 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN32/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/configdata.pm | 246 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64-ARM/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm/configdata.pm | 299 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm/crypto/poly1305/poly1305-x86_64.asm | 1028 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm/engines/e_padlock-x86_64.asm | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm/openssl.gypi | 16 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm_avx2/configdata.pm | 299 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm_avx2/crypto/poly1305/poly1305-x86_64.asm | 1028 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm_avx2/engines/e_padlock-x86_64.asm | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm_avx2/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm_avx2/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/asm_avx2/openssl.gypi | 16 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/no-asm/configdata.pm | 248 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/VC-WIN64A/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm/configdata.pm | 761 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm/openssl-fips.gypi | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm/openssl.gypi | 8 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/configdata.pm | 257 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/openssl-fips.gypi | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/asm_avx2/openssl.gypi | 8 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/no-asm/configdata.pm | 244 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/aix64-gcc-as/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm/configdata.pm | 271 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm/engines/e_padlock-x86.S | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm/openssl.gypi | 11 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/configdata.pm | 271 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/engines/e_padlock-x86.S | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/asm_avx2/openssl.gypi | 11 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/no-asm/configdata.pm | 244 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin-i386-cc/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm/configdata.pm | 255 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm/crypto/aes/aesv8-armx.S | 32 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm/crypto/modes/aes-gcm-armv8_64.S | 782 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm/crypto/modes/ghashv8-armx.S | 26 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm/crypto/poly1305/poly1305-armv8.S | 24 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm/openssl-fips.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm/openssl.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/configdata.pm | 255 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/crypto/aes/aesv8-armx.S | 32 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/crypto/modes/aes-gcm-armv8_64.S | 782 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/crypto/modes/ghashv8-armx.S | 26 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/crypto/poly1305/poly1305-armv8.S | 24 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/openssl-fips.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/asm_avx2/openssl.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/configdata.pm | 244 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-arm64-cc/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm/configdata.pm | 300 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm/engines/e_padlock-x86_64.s | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm/openssl.gypi | 16 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/configdata.pm | 300 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/engines/e_padlock-x86_64.s | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/asm_avx2/openssl.gypi | 16 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/configdata.pm | 244 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/darwin64-x86_64-cc/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm/configdata.pm | 255 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm/crypto/aes/aesv8-armx.S | 32 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm/crypto/modes/aes-gcm-armv8_64.S | 782 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm/crypto/modes/ghashv8-armx.S | 26 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm/crypto/poly1305/poly1305-armv8.S | 24 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm/openssl-fips.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm/openssl.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm_avx2/configdata.pm | 255 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/aes/aesv8-armx.S | 32 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/modes/aes-gcm-armv8_64.S | 782 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/modes/ghashv8-armx.S | 26 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm_avx2/crypto/poly1305/poly1305-armv8.S | 24 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm_avx2/openssl-fips.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/asm_avx2/openssl.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/no-asm/configdata.pm | 244 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-aarch64/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm/configdata.pm | 264 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm/crypto/aes/bsaes-armv7.S | 14 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm/openssl-fips.gypi | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm/openssl.gypi | 8 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm_avx2/configdata.pm | 264 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/aes/bsaes-armv7.S | 14 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm_avx2/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm_avx2/openssl-fips.gypi | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/asm_avx2/openssl.gypi | 8 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/no-asm/configdata.pm | 244 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-armv4/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm/configdata.pm | 271 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm/engines/e_padlock-x86.S | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm/openssl.gypi | 11 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm_avx2/configdata.pm | 271 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm_avx2/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm_avx2/engines/e_padlock-x86.S | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm_avx2/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm_avx2/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/asm_avx2/openssl.gypi | 11 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/no-asm/configdata.pm | 244 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-elf/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm/configdata.pm | 257 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm/openssl-fips.gypi | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm/openssl.gypi | 8 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm_avx2/configdata.pm | 257 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm_avx2/openssl-fips.gypi | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/asm_avx2/openssl.gypi | 8 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/no-asm/configdata.pm | 244 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-ppc64le/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm/configdata.pm | 300 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm/engines/e_padlock-x86_64.s | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm/openssl.gypi | 16 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm_avx2/configdata.pm | 300 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm_avx2/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm_avx2/engines/e_padlock-x86_64.s | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm_avx2/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm_avx2/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/asm_avx2/openssl.gypi | 16 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/no-asm/configdata.pm | 244 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux-x86_64/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm/configdata.pm | 258 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm/openssl-fips.gypi | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm/openssl.gypi | 9 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm_avx2/configdata.pm | 258 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm_avx2/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm_avx2/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm_avx2/openssl-fips.gypi | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/asm_avx2/openssl.gypi | 9 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/no-asm/configdata.pm | 244 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux32-s390x/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/apps/progs.c | 397 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/configdata.pm |27794 +++++++++ nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/crypto/buildinf.h | 29 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/crypto/bn_conf.h | 29 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/crypto/dso_conf.h | 19 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/asn1.h | 1128 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/asn1t.h | 946 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/bio.h | 887 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/cmp.h | 597 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/cms.h | 493 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/conf.h | 211 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/configuration.h | 137 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/crmf.h | 227 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/crypto.h | 558 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ct.h | 573 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/err.h | 504 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ess.h | 128 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/fipskey.h | 36 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/lhash.h | 288 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ocsp.h | 483 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/opensslv.h | 114 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/pkcs12.h | 350 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/pkcs7.h | 427 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/safestack.h | 297 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/srp.h | 285 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ssl.h | 2668 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/ui.h | 407 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509.h | 1276 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509_vfy.h | 894 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/openssl/x509v3.h | 1450 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/include/progs.h | 123 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/openssl-cl.gypi | 99 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/openssl-fips.gypi | 319 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/openssl.gypi | 996 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_digests_gen.c | 160 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_dsa_gen.c | 94 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_ec_gen.c | 279 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_ecx_gen.c | 44 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_rsa_gen.c | 174 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_sm2_gen.c | 30 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/der/der_wrap_gen.c | 46 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_digests.h | 160 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_dsa.h | 94 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_ec.h | 286 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_ecx.h | 50 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_rsa.h | 187 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_sm2.h | 37 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/common/include/prov/der_wrap.h | 46 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/fips.ld | 5 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-loongarch64/no-asm/providers/legacy.ld | 5 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm/configdata.pm | 263 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm/crypto/buildinf.h | 17 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm/openssl-fips.gypi | 3 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm/openssl.gypi | 8 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm_avx2/configdata.pm | 263 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm_avx2/crypto/buildinf.h | 17 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm_avx2/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm_avx2/openssl-fips.gypi | 3 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/asm_avx2/openssl.gypi | 8 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/no-asm/configdata.pm | 244 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-mips64/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-riscv64/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-riscv64/no-asm/configdata.pm | 244 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-riscv64/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-riscv64/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-riscv64/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-riscv64/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-riscv64/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-riscv64/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-riscv64/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm/configdata.pm | 263 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm/openssl-fips.gypi | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm/openssl.gypi | 8 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm_avx2/configdata.pm | 263 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm_avx2/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm_avx2/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm_avx2/openssl-fips.gypi | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/asm_avx2/openssl.gypi | 8 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/no-asm/configdata.pm | 244 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/linux64-s390x/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm/configdata.pm | 271 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm/engines/e_padlock-x86.S | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm/openssl.gypi | 11 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/configdata.pm | 271 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/engines/e_padlock-x86.S | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/asm_avx2/openssl.gypi | 11 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/no-asm/configdata.pm | 244 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris-x86-gcc/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/configdata.pm | 300 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/engines/e_padlock-x86_64.s | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm/openssl.gypi | 16 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/configdata.pm | 300 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/engines/e_padlock-x86_64.s | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/openssl-cl.gypi | 1 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/openssl-fips.gypi | 7 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/asm_avx2/openssl.gypi | 16 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/apps/progs.c | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/configdata.pm | 244 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/cmp.h | 23 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslv.h | 10 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/pkcs7.h | 6 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/openssl/x509v3.h | 4 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/include/progs.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/archs/solaris64-x86_64-gcc/no-asm/openssl.gypi | 6 nodejs-18.19.0+dfsg/deps/openssl/config/asn1_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/asn1t_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/bio_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/bn_conf_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/cmp_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/cms_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/conf_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/configuration_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/crmf_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/crypto_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/ct_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/dso_conf_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/err_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/ess_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/fipskey_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/include_no-asm.h.tmpl | 2 nodejs-18.19.0+dfsg/deps/openssl/config/lhash_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/ocsp_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/opensslv_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/pkcs12_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/pkcs7_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/safestack_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/srp_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/ssl_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/ui_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/x509_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/x509_vfy_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/config/x509v3_no-asm.h | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl-cl_asm.gypi | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl-cl_asm_avx2.gypi | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl-cl_no_asm.gypi | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl-cli.gypi | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl-fips_asm.gypi | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl-fips_asm_avx2.gypi | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl-fips_no_asm.gypi | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl.gyp | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/CHANGES.md | 353 nodejs-18.19.0+dfsg/deps/openssl/openssl/Configurations/10-main.conf | 17 nodejs-18.19.0+dfsg/deps/openssl/openssl/Configurations/50-vms-x86_64.conf | 12 nodejs-18.19.0+dfsg/deps/openssl/openssl/Configurations/90-team.norelease.conf | 94 nodejs-18.19.0+dfsg/deps/openssl/openssl/Configurations/README.md | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/Configurations/descrip.mms.tmpl | 32 nodejs-18.19.0+dfsg/deps/openssl/openssl/Configurations/platform/BASE.pm | 5 nodejs-18.19.0+dfsg/deps/openssl/openssl/Configurations/unix-Makefile.tmpl | 300 nodejs-18.19.0+dfsg/deps/openssl/openssl/Configurations/windows-makefile.tmpl | 21 nodejs-18.19.0+dfsg/deps/openssl/openssl/Configure | 17 nodejs-18.19.0+dfsg/deps/openssl/openssl/INSTALL.md | 35 nodejs-18.19.0+dfsg/deps/openssl/openssl/NEWS.md | 60 nodejs-18.19.0+dfsg/deps/openssl/openssl/NOTES-NONSTOP.md | 17 nodejs-18.19.0+dfsg/deps/openssl/openssl/NOTES-VMS.md | 17 nodejs-18.19.0+dfsg/deps/openssl/openssl/README-FIPS.md | 119 nodejs-18.19.0+dfsg/deps/openssl/openssl/README-OpenSSL.md | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/README.md | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/VERSION.dat | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/ca.c | 52 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/cmp.c | 217 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/cms.c | 25 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/dgst.c | 13 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/dhparam.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/dsaparam.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/enc.c | 22 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/gendsa.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/genpkey.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/genrsa.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/include/cmp_mock_srv.h | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/lib/apps.c | 50 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/lib/cmp_mock_srv.c | 46 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/ocsp.c | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/openssl-vms.cnf | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/openssl.cnf | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/pkey.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/pkeyutl.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/rehash.c | 9 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/req.c | 20 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/rsautl.c | 24 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/s_client.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/s_server.c | 9 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/speed.c | 58 nodejs-18.19.0+dfsg/deps/openssl/openssl/apps/storeutl.c | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/appveyor.yml | 82 nodejs-18.19.0+dfsg/deps/openssl/openssl/configdata.pm.in | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/LPdir_unix.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/aes/asm/aesv8-armx.pl | 31 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/aes/asm/bsaes-armv7.pl | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/arm_arch.h | 7 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/asn1/a_bitstr.c | 8 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/asn1/a_strnid.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/asn1/asn1_gen.c | 11 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/asn1/asn1_parse.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/asn1/asn_mime.c | 14 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/asn1/asn_pack.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/asn1/bio_asn1.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/asn1/bio_ndef.c | 42 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bf/build.info | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bio/bf_buff.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bio/bf_lbuf.c | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bio/bio_lib.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bio/bss_acpt.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bn/bn_asm.c | 108 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bn/bn_blind.c | 5 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bn/bn_exp.c | 36 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bn/bn_gcd.c | 8 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bn/bn_lib.c | 24 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bn/bn_local.h | 66 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bn/bn_mont.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bn/bn_nist.c | 87 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bn/bn_rand.c | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bn/bn_recp.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bn/bn_rsa_fips186_4.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bn/build.info | 5 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/bn/rsaz_exp_x2.c | 31 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cast/build.info | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/chacha/asm/chacha-ia64.pl | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cmp/cmp_asn.c | 10 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cmp/cmp_client.c | 135 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cmp/cmp_ctx.c | 51 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cmp/cmp_err.c | 8 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cmp/cmp_local.h | 19 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cmp/cmp_msg.c | 71 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cmp/cmp_protect.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cmp/cmp_server.c | 57 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cmp/cmp_status.c | 21 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cmp/cmp_vfy.c | 29 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cms/cms_dh.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cms/cms_ec.c | 20 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cms/cms_enc.c | 7 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cms/cms_env.c | 31 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cms/cms_err.c | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cms/cms_lib.c | 16 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cms/cms_local.h | 3 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cms/cms_rsa.c | 32 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cms/cms_sd.c | 20 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/cms/cms_smime.c | 73 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/conf/conf_def.c | 19 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/conf/conf_mod.c | 10 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/conf/conf_sap.c | 7 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/context.c | 15 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/core_namemap.c | 5 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/crmf/crmf_lib.c | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/des/build.info | 5 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/dh/dh_check.c | 25 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/dh/dh_gen.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/dh/dh_key.c | 3 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/dh/dh_lib.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/dsa/dsa_backend.c | 7 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/dsa/dsa_check.c | 8 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/dsa/dsa_err.c | 3 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/dsa/dsa_lib.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/dsa/dsa_ossl.c | 36 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/dsa/dsa_sign.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/ec/asm/ecp_nistp521-ppc64.pl | 3 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/ec/ec_ameth.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/ec/ec_err.c | 3 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/ec/ecdsa_ossl.c | 23 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/ec/ecx_meth.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/encode_decode/decoder_lib.c | 7 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/encode_decode/decoder_pkey.c | 8 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/engine/eng_lib.c | 25 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/engine/eng_list.c | 11 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/engine/eng_local.h | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/engine/eng_pkey.c | 44 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/engine/eng_table.c | 13 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/err/README.md | 11 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/err/openssl.txt | 14 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/evp/bio_enc.c | 9 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/evp/ctrl_params_translate.c | 97 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/evp/digest.c | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/evp/ec_ctrl.c | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/evp/evp_enc.c | 45 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/evp/evp_lib.c | 11 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/evp/evp_pbe.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/evp/keymgmt_lib.c | 30 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/evp/keymgmt_meth.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/evp/legacy_sha.c | 8 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/evp/p5_crpt2.c | 7 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/evp/p_lib.c | 37 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/evp/pmeth_lib.c | 35 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/ex_data.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/ffc/ffc_backend.c | 3 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/ffc/ffc_key_validate.c | 25 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/ffc/ffc_params.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/ffc/ffc_params_generate.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/http/http_client.c | 28 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/http/http_lib.c | 19 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/idea/build.info | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/info.c | 14 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/lhash/lhash.c | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/md2/build.info | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/md4/build.info | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/md5/build.info | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/mdc2/build.info | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/mem.c | 17 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/mem_sec.c | 7 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/modes/asm/aes-gcm-armv8_64.pl | 789 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/modes/asm/ghashv8-armx.pl | 5 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/objects/obj_dat.c | 28 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/ocsp/ocsp_ext.c | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/param_build.c | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/param_build_set.c | 13 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/params.c | 46 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/pem/pem_lib.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/pem/pem_pkey.c | 36 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/perlasm/arm-xlate.pl | 7 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/pkcs12/p12_crt.c | 64 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/pkcs12/p12_mutl.c | 7 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/pkcs7/pk7_doit.c | 18 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/pkcs7/pk7_lib.c | 18 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/poly1305/asm/poly1305-armv8.pl | 26 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/poly1305/asm/poly1305-x86_64.pl | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/property/defn_cache.c | 33 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/property/properties.ebnf | 18 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/property/property.c | 17 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/property/property_local.h | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/property/property_parse.c | 34 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/provider_child.c | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/provider_core.c | 8 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/rand/rand_lib.c | 21 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/rc2/build.info | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/rc4/build.info | 7 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/rc5/build.info | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/ripemd/build.info | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/rsa/rsa_ameth.c | 73 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/rsa/rsa_backend.c | 14 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/rsa/rsa_chk.c | 18 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/rsa/rsa_lib.c | 32 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/rsa/rsa_mp.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/rsa/rsa_ossl.c | 15 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/rsa/rsa_pmeth.c | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/rsa/rsa_sign.c | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/rsa/rsa_sp800_56b_gen.c | 11 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/seed/build.info | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx2.pl | 3 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx512.pl | 3 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/sha/asm/keccak1600-avx512vl.pl | 3 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/sha/asm/sha512-ia64.pl | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/sm2/sm2_sign.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/srp/srp_vfy.c | 3 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/store/store_lib.c | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/store/store_result.c | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/threads_pthread.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/threads_win.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/trace.c | 41 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/ui/ui_lib.c | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/ui/ui_util.c | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/whrlpool/build.info | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/by_dir.c | 21 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/pcy_local.h | 10 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/pcy_map.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/pcy_node.c | 26 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/pcy_tree.c | 54 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/v3_addr.c | 74 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/v3_admis.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/v3_genn.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/v3_ist.c | 33 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/v3_ncons.c | 47 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/v3_purp.c | 8 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/x509_att.c | 7 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/x509_cmp.c | 19 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/x509_err.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/x509_txt.c | 11 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/x509_v3.c | 5 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/x509_vfy.c | 16 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/x509_vpm.c | 12 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/x509name.c | 5 nodejs-18.19.0+dfsg/deps/openssl/openssl/crypto/x509/x_pubkey.c | 26 nodejs-18.19.0+dfsg/deps/openssl/openssl/dev/README.md | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/dev/release-aux/README.md | 30 nodejs-18.19.0+dfsg/deps/openssl/openssl/dev/release-aux/fix-title.pl | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/dev/release-aux/fixup-CHANGES.md-postrelease.pl | 28 nodejs-18.19.0+dfsg/deps/openssl/openssl/dev/release-aux/fixup-CHANGES.md-release.pl | 13 nodejs-18.19.0+dfsg/deps/openssl/openssl/dev/release-aux/fixup-NEWS.md-postrelease.pl | 28 nodejs-18.19.0+dfsg/deps/openssl/openssl/dev/release-aux/fixup-NEWS.md-release.pl | 16 nodejs-18.19.0+dfsg/deps/openssl/openssl/dev/release-aux/openssl-announce-pre-release.tmpl | 51 nodejs-18.19.0+dfsg/deps/openssl/openssl/dev/release-aux/openssl-announce-release.tmpl | 41 nodejs-18.19.0+dfsg/deps/openssl/openssl/dev/release-aux/release-state-fn.sh | 201 nodejs-18.19.0+dfsg/deps/openssl/openssl/dev/release-aux/release-version-fn.sh | 114 nodejs-18.19.0+dfsg/deps/openssl/openssl/dev/release.sh | 824 nodejs-18.19.0+dfsg/deps/openssl/openssl/engines/asm/e_padlock-x86.pl | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/engines/asm/e_padlock-x86_64.pl | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/engines/e_dasync.c | 67 nodejs-18.19.0+dfsg/deps/openssl/openssl/engines/e_loader_attic.c | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/engines/e_padlock.c | 17 nodejs-18.19.0+dfsg/deps/openssl/openssl/fuzz/build.info | 12 nodejs-18.19.0+dfsg/deps/openssl/openssl/fuzz/x509.c | 125 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/crypto/bn.h | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/crypto/cmperr.h | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/crypto/dsaerr.h | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/crypto/ecerr.h | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/crypto/evp.h | 11 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/crypto/rand.h | 1 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/crypto/types.h | 5 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/crypto/x509.h | 5 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/crypto/x509err.h | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/internal/cryptlib.h | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/internal/ffc.h | 3 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/internal/refcount.h | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/openssl/cmp.h.in | 23 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/openssl/cmperr.h | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/openssl/cmserr.h | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/openssl/dh.h | 8 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/openssl/dsaerr.h | 3 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/openssl/ecerr.h | 3 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/openssl/evp.h | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/openssl/pkcs7.h.in | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/openssl/sslerr.h | 1 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/openssl/trace.h | 8 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/openssl/x509err.h | 3 nodejs-18.19.0+dfsg/deps/openssl/openssl/include/openssl/x509v3.h.in | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/common/der/oids_to_c.pm | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/common/securitycheck.c | 24 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/fips-sources.checksums | 183 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/fips.checksum | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/fips.module.sources | 13 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/fips/self_test.c | 52 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/asymciphers/rsa_enc.c | 10 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/ciphers/cipher_aes_siv.c | 20 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/ciphers/cipher_chacha20.c | 23 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.c | 9 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305.h | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/ciphers/cipher_chacha20_poly1305_hw.c | 34 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/ciphers/cipher_rc4_hmac_md5.h | 5 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/ciphers/cipher_tdes_common.c | 11 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/encode_decode/decode_der2key.c | 10 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/encode_decode/decode_msblob2key.c | 22 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/encode_decode/decode_pvk2key.c | 21 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/encode_decode/encode_key2any.c | 7 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/encode_decode/encode_key2text.c | 65 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/kdfs/hkdf.c | 78 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/kdfs/sskdf.c | 26 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/keymgmt/dh_kmgmt.c | 11 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/keymgmt/dsa_kmgmt.c | 10 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/keymgmt/ec_kmgmt.c | 28 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/keymgmt/ecx_kmgmt.c | 5 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/keymgmt/mac_legacy_kmgmt.c | 5 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/keymgmt/rsa_kmgmt.c | 6 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/macs/kmac_prov.c | 16 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/rands/drbg.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/signature/eddsa_sig.c | 8 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/signature/rsa_sig.c | 11 nodejs-18.19.0+dfsg/deps/openssl/openssl/providers/implementations/storemgmt/file_store.c | 8 nodejs-18.19.0+dfsg/deps/openssl/openssl/ssl/record/rec_layer_d1.c | 14 nodejs-18.19.0+dfsg/deps/openssl/openssl/ssl/record/rec_layer_s3.c | 46 nodejs-18.19.0+dfsg/deps/openssl/openssl/ssl/record/ssl3_buffer.c | 14 nodejs-18.19.0+dfsg/deps/openssl/openssl/ssl/record/ssl3_record.c | 18 nodejs-18.19.0+dfsg/deps/openssl/openssl/ssl/ssl_cert.c | 24 nodejs-18.19.0+dfsg/deps/openssl/openssl/ssl/ssl_err.c | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/ssl/ssl_lib.c | 12 nodejs-18.19.0+dfsg/deps/openssl/openssl/ssl/ssl_sess.c | 10 nodejs-18.19.0+dfsg/deps/openssl/openssl/ssl/statem/extensions.c | 8 nodejs-18.19.0+dfsg/deps/openssl/openssl/ssl/statem/extensions_srvr.c | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/ssl/statem/statem_clnt.c | 3 nodejs-18.19.0+dfsg/deps/openssl/openssl/ssl/statem/statem_lib.c | 8 nodejs-18.19.0+dfsg/deps/openssl/openssl/ssl/t1_lib.c | 28 nodejs-18.19.0+dfsg/deps/openssl/openssl/util/check-format-test-negatives.c | 89 nodejs-18.19.0+dfsg/deps/openssl/openssl/util/check-format-test-positives.c | 48 nodejs-18.19.0+dfsg/deps/openssl/openssl/util/check-format.pl | 293 nodejs-18.19.0+dfsg/deps/openssl/openssl/util/find-doc-nits | 18 nodejs-18.19.0+dfsg/deps/openssl/openssl/util/libcrypto.num | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/util/missingcrypto.txt | 41 nodejs-18.19.0+dfsg/deps/openssl/openssl/util/missingmacro.txt | 7 nodejs-18.19.0+dfsg/deps/openssl/openssl/util/missingssl.txt | 1 nodejs-18.19.0+dfsg/deps/openssl/openssl/util/mktar.sh | 39 nodejs-18.19.0+dfsg/deps/openssl/openssl/util/other.syms | 22 nodejs-18.19.0+dfsg/deps/openssl/openssl/util/perl/OpenSSL/Ordinals.pm | 4 nodejs-18.19.0+dfsg/deps/openssl/openssl/util/perl/OpenSSL/ParseC.pm | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl/util/perl/OpenSSL/config.pm | 8 nodejs-18.19.0+dfsg/deps/openssl/openssl_asm.gypi | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl_asm_avx2.gypi | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl_common.gypi | 2 nodejs-18.19.0+dfsg/deps/openssl/openssl_no_asm.gypi | 4 nodejs-18.19.0+dfsg/deps/postject/LICENSE | 236 nodejs-18.19.0+dfsg/deps/postject/postject-api.h | 209 nodejs-18.19.0+dfsg/deps/simdutf/LICENSE-MIT | 18 nodejs-18.19.0+dfsg/deps/simdutf/README.md | 13 nodejs-18.19.0+dfsg/deps/simdutf/simdutf.cpp |28614 ++++++++++ nodejs-18.19.0+dfsg/deps/simdutf/simdutf.gyp | 13 nodejs-18.19.0+dfsg/deps/simdutf/simdutf.h | 2776 nodejs-18.19.0+dfsg/deps/uv/common.gypi | 2 nodejs-18.19.0+dfsg/deps/uv/uv.gyp | 19 nodejs-18.19.0+dfsg/deps/uvwasi/include/uvwasi.h | 15 nodejs-18.19.0+dfsg/deps/uvwasi/include/wasi_types.h | 1 nodejs-18.19.0+dfsg/deps/uvwasi/src/clocks.c | 33 nodejs-18.19.0+dfsg/deps/uvwasi/src/debug.h | 4 nodejs-18.19.0+dfsg/deps/uvwasi/src/fd_table.c | 69 nodejs-18.19.0+dfsg/deps/uvwasi/src/fd_table.h | 5 nodejs-18.19.0+dfsg/deps/uvwasi/src/sync_helpers.c | 95 nodejs-18.19.0+dfsg/deps/uvwasi/src/sync_helpers.h | 27 nodejs-18.19.0+dfsg/deps/uvwasi/src/uv_mapping.c | 13 nodejs-18.19.0+dfsg/deps/uvwasi/src/uvwasi.c | 323 nodejs-18.19.0+dfsg/deps/uvwasi/src/wasi_rights.h | 8 nodejs-18.19.0+dfsg/deps/uvwasi/uvwasi.gyp | 3 nodejs-18.19.0+dfsg/deps/v8/AUTHORS | 2 nodejs-18.19.0+dfsg/deps/v8/BUILD.gn | 14 nodejs-18.19.0+dfsg/deps/v8/include/v8-version.h | 2 nodejs-18.19.0+dfsg/deps/v8/src/ast/scopes.cc | 1 nodejs-18.19.0+dfsg/deps/v8/src/base/platform/platform-posix.cc | 6 nodejs-18.19.0+dfsg/deps/v8/src/codegen/arm/assembler-arm.cc | 19 nodejs-18.19.0+dfsg/deps/v8/src/codegen/compiler.cc | 2 nodejs-18.19.0+dfsg/deps/v8/src/codegen/tnode.h | 5 nodejs-18.19.0+dfsg/deps/v8/src/compiler/backend/x64/code-generator-x64.cc | 29 nodejs-18.19.0+dfsg/deps/v8/src/compiler/fast-api-calls.cc | 7 nodejs-18.19.0+dfsg/deps/v8/src/d8/d8-test.cc | 67 nodejs-18.19.0+dfsg/deps/v8/src/diagnostics/perf-jit.cc | 7 nodejs-18.19.0+dfsg/deps/v8/src/logging/log.cc | 2 nodejs-18.19.0+dfsg/deps/v8/src/numbers/conversions.cc | 25 nodejs-18.19.0+dfsg/deps/v8/src/numbers/conversions.h | 2 nodejs-18.19.0+dfsg/deps/v8/src/objects/js-date-time-format.cc | 5 nodejs-18.19.0+dfsg/deps/v8/src/objects/keys.cc | 10 nodejs-18.19.0+dfsg/deps/v8/src/parsing/parser-base.h | 2 nodejs-18.19.0+dfsg/deps/v8/src/parsing/parser.cc | 10 nodejs-18.19.0+dfsg/deps/v8/src/parsing/parser.h | 2 nodejs-18.19.0+dfsg/deps/v8/src/parsing/preparser.h | 4 nodejs-18.19.0+dfsg/deps/v8/src/parsing/scanner.h | 3 nodejs-18.19.0+dfsg/deps/v8/src/snapshot/deserializer.cc | 7 nodejs-18.19.0+dfsg/deps/v8/src/snapshot/serializer-deserializer.cc | 5 nodejs-18.19.0+dfsg/deps/v8/src/wasm/baseline/ppc/liftoff-assembler-ppc.h | 4 nodejs-18.19.0+dfsg/deps/v8/src/wasm/baseline/riscv64/liftoff-assembler-riscv64.h | 2 nodejs-18.19.0+dfsg/deps/zlib/BUILD.gn | 92 nodejs-18.19.0+dfsg/deps/zlib/CMakeLists.txt | 307 nodejs-18.19.0+dfsg/deps/zlib/OWNERS | 1 nodejs-18.19.0+dfsg/deps/zlib/README.chromium | 3 nodejs-18.19.0+dfsg/deps/zlib/adler32.c | 36 nodejs-18.19.0+dfsg/deps/zlib/compress.c | 21 nodejs-18.19.0+dfsg/deps/zlib/contrib/optimizations/chunkcopy.h | 2 nodejs-18.19.0+dfsg/deps/zlib/contrib/optimizations/inffast_chunk.c | 76 nodejs-18.19.0+dfsg/deps/zlib/contrib/optimizations/inffast_chunk.h | 28 nodejs-18.19.0+dfsg/deps/zlib/contrib/optimizations/inflate.c | 134 nodejs-18.19.0+dfsg/deps/zlib/contrib/optimizations/insert_string.h | 98 nodejs-18.19.0+dfsg/deps/zlib/cpu_features.c | 35 nodejs-18.19.0+dfsg/deps/zlib/cpu_features.h | 1 nodejs-18.19.0+dfsg/deps/zlib/crc32.c | 257 nodejs-18.19.0+dfsg/deps/zlib/crc32_simd.c | 198 nodejs-18.19.0+dfsg/deps/zlib/crc32_simd.h | 6 nodejs-18.19.0+dfsg/deps/zlib/crc_folding.c | 6 nodejs-18.19.0+dfsg/deps/zlib/deflate.c | 605 nodejs-18.19.0+dfsg/deps/zlib/deflate.h | 16 nodejs-18.19.0+dfsg/deps/zlib/google/BUILD.gn | 17 nodejs-18.19.0+dfsg/deps/zlib/google/DEPS | 3 nodejs-18.19.0+dfsg/deps/zlib/google/OWNERS | 2 nodejs-18.19.0+dfsg/deps/zlib/google/test_data.filelist | 32 nodejs-18.19.0+dfsg/deps/zlib/google/test_data.globlist | 8 nodejs-18.19.0+dfsg/deps/zlib/google/zip.cc | 2 nodejs-18.19.0+dfsg/deps/zlib/google/zip.h | 2 nodejs-18.19.0+dfsg/deps/zlib/google/zip_internal.cc | 120 nodejs-18.19.0+dfsg/deps/zlib/google/zip_reader.cc | 34 nodejs-18.19.0+dfsg/deps/zlib/google/zip_reader.h | 2 nodejs-18.19.0+dfsg/deps/zlib/google/zip_reader_unittest.cc | 36 nodejs-18.19.0+dfsg/deps/zlib/google/zip_unittest.cc | 10 nodejs-18.19.0+dfsg/deps/zlib/gzclose.c | 4 nodejs-18.19.0+dfsg/deps/zlib/gzguts.h | 18 nodejs-18.19.0+dfsg/deps/zlib/gzlib.c | 102 nodejs-18.19.0+dfsg/deps/zlib/gzread.c | 84 nodejs-18.19.0+dfsg/deps/zlib/gzwrite.c | 84 nodejs-18.19.0+dfsg/deps/zlib/infback.c | 30 nodejs-18.19.0+dfsg/deps/zlib/inffast.c | 5 nodejs-18.19.0+dfsg/deps/zlib/inffast.h | 2 nodejs-18.19.0+dfsg/deps/zlib/inflate.c | 129 nodejs-18.19.0+dfsg/deps/zlib/inftrees.c | 15 nodejs-18.19.0+dfsg/deps/zlib/inftrees.h | 6 nodejs-18.19.0+dfsg/deps/zlib/patches/0000-build.patch | 87 nodejs-18.19.0+dfsg/deps/zlib/patches/0010-cmake-enable-simd.patch | 96 nodejs-18.19.0+dfsg/deps/zlib/patches/0011-avx512.patch | 357 nodejs-18.19.0+dfsg/deps/zlib/patches/0012-lfs-open64.patch | 40 nodejs-18.19.0+dfsg/deps/zlib/patches/0013-cpu-feature-detection-for-arm.patch | 30 nodejs-18.19.0+dfsg/deps/zlib/trees.c | 526 nodejs-18.19.0+dfsg/deps/zlib/uncompr.c | 16 nodejs-18.19.0+dfsg/deps/zlib/zconf.h | 8 nodejs-18.19.0+dfsg/deps/zlib/zconf.h.cmakein | 553 nodejs-18.19.0+dfsg/deps/zlib/zconf.h.in | 551 nodejs-18.19.0+dfsg/deps/zlib/zlib.3 | 149 nodejs-18.19.0+dfsg/deps/zlib/zlib.gyp | 2 nodejs-18.19.0+dfsg/deps/zlib/zlib.h | 360 nodejs-18.19.0+dfsg/deps/zlib/zlib.map | 100 nodejs-18.19.0+dfsg/deps/zlib/zlib.pc.cmakein | 13 nodejs-18.19.0+dfsg/deps/zlib/zutil.c | 60 nodejs-18.19.0+dfsg/deps/zlib/zutil.h | 20 nodejs-18.19.0+dfsg/doc/api/addons.html | 100 nodejs-18.19.0+dfsg/doc/api/addons.json | 4 nodejs-18.19.0+dfsg/doc/api/addons.md | 5 nodejs-18.19.0+dfsg/doc/api/all.html |11255 ++- nodejs-18.19.0+dfsg/doc/api/all.json | 6268 +- nodejs-18.19.0+dfsg/doc/api/assert.html | 160 nodejs-18.19.0+dfsg/doc/api/assert.json | 45 nodejs-18.19.0+dfsg/doc/api/assert.md | 68 nodejs-18.19.0+dfsg/doc/api/assets/api.js | 32 nodejs-18.19.0+dfsg/doc/api/assets/style.css | 29 nodejs-18.19.0+dfsg/doc/api/async_context.html | 110 nodejs-18.19.0+dfsg/doc/api/async_context.json | 81 nodejs-18.19.0+dfsg/doc/api/async_context.md | 70 nodejs-18.19.0+dfsg/doc/api/async_hooks.html | 110 nodejs-18.19.0+dfsg/doc/api/async_hooks.json | 8 nodejs-18.19.0+dfsg/doc/api/async_hooks.md | 49 nodejs-18.19.0+dfsg/doc/api/buffer.html | 299 nodejs-18.19.0+dfsg/doc/api/buffer.json | 125 nodejs-18.19.0+dfsg/doc/api/buffer.md | 92 nodejs-18.19.0+dfsg/doc/api/child_process.html | 103 nodejs-18.19.0+dfsg/doc/api/child_process.json | 23 nodejs-18.19.0+dfsg/doc/api/child_process.md | 17 nodejs-18.19.0+dfsg/doc/api/cli.html | 252 nodejs-18.19.0+dfsg/doc/api/cli.json | 175 nodejs-18.19.0+dfsg/doc/api/cli.md | 211 nodejs-18.19.0+dfsg/doc/api/cluster.html | 89 nodejs-18.19.0+dfsg/doc/api/cluster.json | 14 nodejs-18.19.0+dfsg/doc/api/cluster.md | 27 nodejs-18.19.0+dfsg/doc/api/console.html | 52 nodejs-18.19.0+dfsg/doc/api/console.json | 2 nodejs-18.19.0+dfsg/doc/api/corepack.html | 22 nodejs-18.19.0+dfsg/doc/api/crypto.html | 363 nodejs-18.19.0+dfsg/doc/api/crypto.json | 39 nodejs-18.19.0+dfsg/doc/api/crypto.md | 256 nodejs-18.19.0+dfsg/doc/api/debugger.html | 36 nodejs-18.19.0+dfsg/doc/api/debugger.json | 2 nodejs-18.19.0+dfsg/doc/api/debugger.md | 8 nodejs-18.19.0+dfsg/doc/api/deprecations.html | 40 nodejs-18.19.0+dfsg/doc/api/deprecations.json | 17 nodejs-18.19.0+dfsg/doc/api/deprecations.md | 17 nodejs-18.19.0+dfsg/doc/api/dgram.html | 51 nodejs-18.19.0+dfsg/doc/api/dgram.json | 21 nodejs-18.19.0+dfsg/doc/api/dgram.md | 12 nodejs-18.19.0+dfsg/doc/api/diagnostics_channel.html | 613 nodejs-18.19.0+dfsg/doc/api/diagnostics_channel.json | 533 nodejs-18.19.0+dfsg/doc/api/diagnostics_channel.md | 651 nodejs-18.19.0+dfsg/doc/api/dns.html | 103 nodejs-18.19.0+dfsg/doc/api/dns.json | 56 nodejs-18.19.0+dfsg/doc/api/dns.md | 32 nodejs-18.19.0+dfsg/doc/api/documentation.html | 20 nodejs-18.19.0+dfsg/doc/api/documentation.json | 2 nodejs-18.19.0+dfsg/doc/api/documentation.md | 2 nodejs-18.19.0+dfsg/doc/api/domain.html | 40 nodejs-18.19.0+dfsg/doc/api/domain.json | 6 nodejs-18.19.0+dfsg/doc/api/domain.md | 4 nodejs-18.19.0+dfsg/doc/api/embedding.html | 22 nodejs-18.19.0+dfsg/doc/api/errors.html | 225 nodejs-18.19.0+dfsg/doc/api/errors.json | 96 nodejs-18.19.0+dfsg/doc/api/errors.md | 188 nodejs-18.19.0+dfsg/doc/api/esm.html | 828 nodejs-18.19.0+dfsg/doc/api/esm.json | 305 nodejs-18.19.0+dfsg/doc/api/esm.md | 716 nodejs-18.19.0+dfsg/doc/api/events.html | 618 nodejs-18.19.0+dfsg/doc/api/events.json | 296 nodejs-18.19.0+dfsg/doc/api/events.md | 521 nodejs-18.19.0+dfsg/doc/api/fs.html | 540 nodejs-18.19.0+dfsg/doc/api/fs.json | 498 nodejs-18.19.0+dfsg/doc/api/fs.md | 329 nodejs-18.19.0+dfsg/doc/api/globals.html | 53 nodejs-18.19.0+dfsg/doc/api/globals.json | 64 nodejs-18.19.0+dfsg/doc/api/globals.md | 32 nodejs-18.19.0+dfsg/doc/api/http.html | 622 nodejs-18.19.0+dfsg/doc/api/http.json | 247 nodejs-18.19.0+dfsg/doc/api/http.md | 528 nodejs-18.19.0+dfsg/doc/api/http2.html | 164 nodejs-18.19.0+dfsg/doc/api/http2.json | 10 nodejs-18.19.0+dfsg/doc/api/http2.md | 8 nodejs-18.19.0+dfsg/doc/api/https.html | 58 nodejs-18.19.0+dfsg/doc/api/https.json | 22 nodejs-18.19.0+dfsg/doc/api/https.md | 9 nodejs-18.19.0+dfsg/doc/api/index.html | 18 nodejs-18.19.0+dfsg/doc/api/index.md | 1 nodejs-18.19.0+dfsg/doc/api/inspector.html | 59 nodejs-18.19.0+dfsg/doc/api/inspector.json | 8 nodejs-18.19.0+dfsg/doc/api/inspector.md | 14 nodejs-18.19.0+dfsg/doc/api/intl.html | 30 nodejs-18.19.0+dfsg/doc/api/module.html | 848 nodejs-18.19.0+dfsg/doc/api/module.json | 466 nodejs-18.19.0+dfsg/doc/api/module.md | 891 nodejs-18.19.0+dfsg/doc/api/modules.html | 72 nodejs-18.19.0+dfsg/doc/api/modules.json | 2 nodejs-18.19.0+dfsg/doc/api/modules.md | 2 nodejs-18.19.0+dfsg/doc/api/n-api.html | 985 nodejs-18.19.0+dfsg/doc/api/n-api.json | 140 nodejs-18.19.0+dfsg/doc/api/n-api.md | 523 nodejs-18.19.0+dfsg/doc/api/net.html | 153 nodejs-18.19.0+dfsg/doc/api/net.json | 143 nodejs-18.19.0+dfsg/doc/api/net.md | 108 nodejs-18.19.0+dfsg/doc/api/os.html | 45 nodejs-18.19.0+dfsg/doc/api/os.json | 26 nodejs-18.19.0+dfsg/doc/api/os.md | 20 nodejs-18.19.0+dfsg/doc/api/packages.html | 189 nodejs-18.19.0+dfsg/doc/api/packages.json | 12 nodejs-18.19.0+dfsg/doc/api/packages.md | 60 nodejs-18.19.0+dfsg/doc/api/path.html | 76 nodejs-18.19.0+dfsg/doc/api/path.json | 2 nodejs-18.19.0+dfsg/doc/api/perf_hooks.html | 61 nodejs-18.19.0+dfsg/doc/api/perf_hooks.json | 22 nodejs-18.19.0+dfsg/doc/api/perf_hooks.md | 14 nodejs-18.19.0+dfsg/doc/api/permissions.html | 52 nodejs-18.19.0+dfsg/doc/api/permissions.json | 2 nodejs-18.19.0+dfsg/doc/api/permissions.md | 4 nodejs-18.19.0+dfsg/doc/api/policy.html | 20 nodejs-18.19.0+dfsg/doc/api/policy.json | 2 nodejs-18.19.0+dfsg/doc/api/policy.md | 2 nodejs-18.19.0+dfsg/doc/api/process.html | 243 nodejs-18.19.0+dfsg/doc/api/process.json | 46 nodejs-18.19.0+dfsg/doc/api/process.md | 39 nodejs-18.19.0+dfsg/doc/api/punycode.html | 34 nodejs-18.19.0+dfsg/doc/api/punycode.json | 2 nodejs-18.19.0+dfsg/doc/api/querystring.html | 30 nodejs-18.19.0+dfsg/doc/api/querystring.json | 2 nodejs-18.19.0+dfsg/doc/api/readline.html | 94 nodejs-18.19.0+dfsg/doc/api/readline.json | 6 nodejs-18.19.0+dfsg/doc/api/readline.md | 6 nodejs-18.19.0+dfsg/doc/api/repl.html | 78 nodejs-18.19.0+dfsg/doc/api/repl.json | 6 nodejs-18.19.0+dfsg/doc/api/repl.md | 6 nodejs-18.19.0+dfsg/doc/api/report.html | 46 nodejs-18.19.0+dfsg/doc/api/report.json | 2 nodejs-18.19.0+dfsg/doc/api/report.md | 6 nodejs-18.19.0+dfsg/doc/api/single-executable-applications.html | 415 nodejs-18.19.0+dfsg/doc/api/single-executable-applications.json | 68 nodejs-18.19.0+dfsg/doc/api/single-executable-applications.md | 184 nodejs-18.19.0+dfsg/doc/api/stream.html | 726 nodejs-18.19.0+dfsg/doc/api/stream.json | 777 nodejs-18.19.0+dfsg/doc/api/stream.md | 545 nodejs-18.19.0+dfsg/doc/api/string_decoder.html | 34 nodejs-18.19.0+dfsg/doc/api/string_decoder.json | 14 nodejs-18.19.0+dfsg/doc/api/string_decoder.md | 12 nodejs-18.19.0+dfsg/doc/api/synopsis.html | 30 nodejs-18.19.0+dfsg/doc/api/test.html | 1313 nodejs-18.19.0+dfsg/doc/api/test.json | 1071 nodejs-18.19.0+dfsg/doc/api/test.md | 1257 nodejs-18.19.0+dfsg/doc/api/timers.html | 54 nodejs-18.19.0+dfsg/doc/api/timers.json | 42 nodejs-18.19.0+dfsg/doc/api/timers.md | 24 nodejs-18.19.0+dfsg/doc/api/tls.html | 170 nodejs-18.19.0+dfsg/doc/api/tls.json | 52 nodejs-18.19.0+dfsg/doc/api/tls.md | 117 nodejs-18.19.0+dfsg/doc/api/tracing.html | 38 nodejs-18.19.0+dfsg/doc/api/tracing.json | 2 nodejs-18.19.0+dfsg/doc/api/tty.html | 33 nodejs-18.19.0+dfsg/doc/api/tty.json | 4 nodejs-18.19.0+dfsg/doc/api/tty.md | 6 nodejs-18.19.0+dfsg/doc/api/url.html | 255 nodejs-18.19.0+dfsg/doc/api/url.json | 143 nodejs-18.19.0+dfsg/doc/api/url.md | 124 nodejs-18.19.0+dfsg/doc/api/util.html | 363 nodejs-18.19.0+dfsg/doc/api/util.json | 400 nodejs-18.19.0+dfsg/doc/api/util.md | 122 nodejs-18.19.0+dfsg/doc/api/v8.html | 246 nodejs-18.19.0+dfsg/doc/api/v8.json | 60 nodejs-18.19.0+dfsg/doc/api/v8.md | 201 nodejs-18.19.0+dfsg/doc/api/vm.html | 132 nodejs-18.19.0+dfsg/doc/api/vm.json | 70 nodejs-18.19.0+dfsg/doc/api/vm.md | 62 nodejs-18.19.0+dfsg/doc/api/wasi.html | 28 nodejs-18.19.0+dfsg/doc/api/wasi.json | 2 nodejs-18.19.0+dfsg/doc/api/wasi.md | 3 nodejs-18.19.0+dfsg/doc/api/webcrypto.html | 58 nodejs-18.19.0+dfsg/doc/api/webcrypto.json | 13 nodejs-18.19.0+dfsg/doc/api/webcrypto.md | 12 nodejs-18.19.0+dfsg/doc/api/webstreams.html | 115 nodejs-18.19.0+dfsg/doc/api/webstreams.json | 33 nodejs-18.19.0+dfsg/doc/api/webstreams.md | 35 nodejs-18.19.0+dfsg/doc/api/worker_threads.html | 68 nodejs-18.19.0+dfsg/doc/api/worker_threads.json | 11 nodejs-18.19.0+dfsg/doc/api/worker_threads.md | 10 nodejs-18.19.0+dfsg/doc/api/zlib.html | 42 nodejs-18.19.0+dfsg/doc/api/zlib.json | 2 nodejs-18.19.0+dfsg/doc/api_assets/api.js | 32 nodejs-18.19.0+dfsg/doc/api_assets/style.css | 29 nodejs-18.19.0+dfsg/doc/changelogs/CHANGELOG_V18.md | 2104 nodejs-18.19.0+dfsg/doc/contributing/adding-v8-fast-api.md | 150 nodejs-18.19.0+dfsg/doc/contributing/api-documentation.md | 4 nodejs-18.19.0+dfsg/doc/contributing/collaborator-guide.md | 34 nodejs-18.19.0+dfsg/doc/contributing/diagnostic-tooling-support-tiers.md | 6 nodejs-18.19.0+dfsg/doc/contributing/investigating-native-memory-leaks.md | 107 nodejs-18.19.0+dfsg/doc/contributing/maintaining-V8.md | 493 nodejs-18.19.0+dfsg/doc/contributing/maintaining-c-ares.md | 66 nodejs-18.19.0+dfsg/doc/contributing/maintaining-cjs-module-lexer.md | 59 nodejs-18.19.0+dfsg/doc/contributing/maintaining-dependencies.md | 106 nodejs-18.19.0+dfsg/doc/contributing/maintaining-http.md | 123 nodejs-18.19.0+dfsg/doc/contributing/maintaining-icu.md | 267 nodejs-18.19.0+dfsg/doc/contributing/maintaining-npm.md | 51 nodejs-18.19.0+dfsg/doc/contributing/maintaining-openssl.md | 158 nodejs-18.19.0+dfsg/doc/contributing/maintaining-root-certs.md | 125 nodejs-18.19.0+dfsg/doc/contributing/maintaining-shared-library-support.md | 117 nodejs-18.19.0+dfsg/doc/contributing/maintaining-the-build-files.md | 62 nodejs-18.19.0+dfsg/doc/contributing/maintaining-types-for-nodejs.md | 128 nodejs-18.19.0+dfsg/doc/contributing/maintaining-web-assembly.md | 97 nodejs-18.19.0+dfsg/doc/contributing/maintaining-zlib.md | 36 nodejs-18.19.0+dfsg/doc/contributing/maintaining/maintaining-V8.md | 391 nodejs-18.19.0+dfsg/doc/contributing/maintaining/maintaining-cjs-module-lexer.md | 59 nodejs-18.19.0+dfsg/doc/contributing/maintaining/maintaining-dependencies.md | 344 nodejs-18.19.0+dfsg/doc/contributing/maintaining/maintaining-http.md | 90 nodejs-18.19.0+dfsg/doc/contributing/maintaining/maintaining-icu.md | 270 nodejs-18.19.0+dfsg/doc/contributing/maintaining/maintaining-openssl.md | 158 nodejs-18.19.0+dfsg/doc/contributing/maintaining/maintaining-root-certs.md | 140 nodejs-18.19.0+dfsg/doc/contributing/maintaining/maintaining-shared-library-support.md | 117 nodejs-18.19.0+dfsg/doc/contributing/maintaining/maintaining-single-executable-application-support.md | 83 nodejs-18.19.0+dfsg/doc/contributing/maintaining/maintaining-the-build-files.md | 62 nodejs-18.19.0+dfsg/doc/contributing/maintaining/maintaining-types-for-nodejs.md | 128 nodejs-18.19.0+dfsg/doc/contributing/maintaining/maintaining-web-assembly.md | 90 nodejs-18.19.0+dfsg/doc/contributing/releases-node-api.md | 224 nodejs-18.19.0+dfsg/doc/contributing/releases.md | 128 nodejs-18.19.0+dfsg/doc/contributing/security-release-process.md | 44 nodejs-18.19.0+dfsg/doc/contributing/sharing-project-news.md | 34 nodejs-18.19.0+dfsg/doc/contributing/strategic-initiatives.md | 23 nodejs-18.19.0+dfsg/doc/contributing/using-internal-errors.md | 3 nodejs-18.19.0+dfsg/doc/contributing/using-symbols.md | 2 nodejs-18.19.0+dfsg/doc/contributing/writing-and-running-benchmarks.md | 15 nodejs-18.19.0+dfsg/doc/node.1 | 27 nodejs-18.19.0+dfsg/lib/_http_agent.js | 17 nodejs-18.19.0+dfsg/lib/_http_client.js | 35 nodejs-18.19.0+dfsg/lib/_http_common.js | 5 nodejs-18.19.0+dfsg/lib/_http_incoming.js | 28 nodejs-18.19.0+dfsg/lib/_http_outgoing.js | 185 nodejs-18.19.0+dfsg/lib/_http_server.js | 126 nodejs-18.19.0+dfsg/lib/_tls_wrap.js | 262 nodejs-18.19.0+dfsg/lib/assert.js | 104 nodejs-18.19.0+dfsg/lib/async_hooks.js | 35 nodejs-18.19.0+dfsg/lib/buffer.js | 163 nodejs-18.19.0+dfsg/lib/child_process.js | 55 nodejs-18.19.0+dfsg/lib/cluster.js | 6 nodejs-18.19.0+dfsg/lib/crypto.js | 40 nodejs-18.19.0+dfsg/lib/dgram.js | 54 nodejs-18.19.0+dfsg/lib/diagnostics_channel.js | 333 nodejs-18.19.0+dfsg/lib/dns.js | 13 nodejs-18.19.0+dfsg/lib/domain.js | 20 nodejs-18.19.0+dfsg/lib/events.js | 97 nodejs-18.19.0+dfsg/lib/fs.js | 191 nodejs-18.19.0+dfsg/lib/http.js | 13 nodejs-18.19.0+dfsg/lib/http2.js | 4 nodejs-18.19.0+dfsg/lib/https.js | 22 nodejs-18.19.0+dfsg/lib/inspector.js | 2 nodejs-18.19.0+dfsg/lib/internal/abort_controller.js | 140 nodejs-18.19.0+dfsg/lib/internal/assert/assertion_error.js | 12 nodejs-18.19.0+dfsg/lib/internal/assert/calltracker.js | 4 nodejs-18.19.0+dfsg/lib/internal/assert/snapshot.js | 129 nodejs-18.19.0+dfsg/lib/internal/async_hooks.js | 22 nodejs-18.19.0+dfsg/lib/internal/blob.js | 8 nodejs-18.19.0+dfsg/lib/internal/blocklist.js | 6 nodejs-18.19.0+dfsg/lib/internal/bootstrap/browser.js | 180 nodejs-18.19.0+dfsg/lib/internal/bootstrap/loaders.js | 378 nodejs-18.19.0+dfsg/lib/internal/bootstrap/node.js | 105 nodejs-18.19.0+dfsg/lib/internal/bootstrap/realm.js | 458 nodejs-18.19.0+dfsg/lib/internal/bootstrap/switches/does_not_own_process_state.js | 2 nodejs-18.19.0+dfsg/lib/internal/bootstrap/switches/does_own_process_state.js | 12 nodejs-18.19.0+dfsg/lib/internal/bootstrap/switches/is_main_thread.js | 49 nodejs-18.19.0+dfsg/lib/internal/bootstrap/switches/is_not_main_thread.js | 6 nodejs-18.19.0+dfsg/lib/internal/buffer.js | 6 nodejs-18.19.0+dfsg/lib/internal/child_process.js | 51 nodejs-18.19.0+dfsg/lib/internal/child_process/serialization.js | 4 nodejs-18.19.0+dfsg/lib/internal/cluster/child.js | 38 nodejs-18.19.0+dfsg/lib/internal/cluster/primary.js | 12 nodejs-18.19.0+dfsg/lib/internal/cluster/utils.js | 2 nodejs-18.19.0+dfsg/lib/internal/cluster/worker.js | 4 nodejs-18.19.0+dfsg/lib/internal/console/constructor.js | 73 nodejs-18.19.0+dfsg/lib/internal/console/global.js | 2 nodejs-18.19.0+dfsg/lib/internal/constants.js | 2 nodejs-18.19.0+dfsg/lib/internal/crypto/aes.js | 28 nodejs-18.19.0+dfsg/lib/internal/crypto/cfrg.js | 41 nodejs-18.19.0+dfsg/lib/internal/crypto/cipher.js | 14 nodejs-18.19.0+dfsg/lib/internal/crypto/diffiehellman.js | 21 nodejs-18.19.0+dfsg/lib/internal/crypto/ec.js | 49 nodejs-18.19.0+dfsg/lib/internal/crypto/hash.js | 18 nodejs-18.19.0+dfsg/lib/internal/crypto/hashnames.js | 2 nodejs-18.19.0+dfsg/lib/internal/crypto/hkdf.js | 8 nodejs-18.19.0+dfsg/lib/internal/crypto/keygen.js | 12 nodejs-18.19.0+dfsg/lib/internal/crypto/keys.js | 113 nodejs-18.19.0+dfsg/lib/internal/crypto/mac.js | 62 nodejs-18.19.0+dfsg/lib/internal/crypto/pbkdf2.js | 16 nodejs-18.19.0+dfsg/lib/internal/crypto/random.js | 18 nodejs-18.19.0+dfsg/lib/internal/crypto/rsa.js | 62 nodejs-18.19.0+dfsg/lib/internal/crypto/scrypt.js | 2 nodejs-18.19.0+dfsg/lib/internal/crypto/sig.js | 12 nodejs-18.19.0+dfsg/lib/internal/crypto/util.js | 295 nodejs-18.19.0+dfsg/lib/internal/crypto/webcrypto.js | 386 nodejs-18.19.0+dfsg/lib/internal/crypto/webidl.js | 707 nodejs-18.19.0+dfsg/lib/internal/crypto/x509.js | 6 nodejs-18.19.0+dfsg/lib/internal/debugger/inspect.js | 32 nodejs-18.19.0+dfsg/lib/internal/debugger/inspect_client.js | 4 nodejs-18.19.0+dfsg/lib/internal/debugger/inspect_repl.js | 70 nodejs-18.19.0+dfsg/lib/internal/dgram.js | 2 nodejs-18.19.0+dfsg/lib/internal/dns/callback_resolver.js | 10 nodejs-18.19.0+dfsg/lib/internal/dns/promises.js | 43 nodejs-18.19.0+dfsg/lib/internal/dns/utils.js | 21 nodejs-18.19.0+dfsg/lib/internal/dtrace.js | 4 nodejs-18.19.0+dfsg/lib/internal/encoding.js | 26 nodejs-18.19.0+dfsg/lib/internal/error_serdes.js | 69 nodejs-18.19.0+dfsg/lib/internal/errors.js | 165 nodejs-18.19.0+dfsg/lib/internal/event_target.js | 119 nodejs-18.19.0+dfsg/lib/internal/file.js | 11 nodejs-18.19.0+dfsg/lib/internal/freeze_intrinsics.js | 19 nodejs-18.19.0+dfsg/lib/internal/fs/cp/cp-sync.js | 6 nodejs-18.19.0+dfsg/lib/internal/fs/cp/cp.js | 6 nodejs-18.19.0+dfsg/lib/internal/fs/dir.js | 117 nodejs-18.19.0+dfsg/lib/internal/fs/promises.js | 189 nodejs-18.19.0+dfsg/lib/internal/fs/read_file_context.js | 2 nodejs-18.19.0+dfsg/lib/internal/fs/recursive_watch.js | 4 nodejs-18.19.0+dfsg/lib/internal/fs/rimraf.js | 2 nodejs-18.19.0+dfsg/lib/internal/fs/streams.js | 94 nodejs-18.19.0+dfsg/lib/internal/fs/sync_write_stream.js | 8 nodejs-18.19.0+dfsg/lib/internal/fs/utils.js | 99 nodejs-18.19.0+dfsg/lib/internal/fs/watchers.js | 32 nodejs-18.19.0+dfsg/lib/internal/heap_utils.js | 4 nodejs-18.19.0+dfsg/lib/internal/histogram.js | 13 nodejs-18.19.0+dfsg/lib/internal/http2/compat.js | 20 nodejs-18.19.0+dfsg/lib/internal/http2/core.js | 92 nodejs-18.19.0+dfsg/lib/internal/http2/util.js | 16 nodejs-18.19.0+dfsg/lib/internal/idna.js | 9 nodejs-18.19.0+dfsg/lib/internal/inspector_async_hook.js | 2 nodejs-18.19.0+dfsg/lib/internal/js_stream_socket.js | 25 nodejs-18.19.0+dfsg/lib/internal/legacy/processbinding.js | 2 nodejs-18.19.0+dfsg/lib/internal/linkedlist.js | 2 nodejs-18.19.0+dfsg/lib/internal/main/check_syntax.js | 37 nodejs-18.19.0+dfsg/lib/internal/main/environment.js | 2 nodejs-18.19.0+dfsg/lib/internal/main/eval_stdin.js | 14 nodejs-18.19.0+dfsg/lib/internal/main/eval_string.js | 14 nodejs-18.19.0+dfsg/lib/internal/main/inspect.js | 2 nodejs-18.19.0+dfsg/lib/internal/main/mksnapshot.js | 21 nodejs-18.19.0+dfsg/lib/internal/main/print_help.js | 15 nodejs-18.19.0+dfsg/lib/internal/main/prof_process.js | 2 nodejs-18.19.0+dfsg/lib/internal/main/repl.js | 4 nodejs-18.19.0+dfsg/lib/internal/main/run_main_module.js | 24 nodejs-18.19.0+dfsg/lib/internal/main/single_executable_application.js | 57 nodejs-18.19.0+dfsg/lib/internal/main/test_runner.js | 59 nodejs-18.19.0+dfsg/lib/internal/main/watch_mode.js | 11 nodejs-18.19.0+dfsg/lib/internal/main/worker_thread.js | 145 nodejs-18.19.0+dfsg/lib/internal/mime.js | 10 nodejs-18.19.0+dfsg/lib/internal/modules/cjs/helpers.js | 240 nodejs-18.19.0+dfsg/lib/internal/modules/cjs/loader.js | 747 nodejs-18.19.0+dfsg/lib/internal/modules/esm/assert.js | 43 nodejs-18.19.0+dfsg/lib/internal/modules/esm/create_dynamic_module.js | 50 nodejs-18.19.0+dfsg/lib/internal/modules/esm/fetch_module.js | 48 nodejs-18.19.0+dfsg/lib/internal/modules/esm/formats.js | 38 nodejs-18.19.0+dfsg/lib/internal/modules/esm/get_format.js | 125 nodejs-18.19.0+dfsg/lib/internal/modules/esm/handle_process_exit.js | 8 nodejs-18.19.0+dfsg/lib/internal/modules/esm/hooks.js | 878 nodejs-18.19.0+dfsg/lib/internal/modules/esm/initialize_import_meta.js | 66 nodejs-18.19.0+dfsg/lib/internal/modules/esm/load.js | 112 nodejs-18.19.0+dfsg/lib/internal/modules/esm/loader.js | 1078 nodejs-18.19.0+dfsg/lib/internal/modules/esm/module_job.js | 27 nodejs-18.19.0+dfsg/lib/internal/modules/esm/module_map.js | 92 nodejs-18.19.0+dfsg/lib/internal/modules/esm/package_config.js | 113 nodejs-18.19.0+dfsg/lib/internal/modules/esm/resolve.js | 639 nodejs-18.19.0+dfsg/lib/internal/modules/esm/shared_constants.js | 25 nodejs-18.19.0+dfsg/lib/internal/modules/esm/translators.js | 100 nodejs-18.19.0+dfsg/lib/internal/modules/esm/utils.js | 186 nodejs-18.19.0+dfsg/lib/internal/modules/esm/worker.js | 261 nodejs-18.19.0+dfsg/lib/internal/modules/helpers.js | 333 nodejs-18.19.0+dfsg/lib/internal/modules/package_json_reader.js | 153 nodejs-18.19.0+dfsg/lib/internal/modules/run_main.js | 103 nodejs-18.19.0+dfsg/lib/internal/net.js | 4 nodejs-18.19.0+dfsg/lib/internal/options.js | 2 nodejs-18.19.0+dfsg/lib/internal/per_context/domexception.js | 6 nodejs-18.19.0+dfsg/lib/internal/per_context/primordials.js | 80 nodejs-18.19.0+dfsg/lib/internal/perf/event_loop_delay.js | 2 nodejs-18.19.0+dfsg/lib/internal/perf/nodetiming.js | 26 nodejs-18.19.0+dfsg/lib/internal/perf/observe.js | 15 nodejs-18.19.0+dfsg/lib/internal/perf/performance.js | 45 nodejs-18.19.0+dfsg/lib/internal/perf/performance_entry.js | 4 nodejs-18.19.0+dfsg/lib/internal/perf/resource_timing.js | 2 nodejs-18.19.0+dfsg/lib/internal/perf/timerify.js | 8 nodejs-18.19.0+dfsg/lib/internal/perf/utils.js | 2 nodejs-18.19.0+dfsg/lib/internal/policy/manifest.js | 54 nodejs-18.19.0+dfsg/lib/internal/policy/sri.js | 4 nodejs-18.19.0+dfsg/lib/internal/process/esm_loader.js | 124 nodejs-18.19.0+dfsg/lib/internal/process/execution.js | 67 nodejs-18.19.0+dfsg/lib/internal/process/per_thread.js | 45 nodejs-18.19.0+dfsg/lib/internal/process/policy.js | 12 nodejs-18.19.0+dfsg/lib/internal/process/pre_execution.js | 233 nodejs-18.19.0+dfsg/lib/internal/process/promises.js | 20 nodejs-18.19.0+dfsg/lib/internal/process/report.js | 6 nodejs-18.19.0+dfsg/lib/internal/process/signal.js | 2 nodejs-18.19.0+dfsg/lib/internal/process/task_queues.js | 14 nodejs-18.19.0+dfsg/lib/internal/process/warning.js | 4 nodejs-18.19.0+dfsg/lib/internal/process/worker_thread_only.js | 4 nodejs-18.19.0+dfsg/lib/internal/promise_hooks.js | 6 nodejs-18.19.0+dfsg/lib/internal/querystring.js | 2 nodejs-18.19.0+dfsg/lib/internal/readline/interface.js | 50 nodejs-18.19.0+dfsg/lib/internal/readline/utils.js | 28 nodejs-18.19.0+dfsg/lib/internal/repl.js | 4 nodejs-18.19.0+dfsg/lib/internal/repl/await.js | 20 nodejs-18.19.0+dfsg/lib/internal/repl/history.js | 2 nodejs-18.19.0+dfsg/lib/internal/repl/utils.js | 31 nodejs-18.19.0+dfsg/lib/internal/socket_list.js | 8 nodejs-18.19.0+dfsg/lib/internal/socketaddress.js | 5 nodejs-18.19.0+dfsg/lib/internal/source_map/prepare_stack_trace.js | 8 nodejs-18.19.0+dfsg/lib/internal/source_map/source_map.js | 46 nodejs-18.19.0+dfsg/lib/internal/source_map/source_map_cache.js | 50 nodejs-18.19.0+dfsg/lib/internal/stream_base_commons.js | 8 nodejs-18.19.0+dfsg/lib/internal/streams/add-abort-signal.js | 35 nodejs-18.19.0+dfsg/lib/internal/streams/buffer_list.js | 2 nodejs-18.19.0+dfsg/lib/internal/streams/compose.js | 182 nodejs-18.19.0+dfsg/lib/internal/streams/destroy.js | 14 nodejs-18.19.0+dfsg/lib/internal/streams/duplex.js | 4 nodejs-18.19.0+dfsg/lib/internal/streams/duplexify.js | 48 nodejs-18.19.0+dfsg/lib/internal/streams/end-of-stream.js | 63 nodejs-18.19.0+dfsg/lib/internal/streams/from.js | 4 nodejs-18.19.0+dfsg/lib/internal/streams/lazy_transform.js | 10 nodejs-18.19.0+dfsg/lib/internal/streams/operators.js | 85 nodejs-18.19.0+dfsg/lib/internal/streams/pipeline.js | 104 nodejs-18.19.0+dfsg/lib/internal/streams/readable.js | 207 nodejs-18.19.0+dfsg/lib/internal/streams/state.js | 18 nodejs-18.19.0+dfsg/lib/internal/streams/transform.js | 4 nodejs-18.19.0+dfsg/lib/internal/streams/utils.js | 64 nodejs-18.19.0+dfsg/lib/internal/streams/writable.js | 32 nodejs-18.19.0+dfsg/lib/internal/test/transfer.js | 2 nodejs-18.19.0+dfsg/lib/internal/test_runner/coverage.js | 511 nodejs-18.19.0+dfsg/lib/internal/test_runner/harness.js | 180 nodejs-18.19.0+dfsg/lib/internal/test_runner/mock.js | 353 nodejs-18.19.0+dfsg/lib/internal/test_runner/mock/mock.js | 469 nodejs-18.19.0+dfsg/lib/internal/test_runner/mock/mock_timers.js | 568 nodejs-18.19.0+dfsg/lib/internal/test_runner/reporter/dot.js | 27 nodejs-18.19.0+dfsg/lib/internal/test_runner/reporter/junit.js | 158 nodejs-18.19.0+dfsg/lib/internal/test_runner/reporter/spec.js | 158 nodejs-18.19.0+dfsg/lib/internal/test_runner/reporter/tap.js | 268 nodejs-18.19.0+dfsg/lib/internal/test_runner/reporter/v8-serializer.js | 45 nodejs-18.19.0+dfsg/lib/internal/test_runner/runner.js | 498 nodejs-18.19.0+dfsg/lib/internal/test_runner/tap_checker.js | 155 nodejs-18.19.0+dfsg/lib/internal/test_runner/tap_lexer.js | 528 nodejs-18.19.0+dfsg/lib/internal/test_runner/tap_parser.js | 986 nodejs-18.19.0+dfsg/lib/internal/test_runner/tap_stream.js | 270 nodejs-18.19.0+dfsg/lib/internal/test_runner/test.js | 465 nodejs-18.19.0+dfsg/lib/internal/test_runner/tests_stream.js | 148 nodejs-18.19.0+dfsg/lib/internal/test_runner/utils.js | 354 nodejs-18.19.0+dfsg/lib/internal/timers.js | 37 nodejs-18.19.0+dfsg/lib/internal/tls/secure-context.js | 12 nodejs-18.19.0+dfsg/lib/internal/tls/secure-pair.js | 2 nodejs-18.19.0+dfsg/lib/internal/trace_events_async_hooks.js | 6 nodejs-18.19.0+dfsg/lib/internal/tty.js | 6 nodejs-18.19.0+dfsg/lib/internal/url.js | 1104 nodejs-18.19.0+dfsg/lib/internal/util.js | 274 nodejs-18.19.0+dfsg/lib/internal/util/colors.js | 21 nodejs-18.19.0+dfsg/lib/internal/util/comparisons.js | 6 nodejs-18.19.0+dfsg/lib/internal/util/debuglog.js | 12 nodejs-18.19.0+dfsg/lib/internal/util/inspect.js | 86 nodejs-18.19.0+dfsg/lib/internal/util/inspector.js | 15 nodejs-18.19.0+dfsg/lib/internal/util/iterable_weak_map.js | 2 nodejs-18.19.0+dfsg/lib/internal/util/parse_args/parse_args.js | 11 nodejs-18.19.0+dfsg/lib/internal/util/parse_args/utils.js | 3 nodejs-18.19.0+dfsg/lib/internal/util/types.js | 6 nodejs-18.19.0+dfsg/lib/internal/v8/startup_snapshot.js | 15 nodejs-18.19.0+dfsg/lib/internal/v8_prof_polyfill.js | 6 nodejs-18.19.0+dfsg/lib/internal/validators.js | 48 nodejs-18.19.0+dfsg/lib/internal/vm.js | 20 nodejs-18.19.0+dfsg/lib/internal/vm/module.js | 43 nodejs-18.19.0+dfsg/lib/internal/wasm_web_api.js | 2 nodejs-18.19.0+dfsg/lib/internal/watch_mode/files_watcher.js | 29 nodejs-18.19.0+dfsg/lib/internal/watchdog.js | 4 nodejs-18.19.0+dfsg/lib/internal/webidl.js | 180 nodejs-18.19.0+dfsg/lib/internal/webstreams/adapters.js | 6 nodejs-18.19.0+dfsg/lib/internal/webstreams/queuingstrategies.js | 6 nodejs-18.19.0+dfsg/lib/internal/webstreams/readablestream.js | 266 nodejs-18.19.0+dfsg/lib/internal/webstreams/transfer.js | 4 nodejs-18.19.0+dfsg/lib/internal/webstreams/transformstream.js | 35 nodejs-18.19.0+dfsg/lib/internal/webstreams/util.js | 14 nodejs-18.19.0+dfsg/lib/internal/webstreams/writablestream.js | 79 nodejs-18.19.0+dfsg/lib/internal/worker.js | 70 nodejs-18.19.0+dfsg/lib/internal/worker/io.js | 33 nodejs-18.19.0+dfsg/lib/internal/worker/js_transferable.js | 4 nodejs-18.19.0+dfsg/lib/module.js | 2 nodejs-18.19.0+dfsg/lib/net.js | 253 nodejs-18.19.0+dfsg/lib/os.js | 57 nodejs-18.19.0+dfsg/lib/path.js | 9 nodejs-18.19.0+dfsg/lib/perf_hooks.js | 4 nodejs-18.19.0+dfsg/lib/punycode.js | 41 nodejs-18.19.0+dfsg/lib/querystring.js | 4 nodejs-18.19.0+dfsg/lib/readline.js | 61 nodejs-18.19.0+dfsg/lib/readline/promises.js | 8 nodejs-18.19.0+dfsg/lib/repl.js | 163 nodejs-18.19.0+dfsg/lib/stream.js | 13 nodejs-18.19.0+dfsg/lib/stream/promises.js | 5 nodejs-18.19.0+dfsg/lib/string_decoder.js | 16 nodejs-18.19.0+dfsg/lib/test.js | 2 nodejs-18.19.0+dfsg/lib/test/reporters.js | 48 nodejs-18.19.0+dfsg/lib/timers.js | 27 nodejs-18.19.0+dfsg/lib/timers/promises.js | 26 nodejs-18.19.0+dfsg/lib/tls.js | 8 nodejs-18.19.0+dfsg/lib/trace_events.js | 15 nodejs-18.19.0+dfsg/lib/tty.js | 6 nodejs-18.19.0+dfsg/lib/url.js | 108 nodejs-18.19.0+dfsg/lib/util.js | 39 nodejs-18.19.0+dfsg/lib/v8.js | 32 nodejs-18.19.0+dfsg/lib/vm.js | 37 nodejs-18.19.0+dfsg/lib/wasi.js | 4 nodejs-18.19.0+dfsg/lib/worker_threads.js | 2 nodejs-18.19.0+dfsg/lib/zlib.js | 34 nodejs-18.19.0+dfsg/node.gyp | 60 nodejs-18.19.0+dfsg/node.gypi | 11 nodejs-18.19.0+dfsg/onboarding.md | 2 nodejs-18.19.0+dfsg/pyproject.toml | 49 nodejs-18.19.0+dfsg/src/README.md | 145 nodejs-18.19.0+dfsg/src/acorn_version.h | 6 nodejs-18.19.0+dfsg/src/aliased_buffer-inl.h | 232 nodejs-18.19.0+dfsg/src/aliased_buffer.h | 213 nodejs-18.19.0+dfsg/src/api/callback.cc | 10 nodejs-18.19.0+dfsg/src/api/embed_helpers.cc | 12 nodejs-18.19.0+dfsg/src/api/environment.cc | 146 nodejs-18.19.0+dfsg/src/async_wrap.cc | 18 nodejs-18.19.0+dfsg/src/async_wrap.h | 4 nodejs-18.19.0+dfsg/src/base64_version.h | 6 nodejs-18.19.0+dfsg/src/base_object-inl.h | 5 nodejs-18.19.0+dfsg/src/base_object.h | 3 nodejs-18.19.0+dfsg/src/base_object_types.h | 71 nodejs-18.19.0+dfsg/src/blob_serializer_deserializer-inl.h | 359 nodejs-18.19.0+dfsg/src/blob_serializer_deserializer.h | 128 nodejs-18.19.0+dfsg/src/cares_wrap.cc | 98 nodejs-18.19.0+dfsg/src/cjs_module_lexer_version.h | 6 nodejs-18.19.0+dfsg/src/cleanup_queue-inl.h | 8 nodejs-18.19.0+dfsg/src/cleanup_queue.cc | 9 nodejs-18.19.0+dfsg/src/cleanup_queue.h | 2 nodejs-18.19.0+dfsg/src/crypto/crypto_bio.cc | 7 nodejs-18.19.0+dfsg/src/crypto/crypto_cipher.cc | 8 nodejs-18.19.0+dfsg/src/crypto/crypto_clienthello.cc | 2 nodejs-18.19.0+dfsg/src/crypto/crypto_common.cc | 63 nodejs-18.19.0+dfsg/src/crypto/crypto_common.h | 40 nodejs-18.19.0+dfsg/src/crypto/crypto_context.cc | 218 nodejs-18.19.0+dfsg/src/crypto/crypto_context.h | 17 nodejs-18.19.0+dfsg/src/crypto/crypto_dsa.cc | 10 nodejs-18.19.0+dfsg/src/crypto/crypto_ec.cc | 45 nodejs-18.19.0+dfsg/src/crypto/crypto_hash.cc | 50 nodejs-18.19.0+dfsg/src/crypto/crypto_hash.h | 2 nodejs-18.19.0+dfsg/src/crypto/crypto_hkdf.cc | 4 nodejs-18.19.0+dfsg/src/crypto/crypto_hkdf.h | 2 nodejs-18.19.0+dfsg/src/crypto/crypto_hmac.cc | 8 nodejs-18.19.0+dfsg/src/crypto/crypto_keygen.cc | 13 nodejs-18.19.0+dfsg/src/crypto/crypto_keys.cc | 92 nodejs-18.19.0+dfsg/src/crypto/crypto_keys.h | 4 nodejs-18.19.0+dfsg/src/crypto/crypto_random.cc | 26 nodejs-18.19.0+dfsg/src/crypto/crypto_rsa.cc | 2 nodejs-18.19.0+dfsg/src/crypto/crypto_scrypt.cc | 5 nodejs-18.19.0+dfsg/src/crypto/crypto_sig.cc | 4 nodejs-18.19.0+dfsg/src/crypto/crypto_tls.cc | 161 nodejs-18.19.0+dfsg/src/crypto/crypto_tls.h | 13 nodejs-18.19.0+dfsg/src/crypto/crypto_util.cc | 35 nodejs-18.19.0+dfsg/src/crypto/crypto_util.h | 7 nodejs-18.19.0+dfsg/src/crypto/crypto_x509.cc | 132 nodejs-18.19.0+dfsg/src/crypto/crypto_x509.h | 3 nodejs-18.19.0+dfsg/src/dataqueue/queue.h | 294 nodejs-18.19.0+dfsg/src/debug_utils-inl.h | 3 nodejs-18.19.0+dfsg/src/debug_utils.cc | 2 nodejs-18.19.0+dfsg/src/debug_utils.h | 3 nodejs-18.19.0+dfsg/src/env-inl.h | 60 nodejs-18.19.0+dfsg/src/env.cc | 84 nodejs-18.19.0+dfsg/src/env.h | 55 nodejs-18.19.0+dfsg/src/env_properties.h | 13 nodejs-18.19.0+dfsg/src/fs_event_wrap.cc | 9 nodejs-18.19.0+dfsg/src/handle_wrap.cc | 4 nodejs-18.19.0+dfsg/src/heap_utils.cc | 6 nodejs-18.19.0+dfsg/src/histogram.cc | 8 nodejs-18.19.0+dfsg/src/histogram.h | 4 nodejs-18.19.0+dfsg/src/inspector/main_thread_interface.cc | 17 nodejs-18.19.0+dfsg/src/inspector/main_thread_interface.h | 2 nodejs-18.19.0+dfsg/src/inspector/node_string.cc | 110 nodejs-18.19.0+dfsg/src/inspector/node_string.h | 21 nodejs-18.19.0+dfsg/src/inspector/worker_inspector.cc | 23 nodejs-18.19.0+dfsg/src/inspector/worker_inspector.h | 14 nodejs-18.19.0+dfsg/src/inspector_agent.cc | 27 nodejs-18.19.0+dfsg/src/inspector_agent.h | 2 nodejs-18.19.0+dfsg/src/inspector_io.cc | 2 nodejs-18.19.0+dfsg/src/inspector_js_api.cc | 13 nodejs-18.19.0+dfsg/src/inspector_profiler.cc | 9 nodejs-18.19.0+dfsg/src/inspector_socket.cc | 5 nodejs-18.19.0+dfsg/src/inspector_socket_server.cc | 2 nodejs-18.19.0+dfsg/src/js_native_api.h | 44 nodejs-18.19.0+dfsg/src/js_native_api_types.h | 3 nodejs-18.19.0+dfsg/src/js_native_api_v8.cc | 766 nodejs-18.19.0+dfsg/src/js_native_api_v8.h | 231 nodejs-18.19.0+dfsg/src/js_native_api_v8_internals.h | 6 nodejs-18.19.0+dfsg/src/js_stream.cc | 2 nodejs-18.19.0+dfsg/src/js_udp_wrap.cc | 2 nodejs-18.19.0+dfsg/src/json_utils.cc | 7 nodejs-18.19.0+dfsg/src/json_utils.h | 25 nodejs-18.19.0+dfsg/src/memory_tracker-inl.h | 16 nodejs-18.19.0+dfsg/src/memory_tracker.h | 18 nodejs-18.19.0+dfsg/src/module_wrap.cc | 67 nodejs-18.19.0+dfsg/src/module_wrap.h | 4 nodejs-18.19.0+dfsg/src/node.cc | 104 nodejs-18.19.0+dfsg/src/node.h | 53 nodejs-18.19.0+dfsg/src/node_api.cc | 212 nodejs-18.19.0+dfsg/src/node_api.h | 101 nodejs-18.19.0+dfsg/src/node_api_internals.h | 9 nodejs-18.19.0+dfsg/src/node_binding.cc | 176 nodejs-18.19.0+dfsg/src/node_binding.h | 42 nodejs-18.19.0+dfsg/src/node_blob.cc | 27 nodejs-18.19.0+dfsg/src/node_blob.h | 6 nodejs-18.19.0+dfsg/src/node_buffer.cc | 51 nodejs-18.19.0+dfsg/src/node_builtins.cc | 488 nodejs-18.19.0+dfsg/src/node_builtins.h | 104 nodejs-18.19.0+dfsg/src/node_config.cc | 2 nodejs-18.19.0+dfsg/src/node_constants.cc | 2 nodejs-18.19.0+dfsg/src/node_context_data.h | 6 nodejs-18.19.0+dfsg/src/node_contextify.cc | 153 nodejs-18.19.0+dfsg/src/node_contextify.h | 8 nodejs-18.19.0+dfsg/src/node_credentials.cc | 6 nodejs-18.19.0+dfsg/src/node_crypto.cc | 5 nodejs-18.19.0+dfsg/src/node_dir.cc | 5 nodejs-18.19.0+dfsg/src/node_dtrace.cc | 4 nodejs-18.19.0+dfsg/src/node_env_var.cc | 6 nodejs-18.19.0+dfsg/src/node_errors.cc | 110 nodejs-18.19.0+dfsg/src/node_errors.h | 7 nodejs-18.19.0+dfsg/src/node_external_reference.h | 6 nodejs-18.19.0+dfsg/src/node_file-inl.h | 63 nodejs-18.19.0+dfsg/src/node_file.cc | 149 nodejs-18.19.0+dfsg/src/node_file.h | 35 nodejs-18.19.0+dfsg/src/node_http2.cc | 52 nodejs-18.19.0+dfsg/src/node_http2.h | 10 nodejs-18.19.0+dfsg/src/node_http2_state.h | 40 nodejs-18.19.0+dfsg/src/node_http_parser.cc | 80 nodejs-18.19.0+dfsg/src/node_i18n.cc | 8 nodejs-18.19.0+dfsg/src/node_internals.h | 6 nodejs-18.19.0+dfsg/src/node_main.cc | 8 nodejs-18.19.0+dfsg/src/node_main_instance.cc | 36 nodejs-18.19.0+dfsg/src/node_messaging.cc | 13 nodejs-18.19.0+dfsg/src/node_metadata.cc | 15 nodejs-18.19.0+dfsg/src/node_metadata.h | 14 nodejs-18.19.0+dfsg/src/node_options-inl.h | 19 nodejs-18.19.0+dfsg/src/node_options.cc | 348 nodejs-18.19.0+dfsg/src/node_options.h | 43 nodejs-18.19.0+dfsg/src/node_os.cc | 13 nodejs-18.19.0+dfsg/src/node_perf.cc | 20 nodejs-18.19.0+dfsg/src/node_process.h | 6 nodejs-18.19.0+dfsg/src/node_process_methods.cc | 94 nodejs-18.19.0+dfsg/src/node_process_object.cc | 41 nodejs-18.19.0+dfsg/src/node_realm-inl.h | 56 nodejs-18.19.0+dfsg/src/node_realm.cc | 121 nodejs-18.19.0+dfsg/src/node_realm.h | 36 nodejs-18.19.0+dfsg/src/node_report.cc | 54 nodejs-18.19.0+dfsg/src/node_report_module.cc | 5 nodejs-18.19.0+dfsg/src/node_report_utils.cc | 62 nodejs-18.19.0+dfsg/src/node_root_certs.h | 368 nodejs-18.19.0+dfsg/src/node_sea.cc | 124 nodejs-18.19.0+dfsg/src/node_sea.h | 24 nodejs-18.19.0+dfsg/src/node_serdes.cc | 5 nodejs-18.19.0+dfsg/src/node_snapshotable.cc | 228 nodejs-18.19.0+dfsg/src/node_snapshotable.h | 17 nodejs-18.19.0+dfsg/src/node_sockaddr.cc | 5 nodejs-18.19.0+dfsg/src/node_stat_watcher.cc | 3 nodejs-18.19.0+dfsg/src/node_symbols.cc | 2 nodejs-18.19.0+dfsg/src/node_task_queue.cc | 6 nodejs-18.19.0+dfsg/src/node_threadsafe_cow-inl.h | 54 nodejs-18.19.0+dfsg/src/node_threadsafe_cow.h | 105 nodejs-18.19.0+dfsg/src/node_trace_events.cc | 6 nodejs-18.19.0+dfsg/src/node_types.cc | 4 nodejs-18.19.0+dfsg/src/node_union_bytes.h | 64 nodejs-18.19.0+dfsg/src/node_url.cc | 2084 nodejs-18.19.0+dfsg/src/node_url.h | 226 nodejs-18.19.0+dfsg/src/node_url_tables.cc | 448 nodejs-18.19.0+dfsg/src/node_util.cc | 60 nodejs-18.19.0+dfsg/src/node_util.h | 11 nodejs-18.19.0+dfsg/src/node_v8.cc | 233 nodejs-18.19.0+dfsg/src/node_v8.h | 34 nodejs-18.19.0+dfsg/src/node_v8_platform-inl.h | 17 nodejs-18.19.0+dfsg/src/node_version.h | 8 nodejs-18.19.0+dfsg/src/node_wasi.cc | 34 nodejs-18.19.0+dfsg/src/node_wasi.h | 1 nodejs-18.19.0+dfsg/src/node_wasm_web_api.cc | 7 nodejs-18.19.0+dfsg/src/node_watchdog.cc | 5 nodejs-18.19.0+dfsg/src/node_worker.cc | 59 nodejs-18.19.0+dfsg/src/node_worker.h | 3 nodejs-18.19.0+dfsg/src/node_zlib.cc | 12 nodejs-18.19.0+dfsg/src/permission/child_process_permission.cc | 23 nodejs-18.19.0+dfsg/src/permission/child_process_permission.h | 28 nodejs-18.19.0+dfsg/src/permission/fs_permission.cc | 229 nodejs-18.19.0+dfsg/src/permission/fs_permission.h | 147 nodejs-18.19.0+dfsg/src/permission/permission.h | 71 nodejs-18.19.0+dfsg/src/permission/permission_base.h | 49 nodejs-18.19.0+dfsg/src/permission/worker_permission.cc | 22 nodejs-18.19.0+dfsg/src/permission/worker_permission.h | 28 nodejs-18.19.0+dfsg/src/pipe_wrap.cc | 11 nodejs-18.19.0+dfsg/src/process_wrap.cc | 9 nodejs-18.19.0+dfsg/src/quic/bindingdata.cc | 209 nodejs-18.19.0+dfsg/src/quic/bindingdata.h | 210 nodejs-18.19.0+dfsg/src/quic/data.h | 140 nodejs-18.19.0+dfsg/src/quic/defs.h | 102 nodejs-18.19.0+dfsg/src/quic/logstream.cc | 152 nodejs-18.19.0+dfsg/src/quic/logstream.h | 83 nodejs-18.19.0+dfsg/src/quic/packet.cc | 406 nodejs-18.19.0+dfsg/src/quic/packet.h | 168 nodejs-18.19.0+dfsg/src/quic/sessionticket.cc | 177 nodejs-18.19.0+dfsg/src/quic/tlscontext.cc | 589 nodejs-18.19.0+dfsg/src/quic/tlscontext.h | 176 nodejs-18.19.0+dfsg/src/quic/transportparams.cc | 218 nodejs-18.19.0+dfsg/src/quic/transportparams.h | 162 nodejs-18.19.0+dfsg/src/signal_wrap.cc | 7 nodejs-18.19.0+dfsg/src/spawn_sync.cc | 7 nodejs-18.19.0+dfsg/src/stream_base-inl.h | 135 nodejs-18.19.0+dfsg/src/stream_base.cc | 147 nodejs-18.19.0+dfsg/src/stream_base.h | 9 nodejs-18.19.0+dfsg/src/stream_pipe.cc | 3 nodejs-18.19.0+dfsg/src/stream_wrap.cc | 6 nodejs-18.19.0+dfsg/src/string_bytes.cc | 71 nodejs-18.19.0+dfsg/src/string_decoder.cc | 8 nodejs-18.19.0+dfsg/src/tcp_wrap.cc | 6 nodejs-18.19.0+dfsg/src/tcp_wrap.h | 2 nodejs-18.19.0+dfsg/src/timers.cc | 10 nodejs-18.19.0+dfsg/src/tty_wrap.cc | 6 nodejs-18.19.0+dfsg/src/udp_wrap.cc | 60 nodejs-18.19.0+dfsg/src/udp_wrap.h | 7 nodejs-18.19.0+dfsg/src/undici_version.h | 6 nodejs-18.19.0+dfsg/src/util-inl.h | 37 nodejs-18.19.0+dfsg/src/util.cc | 130 nodejs-18.19.0+dfsg/src/util.h | 65 nodejs-18.19.0+dfsg/src/uv.cc | 4 nodejs-18.19.0+dfsg/test/abort/test-abort-fatal-error.js | 1 nodejs-18.19.0+dfsg/test/abort/test-addon-uv-handle-leak.js | 1 nodejs-18.19.0+dfsg/test/abort/test-signal-handler.js | 9 nodejs-18.19.0+dfsg/test/addons/common.gypi | 2 nodejs-18.19.0+dfsg/test/addons/dlopen-ping-pong/binding.gyp | 2 nodejs-18.19.0+dfsg/test/addons/new-isolate-addon/binding.cc | 76 nodejs-18.19.0+dfsg/test/addons/new-isolate-addon/binding.gyp | 9 nodejs-18.19.0+dfsg/test/addons/new-isolate-addon/test-nonodesnapshot.js | 6 nodejs-18.19.0+dfsg/test/addons/new-isolate-addon/test.js | 8 nodejs-18.19.0+dfsg/test/addons/openssl-binding/binding.cc | 26 nodejs-18.19.0+dfsg/test/addons/openssl-binding/binding.gyp | 2 nodejs-18.19.0+dfsg/test/addons/openssl-binding/test.js | 1 nodejs-18.19.0+dfsg/test/addons/openssl-providers/binding.gyp | 2 nodejs-18.19.0+dfsg/test/addons/report-api/test.js | 12 nodejs-18.19.0+dfsg/test/addons/zlib-binding/binding.gyp | 2 nodejs-18.19.0+dfsg/test/async-hooks/async-hooks.status | 2 nodejs-18.19.0+dfsg/test/async-hooks/hook-checks.js | 1 nodejs-18.19.0+dfsg/test/async-hooks/test-async-local-storage-stop-propagation.js | 50 nodejs-18.19.0+dfsg/test/benchmark/test-benchmark-webstreams.js | 7 nodejs-18.19.0+dfsg/test/cctest/node_test_fixture.cc | 3 nodejs-18.19.0+dfsg/test/cctest/node_test_fixture.h | 39 nodejs-18.19.0+dfsg/test/cctest/test_aliased_buffer.cc | 4 nodejs-18.19.0+dfsg/test/cctest/test_environment.cc | 21 nodejs-18.19.0+dfsg/test/cctest/test_inspector_socket.cc | 8 nodejs-18.19.0+dfsg/test/cctest/test_js_native_api_v8.cc | 102 nodejs-18.19.0+dfsg/test/cctest/test_linked_binding.cc | 329 nodejs-18.19.0+dfsg/test/cctest/test_node_api.cc | 5 nodejs-18.19.0+dfsg/test/cctest/test_node_crypto_env.cc | 32 nodejs-18.19.0+dfsg/test/cctest/test_per_process.cc | 3 nodejs-18.19.0+dfsg/test/cctest/test_report.cc | 2 nodejs-18.19.0+dfsg/test/cctest/test_url.cc | 218 nodejs-18.19.0+dfsg/test/cctest/test_util.cc | 3 nodejs-18.19.0+dfsg/test/common/README.md | 71 nodejs-18.19.0+dfsg/test/common/assertSnapshot.js | 97 nodejs-18.19.0+dfsg/test/common/child_process.js | 80 nodejs-18.19.0+dfsg/test/common/crypto.js | 84 nodejs-18.19.0+dfsg/test/common/index.js | 110 nodejs-18.19.0+dfsg/test/common/index.mjs | 134 nodejs-18.19.0+dfsg/test/common/inspector-helper.js | 2 nodejs-18.19.0+dfsg/test/common/package.json | 3 nodejs-18.19.0+dfsg/test/common/report.js | 8 nodejs-18.19.0+dfsg/test/common/sea.js | 88 nodejs-18.19.0+dfsg/test/common/tmpdir.js | 20 nodejs-18.19.0+dfsg/test/common/v8.js | 70 nodejs-18.19.0+dfsg/test/common/wpt.js | 321 nodejs-18.19.0+dfsg/test/common/wpt/worker.js | 9 nodejs-18.19.0+dfsg/test/doctool/test-doctool-html.mjs | 5 nodejs-18.19.0+dfsg/test/doctool/testcfg.py | 2 nodejs-18.19.0+dfsg/test/embedding/embedtest.cc | 2 nodejs-18.19.0+dfsg/test/es-module/es-module.status | 4 nodejs-18.19.0+dfsg/test/es-module/test-cjs-esm-warn.js | 2 nodejs-18.19.0+dfsg/test/es-module/test-esm-dynamic-import-assertion.js | 47 nodejs-18.19.0+dfsg/test/es-module/test-esm-dynamic-import-assertion.mjs | 42 nodejs-18.19.0+dfsg/test/es-module/test-esm-dynamic-import-attribute.js | 47 nodejs-18.19.0+dfsg/test/es-module/test-esm-dynamic-import-attribute.mjs | 42 nodejs-18.19.0+dfsg/test/es-module/test-esm-dynamic-import-mutating-fs.js | 22 nodejs-18.19.0+dfsg/test/es-module/test-esm-dynamic-import-mutating-fs.mjs | 39 nodejs-18.19.0+dfsg/test/es-module/test-esm-dynamic-import.js | 10 nodejs-18.19.0+dfsg/test/es-module/test-esm-experimental-warnings.mjs | 10 nodejs-18.19.0+dfsg/test/es-module/test-esm-extension-lookup-deprecation.mjs | 121 nodejs-18.19.0+dfsg/test/es-module/test-esm-extensionless-esm-and-wasm.mjs | 106 nodejs-18.19.0+dfsg/test/es-module/test-esm-import-assertion-1.mjs | 6 nodejs-18.19.0+dfsg/test/es-module/test-esm-import-assertion-2.mjs | 6 nodejs-18.19.0+dfsg/test/es-module/test-esm-import-assertion-3.mjs | 10 nodejs-18.19.0+dfsg/test/es-module/test-esm-import-assertion-4.mjs | 11 nodejs-18.19.0+dfsg/test/es-module/test-esm-import-assertion-errors.js | 50 nodejs-18.19.0+dfsg/test/es-module/test-esm-import-assertion-errors.mjs | 47 nodejs-18.19.0+dfsg/test/es-module/test-esm-import-assertion-validation.js | 37 nodejs-18.19.0+dfsg/test/es-module/test-esm-import-assertion-warning.mjs | 37 nodejs-18.19.0+dfsg/test/es-module/test-esm-import-attributes-1.mjs | 6 nodejs-18.19.0+dfsg/test/es-module/test-esm-import-attributes-2.mjs | 11 nodejs-18.19.0+dfsg/test/es-module/test-esm-import-attributes-3.mjs | 10 nodejs-18.19.0+dfsg/test/es-module/test-esm-import-attributes-errors.js | 55 nodejs-18.19.0+dfsg/test/es-module/test-esm-import-attributes-errors.mjs | 47 nodejs-18.19.0+dfsg/test/es-module/test-esm-import-attributes-validation.js | 45 nodejs-18.19.0+dfsg/test/es-module/test-esm-import-flag.mjs | 185 nodejs-18.19.0+dfsg/test/es-module/test-esm-import-meta-resolve.mjs | 95 nodejs-18.19.0+dfsg/test/es-module/test-esm-import-meta.mjs | 2 nodejs-18.19.0+dfsg/test/es-module/test-esm-initialization.mjs | 11 nodejs-18.19.0+dfsg/test/es-module/test-esm-invalid-data-urls.js | 3 nodejs-18.19.0+dfsg/test/es-module/test-esm-json.mjs | 66 nodejs-18.19.0+dfsg/test/es-module/test-esm-loader-chaining.mjs | 58 nodejs-18.19.0+dfsg/test/es-module/test-esm-loader-default-resolver.mjs | 66 nodejs-18.19.0+dfsg/test/es-module/test-esm-loader-event-loop.mjs | 12 nodejs-18.19.0+dfsg/test/es-module/test-esm-loader-globalpreload-hook.mjs | 149 nodejs-18.19.0+dfsg/test/es-module/test-esm-loader-hooks.mjs | 728 nodejs-18.19.0+dfsg/test/es-module/test-esm-loader-http-imports.mjs | 38 nodejs-18.19.0+dfsg/test/es-module/test-esm-loader-mock.mjs | 7 nodejs-18.19.0+dfsg/test/es-module/test-esm-loader-modulemap.js | 42 nodejs-18.19.0+dfsg/test/es-module/test-esm-loader-obsolete-hooks.mjs | 28 nodejs-18.19.0+dfsg/test/es-module/test-esm-loader-programmatically.mjs | 251 nodejs-18.19.0+dfsg/test/es-module/test-esm-loader-resolve-type.mjs | 82 nodejs-18.19.0+dfsg/test/es-module/test-esm-loader-search.js | 4 nodejs-18.19.0+dfsg/test/es-module/test-esm-loader-spawn-promisified.mjs | 288 nodejs-18.19.0+dfsg/test/es-module/test-esm-loader-with-syntax-error.mjs | 2 nodejs-18.19.0+dfsg/test/es-module/test-esm-main-lookup.mjs | 38 nodejs-18.19.0+dfsg/test/es-module/test-esm-named-exports.mjs | 2 nodejs-18.19.0+dfsg/test/es-module/test-esm-repl-imports.js | 2 nodejs-18.19.0+dfsg/test/es-module/test-esm-resolve-type.mjs | 20 nodejs-18.19.0+dfsg/test/es-module/test-esm-specifiers.mjs | 31 nodejs-18.19.0+dfsg/test/es-module/test-esm-type-field-errors.js | 53 nodejs-18.19.0+dfsg/test/es-module/test-esm-type-field.mjs | 9 nodejs-18.19.0+dfsg/test/es-module/test-esm-type-flag-cli-entry.mjs | 92 nodejs-18.19.0+dfsg/test/es-module/test-esm-type-flag-errors.js | 53 nodejs-18.19.0+dfsg/test/es-module/test-esm-type-flag-errors.mjs | 31 nodejs-18.19.0+dfsg/test/es-module/test-esm-type-flag-loose-files.mjs | 75 nodejs-18.19.0+dfsg/test/es-module/test-esm-type-flag-package-scopes.mjs | 167 nodejs-18.19.0+dfsg/test/es-module/test-esm-type-flag-string-input.mjs | 44 nodejs-18.19.0+dfsg/test/es-module/test-esm-type-flag.mjs | 9 nodejs-18.19.0+dfsg/test/es-module/test-esm-unknown-extension.js | 29 nodejs-18.19.0+dfsg/test/es-module/test-esm-unknown-or-no-extension.js | 36 nodejs-18.19.0+dfsg/test/es-module/test-esm-url-extname.js | 27 nodejs-18.19.0+dfsg/test/es-module/test-esm-virtual-json.mjs | 30 nodejs-18.19.0+dfsg/test/es-module/test-esm-wasm.mjs | 50 nodejs-18.19.0+dfsg/test/es-module/test-loaders-hidden-from-users.js | 27 nodejs-18.19.0+dfsg/test/es-module/test-loaders-unknown-builtin-module.mjs | 12 nodejs-18.19.0+dfsg/test/es-module/test-loaders-workers-spawned.mjs | 83 nodejs-18.19.0+dfsg/test/es-module/test-wasm-memory-out-of-bound.js | 12 nodejs-18.19.0+dfsg/test/es-module/test-wasm-simple.js | 17 nodejs-18.19.0+dfsg/test/es-module/test-wasm-web-api.js | 247 nodejs-18.19.0+dfsg/test/fixtures/assert-snapshot/basic.mjs | 3 nodejs-18.19.0+dfsg/test/fixtures/assert-snapshot/multiple.mjs | 4 nodejs-18.19.0+dfsg/test/fixtures/assert-snapshot/non-existing-name.mjs | 4 nodejs-18.19.0+dfsg/test/fixtures/assert-snapshot/non-existing-name.snapshot | 5 nodejs-18.19.0+dfsg/test/fixtures/assert-snapshot/random.mjs | 11 nodejs-18.19.0+dfsg/test/fixtures/assert-snapshot/random.snapshot | 5 nodejs-18.19.0+dfsg/test/fixtures/assert-snapshot/serialize.mjs | 11 nodejs-18.19.0+dfsg/test/fixtures/assert-snapshot/serialize.snapshot | 11 nodejs-18.19.0+dfsg/test/fixtures/assert-snapshot/single.mjs | 3 nodejs-18.19.0+dfsg/test/fixtures/assert-snapshot/value-changed.mjs | 3 nodejs-18.19.0+dfsg/test/fixtures/assert-snapshot/value-changed.snapshot | 2 nodejs-18.19.0+dfsg/test/fixtures/console/2100bytes.js | 68 nodejs-18.19.0+dfsg/test/fixtures/console/2100bytes.snapshot | 42 nodejs-18.19.0+dfsg/test/fixtures/console/console.js | 5 nodejs-18.19.0+dfsg/test/fixtures/console/console.snapshot | 8 nodejs-18.19.0+dfsg/test/fixtures/console/console_low_stack_space.js | 34 nodejs-18.19.0+dfsg/test/fixtures/console/console_low_stack_space.snapshot | 1 nodejs-18.19.0+dfsg/test/fixtures/console/force_colors.js | 5 nodejs-18.19.0+dfsg/test/fixtures/console/force_colors.snapshot | 1 nodejs-18.19.0+dfsg/test/fixtures/console/hello_world.js | 25 nodejs-18.19.0+dfsg/test/fixtures/console/hello_world.snapshot | 1 nodejs-18.19.0+dfsg/test/fixtures/console/stack_overflow.js | 37 nodejs-18.19.0+dfsg/test/fixtures/console/stack_overflow.snapshot | 8 nodejs-18.19.0+dfsg/test/fixtures/crypto/aes_gcm.js | 2 nodejs-18.19.0+dfsg/test/fixtures/debugger/twenty-lines.js | 20 nodejs-18.19.0+dfsg/test/fixtures/errors/async_error_eval_cjs.js | 39 nodejs-18.19.0+dfsg/test/fixtures/errors/async_error_eval_cjs.snapshot | 7 nodejs-18.19.0+dfsg/test/fixtures/errors/async_error_eval_esm.js | 41 nodejs-18.19.0+dfsg/test/fixtures/errors/async_error_eval_esm.snapshot | 7 nodejs-18.19.0+dfsg/test/fixtures/errors/async_error_microtask_main.js | 13 nodejs-18.19.0+dfsg/test/fixtures/errors/async_error_microtask_main.snapshot | 6 nodejs-18.19.0+dfsg/test/fixtures/errors/async_error_nexttick_main.js | 13 nodejs-18.19.0+dfsg/test/fixtures/errors/async_error_nexttick_main.snapshot | 7 nodejs-18.19.0+dfsg/test/fixtures/errors/async_error_sync_esm.mjs | 12 nodejs-18.19.0+dfsg/test/fixtures/errors/async_error_sync_esm.snapshot | 6 nodejs-18.19.0+dfsg/test/fixtures/errors/async_error_sync_main.js | 13 nodejs-18.19.0+dfsg/test/fixtures/errors/async_error_sync_main.snapshot | 6 nodejs-18.19.0+dfsg/test/fixtures/errors/error_aggregateTwoErrors.js | 15 nodejs-18.19.0+dfsg/test/fixtures/errors/error_aggregateTwoErrors.snapshot | 19 nodejs-18.19.0+dfsg/test/fixtures/errors/error_exit.js | 32 nodejs-18.19.0+dfsg/test/fixtures/errors/error_exit.snapshot | 18 nodejs-18.19.0+dfsg/test/fixtures/errors/error_with_nul.js | 12 nodejs-18.19.0+dfsg/test/fixtures/errors/events_unhandled_error_common_trace.js | 22 nodejs-18.19.0+dfsg/test/fixtures/errors/events_unhandled_error_common_trace.snapshot | 12 nodejs-18.19.0+dfsg/test/fixtures/errors/events_unhandled_error_nexttick.js | 9 nodejs-18.19.0+dfsg/test/fixtures/errors/events_unhandled_error_nexttick.snapshot | 10 nodejs-18.19.0+dfsg/test/fixtures/errors/events_unhandled_error_sameline.js | 6 nodejs-18.19.0+dfsg/test/fixtures/errors/events_unhandled_error_sameline.snapshot | 10 nodejs-18.19.0+dfsg/test/fixtures/errors/events_unhandled_error_subclass.js | 7 nodejs-18.19.0+dfsg/test/fixtures/errors/events_unhandled_error_subclass.snapshot | 10 nodejs-18.19.0+dfsg/test/fixtures/errors/force_colors.js | 1 nodejs-18.19.0+dfsg/test/fixtures/errors/force_colors.snapshot | 14 nodejs-18.19.0+dfsg/test/fixtures/errors/promise_always_throw_unhandled.js | 16 nodejs-18.19.0+dfsg/test/fixtures/errors/promise_always_throw_unhandled.snapshot | 16 nodejs-18.19.0+dfsg/test/fixtures/errors/throw_custom_error.js | 27 nodejs-18.19.0+dfsg/test/fixtures/errors/throw_custom_error.snapshot | 7 nodejs-18.19.0+dfsg/test/fixtures/errors/throw_in_line_with_tabs.js | 34 nodejs-18.19.0+dfsg/test/fixtures/errors/throw_in_line_with_tabs.snapshot | 8 nodejs-18.19.0+dfsg/test/fixtures/errors/throw_non_error.js | 27 nodejs-18.19.0+dfsg/test/fixtures/errors/throw_non_error.snapshot | 7 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/assertionless-json-import.mjs | 29 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/builtin-named-exports-loader.mjs | 19 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/builtin-named-exports.mjs | 17 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/byop-dummy-loader.mjs | 30 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/hook-resolve-type-loader.mjs | 25 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/hook-resolve-type.mjs | 29 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/hooks-custom.mjs | 134 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/hooks-initialize-port.mjs | 16 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/hooks-initialize.mjs | 7 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/hooks-input.mjs | 90 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/hooks-obsolete.mjs | 22 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/http-loader.mjs | 18 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-edge-cases.mjs | 13 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-invalid-format.mjs | 2 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-invalid-url.mjs | 4 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-load-dynamic-import.mjs | 14 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-load-foo-or-42.mjs | 10 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-load-incomplete.mjs | 10 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-load-passthru.mjs | 12 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-load-receiving-modified-context.mjs | 5 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-log-args.mjs | 15 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-resolve-42.mjs | 15 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-resolve-dynamic-import.mjs | 14 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-resolve-foo.mjs | 13 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-resolve-incomplete.mjs | 10 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-resolve-next-modified.mjs | 8 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-resolve-passthru.mjs | 12 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-resolve-receiving-modified-context.mjs | 5 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-resolve-shortcircuit.mjs | 10 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-resolve-strip-xxx.mjs | 10 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-resolve-strip-yyy.mjs | 7 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-this-value-inside-hook-functions.mjs | 21 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/loader-with-dep.mjs | 4 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/mock-loader.mjs | 188 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/mock.mjs | 70 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/never-settling-resolve-step/import.meta.never-resolve.mjs | 5 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/never-settling-resolve-step/loader.mjs | 10 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/never-settling-resolve-step/never-load.cjs | 7 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/never-settling-resolve-step/never-load.mjs | 5 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/never-settling-resolve-step/never-resolve.cjs | 7 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/never-settling-resolve-step/never-resolve.mjs | 5 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/never-settling-resolve-step/race.cjs | 7 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/never-settling-resolve-step/race.mjs | 7 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/node_modules/load/index.mjs | 1 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/node_modules/load/package.json | 3 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/node_modules/resolve/index.mjs | 1 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/node_modules/resolve/package.json | 3 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/not-found-assert-loader.mjs | 4 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/register-loader.cjs | 4 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/register-loader.mjs | 4 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/register-programmatically-loader-load.mjs | 4 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/register-programmatically-loader-resolve.mjs | 3 nodejs-18.19.0+dfsg/test/fixtures/es-module-loaders/string-sources.mjs | 2 nodejs-18.19.0+dfsg/test/fixtures/es-modules/esm-top-level-await.mjs | 5 nodejs-18.19.0+dfsg/test/fixtures/es-modules/export-name-code-injection.wat | 8 nodejs-18.19.0+dfsg/test/fixtures/es-modules/export-name-syntax-error.wat | 6 nodejs-18.19.0+dfsg/test/fixtures/es-modules/import-name.wat | 10 nodejs-18.19.0+dfsg/test/fixtures/es-modules/import-resolve-exports.mjs | 10 nodejs-18.19.0+dfsg/test/fixtures/es-modules/imports-loose.mjs | 1 nodejs-18.19.0+dfsg/test/fixtures/es-modules/imports-noext.mjs | 1 nodejs-18.19.0+dfsg/test/fixtures/es-modules/invalid-posix-host.mjs | 1 nodejs-18.19.0+dfsg/test/fixtures/es-modules/loose.js | 3 nodejs-18.19.0+dfsg/test/fixtures/es-modules/noext-esm | 2 nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-type-module/index.js | 2 nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-type-module/node_modules/dep-with-package-json-type-module/noext-esm | 2 nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-type-module/node_modules/dep-with-package-json-type-module/package.json | 8 nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-type-module/node_modules/dep-with-package-json-type-module/wasm-dep.mjs | 15 nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-type-module/node_modules/dep-with-package-json-without-type/dep.js | 2 nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-type-module/node_modules/dep-with-package-json-without-type/noext-cjs | 3 nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-type-module/node_modules/dep-with-package-json-without-type/package.json | 7 nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-type-module/node_modules/dep-with-package-json-without-type/run.js | 3 nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-type-module/node_modules/dep-without-package-json/dep.js | 2 nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-type-module/node_modules/dep-without-package-json/noext-cjs | 3 nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-type-module/node_modules/dep-without-package-json/run.js | 3 nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-type-module/node_modules/dep/dep.js | 2 nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-type-module/wasm-dep.mjs | 15 nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-without-type/file#1.js | 1 nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-without-type/module.js | 3 nodejs-18.19.0+dfsg/test/fixtures/es-modules/package-without-type/noext-esm | 3 nodejs-18.19.0+dfsg/test/fixtures/es-modules/print-3.mjs | 1 nodejs-18.19.0+dfsg/test/fixtures/es-modules/runmain.mjs | 4 nodejs-18.19.0+dfsg/test/fixtures/inspector-global-function.js | 17 nodejs-18.19.0+dfsg/test/fixtures/inspector-global-function.mjs | 17 nodejs-18.19.0+dfsg/test/fixtures/inspector-open.js | 14 nodejs-18.19.0+dfsg/test/fixtures/openssl3-conf/base_only.cnf | 12 nodejs-18.19.0+dfsg/test/fixtures/out-of-bound.wat | 16 nodejs-18.19.0+dfsg/test/fixtures/policy-manifest/createRequire-bypass.js | 2 nodejs-18.19.0+dfsg/test/fixtures/policy-manifest/main-constructor-bypass.js | 2 nodejs-18.19.0+dfsg/test/fixtures/policy-manifest/main-constructor-extensions-bypass.js | 2 nodejs-18.19.0+dfsg/test/fixtures/policy-manifest/main-module-bypass.js | 1 nodejs-18.19.0+dfsg/test/fixtures/policy-manifest/main-module-proto-bypass.js | 1 nodejs-18.19.0+dfsg/test/fixtures/policy-manifest/manifest-impersonate.json | 13 nodejs-18.19.0+dfsg/test/fixtures/policy-manifest/module-constructor-bypass.js | 1 nodejs-18.19.0+dfsg/test/fixtures/policy-manifest/object-define-property-bypass.js | 19 nodejs-18.19.0+dfsg/test/fixtures/policy-manifest/onerror-exit.json | 9 nodejs-18.19.0+dfsg/test/fixtures/policy-manifest/onerror-resource-exit.json | 17 nodejs-18.19.0+dfsg/test/fixtures/policy/crypto-hash-tampering/.gitattributes | 1 nodejs-18.19.0+dfsg/test/fixtures/policy/crypto-hash-tampering/main.js | 8 nodejs-18.19.0+dfsg/test/fixtures/policy/crypto-hash-tampering/policy.json | 15 nodejs-18.19.0+dfsg/test/fixtures/policy/crypto-hash-tampering/protected.js | 1 nodejs-18.19.0+dfsg/test/fixtures/policy/process-binding/app.js | 10 nodejs-18.19.0+dfsg/test/fixtures/policy/process-binding/policy.json | 10 nodejs-18.19.0+dfsg/test/fixtures/print-delayed.js | 3 nodejs-18.19.0+dfsg/test/fixtures/repl-load-multiline-no-trailing-newline.js | 7 nodejs-18.19.0+dfsg/test/fixtures/require-resolve.js | 5 nodejs-18.19.0+dfsg/test/fixtures/sea.js | 50 nodejs-18.19.0+dfsg/test/fixtures/snapshot/typescript.js | 2 nodejs-18.19.0+dfsg/test/fixtures/snapshot/v8-startup-snapshot-api.js | 89 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_disabled_by_api.js | 29 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_disabled_by_api.snapshot | 12 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_enabled_by_api.js | 26 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_enabled_by_api.snapshot | 12 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_enclosing_function.js | 7 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_enclosing_function.snapshot | 13 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_eval.js | 10 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_eval.snapshot | 11 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_no_source_file.js | 7 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_no_source_file.snapshot | 9 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_reference_error_tabs.js | 7 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_reference_error_tabs.snapshot | 10 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_sourcemapping_url_string.js | 13 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_sourcemapping_url_string.snapshot | 3 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_throw_catch.js | 13 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_throw_catch.snapshot | 4 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_throw_first_tick.js | 7 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_throw_first_tick.snapshot | 11 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_throw_icu.js | 7 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_throw_icu.snapshot | 10 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_throw_set_immediate.js | 5 nodejs-18.19.0+dfsg/test/fixtures/source-map/output/source_map_throw_set_immediate.snapshot | 11 nodejs-18.19.0+dfsg/test/fixtures/test-runner/aborts/failed-test-still-call-abort.js | 25 nodejs-18.19.0+dfsg/test/fixtures/test-runner/aborts/successful-test-still-call-abort.js | 23 nodejs-18.19.0+dfsg/test/fixtures/test-runner/aborts/wait-for-abort-helper.js | 19 nodejs-18.19.0+dfsg/test/fixtures/test-runner/concurrency/a.mjs | 13 nodejs-18.19.0+dfsg/test/fixtures/test-runner/concurrency/b.mjs | 13 nodejs-18.19.0+dfsg/test/fixtures/test-runner/coverage.js | 89 nodejs-18.19.0+dfsg/test/fixtures/test-runner/custom_reporters/custom.cjs | 17 nodejs-18.19.0+dfsg/test/fixtures/test-runner/custom_reporters/custom.js | 14 nodejs-18.19.0+dfsg/test/fixtures/test-runner/custom_reporters/custom.mjs | 8 nodejs-18.19.0+dfsg/test/fixtures/test-runner/custom_reporters/throwing-async.js | 8 nodejs-18.19.0+dfsg/test/fixtures/test-runner/custom_reporters/throwing.js | 6 nodejs-18.19.0+dfsg/test/fixtures/test-runner/default-behavior/index.test.js | 4 nodejs-18.19.0+dfsg/test/fixtures/test-runner/default-behavior/node_modules/test-nm.js | 2 nodejs-18.19.0+dfsg/test/fixtures/test-runner/default-behavior/random.test.mjs | 5 nodejs-18.19.0+dfsg/test/fixtures/test-runner/default-behavior/test/random.cjs | 4 nodejs-18.19.0+dfsg/test/fixtures/test-runner/default-behavior/test/skip_by_name.cjs | 5 nodejs-18.19.0+dfsg/test/fixtures/test-runner/dependency.js | 1 nodejs-18.19.0+dfsg/test/fixtures/test-runner/dependency.mjs | 1 nodejs-18.19.0+dfsg/test/fixtures/test-runner/dependent.js | 3 nodejs-18.19.0+dfsg/test/fixtures/test-runner/extraneous_set_immediate_async.mjs | 5 nodejs-18.19.0+dfsg/test/fixtures/test-runner/extraneous_set_timeout_async.mjs | 5 nodejs-18.19.0+dfsg/test/fixtures/test-runner/index.test.js | 4 nodejs-18.19.0+dfsg/test/fixtures/test-runner/node_modules/reporter-cjs/index.js | 8 nodejs-18.19.0+dfsg/test/fixtures/test-runner/node_modules/reporter-cjs/package.json | 4 nodejs-18.19.0+dfsg/test/fixtures/test-runner/node_modules/reporter-esm/index.mjs | 8 nodejs-18.19.0+dfsg/test/fixtures/test-runner/node_modules/reporter-esm/package.json | 4 nodejs-18.19.0+dfsg/test/fixtures/test-runner/node_modules/test-nm.js | 2 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/abort.js | 46 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/abort.snapshot | 284 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/abort_hooks.js | 62 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/abort_hooks.snapshot | 198 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/abort_suite.js | 26 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/abort_suite.snapshot | 149 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/arbitrary-output-colored-1.js | 7 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/arbitrary-output-colored.js | 11 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/arbitrary-output-colored.snapshot | 28 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/arbitrary-output.js | 20 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/arbitrary-output.snapshot | 25 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/async-test-scheduling.mjs | 13 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/async-test-scheduling.snapshot | 37 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/before-and-after-each-too-many-listeners.js | 8 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/before-and-after-each-too-many-listeners.snapshot | 65 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/before-and-after-each-with-timeout-too-many-listeners.js | 8 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/before-and-after-each-with-timeout-too-many-listeners.snapshot | 65 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/coverage_failure.js | 13 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/coverage_failure.snapshot | 16 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/default_output.js | 15 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/default_output.snapshot | 60 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/describe_it.js | 386 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/describe_it.snapshot | 709 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/describe_nested.js | 9 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/describe_nested.snapshot | 29 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/dot_output_custom_columns.js | 18 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/dot_output_custom_columns.snapshot | 3 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/dot_reporter.js | 7 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/dot_reporter.snapshot | 4 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/global_after_should_fail_the_test.js | 10 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/global_after_should_fail_the_test.snapshot | 34 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/hooks-with-no-global-test.js | 78 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/hooks-with-no-global-test.snapshot | 44 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/hooks.js | 170 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/hooks.snapshot | 583 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/junit_reporter.js | 7 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/junit_reporter.snapshot | 488 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/name_pattern.js | 67 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/name_pattern.snapshot | 182 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/name_pattern_with_only.js | 13 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/name_pattern_with_only.snapshot | 41 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/no_refs.js | 12 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/no_refs.snapshot | 33 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/no_tests.js | 6 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/no_tests.snapshot | 1 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/only_tests.js | 100 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/only_tests.snapshot | 233 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/output.js | 391 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/output.snapshot | 693 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/output_cli.js | 8 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/output_cli.snapshot | 698 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/single.js | 3 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/spec_reporter.js | 11 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/spec_reporter.snapshot | 550 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/spec_reporter_cli.js | 11 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/spec_reporter_cli.snapshot | 550 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/spec_reporter_successful.js | 6 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/spec_reporter_successful.snapshot | 9 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/tap_escape.js | 19 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/tap_escape.snapshot | 31 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/timeout_in_before_each_should_not_affect_further_tests.js | 46 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/timeout_in_before_each_should_not_affect_further_tests.snapshot | 71 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/unresolved_promise.js | 7 nodejs-18.19.0+dfsg/test/fixtures/test-runner/output/unresolved_promise.snapshot | 37 nodejs-18.19.0+dfsg/test/fixtures/test-runner/random.test.mjs | 5 nodejs-18.19.0+dfsg/test/fixtures/test-runner/reporters.js | 11 nodejs-18.19.0+dfsg/test/fixtures/test-runner/shards/a.cjs | 4 nodejs-18.19.0+dfsg/test/fixtures/test-runner/shards/b.cjs | 4 nodejs-18.19.0+dfsg/test/fixtures/test-runner/shards/c.cjs | 4 nodejs-18.19.0+dfsg/test/fixtures/test-runner/shards/d.cjs | 4 nodejs-18.19.0+dfsg/test/fixtures/test-runner/shards/e.cjs | 4 nodejs-18.19.0+dfsg/test/fixtures/test-runner/shards/f.cjs | 4 nodejs-18.19.0+dfsg/test/fixtures/test-runner/shards/g.cjs | 4 nodejs-18.19.0+dfsg/test/fixtures/test-runner/shards/h.cjs | 4 nodejs-18.19.0+dfsg/test/fixtures/test-runner/shards/i.cjs | 4 nodejs-18.19.0+dfsg/test/fixtures/test-runner/shards/j.cjs | 4 nodejs-18.19.0+dfsg/test/fixtures/test-runner/test/random.cjs | 4 nodejs-18.19.0+dfsg/test/fixtures/test-runner/test_only.js | 5 nodejs-18.19.0+dfsg/test/fixtures/test-runner/todo_exit_code.js | 15 nodejs-18.19.0+dfsg/test/fixtures/tz-version.txt | 2 nodejs-18.19.0+dfsg/test/fixtures/v8-coverage/combined_coverage/common.js | 69 nodejs-18.19.0+dfsg/test/fixtures/v8-coverage/combined_coverage/first.test.js | 12 nodejs-18.19.0+dfsg/test/fixtures/v8-coverage/combined_coverage/second.test.js | 8 nodejs-18.19.0+dfsg/test/fixtures/v8-coverage/combined_coverage/third.test.js | 25 nodejs-18.19.0+dfsg/test/fixtures/vm/vm_caught_custom_runtime_error.js | 18 nodejs-18.19.0+dfsg/test/fixtures/vm/vm_caught_custom_runtime_error.snapshot | 3 nodejs-18.19.0+dfsg/test/fixtures/vm/vm_display_runtime_error.js | 38 nodejs-18.19.0+dfsg/test/fixtures/vm/vm_display_runtime_error.snapshot | 21 nodejs-18.19.0+dfsg/test/fixtures/vm/vm_display_syntax_error.js | 38 nodejs-18.19.0+dfsg/test/fixtures/vm/vm_display_syntax_error.snapshot | 21 nodejs-18.19.0+dfsg/test/fixtures/vm/vm_dont_display_runtime_error.js | 46 nodejs-18.19.0+dfsg/test/fixtures/vm/vm_dont_display_runtime_error.snapshot | 13 nodejs-18.19.0+dfsg/test/fixtures/vm/vm_dont_display_syntax_error.js | 46 nodejs-18.19.0+dfsg/test/fixtures/vm/vm_dont_display_syntax_error.snapshot | 13 nodejs-18.19.0+dfsg/test/fixtures/watch-mode/dependant.js | 2 nodejs-18.19.0+dfsg/test/fixtures/watch-mode/dependant.mjs | 2 nodejs-18.19.0+dfsg/test/fixtures/watch-mode/dependency.js | 1 nodejs-18.19.0+dfsg/test/fixtures/watch-mode/dependency.mjs | 1 nodejs-18.19.0+dfsg/test/fixtures/watch-mode/event_loop_blocked.js | 4 nodejs-18.19.0+dfsg/test/fixtures/watch-mode/failing.js | 1 nodejs-18.19.0+dfsg/test/fixtures/watch-mode/parse_args.js | 4 nodejs-18.19.0+dfsg/test/fixtures/watch-mode/process_exit.js | 1 nodejs-18.19.0+dfsg/test/fixtures/watch-mode/subdir/file.js | 1 nodejs-18.19.0+dfsg/test/fixtures/worker-name.js | 17 nodejs-18.19.0+dfsg/test/fixtures/wpt/FileAPI/reading-data-section/filereader_readAsDataURL.html | 14 nodejs-18.19.0+dfsg/test/fixtures/wpt/README.md | 16 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.https.any.js | 1 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/derive_bits_keys/cfrg_curves_bits.js | 47 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/derive_bits_keys/cfrg_curves_bits_fixtures.js | 37 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/derive_bits_keys/cfrg_curves_keys.https.any.js | 1 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/derive_bits_keys/cfrg_curves_keys.js | 61 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/encrypt_decrypt/aes_gcm.https.any.js | 3 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/encrypt_decrypt/aes_gcm_256_iv.https.any.js | 7 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/encrypt_decrypt/aes_gcm_256_iv_fixtures.js | 210 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/encrypt_decrypt/aes_gcm_96_iv_fixtures.js | 209 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/encrypt_decrypt/aes_gcm_vectors.js | 212 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/generateKey/failures.js | 2 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/generateKey/successes.js | 2 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/import_export/ec_importKey.https.any.js | 63 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/import_export/okp_importKey.https.any.js | 8 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/import_export/okp_importKey_failures.js | 15 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/import_export/okp_importKey_failures_Ed25519.https.any.js | 8 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/import_export/okp_importKey_failures_Ed448.https.any.js | 8 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/import_export/okp_importKey_failures_X25519.https.any.js | 8 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/import_export/okp_importKey_failures_X448.https.any.js | 8 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/import_export/rsa_importKey.https.any.js | 26 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/import_export/symmetric_importKey.https.any.js | 39 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/sign_verify/ecdsa_vectors.js | 88 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/sign_verify/rsa.js | 29 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/util/helpers.js | 10 nodejs-18.19.0+dfsg/test/fixtures/wpt/WebCryptoAPI/wrapKey_unwrapKey/wrapKey_unwrapKey.https.any.js | 136 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/abort/abort-signal-any.any.js | 4 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/abort/resources/abort-signal-any-tests.js | 185 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/Body-FrameSet-Event-Handlers.html | 123 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/Event-constructors.any.js | 6 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/event-global-is-still-set-when-reporting-exception-onerror.html | 43 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/mouse-event-retarget.html | 26 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/no-focus-events-at-clicking-editable-content-in-link.html | 80 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-mousewheel-event-listener-on-body.html | 19 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-mousewheel-event-listener-on-div.html | 35 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-mousewheel-event-listener-on-document.html | 19 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-mousewheel-event-listener-on-root.html | 19 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-mousewheel-event-listener-on-window.html | 19 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-touchmove-event-listener-on-body.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-touchmove-event-listener-on-div.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-touchmove-event-listener-on-document.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-touchmove-event-listener-on-root.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-touchmove-event-listener-on-window.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-touchstart-event-listener-on-body.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-touchstart-event-listener-on-div.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-touchstart-event-listener-on-document.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-touchstart-event-listener-on-root.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-touchstart-event-listener-on-window.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-wheel-event-listener-on-body.html | 18 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-wheel-event-listener-on-div.html | 34 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-wheel-event-listener-on-document.html | 18 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-wheel-event-listener-on-root.html | 18 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/non-passive-wheel-event-listener-on-window.html | 18 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-mousewheel-event-listener-on-body.html | 19 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-mousewheel-event-listener-on-div.html | 35 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-mousewheel-event-listener-on-document.html | 19 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-mousewheel-event-listener-on-root.html | 19 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-mousewheel-event-listener-on-window.html | 19 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-touchmove-event-listener-on-body.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-touchmove-event-listener-on-div.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-touchmove-event-listener-on-document.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-touchmove-event-listener-on-root.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-touchmove-event-listener-on-window.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-touchstart-event-listener-on-body.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-touchstart-event-listener-on-div.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-touchstart-event-listener-on-document.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-touchstart-event-listener-on-root.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-touchstart-event-listener-on-window.html | 25 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-wheel-event-listener-on-body.html | 18 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-wheel-event-listener-on-div.html | 34 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-wheel-event-listener-on-document.html | 18 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-wheel-event-listener-on-root.html | 18 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/passive-wheel-event-listener-on-window.html | 18 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/resources/scrolling.js | 34 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/resources/touching.js | 34 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/resources/wait-for.js | 15 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/non-cancelable-when-passive/synthetic-events-cancelable.html | 34 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/passive-by-default.html | 50 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/scrolling/iframe-chains.html | 3 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/scrolling/scroll_support.js | 68 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/scrolling/scrollend-event-fired-after-sequence-of-scrolls.tentative.html | 63 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/scrolling/scrollend-event-fired-after-snap.html | 1 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/scrolling/scrollend-event-fired-for-programmatic-scroll.html | 1 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/scrolling/scrollend-event-fired-for-scrollIntoView.html | 1 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/scrolling/scrollend-event-fired-to-document.html | 1 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/scrolling/scrollend-event-fired-to-element-with-overscroll-behavior.html | 19 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/scrolling/scrollend-event-fired-to-scrolled-element.html | 1 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/scrolling/scrollend-event-fired-to-window.html | 1 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/scrolling/scrollend-event-for-user-scroll.html | 251 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/scrolling/scrollend-event-handler-content-attributes.html | 108 nodejs-18.19.0+dfsg/test/fixtures/wpt/dom/events/scrolling/scrollend-event-not-fired-after-removing-scroller.tentative.html | 84 nodejs-18.19.0+dfsg/test/fixtures/wpt/encoding/streams/invalid-realm.window.js | 37 nodejs-18.19.0+dfsg/test/fixtures/wpt/encoding/streams/stringification-crash.html | 20 nodejs-18.19.0+dfsg/test/fixtures/wpt/encoding/unsupported-labels.window.js | 180 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/IdnaTestV2.window.js | 41 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/README.md | 50 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/a-element-xhtml.xhtml | 5 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/a-element.html | 5 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/failure.html | 20 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/historical.any.js | 15 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/javascript-urls.window.js | 63 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/resources/IdnaTestV2.json | 9754 +++ nodejs-18.19.0+dfsg/test/fixtures/wpt/url/resources/a-element-origin.js | 31 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/resources/a-element.js | 45 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/resources/setters_tests.json | 275 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/resources/toascii.json | 22 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/resources/urltestdata.json | 1805 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/url-constructor.any.js | 40 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/url-origin.any.js | 21 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/url-setters-a-area.window.js | 11 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/url-setters.any.js | 9 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/url-statics-canparse.any.js | 42 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/urlencoded-parser.any.js | 1 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/urlsearchparams-delete.any.js | 27 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/urlsearchparams-has.any.js | 13 nodejs-18.19.0+dfsg/test/fixtures/wpt/url/urlsearchparams-size.any.js | 34 nodejs-18.19.0+dfsg/test/fixtures/wpt/user-timing/idlharness-shadowrealm.window.js | 2 nodejs-18.19.0+dfsg/test/fixtures/wpt/user-timing/mark-errors.any.js | 65 nodejs-18.19.0+dfsg/test/fixtures/wpt/user-timing/measure-l3.any.js | 8 nodejs-18.19.0+dfsg/test/fixtures/wpt/user-timing/measure_associated_with_navigation_timing.html | 9 nodejs-18.19.0+dfsg/test/fixtures/wpt/user-timing/performance-measure-invalid.worker.js | 7 nodejs-18.19.0+dfsg/test/fixtures/wpt/user-timing/resources/webperftestharness.js | 4 nodejs-18.19.0+dfsg/test/fixtures/wpt/user-timing/structured-serialize-detail.any.js | 2 nodejs-18.19.0+dfsg/test/fixtures/wpt/versions.json | 16 nodejs-18.19.0+dfsg/test/fixtures/wpt/wasm/jsapi/exception/basic.tentative.any.js | 16 nodejs-18.19.0+dfsg/test/fixtures/wpt/wasm/jsapi/exception/constructor.tentative.any.js | 8 nodejs-18.19.0+dfsg/test/fixtures/wpt/wasm/jsapi/exception/getArg.tentative.any.js | 4 nodejs-18.19.0+dfsg/test/fixtures/wpt/wasm/jsapi/exception/identity.tentative.any.js | 61 nodejs-18.19.0+dfsg/test/fixtures/wpt/wasm/jsapi/exception/toString.tentative.any.js | 4 nodejs-18.19.0+dfsg/test/fixtures/wpt/wasm/jsapi/wasm-module-builder.js | 44 nodejs-18.19.0+dfsg/test/fuzzers/fuzz_url.cc | 11 nodejs-18.19.0+dfsg/test/internet/test-corepack-yarn-install.js | 8 nodejs-18.19.0+dfsg/test/internet/test-dgram-broadcast-multi-process.js | 6 nodejs-18.19.0+dfsg/test/internet/test-dgram-membership.js | 2 nodejs-18.19.0+dfsg/test/internet/test-dgram-multicast-multi-process.js | 4 nodejs-18.19.0+dfsg/test/internet/test-dgram-multicast-set-interface-lo.js | 8 nodejs-18.19.0+dfsg/test/internet/test-dgram-multicast-ssm-multi-process.js | 4 nodejs-18.19.0+dfsg/test/internet/test-dgram-multicast-ssmv6-multi-process.js | 4 nodejs-18.19.0+dfsg/test/internet/test-dns-any.js | 2 nodejs-18.19.0+dfsg/test/internet/test-dns-getDefaultResultOrder.js | 24 nodejs-18.19.0+dfsg/test/internet/test-dns-idna2008.js | 2 nodejs-18.19.0+dfsg/test/internet/test-dns-ipv4.js | 12 nodejs-18.19.0+dfsg/test/internet/test-dns-ipv6.js | 10 nodejs-18.19.0+dfsg/test/internet/test-dns-lookup.js | 20 nodejs-18.19.0+dfsg/test/internet/test-dns-promises-resolve.js | 8 nodejs-18.19.0+dfsg/test/internet/test-dns.js | 16 nodejs-18.19.0+dfsg/test/internet/test-http-dns-fail.js | 2 nodejs-18.19.0+dfsg/test/internet/test-https-autoselectfamily-slow-timeout.js | 20 nodejs-18.19.0+dfsg/test/internet/test-snapshot-dns-lookup.js | 4 nodejs-18.19.0+dfsg/test/internet/test-tls-add-ca-cert.js | 2 nodejs-18.19.0+dfsg/test/internet/test-tls-autoselectfamily-servername.js | 38 nodejs-18.19.0+dfsg/test/internet/test-trace-events-dns.js | 2 nodejs-18.19.0+dfsg/test/js-native-api/.gitignore | 1 nodejs-18.19.0+dfsg/test/js-native-api/2_function_arguments/2_function_arguments.c | 1 nodejs-18.19.0+dfsg/test/js-native-api/2_function_arguments/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/3_callbacks/3_callbacks.c | 3 nodejs-18.19.0+dfsg/test/js-native-api/3_callbacks/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/4_object_factory/4_object_factory.c | 1 nodejs-18.19.0+dfsg/test/js-native-api/4_object_factory/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/5_function_factory/5_function_factory.c | 1 nodejs-18.19.0+dfsg/test/js-native-api/5_function_factory/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/6_object_wrap/6_object_wrap.cc | 64 nodejs-18.19.0+dfsg/test/js-native-api/6_object_wrap/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/6_object_wrap/test-object-wrap-ref.js | 13 nodejs-18.19.0+dfsg/test/js-native-api/7_factory_wrap/7_factory_wrap.cc | 3 nodejs-18.19.0+dfsg/test/js-native-api/7_factory_wrap/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/8_passing_wrapped/8_passing_wrapped.cc | 3 nodejs-18.19.0+dfsg/test/js-native-api/8_passing_wrapped/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/common-inl.h | 56 nodejs-18.19.0+dfsg/test/js-native-api/common.c | 48 nodejs-18.19.0+dfsg/test/js-native-api/common.h | 34 nodejs-18.19.0+dfsg/test/js-native-api/entry_point.c | 7 nodejs-18.19.0+dfsg/test/js-native-api/entry_point.h | 12 nodejs-18.19.0+dfsg/test/js-native-api/test_array/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_array/test.js | 4 nodejs-18.19.0+dfsg/test/js-native-api/test_array/test_array.c | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_bigint/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_bigint/test.js | 2 nodejs-18.19.0+dfsg/test/js-native-api/test_bigint/test_bigint.c | 5 nodejs-18.19.0+dfsg/test/js-native-api/test_cannot_run_js/binding.gyp | 18 nodejs-18.19.0+dfsg/test/js-native-api/test_cannot_run_js/entry_point.c | 7 nodejs-18.19.0+dfsg/test/js-native-api/test_cannot_run_js/test.js | 24 nodejs-18.19.0+dfsg/test/js-native-api/test_cannot_run_js/test_cannot_run_js.c | 50 nodejs-18.19.0+dfsg/test/js-native-api/test_constructor/binding.gyp | 5 nodejs-18.19.0+dfsg/test/js-native-api/test_constructor/test.js | 2 nodejs-18.19.0+dfsg/test/js-native-api/test_constructor/test_constructor.c | 4 nodejs-18.19.0+dfsg/test/js-native-api/test_constructor/test_null.c | 111 nodejs-18.19.0+dfsg/test/js-native-api/test_constructor/test_null.h | 8 nodejs-18.19.0+dfsg/test/js-native-api/test_constructor/test_null.js | 18 nodejs-18.19.0+dfsg/test/js-native-api/test_conversions/binding.gyp | 2 nodejs-18.19.0+dfsg/test/js-native-api/test_conversions/test.js | 22 nodejs-18.19.0+dfsg/test/js-native-api/test_conversions/test_conversions.c | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_dataview/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_dataview/test_dataview.c | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_date/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_date/test_date.c | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_error/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_error/test.js | 10 nodejs-18.19.0+dfsg/test/js-native-api/test_error/test_error.c | 3 nodejs-18.19.0+dfsg/test/js-native-api/test_exception/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_exception/test.js | 4 nodejs-18.19.0+dfsg/test/js-native-api/test_exception/test_exception.c | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_finalizer/binding.gyp | 11 nodejs-18.19.0+dfsg/test/js-native-api/test_finalizer/test.js | 43 nodejs-18.19.0+dfsg/test/js-native-api/test_finalizer/test_fatal_finalize.js | 31 nodejs-18.19.0+dfsg/test/js-native-api/test_finalizer/test_finalizer.c | 146 nodejs-18.19.0+dfsg/test/js-native-api/test_function/binding.gyp | 2 nodejs-18.19.0+dfsg/test/js-native-api/test_function/test.js | 6 nodejs-18.19.0+dfsg/test/js-native-api/test_function/test_function.c | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_general/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_general/test.js | 2 nodejs-18.19.0+dfsg/test/js-native-api/test_general/testEnvCleanup.js | 6 nodejs-18.19.0+dfsg/test/js-native-api/test_general/testInstanceOf.js | 4 nodejs-18.19.0+dfsg/test/js-native-api/test_general/test_general.c | 5 nodejs-18.19.0+dfsg/test/js-native-api/test_handle_scope/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_handle_scope/test_handle_scope.c | 3 nodejs-18.19.0+dfsg/test/js-native-api/test_instance_data/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_instance_data/test_instance_data.c | 3 nodejs-18.19.0+dfsg/test/js-native-api/test_new_target/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_new_target/test_new_target.c | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_number/binding.gyp | 4 nodejs-18.19.0+dfsg/test/js-native-api/test_number/test_null.c | 77 nodejs-18.19.0+dfsg/test/js-native-api/test_number/test_null.h | 8 nodejs-18.19.0+dfsg/test/js-native-api/test_number/test_null.js | 18 nodejs-18.19.0+dfsg/test/js-native-api/test_number/test_number.c | 4 nodejs-18.19.0+dfsg/test/js-native-api/test_object/binding.gyp | 2 nodejs-18.19.0+dfsg/test/js-native-api/test_object/test.js | 45 nodejs-18.19.0+dfsg/test/js-native-api/test_object/test_null.js | 4 nodejs-18.19.0+dfsg/test/js-native-api/test_object/test_object.c | 111 nodejs-18.19.0+dfsg/test/js-native-api/test_promise/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_promise/test_promise.c | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_properties/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_properties/test_properties.c | 3 nodejs-18.19.0+dfsg/test/js-native-api/test_reference/binding.gyp | 7 nodejs-18.19.0+dfsg/test/js-native-api/test_reference/test.js | 14 nodejs-18.19.0+dfsg/test/js-native-api/test_reference/test_finalizer.c | 71 nodejs-18.19.0+dfsg/test/js-native-api/test_reference/test_finalizer.js | 4 nodejs-18.19.0+dfsg/test/js-native-api/test_reference/test_reference.c | 146 nodejs-18.19.0+dfsg/test/js-native-api/test_reference_double_free/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_reference_double_free/test_reference_double_free.c | 3 nodejs-18.19.0+dfsg/test/js-native-api/test_string/binding.gyp | 2 nodejs-18.19.0+dfsg/test/js-native-api/test_string/test.js | 46 nodejs-18.19.0+dfsg/test/js-native-api/test_string/test_string.c | 368 nodejs-18.19.0+dfsg/test/js-native-api/test_symbol/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_symbol/test_symbol.c | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_typedarray/binding.gyp | 1 nodejs-18.19.0+dfsg/test/js-native-api/test_typedarray/test_typedarray.c | 3 nodejs-18.19.0+dfsg/test/known_issues/known_issues.status | 6 nodejs-18.19.0+dfsg/test/known_issues/test-cwd-enoent-file.js | 2 nodejs-18.19.0+dfsg/test/known_issues/test-dgram-bind-shared-ports-after-port-0.js | 2 nodejs-18.19.0+dfsg/test/known_issues/test-http-path-contains-unicode.js | 2 nodejs-18.19.0+dfsg/test/known_issues/test-http2-trailers-after-session-close.js | 54 nodejs-18.19.0+dfsg/test/known_issues/test-repl-require-context.js | 2 nodejs-18.19.0+dfsg/test/known_issues/test-shadow-realm-gc.js | 13 nodejs-18.19.0+dfsg/test/known_issues/test-stdin-is-always-net.socket.js | 2 nodejs-18.19.0+dfsg/test/known_issues/test-url-parse-conformance.js | 2 nodejs-18.19.0+dfsg/test/known_issues/test-vm-ownkeys.js | 2 nodejs-18.19.0+dfsg/test/known_issues/test-vm-ownpropertynames.js | 2 nodejs-18.19.0+dfsg/test/known_issues/test-vm-ownpropertysymbols.js | 2 nodejs-18.19.0+dfsg/test/known_issues/test-vm-timeout-escape-nexttick.js | 8 nodejs-18.19.0+dfsg/test/known_issues/test-vm-timeout-escape-queuemicrotask.js | 6 nodejs-18.19.0+dfsg/test/message/2100bytes.js | 68 nodejs-18.19.0+dfsg/test/message/2100bytes.out | 42 nodejs-18.19.0+dfsg/test/message/async_error_eval_cjs.js | 39 nodejs-18.19.0+dfsg/test/message/async_error_eval_cjs.out | 6 nodejs-18.19.0+dfsg/test/message/async_error_eval_esm.js | 41 nodejs-18.19.0+dfsg/test/message/async_error_eval_esm.out | 6 nodejs-18.19.0+dfsg/test/message/async_error_microtask_main.js | 13 nodejs-18.19.0+dfsg/test/message/async_error_microtask_main.out | 6 nodejs-18.19.0+dfsg/test/message/async_error_nexttick_main.js | 13 nodejs-18.19.0+dfsg/test/message/async_error_nexttick_main.out | 7 nodejs-18.19.0+dfsg/test/message/async_error_sync_esm.mjs | 12 nodejs-18.19.0+dfsg/test/message/async_error_sync_esm.out | 6 nodejs-18.19.0+dfsg/test/message/async_error_sync_main.js | 13 nodejs-18.19.0+dfsg/test/message/async_error_sync_main.out | 6 nodejs-18.19.0+dfsg/test/message/console.js | 5 nodejs-18.19.0+dfsg/test/message/console.out | 8 nodejs-18.19.0+dfsg/test/message/console_low_stack_space.js | 34 nodejs-18.19.0+dfsg/test/message/console_low_stack_space.out | 1 nodejs-18.19.0+dfsg/test/message/error_aggregateTwoErrors.js | 15 nodejs-18.19.0+dfsg/test/message/error_aggregateTwoErrors.out | 18 nodejs-18.19.0+dfsg/test/message/error_exit.js | 32 nodejs-18.19.0+dfsg/test/message/error_exit.out | 18 nodejs-18.19.0+dfsg/test/message/error_with_nul.js | 12 nodejs-18.19.0+dfsg/test/message/eval_messages.out | 4 nodejs-18.19.0+dfsg/test/message/events_unhandled_error_common_trace.js | 22 nodejs-18.19.0+dfsg/test/message/events_unhandled_error_common_trace.out | 12 nodejs-18.19.0+dfsg/test/message/events_unhandled_error_nexttick.js | 9 nodejs-18.19.0+dfsg/test/message/events_unhandled_error_nexttick.out | 10 nodejs-18.19.0+dfsg/test/message/events_unhandled_error_sameline.js | 6 nodejs-18.19.0+dfsg/test/message/events_unhandled_error_sameline.out | 10 nodejs-18.19.0+dfsg/test/message/events_unhandled_error_subclass.js | 7 nodejs-18.19.0+dfsg/test/message/events_unhandled_error_subclass.out | 10 nodejs-18.19.0+dfsg/test/message/hello_world.js | 25 nodejs-18.19.0+dfsg/test/message/hello_world.out | 1 nodejs-18.19.0+dfsg/test/message/promise_always_throw_unhandled.js | 16 nodejs-18.19.0+dfsg/test/message/promise_always_throw_unhandled.out | 15 nodejs-18.19.0+dfsg/test/message/source_map_disabled_by_api.js | 25 nodejs-18.19.0+dfsg/test/message/source_map_disabled_by_api.out | 12 nodejs-18.19.0+dfsg/test/message/source_map_enabled_by_api.js | 22 nodejs-18.19.0+dfsg/test/message/source_map_enabled_by_api.out | 12 nodejs-18.19.0+dfsg/test/message/source_map_enclosing_function.js | 7 nodejs-18.19.0+dfsg/test/message/source_map_enclosing_function.out | 12 nodejs-18.19.0+dfsg/test/message/source_map_eval.js | 10 nodejs-18.19.0+dfsg/test/message/source_map_eval.out | 10 nodejs-18.19.0+dfsg/test/message/source_map_no_source_file.js | 7 nodejs-18.19.0+dfsg/test/message/source_map_no_source_file.out | 9 nodejs-18.19.0+dfsg/test/message/source_map_reference_error_tabs.js | 7 nodejs-18.19.0+dfsg/test/message/source_map_reference_error_tabs.out | 9 nodejs-18.19.0+dfsg/test/message/source_map_sourcemapping_url_string.js | 13 nodejs-18.19.0+dfsg/test/message/source_map_sourcemapping_url_string.out | 3 nodejs-18.19.0+dfsg/test/message/source_map_throw_catch.js | 13 nodejs-18.19.0+dfsg/test/message/source_map_throw_catch.out | 4 nodejs-18.19.0+dfsg/test/message/source_map_throw_first_tick.js | 7 nodejs-18.19.0+dfsg/test/message/source_map_throw_first_tick.out | 9 nodejs-18.19.0+dfsg/test/message/source_map_throw_icu.js | 7 nodejs-18.19.0+dfsg/test/message/source_map_throw_icu.out | 9 nodejs-18.19.0+dfsg/test/message/source_map_throw_set_immediate.js | 5 nodejs-18.19.0+dfsg/test/message/source_map_throw_set_immediate.out | 10 nodejs-18.19.0+dfsg/test/message/stack_overflow.js | 37 nodejs-18.19.0+dfsg/test/message/stack_overflow.out | 8 nodejs-18.19.0+dfsg/test/message/stdin_messages.out | 8 nodejs-18.19.0+dfsg/test/message/test_runner_abort.js | 47 nodejs-18.19.0+dfsg/test/message/test_runner_abort.out | 249 nodejs-18.19.0+dfsg/test/message/test_runner_abort_suite.js | 27 nodejs-18.19.0+dfsg/test/message/test_runner_abort_suite.out | 99 nodejs-18.19.0+dfsg/test/message/test_runner_describe_it.js | 374 nodejs-18.19.0+dfsg/test/message/test_runner_describe_it.out | 648 nodejs-18.19.0+dfsg/test/message/test_runner_describe_nested.js | 10 nodejs-18.19.0+dfsg/test/message/test_runner_describe_nested.out | 26 nodejs-18.19.0+dfsg/test/message/test_runner_hooks.js | 144 nodejs-18.19.0+dfsg/test/message/test_runner_hooks.out | 485 nodejs-18.19.0+dfsg/test/message/test_runner_no_refs.js | 13 nodejs-18.19.0+dfsg/test/message/test_runner_no_refs.out | 30 nodejs-18.19.0+dfsg/test/message/test_runner_no_tests.js | 7 nodejs-18.19.0+dfsg/test/message/test_runner_no_tests.out | 1 nodejs-18.19.0+dfsg/test/message/test_runner_only_tests.js | 48 nodejs-18.19.0+dfsg/test/message/test_runner_only_tests.out | 126 nodejs-18.19.0+dfsg/test/message/test_runner_output.js | 385 nodejs-18.19.0+dfsg/test/message/test_runner_output.out | 653 nodejs-18.19.0+dfsg/test/message/test_runner_test_name_pattern.js | 47 nodejs-18.19.0+dfsg/test/message/test_runner_test_name_pattern.out | 107 nodejs-18.19.0+dfsg/test/message/test_runner_test_name_pattern_with_only.js | 13 nodejs-18.19.0+dfsg/test/message/test_runner_test_name_pattern_with_only.out | 40 nodejs-18.19.0+dfsg/test/message/test_runner_unresolved_promise.js | 8 nodejs-18.19.0+dfsg/test/message/test_runner_unresolved_promise.out | 34 nodejs-18.19.0+dfsg/test/message/throw_custom_error.js | 27 nodejs-18.19.0+dfsg/test/message/throw_custom_error.out | 6 nodejs-18.19.0+dfsg/test/message/throw_in_line_with_tabs.js | 34 nodejs-18.19.0+dfsg/test/message/throw_in_line_with_tabs.out | 7 nodejs-18.19.0+dfsg/test/message/throw_non_error.js | 27 nodejs-18.19.0+dfsg/test/message/throw_non_error.out | 6 nodejs-18.19.0+dfsg/test/message/util-inspect-error-cause.js | 12 nodejs-18.19.0+dfsg/test/message/util-inspect-error-cause.out | 10 nodejs-18.19.0+dfsg/test/message/vm_caught_custom_runtime_error.js | 18 nodejs-18.19.0+dfsg/test/message/vm_caught_custom_runtime_error.out | 3 nodejs-18.19.0+dfsg/test/message/vm_display_runtime_error.js | 38 nodejs-18.19.0+dfsg/test/message/vm_display_runtime_error.out | 21 nodejs-18.19.0+dfsg/test/message/vm_display_syntax_error.js | 38 nodejs-18.19.0+dfsg/test/message/vm_display_syntax_error.out | 19 nodejs-18.19.0+dfsg/test/message/vm_dont_display_runtime_error.js | 46 nodejs-18.19.0+dfsg/test/message/vm_dont_display_runtime_error.out | 13 nodejs-18.19.0+dfsg/test/message/vm_dont_display_syntax_error.js | 46 nodejs-18.19.0+dfsg/test/message/vm_dont_display_syntax_error.out | 13 nodejs-18.19.0+dfsg/test/node-api/test_async/test-async-hooks.js | 2 nodejs-18.19.0+dfsg/test/node-api/test_async_cleanup_hook/binding.c | 31 nodejs-18.19.0+dfsg/test/node-api/test_async_context/test-gcable-callback.js | 2 nodejs-18.19.0+dfsg/test/node-api/test_async_context/test.js | 6 nodejs-18.19.0+dfsg/test/node-api/test_buffer/binding.gyp | 4 nodejs-18.19.0+dfsg/test/node-api/test_buffer/test_buffer.c | 50 nodejs-18.19.0+dfsg/test/node-api/test_buffer/test_finalizer.c | 61 nodejs-18.19.0+dfsg/test/node-api/test_buffer/test_finalizer.js | 2 nodejs-18.19.0+dfsg/test/node-api/test_callback_scope/test-async-hooks.js | 2 nodejs-18.19.0+dfsg/test/node-api/test_cleanup_hook/binding.c | 31 nodejs-18.19.0+dfsg/test/node-api/test_cleanup_hook/test.js | 3 nodejs-18.19.0+dfsg/test/node-api/test_general/test.js | 2 nodejs-18.19.0+dfsg/test/node-api/test_general/test_general.c | 2 nodejs-18.19.0+dfsg/test/node-api/test_null_init/test_null_init.c | 52 nodejs-18.19.0+dfsg/test/node-api/test_policy/test_policy.js | 9 nodejs-18.19.0+dfsg/test/node-api/test_reference_by_node_api_version/binding.gyp | 14 nodejs-18.19.0+dfsg/test/node-api/test_reference_by_node_api_version/test.js | 124 nodejs-18.19.0+dfsg/test/node-api/test_reference_by_node_api_version/test_reference_by_node_api_version.c | 169 nodejs-18.19.0+dfsg/test/node-api/test_threadsafe_function/binding.gyp | 14 nodejs-18.19.0+dfsg/test/node-api/test_threadsafe_function/test.js | 28 nodejs-18.19.0+dfsg/test/node-api/test_threadsafe_function/test_force_uncaught_exception.js | 22 nodejs-18.19.0+dfsg/test/node-api/test_threadsafe_function/test_legacy_uncaught_exception.js | 22 nodejs-18.19.0+dfsg/test/node-api/test_threadsafe_function/test_uncaught_exception.c | 62 nodejs-18.19.0+dfsg/test/node-api/test_threadsafe_function/test_uncaught_exception.js | 26 nodejs-18.19.0+dfsg/test/node-api/test_threadsafe_function/test_uncaught_exception_v9.js | 8 nodejs-18.19.0+dfsg/test/node-api/test_threadsafe_function/uncaught_exception.js | 31 nodejs-18.19.0+dfsg/test/node-api/test_worker_terminate/test.js | 4 nodejs-18.19.0+dfsg/test/node-api/test_worker_terminate/test_worker_terminate.c | 2 nodejs-18.19.0+dfsg/test/parallel/parallel.status | 42 nodejs-18.19.0+dfsg/test/parallel/test-abortcontroller.js | 23 nodejs-18.19.0+dfsg/test/parallel/test-aborted-util.js | 59 nodejs-18.19.0+dfsg/test/parallel/test-abortsignal-any.mjs | 104 nodejs-18.19.0+dfsg/test/parallel/test-assert-snapshot.mjs | 133 nodejs-18.19.0+dfsg/test/parallel/test-assert.js | 57 nodejs-18.19.0+dfsg/test/parallel/test-async-hooks-worker-asyncfn-terminate-4.js | 1 nodejs-18.19.0+dfsg/test/parallel/test-async-local-storage-bind.js | 17 nodejs-18.19.0+dfsg/test/parallel/test-async-local-storage-snapshot.js | 16 nodejs-18.19.0+dfsg/test/parallel/test-bootstrap-modules.js | 167 nodejs-18.19.0+dfsg/test/parallel/test-buffer-alloc.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-buffer-copy.js | 11 nodejs-18.19.0+dfsg/test/parallel/test-buffer-from.js | 79 nodejs-18.19.0+dfsg/test/parallel/test-buffer-isascii.js | 42 nodejs-18.19.0+dfsg/test/parallel/test-buffer-isutf8.js | 86 nodejs-18.19.0+dfsg/test/parallel/test-child-process-cwd.js | 3 nodejs-18.19.0+dfsg/test/parallel/test-child-process-destroy.js | 25 nodejs-18.19.0+dfsg/test/parallel/test-child-process-exec-abortcontroller-promisified.js | 54 nodejs-18.19.0+dfsg/test/parallel/test-child-process-exec-cwd.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-child-process-exec-timeout-kill.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-child-process-execfile.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-child-process-fork-abort-signal.js | 37 nodejs-18.19.0+dfsg/test/parallel/test-child-process-prototype-tampering.mjs | 59 nodejs-18.19.0+dfsg/test/parallel/test-child-process-spawn-controller.js | 77 nodejs-18.19.0+dfsg/test/parallel/test-cluster-basic.js | 17 nodejs-18.19.0+dfsg/test/parallel/test-cluster-bind-privileged-port.js | 20 nodejs-18.19.0+dfsg/test/parallel/test-cluster-concurrent-disconnect.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-cluster-rr-handle-close.js | 18 nodejs-18.19.0+dfsg/test/parallel/test-cluster-rr-handle-keep-loop-alive.js | 23 nodejs-18.19.0+dfsg/test/parallel/test-cluster-rr-handle-ref-unref.js | 20 nodejs-18.19.0+dfsg/test/parallel/test-crypto-authenticated.js | 31 nodejs-18.19.0+dfsg/test/parallel/test-crypto-dh-errors.js | 111 nodejs-18.19.0+dfsg/test/parallel/test-crypto-dh-generate-keys.js | 63 nodejs-18.19.0+dfsg/test/parallel/test-crypto-dh-group-setters.js | 26 nodejs-18.19.0+dfsg/test/parallel/test-crypto-dh.js | 266 nodejs-18.19.0+dfsg/test/parallel/test-crypto-encoding-validation-error.js | 52 nodejs-18.19.0+dfsg/test/parallel/test-crypto-fips.js | 18 nodejs-18.19.0+dfsg/test/parallel/test-crypto-key-objects.js | 6 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-async-dsa-key-object.js | 32 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-async-dsa.js | 64 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-async-elliptic-curve-jwk-ec.js | 35 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-async-elliptic-curve-jwk-rsa.js | 38 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-async-elliptic-curve-jwk.js | 40 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-async-encrypted-private-key-der.js | 50 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-async-encrypted-private-key.js | 67 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted-p256.js | 55 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-async-explicit-elliptic-curve-encrypted.js.js | 52 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-async-explicit-elliptic-curve.js | 39 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted-p256.js | 55 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-async-named-elliptic-curve-encrypted.js | 52 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-async-named-elliptic-curve.js | 39 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-async-rsa.js | 61 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-bit-length.js | 39 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-dh-classic.js | 23 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-duplicate-deprecated-option.js | 43 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-eddsa.js | 27 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-empty-passphrase-no-error.js | 29 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-empty-passphrase-no-prompt.js | 53 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-invalid-parameter-encoding-dsa.js | 28 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-invalid-parameter-encoding-ec.js | 27 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-key-object-without-encoding.js | 55 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-key-objects.js | 33 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-missing-oid.js | 43 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-no-rsassa-pss-params.js | 32 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-non-standard-public-exponent.js | 35 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-promisify.js | 46 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-rfc8017-9-1.js | 32 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-rfc8017-a-2-3.js | 46 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-rsa-pss.js | 64 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen-sync.js | 47 nodejs-18.19.0+dfsg/test/parallel/test-crypto-keygen.js | 1031 nodejs-18.19.0+dfsg/test/parallel/test-crypto-modp1-error.js | 26 nodejs-18.19.0+dfsg/test/parallel/test-crypto-no-algorithm.js | 38 nodejs-18.19.0+dfsg/test/parallel/test-crypto-prime.js | 27 nodejs-18.19.0+dfsg/test/parallel/test-crypto-scrypt.js | 8 nodejs-18.19.0+dfsg/test/parallel/test-crypto-x509.js | 85 nodejs-18.19.0+dfsg/test/parallel/test-cwd-enoent-preload.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-cwd-enoent-repl.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-cwd-enoent.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-debugger-auto-resume.mjs | 35 nodejs-18.19.0+dfsg/test/parallel/test-debugger-backtrace.js | 33 nodejs-18.19.0+dfsg/test/parallel/test-debugger-break.js | 110 nodejs-18.19.0+dfsg/test/parallel/test-debugger-breakpoint-exists.js | 24 nodejs-18.19.0+dfsg/test/parallel/test-debugger-clear-breakpoints.js | 53 nodejs-18.19.0+dfsg/test/parallel/test-debugger-exceptions.js | 58 nodejs-18.19.0+dfsg/test/parallel/test-debugger-exec-scope.mjs | 23 nodejs-18.19.0+dfsg/test/parallel/test-debugger-exec.js | 68 nodejs-18.19.0+dfsg/test/parallel/test-debugger-heap-profiler.js | 39 nodejs-18.19.0+dfsg/test/parallel/test-debugger-help.mjs | 19 nodejs-18.19.0+dfsg/test/parallel/test-debugger-list.js | 30 nodejs-18.19.0+dfsg/test/parallel/test-debugger-low-level.js | 35 nodejs-18.19.0+dfsg/test/parallel/test-debugger-object-type-remote-object.js | 42 nodejs-18.19.0+dfsg/test/parallel/test-debugger-preserve-breaks.js | 47 nodejs-18.19.0+dfsg/test/parallel/test-debugger-profile-command.js | 35 nodejs-18.19.0+dfsg/test/parallel/test-debugger-profile.js | 41 nodejs-18.19.0+dfsg/test/parallel/test-debugger-random-port-with-inspect-port.js | 25 nodejs-18.19.0+dfsg/test/parallel/test-debugger-random-port.js | 30 nodejs-18.19.0+dfsg/test/parallel/test-debugger-repeat-last.js | 45 nodejs-18.19.0+dfsg/test/parallel/test-debugger-restart-message.js | 37 nodejs-18.19.0+dfsg/test/parallel/test-debugger-run-after-quit-restart.js | 90 nodejs-18.19.0+dfsg/test/parallel/test-debugger-sb-before-load.js | 33 nodejs-18.19.0+dfsg/test/parallel/test-debugger-scripts.js | 42 nodejs-18.19.0+dfsg/test/parallel/test-debugger-set-context-line-number.mjs | 50 nodejs-18.19.0+dfsg/test/parallel/test-debugger-use-strict.js | 32 nodejs-18.19.0+dfsg/test/parallel/test-debugger-watch-validation.js | 20 nodejs-18.19.0+dfsg/test/parallel/test-debugger-watchers.mjs | 56 nodejs-18.19.0+dfsg/test/parallel/test-dgram-abort-closed.js | 10 nodejs-18.19.0+dfsg/test/parallel/test-dgram-async-dispose.mjs | 20 nodejs-18.19.0+dfsg/test/parallel/test-dgram-unref-in-cluster.js | 23 nodejs-18.19.0+dfsg/test/parallel/test-diagnostics-channel-bind-store.js | 108 nodejs-18.19.0+dfsg/test/parallel/test-diagnostics-channel-pub-sub.js | 7 nodejs-18.19.0+dfsg/test/parallel/test-diagnostics-channel-tracing-channel-async-error.js | 46 nodejs-18.19.0+dfsg/test/parallel/test-diagnostics-channel-tracing-channel-async.js | 60 nodejs-18.19.0+dfsg/test/parallel/test-diagnostics-channel-tracing-channel-callback-run-stores.js | 29 nodejs-18.19.0+dfsg/test/parallel/test-diagnostics-channel-tracing-channel-promise-run-stores.js | 31 nodejs-18.19.0+dfsg/test/parallel/test-diagnostics-channel-tracing-channel-run-stores.js | 21 nodejs-18.19.0+dfsg/test/parallel/test-diagnostics-channel-tracing-channel-sync-error.js | 39 nodejs-18.19.0+dfsg/test/parallel/test-diagnostics-channel-tracing-channel-sync.js | 46 nodejs-18.19.0+dfsg/test/parallel/test-dns.js | 18 nodejs-18.19.0+dfsg/test/parallel/test-double-tls-client.js | 58 nodejs-18.19.0+dfsg/test/parallel/test-double-tls-server.js | 94 nodejs-18.19.0+dfsg/test/parallel/test-error-format-list.js | 20 nodejs-18.19.0+dfsg/test/parallel/test-error-serdes.js | 67 nodejs-18.19.0+dfsg/test/parallel/test-eslint-avoid-prototype-pollution.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-eslint-prefer-primordials.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-events-add-abort-listener.mjs | 55 nodejs-18.19.0+dfsg/test/parallel/test-events-customevent.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-events-getmaxlisteners.js | 19 nodejs-18.19.0+dfsg/test/parallel/test-events-listener-count-with-listener.js | 65 nodejs-18.19.0+dfsg/test/parallel/test-events-once.js | 21 nodejs-18.19.0+dfsg/test/parallel/test-eventtarget-memoryleakwarning.js | 21 nodejs-18.19.0+dfsg/test/parallel/test-eventtarget.js | 30 nodejs-18.19.0+dfsg/test/parallel/test-file.js | 17 nodejs-18.19.0+dfsg/test/parallel/test-filehandle-readablestream.js | 84 nodejs-18.19.0+dfsg/test/parallel/test-freeze-intrinsics.js | 9 nodejs-18.19.0+dfsg/test/parallel/test-fs-access.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-fs-assert-encoding-error.js | 41 nodejs-18.19.0+dfsg/test/parallel/test-fs-copyfile.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-fs-cp.mjs | 112 nodejs-18.19.0+dfsg/test/parallel/test-fs-error-messages.js | 3 nodejs-18.19.0+dfsg/test/parallel/test-fs-mkdtemp.js | 109 nodejs-18.19.0+dfsg/test/parallel/test-fs-null-bytes.js | 3 nodejs-18.19.0+dfsg/test/parallel/test-fs-promises-file-handle-dispose.js | 12 nodejs-18.19.0+dfsg/test/parallel/test-fs-promises-file-handle-readFile.js | 23 nodejs-18.19.0+dfsg/test/parallel/test-fs-promises-file-handle-sync.js | 1 nodejs-18.19.0+dfsg/test/parallel/test-fs-promises-readfile.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-fs-promises-write-optional-params.js | 37 nodejs-18.19.0+dfsg/test/parallel/test-fs-promises.js | 28 nodejs-18.19.0+dfsg/test/parallel/test-fs-readfile-pipe-large.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-fs-readfile-pipe.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-fs-readfile.js | 30 nodejs-18.19.0+dfsg/test/parallel/test-fs-readfilesync-pipe-large.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-fs-realpath-pipe.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-fs-rm.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-fs-statfs.js | 59 nodejs-18.19.0+dfsg/test/parallel/test-fs-utimes.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-fs-whatwg-url.js | 12 nodejs-18.19.0+dfsg/test/parallel/test-fs-write-optional-params.js | 30 nodejs-18.19.0+dfsg/test/parallel/test-fs-write-stream-eagain.mjs | 39 nodejs-18.19.0+dfsg/test/parallel/test-fs-write-sync-optional-params.js | 24 nodejs-18.19.0+dfsg/test/parallel/test-gc-http-client-connaborted.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-gc-net-timeout.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-h2-large-header-cause-client-to-hangup.js | 38 nodejs-18.19.0+dfsg/test/parallel/test-http-agent-maxtotalsockets.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-http-autoselectfamily.js | 144 nodejs-18.19.0+dfsg/test/parallel/test-http-client-request-options.js | 27 nodejs-18.19.0+dfsg/test/parallel/test-http-content-length-mismatch.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-http-early-hints-invalid-argument.js | 66 nodejs-18.19.0+dfsg/test/parallel/test-http-early-hints.js | 6 nodejs-18.19.0+dfsg/test/parallel/test-http-happy-eyeballs.js | 148 nodejs-18.19.0+dfsg/test/parallel/test-http-head-response-has-no-body-end-implicit-headers.js | 27 nodejs-18.19.0+dfsg/test/parallel/test-http-head-throw-on-response-body-write.js | 102 nodejs-18.19.0+dfsg/test/parallel/test-http-missing-header-separator-lf.js | 83 nodejs-18.19.0+dfsg/test/parallel/test-http-parser-memory-retention.js | 8 nodejs-18.19.0+dfsg/test/parallel/test-http-perf_hooks.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-http-remove-header-stays-removed.js | 10 nodejs-18.19.0+dfsg/test/parallel/test-http-request-join-authorization-headers.js | 83 nodejs-18.19.0+dfsg/test/parallel/test-http-response-setheaders.js | 131 nodejs-18.19.0+dfsg/test/parallel/test-http-server-close-destroy-timeout.js | 13 nodejs-18.19.0+dfsg/test/parallel/test-http-server-close-idle.js | 1 nodejs-18.19.0+dfsg/test/parallel/test-http-server-connections-checking-leak.js | 24 nodejs-18.19.0+dfsg/test/parallel/test-http-server-non-utf8-header.js | 48 nodejs-18.19.0+dfsg/test/parallel/test-http-server-options-highwatermark.js | 47 nodejs-18.19.0+dfsg/test/parallel/test-http-server-response-standalone.js | 6 nodejs-18.19.0+dfsg/test/parallel/test-http-server-timeouts-validation.js | 50 nodejs-18.19.0+dfsg/test/parallel/test-http-socket-error-listeners.js | 47 nodejs-18.19.0+dfsg/test/parallel/test-http-write-head-2.js | 18 nodejs-18.19.0+dfsg/test/parallel/test-http2-client-connection-tunnelling.js | 71 nodejs-18.19.0+dfsg/test/parallel/test-http2-client-destroy.js | 33 nodejs-18.19.0+dfsg/test/parallel/test-http2-client-http1-server.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-http2-endafterheaders.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-http2-ping-settings-heapdump.js | 10 nodejs-18.19.0+dfsg/test/parallel/test-http2-server-shutdown-options-errors.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-http2-session-timeout.js | 18 nodejs-18.19.0+dfsg/test/parallel/test-http2-trailers-after-session-close.js | 49 nodejs-18.19.0+dfsg/test/parallel/test-https-agent-session-eviction.js | 1 nodejs-18.19.0+dfsg/test/parallel/test-https-agent-session-injection.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-https-autoselectfamily.js | 163 nodejs-18.19.0+dfsg/test/parallel/test-https-happy-eyeballs.js | 164 nodejs-18.19.0+dfsg/test/parallel/test-https-server-close-destroy-timeout.js | 24 nodejs-18.19.0+dfsg/test/parallel/test-https-server-close-idle.js | 1 nodejs-18.19.0+dfsg/test/parallel/test-https-server-connections-checking-leak.js | 29 nodejs-18.19.0+dfsg/test/parallel/test-icu-env.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-inspector-async-call-stack-abort.js | 36 nodejs-18.19.0+dfsg/test/parallel/test-inspector-async-call-stack.js | 83 nodejs-18.19.0+dfsg/test/parallel/test-inspector-async-hook-setup-at-inspect-brk.js | 49 nodejs-18.19.0+dfsg/test/parallel/test-inspector-async-hook-setup-at-signal.js | 84 nodejs-18.19.0+dfsg/test/parallel/test-inspector-async-stack-traces-promise-then.js | 71 nodejs-18.19.0+dfsg/test/parallel/test-inspector-async-stack-traces-set-interval.js | 47 nodejs-18.19.0+dfsg/test/parallel/test-inspector-break-e.js | 21 nodejs-18.19.0+dfsg/test/parallel/test-inspector-break-when-eval.js | 77 nodejs-18.19.0+dfsg/test/parallel/test-inspector-connect-to-main-thread.js | 20 nodejs-18.19.0+dfsg/test/parallel/test-inspector-console.js | 37 nodejs-18.19.0+dfsg/test/parallel/test-inspector-contexts.js | 169 nodejs-18.19.0+dfsg/test/parallel/test-inspector-debug-brk-flag.js | 39 nodejs-18.19.0+dfsg/test/parallel/test-inspector-debug-end.js | 44 nodejs-18.19.0+dfsg/test/parallel/test-inspector-enabled.js | 29 nodejs-18.19.0+dfsg/test/parallel/test-inspector-exception.js | 44 nodejs-18.19.0+dfsg/test/parallel/test-inspector-has-inspector-false.js | 15 nodejs-18.19.0+dfsg/test/parallel/test-inspector-inspect-brk-node.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-inspector-invalid-args.js | 27 nodejs-18.19.0+dfsg/test/parallel/test-inspector-ip-detection.js | 46 nodejs-18.19.0+dfsg/test/parallel/test-inspector-not-blocked-on-idle.js | 20 nodejs-18.19.0+dfsg/test/parallel/test-inspector-open-coverage.js | 21 nodejs-18.19.0+dfsg/test/parallel/test-inspector-open.js | 114 nodejs-18.19.0+dfsg/test/parallel/test-inspector-overwrite-config.js | 44 nodejs-18.19.0+dfsg/test/parallel/test-inspector-port-zero.js | 55 nodejs-18.19.0+dfsg/test/parallel/test-inspector-resource-name-to-url.js | 40 nodejs-18.19.0+dfsg/test/parallel/test-inspector-runtime-evaluate-with-timeout.js | 25 nodejs-18.19.0+dfsg/test/parallel/test-inspector-scriptparsed-context.js | 86 nodejs-18.19.0+dfsg/test/parallel/test-inspector-stop-profile-after-done.js | 30 nodejs-18.19.0+dfsg/test/parallel/test-inspector-stops-no-file.js | 16 nodejs-18.19.0+dfsg/test/parallel/test-inspector-stress-http.js | 31 nodejs-18.19.0+dfsg/test/parallel/test-inspector.js | 316 nodejs-18.19.0+dfsg/test/parallel/test-internal-fs-syncwritestream.js | 19 nodejs-18.19.0+dfsg/test/parallel/test-internal-util-decorate-error-stack.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-internal-webidl-converttoint.js | 58 nodejs-18.19.0+dfsg/test/parallel/test-intl.js | 6 nodejs-18.19.0+dfsg/test/parallel/test-loaders-hidden-from-users.js | 27 nodejs-18.19.0+dfsg/test/parallel/test-loaders-this-value-inside-hook-functions.mjs | 4 nodejs-18.19.0+dfsg/test/parallel/test-loaders-unknown-builtin-module.mjs | 12 nodejs-18.19.0+dfsg/test/parallel/test-module-binding.js | 34 nodejs-18.19.0+dfsg/test/parallel/test-module-create-require.js | 5 nodejs-18.19.0+dfsg/test/parallel/test-net-autoselectfamily-commandline-option.js | 104 nodejs-18.19.0+dfsg/test/parallel/test-net-autoselectfamily-ipv4first.js | 108 nodejs-18.19.0+dfsg/test/parallel/test-net-autoselectfamily.js | 299 nodejs-18.19.0+dfsg/test/parallel/test-net-autoselectfamilydefault.js | 146 nodejs-18.19.0+dfsg/test/parallel/test-net-child-process-connect-reset.js | 47 nodejs-18.19.0+dfsg/test/parallel/test-net-connect-reset-until-connected.js | 11 nodejs-18.19.0+dfsg/test/parallel/test-net-dns-custom-lookup.js | 19 nodejs-18.19.0+dfsg/test/parallel/test-net-dns-lookup.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-net-happy-eyeballs-ipv4first.js | 112 nodejs-18.19.0+dfsg/test/parallel/test-net-happy-eyeballs.js | 215 nodejs-18.19.0+dfsg/test/parallel/test-net-isipv4.js | 8 nodejs-18.19.0+dfsg/test/parallel/test-net-options-lookup.js | 6 nodejs-18.19.0+dfsg/test/parallel/test-net-server-async-dispose.mjs | 30 nodejs-18.19.0+dfsg/test/parallel/test-net-server-reset.js | 18 nodejs-18.19.0+dfsg/test/parallel/test-net-socket-connect-invalid-autoselectfamily.js | 9 nodejs-18.19.0+dfsg/test/parallel/test-net-socket-connect-invalid-autoselectfamilyattempttimeout.js | 13 nodejs-18.19.0+dfsg/test/parallel/test-net-throttle.js | 88 nodejs-18.19.0+dfsg/test/parallel/test-net-write-cb-on-destroy-before-connect.js | 26 nodejs-18.19.0+dfsg/test/parallel/test-node-output-console.mjs | 37 nodejs-18.19.0+dfsg/test/parallel/test-node-output-errors.mjs | 72 nodejs-18.19.0+dfsg/test/parallel/test-node-output-sourcemaps.mjs | 46 nodejs-18.19.0+dfsg/test/parallel/test-node-output-vm.mjs | 30 nodejs-18.19.0+dfsg/test/parallel/test-os.js | 13 nodejs-18.19.0+dfsg/test/parallel/test-perf-hooks-histogram.js | 7 nodejs-18.19.0+dfsg/test/parallel/test-performance-resourcetimingbuffersize.js | 11 nodejs-18.19.0+dfsg/test/parallel/test-policy-crypto-hash-tampering.js | 21 nodejs-18.19.0+dfsg/test/parallel/test-policy-manifest.js | 154 nodejs-18.19.0+dfsg/test/parallel/test-policy-process-binding.js | 28 nodejs-18.19.0+dfsg/test/parallel/test-primordials-promise.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-primordials-regexp.js | 55 nodejs-18.19.0+dfsg/test/parallel/test-process-constrained-memory.js | 12 nodejs-18.19.0+dfsg/test/parallel/test-process-dlopen-error-message-crash.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-process-env-ignore-getter-setter.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-process-versions.js | 57 nodejs-18.19.0+dfsg/test/parallel/test-punycode.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-readline-carriage-return-between-chunks.js | 23 nodejs-18.19.0+dfsg/test/parallel/test-readline-interface-no-trailing-newline.js | 24 nodejs-18.19.0+dfsg/test/parallel/test-readline-interface-recursive-writes.js | 33 nodejs-18.19.0+dfsg/test/parallel/test-readline-interface.js | 3 nodejs-18.19.0+dfsg/test/parallel/test-release-npm.js | 1 nodejs-18.19.0+dfsg/test/parallel/test-repl-built-in-modules.js | 48 nodejs-18.19.0+dfsg/test/parallel/test-repl-envvars.js | 44 nodejs-18.19.0+dfsg/test/parallel/test-repl-history-navigation.js | 18 nodejs-18.19.0+dfsg/test/parallel/test-repl-load-multiline-no-trailing-newline.js | 42 nodejs-18.19.0+dfsg/test/parallel/test-repl-require-context.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-repl-reverse-search.js | 3 nodejs-18.19.0+dfsg/test/parallel/test-repl.js | 69 nodejs-18.19.0+dfsg/test/parallel/test-runner-cli-concurrency.js | 26 nodejs-18.19.0+dfsg/test/parallel/test-runner-cli.js | 279 nodejs-18.19.0+dfsg/test/parallel/test-runner-concurrency.js | 41 nodejs-18.19.0+dfsg/test/parallel/test-runner-coverage.js | 183 nodejs-18.19.0+dfsg/test/parallel/test-runner-exit-code.js | 21 nodejs-18.19.0+dfsg/test/parallel/test-runner-extraneous-async-activity.js | 33 nodejs-18.19.0+dfsg/test/parallel/test-runner-filetest-location.js | 20 nodejs-18.19.0+dfsg/test/parallel/test-runner-import-no-scheme.js | 51 nodejs-18.19.0+dfsg/test/parallel/test-runner-inspect.mjs | 8 nodejs-18.19.0+dfsg/test/parallel/test-runner-misc.js | 10 nodejs-18.19.0+dfsg/test/parallel/test-runner-mock-timers.js | 874 nodejs-18.19.0+dfsg/test/parallel/test-runner-mocking.js | 152 nodejs-18.19.0+dfsg/test/parallel/test-runner-output.mjs | 117 nodejs-18.19.0+dfsg/test/parallel/test-runner-reporters.js | 159 nodejs-18.19.0+dfsg/test/parallel/test-runner-root-after-with-refed-handles.js | 26 nodejs-18.19.0+dfsg/test/parallel/test-runner-run.mjs | 393 nodejs-18.19.0+dfsg/test/parallel/test-runner-tap-checker.js | 119 nodejs-18.19.0+dfsg/test/parallel/test-runner-tap-lexer.js | 446 nodejs-18.19.0+dfsg/test/parallel/test-runner-tap-parser-stream.js | 629 nodejs-18.19.0+dfsg/test/parallel/test-runner-tap-parser.js | 1312 nodejs-18.19.0+dfsg/test/parallel/test-runner-typechecking.js | 36 nodejs-18.19.0+dfsg/test/parallel/test-runner-v8-deserializer.mjs | 103 nodejs-18.19.0+dfsg/test/parallel/test-runner-watch-mode.mjs | 65 nodejs-18.19.0+dfsg/test/parallel/test-single-executable-application.js | 111 nodejs-18.19.0+dfsg/test/parallel/test-snapshot-api.js | 20 nodejs-18.19.0+dfsg/test/parallel/test-snapshot-argv1.js | 58 nodejs-18.19.0+dfsg/test/parallel/test-snapshot-dns-lookup-localhost-promise.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-snapshot-dns-lookup-localhost.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-snapshot-namespaced-builtin.js | 42 nodejs-18.19.0+dfsg/test/parallel/test-socket-writes-before-passed-to-tls-socket.js | 42 nodejs-18.19.0+dfsg/test/parallel/test-source-map-api.js | 27 nodejs-18.19.0+dfsg/test/parallel/test-startup-empty-regexp-statics.js | 17 nodejs-18.19.0+dfsg/test/parallel/test-stdio-pipe-stderr.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-strace-openat-openssl.js | 61 nodejs-18.19.0+dfsg/test/parallel/test-stream-compose.js | 74 nodejs-18.19.0+dfsg/test/parallel/test-stream-drop-take.js | 24 nodejs-18.19.0+dfsg/test/parallel/test-stream-duplex-from.js | 102 nodejs-18.19.0+dfsg/test/parallel/test-stream-filter.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-stream-flatMap.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-stream-forEach.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-stream-iterator-helpers-test262-tests.mjs | 2 nodejs-18.19.0+dfsg/test/parallel/test-stream-map.js | 173 nodejs-18.19.0+dfsg/test/parallel/test-stream-pipe-deadlock.js | 27 nodejs-18.19.0+dfsg/test/parallel/test-stream-pipeline.js | 106 nodejs-18.19.0+dfsg/test/parallel/test-stream-readable-destroy.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-stream-readable-dispose.js | 23 nodejs-18.19.0+dfsg/test/parallel/test-stream-readable-next-no-null.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-stream-set-default-hwm.js | 36 nodejs-18.19.0+dfsg/test/parallel/test-stream-some-find-every.mjs | 2 nodejs-18.19.0+dfsg/test/parallel/test-stream2-transform.js | 24 nodejs-18.19.0+dfsg/test/parallel/test-stream3-pipeline-async-iterator.js | 27 nodejs-18.19.0+dfsg/test/parallel/test-string-decoder.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-timers-dispose.js | 18 nodejs-18.19.0+dfsg/test/parallel/test-timers-immediate-promisified.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-timers-interval-promisified.js | 10 nodejs-18.19.0+dfsg/test/parallel/test-timers-timeout-promisified.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-tls-add-context.js | 75 nodejs-18.19.0+dfsg/test/parallel/test-tls-alert.js | 29 nodejs-18.19.0+dfsg/test/parallel/test-tls-alpn-server-client.js | 75 nodejs-18.19.0+dfsg/test/parallel/test-tls-cert-chains-concat.js | 6 nodejs-18.19.0+dfsg/test/parallel/test-tls-cert-chains-in-ca.js | 6 nodejs-18.19.0+dfsg/test/parallel/test-tls-client-auth.js | 3 nodejs-18.19.0+dfsg/test/parallel/test-tls-client-getephemeralkeyinfo.js | 17 nodejs-18.19.0+dfsg/test/parallel/test-tls-dhe.js | 123 nodejs-18.19.0+dfsg/test/parallel/test-tls-ecdh-auto.js | 34 nodejs-18.19.0+dfsg/test/parallel/test-tls-ecdh-multiple.js | 40 nodejs-18.19.0+dfsg/test/parallel/test-tls-empty-sni-context.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-tls-getprotocol.js | 16 nodejs-18.19.0+dfsg/test/parallel/test-tls-junk-server.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-tls-min-max-version.js | 46 nodejs-18.19.0+dfsg/test/parallel/test-tls-no-sslv3.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-tls-psk-circuit.js | 12 nodejs-18.19.0+dfsg/test/parallel/test-tls-server-failed-handshake-emits-clienterror.js | 3 nodejs-18.19.0+dfsg/test/parallel/test-tls-session-cache.js | 1 nodejs-18.19.0+dfsg/test/parallel/test-tls-set-ciphers-error.js | 6 nodejs-18.19.0+dfsg/test/parallel/test-tls-set-ciphers.js | 9 nodejs-18.19.0+dfsg/test/parallel/test-tls-socket-failed-handshake-emits-error.js | 3 nodejs-18.19.0+dfsg/test/parallel/test-trace-events-worker-metadata-with-name.js | 31 nodejs-18.19.0+dfsg/test/parallel/test-trace-events-worker-metadata.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-unhandled-exception-with-worker-inuse.js | 32 nodejs-18.19.0+dfsg/test/parallel/test-url-canParse-whatwg.js | 12 nodejs-18.19.0+dfsg/test/parallel/test-url-format-whatwg.js | 5 nodejs-18.19.0+dfsg/test/parallel/test-url-is-url.js | 16 nodejs-18.19.0+dfsg/test/parallel/test-url-parse-format.js | 16 nodejs-18.19.0+dfsg/test/parallel/test-url-pathtofileurl.js | 37 nodejs-18.19.0+dfsg/test/parallel/test-util-inspect.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-v8-collect-gc-profile-exit-before-stop.js | 17 nodejs-18.19.0+dfsg/test/parallel/test-v8-collect-gc-profile-in-worker.js | 16 nodejs-18.19.0+dfsg/test/parallel/test-v8-collect-gc-profile.js | 12 nodejs-18.19.0+dfsg/test/parallel/test-v8-serialize-leak.js | 24 nodejs-18.19.0+dfsg/test/parallel/test-v8-startup-snapshot-api.js | 26 nodejs-18.19.0+dfsg/test/parallel/test-vm-basic.js | 26 nodejs-18.19.0+dfsg/test/parallel/test-vm-global-get-own.js | 105 nodejs-18.19.0+dfsg/test/parallel/test-vm-global-setter.js | 149 nodejs-18.19.0+dfsg/test/parallel/test-vm-module-dynamic-import.js | 4 nodejs-18.19.0+dfsg/test/parallel/test-vm-module-link.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-vm-not-strict.js | 37 nodejs-18.19.0+dfsg/test/parallel/test-vm-set-proto-null-on-globalthis.js | 13 nodejs-18.19.0+dfsg/test/parallel/test-wasm-simple.js | 17 nodejs-18.19.0+dfsg/test/parallel/test-wasm-web-api.js | 247 nodejs-18.19.0+dfsg/test/parallel/test-watch-mode-files_watcher.mjs | 11 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-cryptokey-workers.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-derivebits-cfrg.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-derivebits-ecdh.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-derivebits-hkdf.js | 20 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-derivekey-cfrg.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-derivekey-ecdh.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-digest.js | 20 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-export-import-cfrg.js | 58 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-export-import-ec.js | 157 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-export-import-rsa.js | 69 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-export-import.js | 38 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-keygen.js | 67 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-sign-verify-ecdsa.js | 16 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-sign-verify-eddsa.js | 13 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-sign-verify-hmac.js | 19 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-sign-verify-rsa.js | 32 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-util.js | 12 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-webidl.js | 518 nodejs-18.19.0+dfsg/test/parallel/test-webcrypto-wrap-unwrap.js | 51 nodejs-18.19.0+dfsg/test/parallel/test-webstreams-abort-controller.js | 168 nodejs-18.19.0+dfsg/test/parallel/test-webstreams-compose.js | 483 nodejs-18.19.0+dfsg/test/parallel/test-webstreams-finished.js | 322 nodejs-18.19.0+dfsg/test/parallel/test-webstreams-pipeline.js | 422 nodejs-18.19.0+dfsg/test/parallel/test-whatwg-encoding-custom-textdecoder.js | 13 nodejs-18.19.0+dfsg/test/parallel/test-whatwg-readablebytestreambyob.js | 62 nodejs-18.19.0+dfsg/test/parallel/test-whatwg-readablestream.js | 30 nodejs-18.19.0+dfsg/test/parallel/test-whatwg-transformstream.js | 19 nodejs-18.19.0+dfsg/test/parallel/test-whatwg-url-canparse.js | 21 nodejs-18.19.0+dfsg/test/parallel/test-whatwg-url-custom-inspect.js | 22 nodejs-18.19.0+dfsg/test/parallel/test-whatwg-url-custom-parsing.js | 7 nodejs-18.19.0+dfsg/test/parallel/test-whatwg-url-custom-searchparams-constructor.js | 9 nodejs-18.19.0+dfsg/test/parallel/test-whatwg-url-custom-searchparams.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-whatwg-url-properties.js | 28 nodejs-18.19.0+dfsg/test/parallel/test-whatwg-webstreams-compression.js | 16 nodejs-18.19.0+dfsg/test/parallel/test-whatwg-webstreams-transfer.js | 55 nodejs-18.19.0+dfsg/test/parallel/test-worker-data-url.js | 6 nodejs-18.19.0+dfsg/test/parallel/test-worker-http2-stream-terminate.js | 63 nodejs-18.19.0+dfsg/test/parallel/test-worker-memory.js | 2 nodejs-18.19.0+dfsg/test/parallel/test-worker-message-channel.js | 3 nodejs-18.19.0+dfsg/test/parallel/test-worker-name.js | 22 nodejs-18.19.0+dfsg/test/parallel/test-worker-no-atomics.js | 21 nodejs-18.19.0+dfsg/test/parallel/test-worker-no-sab.js | 21 nodejs-18.19.0+dfsg/test/parallel/test-worker-voluntarily-exit-followed-by-addition.js | 18 nodejs-18.19.0+dfsg/test/parallel/test-worker-voluntarily-exit-followed-by-throw.js | 23 nodejs-18.19.0+dfsg/test/parallel/test-wrap-js-stream-exceptions.js | 2 nodejs-18.19.0+dfsg/test/pseudo-tty/console_colors.js | 2 nodejs-18.19.0+dfsg/test/pseudo-tty/pty_helper.py | 102 nodejs-18.19.0+dfsg/test/pseudo-tty/readline-dumb-tty.js | 2 nodejs-18.19.0+dfsg/test/pseudo-tty/repl-dumb-tty.js | 2 nodejs-18.19.0+dfsg/test/pseudo-tty/test-assert-no-color.js | 2 nodejs-18.19.0+dfsg/test/pseudo-tty/test-assert-position-indicator.js | 4 nodejs-18.19.0+dfsg/test/pseudo-tty/test-set-raw-mode-reset-process-exit.js | 2 nodejs-18.19.0+dfsg/test/pseudo-tty/test-set-raw-mode-reset-signal.js | 2 nodejs-18.19.0+dfsg/test/pseudo-tty/test-set-raw-mode-reset.js | 2 nodejs-18.19.0+dfsg/test/pseudo-tty/test-trace-sigint-disabled.js | 2 nodejs-18.19.0+dfsg/test/pseudo-tty/test-trace-sigint-on-idle.js | 2 nodejs-18.19.0+dfsg/test/pseudo-tty/test-trace-sigint.js | 2 nodejs-18.19.0+dfsg/test/pseudo-tty/test-tty-color-support.js | 6 nodejs-18.19.0+dfsg/test/pseudo-tty/testcfg.py | 2 nodejs-18.19.0+dfsg/test/pummel/pummel.status | 6 nodejs-18.19.0+dfsg/test/pummel/test-crypto-timing-safe-equal-benchmarks.js | 4 nodejs-18.19.0+dfsg/test/pummel/test-dh-regr.js | 2 nodejs-18.19.0+dfsg/test/pummel/test-fs-readfile-tostring-fail.js | 8 nodejs-18.19.0+dfsg/test/pummel/test-fs-watch-file.js | 4 nodejs-18.19.0+dfsg/test/pummel/test-heapdump-dns.js | 4 nodejs-18.19.0+dfsg/test/pummel/test-heapdump-env.js | 6 nodejs-18.19.0+dfsg/test/pummel/test-heapdump-fs-promise.js | 6 nodejs-18.19.0+dfsg/test/pummel/test-heapdump-http2.js | 26 nodejs-18.19.0+dfsg/test/pummel/test-heapdump-inspector.js | 6 nodejs-18.19.0+dfsg/test/pummel/test-heapdump-tls.js | 4 nodejs-18.19.0+dfsg/test/pummel/test-heapdump-worker.js | 2 nodejs-18.19.0+dfsg/test/pummel/test-heapdump-zlib.js | 8 nodejs-18.19.0+dfsg/test/pummel/test-heapsnapshot-near-heap-limit-big.js | 4 nodejs-18.19.0+dfsg/test/pummel/test-heapsnapshot-near-heap-limit-bounded.js | 2 nodejs-18.19.0+dfsg/test/pummel/test-heapsnapshot-near-heap-limit-by-api.js | 2 nodejs-18.19.0+dfsg/test/pummel/test-heapsnapshot-near-heap-limit.js | 2 nodejs-18.19.0+dfsg/test/pummel/test-http-many-keep-alive-connections.js | 4 nodejs-18.19.0+dfsg/test/pummel/test-http-upload-timeout.js | 2 nodejs-18.19.0+dfsg/test/pummel/test-https-large-response.js | 4 nodejs-18.19.0+dfsg/test/pummel/test-https-no-reader.js | 4 nodejs-18.19.0+dfsg/test/pummel/test-keep-alive.js | 8 nodejs-18.19.0+dfsg/test/pummel/test-net-bytes-per-incoming-chunk-overhead.js | 50 nodejs-18.19.0+dfsg/test/pummel/test-net-throttle.js | 88 nodejs-18.19.0+dfsg/test/pummel/test-policy-integrity-dep.js | 22 nodejs-18.19.0+dfsg/test/pummel/test-policy-integrity-parent-commonjs.js | 18 nodejs-18.19.0+dfsg/test/pummel/test-policy-integrity-parent-module.js | 18 nodejs-18.19.0+dfsg/test/pummel/test-policy-integrity-parent-no-package-json.js | 18 nodejs-18.19.0+dfsg/test/pummel/test-policy-integrity-worker-commonjs.js | 18 nodejs-18.19.0+dfsg/test/pummel/test-policy-integrity-worker-module.js | 18 nodejs-18.19.0+dfsg/test/pummel/test-policy-integrity-worker-no-package-json.js | 18 nodejs-18.19.0+dfsg/test/pummel/test-regress-GH-892.js | 2 nodejs-18.19.0+dfsg/test/pummel/test-tls-server-large-request.js | 4 nodejs-18.19.0+dfsg/test/pummel/test-tls-throttle.js | 4 nodejs-18.19.0+dfsg/test/pummel/test-vm-race.js | 2 nodejs-18.19.0+dfsg/test/pummel/test-webcrypto-derivebits-pbkdf2.js | 154 nodejs-18.19.0+dfsg/test/pummel/test-worker-take-heapsnapshot.js | 2 nodejs-18.19.0+dfsg/test/root.status | 3 nodejs-18.19.0+dfsg/test/sequential/sequential.status | 4 nodejs-18.19.0+dfsg/test/sequential/test-async-wrap-getasyncid.js | 4 nodejs-18.19.0+dfsg/test/sequential/test-cpu-prof-invalid-options.js | 4 nodejs-18.19.0+dfsg/test/sequential/test-debugger-auto-resume.mjs | 35 nodejs-18.19.0+dfsg/test/sequential/test-debugger-backtrace.js | 33 nodejs-18.19.0+dfsg/test/sequential/test-debugger-break.js | 110 nodejs-18.19.0+dfsg/test/sequential/test-debugger-breakpoint-exists.js | 24 nodejs-18.19.0+dfsg/test/sequential/test-debugger-clear-breakpoints.js | 53 nodejs-18.19.0+dfsg/test/sequential/test-debugger-exceptions.js | 58 nodejs-18.19.0+dfsg/test/sequential/test-debugger-exec-scope.mjs | 23 nodejs-18.19.0+dfsg/test/sequential/test-debugger-exec.js | 68 nodejs-18.19.0+dfsg/test/sequential/test-debugger-heap-profiler.js | 39 nodejs-18.19.0+dfsg/test/sequential/test-debugger-help.mjs | 19 nodejs-18.19.0+dfsg/test/sequential/test-debugger-launch.mjs | 1 nodejs-18.19.0+dfsg/test/sequential/test-debugger-list.js | 30 nodejs-18.19.0+dfsg/test/sequential/test-debugger-low-level.js | 35 nodejs-18.19.0+dfsg/test/sequential/test-debugger-object-type-remote-object.js | 42 nodejs-18.19.0+dfsg/test/sequential/test-debugger-preserve-breaks.js | 47 nodejs-18.19.0+dfsg/test/sequential/test-debugger-profile-command.js | 35 nodejs-18.19.0+dfsg/test/sequential/test-debugger-profile.js | 41 nodejs-18.19.0+dfsg/test/sequential/test-debugger-random-port-with-inspect-port.js | 25 nodejs-18.19.0+dfsg/test/sequential/test-debugger-random-port.js | 30 nodejs-18.19.0+dfsg/test/sequential/test-debugger-repeat-last.js | 45 nodejs-18.19.0+dfsg/test/sequential/test-debugger-restart-message.js | 37 nodejs-18.19.0+dfsg/test/sequential/test-debugger-run-after-quit-restart.js | 90 nodejs-18.19.0+dfsg/test/sequential/test-debugger-sb-before-load.js | 33 nodejs-18.19.0+dfsg/test/sequential/test-debugger-scripts.js | 42 nodejs-18.19.0+dfsg/test/sequential/test-debugger-use-strict.js | 32 nodejs-18.19.0+dfsg/test/sequential/test-debugger-watchers.mjs | 49 nodejs-18.19.0+dfsg/test/sequential/test-fs-opendir-recursive.js | 220 nodejs-18.19.0+dfsg/test/sequential/test-fs-readdir-recursive.js | 195 nodejs-18.19.0+dfsg/test/sequential/test-gc-http-client-onerror.js | 2 nodejs-18.19.0+dfsg/test/sequential/test-gc-http-client-timeout.js | 25 nodejs-18.19.0+dfsg/test/sequential/test-gc-http-client.js | 2 nodejs-18.19.0+dfsg/test/sequential/test-inspector-async-call-stack-abort.js | 36 nodejs-18.19.0+dfsg/test/sequential/test-inspector-async-call-stack.js | 83 nodejs-18.19.0+dfsg/test/sequential/test-inspector-async-hook-setup-at-inspect-brk.js | 49 nodejs-18.19.0+dfsg/test/sequential/test-inspector-async-hook-setup-at-signal.js | 84 nodejs-18.19.0+dfsg/test/sequential/test-inspector-async-stack-traces-promise-then.js | 71 nodejs-18.19.0+dfsg/test/sequential/test-inspector-async-stack-traces-set-interval.js | 47 nodejs-18.19.0+dfsg/test/sequential/test-inspector-break-e.js | 21 nodejs-18.19.0+dfsg/test/sequential/test-inspector-break-when-eval.js | 74 nodejs-18.19.0+dfsg/test/sequential/test-inspector-console.js | 37 nodejs-18.19.0+dfsg/test/sequential/test-inspector-contexts.js | 169 nodejs-18.19.0+dfsg/test/sequential/test-inspector-debug-brk-flag.js | 39 nodejs-18.19.0+dfsg/test/sequential/test-inspector-debug-end.js | 44 nodejs-18.19.0+dfsg/test/sequential/test-inspector-enabled.js | 29 nodejs-18.19.0+dfsg/test/sequential/test-inspector-exception.js | 44 nodejs-18.19.0+dfsg/test/sequential/test-inspector-has-inspector-false.js | 15 nodejs-18.19.0+dfsg/test/sequential/test-inspector-invalid-args.js | 27 nodejs-18.19.0+dfsg/test/sequential/test-inspector-ip-detection.js | 46 nodejs-18.19.0+dfsg/test/sequential/test-inspector-not-blocked-on-idle.js | 20 nodejs-18.19.0+dfsg/test/sequential/test-inspector-open.js | 114 nodejs-18.19.0+dfsg/test/sequential/test-inspector-overwrite-config.js | 44 nodejs-18.19.0+dfsg/test/sequential/test-inspector-port-zero.js | 55 nodejs-18.19.0+dfsg/test/sequential/test-inspector-resource-name-to-url.js | 40 nodejs-18.19.0+dfsg/test/sequential/test-inspector-runtime-evaluate-with-timeout.js | 25 nodejs-18.19.0+dfsg/test/sequential/test-inspector-scriptparsed-context.js | 86 nodejs-18.19.0+dfsg/test/sequential/test-inspector-stop-profile-after-done.js | 30 nodejs-18.19.0+dfsg/test/sequential/test-inspector-stops-no-file.js | 16 nodejs-18.19.0+dfsg/test/sequential/test-inspector-stress-http.js | 31 nodejs-18.19.0+dfsg/test/sequential/test-inspector.js | 316 nodejs-18.19.0+dfsg/test/sequential/test-perf-hooks.js | 209 nodejs-18.19.0+dfsg/test/sequential/test-tls-psk-client.js | 2 nodejs-18.19.0+dfsg/test/sequential/test-tls-securepair-client.js | 6 nodejs-18.19.0+dfsg/test/sequential/test-watch-mode-inspect.mjs | 5 nodejs-18.19.0+dfsg/test/sequential/test-watch-mode.mjs | 395 nodejs-18.19.0+dfsg/test/sequential/test-worker-http2-stream-terminate.js | 63 nodejs-18.19.0+dfsg/test/wasi/c/sock.c | 17 nodejs-18.19.0+dfsg/test/wasi/test-return-on-exit.js | 1 nodejs-18.19.0+dfsg/test/wasi/test-wasi-initialize-validation.js | 1 nodejs-18.19.0+dfsg/test/wasi/test-wasi-not-started.js | 1 nodejs-18.19.0+dfsg/test/wasi/test-wasi-options-validation.js | 2 nodejs-18.19.0+dfsg/test/wasi/test-wasi-require-flag.js | 9 nodejs-18.19.0+dfsg/test/wasi/test-wasi-start-validation.js | 1 nodejs-18.19.0+dfsg/test/wasi/test-wasi-stdio.js | 1 nodejs-18.19.0+dfsg/test/wasi/test-wasi-symlinks.js | 1 nodejs-18.19.0+dfsg/test/wasi/test-wasi-worker-terminate.js | 1 nodejs-18.19.0+dfsg/test/wasi/test-wasi.js | 2 nodejs-18.19.0+dfsg/test/wpt/.eslintrc.yaml | 3 nodejs-18.19.0+dfsg/test/wpt/README.md | 1 nodejs-18.19.0+dfsg/test/wpt/status/dom/events.json | 11 nodejs-18.19.0+dfsg/test/wpt/status/encoding.json | 11 nodejs-18.19.0+dfsg/test/wpt/status/url.json | 26 nodejs-18.19.0+dfsg/test/wpt/status/wasm/webapi.json | 3 nodejs-18.19.0+dfsg/test/wpt/test-abort.js | 2 nodejs-18.19.0+dfsg/test/wpt/test-atob.js | 1 nodejs-18.19.0+dfsg/test/wpt/test-blob.js | 8 nodejs-18.19.0+dfsg/test/wpt/test-broadcastchannel.js | 6 nodejs-18.19.0+dfsg/test/wpt/test-console.js | 2 nodejs-18.19.0+dfsg/test/wpt/test-domexception.js | 12 nodejs-18.19.0+dfsg/test/wpt/test-encoding.js | 7 nodejs-18.19.0+dfsg/test/wpt/test-events.js | 2 nodejs-18.19.0+dfsg/test/wpt/test-file.js | 1 nodejs-18.19.0+dfsg/test/wpt/test-hr-time.js | 1 nodejs-18.19.0+dfsg/test/wpt/test-microtask-queuing.js | 1 nodejs-18.19.0+dfsg/test/wpt/test-performance-timeline.js | 2 nodejs-18.19.0+dfsg/test/wpt/test-streams.js | 2 nodejs-18.19.0+dfsg/test/wpt/test-structured-clone.js | 1 nodejs-18.19.0+dfsg/test/wpt/test-timers.js | 1 nodejs-18.19.0+dfsg/test/wpt/test-url.js | 4 nodejs-18.19.0+dfsg/test/wpt/test-user-timing.js | 2 nodejs-18.19.0+dfsg/test/wpt/test-wasm-webapi.js | 1 nodejs-18.19.0+dfsg/tools/build-addons.mjs | 4 nodejs-18.19.0+dfsg/tools/dep_updaters/README.md | 45 nodejs-18.19.0+dfsg/tools/dep_updaters/update-acorn-walk.sh | 53 nodejs-18.19.0+dfsg/tools/dep_updaters/update-acorn.sh | 63 nodejs-18.19.0+dfsg/tools/dep_updaters/update-ada.sh | 55 nodejs-18.19.0+dfsg/tools/dep_updaters/update-base64.sh | 86 nodejs-18.19.0+dfsg/tools/dep_updaters/update-brotli.sh | 79 nodejs-18.19.0+dfsg/tools/dep_updaters/update-c-ares.sh | 77 nodejs-18.19.0+dfsg/tools/dep_updaters/update-cjs-module-lexer.sh | 73 nodejs-18.19.0+dfsg/tools/dep_updaters/update-eslint.sh | 80 nodejs-18.19.0+dfsg/tools/dep_updaters/update-googletest.sh | 93 nodejs-18.19.0+dfsg/tools/dep_updaters/update-histogram.sh | 74 nodejs-18.19.0+dfsg/tools/dep_updaters/update-icu.sh | 75 nodejs-18.19.0+dfsg/tools/dep_updaters/update-libuv.sh | 45 nodejs-18.19.0+dfsg/tools/dep_updaters/update-llhttp.sh | 87 nodejs-18.19.0+dfsg/tools/dep_updaters/update-minimatch.sh | 59 nodejs-18.19.0+dfsg/tools/dep_updaters/update-nghttp2.sh | 89 nodejs-18.19.0+dfsg/tools/dep_updaters/update-nghttp3.sh | 73 nodejs-18.19.0+dfsg/tools/dep_updaters/update-ngtcp2.sh | 79 nodejs-18.19.0+dfsg/tools/dep_updaters/update-npm.sh | 61 nodejs-18.19.0+dfsg/tools/dep_updaters/update-openssl.sh | 105 nodejs-18.19.0+dfsg/tools/dep_updaters/update-postject.sh | 43 nodejs-18.19.0+dfsg/tools/dep_updaters/update-root-certs.mjs | 250 nodejs-18.19.0+dfsg/tools/dep_updaters/update-simdutf.sh | 71 nodejs-18.19.0+dfsg/tools/dep_updaters/update-undici.sh | 70 nodejs-18.19.0+dfsg/tools/dep_updaters/update-uvwasi.sh | 83 nodejs-18.19.0+dfsg/tools/dep_updaters/update-v8-patch.sh | 30 nodejs-18.19.0+dfsg/tools/dep_updaters/update-zlib.sh | 92 nodejs-18.19.0+dfsg/tools/dep_updaters/utils.sh | 31 nodejs-18.19.0+dfsg/tools/doc/addon-verify.mjs | 10 nodejs-18.19.0+dfsg/tools/doc/allhtml.mjs | 4 nodejs-18.19.0+dfsg/tools/doc/alljson.mjs | 4 nodejs-18.19.0+dfsg/tools/doc/apilinks.mjs | 2 nodejs-18.19.0+dfsg/tools/doc/deprecationCodes.mjs | 8 nodejs-18.19.0+dfsg/tools/doc/html.mjs | 30 nodejs-18.19.0+dfsg/tools/doc/json.mjs | 4 nodejs-18.19.0+dfsg/tools/doc/markdown.mjs | 2 nodejs-18.19.0+dfsg/tools/doc/package-lock.json | 1940 nodejs-18.19.0+dfsg/tools/doc/package.json | 12 nodejs-18.19.0+dfsg/tools/doc/type-parser.mjs | 11 nodejs-18.19.0+dfsg/tools/find-inactive-collaborators.mjs | 12 nodejs-18.19.0+dfsg/tools/find-inactive-tsc.mjs | 158 nodejs-18.19.0+dfsg/tools/getsharedopensslhasquic.py | 2 nodejs-18.19.0+dfsg/tools/icu/README.md | 2 nodejs-18.19.0+dfsg/tools/icu/current_ver.dep | 4 nodejs-18.19.0+dfsg/tools/icu/icu-generic.gyp | 24 nodejs-18.19.0+dfsg/tools/icu/icutrim.py | 2 nodejs-18.19.0+dfsg/tools/install.py | 2 nodejs-18.19.0+dfsg/tools/js2c.py | 23 nodejs-18.19.0+dfsg/tools/license2rtf.mjs | 2 nodejs-18.19.0+dfsg/tools/lint-md/lint-md.mjs |16125 +++-- nodejs-18.19.0+dfsg/tools/lint-md/list-released-versions-from-changelogs.mjs | 2 nodejs-18.19.0+dfsg/tools/lint-md/package-lock.json | 6716 +- nodejs-18.19.0+dfsg/tools/lint-md/package.json | 18 nodejs-18.19.0+dfsg/tools/lint-pr-url.mjs | 2 nodejs-18.19.0+dfsg/tools/lint-sh.mjs | 8 nodejs-18.19.0+dfsg/tools/msvs/msi/product.wxs | 12 nodejs-18.19.0+dfsg/tools/msvs/vswhere_usability_wrapper.cmd | 8 nodejs-18.19.0+dfsg/tools/pseudo-tty.py | 104 nodejs-18.19.0+dfsg/tools/release.sh | 4 nodejs-18.19.0+dfsg/tools/sign.bat | 2 nodejs-18.19.0+dfsg/tools/test.py | 50 nodejs-18.19.0+dfsg/tools/update-acorn-walk.sh | 30 nodejs-18.19.0+dfsg/tools/update-acorn.sh | 30 nodejs-18.19.0+dfsg/tools/update-authors.mjs | 112 nodejs-18.19.0+dfsg/tools/update-base64.sh | 47 nodejs-18.19.0+dfsg/tools/update-cares.sh | 56 nodejs-18.19.0+dfsg/tools/update-eslint.sh | 37 nodejs-18.19.0+dfsg/tools/update-nghttp2.sh | 59 nodejs-18.19.0+dfsg/tools/update-npm.sh | 53 nodejs-18.19.0+dfsg/tools/update-undici.sh | 35 nodejs-18.19.0+dfsg/tools/v8/fetch_deps.py | 2 nodejs-18.19.0+dfsg/tools/v8/node_common.py | 2 nodejs-18.19.0+dfsg/tools/v8_gypfiles/GN-scraper.py | 2 nodejs-18.19.0+dfsg/tools/v8_gypfiles/d8.gyp | 6 nodejs-18.19.0+dfsg/tools/v8_gypfiles/directory.build.props | 10 nodejs-18.19.0+dfsg/tools/v8_gypfiles/features.gypi | 22 nodejs-18.19.0+dfsg/tools/v8_gypfiles/toolchain.gypi | 16 nodejs-18.19.0+dfsg/tools/v8_gypfiles/v8.gyp | 38 nodejs-18.19.0+dfsg/tsconfig.json | 3 nodejs-18.19.0+dfsg/types-node/README.md | 11 nodejs-18.19.0+dfsg/types-node/assert.d.ts | 78 nodejs-18.19.0+dfsg/types-node/assert/strict.d.ts | 8 nodejs-18.19.0+dfsg/types-node/async_hooks.d.ts | 35 nodejs-18.19.0+dfsg/types-node/buffer.d.ts | 133 nodejs-18.19.0+dfsg/types-node/child_process.d.ts | 449 nodejs-18.19.0+dfsg/types-node/cluster.d.ts | 198 nodejs-18.19.0+dfsg/types-node/console.d.ts | 16 nodejs-18.19.0+dfsg/types-node/constants.d.ts | 23 nodejs-18.19.0+dfsg/types-node/crypto.d.ts | 1031 nodejs-18.19.0+dfsg/types-node/dgram.d.ts | 131 nodejs-18.19.0+dfsg/types-node/diagnostics_channel.d.ts | 45 nodejs-18.19.0+dfsg/types-node/dns.d.ts | 276 nodejs-18.19.0+dfsg/types-node/dns/promises.d.ts | 63 nodejs-18.19.0+dfsg/types-node/dom-events.d.ts | 138 nodejs-18.19.0+dfsg/types-node/domain.d.ts | 8 nodejs-18.19.0+dfsg/types-node/events.d.ts | 141 nodejs-18.19.0+dfsg/types-node/fs.d.ts | 947 nodejs-18.19.0+dfsg/types-node/fs/promises.d.ts | 207 nodejs-18.19.0+dfsg/types-node/globals.d.ts | 121 nodejs-18.19.0+dfsg/types-node/http.d.ts | 514 nodejs-18.19.0+dfsg/types-node/http2.d.ts | 1010 nodejs-18.19.0+dfsg/types-node/https.d.ts | 212 nodejs-18.19.0+dfsg/types-node/index.d.ts | 46 nodejs-18.19.0+dfsg/types-node/inspector.d.ts | 2 nodejs-18.19.0+dfsg/types-node/module.d.ts | 164 nodejs-18.19.0+dfsg/types-node/net.d.ts | 230 nodejs-18.19.0+dfsg/types-node/os.d.ts | 23 nodejs-18.19.0+dfsg/types-node/package.json | 182 nodejs-18.19.0+dfsg/types-node/path.d.ts | 26 nodejs-18.19.0+dfsg/types-node/perf_hooks.d.ts | 39 nodejs-18.19.0+dfsg/types-node/process.d.ts | 295 nodejs-18.19.0+dfsg/types-node/punycode.d.ts | 8 nodejs-18.19.0+dfsg/types-node/querystring.d.ts | 18 nodejs-18.19.0+dfsg/types-node/readline.d.ts | 125 nodejs-18.19.0+dfsg/types-node/readline/promises.d.ts | 10 nodejs-18.19.0+dfsg/types-node/repl.d.ts | 128 nodejs-18.19.0+dfsg/types-node/stream.d.ts | 671 nodejs-18.19.0+dfsg/types-node/stream/consumers.d.ts | 18 nodejs-18.19.0+dfsg/types-node/stream/promises.d.ts | 71 nodejs-18.19.0+dfsg/types-node/stream/web.d.ts | 46 nodejs-18.19.0+dfsg/types-node/string_decoder.d.ts | 6 nodejs-18.19.0+dfsg/types-node/test.d.ts | 796 nodejs-18.19.0+dfsg/types-node/timers.d.ts | 56 nodejs-18.19.0+dfsg/types-node/timers/promises.d.ts | 8 nodejs-18.19.0+dfsg/types-node/tls.d.ts | 333 nodejs-18.19.0+dfsg/types-node/trace_events.d.ts | 6 nodejs-18.19.0+dfsg/types-node/ts4.8/assert.d.ts | 78 nodejs-18.19.0+dfsg/types-node/ts4.8/assert/strict.d.ts | 8 nodejs-18.19.0+dfsg/types-node/ts4.8/async_hooks.d.ts | 35 nodejs-18.19.0+dfsg/types-node/ts4.8/buffer.d.ts | 134 nodejs-18.19.0+dfsg/types-node/ts4.8/child_process.d.ts | 449 nodejs-18.19.0+dfsg/types-node/ts4.8/cluster.d.ts | 198 nodejs-18.19.0+dfsg/types-node/ts4.8/console.d.ts | 16 nodejs-18.19.0+dfsg/types-node/ts4.8/constants.d.ts | 23 nodejs-18.19.0+dfsg/types-node/ts4.8/crypto.d.ts | 1026 nodejs-18.19.0+dfsg/types-node/ts4.8/dgram.d.ts | 131 nodejs-18.19.0+dfsg/types-node/ts4.8/diagnostics_channel.d.ts | 47 nodejs-18.19.0+dfsg/types-node/ts4.8/dns.d.ts | 276 nodejs-18.19.0+dfsg/types-node/ts4.8/dns/promises.d.ts | 63 nodejs-18.19.0+dfsg/types-node/ts4.8/dom-events.d.ts | 138 nodejs-18.19.0+dfsg/types-node/ts4.8/domain.d.ts | 8 nodejs-18.19.0+dfsg/types-node/ts4.8/events.d.ts | 92 nodejs-18.19.0+dfsg/types-node/ts4.8/fs.d.ts | 947 nodejs-18.19.0+dfsg/types-node/ts4.8/fs/promises.d.ts | 207 nodejs-18.19.0+dfsg/types-node/ts4.8/globals.d.ts | 139 nodejs-18.19.0+dfsg/types-node/ts4.8/http.d.ts | 514 nodejs-18.19.0+dfsg/types-node/ts4.8/http2.d.ts | 1010 nodejs-18.19.0+dfsg/types-node/ts4.8/https.d.ts | 212 nodejs-18.19.0+dfsg/types-node/ts4.8/inspector.d.ts | 2 nodejs-18.19.0+dfsg/types-node/ts4.8/module.d.ts | 164 nodejs-18.19.0+dfsg/types-node/ts4.8/net.d.ts | 232 nodejs-18.19.0+dfsg/types-node/ts4.8/os.d.ts | 23 nodejs-18.19.0+dfsg/types-node/ts4.8/path.d.ts | 26 nodejs-18.19.0+dfsg/types-node/ts4.8/perf_hooks.d.ts | 39 nodejs-18.19.0+dfsg/types-node/ts4.8/process.d.ts | 295 nodejs-18.19.0+dfsg/types-node/ts4.8/punycode.d.ts | 8 nodejs-18.19.0+dfsg/types-node/ts4.8/querystring.d.ts | 18 nodejs-18.19.0+dfsg/types-node/ts4.8/readline.d.ts | 125 nodejs-18.19.0+dfsg/types-node/ts4.8/readline/promises.d.ts | 10 nodejs-18.19.0+dfsg/types-node/ts4.8/repl.d.ts | 128 nodejs-18.19.0+dfsg/types-node/ts4.8/stream.d.ts | 677 nodejs-18.19.0+dfsg/types-node/ts4.8/stream/consumers.d.ts | 18 nodejs-18.19.0+dfsg/types-node/ts4.8/stream/promises.d.ts | 71 nodejs-18.19.0+dfsg/types-node/ts4.8/stream/web.d.ts | 46 nodejs-18.19.0+dfsg/types-node/ts4.8/string_decoder.d.ts | 6 nodejs-18.19.0+dfsg/types-node/ts4.8/test.d.ts | 796 nodejs-18.19.0+dfsg/types-node/ts4.8/timers.d.ts | 56 nodejs-18.19.0+dfsg/types-node/ts4.8/timers/promises.d.ts | 8 nodejs-18.19.0+dfsg/types-node/ts4.8/tls.d.ts | 333 nodejs-18.19.0+dfsg/types-node/ts4.8/trace_events.d.ts | 6 nodejs-18.19.0+dfsg/types-node/ts4.8/tty.d.ts | 20 nodejs-18.19.0+dfsg/types-node/ts4.8/url.d.ts | 82 nodejs-18.19.0+dfsg/types-node/ts4.8/util.d.ts | 388 nodejs-18.19.0+dfsg/types-node/ts4.8/v8.d.ts | 153 nodejs-18.19.0+dfsg/types-node/ts4.8/vm.d.ts | 210 nodejs-18.19.0+dfsg/types-node/ts4.8/wasi.d.ts | 8 nodejs-18.19.0+dfsg/types-node/ts4.8/worker_threads.d.ts | 177 nodejs-18.19.0+dfsg/types-node/ts4.8/zlib.d.ts | 18 nodejs-18.19.0+dfsg/types-node/tty.d.ts | 20 nodejs-18.19.0+dfsg/types-node/url.d.ts | 82 nodejs-18.19.0+dfsg/types-node/util.d.ts | 388 nodejs-18.19.0+dfsg/types-node/v8.d.ts | 153 nodejs-18.19.0+dfsg/types-node/vm.d.ts | 210 nodejs-18.19.0+dfsg/types-node/wasi.d.ts | 8 nodejs-18.19.0+dfsg/types-node/worker_threads.d.ts | 177 nodejs-18.19.0+dfsg/types-node/zlib.d.ts | 18 nodejs-18.19.0+dfsg/typings/internalBinding/url.d.ts | 12 nodejs-18.19.0+dfsg/typings/primordials.d.ts | 71 nodejs-18.19.0+dfsg/vcbuild.bat | 17 4286 files changed, 335828 insertions(+), 96062 deletions(-) diff -Nru nodejs-18.13.0+dfsg1/.devcontainer/.devcontainer.json nodejs-18.19.0+dfsg/.devcontainer/.devcontainer.json --- nodejs-18.13.0+dfsg1/.devcontainer/.devcontainer.json 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/.devcontainer/.devcontainer.json 2023-11-29 15:10:36.000000000 +0000 @@ -0,0 +1,19 @@ +{ + "name": "Node.js Core Developer Environment", + "extensions": [ + "github.vscode-pull-request-github", + "ms-vsliveshare.vsliveshare", + "vscode-icons-team.vscode-icons", + "visualstudioexptteam.vscodeintellicode" + ], + "dockerFile": "Dockerfile", + "initializeCommand": "docker system prune -f -a", + "settings": { + "terminal.integrated.profiles.linux": { + "zsh (login)": { + "path": "zsh", + "args": ["-l"] + } + } + } +} diff -Nru nodejs-18.13.0+dfsg1/.devcontainer/Dockerfile nodejs-18.19.0+dfsg/.devcontainer/Dockerfile --- nodejs-18.13.0+dfsg1/.devcontainer/Dockerfile 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/.devcontainer/Dockerfile 2023-11-29 15:10:36.000000000 +0000 @@ -0,0 +1 @@ +FROM nodejs/devcontainer:nightly diff -Nru nodejs-18.13.0+dfsg1/.flake8 nodejs-18.19.0+dfsg/.flake8 --- nodejs-18.13.0+dfsg1/.flake8 2023-01-05 22:46:43.000000000 +0000 +++ nodejs-18.19.0+dfsg/.flake8 1970-01-01 00:00:00.000000000 +0000 @@ -1,3 +0,0 @@ -[flake8] -exclude=.git,deps,lib,src,tools/gyp,tools/inspector_protocol,tools/pip,tools/v8_gypfiles/broken -ignore=E1,E2,E3,E4,E5,E7,W5,W6 diff -Nru nodejs-18.13.0+dfsg1/AUTHORS nodejs-18.19.0+dfsg/AUTHORS --- nodejs-18.13.0+dfsg1/AUTHORS 2023-01-05 22:46:43.000000000 +0000 +++ nodejs-18.19.0+dfsg/AUTHORS 1970-01-01 00:00:00.000000000 +0000 @@ -1,3589 +0,0 @@ -# Authors ordered by first contribution. - -Ryan Dahl -Urban Hafner -Joshaven Potter -Abe Fettig -Kevin van Zonneveld -Michael Carter -Jeff Smick -Jon Crosby -Felix Geisendörfer -Ray Morgan -Jérémy Lal -Isaac Z. Schlueter -Brandon Beacher -Tim Caswell -Connor Dunn -Johan Sørensen -Friedemann Altrock -Onne Gorter -Rhys Jones -Jan Lehnardt -Simon Willison -Chew Choon Keat -Jered Schmidt -Michaeljohn Clement -Karl Guertin -Xavier Shay -Christopher Lenz -TJ Holowaychuk -Johan Dahlberg -Simon Cornelius P. Umacob -Ryan McGrath -Rasmus Andersson -Micheil Smith -Jonas Pfenniger -David Sklar -Charles Lehner -Elliott Cable -Benjamin Thomas -San-Tai Hsu -Ben Williamson -Joseph Pecoraro -Alexis Sellier -Blaine Cook -Stanislav Opichal -Aaron Heckmann -Mikeal Rogers -Matt Brubeck -Michael Stillwell -Yuichiro MASUI -Mark Hansen -Zoran Tomicic -Jeremy Ashkenas -Scott González -James Duncan -Arlo Breault -Kris Kowal -Jacek Becela -Rob Ellis -Tim Smart -Herbert Vojčík -Krishna Rajendran -Nicholas Kinsey -Scott Taylor -Carson McDonald -Matt Ranney -James Herdman -Julian Lamb -Brian Hammond -Mathias Pettersson -Thomas Lee -Daniel Berger -Paulo Matias -Peter Griess -Jonathan Knezek -Jonathan Rentzsch -Ben Noordhuis -Elijah Insua -Andrew Johnston -Brian White -Aapo Laitinen -Sam Hughes -Orlando Vazquez -Raffaele Sena -Brian McKenna -Paul Querna -Ben Lowery -Peter Dekkers -David Siegel -Marshall Culpepper -Ruben Rodriguez -Dmitry Baranovskiy -Blake Mizerany -Jerome Etienne -Dmitriy Shalashov -Adam Wiggins -Rick Olson -Sergey Kryzhanovsky -Marco Rogers -Benjamin Fritsch -Jan Kassens -Robert Keizer -Sam Shull -Chandra Sekar S -Andrew Naylor -Benjamin Kramer -Danny Coates -Nick Stenning -Bert Belder -Trent Mick -Fedor Indutny -Illarionov Oleg -Aria Stewart -Johan Euphrosine -Russell Haering -Bradley Meck -Tobie Langel -Tony Metzidis -Mark Nottingham -Sam Stephenson -Jorge Chamorro Bieling -Evan Larkin -Sean Coates -Tom Hughes -Joshua Peek -Nathan Rajlich -Peteris Krumins -AJ ONeal -Sami Samhuri -Nikhil Marathe -Vitali Lovich -Stéphan Kochen -Oleg Efimov -Guillaume Tuton -Tim Cooijmans -Dan Søndergaard -Silas Sewell -Wade Simmons -Daniel Gröber -Travis Swicegood -Oleg Slobodskoi -Jeremy Martin -Kimberly Wilber -Sean Braithwaite -Anders Conbere -Devin Torres -Theo Schlossnagle -Kai Chen -Daniel Chcouri <333222@gmail.com> -Mihai Călin Bazon -Kevin Millikin -Ali Farhadi -Daniel Ennis -Carter Allen -Greg Hughes -David Trejo -Joe Walnes -Koichi Kobayashi -Konstantin Käfer -Richard Rodger -Andreas Reich -Tony Huang -Dean McNamee -Trevor Burnham -Zachary Scott -Arnout Kazemier -George Stagas -Ben Weaver -Scott McWhirter -Jakub Lekstan -Nick Campbell -Nebu Pookins -Tim Baumann -Robert Mustacchi -George Miroshnykov -Mark Cavage -Håvard Stranden -Marcel Laverdet -Alexandre Marangone -Ryan Petrello -Fuji Goro -Siddharth Mahendraker -Dave Pacheco -Mathias Buus -Henry Rawas -Yoshihiro KIKUCHI -Brett Kiefer -Mariano Iglesias -Jörn Horstmann -Joe Shaw -Niklas Fiekas -Adam Luikart -Artem Zaytsev -Alex Xu -Jeremy Selier -Igor Zinkovsky -Kip Gebhardt -Stefan Rusu -Shigeki Ohtsu -Wojciech Wnętrzak -Vyacheslav Egorov -Devon Govett -Steve Engledow -Pierre-Alexandre St-Jean -Reid Burke -Vicente Jimenez Aguilar -Tadashi SAWADA -Jeroen Janssen -Daniel Pihlström -Stefan Bühler -Alexander Uvarov -Aku Kotkavuo -Peter Bright -Logan Smyth -Christopher Wright -Glen Low -Thomas Shinnick -Mickaël Delahaye -Antranig Basman -Maciej Małecki -Evan Martin -Peter Lyons -Jakob Kummerow -Jann Horn -Abimanyu Raja -Karl Skomski -Niclas Hoyer -Michael Jackson -Ashok Mudukutore -Sean Cunningham -Vitor Balocco -Ben Leslie -Eric Lovett -Christian Tellnes -Colton Baker -Tyler Larson -Tomasz Janczuk -Ilya Dmitrichenko -Simen Brekken -Guglielmo Ferri <44gatti@gmail.com> -Thomas Parslow -Ryan Emery -Jordan Sissel -Matt Robenolt -Jacob H.C. Kragh -Benjamin Pasero -Scott Anderson -Yoji SHIDARA -Mathias Bynens -Łukasz Walukiewicz -Artur Adib -E. Azer Koçulu -Paddy Byers -Roman Shtylman -Kyle Robinson Young -Tim Oxley -Eduard Burtescu -Ingmar Runge -Russ Bradberry -Andreas Madsen -Adam Malcontenti-Wilson -Avi Flax -Pedro Teixeira -Johan Bergström -James Hartig -Shannen Saez -Seong-Rak Choi -Dave Irvine -Ju-yeong Park -Phil Sung -Damon Oehlman -Mikael Bourges-Sevenier -Emerson Macedo -Ryunosuke SATO -Michael Bernstein -Guillermo Rauch -Dan Williams -Brandon Benvie -Nicolas LaCasse -Dan VerWeire -Matthew Fitzsimmons -Philip Tellis -Christopher Jeffrey -Seth Fitzsimmons -Einar Otto Stangvik -Paul Vorbach -Luke Gallagher -Tomasz Buchert -Myles Byrne -T.C. Hollingsworth -Cam Pedersen -Roly Fentanes -Ted Young -Joshua Holbrook -Blake Miner -Vincent Ollivier -Jimb Esser -Sambasiva Suda -Sadique Ali -Dmitry Nizovtsev -Alex Kocharin -Ming Liu -Shea Levy -Nao Iizuka -Christian Ress -Rod Vagg -Matt Ezell -Charlie McConnell -Farid Neshat -Johannes Wüller -Erik Lundin -Bryan Cantrill -Michael Starzinger -Yosef Dinerstein -Nathan Friedly -Aaron Jacobs -Mustansir Golawala -Lasse R.H. Nielsen -Atsuo Fukaya -Domenic Denicola -Joshua S. Weinstein -Dane Springmeyer -Erik Dubbelboer -Malte-Thorben Bruns -Michael Thomas -Garen Torikian -EungJun Yi -Vincent Voyer -Takahiro ANDO -Brian Schroeder -J. Lee Coltrane -Javier Hernández -James Koval -Kevin Gadd -Yang Guo -Ray Solomon -Kevin Bowman -Erwin van der Koogh -Matt Gollob -Simon Sturmer -Joel Brandt -Marc Harter -Nuno Job -Daniel Clifford -Ben Kelly -Felix Böhm -Erik Corry -Toon Verwaest -George Shank -Gabriel de Perthuis -Vladimir Beloborodov -Tim Macfarlane -Jonas Westerlund -Dominic Tarr -Justin Plock -Toshihiro Nakamura -Ivan Torres -Philipp Hagemeister -Mike Morearty -Pavel Lang -Peter Rybin -Timothy J Fontaine -Joe Andaverde -Tom Hughes-Croucher -Eugen Dueck -Gil Pedersen -Tyler Neylon -Josh Erickson -Golo Roden -Ron Korving -Brandon Wilson -Ian Babrou -Bearice Ren -Ankur Oberoi -Atsuya Takagi -Pooya Karimian -Frédéric Germain -Robin Lee -Kazuyuki Yamada -Adam Blackburn -Willi Eggeling -Paul Serby -Andrew Paprocki -Ricky Ng-Adam -Aaditya Bhatia -Max Ogden -Igor Soarez -Olivier Lalonde -Scott Blomquist -Francois Marier -Brandon Philips -Frederico Silva -Jan Wynholds -Girish Ramakrishnan -Anthony Pesch -Stephen Gallagher -Trevor Norris -Sergey Kholodilov -Tim Kuijsten -Michael Axiak -Chad Rhyner -Kai Sasaki Lewuathe -Nicolas Chambrier -Ben Taber -Luke Arduini -Luke Bayes -Tim Bradshaw -Nirk Niggler -Johannes Ewald -James Hight -Mike Harsch -Chris Dent -Alexandr Emelin -James Campos -Dan Milon -Dave Olszewski -Tim Price -Jake Verbaten -Jacob Gable -Andy Burke -Sugendran Ganess -Rick Yakubowski -Jim Schubert -Victor Costan -Dan Kohn -Arianit Uka -Andrei Sedoi -Eugene Girshov -Evan Oxfeld -Lars-Magnus Skog -Raymond Feng -Aaron Cannon -Xidorn Quan -Paolo Fragomeni -Henry Chin -Julian Gruber -JeongHoon Byun -Iskren Ivov Chernev -Alexey Kupershtokh -Manav Rathi -Benjamin Ruston -Marcin Kostrzewa -Suwon Chae -David Braun -Mitar Milutinovic -Michael Hart -Andrew Hart -Rafael Garcia -Tobias Müllerleile -Stanislav Ochotnicky -Ryan Graham -Kelly Gerber -Ryan Doenges -Sean Silva -Miroslav Bajtoš -Olof Johansson -Sam Roberts -Kevin Locke -Daniel Moore -Robert Kowalski -Nick Sullivan -Benoit Vallée -Ryuichi Okumura -Brandon Frohs -Nathan Zadoks -Rafael Henrique Moreira -Daniel G. Taylor -Kiyoshi Nomo -Nick Desaulniers -Veres Lajos -Yuan Chuan -Krzysztof Chrapka -Linus Mårtensson -Peter Rust -Jeff Barczewski -Shuan Wang -Wyatt Preul -David Björklund -Dav Glass -Andrew Chilton -Antony Bailey -Forrest L Norvell -Evan Solomon -Eran Hammer -Matthias Bartelmeß -Daniel Chatfield -Eivind Uggedal -Edward Hutchins -James Halliday -ChrisWren -Duan Yao -Matthew Aynalem -Vsevolod Strukchinsky -Jay Beavers -Eric Schrock -Jeff Switzer -Glen Mailer -Jason Gerfen -Patrik Stutz -Zarko Stankovic -Maxim Bogushevich -Phillip Alexander -Thom Seddon -Nick Simmons -Jacob Groundwater -Jackson Tian -fengmk2 -Tim Wood -Linus Unnebäck -Vladimir Kurchatkin -David Chan -Alexis Campailla -Nikolai Vavilov -Michael Ridgway -Yorkie Liu -Gabriel Falkenberg -Kai Groner -Lalit Kapoor -Steven Kabbes -Gabriel Farrell -Nicolas Kaiser -Ahamed Nafeez -Cam Swords -Paul Loyd -Benjamin Waters -Lev Gimelfarb -Peter Flannery -Tuğrul Topuz -Lorenz Leutgeb -ayanamist -gluxon -Tom Gallacher -Sven Panne -Jo Liss -Jun Ma -Jacob Hoffman-Andrews -Keith M Wesolowski -Maxime Quandalle -Oguz Bastemur -Yuriy Nemtsov -iamdoron -Austin Moran -Kenan Sulayman -Christian -Pedro Ballesteros -Anton Khlynovskiy -Nicolas Talle -Mike Pennisi -Maxwell Krohn -Saúl Ibarra Corretgé -Greg Brail -Shuhei Kagawa -Josh Dague -Dan Carney -Goh Yisheng (Andrew) -James Pickard -Andrew Low -Nick Apperson -C. Scott Ananian -Yuki KAN -Evan Carroll -William Bert -goussardg -Geir Hauge -Farrin Reid -Denys Zariaiev -Sean McArthur -Rasmus Christian Pedersen -Adrian Lang -Feross Aboukhadijeh -Refael Ackermann -Taojie -Greg Sabia Tucker -Dan Kaplun -Colin Ihrig -Mark Stosberg -Jochen Eisinger -Calvin Metcalf -Ryan Cole -Kevin Decker -Rohini Harendra -Chris Barber -Michael Kebe -Nick Muerdter -Roman Klauke -Xavi Magrinyà -Euan -Ed Morley -Charles -Jan Krems -Fred K. Schott -Chris Dickinson -Jonathan Reem -Ionică Bizău -Eli Skeggs -Andrius Bentkus -Ed Umansky -Maurice Butler -John Albietz -Andrew Oppenlander -Julien Gilli -Gabriel Wicke -Jakob Gillich -Lucio M. Tato -Herman Lee -Kevin Simper -Thorsten Lorenz -Ezequiel Rabinovich -Cheng Zhao -Tristan Berger -Isaac Burns -Jesús Leganés-Combarro 'piranna -Majid Arif Siddiqui -Trevor Livingston -Mathias Schreck -Adam Lippai -Guilherme de Souza -Mickael van der Beek -Andrew Teich -Kang-Hao Kenny -Patrick Mooney -Jicheng Li -James Ferguson -Julien Fontanet -Steven R. Loomis -gyson -Steve Sharp -Victor Widell -Evan Rutledge Borden -Johnny Ray Austin -Steve Mao -Stiliyan Lazarov -Wang Xinyong -Ray Donnelly -dead-horse -Luis Reis -sudodoki -haoxin -Artur Cistov -MK Safi -Rory Bradford -Nathan Woltman -James Cowgill -Jamund Ferguson -Jonathan Johnson -Martin Cozzi -Carlos Campderrós -Leonardo Balter -Bryce Kahle -The Gitter Badger -Brendan Ashworth -Jose Luis Rivas -Evan Lucas -Vincent Weevers -Tyler Kellen -Evan Torrie -Juanjo -brian m. carlson -Kevin O'Hara -Micleusanu Nicu -Alejandro Oviedo Garcia -Ben Burns -Julian Duque -Teppei Sato -Rudi Cilibrasi -Tim Ruffles -CGavrila -Aleksey Smolenchuk -Caitlin Potter -Eric Mill -pkcs -James M Snell -Cydox -Steven Rockarts -Vladimir Guguiev -Yosuke Furukawa -Tiago Ribeiro -Rui Marinho -Jesse cogollo -Chris Alley -Michal Tehnik -Aaron Bieber -Phil Hughes -Jongyeol Choi -Brenard Cubacub -Thomas Jensen -Jay Jaeho Lee -Roman Reiss -Glen Keane -Xiaowei Li <446240525@qq.com> -toastynerd -Todd Kennedy -Icer Liang -Stephen Belanger -Jeremiah Senkpiel -Andres Suarez -Jonathan Ong -ttrfwork -Mathias Küsel -Qasim Zaidi -Sam Newman -Zach Bruggeman -Michaël Zasso -Haoliang Gao -Rudolf Meijering -Ryan Seys -Omer Wazir -Dan Dascalescu -Jan Schär -Debjeet Biswas -Amir Saboury -Charmander <~@charmander.me> -Jimmy Hsu -jigsaw -Emily Rose -Shinnosuke Watanabe -Bruno Jouhier -René Kooi -Petka Antonov -Ryan Scheel -Benjamin Gruenbaum -Pavel Medvedev -Russell Dempsey -Tierney Cyren -h7lin -Michael Dawson -Ruben Verborgh -Ken Perkins -Santiago Gimeno -Ali Ijaz Sheikh -FangDun Cai -Alex Yursha -Steven Vercruysse -Aleksanteri Negru-Vode -Mathieu Darse -Connor Peet -Nicolas Stepien -Olov Lassus -Phillip Lamplugh -Kohei TAKATA -Giovanny Andres Gongora Granada -Jeffrey Jagoda -Kelsey Breseman -Peter Petrov -Andrew Crites -Marat Abdullin -Dan Varga -Nick Raienko -Guilherme Souza -Chris Yip -Christopher Monsanto -Alexander Gromnitsky -Сковорода Никита Андреевич -Sakthipriyan Vairamani -AQNOUCH Mohammed -Ivan Kozik -Oleg Elifantiev -Mike MacCana -Josh Gummersall -Sam Mikes -Frederic Hemberger -Sharat M R -Rich Trott -Felipe Batista -Rebecca Turner -Tyler Anton -João Reis -Kat Marchán -Ryan Petschek -Pierre Inglebert -Ivan Yan -Sangmin Yoon -Mark Plomer -Phillip Johnsen -Matteo Collina -jomo -Gireesh Punathil -Lucien Greathouse -Chad Johnston -Sam Stites -Matthew Lye -Matt Loring -Minqi Pan -Jacob Edelman -Mike Atkins -hackerjs <4141095@qq.com> -Minwoo Jung -Marcin Cieślak -Anne-Gaelle Colom -Oleksandr Chekhovskyi -Tristian Flanagan -Mike Tunnicliffe -Danny Nemer -Sven Slootweg -Dmitry Vasilyev -Malcolm Ahoy -Imran Iqbal -Stewart X Addison -Matt Harrison -Christopher J. Brody -Salman Aljammaz -Thomas Reggi -Laurent Fortin -Fabio Oliveira -Michał Gołębiowski-Owczarek -Johann Hofmann -Charles Rudolph -Dave Eddy -Justin Chase -Jeremy Whitlock -Rod Machen -Martial James Jefferson -Doug Shamoo -Junliang Yan -Dave Hodder -Jason Karns -Balázs Galambosi -David Boivin -Liang-Chi Hsieh -Timothy Gu -Fábio Santos -Myles Borins -Jonas Dohse -Коренберг Марк -Caleb Boyd -Yuval Brik -Claudio Rodriguez -Ido Ben-Yair -Kyle Smith -Marti Martz -Stefan Budeanu -Emily Aviva Kapor-Mater -Sam P Gallagher-Bishop -David Woods -Ashok Suthar -Ömer Fadıl Usta -Jerry Chin -Hemanth.HM -Hugues Malphettes -Tyler Henkel -Zheng Chaoping -Ashley Williams -Bryan English -Devin Nakamura -Vladimir Varankin -Manuel B -Jesse McCarthy -Craig Cavalier -Michael Cornacchia -Markus Tzoe -Martin Forsberg -Carl Lei -Lewis Cowper -Bryon Leung -Chunyang Dai -Jonathan Persson -Dave -Luigi Pinca -Peter A. Bigot -Zirak -Scott Buchanan -Bryce Baril -Super Zheng -Rafał Pocztarski -Michael Ruddy -Andy Bettisworth -Jörg Krause -Alexander Martin -Prince J Wesley -janriemer -Arthur Gautier -Martin von Gagern -Hideki Yamamura -Lenny Markus -Nelson Pecora -Graham Fairweather -Nicholas Young -Chris Johnson -Bo Borgerson -Mudit Ameta -Adri Van Houdt -Max Barinov -Damian Schenkelman -iamchenxin -Nik Nyby -Ben Ripkens -Ryan Sobol -jona -Anna Henningsen -Martin Bark -José F. Romaniello -Richard Sun -Sequoia McDowell -zoubin -Robert Jefe Lindstaedt -Saquib -Daniel Sellers -Julien Waechter -Vitor Cortez -Michael Theriot -Peter Geiss -Richard Lau -José Moreira -Tom Atkinson -Glen Arrowsmith -Jeff Harris -Alexander Makarenko -Drew Folta -Dmitriy Lazarev -Adam Langley -Kári Tristan Helgason -Manuel Valls -Prayag Verma -Gibson Fahnestock -Alan Cohen -Christophe Naud-Dulude -Matthias Bastian -Phillip Kovalev -Rainer Oviir -HUANG Wei -DC -Daniel Turing -Julie Pagano -Ruben Bridgewater -Felix Becker -Igor Klopov -Tsarevich Dmitry -Ojas Shirekar -Noah Rose Ledesma -Rafael Cepeda -Chinedu Francis Nwafili -Braydon Fuller -Jiho Choi -Dirceu Pereira Tiegs -Marc Cuva -Chris Dew -Tristan Slominski -Hugo Wood -Owen Smith -Anton Andesen -Aayush Naik -Netto Farah -Daniel Wang -Craig Akimoto -Michael Barrett -Alexander Marchenko -Robert C Jensen -Vaibhav -Stefano Vozza -Daijiro Wachi -Kirill Fomichev -Mithun Patel -Alexander Penev -Andrea Giammarchi -Lance Ball -Jarrett Widman -Florian Margaine -Wolfgang Steiner -Bill Automata -Robert Chiras -Corey Kosak -John Eversole -Gareth Ellis -Eugene Obrezkov -Kyle Simpson -Bogdan Lobor -Mihai Potra -Brendon Pierson -Brad Hill -Mike Kaufman -Igor Kalashnikov -Amery -James Reggio -Joran Dirk Greef -Matthew Douglass -William Kapke -Yuta Hiroto -Ilya Shaisultanov -James Lal -Josh Leder -Surya Panikkal -vsemozhetbyt -Alex Lamar -Ian Kronquist -David Cai -Patrick Mueller -Ben Page -Juan Soto -Allen Hernandez -Eric Phetteplace -William Luo -Siobhan O'Donovan -Kevin Donahue -Jenna Vuong -Anchika Agarwal -Jean Regisser -Fangshi He -Blake Embrey -Alex J Burke -Faiz Halde -Rumkin -Arve Seljebu -Devon Rifkin -Doug Wade -Mohsen -Marian -Justin Sprigg -Eugene Ostroukhov -Bryan Hughes -Ehsan Akhgari -Ingvar Stepanyan -Adrian Estrada -Matt Lavin -Joao Andrade -Pavel Feldman -Bartosz Sosnowski -Nicolas Romer -David A. Wheeler -Italo A. Casas -Jonathan Montane -Ilkka Myller -kimown -Natanael Copa -David Halls -Greyson Parrelli -Daniel Bevenius -Bryce Simonds -Tushar Mathur -Kyle E. Mitchell -akki -Josh Gavant -Sartrey Lee -Guy Fraser -Ruslan Iusupov -Michael Wain -Zach Bjornson -Andras -Chuck Langford -Ryan Lewis -Tarun Garg -Diosney Sarmiento -Quentin Headen -Alex Hultman -Saad Quadri -Hargobind S. Khalsa -Joran Siu -Vitaly Tomilov -Ratikesh Misra -Alex Perkins -Beth Griggs -Joe Esposito -Erin Spiceland -Ravindra Barthwal -Joey Cozza -Franziska Hinkelmann -Vladimir de Turckheim -Taehee Kang -Igor Savin -Pat Pannuto -Haojian Wu -John Gardner -Enrico Pertoso -Aleksei Koziatinskii -Adrian Nitu -Ben Gourley -Kunal Pathak -Tracy Hinds -lazlojuly -Arnaud Lefebvre -not-an-aardvark -Junshu Okamoto -Shahid Shaikh -Simen Bekkhus -Jason Hedrick -David Keeler -Zwb -Paul Grock -Hubert Mine -Dan Fabulich -Mike Ralphson -Alexis374 <879736822@qq.com> -Angel Stoyanov -Thomas Hunter II -Christopher Dunavan -Peter Ogilvie -Teddy Katz -Kalman Hazins -Ltrlg -Dennis Schwartz -Yevgen Safronov -Tobias Kahse -Sébastien Barbieri -Pavol Otcenas -Alessandro Metta -Dany Shaanan -Ishan Aditya -Rachel -Jason Ginchereau -Paul Kiddie -scott stern -Danny Guo -lrlna -Matt Lang -Thomas van Lankveld -Tarjei Husøy -Wietse Venema -Jonathan Prince -Fikret Burak Gazioglu -Aleksey Kozyatinskiy -delvedor -Jermaine Oppong -Richard Walker -matzavinos -Alfred Cepeda -Niklas Ingholt -Michael-Rainabba Richardson -oogz -Rene Weber -Lauren Spiegel -Lydia Kats -mpmckenna8 -nohmapp -Marc-Aurèle DARCHE -fen -Christopher Fujino -Richard Hong -Akito Ito -Madhav Gharmalkar -Mike Woods -Daniel Stenberg -Abner Chou -Bryan Bess -Michael Macherey -Sudaraka Wijesinghe -Miguel Angel Asencio Hurtado -Suramya shah -Anna Magdalena Kedzierska -Christopn Noelke -Rémy MEJA -Alex Jordan -Mariusz 'koder' Chwalba -Juan Andres Andrango -larissayvette -Jessica Quynh Tran -Ilya Frolov -Tanuja-Sawant -Bradley T. Hughes -solebox -John Vilk -Tyler Brazier -Marcin Zielinski -Benji Marinacci -Indrek Ardel -Parambir Singh -Niels Nielsen -Marc Udoff -Oliver Salzburg -Jeena Lee -Deverick -anu0012 -jseagull -Olan Byrne -Emanuele DelBono -Gerges Beshay -Isobel Redelmeier -Brandon Kobel -coderaiser -Pedro Lima -Reza Akhavan -Yangyang Liu -Zeke Sikelianos -Wayne Andrews -Andreas Lind -Adam Majer -Oscar Morrison -Jaideep Bajwa -timathon -Timothy Leverett -imatvieiev -kohta ito -ikasumi_wt -Yoshiya Hinosawa -Syuhei Kobayashi -YutamaKotaro -MURAKAMI Masahiko -Thomas Watson -Daijiro Yamada -Kelvin Jin -Mitsuo Utano -masashi.g -Kenneth Skovhus -Aaron Petcoff -Rahat Ahmed -monkick -Adam Brunner -atrioom -Dan Koster -Francis Gulotta -Yosuke Saito -mkamakura -kalrover -Brad Decker -ben_cripps -Walter Beller-Morales -Safia Abdalla -makenova -Adriana Rios -scalkpdev -Ashton Kinslow -Kevin Zurawel -Wes Tyler -Shiya Luo -Joyee Cheung -Greg Valdez -Bidur Adhikari -Kyle Carter -Rob Adelmann -Daniel Pittman -Ian White -Chris Bystrek -Christine Hong -Oscar Martinez -Aileen -David Bradford -stokingerl -Johnny Reading -Mitchell Stoutin -Matt Wilson -Matt Webb -rajatk -Peter Masucci -Daniel Flores -Harish Tejwani -Jonathan Darling -JDHarmon -bjdelro -Hitesh Kanwathirtha -David Mark Clements -Cesar Hernandez -Konstantin Likhter -Richard Karmazin -Hutson Betts -Kent.Fan -Jay Brownlee -Sarah Meyer -Andreas Offenhaeuser -Sean Villars -Kathy Truong -Exlipse7 -Josh Mays -Matt Crummey -michael6 -Raja Panidepu -Ethan Arrowood -Dan Villa -CodeTheInternet -Eric Gonzalez -rgoodwin -Nigel Kibodeaux -fmizzell -cdnadmin -Paul Lucas -levsoroka -Christopher Rokita -Peter Diaz -Michael Alexander -Ilya Potuzhnov -J Scott Chapman -Erez Weiss -Scott Smereka -Fabrice Tatieze -Uttam Pawar -Ben Lugavere -Punit Buch -mark hughes -Russell Sherman -hirabhullar -Paul Chin -Matt Phillips -Daryl Thayil -Deepti Agrawal -Axel Monroy -Jason Humphrey -amrios -Chris Henney -Yojan Shrestha -Rodrigo Palma -Michael-Bryant Choa -CodeVana -Daniel Sims -Diego Paez -Paul Graham -Jared Young -vazina robertson -Bruce Lai -eudaimos -Kyle Corsi -Luca Maraschi -Karl Böhlmark -Gregory -James Tenenbaum -pallxk -Amar Zavery -Prieto, Marcos -hveldstra -Siddhartha Sahai -Andy Chen -Lucas Holmquist -mfrance -Aaron Williams -Alex Newman -Travis Bretton -Adao Junior -weyj4 -Joe Doyle -Bill Ticehurst -misterpoe -Emanuel Buholzer -Duy Le -Neeraj Sharma -Ashita Nagesh -Jason Wohlgemuth -Segu Riluvan -Avery, Frank -Chase Starr -sivaprasanna -Troy Connor -Wallace Zhang -Rico Cai -Kevin Cox -Brian Chirgwin -Ken Russo -Christy Leung -René Schünemann -Jeremy Yallop -malen -Kailean Courtney -Fumiya KARASAWA -John Barboza -Nate -Chris Story -Matthew Garrett -David Goussev -George Adams -Benedikt Meurer -Kai Cataldo -Victor Felder -Yann Pringault -Michael Lefkowitz -Viktor Karpov -Lukasz Gasior -Jonathan Boarman -Johannes Rieken -Alexey Orlenko -Nathan Phillip Brink -istinson -Javis Sullivan -Irene Li -Yuya Tanaka -Josh Hollandsworth -Sumit Goel -stefan judis -Mark -Travis Meisenheimer -Vinícius do Carmo -Birunthan Mohanathas -Ricardo Sánchez Gregorio -Jon Tippens -Aashil Patel -Alex Ling -Peter Mescalchin -Joshua Colvin -John Maguire -Marlena Compton -Gonen Dukas -Roee Kasher -nanxiongchao -matsuda-koushi -Myk Melez -Diego Rodríguez Baquero -Umair Ishaq -Timo Tijhof -Sebastian Van Sande -Daiki Arai -Sebastian Roeder -Toby Stableford -Shubheksha Jalan -jobala -Asaf David -Sota Yamashita -David Benjamin -樋口 彰 -QianJin2013 -Kenan Yildirim -Alexander -Christopher Hiller -xiaoyu <306766053@qq.com> -Arseniy Maximov -Eric Christie -Tarang Hirani -Dean Coakley -Dmitry Tsvettsikh -Jason Wilson -Karan Thakkar -levsthings -Howard Hellyer -Amelia Clarke -James Ide -Ben Schmidt -James Sumners -Bradley Curran -chiaki-yokoo -Benjamin Fleischer -Maurice Hayward -Ali BARIN -Nemanja Stojanovic -Jeroen Mandersloot -Michael Cox -Clarence Dimitri CHARLES -Lukas Möller -Juwan Yoo -Matej Krajčovič -Alexander -Gaara -mr-spd -Christian d'Heureuse -Shahar Or -detailyang -liusi -Noj Vek -Ruslan Bekenev -Jyotman Singh -Lucas Lago -TheBeastOfCaerbannog -Morgan Brenner -Nick Peleh -Sorin Baltateanu -Chris Burkhart -Rj Bernaldo -John F. Mercer -Dejon "DJ" Gill -Ahmad Nassri -Tobias Nießen -Joseph Gentle -Arunesh Chandra -Gabriel Schulhof -Ian Halliday -Sampson Gao -Taylor Woll -Zero King -Raphael Okon -JR McEntee -Lovell Fuller -Jason Marsh -Vinay Hiremath -alejandro -dave-k -Steven -Uppinder Chugh -Karl Cheng -Tarun Batra -Nao YONASHIRO -Christopher Luke -John Paul Bamberg -Cody Deckard -Fabio Campinho -Gautam krishna.R -Mateusz Konieczny -Sebastian Plesciuc -MapleUncle -Ahmed Taj elsir -Ivo von Putzer Reibegg -Alex Autem -kumarrishav -morrme -vperezma -Muhsin Abdul-Musawwir -thelady -Neehar Venugopal -WORMSS -Zahidul Islam -RobotMermaid -coreybeaumont -alohaglenn -weewey -Zuzana Svetlikova -Cameron Little -gwer -Walter Huang -Leo -Tony Rice -Olivier Martin -jeyanthinath -Aditya Anand -cool88 -Steven Lehn -Łukasz Szewczak -Madara Uchiha -Gil Tayar -Glenn Schlereth -Artur G Vieira -Gerhard Stöbich -Sreepurna Jasti -Rafael Fragoso -Andrei Cioromila -Frank Lanitz -Khaidi Chu -Akshay Iyer -Rick Bullotta -Rajaram Gaunker -Shadowbeetle -Chris Young -Ebrahim Byagowi -Timur Shemsedinov -Jesus Seijas -mskec -Peter Dave Hello -JongChan Choi -Yihong Wang -Ryan Kelly -Alexander O'Mara -James, please -Josh Ferge -Bidisha Pyne -David D Lowe -rmdm -Dávid Szakállas -JiaLi.Passion -Paul Bininda -Gautam Mittal <200mittalgautam@gmail.com> -Jamen Marzonie -Jacob Jones -Vladimir Trifonov -aniketshukla -realwakka -Gergely Nemeth -Samuel Reed -Anshul Guleria -Justin Beckwith -Scott McKenzie -Julien Klepatch -Dan Homola -cornholio <0@mcornholio.ru> -Tamás Hódi -DuanPengfei <2459714173@qq.com> -Lakshmi Swetha Gopireddy -Rob Wu -Steven Winston -sallen450 -OriLev -Zongmin Lei -lena -Azard -Ezequiel Garcia -Kyle Farnung -Weijia Wang -Nataly Shrits -Oliver Chang -Jaime Bernardo -Natanael Log -Chen Gang -kuroljov -Matt Sergeant -Eduardo Leggiero -Moogen Tian -Jimmy Thomson -David Drysdale -Roman Shoryn -Peter Czibik -Igor Sheludko -章礼平 -Fraser Xu -Song, Bintao Garfield -Flandre Scarlet -akira.xue -Bang Wu -kadoufall -jiangplus -tobewhatwewant -blade254353074 -weiyuanyue -xinglong.wangwxl -vercent deng -boydfd -Superwoods -shaman -Zhang Weijie -Gunar C. Gessner -SkyAo -Devin Boyer -Helianthus21 <740051540@qq.com> -Oleksandr Kushchak -Nathan Jiang -mac-haojin -jkzing -zzz -Henry -Gautam Arora -Marc Hernández Cabot -Vincent Xue -Bougarfaoui El houcine -ziyun -Lyall Sun -Marcelo Gobelli -Sebastiaan Deckers -nanaya -xeodou -Peter Marshall -笑斌 -atever -vixony -Ching Hsu -rockcoder23 -Anton Paras -Pratik Jain -Shivanth MP -erdun <494251936@qq.com> -Jiajie Hu -Matt Woicik -alexbostock -Matthew Alsup -Greg Alexander -dcharbonnier -Jared Kantrowitz -Guy Margalit -nishijayaraj -Nick Stanish -Mandeep Singh -Prakash Palaniappan -Keita Akutsu -Michael Albert -Vishal Bisht -Griffith Tchenpan -Oky Antoro -icarter09 -Pini Houri -Runite618 -phisixersai -hsmtkk -Sebastian Murphy -陈刚 -Jon Moss -George Sapkin -Aleh Zasypkin -Anand Suresh -sharababy -Abhishek Raj -Daniel Taveras -RefinedSoftwareLLC -Ankit Parashar -James Kyle -Daniil Shakir -sevenryze -hafiz -Kyle Lamse -Michał Wadas -Mohd Maqbool Alam -Ian Perkins -Jimmy Cann -Anatoli Papirovski -Simon Brewster -creeperyang -Roy Marples -Piotr Mionskowski -Cyril Lakech -Eduard Bondarenko -Adina Shanholtz -Guy Bedford -Miguel Martins -Yury Popov -George Bezerra -Benjamin Coe -Tim Costa -Rahul Mishra -Damien O'Reilly -Tuan Anh Tran -Alex Gresnel <31708810+agresnel@users.noreply.github.com> -Will Young -Martijn Schrage -Halil İbrahim Şener -Antoine Amara -Mani Maghsoudlou -Bartek Szczepański -Roga Pria Sembada -Jussi Räsänen -Thomas Corbière -atvoicu -Peng Lyu -Yang-Kichang -JP Wesselink -Rami Moshe -Rimas Misevičius -Jack Horton -Trivikram Kamat -Jose Luis Vivero -John-David Dalton -Pavel Pomerantsev -Daniela Borges Matos de Carvalho -Bruce Fletcher -Greg Byram -Manil Chowdhurian -Jonathan Eskew -James M. Greene -Pooya Paridel -Paul Berry -Ruxandra Fediuc -Saeed H -Rachel White -Geoffrey Bugaisky -Sam Skjonsberg -Emily Marigold Klassen -Ashley Maceli -Thomas Schorn -John Miller -rhalldearn -Annie Weng -Sean Cox -Luke Greenleaf -Alec Ferguson -Laura Cabrera -Barry Tam -Eric Pemberton -Josh Hunter -BinarySo1o -Chris Budy -Emily Platzer -jacjam -Brant Barger -Daniel Paulino -Emily Ford -Luis Del Águila -Mujtaba Al-Tameemi -Govee91 -joanne-jjb -Brad Larson -Alice Tsui -Greg Matthews -Daniel Kostro -Faisal Yaqoob -Alex McKenzie -Hannah Kim -Paul Milham -Christopher Choi -Suraiya Hameed -Charlie Duong -Joe Grace -Justin Lee -Brent Pendergraft -Gene Wu -nodexpertsdev -Rob Paton -Daniele Lisi -Sushil Tailor -Ben Michel -John McGuirk -Colin Leong -Caralyn Reisle -Savio Lucena -Rafal Leszczynski -Ivan Etchart -Robin Lungwitz -ryshep111 -gitHubTracey -tabulatedreams -Charles T Wall III -Minya Liang -Kinnan Kwok -Adil L -Seth Holladay -Chris Andrews -Matt Reed -Joe Henry -Alireza Alidousti -James Beavers -Cameron Burwell -Jakub Mrowiec - Alkagar -Oliver Luebeck -Chris Jimenez -James Hodgskiss -Guilherme Akio Sakae -Martin Michaelis -Christopher Sidebottom -Edward Andrew Robinson -Shakeel Mohamed -Tobias Kieslich -Ruy Adorno -Stefania Sharp -Pawel Golda -Steven Scott -Alex Gilbert -Siyuan Gao -Nicola Del Gobbo -Josh Lim -Feon Sua -Shawn McGinty -Jason Walton -Jonathan Gourlay -Peter Paugh -Gregor Martynus -Joel Dart -Tri Nguyen -Kasim Doctor -Steve Jenkins -AlexeyM -Nicolas Chaulet -Adarsh Honawad -Tim Ermilov -ekulnivek -Ethan Brown -Lewis Zhang -Kat Rosario -jpaulptr -Donovan Buck -Toby Farley -Suresh Srinivas -Alberto Lopez de Lara -Jem Bezooyen -Bob Clewell -Raj Parekh -Tom Boutell -Cristian Peñarrieta -Christian Murphy -Dolapo Toki -Shaopeng Zhang -Matthew Meyer -Chad Zezula -Eric Freiberg -Mabry Cervin -shaohui.liu2000@gmail.com -Chi-chi Wang -Roger Jiang -Cheyenne Arrowsmith -Tim Chon -Michael Pal -Fadi Asfour -Christina Chan -Alessandro Vergani -Ali Groening -Mike Fleming -WeiPlanet -243083df <243083df@dispostable.com> -Komivi Agbakpem -Tyler Seabrook -Bear Trickey -NiveditN -Shaun Sweet -James Nimlos -Kim Gentes -Vladimir Ilic -Randal Hanford -Jean-Baptiste Brossard -Orta -Ben Hallion -twk-b -Lam Chan -Jenna Zeigen -Lukas -tejbirsingh -Hendrik Schwalm -Jeremy Huang -Michael Rueppel -David8472 -Luke Childs -Robert Nagy -Nikki St Onge -zhangzifa -Tobias Tebbi -hwaisiu -Thomas Karsten -Lance Barlaan -Alvaro Cruz -Jean-Philippe Blais -Oscar Funes -Kanika Shah -Jack Wang -Braden Whitten -Omar Gonzalez -Supamic -Nikhil Komawar -Daniel Abrão -elisa lee -mog422 -André Føyn Berge -Tom Purcell -Tomoki Okahana -Aayush Ahuja -Paul Marion Camantigue -Jayson D. Henkel -Ben Smith -Nicolas 'Pixel' Noble -Ashish Kaila -c0b <14798161+c0b@users.noreply.github.com> -Damian -Alec Perkins -Jinwoo Lee -Peter Marton -Erwin W. Ramadhan -Mark Walker -sharkfisher -nhoel -Hadis-Fard -Scott J Beck -Raphael Rheault -Iryna Yaremtso -Casie Lynch -Matthew Cantelon -Ben Halverson -cPhost <23620441+cPhost@users.noreply.github.com> -dicearr -Lucas Azzola -Ken Takagi -Ed Schouten -Andrew Stucki -Anthony Nandaa -Mithun Sasidharan -Mattias Holmlund -Mark S. Everitt -Alexey Kuzmin -gowpen <33104741+gowpen@users.noreply.github.com> -Adam Wegrzynek -Sascha Tandel -Patrick Heneise -Dumitru Glavan -Giovanni Lela -Matthias Reis -John Byrne -Octavian Ionescu -Kevin Yu -Jimi van der Woning -Dara Hayes -Maring, Damian Lion -Attila Gonda -Brian O'Connell -Sean Karson -Nicolas Morel -fjau -SonaySevik -jonask -Delapouite -Mark McNelis -mbornath -Andres Kalle -Paul Blanche -Vipin Menon -woj -Adam Jeffery -Paul Ashfield -Katie Stockton Roberts -Mamatha J V -Neil Vass -Vidya Subramanyam -Swathi Kalahastri -Tanvi Kini -Sabari Lakshmi Krishnamoorthy -Kabir Islam -subrahmanya chari p -Suryanarayana Murthy N -Chandrakala -Jayashree S Kumar -Nayana Das K -Anawesha Khuntia -Maton Anthony -saiHemak -Deepthi Sebastian -Pawan Jangid -Stephan Smith -joelostrowski -Javier Blanco -Grant Gasparyan -Klemen Kogovsek -Gus Caplan -ka3e -ChrBergert -sercan yersen -Steve Kinney -Sebastian Mayr -Vijayalakshmi Kannan -Benjamin Zaslavsky -Sebastian Silbermann -pimlie -buji -Witthawat Piwawatthanapanit -sgreylyn -Xavier Balloy -François Descamps -Guillaume Flandre -Pierre-Loic Doulcet -Fran Herrero -Francois KY -suman-mitra -Mary Marchini -neta -Whien -Chiahao Lin -esbb48 -Roth Peng -jimliu7434 -YuLun Shih -Kyle Yu -Ivan Wei -john -Jamie Davis -Scya597 -Zack Yang -aryung chen -Larry Lu -Robert Rossmann -薛定谔的猫 -danielLin -jackyen -Kurt Hsu -sorarize@gmail.com -Jason Chung -Thomas den Hollander -Ronald Eddy Jr -Richard Littauer -pkovacs -zhengyuanjie -Andy Chen -Kcin1993 -yozian -jimmy -Leko -Aqui Tsuchida -koooge -kou-hin -Hiroaki KARASAWA -narirou -Antonio V -spring_raining -Hiromu Yoshiwara -yuza yuko -smatsu-hl -Hannes Payer -Bamieh -WhoMeNope -Junichi Kajiwara -Matthew Leon -Hativ -Tom Hallam -Hannes Magnusson -ChungNgoops -Jose M. Palacios Diaz -hmammedzadeh -Sergei Datsenko -Marja Hölttä -IHsuan -Francisco Gerardo Neri Andriano -Shilo Mangam -idandagan1 -Cameron Moorehead -TomerOmri -Collins Abitekaniza -Federico Kauffman -Benno Fünfstück -Ram Goli -babygoat -Will Clark -Haejin Jo -Hakan Kimeiga -Tyler -Shinya Kanamaru -you12724 -routerman -April Webster -Jure Triglav -alnyan -rt33 -Ulmanb -Xavier J Ortiz -Waleed Ashraf -Mir Mufaqam Ali -Nicholas Drane -Shobhit Chittora -Dmitriy Kasyanov -Tyson Andre -Salame William -Todd Wong -Mykola Bilochub -Qingyan Li -Jinho Bang -Sho Miyamoto -现充 -furstenheim -Moritz Peters -Nils Kuhnhenn -隋鑫磊 -Kostiantyn Wandalen -Mars Wong -Omar Crisostomo -Leeseean Chiu -Gilles De Mey -Matthew Turner -Ryan Mahan -Antony Tran -Robert Adamian -Peter Dalgaard-Jensen -Seth Brenith -Adam Engebretson -Aaron Kau -Ivan Filenko -Zachary Vacura -Timothy O. Peters -Ben Wilcox -Justin Ridgewell -Juan Sebastian Velez Posada -Guangcong Luo -Sarat Addepalli -Nick Soggin -Camilo Gonzalez -BufoViridis <30531954+BufoViridis@users.noreply.github.com> -Bhavani Shankar -JiaHerr Tee -Jeff Principe -Alejandro Estrada -Aonghus O Nia -Mihail Bodrov -Chin Huang -Kevin Caulfield -Sergey Golovin -Miles Elam -Ashutosh Kumar Singh -killagu -dustinnewman98 -Oluwaseun Omoyajowo -Wilson Lin -Eric Bickle -Ujjwal Sharma -Wei-Wei Wu -Prateek Singh -Mythri Alle -Ken Lin -Piotr Grzesik -Damien Simonin Feugas -Anton Salikhmetov -Sameer Srivastava -Joseph Leon -Tom White -Ari Leo Frankel -jiangq -Will Hayslett -Wes Todd -Nathaniel Weeks -Ke Ding -Ayush Gupta -davis.okoth@kemsa.co.ke -Kenji Okamoto -wangzengdi -Garwah Lam -jaspal-yupana -Arian Santrach -Forrest Wolf -Fatah N -Divyanshu Singh -FallenRiteMonk -Rajkumar Purushothaman -Chris Miller -Dave O'Mahony -nodeav <30617226+nodeav@users.noreply.github.com> -Zhenzhen Zhan -Ryusei Yamaguchi -Kohei Hiraga -Nick Filatov -Jesse Gorzinski -Pieter Mees -Malcolm White -Matei Copot -Gurin, Sebastian -Indranil Dasgupta -Harry Sarson -Snehil Verma -Joseph Gordon -Antoine du HAMEL -Rémi Berson -Alec Larson -Daven Casia -Isuru Siriwardana -Spencer Greene -Palash Nigam -SheetJS -Bryan Azofeifa -Christine E. Taylor -John Musgrave -Dhansuhu Uzumaki -Beni von Cheni -Ilya Sotov -Ulan Degenbaev -William Cohen -Ajido -kailash k yogeshwar -Daniel Hritzkiv -Mark Tiedemann -xsbchen -Kyle Martin -Denis Fäcke -Daylor Yanes -Carrie Coxwell -Masashi Hirano -Brandon Ruggles -Allen Yonghuang Wang -Yichao 'Peak' Ji -Jesse W. Collins -TSUYUSATO Kitsune -daGo -Lambdac0re -Yulong Wang -David Goldstein -Francesco Falanga -Maya Lekova -RakshithNM -David Humphrey -Ting Shao -Alex Fernández -Yingchen Xue -Dan Kang -Masato Ohba -я котик пур-пур -Corey Martin -chainhelen -Tim Seckinger -Nam Nguyen -Nicholas Dangles -Amit Bendor -Abhimanyu Vashisht -Sagir Khan -Kael Zhang -Unknown -Krzysztof Taborski -Blaine Bublitz -Shailesh Shekhawat -Davis Okoth -Shivang Saxena -Lucas Liepert -Miklos Suveges -Ernesto Salazar -Tommaso Allevi -Evandro Oliveira -Kenny Yuan -Hristijan Gjorgjievski -Aliaksei Tuzik -Misty De Meo -James Kylstra -Shelley Vohr -Deepjyoti Mondal -Kevin Thomas -ZaneHannanAU -Fernando Doglio -Renée Kooi -Jo Colina -itaysabato -Victor Belozyorov -Joonas Rouhiainen -GauthamBanasandra -Hugo Josefson -Sam Ruby -Haroon Khan -Developer Davo -Jacek Pospychała -MaleDong -iwko -Sohail Rajdev -Niicck -Denys Otrishko -Sergey Zelenov -Travis Fischer -Dominic Farolino -Octavian Soldea -XhmikosR -AdityaSrivast -Javier Gonzalez -RidgeA -Ryuichi Sakagami -hectorcoronado -Petras <15868923+kimberlake@users.noreply.github.com> -Kevin Lacabane <5239883+klacabane@users.noreply.github.com> -Simionescu, Radu -mariotsi -prayag21 <10997858+prayag21@users.noreply.github.com> -Bruno Pinho -Michael Achenbach -Anto Aravinth -Helio Frota <00hf11@gmail.com> -Jacob Page -sagulati -Gabriel Charette -conectado -Vitor Bruno de Oliveira Barth -Christian Clauss -bhavayAnand9 -Brandon Lee <40652534+brandonlwt@users.noreply.github.com> -Oryan Moshe -Michael Sommer -Eugene Y. Q. Shen -Rishabh Singh -Marco Levrero -Ouyang Yadong -yahavfuchs -Thomas Leah -Musa Hamwala -Andrey Lushnikov -James Bromwell -Jeremy Apthorp -Eugen Cazacu <32613393+oygen87@users.noreply.github.com> -Csaba Palfi -Ryan Petrich -Andreas Girgensohn -Caleb Sander -Dzmitry_Prudnikau -Ian McKellar -Jennifer Bland -Kyle Fuller -Camillo Bruni -Yongsheng Zhang -Neeraj Laad -Scott Van Gilder -Yaniv Friedensohn -Chengzhong Wu -Troels Liebe Bentsen -pranshuchittora -lakamsani -Chris White -Ben Newman -Szymon Marczak -Tessei Kameyama -Chakravarthy S M -Andreas Haas -Clemens Hammacher -Saud Khanzada -Hariss096 -William Skellenger -iliashkolyar -Tien Do -Sagi Tsofan -Mohammed Essehemy -chocolateboy -William Chargin -Mohit kumar Bajoria -Mark Abel -Alexander Mills -Rodrigo Bruno -Lovingly <42682205+lovinglyy@users.noreply.github.com> -Klaus Meinhardt -Sintendo -Nitish Sakhawalkar -André Cruz -Josh Broomfield -Umang Raghuvanshi -Duarte David -Aleksey Chemakin -siddhant <30566406+siddhant1@users.noreply.github.com> -Brandon Smith -Bastian Krol -Vitaly Dyatlov -Joe Sepi -et4891 -Kayla Altepeter -Shannon -David Xue -garrik.leonardo@gmail.com -jungkumseok -Khalid Adil -Jared Haines -Danu Widatama -mmisiarek -Andrew Eisenberg -Ivan Sieder -andy addington -Matt Holmes -epeden -mdaum -Richard Markins -Denny Scott -Amie -Maggie Nolan -S. Everett Abbott -James Traver -Emily Kolar -Yitong -Tim Cheung -Lian Li -Dylson Valente Neto -ashleysimpson -Paige Kato -Stephen Heitman -Muzafar Umarov -Quinn Langille -Bruce A. MacNaughton -Ian Sutherland -Rock Hu -Stacey -Matt Jiles -Claire Liu -Michal Hynek -David Corona -Anna Zhao -Diana Holland -Chris Nguyen -Artur Hayrapetyan -Carolina Pinzon -Carl Richmond -Felix Schlenkrich -chrisforrette -@CAYdenberg <@CAYdenberg> -Long Nguyen -Greg Goforth -scabhi -Robert Monks -Andrew MacCuaig -Milton Sosa -Illescas, Ricardo -Jean-Francois Arseneau -Viacheslav Liakhov -David Scott -Daniyal Mokhammad -Joshua Belcher -Jonny Kalambay -Pascal Lambert -Arne Schramm -Lee Gray -Randy Wressell -Tyler Vann-Campbell -surreal8 -Takdeer Sodhan -Ben Schaaf -David Ward -Elvis-Philip N -edgarzapeka -Michael Chen -MarianneDr -Marcos Frony -Andrew J D McCann -nofwayy -jaxyz -ssamuels0916 -Diana Lee -Oktavianus Ludiro -Eli Itah -Sean Healy -KelvinLawHF1 -Cody Hazelwood -Erin Bush -Allan Zheng -Ivan Lukasevych -Justin denBroeder -Chris Bautista -Joe Grosspietsch -naris93 -Victor Poriazov -peter -Jackelin Herrera -Murtaza H <1850989+mhussa19@users.noreply.github.com> -Clinton Pahl -Maki Toda -Jason Nutter -blakehall -seantcoyote -Salman Shakeel -Liran Tal -Joe Shindelar -AlixAng -francois -Saleh Abdel Motaal -Richard Hoehn -Ethan Weber -Pete Lombardo -Savio Resende -Mel -keeysnc -erickwendel -Martin Omander -Jeff Marvin -vchoubey08 -Stéphane Vasseur -Vsevolod Geraskin -Israel Ortiz -Paul Tichonczuk -Gino Notto -David Jiang -Chuck Theobald -Derek -Amanuel Ghebreweldi -christian-bromann -Jonathan Samines -Steven Auger -Nancy Truong -James Irwin -nick-ng -Dusan Radovanovic -jn99 -Ulises Gascón -Elian Gutierrez -Jose Bucio -Thomas GENTILHOMME -Romain Lanz -Andre Jodat-Danbrani -Nolan Rigo -Jonathan Cardoso Machado -Raoof -Loic -Denis McDonald -Arvind Pandey -Jagannath Bhat -Geoffrey Booth -mritunjaygoutam12 -Esteban Sotillo -Jerome Covington -Rob Reynolds -warnerp18 -chux0519 -Tadhg Creedon -Petar Dodev -mzucker -Morgan Roderick -Remy Parzinski -Roland Broekema -Florin-Daniel BÎLBÎE -Robin Drexler -ZauberNerd -G. Carcaci -Jackson Chui <14085209+haiXchuus@users.noreply.github.com> -Marc Posth -Simona Cotin -Mathieu Pavageau -Clement -razvanbh -reineke-fox -Mark Arranz -alyssaq -Manish Poddar -szabolcsit -Kevin Seidel -Jonah Polack -Paul Isache -Artur Daschevici -Grant Carthew -Alex Seifert -Amer Alimanović -Nikita Malyschkin -ivan.filenko -Marcus Scott -Berry de Witte -saurabhSiddhu -Marie Terrier -John Mc Quillan -Ulises Santana Suárez -Yehiyam Livneh -Aivo Paas -James Herrington -Natalie Cluer -Dmitry Igrishin -Martin Kask -Alessandro Gatti -Vladyslav Kopylash -Osmond van Hemert -msmichellegar -Robert Pamely -Lauri Piisang -kiyomizumia -Paul Hodgson -Emanuel Kluge -Andrey Melikhov -Philipp Dunkel -Steven Gabarro -Dan Corman -Rodger Combs -Charalampos Fanoulis <38255093+cfanoulis@users.noreply.github.com> -Julia -Kanika Singhal -Gagandeep Singh -Lakshmi Shanmugam -Jayasankar -Pushkal B -potham -Shubham Urkade -Nikhil M -leeight -Selvaraj -Mayank Asthana -Simon Bruce -NoSkillGirl -apoorvanand -Jay Arthanareeswaran -Amanpreet -kanishk30 -UjjwalUpadhyay -Namit Bhalla -Matteo -dexterleng -Kunda Sunil Kumar -rahulshuklab4u -gengjiawen -Maya Anilson -Mrityunjoy Saha -Prabu Subra -Abhishek Dixit -Sarath Govind K K -Dexter Leng -Gary Hsu -Dan Foley -Pranay Kothapalli -Nethra Ravindran -Juan José Arboleda -prodroy1 -Yusuke Kawasaki -yuriettys -sadness_ojisan -ka2jun8 -sota1235 -dominikeinkemmer -mki-skt -Laszlo.Moczo -jamesgeorge007 -koki-oshima -takato -yosuke ota -tottokotkd -kazuya kawaguchi -Naojirou Hisada -tpanthera -feng jianmei -DoiChris -VeysonD -susantruong -Takahiro Nakamura -horihiro -grimrose -timothy searcy -nakashima -/Jesse -exoego -sigwyg -pastak -lakatostamas -Mike Samuel -Suguru Motegi -Gerhard Stoebich <18708370+Flarna@users.noreply.github.com> -jy95 -Kenigbolo Meya Stephen -Charles Samborski -zhmushan -yoshimoto koki -Ilarion Halushka -Yael Hermon -Mitch Hankins -Mikko Rantanen -wenjun ye <1728914873@qq.com> -briete -Philipp Renoth -Audrey Eschright -Kazushi Kitaya -peterwmwong -Thomas Chung -Jordan Harband -P. Mike -Corey Farrell -Furqan Shaikh -Roy Sommer -James Bunton -Kevin Smith -H1Gdev -Julian Alimin -Manusaporn Treerungroj -Richard Chamberlain -Daniel George Holz -yathamravali -Tim De Pauw -Filip Skokan -Samuel D. Leslie -Eric Whitebloom -Lee Byron -Kei Ito -Albert Still -Raido Kuli -Robin Neatherway -Andrew Moss -Amit Zur -Thang Tran -Kai -Abhishek Agarwal -Jon Kunkee -Mukul Khanna -Jarrod Connolly -Michael Wei -Alexander Sattelmaier -Avi ד -Thomas -Aymen Naghmouchi -Zeyu "Alex" Yang -Patrick Gansterer -Nicolas Moteau -Anthony Tuininga -Yann Hamon -Ben Swinburne -Colin Prince -TJKoury -dnlup -Hang Jiang -Vladislav Kaminsky -Daiki Ihara -toshi1127 -nd-02110114 -dkundel -Evan Plaice -Simon Zünd -simon3000 -Marcos Casagrande -Ruwan Geeganage -Maël Nison -Gerson Niño -freestraws -Daniel Beckert -Rivaldo Junior -Rongjian Zhang -tonyhty -jyjunyz -tongshouyu -lixin.atom -luoyu -xinyulee -hardfist <1562502418@qq.com> -shenchen -zhoujiamin -Chenxi Yuan -nilianzhu -wuchenkai -xuqinggang -XGHeaven -sinoon -Yaphet Ye -OneNail -陈健 -heben -sujunfei -imhype <543717080@qq.com> -ptaylor -Boxuan Li -Aditya Pratap Singh -Preveen Padmanabhan -Benjamin Ki -Daniel Nalborczyk -Alba Mendez -zero1five -Gaelan -Jacob -Dan Beglin -Anish Asrani -teams2ua -oksana -Grigorii K. Shartsev -Kopachyov Vitaliy -MurkyMeow -Evgenii Shchepotev -martyns0n -Levin Eugene -Alexander Avakov -Grigory Gorshkov -Keroosha -Tariq Ramlall -Alex Pry -Yuriy Vasiyarov -Mikhail Kuklin -went.out -Kyle Zhang -Alex Temny -Alex Aubuchon -Samuel Attard -rexagod -Antonio Kukas -murgatroid99 -Saagar Jha -vmarchaud -Milad Farazmand -mutao -Samantha Sample -nicolasrestrepo -Angie M. Delgado -Alex Ramirez -Duvan Monsalve -Luis Gallon -kball -MistyBlunch -Laura Ciro -Yomar -raveneyex -khriztianmoreno -David Sánchez -melinamejia95 -David Carlier -Benoît Zugmeyer -Julian Correa -Felipe -Juan Roa -Ivan Villa -Caleb ツ Everett -Miken -Gabriela Niño -Tim Baverstock -Walle Cyril -Xu Meng -Ben L. Titzer -Ojasvi Monga -Shajan Jacob -Austin Wright -Vickodev -Karen He <32376376+baekrxnn@users.noreply.github.com> -Harshitha KP -Tanner Stirrat -h3knix -Cotton Hou -Edward Vielmetti -Micha Hanselmann -Luca Lindhorst -Manuel Ochoa Loaiza -Juan Bedoya -Andres Bedoya -elyalvarado -Felipe Duitama -Alejandro Nanez -Jeroen Ooms -PaulBags <19583196+PaulBags@users.noreply.github.com> -EduardoRFS -Natalie Fearnley -pi1024e -Giorgos Ntemiris -Rainer Poisel -Andrew Hughes -Tony Brix -Anas Aboureada -MattIPv4 -David Guttman -Xavier Stouder -ran -Nick Schonning -Chetan Karande -Bradley Farias -Nimit Aggarwal -Devendra Satram -AtticusYang -Kamil Rytarowski -Aditya -Denis Zavershinskiy -Levhita -claudiahdz -Javier Ledezma -Marian Rusnak <4215517+marian-r@users.noreply.github.com> -Jenia -Anton Gerasimov -rickyes <0x19951125@gmail.com> -Simon A. Eugster -TATSUNO Yasuhiro -Robert Jensen -dokugo -Jakob Krigovsky -Sergei Osipov -themez -Maria Paktiti -Unlocked <10186337+TheUnlocked@users.noreply.github.com> -Huachao Mao -Lucas Pardue -Nicolas Thumann <46975855+n-thumann@users.noreply.github.com> -akitsu-sanae -Minuk Park -Jim Schlight -Theotime Poisseau -Alex Zherdev -dev-313 -Michael Perrotte -Alexandre Ferrando -Loris Zinsou -Jizu Sun -Ash Cripps -garygsc -Patrick Housley -Artem Maksimov -Nolik -palmires -Clemens Backes -Vadim Gorbachev -galina.prokofeva -Nadya -PerfectPan -peze -Vladislav Botvin -Ilia Safronov -Dmitriy Kikinskiy -telenord -alexahdp -Daniil Pletnev -Grigoriy Levanov -Simon Schick -Albert Wang -Kenza Houmani -mkdorff -xefimx -Susana Ferreira -Xavier Redondo -Duncan Healy -SoulMonk -Kerry Mahne -nathias -Nikolay Krashnikov <1090219@mail.ru> -daern91 -JL Phillips -Jure Stepisnik -Raoul Jaeckel -Kyriakos Markakis -Guilherme Goncalves -Jesse O'Connor -VinceOPS -David OLIVIER -Maria Stogova -Taylor Gagne -Kirlat -Lucas Recknagel -Oliver Belaifa -guzhizhou -Paolo Ceschi Berrini -Jing Lin -poutch -Tembrechts -Jon Church -Àlvar Pérez -Daniel Schuech -Dimitris Ktistakis -Dries Stelten -Vladimir Adamic -Shubham Chaturvedi <19shubham11@gmail.com> -Jamar Torres -Luis Camargo -Herrmann, Rene R. (656) -Semir Ajruli -matijagaspar -Aldo Ambrosioni -Nazar Malyy -Dennis Saenger -ryan jarvinen -Maria Emmanouil -Tijl Claessens -EmaSuriano -Chris Oyler -Jesper Ek -Luciano -jens-cappelle -bruce-one -Jason Macgowan -Vincent Dhennin -Jeny -Tchoupinax -Sebastien Ahkrin -Michael Lehenbauer -Harendra Singh -Sam Foxman -Marek Łabuz -Reza Fatahi -Priyanka Kore -Jan-Philip Gehrcke -qualitymanifest -Rosen Penev -Jeremy Albright -Giovanni Campagna -Donggeon Lim -rene.herrmann -Derek Lewis -Kirill Ponomarev -Soar <58918356+soar-beep@users.noreply.github.com> -Tadao Iseki -Diego Lafuente -Andrew Kuzmenko -David Newman -Andrey Hohutkin -A. Volgin -Chris Osborn -stephank -Taylor Zane Glaeser -sutangu -Santosh Yadav -kresimirfranin -Colin Grant <43424668+GKJCJG@users.noreply.github.com> -Ryan Schmidt -Ronald J Kimball -Vighnesh Raut -SpaceRacet5w2A6l0I <59487396+SpaceRacet5w2A6l0I@users.noreply.github.com> -Alexander Wang -carterbancroft -Egor Pavlov -Parker Bjur -Yakov Litvin -Eran Levin -Alexander Smarus -kenzo-spaulding <51864231+kenzo-spaulding@users.noreply.github.com> -Rusty Conover -aaccttrr -ConorDavenport -Dylan Coakley -Steffen -Conor ONeill -tsabolov -Swagat Konchada -Yuhanun Citgez -Danielle Adams -Andrey Pechkurov -Jeff -simon -Eric Eastwood -unknown -zfx <502545703@qq.com> -Vita Batrla -André Draszik -ProdipRoy89 -Andrew Neitsch -RamanandPatil -forfun414 -David Gilbertson -Joe Pea -ExE Boss <3889017+ExE-Boss@users.noreply.github.com> -Mateusz Krawczuk -Jonathan MERCIER -Jichan -Hassaan Pasha -Eric Dobbertin -Victor -Ling Samuel -Syohei YOSHIDA -Nitin Kumar -Christian Niederer -Sk Sajidul Kadir -Bartlomiej Brzozowski -Saajan -Yash Ladha -Alex R -Hachimi Aa (Sfeir) -Daniel Estiven Rico Posada -Andrés M. Gómez -Nick Kreeger -Moni <40552237+NotMoni@users.noreply.github.com> -Dave Vandyke -Agustin Daguerre -Jesus Hernandez -龙腾道 -John Kleinschmidt -Cecchi MacNaughton -Reşat SABIQ -daemon1024 -Qinhui Chen -William Bonawentura -Vadzim Zieńka -David Daza <03dazal@gmail.com> -雨夜带刀 -karan singh virdi -William Armiros <54150514+willarmiros@users.noreply.github.com> -Matt Kulukundis -Edward Elric -Prosper Opara -Eileen -Ishaan Jain <37652866+ishaanjain1898@users.noreply.github.com> -Christopher Beeson -thecodrr -Chris Holland -Ranjan Purbey -白一梓 -John Leidegren -Karol Walasek -osher -szTheory -Jonathan Buhacoff -Shu-yu Guo -Paolo Insogna -Richard Townsend -Deep310 <55121371+Deep310@users.noreply.github.com> -Dominykas Blyžė -Wenning Zhang <1527841714@qq.com> -shisama -Kirill Shatskiy -Ben Bucksch -Eli Schwartz -Maciej Kacper Jagiełło -Tom Nagle -sapics -Sagar Jadhav -Dennis Ameling -Todd Short -Pragyan Das -Shakil-Shahadat -wenningplus -WilliamConnatser <43946230+WilliamConnatser@users.noreply.github.com> -Benjamin Kaduk -Tatsuhiro Tsujikawa -Nathan Blair -patr0nus -Alec Davidson -falguniraina <48027052+falguniraina@users.noreply.github.com> -Rodion Abdurakhimov -Anentropic -Saleem -Julien Poissonnier -zombieleet -Nikola Glavina -Johannes Schöpp -Francisco Ryan Tolmasky I -Ye-hyoung Kang -Jucke -Pekka Nikander -iandrc -Tim Perry -Corey Butler -aetheryx -Robey Pointer -Priyank Singh -Gabriele Greco -Renato Mariscal -Matthew McEachen -Voltra -davkor -Carlos Lopez -Hilla Shahrabani -Frank Lemanschik -Justice Almanzar -Maksim Sinik -João Lucas Lucchetta -Turner Jabbour -Igor Mikhalev -DeeDeeG -KuthorX -Pooja D.P -Shigma <33423008+Shigma@users.noreply.github.com> -atian25@qq.com -Amila Welihinda -schamberg97 <50446906+schamberg97@users.noreply.github.com> -DrunkenPoney -Christoph Tavan -Clark Kozak -Michael Auderer -Linn Dahlgren -Ikko Ashimine -Anatoly Korniltsev -Victor Antonio Barzana Crespo -Matthieu Larcher -anlex N <1293006794@qq.com> -ThakurKarthik -Aastha Gupta -Yohanan Baruchel -Dmitry Gozman -Daniil Demidovich -Hussaina Begum Nandyala -Danny Sonnenschein -Sourav Shaw -H Adinarayana -Kim-Anh Tran -lucasg -Brian 'bdougie' Douglas -Lee, Bonggi -Momtchil Momtchev -Vincent Boivin -ax1 <16510021+ax1@users.noreply.github.com> -Shubham Parihar <51517103+iShibi@users.noreply.github.com> -Darshan Sen -Matthew Francis Brunetti -Chris Opperwall -Takuya Noguchi -tyankatsu -Ben Turner <7623873+ben-turner@users.noreply.github.com> -Bryan Field -krank2me -masx200 <34191203+masx200@users.noreply.github.com> -Baruch Odem (Rothkoff) -Mattias Runge-Broberg -Dmitry Semigradsky -Ole André Vadla Ravnås -Aleksandr Krutko -Brian Ingenito <28159742+bingenito@users.noreply.github.com> -FeelyChau -Darcy Clarke -mayank agarwal -woodfairy -Rishabh Mehan -Andrew Casey -Anders Kaseorg -Hollow Man -nlf -naortedgi -Narasimha Prasanna HN -Zijian Liu -inokawa <48897392+inokawa@users.noreply.github.com> -Michael Bashurov -Moshe vilner -Nicolai Stange -kai zhu -FrankQiu -Rock -Chinmoy Chakraborty -Maksym Baranovskyi -Michael Chen <4326639+mcgitty@users.noreply.github.com> -François-Denis Gonthier -Dr -Nitzan Uziely -Adrien Maret -Thiago Padilha -Joseph Hackman -Pranshu Jethmalani -Rohan Chougule -Mohamed Kamagate -Ajay Poshak -Isaac Levy -ugultopu -Nicholas Schamberg -Dimitris Halatsis -Mattia Pontonio <44380480+mattiapontonio@users.noreply.github.com> -Milad Fa -Emil Sivervik -alexbs -Ian Storm Taylor -Carlos Fuentes -Tyler Ang-Wanek -Matthew Mario Di Pasquale -ttzztztz -Romuald Brillout -Dave Cardwell -Akash Negi <55234838+NegiAkash890@users.noreply.github.com> -James Addison -Fabian Cook -Kalvin Vasconcellos -Akhil Marsonya -Qingyu Deng -Matin Zadehdolatabad -Daniel Clark -Sajal Khandelwal -Cheng Liu -Utku Gultopu -Jay Tailor <60511316+JayvaScript@users.noreply.github.com> -Greg Ziskind -Dan Čermák -Vít Ondruch -humanwebpl <58517331+humanwebpl@users.noreply.github.com> -Dawid Rusnak -obi-el -Merlin Luntke <22600241+Luntke@users.noreply.github.com> -Marko Kaznovac -Ian Kerins -dbachko -Mattias Buelens -Dylan Elliott -Wassim Chegham -simov -wwwzbwcom -David Glasser -pezhmanparsaee -Darkripper214 -Anu Pasumarthy -HiroyukiYagihashi -Arkerone -Mohammed Keyvanzadeh -ycjcl868 <45808948@qq.com> -Serkan Özel -Ferdi -eladkeyshawn -luyahan -Simon Knott -Siddharth -Cactysman -David Brownman -Michael Rommel -Andres -Jayden Seric -divlo -Rohit Gohri -Giora Guttsait -takayama -Rafael Gonzaga -Arnold Zokas -Nils Dralle -Jesse Chan -helloyou2012 -Jithil P Ponnan -Rodolfo Carvalho -Jordan Baczuk -moander -Hitesh Sharma -Andreas Schwab -Moritz Kneilmann -fisker Cheung -Issam E. Maghni -TodorTotev <51530311+TodorTotev@users.noreply.github.com> -Wael Almattar -yotamselementor <83912471+yotamselementor@users.noreply.github.com> -pengjie <37610029@qq.com> -Philip -julianjany <54538266+julianjany@users.noreply.github.com> -bl-ue -npm team -Shaun Keys -Simone Busoli -Derevianchenko Maksym <32910350+maks-white@users.noreply.github.com> -RA80533 <32469082+RA80533@users.noreply.github.com> -Mao Wtm -Houssem Chebab -Davidson Francis -Rohan Sharma -AkshayK -FrankEntriken <42781627+FrankEntriken@users.noreply.github.com> -Cyrille Bourgois -Jacob Smith <3012099+JakobJingleheimer@users.noreply.github.com> -ejose19 <8742215+ejose19@users.noreply.github.com> -Tobias Koppers -Makoto Kato -foxxyz -LitoMore -nerdthatnoonelikes -Nikita Rykov <40735471+angrymouse@users.noreply.github.com> -Benjamin Mayr -Lew Gordon -Mestery -Himadri Ganguly -Howie Zhao -Luan Devecchi -ashish maurya -Justin -Raz Luvaton -Don Jayamanne -Felix Yan -Ray -Node.js GitHub Bot -Alexey Ten -JckXia -Christian Boehlke -Viero Fernando -Dominic Elm -treysis -shfshanyue -Nikita Galkin -vipul kumar -Artur K -RISHABH BUDHIRAJA -Guilherme Bernal -SURYAPRATAP SINGH SURYAVANSHI <67123991+suryapratapsinghsuryavanshi@users.noreply.github.com> -xuchaobei -Pancake <71993095+Cinnamonsroll@users.noreply.github.com> -m3m0ry -Rebhi Alfa <79001326+rebhialfa@users.noreply.github.com> -Clément Nardi -MrBBot -thunder-coding -Gary Ho -Arslan Ali -Chris Heisterkamp -kokke -Mason Malone -gc <30398469+gc@users.noreply.github.com> -ylemkimon -Milan Burda -gdccwxx <765553928@qq.com> -Ignacio Carbajo -Constantine Kim -OliverOdo -Mark Skelton -Ross McIlroy -Isaac Brodsky -simon-id -Francesco Trotta -Richie Bendall -ryan -Piotr Rybak -Jean Burellier -Subhi Al Hasan -3nprob -Martin Jansa -Omar El-Mihilmy -Yoshiki -Keeley Hammond -git-srinivas -Idan Attias -twchn -Hirotaka Tagawa / wafuwafu13 -Henadzi <74081058+Gena888@users.noreply.github.com> -Jonah Snider -notroid5 <87585310+notroid5@users.noreply.github.com> -Jameson Nash -Shinho Ahn -jakub-g -Irakli Gozalishvili -Gabriel Bota <94833492+dygabo@users.noreply.github.com> -AlphaDio -Mateusz Burzyński -mawaregetsuka <33221990+mawaregetsuka@users.noreply.github.com> -Marcos Bérgamo -Thiago Santos -CallMeLaNN -Eric Jacobson -Dmitry Petrov -Shaw <784487301@qq.com> -David Sanders -alexcfyung -Gaby Baghdadi -Wayne Zhang -nikoladev <15011519+nikoladev@users.noreply.github.com> -Antonio Román -JoostK -Yu -Shi Pujin -Daoming Qiu -Job -Alex Agranov -Shalvah -Gabriel Trujillo -LiviaMedeiros -iMoses -Harshil jain -Tobias Hernstig <30827238+thernstig@users.noreply.github.com> -Ben McCann <322311+benmccann@users.noreply.github.com> -Caio Agiani -Ateş Göral -Tony Gorez -ofirbarak -Bar Admoni -ofir -Xuguang Mei -Elad Nava -Balakrishna Avulapati -Aaron Xie -小菜 -Raymond Zhao -Austin Cheney -Michael Scovetta -Valters Jansons -Marcos Bjoerkelund -T•Ø•R•Ü•S -Sean Quinlan <1011062+sbquinlan@users.noreply.github.com> -Derek Wolpert <48101033+derekwolpert@users.noreply.github.com> -wbt -Alexandru Comanescu -madflow -Austin Kelleher -apeltop -Nikolaos Papaspyrou -Matt Probert <1196252+mattpr@users.noreply.github.com> -Roch Devost -Kohei Ueno -bradh352 -Mikael Finstad -Damjan Cvetko -Randall Leeds -Khoo Hao Yit <40757009+KhooHaoYit@users.noreply.github.com> -Aroyan <43630681+aroyan@users.noreply.github.com> -theanarkh -Vladimir Morozov -Anupama Codippily <47591753+AnupamaCodippily@users.noreply.github.com> -Greg Poole -Eliaz Bobadilla -Daeyeon Jeong -Daniel Roe -Niyas Sait -K.C.Ashish Kumar <703559+kcak11@users.noreply.github.com> -Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> -Liviu Ionescu -HE Shi-Jun -Yagiz Nizipli -liuxingbaoyu <30521560+liuxingbaoyu@users.noreply.github.com> -Sergey Nazaryev -William Marlow -Keyhan Vakil -Feng Yu -pupilTong -rikapo -Meek Simbule <55823259+meekdenzo@users.noreply.github.com> -Michael Ficarra -hiroki osame -Eugene Chapko -Sergey Petushkov -Caleb Everett -JialuZhang-intel -Moshe Atlow -rubikscraft -James Scott-Brown -supriyo-biswas -Giacomo Gregoletto -italo jose -Kazuma Ohashi -Douglas Wilson <67512+dougwilson@users.noreply.github.com> -0xSanyam <108138884+0xSanyam@users.noreply.github.com> -Alena Khineika -Basit <1305718+mabaasit@users.noreply.github.com> -Kid <44045911+kidonng@users.noreply.github.com> -Jeremy Rose -Facundo Tuesca -Dan Castillo -Varun Sharma -txxnano -Jannis R -John Gee -Hrishikesh Kadam -KrayzeeKev -Airing -jiahao.si -Rhys -Mark S. Miller -Jianru Lin -Lenvin Gonsalves <41874033+98lenvi@users.noreply.github.com> -Andreu Botella -shhh7612 <82669765+shhh7612@users.noreply.github.com> -Dominic Saadi -ywave620 -NicoNekoru <66227158+NicoNekoru@users.noreply.github.com> -SADIK KUZU -flakey5 <73616808+flakey5@users.noreply.github.com> -Saurabh Daware -BuShe -Nick Sia -Basit Chonka -Jeremiah Gowdy -Matthew Peveler -Wing -Hana -Jeff Dickey <216188+jdxcode@users.noreply.github.com> -Matías Zúñiga -metonym -Brian Evans <53117772+mrbrianevans@users.noreply.github.com> -falsandtru -东灯 <43312495+Lampese@users.noreply.github.com> -Fabian Meyer <3982806+meyfa@users.noreply.github.com> -Stefan Stojanovic -Claudio Wunder -Shrujal Shah -Taha-Chaudhry <46199675+Taha-Chaudhry@users.noreply.github.com> -smitley -Brian Muenzenmeyer -sidwebworks -Connor Burton -chexiongsheng -Lucas Santos -“Pooja -Alan Agius -Meghana Ramesh <66589407+ml7181@users.noreply.github.com> -Nupur Chauhan <31733079+nupurchauhan6@users.noreply.github.com> -Madhulika Sharma <89944545+MadhulikaSharma95@users.noreply.github.com> -SergeyTsukanov <47488049+SergeyTsukanov@users.noreply.github.com> -andiemontoyeah <55297964+andiemontoyeah@users.noreply.github.com> -Ankita Khiratkar -surbhirjain <36057179+surbhirjain@users.noreply.github.com> -poorvitusam -Archana Kamath <68199391+archana-kamath@users.noreply.github.com> -Alex <93376818+sashashura@users.noreply.github.com> -Priya Shastri <97130930+pshastricb@users.noreply.github.com> -Madhuri -Divya Mohan <77031080+DivyaMohan94@users.noreply.github.com> -Hope Olaidé <79100769+hopeolaide@users.noreply.github.com> -Juliet Zhang <65837446+zhangjuliet@users.noreply.github.com> -Rathi N Das -samyuktaprabhu -Brinda Ashar -Monu-Chaudhary -Anjana Krishnakumar Vellore <54228505+anjanakvellore@users.noreply.github.com> -mmeenapriya <42589859+mmeenapriya@users.noreply.github.com> -Chandana <100327450+chanduMe@users.noreply.github.com> -pete3249 <63552971+pete3249@users.noreply.github.com> -Bruno Pitrus -Manuel Spigolon -Lorand Horvath <72015221+lorand-horvath@users.noreply.github.com> -Michael Rienstra -Tho -Cesar Mario Diaz <85703766+Cesar-M-Diaz@users.noreply.github.com> -Khafra <42794878+KhafraDev@users.noreply.github.com> -github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> -Pierrick Bouvier <101587250+pbo-linaro@users.noreply.github.com> -KaKa -Luke Karrys -Tim Shilov -Obiwac -Yu Gu -andreysoktoev -Pavel Horal -Konv <82451257+kovsu@users.noreply.github.com> -Aidan Temple <15520814+aidant@users.noreply.github.com> -Emanuel Hoogeveen -Takuro Sato <79583855+takuro-sato@users.noreply.github.com> -Carter Snook -Nathanael Ruf <104262550+nathanael-ruf@users.noreply.github.com> -Vasili Skurydzin -翠 / green -Ulises Gascon -chlorine -Shi Lei -Deokjin Kim -Marco Ippolito -Alex Hunt -Debadree Chatterjee -Gabriela Gutierrez -emirgoren <61096652+emirgoren@users.noreply.github.com> - -# Generated by tools/update-authors.mjs diff -Nru nodejs-18.13.0+dfsg1/BUILDING.md nodejs-18.19.0+dfsg/BUILDING.md --- nodejs-18.13.0+dfsg1/BUILDING.md 2023-01-05 22:46:43.000000000 +0000 +++ nodejs-18.19.0+dfsg/BUILDING.md 2023-11-29 15:10:36.000000000 +0000 @@ -29,7 +29,7 @@ * [Running Coverage](#running-coverage) * [Building the documentation](#building-the-documentation) * [Building a debug build](#building-a-debug-build) - * [Building an ASAN build](#building-an-asan-build) + * [Building an ASan build](#building-an-asan-build) * [Speeding up frequent rebuilds when developing](#speeding-up-frequent-rebuilds-when-developing) * [Troubleshooting Unix and macOS builds](#troubleshooting-unix-and-macos-builds) * [Windows](#windows) @@ -118,7 +118,7 @@ | macOS | arm64 | >= 11 | Tier 1 | | | SmartOS | x64 | >= 18 | Tier 2 | | | AIX | ppc64be >=power8 | >= 7.2 TL04 | Tier 2 | | -| FreeBSD | x64 | >= 12.2 | Experimental | | +| FreeBSD | x64 | >= 12.4 | Experimental | | [^1]: Older kernel versions may work. However official Node.js release binaries are [built on RHEL 8 systems](#official-binary-platforms-and-toolchains) @@ -208,10 +208,9 @@ This document is only valid for the current major version of Node.js. Consult previous versions of this document for older versions of Node.js: -* [Node.js 17](https://github.com/nodejs/node/blob/v17.x/BUILDING.md) +* [Node.js 19](https://github.com/nodejs/node/blob/v19.x/BUILDING.md) +* [Node.js 18](https://github.com/nodejs/node/blob/v18.x/BUILDING.md) * [Node.js 16](https://github.com/nodejs/node/blob/v16.x/BUILDING.md) -* [Node.js 14](https://github.com/nodejs/node/blob/v14.x/BUILDING.md) -* [Node.js 12](https://github.com/nodejs/node/blob/v12.x/BUILDING.md) ## Building Node.js on supported platforms @@ -342,12 +341,17 @@ $ tools/test.py --help ``` +> Note: On Windows you should use `python3` executable. +> Example: `python3 tools/test.py test/message` + You can usually run tests directly with node: ```text -$ ./node ./test/parallel/test-stream2-transform.js +$ ./node test/parallel/test-stream2-transform.js ``` +> Info: `./node` points to your local Node.js build. + Remember to recompile with `make -j4` in between test runs if you change code in the `lib` or `src` directories. @@ -497,16 +501,16 @@ $ backtrace ``` -#### Building an ASAN build +#### Building an ASan build -[ASAN](https://github.com/google/sanitizers) can help detect various memory -related bugs. ASAN builds are currently only supported on linux. +[ASan](https://github.com/google/sanitizers) can help detect various memory +related bugs. ASan builds are currently only supported on linux. If you want to check it on Windows or macOS or you want a consistent toolchain on Linux, you can try [Docker](https://www.docker.com/products/docker-desktop) (using an image like `gengjiawen/node-build:2020-02-14`). The `--debug` is not necessary and will slow down build and testing, but it can -show clear stacktrace if ASAN hits an issue. +show clear stacktrace if ASan hits an issue. ```console $ ./configure --debug --enable-asan && make -j4 @@ -788,246 +792,12 @@ ## Building Node.js with FIPS-compliant OpenSSL -The current version of Node.js supports FIPS when statically and -dynamically linking with OpenSSL 3.0.0 by using the configuration flag -`--openssl-is-fips`. - -### FIPS support when statically linking OpenSSL - -FIPS can be supported by specifying the configuration flag `--openssl-is-fips`: - -```console -$ ./configure --openssl-is-fips -$ make -j8 -``` - -The above command will build and install the FIPS module into the out directory. -This includes building fips.so, running the `installfips` command that generates -the FIPS configuration file (fipsmodule.cnf), copying and updating openssl.cnf -to include the correct path to fipsmodule.cnf and finally uncomment the fips -section. - -We can then run node specifying `--enable-fips`: - -```console -$ ./node --enable-fips -p 'crypto.getFips()' -1 -``` - -The above will use the Node.js default locations for OpenSSL 3.0: - -```console -$ ./out/Release/openssl-cli version -m -d -OPENSSLDIR: "/nodejs/openssl/out/Release/obj.target/deps/openssl" -MODULESDIR: "/nodejs/openssl/out/Release/obj.target/deps/openssl/lib/openssl-modules" -``` - -The OpenSSL configuration files will be found in `OPENSSLDIR` directory above: - -```console -$ ls -w 1 out/Release/obj.target/deps/openssl/*.cnf -out/Release/obj.target/deps/openssl/fipsmodule.cnf -out/Release/obj.target/deps/openssl/openssl.cnf -``` - -And the FIPS module will be located in the `MODULESDIR` directory: - -```console -$ ls out/Release/obj.target/deps/openssl/lib/openssl-modules/ -fips.so -``` - -Running `configure` without `--openssl-is-fips` flag and rebuilding will reset -the FIPS configuration. - -### FIPS support when dynamically linking OpenSSL - -For quictls/openssl 3.0 it is possible to enable FIPS when dynamically linking. -If you want to build Node.js using openssl-3.0.0+quic, you can follow these -steps: - -**clone OpenSSL source and prepare build** - -```bash -git clone git@github.com:quictls/openssl.git - -cd openssl - -./config \ - --prefix=/path/to/install/dir/ \ - shared \ - enable-fips \ - linux-x86_64 -``` - -The `/path/to/install/dir` is the path in which the `make install` instructions -will publish the OpenSSL libraries and such. We will also use this path -(and sub-paths) later when compiling Node.js. - -**compile and install OpenSSL** - -```console -make -j8 -make install -make install_ssldirs -make install_fips -``` - -After the OpenSSL (including FIPS) modules have been compiled and installed -(into the `/path/to/install/dir`) by the above instructions we also need to -update the OpenSSL configuration file located under -`/path/to/install/dir/ssl/openssl.cnf`. Right next to this file, you should -find the `fipsmodule.cnf` file - let's add the following to the end of the -`openssl.cnf` file. - -**alter openssl.cnf** - -```text -.include /absolute/path/to/fipsmodule.cnf - -# List of providers to load -[provider_sect] -default = default_sect -# The fips section name should match the section name inside the -# included /path/to/install/dir/ssl/fipsmodule.cnf. -fips = fips_sect - -[default_sect] -activate = 1 -``` - -You can e.g. accomplish this by running the following command - be sure to -replace `/path/to/install/dir/` with the path you have selected. Please make -sure that you specify an absolute path for the `.include fipsmodule.cnf` line - -using relative paths did not work on my system! - -**alter openssl.cnf using a script** - -```console -cat <> /path/to/install/dir/ssl/openssl.cnf -.include /path/to/install/dir/ssl/fipsmodule.cnf - -# List of providers to load -[provider_sect] -default = default_sect -# The fips section name should match the section name inside the -# included /path/to/install/dir/ssl/fipsmodule.cnf. -fips = fips_sect - -[default_sect] -activate = 1 -EOT -``` - -As you might have picked a non-custom path for your OpenSSL install dir, we -have to export the following two environment variables in order for Node.js to -find our OpenSSL modules we built beforehand: - -```console -export OPENSSL_CONF=/path/to/install/dir/ssl/openssl.cnf -export OPENSSL_MODULES=/path/to/install/dir/lib/ossl-modules -``` - -**build Node.js** - -```console -./configure \ - --shared-openssl \ - --shared-openssl-libpath=/path/to/install/dir/lib \ - --shared-openssl-includes=/path/to/install/dir/include \ - --shared-openssl-libname=crypto,ssl \ - --openssl-is-fips - -export LD_LIBRARY_PATH=/path/to/install/dir/lib - -make -j8 -``` - -**verify the produced executable** - -```console -ldd ./node - linux-vdso.so.1 (0x00007ffd7917b000) - libcrypto.so.81.3 => /path/to/install/dir/lib/libcrypto.so.81.3 (0x00007fd911321000) - libssl.so.81.3 => /path/to/install/dir/lib/libssl.so.81.3 (0x00007fd91125e000) - libdl.so.2 => /usr/lib64/libdl.so.2 (0x00007fd911232000) - libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fd911039000) - libm.so.6 => /usr/lib64/libm.so.6 (0x00007fd910ef3000) - libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007fd910ed9000) - libpthread.so.0 => /usr/lib64/libpthread.so.0 (0x00007fd910eb5000) - libc.so.6 => /usr/lib64/libc.so.6 (0x00007fd910cec000) - /lib64/ld-linux-x86-64.so.2 (0x00007fd9117f2000) -``` - -If the `ldd` command says that `libcrypto` cannot be found one needs to set -`LD_LIBRARY_PATH` to point to the directory used above for -`--shared-openssl-libpath` (see previous step). - -**verify the OpenSSL version** - -```console -./node -p process.versions.openssl -3.0.0-alpha16+quic -``` - -**verify that FIPS is available** - -```console -./node -p 'process.config.variables.openssl_is_fips' -true - -./node --enable-fips -p 'crypto.getFips()' -1 -``` - -FIPS support can then be enable via the OpenSSL configuration file or -using `--enable-fips` or `--force-fips` command line options to the Node.js -executable. See sections -[Enabling FIPS using Node.js options](#enabling-fips-using-node.js-options) and -[Enabling FIPS using OpenSSL config](#enabling-fips-using-openssl-config) below. - -### Enabling FIPS using Node.js options - -This is done using one of the Node.js options `--enable-fips` or -`--force-fips`, for example: - -```console -$ node --enable-fips -p 'crypto.getFips()' -``` - -### Enabling FIPS using OpenSSL config - -This example show that using OpenSSL's configuration file, FIPS can be enabled -without specifying the `--enable-fips` or `--force-fips` options by setting -`default_properties = fips=yes` in the FIPS configuration file. See -[link](https://github.com/openssl/openssl/blob/master/README-FIPS.md#loading-the-fips-module-at-the-same-time-as-other-providers) -for details. - -For this to work the OpenSSL configuration file (default openssl.cnf) needs to -be updated. The following shows an example: - -```console -openssl_conf = openssl_init - -.include /path/to/install/dir/ssl/fipsmodule.cnf - -[openssl_init] -providers = prov -alg_section = algorithm_sect - -[prov] -fips = fips_sect -default = default_sect - -[default_sect] -activate = 1 - -[algorithm_sect] -default_properties = fips=yes -``` +Node.js supports FIPS when statically or dynamically linked with OpenSSL 3 via +[OpenSSL's provider model](https://www.openssl.org/docs/man3.0/man7/crypto.html#OPENSSL-PROVIDERS). +It is not necessary to rebuild Node.js to enable support for FIPS. -After this change Node.js can be run without the `--enable-fips` or `--force-fips` -options. +See [FIPS mode](./doc/api/crypto.md#fips-mode) for more information on how to +enable FIPS support in Node.js. ## Building Node.js with external core modules diff -Nru nodejs-18.13.0+dfsg1/CHANGELOG.md nodejs-18.19.0+dfsg/CHANGELOG.md --- nodejs-18.13.0+dfsg1/CHANGELOG.md 2023-01-05 22:46:43.000000000 +0000 +++ nodejs-18.19.0+dfsg/CHANGELOG.md 2023-11-29 15:10:36.000000000 +0000 @@ -6,7 +6,7 @@ * [Node.js 17](doc/changelogs/CHANGELOG_V17.md) End-of-Life * [Node.js 16](doc/changelogs/CHANGELOG_V16.md) Long Term Support * [Node.js 15](doc/changelogs/CHANGELOG_V15.md) End-of-Life -* [Node.js 14](doc/changelogs/CHANGELOG_V14.md) Long Term Support +* [Node.js 14](doc/changelogs/CHANGELOG_V14.md) End-of-Life * [Node.js 13](doc/changelogs/CHANGELOG_V13.md) End-of-Life * [Node.js 12](doc/changelogs/CHANGELOG_V12.md) End-of-Life * [Node.js 11](doc/changelogs/CHANGELOG_V11.md) End-of-Life @@ -29,11 +29,22 @@ 18 (LTS) 16 (LTS) - 14 (LTS) -18.13.0
+18.19.0
+18.18.2
+18.18.1
+18.18.0
+18.17.1
+18.17.0
+18.16.1
+18.16.0
+18.15.0
+18.14.2
+18.14.1
+18.14.0
+18.13.0
18.12.1
18.12.0
18.11.0
@@ -77,46 +88,6 @@ 16.1.0
16.0.0
- -14.19.1
-14.19.0
-14.18.3
-14.18.2
-14.18.1
-14.18.0
-14.17.6
-14.17.5
-14.17.4
-14.17.3
-14.17.2
-14.17.1
-14.17.0
-14.16.1
-14.16.0
-14.15.5
-14.15.4
-14.15.3
-14.15.2
-14.15.1
-14.15.0
-14.14.0
-14.13.1
-14.13.0
-14.12.0
-14.11.0
-14.10.1
-14.10.0
-14.9.0
-14.8.0
-14.7.0
-14.6.0
-14.5.0
-14.4.0
-14.3.0
-14.2.0
-14.1.0
-14.0.0
- diff -Nru nodejs-18.13.0+dfsg1/GOVERNANCE.md nodejs-18.19.0+dfsg/GOVERNANCE.md --- nodejs-18.13.0+dfsg1/GOVERNANCE.md 2023-01-05 22:46:43.000000000 +0000 +++ nodejs-18.19.0+dfsg/GOVERNANCE.md 2023-11-29 15:10:36.000000000 +0000 @@ -118,8 +118,8 @@ * A TSC member opens an issue explaining the proposal/issue and @-mentions @nodejs/tsc. -* The proposal passes if, after 72 hours, there are two or more TSC approvals - and no TSC opposition. +* The proposal passes if, after 72 hours, there are two or more TSC voting + member approvals and no TSC voting member opposition. * If there is an extended impasse, a TSC member may make a motion for a vote. ## Collaborator nominations @@ -177,6 +177,6 @@ [Consensus Seeking]: https://en.wikipedia.org/wiki/Consensus-seeking_decision-making [TSC Charter]: https://github.com/nodejs/TSC/blob/HEAD/TSC-Charter.md -[collaborators discussion page]: https://github.com/orgs/nodejs/teams/collaborators/discussions +[collaborators discussion page]: https://github.com/nodejs/collaborators/discussions/categories/collaborator-nominations [nodejs/help]: https://github.com/nodejs/help [nodejs/node]: https://github.com/nodejs/node diff -Nru nodejs-18.13.0+dfsg1/LICENSE nodejs-18.19.0+dfsg/LICENSE --- nodejs-18.13.0+dfsg1/LICENSE 2023-01-05 22:46:43.000000000 +0000 +++ nodejs-18.19.0+dfsg/LICENSE 2023-11-29 15:10:36.000000000 +0000 @@ -78,19 +78,30 @@ - c-ares, located at deps/cares, is licensed as follows: """ - Copyright (c) 2007 - 2018, Daniel Stenberg with many contributors, see AUTHORS + MIT License + + Copyright (c) 1998 Massachusetts Institute of Technology + Copyright (c) 2007 - 2023 Daniel Stenberg with many contributors, see AUTHORS file. - Copyright 1998 by the Massachusetts Institute of Technology. + 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 (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. - Permission to use, copy, modify, and distribute this software and its - documentation for any purpose and without fee is hereby granted, provided that - the above copyright notice appear in all copies and that both that copyright - notice and this permission notice appear in supporting documentation, and that - the name of M.I.T. not be used in advertising or publicity pertaining to - distribution of the software without specific, written prior permission. - M.I.T. makes no representations about the suitability of this software for any - purpose. It is provided "as is" without express or implied warranty. + 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. """ - cjs-module-lexer, located at deps/cjs-module-lexer, is licensed as follows: @@ -136,7 +147,7 @@ COPYRIGHT AND PERMISSION NOTICE - Copyright © 1991-2022 Unicode, Inc. All rights reserved. + Copyright © 1991-2023 Unicode, Inc. All rights reserved. Distributed under the Terms of Use in https://www.unicode.org/copyright.html. Permission is hereby granted, free of charge, to any person obtaining @@ -639,9 +650,6 @@ - libuv, located at deps/uv, is licensed as follows: """ - libuv is licensed for use as follows: - - ==== Copyright (c) 2015-present libuv project contributors. Permission is hereby granted, free of charge, to any person obtaining a copy @@ -661,8 +669,6 @@ 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. - ==== - This license applies to parts of libuv originating from the https://github.com/joyent/libuv repository: @@ -699,12 +705,6 @@ - inet_pton and inet_ntop implementations, contained in src/inet.c, are copyright the Internet Systems Consortium, Inc., and licensed under the ISC license. - - - stdint-msvc2008.h (from msinttypes), copyright Alexander Chemeris. Three - clause BSD license. - - - pthread-fixes.c, copyright Google Inc. and Sony Mobile Communications AB. - Three clause BSD license. """ - llhttp, located at deps/llhttp, is licensed as follows: @@ -769,6 +769,246 @@ SOFTWARE. """ +- postject, located at test/fixtures/postject-copy, is licensed as follows: + """ + Postject is licensed for use as follows: + + """ + MIT License + + Copyright (c) 2022 Postman, Inc + + 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. + """ + + The Postject license applies to all parts of Postject that are not externally + maintained libraries. + + The externally maintained libraries used by Postject are: + + - LIEF, located at vendor/LIEF, is licensed as follows: + """ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2017 - 2022 R. Thomas + Copyright 2017 - 2022 Quarkslab + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + """ + """ + - OpenSSL, located at deps/openssl, is licensed as follows: """ Apache License @@ -1052,7 +1292,7 @@ - zlib, located at deps/zlib, is licensed as follows: """ zlib.h -- interface of the 'zlib' general purpose compression library - version 1.2.13, October 13th, 2022 + version 1.2.13.1, October xxth, 2022 Copyright (C) 1995-2022 Jean-loup Gailly and Mark Adler @@ -1076,6 +1316,69 @@ jloup@gzip.org madler@alumni.caltech.edu """ +- simdutf, located at deps/simdutf, is licensed as follows: + """ + Copyright 2021 The simdutf authors + + 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. + """ + +- ada, located at deps/ada, is licensed as follows: + """ + Copyright 2023 Yagiz Nizipli and Daniel Lemire + + 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. + """ + +- minimatch, located at deps/minimatch, is licensed as follows: + """ + The ISC License + + Copyright (c) 2011-2023 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. + """ + - npm, located at deps/npm, is licensed as follows: """ The npm application diff -Nru nodejs-18.13.0+dfsg1/Makefile nodejs-18.19.0+dfsg/Makefile --- nodejs-18.13.0+dfsg1/Makefile 2023-01-05 22:46:43.000000000 +0000 +++ nodejs-18.19.0+dfsg/Makefile 2023-11-29 15:10:36.000000000 +0000 @@ -170,6 +170,7 @@ out/Makefile: config.gypi common.gypi node.gyp \ deps/uv/uv.gyp deps/llhttp/llhttp.gyp deps/zlib/zlib.gyp \ + deps/simdutf/simdutf.gyp deps/ada/ada.gyp \ tools/v8_gypfiles/toolchain.gypi tools/v8_gypfiles/features.gypi \ tools/v8_gypfiles/inspector.gypi tools/v8_gypfiles/v8.gyp $(PYTHON) tools/gyp_node.py -f make @@ -367,6 +368,9 @@ ifeq ($(OSTYPE),aix) DOCBUILDSTAMP_PREREQS := $(DOCBUILDSTAMP_PREREQS) out/$(BUILDTYPE)/node.exp endif +ifeq ($(OSTYPE),os400) +DOCBUILDSTAMP_PREREQS := $(DOCBUILDSTAMP_PREREQS) out/$(BUILDTYPE)/node.exp +endif node_use_openssl = $(call available-node,"-p" \ "process.versions.openssl != undefined") @@ -594,6 +598,12 @@ test-wpt: all $(PYTHON) tools/test.py $(PARALLEL_ARGS) wpt +.PHONY: test-wpt-report +test-wpt-report: + $(RM) -r out/wpt + mkdir -p out/wpt + WPT_REPORT=1 $(PYTHON) tools/test.py --shell $(NODE) $(PARALLEL_ARGS) wpt + .PHONY: test-simple test-simple: | cctest # Depends on 'all'. $(PYTHON) tools/test.py $(PARALLEL_ARGS) parallel sequential @@ -1404,7 +1414,6 @@ LINT_CPP_EXCLUDE ?= LINT_CPP_EXCLUDE += src/node_root_certs.h LINT_CPP_EXCLUDE += $(LINT_CPP_ADDON_DOC_FILES) -LINT_CPP_EXCLUDE += $(wildcard test/js-native-api/??_*/*.cc test/js-native-api/??_*/*.h test/node-api/??_*/*.cc test/node-api/??_*/*.h) # These files were copied more or less verbatim from V8. LINT_CPP_EXCLUDE += src/tracing/trace_event.h src/tracing/trace_event_common.h @@ -1424,9 +1433,7 @@ test/embedding/*.h \ test/fixtures/*.c \ test/js-native-api/*/*.cc \ - test/js-native-api/*/*.h \ test/node-api/*/*.cc \ - test/node-api/*/*.h \ tools/icu/*.cc \ tools/icu/*.h \ tools/code_cache/*.cc \ @@ -1435,6 +1442,18 @@ tools/snapshot/*.h \ )) +FORMAT_CPP_FILES ?= +FORMAT_CPP_FILES += $(LINT_CPP_FILES) +# C source codes. +FORMAT_CPP_FILES += $(wildcard \ + benchmark/napi/*/*.c \ + test/js-native-api/*.h \ + test/js-native-api/*/*.c \ + test/js-native-api/*/*.h \ + test/node-api/*/*.c \ + test/node-api/*/*.h \ + ) + # Code blocks don't have newline at the end, # and the actual filename is generated so it won't match header guards ADDON_DOC_LINT_FLAGS=-whitespace/ending_newline,-build/header_guard @@ -1463,7 +1482,7 @@ --binary=tools/clang-format/node_modules/.bin/clang-format \ --style=file \ $(CLANG_FORMAT_START) -- \ - $(LINT_CPP_FILES) + $(FORMAT_CPP_FILES) else $(info Required tooling for C++ code formatting is not installed.) $(info To install (requires internet access) run: $$ make format-cpp-build) @@ -1497,22 +1516,22 @@ $(warning Please use lint-cpp instead of cpplint) .PHONY: lint-py-build -# python -m pip install flake8 +# python -m pip install ruff # Try with '--system' if it fails without; the system may have set '--user' lint-py-build: - $(info Pip installing flake8 linter on $(shell $(PYTHON) --version)...) - $(PYTHON) -m pip install --no-user --upgrade -t tools/pip/site-packages flake8 || \ - $(PYTHON) -m pip install --no-user --upgrade --system -t tools/pip/site-packages flake8 + $(info Pip installing ruff on $(shell $(PYTHON) --version)...) + $(PYTHON) -m pip install --upgrade --target tools/pip/site-packages ruff==0.0.272 || \ + $(PYTHON) -m pip install --upgrade --system --target tools/pip/site-packages ruff==0.0.272 .PHONY: lint-py -ifneq ("","$(wildcard tools/pip/site-packages/flake8)") -# Lints the Python code with flake8. -# Flag the build if there are Python syntax errors or undefined names +ifneq ("","$(wildcard tools/pip/site-packages/ruff)") +# Lint the Python code with ruff. lint-py: - PYTHONPATH=tools/pip $(PYTHON) -m flake8 --count --show-source --statistics . + tools/pip/site-packages/bin/ruff --version + tools/pip/site-packages/bin/ruff . else lint-py: - $(warning Python linting with flake8 is not available) + $(warning Python linting with ruff is not available) $(warning Run 'make lint-py-build') endif @@ -1521,8 +1540,8 @@ # Try with '--system' if it fails without; the system may have set '--user' lint-yaml-build: $(info Pip installing yamllint on $(shell $(PYTHON) --version)...) - $(PYTHON) -m pip install --no-user --upgrade -t tools/pip/site-packages yamllint || \ - $(PYTHON) -m pip install --no-user --upgrade --system -t tools/pip/site-packages yamllint + $(PYTHON) -m pip install --upgrade -t tools/pip/site-packages yamllint || \ + $(PYTHON) -m pip install --upgrade --system -t tools/pip/site-packages yamllint .PHONY: lint-yaml # Lints the YAML files with yamllint. @@ -1549,7 +1568,7 @@ # Related CI job: node-test-linter lint-ci: lint-js-ci lint-cpp lint-py lint-md lint-addon-docs lint-yaml-build lint-yaml - @if ! ( grep -IEqrs "$(CONFLICT_RE)" --exclude="error-message.js" benchmark deps doc lib src test tools ) \ + @if ! ( grep -IEqrs "$(CONFLICT_RE)" --exclude="error-message.js" --exclude="merge-conflict.json" benchmark deps doc lib src test tools ) \ && ! ( $(FIND) . -maxdepth 1 -type f | xargs grep -IEqs "$(CONFLICT_RE)" ); then \ exit 0 ; \ else \ diff -Nru nodejs-18.13.0+dfsg1/README.md nodejs-18.19.0+dfsg/README.md --- nodejs-18.13.0+dfsg1/README.md 2023-01-05 22:46:43.000000000 +0000 +++ nodejs-18.19.0+dfsg/README.md 2023-11-29 15:10:36.000000000 +0000 @@ -7,6 +7,12 @@ The Node.js project uses an [open governance model](./GOVERNANCE.md). The [OpenJS Foundation][] provides support for the project. +Contributors are expected to act in a collaborative manner to move +the project forward. We encourage the constructive exchange of contrary +opinions and compromise. The [TSC](./GOVERNANCE.md#technical-steering-committee) +reserves the right to limit or block contributors who repeatedly act in ways +that discourage, exhaust, or otherwise negatively affect other participants. + **This project has a [Code of Conduct][].** ## Table of contents @@ -37,7 +43,7 @@ * **Current**: Under active development. Code for the Current release is in the branch for its major version number (for example, - [v15.x](https://github.com/nodejs/node/tree/v15.x)). Node.js releases a new + [v19.x](https://github.com/nodejs/node/tree/v19.x)). Node.js releases a new major version every 6 months, allowing for breaking changes. This happens in April and October every year. Releases appearing each October have a support life of 8 months. Releases appearing each April convert to LTS (see below) @@ -68,8 +74,8 @@ The [latest](https://nodejs.org/download/release/latest/) directory is an alias for the latest Current release. The latest-_codename_ directory is an alias for the latest release from an LTS line. For example, the -[latest-fermium](https://nodejs.org/download/release/latest-fermium/) directory -contains the latest Fermium (Node.js 14) release. +[latest-hydrogen](https://nodejs.org/download/release/latest-hydrogen/) +directory contains the latest Hydrogen (Node.js 18) release. #### Nightly releases @@ -152,24 +158,24 @@ ### TSC (Technical Steering Committee) +#### TSC voting members + * [aduh95](https://github.com/aduh95) - **Antoine du Hamel** <> (he/him) +* [anonrig](https://github.com/anonrig) - + **Yagiz Nizipli** <> (he/him) * [apapirovski](https://github.com/apapirovski) - **Anatoli Papirovski** <> (he/him) -* [BethGriggs](https://github.com/BethGriggs) - - **Beth Griggs** <> (she/her) +* [benjamingr](https://github.com/benjamingr) - + **Benjamin Gruenbaum** <> * [BridgeAR](https://github.com/BridgeAR) - **Ruben Bridgewater** <> (he/him) -* [ChALkeR](https://github.com/ChALkeR) - - **Сковорода Никита Андреевич** <> (he/him) * [cjihrig](https://github.com/cjihrig) - **Colin Ihrig** <> (he/him) * [danielleadams](https://github.com/danielleadams) - **Danielle Adams** <> (she/her) -* [fhinkel](https://github.com/fhinkel) - - **Franziska Hinkelmann** <> (she/her) * [GeoffreyBooth](https://github.com/geoffreybooth) - **Geoffrey Booth** <> (he/him) * [gireeshpunathil](https://github.com/gireeshpunathil) - @@ -184,6 +190,8 @@ **Matteo Collina** <> (he/him) * [mhdawson](https://github.com/mhdawson) - **Michael Dawson** <> (he/him) +* [MoLow](https://github.com/MoLow) - + **Moshe Atlow** <> (he/him) * [RafaelGSS](https://github.com/RafaelGSS) - **Rafael Gonzaga** <> (he/him) * [RaisinTen](https://github.com/RaisinTen) - @@ -192,35 +200,54 @@ **Richard Lau** <> * [ronag](https://github.com/ronag) - **Robert Nagy** <> +* [ruyadorno](https://github.com/ruyadorno) - + **Ruy Adorno** <> (he/him) * [targos](https://github.com/targos) - **Michaël Zasso** <> (he/him) * [tniessen](https://github.com/tniessen) - **Tobias Nießen** <> (he/him) + +#### TSC regular members + +* [BethGriggs](https://github.com/BethGriggs) - + **Beth Griggs** <> (she/her) +* [bnoordhuis](https://github.com/bnoordhuis) - + **Ben Noordhuis** <> +* [ChALkeR](https://github.com/ChALkeR) - + **Сковорода Никита Андреевич** <> (he/him) +* [codebytere](https://github.com/codebytere) - + **Shelley Vohr** <> (she/her) +* [danbev](https://github.com/danbev) - + **Daniel Bevenius** <> (he/him) +* [fhinkel](https://github.com/fhinkel) - + **Franziska Hinkelmann** <> (she/her) +* [gabrielschulhof](https://github.com/gabrielschulhof) - + **Gabriel Schulhof** <> +* [mscdex](https://github.com/mscdex) - + **Brian White** <> +* [MylesBorins](https://github.com/MylesBorins) - + **Myles Borins** <> (he/him) +* [rvagg](https://github.com/rvagg) - + **Rod Vagg** <> +* [TimothyGu](https://github.com/TimothyGu) - + **Tiancheng "Timothy" Gu** <> (he/him) * [Trott](https://github.com/Trott) - **Rich Trott** <> (he/him)
-Emeriti +TSC emeriti members -### TSC emeriti +#### TSC emeriti members * [addaleax](https://github.com/addaleax) - **Anna Henningsen** <> (she/her) -* [bnoordhuis](https://github.com/bnoordhuis) - - **Ben Noordhuis** <> * [chrisdickinson](https://github.com/chrisdickinson) - **Chris Dickinson** <> -* [codebytere](https://github.com/codebytere) - - **Shelley Vohr** <> (she/her) -* [danbev](https://github.com/danbev) - - **Daniel Bevenius** <> (he/him) * [evanlucas](https://github.com/evanlucas) - **Evan Lucas** <> (he/him) * [Fishrock123](https://github.com/Fishrock123) - **Jeremiah Senkpiel** <> (he/they) -* [gabrielschulhof](https://github.com/gabrielschulhof) - - **Gabriel Schulhof** <> * [gibfahn](https://github.com/gibfahn) - **Gibson Fahnestock** <> (he/him) * [indutny](https://github.com/indutny) - @@ -231,10 +258,6 @@ **Josh Gavant** <> * [mmarchini](https://github.com/mmarchini) - **Mary Marchini** <> (she/her) -* [mscdex](https://github.com/mscdex) - - **Brian White** <> -* [MylesBorins](https://github.com/MylesBorins) - - **Myles Borins** <> (he/him) * [nebrius](https://github.com/nebrius) - **Bryan Hughes** <> * [ofrobots](https://github.com/ofrobots) - @@ -243,16 +266,12 @@ **Alexis Campailla** <> * [piscisaureus](https://github.com/piscisaureus) - **Bert Belder** <> -* [rvagg](https://github.com/rvagg) - - **Rod Vagg** <> * [sam-github](https://github.com/sam-github) - **Sam Roberts** <> * [shigeki](https://github.com/shigeki) - **Shigeki Ohtsu** <> (he/him) * [thefourtheye](https://github.com/thefourtheye) - **Sakthipriyan Vairamani** <> (he/him) -* [TimothyGu](https://github.com/TimothyGu) - - **Tiancheng "Timothy" Gu** <> (he/him) * [trevnorris](https://github.com/trevnorris) - **Trevor Norris** <> @@ -276,10 +295,10 @@ **Anatoli Papirovski** <> (he/him) * [AshCripps](https://github.com/AshCripps) - **Ash Cripps** <> +* [atlowChemi](https://github.com/atlowChemi) - + **Chemi Atlow** <> (he/him) * [Ayase-252](https://github.com/Ayase-252) - **Qingyu Deng** <> -* [bcoe](https://github.com/bcoe) - - **Ben Coe** <> (he/him) * [bengl](https://github.com/bengl) - **Bryan English** <> (he/him) * [benjamingr](https://github.com/benjamingr) - @@ -310,6 +329,10 @@ **Daniel Bevenius** <> (he/him) * [danielleadams](https://github.com/danielleadams) - **Danielle Adams** <> (she/her) +* [debadree25](https://github.com/debadree25) - + **Debadree Chatterjee** <> (he/him) +* [deokjinkim](https://github.com/deokjinkim) - + **Deokjin Kim** <> (he/him) * [devnexen](https://github.com/devnexen) - **David Carlier** <> * [devsnek](https://github.com/devsnek) - @@ -318,8 +341,6 @@ **Adrian Estrada** <> (he/him) * [erickwendel](https://github.com/erickwendel) - **Erick Wendel** <> (he/him) -* [evanlucas](https://github.com/evanlucas) - - **Evan Lucas** <> (he/him) * [fhinkel](https://github.com/fhinkel) - **Franziska Hinkelmann** <> (she/her) * [F3n67u](https://github.com/F3n67u) - @@ -342,8 +363,6 @@ **Zeyu "Alex" Yang** <> (he/him) * [iansu](https://github.com/iansu) - **Ian Sutherland** <> -* [indutny](https://github.com/indutny) - - **Fedor Indutny** <> * [JacksonTian](https://github.com/JacksonTian) - **Jackson Tian** <> * [JakobJingleheimer](https://github.com/JakobJingleheimer) - @@ -360,12 +379,14 @@ **Juan José Arboleda** <> (he/him) * [JungMinu](https://github.com/JungMinu) - **Minwoo Jung** <> (he/him) +* [KhafraDev](https://github.com/KhafraDev) - + **Matthew Aitken** <> (he/him) * [kuriyosh](https://github.com/kuriyosh) - **Yoshiki Kurihara** <> (he/him) +* [kvakil](https://github.com/kvakil) - + **Keyhan Vakil** <> * [legendecas](https://github.com/legendecas) - **Chengzhong Wu** <> (he/him) -* [Leko](https://github.com/Leko) - - **Shingo Inoue** <> (he/him) * [linkgoron](https://github.com/linkgoron) - **Nitzan Uziely** <> * [LiviaMedeiros](https://github.com/LiviaMedeiros) - @@ -376,6 +397,8 @@ **Luke Karrys** <> (he/him) * [Lxxyx](https://github.com/Lxxyx) - **Zijian Liu** <> (he/him) +* [marco-ippolito](https://github.com/marco-ippolito) - + **Marco Ippolito** <> (he/him) * [marsonya](https://github.com/marsonya) - **Akhil Marsonya** <> (he/him) * [mcollina](https://github.com/mcollina) - @@ -396,12 +419,12 @@ **Brian White** <> * [MylesBorins](https://github.com/MylesBorins) - **Myles Borins** <> (he/him) +* [ovflowd](https://github.com/ovflowd) - + **Claudio Wunder** <> (he/they) * [oyyd](https://github.com/oyyd) - **Ouyang Yadong** <> (he/him) * [panva](https://github.com/panva) - - **Filip Skokan** <> -* [puzpuzpuz](https://github.com/puzpuzpuz) - - **Andrey Pechkurov** <> (he/him) + **Filip Skokan** <> (he/him) * [Qard](https://github.com/Qard) - **Stephen Belanger** <> (he/him) * [RafaelGSS](https://github.com/RafaelGSS) - @@ -428,8 +451,6 @@ **Paolo Insogna** <> (he/him) * [srl295](https://github.com/srl295) - **Steven R Loomis** <> -* [starkwang](https://github.com/starkwang) - - **Weijia Wang** <> * [sxa](https://github.com/sxa) - **Stewart X Addison** <> (he/him) * [targos](https://github.com/targos) - @@ -446,6 +467,8 @@ **Rich Trott** <> (he/him) * [vdeturckheim](https://github.com/vdeturckheim) - **Vladimir de Turckheim** <> (he/him) +* [vmoroz](https://github.com/vmoroz) - + **Vladimir Morozov** <> (he/him) * [VoltrexKeyva](https://github.com/VoltrexKeyva) - **Mohammed Keyvanzadeh** <> (he/him) * [watilde](https://github.com/watilde) - @@ -476,6 +499,8 @@ **Andreas Madsen** <> (he/him) * [aqrln](https://github.com/aqrln) - **Alexey Orlenko** <> (he/him) +* [bcoe](https://github.com/bcoe) - + **Ben Coe** <> (he/him) * [bmeurer](https://github.com/bmeurer) - **Benedikt Meurer** <> * [boneskull](https://github.com/boneskull) - @@ -506,6 +531,8 @@ **Alexander Makarenko** <> * [eugeneo](https://github.com/eugeneo) - **Eugene Ostroukhov** <> +* [evanlucas](https://github.com/evanlucas) - + **Evan Lucas** <> (he/him) * [firedfox](https://github.com/firedfox) - **Daniel Wang** <> * [Fishrock123](https://github.com/Fishrock123) - @@ -528,6 +555,8 @@ **Imran Iqbal** <> * [imyller](https://github.com/imyller) - **Ilkka Myller** <> +* [indutny](https://github.com/indutny) - + **Fedor Indutny** <> * [isaacs](https://github.com/isaacs) - **Isaac Z. Schlueter** <> * [italoacasas](https://github.com/italoacasas) - @@ -552,6 +581,8 @@ **Kunal Pathak** <> * [lance](https://github.com/lance) - **Lance Ball** <> (he/him) +* [Leko](https://github.com/Leko) - + **Shingo Inoue** <> (he/him) * [lucamaraschi](https://github.com/lucamaraschi) - **Luca Maraschi** <> (he/him) * [lundibundi](https://github.com/lundibundi) - @@ -600,6 +631,8 @@ **Prince John Wesley** <> * [psmarshall](https://github.com/psmarshall) - **Peter Marshall** <> (he/him) +* [puzpuzpuz](https://github.com/puzpuzpuz) - + **Andrey Pechkurov** <> (he/him) * [refack](https://github.com/refack) - **Refael Ackermann (רפאל פלחי)** <> (he/him/הוא/אתה) * [rexagod](https://github.com/rexagod) - @@ -630,6 +663,8 @@ **Shigeki Ohtsu** <> (he/him) * [silverwind](https://github.com/silverwind) - **Roman Reiss** <> +* [starkwang](https://github.com/starkwang) - + **Weijia Wang** <> * [stefanmb](https://github.com/stefanmb) - **Stefan Budeanu** <> * [tellnes](https://github.com/tellnes) - @@ -666,6 +701,8 @@ ### Triagers +* [atlowChemi](https://github.com/atlowChemi) - + **Chemi Atlow** <> (he/him) * [Ayase-252](https://github.com/Ayase-252) - **Qingyu Deng** <> * [bmuenzenmeyer](https://github.com/bmuenzenmeyer) - @@ -678,16 +715,14 @@ **Himadri Ganguly** <> (he/him) * [iam-frankqiu](https://github.com/iam-frankqiu) - **Frank Qiu** <> (he/him) -* [kvakil](https://github.com/kvakil) - - **Keyhan Vakil** <> (they/them) * [marsonya](https://github.com/marsonya) - **Akhil Marsonya** <> (he/him) * [meixg](https://github.com/meixg) - **Xuguang Mei** <> (he/him) * [Mesteery](https://github.com/Mesteery) - **Mestery** <> (he/him) -* [MoLow](https://github.com/MoLow) - - **Moshe Atlow** <> (he/him) +* [preveen-stack](https://github.com/preveen-stack) - + **Preveen Padmanabhan** <> (he/him) * [PoojaDurgad](https://github.com/PoojaDurgad) - **Pooja Durgad** <> * [RaisinTen](https://github.com/RaisinTen) - @@ -709,7 +744,7 @@ * **Danielle Adams** <> `74F12602B6F1C4E913FAA37AD3A89613643B6201` * **Juan José Arboleda** <> - `61FC681DFB92A079F1685E77973F295594EC4689` + `DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7` * **Michaël Zasso** <> `8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600` * **Myles Borins** <> @@ -720,6 +755,8 @@ `C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C` * **Ruy Adorno** <> `108F52B48DB57BB0CC439B2997B01419BD92F80A` +* **Ulises Gascón** <> + `A363A499291CBBC940DD62E41F10027AF002F8B0` To import the full set of trusted release keys (including subkeys possibly used to sign releases): @@ -728,12 +765,13 @@ gpg --keyserver hkps://keys.openpgp.org --recv-keys 4ED778F539E3634C779C87C6D7062848A1AB005C gpg --keyserver hkps://keys.openpgp.org --recv-keys 141F07595B7B3FFE74309A937405533BE57C7D57 gpg --keyserver hkps://keys.openpgp.org --recv-keys 74F12602B6F1C4E913FAA37AD3A89613643B6201 -gpg --keyserver hkps://keys.openpgp.org --recv-keys 61FC681DFB92A079F1685E77973F295594EC4689 +gpg --keyserver hkps://keys.openpgp.org --recv-keys DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 gpg --keyserver hkps://keys.openpgp.org --recv-keys 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 gpg --keyserver hkps://keys.openpgp.org --recv-keys C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 gpg --keyserver hkps://keys.openpgp.org --recv-keys 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 gpg --keyserver hkps://keys.openpgp.org --recv-keys C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C gpg --keyserver hkps://keys.openpgp.org --recv-keys 108F52B48DB57BB0CC439B2997B01419BD92F80A +gpg --keyserver hkps://keys.openpgp.org --recv-keys A363A499291CBBC940DD62E41F10027AF002F8B0 ``` See [Verifying binaries](#verifying-binaries) for how to use these keys to @@ -761,6 +799,8 @@ `71DCFD284A79C3B38668286BC97EC7A07EDE3FC1` * **Jeremiah Senkpiel** <> `FD3A5288F042B6850C66B31F09FE44734EB7990E` +* **Juan José Arboleda** <> + `61FC681DFB92A079F1685E77973F295594EC4689` * **Julien Gilli** <> `114F43EE0176B71C7BC219DD50A3051F888C628D` * **Rod Vagg** <> @@ -787,8 +827,6 @@ * Datadog * [bengl](https://github.com/bengl) - **Bryan English** <> (he/him) - * [vdeturckheim](https://github.com/vdeturckheim) - - **Vladimir de Turckheim** <> (he/him) * NearForm * [RafaelGSS](https://github.com/RafaelGSS) - **Rafael Gonzaga** <> (he/him) diff -Nru nodejs-18.13.0+dfsg1/SECURITY.md nodejs-18.19.0+dfsg/SECURITY.md --- nodejs-18.13.0+dfsg1/SECURITY.md 2023-01-05 22:46:43.000000000 +0000 +++ nodejs-18.19.0+dfsg/SECURITY.md 2023-11-29 15:10:36.000000000 +0000 @@ -31,11 +31,12 @@ Here is the security disclosure policy for Node.js * The security report is received and is assigned a primary handler. This - person will coordinate the fix and release process. The problem is confirmed - and a list of all affected versions is determined. Code is audited to find - any potential similar problems. Fixes are prepared for all releases which are - still under maintenance. These fixes are not committed to the public - repository but rather held locally pending the announcement. + person will coordinate the fix and release process. The problem is validated + against all supported Node.js versions. Once confirmed, a list of all affected + versions is determined. Code is audited to find any potential similar + problems. Fixes are prepared for all supported releases. + These fixes are not committed to the public repository but rather held locally + pending the announcement. * A suggested embargo date for this vulnerability is chosen and a CVE (Common Vulnerabilities and Exposures (CVE®)) is requested for the vulnerability. @@ -82,14 +83,22 @@ **Node.js does NOT trust**: -1. The data from network connections that are created through the use of Node.js - APIs and which is transformed/validated by Node.js before being passed to the - application. This includes: - * HTTP APIs (all flavors) client and server APIs. +1. Data received from the remote end of inbound network connections + that are accepted through the use of Node.js APIs and + which is transformed/validated by Node.js before being passed + to the application. This includes: + * HTTP APIs (all flavors) server APIs. +2. The data received from the remote end of outbound network connections + that are created through the use of Node.js APIs and + which is transformed/validated by Node.js before being passed + to the application EXCEPT in respect to payload length. Node.js trusts + that applications make connections/requests which will avoid payload + sizes that will result in a Denial of Service. + * HTTP APIs (all flavors) client APIs. * DNS APIs. -2. Consumers of data protected through the use of Node.js APIs (for example +3. Consumers of data protected through the use of Node.js APIs (for example people who have access to data encrypted through the Node.js crypto APIs). -3. The file content or other I/O that is opened for reading or writing by the +4. The file content or other I/O that is opened for reading or writing by the use of Node.js APIs (ex: stdin, stdout, stderr). In other words, if the data passing through Node.js to/from the application @@ -108,7 +117,8 @@ npm registry. The code run inherits all the privileges of the execution user. 4. Inputs provided to it by the code it is asked to run, as it is the - responsibility of the application to perform the required input validations. + responsibility of the application to perform the required input validations, + e.g. the input to `JSON.parse()`. 5. Any connection used for inspector (debugger protocol) regardless of being opened by command line options or Node.js APIs, and regardless of the remote end being on the local machine or remote. @@ -116,7 +126,8 @@ See . Any unexpected behavior from the data manipulation from Node.js Internal -functions are considered a vulnerability. +functions may be considered a vulnerability if they are exploitable via +untrusted resources. In addition to addressing vulnerabilities based on the above, the project works to avoid APIs and internal implementations that make it "easy" for application @@ -128,12 +139,12 @@ fixes either in regular or security releases depending on how much of a risk to the community they pose. -### Examples of vulneratibities +### Examples of vulnerabilities #### Improper Certificate Validation (CWE-295) * Node.js provides APIs to validate handling of Subject Alternative Names (SANs) - in certficates used to connect to a TLS/SSL endpoint. If certificates can be + in certificates used to connect to a TLS/SSL endpoint. If certificates can be crafted which result in incorrect validation by the Node.js APIs that is considered a vulnerability. @@ -156,7 +167,7 @@ and modification of that configuration can affect the confidentiality of data protected using the Node.js APIs this is considered a vulnerability. -### Examples of non-vulneratibities +### Examples of non-vulnerabilities #### Malicious Third-Party Modules (CWE-1357) @@ -181,6 +192,19 @@ no scenario that requires modification of that configuration file is considered a vulnerability. +#### Uncontrolled Resource Consumption (CWE-400) on outbound connections + +* If Node.js is asked to connect to a remote site and return an + artifact, it is not considered a vulnerability if the size of + that artifact is large enough to impact performance or + cause the runtime to run out of resources. + +## Assessing experimental features reports + +Experimental features are eligible to reports as any other stable feature of +Node.js. They will also be susceptible to receiving the same severity score +as any other stable feature. + ## Receiving security updates Security notifications will be distributed via the following methods. diff -Nru nodejs-18.13.0+dfsg1/ada/.clang-format nodejs-18.19.0+dfsg/ada/.clang-format --- nodejs-18.13.0+dfsg1/ada/.clang-format 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.clang-format 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,2 @@ +BasedOnStyle: Google +SortIncludes: false diff -Nru nodejs-18.13.0+dfsg1/ada/.editorconfig nodejs-18.19.0+dfsg/ada/.editorconfig --- nodejs-18.13.0+dfsg1/ada/.editorconfig 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.editorconfig 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,5 @@ +root = true + +[*] +end_of_line = lf +insert_final_newline = true diff -Nru nodejs-18.13.0+dfsg1/ada/.github/ISSUE_TEMPLATE/1-bug-report.yml nodejs-18.19.0+dfsg/ada/.github/ISSUE_TEMPLATE/1-bug-report.yml --- nodejs-18.13.0+dfsg1/ada/.github/ISSUE_TEMPLATE/1-bug-report.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/ISSUE_TEMPLATE/1-bug-report.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,40 @@ +name: 🐛 Bug report +description: Create a report to help us improve +body: + - type: markdown + attributes: + value: | + Thank you for reporting an issue. + + Please fill in as much of the following form as you're able. + - type: input + attributes: + label: Version + description: Which Ada version are you referring to? + - type: input + attributes: + label: Platform + description: | + UNIX: output of `uname -a` + Windows: output of `"$([Environment]::OSVersion.VersionString) $(('x86', 'x64')[[Environment]::Is64BitOperatingSystem])"` in PowerShell console + - type: textarea + attributes: + label: What steps will reproduce the bug? + description: Enter details about your bug, preferably a simple code snippet that can be run directly without installing third-party dependencies. + - type: textarea + attributes: + label: How often does it reproduce? Is there a required condition? + - type: textarea + attributes: + label: What is the expected behavior? + description: If possible please provide textual output instead of screenshots. + - type: textarea + attributes: + label: What do you see instead? + description: If possible please provide textual output instead of screenshots. + validations: + required: true + - type: textarea + attributes: + label: Additional information + description: Tell us anything else you think we should know. diff -Nru nodejs-18.13.0+dfsg1/ada/.github/ISSUE_TEMPLATE/2-feature-request.yml nodejs-18.19.0+dfsg/ada/.github/ISSUE_TEMPLATE/2-feature-request.yml --- nodejs-18.13.0+dfsg1/ada/.github/ISSUE_TEMPLATE/2-feature-request.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/ISSUE_TEMPLATE/2-feature-request.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,23 @@ +name: 🚀 Feature request +description: Suggest an idea for this project +labels: [feature request] +body: + - type: markdown + attributes: + value: | + Thank you for suggesting an idea to make Node.js better. + + Please fill in as much of the following form as you're able. + - type: textarea + attributes: + label: What is the problem this feature will solve? + validations: + required: true + - type: textarea + attributes: + label: What is the feature you are proposing to solve the problem? + validations: + required: true + - type: textarea + attributes: + label: What alternatives have you considered? diff -Nru nodejs-18.13.0+dfsg1/ada/.github/ISSUE_TEMPLATE/config.yml nodejs-18.19.0+dfsg/ada/.github/ISSUE_TEMPLATE/config.yml --- nodejs-18.13.0+dfsg1/ada/.github/ISSUE_TEMPLATE/config.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/ISSUE_TEMPLATE/config.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,5 @@ +blank_issues_enabled: true +contact_links: + - name: Looking for documentation? + url: https://ada-url.github.io/ada + about: Please navigate to our documentation website. diff -Nru nodejs-18.13.0+dfsg1/ada/.github/dependabot.yml nodejs-18.19.0+dfsg/ada/.github/dependabot.yml --- nodejs-18.13.0+dfsg1/ada/.github/dependabot.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/dependabot.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,23 @@ +# Set update schedule for GitHub Actions + +version: 2 +updates: + - package-ecosystem: github-actions + directory: / + schedule: + interval: monthly + + - package-ecosystem: docker + directory: / + schedule: + interval: monthly + + - package-ecosystem: cargo + directory: /benchmarks/competitors/servo-url + schedule: + interval: monthly + + - package-ecosystem: pip + directory: /tools/release + schedule: + interval: monthly \ No newline at end of file diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/alpine.yml nodejs-18.19.0+dfsg/ada/.github/workflows/alpine.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/alpine.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/alpine.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,45 @@ +name: Alpine Linux + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + paths-ignore: + - '**.md' + - 'docs/**' + push: + branches: + - main + paths-ignore: + - '**.md' + - 'docs/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + ubuntu-build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.5.2 + - name: start docker + run: | + docker run -w /src -dit --name alpine -v $PWD:/src alpine:latest + echo 'docker exec alpine "$@";' > ./alpine.sh + chmod +x ./alpine.sh + - name: install packages + run: | + ./alpine.sh apk update + ./alpine.sh apk add build-base cmake g++ linux-headers git bash icu-dev + - name: cmake + run: | + ./alpine.sh cmake -DADA_BENCHMARKS=ON -B build_for_alpine + - name: build + run: | + ./alpine.sh cmake --build build_for_alpine + - name: test + run: | + ./alpine.sh bash -c "cd build_for_alpine && ctest ." \ No newline at end of file diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/cifuzz.yml nodejs-18.19.0+dfsg/ada/.github/workflows/cifuzz.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/cifuzz.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/cifuzz.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,41 @@ +name: CIFuzz + +on: + pull_request: + branches: + - main + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: read-all + +jobs: + Fuzzing: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + sanitizer: [address, undefined, memory] + steps: + - name: Build Fuzzers (${{ matrix.sanitizer }}) + id: build + uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@c9485cb75e3e39a122264a45ce667d3b57188675 # master + with: + oss-fuzz-project-name: 'ada-url' + language: c++ + sanitizer: ${{ matrix.sanitizer }} + - name: Run Fuzzers (${{ matrix.sanitizer }}) + uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@c9485cb75e3e39a122264a45ce667d3b57188675 # master + with: + oss-fuzz-project-name: 'ada-url' + language: c++ + fuzz-seconds: 300 + sanitizer: ${{ matrix.sanitizer }} + - name: Upload Crash + uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3 + if: steps.build.outcome == 'success' + with: + name: ${{ matrix.sanitizer }}-artifacts + path: ./out/artifacts diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/codeql.yml nodejs-18.19.0+dfsg/ada/.github/workflows/codeql.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/codeql.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/codeql.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,47 @@ +name: "CodeQL" + +on: + schedule: + - cron: '0 0 * * 1' + +permissions: + contents: read + security-events: write + pull-requests: read + actions: read + +jobs: + analyze: + name: Analyze + + runs-on: ubuntu-latest + + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'cpp', 'python' ] + + steps: + - name: Checkout repository + uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@cdcdbb579706841c47f7063dda365e292e5cad7a # v2.2.5 + with: + languages: ${{ matrix.language }} + + # Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java). + # If this step fails, then you should remove it and run the build manually (see below) + - name: Autobuild + uses: github/codeql-action/autobuild@cdcdbb579706841c47f7063dda365e292e5cad7a # v2.2.5 + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@cdcdbb579706841c47f7063dda365e292e5cad7a # v2.2.5 + with: + category: "/language:${{matrix.language}}" diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/dependency-review.yml nodejs-18.19.0+dfsg/ada/.github/workflows/dependency-review.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/dependency-review.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/dependency-review.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,14 @@ +name: 'Dependency Review' +on: [pull_request] + +permissions: + contents: read + +jobs: + dependency-review: + runs-on: ubuntu-latest + steps: + - name: 'Checkout Repository' + uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + - name: 'Dependency Review' + uses: actions/dependency-review-action@6c5ccdad469c9f8a2996bfecaec55a631a347034 # v3.1.0 \ No newline at end of file diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/documentation.yml nodejs-18.19.0+dfsg/ada/.github/workflows/documentation.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/documentation.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/documentation.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,35 @@ +name: Doxygen GitHub Pages + +on: + push: + branches: + - main + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +permissions: + contents: read + +jobs: + deploy: + permissions: + contents: write + pages: write + id-token: write + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + - name: Install theme + run: ./tools/prepare-doxygen.sh + - uses: mattnotmitt/doxygen-action@452281fb0f5f8a3e8d3f7fa5359cb58f249dfa28 # edge + with: + doxyfile-path: './doxygen' + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@373f7f263a76c20808c831209c920827a82a2847 # v3.9.3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: docs/html diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/emscripten.yml nodejs-18.19.0+dfsg/ada/.github/workflows/emscripten.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/emscripten.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/emscripten.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,39 @@ +name: emscripten + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + paths-ignore: + - '**.md' + - 'docs/**' + push: + branches: + - main + paths-ignore: + - '**.md' + - 'docs/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/setup-node@5e21ff4d9bc1a8cf6de233a3057d20ec6b3fb69d # v3.8.1 + - uses: mymindstorm/setup-emsdk@ab889da2abbcbb280f91ec4c215d3bb4f3a8f775 # v12 + - name: Verify + run: emcc -v + - name: Checkout + uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + - name: Configure + run: emcmake cmake -B buildwasm -D ADA_TOOLS=OFF + - name: Build + run: cmake --build buildwasm + - name: Test + run: ctest --test-dir buildwasm diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/lint_and_format_check.yml nodejs-18.19.0+dfsg/ada/.github/workflows/lint_and_format_check.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/lint_and_format_check.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/lint_and_format_check.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,44 @@ +name: Lint and format + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + paths-ignore: + - '**.md' + - 'docs/**' + push: + branches: + - main + paths-ignore: + - '**.md' + - 'docs/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + lint-and-format: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + + - name: Install clang-format + run: | + sudo apt update && sudo apt install clang-format-15 -y + sudo ln -sf /usr/bin/clang-format-15 /usr/bin/clang-format + + - name: Build with Lint and Format Check + run: | + cmake -B build && cmake --build build + env: + CXX: clang++-14 + LINT_AND_FORMAT_CHECK: true + + - uses: chartboost/ruff-action@e18ae971ccee1b2d7bbef113930f00c670b78da4 # v1.0.0 + name: Lint with Ruff + with: + version: 0.0.263 diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/macos_install.yml nodejs-18.19.0+dfsg/ada/.github/workflows/macos_install.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/macos_install.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/macos_install.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,44 @@ +name: macos (Installation) + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + paths-ignore: + - '**.md' + - 'docs/**' + push: + branches: + - main + paths-ignore: + - '**.md' + - 'docs/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + ubuntu-build: + runs-on: macos-latest + strategy: + matrix: + include: + - {shared: ON} + - {shared: OFF} + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 + - name: Prepare + run: cmake -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCMAKE_INSTALL_PREFIX:PATH=destination -B build + - name: Build + run: cmake --build build -j=2 + - name: Install + run: cmake --install build + - name: Prepare test package + run: cmake -DCMAKE_INSTALL_PREFIX:PATH=../../destination -S tests/installation -B buildbabyada + - name: Build test package + run: cmake --build buildbabyada + - name: Run example + run: ./buildbabyada/main diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/release-script-tests.yml nodejs-18.19.0+dfsg/ada/.github/workflows/release-script-tests.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/release-script-tests.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/release-script-tests.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,33 @@ +name: Release Script Tests + +on: + # workflow_call is used to indicate that a workflow can be called by another workflow. + workflow_call: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + paths-ignore: + - '**.md' + - 'docs/**' + push: + branches: + - main + paths-ignore: + - '**.md' + - 'docs/**' + +permissions: + contents: read + +jobs: + release-script-test: + runs-on: ubuntu-latest + defaults: + run: + working-directory: ./tools/release + + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + - name: Install dependencies + run: pip3 install -r requirements.txt + - name: Run tests + run: pytest -v diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/release_create.yml nodejs-18.19.0+dfsg/ada/.github/workflows/release_create.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/release_create.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/release_create.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,56 @@ +name: Release Create + +on: + pull_request: + types: [closed] + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +jobs: + check-release-conditions: + runs-on: ubuntu-latest + if: | + github.event.pull_request.merged == true && + github.event.pull_request.base.ref == 'main' && + startsWith(github.event.pull_request.head.ref, 'release/v') && + startsWith(github.event.pull_request.user.login, 'github-actions') + + steps: + - name: Check release conditions + run: | + echo "All conditions have been met!" + + release-script-test: + needs: check-release-conditions + uses: ./.github/workflows/release-script-tests.yml + + create-release: + permissions: + contents: write + needs: release-script-test + runs-on: ubuntu-latest + if: ${{ needs.release-script-test.result == 'success' }} + + env: + NEXT_RELEASE_TAG: ${{ github.event.pull_request.head.ref }} + steps: + - name: Checkout + uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + + - name: Install dependencies + run: pip3 install -r ./tools/release/requirements.txt + + - name: Extract Tag from branch name + run: | + NEXT_RELEASE_TAG=$(echo $NEXT_RELEASE_TAG | sed 's/^release\///') + echo "NEXT_RELEASE_TAG=${NEXT_RELEASE_TAG}" >> $GITHUB_ENV + + - name: Target release Tag + run: echo "New tag $NEXT_RELEASE_TAG" + + - name: Amalgamation + run: ./singleheader/amalgamate.py + + - name: "Create release" + run: ./tools/release/create_release.py diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/release_prepare.yml nodejs-18.19.0+dfsg/ada/.github/workflows/release_prepare.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/release_prepare.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/release_prepare.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,52 @@ +name: Release Prepare + +on: + workflow_dispatch: + inputs: + tag: + type: string + required: true + description: "Tag for the next release. Ex.: v5.0.0" + +env: + NEXT_RELEASE_TAG: ${{ github.event.inputs.tag }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +jobs: + release-script-test: + uses: ./.github/workflows/release-script-tests.yml + + prepare-release-and-pull-request: + permissions: + contents: write + pull-requests: write + needs: release-script-test + runs-on: ubuntu-latest + if: ${{ needs.release-script-test.result == 'success' }} + env: + CXX: clang++-14 + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + + - name: Install dependencies + run: pip3 install -r ./tools/release/requirements.txt + + - name: Update source code versions + run: ./tools/release/update_versions.py + + - name: Ada Build + run: cmake -B build && cmake --build build + - name: Ada Test + run: ctest --output-on-failure --test-dir build + + - name: Create PR with code updates for new release + uses: peter-evans/create-pull-request@f3a21bf3404eae73a97f65817ab35f351a1a63fe #v5.0.0 + with: + commit-message: "chore: release ${{ env.NEXT_RELEASE_TAG }}" + branch: "release/${{ env.NEXT_RELEASE_TAG }}" + title: "chore: release ${{ env.NEXT_RELEASE_TAG }}" + token: ${{ env.GITHUB_TOKEN }} + body: | + This pull PR updates the source code version to ${{ env.NEXT_RELEASE_TAG }} + delete-branch: true + reviewers: "lemire,anonrig" diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/scorecard.yml nodejs-18.19.0+dfsg/ada/.github/workflows/scorecard.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/scorecard.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/scorecard.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,70 @@ +# This workflow uses actions that are not certified by GitHub. They are provided +# by a third-party and are governed by separate terms of service, privacy +# policy, and support documentation. + +name: Scorecard supply-chain security +on: + # For Branch-Protection check. Only the default branch is supported. See + # https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection + branch_protection_rule: + # To guarantee Maintained check is occasionally updated. See + # https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained + schedule: + - cron: '0 0 * * 1' + +# Declare default permissions as read only. +permissions: read-all + +jobs: + analysis: + name: Scorecard analysis + runs-on: ubuntu-latest + permissions: + # Needed to upload the results to code-scanning dashboard. + security-events: write + # Needed to publish results and get a badge (see publish_results below). + id-token: write + # Uncomment the permissions below if installing in a private repository. + # contents: read + # actions: read + + steps: + - name: "Checkout code" + uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + with: + persist-credentials: false + + - name: "Run analysis" + uses: ossf/scorecard-action@08b4669551908b1024bb425080c797723083c031 # v2.2.0 + with: + results_file: results.sarif + results_format: sarif + # (Optional) "write" PAT token. Uncomment the `repo_token` line below if: + # - you want to enable the Branch-Protection check on a *public* repository, or + # - you are installing Scorecard on a *private* repository + # To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat. + # repo_token: ${{ secrets.SCORECARD_TOKEN }} + + # Public repositories: + # - Publish results to OpenSSF REST API for easy access by consumers + # - Allows the repository to include the Scorecard badge. + # - See https://github.com/ossf/scorecard-action#publishing-results. + # For private repositories: + # - `publish_results` will always be set to `false`, regardless + # of the value entered here. + publish_results: true + + # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF + # format to the repository Actions tab. + - name: "Upload artifact" + uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3 + with: + name: SARIF file + path: results.sarif + retention-days: 5 + + # Upload the results to GitHub's code scanning dashboard. + - name: "Upload to code-scanning" + uses: github/codeql-action/upload-sarif@cdcdbb579706841c47f7063dda365e292e5cad7a # v2.13.4 + with: + sarif_file: results.sarif \ No newline at end of file diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/ubuntu-release.yml nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu-release.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/ubuntu-release.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu-release.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,40 @@ +name: Ubuntu 22.04 (Release build) + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + paths-ignore: + - '**.md' + - 'docs/**' + push: + branches: + - main + paths-ignore: + - '**.md' + - 'docs/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + ubuntu-release-build: + runs-on: ubuntu-22.04 + strategy: + matrix: + cxx: [g++-12, clang++-14] + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + - name: Setup Ninja + run: sudo apt-get install ninja-build + - name: Prepare + run: cmake -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=Release -G Ninja -B build + env: + CXX: ${{matrix.cxx}} + - name: Build + run: cmake --build build -j=2 + - name: Test + run: ctest --output-on-failure --test-dir build diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/ubuntu-s390x.yml nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu-s390x.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/ubuntu-s390x.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu-s390x.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,43 @@ +name: Ubuntu s390x (GCC 11) + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + paths-ignore: + - '**.md' + - 'docs/**' + push: + branches: + - main + paths-ignore: + - '**.md' + - 'docs/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + - uses: uraimo/run-on-arch-action@4ed76f16f09d12e83abd8a49e1ac1e5bf08784d4 # v2.5.1 + name: Test + id: runcmd + with: + arch: s390x + distro: ubuntu_latest + githubToken: ${{ github.token }} + install: | + apt-get update -q -y + apt-get install -y cmake make g++ git + apt-get install -y ninja-build + run: | + cmake -DCMAKE_BUILD_TYPE=Release -G Ninja -B build + rm -r -f dependencies + cmake --build build -j=2 + ctest --output-on-failure --test-dir build diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/ubuntu-sanitized.yml nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu-sanitized.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/ubuntu-sanitized.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu-sanitized.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,40 @@ +name: Ubuntu 22.04 (GCC 12 SANITIZED) + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + paths-ignore: + - '**.md' + - 'docs/**' + push: + branches: + - main + paths-ignore: + - '**.md' + - 'docs/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + ubuntu-build: + runs-on: ubuntu-22.04 + strategy: + matrix: + shared: [ON, OFF] + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + - name: Setup Ninja + run: sudo apt-get install ninja-build + - name: Prepare + run: cmake -DADA_SANITIZE=ON -DADA_DEVELOPMENT_CHECKS=ON -DBUILD_SHARED_LIBS=${{matrix.shared}} -G Ninja -B build + env: + CXX: g++-12 + - name: Build + run: cmake --build build -j=2 + - name: Test + run: ctest --output-on-failure --test-dir build diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/ubuntu-undef.yml nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu-undef.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/ubuntu-undef.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu-undef.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,40 @@ +name: Ubuntu 22.04 (GCC 12 SANITIZE UNDEFINED) + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + paths-ignore: + - '**.md' + - 'docs/**' + push: + branches: + - main + paths-ignore: + - '**.md' + - 'docs/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + ubuntu-build: + runs-on: ubuntu-22.04 + strategy: + matrix: + shared: [ON, OFF] + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + - name: Setup Ninja + run: sudo apt-get install ninja-build + - name: Prepare + run: cmake -D ADA_SANITIZE_UNDEFINED=ON -DADA_DEVELOPMENT_CHECKS=ON -DBUILD_SHARED_LIBS=${{matrix.shared}} -G Ninja -B build + env: + CXX: g++-12 + - name: Build + run: cmake --build build -j=2 + - name: Test + run: ctest --output-on-failure --test-dir build diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/ubuntu.yml nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/ubuntu.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,43 @@ +name: Ubuntu 22.04 + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + paths-ignore: + - '**.md' + - 'docs/**' + push: + branches: + - main + paths-ignore: + - '**.md' + - 'docs/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + ubuntu-build: + runs-on: ubuntu-22.04 + strategy: + matrix: + shared: [ON, OFF] + cxx: [g++-12, clang++-14] + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + - name: Setup Ninja + run: sudo apt-get install ninja-build + - name: Prepare + run: cmake -D ADA_BENCHMARKS=ON -DBUILD_SHARED_LIBS=${{matrix.shared}} -G Ninja -B build + env: + CXX: ${{matrix.cxx}} + - name: Build + run: cmake --build build -j=2 + - name: Test + run: ctest --output-on-failure --test-dir build + - name: Run default benchmark + run: cd build && benchmarks/bench \ No newline at end of file diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/ubuntu_install.yml nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu_install.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/ubuntu_install.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu_install.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,46 @@ +name: Ubuntu 22.04 (Installation) + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + paths-ignore: + - '**.md' + - 'docs/**' + push: + branches: + - main + paths-ignore: + - '**.md' + - 'docs/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + ubuntu-build: + runs-on: ubuntu-22.04 + strategy: + matrix: + include: + - {shared: ON} + - {shared: OFF} + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + - name: Setup Ninja + run: sudo apt-get install ninja-build + - name: Prepare + run: cmake -G Ninja -DBUILD_SHARED_LIBS=${{matrix.shared}} -DCMAKE_INSTALL_PREFIX:PATH=destination -B build + - name: Build + run: cmake --build build -j=2 + - name: Install + run: cmake --install build + - name: Prepare test package + run: cmake -DCMAKE_INSTALL_PREFIX:PATH=../../destination -S tests/installation -B buildbabyada + - name: Build test package + run: cmake --build buildbabyada + - name: Run example + run: ./buildbabyada/main diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/ubuntu_old.yml nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu_old.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/ubuntu_old.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu_old.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,41 @@ +name: Ubuntu 20.04 + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + paths-ignore: + - '**.md' + - 'docs/**' + push: + branches: + - main + paths-ignore: + - '**.md' + - 'docs/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + ubuntu-build: + runs-on: ubuntu-20.04 + strategy: + matrix: + shared: [ON, OFF] + cxx: [g++-9, clang++-10] + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + - name: Setup Ninja + run: sudo apt-get install ninja-build + - name: Prepare + run: cmake -DBUILD_SHARED_LIBS=${{matrix.shared}} -G Ninja -B build + env: + CXX: ${{matrix.cxx}} + - name: Build + run: cmake --build build -j=2 + - name: Test + run: ctest --output-on-failure --test-dir build diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/ubuntu_pedantic.yml nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu_pedantic.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/ubuntu_pedantic.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/ubuntu_pedantic.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,41 @@ +name: Ubuntu 22.04 (GCC 12) Fails On Compiler Warnings + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + paths-ignore: + - '**.md' + - 'docs/**' + push: + branches: + - main + paths-ignore: + - '**.md' + - 'docs/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + ubuntu-build: + runs-on: ubuntu-22.04 + strategy: + matrix: + shared: [ON, OFF] + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + - name: Setup Ninja + run: sudo apt-get install ninja-build + - name: Prepare + run: cmake -DBUILD_SHARED_LIBS=${{matrix.shared}} -G Ninja -B build + env: + CXX: g++-12 + CXXFLAGS: -Werror + - name: Build + run: cmake --build build -j=2 + - name: Test + run: ctest --output-on-failure --test-dir build diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/visual_studio.yml nodejs-18.19.0+dfsg/ada/.github/workflows/visual_studio.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/visual_studio.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/visual_studio.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,49 @@ +name: VS17-CI + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + paths-ignore: + - '**.md' + - 'docs/**' + push: + branches: + - main + paths-ignore: + - '**.md' + - 'docs/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + ci: + name: windows-vs17 + runs-on: windows-latest + strategy: + fail-fast: false + matrix: + include: + - {gen: Visual Studio 17 2022, arch: x64, devchecks: ON, shared: OFF} + - {gen: Visual Studio 17 2022, arch: x64, devchecks: ON, shared: ON} + - {gen: Visual Studio 17 2022, arch: Win32, devchecks: ON, shared: OFF} + - {gen: Visual Studio 17 2022, arch: Win32, devchecks: ON, shared: ON} + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + - name: Configure + run: | + cmake -DADA_DEVELOPMENT_CHECKS="${{matrix.devchecks}}" -G "${{matrix.gen}}" -A ${{matrix.arch}} -DBUILD_SHARED_LIBS=${{matrix.shared}} -B build + - name: Build Debug + run: cmake --build build --config Debug --verbose + - name: Run Debug tests + working-directory: build + run: ctest -C Debug --output-on-failure + - name: Build Release + run: cmake --build build --config Release --verbose + - name: Run Release tests + working-directory: build + run: ctest -C Release --output-on-failure diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/visual_studio_clang.yml nodejs-18.19.0+dfsg/ada/.github/workflows/visual_studio_clang.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/visual_studio_clang.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/visual_studio_clang.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,46 @@ +name: VS17-clang-CI + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review] + paths-ignore: + - '**.md' + - 'docs/**' + push: + branches: + - main + paths-ignore: + - '**.md' + - 'docs/**' + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + ci: + name: windows-vs17 + runs-on: windows-latest + strategy: + fail-fast: false + matrix: + include: + - {gen: Visual Studio 17 2022, arch: x64, devchecks: ON} + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + - name: Configure + run: | + cmake -DADA_DEVELOPMENT_CHECKS="${{matrix.devchecks}}" -G "${{matrix.gen}}" -A ${{matrix.arch}} -T ClangCL -B build + - name: Build Debug + run: cmake --build build --config Debug --verbose + - name: Run Debug tests + working-directory: build + run: ctest -C Debug --output-on-failure + - name: Build Release + run: cmake --build build --config Release --verbose + - name: Run Release tests + working-directory: build + run: ctest -C Release --output-on-failure diff -Nru nodejs-18.13.0+dfsg1/ada/.github/workflows/wpt-updater.yml nodejs-18.19.0+dfsg/ada/.github/workflows/wpt-updater.yml --- nodejs-18.13.0+dfsg1/ada/.github/workflows/wpt-updater.yml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.github/workflows/wpt-updater.yml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,40 @@ +name: Update WPT + +on: + schedule: + - cron: '0 0 * * *' + +env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +concurrency: + group: wpt-updater + cancel-in-progress: true + +permissions: + contents: read + +jobs: + issue: + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v3.6.0 + - name: Fetch tests + run: tools/update-wpt.sh + - name: Open pull request + uses: peter-evans/create-pull-request@284f54f989303d2699d373481a0cfa13ad5a6666 #v5.0.1 + with: + token: ${{ secrets.GH_PAT }} + commit-message: "test: update web platform tests" + branch: "automatic-update-wpt" + title: "Update web platform tests" + body: | + This is an automated pull request for updating the WPT. + - [Web Platform Tests](https://github.com/web-platform-tests/wpt/tree/master/url) + - [Commit History](https://github.com/web-platform-tests/wpt/commits/master/url/resources) + cc @anonrig @lemire + team-reviewers: core + delete-branch: true diff -Nru nodejs-18.13.0+dfsg1/ada/.gitignore nodejs-18.19.0+dfsg/ada/.gitignore --- nodejs-18.13.0+dfsg1/ada/.gitignore 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/.gitignore 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,27 @@ +# common build directory +build +*-build-* + +# Python cache +__pycache__ +venv + +cmake-build-debug + +.cache +docs/html +docs/theme + +# Generated using only the Github workflow +benchmark_result.json + +singleheader/ada.h +singleheader/ada_c.h +singleheader/ada.cpp +singleheader/singleheader.zip + +benchmarks/competitors/servo-url/debug +benchmarks/competitors/servo-url/target + +#ignore VScode +.vscode/ \ No newline at end of file diff -Nru nodejs-18.13.0+dfsg1/ada/CMakeLists.txt nodejs-18.19.0+dfsg/ada/CMakeLists.txt --- nodejs-18.13.0+dfsg1/ada/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/CMakeLists.txt 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,175 @@ +cmake_minimum_required(VERSION 3.16) + +project(ada + DESCRIPTION "Fast spec-compliant URL parser" + LANGUAGES C CXX + VERSION 2.7.2 +) + +set(ADA_LIB_VERSION "2.7.2" CACHE STRING "ada library version") +set(ADA_LIB_SOVERSION "2" CACHE STRING "ada library soversion") + +include(GNUInstallDirs) + +include (cmake/clang-format.cmake) + +include(CTest) +include(cmake/ada-flags.cmake) + +set(ADA_SOURCE_DIR src) + +add_subdirectory(src) + +set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake) + +option(ADA_BENCHMARKS "Build benchmarks" OFF) + +include(cmake/CPM.cmake) +# CPM requires git as an implicit dependency +find_package(Git QUIET) +# We use googletest in the tests +if(Git_FOUND AND BUILD_TESTING) + CPMAddPackage( + NAME GTest + GITHUB_REPOSITORY google/googletest + VERSION 1.14.0 + OPTIONS "BUILD_GMOCK OFF" "INSTALL_GTEST OFF" + ) +endif() +# We use simdjson in both the benchmarks and tests +if(Git_FOUND AND (BUILD_TESTING OR ADA_BENCHMARKS)) + CPMAddPackage("gh:simdjson/simdjson@3.3.0") +endif() +# We use Google Benchmark, but it does not build under several 32-bit systems. +if(Git_FOUND AND ADA_BENCHMARKS AND (CMAKE_SIZEOF_VOID_P EQUAL 8)) + CPMAddPackage( + NAME benchmark + GITHUB_REPOSITORY google/benchmark + GIT_TAG f91b6b4 + OPTIONS "BENCHMARK_ENABLE_TESTING OFF" + "BENCHMARK_ENABLE_INSTALL OFF" + "BENCHMARK_ENABLE_WERROR OFF" + + ) +endif() + +if (BUILD_TESTING AND NOT EMSCRIPTEN) + if(Git_FOUND) + message(STATUS "The tests are enabled.") + add_subdirectory(tests) + else() + message(STATUS "The tests are disabled because git was not found.") + endif() +else() + if(is_top_project) + message(STATUS "The tests are disabled.") + endif() +endif(BUILD_TESTING AND NOT EMSCRIPTEN) + +If(ADA_BENCHMARKS AND NOT EMSCRIPTEN) + if(Git_FOUND) + message(STATUS "Ada benchmarks enabled.") + add_subdirectory(benchmarks) + else() + message(STATUS "The benchmarks are disabled because git was not found.") + endif() +else(ADA_BENCHMARKS AND NOT EMSCRIPTEN) + if(is_top_project) + message(STATUS "Ada benchmarks disabled. Set ADA_BENCHMARKS=ON to enable them.") + endif() +endif(ADA_BENCHMARKS AND NOT EMSCRIPTEN) + +if (BUILD_TESTING AND EMSCRIPTEN) + add_subdirectory(tests/wasm) +endif(BUILD_TESTING AND EMSCRIPTEN) + +add_library(ada::ada ALIAS ada) + +set_target_properties( + ada PROPERTIES + VERSION "${ADA_LIB_VERSION}" + SOVERSION "${ADA_LIB_SOVERSION}" + WINDOWS_EXPORT_ALL_SYMBOLS YES +) + +include(CMakePackageConfigHelpers) +include(GNUInstallDirs) + +if(NOT ADA_COVERAGE AND NOT EMSCRIPTEN) + add_subdirectory(singleheader) +endif() + +if(ADA_TOOLS) + if(Git_FOUND) + add_subdirectory(tools) + else() + message(STATUS "The tools are disabled because git was not found.") + endif() +endif() + +install( + FILES include/ada.h include/ada_c.h + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + COMPONENT ada_development +) + +install( + DIRECTORY include/ada + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" + COMPONENT ada_development +) + +install( + TARGETS ada + EXPORT ada_targets + RUNTIME COMPONENT ada_runtime + LIBRARY COMPONENT ada_runtime + NAMELINK_COMPONENT ada_development + ARCHIVE COMPONENT ada_development + INCLUDES DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" +) + +configure_file(cmake/ada-config.cmake.in ada-config.cmake @ONLY) + +write_basic_package_version_file( + ada-config-version.cmake + COMPATIBILITY SameMinorVersion +) + +set( + ADA_INSTALL_CMAKEDIR "${CMAKE_INSTALL_LIBDIR}/cmake/ada" + CACHE STRING "CMake package config location relative to the install prefix" +) +mark_as_advanced(ADA_INSTALL_CMAKEDIR) + +install( + FILES + "${PROJECT_BINARY_DIR}/ada-config.cmake" + "${PROJECT_BINARY_DIR}/ada-config-version.cmake" + DESTINATION "${ADA_INSTALL_CMAKEDIR}" + COMPONENT ada_development +) + +install( + EXPORT ada_targets + NAMESPACE ada:: + DESTINATION "${ADA_INSTALL_CMAKEDIR}" + COMPONENT ada_development +) + +install( + EXPORT ada_targets + NAMESPACE ada:: + DESTINATION "${ADA_INSTALL_CMAKEDIR}" + COMPONENT example_development +) + +if(is_top_project) + set(CPACK_PACKAGE_VENDOR "Ada Authors") + set(CPACK_PACKAGE_CONTACT "yagiz@nizipli.com") + set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE-MIT") + set(CPACK_RPM_PACKAGE_LICENSE "${PROJECT_SOURCE_DIR}/LICENSE-MIT") + set(CPACK_RESOURCE_FILE_README "${PROJECT_SOURCE_DIR}/README.md") + set(CPACK_SOURCE_GENERATOR "TGZ;ZIP") + include(CPack) +endif() diff -Nru nodejs-18.13.0+dfsg1/ada/Dockerfile nodejs-18.19.0+dfsg/ada/Dockerfile --- nodejs-18.13.0+dfsg1/ada/Dockerfile 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/Dockerfile 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,12 @@ +FROM debian:12-slim@sha256:24c92a69df28b21676d721fe18c0bf64138bfc69b486746ad935b49cc31b0b91 + +RUN apt-get update && apt-get install -y \ + apt-transport-https \ + gcc \ + clang \ + clang-tools \ + cmake + +WORKDIR /repo + +CMD ["bash", "-c", "cmake -B build && cmake --build build && cd build && ctest --output-on-failure"] diff -Nru nodejs-18.13.0+dfsg1/ada/LICENSE-APACHE nodejs-18.19.0+dfsg/ada/LICENSE-APACHE --- nodejs-18.13.0+dfsg1/ada/LICENSE-APACHE 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/LICENSE-APACHE 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2023 Yagiz Nizipli and Daniel Lemire + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff -Nru nodejs-18.13.0+dfsg1/ada/LICENSE-MIT nodejs-18.19.0+dfsg/ada/LICENSE-MIT --- nodejs-18.13.0+dfsg1/ada/LICENSE-MIT 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/LICENSE-MIT 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,18 @@ +Copyright 2023 Yagiz Nizipli and Daniel Lemire + +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 -Nru nodejs-18.13.0+dfsg1/ada/README.md nodejs-18.19.0+dfsg/ada/README.md --- nodejs-18.13.0+dfsg1/ada/README.md 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/README.md 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,314 @@ +# Ada +[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/ada-url/ada/badge)](https://securityscorecards.dev/viewer/?uri=github.com/ada-url/ada) +[![OpenSSF Best Practices](https://bestpractices.coreinfrastructure.org/projects/7085/badge)](https://bestpractices.coreinfrastructure.org/projects/7085) +[![Ubuntu 22.04](https://github.com/ada-url/ada/actions/workflows/ubuntu.yml/badge.svg)](https://github.com/ada-url/ada/actions/workflows/ubuntu.yml) +[![VS17-CI](https://github.com/ada-url/ada/actions/workflows/visual_studio.yml/badge.svg)](https://github.com/ada-url/ada/actions/workflows/visual_studio.yml) +[![VS17-clang-CI](https://github.com/ada-url/ada/actions/workflows/visual_studio_clang.yml/badge.svg)](https://github.com/ada-url/ada/actions/workflows/visual_studio_clang.yml) +[![Ubuntu s390x (GCC 11)](https://github.com/ada-url/ada/actions/workflows/ubuntu-s390x.yml/badge.svg)](https://github.com/ada-url/ada/actions/workflows/ubuntu-s390x.yml) + +Ada is a fast and spec-compliant URL parser written in C++. +Specification for URL parser can be found from the +[WHATWG](https://url.spec.whatwg.org/#url-parsing) website. + +The Ada library passes the full range of tests from the specification, +across a wide range of platforms (e.g., Windows, Linux, macOS). It fully +supports the relevant [Unicode Technical Standard](https://www.unicode.org/reports/tr46/#ToUnicode). + +A common use of a URL parser is to take a URL string and normalize it. +The WHATWG URL specification has been adopted by most browsers. Other tools, such as curl and many +standard libraries, follow the RFC 3986. The following table illustrates possible differences in practice +(encoding of the host, encoding of the path): + +| string source | string value | +|:--------------|:--------------| +| input string | https://www.7‑Eleven.com/Home/Privacy/Montréal | +| ada's normalized string | https://www.xn--7eleven-506c.com/Home/Privacy/Montr%C3%A9al | +| curl 7.87 | (returns the original unchanged) | + +### Requirements + +The project is otherwise self-contained and it has no dependency. +A recent C++ compiler supporting C++17. We test GCC 9 or better, LLVM 10 or better and Microsoft Visual Studio 2022. + +## Ada is fast. + +On a benchmark where we need to validate and normalize [thousands URLs found +on popular websites](https://github.com/ada-url/url-various-datasets/tree/main/top100), +we find that ada can be several times faster than popular competitors (system: Apple MacBook 2022 +with LLVM 14). + + +``` + ada ▏ 188 ns/URL ███▏ +servo url ▏ 664 ns/URL ███████████▎ + CURL ▏ 1471 ns/URL █████████████████████████ +``` + +Ada has improved the performance of the popular JavaScript environment Node.js: + +> Since Node.js 18, a new URL parser dependency was added to Node.js — Ada. This addition bumped the Node.js performance when parsing URLs to a new level. Some results could reach up to an improvement of **400%**. ([State of Node.js Performance 2023](https://blog.rafaelgss.dev/state-of-nodejs-performance-2023)) + +## Quick Start + + + +Linux or macOS users might follow the following instructions if they have a recent C++ compiler installed and a standard utility (`wget`) + + +1. Pull the library in a directory + ``` + wget https://github.com/ada-url/ada/releases/download/v2.6.10/ada.cpp + wget https://github.com/ada-url/ada/releases/download/v2.6.10/ada.h + ``` +2. Create a new file named `demo.cpp` with this content: + ```C++ + #include "ada.cpp" + #include "ada.h" + #include + + int main(int, char *[]) { + auto url = ada::parse("https://www.google.com"); + if (!url) { + std::cout << "failure" << std::endl; + return EXIT_FAILURE; + } + url->set_protocol("http"); + std::cout << url->get_protocol() << std::endl; + std::cout << url->get_host() << std::endl; + return EXIT_SUCCESS; + } + ``` +2. Compile + ``` + c++ -std=c++17 -o demo demo.cpp + ``` +3. `./demo` + + ``` + http: + www.google.com + ``` + +## Bindings of Ada + +We provide clients for different programming languages through our C API. + +- [Rust](https://github.com/ada-url/rust): Rust bindings for Ada +- [Go](https://github.com/ada-url/goada): Go bindings for Ada +- [Python](https://github.com/ada-url/python): Python bindings for Ada +- [R](https://github.com/schochastics/adaR): R wrapper for Ada + +## Usage + +Ada supports two types of URL instances, `ada::url` and `ada::url_aggregator`. The usage is +the same in either case: we have an parsing function template `ada::parse` which can return +either a result of type `ada::result` or of type `ada::result` +depending on your needs. The `ada::url_aggregator` class is smaller and it is backed by a precomputed +serialized URL string. The `ada::url` class is made of several separate strings for the various +components (path, host, and so forth). + +### Parsing & Validation + +- Parse and validate a URL from an ASCII or UTF-8 string + +```cpp +ada::result url = ada::parse("https://www.google.com"); +if (url) { /* URL is valid */ } +``` + +After calling 'parse', you *must* check that the result is valid before +accessing it when you are not sure that it will succeed. The following +code is unsafe: + +```cpp +ada::result url = ada::parse("some bad url"); +url->get_href(); +``` + +You should do... + +```cpp +ada::result url = ada::parse("some bad url"); +if(url) { + // next line is now safe: + url->get_href(); +} else { + // report a parsing failure +} +``` + +For simplicity, in the examples below, we skip the check because +we know that parsing succeeds. + +### Examples + +- Get/Update credentials + +```cpp +ada::result url = ada::parse("https://www.google.com"); +url->set_username("username"); +url->set_password("password"); +// ada->get_href() will return "https://username:password@www.google.com/" +``` + +- Get/Update Protocol + +```cpp +ada::result url = ada::parse("https://www.google.com"); +url->set_protocol("wss"); +// url->get_protocol() will return "wss:" +// url->get_href() will return "wss://www.google.com/" +``` + +- Get/Update host + +```cpp +ada::result url = ada::parse("https://www.google.com"); +url->set_host("github.com"); +// url->get_host() will return "github.com" +// you can use `url.set_hostname` depending on your usage. +``` + +- Get/Update port + +```cpp +ada::result url = ada::parse("https://www.google.com"); +url->set_port("8080"); +// url->get_port() will return "8080" +``` + +- Get/Update pathname + +```cpp +ada::result url = ada::parse("https://www.google.com"); +url->set_pathname("/my-super-long-path") +// url->get_pathname() will return "/my-super-long-path" +``` + +- Get/Update search/query + +```cpp +ada::result url = ada::parse("https://www.google.com"); +url->set_search("target=self"); +// url->get_search() will return "?target=self" +``` + +- Get/Update hash/fragment + +```cpp +ada::result url = ada::parse("https://www.google.com"); +url->set_hash("is-this-the-real-life"); +// url->get_hash() will return "#is-this-the-real-life" +``` +For more information about command-line options, please refer to the [CLI documentation](docs/cli.md). + +- URL search params + +```cpp +ada::url_search_params search_params("a=b&c=d&e=f"); +search_params.append("g=h"); + +search_params.get("g"); // will return "h" + +auto keys = search_params.get_keys(); +while (keys.has_next()) { + auto key = keys.next(); // "a", "c", "e", "g" +} +``` + +### C wrapper + +See the file `include/ada_c.h` for our C interface. We expect ASCII or UTF-8 strings. + +```C +#include "ada_c.h" +#include +#include +#include + +static void ada_print(ada_string string) { + printf("%.*s\n", (int)string.length, string.data); +} + +int main(int c, char *arg[] ) { + ada_url url = ada_parse("https://username:password@www.google.com:8080/" + "pathname?query=true#hash-exists"); + if(!ada_is_valid(url)) { puts("failure"); return EXIT_FAILURE; } + ada_print(ada_get_href(url)); // prints https://username:password@host:8080/pathname?query=true#hash-exists + ada_print(ada_get_protocol(url)); // prints https: + ada_print(ada_get_username(url)); // prints username + ada_set_href(url, "https://www.yagiz.co"); + if(!ada_is_valid(url)) { puts("failure"); return EXIT_FAILURE; } + ada_set_hash(url, "new-hash"); + ada_set_hostname(url, "new-host"); + ada_set_host(url, "changed-host:9090"); + ada_set_pathname(url, "new-pathname"); + ada_set_search(url, "new-search"); + ada_set_protocol(url, "wss"); + ada_print(ada_get_href(url)); // will print wss://changed-host:9090/new-pathname?new-search#new-hash + + // Manipulating search params + ada_string search = ada_get_search(url); + ada_url_search_params search_params = + ada_parse_search_params(search.data, search.length); + ada_search_params_append(search_params, "a", 1, "b", 1); + ada_owned_string result = ada_search_params_to_string(search_params); + ada_set_search(url, result.data, result.length); + ada_free_owned_string(result); + ada_free_search_params(search_params); + + ada_free(url); + return EXIT_SUCCESS; +} +``` + +When linking against the ada library from C++, be minding that ada requires access to the standard +C++ library. E.g., you may link with the C++ compiler. + +E.g., if you grab our single-header C++ files (`ada.cpp` and `ada.h`), as well as the C header (`ada_c.h`), +you can often compile a C program (`demo.c`) as follows under Linux/macOS systems: + +``` +c++ -c ada.cpp -std=c++17 +cc -c demo.c +c++ demo.o ada.o -o cdemo +./cdemo +``` + +### CMake dependency + +See the file `tests/installation/CMakeLists.txt` for an example of how you might use ada from your own +CMake project, after having installed ada on your system. + +## Installation + +### Homebrew + +Ada is available through [Homebrew](https://formulae.brew.sh/formula/ada-url#default). +You can install Ada using `brew install ada-url`. + +## Contributing + +### Building + +Ada uses cmake as a build system. It's recommended you to run the following commands to build it locally. + +- **Build**: `cmake -B build && cmake --build build` +- **Test**: `ctest --output-on-failure --test-dir build` + +Windows users need additional flags to specify the build configuration, e.g. `--config Release`. + +The project can also be built via docker using default docker file of repository with following commands. + +`docker build -t ada-builder . && docker run --rm -it -v ${PWD}:/repo ada-builder` + +### Amalgamation + +You may amalgamate all source files into only two files (`ada.h` and `ada.cpp`) by typing executing the Python +3 script `singleheader/amalgamate.py`. By default, the files are created in the `singleheader` directory. + +### License + +This code is made available under the Apache License 2.0 as well as the MIT license. + +Our tests include third-party code and data. The benchmarking code includes third-party code: it is provided for research purposes only and not part of the library. diff -Nru nodejs-18.13.0+dfsg1/ada/SECURITY.md nodejs-18.19.0+dfsg/ada/SECURITY.md --- nodejs-18.13.0+dfsg1/ada/SECURITY.md 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/SECURITY.md 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,8 @@ +# Security Policy + +## Reporting a Vulnerability + +Please use the following contact information for reporting a vulnerability: + +- [Daniel Lemire](https://github.com/lemire) - daniel@lemire.me +- [Yagiz Nizipli](https://github.com/anonrig) - yagiz@nizipli.com diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/CMakeLists.txt nodejs-18.19.0+dfsg/ada/benchmarks/CMakeLists.txt --- nodejs-18.13.0+dfsg1/ada/benchmarks/CMakeLists.txt 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/CMakeLists.txt 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,300 @@ +# bench_search_params +add_executable(bench_search_params bench_search_params.cpp) +target_link_libraries(bench_search_params PRIVATE ada) + +# Bench +add_executable(wpt_bench wpt_bench.cpp) +target_link_libraries(wpt_bench PRIVATE ada) +target_link_libraries(wpt_bench PRIVATE simdjson) +target_include_directories(wpt_bench PUBLIC "$") +target_include_directories(wpt_bench PUBLIC "$") + +# Bench +add_executable(bench bench.cpp) +target_link_libraries(bench PRIVATE ada) +target_include_directories(bench PUBLIC "$") +target_include_directories(bench PUBLIC "$") + +# Benchdata +CPMAddPackage("gh:ada-url/url-dataset#9749b92c13e970e70409948fa862461191504ccc") +add_executable(benchdata bench.cpp) +target_link_libraries(benchdata PRIVATE ada) +target_include_directories(benchdata PUBLIC "$") +target_include_directories(benchdata PUBLIC "$") +target_compile_definitions(benchdata PRIVATE ADA_URL_FILE="${url-dataset_SOURCE_DIR}/out.txt") + + +# BBC Bench +add_executable(bbc_bench bbc_bench.cpp) +target_link_libraries(bbc_bench PRIVATE ada) +target_include_directories(bbc_bench PUBLIC "$") +target_include_directories(bbc_bench PUBLIC "$") + +# Percent Encode +add_executable(percent_encode percent_encode.cpp) +target_link_libraries(percent_encode PRIVATE ada) +target_include_directories(percent_encode PUBLIC "$") +target_include_directories(percent_encode PUBLIC "$") +if(MSVC AND BUILD_SHARED_LIBS) + # Copy the ada dll into the directory + add_custom_command(TARGET percent_encode POST_BUILD # Adds a post-build event + COMMAND ${CMAKE_COMMAND} -E copy_if_different # which executes "cmake -E copy_if_different..." + "$" # <--this is in-file + "$") # <--this is out-file path +endif() + +if(CMAKE_SYSTEM_NAME MATCHES "Linux") + # The model_bench program requires accurate/low-overhead performance counters. + # We only have such support under Linux. + add_executable(model_bench model_bench.cpp) + target_link_libraries(model_bench PRIVATE ada) + target_compile_definitions(model_bench PRIVATE ADA_URL_FILE="${url-dataset_SOURCE_DIR}/out.txt") +endif() + +target_link_libraries(wpt_bench PRIVATE benchmark::benchmark) +target_link_libraries(bench PRIVATE benchmark::benchmark) +target_link_libraries(benchdata PRIVATE benchmark::benchmark) +target_link_libraries(bbc_bench PRIVATE benchmark::benchmark) +target_link_libraries(percent_encode PRIVATE benchmark::benchmark) +target_link_libraries(bench_search_params PRIVATE benchmark::benchmark) + +option(ADA_COMPETITION "Whether to install various competitors." OFF) + +# We only build url_whatwg if ICU is found, so we need to make +# finding ICU easy. + +if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + message(STATUS "Apple system detected.") + # People who run macOS often use brew. + if(EXISTS /opt/homebrew/opt/icu4c) + message(STATUS "icu is provided by homebrew at /opt/homebrew/opt/icu4c.") + ## This is a bit awkward, but it is a lot better than asking the + ## user to figure that out. + list(APPEND CMAKE_PREFIX_PATH "/opt/homebrew/opt/icu4c/include") + list(APPEND CMAKE_LIBRARY_PATH "/opt/homebrew/opt/icu4c/lib") + elseif(EXISTS /usr/local/opt/icu4c) + message(STATUS "icu is provided by homebrew at /usr/local/opt/icu4c.") + list(APPEND CMAKE_PREFIX_PATH "/usr/local/opt/icu4c/include") + list(APPEND CMAKE_LIBRARY_PATH "/usr/local/opt/icu4c/lib") + endif() +endif() + +find_package(ICU COMPONENTS uc i18n) +### If the user does not have ICU, let us help them with instructions: +if(NOT ICU_FOUND) + if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + if(EXISTS /opt/homebrew) + message(STATUS "Under macOS, you may install ICU with brew, using 'brew install icu4c'.") + else() + message(STATUS "Under macOS, you should install brew (see https://brew.sh) and then icu4c ('brew install icu4c').") + endif() + elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") + message(STATUS "Under Linux, you may be able to install ICU with a command such as 'apt-get install libicu-dev'." ) + endif() +endif(NOT ICU_FOUND) + +if(ICU_FOUND) + CPMAddPackage( + NAME url_whatwg + GITHUB_REPOSITORY rmisev/url_whatwg + GIT_TAG 72bcabf + OPTIONS "URL_BUILD_TESTS OFF" "URL_USE_LIBS OFF" + ) + add_library(url_whatwg_lib STATIC "${url_whatwg_SOURCE_DIR}/src/url.cpp" + "${url_whatwg_SOURCE_DIR}/src/url_idna.cpp" + "${url_whatwg_SOURCE_DIR}/src/url_ip.cpp" + "${url_whatwg_SOURCE_DIR}/src/url_percent_encode.cpp" + "${url_whatwg_SOURCE_DIR}/src/url_search_params.cpp" + "${url_whatwg_SOURCE_DIR}/src/url_utf.cpp" + "${url_whatwg_SOURCE_DIR}/src/url.cpp") + target_include_directories(url_whatwg_lib PUBLIC "${url_whatwg_SOURCE_DIR}/include") + target_link_libraries(url_whatwg_lib PRIVATE ICU::uc ICU::i18n) + + + target_link_libraries(bench PRIVATE url_whatwg_lib) + target_link_libraries(benchdata PRIVATE url_whatwg_lib) + target_link_libraries(bbc_bench PRIVATE url_whatwg_lib) + target_link_libraries(wpt_bench PRIVATE url_whatwg_lib) + + target_include_directories(bench PUBLIC "${url_whatwg_SOURCE_DIR}") + target_include_directories(benchdata PUBLIC "${url_whatwg_SOURCE_DIR}") + target_include_directories(bbc_bench PUBLIC "${url_whatwg_SOURCE_DIR}") + target_include_directories(wpt_bench PUBLIC "${url_whatwg_SOURCE_DIR}") + + target_compile_definitions(bench PRIVATE ADA_url_whatwg_ENABLED=1) + target_compile_definitions(benchdata PRIVATE ADA_url_whatwg_ENABLED=1) + target_compile_definitions(bbc_bench PRIVATE ADA_url_whatwg_ENABLED=1) + target_compile_definitions(wpt_bench PRIVATE ADA_url_whatwg_ENABLED=1) + +endif(ICU_FOUND) + +if(ADA_COMPETITION) + # URI Parser + CPMAddPackage( + NAME uriparser + GITHUB_REPOSITORY uriparser/uriparser + GIT_TAG 634b678 + OPTIONS "URIPARSER_BUILD_TESTS OFF" "URIPARSER_BUILD_DOCS OFF" + ) + target_link_libraries(bench PRIVATE uriparser) + target_link_libraries(bbc_bench PRIVATE uriparser) + # URL Parser + CPMAddPackage( + NAME urlparser + GITHUB_REPOSITORY netmindms/urlparser + GIT_TAG 69c09ed + ) + add_library(urlparser STATIC "${urlparser_SOURCE_DIR}/src/EdUrlParser.cpp") + target_include_directories(urlparser PUBLIC "${urlparser_SOURCE_DIR}/src") + target_link_libraries(bench PRIVATE urlparser) + target_link_libraries(bbc_bench PRIVATE urlparser) + + # HTTP Parser + CPMAddPackage( + NAME httpparser + GITHUB_REPOSITORY nodejs/http-parser + VERSION 2.9.4 + ) + add_library(httpparser STATIC "${httpparser_SOURCE_DIR}/http_parser.c") + set_source_files_properties("${httpparser_SOURCE_DIR}/http_parser.c" PROPERTIES LANGUAGE C) + target_include_directories(httpparser PUBLIC "${httpparser_SOURCE_DIR}") + target_link_libraries(bench PRIVATE httpparser) + target_link_libraries(bbc_bench PRIVATE httpparser) + + + target_compile_definitions(bench PRIVATE ADA_VARIOUS_COMPETITION_ENABLED=1) + target_compile_definitions(bbc_bench PRIVATE ADA_VARIOUS_COMPETITION_ENABLED=1) +endif(ADA_COMPETITION) + +# CURL +find_package(CURL) +if(CURL_FOUND) + message(STATUS "curl version " ${CURL_VERSION_STRING}) + if (CURL_VERSION_STRING VERSION_LESS "7.62.0") + message(STATUS "curl is too old, we need version 7.62.0 or better") + else() + include_directories(${CURL_INCLUDE_DIRS}) + if(NOT CURL_LIBRARIES) + target_link_libraries(bench PRIVATE CURL::libcurl) + target_link_libraries(benchdata PRIVATE CURL::libcurl) + target_link_libraries(bbc_bench PRIVATE CURL::libcurl) + else() + target_link_libraries(bench PRIVATE ${CURL_LIBRARIES}) + target_link_libraries(benchdata PRIVATE ${CURL_LIBRARIES}) + target_link_libraries(bbc_bench PRIVATE ${CURL_LIBRARIES}) + endif() + target_compile_definitions(bench PRIVATE ADA_CURL_ENABLED=1) + target_compile_definitions(benchdata PRIVATE ADA_CURL_ENABLED=1) + target_compile_definitions(bbc_bench PRIVATE ADA_CURL_ENABLED=1) + endif() +else(CURL_FOUND) + message(STATUS "Curl not found! Please install the curl library.") +endif(CURL_FOUND) + +option(ADA_BOOST_URL "Whether to install boost URL." OFF) + +message(STATUS "Compiler is " ${CMAKE_CXX_COMPILER_ID}) + +if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") +message(STATUS "Compiler version " ${CMAKE_CXX_COMPILER_VERSION}) + +if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9) +message(STATUS "Compiler is too old, disabling boost url.") +SET(ADA_BOOST_URL OFF CACHE BOOL "Whether to install boost URL." FORCE) +endif() +endif() + +# Boost +if(ADA_BOOST_URL) +find_package( + Boost 1.80 + COMPONENTS system +) +endif(ADA_BOOST_URL) + +if(Boost_FOUND) + CPMAddPackage( + NAME boost_url + GITHUB_REPOSITORY boostorg/url + GIT_TAG boost-1.81.0 + ) + add_library(boost_url INTERFACE) + target_include_directories(boost_url INTERFACE + "${boost_url_SOURCE_DIR}/include") + + target_link_libraries(bench PRIVATE Boost::system) + target_link_libraries(bench PRIVATE boost_url) + target_compile_definitions(bench PRIVATE ADA_BOOST_ENABLED=1) + + target_link_libraries(benchdata PRIVATE Boost::system) + target_link_libraries(benchdata PRIVATE boost_url) + target_compile_definitions(benchdata PRIVATE ADA_BOOST_ENABLED=1) + + target_link_libraries(bbc_bench PRIVATE Boost::system) + target_link_libraries(bbc_bench PRIVATE boost_url) + target_compile_definitions(bbc_bench PRIVATE ADA_BOOST_ENABLED=1) +else(Boost_FOUND) +if(ADA_BOOST_URL) + message(STATUS "Boost 1.80 or better was not found, please install it for benchmarking purposes.") +endif(ADA_BOOST_URL) +endif(Boost_FOUND) + +# Zuri +find_package(ZURI QUIET) +if(ZURI_FOUND) + message(STATUS "Zuri found") + target_link_libraries(bench PRIVATE zuri) + target_link_libraries(benchdata PRIVATE zuri) + target_link_libraries(bbc_bench PRIVATE zuri) + target_compile_definitions(bench PRIVATE ADA_ZURI_ENABLED=1) + target_compile_definitions(benchdata PRIVATE ADA_ZURI_ENABLED=1) + target_compile_definitions(bbc_bench PRIVATE ADA_ZURI_ENABLED=1) +else(ZURI_FOUND) + message(STATUS "Zuri not found! Please install to include in benchmark.") +endif(ZURI_FOUND) + + +# We want the check whether Rust is available before trying to build a crate. +CPMAddPackage( + NAME corrosion + GITHUB_REPOSITORY corrosion-rs/corrosion + VERSION 0.4.4 + DOWNLOAD_ONLY ON + OPTIONS "Rust_FIND_QUIETLY OFF" +) +include("${corrosion_SOURCE_DIR}/cmake/FindRust.cmake") + + +if(RUST_FOUND) + message(STATUS "Rust found: " ${Rust_VERSION} ) + add_subdirectory("${corrosion_SOURCE_DIR}" "${PROJECT_BINARY_DIR}/_deps/corrosion" EXCLUDE_FROM_ALL) + # Important: we want to build in release mode! + corrosion_import_crate(MANIFEST_PATH "competitors/servo-url/Cargo.toml" NO_LINKER_OVERRIDE PROFILE release) + + target_link_libraries(bench PRIVATE servo-url) + target_compile_definitions(bench PRIVATE ADA_RUST_VERSION="${Rust_VERSION}") + + target_link_libraries(benchdata PRIVATE servo-url) + target_compile_definitions(benchdata PRIVATE ADA_RUST_VERSION="${Rust_VERSION}") + + target_link_libraries(bbc_bench PRIVATE servo-url) + target_compile_definitions(bbc_bench PRIVATE ADA_RUST_VERSION="${Rust_VERSION}") + + target_link_libraries(percent_encode PRIVATE servo-url) + target_compile_definitions(percent_encode PRIVATE ADA_RUST_VERSION="${Rust_VERSION}") + + target_link_libraries(wpt_bench PRIVATE servo-url) + target_compile_definitions(wpt_bench PRIVATE ADA_RUST_VERSION="${Rust_VERSION}") +else() + message(STATUS "Rust/Cargo is unavailable." ) + message(STATUS "We will not benchmark servo-url." ) + if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin") + message(STATUS "Under macOS, you may be able to install rust with") + message(STATUS "curl https://sh.rustup.rs -sSf | sh") + elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux") + message(STATUS "Under Linux, you may be able to install rust with a command such as") + message(STATUS "apt-get install cargo" ) + message(STATUS "or" ) + message(STATUS "curl https://sh.rustup.rs -sSf | sh") + endif() +endif() diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/bbc_bench.cpp nodejs-18.19.0+dfsg/ada/benchmarks/bbc_bench.cpp --- nodejs-18.13.0+dfsg1/ada/benchmarks/bbc_bench.cpp 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/bbc_bench.cpp 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,36 @@ +#include "benchmark_header.h" + +/** + * Realistic URL examples collected from the BBC homepage. + */ +std::string url_examples[] = { + "https://static.files.bbci.co.uk/orbit/737a4ee2bed596eb65afc4d2ce9af568/js/" + "polyfills.js", + "https://static.files.bbci.co.uk/orbit/737a4ee2bed596eb65afc4d2ce9af568/" + "css/orbit-v5-ltr.min.css", + "https://static.files.bbci.co.uk/orbit/737a4ee2bed596eb65afc4d2ce9af568/js/" + "require.min.js", + "https://static.files.bbci.co.uk/fonts/reith/2.512/BBCReithSans_W_Rg.woff2", + "https://nav.files.bbci.co.uk/searchbox/c8bfe8595e453f2b9483fda4074e9d15/" + "css/box.css", + "https://static.files.bbci.co.uk/cookies/d3bb303e79f041fec95388e04f84e716/" + "cookie-banner/cookie-library.bundle.js", + "https://static.files.bbci.co.uk/account/id-cta/597/style/id-cta.css", + "https://gn-web-assets.api.bbc.com/wwhp/" + "20220908-1153-091014d07889c842a7bdc06e00fa711c9e04f049/responsive/css/" + "old-ie.min.css", + "https://gn-web-assets.api.bbc.com/wwhp/" + "20220908-1153-091014d07889c842a7bdc06e00fa711c9e04f049/modules/vendor/" + "bower/modernizr/modernizr.js"}; + +void init_data(const char* v = nullptr) {} + +double url_examples_bytes = []() -> double { + size_t bytes{0}; + for (std::string& url_string : url_examples) { + bytes += url_string.size(); + } + return double(bytes); +}(); + +#include "benchmark_template.cpp" diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/bench.cpp nodejs-18.19.0+dfsg/ada/benchmarks/bench.cpp --- nodejs-18.13.0+dfsg1/ada/benchmarks/bench.cpp 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/bench.cpp 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,72 @@ +#include "benchmark_header.h" + +/** + * Realistic URL examples collected on the actual web. + */ +std::string url_examples_default[] = { + "https://www.google.com/" + "webhp?hl=en&ictx=2&sa=X&ved=0ahUKEwil_" + "oSxzJj8AhVtEFkFHTHnCGQQPQgI", + "https://support.google.com/websearch/" + "?p=ws_results_help&hl=en-CA&fg=1", + "https://en.wikipedia.org/wiki/Dog#Roles_with_humans", + "https://www.tiktok.com/@aguyandagolden/video/7133277734310038830", + "https://business.twitter.com/en/help/troubleshooting/" + "how-twitter-ads-work.html?ref=web-twc-ao-gbl-adsinfo&utm_source=twc&utm_" + "medium=web&utm_campaign=ao&utm_content=adsinfo", + "https://images-na.ssl-images-amazon.com/images/I/" + "41Gc3C8UysL.css?AUIClients/AmazonGatewayAuiAssets", + "https://www.reddit.com/?after=t3_zvz1ze", + "https://www.reddit.com/login/?dest=https%3A%2F%2Fwww.reddit.com%2F", + "postgresql://other:9818274x1!!@localhost:5432/" + "otherdb?connect_timeout=10&application_name=myapp", + "http://192.168.1.1", // ipv4 + "http://[2606:4700:4700::1111]", // ipv6 +}; + +std::vector url_examples; + +double url_examples_bytes = []() -> double { + size_t bytes{0}; + for (std::string& url_string : url_examples) { + bytes += url_string.size(); + } + return double(bytes); +}(); + +#ifdef ADA_URL_FILE +const char* default_file = ADA_URL_FILE; +#else +const char* default_file = nullptr; +#endif + +size_t init_data(const char* input = default_file) { + // compute the number of bytes. + auto compute = []() -> double { + size_t bytes{0}; + for (std::string& url_string : url_examples) { + bytes += url_string.size(); + } + return double(bytes); + }; + if (input == nullptr) { + for (const std::string& s : url_examples_default) { + url_examples.emplace_back(s); + } + url_examples_bytes = compute(); + return url_examples.size(); + } + + if (!file_exists(input)) { + std::cout << "File not found !" << input << std::endl; + for (const std::string& s : url_examples_default) { + url_examples.emplace_back(s); + } + } else { + std::cout << "Loading " << input << std::endl; + url_examples = split_string(read_file(input)); + } + url_examples_bytes = compute(); + return url_examples.size(); +} +#include "benchmark_template.cpp" diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/bench_search_params.cpp nodejs-18.19.0+dfsg/ada/benchmarks/bench_search_params.cpp --- nodejs-18.13.0+dfsg1/ada/benchmarks/bench_search_params.cpp 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/bench_search_params.cpp 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,343 @@ +#include "benchmark_header.h" + +/** + * Realistic URL examples collected from Indeed.com, see + * https://github.com/ada-url/ada/pull/459#issuecomment-1624187633 + */ +std::string url_examples_default[] = { + "https://secure.indeed.com/" + "auth?continue=https%3A%2F%2Fm5.apply.indeed.com%2Fbeta%2Findeedapply%" + "2Fresumeapply%3FdraftId%3Dd2f89678-c675-4dd6-8776-c7de2df808cc-Y21o%" + "26draftDc%3Dcmh%26postUrl%3Dhttp%253A%252F%252Fmuffit%252Fprocess-" + "indeedapply%26jk%3D4ce8c8f85737012d%26mob%3D0%26referer%3Dhttps%253A%252F%" + "252Fwww.indeed.com%252F%26formParent%3D%26hl%3Den_US%26jobTitle%" + "3DEmbedded%2BSoftware%2BEngineer%26questions%3Diq%253A%252F%" + "252F5a5f158dfd632ec505eb%253Fv%253D1%26twoPaneVjAllocId%3D%" + "26onappliedstatus%3D_updateIndeedApplyStatus%26preload%3D0%26autoString%" + "3Dnone%26iip%3D1%26recentsearchquery%3D%257B%2522what%2522%253A%" + "2522software%2Bengineer%2522%252C%2522where%2522%253A%2522austin%252C%" + "2Btx%2522%257D%26isCreateIAJobApiSuccess%3Dfalse%26onclose%" + "3DindeedApplyHandleModalClose%26onContinueClick%" + "3DindeedApplyHandleModalClose%26jobUrl%3Dhttps%253A%252F%252Fwww.indeed." + "com%252Fviewjob%253Fjk%253D4ce8c8f85737012d%26onready%3D_onButtonReady%" + "26onapplied%3DindeedApplyHandleApply%26href%3Dhttps%253A%252F%252Fwww." + "indeed.com%252Fviewjob%253Fjk%253D4ce8c8f85737012d%2526from%253Dmobhp_" + "jobfeed_auto%2526tk%253D1h4m9jbiui7lq801%2526viewtype%253Dembedded%" + "2526advn%253D2919294681304046%2526adid%253D409899006%2526xkcb%253DSoCq-_" + "M3NWbCoeUCiZ0LbzkdCdPP%2526topwindowlocation%253D%25252F%26coverletter%" + "3DOPTIONAL%26resume%3Drequired%26twoPaneAllocId%3D%26jobMeta%3D%257B%" + "2526quot%253Bvtk%2526quot%253B%253A%2526quot%253B1h4m9jddo28q3001%" + "2526quot%253B%252C%2526quot%253Btk%2526quot%253B%253A%2526quot%" + "253B1h4m9jbiui7lq801%2526quot%253B%257D%26src%3Didd%26ms%3D1688670424981%" + "26jobCompany%3DSigmaSense%252C%2BLLC%26onclick%" + "3DindeedApplyHandleButtonClick%26pingbackUrl%3Dhttps%253A%252F%252Fgdc." + "indeed.com%252Fconv%252ForgIndApp%253Fco%253DUS%2526vjtk%" + "253D1h4m9jddo28q3001%2526jk%253D4ce8c8f85737012d%2526mvj%253D0%2526tk%" + "253D1h4m9jbiui7lq801%2526trk.origin%253Djobsearch%2526sj%253D1%2526vjfrom%" + "253Dmobhp_jobfeed_auto%2526advn%253D2919294681304046%2526adid%" + "253D409899006%2526ad%253D-6NYlbfkN0BLmp7eN89U-" + "imdIS3k1HPy83nFSQVS0CyWSe3vCO57TwIlXkEWIh-" + "pJhJKr5e0ECbg2AnsbYecK2l6IQRkcmJAo04wMd0HwXw9frAU8JSwJ1mjwcEN4QeCXiILN_" + "wIA4Wr_ywZCGdozVPXXsoaJzqbyZBeGNAHJQuiHvWOxPzh1LKLSr_" + "pFbOxn1NmCOkmvvMW36P569CcM6K7a7vOkj32OJUAg8NT_" + "oipaaUGwXpvKlH6ebfTW6B3WWuJtZ9tsQNwH330zZOVkF1mhjr837W2e-OaEjikG0Nrqh-" + "9DFBdDUmSLosfcp0hGtARFGYWfp7xU-897-fsivVLte1sPZhzSqWn9P_" + "D9hHnfmG2LZnTVBp3Jx6QcGng4-U5K8v9KFx7XN9GjcqQum735VDirUpQ61ZT-" + "WOT5Ilm1xI3nNocOcUQJELhqt6WiAgSIyvTKw7SAfCj2fzp0DshQHzxqVdhe-" + "iJ9apJI0JWZa195l_ZNFYvu8-rusj79RaBev9_" + "LPbejUXOZON2MDA37bFHRZsyWNXOCCKl0tswubGZku70sD7HVHm5aYYINKdL_" + "uKogRuW4r7C99AU69eZMUJF78gl%2526xkcb%253DSoCq-_M3NWbCoeUCiZ0LbzkdCdPP%" + "2526astse%253Dad9474a7b6ec862d%2526assa%253D8360%26co%3DUS%26advNum%" + "3D2919294681304046%26noButtonUI%3Dtrue%26iaUid%3D1h4m9je9qjcbf800%26spn%" + "3D1%26jobId%3D5a5f158dfd632ec505eb%26isITA%3D0%26apiToken%" + "3Daa102235a5ccb18bd3668c0e14aa3ea7e2503cfac2a7a9bf3d6549899e125af4%" + "26jobLocation%3DAustin%252C%2BTX%2B78758%26twoPaneGroup%3D-1%" + "26indeedcsrftoken%3D7bG1QaY6YSlr3rfgMbu9YRVPyk1v2TF0%26phone%3DOPTIONAL%" + "26jobApplies%3D-1%26twoPaneVjGroup%3D-1%26returnToJobSearchUrl%3Dhttp%" + "253A%252F%252Fwww.indeed.com%252F%26indeedApplyableJobApiURI%3D&cfb=2&obo=" + "http%3A%2F%2Fwww.indeed.com%2F&hl=en_US&from=indapply-login-SmartApply&" + "branding=indeed-apply", + // + "https://secure.indeed.com/" + "auth?continue=https%3A%2F%2Fm5.apply.indeed.com%2Fbeta%2Findeedapply%" + "2Fresumeapply%3FdraftId%3Dcd45b794-ede7-48a2-a143-6023319e90a4-Y21o%" + "26draftDc%3Dcmh%26postUrl%3Dhttps%253A%252F%252Fapply.workable.com%" + "252Fapi%252Fv1%252Fjobboards%252Findeed%252Fjobs%252FEC33BF8806%252Fapply%" + "26jk%3D0ffb6f7ed64d3bae%26mob%3D0%26referer%3Dhttps%253A%252F%252Fwww." + "indeed.com%252F%26formParent%3D%26hl%3Den_US%26jobTitle%3DEmbedded%" + "2BSoftware%2BEngineer%26questions%3Dhttps%253A%252F%252Fapply.workable." + "com%252Fapi%252Fv1%252Fjobboards%252Findeed%252Fjobs%252FEC33BF8806%" + "252Fquestions%26twoPaneVjAllocId%3D%26onappliedstatus%3D_" + "updateIndeedApplyStatus%26preload%3D0%26autoString%3Dnone%26iip%3D1%" + "26recentsearchquery%3D%257B%2522what%2522%253A%2522software%2Bengineer%" + "2522%252C%2522where%2522%253A%2522austin%252C%2Btx%2522%257D%" + "26isCreateIAJobApiSuccess%3Dfalse%26onclose%3DindeedApplyHandleModalClose%" + "26onContinueClick%3DindeedApplyHandleModalClose%26jobUrl%3Dhttps%253A%" + "252F%252Fwww.indeed.com%252Fviewjob%253Fjk%253D0ffb6f7ed64d3bae%26onready%" + "3D_onButtonReady%26onapplied%3DindeedApplyHandleApply%26href%3Dhttps%253A%" + "252F%252Fwww.indeed.com%252Fviewjob%253Fjk%253D0ffb6f7ed64d3bae%2526from%" + "253Dhp%2526tk%253D1h4m9jbiui7lq801%2526viewtype%253Dembedded%2526advn%" + "253D2169897021852324%2526adid%253D412530207%2526xkcb%253DSoDv-_" + "M3NWbCoe0CiZ0LbzkdCdPP%2526topwindowlocation%253D%25252F%26coverletter%3D%" + "26twoPaneAllocId%3D%26src%3Didd%26ms%3D1688670502027%26jobCompany%3DShift%" + "2BRobotics%26onclick%3DindeedApplyHandleButtonClick%26pingbackUrl%3Dhttps%" + "253A%252F%252Fgdc.indeed.com%252Fconv%252ForgIndApp%253Fco%253DUS%" + "2526vjtk%253D1h4m9ltcgii2t800%2526jk%253D0ffb6f7ed64d3bae%2526mvj%253D0%" + "2526tk%253D1h4m9jbiui7lq801%2526trk.origin%253Djobsearch%2526sj%253D1%" + "2526vjfrom%253Dhp%2526advn%253D2169897021852324%2526adid%253D412530207%" + "2526ad%253D-6NYlbfkN0ADTLHW1lVcttxG1n9WEfcRI1-" + "ixIWqaQXrnishWQ6BGJjne4HH5OGRzbL9TFjFzxuxk65rhcUupJlJ21QkpPLqd89n0B4cMJw-" + "xmaYdF9-dzypunDDP4jQEuuhT-tpejJCNc8jlBI6FGBAtkAXuipq96Z-" + "vOtd24jCWqboqknQBia2fKh5sYbqLv3E7C6vlBmxO2FH4-qm1_" + "vkeeUq1lsktOtkKCFK2RSR5V5xbkBHcu0hkuZAShjpg2ro3F4e9VbP5_" + "tC3BKSqdL9un4SibeC59V880-mAhOnU_" + "yhuURbniZCCFxjEH66D3euJEOSBZDVnpK0jsbAbxwAnx9dtEdC_" + "HG3BG2PgUf9uwPA8SgdtHuhTAkToYjDBF1l5ENrF3WSXIMTCANToEbE3FpgMwNgOkTDf_" + "4E0Zf-vZ5LjmNY_8q8gL9SwhL6dAsnb-iH5Nm9OGEI32LTlhl9KtszAFZ99UGlzmRjo_" + "iD7ienJa3zd_Ebh_NZWkb_4pEKal6--pSAPlVPbC6azvhPiBzQgMhzpUS9Z-7YYhU%25253D%" + "2526xkcb%253DSoDv-_M3NWbCoe0CiZ0LbzkdCdPP%2526astse%253Dc630be9cfe791df9%" + "2526assa%253D240%26co%3DUS%26advNum%3D2169897021852324%26noButtonUI%" + "3Dtrue%26iaUid%3D1h4m9lujpkblm800%26spn%3D1%26jobId%3D5F6DD26C1B%26isITA%" + "3D0%26apiToken%" + "3D3a51613a4d8b9799d352130065868b0c34bce36cee7f4dffa3ed16b0c7936634%" + "26jobLocation%3DAustin%252C%2BTexas%252C%2BUnited%2BStates%26twoPaneGroup%" + "3D-1%26indeedcsrftoken%3D7bG1QaY6YSlr3rfgMbu9YRVPyk1v2TF0%26phone%" + "3Doptional%26jobApplies%3D-1%26twoPaneVjGroup%3D-1%26returnToJobSearchUrl%" + "3Dhttp%253A%252F%252Fwww.indeed.com%252F%26indeedApplyableJobApiURI%3D&" + "cfb=2&obo=http%3A%2F%2Fwww.indeed.com%2F&hl=en_US&from=indapply-login-" + "SmartApply&branding=indeed-apply", + // + "https://secure.indeed.com/" + "auth?hl=en_US&co=US&continue=https%3A%2F%2Fwww.indeed.com%" + "2Fthirdpartysignin%3Fjk%3D67557c870d9debaf%26from%3Dhp%26from%3Djsfe-" + "3pintercept-viewjob%26tk%3D1h4m9jbiui7lq801%26viewtype%3Dembedded%26advn%" + "3D8187210054516026%26adid%3D378267801%26ad%3D-6NYlbfkN0CfpH2aSe_" + "yWN7pjV6WFrWU4hEZi9Btn9eCdDUBIhjK5M5mY81rEexvugfeSup1QuHOvw9d5hvgsJ79xiL2b" + "Cis9Y8r23bY8qvwxN3cXtMQH5eaPpn4zk1QcFRVOjQFg-" + "0YX6StKUcjnJroSlWw3vVqor9zKJ4mUJ-Ksql7DBTYyyZGXojbnMo-" + "neBlW1zDoHnAAl1ZZZa38U8p1jl35T8o9uwhvY3mVw2XDdmKpKawVuyFfiNGl3_" + "jyLBWarAGLeTBHVsVlBONBK8GK4zH1pVL31V4M43uQUjWUhjRqH4lnq92jt7uCHE97bhKm2hMo" + "6dpJ6I-" + "1REKDf9gE0gloVW3r2lBI2TpIWbePg2zuBg4CnvYaRAm7elrbL8hYuiPYtB3hjTkldS_IYH3-" + "NgunawHQ-" + "LwIxAO35DyDhaY1DrGuFWaTQj6f1JlddpnImKhUaKP3jgV0q9uKoQxvyyFhLOlLGDxfMsVecGZ" + "B4lwuUK0TE74Qix1iR26X1QtEguPk8yp8DQZ-AfOqT_" + "S7A0PtcI2eI0sLM1y3BHB3p0KdpYJUsDv02t7UYO_gNEmMOmcsr5gLsmE-cu52BF_" + "n2lEDE3kKpIKqMu91dFTmI25H393tb-" + "PfCUfVAVaUveXuO2hjWSctjtFCo9RPl6ix3ilDs1QgKt08BtT4IUb5I24JlxIJXNvkHhkH75vw" + "PH9SHKr5XfuN32rOCTUr9JWLmVEcQ4x5A0pHUXQRyz8OxdfsifIibHB8SpDYTtyY50lSL4sAe3" + "M4PDq0d54xfqWuSQqhGqo0lE944k8JjiQue8M1cIcqpssOOqE8SIi-" + "hDdv1KG0G1kQuLBIYMzzrGCJ6WDZm_KbLiyK0wTrPf2cWfHIyU1JI1pdWKbK6fop_" + "kuNd3OBEAl00YETNwOrg4HrZdK8NXEkG_QWXA-A0nYxFWz58uoHND5rkyVDO0o%26xkcb%" + "3DSoBZ-_M3NWbCoZUCiZ0LbzkdCdPP%26topwindowlocation%3D%252F%253Fadvn%" + "253D2169897021852324%2526vjk%253D0ffb6f7ed64d3bae%26vjtk%" + "3D1h4m9npiq21a4002&from=jsfe-3pintercept-viewjob&branding=third-party-" + "applies", + // + "https://secure.indeed.com/" + "auth?continue=https%3A%2F%2Fm5.apply.indeed.com%2Fbeta%2Findeedapply%" + "2Fresumeapply%3FdraftId%3Dde4f06da-7b31-465c-96d2-80f791a85bf7-Y21o%" + "26draftDc%3Dcmh%26postUrl%3Dhttp%253A%252F%252Fmuffit%252Fprocess-" + "indeedapply%26jk%3D7590bdb1fe928d49%26mob%3D0%26referer%3Dhttps%253A%252F%" + "252Fwww.indeed.com%252F%253Fvjk%253D4ce8c8f85737012d%2526advn%" + "253D2919294681304046%26formParent%3D%26hl%3Den_US%26jobTitle%3DSenior%" + "2BSoftware%2BDeveloper%2B%2528onsite%2529%26questions%3Diq%253A%252F%" + "252F0efc2325f6b4a2c5bc27%253Fv%253D1%26twoPaneVjAllocId%3D%" + "26onappliedstatus%3D_updateIndeedApplyStatus%26preload%3D0%26autoString%" + "3Dnone%26iip%3D1%26recentsearchquery%3D%257B%2522what%2522%253A%" + "2522software%2Bengineer%2522%252C%2522where%2522%253A%2522austin%252C%" + "2Btx%2522%257D%26isCreateIAJobApiSuccess%3Dfalse%26onclose%" + "3DindeedApplyHandleModalClose%26onContinueClick%" + "3DindeedApplyHandleModalClose%26jobUrl%3Dhttps%253A%252F%252Fwww.indeed." + "com%252Fviewjob%253Fjk%253D7590bdb1fe928d49%26onready%3D_onButtonReady%" + "26onapplied%3DindeedApplyHandleApply%26href%3Dhttps%253A%252F%252Fwww." + "indeed.com%252Fviewjob%253Fjk%253D7590bdb1fe928d49%2526from%253Dhp%2526tk%" + "253D1h4m9jbiui7lq801%2526viewtype%253Dembedded%2526advn%" + "253D5522285726153717%2526adid%253D414206073%2526xkcb%253DSoDt-_" + "M3NWbCoZUCiZ0KbzkdCdPP%2526topwindowlocation%253D%25252F%25253Fvjk%" + "25253D4ce8c8f85737012d%252526advn%25253D2919294681304046%26coverletter%" + "3DOPTIONAL%26resume%3Drequired%26twoPaneAllocId%3D%26jobMeta%3D%257B%" + "2526quot%253Bvtk%2526quot%253B%253A%2526quot%253B1h4m9oh7mirks800%" + "2526quot%253B%252C%2526quot%253Btk%2526quot%253B%253A%2526quot%" + "253B1h4m9jbiui7lq801%2526quot%253B%257D%26src%3Didd%26ms%3D1688670587917%" + "26jobCompany%3DCitizens%2BInc%26onclick%3DindeedApplyHandleButtonClick%" + "26pingbackUrl%3Dhttps%253A%252F%252Fgdc.indeed.com%252Fconv%252ForgIndApp%" + "253Fco%253DUS%2526vjtk%253D1h4m9oh7mirks800%2526jk%253D7590bdb1fe928d49%" + "2526mvj%253D0%2526tk%253D1h4m9jbiui7lq801%2526trk.origin%253Djobsearch%" + "2526sj%253D1%2526vjfrom%253Dhp%2526advn%253D5522285726153717%2526adid%" + "253D414206073%2526ad%253D-" + "6NYlbfkN0CHSAkotDdvvZVbhOqFdbxXOHJMhXe1DXuaBPnaU5fYte-" + "aud5Z0lqoqFyp33jrJfy1DYFhCWCqBjAqfX3PBXom-d5E4gy3cqbwZuMtWn4flXO-" + "Fd9DkMZrQjqK002kTnGqvqfkH0ftIspK3hwJPRmAEy7EY87A9OOFRyFmxA9AdiimsdRWyksA-" + "nCQ0w1VI28XDuVMu7qO_D46dH-" + "dtW5jWIG4jTe8HCv21447lFobYgFb9oJdF8NrjyCNP4fdGeojlELmcjS5cvC5dKfXi8IZm4sWW" + "-7b5SBQKvBMmSVDjiTsgYZS6lb8B-" + "a3YF1Lny7hpNfClmOcLe49wiZAG9LWJ7uRUEfzOPrUCwxdHNQK-vEo3ZhDK4AeER-" + "LfOUabNSjrKz7_91l8sQjBNOR-FJ25ioX0sqoNByLfJC7cWzjDxqvW-l82GsWQR2O_" + "6Khe2oq91fjVXMAFQdSQWdr_DWCf_" + "e2FYtN69Qql9maXH550XNcfynxCicTL71xLstYfWqbSMpADJhrW_" + "0pf4x58zLVfYLBJ7MPQaW15uKzbFn68lAlyF5GXDqWxowOm58EyeS7OmQkBdGyxYanZ6452m6O" + "%2526xkcb%253DSoDt-_M3NWbCoZUCiZ0KbzkdCdPP%2526astse%253Db4f6f6ed591bacca%" + "2526assa%253D6102%26co%3DUS%26advNum%3D5522285726153717%26noButtonUI%" + "3Dtrue%26iaUid%3D1h4m9oi2qj4h4800%26spn%3D1%26jobId%" + "3D0efc2325f6b4a2c5bc27%26isITA%3D0%26apiToken%" + "3Daa102235a5ccb18bd3668c0e14aa3ea7e2503cfac2a7a9bf3d6549899e125af4%" + "26jobLocation%3DAustin%252C%2BTX%2B78758%26twoPaneGroup%3D-1%" + "26indeedcsrftoken%3D7bG1QaY6YSlr3rfgMbu9YRVPyk1v2TF0%26phone%3DOPTIONAL%" + "26jobApplies%3D-1%26twoPaneVjGroup%3D-1%26returnToJobSearchUrl%3Dhttp%" + "253A%252F%252Fwww.indeed.com%252F%253Fvjk%253D4ce8c8f85737012d%2526advn%" + "253D2919294681304046%26indeedApplyableJobApiURI%3D&cfb=2&obo=http%3A%2F%" + "2Fwww.indeed.com%2F&hl=en_US&from=indapply-login-SmartApply&branding=" + "indeed-apply"}; + +std::vector url_examples; + +double url_examples_bytes = []() -> double { + size_t bytes{0}; + for (std::string& url_string : url_examples) { + bytes += url_string.size(); + } + return double(bytes); +}(); + +#ifdef ADA_URL_FILE +const char* default_file = ADA_URL_FILE; +#else +const char* default_file = nullptr; +#endif + +size_t init_data(const char* input = default_file) { + // compute the number of bytes. + auto compute = []() -> double { + size_t bytes{0}; + for (std::string& url_string : url_examples) { + bytes += url_string.size(); + } + return double(bytes); + }; + if (input == nullptr) { + for (const std::string& s : url_examples_default) { + url_examples.emplace_back(s); + } + url_examples_bytes = compute(); + return url_examples.size(); + } + + if (!file_exists(input)) { + std::cout << "File not found !" << input << std::endl; + for (const std::string& s : url_examples_default) { + url_examples.emplace_back(s); + } + } else { + std::cout << "Loading " << input << std::endl; + url_examples = split_string(read_file(input)); + } + url_examples_bytes = compute(); + return url_examples.size(); +} + +size_t count_ada_invalid() { + size_t how_many = 0; + for (std::string& url_string : url_examples) { + auto url = ada::parse(url_string); + if (!url) { + how_many++; + } + } + return how_many; +} + +template +static void BasicBench_AdaURL(benchmark::State& state) { + // volatile to prevent optimizations. + volatile size_t param_count = 0; + + for (auto _ : state) { + for (std::string& url_string : url_examples) { + ada::result url = ada::parse(url_string); + if (url) { + auto params = ada::url_search_params{url->get_search()}; + param_count += params.size(); + } + } + } + if (collector.has_events()) { + event_aggregate aggregate{}; + for (size_t i = 0; i < N; i++) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + for (std::string& url_string : url_examples) { + ada::result url = ada::parse(url_string); + if (url) { + auto params = ada::url_search_params{url->get_search()}; + param_count += params.size(); + } + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + aggregate << allocate_count; + } + state.counters["cycles/url"] = + aggregate.best.cycles() / std::size(url_examples); + state.counters["instructions/url"] = + aggregate.best.instructions() / std::size(url_examples); + state.counters["instructions/cycle"] = + aggregate.best.instructions() / aggregate.best.cycles(); + state.counters["instructions/byte"] = + aggregate.best.instructions() / url_examples_bytes; + state.counters["instructions/ns"] = + aggregate.best.instructions() / aggregate.best.elapsed_ns(); + state.counters["GHz"] = + aggregate.best.cycles() / aggregate.best.elapsed_ns(); + state.counters["ns/url"] = + aggregate.best.elapsed_ns() / std::size(url_examples); + state.counters["cycle/byte"] = aggregate.best.cycles() / url_examples_bytes; + } + (void)param_count; + state.counters["time/byte"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["time/url"] = + benchmark::Counter(double(std::size(url_examples)), + benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["speed"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate); + state.counters["url/s"] = + benchmark::Counter(double(std::size(url_examples)), + benchmark::Counter::kIsIterationInvariantRate); +} + +auto url_search_params_AdaURL = BasicBench_AdaURL; +BENCHMARK(url_search_params_AdaURL); + +int main(int argc, char** argv) { + if (argc > 1 && file_exists(argv[1])) { + init_data(argv[1]); + } else { + init_data(); + } +#if (__APPLE__ && __aarch64__) || defined(__linux__) + if (!collector.has_events()) { + benchmark::AddCustomContext("performance counters", + "No privileged access (sudo may help)."); + } +#else + if (!collector.has_events()) { + benchmark::AddCustomContext("performance counters", "Unsupported system."); + } +#endif + benchmark::AddCustomContext("input bytes", + std::to_string(size_t(url_examples_bytes))); + benchmark::AddCustomContext("number of URLs", + std::to_string(std::size(url_examples))); + benchmark::AddCustomContext( + "bytes/URL", + std::to_string(url_examples_bytes / std::size(url_examples))); + if (collector.has_events()) { + benchmark::AddCustomContext("performance counters", "Enabled"); + } + benchmark::Initialize(&argc, argv); + benchmark::RunSpecifiedBenchmarks(); + benchmark::Shutdown(); +} diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/benchmark_header.h nodejs-18.19.0+dfsg/ada/benchmarks/benchmark_header.h --- nodejs-18.13.0+dfsg1/ada/benchmarks/benchmark_header.h 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/benchmark_header.h 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,65 @@ +#include +#include +#include +#include +#include +#include + +#if ADA_VARIOUS_COMPETITION_ENABLED +#include +#include +#include +#endif +#if ADA_url_whatwg_ENABLED +#include +#endif + +#include "ada.h" +#include "performancecounters/event_counter.h" +event_collector collector; +size_t N = 1000; + +#include + +bool file_exists(const char* filename) { + namespace fs = std::filesystem; + std::filesystem::path f{filename}; + if (std::filesystem::exists(filename)) { + return true; + } else { + return false; + } +} + +std::string read_file(std::string filename) { + constexpr auto read_size = std::size_t(4096); + auto stream = std::ifstream(filename.c_str()); + stream.exceptions(std::ios_base::badbit); + auto out = std::string(); + auto buf = std::string(read_size, '\0'); + while (stream.read(&buf[0], read_size)) { + out.append(buf, 0, size_t(stream.gcount())); + } + out.append(buf, 0, size_t(stream.gcount())); + return out; +} + +std::vector split_string(const std::string& str) { + auto result = std::vector{}; + auto ss = std::stringstream{str}; + for (std::string line; std::getline(ss, line, '\n');) { + std::string_view view = line; + // Some parsers like boost/url will refuse to parse a URL with trailing + // whitespace. + while (!view.empty() && std::isspace(view.back())) { + view.remove_suffix(1); + } + while (!view.empty() && std::isspace(view.front())) { + view.remove_prefix(1); + } + if (!view.empty()) { + result.emplace_back(view); + } + } + return result; +} diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/benchmark_template.cpp nodejs-18.19.0+dfsg/ada/benchmarks/benchmark_template.cpp --- nodejs-18.13.0+dfsg1/ada/benchmarks/benchmark_template.cpp 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/benchmark_template.cpp 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,818 @@ +/** + * The main benchmark is to take an input string, and convert it into a + * normalized URL (or 'href'). + */ + +size_t count_ada_invalid() { + size_t how_many = 0; + for (std::string& url_string : url_examples) { + auto url = ada::parse(url_string); + if (!url) { + how_many++; + } + } + return how_many; +} + +enum { JUST_PARSE = 1, PARSE_AND_HREF = 0 }; + +template +static void BasicBench_AdaURL(benchmark::State& state) { + // volatile to prevent optimizations. + volatile size_t success = 0; + volatile size_t href_size = 0; + + for (auto _ : state) { + for (std::string& url_string : url_examples) { + ada::result url = ada::parse(url_string); + if (url) { + success++; + if constexpr (!just_parse) { + href_size += url->get_href().size(); + } + } + } + } + if (collector.has_events()) { + event_aggregate aggregate{}; + for (size_t i = 0; i < N; i++) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + for (std::string& url_string : url_examples) { + ada::result url = ada::parse(url_string); + if (url) { + success++; + if constexpr (!just_parse) { + href_size += url->get_href().size(); + } + } + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + aggregate << allocate_count; + } + state.counters["cycles/url"] = + aggregate.best.cycles() / std::size(url_examples); + state.counters["instructions/url"] = + aggregate.best.instructions() / std::size(url_examples); + state.counters["instructions/cycle"] = + aggregate.best.instructions() / aggregate.best.cycles(); + state.counters["instructions/byte"] = + aggregate.best.instructions() / url_examples_bytes; + state.counters["instructions/ns"] = + aggregate.best.instructions() / aggregate.best.elapsed_ns(); + state.counters["GHz"] = + aggregate.best.cycles() / aggregate.best.elapsed_ns(); + state.counters["ns/url"] = + aggregate.best.elapsed_ns() / std::size(url_examples); + state.counters["cycle/byte"] = aggregate.best.cycles() / url_examples_bytes; + } + (void)success; + state.counters["time/byte"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["time/url"] = + benchmark::Counter(double(std::size(url_examples)), + benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["speed"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate); + state.counters["url/s"] = + benchmark::Counter(double(std::size(url_examples)), + benchmark::Counter::kIsIterationInvariantRate); +} + +auto BasicBench_AdaURL_href = BasicBench_AdaURL; +BENCHMARK(BasicBench_AdaURL_href); +auto BasicBench_AdaURL_aggregator_href = + BasicBench_AdaURL; +BENCHMARK(BasicBench_AdaURL_aggregator_href); + +#if ADA_url_whatwg_ENABLED +size_t count_whatwg_invalid() { + size_t how_many = 0; + for (std::string& url_string : url_examples) { + upa::url url; + if (!upa::success(url.parse(url_string, nullptr))) { + how_many++; + } + } + return how_many; +} + +template +static void BasicBench_whatwg(benchmark::State& state) { + // volatile to prevent optimizations. + volatile size_t success = 0; + volatile size_t href_size = 0; + for (auto _ : state) { + for (std::string& url_string : url_examples) { + upa::url url; + if (upa::success(url.parse(url_string, nullptr))) { + success++; + if (!just_parse) { + href_size += url.href().size(); + } + } + } + } + if (collector.has_events()) { + event_aggregate aggregate{}; + for (size_t i = 0; i < N; i++) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + for (std::string& url_string : url_examples) { + upa::url url; + if (upa::success(url.parse(url_string, nullptr))) { + success++; + if (!just_parse) { + href_size += url.href().size(); + } + } + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + aggregate << allocate_count; + } + state.counters["cycles/url"] = + aggregate.best.cycles() / std::size(url_examples); + state.counters["instructions/url"] = + aggregate.best.instructions() / std::size(url_examples); + state.counters["instructions/cycle"] = + aggregate.best.instructions() / aggregate.best.cycles(); + state.counters["instructions/byte"] = + aggregate.best.instructions() / url_examples_bytes; + state.counters["instructions/ns"] = + aggregate.best.instructions() / aggregate.best.elapsed_ns(); + state.counters["GHz"] = + aggregate.best.cycles() / aggregate.best.elapsed_ns(); + state.counters["ns/url"] = + aggregate.best.elapsed_ns() / std::size(url_examples); + state.counters["cycle/byte"] = aggregate.best.cycles() / url_examples_bytes; + } + (void)success; + (void)href_size; + state.counters["time/byte"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["time/url"] = benchmark::Counter( + std::size(url_examples), benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["speed"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate); + state.counters["url/s"] = benchmark::Counter( + std::size(url_examples), benchmark::Counter::kIsIterationInvariantRate); +} +BENCHMARK(BasicBench_whatwg); +// There is no need for BasicBench_whatwg_just_parse because whatwg appears to +// provide the href at a minimal cost, probably because it is already +// materialized. auto BasicBench_whatwg_just_parse = +// BasicBench_whatwg; BENCHMARK(BasicBench_whatwg_just_parse); + +#endif // ADA_url_whatwg_ENABLED + +#if ADA_CURL_ENABLED +#include + +size_t count_curl_invalid() { + size_t how_many = 0; + CURLU* url = curl_url(); + for (std::string& url_string : url_examples) { + CURLUcode rc = curl_url_set(url, CURLUPART_URL, url_string.c_str(), 0); + // Returns a CURLUcode error value, which is (0) if everything went fine. + if (rc != 0) { + how_many++; + } + } + curl_url_cleanup(url); + return how_many; +} + +// curl follows RFC3986+ +template +static void BasicBench_CURL(benchmark::State& state) { + // volatile to prevent optimizations. + volatile size_t success = 0; + volatile size_t href_size = 0; + + CURLU* url = curl_url(); + for (auto _ : state) { + for (std::string& url_string : url_examples) { + CURLUcode rc = curl_url_set(url, CURLUPART_URL, url_string.c_str(), 0); + // Returns a CURLUcode error value, which is (0) if everything went fine. + if (rc == 0) { + success++; + if (!just_parse) { + char* buffer; + // When asked to return the full URL, curl_url_get will return a + // normalized and possibly cleaned up version of what was previously + // parsed. + rc = curl_url_get(url, CURLUPART_URL, &buffer, 0); + if (rc == 0) { + href_size += strlen(buffer); + curl_free(buffer); + } + } + } + } + } + if (collector.has_events()) { + event_aggregate aggregate{}; + for (size_t i = 0; i < N; i++) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + for (std::string& url_string : url_examples) { + CURLUcode rc = curl_url_set(url, CURLUPART_URL, url_string.c_str(), 0); + // Returns a CURLUcode error value, which is (0) if everything went + // fine. + if (!just_parse) { + char* buffer; + rc = curl_url_get(url, CURLUPART_URL, &buffer, 0); + if (rc == 0) { + href_size += strlen(buffer); + curl_free(buffer); + } + } + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + aggregate << allocate_count; + } + state.counters["cycles/url"] = + aggregate.best.cycles() / std::size(url_examples); + state.counters["instructions/url"] = + aggregate.best.instructions() / std::size(url_examples); + state.counters["instructions/cycle"] = + aggregate.best.instructions() / aggregate.best.cycles(); + state.counters["instructions/byte"] = + aggregate.best.instructions() / url_examples_bytes; + state.counters["instructions/ns"] = + aggregate.best.instructions() / aggregate.best.elapsed_ns(); + state.counters["GHz"] = + aggregate.best.cycles() / aggregate.best.elapsed_ns(); + state.counters["ns/url"] = + aggregate.best.elapsed_ns() / std::size(url_examples); + state.counters["cycle/byte"] = aggregate.best.cycles() / url_examples_bytes; + } + (void)success; + curl_url_cleanup(url); + state.counters["time/byte"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["time/url"] = benchmark::Counter( + std::size(url_examples), benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["speed"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate); + state.counters["url/s"] = benchmark::Counter( + std::size(url_examples), benchmark::Counter::kIsIterationInvariantRate); +} +BENCHMARK(BasicBench_CURL); +// 'just parsing' is faster with curl, but maybe not so important for us. +// auto BasicBench_CURL_just_parse = BasicBench_CURL; +// BENCHMARK(BasicBench_CURL_just_parse); +#endif + +#if ADA_BOOST_ENABLED +#include +using namespace boost::urls; + +size_t count_boosturl_invalid() { + size_t how_many = 0; + for (std::string& url_string : url_examples) { + try { + url u(url_string); + u.normalize(); + } catch (...) { + how_many++; + } + } + return how_many; +} + +// Boost URL follows RFC3986 +template +static void BasicBench_BoostURL(benchmark::State& state) { + // volatile to prevent optimizations. + volatile size_t success = 0; + volatile size_t href_size = 0; + + for (auto _ : state) { + for (std::string& url_string : url_examples) { + try { + url u(url_string); + u.normalize(); + success++; + if (!just_parse) { + href_size += u.buffer().size(); + } + } catch (...) { + } + } + } + if (collector.has_events()) { + event_aggregate aggregate{}; + for (size_t i = 0; i < N; i++) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + for (std::string& url_string : url_examples) { + try { + url u(url_string); + u.normalize(); + success++; + if (!just_parse) { + href_size += u.buffer().size(); + } + } catch (...) { + } + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + aggregate << allocate_count; + } + state.counters["cycles/url"] = + aggregate.best.cycles() / std::size(url_examples); + state.counters["instructions/url"] = + aggregate.best.instructions() / std::size(url_examples); + state.counters["instructions/cycle"] = + aggregate.best.instructions() / aggregate.best.cycles(); + state.counters["instructions/byte"] = + aggregate.best.instructions() / url_examples_bytes; + state.counters["instructions/ns"] = + aggregate.best.instructions() / aggregate.best.elapsed_ns(); + state.counters["GHz"] = + aggregate.best.cycles() / aggregate.best.elapsed_ns(); + state.counters["ns/url"] = + aggregate.best.elapsed_ns() / std::size(url_examples); + state.counters["cycle/byte"] = aggregate.best.cycles() / url_examples_bytes; + } + (void)success; + (void)href_size; + + state.counters["time/byte"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["time/url"] = benchmark::Counter( + std::size(url_examples), benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["speed"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate); + state.counters["url/s"] = benchmark::Counter( + std::size(url_examples), benchmark::Counter::kIsIterationInvariantRate); +} +BENCHMARK(BasicBench_BoostURL); +// There is no need for 'just_parse' because BoostURL materializes the href. +// auto BasicBench_BoostURL_just_parse = BasicBench_BoostURL; +// BENCHMARK(BasicBench_BoostURL_just_parse); +#endif // ADA_BOOST_ENABLED + +#if ADA_ZURI_ENABLED +#include + +size_t count_zuri_invalid() { + size_t how_many = 0; + for (std::string& url_string : url_examples) { + struct zuri2k uri; + zuri_error err = zuri_parse2k(&uri, url_string.c_str()); + if (err) how_many++; + } + return how_many; +} + +// ZURI follows RFC3986 +template +static void BasicBench_ZURI(benchmark::State& state) { + // volatile to prevent optimizations. + volatile size_t success = 0; + volatile size_t href_size = 0; + + for (auto _ : state) { + for (std::string& url_string : url_examples) { + struct zuri2k uri; + benchmark::DoNotOptimize(uri); + zuri_error err = zuri_parse2k(&uri, url_string.c_str()); + if (!err) { + success++; + if constexpr (!just_parse) { + char buf[2048]; + benchmark::DoNotOptimize(href_size += + zuri_read2k(&uri, &buf[0], sizeof(buf))); + } + } + } + } + if (collector.has_events()) { + event_aggregate aggregate{}; + for (size_t i = 0; i < N; i++) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + for (std::string& url_string : url_examples) { + struct zuri2k uri; + benchmark::DoNotOptimize(uri); + zuri_error err = zuri_parse2k(&uri, url_string.c_str()); + if (!err) { + success++; + if constexpr (!just_parse) { + char buf[2048]; + benchmark::DoNotOptimize(href_size += + zuri_read2k(&uri, &buf[0], sizeof(buf))); + } + } + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + aggregate << allocate_count; + } + state.counters["cycles/url"] = + aggregate.best.cycles() / std::size(url_examples); + state.counters["instructions/url"] = + aggregate.best.instructions() / std::size(url_examples); + state.counters["instructions/cycle"] = + aggregate.best.instructions() / aggregate.best.cycles(); + state.counters["instructions/byte"] = + aggregate.best.instructions() / url_examples_bytes; + state.counters["instructions/ns"] = + aggregate.best.instructions() / aggregate.best.elapsed_ns(); + state.counters["GHz"] = + aggregate.best.cycles() / aggregate.best.elapsed_ns(); + state.counters["ns/url"] = + aggregate.best.elapsed_ns() / std::size(url_examples); + state.counters["cycle/byte"] = aggregate.best.cycles() / url_examples_bytes; + } + (void)success; + (void)href_size; + + state.counters["time/byte"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["time/url"] = benchmark::Counter( + std::size(url_examples), benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["speed"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate); + state.counters["url/s"] = benchmark::Counter( + std::size(url_examples), benchmark::Counter::kIsIterationInvariantRate); +} + +BENCHMARK(BasicBench_ZURI); +#endif // ADA_ZURI_ENABLED + +#if ADA_VARIOUS_COMPETITION_ENABLED +static void BasicBench_uriparser_just_parse(benchmark::State& state) { + // volatile to prevent optimizations. + volatile bool is_valid = true; + const char* errorPos; + UriUriA uri; + for (auto _ : state) { + for (std::string& url_string : url_examples) { + is_valid &= (uriParseSingleUriA(&uri, url_string.c_str(), &errorPos) == + URI_SUCCESS); + } + } + if (!is_valid) { + std::cout << "uri-parser: invalid? " << std::endl; + } + if (collector.has_events()) { + event_aggregate aggregate{}; + for (size_t i = 0; i < N; i++) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + for (std::string& url_string : url_examples) { + is_valid &= (uriParseSingleUriA(&uri, url_string.c_str(), &errorPos) == + URI_SUCCESS); + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + aggregate << allocate_count; + } + state.counters["cycles/url"] = + aggregate.best.cycles() / std::size(url_examples); + state.counters["instructions/url"] = + aggregate.best.instructions() / std::size(url_examples); + state.counters["instructions/cycle"] = + aggregate.best.instructions() / aggregate.best.cycles(); + state.counters["instructions/byte"] = + aggregate.best.instructions() / url_examples_bytes; + state.counters["instructions/ns"] = + aggregate.best.instructions() / aggregate.best.elapsed_ns(); + state.counters["GHz"] = + aggregate.best.cycles() / aggregate.best.elapsed_ns(); + state.counters["ns/url"] = + aggregate.best.elapsed_ns() / std::size(url_examples); + state.counters["cycle/byte"] = aggregate.best.cycles() / url_examples_bytes; + } + uriFreeUriMembersA(&uri); + + state.counters["time/byte"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["time/url"] = + benchmark::Counter(double(std::size(url_examples)), + benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["speed"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate); + state.counters["url/s"] = + benchmark::Counter(double(std::size(url_examples)), + benchmark::Counter::kIsIterationInvariantRate); +} +BENCHMARK(BasicBench_uriparser_just_parse); +#endif // ADA_VARIOUS_COMPETITION_ENABLED + +#if ADA_VARIOUS_COMPETITION_ENABLED +static void BasicBench_urlparser_just_parse(benchmark::State& state) { + // volatile to prevent optimizations. + for (auto _ : state) { + for (std::string& url_string : url_examples) { + std::unique_ptr url(EdUrlParser::parseUrl(url_string)); + } + } + if (collector.has_events()) { + event_aggregate aggregate{}; + for (size_t i = 0; i < N; i++) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + for (std::string& url_string : url_examples) { + std::unique_ptr url(EdUrlParser::parseUrl(url_string)); + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + aggregate << allocate_count; + } + state.counters["cycles/url"] = + aggregate.best.cycles() / std::size(url_examples); + state.counters["instructions/url"] = + aggregate.best.instructions() / std::size(url_examples); + state.counters["instructions/cycle"] = + aggregate.best.instructions() / aggregate.best.cycles(); + state.counters["instructions/byte"] = + aggregate.best.instructions() / url_examples_bytes; + state.counters["instructions/ns"] = + aggregate.best.instructions() / aggregate.best.elapsed_ns(); + state.counters["GHz"] = + aggregate.best.cycles() / aggregate.best.elapsed_ns(); + state.counters["ns/url"] = + aggregate.best.elapsed_ns() / std::size(url_examples); + state.counters["cycle/byte"] = aggregate.best.cycles() / url_examples_bytes; + } + + state.counters["time/byte"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["time/url"] = + benchmark::Counter(double(std::size(url_examples)), + benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["speed"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate); + state.counters["url/s"] = + benchmark::Counter(double(std::size(url_examples)), + benchmark::Counter::kIsIterationInvariantRate); +} +BENCHMARK(BasicBench_urlparser_just_parse); +#endif // ADA_VARIOUS_COMPETITION_ENABLED + +#if ADA_VARIOUS_COMPETITION_ENABLED +static void BasicBench_http_parser_just_parse(benchmark::State& state) { + volatile bool is_valid{true}; + struct http_parser_url u; + http_parser_url_init(&u); + for (auto _ : state) { + for (std::string& url_string : url_examples) { + is_valid &= + !http_parser_parse_url(url_string.data(), url_string.size(), 0, &u); + } + } + if (collector.has_events()) { + event_aggregate aggregate{}; + for (size_t i = 0; i < N; i++) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + for (std::string& url_string : url_examples) { + is_valid &= + !http_parser_parse_url(url_string.data(), url_string.size(), 0, &u); + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + aggregate << allocate_count; + } + state.counters["cycles/url"] = + aggregate.best.cycles() / std::size(url_examples); + state.counters["instructions/url"] = + aggregate.best.instructions() / std::size(url_examples); + state.counters["instructions/cycle"] = + aggregate.best.instructions() / aggregate.best.cycles(); + state.counters["instructions/byte"] = + aggregate.best.instructions() / url_examples_bytes; + state.counters["instructions/ns"] = + aggregate.best.instructions() / aggregate.best.elapsed_ns(); + state.counters["GHz"] = + aggregate.best.cycles() / aggregate.best.elapsed_ns(); + state.counters["ns/url"] = + aggregate.best.elapsed_ns() / std::size(url_examples); + state.counters["cycle/byte"] = aggregate.best.cycles() / url_examples_bytes; + } + + if (!is_valid) { + std::cout << "http_parser: invalid? " << std::endl; + } + state.counters["time/byte"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["time/url"] = + benchmark::Counter(double(std::size(url_examples)), + benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["speed"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate); + state.counters["url/s"] = + benchmark::Counter(double(std::size(url_examples)), + benchmark::Counter::kIsIterationInvariantRate); +} +BENCHMARK(BasicBench_http_parser_just_parse); +#endif // ADA_VARIOUS_COMPETITION_ENABLED + +#if defined(ADA_RUST_VERSION) +#include "competitors/servo-url/servo_url.h" +size_t count_rust_invalid() { + size_t how_many = 0; + for (std::string& url_string : url_examples) { + servo_url::Url* url = + servo_url::parse_url(url_string.c_str(), url_string.length()); + servo_url::free_url(url); + if (!url) { + how_many++; + } + } + return how_many; +} + +// Emilio from Mozilla recommended that using an opaque-pointer will improve the +// performance of this benchmark. It has indeed improved but with the cost of +// validating the output. Reference: +// https://twitter.com/ecbos_/status/1627494441656238082?s=61&t=vCdcfSGWHH056CBdklWfCg +static void BasicBench_ServoUrl(benchmark::State& state) { + // Other benchmarks copy the 'standard url' to a structure. + // We try to mimic the effect. + volatile size_t success = 0; + + for (auto _ : state) { + for (std::string& url_string : url_examples) { + // benchmark::DoNotOptimize is unnecessary and potentially misleading. + const char* url_href = + servo_url::parse_url_to_href(url_string.c_str(), url_string.length()); + if (url_href) { + // if you'd like you could print it: printf("%s\n", url_href); + success++; + servo_url::free_string(url_href); + } + } + } + if (collector.has_events()) { + event_aggregate aggregate{}; + for (size_t i = 0; i < N; i++) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + for (std::string& url_string : url_examples) { + const char* url_href = servo_url::parse_url_to_href( + url_string.c_str(), url_string.length()); + if (url_href) { + success++; + servo_url::free_string(url_href); + } + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + aggregate << allocate_count; + } + (void)success; + state.counters["cycles/url"] = + aggregate.best.cycles() / std::size(url_examples); + state.counters["instructions/url"] = + aggregate.best.instructions() / std::size(url_examples); + state.counters["instructions/cycle"] = + aggregate.best.instructions() / aggregate.best.cycles(); + state.counters["instructions/byte"] = + aggregate.best.instructions() / url_examples_bytes; + state.counters["instructions/ns"] = + aggregate.best.instructions() / aggregate.best.elapsed_ns(); + state.counters["GHz"] = + aggregate.best.cycles() / aggregate.best.elapsed_ns(); + state.counters["ns/url"] = + aggregate.best.elapsed_ns() / std::size(url_examples); + state.counters["cycle/byte"] = aggregate.best.cycles() / url_examples_bytes; + } + + state.counters["time/byte"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["time/url"] = + benchmark::Counter(double(std::size(url_examples)), + benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["speed"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate); + state.counters["url/s"] = + benchmark::Counter(double(std::size(url_examples)), + benchmark::Counter::kIsIterationInvariantRate); +} +BENCHMARK(BasicBench_ServoUrl); +#endif // ADA_RUST + +int main(int argc, char** argv) { + if (argc > 1 && file_exists(argv[1])) { + init_data(argv[1]); + } else { + init_data(); + } + benchmark::AddCustomContext("ada spec", "Ada follows whatwg/url"); + size_t ada_bad_url = count_ada_invalid(); +#if ADA_url_whatwg_ENABLED + size_t whatwg_bad_url = count_whatwg_invalid(); +#endif +#if defined(ADA_RUST_VERSION) + benchmark::AddCustomContext("rust version ", ADA_RUST_VERSION); + size_t servo_bad_url = count_rust_invalid(); +#endif +#if ADA_CURL_ENABLED + // the curl dependency will depend on the system. + benchmark::AddCustomContext("curl version ", LIBCURL_VERSION); + benchmark::AddCustomContext("curl spec", + "Curl follows RFC3986, not whatwg/url"); + size_t curl_bad_url = count_curl_invalid(); +#else + benchmark::AddCustomContext("curl ", "OMITTED"); +#endif +#if ADA_BOOST_ENABLED + benchmark::AddCustomContext("boost-url spec", + "Boost URL follows RFC3986, not whatwg/url"); + size_t boost_bad_url = count_boosturl_invalid(); +#endif +#if ADA_ZURI_ENABLED + benchmark::AddCustomContext("zuri spec", + "Zuri follows RFC3986, not whatwg/url"); + size_t zuri_bad_url = count_zuri_invalid(); +#else + benchmark::AddCustomContext("zuri ", "OMITTED"); +#endif +#if (__APPLE__ && __aarch64__) || defined(__linux__) + if (!collector.has_events()) { + benchmark::AddCustomContext("performance counters", + "No privileged access (sudo may help)."); + } +#else + if (!collector.has_events()) { + benchmark::AddCustomContext("performance counters", "Unsupported system."); + } +#endif + benchmark::AddCustomContext("input bytes", + std::to_string(size_t(url_examples_bytes))); + benchmark::AddCustomContext("number of URLs", + std::to_string(std::size(url_examples))); + benchmark::AddCustomContext( + "bytes/URL", + std::to_string(url_examples_bytes / std::size(url_examples))); +#if ADA_VARIOUS_COMPETITION_ENABLED + benchmark::AddCustomContext("WARNING", + "BasicBench_urlparser and BasicBench_uriparser " + "do not use a normalized task."); +#endif + if (collector.has_events()) { + benchmark::AddCustomContext("performance counters", "Enabled"); + } + std::stringstream badcounts; + badcounts << "---------------------\n"; + badcounts << "ada---count of bad URLs " << std::to_string(ada_bad_url) + << "\n"; +#if defined(ADA_RUST_VERSION) + badcounts << "servo/url---count of bad URLs " << std::to_string(servo_bad_url) + << "\n"; +#endif +#if ADA_url_whatwg_ENABLED + badcounts << "whatwg---count of bad URLs " + << std::to_string(whatwg_bad_url) << "\n"; +#endif +#if ADA_CURL_ENABLED + badcounts << "curl---count of bad URLs " << std::to_string(curl_bad_url) + << "\n"; +#endif +#if ADA_BOOST_ENABLED + badcounts << "boost-url---count of bad URLs " << std::to_string(boost_bad_url) + << "\n"; +#endif +#if ADA_ZURI_ENABLED + badcounts << "zuri---count of bad URLs " << std::to_string(zuri_bad_url) + << "\n"; +#endif + badcounts << "-------------------------------\n"; + benchmark::AddCustomContext("bad urls", badcounts.str()); + + if (size_t(url_examples_bytes) > 1000000) { + N = 10; + } + + benchmark::Initialize(&argc, argv); + benchmark::RunSpecifiedBenchmarks(); + benchmark::Shutdown(); +} diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/competitors/servo-url/Cargo.lock nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/Cargo.lock --- nodejs-18.13.0+dfsg1/ada/benchmarks/competitors/servo-url/Cargo.lock 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/Cargo.lock 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,83 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "form_urlencoded" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a62bc1cf6f830c2ec14a513a9fb124d0a213a629668a4186f329db21fe045652" +dependencies = [ + "percent-encoding", +] + +[[package]] +name = "idna" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7d20d6b07bfbc108882d88ed8e37d39636dcc260e15e30c45e6ba089610b917c" +dependencies = [ + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "libc" +version = "0.2.148" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9cdc71e17332e86d2e1d38c1f99edcb6288ee11b815fb1a4b049eaa2114d369b" + +[[package]] +name = "percent-encoding" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" + +[[package]] +name = "servo-url" +version = "0.1.0" +dependencies = [ + "libc", + "url", +] + +[[package]] +name = "tinyvec" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" + +[[package]] +name = "unicode-bidi" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54675592c1dbefd78cbd98db9bacd89886e1ca50692a0692baefffdeb92dd58" + +[[package]] +name = "unicode-normalization" +version = "0.1.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "url" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" +dependencies = [ + "form_urlencoded", + "idna", + "percent-encoding", +] diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/competitors/servo-url/Cargo.toml nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/Cargo.toml --- nodejs-18.13.0+dfsg1/ada/benchmarks/competitors/servo-url/Cargo.toml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/Cargo.toml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,16 @@ +[package] +name = "servo-url" +version = "0.1.0" + +[lib] +path = "lib.rs" +crate-type = ["cdylib"] + +[dependencies] +url = "2.4.1" +libc = "0.2" + +[profile.release] +opt-level = 3 +debug = false +lto = true diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/competitors/servo-url/README.md nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/README.md --- nodejs-18.13.0+dfsg1/ada/benchmarks/competitors/servo-url/README.md 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/README.md 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,17 @@ +## Servo URL FFI + +This folder includes FFI bindings for servo/url. + +### Links + +- https://github.com/eqrion/cbindgen/blob/master/docs.md +- https://gist.github.com/zbraniecki/b251714d77ffebbc73c03447f2b2c69f +- https://michael-f-bryan.github.io/rust-ffi-guide/setting_up.html + +### Building + +- Generating cbindgen output + - Install dependencies with `brew install cbindgen` + - Generate with `cbindgen --config cbindgen.toml --crate servo-url --output servo_url.h` +- Building + - Run with `cargo build --release` diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/competitors/servo-url/cbindgen.toml nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/cbindgen.toml --- nodejs-18.13.0+dfsg1/ada/benchmarks/competitors/servo-url/cbindgen.toml 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/cbindgen.toml 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,12 @@ +autogen_warning = "/* Warning, this file is autogenerated by cbindgen. Don't modify this manually. */" +include_version = true +braces = "SameLine" +line_length = 100 +tab_width = 2 +language = "C++" +namespaces = ["servo_url"] +include_guard = "servo_url_ffi_h" + +[parse] +parse_deps = true +include = ["url"] diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/competitors/servo-url/lib.rs nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/lib.rs --- nodejs-18.13.0+dfsg1/ada/benchmarks/competitors/servo-url/lib.rs 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/lib.rs 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,44 @@ +use url::Url; +use std::slice; +use libc::{c_char, size_t}; + +extern crate url; +extern crate libc; + +#[no_mangle] +pub unsafe extern "C" fn parse_url(raw_input: *const c_char, raw_input_length: size_t) -> *mut Url { + let input = std::str::from_utf8_unchecked(slice::from_raw_parts(raw_input as *const u8, raw_input_length)); + // This code would assume that the URL is parsed successfully: + // let result = Url::parse(input).unwrap(); + // Box::into_raw(Box::new(result)) + // But we might get an invalid input. So we want to return null in case of + // error. We can do it in such a manner: + match Url::parse(input) { + Ok(result) => Box::into_raw(Box::new(result)), + Err(_) => std::ptr::null_mut(), + } +} + +#[no_mangle] +pub unsafe extern "C" fn parse_url_to_href(raw_input: *const c_char, raw_input_length: size_t) -> *const c_char { + let input = std::str::from_utf8_unchecked(slice::from_raw_parts(raw_input as *const u8, raw_input_length)); + match Url::parse(input) { + Ok(result) => std::ffi::CString::new(result.as_str()).unwrap().into_raw(), + Err(_) => std::ptr::null_mut(), + } +} + +#[no_mangle] +pub unsafe extern "C" fn free_url(raw: *mut Url) { + if raw.is_null() { + return; + } + + drop(Box::from_raw(raw)) +} + +#[no_mangle] +pub unsafe extern fn free_string(ptr: *const c_char) { + // Take the ownership back to rust and drop the owner + let _ = std::ffi::CString::from_raw(ptr as *mut _); +} diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/competitors/servo-url/servo_url.h nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/servo_url.h --- nodejs-18.13.0+dfsg1/ada/benchmarks/competitors/servo-url/servo_url.h 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/competitors/servo-url/servo_url.h 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,30 @@ +#ifndef servo_url_ffi_h +#define servo_url_ffi_h + +/* This file was modified manually. */ + +#include +#include +#include +#include +#include + +namespace servo_url { + +/// A parsed URL record. +struct Url; + +extern "C" { + +Url *parse_url(const char *raw_input, size_t raw_input_length); + +void free_url(Url *raw); + +const char *parse_url_to_href(const char *raw_input, size_t raw_input_length); + +void free_string(const char *); +} // extern "C" + +} // namespace servo_url + +#endif // servo_url_ffi_h diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/model_bench.cpp nodejs-18.19.0+dfsg/ada/benchmarks/model_bench.cpp --- nodejs-18.13.0+dfsg1/ada/benchmarks/model_bench.cpp 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/model_bench.cpp 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,280 @@ +#include +#include +#include +#include +#include +#include + +#include "ada.h" +#include "performancecounters/event_counter.h" +event_collector collector; + +bool file_exists(const char *filename) { + namespace fs = std::filesystem; + std::filesystem::path f{filename}; + if (std::filesystem::exists(filename)) { + return true; + } else { + std::cout << " file missing: " << filename << std::endl; + return false; + } +} + +std::string read_file(std::string filename) { + constexpr auto read_size = std::size_t(4096); + auto stream = std::ifstream(filename.c_str()); + stream.exceptions(std::ios_base::badbit); + auto out = std::string(); + auto buf = std::string(read_size, '\0'); + while (stream.read(&buf[0], read_size)) { + out.append(buf, 0, size_t(stream.gcount())); + } + out.append(buf, 0, size_t(stream.gcount())); + return out; +} + +std::vector split_string(const std::string &str) { + auto result = std::vector{}; + auto ss = std::stringstream{str}; + for (std::string line; std::getline(ss, line, '\n');) { + std::string_view view = line; + // Some parsers like boost/url will refuse to parse a URL with trailing + // whitespace. + while (!view.empty() && std::isspace(view.back())) { + view.remove_suffix(1); + } + while (!view.empty() && std::isspace(view.front())) { + view.remove_prefix(1); + } + if (!view.empty()) { + result.emplace_back(view); + } + } + return result; +} + +struct stat_numbers { + std::string url_string{}; + std::string href{}; + ada::url_components components{}; + event_aggregate counters{}; + bool is_valid = true; + bool has_port = false; + bool has_credentials = false; + bool has_fragment = false; + bool has_search = false; +}; + +size_t count_ascii_bytes(const std::string &s) { + size_t counter = 0; + for (uint8_t c : s) { + if (c < 128) { + counter++; + } + } + return counter; +} + +template +std::vector collect_values( + const std::vector &url_examples, size_t trials) { + std::vector numbers(url_examples.size()); + for (size_t i = 0; i < url_examples.size(); i++) { + numbers[i].url_string = url_examples[i]; + ada::result url = ada::parse(url_examples[i]); + if (url) { + numbers[i].is_valid = true; + numbers[i].href = url->get_href(); + numbers[i].components = url->get_components(); + numbers[i].has_port = url->has_port(); + numbers[i].has_credentials = url->has_credentials(); + numbers[i].has_fragment = url->has_hash(); + numbers[i].has_search = url->has_search(); + } else { + numbers[i].is_valid = false; + } + } + volatile size_t href_size = 0; + for (size_t i = 0; i < trials; i++) { + for (stat_numbers &n : numbers) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + ada::result url = ada::parse(n.url_string); + if (url) { + href_size += url->get_href().size(); + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + n.counters << allocate_count; + } + } + return numbers; +} + +#ifdef ADA_URL_FILE +const char *default_file = ADA_URL_FILE; +#else +const char *default_file = nullptr; +#endif + +std::vector init_data(const char *input = default_file) { + std::vector input_urls; + if (input == nullptr) { + return input_urls; + } + + if (!file_exists(input)) { + std::cout << "File not found !" << input << std::endl; + return input_urls; + } else { + std::cout << "# Loading " << input << std::endl; + input_urls = split_string(read_file(input)); + } + return input_urls; +} + +void print(const stat_numbers &n) { + std::cout << std::setw(15) << n.url_string.size() << ","; + std::cout << std::setw(15) << n.counters.best.cycles() << "," << std::setw(15) + << size_t(n.counters.cycles()) << ","; + std::cout << std::setw(15) << n.counters.best.instructions() << "," + << std::setw(15) << n.counters.instructions() << ","; + std::cout << std::setw(15) << n.is_valid << ","; + + // hash size + + std::cout << std::setw(15) << n.href.size() << ","; + size_t end = n.href.size(); + if (n.components.hash_start != ada::url_components::omitted) { + std::cout << std::setw(15) << (end - n.components.hash_start) << ","; + end = n.components.hash_start; + } else { + std::cout << std::setw(15) << 0 << ","; + } + // search size + if (n.components.search_start != ada::url_components::omitted) { + std::cout << std::setw(15) << (end - n.components.search_start) << ","; + end = n.components.search_start; + } else { + std::cout << std::setw(15) << 0 << ","; + } + // path size + std::cout << std::setw(15) << (end - n.components.pathname_start) << ","; + end = n.components.pathname_start; + // port size + std::cout << std::setw(15) << (end - n.components.host_end) << ","; + end = n.components.host_end; + // host size + std::cout << std::setw(15) << (end - n.components.host_start) << ","; + end = n.components.host_start; + // user/pass size + std::cout << std::setw(15) << (end - n.components.protocol_end) << ","; + end = n.components.protocol_end; + // protocol type + ada::result url = + ada::parse(n.url_string); + if (url) { + std::cout << std::setw(15) << int(url->type); + } else { + std::cout << std::setw(15) << -1; + } + std::cout << ","; + std::cout << std::setw(15) << n.has_port << ","; + std::cout << std::setw(15) << n.has_credentials << ","; + std::cout << std::setw(15) << n.has_fragment << ","; + std::cout << std::setw(15) << n.has_search << ","; + std::cout << std::setw(15) + << (n.url_string.size() - count_ascii_bytes(n.url_string)) << ","; + std::cout << std::setw(15) << (n.href.size() - count_ascii_bytes(n.href)) + << ","; + std::cout << std::setw(15) + << (count_ascii_bytes(n.url_string) == n.url_string.size()) << ","; + std::cout << std::setw(15) << (n.href == n.url_string); +} +void print(const std::vector numbers) { + std::cout << std::setw(15) << "input_size" + << ","; + std::cout << std::setw(15) << "best_cycles" + << ","; + std::cout << std::setw(15) << "mean_cycles" + << ","; + std::cout << std::setw(15) << "best_instr" + << ","; + std::cout << std::setw(15) << "mean_instr" + << ","; + std::cout << std::setw(15) << "is_valid" + << ","; + std::cout << std::setw(15) << "href_size" + << ","; + std::cout << std::setw(15) << "hash_size" + << ","; + std::cout << std::setw(15) << "search_size" + << ","; + std::cout << std::setw(15) << "path_size" + << ","; + std::cout << std::setw(15) << "port_size" + << ","; + std::cout << std::setw(15) << "host_size" + << ","; + std::cout << std::setw(15) << "credential_size" + << ","; + std::cout << std::setw(15) << "protocol_type" + << ","; + std::cout << std::setw(15) << "has_port" + << ","; + std::cout << std::setw(15) << "has_authority" + << ","; + std::cout << std::setw(15) << "has_fragment" + << ","; + std::cout << std::setw(15) << "has_search" + << ","; + std::cout << std::setw(15) << "non_ascii_bytes" + << ","; + std::cout << std::setw(15) << "href_non_ascii_bytes" + << ","; + std::cout << std::setw(15) << "is_ascii" + << ","; + std::cout << std::setw(15) << "input_is_href"; + + std::cout << std::endl; + + for (const stat_numbers &n : numbers) { + print(n); + std::cout << std::endl; + } +} + +int main(int argc, char **argv) { + std::vector input_urls; + if (argc == 1) { + input_urls = init_data(); + } else { + input_urls = init_data(argv[1]); + } + if (input_urls.empty()) { + std::cout << "pass the path to a file containing a list of URL (one per " + "line) as a parameter." + << std::endl; + return EXIT_FAILURE; + } + if (!collector.has_events()) { + std::cout << "We require access to performance counters. (Try sudo.)" + << std::endl; + return EXIT_FAILURE; + } + std::string empty; + // We always start with a null URL for calibration. + input_urls.insert(input_urls.begin(), empty); + bool use_ada_url = (getenv("USE_URL") != nullptr); + size_t trials = 100; + std::cout << "# trials " << trials << std::endl; + if (use_ada_url) { + std::cout << "# ada::url" << std::endl; + print(collect_values(input_urls, trials)); + } else { + std::cout << "# ada::url_aggregator" << std::endl; + print(collect_values(input_urls, trials)); + } + + return EXIT_SUCCESS; +} diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/percent_encode.cpp nodejs-18.19.0+dfsg/ada/benchmarks/percent_encode.cpp --- nodejs-18.13.0+dfsg1/ada/benchmarks/percent_encode.cpp 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/percent_encode.cpp 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,266 @@ +#include + +#include "ada.h" +#include "ada/character_sets.h" +#include "ada/unicode.h" +#include "performancecounters/event_counter.h" +event_collector collector; +size_t N = 1000; + +#include + +std::string examples[] = {"á|", "other:9818274x1!!", + "ref=web-twc-ao-gbl-adsinfo&utm_source=twc&utm_", + "connect_timeout=10&application_name=myapp"}; + +void init_data() {} + +double examples_bytes = []() -> double { + size_t bytes{0}; + for (std::string& url_string : examples) { + bytes += url_string.size(); + } + return double(bytes); +}(); + +static void Fragment(benchmark::State& state) { + for (auto _ : state) { + for (std::string& url_string : examples) { + benchmark::DoNotOptimize(ada::unicode::percent_encode( + url_string, ada::character_sets::FRAGMENT_PERCENT_ENCODE)); + } + } + if (collector.has_events()) { + event_aggregate aggregate{}; + for (size_t i = 0; i < N; i++) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + for (std::string& url_string : examples) { + benchmark::DoNotOptimize(ada::unicode::percent_encode( + url_string, ada::character_sets::FRAGMENT_PERCENT_ENCODE)); + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + aggregate << allocate_count; + } + state.counters["instructions/url"] = + aggregate.best.instructions() / std::size(examples); + state.counters["instructions/cycle"] = + aggregate.total.instructions() / aggregate.total.cycles(); + state.counters["instructions/byte"] = + aggregate.best.instructions() / examples_bytes; + state.counters["GHz"] = + aggregate.total.cycles() / aggregate.total.elapsed_ns(); + } + state.counters["time/byte"] = benchmark::Counter( + examples_bytes, benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["time/url"] = + benchmark::Counter(double(std::size(examples)), + benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["speed"] = benchmark::Counter( + examples_bytes, benchmark::Counter::kIsIterationInvariantRate); + state.counters["url/s"] = + benchmark::Counter(double(std::size(examples)), + benchmark::Counter::kIsIterationInvariantRate); +} +BENCHMARK(Fragment); + +static void Query(benchmark::State& state) { + for (auto _ : state) { + for (std::string& url_string : examples) { + benchmark::DoNotOptimize(ada::unicode::percent_encode( + url_string, ada::character_sets::QUERY_PERCENT_ENCODE)); + } + } + if (collector.has_events()) { + event_aggregate aggregate{}; + for (size_t i = 0; i < N; i++) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + for (std::string& url_string : examples) { + benchmark::DoNotOptimize(ada::unicode::percent_encode( + url_string, ada::character_sets::QUERY_PERCENT_ENCODE)); + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + aggregate << allocate_count; + } + state.counters["instructions/url"] = + aggregate.best.instructions() / std::size(examples); + state.counters["instructions/cycle"] = + aggregate.total.instructions() / aggregate.total.cycles(); + state.counters["instructions/byte"] = + aggregate.best.instructions() / examples_bytes; + state.counters["GHz"] = + aggregate.total.cycles() / aggregate.total.elapsed_ns(); + } + state.counters["time/byte"] = benchmark::Counter( + examples_bytes, benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["time/url"] = + benchmark::Counter(double(std::size(examples)), + benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["speed"] = benchmark::Counter( + examples_bytes, benchmark::Counter::kIsIterationInvariantRate); + state.counters["url/s"] = + benchmark::Counter(double(std::size(examples)), + benchmark::Counter::kIsIterationInvariantRate); +} +BENCHMARK(Query); + +static void SpecialQuery(benchmark::State& state) { + for (auto _ : state) { + for (std::string& url_string : examples) { + benchmark::DoNotOptimize(ada::unicode::percent_encode( + url_string, ada::character_sets::FRAGMENT_PERCENT_ENCODE)); + } + } + if (collector.has_events()) { + event_aggregate aggregate{}; + for (size_t i = 0; i < N; i++) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + for (std::string& url_string : examples) { + benchmark::DoNotOptimize(ada::unicode::percent_encode( + url_string, ada::character_sets::SPECIAL_QUERY_PERCENT_ENCODE)); + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + aggregate << allocate_count; + } + state.counters["instructions/url"] = + aggregate.best.instructions() / std::size(examples); + state.counters["instructions/cycle"] = + aggregate.total.instructions() / aggregate.total.cycles(); + state.counters["instructions/byte"] = + aggregate.best.instructions() / examples_bytes; + state.counters["GHz"] = + aggregate.total.cycles() / aggregate.total.elapsed_ns(); + } + state.counters["time/byte"] = benchmark::Counter( + examples_bytes, benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["time/url"] = + benchmark::Counter(double(std::size(examples)), + benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["speed"] = benchmark::Counter( + examples_bytes, benchmark::Counter::kIsIterationInvariantRate); + state.counters["url/s"] = + benchmark::Counter(double(std::size(examples)), + benchmark::Counter::kIsIterationInvariantRate); +} +BENCHMARK(SpecialQuery); + +static void UserInfo(benchmark::State& state) { + for (auto _ : state) { + for (std::string& url_string : examples) { + benchmark::DoNotOptimize(ada::unicode::percent_encode( + url_string, ada::character_sets::USERINFO_PERCENT_ENCODE)); + } + } + if (collector.has_events()) { + event_aggregate aggregate{}; + for (size_t i = 0; i < N; i++) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + for (std::string& url_string : examples) { + benchmark::DoNotOptimize(ada::unicode::percent_encode( + url_string, ada::character_sets::USERINFO_PERCENT_ENCODE)); + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + aggregate << allocate_count; + } + state.counters["instructions/url"] = + aggregate.best.instructions() / std::size(examples); + state.counters["instructions/cycle"] = + aggregate.total.instructions() / aggregate.total.cycles(); + state.counters["instructions/byte"] = + aggregate.best.instructions() / examples_bytes; + state.counters["GHz"] = + aggregate.total.cycles() / aggregate.total.elapsed_ns(); + } + state.counters["time/byte"] = benchmark::Counter( + examples_bytes, benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["time/url"] = + benchmark::Counter(double(std::size(examples)), + benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["speed"] = benchmark::Counter( + examples_bytes, benchmark::Counter::kIsIterationInvariantRate); + state.counters["url/s"] = + benchmark::Counter(double(std::size(examples)), + benchmark::Counter::kIsIterationInvariantRate); +} +BENCHMARK(UserInfo); + +static void C0Control(benchmark::State& state) { + for (auto _ : state) { + for (std::string& url_string : examples) { + benchmark::DoNotOptimize(ada::unicode::percent_encode( + url_string, ada::character_sets::C0_CONTROL_PERCENT_ENCODE)); + } + } + if (collector.has_events()) { + event_aggregate aggregate{}; + for (size_t i = 0; i < N; i++) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + for (std::string& url_string : examples) { + benchmark::DoNotOptimize(ada::unicode::percent_encode( + url_string, ada::character_sets::C0_CONTROL_PERCENT_ENCODE)); + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + aggregate << allocate_count; + } + state.counters["instructions/url"] = + aggregate.best.instructions() / std::size(examples); + state.counters["instructions/cycle"] = + aggregate.total.instructions() / aggregate.total.cycles(); + state.counters["instructions/byte"] = + aggregate.best.instructions() / examples_bytes; + state.counters["GHz"] = + aggregate.total.cycles() / aggregate.total.elapsed_ns(); + } + state.counters["time/byte"] = benchmark::Counter( + examples_bytes, benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["time/url"] = + benchmark::Counter(double(std::size(examples)), + benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["speed"] = benchmark::Counter( + examples_bytes, benchmark::Counter::kIsIterationInvariantRate); + state.counters["url/s"] = + benchmark::Counter(double(std::size(examples)), + benchmark::Counter::kIsIterationInvariantRate); +} +BENCHMARK(C0Control); + +int main(int argc, char** argv) { +#if defined(ADA_RUST_VERSION) + benchmark::AddCustomContext("rust version ", ADA_RUST_VERSION); +#endif +#if (__APPLE__ && __aarch64__) || defined(__linux__) + if (!collector.has_events()) { + benchmark::AddCustomContext("performance counters", + "No privileged access (sudo may help)."); + } +#else + if (!collector.has_events()) { + benchmark::AddCustomContext("performance counters", "Unsupported system."); + } +#endif + if (collector.has_events()) { + benchmark::AddCustomContext("performance counters", "Enabled"); + } + benchmark::Initialize(&argc, argv); + benchmark::RunSpecifiedBenchmarks(); + benchmark::Shutdown(); +} diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/performancecounters/apple_arm_events.h nodejs-18.19.0+dfsg/ada/benchmarks/performancecounters/apple_arm_events.h --- nodejs-18.13.0+dfsg1/ada/benchmarks/performancecounters/apple_arm_events.h 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/performancecounters/apple_arm_events.h 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,1110 @@ +/* clang-format off */ + +// Original design from: +// ============================================================================= +// XNU kperf/kpc +// Available for 64-bit Intel/Apple Silicon, macOS/iOS, with root privileges +// +// References: +// +// XNU source (since xnu 2422.1.72): +// https://github.com/apple/darwin-xnu/blob/main/osfmk/kern/kpc.h +// https://github.com/apple/darwin-xnu/blob/main/bsd/kern/kern_kpc.c +// +// Lightweight PET (Profile Every Thread, since xnu 3789.1.32): +// https://github.com/apple/darwin-xnu/blob/main/osfmk/kperf/pet.c +// https://github.com/apple/darwin-xnu/blob/main/osfmk/kperf/kperf_kpc.c +// +// System Private frameworks (since macOS 10.11, iOS 8.0): +// /System/Library/PrivateFrameworks/kperf.framework +// /System/Library/PrivateFrameworks/kperfdata.framework +// +// Xcode framework (since Xcode 7.0): +// /Applications/Xcode.app/Contents/SharedFrameworks/DVTInstrumentsFoundation.framework +// +// CPU database (plist files) +// macOS (since macOS 10.11): +// /usr/share/kpep/.plist +// iOS (copied from Xcode, since iOS 10.0, Xcode 8.0): +// /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform +// /DeviceSupport//DeveloperDiskImage.dmg/usr/share/kpep/.plist +// +// +// Created by YaoYuan on 2021. +// Released into the public domain (unlicense.org). +// ============================================================================= + +#ifndef M1CYCLES_H +#define M1CYCLES_H + +#include +#include +#include +#include +#include + +#include // for dlopen() and dlsym() +#include // for mach_absolute_time() +#include // for kdebug trace decode +#include // for sysctl() +#include // for usleep() + +struct performance_counters { + double cycles; + double branches; + double missed_branches; + double instructions; + performance_counters(uint64_t c, uint64_t b, uint64_t m, uint64_t i) + : cycles(c), branches(b), missed_branches(m), instructions(i) {} + performance_counters(double c, double b, double m, double i) + : cycles(c), branches(b), missed_branches(m), instructions(i) {} + performance_counters(double init) + : cycles(init), + branches(init), + missed_branches(init), + instructions(init) {} + + inline performance_counters &operator-=(const performance_counters &other) { + cycles -= other.cycles; + branches -= other.branches; + missed_branches -= other.missed_branches; + instructions -= other.instructions; + return *this; + } + inline performance_counters &min(const performance_counters &other) { + cycles = other.cycles < cycles ? other.cycles : cycles; + branches = other.branches < branches ? other.branches : branches; + missed_branches = other.missed_branches < missed_branches + ? other.missed_branches + : missed_branches; + instructions = + other.instructions < instructions ? other.instructions : instructions; + return *this; + } + inline performance_counters &operator+=(const performance_counters &other) { + cycles += other.cycles; + branches += other.branches; + missed_branches += other.missed_branches; + instructions += other.instructions; + return *this; + } + + inline performance_counters &operator/=(double numerator) { + cycles /= numerator; + branches /= numerator; + missed_branches /= numerator; + instructions /= numerator; + return *this; + } +}; + +inline performance_counters operator-(const performance_counters &a, + const performance_counters &b) { + return performance_counters(a.cycles - b.cycles, a.branches - b.branches, + a.missed_branches - b.missed_branches, + a.instructions - b.instructions); +} + +typedef float f32; +typedef double f64; +typedef int8_t i8; +typedef uint8_t u8; +typedef int16_t i16; +typedef uint16_t u16; +typedef int32_t i32; +typedef uint32_t u32; +typedef int64_t i64; +typedef uint64_t u64; +typedef size_t usize; + +// ----------------------------------------------------------------------------- +// header (reverse engineered) +// This framework wraps some sysctl calls to communicate with the kpc in kernel. +// Most functions requires root privileges, or process is "blessed". +// ----------------------------------------------------------------------------- + +// Cross-platform class constants. +#define KPC_CLASS_FIXED (0) +#define KPC_CLASS_CONFIGURABLE (1) +#define KPC_CLASS_POWER (2) +#define KPC_CLASS_RAWPMU (3) + +// Cross-platform class mask constants. +#define KPC_CLASS_FIXED_MASK (1u << KPC_CLASS_FIXED) // 1 +#define KPC_CLASS_CONFIGURABLE_MASK (1u << KPC_CLASS_CONFIGURABLE) // 2 +#define KPC_CLASS_POWER_MASK (1u << KPC_CLASS_POWER) // 4 +#define KPC_CLASS_RAWPMU_MASK (1u << KPC_CLASS_RAWPMU) // 8 + +// PMU version constants. +#define KPC_PMU_ERROR (0) // Error +#define KPC_PMU_INTEL_V3 (1) // Intel +#define KPC_PMU_ARM_APPLE (2) // ARM64 +#define KPC_PMU_INTEL_V2 (3) // Old Intel +#define KPC_PMU_ARM_V2 (4) // Old ARM + +// The maximum number of counters we could read from every class in one go. +// ARMV7: FIXED: 1, CONFIGURABLE: 4 +// ARM32: FIXED: 2, CONFIGURABLE: 6 +// ARM64: FIXED: 2, CONFIGURABLE: CORE_NCTRS - FIXED (6 or 8) +// x86: 32 +#define KPC_MAX_COUNTERS 32 + +// Bits for defining what to do on an action. +// Defined in https://github.com/apple/darwin-xnu/blob/main/osfmk/kperf/action.h +#define KPERF_SAMPLER_TH_INFO (1U << 0) +#define KPERF_SAMPLER_TH_SNAPSHOT (1U << 1) +#define KPERF_SAMPLER_KSTACK (1U << 2) +#define KPERF_SAMPLER_USTACK (1U << 3) +#define KPERF_SAMPLER_PMC_THREAD (1U << 4) +#define KPERF_SAMPLER_PMC_CPU (1U << 5) +#define KPERF_SAMPLER_PMC_CONFIG (1U << 6) +#define KPERF_SAMPLER_MEMINFO (1U << 7) +#define KPERF_SAMPLER_TH_SCHEDULING (1U << 8) +#define KPERF_SAMPLER_TH_DISPATCH (1U << 9) +#define KPERF_SAMPLER_TK_SNAPSHOT (1U << 10) +#define KPERF_SAMPLER_SYS_MEM (1U << 11) +#define KPERF_SAMPLER_TH_INSCYC (1U << 12) +#define KPERF_SAMPLER_TK_INFO (1U << 13) + +// Maximum number of kperf action ids. +#define KPERF_ACTION_MAX (32) + +// Maximum number of kperf timer ids. +#define KPERF_TIMER_MAX (8) + +// x86/arm config registers are 64-bit +typedef u64 kpc_config_t; + +/// Print current CPU identification string to the buffer (same as snprintf), +/// such as "cpu_7_8_10b282dc_46". This string can be used to locate the PMC +/// database in /usr/share/kpep. +/// @return string's length, or negative value if error occurs. +/// @note This method does not requires root privileges. +/// @details sysctl get(hw.cputype), get(hw.cpusubtype), +/// get(hw.cpufamily), get(machdep.cpu.model) +static int (*kpc_cpu_string)(char *buf, usize buf_size); + +/// Get the version of KPC that's being run. +/// @return See `PMU version constants` above. +/// @details sysctl get(kpc.pmu_version) +static u32 (*kpc_pmu_version)(void); + +/// Get running PMC classes. +/// @return See `class mask constants` above, +/// 0 if error occurs or no class is set. +/// @details sysctl get(kpc.counting) +static u32 (*kpc_get_counting)(void); + +/// Set PMC classes to enable counting. +/// @param classes See `class mask constants` above, set 0 to shutdown counting. +/// @return 0 for success. +/// @details sysctl set(kpc.counting) +static int (*kpc_set_counting)(u32 classes); + +/// Get running PMC classes for current thread. +/// @return See `class mask constants` above, +/// 0 if error occurs or no class is set. +/// @details sysctl get(kpc.thread_counting) +static u32 (*kpc_get_thread_counting)(void); + +/// Set PMC classes to enable counting for current thread. +/// @param classes See `class mask constants` above, set 0 to shutdown counting. +/// @return 0 for success. +/// @details sysctl set(kpc.thread_counting) +static int (*kpc_set_thread_counting)(u32 classes); + +/// Get how many config registers there are for a given mask. +/// For example: Intel may returns 1 for `KPC_CLASS_FIXED_MASK`, +/// returns 4 for `KPC_CLASS_CONFIGURABLE_MASK`. +/// @param classes See `class mask constants` above. +/// @return 0 if error occurs or no class is set. +/// @note This method does not requires root privileges. +/// @details sysctl get(kpc.config_count) +static u32 (*kpc_get_config_count)(u32 classes); + +/// Get config registers. +/// @param classes see `class mask constants` above. +/// @param config Config buffer to receive values, should not smaller than +/// kpc_get_config_count(classes) * sizeof(kpc_config_t). +/// @return 0 for success. +/// @details sysctl get(kpc.config_count), get(kpc.config) +static int (*kpc_get_config)(u32 classes, kpc_config_t *config); + +/// Set config registers. +/// @param classes see `class mask constants` above. +/// @param config Config buffer, should not smaller than +/// kpc_get_config_count(classes) * sizeof(kpc_config_t). +/// @return 0 for success. +/// @details sysctl get(kpc.config_count), set(kpc.config) +static int (*kpc_set_config)(u32 classes, kpc_config_t *config); + +/// Get how many counters there are for a given mask. +/// For example: Intel may returns 3 for `KPC_CLASS_FIXED_MASK`, +/// returns 4 for `KPC_CLASS_CONFIGURABLE_MASK`. +/// @param classes See `class mask constants` above. +/// @note This method does not requires root privileges. +/// @details sysctl get(kpc.counter_count) +static u32 (*kpc_get_counter_count)(u32 classes); + +/// Get counter accumulations. +/// If `all_cpus` is true, the buffer count should not smaller than +/// (cpu_count * counter_count). Otherwise, the buffer count should not smaller +/// than (counter_count). +/// @see kpc_get_counter_count(), kpc_cpu_count(). +/// @param all_cpus true for all CPUs, false for current cpu. +/// @param classes See `class mask constants` above. +/// @param curcpu A pointer to receive current cpu id, can be NULL. +/// @param buf Buffer to receive counter's value. +/// @return 0 for success. +/// @details sysctl get(hw.ncpu), get(kpc.counter_count), get(kpc.counters) +static int (*kpc_get_cpu_counters)(bool all_cpus, u32 classes, int *curcpu, + u64 *buf); + +/// Get counter accumulations for current thread. +/// @param tid Thread id, should be 0. +/// @param buf_count The number of buf's elements (not bytes), +/// should not smaller than kpc_get_counter_count(). +/// @param buf Buffer to receive counter's value. +/// @return 0 for success. +/// @details sysctl get(kpc.thread_counters) +static int (*kpc_get_thread_counters)(u32 tid, u32 buf_count, u64 *buf); + +/// Acquire/release the counters used by the Power Manager. +/// @param val 1:acquire, 0:release +/// @return 0 for success. +/// @details sysctl set(kpc.force_all_ctrs) +static int (*kpc_force_all_ctrs_set)(int val); + +/// Get the state of all_ctrs. +/// @return 0 for success. +/// @details sysctl get(kpc.force_all_ctrs) +static int (*kpc_force_all_ctrs_get)(int *val_out); + +/// Set number of actions, should be `KPERF_ACTION_MAX`. +/// @details sysctl set(kperf.action.count) +static int (*kperf_action_count_set)(u32 count); + +/// Get number of actions. +/// @details sysctl get(kperf.action.count) +static int (*kperf_action_count_get)(u32 *count); + +/// Set what to sample when a trigger fires an action, e.g. +/// `KPERF_SAMPLER_PMC_CPU`. +/// @details sysctl set(kperf.action.samplers) +static int (*kperf_action_samplers_set)(u32 actionid, u32 sample); + +/// Get what to sample when a trigger fires an action. +/// @details sysctl get(kperf.action.samplers) +static int (*kperf_action_samplers_get)(u32 actionid, u32 *sample); + +/// Apply a task filter to the action, -1 to disable filter. +/// @details sysctl set(kperf.action.filter_by_task) +static int (*kperf_action_filter_set_by_task)(u32 actionid, i32 port); + +/// Apply a pid filter to the action, -1 to disable filter. +/// @details sysctl set(kperf.action.filter_by_pid) +static int (*kperf_action_filter_set_by_pid)(u32 actionid, i32 pid); + +/// Set number of time triggers, should be `KPERF_TIMER_MAX`. +/// @details sysctl set(kperf.timer.count) +static int (*kperf_timer_count_set)(u32 count); + +/// Get number of time triggers. +/// @details sysctl get(kperf.timer.count) +static int (*kperf_timer_count_get)(u32 *count); + +/// Set timer number and period. +/// @details sysctl set(kperf.timer.period) +static int (*kperf_timer_period_set)(u32 actionid, u64 tick); + +/// Get timer number and period. +/// @details sysctl get(kperf.timer.period) +static int (*kperf_timer_period_get)(u32 actionid, u64 *tick); + +/// Set timer number and actionid. +/// @details sysctl set(kperf.timer.action) +static int (*kperf_timer_action_set)(u32 actionid, u32 timerid); + +/// Get timer number and actionid. +/// @details sysctl get(kperf.timer.action) +static int (*kperf_timer_action_get)(u32 actionid, u32 *timerid); + +/// Set which timer ID does PET (Profile Every Thread). +/// @details sysctl set(kperf.timer.pet_timer) +static int (*kperf_timer_pet_set)(u32 timerid); + +/// Get which timer ID does PET (Profile Every Thread). +/// @details sysctl get(kperf.timer.pet_timer) +static int (*kperf_timer_pet_get)(u32 *timerid); + +/// Enable or disable sampling. +/// @details sysctl set(kperf.sampling) +static int (*kperf_sample_set)(u32 enabled); + +/// Get is currently sampling. +/// @details sysctl get(kperf.sampling) +static int (*kperf_sample_get)(u32 *enabled); + +/// Reset kperf: stop sampling, kdebug, timers and actions. +/// @return 0 for success. +static int (*kperf_reset)(void); + +/// Nanoseconds to CPU ticks. +static u64 (*kperf_ns_to_ticks)(u64 ns); + +/// CPU ticks to nanoseconds. +static u64 (*kperf_ticks_to_ns)(u64 ticks); + +/// CPU ticks frequency (mach_absolute_time). +static u64 (*kperf_tick_frequency)(void); + +/// Get lightweight PET mode (not in kperf.framework). +static int kperf_lightweight_pet_get(u32 *enabled) { + if (!enabled) return -1; + usize size = 4; + return sysctlbyname("kperf.lightweight_pet", enabled, &size, NULL, 0); +} + +/// Set lightweight PET mode (not in kperf.framework). +static int kperf_lightweight_pet_set(u32 enabled) { + return sysctlbyname("kperf.lightweight_pet", NULL, NULL, &enabled, 4); +} + +// ----------------------------------------------------------------------------- +// header (reverse engineered) +// This framework provides some functions to access the local CPU database. +// These functions do not require root privileges. +// ----------------------------------------------------------------------------- + +// KPEP CPU architecture constants. +#define KPEP_ARCH_I386 0 +#define KPEP_ARCH_X86_64 1 +#define KPEP_ARCH_ARM 2 +#define KPEP_ARCH_ARM64 3 + +/// KPEP event (size: 48/28 bytes on 64/32 bit OS) +typedef struct kpep_event { + const char *name; ///< Unique name of a event, such as "INST_RETIRED.ANY". + const char *description; ///< Description for this event. + const char *errata; ///< Errata, currently NULL. + const char *alias; ///< Alias name, such as "Instructions", "Cycles". + const char *fallback; ///< Fallback event name for fixed counter. + u32 mask; + u8 number; + u8 umask; + u8 reserved; + u8 is_fixed; +} kpep_event; + +/// KPEP database (size: 144/80 bytes on 64/32 bit OS) +typedef struct kpep_db { + const char *name; ///< Database name, such as "haswell". + const char *cpu_id; ///< Plist name, such as "cpu_7_8_10b282dc". + const char *marketing_name; ///< Marketing name, such as "Intel Haswell". + void *plist_data; ///< Plist data (CFDataRef), currently NULL. + void *event_map; ///< All events (CFDict). + kpep_event + *event_arr; ///< Event struct buffer (sizeof(kpep_event) * events_count). + kpep_event **fixed_event_arr; ///< Fixed counter events (sizeof(kpep_event *) + ///< * fixed_counter_count) + void *alias_map; ///< All aliases (CFDict). + usize reserved_1; + usize reserved_2; + usize reserved_3; + usize event_count; ///< All events count. + usize alias_count; + usize fixed_counter_count; + usize config_counter_count; + usize power_counter_count; + u32 architecture; ///< see `KPEP CPU architecture constants` above. + u32 fixed_counter_bits; + u32 config_counter_bits; + u32 power_counter_bits; +} kpep_db; + +/// KPEP config (size: 80/44 bytes on 64/32 bit OS) +typedef struct kpep_config { + kpep_db *db; + kpep_event **ev_arr; ///< (sizeof(kpep_event *) * counter_count), init NULL + usize *ev_map; ///< (sizeof(usize *) * counter_count), init 0 + usize *ev_idx; ///< (sizeof(usize *) * counter_count), init -1 + u32 *flags; ///< (sizeof(u32 *) * counter_count), init 0 + u64 *kpc_periods; ///< (sizeof(u64 *) * counter_count), init 0 + usize event_count; /// kpep_config_events_count() + usize counter_count; + u32 classes; ///< See `class mask constants` above. + u32 config_counter; + u32 power_counter; + u32 reserved; +} kpep_config; + +/// Error code for kpep_config_xxx() and kpep_db_xxx() functions. +typedef enum { + KPEP_CONFIG_ERROR_NONE = 0, + KPEP_CONFIG_ERROR_INVALID_ARGUMENT = 1, + KPEP_CONFIG_ERROR_OUT_OF_MEMORY = 2, + KPEP_CONFIG_ERROR_IO = 3, + KPEP_CONFIG_ERROR_BUFFER_TOO_SMALL = 4, + KPEP_CONFIG_ERROR_CUR_SYSTEM_UNKNOWN = 5, + KPEP_CONFIG_ERROR_DB_PATH_INVALID = 6, + KPEP_CONFIG_ERROR_DB_NOT_FOUND = 7, + KPEP_CONFIG_ERROR_DB_ARCH_UNSUPPORTED = 8, + KPEP_CONFIG_ERROR_DB_VERSION_UNSUPPORTED = 9, + KPEP_CONFIG_ERROR_DB_CORRUPT = 10, + KPEP_CONFIG_ERROR_EVENT_NOT_FOUND = 11, + KPEP_CONFIG_ERROR_CONFLICTING_EVENTS = 12, + KPEP_CONFIG_ERROR_COUNTERS_NOT_FORCED = 13, + KPEP_CONFIG_ERROR_EVENT_UNAVAILABLE = 14, + KPEP_CONFIG_ERROR_ERRNO = 15, + KPEP_CONFIG_ERROR_MAX +} kpep_config_error_code; + +/// Error description for kpep_config_error_code. +static const char *kpep_config_error_names[KPEP_CONFIG_ERROR_MAX] = { + "none", + "invalid argument", + "out of memory", + "I/O", + "buffer too small", + "current system unknown", + "database path invalid", + "database not found", + "database architecture unsupported", + "database version unsupported", + "database corrupt", + "event not found", + "conflicting events", + "all counters must be forced", + "event unavailable", + "check errno"}; + +/// Error description. +static const char *kpep_config_error_desc(int code) { + if (0 <= code && code < KPEP_CONFIG_ERROR_MAX) { + return kpep_config_error_names[code]; + } + return "unknown error"; +} + +/// Create a config. +/// @param db A kpep db, see kpep_db_create() +/// @param cfg_ptr A pointer to receive the new config. +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_config_create)(kpep_db *db, kpep_config **cfg_ptr); + +/// Free the config. +static void (*kpep_config_free)(kpep_config *cfg); + +/// Add an event to config. +/// @param cfg The config. +/// @param ev_ptr A event pointer. +/// @param flag 0: all, 1: user space only +/// @param err Error bitmap pointer, can be NULL. +/// If return value is `CONFLICTING_EVENTS`, this bitmap contains +/// the conflicted event indices, e.g. "1 << 2" means index 2. +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_config_add_event)(kpep_config *cfg, kpep_event **ev_ptr, + u32 flag, u32 *err); + +/// Remove event at index. +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_config_remove_event)(kpep_config *cfg, usize idx); + +/// Force all counters. +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_config_force_counters)(kpep_config *cfg); + +/// Get events count. +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_config_events_count)(kpep_config *cfg, usize *count_ptr); + +/// Get all event pointers. +/// @param buf A buffer to receive event pointers. +/// @param buf_size The buffer's size in bytes, should not smaller than +/// kpep_config_events_count() * sizeof(void *). +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_config_events)(kpep_config *cfg, kpep_event **buf, + usize buf_size); + +/// Get kpc register configs. +/// @param buf A buffer to receive kpc register configs. +/// @param buf_size The buffer's size in bytes, should not smaller than +/// kpep_config_kpc_count() * sizeof(kpc_config_t). +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_config_kpc)(kpep_config *cfg, kpc_config_t *buf, + usize buf_size); + +/// Get kpc register config count. +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_config_kpc_count)(kpep_config *cfg, usize *count_ptr); + +/// Get kpc classes. +/// @param classes See `class mask constants` above. +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_config_kpc_classes)(kpep_config *cfg, u32 *classes_ptr); + +/// Get the index mapping from event to counter. +/// @param buf A buffer to receive indexes. +/// @param buf_size The buffer's size in bytes, should not smaller than +/// kpep_config_events_count() * sizeof(kpc_config_t). +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_config_kpc_map)(kpep_config *cfg, usize *buf, usize buf_size); + +/// Open a kpep database file in "/usr/share/kpep/" or "/usr/local/share/kpep/". +/// @param name File name, for example "haswell", "cpu_100000c_1_92fb37c8". +/// Pass NULL for current CPU. +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_db_create)(const char *name, kpep_db **db_ptr); + +/// Free the kpep database. +static void (*kpep_db_free)(kpep_db *db); + +/// Get the database's name. +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_db_name)(kpep_db *db, const char **name); + +/// Get the event alias count. +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_db_aliases_count)(kpep_db *db, usize *count); + +/// Get all alias. +/// @param buf A buffer to receive all alias strings. +/// @param buf_size The buffer's size in bytes, +/// should not smaller than kpep_db_aliases_count() * sizeof(void *). +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_db_aliases)(kpep_db *db, const char **buf, usize buf_size); + +/// Get counters count for given classes. +/// @param classes 1: Fixed, 2: Configurable. +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_db_counters_count)(kpep_db *db, u8 classes, usize *count); + +/// Get all event count. +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_db_events_count)(kpep_db *db, usize *count); + +/// Get all events. +/// @param buf A buffer to receive all event pointers. +/// @param buf_size The buffer's size in bytes, +/// should not smaller than kpep_db_events_count() * sizeof(void *). +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_db_events)(kpep_db *db, kpep_event **buf, usize buf_size); + +/// Get one event by name. +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_db_event)(kpep_db *db, const char *name, kpep_event **ev_ptr); + +/// Get event's name. +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_event_name)(kpep_event *ev, const char **name_ptr); + +/// Get event's alias. +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_event_alias)(kpep_event *ev, const char **alias_ptr); + +/// Get event's description. +/// @return kpep_config_error_code, 0 for success. +static int (*kpep_event_description)(kpep_event *ev, const char **str_ptr); + +// ----------------------------------------------------------------------------- +// load kperf/kperfdata dynamic library +// ----------------------------------------------------------------------------- + +typedef struct { + const char *name; + void **impl; +} lib_symbol; + +#define lib_nelems(x) (sizeof(x) / sizeof((x)[0])) +#define lib_symbol_def(name) \ + { #name, (void **)&name } + +static const lib_symbol lib_symbols_kperf[] = { + lib_symbol_def(kpc_pmu_version), + lib_symbol_def(kpc_cpu_string), + lib_symbol_def(kpc_set_counting), + lib_symbol_def(kpc_get_counting), + lib_symbol_def(kpc_set_thread_counting), + lib_symbol_def(kpc_get_thread_counting), + lib_symbol_def(kpc_get_config_count), + lib_symbol_def(kpc_get_counter_count), + lib_symbol_def(kpc_set_config), + lib_symbol_def(kpc_get_config), + lib_symbol_def(kpc_get_cpu_counters), + lib_symbol_def(kpc_get_thread_counters), + lib_symbol_def(kpc_force_all_ctrs_set), + lib_symbol_def(kpc_force_all_ctrs_get), + lib_symbol_def(kperf_action_count_set), + lib_symbol_def(kperf_action_count_get), + lib_symbol_def(kperf_action_samplers_set), + lib_symbol_def(kperf_action_samplers_get), + lib_symbol_def(kperf_action_filter_set_by_task), + lib_symbol_def(kperf_action_filter_set_by_pid), + lib_symbol_def(kperf_timer_count_set), + lib_symbol_def(kperf_timer_count_get), + lib_symbol_def(kperf_timer_period_set), + lib_symbol_def(kperf_timer_period_get), + lib_symbol_def(kperf_timer_action_set), + lib_symbol_def(kperf_timer_action_get), + lib_symbol_def(kperf_sample_set), + lib_symbol_def(kperf_sample_get), + lib_symbol_def(kperf_reset), + lib_symbol_def(kperf_timer_pet_set), + lib_symbol_def(kperf_timer_pet_get), + lib_symbol_def(kperf_ns_to_ticks), + lib_symbol_def(kperf_ticks_to_ns), + lib_symbol_def(kperf_tick_frequency), +}; + +static const lib_symbol lib_symbols_kperfdata[] = { + lib_symbol_def(kpep_config_create), + lib_symbol_def(kpep_config_free), + lib_symbol_def(kpep_config_add_event), + lib_symbol_def(kpep_config_remove_event), + lib_symbol_def(kpep_config_force_counters), + lib_symbol_def(kpep_config_events_count), + lib_symbol_def(kpep_config_events), + lib_symbol_def(kpep_config_kpc), + lib_symbol_def(kpep_config_kpc_count), + lib_symbol_def(kpep_config_kpc_classes), + lib_symbol_def(kpep_config_kpc_map), + lib_symbol_def(kpep_db_create), + lib_symbol_def(kpep_db_free), + lib_symbol_def(kpep_db_name), + lib_symbol_def(kpep_db_aliases_count), + lib_symbol_def(kpep_db_aliases), + lib_symbol_def(kpep_db_counters_count), + lib_symbol_def(kpep_db_events_count), + lib_symbol_def(kpep_db_events), + lib_symbol_def(kpep_db_event), + lib_symbol_def(kpep_event_name), + lib_symbol_def(kpep_event_alias), + lib_symbol_def(kpep_event_description), +}; + +#define lib_path_kperf "/System/Library/PrivateFrameworks/kperf.framework/kperf" +#define lib_path_kperfdata \ + "/System/Library/PrivateFrameworks/kperfdata.framework/kperfdata" + +static bool lib_inited = false; +static bool lib_has_err = false; +static char lib_err_msg[256]; + +static void *lib_handle_kperf = NULL; +static void *lib_handle_kperfdata = NULL; + +static void lib_deinit(void) { + lib_inited = false; + lib_has_err = false; + if (lib_handle_kperf) dlclose(lib_handle_kperf); + if (lib_handle_kperfdata) dlclose(lib_handle_kperfdata); + lib_handle_kperf = NULL; + lib_handle_kperfdata = NULL; + for (usize i = 0; i < lib_nelems(lib_symbols_kperf); i++) { + const lib_symbol *symbol = &lib_symbols_kperf[i]; + *symbol->impl = NULL; + } + for (usize i = 0; i < lib_nelems(lib_symbols_kperfdata); i++) { + const lib_symbol *symbol = &lib_symbols_kperfdata[i]; + *symbol->impl = NULL; + } +} + +static bool lib_init(void) { +#define return_err() \ + do { \ + lib_deinit(); \ + lib_inited = true; \ + lib_has_err = true; \ + return false; \ + } while (false) + + if (lib_inited) return !lib_has_err; + + // load dynamic library + lib_handle_kperf = dlopen(lib_path_kperf, RTLD_LAZY); + if (!lib_handle_kperf) { + snprintf(lib_err_msg, sizeof(lib_err_msg), + "Failed to load kperf.framework, message: %s.", dlerror()); + return_err(); + } + lib_handle_kperfdata = dlopen(lib_path_kperfdata, RTLD_LAZY); + if (!lib_handle_kperfdata) { + snprintf(lib_err_msg, sizeof(lib_err_msg), + "Failed to load kperfdata.framework, message: %s.", dlerror()); + return_err(); + } + + // load symbol address from dynamic library + for (usize i = 0; i < lib_nelems(lib_symbols_kperf); i++) { + const lib_symbol *symbol = &lib_symbols_kperf[i]; + *symbol->impl = dlsym(lib_handle_kperf, symbol->name); + if (!*symbol->impl) { + snprintf(lib_err_msg, sizeof(lib_err_msg), + "Failed to load kperf function: %s.", symbol->name); + return_err(); + } + } + for (usize i = 0; i < lib_nelems(lib_symbols_kperfdata); i++) { + const lib_symbol *symbol = &lib_symbols_kperfdata[i]; + *symbol->impl = dlsym(lib_handle_kperfdata, symbol->name); + if (!*symbol->impl) { + snprintf(lib_err_msg, sizeof(lib_err_msg), + "Failed to load kperfdata function: %s.", symbol->name); + return_err(); + } + } + + lib_inited = true; + lib_has_err = false; + return true; + +#undef return_err +} + +// ----------------------------------------------------------------------------- +// kdebug private structs +// https://github.com/apple/darwin-xnu/blob/main/bsd/sys_private/kdebug_private.h +// ----------------------------------------------------------------------------- + +/* + * Ensure that both LP32 and LP64 variants of arm64 use the same kd_buf + * structure. + */ +#if defined(__arm64__) +typedef uint64_t kd_buf_argtype; +#else +typedef uintptr_t kd_buf_argtype; +#endif + +typedef struct { + uint64_t timestamp; + kd_buf_argtype arg1; + kd_buf_argtype arg2; + kd_buf_argtype arg3; + kd_buf_argtype arg4; + kd_buf_argtype arg5; /* the thread ID */ + uint32_t debugid; /* see */ + +/* + * Ensure that both LP32 and LP64 variants of arm64 use the same kd_buf + * structure. + */ +#if defined(__LP64__) || defined(__arm64__) + uint32_t cpuid; /* cpu index, from 0 */ + kd_buf_argtype unused; +#endif +} kd_buf; + +/* bits for the type field of kd_regtype */ +#define KDBG_CLASSTYPE 0x10000 +#define KDBG_SUBCLSTYPE 0x20000 +#define KDBG_RANGETYPE 0x40000 +#define KDBG_TYPENONE 0x80000 +#define KDBG_CKTYPES 0xF0000 + +/* only trace at most 4 types of events, at the code granularity */ +#define KDBG_VALCHECK 0x00200000U + +typedef struct { + unsigned int type; + unsigned int value1; + unsigned int value2; + unsigned int value3; + unsigned int value4; +} kd_regtype; + +typedef struct { + /* number of events that can fit in the buffers */ + int nkdbufs; + /* set if trace is disabled */ + int nolog; + /* kd_ctrl_page.flags */ + unsigned int flags; + /* number of threads in thread map */ + int nkdthreads; + /* the owning pid */ + int bufid; +} kbufinfo_t; + +// ----------------------------------------------------------------------------- +// kdebug utils +// ----------------------------------------------------------------------------- + +/// Clean up trace buffers and reset ktrace/kdebug/kperf. +/// @return 0 on success. +static int kdebug_reset(void) { + int mib[3] = {CTL_KERN, KERN_KDEBUG, KERN_KDREMOVE}; + return sysctl(mib, 3, NULL, NULL, NULL, 0); +} + +/// Disable and reinitialize the trace buffers. +/// @return 0 on success. +static int kdebug_reinit(void) { + int mib[3] = {CTL_KERN, KERN_KDEBUG, KERN_KDSETUP}; + return sysctl(mib, 3, NULL, NULL, NULL, 0); +} + +/// Set debug filter. +static int kdebug_setreg(kd_regtype *kdr) { + int mib[3] = {CTL_KERN, KERN_KDEBUG, KERN_KDSETREG}; + usize size = sizeof(kd_regtype); + return sysctl(mib, 3, kdr, &size, NULL, 0); +} + +/// Set maximum number of trace entries (kd_buf). +/// Only allow allocation up to half the available memory (sane_size). +/// @return 0 on success. +static int kdebug_trace_setbuf(int nbufs) { + int mib[4] = {CTL_KERN, KERN_KDEBUG, KERN_KDSETBUF, nbufs}; + return sysctl(mib, 4, NULL, NULL, NULL, 0); +} + +/// Enable or disable kdebug trace. +/// Trace buffer must already be initialized. +/// @return 0 on success. +static int kdebug_trace_enable(bool enable) { + int mib[4] = {CTL_KERN, KERN_KDEBUG, KERN_KDENABLE, enable}; + return sysctl(mib, 4, NULL, 0, NULL, 0); +} + +/// Retrieve trace buffer information from kernel. +/// @return 0 on success. +static int kdebug_get_bufinfo(kbufinfo_t *info) { + if (!info) return -1; + int mib[3] = {CTL_KERN, KERN_KDEBUG, KERN_KDGETBUF}; + size_t needed = sizeof(kbufinfo_t); + return sysctl(mib, 3, info, &needed, NULL, 0); +} + +/// Retrieve trace buffers from kernel. +/// @param buf Memory to receive buffer data, array of `kd_buf`. +/// @param len Length of `buf` in bytes. +/// @param count Number of trace entries (kd_buf) obtained. +/// @return 0 on success. +static int kdebug_trace_read(void *buf, usize len, usize *count) { + if (count) *count = 0; + if (!buf || !len) return -1; + + // Note: the input and output units are not the same. + // input: bytes + // output: number of kd_buf + int mib[3] = {CTL_KERN, KERN_KDEBUG, KERN_KDREADTR}; + int ret = sysctl(mib, 3, buf, &len, NULL, 0); + if (ret != 0) return ret; + *count = len; + return 0; +} + +/// Block until there are new buffers filled or `timeout_ms` have passed. +/// @param timeout_ms timeout milliseconds, 0 means wait forever. +/// @param suc set true if new buffers filled. +/// @return 0 on success. +static int kdebug_wait(usize timeout_ms, bool *suc) { + if (timeout_ms == 0) return -1; + int mib[3] = {CTL_KERN, KERN_KDEBUG, KERN_KDBUFWAIT}; + usize val = timeout_ms; + int ret = sysctl(mib, 3, NULL, &val, NULL, 0); + if (suc) *suc = !!val; + return ret; +} + +// ----------------------------------------------------------------------------- +// Demo +// ----------------------------------------------------------------------------- + +#define EVENT_NAME_MAX 8 +typedef struct { + const char *alias; /// name for print + const char *names[EVENT_NAME_MAX]; /// name from pmc db +} event_alias; + +/// Event names from /usr/share/kpep/.plist +static const event_alias profile_events[] = { + {"cycles", + { + "FIXED_CYCLES", // Apple A7-A15 + "CPU_CLK_UNHALTED.THREAD", // Intel Core 1th-10th + "CPU_CLK_UNHALTED.CORE", // Intel Yonah, Merom + }}, + {"instructions", + { + "FIXED_INSTRUCTIONS", // Apple A7-A15 + "INST_RETIRED.ANY" // Intel Yonah, Merom, Core 1th-10th + }}, + {"branches", + { + "INST_BRANCH", // Apple A7-A15 + "BR_INST_RETIRED.ALL_BRANCHES", // Intel Core 1th-10th + "INST_RETIRED.ANY", // Intel Yonah, Merom + }}, + {"branch-misses", + { + "BRANCH_MISPRED_NONSPEC", // Apple A7-A15, since iOS 15, macOS 12 + "BRANCH_MISPREDICT", // Apple A7-A14 + "BR_MISP_RETIRED.ALL_BRANCHES", // Intel Core 2th-10th + "BR_INST_RETIRED.MISPRED", // Intel Yonah, Merom + }}, +}; + +static kpep_event *get_event(kpep_db *db, const event_alias *alias) { + for (usize j = 0; j < EVENT_NAME_MAX; j++) { + const char *name = alias->names[j]; + if (!name) break; + kpep_event *ev = NULL; + if (kpep_db_event(db, name, &ev) == 0) { + return ev; + } + } + return NULL; +} + +struct AppleEvents { + kpc_config_t regs[KPC_MAX_COUNTERS] = {0}; + usize counter_map[KPC_MAX_COUNTERS] = {0}; + u64 counters_0[KPC_MAX_COUNTERS] = {0}; + u64 counters_1[KPC_MAX_COUNTERS] = {0}; + static constexpr usize ev_count = + sizeof(profile_events) / sizeof(profile_events[0]); + bool init = false; + bool worked = false; + inline bool setup_performance_counters() { + if (init) { + return worked; + } + init = true; + + // load dylib + if (!lib_init()) { + printf("Error: %s\n", lib_err_msg); + return (worked = false); + } + + // check permission + int force_ctrs = 0; + if (kpc_force_all_ctrs_get(&force_ctrs)) { + printf("Permission denied, xnu/kpc requires root privileges.\n"); + return (worked = false); + } + int ret; + // load pmc db + kpep_db *db = NULL; + if ((ret = kpep_db_create(NULL, &db))) { + printf("Error: cannot load pmc database: %d.\n", ret); + return (worked = false); + } + printf("loaded db: %s (%s)\n", db->name, db->marketing_name); + // printf("number of fixed counters: %zu\n", db->fixed_counter_count); + // printf("number of configurable counters: %zu\n", + // db->config_counter_count); + + // create a config + kpep_config *cfg = NULL; + if ((ret = kpep_config_create(db, &cfg))) { + printf("Failed to create kpep config: %d (%s).\n", ret, + kpep_config_error_desc(ret)); + return (worked = false); + } + if ((ret = kpep_config_force_counters(cfg))) { + printf("Failed to force counters: %d (%s).\n", ret, + kpep_config_error_desc(ret)); + return (worked = false); + } + + // get events + kpep_event *ev_arr[ev_count] = {0}; + for (usize i = 0; i < ev_count; i++) { + const event_alias *alias = profile_events + i; + ev_arr[i] = get_event(db, alias); + if (!ev_arr[i]) { + printf("Cannot find event: %s.\n", alias->alias); + return (worked = false); + } + } + + // add event to config + for (usize i = 0; i < ev_count; i++) { + kpep_event *ev = ev_arr[i]; + if ((ret = kpep_config_add_event(cfg, &ev, 0, NULL))) { + printf("Failed to add event: %d (%s).\n", ret, + kpep_config_error_desc(ret)); + return (worked = false); + } + } + + // prepare buffer and config + u32 classes = 0; + usize reg_count = 0; + if ((ret = kpep_config_kpc_classes(cfg, &classes))) { + printf("Failed get kpc classes: %d (%s).\n", ret, + kpep_config_error_desc(ret)); + return (worked = false); + } + if ((ret = kpep_config_kpc_count(cfg, ®_count))) { + printf("Failed get kpc count: %d (%s).\n", ret, + kpep_config_error_desc(ret)); + return (worked = false); + } + if ((ret = kpep_config_kpc_map(cfg, counter_map, sizeof(counter_map)))) { + printf("Failed get kpc map: %d (%s).\n", ret, + kpep_config_error_desc(ret)); + return (worked = false); + } + if ((ret = kpep_config_kpc(cfg, regs, sizeof(regs)))) { + printf("Failed get kpc registers: %d (%s).\n", ret, + kpep_config_error_desc(ret)); + return (worked = false); + } + + // set config to kernel + if ((ret = kpc_force_all_ctrs_set(1))) { + printf("Failed force all ctrs: %d.\n", ret); + return (worked = false); + } + if ((classes & KPC_CLASS_CONFIGURABLE_MASK) && reg_count) { + if ((ret = kpc_set_config(classes, regs))) { + printf("Failed set kpc config: %d.\n", ret); + return (worked = false); + } + } + + // start counting + if ((ret = kpc_set_counting(classes))) { + printf("Failed set counting: %d.\n", ret); + return (worked = false); + } + if ((ret = kpc_set_thread_counting(classes))) { + printf("Failed set thread counting: %d.\n", ret); + return (worked = false); + } + + return (worked = true); + } + + inline performance_counters get_counters() { + static bool warned = false; + int ret; + // get counters before + if ((ret = kpc_get_thread_counters(0, KPC_MAX_COUNTERS, counters_0))) { + if (!warned) { + printf("Failed get thread counters before: %d.\n", ret); + warned = true; + } + return 1; + } + /* + // We could print it out this way if we wanted to: + printf("counters value:\n"); + for (usize i = 0; i < ev_count; i++) { + const event_alias *alias = profile_events + i; + usize idx = counter_map[i]; + u64 val = counters_1[idx] - counters_0[idx]; + printf("%14s: %llu\n", alias->alias, val); + }*/ + return performance_counters{ + counters_0[counter_map[0]], counters_0[counter_map[3]], + counters_0[counter_map[2]], counters_0[counter_map[1]]}; + } +}; + +#endif diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/performancecounters/event_counter.h nodejs-18.19.0+dfsg/ada/benchmarks/performancecounters/event_counter.h --- nodejs-18.13.0+dfsg1/ada/benchmarks/performancecounters/event_counter.h 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/performancecounters/event_counter.h 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,150 @@ +#ifndef __EVENT_COUNTER_H +#define __EVENT_COUNTER_H + +#include +#ifndef _MSC_VER +#include +#endif +#include + +#include + +#include +#include + +#include "linux-perf-events.h" +#ifdef __linux__ +#include +#endif + +#if __APPLE__ && __aarch64__ +#include "apple_arm_events.h" +#endif + +struct event_count { + std::chrono::duration elapsed; + std::vector event_counts; + event_count() : elapsed(0), event_counts{0, 0, 0, 0, 0} {} + event_count(const std::chrono::duration _elapsed, + const std::vector _event_counts) + : elapsed(_elapsed), event_counts(_event_counts) {} + event_count(const event_count& other) + : elapsed(other.elapsed), event_counts(other.event_counts) {} + + // The types of counters (so we can read the getter more easily) + enum event_counter_types { + CPU_CYCLES, + INSTRUCTIONS, + }; + + double elapsed_sec() const { + return std::chrono::duration(elapsed).count(); + } + double elapsed_ns() const { + return std::chrono::duration(elapsed).count(); + } + double cycles() const { + return static_cast(event_counts[CPU_CYCLES]); + } + double instructions() const { + return static_cast(event_counts[INSTRUCTIONS]); + } + + event_count& operator=(const event_count& other) { + this->elapsed = other.elapsed; + this->event_counts = other.event_counts; + return *this; + } + event_count operator+(const event_count& other) const { + return event_count(elapsed + other.elapsed, + { + event_counts[0] + other.event_counts[0], + event_counts[1] + other.event_counts[1], + event_counts[2] + other.event_counts[2], + event_counts[3] + other.event_counts[3], + event_counts[4] + other.event_counts[4], + }); + } + + void operator+=(const event_count& other) { *this = *this + other; } +}; + +struct event_aggregate { + bool has_events = false; + int iterations = 0; + event_count total{}; + event_count best{}; + event_count worst{}; + + event_aggregate() = default; + + void operator<<(const event_count& other) { + if (iterations == 0 || other.elapsed < best.elapsed) { + best = other; + } + if (iterations == 0 || other.elapsed > worst.elapsed) { + worst = other; + } + iterations++; + total += other; + } + + double elapsed_sec() const { return total.elapsed_sec() / iterations; } + double elapsed_ns() const { return total.elapsed_ns() / iterations; } + double cycles() const { return total.cycles() / iterations; } + double instructions() const { return total.instructions() / iterations; } +}; + +struct event_collector { + event_count count{}; + std::chrono::time_point start_clock{}; + +#if defined(__linux__) + LinuxEvents linux_events; + event_collector() + : linux_events(std::vector{ + PERF_COUNT_HW_CPU_CYCLES, + PERF_COUNT_HW_INSTRUCTIONS, + }) {} + bool has_events() { return linux_events.is_working(); } +#elif __APPLE__ && __aarch64__ + AppleEvents apple_events; + performance_counters diff; + event_collector() : diff(0) { apple_events.setup_performance_counters(); } + bool has_events() { return apple_events.setup_performance_counters(); } +#else + event_collector() {} + bool has_events() { return false; } +#endif + + inline void start() { +#if defined(__linux) + linux_events.start(); +#elif __APPLE__ && __aarch64__ + if (has_events()) { + diff = apple_events.get_counters(); + } +#endif + start_clock = std::chrono::steady_clock::now(); + } + inline event_count& end() { + const auto end_clock = std::chrono::steady_clock::now(); +#if defined(__linux) + linux_events.end(count.event_counts); +#elif __APPLE__ && __aarch64__ + if (has_events()) { + performance_counters end = apple_events.get_counters(); + diff = end - diff; + } + count.event_counts[0] = diff.cycles; + count.event_counts[1] = diff.instructions; + count.event_counts[2] = diff.missed_branches; + count.event_counts[3] = 0; + count.event_counts[4] = diff.branches; +#endif + count.elapsed = end_clock - start_clock; + return count; + } +}; + +#endif diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/performancecounters/linux-perf-events.h nodejs-18.19.0+dfsg/ada/benchmarks/performancecounters/linux-perf-events.h --- nodejs-18.13.0+dfsg1/ada/benchmarks/performancecounters/linux-perf-events.h 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/performancecounters/linux-perf-events.h 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,105 @@ +#pragma once +#ifdef __linux__ + +#include // for __NR_perf_event_open +#include // for perf event constants +#include // for ioctl +#include // for syscall + +#include // for errno +#include // for memset +#include + +#include +#include + +template +class LinuxEvents { + int fd; + bool working; + perf_event_attr attribs{}; + size_t num_events{}; + std::vector temp_result_vec{}; + std::vector ids{}; + + public: + explicit LinuxEvents(std::vector config_vec) : fd(0), working(true) { + memset(&attribs, 0, sizeof(attribs)); + attribs.type = TYPE; + attribs.size = sizeof(attribs); + attribs.disabled = 1; + attribs.exclude_kernel = 1; + attribs.exclude_hv = 1; + + attribs.sample_period = 0; + attribs.read_format = PERF_FORMAT_GROUP | PERF_FORMAT_ID; + const int pid = 0; // the current process + const int cpu = -1; // all CPUs + const unsigned long flags = 0; + + int group = -1; // no group + num_events = config_vec.size(); + ids.resize(config_vec.size()); + uint32_t i = 0; + for (auto config : config_vec) { + attribs.config = config; + int _fd = static_cast( + syscall(__NR_perf_event_open, &attribs, pid, cpu, group, flags)); + if (_fd == -1) { + report_error("perf_event_open"); + } + ioctl(_fd, PERF_EVENT_IOC_ID, &ids[i++]); + if (group == -1) { + group = _fd; + fd = _fd; + } + } + + temp_result_vec.resize(num_events * 2 + 1); + } + + ~LinuxEvents() { + if (fd != -1) { + close(fd); + } + } + + inline void start() { + if (fd != -1) { + if (ioctl(fd, PERF_EVENT_IOC_RESET, PERF_IOC_FLAG_GROUP) == -1) { + report_error("ioctl(PERF_EVENT_IOC_RESET)"); + } + + if (ioctl(fd, PERF_EVENT_IOC_ENABLE, PERF_IOC_FLAG_GROUP) == -1) { + report_error("ioctl(PERF_EVENT_IOC_ENABLE)"); + } + } + } + + inline void end(std::vector &results) { + if (fd != -1) { + if (ioctl(fd, PERF_EVENT_IOC_DISABLE, PERF_IOC_FLAG_GROUP) == -1) { + report_error("ioctl(PERF_EVENT_IOC_DISABLE)"); + } + + if (read(fd, temp_result_vec.data(), temp_result_vec.size() * 8) == -1) { + report_error("read"); + } + } + // our actual results are in slots 1,3,5, ... of this structure + for (uint32_t i = 1; i < temp_result_vec.size(); i += 2) { + results[i / 2] = temp_result_vec[i]; + } + for (uint32_t i = 2; i < temp_result_vec.size(); i += 2) { + if (ids[i / 2 - 1] != temp_result_vec[i]) { + report_error("event mismatch"); + } + } + } + + bool is_working() { return working; } + + private: + void report_error(const std::string &) { working = false; } +}; +#endif \ No newline at end of file diff -Nru nodejs-18.13.0+dfsg1/ada/benchmarks/wpt_bench.cpp nodejs-18.19.0+dfsg/ada/benchmarks/wpt_bench.cpp --- nodejs-18.13.0+dfsg1/ada/benchmarks/wpt_bench.cpp 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/benchmarks/wpt_bench.cpp 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,227 @@ +#include "benchmark_header.h" +#include "simdjson.h" + +using namespace simdjson; + +double url_examples_bytes{}; + +std::vector> url_examples; + +size_t init_data(const char *source) { + ondemand::parser parser; + std::vector> answer; + + if (!file_exists(source)) { + return 0; + } + padded_string json = padded_string::load(source); + ondemand::document doc = parser.iterate(json); + for (auto element : doc.get_array()) { + if (element.type() == ondemand::json_type::object) { + std::string_view input; + if (element["input"].get_string(true).get(input) != simdjson::SUCCESS) { + printf("missing input.\n"); + } + std::string_view base; + if (element["base"].get_string(true).get(base) != simdjson::SUCCESS) { + } + url_examples.push_back({std::string(input), std::string(base)}); + url_examples_bytes += input.size() + base.size(); + } + } + return url_examples.size(); +} + +template +static void BasicBench_AdaURL(benchmark::State &state) { + // volatile to prevent optimizations. + volatile size_t href_size = 0; + + for (auto _ : state) { + for (const std::pair &url_strings : + url_examples) { + ada::result base; + result *base_ptr = nullptr; + if (!url_strings.second.empty()) { + base = ada::parse(url_strings.second); + if (base) { + base_ptr = &*base; + } else { + continue; + } + } + auto url = ada::parse(url_strings.first, base_ptr); + if (url) { + href_size += url->get_href().size(); + } + } + } + if (collector.has_events()) { + event_aggregate aggregate{}; + for (size_t i = 0; i < N; i++) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + for (const std::pair &url_strings : + url_examples) { + ada::result base; + result *base_ptr = nullptr; + if (!url_strings.second.empty()) { + base = ada::parse(url_strings.second); + if (base) { + base_ptr = &*base; + } else { + continue; + } + } + auto url = ada::parse(url_strings.first, base_ptr); + if (url) { + href_size += url->get_href().size(); + } + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + aggregate << allocate_count; + } + state.counters["cycles/url"] = + aggregate.best.cycles() / std::size(url_examples); + state.counters["instructions/url"] = + aggregate.best.instructions() / std::size(url_examples); + state.counters["instructions/cycle"] = + aggregate.best.instructions() / aggregate.best.cycles(); + state.counters["instructions/byte"] = + aggregate.best.instructions() / url_examples_bytes; + state.counters["instructions/ns"] = + aggregate.best.instructions() / aggregate.best.elapsed_ns(); + state.counters["GHz"] = + aggregate.best.cycles() / aggregate.best.elapsed_ns(); + state.counters["ns/url"] = + aggregate.best.elapsed_ns() / std::size(url_examples); + state.counters["cycle/byte"] = aggregate.best.cycles() / url_examples_bytes; + } + state.counters["time/byte"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["time/url"] = + benchmark::Counter(double(std::size(url_examples)), + benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["speed"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate); + state.counters["url/s"] = + benchmark::Counter(double(std::size(url_examples)), + benchmark::Counter::kIsIterationInvariantRate); +} +auto BasicBench_AdaURL_url = BasicBench_AdaURL; +BENCHMARK(BasicBench_AdaURL_url); +auto BasicBench_AdaURL_url_aggregator = BasicBench_AdaURL; +BENCHMARK(BasicBench_AdaURL_url_aggregator); + +#if ADA_url_whatwg_ENABLED + +#include + +static void BasicBench_whatwg(benchmark::State &state) { + volatile size_t success{}; + for (auto _ : state) { + for (const std::pair &url_strings : + url_examples) { + upa::url base; + upa::url *base_ptr = nullptr; + if (!url_strings.second.empty()) { + if (upa::success(base.parse(url_strings.second, nullptr))) { + base_ptr = &base; + } + } + upa::url url; + if (upa::success(url.parse(url_strings.first, base_ptr))) { + success++; + } + } + } + if (collector.has_events()) { + event_aggregate aggregate{}; + for (size_t i = 0; i < N; i++) { + std::atomic_thread_fence(std::memory_order_acquire); + collector.start(); + for (const std::pair &url_strings : + url_examples) { + upa::url base; + upa::url *base_ptr = nullptr; + if (!url_strings.second.empty()) { + if (upa::success(base.parse(url_strings.second, nullptr))) { + base_ptr = &base; + } + } + upa::url url; + if (upa::success(url.parse(url_strings.first, base_ptr))) { + success++; + } + } + std::atomic_thread_fence(std::memory_order_release); + event_count allocate_count = collector.end(); + aggregate << allocate_count; + } + (void)success; + state.counters["cycles/url"] = + aggregate.best.cycles() / std::size(url_examples); + state.counters["instructions/url"] = + aggregate.best.instructions() / std::size(url_examples); + state.counters["instructions/cycle"] = + aggregate.best.instructions() / aggregate.best.cycles(); + state.counters["instructions/byte"] = + aggregate.best.instructions() / url_examples_bytes; + state.counters["instructions/ns"] = + aggregate.best.instructions() / aggregate.best.elapsed_ns(); + state.counters["GHz"] = + aggregate.best.cycles() / aggregate.best.elapsed_ns(); + state.counters["ns/url"] = + aggregate.best.elapsed_ns() / std::size(url_examples); + state.counters["cycle/byte"] = aggregate.best.cycles() / url_examples_bytes; + } + state.counters["time/byte"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["time/url"] = + benchmark::Counter(double(std::size(url_examples)), + benchmark::Counter::kIsIterationInvariantRate | + benchmark::Counter::kInvert); + state.counters["speed"] = benchmark::Counter( + url_examples_bytes, benchmark::Counter::kIsIterationInvariantRate); + state.counters["url/s"] = + benchmark::Counter(double(std::size(url_examples)), + benchmark::Counter::kIsIterationInvariantRate); +} +BENCHMARK(BasicBench_whatwg); +#endif // ADA_url_whatwg_ENABLED + +int main(int argc, char **argv) { + if (argc == 1 || !init_data(argv[1])) { + std::cout + << "pass the path to the file wpt/urltestdata.json as a parameter." + << std::endl; + std::cout + << "E.g., './build/benchmarks/wpt_bench tests/wpt/urltestdata.json'" + << std::endl; + return EXIT_SUCCESS; + } +#if defined(ADA_RUST_VERSION) + benchmark::AddCustomContext("rust version ", ADA_RUST_VERSION); +#endif +#if (__APPLE__ && __aarch64__) || defined(__linux__) + if (!collector.has_events()) { + benchmark::AddCustomContext("performance counters", + "No privileged access (sudo may help)."); + } +#else + if (!collector.has_events()) { + benchmark::AddCustomContext("performance counters", "Unsupported system."); + } +#endif + + if (collector.has_events()) { + benchmark::AddCustomContext("performance counters", "Enabled"); + } + benchmark::Initialize(&argc, argv); + benchmark::RunSpecifiedBenchmarks(); + benchmark::Shutdown(); +} diff -Nru nodejs-18.13.0+dfsg1/ada/cmake/CPM.cmake nodejs-18.19.0+dfsg/ada/cmake/CPM.cmake --- nodejs-18.13.0+dfsg1/ada/cmake/CPM.cmake 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/cmake/CPM.cmake 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,24 @@ +# SPDX-License-Identifier: MIT +# +# SPDX-FileCopyrightText: Copyright (c) 2019-2023 Lars Melchior and contributors + +set(CPM_DOWNLOAD_VERSION 0.38.6) +set(CPM_HASH_SUM "11c3fa5f1ba14f15d31c2fb63dbc8628ee133d81c8d764caad9a8db9e0bacb07") + +if(CPM_SOURCE_CACHE) + set(CPM_DOWNLOAD_LOCATION "${CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake") +elseif(DEFINED ENV{CPM_SOURCE_CACHE}) + set(CPM_DOWNLOAD_LOCATION "$ENV{CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake") +else() + set(CPM_DOWNLOAD_LOCATION "${CMAKE_BINARY_DIR}/cmake/CPM_${CPM_DOWNLOAD_VERSION}.cmake") +endif() + +# Expand relative path. This is important if the provided path contains a tilde (~) +get_filename_component(CPM_DOWNLOAD_LOCATION ${CPM_DOWNLOAD_LOCATION} ABSOLUTE) + +file(DOWNLOAD + https://github.com/cpm-cmake/CPM.cmake/releases/download/v${CPM_DOWNLOAD_VERSION}/CPM.cmake + ${CPM_DOWNLOAD_LOCATION} EXPECTED_HASH SHA256=${CPM_HASH_SUM} +) + +include(${CPM_DOWNLOAD_LOCATION}) diff -Nru nodejs-18.13.0+dfsg1/ada/cmake/ada-config.cmake.in nodejs-18.19.0+dfsg/ada/cmake/ada-config.cmake.in --- nodejs-18.13.0+dfsg1/ada/cmake/ada-config.cmake.in 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/cmake/ada-config.cmake.in 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1 @@ +include("${CMAKE_CURRENT_LIST_DIR}/ada_targets.cmake") diff -Nru nodejs-18.13.0+dfsg1/ada/cmake/ada-flags.cmake nodejs-18.19.0+dfsg/ada/cmake/ada-flags.cmake --- nodejs-18.13.0+dfsg1/ada/cmake/ada-flags.cmake 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/cmake/ada-flags.cmake 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,59 @@ +option(ADA_LOGGING "verbose output (useful for debugging)" OFF) +option(ADA_DEVELOPMENT_CHECKS "development checks (useful for debugging)" OFF) +option(ADA_SANITIZE "Sanitize addresses" OFF) +if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + option(ADA_SANITIZE_BOUNDS_STRICT "Sanitize bounds (strict): only for GCC" OFF) +endif() +option(ADA_SANITIZE_UNDEFINED "Sanitize undefined behaviour" OFF) +if(ADA_SANITIZE) + message(STATUS "Address sanitizer enabled.") +endif() +if(ADA_SANITIZE_UNDEFINED) + message(STATUS "Undefined sanitizer enabled.") +endif() +option(ADA_COVERAGE "Compute coverage" OFF) +option(ADA_TOOLS "Build cli tools (adaparse)" ON) + +if (ADA_COVERAGE) + message(STATUS "You want to compute coverage. We assume that you have installed gcovr.") + if (NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE) + endif() + ####################### + # You need to install gcovr. Under macos, you may do so with brew. + # brew install gcovr + # Then build... + # cmake -D ADA_COVERAGE=ON -B buildcoverage + # cmake --build buildcoverage + # cmake --build buildcoverage --target ada_coverage + # + # open buildcoverage/ada_coverage/index.html + ##################### + include(${PROJECT_SOURCE_DIR}/cmake/codecoverage.cmake) + APPEND_COVERAGE_COMPILER_FLAGS() + setup_target_for_coverage_gcovr_html(NAME ada_coverage EXECUTABLE ctest EXCLUDE "${PROJECT_SOURCE_DIR}/dependencies/*" "${PROJECT_SOURCE_DIR}/tools/*" "${PROJECT_SOURCE_DIR}/singleheader/*" ${PROJECT_SOURCE_DIR}/include/ada/common_defs.h) +endif() + +if (NOT CMAKE_BUILD_TYPE) + if(ADA_SANITIZE OR ADA_SANITIZE_BOUNDS_STRICT OR ADA_SANITIZE_UNDEFINED) + message(STATUS "No build type selected, default to Debug because you have sanitizers.") + set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE) + else() + message(STATUS "No build type selected, default to Release") + set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build." FORCE) + endif() +endif() + +set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/tools/cmake") +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +set(CMAKE_CXX_EXTENSIONS OFF) + +find_program(CCACHE_FOUND ccache) +if(CCACHE_FOUND) + message(STATUS "Ccache found using it as compiler launcher.") + set(CMAKE_C_COMPILER_LAUNCHER ccache) + set(CMAKE_CXX_COMPILER_LAUNCHER ccache) +endif(CCACHE_FOUND) diff -Nru nodejs-18.13.0+dfsg1/ada/cmake/add-cpp-test.cmake nodejs-18.19.0+dfsg/ada/cmake/add-cpp-test.cmake --- nodejs-18.13.0+dfsg1/ada/cmake/add-cpp-test.cmake 1970-01-01 00:00:00.000000000 +0000 +++ nodejs-18.19.0+dfsg/ada/cmake/add-cpp-test.cmake 2023-10-22 23:50:50.000000000 +0000 @@ -0,0 +1,67 @@ +# Helper so we don't have to repeat ourselves so much +# Usage: add_cpp_test(testname [COMPILE_ONLY] [SOURCES a.cpp b.cpp ...] [LABELS acceptance per_implementation ...]) +# SOURCES defaults to testname.cpp if not specified. +function(add_cpp_test TEST_NAME) + # Parse arguments + cmake_parse_arguments(PARSE_ARGV 1 ARGS "COMPILE_ONLY;LIBRARY;WILL_FAIL" "" "SOURCES;LABELS;DEPENDENCY_OF") + if (NOT ARGS_SOURCES) + list(APPEND ARGS_SOURCES ${TEST_NAME}.cpp) + endif() + if (ARGS_COMPILE_ONLY) + list(APPEND ${ARGS_LABELS} compile_only) + endif() + if(ADA_SANITIZE) + add_compile_options(-fsanitize=address -fno-omit-frame-pointer -fno-sanitize-recover=all) + add_compile_definitions(ASAN_OPTIONS=detect_leaks=1) + endif() + if(ADA_SANITIZE_BOUNDS_STRICT) + add_compile_options(-fsanitize=bounds-strict -fno-sanitize-recover=all) + add_link_options(-fsanitize=bounds-strict) + endif() + if(ADA_SANITIZE_UNDEFINED) + add_compile_options(-fsanitize=undefined -fno-sanitize-recover=all) + add_link_options(-fsanitize=undefined) + endif() + # Add the compile target + if (ARGS_LIBRARY) + add_library(${TEST_NAME} STATIC ${ARGS_SOURCES}) + else(ARGS_LIBRARY) + add_executable(${TEST_NAME} ${ARGS_SOURCES}) + endif(ARGS_LIBRARY) + + # Add test + if (ARGS_COMPILE_ONLY OR ARGS_LIBRARY) + add_test( + NAME ${TEST_NAME} + COMMAND ${CMAKE_COMMAND} --build . --target ${TEST_NAME} --config $ + WORKING_DIRECTORY ${PROJECT_BINARY_DIR} + ) + set_target_properties(${TEST_NAME} PROPERTIES EXCLUDE_FROM_ALL TRUE EXCLUDE_FROM_DEFAULT_BUILD TRUE) + else() + add_test(${TEST_NAME} ${TEST_NAME}) + + # Add to