From cd52d6efd036eeab46cebf8ace4b2ff78ffe9196 Mon Sep 17 00:00:00 2001 From: dinglei Date: Sun, 31 Dec 2023 10:32:45 +0800 Subject: [PATCH] Full amount update node.js to v18.18.2(amend) Signed-off-by: dinglei --- android-configure | 0 configure | 0 configure.py | 0 deps/acorn/acorn/bin/acorn | 0 .../base64/lib/tables/table_enc_12bit.py | 0 deps/base64/base64/test/ci/test.sh | 0 deps/cares/buildconf | 0 deps/cares/compile | 0 deps/cares/config.guess | 0 deps/cares/config.sub | 0 deps/cares/configure | 0 deps/cares/depcomp | 0 deps/cares/install-sh | 0 deps/cares/ltmain.sh | 0 deps/cares/maketgz | 0 deps/cares/missing | 0 deps/cjs-module-lexer/LICENSE | 0 deps/cjs-module-lexer/README.md | 0 deps/cjs-module-lexer/lexer.js | 0 deps/cjs-module-lexer/package.json | 0 deps/corepack/dist/corepack.js | 0 deps/corepack/dist/npm.js | 0 deps/corepack/dist/npx.js | 0 deps/corepack/dist/pnpm.js | 0 deps/corepack/dist/pnpx.js | 0 deps/corepack/dist/yarn.js | 0 deps/corepack/dist/yarnpkg.js | 0 deps/corepack/shims/corepack | 0 deps/corepack/shims/corepack.cmd | 0 deps/corepack/shims/corepack.ps1 | 0 deps/corepack/shims/npm | 0 deps/corepack/shims/npm.cmd | 0 deps/corepack/shims/npm.ps1 | 0 deps/corepack/shims/npx | 0 deps/corepack/shims/npx.cmd | 0 deps/corepack/shims/npx.ps1 | 0 deps/corepack/shims/pnpm | 0 deps/corepack/shims/pnpm.cmd | 0 deps/corepack/shims/pnpm.ps1 | 0 deps/corepack/shims/pnpx | 0 deps/corepack/shims/pnpx.cmd | 0 deps/corepack/shims/pnpx.ps1 | 0 deps/corepack/shims/yarn | 0 deps/corepack/shims/yarn.cmd | 0 deps/corepack/shims/yarn.ps1 | 0 deps/corepack/shims/yarnpkg | 0 deps/corepack/shims/yarnpkg.cmd | 0 deps/corepack/shims/yarnpkg.ps1 | 0 deps/icu-small/source/common/rbbicst.pl | 0 deps/icu-small/source/i18n/regexcst.pl | 0 deps/npm/bin/npm | 0 deps/npm/bin/npm-cli.js | 0 deps/npm/bin/npm.cmd | 0 deps/npm/bin/npx | 0 deps/npm/bin/npx-cli.js | 0 deps/npm/bin/npx.cmd | 0 deps/npm/lib/utils/completion.sh | 0 .../@npmcli/arborist/bin/index.js | 0 .../installed-package-contents/lib/index.js | 0 .../run-script/lib/node-gyp-bin/node-gyp | 0 .../run-script/lib/node-gyp-bin/node-gyp.cmd | 0 deps/npm/node_modules/color-support/bin.js | 0 .../node_modules/which/bin/node-which | 0 deps/npm/node_modules/cssesc/bin/cssesc | 0 .../npm/node_modules/glob/dist/cjs/src/bin.js | 0 deps/npm/node_modules/mkdirp/bin/cmd.js | 0 .../npm/node_modules/node-gyp/bin/node-gyp.js | 0 deps/npm/node_modules/node-gyp/gyp/gyp | 0 deps/npm/node_modules/node-gyp/gyp/gyp.bat | 0 .../npm/node_modules/node-gyp/gyp/gyp_main.py | 0 .../gyp/pylib/gyp/MSVSSettings_test.py | 0 .../node-gyp/gyp/pylib/gyp/__init__.py | 0 .../node-gyp/gyp/pylib/gyp/common_test.py | 0 .../node-gyp/gyp/pylib/gyp/easy_xml_test.py | 0 .../node-gyp/gyp/pylib/gyp/flock_tool.py | 0 .../gyp/pylib/gyp/generator/msvs_test.py | 0 .../node-gyp/gyp/pylib/gyp/input_test.py | 0 .../node-gyp/gyp/pylib/gyp/mac_tool.py | 0 .../node-gyp/gyp/pylib/gyp/win_tool.py | 0 .../npm/node_modules/node-gyp/gyp/test_gyp.py | 0 .../gyp/tools/emacs/run-unit-tests.sh | 0 .../node-gyp/gyp/tools/graphviz.py | 0 .../node-gyp/gyp/tools/pretty_gyp.py | 0 .../node-gyp/gyp/tools/pretty_sln.py | 0 .../node-gyp/gyp/tools/pretty_vcproj.py | 0 .../node-gyp/node_modules/nopt/bin/nopt.js | 0 .../node_modules/which/bin/node-which | 0 deps/npm/node_modules/node-gyp/update-gyp.py | 0 deps/npm/node_modules/nopt/bin/nopt.js | 0 deps/npm/node_modules/pacote/lib/bin.js | 0 .../qrcode-terminal/bin/qrcode-terminal.js | 0 deps/npm/node_modules/rimraf/bin.js | 0 deps/npm/node_modules/semver/bin/semver.js | 0 .../npm/node_modules/sigstore/bin/sigstore.js | 0 deps/npm/node_modules/which/bin/which.js | 0 deps/npm/node_modules/wide-align/LICENSE | 0 deps/npm/node_modules/wide-align/align.js | 0 deps/npm/node_modules/wide-align/package.json | 0 deps/npm/node_modules/wrap-ansi-cjs/index.js | 0 deps/npm/node_modules/wrap-ansi/index.js | 0 deps/openssl/config/fake_gcc.pl | 0 deps/openssl/config/generate_gypi.pl | 0 deps/openssl/config/generate_headers.pl | 0 deps/openssl/openssl/Configure | 0 deps/openssl/openssl/apps/insta.ca.crt | Bin 0 -> 916 bytes deps/openssl/openssl/config | 0 .../openssl/openssl/crypto/aes/asm/aes-586.pl | 0 .../openssl/crypto/aes/asm/aes-sparcv9.pl | 0 .../openssl/crypto/aes/asm/aes-x86_64.pl | 0 .../openssl/crypto/aes/asm/aesp8-ppc.pl | 0 .../openssl/crypto/aes/asm/aesv8-armx.pl | 0 .../openssl/crypto/aes/asm/vpaes-armv8.pl | 0 deps/openssl/openssl/crypto/arm64cpuid.pl | 0 .../openssl/crypto/bn/asm/armv8-mont.pl | 0 .../openssl/crypto/bn/asm/ppc64-mont-fixed.pl | 0 .../openssl/crypto/bn/asm/rsaz-avx2.pl | 0 .../openssl/crypto/bn/asm/rsaz-x86_64.pl | 0 .../openssl/crypto/bn/asm/sparct4-mont.pl | 0 .../openssl/crypto/bn/asm/sparcv9a-mont.pl | 0 .../openssl/openssl/crypto/bn/asm/x86-mont.pl | 0 .../openssl/crypto/bn/asm/x86_64-mont.pl | 0 .../openssl/crypto/bn/asm/x86_64-mont5.pl | 0 .../openssl/crypto/chacha/asm/chacha-armv4.pl | 0 .../openssl/crypto/chacha/asm/chacha-armv8.pl | 0 .../crypto/chacha/asm/chacha-c64xplus.pl | 0 .../openssl/crypto/chacha/asm/chacha-ppc.pl | 0 .../openssl/crypto/chacha/asm/chacha-s390x.pl | 0 .../openssl/crypto/chacha/asm/chacha-x86.pl | 0 .../crypto/chacha/asm/chacha-x86_64.pl | 0 .../crypto/ec/asm/ecp_nistp521-ppc64.pl | 0 .../crypto/ec/asm/ecp_nistz256-armv4.pl | 0 .../crypto/ec/asm/ecp_nistz256-ppc64.pl | 0 .../crypto/ec/asm/ecp_nistz256-sparcv9.pl | 0 .../openssl/crypto/ec/asm/ecp_nistz256-x86.pl | 0 .../crypto/ec/asm/ecp_nistz256-x86_64.pl | 0 .../openssl/crypto/ec/asm/x25519-ppc64.pl | 0 .../openssl/crypto/ec/asm/x25519-x86_64.pl | 0 .../openssl/crypto/md5/asm/md5-x86_64.pl | 0 .../crypto/modes/asm/aes-gcm-armv8_64.pl | 0 .../openssl/crypto/modes/asm/ghash-ia64.pl | 0 .../openssl/crypto/modes/asm/ghashp8-ppc.pl | 0 .../openssl/crypto/perlasm/arm-xlate.pl | 0 .../openssl/crypto/perlasm/ppc-xlate.pl | 0 .../openssl/crypto/perlasm/x86_64-xlate.pl | 0 .../crypto/poly1305/asm/poly1305-armv4.pl | 0 .../crypto/poly1305/asm/poly1305-armv8.pl | 0 .../crypto/poly1305/asm/poly1305-c64xplus.pl | 0 .../crypto/poly1305/asm/poly1305-mips.pl | 0 .../crypto/poly1305/asm/poly1305-ppc.pl | 0 .../crypto/poly1305/asm/poly1305-ppcfp.pl | 0 .../crypto/poly1305/asm/poly1305-s390x.pl | 0 .../crypto/poly1305/asm/poly1305-sparcv9.pl | 0 .../crypto/poly1305/asm/poly1305-x86.pl | 0 .../crypto/poly1305/asm/poly1305-x86_64.pl | 0 deps/openssl/openssl/crypto/ppccpuid.pl | 0 .../openssl/crypto/rc4/asm/rc4-x86_64.pl | 0 deps/openssl/openssl/crypto/s390xcpuid.pl | 0 .../crypto/sha/asm/keccak1600-armv4.pl | 0 .../crypto/sha/asm/keccak1600-armv8.pl | 0 .../openssl/crypto/sha/asm/keccak1600-avx2.pl | 0 .../crypto/sha/asm/keccak1600-avx512.pl | 0 .../crypto/sha/asm/keccak1600-avx512vl.pl | 0 .../openssl/crypto/sha/asm/keccak1600-c64x.pl | 0 .../openssl/crypto/sha/asm/keccak1600-mmx.pl | 0 .../crypto/sha/asm/keccak1600-ppc64.pl | 0 .../crypto/sha/asm/keccak1600-s390x.pl | 0 .../crypto/sha/asm/keccak1600-x86_64.pl | 0 .../crypto/sha/asm/keccak1600p8-ppc.pl | 0 .../openssl/crypto/sha/asm/sha1-ppc.pl | 0 .../openssl/crypto/sha/asm/sha1-x86_64.pl | 0 .../openssl/crypto/sha/asm/sha512-ia64.pl | 0 .../openssl/crypto/sha/asm/sha512-parisc.pl | 0 .../openssl/crypto/sha/asm/sha512-ppc.pl | 0 .../openssl/crypto/sha/asm/sha512-x86_64.pl | 0 .../openssl/crypto/sha/asm/sha512p8-ppc.pl | 0 .../perl/Text-Template-1.56/t/basic.t | 0 .../perl/Text-Template-1.56/t/broken.t | 0 .../perl/Text-Template-1.56/t/delimiters.t | 0 .../perl/Text-Template-1.56/t/error.t | 0 .../perl/Text-Template-1.56/t/exported.t | 0 .../external/perl/Text-Template-1.56/t/hash.t | 0 .../Text-Template-1.56/t/inline-comment.t | 0 .../perl/Text-Template-1.56/t/nested-tags.t | 0 .../external/perl/Text-Template-1.56/t/ofh.t | 0 .../external/perl/Text-Template-1.56/t/out.t | 0 .../perl/Text-Template-1.56/t/prepend.t | 0 .../perl/Text-Template-1.56/t/preprocess.t | 0 .../perl/Text-Template-1.56/t/rt29928.t | 0 .../external/perl/Text-Template-1.56/t/safe.t | 0 .../perl/Text-Template-1.56/t/safe2.t | 0 .../perl/Text-Template-1.56/t/safe3.t | 0 .../perl/Text-Template-1.56/t/strict.t | 0 .../perl/Text-Template-1.56/t/taint.t | 0 .../Text-Template-1.56/t/template-encoding.t | 0 .../perl/Text-Template-1.56/t/warnings.t | 0 deps/openssl/openssl/fuzz/helper.py | 0 deps/openssl/openssl/fuzz/mkfuzzoids.pl | 0 deps/openssl/openssl/ms/cmp.pl | 0 deps/openssl/openssl/ms/uplink-common.pl | 0 deps/openssl/openssl/ms/uplink-ia64.pl | 0 deps/openssl/openssl/ms/uplink-x86.pl | 0 deps/openssl/openssl/ms/uplink-x86_64.pl | 0 deps/openssl/openssl/util/c-compress-test.pl | 0 deps/openssl/openssl/util/check-format.pl | 0 deps/openssl/openssl/util/check-malloc-errs | 0 deps/openssl/openssl/util/ck_errf.pl | 0 deps/openssl/openssl/util/err-to-raise | 0 deps/openssl/openssl/util/find-doc-nits | 0 deps/openssl/openssl/util/find-unused-errs | 0 deps/openssl/openssl/util/fips-checksums.sh | 0 deps/openssl/openssl/util/fix-includes | 0 deps/openssl/openssl/util/lang-compress.pl | 0 deps/openssl/openssl/util/merge-err-lines | 0 deps/openssl/openssl/util/mkbuildinf.pl | 0 deps/openssl/openssl/util/mkdef.pl | 0 deps/openssl/openssl/util/mkdir-p.pl | 0 deps/openssl/openssl/util/mkerr.pl | 0 deps/openssl/openssl/util/mkpod2html.pl | 0 deps/openssl/openssl/util/mkrc.pl | 0 deps/openssl/openssl/util/opensslwrap.sh | 0 .../openssl/util/perl/OpenSSL/config.pm | 0 deps/openssl/openssl/util/shlib_wrap.sh.in | 0 deps/openssl/openssl/util/withlibctx.pl | 0 deps/openssl/openssl/util/write-man-symlinks | 0 deps/undici/src/lib/llhttp/llhttp.wasm | Bin deps/undici/src/lib/llhttp/llhttp_simd.wasm | Bin deps/uv/autogen.sh | 0 deps/uv/img/banner.png | Bin 0 -> 44102 bytes deps/v8/gni/protoc.py | 0 .../check_protocol_compatibility.py | 0 .../inspector_protocol/code_generator.py | 0 .../concatenate_protocols.py | 0 .../convert_protocol_to_json.py | 0 .../v8/third_party/inspector_protocol/roll.py | 0 deps/v8/third_party/ittapi/buildall.py | 0 .../third_party/markupsafe/get_markupsafe.sh | 0 .../test262-harness/src/test262.py | 0 .../wasm-api/example/callback.wasm | Bin 0 -> 102 bytes .../wasm-api/example/finalize.wasm | Bin 0 -> 75 bytes .../third_party/wasm-api/example/global.wasm | Bin 0 -> 576 bytes .../third_party/wasm-api/example/hello.wasm | Bin 0 -> 71 bytes .../third_party/wasm-api/example/hostref.wasm | Bin 0 -> 231 bytes .../third_party/wasm-api/example/memory.wasm | Bin 0 -> 146 bytes .../third_party/wasm-api/example/multi.wasm | Bin 0 -> 81 bytes .../third_party/wasm-api/example/reflect.wasm | Bin 0 -> 124 bytes .../wasm-api/example/serialize.wasm | Bin 0 -> 71 bytes .../third_party/wasm-api/example/start.wasm | Bin 0 -> 48 bytes .../third_party/wasm-api/example/table.wasm | Bin 0 -> 139 bytes .../third_party/wasm-api/example/threads.wasm | Bin 0 -> 84 bytes .../v8/third_party/wasm-api/example/trap.wasm | Bin 0 -> 105 bytes deps/v8/tools/adb-d8.py | 0 deps/v8/tools/android-build.sh | 0 deps/v8/tools/android-ll-prof.sh | 0 deps/v8/tools/android-run.py | 0 deps/v8/tools/android-sync.sh | 0 deps/v8/tools/avg.py | 0 deps/v8/tools/bash-completion.sh | 0 deps/v8/tools/bigint-tester.py | 0 deps/v8/tools/callstats-from-telemetry.sh | 0 deps/v8/tools/callstats.py | 0 deps/v8/tools/check-inline-includes.sh | 0 deps/v8/tools/check-static-initializers.sh | 0 deps/v8/tools/check-unused-bailouts.sh | 0 deps/v8/tools/check-unused-symbols.sh | 0 .../tools/chrome/linux-perf-renderer-cmd.sh | 0 deps/v8/tools/chrome/linux_perf.py | 0 .../tools/clusterfuzz/foozzie/v8_foozzie.py | 0 .../clusterfuzz/foozzie/v8_foozzie_test.py | 0 .../v8/tools/clusterfuzz/js_fuzzer/package.sh | 0 deps/v8/tools/collect_deprecation_stats.sh | 0 deps/v8/tools/cppgc/export_to_github.sh | 0 deps/v8/tools/cppgc/gen_cmake.py | 0 deps/v8/tools/cppgc/gen_cmake_test.py | 0 deps/v8/tools/cppgc/test_cmake.sh | 0 deps/v8/tools/cpu.sh | 0 deps/v8/tools/cross_build_gcc.sh | 0 deps/v8/tools/dev/gen-tags.py | 0 deps/v8/tools/dev/gm.py | 0 deps/v8/tools/dev/update-compile-commands.py | 0 deps/v8/tools/dev/update-vscode.sh | 0 deps/v8/tools/dev/v8gen.py | 0 deps/v8/tools/draw_instruction_graph.sh | 0 deps/v8/tools/eval_gc_nvp.py | 0 deps/v8/tools/eval_gc_time.sh | 0 deps/v8/tools/find-builtin | 0 deps/v8/tools/find-commit-for-patch.py | 0 deps/v8/tools/freebsd-tick-processor | 0 deps/v8/tools/fuzz-harness.sh | 0 deps/v8/tools/gc-nvp-to-csv.py | 0 deps/v8/tools/gc-nvp-trace-processor.py | 0 deps/v8/tools/gcmole/bootstrap.sh | 0 deps/v8/tools/gcmole/gcmole.py | 0 deps/v8/tools/gcmole/package.sh | 0 deps/v8/tools/gcmole/run-gcmole.py | 0 deps/v8/tools/gen-keywords-gen-h.py | 0 deps/v8/tools/gen-v8-gn.py | 0 deps/v8/tools/generate-builtins-tests.py | 0 .../tools/generate-header-include-checks.py | 0 deps/v8/tools/generate-runtime-call-stats.py | 0 .../generate_shim_headers.py | 0 deps/v8/tools/get_landmines.py | 0 deps/v8/tools/grokdump.py | 0 deps/v8/tools/ic-processor | 0 .../ignition/bytecode_dispatches_report.py | 0 .../ignition/linux_perf_bytecode_annotate.py | 0 deps/v8/tools/ignition/linux_perf_report.py | 0 deps/v8/tools/jsfunfuzz/BUILD.gn | 4 +- deps/v8/tools/jsfunfuzz/fuzz-harness.sh | 0 deps/v8/tools/link_clicker.extension/icon.png | Bin 0 -> 230 bytes deps/v8/tools/linux-tick-processor | 0 deps/v8/tools/ll_prof.py | 0 deps/v8/tools/locs.py | 0 deps/v8/tools/mac-nm | 0 deps/v8/tools/mac-tick-processor | 0 deps/v8/tools/mb/mb | 0 deps/v8/tools/mb/mb.bat | 0 deps/v8/tools/mb/mb.py | 0 deps/v8/tools/mb/mb_test.py | 0 deps/v8/tools/objdump-v8 | 0 deps/v8/tools/parse-processor | 0 deps/v8/tools/perf-compare.py | 0 .../tools/process-wasm-compilation-times.py | 0 deps/v8/tools/regexp-sequences.py | 0 deps/v8/tools/release/auto_push.py | 0 deps/v8/tools/release/auto_roll.py | 0 deps/v8/tools/release/create_release.py | 0 deps/v8/tools/release/filter_build_files.py | 0 deps/v8/tools/release/list_deprecated.py | 0 deps/v8/tools/release/merge_to_branch.py | 0 deps/v8/tools/release/mergeinfo.py | 0 deps/v8/tools/release/roll_merge.py | 0 deps/v8/tools/release/script_test.py | 0 deps/v8/tools/release/test_mergeinfo.py | 0 deps/v8/tools/release/test_scripts.py | 0 deps/v8/tools/run-clang-tidy.py | 0 deps/v8/tools/run-llprof.sh | 0 deps/v8/tools/run-num-fuzzer.py | 0 deps/v8/tools/run-perf.sh | 0 deps/v8/tools/run-wasm-api-tests.py | 0 deps/v8/tools/run.py | 0 deps/v8/tools/sanitizers/sancov_formatter.py | 0 deps/v8/tools/sanitizers/sancov_merger.py | 0 deps/v8/tools/sanitizers/sanitize_pcs.py | 0 deps/v8/tools/stats-viewer.py | 0 deps/v8/tools/testrunner/local/pool_test.py | 0 .../tools/testrunner/local/statusfile_test.py | 0 .../tools/testrunner/local/testsuite_test.py | 0 deps/v8/tools/testrunner/num_fuzzer.py | 0 deps/v8/tools/testrunner/standard_runner.py | 0 .../tools/testrunner/testproc/shard_test.py | 0 .../tools/testrunner/testproc/variant_test.py | 0 deps/v8/tools/torque/format-torque.py | 0 deps/v8/tools/try_perf.py | 0 deps/v8/tools/turbolizer/deploy.sh | 0 deps/v8/tools/turbolizer/down-arrow.png | Bin 0 -> 3670 bytes .../turbolizer/img/hide-selected-icon.png | Bin 0 -> 3681 bytes .../turbolizer/img/hide-unselected-icon.png | Bin 0 -> 3701 bytes deps/v8/tools/turbolizer/img/layout-icon.png | Bin 0 -> 4577 bytes .../v8/tools/turbolizer/img/show-all-icon.png | Bin 0 -> 4915 bytes .../turbolizer/img/show-control-icon.png | Bin 0 -> 5749 bytes .../turbolizer/img/toggle-hide-dead-icon.png | Bin 0 -> 3730 bytes .../turbolizer/img/toggle-types-icon.png | Bin 0 -> 753 bytes .../turbolizer/img/zoom-selection-icon.png | Bin 0 -> 3751 bytes deps/v8/tools/turbolizer/left-arrow.png | Bin 0 -> 4175 bytes deps/v8/tools/turbolizer/right-arrow.png | Bin 0 -> 2774 bytes deps/v8/tools/turbolizer/search2.png | Bin 0 -> 689 bytes deps/v8/tools/turbolizer/turbolizer.png | Bin 0 -> 79281 bytes deps/v8/tools/turbolizer/up-arrow.png | Bin 0 -> 3579 bytes deps/v8/tools/turbolizer/upload-icon.png | Bin 0 -> 4747 bytes .../unittests/predictable_wrapper_test.py | 0 deps/v8/tools/unittests/run_perf_test.py | 0 deps/v8/tools/unittests/run_tests_test.py | 0 deps/v8/tools/unittests/v8_presubmit_test.py | 0 deps/v8/tools/update-object-macros-undef.py | 0 deps/v8/tools/v8_presubmit.py | 0 .../inject-compilation-hints.py | 0 .../wasm-objdump-compilation-hints.py | 0 deps/v8/tools/wasm/code-size-factors.py | 0 deps/v8/tools/wasm/update-wasm-fuzzers.sh | 0 deps/v8/tools/wasm/update-wasm-spec-tests.sh | 0 deps/v8/tools/windows-tick-processor.bat | 0 deps/zlib/google/test/data/create_test_zip.sh | 0 src/.clang-tidy | 27 + src/js_native_api.h | 794 +++++++++--------- src/js_native_api_types.h | 28 +- src/node_api.h | 309 ++++--- src/node_api_types.h | 24 +- .../https_renew_cert.sh | 0 .../node_modules/postject/dist/cli.js | 0 test/parallel/test-http2-server-timeout.js | 0 test/wasi/wasm/cant_dotdot.wasm | Bin test/wasi/wasm/clock_getres.wasm | Bin test/wasi/wasm/create_symlink.wasm | Bin test/wasi/wasm/exitcode.wasm | Bin test/wasi/wasm/fd_prestat_get_refresh.wasm | Bin test/wasi/wasm/follow_symlink.wasm | Bin test/wasi/wasm/freopen.wasm | Bin test/wasi/wasm/ftruncate.wasm | Bin test/wasi/wasm/getentropy.wasm | Bin test/wasi/wasm/getrusage.wasm | Bin test/wasi/wasm/gettimeofday.wasm | Bin test/wasi/wasm/link.wasm | Bin test/wasi/wasm/main_args.wasm | Bin test/wasi/wasm/notdir.wasm | Bin test/wasi/wasm/poll.wasm | Bin test/wasi/wasm/preopen_populates.wasm | Bin test/wasi/wasm/read_file.wasm | Bin test/wasi/wasm/read_file_twice.wasm | Bin test/wasi/wasm/readdir.wasm | Bin test/wasi/wasm/sock.wasm | Bin test/wasi/wasm/stat.wasm | Bin test/wasi/wasm/stdin.wasm | Bin test/wasi/wasm/symlink_escape.wasm | Bin test/wasi/wasm/symlink_loop.wasm | Bin test/wasi/wasm/write_file.wasm | Bin tools/actions/commit-queue.sh | 0 tools/actions/start-ci.sh | 0 tools/build-addons.mjs | 0 tools/checkimports.py | 0 tools/create_android_makefiles | 0 tools/create_expfile.sh | 0 tools/dep_updaters/update-acorn-walk.sh | 0 tools/dep_updaters/update-acorn.sh | 0 tools/dep_updaters/update-ada.sh | 0 tools/dep_updaters/update-base64.sh | 0 tools/dep_updaters/update-brotli.sh | 0 tools/dep_updaters/update-c-ares.sh | 0 tools/dep_updaters/update-cjs-module-lexer.sh | 0 tools/dep_updaters/update-eslint.sh | 0 tools/dep_updaters/update-googletest.sh | 0 tools/dep_updaters/update-histogram.sh | 0 tools/dep_updaters/update-icu.sh | 0 tools/dep_updaters/update-libuv.sh | 0 tools/dep_updaters/update-llhttp.sh | 0 tools/dep_updaters/update-minimatch.sh | 0 tools/dep_updaters/update-nghttp2.sh | 0 tools/dep_updaters/update-nghttp3.sh | 0 tools/dep_updaters/update-ngtcp2.sh | 0 tools/dep_updaters/update-npm.sh | 0 tools/dep_updaters/update-openssl.sh | 0 tools/dep_updaters/update-postject.sh | 0 tools/dep_updaters/update-simdutf.sh | 0 tools/dep_updaters/update-undici.sh | 0 tools/dep_updaters/update-uvwasi.sh | 0 tools/dep_updaters/update-v8-patch.sh | 0 tools/dep_updaters/update-zlib.sh | 0 tools/find-inactive-collaborators.mjs | 0 tools/find-inactive-tsc.mjs | 0 tools/genv8constants.py | 0 tools/gyp/gyp | 0 tools/gyp/gyp.bat | 0 tools/gyp/gyp_main.py | 0 tools/gyp/pylib/gyp/MSVSSettings_test.py | 0 tools/gyp/pylib/gyp/__init__.py | 0 tools/gyp/pylib/gyp/common_test.py | 0 tools/gyp/pylib/gyp/easy_xml_test.py | 0 tools/gyp/pylib/gyp/flock_tool.py | 0 tools/gyp/pylib/gyp/generator/msvs_test.py | 0 tools/gyp/pylib/gyp/input_test.py | 0 tools/gyp/pylib/gyp/mac_tool.py | 0 tools/gyp/pylib/gyp/win_tool.py | 0 tools/gyp/test_gyp.py | 0 tools/gyp/tools/emacs/run-unit-tests.sh | 0 tools/gyp/tools/graphviz.py | 0 tools/gyp/tools/pretty_gyp.py | 0 tools/gyp/tools/pretty_sln.py | 0 tools/gyp/tools/pretty_vcproj.py | 0 tools/gyp_node.py | 0 tools/icu/icutrim.py | 0 tools/icu/shrink-icu-src.py | 0 .../check_protocol_compatibility.py | 0 tools/inspector_protocol/code_generator.py | 0 .../concatenate_protocols.py | 0 .../convert_protocol_to_json.py | 0 tools/inspector_protocol/jinja2/get_jinja2.sh | 0 .../markupsafe/get_markupsafe.sh | 0 tools/install.py | 0 tools/js2c.py | 0 ...list-released-versions-from-changelogs.mjs | 0 tools/lint-pr-url.mjs | 0 tools/lint-sh.mjs | 0 tools/macos-firewall.sh | 0 .../pkgbuild/npm/scripts/postinstall | 0 .../pkgbuild/npm/scripts/preinstall | 0 tools/make-v8.sh | 0 tools/mk-ca-bundle.pl | 0 tools/mkssldef.py | 0 tools/msvs/msi/product.wxs | 0 tools/pseudo-tty.py | 0 tools/release.sh | 0 tools/run-valgrind.py | 0 tools/specialize_node_d.py | 0 tools/test-npm-package.js | 0 tools/test.py | 0 tools/update-llhttp.sh | 0 tools/update-timezone.mjs | 0 tools/v8-json-to-junit.py | 0 tools/v8/fetch_deps.py | 0 tools/v8/node_common.py | 0 tools/zos/modifysidedeck.sh | 0 tools/zos/sdwrap.py | 0 501 files changed, 620 insertions(+), 566 deletions(-) mode change 100644 => 100755 android-configure mode change 100644 => 100755 configure mode change 100644 => 100755 configure.py mode change 100644 => 100755 deps/acorn/acorn/bin/acorn mode change 100644 => 100755 deps/base64/base64/lib/tables/table_enc_12bit.py mode change 100644 => 100755 deps/base64/base64/test/ci/test.sh mode change 100644 => 100755 deps/cares/buildconf mode change 100644 => 100755 deps/cares/compile mode change 100644 => 100755 deps/cares/config.guess mode change 100644 => 100755 deps/cares/config.sub mode change 100644 => 100755 deps/cares/configure mode change 100644 => 100755 deps/cares/depcomp mode change 100644 => 100755 deps/cares/install-sh mode change 100644 => 100755 deps/cares/ltmain.sh mode change 100644 => 100755 deps/cares/maketgz mode change 100644 => 100755 deps/cares/missing mode change 100644 => 100755 deps/cjs-module-lexer/LICENSE mode change 100644 => 100755 deps/cjs-module-lexer/README.md mode change 100644 => 100755 deps/cjs-module-lexer/lexer.js mode change 100644 => 100755 deps/cjs-module-lexer/package.json mode change 100644 => 100755 deps/corepack/dist/corepack.js mode change 100644 => 100755 deps/corepack/dist/npm.js mode change 100644 => 100755 deps/corepack/dist/npx.js mode change 100644 => 100755 deps/corepack/dist/pnpm.js mode change 100644 => 100755 deps/corepack/dist/pnpx.js mode change 100644 => 100755 deps/corepack/dist/yarn.js mode change 100644 => 100755 deps/corepack/dist/yarnpkg.js mode change 100644 => 100755 deps/corepack/shims/corepack mode change 100644 => 100755 deps/corepack/shims/corepack.cmd mode change 100644 => 100755 deps/corepack/shims/corepack.ps1 mode change 100644 => 100755 deps/corepack/shims/npm mode change 100644 => 100755 deps/corepack/shims/npm.cmd mode change 100644 => 100755 deps/corepack/shims/npm.ps1 mode change 100644 => 100755 deps/corepack/shims/npx mode change 100644 => 100755 deps/corepack/shims/npx.cmd mode change 100644 => 100755 deps/corepack/shims/npx.ps1 mode change 100644 => 100755 deps/corepack/shims/pnpm mode change 100644 => 100755 deps/corepack/shims/pnpm.cmd mode change 100644 => 100755 deps/corepack/shims/pnpm.ps1 mode change 100644 => 100755 deps/corepack/shims/pnpx mode change 100644 => 100755 deps/corepack/shims/pnpx.cmd mode change 100644 => 100755 deps/corepack/shims/pnpx.ps1 mode change 100644 => 100755 deps/corepack/shims/yarn mode change 100644 => 100755 deps/corepack/shims/yarn.cmd mode change 100644 => 100755 deps/corepack/shims/yarn.ps1 mode change 100644 => 100755 deps/corepack/shims/yarnpkg mode change 100644 => 100755 deps/corepack/shims/yarnpkg.cmd mode change 100644 => 100755 deps/corepack/shims/yarnpkg.ps1 mode change 100644 => 100755 deps/icu-small/source/common/rbbicst.pl mode change 100644 => 100755 deps/icu-small/source/i18n/regexcst.pl mode change 100644 => 100755 deps/npm/bin/npm mode change 100644 => 100755 deps/npm/bin/npm-cli.js mode change 100644 => 100755 deps/npm/bin/npm.cmd mode change 100644 => 100755 deps/npm/bin/npx mode change 100644 => 100755 deps/npm/bin/npx-cli.js mode change 100644 => 100755 deps/npm/bin/npx.cmd mode change 100644 => 100755 deps/npm/lib/utils/completion.sh mode change 100644 => 100755 deps/npm/node_modules/@npmcli/arborist/bin/index.js mode change 100644 => 100755 deps/npm/node_modules/@npmcli/installed-package-contents/lib/index.js mode change 100644 => 100755 deps/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp mode change 100644 => 100755 deps/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp.cmd mode change 100644 => 100755 deps/npm/node_modules/color-support/bin.js mode change 100644 => 100755 deps/npm/node_modules/cross-spawn/node_modules/which/bin/node-which mode change 100644 => 100755 deps/npm/node_modules/cssesc/bin/cssesc mode change 100644 => 100755 deps/npm/node_modules/glob/dist/cjs/src/bin.js mode change 100644 => 100755 deps/npm/node_modules/mkdirp/bin/cmd.js mode change 100644 => 100755 deps/npm/node_modules/node-gyp/bin/node-gyp.js mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/gyp mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/gyp.bat mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/gyp_main.py mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input_test.py mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/test_gyp.py mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/tools/emacs/run-unit-tests.sh mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/tools/graphviz.py mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/tools/pretty_gyp.py mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/tools/pretty_sln.py mode change 100644 => 100755 deps/npm/node_modules/node-gyp/gyp/tools/pretty_vcproj.py mode change 100644 => 100755 deps/npm/node_modules/node-gyp/node_modules/nopt/bin/nopt.js mode change 100644 => 100755 deps/npm/node_modules/node-gyp/node_modules/which/bin/node-which mode change 100644 => 100755 deps/npm/node_modules/node-gyp/update-gyp.py mode change 100644 => 100755 deps/npm/node_modules/nopt/bin/nopt.js mode change 100644 => 100755 deps/npm/node_modules/pacote/lib/bin.js mode change 100644 => 100755 deps/npm/node_modules/qrcode-terminal/bin/qrcode-terminal.js mode change 100644 => 100755 deps/npm/node_modules/rimraf/bin.js mode change 100644 => 100755 deps/npm/node_modules/semver/bin/semver.js mode change 100644 => 100755 deps/npm/node_modules/sigstore/bin/sigstore.js mode change 100644 => 100755 deps/npm/node_modules/which/bin/which.js mode change 100644 => 100755 deps/npm/node_modules/wide-align/LICENSE mode change 100644 => 100755 deps/npm/node_modules/wide-align/align.js mode change 100644 => 100755 deps/npm/node_modules/wide-align/package.json mode change 100644 => 100755 deps/npm/node_modules/wrap-ansi-cjs/index.js mode change 100644 => 100755 deps/npm/node_modules/wrap-ansi/index.js mode change 100644 => 100755 deps/openssl/config/fake_gcc.pl mode change 100644 => 100755 deps/openssl/config/generate_gypi.pl mode change 100644 => 100755 deps/openssl/config/generate_headers.pl mode change 100644 => 100755 deps/openssl/openssl/Configure create mode 100644 deps/openssl/openssl/apps/insta.ca.crt mode change 100644 => 100755 deps/openssl/openssl/config mode change 100644 => 100755 deps/openssl/openssl/crypto/aes/asm/aes-586.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/aes/asm/aes-sparcv9.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/aes/asm/aes-x86_64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/aes/asm/aesp8-ppc.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/aes/asm/aesv8-armx.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/aes/asm/vpaes-armv8.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/arm64cpuid.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/bn/asm/armv8-mont.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/bn/asm/ppc64-mont-fixed.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/bn/asm/rsaz-avx2.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/bn/asm/rsaz-x86_64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/bn/asm/sparct4-mont.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/bn/asm/sparcv9a-mont.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/bn/asm/x86-mont.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/bn/asm/x86_64-mont.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/bn/asm/x86_64-mont5.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/chacha/asm/chacha-armv4.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/chacha/asm/chacha-armv8.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/chacha/asm/chacha-c64xplus.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/chacha/asm/chacha-ppc.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/chacha/asm/chacha-s390x.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/chacha/asm/chacha-x86.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/chacha/asm/chacha-x86_64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/ec/asm/ecp_nistp521-ppc64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-armv4.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-ppc64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-sparcv9.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-x86.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/ec/asm/ecp_nistz256-x86_64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/ec/asm/x25519-ppc64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/ec/asm/x25519-x86_64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/md5/asm/md5-x86_64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/modes/asm/aes-gcm-armv8_64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/modes/asm/ghash-ia64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/modes/asm/ghashp8-ppc.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/perlasm/arm-xlate.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/perlasm/ppc-xlate.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/perlasm/x86_64-xlate.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/poly1305/asm/poly1305-armv4.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/poly1305/asm/poly1305-armv8.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/poly1305/asm/poly1305-c64xplus.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/poly1305/asm/poly1305-mips.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/poly1305/asm/poly1305-ppc.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/poly1305/asm/poly1305-ppcfp.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/poly1305/asm/poly1305-s390x.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/poly1305/asm/poly1305-sparcv9.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/poly1305/asm/poly1305-x86.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/poly1305/asm/poly1305-x86_64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/ppccpuid.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/rc4/asm/rc4-x86_64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/s390xcpuid.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/keccak1600-armv4.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/keccak1600-armv8.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/keccak1600-avx2.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/keccak1600-avx512.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/keccak1600-avx512vl.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/keccak1600-c64x.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/keccak1600-mmx.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/keccak1600-ppc64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/keccak1600-s390x.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/keccak1600-x86_64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/keccak1600p8-ppc.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/sha1-ppc.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/sha1-x86_64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/sha512-ia64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/sha512-parisc.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/sha512-ppc.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/sha512-x86_64.pl mode change 100644 => 100755 deps/openssl/openssl/crypto/sha/asm/sha512p8-ppc.pl mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/basic.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/broken.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/delimiters.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/error.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/exported.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/hash.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/inline-comment.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/nested-tags.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/ofh.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/out.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/prepend.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/preprocess.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/rt29928.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/safe.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/safe2.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/safe3.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/strict.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/taint.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/template-encoding.t mode change 100644 => 100755 deps/openssl/openssl/external/perl/Text-Template-1.56/t/warnings.t mode change 100644 => 100755 deps/openssl/openssl/fuzz/helper.py mode change 100644 => 100755 deps/openssl/openssl/fuzz/mkfuzzoids.pl mode change 100644 => 100755 deps/openssl/openssl/ms/cmp.pl mode change 100644 => 100755 deps/openssl/openssl/ms/uplink-common.pl mode change 100644 => 100755 deps/openssl/openssl/ms/uplink-ia64.pl mode change 100644 => 100755 deps/openssl/openssl/ms/uplink-x86.pl mode change 100644 => 100755 deps/openssl/openssl/ms/uplink-x86_64.pl mode change 100644 => 100755 deps/openssl/openssl/util/c-compress-test.pl mode change 100644 => 100755 deps/openssl/openssl/util/check-format.pl mode change 100644 => 100755 deps/openssl/openssl/util/check-malloc-errs mode change 100644 => 100755 deps/openssl/openssl/util/ck_errf.pl mode change 100644 => 100755 deps/openssl/openssl/util/err-to-raise mode change 100644 => 100755 deps/openssl/openssl/util/find-doc-nits mode change 100644 => 100755 deps/openssl/openssl/util/find-unused-errs mode change 100644 => 100755 deps/openssl/openssl/util/fips-checksums.sh mode change 100644 => 100755 deps/openssl/openssl/util/fix-includes mode change 100644 => 100755 deps/openssl/openssl/util/lang-compress.pl mode change 100644 => 100755 deps/openssl/openssl/util/merge-err-lines mode change 100644 => 100755 deps/openssl/openssl/util/mkbuildinf.pl mode change 100644 => 100755 deps/openssl/openssl/util/mkdef.pl mode change 100644 => 100755 deps/openssl/openssl/util/mkdir-p.pl mode change 100644 => 100755 deps/openssl/openssl/util/mkerr.pl mode change 100644 => 100755 deps/openssl/openssl/util/mkpod2html.pl mode change 100644 => 100755 deps/openssl/openssl/util/mkrc.pl mode change 100644 => 100755 deps/openssl/openssl/util/opensslwrap.sh mode change 100644 => 100755 deps/openssl/openssl/util/perl/OpenSSL/config.pm mode change 100644 => 100755 deps/openssl/openssl/util/shlib_wrap.sh.in mode change 100644 => 100755 deps/openssl/openssl/util/withlibctx.pl mode change 100644 => 100755 deps/openssl/openssl/util/write-man-symlinks mode change 100644 => 100755 deps/undici/src/lib/llhttp/llhttp.wasm mode change 100644 => 100755 deps/undici/src/lib/llhttp/llhttp_simd.wasm mode change 100644 => 100755 deps/uv/autogen.sh create mode 100644 deps/uv/img/banner.png mode change 100644 => 100755 deps/v8/gni/protoc.py mode change 100644 => 100755 deps/v8/third_party/inspector_protocol/check_protocol_compatibility.py mode change 100644 => 100755 deps/v8/third_party/inspector_protocol/code_generator.py mode change 100644 => 100755 deps/v8/third_party/inspector_protocol/concatenate_protocols.py mode change 100644 => 100755 deps/v8/third_party/inspector_protocol/convert_protocol_to_json.py mode change 100644 => 100755 deps/v8/third_party/inspector_protocol/roll.py mode change 100644 => 100755 deps/v8/third_party/ittapi/buildall.py mode change 100644 => 100755 deps/v8/third_party/markupsafe/get_markupsafe.sh mode change 100644 => 100755 deps/v8/third_party/test262-harness/src/test262.py create mode 100644 deps/v8/third_party/wasm-api/example/callback.wasm create mode 100644 deps/v8/third_party/wasm-api/example/finalize.wasm create mode 100644 deps/v8/third_party/wasm-api/example/global.wasm create mode 100644 deps/v8/third_party/wasm-api/example/hello.wasm create mode 100644 deps/v8/third_party/wasm-api/example/hostref.wasm create mode 100644 deps/v8/third_party/wasm-api/example/memory.wasm create mode 100644 deps/v8/third_party/wasm-api/example/multi.wasm create mode 100644 deps/v8/third_party/wasm-api/example/reflect.wasm create mode 100644 deps/v8/third_party/wasm-api/example/serialize.wasm create mode 100644 deps/v8/third_party/wasm-api/example/start.wasm create mode 100644 deps/v8/third_party/wasm-api/example/table.wasm create mode 100644 deps/v8/third_party/wasm-api/example/threads.wasm create mode 100644 deps/v8/third_party/wasm-api/example/trap.wasm mode change 100644 => 100755 deps/v8/tools/adb-d8.py mode change 100644 => 100755 deps/v8/tools/android-build.sh mode change 100644 => 100755 deps/v8/tools/android-ll-prof.sh mode change 100644 => 100755 deps/v8/tools/android-run.py mode change 100644 => 100755 deps/v8/tools/android-sync.sh mode change 100644 => 100755 deps/v8/tools/avg.py mode change 100644 => 100755 deps/v8/tools/bash-completion.sh mode change 100644 => 100755 deps/v8/tools/bigint-tester.py mode change 100644 => 100755 deps/v8/tools/callstats-from-telemetry.sh mode change 100644 => 100755 deps/v8/tools/callstats.py mode change 100644 => 100755 deps/v8/tools/check-inline-includes.sh mode change 100644 => 100755 deps/v8/tools/check-static-initializers.sh mode change 100644 => 100755 deps/v8/tools/check-unused-bailouts.sh mode change 100644 => 100755 deps/v8/tools/check-unused-symbols.sh mode change 100644 => 100755 deps/v8/tools/chrome/linux-perf-renderer-cmd.sh mode change 100644 => 100755 deps/v8/tools/chrome/linux_perf.py mode change 100644 => 100755 deps/v8/tools/clusterfuzz/foozzie/v8_foozzie.py mode change 100644 => 100755 deps/v8/tools/clusterfuzz/foozzie/v8_foozzie_test.py mode change 100644 => 100755 deps/v8/tools/clusterfuzz/js_fuzzer/package.sh mode change 100644 => 100755 deps/v8/tools/collect_deprecation_stats.sh mode change 100644 => 100755 deps/v8/tools/cppgc/export_to_github.sh mode change 100644 => 100755 deps/v8/tools/cppgc/gen_cmake.py mode change 100644 => 100755 deps/v8/tools/cppgc/gen_cmake_test.py mode change 100644 => 100755 deps/v8/tools/cppgc/test_cmake.sh mode change 100644 => 100755 deps/v8/tools/cpu.sh mode change 100644 => 100755 deps/v8/tools/cross_build_gcc.sh mode change 100644 => 100755 deps/v8/tools/dev/gen-tags.py mode change 100644 => 100755 deps/v8/tools/dev/gm.py mode change 100644 => 100755 deps/v8/tools/dev/update-compile-commands.py mode change 100644 => 100755 deps/v8/tools/dev/update-vscode.sh mode change 100644 => 100755 deps/v8/tools/dev/v8gen.py mode change 100644 => 100755 deps/v8/tools/draw_instruction_graph.sh mode change 100644 => 100755 deps/v8/tools/eval_gc_nvp.py mode change 100644 => 100755 deps/v8/tools/eval_gc_time.sh mode change 100644 => 100755 deps/v8/tools/find-builtin mode change 100644 => 100755 deps/v8/tools/find-commit-for-patch.py mode change 100644 => 100755 deps/v8/tools/freebsd-tick-processor mode change 100644 => 100755 deps/v8/tools/fuzz-harness.sh mode change 100644 => 100755 deps/v8/tools/gc-nvp-to-csv.py mode change 100644 => 100755 deps/v8/tools/gc-nvp-trace-processor.py mode change 100644 => 100755 deps/v8/tools/gcmole/bootstrap.sh mode change 100644 => 100755 deps/v8/tools/gcmole/gcmole.py mode change 100644 => 100755 deps/v8/tools/gcmole/package.sh mode change 100644 => 100755 deps/v8/tools/gcmole/run-gcmole.py mode change 100644 => 100755 deps/v8/tools/gen-keywords-gen-h.py mode change 100644 => 100755 deps/v8/tools/gen-v8-gn.py mode change 100644 => 100755 deps/v8/tools/generate-builtins-tests.py mode change 100644 => 100755 deps/v8/tools/generate-header-include-checks.py mode change 100644 => 100755 deps/v8/tools/generate-runtime-call-stats.py mode change 100644 => 100755 deps/v8/tools/generate_shim_headers/generate_shim_headers.py mode change 100644 => 100755 deps/v8/tools/get_landmines.py mode change 100644 => 100755 deps/v8/tools/grokdump.py mode change 100644 => 100755 deps/v8/tools/ic-processor mode change 100644 => 100755 deps/v8/tools/ignition/bytecode_dispatches_report.py mode change 100644 => 100755 deps/v8/tools/ignition/linux_perf_bytecode_annotate.py mode change 100644 => 100755 deps/v8/tools/ignition/linux_perf_report.py mode change 100644 => 100755 deps/v8/tools/jsfunfuzz/fuzz-harness.sh create mode 100644 deps/v8/tools/link_clicker.extension/icon.png mode change 100644 => 100755 deps/v8/tools/linux-tick-processor mode change 100644 => 100755 deps/v8/tools/ll_prof.py mode change 100644 => 100755 deps/v8/tools/locs.py mode change 100644 => 100755 deps/v8/tools/mac-nm mode change 100644 => 100755 deps/v8/tools/mac-tick-processor mode change 100644 => 100755 deps/v8/tools/mb/mb mode change 100644 => 100755 deps/v8/tools/mb/mb.bat mode change 100644 => 100755 deps/v8/tools/mb/mb.py mode change 100644 => 100755 deps/v8/tools/mb/mb_test.py mode change 100644 => 100755 deps/v8/tools/objdump-v8 mode change 100644 => 100755 deps/v8/tools/parse-processor mode change 100644 => 100755 deps/v8/tools/perf-compare.py mode change 100644 => 100755 deps/v8/tools/process-wasm-compilation-times.py mode change 100644 => 100755 deps/v8/tools/regexp-sequences.py mode change 100644 => 100755 deps/v8/tools/release/auto_push.py mode change 100644 => 100755 deps/v8/tools/release/auto_roll.py mode change 100644 => 100755 deps/v8/tools/release/create_release.py mode change 100644 => 100755 deps/v8/tools/release/filter_build_files.py mode change 100644 => 100755 deps/v8/tools/release/list_deprecated.py mode change 100644 => 100755 deps/v8/tools/release/merge_to_branch.py mode change 100644 => 100755 deps/v8/tools/release/mergeinfo.py mode change 100644 => 100755 deps/v8/tools/release/roll_merge.py mode change 100644 => 100755 deps/v8/tools/release/script_test.py mode change 100644 => 100755 deps/v8/tools/release/test_mergeinfo.py mode change 100644 => 100755 deps/v8/tools/release/test_scripts.py mode change 100644 => 100755 deps/v8/tools/run-clang-tidy.py mode change 100644 => 100755 deps/v8/tools/run-llprof.sh mode change 100644 => 100755 deps/v8/tools/run-num-fuzzer.py mode change 100644 => 100755 deps/v8/tools/run-perf.sh mode change 100644 => 100755 deps/v8/tools/run-wasm-api-tests.py mode change 100644 => 100755 deps/v8/tools/run.py mode change 100644 => 100755 deps/v8/tools/sanitizers/sancov_formatter.py mode change 100644 => 100755 deps/v8/tools/sanitizers/sancov_merger.py mode change 100644 => 100755 deps/v8/tools/sanitizers/sanitize_pcs.py mode change 100644 => 100755 deps/v8/tools/stats-viewer.py mode change 100644 => 100755 deps/v8/tools/testrunner/local/pool_test.py mode change 100644 => 100755 deps/v8/tools/testrunner/local/statusfile_test.py mode change 100644 => 100755 deps/v8/tools/testrunner/local/testsuite_test.py mode change 100644 => 100755 deps/v8/tools/testrunner/num_fuzzer.py mode change 100644 => 100755 deps/v8/tools/testrunner/standard_runner.py mode change 100644 => 100755 deps/v8/tools/testrunner/testproc/shard_test.py mode change 100644 => 100755 deps/v8/tools/testrunner/testproc/variant_test.py mode change 100644 => 100755 deps/v8/tools/torque/format-torque.py mode change 100644 => 100755 deps/v8/tools/try_perf.py mode change 100644 => 100755 deps/v8/tools/turbolizer/deploy.sh create mode 100644 deps/v8/tools/turbolizer/down-arrow.png create mode 100644 deps/v8/tools/turbolizer/img/hide-selected-icon.png create mode 100644 deps/v8/tools/turbolizer/img/hide-unselected-icon.png create mode 100644 deps/v8/tools/turbolizer/img/layout-icon.png create mode 100644 deps/v8/tools/turbolizer/img/show-all-icon.png create mode 100644 deps/v8/tools/turbolizer/img/show-control-icon.png create mode 100644 deps/v8/tools/turbolizer/img/toggle-hide-dead-icon.png create mode 100644 deps/v8/tools/turbolizer/img/toggle-types-icon.png create mode 100644 deps/v8/tools/turbolizer/img/zoom-selection-icon.png create mode 100644 deps/v8/tools/turbolizer/left-arrow.png create mode 100644 deps/v8/tools/turbolizer/right-arrow.png create mode 100644 deps/v8/tools/turbolizer/search2.png create mode 100644 deps/v8/tools/turbolizer/turbolizer.png create mode 100644 deps/v8/tools/turbolizer/up-arrow.png create mode 100644 deps/v8/tools/turbolizer/upload-icon.png mode change 100644 => 100755 deps/v8/tools/unittests/predictable_wrapper_test.py mode change 100644 => 100755 deps/v8/tools/unittests/run_perf_test.py mode change 100644 => 100755 deps/v8/tools/unittests/run_tests_test.py mode change 100644 => 100755 deps/v8/tools/unittests/v8_presubmit_test.py mode change 100644 => 100755 deps/v8/tools/update-object-macros-undef.py mode change 100644 => 100755 deps/v8/tools/v8_presubmit.py mode change 100644 => 100755 deps/v8/tools/wasm-compilation-hints/inject-compilation-hints.py mode change 100644 => 100755 deps/v8/tools/wasm-compilation-hints/wasm-objdump-compilation-hints.py mode change 100644 => 100755 deps/v8/tools/wasm/code-size-factors.py mode change 100644 => 100755 deps/v8/tools/wasm/update-wasm-fuzzers.sh mode change 100644 => 100755 deps/v8/tools/wasm/update-wasm-spec-tests.sh mode change 100644 => 100755 deps/v8/tools/windows-tick-processor.bat mode change 100644 => 100755 deps/zlib/google/test/data/create_test_zip.sh create mode 100644 src/.clang-tidy mode change 100644 => 100755 test/fixtures/keys/selfsigned-no-keycertsign/https_renew_cert.sh mode change 100644 => 100755 test/fixtures/postject-copy/node_modules/postject/dist/cli.js mode change 100644 => 100755 test/parallel/test-http2-server-timeout.js mode change 100644 => 100755 test/wasi/wasm/cant_dotdot.wasm mode change 100644 => 100755 test/wasi/wasm/clock_getres.wasm mode change 100644 => 100755 test/wasi/wasm/create_symlink.wasm mode change 100644 => 100755 test/wasi/wasm/exitcode.wasm mode change 100644 => 100755 test/wasi/wasm/fd_prestat_get_refresh.wasm mode change 100644 => 100755 test/wasi/wasm/follow_symlink.wasm mode change 100644 => 100755 test/wasi/wasm/freopen.wasm mode change 100644 => 100755 test/wasi/wasm/ftruncate.wasm mode change 100644 => 100755 test/wasi/wasm/getentropy.wasm mode change 100644 => 100755 test/wasi/wasm/getrusage.wasm mode change 100644 => 100755 test/wasi/wasm/gettimeofday.wasm mode change 100644 => 100755 test/wasi/wasm/link.wasm mode change 100644 => 100755 test/wasi/wasm/main_args.wasm mode change 100644 => 100755 test/wasi/wasm/notdir.wasm mode change 100644 => 100755 test/wasi/wasm/poll.wasm mode change 100644 => 100755 test/wasi/wasm/preopen_populates.wasm mode change 100644 => 100755 test/wasi/wasm/read_file.wasm mode change 100644 => 100755 test/wasi/wasm/read_file_twice.wasm mode change 100644 => 100755 test/wasi/wasm/readdir.wasm mode change 100644 => 100755 test/wasi/wasm/sock.wasm mode change 100644 => 100755 test/wasi/wasm/stat.wasm mode change 100644 => 100755 test/wasi/wasm/stdin.wasm mode change 100644 => 100755 test/wasi/wasm/symlink_escape.wasm mode change 100644 => 100755 test/wasi/wasm/symlink_loop.wasm mode change 100644 => 100755 test/wasi/wasm/write_file.wasm mode change 100644 => 100755 tools/actions/commit-queue.sh mode change 100644 => 100755 tools/actions/start-ci.sh mode change 100644 => 100755 tools/build-addons.mjs mode change 100644 => 100755 tools/checkimports.py mode change 100644 => 100755 tools/create_android_makefiles mode change 100644 => 100755 tools/create_expfile.sh mode change 100644 => 100755 tools/dep_updaters/update-acorn-walk.sh mode change 100644 => 100755 tools/dep_updaters/update-acorn.sh mode change 100644 => 100755 tools/dep_updaters/update-ada.sh mode change 100644 => 100755 tools/dep_updaters/update-base64.sh mode change 100644 => 100755 tools/dep_updaters/update-brotli.sh mode change 100644 => 100755 tools/dep_updaters/update-c-ares.sh mode change 100644 => 100755 tools/dep_updaters/update-cjs-module-lexer.sh mode change 100644 => 100755 tools/dep_updaters/update-eslint.sh mode change 100644 => 100755 tools/dep_updaters/update-googletest.sh mode change 100644 => 100755 tools/dep_updaters/update-histogram.sh mode change 100644 => 100755 tools/dep_updaters/update-icu.sh mode change 100644 => 100755 tools/dep_updaters/update-libuv.sh mode change 100644 => 100755 tools/dep_updaters/update-llhttp.sh mode change 100644 => 100755 tools/dep_updaters/update-minimatch.sh mode change 100644 => 100755 tools/dep_updaters/update-nghttp2.sh mode change 100644 => 100755 tools/dep_updaters/update-nghttp3.sh mode change 100644 => 100755 tools/dep_updaters/update-ngtcp2.sh mode change 100644 => 100755 tools/dep_updaters/update-npm.sh mode change 100644 => 100755 tools/dep_updaters/update-openssl.sh mode change 100644 => 100755 tools/dep_updaters/update-postject.sh mode change 100644 => 100755 tools/dep_updaters/update-simdutf.sh mode change 100644 => 100755 tools/dep_updaters/update-undici.sh mode change 100644 => 100755 tools/dep_updaters/update-uvwasi.sh mode change 100644 => 100755 tools/dep_updaters/update-v8-patch.sh mode change 100644 => 100755 tools/dep_updaters/update-zlib.sh mode change 100644 => 100755 tools/find-inactive-collaborators.mjs mode change 100644 => 100755 tools/find-inactive-tsc.mjs mode change 100644 => 100755 tools/genv8constants.py mode change 100644 => 100755 tools/gyp/gyp mode change 100644 => 100755 tools/gyp/gyp.bat mode change 100644 => 100755 tools/gyp/gyp_main.py mode change 100644 => 100755 tools/gyp/pylib/gyp/MSVSSettings_test.py mode change 100644 => 100755 tools/gyp/pylib/gyp/__init__.py mode change 100644 => 100755 tools/gyp/pylib/gyp/common_test.py mode change 100644 => 100755 tools/gyp/pylib/gyp/easy_xml_test.py mode change 100644 => 100755 tools/gyp/pylib/gyp/flock_tool.py mode change 100644 => 100755 tools/gyp/pylib/gyp/generator/msvs_test.py mode change 100644 => 100755 tools/gyp/pylib/gyp/input_test.py mode change 100644 => 100755 tools/gyp/pylib/gyp/mac_tool.py mode change 100644 => 100755 tools/gyp/pylib/gyp/win_tool.py mode change 100644 => 100755 tools/gyp/test_gyp.py mode change 100644 => 100755 tools/gyp/tools/emacs/run-unit-tests.sh mode change 100644 => 100755 tools/gyp/tools/graphviz.py mode change 100644 => 100755 tools/gyp/tools/pretty_gyp.py mode change 100644 => 100755 tools/gyp/tools/pretty_sln.py mode change 100644 => 100755 tools/gyp/tools/pretty_vcproj.py mode change 100644 => 100755 tools/gyp_node.py mode change 100644 => 100755 tools/icu/icutrim.py mode change 100644 => 100755 tools/icu/shrink-icu-src.py mode change 100644 => 100755 tools/inspector_protocol/check_protocol_compatibility.py mode change 100644 => 100755 tools/inspector_protocol/code_generator.py mode change 100644 => 100755 tools/inspector_protocol/concatenate_protocols.py mode change 100644 => 100755 tools/inspector_protocol/convert_protocol_to_json.py mode change 100644 => 100755 tools/inspector_protocol/jinja2/get_jinja2.sh mode change 100644 => 100755 tools/inspector_protocol/markupsafe/get_markupsafe.sh mode change 100644 => 100755 tools/install.py mode change 100644 => 100755 tools/js2c.py mode change 100644 => 100755 tools/lint-md/list-released-versions-from-changelogs.mjs mode change 100644 => 100755 tools/lint-pr-url.mjs mode change 100644 => 100755 tools/lint-sh.mjs mode change 100644 => 100755 tools/macos-firewall.sh mode change 100644 => 100755 tools/macos-installer/pkgbuild/npm/scripts/postinstall mode change 100644 => 100755 tools/macos-installer/pkgbuild/npm/scripts/preinstall mode change 100644 => 100755 tools/make-v8.sh mode change 100644 => 100755 tools/mk-ca-bundle.pl mode change 100644 => 100755 tools/mkssldef.py mode change 100644 => 100755 tools/msvs/msi/product.wxs mode change 100644 => 100755 tools/pseudo-tty.py mode change 100644 => 100755 tools/release.sh mode change 100644 => 100755 tools/run-valgrind.py mode change 100644 => 100755 tools/specialize_node_d.py mode change 100644 => 100755 tools/test-npm-package.js mode change 100644 => 100755 tools/test.py mode change 100644 => 100755 tools/update-llhttp.sh mode change 100644 => 100755 tools/update-timezone.mjs mode change 100644 => 100755 tools/v8-json-to-junit.py mode change 100644 => 100755 tools/v8/fetch_deps.py mode change 100644 => 100755 tools/v8/node_common.py mode change 100644 => 100755 tools/zos/modifysidedeck.sh mode change 100644 => 100755 tools/zos/sdwrap.py diff --git a/android-configure b/android-configure old mode 100644 new mode 100755 diff --git a/configure b/configure old mode 100644 new mode 100755 diff --git a/configure.py b/configure.py old mode 100644 new mode 100755 diff --git a/deps/acorn/acorn/bin/acorn b/deps/acorn/acorn/bin/acorn old mode 100644 new mode 100755 diff --git a/deps/base64/base64/lib/tables/table_enc_12bit.py b/deps/base64/base64/lib/tables/table_enc_12bit.py old mode 100644 new mode 100755 diff --git a/deps/base64/base64/test/ci/test.sh b/deps/base64/base64/test/ci/test.sh old mode 100644 new mode 100755 diff --git a/deps/cares/buildconf b/deps/cares/buildconf old mode 100644 new mode 100755 diff --git a/deps/cares/compile b/deps/cares/compile old mode 100644 new mode 100755 diff --git a/deps/cares/config.guess b/deps/cares/config.guess old mode 100644 new mode 100755 diff --git a/deps/cares/config.sub b/deps/cares/config.sub old mode 100644 new mode 100755 diff --git a/deps/cares/configure b/deps/cares/configure old mode 100644 new mode 100755 diff --git a/deps/cares/depcomp b/deps/cares/depcomp old mode 100644 new mode 100755 diff --git a/deps/cares/install-sh b/deps/cares/install-sh old mode 100644 new mode 100755 diff --git a/deps/cares/ltmain.sh b/deps/cares/ltmain.sh old mode 100644 new mode 100755 diff --git a/deps/cares/maketgz b/deps/cares/maketgz old mode 100644 new mode 100755 diff --git a/deps/cares/missing b/deps/cares/missing old mode 100644 new mode 100755 diff --git a/deps/cjs-module-lexer/LICENSE b/deps/cjs-module-lexer/LICENSE old mode 100644 new mode 100755 diff --git a/deps/cjs-module-lexer/README.md b/deps/cjs-module-lexer/README.md old mode 100644 new mode 100755 diff --git a/deps/cjs-module-lexer/lexer.js b/deps/cjs-module-lexer/lexer.js old mode 100644 new mode 100755 diff --git a/deps/cjs-module-lexer/package.json b/deps/cjs-module-lexer/package.json old mode 100644 new mode 100755 diff --git a/deps/corepack/dist/corepack.js b/deps/corepack/dist/corepack.js old mode 100644 new mode 100755 diff --git a/deps/corepack/dist/npm.js b/deps/corepack/dist/npm.js old mode 100644 new mode 100755 diff --git a/deps/corepack/dist/npx.js b/deps/corepack/dist/npx.js old mode 100644 new mode 100755 diff --git a/deps/corepack/dist/pnpm.js b/deps/corepack/dist/pnpm.js old mode 100644 new mode 100755 diff --git a/deps/corepack/dist/pnpx.js b/deps/corepack/dist/pnpx.js old mode 100644 new mode 100755 diff --git a/deps/corepack/dist/yarn.js b/deps/corepack/dist/yarn.js old mode 100644 new mode 100755 diff --git a/deps/corepack/dist/yarnpkg.js b/deps/corepack/dist/yarnpkg.js old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/corepack b/deps/corepack/shims/corepack old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/corepack.cmd b/deps/corepack/shims/corepack.cmd old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/corepack.ps1 b/deps/corepack/shims/corepack.ps1 old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/npm b/deps/corepack/shims/npm old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/npm.cmd b/deps/corepack/shims/npm.cmd old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/npm.ps1 b/deps/corepack/shims/npm.ps1 old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/npx b/deps/corepack/shims/npx old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/npx.cmd b/deps/corepack/shims/npx.cmd old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/npx.ps1 b/deps/corepack/shims/npx.ps1 old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/pnpm b/deps/corepack/shims/pnpm old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/pnpm.cmd b/deps/corepack/shims/pnpm.cmd old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/pnpm.ps1 b/deps/corepack/shims/pnpm.ps1 old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/pnpx b/deps/corepack/shims/pnpx old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/pnpx.cmd b/deps/corepack/shims/pnpx.cmd old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/pnpx.ps1 b/deps/corepack/shims/pnpx.ps1 old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/yarn b/deps/corepack/shims/yarn old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/yarn.cmd b/deps/corepack/shims/yarn.cmd old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/yarn.ps1 b/deps/corepack/shims/yarn.ps1 old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/yarnpkg b/deps/corepack/shims/yarnpkg old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/yarnpkg.cmd b/deps/corepack/shims/yarnpkg.cmd old mode 100644 new mode 100755 diff --git a/deps/corepack/shims/yarnpkg.ps1 b/deps/corepack/shims/yarnpkg.ps1 old mode 100644 new mode 100755 diff --git a/deps/icu-small/source/common/rbbicst.pl b/deps/icu-small/source/common/rbbicst.pl old mode 100644 new mode 100755 diff --git a/deps/icu-small/source/i18n/regexcst.pl b/deps/icu-small/source/i18n/regexcst.pl old mode 100644 new mode 100755 diff --git a/deps/npm/bin/npm b/deps/npm/bin/npm old mode 100644 new mode 100755 diff --git a/deps/npm/bin/npm-cli.js b/deps/npm/bin/npm-cli.js old mode 100644 new mode 100755 diff --git a/deps/npm/bin/npm.cmd b/deps/npm/bin/npm.cmd old mode 100644 new mode 100755 diff --git a/deps/npm/bin/npx b/deps/npm/bin/npx old mode 100644 new mode 100755 diff --git a/deps/npm/bin/npx-cli.js b/deps/npm/bin/npx-cli.js old mode 100644 new mode 100755 diff --git a/deps/npm/bin/npx.cmd b/deps/npm/bin/npx.cmd old mode 100644 new mode 100755 diff --git a/deps/npm/lib/utils/completion.sh b/deps/npm/lib/utils/completion.sh old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/index.js b/deps/npm/node_modules/@npmcli/arborist/bin/index.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/@npmcli/installed-package-contents/lib/index.js b/deps/npm/node_modules/@npmcli/installed-package-contents/lib/index.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp b/deps/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp.cmd b/deps/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node-gyp.cmd old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/color-support/bin.js b/deps/npm/node_modules/color-support/bin.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/cross-spawn/node_modules/which/bin/node-which b/deps/npm/node_modules/cross-spawn/node_modules/which/bin/node-which old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/cssesc/bin/cssesc b/deps/npm/node_modules/cssesc/bin/cssesc old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/glob/dist/cjs/src/bin.js b/deps/npm/node_modules/glob/dist/cjs/src/bin.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/mkdirp/bin/cmd.js b/deps/npm/node_modules/mkdirp/bin/cmd.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/bin/node-gyp.js b/deps/npm/node_modules/node-gyp/bin/node-gyp.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/gyp b/deps/npm/node_modules/node-gyp/gyp/gyp old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/gyp.bat b/deps/npm/node_modules/node-gyp/gyp/gyp.bat old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/gyp_main.py b/deps/npm/node_modules/node-gyp/gyp/gyp_main.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSSettings_test.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/common_test.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/easy_xml_test.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/flock_tool.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs_test.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input_test.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input_test.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/mac_tool.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/win_tool.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/test_gyp.py b/deps/npm/node_modules/node-gyp/gyp/test_gyp.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/tools/emacs/run-unit-tests.sh b/deps/npm/node_modules/node-gyp/gyp/tools/emacs/run-unit-tests.sh old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/tools/graphviz.py b/deps/npm/node_modules/node-gyp/gyp/tools/graphviz.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/tools/pretty_gyp.py b/deps/npm/node_modules/node-gyp/gyp/tools/pretty_gyp.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/tools/pretty_sln.py b/deps/npm/node_modules/node-gyp/gyp/tools/pretty_sln.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/gyp/tools/pretty_vcproj.py b/deps/npm/node_modules/node-gyp/gyp/tools/pretty_vcproj.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/node_modules/nopt/bin/nopt.js b/deps/npm/node_modules/node-gyp/node_modules/nopt/bin/nopt.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/node_modules/which/bin/node-which b/deps/npm/node_modules/node-gyp/node_modules/which/bin/node-which old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/node-gyp/update-gyp.py b/deps/npm/node_modules/node-gyp/update-gyp.py old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/nopt/bin/nopt.js b/deps/npm/node_modules/nopt/bin/nopt.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/pacote/lib/bin.js b/deps/npm/node_modules/pacote/lib/bin.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/qrcode-terminal/bin/qrcode-terminal.js b/deps/npm/node_modules/qrcode-terminal/bin/qrcode-terminal.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/rimraf/bin.js b/deps/npm/node_modules/rimraf/bin.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/semver/bin/semver.js b/deps/npm/node_modules/semver/bin/semver.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/sigstore/bin/sigstore.js b/deps/npm/node_modules/sigstore/bin/sigstore.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/which/bin/which.js b/deps/npm/node_modules/which/bin/which.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/wide-align/LICENSE b/deps/npm/node_modules/wide-align/LICENSE old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/wide-align/align.js b/deps/npm/node_modules/wide-align/align.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/wide-align/package.json b/deps/npm/node_modules/wide-align/package.json old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/wrap-ansi-cjs/index.js b/deps/npm/node_modules/wrap-ansi-cjs/index.js old mode 100644 new mode 100755 diff --git a/deps/npm/node_modules/wrap-ansi/index.js b/deps/npm/node_modules/wrap-ansi/index.js old mode 100644 new mode 100755 diff --git a/deps/openssl/config/fake_gcc.pl b/deps/openssl/config/fake_gcc.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/config/generate_gypi.pl b/deps/openssl/config/generate_gypi.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/config/generate_headers.pl b/deps/openssl/config/generate_headers.pl old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/Configure b/deps/openssl/openssl/Configure old mode 100644 new mode 100755 diff --git a/deps/openssl/openssl/apps/insta.ca.crt b/deps/openssl/openssl/apps/insta.ca.crt new file mode 100644 index 0000000000000000000000000000000000000000..6aea6d4f9794cdfb0900a3f0aba6f67b5221fde0 GIT binary patch literal 916 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 literal 0 HcmV?d00001 diff --git a/deps/v8/gni/protoc.py b/deps/v8/gni/protoc.py old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/inspector_protocol/check_protocol_compatibility.py b/deps/v8/third_party/inspector_protocol/check_protocol_compatibility.py old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/inspector_protocol/code_generator.py b/deps/v8/third_party/inspector_protocol/code_generator.py old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/inspector_protocol/concatenate_protocols.py b/deps/v8/third_party/inspector_protocol/concatenate_protocols.py old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/inspector_protocol/convert_protocol_to_json.py b/deps/v8/third_party/inspector_protocol/convert_protocol_to_json.py old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/inspector_protocol/roll.py b/deps/v8/third_party/inspector_protocol/roll.py old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/ittapi/buildall.py b/deps/v8/third_party/ittapi/buildall.py old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/markupsafe/get_markupsafe.sh b/deps/v8/third_party/markupsafe/get_markupsafe.sh old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/test262-harness/src/test262.py b/deps/v8/third_party/test262-harness/src/test262.py old mode 100644 new mode 100755 diff --git a/deps/v8/third_party/wasm-api/example/callback.wasm b/deps/v8/third_party/wasm-api/example/callback.wasm new file mode 100644 index 0000000000000000000000000000000000000000..7e00b580142c1e8171c18577fca06d1a39f2b48c GIT binary patch literal 102 zcmW+sy9$6H6g~G!2(|bLewq;tNm*#lN=r*a1pRN?aNY-fSO@^!IcEq%iIPD9r{egn nEu-1|Lqn5QP-MFgPD&Y~ literal 0 HcmV?d00001 diff --git a/deps/v8/third_party/wasm-api/example/finalize.wasm b/deps/v8/third_party/wasm-api/example/finalize.wasm new file mode 100644 index 0000000000000000000000000000000000000000..74f9c56624e54ab99d9dad2a967dad93ed04b9f7 GIT binary patch literal 75 zcmZQbEY4+QU|?WuX=rF*U`$|OUa0h(esunAu4B6tx7PJ~E`E|BuF0*OHz%H|llY}Sd z7SvjF?mdh_gai%h%jL6lIOEopM_L z-(VDFw!t{cEOU}%nyx0l{#U=aCuUFsPyiNy2PguR0Ym_)UVVb8_+-7?_(NeD-!Q&0JKP$H2%1Q3Te+ IAi%&40BKwiaR2}S literal 0 HcmV?d00001 diff --git a/deps/v8/third_party/wasm-api/example/hostref.wasm b/deps/v8/third_party/wasm-api/example/hostref.wasm new file mode 100644 index 0000000000000000000000000000000000000000..7bfc7288e9b46fa466a6ad202b8963fdfa1e6d15 GIT binary patch literal 231 zcmYL?JraU26ohvZ0t0D00yF-UoQc37O*92qL!pjG@F*UGBbfvloAz-d8f&47Pxz{0IZ7O$V>kBDuaJ1J9MXKn)X7+6}tbO9rS5o@)q%&1{-0cryS zZuUhWAr_Xj(!68_2DbE^{G`MjW(L-h#H5^5Mh3Rr)ZF}{N+t%bPOw(6Nem3!09V}} AYybcN literal 0 HcmV?d00001 diff --git a/deps/v8/third_party/wasm-api/example/serialize.wasm b/deps/v8/third_party/wasm-api/example/serialize.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2207c03eead3f45f13dfa58b73c6bce27716bffa GIT binary patch literal 71 zcmZQbEY4+QU|?WuX=rF*U`$|OVCn+17+5n>b8_+-7?_(NeD-!Q&0JKP$H2%1Q3Te+ IAi%&40BKwiaR2}S literal 0 HcmV?d00001 diff --git a/deps/v8/third_party/wasm-api/example/start.wasm b/deps/v8/third_party/wasm-api/example/start.wasm new file mode 100644 index 0000000000000000000000000000000000000000..90cba2107d6ea9405de046741cb60db864d9a847 GIT binary patch literal 48 rcmZQbEY4+QU|?WuX=rF*U`$|OU~U4l7&sb1Gy_*BnA;5IFmM9^83YU3 literal 0 HcmV?d00001 diff --git a/deps/v8/third_party/wasm-api/example/table.wasm b/deps/v8/third_party/wasm-api/example/table.wasm new file mode 100644 index 0000000000000000000000000000000000000000..cdc0d8c35d65a3b38deaa4c8a8effe740f80bf22 GIT binary patch literal 139 zcmW-Z%?g7s0E3gNh?X6E17F1_(fYF?)G;>i?LiU2C-CN;)V7z9gye(zO$5NhS_{z# zV`v&Wi5A~PAmi0Lekk(v@-|Lp)#`zGbV}=beD~vb=w?TGy7>zt+rk4CC7J&NX!nW| QB@03ZxJxpyQJsmr0dnUdpa1{> literal 0 HcmV?d00001 diff --git a/deps/v8/third_party/wasm-api/example/threads.wasm b/deps/v8/third_party/wasm-api/example/threads.wasm new file mode 100644 index 0000000000000000000000000000000000000000..9a5c19d0acded079686e43604738c0b7df8e5749 GIT binary patch literal 84 zcmZQbEY4+QU|?YEXlQ6)U`k-DXGmaRV44W#F|cN&=H%o9rI|8QnClssn?S;hjO^`T Xnz^VnkAab^2h3>$kqpWV0u0;$N2n9m literal 0 HcmV?d00001 diff --git a/deps/v8/third_party/wasm-api/example/trap.wasm b/deps/v8/third_party/wasm-api/example/trap.wasm new file mode 100644 index 0000000000000000000000000000000000000000..eeed14c8973a1e6b03f5a352e3bff06bd409a9b3 GIT binary patch literal 105 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 literal 0 HcmV?d00001 diff --git a/deps/v8/tools/turbolizer/img/hide-selected-icon.png b/deps/v8/tools/turbolizer/img/hide-selected-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..207cdbb89aa4a22ec9533b8a08a0a4499fd0fcbb GIT binary patch literal 3681 zcmaJ^^;Z*)+Z~-EF$8I(LrIYyDcy|j7{UnY+5iy{lrCZ5Xe0!INsN?HBb5dz>2CPY z@cRA(-*eA%?{Ci!_dNHU=f>&lsy!lQAO!#bk2KU(4FBotf1^fB_>Y@?MA!iU3SJEr zMdKixeME3Pc#^p<+-q@9K&+0Kl-hkEnKZVWkdkr^SJ|74SkpnFX0KNo{KmmZm0w>` zb>c_4;A@=dST>VFbqy;`2L~&qN?b#H13NQ_-P9{D&+xpZb8@f0!#PA^MGy0MUI*|C z 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 Qzc~re(=pVp)wGHFALt7s-v9sr literal 0 HcmV?d00001 diff --git a/deps/v8/tools/turbolizer/img/layout-icon.png b/deps/v8/tools/turbolizer/img/layout-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..95a517afa64be5312ac817977ba8fdbd44632940 GIT binary patch literal 4577 zcmV<75gzV|P)v)?5m z|A!RlD$EBC959Ct9g?i9EEzX$T$l0DDfl;S+GG@@QLrW_C&vsJFu>&I=9(v-c*1lF z1D*Ym!gVj3b9?8Q-aUJpoO2X#zk#M-pZ=!rd3{Y*X12L=*6dCJ-l=AF*|5vav14CK za&n54m6b|*dWMvil}Tnsh6Dlusjsh-F=NKcy27;`%2z^XY5Rqx%goWEN2RW=UdqeM z6nL^UG&D$ZQj*@QmFns$si~=z?c2A>gqtRIsKz@D^hY0kB*9>!l`(+p>q81UB%%6x zNl8hSw6t_dN($QJ-o1Ne@}wyp2E5Ziw`5TX2?=5pCR$HTO_iNHcXpV@I}P-ZAw#To z0bg5NYqg$`kSK}4pqh2HR8>`4uyu8H*57&Wop=5v-=Fe>cGq}^1`HUFqjJ1~#;g=_kv?iIe2H=bvpiUOP?GfS)&So&`eWPE2(EP2@JFL29aNtoG4*dV0F` z^Tfmiy_Y0w)~u14GiSD&#@kJLks6J6P85Ig$tUGAjpXTRsS*l>6j;!vta$A(`|Gd2 zLH@FK%~|t&)*ZxS)IWRoo%hU+9XqUcckkXUZ@u+aW7XAT))<=yR zC2Rir(pm9+R*j=_r#Ii<|AE=Mb*sGg+G|3ps;DTpg$RtJF#;Jr3z4h2&o3S&B_+$L zQ>ScNn=oObEdTSL+RS^K8%ASr<%(5i_3G8KXU`rDN-hW`CI+p~mX}x9CgfuBG!+v%*Jhrc77GVN>D%$f50KRg+~QH&1T)Tnu1OO`A#&n|gRN=r*^Wd&n^Ao@ZS zC0wH|fRc;3=Erp?)S#vxU(>upA(N&-E)=S_ZLp-_mk&E*3@(H=N72gb?c2AT&p!LC zV9S;*QhcJg(Juqm_grui%OK!u)vUP(!&MroRlini7PNv%Y^>H|eVTSDDJj+}sw%6b zTXwd+-u};RkH%^f>wYlSgO=_uTC~VapFZ8@RQxnGIki!fA*)HfWdoP5vC$N%3GJq( zrs%VveI5)NHFu-#pbg?sYHFGl8g+Y$wx?DY%4 z5C}6TP-OH*C|Cmb5E%W|h3Z6yClXMH%Z88-s?LR;Ixt?d(b06u60rUxI z0P`N85n6e9xqd%GF1ze9(OH;Q^B*adRs}L0>X|$5m@S769n{)5%@!5}qo8WFM$I%+ zg@A@@YHBQKfMbH{zRED;WydhV3lLZW>8G-?Qcbj%f=iSN4NgSoK!U?Te+U5!v4Yh5 z1TxwWA3j_(c(w^J;9CXy`0?WfJN~&tdi3aN{SYP?2zUTgQ}`wV!B;~%aOmDWTe}a~ z(G!+Ixe0iesu)H(Gp7%HI$g)pScS6~W8Y0spnMCBH|YBa;-ZT#lGk515HRs{oKO_OH@7(U|$vckebqlJfMq(svL5ffj;Khcnl zzzWW%6IF^e#|rg3w3eSgPL?lUE=5O*0!yBKI)GU#(-vIMo;}q~Dy)_fCgbU9oi5@W zkQtfyd7|}yik=Z8MzjlHK*yEZrI%i6zWCw`tA&R824%?Q(r(?lS;4jG z4tVv-7tN=i{#SZrcUQAb)A!4)856|lpCkRyA3}86ua?WNxI&(K>ZzE3XUv#k?zrO) z^XjXwwtBoB74+WS`;5*}+dN!ZUL^rTzH}oaDj@_=rCNqCc?6K#Cr1|kZh_4G#hj?x zc>n$PEif#hxcGz$EZw%JKR||zM(KbCt)SNJi2eBvl{N#ufHr_ zyjX+P%`urHzoN-{4OVEDfQO}UWa^h724PLaiy=CvrUQz=(4j+P_Gue5{=rR9%&Ju@ zju{gd@MV6uR9;@5y#4muar=t|%sI+{&*R6AYfWAvx8Hud zYZ6QxZgc+BXQgJz7qjNeY1rcDVoo~JMR{80y87(rHpPw)N`wy@Y zn*fLpV<{9R2$UR-HISCxefQlK`-7KALd&E%ERfRo#8+R*J@?!rZ*Jdl8t~IV;~$xs zu0$m501nWYANP?c#L%vL_a5@w#}>AV!9jyB2+W>6Td<51#U*y~4*@by<^oxQTzv7x z%y+k{zevEG6IYl{#u_WN1_)~HkDCCzIW+-|X@By`$5xxXND3h@lQ%I%v;m_CfxPPt2S@dRLr+L(aFIb|a02|uJ1 zoiJg7{Cn4XO*%W1i}5#q_pCrR{}u{KZJbiZDt(b-eO-g{8*jY9y14yj6Z2-87C&|` z*4i4I($W?Em^Ae?k-JK!O`F#IyIpdPLayKC^Sq24hpA4~aAef zn!y9NiMj&@_LmDTJiqBnkqtWW+$p39jHqA#^2;y7_nW-U$cIimXm{>R-QP#D-}=_K z!yR<>NozqfhVT>y{htp$GK`5Kr&$vg0MXkMCX|<#=P$ebNGe4UEfG^!p2BbAuXg4F z8&*Ps(FlL1qWY$gpO|QgAKvp62F(qoYQEO;*S<|~v(Hr^$bzK*O(BYsSPF{8V>o4z zlE}fBvN0k3F`eUNf=NR>=L6mi?9DFz;|r#i*kCy8DXeKmH~b)g@rw*-3^EW1MF7(M zrVv)=l@gDqNS6$QrXr#PeAa^pGzAG7_7xdb&xap=7_a|Md-mRYJ56P!*4e>is|>e_ z;wBYQj#nHw`t<1&<|_=EJ51U!pdcb*?ldIHbL|Hj=~~(yIdUZ2L06vW@KgB$oLdxR z^hYG8mheMh558~TzF}6IfF3+}ur+B+nZ`(peIP!#`RQ4vRI!XS|xLCo#$YtW)3 z!;XX9v{6WwE?sIr)D?f$u3c++!KWRcK?@jOh(YiTQG1LXJJz22KTSY$^SbMDrz*Z$6s=EFb*A60uH#7rZmu1pk=g|@w~E2CD=F*b$y1W8YgCv#^H2n|#~**(_th!KH{X2AJoC&mwiJd>e44o{<5E5nOvP7q3I&$-B zq$GFm++*&aGgm4~%Oy$IxGHs7C|UVPRqzh5TR32+0|N{K?k%_664`}4KMgc@nft<& znVm#Z%$50aPlafM2LedY2vSl~EFXXTvHbkr`#RLj_w3qh?!NnOIefTCa&mL*!~m0w z1S(<-Q`Q7EW>D~P7W-2bJhQdUDJp2)UJ=lLF|ae1ezwF9I=t^t005kI=%b&1E~_<# z-97tf9RggpXxR+`MMa0~#2<6!6?XB@#TO<6A)YB5{IX@s%=q!+ z<-q>^>c?5(IwCFIt%Yal+M1moQ>~J=;Dtcevu7`PY|-yd0}Qs9pr=lq8qie>YvOc< zrU?>g7vQeYclU4w*0#uvEYeM#`Xl+p+y~6rb))kY79(o9TQ7Nh<{F~~lhCsl-AtWX8A-5HZ)PN7UGLKr{S^%4*fG)V9m1;S5go{o9dIe4u^+c1NE0$@#%@SUkixy(ZU&cL znV~)BoZga?lPfD$tdPM&E{usS<^vC!M-2<^M!qg#cM1fwRs zv_-(QZIz~Z5xVcbxrRcY07BXza1q$3&6AWNZ+_InJVWzn1kJ%@JVMJ5f}*Xf2%U>? z9}D0`AcSyCW5I=k1_}QuFz$x@R%2=Pi}p*6e>QI1 zWFFDIB@_#kdZdY(D&1tGrspOg+zbX_(V!dt#s3uV0vw_rXCaJ_L%Kmv*PV4o1n>CB zjnMP+$H~Hl3+1ArgX4GJ$hSY7(aXLOM+Wf^Km4$~^2%mgpkUqv8MS1aHefn3D79qX zjN)u*+ZZ5ej};*ZOdb=)iiqe4Vvg3}znb^UHu2x4Mv>sxtt&JO7A%kx$G@_SQ3kTw z$qFJ&LNMulHnMHxxsTY)a!_30vuNB8WqFsi@++^r(pHPQ38&4xx4B^?!<_%R;5UYi zar?DgL}M(r6YOeL23N3b2+uhZ)2M!!)!M3Kz@qNZR zwi{^wf%SzO%*vH3byvX-3xYxeY6&z!i+3n&unZzI`_fnkpEPL_+nn2t*LLg3gN{71 z%~Ch7+Pz+f4Px#1ZP1_K>z@;j|==^1poj532;bRa{vGf6951U69E94oEQKA639tJK~#8N?VS0K z6~__B7nzv*SdLxT1$Keu_7Tf6N^FTEoZ`L-_Z7f^4a9(L!fgo7Ap+Qj2;*R|O>ivv zkfj)l{7q3T?z_{UV!pHWX5a3c$NI-DQQJK|JzZ7bsy?QB9u<$nqj2-~jX?VF@dHcY zd-v{zEIoewILSpK`zT@Zo>iW?_xNE5_wPO^tW$y>K8z1Vdi1EUvdT*lI`gd8J$nt^ zy?Zywg>dK2og^260d)W2y{PjOU>-cWAOAKA_YD;T2%};0R+ixukjPdqrjH&xPV;%_ z{{8#L7$JkRfVD(C<8}7{71)#^WL5x%z=0{$Lqt)N2DlVA14@ z?w6nk4Ad%7I*Hj&r$?c28tt|5ycSU|}$#k^z>Qj~BS1+Xj6-oJe_8j{rW z5oMf%=uQGg4wP;(s5#D3_Fl0%5HgWr05SHcP?Ystfl3PD~ZgvCP*Y4=AwekiT;)4u&zWv=m7v zfpY8CtyDkKQf#`rYfl~sks=48euaNXH) z4QI}r3A=ai4u=jMO69f02M`lzJ2>zYIO$;2m=QWv{dDT1`P^* z`t%7yhYk(%=g+tHC8rcg`AwTPh5GvX(4|Y4P*YQ5?IOP=rXD&~S67>So~f;^P4z>s z)vH%q`#xBdFNh$>U$0%eHgxXTCG@Y3LLvi7WshD45MWjJ?H79Wiq}yn3Luy~ph%%1 zLxz|ly?ggIrKrz6C~pKo)Wy&a9Xb?%gTre2)rNjm{Y^LWFb;)vjjjzthFLurdvGxN z%$qmQWMI3xvZzIX)~#D-3e*o8Yz@+|1OpI)2i6WsK>~>G-MbqolmQT+^z7NwK*K;H z2(Z5R;)_H|X(EEY{q|b}q@kf9)Ya9QEUwWDJ^J>p3ZqAkv3#$d(HT)M^i+yd$paL5 z>X}WkjfD#rCXxy#Dk$w@q7 zfJ_8-e6~{7A#1lG?H*A0EogYKnS8CQj|eBO7!a;qhU}(=+ddH0XJ&I=rE*yr~yfINpZkK zF@U2U;Ou^DkF}p?7L!NmV#kgh3&V!RZW6stRMMpZ0q~KFOk|LM;kg$rMQ=F}J0cl-Ledyn(Ce&6v$s_nzV}Bh!IQ3!p@}K_- zpM3le;}1`N6waUfBwV@tWjOQUS<8QZDR!%*ZCeZF8>5XhiO}6HUAh#`pFbZy`sj&_ zOP_ugE`0K7IQRFD!^I1i!e#B#8P8_Tn$=`H%mvVzRcq76 zhz1*js^h@dHwuj0vrAe`n-xEG@$$(JH2o?RTK9_KP<{R$nq zIF~N2?u72xLKl;>EzKQ4N#kP1hgB<9n-Bm3kowxe1`tfXSGV3K6a@h3t)07?v;*t? zD`jNIH18PXm8Z+;9gNj4?RfB6jBeSyH4Ga%+@fFlS+pc6_Moo-(k$jljxd1iA`##P ztys3wkVX&yHPpraAIF}m%IYv=;7}_AKzW7y_BVDI00PB8$h1qEf|i5O&#!PH0|%lF ziX+qZ+q>T}P&D=k5F&}OQDZ6qagXuL10)%Z0Fip;eoQfJ^~yEYhc)ukD1-8(iIc5d zUO@qvdMLH)_q)?}JY#^~!<6PBl$GKDCFPA`R!-RZ`ZjYEYqycZN11-;M9N_Pn+cOF zkM8J;uFQlUAhq2*K#td~S#ME+N0=!D5(DAX$kmv`HX;Y?~(*#V{&fT6k zwzU8$G<$UGnf7PhU$kJc38NgQ->bXv+@Ih7i`ByjbuGpVJf63UX_^O&V(&||@%pAM zrlZz9$j5lDap3&9ah((E@q)}OMj5)IWBC9jT|-@rs32-!1ai$ibrC=sTsOo3!Yg=- zH4pVrlowp;89+(fVvD2_BvAY;Cgq7DW=~|n=m9X~F&<|rawL->f;vR~({-^7Kp3lT zHoRek0j01e8Zdm}{6!XFFFyav)Pp02jZDM)=#gWM?I&E$Ae|1#k(j|W9&OpO#Xvwd z3svOeB=U4G#vI9$L(w0Ah#-r!)^;&9h@p50&-n2K=6d;WSD1J39^fFHYXAdS22j-p z{B+%tgVfD@7vn{m8AuCRWC05KZe6;EWlNVg(Gx}=p1}^BUK*el2qkz4r4bl~cn5+A zc_}WBPM<#AUP|?HN`08sDrM~9`02Xnn9>Y+S?kxYw>H`OU`)YS>n_oe%u;h^%{4Fp zC|#6Bk>mvqy@Ii*Y=CqFMOLj^Wrp$w&VovNE2`s3i#L|-UAuO*mq6a+d2{FOn`ha3 zVdISF1yUZ;Y8sH(;6f)H1wa~4Fc_XabB=+b=pkBt3V_VGL=w?n7C<^yflzAAnl+(Y zw{B(}kx*G#X@)~t1HI9U7A;D*JJ|XldH{;I@WF!zTifLTB-*}xd%E|eH~P+ldZiM(nMwyZG-O*W($thtx=?Z}!T(l!!aFmGWx12Wi?XA1%u z1zo)ZCOaKk=StkJugDBH68~u9DoKu2yBs_lnc=NdL8gwu1Z+pU6 zSltA}xuz{P-PrX6WR0)yy%*PN2}vGKfej#w1{obw8G8Mv8)3q@i8fPcG4{@$cN>k1 zsRtBL3T6&&#q8C8|5&i9);)VRCvkeBv4_Z^>-(KRypBOK&=cjN#rCjY~7m|9$0Mbo?KqLME==<-#PjXKP0jdvq zr9>XcJ$v@pb_L(}kWQO6tx5gn$Sdqu%+f)6czrxc4~TZuhU()0Inq0r`%ONeg7hGf z#l{yei0#|AH{-th?mN3D^1`z~i}*&7y%)A9cnfE~~`n`p^#hIdoabgD5+s z6EC@(3UIRg8dWnS;EUAl#=(hZQEvh(Cq%P zxrOJoCrlKbJ9p0NwM6KlC}5)t9dw8QP=LgjtB}SQ4_21YLGnpqKEadS+3sj#kit@h zA~x+&NE=mzH4S?YQD2SA5Qt|16(azM=Ku?Uh@fT5mL)YylXT))yiQcBO}Z{}cI?f zg$f`k1JN)F;Vr@v;{b_B^7R1LgS%_jE{hO6#E}nO07Fm;k7(z(3$0kO!rBLL zWMC+H%E%)>+qMUaiKbJhPNo<3;5?$;JJ@5=WT7ZyNjW%Vvz@(YP9^jKk~YH9%`=jS z+2)O}TYb*QIR)YPInTLODUwc7oGt-4fPy?^p`V?#SJ#BS@BAU%#LI5d=|c++5A&VP zXDAC$ddMFI0}d&IOaYui^~ijFCs6o4htm-1(iIpZnme~DMd%@&Afkg=38QRmjK=Cq z4o*#EI43f8wB&RoPhA|X=UNSrH4+Ww92>!0rvfA6nK!p>w{q^wqogQ{ms>iw%0oWn zJy@)XI6@|RkjY0AT=Ve)4my79ebX`BGL9lmr&t%80IJmh0SuqO;33Y(IO9T?z8vG5 zM7%+C2^?65gn7=bN|7SXk1YVr^L$l;d<;fUeH#r^UhsWV{3l>=rUBJjfM^WHBl;9Z z{hN=MxW_kv&yRT_1(7A+RcePT49*QAW); z^?Y60;@WgY-N;K8Ewyii7>59bXa+R&1F(1B-fLqLAQELnkd2eA1&D?ah!6y#1mEAF z00Q`$OTZA)i~&<7#n~!0Ls-lEYPZqH1%n%`Y#MPfTHnd#`HKK$0jtbs;#V{(C&nx*OL-64zS25=r{>m;0>1xldT51mgi=|H><`gezCB6hu-> zU{+gD$G)gpkggzmzOi5&FPq``PenVgG00HhRM1sD+pK(gE0UlbrubTJw+L!&1U z0P0-BS{osZZYHI;<{lrO0}LRs(S||H9=tF@T2;41zH5yeH_mo8nSJywhAbjkI!RBQ zrgahJ)Pn^QOgTFFpJe6+h@18qaP*8o(s)G3N)Yz|hcX6l4d7gpVhn~b{o*b1aGvc} z5xRW!)mJuV&>qvY_NF9XQ6Yz+x4IU2?#l+*1EY%v$al3|0I4w|0$~V%Q3RndFQ)>F zE=S5@jOXYMfWwS}aTrAeUAuP8WRxOB8C{KS4Yn%SQKVf!!gxLpL>6)Zh3J6=m~@5> zlmtA|vH|i+)5U0nNI(z@02B*GfI%RUL>brICxUo}&-S7|!mDr*Ll zPMn0WSw{DQ0m)<}5rpy5M|n9BuwY$d4?3b3GoGjkK$;yi7^(vM%ya|xaM-GtJbAJ) zd0#eZ(xes{qb5$AXdhwnB|bmQEe9O0FwgNnC~(s9+H0>_+r?y-!<=xi$>zz+Oe4q- zm;x)i0Q1oWWv`nfKND$+_iLk4#JVQ?iegi|Go&>nU6A8-<+?%z-dJw@T*4t4<7N1D zOPx#1ZP1_K>z@;j|==^1poj532;bRa{vG&=l}pD=mCOb1snhX779s3K~#8N?VNd# z)m3)KPwxv`FYL`K-GI%YiMY^>qnN76umqQw$yhMR#K0q>C^ccskcu@K$skp6pfRL$ zFpel;*djX(LycMqnVu@EQu+tt3=NV}3?Lv&)BEebxu5gidHw6x{rbIDbWCc#c>CVp zUC;U6bMHOB<(by*+FV0pgXHJsOS@~A^t5yVtu0~6&d%1f!8s>sX=%}mXaLcy7%U$I z%6#_{4u>TxJF}xsWVnQAYipB?j0|aS_p+sTRJQzNKxUKMWT&s-HE3>bmYkd%O*b_) zNp5bgrj?*@TUatPywDzP?QJSZxu>bczGxrh9&4PW0$AdUMBdtr{iJ%sjm8F3h<{Dy9l9^5gMus8&+6ZiHY}B+}Gp1S)7ZBx}sWK)2 z2+oqS?SdUg$#ufSUvWwH{X0yKKS4R zId$rk^y$+_WlaWCoVuiKO!DY^+_-TvZ{EBvr?%Gjm6S4TOfZ5LE?g+p)zws!!=8kK$<*`Ptuq#vp-2wl+il!84K!;Z@UG?mxX__U6l7QKR2s@2z zVCq2%`J6KS`t?)gXp0qHx^ziuYHG9%LZ<@SL&m;+`{c}-Go8rMiNhuFGB!81Xqu3j zo~40&J(Yc2(7#a2+FIKs+|njZ4b5`x+BLa))$16AEoCFBNBXH$SXdZypdbKZ%oHK0 zPhMXY))+TZY#?HUKpE=MAMxhRn^Rg|0J8V*->+kg963_uFd2+wCT7^MVVXt;QxF*$ zo3>0GF>NTfey9V;GvhF%TSr~s4NGUn10@;MI%c3|&%PlqCtqianW0T%z4t`3^OQVh z&eAPSt@80l|D!WGZ|*$xxl#d2+;`u7QdCqVCr_SKS%M@WA4~Y`*|RDelgO!rWk4LD zE<{5LBv~GlWY@sRvb;`o1uGhibsAb@BP!1;{^_Tms(_fiodhNX%aOXIFJHc_?Mq5Z z+j5;r{(GkW&1rM1(JYG3X`#Q>sFP4$;-*g)xMFBGDt!;_PQ-ww#f10$8}um z!^or#Z8&6Zx#bqwwQE;L(m zq`9d@a&ja41CAi=xDMurTfJaekr_?qNz+~@!Ygl<2~nni`CYB89UeO4hC(5EZv4@>KR9fUr!0Dan|S!=49nayN}q@g~t46qpP$G8vEhjBhuYf1q| z4nQX4VH{%iGh|)*_!DY5fZG||f&Tsb>jXnaMMZ_*lYXh~Ar}(kt))A3B`6MTaww0< z+6*rE?!)qn!-te4X2t};2}A$}UcGv?Y}l|t^84gPl!(p@n>D5mVITbWAz8O>u`Hf8 zO{V!koi3rW(w8lkMT^$>eeQiZ;rp=t4+~(kfAp`G=pKlyZR$s`ytpg2jk~zGSeL-Mb?f9GR{mJhv6e@@ zm6XkrWg8;*VxJkm-XOEe$|R#?vTXaeJvz>yL4(waSvsV#obltwtL3n5;CBJG2ry#A zh?Mrht^{?n2SE-(5Fi562OQn(E08pM_G~$E;)K>kxGPt#XkEzq*^AG~uWW_~D1@lrr||)2HRO+iuf4e*+T=AO#uOH@$&qUQh6@qW_y9xU_a@Zf)|l zoaE$XOJj3`=HXnmhW+W)?q|T)OY?5c<}Lp!U%&fKO`kh|R@(dt*KdHo|7tidr_NlK zv%bqO24Shccv>XCKyN#k#Cz_!M}EF#bEMSoe+th9Y4%K31bYz&Pcn3|AY+w{7Ph&j zGdi`6kvw8743Lkt96WeX?zrO)U6yQwY0aO?g{!GOod3M2zj#5K(zA8^J$rWRA%Op7 zGNKk6I@b^bk-^6tiO`84*fl_qDbCu4EMf*=iBTQ|gpkKGn;A1^NaM9ja{khnLrw%u za;Y&#*6iOSE#a2Pv+k&MdpA)nnrpTGwidmnj1!S17q5?(PwjXD=Z|@P)Z*`bM60BNnq|+5Kesw<0RYkfD*}Qb1ai1vV+(;4 z0{KQJA?62}pQ3Rz?(URk?qPSPU_@W5Ik9dxYkuw7 zpV;Y{I1T;;%l11zd4YfzZE5o_2wmFL9+O}DC?!;u%S8H00o?9%2iy?AF>YxPbU^^u z!4r-8cB+vEoO+fHA~gw9#EIiaqp1||weeCKO@5VeT?y(9D$C2FsjoJ!D?zo#uJhgc zR{*~=3;Mr;-xHJs*Oj2M^2%uH{||m|K}nzl@tg;EM@eJg9jn+iv8BE5q<6uxO{d;mUnoNeEL-?CDk=H=$51*3vqe|N3Sv_KN z`jFiw5%A0l0?~oCIFOWEA3R5*EkX1AA78ICys{c|lQ?J295->|MCS)}rKP2A_wLgv0w>NN*!j3!$p2Xv@T?tE&s#0@S)c92nP+zfldXJ>cGdKXR+VEeG-kZ&(4h z8r*YLS692~)2F)u0|vOVvNAV!?%bHZb~|F@5yPfl0INt${>F_P_0fQL_1&mZqg-)u zv64j@_b#AwTIDTB~n{4&<^%{dI zQ>Hj?MXsQrK=pwr^aSV?Pgcx=EVcsTM;>`ZJ1QwDaU(~L)aNIp(QQ9nLWN88n5nR^P<1FOD$?c^a@RJKe~<)`x7b7Y*4(S?9~$P5{5!aRrOg(flY z=y|6P(1A$@)C1|3fuhDFEYcwa5IEH+?P(=`8Fn!eF^?9s<%>(94IV@sA4 z^oApENi`d0i9c0zTnlB<*VVnb1XtO5@tQn1;c#L+ zL^hlrz>>0k2vejn@8fxmYadDRux$DA<@%i;Ry2C_XvxUyFZq$uFA>>NSkzZudF2&( z{`u$iJ0#Duf^Q8Vh-HO!*vrslNJR)cc_ptQ@zviy1Z{W4?5AIpRZ5qHG;VQl(mY4c+}`mwQyDWeX{ zjzfoKNFLh-<$P1b2@Hbz6YDPyDd56jgZq0i`Q_m^VgleR*nrewNwFa^5cT;|b?2_v zV;?UmNgc1Flt9Qd#Zm?PT0FVHNHIB(2|V=BL;6ENmOFX6Z~8vagZip?G*CWu>QvdW zV~3UnL7Co*5rW{F$_QoF!XOBOk_<-7DL@`&H{X1-4gw&DQ%)_&!(4gDp{*%MAE^L2 ztS)UK#>fHY^#Wwa<=`VO_8&ld^O7m2t?6Tk=fKcq8f_K;0TBF{=Tba)AEKH2?@}$E#UIDhOH}X=Fpu_OO@N|Hp69{8Vc?J1bjuY~LYw+%{Fe zXQE6!YVkL|{%(NZw(%<=e&+@fkpsFA6c3m;GsTj)4myq8!14oIexEgQ!j1X~?(ktH zGQMnrlnfuCKarwr$dDoGQ{8_1?YhC6$tMH#0EFNnvyADB&x}h-O7uWr98S`K#e<~$ z#!1qzZ-32u=bd+A+X6s-CDq3S^fH4mS%L-vx)2l;n$FBDtwYiT$}mxmeJp|{!0|~w z_1Mg@K4zOT_5-Yq8`7trep-dbw@QYfz#BJil(*l0Tl=A3%IJf>2rMpG(pYb?{a2a#L~C zsLxpJZ|}YLUhE`=B&>^ZnFzBC`lLSl9@dSl)FaQ9CV?~{KZyA2q)W^M#9B-sW{Mdj zpFF&1@=0@yA}nbF`xOLYY4}s*kuEPU?;=chz(OFFpK;Re+_`hQj3EF^fdGD&VTxnT zjKjomjr>d)F{Id}8*$0dg&-3eq3Do~Aj1YkV0;>83gK)4~fVDdXgi}H*z-nbPmHP zjoH5Z^2_Q^Ft8CoX9UZ${6wHngf#Q#{_Lrzo>Ik9fyo0k;SqKI$$8kHu*iVZ?OJ=Edgdfc>MPSBbat3lUaf(@_Asg zFb@5htZIdRR(R*tNm&ZWyB>oBQ^tbjVY$7*XK9lPAfI47kY*gxF$NHv*&&lnjTnIp zTz3cZdkUr$WHYdVykP%{z+@Td&tj~S5FG2X1Q0X?c(8n(P=CRDr`Vogg&!kDtDg7(xW nu!qsd7qQgf!3-rbUYh(bV&N})$fWF000000NkvXXu0mjfTVdEX>4Tx0C?J+Q)g6D=@vcr-tj1^HV42lZa2jn55j)S9!ipu-pd!uXCy!YnK{> z2n?1;Gf_2w45>mM5#WQz#Kz&|EGkvK~TfD`~gdX7S-06<0ofSs5oQvjd@0AR~wV&ec% zEdXFAf9BHwfSvf6djSAjlpz%XppgI|6J>}*0BAb^tj|`8MF3bZ02F3R#5n-iEdVe{ zS7t~6u(trf&JYW-00;~KFj0twDF6g}0AR=?BX|IWnE(_<@>e|ZE3OddDgXd@nX){& zBsoQaTL>+22Uk}v9w^R97b_GtVFF>AKrX_0nHe&HG!NkO%m4tOkrff(gY*4(&JM25 z&Nhy=4qq+mzXtyzVq)X|<DpKGaQJ>aJVl|9x!Kv}EM4F8AGNmGkLXs)P zCDQ+7;@>R$13uq10I+I40eg`xs9j?N_Dd%aSaiVR_W%I$yKlkNCzL=651DUOSSq$Ed=-((3YAKgCY2j1FI1_jrmEhm z3sv(~%T$l4UQ>OpMpZLYTc&xiMv2YpRx)mRPGut5K^*>%BIv?Wdil zy+ylO`+*KY$4Vz$Cr4+G&IO(4Q`uA9rwXSQO+7mGt}d!;r5mBUM0dY#r|y`ZzFvTy zOmC;&dA;ZQ9DOhSRQ+xGr}ak+SO&8UBnI0I&KNw!HF0k|9WTe*@liuv!$3o&VU=N* z;e?U7(LAHoMvX=fjA_PP<0Rv4#%;!P6gpNq-kQ#w?mvCS^p@!_XIRe=&)75LwiC-K#A%&Vo6|>U7iYP1 zgY$@siA#dZE|)$on;XX6$i3uBboFsv;d;{botv|p!tJQrukJSPY3_&IpUgC$DV|v~ zbI`-cL*P;6(LW2Hl`w1HtbR{JPl0E(=OZs;FOgTR*RZ#xcdGYc?-xGyK60PqKI1$$ z-ZI`wBrnsy*W_HW0Wrec-#cqqYFCLW#$!oKa ztOZ#u3bsO~=u}!L*D43HXJuDrzs-rtIhL!QE6wf9v&!3$H=OUE|LqdO65*1zrG`sa zEge|qy{u|EvOIBl+X~|q1uKSD2CO`|inc0k)laMKSC_7Sy(W51Yk^+D%7VeQ0c-0E zRSM;Wee2xU?Ojh;FInHUVfu!h8$K0@imnvf7nc=(*eKk1(e4|2y!JHg)!SRV_x(P}zS~s+RZZ1q)n)rh`?L2yu8FGY z_?G)^U9C=SaqY(g(gXbmBM!FLxzyDi(mhmCkJc;eM-ImyzW$x>cP$Mz4ONYt#^NJz zM0w=t_X*$k9t}F$c8q(h;Rn+nb{%IOFKR-X@|s4QQ=0o*Vq3aT%s$c9>fU<%N829{ zoHRUHc}nwC$!Xf@g42^{^3RN&m7RTlF8SPG+oHC6=VQ*_Y7cMkx)5~X(nbG^=R3SR z&Rp`ibn>#>OB6F(@)2{oV%K?xm;_x?s~noduI3P8=g1L-SoYA z@fQEq)t)&$-M#aAZ}-Lb_1_lVesU-M&da;mcPH+xyidGe^g!)F*+boj)jwPQ+}Q8j ze`>&Yp!3n(NB0JWgU|kv^^Xrj1&^7J%Z3ex>z+71IXU7#a{cN2r$f(V&nBK1{-XZN zt``^}my^G3e5L*B!0Q>W+s4Ai9=^$VGcjKDR{QP2cieX!@1x%j zPvm?ce<=TG`LXp=(5L&88IzO$1Ou4!{O>iCf&c&j32;bRa{vG?BLDy{BLR4&KXw2B z00(qQO+^Rb2nY~47Re$>mjD0*;7LS5RCwC$oJ&X*Q5b-~d}|N1r04-z(87W?Qee3$ z5o!~)C~8%ZEsBJQlBB3b6jWeEijj*j5Q?BE5hOR!su$I!pqEMbAVZ7Znl>$*f$8SG zcf51X-2cu!AN=4|x&ME^nRCvZhl0UiFc=ITn4q9NSgsP#VI&i^a494 znJ+Km^+Mowg882UTY?gm8S#3v-6Sj@@e6nWl*Y)L73KSNK66`k{SSb-K}tNUpm29| z17$IC=0tpbS#kb%!2BTOH7YLLiB@~CiFe^TH0A#cEYm6Ou%^N-d(Z*Mh>`!2#{3pA z0u<^HSE;e+)%GJsERJaw=fo2o{anAMVy{Q^X%n$9AaPFYQ2G43UsI925#pkati1ut z8w9dd$ac73PS?=9(XtwN6!6 zaX7|voI|ycJI;v{QtrG?U^K?hOM!Y}i@XDV<-Ji<$h|o0bPd3CVe+2(mDjGQknV`r z?z`{+uvXyq!Xv-(+7uO%7o`(k0h|#k?x$aQ_w98qzZAI!Aa~PkLM9hfz0pwxBUj4= z?|Vkr=;}njhxJ9z6u72oV+j^C5YcSc2o+}myH(%DyA%|)!qrvu2o?8GS3ht=(K62! zq2fk>MLNXg08@c3p9MAoe}u~0fcoPnfo%jOGj0YojGqsgxL#e&6(O54I%8wd50T45 zBCa7wY3>g7REmpx%l{{@0_AxM%UhT1Ibd#ziaRZ35?!5Q;+`Ok_7sx0RGPfmjGy$B zF7BYvB``J%7uP9Oobw3NDtOXgj9@YuKOz4<9oFb{Q6)^=EuD9Z>ZaQTOaoR4xR4`g zKB%pOIl!}Yob;=r!pEM6ifAUqsY{Z$cgQ<|;0gCBr)=PE66BQ=63T#~0L2|oRZ-D4 zP-+9}|D3})S%i!`0mv&Oq|5`pnps5RY}6#K4VW3H>j(ucip32P`wyN&MLzIJp}g&+ z8S52^yGoi;?^E1+dk{)X3K&1Wnuxej#t-JCHLKEf(yxj`lN9$Nj57#7qwi!E56X?Q ze<|@O?xayQF*R|-J+pr=!>IZfXD_8KinuWZ?(|Ee5coEMyuC(^H?~HI>oCoAa=8D; wKw;QdN>oz}yacux6^UU62!p|3Fc{LFzZotmKjr6~&Hw-a07*qoM6N<$f-`vd3jhEB literal 0 HcmV?d00001 diff --git a/deps/v8/tools/turbolizer/img/toggle-types-icon.png b/deps/v8/tools/turbolizer/img/toggle-types-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8fead8f079da0cca01408530974fa72ee101f46a GIT binary patch literal 753 zcmVfgc5S@INlD6a$Tw2RfsSy8w3c(e@iA#S&)kBX(2t__tLQ!rgDvJ6qIJDwtQ1t>) zipmWdoTL$HXlt|UP%EmPI=kL=wJQ{eH_ z6~|c89nyHL8?8xe-N;OS6_mr%|oelA1tc{TU&3(#s(cQ%{MSNcLzQl?8A@a z@38yfV^CP+IpIs4Hmzy*U~}_TVsTMtCRi+L1p7K+7zW9sG2`O^1m2_9>+i4L(FMj4 zg5%~r?tgQI#(97^c5?a5q=d%Bjhnwp-xoJMlcjT!2KPC>vAzL6Eejfr2K*ijToQ#s z0rqyqo|DgCJR{c%%gsM^YYHALKLlE*QmNcb1iJZgEN=J?96N=GC^Q^ zy`XjI$mMdN>pJA~!|y@ylg>qY!kMrL>#~f46F!|yXx_gQCj56?6=|?>Rh$yV6CD?& zq$+vPaaEiW#SaHy0H$5>GgW7Fy?sfcWz;o znqNP|x1*!5FyHa!;TJf&7{0^v9TYer&GB~o1lk=A$4`1du}Y3=wd#=nE70?lZzEVY zhs5rMJHEYLb6TzAVavS4iCi>Ct@cj(MUI!E54ZB!zpI?yu1lYFYetIm(&gk6Q+PXAeqcw3K j6+i`00aO4LP+WmO1~e>ls2cd000000NkvXXu0mjfQsi6c literal 0 HcmV?d00001 diff --git a/deps/v8/tools/turbolizer/img/zoom-selection-icon.png b/deps/v8/tools/turbolizer/img/zoom-selection-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..12dc3e34691d589b0ec7087fa1cde4c9be944217 GIT binary patch literal 3751 zcmV;Y4p{MtP);6B--H$r0hMV{5k#SpM1mR_2^vFU&`8wC!@QsWffx86&ijz?attOL$cZt6 zLo^XIXrprR0`!0&7lj5yKt;~?Q)g>4Tiv~L*%>^CY$cVRzSZU1-`}-r*O<{ViohrW zqX>*5Fp9wc3Ict-8p!S2w}T58E`*maUk+~ExM6<%^;h%fpMTn#*XOu#;|z7$v}tD2 zq)BGRj2Y>D_uZHD_4TEB&-eP;xL$PtD2EOms(kzHw^5QL=Je^)=I5V(HrKCT&+T&Z z`5gbZJ!&$GI=`_~M9xff;}N@ke;=+O^>9*|R21Q_G6I zd-q1)eDh8DyYIe>PMkPl&YU@8f%)yX-*TrkWy%x_%>4QD&BG5rY<~Lbr$9i~KmPdR z044=NVCK%9Yo<<}nvNeozUNFDu_*oi`|puz1pwZE|9$iI*I%1Umo6DZNHvrQ1p>`7 z<>t+s=GLuSxxkDaJJw8`IMKiyO&*a-B~A$(l6aaQe)z%27s>$R`lD~L#vDC*G<^5n zcPkRJ(yOn&+BN1h1;$yQ{rmTq5g&9)5mV%);;~vMO+Z z15)`eB|VegbI(2K4U~C^KZ6BAssHuYUq*hD#fIN7N`M49M)*4V2wk&QO@YBA3zP~> zL8lZk1yB&51q&9KH{N)|2n-ZrRY1isN0Uu4ukMTcNA3yCs(|aq!P5tc1V-hHFTRN0 zd+$B#2EY>E58@hQVr+6MD*~*9wNm@JAHeUo=)4dZ=h5P)V3J`9iq_XDvJ6I^sF^u) zX8O=W4<)Nstx8{f@kJc6Sd*=_>WB@*M1zx&E=k3NlFW1}-v#F{sMqVE^h?m_4geHY zV+$Cg`ZSL|`e>bJM&cnC0;4Yxs_}{jVs*-qBS&(r51=4E0wNJps?R+0Of27G&~-2R zBF(NdDLqqt?6JrCH*MNvmMmEk_4oH%2BCa?2hv%qIdkR!UIkEjUv&^{{cgDw0wWO$ z6$1lGApoYlCgcL`z~)CTk>KR`)dO z92f#%GT{MUI1HA~>G#`h^}G-m#O8w!J}{D7XqsscP^gH{Yp=alU9)CQO$sx~JlLfR zq#&?5`Ve&(;Y_u!bKJNA>h;%O@3{9uU{GkpJp_fAMZaJ<1d2hYtX{pE6v5!v^`Gs= z`9Mq*OWy@D(Hoe!6fUvTkmj*oj9c-PLDzL!3W33~f|^tY;TQA>)<+^_V;KK_ug+b+ zOnm$H?HOPgD-I&ncMjVb(-{9@tP!z@C>e=00ZOisu9##ZUi=i9^uVu)`+ANuDMKL z25Dj++&3fzNeNvqgV_Wf~{GtzRNU1Ux-zoK<%{$L1Um78C zP4%598o;$zqB;>{{;fRi$-GAI#5KmDF~k~Ypx>eT9Ks65PM(>0@Uh!18O8t%Q7x4q z%`aNoNR-L{r>w)jq+{Ce(QmNBb7Cuvp(+JjWlVlEj2)+x+KF|_07E0t5HZSYP|A6B^V=`d z@WfB6w7juiUuuDW|4y9~ z$B|)FP9|bZe!q-e&YztJ@m;$mBP%o#hM}#ePMylMN1j8;BJ#YGm8hDTdEgFRAdz

1d zW8t@7^nvX>*nmV1$G_j~JOd25Rb}L>>}Jx^MdCL=3?lu)#-31gt_YZl%=be7xn7?W z(-9<6^MYN0ktm^M=fRxX9Zv=rna5O15V2MfV}L}mg z+H3bHQ4W+uizG&oKne75hQvZH!w5^519M?c?e>$=F|GkLIhi^td0+plux!c-A<^qQ z@4Vw)>-kY&*tKeHQYxQ3c{21nB*RF~h}wxYa_toYLmrpBDtTY6@Pz_qh~}4mu`39y z5Nab&#JUfZ)qvXmI&Lt-9bpP7%6mWpaf|B8kcGQ;?W%~O~-hAv1r29tYhL?&(@$)_R2^x z+Z|OB$5!W)CqKj@DuF$`{-9#G&mQc>p8o9M3W0-G3sJKkT}I0l#^)d9;MotO-BmEh?h97` zEi|9nS`@e?s+Ce(8 z@0ArghxHPB=E}m@uj!s0$q{Ctqhwvo#*G_|c7Y##;e{8f>i3|;xn;%z93KnbS67+$0@y+&Qt5{EiY)ErBK0K_FSb$E^r5IIKlpA>bn&2@oWiU?Qml+5;H= zEQd`>10HP+hZDx)CaB*~ZQH#(MeQT*SXLFw9CVXhi9+VIY?bmR(|8T5MLa`@z~Dsj zh&?u>L1lvN;yPX{AVFup0EQT7(~+f8$pSz=MPD}tG@L|4i9{M6t$-)}5q|#p=hjNf zT1FCO>l*lNH=ZMsxDj$a(zo7v%UUai5gBXMF=HA#+5g3BMyh7fG zO+fe_q$J58Dp^(|pOW|dz_l1FDL_gvK>kZ8McWc{#I!*DurHWh6PeweT?57+JkhzX zRb|2YaqaPxsYO(W6^N0mh|oYAe$zwFd1l?ZbybA`bxpP+rB4E@DRU6T-Me>NBO%5N zX_J$l0i!{tYJa$|of%9g7aUVzj>OCA90J-_m_tyEMSba|moi=V446z$J-z^Q)~;P! zm9?p>tESAs2SQI#^H_Y>0Mp1E833zuBvx$ux7h&SLl&cL>a!^QdDj5r2#=zUL52tsiQlou^=9q)EQs%KlE|`Tv zVlRMU1q4v=q}@A>$Ges>Zj#O;m!7fze1q%g6z3=TOmXjx9!C)vMW8DP{0D47Lrt`v Rk!k<{002ovPDHLkV1mckNiYBa literal 0 HcmV?d00001 diff --git a/deps/v8/tools/turbolizer/left-arrow.png b/deps/v8/tools/turbolizer/left-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..fc0603e8c3ac84efb2ee947ba4f368412ec709a0 GIT binary patch literal 4175 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 Z{s1adtJOdUK-d5P002ovPDHLkV1mE6nsxvH literal 0 HcmV?d00001 diff --git a/deps/v8/tools/turbolizer/right-arrow.png b/deps/v8/tools/turbolizer/right-arrow.png new file mode 100644 index 0000000000000000000000000000000000000000..ef3964346f6e4b5875905b9afbcb73701cda5433 GIT binary patch literal 2774 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 literal 0 HcmV?d00001 diff --git a/deps/v8/tools/turbolizer/search2.png b/deps/v8/tools/turbolizer/search2.png new file mode 100644 index 0000000000000000000000000000000000000000..88dd193809d05d3cde7b69fd40063dd9b2f3410d GIT binary patch literal 689 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

rNsn0$hH14$g`i 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 l;KaoZ&MXjTj6DWLZ9ouduN2tUe@3;^4u9c)i}w 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 B+Rp$0 literal 0 HcmV?d00001 diff --git a/deps/v8/tools/turbolizer/upload-icon.png b/deps/v8/tools/turbolizer/upload-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c1a289b76daca2a7437a459b9c6266ad1eaf943b GIT binary patch literal 4747 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 literal 0 HcmV?d00001 diff --git a/deps/v8/tools/unittests/predictable_wrapper_test.py b/deps/v8/tools/unittests/predictable_wrapper_test.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/unittests/run_perf_test.py b/deps/v8/tools/unittests/run_perf_test.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/unittests/run_tests_test.py b/deps/v8/tools/unittests/run_tests_test.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/unittests/v8_presubmit_test.py b/deps/v8/tools/unittests/v8_presubmit_test.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/update-object-macros-undef.py b/deps/v8/tools/update-object-macros-undef.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/v8_presubmit.py b/deps/v8/tools/v8_presubmit.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/wasm-compilation-hints/inject-compilation-hints.py b/deps/v8/tools/wasm-compilation-hints/inject-compilation-hints.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/wasm-compilation-hints/wasm-objdump-compilation-hints.py b/deps/v8/tools/wasm-compilation-hints/wasm-objdump-compilation-hints.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/wasm/code-size-factors.py b/deps/v8/tools/wasm/code-size-factors.py old mode 100644 new mode 100755 diff --git a/deps/v8/tools/wasm/update-wasm-fuzzers.sh b/deps/v8/tools/wasm/update-wasm-fuzzers.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/wasm/update-wasm-spec-tests.sh b/deps/v8/tools/wasm/update-wasm-spec-tests.sh old mode 100644 new mode 100755 diff --git a/deps/v8/tools/windows-tick-processor.bat b/deps/v8/tools/windows-tick-processor.bat old mode 100644 new mode 100755 diff --git a/deps/zlib/google/test/data/create_test_zip.sh b/deps/zlib/google/test/data/create_test_zip.sh old mode 100644 new mode 100755 diff --git a/src/.clang-tidy b/src/.clang-tidy new file mode 100644 index 00000000..1713161c --- /dev/null +++ b/src/.clang-tidy @@ -0,0 +1,27 @@ +--- +Checks: '-*, + # modernize-use-auto, + # modernize-use-equals-delete, + modernize-deprecated-headers, + modernize-make-unique, + modernize-make-shared, + modernize-redundant-void-arg, + modernize-replace-random-shuffle, + modernize-shrink-to-fit, + modernize-use-bool-literals, + modernize-use-emplace, + modernize-use-equals-default, + modernize-use-nullptr, + modernize-use-override, + performance-faster-string-find, + # performance-unnecessary-value-param, see https://github.com/nodejs/node/pull/26042 + readability-delete-null-pointer, ' +WarningsAsErrors: '' +HeaderFilterRegex: '' +AnalyzeTemporaryDtors: false +FormatStyle: none +User: nodejs/cpp +CheckOptions: + - key: google-readability-braces-around-statements.ShortStatementLines + value: 1 +... diff --git a/src/js_native_api.h b/src/js_native_api.h index e804d1d4..3aa0ee5c 100644 --- a/src/js_native_api.h +++ b/src/js_native_api.h @@ -2,8 +2,8 @@ #define SRC_JS_NATIVE_API_H_ // This file needs to be compatible with C compilers. -#include // NOLINT(modernize-deprecated-headers) #include // NOLINT(modernize-deprecated-headers) +#include // NOLINT(modernize-deprecated-headers) // Use INT_MAX, this should only be consumed by the pre-processor anyway. #define NAPI_VERSION_EXPERIMENTAL 2147483647 @@ -26,14 +26,15 @@ // If you need __declspec(dllimport), either include instead, or // define NAPI_EXTERN as __declspec(dllimport) on the compiler's command line. #ifndef NAPI_EXTERN - #ifdef _WIN32 - #define NAPI_EXTERN __declspec(dllexport) - #elif defined(__wasm32__) - #define NAPI_EXTERN __attribute__((visibility("default"))) \ - __attribute__((__import_module__("napi"))) - #else - #define NAPI_EXTERN __attribute__((visibility("default"))) - #endif +#ifdef _WIN32 +#define NAPI_EXTERN __declspec(dllexport) +#elif defined(__wasm32__) +#define NAPI_EXTERN \ + __attribute__((visibility("default"))) \ + __attribute__((__import_module__("napi"))) +#else +#define NAPI_EXTERN __attribute__((visibility("default"))) +#endif #endif #define NAPI_AUTO_LENGTH SIZE_MAX @@ -48,222 +49,246 @@ EXTERN_C_START -NAPI_EXTERN napi_status -napi_get_last_error_info(napi_env env, - const napi_extended_error_info** result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_get_last_error_info(napi_env env, const napi_extended_error_info** result); // Getters for defined singletons -NAPI_EXTERN napi_status napi_get_undefined(napi_env env, napi_value* result); -NAPI_EXTERN napi_status napi_get_null(napi_env env, napi_value* result); -NAPI_EXTERN napi_status napi_get_global(napi_env env, napi_value* result); -NAPI_EXTERN napi_status napi_get_boolean(napi_env env, - bool value, - napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_undefined(napi_env env, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_null(napi_env env, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_global(napi_env env, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_boolean(napi_env env, + bool value, + napi_value* result); // Methods to create Primitive types/Objects -NAPI_EXTERN napi_status napi_create_object(napi_env env, napi_value* result); -NAPI_EXTERN napi_status napi_create_array(napi_env env, napi_value* result); -NAPI_EXTERN napi_status napi_create_array_with_length(napi_env env, - size_t length, +NAPI_EXTERN napi_status NAPI_CDECL napi_create_object(napi_env env, napi_value* result); -NAPI_EXTERN napi_status napi_create_double(napi_env env, - double value, - napi_value* result); -NAPI_EXTERN napi_status napi_create_int32(napi_env env, - int32_t value, - napi_value* result); -NAPI_EXTERN napi_status napi_create_uint32(napi_env env, - uint32_t value, - napi_value* result); -NAPI_EXTERN napi_status napi_create_int64(napi_env env, - int64_t value, - napi_value* result); -NAPI_EXTERN napi_status napi_create_string_latin1(napi_env env, - const char* str, - size_t length, - napi_value* result); -NAPI_EXTERN napi_status napi_create_string_utf8(napi_env env, - const char* str, - size_t length, - napi_value* result); -NAPI_EXTERN napi_status napi_create_string_utf16(napi_env env, - const char16_t* str, - size_t length, - napi_value* result); -NAPI_EXTERN napi_status napi_create_symbol(napi_env env, - napi_value description, - napi_value* result); -NAPI_EXTERN napi_status napi_create_function(napi_env env, - const char* utf8name, - size_t length, - napi_callback cb, - void* data, - napi_value* result); -NAPI_EXTERN napi_status napi_create_error(napi_env env, - napi_value code, - napi_value msg, - napi_value* result); -NAPI_EXTERN napi_status napi_create_type_error(napi_env env, - napi_value code, - napi_value msg, - napi_value* result); -NAPI_EXTERN napi_status napi_create_range_error(napi_env env, - napi_value code, - napi_value msg, - napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_array(napi_env env, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_create_array_with_length(napi_env env, size_t length, napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_double(napi_env env, + double value, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_int32(napi_env env, + int32_t value, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_uint32(napi_env env, + uint32_t value, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_int64(napi_env env, + int64_t value, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_latin1( + napi_env env, const char* str, size_t length, napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_utf8(napi_env env, + const char* str, + size_t length, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_string_utf16(napi_env env, + const char16_t* str, + size_t length, + napi_value* result); +#ifdef NAPI_EXPERIMENTAL +NAPI_EXTERN napi_status NAPI_CDECL +node_api_create_external_string_latin1(napi_env env, + char* str, + size_t length, + napi_finalize finalize_callback, + void* finalize_hint, + napi_value* result, + bool* copied); +NAPI_EXTERN napi_status NAPI_CDECL +node_api_create_external_string_utf16(napi_env env, + char16_t* str, + size_t length, + napi_finalize finalize_callback, + void* finalize_hint, + napi_value* result, + bool* copied); +#endif // NAPI_EXPERIMENTAL +NAPI_EXTERN napi_status NAPI_CDECL napi_create_symbol(napi_env env, + napi_value description, + napi_value* result); +#if NAPI_VERSION >= 9 +NAPI_EXTERN napi_status NAPI_CDECL +node_api_symbol_for(napi_env env, + const char* utf8description, + size_t length, + napi_value* result); +#endif // NAPI_VERSION >= 9 +NAPI_EXTERN napi_status NAPI_CDECL napi_create_function(napi_env env, + const char* utf8name, + size_t length, + napi_callback cb, + void* data, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_error(napi_env env, + napi_value code, + napi_value msg, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_type_error(napi_env env, + napi_value code, + napi_value msg, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_range_error(napi_env env, + napi_value code, + napi_value msg, + napi_value* result); +#if NAPI_VERSION >= 9 +NAPI_EXTERN napi_status NAPI_CDECL node_api_create_syntax_error( + napi_env env, napi_value code, napi_value msg, napi_value* result); +#endif // NAPI_VERSION >= 9 // Methods to get the native napi_value from Primitive type -NAPI_EXTERN napi_status napi_typeof(napi_env env, - napi_value value, - napi_valuetype* result); -NAPI_EXTERN napi_status napi_get_value_double(napi_env env, - napi_value value, - double* result); -NAPI_EXTERN napi_status napi_get_value_int32(napi_env env, - napi_value value, - int32_t* result); -NAPI_EXTERN napi_status napi_get_value_uint32(napi_env env, - napi_value value, - uint32_t* result); -NAPI_EXTERN napi_status napi_get_value_int64(napi_env env, - napi_value value, - int64_t* result); -NAPI_EXTERN napi_status napi_get_value_bool(napi_env env, - napi_value value, - bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_typeof(napi_env env, + napi_value value, + napi_valuetype* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_double(napi_env env, + napi_value value, + double* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_int32(napi_env env, + napi_value value, + int32_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_uint32(napi_env env, + napi_value value, + uint32_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_int64(napi_env env, + napi_value value, + int64_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_bool(napi_env env, + napi_value value, + bool* result); // Copies LATIN-1 encoded bytes from a string into a buffer. -NAPI_EXTERN napi_status napi_get_value_string_latin1(napi_env env, - napi_value value, - char* buf, - size_t bufsize, - size_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_string_latin1( + napi_env env, napi_value value, char* buf, size_t bufsize, size_t* result); // Copies UTF-8 encoded bytes from a string into a buffer. -NAPI_EXTERN napi_status napi_get_value_string_utf8(napi_env env, - napi_value value, - char* buf, - size_t bufsize, - size_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_string_utf8( + napi_env env, napi_value value, char* buf, size_t bufsize, size_t* result); // Copies UTF-16 encoded bytes from a string into a buffer. -NAPI_EXTERN napi_status napi_get_value_string_utf16(napi_env env, - napi_value value, - char16_t* buf, - size_t bufsize, - size_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_string_utf16(napi_env env, + napi_value value, + char16_t* buf, + size_t bufsize, + size_t* result); // Methods to coerce values // These APIs may execute user scripts -NAPI_EXTERN napi_status napi_coerce_to_bool(napi_env env, - napi_value value, - napi_value* result); -NAPI_EXTERN napi_status napi_coerce_to_number(napi_env env, - napi_value value, - napi_value* result); -NAPI_EXTERN napi_status napi_coerce_to_object(napi_env env, - napi_value value, - napi_value* result); -NAPI_EXTERN napi_status napi_coerce_to_string(napi_env env, - napi_value value, - napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_coerce_to_bool(napi_env env, + napi_value value, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_coerce_to_number(napi_env env, + napi_value value, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_coerce_to_object(napi_env env, + napi_value value, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_coerce_to_string(napi_env env, + napi_value value, + napi_value* result); // Methods to work with Objects -NAPI_EXTERN napi_status napi_get_prototype(napi_env env, - napi_value object, - napi_value* result); -NAPI_EXTERN napi_status napi_get_property_names(napi_env env, - napi_value object, - napi_value* result); -NAPI_EXTERN napi_status napi_set_property(napi_env env, - napi_value object, - napi_value key, - napi_value value); -NAPI_EXTERN napi_status napi_has_property(napi_env env, - napi_value object, - napi_value key, - bool* result); -NAPI_EXTERN napi_status napi_get_property(napi_env env, - napi_value object, - napi_value key, - napi_value* result); -NAPI_EXTERN napi_status napi_delete_property(napi_env env, - napi_value object, - napi_value key, - bool* result); -NAPI_EXTERN napi_status napi_has_own_property(napi_env env, - napi_value object, - napi_value key, - bool* result); -NAPI_EXTERN napi_status napi_set_named_property(napi_env env, - napi_value object, - const char* utf8name, - napi_value value); -NAPI_EXTERN napi_status napi_has_named_property(napi_env env, - napi_value object, - const char* utf8name, - bool* result); -NAPI_EXTERN napi_status napi_get_named_property(napi_env env, - napi_value object, - const char* utf8name, - napi_value* result); -NAPI_EXTERN napi_status napi_set_element(napi_env env, - napi_value object, - uint32_t index, - napi_value value); -NAPI_EXTERN napi_status napi_has_element(napi_env env, - napi_value object, - uint32_t index, - bool* result); -NAPI_EXTERN napi_status napi_get_element(napi_env env, - napi_value object, - uint32_t index, - napi_value* result); -NAPI_EXTERN napi_status napi_delete_element(napi_env env, - napi_value object, - uint32_t index, - bool* result); -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_get_prototype(napi_env env, + napi_value object, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_property_names(napi_env env, + napi_value object, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_set_property(napi_env env, + napi_value object, + napi_value key, + napi_value value); +NAPI_EXTERN napi_status NAPI_CDECL napi_has_property(napi_env env, + napi_value object, + napi_value key, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_property(napi_env env, + napi_value object, + napi_value key, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_delete_property(napi_env env, + napi_value object, + napi_value key, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_has_own_property(napi_env env, + napi_value object, + napi_value key, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_set_named_property(napi_env env, + napi_value object, + const char* utf8name, + napi_value value); +NAPI_EXTERN napi_status NAPI_CDECL napi_has_named_property(napi_env env, + napi_value object, + const char* utf8name, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_named_property(napi_env env, + napi_value object, + const char* utf8name, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_set_element(napi_env env, + napi_value object, + uint32_t index, + napi_value value); +NAPI_EXTERN napi_status NAPI_CDECL napi_has_element(napi_env env, + napi_value object, + uint32_t index, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_element(napi_env env, + napi_value object, + uint32_t index, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_delete_element(napi_env env, + napi_value object, + uint32_t index, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_define_properties(napi_env env, napi_value object, size_t property_count, const napi_property_descriptor* properties); // Methods to work with Arrays -NAPI_EXTERN napi_status napi_is_array(napi_env env, - napi_value value, - bool* result); -NAPI_EXTERN napi_status napi_get_array_length(napi_env env, - napi_value value, - uint32_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_is_array(napi_env env, + napi_value value, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_array_length(napi_env env, + napi_value value, + uint32_t* result); // Methods to compare values -NAPI_EXTERN napi_status napi_strict_equals(napi_env env, - napi_value lhs, - napi_value rhs, - bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_strict_equals(napi_env env, + napi_value lhs, + napi_value rhs, + bool* result); // Methods to work with Functions -NAPI_EXTERN napi_status napi_call_function(napi_env env, - napi_value recv, - napi_value func, - size_t argc, - const napi_value* argv, - napi_value* result); -NAPI_EXTERN napi_status napi_new_instance(napi_env env, - napi_value constructor, - size_t argc, - const napi_value* argv, - napi_value* result); -NAPI_EXTERN napi_status napi_instanceof(napi_env env, - napi_value object, - napi_value constructor, - bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_call_function(napi_env env, + napi_value recv, + napi_value func, + size_t argc, + const napi_value* argv, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_new_instance(napi_env env, + napi_value constructor, + size_t argc, + const napi_value* argv, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_instanceof(napi_env env, + napi_value object, + napi_value constructor, + bool* result); // Methods to work with napi_callbacks // Gets all callback info in a single call. (Ugly, but faster.) -NAPI_EXTERN napi_status napi_get_cb_info( +NAPI_EXTERN napi_status NAPI_CDECL napi_get_cb_info( napi_env env, // [in] NAPI environment handle napi_callback_info cbinfo, // [in] Opaque callback-info handle size_t* argc, // [in-out] Specifies the size of the provided argv array @@ -272,10 +297,9 @@ NAPI_EXTERN napi_status napi_get_cb_info( napi_value* this_arg, // [out] Receives the JS 'this' arg for the call void** data); // [out] Receives the data pointer for the callback. -NAPI_EXTERN napi_status napi_get_new_target(napi_env env, - napi_callback_info cbinfo, - napi_value* result); -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_get_new_target( + napi_env env, napi_callback_info cbinfo, napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_define_class(napi_env env, const char* utf8name, size_t length, @@ -286,232 +310,242 @@ napi_define_class(napi_env env, napi_value* result); // Methods to work with external data objects -NAPI_EXTERN napi_status napi_wrap(napi_env env, - napi_value js_object, - void* native_object, - napi_finalize finalize_cb, - void* finalize_hint, - napi_ref* result); -NAPI_EXTERN napi_status napi_unwrap(napi_env env, - napi_value js_object, - void** result); -NAPI_EXTERN napi_status napi_remove_wrap(napi_env env, - napi_value js_object, - void** result); -NAPI_EXTERN napi_status napi_create_external(napi_env env, - void* data, +NAPI_EXTERN napi_status NAPI_CDECL napi_wrap(napi_env env, + napi_value js_object, + void* native_object, napi_finalize finalize_cb, void* finalize_hint, - napi_value* result); -NAPI_EXTERN napi_status napi_get_value_external(napi_env env, - napi_value value, - void** result); + napi_ref* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_unwrap(napi_env env, + napi_value js_object, + void** result); +NAPI_EXTERN napi_status NAPI_CDECL napi_remove_wrap(napi_env env, + napi_value js_object, + void** result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_create_external(napi_env env, + void* data, + napi_finalize finalize_cb, + void* finalize_hint, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_external(napi_env env, + napi_value value, + void** result); // Methods to control object lifespan // Set initial_refcount to 0 for a weak reference, >0 for a strong reference. -NAPI_EXTERN napi_status napi_create_reference(napi_env env, - napi_value value, - uint32_t initial_refcount, - napi_ref* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_create_reference(napi_env env, + napi_value value, + uint32_t initial_refcount, + napi_ref* result); // Deletes a reference. The referenced value is released, and may // be GC'd unless there are other references to it. -NAPI_EXTERN napi_status napi_delete_reference(napi_env env, napi_ref ref); +NAPI_EXTERN napi_status NAPI_CDECL napi_delete_reference(napi_env env, + napi_ref ref); // Increments the reference count, optionally returning the resulting count. // After this call the reference will be a strong reference because its // refcount is >0, and the referenced object is effectively "pinned". // Calling this when the refcount is 0 and the object is unavailable // results in an error. -NAPI_EXTERN napi_status napi_reference_ref(napi_env env, - napi_ref ref, - uint32_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_reference_ref(napi_env env, + napi_ref ref, + uint32_t* result); // Decrements the reference count, optionally returning the resulting count. // If the result is 0 the reference is now weak and the object may be GC'd // at any time if there are no other references. Calling this when the // refcount is already 0 results in an error. -NAPI_EXTERN napi_status napi_reference_unref(napi_env env, - napi_ref ref, - uint32_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_reference_unref(napi_env env, + napi_ref ref, + uint32_t* result); // Attempts to get a referenced value. If the reference is weak, // the value might no longer be available, in that case the call // is still successful but the result is NULL. -NAPI_EXTERN napi_status napi_get_reference_value(napi_env env, - napi_ref ref, - napi_value* result); - -NAPI_EXTERN napi_status napi_open_handle_scope(napi_env env, - napi_handle_scope* result); -NAPI_EXTERN napi_status napi_close_handle_scope(napi_env env, - napi_handle_scope scope); -NAPI_EXTERN napi_status -napi_open_escapable_handle_scope(napi_env env, - napi_escapable_handle_scope* result); -NAPI_EXTERN napi_status -napi_close_escapable_handle_scope(napi_env env, - napi_escapable_handle_scope scope); - -NAPI_EXTERN napi_status napi_escape_handle(napi_env env, - napi_escapable_handle_scope scope, - napi_value escapee, - napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_reference_value(napi_env env, + napi_ref ref, + napi_value* result); + +NAPI_EXTERN napi_status NAPI_CDECL +napi_open_handle_scope(napi_env env, napi_handle_scope* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_close_handle_scope(napi_env env, napi_handle_scope scope); +NAPI_EXTERN napi_status NAPI_CDECL napi_open_escapable_handle_scope( + napi_env env, napi_escapable_handle_scope* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_close_escapable_handle_scope( + napi_env env, napi_escapable_handle_scope scope); + +NAPI_EXTERN napi_status NAPI_CDECL +napi_escape_handle(napi_env env, + napi_escapable_handle_scope scope, + napi_value escapee, + napi_value* result); // Methods to support error handling -NAPI_EXTERN napi_status napi_throw(napi_env env, napi_value error); -NAPI_EXTERN napi_status napi_throw_error(napi_env env, - const char* code, - const char* msg); -NAPI_EXTERN napi_status napi_throw_type_error(napi_env env, - const char* code, - const char* msg); -NAPI_EXTERN napi_status napi_throw_range_error(napi_env env, - const char* code, - const char* msg); -NAPI_EXTERN napi_status napi_is_error(napi_env env, - napi_value value, - bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_throw(napi_env env, napi_value error); +NAPI_EXTERN napi_status NAPI_CDECL napi_throw_error(napi_env env, + const char* code, + const char* msg); +NAPI_EXTERN napi_status NAPI_CDECL napi_throw_type_error(napi_env env, + const char* code, + const char* msg); +NAPI_EXTERN napi_status NAPI_CDECL napi_throw_range_error(napi_env env, + const char* code, + const char* msg); +#if NAPI_VERSION >= 9 +NAPI_EXTERN napi_status NAPI_CDECL node_api_throw_syntax_error(napi_env env, + const char* code, + const char* msg); +#endif // NAPI_VERSION >= 9 +NAPI_EXTERN napi_status NAPI_CDECL napi_is_error(napi_env env, + napi_value value, + bool* result); // Methods to support catching exceptions -NAPI_EXTERN napi_status napi_is_exception_pending(napi_env env, bool* result); -NAPI_EXTERN napi_status napi_get_and_clear_last_exception(napi_env env, - napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_is_exception_pending(napi_env env, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_get_and_clear_last_exception(napi_env env, napi_value* result); // Methods to work with array buffers and typed arrays -NAPI_EXTERN napi_status napi_is_arraybuffer(napi_env env, - napi_value value, - bool* result); -NAPI_EXTERN napi_status napi_create_arraybuffer(napi_env env, - size_t byte_length, - void** data, - napi_value* result); -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_is_arraybuffer(napi_env env, + napi_value value, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_arraybuffer(napi_env env, + size_t byte_length, + void** data, + napi_value* result); +#ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED +NAPI_EXTERN napi_status NAPI_CDECL napi_create_external_arraybuffer(napi_env env, void* external_data, size_t byte_length, napi_finalize finalize_cb, void* finalize_hint, napi_value* result); -NAPI_EXTERN napi_status napi_get_arraybuffer_info(napi_env env, - napi_value arraybuffer, - void** data, - size_t* byte_length); -NAPI_EXTERN napi_status napi_is_typedarray(napi_env env, - napi_value value, - bool* result); -NAPI_EXTERN napi_status napi_create_typedarray(napi_env env, - napi_typedarray_type type, - size_t length, - napi_value arraybuffer, - size_t byte_offset, - napi_value* result); -NAPI_EXTERN napi_status napi_get_typedarray_info(napi_env env, - napi_value typedarray, - napi_typedarray_type* type, - size_t* length, - void** data, - napi_value* arraybuffer, - size_t* byte_offset); - -NAPI_EXTERN napi_status napi_create_dataview(napi_env env, - size_t length, - napi_value arraybuffer, - size_t byte_offset, - napi_value* result); -NAPI_EXTERN napi_status napi_is_dataview(napi_env env, - napi_value value, - bool* result); -NAPI_EXTERN napi_status napi_get_dataview_info(napi_env env, - napi_value dataview, - size_t* bytelength, - void** data, - napi_value* arraybuffer, - size_t* byte_offset); +#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED +NAPI_EXTERN napi_status NAPI_CDECL napi_get_arraybuffer_info( + napi_env env, napi_value arraybuffer, void** data, size_t* byte_length); +NAPI_EXTERN napi_status NAPI_CDECL napi_is_typedarray(napi_env env, + napi_value value, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_create_typedarray(napi_env env, + napi_typedarray_type type, + size_t length, + napi_value arraybuffer, + size_t byte_offset, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_get_typedarray_info(napi_env env, + napi_value typedarray, + napi_typedarray_type* type, + size_t* length, + void** data, + napi_value* arraybuffer, + size_t* byte_offset); + +NAPI_EXTERN napi_status NAPI_CDECL napi_create_dataview(napi_env env, + size_t length, + napi_value arraybuffer, + size_t byte_offset, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_is_dataview(napi_env env, + napi_value value, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_get_dataview_info(napi_env env, + napi_value dataview, + size_t* bytelength, + void** data, + napi_value* arraybuffer, + size_t* byte_offset); // version management -NAPI_EXTERN napi_status napi_get_version(napi_env env, uint32_t* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_version(napi_env env, + uint32_t* result); // Promises -NAPI_EXTERN napi_status napi_create_promise(napi_env env, - napi_deferred* deferred, - napi_value* promise); -NAPI_EXTERN napi_status napi_resolve_deferred(napi_env env, - napi_deferred deferred, - napi_value resolution); -NAPI_EXTERN napi_status napi_reject_deferred(napi_env env, - napi_deferred deferred, - napi_value rejection); -NAPI_EXTERN napi_status napi_is_promise(napi_env env, - napi_value value, - bool* is_promise); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_promise(napi_env env, + napi_deferred* deferred, + napi_value* promise); +NAPI_EXTERN napi_status NAPI_CDECL napi_resolve_deferred(napi_env env, + napi_deferred deferred, + napi_value resolution); +NAPI_EXTERN napi_status NAPI_CDECL napi_reject_deferred(napi_env env, + napi_deferred deferred, + napi_value rejection); +NAPI_EXTERN napi_status NAPI_CDECL napi_is_promise(napi_env env, + napi_value value, + bool* is_promise); // Running a script -NAPI_EXTERN napi_status napi_run_script(napi_env env, - napi_value script, - napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_run_script(napi_env env, + napi_value script, + napi_value* result); // Memory management -NAPI_EXTERN napi_status napi_adjust_external_memory(napi_env env, - int64_t change_in_bytes, - int64_t* adjusted_value); +NAPI_EXTERN napi_status NAPI_CDECL napi_adjust_external_memory( + napi_env env, int64_t change_in_bytes, int64_t* adjusted_value); #if NAPI_VERSION >= 5 // Dates -NAPI_EXTERN napi_status napi_create_date(napi_env env, - double time, - napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_date(napi_env env, + double time, + napi_value* result); -NAPI_EXTERN napi_status napi_is_date(napi_env env, - napi_value value, - bool* is_date); +NAPI_EXTERN napi_status NAPI_CDECL napi_is_date(napi_env env, + napi_value value, + bool* is_date); -NAPI_EXTERN napi_status napi_get_date_value(napi_env env, - napi_value value, - double* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_date_value(napi_env env, + napi_value value, + double* result); // Add finalizer for pointer -NAPI_EXTERN napi_status napi_add_finalizer(napi_env env, - napi_value js_object, - void* native_object, - napi_finalize finalize_cb, - void* finalize_hint, - napi_ref* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_add_finalizer(napi_env env, + napi_value js_object, + void* finalize_data, + napi_finalize finalize_cb, + void* finalize_hint, + napi_ref* result); #endif // NAPI_VERSION >= 5 #if NAPI_VERSION >= 6 // BigInt -NAPI_EXTERN napi_status napi_create_bigint_int64(napi_env env, - int64_t value, - napi_value* result); -NAPI_EXTERN napi_status napi_create_bigint_uint64(napi_env env, - uint64_t value, - napi_value* result); -NAPI_EXTERN napi_status napi_create_bigint_words(napi_env env, - int sign_bit, - size_t word_count, - const uint64_t* words, - napi_value* result); -NAPI_EXTERN napi_status napi_get_value_bigint_int64(napi_env env, - napi_value value, - int64_t* result, - bool* lossless); -NAPI_EXTERN napi_status napi_get_value_bigint_uint64(napi_env env, - napi_value value, - uint64_t* result, - bool* lossless); -NAPI_EXTERN napi_status napi_get_value_bigint_words(napi_env env, - napi_value value, - int* sign_bit, - size_t* word_count, - uint64_t* words); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_bigint_int64(napi_env env, + int64_t value, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_create_bigint_uint64(napi_env env, uint64_t value, napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_create_bigint_words(napi_env env, + int sign_bit, + size_t word_count, + const uint64_t* words, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_bigint_int64(napi_env env, + napi_value value, + int64_t* result, + bool* lossless); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_value_bigint_uint64( + napi_env env, napi_value value, uint64_t* result, bool* lossless); +NAPI_EXTERN napi_status NAPI_CDECL +napi_get_value_bigint_words(napi_env env, + napi_value value, + int* sign_bit, + size_t* word_count, + uint64_t* words); // Object -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_get_all_property_names(napi_env env, napi_value object, napi_key_collection_mode key_mode, @@ -520,40 +554,36 @@ napi_get_all_property_names(napi_env env, napi_value* result); // Instance data -NAPI_EXTERN napi_status napi_set_instance_data(napi_env env, - void* data, - napi_finalize finalize_cb, - void* finalize_hint); +NAPI_EXTERN napi_status NAPI_CDECL napi_set_instance_data( + napi_env env, void* data, napi_finalize finalize_cb, void* finalize_hint); -NAPI_EXTERN napi_status napi_get_instance_data(napi_env env, - void** data); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_instance_data(napi_env env, + void** data); #endif // NAPI_VERSION >= 6 #if NAPI_VERSION >= 7 // ArrayBuffer detaching -NAPI_EXTERN napi_status napi_detach_arraybuffer(napi_env env, - napi_value arraybuffer); +NAPI_EXTERN napi_status NAPI_CDECL +napi_detach_arraybuffer(napi_env env, napi_value arraybuffer); -NAPI_EXTERN napi_status napi_is_detached_arraybuffer(napi_env env, - napi_value value, - bool* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_is_detached_arraybuffer(napi_env env, napi_value value, bool* result); #endif // NAPI_VERSION >= 7 #if NAPI_VERSION >= 8 // Type tagging -NAPI_EXTERN napi_status napi_type_tag_object(napi_env env, - napi_value value, - const napi_type_tag* type_tag); +NAPI_EXTERN napi_status NAPI_CDECL napi_type_tag_object( + napi_env env, napi_value value, const napi_type_tag* type_tag); -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_check_object_type_tag(napi_env env, napi_value value, const napi_type_tag* type_tag, bool* result); -NAPI_EXTERN napi_status napi_object_freeze(napi_env env, - napi_value object); -NAPI_EXTERN napi_status napi_object_seal(napi_env env, - napi_value object); +NAPI_EXTERN napi_status NAPI_CDECL napi_object_freeze(napi_env env, + napi_value object); +NAPI_EXTERN napi_status NAPI_CDECL napi_object_seal(napi_env env, + napi_value object); #endif // NAPI_VERSION >= 8 EXTERN_C_END diff --git a/src/js_native_api_types.h b/src/js_native_api_types.h index 6aba0662..005382f1 100644 --- a/src/js_native_api_types.h +++ b/src/js_native_api_types.h @@ -8,7 +8,15 @@ #include // NOLINT(modernize-deprecated-headers) #if !defined __cplusplus || (defined(_MSC_VER) && _MSC_VER < 1900) - typedef uint16_t char16_t; +typedef uint16_t char16_t; +#endif + +#ifndef NAPI_CDECL +#ifdef _WIN32 +#define NAPI_CDECL __cdecl +#else +#define NAPI_CDECL +#endif #endif // JSVM API types are all opaque pointers for ABI stability @@ -36,9 +44,7 @@ typedef enum { napi_default_method = napi_writable | napi_configurable, // Default for object properties, like in JS obj[prop]. - napi_default_jsproperty = napi_writable | - napi_enumerable | - napi_configurable, + napi_default_jsproperty = napi_writable | napi_enumerable | napi_configurable, #endif // NAPI_VERSION >= 8 } napi_property_attributes; @@ -92,7 +98,9 @@ typedef enum { napi_date_expected, napi_arraybuffer_expected, napi_detachable_arraybuffer_expected, - napi_would_deadlock // unused + napi_would_deadlock, // unused + napi_no_external_buffers_allowed, + napi_cannot_run_js, } napi_status; // Note: when adding a new enum value to `napi_status`, please also update // * `const int last_status` in the definition of `napi_get_last_error_info()' @@ -102,11 +110,11 @@ typedef enum { // * the definition of `napi_status` in doc/api/n-api.md to reflect the newly // added value(s). -typedef napi_value (*napi_callback)(napi_env env, - napi_callback_info info); -typedef void (*napi_finalize)(napi_env env, - void* finalize_data, - void* finalize_hint); +typedef napi_value(NAPI_CDECL* napi_callback)(napi_env env, + napi_callback_info info); +typedef void(NAPI_CDECL* napi_finalize)(napi_env env, + void* finalize_data, + void* finalize_hint); typedef struct { // One of utf8name or name should be NULL. diff --git a/src/node_api.h b/src/node_api.h index 1772c67c..03454683 100644 --- a/src/node_api.h +++ b/src/node_api.h @@ -2,12 +2,12 @@ #define SRC_NODE_API_H_ #ifdef BUILDING_NODE_EXTENSION - #ifdef _WIN32 - // Building native module against node - #define NAPI_EXTERN __declspec(dllimport) - #elif defined(__wasm32__) - #define NAPI_EXTERN __attribute__((__import_module__("napi"))) - #endif +#ifdef _WIN32 +// Building native addon against node +#define NAPI_EXTERN __declspec(dllimport) +#elif defined(__wasm32__) +#define NAPI_EXTERN __attribute__((__import_module__("napi"))) +#endif #endif #include "js_native_api.h" #include "node_api_types.h" @@ -15,22 +15,24 @@ struct uv_loop_s; // Forward declaration. #ifdef _WIN32 -# define NAPI_MODULE_EXPORT __declspec(dllexport) +#define NAPI_MODULE_EXPORT __declspec(dllexport) #else -# define NAPI_MODULE_EXPORT __attribute__((visibility("default"))) +#define NAPI_MODULE_EXPORT __attribute__((visibility("default"))) #endif #if defined(__GNUC__) -# define NAPI_NO_RETURN __attribute__((noreturn)) +#define NAPI_NO_RETURN __attribute__((noreturn)) #elif defined(_WIN32) -# define NAPI_NO_RETURN __declspec(noreturn) +#define NAPI_NO_RETURN __declspec(noreturn) #else -# define NAPI_NO_RETURN +#define NAPI_NO_RETURN #endif -typedef napi_value (*napi_addon_register_func)(napi_env env, - napi_value exports); +typedef napi_value(NAPI_CDECL* napi_addon_register_func)(napi_env env, + napi_value exports); +typedef int32_t(NAPI_CDECL* node_api_addon_get_api_version_func)(); +// Used by deprecated registration method napi_module_register. typedef struct napi_module { int nm_version; unsigned int nm_flags; @@ -41,170 +43,155 @@ typedef struct napi_module { void* reserved[4]; } napi_module; -#define NAPI_MODULE_VERSION 1 - -#if defined(_MSC_VER) -#pragma section(".CRT$XCU", read) -#define NAPI_C_CTOR(fn) \ - static void __cdecl fn(void); \ - __declspec(dllexport, allocate(".CRT$XCU")) void(__cdecl * fn##_)(void) = \ - fn; \ - static void __cdecl fn(void) -#else -#define NAPI_C_CTOR(fn) \ - static void fn(void) __attribute__((constructor)); \ - static void fn(void) -#endif - -#define NAPI_MODULE_X(modname, regfunc, priv, flags) \ - EXTERN_C_START \ - static napi_module _module = \ - { \ - NAPI_MODULE_VERSION, \ - flags, \ - __FILE__, \ - regfunc, \ - #modname, \ - priv, \ - {0}, \ - }; \ - NAPI_C_CTOR(_register_ ## modname) { \ - napi_module_register(&_module); \ - } \ - EXTERN_C_END +#define NAPI_MODULE_VERSION 1 #define NAPI_MODULE_INITIALIZER_X(base, version) \ NAPI_MODULE_INITIALIZER_X_HELPER(base, version) #define NAPI_MODULE_INITIALIZER_X_HELPER(base, version) base##version #ifdef __wasm32__ -#define NAPI_WASM_INITIALIZER \ - NAPI_MODULE_INITIALIZER_X(napi_register_wasm_v, NAPI_MODULE_VERSION) -#define NAPI_MODULE(modname, regfunc) \ - EXTERN_C_START \ - NAPI_MODULE_EXPORT napi_value NAPI_WASM_INITIALIZER(napi_env env, \ - napi_value exports) { \ - return regfunc(env, exports); \ - } \ - EXTERN_C_END +#define NAPI_MODULE_INITIALIZER_BASE napi_register_wasm_v #else -#define NAPI_MODULE(modname, regfunc) \ - NAPI_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) +#define NAPI_MODULE_INITIALIZER_BASE napi_register_module_v #endif -#define NAPI_MODULE_INITIALIZER_BASE napi_register_module_v +#define NODE_API_MODULE_GET_API_VERSION_BASE node_api_module_get_api_version_v + +#define NAPI_MODULE_INITIALIZER \ + NAPI_MODULE_INITIALIZER_X(NAPI_MODULE_INITIALIZER_BASE, NAPI_MODULE_VERSION) + +#define NODE_API_MODULE_GET_API_VERSION \ + NAPI_MODULE_INITIALIZER_X(NODE_API_MODULE_GET_API_VERSION_BASE, \ + NAPI_MODULE_VERSION) + +#define NAPI_MODULE_INIT() \ + EXTERN_C_START \ + NAPI_MODULE_EXPORT int32_t NODE_API_MODULE_GET_API_VERSION() { \ + return NAPI_VERSION; \ + } \ + NAPI_MODULE_EXPORT napi_value NAPI_MODULE_INITIALIZER(napi_env env, \ + napi_value exports); \ + EXTERN_C_END \ + napi_value NAPI_MODULE_INITIALIZER(napi_env env, napi_value exports) -#define NAPI_MODULE_INITIALIZER \ - NAPI_MODULE_INITIALIZER_X(NAPI_MODULE_INITIALIZER_BASE, \ - NAPI_MODULE_VERSION) +#define NAPI_MODULE(modname, regfunc) \ + NAPI_MODULE_INIT() { return regfunc(env, exports); } -#define NAPI_MODULE_INIT() \ - EXTERN_C_START \ - NAPI_MODULE_EXPORT napi_value \ - NAPI_MODULE_INITIALIZER(napi_env env, napi_value exports); \ - EXTERN_C_END \ - NAPI_MODULE(NODE_GYP_MODULE_NAME, NAPI_MODULE_INITIALIZER) \ - napi_value NAPI_MODULE_INITIALIZER(napi_env env, \ - napi_value exports) +// Deprecated. Use NAPI_MODULE. +#define NAPI_MODULE_X(modname, regfunc, priv, flags) \ + NAPI_MODULE(modname, regfunc) EXTERN_C_START -NAPI_EXTERN void napi_module_register(napi_module* mod); +// Deprecated. Replaced by symbol-based registration defined by NAPI_MODULE +// and NAPI_MODULE_INIT macros. +#if defined(__cplusplus) && __cplusplus >= 201402L +[[deprecated]] +#endif +NAPI_EXTERN void NAPI_CDECL +napi_module_register(napi_module* mod); -NAPI_EXTERN NAPI_NO_RETURN void napi_fatal_error(const char* location, - size_t location_len, - const char* message, - size_t message_len); +NAPI_EXTERN NAPI_NO_RETURN void NAPI_CDECL +napi_fatal_error(const char* location, + size_t location_len, + const char* message, + size_t message_len); // Methods for custom handling of async operations -NAPI_EXTERN napi_status napi_async_init(napi_env env, - napi_value async_resource, - napi_value async_resource_name, - napi_async_context* result); - -NAPI_EXTERN napi_status napi_async_destroy(napi_env env, - napi_async_context async_context); - -NAPI_EXTERN napi_status napi_make_callback(napi_env env, - napi_async_context async_context, - napi_value recv, - napi_value func, - size_t argc, - const napi_value* argv, - napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_async_init(napi_env env, + napi_value async_resource, + napi_value async_resource_name, + napi_async_context* result); + +NAPI_EXTERN napi_status NAPI_CDECL +napi_async_destroy(napi_env env, napi_async_context async_context); + +NAPI_EXTERN napi_status NAPI_CDECL +napi_make_callback(napi_env env, + napi_async_context async_context, + napi_value recv, + napi_value func, + size_t argc, + const napi_value* argv, + napi_value* result); // Methods to provide node::Buffer functionality with napi types -NAPI_EXTERN napi_status napi_create_buffer(napi_env env, - size_t length, - void** data, - napi_value* result); -NAPI_EXTERN napi_status napi_create_external_buffer(napi_env env, - size_t length, - void* data, - napi_finalize finalize_cb, - void* finalize_hint, - napi_value* result); -NAPI_EXTERN napi_status napi_create_buffer_copy(napi_env env, - size_t length, - const void* data, - void** result_data, - napi_value* result); -NAPI_EXTERN napi_status napi_is_buffer(napi_env env, - napi_value value, - bool* result); -NAPI_EXTERN napi_status napi_get_buffer_info(napi_env env, - napi_value value, - void** data, - size_t* length); +NAPI_EXTERN napi_status NAPI_CDECL napi_create_buffer(napi_env env, + size_t length, + void** data, + napi_value* result); +#ifndef NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED +NAPI_EXTERN napi_status NAPI_CDECL +napi_create_external_buffer(napi_env env, + size_t length, + void* data, + napi_finalize finalize_cb, + void* finalize_hint, + napi_value* result); +#endif // NODE_API_NO_EXTERNAL_BUFFERS_ALLOWED +NAPI_EXTERN napi_status NAPI_CDECL napi_create_buffer_copy(napi_env env, + size_t length, + const void* data, + void** result_data, + napi_value* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_is_buffer(napi_env env, + napi_value value, + bool* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_buffer_info(napi_env env, + napi_value value, + void** data, + size_t* length); +#ifndef __wasm32__ // Methods to manage simple async operations -NAPI_EXTERN -napi_status napi_create_async_work(napi_env env, - napi_value async_resource, - napi_value async_resource_name, - napi_async_execute_callback execute, - napi_async_complete_callback complete, - void* data, - napi_async_work* result); -NAPI_EXTERN napi_status napi_delete_async_work(napi_env env, - napi_async_work work); -NAPI_EXTERN napi_status napi_queue_async_work(napi_env env, - napi_async_work work); -NAPI_EXTERN napi_status napi_cancel_async_work(napi_env env, - napi_async_work work); +NAPI_EXTERN napi_status NAPI_CDECL +napi_create_async_work(napi_env env, + napi_value async_resource, + napi_value async_resource_name, + napi_async_execute_callback execute, + napi_async_complete_callback complete, + void* data, + napi_async_work* result); +NAPI_EXTERN napi_status NAPI_CDECL napi_delete_async_work(napi_env env, + napi_async_work work); +NAPI_EXTERN napi_status NAPI_CDECL napi_queue_async_work(napi_env env, + napi_async_work work); +NAPI_EXTERN napi_status NAPI_CDECL napi_cancel_async_work(napi_env env, + napi_async_work work); +#endif // __wasm32__ // version management -NAPI_EXTERN -napi_status napi_get_node_version(napi_env env, - const napi_node_version** version); +NAPI_EXTERN napi_status NAPI_CDECL +napi_get_node_version(napi_env env, const napi_node_version** version); #if NAPI_VERSION >= 2 // Return the current libuv event loop for a given environment -NAPI_EXTERN napi_status napi_get_uv_event_loop(napi_env env, - struct uv_loop_s** loop); +NAPI_EXTERN napi_status NAPI_CDECL +napi_get_uv_event_loop(napi_env env, struct uv_loop_s** loop); #endif // NAPI_VERSION >= 2 #if NAPI_VERSION >= 3 -NAPI_EXTERN napi_status napi_fatal_exception(napi_env env, napi_value err); +NAPI_EXTERN napi_status NAPI_CDECL napi_fatal_exception(napi_env env, + napi_value err); -NAPI_EXTERN napi_status napi_add_env_cleanup_hook(napi_env env, - void (*fun)(void* arg), - void* arg); +NAPI_EXTERN napi_status NAPI_CDECL +napi_add_env_cleanup_hook(napi_env env, napi_cleanup_hook fun, void* arg); -NAPI_EXTERN napi_status napi_remove_env_cleanup_hook(napi_env env, - void (*fun)(void* arg), - void* arg); +NAPI_EXTERN napi_status NAPI_CDECL +napi_remove_env_cleanup_hook(napi_env env, napi_cleanup_hook fun, void* arg); -NAPI_EXTERN napi_status napi_open_callback_scope(napi_env env, - napi_value resource_object, - napi_async_context context, - napi_callback_scope* result); +NAPI_EXTERN napi_status NAPI_CDECL +napi_open_callback_scope(napi_env env, + napi_value resource_object, + napi_async_context context, + napi_callback_scope* result); -NAPI_EXTERN napi_status napi_close_callback_scope(napi_env env, - napi_callback_scope scope); +NAPI_EXTERN napi_status NAPI_CDECL +napi_close_callback_scope(napi_env env, napi_callback_scope scope); #endif // NAPI_VERSION >= 3 @@ -212,7 +199,7 @@ NAPI_EXTERN napi_status napi_close_callback_scope(napi_env env, #ifndef __wasm32__ // Calling into JS from other threads -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_create_threadsafe_function(napi_env env, napi_value func, napi_value async_resource, @@ -225,26 +212,24 @@ napi_create_threadsafe_function(napi_env env, napi_threadsafe_function_call_js call_js_cb, napi_threadsafe_function* result); -NAPI_EXTERN napi_status -napi_get_threadsafe_function_context(napi_threadsafe_function func, - void** result); +NAPI_EXTERN napi_status NAPI_CDECL napi_get_threadsafe_function_context( + napi_threadsafe_function func, void** result); -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_call_threadsafe_function(napi_threadsafe_function func, void* data, napi_threadsafe_function_call_mode is_blocking); -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_acquire_threadsafe_function(napi_threadsafe_function func); -NAPI_EXTERN napi_status -napi_release_threadsafe_function(napi_threadsafe_function func, - napi_threadsafe_function_release_mode mode); +NAPI_EXTERN napi_status NAPI_CDECL napi_release_threadsafe_function( + napi_threadsafe_function func, napi_threadsafe_function_release_mode mode); -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_unref_threadsafe_function(napi_env env, napi_threadsafe_function func); -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL napi_ref_threadsafe_function(napi_env env, napi_threadsafe_function func); #endif // __wasm32__ @@ -252,23 +237,23 @@ napi_ref_threadsafe_function(napi_env env, napi_threadsafe_function func); #if NAPI_VERSION >= 8 -NAPI_EXTERN napi_status napi_add_async_cleanup_hook( - napi_env env, - napi_async_cleanup_hook hook, - void* arg, - napi_async_cleanup_hook_handle* remove_handle); +NAPI_EXTERN napi_status NAPI_CDECL +napi_add_async_cleanup_hook(napi_env env, + napi_async_cleanup_hook hook, + void* arg, + napi_async_cleanup_hook_handle* remove_handle); -NAPI_EXTERN napi_status napi_remove_async_cleanup_hook( - napi_async_cleanup_hook_handle remove_handle); +NAPI_EXTERN napi_status NAPI_CDECL +napi_remove_async_cleanup_hook(napi_async_cleanup_hook_handle remove_handle); #endif // NAPI_VERSION >= 8 -#ifdef NAPI_EXPERIMENTAL +#if NAPI_VERSION >= 9 -NAPI_EXTERN napi_status +NAPI_EXTERN napi_status NAPI_CDECL node_api_get_module_file_name(napi_env env, const char** result); -#endif // NAPI_EXPERIMENTAL +#endif // NAPI_VERSION >= 9 EXTERN_C_END diff --git a/src/node_api_types.h b/src/node_api_types.h index 58ffc61b..9c2f03f4 100644 --- a/src/node_api_types.h +++ b/src/node_api_types.h @@ -6,6 +6,11 @@ typedef struct napi_callback_scope__* napi_callback_scope; typedef struct napi_async_context__* napi_async_context; typedef struct napi_async_work__* napi_async_work; + +#if NAPI_VERSION >= 3 +typedef void(NAPI_CDECL* napi_cleanup_hook)(void* arg); +#endif // NAPI_VERSION >= 3 + #if NAPI_VERSION >= 4 typedef struct napi_threadsafe_function__* napi_threadsafe_function; #endif // NAPI_VERSION >= 4 @@ -22,16 +27,13 @@ typedef enum { } napi_threadsafe_function_call_mode; #endif // NAPI_VERSION >= 4 -typedef void (*napi_async_execute_callback)(napi_env env, - void* data); -typedef void (*napi_async_complete_callback)(napi_env env, - napi_status status, - void* data); +typedef void(NAPI_CDECL* napi_async_execute_callback)(napi_env env, void* data); +typedef void(NAPI_CDECL* napi_async_complete_callback)(napi_env env, + napi_status status, + void* data); #if NAPI_VERSION >= 4 -typedef void (*napi_threadsafe_function_call_js)(napi_env env, - napi_value js_callback, - void* context, - void* data); +typedef void(NAPI_CDECL* napi_threadsafe_function_call_js)( + napi_env env, napi_value js_callback, void* context, void* data); #endif // NAPI_VERSION >= 4 typedef struct { @@ -43,8 +45,8 @@ typedef struct { #if NAPI_VERSION >= 8 typedef struct napi_async_cleanup_hook_handle__* napi_async_cleanup_hook_handle; -typedef void (*napi_async_cleanup_hook)(napi_async_cleanup_hook_handle handle, - void* data); +typedef void(NAPI_CDECL* napi_async_cleanup_hook)( + napi_async_cleanup_hook_handle handle, void* data); #endif // NAPI_VERSION >= 8 #endif // SRC_NODE_API_TYPES_H_ diff --git a/test/fixtures/keys/selfsigned-no-keycertsign/https_renew_cert.sh b/test/fixtures/keys/selfsigned-no-keycertsign/https_renew_cert.sh old mode 100644 new mode 100755 diff --git a/test/fixtures/postject-copy/node_modules/postject/dist/cli.js b/test/fixtures/postject-copy/node_modules/postject/dist/cli.js old mode 100644 new mode 100755 diff --git a/test/parallel/test-http2-server-timeout.js b/test/parallel/test-http2-server-timeout.js old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/cant_dotdot.wasm b/test/wasi/wasm/cant_dotdot.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/clock_getres.wasm b/test/wasi/wasm/clock_getres.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/create_symlink.wasm b/test/wasi/wasm/create_symlink.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/exitcode.wasm b/test/wasi/wasm/exitcode.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/fd_prestat_get_refresh.wasm b/test/wasi/wasm/fd_prestat_get_refresh.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/follow_symlink.wasm b/test/wasi/wasm/follow_symlink.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/freopen.wasm b/test/wasi/wasm/freopen.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/ftruncate.wasm b/test/wasi/wasm/ftruncate.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/getentropy.wasm b/test/wasi/wasm/getentropy.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/getrusage.wasm b/test/wasi/wasm/getrusage.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/gettimeofday.wasm b/test/wasi/wasm/gettimeofday.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/link.wasm b/test/wasi/wasm/link.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/main_args.wasm b/test/wasi/wasm/main_args.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/notdir.wasm b/test/wasi/wasm/notdir.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/poll.wasm b/test/wasi/wasm/poll.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/preopen_populates.wasm b/test/wasi/wasm/preopen_populates.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/read_file.wasm b/test/wasi/wasm/read_file.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/read_file_twice.wasm b/test/wasi/wasm/read_file_twice.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/readdir.wasm b/test/wasi/wasm/readdir.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/sock.wasm b/test/wasi/wasm/sock.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/stat.wasm b/test/wasi/wasm/stat.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/stdin.wasm b/test/wasi/wasm/stdin.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/symlink_escape.wasm b/test/wasi/wasm/symlink_escape.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/symlink_loop.wasm b/test/wasi/wasm/symlink_loop.wasm old mode 100644 new mode 100755 diff --git a/test/wasi/wasm/write_file.wasm b/test/wasi/wasm/write_file.wasm old mode 100644 new mode 100755 diff --git a/tools/actions/commit-queue.sh b/tools/actions/commit-queue.sh old mode 100644 new mode 100755 diff --git a/tools/actions/start-ci.sh b/tools/actions/start-ci.sh old mode 100644 new mode 100755 diff --git a/tools/build-addons.mjs b/tools/build-addons.mjs old mode 100644 new mode 100755 diff --git a/tools/checkimports.py b/tools/checkimports.py old mode 100644 new mode 100755 diff --git a/tools/create_android_makefiles b/tools/create_android_makefiles old mode 100644 new mode 100755 diff --git a/tools/create_expfile.sh b/tools/create_expfile.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-acorn-walk.sh b/tools/dep_updaters/update-acorn-walk.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-acorn.sh b/tools/dep_updaters/update-acorn.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-ada.sh b/tools/dep_updaters/update-ada.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-base64.sh b/tools/dep_updaters/update-base64.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-brotli.sh b/tools/dep_updaters/update-brotli.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-c-ares.sh b/tools/dep_updaters/update-c-ares.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-cjs-module-lexer.sh b/tools/dep_updaters/update-cjs-module-lexer.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-eslint.sh b/tools/dep_updaters/update-eslint.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-googletest.sh b/tools/dep_updaters/update-googletest.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-histogram.sh b/tools/dep_updaters/update-histogram.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-icu.sh b/tools/dep_updaters/update-icu.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-libuv.sh b/tools/dep_updaters/update-libuv.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-llhttp.sh b/tools/dep_updaters/update-llhttp.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-minimatch.sh b/tools/dep_updaters/update-minimatch.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-nghttp2.sh b/tools/dep_updaters/update-nghttp2.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-nghttp3.sh b/tools/dep_updaters/update-nghttp3.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-ngtcp2.sh b/tools/dep_updaters/update-ngtcp2.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-npm.sh b/tools/dep_updaters/update-npm.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-openssl.sh b/tools/dep_updaters/update-openssl.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-postject.sh b/tools/dep_updaters/update-postject.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-simdutf.sh b/tools/dep_updaters/update-simdutf.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-undici.sh b/tools/dep_updaters/update-undici.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-uvwasi.sh b/tools/dep_updaters/update-uvwasi.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-v8-patch.sh b/tools/dep_updaters/update-v8-patch.sh old mode 100644 new mode 100755 diff --git a/tools/dep_updaters/update-zlib.sh b/tools/dep_updaters/update-zlib.sh old mode 100644 new mode 100755 diff --git a/tools/find-inactive-collaborators.mjs b/tools/find-inactive-collaborators.mjs old mode 100644 new mode 100755 diff --git a/tools/find-inactive-tsc.mjs b/tools/find-inactive-tsc.mjs old mode 100644 new mode 100755 diff --git a/tools/genv8constants.py b/tools/genv8constants.py old mode 100644 new mode 100755 diff --git a/tools/gyp/gyp b/tools/gyp/gyp old mode 100644 new mode 100755 diff --git a/tools/gyp/gyp.bat b/tools/gyp/gyp.bat old mode 100644 new mode 100755 diff --git a/tools/gyp/gyp_main.py b/tools/gyp/gyp_main.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/MSVSSettings_test.py b/tools/gyp/pylib/gyp/MSVSSettings_test.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/__init__.py b/tools/gyp/pylib/gyp/__init__.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/common_test.py b/tools/gyp/pylib/gyp/common_test.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/easy_xml_test.py b/tools/gyp/pylib/gyp/easy_xml_test.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/flock_tool.py b/tools/gyp/pylib/gyp/flock_tool.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/generator/msvs_test.py b/tools/gyp/pylib/gyp/generator/msvs_test.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/input_test.py b/tools/gyp/pylib/gyp/input_test.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/mac_tool.py b/tools/gyp/pylib/gyp/mac_tool.py old mode 100644 new mode 100755 diff --git a/tools/gyp/pylib/gyp/win_tool.py b/tools/gyp/pylib/gyp/win_tool.py old mode 100644 new mode 100755 diff --git a/tools/gyp/test_gyp.py b/tools/gyp/test_gyp.py old mode 100644 new mode 100755 diff --git a/tools/gyp/tools/emacs/run-unit-tests.sh b/tools/gyp/tools/emacs/run-unit-tests.sh old mode 100644 new mode 100755 diff --git a/tools/gyp/tools/graphviz.py b/tools/gyp/tools/graphviz.py old mode 100644 new mode 100755 diff --git a/tools/gyp/tools/pretty_gyp.py b/tools/gyp/tools/pretty_gyp.py old mode 100644 new mode 100755 diff --git a/tools/gyp/tools/pretty_sln.py b/tools/gyp/tools/pretty_sln.py old mode 100644 new mode 100755 diff --git a/tools/gyp/tools/pretty_vcproj.py b/tools/gyp/tools/pretty_vcproj.py old mode 100644 new mode 100755 diff --git a/tools/gyp_node.py b/tools/gyp_node.py old mode 100644 new mode 100755 diff --git a/tools/icu/icutrim.py b/tools/icu/icutrim.py old mode 100644 new mode 100755 diff --git a/tools/icu/shrink-icu-src.py b/tools/icu/shrink-icu-src.py old mode 100644 new mode 100755 diff --git a/tools/inspector_protocol/check_protocol_compatibility.py b/tools/inspector_protocol/check_protocol_compatibility.py old mode 100644 new mode 100755 diff --git a/tools/inspector_protocol/code_generator.py b/tools/inspector_protocol/code_generator.py old mode 100644 new mode 100755 diff --git a/tools/inspector_protocol/concatenate_protocols.py b/tools/inspector_protocol/concatenate_protocols.py old mode 100644 new mode 100755 diff --git a/tools/inspector_protocol/convert_protocol_to_json.py b/tools/inspector_protocol/convert_protocol_to_json.py old mode 100644 new mode 100755 diff --git a/tools/inspector_protocol/jinja2/get_jinja2.sh b/tools/inspector_protocol/jinja2/get_jinja2.sh old mode 100644 new mode 100755 diff --git a/tools/inspector_protocol/markupsafe/get_markupsafe.sh b/tools/inspector_protocol/markupsafe/get_markupsafe.sh old mode 100644 new mode 100755 diff --git a/tools/install.py b/tools/install.py old mode 100644 new mode 100755 diff --git a/tools/js2c.py b/tools/js2c.py old mode 100644 new mode 100755 diff --git a/tools/lint-md/list-released-versions-from-changelogs.mjs b/tools/lint-md/list-released-versions-from-changelogs.mjs old mode 100644 new mode 100755 diff --git a/tools/lint-pr-url.mjs b/tools/lint-pr-url.mjs old mode 100644 new mode 100755 diff --git a/tools/lint-sh.mjs b/tools/lint-sh.mjs old mode 100644 new mode 100755 diff --git a/tools/macos-firewall.sh b/tools/macos-firewall.sh old mode 100644 new mode 100755 diff --git a/tools/macos-installer/pkgbuild/npm/scripts/postinstall b/tools/macos-installer/pkgbuild/npm/scripts/postinstall old mode 100644 new mode 100755 diff --git a/tools/macos-installer/pkgbuild/npm/scripts/preinstall b/tools/macos-installer/pkgbuild/npm/scripts/preinstall old mode 100644 new mode 100755 diff --git a/tools/make-v8.sh b/tools/make-v8.sh old mode 100644 new mode 100755 diff --git a/tools/mk-ca-bundle.pl b/tools/mk-ca-bundle.pl old mode 100644 new mode 100755 diff --git a/tools/mkssldef.py b/tools/mkssldef.py old mode 100644 new mode 100755 diff --git a/tools/msvs/msi/product.wxs b/tools/msvs/msi/product.wxs old mode 100644 new mode 100755 diff --git a/tools/pseudo-tty.py b/tools/pseudo-tty.py old mode 100644 new mode 100755 diff --git a/tools/release.sh b/tools/release.sh old mode 100644 new mode 100755 diff --git a/tools/run-valgrind.py b/tools/run-valgrind.py old mode 100644 new mode 100755 diff --git a/tools/specialize_node_d.py b/tools/specialize_node_d.py old mode 100644 new mode 100755 diff --git a/tools/test-npm-package.js b/tools/test-npm-package.js old mode 100644 new mode 100755 diff --git a/tools/test.py b/tools/test.py old mode 100644 new mode 100755 diff --git a/tools/update-llhttp.sh b/tools/update-llhttp.sh old mode 100644 new mode 100755 diff --git a/tools/update-timezone.mjs b/tools/update-timezone.mjs old mode 100644 new mode 100755 diff --git a/tools/v8-json-to-junit.py b/tools/v8-json-to-junit.py old mode 100644 new mode 100755 diff --git a/tools/v8/fetch_deps.py b/tools/v8/fetch_deps.py old mode 100644 new mode 100755 diff --git a/tools/v8/node_common.py b/tools/v8/node_common.py old mode 100644 new mode 100755 diff --git a/tools/zos/modifysidedeck.sh b/tools/zos/modifysidedeck.sh old mode 100644 new mode 100755 diff --git a/tools/zos/sdwrap.py b/tools/zos/sdwrap.py old mode 100644 new mode 100755 -- Gitee