From 993c0dbf14c342dd0a574a52c9acf5fe76cd65b0 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Mon, 10 Jun 2019 18:26:43 +0200 Subject: [PATCH 001/144] test: make sure test function resolves in test-worker-debug Use the common `.then(common.mustCall())` check to verify that. Also, we should not use `process.abort()` in `test/parallel`; if the test fails, that leaves core dumps lying around on POSIX systems. PR-URL: https://github.com/nodejs/node/pull/28155 Reviewed-By: Colin Ihrig Reviewed-By: Trivikram Kamat Reviewed-By: Luigi Pinca Reviewed-By: Richard Lau Reviewed-By: Rich Trott Reviewed-By: James M Snell --- test/parallel/test-worker-debug.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/parallel/test-worker-debug.js b/test/parallel/test-worker-debug.js index b67eb5ef403d6f..2629af8cb32e37 100644 --- a/test/parallel/test-worker-debug.js +++ b/test/parallel/test-worker-debug.js @@ -272,7 +272,7 @@ async function testWaitForDisconnectInWorker(session, post) { session.disconnect(); console.log('Test done'); -})().catch((err) => { +})().then(common.mustCall()).catch((err) => { console.error(err); - process.abort(); + process.exitCode = 1; }); From e517b03701732538c129fab76562b557fd46ccaf Mon Sep 17 00:00:00 2001 From: Ruben Bridgewater Date: Thu, 13 Jun 2019 17:35:29 +0200 Subject: [PATCH 002/144] process: hide NodeEnvironmentFlagsSet's `add` function This makes sure that the `add` function is not visible by default when inspecting `process.allowedNodeEnvironmentFlags`. PR-URL: https://github.com/nodejs/node/pull/28206 Reviewed-By: Richard Lau Reviewed-By: Anna Henningsen Reviewed-By: James M Snell Reviewed-By: Rich Trott --- lib/internal/process/per_thread.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/internal/process/per_thread.js b/lib/internal/process/per_thread.js index 35e861df2b73f9..2204d7223bf344 100644 --- a/lib/internal/process/per_thread.js +++ b/lib/internal/process/per_thread.js @@ -263,7 +263,9 @@ function buildAllowedFlags() { // The super constructor consumes `add`, but // disallow any future adds. - this.add = () => this; + Object.defineProperty(this, 'add', { + value: () => this + }); } delete() { From d0de204c12a4de4ce6fe598438c5942510328dab Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Mon, 10 Jun 2019 15:02:06 +0200 Subject: [PATCH 003/144] http2: refactor ping + settings object lifetime management Have clearer ownership relations between the `Http2Ping`, `Http2Settings` and `Http2Session` objects. Ping and Settings objects are now owned by the `Http2Session` instance, and deleted along with it, so neither type of object refers to the session after it is gone. In the case of `Http2Ping`s, that deletion is slightly delayed, so we explicitly reset its `session_` property. Fixes: https://github.com/nodejs/node/issues/28088 PR-URL: https://github.com/nodejs/node/pull/28150 Reviewed-By: Matteo Collina Reviewed-By: James M Snell Reviewed-By: Ujjwal Sharma Reviewed-By: Rich Trott --- src/base_object-inl.h | 6 +- src/base_object.h | 6 + src/node_http2.cc | 103 ++++++++++-------- src/node_http2.h | 15 ++- .../test-http2-ping-settings-heapdump.js | 36 ++++++ 5 files changed, 111 insertions(+), 55 deletions(-) create mode 100644 test/parallel/test-http2-ping-settings-heapdump.js diff --git a/src/base_object-inl.h b/src/base_object-inl.h index 50d8aba4a94ad5..af69084f4a5595 100644 --- a/src/base_object-inl.h +++ b/src/base_object-inl.h @@ -40,9 +40,8 @@ BaseObject::BaseObject(Environment* env, v8::Local object) env_->AddCleanupHook(DeleteMe, static_cast(this)); } - BaseObject::~BaseObject() { - env_->RemoveCleanupHook(DeleteMe, static_cast(this)); + RemoveCleanupHook(); if (persistent_handle_.IsEmpty()) { // This most likely happened because the weak callback below cleared it. @@ -55,6 +54,9 @@ BaseObject::~BaseObject() { } } +void BaseObject::RemoveCleanupHook() { + env_->RemoveCleanupHook(DeleteMe, static_cast(this)); +} v8::Global& BaseObject::persistent() { return persistent_handle_; diff --git a/src/base_object.h b/src/base_object.h index f616108a1d9486..53bd4b00d6044a 100644 --- a/src/base_object.h +++ b/src/base_object.h @@ -83,6 +83,12 @@ class BaseObject : public MemoryRetainer { v8::Local value, const v8::PropertyCallbackInfo& info); + protected: + // Can be used to avoid the automatic object deletion when the Environment + // exits, for example when this object is owned and deleted by another + // BaseObject at that point. + inline void RemoveCleanupHook(); + private: v8::Local WrappedObject() const override; static void DeleteMe(void* data); diff --git a/src/node_http2.cc b/src/node_http2.cc index 3a7591f31afda7..9047171e114606 100644 --- a/src/node_http2.cc +++ b/src/node_http2.cc @@ -237,6 +237,7 @@ Http2Session::Http2Settings::Http2Settings(Environment* env, : AsyncWrap(env, obj, PROVIDER_HTTP2SETTINGS), session_(session), startTime_(start_time) { + RemoveCleanupHook(); // This object is owned by the Http2Session. Init(); } @@ -311,12 +312,11 @@ void Http2Session::Http2Settings::Done(bool ack) { uint64_t end = uv_hrtime(); double duration = (end - startTime_) / 1e6; - Local argv[2] = { + Local argv[] = { Boolean::New(env()->isolate(), ack), Number::New(env()->isolate(), duration) }; MakeCallback(env()->ondone_string(), arraysize(argv), argv); - delete this; } // The Http2Priority class initializes an appropriate nghttp2_priority_spec @@ -746,11 +746,14 @@ void Http2Session::Close(uint32_t code, bool socket_closed) { // If there are outstanding pings, those will need to be canceled, do // so on the next iteration of the event loop to avoid calling out into // javascript since this may be called during garbage collection. - while (!outstanding_pings_.empty()) { - Http2Session::Http2Ping* ping = PopPing(); - env()->SetImmediate([](Environment* env, void* data) { - static_cast(data)->Done(false); - }, static_cast(ping)); + while (std::unique_ptr ping = PopPing()) { + ping->DetachFromSession(); + env()->SetImmediate( + [](Environment* env, void* data) { + std::unique_ptr ping{static_cast(data)}; + ping->Done(false); + }, + static_cast(ping.release())); } statistics_.end_time = uv_hrtime(); @@ -1435,9 +1438,9 @@ void Http2Session::HandlePingFrame(const nghttp2_frame* frame) { Local arg; bool ack = frame->hd.flags & NGHTTP2_FLAG_ACK; if (ack) { - Http2Ping* ping = PopPing(); + std::unique_ptr ping = PopPing(); - if (ping == nullptr) { + if (!ping) { // PING Ack is unsolicited. Treat as a connection error. The HTTP/2 // spec does not require this, but there is no legitimate reason to // receive an unsolicited PING ack on a connection. Either the peer @@ -1470,8 +1473,8 @@ void Http2Session::HandleSettingsFrame(const nghttp2_frame* frame) { // If this is an acknowledgement, we should have an Http2Settings // object for it. - Http2Settings* settings = PopSettings(); - if (settings != nullptr) { + std::unique_ptr settings = PopSettings(); + if (settings) { settings->Done(true); return; } @@ -2775,15 +2778,12 @@ void Http2Session::Ping(const FunctionCallbackInfo& args) { } if (obj->Set(env->context(), env->ondone_string(), args[1]).IsNothing()) return; - Http2Session::Http2Ping* ping = new Http2Ping(session, obj); + Http2Ping* ping = session->AddPing(std::make_unique(session, obj)); // To prevent abuse, we strictly limit the number of unacknowledged PING // frames that may be sent at any given time. This is configurable in the // Options when creating a Http2Session. - if (!session->AddPing(ping)) { - ping->Done(false); - return args.GetReturnValue().Set(false); - } + if (ping == nullptr) return args.GetReturnValue().Set(false); // The Ping itself is an Async resource. When the acknowledgement is received, // the callback will be invoked and a notification sent out to JS land. The @@ -2808,60 +2808,67 @@ void Http2Session::Settings(const FunctionCallbackInfo& args) { if (obj->Set(env->context(), env->ondone_string(), args[0]).IsNothing()) return; - Http2Session::Http2Settings* settings = - new Http2Settings(session->env(), session, obj, 0); - if (!session->AddSettings(settings)) { - settings->Done(false); - return args.GetReturnValue().Set(false); - } + Http2Session::Http2Settings* settings = session->AddSettings( + std::make_unique(session->env(), session, obj, 0)); + if (settings == nullptr) return args.GetReturnValue().Set(false); settings->Send(); args.GetReturnValue().Set(true); } - -Http2Session::Http2Ping* Http2Session::PopPing() { - Http2Ping* ping = nullptr; +std::unique_ptr Http2Session::PopPing() { + std::unique_ptr ping; if (!outstanding_pings_.empty()) { - ping = outstanding_pings_.front(); + ping = std::move(outstanding_pings_.front()); outstanding_pings_.pop(); DecrementCurrentSessionMemory(sizeof(*ping)); } return ping; } -bool Http2Session::AddPing(Http2Session::Http2Ping* ping) { - if (outstanding_pings_.size() == max_outstanding_pings_) - return false; - outstanding_pings_.push(ping); +Http2Session::Http2Ping* Http2Session::AddPing( + std::unique_ptr ping) { + if (outstanding_pings_.size() == max_outstanding_pings_) { + ping->Done(false); + return nullptr; + } + Http2Ping* ptr = ping.get(); + outstanding_pings_.emplace(std::move(ping)); IncrementCurrentSessionMemory(sizeof(*ping)); - return true; + return ptr; } -Http2Session::Http2Settings* Http2Session::PopSettings() { - Http2Settings* settings = nullptr; +std::unique_ptr Http2Session::PopSettings() { + std::unique_ptr settings; if (!outstanding_settings_.empty()) { - settings = outstanding_settings_.front(); + settings = std::move(outstanding_settings_.front()); outstanding_settings_.pop(); DecrementCurrentSessionMemory(sizeof(*settings)); } return settings; } -bool Http2Session::AddSettings(Http2Session::Http2Settings* settings) { - if (outstanding_settings_.size() == max_outstanding_settings_) - return false; - outstanding_settings_.push(settings); +Http2Session::Http2Settings* Http2Session::AddSettings( + std::unique_ptr settings) { + if (outstanding_settings_.size() == max_outstanding_settings_) { + settings->Done(false); + return nullptr; + } + Http2Settings* ptr = settings.get(); + outstanding_settings_.emplace(std::move(settings)); IncrementCurrentSessionMemory(sizeof(*settings)); - return true; + return ptr; } Http2Session::Http2Ping::Http2Ping(Http2Session* session, Local obj) : AsyncWrap(session->env(), obj, AsyncWrap::PROVIDER_HTTP2PING), session_(session), - startTime_(uv_hrtime()) {} + startTime_(uv_hrtime()) { + RemoveCleanupHook(); // This object is owned by the Http2Session. +} void Http2Session::Http2Ping::Send(const uint8_t* payload) { + CHECK_NOT_NULL(session_); uint8_t data[8]; if (payload == nullptr) { memcpy(&data, &startTime_, arraysize(data)); @@ -2872,8 +2879,12 @@ void Http2Session::Http2Ping::Send(const uint8_t* payload) { } void Http2Session::Http2Ping::Done(bool ack, const uint8_t* payload) { - session_->statistics_.ping_rtt = uv_hrtime() - startTime_; - double duration = session_->statistics_.ping_rtt / 1e6; + uint64_t duration_ns = uv_hrtime() - startTime_; + double duration_ms = duration_ns / 1e6; + if (session_ != nullptr) session_->statistics_.ping_rtt = duration_ns; + + HandleScope handle_scope(env()->isolate()); + Context::Scope context_scope(env()->context()); Local buf = Undefined(env()->isolate()); if (payload != nullptr) { @@ -2882,15 +2893,17 @@ void Http2Session::Http2Ping::Done(bool ack, const uint8_t* payload) { 8).ToLocalChecked(); } - Local argv[3] = { + Local argv[] = { Boolean::New(env()->isolate(), ack), - Number::New(env()->isolate(), duration), + Number::New(env()->isolate(), duration_ms), buf }; MakeCallback(env()->ondone_string(), arraysize(argv), argv); - delete this; } +void Http2Session::Http2Ping::DetachFromSession() { + session_ = nullptr; +} void nghttp2_stream_write::MemoryInfo(MemoryTracker* tracker) const { if (req_wrap != nullptr) diff --git a/src/node_http2.h b/src/node_http2.h index c8ffa69f2e49a8..d9636628c25939 100644 --- a/src/node_http2.h +++ b/src/node_http2.h @@ -803,11 +803,11 @@ class Http2Session : public AsyncWrap, public StreamListener { return env()->event_loop(); } - Http2Ping* PopPing(); - bool AddPing(Http2Ping* ping); + std::unique_ptr PopPing(); + Http2Ping* AddPing(std::unique_ptr ping); - Http2Settings* PopSettings(); - bool AddSettings(Http2Settings* settings); + std::unique_ptr PopSettings(); + Http2Settings* AddSettings(std::unique_ptr settings); void IncrementCurrentSessionMemory(uint64_t amount) { current_session_memory_ += amount; @@ -976,10 +976,10 @@ class Http2Session : public AsyncWrap, public StreamListener { v8::Local stream_buf_ab_; size_t max_outstanding_pings_ = DEFAULT_MAX_PINGS; - std::queue outstanding_pings_; + std::queue> outstanding_pings_; size_t max_outstanding_settings_ = DEFAULT_MAX_SETTINGS; - std::queue outstanding_settings_; + std::queue> outstanding_settings_; std::vector outgoing_buffers_; std::vector outgoing_storage_; @@ -1086,12 +1086,11 @@ class Http2Session::Http2Ping : public AsyncWrap { void Send(const uint8_t* payload); void Done(bool ack, const uint8_t* payload = nullptr); + void DetachFromSession(); private: Http2Session* session_; uint64_t startTime_; - - friend class Http2Session; }; // The Http2Settings class is used to parse the settings passed in for diff --git a/test/parallel/test-http2-ping-settings-heapdump.js b/test/parallel/test-http2-ping-settings-heapdump.js new file mode 100644 index 00000000000000..78b3c8cd74f506 --- /dev/null +++ b/test/parallel/test-http2-ping-settings-heapdump.js @@ -0,0 +1,36 @@ +'use strict'; +const common = require('../common'); +if (!common.hasCrypto) + common.skip('missing crypto'); + +const http2 = require('http2'); +const v8 = require('v8'); + +// Regression test for https://github.com/nodejs/node/issues/28088: +// Verify that Http2Settings and Http2Ping objects don't reference the session +// after it is destroyed, either because they are detached from it or have been +// destroyed themselves. + +for (const variant of ['ping', 'settings']) { + const server = http2.createServer(); + server.on('session', common.mustCall((session) => { + if (variant === 'ping') { + session.ping(common.expectsError({ + code: 'ERR_HTTP2_PING_CANCEL' + })); + } else { + session.settings(undefined, common.mustNotCall()); + } + + session.on('close', common.mustCall(() => { + v8.getHeapSnapshot().resume(); + server.close(); + })); + session.destroy(); + })); + + server.listen(0, common.mustCall(() => { + http2.connect(`http://localhost:${server.address().port}`, + common.mustCall()); + })); +} From 2cf37f54f0847c850d760c9efca760e03b51ab78 Mon Sep 17 00:00:00 2001 From: mutao Date: Thu, 30 May 2019 11:12:50 +0800 Subject: [PATCH 004/144] Revert "build: remove mips support" This reverts commit 9334e45aa0ed815c2745bcc2bb606d91be64998d. PR-URL: https://github.com/nodejs/node/pull/27992 Reviewed-By: Ben Noordhuis Reviewed-By: Rod Vagg Reviewed-By: Sam Roberts --- configure.py | 45 +++++++++++++++++++++++++++++++++++++++- doc/api/process.md | 4 ++-- doc/onboarding-extras.md | 2 +- 3 files changed, 47 insertions(+), 4 deletions(-) diff --git a/configure.py b/configure.py index b1a04742f00f2a..6ecc33174ba1cc 100755 --- a/configure.py +++ b/configure.py @@ -45,10 +45,13 @@ valid_os = ('win', 'mac', 'solaris', 'freebsd', 'openbsd', 'linux', 'android', 'aix', 'cloudabi') -valid_arch = ('arm', 'arm64', 'ia32', 'ppc', +valid_arch = ('arm', 'arm64', 'ia32', 'mips', 'mipsel', 'mips64el', 'ppc', 'ppc64', 'x32','x64', 'x86', 'x86_64', 's390', 's390x') valid_arm_float_abi = ('soft', 'softfp', 'hard') valid_arm_fpu = ('vfp', 'vfpv3', 'vfpv3-d16', 'neon') +valid_mips_arch = ('loongson', 'r1', 'r2', 'r6', 'rx') +valid_mips_fpu = ('fp32', 'fp64', 'fpxx') +valid_mips_float_abi = ('soft', 'hard') valid_intl_modes = ('none', 'small-icu', 'full-icu', 'system-icu') with open ('tools/icu/icu_versions.json') as f: icu_versions = json.load(f) @@ -365,6 +368,30 @@ help='ARM FPU mode ({0}) [default: %default]'.format( ', '.join(valid_arm_fpu))) +parser.add_option('--with-mips-arch-variant', + action='store', + dest='mips_arch_variant', + default='r2', + choices=valid_mips_arch, + help='MIPS arch variant ({0}) [default: %default]'.format( + ', '.join(valid_mips_arch))) + +parser.add_option('--with-mips-fpu-mode', + action='store', + dest='mips_fpu_mode', + default='fp32', + choices=valid_mips_fpu, + help='MIPS FPU mode ({0}) [default: %default]'.format( + ', '.join(valid_mips_fpu))) + +parser.add_option('--with-mips-float-abi', + action='store', + dest='mips_float_abi', + default='hard', + choices=valid_mips_float_abi, + help='MIPS floating-point ABI ({0}) [default: %default]'.format( + ', '.join(valid_mips_float_abi))) + parser.add_option('--with-dtrace', action='store_true', dest='with_dtrace', @@ -846,6 +873,8 @@ def host_arch_cc(): '__aarch64__' : 'arm64', '__arm__' : 'arm', '__i386__' : 'ia32', + '__MIPSEL__' : 'mipsel', + '__mips__' : 'mips', '__PPC64__' : 'ppc64', '__PPC__' : 'ppc64', '__x86_64__' : 'x64', @@ -861,6 +890,9 @@ def host_arch_cc(): if rtn != 's390': break + if rtn == 'mipsel' and '_LP64' in k: + rtn = 'mips64el' + return rtn @@ -874,6 +906,7 @@ def host_arch_win(): 'AMD64' : 'x64', 'x86' : 'ia32', 'arm' : 'arm', + 'mips' : 'mips', } return matchup.get(arch, 'ia32') @@ -905,6 +938,14 @@ def configure_arm(o): o['variables']['arm_fpu'] = options.arm_fpu or arm_fpu +def configure_mips(o): + can_use_fpu_instructions = (options.mips_float_abi != 'soft') + o['variables']['v8_can_use_fpu_instructions'] = b(can_use_fpu_instructions) + o['variables']['v8_use_mips_abi_hardfloat'] = b(can_use_fpu_instructions) + o['variables']['mips_arch_variant'] = options.mips_arch_variant + o['variables']['mips_fpu_mode'] = options.mips_fpu_mode + + def gcc_version_ge(version_checked): for compiler in [(CC, 'c'), (CXX, 'c++')]: ok, is_clang, clang_version, compiler_version = \ @@ -949,6 +990,8 @@ def configure_node(o): if target_arch == 'arm': configure_arm(o) + elif target_arch in ('mips', 'mipsel', 'mips64el'): + configure_mips(o) if flavor == 'aix': o['variables']['node_target_type'] = 'static_library' diff --git a/doc/api/process.md b/doc/api/process.md index c868f01fa1d3e8..9300a2b5fe9c84 100644 --- a/doc/api/process.md +++ b/doc/api/process.md @@ -541,8 +541,8 @@ added: v0.5.0 The `process.arch` property returns a string identifying the operating system CPU architecture for which the Node.js binary was compiled. -The current possible values are: `'arm'`, `'arm64'`, `'ia32'`, -`'ppc'`, `'ppc64'`, `'s390'`, `'s390x'`, `'x32'`, and `'x64'`. +The current possible values are: `'arm'`, `'arm64'`, `'ia32'`, `'mips'`, +`'mipsel'`, `'ppc'`, `'ppc64'`, `'s390'`, `'s390x'`, `'x32'`, and `'x64'`. ```js console.log(`This processor architecture is ${process.arch}`); diff --git a/doc/onboarding-extras.md b/doc/onboarding-extras.md index 07463a9b279e7f..c9fbc56ad0210b 100644 --- a/doc/onboarding-extras.md +++ b/doc/onboarding-extras.md @@ -81,5 +81,5 @@ need to be attached anymore, as only important bugfixes will be included. * `macos`, `windows`, `smartos`, `aix` * No linux, linux is the implied default * Architecture labels - * `arm`, `s390`, `ppc` + * `arm`, `mips`, `s390`, `ppc` * No x86{_64}, since that is the implied default From cfb5ca388790ff1aa18bcba5ffbf42d759d8f504 Mon Sep 17 00:00:00 2001 From: mutao Date: Fri, 31 May 2019 15:53:13 +0800 Subject: [PATCH 005/144] build: enable openssl support for mips64el V8 now resume supporting for mipsel/mips64el. This commit add linux64-mips64 platform dependent files in 'deps/openssl/config/archs/linux64-mips64', and update the corresponding gypi files and header files. Refs: https://groups.google.com/forum/#!topic/v8-dev/oXkv5OVCXyc PR-URL: https://github.com/nodejs/node/pull/27992 Reviewed-By: Ben Noordhuis Reviewed-By: Rod Vagg Reviewed-By: Sam Roberts --- deps/openssl/config/Makefile | 2 +- .../archs/linux64-mips64/asm/configdata.pm | 15980 ++++++++++++++++ .../linux64-mips64/asm/crypto/aes/aes-mips.S | 1874 ++ .../linux64-mips64/asm/crypto/bn/bn-mips.S | 2180 +++ .../linux64-mips64/asm/crypto/bn/mips-mont.S | 282 + .../linux64-mips64/asm/crypto/buildinf.h | 35 + .../asm/crypto/include/internal/bn_conf.h | 28 + .../asm/crypto/include/internal/dso_conf.h | 19 + .../asm/crypto/poly1305/poly1305-mips.S | 333 + .../linux64-mips64/asm/crypto/sha/sha1-mips.S | 3039 +++ .../asm/crypto/sha/sha256-mips.S | 3036 +++ .../asm/crypto/sha/sha512-mips.S | 3204 ++++ .../asm/include/openssl/opensslconf.h | 198 + .../archs/linux64-mips64/asm/include/progs.h | 507 + .../archs/linux64-mips64/asm/openssl-cl.gypi | 87 + .../archs/linux64-mips64/asm/openssl.gypi | 724 + .../archs/linux64-mips64/no-asm/configdata.pm | 15943 +++++++++++++++ .../linux64-mips64/no-asm/crypto/buildinf.h | 28 + .../no-asm/crypto/include/internal/bn_conf.h | 28 + .../no-asm/crypto/include/internal/dso_conf.h | 19 + .../no-asm/include/openssl/opensslconf.h | 201 + .../linux64-mips64/no-asm/include/progs.h | 507 + .../linux64-mips64/no-asm/openssl-cl.gypi | 79 + .../archs/linux64-mips64/no-asm/openssl.gypi | 711 + deps/openssl/config/opensslconf_asm.h | 2 + deps/openssl/config/opensslconf_no-asm.h | 2 + deps/openssl/openssl-cl_asm.gypi | 4 +- deps/openssl/openssl-cl_no_asm.gypi | 2 + deps/openssl/openssl_asm.gypi | 2 + deps/openssl/openssl_no_asm.gypi | 2 + 30 files changed, 49056 insertions(+), 2 deletions(-) create mode 100644 deps/openssl/config/archs/linux64-mips64/asm/configdata.pm create mode 100644 deps/openssl/config/archs/linux64-mips64/asm/crypto/aes/aes-mips.S create mode 100644 deps/openssl/config/archs/linux64-mips64/asm/crypto/bn/bn-mips.S create mode 100644 deps/openssl/config/archs/linux64-mips64/asm/crypto/bn/mips-mont.S create mode 100644 deps/openssl/config/archs/linux64-mips64/asm/crypto/buildinf.h create mode 100644 deps/openssl/config/archs/linux64-mips64/asm/crypto/include/internal/bn_conf.h create mode 100644 deps/openssl/config/archs/linux64-mips64/asm/crypto/include/internal/dso_conf.h create mode 100644 deps/openssl/config/archs/linux64-mips64/asm/crypto/poly1305/poly1305-mips.S create mode 100644 deps/openssl/config/archs/linux64-mips64/asm/crypto/sha/sha1-mips.S create mode 100644 deps/openssl/config/archs/linux64-mips64/asm/crypto/sha/sha256-mips.S create mode 100644 deps/openssl/config/archs/linux64-mips64/asm/crypto/sha/sha512-mips.S create mode 100644 deps/openssl/config/archs/linux64-mips64/asm/include/openssl/opensslconf.h create mode 100644 deps/openssl/config/archs/linux64-mips64/asm/include/progs.h create mode 100644 deps/openssl/config/archs/linux64-mips64/asm/openssl-cl.gypi create mode 100644 deps/openssl/config/archs/linux64-mips64/asm/openssl.gypi create mode 100644 deps/openssl/config/archs/linux64-mips64/no-asm/configdata.pm create mode 100644 deps/openssl/config/archs/linux64-mips64/no-asm/crypto/buildinf.h create mode 100644 deps/openssl/config/archs/linux64-mips64/no-asm/crypto/include/internal/bn_conf.h create mode 100644 deps/openssl/config/archs/linux64-mips64/no-asm/crypto/include/internal/dso_conf.h create mode 100644 deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/opensslconf.h create mode 100644 deps/openssl/config/archs/linux64-mips64/no-asm/include/progs.h create mode 100644 deps/openssl/config/archs/linux64-mips64/no-asm/openssl-cl.gypi create mode 100644 deps/openssl/config/archs/linux64-mips64/no-asm/openssl.gypi diff --git a/deps/openssl/config/Makefile b/deps/openssl/config/Makefile index b6eabce2117ff6..0f5eab422f91a1 100644 --- a/deps/openssl/config/Makefile +++ b/deps/openssl/config/Makefile @@ -12,7 +12,7 @@ PERL = perl ASM_ARCHS = aix-gcc aix64-gcc BSD-x86_64 \ darwin64-x86_64-cc darwin-i386-cc linux-aarch64 \ linux-armv4 linux-elf linux-x32 linux-x86_64 linux-ppc \ -linux-ppc64 linux-ppc64le linux32-s390x linux64-s390x \ +linux-ppc64 linux-ppc64le linux32-s390x linux64-s390x linux64-mips64\ solaris-x86-gcc solaris64-x86_64-gcc VC-WIN64A VC-WIN32 NO_ASM_ARCHS = VC-WIN64-ARM diff --git a/deps/openssl/config/archs/linux64-mips64/asm/configdata.pm b/deps/openssl/config/archs/linux64-mips64/asm/configdata.pm new file mode 100644 index 00000000000000..3ea6d4bcc9b79d --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/asm/configdata.pm @@ -0,0 +1,15980 @@ +#! /usr/bin/env perl + +package configdata; + +use strict; +use warnings; + +use Exporter; +#use vars qw(@ISA @EXPORT); +our @ISA = qw(Exporter); +our @EXPORT = qw(%config %target %disabled %withargs %unified_info @disablables); + +our %config = ( + AR => "ar", + ARFLAGS => [ "r" ], + CC => "gcc", + CFLAGS => [ "-Wall -O3" ], + CPPDEFINES => [ ], + CPPFLAGS => [ ], + CPPINCLUDES => [ ], + CXX => "g++", + CXXFLAGS => [ "-Wall -O3" ], + HASHBANGPERL => "/usr/bin/env perl", + LDFLAGS => [ ], + LDLIBS => [ ], + PERL => "/usr/bin/perl", + RANLIB => "ranlib", + RC => "windres", + b32 => "0", + b64 => "0", + b64l => "1", + bn_ll => "0", + build_file => "Makefile", + build_file_templates => [ "Configurations/common0.tmpl", "Configurations/unix-Makefile.tmpl", "Configurations/common.tmpl" ], + build_infos => [ "./build.info", "crypto/build.info", "ssl/build.info", "engines/build.info", "apps/build.info", "test/build.info", "util/build.info", "tools/build.info", "fuzz/build.info", "crypto/objects/build.info", "crypto/md4/build.info", "crypto/md5/build.info", "crypto/sha/build.info", "crypto/mdc2/build.info", "crypto/hmac/build.info", "crypto/ripemd/build.info", "crypto/whrlpool/build.info", "crypto/poly1305/build.info", "crypto/blake2/build.info", "crypto/siphash/build.info", "crypto/sm3/build.info", "crypto/des/build.info", "crypto/aes/build.info", "crypto/rc2/build.info", "crypto/rc4/build.info", "crypto/idea/build.info", "crypto/aria/build.info", "crypto/bf/build.info", "crypto/cast/build.info", "crypto/camellia/build.info", "crypto/seed/build.info", "crypto/sm4/build.info", "crypto/chacha/build.info", "crypto/modes/build.info", "crypto/bn/build.info", "crypto/ec/build.info", "crypto/rsa/build.info", "crypto/dsa/build.info", "crypto/dh/build.info", "crypto/sm2/build.info", "crypto/dso/build.info", "crypto/engine/build.info", "crypto/buffer/build.info", "crypto/bio/build.info", "crypto/stack/build.info", "crypto/lhash/build.info", "crypto/rand/build.info", "crypto/err/build.info", "crypto/evp/build.info", "crypto/asn1/build.info", "crypto/pem/build.info", "crypto/x509/build.info", "crypto/x509v3/build.info", "crypto/conf/build.info", "crypto/txt_db/build.info", "crypto/pkcs7/build.info", "crypto/pkcs12/build.info", "crypto/ocsp/build.info", "crypto/ui/build.info", "crypto/cms/build.info", "crypto/ts/build.info", "crypto/srp/build.info", "crypto/cmac/build.info", "crypto/ct/build.info", "crypto/async/build.info", "crypto/kdf/build.info", "crypto/store/build.info", "test/ossl_shim/build.info" ], + build_type => "release", + builddir => ".", + cflags => [ "-mips3", "-Wa,--noexecstack" ], + conf_files => [ "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/shared-info.pl" ], + cppflags => [ ], + cxxflags => [ "-mips3" ], + defines => [ "NDEBUG" ], + dirs => [ "crypto", "ssl", "engines", "apps", "test", "util", "tools", "fuzz" ], + dynamic_engines => "0", + engdirs => [ ], + ex_libs => [ ], + export_var_as_fn => "0", + includes => [ ], + lflags => [ ], + lib_defines => [ "OPENSSL_PIC", "OPENSSL_BN_ASM_MONT", "SHA1_ASM", "SHA256_ASM", "SHA512_ASM", "AES_ASM", "POLY1305_ASM" ], + libdir => "", + major => "1", + makedepprog => "\$(CROSS_COMPILE)gcc", + minor => "1.1", + openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], + openssl_api_defines => [ ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_sys_defines => [ ], + openssl_thread_defines => [ "OPENSSL_THREADS" ], + openssldir => "", + options => "enable-ssl-trace no-afalgeng no-asan no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fuzz-afl no-fuzz-libfuzzer no-heartbeats no-md2 no-msan no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-ubsan no-unit-test no-weak-ssl-ciphers no-zlib no-zlib-dynamic", + perl_archname => "mips64el-linux-thread-multi", + perl_cmd => "/usr/bin/perl", + perl_version => "5.18.4", + perlargv => [ "no-comp", "no-shared", "no-afalgeng", "enable-ssl-trace", "linux64-mips64" ], + perlenv => { + "AR" => undef, + "ARFLAGS" => undef, + "AS" => undef, + "ASFLAGS" => undef, + "BUILDFILE" => undef, + "CC" => "gcc", + "CFLAGS" => undef, + "CPP" => undef, + "CPPDEFINES" => undef, + "CPPFLAGS" => undef, + "CPPINCLUDES" => undef, + "CROSS_COMPILE" => undef, + "CXX" => undef, + "CXXFLAGS" => undef, + "HASHBANGPERL" => undef, + "LD" => undef, + "LDFLAGS" => undef, + "LDLIBS" => undef, + "MT" => undef, + "MTFLAGS" => undef, + "OPENSSL_LOCAL_CONFIG_DIR" => undef, + "PERL" => undef, + "RANLIB" => undef, + "RC" => undef, + "RCFLAGS" => undef, + "RM" => undef, + "WINDRES" => undef, + "__CNF_CFLAGS" => undef, + "__CNF_CPPDEFINES" => undef, + "__CNF_CPPFLAGS" => undef, + "__CNF_CPPINCLUDES" => undef, + "__CNF_CXXFLAGS" => undef, + "__CNF_LDFLAGS" => undef, + "__CNF_LDLIBS" => undef, + }, + prefix => "", + processor => "", + rc4_int => "unsigned char", + sdirs => [ "objects", "md4", "md5", "sha", "mdc2", "hmac", "ripemd", "whrlpool", "poly1305", "blake2", "siphash", "sm3", "des", "aes", "rc2", "rc4", "idea", "aria", "bf", "cast", "camellia", "seed", "sm4", "chacha", "modes", "bn", "ec", "rsa", "dsa", "dh", "sm2", "dso", "engine", "buffer", "bio", "stack", "lhash", "rand", "err", "evp", "asn1", "pem", "x509", "x509v3", "conf", "txt_db", "pkcs7", "pkcs12", "ocsp", "ui", "cms", "ts", "srp", "cmac", "ct", "async", "kdf", "store" ], + shlib_major => "1", + shlib_minor => "1", + shlib_version_history => "", + shlib_version_number => "1.1", + sourcedir => ".", + target => "linux64-mips64", + tdirs => [ "ossl_shim" ], + version => "1.1.1b", + version_num => "0x1010102fL", +); + +our %target = ( + AR => "ar", + ARFLAGS => "r", + CC => "gcc", + CFLAGS => "-Wall -O3", + CXX => "g++", + CXXFLAGS => "-Wall -O3", + HASHBANGPERL => "/usr/bin/env perl", + RANLIB => "ranlib", + RC => "windres", + _conf_fname_int => [ "Configurations/00-base-templates.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/00-base-templates.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/shared-info.pl" ], + aes_asm_src => "aes_cbc.c aes-mips.S", + aes_obj => "aes_cbc.o aes-mips.o", + apps_aux_src => "", + apps_init_src => "", + apps_obj => "", + bf_asm_src => "bf_enc.c", + bf_obj => "bf_enc.o", + bn_asm_src => "bn-mips.S mips-mont.S", + bn_obj => "bn-mips.o mips-mont.o", + bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", + build_file => "Makefile", + build_scheme => [ "unified", "unix" ], + cast_asm_src => "c_enc.c", + cast_obj => "c_enc.o", + cflags => "-pthread -mabi=64", + chacha_asm_src => "chacha_enc.c", + chacha_obj => "chacha_enc.o", + cmll_asm_src => "camellia.c cmll_misc.c cmll_cbc.c", + cmll_obj => "camellia.o cmll_misc.o cmll_cbc.o", + cppflags => "", + cpuid_asm_src => "mem_clr.c", + cpuid_obj => "mem_clr.o", + cxxflags => "-std=c++11 -pthread -mabi=64", + defines => [ ], + des_asm_src => "des_enc.c fcrypt_b.c", + des_obj => "des_enc.o fcrypt_b.o", + disable => [ ], + dso_extension => ".so", + dso_scheme => "dlfcn", + ec_asm_src => "", + ec_obj => "", + enable => [ "afalgeng" ], + ex_libs => "-ldl -pthread", + exe_extension => "", + includes => [ ], + keccak1600_asm_src => "keccak1600.c", + keccak1600_obj => "keccak1600.o", + lflags => "", + lib_cflags => "", + lib_cppflags => "-DOPENSSL_USE_NODELETE", + lib_defines => [ ], + md5_asm_src => "", + md5_obj => "", + modes_asm_src => "", + modes_obj => "", + module_cflags => "-fPIC", + module_cxxflags => "", + module_ldflags => "-Wl,-znodelete -shared -Wl,-Bsymbolic", + multilib => "64", + padlock_asm_src => "", + padlock_obj => "", + perlasm_scheme => "64", + poly1305_asm_src => "poly1305-mips.S", + poly1305_obj => "poly1305-mips.o", + rc4_asm_src => "rc4_enc.c rc4_skey.c", + rc4_obj => "rc4_enc.o rc4_skey.o", + rc5_asm_src => "rc5_enc.c", + rc5_obj => "rc5_enc.o", + rmd160_asm_src => "", + rmd160_obj => "", + sha1_asm_src => "sha1-mips.S sha256-mips.S sha512-mips.S", + sha1_obj => "sha1-mips.o sha256-mips.o sha512-mips.o", + shared_cflag => "-fPIC", + shared_defflag => "-Wl,--version-script=", + shared_defines => [ ], + shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)", + shared_extension_simple => ".so", + shared_ldflag => "-Wl,-znodelete -shared -Wl,-Bsymbolic", + shared_rcflag => "", + shared_sonameflag => "-Wl,-soname=", + shared_target => "linux-shared", + template => "1", + thread_defines => [ ], + thread_scheme => "pthreads", + unistd => "", + uplink_aux_src => "", + uplink_obj => "", + wp_asm_src => "wp_block.c", + wp_obj => "wp_block.o", +); + +our %available_protocols = ( + tls => [ "ssl3", "tls1", "tls1_1", "tls1_2", "tls1_3" ], + dtls => [ "dtls1", "dtls1_2" ], +); + +our @disablables = ( + "afalgeng", + "aria", + "asan", + "asm", + "async", + "autoalginit", + "autoerrinit", + "autoload-config", + "bf", + "blake2", + "camellia", + "capieng", + "cast", + "chacha", + "cmac", + "cms", + "comp", + "crypto-mdebug", + "crypto-mdebug-backtrace", + "ct", + "deprecated", + "des", + "devcryptoeng", + "dgram", + "dh", + "dsa", + "dso", + "dtls", + "dynamic-engine", + "ec", + "ec2m", + "ecdh", + "ecdsa", + "ec_nistp_64_gcc_128", + "egd", + "engine", + "err", + "external-tests", + "filenames", + "fuzz-libfuzzer", + "fuzz-afl", + "gost", + "heartbeats", + "hw(-.+)?", + "idea", + "makedepend", + "md2", + "md4", + "mdc2", + "msan", + "multiblock", + "nextprotoneg", + "pinshared", + "ocb", + "ocsp", + "pic", + "poly1305", + "posix-io", + "psk", + "rc2", + "rc4", + "rc5", + "rdrand", + "rfc3779", + "rmd160", + "scrypt", + "sctp", + "seed", + "shared", + "siphash", + "sm2", + "sm3", + "sm4", + "sock", + "srp", + "srtp", + "sse2", + "ssl", + "ssl-trace", + "static-engine", + "stdio", + "tests", + "threads", + "tls", + "ts", + "ubsan", + "ui-console", + "unit-test", + "whirlpool", + "weak-ssl-ciphers", + "zlib", + "zlib-dynamic", + "ssl3", + "ssl3-method", + "tls1", + "tls1-method", + "tls1_1", + "tls1_1-method", + "tls1_2", + "tls1_2-method", + "tls1_3", + "dtls1", + "dtls1-method", + "dtls1_2", + "dtls1_2-method", +); + +our %disabled = ( + "afalgeng" => "option", + "asan" => "default", + "comp" => "option", + "crypto-mdebug" => "default", + "crypto-mdebug-backtrace" => "default", + "devcryptoeng" => "default", + "dynamic-engine" => "forced", + "ec_nistp_64_gcc_128" => "default", + "egd" => "default", + "external-tests" => "default", + "fuzz-afl" => "default", + "fuzz-libfuzzer" => "default", + "heartbeats" => "default", + "md2" => "default", + "msan" => "default", + "rc5" => "default", + "sctp" => "default", + "shared" => "option", + "ssl3" => "default", + "ssl3-method" => "default", + "ubsan" => "default", + "unit-test" => "default", + "weak-ssl-ciphers" => "default", + "zlib" => "default", + "zlib-dynamic" => "default", +); + +our %withargs = ( +); + +our %unified_info = ( + "depends" => + { + "" => + [ + "crypto/include/internal/bn_conf.h", + "crypto/include/internal/dso_conf.h", + "include/openssl/opensslconf.h", + ], + "apps/asn1pars.o" => + [ + "apps/progs.h", + ], + "apps/ca.o" => + [ + "apps/progs.h", + ], + "apps/ciphers.o" => + [ + "apps/progs.h", + ], + "apps/cms.o" => + [ + "apps/progs.h", + ], + "apps/crl.o" => + [ + "apps/progs.h", + ], + "apps/crl2p7.o" => + [ + "apps/progs.h", + ], + "apps/dgst.o" => + [ + "apps/progs.h", + ], + "apps/dhparam.o" => + [ + "apps/progs.h", + ], + "apps/dsa.o" => + [ + "apps/progs.h", + ], + "apps/dsaparam.o" => + [ + "apps/progs.h", + ], + "apps/ec.o" => + [ + "apps/progs.h", + ], + "apps/ecparam.o" => + [ + "apps/progs.h", + ], + "apps/enc.o" => + [ + "apps/progs.h", + ], + "apps/engine.o" => + [ + "apps/progs.h", + ], + "apps/errstr.o" => + [ + "apps/progs.h", + ], + "apps/gendsa.o" => + [ + "apps/progs.h", + ], + "apps/genpkey.o" => + [ + "apps/progs.h", + ], + "apps/genrsa.o" => + [ + "apps/progs.h", + ], + "apps/nseq.o" => + [ + "apps/progs.h", + ], + "apps/ocsp.o" => + [ + "apps/progs.h", + ], + "apps/openssl" => + [ + "apps/libapps.a", + "libssl", + ], + "apps/openssl.o" => + [ + "apps/progs.h", + ], + "apps/passwd.o" => + [ + "apps/progs.h", + ], + "apps/pkcs12.o" => + [ + "apps/progs.h", + ], + "apps/pkcs7.o" => + [ + "apps/progs.h", + ], + "apps/pkcs8.o" => + [ + "apps/progs.h", + ], + "apps/pkey.o" => + [ + "apps/progs.h", + ], + "apps/pkeyparam.o" => + [ + "apps/progs.h", + ], + "apps/pkeyutl.o" => + [ + "apps/progs.h", + ], + "apps/prime.o" => + [ + "apps/progs.h", + ], + "apps/progs.h" => + [ + "configdata.pm", + ], + "apps/rand.o" => + [ + "apps/progs.h", + ], + "apps/rehash.o" => + [ + "apps/progs.h", + ], + "apps/req.o" => + [ + "apps/progs.h", + ], + "apps/rsa.o" => + [ + "apps/progs.h", + ], + "apps/rsautl.o" => + [ + "apps/progs.h", + ], + "apps/s_client.o" => + [ + "apps/progs.h", + ], + "apps/s_server.o" => + [ + "apps/progs.h", + ], + "apps/s_time.o" => + [ + "apps/progs.h", + ], + "apps/sess_id.o" => + [ + "apps/progs.h", + ], + "apps/smime.o" => + [ + "apps/progs.h", + ], + "apps/speed.o" => + [ + "apps/progs.h", + ], + "apps/spkac.o" => + [ + "apps/progs.h", + ], + "apps/srp.o" => + [ + "apps/progs.h", + ], + "apps/storeutl.o" => + [ + "apps/progs.h", + ], + "apps/ts.o" => + [ + "apps/progs.h", + ], + "apps/verify.o" => + [ + "apps/progs.h", + ], + "apps/version.o" => + [ + "apps/progs.h", + ], + "apps/x509.o" => + [ + "apps/progs.h", + ], + "crypto/aes/aes-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/aes/aesni-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/aes/aest4-sparcv9.S" => + [ + "crypto/perlasm/sparcv9_modes.pl", + ], + "crypto/aes/vpaes-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/bf/bf-586.s" => + [ + "crypto/perlasm/cbc.pl", + "crypto/perlasm/x86asm.pl", + ], + "crypto/bn/bn-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/bn/co-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/bn/x86-gf2m.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/bn/x86-mont.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/buildinf.h" => + [ + "configdata.pm", + ], + "crypto/camellia/cmll-x86.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/camellia/cmllt4-sparcv9.S" => + [ + "crypto/perlasm/sparcv9_modes.pl", + ], + "crypto/cast/cast-586.s" => + [ + "crypto/perlasm/cbc.pl", + "crypto/perlasm/x86asm.pl", + ], + "crypto/cversion.o" => + [ + "crypto/buildinf.h", + ], + "crypto/des/crypt586.s" => + [ + "crypto/perlasm/cbc.pl", + "crypto/perlasm/x86asm.pl", + ], + "crypto/des/des-586.s" => + [ + "crypto/perlasm/cbc.pl", + "crypto/perlasm/x86asm.pl", + ], + "crypto/include/internal/bn_conf.h" => + [ + "configdata.pm", + ], + "crypto/include/internal/dso_conf.h" => + [ + "configdata.pm", + ], + "crypto/rc4/rc4-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/ripemd/rmd-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/sha/sha1-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/sha/sha256-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/sha/sha512-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/whrlpool/wp-mmx.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/x86cpuid.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "fuzz/asn1-test" => + [ + "libcrypto", + "libssl", + ], + "fuzz/asn1parse-test" => + [ + "libcrypto", + ], + "fuzz/bignum-test" => + [ + "libcrypto", + ], + "fuzz/bndiv-test" => + [ + "libcrypto", + ], + "fuzz/client-test" => + [ + "libcrypto", + "libssl", + ], + "fuzz/cms-test" => + [ + "libcrypto", + ], + "fuzz/conf-test" => + [ + "libcrypto", + ], + "fuzz/crl-test" => + [ + "libcrypto", + ], + "fuzz/ct-test" => + [ + "libcrypto", + ], + "fuzz/server-test" => + [ + "libcrypto", + "libssl", + ], + "fuzz/x509-test" => + [ + "libcrypto", + ], + "include/openssl/opensslconf.h" => + [ + "configdata.pm", + ], + "libcrypto.map" => + [ + "util/libcrypto.num", + ], + "libssl" => + [ + "libcrypto", + ], + "libssl.map" => + [ + "util/libssl.num", + ], + "test/aborttest" => + [ + "libcrypto", + ], + "test/afalgtest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/asn1_decode_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/asn1_encode_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/asn1_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/asn1_string_table_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/asn1_time_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/asynciotest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/asynctest" => + [ + "libcrypto", + ], + "test/bad_dtls_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/bftest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/bio_callback_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/bio_enc_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/bio_memleak_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/bioprinttest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/bntest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/buildtest_aes" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_asn1" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_asn1t" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_async" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_bio" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_blowfish" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_bn" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_buffer" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_camellia" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_cast" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_cmac" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_cms" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_conf" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_conf_api" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_crypto" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ct" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_des" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_dh" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_dsa" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_dtls1" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_e_os2" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ebcdic" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ec" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ecdh" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ecdsa" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_engine" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_evp" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_hmac" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_idea" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_kdf" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_lhash" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_md4" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_md5" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_mdc2" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_modes" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_obj_mac" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_objects" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ocsp" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_opensslv" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ossl_typ" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_pem" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_pem2" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_pkcs12" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_pkcs7" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_rand" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_rand_drbg" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_rc2" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_rc4" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ripemd" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_rsa" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_safestack" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_seed" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_sha" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_srp" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_srtp" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ssl" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ssl2" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_stack" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_store" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_symhacks" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_tls1" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ts" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_txt_db" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ui" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_whrlpool" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_x509" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_x509_vfy" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_x509v3" => + [ + "libcrypto", + "libssl", + ], + "test/casttest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/chacha_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/cipher_overhead_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/cipherbytes_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/cipherlist_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/ciphername_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/clienthellotest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/cmsapitest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/conf_include_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/constant_time_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/crltest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/ct_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/ctype_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/curve448_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/d2i_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/danetest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/destest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/dhtest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/drbg_cavs_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/drbgtest" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/dsa_no_digest_size_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/dsatest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/dtls_mtu_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/dtlstest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/dtlsv1listentest" => + [ + "libssl", + "test/libtestutil.a", + ], + "test/ec_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/ecdsatest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/ecstresstest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/ectest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/enginetest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/errtest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/evp_extra_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/evp_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/exdatatest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/exptest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/fatalerrtest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/gmdifftest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/gosttest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/hmactest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/ideatest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/igetest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/lhash_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/libtestutil.a" => + [ + "libcrypto", + ], + "test/md2test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/mdc2_internal_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/mdc2test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/memleaktest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/modes_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/ocspapitest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/packettest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/pbelutest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/pemtest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/pkey_meth_kdf_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/pkey_meth_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/poly1305_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/rc2test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/rc4test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/rc5test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/rdrand_sanitytest" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/recordlentest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/rsa_mp_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/rsa_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/sanitytest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/secmemtest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/servername_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/siphash_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/sm2_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/sm4_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/srptest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/ssl_cert_table_internal_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/ssl_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/ssl_test_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/sslapitest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/sslbuffertest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/sslcorrupttest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/ssltest_old" => + [ + "libcrypto", + "libssl", + ], + "test/stack_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/sysdefaulttest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/test_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/threadstest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/time_offset_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/tls13ccstest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/tls13encryptiontest" => + [ + "libcrypto", + "libssl.a", + "test/libtestutil.a", + ], + "test/uitest" => + [ + "apps/libapps.a", + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/v3ext" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/v3nametest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/verify_extra_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/versions" => + [ + "libcrypto", + ], + "test/wpackettest" => + [ + "libcrypto", + "libssl.a", + "test/libtestutil.a", + ], + "test/x509_check_cert_pkey_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/x509_dup_cert_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/x509_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/x509_time_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/x509aux" => + [ + "libcrypto", + "test/libtestutil.a", + ], + }, + "dirinfo" => + { + "apps" => + { + "products" => + { + "bin" => + [ + "apps/openssl", + ], + "lib" => + [ + "apps/libapps.a", + ], + "script" => + [ + "apps/CA.pl", + "apps/tsget.pl", + ], + }, + }, + "crypto" => + { + "deps" => + [ + "crypto/cpt_err.o", + "crypto/cryptlib.o", + "crypto/ctype.o", + "crypto/cversion.o", + "crypto/ebcdic.o", + "crypto/ex_data.o", + "crypto/getenv.o", + "crypto/init.o", + "crypto/mem.o", + "crypto/mem_clr.o", + "crypto/mem_dbg.o", + "crypto/mem_sec.o", + "crypto/o_dir.o", + "crypto/o_fips.o", + "crypto/o_fopen.o", + "crypto/o_init.o", + "crypto/o_str.o", + "crypto/o_time.o", + "crypto/threads_none.o", + "crypto/threads_pthread.o", + "crypto/threads_win.o", + "crypto/uid.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/aes" => + { + "deps" => + [ + "crypto/aes/aes-mips.o", + "crypto/aes/aes_cbc.o", + "crypto/aes/aes_cfb.o", + "crypto/aes/aes_ecb.o", + "crypto/aes/aes_ige.o", + "crypto/aes/aes_misc.o", + "crypto/aes/aes_ofb.o", + "crypto/aes/aes_wrap.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/aria" => + { + "deps" => + [ + "crypto/aria/aria.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/asn1" => + { + "deps" => + [ + "crypto/asn1/a_bitstr.o", + "crypto/asn1/a_d2i_fp.o", + "crypto/asn1/a_digest.o", + "crypto/asn1/a_dup.o", + "crypto/asn1/a_gentm.o", + "crypto/asn1/a_i2d_fp.o", + "crypto/asn1/a_int.o", + "crypto/asn1/a_mbstr.o", + "crypto/asn1/a_object.o", + "crypto/asn1/a_octet.o", + "crypto/asn1/a_print.o", + "crypto/asn1/a_sign.o", + "crypto/asn1/a_strex.o", + "crypto/asn1/a_strnid.o", + "crypto/asn1/a_time.o", + "crypto/asn1/a_type.o", + "crypto/asn1/a_utctm.o", + "crypto/asn1/a_utf8.o", + "crypto/asn1/a_verify.o", + "crypto/asn1/ameth_lib.o", + "crypto/asn1/asn1_err.o", + "crypto/asn1/asn1_gen.o", + "crypto/asn1/asn1_item_list.o", + "crypto/asn1/asn1_lib.o", + "crypto/asn1/asn1_par.o", + "crypto/asn1/asn_mime.o", + "crypto/asn1/asn_moid.o", + "crypto/asn1/asn_mstbl.o", + "crypto/asn1/asn_pack.o", + "crypto/asn1/bio_asn1.o", + "crypto/asn1/bio_ndef.o", + "crypto/asn1/d2i_pr.o", + "crypto/asn1/d2i_pu.o", + "crypto/asn1/evp_asn1.o", + "crypto/asn1/f_int.o", + "crypto/asn1/f_string.o", + "crypto/asn1/i2d_pr.o", + "crypto/asn1/i2d_pu.o", + "crypto/asn1/n_pkey.o", + "crypto/asn1/nsseq.o", + "crypto/asn1/p5_pbe.o", + "crypto/asn1/p5_pbev2.o", + "crypto/asn1/p5_scrypt.o", + "crypto/asn1/p8_pkey.o", + "crypto/asn1/t_bitst.o", + "crypto/asn1/t_pkey.o", + "crypto/asn1/t_spki.o", + "crypto/asn1/tasn_dec.o", + "crypto/asn1/tasn_enc.o", + "crypto/asn1/tasn_fre.o", + "crypto/asn1/tasn_new.o", + "crypto/asn1/tasn_prn.o", + "crypto/asn1/tasn_scn.o", + "crypto/asn1/tasn_typ.o", + "crypto/asn1/tasn_utl.o", + "crypto/asn1/x_algor.o", + "crypto/asn1/x_bignum.o", + "crypto/asn1/x_info.o", + "crypto/asn1/x_int64.o", + "crypto/asn1/x_long.o", + "crypto/asn1/x_pkey.o", + "crypto/asn1/x_sig.o", + "crypto/asn1/x_spki.o", + "crypto/asn1/x_val.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/async" => + { + "deps" => + [ + "crypto/async/async.o", + "crypto/async/async_err.o", + "crypto/async/async_wait.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/async/arch" => + { + "deps" => + [ + "crypto/async/arch/async_null.o", + "crypto/async/arch/async_posix.o", + "crypto/async/arch/async_win.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/bf" => + { + "deps" => + [ + "crypto/bf/bf_cfb64.o", + "crypto/bf/bf_ecb.o", + "crypto/bf/bf_enc.o", + "crypto/bf/bf_ofb64.o", + "crypto/bf/bf_skey.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/bio" => + { + "deps" => + [ + "crypto/bio/b_addr.o", + "crypto/bio/b_dump.o", + "crypto/bio/b_print.o", + "crypto/bio/b_sock.o", + "crypto/bio/b_sock2.o", + "crypto/bio/bf_buff.o", + "crypto/bio/bf_lbuf.o", + "crypto/bio/bf_nbio.o", + "crypto/bio/bf_null.o", + "crypto/bio/bio_cb.o", + "crypto/bio/bio_err.o", + "crypto/bio/bio_lib.o", + "crypto/bio/bio_meth.o", + "crypto/bio/bss_acpt.o", + "crypto/bio/bss_bio.o", + "crypto/bio/bss_conn.o", + "crypto/bio/bss_dgram.o", + "crypto/bio/bss_fd.o", + "crypto/bio/bss_file.o", + "crypto/bio/bss_log.o", + "crypto/bio/bss_mem.o", + "crypto/bio/bss_null.o", + "crypto/bio/bss_sock.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/blake2" => + { + "deps" => + [ + "crypto/blake2/blake2b.o", + "crypto/blake2/blake2s.o", + "crypto/blake2/m_blake2b.o", + "crypto/blake2/m_blake2s.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/bn" => + { + "deps" => + [ + "crypto/bn/bn-mips.o", + "crypto/bn/bn_add.o", + "crypto/bn/bn_blind.o", + "crypto/bn/bn_const.o", + "crypto/bn/bn_ctx.o", + "crypto/bn/bn_depr.o", + "crypto/bn/bn_dh.o", + "crypto/bn/bn_div.o", + "crypto/bn/bn_err.o", + "crypto/bn/bn_exp.o", + "crypto/bn/bn_exp2.o", + "crypto/bn/bn_gcd.o", + "crypto/bn/bn_gf2m.o", + "crypto/bn/bn_intern.o", + "crypto/bn/bn_kron.o", + "crypto/bn/bn_lib.o", + "crypto/bn/bn_mod.o", + "crypto/bn/bn_mont.o", + "crypto/bn/bn_mpi.o", + "crypto/bn/bn_mul.o", + "crypto/bn/bn_nist.o", + "crypto/bn/bn_prime.o", + "crypto/bn/bn_print.o", + "crypto/bn/bn_rand.o", + "crypto/bn/bn_recp.o", + "crypto/bn/bn_shift.o", + "crypto/bn/bn_sqr.o", + "crypto/bn/bn_sqrt.o", + "crypto/bn/bn_srp.o", + "crypto/bn/bn_word.o", + "crypto/bn/bn_x931p.o", + "crypto/bn/mips-mont.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/buffer" => + { + "deps" => + [ + "crypto/buffer/buf_err.o", + "crypto/buffer/buffer.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/camellia" => + { + "deps" => + [ + "crypto/camellia/camellia.o", + "crypto/camellia/cmll_cbc.o", + "crypto/camellia/cmll_cfb.o", + "crypto/camellia/cmll_ctr.o", + "crypto/camellia/cmll_ecb.o", + "crypto/camellia/cmll_misc.o", + "crypto/camellia/cmll_ofb.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/cast" => + { + "deps" => + [ + "crypto/cast/c_cfb64.o", + "crypto/cast/c_ecb.o", + "crypto/cast/c_enc.o", + "crypto/cast/c_ofb64.o", + "crypto/cast/c_skey.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/chacha" => + { + "deps" => + [ + "crypto/chacha/chacha_enc.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/cmac" => + { + "deps" => + [ + "crypto/cmac/cm_ameth.o", + "crypto/cmac/cm_pmeth.o", + "crypto/cmac/cmac.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/cms" => + { + "deps" => + [ + "crypto/cms/cms_asn1.o", + "crypto/cms/cms_att.o", + "crypto/cms/cms_cd.o", + "crypto/cms/cms_dd.o", + "crypto/cms/cms_enc.o", + "crypto/cms/cms_env.o", + "crypto/cms/cms_err.o", + "crypto/cms/cms_ess.o", + "crypto/cms/cms_io.o", + "crypto/cms/cms_kari.o", + "crypto/cms/cms_lib.o", + "crypto/cms/cms_pwri.o", + "crypto/cms/cms_sd.o", + "crypto/cms/cms_smime.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/conf" => + { + "deps" => + [ + "crypto/conf/conf_api.o", + "crypto/conf/conf_def.o", + "crypto/conf/conf_err.o", + "crypto/conf/conf_lib.o", + "crypto/conf/conf_mall.o", + "crypto/conf/conf_mod.o", + "crypto/conf/conf_sap.o", + "crypto/conf/conf_ssl.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/ct" => + { + "deps" => + [ + "crypto/ct/ct_b64.o", + "crypto/ct/ct_err.o", + "crypto/ct/ct_log.o", + "crypto/ct/ct_oct.o", + "crypto/ct/ct_policy.o", + "crypto/ct/ct_prn.o", + "crypto/ct/ct_sct.o", + "crypto/ct/ct_sct_ctx.o", + "crypto/ct/ct_vfy.o", + "crypto/ct/ct_x509v3.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/des" => + { + "deps" => + [ + "crypto/des/cbc_cksm.o", + "crypto/des/cbc_enc.o", + "crypto/des/cfb64ede.o", + "crypto/des/cfb64enc.o", + "crypto/des/cfb_enc.o", + "crypto/des/des_enc.o", + "crypto/des/ecb3_enc.o", + "crypto/des/ecb_enc.o", + "crypto/des/fcrypt.o", + "crypto/des/fcrypt_b.o", + "crypto/des/ofb64ede.o", + "crypto/des/ofb64enc.o", + "crypto/des/ofb_enc.o", + "crypto/des/pcbc_enc.o", + "crypto/des/qud_cksm.o", + "crypto/des/rand_key.o", + "crypto/des/set_key.o", + "crypto/des/str2key.o", + "crypto/des/xcbc_enc.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/dh" => + { + "deps" => + [ + "crypto/dh/dh_ameth.o", + "crypto/dh/dh_asn1.o", + "crypto/dh/dh_check.o", + "crypto/dh/dh_depr.o", + "crypto/dh/dh_err.o", + "crypto/dh/dh_gen.o", + "crypto/dh/dh_kdf.o", + "crypto/dh/dh_key.o", + "crypto/dh/dh_lib.o", + "crypto/dh/dh_meth.o", + "crypto/dh/dh_pmeth.o", + "crypto/dh/dh_prn.o", + "crypto/dh/dh_rfc5114.o", + "crypto/dh/dh_rfc7919.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/dsa" => + { + "deps" => + [ + "crypto/dsa/dsa_ameth.o", + "crypto/dsa/dsa_asn1.o", + "crypto/dsa/dsa_depr.o", + "crypto/dsa/dsa_err.o", + "crypto/dsa/dsa_gen.o", + "crypto/dsa/dsa_key.o", + "crypto/dsa/dsa_lib.o", + "crypto/dsa/dsa_meth.o", + "crypto/dsa/dsa_ossl.o", + "crypto/dsa/dsa_pmeth.o", + "crypto/dsa/dsa_prn.o", + "crypto/dsa/dsa_sign.o", + "crypto/dsa/dsa_vrf.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/dso" => + { + "deps" => + [ + "crypto/dso/dso_dl.o", + "crypto/dso/dso_dlfcn.o", + "crypto/dso/dso_err.o", + "crypto/dso/dso_lib.o", + "crypto/dso/dso_openssl.o", + "crypto/dso/dso_vms.o", + "crypto/dso/dso_win32.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/ec" => + { + "deps" => + [ + "crypto/ec/curve25519.o", + "crypto/ec/ec2_oct.o", + "crypto/ec/ec2_smpl.o", + "crypto/ec/ec_ameth.o", + "crypto/ec/ec_asn1.o", + "crypto/ec/ec_check.o", + "crypto/ec/ec_curve.o", + "crypto/ec/ec_cvt.o", + "crypto/ec/ec_err.o", + "crypto/ec/ec_key.o", + "crypto/ec/ec_kmeth.o", + "crypto/ec/ec_lib.o", + "crypto/ec/ec_mult.o", + "crypto/ec/ec_oct.o", + "crypto/ec/ec_pmeth.o", + "crypto/ec/ec_print.o", + "crypto/ec/ecdh_kdf.o", + "crypto/ec/ecdh_ossl.o", + "crypto/ec/ecdsa_ossl.o", + "crypto/ec/ecdsa_sign.o", + "crypto/ec/ecdsa_vrf.o", + "crypto/ec/eck_prn.o", + "crypto/ec/ecp_mont.o", + "crypto/ec/ecp_nist.o", + "crypto/ec/ecp_nistp224.o", + "crypto/ec/ecp_nistp256.o", + "crypto/ec/ecp_nistp521.o", + "crypto/ec/ecp_nistputil.o", + "crypto/ec/ecp_oct.o", + "crypto/ec/ecp_smpl.o", + "crypto/ec/ecx_meth.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/ec/curve448" => + { + "deps" => + [ + "crypto/ec/curve448/curve448.o", + "crypto/ec/curve448/curve448_tables.o", + "crypto/ec/curve448/eddsa.o", + "crypto/ec/curve448/f_generic.o", + "crypto/ec/curve448/scalar.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/ec/curve448/arch_32" => + { + "deps" => + [ + "crypto/ec/curve448/arch_32/f_impl.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/engine" => + { + "deps" => + [ + "crypto/engine/eng_all.o", + "crypto/engine/eng_cnf.o", + "crypto/engine/eng_ctrl.o", + "crypto/engine/eng_dyn.o", + "crypto/engine/eng_err.o", + "crypto/engine/eng_fat.o", + "crypto/engine/eng_init.o", + "crypto/engine/eng_lib.o", + "crypto/engine/eng_list.o", + "crypto/engine/eng_openssl.o", + "crypto/engine/eng_pkey.o", + "crypto/engine/eng_rdrand.o", + "crypto/engine/eng_table.o", + "crypto/engine/tb_asnmth.o", + "crypto/engine/tb_cipher.o", + "crypto/engine/tb_dh.o", + "crypto/engine/tb_digest.o", + "crypto/engine/tb_dsa.o", + "crypto/engine/tb_eckey.o", + "crypto/engine/tb_pkmeth.o", + "crypto/engine/tb_rand.o", + "crypto/engine/tb_rsa.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/err" => + { + "deps" => + [ + "crypto/err/err.o", + "crypto/err/err_all.o", + "crypto/err/err_prn.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/evp" => + { + "deps" => + [ + "crypto/evp/bio_b64.o", + "crypto/evp/bio_enc.o", + "crypto/evp/bio_md.o", + "crypto/evp/bio_ok.o", + "crypto/evp/c_allc.o", + "crypto/evp/c_alld.o", + "crypto/evp/cmeth_lib.o", + "crypto/evp/digest.o", + "crypto/evp/e_aes.o", + "crypto/evp/e_aes_cbc_hmac_sha1.o", + "crypto/evp/e_aes_cbc_hmac_sha256.o", + "crypto/evp/e_aria.o", + "crypto/evp/e_bf.o", + "crypto/evp/e_camellia.o", + "crypto/evp/e_cast.o", + "crypto/evp/e_chacha20_poly1305.o", + "crypto/evp/e_des.o", + "crypto/evp/e_des3.o", + "crypto/evp/e_idea.o", + "crypto/evp/e_null.o", + "crypto/evp/e_old.o", + "crypto/evp/e_rc2.o", + "crypto/evp/e_rc4.o", + "crypto/evp/e_rc4_hmac_md5.o", + "crypto/evp/e_rc5.o", + "crypto/evp/e_seed.o", + "crypto/evp/e_sm4.o", + "crypto/evp/e_xcbc_d.o", + "crypto/evp/encode.o", + "crypto/evp/evp_cnf.o", + "crypto/evp/evp_enc.o", + "crypto/evp/evp_err.o", + "crypto/evp/evp_key.o", + "crypto/evp/evp_lib.o", + "crypto/evp/evp_pbe.o", + "crypto/evp/evp_pkey.o", + "crypto/evp/m_md2.o", + "crypto/evp/m_md4.o", + "crypto/evp/m_md5.o", + "crypto/evp/m_md5_sha1.o", + "crypto/evp/m_mdc2.o", + "crypto/evp/m_null.o", + "crypto/evp/m_ripemd.o", + "crypto/evp/m_sha1.o", + "crypto/evp/m_sha3.o", + "crypto/evp/m_sigver.o", + "crypto/evp/m_wp.o", + "crypto/evp/names.o", + "crypto/evp/p5_crpt.o", + "crypto/evp/p5_crpt2.o", + "crypto/evp/p_dec.o", + "crypto/evp/p_enc.o", + "crypto/evp/p_lib.o", + "crypto/evp/p_open.o", + "crypto/evp/p_seal.o", + "crypto/evp/p_sign.o", + "crypto/evp/p_verify.o", + "crypto/evp/pbe_scrypt.o", + "crypto/evp/pmeth_fn.o", + "crypto/evp/pmeth_gn.o", + "crypto/evp/pmeth_lib.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/hmac" => + { + "deps" => + [ + "crypto/hmac/hm_ameth.o", + "crypto/hmac/hm_pmeth.o", + "crypto/hmac/hmac.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/idea" => + { + "deps" => + [ + "crypto/idea/i_cbc.o", + "crypto/idea/i_cfb64.o", + "crypto/idea/i_ecb.o", + "crypto/idea/i_ofb64.o", + "crypto/idea/i_skey.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/kdf" => + { + "deps" => + [ + "crypto/kdf/hkdf.o", + "crypto/kdf/kdf_err.o", + "crypto/kdf/scrypt.o", + "crypto/kdf/tls1_prf.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/lhash" => + { + "deps" => + [ + "crypto/lhash/lh_stats.o", + "crypto/lhash/lhash.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/md4" => + { + "deps" => + [ + "crypto/md4/md4_dgst.o", + "crypto/md4/md4_one.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/md5" => + { + "deps" => + [ + "crypto/md5/md5_dgst.o", + "crypto/md5/md5_one.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/mdc2" => + { + "deps" => + [ + "crypto/mdc2/mdc2_one.o", + "crypto/mdc2/mdc2dgst.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/modes" => + { + "deps" => + [ + "crypto/modes/cbc128.o", + "crypto/modes/ccm128.o", + "crypto/modes/cfb128.o", + "crypto/modes/ctr128.o", + "crypto/modes/cts128.o", + "crypto/modes/gcm128.o", + "crypto/modes/ocb128.o", + "crypto/modes/ofb128.o", + "crypto/modes/wrap128.o", + "crypto/modes/xts128.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/objects" => + { + "deps" => + [ + "crypto/objects/o_names.o", + "crypto/objects/obj_dat.o", + "crypto/objects/obj_err.o", + "crypto/objects/obj_lib.o", + "crypto/objects/obj_xref.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/ocsp" => + { + "deps" => + [ + "crypto/ocsp/ocsp_asn.o", + "crypto/ocsp/ocsp_cl.o", + "crypto/ocsp/ocsp_err.o", + "crypto/ocsp/ocsp_ext.o", + "crypto/ocsp/ocsp_ht.o", + "crypto/ocsp/ocsp_lib.o", + "crypto/ocsp/ocsp_prn.o", + "crypto/ocsp/ocsp_srv.o", + "crypto/ocsp/ocsp_vfy.o", + "crypto/ocsp/v3_ocsp.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/pem" => + { + "deps" => + [ + "crypto/pem/pem_all.o", + "crypto/pem/pem_err.o", + "crypto/pem/pem_info.o", + "crypto/pem/pem_lib.o", + "crypto/pem/pem_oth.o", + "crypto/pem/pem_pk8.o", + "crypto/pem/pem_pkey.o", + "crypto/pem/pem_sign.o", + "crypto/pem/pem_x509.o", + "crypto/pem/pem_xaux.o", + "crypto/pem/pvkfmt.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/pkcs12" => + { + "deps" => + [ + "crypto/pkcs12/p12_add.o", + "crypto/pkcs12/p12_asn.o", + "crypto/pkcs12/p12_attr.o", + "crypto/pkcs12/p12_crpt.o", + "crypto/pkcs12/p12_crt.o", + "crypto/pkcs12/p12_decr.o", + "crypto/pkcs12/p12_init.o", + "crypto/pkcs12/p12_key.o", + "crypto/pkcs12/p12_kiss.o", + "crypto/pkcs12/p12_mutl.o", + "crypto/pkcs12/p12_npas.o", + "crypto/pkcs12/p12_p8d.o", + "crypto/pkcs12/p12_p8e.o", + "crypto/pkcs12/p12_sbag.o", + "crypto/pkcs12/p12_utl.o", + "crypto/pkcs12/pk12err.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/pkcs7" => + { + "deps" => + [ + "crypto/pkcs7/bio_pk7.o", + "crypto/pkcs7/pk7_asn1.o", + "crypto/pkcs7/pk7_attr.o", + "crypto/pkcs7/pk7_doit.o", + "crypto/pkcs7/pk7_lib.o", + "crypto/pkcs7/pk7_mime.o", + "crypto/pkcs7/pk7_smime.o", + "crypto/pkcs7/pkcs7err.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/poly1305" => + { + "deps" => + [ + "crypto/poly1305/poly1305-mips.o", + "crypto/poly1305/poly1305.o", + "crypto/poly1305/poly1305_ameth.o", + "crypto/poly1305/poly1305_pmeth.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/rand" => + { + "deps" => + [ + "crypto/rand/drbg_ctr.o", + "crypto/rand/drbg_lib.o", + "crypto/rand/rand_egd.o", + "crypto/rand/rand_err.o", + "crypto/rand/rand_lib.o", + "crypto/rand/rand_unix.o", + "crypto/rand/rand_vms.o", + "crypto/rand/rand_win.o", + "crypto/rand/randfile.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/rc2" => + { + "deps" => + [ + "crypto/rc2/rc2_cbc.o", + "crypto/rc2/rc2_ecb.o", + "crypto/rc2/rc2_skey.o", + "crypto/rc2/rc2cfb64.o", + "crypto/rc2/rc2ofb64.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/rc4" => + { + "deps" => + [ + "crypto/rc4/rc4_enc.o", + "crypto/rc4/rc4_skey.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/ripemd" => + { + "deps" => + [ + "crypto/ripemd/rmd_dgst.o", + "crypto/ripemd/rmd_one.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/rsa" => + { + "deps" => + [ + "crypto/rsa/rsa_ameth.o", + "crypto/rsa/rsa_asn1.o", + "crypto/rsa/rsa_chk.o", + "crypto/rsa/rsa_crpt.o", + "crypto/rsa/rsa_depr.o", + "crypto/rsa/rsa_err.o", + "crypto/rsa/rsa_gen.o", + "crypto/rsa/rsa_lib.o", + "crypto/rsa/rsa_meth.o", + "crypto/rsa/rsa_mp.o", + "crypto/rsa/rsa_none.o", + "crypto/rsa/rsa_oaep.o", + "crypto/rsa/rsa_ossl.o", + "crypto/rsa/rsa_pk1.o", + "crypto/rsa/rsa_pmeth.o", + "crypto/rsa/rsa_prn.o", + "crypto/rsa/rsa_pss.o", + "crypto/rsa/rsa_saos.o", + "crypto/rsa/rsa_sign.o", + "crypto/rsa/rsa_ssl.o", + "crypto/rsa/rsa_x931.o", + "crypto/rsa/rsa_x931g.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/seed" => + { + "deps" => + [ + "crypto/seed/seed.o", + "crypto/seed/seed_cbc.o", + "crypto/seed/seed_cfb.o", + "crypto/seed/seed_ecb.o", + "crypto/seed/seed_ofb.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/sha" => + { + "deps" => + [ + "crypto/sha/keccak1600.o", + "crypto/sha/sha1-mips.o", + "crypto/sha/sha1_one.o", + "crypto/sha/sha1dgst.o", + "crypto/sha/sha256-mips.o", + "crypto/sha/sha256.o", + "crypto/sha/sha512-mips.o", + "crypto/sha/sha512.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/siphash" => + { + "deps" => + [ + "crypto/siphash/siphash.o", + "crypto/siphash/siphash_ameth.o", + "crypto/siphash/siphash_pmeth.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/sm2" => + { + "deps" => + [ + "crypto/sm2/sm2_crypt.o", + "crypto/sm2/sm2_err.o", + "crypto/sm2/sm2_pmeth.o", + "crypto/sm2/sm2_sign.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/sm3" => + { + "deps" => + [ + "crypto/sm3/m_sm3.o", + "crypto/sm3/sm3.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/sm4" => + { + "deps" => + [ + "crypto/sm4/sm4.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/srp" => + { + "deps" => + [ + "crypto/srp/srp_lib.o", + "crypto/srp/srp_vfy.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/stack" => + { + "deps" => + [ + "crypto/stack/stack.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/store" => + { + "deps" => + [ + "crypto/store/loader_file.o", + "crypto/store/store_err.o", + "crypto/store/store_init.o", + "crypto/store/store_lib.o", + "crypto/store/store_register.o", + "crypto/store/store_strings.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/ts" => + { + "deps" => + [ + "crypto/ts/ts_asn1.o", + "crypto/ts/ts_conf.o", + "crypto/ts/ts_err.o", + "crypto/ts/ts_lib.o", + "crypto/ts/ts_req_print.o", + "crypto/ts/ts_req_utils.o", + "crypto/ts/ts_rsp_print.o", + "crypto/ts/ts_rsp_sign.o", + "crypto/ts/ts_rsp_utils.o", + "crypto/ts/ts_rsp_verify.o", + "crypto/ts/ts_verify_ctx.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/txt_db" => + { + "deps" => + [ + "crypto/txt_db/txt_db.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/ui" => + { + "deps" => + [ + "crypto/ui/ui_err.o", + "crypto/ui/ui_lib.o", + "crypto/ui/ui_null.o", + "crypto/ui/ui_openssl.o", + "crypto/ui/ui_util.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/whrlpool" => + { + "deps" => + [ + "crypto/whrlpool/wp_block.o", + "crypto/whrlpool/wp_dgst.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/x509" => + { + "deps" => + [ + "crypto/x509/by_dir.o", + "crypto/x509/by_file.o", + "crypto/x509/t_crl.o", + "crypto/x509/t_req.o", + "crypto/x509/t_x509.o", + "crypto/x509/x509_att.o", + "crypto/x509/x509_cmp.o", + "crypto/x509/x509_d2.o", + "crypto/x509/x509_def.o", + "crypto/x509/x509_err.o", + "crypto/x509/x509_ext.o", + "crypto/x509/x509_lu.o", + "crypto/x509/x509_meth.o", + "crypto/x509/x509_obj.o", + "crypto/x509/x509_r2x.o", + "crypto/x509/x509_req.o", + "crypto/x509/x509_set.o", + "crypto/x509/x509_trs.o", + "crypto/x509/x509_txt.o", + "crypto/x509/x509_v3.o", + "crypto/x509/x509_vfy.o", + "crypto/x509/x509_vpm.o", + "crypto/x509/x509cset.o", + "crypto/x509/x509name.o", + "crypto/x509/x509rset.o", + "crypto/x509/x509spki.o", + "crypto/x509/x509type.o", + "crypto/x509/x_all.o", + "crypto/x509/x_attrib.o", + "crypto/x509/x_crl.o", + "crypto/x509/x_exten.o", + "crypto/x509/x_name.o", + "crypto/x509/x_pubkey.o", + "crypto/x509/x_req.o", + "crypto/x509/x_x509.o", + "crypto/x509/x_x509a.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/x509v3" => + { + "deps" => + [ + "crypto/x509v3/pcy_cache.o", + "crypto/x509v3/pcy_data.o", + "crypto/x509v3/pcy_lib.o", + "crypto/x509v3/pcy_map.o", + "crypto/x509v3/pcy_node.o", + "crypto/x509v3/pcy_tree.o", + "crypto/x509v3/v3_addr.o", + "crypto/x509v3/v3_admis.o", + "crypto/x509v3/v3_akey.o", + "crypto/x509v3/v3_akeya.o", + "crypto/x509v3/v3_alt.o", + "crypto/x509v3/v3_asid.o", + "crypto/x509v3/v3_bcons.o", + "crypto/x509v3/v3_bitst.o", + "crypto/x509v3/v3_conf.o", + "crypto/x509v3/v3_cpols.o", + "crypto/x509v3/v3_crld.o", + "crypto/x509v3/v3_enum.o", + "crypto/x509v3/v3_extku.o", + "crypto/x509v3/v3_genn.o", + "crypto/x509v3/v3_ia5.o", + "crypto/x509v3/v3_info.o", + "crypto/x509v3/v3_int.o", + "crypto/x509v3/v3_lib.o", + "crypto/x509v3/v3_ncons.o", + "crypto/x509v3/v3_pci.o", + "crypto/x509v3/v3_pcia.o", + "crypto/x509v3/v3_pcons.o", + "crypto/x509v3/v3_pku.o", + "crypto/x509v3/v3_pmaps.o", + "crypto/x509v3/v3_prn.o", + "crypto/x509v3/v3_purp.o", + "crypto/x509v3/v3_skey.o", + "crypto/x509v3/v3_sxnet.o", + "crypto/x509v3/v3_tlsf.o", + "crypto/x509v3/v3_utl.o", + "crypto/x509v3/v3err.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "engines" => + { + "deps" => + [ + "engines/e_capi.o", + "engines/e_padlock.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "fuzz" => + { + "products" => + { + "bin" => + [ + "fuzz/asn1-test", + "fuzz/asn1parse-test", + "fuzz/bignum-test", + "fuzz/bndiv-test", + "fuzz/client-test", + "fuzz/cms-test", + "fuzz/conf-test", + "fuzz/crl-test", + "fuzz/ct-test", + "fuzz/server-test", + "fuzz/x509-test", + ], + }, + }, + "ssl" => + { + "deps" => + [ + "ssl/bio_ssl.o", + "ssl/d1_lib.o", + "ssl/d1_msg.o", + "ssl/d1_srtp.o", + "ssl/methods.o", + "ssl/packet.o", + "ssl/pqueue.o", + "ssl/s3_cbc.o", + "ssl/s3_enc.o", + "ssl/s3_lib.o", + "ssl/s3_msg.o", + "ssl/ssl_asn1.o", + "ssl/ssl_cert.o", + "ssl/ssl_ciph.o", + "ssl/ssl_conf.o", + "ssl/ssl_err.o", + "ssl/ssl_init.o", + "ssl/ssl_lib.o", + "ssl/ssl_mcnf.o", + "ssl/ssl_rsa.o", + "ssl/ssl_sess.o", + "ssl/ssl_stat.o", + "ssl/ssl_txt.o", + "ssl/ssl_utst.o", + "ssl/t1_enc.o", + "ssl/t1_lib.o", + "ssl/t1_trce.o", + "ssl/tls13_enc.o", + "ssl/tls_srp.o", + ], + "products" => + { + "lib" => + [ + "libssl", + ], + }, + }, + "ssl/record" => + { + "deps" => + [ + "ssl/record/dtls1_bitmap.o", + "ssl/record/rec_layer_d1.o", + "ssl/record/rec_layer_s3.o", + "ssl/record/ssl3_buffer.o", + "ssl/record/ssl3_record.o", + "ssl/record/ssl3_record_tls13.o", + ], + "products" => + { + "lib" => + [ + "libssl", + ], + }, + }, + "ssl/statem" => + { + "deps" => + [ + "ssl/statem/extensions.o", + "ssl/statem/extensions_clnt.o", + "ssl/statem/extensions_cust.o", + "ssl/statem/extensions_srvr.o", + "ssl/statem/statem.o", + "ssl/statem/statem_clnt.o", + "ssl/statem/statem_dtls.o", + "ssl/statem/statem_lib.o", + "ssl/statem/statem_srvr.o", + ], + "products" => + { + "lib" => + [ + "libssl", + ], + }, + }, + "test/testutil" => + { + "deps" => + [ + "test/testutil/basic_output.o", + "test/testutil/cb.o", + "test/testutil/driver.o", + "test/testutil/format_output.o", + "test/testutil/init.o", + "test/testutil/main.o", + "test/testutil/output_helpers.o", + "test/testutil/stanza.o", + "test/testutil/tap_bio.o", + "test/testutil/test_cleanup.o", + "test/testutil/tests.o", + ], + "products" => + { + "lib" => + [ + "test/libtestutil.a", + ], + }, + }, + "tools" => + { + "products" => + { + "script" => + [ + "tools/c_rehash", + ], + }, + }, + "util" => + { + "products" => + { + "script" => + [ + "util/shlib_wrap.sh", + ], + }, + }, + }, + "engines" => + [ + ], + "extra" => + [ + "crypto/alphacpuid.pl", + "crypto/arm64cpuid.pl", + "crypto/armv4cpuid.pl", + "crypto/ia64cpuid.S", + "crypto/pariscid.pl", + "crypto/ppccpuid.pl", + "crypto/x86_64cpuid.pl", + "crypto/x86cpuid.pl", + "ms/applink.c", + "ms/uplink-x86.pl", + "ms/uplink.c", + ], + "generate" => + { + "apps/progs.h" => + [ + "apps/progs.pl", + "\$(APPS_OPENSSL)", + ], + "crypto/aes/aes-586.s" => + [ + "crypto/aes/asm/aes-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/aes/aes-armv4.S" => + [ + "crypto/aes/asm/aes-armv4.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aes-ia64.s" => + [ + "crypto/aes/asm/aes-ia64.S", + ], + "crypto/aes/aes-mips.S" => + [ + "crypto/aes/asm/aes-mips.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aes-parisc.s" => + [ + "crypto/aes/asm/aes-parisc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aes-ppc.s" => + [ + "crypto/aes/asm/aes-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aes-s390x.S" => + [ + "crypto/aes/asm/aes-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aes-sparcv9.S" => + [ + "crypto/aes/asm/aes-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aes-x86_64.s" => + [ + "crypto/aes/asm/aes-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aesfx-sparcv9.S" => + [ + "crypto/aes/asm/aesfx-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aesni-mb-x86_64.s" => + [ + "crypto/aes/asm/aesni-mb-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aesni-sha1-x86_64.s" => + [ + "crypto/aes/asm/aesni-sha1-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aesni-sha256-x86_64.s" => + [ + "crypto/aes/asm/aesni-sha256-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aesni-x86.s" => + [ + "crypto/aes/asm/aesni-x86.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/aes/aesni-x86_64.s" => + [ + "crypto/aes/asm/aesni-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aesp8-ppc.s" => + [ + "crypto/aes/asm/aesp8-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aest4-sparcv9.S" => + [ + "crypto/aes/asm/aest4-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aesv8-armx.S" => + [ + "crypto/aes/asm/aesv8-armx.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/bsaes-armv7.S" => + [ + "crypto/aes/asm/bsaes-armv7.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/bsaes-x86_64.s" => + [ + "crypto/aes/asm/bsaes-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/vpaes-armv8.S" => + [ + "crypto/aes/asm/vpaes-armv8.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/vpaes-ppc.s" => + [ + "crypto/aes/asm/vpaes-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/vpaes-x86.s" => + [ + "crypto/aes/asm/vpaes-x86.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/aes/vpaes-x86_64.s" => + [ + "crypto/aes/asm/vpaes-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/alphacpuid.s" => + [ + "crypto/alphacpuid.pl", + ], + "crypto/arm64cpuid.S" => + [ + "crypto/arm64cpuid.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/armv4cpuid.S" => + [ + "crypto/armv4cpuid.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bf/bf-586.s" => + [ + "crypto/bf/asm/bf-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/bn/alpha-mont.S" => + [ + "crypto/bn/asm/alpha-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/armv4-gf2m.S" => + [ + "crypto/bn/asm/armv4-gf2m.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/armv4-mont.S" => + [ + "crypto/bn/asm/armv4-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/armv8-mont.S" => + [ + "crypto/bn/asm/armv8-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/bn-586.s" => + [ + "crypto/bn/asm/bn-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/bn/bn-ia64.s" => + [ + "crypto/bn/asm/ia64.S", + ], + "crypto/bn/bn-mips.S" => + [ + "crypto/bn/asm/mips.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/bn-ppc.s" => + [ + "crypto/bn/asm/ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/co-586.s" => + [ + "crypto/bn/asm/co-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/bn/ia64-mont.s" => + [ + "crypto/bn/asm/ia64-mont.pl", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/bn/mips-mont.S" => + [ + "crypto/bn/asm/mips-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/parisc-mont.s" => + [ + "crypto/bn/asm/parisc-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/ppc-mont.s" => + [ + "crypto/bn/asm/ppc-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/ppc64-mont.s" => + [ + "crypto/bn/asm/ppc64-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/rsaz-avx2.s" => + [ + "crypto/bn/asm/rsaz-avx2.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/rsaz-x86_64.s" => + [ + "crypto/bn/asm/rsaz-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/s390x-gf2m.s" => + [ + "crypto/bn/asm/s390x-gf2m.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/s390x-mont.S" => + [ + "crypto/bn/asm/s390x-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/sparct4-mont.S" => + [ + "crypto/bn/asm/sparct4-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/sparcv9-gf2m.S" => + [ + "crypto/bn/asm/sparcv9-gf2m.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/sparcv9-mont.S" => + [ + "crypto/bn/asm/sparcv9-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/sparcv9a-mont.S" => + [ + "crypto/bn/asm/sparcv9a-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/vis3-mont.S" => + [ + "crypto/bn/asm/vis3-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/x86-gf2m.s" => + [ + "crypto/bn/asm/x86-gf2m.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/bn/x86-mont.s" => + [ + "crypto/bn/asm/x86-mont.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/bn/x86_64-gf2m.s" => + [ + "crypto/bn/asm/x86_64-gf2m.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/x86_64-mont.s" => + [ + "crypto/bn/asm/x86_64-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/x86_64-mont5.s" => + [ + "crypto/bn/asm/x86_64-mont5.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/buildinf.h" => + [ + "util/mkbuildinf.pl", + "\"\$(CC)", + "\$(LIB_CFLAGS)", + "\$(CPPFLAGS_Q)\"", + "\"\$(PLATFORM)\"", + ], + "crypto/camellia/cmll-x86.s" => + [ + "crypto/camellia/asm/cmll-x86.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/camellia/cmll-x86_64.s" => + [ + "crypto/camellia/asm/cmll-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/camellia/cmllt4-sparcv9.S" => + [ + "crypto/camellia/asm/cmllt4-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/cast/cast-586.s" => + [ + "crypto/cast/asm/cast-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/chacha/chacha-armv4.S" => + [ + "crypto/chacha/asm/chacha-armv4.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/chacha/chacha-armv8.S" => + [ + "crypto/chacha/asm/chacha-armv8.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/chacha/chacha-ppc.s" => + [ + "crypto/chacha/asm/chacha-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/chacha/chacha-s390x.S" => + [ + "crypto/chacha/asm/chacha-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/chacha/chacha-x86.s" => + [ + "crypto/chacha/asm/chacha-x86.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/chacha/chacha-x86_64.s" => + [ + "crypto/chacha/asm/chacha-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/des/crypt586.s" => + [ + "crypto/des/asm/crypt586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/des/des-586.s" => + [ + "crypto/des/asm/des-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/des/des_enc-sparc.S" => + [ + "crypto/des/asm/des_enc.m4", + ], + "crypto/des/dest4-sparcv9.S" => + [ + "crypto/des/asm/dest4-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ec/ecp_nistz256-armv4.S" => + [ + "crypto/ec/asm/ecp_nistz256-armv4.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ec/ecp_nistz256-armv8.S" => + [ + "crypto/ec/asm/ecp_nistz256-armv8.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ec/ecp_nistz256-avx2.s" => + [ + "crypto/ec/asm/ecp_nistz256-avx2.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ec/ecp_nistz256-ppc64.s" => + [ + "crypto/ec/asm/ecp_nistz256-ppc64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ec/ecp_nistz256-sparcv9.S" => + [ + "crypto/ec/asm/ecp_nistz256-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ec/ecp_nistz256-x86.s" => + [ + "crypto/ec/asm/ecp_nistz256-x86.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/ec/ecp_nistz256-x86_64.s" => + [ + "crypto/ec/asm/ecp_nistz256-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ec/x25519-ppc64.s" => + [ + "crypto/ec/asm/x25519-ppc64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ec/x25519-x86_64.s" => + [ + "crypto/ec/asm/x25519-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ia64cpuid.s" => + [ + "crypto/ia64cpuid.S", + ], + "crypto/include/internal/bn_conf.h" => + [ + "crypto/include/internal/bn_conf.h.in", + ], + "crypto/include/internal/dso_conf.h" => + [ + "crypto/include/internal/dso_conf.h.in", + ], + "crypto/md5/md5-586.s" => + [ + "crypto/md5/asm/md5-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/md5/md5-sparcv9.S" => + [ + "crypto/md5/asm/md5-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/md5/md5-x86_64.s" => + [ + "crypto/md5/asm/md5-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/aesni-gcm-x86_64.s" => + [ + "crypto/modes/asm/aesni-gcm-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/ghash-alpha.S" => + [ + "crypto/modes/asm/ghash-alpha.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/ghash-armv4.S" => + [ + "crypto/modes/asm/ghash-armv4.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/ghash-ia64.s" => + [ + "crypto/modes/asm/ghash-ia64.pl", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/modes/ghash-parisc.s" => + [ + "crypto/modes/asm/ghash-parisc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/ghash-s390x.S" => + [ + "crypto/modes/asm/ghash-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/ghash-sparcv9.S" => + [ + "crypto/modes/asm/ghash-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/ghash-x86.s" => + [ + "crypto/modes/asm/ghash-x86.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/modes/ghash-x86_64.s" => + [ + "crypto/modes/asm/ghash-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/ghashp8-ppc.s" => + [ + "crypto/modes/asm/ghashp8-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/ghashv8-armx.S" => + [ + "crypto/modes/asm/ghashv8-armx.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/pariscid.s" => + [ + "crypto/pariscid.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/poly1305/poly1305-armv4.S" => + [ + "crypto/poly1305/asm/poly1305-armv4.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/poly1305/poly1305-armv8.S" => + [ + "crypto/poly1305/asm/poly1305-armv8.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/poly1305/poly1305-mips.S" => + [ + "crypto/poly1305/asm/poly1305-mips.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/poly1305/poly1305-ppc.s" => + [ + "crypto/poly1305/asm/poly1305-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/poly1305/poly1305-ppcfp.s" => + [ + "crypto/poly1305/asm/poly1305-ppcfp.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/poly1305/poly1305-s390x.S" => + [ + "crypto/poly1305/asm/poly1305-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/poly1305/poly1305-sparcv9.S" => + [ + "crypto/poly1305/asm/poly1305-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/poly1305/poly1305-x86.s" => + [ + "crypto/poly1305/asm/poly1305-x86.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/poly1305/poly1305-x86_64.s" => + [ + "crypto/poly1305/asm/poly1305-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ppccpuid.s" => + [ + "crypto/ppccpuid.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/rc4/rc4-586.s" => + [ + "crypto/rc4/asm/rc4-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/rc4/rc4-md5-x86_64.s" => + [ + "crypto/rc4/asm/rc4-md5-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/rc4/rc4-parisc.s" => + [ + "crypto/rc4/asm/rc4-parisc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/rc4/rc4-s390x.s" => + [ + "crypto/rc4/asm/rc4-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/rc4/rc4-x86_64.s" => + [ + "crypto/rc4/asm/rc4-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ripemd/rmd-586.s" => + [ + "crypto/ripemd/asm/rmd-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/s390xcpuid.S" => + [ + "crypto/s390xcpuid.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/keccak1600-armv4.S" => + [ + "crypto/sha/asm/keccak1600-armv4.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/keccak1600-armv8.S" => + [ + "crypto/sha/asm/keccak1600-armv8.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/keccak1600-ppc64.s" => + [ + "crypto/sha/asm/keccak1600-ppc64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/keccak1600-s390x.S" => + [ + "crypto/sha/asm/keccak1600-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/keccak1600-x86_64.s" => + [ + "crypto/sha/asm/keccak1600-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-586.s" => + [ + "crypto/sha/asm/sha1-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/sha/sha1-alpha.S" => + [ + "crypto/sha/asm/sha1-alpha.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-armv4-large.S" => + [ + "crypto/sha/asm/sha1-armv4-large.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-armv8.S" => + [ + "crypto/sha/asm/sha1-armv8.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-ia64.s" => + [ + "crypto/sha/asm/sha1-ia64.pl", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/sha/sha1-mb-x86_64.s" => + [ + "crypto/sha/asm/sha1-mb-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-mips.S" => + [ + "crypto/sha/asm/sha1-mips.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-parisc.s" => + [ + "crypto/sha/asm/sha1-parisc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-ppc.s" => + [ + "crypto/sha/asm/sha1-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-s390x.S" => + [ + "crypto/sha/asm/sha1-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-sparcv9.S" => + [ + "crypto/sha/asm/sha1-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-x86_64.s" => + [ + "crypto/sha/asm/sha1-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-586.s" => + [ + "crypto/sha/asm/sha256-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/sha/sha256-armv4.S" => + [ + "crypto/sha/asm/sha256-armv4.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-armv8.S" => + [ + "crypto/sha/asm/sha512-armv8.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-ia64.s" => + [ + "crypto/sha/asm/sha512-ia64.pl", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/sha/sha256-mb-x86_64.s" => + [ + "crypto/sha/asm/sha256-mb-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-mips.S" => + [ + "crypto/sha/asm/sha512-mips.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-parisc.s" => + [ + "crypto/sha/asm/sha512-parisc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-ppc.s" => + [ + "crypto/sha/asm/sha512-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-s390x.S" => + [ + "crypto/sha/asm/sha512-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-sparcv9.S" => + [ + "crypto/sha/asm/sha512-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-x86_64.s" => + [ + "crypto/sha/asm/sha512-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256p8-ppc.s" => + [ + "crypto/sha/asm/sha512p8-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512-586.s" => + [ + "crypto/sha/asm/sha512-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/sha/sha512-armv4.S" => + [ + "crypto/sha/asm/sha512-armv4.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512-armv8.S" => + [ + "crypto/sha/asm/sha512-armv8.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512-ia64.s" => + [ + "crypto/sha/asm/sha512-ia64.pl", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/sha/sha512-mips.S" => + [ + "crypto/sha/asm/sha512-mips.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512-parisc.s" => + [ + "crypto/sha/asm/sha512-parisc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512-ppc.s" => + [ + "crypto/sha/asm/sha512-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512-s390x.S" => + [ + "crypto/sha/asm/sha512-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512-sparcv9.S" => + [ + "crypto/sha/asm/sha512-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512-x86_64.s" => + [ + "crypto/sha/asm/sha512-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512p8-ppc.s" => + [ + "crypto/sha/asm/sha512p8-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/uplink-ia64.s" => + [ + "ms/uplink-ia64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/uplink-x86.s" => + [ + "ms/uplink-x86.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/uplink-x86_64.s" => + [ + "ms/uplink-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/whrlpool/wp-mmx.s" => + [ + "crypto/whrlpool/asm/wp-mmx.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/whrlpool/wp-x86_64.s" => + [ + "crypto/whrlpool/asm/wp-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/x86_64cpuid.s" => + [ + "crypto/x86_64cpuid.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/x86cpuid.s" => + [ + "crypto/x86cpuid.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "engines/e_padlock-x86.s" => + [ + "engines/asm/e_padlock-x86.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "engines/e_padlock-x86_64.s" => + [ + "engines/asm/e_padlock-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "include/openssl/opensslconf.h" => + [ + "include/openssl/opensslconf.h.in", + ], + "libcrypto.map" => + [ + "util/mkdef.pl", + "crypto", + "linux", + ], + "libssl.map" => + [ + "util/mkdef.pl", + "ssl", + "linux", + ], + "test/buildtest_aes.c" => + [ + "test/generate_buildtest.pl", + "aes", + ], + "test/buildtest_asn1.c" => + [ + "test/generate_buildtest.pl", + "asn1", + ], + "test/buildtest_asn1t.c" => + [ + "test/generate_buildtest.pl", + "asn1t", + ], + "test/buildtest_async.c" => + [ + "test/generate_buildtest.pl", + "async", + ], + "test/buildtest_bio.c" => + [ + "test/generate_buildtest.pl", + "bio", + ], + "test/buildtest_blowfish.c" => + [ + "test/generate_buildtest.pl", + "blowfish", + ], + "test/buildtest_bn.c" => + [ + "test/generate_buildtest.pl", + "bn", + ], + "test/buildtest_buffer.c" => + [ + "test/generate_buildtest.pl", + "buffer", + ], + "test/buildtest_camellia.c" => + [ + "test/generate_buildtest.pl", + "camellia", + ], + "test/buildtest_cast.c" => + [ + "test/generate_buildtest.pl", + "cast", + ], + "test/buildtest_cmac.c" => + [ + "test/generate_buildtest.pl", + "cmac", + ], + "test/buildtest_cms.c" => + [ + "test/generate_buildtest.pl", + "cms", + ], + "test/buildtest_conf.c" => + [ + "test/generate_buildtest.pl", + "conf", + ], + "test/buildtest_conf_api.c" => + [ + "test/generate_buildtest.pl", + "conf_api", + ], + "test/buildtest_crypto.c" => + [ + "test/generate_buildtest.pl", + "crypto", + ], + "test/buildtest_ct.c" => + [ + "test/generate_buildtest.pl", + "ct", + ], + "test/buildtest_des.c" => + [ + "test/generate_buildtest.pl", + "des", + ], + "test/buildtest_dh.c" => + [ + "test/generate_buildtest.pl", + "dh", + ], + "test/buildtest_dsa.c" => + [ + "test/generate_buildtest.pl", + "dsa", + ], + "test/buildtest_dtls1.c" => + [ + "test/generate_buildtest.pl", + "dtls1", + ], + "test/buildtest_e_os2.c" => + [ + "test/generate_buildtest.pl", + "e_os2", + ], + "test/buildtest_ebcdic.c" => + [ + "test/generate_buildtest.pl", + "ebcdic", + ], + "test/buildtest_ec.c" => + [ + "test/generate_buildtest.pl", + "ec", + ], + "test/buildtest_ecdh.c" => + [ + "test/generate_buildtest.pl", + "ecdh", + ], + "test/buildtest_ecdsa.c" => + [ + "test/generate_buildtest.pl", + "ecdsa", + ], + "test/buildtest_engine.c" => + [ + "test/generate_buildtest.pl", + "engine", + ], + "test/buildtest_evp.c" => + [ + "test/generate_buildtest.pl", + "evp", + ], + "test/buildtest_hmac.c" => + [ + "test/generate_buildtest.pl", + "hmac", + ], + "test/buildtest_idea.c" => + [ + "test/generate_buildtest.pl", + "idea", + ], + "test/buildtest_kdf.c" => + [ + "test/generate_buildtest.pl", + "kdf", + ], + "test/buildtest_lhash.c" => + [ + "test/generate_buildtest.pl", + "lhash", + ], + "test/buildtest_md4.c" => + [ + "test/generate_buildtest.pl", + "md4", + ], + "test/buildtest_md5.c" => + [ + "test/generate_buildtest.pl", + "md5", + ], + "test/buildtest_mdc2.c" => + [ + "test/generate_buildtest.pl", + "mdc2", + ], + "test/buildtest_modes.c" => + [ + "test/generate_buildtest.pl", + "modes", + ], + "test/buildtest_obj_mac.c" => + [ + "test/generate_buildtest.pl", + "obj_mac", + ], + "test/buildtest_objects.c" => + [ + "test/generate_buildtest.pl", + "objects", + ], + "test/buildtest_ocsp.c" => + [ + "test/generate_buildtest.pl", + "ocsp", + ], + "test/buildtest_opensslv.c" => + [ + "test/generate_buildtest.pl", + "opensslv", + ], + "test/buildtest_ossl_typ.c" => + [ + "test/generate_buildtest.pl", + "ossl_typ", + ], + "test/buildtest_pem.c" => + [ + "test/generate_buildtest.pl", + "pem", + ], + "test/buildtest_pem2.c" => + [ + "test/generate_buildtest.pl", + "pem2", + ], + "test/buildtest_pkcs12.c" => + [ + "test/generate_buildtest.pl", + "pkcs12", + ], + "test/buildtest_pkcs7.c" => + [ + "test/generate_buildtest.pl", + "pkcs7", + ], + "test/buildtest_rand.c" => + [ + "test/generate_buildtest.pl", + "rand", + ], + "test/buildtest_rand_drbg.c" => + [ + "test/generate_buildtest.pl", + "rand_drbg", + ], + "test/buildtest_rc2.c" => + [ + "test/generate_buildtest.pl", + "rc2", + ], + "test/buildtest_rc4.c" => + [ + "test/generate_buildtest.pl", + "rc4", + ], + "test/buildtest_ripemd.c" => + [ + "test/generate_buildtest.pl", + "ripemd", + ], + "test/buildtest_rsa.c" => + [ + "test/generate_buildtest.pl", + "rsa", + ], + "test/buildtest_safestack.c" => + [ + "test/generate_buildtest.pl", + "safestack", + ], + "test/buildtest_seed.c" => + [ + "test/generate_buildtest.pl", + "seed", + ], + "test/buildtest_sha.c" => + [ + "test/generate_buildtest.pl", + "sha", + ], + "test/buildtest_srp.c" => + [ + "test/generate_buildtest.pl", + "srp", + ], + "test/buildtest_srtp.c" => + [ + "test/generate_buildtest.pl", + "srtp", + ], + "test/buildtest_ssl.c" => + [ + "test/generate_buildtest.pl", + "ssl", + ], + "test/buildtest_ssl2.c" => + [ + "test/generate_buildtest.pl", + "ssl2", + ], + "test/buildtest_stack.c" => + [ + "test/generate_buildtest.pl", + "stack", + ], + "test/buildtest_store.c" => + [ + "test/generate_buildtest.pl", + "store", + ], + "test/buildtest_symhacks.c" => + [ + "test/generate_buildtest.pl", + "symhacks", + ], + "test/buildtest_tls1.c" => + [ + "test/generate_buildtest.pl", + "tls1", + ], + "test/buildtest_ts.c" => + [ + "test/generate_buildtest.pl", + "ts", + ], + "test/buildtest_txt_db.c" => + [ + "test/generate_buildtest.pl", + "txt_db", + ], + "test/buildtest_ui.c" => + [ + "test/generate_buildtest.pl", + "ui", + ], + "test/buildtest_whrlpool.c" => + [ + "test/generate_buildtest.pl", + "whrlpool", + ], + "test/buildtest_x509.c" => + [ + "test/generate_buildtest.pl", + "x509", + ], + "test/buildtest_x509_vfy.c" => + [ + "test/generate_buildtest.pl", + "x509_vfy", + ], + "test/buildtest_x509v3.c" => + [ + "test/generate_buildtest.pl", + "x509v3", + ], + }, + "includes" => + { + "apps/app_rand.o" => + [ + ".", + "include", + ], + "apps/apps.o" => + [ + ".", + "include", + ], + "apps/asn1pars.o" => + [ + ".", + "include", + "apps", + ], + "apps/bf_prefix.o" => + [ + ".", + "include", + ], + "apps/ca.o" => + [ + ".", + "include", + "apps", + ], + "apps/ciphers.o" => + [ + ".", + "include", + "apps", + ], + "apps/cms.o" => + [ + ".", + "include", + "apps", + ], + "apps/crl.o" => + [ + ".", + "include", + "apps", + ], + "apps/crl2p7.o" => + [ + ".", + "include", + "apps", + ], + "apps/dgst.o" => + [ + ".", + "include", + "apps", + ], + "apps/dhparam.o" => + [ + ".", + "include", + "apps", + ], + "apps/dsa.o" => + [ + ".", + "include", + "apps", + ], + "apps/dsaparam.o" => + [ + ".", + "include", + "apps", + ], + "apps/ec.o" => + [ + ".", + "include", + "apps", + ], + "apps/ecparam.o" => + [ + ".", + "include", + "apps", + ], + "apps/enc.o" => + [ + ".", + "include", + "apps", + ], + "apps/engine.o" => + [ + ".", + "include", + "apps", + ], + "apps/errstr.o" => + [ + ".", + "include", + "apps", + ], + "apps/gendsa.o" => + [ + ".", + "include", + "apps", + ], + "apps/genpkey.o" => + [ + ".", + "include", + "apps", + ], + "apps/genrsa.o" => + [ + ".", + "include", + "apps", + ], + "apps/nseq.o" => + [ + ".", + "include", + "apps", + ], + "apps/ocsp.o" => + [ + ".", + "include", + "apps", + ], + "apps/openssl.o" => + [ + ".", + "include", + "apps", + ], + "apps/opt.o" => + [ + ".", + "include", + ], + "apps/passwd.o" => + [ + ".", + "include", + "apps", + ], + "apps/pkcs12.o" => + [ + ".", + "include", + "apps", + ], + "apps/pkcs7.o" => + [ + ".", + "include", + "apps", + ], + "apps/pkcs8.o" => + [ + ".", + "include", + "apps", + ], + "apps/pkey.o" => + [ + ".", + "include", + "apps", + ], + "apps/pkeyparam.o" => + [ + ".", + "include", + "apps", + ], + "apps/pkeyutl.o" => + [ + ".", + "include", + "apps", + ], + "apps/prime.o" => + [ + ".", + "include", + "apps", + ], + "apps/progs.h" => + [ + ".", + ], + "apps/rand.o" => + [ + ".", + "include", + "apps", + ], + "apps/rehash.o" => + [ + ".", + "include", + "apps", + ], + "apps/req.o" => + [ + ".", + "include", + "apps", + ], + "apps/rsa.o" => + [ + ".", + "include", + "apps", + ], + "apps/rsautl.o" => + [ + ".", + "include", + "apps", + ], + "apps/s_cb.o" => + [ + ".", + "include", + ], + "apps/s_client.o" => + [ + ".", + "include", + "apps", + ], + "apps/s_server.o" => + [ + ".", + "include", + "apps", + ], + "apps/s_socket.o" => + [ + ".", + "include", + ], + "apps/s_time.o" => + [ + ".", + "include", + "apps", + ], + "apps/sess_id.o" => + [ + ".", + "include", + "apps", + ], + "apps/smime.o" => + [ + ".", + "include", + "apps", + ], + "apps/speed.o" => + [ + ".", + "include", + "apps", + ], + "apps/spkac.o" => + [ + ".", + "include", + "apps", + ], + "apps/srp.o" => + [ + ".", + "include", + "apps", + ], + "apps/storeutl.o" => + [ + ".", + "include", + "apps", + ], + "apps/ts.o" => + [ + ".", + "include", + "apps", + ], + "apps/verify.o" => + [ + ".", + "include", + "apps", + ], + "apps/version.o" => + [ + ".", + "include", + "apps", + ], + "apps/x509.o" => + [ + ".", + "include", + "apps", + ], + "crypto/aes/aes-armv4.o" => + [ + "crypto", + ], + "crypto/aes/aes-mips.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/aes/aes-s390x.o" => + [ + "crypto", + ], + "crypto/aes/aes-sparcv9.o" => + [ + "crypto", + ], + "crypto/aes/aes_cbc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/aes/aes_cfb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/aes/aes_ecb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/aes/aes_ige.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/aes/aes_misc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/aes/aes_ofb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/aes/aes_wrap.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/aes/aesfx-sparcv9.o" => + [ + "crypto", + ], + "crypto/aes/aest4-sparcv9.o" => + [ + "crypto", + ], + "crypto/aes/aesv8-armx.o" => + [ + "crypto", + ], + "crypto/aes/bsaes-armv7.o" => + [ + "crypto", + ], + "crypto/aria/aria.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/arm64cpuid.o" => + [ + "crypto", + ], + "crypto/armv4cpuid.o" => + [ + "crypto", + ], + "crypto/asn1/a_bitstr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_d2i_fp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_digest.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_dup.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_gentm.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_i2d_fp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_int.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_mbstr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_object.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_octet.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_print.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_sign.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_strex.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_strnid.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_time.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_type.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_utctm.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_utf8.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_verify.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/ameth_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn1_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn1_gen.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn1_item_list.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn1_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn1_par.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn_mime.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn_moid.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn_mstbl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn_pack.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/bio_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/bio_ndef.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/d2i_pr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/d2i_pu.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/evp_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/f_int.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/f_string.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/i2d_pr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/i2d_pu.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/n_pkey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/nsseq.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/p5_pbe.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/p5_pbev2.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/p5_scrypt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/p8_pkey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/t_bitst.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/t_pkey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/t_spki.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/tasn_dec.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/tasn_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/tasn_fre.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/tasn_new.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/tasn_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/tasn_scn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/tasn_typ.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/tasn_utl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_algor.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_bignum.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_info.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_int64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_long.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_pkey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_sig.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_spki.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_val.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/async/arch/async_null.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/async/arch/async_posix.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/async/arch/async_win.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/async/async.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/async/async_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/async/async_wait.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bf/bf_cfb64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bf/bf_ecb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bf/bf_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bf/bf_ofb64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bf/bf_skey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/b_addr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/b_dump.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/b_print.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/b_sock.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/b_sock2.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bf_buff.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bf_lbuf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bf_nbio.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bf_null.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bio_cb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bio_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bio_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bio_meth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_acpt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_bio.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_conn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_dgram.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_fd.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_file.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_log.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_mem.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_null.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_sock.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/blake2/blake2b.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/blake2/blake2s.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/blake2/m_blake2b.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/blake2/m_blake2s.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/armv4-gf2m.o" => + [ + "crypto", + ], + "crypto/bn/armv4-mont.o" => + [ + "crypto", + ], + "crypto/bn/bn-mips.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/bn/bn_add.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_blind.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_const.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_ctx.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_depr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_dh.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_div.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_exp.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/bn/bn_exp2.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_gcd.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_gf2m.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_intern.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_kron.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_mod.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_mont.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_mpi.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_mul.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_nist.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_prime.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_print.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_rand.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_recp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_shift.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_sqr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_sqrt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_srp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_word.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_x931p.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/mips-mont.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/bn/sparct4-mont.o" => + [ + "crypto", + ], + "crypto/bn/sparcv9-gf2m.o" => + [ + "crypto", + ], + "crypto/bn/sparcv9-mont.o" => + [ + "crypto", + ], + "crypto/bn/sparcv9a-mont.o" => + [ + "crypto", + ], + "crypto/bn/vis3-mont.o" => + [ + "crypto", + ], + "crypto/buffer/buf_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/buffer/buffer.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/buildinf.h" => + [ + ".", + ], + "crypto/camellia/camellia.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/camellia/cmll_cbc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/camellia/cmll_cfb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/camellia/cmll_ctr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/camellia/cmll_ecb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/camellia/cmll_misc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/camellia/cmll_ofb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/camellia/cmllt4-sparcv9.o" => + [ + "crypto", + ], + "crypto/cast/c_cfb64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cast/c_ecb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cast/c_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cast/c_ofb64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cast/c_skey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/chacha/chacha-armv4.o" => + [ + "crypto", + ], + "crypto/chacha/chacha-armv8.o" => + [ + "crypto", + ], + "crypto/chacha/chacha-s390x.o" => + [ + "crypto", + ], + "crypto/chacha/chacha_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cmac/cm_ameth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cmac/cm_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cmac/cmac.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_att.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_cd.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_dd.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_env.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_ess.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_io.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_kari.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_pwri.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_sd.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_smime.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/conf/conf_api.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/conf/conf_def.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/conf/conf_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/conf/conf_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/conf/conf_mall.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/conf/conf_mod.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/conf/conf_sap.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/conf/conf_ssl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cpt_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cryptlib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_b64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_log.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_oct.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_policy.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_sct.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_sct_ctx.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_vfy.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_x509v3.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ctype.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cversion.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/des/cbc_cksm.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/cbc_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/cfb64ede.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/cfb64enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/cfb_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/des_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/dest4-sparcv9.o" => + [ + "crypto", + ], + "crypto/des/ecb3_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/ecb_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/fcrypt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/fcrypt_b.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/ofb64ede.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/ofb64enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/ofb_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/pcbc_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/qud_cksm.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/rand_key.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/set_key.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/str2key.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/xcbc_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_ameth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_check.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_depr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_gen.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_kdf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_key.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_meth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_rfc5114.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_rfc7919.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_ameth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_depr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_gen.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_key.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_meth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_ossl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_sign.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_vrf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dso/dso_dl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dso/dso_dlfcn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dso/dso_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dso/dso_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dso/dso_openssl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dso/dso_vms.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dso/dso_win32.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ebcdic.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/curve25519.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/curve448/arch_32/f_impl.o" => + [ + ".", + "crypto/include", + "include", + "crypto/ec/curve448/arch_32", + "crypto/ec/curve448", + ], + "crypto/ec/curve448/curve448.o" => + [ + ".", + "crypto/include", + "include", + "crypto/ec/curve448/arch_32", + "crypto/ec/curve448", + ], + "crypto/ec/curve448/curve448_tables.o" => + [ + ".", + "crypto/include", + "include", + "crypto/ec/curve448/arch_32", + "crypto/ec/curve448", + ], + "crypto/ec/curve448/eddsa.o" => + [ + ".", + "crypto/include", + "include", + "crypto/ec/curve448/arch_32", + "crypto/ec/curve448", + ], + "crypto/ec/curve448/f_generic.o" => + [ + ".", + "crypto/include", + "include", + "crypto/ec/curve448/arch_32", + "crypto/ec/curve448", + ], + "crypto/ec/curve448/scalar.o" => + [ + ".", + "crypto/include", + "include", + "crypto/ec/curve448/arch_32", + "crypto/ec/curve448", + ], + "crypto/ec/ec2_oct.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec2_smpl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_ameth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_check.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_curve.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_cvt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_key.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_kmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_mult.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_oct.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_print.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecdh_kdf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecdh_ossl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecdsa_ossl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecdsa_sign.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecdsa_vrf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/eck_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecp_mont.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecp_nist.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecp_nistp224.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecp_nistp256.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecp_nistp521.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecp_nistputil.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecp_nistz256-armv4.o" => + [ + "crypto", + ], + "crypto/ec/ecp_nistz256-armv8.o" => + [ + "crypto", + ], + "crypto/ec/ecp_nistz256-sparcv9.o" => + [ + "crypto", + ], + "crypto/ec/ecp_oct.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecp_smpl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecx_meth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_all.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_cnf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_ctrl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_dyn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_fat.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_init.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_list.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_openssl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_pkey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_rdrand.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_table.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_asnmth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_cipher.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_dh.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_digest.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_dsa.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_eckey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_pkmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_rand.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_rsa.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/err/err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/err/err_all.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/err/err_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/bio_b64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/bio_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/bio_md.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/bio_ok.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/c_allc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/c_alld.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/cmeth_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/digest.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_aes.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + "crypto/modes", + ], + "crypto/evp/e_aes_cbc_hmac_sha1.o" => + [ + ".", + "crypto/include", + "include", + "crypto/modes", + ], + "crypto/evp/e_aes_cbc_hmac_sha256.o" => + [ + ".", + "crypto/include", + "include", + "crypto/modes", + ], + "crypto/evp/e_aria.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + "crypto/modes", + ], + "crypto/evp/e_bf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_camellia.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + "crypto/modes", + ], + "crypto/evp/e_cast.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_chacha20_poly1305.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_des.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/evp/e_des3.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/evp/e_idea.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_null.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_old.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_rc2.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_rc4.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_rc4_hmac_md5.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_rc5.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_seed.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_sm4.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + "crypto/modes", + ], + "crypto/evp/e_xcbc_d.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/encode.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/evp_cnf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/evp_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/evp_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/evp_key.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/evp_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/evp_pbe.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/evp_pkey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_md2.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_md4.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_md5.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_md5_sha1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_mdc2.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_null.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_ripemd.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_sha1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_sha3.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/evp/m_sigver.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_wp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/names.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p5_crpt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p5_crpt2.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p_dec.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p_open.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p_seal.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p_sign.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p_verify.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/pbe_scrypt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/pmeth_fn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/pmeth_gn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/pmeth_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ex_data.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/getenv.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/hmac/hm_ameth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/hmac/hm_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/hmac/hmac.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/idea/i_cbc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/idea/i_cfb64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/idea/i_ecb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/idea/i_ofb64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/idea/i_skey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/include/internal/bn_conf.h" => + [ + ".", + ], + "crypto/include/internal/dso_conf.h" => + [ + ".", + ], + "crypto/init.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/kdf/hkdf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/kdf/kdf_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/kdf/scrypt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/kdf/tls1_prf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/lhash/lh_stats.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/lhash/lhash.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/md4/md4_dgst.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/md4/md4_one.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/md5/md5-sparcv9.o" => + [ + "crypto", + ], + "crypto/md5/md5_dgst.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/md5/md5_one.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/mdc2/mdc2_one.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/mdc2/mdc2dgst.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/mem.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/mem_clr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/mem_dbg.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/mem_sec.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/cbc128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/ccm128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/cfb128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/ctr128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/cts128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/gcm128.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/modes/ghash-armv4.o" => + [ + "crypto", + ], + "crypto/modes/ghash-s390x.o" => + [ + "crypto", + ], + "crypto/modes/ghash-sparcv9.o" => + [ + "crypto", + ], + "crypto/modes/ghashv8-armx.o" => + [ + "crypto", + ], + "crypto/modes/ocb128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/ofb128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/wrap128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/xts128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/o_dir.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/o_fips.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/o_fopen.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/o_init.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/o_str.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/o_time.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/objects/o_names.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/objects/obj_dat.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/objects/obj_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/objects/obj_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/objects/obj_xref.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_asn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_cl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_ext.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_ht.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_srv.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_vfy.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/v3_ocsp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_all.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_info.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_oth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_pk8.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_pkey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_sign.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_x509.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_xaux.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pvkfmt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_add.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_asn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_attr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_crpt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_crt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_decr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_init.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_key.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_kiss.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_mutl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_npas.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_p8d.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_p8e.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_sbag.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_utl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/pk12err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs7/bio_pk7.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs7/pk7_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs7/pk7_attr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs7/pk7_doit.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs7/pk7_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs7/pk7_mime.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs7/pk7_smime.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs7/pkcs7err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/poly1305/poly1305-armv4.o" => + [ + "crypto", + ], + "crypto/poly1305/poly1305-armv8.o" => + [ + "crypto", + ], + "crypto/poly1305/poly1305-mips.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/poly1305/poly1305-s390x.o" => + [ + "crypto", + ], + "crypto/poly1305/poly1305-sparcv9.o" => + [ + "crypto", + ], + "crypto/poly1305/poly1305.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/poly1305/poly1305_ameth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/poly1305/poly1305_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/drbg_ctr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/drbg_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/rand_egd.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/rand_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/rand_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/rand_unix.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/rand_vms.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/rand_win.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/randfile.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rc2/rc2_cbc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rc2/rc2_ecb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rc2/rc2_skey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rc2/rc2cfb64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rc2/rc2ofb64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rc4/rc4_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rc4/rc4_skey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ripemd/rmd_dgst.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ripemd/rmd_one.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_ameth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_chk.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_crpt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_depr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_gen.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_meth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_mp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_none.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_oaep.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_ossl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_pk1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_pss.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_saos.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_sign.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_ssl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_x931.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_x931g.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/s390xcpuid.o" => + [ + "crypto", + ], + "crypto/seed/seed.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/seed/seed_cbc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/seed/seed_cfb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/seed/seed_ecb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/seed/seed_ofb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sha/keccak1600-armv4.o" => + [ + "crypto", + ], + "crypto/sha/keccak1600.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sha/sha1-armv4-large.o" => + [ + "crypto", + ], + "crypto/sha/sha1-armv8.o" => + [ + "crypto", + ], + "crypto/sha/sha1-mips.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/sha/sha1-s390x.o" => + [ + "crypto", + ], + "crypto/sha/sha1-sparcv9.o" => + [ + "crypto", + ], + "crypto/sha/sha1_one.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sha/sha1dgst.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sha/sha256-armv4.o" => + [ + "crypto", + ], + "crypto/sha/sha256-armv8.o" => + [ + "crypto", + ], + "crypto/sha/sha256-mips.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/sha/sha256-s390x.o" => + [ + "crypto", + ], + "crypto/sha/sha256-sparcv9.o" => + [ + "crypto", + ], + "crypto/sha/sha256.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sha/sha512-armv4.o" => + [ + "crypto", + ], + "crypto/sha/sha512-armv8.o" => + [ + "crypto", + ], + "crypto/sha/sha512-mips.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/sha/sha512-s390x.o" => + [ + "crypto", + ], + "crypto/sha/sha512-sparcv9.o" => + [ + "crypto", + ], + "crypto/sha/sha512.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/siphash/siphash.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/siphash/siphash_ameth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/siphash/siphash_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sm2/sm2_crypt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sm2/sm2_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sm2/sm2_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sm2/sm2_sign.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sm3/m_sm3.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sm3/sm3.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sm4/sm4.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/srp/srp_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/srp/srp_vfy.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/stack/stack.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/store/loader_file.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/store/store_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/store/store_init.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/store/store_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/store/store_register.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/store/store_strings.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/threads_none.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/threads_pthread.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/threads_win.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_conf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_req_print.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_req_utils.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_rsp_print.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_rsp_sign.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_rsp_utils.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_rsp_verify.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_verify_ctx.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/txt_db/txt_db.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ui/ui_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ui/ui_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ui/ui_null.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ui/ui_openssl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ui/ui_util.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/uid.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/whrlpool/wp_block.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/whrlpool/wp_dgst.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/by_dir.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/by_file.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/t_crl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/t_req.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/t_x509.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_att.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_cmp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_d2.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_def.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_ext.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_lu.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_meth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_obj.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_r2x.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_req.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_set.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_trs.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_txt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_v3.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_vfy.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_vpm.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509cset.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509name.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509rset.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509spki.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509type.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_all.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_attrib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_crl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_exten.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_name.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_pubkey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_req.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_x509.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_x509a.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/pcy_cache.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/pcy_data.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/pcy_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/pcy_map.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/pcy_node.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/pcy_tree.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_addr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_admis.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_akey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_akeya.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_alt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_asid.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_bcons.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_bitst.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_conf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_cpols.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_crld.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_enum.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_extku.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_genn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_ia5.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_info.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_int.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_ncons.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_pci.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_pcia.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_pcons.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_pku.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_pmaps.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_purp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_skey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_sxnet.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_tlsf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_utl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3err.o" => + [ + ".", + "crypto/include", + "include", + ], + "engines/e_capi.o" => + [ + ".", + "crypto/include", + "include", + ], + "engines/e_padlock.o" => + [ + ".", + "crypto/include", + "include", + ], + "fuzz/asn1.o" => + [ + "include", + ], + "fuzz/asn1parse.o" => + [ + "include", + ], + "fuzz/bignum.o" => + [ + "include", + ], + "fuzz/bndiv.o" => + [ + "include", + ], + "fuzz/client.o" => + [ + "include", + ], + "fuzz/cms.o" => + [ + "include", + ], + "fuzz/conf.o" => + [ + "include", + ], + "fuzz/crl.o" => + [ + "include", + ], + "fuzz/ct.o" => + [ + "include", + ], + "fuzz/server.o" => + [ + "include", + ], + "fuzz/test-corpus.o" => + [ + "include", + ], + "fuzz/x509.o" => + [ + "include", + ], + "include/openssl/opensslconf.h" => + [ + ".", + ], + "ssl/bio_ssl.o" => + [ + ".", + "include", + ], + "ssl/d1_lib.o" => + [ + ".", + "include", + ], + "ssl/d1_msg.o" => + [ + ".", + "include", + ], + "ssl/d1_srtp.o" => + [ + ".", + "include", + ], + "ssl/methods.o" => + [ + ".", + "include", + ], + "ssl/packet.o" => + [ + ".", + "include", + ], + "ssl/pqueue.o" => + [ + ".", + "include", + ], + "ssl/record/dtls1_bitmap.o" => + [ + ".", + "include", + ], + "ssl/record/rec_layer_d1.o" => + [ + ".", + "include", + ], + "ssl/record/rec_layer_s3.o" => + [ + ".", + "include", + ], + "ssl/record/ssl3_buffer.o" => + [ + ".", + "include", + ], + "ssl/record/ssl3_record.o" => + [ + ".", + "include", + ], + "ssl/record/ssl3_record_tls13.o" => + [ + ".", + "include", + ], + "ssl/s3_cbc.o" => + [ + ".", + "include", + ], + "ssl/s3_enc.o" => + [ + ".", + "include", + ], + "ssl/s3_lib.o" => + [ + ".", + "include", + ], + "ssl/s3_msg.o" => + [ + ".", + "include", + ], + "ssl/ssl_asn1.o" => + [ + ".", + "include", + ], + "ssl/ssl_cert.o" => + [ + ".", + "include", + ], + "ssl/ssl_ciph.o" => + [ + ".", + "include", + ], + "ssl/ssl_conf.o" => + [ + ".", + "include", + ], + "ssl/ssl_err.o" => + [ + ".", + "include", + ], + "ssl/ssl_init.o" => + [ + ".", + "include", + ], + "ssl/ssl_lib.o" => + [ + ".", + "include", + ], + "ssl/ssl_mcnf.o" => + [ + ".", + "include", + ], + "ssl/ssl_rsa.o" => + [ + ".", + "include", + ], + "ssl/ssl_sess.o" => + [ + ".", + "include", + ], + "ssl/ssl_stat.o" => + [ + ".", + "include", + ], + "ssl/ssl_txt.o" => + [ + ".", + "include", + ], + "ssl/ssl_utst.o" => + [ + ".", + "include", + ], + "ssl/statem/extensions.o" => + [ + ".", + "include", + ], + "ssl/statem/extensions_clnt.o" => + [ + ".", + "include", + ], + "ssl/statem/extensions_cust.o" => + [ + ".", + "include", + ], + "ssl/statem/extensions_srvr.o" => + [ + ".", + "include", + ], + "ssl/statem/statem.o" => + [ + ".", + "include", + ], + "ssl/statem/statem_clnt.o" => + [ + ".", + "include", + ], + "ssl/statem/statem_dtls.o" => + [ + ".", + "include", + ], + "ssl/statem/statem_lib.o" => + [ + ".", + "include", + ], + "ssl/statem/statem_srvr.o" => + [ + ".", + "include", + ], + "ssl/t1_enc.o" => + [ + ".", + "include", + ], + "ssl/t1_lib.o" => + [ + ".", + "include", + ], + "ssl/t1_trce.o" => + [ + ".", + "include", + ], + "ssl/tls13_enc.o" => + [ + ".", + "include", + ], + "ssl/tls_srp.o" => + [ + ".", + "include", + ], + "test/aborttest.o" => + [ + "include", + ], + "test/afalgtest.o" => + [ + "include", + ], + "test/asn1_decode_test.o" => + [ + "include", + ], + "test/asn1_encode_test.o" => + [ + "include", + ], + "test/asn1_internal_test.o" => + [ + ".", + "include", + "crypto/include", + ], + "test/asn1_string_table_test.o" => + [ + "include", + ], + "test/asn1_time_test.o" => + [ + "include", + ], + "test/asynciotest.o" => + [ + "include", + ], + "test/asynctest.o" => + [ + "include", + ], + "test/bad_dtls_test.o" => + [ + "include", + ], + "test/bftest.o" => + [ + "include", + ], + "test/bio_callback_test.o" => + [ + "include", + ], + "test/bio_enc_test.o" => + [ + "include", + ], + "test/bio_memleak_test.o" => + [ + "include", + ], + "test/bioprinttest.o" => + [ + "include", + ], + "test/bntest.o" => + [ + "include", + ], + "test/buildtest_aes.o" => + [ + "include", + ], + "test/buildtest_asn1.o" => + [ + "include", + ], + "test/buildtest_asn1t.o" => + [ + "include", + ], + "test/buildtest_async.o" => + [ + "include", + ], + "test/buildtest_bio.o" => + [ + "include", + ], + "test/buildtest_blowfish.o" => + [ + "include", + ], + "test/buildtest_bn.o" => + [ + "include", + ], + "test/buildtest_buffer.o" => + [ + "include", + ], + "test/buildtest_camellia.o" => + [ + "include", + ], + "test/buildtest_cast.o" => + [ + "include", + ], + "test/buildtest_cmac.o" => + [ + "include", + ], + "test/buildtest_cms.o" => + [ + "include", + ], + "test/buildtest_conf.o" => + [ + "include", + ], + "test/buildtest_conf_api.o" => + [ + "include", + ], + "test/buildtest_crypto.o" => + [ + "include", + ], + "test/buildtest_ct.o" => + [ + "include", + ], + "test/buildtest_des.o" => + [ + "include", + ], + "test/buildtest_dh.o" => + [ + "include", + ], + "test/buildtest_dsa.o" => + [ + "include", + ], + "test/buildtest_dtls1.o" => + [ + "include", + ], + "test/buildtest_e_os2.o" => + [ + "include", + ], + "test/buildtest_ebcdic.o" => + [ + "include", + ], + "test/buildtest_ec.o" => + [ + "include", + ], + "test/buildtest_ecdh.o" => + [ + "include", + ], + "test/buildtest_ecdsa.o" => + [ + "include", + ], + "test/buildtest_engine.o" => + [ + "include", + ], + "test/buildtest_evp.o" => + [ + "include", + ], + "test/buildtest_hmac.o" => + [ + "include", + ], + "test/buildtest_idea.o" => + [ + "include", + ], + "test/buildtest_kdf.o" => + [ + "include", + ], + "test/buildtest_lhash.o" => + [ + "include", + ], + "test/buildtest_md4.o" => + [ + "include", + ], + "test/buildtest_md5.o" => + [ + "include", + ], + "test/buildtest_mdc2.o" => + [ + "include", + ], + "test/buildtest_modes.o" => + [ + "include", + ], + "test/buildtest_obj_mac.o" => + [ + "include", + ], + "test/buildtest_objects.o" => + [ + "include", + ], + "test/buildtest_ocsp.o" => + [ + "include", + ], + "test/buildtest_opensslv.o" => + [ + "include", + ], + "test/buildtest_ossl_typ.o" => + [ + "include", + ], + "test/buildtest_pem.o" => + [ + "include", + ], + "test/buildtest_pem2.o" => + [ + "include", + ], + "test/buildtest_pkcs12.o" => + [ + "include", + ], + "test/buildtest_pkcs7.o" => + [ + "include", + ], + "test/buildtest_rand.o" => + [ + "include", + ], + "test/buildtest_rand_drbg.o" => + [ + "include", + ], + "test/buildtest_rc2.o" => + [ + "include", + ], + "test/buildtest_rc4.o" => + [ + "include", + ], + "test/buildtest_ripemd.o" => + [ + "include", + ], + "test/buildtest_rsa.o" => + [ + "include", + ], + "test/buildtest_safestack.o" => + [ + "include", + ], + "test/buildtest_seed.o" => + [ + "include", + ], + "test/buildtest_sha.o" => + [ + "include", + ], + "test/buildtest_srp.o" => + [ + "include", + ], + "test/buildtest_srtp.o" => + [ + "include", + ], + "test/buildtest_ssl.o" => + [ + "include", + ], + "test/buildtest_ssl2.o" => + [ + "include", + ], + "test/buildtest_stack.o" => + [ + "include", + ], + "test/buildtest_store.o" => + [ + "include", + ], + "test/buildtest_symhacks.o" => + [ + "include", + ], + "test/buildtest_tls1.o" => + [ + "include", + ], + "test/buildtest_ts.o" => + [ + "include", + ], + "test/buildtest_txt_db.o" => + [ + "include", + ], + "test/buildtest_ui.o" => + [ + "include", + ], + "test/buildtest_whrlpool.o" => + [ + "include", + ], + "test/buildtest_x509.o" => + [ + "include", + ], + "test/buildtest_x509_vfy.o" => + [ + "include", + ], + "test/buildtest_x509v3.o" => + [ + "include", + ], + "test/casttest.o" => + [ + "include", + ], + "test/chacha_internal_test.o" => + [ + ".", + "include", + "crypto/include", + ], + "test/cipher_overhead_test.o" => + [ + ".", + "include", + ], + "test/cipherbytes_test.o" => + [ + "include", + ], + "test/cipherlist_test.o" => + [ + "include", + ], + "test/ciphername_test.o" => + [ + "include", + ], + "test/clienthellotest.o" => + [ + "include", + ], + "test/cmsapitest.o" => + [ + "include", + ], + "test/conf_include_test.o" => + [ + "include", + ], + "test/constant_time_test.o" => + [ + "include", + ], + "test/crltest.o" => + [ + "include", + ], + "test/ct_test.o" => + [ + "include", + ], + "test/ctype_internal_test.o" => + [ + ".", + "crypto/include", + "include", + ], + "test/curve448_internal_test.o" => + [ + ".", + "include", + "crypto/ec/curve448", + ], + "test/d2i_test.o" => + [ + "include", + ], + "test/danetest.o" => + [ + "include", + ], + "test/destest.o" => + [ + "include", + ], + "test/dhtest.o" => + [ + "include", + ], + "test/drbg_cavs_data.o" => + [ + "include", + "test", + ".", + ], + "test/drbg_cavs_test.o" => + [ + "include", + "test", + ".", + ], + "test/drbgtest.o" => + [ + "include", + ], + "test/dsa_no_digest_size_test.o" => + [ + "include", + ], + "test/dsatest.o" => + [ + "include", + ], + "test/dtls_mtu_test.o" => + [ + ".", + "include", + ], + "test/dtlstest.o" => + [ + "include", + ], + "test/dtlsv1listentest.o" => + [ + "include", + ], + "test/ec_internal_test.o" => + [ + "include", + "crypto/ec", + "crypto/include", + ], + "test/ecdsatest.o" => + [ + "include", + ], + "test/ecstresstest.o" => + [ + "include", + ], + "test/ectest.o" => + [ + "include", + ], + "test/enginetest.o" => + [ + "include", + ], + "test/errtest.o" => + [ + "include", + ], + "test/evp_extra_test.o" => + [ + "include", + "crypto/include", + ], + "test/evp_test.o" => + [ + "include", + ], + "test/exdatatest.o" => + [ + "include", + ], + "test/exptest.o" => + [ + "include", + ], + "test/fatalerrtest.o" => + [ + "include", + ], + "test/gmdifftest.o" => + [ + "include", + ], + "test/gosttest.o" => + [ + "include", + ".", + ], + "test/handshake_helper.o" => + [ + ".", + "include", + ], + "test/hmactest.o" => + [ + "include", + ], + "test/ideatest.o" => + [ + "include", + ], + "test/igetest.o" => + [ + "include", + ], + "test/lhash_test.o" => + [ + "include", + ], + "test/md2test.o" => + [ + "include", + ], + "test/mdc2_internal_test.o" => + [ + ".", + "include", + ], + "test/mdc2test.o" => + [ + "include", + ], + "test/memleaktest.o" => + [ + "include", + ], + "test/modes_internal_test.o" => + [ + ".", + "include", + ], + "test/ocspapitest.o" => + [ + "include", + ], + "test/packettest.o" => + [ + "include", + ], + "test/pbelutest.o" => + [ + "include", + ], + "test/pemtest.o" => + [ + "include", + ], + "test/pkey_meth_kdf_test.o" => + [ + "include", + ], + "test/pkey_meth_test.o" => + [ + "include", + ], + "test/poly1305_internal_test.o" => + [ + ".", + "include", + "crypto/include", + ], + "test/rc2test.o" => + [ + "include", + ], + "test/rc4test.o" => + [ + "include", + ], + "test/rc5test.o" => + [ + "include", + ], + "test/rdrand_sanitytest.o" => + [ + "include", + ], + "test/recordlentest.o" => + [ + "include", + ], + "test/rsa_complex.o" => + [ + "include", + ], + "test/rsa_mp_test.o" => + [ + "include", + ], + "test/rsa_test.o" => + [ + "include", + ], + "test/sanitytest.o" => + [ + "include", + ], + "test/secmemtest.o" => + [ + "include", + ], + "test/servername_test.o" => + [ + "include", + ], + "test/siphash_internal_test.o" => + [ + ".", + "include", + "crypto/include", + ], + "test/sm2_internal_test.o" => + [ + "include", + "crypto/include", + ], + "test/sm4_internal_test.o" => + [ + ".", + "include", + "crypto/include", + ], + "test/srptest.o" => + [ + "include", + ], + "test/ssl_cert_table_internal_test.o" => + [ + ".", + "include", + ], + "test/ssl_test.o" => + [ + "include", + ], + "test/ssl_test_ctx.o" => + [ + "include", + ], + "test/ssl_test_ctx_test.o" => + [ + "include", + ], + "test/sslapitest.o" => + [ + "include", + ".", + ], + "test/sslbuffertest.o" => + [ + "include", + ], + "test/sslcorrupttest.o" => + [ + "include", + ], + "test/ssltest_old.o" => + [ + ".", + "include", + ], + "test/ssltestlib.o" => + [ + ".", + "include", + ], + "test/stack_test.o" => + [ + "include", + ], + "test/sysdefaulttest.o" => + [ + "include", + ], + "test/test_test.o" => + [ + "include", + ], + "test/testutil/basic_output.o" => + [ + "include", + ], + "test/testutil/cb.o" => + [ + "include", + ], + "test/testutil/driver.o" => + [ + "include", + ], + "test/testutil/format_output.o" => + [ + "include", + ], + "test/testutil/init.o" => + [ + "include", + ], + "test/testutil/main.o" => + [ + "include", + ], + "test/testutil/output_helpers.o" => + [ + "include", + ], + "test/testutil/stanza.o" => + [ + "include", + ], + "test/testutil/tap_bio.o" => + [ + "include", + ], + "test/testutil/test_cleanup.o" => + [ + "include", + ], + "test/testutil/tests.o" => + [ + "include", + ], + "test/threadstest.o" => + [ + "include", + ], + "test/time_offset_test.o" => + [ + "include", + ], + "test/tls13ccstest.o" => + [ + "include", + ], + "test/tls13encryptiontest.o" => + [ + ".", + "include", + ], + "test/uitest.o" => + [ + ".", + "include", + "apps", + ], + "test/v3ext.o" => + [ + "include", + ], + "test/v3nametest.o" => + [ + "include", + ], + "test/verify_extra_test.o" => + [ + "include", + ], + "test/versions.o" => + [ + "include", + ], + "test/wpackettest.o" => + [ + "include", + ], + "test/x509_check_cert_pkey_test.o" => + [ + "include", + ], + "test/x509_dup_cert_test.o" => + [ + "include", + ], + "test/x509_internal_test.o" => + [ + ".", + "include", + ], + "test/x509_time_test.o" => + [ + "include", + ], + "test/x509aux.o" => + [ + "include", + ], + }, + "install" => + { + "libraries" => + [ + "libcrypto", + "libssl", + ], + "programs" => + [ + "apps/openssl", + ], + "scripts" => + [ + "apps/CA.pl", + "apps/tsget.pl", + "tools/c_rehash", + ], + }, + "ldadd" => + { + }, + "libraries" => + [ + "apps/libapps.a", + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "overrides" => + [ + ], + "programs" => + [ + "apps/openssl", + "fuzz/asn1-test", + "fuzz/asn1parse-test", + "fuzz/bignum-test", + "fuzz/bndiv-test", + "fuzz/client-test", + "fuzz/cms-test", + "fuzz/conf-test", + "fuzz/crl-test", + "fuzz/ct-test", + "fuzz/server-test", + "fuzz/x509-test", + "test/aborttest", + "test/afalgtest", + "test/asn1_decode_test", + "test/asn1_encode_test", + "test/asn1_internal_test", + "test/asn1_string_table_test", + "test/asn1_time_test", + "test/asynciotest", + "test/asynctest", + "test/bad_dtls_test", + "test/bftest", + "test/bio_callback_test", + "test/bio_enc_test", + "test/bio_memleak_test", + "test/bioprinttest", + "test/bntest", + "test/buildtest_aes", + "test/buildtest_asn1", + "test/buildtest_asn1t", + "test/buildtest_async", + "test/buildtest_bio", + "test/buildtest_blowfish", + "test/buildtest_bn", + "test/buildtest_buffer", + "test/buildtest_camellia", + "test/buildtest_cast", + "test/buildtest_cmac", + "test/buildtest_cms", + "test/buildtest_conf", + "test/buildtest_conf_api", + "test/buildtest_crypto", + "test/buildtest_ct", + "test/buildtest_des", + "test/buildtest_dh", + "test/buildtest_dsa", + "test/buildtest_dtls1", + "test/buildtest_e_os2", + "test/buildtest_ebcdic", + "test/buildtest_ec", + "test/buildtest_ecdh", + "test/buildtest_ecdsa", + "test/buildtest_engine", + "test/buildtest_evp", + "test/buildtest_hmac", + "test/buildtest_idea", + "test/buildtest_kdf", + "test/buildtest_lhash", + "test/buildtest_md4", + "test/buildtest_md5", + "test/buildtest_mdc2", + "test/buildtest_modes", + "test/buildtest_obj_mac", + "test/buildtest_objects", + "test/buildtest_ocsp", + "test/buildtest_opensslv", + "test/buildtest_ossl_typ", + "test/buildtest_pem", + "test/buildtest_pem2", + "test/buildtest_pkcs12", + "test/buildtest_pkcs7", + "test/buildtest_rand", + "test/buildtest_rand_drbg", + "test/buildtest_rc2", + "test/buildtest_rc4", + "test/buildtest_ripemd", + "test/buildtest_rsa", + "test/buildtest_safestack", + "test/buildtest_seed", + "test/buildtest_sha", + "test/buildtest_srp", + "test/buildtest_srtp", + "test/buildtest_ssl", + "test/buildtest_ssl2", + "test/buildtest_stack", + "test/buildtest_store", + "test/buildtest_symhacks", + "test/buildtest_tls1", + "test/buildtest_ts", + "test/buildtest_txt_db", + "test/buildtest_ui", + "test/buildtest_whrlpool", + "test/buildtest_x509", + "test/buildtest_x509_vfy", + "test/buildtest_x509v3", + "test/casttest", + "test/chacha_internal_test", + "test/cipher_overhead_test", + "test/cipherbytes_test", + "test/cipherlist_test", + "test/ciphername_test", + "test/clienthellotest", + "test/cmsapitest", + "test/conf_include_test", + "test/constant_time_test", + "test/crltest", + "test/ct_test", + "test/ctype_internal_test", + "test/curve448_internal_test", + "test/d2i_test", + "test/danetest", + "test/destest", + "test/dhtest", + "test/drbg_cavs_test", + "test/drbgtest", + "test/dsa_no_digest_size_test", + "test/dsatest", + "test/dtls_mtu_test", + "test/dtlstest", + "test/dtlsv1listentest", + "test/ec_internal_test", + "test/ecdsatest", + "test/ecstresstest", + "test/ectest", + "test/enginetest", + "test/errtest", + "test/evp_extra_test", + "test/evp_test", + "test/exdatatest", + "test/exptest", + "test/fatalerrtest", + "test/gmdifftest", + "test/gosttest", + "test/hmactest", + "test/ideatest", + "test/igetest", + "test/lhash_test", + "test/md2test", + "test/mdc2_internal_test", + "test/mdc2test", + "test/memleaktest", + "test/modes_internal_test", + "test/ocspapitest", + "test/packettest", + "test/pbelutest", + "test/pemtest", + "test/pkey_meth_kdf_test", + "test/pkey_meth_test", + "test/poly1305_internal_test", + "test/rc2test", + "test/rc4test", + "test/rc5test", + "test/rdrand_sanitytest", + "test/recordlentest", + "test/rsa_complex", + "test/rsa_mp_test", + "test/rsa_test", + "test/sanitytest", + "test/secmemtest", + "test/servername_test", + "test/siphash_internal_test", + "test/sm2_internal_test", + "test/sm4_internal_test", + "test/srptest", + "test/ssl_cert_table_internal_test", + "test/ssl_test", + "test/ssl_test_ctx_test", + "test/sslapitest", + "test/sslbuffertest", + "test/sslcorrupttest", + "test/ssltest_old", + "test/stack_test", + "test/sysdefaulttest", + "test/test_test", + "test/threadstest", + "test/time_offset_test", + "test/tls13ccstest", + "test/tls13encryptiontest", + "test/uitest", + "test/v3ext", + "test/v3nametest", + "test/verify_extra_test", + "test/versions", + "test/wpackettest", + "test/x509_check_cert_pkey_test", + "test/x509_dup_cert_test", + "test/x509_internal_test", + "test/x509_time_test", + "test/x509aux", + ], + "rawlines" => + [ + "##### SHA assembler implementations", + "", + "# GNU make \"catch all\"", + "crypto/sha/sha1-%.S: crypto/sha/asm/sha1-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "crypto/sha/sha256-%.S: crypto/sha/asm/sha512-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "crypto/sha/sha512-%.S: crypto/sha/asm/sha512-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "crypto/poly1305/poly1305-%.S: crypto/poly1305/asm/poly1305-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "##### AES assembler implementations", + "", + "# GNU make \"catch all\"", + "crypto/aes/aes-%.S: crypto/aes/asm/aes-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "crypto/aes/bsaes-%.S: crypto/aes/asm/bsaes-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "", + "# GNU make \"catch all\"", + "crypto/rc4/rc4-%.s: crypto/rc4/asm/rc4-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "##### CHACHA assembler implementations", + "", + "crypto/chacha/chacha-%.S: crypto/chacha/asm/chacha-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "# GNU make \"catch all\"", + "crypto/modes/ghash-%.S: crypto/modes/asm/ghash-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "crypto/ec/ecp_nistz256-%.S: crypto/ec/asm/ecp_nistz256-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + ], + "rename" => + { + }, + "scripts" => + [ + "apps/CA.pl", + "apps/tsget.pl", + "tools/c_rehash", + "util/shlib_wrap.sh", + ], + "shared_sources" => + { + }, + "sources" => + { + "apps/CA.pl" => + [ + "apps/CA.pl.in", + ], + "apps/app_rand.o" => + [ + "apps/app_rand.c", + ], + "apps/apps.o" => + [ + "apps/apps.c", + ], + "apps/asn1pars.o" => + [ + "apps/asn1pars.c", + ], + "apps/bf_prefix.o" => + [ + "apps/bf_prefix.c", + ], + "apps/ca.o" => + [ + "apps/ca.c", + ], + "apps/ciphers.o" => + [ + "apps/ciphers.c", + ], + "apps/cms.o" => + [ + "apps/cms.c", + ], + "apps/crl.o" => + [ + "apps/crl.c", + ], + "apps/crl2p7.o" => + [ + "apps/crl2p7.c", + ], + "apps/dgst.o" => + [ + "apps/dgst.c", + ], + "apps/dhparam.o" => + [ + "apps/dhparam.c", + ], + "apps/dsa.o" => + [ + "apps/dsa.c", + ], + "apps/dsaparam.o" => + [ + "apps/dsaparam.c", + ], + "apps/ec.o" => + [ + "apps/ec.c", + ], + "apps/ecparam.o" => + [ + "apps/ecparam.c", + ], + "apps/enc.o" => + [ + "apps/enc.c", + ], + "apps/engine.o" => + [ + "apps/engine.c", + ], + "apps/errstr.o" => + [ + "apps/errstr.c", + ], + "apps/gendsa.o" => + [ + "apps/gendsa.c", + ], + "apps/genpkey.o" => + [ + "apps/genpkey.c", + ], + "apps/genrsa.o" => + [ + "apps/genrsa.c", + ], + "apps/libapps.a" => + [ + "apps/app_rand.o", + "apps/apps.o", + "apps/bf_prefix.o", + "apps/opt.o", + "apps/s_cb.o", + "apps/s_socket.o", + ], + "apps/nseq.o" => + [ + "apps/nseq.c", + ], + "apps/ocsp.o" => + [ + "apps/ocsp.c", + ], + "apps/openssl" => + [ + "apps/asn1pars.o", + "apps/ca.o", + "apps/ciphers.o", + "apps/cms.o", + "apps/crl.o", + "apps/crl2p7.o", + "apps/dgst.o", + "apps/dhparam.o", + "apps/dsa.o", + "apps/dsaparam.o", + "apps/ec.o", + "apps/ecparam.o", + "apps/enc.o", + "apps/engine.o", + "apps/errstr.o", + "apps/gendsa.o", + "apps/genpkey.o", + "apps/genrsa.o", + "apps/nseq.o", + "apps/ocsp.o", + "apps/openssl.o", + "apps/passwd.o", + "apps/pkcs12.o", + "apps/pkcs7.o", + "apps/pkcs8.o", + "apps/pkey.o", + "apps/pkeyparam.o", + "apps/pkeyutl.o", + "apps/prime.o", + "apps/rand.o", + "apps/rehash.o", + "apps/req.o", + "apps/rsa.o", + "apps/rsautl.o", + "apps/s_client.o", + "apps/s_server.o", + "apps/s_time.o", + "apps/sess_id.o", + "apps/smime.o", + "apps/speed.o", + "apps/spkac.o", + "apps/srp.o", + "apps/storeutl.o", + "apps/ts.o", + "apps/verify.o", + "apps/version.o", + "apps/x509.o", + ], + "apps/openssl.o" => + [ + "apps/openssl.c", + ], + "apps/opt.o" => + [ + "apps/opt.c", + ], + "apps/passwd.o" => + [ + "apps/passwd.c", + ], + "apps/pkcs12.o" => + [ + "apps/pkcs12.c", + ], + "apps/pkcs7.o" => + [ + "apps/pkcs7.c", + ], + "apps/pkcs8.o" => + [ + "apps/pkcs8.c", + ], + "apps/pkey.o" => + [ + "apps/pkey.c", + ], + "apps/pkeyparam.o" => + [ + "apps/pkeyparam.c", + ], + "apps/pkeyutl.o" => + [ + "apps/pkeyutl.c", + ], + "apps/prime.o" => + [ + "apps/prime.c", + ], + "apps/rand.o" => + [ + "apps/rand.c", + ], + "apps/rehash.o" => + [ + "apps/rehash.c", + ], + "apps/req.o" => + [ + "apps/req.c", + ], + "apps/rsa.o" => + [ + "apps/rsa.c", + ], + "apps/rsautl.o" => + [ + "apps/rsautl.c", + ], + "apps/s_cb.o" => + [ + "apps/s_cb.c", + ], + "apps/s_client.o" => + [ + "apps/s_client.c", + ], + "apps/s_server.o" => + [ + "apps/s_server.c", + ], + "apps/s_socket.o" => + [ + "apps/s_socket.c", + ], + "apps/s_time.o" => + [ + "apps/s_time.c", + ], + "apps/sess_id.o" => + [ + "apps/sess_id.c", + ], + "apps/smime.o" => + [ + "apps/smime.c", + ], + "apps/speed.o" => + [ + "apps/speed.c", + ], + "apps/spkac.o" => + [ + "apps/spkac.c", + ], + "apps/srp.o" => + [ + "apps/srp.c", + ], + "apps/storeutl.o" => + [ + "apps/storeutl.c", + ], + "apps/ts.o" => + [ + "apps/ts.c", + ], + "apps/tsget.pl" => + [ + "apps/tsget.in", + ], + "apps/verify.o" => + [ + "apps/verify.c", + ], + "apps/version.o" => + [ + "apps/version.c", + ], + "apps/x509.o" => + [ + "apps/x509.c", + ], + "crypto/aes/aes-mips.o" => + [ + "crypto/aes/aes-mips.S", + ], + "crypto/aes/aes_cbc.o" => + [ + "crypto/aes/aes_cbc.c", + ], + "crypto/aes/aes_cfb.o" => + [ + "crypto/aes/aes_cfb.c", + ], + "crypto/aes/aes_ecb.o" => + [ + "crypto/aes/aes_ecb.c", + ], + "crypto/aes/aes_ige.o" => + [ + "crypto/aes/aes_ige.c", + ], + "crypto/aes/aes_misc.o" => + [ + "crypto/aes/aes_misc.c", + ], + "crypto/aes/aes_ofb.o" => + [ + "crypto/aes/aes_ofb.c", + ], + "crypto/aes/aes_wrap.o" => + [ + "crypto/aes/aes_wrap.c", + ], + "crypto/aria/aria.o" => + [ + "crypto/aria/aria.c", + ], + "crypto/asn1/a_bitstr.o" => + [ + "crypto/asn1/a_bitstr.c", + ], + "crypto/asn1/a_d2i_fp.o" => + [ + "crypto/asn1/a_d2i_fp.c", + ], + "crypto/asn1/a_digest.o" => + [ + "crypto/asn1/a_digest.c", + ], + "crypto/asn1/a_dup.o" => + [ + "crypto/asn1/a_dup.c", + ], + "crypto/asn1/a_gentm.o" => + [ + "crypto/asn1/a_gentm.c", + ], + "crypto/asn1/a_i2d_fp.o" => + [ + "crypto/asn1/a_i2d_fp.c", + ], + "crypto/asn1/a_int.o" => + [ + "crypto/asn1/a_int.c", + ], + "crypto/asn1/a_mbstr.o" => + [ + "crypto/asn1/a_mbstr.c", + ], + "crypto/asn1/a_object.o" => + [ + "crypto/asn1/a_object.c", + ], + "crypto/asn1/a_octet.o" => + [ + "crypto/asn1/a_octet.c", + ], + "crypto/asn1/a_print.o" => + [ + "crypto/asn1/a_print.c", + ], + "crypto/asn1/a_sign.o" => + [ + "crypto/asn1/a_sign.c", + ], + "crypto/asn1/a_strex.o" => + [ + "crypto/asn1/a_strex.c", + ], + "crypto/asn1/a_strnid.o" => + [ + "crypto/asn1/a_strnid.c", + ], + "crypto/asn1/a_time.o" => + [ + "crypto/asn1/a_time.c", + ], + "crypto/asn1/a_type.o" => + [ + "crypto/asn1/a_type.c", + ], + "crypto/asn1/a_utctm.o" => + [ + "crypto/asn1/a_utctm.c", + ], + "crypto/asn1/a_utf8.o" => + [ + "crypto/asn1/a_utf8.c", + ], + "crypto/asn1/a_verify.o" => + [ + "crypto/asn1/a_verify.c", + ], + "crypto/asn1/ameth_lib.o" => + [ + "crypto/asn1/ameth_lib.c", + ], + "crypto/asn1/asn1_err.o" => + [ + "crypto/asn1/asn1_err.c", + ], + "crypto/asn1/asn1_gen.o" => + [ + "crypto/asn1/asn1_gen.c", + ], + "crypto/asn1/asn1_item_list.o" => + [ + "crypto/asn1/asn1_item_list.c", + ], + "crypto/asn1/asn1_lib.o" => + [ + "crypto/asn1/asn1_lib.c", + ], + "crypto/asn1/asn1_par.o" => + [ + "crypto/asn1/asn1_par.c", + ], + "crypto/asn1/asn_mime.o" => + [ + "crypto/asn1/asn_mime.c", + ], + "crypto/asn1/asn_moid.o" => + [ + "crypto/asn1/asn_moid.c", + ], + "crypto/asn1/asn_mstbl.o" => + [ + "crypto/asn1/asn_mstbl.c", + ], + "crypto/asn1/asn_pack.o" => + [ + "crypto/asn1/asn_pack.c", + ], + "crypto/asn1/bio_asn1.o" => + [ + "crypto/asn1/bio_asn1.c", + ], + "crypto/asn1/bio_ndef.o" => + [ + "crypto/asn1/bio_ndef.c", + ], + "crypto/asn1/d2i_pr.o" => + [ + "crypto/asn1/d2i_pr.c", + ], + "crypto/asn1/d2i_pu.o" => + [ + "crypto/asn1/d2i_pu.c", + ], + "crypto/asn1/evp_asn1.o" => + [ + "crypto/asn1/evp_asn1.c", + ], + "crypto/asn1/f_int.o" => + [ + "crypto/asn1/f_int.c", + ], + "crypto/asn1/f_string.o" => + [ + "crypto/asn1/f_string.c", + ], + "crypto/asn1/i2d_pr.o" => + [ + "crypto/asn1/i2d_pr.c", + ], + "crypto/asn1/i2d_pu.o" => + [ + "crypto/asn1/i2d_pu.c", + ], + "crypto/asn1/n_pkey.o" => + [ + "crypto/asn1/n_pkey.c", + ], + "crypto/asn1/nsseq.o" => + [ + "crypto/asn1/nsseq.c", + ], + "crypto/asn1/p5_pbe.o" => + [ + "crypto/asn1/p5_pbe.c", + ], + "crypto/asn1/p5_pbev2.o" => + [ + "crypto/asn1/p5_pbev2.c", + ], + "crypto/asn1/p5_scrypt.o" => + [ + "crypto/asn1/p5_scrypt.c", + ], + "crypto/asn1/p8_pkey.o" => + [ + "crypto/asn1/p8_pkey.c", + ], + "crypto/asn1/t_bitst.o" => + [ + "crypto/asn1/t_bitst.c", + ], + "crypto/asn1/t_pkey.o" => + [ + "crypto/asn1/t_pkey.c", + ], + "crypto/asn1/t_spki.o" => + [ + "crypto/asn1/t_spki.c", + ], + "crypto/asn1/tasn_dec.o" => + [ + "crypto/asn1/tasn_dec.c", + ], + "crypto/asn1/tasn_enc.o" => + [ + "crypto/asn1/tasn_enc.c", + ], + "crypto/asn1/tasn_fre.o" => + [ + "crypto/asn1/tasn_fre.c", + ], + "crypto/asn1/tasn_new.o" => + [ + "crypto/asn1/tasn_new.c", + ], + "crypto/asn1/tasn_prn.o" => + [ + "crypto/asn1/tasn_prn.c", + ], + "crypto/asn1/tasn_scn.o" => + [ + "crypto/asn1/tasn_scn.c", + ], + "crypto/asn1/tasn_typ.o" => + [ + "crypto/asn1/tasn_typ.c", + ], + "crypto/asn1/tasn_utl.o" => + [ + "crypto/asn1/tasn_utl.c", + ], + "crypto/asn1/x_algor.o" => + [ + "crypto/asn1/x_algor.c", + ], + "crypto/asn1/x_bignum.o" => + [ + "crypto/asn1/x_bignum.c", + ], + "crypto/asn1/x_info.o" => + [ + "crypto/asn1/x_info.c", + ], + "crypto/asn1/x_int64.o" => + [ + "crypto/asn1/x_int64.c", + ], + "crypto/asn1/x_long.o" => + [ + "crypto/asn1/x_long.c", + ], + "crypto/asn1/x_pkey.o" => + [ + "crypto/asn1/x_pkey.c", + ], + "crypto/asn1/x_sig.o" => + [ + "crypto/asn1/x_sig.c", + ], + "crypto/asn1/x_spki.o" => + [ + "crypto/asn1/x_spki.c", + ], + "crypto/asn1/x_val.o" => + [ + "crypto/asn1/x_val.c", + ], + "crypto/async/arch/async_null.o" => + [ + "crypto/async/arch/async_null.c", + ], + "crypto/async/arch/async_posix.o" => + [ + "crypto/async/arch/async_posix.c", + ], + "crypto/async/arch/async_win.o" => + [ + "crypto/async/arch/async_win.c", + ], + "crypto/async/async.o" => + [ + "crypto/async/async.c", + ], + "crypto/async/async_err.o" => + [ + "crypto/async/async_err.c", + ], + "crypto/async/async_wait.o" => + [ + "crypto/async/async_wait.c", + ], + "crypto/bf/bf_cfb64.o" => + [ + "crypto/bf/bf_cfb64.c", + ], + "crypto/bf/bf_ecb.o" => + [ + "crypto/bf/bf_ecb.c", + ], + "crypto/bf/bf_enc.o" => + [ + "crypto/bf/bf_enc.c", + ], + "crypto/bf/bf_ofb64.o" => + [ + "crypto/bf/bf_ofb64.c", + ], + "crypto/bf/bf_skey.o" => + [ + "crypto/bf/bf_skey.c", + ], + "crypto/bio/b_addr.o" => + [ + "crypto/bio/b_addr.c", + ], + "crypto/bio/b_dump.o" => + [ + "crypto/bio/b_dump.c", + ], + "crypto/bio/b_print.o" => + [ + "crypto/bio/b_print.c", + ], + "crypto/bio/b_sock.o" => + [ + "crypto/bio/b_sock.c", + ], + "crypto/bio/b_sock2.o" => + [ + "crypto/bio/b_sock2.c", + ], + "crypto/bio/bf_buff.o" => + [ + "crypto/bio/bf_buff.c", + ], + "crypto/bio/bf_lbuf.o" => + [ + "crypto/bio/bf_lbuf.c", + ], + "crypto/bio/bf_nbio.o" => + [ + "crypto/bio/bf_nbio.c", + ], + "crypto/bio/bf_null.o" => + [ + "crypto/bio/bf_null.c", + ], + "crypto/bio/bio_cb.o" => + [ + "crypto/bio/bio_cb.c", + ], + "crypto/bio/bio_err.o" => + [ + "crypto/bio/bio_err.c", + ], + "crypto/bio/bio_lib.o" => + [ + "crypto/bio/bio_lib.c", + ], + "crypto/bio/bio_meth.o" => + [ + "crypto/bio/bio_meth.c", + ], + "crypto/bio/bss_acpt.o" => + [ + "crypto/bio/bss_acpt.c", + ], + "crypto/bio/bss_bio.o" => + [ + "crypto/bio/bss_bio.c", + ], + "crypto/bio/bss_conn.o" => + [ + "crypto/bio/bss_conn.c", + ], + "crypto/bio/bss_dgram.o" => + [ + "crypto/bio/bss_dgram.c", + ], + "crypto/bio/bss_fd.o" => + [ + "crypto/bio/bss_fd.c", + ], + "crypto/bio/bss_file.o" => + [ + "crypto/bio/bss_file.c", + ], + "crypto/bio/bss_log.o" => + [ + "crypto/bio/bss_log.c", + ], + "crypto/bio/bss_mem.o" => + [ + "crypto/bio/bss_mem.c", + ], + "crypto/bio/bss_null.o" => + [ + "crypto/bio/bss_null.c", + ], + "crypto/bio/bss_sock.o" => + [ + "crypto/bio/bss_sock.c", + ], + "crypto/blake2/blake2b.o" => + [ + "crypto/blake2/blake2b.c", + ], + "crypto/blake2/blake2s.o" => + [ + "crypto/blake2/blake2s.c", + ], + "crypto/blake2/m_blake2b.o" => + [ + "crypto/blake2/m_blake2b.c", + ], + "crypto/blake2/m_blake2s.o" => + [ + "crypto/blake2/m_blake2s.c", + ], + "crypto/bn/bn-mips.o" => + [ + "crypto/bn/bn-mips.S", + ], + "crypto/bn/bn_add.o" => + [ + "crypto/bn/bn_add.c", + ], + "crypto/bn/bn_blind.o" => + [ + "crypto/bn/bn_blind.c", + ], + "crypto/bn/bn_const.o" => + [ + "crypto/bn/bn_const.c", + ], + "crypto/bn/bn_ctx.o" => + [ + "crypto/bn/bn_ctx.c", + ], + "crypto/bn/bn_depr.o" => + [ + "crypto/bn/bn_depr.c", + ], + "crypto/bn/bn_dh.o" => + [ + "crypto/bn/bn_dh.c", + ], + "crypto/bn/bn_div.o" => + [ + "crypto/bn/bn_div.c", + ], + "crypto/bn/bn_err.o" => + [ + "crypto/bn/bn_err.c", + ], + "crypto/bn/bn_exp.o" => + [ + "crypto/bn/bn_exp.c", + ], + "crypto/bn/bn_exp2.o" => + [ + "crypto/bn/bn_exp2.c", + ], + "crypto/bn/bn_gcd.o" => + [ + "crypto/bn/bn_gcd.c", + ], + "crypto/bn/bn_gf2m.o" => + [ + "crypto/bn/bn_gf2m.c", + ], + "crypto/bn/bn_intern.o" => + [ + "crypto/bn/bn_intern.c", + ], + "crypto/bn/bn_kron.o" => + [ + "crypto/bn/bn_kron.c", + ], + "crypto/bn/bn_lib.o" => + [ + "crypto/bn/bn_lib.c", + ], + "crypto/bn/bn_mod.o" => + [ + "crypto/bn/bn_mod.c", + ], + "crypto/bn/bn_mont.o" => + [ + "crypto/bn/bn_mont.c", + ], + "crypto/bn/bn_mpi.o" => + [ + "crypto/bn/bn_mpi.c", + ], + "crypto/bn/bn_mul.o" => + [ + "crypto/bn/bn_mul.c", + ], + "crypto/bn/bn_nist.o" => + [ + "crypto/bn/bn_nist.c", + ], + "crypto/bn/bn_prime.o" => + [ + "crypto/bn/bn_prime.c", + ], + "crypto/bn/bn_print.o" => + [ + "crypto/bn/bn_print.c", + ], + "crypto/bn/bn_rand.o" => + [ + "crypto/bn/bn_rand.c", + ], + "crypto/bn/bn_recp.o" => + [ + "crypto/bn/bn_recp.c", + ], + "crypto/bn/bn_shift.o" => + [ + "crypto/bn/bn_shift.c", + ], + "crypto/bn/bn_sqr.o" => + [ + "crypto/bn/bn_sqr.c", + ], + "crypto/bn/bn_sqrt.o" => + [ + "crypto/bn/bn_sqrt.c", + ], + "crypto/bn/bn_srp.o" => + [ + "crypto/bn/bn_srp.c", + ], + "crypto/bn/bn_word.o" => + [ + "crypto/bn/bn_word.c", + ], + "crypto/bn/bn_x931p.o" => + [ + "crypto/bn/bn_x931p.c", + ], + "crypto/bn/mips-mont.o" => + [ + "crypto/bn/mips-mont.S", + ], + "crypto/buffer/buf_err.o" => + [ + "crypto/buffer/buf_err.c", + ], + "crypto/buffer/buffer.o" => + [ + "crypto/buffer/buffer.c", + ], + "crypto/camellia/camellia.o" => + [ + "crypto/camellia/camellia.c", + ], + "crypto/camellia/cmll_cbc.o" => + [ + "crypto/camellia/cmll_cbc.c", + ], + "crypto/camellia/cmll_cfb.o" => + [ + "crypto/camellia/cmll_cfb.c", + ], + "crypto/camellia/cmll_ctr.o" => + [ + "crypto/camellia/cmll_ctr.c", + ], + "crypto/camellia/cmll_ecb.o" => + [ + "crypto/camellia/cmll_ecb.c", + ], + "crypto/camellia/cmll_misc.o" => + [ + "crypto/camellia/cmll_misc.c", + ], + "crypto/camellia/cmll_ofb.o" => + [ + "crypto/camellia/cmll_ofb.c", + ], + "crypto/cast/c_cfb64.o" => + [ + "crypto/cast/c_cfb64.c", + ], + "crypto/cast/c_ecb.o" => + [ + "crypto/cast/c_ecb.c", + ], + "crypto/cast/c_enc.o" => + [ + "crypto/cast/c_enc.c", + ], + "crypto/cast/c_ofb64.o" => + [ + "crypto/cast/c_ofb64.c", + ], + "crypto/cast/c_skey.o" => + [ + "crypto/cast/c_skey.c", + ], + "crypto/chacha/chacha_enc.o" => + [ + "crypto/chacha/chacha_enc.c", + ], + "crypto/cmac/cm_ameth.o" => + [ + "crypto/cmac/cm_ameth.c", + ], + "crypto/cmac/cm_pmeth.o" => + [ + "crypto/cmac/cm_pmeth.c", + ], + "crypto/cmac/cmac.o" => + [ + "crypto/cmac/cmac.c", + ], + "crypto/cms/cms_asn1.o" => + [ + "crypto/cms/cms_asn1.c", + ], + "crypto/cms/cms_att.o" => + [ + "crypto/cms/cms_att.c", + ], + "crypto/cms/cms_cd.o" => + [ + "crypto/cms/cms_cd.c", + ], + "crypto/cms/cms_dd.o" => + [ + "crypto/cms/cms_dd.c", + ], + "crypto/cms/cms_enc.o" => + [ + "crypto/cms/cms_enc.c", + ], + "crypto/cms/cms_env.o" => + [ + "crypto/cms/cms_env.c", + ], + "crypto/cms/cms_err.o" => + [ + "crypto/cms/cms_err.c", + ], + "crypto/cms/cms_ess.o" => + [ + "crypto/cms/cms_ess.c", + ], + "crypto/cms/cms_io.o" => + [ + "crypto/cms/cms_io.c", + ], + "crypto/cms/cms_kari.o" => + [ + "crypto/cms/cms_kari.c", + ], + "crypto/cms/cms_lib.o" => + [ + "crypto/cms/cms_lib.c", + ], + "crypto/cms/cms_pwri.o" => + [ + "crypto/cms/cms_pwri.c", + ], + "crypto/cms/cms_sd.o" => + [ + "crypto/cms/cms_sd.c", + ], + "crypto/cms/cms_smime.o" => + [ + "crypto/cms/cms_smime.c", + ], + "crypto/conf/conf_api.o" => + [ + "crypto/conf/conf_api.c", + ], + "crypto/conf/conf_def.o" => + [ + "crypto/conf/conf_def.c", + ], + "crypto/conf/conf_err.o" => + [ + "crypto/conf/conf_err.c", + ], + "crypto/conf/conf_lib.o" => + [ + "crypto/conf/conf_lib.c", + ], + "crypto/conf/conf_mall.o" => + [ + "crypto/conf/conf_mall.c", + ], + "crypto/conf/conf_mod.o" => + [ + "crypto/conf/conf_mod.c", + ], + "crypto/conf/conf_sap.o" => + [ + "crypto/conf/conf_sap.c", + ], + "crypto/conf/conf_ssl.o" => + [ + "crypto/conf/conf_ssl.c", + ], + "crypto/cpt_err.o" => + [ + "crypto/cpt_err.c", + ], + "crypto/cryptlib.o" => + [ + "crypto/cryptlib.c", + ], + "crypto/ct/ct_b64.o" => + [ + "crypto/ct/ct_b64.c", + ], + "crypto/ct/ct_err.o" => + [ + "crypto/ct/ct_err.c", + ], + "crypto/ct/ct_log.o" => + [ + "crypto/ct/ct_log.c", + ], + "crypto/ct/ct_oct.o" => + [ + "crypto/ct/ct_oct.c", + ], + "crypto/ct/ct_policy.o" => + [ + "crypto/ct/ct_policy.c", + ], + "crypto/ct/ct_prn.o" => + [ + "crypto/ct/ct_prn.c", + ], + "crypto/ct/ct_sct.o" => + [ + "crypto/ct/ct_sct.c", + ], + "crypto/ct/ct_sct_ctx.o" => + [ + "crypto/ct/ct_sct_ctx.c", + ], + "crypto/ct/ct_vfy.o" => + [ + "crypto/ct/ct_vfy.c", + ], + "crypto/ct/ct_x509v3.o" => + [ + "crypto/ct/ct_x509v3.c", + ], + "crypto/ctype.o" => + [ + "crypto/ctype.c", + ], + "crypto/cversion.o" => + [ + "crypto/cversion.c", + ], + "crypto/des/cbc_cksm.o" => + [ + "crypto/des/cbc_cksm.c", + ], + "crypto/des/cbc_enc.o" => + [ + "crypto/des/cbc_enc.c", + ], + "crypto/des/cfb64ede.o" => + [ + "crypto/des/cfb64ede.c", + ], + "crypto/des/cfb64enc.o" => + [ + "crypto/des/cfb64enc.c", + ], + "crypto/des/cfb_enc.o" => + [ + "crypto/des/cfb_enc.c", + ], + "crypto/des/des_enc.o" => + [ + "crypto/des/des_enc.c", + ], + "crypto/des/ecb3_enc.o" => + [ + "crypto/des/ecb3_enc.c", + ], + "crypto/des/ecb_enc.o" => + [ + "crypto/des/ecb_enc.c", + ], + "crypto/des/fcrypt.o" => + [ + "crypto/des/fcrypt.c", + ], + "crypto/des/fcrypt_b.o" => + [ + "crypto/des/fcrypt_b.c", + ], + "crypto/des/ofb64ede.o" => + [ + "crypto/des/ofb64ede.c", + ], + "crypto/des/ofb64enc.o" => + [ + "crypto/des/ofb64enc.c", + ], + "crypto/des/ofb_enc.o" => + [ + "crypto/des/ofb_enc.c", + ], + "crypto/des/pcbc_enc.o" => + [ + "crypto/des/pcbc_enc.c", + ], + "crypto/des/qud_cksm.o" => + [ + "crypto/des/qud_cksm.c", + ], + "crypto/des/rand_key.o" => + [ + "crypto/des/rand_key.c", + ], + "crypto/des/set_key.o" => + [ + "crypto/des/set_key.c", + ], + "crypto/des/str2key.o" => + [ + "crypto/des/str2key.c", + ], + "crypto/des/xcbc_enc.o" => + [ + "crypto/des/xcbc_enc.c", + ], + "crypto/dh/dh_ameth.o" => + [ + "crypto/dh/dh_ameth.c", + ], + "crypto/dh/dh_asn1.o" => + [ + "crypto/dh/dh_asn1.c", + ], + "crypto/dh/dh_check.o" => + [ + "crypto/dh/dh_check.c", + ], + "crypto/dh/dh_depr.o" => + [ + "crypto/dh/dh_depr.c", + ], + "crypto/dh/dh_err.o" => + [ + "crypto/dh/dh_err.c", + ], + "crypto/dh/dh_gen.o" => + [ + "crypto/dh/dh_gen.c", + ], + "crypto/dh/dh_kdf.o" => + [ + "crypto/dh/dh_kdf.c", + ], + "crypto/dh/dh_key.o" => + [ + "crypto/dh/dh_key.c", + ], + "crypto/dh/dh_lib.o" => + [ + "crypto/dh/dh_lib.c", + ], + "crypto/dh/dh_meth.o" => + [ + "crypto/dh/dh_meth.c", + ], + "crypto/dh/dh_pmeth.o" => + [ + "crypto/dh/dh_pmeth.c", + ], + "crypto/dh/dh_prn.o" => + [ + "crypto/dh/dh_prn.c", + ], + "crypto/dh/dh_rfc5114.o" => + [ + "crypto/dh/dh_rfc5114.c", + ], + "crypto/dh/dh_rfc7919.o" => + [ + "crypto/dh/dh_rfc7919.c", + ], + "crypto/dsa/dsa_ameth.o" => + [ + "crypto/dsa/dsa_ameth.c", + ], + "crypto/dsa/dsa_asn1.o" => + [ + "crypto/dsa/dsa_asn1.c", + ], + "crypto/dsa/dsa_depr.o" => + [ + "crypto/dsa/dsa_depr.c", + ], + "crypto/dsa/dsa_err.o" => + [ + "crypto/dsa/dsa_err.c", + ], + "crypto/dsa/dsa_gen.o" => + [ + "crypto/dsa/dsa_gen.c", + ], + "crypto/dsa/dsa_key.o" => + [ + "crypto/dsa/dsa_key.c", + ], + "crypto/dsa/dsa_lib.o" => + [ + "crypto/dsa/dsa_lib.c", + ], + "crypto/dsa/dsa_meth.o" => + [ + "crypto/dsa/dsa_meth.c", + ], + "crypto/dsa/dsa_ossl.o" => + [ + "crypto/dsa/dsa_ossl.c", + ], + "crypto/dsa/dsa_pmeth.o" => + [ + "crypto/dsa/dsa_pmeth.c", + ], + "crypto/dsa/dsa_prn.o" => + [ + "crypto/dsa/dsa_prn.c", + ], + "crypto/dsa/dsa_sign.o" => + [ + "crypto/dsa/dsa_sign.c", + ], + "crypto/dsa/dsa_vrf.o" => + [ + "crypto/dsa/dsa_vrf.c", + ], + "crypto/dso/dso_dl.o" => + [ + "crypto/dso/dso_dl.c", + ], + "crypto/dso/dso_dlfcn.o" => + [ + "crypto/dso/dso_dlfcn.c", + ], + "crypto/dso/dso_err.o" => + [ + "crypto/dso/dso_err.c", + ], + "crypto/dso/dso_lib.o" => + [ + "crypto/dso/dso_lib.c", + ], + "crypto/dso/dso_openssl.o" => + [ + "crypto/dso/dso_openssl.c", + ], + "crypto/dso/dso_vms.o" => + [ + "crypto/dso/dso_vms.c", + ], + "crypto/dso/dso_win32.o" => + [ + "crypto/dso/dso_win32.c", + ], + "crypto/ebcdic.o" => + [ + "crypto/ebcdic.c", + ], + "crypto/ec/curve25519.o" => + [ + "crypto/ec/curve25519.c", + ], + "crypto/ec/curve448/arch_32/f_impl.o" => + [ + "crypto/ec/curve448/arch_32/f_impl.c", + ], + "crypto/ec/curve448/curve448.o" => + [ + "crypto/ec/curve448/curve448.c", + ], + "crypto/ec/curve448/curve448_tables.o" => + [ + "crypto/ec/curve448/curve448_tables.c", + ], + "crypto/ec/curve448/eddsa.o" => + [ + "crypto/ec/curve448/eddsa.c", + ], + "crypto/ec/curve448/f_generic.o" => + [ + "crypto/ec/curve448/f_generic.c", + ], + "crypto/ec/curve448/scalar.o" => + [ + "crypto/ec/curve448/scalar.c", + ], + "crypto/ec/ec2_oct.o" => + [ + "crypto/ec/ec2_oct.c", + ], + "crypto/ec/ec2_smpl.o" => + [ + "crypto/ec/ec2_smpl.c", + ], + "crypto/ec/ec_ameth.o" => + [ + "crypto/ec/ec_ameth.c", + ], + "crypto/ec/ec_asn1.o" => + [ + "crypto/ec/ec_asn1.c", + ], + "crypto/ec/ec_check.o" => + [ + "crypto/ec/ec_check.c", + ], + "crypto/ec/ec_curve.o" => + [ + "crypto/ec/ec_curve.c", + ], + "crypto/ec/ec_cvt.o" => + [ + "crypto/ec/ec_cvt.c", + ], + "crypto/ec/ec_err.o" => + [ + "crypto/ec/ec_err.c", + ], + "crypto/ec/ec_key.o" => + [ + "crypto/ec/ec_key.c", + ], + "crypto/ec/ec_kmeth.o" => + [ + "crypto/ec/ec_kmeth.c", + ], + "crypto/ec/ec_lib.o" => + [ + "crypto/ec/ec_lib.c", + ], + "crypto/ec/ec_mult.o" => + [ + "crypto/ec/ec_mult.c", + ], + "crypto/ec/ec_oct.o" => + [ + "crypto/ec/ec_oct.c", + ], + "crypto/ec/ec_pmeth.o" => + [ + "crypto/ec/ec_pmeth.c", + ], + "crypto/ec/ec_print.o" => + [ + "crypto/ec/ec_print.c", + ], + "crypto/ec/ecdh_kdf.o" => + [ + "crypto/ec/ecdh_kdf.c", + ], + "crypto/ec/ecdh_ossl.o" => + [ + "crypto/ec/ecdh_ossl.c", + ], + "crypto/ec/ecdsa_ossl.o" => + [ + "crypto/ec/ecdsa_ossl.c", + ], + "crypto/ec/ecdsa_sign.o" => + [ + "crypto/ec/ecdsa_sign.c", + ], + "crypto/ec/ecdsa_vrf.o" => + [ + "crypto/ec/ecdsa_vrf.c", + ], + "crypto/ec/eck_prn.o" => + [ + "crypto/ec/eck_prn.c", + ], + "crypto/ec/ecp_mont.o" => + [ + "crypto/ec/ecp_mont.c", + ], + "crypto/ec/ecp_nist.o" => + [ + "crypto/ec/ecp_nist.c", + ], + "crypto/ec/ecp_nistp224.o" => + [ + "crypto/ec/ecp_nistp224.c", + ], + "crypto/ec/ecp_nistp256.o" => + [ + "crypto/ec/ecp_nistp256.c", + ], + "crypto/ec/ecp_nistp521.o" => + [ + "crypto/ec/ecp_nistp521.c", + ], + "crypto/ec/ecp_nistputil.o" => + [ + "crypto/ec/ecp_nistputil.c", + ], + "crypto/ec/ecp_oct.o" => + [ + "crypto/ec/ecp_oct.c", + ], + "crypto/ec/ecp_smpl.o" => + [ + "crypto/ec/ecp_smpl.c", + ], + "crypto/ec/ecx_meth.o" => + [ + "crypto/ec/ecx_meth.c", + ], + "crypto/engine/eng_all.o" => + [ + "crypto/engine/eng_all.c", + ], + "crypto/engine/eng_cnf.o" => + [ + "crypto/engine/eng_cnf.c", + ], + "crypto/engine/eng_ctrl.o" => + [ + "crypto/engine/eng_ctrl.c", + ], + "crypto/engine/eng_dyn.o" => + [ + "crypto/engine/eng_dyn.c", + ], + "crypto/engine/eng_err.o" => + [ + "crypto/engine/eng_err.c", + ], + "crypto/engine/eng_fat.o" => + [ + "crypto/engine/eng_fat.c", + ], + "crypto/engine/eng_init.o" => + [ + "crypto/engine/eng_init.c", + ], + "crypto/engine/eng_lib.o" => + [ + "crypto/engine/eng_lib.c", + ], + "crypto/engine/eng_list.o" => + [ + "crypto/engine/eng_list.c", + ], + "crypto/engine/eng_openssl.o" => + [ + "crypto/engine/eng_openssl.c", + ], + "crypto/engine/eng_pkey.o" => + [ + "crypto/engine/eng_pkey.c", + ], + "crypto/engine/eng_rdrand.o" => + [ + "crypto/engine/eng_rdrand.c", + ], + "crypto/engine/eng_table.o" => + [ + "crypto/engine/eng_table.c", + ], + "crypto/engine/tb_asnmth.o" => + [ + "crypto/engine/tb_asnmth.c", + ], + "crypto/engine/tb_cipher.o" => + [ + "crypto/engine/tb_cipher.c", + ], + "crypto/engine/tb_dh.o" => + [ + "crypto/engine/tb_dh.c", + ], + "crypto/engine/tb_digest.o" => + [ + "crypto/engine/tb_digest.c", + ], + "crypto/engine/tb_dsa.o" => + [ + "crypto/engine/tb_dsa.c", + ], + "crypto/engine/tb_eckey.o" => + [ + "crypto/engine/tb_eckey.c", + ], + "crypto/engine/tb_pkmeth.o" => + [ + "crypto/engine/tb_pkmeth.c", + ], + "crypto/engine/tb_rand.o" => + [ + "crypto/engine/tb_rand.c", + ], + "crypto/engine/tb_rsa.o" => + [ + "crypto/engine/tb_rsa.c", + ], + "crypto/err/err.o" => + [ + "crypto/err/err.c", + ], + "crypto/err/err_all.o" => + [ + "crypto/err/err_all.c", + ], + "crypto/err/err_prn.o" => + [ + "crypto/err/err_prn.c", + ], + "crypto/evp/bio_b64.o" => + [ + "crypto/evp/bio_b64.c", + ], + "crypto/evp/bio_enc.o" => + [ + "crypto/evp/bio_enc.c", + ], + "crypto/evp/bio_md.o" => + [ + "crypto/evp/bio_md.c", + ], + "crypto/evp/bio_ok.o" => + [ + "crypto/evp/bio_ok.c", + ], + "crypto/evp/c_allc.o" => + [ + "crypto/evp/c_allc.c", + ], + "crypto/evp/c_alld.o" => + [ + "crypto/evp/c_alld.c", + ], + "crypto/evp/cmeth_lib.o" => + [ + "crypto/evp/cmeth_lib.c", + ], + "crypto/evp/digest.o" => + [ + "crypto/evp/digest.c", + ], + "crypto/evp/e_aes.o" => + [ + "crypto/evp/e_aes.c", + ], + "crypto/evp/e_aes_cbc_hmac_sha1.o" => + [ + "crypto/evp/e_aes_cbc_hmac_sha1.c", + ], + "crypto/evp/e_aes_cbc_hmac_sha256.o" => + [ + "crypto/evp/e_aes_cbc_hmac_sha256.c", + ], + "crypto/evp/e_aria.o" => + [ + "crypto/evp/e_aria.c", + ], + "crypto/evp/e_bf.o" => + [ + "crypto/evp/e_bf.c", + ], + "crypto/evp/e_camellia.o" => + [ + "crypto/evp/e_camellia.c", + ], + "crypto/evp/e_cast.o" => + [ + "crypto/evp/e_cast.c", + ], + "crypto/evp/e_chacha20_poly1305.o" => + [ + "crypto/evp/e_chacha20_poly1305.c", + ], + "crypto/evp/e_des.o" => + [ + "crypto/evp/e_des.c", + ], + "crypto/evp/e_des3.o" => + [ + "crypto/evp/e_des3.c", + ], + "crypto/evp/e_idea.o" => + [ + "crypto/evp/e_idea.c", + ], + "crypto/evp/e_null.o" => + [ + "crypto/evp/e_null.c", + ], + "crypto/evp/e_old.o" => + [ + "crypto/evp/e_old.c", + ], + "crypto/evp/e_rc2.o" => + [ + "crypto/evp/e_rc2.c", + ], + "crypto/evp/e_rc4.o" => + [ + "crypto/evp/e_rc4.c", + ], + "crypto/evp/e_rc4_hmac_md5.o" => + [ + "crypto/evp/e_rc4_hmac_md5.c", + ], + "crypto/evp/e_rc5.o" => + [ + "crypto/evp/e_rc5.c", + ], + "crypto/evp/e_seed.o" => + [ + "crypto/evp/e_seed.c", + ], + "crypto/evp/e_sm4.o" => + [ + "crypto/evp/e_sm4.c", + ], + "crypto/evp/e_xcbc_d.o" => + [ + "crypto/evp/e_xcbc_d.c", + ], + "crypto/evp/encode.o" => + [ + "crypto/evp/encode.c", + ], + "crypto/evp/evp_cnf.o" => + [ + "crypto/evp/evp_cnf.c", + ], + "crypto/evp/evp_enc.o" => + [ + "crypto/evp/evp_enc.c", + ], + "crypto/evp/evp_err.o" => + [ + "crypto/evp/evp_err.c", + ], + "crypto/evp/evp_key.o" => + [ + "crypto/evp/evp_key.c", + ], + "crypto/evp/evp_lib.o" => + [ + "crypto/evp/evp_lib.c", + ], + "crypto/evp/evp_pbe.o" => + [ + "crypto/evp/evp_pbe.c", + ], + "crypto/evp/evp_pkey.o" => + [ + "crypto/evp/evp_pkey.c", + ], + "crypto/evp/m_md2.o" => + [ + "crypto/evp/m_md2.c", + ], + "crypto/evp/m_md4.o" => + [ + "crypto/evp/m_md4.c", + ], + "crypto/evp/m_md5.o" => + [ + "crypto/evp/m_md5.c", + ], + "crypto/evp/m_md5_sha1.o" => + [ + "crypto/evp/m_md5_sha1.c", + ], + "crypto/evp/m_mdc2.o" => + [ + "crypto/evp/m_mdc2.c", + ], + "crypto/evp/m_null.o" => + [ + "crypto/evp/m_null.c", + ], + "crypto/evp/m_ripemd.o" => + [ + "crypto/evp/m_ripemd.c", + ], + "crypto/evp/m_sha1.o" => + [ + "crypto/evp/m_sha1.c", + ], + "crypto/evp/m_sha3.o" => + [ + "crypto/evp/m_sha3.c", + ], + "crypto/evp/m_sigver.o" => + [ + "crypto/evp/m_sigver.c", + ], + "crypto/evp/m_wp.o" => + [ + "crypto/evp/m_wp.c", + ], + "crypto/evp/names.o" => + [ + "crypto/evp/names.c", + ], + "crypto/evp/p5_crpt.o" => + [ + "crypto/evp/p5_crpt.c", + ], + "crypto/evp/p5_crpt2.o" => + [ + "crypto/evp/p5_crpt2.c", + ], + "crypto/evp/p_dec.o" => + [ + "crypto/evp/p_dec.c", + ], + "crypto/evp/p_enc.o" => + [ + "crypto/evp/p_enc.c", + ], + "crypto/evp/p_lib.o" => + [ + "crypto/evp/p_lib.c", + ], + "crypto/evp/p_open.o" => + [ + "crypto/evp/p_open.c", + ], + "crypto/evp/p_seal.o" => + [ + "crypto/evp/p_seal.c", + ], + "crypto/evp/p_sign.o" => + [ + "crypto/evp/p_sign.c", + ], + "crypto/evp/p_verify.o" => + [ + "crypto/evp/p_verify.c", + ], + "crypto/evp/pbe_scrypt.o" => + [ + "crypto/evp/pbe_scrypt.c", + ], + "crypto/evp/pmeth_fn.o" => + [ + "crypto/evp/pmeth_fn.c", + ], + "crypto/evp/pmeth_gn.o" => + [ + "crypto/evp/pmeth_gn.c", + ], + "crypto/evp/pmeth_lib.o" => + [ + "crypto/evp/pmeth_lib.c", + ], + "crypto/ex_data.o" => + [ + "crypto/ex_data.c", + ], + "crypto/getenv.o" => + [ + "crypto/getenv.c", + ], + "crypto/hmac/hm_ameth.o" => + [ + "crypto/hmac/hm_ameth.c", + ], + "crypto/hmac/hm_pmeth.o" => + [ + "crypto/hmac/hm_pmeth.c", + ], + "crypto/hmac/hmac.o" => + [ + "crypto/hmac/hmac.c", + ], + "crypto/idea/i_cbc.o" => + [ + "crypto/idea/i_cbc.c", + ], + "crypto/idea/i_cfb64.o" => + [ + "crypto/idea/i_cfb64.c", + ], + "crypto/idea/i_ecb.o" => + [ + "crypto/idea/i_ecb.c", + ], + "crypto/idea/i_ofb64.o" => + [ + "crypto/idea/i_ofb64.c", + ], + "crypto/idea/i_skey.o" => + [ + "crypto/idea/i_skey.c", + ], + "crypto/init.o" => + [ + "crypto/init.c", + ], + "crypto/kdf/hkdf.o" => + [ + "crypto/kdf/hkdf.c", + ], + "crypto/kdf/kdf_err.o" => + [ + "crypto/kdf/kdf_err.c", + ], + "crypto/kdf/scrypt.o" => + [ + "crypto/kdf/scrypt.c", + ], + "crypto/kdf/tls1_prf.o" => + [ + "crypto/kdf/tls1_prf.c", + ], + "crypto/lhash/lh_stats.o" => + [ + "crypto/lhash/lh_stats.c", + ], + "crypto/lhash/lhash.o" => + [ + "crypto/lhash/lhash.c", + ], + "crypto/md4/md4_dgst.o" => + [ + "crypto/md4/md4_dgst.c", + ], + "crypto/md4/md4_one.o" => + [ + "crypto/md4/md4_one.c", + ], + "crypto/md5/md5_dgst.o" => + [ + "crypto/md5/md5_dgst.c", + ], + "crypto/md5/md5_one.o" => + [ + "crypto/md5/md5_one.c", + ], + "crypto/mdc2/mdc2_one.o" => + [ + "crypto/mdc2/mdc2_one.c", + ], + "crypto/mdc2/mdc2dgst.o" => + [ + "crypto/mdc2/mdc2dgst.c", + ], + "crypto/mem.o" => + [ + "crypto/mem.c", + ], + "crypto/mem_clr.o" => + [ + "crypto/mem_clr.c", + ], + "crypto/mem_dbg.o" => + [ + "crypto/mem_dbg.c", + ], + "crypto/mem_sec.o" => + [ + "crypto/mem_sec.c", + ], + "crypto/modes/cbc128.o" => + [ + "crypto/modes/cbc128.c", + ], + "crypto/modes/ccm128.o" => + [ + "crypto/modes/ccm128.c", + ], + "crypto/modes/cfb128.o" => + [ + "crypto/modes/cfb128.c", + ], + "crypto/modes/ctr128.o" => + [ + "crypto/modes/ctr128.c", + ], + "crypto/modes/cts128.o" => + [ + "crypto/modes/cts128.c", + ], + "crypto/modes/gcm128.o" => + [ + "crypto/modes/gcm128.c", + ], + "crypto/modes/ocb128.o" => + [ + "crypto/modes/ocb128.c", + ], + "crypto/modes/ofb128.o" => + [ + "crypto/modes/ofb128.c", + ], + "crypto/modes/wrap128.o" => + [ + "crypto/modes/wrap128.c", + ], + "crypto/modes/xts128.o" => + [ + "crypto/modes/xts128.c", + ], + "crypto/o_dir.o" => + [ + "crypto/o_dir.c", + ], + "crypto/o_fips.o" => + [ + "crypto/o_fips.c", + ], + "crypto/o_fopen.o" => + [ + "crypto/o_fopen.c", + ], + "crypto/o_init.o" => + [ + "crypto/o_init.c", + ], + "crypto/o_str.o" => + [ + "crypto/o_str.c", + ], + "crypto/o_time.o" => + [ + "crypto/o_time.c", + ], + "crypto/objects/o_names.o" => + [ + "crypto/objects/o_names.c", + ], + "crypto/objects/obj_dat.o" => + [ + "crypto/objects/obj_dat.c", + ], + "crypto/objects/obj_err.o" => + [ + "crypto/objects/obj_err.c", + ], + "crypto/objects/obj_lib.o" => + [ + "crypto/objects/obj_lib.c", + ], + "crypto/objects/obj_xref.o" => + [ + "crypto/objects/obj_xref.c", + ], + "crypto/ocsp/ocsp_asn.o" => + [ + "crypto/ocsp/ocsp_asn.c", + ], + "crypto/ocsp/ocsp_cl.o" => + [ + "crypto/ocsp/ocsp_cl.c", + ], + "crypto/ocsp/ocsp_err.o" => + [ + "crypto/ocsp/ocsp_err.c", + ], + "crypto/ocsp/ocsp_ext.o" => + [ + "crypto/ocsp/ocsp_ext.c", + ], + "crypto/ocsp/ocsp_ht.o" => + [ + "crypto/ocsp/ocsp_ht.c", + ], + "crypto/ocsp/ocsp_lib.o" => + [ + "crypto/ocsp/ocsp_lib.c", + ], + "crypto/ocsp/ocsp_prn.o" => + [ + "crypto/ocsp/ocsp_prn.c", + ], + "crypto/ocsp/ocsp_srv.o" => + [ + "crypto/ocsp/ocsp_srv.c", + ], + "crypto/ocsp/ocsp_vfy.o" => + [ + "crypto/ocsp/ocsp_vfy.c", + ], + "crypto/ocsp/v3_ocsp.o" => + [ + "crypto/ocsp/v3_ocsp.c", + ], + "crypto/pem/pem_all.o" => + [ + "crypto/pem/pem_all.c", + ], + "crypto/pem/pem_err.o" => + [ + "crypto/pem/pem_err.c", + ], + "crypto/pem/pem_info.o" => + [ + "crypto/pem/pem_info.c", + ], + "crypto/pem/pem_lib.o" => + [ + "crypto/pem/pem_lib.c", + ], + "crypto/pem/pem_oth.o" => + [ + "crypto/pem/pem_oth.c", + ], + "crypto/pem/pem_pk8.o" => + [ + "crypto/pem/pem_pk8.c", + ], + "crypto/pem/pem_pkey.o" => + [ + "crypto/pem/pem_pkey.c", + ], + "crypto/pem/pem_sign.o" => + [ + "crypto/pem/pem_sign.c", + ], + "crypto/pem/pem_x509.o" => + [ + "crypto/pem/pem_x509.c", + ], + "crypto/pem/pem_xaux.o" => + [ + "crypto/pem/pem_xaux.c", + ], + "crypto/pem/pvkfmt.o" => + [ + "crypto/pem/pvkfmt.c", + ], + "crypto/pkcs12/p12_add.o" => + [ + "crypto/pkcs12/p12_add.c", + ], + "crypto/pkcs12/p12_asn.o" => + [ + "crypto/pkcs12/p12_asn.c", + ], + "crypto/pkcs12/p12_attr.o" => + [ + "crypto/pkcs12/p12_attr.c", + ], + "crypto/pkcs12/p12_crpt.o" => + [ + "crypto/pkcs12/p12_crpt.c", + ], + "crypto/pkcs12/p12_crt.o" => + [ + "crypto/pkcs12/p12_crt.c", + ], + "crypto/pkcs12/p12_decr.o" => + [ + "crypto/pkcs12/p12_decr.c", + ], + "crypto/pkcs12/p12_init.o" => + [ + "crypto/pkcs12/p12_init.c", + ], + "crypto/pkcs12/p12_key.o" => + [ + "crypto/pkcs12/p12_key.c", + ], + "crypto/pkcs12/p12_kiss.o" => + [ + "crypto/pkcs12/p12_kiss.c", + ], + "crypto/pkcs12/p12_mutl.o" => + [ + "crypto/pkcs12/p12_mutl.c", + ], + "crypto/pkcs12/p12_npas.o" => + [ + "crypto/pkcs12/p12_npas.c", + ], + "crypto/pkcs12/p12_p8d.o" => + [ + "crypto/pkcs12/p12_p8d.c", + ], + "crypto/pkcs12/p12_p8e.o" => + [ + "crypto/pkcs12/p12_p8e.c", + ], + "crypto/pkcs12/p12_sbag.o" => + [ + "crypto/pkcs12/p12_sbag.c", + ], + "crypto/pkcs12/p12_utl.o" => + [ + "crypto/pkcs12/p12_utl.c", + ], + "crypto/pkcs12/pk12err.o" => + [ + "crypto/pkcs12/pk12err.c", + ], + "crypto/pkcs7/bio_pk7.o" => + [ + "crypto/pkcs7/bio_pk7.c", + ], + "crypto/pkcs7/pk7_asn1.o" => + [ + "crypto/pkcs7/pk7_asn1.c", + ], + "crypto/pkcs7/pk7_attr.o" => + [ + "crypto/pkcs7/pk7_attr.c", + ], + "crypto/pkcs7/pk7_doit.o" => + [ + "crypto/pkcs7/pk7_doit.c", + ], + "crypto/pkcs7/pk7_lib.o" => + [ + "crypto/pkcs7/pk7_lib.c", + ], + "crypto/pkcs7/pk7_mime.o" => + [ + "crypto/pkcs7/pk7_mime.c", + ], + "crypto/pkcs7/pk7_smime.o" => + [ + "crypto/pkcs7/pk7_smime.c", + ], + "crypto/pkcs7/pkcs7err.o" => + [ + "crypto/pkcs7/pkcs7err.c", + ], + "crypto/poly1305/poly1305-mips.o" => + [ + "crypto/poly1305/poly1305-mips.S", + ], + "crypto/poly1305/poly1305.o" => + [ + "crypto/poly1305/poly1305.c", + ], + "crypto/poly1305/poly1305_ameth.o" => + [ + "crypto/poly1305/poly1305_ameth.c", + ], + "crypto/poly1305/poly1305_pmeth.o" => + [ + "crypto/poly1305/poly1305_pmeth.c", + ], + "crypto/rand/drbg_ctr.o" => + [ + "crypto/rand/drbg_ctr.c", + ], + "crypto/rand/drbg_lib.o" => + [ + "crypto/rand/drbg_lib.c", + ], + "crypto/rand/rand_egd.o" => + [ + "crypto/rand/rand_egd.c", + ], + "crypto/rand/rand_err.o" => + [ + "crypto/rand/rand_err.c", + ], + "crypto/rand/rand_lib.o" => + [ + "crypto/rand/rand_lib.c", + ], + "crypto/rand/rand_unix.o" => + [ + "crypto/rand/rand_unix.c", + ], + "crypto/rand/rand_vms.o" => + [ + "crypto/rand/rand_vms.c", + ], + "crypto/rand/rand_win.o" => + [ + "crypto/rand/rand_win.c", + ], + "crypto/rand/randfile.o" => + [ + "crypto/rand/randfile.c", + ], + "crypto/rc2/rc2_cbc.o" => + [ + "crypto/rc2/rc2_cbc.c", + ], + "crypto/rc2/rc2_ecb.o" => + [ + "crypto/rc2/rc2_ecb.c", + ], + "crypto/rc2/rc2_skey.o" => + [ + "crypto/rc2/rc2_skey.c", + ], + "crypto/rc2/rc2cfb64.o" => + [ + "crypto/rc2/rc2cfb64.c", + ], + "crypto/rc2/rc2ofb64.o" => + [ + "crypto/rc2/rc2ofb64.c", + ], + "crypto/rc4/rc4_enc.o" => + [ + "crypto/rc4/rc4_enc.c", + ], + "crypto/rc4/rc4_skey.o" => + [ + "crypto/rc4/rc4_skey.c", + ], + "crypto/ripemd/rmd_dgst.o" => + [ + "crypto/ripemd/rmd_dgst.c", + ], + "crypto/ripemd/rmd_one.o" => + [ + "crypto/ripemd/rmd_one.c", + ], + "crypto/rsa/rsa_ameth.o" => + [ + "crypto/rsa/rsa_ameth.c", + ], + "crypto/rsa/rsa_asn1.o" => + [ + "crypto/rsa/rsa_asn1.c", + ], + "crypto/rsa/rsa_chk.o" => + [ + "crypto/rsa/rsa_chk.c", + ], + "crypto/rsa/rsa_crpt.o" => + [ + "crypto/rsa/rsa_crpt.c", + ], + "crypto/rsa/rsa_depr.o" => + [ + "crypto/rsa/rsa_depr.c", + ], + "crypto/rsa/rsa_err.o" => + [ + "crypto/rsa/rsa_err.c", + ], + "crypto/rsa/rsa_gen.o" => + [ + "crypto/rsa/rsa_gen.c", + ], + "crypto/rsa/rsa_lib.o" => + [ + "crypto/rsa/rsa_lib.c", + ], + "crypto/rsa/rsa_meth.o" => + [ + "crypto/rsa/rsa_meth.c", + ], + "crypto/rsa/rsa_mp.o" => + [ + "crypto/rsa/rsa_mp.c", + ], + "crypto/rsa/rsa_none.o" => + [ + "crypto/rsa/rsa_none.c", + ], + "crypto/rsa/rsa_oaep.o" => + [ + "crypto/rsa/rsa_oaep.c", + ], + "crypto/rsa/rsa_ossl.o" => + [ + "crypto/rsa/rsa_ossl.c", + ], + "crypto/rsa/rsa_pk1.o" => + [ + "crypto/rsa/rsa_pk1.c", + ], + "crypto/rsa/rsa_pmeth.o" => + [ + "crypto/rsa/rsa_pmeth.c", + ], + "crypto/rsa/rsa_prn.o" => + [ + "crypto/rsa/rsa_prn.c", + ], + "crypto/rsa/rsa_pss.o" => + [ + "crypto/rsa/rsa_pss.c", + ], + "crypto/rsa/rsa_saos.o" => + [ + "crypto/rsa/rsa_saos.c", + ], + "crypto/rsa/rsa_sign.o" => + [ + "crypto/rsa/rsa_sign.c", + ], + "crypto/rsa/rsa_ssl.o" => + [ + "crypto/rsa/rsa_ssl.c", + ], + "crypto/rsa/rsa_x931.o" => + [ + "crypto/rsa/rsa_x931.c", + ], + "crypto/rsa/rsa_x931g.o" => + [ + "crypto/rsa/rsa_x931g.c", + ], + "crypto/seed/seed.o" => + [ + "crypto/seed/seed.c", + ], + "crypto/seed/seed_cbc.o" => + [ + "crypto/seed/seed_cbc.c", + ], + "crypto/seed/seed_cfb.o" => + [ + "crypto/seed/seed_cfb.c", + ], + "crypto/seed/seed_ecb.o" => + [ + "crypto/seed/seed_ecb.c", + ], + "crypto/seed/seed_ofb.o" => + [ + "crypto/seed/seed_ofb.c", + ], + "crypto/sha/keccak1600.o" => + [ + "crypto/sha/keccak1600.c", + ], + "crypto/sha/sha1-mips.o" => + [ + "crypto/sha/sha1-mips.S", + ], + "crypto/sha/sha1_one.o" => + [ + "crypto/sha/sha1_one.c", + ], + "crypto/sha/sha1dgst.o" => + [ + "crypto/sha/sha1dgst.c", + ], + "crypto/sha/sha256-mips.o" => + [ + "crypto/sha/sha256-mips.S", + ], + "crypto/sha/sha256.o" => + [ + "crypto/sha/sha256.c", + ], + "crypto/sha/sha512-mips.o" => + [ + "crypto/sha/sha512-mips.S", + ], + "crypto/sha/sha512.o" => + [ + "crypto/sha/sha512.c", + ], + "crypto/siphash/siphash.o" => + [ + "crypto/siphash/siphash.c", + ], + "crypto/siphash/siphash_ameth.o" => + [ + "crypto/siphash/siphash_ameth.c", + ], + "crypto/siphash/siphash_pmeth.o" => + [ + "crypto/siphash/siphash_pmeth.c", + ], + "crypto/sm2/sm2_crypt.o" => + [ + "crypto/sm2/sm2_crypt.c", + ], + "crypto/sm2/sm2_err.o" => + [ + "crypto/sm2/sm2_err.c", + ], + "crypto/sm2/sm2_pmeth.o" => + [ + "crypto/sm2/sm2_pmeth.c", + ], + "crypto/sm2/sm2_sign.o" => + [ + "crypto/sm2/sm2_sign.c", + ], + "crypto/sm3/m_sm3.o" => + [ + "crypto/sm3/m_sm3.c", + ], + "crypto/sm3/sm3.o" => + [ + "crypto/sm3/sm3.c", + ], + "crypto/sm4/sm4.o" => + [ + "crypto/sm4/sm4.c", + ], + "crypto/srp/srp_lib.o" => + [ + "crypto/srp/srp_lib.c", + ], + "crypto/srp/srp_vfy.o" => + [ + "crypto/srp/srp_vfy.c", + ], + "crypto/stack/stack.o" => + [ + "crypto/stack/stack.c", + ], + "crypto/store/loader_file.o" => + [ + "crypto/store/loader_file.c", + ], + "crypto/store/store_err.o" => + [ + "crypto/store/store_err.c", + ], + "crypto/store/store_init.o" => + [ + "crypto/store/store_init.c", + ], + "crypto/store/store_lib.o" => + [ + "crypto/store/store_lib.c", + ], + "crypto/store/store_register.o" => + [ + "crypto/store/store_register.c", + ], + "crypto/store/store_strings.o" => + [ + "crypto/store/store_strings.c", + ], + "crypto/threads_none.o" => + [ + "crypto/threads_none.c", + ], + "crypto/threads_pthread.o" => + [ + "crypto/threads_pthread.c", + ], + "crypto/threads_win.o" => + [ + "crypto/threads_win.c", + ], + "crypto/ts/ts_asn1.o" => + [ + "crypto/ts/ts_asn1.c", + ], + "crypto/ts/ts_conf.o" => + [ + "crypto/ts/ts_conf.c", + ], + "crypto/ts/ts_err.o" => + [ + "crypto/ts/ts_err.c", + ], + "crypto/ts/ts_lib.o" => + [ + "crypto/ts/ts_lib.c", + ], + "crypto/ts/ts_req_print.o" => + [ + "crypto/ts/ts_req_print.c", + ], + "crypto/ts/ts_req_utils.o" => + [ + "crypto/ts/ts_req_utils.c", + ], + "crypto/ts/ts_rsp_print.o" => + [ + "crypto/ts/ts_rsp_print.c", + ], + "crypto/ts/ts_rsp_sign.o" => + [ + "crypto/ts/ts_rsp_sign.c", + ], + "crypto/ts/ts_rsp_utils.o" => + [ + "crypto/ts/ts_rsp_utils.c", + ], + "crypto/ts/ts_rsp_verify.o" => + [ + "crypto/ts/ts_rsp_verify.c", + ], + "crypto/ts/ts_verify_ctx.o" => + [ + "crypto/ts/ts_verify_ctx.c", + ], + "crypto/txt_db/txt_db.o" => + [ + "crypto/txt_db/txt_db.c", + ], + "crypto/ui/ui_err.o" => + [ + "crypto/ui/ui_err.c", + ], + "crypto/ui/ui_lib.o" => + [ + "crypto/ui/ui_lib.c", + ], + "crypto/ui/ui_null.o" => + [ + "crypto/ui/ui_null.c", + ], + "crypto/ui/ui_openssl.o" => + [ + "crypto/ui/ui_openssl.c", + ], + "crypto/ui/ui_util.o" => + [ + "crypto/ui/ui_util.c", + ], + "crypto/uid.o" => + [ + "crypto/uid.c", + ], + "crypto/whrlpool/wp_block.o" => + [ + "crypto/whrlpool/wp_block.c", + ], + "crypto/whrlpool/wp_dgst.o" => + [ + "crypto/whrlpool/wp_dgst.c", + ], + "crypto/x509/by_dir.o" => + [ + "crypto/x509/by_dir.c", + ], + "crypto/x509/by_file.o" => + [ + "crypto/x509/by_file.c", + ], + "crypto/x509/t_crl.o" => + [ + "crypto/x509/t_crl.c", + ], + "crypto/x509/t_req.o" => + [ + "crypto/x509/t_req.c", + ], + "crypto/x509/t_x509.o" => + [ + "crypto/x509/t_x509.c", + ], + "crypto/x509/x509_att.o" => + [ + "crypto/x509/x509_att.c", + ], + "crypto/x509/x509_cmp.o" => + [ + "crypto/x509/x509_cmp.c", + ], + "crypto/x509/x509_d2.o" => + [ + "crypto/x509/x509_d2.c", + ], + "crypto/x509/x509_def.o" => + [ + "crypto/x509/x509_def.c", + ], + "crypto/x509/x509_err.o" => + [ + "crypto/x509/x509_err.c", + ], + "crypto/x509/x509_ext.o" => + [ + "crypto/x509/x509_ext.c", + ], + "crypto/x509/x509_lu.o" => + [ + "crypto/x509/x509_lu.c", + ], + "crypto/x509/x509_meth.o" => + [ + "crypto/x509/x509_meth.c", + ], + "crypto/x509/x509_obj.o" => + [ + "crypto/x509/x509_obj.c", + ], + "crypto/x509/x509_r2x.o" => + [ + "crypto/x509/x509_r2x.c", + ], + "crypto/x509/x509_req.o" => + [ + "crypto/x509/x509_req.c", + ], + "crypto/x509/x509_set.o" => + [ + "crypto/x509/x509_set.c", + ], + "crypto/x509/x509_trs.o" => + [ + "crypto/x509/x509_trs.c", + ], + "crypto/x509/x509_txt.o" => + [ + "crypto/x509/x509_txt.c", + ], + "crypto/x509/x509_v3.o" => + [ + "crypto/x509/x509_v3.c", + ], + "crypto/x509/x509_vfy.o" => + [ + "crypto/x509/x509_vfy.c", + ], + "crypto/x509/x509_vpm.o" => + [ + "crypto/x509/x509_vpm.c", + ], + "crypto/x509/x509cset.o" => + [ + "crypto/x509/x509cset.c", + ], + "crypto/x509/x509name.o" => + [ + "crypto/x509/x509name.c", + ], + "crypto/x509/x509rset.o" => + [ + "crypto/x509/x509rset.c", + ], + "crypto/x509/x509spki.o" => + [ + "crypto/x509/x509spki.c", + ], + "crypto/x509/x509type.o" => + [ + "crypto/x509/x509type.c", + ], + "crypto/x509/x_all.o" => + [ + "crypto/x509/x_all.c", + ], + "crypto/x509/x_attrib.o" => + [ + "crypto/x509/x_attrib.c", + ], + "crypto/x509/x_crl.o" => + [ + "crypto/x509/x_crl.c", + ], + "crypto/x509/x_exten.o" => + [ + "crypto/x509/x_exten.c", + ], + "crypto/x509/x_name.o" => + [ + "crypto/x509/x_name.c", + ], + "crypto/x509/x_pubkey.o" => + [ + "crypto/x509/x_pubkey.c", + ], + "crypto/x509/x_req.o" => + [ + "crypto/x509/x_req.c", + ], + "crypto/x509/x_x509.o" => + [ + "crypto/x509/x_x509.c", + ], + "crypto/x509/x_x509a.o" => + [ + "crypto/x509/x_x509a.c", + ], + "crypto/x509v3/pcy_cache.o" => + [ + "crypto/x509v3/pcy_cache.c", + ], + "crypto/x509v3/pcy_data.o" => + [ + "crypto/x509v3/pcy_data.c", + ], + "crypto/x509v3/pcy_lib.o" => + [ + "crypto/x509v3/pcy_lib.c", + ], + "crypto/x509v3/pcy_map.o" => + [ + "crypto/x509v3/pcy_map.c", + ], + "crypto/x509v3/pcy_node.o" => + [ + "crypto/x509v3/pcy_node.c", + ], + "crypto/x509v3/pcy_tree.o" => + [ + "crypto/x509v3/pcy_tree.c", + ], + "crypto/x509v3/v3_addr.o" => + [ + "crypto/x509v3/v3_addr.c", + ], + "crypto/x509v3/v3_admis.o" => + [ + "crypto/x509v3/v3_admis.c", + ], + "crypto/x509v3/v3_akey.o" => + [ + "crypto/x509v3/v3_akey.c", + ], + "crypto/x509v3/v3_akeya.o" => + [ + "crypto/x509v3/v3_akeya.c", + ], + "crypto/x509v3/v3_alt.o" => + [ + "crypto/x509v3/v3_alt.c", + ], + "crypto/x509v3/v3_asid.o" => + [ + "crypto/x509v3/v3_asid.c", + ], + "crypto/x509v3/v3_bcons.o" => + [ + "crypto/x509v3/v3_bcons.c", + ], + "crypto/x509v3/v3_bitst.o" => + [ + "crypto/x509v3/v3_bitst.c", + ], + "crypto/x509v3/v3_conf.o" => + [ + "crypto/x509v3/v3_conf.c", + ], + "crypto/x509v3/v3_cpols.o" => + [ + "crypto/x509v3/v3_cpols.c", + ], + "crypto/x509v3/v3_crld.o" => + [ + "crypto/x509v3/v3_crld.c", + ], + "crypto/x509v3/v3_enum.o" => + [ + "crypto/x509v3/v3_enum.c", + ], + "crypto/x509v3/v3_extku.o" => + [ + "crypto/x509v3/v3_extku.c", + ], + "crypto/x509v3/v3_genn.o" => + [ + "crypto/x509v3/v3_genn.c", + ], + "crypto/x509v3/v3_ia5.o" => + [ + "crypto/x509v3/v3_ia5.c", + ], + "crypto/x509v3/v3_info.o" => + [ + "crypto/x509v3/v3_info.c", + ], + "crypto/x509v3/v3_int.o" => + [ + "crypto/x509v3/v3_int.c", + ], + "crypto/x509v3/v3_lib.o" => + [ + "crypto/x509v3/v3_lib.c", + ], + "crypto/x509v3/v3_ncons.o" => + [ + "crypto/x509v3/v3_ncons.c", + ], + "crypto/x509v3/v3_pci.o" => + [ + "crypto/x509v3/v3_pci.c", + ], + "crypto/x509v3/v3_pcia.o" => + [ + "crypto/x509v3/v3_pcia.c", + ], + "crypto/x509v3/v3_pcons.o" => + [ + "crypto/x509v3/v3_pcons.c", + ], + "crypto/x509v3/v3_pku.o" => + [ + "crypto/x509v3/v3_pku.c", + ], + "crypto/x509v3/v3_pmaps.o" => + [ + "crypto/x509v3/v3_pmaps.c", + ], + "crypto/x509v3/v3_prn.o" => + [ + "crypto/x509v3/v3_prn.c", + ], + "crypto/x509v3/v3_purp.o" => + [ + "crypto/x509v3/v3_purp.c", + ], + "crypto/x509v3/v3_skey.o" => + [ + "crypto/x509v3/v3_skey.c", + ], + "crypto/x509v3/v3_sxnet.o" => + [ + "crypto/x509v3/v3_sxnet.c", + ], + "crypto/x509v3/v3_tlsf.o" => + [ + "crypto/x509v3/v3_tlsf.c", + ], + "crypto/x509v3/v3_utl.o" => + [ + "crypto/x509v3/v3_utl.c", + ], + "crypto/x509v3/v3err.o" => + [ + "crypto/x509v3/v3err.c", + ], + "engines/e_capi.o" => + [ + "engines/e_capi.c", + ], + "engines/e_padlock.o" => + [ + "engines/e_padlock.c", + ], + "fuzz/asn1-test" => + [ + "fuzz/asn1.o", + "fuzz/test-corpus.o", + ], + "fuzz/asn1.o" => + [ + "fuzz/asn1.c", + ], + "fuzz/asn1parse-test" => + [ + "fuzz/asn1parse.o", + "fuzz/test-corpus.o", + ], + "fuzz/asn1parse.o" => + [ + "fuzz/asn1parse.c", + ], + "fuzz/bignum-test" => + [ + "fuzz/bignum.o", + "fuzz/test-corpus.o", + ], + "fuzz/bignum.o" => + [ + "fuzz/bignum.c", + ], + "fuzz/bndiv-test" => + [ + "fuzz/bndiv.o", + "fuzz/test-corpus.o", + ], + "fuzz/bndiv.o" => + [ + "fuzz/bndiv.c", + ], + "fuzz/client-test" => + [ + "fuzz/client.o", + "fuzz/test-corpus.o", + ], + "fuzz/client.o" => + [ + "fuzz/client.c", + ], + "fuzz/cms-test" => + [ + "fuzz/cms.o", + "fuzz/test-corpus.o", + ], + "fuzz/cms.o" => + [ + "fuzz/cms.c", + ], + "fuzz/conf-test" => + [ + "fuzz/conf.o", + "fuzz/test-corpus.o", + ], + "fuzz/conf.o" => + [ + "fuzz/conf.c", + ], + "fuzz/crl-test" => + [ + "fuzz/crl.o", + "fuzz/test-corpus.o", + ], + "fuzz/crl.o" => + [ + "fuzz/crl.c", + ], + "fuzz/ct-test" => + [ + "fuzz/ct.o", + "fuzz/test-corpus.o", + ], + "fuzz/ct.o" => + [ + "fuzz/ct.c", + ], + "fuzz/server-test" => + [ + "fuzz/server.o", + "fuzz/test-corpus.o", + ], + "fuzz/server.o" => + [ + "fuzz/server.c", + ], + "fuzz/test-corpus.o" => + [ + "fuzz/test-corpus.c", + ], + "fuzz/x509-test" => + [ + "fuzz/test-corpus.o", + "fuzz/x509.o", + ], + "fuzz/x509.o" => + [ + "fuzz/x509.c", + ], + "libcrypto" => + [ + "crypto/aes/aes-mips.o", + "crypto/aes/aes_cbc.o", + "crypto/aes/aes_cfb.o", + "crypto/aes/aes_ecb.o", + "crypto/aes/aes_ige.o", + "crypto/aes/aes_misc.o", + "crypto/aes/aes_ofb.o", + "crypto/aes/aes_wrap.o", + "crypto/aria/aria.o", + "crypto/asn1/a_bitstr.o", + "crypto/asn1/a_d2i_fp.o", + "crypto/asn1/a_digest.o", + "crypto/asn1/a_dup.o", + "crypto/asn1/a_gentm.o", + "crypto/asn1/a_i2d_fp.o", + "crypto/asn1/a_int.o", + "crypto/asn1/a_mbstr.o", + "crypto/asn1/a_object.o", + "crypto/asn1/a_octet.o", + "crypto/asn1/a_print.o", + "crypto/asn1/a_sign.o", + "crypto/asn1/a_strex.o", + "crypto/asn1/a_strnid.o", + "crypto/asn1/a_time.o", + "crypto/asn1/a_type.o", + "crypto/asn1/a_utctm.o", + "crypto/asn1/a_utf8.o", + "crypto/asn1/a_verify.o", + "crypto/asn1/ameth_lib.o", + "crypto/asn1/asn1_err.o", + "crypto/asn1/asn1_gen.o", + "crypto/asn1/asn1_item_list.o", + "crypto/asn1/asn1_lib.o", + "crypto/asn1/asn1_par.o", + "crypto/asn1/asn_mime.o", + "crypto/asn1/asn_moid.o", + "crypto/asn1/asn_mstbl.o", + "crypto/asn1/asn_pack.o", + "crypto/asn1/bio_asn1.o", + "crypto/asn1/bio_ndef.o", + "crypto/asn1/d2i_pr.o", + "crypto/asn1/d2i_pu.o", + "crypto/asn1/evp_asn1.o", + "crypto/asn1/f_int.o", + "crypto/asn1/f_string.o", + "crypto/asn1/i2d_pr.o", + "crypto/asn1/i2d_pu.o", + "crypto/asn1/n_pkey.o", + "crypto/asn1/nsseq.o", + "crypto/asn1/p5_pbe.o", + "crypto/asn1/p5_pbev2.o", + "crypto/asn1/p5_scrypt.o", + "crypto/asn1/p8_pkey.o", + "crypto/asn1/t_bitst.o", + "crypto/asn1/t_pkey.o", + "crypto/asn1/t_spki.o", + "crypto/asn1/tasn_dec.o", + "crypto/asn1/tasn_enc.o", + "crypto/asn1/tasn_fre.o", + "crypto/asn1/tasn_new.o", + "crypto/asn1/tasn_prn.o", + "crypto/asn1/tasn_scn.o", + "crypto/asn1/tasn_typ.o", + "crypto/asn1/tasn_utl.o", + "crypto/asn1/x_algor.o", + "crypto/asn1/x_bignum.o", + "crypto/asn1/x_info.o", + "crypto/asn1/x_int64.o", + "crypto/asn1/x_long.o", + "crypto/asn1/x_pkey.o", + "crypto/asn1/x_sig.o", + "crypto/asn1/x_spki.o", + "crypto/asn1/x_val.o", + "crypto/async/arch/async_null.o", + "crypto/async/arch/async_posix.o", + "crypto/async/arch/async_win.o", + "crypto/async/async.o", + "crypto/async/async_err.o", + "crypto/async/async_wait.o", + "crypto/bf/bf_cfb64.o", + "crypto/bf/bf_ecb.o", + "crypto/bf/bf_enc.o", + "crypto/bf/bf_ofb64.o", + "crypto/bf/bf_skey.o", + "crypto/bio/b_addr.o", + "crypto/bio/b_dump.o", + "crypto/bio/b_print.o", + "crypto/bio/b_sock.o", + "crypto/bio/b_sock2.o", + "crypto/bio/bf_buff.o", + "crypto/bio/bf_lbuf.o", + "crypto/bio/bf_nbio.o", + "crypto/bio/bf_null.o", + "crypto/bio/bio_cb.o", + "crypto/bio/bio_err.o", + "crypto/bio/bio_lib.o", + "crypto/bio/bio_meth.o", + "crypto/bio/bss_acpt.o", + "crypto/bio/bss_bio.o", + "crypto/bio/bss_conn.o", + "crypto/bio/bss_dgram.o", + "crypto/bio/bss_fd.o", + "crypto/bio/bss_file.o", + "crypto/bio/bss_log.o", + "crypto/bio/bss_mem.o", + "crypto/bio/bss_null.o", + "crypto/bio/bss_sock.o", + "crypto/blake2/blake2b.o", + "crypto/blake2/blake2s.o", + "crypto/blake2/m_blake2b.o", + "crypto/blake2/m_blake2s.o", + "crypto/bn/bn-mips.o", + "crypto/bn/bn_add.o", + "crypto/bn/bn_blind.o", + "crypto/bn/bn_const.o", + "crypto/bn/bn_ctx.o", + "crypto/bn/bn_depr.o", + "crypto/bn/bn_dh.o", + "crypto/bn/bn_div.o", + "crypto/bn/bn_err.o", + "crypto/bn/bn_exp.o", + "crypto/bn/bn_exp2.o", + "crypto/bn/bn_gcd.o", + "crypto/bn/bn_gf2m.o", + "crypto/bn/bn_intern.o", + "crypto/bn/bn_kron.o", + "crypto/bn/bn_lib.o", + "crypto/bn/bn_mod.o", + "crypto/bn/bn_mont.o", + "crypto/bn/bn_mpi.o", + "crypto/bn/bn_mul.o", + "crypto/bn/bn_nist.o", + "crypto/bn/bn_prime.o", + "crypto/bn/bn_print.o", + "crypto/bn/bn_rand.o", + "crypto/bn/bn_recp.o", + "crypto/bn/bn_shift.o", + "crypto/bn/bn_sqr.o", + "crypto/bn/bn_sqrt.o", + "crypto/bn/bn_srp.o", + "crypto/bn/bn_word.o", + "crypto/bn/bn_x931p.o", + "crypto/bn/mips-mont.o", + "crypto/buffer/buf_err.o", + "crypto/buffer/buffer.o", + "crypto/camellia/camellia.o", + "crypto/camellia/cmll_cbc.o", + "crypto/camellia/cmll_cfb.o", + "crypto/camellia/cmll_ctr.o", + "crypto/camellia/cmll_ecb.o", + "crypto/camellia/cmll_misc.o", + "crypto/camellia/cmll_ofb.o", + "crypto/cast/c_cfb64.o", + "crypto/cast/c_ecb.o", + "crypto/cast/c_enc.o", + "crypto/cast/c_ofb64.o", + "crypto/cast/c_skey.o", + "crypto/chacha/chacha_enc.o", + "crypto/cmac/cm_ameth.o", + "crypto/cmac/cm_pmeth.o", + "crypto/cmac/cmac.o", + "crypto/cms/cms_asn1.o", + "crypto/cms/cms_att.o", + "crypto/cms/cms_cd.o", + "crypto/cms/cms_dd.o", + "crypto/cms/cms_enc.o", + "crypto/cms/cms_env.o", + "crypto/cms/cms_err.o", + "crypto/cms/cms_ess.o", + "crypto/cms/cms_io.o", + "crypto/cms/cms_kari.o", + "crypto/cms/cms_lib.o", + "crypto/cms/cms_pwri.o", + "crypto/cms/cms_sd.o", + "crypto/cms/cms_smime.o", + "crypto/conf/conf_api.o", + "crypto/conf/conf_def.o", + "crypto/conf/conf_err.o", + "crypto/conf/conf_lib.o", + "crypto/conf/conf_mall.o", + "crypto/conf/conf_mod.o", + "crypto/conf/conf_sap.o", + "crypto/conf/conf_ssl.o", + "crypto/cpt_err.o", + "crypto/cryptlib.o", + "crypto/ct/ct_b64.o", + "crypto/ct/ct_err.o", + "crypto/ct/ct_log.o", + "crypto/ct/ct_oct.o", + "crypto/ct/ct_policy.o", + "crypto/ct/ct_prn.o", + "crypto/ct/ct_sct.o", + "crypto/ct/ct_sct_ctx.o", + "crypto/ct/ct_vfy.o", + "crypto/ct/ct_x509v3.o", + "crypto/ctype.o", + "crypto/cversion.o", + "crypto/des/cbc_cksm.o", + "crypto/des/cbc_enc.o", + "crypto/des/cfb64ede.o", + "crypto/des/cfb64enc.o", + "crypto/des/cfb_enc.o", + "crypto/des/des_enc.o", + "crypto/des/ecb3_enc.o", + "crypto/des/ecb_enc.o", + "crypto/des/fcrypt.o", + "crypto/des/fcrypt_b.o", + "crypto/des/ofb64ede.o", + "crypto/des/ofb64enc.o", + "crypto/des/ofb_enc.o", + "crypto/des/pcbc_enc.o", + "crypto/des/qud_cksm.o", + "crypto/des/rand_key.o", + "crypto/des/set_key.o", + "crypto/des/str2key.o", + "crypto/des/xcbc_enc.o", + "crypto/dh/dh_ameth.o", + "crypto/dh/dh_asn1.o", + "crypto/dh/dh_check.o", + "crypto/dh/dh_depr.o", + "crypto/dh/dh_err.o", + "crypto/dh/dh_gen.o", + "crypto/dh/dh_kdf.o", + "crypto/dh/dh_key.o", + "crypto/dh/dh_lib.o", + "crypto/dh/dh_meth.o", + "crypto/dh/dh_pmeth.o", + "crypto/dh/dh_prn.o", + "crypto/dh/dh_rfc5114.o", + "crypto/dh/dh_rfc7919.o", + "crypto/dsa/dsa_ameth.o", + "crypto/dsa/dsa_asn1.o", + "crypto/dsa/dsa_depr.o", + "crypto/dsa/dsa_err.o", + "crypto/dsa/dsa_gen.o", + "crypto/dsa/dsa_key.o", + "crypto/dsa/dsa_lib.o", + "crypto/dsa/dsa_meth.o", + "crypto/dsa/dsa_ossl.o", + "crypto/dsa/dsa_pmeth.o", + "crypto/dsa/dsa_prn.o", + "crypto/dsa/dsa_sign.o", + "crypto/dsa/dsa_vrf.o", + "crypto/dso/dso_dl.o", + "crypto/dso/dso_dlfcn.o", + "crypto/dso/dso_err.o", + "crypto/dso/dso_lib.o", + "crypto/dso/dso_openssl.o", + "crypto/dso/dso_vms.o", + "crypto/dso/dso_win32.o", + "crypto/ebcdic.o", + "crypto/ec/curve25519.o", + "crypto/ec/curve448/arch_32/f_impl.o", + "crypto/ec/curve448/curve448.o", + "crypto/ec/curve448/curve448_tables.o", + "crypto/ec/curve448/eddsa.o", + "crypto/ec/curve448/f_generic.o", + "crypto/ec/curve448/scalar.o", + "crypto/ec/ec2_oct.o", + "crypto/ec/ec2_smpl.o", + "crypto/ec/ec_ameth.o", + "crypto/ec/ec_asn1.o", + "crypto/ec/ec_check.o", + "crypto/ec/ec_curve.o", + "crypto/ec/ec_cvt.o", + "crypto/ec/ec_err.o", + "crypto/ec/ec_key.o", + "crypto/ec/ec_kmeth.o", + "crypto/ec/ec_lib.o", + "crypto/ec/ec_mult.o", + "crypto/ec/ec_oct.o", + "crypto/ec/ec_pmeth.o", + "crypto/ec/ec_print.o", + "crypto/ec/ecdh_kdf.o", + "crypto/ec/ecdh_ossl.o", + "crypto/ec/ecdsa_ossl.o", + "crypto/ec/ecdsa_sign.o", + "crypto/ec/ecdsa_vrf.o", + "crypto/ec/eck_prn.o", + "crypto/ec/ecp_mont.o", + "crypto/ec/ecp_nist.o", + "crypto/ec/ecp_nistp224.o", + "crypto/ec/ecp_nistp256.o", + "crypto/ec/ecp_nistp521.o", + "crypto/ec/ecp_nistputil.o", + "crypto/ec/ecp_oct.o", + "crypto/ec/ecp_smpl.o", + "crypto/ec/ecx_meth.o", + "crypto/engine/eng_all.o", + "crypto/engine/eng_cnf.o", + "crypto/engine/eng_ctrl.o", + "crypto/engine/eng_dyn.o", + "crypto/engine/eng_err.o", + "crypto/engine/eng_fat.o", + "crypto/engine/eng_init.o", + "crypto/engine/eng_lib.o", + "crypto/engine/eng_list.o", + "crypto/engine/eng_openssl.o", + "crypto/engine/eng_pkey.o", + "crypto/engine/eng_rdrand.o", + "crypto/engine/eng_table.o", + "crypto/engine/tb_asnmth.o", + "crypto/engine/tb_cipher.o", + "crypto/engine/tb_dh.o", + "crypto/engine/tb_digest.o", + "crypto/engine/tb_dsa.o", + "crypto/engine/tb_eckey.o", + "crypto/engine/tb_pkmeth.o", + "crypto/engine/tb_rand.o", + "crypto/engine/tb_rsa.o", + "crypto/err/err.o", + "crypto/err/err_all.o", + "crypto/err/err_prn.o", + "crypto/evp/bio_b64.o", + "crypto/evp/bio_enc.o", + "crypto/evp/bio_md.o", + "crypto/evp/bio_ok.o", + "crypto/evp/c_allc.o", + "crypto/evp/c_alld.o", + "crypto/evp/cmeth_lib.o", + "crypto/evp/digest.o", + "crypto/evp/e_aes.o", + "crypto/evp/e_aes_cbc_hmac_sha1.o", + "crypto/evp/e_aes_cbc_hmac_sha256.o", + "crypto/evp/e_aria.o", + "crypto/evp/e_bf.o", + "crypto/evp/e_camellia.o", + "crypto/evp/e_cast.o", + "crypto/evp/e_chacha20_poly1305.o", + "crypto/evp/e_des.o", + "crypto/evp/e_des3.o", + "crypto/evp/e_idea.o", + "crypto/evp/e_null.o", + "crypto/evp/e_old.o", + "crypto/evp/e_rc2.o", + "crypto/evp/e_rc4.o", + "crypto/evp/e_rc4_hmac_md5.o", + "crypto/evp/e_rc5.o", + "crypto/evp/e_seed.o", + "crypto/evp/e_sm4.o", + "crypto/evp/e_xcbc_d.o", + "crypto/evp/encode.o", + "crypto/evp/evp_cnf.o", + "crypto/evp/evp_enc.o", + "crypto/evp/evp_err.o", + "crypto/evp/evp_key.o", + "crypto/evp/evp_lib.o", + "crypto/evp/evp_pbe.o", + "crypto/evp/evp_pkey.o", + "crypto/evp/m_md2.o", + "crypto/evp/m_md4.o", + "crypto/evp/m_md5.o", + "crypto/evp/m_md5_sha1.o", + "crypto/evp/m_mdc2.o", + "crypto/evp/m_null.o", + "crypto/evp/m_ripemd.o", + "crypto/evp/m_sha1.o", + "crypto/evp/m_sha3.o", + "crypto/evp/m_sigver.o", + "crypto/evp/m_wp.o", + "crypto/evp/names.o", + "crypto/evp/p5_crpt.o", + "crypto/evp/p5_crpt2.o", + "crypto/evp/p_dec.o", + "crypto/evp/p_enc.o", + "crypto/evp/p_lib.o", + "crypto/evp/p_open.o", + "crypto/evp/p_seal.o", + "crypto/evp/p_sign.o", + "crypto/evp/p_verify.o", + "crypto/evp/pbe_scrypt.o", + "crypto/evp/pmeth_fn.o", + "crypto/evp/pmeth_gn.o", + "crypto/evp/pmeth_lib.o", + "crypto/ex_data.o", + "crypto/getenv.o", + "crypto/hmac/hm_ameth.o", + "crypto/hmac/hm_pmeth.o", + "crypto/hmac/hmac.o", + "crypto/idea/i_cbc.o", + "crypto/idea/i_cfb64.o", + "crypto/idea/i_ecb.o", + "crypto/idea/i_ofb64.o", + "crypto/idea/i_skey.o", + "crypto/init.o", + "crypto/kdf/hkdf.o", + "crypto/kdf/kdf_err.o", + "crypto/kdf/scrypt.o", + "crypto/kdf/tls1_prf.o", + "crypto/lhash/lh_stats.o", + "crypto/lhash/lhash.o", + "crypto/md4/md4_dgst.o", + "crypto/md4/md4_one.o", + "crypto/md5/md5_dgst.o", + "crypto/md5/md5_one.o", + "crypto/mdc2/mdc2_one.o", + "crypto/mdc2/mdc2dgst.o", + "crypto/mem.o", + "crypto/mem_clr.o", + "crypto/mem_dbg.o", + "crypto/mem_sec.o", + "crypto/modes/cbc128.o", + "crypto/modes/ccm128.o", + "crypto/modes/cfb128.o", + "crypto/modes/ctr128.o", + "crypto/modes/cts128.o", + "crypto/modes/gcm128.o", + "crypto/modes/ocb128.o", + "crypto/modes/ofb128.o", + "crypto/modes/wrap128.o", + "crypto/modes/xts128.o", + "crypto/o_dir.o", + "crypto/o_fips.o", + "crypto/o_fopen.o", + "crypto/o_init.o", + "crypto/o_str.o", + "crypto/o_time.o", + "crypto/objects/o_names.o", + "crypto/objects/obj_dat.o", + "crypto/objects/obj_err.o", + "crypto/objects/obj_lib.o", + "crypto/objects/obj_xref.o", + "crypto/ocsp/ocsp_asn.o", + "crypto/ocsp/ocsp_cl.o", + "crypto/ocsp/ocsp_err.o", + "crypto/ocsp/ocsp_ext.o", + "crypto/ocsp/ocsp_ht.o", + "crypto/ocsp/ocsp_lib.o", + "crypto/ocsp/ocsp_prn.o", + "crypto/ocsp/ocsp_srv.o", + "crypto/ocsp/ocsp_vfy.o", + "crypto/ocsp/v3_ocsp.o", + "crypto/pem/pem_all.o", + "crypto/pem/pem_err.o", + "crypto/pem/pem_info.o", + "crypto/pem/pem_lib.o", + "crypto/pem/pem_oth.o", + "crypto/pem/pem_pk8.o", + "crypto/pem/pem_pkey.o", + "crypto/pem/pem_sign.o", + "crypto/pem/pem_x509.o", + "crypto/pem/pem_xaux.o", + "crypto/pem/pvkfmt.o", + "crypto/pkcs12/p12_add.o", + "crypto/pkcs12/p12_asn.o", + "crypto/pkcs12/p12_attr.o", + "crypto/pkcs12/p12_crpt.o", + "crypto/pkcs12/p12_crt.o", + "crypto/pkcs12/p12_decr.o", + "crypto/pkcs12/p12_init.o", + "crypto/pkcs12/p12_key.o", + "crypto/pkcs12/p12_kiss.o", + "crypto/pkcs12/p12_mutl.o", + "crypto/pkcs12/p12_npas.o", + "crypto/pkcs12/p12_p8d.o", + "crypto/pkcs12/p12_p8e.o", + "crypto/pkcs12/p12_sbag.o", + "crypto/pkcs12/p12_utl.o", + "crypto/pkcs12/pk12err.o", + "crypto/pkcs7/bio_pk7.o", + "crypto/pkcs7/pk7_asn1.o", + "crypto/pkcs7/pk7_attr.o", + "crypto/pkcs7/pk7_doit.o", + "crypto/pkcs7/pk7_lib.o", + "crypto/pkcs7/pk7_mime.o", + "crypto/pkcs7/pk7_smime.o", + "crypto/pkcs7/pkcs7err.o", + "crypto/poly1305/poly1305-mips.o", + "crypto/poly1305/poly1305.o", + "crypto/poly1305/poly1305_ameth.o", + "crypto/poly1305/poly1305_pmeth.o", + "crypto/rand/drbg_ctr.o", + "crypto/rand/drbg_lib.o", + "crypto/rand/rand_egd.o", + "crypto/rand/rand_err.o", + "crypto/rand/rand_lib.o", + "crypto/rand/rand_unix.o", + "crypto/rand/rand_vms.o", + "crypto/rand/rand_win.o", + "crypto/rand/randfile.o", + "crypto/rc2/rc2_cbc.o", + "crypto/rc2/rc2_ecb.o", + "crypto/rc2/rc2_skey.o", + "crypto/rc2/rc2cfb64.o", + "crypto/rc2/rc2ofb64.o", + "crypto/rc4/rc4_enc.o", + "crypto/rc4/rc4_skey.o", + "crypto/ripemd/rmd_dgst.o", + "crypto/ripemd/rmd_one.o", + "crypto/rsa/rsa_ameth.o", + "crypto/rsa/rsa_asn1.o", + "crypto/rsa/rsa_chk.o", + "crypto/rsa/rsa_crpt.o", + "crypto/rsa/rsa_depr.o", + "crypto/rsa/rsa_err.o", + "crypto/rsa/rsa_gen.o", + "crypto/rsa/rsa_lib.o", + "crypto/rsa/rsa_meth.o", + "crypto/rsa/rsa_mp.o", + "crypto/rsa/rsa_none.o", + "crypto/rsa/rsa_oaep.o", + "crypto/rsa/rsa_ossl.o", + "crypto/rsa/rsa_pk1.o", + "crypto/rsa/rsa_pmeth.o", + "crypto/rsa/rsa_prn.o", + "crypto/rsa/rsa_pss.o", + "crypto/rsa/rsa_saos.o", + "crypto/rsa/rsa_sign.o", + "crypto/rsa/rsa_ssl.o", + "crypto/rsa/rsa_x931.o", + "crypto/rsa/rsa_x931g.o", + "crypto/seed/seed.o", + "crypto/seed/seed_cbc.o", + "crypto/seed/seed_cfb.o", + "crypto/seed/seed_ecb.o", + "crypto/seed/seed_ofb.o", + "crypto/sha/keccak1600.o", + "crypto/sha/sha1-mips.o", + "crypto/sha/sha1_one.o", + "crypto/sha/sha1dgst.o", + "crypto/sha/sha256-mips.o", + "crypto/sha/sha256.o", + "crypto/sha/sha512-mips.o", + "crypto/sha/sha512.o", + "crypto/siphash/siphash.o", + "crypto/siphash/siphash_ameth.o", + "crypto/siphash/siphash_pmeth.o", + "crypto/sm2/sm2_crypt.o", + "crypto/sm2/sm2_err.o", + "crypto/sm2/sm2_pmeth.o", + "crypto/sm2/sm2_sign.o", + "crypto/sm3/m_sm3.o", + "crypto/sm3/sm3.o", + "crypto/sm4/sm4.o", + "crypto/srp/srp_lib.o", + "crypto/srp/srp_vfy.o", + "crypto/stack/stack.o", + "crypto/store/loader_file.o", + "crypto/store/store_err.o", + "crypto/store/store_init.o", + "crypto/store/store_lib.o", + "crypto/store/store_register.o", + "crypto/store/store_strings.o", + "crypto/threads_none.o", + "crypto/threads_pthread.o", + "crypto/threads_win.o", + "crypto/ts/ts_asn1.o", + "crypto/ts/ts_conf.o", + "crypto/ts/ts_err.o", + "crypto/ts/ts_lib.o", + "crypto/ts/ts_req_print.o", + "crypto/ts/ts_req_utils.o", + "crypto/ts/ts_rsp_print.o", + "crypto/ts/ts_rsp_sign.o", + "crypto/ts/ts_rsp_utils.o", + "crypto/ts/ts_rsp_verify.o", + "crypto/ts/ts_verify_ctx.o", + "crypto/txt_db/txt_db.o", + "crypto/ui/ui_err.o", + "crypto/ui/ui_lib.o", + "crypto/ui/ui_null.o", + "crypto/ui/ui_openssl.o", + "crypto/ui/ui_util.o", + "crypto/uid.o", + "crypto/whrlpool/wp_block.o", + "crypto/whrlpool/wp_dgst.o", + "crypto/x509/by_dir.o", + "crypto/x509/by_file.o", + "crypto/x509/t_crl.o", + "crypto/x509/t_req.o", + "crypto/x509/t_x509.o", + "crypto/x509/x509_att.o", + "crypto/x509/x509_cmp.o", + "crypto/x509/x509_d2.o", + "crypto/x509/x509_def.o", + "crypto/x509/x509_err.o", + "crypto/x509/x509_ext.o", + "crypto/x509/x509_lu.o", + "crypto/x509/x509_meth.o", + "crypto/x509/x509_obj.o", + "crypto/x509/x509_r2x.o", + "crypto/x509/x509_req.o", + "crypto/x509/x509_set.o", + "crypto/x509/x509_trs.o", + "crypto/x509/x509_txt.o", + "crypto/x509/x509_v3.o", + "crypto/x509/x509_vfy.o", + "crypto/x509/x509_vpm.o", + "crypto/x509/x509cset.o", + "crypto/x509/x509name.o", + "crypto/x509/x509rset.o", + "crypto/x509/x509spki.o", + "crypto/x509/x509type.o", + "crypto/x509/x_all.o", + "crypto/x509/x_attrib.o", + "crypto/x509/x_crl.o", + "crypto/x509/x_exten.o", + "crypto/x509/x_name.o", + "crypto/x509/x_pubkey.o", + "crypto/x509/x_req.o", + "crypto/x509/x_x509.o", + "crypto/x509/x_x509a.o", + "crypto/x509v3/pcy_cache.o", + "crypto/x509v3/pcy_data.o", + "crypto/x509v3/pcy_lib.o", + "crypto/x509v3/pcy_map.o", + "crypto/x509v3/pcy_node.o", + "crypto/x509v3/pcy_tree.o", + "crypto/x509v3/v3_addr.o", + "crypto/x509v3/v3_admis.o", + "crypto/x509v3/v3_akey.o", + "crypto/x509v3/v3_akeya.o", + "crypto/x509v3/v3_alt.o", + "crypto/x509v3/v3_asid.o", + "crypto/x509v3/v3_bcons.o", + "crypto/x509v3/v3_bitst.o", + "crypto/x509v3/v3_conf.o", + "crypto/x509v3/v3_cpols.o", + "crypto/x509v3/v3_crld.o", + "crypto/x509v3/v3_enum.o", + "crypto/x509v3/v3_extku.o", + "crypto/x509v3/v3_genn.o", + "crypto/x509v3/v3_ia5.o", + "crypto/x509v3/v3_info.o", + "crypto/x509v3/v3_int.o", + "crypto/x509v3/v3_lib.o", + "crypto/x509v3/v3_ncons.o", + "crypto/x509v3/v3_pci.o", + "crypto/x509v3/v3_pcia.o", + "crypto/x509v3/v3_pcons.o", + "crypto/x509v3/v3_pku.o", + "crypto/x509v3/v3_pmaps.o", + "crypto/x509v3/v3_prn.o", + "crypto/x509v3/v3_purp.o", + "crypto/x509v3/v3_skey.o", + "crypto/x509v3/v3_sxnet.o", + "crypto/x509v3/v3_tlsf.o", + "crypto/x509v3/v3_utl.o", + "crypto/x509v3/v3err.o", + "engines/e_capi.o", + "engines/e_padlock.o", + ], + "libssl" => + [ + "ssl/bio_ssl.o", + "ssl/d1_lib.o", + "ssl/d1_msg.o", + "ssl/d1_srtp.o", + "ssl/methods.o", + "ssl/packet.o", + "ssl/pqueue.o", + "ssl/record/dtls1_bitmap.o", + "ssl/record/rec_layer_d1.o", + "ssl/record/rec_layer_s3.o", + "ssl/record/ssl3_buffer.o", + "ssl/record/ssl3_record.o", + "ssl/record/ssl3_record_tls13.o", + "ssl/s3_cbc.o", + "ssl/s3_enc.o", + "ssl/s3_lib.o", + "ssl/s3_msg.o", + "ssl/ssl_asn1.o", + "ssl/ssl_cert.o", + "ssl/ssl_ciph.o", + "ssl/ssl_conf.o", + "ssl/ssl_err.o", + "ssl/ssl_init.o", + "ssl/ssl_lib.o", + "ssl/ssl_mcnf.o", + "ssl/ssl_rsa.o", + "ssl/ssl_sess.o", + "ssl/ssl_stat.o", + "ssl/ssl_txt.o", + "ssl/ssl_utst.o", + "ssl/statem/extensions.o", + "ssl/statem/extensions_clnt.o", + "ssl/statem/extensions_cust.o", + "ssl/statem/extensions_srvr.o", + "ssl/statem/statem.o", + "ssl/statem/statem_clnt.o", + "ssl/statem/statem_dtls.o", + "ssl/statem/statem_lib.o", + "ssl/statem/statem_srvr.o", + "ssl/t1_enc.o", + "ssl/t1_lib.o", + "ssl/t1_trce.o", + "ssl/tls13_enc.o", + "ssl/tls_srp.o", + ], + "ssl/bio_ssl.o" => + [ + "ssl/bio_ssl.c", + ], + "ssl/d1_lib.o" => + [ + "ssl/d1_lib.c", + ], + "ssl/d1_msg.o" => + [ + "ssl/d1_msg.c", + ], + "ssl/d1_srtp.o" => + [ + "ssl/d1_srtp.c", + ], + "ssl/methods.o" => + [ + "ssl/methods.c", + ], + "ssl/packet.o" => + [ + "ssl/packet.c", + ], + "ssl/pqueue.o" => + [ + "ssl/pqueue.c", + ], + "ssl/record/dtls1_bitmap.o" => + [ + "ssl/record/dtls1_bitmap.c", + ], + "ssl/record/rec_layer_d1.o" => + [ + "ssl/record/rec_layer_d1.c", + ], + "ssl/record/rec_layer_s3.o" => + [ + "ssl/record/rec_layer_s3.c", + ], + "ssl/record/ssl3_buffer.o" => + [ + "ssl/record/ssl3_buffer.c", + ], + "ssl/record/ssl3_record.o" => + [ + "ssl/record/ssl3_record.c", + ], + "ssl/record/ssl3_record_tls13.o" => + [ + "ssl/record/ssl3_record_tls13.c", + ], + "ssl/s3_cbc.o" => + [ + "ssl/s3_cbc.c", + ], + "ssl/s3_enc.o" => + [ + "ssl/s3_enc.c", + ], + "ssl/s3_lib.o" => + [ + "ssl/s3_lib.c", + ], + "ssl/s3_msg.o" => + [ + "ssl/s3_msg.c", + ], + "ssl/ssl_asn1.o" => + [ + "ssl/ssl_asn1.c", + ], + "ssl/ssl_cert.o" => + [ + "ssl/ssl_cert.c", + ], + "ssl/ssl_ciph.o" => + [ + "ssl/ssl_ciph.c", + ], + "ssl/ssl_conf.o" => + [ + "ssl/ssl_conf.c", + ], + "ssl/ssl_err.o" => + [ + "ssl/ssl_err.c", + ], + "ssl/ssl_init.o" => + [ + "ssl/ssl_init.c", + ], + "ssl/ssl_lib.o" => + [ + "ssl/ssl_lib.c", + ], + "ssl/ssl_mcnf.o" => + [ + "ssl/ssl_mcnf.c", + ], + "ssl/ssl_rsa.o" => + [ + "ssl/ssl_rsa.c", + ], + "ssl/ssl_sess.o" => + [ + "ssl/ssl_sess.c", + ], + "ssl/ssl_stat.o" => + [ + "ssl/ssl_stat.c", + ], + "ssl/ssl_txt.o" => + [ + "ssl/ssl_txt.c", + ], + "ssl/ssl_utst.o" => + [ + "ssl/ssl_utst.c", + ], + "ssl/statem/extensions.o" => + [ + "ssl/statem/extensions.c", + ], + "ssl/statem/extensions_clnt.o" => + [ + "ssl/statem/extensions_clnt.c", + ], + "ssl/statem/extensions_cust.o" => + [ + "ssl/statem/extensions_cust.c", + ], + "ssl/statem/extensions_srvr.o" => + [ + "ssl/statem/extensions_srvr.c", + ], + "ssl/statem/statem.o" => + [ + "ssl/statem/statem.c", + ], + "ssl/statem/statem_clnt.o" => + [ + "ssl/statem/statem_clnt.c", + ], + "ssl/statem/statem_dtls.o" => + [ + "ssl/statem/statem_dtls.c", + ], + "ssl/statem/statem_lib.o" => + [ + "ssl/statem/statem_lib.c", + ], + "ssl/statem/statem_srvr.o" => + [ + "ssl/statem/statem_srvr.c", + ], + "ssl/t1_enc.o" => + [ + "ssl/t1_enc.c", + ], + "ssl/t1_lib.o" => + [ + "ssl/t1_lib.c", + ], + "ssl/t1_trce.o" => + [ + "ssl/t1_trce.c", + ], + "ssl/tls13_enc.o" => + [ + "ssl/tls13_enc.c", + ], + "ssl/tls_srp.o" => + [ + "ssl/tls_srp.c", + ], + "test/aborttest" => + [ + "test/aborttest.o", + ], + "test/aborttest.o" => + [ + "test/aborttest.c", + ], + "test/afalgtest" => + [ + "test/afalgtest.o", + ], + "test/afalgtest.o" => + [ + "test/afalgtest.c", + ], + "test/asn1_decode_test" => + [ + "test/asn1_decode_test.o", + ], + "test/asn1_decode_test.o" => + [ + "test/asn1_decode_test.c", + ], + "test/asn1_encode_test" => + [ + "test/asn1_encode_test.o", + ], + "test/asn1_encode_test.o" => + [ + "test/asn1_encode_test.c", + ], + "test/asn1_internal_test" => + [ + "test/asn1_internal_test.o", + ], + "test/asn1_internal_test.o" => + [ + "test/asn1_internal_test.c", + ], + "test/asn1_string_table_test" => + [ + "test/asn1_string_table_test.o", + ], + "test/asn1_string_table_test.o" => + [ + "test/asn1_string_table_test.c", + ], + "test/asn1_time_test" => + [ + "test/asn1_time_test.o", + ], + "test/asn1_time_test.o" => + [ + "test/asn1_time_test.c", + ], + "test/asynciotest" => + [ + "test/asynciotest.o", + "test/ssltestlib.o", + ], + "test/asynciotest.o" => + [ + "test/asynciotest.c", + ], + "test/asynctest" => + [ + "test/asynctest.o", + ], + "test/asynctest.o" => + [ + "test/asynctest.c", + ], + "test/bad_dtls_test" => + [ + "test/bad_dtls_test.o", + ], + "test/bad_dtls_test.o" => + [ + "test/bad_dtls_test.c", + ], + "test/bftest" => + [ + "test/bftest.o", + ], + "test/bftest.o" => + [ + "test/bftest.c", + ], + "test/bio_callback_test" => + [ + "test/bio_callback_test.o", + ], + "test/bio_callback_test.o" => + [ + "test/bio_callback_test.c", + ], + "test/bio_enc_test" => + [ + "test/bio_enc_test.o", + ], + "test/bio_enc_test.o" => + [ + "test/bio_enc_test.c", + ], + "test/bio_memleak_test" => + [ + "test/bio_memleak_test.o", + ], + "test/bio_memleak_test.o" => + [ + "test/bio_memleak_test.c", + ], + "test/bioprinttest" => + [ + "test/bioprinttest.o", + ], + "test/bioprinttest.o" => + [ + "test/bioprinttest.c", + ], + "test/bntest" => + [ + "test/bntest.o", + ], + "test/bntest.o" => + [ + "test/bntest.c", + ], + "test/buildtest_aes" => + [ + "test/buildtest_aes.o", + ], + "test/buildtest_aes.o" => + [ + "test/buildtest_aes.c", + ], + "test/buildtest_asn1" => + [ + "test/buildtest_asn1.o", + ], + "test/buildtest_asn1.o" => + [ + "test/buildtest_asn1.c", + ], + "test/buildtest_asn1t" => + [ + "test/buildtest_asn1t.o", + ], + "test/buildtest_asn1t.o" => + [ + "test/buildtest_asn1t.c", + ], + "test/buildtest_async" => + [ + "test/buildtest_async.o", + ], + "test/buildtest_async.o" => + [ + "test/buildtest_async.c", + ], + "test/buildtest_bio" => + [ + "test/buildtest_bio.o", + ], + "test/buildtest_bio.o" => + [ + "test/buildtest_bio.c", + ], + "test/buildtest_blowfish" => + [ + "test/buildtest_blowfish.o", + ], + "test/buildtest_blowfish.o" => + [ + "test/buildtest_blowfish.c", + ], + "test/buildtest_bn" => + [ + "test/buildtest_bn.o", + ], + "test/buildtest_bn.o" => + [ + "test/buildtest_bn.c", + ], + "test/buildtest_buffer" => + [ + "test/buildtest_buffer.o", + ], + "test/buildtest_buffer.o" => + [ + "test/buildtest_buffer.c", + ], + "test/buildtest_camellia" => + [ + "test/buildtest_camellia.o", + ], + "test/buildtest_camellia.o" => + [ + "test/buildtest_camellia.c", + ], + "test/buildtest_cast" => + [ + "test/buildtest_cast.o", + ], + "test/buildtest_cast.o" => + [ + "test/buildtest_cast.c", + ], + "test/buildtest_cmac" => + [ + "test/buildtest_cmac.o", + ], + "test/buildtest_cmac.o" => + [ + "test/buildtest_cmac.c", + ], + "test/buildtest_cms" => + [ + "test/buildtest_cms.o", + ], + "test/buildtest_cms.o" => + [ + "test/buildtest_cms.c", + ], + "test/buildtest_conf" => + [ + "test/buildtest_conf.o", + ], + "test/buildtest_conf.o" => + [ + "test/buildtest_conf.c", + ], + "test/buildtest_conf_api" => + [ + "test/buildtest_conf_api.o", + ], + "test/buildtest_conf_api.o" => + [ + "test/buildtest_conf_api.c", + ], + "test/buildtest_crypto" => + [ + "test/buildtest_crypto.o", + ], + "test/buildtest_crypto.o" => + [ + "test/buildtest_crypto.c", + ], + "test/buildtest_ct" => + [ + "test/buildtest_ct.o", + ], + "test/buildtest_ct.o" => + [ + "test/buildtest_ct.c", + ], + "test/buildtest_des" => + [ + "test/buildtest_des.o", + ], + "test/buildtest_des.o" => + [ + "test/buildtest_des.c", + ], + "test/buildtest_dh" => + [ + "test/buildtest_dh.o", + ], + "test/buildtest_dh.o" => + [ + "test/buildtest_dh.c", + ], + "test/buildtest_dsa" => + [ + "test/buildtest_dsa.o", + ], + "test/buildtest_dsa.o" => + [ + "test/buildtest_dsa.c", + ], + "test/buildtest_dtls1" => + [ + "test/buildtest_dtls1.o", + ], + "test/buildtest_dtls1.o" => + [ + "test/buildtest_dtls1.c", + ], + "test/buildtest_e_os2" => + [ + "test/buildtest_e_os2.o", + ], + "test/buildtest_e_os2.o" => + [ + "test/buildtest_e_os2.c", + ], + "test/buildtest_ebcdic" => + [ + "test/buildtest_ebcdic.o", + ], + "test/buildtest_ebcdic.o" => + [ + "test/buildtest_ebcdic.c", + ], + "test/buildtest_ec" => + [ + "test/buildtest_ec.o", + ], + "test/buildtest_ec.o" => + [ + "test/buildtest_ec.c", + ], + "test/buildtest_ecdh" => + [ + "test/buildtest_ecdh.o", + ], + "test/buildtest_ecdh.o" => + [ + "test/buildtest_ecdh.c", + ], + "test/buildtest_ecdsa" => + [ + "test/buildtest_ecdsa.o", + ], + "test/buildtest_ecdsa.o" => + [ + "test/buildtest_ecdsa.c", + ], + "test/buildtest_engine" => + [ + "test/buildtest_engine.o", + ], + "test/buildtest_engine.o" => + [ + "test/buildtest_engine.c", + ], + "test/buildtest_evp" => + [ + "test/buildtest_evp.o", + ], + "test/buildtest_evp.o" => + [ + "test/buildtest_evp.c", + ], + "test/buildtest_hmac" => + [ + "test/buildtest_hmac.o", + ], + "test/buildtest_hmac.o" => + [ + "test/buildtest_hmac.c", + ], + "test/buildtest_idea" => + [ + "test/buildtest_idea.o", + ], + "test/buildtest_idea.o" => + [ + "test/buildtest_idea.c", + ], + "test/buildtest_kdf" => + [ + "test/buildtest_kdf.o", + ], + "test/buildtest_kdf.o" => + [ + "test/buildtest_kdf.c", + ], + "test/buildtest_lhash" => + [ + "test/buildtest_lhash.o", + ], + "test/buildtest_lhash.o" => + [ + "test/buildtest_lhash.c", + ], + "test/buildtest_md4" => + [ + "test/buildtest_md4.o", + ], + "test/buildtest_md4.o" => + [ + "test/buildtest_md4.c", + ], + "test/buildtest_md5" => + [ + "test/buildtest_md5.o", + ], + "test/buildtest_md5.o" => + [ + "test/buildtest_md5.c", + ], + "test/buildtest_mdc2" => + [ + "test/buildtest_mdc2.o", + ], + "test/buildtest_mdc2.o" => + [ + "test/buildtest_mdc2.c", + ], + "test/buildtest_modes" => + [ + "test/buildtest_modes.o", + ], + "test/buildtest_modes.o" => + [ + "test/buildtest_modes.c", + ], + "test/buildtest_obj_mac" => + [ + "test/buildtest_obj_mac.o", + ], + "test/buildtest_obj_mac.o" => + [ + "test/buildtest_obj_mac.c", + ], + "test/buildtest_objects" => + [ + "test/buildtest_objects.o", + ], + "test/buildtest_objects.o" => + [ + "test/buildtest_objects.c", + ], + "test/buildtest_ocsp" => + [ + "test/buildtest_ocsp.o", + ], + "test/buildtest_ocsp.o" => + [ + "test/buildtest_ocsp.c", + ], + "test/buildtest_opensslv" => + [ + "test/buildtest_opensslv.o", + ], + "test/buildtest_opensslv.o" => + [ + "test/buildtest_opensslv.c", + ], + "test/buildtest_ossl_typ" => + [ + "test/buildtest_ossl_typ.o", + ], + "test/buildtest_ossl_typ.o" => + [ + "test/buildtest_ossl_typ.c", + ], + "test/buildtest_pem" => + [ + "test/buildtest_pem.o", + ], + "test/buildtest_pem.o" => + [ + "test/buildtest_pem.c", + ], + "test/buildtest_pem2" => + [ + "test/buildtest_pem2.o", + ], + "test/buildtest_pem2.o" => + [ + "test/buildtest_pem2.c", + ], + "test/buildtest_pkcs12" => + [ + "test/buildtest_pkcs12.o", + ], + "test/buildtest_pkcs12.o" => + [ + "test/buildtest_pkcs12.c", + ], + "test/buildtest_pkcs7" => + [ + "test/buildtest_pkcs7.o", + ], + "test/buildtest_pkcs7.o" => + [ + "test/buildtest_pkcs7.c", + ], + "test/buildtest_rand" => + [ + "test/buildtest_rand.o", + ], + "test/buildtest_rand.o" => + [ + "test/buildtest_rand.c", + ], + "test/buildtest_rand_drbg" => + [ + "test/buildtest_rand_drbg.o", + ], + "test/buildtest_rand_drbg.o" => + [ + "test/buildtest_rand_drbg.c", + ], + "test/buildtest_rc2" => + [ + "test/buildtest_rc2.o", + ], + "test/buildtest_rc2.o" => + [ + "test/buildtest_rc2.c", + ], + "test/buildtest_rc4" => + [ + "test/buildtest_rc4.o", + ], + "test/buildtest_rc4.o" => + [ + "test/buildtest_rc4.c", + ], + "test/buildtest_ripemd" => + [ + "test/buildtest_ripemd.o", + ], + "test/buildtest_ripemd.o" => + [ + "test/buildtest_ripemd.c", + ], + "test/buildtest_rsa" => + [ + "test/buildtest_rsa.o", + ], + "test/buildtest_rsa.o" => + [ + "test/buildtest_rsa.c", + ], + "test/buildtest_safestack" => + [ + "test/buildtest_safestack.o", + ], + "test/buildtest_safestack.o" => + [ + "test/buildtest_safestack.c", + ], + "test/buildtest_seed" => + [ + "test/buildtest_seed.o", + ], + "test/buildtest_seed.o" => + [ + "test/buildtest_seed.c", + ], + "test/buildtest_sha" => + [ + "test/buildtest_sha.o", + ], + "test/buildtest_sha.o" => + [ + "test/buildtest_sha.c", + ], + "test/buildtest_srp" => + [ + "test/buildtest_srp.o", + ], + "test/buildtest_srp.o" => + [ + "test/buildtest_srp.c", + ], + "test/buildtest_srtp" => + [ + "test/buildtest_srtp.o", + ], + "test/buildtest_srtp.o" => + [ + "test/buildtest_srtp.c", + ], + "test/buildtest_ssl" => + [ + "test/buildtest_ssl.o", + ], + "test/buildtest_ssl.o" => + [ + "test/buildtest_ssl.c", + ], + "test/buildtest_ssl2" => + [ + "test/buildtest_ssl2.o", + ], + "test/buildtest_ssl2.o" => + [ + "test/buildtest_ssl2.c", + ], + "test/buildtest_stack" => + [ + "test/buildtest_stack.o", + ], + "test/buildtest_stack.o" => + [ + "test/buildtest_stack.c", + ], + "test/buildtest_store" => + [ + "test/buildtest_store.o", + ], + "test/buildtest_store.o" => + [ + "test/buildtest_store.c", + ], + "test/buildtest_symhacks" => + [ + "test/buildtest_symhacks.o", + ], + "test/buildtest_symhacks.o" => + [ + "test/buildtest_symhacks.c", + ], + "test/buildtest_tls1" => + [ + "test/buildtest_tls1.o", + ], + "test/buildtest_tls1.o" => + [ + "test/buildtest_tls1.c", + ], + "test/buildtest_ts" => + [ + "test/buildtest_ts.o", + ], + "test/buildtest_ts.o" => + [ + "test/buildtest_ts.c", + ], + "test/buildtest_txt_db" => + [ + "test/buildtest_txt_db.o", + ], + "test/buildtest_txt_db.o" => + [ + "test/buildtest_txt_db.c", + ], + "test/buildtest_ui" => + [ + "test/buildtest_ui.o", + ], + "test/buildtest_ui.o" => + [ + "test/buildtest_ui.c", + ], + "test/buildtest_whrlpool" => + [ + "test/buildtest_whrlpool.o", + ], + "test/buildtest_whrlpool.o" => + [ + "test/buildtest_whrlpool.c", + ], + "test/buildtest_x509" => + [ + "test/buildtest_x509.o", + ], + "test/buildtest_x509.o" => + [ + "test/buildtest_x509.c", + ], + "test/buildtest_x509_vfy" => + [ + "test/buildtest_x509_vfy.o", + ], + "test/buildtest_x509_vfy.o" => + [ + "test/buildtest_x509_vfy.c", + ], + "test/buildtest_x509v3" => + [ + "test/buildtest_x509v3.o", + ], + "test/buildtest_x509v3.o" => + [ + "test/buildtest_x509v3.c", + ], + "test/casttest" => + [ + "test/casttest.o", + ], + "test/casttest.o" => + [ + "test/casttest.c", + ], + "test/chacha_internal_test" => + [ + "test/chacha_internal_test.o", + ], + "test/chacha_internal_test.o" => + [ + "test/chacha_internal_test.c", + ], + "test/cipher_overhead_test" => + [ + "test/cipher_overhead_test.o", + ], + "test/cipher_overhead_test.o" => + [ + "test/cipher_overhead_test.c", + ], + "test/cipherbytes_test" => + [ + "test/cipherbytes_test.o", + ], + "test/cipherbytes_test.o" => + [ + "test/cipherbytes_test.c", + ], + "test/cipherlist_test" => + [ + "test/cipherlist_test.o", + ], + "test/cipherlist_test.o" => + [ + "test/cipherlist_test.c", + ], + "test/ciphername_test" => + [ + "test/ciphername_test.o", + ], + "test/ciphername_test.o" => + [ + "test/ciphername_test.c", + ], + "test/clienthellotest" => + [ + "test/clienthellotest.o", + ], + "test/clienthellotest.o" => + [ + "test/clienthellotest.c", + ], + "test/cmsapitest" => + [ + "test/cmsapitest.o", + ], + "test/cmsapitest.o" => + [ + "test/cmsapitest.c", + ], + "test/conf_include_test" => + [ + "test/conf_include_test.o", + ], + "test/conf_include_test.o" => + [ + "test/conf_include_test.c", + ], + "test/constant_time_test" => + [ + "test/constant_time_test.o", + ], + "test/constant_time_test.o" => + [ + "test/constant_time_test.c", + ], + "test/crltest" => + [ + "test/crltest.o", + ], + "test/crltest.o" => + [ + "test/crltest.c", + ], + "test/ct_test" => + [ + "test/ct_test.o", + ], + "test/ct_test.o" => + [ + "test/ct_test.c", + ], + "test/ctype_internal_test" => + [ + "test/ctype_internal_test.o", + ], + "test/ctype_internal_test.o" => + [ + "test/ctype_internal_test.c", + ], + "test/curve448_internal_test" => + [ + "test/curve448_internal_test.o", + ], + "test/curve448_internal_test.o" => + [ + "test/curve448_internal_test.c", + ], + "test/d2i_test" => + [ + "test/d2i_test.o", + ], + "test/d2i_test.o" => + [ + "test/d2i_test.c", + ], + "test/danetest" => + [ + "test/danetest.o", + ], + "test/danetest.o" => + [ + "test/danetest.c", + ], + "test/destest" => + [ + "test/destest.o", + ], + "test/destest.o" => + [ + "test/destest.c", + ], + "test/dhtest" => + [ + "test/dhtest.o", + ], + "test/dhtest.o" => + [ + "test/dhtest.c", + ], + "test/drbg_cavs_data.o" => + [ + "test/drbg_cavs_data.c", + ], + "test/drbg_cavs_test" => + [ + "test/drbg_cavs_data.o", + "test/drbg_cavs_test.o", + ], + "test/drbg_cavs_test.o" => + [ + "test/drbg_cavs_test.c", + ], + "test/drbgtest" => + [ + "test/drbgtest.o", + ], + "test/drbgtest.o" => + [ + "test/drbgtest.c", + ], + "test/dsa_no_digest_size_test" => + [ + "test/dsa_no_digest_size_test.o", + ], + "test/dsa_no_digest_size_test.o" => + [ + "test/dsa_no_digest_size_test.c", + ], + "test/dsatest" => + [ + "test/dsatest.o", + ], + "test/dsatest.o" => + [ + "test/dsatest.c", + ], + "test/dtls_mtu_test" => + [ + "test/dtls_mtu_test.o", + "test/ssltestlib.o", + ], + "test/dtls_mtu_test.o" => + [ + "test/dtls_mtu_test.c", + ], + "test/dtlstest" => + [ + "test/dtlstest.o", + "test/ssltestlib.o", + ], + "test/dtlstest.o" => + [ + "test/dtlstest.c", + ], + "test/dtlsv1listentest" => + [ + "test/dtlsv1listentest.o", + ], + "test/dtlsv1listentest.o" => + [ + "test/dtlsv1listentest.c", + ], + "test/ec_internal_test" => + [ + "test/ec_internal_test.o", + ], + "test/ec_internal_test.o" => + [ + "test/ec_internal_test.c", + ], + "test/ecdsatest" => + [ + "test/ecdsatest.o", + ], + "test/ecdsatest.o" => + [ + "test/ecdsatest.c", + ], + "test/ecstresstest" => + [ + "test/ecstresstest.o", + ], + "test/ecstresstest.o" => + [ + "test/ecstresstest.c", + ], + "test/ectest" => + [ + "test/ectest.o", + ], + "test/ectest.o" => + [ + "test/ectest.c", + ], + "test/enginetest" => + [ + "test/enginetest.o", + ], + "test/enginetest.o" => + [ + "test/enginetest.c", + ], + "test/errtest" => + [ + "test/errtest.o", + ], + "test/errtest.o" => + [ + "test/errtest.c", + ], + "test/evp_extra_test" => + [ + "test/evp_extra_test.o", + ], + "test/evp_extra_test.o" => + [ + "test/evp_extra_test.c", + ], + "test/evp_test" => + [ + "test/evp_test.o", + ], + "test/evp_test.o" => + [ + "test/evp_test.c", + ], + "test/exdatatest" => + [ + "test/exdatatest.o", + ], + "test/exdatatest.o" => + [ + "test/exdatatest.c", + ], + "test/exptest" => + [ + "test/exptest.o", + ], + "test/exptest.o" => + [ + "test/exptest.c", + ], + "test/fatalerrtest" => + [ + "test/fatalerrtest.o", + "test/ssltestlib.o", + ], + "test/fatalerrtest.o" => + [ + "test/fatalerrtest.c", + ], + "test/gmdifftest" => + [ + "test/gmdifftest.o", + ], + "test/gmdifftest.o" => + [ + "test/gmdifftest.c", + ], + "test/gosttest" => + [ + "test/gosttest.o", + "test/ssltestlib.o", + ], + "test/gosttest.o" => + [ + "test/gosttest.c", + ], + "test/handshake_helper.o" => + [ + "test/handshake_helper.c", + ], + "test/hmactest" => + [ + "test/hmactest.o", + ], + "test/hmactest.o" => + [ + "test/hmactest.c", + ], + "test/ideatest" => + [ + "test/ideatest.o", + ], + "test/ideatest.o" => + [ + "test/ideatest.c", + ], + "test/igetest" => + [ + "test/igetest.o", + ], + "test/igetest.o" => + [ + "test/igetest.c", + ], + "test/lhash_test" => + [ + "test/lhash_test.o", + ], + "test/lhash_test.o" => + [ + "test/lhash_test.c", + ], + "test/libtestutil.a" => + [ + "test/testutil/basic_output.o", + "test/testutil/cb.o", + "test/testutil/driver.o", + "test/testutil/format_output.o", + "test/testutil/init.o", + "test/testutil/main.o", + "test/testutil/output_helpers.o", + "test/testutil/stanza.o", + "test/testutil/tap_bio.o", + "test/testutil/test_cleanup.o", + "test/testutil/tests.o", + ], + "test/md2test" => + [ + "test/md2test.o", + ], + "test/md2test.o" => + [ + "test/md2test.c", + ], + "test/mdc2_internal_test" => + [ + "test/mdc2_internal_test.o", + ], + "test/mdc2_internal_test.o" => + [ + "test/mdc2_internal_test.c", + ], + "test/mdc2test" => + [ + "test/mdc2test.o", + ], + "test/mdc2test.o" => + [ + "test/mdc2test.c", + ], + "test/memleaktest" => + [ + "test/memleaktest.o", + ], + "test/memleaktest.o" => + [ + "test/memleaktest.c", + ], + "test/modes_internal_test" => + [ + "test/modes_internal_test.o", + ], + "test/modes_internal_test.o" => + [ + "test/modes_internal_test.c", + ], + "test/ocspapitest" => + [ + "test/ocspapitest.o", + ], + "test/ocspapitest.o" => + [ + "test/ocspapitest.c", + ], + "test/packettest" => + [ + "test/packettest.o", + ], + "test/packettest.o" => + [ + "test/packettest.c", + ], + "test/pbelutest" => + [ + "test/pbelutest.o", + ], + "test/pbelutest.o" => + [ + "test/pbelutest.c", + ], + "test/pemtest" => + [ + "test/pemtest.o", + ], + "test/pemtest.o" => + [ + "test/pemtest.c", + ], + "test/pkey_meth_kdf_test" => + [ + "test/pkey_meth_kdf_test.o", + ], + "test/pkey_meth_kdf_test.o" => + [ + "test/pkey_meth_kdf_test.c", + ], + "test/pkey_meth_test" => + [ + "test/pkey_meth_test.o", + ], + "test/pkey_meth_test.o" => + [ + "test/pkey_meth_test.c", + ], + "test/poly1305_internal_test" => + [ + "test/poly1305_internal_test.o", + ], + "test/poly1305_internal_test.o" => + [ + "test/poly1305_internal_test.c", + ], + "test/rc2test" => + [ + "test/rc2test.o", + ], + "test/rc2test.o" => + [ + "test/rc2test.c", + ], + "test/rc4test" => + [ + "test/rc4test.o", + ], + "test/rc4test.o" => + [ + "test/rc4test.c", + ], + "test/rc5test" => + [ + "test/rc5test.o", + ], + "test/rc5test.o" => + [ + "test/rc5test.c", + ], + "test/rdrand_sanitytest" => + [ + "test/rdrand_sanitytest.o", + ], + "test/rdrand_sanitytest.o" => + [ + "test/rdrand_sanitytest.c", + ], + "test/recordlentest" => + [ + "test/recordlentest.o", + "test/ssltestlib.o", + ], + "test/recordlentest.o" => + [ + "test/recordlentest.c", + ], + "test/rsa_complex" => + [ + "test/rsa_complex.o", + ], + "test/rsa_complex.o" => + [ + "test/rsa_complex.c", + ], + "test/rsa_mp_test" => + [ + "test/rsa_mp_test.o", + ], + "test/rsa_mp_test.o" => + [ + "test/rsa_mp_test.c", + ], + "test/rsa_test" => + [ + "test/rsa_test.o", + ], + "test/rsa_test.o" => + [ + "test/rsa_test.c", + ], + "test/sanitytest" => + [ + "test/sanitytest.o", + ], + "test/sanitytest.o" => + [ + "test/sanitytest.c", + ], + "test/secmemtest" => + [ + "test/secmemtest.o", + ], + "test/secmemtest.o" => + [ + "test/secmemtest.c", + ], + "test/servername_test" => + [ + "test/servername_test.o", + "test/ssltestlib.o", + ], + "test/servername_test.o" => + [ + "test/servername_test.c", + ], + "test/siphash_internal_test" => + [ + "test/siphash_internal_test.o", + ], + "test/siphash_internal_test.o" => + [ + "test/siphash_internal_test.c", + ], + "test/sm2_internal_test" => + [ + "test/sm2_internal_test.o", + ], + "test/sm2_internal_test.o" => + [ + "test/sm2_internal_test.c", + ], + "test/sm4_internal_test" => + [ + "test/sm4_internal_test.o", + ], + "test/sm4_internal_test.o" => + [ + "test/sm4_internal_test.c", + ], + "test/srptest" => + [ + "test/srptest.o", + ], + "test/srptest.o" => + [ + "test/srptest.c", + ], + "test/ssl_cert_table_internal_test" => + [ + "test/ssl_cert_table_internal_test.o", + ], + "test/ssl_cert_table_internal_test.o" => + [ + "test/ssl_cert_table_internal_test.c", + ], + "test/ssl_test" => + [ + "test/handshake_helper.o", + "test/ssl_test.o", + "test/ssl_test_ctx.o", + ], + "test/ssl_test.o" => + [ + "test/ssl_test.c", + ], + "test/ssl_test_ctx.o" => + [ + "test/ssl_test_ctx.c", + ], + "test/ssl_test_ctx_test" => + [ + "test/ssl_test_ctx.o", + "test/ssl_test_ctx_test.o", + ], + "test/ssl_test_ctx_test.o" => + [ + "test/ssl_test_ctx_test.c", + ], + "test/sslapitest" => + [ + "test/sslapitest.o", + "test/ssltestlib.o", + ], + "test/sslapitest.o" => + [ + "test/sslapitest.c", + ], + "test/sslbuffertest" => + [ + "test/sslbuffertest.o", + "test/ssltestlib.o", + ], + "test/sslbuffertest.o" => + [ + "test/sslbuffertest.c", + ], + "test/sslcorrupttest" => + [ + "test/sslcorrupttest.o", + "test/ssltestlib.o", + ], + "test/sslcorrupttest.o" => + [ + "test/sslcorrupttest.c", + ], + "test/ssltest_old" => + [ + "test/ssltest_old.o", + ], + "test/ssltest_old.o" => + [ + "test/ssltest_old.c", + ], + "test/ssltestlib.o" => + [ + "test/ssltestlib.c", + ], + "test/stack_test" => + [ + "test/stack_test.o", + ], + "test/stack_test.o" => + [ + "test/stack_test.c", + ], + "test/sysdefaulttest" => + [ + "test/sysdefaulttest.o", + ], + "test/sysdefaulttest.o" => + [ + "test/sysdefaulttest.c", + ], + "test/test_test" => + [ + "test/test_test.o", + ], + "test/test_test.o" => + [ + "test/test_test.c", + ], + "test/testutil/basic_output.o" => + [ + "test/testutil/basic_output.c", + ], + "test/testutil/cb.o" => + [ + "test/testutil/cb.c", + ], + "test/testutil/driver.o" => + [ + "test/testutil/driver.c", + ], + "test/testutil/format_output.o" => + [ + "test/testutil/format_output.c", + ], + "test/testutil/init.o" => + [ + "test/testutil/init.c", + ], + "test/testutil/main.o" => + [ + "test/testutil/main.c", + ], + "test/testutil/output_helpers.o" => + [ + "test/testutil/output_helpers.c", + ], + "test/testutil/stanza.o" => + [ + "test/testutil/stanza.c", + ], + "test/testutil/tap_bio.o" => + [ + "test/testutil/tap_bio.c", + ], + "test/testutil/test_cleanup.o" => + [ + "test/testutil/test_cleanup.c", + ], + "test/testutil/tests.o" => + [ + "test/testutil/tests.c", + ], + "test/threadstest" => + [ + "test/threadstest.o", + ], + "test/threadstest.o" => + [ + "test/threadstest.c", + ], + "test/time_offset_test" => + [ + "test/time_offset_test.o", + ], + "test/time_offset_test.o" => + [ + "test/time_offset_test.c", + ], + "test/tls13ccstest" => + [ + "test/ssltestlib.o", + "test/tls13ccstest.o", + ], + "test/tls13ccstest.o" => + [ + "test/tls13ccstest.c", + ], + "test/tls13encryptiontest" => + [ + "test/tls13encryptiontest.o", + ], + "test/tls13encryptiontest.o" => + [ + "test/tls13encryptiontest.c", + ], + "test/uitest" => + [ + "test/uitest.o", + ], + "test/uitest.o" => + [ + "test/uitest.c", + ], + "test/v3ext" => + [ + "test/v3ext.o", + ], + "test/v3ext.o" => + [ + "test/v3ext.c", + ], + "test/v3nametest" => + [ + "test/v3nametest.o", + ], + "test/v3nametest.o" => + [ + "test/v3nametest.c", + ], + "test/verify_extra_test" => + [ + "test/verify_extra_test.o", + ], + "test/verify_extra_test.o" => + [ + "test/verify_extra_test.c", + ], + "test/versions" => + [ + "test/versions.o", + ], + "test/versions.o" => + [ + "test/versions.c", + ], + "test/wpackettest" => + [ + "test/wpackettest.o", + ], + "test/wpackettest.o" => + [ + "test/wpackettest.c", + ], + "test/x509_check_cert_pkey_test" => + [ + "test/x509_check_cert_pkey_test.o", + ], + "test/x509_check_cert_pkey_test.o" => + [ + "test/x509_check_cert_pkey_test.c", + ], + "test/x509_dup_cert_test" => + [ + "test/x509_dup_cert_test.o", + ], + "test/x509_dup_cert_test.o" => + [ + "test/x509_dup_cert_test.c", + ], + "test/x509_internal_test" => + [ + "test/x509_internal_test.o", + ], + "test/x509_internal_test.o" => + [ + "test/x509_internal_test.c", + ], + "test/x509_time_test" => + [ + "test/x509_time_test.o", + ], + "test/x509_time_test.o" => + [ + "test/x509_time_test.c", + ], + "test/x509aux" => + [ + "test/x509aux.o", + ], + "test/x509aux.o" => + [ + "test/x509aux.c", + ], + "tools/c_rehash" => + [ + "tools/c_rehash.in", + ], + "util/shlib_wrap.sh" => + [ + "util/shlib_wrap.sh.in", + ], + }, +); + +# The following data is only used when this files is use as a script +my @makevars = ( + 'AR', + 'ARFLAGS', + 'AS', + 'ASFLAGS', + 'CC', + 'CFLAGS', + 'CPP', + 'CPPDEFINES', + 'CPPFLAGS', + 'CPPINCLUDES', + 'CROSS_COMPILE', + 'CXX', + 'CXXFLAGS', + 'HASHBANGPERL', + 'LD', + 'LDFLAGS', + 'LDLIBS', + 'MT', + 'MTFLAGS', + 'PERL', + 'RANLIB', + 'RC', + 'RCFLAGS', + 'RM', +); +my %disabled_info = ( + 'afalgeng' => { + macro => 'OPENSSL_NO_AFALGENG', + }, + 'asan' => { + macro => 'OPENSSL_NO_ASAN', + }, + 'comp' => { + macro => 'OPENSSL_NO_COMP', + skipped => [ 'crypto/comp' ], + }, + 'crypto-mdebug' => { + macro => 'OPENSSL_NO_CRYPTO_MDEBUG', + }, + 'crypto-mdebug-backtrace' => { + macro => 'OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE', + }, + 'devcryptoeng' => { + macro => 'OPENSSL_NO_DEVCRYPTOENG', + }, + 'ec_nistp_64_gcc_128' => { + macro => 'OPENSSL_NO_EC_NISTP_64_GCC_128', + }, + 'egd' => { + macro => 'OPENSSL_NO_EGD', + }, + 'external-tests' => { + macro => 'OPENSSL_NO_EXTERNAL_TESTS', + }, + 'fuzz-afl' => { + macro => 'OPENSSL_NO_FUZZ_AFL', + }, + 'fuzz-libfuzzer' => { + macro => 'OPENSSL_NO_FUZZ_LIBFUZZER', + }, + 'heartbeats' => { + macro => 'OPENSSL_NO_HEARTBEATS', + }, + 'md2' => { + macro => 'OPENSSL_NO_MD2', + skipped => [ 'crypto/md2' ], + }, + 'msan' => { + macro => 'OPENSSL_NO_MSAN', + }, + 'rc5' => { + macro => 'OPENSSL_NO_RC5', + skipped => [ 'crypto/rc5' ], + }, + 'sctp' => { + macro => 'OPENSSL_NO_SCTP', + }, + 'ssl3' => { + macro => 'OPENSSL_NO_SSL3', + }, + 'ssl3-method' => { + macro => 'OPENSSL_NO_SSL3_METHOD', + }, + 'ubsan' => { + macro => 'OPENSSL_NO_UBSAN', + }, + 'unit-test' => { + macro => 'OPENSSL_NO_UNIT_TEST', + }, + 'weak-ssl-ciphers' => { + macro => 'OPENSSL_NO_WEAK_SSL_CIPHERS', + }, +); +my @user_crossable = qw( AR AS CC CXX CPP LD MT RANLIB RC ); +# If run directly, we can give some answers, and even reconfigure +unless (caller) { + use Getopt::Long; + use File::Spec::Functions; + use File::Basename; + use Pod::Usage; + + my $here = dirname($0); + + my $dump = undef; + my $cmdline = undef; + my $options = undef; + my $target = undef; + my $envvars = undef; + my $makevars = undef; + my $buildparams = undef; + my $reconf = undef; + my $verbose = undef; + my $help = undef; + my $man = undef; + GetOptions('dump|d' => \$dump, + 'command-line|c' => \$cmdline, + 'options|o' => \$options, + 'target|t' => \$target, + 'environment|e' => \$envvars, + 'make-variables|m' => \$makevars, + 'build-parameters|b' => \$buildparams, + 'reconfigure|reconf|r' => \$reconf, + 'verbose|v' => \$verbose, + 'help' => \$help, + 'man' => \$man) + or die "Errors in command line arguments\n"; + + unless ($dump || $cmdline || $options || $target || $envvars || $makevars + || $buildparams || $reconf || $verbose || $help || $man) { + print STDERR <<"_____"; +You must give at least one option. +For more information, do '$0 --help' +_____ + exit(2); + } + + if ($help) { + pod2usage(-exitval => 0, + -verbose => 1); + } + if ($man) { + pod2usage(-exitval => 0, + -verbose => 2); + } + if ($dump || $cmdline) { + print "\nCommand line (with current working directory = $here):\n\n"; + print ' ',join(' ', + $config{PERL}, + catfile($config{sourcedir}, 'Configure'), + @{$config{perlargv}}), "\n"; + print "\nPerl information:\n\n"; + print ' ',$config{perl_cmd},"\n"; + print ' ',$config{perl_version},' for ',$config{perl_archname},"\n"; + } + if ($dump || $options) { + my $longest = 0; + my $longest2 = 0; + foreach my $what (@disablables) { + $longest = length($what) if $longest < length($what); + $longest2 = length($disabled{$what}) + if $disabled{$what} && $longest2 < length($disabled{$what}); + } + print "\nEnabled features:\n\n"; + foreach my $what (@disablables) { + print " $what\n" unless $disabled{$what}; + } + print "\nDisabled features:\n\n"; + foreach my $what (@disablables) { + if ($disabled{$what}) { + print " $what", ' ' x ($longest - length($what) + 1), + "[$disabled{$what}]", ' ' x ($longest2 - length($disabled{$what}) + 1); + print $disabled_info{$what}->{macro} + if $disabled_info{$what}->{macro}; + print ' (skip ', + join(', ', @{$disabled_info{$what}->{skipped}}), + ')' + if $disabled_info{$what}->{skipped}; + print "\n"; + } + } + } + if ($dump || $target) { + print "\nConfig target attributes:\n\n"; + foreach (sort keys %target) { + next if $_ =~ m|^_| || $_ eq 'template'; + my $quotify = sub { + map { (my $x = $_) =~ s|([\\\$\@"])|\\$1|g; "\"$x\""} @_; + }; + print ' ', $_, ' => '; + if (ref($target{$_}) eq "ARRAY") { + print '[ ', join(', ', $quotify->(@{$target{$_}})), " ],\n"; + } else { + print $quotify->($target{$_}), ",\n" + } + } + } + if ($dump || $envvars) { + print "\nRecorded environment:\n\n"; + foreach (sort keys %{$config{perlenv}}) { + print ' ',$_,' = ',($config{perlenv}->{$_} || ''),"\n"; + } + } + if ($dump || $makevars) { + print "\nMakevars:\n\n"; + foreach my $var (@makevars) { + my $prefix = ''; + $prefix = $config{CROSS_COMPILE} + if grep { $var eq $_ } @user_crossable; + $prefix //= ''; + print ' ',$var,' ' x (16 - length $var),'= ', + (ref $config{$var} eq 'ARRAY' + ? join(' ', @{$config{$var}}) + : $prefix.$config{$var}), + "\n" + if defined $config{$var}; + } + + my @buildfile = ($config{builddir}, $config{build_file}); + unshift @buildfile, $here + unless file_name_is_absolute($config{builddir}); + my $buildfile = canonpath(catdir(@buildfile)); + print <<"_____"; + +NOTE: These variables only represent the configuration view. The build file +template may have processed these variables further, please have a look at the +build file for more exact data: + $buildfile +_____ + } + if ($dump || $buildparams) { + my @buildfile = ($config{builddir}, $config{build_file}); + unshift @buildfile, $here + unless file_name_is_absolute($config{builddir}); + print "\nbuild file:\n\n"; + print " ", canonpath(catfile(@buildfile)),"\n"; + + print "\nbuild file templates:\n\n"; + foreach (@{$config{build_file_templates}}) { + my @tmpl = ($_); + unshift @tmpl, $here + unless file_name_is_absolute($config{sourcedir}); + print ' ',canonpath(catfile(@tmpl)),"\n"; + } + } + if ($reconf) { + if ($verbose) { + print 'Reconfiguring with: ', join(' ',@{$config{perlargv}}), "\n"; + foreach (sort keys %{$config{perlenv}}) { + print ' ',$_,' = ',($config{perlenv}->{$_} || ""),"\n"; + } + } + + chdir $here; + exec $^X,catfile($config{sourcedir}, 'Configure'),'reconf'; + } +} + +1; + +__END__ + +=head1 NAME + +configdata.pm - configuration data for OpenSSL builds + +=head1 SYNOPSIS + +Interactive: + + perl configdata.pm [options] + +As data bank module: + + use configdata; + +=head1 DESCRIPTION + +This module can be used in two modes, interactively and as a module containing +all the data recorded by OpenSSL's Configure script. + +When used interactively, simply run it as any perl script, with at least one +option, and you will get the information you ask for. See L below. + +When loaded as a module, you get a few databanks with useful information to +perform build related tasks. The databanks are: + + %config Configured things. + %target The OpenSSL config target with all inheritances + resolved. + %disabled The features that are disabled. + @disablables The list of features that can be disabled. + %withargs All data given through --with-THING options. + %unified_info All information that was computed from the build.info + files. + +=head1 OPTIONS + +=over 4 + +=item B<--help> + +Print a brief help message and exit. + +=item B<--man> + +Print the manual page and exit. + +=item B<--dump> | B<-d> + +Print all relevant configuration data. This is equivalent to B<--command-line> +B<--options> B<--target> B<--environment> B<--make-variables> +B<--build-parameters>. + +=item B<--command-line> | B<-c> + +Print the current configuration command line. + +=item B<--options> | B<-o> + +Print the features, both enabled and disabled, and display defined macro and +skipped directories where applicable. + +=item B<--target> | B<-t> + +Print the config attributes for this config target. + +=item B<--environment> | B<-e> + +Print the environment variables and their values at the time of configuration. + +=item B<--make-variables> | B<-m> + +Print the main make variables generated in the current configuration + +=item B<--build-parameters> | B<-b> + +Print the build parameters, i.e. build file and build file templates. + +=item B<--reconfigure> | B<--reconf> | B<-r> + +Redo the configuration. + +=item B<--verbose> | B<-v> + +Verbose output. + +=back + +=cut diff --git a/deps/openssl/config/archs/linux64-mips64/asm/crypto/aes/aes-mips.S b/deps/openssl/config/archs/linux64-mips64/asm/crypto/aes/aes-mips.S new file mode 100644 index 00000000000000..3d7852ec2ed23c --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/asm/crypto/aes/aes-mips.S @@ -0,0 +1,1874 @@ +#include "mips_arch.h" + +.text +#if !defined(__mips_eabi) && (!defined(__vxworks) || defined(__pic__)) +.option pic2 +#endif +.set noat +.align 5 +.ent _mips_AES_encrypt +_mips_AES_encrypt: + .frame $29,0,$31 + .set reorder + lw $12,0($6) + lw $13,4($6) + lw $14,8($6) + lw $15,12($6) + lw $30,240($6) + daddu $3,$6,16 + + xor $8,$12 + xor $9,$13 + xor $10,$14 + xor $11,$15 + + subu $30,1 +#if defined(__mips_smartmips) + ext $1,$9,8,8 +.Loop_enc: + ext $2,$10,8,8 + ext $24,$11,8,8 + ext $25,$8,8,8 + lwxs $12,$1($7) # Te1[s1>>16] + ext $1,$10,16,8 + lwxs $13,$2($7) # Te1[s2>>16] + ext $2,$11,16,8 + lwxs $14,$24($7) # Te1[s3>>16] + ext $24,$8,16,8 + lwxs $15,$25($7) # Te1[s0>>16] + ext $25,$9,16,8 + + lwxs $16,$1($7) # Te2[s2>>8] + ext $1,$11,24,8 + lwxs $17,$2($7) # Te2[s3>>8] + ext $2,$8,24,8 + lwxs $18,$24($7) # Te2[s0>>8] + ext $24,$9,24,8 + lwxs $19,$25($7) # Te2[s1>>8] + ext $25,$10,24,8 + + lwxs $20,$1($7) # Te3[s3] + ext $1,$8,0,8 + lwxs $21,$2($7) # Te3[s0] + ext $2,$9,0,8 + lwxs $22,$24($7) # Te3[s1] + ext $24,$10,0,8 + lwxs $23,$25($7) # Te3[s2] + ext $25,$11,0,8 + + rotr $12,$12,24 + rotr $13,$13,24 + rotr $14,$14,24 + rotr $15,$15,24 + + rotr $16,$16,16 + rotr $17,$17,16 + rotr $18,$18,16 + rotr $19,$19,16 + + xor $12,$16 + lwxs $16,$1($7) # Te0[s0>>24] + xor $13,$17 + lwxs $17,$2($7) # Te0[s1>>24] + xor $14,$18 + lwxs $18,$24($7) # Te0[s2>>24] + xor $15,$19 + lwxs $19,$25($7) # Te0[s3>>24] + + rotr $20,$20,8 + lw $8,0($3) + rotr $21,$21,8 + lw $9,4($3) + rotr $22,$22,8 + lw $10,8($3) + rotr $23,$23,8 + lw $11,12($3) + + xor $12,$20 + xor $13,$21 + xor $14,$22 + xor $15,$23 + + xor $12,$16 + xor $13,$17 + xor $14,$18 + xor $15,$19 + + subu $30,1 + daddu $3,16 + xor $8,$12 + xor $9,$13 + xor $10,$14 + xor $11,$15 + .set noreorder + bnez $30,.Loop_enc + ext $1,$9,8,8 + + srl $1,$9,6 +#else + srl $1,$9,6 +.Loop_enc: + srl $2,$10,6 + srl $24,$11,6 + srl $25,$8,6 + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + lw $12,0($1) # Te1[s1>>16] + srl $1,$10,14 + lw $13,0($2) # Te1[s2>>16] + srl $2,$11,14 + lw $14,0($24) # Te1[s3>>16] + srl $24,$8,14 + lw $15,0($25) # Te1[s0>>16] + srl $25,$9,14 +#else + lwl $12,2($1) # Te1[s1>>16] + lwl $13,2($2) # Te1[s2>>16] + lwl $14,2($24) # Te1[s3>>16] + lwl $15,2($25) # Te1[s0>>16] + lwr $12,3($1) # Te1[s1>>16] + srl $1,$10,14 + lwr $13,3($2) # Te1[s2>>16] + srl $2,$11,14 + lwr $14,3($24) # Te1[s3>>16] + srl $24,$8,14 + lwr $15,3($25) # Te1[s0>>16] + srl $25,$9,14 +#endif + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + rotr $12,$12,24 + rotr $13,$13,24 + rotr $14,$14,24 + rotr $15,$15,24 +# if defined(_MIPSEL) + lw $16,0($1) # Te2[s2>>8] + srl $1,$11,22 + lw $17,0($2) # Te2[s3>>8] + srl $2,$8,22 + lw $18,0($24) # Te2[s0>>8] + srl $24,$9,22 + lw $19,0($25) # Te2[s1>>8] + srl $25,$10,22 + + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 + lw $20,0($1) # Te3[s3] + dins $1,$8,2,8 + lw $21,0($2) # Te3[s0] + dins $2,$9,2,8 + lw $22,0($24) # Te3[s1] + dins $24,$10,2,8 + lw $23,0($25) # Te3[s2] + dins $25,$11,2,8 +# else + lw $16,0($1) # Te2[s2>>8] + dins $1,$11,2,8 + lw $17,0($2) # Te2[s3>>8] + dins $2,$8,2,8 + lw $18,0($24) # Te2[s0>>8] + dins $24,$9,2,8 + lw $19,0($25) # Te2[s1>>8] + dins $25,$10,2,8 + + lw $20,0($1) # Te3[s3] + sll $1,$8,2 + lw $21,0($2) # Te3[s0] + sll $2,$9,2 + lw $22,0($24) # Te3[s1] + sll $24,$10,2 + lw $23,0($25) # Te3[s2] + sll $25,$11,2 + + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 +# endif + rotr $16,$16,16 + rotr $17,$17,16 + rotr $18,$18,16 + rotr $19,$19,16 + + rotr $20,$20,8 + rotr $21,$21,8 + rotr $22,$22,8 + rotr $23,$23,8 +#else + lwl $16,1($1) # Te2[s2>>8] + lwl $17,1($2) # Te2[s3>>8] + lwl $18,1($24) # Te2[s0>>8] + lwl $19,1($25) # Te2[s1>>8] + lwr $16,2($1) # Te2[s2>>8] + srl $1,$11,22 + lwr $17,2($2) # Te2[s3>>8] + srl $2,$8,22 + lwr $18,2($24) # Te2[s0>>8] + srl $24,$9,22 + lwr $19,2($25) # Te2[s1>>8] + srl $25,$10,22 + + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 + lwl $20,0($1) # Te3[s3] + lwl $21,0($2) # Te3[s0] + lwl $22,0($24) # Te3[s1] + lwl $23,0($25) # Te3[s2] + lwr $20,1($1) # Te3[s3] + sll $1,$8,2 + lwr $21,1($2) # Te3[s0] + sll $2,$9,2 + lwr $22,1($24) # Te3[s1] + sll $24,$10,2 + lwr $23,1($25) # Te3[s2] + sll $25,$11,2 + + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 +#endif + xor $12,$16 + lw $16,0($1) # Te0[s0>>24] + xor $13,$17 + lw $17,0($2) # Te0[s1>>24] + xor $14,$18 + lw $18,0($24) # Te0[s2>>24] + xor $15,$19 + lw $19,0($25) # Te0[s3>>24] + + xor $12,$20 + lw $8,0($3) + xor $13,$21 + lw $9,4($3) + xor $14,$22 + lw $10,8($3) + xor $15,$23 + lw $11,12($3) + + xor $12,$16 + xor $13,$17 + xor $14,$18 + xor $15,$19 + + subu $30,1 + daddu $3,16 + xor $8,$12 + xor $9,$13 + xor $10,$14 + xor $11,$15 + .set noreorder + bnez $30,.Loop_enc + srl $1,$9,6 +#endif + + .set reorder + srl $2,$10,6 + srl $24,$11,6 + srl $25,$8,6 + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 + lbu $12,2($1) # Te4[s1>>16] + srl $1,$10,14 + lbu $13,2($2) # Te4[s2>>16] + srl $2,$11,14 + lbu $14,2($24) # Te4[s3>>16] + srl $24,$8,14 + lbu $15,2($25) # Te4[s0>>16] + srl $25,$9,14 + + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) +# if defined(_MIPSEL) + lbu $16,2($1) # Te4[s2>>8] + dins $1,$8,2,8 + lbu $17,2($2) # Te4[s3>>8] + dins $2,$9,2,8 + lbu $18,2($24) # Te4[s0>>8] + dins $24,$10,2,8 + lbu $19,2($25) # Te4[s1>>8] + dins $25,$11,2,8 + + lbu $20,2($1) # Te4[s0>>24] + srl $1,$11,22 + lbu $21,2($2) # Te4[s1>>24] + srl $2,$8,22 + lbu $22,2($24) # Te4[s2>>24] + srl $24,$9,22 + lbu $23,2($25) # Te4[s3>>24] + srl $25,$10,22 + + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 +# else + lbu $16,2($1) # Te4[s2>>8] + sll $1,$8,2 + lbu $17,2($2) # Te4[s3>>8] + sll $2,$9,2 + lbu $18,2($24) # Te4[s0>>8] + sll $24,$10,2 + lbu $19,2($25) # Te4[s1>>8] + sll $25,$11,2 + + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 + lbu $20,2($1) # Te4[s0>>24] + dins $1,$11,2,8 + lbu $21,2($2) # Te4[s1>>24] + dins $2,$8,2,8 + lbu $22,2($24) # Te4[s2>>24] + dins $24,$9,2,8 + lbu $23,2($25) # Te4[s3>>24] + dins $25,$10,2,8 +# endif + sll $12,$12,8 + sll $13,$13,8 + sll $14,$14,8 + sll $15,$15,8 + + ins $12,$16,16,8 + lbu $16,2($1) # Te4[s3] + ins $13,$17,16,8 + lbu $17,2($2) # Te4[s0] + ins $14,$18,16,8 + lbu $18,2($24) # Te4[s1] + ins $15,$19,16,8 + lbu $19,2($25) # Te4[s2] + + ins $12,$20,0,8 + lw $8,0($3) + ins $13,$21,0,8 + lw $9,4($3) + ins $14,$22,0,8 + lw $10,8($3) + ins $15,$23,0,8 + lw $11,12($3) + + ins $12,$16,24,8 + ins $13,$17,24,8 + ins $14,$18,24,8 + ins $15,$19,24,8 +#else + lbu $16,2($1) # Te4[s2>>8] + sll $1,$8,2 + lbu $17,2($2) # Te4[s3>>8] + sll $2,$9,2 + lbu $18,2($24) # Te4[s0>>8] + sll $24,$10,2 + lbu $19,2($25) # Te4[s1>>8] + sll $25,$11,2 + + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 + lbu $20,2($1) # Te4[s0>>24] + srl $1,$11,22 + lbu $21,2($2) # Te4[s1>>24] + srl $2,$8,22 + lbu $22,2($24) # Te4[s2>>24] + srl $24,$9,22 + lbu $23,2($25) # Te4[s3>>24] + srl $25,$10,22 + + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 + + sll $12,$12,8 + sll $13,$13,8 + sll $14,$14,8 + sll $15,$15,8 + + sll $16,$16,16 + sll $17,$17,16 + sll $18,$18,16 + sll $19,$19,16 + + xor $12,$16 + lbu $16,2($1) # Te4[s3] + xor $13,$17 + lbu $17,2($2) # Te4[s0] + xor $14,$18 + lbu $18,2($24) # Te4[s1] + xor $15,$19 + lbu $19,2($25) # Te4[s2] + + #sll $20,$20,0 + lw $8,0($3) + #sll $21,$21,0 + lw $9,4($3) + #sll $22,$22,0 + lw $10,8($3) + #sll $23,$23,0 + lw $11,12($3) + + xor $12,$20 + xor $13,$21 + xor $14,$22 + xor $15,$23 + + sll $16,$16,24 + sll $17,$17,24 + sll $18,$18,24 + sll $19,$19,24 + + xor $12,$16 + xor $13,$17 + xor $14,$18 + xor $15,$19 +#endif + xor $8,$12 + xor $9,$13 + xor $10,$14 + xor $11,$15 + + jr $31 +.end _mips_AES_encrypt + +.align 5 +.globl AES_encrypt +.ent AES_encrypt +AES_encrypt: + .frame $29,128,$31 + .mask 0xc0ff0000,-8 + .set noreorder + dsubu $29,128 + sd $31,128-1*8($29) + sd $30,128-2*8($29) + sd $23,128-3*8($29) + sd $22,128-4*8($29) + sd $21,128-5*8($29) + sd $20,128-6*8($29) + sd $19,128-7*8($29) + sd $18,128-8*8($29) + sd $17,128-9*8($29) + sd $16,128-10*8($29) + .cplocal $7 + .cpsetup $25,$0,AES_encrypt + .set reorder + dla $7,AES_Te # PIC-ified 'load address' + +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $8,0($4) + lw $9,4($4) + lw $10,8($4) + lw $11,12($4) +#else + lwl $8,0+3($4) + lwl $9,4+3($4) + lwl $10,8+3($4) + lwl $11,12+3($4) + lwr $8,0+0($4) + lwr $9,4+0($4) + lwr $10,8+0($4) + lwr $11,12+0($4) +#endif + + bal _mips_AES_encrypt + +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + sw $8,0($5) + sw $9,4($5) + sw $10,8($5) + sw $11,12($5) +#else + swr $8,0+0($5) + swr $9,4+0($5) + swr $10,8+0($5) + swr $11,12+0($5) + swl $8,0+3($5) + swl $9,4+3($5) + swl $10,8+3($5) + swl $11,12+3($5) +#endif + + .set noreorder + ld $31,128-1*8($29) + ld $30,128-2*8($29) + ld $23,128-3*8($29) + ld $22,128-4*8($29) + ld $21,128-5*8($29) + ld $20,128-6*8($29) + ld $19,128-7*8($29) + ld $18,128-8*8($29) + ld $17,128-9*8($29) + ld $16,128-10*8($29) + jr $31 + daddu $29,128 +.end AES_encrypt +.align 5 +.ent _mips_AES_decrypt +_mips_AES_decrypt: + .frame $29,0,$31 + .set reorder + lw $12,0($6) + lw $13,4($6) + lw $14,8($6) + lw $15,12($6) + lw $30,240($6) + daddu $3,$6,16 + + xor $8,$12 + xor $9,$13 + xor $10,$14 + xor $11,$15 + + subu $30,1 +#if defined(__mips_smartmips) + ext $1,$11,8,8 +.Loop_dec: + ext $2,$8,8,8 + ext $24,$9,8,8 + ext $25,$10,8,8 + lwxs $12,$1($7) # Td1[s3>>16] + ext $1,$10,16,8 + lwxs $13,$2($7) # Td1[s0>>16] + ext $2,$11,16,8 + lwxs $14,$24($7) # Td1[s1>>16] + ext $24,$8,16,8 + lwxs $15,$25($7) # Td1[s2>>16] + ext $25,$9,16,8 + + lwxs $16,$1($7) # Td2[s2>>8] + ext $1,$9,24,8 + lwxs $17,$2($7) # Td2[s3>>8] + ext $2,$10,24,8 + lwxs $18,$24($7) # Td2[s0>>8] + ext $24,$11,24,8 + lwxs $19,$25($7) # Td2[s1>>8] + ext $25,$8,24,8 + + lwxs $20,$1($7) # Td3[s1] + ext $1,$8,0,8 + lwxs $21,$2($7) # Td3[s2] + ext $2,$9,0,8 + lwxs $22,$24($7) # Td3[s3] + ext $24,$10,0,8 + lwxs $23,$25($7) # Td3[s0] + ext $25,$11,0,8 + + rotr $12,$12,24 + rotr $13,$13,24 + rotr $14,$14,24 + rotr $15,$15,24 + + rotr $16,$16,16 + rotr $17,$17,16 + rotr $18,$18,16 + rotr $19,$19,16 + + xor $12,$16 + lwxs $16,$1($7) # Td0[s0>>24] + xor $13,$17 + lwxs $17,$2($7) # Td0[s1>>24] + xor $14,$18 + lwxs $18,$24($7) # Td0[s2>>24] + xor $15,$19 + lwxs $19,$25($7) # Td0[s3>>24] + + rotr $20,$20,8 + lw $8,0($3) + rotr $21,$21,8 + lw $9,4($3) + rotr $22,$22,8 + lw $10,8($3) + rotr $23,$23,8 + lw $11,12($3) + + xor $12,$20 + xor $13,$21 + xor $14,$22 + xor $15,$23 + + xor $12,$16 + xor $13,$17 + xor $14,$18 + xor $15,$19 + + subu $30,1 + daddu $3,16 + xor $8,$12 + xor $9,$13 + xor $10,$14 + xor $11,$15 + .set noreorder + bnez $30,.Loop_dec + ext $1,$11,8,8 + + srl $1,$11,6 +#else + srl $1,$11,6 +.Loop_dec: + srl $2,$8,6 + srl $24,$9,6 + srl $25,$10,6 + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + lw $12,0($1) # Td1[s3>>16] + srl $1,$10,14 + lw $13,0($2) # Td1[s0>>16] + srl $2,$11,14 + lw $14,0($24) # Td1[s1>>16] + srl $24,$8,14 + lw $15,0($25) # Td1[s2>>16] + srl $25,$9,14 +#else + lwl $12,2($1) # Td1[s3>>16] + lwl $13,2($2) # Td1[s0>>16] + lwl $14,2($24) # Td1[s1>>16] + lwl $15,2($25) # Td1[s2>>16] + lwr $12,3($1) # Td1[s3>>16] + srl $1,$10,14 + lwr $13,3($2) # Td1[s0>>16] + srl $2,$11,14 + lwr $14,3($24) # Td1[s1>>16] + srl $24,$8,14 + lwr $15,3($25) # Td1[s2>>16] + srl $25,$9,14 +#endif + + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + rotr $12,$12,24 + rotr $13,$13,24 + rotr $14,$14,24 + rotr $15,$15,24 +# if defined(_MIPSEL) + lw $16,0($1) # Td2[s2>>8] + srl $1,$9,22 + lw $17,0($2) # Td2[s3>>8] + srl $2,$10,22 + lw $18,0($24) # Td2[s0>>8] + srl $24,$11,22 + lw $19,0($25) # Td2[s1>>8] + srl $25,$8,22 + + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 + lw $20,0($1) # Td3[s1] + dins $1,$8,2,8 + lw $21,0($2) # Td3[s2] + dins $2,$9,2,8 + lw $22,0($24) # Td3[s3] + dins $24,$10,2,8 + lw $23,0($25) # Td3[s0] + dins $25,$11,2,8 +#else + lw $16,0($1) # Td2[s2>>8] + dins $1,$9,2,8 + lw $17,0($2) # Td2[s3>>8] + dins $2,$10,2,8 + lw $18,0($24) # Td2[s0>>8] + dins $24,$11,2,8 + lw $19,0($25) # Td2[s1>>8] + dins $25,$8,2,8 + + lw $20,0($1) # Td3[s1] + sll $1,$8,2 + lw $21,0($2) # Td3[s2] + sll $2,$9,2 + lw $22,0($24) # Td3[s3] + sll $24,$10,2 + lw $23,0($25) # Td3[s0] + sll $25,$11,2 + + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 +#endif + rotr $16,$16,16 + rotr $17,$17,16 + rotr $18,$18,16 + rotr $19,$19,16 + + rotr $20,$20,8 + rotr $21,$21,8 + rotr $22,$22,8 + rotr $23,$23,8 +#else + lwl $16,1($1) # Td2[s2>>8] + lwl $17,1($2) # Td2[s3>>8] + lwl $18,1($24) # Td2[s0>>8] + lwl $19,1($25) # Td2[s1>>8] + lwr $16,2($1) # Td2[s2>>8] + srl $1,$9,22 + lwr $17,2($2) # Td2[s3>>8] + srl $2,$10,22 + lwr $18,2($24) # Td2[s0>>8] + srl $24,$11,22 + lwr $19,2($25) # Td2[s1>>8] + srl $25,$8,22 + + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 + lwl $20,0($1) # Td3[s1] + lwl $21,0($2) # Td3[s2] + lwl $22,0($24) # Td3[s3] + lwl $23,0($25) # Td3[s0] + lwr $20,1($1) # Td3[s1] + sll $1,$8,2 + lwr $21,1($2) # Td3[s2] + sll $2,$9,2 + lwr $22,1($24) # Td3[s3] + sll $24,$10,2 + lwr $23,1($25) # Td3[s0] + sll $25,$11,2 + + and $1,0x3fc + and $2,0x3fc + and $24,0x3fc + and $25,0x3fc + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 +#endif + + xor $12,$16 + lw $16,0($1) # Td0[s0>>24] + xor $13,$17 + lw $17,0($2) # Td0[s1>>24] + xor $14,$18 + lw $18,0($24) # Td0[s2>>24] + xor $15,$19 + lw $19,0($25) # Td0[s3>>24] + + xor $12,$20 + lw $8,0($3) + xor $13,$21 + lw $9,4($3) + xor $14,$22 + lw $10,8($3) + xor $15,$23 + lw $11,12($3) + + xor $12,$16 + xor $13,$17 + xor $14,$18 + xor $15,$19 + + subu $30,1 + daddu $3,16 + xor $8,$12 + xor $9,$13 + xor $10,$14 + xor $11,$15 + .set noreorder + bnez $30,.Loop_dec + srl $1,$11,6 +#endif + + .set reorder + lw $16,1024($7) # prefetch Td4 + srl $1,$11,8 + lw $17,1024+32($7) + srl $2,$8,8 + lw $18,1024+64($7) + srl $24,$9,8 + lw $19,1024+96($7) + srl $25,$10,8 + lw $20,1024+128($7) + and $1,0xff + lw $21,1024+160($7) + and $2,0xff + lw $22,1024+192($7) + and $24,0xff + lw $23,1024+224($7) + and $25,0xff + + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 + lbu $12,1024($1) # Td4[s3>>16] + srl $1,$10,16 + lbu $13,1024($2) # Td4[s0>>16] + srl $2,$11,16 + lbu $14,1024($24) # Td4[s1>>16] + srl $24,$8,16 + lbu $15,1024($25) # Td4[s2>>16] + srl $25,$9,16 + + and $1,0xff + and $2,0xff + and $24,0xff + and $25,0xff + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) +# if defined(_MIPSEL) + lbu $16,1024($1) # Td4[s2>>8] + dins $1,$8,0,8 + lbu $17,1024($2) # Td4[s3>>8] + dins $2,$9,0,8 + lbu $18,1024($24) # Td4[s0>>8] + dins $24,$10,0,8 + lbu $19,1024($25) # Td4[s1>>8] + dins $25,$11,0,8 + + lbu $20,1024($1) # Td4[s0>>24] + srl $1,$9,24 + lbu $21,1024($2) # Td4[s1>>24] + srl $2,$10,24 + lbu $22,1024($24) # Td4[s2>>24] + srl $24,$11,24 + lbu $23,1024($25) # Td4[s3>>24] + srl $25,$8,24 + + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 +# else + lbu $16,1024($1) # Td4[s2>>8] + and $1,$8,0xff + lbu $17,1024($2) # Td4[s3>>8] + and $2,$9,0xff + lbu $18,1024($24) # Td4[s0>>8] + and $24,$10,0xff + lbu $19,1024($25) # Td4[s1>>8] + and $25,$11,0xff + + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 + lbu $20,1024($1) # Td4[s0>>24] + dins $1,$9,0,8 + lbu $21,1024($2) # Td4[s1>>24] + dins $2,$10,0,8 + lbu $22,1024($24) # Td4[s2>>24] + dins $24,$11,0,8 + lbu $23,1024($25) # Td4[s3>>24] + dins $25,$8,0,8 +# endif + sll $12,$12,8 + sll $13,$13,8 + sll $14,$14,8 + sll $15,$15,8 + + ins $12,$16,16,8 + lbu $16,1024($1) # Td4[s1] + ins $13,$17,16,8 + lbu $17,1024($2) # Td4[s2] + ins $14,$18,16,8 + lbu $18,1024($24) # Td4[s3] + ins $15,$19,16,8 + lbu $19,1024($25) # Td4[s0] + + ins $12,$20,0,8 + lw $8,0($3) + ins $13,$21,0,8 + lw $9,4($3) + ins $14,$22,0,8 + lw $10,8($3) + ins $15,$23,0,8 + lw $11,12($3) + + ins $12,$16,24,8 + ins $13,$17,24,8 + ins $14,$18,24,8 + ins $15,$19,24,8 +#else + lbu $16,1024($1) # Td4[s2>>8] + and $1,$8,0xff + lbu $17,1024($2) # Td4[s3>>8] + and $2,$9,0xff + lbu $18,1024($24) # Td4[s0>>8] + and $24,$10,0xff + lbu $19,1024($25) # Td4[s1>>8] + and $25,$11,0xff + + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 + lbu $20,1024($1) # Td4[s0>>24] + srl $1,$9,24 + lbu $21,1024($2) # Td4[s1>>24] + srl $2,$10,24 + lbu $22,1024($24) # Td4[s2>>24] + srl $24,$11,24 + lbu $23,1024($25) # Td4[s3>>24] + srl $25,$8,24 + + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 + + sll $12,$12,8 + sll $13,$13,8 + sll $14,$14,8 + sll $15,$15,8 + + sll $16,$16,16 + sll $17,$17,16 + sll $18,$18,16 + sll $19,$19,16 + + xor $12,$16 + lbu $16,1024($1) # Td4[s1] + xor $13,$17 + lbu $17,1024($2) # Td4[s2] + xor $14,$18 + lbu $18,1024($24) # Td4[s3] + xor $15,$19 + lbu $19,1024($25) # Td4[s0] + + #sll $20,$20,0 + lw $8,0($3) + #sll $21,$21,0 + lw $9,4($3) + #sll $22,$22,0 + lw $10,8($3) + #sll $23,$23,0 + lw $11,12($3) + + xor $12,$20 + xor $13,$21 + xor $14,$22 + xor $15,$23 + + sll $16,$16,24 + sll $17,$17,24 + sll $18,$18,24 + sll $19,$19,24 + + xor $12,$16 + xor $13,$17 + xor $14,$18 + xor $15,$19 +#endif + + xor $8,$12 + xor $9,$13 + xor $10,$14 + xor $11,$15 + + jr $31 +.end _mips_AES_decrypt + +.align 5 +.globl AES_decrypt +.ent AES_decrypt +AES_decrypt: + .frame $29,128,$31 + .mask 0xc0ff0000,-8 + .set noreorder + dsubu $29,128 + sd $31,128-1*8($29) + sd $30,128-2*8($29) + sd $23,128-3*8($29) + sd $22,128-4*8($29) + sd $21,128-5*8($29) + sd $20,128-6*8($29) + sd $19,128-7*8($29) + sd $18,128-8*8($29) + sd $17,128-9*8($29) + sd $16,128-10*8($29) + .cplocal $7 + .cpsetup $25,$0,AES_decrypt + .set reorder + dla $7,AES_Td # PIC-ified 'load address' + +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $8,0($4) + lw $9,4($4) + lw $10,8($4) + lw $11,12($4) +#else + lwl $8,0+3($4) + lwl $9,4+3($4) + lwl $10,8+3($4) + lwl $11,12+3($4) + lwr $8,0+0($4) + lwr $9,4+0($4) + lwr $10,8+0($4) + lwr $11,12+0($4) +#endif + + bal _mips_AES_decrypt + +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + sw $8,0($5) + sw $9,4($5) + sw $10,8($5) + sw $11,12($5) +#else + swr $8,0+0($5) + swr $9,4+0($5) + swr $10,8+0($5) + swr $11,12+0($5) + swl $8,0+3($5) + swl $9,4+3($5) + swl $10,8+3($5) + swl $11,12+3($5) +#endif + + .set noreorder + ld $31,128-1*8($29) + ld $30,128-2*8($29) + ld $23,128-3*8($29) + ld $22,128-4*8($29) + ld $21,128-5*8($29) + ld $20,128-6*8($29) + ld $19,128-7*8($29) + ld $18,128-8*8($29) + ld $17,128-9*8($29) + ld $16,128-10*8($29) + jr $31 + daddu $29,128 +.end AES_decrypt +.align 5 +.ent _mips_AES_set_encrypt_key +_mips_AES_set_encrypt_key: + .frame $29,0,$31 + .set noreorder + beqz $4,.Lekey_done + li $2,-1 + beqz $6,.Lekey_done + daddu $3,$7,256 + + .set reorder +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $8,0($4) # load 128 bits + lw $9,4($4) + lw $10,8($4) + lw $11,12($4) +#else + lwl $8,0+3($4) # load 128 bits + lwl $9,4+3($4) + lwl $10,8+3($4) + lwl $11,12+3($4) + lwr $8,0+0($4) + lwr $9,4+0($4) + lwr $10,8+0($4) + lwr $11,12+0($4) +#endif + li $1,128 + .set noreorder + beq $5,$1,.L128bits + li $30,10 + + .set reorder +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $12,16($4) # load 192 bits + lw $13,20($4) +#else + lwl $12,16+3($4) # load 192 bits + lwl $13,20+3($4) + lwr $12,16+0($4) + lwr $13,20+0($4) +#endif + li $1,192 + .set noreorder + beq $5,$1,.L192bits + li $30,8 + + .set reorder +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $14,24($4) # load 256 bits + lw $15,28($4) +#else + lwl $14,24+3($4) # load 256 bits + lwl $15,28+3($4) + lwr $14,24+0($4) + lwr $15,28+0($4) +#endif + li $1,256 + .set noreorder + beq $5,$1,.L256bits + li $30,7 + + b .Lekey_done + li $2,-2 + +.align 4 +.L128bits: + .set reorder + srl $1,$11,16 + srl $2,$11,8 + and $1,0xff + and $2,0xff + and $24,$11,0xff + srl $25,$11,24 + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 + lbu $1,0($1) + lbu $2,0($2) + lbu $24,0($24) + lbu $25,0($25) + + sw $8,0($6) + sw $9,4($6) + sw $10,8($6) + sw $11,12($6) + subu $30,1 + daddu $6,16 + + sll $1,$1,8 + #sll $2,$2,0 + sll $24,$24,24 + sll $25,$25,16 + + xor $8,$1 + lw $1,0($3) + xor $8,$2 + xor $8,$24 + xor $8,$25 + xor $8,$1 + + xor $9,$8 + xor $10,$9 + xor $11,$10 + + .set noreorder + bnez $30,.L128bits + daddu $3,4 + + sw $8,0($6) + sw $9,4($6) + sw $10,8($6) + li $30,10 + sw $11,12($6) + li $2,0 + sw $30,80($6) + b .Lekey_done + dsubu $6,10*16 + +.align 4 +.L192bits: + .set reorder + srl $1,$13,16 + srl $2,$13,8 + and $1,0xff + and $2,0xff + and $24,$13,0xff + srl $25,$13,24 + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 + lbu $1,0($1) + lbu $2,0($2) + lbu $24,0($24) + lbu $25,0($25) + + sw $8,0($6) + sw $9,4($6) + sw $10,8($6) + sw $11,12($6) + sw $12,16($6) + sw $13,20($6) + subu $30,1 + daddu $6,24 + + sll $1,$1,8 + #sll $2,$2,0 + sll $24,$24,24 + sll $25,$25,16 + + xor $8,$1 + lw $1,0($3) + xor $8,$2 + xor $8,$24 + xor $8,$25 + xor $8,$1 + + xor $9,$8 + xor $10,$9 + xor $11,$10 + xor $12,$11 + xor $13,$12 + + .set noreorder + bnez $30,.L192bits + daddu $3,4 + + sw $8,0($6) + sw $9,4($6) + sw $10,8($6) + li $30,12 + sw $11,12($6) + li $2,0 + sw $30,48($6) + b .Lekey_done + dsubu $6,12*16 + +.align 4 +.L256bits: + .set reorder + srl $1,$15,16 + srl $2,$15,8 + and $1,0xff + and $2,0xff + and $24,$15,0xff + srl $25,$15,24 + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 + lbu $1,0($1) + lbu $2,0($2) + lbu $24,0($24) + lbu $25,0($25) + + sw $8,0($6) + sw $9,4($6) + sw $10,8($6) + sw $11,12($6) + sw $12,16($6) + sw $13,20($6) + sw $14,24($6) + sw $15,28($6) + subu $30,1 + + sll $1,$1,8 + #sll $2,$2,0 + sll $24,$24,24 + sll $25,$25,16 + + xor $8,$1 + lw $1,0($3) + xor $8,$2 + xor $8,$24 + xor $8,$25 + xor $8,$1 + + xor $9,$8 + xor $10,$9 + xor $11,$10 + beqz $30,.L256bits_done + + srl $1,$11,24 + srl $2,$11,16 + srl $24,$11,8 + and $25,$11,0xff + and $2,0xff + and $24,0xff + daddu $1,$7 + daddu $2,$7 + daddu $24,$7 + daddu $25,$7 + lbu $1,0($1) + lbu $2,0($2) + lbu $24,0($24) + lbu $25,0($25) + sll $1,24 + sll $2,16 + sll $24,8 + + xor $12,$1 + xor $12,$2 + xor $12,$24 + xor $12,$25 + + xor $13,$12 + xor $14,$13 + xor $15,$14 + + daddu $6,32 + .set noreorder + b .L256bits + daddu $3,4 + +.L256bits_done: + sw $8,32($6) + sw $9,36($6) + sw $10,40($6) + li $30,14 + sw $11,44($6) + li $2,0 + sw $30,48($6) + dsubu $6,12*16 + +.Lekey_done: + jr $31 + nop +.end _mips_AES_set_encrypt_key + +.globl AES_set_encrypt_key +.ent AES_set_encrypt_key +AES_set_encrypt_key: + .frame $29,64,$31 + .mask 0xc0000000,-8 + .set noreorder + dsubu $29,64 + sd $31,64-1*8($29) + sd $30,64-2*8($29) + .cplocal $7 + .cpsetup $25,$0,AES_set_encrypt_key + .set reorder + dla $7,AES_Te4 # PIC-ified 'load address' + + bal _mips_AES_set_encrypt_key + + .set noreorder + move $4,$2 + ld $31,64-1*8($29) + ld $30,64-2*8($29) + jr $31 + daddu $29,64 +.end AES_set_encrypt_key +.align 5 +.globl AES_set_decrypt_key +.ent AES_set_decrypt_key +AES_set_decrypt_key: + .frame $29,64,$31 + .mask 0xc0000000,-8 + .set noreorder + dsubu $29,64 + sd $31,64-1*8($29) + sd $30,64-2*8($29) + .cplocal $7 + .cpsetup $25,$0,AES_set_decrypt_key + .set reorder + dla $7,AES_Te4 # PIC-ified 'load address' + + bal _mips_AES_set_encrypt_key + + bltz $2,.Ldkey_done + + sll $1,$30,4 + daddu $4,$6,0 + daddu $5,$6,$1 +.align 4 +.Lswap: + lw $8,0($4) + lw $9,4($4) + lw $10,8($4) + lw $11,12($4) + lw $12,0($5) + lw $13,4($5) + lw $14,8($5) + lw $15,12($5) + sw $8,0($5) + sw $9,4($5) + sw $10,8($5) + sw $11,12($5) + daddu $4,16 + dsubu $5,16 + sw $12,-16($4) + sw $13,-12($4) + sw $14,-8($4) + sw $15,-4($4) + bne $4,$5,.Lswap + + lw $8,16($6) # modulo-scheduled + lui $2,0x8080 + subu $30,1 + or $2,0x8080 + sll $30,2 + daddu $6,16 + lui $25,0x1b1b + nor $24,$0,$2 + or $25,0x1b1b +.align 4 +.Lmix: + and $1,$8,$2 + and $9,$8,$24 + srl $10,$1,7 + addu $9,$9 # tp2<<1 + subu $1,$10 + and $1,$25 + xor $9,$1 + + and $1,$9,$2 + and $10,$9,$24 + srl $11,$1,7 + addu $10,$10 # tp4<<1 + subu $1,$11 + and $1,$25 + xor $10,$1 + + and $1,$10,$2 + and $11,$10,$24 + srl $12,$1,7 + addu $11,$11 # tp8<<1 + subu $1,$12 + and $1,$25 + xor $11,$1 + + xor $12,$11,$8 + xor $15,$11,$10 + xor $13,$12,$9 + xor $14,$12,$10 + +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + rotr $8,$14,16 + xor $15,$9 + rotr $9,$12,24 + xor $15,$8 + rotr $10,$13,8 + xor $15,$9 + lw $8,4($6) # modulo-scheduled + xor $15,$10 +#else + sll $8,$14,16 + xor $15,$9 + srl $9,$14,16 + xor $15,$8 + sll $8,$12,8 + xor $15,$9 + srl $9,$12,24 + xor $15,$8 + sll $8,$13,24 + xor $15,$9 + srl $9,$13,8 + xor $15,$8 + lw $8,4($6) # modulo-scheduled + xor $15,$9 +#endif + subu $30,1 + sw $15,0($6) + daddu $6,4 + bnez $30,.Lmix + + li $2,0 +.Ldkey_done: + .set noreorder + move $4,$2 + ld $31,64-1*8($29) + ld $30,64-2*8($29) + jr $31 + daddu $29,64 +.end AES_set_decrypt_key +.rdata +.align 10 +AES_Te: +.byte 0xc6,0x63,0x63,0xa5, 0xf8,0x7c,0x7c,0x84 # Te0 +.byte 0xee,0x77,0x77,0x99, 0xf6,0x7b,0x7b,0x8d +.byte 0xff,0xf2,0xf2,0x0d, 0xd6,0x6b,0x6b,0xbd +.byte 0xde,0x6f,0x6f,0xb1, 0x91,0xc5,0xc5,0x54 +.byte 0x60,0x30,0x30,0x50, 0x02,0x01,0x01,0x03 +.byte 0xce,0x67,0x67,0xa9, 0x56,0x2b,0x2b,0x7d +.byte 0xe7,0xfe,0xfe,0x19, 0xb5,0xd7,0xd7,0x62 +.byte 0x4d,0xab,0xab,0xe6, 0xec,0x76,0x76,0x9a +.byte 0x8f,0xca,0xca,0x45, 0x1f,0x82,0x82,0x9d +.byte 0x89,0xc9,0xc9,0x40, 0xfa,0x7d,0x7d,0x87 +.byte 0xef,0xfa,0xfa,0x15, 0xb2,0x59,0x59,0xeb +.byte 0x8e,0x47,0x47,0xc9, 0xfb,0xf0,0xf0,0x0b +.byte 0x41,0xad,0xad,0xec, 0xb3,0xd4,0xd4,0x67 +.byte 0x5f,0xa2,0xa2,0xfd, 0x45,0xaf,0xaf,0xea +.byte 0x23,0x9c,0x9c,0xbf, 0x53,0xa4,0xa4,0xf7 +.byte 0xe4,0x72,0x72,0x96, 0x9b,0xc0,0xc0,0x5b +.byte 0x75,0xb7,0xb7,0xc2, 0xe1,0xfd,0xfd,0x1c +.byte 0x3d,0x93,0x93,0xae, 0x4c,0x26,0x26,0x6a +.byte 0x6c,0x36,0x36,0x5a, 0x7e,0x3f,0x3f,0x41 +.byte 0xf5,0xf7,0xf7,0x02, 0x83,0xcc,0xcc,0x4f +.byte 0x68,0x34,0x34,0x5c, 0x51,0xa5,0xa5,0xf4 +.byte 0xd1,0xe5,0xe5,0x34, 0xf9,0xf1,0xf1,0x08 +.byte 0xe2,0x71,0x71,0x93, 0xab,0xd8,0xd8,0x73 +.byte 0x62,0x31,0x31,0x53, 0x2a,0x15,0x15,0x3f +.byte 0x08,0x04,0x04,0x0c, 0x95,0xc7,0xc7,0x52 +.byte 0x46,0x23,0x23,0x65, 0x9d,0xc3,0xc3,0x5e +.byte 0x30,0x18,0x18,0x28, 0x37,0x96,0x96,0xa1 +.byte 0x0a,0x05,0x05,0x0f, 0x2f,0x9a,0x9a,0xb5 +.byte 0x0e,0x07,0x07,0x09, 0x24,0x12,0x12,0x36 +.byte 0x1b,0x80,0x80,0x9b, 0xdf,0xe2,0xe2,0x3d +.byte 0xcd,0xeb,0xeb,0x26, 0x4e,0x27,0x27,0x69 +.byte 0x7f,0xb2,0xb2,0xcd, 0xea,0x75,0x75,0x9f +.byte 0x12,0x09,0x09,0x1b, 0x1d,0x83,0x83,0x9e +.byte 0x58,0x2c,0x2c,0x74, 0x34,0x1a,0x1a,0x2e +.byte 0x36,0x1b,0x1b,0x2d, 0xdc,0x6e,0x6e,0xb2 +.byte 0xb4,0x5a,0x5a,0xee, 0x5b,0xa0,0xa0,0xfb +.byte 0xa4,0x52,0x52,0xf6, 0x76,0x3b,0x3b,0x4d +.byte 0xb7,0xd6,0xd6,0x61, 0x7d,0xb3,0xb3,0xce +.byte 0x52,0x29,0x29,0x7b, 0xdd,0xe3,0xe3,0x3e +.byte 0x5e,0x2f,0x2f,0x71, 0x13,0x84,0x84,0x97 +.byte 0xa6,0x53,0x53,0xf5, 0xb9,0xd1,0xd1,0x68 +.byte 0x00,0x00,0x00,0x00, 0xc1,0xed,0xed,0x2c +.byte 0x40,0x20,0x20,0x60, 0xe3,0xfc,0xfc,0x1f +.byte 0x79,0xb1,0xb1,0xc8, 0xb6,0x5b,0x5b,0xed +.byte 0xd4,0x6a,0x6a,0xbe, 0x8d,0xcb,0xcb,0x46 +.byte 0x67,0xbe,0xbe,0xd9, 0x72,0x39,0x39,0x4b +.byte 0x94,0x4a,0x4a,0xde, 0x98,0x4c,0x4c,0xd4 +.byte 0xb0,0x58,0x58,0xe8, 0x85,0xcf,0xcf,0x4a +.byte 0xbb,0xd0,0xd0,0x6b, 0xc5,0xef,0xef,0x2a +.byte 0x4f,0xaa,0xaa,0xe5, 0xed,0xfb,0xfb,0x16 +.byte 0x86,0x43,0x43,0xc5, 0x9a,0x4d,0x4d,0xd7 +.byte 0x66,0x33,0x33,0x55, 0x11,0x85,0x85,0x94 +.byte 0x8a,0x45,0x45,0xcf, 0xe9,0xf9,0xf9,0x10 +.byte 0x04,0x02,0x02,0x06, 0xfe,0x7f,0x7f,0x81 +.byte 0xa0,0x50,0x50,0xf0, 0x78,0x3c,0x3c,0x44 +.byte 0x25,0x9f,0x9f,0xba, 0x4b,0xa8,0xa8,0xe3 +.byte 0xa2,0x51,0x51,0xf3, 0x5d,0xa3,0xa3,0xfe +.byte 0x80,0x40,0x40,0xc0, 0x05,0x8f,0x8f,0x8a +.byte 0x3f,0x92,0x92,0xad, 0x21,0x9d,0x9d,0xbc +.byte 0x70,0x38,0x38,0x48, 0xf1,0xf5,0xf5,0x04 +.byte 0x63,0xbc,0xbc,0xdf, 0x77,0xb6,0xb6,0xc1 +.byte 0xaf,0xda,0xda,0x75, 0x42,0x21,0x21,0x63 +.byte 0x20,0x10,0x10,0x30, 0xe5,0xff,0xff,0x1a +.byte 0xfd,0xf3,0xf3,0x0e, 0xbf,0xd2,0xd2,0x6d +.byte 0x81,0xcd,0xcd,0x4c, 0x18,0x0c,0x0c,0x14 +.byte 0x26,0x13,0x13,0x35, 0xc3,0xec,0xec,0x2f +.byte 0xbe,0x5f,0x5f,0xe1, 0x35,0x97,0x97,0xa2 +.byte 0x88,0x44,0x44,0xcc, 0x2e,0x17,0x17,0x39 +.byte 0x93,0xc4,0xc4,0x57, 0x55,0xa7,0xa7,0xf2 +.byte 0xfc,0x7e,0x7e,0x82, 0x7a,0x3d,0x3d,0x47 +.byte 0xc8,0x64,0x64,0xac, 0xba,0x5d,0x5d,0xe7 +.byte 0x32,0x19,0x19,0x2b, 0xe6,0x73,0x73,0x95 +.byte 0xc0,0x60,0x60,0xa0, 0x19,0x81,0x81,0x98 +.byte 0x9e,0x4f,0x4f,0xd1, 0xa3,0xdc,0xdc,0x7f +.byte 0x44,0x22,0x22,0x66, 0x54,0x2a,0x2a,0x7e +.byte 0x3b,0x90,0x90,0xab, 0x0b,0x88,0x88,0x83 +.byte 0x8c,0x46,0x46,0xca, 0xc7,0xee,0xee,0x29 +.byte 0x6b,0xb8,0xb8,0xd3, 0x28,0x14,0x14,0x3c +.byte 0xa7,0xde,0xde,0x79, 0xbc,0x5e,0x5e,0xe2 +.byte 0x16,0x0b,0x0b,0x1d, 0xad,0xdb,0xdb,0x76 +.byte 0xdb,0xe0,0xe0,0x3b, 0x64,0x32,0x32,0x56 +.byte 0x74,0x3a,0x3a,0x4e, 0x14,0x0a,0x0a,0x1e +.byte 0x92,0x49,0x49,0xdb, 0x0c,0x06,0x06,0x0a +.byte 0x48,0x24,0x24,0x6c, 0xb8,0x5c,0x5c,0xe4 +.byte 0x9f,0xc2,0xc2,0x5d, 0xbd,0xd3,0xd3,0x6e +.byte 0x43,0xac,0xac,0xef, 0xc4,0x62,0x62,0xa6 +.byte 0x39,0x91,0x91,0xa8, 0x31,0x95,0x95,0xa4 +.byte 0xd3,0xe4,0xe4,0x37, 0xf2,0x79,0x79,0x8b +.byte 0xd5,0xe7,0xe7,0x32, 0x8b,0xc8,0xc8,0x43 +.byte 0x6e,0x37,0x37,0x59, 0xda,0x6d,0x6d,0xb7 +.byte 0x01,0x8d,0x8d,0x8c, 0xb1,0xd5,0xd5,0x64 +.byte 0x9c,0x4e,0x4e,0xd2, 0x49,0xa9,0xa9,0xe0 +.byte 0xd8,0x6c,0x6c,0xb4, 0xac,0x56,0x56,0xfa +.byte 0xf3,0xf4,0xf4,0x07, 0xcf,0xea,0xea,0x25 +.byte 0xca,0x65,0x65,0xaf, 0xf4,0x7a,0x7a,0x8e +.byte 0x47,0xae,0xae,0xe9, 0x10,0x08,0x08,0x18 +.byte 0x6f,0xba,0xba,0xd5, 0xf0,0x78,0x78,0x88 +.byte 0x4a,0x25,0x25,0x6f, 0x5c,0x2e,0x2e,0x72 +.byte 0x38,0x1c,0x1c,0x24, 0x57,0xa6,0xa6,0xf1 +.byte 0x73,0xb4,0xb4,0xc7, 0x97,0xc6,0xc6,0x51 +.byte 0xcb,0xe8,0xe8,0x23, 0xa1,0xdd,0xdd,0x7c +.byte 0xe8,0x74,0x74,0x9c, 0x3e,0x1f,0x1f,0x21 +.byte 0x96,0x4b,0x4b,0xdd, 0x61,0xbd,0xbd,0xdc +.byte 0x0d,0x8b,0x8b,0x86, 0x0f,0x8a,0x8a,0x85 +.byte 0xe0,0x70,0x70,0x90, 0x7c,0x3e,0x3e,0x42 +.byte 0x71,0xb5,0xb5,0xc4, 0xcc,0x66,0x66,0xaa +.byte 0x90,0x48,0x48,0xd8, 0x06,0x03,0x03,0x05 +.byte 0xf7,0xf6,0xf6,0x01, 0x1c,0x0e,0x0e,0x12 +.byte 0xc2,0x61,0x61,0xa3, 0x6a,0x35,0x35,0x5f +.byte 0xae,0x57,0x57,0xf9, 0x69,0xb9,0xb9,0xd0 +.byte 0x17,0x86,0x86,0x91, 0x99,0xc1,0xc1,0x58 +.byte 0x3a,0x1d,0x1d,0x27, 0x27,0x9e,0x9e,0xb9 +.byte 0xd9,0xe1,0xe1,0x38, 0xeb,0xf8,0xf8,0x13 +.byte 0x2b,0x98,0x98,0xb3, 0x22,0x11,0x11,0x33 +.byte 0xd2,0x69,0x69,0xbb, 0xa9,0xd9,0xd9,0x70 +.byte 0x07,0x8e,0x8e,0x89, 0x33,0x94,0x94,0xa7 +.byte 0x2d,0x9b,0x9b,0xb6, 0x3c,0x1e,0x1e,0x22 +.byte 0x15,0x87,0x87,0x92, 0xc9,0xe9,0xe9,0x20 +.byte 0x87,0xce,0xce,0x49, 0xaa,0x55,0x55,0xff +.byte 0x50,0x28,0x28,0x78, 0xa5,0xdf,0xdf,0x7a +.byte 0x03,0x8c,0x8c,0x8f, 0x59,0xa1,0xa1,0xf8 +.byte 0x09,0x89,0x89,0x80, 0x1a,0x0d,0x0d,0x17 +.byte 0x65,0xbf,0xbf,0xda, 0xd7,0xe6,0xe6,0x31 +.byte 0x84,0x42,0x42,0xc6, 0xd0,0x68,0x68,0xb8 +.byte 0x82,0x41,0x41,0xc3, 0x29,0x99,0x99,0xb0 +.byte 0x5a,0x2d,0x2d,0x77, 0x1e,0x0f,0x0f,0x11 +.byte 0x7b,0xb0,0xb0,0xcb, 0xa8,0x54,0x54,0xfc +.byte 0x6d,0xbb,0xbb,0xd6, 0x2c,0x16,0x16,0x3a + +AES_Td: +.byte 0x51,0xf4,0xa7,0x50, 0x7e,0x41,0x65,0x53 # Td0 +.byte 0x1a,0x17,0xa4,0xc3, 0x3a,0x27,0x5e,0x96 +.byte 0x3b,0xab,0x6b,0xcb, 0x1f,0x9d,0x45,0xf1 +.byte 0xac,0xfa,0x58,0xab, 0x4b,0xe3,0x03,0x93 +.byte 0x20,0x30,0xfa,0x55, 0xad,0x76,0x6d,0xf6 +.byte 0x88,0xcc,0x76,0x91, 0xf5,0x02,0x4c,0x25 +.byte 0x4f,0xe5,0xd7,0xfc, 0xc5,0x2a,0xcb,0xd7 +.byte 0x26,0x35,0x44,0x80, 0xb5,0x62,0xa3,0x8f +.byte 0xde,0xb1,0x5a,0x49, 0x25,0xba,0x1b,0x67 +.byte 0x45,0xea,0x0e,0x98, 0x5d,0xfe,0xc0,0xe1 +.byte 0xc3,0x2f,0x75,0x02, 0x81,0x4c,0xf0,0x12 +.byte 0x8d,0x46,0x97,0xa3, 0x6b,0xd3,0xf9,0xc6 +.byte 0x03,0x8f,0x5f,0xe7, 0x15,0x92,0x9c,0x95 +.byte 0xbf,0x6d,0x7a,0xeb, 0x95,0x52,0x59,0xda +.byte 0xd4,0xbe,0x83,0x2d, 0x58,0x74,0x21,0xd3 +.byte 0x49,0xe0,0x69,0x29, 0x8e,0xc9,0xc8,0x44 +.byte 0x75,0xc2,0x89,0x6a, 0xf4,0x8e,0x79,0x78 +.byte 0x99,0x58,0x3e,0x6b, 0x27,0xb9,0x71,0xdd +.byte 0xbe,0xe1,0x4f,0xb6, 0xf0,0x88,0xad,0x17 +.byte 0xc9,0x20,0xac,0x66, 0x7d,0xce,0x3a,0xb4 +.byte 0x63,0xdf,0x4a,0x18, 0xe5,0x1a,0x31,0x82 +.byte 0x97,0x51,0x33,0x60, 0x62,0x53,0x7f,0x45 +.byte 0xb1,0x64,0x77,0xe0, 0xbb,0x6b,0xae,0x84 +.byte 0xfe,0x81,0xa0,0x1c, 0xf9,0x08,0x2b,0x94 +.byte 0x70,0x48,0x68,0x58, 0x8f,0x45,0xfd,0x19 +.byte 0x94,0xde,0x6c,0x87, 0x52,0x7b,0xf8,0xb7 +.byte 0xab,0x73,0xd3,0x23, 0x72,0x4b,0x02,0xe2 +.byte 0xe3,0x1f,0x8f,0x57, 0x66,0x55,0xab,0x2a +.byte 0xb2,0xeb,0x28,0x07, 0x2f,0xb5,0xc2,0x03 +.byte 0x86,0xc5,0x7b,0x9a, 0xd3,0x37,0x08,0xa5 +.byte 0x30,0x28,0x87,0xf2, 0x23,0xbf,0xa5,0xb2 +.byte 0x02,0x03,0x6a,0xba, 0xed,0x16,0x82,0x5c +.byte 0x8a,0xcf,0x1c,0x2b, 0xa7,0x79,0xb4,0x92 +.byte 0xf3,0x07,0xf2,0xf0, 0x4e,0x69,0xe2,0xa1 +.byte 0x65,0xda,0xf4,0xcd, 0x06,0x05,0xbe,0xd5 +.byte 0xd1,0x34,0x62,0x1f, 0xc4,0xa6,0xfe,0x8a +.byte 0x34,0x2e,0x53,0x9d, 0xa2,0xf3,0x55,0xa0 +.byte 0x05,0x8a,0xe1,0x32, 0xa4,0xf6,0xeb,0x75 +.byte 0x0b,0x83,0xec,0x39, 0x40,0x60,0xef,0xaa +.byte 0x5e,0x71,0x9f,0x06, 0xbd,0x6e,0x10,0x51 +.byte 0x3e,0x21,0x8a,0xf9, 0x96,0xdd,0x06,0x3d +.byte 0xdd,0x3e,0x05,0xae, 0x4d,0xe6,0xbd,0x46 +.byte 0x91,0x54,0x8d,0xb5, 0x71,0xc4,0x5d,0x05 +.byte 0x04,0x06,0xd4,0x6f, 0x60,0x50,0x15,0xff +.byte 0x19,0x98,0xfb,0x24, 0xd6,0xbd,0xe9,0x97 +.byte 0x89,0x40,0x43,0xcc, 0x67,0xd9,0x9e,0x77 +.byte 0xb0,0xe8,0x42,0xbd, 0x07,0x89,0x8b,0x88 +.byte 0xe7,0x19,0x5b,0x38, 0x79,0xc8,0xee,0xdb +.byte 0xa1,0x7c,0x0a,0x47, 0x7c,0x42,0x0f,0xe9 +.byte 0xf8,0x84,0x1e,0xc9, 0x00,0x00,0x00,0x00 +.byte 0x09,0x80,0x86,0x83, 0x32,0x2b,0xed,0x48 +.byte 0x1e,0x11,0x70,0xac, 0x6c,0x5a,0x72,0x4e +.byte 0xfd,0x0e,0xff,0xfb, 0x0f,0x85,0x38,0x56 +.byte 0x3d,0xae,0xd5,0x1e, 0x36,0x2d,0x39,0x27 +.byte 0x0a,0x0f,0xd9,0x64, 0x68,0x5c,0xa6,0x21 +.byte 0x9b,0x5b,0x54,0xd1, 0x24,0x36,0x2e,0x3a +.byte 0x0c,0x0a,0x67,0xb1, 0x93,0x57,0xe7,0x0f +.byte 0xb4,0xee,0x96,0xd2, 0x1b,0x9b,0x91,0x9e +.byte 0x80,0xc0,0xc5,0x4f, 0x61,0xdc,0x20,0xa2 +.byte 0x5a,0x77,0x4b,0x69, 0x1c,0x12,0x1a,0x16 +.byte 0xe2,0x93,0xba,0x0a, 0xc0,0xa0,0x2a,0xe5 +.byte 0x3c,0x22,0xe0,0x43, 0x12,0x1b,0x17,0x1d +.byte 0x0e,0x09,0x0d,0x0b, 0xf2,0x8b,0xc7,0xad +.byte 0x2d,0xb6,0xa8,0xb9, 0x14,0x1e,0xa9,0xc8 +.byte 0x57,0xf1,0x19,0x85, 0xaf,0x75,0x07,0x4c +.byte 0xee,0x99,0xdd,0xbb, 0xa3,0x7f,0x60,0xfd +.byte 0xf7,0x01,0x26,0x9f, 0x5c,0x72,0xf5,0xbc +.byte 0x44,0x66,0x3b,0xc5, 0x5b,0xfb,0x7e,0x34 +.byte 0x8b,0x43,0x29,0x76, 0xcb,0x23,0xc6,0xdc +.byte 0xb6,0xed,0xfc,0x68, 0xb8,0xe4,0xf1,0x63 +.byte 0xd7,0x31,0xdc,0xca, 0x42,0x63,0x85,0x10 +.byte 0x13,0x97,0x22,0x40, 0x84,0xc6,0x11,0x20 +.byte 0x85,0x4a,0x24,0x7d, 0xd2,0xbb,0x3d,0xf8 +.byte 0xae,0xf9,0x32,0x11, 0xc7,0x29,0xa1,0x6d +.byte 0x1d,0x9e,0x2f,0x4b, 0xdc,0xb2,0x30,0xf3 +.byte 0x0d,0x86,0x52,0xec, 0x77,0xc1,0xe3,0xd0 +.byte 0x2b,0xb3,0x16,0x6c, 0xa9,0x70,0xb9,0x99 +.byte 0x11,0x94,0x48,0xfa, 0x47,0xe9,0x64,0x22 +.byte 0xa8,0xfc,0x8c,0xc4, 0xa0,0xf0,0x3f,0x1a +.byte 0x56,0x7d,0x2c,0xd8, 0x22,0x33,0x90,0xef +.byte 0x87,0x49,0x4e,0xc7, 0xd9,0x38,0xd1,0xc1 +.byte 0x8c,0xca,0xa2,0xfe, 0x98,0xd4,0x0b,0x36 +.byte 0xa6,0xf5,0x81,0xcf, 0xa5,0x7a,0xde,0x28 +.byte 0xda,0xb7,0x8e,0x26, 0x3f,0xad,0xbf,0xa4 +.byte 0x2c,0x3a,0x9d,0xe4, 0x50,0x78,0x92,0x0d +.byte 0x6a,0x5f,0xcc,0x9b, 0x54,0x7e,0x46,0x62 +.byte 0xf6,0x8d,0x13,0xc2, 0x90,0xd8,0xb8,0xe8 +.byte 0x2e,0x39,0xf7,0x5e, 0x82,0xc3,0xaf,0xf5 +.byte 0x9f,0x5d,0x80,0xbe, 0x69,0xd0,0x93,0x7c +.byte 0x6f,0xd5,0x2d,0xa9, 0xcf,0x25,0x12,0xb3 +.byte 0xc8,0xac,0x99,0x3b, 0x10,0x18,0x7d,0xa7 +.byte 0xe8,0x9c,0x63,0x6e, 0xdb,0x3b,0xbb,0x7b +.byte 0xcd,0x26,0x78,0x09, 0x6e,0x59,0x18,0xf4 +.byte 0xec,0x9a,0xb7,0x01, 0x83,0x4f,0x9a,0xa8 +.byte 0xe6,0x95,0x6e,0x65, 0xaa,0xff,0xe6,0x7e +.byte 0x21,0xbc,0xcf,0x08, 0xef,0x15,0xe8,0xe6 +.byte 0xba,0xe7,0x9b,0xd9, 0x4a,0x6f,0x36,0xce +.byte 0xea,0x9f,0x09,0xd4, 0x29,0xb0,0x7c,0xd6 +.byte 0x31,0xa4,0xb2,0xaf, 0x2a,0x3f,0x23,0x31 +.byte 0xc6,0xa5,0x94,0x30, 0x35,0xa2,0x66,0xc0 +.byte 0x74,0x4e,0xbc,0x37, 0xfc,0x82,0xca,0xa6 +.byte 0xe0,0x90,0xd0,0xb0, 0x33,0xa7,0xd8,0x15 +.byte 0xf1,0x04,0x98,0x4a, 0x41,0xec,0xda,0xf7 +.byte 0x7f,0xcd,0x50,0x0e, 0x17,0x91,0xf6,0x2f +.byte 0x76,0x4d,0xd6,0x8d, 0x43,0xef,0xb0,0x4d +.byte 0xcc,0xaa,0x4d,0x54, 0xe4,0x96,0x04,0xdf +.byte 0x9e,0xd1,0xb5,0xe3, 0x4c,0x6a,0x88,0x1b +.byte 0xc1,0x2c,0x1f,0xb8, 0x46,0x65,0x51,0x7f +.byte 0x9d,0x5e,0xea,0x04, 0x01,0x8c,0x35,0x5d +.byte 0xfa,0x87,0x74,0x73, 0xfb,0x0b,0x41,0x2e +.byte 0xb3,0x67,0x1d,0x5a, 0x92,0xdb,0xd2,0x52 +.byte 0xe9,0x10,0x56,0x33, 0x6d,0xd6,0x47,0x13 +.byte 0x9a,0xd7,0x61,0x8c, 0x37,0xa1,0x0c,0x7a +.byte 0x59,0xf8,0x14,0x8e, 0xeb,0x13,0x3c,0x89 +.byte 0xce,0xa9,0x27,0xee, 0xb7,0x61,0xc9,0x35 +.byte 0xe1,0x1c,0xe5,0xed, 0x7a,0x47,0xb1,0x3c +.byte 0x9c,0xd2,0xdf,0x59, 0x55,0xf2,0x73,0x3f +.byte 0x18,0x14,0xce,0x79, 0x73,0xc7,0x37,0xbf +.byte 0x53,0xf7,0xcd,0xea, 0x5f,0xfd,0xaa,0x5b +.byte 0xdf,0x3d,0x6f,0x14, 0x78,0x44,0xdb,0x86 +.byte 0xca,0xaf,0xf3,0x81, 0xb9,0x68,0xc4,0x3e +.byte 0x38,0x24,0x34,0x2c, 0xc2,0xa3,0x40,0x5f +.byte 0x16,0x1d,0xc3,0x72, 0xbc,0xe2,0x25,0x0c +.byte 0x28,0x3c,0x49,0x8b, 0xff,0x0d,0x95,0x41 +.byte 0x39,0xa8,0x01,0x71, 0x08,0x0c,0xb3,0xde +.byte 0xd8,0xb4,0xe4,0x9c, 0x64,0x56,0xc1,0x90 +.byte 0x7b,0xcb,0x84,0x61, 0xd5,0x32,0xb6,0x70 +.byte 0x48,0x6c,0x5c,0x74, 0xd0,0xb8,0x57,0x42 + +.byte 0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38 # Td4 +.byte 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb +.byte 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87 +.byte 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb +.byte 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d +.byte 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e +.byte 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2 +.byte 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25 +.byte 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16 +.byte 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92 +.byte 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda +.byte 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84 +.byte 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a +.byte 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06 +.byte 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02 +.byte 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b +.byte 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea +.byte 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73 +.byte 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85 +.byte 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e +.byte 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89 +.byte 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b +.byte 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20 +.byte 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4 +.byte 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31 +.byte 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f +.byte 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d +.byte 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef +.byte 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0 +.byte 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61 +.byte 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26 +.byte 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d + +AES_Te4: +.byte 0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5 # Te4 +.byte 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76 +.byte 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0 +.byte 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0 +.byte 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc +.byte 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15 +.byte 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a +.byte 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75 +.byte 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0 +.byte 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84 +.byte 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b +.byte 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf +.byte 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85 +.byte 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8 +.byte 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5 +.byte 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2 +.byte 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17 +.byte 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73 +.byte 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88 +.byte 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb +.byte 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c +.byte 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79 +.byte 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9 +.byte 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08 +.byte 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6 +.byte 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a +.byte 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e +.byte 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e +.byte 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94 +.byte 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf +.byte 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68 +.byte 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16 + +.byte 0x01,0x00,0x00,0x00, 0x02,0x00,0x00,0x00 # rcon +.byte 0x04,0x00,0x00,0x00, 0x08,0x00,0x00,0x00 +.byte 0x10,0x00,0x00,0x00, 0x20,0x00,0x00,0x00 +.byte 0x40,0x00,0x00,0x00, 0x80,0x00,0x00,0x00 +.byte 0x1B,0x00,0x00,0x00, 0x36,0x00,0x00,0x00 diff --git a/deps/openssl/config/archs/linux64-mips64/asm/crypto/bn/bn-mips.S b/deps/openssl/config/archs/linux64-mips64/asm/crypto/bn/bn-mips.S new file mode 100644 index 00000000000000..a99091fe44751e --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/asm/crypto/bn/bn-mips.S @@ -0,0 +1,2180 @@ +#include "mips_arch.h" + +#if defined(_MIPS_ARCH_MIPS64R6) +# define ddivu(rs,rt) +# define mfqt(rd,rs,rt) ddivu rd,rs,rt +# define mfrm(rd,rs,rt) dmodu rd,rs,rt +#elif defined(_MIPS_ARCH_MIPS32R6) +# define divu(rs,rt) +# define mfqt(rd,rs,rt) divu rd,rs,rt +# define mfrm(rd,rs,rt) modu rd,rs,rt +#else +# define ddivu(rs,rt) ddivu $0,rs,rt +# define mfqt(rd,rs,rt) mflo rd +# define mfrm(rd,rs,rt) mfhi rd +#endif + +.rdata +.asciiz "mips3.s, Version 1.2" +.asciiz "MIPS II/III/IV ISA artwork by Andy Polyakov " + +.text +.set noat + +.align 5 +.globl bn_mul_add_words +.ent bn_mul_add_words +bn_mul_add_words: + .set noreorder + bgtz $6,bn_mul_add_words_internal + move $2,$0 + jr $31 + move $4,$2 +.end bn_mul_add_words + +.align 5 +.ent bn_mul_add_words_internal +bn_mul_add_words_internal: + .set reorder + li $3,-4 + and $8,$6,$3 + beqz $8,.L_bn_mul_add_words_tail + +.L_bn_mul_add_words_loop: + ld $12,0($5) + dmultu ($12,$7) + ld $13,0($4) + ld $14,8($5) + ld $15,8($4) + ld $8,2*8($5) + ld $9,2*8($4) + daddu $13,$2 + sltu $2,$13,$2 # All manuals say it "compares 32-bit + # values", but it seems to work fine + # even on 64-bit registers. + mflo ($1,$12,$7) + mfhi ($12,$12,$7) + daddu $13,$1 + daddu $2,$12 + dmultu ($14,$7) + sltu $1,$13,$1 + sd $13,0($4) + daddu $2,$1 + + ld $10,3*8($5) + ld $11,3*8($4) + daddu $15,$2 + sltu $2,$15,$2 + mflo ($1,$14,$7) + mfhi ($14,$14,$7) + daddu $15,$1 + daddu $2,$14 + dmultu ($8,$7) + sltu $1,$15,$1 + sd $15,8($4) + daddu $2,$1 + + subu $6,4 + daddu $4,4*8 + daddu $5,4*8 + daddu $9,$2 + sltu $2,$9,$2 + mflo ($1,$8,$7) + mfhi ($8,$8,$7) + daddu $9,$1 + daddu $2,$8 + dmultu ($10,$7) + sltu $1,$9,$1 + sd $9,-2*8($4) + daddu $2,$1 + + + and $8,$6,$3 + daddu $11,$2 + sltu $2,$11,$2 + mflo ($1,$10,$7) + mfhi ($10,$10,$7) + daddu $11,$1 + daddu $2,$10 + sltu $1,$11,$1 + sd $11,-8($4) + .set noreorder + bgtz $8,.L_bn_mul_add_words_loop + daddu $2,$1 + + beqz $6,.L_bn_mul_add_words_return + nop + +.L_bn_mul_add_words_tail: + .set reorder + ld $12,0($5) + dmultu ($12,$7) + ld $13,0($4) + subu $6,1 + daddu $13,$2 + sltu $2,$13,$2 + mflo ($1,$12,$7) + mfhi ($12,$12,$7) + daddu $13,$1 + daddu $2,$12 + sltu $1,$13,$1 + sd $13,0($4) + daddu $2,$1 + beqz $6,.L_bn_mul_add_words_return + + ld $12,8($5) + dmultu ($12,$7) + ld $13,8($4) + subu $6,1 + daddu $13,$2 + sltu $2,$13,$2 + mflo ($1,$12,$7) + mfhi ($12,$12,$7) + daddu $13,$1 + daddu $2,$12 + sltu $1,$13,$1 + sd $13,8($4) + daddu $2,$1 + beqz $6,.L_bn_mul_add_words_return + + ld $12,2*8($5) + dmultu ($12,$7) + ld $13,2*8($4) + daddu $13,$2 + sltu $2,$13,$2 + mflo ($1,$12,$7) + mfhi ($12,$12,$7) + daddu $13,$1 + daddu $2,$12 + sltu $1,$13,$1 + sd $13,2*8($4) + daddu $2,$1 + +.L_bn_mul_add_words_return: + .set noreorder + jr $31 + move $4,$2 +.end bn_mul_add_words_internal + +.align 5 +.globl bn_mul_words +.ent bn_mul_words +bn_mul_words: + .set noreorder + bgtz $6,bn_mul_words_internal + move $2,$0 + jr $31 + move $4,$2 +.end bn_mul_words + +.align 5 +.ent bn_mul_words_internal +bn_mul_words_internal: + .set reorder + li $3,-4 + and $8,$6,$3 + beqz $8,.L_bn_mul_words_tail + +.L_bn_mul_words_loop: + ld $12,0($5) + dmultu ($12,$7) + ld $14,8($5) + ld $8,2*8($5) + ld $10,3*8($5) + mflo ($1,$12,$7) + mfhi ($12,$12,$7) + daddu $2,$1 + sltu $13,$2,$1 + dmultu ($14,$7) + sd $2,0($4) + daddu $2,$13,$12 + + subu $6,4 + daddu $4,4*8 + daddu $5,4*8 + mflo ($1,$14,$7) + mfhi ($14,$14,$7) + daddu $2,$1 + sltu $15,$2,$1 + dmultu ($8,$7) + sd $2,-3*8($4) + daddu $2,$15,$14 + + mflo ($1,$8,$7) + mfhi ($8,$8,$7) + daddu $2,$1 + sltu $9,$2,$1 + dmultu ($10,$7) + sd $2,-2*8($4) + daddu $2,$9,$8 + + and $8,$6,$3 + mflo ($1,$10,$7) + mfhi ($10,$10,$7) + daddu $2,$1 + sltu $11,$2,$1 + sd $2,-8($4) + .set noreorder + bgtz $8,.L_bn_mul_words_loop + daddu $2,$11,$10 + + beqz $6,.L_bn_mul_words_return + nop + +.L_bn_mul_words_tail: + .set reorder + ld $12,0($5) + dmultu ($12,$7) + subu $6,1 + mflo ($1,$12,$7) + mfhi ($12,$12,$7) + daddu $2,$1 + sltu $13,$2,$1 + sd $2,0($4) + daddu $2,$13,$12 + beqz $6,.L_bn_mul_words_return + + ld $12,8($5) + dmultu ($12,$7) + subu $6,1 + mflo ($1,$12,$7) + mfhi ($12,$12,$7) + daddu $2,$1 + sltu $13,$2,$1 + sd $2,8($4) + daddu $2,$13,$12 + beqz $6,.L_bn_mul_words_return + + ld $12,2*8($5) + dmultu ($12,$7) + mflo ($1,$12,$7) + mfhi ($12,$12,$7) + daddu $2,$1 + sltu $13,$2,$1 + sd $2,2*8($4) + daddu $2,$13,$12 + +.L_bn_mul_words_return: + .set noreorder + jr $31 + move $4,$2 +.end bn_mul_words_internal + +.align 5 +.globl bn_sqr_words +.ent bn_sqr_words +bn_sqr_words: + .set noreorder + bgtz $6,bn_sqr_words_internal + move $2,$0 + jr $31 + move $4,$2 +.end bn_sqr_words + +.align 5 +.ent bn_sqr_words_internal +bn_sqr_words_internal: + .set reorder + li $3,-4 + and $8,$6,$3 + beqz $8,.L_bn_sqr_words_tail + +.L_bn_sqr_words_loop: + ld $12,0($5) + dmultu ($12,$12) + ld $14,8($5) + ld $8,2*8($5) + ld $10,3*8($5) + mflo ($13,$12,$12) + mfhi ($12,$12,$12) + sd $13,0($4) + sd $12,8($4) + + dmultu ($14,$14) + subu $6,4 + daddu $4,8*8 + daddu $5,4*8 + mflo ($15,$14,$14) + mfhi ($14,$14,$14) + sd $15,-6*8($4) + sd $14,-5*8($4) + + dmultu ($8,$8) + mflo ($9,$8,$8) + mfhi ($8,$8,$8) + sd $9,-4*8($4) + sd $8,-3*8($4) + + + dmultu ($10,$10) + and $8,$6,$3 + mflo ($11,$10,$10) + mfhi ($10,$10,$10) + sd $11,-2*8($4) + + .set noreorder + bgtz $8,.L_bn_sqr_words_loop + sd $10,-8($4) + + beqz $6,.L_bn_sqr_words_return + nop + +.L_bn_sqr_words_tail: + .set reorder + ld $12,0($5) + dmultu ($12,$12) + subu $6,1 + mflo ($13,$12,$12) + mfhi ($12,$12,$12) + sd $13,0($4) + sd $12,8($4) + beqz $6,.L_bn_sqr_words_return + + ld $12,8($5) + dmultu ($12,$12) + subu $6,1 + mflo ($13,$12,$12) + mfhi ($12,$12,$12) + sd $13,2*8($4) + sd $12,3*8($4) + beqz $6,.L_bn_sqr_words_return + + ld $12,2*8($5) + dmultu ($12,$12) + mflo ($13,$12,$12) + mfhi ($12,$12,$12) + sd $13,4*8($4) + sd $12,5*8($4) + +.L_bn_sqr_words_return: + .set noreorder + jr $31 + move $4,$2 + +.end bn_sqr_words_internal + +.align 5 +.globl bn_add_words +.ent bn_add_words +bn_add_words: + .set noreorder + bgtz $7,bn_add_words_internal + move $2,$0 + jr $31 + move $4,$2 +.end bn_add_words + +.align 5 +.ent bn_add_words_internal +bn_add_words_internal: + .set reorder + li $3,-4 + and $1,$7,$3 + beqz $1,.L_bn_add_words_tail + +.L_bn_add_words_loop: + ld $12,0($5) + ld $8,0($6) + subu $7,4 + ld $13,8($5) + and $1,$7,$3 + ld $14,2*8($5) + daddu $6,4*8 + ld $15,3*8($5) + daddu $4,4*8 + ld $9,-3*8($6) + daddu $5,4*8 + ld $10,-2*8($6) + ld $11,-8($6) + daddu $8,$12 + sltu $24,$8,$12 + daddu $12,$8,$2 + sltu $2,$12,$8 + sd $12,-4*8($4) + daddu $2,$24 + + daddu $9,$13 + sltu $25,$9,$13 + daddu $13,$9,$2 + sltu $2,$13,$9 + sd $13,-3*8($4) + daddu $2,$25 + + daddu $10,$14 + sltu $24,$10,$14 + daddu $14,$10,$2 + sltu $2,$14,$10 + sd $14,-2*8($4) + daddu $2,$24 + + daddu $11,$15 + sltu $25,$11,$15 + daddu $15,$11,$2 + sltu $2,$15,$11 + sd $15,-8($4) + + .set noreorder + bgtz $1,.L_bn_add_words_loop + daddu $2,$25 + + beqz $7,.L_bn_add_words_return + nop + +.L_bn_add_words_tail: + .set reorder + ld $12,0($5) + ld $8,0($6) + daddu $8,$12 + subu $7,1 + sltu $24,$8,$12 + daddu $12,$8,$2 + sltu $2,$12,$8 + sd $12,0($4) + daddu $2,$24 + beqz $7,.L_bn_add_words_return + + ld $13,8($5) + ld $9,8($6) + daddu $9,$13 + subu $7,1 + sltu $25,$9,$13 + daddu $13,$9,$2 + sltu $2,$13,$9 + sd $13,8($4) + daddu $2,$25 + beqz $7,.L_bn_add_words_return + + ld $14,2*8($5) + ld $10,2*8($6) + daddu $10,$14 + sltu $24,$10,$14 + daddu $14,$10,$2 + sltu $2,$14,$10 + sd $14,2*8($4) + daddu $2,$24 + +.L_bn_add_words_return: + .set noreorder + jr $31 + move $4,$2 + +.end bn_add_words_internal + +.align 5 +.globl bn_sub_words +.ent bn_sub_words +bn_sub_words: + .set noreorder + bgtz $7,bn_sub_words_internal + move $2,$0 + jr $31 + move $4,$0 +.end bn_sub_words + +.align 5 +.ent bn_sub_words_internal +bn_sub_words_internal: + .set reorder + li $3,-4 + and $1,$7,$3 + beqz $1,.L_bn_sub_words_tail + +.L_bn_sub_words_loop: + ld $12,0($5) + ld $8,0($6) + subu $7,4 + ld $13,8($5) + and $1,$7,$3 + ld $14,2*8($5) + daddu $6,4*8 + ld $15,3*8($5) + daddu $4,4*8 + ld $9,-3*8($6) + daddu $5,4*8 + ld $10,-2*8($6) + ld $11,-8($6) + sltu $24,$12,$8 + dsubu $8,$12,$8 + dsubu $12,$8,$2 + sgtu $2,$12,$8 + sd $12,-4*8($4) + daddu $2,$24 + + sltu $25,$13,$9 + dsubu $9,$13,$9 + dsubu $13,$9,$2 + sgtu $2,$13,$9 + sd $13,-3*8($4) + daddu $2,$25 + + + sltu $24,$14,$10 + dsubu $10,$14,$10 + dsubu $14,$10,$2 + sgtu $2,$14,$10 + sd $14,-2*8($4) + daddu $2,$24 + + sltu $25,$15,$11 + dsubu $11,$15,$11 + dsubu $15,$11,$2 + sgtu $2,$15,$11 + sd $15,-8($4) + + .set noreorder + bgtz $1,.L_bn_sub_words_loop + daddu $2,$25 + + beqz $7,.L_bn_sub_words_return + nop + +.L_bn_sub_words_tail: + .set reorder + ld $12,0($5) + ld $8,0($6) + subu $7,1 + sltu $24,$12,$8 + dsubu $8,$12,$8 + dsubu $12,$8,$2 + sgtu $2,$12,$8 + sd $12,0($4) + daddu $2,$24 + beqz $7,.L_bn_sub_words_return + + ld $13,8($5) + subu $7,1 + ld $9,8($6) + sltu $25,$13,$9 + dsubu $9,$13,$9 + dsubu $13,$9,$2 + sgtu $2,$13,$9 + sd $13,8($4) + daddu $2,$25 + beqz $7,.L_bn_sub_words_return + + ld $14,2*8($5) + ld $10,2*8($6) + sltu $24,$14,$10 + dsubu $10,$14,$10 + dsubu $14,$10,$2 + sgtu $2,$14,$10 + sd $14,2*8($4) + daddu $2,$24 + +.L_bn_sub_words_return: + .set noreorder + jr $31 + move $4,$2 +.end bn_sub_words_internal + +#if 0 +/* + * The bn_div_3_words entry point is re-used for constant-time interface. + * Implementation is retained as hystorical reference. + */ +.align 5 +.globl bn_div_3_words +.ent bn_div_3_words +bn_div_3_words: + .set noreorder + move $7,$4 # we know that bn_div_words does not + # touch $7, $10, $11 and preserves $6 + # so that we can save two arguments + # and return address in registers + # instead of stack:-) + + ld $4,($7) + move $10,$5 + bne $4,$6,bn_div_3_words_internal + ld $5,-8($7) + li $2,-1 + jr $31 + move $4,$2 +.end bn_div_3_words + +.align 5 +.ent bn_div_3_words_internal +bn_div_3_words_internal: + .set reorder + move $11,$31 + bal bn_div_words_internal + move $31,$11 + dmultu ($10,$2) + ld $14,-2*8($7) + move $8,$0 + mfhi ($13,$10,$2) + mflo ($12,$10,$2) + sltu $24,$13,$5 +.L_bn_div_3_words_inner_loop: + bnez $24,.L_bn_div_3_words_inner_loop_done + sgeu $1,$14,$12 + seq $25,$13,$5 + and $1,$25 + sltu $15,$12,$10 + daddu $5,$6 + dsubu $13,$15 + dsubu $12,$10 + sltu $24,$13,$5 + sltu $8,$5,$6 + or $24,$8 + .set noreorder + beqz $1,.L_bn_div_3_words_inner_loop + dsubu $2,1 + daddu $2,1 + .set reorder +.L_bn_div_3_words_inner_loop_done: + .set noreorder + jr $31 + move $4,$2 +.end bn_div_3_words_internal +#endif + +.align 5 +.globl bn_div_words +.ent bn_div_words +bn_div_words: + .set noreorder + bnez $6,bn_div_words_internal + li $2,-1 # I would rather signal div-by-zero + # which can be done with 'break 7' + jr $31 + move $4,$2 +.end bn_div_words + +.align 5 +.ent bn_div_words_internal +bn_div_words_internal: + move $3,$0 + bltz $6,.L_bn_div_words_body + move $25,$3 + dsll $6,1 + bgtz $6,.-4 + addu $25,1 + + .set reorder + negu $13,$25 + li $14,-1 + dsll $14,$13 + and $14,$4 + dsrl $1,$5,$13 + .set noreorder + beqz $14,.+12 + nop + break 6 # signal overflow + .set reorder + dsll $4,$25 + dsll $5,$25 + or $4,$1 +.L_bn_div_words_body: + dsrl $3,$6,4*8 # bits + sgeu $1,$4,$6 + .set noreorder + beqz $1,.+12 + nop + dsubu $4,$6 + .set reorder + + li $8,-1 + dsrl $9,$4,4*8 # bits + dsrl $8,4*8 # q=0xffffffff + beq $3,$9,.L_bn_div_words_skip_div1 + ddivu ($4,$3) + mfqt ($8,$4,$3) +.L_bn_div_words_skip_div1: + dmultu ($6,$8) + dsll $15,$4,4*8 # bits + dsrl $1,$5,4*8 # bits + or $15,$1 + mflo ($12,$6,$8) + mfhi ($13,$6,$8) +.L_bn_div_words_inner_loop1: + sltu $14,$15,$12 + seq $24,$9,$13 + sltu $1,$9,$13 + and $14,$24 + sltu $2,$12,$6 + or $1,$14 + .set noreorder + beqz $1,.L_bn_div_words_inner_loop1_done + dsubu $13,$2 + dsubu $12,$6 + b .L_bn_div_words_inner_loop1 + dsubu $8,1 + .set reorder +.L_bn_div_words_inner_loop1_done: + + dsll $5,4*8 # bits + dsubu $4,$15,$12 + dsll $2,$8,4*8 # bits + + li $8,-1 + dsrl $9,$4,4*8 # bits + dsrl $8,4*8 # q=0xffffffff + beq $3,$9,.L_bn_div_words_skip_div2 + ddivu ($4,$3) + mfqt ($8,$4,$3) +.L_bn_div_words_skip_div2: + dmultu ($6,$8) + dsll $15,$4,4*8 # bits + dsrl $1,$5,4*8 # bits + or $15,$1 + mflo ($12,$6,$8) + mfhi ($13,$6,$8) +.L_bn_div_words_inner_loop2: + sltu $14,$15,$12 + seq $24,$9,$13 + sltu $1,$9,$13 + and $14,$24 + sltu $3,$12,$6 + or $1,$14 + .set noreorder + beqz $1,.L_bn_div_words_inner_loop2_done + dsubu $13,$3 + dsubu $12,$6 + b .L_bn_div_words_inner_loop2 + dsubu $8,1 + .set reorder +.L_bn_div_words_inner_loop2_done: + + dsubu $4,$15,$12 + or $2,$8 + dsrl $3,$4,$25 # $3 contains remainder if anybody wants it + dsrl $6,$25 # restore $6 + + .set noreorder + move $5,$3 + jr $31 + move $4,$2 +.end bn_div_words_internal + +.align 5 +.globl bn_mul_comba8 +.ent bn_mul_comba8 +bn_mul_comba8: + .set noreorder + .frame $29,6*8,$31 + .mask 0x003f0000,-8 + dsubu $29,6*8 + sd $21,5*8($29) + sd $20,4*8($29) + sd $19,3*8($29) + sd $18,2*8($29) + sd $17,1*8($29) + sd $16,0*8($29) + + .set reorder + ld $12,0($5) # If compiled with -mips3 option on + # R5000 box assembler barks on this + # 1ine with "should not have mult/div + # as last instruction in bb (R10K + # bug)" warning. If anybody out there + # has a clue about how to circumvent + # this do send me a note. + # + + ld $8,0($6) + ld $13,8($5) + ld $14,2*8($5) + dmultu ($12,$8) # mul_add_c(a[0],b[0],c1,c2,c3); + ld $15,3*8($5) + ld $9,8($6) + ld $10,2*8($6) + ld $11,3*8($6) + mflo ($2,$12,$8) + mfhi ($3,$12,$8) + + ld $16,4*8($5) + ld $18,5*8($5) + dmultu ($12,$9) # mul_add_c(a[0],b[1],c2,c3,c1); + ld $20,6*8($5) + ld $5,7*8($5) + ld $17,4*8($6) + ld $19,5*8($6) + mflo ($24,$12,$9) + mfhi ($25,$12,$9) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($13,$8) # mul_add_c(a[1],b[0],c2,c3,c1); + daddu $7,$25,$1 + ld $21,6*8($6) + ld $6,7*8($6) + sd $2,0($4) # r[0]=c1; + mflo ($24,$13,$8) + mfhi ($25,$13,$8) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($14,$8) # mul_add_c(a[2],b[0],c3,c1,c2); + daddu $25,$1 + daddu $7,$25 + sltu $2,$7,$25 + sd $3,8($4) # r[1]=c2; + + mflo ($24,$14,$8) + mfhi ($25,$14,$8) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($13,$9) # mul_add_c(a[1],b[1],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + mflo ($24,$13,$9) + mfhi ($25,$13,$9) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($12,$10) # mul_add_c(a[0],b[2],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + sltu $3,$2,$25 + mflo ($24,$12,$10) + mfhi ($25,$12,$10) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($12,$11) # mul_add_c(a[0],b[3],c1,c2,c3); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + sd $7,2*8($4) # r[2]=c3; + + mflo ($24,$12,$11) + mfhi ($25,$12,$11) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($13,$10) # mul_add_c(a[1],b[2],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $7,$3,$25 + mflo ($24,$13,$10) + mfhi ($25,$13,$10) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($14,$9) # mul_add_c(a[2],b[1],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + mflo ($24,$14,$9) + mfhi ($25,$14,$9) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($15,$8) # mul_add_c(a[3],b[0],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + mflo ($24,$15,$8) + mfhi ($25,$15,$8) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($16,$8) # mul_add_c(a[4],b[0],c2,c3,c1); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + sd $2,3*8($4) # r[3]=c1; + + mflo ($24,$16,$8) + mfhi ($25,$16,$8) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($15,$9) # mul_add_c(a[3],b[1],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $2,$7,$25 + mflo ($24,$15,$9) + mfhi ($25,$15,$9) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($14,$10) # mul_add_c(a[2],b[2],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + mflo ($24,$14,$10) + mfhi ($25,$14,$10) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($13,$11) # mul_add_c(a[1],b[3],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + mflo ($24,$13,$11) + mfhi ($25,$13,$11) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($12,$17) # mul_add_c(a[0],b[4],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + mflo ($24,$12,$17) + mfhi ($25,$12,$17) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($12,$19) # mul_add_c(a[0],b[5],c3,c1,c2); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + sd $3,4*8($4) # r[4]=c2; + + mflo ($24,$12,$19) + mfhi ($25,$12,$19) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($13,$17) # mul_add_c(a[1],b[4],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + sltu $3,$2,$25 + mflo ($24,$13,$17) + mfhi ($25,$13,$17) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($14,$11) # mul_add_c(a[2],b[3],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + mflo ($24,$14,$11) + mfhi ($25,$14,$11) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($15,$10) # mul_add_c(a[3],b[2],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + mflo ($24,$15,$10) + mfhi ($25,$15,$10) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($16,$9) # mul_add_c(a[4],b[1],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + mflo ($24,$16,$9) + mfhi ($25,$16,$9) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($18,$8) # mul_add_c(a[5],b[0],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + mflo ($24,$18,$8) + mfhi ($25,$18,$8) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($20,$8) # mul_add_c(a[6],b[0],c1,c2,c3); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + sd $7,5*8($4) # r[5]=c3; + + mflo ($24,$20,$8) + mfhi ($25,$20,$8) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($18,$9) # mul_add_c(a[5],b[1],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $7,$3,$25 + mflo ($24,$18,$9) + mfhi ($25,$18,$9) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($16,$10) # mul_add_c(a[4],b[2],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + mflo ($24,$16,$10) + mfhi ($25,$16,$10) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($15,$11) # mul_add_c(a[3],b[3],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + mflo ($24,$15,$11) + mfhi ($25,$15,$11) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($14,$17) # mul_add_c(a[2],b[4],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + mflo ($24,$14,$17) + mfhi ($25,$14,$17) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($13,$19) # mul_add_c(a[1],b[5],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + mflo ($24,$13,$19) + mfhi ($25,$13,$19) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($12,$21) # mul_add_c(a[0],b[6],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + mflo ($24,$12,$21) + mfhi ($25,$12,$21) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($12,$6) # mul_add_c(a[0],b[7],c2,c3,c1); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + sd $2,6*8($4) # r[6]=c1; + + mflo ($24,$12,$6) + mfhi ($25,$12,$6) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($13,$21) # mul_add_c(a[1],b[6],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $2,$7,$25 + mflo ($24,$13,$21) + mfhi ($25,$13,$21) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($14,$19) # mul_add_c(a[2],b[5],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + mflo ($24,$14,$19) + mfhi ($25,$14,$19) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($15,$17) # mul_add_c(a[3],b[4],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + mflo ($24,$15,$17) + mfhi ($25,$15,$17) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($16,$11) # mul_add_c(a[4],b[3],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + mflo ($24,$16,$11) + mfhi ($25,$16,$11) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($18,$10) # mul_add_c(a[5],b[2],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + mflo ($24,$18,$10) + mfhi ($25,$18,$10) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($20,$9) # mul_add_c(a[6],b[1],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + mflo ($24,$20,$9) + mfhi ($25,$20,$9) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($5,$8) # mul_add_c(a[7],b[0],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + mflo ($24,$5,$8) + mfhi ($25,$5,$8) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($5,$9) # mul_add_c(a[7],b[1],c3,c1,c2); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + sd $3,7*8($4) # r[7]=c2; + + mflo ($24,$5,$9) + mfhi ($25,$5,$9) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($20,$10) # mul_add_c(a[6],b[2],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + sltu $3,$2,$25 + mflo ($24,$20,$10) + mfhi ($25,$20,$10) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($18,$11) # mul_add_c(a[5],b[3],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + mflo ($24,$18,$11) + mfhi ($25,$18,$11) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($16,$17) # mul_add_c(a[4],b[4],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + mflo ($24,$16,$17) + mfhi ($25,$16,$17) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($15,$19) # mul_add_c(a[3],b[5],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + mflo ($24,$15,$19) + mfhi ($25,$15,$19) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($14,$21) # mul_add_c(a[2],b[6],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + mflo ($24,$14,$21) + mfhi ($25,$14,$21) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($13,$6) # mul_add_c(a[1],b[7],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + mflo ($24,$13,$6) + mfhi ($25,$13,$6) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($14,$6) # mul_add_c(a[2],b[7],c1,c2,c3); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + sd $7,8*8($4) # r[8]=c3; + + mflo ($24,$14,$6) + mfhi ($25,$14,$6) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($15,$21) # mul_add_c(a[3],b[6],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $7,$3,$25 + mflo ($24,$15,$21) + mfhi ($25,$15,$21) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($16,$19) # mul_add_c(a[4],b[5],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + mflo ($24,$16,$19) + mfhi ($25,$16,$19) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($18,$17) # mul_add_c(a[5],b[4],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + mflo ($24,$18,$17) + mfhi ($25,$18,$17) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($20,$11) # mul_add_c(a[6],b[3],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + mflo ($24,$20,$11) + mfhi ($25,$20,$11) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($5,$10) # mul_add_c(a[7],b[2],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + mflo ($24,$5,$10) + mfhi ($25,$5,$10) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($5,$11) # mul_add_c(a[7],b[3],c2,c3,c1); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + sd $2,9*8($4) # r[9]=c1; + + mflo ($24,$5,$11) + mfhi ($25,$5,$11) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($20,$17) # mul_add_c(a[6],b[4],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $2,$7,$25 + mflo ($24,$20,$17) + mfhi ($25,$20,$17) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($18,$19) # mul_add_c(a[5],b[5],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + mflo ($24,$18,$19) + mfhi ($25,$18,$19) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($16,$21) # mul_add_c(a[4],b[6],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + mflo ($24,$16,$21) + mfhi ($25,$16,$21) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($15,$6) # mul_add_c(a[3],b[7],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + mflo ($24,$15,$6) + mfhi ($25,$15,$6) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($16,$6) # mul_add_c(a[4],b[7],c3,c1,c2); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + sd $3,10*8($4) # r[10]=c2; + + mflo ($24,$16,$6) + mfhi ($25,$16,$6) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($18,$21) # mul_add_c(a[5],b[6],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + sltu $3,$2,$25 + mflo ($24,$18,$21) + mfhi ($25,$18,$21) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($20,$19) # mul_add_c(a[6],b[5],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + mflo ($24,$20,$19) + mfhi ($25,$20,$19) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($5,$17) # mul_add_c(a[7],b[4],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + mflo ($24,$5,$17) + mfhi ($25,$5,$17) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($5,$19) # mul_add_c(a[7],b[5],c1,c2,c3); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + sd $7,11*8($4) # r[11]=c3; + + mflo ($24,$5,$19) + mfhi ($25,$5,$19) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($20,$21) # mul_add_c(a[6],b[6],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $7,$3,$25 + mflo ($24,$20,$21) + mfhi ($25,$20,$21) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($18,$6) # mul_add_c(a[5],b[7],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + mflo ($24,$18,$6) + mfhi ($25,$18,$6) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($20,$6) # mul_add_c(a[6],b[7],c2,c3,c1); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + sd $2,12*8($4) # r[12]=c1; + + mflo ($24,$20,$6) + mfhi ($25,$20,$6) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($5,$21) # mul_add_c(a[7],b[6],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $2,$7,$25 + mflo ($24,$5,$21) + mfhi ($25,$5,$21) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($5,$6) # mul_add_c(a[7],b[7],c3,c1,c2); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + sd $3,13*8($4) # r[13]=c2; + + mflo ($24,$5,$6) + mfhi ($25,$5,$6) + daddu $7,$24 + sltu $1,$7,$24 + daddu $25,$1 + daddu $2,$25 + sd $7,14*8($4) # r[14]=c3; + sd $2,15*8($4) # r[15]=c1; + + .set noreorder + ld $21,5*8($29) + ld $20,4*8($29) + ld $19,3*8($29) + ld $18,2*8($29) + ld $17,1*8($29) + ld $16,0*8($29) + jr $31 + daddu $29,6*8 +.end bn_mul_comba8 + +.align 5 +.globl bn_mul_comba4 +.ent bn_mul_comba4 +bn_mul_comba4: + .set reorder + ld $12,0($5) + ld $8,0($6) + ld $13,8($5) + ld $14,2*8($5) + dmultu ($12,$8) # mul_add_c(a[0],b[0],c1,c2,c3); + ld $15,3*8($5) + ld $9,8($6) + ld $10,2*8($6) + ld $11,3*8($6) + mflo ($2,$12,$8) + mfhi ($3,$12,$8) + sd $2,0($4) + + dmultu ($12,$9) # mul_add_c(a[0],b[1],c2,c3,c1); + mflo ($24,$12,$9) + mfhi ($25,$12,$9) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($13,$8) # mul_add_c(a[1],b[0],c2,c3,c1); + daddu $7,$25,$1 + mflo ($24,$13,$8) + mfhi ($25,$13,$8) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($14,$8) # mul_add_c(a[2],b[0],c3,c1,c2); + daddu $25,$1 + daddu $7,$25 + sltu $2,$7,$25 + sd $3,8($4) + + mflo ($24,$14,$8) + mfhi ($25,$14,$8) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($13,$9) # mul_add_c(a[1],b[1],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + mflo ($24,$13,$9) + mfhi ($25,$13,$9) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($12,$10) # mul_add_c(a[0],b[2],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + sltu $3,$2,$25 + mflo ($24,$12,$10) + mfhi ($25,$12,$10) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($12,$11) # mul_add_c(a[0],b[3],c1,c2,c3); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + sd $7,2*8($4) + + mflo ($24,$12,$11) + mfhi ($25,$12,$11) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($13,$10) # mul_add_c(a[1],b[2],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $7,$3,$25 + mflo ($24,$13,$10) + mfhi ($25,$13,$10) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($14,$9) # mul_add_c(a[2],b[1],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + mflo ($24,$14,$9) + mfhi ($25,$14,$9) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($15,$8) # mul_add_c(a[3],b[0],c1,c2,c3); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + mflo ($24,$15,$8) + mfhi ($25,$15,$8) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($15,$9) # mul_add_c(a[3],b[1],c2,c3,c1); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + sd $2,3*8($4) + + mflo ($24,$15,$9) + mfhi ($25,$15,$9) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($14,$10) # mul_add_c(a[2],b[2],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $2,$7,$25 + mflo ($24,$14,$10) + mfhi ($25,$14,$10) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($13,$11) # mul_add_c(a[1],b[3],c2,c3,c1); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + mflo ($24,$13,$11) + mfhi ($25,$13,$11) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($14,$11) # mul_add_c(a[2],b[3],c3,c1,c2); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + sd $3,4*8($4) + + mflo ($24,$14,$11) + mfhi ($25,$14,$11) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($15,$10) # mul_add_c(a[3],b[2],c3,c1,c2); + daddu $25,$1 + daddu $2,$25 + sltu $3,$2,$25 + mflo ($24,$15,$10) + mfhi ($25,$15,$10) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($15,$11) # mul_add_c(a[3],b[3],c1,c2,c3); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + sd $7,5*8($4) + + mflo ($24,$15,$11) + mfhi ($25,$15,$11) + daddu $2,$24 + sltu $1,$2,$24 + daddu $25,$1 + daddu $3,$25 + sd $2,6*8($4) + sd $3,7*8($4) + + .set noreorder + jr $31 + nop +.end bn_mul_comba4 + +.align 5 +.globl bn_sqr_comba8 +.ent bn_sqr_comba8 +bn_sqr_comba8: + .set reorder + ld $12,0($5) + ld $13,8($5) + ld $14,2*8($5) + ld $15,3*8($5) + + dmultu ($12,$12) # mul_add_c(a[0],b[0],c1,c2,c3); + ld $8,4*8($5) + ld $9,5*8($5) + ld $10,6*8($5) + ld $11,7*8($5) + mflo ($2,$12,$12) + mfhi ($3,$12,$12) + sd $2,0($4) + + dmultu ($12,$13) # mul_add_c2(a[0],b[1],c2,c3,c1); + mflo ($24,$12,$13) + mfhi ($25,$12,$13) + slt $2,$25,$0 + dsll $25,1 + dmultu ($14,$12) # mul_add_c2(a[2],b[0],c3,c1,c2); + slt $6,$24,$0 + daddu $25,$6 + dsll $24,1 + daddu $3,$24 + sltu $1,$3,$24 + daddu $7,$25,$1 + sd $3,8($4) + mflo ($24,$14,$12) + mfhi ($25,$14,$12) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($13,$13) # forward multiplication + daddu $7,$24 + daddu $1,$25 + sltu $24,$7,$24 + daddu $2,$1 + daddu $25,$24 + sltu $3,$2,$1 + daddu $2,$25 + sltu $25,$2,$25 + daddu $3,$25 + mflo ($24,$13,$13) + mfhi ($25,$13,$13) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($12,$15) # mul_add_c2(a[0],b[3],c1,c2,c3); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + sd $7,2*8($4) + mflo ($24,$12,$15) + mfhi ($25,$12,$15) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($13,$14) # forward multiplication + daddu $2,$24 + daddu $1,$25 + sltu $24,$2,$24 + daddu $3,$1 + daddu $25,$24 + sltu $7,$3,$1 + daddu $3,$25 + sltu $25,$3,$25 + daddu $7,$25 + mflo ($24,$13,$14) + mfhi ($25,$13,$14) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($8,$12) # forward multiplication + daddu $2,$24 + daddu $1,$25 + sltu $24,$2,$24 + daddu $3,$1 + daddu $25,$24 + sltu $1,$3,$1 + daddu $3,$25 + daddu $7,$1 + sltu $25,$3,$25 + daddu $7,$25 + mflo ($24,$8,$12) + mfhi ($25,$8,$12) + sd $2,3*8($4) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($15,$13) # forward multiplication + daddu $3,$24 + daddu $1,$25 + sltu $24,$3,$24 + daddu $7,$1 + daddu $25,$24 + sltu $2,$7,$1 + daddu $7,$25 + sltu $25,$7,$25 + daddu $2,$25 + mflo ($24,$15,$13) + mfhi ($25,$15,$13) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($14,$14) # forward multiplication + daddu $3,$24 + daddu $1,$25 + sltu $24,$3,$24 + daddu $7,$1 + daddu $25,$24 + sltu $1,$7,$1 + daddu $7,$25 + daddu $2,$1 + sltu $25,$7,$25 + daddu $2,$25 + mflo ($24,$14,$14) + mfhi ($25,$14,$14) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($12,$9) # mul_add_c2(a[0],b[5],c3,c1,c2); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + sd $3,4*8($4) + mflo ($24,$12,$9) + mfhi ($25,$12,$9) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($13,$8) # forward multiplication + daddu $7,$24 + daddu $1,$25 + sltu $24,$7,$24 + daddu $2,$1 + daddu $25,$24 + sltu $3,$2,$1 + daddu $2,$25 + sltu $25,$2,$25 + daddu $3,$25 + mflo ($24,$13,$8) + mfhi ($25,$13,$8) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($14,$15) # forward multiplication + daddu $7,$24 + daddu $1,$25 + sltu $24,$7,$24 + daddu $2,$1 + daddu $25,$24 + sltu $1,$2,$1 + daddu $2,$25 + daddu $3,$1 + sltu $25,$2,$25 + daddu $3,$25 + mflo ($24,$14,$15) + mfhi ($25,$14,$15) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($10,$12) # forward multiplication + daddu $7,$24 + daddu $1,$25 + sltu $24,$7,$24 + daddu $2,$1 + daddu $25,$24 + sltu $1,$2,$1 + daddu $2,$25 + daddu $3,$1 + sltu $25,$2,$25 + daddu $3,$25 + mflo ($24,$10,$12) + mfhi ($25,$10,$12) + sd $7,5*8($4) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($9,$13) # forward multiplication + daddu $2,$24 + daddu $1,$25 + sltu $24,$2,$24 + daddu $3,$1 + daddu $25,$24 + sltu $7,$3,$1 + daddu $3,$25 + sltu $25,$3,$25 + daddu $7,$25 + mflo ($24,$9,$13) + mfhi ($25,$9,$13) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($8,$14) # forward multiplication + daddu $2,$24 + daddu $1,$25 + sltu $24,$2,$24 + daddu $3,$1 + daddu $25,$24 + sltu $1,$3,$1 + daddu $3,$25 + daddu $7,$1 + sltu $25,$3,$25 + daddu $7,$25 + mflo ($24,$8,$14) + mfhi ($25,$8,$14) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($15,$15) # forward multiplication + daddu $2,$24 + daddu $1,$25 + sltu $24,$2,$24 + daddu $3,$1 + daddu $25,$24 + sltu $1,$3,$1 + daddu $3,$25 + daddu $7,$1 + sltu $25,$3,$25 + daddu $7,$25 + mflo ($24,$15,$15) + mfhi ($25,$15,$15) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($12,$11) # mul_add_c2(a[0],b[7],c2,c3,c1); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + sd $2,6*8($4) + mflo ($24,$12,$11) + mfhi ($25,$12,$11) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($13,$10) # forward multiplication + daddu $3,$24 + daddu $1,$25 + sltu $24,$3,$24 + daddu $7,$1 + daddu $25,$24 + sltu $2,$7,$1 + daddu $7,$25 + sltu $25,$7,$25 + daddu $2,$25 + mflo ($24,$13,$10) + mfhi ($25,$13,$10) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($14,$9) # forward multiplication + daddu $3,$24 + daddu $1,$25 + sltu $24,$3,$24 + daddu $7,$1 + daddu $25,$24 + sltu $1,$7,$1 + daddu $7,$25 + daddu $2,$1 + sltu $25,$7,$25 + daddu $2,$25 + mflo ($24,$14,$9) + mfhi ($25,$14,$9) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($15,$8) # forward multiplication + daddu $3,$24 + daddu $1,$25 + sltu $24,$3,$24 + daddu $7,$1 + daddu $25,$24 + sltu $1,$7,$1 + daddu $7,$25 + daddu $2,$1 + sltu $25,$7,$25 + daddu $2,$25 + mflo ($24,$15,$8) + mfhi ($25,$15,$8) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($11,$13) # forward multiplication + daddu $3,$24 + daddu $1,$25 + sltu $24,$3,$24 + daddu $7,$1 + daddu $25,$24 + sltu $1,$7,$1 + daddu $7,$25 + daddu $2,$1 + sltu $25,$7,$25 + daddu $2,$25 + mflo ($24,$11,$13) + mfhi ($25,$11,$13) + sd $3,7*8($4) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($10,$14) # forward multiplication + daddu $7,$24 + daddu $1,$25 + sltu $24,$7,$24 + daddu $2,$1 + daddu $25,$24 + sltu $3,$2,$1 + daddu $2,$25 + sltu $25,$2,$25 + daddu $3,$25 + mflo ($24,$10,$14) + mfhi ($25,$10,$14) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($9,$15) # forward multiplication + daddu $7,$24 + daddu $1,$25 + sltu $24,$7,$24 + daddu $2,$1 + daddu $25,$24 + sltu $1,$2,$1 + daddu $2,$25 + daddu $3,$1 + sltu $25,$2,$25 + daddu $3,$25 + mflo ($24,$9,$15) + mfhi ($25,$9,$15) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($8,$8) # forward multiplication + daddu $7,$24 + daddu $1,$25 + sltu $24,$7,$24 + daddu $2,$1 + daddu $25,$24 + sltu $1,$2,$1 + daddu $2,$25 + daddu $3,$1 + sltu $25,$2,$25 + daddu $3,$25 + mflo ($24,$8,$8) + mfhi ($25,$8,$8) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($14,$11) # mul_add_c2(a[2],b[7],c1,c2,c3); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + sd $7,8*8($4) + mflo ($24,$14,$11) + mfhi ($25,$14,$11) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($15,$10) # forward multiplication + daddu $2,$24 + daddu $1,$25 + sltu $24,$2,$24 + daddu $3,$1 + daddu $25,$24 + sltu $7,$3,$1 + daddu $3,$25 + sltu $25,$3,$25 + daddu $7,$25 + mflo ($24,$15,$10) + mfhi ($25,$15,$10) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($8,$9) # forward multiplication + daddu $2,$24 + daddu $1,$25 + sltu $24,$2,$24 + daddu $3,$1 + daddu $25,$24 + sltu $1,$3,$1 + daddu $3,$25 + daddu $7,$1 + sltu $25,$3,$25 + daddu $7,$25 + mflo ($24,$8,$9) + mfhi ($25,$8,$9) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($11,$15) # forward multiplication + daddu $2,$24 + daddu $1,$25 + sltu $24,$2,$24 + daddu $3,$1 + daddu $25,$24 + sltu $1,$3,$1 + daddu $3,$25 + daddu $7,$1 + sltu $25,$3,$25 + daddu $7,$25 + mflo ($24,$11,$15) + mfhi ($25,$11,$15) + sd $2,9*8($4) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($10,$8) # forward multiplication + daddu $3,$24 + daddu $1,$25 + sltu $24,$3,$24 + daddu $7,$1 + daddu $25,$24 + sltu $2,$7,$1 + daddu $7,$25 + sltu $25,$7,$25 + daddu $2,$25 + mflo ($24,$10,$8) + mfhi ($25,$10,$8) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($9,$9) # forward multiplication + daddu $3,$24 + daddu $1,$25 + sltu $24,$3,$24 + daddu $7,$1 + daddu $25,$24 + sltu $1,$7,$1 + daddu $7,$25 + daddu $2,$1 + sltu $25,$7,$25 + daddu $2,$25 + mflo ($24,$9,$9) + mfhi ($25,$9,$9) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($8,$11) # mul_add_c2(a[4],b[7],c3,c1,c2); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + sd $3,10*8($4) + mflo ($24,$8,$11) + mfhi ($25,$8,$11) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($9,$10) # forward multiplication + daddu $7,$24 + daddu $1,$25 + sltu $24,$7,$24 + daddu $2,$1 + daddu $25,$24 + sltu $3,$2,$1 + daddu $2,$25 + sltu $25,$2,$25 + daddu $3,$25 + mflo ($24,$9,$10) + mfhi ($25,$9,$10) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($11,$9) # forward multiplication + daddu $7,$24 + daddu $1,$25 + sltu $24,$7,$24 + daddu $2,$1 + daddu $25,$24 + sltu $1,$2,$1 + daddu $2,$25 + daddu $3,$1 + sltu $25,$2,$25 + daddu $3,$25 + mflo ($24,$11,$9) + mfhi ($25,$11,$9) + sd $7,11*8($4) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($10,$10) # forward multiplication + daddu $2,$24 + daddu $1,$25 + sltu $24,$2,$24 + daddu $3,$1 + daddu $25,$24 + sltu $7,$3,$1 + daddu $3,$25 + sltu $25,$3,$25 + daddu $7,$25 + mflo ($24,$10,$10) + mfhi ($25,$10,$10) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($10,$11) # mul_add_c2(a[6],b[7],c2,c3,c1); + daddu $25,$1 + daddu $3,$25 + sltu $1,$3,$25 + daddu $7,$1 + sd $2,12*8($4) + mflo ($24,$10,$11) + mfhi ($25,$10,$11) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($11,$11) # forward multiplication + daddu $3,$24 + daddu $1,$25 + sltu $24,$3,$24 + daddu $7,$1 + daddu $25,$24 + sltu $2,$7,$1 + daddu $7,$25 + sltu $25,$7,$25 + daddu $2,$25 + mflo ($24,$11,$11) + mfhi ($25,$11,$11) + sd $3,13*8($4) + + daddu $7,$24 + sltu $1,$7,$24 + daddu $25,$1 + daddu $2,$25 + sd $7,14*8($4) + sd $2,15*8($4) + + .set noreorder + jr $31 + nop +.end bn_sqr_comba8 + +.align 5 +.globl bn_sqr_comba4 +.ent bn_sqr_comba4 +bn_sqr_comba4: + .set reorder + ld $12,0($5) + ld $13,8($5) + dmultu ($12,$12) # mul_add_c(a[0],b[0],c1,c2,c3); + ld $14,2*8($5) + ld $15,3*8($5) + mflo ($2,$12,$12) + mfhi ($3,$12,$12) + sd $2,0($4) + + dmultu ($12,$13) # mul_add_c2(a[0],b[1],c2,c3,c1); + mflo ($24,$12,$13) + mfhi ($25,$12,$13) + slt $2,$25,$0 + dsll $25,1 + dmultu ($14,$12) # mul_add_c2(a[2],b[0],c3,c1,c2); + slt $6,$24,$0 + daddu $25,$6 + dsll $24,1 + daddu $3,$24 + sltu $1,$3,$24 + daddu $7,$25,$1 + sd $3,8($4) + mflo ($24,$14,$12) + mfhi ($25,$14,$12) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($13,$13) # forward multiplication + daddu $7,$24 + daddu $1,$25 + sltu $24,$7,$24 + daddu $2,$1 + daddu $25,$24 + sltu $3,$2,$1 + daddu $2,$25 + sltu $25,$2,$25 + daddu $3,$25 + mflo ($24,$13,$13) + mfhi ($25,$13,$13) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($12,$15) # mul_add_c2(a[0],b[3],c1,c2,c3); + daddu $25,$1 + daddu $2,$25 + sltu $1,$2,$25 + daddu $3,$1 + sd $7,2*8($4) + mflo ($24,$12,$15) + mfhi ($25,$12,$15) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($13,$14) # forward multiplication + daddu $2,$24 + daddu $1,$25 + sltu $24,$2,$24 + daddu $3,$1 + daddu $25,$24 + sltu $7,$3,$1 + daddu $3,$25 + sltu $25,$3,$25 + daddu $7,$25 + mflo ($24,$13,$14) + mfhi ($25,$13,$14) + daddu $2,$24 + sltu $1,$2,$24 + dmultu ($15,$13) # forward multiplication + daddu $2,$24 + daddu $1,$25 + sltu $24,$2,$24 + daddu $3,$1 + daddu $25,$24 + sltu $1,$3,$1 + daddu $3,$25 + daddu $7,$1 + sltu $25,$3,$25 + daddu $7,$25 + mflo ($24,$15,$13) + mfhi ($25,$15,$13) + sd $2,3*8($4) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($14,$14) # forward multiplication + daddu $3,$24 + daddu $1,$25 + sltu $24,$3,$24 + daddu $7,$1 + daddu $25,$24 + sltu $2,$7,$1 + daddu $7,$25 + sltu $25,$7,$25 + daddu $2,$25 + mflo ($24,$14,$14) + mfhi ($25,$14,$14) + daddu $3,$24 + sltu $1,$3,$24 + dmultu ($14,$15) # mul_add_c2(a[2],b[3],c3,c1,c2); + daddu $25,$1 + daddu $7,$25 + sltu $1,$7,$25 + daddu $2,$1 + sd $3,4*8($4) + mflo ($24,$14,$15) + mfhi ($25,$14,$15) + daddu $7,$24 + sltu $1,$7,$24 + dmultu ($15,$15) # forward multiplication + daddu $7,$24 + daddu $1,$25 + sltu $24,$7,$24 + daddu $2,$1 + daddu $25,$24 + sltu $3,$2,$1 + daddu $2,$25 + sltu $25,$2,$25 + daddu $3,$25 + mflo ($24,$15,$15) + mfhi ($25,$15,$15) + sd $7,5*8($4) + + daddu $2,$24 + sltu $1,$2,$24 + daddu $25,$1 + daddu $3,$25 + sd $2,6*8($4) + sd $3,7*8($4) + + .set noreorder + jr $31 + nop +.end bn_sqr_comba4 diff --git a/deps/openssl/config/archs/linux64-mips64/asm/crypto/bn/mips-mont.S b/deps/openssl/config/archs/linux64-mips64/asm/crypto/bn/mips-mont.S new file mode 100644 index 00000000000000..f107837fa17663 --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/asm/crypto/bn/mips-mont.S @@ -0,0 +1,282 @@ +#include "mips_arch.h" + +.text + +.set noat +.set noreorder + +.align 5 +.globl bn_mul_mont +.ent bn_mul_mont +bn_mul_mont: + slt $1,$9,4 + bnez $1,1f + li $2,0 + slt $1,$9,17 # on in-order CPU + bnez $1,bn_mul_mont_internal + nop +1: jr $31 + li $4,0 +.end bn_mul_mont + +.align 5 +.ent bn_mul_mont_internal +bn_mul_mont_internal: + .frame $30,14*8,$31 + .mask 0x40000000|16711680,-8 + dsubu $29,14*8 + sd $30,(14-1)*8($29) + sd $23,(14-2)*8($29) + sd $22,(14-3)*8($29) + sd $21,(14-4)*8($29) + sd $20,(14-5)*8($29) + sd $19,(14-6)*8($29) + sd $18,(14-7)*8($29) + sd $17,(14-8)*8($29) + sd $16,(14-9)*8($29) + move $30,$29 + + .set reorder + ld $8,0($8) + ld $13,0($6) # bp[0] + ld $12,0($5) # ap[0] + ld $14,0($7) # np[0] + + dsubu $29,2*8 # place for two extra words + sll $9,3 + li $1,-4096 + dsubu $29,$9 + and $29,$1 + + dmultu ($12,$13) + ld $17,8($5) + ld $19,8($7) + mflo ($10,$12,$13) + mfhi ($11,$12,$13) + dmultu ($10,$8) + mflo ($23,$10,$8) + + dmultu ($17,$13) + mflo ($16,$17,$13) + mfhi ($17,$17,$13) + + dmultu ($14,$23) + mflo ($24,$14,$23) + mfhi ($25,$14,$23) + dmultu ($19,$23) + daddu $24,$10 + sltu $1,$24,$10 + daddu $25,$1 + mflo ($18,$19,$23) + mfhi ($19,$19,$23) + + move $15,$29 + li $22,2*8 +.align 4 +.L1st: + .set noreorder + daddu $12,$5,$22 + daddu $14,$7,$22 + ld $12,($12) + ld $14,($14) + + dmultu ($12,$13) + daddu $10,$16,$11 + daddu $24,$18,$25 + sltu $1,$10,$11 + sltu $2,$24,$25 + daddu $11,$17,$1 + daddu $25,$19,$2 + mflo ($16,$12,$13) + mfhi ($17,$12,$13) + + daddu $24,$10 + sltu $1,$24,$10 + dmultu ($14,$23) + daddu $25,$1 + addu $22,8 + sd $24,($15) + sltu $2,$22,$9 + mflo ($18,$14,$23) + mfhi ($19,$14,$23) + + bnez $2,.L1st + daddu $15,8 + .set reorder + + daddu $10,$16,$11 + sltu $1,$10,$11 + daddu $11,$17,$1 + + daddu $24,$18,$25 + sltu $2,$24,$25 + daddu $25,$19,$2 + daddu $24,$10 + sltu $1,$24,$10 + daddu $25,$1 + + sd $24,($15) + + daddu $25,$11 + sltu $1,$25,$11 + sd $25,8($15) + sd $1,2*8($15) + + li $21,8 +.align 4 +.Louter: + daddu $13,$6,$21 + ld $13,($13) + ld $12,($5) + ld $17,8($5) + ld $20,($29) + + dmultu ($12,$13) + ld $14,($7) + ld $19,8($7) + mflo ($10,$12,$13) + mfhi ($11,$12,$13) + daddu $10,$20 + dmultu ($10,$8) + sltu $1,$10,$20 + daddu $11,$1 + mflo ($23,$10,$8) + + dmultu ($17,$13) + mflo ($16,$17,$13) + mfhi ($17,$17,$13) + + dmultu ($14,$23) + mflo ($24,$14,$23) + mfhi ($25,$14,$23) + + dmultu ($19,$23) + daddu $24,$10 + sltu $1,$24,$10 + daddu $25,$1 + mflo ($18,$19,$23) + mfhi ($19,$19,$23) + + move $15,$29 + li $22,2*8 + ld $20,8($15) +.align 4 +.Linner: + .set noreorder + daddu $12,$5,$22 + daddu $14,$7,$22 + ld $12,($12) + ld $14,($14) + + dmultu ($12,$13) + daddu $10,$16,$11 + daddu $24,$18,$25 + sltu $1,$10,$11 + sltu $2,$24,$25 + daddu $11,$17,$1 + daddu $25,$19,$2 + mflo ($16,$12,$13) + mfhi ($17,$12,$13) + + daddu $10,$20 + addu $22,8 + dmultu ($14,$23) + sltu $1,$10,$20 + daddu $24,$10 + daddu $11,$1 + sltu $2,$24,$10 + ld $20,2*8($15) + daddu $25,$2 + sltu $1,$22,$9 + mflo ($18,$14,$23) + mfhi ($19,$14,$23) + sd $24,($15) + bnez $1,.Linner + daddu $15,8 + .set reorder + + daddu $10,$16,$11 + sltu $1,$10,$11 + daddu $11,$17,$1 + daddu $10,$20 + sltu $2,$10,$20 + daddu $11,$2 + + ld $20,2*8($15) + daddu $24,$18,$25 + sltu $1,$24,$25 + daddu $25,$19,$1 + daddu $24,$10 + sltu $2,$24,$10 + daddu $25,$2 + sd $24,($15) + + daddu $24,$25,$11 + sltu $25,$24,$11 + daddu $24,$20 + sltu $1,$24,$20 + daddu $25,$1 + sd $24,8($15) + sd $25,2*8($15) + + addu $21,8 + sltu $2,$21,$9 + bnez $2,.Louter + + .set noreorder + daddu $20,$29,$9 # &tp[num] + move $15,$29 + move $5,$29 + li $11,0 # clear borrow bit + +.align 4 +.Lsub: ld $10,($15) + ld $24,($7) + daddu $15,8 + daddu $7,8 + dsubu $24,$10,$24 # tp[i]-np[i] + sgtu $1,$24,$10 + dsubu $10,$24,$11 + sgtu $11,$10,$24 + sd $10,($4) + or $11,$1 + sltu $1,$15,$20 + bnez $1,.Lsub + daddu $4,8 + + dsubu $11,$25,$11 # handle upmost overflow bit + move $15,$29 + dsubu $4,$9 # restore rp + not $25,$11 + +.Lcopy: ld $14,($15) # conditional move + ld $12,($4) + sd $0,($15) + daddu $15,8 + and $14,$11 + and $12,$25 + or $12,$14 + sltu $1,$15,$20 + sd $12,($4) + bnez $1,.Lcopy + daddu $4,8 + + li $4,1 + li $2,1 + + .set noreorder + move $29,$30 + ld $30,(14-1)*8($29) + ld $23,(14-2)*8($29) + ld $22,(14-3)*8($29) + ld $21,(14-4)*8($29) + ld $20,(14-5)*8($29) + ld $19,(14-6)*8($29) + ld $18,(14-7)*8($29) + ld $17,(14-8)*8($29) + ld $16,(14-9)*8($29) + jr $31 + daddu $29,14*8 +.end bn_mul_mont_internal +.rdata +.asciiz "Montgomery Multiplication for MIPS, CRYPTOGAMS by " diff --git a/deps/openssl/config/archs/linux64-mips64/asm/crypto/buildinf.h b/deps/openssl/config/archs/linux64-mips64/asm/crypto/buildinf.h new file mode 100644 index 00000000000000..a959e9512c490e --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/asm/crypto/buildinf.h @@ -0,0 +1,35 @@ +/* + * WARNING: do not edit! + * Generated by util/mkbuildinf.pl + * + * Copyright 2014-2017 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#define PLATFORM "platform: linux64-mips64" +#define DATE "built on: Thu May 30 02:16:08 2019 UTC" + +/* + * Generate compiler_flags as an array of individual characters. This is a + * workaround for the situation where CFLAGS gets too long for a C90 string + * literal + */ +static const char compiler_flags[] = { + 'c','o','m','p','i','l','e','r',':',' ','g','c','c',' ','-','f', + 'P','I','C',' ','-','p','t','h','r','e','a','d',' ','-','m','a', + 'b','i','=','6','4',' ','-','m','i','p','s','3',' ','-','W','a', + ',','-','-','n','o','e','x','e','c','s','t','a','c','k',' ','-', + 'W','a','l','l',' ','-','O','3',' ','-','D','O','P','E','N','S', + 'S','L','_','U','S','E','_','N','O','D','E','L','E','T','E',' ', + '-','D','O','P','E','N','S','S','L','_','P','I','C',' ','-','D', + 'O','P','E','N','S','S','L','_','B','N','_','A','S','M','_','M', + 'O','N','T',' ','-','D','S','H','A','1','_','A','S','M',' ','-', + 'D','S','H','A','2','5','6','_','A','S','M',' ','-','D','S','H', + 'A','5','1','2','_','A','S','M',' ','-','D','A','E','S','_','A', + 'S','M',' ','-','D','P','O','L','Y','1','3','0','5','_','A','S', + 'M',' ','-','D','N','D','E','B','U','G','\0' +}; diff --git a/deps/openssl/config/archs/linux64-mips64/asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux64-mips64/asm/crypto/include/internal/bn_conf.h new file mode 100644 index 00000000000000..34bd8b78b4f90f --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/asm/crypto/include/internal/bn_conf.h @@ -0,0 +1,28 @@ +/* WARNING: do not edit! */ +/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* + * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_BN_CONF_H +# define HEADER_BN_CONF_H + +/* + * The contents of this file are not used in the UEFI build, as + * both 32-bit and 64-bit builds are supported from a single run + * of the Configure script. + */ + +/* Should we define BN_DIV2W here? */ + +/* Only one for the following should be defined */ +#define SIXTY_FOUR_BIT_LONG +#undef SIXTY_FOUR_BIT +#undef THIRTY_TWO_BIT + +#endif diff --git a/deps/openssl/config/archs/linux64-mips64/asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux64-mips64/asm/crypto/include/internal/dso_conf.h new file mode 100644 index 00000000000000..18f6ac3bffad0f --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/asm/crypto/include/internal/dso_conf.h @@ -0,0 +1,19 @@ +/* WARNING: do not edit! */ +/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_DSO_CONF_H +# define HEADER_DSO_CONF_H + +# define DSO_DLFCN +# define HAVE_DLFCN_H +# define DSO_EXTENSION ".so" + +#endif diff --git a/deps/openssl/config/archs/linux64-mips64/asm/crypto/poly1305/poly1305-mips.S b/deps/openssl/config/archs/linux64-mips64/asm/crypto/poly1305/poly1305-mips.S new file mode 100644 index 00000000000000..f1a6cd1c3c80fd --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/asm/crypto/poly1305/poly1305-mips.S @@ -0,0 +1,333 @@ +#include "mips_arch.h" + +#ifdef MIPSEB +# define MSB 0 +# define LSB 7 +#else +# define MSB 7 +# define LSB 0 +#endif + +.text +.set noat +.set noreorder + +.align 5 +.globl poly1305_init +.ent poly1305_init +poly1305_init: + .frame $29,0,$31 + .set reorder + + sd $0,0($4) + sd $0,8($4) + sd $0,16($4) + + beqz $5,.Lno_key + +#if defined(_MIPS_ARCH_MIPS64R6) + ld $8,0($5) + ld $9,8($5) +#else + ldl $8,0+MSB($5) + ldl $9,8+MSB($5) + ldr $8,0+LSB($5) + ldr $9,8+LSB($5) +#endif +#ifdef MIPSEB +# if defined(_MIPS_ARCH_MIPS64R2) + dsbh $8,$8 # byte swap + dsbh $9,$9 + dshd $8,$8 + dshd $9,$9 +# else + ori $10,$0,0xFF + dsll $1,$10,32 + or $10,$1 # 0x000000FF000000FF + + and $11,$8,$10 # byte swap + and $2,$9,$10 + dsrl $1,$8,24 + dsrl $24,$9,24 + dsll $11,24 + dsll $2,24 + and $1,$10 + and $24,$10 + dsll $10,8 # 0x0000FF000000FF00 + or $11,$1 + or $2,$24 + and $1,$8,$10 + and $24,$9,$10 + dsrl $8,8 + dsrl $9,8 + dsll $1,8 + dsll $24,8 + and $8,$10 + and $9,$10 + or $11,$1 + or $2,$24 + or $8,$11 + or $9,$2 + dsrl $11,$8,32 + dsrl $2,$9,32 + dsll $8,32 + dsll $9,32 + or $8,$11 + or $9,$2 +# endif +#endif + li $10,1 + dsll $10,32 + daddiu $10,-63 + dsll $10,28 + daddiu $10,-1 # 0ffffffc0fffffff + + and $8,$10 + daddiu $10,-3 # 0ffffffc0ffffffc + and $9,$10 + + sd $8,24($4) + dsrl $10,$9,2 + sd $9,32($4) + daddu $10,$9 # s1 = r1 + (r1 >> 2) + sd $10,40($4) + +.Lno_key: + li $2,0 # return 0 + jr $31 +.end poly1305_init +.align 5 +.globl poly1305_blocks +.ent poly1305_blocks +poly1305_blocks: + .set noreorder + dsrl $6,4 # number of complete blocks + bnez $6,poly1305_blocks_internal + nop + jr $31 + nop +.end poly1305_blocks + +.align 5 +.ent poly1305_blocks_internal +poly1305_blocks_internal: + .frame $29,6*8,$31 + .mask 0x00030000,-8 + .set noreorder + dsubu $29,6*8 + sd $17,40($29) + sd $16,32($29) + .set reorder + + ld $12,0($4) # load hash value + ld $13,8($4) + ld $14,16($4) + + ld $15,24($4) # load key + ld $16,32($4) + ld $17,40($4) + +.Loop: +#if defined(_MIPS_ARCH_MIPS64R6) + ld $8,0($5) # load input + ld $9,8($5) +#else + ldl $8,0+MSB($5) # load input + ldl $9,8+MSB($5) + ldr $8,0+LSB($5) + ldr $9,8+LSB($5) +#endif + daddiu $6,-1 + daddiu $5,16 +#ifdef MIPSEB +# if defined(_MIPS_ARCH_MIPS64R2) + dsbh $8,$8 # byte swap + dsbh $9,$9 + dshd $8,$8 + dshd $9,$9 +# else + ori $10,$0,0xFF + dsll $1,$10,32 + or $10,$1 # 0x000000FF000000FF + + and $11,$8,$10 # byte swap + and $2,$9,$10 + dsrl $1,$8,24 + dsrl $24,$9,24 + dsll $11,24 + dsll $2,24 + and $1,$10 + and $24,$10 + dsll $10,8 # 0x0000FF000000FF00 + or $11,$1 + or $2,$24 + and $1,$8,$10 + and $24,$9,$10 + dsrl $8,8 + dsrl $9,8 + dsll $1,8 + dsll $24,8 + and $8,$10 + and $9,$10 + or $11,$1 + or $2,$24 + or $8,$11 + or $9,$2 + dsrl $11,$8,32 + dsrl $2,$9,32 + dsll $8,32 + dsll $9,32 + or $8,$11 + or $9,$2 +# endif +#endif + daddu $12,$8 # accumulate input + daddu $13,$9 + sltu $10,$12,$8 + sltu $11,$13,$9 + daddu $13,$10 + + dmultu ($15,$12) # h0*r0 + daddu $14,$7 + sltu $10,$13,$10 + mflo ($8,$15,$12) + mfhi ($9,$15,$12) + + dmultu ($17,$13) # h1*5*r1 + daddu $10,$11 + daddu $14,$10 + mflo ($10,$17,$13) + mfhi ($11,$17,$13) + + dmultu ($16,$12) # h0*r1 + daddu $8,$10 + daddu $9,$11 + mflo ($1,$16,$12) + mfhi ($25,$16,$12) + sltu $10,$8,$10 + daddu $9,$10 + + dmultu ($15,$13) # h1*r0 + daddu $9,$1 + sltu $1,$9,$1 + mflo ($10,$15,$13) + mfhi ($11,$15,$13) + daddu $25,$1 + + dmultu ($17,$14) # h2*5*r1 + daddu $9,$10 + daddu $25,$11 + mflo ($1,$17,$14) + + dmultu ($15,$14) # h2*r0 + sltu $10,$9,$10 + daddu $25,$10 + mflo ($2,$15,$14) + + daddu $9,$1 + daddu $25,$2 + sltu $1,$9,$1 + daddu $25,$1 + + li $10,-4 # final reduction + and $10,$25 + dsrl $11,$25,2 + andi $14,$25,3 + daddu $10,$11 + daddu $12,$8,$10 + sltu $10,$12,$10 + daddu $13,$9,$10 + sltu $10,$13,$10 + daddu $14,$14,$10 + + bnez $6,.Loop + + sd $12,0($4) # store hash value + sd $13,8($4) + sd $14,16($4) + + .set noreorder + ld $17,40($29) # epilogue + ld $16,32($29) + jr $31 + daddu $29,6*8 +.end poly1305_blocks_internal +.align 5 +.globl poly1305_emit +.ent poly1305_emit +poly1305_emit: + .frame $29,0,$31 + .set reorder + + ld $10,0($4) + ld $11,8($4) + ld $1,16($4) + + daddiu $8,$10,5 # compare to modulus + sltiu $2,$8,5 + daddu $9,$11,$2 + sltu $2,$9,$2 + daddu $1,$1,$2 + + dsrl $1,2 # see if it carried/borrowed + dsubu $1,$0,$1 + nor $2,$0,$1 + + and $8,$1 + and $10,$2 + and $9,$1 + and $11,$2 + or $8,$10 + or $9,$11 + + lwu $10,0($6) # load nonce + lwu $11,4($6) + lwu $1,8($6) + lwu $2,12($6) + dsll $11,32 + dsll $2,32 + or $10,$11 + or $1,$2 + + daddu $8,$10 # accumulate nonce + daddu $9,$1 + sltu $10,$8,$10 + daddu $9,$10 + + dsrl $10,$8,8 # write mac value + dsrl $11,$8,16 + dsrl $1,$8,24 + sb $8,0($5) + dsrl $2,$8,32 + sb $10,1($5) + dsrl $10,$8,40 + sb $11,2($5) + dsrl $11,$8,48 + sb $1,3($5) + dsrl $1,$8,56 + sb $2,4($5) + dsrl $2,$9,8 + sb $10,5($5) + dsrl $10,$9,16 + sb $11,6($5) + dsrl $11,$9,24 + sb $1,7($5) + + sb $9,8($5) + dsrl $1,$9,32 + sb $2,9($5) + dsrl $2,$9,40 + sb $10,10($5) + dsrl $10,$9,48 + sb $11,11($5) + dsrl $11,$9,56 + sb $1,12($5) + sb $2,13($5) + sb $10,14($5) + sb $11,15($5) + + jr $31 +.end poly1305_emit +.rdata +.asciiz "Poly1305 for MIPS64, CRYPTOGAMS by " +.align 2 diff --git a/deps/openssl/config/archs/linux64-mips64/asm/crypto/sha/sha1-mips.S b/deps/openssl/config/archs/linux64-mips64/asm/crypto/sha/sha1-mips.S new file mode 100644 index 00000000000000..87a15a40a502e2 --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/asm/crypto/sha/sha1-mips.S @@ -0,0 +1,3039 @@ +#include "mips_arch.h" + +.text + +.set noat +.set noreorder +.align 5 +.globl sha1_block_data_order +.ent sha1_block_data_order +sha1_block_data_order: + .frame $29,16*8,$31 + .mask 0xc0ff0000,-8 + .set noreorder + dsubu $29,16*8 + sd $31,(16-1)*8($29) + sd $30,(16-2)*8($29) + sd $23,(16-3)*8($29) + sd $22,(16-4)*8($29) + sd $21,(16-5)*8($29) + sd $20,(16-6)*8($29) + sd $19,(16-7)*8($29) + sd $18,(16-8)*8($29) + sd $17,(16-9)*8($29) + sd $16,(16-10)*8($29) + dsll $6,6 + daddu $6,$5 + sd $6,0($29) + lw $1,0($4) + lw $2,4($4) + lw $3,8($4) + lw $7,12($4) + b .Loop + lw $24,16($4) +.align 4 +.Loop: + .set reorder +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lui $31,0x5a82 + lw $8,($5) + ori $31,0x7999 # K_00_19 +#else + lwl $8,3($5) + lui $31,0x5a82 + lwr $8,0($5) + ori $31,0x7999 # K_00_19 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $8,$8 # byte swap(0) + rotr $8,$8,16 +#else + srl $25,$8,24 # byte swap(0) + srl $6,$8,8 + andi $30,$8,0xFF00 + sll $8,$8,24 + andi $6,0xFF00 + sll $30,$30,8 + or $8,$25 + or $6,$30 + or $8,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $24,$31 # 0 + xor $25,$3,$7 + rotr $6,$1,27 + and $25,$2 + addu $24,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $9,1*4($5) +#else + lwl $9,1*4+3($5) + lwr $9,1*4+0($5) +#endif + xor $25,$7 + addu $24,$8 + rotr $2,$2,2 + addu $24,$25 +#else + lwl $9,1*4+3($5) + sll $25,$1,5 # 0 + addu $24,$31 + lwr $9,1*4+0($5) + srl $6,$1,27 + addu $24,$25 + xor $25,$3,$7 + addu $24,$6 + sll $30,$2,30 + and $25,$2 + srl $2,$2,2 + xor $25,$7 + addu $24,$8 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $9,$9 # byte swap(1) + rotr $9,$9,16 +#else + srl $25,$9,24 # byte swap(1) + srl $6,$9,8 + andi $30,$9,0xFF00 + sll $9,$9,24 + andi $6,0xFF00 + sll $30,$30,8 + or $9,$25 + or $6,$30 + or $9,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $7,$31 # 1 + xor $25,$2,$3 + rotr $6,$24,27 + and $25,$1 + addu $7,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $10,2*4($5) +#else + lwl $10,2*4+3($5) + lwr $10,2*4+0($5) +#endif + xor $25,$3 + addu $7,$9 + rotr $1,$1,2 + addu $7,$25 +#else + lwl $10,2*4+3($5) + sll $25,$24,5 # 1 + addu $7,$31 + lwr $10,2*4+0($5) + srl $6,$24,27 + addu $7,$25 + xor $25,$2,$3 + addu $7,$6 + sll $30,$1,30 + and $25,$1 + srl $1,$1,2 + xor $25,$3 + addu $7,$9 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $10,$10 # byte swap(2) + rotr $10,$10,16 +#else + srl $25,$10,24 # byte swap(2) + srl $6,$10,8 + andi $30,$10,0xFF00 + sll $10,$10,24 + andi $6,0xFF00 + sll $30,$30,8 + or $10,$25 + or $6,$30 + or $10,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $3,$31 # 2 + xor $25,$1,$2 + rotr $6,$7,27 + and $25,$24 + addu $3,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $11,3*4($5) +#else + lwl $11,3*4+3($5) + lwr $11,3*4+0($5) +#endif + xor $25,$2 + addu $3,$10 + rotr $24,$24,2 + addu $3,$25 +#else + lwl $11,3*4+3($5) + sll $25,$7,5 # 2 + addu $3,$31 + lwr $11,3*4+0($5) + srl $6,$7,27 + addu $3,$25 + xor $25,$1,$2 + addu $3,$6 + sll $30,$24,30 + and $25,$24 + srl $24,$24,2 + xor $25,$2 + addu $3,$10 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $11,$11 # byte swap(3) + rotr $11,$11,16 +#else + srl $25,$11,24 # byte swap(3) + srl $6,$11,8 + andi $30,$11,0xFF00 + sll $11,$11,24 + andi $6,0xFF00 + sll $30,$30,8 + or $11,$25 + or $6,$30 + or $11,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $2,$31 # 3 + xor $25,$24,$1 + rotr $6,$3,27 + and $25,$7 + addu $2,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $12,4*4($5) +#else + lwl $12,4*4+3($5) + lwr $12,4*4+0($5) +#endif + xor $25,$1 + addu $2,$11 + rotr $7,$7,2 + addu $2,$25 +#else + lwl $12,4*4+3($5) + sll $25,$3,5 # 3 + addu $2,$31 + lwr $12,4*4+0($5) + srl $6,$3,27 + addu $2,$25 + xor $25,$24,$1 + addu $2,$6 + sll $30,$7,30 + and $25,$7 + srl $7,$7,2 + xor $25,$1 + addu $2,$11 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $12,$12 # byte swap(4) + rotr $12,$12,16 +#else + srl $25,$12,24 # byte swap(4) + srl $6,$12,8 + andi $30,$12,0xFF00 + sll $12,$12,24 + andi $6,0xFF00 + sll $30,$30,8 + or $12,$25 + or $6,$30 + or $12,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $1,$31 # 4 + xor $25,$7,$24 + rotr $6,$2,27 + and $25,$3 + addu $1,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $13,5*4($5) +#else + lwl $13,5*4+3($5) + lwr $13,5*4+0($5) +#endif + xor $25,$24 + addu $1,$12 + rotr $3,$3,2 + addu $1,$25 +#else + lwl $13,5*4+3($5) + sll $25,$2,5 # 4 + addu $1,$31 + lwr $13,5*4+0($5) + srl $6,$2,27 + addu $1,$25 + xor $25,$7,$24 + addu $1,$6 + sll $30,$3,30 + and $25,$3 + srl $3,$3,2 + xor $25,$24 + addu $1,$12 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $13,$13 # byte swap(5) + rotr $13,$13,16 +#else + srl $25,$13,24 # byte swap(5) + srl $6,$13,8 + andi $30,$13,0xFF00 + sll $13,$13,24 + andi $6,0xFF00 + sll $30,$30,8 + or $13,$25 + or $6,$30 + or $13,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $24,$31 # 5 + xor $25,$3,$7 + rotr $6,$1,27 + and $25,$2 + addu $24,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $14,6*4($5) +#else + lwl $14,6*4+3($5) + lwr $14,6*4+0($5) +#endif + xor $25,$7 + addu $24,$13 + rotr $2,$2,2 + addu $24,$25 +#else + lwl $14,6*4+3($5) + sll $25,$1,5 # 5 + addu $24,$31 + lwr $14,6*4+0($5) + srl $6,$1,27 + addu $24,$25 + xor $25,$3,$7 + addu $24,$6 + sll $30,$2,30 + and $25,$2 + srl $2,$2,2 + xor $25,$7 + addu $24,$13 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $14,$14 # byte swap(6) + rotr $14,$14,16 +#else + srl $25,$14,24 # byte swap(6) + srl $6,$14,8 + andi $30,$14,0xFF00 + sll $14,$14,24 + andi $6,0xFF00 + sll $30,$30,8 + or $14,$25 + or $6,$30 + or $14,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $7,$31 # 6 + xor $25,$2,$3 + rotr $6,$24,27 + and $25,$1 + addu $7,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $15,7*4($5) +#else + lwl $15,7*4+3($5) + lwr $15,7*4+0($5) +#endif + xor $25,$3 + addu $7,$14 + rotr $1,$1,2 + addu $7,$25 +#else + lwl $15,7*4+3($5) + sll $25,$24,5 # 6 + addu $7,$31 + lwr $15,7*4+0($5) + srl $6,$24,27 + addu $7,$25 + xor $25,$2,$3 + addu $7,$6 + sll $30,$1,30 + and $25,$1 + srl $1,$1,2 + xor $25,$3 + addu $7,$14 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $15,$15 # byte swap(7) + rotr $15,$15,16 +#else + srl $25,$15,24 # byte swap(7) + srl $6,$15,8 + andi $30,$15,0xFF00 + sll $15,$15,24 + andi $6,0xFF00 + sll $30,$30,8 + or $15,$25 + or $6,$30 + or $15,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $3,$31 # 7 + xor $25,$1,$2 + rotr $6,$7,27 + and $25,$24 + addu $3,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $16,8*4($5) +#else + lwl $16,8*4+3($5) + lwr $16,8*4+0($5) +#endif + xor $25,$2 + addu $3,$15 + rotr $24,$24,2 + addu $3,$25 +#else + lwl $16,8*4+3($5) + sll $25,$7,5 # 7 + addu $3,$31 + lwr $16,8*4+0($5) + srl $6,$7,27 + addu $3,$25 + xor $25,$1,$2 + addu $3,$6 + sll $30,$24,30 + and $25,$24 + srl $24,$24,2 + xor $25,$2 + addu $3,$15 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $16,$16 # byte swap(8) + rotr $16,$16,16 +#else + srl $25,$16,24 # byte swap(8) + srl $6,$16,8 + andi $30,$16,0xFF00 + sll $16,$16,24 + andi $6,0xFF00 + sll $30,$30,8 + or $16,$25 + or $6,$30 + or $16,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $2,$31 # 8 + xor $25,$24,$1 + rotr $6,$3,27 + and $25,$7 + addu $2,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $17,9*4($5) +#else + lwl $17,9*4+3($5) + lwr $17,9*4+0($5) +#endif + xor $25,$1 + addu $2,$16 + rotr $7,$7,2 + addu $2,$25 +#else + lwl $17,9*4+3($5) + sll $25,$3,5 # 8 + addu $2,$31 + lwr $17,9*4+0($5) + srl $6,$3,27 + addu $2,$25 + xor $25,$24,$1 + addu $2,$6 + sll $30,$7,30 + and $25,$7 + srl $7,$7,2 + xor $25,$1 + addu $2,$16 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $17,$17 # byte swap(9) + rotr $17,$17,16 +#else + srl $25,$17,24 # byte swap(9) + srl $6,$17,8 + andi $30,$17,0xFF00 + sll $17,$17,24 + andi $6,0xFF00 + sll $30,$30,8 + or $17,$25 + or $6,$30 + or $17,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $1,$31 # 9 + xor $25,$7,$24 + rotr $6,$2,27 + and $25,$3 + addu $1,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $18,10*4($5) +#else + lwl $18,10*4+3($5) + lwr $18,10*4+0($5) +#endif + xor $25,$24 + addu $1,$17 + rotr $3,$3,2 + addu $1,$25 +#else + lwl $18,10*4+3($5) + sll $25,$2,5 # 9 + addu $1,$31 + lwr $18,10*4+0($5) + srl $6,$2,27 + addu $1,$25 + xor $25,$7,$24 + addu $1,$6 + sll $30,$3,30 + and $25,$3 + srl $3,$3,2 + xor $25,$24 + addu $1,$17 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $18,$18 # byte swap(10) + rotr $18,$18,16 +#else + srl $25,$18,24 # byte swap(10) + srl $6,$18,8 + andi $30,$18,0xFF00 + sll $18,$18,24 + andi $6,0xFF00 + sll $30,$30,8 + or $18,$25 + or $6,$30 + or $18,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $24,$31 # 10 + xor $25,$3,$7 + rotr $6,$1,27 + and $25,$2 + addu $24,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $19,11*4($5) +#else + lwl $19,11*4+3($5) + lwr $19,11*4+0($5) +#endif + xor $25,$7 + addu $24,$18 + rotr $2,$2,2 + addu $24,$25 +#else + lwl $19,11*4+3($5) + sll $25,$1,5 # 10 + addu $24,$31 + lwr $19,11*4+0($5) + srl $6,$1,27 + addu $24,$25 + xor $25,$3,$7 + addu $24,$6 + sll $30,$2,30 + and $25,$2 + srl $2,$2,2 + xor $25,$7 + addu $24,$18 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $19,$19 # byte swap(11) + rotr $19,$19,16 +#else + srl $25,$19,24 # byte swap(11) + srl $6,$19,8 + andi $30,$19,0xFF00 + sll $19,$19,24 + andi $6,0xFF00 + sll $30,$30,8 + or $19,$25 + or $6,$30 + or $19,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $7,$31 # 11 + xor $25,$2,$3 + rotr $6,$24,27 + and $25,$1 + addu $7,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $20,12*4($5) +#else + lwl $20,12*4+3($5) + lwr $20,12*4+0($5) +#endif + xor $25,$3 + addu $7,$19 + rotr $1,$1,2 + addu $7,$25 +#else + lwl $20,12*4+3($5) + sll $25,$24,5 # 11 + addu $7,$31 + lwr $20,12*4+0($5) + srl $6,$24,27 + addu $7,$25 + xor $25,$2,$3 + addu $7,$6 + sll $30,$1,30 + and $25,$1 + srl $1,$1,2 + xor $25,$3 + addu $7,$19 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $20,$20 # byte swap(12) + rotr $20,$20,16 +#else + srl $25,$20,24 # byte swap(12) + srl $6,$20,8 + andi $30,$20,0xFF00 + sll $20,$20,24 + andi $6,0xFF00 + sll $30,$30,8 + or $20,$25 + or $6,$30 + or $20,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $3,$31 # 12 + xor $25,$1,$2 + rotr $6,$7,27 + and $25,$24 + addu $3,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $21,13*4($5) +#else + lwl $21,13*4+3($5) + lwr $21,13*4+0($5) +#endif + xor $25,$2 + addu $3,$20 + rotr $24,$24,2 + addu $3,$25 +#else + lwl $21,13*4+3($5) + sll $25,$7,5 # 12 + addu $3,$31 + lwr $21,13*4+0($5) + srl $6,$7,27 + addu $3,$25 + xor $25,$1,$2 + addu $3,$6 + sll $30,$24,30 + and $25,$24 + srl $24,$24,2 + xor $25,$2 + addu $3,$20 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $21,$21 # byte swap(13) + rotr $21,$21,16 +#else + srl $25,$21,24 # byte swap(13) + srl $6,$21,8 + andi $30,$21,0xFF00 + sll $21,$21,24 + andi $6,0xFF00 + sll $30,$30,8 + or $21,$25 + or $6,$30 + or $21,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $2,$31 # 13 + xor $25,$24,$1 + rotr $6,$3,27 + and $25,$7 + addu $2,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $22,14*4($5) +#else + lwl $22,14*4+3($5) + lwr $22,14*4+0($5) +#endif + xor $25,$1 + addu $2,$21 + rotr $7,$7,2 + addu $2,$25 +#else + lwl $22,14*4+3($5) + sll $25,$3,5 # 13 + addu $2,$31 + lwr $22,14*4+0($5) + srl $6,$3,27 + addu $2,$25 + xor $25,$24,$1 + addu $2,$6 + sll $30,$7,30 + and $25,$7 + srl $7,$7,2 + xor $25,$1 + addu $2,$21 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $22,$22 # byte swap(14) + rotr $22,$22,16 +#else + srl $25,$22,24 # byte swap(14) + srl $6,$22,8 + andi $30,$22,0xFF00 + sll $22,$22,24 + andi $6,0xFF00 + sll $30,$30,8 + or $22,$25 + or $6,$30 + or $22,$6 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $1,$31 # 14 + xor $25,$7,$24 + rotr $6,$2,27 + and $25,$3 + addu $1,$6 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $23,15*4($5) +#else + lwl $23,15*4+3($5) + lwr $23,15*4+0($5) +#endif + xor $25,$24 + addu $1,$22 + rotr $3,$3,2 + addu $1,$25 +#else + lwl $23,15*4+3($5) + sll $25,$2,5 # 14 + addu $1,$31 + lwr $23,15*4+0($5) + srl $6,$2,27 + addu $1,$25 + xor $25,$7,$24 + addu $1,$6 + sll $30,$3,30 + and $25,$3 + srl $3,$3,2 + xor $25,$24 + addu $1,$22 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $23,$23 # byte swap(15) + rotr $23,$23,16 +#else + srl $25,$23,24 # byte swap(15) + srl $6,$23,8 + andi $30,$23,0xFF00 + sll $23,$23,24 + andi $6,0xFF00 + sll $30,$30,8 + or $23,$25 + or $23,$6 + or $23,$30 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $24,$31 # 15 + xor $8,$10 + xor $25,$3,$7 + rotr $6,$1,27 + xor $8,$16 + and $25,$2 + addu $24,$6 + xor $8,$21 + xor $25,$7 + addu $24,$23 + rotr $8,$8,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $8,$10 + sll $25,$1,5 # 15 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $8,$16 + xor $25,$3,$7 + addu $24,$6 + xor $8,$21 + sll $30,$2,30 + and $25,$2 + srl $6,$8,31 + addu $8,$8 + srl $2,$2,2 + xor $25,$7 + or $8,$6 + addu $24,$23 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $7,$31 # 16 + xor $9,$11 + xor $25,$2,$3 + rotr $6,$24,27 + xor $9,$17 + and $25,$1 + addu $7,$6 + xor $9,$22 + xor $25,$3 + addu $7,$8 + rotr $9,$9,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $9,$11 + sll $25,$24,5 # 16 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $9,$17 + xor $25,$2,$3 + addu $7,$6 + xor $9,$22 + sll $30,$1,30 + and $25,$1 + srl $6,$9,31 + addu $9,$9 + srl $1,$1,2 + xor $25,$3 + or $9,$6 + addu $7,$8 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $3,$31 # 17 + xor $10,$12 + xor $25,$1,$2 + rotr $6,$7,27 + xor $10,$18 + and $25,$24 + addu $3,$6 + xor $10,$23 + xor $25,$2 + addu $3,$9 + rotr $10,$10,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $10,$12 + sll $25,$7,5 # 17 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $10,$18 + xor $25,$1,$2 + addu $3,$6 + xor $10,$23 + sll $30,$24,30 + and $25,$24 + srl $6,$10,31 + addu $10,$10 + srl $24,$24,2 + xor $25,$2 + or $10,$6 + addu $3,$9 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $2,$31 # 18 + xor $11,$13 + xor $25,$24,$1 + rotr $6,$3,27 + xor $11,$19 + and $25,$7 + addu $2,$6 + xor $11,$8 + xor $25,$1 + addu $2,$10 + rotr $11,$11,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $11,$13 + sll $25,$3,5 # 18 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $11,$19 + xor $25,$24,$1 + addu $2,$6 + xor $11,$8 + sll $30,$7,30 + and $25,$7 + srl $6,$11,31 + addu $11,$11 + srl $7,$7,2 + xor $25,$1 + or $11,$6 + addu $2,$10 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $1,$31 # 19 + xor $12,$14 + xor $25,$7,$24 + rotr $6,$2,27 + xor $12,$20 + and $25,$3 + addu $1,$6 + xor $12,$9 + xor $25,$24 + addu $1,$11 + rotr $12,$12,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $12,$14 + sll $25,$2,5 # 19 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $12,$20 + xor $25,$7,$24 + addu $1,$6 + xor $12,$9 + sll $30,$3,30 + and $25,$3 + srl $6,$12,31 + addu $12,$12 + srl $3,$3,2 + xor $25,$24 + or $12,$6 + addu $1,$11 + or $3,$30 + addu $1,$25 +#endif + lui $31,0x6ed9 + ori $31,0xeba1 # K_20_39 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $13,$15 + addu $24,$31 # 20 + rotr $6,$1,27 + xor $13,$21 + xor $25,$3,$7 + addu $24,$6 + xor $13,$10 + xor $25,$2 + addu $24,$12 + rotr $13,$13,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $13,$15 + sll $25,$1,5 # 20 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $13,$21 + xor $25,$3,$7 + addu $24,$6 + xor $13,$10 + sll $30,$2,30 + xor $25,$2 + srl $6,$13,31 + addu $13,$13 + srl $2,$2,2 + addu $24,$12 + or $13,$6 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $14,$16 + addu $7,$31 # 21 + rotr $6,$24,27 + xor $14,$22 + xor $25,$2,$3 + addu $7,$6 + xor $14,$11 + xor $25,$1 + addu $7,$13 + rotr $14,$14,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $14,$16 + sll $25,$24,5 # 21 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $14,$22 + xor $25,$2,$3 + addu $7,$6 + xor $14,$11 + sll $30,$1,30 + xor $25,$1 + srl $6,$14,31 + addu $14,$14 + srl $1,$1,2 + addu $7,$13 + or $14,$6 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $15,$17 + addu $3,$31 # 22 + rotr $6,$7,27 + xor $15,$23 + xor $25,$1,$2 + addu $3,$6 + xor $15,$12 + xor $25,$24 + addu $3,$14 + rotr $15,$15,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $15,$17 + sll $25,$7,5 # 22 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $15,$23 + xor $25,$1,$2 + addu $3,$6 + xor $15,$12 + sll $30,$24,30 + xor $25,$24 + srl $6,$15,31 + addu $15,$15 + srl $24,$24,2 + addu $3,$14 + or $15,$6 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $16,$18 + addu $2,$31 # 23 + rotr $6,$3,27 + xor $16,$8 + xor $25,$24,$1 + addu $2,$6 + xor $16,$13 + xor $25,$7 + addu $2,$15 + rotr $16,$16,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $16,$18 + sll $25,$3,5 # 23 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $16,$8 + xor $25,$24,$1 + addu $2,$6 + xor $16,$13 + sll $30,$7,30 + xor $25,$7 + srl $6,$16,31 + addu $16,$16 + srl $7,$7,2 + addu $2,$15 + or $16,$6 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $17,$19 + addu $1,$31 # 24 + rotr $6,$2,27 + xor $17,$9 + xor $25,$7,$24 + addu $1,$6 + xor $17,$14 + xor $25,$3 + addu $1,$16 + rotr $17,$17,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $17,$19 + sll $25,$2,5 # 24 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $17,$9 + xor $25,$7,$24 + addu $1,$6 + xor $17,$14 + sll $30,$3,30 + xor $25,$3 + srl $6,$17,31 + addu $17,$17 + srl $3,$3,2 + addu $1,$16 + or $17,$6 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $18,$20 + addu $24,$31 # 25 + rotr $6,$1,27 + xor $18,$10 + xor $25,$3,$7 + addu $24,$6 + xor $18,$15 + xor $25,$2 + addu $24,$17 + rotr $18,$18,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $18,$20 + sll $25,$1,5 # 25 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $18,$10 + xor $25,$3,$7 + addu $24,$6 + xor $18,$15 + sll $30,$2,30 + xor $25,$2 + srl $6,$18,31 + addu $18,$18 + srl $2,$2,2 + addu $24,$17 + or $18,$6 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $19,$21 + addu $7,$31 # 26 + rotr $6,$24,27 + xor $19,$11 + xor $25,$2,$3 + addu $7,$6 + xor $19,$16 + xor $25,$1 + addu $7,$18 + rotr $19,$19,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $19,$21 + sll $25,$24,5 # 26 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $19,$11 + xor $25,$2,$3 + addu $7,$6 + xor $19,$16 + sll $30,$1,30 + xor $25,$1 + srl $6,$19,31 + addu $19,$19 + srl $1,$1,2 + addu $7,$18 + or $19,$6 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $20,$22 + addu $3,$31 # 27 + rotr $6,$7,27 + xor $20,$12 + xor $25,$1,$2 + addu $3,$6 + xor $20,$17 + xor $25,$24 + addu $3,$19 + rotr $20,$20,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $20,$22 + sll $25,$7,5 # 27 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $20,$12 + xor $25,$1,$2 + addu $3,$6 + xor $20,$17 + sll $30,$24,30 + xor $25,$24 + srl $6,$20,31 + addu $20,$20 + srl $24,$24,2 + addu $3,$19 + or $20,$6 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $21,$23 + addu $2,$31 # 28 + rotr $6,$3,27 + xor $21,$13 + xor $25,$24,$1 + addu $2,$6 + xor $21,$18 + xor $25,$7 + addu $2,$20 + rotr $21,$21,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $21,$23 + sll $25,$3,5 # 28 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $21,$13 + xor $25,$24,$1 + addu $2,$6 + xor $21,$18 + sll $30,$7,30 + xor $25,$7 + srl $6,$21,31 + addu $21,$21 + srl $7,$7,2 + addu $2,$20 + or $21,$6 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $22,$8 + addu $1,$31 # 29 + rotr $6,$2,27 + xor $22,$14 + xor $25,$7,$24 + addu $1,$6 + xor $22,$19 + xor $25,$3 + addu $1,$21 + rotr $22,$22,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $22,$8 + sll $25,$2,5 # 29 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $22,$14 + xor $25,$7,$24 + addu $1,$6 + xor $22,$19 + sll $30,$3,30 + xor $25,$3 + srl $6,$22,31 + addu $22,$22 + srl $3,$3,2 + addu $1,$21 + or $22,$6 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $23,$9 + addu $24,$31 # 30 + rotr $6,$1,27 + xor $23,$15 + xor $25,$3,$7 + addu $24,$6 + xor $23,$20 + xor $25,$2 + addu $24,$22 + rotr $23,$23,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $23,$9 + sll $25,$1,5 # 30 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $23,$15 + xor $25,$3,$7 + addu $24,$6 + xor $23,$20 + sll $30,$2,30 + xor $25,$2 + srl $6,$23,31 + addu $23,$23 + srl $2,$2,2 + addu $24,$22 + or $23,$6 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $8,$10 + addu $7,$31 # 31 + rotr $6,$24,27 + xor $8,$16 + xor $25,$2,$3 + addu $7,$6 + xor $8,$21 + xor $25,$1 + addu $7,$23 + rotr $8,$8,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $8,$10 + sll $25,$24,5 # 31 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $8,$16 + xor $25,$2,$3 + addu $7,$6 + xor $8,$21 + sll $30,$1,30 + xor $25,$1 + srl $6,$8,31 + addu $8,$8 + srl $1,$1,2 + addu $7,$23 + or $8,$6 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $9,$11 + addu $3,$31 # 32 + rotr $6,$7,27 + xor $9,$17 + xor $25,$1,$2 + addu $3,$6 + xor $9,$22 + xor $25,$24 + addu $3,$8 + rotr $9,$9,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $9,$11 + sll $25,$7,5 # 32 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $9,$17 + xor $25,$1,$2 + addu $3,$6 + xor $9,$22 + sll $30,$24,30 + xor $25,$24 + srl $6,$9,31 + addu $9,$9 + srl $24,$24,2 + addu $3,$8 + or $9,$6 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $10,$12 + addu $2,$31 # 33 + rotr $6,$3,27 + xor $10,$18 + xor $25,$24,$1 + addu $2,$6 + xor $10,$23 + xor $25,$7 + addu $2,$9 + rotr $10,$10,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $10,$12 + sll $25,$3,5 # 33 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $10,$18 + xor $25,$24,$1 + addu $2,$6 + xor $10,$23 + sll $30,$7,30 + xor $25,$7 + srl $6,$10,31 + addu $10,$10 + srl $7,$7,2 + addu $2,$9 + or $10,$6 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $11,$13 + addu $1,$31 # 34 + rotr $6,$2,27 + xor $11,$19 + xor $25,$7,$24 + addu $1,$6 + xor $11,$8 + xor $25,$3 + addu $1,$10 + rotr $11,$11,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $11,$13 + sll $25,$2,5 # 34 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $11,$19 + xor $25,$7,$24 + addu $1,$6 + xor $11,$8 + sll $30,$3,30 + xor $25,$3 + srl $6,$11,31 + addu $11,$11 + srl $3,$3,2 + addu $1,$10 + or $11,$6 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $12,$14 + addu $24,$31 # 35 + rotr $6,$1,27 + xor $12,$20 + xor $25,$3,$7 + addu $24,$6 + xor $12,$9 + xor $25,$2 + addu $24,$11 + rotr $12,$12,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $12,$14 + sll $25,$1,5 # 35 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $12,$20 + xor $25,$3,$7 + addu $24,$6 + xor $12,$9 + sll $30,$2,30 + xor $25,$2 + srl $6,$12,31 + addu $12,$12 + srl $2,$2,2 + addu $24,$11 + or $12,$6 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $13,$15 + addu $7,$31 # 36 + rotr $6,$24,27 + xor $13,$21 + xor $25,$2,$3 + addu $7,$6 + xor $13,$10 + xor $25,$1 + addu $7,$12 + rotr $13,$13,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $13,$15 + sll $25,$24,5 # 36 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $13,$21 + xor $25,$2,$3 + addu $7,$6 + xor $13,$10 + sll $30,$1,30 + xor $25,$1 + srl $6,$13,31 + addu $13,$13 + srl $1,$1,2 + addu $7,$12 + or $13,$6 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $14,$16 + addu $3,$31 # 37 + rotr $6,$7,27 + xor $14,$22 + xor $25,$1,$2 + addu $3,$6 + xor $14,$11 + xor $25,$24 + addu $3,$13 + rotr $14,$14,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $14,$16 + sll $25,$7,5 # 37 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $14,$22 + xor $25,$1,$2 + addu $3,$6 + xor $14,$11 + sll $30,$24,30 + xor $25,$24 + srl $6,$14,31 + addu $14,$14 + srl $24,$24,2 + addu $3,$13 + or $14,$6 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $15,$17 + addu $2,$31 # 38 + rotr $6,$3,27 + xor $15,$23 + xor $25,$24,$1 + addu $2,$6 + xor $15,$12 + xor $25,$7 + addu $2,$14 + rotr $15,$15,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $15,$17 + sll $25,$3,5 # 38 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $15,$23 + xor $25,$24,$1 + addu $2,$6 + xor $15,$12 + sll $30,$7,30 + xor $25,$7 + srl $6,$15,31 + addu $15,$15 + srl $7,$7,2 + addu $2,$14 + or $15,$6 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $16,$18 + addu $1,$31 # 39 + rotr $6,$2,27 + xor $16,$8 + xor $25,$7,$24 + addu $1,$6 + xor $16,$13 + xor $25,$3 + addu $1,$15 + rotr $16,$16,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $16,$18 + sll $25,$2,5 # 39 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $16,$8 + xor $25,$7,$24 + addu $1,$6 + xor $16,$13 + sll $30,$3,30 + xor $25,$3 + srl $6,$16,31 + addu $16,$16 + srl $3,$3,2 + addu $1,$15 + or $16,$6 + or $3,$30 + addu $1,$25 +#endif + lui $31,0x8f1b + ori $31,0xbcdc # K_40_59 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $24,$31 # 40 + and $25,$3,$7 + xor $17,$19 + rotr $6,$1,27 + addu $24,$25 + xor $17,$9 + xor $25,$3,$7 + addu $24,$6 + xor $17,$14 + and $25,$2 + addu $24,$16 + rotr $17,$17,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $17,$19 + sll $25,$1,5 # 40 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $17,$9 + and $25,$3,$7 + addu $24,$6 + xor $17,$14 + sll $30,$2,30 + addu $24,$25 + srl $6,$17,31 + xor $25,$3,$7 + addu $17,$17 + and $25,$2 + srl $2,$2,2 + or $17,$6 + addu $24,$16 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $7,$31 # 41 + and $25,$2,$3 + xor $18,$20 + rotr $6,$24,27 + addu $7,$25 + xor $18,$10 + xor $25,$2,$3 + addu $7,$6 + xor $18,$15 + and $25,$1 + addu $7,$17 + rotr $18,$18,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $18,$20 + sll $25,$24,5 # 41 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $18,$10 + and $25,$2,$3 + addu $7,$6 + xor $18,$15 + sll $30,$1,30 + addu $7,$25 + srl $6,$18,31 + xor $25,$2,$3 + addu $18,$18 + and $25,$1 + srl $1,$1,2 + or $18,$6 + addu $7,$17 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $3,$31 # 42 + and $25,$1,$2 + xor $19,$21 + rotr $6,$7,27 + addu $3,$25 + xor $19,$11 + xor $25,$1,$2 + addu $3,$6 + xor $19,$16 + and $25,$24 + addu $3,$18 + rotr $19,$19,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $19,$21 + sll $25,$7,5 # 42 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $19,$11 + and $25,$1,$2 + addu $3,$6 + xor $19,$16 + sll $30,$24,30 + addu $3,$25 + srl $6,$19,31 + xor $25,$1,$2 + addu $19,$19 + and $25,$24 + srl $24,$24,2 + or $19,$6 + addu $3,$18 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $2,$31 # 43 + and $25,$24,$1 + xor $20,$22 + rotr $6,$3,27 + addu $2,$25 + xor $20,$12 + xor $25,$24,$1 + addu $2,$6 + xor $20,$17 + and $25,$7 + addu $2,$19 + rotr $20,$20,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $20,$22 + sll $25,$3,5 # 43 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $20,$12 + and $25,$24,$1 + addu $2,$6 + xor $20,$17 + sll $30,$7,30 + addu $2,$25 + srl $6,$20,31 + xor $25,$24,$1 + addu $20,$20 + and $25,$7 + srl $7,$7,2 + or $20,$6 + addu $2,$19 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $1,$31 # 44 + and $25,$7,$24 + xor $21,$23 + rotr $6,$2,27 + addu $1,$25 + xor $21,$13 + xor $25,$7,$24 + addu $1,$6 + xor $21,$18 + and $25,$3 + addu $1,$20 + rotr $21,$21,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $21,$23 + sll $25,$2,5 # 44 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $21,$13 + and $25,$7,$24 + addu $1,$6 + xor $21,$18 + sll $30,$3,30 + addu $1,$25 + srl $6,$21,31 + xor $25,$7,$24 + addu $21,$21 + and $25,$3 + srl $3,$3,2 + or $21,$6 + addu $1,$20 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $24,$31 # 45 + and $25,$3,$7 + xor $22,$8 + rotr $6,$1,27 + addu $24,$25 + xor $22,$14 + xor $25,$3,$7 + addu $24,$6 + xor $22,$19 + and $25,$2 + addu $24,$21 + rotr $22,$22,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $22,$8 + sll $25,$1,5 # 45 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $22,$14 + and $25,$3,$7 + addu $24,$6 + xor $22,$19 + sll $30,$2,30 + addu $24,$25 + srl $6,$22,31 + xor $25,$3,$7 + addu $22,$22 + and $25,$2 + srl $2,$2,2 + or $22,$6 + addu $24,$21 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $7,$31 # 46 + and $25,$2,$3 + xor $23,$9 + rotr $6,$24,27 + addu $7,$25 + xor $23,$15 + xor $25,$2,$3 + addu $7,$6 + xor $23,$20 + and $25,$1 + addu $7,$22 + rotr $23,$23,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $23,$9 + sll $25,$24,5 # 46 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $23,$15 + and $25,$2,$3 + addu $7,$6 + xor $23,$20 + sll $30,$1,30 + addu $7,$25 + srl $6,$23,31 + xor $25,$2,$3 + addu $23,$23 + and $25,$1 + srl $1,$1,2 + or $23,$6 + addu $7,$22 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $3,$31 # 47 + and $25,$1,$2 + xor $8,$10 + rotr $6,$7,27 + addu $3,$25 + xor $8,$16 + xor $25,$1,$2 + addu $3,$6 + xor $8,$21 + and $25,$24 + addu $3,$23 + rotr $8,$8,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $8,$10 + sll $25,$7,5 # 47 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $8,$16 + and $25,$1,$2 + addu $3,$6 + xor $8,$21 + sll $30,$24,30 + addu $3,$25 + srl $6,$8,31 + xor $25,$1,$2 + addu $8,$8 + and $25,$24 + srl $24,$24,2 + or $8,$6 + addu $3,$23 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $2,$31 # 48 + and $25,$24,$1 + xor $9,$11 + rotr $6,$3,27 + addu $2,$25 + xor $9,$17 + xor $25,$24,$1 + addu $2,$6 + xor $9,$22 + and $25,$7 + addu $2,$8 + rotr $9,$9,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $9,$11 + sll $25,$3,5 # 48 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $9,$17 + and $25,$24,$1 + addu $2,$6 + xor $9,$22 + sll $30,$7,30 + addu $2,$25 + srl $6,$9,31 + xor $25,$24,$1 + addu $9,$9 + and $25,$7 + srl $7,$7,2 + or $9,$6 + addu $2,$8 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $1,$31 # 49 + and $25,$7,$24 + xor $10,$12 + rotr $6,$2,27 + addu $1,$25 + xor $10,$18 + xor $25,$7,$24 + addu $1,$6 + xor $10,$23 + and $25,$3 + addu $1,$9 + rotr $10,$10,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $10,$12 + sll $25,$2,5 # 49 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $10,$18 + and $25,$7,$24 + addu $1,$6 + xor $10,$23 + sll $30,$3,30 + addu $1,$25 + srl $6,$10,31 + xor $25,$7,$24 + addu $10,$10 + and $25,$3 + srl $3,$3,2 + or $10,$6 + addu $1,$9 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $24,$31 # 50 + and $25,$3,$7 + xor $11,$13 + rotr $6,$1,27 + addu $24,$25 + xor $11,$19 + xor $25,$3,$7 + addu $24,$6 + xor $11,$8 + and $25,$2 + addu $24,$10 + rotr $11,$11,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $11,$13 + sll $25,$1,5 # 50 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $11,$19 + and $25,$3,$7 + addu $24,$6 + xor $11,$8 + sll $30,$2,30 + addu $24,$25 + srl $6,$11,31 + xor $25,$3,$7 + addu $11,$11 + and $25,$2 + srl $2,$2,2 + or $11,$6 + addu $24,$10 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $7,$31 # 51 + and $25,$2,$3 + xor $12,$14 + rotr $6,$24,27 + addu $7,$25 + xor $12,$20 + xor $25,$2,$3 + addu $7,$6 + xor $12,$9 + and $25,$1 + addu $7,$11 + rotr $12,$12,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $12,$14 + sll $25,$24,5 # 51 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $12,$20 + and $25,$2,$3 + addu $7,$6 + xor $12,$9 + sll $30,$1,30 + addu $7,$25 + srl $6,$12,31 + xor $25,$2,$3 + addu $12,$12 + and $25,$1 + srl $1,$1,2 + or $12,$6 + addu $7,$11 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $3,$31 # 52 + and $25,$1,$2 + xor $13,$15 + rotr $6,$7,27 + addu $3,$25 + xor $13,$21 + xor $25,$1,$2 + addu $3,$6 + xor $13,$10 + and $25,$24 + addu $3,$12 + rotr $13,$13,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $13,$15 + sll $25,$7,5 # 52 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $13,$21 + and $25,$1,$2 + addu $3,$6 + xor $13,$10 + sll $30,$24,30 + addu $3,$25 + srl $6,$13,31 + xor $25,$1,$2 + addu $13,$13 + and $25,$24 + srl $24,$24,2 + or $13,$6 + addu $3,$12 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $2,$31 # 53 + and $25,$24,$1 + xor $14,$16 + rotr $6,$3,27 + addu $2,$25 + xor $14,$22 + xor $25,$24,$1 + addu $2,$6 + xor $14,$11 + and $25,$7 + addu $2,$13 + rotr $14,$14,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $14,$16 + sll $25,$3,5 # 53 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $14,$22 + and $25,$24,$1 + addu $2,$6 + xor $14,$11 + sll $30,$7,30 + addu $2,$25 + srl $6,$14,31 + xor $25,$24,$1 + addu $14,$14 + and $25,$7 + srl $7,$7,2 + or $14,$6 + addu $2,$13 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $1,$31 # 54 + and $25,$7,$24 + xor $15,$17 + rotr $6,$2,27 + addu $1,$25 + xor $15,$23 + xor $25,$7,$24 + addu $1,$6 + xor $15,$12 + and $25,$3 + addu $1,$14 + rotr $15,$15,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $15,$17 + sll $25,$2,5 # 54 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $15,$23 + and $25,$7,$24 + addu $1,$6 + xor $15,$12 + sll $30,$3,30 + addu $1,$25 + srl $6,$15,31 + xor $25,$7,$24 + addu $15,$15 + and $25,$3 + srl $3,$3,2 + or $15,$6 + addu $1,$14 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $24,$31 # 55 + and $25,$3,$7 + xor $16,$18 + rotr $6,$1,27 + addu $24,$25 + xor $16,$8 + xor $25,$3,$7 + addu $24,$6 + xor $16,$13 + and $25,$2 + addu $24,$15 + rotr $16,$16,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $16,$18 + sll $25,$1,5 # 55 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $16,$8 + and $25,$3,$7 + addu $24,$6 + xor $16,$13 + sll $30,$2,30 + addu $24,$25 + srl $6,$16,31 + xor $25,$3,$7 + addu $16,$16 + and $25,$2 + srl $2,$2,2 + or $16,$6 + addu $24,$15 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $7,$31 # 56 + and $25,$2,$3 + xor $17,$19 + rotr $6,$24,27 + addu $7,$25 + xor $17,$9 + xor $25,$2,$3 + addu $7,$6 + xor $17,$14 + and $25,$1 + addu $7,$16 + rotr $17,$17,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $17,$19 + sll $25,$24,5 # 56 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $17,$9 + and $25,$2,$3 + addu $7,$6 + xor $17,$14 + sll $30,$1,30 + addu $7,$25 + srl $6,$17,31 + xor $25,$2,$3 + addu $17,$17 + and $25,$1 + srl $1,$1,2 + or $17,$6 + addu $7,$16 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $3,$31 # 57 + and $25,$1,$2 + xor $18,$20 + rotr $6,$7,27 + addu $3,$25 + xor $18,$10 + xor $25,$1,$2 + addu $3,$6 + xor $18,$15 + and $25,$24 + addu $3,$17 + rotr $18,$18,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $18,$20 + sll $25,$7,5 # 57 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $18,$10 + and $25,$1,$2 + addu $3,$6 + xor $18,$15 + sll $30,$24,30 + addu $3,$25 + srl $6,$18,31 + xor $25,$1,$2 + addu $18,$18 + and $25,$24 + srl $24,$24,2 + or $18,$6 + addu $3,$17 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $2,$31 # 58 + and $25,$24,$1 + xor $19,$21 + rotr $6,$3,27 + addu $2,$25 + xor $19,$11 + xor $25,$24,$1 + addu $2,$6 + xor $19,$16 + and $25,$7 + addu $2,$18 + rotr $19,$19,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $19,$21 + sll $25,$3,5 # 58 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $19,$11 + and $25,$24,$1 + addu $2,$6 + xor $19,$16 + sll $30,$7,30 + addu $2,$25 + srl $6,$19,31 + xor $25,$24,$1 + addu $19,$19 + and $25,$7 + srl $7,$7,2 + or $19,$6 + addu $2,$18 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + addu $1,$31 # 59 + and $25,$7,$24 + xor $20,$22 + rotr $6,$2,27 + addu $1,$25 + xor $20,$12 + xor $25,$7,$24 + addu $1,$6 + xor $20,$17 + and $25,$3 + addu $1,$19 + rotr $20,$20,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $20,$22 + sll $25,$2,5 # 59 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $20,$12 + and $25,$7,$24 + addu $1,$6 + xor $20,$17 + sll $30,$3,30 + addu $1,$25 + srl $6,$20,31 + xor $25,$7,$24 + addu $20,$20 + and $25,$3 + srl $3,$3,2 + or $20,$6 + addu $1,$19 + or $3,$30 + addu $1,$25 +#endif + lui $31,0xca62 + ori $31,0xc1d6 # K_60_79 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $21,$23 + addu $24,$31 # 60 + rotr $6,$1,27 + xor $21,$13 + xor $25,$3,$7 + addu $24,$6 + xor $21,$18 + xor $25,$2 + addu $24,$20 + rotr $21,$21,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $21,$23 + sll $25,$1,5 # 60 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $21,$13 + xor $25,$3,$7 + addu $24,$6 + xor $21,$18 + sll $30,$2,30 + xor $25,$2 + srl $6,$21,31 + addu $21,$21 + srl $2,$2,2 + addu $24,$20 + or $21,$6 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $22,$8 + addu $7,$31 # 61 + rotr $6,$24,27 + xor $22,$14 + xor $25,$2,$3 + addu $7,$6 + xor $22,$19 + xor $25,$1 + addu $7,$21 + rotr $22,$22,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $22,$8 + sll $25,$24,5 # 61 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $22,$14 + xor $25,$2,$3 + addu $7,$6 + xor $22,$19 + sll $30,$1,30 + xor $25,$1 + srl $6,$22,31 + addu $22,$22 + srl $1,$1,2 + addu $7,$21 + or $22,$6 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $23,$9 + addu $3,$31 # 62 + rotr $6,$7,27 + xor $23,$15 + xor $25,$1,$2 + addu $3,$6 + xor $23,$20 + xor $25,$24 + addu $3,$22 + rotr $23,$23,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $23,$9 + sll $25,$7,5 # 62 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $23,$15 + xor $25,$1,$2 + addu $3,$6 + xor $23,$20 + sll $30,$24,30 + xor $25,$24 + srl $6,$23,31 + addu $23,$23 + srl $24,$24,2 + addu $3,$22 + or $23,$6 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $8,$10 + addu $2,$31 # 63 + rotr $6,$3,27 + xor $8,$16 + xor $25,$24,$1 + addu $2,$6 + xor $8,$21 + xor $25,$7 + addu $2,$23 + rotr $8,$8,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $8,$10 + sll $25,$3,5 # 63 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $8,$16 + xor $25,$24,$1 + addu $2,$6 + xor $8,$21 + sll $30,$7,30 + xor $25,$7 + srl $6,$8,31 + addu $8,$8 + srl $7,$7,2 + addu $2,$23 + or $8,$6 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $9,$11 + addu $1,$31 # 64 + rotr $6,$2,27 + xor $9,$17 + xor $25,$7,$24 + addu $1,$6 + xor $9,$22 + xor $25,$3 + addu $1,$8 + rotr $9,$9,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $9,$11 + sll $25,$2,5 # 64 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $9,$17 + xor $25,$7,$24 + addu $1,$6 + xor $9,$22 + sll $30,$3,30 + xor $25,$3 + srl $6,$9,31 + addu $9,$9 + srl $3,$3,2 + addu $1,$8 + or $9,$6 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $10,$12 + addu $24,$31 # 65 + rotr $6,$1,27 + xor $10,$18 + xor $25,$3,$7 + addu $24,$6 + xor $10,$23 + xor $25,$2 + addu $24,$9 + rotr $10,$10,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $10,$12 + sll $25,$1,5 # 65 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $10,$18 + xor $25,$3,$7 + addu $24,$6 + xor $10,$23 + sll $30,$2,30 + xor $25,$2 + srl $6,$10,31 + addu $10,$10 + srl $2,$2,2 + addu $24,$9 + or $10,$6 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $11,$13 + addu $7,$31 # 66 + rotr $6,$24,27 + xor $11,$19 + xor $25,$2,$3 + addu $7,$6 + xor $11,$8 + xor $25,$1 + addu $7,$10 + rotr $11,$11,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $11,$13 + sll $25,$24,5 # 66 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $11,$19 + xor $25,$2,$3 + addu $7,$6 + xor $11,$8 + sll $30,$1,30 + xor $25,$1 + srl $6,$11,31 + addu $11,$11 + srl $1,$1,2 + addu $7,$10 + or $11,$6 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $12,$14 + addu $3,$31 # 67 + rotr $6,$7,27 + xor $12,$20 + xor $25,$1,$2 + addu $3,$6 + xor $12,$9 + xor $25,$24 + addu $3,$11 + rotr $12,$12,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $12,$14 + sll $25,$7,5 # 67 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $12,$20 + xor $25,$1,$2 + addu $3,$6 + xor $12,$9 + sll $30,$24,30 + xor $25,$24 + srl $6,$12,31 + addu $12,$12 + srl $24,$24,2 + addu $3,$11 + or $12,$6 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $13,$15 + addu $2,$31 # 68 + rotr $6,$3,27 + xor $13,$21 + xor $25,$24,$1 + addu $2,$6 + xor $13,$10 + xor $25,$7 + addu $2,$12 + rotr $13,$13,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $13,$15 + sll $25,$3,5 # 68 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $13,$21 + xor $25,$24,$1 + addu $2,$6 + xor $13,$10 + sll $30,$7,30 + xor $25,$7 + srl $6,$13,31 + addu $13,$13 + srl $7,$7,2 + addu $2,$12 + or $13,$6 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $14,$16 + addu $1,$31 # 69 + rotr $6,$2,27 + xor $14,$22 + xor $25,$7,$24 + addu $1,$6 + xor $14,$11 + xor $25,$3 + addu $1,$13 + rotr $14,$14,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $14,$16 + sll $25,$2,5 # 69 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $14,$22 + xor $25,$7,$24 + addu $1,$6 + xor $14,$11 + sll $30,$3,30 + xor $25,$3 + srl $6,$14,31 + addu $14,$14 + srl $3,$3,2 + addu $1,$13 + or $14,$6 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $15,$17 + addu $24,$31 # 70 + rotr $6,$1,27 + xor $15,$23 + xor $25,$3,$7 + addu $24,$6 + xor $15,$12 + xor $25,$2 + addu $24,$14 + rotr $15,$15,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $15,$17 + sll $25,$1,5 # 70 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $15,$23 + xor $25,$3,$7 + addu $24,$6 + xor $15,$12 + sll $30,$2,30 + xor $25,$2 + srl $6,$15,31 + addu $15,$15 + srl $2,$2,2 + addu $24,$14 + or $15,$6 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $16,$18 + addu $7,$31 # 71 + rotr $6,$24,27 + xor $16,$8 + xor $25,$2,$3 + addu $7,$6 + xor $16,$13 + xor $25,$1 + addu $7,$15 + rotr $16,$16,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $16,$18 + sll $25,$24,5 # 71 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $16,$8 + xor $25,$2,$3 + addu $7,$6 + xor $16,$13 + sll $30,$1,30 + xor $25,$1 + srl $6,$16,31 + addu $16,$16 + srl $1,$1,2 + addu $7,$15 + or $16,$6 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $17,$19 + addu $3,$31 # 72 + rotr $6,$7,27 + xor $17,$9 + xor $25,$1,$2 + addu $3,$6 + xor $17,$14 + xor $25,$24 + addu $3,$16 + rotr $17,$17,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $17,$19 + sll $25,$7,5 # 72 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $17,$9 + xor $25,$1,$2 + addu $3,$6 + xor $17,$14 + sll $30,$24,30 + xor $25,$24 + srl $6,$17,31 + addu $17,$17 + srl $24,$24,2 + addu $3,$16 + or $17,$6 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $18,$20 + addu $2,$31 # 73 + rotr $6,$3,27 + xor $18,$10 + xor $25,$24,$1 + addu $2,$6 + xor $18,$15 + xor $25,$7 + addu $2,$17 + rotr $18,$18,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $18,$20 + sll $25,$3,5 # 73 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $18,$10 + xor $25,$24,$1 + addu $2,$6 + xor $18,$15 + sll $30,$7,30 + xor $25,$7 + srl $6,$18,31 + addu $18,$18 + srl $7,$7,2 + addu $2,$17 + or $18,$6 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $19,$21 + addu $1,$31 # 74 + rotr $6,$2,27 + xor $19,$11 + xor $25,$7,$24 + addu $1,$6 + xor $19,$16 + xor $25,$3 + addu $1,$18 + rotr $19,$19,31 + rotr $3,$3,2 + addu $1,$25 +#else + xor $19,$21 + sll $25,$2,5 # 74 + addu $1,$31 + srl $6,$2,27 + addu $1,$25 + xor $19,$11 + xor $25,$7,$24 + addu $1,$6 + xor $19,$16 + sll $30,$3,30 + xor $25,$3 + srl $6,$19,31 + addu $19,$19 + srl $3,$3,2 + addu $1,$18 + or $19,$6 + or $3,$30 + addu $1,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $20,$22 + addu $24,$31 # 75 + rotr $6,$1,27 + xor $20,$12 + xor $25,$3,$7 + addu $24,$6 + xor $20,$17 + xor $25,$2 + addu $24,$19 + rotr $20,$20,31 + rotr $2,$2,2 + addu $24,$25 +#else + xor $20,$22 + sll $25,$1,5 # 75 + addu $24,$31 + srl $6,$1,27 + addu $24,$25 + xor $20,$12 + xor $25,$3,$7 + addu $24,$6 + xor $20,$17 + sll $30,$2,30 + xor $25,$2 + srl $6,$20,31 + addu $20,$20 + srl $2,$2,2 + addu $24,$19 + or $20,$6 + or $2,$30 + addu $24,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $21,$23 + addu $7,$31 # 76 + rotr $6,$24,27 + xor $21,$13 + xor $25,$2,$3 + addu $7,$6 + xor $21,$18 + xor $25,$1 + addu $7,$20 + rotr $21,$21,31 + rotr $1,$1,2 + addu $7,$25 +#else + xor $21,$23 + sll $25,$24,5 # 76 + addu $7,$31 + srl $6,$24,27 + addu $7,$25 + xor $21,$13 + xor $25,$2,$3 + addu $7,$6 + xor $21,$18 + sll $30,$1,30 + xor $25,$1 + srl $6,$21,31 + addu $21,$21 + srl $1,$1,2 + addu $7,$20 + or $21,$6 + or $1,$30 + addu $7,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $22,$8 + addu $3,$31 # 77 + rotr $6,$7,27 + xor $22,$14 + xor $25,$1,$2 + addu $3,$6 + xor $22,$19 + xor $25,$24 + addu $3,$21 + rotr $22,$22,31 + rotr $24,$24,2 + addu $3,$25 +#else + xor $22,$8 + sll $25,$7,5 # 77 + addu $3,$31 + srl $6,$7,27 + addu $3,$25 + xor $22,$14 + xor $25,$1,$2 + addu $3,$6 + xor $22,$19 + sll $30,$24,30 + xor $25,$24 + srl $6,$22,31 + addu $22,$22 + srl $24,$24,2 + addu $3,$21 + or $22,$6 + or $24,$30 + addu $3,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $23,$9 + addu $2,$31 # 78 + rotr $6,$3,27 + xor $23,$15 + xor $25,$24,$1 + addu $2,$6 + xor $23,$20 + xor $25,$7 + addu $2,$22 + rotr $23,$23,31 + rotr $7,$7,2 + addu $2,$25 +#else + xor $23,$9 + sll $25,$3,5 # 78 + addu $2,$31 + srl $6,$3,27 + addu $2,$25 + xor $23,$15 + xor $25,$24,$1 + addu $2,$6 + xor $23,$20 + sll $30,$7,30 + xor $25,$7 + srl $6,$23,31 + addu $23,$23 + srl $7,$7,2 + addu $2,$22 + or $23,$6 + or $7,$30 + addu $2,$25 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + lw $8,0($4) + addu $1,$31 # 79 + lw $9,4($4) + rotr $6,$2,27 + lw $10,8($4) + xor $25,$7,$24 + addu $1,$6 + lw $11,12($4) + xor $25,$3 + addu $1,$23 + lw $12,16($4) + rotr $3,$3,2 + addu $1,$25 +#else + lw $8,0($4) + sll $25,$2,5 # 79 + addu $1,$31 + lw $9,4($4) + srl $6,$2,27 + addu $1,$25 + lw $10,8($4) + xor $25,$7,$24 + addu $1,$6 + lw $11,12($4) + sll $30,$3,30 + xor $25,$3 + lw $12,16($4) + srl $3,$3,2 + addu $1,$23 + or $3,$30 + addu $1,$25 +#endif + daddu $5,64 + ld $6,0($29) + + addu $1,$8 + addu $2,$9 + sw $1,0($4) + addu $3,$10 + addu $7,$11 + sw $2,4($4) + addu $24,$12 + sw $3,8($4) + sw $7,12($4) + sw $24,16($4) + .set noreorder + bne $5,$6,.Loop + nop + + .set noreorder + ld $31,(16-1)*8($29) + ld $30,(16-2)*8($29) + ld $23,(16-3)*8($29) + ld $22,(16-4)*8($29) + ld $21,(16-5)*8($29) + ld $20,(16-6)*8($29) + ld $19,(16-7)*8($29) + ld $18,(16-8)*8($29) + ld $17,(16-9)*8($29) + ld $16,(16-10)*8($29) + jr $31 + daddu $29,16*8 +.end sha1_block_data_order +.rdata +.asciiz "SHA1 for MIPS, CRYPTOGAMS by " diff --git a/deps/openssl/config/archs/linux64-mips64/asm/crypto/sha/sha256-mips.S b/deps/openssl/config/archs/linux64-mips64/asm/crypto/sha/sha256-mips.S new file mode 100644 index 00000000000000..0459f23f81b1ad --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/asm/crypto/sha/sha256-mips.S @@ -0,0 +1,3036 @@ +#include "mips_arch.h" + +.text +.set noat +#if !defined(__mips_eabi) && (!defined(__vxworks) || defined(__pic__)) +.option pic2 +#endif + +.align 5 +.globl sha256_block_data_order +.ent sha256_block_data_order +sha256_block_data_order: + .frame $29,192,$31 + .mask 0xc0ff0000,-8 + .set noreorder + dsubu $29,192 + sd $31,192-1*8($29) + sd $30,192-2*8($29) + sd $23,192-3*8($29) + sd $22,192-4*8($29) + sd $21,192-5*8($29) + sd $20,192-6*8($29) + sd $19,192-7*8($29) + sd $18,192-8*8($29) + sd $17,192-9*8($29) + sd $16,192-10*8($29) + dsll $23,$6,6 + .cplocal $6 + .cpsetup $25,$0,sha256_block_data_order + .set reorder + dla $6,K256 # PIC-ified 'load address' + + lw $1,0*4($4) # load context + lw $2,1*4($4) + lw $3,2*4($4) + lw $7,3*4($4) + lw $24,4*4($4) + lw $25,5*4($4) + lw $30,6*4($4) + lw $31,7*4($4) + + daddu $23,$5 # pointer to the end of input + sd $23,16*4($29) + b .Loop + +.align 5 +.Loop: +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $8,($5) +#else + lwl $8,3($5) + lwr $8,0($5) +#endif +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $9,4($5) +#else + lwl $9,7($5) + lwr $9,4($5) +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $8,$8 # byte swap(0) + rotr $8,$8,16 +#else + srl $13,$8,24 # byte swap(0) + srl $14,$8,8 + andi $15,$8,0xFF00 + sll $8,$8,24 + andi $14,0xFF00 + sll $15,$15,8 + or $8,$13 + or $14,$15 + or $8,$14 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $15,$25,$30 # 0 + rotr $13,$24,6 + addu $12,$8,$31 + rotr $14,$24,11 + and $15,$24 + rotr $31,$24,25 + xor $13,$14 + rotr $14,$1,2 + xor $15,$30 # Ch(e,f,g) + xor $13,$31 # Sigma1(e) + + rotr $31,$1,13 + addu $12,$15 + lw $15,0($6) # K[0] + xor $31,$14 + rotr $14,$1,22 + addu $12,$13 + and $13,$2,$3 + xor $31,$14 # Sigma0(a) + xor $14,$2,$3 +#else + addu $12,$8,$31 # 0 + srl $31,$24,6 + xor $15,$25,$30 + sll $14,$24,7 + and $15,$24 + srl $13,$24,11 + xor $31,$14 + sll $14,$24,21 + xor $31,$13 + srl $13,$24,25 + xor $31,$14 + sll $14,$24,26 + xor $31,$13 + xor $15,$30 # Ch(e,f,g) + xor $13,$14,$31 # Sigma1(e) + + srl $31,$1,2 + addu $12,$15 + lw $15,0($6) # K[0] + sll $14,$1,10 + addu $12,$13 + srl $13,$1,13 + xor $31,$14 + sll $14,$1,19 + xor $31,$13 + srl $13,$1,22 + xor $31,$14 + sll $14,$1,30 + xor $31,$13 + and $13,$2,$3 + xor $31,$14 # Sigma0(a) + xor $14,$2,$3 +#endif + sw $8,0($29) # offload to ring buffer + addu $31,$13 + and $14,$1 + addu $12,$15 # +=K[0] + addu $31,$14 # +=Maj(a,b,c) + addu $7,$12 + addu $31,$12 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $10,8($5) +#else + lwl $10,11($5) + lwr $10,8($5) +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $9,$9 # byte swap(1) + rotr $9,$9,16 +#else + srl $14,$9,24 # byte swap(1) + srl $15,$9,8 + andi $16,$9,0xFF00 + sll $9,$9,24 + andi $15,0xFF00 + sll $16,$16,8 + or $9,$14 + or $15,$16 + or $9,$15 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $16,$24,$25 # 1 + rotr $14,$7,6 + addu $13,$9,$30 + rotr $15,$7,11 + and $16,$7 + rotr $30,$7,25 + xor $14,$15 + rotr $15,$31,2 + xor $16,$25 # Ch(e,f,g) + xor $14,$30 # Sigma1(e) + + rotr $30,$31,13 + addu $13,$16 + lw $16,4($6) # K[1] + xor $30,$15 + rotr $15,$31,22 + addu $13,$14 + and $14,$1,$2 + xor $30,$15 # Sigma0(a) + xor $15,$1,$2 +#else + addu $13,$9,$30 # 1 + srl $30,$7,6 + xor $16,$24,$25 + sll $15,$7,7 + and $16,$7 + srl $14,$7,11 + xor $30,$15 + sll $15,$7,21 + xor $30,$14 + srl $14,$7,25 + xor $30,$15 + sll $15,$7,26 + xor $30,$14 + xor $16,$25 # Ch(e,f,g) + xor $14,$15,$30 # Sigma1(e) + + srl $30,$31,2 + addu $13,$16 + lw $16,4($6) # K[1] + sll $15,$31,10 + addu $13,$14 + srl $14,$31,13 + xor $30,$15 + sll $15,$31,19 + xor $30,$14 + srl $14,$31,22 + xor $30,$15 + sll $15,$31,30 + xor $30,$14 + and $14,$1,$2 + xor $30,$15 # Sigma0(a) + xor $15,$1,$2 +#endif + sw $9,4($29) # offload to ring buffer + addu $30,$14 + and $15,$31 + addu $13,$16 # +=K[1] + addu $30,$15 # +=Maj(a,b,c) + addu $3,$13 + addu $30,$13 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $11,12($5) +#else + lwl $11,15($5) + lwr $11,12($5) +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $10,$10 # byte swap(2) + rotr $10,$10,16 +#else + srl $15,$10,24 # byte swap(2) + srl $16,$10,8 + andi $17,$10,0xFF00 + sll $10,$10,24 + andi $16,0xFF00 + sll $17,$17,8 + or $10,$15 + or $16,$17 + or $10,$16 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $17,$7,$24 # 2 + rotr $15,$3,6 + addu $14,$10,$25 + rotr $16,$3,11 + and $17,$3 + rotr $25,$3,25 + xor $15,$16 + rotr $16,$30,2 + xor $17,$24 # Ch(e,f,g) + xor $15,$25 # Sigma1(e) + + rotr $25,$30,13 + addu $14,$17 + lw $17,8($6) # K[2] + xor $25,$16 + rotr $16,$30,22 + addu $14,$15 + and $15,$31,$1 + xor $25,$16 # Sigma0(a) + xor $16,$31,$1 +#else + addu $14,$10,$25 # 2 + srl $25,$3,6 + xor $17,$7,$24 + sll $16,$3,7 + and $17,$3 + srl $15,$3,11 + xor $25,$16 + sll $16,$3,21 + xor $25,$15 + srl $15,$3,25 + xor $25,$16 + sll $16,$3,26 + xor $25,$15 + xor $17,$24 # Ch(e,f,g) + xor $15,$16,$25 # Sigma1(e) + + srl $25,$30,2 + addu $14,$17 + lw $17,8($6) # K[2] + sll $16,$30,10 + addu $14,$15 + srl $15,$30,13 + xor $25,$16 + sll $16,$30,19 + xor $25,$15 + srl $15,$30,22 + xor $25,$16 + sll $16,$30,30 + xor $25,$15 + and $15,$31,$1 + xor $25,$16 # Sigma0(a) + xor $16,$31,$1 +#endif + sw $10,8($29) # offload to ring buffer + addu $25,$15 + and $16,$30 + addu $14,$17 # +=K[2] + addu $25,$16 # +=Maj(a,b,c) + addu $2,$14 + addu $25,$14 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $12,16($5) +#else + lwl $12,19($5) + lwr $12,16($5) +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $11,$11 # byte swap(3) + rotr $11,$11,16 +#else + srl $16,$11,24 # byte swap(3) + srl $17,$11,8 + andi $18,$11,0xFF00 + sll $11,$11,24 + andi $17,0xFF00 + sll $18,$18,8 + or $11,$16 + or $17,$18 + or $11,$17 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $18,$3,$7 # 3 + rotr $16,$2,6 + addu $15,$11,$24 + rotr $17,$2,11 + and $18,$2 + rotr $24,$2,25 + xor $16,$17 + rotr $17,$25,2 + xor $18,$7 # Ch(e,f,g) + xor $16,$24 # Sigma1(e) + + rotr $24,$25,13 + addu $15,$18 + lw $18,12($6) # K[3] + xor $24,$17 + rotr $17,$25,22 + addu $15,$16 + and $16,$30,$31 + xor $24,$17 # Sigma0(a) + xor $17,$30,$31 +#else + addu $15,$11,$24 # 3 + srl $24,$2,6 + xor $18,$3,$7 + sll $17,$2,7 + and $18,$2 + srl $16,$2,11 + xor $24,$17 + sll $17,$2,21 + xor $24,$16 + srl $16,$2,25 + xor $24,$17 + sll $17,$2,26 + xor $24,$16 + xor $18,$7 # Ch(e,f,g) + xor $16,$17,$24 # Sigma1(e) + + srl $24,$25,2 + addu $15,$18 + lw $18,12($6) # K[3] + sll $17,$25,10 + addu $15,$16 + srl $16,$25,13 + xor $24,$17 + sll $17,$25,19 + xor $24,$16 + srl $16,$25,22 + xor $24,$17 + sll $17,$25,30 + xor $24,$16 + and $16,$30,$31 + xor $24,$17 # Sigma0(a) + xor $17,$30,$31 +#endif + sw $11,12($29) # offload to ring buffer + addu $24,$16 + and $17,$25 + addu $15,$18 # +=K[3] + addu $24,$17 # +=Maj(a,b,c) + addu $1,$15 + addu $24,$15 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $13,20($5) +#else + lwl $13,23($5) + lwr $13,20($5) +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $12,$12 # byte swap(4) + rotr $12,$12,16 +#else + srl $17,$12,24 # byte swap(4) + srl $18,$12,8 + andi $19,$12,0xFF00 + sll $12,$12,24 + andi $18,0xFF00 + sll $19,$19,8 + or $12,$17 + or $18,$19 + or $12,$18 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $19,$2,$3 # 4 + rotr $17,$1,6 + addu $16,$12,$7 + rotr $18,$1,11 + and $19,$1 + rotr $7,$1,25 + xor $17,$18 + rotr $18,$24,2 + xor $19,$3 # Ch(e,f,g) + xor $17,$7 # Sigma1(e) + + rotr $7,$24,13 + addu $16,$19 + lw $19,16($6) # K[4] + xor $7,$18 + rotr $18,$24,22 + addu $16,$17 + and $17,$25,$30 + xor $7,$18 # Sigma0(a) + xor $18,$25,$30 +#else + addu $16,$12,$7 # 4 + srl $7,$1,6 + xor $19,$2,$3 + sll $18,$1,7 + and $19,$1 + srl $17,$1,11 + xor $7,$18 + sll $18,$1,21 + xor $7,$17 + srl $17,$1,25 + xor $7,$18 + sll $18,$1,26 + xor $7,$17 + xor $19,$3 # Ch(e,f,g) + xor $17,$18,$7 # Sigma1(e) + + srl $7,$24,2 + addu $16,$19 + lw $19,16($6) # K[4] + sll $18,$24,10 + addu $16,$17 + srl $17,$24,13 + xor $7,$18 + sll $18,$24,19 + xor $7,$17 + srl $17,$24,22 + xor $7,$18 + sll $18,$24,30 + xor $7,$17 + and $17,$25,$30 + xor $7,$18 # Sigma0(a) + xor $18,$25,$30 +#endif + sw $12,16($29) # offload to ring buffer + addu $7,$17 + and $18,$24 + addu $16,$19 # +=K[4] + addu $7,$18 # +=Maj(a,b,c) + addu $31,$16 + addu $7,$16 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $14,24($5) +#else + lwl $14,27($5) + lwr $14,24($5) +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $13,$13 # byte swap(5) + rotr $13,$13,16 +#else + srl $18,$13,24 # byte swap(5) + srl $19,$13,8 + andi $20,$13,0xFF00 + sll $13,$13,24 + andi $19,0xFF00 + sll $20,$20,8 + or $13,$18 + or $19,$20 + or $13,$19 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $20,$1,$2 # 5 + rotr $18,$31,6 + addu $17,$13,$3 + rotr $19,$31,11 + and $20,$31 + rotr $3,$31,25 + xor $18,$19 + rotr $19,$7,2 + xor $20,$2 # Ch(e,f,g) + xor $18,$3 # Sigma1(e) + + rotr $3,$7,13 + addu $17,$20 + lw $20,20($6) # K[5] + xor $3,$19 + rotr $19,$7,22 + addu $17,$18 + and $18,$24,$25 + xor $3,$19 # Sigma0(a) + xor $19,$24,$25 +#else + addu $17,$13,$3 # 5 + srl $3,$31,6 + xor $20,$1,$2 + sll $19,$31,7 + and $20,$31 + srl $18,$31,11 + xor $3,$19 + sll $19,$31,21 + xor $3,$18 + srl $18,$31,25 + xor $3,$19 + sll $19,$31,26 + xor $3,$18 + xor $20,$2 # Ch(e,f,g) + xor $18,$19,$3 # Sigma1(e) + + srl $3,$7,2 + addu $17,$20 + lw $20,20($6) # K[5] + sll $19,$7,10 + addu $17,$18 + srl $18,$7,13 + xor $3,$19 + sll $19,$7,19 + xor $3,$18 + srl $18,$7,22 + xor $3,$19 + sll $19,$7,30 + xor $3,$18 + and $18,$24,$25 + xor $3,$19 # Sigma0(a) + xor $19,$24,$25 +#endif + sw $13,20($29) # offload to ring buffer + addu $3,$18 + and $19,$7 + addu $17,$20 # +=K[5] + addu $3,$19 # +=Maj(a,b,c) + addu $30,$17 + addu $3,$17 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $15,28($5) +#else + lwl $15,31($5) + lwr $15,28($5) +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $14,$14 # byte swap(6) + rotr $14,$14,16 +#else + srl $19,$14,24 # byte swap(6) + srl $20,$14,8 + andi $21,$14,0xFF00 + sll $14,$14,24 + andi $20,0xFF00 + sll $21,$21,8 + or $14,$19 + or $20,$21 + or $14,$20 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $21,$31,$1 # 6 + rotr $19,$30,6 + addu $18,$14,$2 + rotr $20,$30,11 + and $21,$30 + rotr $2,$30,25 + xor $19,$20 + rotr $20,$3,2 + xor $21,$1 # Ch(e,f,g) + xor $19,$2 # Sigma1(e) + + rotr $2,$3,13 + addu $18,$21 + lw $21,24($6) # K[6] + xor $2,$20 + rotr $20,$3,22 + addu $18,$19 + and $19,$7,$24 + xor $2,$20 # Sigma0(a) + xor $20,$7,$24 +#else + addu $18,$14,$2 # 6 + srl $2,$30,6 + xor $21,$31,$1 + sll $20,$30,7 + and $21,$30 + srl $19,$30,11 + xor $2,$20 + sll $20,$30,21 + xor $2,$19 + srl $19,$30,25 + xor $2,$20 + sll $20,$30,26 + xor $2,$19 + xor $21,$1 # Ch(e,f,g) + xor $19,$20,$2 # Sigma1(e) + + srl $2,$3,2 + addu $18,$21 + lw $21,24($6) # K[6] + sll $20,$3,10 + addu $18,$19 + srl $19,$3,13 + xor $2,$20 + sll $20,$3,19 + xor $2,$19 + srl $19,$3,22 + xor $2,$20 + sll $20,$3,30 + xor $2,$19 + and $19,$7,$24 + xor $2,$20 # Sigma0(a) + xor $20,$7,$24 +#endif + sw $14,24($29) # offload to ring buffer + addu $2,$19 + and $20,$3 + addu $18,$21 # +=K[6] + addu $2,$20 # +=Maj(a,b,c) + addu $25,$18 + addu $2,$18 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $16,32($5) +#else + lwl $16,35($5) + lwr $16,32($5) +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $15,$15 # byte swap(7) + rotr $15,$15,16 +#else + srl $20,$15,24 # byte swap(7) + srl $21,$15,8 + andi $22,$15,0xFF00 + sll $15,$15,24 + andi $21,0xFF00 + sll $22,$22,8 + or $15,$20 + or $21,$22 + or $15,$21 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $22,$30,$31 # 7 + rotr $20,$25,6 + addu $19,$15,$1 + rotr $21,$25,11 + and $22,$25 + rotr $1,$25,25 + xor $20,$21 + rotr $21,$2,2 + xor $22,$31 # Ch(e,f,g) + xor $20,$1 # Sigma1(e) + + rotr $1,$2,13 + addu $19,$22 + lw $22,28($6) # K[7] + xor $1,$21 + rotr $21,$2,22 + addu $19,$20 + and $20,$3,$7 + xor $1,$21 # Sigma0(a) + xor $21,$3,$7 +#else + addu $19,$15,$1 # 7 + srl $1,$25,6 + xor $22,$30,$31 + sll $21,$25,7 + and $22,$25 + srl $20,$25,11 + xor $1,$21 + sll $21,$25,21 + xor $1,$20 + srl $20,$25,25 + xor $1,$21 + sll $21,$25,26 + xor $1,$20 + xor $22,$31 # Ch(e,f,g) + xor $20,$21,$1 # Sigma1(e) + + srl $1,$2,2 + addu $19,$22 + lw $22,28($6) # K[7] + sll $21,$2,10 + addu $19,$20 + srl $20,$2,13 + xor $1,$21 + sll $21,$2,19 + xor $1,$20 + srl $20,$2,22 + xor $1,$21 + sll $21,$2,30 + xor $1,$20 + and $20,$3,$7 + xor $1,$21 # Sigma0(a) + xor $21,$3,$7 +#endif + sw $15,28($29) # offload to ring buffer + addu $1,$20 + and $21,$2 + addu $19,$22 # +=K[7] + addu $1,$21 # +=Maj(a,b,c) + addu $24,$19 + addu $1,$19 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $17,36($5) +#else + lwl $17,39($5) + lwr $17,36($5) +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $16,$16 # byte swap(8) + rotr $16,$16,16 +#else + srl $21,$16,24 # byte swap(8) + srl $22,$16,8 + andi $23,$16,0xFF00 + sll $16,$16,24 + andi $22,0xFF00 + sll $23,$23,8 + or $16,$21 + or $22,$23 + or $16,$22 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $23,$25,$30 # 8 + rotr $21,$24,6 + addu $20,$16,$31 + rotr $22,$24,11 + and $23,$24 + rotr $31,$24,25 + xor $21,$22 + rotr $22,$1,2 + xor $23,$30 # Ch(e,f,g) + xor $21,$31 # Sigma1(e) + + rotr $31,$1,13 + addu $20,$23 + lw $23,32($6) # K[8] + xor $31,$22 + rotr $22,$1,22 + addu $20,$21 + and $21,$2,$3 + xor $31,$22 # Sigma0(a) + xor $22,$2,$3 +#else + addu $20,$16,$31 # 8 + srl $31,$24,6 + xor $23,$25,$30 + sll $22,$24,7 + and $23,$24 + srl $21,$24,11 + xor $31,$22 + sll $22,$24,21 + xor $31,$21 + srl $21,$24,25 + xor $31,$22 + sll $22,$24,26 + xor $31,$21 + xor $23,$30 # Ch(e,f,g) + xor $21,$22,$31 # Sigma1(e) + + srl $31,$1,2 + addu $20,$23 + lw $23,32($6) # K[8] + sll $22,$1,10 + addu $20,$21 + srl $21,$1,13 + xor $31,$22 + sll $22,$1,19 + xor $31,$21 + srl $21,$1,22 + xor $31,$22 + sll $22,$1,30 + xor $31,$21 + and $21,$2,$3 + xor $31,$22 # Sigma0(a) + xor $22,$2,$3 +#endif + sw $16,32($29) # offload to ring buffer + addu $31,$21 + and $22,$1 + addu $20,$23 # +=K[8] + addu $31,$22 # +=Maj(a,b,c) + addu $7,$20 + addu $31,$20 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $18,40($5) +#else + lwl $18,43($5) + lwr $18,40($5) +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $17,$17 # byte swap(9) + rotr $17,$17,16 +#else + srl $22,$17,24 # byte swap(9) + srl $23,$17,8 + andi $8,$17,0xFF00 + sll $17,$17,24 + andi $23,0xFF00 + sll $8,$8,8 + or $17,$22 + or $23,$8 + or $17,$23 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $8,$24,$25 # 9 + rotr $22,$7,6 + addu $21,$17,$30 + rotr $23,$7,11 + and $8,$7 + rotr $30,$7,25 + xor $22,$23 + rotr $23,$31,2 + xor $8,$25 # Ch(e,f,g) + xor $22,$30 # Sigma1(e) + + rotr $30,$31,13 + addu $21,$8 + lw $8,36($6) # K[9] + xor $30,$23 + rotr $23,$31,22 + addu $21,$22 + and $22,$1,$2 + xor $30,$23 # Sigma0(a) + xor $23,$1,$2 +#else + addu $21,$17,$30 # 9 + srl $30,$7,6 + xor $8,$24,$25 + sll $23,$7,7 + and $8,$7 + srl $22,$7,11 + xor $30,$23 + sll $23,$7,21 + xor $30,$22 + srl $22,$7,25 + xor $30,$23 + sll $23,$7,26 + xor $30,$22 + xor $8,$25 # Ch(e,f,g) + xor $22,$23,$30 # Sigma1(e) + + srl $30,$31,2 + addu $21,$8 + lw $8,36($6) # K[9] + sll $23,$31,10 + addu $21,$22 + srl $22,$31,13 + xor $30,$23 + sll $23,$31,19 + xor $30,$22 + srl $22,$31,22 + xor $30,$23 + sll $23,$31,30 + xor $30,$22 + and $22,$1,$2 + xor $30,$23 # Sigma0(a) + xor $23,$1,$2 +#endif + sw $17,36($29) # offload to ring buffer + addu $30,$22 + and $23,$31 + addu $21,$8 # +=K[9] + addu $30,$23 # +=Maj(a,b,c) + addu $3,$21 + addu $30,$21 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $19,44($5) +#else + lwl $19,47($5) + lwr $19,44($5) +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $18,$18 # byte swap(10) + rotr $18,$18,16 +#else + srl $23,$18,24 # byte swap(10) + srl $8,$18,8 + andi $9,$18,0xFF00 + sll $18,$18,24 + andi $8,0xFF00 + sll $9,$9,8 + or $18,$23 + or $8,$9 + or $18,$8 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $9,$7,$24 # 10 + rotr $23,$3,6 + addu $22,$18,$25 + rotr $8,$3,11 + and $9,$3 + rotr $25,$3,25 + xor $23,$8 + rotr $8,$30,2 + xor $9,$24 # Ch(e,f,g) + xor $23,$25 # Sigma1(e) + + rotr $25,$30,13 + addu $22,$9 + lw $9,40($6) # K[10] + xor $25,$8 + rotr $8,$30,22 + addu $22,$23 + and $23,$31,$1 + xor $25,$8 # Sigma0(a) + xor $8,$31,$1 +#else + addu $22,$18,$25 # 10 + srl $25,$3,6 + xor $9,$7,$24 + sll $8,$3,7 + and $9,$3 + srl $23,$3,11 + xor $25,$8 + sll $8,$3,21 + xor $25,$23 + srl $23,$3,25 + xor $25,$8 + sll $8,$3,26 + xor $25,$23 + xor $9,$24 # Ch(e,f,g) + xor $23,$8,$25 # Sigma1(e) + + srl $25,$30,2 + addu $22,$9 + lw $9,40($6) # K[10] + sll $8,$30,10 + addu $22,$23 + srl $23,$30,13 + xor $25,$8 + sll $8,$30,19 + xor $25,$23 + srl $23,$30,22 + xor $25,$8 + sll $8,$30,30 + xor $25,$23 + and $23,$31,$1 + xor $25,$8 # Sigma0(a) + xor $8,$31,$1 +#endif + sw $18,40($29) # offload to ring buffer + addu $25,$23 + and $8,$30 + addu $22,$9 # +=K[10] + addu $25,$8 # +=Maj(a,b,c) + addu $2,$22 + addu $25,$22 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $20,48($5) +#else + lwl $20,51($5) + lwr $20,48($5) +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $19,$19 # byte swap(11) + rotr $19,$19,16 +#else + srl $8,$19,24 # byte swap(11) + srl $9,$19,8 + andi $10,$19,0xFF00 + sll $19,$19,24 + andi $9,0xFF00 + sll $10,$10,8 + or $19,$8 + or $9,$10 + or $19,$9 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $10,$3,$7 # 11 + rotr $8,$2,6 + addu $23,$19,$24 + rotr $9,$2,11 + and $10,$2 + rotr $24,$2,25 + xor $8,$9 + rotr $9,$25,2 + xor $10,$7 # Ch(e,f,g) + xor $8,$24 # Sigma1(e) + + rotr $24,$25,13 + addu $23,$10 + lw $10,44($6) # K[11] + xor $24,$9 + rotr $9,$25,22 + addu $23,$8 + and $8,$30,$31 + xor $24,$9 # Sigma0(a) + xor $9,$30,$31 +#else + addu $23,$19,$24 # 11 + srl $24,$2,6 + xor $10,$3,$7 + sll $9,$2,7 + and $10,$2 + srl $8,$2,11 + xor $24,$9 + sll $9,$2,21 + xor $24,$8 + srl $8,$2,25 + xor $24,$9 + sll $9,$2,26 + xor $24,$8 + xor $10,$7 # Ch(e,f,g) + xor $8,$9,$24 # Sigma1(e) + + srl $24,$25,2 + addu $23,$10 + lw $10,44($6) # K[11] + sll $9,$25,10 + addu $23,$8 + srl $8,$25,13 + xor $24,$9 + sll $9,$25,19 + xor $24,$8 + srl $8,$25,22 + xor $24,$9 + sll $9,$25,30 + xor $24,$8 + and $8,$30,$31 + xor $24,$9 # Sigma0(a) + xor $9,$30,$31 +#endif + sw $19,44($29) # offload to ring buffer + addu $24,$8 + and $9,$25 + addu $23,$10 # +=K[11] + addu $24,$9 # +=Maj(a,b,c) + addu $1,$23 + addu $24,$23 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $21,52($5) +#else + lwl $21,55($5) + lwr $21,52($5) +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $20,$20 # byte swap(12) + rotr $20,$20,16 +#else + srl $9,$20,24 # byte swap(12) + srl $10,$20,8 + andi $11,$20,0xFF00 + sll $20,$20,24 + andi $10,0xFF00 + sll $11,$11,8 + or $20,$9 + or $10,$11 + or $20,$10 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $11,$2,$3 # 12 + rotr $9,$1,6 + addu $8,$20,$7 + rotr $10,$1,11 + and $11,$1 + rotr $7,$1,25 + xor $9,$10 + rotr $10,$24,2 + xor $11,$3 # Ch(e,f,g) + xor $9,$7 # Sigma1(e) + + rotr $7,$24,13 + addu $8,$11 + lw $11,48($6) # K[12] + xor $7,$10 + rotr $10,$24,22 + addu $8,$9 + and $9,$25,$30 + xor $7,$10 # Sigma0(a) + xor $10,$25,$30 +#else + addu $8,$20,$7 # 12 + srl $7,$1,6 + xor $11,$2,$3 + sll $10,$1,7 + and $11,$1 + srl $9,$1,11 + xor $7,$10 + sll $10,$1,21 + xor $7,$9 + srl $9,$1,25 + xor $7,$10 + sll $10,$1,26 + xor $7,$9 + xor $11,$3 # Ch(e,f,g) + xor $9,$10,$7 # Sigma1(e) + + srl $7,$24,2 + addu $8,$11 + lw $11,48($6) # K[12] + sll $10,$24,10 + addu $8,$9 + srl $9,$24,13 + xor $7,$10 + sll $10,$24,19 + xor $7,$9 + srl $9,$24,22 + xor $7,$10 + sll $10,$24,30 + xor $7,$9 + and $9,$25,$30 + xor $7,$10 # Sigma0(a) + xor $10,$25,$30 +#endif + sw $20,48($29) # offload to ring buffer + addu $7,$9 + and $10,$24 + addu $8,$11 # +=K[12] + addu $7,$10 # +=Maj(a,b,c) + addu $31,$8 + addu $7,$8 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $22,56($5) +#else + lwl $22,59($5) + lwr $22,56($5) +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $21,$21 # byte swap(13) + rotr $21,$21,16 +#else + srl $10,$21,24 # byte swap(13) + srl $11,$21,8 + andi $12,$21,0xFF00 + sll $21,$21,24 + andi $11,0xFF00 + sll $12,$12,8 + or $21,$10 + or $11,$12 + or $21,$11 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $12,$1,$2 # 13 + rotr $10,$31,6 + addu $9,$21,$3 + rotr $11,$31,11 + and $12,$31 + rotr $3,$31,25 + xor $10,$11 + rotr $11,$7,2 + xor $12,$2 # Ch(e,f,g) + xor $10,$3 # Sigma1(e) + + rotr $3,$7,13 + addu $9,$12 + lw $12,52($6) # K[13] + xor $3,$11 + rotr $11,$7,22 + addu $9,$10 + and $10,$24,$25 + xor $3,$11 # Sigma0(a) + xor $11,$24,$25 +#else + addu $9,$21,$3 # 13 + srl $3,$31,6 + xor $12,$1,$2 + sll $11,$31,7 + and $12,$31 + srl $10,$31,11 + xor $3,$11 + sll $11,$31,21 + xor $3,$10 + srl $10,$31,25 + xor $3,$11 + sll $11,$31,26 + xor $3,$10 + xor $12,$2 # Ch(e,f,g) + xor $10,$11,$3 # Sigma1(e) + + srl $3,$7,2 + addu $9,$12 + lw $12,52($6) # K[13] + sll $11,$7,10 + addu $9,$10 + srl $10,$7,13 + xor $3,$11 + sll $11,$7,19 + xor $3,$10 + srl $10,$7,22 + xor $3,$11 + sll $11,$7,30 + xor $3,$10 + and $10,$24,$25 + xor $3,$11 # Sigma0(a) + xor $11,$24,$25 +#endif + sw $21,52($29) # offload to ring buffer + addu $3,$10 + and $11,$7 + addu $9,$12 # +=K[13] + addu $3,$11 # +=Maj(a,b,c) + addu $30,$9 + addu $3,$9 + lw $8,0($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + lw $23,60($5) +#else + lwl $23,63($5) + lwr $23,60($5) +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $22,$22 # byte swap(14) + rotr $22,$22,16 +#else + srl $11,$22,24 # byte swap(14) + srl $12,$22,8 + andi $13,$22,0xFF00 + sll $22,$22,24 + andi $12,0xFF00 + sll $13,$13,8 + or $22,$11 + or $12,$13 + or $22,$12 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $13,$31,$1 # 14 + rotr $11,$30,6 + addu $10,$22,$2 + rotr $12,$30,11 + and $13,$30 + rotr $2,$30,25 + xor $11,$12 + rotr $12,$3,2 + xor $13,$1 # Ch(e,f,g) + xor $11,$2 # Sigma1(e) + + rotr $2,$3,13 + addu $10,$13 + lw $13,56($6) # K[14] + xor $2,$12 + rotr $12,$3,22 + addu $10,$11 + and $11,$7,$24 + xor $2,$12 # Sigma0(a) + xor $12,$7,$24 +#else + addu $10,$22,$2 # 14 + srl $2,$30,6 + xor $13,$31,$1 + sll $12,$30,7 + and $13,$30 + srl $11,$30,11 + xor $2,$12 + sll $12,$30,21 + xor $2,$11 + srl $11,$30,25 + xor $2,$12 + sll $12,$30,26 + xor $2,$11 + xor $13,$1 # Ch(e,f,g) + xor $11,$12,$2 # Sigma1(e) + + srl $2,$3,2 + addu $10,$13 + lw $13,56($6) # K[14] + sll $12,$3,10 + addu $10,$11 + srl $11,$3,13 + xor $2,$12 + sll $12,$3,19 + xor $2,$11 + srl $11,$3,22 + xor $2,$12 + sll $12,$3,30 + xor $2,$11 + and $11,$7,$24 + xor $2,$12 # Sigma0(a) + xor $12,$7,$24 +#endif + sw $22,56($29) # offload to ring buffer + addu $2,$11 + and $12,$3 + addu $10,$13 # +=K[14] + addu $2,$12 # +=Maj(a,b,c) + addu $25,$10 + addu $2,$10 + lw $9,4($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + wsbh $23,$23 # byte swap(15) + rotr $23,$23,16 +#else + srl $12,$23,24 # byte swap(15) + srl $13,$23,8 + andi $14,$23,0xFF00 + sll $23,$23,24 + andi $13,0xFF00 + sll $14,$14,8 + or $23,$12 + or $13,$14 + or $23,$13 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $14,$30,$31 # 15 + rotr $12,$25,6 + addu $11,$23,$1 + rotr $13,$25,11 + and $14,$25 + rotr $1,$25,25 + xor $12,$13 + rotr $13,$2,2 + xor $14,$31 # Ch(e,f,g) + xor $12,$1 # Sigma1(e) + + rotr $1,$2,13 + addu $11,$14 + lw $14,60($6) # K[15] + xor $1,$13 + rotr $13,$2,22 + addu $11,$12 + and $12,$3,$7 + xor $1,$13 # Sigma0(a) + xor $13,$3,$7 +#else + addu $11,$23,$1 # 15 + srl $1,$25,6 + xor $14,$30,$31 + sll $13,$25,7 + and $14,$25 + srl $12,$25,11 + xor $1,$13 + sll $13,$25,21 + xor $1,$12 + srl $12,$25,25 + xor $1,$13 + sll $13,$25,26 + xor $1,$12 + xor $14,$31 # Ch(e,f,g) + xor $12,$13,$1 # Sigma1(e) + + srl $1,$2,2 + addu $11,$14 + lw $14,60($6) # K[15] + sll $13,$2,10 + addu $11,$12 + srl $12,$2,13 + xor $1,$13 + sll $13,$2,19 + xor $1,$12 + srl $12,$2,22 + xor $1,$13 + sll $13,$2,30 + xor $1,$12 + and $12,$3,$7 + xor $1,$13 # Sigma0(a) + xor $13,$3,$7 +#endif + sw $23,60($29) # offload to ring buffer + addu $1,$12 + and $13,$2 + addu $11,$14 # +=K[15] + addu $1,$13 # +=Maj(a,b,c) + addu $24,$11 + addu $1,$11 + lw $10,8($29) # prefetch from ring buffer + b .L16_xx +.align 4 +.L16_xx: +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + srl $14,$9,3 # Xupdate(16) + rotr $12,$9,7 + addu $8,$17 # +=X[i+9] + xor $14,$12 + rotr $12,$9,18 + + srl $15,$22,10 + rotr $13,$22,17 + xor $14,$12 # sigma0(X[i+1]) + rotr $12,$22,19 + xor $15,$13 + addu $8,$14 +#else + srl $14,$9,3 # Xupdate(16) + addu $8,$17 # +=X[i+9] + sll $13,$9,14 + srl $12,$9,7 + xor $14,$13 + sll $13,11 + xor $14,$12 + srl $12,$9,18 + xor $14,$13 + + srl $15,$22,10 + xor $14,$12 # sigma0(X[i+1]) + sll $13,$22,13 + addu $8,$14 + srl $12,$22,17 + xor $15,$13 + sll $13,2 + xor $15,$12 + srl $12,$22,19 + xor $15,$13 +#endif + xor $15,$12 # sigma1(X[i+14]) + addu $8,$15 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $15,$25,$30 # 16 + rotr $13,$24,6 + addu $12,$8,$31 + rotr $14,$24,11 + and $15,$24 + rotr $31,$24,25 + xor $13,$14 + rotr $14,$1,2 + xor $15,$30 # Ch(e,f,g) + xor $13,$31 # Sigma1(e) + + rotr $31,$1,13 + addu $12,$15 + lw $15,64($6) # K[16] + xor $31,$14 + rotr $14,$1,22 + addu $12,$13 + and $13,$2,$3 + xor $31,$14 # Sigma0(a) + xor $14,$2,$3 +#else + addu $12,$8,$31 # 16 + srl $31,$24,6 + xor $15,$25,$30 + sll $14,$24,7 + and $15,$24 + srl $13,$24,11 + xor $31,$14 + sll $14,$24,21 + xor $31,$13 + srl $13,$24,25 + xor $31,$14 + sll $14,$24,26 + xor $31,$13 + xor $15,$30 # Ch(e,f,g) + xor $13,$14,$31 # Sigma1(e) + + srl $31,$1,2 + addu $12,$15 + lw $15,64($6) # K[16] + sll $14,$1,10 + addu $12,$13 + srl $13,$1,13 + xor $31,$14 + sll $14,$1,19 + xor $31,$13 + srl $13,$1,22 + xor $31,$14 + sll $14,$1,30 + xor $31,$13 + and $13,$2,$3 + xor $31,$14 # Sigma0(a) + xor $14,$2,$3 +#endif + sw $8,0($29) # offload to ring buffer + addu $31,$13 + and $14,$1 + addu $12,$15 # +=K[16] + addu $31,$14 # +=Maj(a,b,c) + addu $7,$12 + addu $31,$12 + lw $11,12($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + srl $15,$10,3 # Xupdate(17) + rotr $13,$10,7 + addu $9,$18 # +=X[i+9] + xor $15,$13 + rotr $13,$10,18 + + srl $16,$23,10 + rotr $14,$23,17 + xor $15,$13 # sigma0(X[i+1]) + rotr $13,$23,19 + xor $16,$14 + addu $9,$15 +#else + srl $15,$10,3 # Xupdate(17) + addu $9,$18 # +=X[i+9] + sll $14,$10,14 + srl $13,$10,7 + xor $15,$14 + sll $14,11 + xor $15,$13 + srl $13,$10,18 + xor $15,$14 + + srl $16,$23,10 + xor $15,$13 # sigma0(X[i+1]) + sll $14,$23,13 + addu $9,$15 + srl $13,$23,17 + xor $16,$14 + sll $14,2 + xor $16,$13 + srl $13,$23,19 + xor $16,$14 +#endif + xor $16,$13 # sigma1(X[i+14]) + addu $9,$16 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $16,$24,$25 # 17 + rotr $14,$7,6 + addu $13,$9,$30 + rotr $15,$7,11 + and $16,$7 + rotr $30,$7,25 + xor $14,$15 + rotr $15,$31,2 + xor $16,$25 # Ch(e,f,g) + xor $14,$30 # Sigma1(e) + + rotr $30,$31,13 + addu $13,$16 + lw $16,68($6) # K[17] + xor $30,$15 + rotr $15,$31,22 + addu $13,$14 + and $14,$1,$2 + xor $30,$15 # Sigma0(a) + xor $15,$1,$2 +#else + addu $13,$9,$30 # 17 + srl $30,$7,6 + xor $16,$24,$25 + sll $15,$7,7 + and $16,$7 + srl $14,$7,11 + xor $30,$15 + sll $15,$7,21 + xor $30,$14 + srl $14,$7,25 + xor $30,$15 + sll $15,$7,26 + xor $30,$14 + xor $16,$25 # Ch(e,f,g) + xor $14,$15,$30 # Sigma1(e) + + srl $30,$31,2 + addu $13,$16 + lw $16,68($6) # K[17] + sll $15,$31,10 + addu $13,$14 + srl $14,$31,13 + xor $30,$15 + sll $15,$31,19 + xor $30,$14 + srl $14,$31,22 + xor $30,$15 + sll $15,$31,30 + xor $30,$14 + and $14,$1,$2 + xor $30,$15 # Sigma0(a) + xor $15,$1,$2 +#endif + sw $9,4($29) # offload to ring buffer + addu $30,$14 + and $15,$31 + addu $13,$16 # +=K[17] + addu $30,$15 # +=Maj(a,b,c) + addu $3,$13 + addu $30,$13 + lw $12,16($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + srl $16,$11,3 # Xupdate(18) + rotr $14,$11,7 + addu $10,$19 # +=X[i+9] + xor $16,$14 + rotr $14,$11,18 + + srl $17,$8,10 + rotr $15,$8,17 + xor $16,$14 # sigma0(X[i+1]) + rotr $14,$8,19 + xor $17,$15 + addu $10,$16 +#else + srl $16,$11,3 # Xupdate(18) + addu $10,$19 # +=X[i+9] + sll $15,$11,14 + srl $14,$11,7 + xor $16,$15 + sll $15,11 + xor $16,$14 + srl $14,$11,18 + xor $16,$15 + + srl $17,$8,10 + xor $16,$14 # sigma0(X[i+1]) + sll $15,$8,13 + addu $10,$16 + srl $14,$8,17 + xor $17,$15 + sll $15,2 + xor $17,$14 + srl $14,$8,19 + xor $17,$15 +#endif + xor $17,$14 # sigma1(X[i+14]) + addu $10,$17 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $17,$7,$24 # 18 + rotr $15,$3,6 + addu $14,$10,$25 + rotr $16,$3,11 + and $17,$3 + rotr $25,$3,25 + xor $15,$16 + rotr $16,$30,2 + xor $17,$24 # Ch(e,f,g) + xor $15,$25 # Sigma1(e) + + rotr $25,$30,13 + addu $14,$17 + lw $17,72($6) # K[18] + xor $25,$16 + rotr $16,$30,22 + addu $14,$15 + and $15,$31,$1 + xor $25,$16 # Sigma0(a) + xor $16,$31,$1 +#else + addu $14,$10,$25 # 18 + srl $25,$3,6 + xor $17,$7,$24 + sll $16,$3,7 + and $17,$3 + srl $15,$3,11 + xor $25,$16 + sll $16,$3,21 + xor $25,$15 + srl $15,$3,25 + xor $25,$16 + sll $16,$3,26 + xor $25,$15 + xor $17,$24 # Ch(e,f,g) + xor $15,$16,$25 # Sigma1(e) + + srl $25,$30,2 + addu $14,$17 + lw $17,72($6) # K[18] + sll $16,$30,10 + addu $14,$15 + srl $15,$30,13 + xor $25,$16 + sll $16,$30,19 + xor $25,$15 + srl $15,$30,22 + xor $25,$16 + sll $16,$30,30 + xor $25,$15 + and $15,$31,$1 + xor $25,$16 # Sigma0(a) + xor $16,$31,$1 +#endif + sw $10,8($29) # offload to ring buffer + addu $25,$15 + and $16,$30 + addu $14,$17 # +=K[18] + addu $25,$16 # +=Maj(a,b,c) + addu $2,$14 + addu $25,$14 + lw $13,20($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + srl $17,$12,3 # Xupdate(19) + rotr $15,$12,7 + addu $11,$20 # +=X[i+9] + xor $17,$15 + rotr $15,$12,18 + + srl $18,$9,10 + rotr $16,$9,17 + xor $17,$15 # sigma0(X[i+1]) + rotr $15,$9,19 + xor $18,$16 + addu $11,$17 +#else + srl $17,$12,3 # Xupdate(19) + addu $11,$20 # +=X[i+9] + sll $16,$12,14 + srl $15,$12,7 + xor $17,$16 + sll $16,11 + xor $17,$15 + srl $15,$12,18 + xor $17,$16 + + srl $18,$9,10 + xor $17,$15 # sigma0(X[i+1]) + sll $16,$9,13 + addu $11,$17 + srl $15,$9,17 + xor $18,$16 + sll $16,2 + xor $18,$15 + srl $15,$9,19 + xor $18,$16 +#endif + xor $18,$15 # sigma1(X[i+14]) + addu $11,$18 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $18,$3,$7 # 19 + rotr $16,$2,6 + addu $15,$11,$24 + rotr $17,$2,11 + and $18,$2 + rotr $24,$2,25 + xor $16,$17 + rotr $17,$25,2 + xor $18,$7 # Ch(e,f,g) + xor $16,$24 # Sigma1(e) + + rotr $24,$25,13 + addu $15,$18 + lw $18,76($6) # K[19] + xor $24,$17 + rotr $17,$25,22 + addu $15,$16 + and $16,$30,$31 + xor $24,$17 # Sigma0(a) + xor $17,$30,$31 +#else + addu $15,$11,$24 # 19 + srl $24,$2,6 + xor $18,$3,$7 + sll $17,$2,7 + and $18,$2 + srl $16,$2,11 + xor $24,$17 + sll $17,$2,21 + xor $24,$16 + srl $16,$2,25 + xor $24,$17 + sll $17,$2,26 + xor $24,$16 + xor $18,$7 # Ch(e,f,g) + xor $16,$17,$24 # Sigma1(e) + + srl $24,$25,2 + addu $15,$18 + lw $18,76($6) # K[19] + sll $17,$25,10 + addu $15,$16 + srl $16,$25,13 + xor $24,$17 + sll $17,$25,19 + xor $24,$16 + srl $16,$25,22 + xor $24,$17 + sll $17,$25,30 + xor $24,$16 + and $16,$30,$31 + xor $24,$17 # Sigma0(a) + xor $17,$30,$31 +#endif + sw $11,12($29) # offload to ring buffer + addu $24,$16 + and $17,$25 + addu $15,$18 # +=K[19] + addu $24,$17 # +=Maj(a,b,c) + addu $1,$15 + addu $24,$15 + lw $14,24($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + srl $18,$13,3 # Xupdate(20) + rotr $16,$13,7 + addu $12,$21 # +=X[i+9] + xor $18,$16 + rotr $16,$13,18 + + srl $19,$10,10 + rotr $17,$10,17 + xor $18,$16 # sigma0(X[i+1]) + rotr $16,$10,19 + xor $19,$17 + addu $12,$18 +#else + srl $18,$13,3 # Xupdate(20) + addu $12,$21 # +=X[i+9] + sll $17,$13,14 + srl $16,$13,7 + xor $18,$17 + sll $17,11 + xor $18,$16 + srl $16,$13,18 + xor $18,$17 + + srl $19,$10,10 + xor $18,$16 # sigma0(X[i+1]) + sll $17,$10,13 + addu $12,$18 + srl $16,$10,17 + xor $19,$17 + sll $17,2 + xor $19,$16 + srl $16,$10,19 + xor $19,$17 +#endif + xor $19,$16 # sigma1(X[i+14]) + addu $12,$19 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $19,$2,$3 # 20 + rotr $17,$1,6 + addu $16,$12,$7 + rotr $18,$1,11 + and $19,$1 + rotr $7,$1,25 + xor $17,$18 + rotr $18,$24,2 + xor $19,$3 # Ch(e,f,g) + xor $17,$7 # Sigma1(e) + + rotr $7,$24,13 + addu $16,$19 + lw $19,80($6) # K[20] + xor $7,$18 + rotr $18,$24,22 + addu $16,$17 + and $17,$25,$30 + xor $7,$18 # Sigma0(a) + xor $18,$25,$30 +#else + addu $16,$12,$7 # 20 + srl $7,$1,6 + xor $19,$2,$3 + sll $18,$1,7 + and $19,$1 + srl $17,$1,11 + xor $7,$18 + sll $18,$1,21 + xor $7,$17 + srl $17,$1,25 + xor $7,$18 + sll $18,$1,26 + xor $7,$17 + xor $19,$3 # Ch(e,f,g) + xor $17,$18,$7 # Sigma1(e) + + srl $7,$24,2 + addu $16,$19 + lw $19,80($6) # K[20] + sll $18,$24,10 + addu $16,$17 + srl $17,$24,13 + xor $7,$18 + sll $18,$24,19 + xor $7,$17 + srl $17,$24,22 + xor $7,$18 + sll $18,$24,30 + xor $7,$17 + and $17,$25,$30 + xor $7,$18 # Sigma0(a) + xor $18,$25,$30 +#endif + sw $12,16($29) # offload to ring buffer + addu $7,$17 + and $18,$24 + addu $16,$19 # +=K[20] + addu $7,$18 # +=Maj(a,b,c) + addu $31,$16 + addu $7,$16 + lw $15,28($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + srl $19,$14,3 # Xupdate(21) + rotr $17,$14,7 + addu $13,$22 # +=X[i+9] + xor $19,$17 + rotr $17,$14,18 + + srl $20,$11,10 + rotr $18,$11,17 + xor $19,$17 # sigma0(X[i+1]) + rotr $17,$11,19 + xor $20,$18 + addu $13,$19 +#else + srl $19,$14,3 # Xupdate(21) + addu $13,$22 # +=X[i+9] + sll $18,$14,14 + srl $17,$14,7 + xor $19,$18 + sll $18,11 + xor $19,$17 + srl $17,$14,18 + xor $19,$18 + + srl $20,$11,10 + xor $19,$17 # sigma0(X[i+1]) + sll $18,$11,13 + addu $13,$19 + srl $17,$11,17 + xor $20,$18 + sll $18,2 + xor $20,$17 + srl $17,$11,19 + xor $20,$18 +#endif + xor $20,$17 # sigma1(X[i+14]) + addu $13,$20 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $20,$1,$2 # 21 + rotr $18,$31,6 + addu $17,$13,$3 + rotr $19,$31,11 + and $20,$31 + rotr $3,$31,25 + xor $18,$19 + rotr $19,$7,2 + xor $20,$2 # Ch(e,f,g) + xor $18,$3 # Sigma1(e) + + rotr $3,$7,13 + addu $17,$20 + lw $20,84($6) # K[21] + xor $3,$19 + rotr $19,$7,22 + addu $17,$18 + and $18,$24,$25 + xor $3,$19 # Sigma0(a) + xor $19,$24,$25 +#else + addu $17,$13,$3 # 21 + srl $3,$31,6 + xor $20,$1,$2 + sll $19,$31,7 + and $20,$31 + srl $18,$31,11 + xor $3,$19 + sll $19,$31,21 + xor $3,$18 + srl $18,$31,25 + xor $3,$19 + sll $19,$31,26 + xor $3,$18 + xor $20,$2 # Ch(e,f,g) + xor $18,$19,$3 # Sigma1(e) + + srl $3,$7,2 + addu $17,$20 + lw $20,84($6) # K[21] + sll $19,$7,10 + addu $17,$18 + srl $18,$7,13 + xor $3,$19 + sll $19,$7,19 + xor $3,$18 + srl $18,$7,22 + xor $3,$19 + sll $19,$7,30 + xor $3,$18 + and $18,$24,$25 + xor $3,$19 # Sigma0(a) + xor $19,$24,$25 +#endif + sw $13,20($29) # offload to ring buffer + addu $3,$18 + and $19,$7 + addu $17,$20 # +=K[21] + addu $3,$19 # +=Maj(a,b,c) + addu $30,$17 + addu $3,$17 + lw $16,32($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + srl $20,$15,3 # Xupdate(22) + rotr $18,$15,7 + addu $14,$23 # +=X[i+9] + xor $20,$18 + rotr $18,$15,18 + + srl $21,$12,10 + rotr $19,$12,17 + xor $20,$18 # sigma0(X[i+1]) + rotr $18,$12,19 + xor $21,$19 + addu $14,$20 +#else + srl $20,$15,3 # Xupdate(22) + addu $14,$23 # +=X[i+9] + sll $19,$15,14 + srl $18,$15,7 + xor $20,$19 + sll $19,11 + xor $20,$18 + srl $18,$15,18 + xor $20,$19 + + srl $21,$12,10 + xor $20,$18 # sigma0(X[i+1]) + sll $19,$12,13 + addu $14,$20 + srl $18,$12,17 + xor $21,$19 + sll $19,2 + xor $21,$18 + srl $18,$12,19 + xor $21,$19 +#endif + xor $21,$18 # sigma1(X[i+14]) + addu $14,$21 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $21,$31,$1 # 22 + rotr $19,$30,6 + addu $18,$14,$2 + rotr $20,$30,11 + and $21,$30 + rotr $2,$30,25 + xor $19,$20 + rotr $20,$3,2 + xor $21,$1 # Ch(e,f,g) + xor $19,$2 # Sigma1(e) + + rotr $2,$3,13 + addu $18,$21 + lw $21,88($6) # K[22] + xor $2,$20 + rotr $20,$3,22 + addu $18,$19 + and $19,$7,$24 + xor $2,$20 # Sigma0(a) + xor $20,$7,$24 +#else + addu $18,$14,$2 # 22 + srl $2,$30,6 + xor $21,$31,$1 + sll $20,$30,7 + and $21,$30 + srl $19,$30,11 + xor $2,$20 + sll $20,$30,21 + xor $2,$19 + srl $19,$30,25 + xor $2,$20 + sll $20,$30,26 + xor $2,$19 + xor $21,$1 # Ch(e,f,g) + xor $19,$20,$2 # Sigma1(e) + + srl $2,$3,2 + addu $18,$21 + lw $21,88($6) # K[22] + sll $20,$3,10 + addu $18,$19 + srl $19,$3,13 + xor $2,$20 + sll $20,$3,19 + xor $2,$19 + srl $19,$3,22 + xor $2,$20 + sll $20,$3,30 + xor $2,$19 + and $19,$7,$24 + xor $2,$20 # Sigma0(a) + xor $20,$7,$24 +#endif + sw $14,24($29) # offload to ring buffer + addu $2,$19 + and $20,$3 + addu $18,$21 # +=K[22] + addu $2,$20 # +=Maj(a,b,c) + addu $25,$18 + addu $2,$18 + lw $17,36($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + srl $21,$16,3 # Xupdate(23) + rotr $19,$16,7 + addu $15,$8 # +=X[i+9] + xor $21,$19 + rotr $19,$16,18 + + srl $22,$13,10 + rotr $20,$13,17 + xor $21,$19 # sigma0(X[i+1]) + rotr $19,$13,19 + xor $22,$20 + addu $15,$21 +#else + srl $21,$16,3 # Xupdate(23) + addu $15,$8 # +=X[i+9] + sll $20,$16,14 + srl $19,$16,7 + xor $21,$20 + sll $20,11 + xor $21,$19 + srl $19,$16,18 + xor $21,$20 + + srl $22,$13,10 + xor $21,$19 # sigma0(X[i+1]) + sll $20,$13,13 + addu $15,$21 + srl $19,$13,17 + xor $22,$20 + sll $20,2 + xor $22,$19 + srl $19,$13,19 + xor $22,$20 +#endif + xor $22,$19 # sigma1(X[i+14]) + addu $15,$22 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $22,$30,$31 # 23 + rotr $20,$25,6 + addu $19,$15,$1 + rotr $21,$25,11 + and $22,$25 + rotr $1,$25,25 + xor $20,$21 + rotr $21,$2,2 + xor $22,$31 # Ch(e,f,g) + xor $20,$1 # Sigma1(e) + + rotr $1,$2,13 + addu $19,$22 + lw $22,92($6) # K[23] + xor $1,$21 + rotr $21,$2,22 + addu $19,$20 + and $20,$3,$7 + xor $1,$21 # Sigma0(a) + xor $21,$3,$7 +#else + addu $19,$15,$1 # 23 + srl $1,$25,6 + xor $22,$30,$31 + sll $21,$25,7 + and $22,$25 + srl $20,$25,11 + xor $1,$21 + sll $21,$25,21 + xor $1,$20 + srl $20,$25,25 + xor $1,$21 + sll $21,$25,26 + xor $1,$20 + xor $22,$31 # Ch(e,f,g) + xor $20,$21,$1 # Sigma1(e) + + srl $1,$2,2 + addu $19,$22 + lw $22,92($6) # K[23] + sll $21,$2,10 + addu $19,$20 + srl $20,$2,13 + xor $1,$21 + sll $21,$2,19 + xor $1,$20 + srl $20,$2,22 + xor $1,$21 + sll $21,$2,30 + xor $1,$20 + and $20,$3,$7 + xor $1,$21 # Sigma0(a) + xor $21,$3,$7 +#endif + sw $15,28($29) # offload to ring buffer + addu $1,$20 + and $21,$2 + addu $19,$22 # +=K[23] + addu $1,$21 # +=Maj(a,b,c) + addu $24,$19 + addu $1,$19 + lw $18,40($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + srl $22,$17,3 # Xupdate(24) + rotr $20,$17,7 + addu $16,$9 # +=X[i+9] + xor $22,$20 + rotr $20,$17,18 + + srl $23,$14,10 + rotr $21,$14,17 + xor $22,$20 # sigma0(X[i+1]) + rotr $20,$14,19 + xor $23,$21 + addu $16,$22 +#else + srl $22,$17,3 # Xupdate(24) + addu $16,$9 # +=X[i+9] + sll $21,$17,14 + srl $20,$17,7 + xor $22,$21 + sll $21,11 + xor $22,$20 + srl $20,$17,18 + xor $22,$21 + + srl $23,$14,10 + xor $22,$20 # sigma0(X[i+1]) + sll $21,$14,13 + addu $16,$22 + srl $20,$14,17 + xor $23,$21 + sll $21,2 + xor $23,$20 + srl $20,$14,19 + xor $23,$21 +#endif + xor $23,$20 # sigma1(X[i+14]) + addu $16,$23 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $23,$25,$30 # 24 + rotr $21,$24,6 + addu $20,$16,$31 + rotr $22,$24,11 + and $23,$24 + rotr $31,$24,25 + xor $21,$22 + rotr $22,$1,2 + xor $23,$30 # Ch(e,f,g) + xor $21,$31 # Sigma1(e) + + rotr $31,$1,13 + addu $20,$23 + lw $23,96($6) # K[24] + xor $31,$22 + rotr $22,$1,22 + addu $20,$21 + and $21,$2,$3 + xor $31,$22 # Sigma0(a) + xor $22,$2,$3 +#else + addu $20,$16,$31 # 24 + srl $31,$24,6 + xor $23,$25,$30 + sll $22,$24,7 + and $23,$24 + srl $21,$24,11 + xor $31,$22 + sll $22,$24,21 + xor $31,$21 + srl $21,$24,25 + xor $31,$22 + sll $22,$24,26 + xor $31,$21 + xor $23,$30 # Ch(e,f,g) + xor $21,$22,$31 # Sigma1(e) + + srl $31,$1,2 + addu $20,$23 + lw $23,96($6) # K[24] + sll $22,$1,10 + addu $20,$21 + srl $21,$1,13 + xor $31,$22 + sll $22,$1,19 + xor $31,$21 + srl $21,$1,22 + xor $31,$22 + sll $22,$1,30 + xor $31,$21 + and $21,$2,$3 + xor $31,$22 # Sigma0(a) + xor $22,$2,$3 +#endif + sw $16,32($29) # offload to ring buffer + addu $31,$21 + and $22,$1 + addu $20,$23 # +=K[24] + addu $31,$22 # +=Maj(a,b,c) + addu $7,$20 + addu $31,$20 + lw $19,44($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + srl $23,$18,3 # Xupdate(25) + rotr $21,$18,7 + addu $17,$10 # +=X[i+9] + xor $23,$21 + rotr $21,$18,18 + + srl $8,$15,10 + rotr $22,$15,17 + xor $23,$21 # sigma0(X[i+1]) + rotr $21,$15,19 + xor $8,$22 + addu $17,$23 +#else + srl $23,$18,3 # Xupdate(25) + addu $17,$10 # +=X[i+9] + sll $22,$18,14 + srl $21,$18,7 + xor $23,$22 + sll $22,11 + xor $23,$21 + srl $21,$18,18 + xor $23,$22 + + srl $8,$15,10 + xor $23,$21 # sigma0(X[i+1]) + sll $22,$15,13 + addu $17,$23 + srl $21,$15,17 + xor $8,$22 + sll $22,2 + xor $8,$21 + srl $21,$15,19 + xor $8,$22 +#endif + xor $8,$21 # sigma1(X[i+14]) + addu $17,$8 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $8,$24,$25 # 25 + rotr $22,$7,6 + addu $21,$17,$30 + rotr $23,$7,11 + and $8,$7 + rotr $30,$7,25 + xor $22,$23 + rotr $23,$31,2 + xor $8,$25 # Ch(e,f,g) + xor $22,$30 # Sigma1(e) + + rotr $30,$31,13 + addu $21,$8 + lw $8,100($6) # K[25] + xor $30,$23 + rotr $23,$31,22 + addu $21,$22 + and $22,$1,$2 + xor $30,$23 # Sigma0(a) + xor $23,$1,$2 +#else + addu $21,$17,$30 # 25 + srl $30,$7,6 + xor $8,$24,$25 + sll $23,$7,7 + and $8,$7 + srl $22,$7,11 + xor $30,$23 + sll $23,$7,21 + xor $30,$22 + srl $22,$7,25 + xor $30,$23 + sll $23,$7,26 + xor $30,$22 + xor $8,$25 # Ch(e,f,g) + xor $22,$23,$30 # Sigma1(e) + + srl $30,$31,2 + addu $21,$8 + lw $8,100($6) # K[25] + sll $23,$31,10 + addu $21,$22 + srl $22,$31,13 + xor $30,$23 + sll $23,$31,19 + xor $30,$22 + srl $22,$31,22 + xor $30,$23 + sll $23,$31,30 + xor $30,$22 + and $22,$1,$2 + xor $30,$23 # Sigma0(a) + xor $23,$1,$2 +#endif + sw $17,36($29) # offload to ring buffer + addu $30,$22 + and $23,$31 + addu $21,$8 # +=K[25] + addu $30,$23 # +=Maj(a,b,c) + addu $3,$21 + addu $30,$21 + lw $20,48($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + srl $8,$19,3 # Xupdate(26) + rotr $22,$19,7 + addu $18,$11 # +=X[i+9] + xor $8,$22 + rotr $22,$19,18 + + srl $9,$16,10 + rotr $23,$16,17 + xor $8,$22 # sigma0(X[i+1]) + rotr $22,$16,19 + xor $9,$23 + addu $18,$8 +#else + srl $8,$19,3 # Xupdate(26) + addu $18,$11 # +=X[i+9] + sll $23,$19,14 + srl $22,$19,7 + xor $8,$23 + sll $23,11 + xor $8,$22 + srl $22,$19,18 + xor $8,$23 + + srl $9,$16,10 + xor $8,$22 # sigma0(X[i+1]) + sll $23,$16,13 + addu $18,$8 + srl $22,$16,17 + xor $9,$23 + sll $23,2 + xor $9,$22 + srl $22,$16,19 + xor $9,$23 +#endif + xor $9,$22 # sigma1(X[i+14]) + addu $18,$9 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $9,$7,$24 # 26 + rotr $23,$3,6 + addu $22,$18,$25 + rotr $8,$3,11 + and $9,$3 + rotr $25,$3,25 + xor $23,$8 + rotr $8,$30,2 + xor $9,$24 # Ch(e,f,g) + xor $23,$25 # Sigma1(e) + + rotr $25,$30,13 + addu $22,$9 + lw $9,104($6) # K[26] + xor $25,$8 + rotr $8,$30,22 + addu $22,$23 + and $23,$31,$1 + xor $25,$8 # Sigma0(a) + xor $8,$31,$1 +#else + addu $22,$18,$25 # 26 + srl $25,$3,6 + xor $9,$7,$24 + sll $8,$3,7 + and $9,$3 + srl $23,$3,11 + xor $25,$8 + sll $8,$3,21 + xor $25,$23 + srl $23,$3,25 + xor $25,$8 + sll $8,$3,26 + xor $25,$23 + xor $9,$24 # Ch(e,f,g) + xor $23,$8,$25 # Sigma1(e) + + srl $25,$30,2 + addu $22,$9 + lw $9,104($6) # K[26] + sll $8,$30,10 + addu $22,$23 + srl $23,$30,13 + xor $25,$8 + sll $8,$30,19 + xor $25,$23 + srl $23,$30,22 + xor $25,$8 + sll $8,$30,30 + xor $25,$23 + and $23,$31,$1 + xor $25,$8 # Sigma0(a) + xor $8,$31,$1 +#endif + sw $18,40($29) # offload to ring buffer + addu $25,$23 + and $8,$30 + addu $22,$9 # +=K[26] + addu $25,$8 # +=Maj(a,b,c) + addu $2,$22 + addu $25,$22 + lw $21,52($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + srl $9,$20,3 # Xupdate(27) + rotr $23,$20,7 + addu $19,$12 # +=X[i+9] + xor $9,$23 + rotr $23,$20,18 + + srl $10,$17,10 + rotr $8,$17,17 + xor $9,$23 # sigma0(X[i+1]) + rotr $23,$17,19 + xor $10,$8 + addu $19,$9 +#else + srl $9,$20,3 # Xupdate(27) + addu $19,$12 # +=X[i+9] + sll $8,$20,14 + srl $23,$20,7 + xor $9,$8 + sll $8,11 + xor $9,$23 + srl $23,$20,18 + xor $9,$8 + + srl $10,$17,10 + xor $9,$23 # sigma0(X[i+1]) + sll $8,$17,13 + addu $19,$9 + srl $23,$17,17 + xor $10,$8 + sll $8,2 + xor $10,$23 + srl $23,$17,19 + xor $10,$8 +#endif + xor $10,$23 # sigma1(X[i+14]) + addu $19,$10 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $10,$3,$7 # 27 + rotr $8,$2,6 + addu $23,$19,$24 + rotr $9,$2,11 + and $10,$2 + rotr $24,$2,25 + xor $8,$9 + rotr $9,$25,2 + xor $10,$7 # Ch(e,f,g) + xor $8,$24 # Sigma1(e) + + rotr $24,$25,13 + addu $23,$10 + lw $10,108($6) # K[27] + xor $24,$9 + rotr $9,$25,22 + addu $23,$8 + and $8,$30,$31 + xor $24,$9 # Sigma0(a) + xor $9,$30,$31 +#else + addu $23,$19,$24 # 27 + srl $24,$2,6 + xor $10,$3,$7 + sll $9,$2,7 + and $10,$2 + srl $8,$2,11 + xor $24,$9 + sll $9,$2,21 + xor $24,$8 + srl $8,$2,25 + xor $24,$9 + sll $9,$2,26 + xor $24,$8 + xor $10,$7 # Ch(e,f,g) + xor $8,$9,$24 # Sigma1(e) + + srl $24,$25,2 + addu $23,$10 + lw $10,108($6) # K[27] + sll $9,$25,10 + addu $23,$8 + srl $8,$25,13 + xor $24,$9 + sll $9,$25,19 + xor $24,$8 + srl $8,$25,22 + xor $24,$9 + sll $9,$25,30 + xor $24,$8 + and $8,$30,$31 + xor $24,$9 # Sigma0(a) + xor $9,$30,$31 +#endif + sw $19,44($29) # offload to ring buffer + addu $24,$8 + and $9,$25 + addu $23,$10 # +=K[27] + addu $24,$9 # +=Maj(a,b,c) + addu $1,$23 + addu $24,$23 + lw $22,56($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + srl $10,$21,3 # Xupdate(28) + rotr $8,$21,7 + addu $20,$13 # +=X[i+9] + xor $10,$8 + rotr $8,$21,18 + + srl $11,$18,10 + rotr $9,$18,17 + xor $10,$8 # sigma0(X[i+1]) + rotr $8,$18,19 + xor $11,$9 + addu $20,$10 +#else + srl $10,$21,3 # Xupdate(28) + addu $20,$13 # +=X[i+9] + sll $9,$21,14 + srl $8,$21,7 + xor $10,$9 + sll $9,11 + xor $10,$8 + srl $8,$21,18 + xor $10,$9 + + srl $11,$18,10 + xor $10,$8 # sigma0(X[i+1]) + sll $9,$18,13 + addu $20,$10 + srl $8,$18,17 + xor $11,$9 + sll $9,2 + xor $11,$8 + srl $8,$18,19 + xor $11,$9 +#endif + xor $11,$8 # sigma1(X[i+14]) + addu $20,$11 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $11,$2,$3 # 28 + rotr $9,$1,6 + addu $8,$20,$7 + rotr $10,$1,11 + and $11,$1 + rotr $7,$1,25 + xor $9,$10 + rotr $10,$24,2 + xor $11,$3 # Ch(e,f,g) + xor $9,$7 # Sigma1(e) + + rotr $7,$24,13 + addu $8,$11 + lw $11,112($6) # K[28] + xor $7,$10 + rotr $10,$24,22 + addu $8,$9 + and $9,$25,$30 + xor $7,$10 # Sigma0(a) + xor $10,$25,$30 +#else + addu $8,$20,$7 # 28 + srl $7,$1,6 + xor $11,$2,$3 + sll $10,$1,7 + and $11,$1 + srl $9,$1,11 + xor $7,$10 + sll $10,$1,21 + xor $7,$9 + srl $9,$1,25 + xor $7,$10 + sll $10,$1,26 + xor $7,$9 + xor $11,$3 # Ch(e,f,g) + xor $9,$10,$7 # Sigma1(e) + + srl $7,$24,2 + addu $8,$11 + lw $11,112($6) # K[28] + sll $10,$24,10 + addu $8,$9 + srl $9,$24,13 + xor $7,$10 + sll $10,$24,19 + xor $7,$9 + srl $9,$24,22 + xor $7,$10 + sll $10,$24,30 + xor $7,$9 + and $9,$25,$30 + xor $7,$10 # Sigma0(a) + xor $10,$25,$30 +#endif + sw $20,48($29) # offload to ring buffer + addu $7,$9 + and $10,$24 + addu $8,$11 # +=K[28] + addu $7,$10 # +=Maj(a,b,c) + addu $31,$8 + addu $7,$8 + lw $23,60($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + srl $11,$22,3 # Xupdate(29) + rotr $9,$22,7 + addu $21,$14 # +=X[i+9] + xor $11,$9 + rotr $9,$22,18 + + srl $12,$19,10 + rotr $10,$19,17 + xor $11,$9 # sigma0(X[i+1]) + rotr $9,$19,19 + xor $12,$10 + addu $21,$11 +#else + srl $11,$22,3 # Xupdate(29) + addu $21,$14 # +=X[i+9] + sll $10,$22,14 + srl $9,$22,7 + xor $11,$10 + sll $10,11 + xor $11,$9 + srl $9,$22,18 + xor $11,$10 + + srl $12,$19,10 + xor $11,$9 # sigma0(X[i+1]) + sll $10,$19,13 + addu $21,$11 + srl $9,$19,17 + xor $12,$10 + sll $10,2 + xor $12,$9 + srl $9,$19,19 + xor $12,$10 +#endif + xor $12,$9 # sigma1(X[i+14]) + addu $21,$12 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $12,$1,$2 # 29 + rotr $10,$31,6 + addu $9,$21,$3 + rotr $11,$31,11 + and $12,$31 + rotr $3,$31,25 + xor $10,$11 + rotr $11,$7,2 + xor $12,$2 # Ch(e,f,g) + xor $10,$3 # Sigma1(e) + + rotr $3,$7,13 + addu $9,$12 + lw $12,116($6) # K[29] + xor $3,$11 + rotr $11,$7,22 + addu $9,$10 + and $10,$24,$25 + xor $3,$11 # Sigma0(a) + xor $11,$24,$25 +#else + addu $9,$21,$3 # 29 + srl $3,$31,6 + xor $12,$1,$2 + sll $11,$31,7 + and $12,$31 + srl $10,$31,11 + xor $3,$11 + sll $11,$31,21 + xor $3,$10 + srl $10,$31,25 + xor $3,$11 + sll $11,$31,26 + xor $3,$10 + xor $12,$2 # Ch(e,f,g) + xor $10,$11,$3 # Sigma1(e) + + srl $3,$7,2 + addu $9,$12 + lw $12,116($6) # K[29] + sll $11,$7,10 + addu $9,$10 + srl $10,$7,13 + xor $3,$11 + sll $11,$7,19 + xor $3,$10 + srl $10,$7,22 + xor $3,$11 + sll $11,$7,30 + xor $3,$10 + and $10,$24,$25 + xor $3,$11 # Sigma0(a) + xor $11,$24,$25 +#endif + sw $21,52($29) # offload to ring buffer + addu $3,$10 + and $11,$7 + addu $9,$12 # +=K[29] + addu $3,$11 # +=Maj(a,b,c) + addu $30,$9 + addu $3,$9 + lw $8,0($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + srl $12,$23,3 # Xupdate(30) + rotr $10,$23,7 + addu $22,$15 # +=X[i+9] + xor $12,$10 + rotr $10,$23,18 + + srl $13,$20,10 + rotr $11,$20,17 + xor $12,$10 # sigma0(X[i+1]) + rotr $10,$20,19 + xor $13,$11 + addu $22,$12 +#else + srl $12,$23,3 # Xupdate(30) + addu $22,$15 # +=X[i+9] + sll $11,$23,14 + srl $10,$23,7 + xor $12,$11 + sll $11,11 + xor $12,$10 + srl $10,$23,18 + xor $12,$11 + + srl $13,$20,10 + xor $12,$10 # sigma0(X[i+1]) + sll $11,$20,13 + addu $22,$12 + srl $10,$20,17 + xor $13,$11 + sll $11,2 + xor $13,$10 + srl $10,$20,19 + xor $13,$11 +#endif + xor $13,$10 # sigma1(X[i+14]) + addu $22,$13 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $13,$31,$1 # 30 + rotr $11,$30,6 + addu $10,$22,$2 + rotr $12,$30,11 + and $13,$30 + rotr $2,$30,25 + xor $11,$12 + rotr $12,$3,2 + xor $13,$1 # Ch(e,f,g) + xor $11,$2 # Sigma1(e) + + rotr $2,$3,13 + addu $10,$13 + lw $13,120($6) # K[30] + xor $2,$12 + rotr $12,$3,22 + addu $10,$11 + and $11,$7,$24 + xor $2,$12 # Sigma0(a) + xor $12,$7,$24 +#else + addu $10,$22,$2 # 30 + srl $2,$30,6 + xor $13,$31,$1 + sll $12,$30,7 + and $13,$30 + srl $11,$30,11 + xor $2,$12 + sll $12,$30,21 + xor $2,$11 + srl $11,$30,25 + xor $2,$12 + sll $12,$30,26 + xor $2,$11 + xor $13,$1 # Ch(e,f,g) + xor $11,$12,$2 # Sigma1(e) + + srl $2,$3,2 + addu $10,$13 + lw $13,120($6) # K[30] + sll $12,$3,10 + addu $10,$11 + srl $11,$3,13 + xor $2,$12 + sll $12,$3,19 + xor $2,$11 + srl $11,$3,22 + xor $2,$12 + sll $12,$3,30 + xor $2,$11 + and $11,$7,$24 + xor $2,$12 # Sigma0(a) + xor $12,$7,$24 +#endif + sw $22,56($29) # offload to ring buffer + addu $2,$11 + and $12,$3 + addu $10,$13 # +=K[30] + addu $2,$12 # +=Maj(a,b,c) + addu $25,$10 + addu $2,$10 + lw $9,4($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + srl $13,$8,3 # Xupdate(31) + rotr $11,$8,7 + addu $23,$16 # +=X[i+9] + xor $13,$11 + rotr $11,$8,18 + + srl $14,$21,10 + rotr $12,$21,17 + xor $13,$11 # sigma0(X[i+1]) + rotr $11,$21,19 + xor $14,$12 + addu $23,$13 +#else + srl $13,$8,3 # Xupdate(31) + addu $23,$16 # +=X[i+9] + sll $12,$8,14 + srl $11,$8,7 + xor $13,$12 + sll $12,11 + xor $13,$11 + srl $11,$8,18 + xor $13,$12 + + srl $14,$21,10 + xor $13,$11 # sigma0(X[i+1]) + sll $12,$21,13 + addu $23,$13 + srl $11,$21,17 + xor $14,$12 + sll $12,2 + xor $14,$11 + srl $11,$21,19 + xor $14,$12 +#endif + xor $14,$11 # sigma1(X[i+14]) + addu $23,$14 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $14,$30,$31 # 31 + rotr $12,$25,6 + addu $11,$23,$1 + rotr $13,$25,11 + and $14,$25 + rotr $1,$25,25 + xor $12,$13 + rotr $13,$2,2 + xor $14,$31 # Ch(e,f,g) + xor $12,$1 # Sigma1(e) + + rotr $1,$2,13 + addu $11,$14 + lw $14,124($6) # K[31] + xor $1,$13 + rotr $13,$2,22 + addu $11,$12 + and $12,$3,$7 + xor $1,$13 # Sigma0(a) + xor $13,$3,$7 +#else + addu $11,$23,$1 # 31 + srl $1,$25,6 + xor $14,$30,$31 + sll $13,$25,7 + and $14,$25 + srl $12,$25,11 + xor $1,$13 + sll $13,$25,21 + xor $1,$12 + srl $12,$25,25 + xor $1,$13 + sll $13,$25,26 + xor $1,$12 + xor $14,$31 # Ch(e,f,g) + xor $12,$13,$1 # Sigma1(e) + + srl $1,$2,2 + addu $11,$14 + lw $14,124($6) # K[31] + sll $13,$2,10 + addu $11,$12 + srl $12,$2,13 + xor $1,$13 + sll $13,$2,19 + xor $1,$12 + srl $12,$2,22 + xor $1,$13 + sll $13,$2,30 + xor $1,$12 + and $12,$3,$7 + xor $1,$13 # Sigma0(a) + xor $13,$3,$7 +#endif + sw $23,60($29) # offload to ring buffer + addu $1,$12 + and $13,$2 + addu $11,$14 # +=K[31] + addu $1,$13 # +=Maj(a,b,c) + addu $24,$11 + addu $1,$11 + lw $10,8($29) # prefetch from ring buffer + and $14,0xfff + li $15,2290 + .set noreorder + bne $14,$15,.L16_xx + daddu $6,16*4 # Ktbl+=16 + + ld $23,16*4($29) # restore pointer to the end of input + lw $8,0*4($4) + lw $9,1*4($4) + lw $10,2*4($4) + daddu $5,16*4 + lw $11,3*4($4) + addu $1,$8 + lw $12,4*4($4) + addu $2,$9 + lw $13,5*4($4) + addu $3,$10 + lw $14,6*4($4) + addu $7,$11 + lw $15,7*4($4) + addu $24,$12 + sw $1,0*4($4) + addu $25,$13 + sw $2,1*4($4) + addu $30,$14 + sw $3,2*4($4) + addu $31,$15 + sw $7,3*4($4) + sw $24,4*4($4) + sw $25,5*4($4) + sw $30,6*4($4) + sw $31,7*4($4) + + bne $5,$23,.Loop + dsubu $6,192 # rewind $6 + + ld $31,192-1*8($29) + ld $30,192-2*8($29) + ld $23,192-3*8($29) + ld $22,192-4*8($29) + ld $21,192-5*8($29) + ld $20,192-6*8($29) + ld $19,192-7*8($29) + ld $18,192-8*8($29) + ld $17,192-9*8($29) + ld $16,192-10*8($29) + jr $31 + daddu $29,192 +.end sha256_block_data_order + +.rdata +.align 5 +K256: + .word 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5 + .word 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5 + .word 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3 + .word 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174 + .word 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc + .word 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da + .word 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7 + .word 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967 + .word 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13 + .word 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85 + .word 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3 + .word 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070 + .word 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5 + .word 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3 + .word 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208 + .word 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2 +.asciiz "SHA256 for MIPS, CRYPTOGAMS by " +.align 5 diff --git a/deps/openssl/config/archs/linux64-mips64/asm/crypto/sha/sha512-mips.S b/deps/openssl/config/archs/linux64-mips64/asm/crypto/sha/sha512-mips.S new file mode 100644 index 00000000000000..538bd9e459332d --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/asm/crypto/sha/sha512-mips.S @@ -0,0 +1,3204 @@ +#include "mips_arch.h" + +.text +.set noat +#if !defined(__mips_eabi) && (!defined(__vxworks) || defined(__pic__)) +.option pic2 +#endif + +.align 5 +.globl sha512_block_data_order +.ent sha512_block_data_order +sha512_block_data_order: + .frame $29,256,$31 + .mask 0xc0ff0000,-8 + .set noreorder + dsubu $29,256 + sd $31,256-1*8($29) + sd $30,256-2*8($29) + sd $23,256-3*8($29) + sd $22,256-4*8($29) + sd $21,256-5*8($29) + sd $20,256-6*8($29) + sd $19,256-7*8($29) + sd $18,256-8*8($29) + sd $17,256-9*8($29) + sd $16,256-10*8($29) + dsll $23,$6,7 + .cplocal $6 + .cpsetup $25,$0,sha512_block_data_order + .set reorder + dla $6,K512 # PIC-ified 'load address' + + ld $1,0*8($4) # load context + ld $2,1*8($4) + ld $3,2*8($4) + ld $7,3*8($4) + ld $24,4*8($4) + ld $25,5*8($4) + ld $30,6*8($4) + ld $31,7*8($4) + + daddu $23,$5 # pointer to the end of input + sd $23,16*8($29) + b .Loop + +.align 5 +.Loop: +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + ld $8,($5) +#else + ldl $8,7($5) + ldr $8,0($5) +#endif +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + ld $9,8($5) +#else + ldl $9,15($5) + ldr $9,8($5) +#endif +#if defined(_MIPS_ARCH_MIPS64R2) + dsbh $8,$8 # byte swap(0) + dshd $8,$8 +#else + ori $13,$0,0xFF + dsll $15,$13,32 + or $13,$15 # 0x000000FF000000FF + and $14,$8,$13 # byte swap(0) + dsrl $15,$8,24 + dsll $14,24 + and $15,$13 + dsll $13,8 # 0x0000FF000000FF00 + or $14,$15 + and $15,$8,$13 + dsrl $8,8 + dsll $15,8 + and $8,$13 + or $14,$15 + or $8,$14 + dsrl $14,$8,32 + dsll $8,32 + or $8,$14 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $15,$25,$30 # 0 + drotr $13,$24,14 + daddu $12,$8,$31 + drotr $14,$24,18 + and $15,$24 + drotr $31,$24,41 + xor $13,$14 + drotr $14,$1,28 + xor $15,$30 # Ch(e,f,g) + xor $13,$31 # Sigma1(e) + + drotr $31,$1,34 + daddu $12,$15 + ld $15,0($6) # K[0] + xor $31,$14 + drotr $14,$1,39 + daddu $12,$13 + and $13,$2,$3 + xor $31,$14 # Sigma0(a) + xor $14,$2,$3 +#else + daddu $12,$8,$31 # 0 + dsrl $31,$24,14 + xor $15,$25,$30 + dsll $14,$24,23 + and $15,$24 + dsrl $13,$24,18 + xor $31,$14 + dsll $14,$24,46 + xor $31,$13 + dsrl $13,$24,41 + xor $31,$14 + dsll $14,$24,50 + xor $31,$13 + xor $15,$30 # Ch(e,f,g) + xor $13,$14,$31 # Sigma1(e) + + dsrl $31,$1,28 + daddu $12,$15 + ld $15,0($6) # K[0] + dsll $14,$1,25 + daddu $12,$13 + dsrl $13,$1,34 + xor $31,$14 + dsll $14,$1,30 + xor $31,$13 + dsrl $13,$1,39 + xor $31,$14 + dsll $14,$1,36 + xor $31,$13 + and $13,$2,$3 + xor $31,$14 # Sigma0(a) + xor $14,$2,$3 +#endif + sd $8,0($29) # offload to ring buffer + daddu $31,$13 + and $14,$1 + daddu $12,$15 # +=K[0] + daddu $31,$14 # +=Maj(a,b,c) + daddu $7,$12 + daddu $31,$12 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + ld $10,16($5) +#else + ldl $10,23($5) + ldr $10,16($5) +#endif +#if defined(_MIPS_ARCH_MIPS64R2) + dsbh $9,$9 # byte swap(1) + dshd $9,$9 +#else + ori $14,$0,0xFF + dsll $16,$14,32 + or $14,$16 # 0x000000FF000000FF + and $15,$9,$14 # byte swap(1) + dsrl $16,$9,24 + dsll $15,24 + and $16,$14 + dsll $14,8 # 0x0000FF000000FF00 + or $15,$16 + and $16,$9,$14 + dsrl $9,8 + dsll $16,8 + and $9,$14 + or $15,$16 + or $9,$15 + dsrl $15,$9,32 + dsll $9,32 + or $9,$15 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $16,$24,$25 # 1 + drotr $14,$7,14 + daddu $13,$9,$30 + drotr $15,$7,18 + and $16,$7 + drotr $30,$7,41 + xor $14,$15 + drotr $15,$31,28 + xor $16,$25 # Ch(e,f,g) + xor $14,$30 # Sigma1(e) + + drotr $30,$31,34 + daddu $13,$16 + ld $16,8($6) # K[1] + xor $30,$15 + drotr $15,$31,39 + daddu $13,$14 + and $14,$1,$2 + xor $30,$15 # Sigma0(a) + xor $15,$1,$2 +#else + daddu $13,$9,$30 # 1 + dsrl $30,$7,14 + xor $16,$24,$25 + dsll $15,$7,23 + and $16,$7 + dsrl $14,$7,18 + xor $30,$15 + dsll $15,$7,46 + xor $30,$14 + dsrl $14,$7,41 + xor $30,$15 + dsll $15,$7,50 + xor $30,$14 + xor $16,$25 # Ch(e,f,g) + xor $14,$15,$30 # Sigma1(e) + + dsrl $30,$31,28 + daddu $13,$16 + ld $16,8($6) # K[1] + dsll $15,$31,25 + daddu $13,$14 + dsrl $14,$31,34 + xor $30,$15 + dsll $15,$31,30 + xor $30,$14 + dsrl $14,$31,39 + xor $30,$15 + dsll $15,$31,36 + xor $30,$14 + and $14,$1,$2 + xor $30,$15 # Sigma0(a) + xor $15,$1,$2 +#endif + sd $9,8($29) # offload to ring buffer + daddu $30,$14 + and $15,$31 + daddu $13,$16 # +=K[1] + daddu $30,$15 # +=Maj(a,b,c) + daddu $3,$13 + daddu $30,$13 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + ld $11,24($5) +#else + ldl $11,31($5) + ldr $11,24($5) +#endif +#if defined(_MIPS_ARCH_MIPS64R2) + dsbh $10,$10 # byte swap(2) + dshd $10,$10 +#else + ori $15,$0,0xFF + dsll $17,$15,32 + or $15,$17 # 0x000000FF000000FF + and $16,$10,$15 # byte swap(2) + dsrl $17,$10,24 + dsll $16,24 + and $17,$15 + dsll $15,8 # 0x0000FF000000FF00 + or $16,$17 + and $17,$10,$15 + dsrl $10,8 + dsll $17,8 + and $10,$15 + or $16,$17 + or $10,$16 + dsrl $16,$10,32 + dsll $10,32 + or $10,$16 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $17,$7,$24 # 2 + drotr $15,$3,14 + daddu $14,$10,$25 + drotr $16,$3,18 + and $17,$3 + drotr $25,$3,41 + xor $15,$16 + drotr $16,$30,28 + xor $17,$24 # Ch(e,f,g) + xor $15,$25 # Sigma1(e) + + drotr $25,$30,34 + daddu $14,$17 + ld $17,16($6) # K[2] + xor $25,$16 + drotr $16,$30,39 + daddu $14,$15 + and $15,$31,$1 + xor $25,$16 # Sigma0(a) + xor $16,$31,$1 +#else + daddu $14,$10,$25 # 2 + dsrl $25,$3,14 + xor $17,$7,$24 + dsll $16,$3,23 + and $17,$3 + dsrl $15,$3,18 + xor $25,$16 + dsll $16,$3,46 + xor $25,$15 + dsrl $15,$3,41 + xor $25,$16 + dsll $16,$3,50 + xor $25,$15 + xor $17,$24 # Ch(e,f,g) + xor $15,$16,$25 # Sigma1(e) + + dsrl $25,$30,28 + daddu $14,$17 + ld $17,16($6) # K[2] + dsll $16,$30,25 + daddu $14,$15 + dsrl $15,$30,34 + xor $25,$16 + dsll $16,$30,30 + xor $25,$15 + dsrl $15,$30,39 + xor $25,$16 + dsll $16,$30,36 + xor $25,$15 + and $15,$31,$1 + xor $25,$16 # Sigma0(a) + xor $16,$31,$1 +#endif + sd $10,16($29) # offload to ring buffer + daddu $25,$15 + and $16,$30 + daddu $14,$17 # +=K[2] + daddu $25,$16 # +=Maj(a,b,c) + daddu $2,$14 + daddu $25,$14 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + ld $12,32($5) +#else + ldl $12,39($5) + ldr $12,32($5) +#endif +#if defined(_MIPS_ARCH_MIPS64R2) + dsbh $11,$11 # byte swap(3) + dshd $11,$11 +#else + ori $16,$0,0xFF + dsll $18,$16,32 + or $16,$18 # 0x000000FF000000FF + and $17,$11,$16 # byte swap(3) + dsrl $18,$11,24 + dsll $17,24 + and $18,$16 + dsll $16,8 # 0x0000FF000000FF00 + or $17,$18 + and $18,$11,$16 + dsrl $11,8 + dsll $18,8 + and $11,$16 + or $17,$18 + or $11,$17 + dsrl $17,$11,32 + dsll $11,32 + or $11,$17 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $18,$3,$7 # 3 + drotr $16,$2,14 + daddu $15,$11,$24 + drotr $17,$2,18 + and $18,$2 + drotr $24,$2,41 + xor $16,$17 + drotr $17,$25,28 + xor $18,$7 # Ch(e,f,g) + xor $16,$24 # Sigma1(e) + + drotr $24,$25,34 + daddu $15,$18 + ld $18,24($6) # K[3] + xor $24,$17 + drotr $17,$25,39 + daddu $15,$16 + and $16,$30,$31 + xor $24,$17 # Sigma0(a) + xor $17,$30,$31 +#else + daddu $15,$11,$24 # 3 + dsrl $24,$2,14 + xor $18,$3,$7 + dsll $17,$2,23 + and $18,$2 + dsrl $16,$2,18 + xor $24,$17 + dsll $17,$2,46 + xor $24,$16 + dsrl $16,$2,41 + xor $24,$17 + dsll $17,$2,50 + xor $24,$16 + xor $18,$7 # Ch(e,f,g) + xor $16,$17,$24 # Sigma1(e) + + dsrl $24,$25,28 + daddu $15,$18 + ld $18,24($6) # K[3] + dsll $17,$25,25 + daddu $15,$16 + dsrl $16,$25,34 + xor $24,$17 + dsll $17,$25,30 + xor $24,$16 + dsrl $16,$25,39 + xor $24,$17 + dsll $17,$25,36 + xor $24,$16 + and $16,$30,$31 + xor $24,$17 # Sigma0(a) + xor $17,$30,$31 +#endif + sd $11,24($29) # offload to ring buffer + daddu $24,$16 + and $17,$25 + daddu $15,$18 # +=K[3] + daddu $24,$17 # +=Maj(a,b,c) + daddu $1,$15 + daddu $24,$15 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + ld $13,40($5) +#else + ldl $13,47($5) + ldr $13,40($5) +#endif +#if defined(_MIPS_ARCH_MIPS64R2) + dsbh $12,$12 # byte swap(4) + dshd $12,$12 +#else + ori $17,$0,0xFF + dsll $19,$17,32 + or $17,$19 # 0x000000FF000000FF + and $18,$12,$17 # byte swap(4) + dsrl $19,$12,24 + dsll $18,24 + and $19,$17 + dsll $17,8 # 0x0000FF000000FF00 + or $18,$19 + and $19,$12,$17 + dsrl $12,8 + dsll $19,8 + and $12,$17 + or $18,$19 + or $12,$18 + dsrl $18,$12,32 + dsll $12,32 + or $12,$18 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $19,$2,$3 # 4 + drotr $17,$1,14 + daddu $16,$12,$7 + drotr $18,$1,18 + and $19,$1 + drotr $7,$1,41 + xor $17,$18 + drotr $18,$24,28 + xor $19,$3 # Ch(e,f,g) + xor $17,$7 # Sigma1(e) + + drotr $7,$24,34 + daddu $16,$19 + ld $19,32($6) # K[4] + xor $7,$18 + drotr $18,$24,39 + daddu $16,$17 + and $17,$25,$30 + xor $7,$18 # Sigma0(a) + xor $18,$25,$30 +#else + daddu $16,$12,$7 # 4 + dsrl $7,$1,14 + xor $19,$2,$3 + dsll $18,$1,23 + and $19,$1 + dsrl $17,$1,18 + xor $7,$18 + dsll $18,$1,46 + xor $7,$17 + dsrl $17,$1,41 + xor $7,$18 + dsll $18,$1,50 + xor $7,$17 + xor $19,$3 # Ch(e,f,g) + xor $17,$18,$7 # Sigma1(e) + + dsrl $7,$24,28 + daddu $16,$19 + ld $19,32($6) # K[4] + dsll $18,$24,25 + daddu $16,$17 + dsrl $17,$24,34 + xor $7,$18 + dsll $18,$24,30 + xor $7,$17 + dsrl $17,$24,39 + xor $7,$18 + dsll $18,$24,36 + xor $7,$17 + and $17,$25,$30 + xor $7,$18 # Sigma0(a) + xor $18,$25,$30 +#endif + sd $12,32($29) # offload to ring buffer + daddu $7,$17 + and $18,$24 + daddu $16,$19 # +=K[4] + daddu $7,$18 # +=Maj(a,b,c) + daddu $31,$16 + daddu $7,$16 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + ld $14,48($5) +#else + ldl $14,55($5) + ldr $14,48($5) +#endif +#if defined(_MIPS_ARCH_MIPS64R2) + dsbh $13,$13 # byte swap(5) + dshd $13,$13 +#else + ori $18,$0,0xFF + dsll $20,$18,32 + or $18,$20 # 0x000000FF000000FF + and $19,$13,$18 # byte swap(5) + dsrl $20,$13,24 + dsll $19,24 + and $20,$18 + dsll $18,8 # 0x0000FF000000FF00 + or $19,$20 + and $20,$13,$18 + dsrl $13,8 + dsll $20,8 + and $13,$18 + or $19,$20 + or $13,$19 + dsrl $19,$13,32 + dsll $13,32 + or $13,$19 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $20,$1,$2 # 5 + drotr $18,$31,14 + daddu $17,$13,$3 + drotr $19,$31,18 + and $20,$31 + drotr $3,$31,41 + xor $18,$19 + drotr $19,$7,28 + xor $20,$2 # Ch(e,f,g) + xor $18,$3 # Sigma1(e) + + drotr $3,$7,34 + daddu $17,$20 + ld $20,40($6) # K[5] + xor $3,$19 + drotr $19,$7,39 + daddu $17,$18 + and $18,$24,$25 + xor $3,$19 # Sigma0(a) + xor $19,$24,$25 +#else + daddu $17,$13,$3 # 5 + dsrl $3,$31,14 + xor $20,$1,$2 + dsll $19,$31,23 + and $20,$31 + dsrl $18,$31,18 + xor $3,$19 + dsll $19,$31,46 + xor $3,$18 + dsrl $18,$31,41 + xor $3,$19 + dsll $19,$31,50 + xor $3,$18 + xor $20,$2 # Ch(e,f,g) + xor $18,$19,$3 # Sigma1(e) + + dsrl $3,$7,28 + daddu $17,$20 + ld $20,40($6) # K[5] + dsll $19,$7,25 + daddu $17,$18 + dsrl $18,$7,34 + xor $3,$19 + dsll $19,$7,30 + xor $3,$18 + dsrl $18,$7,39 + xor $3,$19 + dsll $19,$7,36 + xor $3,$18 + and $18,$24,$25 + xor $3,$19 # Sigma0(a) + xor $19,$24,$25 +#endif + sd $13,40($29) # offload to ring buffer + daddu $3,$18 + and $19,$7 + daddu $17,$20 # +=K[5] + daddu $3,$19 # +=Maj(a,b,c) + daddu $30,$17 + daddu $3,$17 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + ld $15,56($5) +#else + ldl $15,63($5) + ldr $15,56($5) +#endif +#if defined(_MIPS_ARCH_MIPS64R2) + dsbh $14,$14 # byte swap(6) + dshd $14,$14 +#else + ori $19,$0,0xFF + dsll $21,$19,32 + or $19,$21 # 0x000000FF000000FF + and $20,$14,$19 # byte swap(6) + dsrl $21,$14,24 + dsll $20,24 + and $21,$19 + dsll $19,8 # 0x0000FF000000FF00 + or $20,$21 + and $21,$14,$19 + dsrl $14,8 + dsll $21,8 + and $14,$19 + or $20,$21 + or $14,$20 + dsrl $20,$14,32 + dsll $14,32 + or $14,$20 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $21,$31,$1 # 6 + drotr $19,$30,14 + daddu $18,$14,$2 + drotr $20,$30,18 + and $21,$30 + drotr $2,$30,41 + xor $19,$20 + drotr $20,$3,28 + xor $21,$1 # Ch(e,f,g) + xor $19,$2 # Sigma1(e) + + drotr $2,$3,34 + daddu $18,$21 + ld $21,48($6) # K[6] + xor $2,$20 + drotr $20,$3,39 + daddu $18,$19 + and $19,$7,$24 + xor $2,$20 # Sigma0(a) + xor $20,$7,$24 +#else + daddu $18,$14,$2 # 6 + dsrl $2,$30,14 + xor $21,$31,$1 + dsll $20,$30,23 + and $21,$30 + dsrl $19,$30,18 + xor $2,$20 + dsll $20,$30,46 + xor $2,$19 + dsrl $19,$30,41 + xor $2,$20 + dsll $20,$30,50 + xor $2,$19 + xor $21,$1 # Ch(e,f,g) + xor $19,$20,$2 # Sigma1(e) + + dsrl $2,$3,28 + daddu $18,$21 + ld $21,48($6) # K[6] + dsll $20,$3,25 + daddu $18,$19 + dsrl $19,$3,34 + xor $2,$20 + dsll $20,$3,30 + xor $2,$19 + dsrl $19,$3,39 + xor $2,$20 + dsll $20,$3,36 + xor $2,$19 + and $19,$7,$24 + xor $2,$20 # Sigma0(a) + xor $20,$7,$24 +#endif + sd $14,48($29) # offload to ring buffer + daddu $2,$19 + and $20,$3 + daddu $18,$21 # +=K[6] + daddu $2,$20 # +=Maj(a,b,c) + daddu $25,$18 + daddu $2,$18 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + ld $16,64($5) +#else + ldl $16,71($5) + ldr $16,64($5) +#endif +#if defined(_MIPS_ARCH_MIPS64R2) + dsbh $15,$15 # byte swap(7) + dshd $15,$15 +#else + ori $20,$0,0xFF + dsll $22,$20,32 + or $20,$22 # 0x000000FF000000FF + and $21,$15,$20 # byte swap(7) + dsrl $22,$15,24 + dsll $21,24 + and $22,$20 + dsll $20,8 # 0x0000FF000000FF00 + or $21,$22 + and $22,$15,$20 + dsrl $15,8 + dsll $22,8 + and $15,$20 + or $21,$22 + or $15,$21 + dsrl $21,$15,32 + dsll $15,32 + or $15,$21 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $22,$30,$31 # 7 + drotr $20,$25,14 + daddu $19,$15,$1 + drotr $21,$25,18 + and $22,$25 + drotr $1,$25,41 + xor $20,$21 + drotr $21,$2,28 + xor $22,$31 # Ch(e,f,g) + xor $20,$1 # Sigma1(e) + + drotr $1,$2,34 + daddu $19,$22 + ld $22,56($6) # K[7] + xor $1,$21 + drotr $21,$2,39 + daddu $19,$20 + and $20,$3,$7 + xor $1,$21 # Sigma0(a) + xor $21,$3,$7 +#else + daddu $19,$15,$1 # 7 + dsrl $1,$25,14 + xor $22,$30,$31 + dsll $21,$25,23 + and $22,$25 + dsrl $20,$25,18 + xor $1,$21 + dsll $21,$25,46 + xor $1,$20 + dsrl $20,$25,41 + xor $1,$21 + dsll $21,$25,50 + xor $1,$20 + xor $22,$31 # Ch(e,f,g) + xor $20,$21,$1 # Sigma1(e) + + dsrl $1,$2,28 + daddu $19,$22 + ld $22,56($6) # K[7] + dsll $21,$2,25 + daddu $19,$20 + dsrl $20,$2,34 + xor $1,$21 + dsll $21,$2,30 + xor $1,$20 + dsrl $20,$2,39 + xor $1,$21 + dsll $21,$2,36 + xor $1,$20 + and $20,$3,$7 + xor $1,$21 # Sigma0(a) + xor $21,$3,$7 +#endif + sd $15,56($29) # offload to ring buffer + daddu $1,$20 + and $21,$2 + daddu $19,$22 # +=K[7] + daddu $1,$21 # +=Maj(a,b,c) + daddu $24,$19 + daddu $1,$19 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + ld $17,72($5) +#else + ldl $17,79($5) + ldr $17,72($5) +#endif +#if defined(_MIPS_ARCH_MIPS64R2) + dsbh $16,$16 # byte swap(8) + dshd $16,$16 +#else + ori $21,$0,0xFF + dsll $23,$21,32 + or $21,$23 # 0x000000FF000000FF + and $22,$16,$21 # byte swap(8) + dsrl $23,$16,24 + dsll $22,24 + and $23,$21 + dsll $21,8 # 0x0000FF000000FF00 + or $22,$23 + and $23,$16,$21 + dsrl $16,8 + dsll $23,8 + and $16,$21 + or $22,$23 + or $16,$22 + dsrl $22,$16,32 + dsll $16,32 + or $16,$22 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $23,$25,$30 # 8 + drotr $21,$24,14 + daddu $20,$16,$31 + drotr $22,$24,18 + and $23,$24 + drotr $31,$24,41 + xor $21,$22 + drotr $22,$1,28 + xor $23,$30 # Ch(e,f,g) + xor $21,$31 # Sigma1(e) + + drotr $31,$1,34 + daddu $20,$23 + ld $23,64($6) # K[8] + xor $31,$22 + drotr $22,$1,39 + daddu $20,$21 + and $21,$2,$3 + xor $31,$22 # Sigma0(a) + xor $22,$2,$3 +#else + daddu $20,$16,$31 # 8 + dsrl $31,$24,14 + xor $23,$25,$30 + dsll $22,$24,23 + and $23,$24 + dsrl $21,$24,18 + xor $31,$22 + dsll $22,$24,46 + xor $31,$21 + dsrl $21,$24,41 + xor $31,$22 + dsll $22,$24,50 + xor $31,$21 + xor $23,$30 # Ch(e,f,g) + xor $21,$22,$31 # Sigma1(e) + + dsrl $31,$1,28 + daddu $20,$23 + ld $23,64($6) # K[8] + dsll $22,$1,25 + daddu $20,$21 + dsrl $21,$1,34 + xor $31,$22 + dsll $22,$1,30 + xor $31,$21 + dsrl $21,$1,39 + xor $31,$22 + dsll $22,$1,36 + xor $31,$21 + and $21,$2,$3 + xor $31,$22 # Sigma0(a) + xor $22,$2,$3 +#endif + sd $16,64($29) # offload to ring buffer + daddu $31,$21 + and $22,$1 + daddu $20,$23 # +=K[8] + daddu $31,$22 # +=Maj(a,b,c) + daddu $7,$20 + daddu $31,$20 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + ld $18,80($5) +#else + ldl $18,87($5) + ldr $18,80($5) +#endif +#if defined(_MIPS_ARCH_MIPS64R2) + dsbh $17,$17 # byte swap(9) + dshd $17,$17 +#else + ori $22,$0,0xFF + dsll $8,$22,32 + or $22,$8 # 0x000000FF000000FF + and $23,$17,$22 # byte swap(9) + dsrl $8,$17,24 + dsll $23,24 + and $8,$22 + dsll $22,8 # 0x0000FF000000FF00 + or $23,$8 + and $8,$17,$22 + dsrl $17,8 + dsll $8,8 + and $17,$22 + or $23,$8 + or $17,$23 + dsrl $23,$17,32 + dsll $17,32 + or $17,$23 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $8,$24,$25 # 9 + drotr $22,$7,14 + daddu $21,$17,$30 + drotr $23,$7,18 + and $8,$7 + drotr $30,$7,41 + xor $22,$23 + drotr $23,$31,28 + xor $8,$25 # Ch(e,f,g) + xor $22,$30 # Sigma1(e) + + drotr $30,$31,34 + daddu $21,$8 + ld $8,72($6) # K[9] + xor $30,$23 + drotr $23,$31,39 + daddu $21,$22 + and $22,$1,$2 + xor $30,$23 # Sigma0(a) + xor $23,$1,$2 +#else + daddu $21,$17,$30 # 9 + dsrl $30,$7,14 + xor $8,$24,$25 + dsll $23,$7,23 + and $8,$7 + dsrl $22,$7,18 + xor $30,$23 + dsll $23,$7,46 + xor $30,$22 + dsrl $22,$7,41 + xor $30,$23 + dsll $23,$7,50 + xor $30,$22 + xor $8,$25 # Ch(e,f,g) + xor $22,$23,$30 # Sigma1(e) + + dsrl $30,$31,28 + daddu $21,$8 + ld $8,72($6) # K[9] + dsll $23,$31,25 + daddu $21,$22 + dsrl $22,$31,34 + xor $30,$23 + dsll $23,$31,30 + xor $30,$22 + dsrl $22,$31,39 + xor $30,$23 + dsll $23,$31,36 + xor $30,$22 + and $22,$1,$2 + xor $30,$23 # Sigma0(a) + xor $23,$1,$2 +#endif + sd $17,72($29) # offload to ring buffer + daddu $30,$22 + and $23,$31 + daddu $21,$8 # +=K[9] + daddu $30,$23 # +=Maj(a,b,c) + daddu $3,$21 + daddu $30,$21 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + ld $19,88($5) +#else + ldl $19,95($5) + ldr $19,88($5) +#endif +#if defined(_MIPS_ARCH_MIPS64R2) + dsbh $18,$18 # byte swap(10) + dshd $18,$18 +#else + ori $23,$0,0xFF + dsll $9,$23,32 + or $23,$9 # 0x000000FF000000FF + and $8,$18,$23 # byte swap(10) + dsrl $9,$18,24 + dsll $8,24 + and $9,$23 + dsll $23,8 # 0x0000FF000000FF00 + or $8,$9 + and $9,$18,$23 + dsrl $18,8 + dsll $9,8 + and $18,$23 + or $8,$9 + or $18,$8 + dsrl $8,$18,32 + dsll $18,32 + or $18,$8 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $9,$7,$24 # 10 + drotr $23,$3,14 + daddu $22,$18,$25 + drotr $8,$3,18 + and $9,$3 + drotr $25,$3,41 + xor $23,$8 + drotr $8,$30,28 + xor $9,$24 # Ch(e,f,g) + xor $23,$25 # Sigma1(e) + + drotr $25,$30,34 + daddu $22,$9 + ld $9,80($6) # K[10] + xor $25,$8 + drotr $8,$30,39 + daddu $22,$23 + and $23,$31,$1 + xor $25,$8 # Sigma0(a) + xor $8,$31,$1 +#else + daddu $22,$18,$25 # 10 + dsrl $25,$3,14 + xor $9,$7,$24 + dsll $8,$3,23 + and $9,$3 + dsrl $23,$3,18 + xor $25,$8 + dsll $8,$3,46 + xor $25,$23 + dsrl $23,$3,41 + xor $25,$8 + dsll $8,$3,50 + xor $25,$23 + xor $9,$24 # Ch(e,f,g) + xor $23,$8,$25 # Sigma1(e) + + dsrl $25,$30,28 + daddu $22,$9 + ld $9,80($6) # K[10] + dsll $8,$30,25 + daddu $22,$23 + dsrl $23,$30,34 + xor $25,$8 + dsll $8,$30,30 + xor $25,$23 + dsrl $23,$30,39 + xor $25,$8 + dsll $8,$30,36 + xor $25,$23 + and $23,$31,$1 + xor $25,$8 # Sigma0(a) + xor $8,$31,$1 +#endif + sd $18,80($29) # offload to ring buffer + daddu $25,$23 + and $8,$30 + daddu $22,$9 # +=K[10] + daddu $25,$8 # +=Maj(a,b,c) + daddu $2,$22 + daddu $25,$22 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + ld $20,96($5) +#else + ldl $20,103($5) + ldr $20,96($5) +#endif +#if defined(_MIPS_ARCH_MIPS64R2) + dsbh $19,$19 # byte swap(11) + dshd $19,$19 +#else + ori $8,$0,0xFF + dsll $10,$8,32 + or $8,$10 # 0x000000FF000000FF + and $9,$19,$8 # byte swap(11) + dsrl $10,$19,24 + dsll $9,24 + and $10,$8 + dsll $8,8 # 0x0000FF000000FF00 + or $9,$10 + and $10,$19,$8 + dsrl $19,8 + dsll $10,8 + and $19,$8 + or $9,$10 + or $19,$9 + dsrl $9,$19,32 + dsll $19,32 + or $19,$9 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $10,$3,$7 # 11 + drotr $8,$2,14 + daddu $23,$19,$24 + drotr $9,$2,18 + and $10,$2 + drotr $24,$2,41 + xor $8,$9 + drotr $9,$25,28 + xor $10,$7 # Ch(e,f,g) + xor $8,$24 # Sigma1(e) + + drotr $24,$25,34 + daddu $23,$10 + ld $10,88($6) # K[11] + xor $24,$9 + drotr $9,$25,39 + daddu $23,$8 + and $8,$30,$31 + xor $24,$9 # Sigma0(a) + xor $9,$30,$31 +#else + daddu $23,$19,$24 # 11 + dsrl $24,$2,14 + xor $10,$3,$7 + dsll $9,$2,23 + and $10,$2 + dsrl $8,$2,18 + xor $24,$9 + dsll $9,$2,46 + xor $24,$8 + dsrl $8,$2,41 + xor $24,$9 + dsll $9,$2,50 + xor $24,$8 + xor $10,$7 # Ch(e,f,g) + xor $8,$9,$24 # Sigma1(e) + + dsrl $24,$25,28 + daddu $23,$10 + ld $10,88($6) # K[11] + dsll $9,$25,25 + daddu $23,$8 + dsrl $8,$25,34 + xor $24,$9 + dsll $9,$25,30 + xor $24,$8 + dsrl $8,$25,39 + xor $24,$9 + dsll $9,$25,36 + xor $24,$8 + and $8,$30,$31 + xor $24,$9 # Sigma0(a) + xor $9,$30,$31 +#endif + sd $19,88($29) # offload to ring buffer + daddu $24,$8 + and $9,$25 + daddu $23,$10 # +=K[11] + daddu $24,$9 # +=Maj(a,b,c) + daddu $1,$23 + daddu $24,$23 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + ld $21,104($5) +#else + ldl $21,111($5) + ldr $21,104($5) +#endif +#if defined(_MIPS_ARCH_MIPS64R2) + dsbh $20,$20 # byte swap(12) + dshd $20,$20 +#else + ori $9,$0,0xFF + dsll $11,$9,32 + or $9,$11 # 0x000000FF000000FF + and $10,$20,$9 # byte swap(12) + dsrl $11,$20,24 + dsll $10,24 + and $11,$9 + dsll $9,8 # 0x0000FF000000FF00 + or $10,$11 + and $11,$20,$9 + dsrl $20,8 + dsll $11,8 + and $20,$9 + or $10,$11 + or $20,$10 + dsrl $10,$20,32 + dsll $20,32 + or $20,$10 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $11,$2,$3 # 12 + drotr $9,$1,14 + daddu $8,$20,$7 + drotr $10,$1,18 + and $11,$1 + drotr $7,$1,41 + xor $9,$10 + drotr $10,$24,28 + xor $11,$3 # Ch(e,f,g) + xor $9,$7 # Sigma1(e) + + drotr $7,$24,34 + daddu $8,$11 + ld $11,96($6) # K[12] + xor $7,$10 + drotr $10,$24,39 + daddu $8,$9 + and $9,$25,$30 + xor $7,$10 # Sigma0(a) + xor $10,$25,$30 +#else + daddu $8,$20,$7 # 12 + dsrl $7,$1,14 + xor $11,$2,$3 + dsll $10,$1,23 + and $11,$1 + dsrl $9,$1,18 + xor $7,$10 + dsll $10,$1,46 + xor $7,$9 + dsrl $9,$1,41 + xor $7,$10 + dsll $10,$1,50 + xor $7,$9 + xor $11,$3 # Ch(e,f,g) + xor $9,$10,$7 # Sigma1(e) + + dsrl $7,$24,28 + daddu $8,$11 + ld $11,96($6) # K[12] + dsll $10,$24,25 + daddu $8,$9 + dsrl $9,$24,34 + xor $7,$10 + dsll $10,$24,30 + xor $7,$9 + dsrl $9,$24,39 + xor $7,$10 + dsll $10,$24,36 + xor $7,$9 + and $9,$25,$30 + xor $7,$10 # Sigma0(a) + xor $10,$25,$30 +#endif + sd $20,96($29) # offload to ring buffer + daddu $7,$9 + and $10,$24 + daddu $8,$11 # +=K[12] + daddu $7,$10 # +=Maj(a,b,c) + daddu $31,$8 + daddu $7,$8 +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + ld $22,112($5) +#else + ldl $22,119($5) + ldr $22,112($5) +#endif +#if defined(_MIPS_ARCH_MIPS64R2) + dsbh $21,$21 # byte swap(13) + dshd $21,$21 +#else + ori $10,$0,0xFF + dsll $12,$10,32 + or $10,$12 # 0x000000FF000000FF + and $11,$21,$10 # byte swap(13) + dsrl $12,$21,24 + dsll $11,24 + and $12,$10 + dsll $10,8 # 0x0000FF000000FF00 + or $11,$12 + and $12,$21,$10 + dsrl $21,8 + dsll $12,8 + and $21,$10 + or $11,$12 + or $21,$11 + dsrl $11,$21,32 + dsll $21,32 + or $21,$11 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $12,$1,$2 # 13 + drotr $10,$31,14 + daddu $9,$21,$3 + drotr $11,$31,18 + and $12,$31 + drotr $3,$31,41 + xor $10,$11 + drotr $11,$7,28 + xor $12,$2 # Ch(e,f,g) + xor $10,$3 # Sigma1(e) + + drotr $3,$7,34 + daddu $9,$12 + ld $12,104($6) # K[13] + xor $3,$11 + drotr $11,$7,39 + daddu $9,$10 + and $10,$24,$25 + xor $3,$11 # Sigma0(a) + xor $11,$24,$25 +#else + daddu $9,$21,$3 # 13 + dsrl $3,$31,14 + xor $12,$1,$2 + dsll $11,$31,23 + and $12,$31 + dsrl $10,$31,18 + xor $3,$11 + dsll $11,$31,46 + xor $3,$10 + dsrl $10,$31,41 + xor $3,$11 + dsll $11,$31,50 + xor $3,$10 + xor $12,$2 # Ch(e,f,g) + xor $10,$11,$3 # Sigma1(e) + + dsrl $3,$7,28 + daddu $9,$12 + ld $12,104($6) # K[13] + dsll $11,$7,25 + daddu $9,$10 + dsrl $10,$7,34 + xor $3,$11 + dsll $11,$7,30 + xor $3,$10 + dsrl $10,$7,39 + xor $3,$11 + dsll $11,$7,36 + xor $3,$10 + and $10,$24,$25 + xor $3,$11 # Sigma0(a) + xor $11,$24,$25 +#endif + sd $21,104($29) # offload to ring buffer + daddu $3,$10 + and $11,$7 + daddu $9,$12 # +=K[13] + daddu $3,$11 # +=Maj(a,b,c) + daddu $30,$9 + daddu $3,$9 + ld $8,0($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R6) || defined(_MIPS_ARCH_MIPS64R6) + ld $23,120($5) +#else + ldl $23,127($5) + ldr $23,120($5) +#endif +#if defined(_MIPS_ARCH_MIPS64R2) + dsbh $22,$22 # byte swap(14) + dshd $22,$22 +#else + ori $11,$0,0xFF + dsll $13,$11,32 + or $11,$13 # 0x000000FF000000FF + and $12,$22,$11 # byte swap(14) + dsrl $13,$22,24 + dsll $12,24 + and $13,$11 + dsll $11,8 # 0x0000FF000000FF00 + or $12,$13 + and $13,$22,$11 + dsrl $22,8 + dsll $13,8 + and $22,$11 + or $12,$13 + or $22,$12 + dsrl $12,$22,32 + dsll $22,32 + or $22,$12 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $13,$31,$1 # 14 + drotr $11,$30,14 + daddu $10,$22,$2 + drotr $12,$30,18 + and $13,$30 + drotr $2,$30,41 + xor $11,$12 + drotr $12,$3,28 + xor $13,$1 # Ch(e,f,g) + xor $11,$2 # Sigma1(e) + + drotr $2,$3,34 + daddu $10,$13 + ld $13,112($6) # K[14] + xor $2,$12 + drotr $12,$3,39 + daddu $10,$11 + and $11,$7,$24 + xor $2,$12 # Sigma0(a) + xor $12,$7,$24 +#else + daddu $10,$22,$2 # 14 + dsrl $2,$30,14 + xor $13,$31,$1 + dsll $12,$30,23 + and $13,$30 + dsrl $11,$30,18 + xor $2,$12 + dsll $12,$30,46 + xor $2,$11 + dsrl $11,$30,41 + xor $2,$12 + dsll $12,$30,50 + xor $2,$11 + xor $13,$1 # Ch(e,f,g) + xor $11,$12,$2 # Sigma1(e) + + dsrl $2,$3,28 + daddu $10,$13 + ld $13,112($6) # K[14] + dsll $12,$3,25 + daddu $10,$11 + dsrl $11,$3,34 + xor $2,$12 + dsll $12,$3,30 + xor $2,$11 + dsrl $11,$3,39 + xor $2,$12 + dsll $12,$3,36 + xor $2,$11 + and $11,$7,$24 + xor $2,$12 # Sigma0(a) + xor $12,$7,$24 +#endif + sd $22,112($29) # offload to ring buffer + daddu $2,$11 + and $12,$3 + daddu $10,$13 # +=K[14] + daddu $2,$12 # +=Maj(a,b,c) + daddu $25,$10 + daddu $2,$10 + ld $9,8($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS64R2) + dsbh $23,$23 # byte swap(15) + dshd $23,$23 +#else + ori $12,$0,0xFF + dsll $14,$12,32 + or $12,$14 # 0x000000FF000000FF + and $13,$23,$12 # byte swap(15) + dsrl $14,$23,24 + dsll $13,24 + and $14,$12 + dsll $12,8 # 0x0000FF000000FF00 + or $13,$14 + and $14,$23,$12 + dsrl $23,8 + dsll $14,8 + and $23,$12 + or $13,$14 + or $23,$13 + dsrl $13,$23,32 + dsll $23,32 + or $23,$13 +#endif +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $14,$30,$31 # 15 + drotr $12,$25,14 + daddu $11,$23,$1 + drotr $13,$25,18 + and $14,$25 + drotr $1,$25,41 + xor $12,$13 + drotr $13,$2,28 + xor $14,$31 # Ch(e,f,g) + xor $12,$1 # Sigma1(e) + + drotr $1,$2,34 + daddu $11,$14 + ld $14,120($6) # K[15] + xor $1,$13 + drotr $13,$2,39 + daddu $11,$12 + and $12,$3,$7 + xor $1,$13 # Sigma0(a) + xor $13,$3,$7 +#else + daddu $11,$23,$1 # 15 + dsrl $1,$25,14 + xor $14,$30,$31 + dsll $13,$25,23 + and $14,$25 + dsrl $12,$25,18 + xor $1,$13 + dsll $13,$25,46 + xor $1,$12 + dsrl $12,$25,41 + xor $1,$13 + dsll $13,$25,50 + xor $1,$12 + xor $14,$31 # Ch(e,f,g) + xor $12,$13,$1 # Sigma1(e) + + dsrl $1,$2,28 + daddu $11,$14 + ld $14,120($6) # K[15] + dsll $13,$2,25 + daddu $11,$12 + dsrl $12,$2,34 + xor $1,$13 + dsll $13,$2,30 + xor $1,$12 + dsrl $12,$2,39 + xor $1,$13 + dsll $13,$2,36 + xor $1,$12 + and $12,$3,$7 + xor $1,$13 # Sigma0(a) + xor $13,$3,$7 +#endif + sd $23,120($29) # offload to ring buffer + daddu $1,$12 + and $13,$2 + daddu $11,$14 # +=K[15] + daddu $1,$13 # +=Maj(a,b,c) + daddu $24,$11 + daddu $1,$11 + ld $10,16($29) # prefetch from ring buffer + b .L16_xx +.align 4 +.L16_xx: +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + dsrl $14,$9,7 # Xupdate(16) + drotr $12,$9,1 + daddu $8,$17 # +=X[i+9] + xor $14,$12 + drotr $12,$9,8 + + dsrl $15,$22,6 + drotr $13,$22,19 + xor $14,$12 # sigma0(X[i+1]) + drotr $12,$22,61 + xor $15,$13 + daddu $8,$14 +#else + dsrl $14,$9,7 # Xupdate(16) + daddu $8,$17 # +=X[i+9] + dsll $13,$9,56 + dsrl $12,$9,1 + xor $14,$13 + dsll $13,7 + xor $14,$12 + dsrl $12,$9,8 + xor $14,$13 + + dsrl $15,$22,6 + xor $14,$12 # sigma0(X[i+1]) + dsll $13,$22,3 + daddu $8,$14 + dsrl $12,$22,19 + xor $15,$13 + dsll $13,42 + xor $15,$12 + dsrl $12,$22,61 + xor $15,$13 +#endif + xor $15,$12 # sigma1(X[i+14]) + daddu $8,$15 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $15,$25,$30 # 16 + drotr $13,$24,14 + daddu $12,$8,$31 + drotr $14,$24,18 + and $15,$24 + drotr $31,$24,41 + xor $13,$14 + drotr $14,$1,28 + xor $15,$30 # Ch(e,f,g) + xor $13,$31 # Sigma1(e) + + drotr $31,$1,34 + daddu $12,$15 + ld $15,128($6) # K[16] + xor $31,$14 + drotr $14,$1,39 + daddu $12,$13 + and $13,$2,$3 + xor $31,$14 # Sigma0(a) + xor $14,$2,$3 +#else + daddu $12,$8,$31 # 16 + dsrl $31,$24,14 + xor $15,$25,$30 + dsll $14,$24,23 + and $15,$24 + dsrl $13,$24,18 + xor $31,$14 + dsll $14,$24,46 + xor $31,$13 + dsrl $13,$24,41 + xor $31,$14 + dsll $14,$24,50 + xor $31,$13 + xor $15,$30 # Ch(e,f,g) + xor $13,$14,$31 # Sigma1(e) + + dsrl $31,$1,28 + daddu $12,$15 + ld $15,128($6) # K[16] + dsll $14,$1,25 + daddu $12,$13 + dsrl $13,$1,34 + xor $31,$14 + dsll $14,$1,30 + xor $31,$13 + dsrl $13,$1,39 + xor $31,$14 + dsll $14,$1,36 + xor $31,$13 + and $13,$2,$3 + xor $31,$14 # Sigma0(a) + xor $14,$2,$3 +#endif + sd $8,0($29) # offload to ring buffer + daddu $31,$13 + and $14,$1 + daddu $12,$15 # +=K[16] + daddu $31,$14 # +=Maj(a,b,c) + daddu $7,$12 + daddu $31,$12 + ld $11,24($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + dsrl $15,$10,7 # Xupdate(17) + drotr $13,$10,1 + daddu $9,$18 # +=X[i+9] + xor $15,$13 + drotr $13,$10,8 + + dsrl $16,$23,6 + drotr $14,$23,19 + xor $15,$13 # sigma0(X[i+1]) + drotr $13,$23,61 + xor $16,$14 + daddu $9,$15 +#else + dsrl $15,$10,7 # Xupdate(17) + daddu $9,$18 # +=X[i+9] + dsll $14,$10,56 + dsrl $13,$10,1 + xor $15,$14 + dsll $14,7 + xor $15,$13 + dsrl $13,$10,8 + xor $15,$14 + + dsrl $16,$23,6 + xor $15,$13 # sigma0(X[i+1]) + dsll $14,$23,3 + daddu $9,$15 + dsrl $13,$23,19 + xor $16,$14 + dsll $14,42 + xor $16,$13 + dsrl $13,$23,61 + xor $16,$14 +#endif + xor $16,$13 # sigma1(X[i+14]) + daddu $9,$16 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $16,$24,$25 # 17 + drotr $14,$7,14 + daddu $13,$9,$30 + drotr $15,$7,18 + and $16,$7 + drotr $30,$7,41 + xor $14,$15 + drotr $15,$31,28 + xor $16,$25 # Ch(e,f,g) + xor $14,$30 # Sigma1(e) + + drotr $30,$31,34 + daddu $13,$16 + ld $16,136($6) # K[17] + xor $30,$15 + drotr $15,$31,39 + daddu $13,$14 + and $14,$1,$2 + xor $30,$15 # Sigma0(a) + xor $15,$1,$2 +#else + daddu $13,$9,$30 # 17 + dsrl $30,$7,14 + xor $16,$24,$25 + dsll $15,$7,23 + and $16,$7 + dsrl $14,$7,18 + xor $30,$15 + dsll $15,$7,46 + xor $30,$14 + dsrl $14,$7,41 + xor $30,$15 + dsll $15,$7,50 + xor $30,$14 + xor $16,$25 # Ch(e,f,g) + xor $14,$15,$30 # Sigma1(e) + + dsrl $30,$31,28 + daddu $13,$16 + ld $16,136($6) # K[17] + dsll $15,$31,25 + daddu $13,$14 + dsrl $14,$31,34 + xor $30,$15 + dsll $15,$31,30 + xor $30,$14 + dsrl $14,$31,39 + xor $30,$15 + dsll $15,$31,36 + xor $30,$14 + and $14,$1,$2 + xor $30,$15 # Sigma0(a) + xor $15,$1,$2 +#endif + sd $9,8($29) # offload to ring buffer + daddu $30,$14 + and $15,$31 + daddu $13,$16 # +=K[17] + daddu $30,$15 # +=Maj(a,b,c) + daddu $3,$13 + daddu $30,$13 + ld $12,32($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + dsrl $16,$11,7 # Xupdate(18) + drotr $14,$11,1 + daddu $10,$19 # +=X[i+9] + xor $16,$14 + drotr $14,$11,8 + + dsrl $17,$8,6 + drotr $15,$8,19 + xor $16,$14 # sigma0(X[i+1]) + drotr $14,$8,61 + xor $17,$15 + daddu $10,$16 +#else + dsrl $16,$11,7 # Xupdate(18) + daddu $10,$19 # +=X[i+9] + dsll $15,$11,56 + dsrl $14,$11,1 + xor $16,$15 + dsll $15,7 + xor $16,$14 + dsrl $14,$11,8 + xor $16,$15 + + dsrl $17,$8,6 + xor $16,$14 # sigma0(X[i+1]) + dsll $15,$8,3 + daddu $10,$16 + dsrl $14,$8,19 + xor $17,$15 + dsll $15,42 + xor $17,$14 + dsrl $14,$8,61 + xor $17,$15 +#endif + xor $17,$14 # sigma1(X[i+14]) + daddu $10,$17 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $17,$7,$24 # 18 + drotr $15,$3,14 + daddu $14,$10,$25 + drotr $16,$3,18 + and $17,$3 + drotr $25,$3,41 + xor $15,$16 + drotr $16,$30,28 + xor $17,$24 # Ch(e,f,g) + xor $15,$25 # Sigma1(e) + + drotr $25,$30,34 + daddu $14,$17 + ld $17,144($6) # K[18] + xor $25,$16 + drotr $16,$30,39 + daddu $14,$15 + and $15,$31,$1 + xor $25,$16 # Sigma0(a) + xor $16,$31,$1 +#else + daddu $14,$10,$25 # 18 + dsrl $25,$3,14 + xor $17,$7,$24 + dsll $16,$3,23 + and $17,$3 + dsrl $15,$3,18 + xor $25,$16 + dsll $16,$3,46 + xor $25,$15 + dsrl $15,$3,41 + xor $25,$16 + dsll $16,$3,50 + xor $25,$15 + xor $17,$24 # Ch(e,f,g) + xor $15,$16,$25 # Sigma1(e) + + dsrl $25,$30,28 + daddu $14,$17 + ld $17,144($6) # K[18] + dsll $16,$30,25 + daddu $14,$15 + dsrl $15,$30,34 + xor $25,$16 + dsll $16,$30,30 + xor $25,$15 + dsrl $15,$30,39 + xor $25,$16 + dsll $16,$30,36 + xor $25,$15 + and $15,$31,$1 + xor $25,$16 # Sigma0(a) + xor $16,$31,$1 +#endif + sd $10,16($29) # offload to ring buffer + daddu $25,$15 + and $16,$30 + daddu $14,$17 # +=K[18] + daddu $25,$16 # +=Maj(a,b,c) + daddu $2,$14 + daddu $25,$14 + ld $13,40($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + dsrl $17,$12,7 # Xupdate(19) + drotr $15,$12,1 + daddu $11,$20 # +=X[i+9] + xor $17,$15 + drotr $15,$12,8 + + dsrl $18,$9,6 + drotr $16,$9,19 + xor $17,$15 # sigma0(X[i+1]) + drotr $15,$9,61 + xor $18,$16 + daddu $11,$17 +#else + dsrl $17,$12,7 # Xupdate(19) + daddu $11,$20 # +=X[i+9] + dsll $16,$12,56 + dsrl $15,$12,1 + xor $17,$16 + dsll $16,7 + xor $17,$15 + dsrl $15,$12,8 + xor $17,$16 + + dsrl $18,$9,6 + xor $17,$15 # sigma0(X[i+1]) + dsll $16,$9,3 + daddu $11,$17 + dsrl $15,$9,19 + xor $18,$16 + dsll $16,42 + xor $18,$15 + dsrl $15,$9,61 + xor $18,$16 +#endif + xor $18,$15 # sigma1(X[i+14]) + daddu $11,$18 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $18,$3,$7 # 19 + drotr $16,$2,14 + daddu $15,$11,$24 + drotr $17,$2,18 + and $18,$2 + drotr $24,$2,41 + xor $16,$17 + drotr $17,$25,28 + xor $18,$7 # Ch(e,f,g) + xor $16,$24 # Sigma1(e) + + drotr $24,$25,34 + daddu $15,$18 + ld $18,152($6) # K[19] + xor $24,$17 + drotr $17,$25,39 + daddu $15,$16 + and $16,$30,$31 + xor $24,$17 # Sigma0(a) + xor $17,$30,$31 +#else + daddu $15,$11,$24 # 19 + dsrl $24,$2,14 + xor $18,$3,$7 + dsll $17,$2,23 + and $18,$2 + dsrl $16,$2,18 + xor $24,$17 + dsll $17,$2,46 + xor $24,$16 + dsrl $16,$2,41 + xor $24,$17 + dsll $17,$2,50 + xor $24,$16 + xor $18,$7 # Ch(e,f,g) + xor $16,$17,$24 # Sigma1(e) + + dsrl $24,$25,28 + daddu $15,$18 + ld $18,152($6) # K[19] + dsll $17,$25,25 + daddu $15,$16 + dsrl $16,$25,34 + xor $24,$17 + dsll $17,$25,30 + xor $24,$16 + dsrl $16,$25,39 + xor $24,$17 + dsll $17,$25,36 + xor $24,$16 + and $16,$30,$31 + xor $24,$17 # Sigma0(a) + xor $17,$30,$31 +#endif + sd $11,24($29) # offload to ring buffer + daddu $24,$16 + and $17,$25 + daddu $15,$18 # +=K[19] + daddu $24,$17 # +=Maj(a,b,c) + daddu $1,$15 + daddu $24,$15 + ld $14,48($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + dsrl $18,$13,7 # Xupdate(20) + drotr $16,$13,1 + daddu $12,$21 # +=X[i+9] + xor $18,$16 + drotr $16,$13,8 + + dsrl $19,$10,6 + drotr $17,$10,19 + xor $18,$16 # sigma0(X[i+1]) + drotr $16,$10,61 + xor $19,$17 + daddu $12,$18 +#else + dsrl $18,$13,7 # Xupdate(20) + daddu $12,$21 # +=X[i+9] + dsll $17,$13,56 + dsrl $16,$13,1 + xor $18,$17 + dsll $17,7 + xor $18,$16 + dsrl $16,$13,8 + xor $18,$17 + + dsrl $19,$10,6 + xor $18,$16 # sigma0(X[i+1]) + dsll $17,$10,3 + daddu $12,$18 + dsrl $16,$10,19 + xor $19,$17 + dsll $17,42 + xor $19,$16 + dsrl $16,$10,61 + xor $19,$17 +#endif + xor $19,$16 # sigma1(X[i+14]) + daddu $12,$19 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $19,$2,$3 # 20 + drotr $17,$1,14 + daddu $16,$12,$7 + drotr $18,$1,18 + and $19,$1 + drotr $7,$1,41 + xor $17,$18 + drotr $18,$24,28 + xor $19,$3 # Ch(e,f,g) + xor $17,$7 # Sigma1(e) + + drotr $7,$24,34 + daddu $16,$19 + ld $19,160($6) # K[20] + xor $7,$18 + drotr $18,$24,39 + daddu $16,$17 + and $17,$25,$30 + xor $7,$18 # Sigma0(a) + xor $18,$25,$30 +#else + daddu $16,$12,$7 # 20 + dsrl $7,$1,14 + xor $19,$2,$3 + dsll $18,$1,23 + and $19,$1 + dsrl $17,$1,18 + xor $7,$18 + dsll $18,$1,46 + xor $7,$17 + dsrl $17,$1,41 + xor $7,$18 + dsll $18,$1,50 + xor $7,$17 + xor $19,$3 # Ch(e,f,g) + xor $17,$18,$7 # Sigma1(e) + + dsrl $7,$24,28 + daddu $16,$19 + ld $19,160($6) # K[20] + dsll $18,$24,25 + daddu $16,$17 + dsrl $17,$24,34 + xor $7,$18 + dsll $18,$24,30 + xor $7,$17 + dsrl $17,$24,39 + xor $7,$18 + dsll $18,$24,36 + xor $7,$17 + and $17,$25,$30 + xor $7,$18 # Sigma0(a) + xor $18,$25,$30 +#endif + sd $12,32($29) # offload to ring buffer + daddu $7,$17 + and $18,$24 + daddu $16,$19 # +=K[20] + daddu $7,$18 # +=Maj(a,b,c) + daddu $31,$16 + daddu $7,$16 + ld $15,56($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + dsrl $19,$14,7 # Xupdate(21) + drotr $17,$14,1 + daddu $13,$22 # +=X[i+9] + xor $19,$17 + drotr $17,$14,8 + + dsrl $20,$11,6 + drotr $18,$11,19 + xor $19,$17 # sigma0(X[i+1]) + drotr $17,$11,61 + xor $20,$18 + daddu $13,$19 +#else + dsrl $19,$14,7 # Xupdate(21) + daddu $13,$22 # +=X[i+9] + dsll $18,$14,56 + dsrl $17,$14,1 + xor $19,$18 + dsll $18,7 + xor $19,$17 + dsrl $17,$14,8 + xor $19,$18 + + dsrl $20,$11,6 + xor $19,$17 # sigma0(X[i+1]) + dsll $18,$11,3 + daddu $13,$19 + dsrl $17,$11,19 + xor $20,$18 + dsll $18,42 + xor $20,$17 + dsrl $17,$11,61 + xor $20,$18 +#endif + xor $20,$17 # sigma1(X[i+14]) + daddu $13,$20 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $20,$1,$2 # 21 + drotr $18,$31,14 + daddu $17,$13,$3 + drotr $19,$31,18 + and $20,$31 + drotr $3,$31,41 + xor $18,$19 + drotr $19,$7,28 + xor $20,$2 # Ch(e,f,g) + xor $18,$3 # Sigma1(e) + + drotr $3,$7,34 + daddu $17,$20 + ld $20,168($6) # K[21] + xor $3,$19 + drotr $19,$7,39 + daddu $17,$18 + and $18,$24,$25 + xor $3,$19 # Sigma0(a) + xor $19,$24,$25 +#else + daddu $17,$13,$3 # 21 + dsrl $3,$31,14 + xor $20,$1,$2 + dsll $19,$31,23 + and $20,$31 + dsrl $18,$31,18 + xor $3,$19 + dsll $19,$31,46 + xor $3,$18 + dsrl $18,$31,41 + xor $3,$19 + dsll $19,$31,50 + xor $3,$18 + xor $20,$2 # Ch(e,f,g) + xor $18,$19,$3 # Sigma1(e) + + dsrl $3,$7,28 + daddu $17,$20 + ld $20,168($6) # K[21] + dsll $19,$7,25 + daddu $17,$18 + dsrl $18,$7,34 + xor $3,$19 + dsll $19,$7,30 + xor $3,$18 + dsrl $18,$7,39 + xor $3,$19 + dsll $19,$7,36 + xor $3,$18 + and $18,$24,$25 + xor $3,$19 # Sigma0(a) + xor $19,$24,$25 +#endif + sd $13,40($29) # offload to ring buffer + daddu $3,$18 + and $19,$7 + daddu $17,$20 # +=K[21] + daddu $3,$19 # +=Maj(a,b,c) + daddu $30,$17 + daddu $3,$17 + ld $16,64($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + dsrl $20,$15,7 # Xupdate(22) + drotr $18,$15,1 + daddu $14,$23 # +=X[i+9] + xor $20,$18 + drotr $18,$15,8 + + dsrl $21,$12,6 + drotr $19,$12,19 + xor $20,$18 # sigma0(X[i+1]) + drotr $18,$12,61 + xor $21,$19 + daddu $14,$20 +#else + dsrl $20,$15,7 # Xupdate(22) + daddu $14,$23 # +=X[i+9] + dsll $19,$15,56 + dsrl $18,$15,1 + xor $20,$19 + dsll $19,7 + xor $20,$18 + dsrl $18,$15,8 + xor $20,$19 + + dsrl $21,$12,6 + xor $20,$18 # sigma0(X[i+1]) + dsll $19,$12,3 + daddu $14,$20 + dsrl $18,$12,19 + xor $21,$19 + dsll $19,42 + xor $21,$18 + dsrl $18,$12,61 + xor $21,$19 +#endif + xor $21,$18 # sigma1(X[i+14]) + daddu $14,$21 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $21,$31,$1 # 22 + drotr $19,$30,14 + daddu $18,$14,$2 + drotr $20,$30,18 + and $21,$30 + drotr $2,$30,41 + xor $19,$20 + drotr $20,$3,28 + xor $21,$1 # Ch(e,f,g) + xor $19,$2 # Sigma1(e) + + drotr $2,$3,34 + daddu $18,$21 + ld $21,176($6) # K[22] + xor $2,$20 + drotr $20,$3,39 + daddu $18,$19 + and $19,$7,$24 + xor $2,$20 # Sigma0(a) + xor $20,$7,$24 +#else + daddu $18,$14,$2 # 22 + dsrl $2,$30,14 + xor $21,$31,$1 + dsll $20,$30,23 + and $21,$30 + dsrl $19,$30,18 + xor $2,$20 + dsll $20,$30,46 + xor $2,$19 + dsrl $19,$30,41 + xor $2,$20 + dsll $20,$30,50 + xor $2,$19 + xor $21,$1 # Ch(e,f,g) + xor $19,$20,$2 # Sigma1(e) + + dsrl $2,$3,28 + daddu $18,$21 + ld $21,176($6) # K[22] + dsll $20,$3,25 + daddu $18,$19 + dsrl $19,$3,34 + xor $2,$20 + dsll $20,$3,30 + xor $2,$19 + dsrl $19,$3,39 + xor $2,$20 + dsll $20,$3,36 + xor $2,$19 + and $19,$7,$24 + xor $2,$20 # Sigma0(a) + xor $20,$7,$24 +#endif + sd $14,48($29) # offload to ring buffer + daddu $2,$19 + and $20,$3 + daddu $18,$21 # +=K[22] + daddu $2,$20 # +=Maj(a,b,c) + daddu $25,$18 + daddu $2,$18 + ld $17,72($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + dsrl $21,$16,7 # Xupdate(23) + drotr $19,$16,1 + daddu $15,$8 # +=X[i+9] + xor $21,$19 + drotr $19,$16,8 + + dsrl $22,$13,6 + drotr $20,$13,19 + xor $21,$19 # sigma0(X[i+1]) + drotr $19,$13,61 + xor $22,$20 + daddu $15,$21 +#else + dsrl $21,$16,7 # Xupdate(23) + daddu $15,$8 # +=X[i+9] + dsll $20,$16,56 + dsrl $19,$16,1 + xor $21,$20 + dsll $20,7 + xor $21,$19 + dsrl $19,$16,8 + xor $21,$20 + + dsrl $22,$13,6 + xor $21,$19 # sigma0(X[i+1]) + dsll $20,$13,3 + daddu $15,$21 + dsrl $19,$13,19 + xor $22,$20 + dsll $20,42 + xor $22,$19 + dsrl $19,$13,61 + xor $22,$20 +#endif + xor $22,$19 # sigma1(X[i+14]) + daddu $15,$22 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $22,$30,$31 # 23 + drotr $20,$25,14 + daddu $19,$15,$1 + drotr $21,$25,18 + and $22,$25 + drotr $1,$25,41 + xor $20,$21 + drotr $21,$2,28 + xor $22,$31 # Ch(e,f,g) + xor $20,$1 # Sigma1(e) + + drotr $1,$2,34 + daddu $19,$22 + ld $22,184($6) # K[23] + xor $1,$21 + drotr $21,$2,39 + daddu $19,$20 + and $20,$3,$7 + xor $1,$21 # Sigma0(a) + xor $21,$3,$7 +#else + daddu $19,$15,$1 # 23 + dsrl $1,$25,14 + xor $22,$30,$31 + dsll $21,$25,23 + and $22,$25 + dsrl $20,$25,18 + xor $1,$21 + dsll $21,$25,46 + xor $1,$20 + dsrl $20,$25,41 + xor $1,$21 + dsll $21,$25,50 + xor $1,$20 + xor $22,$31 # Ch(e,f,g) + xor $20,$21,$1 # Sigma1(e) + + dsrl $1,$2,28 + daddu $19,$22 + ld $22,184($6) # K[23] + dsll $21,$2,25 + daddu $19,$20 + dsrl $20,$2,34 + xor $1,$21 + dsll $21,$2,30 + xor $1,$20 + dsrl $20,$2,39 + xor $1,$21 + dsll $21,$2,36 + xor $1,$20 + and $20,$3,$7 + xor $1,$21 # Sigma0(a) + xor $21,$3,$7 +#endif + sd $15,56($29) # offload to ring buffer + daddu $1,$20 + and $21,$2 + daddu $19,$22 # +=K[23] + daddu $1,$21 # +=Maj(a,b,c) + daddu $24,$19 + daddu $1,$19 + ld $18,80($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + dsrl $22,$17,7 # Xupdate(24) + drotr $20,$17,1 + daddu $16,$9 # +=X[i+9] + xor $22,$20 + drotr $20,$17,8 + + dsrl $23,$14,6 + drotr $21,$14,19 + xor $22,$20 # sigma0(X[i+1]) + drotr $20,$14,61 + xor $23,$21 + daddu $16,$22 +#else + dsrl $22,$17,7 # Xupdate(24) + daddu $16,$9 # +=X[i+9] + dsll $21,$17,56 + dsrl $20,$17,1 + xor $22,$21 + dsll $21,7 + xor $22,$20 + dsrl $20,$17,8 + xor $22,$21 + + dsrl $23,$14,6 + xor $22,$20 # sigma0(X[i+1]) + dsll $21,$14,3 + daddu $16,$22 + dsrl $20,$14,19 + xor $23,$21 + dsll $21,42 + xor $23,$20 + dsrl $20,$14,61 + xor $23,$21 +#endif + xor $23,$20 # sigma1(X[i+14]) + daddu $16,$23 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $23,$25,$30 # 24 + drotr $21,$24,14 + daddu $20,$16,$31 + drotr $22,$24,18 + and $23,$24 + drotr $31,$24,41 + xor $21,$22 + drotr $22,$1,28 + xor $23,$30 # Ch(e,f,g) + xor $21,$31 # Sigma1(e) + + drotr $31,$1,34 + daddu $20,$23 + ld $23,192($6) # K[24] + xor $31,$22 + drotr $22,$1,39 + daddu $20,$21 + and $21,$2,$3 + xor $31,$22 # Sigma0(a) + xor $22,$2,$3 +#else + daddu $20,$16,$31 # 24 + dsrl $31,$24,14 + xor $23,$25,$30 + dsll $22,$24,23 + and $23,$24 + dsrl $21,$24,18 + xor $31,$22 + dsll $22,$24,46 + xor $31,$21 + dsrl $21,$24,41 + xor $31,$22 + dsll $22,$24,50 + xor $31,$21 + xor $23,$30 # Ch(e,f,g) + xor $21,$22,$31 # Sigma1(e) + + dsrl $31,$1,28 + daddu $20,$23 + ld $23,192($6) # K[24] + dsll $22,$1,25 + daddu $20,$21 + dsrl $21,$1,34 + xor $31,$22 + dsll $22,$1,30 + xor $31,$21 + dsrl $21,$1,39 + xor $31,$22 + dsll $22,$1,36 + xor $31,$21 + and $21,$2,$3 + xor $31,$22 # Sigma0(a) + xor $22,$2,$3 +#endif + sd $16,64($29) # offload to ring buffer + daddu $31,$21 + and $22,$1 + daddu $20,$23 # +=K[24] + daddu $31,$22 # +=Maj(a,b,c) + daddu $7,$20 + daddu $31,$20 + ld $19,88($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + dsrl $23,$18,7 # Xupdate(25) + drotr $21,$18,1 + daddu $17,$10 # +=X[i+9] + xor $23,$21 + drotr $21,$18,8 + + dsrl $8,$15,6 + drotr $22,$15,19 + xor $23,$21 # sigma0(X[i+1]) + drotr $21,$15,61 + xor $8,$22 + daddu $17,$23 +#else + dsrl $23,$18,7 # Xupdate(25) + daddu $17,$10 # +=X[i+9] + dsll $22,$18,56 + dsrl $21,$18,1 + xor $23,$22 + dsll $22,7 + xor $23,$21 + dsrl $21,$18,8 + xor $23,$22 + + dsrl $8,$15,6 + xor $23,$21 # sigma0(X[i+1]) + dsll $22,$15,3 + daddu $17,$23 + dsrl $21,$15,19 + xor $8,$22 + dsll $22,42 + xor $8,$21 + dsrl $21,$15,61 + xor $8,$22 +#endif + xor $8,$21 # sigma1(X[i+14]) + daddu $17,$8 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $8,$24,$25 # 25 + drotr $22,$7,14 + daddu $21,$17,$30 + drotr $23,$7,18 + and $8,$7 + drotr $30,$7,41 + xor $22,$23 + drotr $23,$31,28 + xor $8,$25 # Ch(e,f,g) + xor $22,$30 # Sigma1(e) + + drotr $30,$31,34 + daddu $21,$8 + ld $8,200($6) # K[25] + xor $30,$23 + drotr $23,$31,39 + daddu $21,$22 + and $22,$1,$2 + xor $30,$23 # Sigma0(a) + xor $23,$1,$2 +#else + daddu $21,$17,$30 # 25 + dsrl $30,$7,14 + xor $8,$24,$25 + dsll $23,$7,23 + and $8,$7 + dsrl $22,$7,18 + xor $30,$23 + dsll $23,$7,46 + xor $30,$22 + dsrl $22,$7,41 + xor $30,$23 + dsll $23,$7,50 + xor $30,$22 + xor $8,$25 # Ch(e,f,g) + xor $22,$23,$30 # Sigma1(e) + + dsrl $30,$31,28 + daddu $21,$8 + ld $8,200($6) # K[25] + dsll $23,$31,25 + daddu $21,$22 + dsrl $22,$31,34 + xor $30,$23 + dsll $23,$31,30 + xor $30,$22 + dsrl $22,$31,39 + xor $30,$23 + dsll $23,$31,36 + xor $30,$22 + and $22,$1,$2 + xor $30,$23 # Sigma0(a) + xor $23,$1,$2 +#endif + sd $17,72($29) # offload to ring buffer + daddu $30,$22 + and $23,$31 + daddu $21,$8 # +=K[25] + daddu $30,$23 # +=Maj(a,b,c) + daddu $3,$21 + daddu $30,$21 + ld $20,96($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + dsrl $8,$19,7 # Xupdate(26) + drotr $22,$19,1 + daddu $18,$11 # +=X[i+9] + xor $8,$22 + drotr $22,$19,8 + + dsrl $9,$16,6 + drotr $23,$16,19 + xor $8,$22 # sigma0(X[i+1]) + drotr $22,$16,61 + xor $9,$23 + daddu $18,$8 +#else + dsrl $8,$19,7 # Xupdate(26) + daddu $18,$11 # +=X[i+9] + dsll $23,$19,56 + dsrl $22,$19,1 + xor $8,$23 + dsll $23,7 + xor $8,$22 + dsrl $22,$19,8 + xor $8,$23 + + dsrl $9,$16,6 + xor $8,$22 # sigma0(X[i+1]) + dsll $23,$16,3 + daddu $18,$8 + dsrl $22,$16,19 + xor $9,$23 + dsll $23,42 + xor $9,$22 + dsrl $22,$16,61 + xor $9,$23 +#endif + xor $9,$22 # sigma1(X[i+14]) + daddu $18,$9 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $9,$7,$24 # 26 + drotr $23,$3,14 + daddu $22,$18,$25 + drotr $8,$3,18 + and $9,$3 + drotr $25,$3,41 + xor $23,$8 + drotr $8,$30,28 + xor $9,$24 # Ch(e,f,g) + xor $23,$25 # Sigma1(e) + + drotr $25,$30,34 + daddu $22,$9 + ld $9,208($6) # K[26] + xor $25,$8 + drotr $8,$30,39 + daddu $22,$23 + and $23,$31,$1 + xor $25,$8 # Sigma0(a) + xor $8,$31,$1 +#else + daddu $22,$18,$25 # 26 + dsrl $25,$3,14 + xor $9,$7,$24 + dsll $8,$3,23 + and $9,$3 + dsrl $23,$3,18 + xor $25,$8 + dsll $8,$3,46 + xor $25,$23 + dsrl $23,$3,41 + xor $25,$8 + dsll $8,$3,50 + xor $25,$23 + xor $9,$24 # Ch(e,f,g) + xor $23,$8,$25 # Sigma1(e) + + dsrl $25,$30,28 + daddu $22,$9 + ld $9,208($6) # K[26] + dsll $8,$30,25 + daddu $22,$23 + dsrl $23,$30,34 + xor $25,$8 + dsll $8,$30,30 + xor $25,$23 + dsrl $23,$30,39 + xor $25,$8 + dsll $8,$30,36 + xor $25,$23 + and $23,$31,$1 + xor $25,$8 # Sigma0(a) + xor $8,$31,$1 +#endif + sd $18,80($29) # offload to ring buffer + daddu $25,$23 + and $8,$30 + daddu $22,$9 # +=K[26] + daddu $25,$8 # +=Maj(a,b,c) + daddu $2,$22 + daddu $25,$22 + ld $21,104($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + dsrl $9,$20,7 # Xupdate(27) + drotr $23,$20,1 + daddu $19,$12 # +=X[i+9] + xor $9,$23 + drotr $23,$20,8 + + dsrl $10,$17,6 + drotr $8,$17,19 + xor $9,$23 # sigma0(X[i+1]) + drotr $23,$17,61 + xor $10,$8 + daddu $19,$9 +#else + dsrl $9,$20,7 # Xupdate(27) + daddu $19,$12 # +=X[i+9] + dsll $8,$20,56 + dsrl $23,$20,1 + xor $9,$8 + dsll $8,7 + xor $9,$23 + dsrl $23,$20,8 + xor $9,$8 + + dsrl $10,$17,6 + xor $9,$23 # sigma0(X[i+1]) + dsll $8,$17,3 + daddu $19,$9 + dsrl $23,$17,19 + xor $10,$8 + dsll $8,42 + xor $10,$23 + dsrl $23,$17,61 + xor $10,$8 +#endif + xor $10,$23 # sigma1(X[i+14]) + daddu $19,$10 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $10,$3,$7 # 27 + drotr $8,$2,14 + daddu $23,$19,$24 + drotr $9,$2,18 + and $10,$2 + drotr $24,$2,41 + xor $8,$9 + drotr $9,$25,28 + xor $10,$7 # Ch(e,f,g) + xor $8,$24 # Sigma1(e) + + drotr $24,$25,34 + daddu $23,$10 + ld $10,216($6) # K[27] + xor $24,$9 + drotr $9,$25,39 + daddu $23,$8 + and $8,$30,$31 + xor $24,$9 # Sigma0(a) + xor $9,$30,$31 +#else + daddu $23,$19,$24 # 27 + dsrl $24,$2,14 + xor $10,$3,$7 + dsll $9,$2,23 + and $10,$2 + dsrl $8,$2,18 + xor $24,$9 + dsll $9,$2,46 + xor $24,$8 + dsrl $8,$2,41 + xor $24,$9 + dsll $9,$2,50 + xor $24,$8 + xor $10,$7 # Ch(e,f,g) + xor $8,$9,$24 # Sigma1(e) + + dsrl $24,$25,28 + daddu $23,$10 + ld $10,216($6) # K[27] + dsll $9,$25,25 + daddu $23,$8 + dsrl $8,$25,34 + xor $24,$9 + dsll $9,$25,30 + xor $24,$8 + dsrl $8,$25,39 + xor $24,$9 + dsll $9,$25,36 + xor $24,$8 + and $8,$30,$31 + xor $24,$9 # Sigma0(a) + xor $9,$30,$31 +#endif + sd $19,88($29) # offload to ring buffer + daddu $24,$8 + and $9,$25 + daddu $23,$10 # +=K[27] + daddu $24,$9 # +=Maj(a,b,c) + daddu $1,$23 + daddu $24,$23 + ld $22,112($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + dsrl $10,$21,7 # Xupdate(28) + drotr $8,$21,1 + daddu $20,$13 # +=X[i+9] + xor $10,$8 + drotr $8,$21,8 + + dsrl $11,$18,6 + drotr $9,$18,19 + xor $10,$8 # sigma0(X[i+1]) + drotr $8,$18,61 + xor $11,$9 + daddu $20,$10 +#else + dsrl $10,$21,7 # Xupdate(28) + daddu $20,$13 # +=X[i+9] + dsll $9,$21,56 + dsrl $8,$21,1 + xor $10,$9 + dsll $9,7 + xor $10,$8 + dsrl $8,$21,8 + xor $10,$9 + + dsrl $11,$18,6 + xor $10,$8 # sigma0(X[i+1]) + dsll $9,$18,3 + daddu $20,$10 + dsrl $8,$18,19 + xor $11,$9 + dsll $9,42 + xor $11,$8 + dsrl $8,$18,61 + xor $11,$9 +#endif + xor $11,$8 # sigma1(X[i+14]) + daddu $20,$11 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $11,$2,$3 # 28 + drotr $9,$1,14 + daddu $8,$20,$7 + drotr $10,$1,18 + and $11,$1 + drotr $7,$1,41 + xor $9,$10 + drotr $10,$24,28 + xor $11,$3 # Ch(e,f,g) + xor $9,$7 # Sigma1(e) + + drotr $7,$24,34 + daddu $8,$11 + ld $11,224($6) # K[28] + xor $7,$10 + drotr $10,$24,39 + daddu $8,$9 + and $9,$25,$30 + xor $7,$10 # Sigma0(a) + xor $10,$25,$30 +#else + daddu $8,$20,$7 # 28 + dsrl $7,$1,14 + xor $11,$2,$3 + dsll $10,$1,23 + and $11,$1 + dsrl $9,$1,18 + xor $7,$10 + dsll $10,$1,46 + xor $7,$9 + dsrl $9,$1,41 + xor $7,$10 + dsll $10,$1,50 + xor $7,$9 + xor $11,$3 # Ch(e,f,g) + xor $9,$10,$7 # Sigma1(e) + + dsrl $7,$24,28 + daddu $8,$11 + ld $11,224($6) # K[28] + dsll $10,$24,25 + daddu $8,$9 + dsrl $9,$24,34 + xor $7,$10 + dsll $10,$24,30 + xor $7,$9 + dsrl $9,$24,39 + xor $7,$10 + dsll $10,$24,36 + xor $7,$9 + and $9,$25,$30 + xor $7,$10 # Sigma0(a) + xor $10,$25,$30 +#endif + sd $20,96($29) # offload to ring buffer + daddu $7,$9 + and $10,$24 + daddu $8,$11 # +=K[28] + daddu $7,$10 # +=Maj(a,b,c) + daddu $31,$8 + daddu $7,$8 + ld $23,120($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + dsrl $11,$22,7 # Xupdate(29) + drotr $9,$22,1 + daddu $21,$14 # +=X[i+9] + xor $11,$9 + drotr $9,$22,8 + + dsrl $12,$19,6 + drotr $10,$19,19 + xor $11,$9 # sigma0(X[i+1]) + drotr $9,$19,61 + xor $12,$10 + daddu $21,$11 +#else + dsrl $11,$22,7 # Xupdate(29) + daddu $21,$14 # +=X[i+9] + dsll $10,$22,56 + dsrl $9,$22,1 + xor $11,$10 + dsll $10,7 + xor $11,$9 + dsrl $9,$22,8 + xor $11,$10 + + dsrl $12,$19,6 + xor $11,$9 # sigma0(X[i+1]) + dsll $10,$19,3 + daddu $21,$11 + dsrl $9,$19,19 + xor $12,$10 + dsll $10,42 + xor $12,$9 + dsrl $9,$19,61 + xor $12,$10 +#endif + xor $12,$9 # sigma1(X[i+14]) + daddu $21,$12 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $12,$1,$2 # 29 + drotr $10,$31,14 + daddu $9,$21,$3 + drotr $11,$31,18 + and $12,$31 + drotr $3,$31,41 + xor $10,$11 + drotr $11,$7,28 + xor $12,$2 # Ch(e,f,g) + xor $10,$3 # Sigma1(e) + + drotr $3,$7,34 + daddu $9,$12 + ld $12,232($6) # K[29] + xor $3,$11 + drotr $11,$7,39 + daddu $9,$10 + and $10,$24,$25 + xor $3,$11 # Sigma0(a) + xor $11,$24,$25 +#else + daddu $9,$21,$3 # 29 + dsrl $3,$31,14 + xor $12,$1,$2 + dsll $11,$31,23 + and $12,$31 + dsrl $10,$31,18 + xor $3,$11 + dsll $11,$31,46 + xor $3,$10 + dsrl $10,$31,41 + xor $3,$11 + dsll $11,$31,50 + xor $3,$10 + xor $12,$2 # Ch(e,f,g) + xor $10,$11,$3 # Sigma1(e) + + dsrl $3,$7,28 + daddu $9,$12 + ld $12,232($6) # K[29] + dsll $11,$7,25 + daddu $9,$10 + dsrl $10,$7,34 + xor $3,$11 + dsll $11,$7,30 + xor $3,$10 + dsrl $10,$7,39 + xor $3,$11 + dsll $11,$7,36 + xor $3,$10 + and $10,$24,$25 + xor $3,$11 # Sigma0(a) + xor $11,$24,$25 +#endif + sd $21,104($29) # offload to ring buffer + daddu $3,$10 + and $11,$7 + daddu $9,$12 # +=K[29] + daddu $3,$11 # +=Maj(a,b,c) + daddu $30,$9 + daddu $3,$9 + ld $8,0($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + dsrl $12,$23,7 # Xupdate(30) + drotr $10,$23,1 + daddu $22,$15 # +=X[i+9] + xor $12,$10 + drotr $10,$23,8 + + dsrl $13,$20,6 + drotr $11,$20,19 + xor $12,$10 # sigma0(X[i+1]) + drotr $10,$20,61 + xor $13,$11 + daddu $22,$12 +#else + dsrl $12,$23,7 # Xupdate(30) + daddu $22,$15 # +=X[i+9] + dsll $11,$23,56 + dsrl $10,$23,1 + xor $12,$11 + dsll $11,7 + xor $12,$10 + dsrl $10,$23,8 + xor $12,$11 + + dsrl $13,$20,6 + xor $12,$10 # sigma0(X[i+1]) + dsll $11,$20,3 + daddu $22,$12 + dsrl $10,$20,19 + xor $13,$11 + dsll $11,42 + xor $13,$10 + dsrl $10,$20,61 + xor $13,$11 +#endif + xor $13,$10 # sigma1(X[i+14]) + daddu $22,$13 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $13,$31,$1 # 30 + drotr $11,$30,14 + daddu $10,$22,$2 + drotr $12,$30,18 + and $13,$30 + drotr $2,$30,41 + xor $11,$12 + drotr $12,$3,28 + xor $13,$1 # Ch(e,f,g) + xor $11,$2 # Sigma1(e) + + drotr $2,$3,34 + daddu $10,$13 + ld $13,240($6) # K[30] + xor $2,$12 + drotr $12,$3,39 + daddu $10,$11 + and $11,$7,$24 + xor $2,$12 # Sigma0(a) + xor $12,$7,$24 +#else + daddu $10,$22,$2 # 30 + dsrl $2,$30,14 + xor $13,$31,$1 + dsll $12,$30,23 + and $13,$30 + dsrl $11,$30,18 + xor $2,$12 + dsll $12,$30,46 + xor $2,$11 + dsrl $11,$30,41 + xor $2,$12 + dsll $12,$30,50 + xor $2,$11 + xor $13,$1 # Ch(e,f,g) + xor $11,$12,$2 # Sigma1(e) + + dsrl $2,$3,28 + daddu $10,$13 + ld $13,240($6) # K[30] + dsll $12,$3,25 + daddu $10,$11 + dsrl $11,$3,34 + xor $2,$12 + dsll $12,$3,30 + xor $2,$11 + dsrl $11,$3,39 + xor $2,$12 + dsll $12,$3,36 + xor $2,$11 + and $11,$7,$24 + xor $2,$12 # Sigma0(a) + xor $12,$7,$24 +#endif + sd $22,112($29) # offload to ring buffer + daddu $2,$11 + and $12,$3 + daddu $10,$13 # +=K[30] + daddu $2,$12 # +=Maj(a,b,c) + daddu $25,$10 + daddu $2,$10 + ld $9,8($29) # prefetch from ring buffer +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + dsrl $13,$8,7 # Xupdate(31) + drotr $11,$8,1 + daddu $23,$16 # +=X[i+9] + xor $13,$11 + drotr $11,$8,8 + + dsrl $14,$21,6 + drotr $12,$21,19 + xor $13,$11 # sigma0(X[i+1]) + drotr $11,$21,61 + xor $14,$12 + daddu $23,$13 +#else + dsrl $13,$8,7 # Xupdate(31) + daddu $23,$16 # +=X[i+9] + dsll $12,$8,56 + dsrl $11,$8,1 + xor $13,$12 + dsll $12,7 + xor $13,$11 + dsrl $11,$8,8 + xor $13,$12 + + dsrl $14,$21,6 + xor $13,$11 # sigma0(X[i+1]) + dsll $12,$21,3 + daddu $23,$13 + dsrl $11,$21,19 + xor $14,$12 + dsll $12,42 + xor $14,$11 + dsrl $11,$21,61 + xor $14,$12 +#endif + xor $14,$11 # sigma1(X[i+14]) + daddu $23,$14 +#if defined(_MIPS_ARCH_MIPS32R2) || defined(_MIPS_ARCH_MIPS64R2) + xor $14,$30,$31 # 31 + drotr $12,$25,14 + daddu $11,$23,$1 + drotr $13,$25,18 + and $14,$25 + drotr $1,$25,41 + xor $12,$13 + drotr $13,$2,28 + xor $14,$31 # Ch(e,f,g) + xor $12,$1 # Sigma1(e) + + drotr $1,$2,34 + daddu $11,$14 + ld $14,248($6) # K[31] + xor $1,$13 + drotr $13,$2,39 + daddu $11,$12 + and $12,$3,$7 + xor $1,$13 # Sigma0(a) + xor $13,$3,$7 +#else + daddu $11,$23,$1 # 31 + dsrl $1,$25,14 + xor $14,$30,$31 + dsll $13,$25,23 + and $14,$25 + dsrl $12,$25,18 + xor $1,$13 + dsll $13,$25,46 + xor $1,$12 + dsrl $12,$25,41 + xor $1,$13 + dsll $13,$25,50 + xor $1,$12 + xor $14,$31 # Ch(e,f,g) + xor $12,$13,$1 # Sigma1(e) + + dsrl $1,$2,28 + daddu $11,$14 + ld $14,248($6) # K[31] + dsll $13,$2,25 + daddu $11,$12 + dsrl $12,$2,34 + xor $1,$13 + dsll $13,$2,30 + xor $1,$12 + dsrl $12,$2,39 + xor $1,$13 + dsll $13,$2,36 + xor $1,$12 + and $12,$3,$7 + xor $1,$13 # Sigma0(a) + xor $13,$3,$7 +#endif + sd $23,120($29) # offload to ring buffer + daddu $1,$12 + and $13,$2 + daddu $11,$14 # +=K[31] + daddu $1,$13 # +=Maj(a,b,c) + daddu $24,$11 + daddu $1,$11 + ld $10,16($29) # prefetch from ring buffer + and $14,0xfff + li $15,2071 + .set noreorder + bne $14,$15,.L16_xx + daddu $6,16*8 # Ktbl+=16 + + ld $23,16*8($29) # restore pointer to the end of input + ld $8,0*8($4) + ld $9,1*8($4) + ld $10,2*8($4) + daddu $5,16*8 + ld $11,3*8($4) + daddu $1,$8 + ld $12,4*8($4) + daddu $2,$9 + ld $13,5*8($4) + daddu $3,$10 + ld $14,6*8($4) + daddu $7,$11 + ld $15,7*8($4) + daddu $24,$12 + sd $1,0*8($4) + daddu $25,$13 + sd $2,1*8($4) + daddu $30,$14 + sd $3,2*8($4) + daddu $31,$15 + sd $7,3*8($4) + sd $24,4*8($4) + sd $25,5*8($4) + sd $30,6*8($4) + sd $31,7*8($4) + + bne $5,$23,.Loop + dsubu $6,512 # rewind $6 + + ld $31,256-1*8($29) + ld $30,256-2*8($29) + ld $23,256-3*8($29) + ld $22,256-4*8($29) + ld $21,256-5*8($29) + ld $20,256-6*8($29) + ld $19,256-7*8($29) + ld $18,256-8*8($29) + ld $17,256-9*8($29) + ld $16,256-10*8($29) + jr $31 + daddu $29,256 +.end sha512_block_data_order + +.rdata +.align 5 +K512: + .dword 0x428a2f98d728ae22, 0x7137449123ef65cd + .dword 0xb5c0fbcfec4d3b2f, 0xe9b5dba58189dbbc + .dword 0x3956c25bf348b538, 0x59f111f1b605d019 + .dword 0x923f82a4af194f9b, 0xab1c5ed5da6d8118 + .dword 0xd807aa98a3030242, 0x12835b0145706fbe + .dword 0x243185be4ee4b28c, 0x550c7dc3d5ffb4e2 + .dword 0x72be5d74f27b896f, 0x80deb1fe3b1696b1 + .dword 0x9bdc06a725c71235, 0xc19bf174cf692694 + .dword 0xe49b69c19ef14ad2, 0xefbe4786384f25e3 + .dword 0x0fc19dc68b8cd5b5, 0x240ca1cc77ac9c65 + .dword 0x2de92c6f592b0275, 0x4a7484aa6ea6e483 + .dword 0x5cb0a9dcbd41fbd4, 0x76f988da831153b5 + .dword 0x983e5152ee66dfab, 0xa831c66d2db43210 + .dword 0xb00327c898fb213f, 0xbf597fc7beef0ee4 + .dword 0xc6e00bf33da88fc2, 0xd5a79147930aa725 + .dword 0x06ca6351e003826f, 0x142929670a0e6e70 + .dword 0x27b70a8546d22ffc, 0x2e1b21385c26c926 + .dword 0x4d2c6dfc5ac42aed, 0x53380d139d95b3df + .dword 0x650a73548baf63de, 0x766a0abb3c77b2a8 + .dword 0x81c2c92e47edaee6, 0x92722c851482353b + .dword 0xa2bfe8a14cf10364, 0xa81a664bbc423001 + .dword 0xc24b8b70d0f89791, 0xc76c51a30654be30 + .dword 0xd192e819d6ef5218, 0xd69906245565a910 + .dword 0xf40e35855771202a, 0x106aa07032bbd1b8 + .dword 0x19a4c116b8d2d0c8, 0x1e376c085141ab53 + .dword 0x2748774cdf8eeb99, 0x34b0bcb5e19b48a8 + .dword 0x391c0cb3c5c95a63, 0x4ed8aa4ae3418acb + .dword 0x5b9cca4f7763e373, 0x682e6ff3d6b2b8a3 + .dword 0x748f82ee5defb2fc, 0x78a5636f43172f60 + .dword 0x84c87814a1f0ab72, 0x8cc702081a6439ec + .dword 0x90befffa23631e28, 0xa4506cebde82bde9 + .dword 0xbef9a3f7b2c67915, 0xc67178f2e372532b + .dword 0xca273eceea26619c, 0xd186b8c721c0c207 + .dword 0xeada7dd6cde0eb1e, 0xf57d4f7fee6ed178 + .dword 0x06f067aa72176fba, 0x0a637dc5a2c898a6 + .dword 0x113f9804bef90dae, 0x1b710b35131c471b + .dword 0x28db77f523047d84, 0x32caab7b40c72493 + .dword 0x3c9ebe0a15c9bebc, 0x431d67c49c100d4c + .dword 0x4cc5d4becb3e42b6, 0x597f299cfc657e2a + .dword 0x5fcb6fab3ad6faec, 0x6c44198c4a475817 +.asciiz "SHA512 for MIPS, CRYPTOGAMS by " +.align 5 diff --git a/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/opensslconf.h new file mode 100644 index 00000000000000..30820b60518d47 --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/asm/include/openssl/opensslconf.h @@ -0,0 +1,198 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/opensslconf.h.in + * + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef OPENSSL_ALGORITHM_DEFINES +# error OPENSSL_ALGORITHM_DEFINES no longer supported +#endif + +/* + * OpenSSL was configured with the following options: + */ + +#ifndef OPENSSL_NO_COMP +# define OPENSSL_NO_COMP +#endif +#ifndef OPENSSL_NO_MD2 +# define OPENSSL_NO_MD2 +#endif +#ifndef OPENSSL_NO_RC5 +# define OPENSSL_NO_RC5 +#endif +#ifndef OPENSSL_THREADS +# define OPENSSL_THREADS +#endif +#ifndef OPENSSL_RAND_SEED_OS +# define OPENSSL_RAND_SEED_OS +#endif +#ifndef OPENSSL_NO_AFALGENG +# define OPENSSL_NO_AFALGENG +#endif +#ifndef OPENSSL_NO_ASAN +# define OPENSSL_NO_ASAN +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG +# define OPENSSL_NO_CRYPTO_MDEBUG +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +#endif +#ifndef OPENSSL_NO_DEVCRYPTOENG +# define OPENSSL_NO_DEVCRYPTOENG +#endif +#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +#endif +#ifndef OPENSSL_NO_EGD +# define OPENSSL_NO_EGD +#endif +#ifndef OPENSSL_NO_EXTERNAL_TESTS +# define OPENSSL_NO_EXTERNAL_TESTS +#endif +#ifndef OPENSSL_NO_FUZZ_AFL +# define OPENSSL_NO_FUZZ_AFL +#endif +#ifndef OPENSSL_NO_FUZZ_LIBFUZZER +# define OPENSSL_NO_FUZZ_LIBFUZZER +#endif +#ifndef OPENSSL_NO_HEARTBEATS +# define OPENSSL_NO_HEARTBEATS +#endif +#ifndef OPENSSL_NO_MSAN +# define OPENSSL_NO_MSAN +#endif +#ifndef OPENSSL_NO_SCTP +# define OPENSSL_NO_SCTP +#endif +#ifndef OPENSSL_NO_SSL3 +# define OPENSSL_NO_SSL3 +#endif +#ifndef OPENSSL_NO_SSL3_METHOD +# define OPENSSL_NO_SSL3_METHOD +#endif +#ifndef OPENSSL_NO_UBSAN +# define OPENSSL_NO_UBSAN +#endif +#ifndef OPENSSL_NO_UNIT_TEST +# define OPENSSL_NO_UNIT_TEST +#endif +#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS +# define OPENSSL_NO_WEAK_SSL_CIPHERS +#endif +#ifndef OPENSSL_NO_DYNAMIC_ENGINE +# define OPENSSL_NO_DYNAMIC_ENGINE +#endif +#ifndef OPENSSL_NO_AFALGENG +# define OPENSSL_NO_AFALGENG +#endif + + +/* + * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers + * don't like that. This will hopefully silence them. + */ +#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy; + +/* + * Applications should use -DOPENSSL_API_COMPAT= to suppress the + * declarations of functions deprecated in or before . Otherwise, they + * still won't see them if the library has been built to disable deprecated + * functions. + */ +#ifndef DECLARE_DEPRECATED +# define DECLARE_DEPRECATED(f) f; +# ifdef __GNUC__ +# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0) +# undef DECLARE_DEPRECATED +# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); +# endif +# endif +#endif + +#ifndef OPENSSL_FILE +# ifdef OPENSSL_NO_FILENAMES +# define OPENSSL_FILE "" +# define OPENSSL_LINE 0 +# else +# define OPENSSL_FILE __FILE__ +# define OPENSSL_LINE __LINE__ +# endif +#endif + +#ifndef OPENSSL_MIN_API +# define OPENSSL_MIN_API 0 +#endif + +#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API +# undef OPENSSL_API_COMPAT +# define OPENSSL_API_COMPAT OPENSSL_MIN_API +#endif + +/* + * Do not deprecate things to be deprecated in version 1.2.0 before the + * OpenSSL version number matches. + */ +#if OPENSSL_VERSION_NUMBER < 0x10200000L +# define DEPRECATEDIN_1_2_0(f) f; +#elif OPENSSL_API_COMPAT < 0x10200000L +# define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_2_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x10100000L +# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_1_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x10000000L +# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_0_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x00908000L +# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_0_9_8(f) +#endif + +/* Generate 80386 code? */ +#undef I386_ONLY + +#undef OPENSSL_UNISTD +#define OPENSSL_UNISTD + +#undef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* + * The following are cipher-specific, but are part of the public API. + */ +#if !defined(OPENSSL_SYS_UEFI) +# undef BN_LLONG +/* Only one for the following should be defined */ +# define SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT +#endif + +#define RC4_INT unsigned char + +#ifdef __cplusplus +} +#endif diff --git a/deps/openssl/config/archs/linux64-mips64/asm/include/progs.h b/deps/openssl/config/archs/linux64-mips64/asm/include/progs.h new file mode 100644 index 00000000000000..9b3d270e20800e --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/asm/include/progs.h @@ -0,0 +1,507 @@ +/* + * WARNING: do not edit! + * Generated by apps/progs.pl + * + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +typedef enum FUNC_TYPE { + FT_none, FT_general, FT_md, FT_cipher, FT_pkey, + FT_md_alg, FT_cipher_alg +} FUNC_TYPE; + +typedef struct function_st { + FUNC_TYPE type; + const char *name; + int (*func)(int argc, char *argv[]); + const OPTIONS *help; +} FUNCTION; + +DEFINE_LHASH_OF(FUNCTION); + +extern int asn1parse_main(int argc, char *argv[]); +extern int ca_main(int argc, char *argv[]); +extern int ciphers_main(int argc, char *argv[]); +extern int cms_main(int argc, char *argv[]); +extern int crl_main(int argc, char *argv[]); +extern int crl2pkcs7_main(int argc, char *argv[]); +extern int dgst_main(int argc, char *argv[]); +extern int dhparam_main(int argc, char *argv[]); +extern int dsa_main(int argc, char *argv[]); +extern int dsaparam_main(int argc, char *argv[]); +extern int ec_main(int argc, char *argv[]); +extern int ecparam_main(int argc, char *argv[]); +extern int enc_main(int argc, char *argv[]); +extern int engine_main(int argc, char *argv[]); +extern int errstr_main(int argc, char *argv[]); +extern int gendsa_main(int argc, char *argv[]); +extern int genpkey_main(int argc, char *argv[]); +extern int genrsa_main(int argc, char *argv[]); +extern int help_main(int argc, char *argv[]); +extern int list_main(int argc, char *argv[]); +extern int nseq_main(int argc, char *argv[]); +extern int ocsp_main(int argc, char *argv[]); +extern int passwd_main(int argc, char *argv[]); +extern int pkcs12_main(int argc, char *argv[]); +extern int pkcs7_main(int argc, char *argv[]); +extern int pkcs8_main(int argc, char *argv[]); +extern int pkey_main(int argc, char *argv[]); +extern int pkeyparam_main(int argc, char *argv[]); +extern int pkeyutl_main(int argc, char *argv[]); +extern int prime_main(int argc, char *argv[]); +extern int rand_main(int argc, char *argv[]); +extern int rehash_main(int argc, char *argv[]); +extern int req_main(int argc, char *argv[]); +extern int rsa_main(int argc, char *argv[]); +extern int rsautl_main(int argc, char *argv[]); +extern int s_client_main(int argc, char *argv[]); +extern int s_server_main(int argc, char *argv[]); +extern int s_time_main(int argc, char *argv[]); +extern int sess_id_main(int argc, char *argv[]); +extern int smime_main(int argc, char *argv[]); +extern int speed_main(int argc, char *argv[]); +extern int spkac_main(int argc, char *argv[]); +extern int srp_main(int argc, char *argv[]); +extern int storeutl_main(int argc, char *argv[]); +extern int ts_main(int argc, char *argv[]); +extern int verify_main(int argc, char *argv[]); +extern int version_main(int argc, char *argv[]); +extern int x509_main(int argc, char *argv[]); + +extern const OPTIONS asn1parse_options[]; +extern const OPTIONS ca_options[]; +extern const OPTIONS ciphers_options[]; +extern const OPTIONS cms_options[]; +extern const OPTIONS crl_options[]; +extern const OPTIONS crl2pkcs7_options[]; +extern const OPTIONS dgst_options[]; +extern const OPTIONS dhparam_options[]; +extern const OPTIONS dsa_options[]; +extern const OPTIONS dsaparam_options[]; +extern const OPTIONS ec_options[]; +extern const OPTIONS ecparam_options[]; +extern const OPTIONS enc_options[]; +extern const OPTIONS engine_options[]; +extern const OPTIONS errstr_options[]; +extern const OPTIONS gendsa_options[]; +extern const OPTIONS genpkey_options[]; +extern const OPTIONS genrsa_options[]; +extern const OPTIONS help_options[]; +extern const OPTIONS list_options[]; +extern const OPTIONS nseq_options[]; +extern const OPTIONS ocsp_options[]; +extern const OPTIONS passwd_options[]; +extern const OPTIONS pkcs12_options[]; +extern const OPTIONS pkcs7_options[]; +extern const OPTIONS pkcs8_options[]; +extern const OPTIONS pkey_options[]; +extern const OPTIONS pkeyparam_options[]; +extern const OPTIONS pkeyutl_options[]; +extern const OPTIONS prime_options[]; +extern const OPTIONS rand_options[]; +extern const OPTIONS rehash_options[]; +extern const OPTIONS req_options[]; +extern const OPTIONS rsa_options[]; +extern const OPTIONS rsautl_options[]; +extern const OPTIONS s_client_options[]; +extern const OPTIONS s_server_options[]; +extern const OPTIONS s_time_options[]; +extern const OPTIONS sess_id_options[]; +extern const OPTIONS smime_options[]; +extern const OPTIONS speed_options[]; +extern const OPTIONS spkac_options[]; +extern const OPTIONS srp_options[]; +extern const OPTIONS storeutl_options[]; +extern const OPTIONS ts_options[]; +extern const OPTIONS verify_options[]; +extern const OPTIONS version_options[]; +extern const OPTIONS x509_options[]; + +#ifdef INCLUDE_FUNCTION_TABLE +static FUNCTION functions[] = { + {FT_general, "asn1parse", asn1parse_main, asn1parse_options}, + {FT_general, "ca", ca_main, ca_options}, +#ifndef OPENSSL_NO_SOCK + {FT_general, "ciphers", ciphers_main, ciphers_options}, +#endif +#ifndef OPENSSL_NO_CMS + {FT_general, "cms", cms_main, cms_options}, +#endif + {FT_general, "crl", crl_main, crl_options}, + {FT_general, "crl2pkcs7", crl2pkcs7_main, crl2pkcs7_options}, + {FT_general, "dgst", dgst_main, dgst_options}, +#ifndef OPENSSL_NO_DH + {FT_general, "dhparam", dhparam_main, dhparam_options}, +#endif +#ifndef OPENSSL_NO_DSA + {FT_general, "dsa", dsa_main, dsa_options}, +#endif +#ifndef OPENSSL_NO_DSA + {FT_general, "dsaparam", dsaparam_main, dsaparam_options}, +#endif +#ifndef OPENSSL_NO_EC + {FT_general, "ec", ec_main, ec_options}, +#endif +#ifndef OPENSSL_NO_EC + {FT_general, "ecparam", ecparam_main, ecparam_options}, +#endif + {FT_general, "enc", enc_main, enc_options}, +#ifndef OPENSSL_NO_ENGINE + {FT_general, "engine", engine_main, engine_options}, +#endif + {FT_general, "errstr", errstr_main, errstr_options}, +#ifndef OPENSSL_NO_DSA + {FT_general, "gendsa", gendsa_main, gendsa_options}, +#endif + {FT_general, "genpkey", genpkey_main, genpkey_options}, +#ifndef OPENSSL_NO_RSA + {FT_general, "genrsa", genrsa_main, genrsa_options}, +#endif + {FT_general, "help", help_main, help_options}, + {FT_general, "list", list_main, list_options}, + {FT_general, "nseq", nseq_main, nseq_options}, +#ifndef OPENSSL_NO_OCSP + {FT_general, "ocsp", ocsp_main, ocsp_options}, +#endif + {FT_general, "passwd", passwd_main, passwd_options}, +#ifndef OPENSSL_NO_DES + {FT_general, "pkcs12", pkcs12_main, pkcs12_options}, +#endif + {FT_general, "pkcs7", pkcs7_main, pkcs7_options}, + {FT_general, "pkcs8", pkcs8_main, pkcs8_options}, + {FT_general, "pkey", pkey_main, pkey_options}, + {FT_general, "pkeyparam", pkeyparam_main, pkeyparam_options}, + {FT_general, "pkeyutl", pkeyutl_main, pkeyutl_options}, + {FT_general, "prime", prime_main, prime_options}, + {FT_general, "rand", rand_main, rand_options}, + {FT_general, "rehash", rehash_main, rehash_options}, + {FT_general, "req", req_main, req_options}, + {FT_general, "rsa", rsa_main, rsa_options}, +#ifndef OPENSSL_NO_RSA + {FT_general, "rsautl", rsautl_main, rsautl_options}, +#endif +#ifndef OPENSSL_NO_SOCK + {FT_general, "s_client", s_client_main, s_client_options}, +#endif +#ifndef OPENSSL_NO_SOCK + {FT_general, "s_server", s_server_main, s_server_options}, +#endif +#ifndef OPENSSL_NO_SOCK + {FT_general, "s_time", s_time_main, s_time_options}, +#endif + {FT_general, "sess_id", sess_id_main, sess_id_options}, + {FT_general, "smime", smime_main, smime_options}, + {FT_general, "speed", speed_main, speed_options}, + {FT_general, "spkac", spkac_main, spkac_options}, +#ifndef OPENSSL_NO_SRP + {FT_general, "srp", srp_main, srp_options}, +#endif + {FT_general, "storeutl", storeutl_main, storeutl_options}, +#ifndef OPENSSL_NO_TS + {FT_general, "ts", ts_main, ts_options}, +#endif + {FT_general, "verify", verify_main, verify_options}, + {FT_general, "version", version_main, version_options}, + {FT_general, "x509", x509_main, x509_options}, +#ifndef OPENSSL_NO_MD2 + {FT_md, "md2", dgst_main}, +#endif +#ifndef OPENSSL_NO_MD4 + {FT_md, "md4", dgst_main}, +#endif + {FT_md, "md5", dgst_main}, +#ifndef OPENSSL_NO_GOST + {FT_md, "gost", dgst_main}, +#endif + {FT_md, "sha1", dgst_main}, + {FT_md, "sha224", dgst_main}, + {FT_md, "sha256", dgst_main}, + {FT_md, "sha384", dgst_main}, + {FT_md, "sha512", dgst_main}, + {FT_md, "sha512-224", dgst_main}, + {FT_md, "sha512-256", dgst_main}, + {FT_md, "sha3-224", dgst_main}, + {FT_md, "sha3-256", dgst_main}, + {FT_md, "sha3-384", dgst_main}, + {FT_md, "sha3-512", dgst_main}, + {FT_md, "shake128", dgst_main}, + {FT_md, "shake256", dgst_main}, +#ifndef OPENSSL_NO_MDC2 + {FT_md, "mdc2", dgst_main}, +#endif +#ifndef OPENSSL_NO_RMD160 + {FT_md, "rmd160", dgst_main}, +#endif +#ifndef OPENSSL_NO_BLAKE2 + {FT_md, "blake2b512", dgst_main}, +#endif +#ifndef OPENSSL_NO_BLAKE2 + {FT_md, "blake2s256", dgst_main}, +#endif +#ifndef OPENSSL_NO_SM3 + {FT_md, "sm3", dgst_main}, +#endif + {FT_cipher, "aes-128-cbc", enc_main, enc_options}, + {FT_cipher, "aes-128-ecb", enc_main, enc_options}, + {FT_cipher, "aes-192-cbc", enc_main, enc_options}, + {FT_cipher, "aes-192-ecb", enc_main, enc_options}, + {FT_cipher, "aes-256-cbc", enc_main, enc_options}, + {FT_cipher, "aes-256-ecb", enc_main, enc_options}, +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-ctr", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-cfb1", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-cfb8", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-ctr", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-cfb1", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-cfb8", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-ctr", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-cfb1", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-cfb8", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-128-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-128-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-192-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-192-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-256-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-256-ecb", enc_main, enc_options}, +#endif + {FT_cipher, "base64", enc_main, enc_options}, +#ifdef ZLIB + {FT_cipher, "zlib", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des3", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "desx", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_IDEA + {FT_cipher, "idea", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SEED + {FT_cipher, "seed", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC4 + {FT_cipher, "rc4", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC4 + {FT_cipher, "rc4-40", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_BF + {FT_cipher, "bf", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC5 + {FT_cipher, "rc5", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede3", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede3-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede3-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede3-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_IDEA + {FT_cipher, "idea-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_IDEA + {FT_cipher, "idea-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_IDEA + {FT_cipher, "idea-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_IDEA + {FT_cipher, "idea-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SEED + {FT_cipher, "seed-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SEED + {FT_cipher, "seed-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SEED + {FT_cipher, "seed-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SEED + {FT_cipher, "seed-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-64-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-40-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_BF + {FT_cipher, "bf-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_BF + {FT_cipher, "bf-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_BF + {FT_cipher, "bf-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_BF + {FT_cipher, "bf-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast5-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast5-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast5-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast5-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC5 + {FT_cipher, "rc5-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC5 + {FT_cipher, "rc5-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC5 + {FT_cipher, "rc5-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC5 + {FT_cipher, "rc5-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SM4 + {FT_cipher, "sm4-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SM4 + {FT_cipher, "sm4-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SM4 + {FT_cipher, "sm4-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SM4 + {FT_cipher, "sm4-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SM4 + {FT_cipher, "sm4-ctr", enc_main, enc_options}, +#endif + {0, NULL, NULL} +}; +#endif diff --git a/deps/openssl/config/archs/linux64-mips64/asm/openssl-cl.gypi b/deps/openssl/config/archs/linux64-mips64/asm/openssl-cl.gypi new file mode 100644 index 00000000000000..799e6ecde763e0 --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/asm/openssl-cl.gypi @@ -0,0 +1,87 @@ +{ + 'variables': { + 'openssl_defines_linux64-mips64': [ + 'NDEBUG', + 'OPENSSL_USE_NODELETE', + 'OPENSSL_PIC', + 'OPENSSL_BN_ASM_MONT', + 'SHA1_ASM', + 'SHA256_ASM', + 'SHA512_ASM', + 'AES_ASM', + 'POLY1305_ASM', + ], + 'openssl_cflags_linux64-mips64': [ + '-mips3', + '-Wa,--noexecstack', + '-Wall -O3', + '-pthread -mabi=64', + '-Wall -O3', + ], + 'openssl_ex_libs_linux64-mips64': [ + '-ldl -pthread', + ], + 'openssl_cli_srcs_linux64-mips64': [ + 'openssl/apps/asn1pars.c', + 'openssl/apps/ca.c', + 'openssl/apps/ciphers.c', + 'openssl/apps/cms.c', + 'openssl/apps/crl.c', + 'openssl/apps/crl2p7.c', + 'openssl/apps/dgst.c', + 'openssl/apps/dhparam.c', + 'openssl/apps/dsa.c', + 'openssl/apps/dsaparam.c', + 'openssl/apps/ec.c', + 'openssl/apps/ecparam.c', + 'openssl/apps/enc.c', + 'openssl/apps/engine.c', + 'openssl/apps/errstr.c', + 'openssl/apps/gendsa.c', + 'openssl/apps/genpkey.c', + 'openssl/apps/genrsa.c', + 'openssl/apps/nseq.c', + 'openssl/apps/ocsp.c', + 'openssl/apps/openssl.c', + 'openssl/apps/passwd.c', + 'openssl/apps/pkcs12.c', + 'openssl/apps/pkcs7.c', + 'openssl/apps/pkcs8.c', + 'openssl/apps/pkey.c', + 'openssl/apps/pkeyparam.c', + 'openssl/apps/pkeyutl.c', + 'openssl/apps/prime.c', + 'openssl/apps/rand.c', + 'openssl/apps/rehash.c', + 'openssl/apps/req.c', + 'openssl/apps/rsa.c', + 'openssl/apps/rsautl.c', + 'openssl/apps/s_client.c', + 'openssl/apps/s_server.c', + 'openssl/apps/s_time.c', + 'openssl/apps/sess_id.c', + 'openssl/apps/smime.c', + 'openssl/apps/speed.c', + 'openssl/apps/spkac.c', + 'openssl/apps/srp.c', + 'openssl/apps/storeutl.c', + 'openssl/apps/ts.c', + 'openssl/apps/verify.c', + 'openssl/apps/version.c', + 'openssl/apps/x509.c', + 'openssl/apps/app_rand.c', + 'openssl/apps/apps.c', + 'openssl/apps/bf_prefix.c', + 'openssl/apps/opt.c', + 'openssl/apps/s_cb.c', + 'openssl/apps/s_socket.c', + ], + }, + 'defines': ['<@(openssl_defines_linux64-mips64)'], + 'include_dirs': [ + './include', + ], + 'cflags' : ['<@(openssl_cflags_linux64-mips64)'], + 'libraries': ['<@(openssl_ex_libs_linux64-mips64)'], + 'sources': ['<@(openssl_cli_srcs_linux64-mips64)'], +} diff --git a/deps/openssl/config/archs/linux64-mips64/asm/openssl.gypi b/deps/openssl/config/archs/linux64-mips64/asm/openssl.gypi new file mode 100644 index 00000000000000..9e9580bc53bd43 --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/asm/openssl.gypi @@ -0,0 +1,724 @@ +{ + 'variables': { + 'openssl_sources': [ + 'openssl/ssl/bio_ssl.c', + 'openssl/ssl/d1_lib.c', + 'openssl/ssl/d1_msg.c', + 'openssl/ssl/d1_srtp.c', + 'openssl/ssl/methods.c', + 'openssl/ssl/packet.c', + 'openssl/ssl/pqueue.c', + 'openssl/ssl/record/dtls1_bitmap.c', + 'openssl/ssl/record/rec_layer_d1.c', + 'openssl/ssl/record/rec_layer_s3.c', + 'openssl/ssl/record/ssl3_buffer.c', + 'openssl/ssl/record/ssl3_record.c', + 'openssl/ssl/record/ssl3_record_tls13.c', + 'openssl/ssl/s3_cbc.c', + 'openssl/ssl/s3_enc.c', + 'openssl/ssl/s3_lib.c', + 'openssl/ssl/s3_msg.c', + 'openssl/ssl/ssl_asn1.c', + 'openssl/ssl/ssl_cert.c', + 'openssl/ssl/ssl_ciph.c', + 'openssl/ssl/ssl_conf.c', + 'openssl/ssl/ssl_err.c', + 'openssl/ssl/ssl_init.c', + 'openssl/ssl/ssl_lib.c', + 'openssl/ssl/ssl_mcnf.c', + 'openssl/ssl/ssl_rsa.c', + 'openssl/ssl/ssl_sess.c', + 'openssl/ssl/ssl_stat.c', + 'openssl/ssl/ssl_txt.c', + 'openssl/ssl/ssl_utst.c', + 'openssl/ssl/statem/extensions.c', + 'openssl/ssl/statem/extensions_clnt.c', + 'openssl/ssl/statem/extensions_cust.c', + 'openssl/ssl/statem/extensions_srvr.c', + 'openssl/ssl/statem/statem.c', + 'openssl/ssl/statem/statem_clnt.c', + 'openssl/ssl/statem/statem_dtls.c', + 'openssl/ssl/statem/statem_lib.c', + 'openssl/ssl/statem/statem_srvr.c', + 'openssl/ssl/t1_enc.c', + 'openssl/ssl/t1_lib.c', + 'openssl/ssl/t1_trce.c', + 'openssl/ssl/tls13_enc.c', + 'openssl/ssl/tls_srp.c', + 'openssl/crypto/aes/aes_cbc.c', + 'openssl/crypto/aes/aes_cfb.c', + 'openssl/crypto/aes/aes_ecb.c', + 'openssl/crypto/aes/aes_ige.c', + 'openssl/crypto/aes/aes_misc.c', + 'openssl/crypto/aes/aes_ofb.c', + 'openssl/crypto/aes/aes_wrap.c', + 'openssl/crypto/aria/aria.c', + 'openssl/crypto/asn1/a_bitstr.c', + 'openssl/crypto/asn1/a_d2i_fp.c', + 'openssl/crypto/asn1/a_digest.c', + 'openssl/crypto/asn1/a_dup.c', + 'openssl/crypto/asn1/a_gentm.c', + 'openssl/crypto/asn1/a_i2d_fp.c', + 'openssl/crypto/asn1/a_int.c', + 'openssl/crypto/asn1/a_mbstr.c', + 'openssl/crypto/asn1/a_object.c', + 'openssl/crypto/asn1/a_octet.c', + 'openssl/crypto/asn1/a_print.c', + 'openssl/crypto/asn1/a_sign.c', + 'openssl/crypto/asn1/a_strex.c', + 'openssl/crypto/asn1/a_strnid.c', + 'openssl/crypto/asn1/a_time.c', + 'openssl/crypto/asn1/a_type.c', + 'openssl/crypto/asn1/a_utctm.c', + 'openssl/crypto/asn1/a_utf8.c', + 'openssl/crypto/asn1/a_verify.c', + 'openssl/crypto/asn1/ameth_lib.c', + 'openssl/crypto/asn1/asn1_err.c', + 'openssl/crypto/asn1/asn1_gen.c', + 'openssl/crypto/asn1/asn1_item_list.c', + 'openssl/crypto/asn1/asn1_lib.c', + 'openssl/crypto/asn1/asn1_par.c', + 'openssl/crypto/asn1/asn_mime.c', + 'openssl/crypto/asn1/asn_moid.c', + 'openssl/crypto/asn1/asn_mstbl.c', + 'openssl/crypto/asn1/asn_pack.c', + 'openssl/crypto/asn1/bio_asn1.c', + 'openssl/crypto/asn1/bio_ndef.c', + 'openssl/crypto/asn1/d2i_pr.c', + 'openssl/crypto/asn1/d2i_pu.c', + 'openssl/crypto/asn1/evp_asn1.c', + 'openssl/crypto/asn1/f_int.c', + 'openssl/crypto/asn1/f_string.c', + 'openssl/crypto/asn1/i2d_pr.c', + 'openssl/crypto/asn1/i2d_pu.c', + 'openssl/crypto/asn1/n_pkey.c', + 'openssl/crypto/asn1/nsseq.c', + 'openssl/crypto/asn1/p5_pbe.c', + 'openssl/crypto/asn1/p5_pbev2.c', + 'openssl/crypto/asn1/p5_scrypt.c', + 'openssl/crypto/asn1/p8_pkey.c', + 'openssl/crypto/asn1/t_bitst.c', + 'openssl/crypto/asn1/t_pkey.c', + 'openssl/crypto/asn1/t_spki.c', + 'openssl/crypto/asn1/tasn_dec.c', + 'openssl/crypto/asn1/tasn_enc.c', + 'openssl/crypto/asn1/tasn_fre.c', + 'openssl/crypto/asn1/tasn_new.c', + 'openssl/crypto/asn1/tasn_prn.c', + 'openssl/crypto/asn1/tasn_scn.c', + 'openssl/crypto/asn1/tasn_typ.c', + 'openssl/crypto/asn1/tasn_utl.c', + 'openssl/crypto/asn1/x_algor.c', + 'openssl/crypto/asn1/x_bignum.c', + 'openssl/crypto/asn1/x_info.c', + 'openssl/crypto/asn1/x_int64.c', + 'openssl/crypto/asn1/x_long.c', + 'openssl/crypto/asn1/x_pkey.c', + 'openssl/crypto/asn1/x_sig.c', + 'openssl/crypto/asn1/x_spki.c', + 'openssl/crypto/asn1/x_val.c', + 'openssl/crypto/async/arch/async_null.c', + 'openssl/crypto/async/arch/async_posix.c', + 'openssl/crypto/async/arch/async_win.c', + 'openssl/crypto/async/async.c', + 'openssl/crypto/async/async_err.c', + 'openssl/crypto/async/async_wait.c', + 'openssl/crypto/bf/bf_cfb64.c', + 'openssl/crypto/bf/bf_ecb.c', + 'openssl/crypto/bf/bf_enc.c', + 'openssl/crypto/bf/bf_ofb64.c', + 'openssl/crypto/bf/bf_skey.c', + 'openssl/crypto/bio/b_addr.c', + 'openssl/crypto/bio/b_dump.c', + 'openssl/crypto/bio/b_print.c', + 'openssl/crypto/bio/b_sock.c', + 'openssl/crypto/bio/b_sock2.c', + 'openssl/crypto/bio/bf_buff.c', + 'openssl/crypto/bio/bf_lbuf.c', + 'openssl/crypto/bio/bf_nbio.c', + 'openssl/crypto/bio/bf_null.c', + 'openssl/crypto/bio/bio_cb.c', + 'openssl/crypto/bio/bio_err.c', + 'openssl/crypto/bio/bio_lib.c', + 'openssl/crypto/bio/bio_meth.c', + 'openssl/crypto/bio/bss_acpt.c', + 'openssl/crypto/bio/bss_bio.c', + 'openssl/crypto/bio/bss_conn.c', + 'openssl/crypto/bio/bss_dgram.c', + 'openssl/crypto/bio/bss_fd.c', + 'openssl/crypto/bio/bss_file.c', + 'openssl/crypto/bio/bss_log.c', + 'openssl/crypto/bio/bss_mem.c', + 'openssl/crypto/bio/bss_null.c', + 'openssl/crypto/bio/bss_sock.c', + 'openssl/crypto/blake2/blake2b.c', + 'openssl/crypto/blake2/blake2s.c', + 'openssl/crypto/blake2/m_blake2b.c', + 'openssl/crypto/blake2/m_blake2s.c', + 'openssl/crypto/bn/bn_add.c', + 'openssl/crypto/bn/bn_blind.c', + 'openssl/crypto/bn/bn_const.c', + 'openssl/crypto/bn/bn_ctx.c', + 'openssl/crypto/bn/bn_depr.c', + 'openssl/crypto/bn/bn_dh.c', + 'openssl/crypto/bn/bn_div.c', + 'openssl/crypto/bn/bn_err.c', + 'openssl/crypto/bn/bn_exp.c', + 'openssl/crypto/bn/bn_exp2.c', + 'openssl/crypto/bn/bn_gcd.c', + 'openssl/crypto/bn/bn_gf2m.c', + 'openssl/crypto/bn/bn_intern.c', + 'openssl/crypto/bn/bn_kron.c', + 'openssl/crypto/bn/bn_lib.c', + 'openssl/crypto/bn/bn_mod.c', + 'openssl/crypto/bn/bn_mont.c', + 'openssl/crypto/bn/bn_mpi.c', + 'openssl/crypto/bn/bn_mul.c', + 'openssl/crypto/bn/bn_nist.c', + 'openssl/crypto/bn/bn_prime.c', + 'openssl/crypto/bn/bn_print.c', + 'openssl/crypto/bn/bn_rand.c', + 'openssl/crypto/bn/bn_recp.c', + 'openssl/crypto/bn/bn_shift.c', + 'openssl/crypto/bn/bn_sqr.c', + 'openssl/crypto/bn/bn_sqrt.c', + 'openssl/crypto/bn/bn_srp.c', + 'openssl/crypto/bn/bn_word.c', + 'openssl/crypto/bn/bn_x931p.c', + 'openssl/crypto/buffer/buf_err.c', + 'openssl/crypto/buffer/buffer.c', + 'openssl/crypto/camellia/camellia.c', + 'openssl/crypto/camellia/cmll_cbc.c', + 'openssl/crypto/camellia/cmll_cfb.c', + 'openssl/crypto/camellia/cmll_ctr.c', + 'openssl/crypto/camellia/cmll_ecb.c', + 'openssl/crypto/camellia/cmll_misc.c', + 'openssl/crypto/camellia/cmll_ofb.c', + 'openssl/crypto/cast/c_cfb64.c', + 'openssl/crypto/cast/c_ecb.c', + 'openssl/crypto/cast/c_enc.c', + 'openssl/crypto/cast/c_ofb64.c', + 'openssl/crypto/cast/c_skey.c', + 'openssl/crypto/chacha/chacha_enc.c', + 'openssl/crypto/cmac/cm_ameth.c', + 'openssl/crypto/cmac/cm_pmeth.c', + 'openssl/crypto/cmac/cmac.c', + 'openssl/crypto/cms/cms_asn1.c', + 'openssl/crypto/cms/cms_att.c', + 'openssl/crypto/cms/cms_cd.c', + 'openssl/crypto/cms/cms_dd.c', + 'openssl/crypto/cms/cms_enc.c', + 'openssl/crypto/cms/cms_env.c', + 'openssl/crypto/cms/cms_err.c', + 'openssl/crypto/cms/cms_ess.c', + 'openssl/crypto/cms/cms_io.c', + 'openssl/crypto/cms/cms_kari.c', + 'openssl/crypto/cms/cms_lib.c', + 'openssl/crypto/cms/cms_pwri.c', + 'openssl/crypto/cms/cms_sd.c', + 'openssl/crypto/cms/cms_smime.c', + 'openssl/crypto/conf/conf_api.c', + 'openssl/crypto/conf/conf_def.c', + 'openssl/crypto/conf/conf_err.c', + 'openssl/crypto/conf/conf_lib.c', + 'openssl/crypto/conf/conf_mall.c', + 'openssl/crypto/conf/conf_mod.c', + 'openssl/crypto/conf/conf_sap.c', + 'openssl/crypto/conf/conf_ssl.c', + 'openssl/crypto/cpt_err.c', + 'openssl/crypto/cryptlib.c', + 'openssl/crypto/ct/ct_b64.c', + 'openssl/crypto/ct/ct_err.c', + 'openssl/crypto/ct/ct_log.c', + 'openssl/crypto/ct/ct_oct.c', + 'openssl/crypto/ct/ct_policy.c', + 'openssl/crypto/ct/ct_prn.c', + 'openssl/crypto/ct/ct_sct.c', + 'openssl/crypto/ct/ct_sct_ctx.c', + 'openssl/crypto/ct/ct_vfy.c', + 'openssl/crypto/ct/ct_x509v3.c', + 'openssl/crypto/ctype.c', + 'openssl/crypto/cversion.c', + 'openssl/crypto/des/cbc_cksm.c', + 'openssl/crypto/des/cbc_enc.c', + 'openssl/crypto/des/cfb64ede.c', + 'openssl/crypto/des/cfb64enc.c', + 'openssl/crypto/des/cfb_enc.c', + 'openssl/crypto/des/des_enc.c', + 'openssl/crypto/des/ecb3_enc.c', + 'openssl/crypto/des/ecb_enc.c', + 'openssl/crypto/des/fcrypt.c', + 'openssl/crypto/des/fcrypt_b.c', + 'openssl/crypto/des/ofb64ede.c', + 'openssl/crypto/des/ofb64enc.c', + 'openssl/crypto/des/ofb_enc.c', + 'openssl/crypto/des/pcbc_enc.c', + 'openssl/crypto/des/qud_cksm.c', + 'openssl/crypto/des/rand_key.c', + 'openssl/crypto/des/set_key.c', + 'openssl/crypto/des/str2key.c', + 'openssl/crypto/des/xcbc_enc.c', + 'openssl/crypto/dh/dh_ameth.c', + 'openssl/crypto/dh/dh_asn1.c', + 'openssl/crypto/dh/dh_check.c', + 'openssl/crypto/dh/dh_depr.c', + 'openssl/crypto/dh/dh_err.c', + 'openssl/crypto/dh/dh_gen.c', + 'openssl/crypto/dh/dh_kdf.c', + 'openssl/crypto/dh/dh_key.c', + 'openssl/crypto/dh/dh_lib.c', + 'openssl/crypto/dh/dh_meth.c', + 'openssl/crypto/dh/dh_pmeth.c', + 'openssl/crypto/dh/dh_prn.c', + 'openssl/crypto/dh/dh_rfc5114.c', + 'openssl/crypto/dh/dh_rfc7919.c', + 'openssl/crypto/dsa/dsa_ameth.c', + 'openssl/crypto/dsa/dsa_asn1.c', + 'openssl/crypto/dsa/dsa_depr.c', + 'openssl/crypto/dsa/dsa_err.c', + 'openssl/crypto/dsa/dsa_gen.c', + 'openssl/crypto/dsa/dsa_key.c', + 'openssl/crypto/dsa/dsa_lib.c', + 'openssl/crypto/dsa/dsa_meth.c', + 'openssl/crypto/dsa/dsa_ossl.c', + 'openssl/crypto/dsa/dsa_pmeth.c', + 'openssl/crypto/dsa/dsa_prn.c', + 'openssl/crypto/dsa/dsa_sign.c', + 'openssl/crypto/dsa/dsa_vrf.c', + 'openssl/crypto/dso/dso_dl.c', + 'openssl/crypto/dso/dso_dlfcn.c', + 'openssl/crypto/dso/dso_err.c', + 'openssl/crypto/dso/dso_lib.c', + 'openssl/crypto/dso/dso_openssl.c', + 'openssl/crypto/dso/dso_vms.c', + 'openssl/crypto/dso/dso_win32.c', + 'openssl/crypto/ebcdic.c', + 'openssl/crypto/ec/curve25519.c', + 'openssl/crypto/ec/curve448/arch_32/f_impl.c', + 'openssl/crypto/ec/curve448/curve448.c', + 'openssl/crypto/ec/curve448/curve448_tables.c', + 'openssl/crypto/ec/curve448/eddsa.c', + 'openssl/crypto/ec/curve448/f_generic.c', + 'openssl/crypto/ec/curve448/scalar.c', + 'openssl/crypto/ec/ec2_oct.c', + 'openssl/crypto/ec/ec2_smpl.c', + 'openssl/crypto/ec/ec_ameth.c', + 'openssl/crypto/ec/ec_asn1.c', + 'openssl/crypto/ec/ec_check.c', + 'openssl/crypto/ec/ec_curve.c', + 'openssl/crypto/ec/ec_cvt.c', + 'openssl/crypto/ec/ec_err.c', + 'openssl/crypto/ec/ec_key.c', + 'openssl/crypto/ec/ec_kmeth.c', + 'openssl/crypto/ec/ec_lib.c', + 'openssl/crypto/ec/ec_mult.c', + 'openssl/crypto/ec/ec_oct.c', + 'openssl/crypto/ec/ec_pmeth.c', + 'openssl/crypto/ec/ec_print.c', + 'openssl/crypto/ec/ecdh_kdf.c', + 'openssl/crypto/ec/ecdh_ossl.c', + 'openssl/crypto/ec/ecdsa_ossl.c', + 'openssl/crypto/ec/ecdsa_sign.c', + 'openssl/crypto/ec/ecdsa_vrf.c', + 'openssl/crypto/ec/eck_prn.c', + 'openssl/crypto/ec/ecp_mont.c', + 'openssl/crypto/ec/ecp_nist.c', + 'openssl/crypto/ec/ecp_nistp224.c', + 'openssl/crypto/ec/ecp_nistp256.c', + 'openssl/crypto/ec/ecp_nistp521.c', + 'openssl/crypto/ec/ecp_nistputil.c', + 'openssl/crypto/ec/ecp_oct.c', + 'openssl/crypto/ec/ecp_smpl.c', + 'openssl/crypto/ec/ecx_meth.c', + 'openssl/crypto/engine/eng_all.c', + 'openssl/crypto/engine/eng_cnf.c', + 'openssl/crypto/engine/eng_ctrl.c', + 'openssl/crypto/engine/eng_dyn.c', + 'openssl/crypto/engine/eng_err.c', + 'openssl/crypto/engine/eng_fat.c', + 'openssl/crypto/engine/eng_init.c', + 'openssl/crypto/engine/eng_lib.c', + 'openssl/crypto/engine/eng_list.c', + 'openssl/crypto/engine/eng_openssl.c', + 'openssl/crypto/engine/eng_pkey.c', + 'openssl/crypto/engine/eng_rdrand.c', + 'openssl/crypto/engine/eng_table.c', + 'openssl/crypto/engine/tb_asnmth.c', + 'openssl/crypto/engine/tb_cipher.c', + 'openssl/crypto/engine/tb_dh.c', + 'openssl/crypto/engine/tb_digest.c', + 'openssl/crypto/engine/tb_dsa.c', + 'openssl/crypto/engine/tb_eckey.c', + 'openssl/crypto/engine/tb_pkmeth.c', + 'openssl/crypto/engine/tb_rand.c', + 'openssl/crypto/engine/tb_rsa.c', + 'openssl/crypto/err/err.c', + 'openssl/crypto/err/err_all.c', + 'openssl/crypto/err/err_prn.c', + 'openssl/crypto/evp/bio_b64.c', + 'openssl/crypto/evp/bio_enc.c', + 'openssl/crypto/evp/bio_md.c', + 'openssl/crypto/evp/bio_ok.c', + 'openssl/crypto/evp/c_allc.c', + 'openssl/crypto/evp/c_alld.c', + 'openssl/crypto/evp/cmeth_lib.c', + 'openssl/crypto/evp/digest.c', + 'openssl/crypto/evp/e_aes.c', + 'openssl/crypto/evp/e_aes_cbc_hmac_sha1.c', + 'openssl/crypto/evp/e_aes_cbc_hmac_sha256.c', + 'openssl/crypto/evp/e_aria.c', + 'openssl/crypto/evp/e_bf.c', + 'openssl/crypto/evp/e_camellia.c', + 'openssl/crypto/evp/e_cast.c', + 'openssl/crypto/evp/e_chacha20_poly1305.c', + 'openssl/crypto/evp/e_des.c', + 'openssl/crypto/evp/e_des3.c', + 'openssl/crypto/evp/e_idea.c', + 'openssl/crypto/evp/e_null.c', + 'openssl/crypto/evp/e_old.c', + 'openssl/crypto/evp/e_rc2.c', + 'openssl/crypto/evp/e_rc4.c', + 'openssl/crypto/evp/e_rc4_hmac_md5.c', + 'openssl/crypto/evp/e_rc5.c', + 'openssl/crypto/evp/e_seed.c', + 'openssl/crypto/evp/e_sm4.c', + 'openssl/crypto/evp/e_xcbc_d.c', + 'openssl/crypto/evp/encode.c', + 'openssl/crypto/evp/evp_cnf.c', + 'openssl/crypto/evp/evp_enc.c', + 'openssl/crypto/evp/evp_err.c', + 'openssl/crypto/evp/evp_key.c', + 'openssl/crypto/evp/evp_lib.c', + 'openssl/crypto/evp/evp_pbe.c', + 'openssl/crypto/evp/evp_pkey.c', + 'openssl/crypto/evp/m_md2.c', + 'openssl/crypto/evp/m_md4.c', + 'openssl/crypto/evp/m_md5.c', + 'openssl/crypto/evp/m_md5_sha1.c', + 'openssl/crypto/evp/m_mdc2.c', + 'openssl/crypto/evp/m_null.c', + 'openssl/crypto/evp/m_ripemd.c', + 'openssl/crypto/evp/m_sha1.c', + 'openssl/crypto/evp/m_sha3.c', + 'openssl/crypto/evp/m_sigver.c', + 'openssl/crypto/evp/m_wp.c', + 'openssl/crypto/evp/names.c', + 'openssl/crypto/evp/p5_crpt.c', + 'openssl/crypto/evp/p5_crpt2.c', + 'openssl/crypto/evp/p_dec.c', + 'openssl/crypto/evp/p_enc.c', + 'openssl/crypto/evp/p_lib.c', + 'openssl/crypto/evp/p_open.c', + 'openssl/crypto/evp/p_seal.c', + 'openssl/crypto/evp/p_sign.c', + 'openssl/crypto/evp/p_verify.c', + 'openssl/crypto/evp/pbe_scrypt.c', + 'openssl/crypto/evp/pmeth_fn.c', + 'openssl/crypto/evp/pmeth_gn.c', + 'openssl/crypto/evp/pmeth_lib.c', + 'openssl/crypto/ex_data.c', + 'openssl/crypto/getenv.c', + 'openssl/crypto/hmac/hm_ameth.c', + 'openssl/crypto/hmac/hm_pmeth.c', + 'openssl/crypto/hmac/hmac.c', + 'openssl/crypto/idea/i_cbc.c', + 'openssl/crypto/idea/i_cfb64.c', + 'openssl/crypto/idea/i_ecb.c', + 'openssl/crypto/idea/i_ofb64.c', + 'openssl/crypto/idea/i_skey.c', + 'openssl/crypto/init.c', + 'openssl/crypto/kdf/hkdf.c', + 'openssl/crypto/kdf/kdf_err.c', + 'openssl/crypto/kdf/scrypt.c', + 'openssl/crypto/kdf/tls1_prf.c', + 'openssl/crypto/lhash/lh_stats.c', + 'openssl/crypto/lhash/lhash.c', + 'openssl/crypto/md4/md4_dgst.c', + 'openssl/crypto/md4/md4_one.c', + 'openssl/crypto/md5/md5_dgst.c', + 'openssl/crypto/md5/md5_one.c', + 'openssl/crypto/mdc2/mdc2_one.c', + 'openssl/crypto/mdc2/mdc2dgst.c', + 'openssl/crypto/mem.c', + 'openssl/crypto/mem_clr.c', + 'openssl/crypto/mem_dbg.c', + 'openssl/crypto/mem_sec.c', + 'openssl/crypto/modes/cbc128.c', + 'openssl/crypto/modes/ccm128.c', + 'openssl/crypto/modes/cfb128.c', + 'openssl/crypto/modes/ctr128.c', + 'openssl/crypto/modes/cts128.c', + 'openssl/crypto/modes/gcm128.c', + 'openssl/crypto/modes/ocb128.c', + 'openssl/crypto/modes/ofb128.c', + 'openssl/crypto/modes/wrap128.c', + 'openssl/crypto/modes/xts128.c', + 'openssl/crypto/o_dir.c', + 'openssl/crypto/o_fips.c', + 'openssl/crypto/o_fopen.c', + 'openssl/crypto/o_init.c', + 'openssl/crypto/o_str.c', + 'openssl/crypto/o_time.c', + 'openssl/crypto/objects/o_names.c', + 'openssl/crypto/objects/obj_dat.c', + 'openssl/crypto/objects/obj_err.c', + 'openssl/crypto/objects/obj_lib.c', + 'openssl/crypto/objects/obj_xref.c', + 'openssl/crypto/ocsp/ocsp_asn.c', + 'openssl/crypto/ocsp/ocsp_cl.c', + 'openssl/crypto/ocsp/ocsp_err.c', + 'openssl/crypto/ocsp/ocsp_ext.c', + 'openssl/crypto/ocsp/ocsp_ht.c', + 'openssl/crypto/ocsp/ocsp_lib.c', + 'openssl/crypto/ocsp/ocsp_prn.c', + 'openssl/crypto/ocsp/ocsp_srv.c', + 'openssl/crypto/ocsp/ocsp_vfy.c', + 'openssl/crypto/ocsp/v3_ocsp.c', + 'openssl/crypto/pem/pem_all.c', + 'openssl/crypto/pem/pem_err.c', + 'openssl/crypto/pem/pem_info.c', + 'openssl/crypto/pem/pem_lib.c', + 'openssl/crypto/pem/pem_oth.c', + 'openssl/crypto/pem/pem_pk8.c', + 'openssl/crypto/pem/pem_pkey.c', + 'openssl/crypto/pem/pem_sign.c', + 'openssl/crypto/pem/pem_x509.c', + 'openssl/crypto/pem/pem_xaux.c', + 'openssl/crypto/pem/pvkfmt.c', + 'openssl/crypto/pkcs12/p12_add.c', + 'openssl/crypto/pkcs12/p12_asn.c', + 'openssl/crypto/pkcs12/p12_attr.c', + 'openssl/crypto/pkcs12/p12_crpt.c', + 'openssl/crypto/pkcs12/p12_crt.c', + 'openssl/crypto/pkcs12/p12_decr.c', + 'openssl/crypto/pkcs12/p12_init.c', + 'openssl/crypto/pkcs12/p12_key.c', + 'openssl/crypto/pkcs12/p12_kiss.c', + 'openssl/crypto/pkcs12/p12_mutl.c', + 'openssl/crypto/pkcs12/p12_npas.c', + 'openssl/crypto/pkcs12/p12_p8d.c', + 'openssl/crypto/pkcs12/p12_p8e.c', + 'openssl/crypto/pkcs12/p12_sbag.c', + 'openssl/crypto/pkcs12/p12_utl.c', + 'openssl/crypto/pkcs12/pk12err.c', + 'openssl/crypto/pkcs7/bio_pk7.c', + 'openssl/crypto/pkcs7/pk7_asn1.c', + 'openssl/crypto/pkcs7/pk7_attr.c', + 'openssl/crypto/pkcs7/pk7_doit.c', + 'openssl/crypto/pkcs7/pk7_lib.c', + 'openssl/crypto/pkcs7/pk7_mime.c', + 'openssl/crypto/pkcs7/pk7_smime.c', + 'openssl/crypto/pkcs7/pkcs7err.c', + 'openssl/crypto/poly1305/poly1305.c', + 'openssl/crypto/poly1305/poly1305_ameth.c', + 'openssl/crypto/poly1305/poly1305_pmeth.c', + 'openssl/crypto/rand/drbg_ctr.c', + 'openssl/crypto/rand/drbg_lib.c', + 'openssl/crypto/rand/rand_egd.c', + 'openssl/crypto/rand/rand_err.c', + 'openssl/crypto/rand/rand_lib.c', + 'openssl/crypto/rand/rand_unix.c', + 'openssl/crypto/rand/rand_vms.c', + 'openssl/crypto/rand/rand_win.c', + 'openssl/crypto/rand/randfile.c', + 'openssl/crypto/rc2/rc2_cbc.c', + 'openssl/crypto/rc2/rc2_ecb.c', + 'openssl/crypto/rc2/rc2_skey.c', + 'openssl/crypto/rc2/rc2cfb64.c', + 'openssl/crypto/rc2/rc2ofb64.c', + 'openssl/crypto/rc4/rc4_enc.c', + 'openssl/crypto/rc4/rc4_skey.c', + 'openssl/crypto/ripemd/rmd_dgst.c', + 'openssl/crypto/ripemd/rmd_one.c', + 'openssl/crypto/rsa/rsa_ameth.c', + 'openssl/crypto/rsa/rsa_asn1.c', + 'openssl/crypto/rsa/rsa_chk.c', + 'openssl/crypto/rsa/rsa_crpt.c', + 'openssl/crypto/rsa/rsa_depr.c', + 'openssl/crypto/rsa/rsa_err.c', + 'openssl/crypto/rsa/rsa_gen.c', + 'openssl/crypto/rsa/rsa_lib.c', + 'openssl/crypto/rsa/rsa_meth.c', + 'openssl/crypto/rsa/rsa_mp.c', + 'openssl/crypto/rsa/rsa_none.c', + 'openssl/crypto/rsa/rsa_oaep.c', + 'openssl/crypto/rsa/rsa_ossl.c', + 'openssl/crypto/rsa/rsa_pk1.c', + 'openssl/crypto/rsa/rsa_pmeth.c', + 'openssl/crypto/rsa/rsa_prn.c', + 'openssl/crypto/rsa/rsa_pss.c', + 'openssl/crypto/rsa/rsa_saos.c', + 'openssl/crypto/rsa/rsa_sign.c', + 'openssl/crypto/rsa/rsa_ssl.c', + 'openssl/crypto/rsa/rsa_x931.c', + 'openssl/crypto/rsa/rsa_x931g.c', + 'openssl/crypto/seed/seed.c', + 'openssl/crypto/seed/seed_cbc.c', + 'openssl/crypto/seed/seed_cfb.c', + 'openssl/crypto/seed/seed_ecb.c', + 'openssl/crypto/seed/seed_ofb.c', + 'openssl/crypto/sha/keccak1600.c', + 'openssl/crypto/sha/sha1_one.c', + 'openssl/crypto/sha/sha1dgst.c', + 'openssl/crypto/sha/sha256.c', + 'openssl/crypto/sha/sha512.c', + 'openssl/crypto/siphash/siphash.c', + 'openssl/crypto/siphash/siphash_ameth.c', + 'openssl/crypto/siphash/siphash_pmeth.c', + 'openssl/crypto/sm2/sm2_crypt.c', + 'openssl/crypto/sm2/sm2_err.c', + 'openssl/crypto/sm2/sm2_pmeth.c', + 'openssl/crypto/sm2/sm2_sign.c', + 'openssl/crypto/sm3/m_sm3.c', + 'openssl/crypto/sm3/sm3.c', + 'openssl/crypto/sm4/sm4.c', + 'openssl/crypto/srp/srp_lib.c', + 'openssl/crypto/srp/srp_vfy.c', + 'openssl/crypto/stack/stack.c', + 'openssl/crypto/store/loader_file.c', + 'openssl/crypto/store/store_err.c', + 'openssl/crypto/store/store_init.c', + 'openssl/crypto/store/store_lib.c', + 'openssl/crypto/store/store_register.c', + 'openssl/crypto/store/store_strings.c', + 'openssl/crypto/threads_none.c', + 'openssl/crypto/threads_pthread.c', + 'openssl/crypto/threads_win.c', + 'openssl/crypto/ts/ts_asn1.c', + 'openssl/crypto/ts/ts_conf.c', + 'openssl/crypto/ts/ts_err.c', + 'openssl/crypto/ts/ts_lib.c', + 'openssl/crypto/ts/ts_req_print.c', + 'openssl/crypto/ts/ts_req_utils.c', + 'openssl/crypto/ts/ts_rsp_print.c', + 'openssl/crypto/ts/ts_rsp_sign.c', + 'openssl/crypto/ts/ts_rsp_utils.c', + 'openssl/crypto/ts/ts_rsp_verify.c', + 'openssl/crypto/ts/ts_verify_ctx.c', + 'openssl/crypto/txt_db/txt_db.c', + 'openssl/crypto/ui/ui_err.c', + 'openssl/crypto/ui/ui_lib.c', + 'openssl/crypto/ui/ui_null.c', + 'openssl/crypto/ui/ui_openssl.c', + 'openssl/crypto/ui/ui_util.c', + 'openssl/crypto/uid.c', + 'openssl/crypto/whrlpool/wp_block.c', + 'openssl/crypto/whrlpool/wp_dgst.c', + 'openssl/crypto/x509/by_dir.c', + 'openssl/crypto/x509/by_file.c', + 'openssl/crypto/x509/t_crl.c', + 'openssl/crypto/x509/t_req.c', + 'openssl/crypto/x509/t_x509.c', + 'openssl/crypto/x509/x509_att.c', + 'openssl/crypto/x509/x509_cmp.c', + 'openssl/crypto/x509/x509_d2.c', + 'openssl/crypto/x509/x509_def.c', + 'openssl/crypto/x509/x509_err.c', + 'openssl/crypto/x509/x509_ext.c', + 'openssl/crypto/x509/x509_lu.c', + 'openssl/crypto/x509/x509_meth.c', + 'openssl/crypto/x509/x509_obj.c', + 'openssl/crypto/x509/x509_r2x.c', + 'openssl/crypto/x509/x509_req.c', + 'openssl/crypto/x509/x509_set.c', + 'openssl/crypto/x509/x509_trs.c', + 'openssl/crypto/x509/x509_txt.c', + 'openssl/crypto/x509/x509_v3.c', + 'openssl/crypto/x509/x509_vfy.c', + 'openssl/crypto/x509/x509_vpm.c', + 'openssl/crypto/x509/x509cset.c', + 'openssl/crypto/x509/x509name.c', + 'openssl/crypto/x509/x509rset.c', + 'openssl/crypto/x509/x509spki.c', + 'openssl/crypto/x509/x509type.c', + 'openssl/crypto/x509/x_all.c', + 'openssl/crypto/x509/x_attrib.c', + 'openssl/crypto/x509/x_crl.c', + 'openssl/crypto/x509/x_exten.c', + 'openssl/crypto/x509/x_name.c', + 'openssl/crypto/x509/x_pubkey.c', + 'openssl/crypto/x509/x_req.c', + 'openssl/crypto/x509/x_x509.c', + 'openssl/crypto/x509/x_x509a.c', + 'openssl/crypto/x509v3/pcy_cache.c', + 'openssl/crypto/x509v3/pcy_data.c', + 'openssl/crypto/x509v3/pcy_lib.c', + 'openssl/crypto/x509v3/pcy_map.c', + 'openssl/crypto/x509v3/pcy_node.c', + 'openssl/crypto/x509v3/pcy_tree.c', + 'openssl/crypto/x509v3/v3_addr.c', + 'openssl/crypto/x509v3/v3_admis.c', + 'openssl/crypto/x509v3/v3_akey.c', + 'openssl/crypto/x509v3/v3_akeya.c', + 'openssl/crypto/x509v3/v3_alt.c', + 'openssl/crypto/x509v3/v3_asid.c', + 'openssl/crypto/x509v3/v3_bcons.c', + 'openssl/crypto/x509v3/v3_bitst.c', + 'openssl/crypto/x509v3/v3_conf.c', + 'openssl/crypto/x509v3/v3_cpols.c', + 'openssl/crypto/x509v3/v3_crld.c', + 'openssl/crypto/x509v3/v3_enum.c', + 'openssl/crypto/x509v3/v3_extku.c', + 'openssl/crypto/x509v3/v3_genn.c', + 'openssl/crypto/x509v3/v3_ia5.c', + 'openssl/crypto/x509v3/v3_info.c', + 'openssl/crypto/x509v3/v3_int.c', + 'openssl/crypto/x509v3/v3_lib.c', + 'openssl/crypto/x509v3/v3_ncons.c', + 'openssl/crypto/x509v3/v3_pci.c', + 'openssl/crypto/x509v3/v3_pcia.c', + 'openssl/crypto/x509v3/v3_pcons.c', + 'openssl/crypto/x509v3/v3_pku.c', + 'openssl/crypto/x509v3/v3_pmaps.c', + 'openssl/crypto/x509v3/v3_prn.c', + 'openssl/crypto/x509v3/v3_purp.c', + 'openssl/crypto/x509v3/v3_skey.c', + 'openssl/crypto/x509v3/v3_sxnet.c', + 'openssl/crypto/x509v3/v3_tlsf.c', + 'openssl/crypto/x509v3/v3_utl.c', + 'openssl/crypto/x509v3/v3err.c', + 'openssl/engines/e_capi.c', + 'openssl/engines/e_padlock.c', + ], + 'openssl_sources_linux64-mips64': [ + './config/archs/linux64-mips64/asm/crypto/aes/aes-mips.S', + './config/archs/linux64-mips64/asm/crypto/bn/bn-mips.S', + './config/archs/linux64-mips64/asm/crypto/bn/mips-mont.S', + './config/archs/linux64-mips64/asm/crypto/poly1305/poly1305-mips.S', + './config/archs/linux64-mips64/asm/crypto/sha/sha1-mips.S', + './config/archs/linux64-mips64/asm/crypto/sha/sha256-mips.S', + './config/archs/linux64-mips64/asm/crypto/sha/sha512-mips.S', + ], + 'openssl_defines_linux64-mips64': [ + 'NDEBUG', + 'OPENSSL_USE_NODELETE', + 'OPENSSL_PIC', + 'OPENSSL_BN_ASM_MONT', + 'SHA1_ASM', + 'SHA256_ASM', + 'SHA512_ASM', + 'AES_ASM', + 'POLY1305_ASM', + ], + 'openssl_cflags_linux64-mips64': [ + '-mips3', + '-Wa,--noexecstack', + '-Wall -O3', + '-pthread -mabi=64', + '-Wall -O3', + ], + 'openssl_ex_libs_linux64-mips64': [ + '-ldl -pthread', + ], + }, + 'include_dirs': [ + '.', + './include', + './crypto', + './crypto/include/internal', + ], + 'defines': ['<@(openssl_defines_linux64-mips64)'], + 'cflags' : ['<@(openssl_cflags_linux64-mips64)'], + 'libraries': ['<@(openssl_ex_libs_linux64-mips64)'], + 'sources': ['<@(openssl_sources)', '<@(openssl_sources_linux64-mips64)'], +} diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/configdata.pm b/deps/openssl/config/archs/linux64-mips64/no-asm/configdata.pm new file mode 100644 index 00000000000000..e9c2140c76010c --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/configdata.pm @@ -0,0 +1,15943 @@ +#! /usr/bin/env perl + +package configdata; + +use strict; +use warnings; + +use Exporter; +#use vars qw(@ISA @EXPORT); +our @ISA = qw(Exporter); +our @EXPORT = qw(%config %target %disabled %withargs %unified_info @disablables); + +our %config = ( + AR => "ar", + ARFLAGS => [ "r" ], + CC => "gcc", + CFLAGS => [ "-Wall -O3" ], + CPPDEFINES => [ ], + CPPFLAGS => [ ], + CPPINCLUDES => [ ], + CXX => "g++", + CXXFLAGS => [ "-Wall -O3" ], + HASHBANGPERL => "/usr/bin/env perl", + LDFLAGS => [ ], + LDLIBS => [ ], + PERL => "/usr/bin/perl", + RANLIB => "ranlib", + RC => "windres", + b32 => "0", + b64 => "0", + b64l => "1", + bn_ll => "0", + build_file => "Makefile", + build_file_templates => [ "Configurations/common0.tmpl", "Configurations/unix-Makefile.tmpl", "Configurations/common.tmpl" ], + build_infos => [ "./build.info", "crypto/build.info", "ssl/build.info", "engines/build.info", "apps/build.info", "test/build.info", "util/build.info", "tools/build.info", "fuzz/build.info", "crypto/objects/build.info", "crypto/md4/build.info", "crypto/md5/build.info", "crypto/sha/build.info", "crypto/mdc2/build.info", "crypto/hmac/build.info", "crypto/ripemd/build.info", "crypto/whrlpool/build.info", "crypto/poly1305/build.info", "crypto/blake2/build.info", "crypto/siphash/build.info", "crypto/sm3/build.info", "crypto/des/build.info", "crypto/aes/build.info", "crypto/rc2/build.info", "crypto/rc4/build.info", "crypto/idea/build.info", "crypto/aria/build.info", "crypto/bf/build.info", "crypto/cast/build.info", "crypto/camellia/build.info", "crypto/seed/build.info", "crypto/sm4/build.info", "crypto/chacha/build.info", "crypto/modes/build.info", "crypto/bn/build.info", "crypto/ec/build.info", "crypto/rsa/build.info", "crypto/dsa/build.info", "crypto/dh/build.info", "crypto/sm2/build.info", "crypto/dso/build.info", "crypto/engine/build.info", "crypto/buffer/build.info", "crypto/bio/build.info", "crypto/stack/build.info", "crypto/lhash/build.info", "crypto/rand/build.info", "crypto/err/build.info", "crypto/evp/build.info", "crypto/asn1/build.info", "crypto/pem/build.info", "crypto/x509/build.info", "crypto/x509v3/build.info", "crypto/conf/build.info", "crypto/txt_db/build.info", "crypto/pkcs7/build.info", "crypto/pkcs12/build.info", "crypto/ocsp/build.info", "crypto/ui/build.info", "crypto/cms/build.info", "crypto/ts/build.info", "crypto/srp/build.info", "crypto/cmac/build.info", "crypto/ct/build.info", "crypto/async/build.info", "crypto/kdf/build.info", "crypto/store/build.info", "test/ossl_shim/build.info" ], + build_type => "release", + builddir => ".", + cflags => [ ], + conf_files => [ "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/shared-info.pl" ], + cppflags => [ ], + cxxflags => [ ], + defines => [ "NDEBUG" ], + dirs => [ "crypto", "ssl", "engines", "apps", "test", "util", "tools", "fuzz" ], + dynamic_engines => "0", + engdirs => [ ], + ex_libs => [ ], + export_var_as_fn => "0", + includes => [ ], + lflags => [ ], + lib_defines => [ "OPENSSL_PIC" ], + libdir => "", + major => "1", + makedepprog => "\$(CROSS_COMPILE)gcc", + minor => "1.1", + openssl_algorithm_defines => [ "OPENSSL_NO_COMP", "OPENSSL_NO_MD2", "OPENSSL_NO_RC5" ], + openssl_api_defines => [ ], + openssl_other_defines => [ "OPENSSL_RAND_SEED_OS", "OPENSSL_NO_AFALGENG", "OPENSSL_NO_ASAN", "OPENSSL_NO_ASM", "OPENSSL_NO_CRYPTO_MDEBUG", "OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE", "OPENSSL_NO_DEVCRYPTOENG", "OPENSSL_NO_EC_NISTP_64_GCC_128", "OPENSSL_NO_EGD", "OPENSSL_NO_EXTERNAL_TESTS", "OPENSSL_NO_FUZZ_AFL", "OPENSSL_NO_FUZZ_LIBFUZZER", "OPENSSL_NO_HEARTBEATS", "OPENSSL_NO_MSAN", "OPENSSL_NO_SCTP", "OPENSSL_NO_SSL3", "OPENSSL_NO_SSL3_METHOD", "OPENSSL_NO_UBSAN", "OPENSSL_NO_UNIT_TEST", "OPENSSL_NO_WEAK_SSL_CIPHERS", "OPENSSL_NO_DYNAMIC_ENGINE", "OPENSSL_NO_AFALGENG" ], + openssl_sys_defines => [ ], + openssl_thread_defines => [ "OPENSSL_THREADS" ], + openssldir => "", + options => "enable-ssl-trace no-afalgeng no-asan no-asm no-comp no-crypto-mdebug no-crypto-mdebug-backtrace no-devcryptoeng no-dynamic-engine no-ec_nistp_64_gcc_128 no-egd no-external-tests no-fuzz-afl no-fuzz-libfuzzer no-heartbeats no-md2 no-msan no-rc5 no-sctp no-shared no-ssl3 no-ssl3-method no-ubsan no-unit-test no-weak-ssl-ciphers no-zlib no-zlib-dynamic", + perl_archname => "mips64el-linux-thread-multi", + perl_cmd => "/usr/bin/perl", + perl_version => "5.18.4", + perlargv => [ "no-comp", "no-shared", "no-afalgeng", "enable-ssl-trace", "no-asm", "linux64-mips64" ], + perlenv => { + "AR" => undef, + "ARFLAGS" => undef, + "AS" => undef, + "ASFLAGS" => undef, + "BUILDFILE" => undef, + "CC" => undef, + "CFLAGS" => undef, + "CPP" => undef, + "CPPDEFINES" => undef, + "CPPFLAGS" => undef, + "CPPINCLUDES" => undef, + "CROSS_COMPILE" => undef, + "CXX" => undef, + "CXXFLAGS" => undef, + "HASHBANGPERL" => undef, + "LD" => undef, + "LDFLAGS" => undef, + "LDLIBS" => undef, + "MT" => undef, + "MTFLAGS" => undef, + "OPENSSL_LOCAL_CONFIG_DIR" => undef, + "PERL" => undef, + "RANLIB" => undef, + "RC" => undef, + "RCFLAGS" => undef, + "RM" => undef, + "WINDRES" => undef, + "__CNF_CFLAGS" => undef, + "__CNF_CPPDEFINES" => undef, + "__CNF_CPPFLAGS" => undef, + "__CNF_CPPINCLUDES" => undef, + "__CNF_CXXFLAGS" => undef, + "__CNF_LDFLAGS" => undef, + "__CNF_LDLIBS" => undef, + }, + prefix => "", + processor => "", + rc4_int => "unsigned char", + sdirs => [ "objects", "md4", "md5", "sha", "mdc2", "hmac", "ripemd", "whrlpool", "poly1305", "blake2", "siphash", "sm3", "des", "aes", "rc2", "rc4", "idea", "aria", "bf", "cast", "camellia", "seed", "sm4", "chacha", "modes", "bn", "ec", "rsa", "dsa", "dh", "sm2", "dso", "engine", "buffer", "bio", "stack", "lhash", "rand", "err", "evp", "asn1", "pem", "x509", "x509v3", "conf", "txt_db", "pkcs7", "pkcs12", "ocsp", "ui", "cms", "ts", "srp", "cmac", "ct", "async", "kdf", "store" ], + shlib_major => "1", + shlib_minor => "1", + shlib_version_history => "", + shlib_version_number => "1.1", + sourcedir => ".", + target => "linux64-mips64", + tdirs => [ "ossl_shim" ], + version => "1.1.1b", + version_num => "0x1010102fL", +); + +our %target = ( + AR => "ar", + ARFLAGS => "r", + CC => "gcc", + CFLAGS => "-Wall -O3", + CXX => "g++", + CXXFLAGS => "-Wall -O3", + HASHBANGPERL => "/usr/bin/env perl", + RANLIB => "ranlib", + RC => "windres", + _conf_fname_int => [ "Configurations/00-base-templates.conf", "Configurations/00-base-templates.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/10-main.conf", "Configurations/shared-info.pl" ], + aes_asm_src => "aes_core.c aes_cbc.c", + aes_obj => "aes_core.o aes_cbc.o", + apps_aux_src => "", + apps_init_src => "", + apps_obj => "", + bf_asm_src => "bf_enc.c", + bf_obj => "bf_enc.o", + bn_asm_src => "bn_asm.c", + bn_obj => "bn_asm.o", + bn_ops => "SIXTY_FOUR_BIT_LONG RC4_CHAR", + build_file => "Makefile", + build_scheme => [ "unified", "unix" ], + cast_asm_src => "c_enc.c", + cast_obj => "c_enc.o", + cflags => "-pthread -mabi=64", + chacha_asm_src => "chacha_enc.c", + chacha_obj => "chacha_enc.o", + cmll_asm_src => "camellia.c cmll_misc.c cmll_cbc.c", + cmll_obj => "camellia.o cmll_misc.o cmll_cbc.o", + cppflags => "", + cpuid_asm_src => "mem_clr.c", + cpuid_obj => "mem_clr.o", + cxxflags => "-std=c++11 -pthread -mabi=64", + defines => [ ], + des_asm_src => "des_enc.c fcrypt_b.c", + des_obj => "des_enc.o fcrypt_b.o", + disable => [ ], + dso_extension => ".so", + dso_scheme => "dlfcn", + ec_asm_src => "", + ec_obj => "", + enable => [ "afalgeng" ], + ex_libs => "-ldl -pthread", + exe_extension => "", + includes => [ ], + keccak1600_asm_src => "keccak1600.c", + keccak1600_obj => "keccak1600.o", + lflags => "", + lib_cflags => "", + lib_cppflags => "-DOPENSSL_USE_NODELETE", + lib_defines => [ ], + md5_asm_src => "", + md5_obj => "", + modes_asm_src => "", + modes_obj => "", + module_cflags => "-fPIC", + module_cxxflags => "", + module_ldflags => "-Wl,-znodelete -shared -Wl,-Bsymbolic", + multilib => "64", + padlock_asm_src => "", + padlock_obj => "", + perlasm_scheme => "64", + poly1305_asm_src => "", + poly1305_obj => "", + rc4_asm_src => "rc4_enc.c rc4_skey.c", + rc4_obj => "rc4_enc.o rc4_skey.o", + rc5_asm_src => "rc5_enc.c", + rc5_obj => "rc5_enc.o", + rmd160_asm_src => "", + rmd160_obj => "", + shared_cflag => "-fPIC", + shared_defflag => "-Wl,--version-script=", + shared_defines => [ ], + shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)", + shared_extension_simple => ".so", + shared_ldflag => "-Wl,-znodelete -shared -Wl,-Bsymbolic", + shared_rcflag => "", + shared_sonameflag => "-Wl,-soname=", + shared_target => "linux-shared", + template => "1", + thread_defines => [ ], + thread_scheme => "pthreads", + unistd => "", + uplink_aux_src => "", + uplink_obj => "", + wp_asm_src => "wp_block.c", + wp_obj => "wp_block.o", +); + +our %available_protocols = ( + tls => [ "ssl3", "tls1", "tls1_1", "tls1_2", "tls1_3" ], + dtls => [ "dtls1", "dtls1_2" ], +); + +our @disablables = ( + "afalgeng", + "aria", + "asan", + "asm", + "async", + "autoalginit", + "autoerrinit", + "autoload-config", + "bf", + "blake2", + "camellia", + "capieng", + "cast", + "chacha", + "cmac", + "cms", + "comp", + "crypto-mdebug", + "crypto-mdebug-backtrace", + "ct", + "deprecated", + "des", + "devcryptoeng", + "dgram", + "dh", + "dsa", + "dso", + "dtls", + "dynamic-engine", + "ec", + "ec2m", + "ecdh", + "ecdsa", + "ec_nistp_64_gcc_128", + "egd", + "engine", + "err", + "external-tests", + "filenames", + "fuzz-libfuzzer", + "fuzz-afl", + "gost", + "heartbeats", + "hw(-.+)?", + "idea", + "makedepend", + "md2", + "md4", + "mdc2", + "msan", + "multiblock", + "nextprotoneg", + "pinshared", + "ocb", + "ocsp", + "pic", + "poly1305", + "posix-io", + "psk", + "rc2", + "rc4", + "rc5", + "rdrand", + "rfc3779", + "rmd160", + "scrypt", + "sctp", + "seed", + "shared", + "siphash", + "sm2", + "sm3", + "sm4", + "sock", + "srp", + "srtp", + "sse2", + "ssl", + "ssl-trace", + "static-engine", + "stdio", + "tests", + "threads", + "tls", + "ts", + "ubsan", + "ui-console", + "unit-test", + "whirlpool", + "weak-ssl-ciphers", + "zlib", + "zlib-dynamic", + "ssl3", + "ssl3-method", + "tls1", + "tls1-method", + "tls1_1", + "tls1_1-method", + "tls1_2", + "tls1_2-method", + "tls1_3", + "dtls1", + "dtls1-method", + "dtls1_2", + "dtls1_2-method", +); + +our %disabled = ( + "afalgeng" => "option", + "asan" => "default", + "asm" => "option", + "comp" => "option", + "crypto-mdebug" => "default", + "crypto-mdebug-backtrace" => "default", + "devcryptoeng" => "default", + "dynamic-engine" => "forced", + "ec_nistp_64_gcc_128" => "default", + "egd" => "default", + "external-tests" => "default", + "fuzz-afl" => "default", + "fuzz-libfuzzer" => "default", + "heartbeats" => "default", + "md2" => "default", + "msan" => "default", + "rc5" => "default", + "sctp" => "default", + "shared" => "option", + "ssl3" => "default", + "ssl3-method" => "default", + "ubsan" => "default", + "unit-test" => "default", + "weak-ssl-ciphers" => "default", + "zlib" => "default", + "zlib-dynamic" => "default", +); + +our %withargs = ( +); + +our %unified_info = ( + "depends" => + { + "" => + [ + "crypto/include/internal/bn_conf.h", + "crypto/include/internal/dso_conf.h", + "include/openssl/opensslconf.h", + ], + "apps/asn1pars.o" => + [ + "apps/progs.h", + ], + "apps/ca.o" => + [ + "apps/progs.h", + ], + "apps/ciphers.o" => + [ + "apps/progs.h", + ], + "apps/cms.o" => + [ + "apps/progs.h", + ], + "apps/crl.o" => + [ + "apps/progs.h", + ], + "apps/crl2p7.o" => + [ + "apps/progs.h", + ], + "apps/dgst.o" => + [ + "apps/progs.h", + ], + "apps/dhparam.o" => + [ + "apps/progs.h", + ], + "apps/dsa.o" => + [ + "apps/progs.h", + ], + "apps/dsaparam.o" => + [ + "apps/progs.h", + ], + "apps/ec.o" => + [ + "apps/progs.h", + ], + "apps/ecparam.o" => + [ + "apps/progs.h", + ], + "apps/enc.o" => + [ + "apps/progs.h", + ], + "apps/engine.o" => + [ + "apps/progs.h", + ], + "apps/errstr.o" => + [ + "apps/progs.h", + ], + "apps/gendsa.o" => + [ + "apps/progs.h", + ], + "apps/genpkey.o" => + [ + "apps/progs.h", + ], + "apps/genrsa.o" => + [ + "apps/progs.h", + ], + "apps/nseq.o" => + [ + "apps/progs.h", + ], + "apps/ocsp.o" => + [ + "apps/progs.h", + ], + "apps/openssl" => + [ + "apps/libapps.a", + "libssl", + ], + "apps/openssl.o" => + [ + "apps/progs.h", + ], + "apps/passwd.o" => + [ + "apps/progs.h", + ], + "apps/pkcs12.o" => + [ + "apps/progs.h", + ], + "apps/pkcs7.o" => + [ + "apps/progs.h", + ], + "apps/pkcs8.o" => + [ + "apps/progs.h", + ], + "apps/pkey.o" => + [ + "apps/progs.h", + ], + "apps/pkeyparam.o" => + [ + "apps/progs.h", + ], + "apps/pkeyutl.o" => + [ + "apps/progs.h", + ], + "apps/prime.o" => + [ + "apps/progs.h", + ], + "apps/progs.h" => + [ + "configdata.pm", + ], + "apps/rand.o" => + [ + "apps/progs.h", + ], + "apps/rehash.o" => + [ + "apps/progs.h", + ], + "apps/req.o" => + [ + "apps/progs.h", + ], + "apps/rsa.o" => + [ + "apps/progs.h", + ], + "apps/rsautl.o" => + [ + "apps/progs.h", + ], + "apps/s_client.o" => + [ + "apps/progs.h", + ], + "apps/s_server.o" => + [ + "apps/progs.h", + ], + "apps/s_time.o" => + [ + "apps/progs.h", + ], + "apps/sess_id.o" => + [ + "apps/progs.h", + ], + "apps/smime.o" => + [ + "apps/progs.h", + ], + "apps/speed.o" => + [ + "apps/progs.h", + ], + "apps/spkac.o" => + [ + "apps/progs.h", + ], + "apps/srp.o" => + [ + "apps/progs.h", + ], + "apps/storeutl.o" => + [ + "apps/progs.h", + ], + "apps/ts.o" => + [ + "apps/progs.h", + ], + "apps/verify.o" => + [ + "apps/progs.h", + ], + "apps/version.o" => + [ + "apps/progs.h", + ], + "apps/x509.o" => + [ + "apps/progs.h", + ], + "crypto/aes/aes-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/aes/aesni-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/aes/aest4-sparcv9.S" => + [ + "crypto/perlasm/sparcv9_modes.pl", + ], + "crypto/aes/vpaes-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/bf/bf-586.s" => + [ + "crypto/perlasm/cbc.pl", + "crypto/perlasm/x86asm.pl", + ], + "crypto/bn/bn-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/bn/co-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/bn/x86-gf2m.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/bn/x86-mont.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/buildinf.h" => + [ + "configdata.pm", + ], + "crypto/camellia/cmll-x86.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/camellia/cmllt4-sparcv9.S" => + [ + "crypto/perlasm/sparcv9_modes.pl", + ], + "crypto/cast/cast-586.s" => + [ + "crypto/perlasm/cbc.pl", + "crypto/perlasm/x86asm.pl", + ], + "crypto/cversion.o" => + [ + "crypto/buildinf.h", + ], + "crypto/des/crypt586.s" => + [ + "crypto/perlasm/cbc.pl", + "crypto/perlasm/x86asm.pl", + ], + "crypto/des/des-586.s" => + [ + "crypto/perlasm/cbc.pl", + "crypto/perlasm/x86asm.pl", + ], + "crypto/include/internal/bn_conf.h" => + [ + "configdata.pm", + ], + "crypto/include/internal/dso_conf.h" => + [ + "configdata.pm", + ], + "crypto/rc4/rc4-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/ripemd/rmd-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/sha/sha1-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/sha/sha256-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/sha/sha512-586.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/whrlpool/wp-mmx.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "crypto/x86cpuid.s" => + [ + "crypto/perlasm/x86asm.pl", + ], + "fuzz/asn1-test" => + [ + "libcrypto", + "libssl", + ], + "fuzz/asn1parse-test" => + [ + "libcrypto", + ], + "fuzz/bignum-test" => + [ + "libcrypto", + ], + "fuzz/bndiv-test" => + [ + "libcrypto", + ], + "fuzz/client-test" => + [ + "libcrypto", + "libssl", + ], + "fuzz/cms-test" => + [ + "libcrypto", + ], + "fuzz/conf-test" => + [ + "libcrypto", + ], + "fuzz/crl-test" => + [ + "libcrypto", + ], + "fuzz/ct-test" => + [ + "libcrypto", + ], + "fuzz/server-test" => + [ + "libcrypto", + "libssl", + ], + "fuzz/x509-test" => + [ + "libcrypto", + ], + "include/openssl/opensslconf.h" => + [ + "configdata.pm", + ], + "libcrypto.map" => + [ + "util/libcrypto.num", + ], + "libssl" => + [ + "libcrypto", + ], + "libssl.map" => + [ + "util/libssl.num", + ], + "test/aborttest" => + [ + "libcrypto", + ], + "test/afalgtest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/asn1_decode_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/asn1_encode_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/asn1_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/asn1_string_table_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/asn1_time_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/asynciotest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/asynctest" => + [ + "libcrypto", + ], + "test/bad_dtls_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/bftest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/bio_callback_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/bio_enc_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/bio_memleak_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/bioprinttest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/bntest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/buildtest_aes" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_asn1" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_asn1t" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_async" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_bio" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_blowfish" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_bn" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_buffer" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_camellia" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_cast" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_cmac" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_cms" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_conf" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_conf_api" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_crypto" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ct" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_des" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_dh" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_dsa" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_dtls1" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_e_os2" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ebcdic" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ec" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ecdh" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ecdsa" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_engine" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_evp" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_hmac" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_idea" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_kdf" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_lhash" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_md4" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_md5" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_mdc2" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_modes" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_obj_mac" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_objects" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ocsp" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_opensslv" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ossl_typ" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_pem" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_pem2" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_pkcs12" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_pkcs7" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_rand" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_rand_drbg" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_rc2" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_rc4" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ripemd" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_rsa" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_safestack" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_seed" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_sha" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_srp" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_srtp" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ssl" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ssl2" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_stack" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_store" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_symhacks" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_tls1" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ts" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_txt_db" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_ui" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_whrlpool" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_x509" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_x509_vfy" => + [ + "libcrypto", + "libssl", + ], + "test/buildtest_x509v3" => + [ + "libcrypto", + "libssl", + ], + "test/casttest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/chacha_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/cipher_overhead_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/cipherbytes_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/cipherlist_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/ciphername_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/clienthellotest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/cmsapitest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/conf_include_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/constant_time_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/crltest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/ct_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/ctype_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/curve448_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/d2i_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/danetest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/destest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/dhtest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/drbg_cavs_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/drbgtest" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/dsa_no_digest_size_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/dsatest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/dtls_mtu_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/dtlstest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/dtlsv1listentest" => + [ + "libssl", + "test/libtestutil.a", + ], + "test/ec_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/ecdsatest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/ecstresstest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/ectest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/enginetest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/errtest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/evp_extra_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/evp_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/exdatatest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/exptest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/fatalerrtest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/gmdifftest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/gosttest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/hmactest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/ideatest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/igetest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/lhash_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/libtestutil.a" => + [ + "libcrypto", + ], + "test/md2test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/mdc2_internal_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/mdc2test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/memleaktest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/modes_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/ocspapitest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/packettest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/pbelutest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/pemtest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/pkey_meth_kdf_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/pkey_meth_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/poly1305_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/rc2test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/rc4test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/rc5test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/rdrand_sanitytest" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/recordlentest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/rsa_mp_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/rsa_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/sanitytest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/secmemtest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/servername_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/siphash_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/sm2_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/sm4_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/srptest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/ssl_cert_table_internal_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/ssl_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/ssl_test_ctx_test" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/sslapitest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/sslbuffertest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/sslcorrupttest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/ssltest_old" => + [ + "libcrypto", + "libssl", + ], + "test/stack_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/sysdefaulttest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/test_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/threadstest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/time_offset_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/tls13ccstest" => + [ + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/tls13encryptiontest" => + [ + "libcrypto", + "libssl.a", + "test/libtestutil.a", + ], + "test/uitest" => + [ + "apps/libapps.a", + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "test/v3ext" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/v3nametest" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/verify_extra_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/versions" => + [ + "libcrypto", + ], + "test/wpackettest" => + [ + "libcrypto", + "libssl.a", + "test/libtestutil.a", + ], + "test/x509_check_cert_pkey_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/x509_dup_cert_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/x509_internal_test" => + [ + "libcrypto.a", + "test/libtestutil.a", + ], + "test/x509_time_test" => + [ + "libcrypto", + "test/libtestutil.a", + ], + "test/x509aux" => + [ + "libcrypto", + "test/libtestutil.a", + ], + }, + "dirinfo" => + { + "apps" => + { + "products" => + { + "bin" => + [ + "apps/openssl", + ], + "lib" => + [ + "apps/libapps.a", + ], + "script" => + [ + "apps/CA.pl", + "apps/tsget.pl", + ], + }, + }, + "crypto" => + { + "deps" => + [ + "crypto/cpt_err.o", + "crypto/cryptlib.o", + "crypto/ctype.o", + "crypto/cversion.o", + "crypto/ebcdic.o", + "crypto/ex_data.o", + "crypto/getenv.o", + "crypto/init.o", + "crypto/mem.o", + "crypto/mem_clr.o", + "crypto/mem_dbg.o", + "crypto/mem_sec.o", + "crypto/o_dir.o", + "crypto/o_fips.o", + "crypto/o_fopen.o", + "crypto/o_init.o", + "crypto/o_str.o", + "crypto/o_time.o", + "crypto/threads_none.o", + "crypto/threads_pthread.o", + "crypto/threads_win.o", + "crypto/uid.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/aes" => + { + "deps" => + [ + "crypto/aes/aes_cbc.o", + "crypto/aes/aes_cfb.o", + "crypto/aes/aes_core.o", + "crypto/aes/aes_ecb.o", + "crypto/aes/aes_ige.o", + "crypto/aes/aes_misc.o", + "crypto/aes/aes_ofb.o", + "crypto/aes/aes_wrap.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/aria" => + { + "deps" => + [ + "crypto/aria/aria.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/asn1" => + { + "deps" => + [ + "crypto/asn1/a_bitstr.o", + "crypto/asn1/a_d2i_fp.o", + "crypto/asn1/a_digest.o", + "crypto/asn1/a_dup.o", + "crypto/asn1/a_gentm.o", + "crypto/asn1/a_i2d_fp.o", + "crypto/asn1/a_int.o", + "crypto/asn1/a_mbstr.o", + "crypto/asn1/a_object.o", + "crypto/asn1/a_octet.o", + "crypto/asn1/a_print.o", + "crypto/asn1/a_sign.o", + "crypto/asn1/a_strex.o", + "crypto/asn1/a_strnid.o", + "crypto/asn1/a_time.o", + "crypto/asn1/a_type.o", + "crypto/asn1/a_utctm.o", + "crypto/asn1/a_utf8.o", + "crypto/asn1/a_verify.o", + "crypto/asn1/ameth_lib.o", + "crypto/asn1/asn1_err.o", + "crypto/asn1/asn1_gen.o", + "crypto/asn1/asn1_item_list.o", + "crypto/asn1/asn1_lib.o", + "crypto/asn1/asn1_par.o", + "crypto/asn1/asn_mime.o", + "crypto/asn1/asn_moid.o", + "crypto/asn1/asn_mstbl.o", + "crypto/asn1/asn_pack.o", + "crypto/asn1/bio_asn1.o", + "crypto/asn1/bio_ndef.o", + "crypto/asn1/d2i_pr.o", + "crypto/asn1/d2i_pu.o", + "crypto/asn1/evp_asn1.o", + "crypto/asn1/f_int.o", + "crypto/asn1/f_string.o", + "crypto/asn1/i2d_pr.o", + "crypto/asn1/i2d_pu.o", + "crypto/asn1/n_pkey.o", + "crypto/asn1/nsseq.o", + "crypto/asn1/p5_pbe.o", + "crypto/asn1/p5_pbev2.o", + "crypto/asn1/p5_scrypt.o", + "crypto/asn1/p8_pkey.o", + "crypto/asn1/t_bitst.o", + "crypto/asn1/t_pkey.o", + "crypto/asn1/t_spki.o", + "crypto/asn1/tasn_dec.o", + "crypto/asn1/tasn_enc.o", + "crypto/asn1/tasn_fre.o", + "crypto/asn1/tasn_new.o", + "crypto/asn1/tasn_prn.o", + "crypto/asn1/tasn_scn.o", + "crypto/asn1/tasn_typ.o", + "crypto/asn1/tasn_utl.o", + "crypto/asn1/x_algor.o", + "crypto/asn1/x_bignum.o", + "crypto/asn1/x_info.o", + "crypto/asn1/x_int64.o", + "crypto/asn1/x_long.o", + "crypto/asn1/x_pkey.o", + "crypto/asn1/x_sig.o", + "crypto/asn1/x_spki.o", + "crypto/asn1/x_val.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/async" => + { + "deps" => + [ + "crypto/async/async.o", + "crypto/async/async_err.o", + "crypto/async/async_wait.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/async/arch" => + { + "deps" => + [ + "crypto/async/arch/async_null.o", + "crypto/async/arch/async_posix.o", + "crypto/async/arch/async_win.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/bf" => + { + "deps" => + [ + "crypto/bf/bf_cfb64.o", + "crypto/bf/bf_ecb.o", + "crypto/bf/bf_enc.o", + "crypto/bf/bf_ofb64.o", + "crypto/bf/bf_skey.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/bio" => + { + "deps" => + [ + "crypto/bio/b_addr.o", + "crypto/bio/b_dump.o", + "crypto/bio/b_print.o", + "crypto/bio/b_sock.o", + "crypto/bio/b_sock2.o", + "crypto/bio/bf_buff.o", + "crypto/bio/bf_lbuf.o", + "crypto/bio/bf_nbio.o", + "crypto/bio/bf_null.o", + "crypto/bio/bio_cb.o", + "crypto/bio/bio_err.o", + "crypto/bio/bio_lib.o", + "crypto/bio/bio_meth.o", + "crypto/bio/bss_acpt.o", + "crypto/bio/bss_bio.o", + "crypto/bio/bss_conn.o", + "crypto/bio/bss_dgram.o", + "crypto/bio/bss_fd.o", + "crypto/bio/bss_file.o", + "crypto/bio/bss_log.o", + "crypto/bio/bss_mem.o", + "crypto/bio/bss_null.o", + "crypto/bio/bss_sock.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/blake2" => + { + "deps" => + [ + "crypto/blake2/blake2b.o", + "crypto/blake2/blake2s.o", + "crypto/blake2/m_blake2b.o", + "crypto/blake2/m_blake2s.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/bn" => + { + "deps" => + [ + "crypto/bn/bn_add.o", + "crypto/bn/bn_asm.o", + "crypto/bn/bn_blind.o", + "crypto/bn/bn_const.o", + "crypto/bn/bn_ctx.o", + "crypto/bn/bn_depr.o", + "crypto/bn/bn_dh.o", + "crypto/bn/bn_div.o", + "crypto/bn/bn_err.o", + "crypto/bn/bn_exp.o", + "crypto/bn/bn_exp2.o", + "crypto/bn/bn_gcd.o", + "crypto/bn/bn_gf2m.o", + "crypto/bn/bn_intern.o", + "crypto/bn/bn_kron.o", + "crypto/bn/bn_lib.o", + "crypto/bn/bn_mod.o", + "crypto/bn/bn_mont.o", + "crypto/bn/bn_mpi.o", + "crypto/bn/bn_mul.o", + "crypto/bn/bn_nist.o", + "crypto/bn/bn_prime.o", + "crypto/bn/bn_print.o", + "crypto/bn/bn_rand.o", + "crypto/bn/bn_recp.o", + "crypto/bn/bn_shift.o", + "crypto/bn/bn_sqr.o", + "crypto/bn/bn_sqrt.o", + "crypto/bn/bn_srp.o", + "crypto/bn/bn_word.o", + "crypto/bn/bn_x931p.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/buffer" => + { + "deps" => + [ + "crypto/buffer/buf_err.o", + "crypto/buffer/buffer.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/camellia" => + { + "deps" => + [ + "crypto/camellia/camellia.o", + "crypto/camellia/cmll_cbc.o", + "crypto/camellia/cmll_cfb.o", + "crypto/camellia/cmll_ctr.o", + "crypto/camellia/cmll_ecb.o", + "crypto/camellia/cmll_misc.o", + "crypto/camellia/cmll_ofb.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/cast" => + { + "deps" => + [ + "crypto/cast/c_cfb64.o", + "crypto/cast/c_ecb.o", + "crypto/cast/c_enc.o", + "crypto/cast/c_ofb64.o", + "crypto/cast/c_skey.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/chacha" => + { + "deps" => + [ + "crypto/chacha/chacha_enc.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/cmac" => + { + "deps" => + [ + "crypto/cmac/cm_ameth.o", + "crypto/cmac/cm_pmeth.o", + "crypto/cmac/cmac.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/cms" => + { + "deps" => + [ + "crypto/cms/cms_asn1.o", + "crypto/cms/cms_att.o", + "crypto/cms/cms_cd.o", + "crypto/cms/cms_dd.o", + "crypto/cms/cms_enc.o", + "crypto/cms/cms_env.o", + "crypto/cms/cms_err.o", + "crypto/cms/cms_ess.o", + "crypto/cms/cms_io.o", + "crypto/cms/cms_kari.o", + "crypto/cms/cms_lib.o", + "crypto/cms/cms_pwri.o", + "crypto/cms/cms_sd.o", + "crypto/cms/cms_smime.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/conf" => + { + "deps" => + [ + "crypto/conf/conf_api.o", + "crypto/conf/conf_def.o", + "crypto/conf/conf_err.o", + "crypto/conf/conf_lib.o", + "crypto/conf/conf_mall.o", + "crypto/conf/conf_mod.o", + "crypto/conf/conf_sap.o", + "crypto/conf/conf_ssl.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/ct" => + { + "deps" => + [ + "crypto/ct/ct_b64.o", + "crypto/ct/ct_err.o", + "crypto/ct/ct_log.o", + "crypto/ct/ct_oct.o", + "crypto/ct/ct_policy.o", + "crypto/ct/ct_prn.o", + "crypto/ct/ct_sct.o", + "crypto/ct/ct_sct_ctx.o", + "crypto/ct/ct_vfy.o", + "crypto/ct/ct_x509v3.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/des" => + { + "deps" => + [ + "crypto/des/cbc_cksm.o", + "crypto/des/cbc_enc.o", + "crypto/des/cfb64ede.o", + "crypto/des/cfb64enc.o", + "crypto/des/cfb_enc.o", + "crypto/des/des_enc.o", + "crypto/des/ecb3_enc.o", + "crypto/des/ecb_enc.o", + "crypto/des/fcrypt.o", + "crypto/des/fcrypt_b.o", + "crypto/des/ofb64ede.o", + "crypto/des/ofb64enc.o", + "crypto/des/ofb_enc.o", + "crypto/des/pcbc_enc.o", + "crypto/des/qud_cksm.o", + "crypto/des/rand_key.o", + "crypto/des/set_key.o", + "crypto/des/str2key.o", + "crypto/des/xcbc_enc.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/dh" => + { + "deps" => + [ + "crypto/dh/dh_ameth.o", + "crypto/dh/dh_asn1.o", + "crypto/dh/dh_check.o", + "crypto/dh/dh_depr.o", + "crypto/dh/dh_err.o", + "crypto/dh/dh_gen.o", + "crypto/dh/dh_kdf.o", + "crypto/dh/dh_key.o", + "crypto/dh/dh_lib.o", + "crypto/dh/dh_meth.o", + "crypto/dh/dh_pmeth.o", + "crypto/dh/dh_prn.o", + "crypto/dh/dh_rfc5114.o", + "crypto/dh/dh_rfc7919.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/dsa" => + { + "deps" => + [ + "crypto/dsa/dsa_ameth.o", + "crypto/dsa/dsa_asn1.o", + "crypto/dsa/dsa_depr.o", + "crypto/dsa/dsa_err.o", + "crypto/dsa/dsa_gen.o", + "crypto/dsa/dsa_key.o", + "crypto/dsa/dsa_lib.o", + "crypto/dsa/dsa_meth.o", + "crypto/dsa/dsa_ossl.o", + "crypto/dsa/dsa_pmeth.o", + "crypto/dsa/dsa_prn.o", + "crypto/dsa/dsa_sign.o", + "crypto/dsa/dsa_vrf.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/dso" => + { + "deps" => + [ + "crypto/dso/dso_dl.o", + "crypto/dso/dso_dlfcn.o", + "crypto/dso/dso_err.o", + "crypto/dso/dso_lib.o", + "crypto/dso/dso_openssl.o", + "crypto/dso/dso_vms.o", + "crypto/dso/dso_win32.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/ec" => + { + "deps" => + [ + "crypto/ec/curve25519.o", + "crypto/ec/ec2_oct.o", + "crypto/ec/ec2_smpl.o", + "crypto/ec/ec_ameth.o", + "crypto/ec/ec_asn1.o", + "crypto/ec/ec_check.o", + "crypto/ec/ec_curve.o", + "crypto/ec/ec_cvt.o", + "crypto/ec/ec_err.o", + "crypto/ec/ec_key.o", + "crypto/ec/ec_kmeth.o", + "crypto/ec/ec_lib.o", + "crypto/ec/ec_mult.o", + "crypto/ec/ec_oct.o", + "crypto/ec/ec_pmeth.o", + "crypto/ec/ec_print.o", + "crypto/ec/ecdh_kdf.o", + "crypto/ec/ecdh_ossl.o", + "crypto/ec/ecdsa_ossl.o", + "crypto/ec/ecdsa_sign.o", + "crypto/ec/ecdsa_vrf.o", + "crypto/ec/eck_prn.o", + "crypto/ec/ecp_mont.o", + "crypto/ec/ecp_nist.o", + "crypto/ec/ecp_nistp224.o", + "crypto/ec/ecp_nistp256.o", + "crypto/ec/ecp_nistp521.o", + "crypto/ec/ecp_nistputil.o", + "crypto/ec/ecp_oct.o", + "crypto/ec/ecp_smpl.o", + "crypto/ec/ecx_meth.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/ec/curve448" => + { + "deps" => + [ + "crypto/ec/curve448/curve448.o", + "crypto/ec/curve448/curve448_tables.o", + "crypto/ec/curve448/eddsa.o", + "crypto/ec/curve448/f_generic.o", + "crypto/ec/curve448/scalar.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/ec/curve448/arch_32" => + { + "deps" => + [ + "crypto/ec/curve448/arch_32/f_impl.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/engine" => + { + "deps" => + [ + "crypto/engine/eng_all.o", + "crypto/engine/eng_cnf.o", + "crypto/engine/eng_ctrl.o", + "crypto/engine/eng_dyn.o", + "crypto/engine/eng_err.o", + "crypto/engine/eng_fat.o", + "crypto/engine/eng_init.o", + "crypto/engine/eng_lib.o", + "crypto/engine/eng_list.o", + "crypto/engine/eng_openssl.o", + "crypto/engine/eng_pkey.o", + "crypto/engine/eng_rdrand.o", + "crypto/engine/eng_table.o", + "crypto/engine/tb_asnmth.o", + "crypto/engine/tb_cipher.o", + "crypto/engine/tb_dh.o", + "crypto/engine/tb_digest.o", + "crypto/engine/tb_dsa.o", + "crypto/engine/tb_eckey.o", + "crypto/engine/tb_pkmeth.o", + "crypto/engine/tb_rand.o", + "crypto/engine/tb_rsa.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/err" => + { + "deps" => + [ + "crypto/err/err.o", + "crypto/err/err_all.o", + "crypto/err/err_prn.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/evp" => + { + "deps" => + [ + "crypto/evp/bio_b64.o", + "crypto/evp/bio_enc.o", + "crypto/evp/bio_md.o", + "crypto/evp/bio_ok.o", + "crypto/evp/c_allc.o", + "crypto/evp/c_alld.o", + "crypto/evp/cmeth_lib.o", + "crypto/evp/digest.o", + "crypto/evp/e_aes.o", + "crypto/evp/e_aes_cbc_hmac_sha1.o", + "crypto/evp/e_aes_cbc_hmac_sha256.o", + "crypto/evp/e_aria.o", + "crypto/evp/e_bf.o", + "crypto/evp/e_camellia.o", + "crypto/evp/e_cast.o", + "crypto/evp/e_chacha20_poly1305.o", + "crypto/evp/e_des.o", + "crypto/evp/e_des3.o", + "crypto/evp/e_idea.o", + "crypto/evp/e_null.o", + "crypto/evp/e_old.o", + "crypto/evp/e_rc2.o", + "crypto/evp/e_rc4.o", + "crypto/evp/e_rc4_hmac_md5.o", + "crypto/evp/e_rc5.o", + "crypto/evp/e_seed.o", + "crypto/evp/e_sm4.o", + "crypto/evp/e_xcbc_d.o", + "crypto/evp/encode.o", + "crypto/evp/evp_cnf.o", + "crypto/evp/evp_enc.o", + "crypto/evp/evp_err.o", + "crypto/evp/evp_key.o", + "crypto/evp/evp_lib.o", + "crypto/evp/evp_pbe.o", + "crypto/evp/evp_pkey.o", + "crypto/evp/m_md2.o", + "crypto/evp/m_md4.o", + "crypto/evp/m_md5.o", + "crypto/evp/m_md5_sha1.o", + "crypto/evp/m_mdc2.o", + "crypto/evp/m_null.o", + "crypto/evp/m_ripemd.o", + "crypto/evp/m_sha1.o", + "crypto/evp/m_sha3.o", + "crypto/evp/m_sigver.o", + "crypto/evp/m_wp.o", + "crypto/evp/names.o", + "crypto/evp/p5_crpt.o", + "crypto/evp/p5_crpt2.o", + "crypto/evp/p_dec.o", + "crypto/evp/p_enc.o", + "crypto/evp/p_lib.o", + "crypto/evp/p_open.o", + "crypto/evp/p_seal.o", + "crypto/evp/p_sign.o", + "crypto/evp/p_verify.o", + "crypto/evp/pbe_scrypt.o", + "crypto/evp/pmeth_fn.o", + "crypto/evp/pmeth_gn.o", + "crypto/evp/pmeth_lib.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/hmac" => + { + "deps" => + [ + "crypto/hmac/hm_ameth.o", + "crypto/hmac/hm_pmeth.o", + "crypto/hmac/hmac.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/idea" => + { + "deps" => + [ + "crypto/idea/i_cbc.o", + "crypto/idea/i_cfb64.o", + "crypto/idea/i_ecb.o", + "crypto/idea/i_ofb64.o", + "crypto/idea/i_skey.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/kdf" => + { + "deps" => + [ + "crypto/kdf/hkdf.o", + "crypto/kdf/kdf_err.o", + "crypto/kdf/scrypt.o", + "crypto/kdf/tls1_prf.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/lhash" => + { + "deps" => + [ + "crypto/lhash/lh_stats.o", + "crypto/lhash/lhash.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/md4" => + { + "deps" => + [ + "crypto/md4/md4_dgst.o", + "crypto/md4/md4_one.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/md5" => + { + "deps" => + [ + "crypto/md5/md5_dgst.o", + "crypto/md5/md5_one.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/mdc2" => + { + "deps" => + [ + "crypto/mdc2/mdc2_one.o", + "crypto/mdc2/mdc2dgst.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/modes" => + { + "deps" => + [ + "crypto/modes/cbc128.o", + "crypto/modes/ccm128.o", + "crypto/modes/cfb128.o", + "crypto/modes/ctr128.o", + "crypto/modes/cts128.o", + "crypto/modes/gcm128.o", + "crypto/modes/ocb128.o", + "crypto/modes/ofb128.o", + "crypto/modes/wrap128.o", + "crypto/modes/xts128.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/objects" => + { + "deps" => + [ + "crypto/objects/o_names.o", + "crypto/objects/obj_dat.o", + "crypto/objects/obj_err.o", + "crypto/objects/obj_lib.o", + "crypto/objects/obj_xref.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/ocsp" => + { + "deps" => + [ + "crypto/ocsp/ocsp_asn.o", + "crypto/ocsp/ocsp_cl.o", + "crypto/ocsp/ocsp_err.o", + "crypto/ocsp/ocsp_ext.o", + "crypto/ocsp/ocsp_ht.o", + "crypto/ocsp/ocsp_lib.o", + "crypto/ocsp/ocsp_prn.o", + "crypto/ocsp/ocsp_srv.o", + "crypto/ocsp/ocsp_vfy.o", + "crypto/ocsp/v3_ocsp.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/pem" => + { + "deps" => + [ + "crypto/pem/pem_all.o", + "crypto/pem/pem_err.o", + "crypto/pem/pem_info.o", + "crypto/pem/pem_lib.o", + "crypto/pem/pem_oth.o", + "crypto/pem/pem_pk8.o", + "crypto/pem/pem_pkey.o", + "crypto/pem/pem_sign.o", + "crypto/pem/pem_x509.o", + "crypto/pem/pem_xaux.o", + "crypto/pem/pvkfmt.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/pkcs12" => + { + "deps" => + [ + "crypto/pkcs12/p12_add.o", + "crypto/pkcs12/p12_asn.o", + "crypto/pkcs12/p12_attr.o", + "crypto/pkcs12/p12_crpt.o", + "crypto/pkcs12/p12_crt.o", + "crypto/pkcs12/p12_decr.o", + "crypto/pkcs12/p12_init.o", + "crypto/pkcs12/p12_key.o", + "crypto/pkcs12/p12_kiss.o", + "crypto/pkcs12/p12_mutl.o", + "crypto/pkcs12/p12_npas.o", + "crypto/pkcs12/p12_p8d.o", + "crypto/pkcs12/p12_p8e.o", + "crypto/pkcs12/p12_sbag.o", + "crypto/pkcs12/p12_utl.o", + "crypto/pkcs12/pk12err.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/pkcs7" => + { + "deps" => + [ + "crypto/pkcs7/bio_pk7.o", + "crypto/pkcs7/pk7_asn1.o", + "crypto/pkcs7/pk7_attr.o", + "crypto/pkcs7/pk7_doit.o", + "crypto/pkcs7/pk7_lib.o", + "crypto/pkcs7/pk7_mime.o", + "crypto/pkcs7/pk7_smime.o", + "crypto/pkcs7/pkcs7err.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/poly1305" => + { + "deps" => + [ + "crypto/poly1305/poly1305.o", + "crypto/poly1305/poly1305_ameth.o", + "crypto/poly1305/poly1305_pmeth.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/rand" => + { + "deps" => + [ + "crypto/rand/drbg_ctr.o", + "crypto/rand/drbg_lib.o", + "crypto/rand/rand_egd.o", + "crypto/rand/rand_err.o", + "crypto/rand/rand_lib.o", + "crypto/rand/rand_unix.o", + "crypto/rand/rand_vms.o", + "crypto/rand/rand_win.o", + "crypto/rand/randfile.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/rc2" => + { + "deps" => + [ + "crypto/rc2/rc2_cbc.o", + "crypto/rc2/rc2_ecb.o", + "crypto/rc2/rc2_skey.o", + "crypto/rc2/rc2cfb64.o", + "crypto/rc2/rc2ofb64.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/rc4" => + { + "deps" => + [ + "crypto/rc4/rc4_enc.o", + "crypto/rc4/rc4_skey.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/ripemd" => + { + "deps" => + [ + "crypto/ripemd/rmd_dgst.o", + "crypto/ripemd/rmd_one.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/rsa" => + { + "deps" => + [ + "crypto/rsa/rsa_ameth.o", + "crypto/rsa/rsa_asn1.o", + "crypto/rsa/rsa_chk.o", + "crypto/rsa/rsa_crpt.o", + "crypto/rsa/rsa_depr.o", + "crypto/rsa/rsa_err.o", + "crypto/rsa/rsa_gen.o", + "crypto/rsa/rsa_lib.o", + "crypto/rsa/rsa_meth.o", + "crypto/rsa/rsa_mp.o", + "crypto/rsa/rsa_none.o", + "crypto/rsa/rsa_oaep.o", + "crypto/rsa/rsa_ossl.o", + "crypto/rsa/rsa_pk1.o", + "crypto/rsa/rsa_pmeth.o", + "crypto/rsa/rsa_prn.o", + "crypto/rsa/rsa_pss.o", + "crypto/rsa/rsa_saos.o", + "crypto/rsa/rsa_sign.o", + "crypto/rsa/rsa_ssl.o", + "crypto/rsa/rsa_x931.o", + "crypto/rsa/rsa_x931g.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/seed" => + { + "deps" => + [ + "crypto/seed/seed.o", + "crypto/seed/seed_cbc.o", + "crypto/seed/seed_cfb.o", + "crypto/seed/seed_ecb.o", + "crypto/seed/seed_ofb.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/sha" => + { + "deps" => + [ + "crypto/sha/keccak1600.o", + "crypto/sha/sha1_one.o", + "crypto/sha/sha1dgst.o", + "crypto/sha/sha256.o", + "crypto/sha/sha512.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/siphash" => + { + "deps" => + [ + "crypto/siphash/siphash.o", + "crypto/siphash/siphash_ameth.o", + "crypto/siphash/siphash_pmeth.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/sm2" => + { + "deps" => + [ + "crypto/sm2/sm2_crypt.o", + "crypto/sm2/sm2_err.o", + "crypto/sm2/sm2_pmeth.o", + "crypto/sm2/sm2_sign.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/sm3" => + { + "deps" => + [ + "crypto/sm3/m_sm3.o", + "crypto/sm3/sm3.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/sm4" => + { + "deps" => + [ + "crypto/sm4/sm4.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/srp" => + { + "deps" => + [ + "crypto/srp/srp_lib.o", + "crypto/srp/srp_vfy.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/stack" => + { + "deps" => + [ + "crypto/stack/stack.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/store" => + { + "deps" => + [ + "crypto/store/loader_file.o", + "crypto/store/store_err.o", + "crypto/store/store_init.o", + "crypto/store/store_lib.o", + "crypto/store/store_register.o", + "crypto/store/store_strings.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/ts" => + { + "deps" => + [ + "crypto/ts/ts_asn1.o", + "crypto/ts/ts_conf.o", + "crypto/ts/ts_err.o", + "crypto/ts/ts_lib.o", + "crypto/ts/ts_req_print.o", + "crypto/ts/ts_req_utils.o", + "crypto/ts/ts_rsp_print.o", + "crypto/ts/ts_rsp_sign.o", + "crypto/ts/ts_rsp_utils.o", + "crypto/ts/ts_rsp_verify.o", + "crypto/ts/ts_verify_ctx.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/txt_db" => + { + "deps" => + [ + "crypto/txt_db/txt_db.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/ui" => + { + "deps" => + [ + "crypto/ui/ui_err.o", + "crypto/ui/ui_lib.o", + "crypto/ui/ui_null.o", + "crypto/ui/ui_openssl.o", + "crypto/ui/ui_util.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/whrlpool" => + { + "deps" => + [ + "crypto/whrlpool/wp_block.o", + "crypto/whrlpool/wp_dgst.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/x509" => + { + "deps" => + [ + "crypto/x509/by_dir.o", + "crypto/x509/by_file.o", + "crypto/x509/t_crl.o", + "crypto/x509/t_req.o", + "crypto/x509/t_x509.o", + "crypto/x509/x509_att.o", + "crypto/x509/x509_cmp.o", + "crypto/x509/x509_d2.o", + "crypto/x509/x509_def.o", + "crypto/x509/x509_err.o", + "crypto/x509/x509_ext.o", + "crypto/x509/x509_lu.o", + "crypto/x509/x509_meth.o", + "crypto/x509/x509_obj.o", + "crypto/x509/x509_r2x.o", + "crypto/x509/x509_req.o", + "crypto/x509/x509_set.o", + "crypto/x509/x509_trs.o", + "crypto/x509/x509_txt.o", + "crypto/x509/x509_v3.o", + "crypto/x509/x509_vfy.o", + "crypto/x509/x509_vpm.o", + "crypto/x509/x509cset.o", + "crypto/x509/x509name.o", + "crypto/x509/x509rset.o", + "crypto/x509/x509spki.o", + "crypto/x509/x509type.o", + "crypto/x509/x_all.o", + "crypto/x509/x_attrib.o", + "crypto/x509/x_crl.o", + "crypto/x509/x_exten.o", + "crypto/x509/x_name.o", + "crypto/x509/x_pubkey.o", + "crypto/x509/x_req.o", + "crypto/x509/x_x509.o", + "crypto/x509/x_x509a.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "crypto/x509v3" => + { + "deps" => + [ + "crypto/x509v3/pcy_cache.o", + "crypto/x509v3/pcy_data.o", + "crypto/x509v3/pcy_lib.o", + "crypto/x509v3/pcy_map.o", + "crypto/x509v3/pcy_node.o", + "crypto/x509v3/pcy_tree.o", + "crypto/x509v3/v3_addr.o", + "crypto/x509v3/v3_admis.o", + "crypto/x509v3/v3_akey.o", + "crypto/x509v3/v3_akeya.o", + "crypto/x509v3/v3_alt.o", + "crypto/x509v3/v3_asid.o", + "crypto/x509v3/v3_bcons.o", + "crypto/x509v3/v3_bitst.o", + "crypto/x509v3/v3_conf.o", + "crypto/x509v3/v3_cpols.o", + "crypto/x509v3/v3_crld.o", + "crypto/x509v3/v3_enum.o", + "crypto/x509v3/v3_extku.o", + "crypto/x509v3/v3_genn.o", + "crypto/x509v3/v3_ia5.o", + "crypto/x509v3/v3_info.o", + "crypto/x509v3/v3_int.o", + "crypto/x509v3/v3_lib.o", + "crypto/x509v3/v3_ncons.o", + "crypto/x509v3/v3_pci.o", + "crypto/x509v3/v3_pcia.o", + "crypto/x509v3/v3_pcons.o", + "crypto/x509v3/v3_pku.o", + "crypto/x509v3/v3_pmaps.o", + "crypto/x509v3/v3_prn.o", + "crypto/x509v3/v3_purp.o", + "crypto/x509v3/v3_skey.o", + "crypto/x509v3/v3_sxnet.o", + "crypto/x509v3/v3_tlsf.o", + "crypto/x509v3/v3_utl.o", + "crypto/x509v3/v3err.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "engines" => + { + "deps" => + [ + "engines/e_capi.o", + "engines/e_padlock.o", + ], + "products" => + { + "lib" => + [ + "libcrypto", + ], + }, + }, + "fuzz" => + { + "products" => + { + "bin" => + [ + "fuzz/asn1-test", + "fuzz/asn1parse-test", + "fuzz/bignum-test", + "fuzz/bndiv-test", + "fuzz/client-test", + "fuzz/cms-test", + "fuzz/conf-test", + "fuzz/crl-test", + "fuzz/ct-test", + "fuzz/server-test", + "fuzz/x509-test", + ], + }, + }, + "ssl" => + { + "deps" => + [ + "ssl/bio_ssl.o", + "ssl/d1_lib.o", + "ssl/d1_msg.o", + "ssl/d1_srtp.o", + "ssl/methods.o", + "ssl/packet.o", + "ssl/pqueue.o", + "ssl/s3_cbc.o", + "ssl/s3_enc.o", + "ssl/s3_lib.o", + "ssl/s3_msg.o", + "ssl/ssl_asn1.o", + "ssl/ssl_cert.o", + "ssl/ssl_ciph.o", + "ssl/ssl_conf.o", + "ssl/ssl_err.o", + "ssl/ssl_init.o", + "ssl/ssl_lib.o", + "ssl/ssl_mcnf.o", + "ssl/ssl_rsa.o", + "ssl/ssl_sess.o", + "ssl/ssl_stat.o", + "ssl/ssl_txt.o", + "ssl/ssl_utst.o", + "ssl/t1_enc.o", + "ssl/t1_lib.o", + "ssl/t1_trce.o", + "ssl/tls13_enc.o", + "ssl/tls_srp.o", + ], + "products" => + { + "lib" => + [ + "libssl", + ], + }, + }, + "ssl/record" => + { + "deps" => + [ + "ssl/record/dtls1_bitmap.o", + "ssl/record/rec_layer_d1.o", + "ssl/record/rec_layer_s3.o", + "ssl/record/ssl3_buffer.o", + "ssl/record/ssl3_record.o", + "ssl/record/ssl3_record_tls13.o", + ], + "products" => + { + "lib" => + [ + "libssl", + ], + }, + }, + "ssl/statem" => + { + "deps" => + [ + "ssl/statem/extensions.o", + "ssl/statem/extensions_clnt.o", + "ssl/statem/extensions_cust.o", + "ssl/statem/extensions_srvr.o", + "ssl/statem/statem.o", + "ssl/statem/statem_clnt.o", + "ssl/statem/statem_dtls.o", + "ssl/statem/statem_lib.o", + "ssl/statem/statem_srvr.o", + ], + "products" => + { + "lib" => + [ + "libssl", + ], + }, + }, + "test/testutil" => + { + "deps" => + [ + "test/testutil/basic_output.o", + "test/testutil/cb.o", + "test/testutil/driver.o", + "test/testutil/format_output.o", + "test/testutil/init.o", + "test/testutil/main.o", + "test/testutil/output_helpers.o", + "test/testutil/stanza.o", + "test/testutil/tap_bio.o", + "test/testutil/test_cleanup.o", + "test/testutil/tests.o", + ], + "products" => + { + "lib" => + [ + "test/libtestutil.a", + ], + }, + }, + "tools" => + { + "products" => + { + "script" => + [ + "tools/c_rehash", + ], + }, + }, + "util" => + { + "products" => + { + "script" => + [ + "util/shlib_wrap.sh", + ], + }, + }, + }, + "engines" => + [ + ], + "extra" => + [ + "crypto/alphacpuid.pl", + "crypto/arm64cpuid.pl", + "crypto/armv4cpuid.pl", + "crypto/ia64cpuid.S", + "crypto/pariscid.pl", + "crypto/ppccpuid.pl", + "crypto/x86_64cpuid.pl", + "crypto/x86cpuid.pl", + "ms/applink.c", + "ms/uplink-x86.pl", + "ms/uplink.c", + ], + "generate" => + { + "apps/progs.h" => + [ + "apps/progs.pl", + "\$(APPS_OPENSSL)", + ], + "crypto/aes/aes-586.s" => + [ + "crypto/aes/asm/aes-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/aes/aes-armv4.S" => + [ + "crypto/aes/asm/aes-armv4.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aes-ia64.s" => + [ + "crypto/aes/asm/aes-ia64.S", + ], + "crypto/aes/aes-mips.S" => + [ + "crypto/aes/asm/aes-mips.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aes-parisc.s" => + [ + "crypto/aes/asm/aes-parisc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aes-ppc.s" => + [ + "crypto/aes/asm/aes-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aes-s390x.S" => + [ + "crypto/aes/asm/aes-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aes-sparcv9.S" => + [ + "crypto/aes/asm/aes-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aes-x86_64.s" => + [ + "crypto/aes/asm/aes-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aesfx-sparcv9.S" => + [ + "crypto/aes/asm/aesfx-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aesni-mb-x86_64.s" => + [ + "crypto/aes/asm/aesni-mb-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aesni-sha1-x86_64.s" => + [ + "crypto/aes/asm/aesni-sha1-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aesni-sha256-x86_64.s" => + [ + "crypto/aes/asm/aesni-sha256-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aesni-x86.s" => + [ + "crypto/aes/asm/aesni-x86.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/aes/aesni-x86_64.s" => + [ + "crypto/aes/asm/aesni-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aesp8-ppc.s" => + [ + "crypto/aes/asm/aesp8-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aest4-sparcv9.S" => + [ + "crypto/aes/asm/aest4-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/aesv8-armx.S" => + [ + "crypto/aes/asm/aesv8-armx.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/bsaes-armv7.S" => + [ + "crypto/aes/asm/bsaes-armv7.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/bsaes-x86_64.s" => + [ + "crypto/aes/asm/bsaes-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/vpaes-armv8.S" => + [ + "crypto/aes/asm/vpaes-armv8.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/vpaes-ppc.s" => + [ + "crypto/aes/asm/vpaes-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/aes/vpaes-x86.s" => + [ + "crypto/aes/asm/vpaes-x86.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/aes/vpaes-x86_64.s" => + [ + "crypto/aes/asm/vpaes-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/alphacpuid.s" => + [ + "crypto/alphacpuid.pl", + ], + "crypto/arm64cpuid.S" => + [ + "crypto/arm64cpuid.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/armv4cpuid.S" => + [ + "crypto/armv4cpuid.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bf/bf-586.s" => + [ + "crypto/bf/asm/bf-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/bn/alpha-mont.S" => + [ + "crypto/bn/asm/alpha-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/armv4-gf2m.S" => + [ + "crypto/bn/asm/armv4-gf2m.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/armv4-mont.S" => + [ + "crypto/bn/asm/armv4-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/armv8-mont.S" => + [ + "crypto/bn/asm/armv8-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/bn-586.s" => + [ + "crypto/bn/asm/bn-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/bn/bn-ia64.s" => + [ + "crypto/bn/asm/ia64.S", + ], + "crypto/bn/bn-mips.S" => + [ + "crypto/bn/asm/mips.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/bn-ppc.s" => + [ + "crypto/bn/asm/ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/co-586.s" => + [ + "crypto/bn/asm/co-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/bn/ia64-mont.s" => + [ + "crypto/bn/asm/ia64-mont.pl", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/bn/mips-mont.S" => + [ + "crypto/bn/asm/mips-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/parisc-mont.s" => + [ + "crypto/bn/asm/parisc-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/ppc-mont.s" => + [ + "crypto/bn/asm/ppc-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/ppc64-mont.s" => + [ + "crypto/bn/asm/ppc64-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/rsaz-avx2.s" => + [ + "crypto/bn/asm/rsaz-avx2.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/rsaz-x86_64.s" => + [ + "crypto/bn/asm/rsaz-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/s390x-gf2m.s" => + [ + "crypto/bn/asm/s390x-gf2m.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/s390x-mont.S" => + [ + "crypto/bn/asm/s390x-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/sparct4-mont.S" => + [ + "crypto/bn/asm/sparct4-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/sparcv9-gf2m.S" => + [ + "crypto/bn/asm/sparcv9-gf2m.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/sparcv9-mont.S" => + [ + "crypto/bn/asm/sparcv9-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/sparcv9a-mont.S" => + [ + "crypto/bn/asm/sparcv9a-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/vis3-mont.S" => + [ + "crypto/bn/asm/vis3-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/x86-gf2m.s" => + [ + "crypto/bn/asm/x86-gf2m.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/bn/x86-mont.s" => + [ + "crypto/bn/asm/x86-mont.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/bn/x86_64-gf2m.s" => + [ + "crypto/bn/asm/x86_64-gf2m.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/x86_64-mont.s" => + [ + "crypto/bn/asm/x86_64-mont.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/bn/x86_64-mont5.s" => + [ + "crypto/bn/asm/x86_64-mont5.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/buildinf.h" => + [ + "util/mkbuildinf.pl", + "\"\$(CC)", + "\$(LIB_CFLAGS)", + "\$(CPPFLAGS_Q)\"", + "\"\$(PLATFORM)\"", + ], + "crypto/camellia/cmll-x86.s" => + [ + "crypto/camellia/asm/cmll-x86.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/camellia/cmll-x86_64.s" => + [ + "crypto/camellia/asm/cmll-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/camellia/cmllt4-sparcv9.S" => + [ + "crypto/camellia/asm/cmllt4-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/cast/cast-586.s" => + [ + "crypto/cast/asm/cast-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/chacha/chacha-armv4.S" => + [ + "crypto/chacha/asm/chacha-armv4.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/chacha/chacha-armv8.S" => + [ + "crypto/chacha/asm/chacha-armv8.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/chacha/chacha-ppc.s" => + [ + "crypto/chacha/asm/chacha-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/chacha/chacha-s390x.S" => + [ + "crypto/chacha/asm/chacha-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/chacha/chacha-x86.s" => + [ + "crypto/chacha/asm/chacha-x86.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/chacha/chacha-x86_64.s" => + [ + "crypto/chacha/asm/chacha-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/des/crypt586.s" => + [ + "crypto/des/asm/crypt586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/des/des-586.s" => + [ + "crypto/des/asm/des-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/des/des_enc-sparc.S" => + [ + "crypto/des/asm/des_enc.m4", + ], + "crypto/des/dest4-sparcv9.S" => + [ + "crypto/des/asm/dest4-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ec/ecp_nistz256-armv4.S" => + [ + "crypto/ec/asm/ecp_nistz256-armv4.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ec/ecp_nistz256-armv8.S" => + [ + "crypto/ec/asm/ecp_nistz256-armv8.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ec/ecp_nistz256-avx2.s" => + [ + "crypto/ec/asm/ecp_nistz256-avx2.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ec/ecp_nistz256-ppc64.s" => + [ + "crypto/ec/asm/ecp_nistz256-ppc64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ec/ecp_nistz256-sparcv9.S" => + [ + "crypto/ec/asm/ecp_nistz256-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ec/ecp_nistz256-x86.s" => + [ + "crypto/ec/asm/ecp_nistz256-x86.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/ec/ecp_nistz256-x86_64.s" => + [ + "crypto/ec/asm/ecp_nistz256-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ec/x25519-ppc64.s" => + [ + "crypto/ec/asm/x25519-ppc64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ec/x25519-x86_64.s" => + [ + "crypto/ec/asm/x25519-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ia64cpuid.s" => + [ + "crypto/ia64cpuid.S", + ], + "crypto/include/internal/bn_conf.h" => + [ + "crypto/include/internal/bn_conf.h.in", + ], + "crypto/include/internal/dso_conf.h" => + [ + "crypto/include/internal/dso_conf.h.in", + ], + "crypto/md5/md5-586.s" => + [ + "crypto/md5/asm/md5-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/md5/md5-sparcv9.S" => + [ + "crypto/md5/asm/md5-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/md5/md5-x86_64.s" => + [ + "crypto/md5/asm/md5-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/aesni-gcm-x86_64.s" => + [ + "crypto/modes/asm/aesni-gcm-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/ghash-alpha.S" => + [ + "crypto/modes/asm/ghash-alpha.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/ghash-armv4.S" => + [ + "crypto/modes/asm/ghash-armv4.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/ghash-ia64.s" => + [ + "crypto/modes/asm/ghash-ia64.pl", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/modes/ghash-parisc.s" => + [ + "crypto/modes/asm/ghash-parisc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/ghash-s390x.S" => + [ + "crypto/modes/asm/ghash-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/ghash-sparcv9.S" => + [ + "crypto/modes/asm/ghash-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/ghash-x86.s" => + [ + "crypto/modes/asm/ghash-x86.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/modes/ghash-x86_64.s" => + [ + "crypto/modes/asm/ghash-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/ghashp8-ppc.s" => + [ + "crypto/modes/asm/ghashp8-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/modes/ghashv8-armx.S" => + [ + "crypto/modes/asm/ghashv8-armx.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/pariscid.s" => + [ + "crypto/pariscid.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/poly1305/poly1305-armv4.S" => + [ + "crypto/poly1305/asm/poly1305-armv4.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/poly1305/poly1305-armv8.S" => + [ + "crypto/poly1305/asm/poly1305-armv8.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/poly1305/poly1305-mips.S" => + [ + "crypto/poly1305/asm/poly1305-mips.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/poly1305/poly1305-ppc.s" => + [ + "crypto/poly1305/asm/poly1305-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/poly1305/poly1305-ppcfp.s" => + [ + "crypto/poly1305/asm/poly1305-ppcfp.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/poly1305/poly1305-s390x.S" => + [ + "crypto/poly1305/asm/poly1305-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/poly1305/poly1305-sparcv9.S" => + [ + "crypto/poly1305/asm/poly1305-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/poly1305/poly1305-x86.s" => + [ + "crypto/poly1305/asm/poly1305-x86.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/poly1305/poly1305-x86_64.s" => + [ + "crypto/poly1305/asm/poly1305-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ppccpuid.s" => + [ + "crypto/ppccpuid.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/rc4/rc4-586.s" => + [ + "crypto/rc4/asm/rc4-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/rc4/rc4-md5-x86_64.s" => + [ + "crypto/rc4/asm/rc4-md5-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/rc4/rc4-parisc.s" => + [ + "crypto/rc4/asm/rc4-parisc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/rc4/rc4-s390x.s" => + [ + "crypto/rc4/asm/rc4-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/rc4/rc4-x86_64.s" => + [ + "crypto/rc4/asm/rc4-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/ripemd/rmd-586.s" => + [ + "crypto/ripemd/asm/rmd-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/s390xcpuid.S" => + [ + "crypto/s390xcpuid.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/keccak1600-armv4.S" => + [ + "crypto/sha/asm/keccak1600-armv4.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/keccak1600-armv8.S" => + [ + "crypto/sha/asm/keccak1600-armv8.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/keccak1600-ppc64.s" => + [ + "crypto/sha/asm/keccak1600-ppc64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/keccak1600-s390x.S" => + [ + "crypto/sha/asm/keccak1600-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/keccak1600-x86_64.s" => + [ + "crypto/sha/asm/keccak1600-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-586.s" => + [ + "crypto/sha/asm/sha1-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/sha/sha1-alpha.S" => + [ + "crypto/sha/asm/sha1-alpha.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-armv4-large.S" => + [ + "crypto/sha/asm/sha1-armv4-large.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-armv8.S" => + [ + "crypto/sha/asm/sha1-armv8.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-ia64.s" => + [ + "crypto/sha/asm/sha1-ia64.pl", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/sha/sha1-mb-x86_64.s" => + [ + "crypto/sha/asm/sha1-mb-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-mips.S" => + [ + "crypto/sha/asm/sha1-mips.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-parisc.s" => + [ + "crypto/sha/asm/sha1-parisc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-ppc.s" => + [ + "crypto/sha/asm/sha1-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-s390x.S" => + [ + "crypto/sha/asm/sha1-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-sparcv9.S" => + [ + "crypto/sha/asm/sha1-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha1-x86_64.s" => + [ + "crypto/sha/asm/sha1-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-586.s" => + [ + "crypto/sha/asm/sha256-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/sha/sha256-armv4.S" => + [ + "crypto/sha/asm/sha256-armv4.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-armv8.S" => + [ + "crypto/sha/asm/sha512-armv8.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-ia64.s" => + [ + "crypto/sha/asm/sha512-ia64.pl", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/sha/sha256-mb-x86_64.s" => + [ + "crypto/sha/asm/sha256-mb-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-mips.S" => + [ + "crypto/sha/asm/sha512-mips.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-parisc.s" => + [ + "crypto/sha/asm/sha512-parisc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-ppc.s" => + [ + "crypto/sha/asm/sha512-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-s390x.S" => + [ + "crypto/sha/asm/sha512-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-sparcv9.S" => + [ + "crypto/sha/asm/sha512-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256-x86_64.s" => + [ + "crypto/sha/asm/sha512-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha256p8-ppc.s" => + [ + "crypto/sha/asm/sha512p8-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512-586.s" => + [ + "crypto/sha/asm/sha512-586.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/sha/sha512-armv4.S" => + [ + "crypto/sha/asm/sha512-armv4.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512-armv8.S" => + [ + "crypto/sha/asm/sha512-armv8.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512-ia64.s" => + [ + "crypto/sha/asm/sha512-ia64.pl", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + ], + "crypto/sha/sha512-mips.S" => + [ + "crypto/sha/asm/sha512-mips.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512-parisc.s" => + [ + "crypto/sha/asm/sha512-parisc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512-ppc.s" => + [ + "crypto/sha/asm/sha512-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512-s390x.S" => + [ + "crypto/sha/asm/sha512-s390x.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512-sparcv9.S" => + [ + "crypto/sha/asm/sha512-sparcv9.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512-x86_64.s" => + [ + "crypto/sha/asm/sha512-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/sha/sha512p8-ppc.s" => + [ + "crypto/sha/asm/sha512p8-ppc.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/uplink-ia64.s" => + [ + "ms/uplink-ia64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/uplink-x86.s" => + [ + "ms/uplink-x86.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/uplink-x86_64.s" => + [ + "ms/uplink-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/whrlpool/wp-mmx.s" => + [ + "crypto/whrlpool/asm/wp-mmx.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "crypto/whrlpool/wp-x86_64.s" => + [ + "crypto/whrlpool/asm/wp-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/x86_64cpuid.s" => + [ + "crypto/x86_64cpuid.pl", + "\$(PERLASM_SCHEME)", + ], + "crypto/x86cpuid.s" => + [ + "crypto/x86cpuid.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "engines/e_padlock-x86.s" => + [ + "engines/asm/e_padlock-x86.pl", + "\$(PERLASM_SCHEME)", + "\$(LIB_CFLAGS)", + "\$(LIB_CPPFLAGS)", + "\$(PROCESSOR)", + ], + "engines/e_padlock-x86_64.s" => + [ + "engines/asm/e_padlock-x86_64.pl", + "\$(PERLASM_SCHEME)", + ], + "include/openssl/opensslconf.h" => + [ + "include/openssl/opensslconf.h.in", + ], + "libcrypto.map" => + [ + "util/mkdef.pl", + "crypto", + "linux", + ], + "libssl.map" => + [ + "util/mkdef.pl", + "ssl", + "linux", + ], + "test/buildtest_aes.c" => + [ + "test/generate_buildtest.pl", + "aes", + ], + "test/buildtest_asn1.c" => + [ + "test/generate_buildtest.pl", + "asn1", + ], + "test/buildtest_asn1t.c" => + [ + "test/generate_buildtest.pl", + "asn1t", + ], + "test/buildtest_async.c" => + [ + "test/generate_buildtest.pl", + "async", + ], + "test/buildtest_bio.c" => + [ + "test/generate_buildtest.pl", + "bio", + ], + "test/buildtest_blowfish.c" => + [ + "test/generate_buildtest.pl", + "blowfish", + ], + "test/buildtest_bn.c" => + [ + "test/generate_buildtest.pl", + "bn", + ], + "test/buildtest_buffer.c" => + [ + "test/generate_buildtest.pl", + "buffer", + ], + "test/buildtest_camellia.c" => + [ + "test/generate_buildtest.pl", + "camellia", + ], + "test/buildtest_cast.c" => + [ + "test/generate_buildtest.pl", + "cast", + ], + "test/buildtest_cmac.c" => + [ + "test/generate_buildtest.pl", + "cmac", + ], + "test/buildtest_cms.c" => + [ + "test/generate_buildtest.pl", + "cms", + ], + "test/buildtest_conf.c" => + [ + "test/generate_buildtest.pl", + "conf", + ], + "test/buildtest_conf_api.c" => + [ + "test/generate_buildtest.pl", + "conf_api", + ], + "test/buildtest_crypto.c" => + [ + "test/generate_buildtest.pl", + "crypto", + ], + "test/buildtest_ct.c" => + [ + "test/generate_buildtest.pl", + "ct", + ], + "test/buildtest_des.c" => + [ + "test/generate_buildtest.pl", + "des", + ], + "test/buildtest_dh.c" => + [ + "test/generate_buildtest.pl", + "dh", + ], + "test/buildtest_dsa.c" => + [ + "test/generate_buildtest.pl", + "dsa", + ], + "test/buildtest_dtls1.c" => + [ + "test/generate_buildtest.pl", + "dtls1", + ], + "test/buildtest_e_os2.c" => + [ + "test/generate_buildtest.pl", + "e_os2", + ], + "test/buildtest_ebcdic.c" => + [ + "test/generate_buildtest.pl", + "ebcdic", + ], + "test/buildtest_ec.c" => + [ + "test/generate_buildtest.pl", + "ec", + ], + "test/buildtest_ecdh.c" => + [ + "test/generate_buildtest.pl", + "ecdh", + ], + "test/buildtest_ecdsa.c" => + [ + "test/generate_buildtest.pl", + "ecdsa", + ], + "test/buildtest_engine.c" => + [ + "test/generate_buildtest.pl", + "engine", + ], + "test/buildtest_evp.c" => + [ + "test/generate_buildtest.pl", + "evp", + ], + "test/buildtest_hmac.c" => + [ + "test/generate_buildtest.pl", + "hmac", + ], + "test/buildtest_idea.c" => + [ + "test/generate_buildtest.pl", + "idea", + ], + "test/buildtest_kdf.c" => + [ + "test/generate_buildtest.pl", + "kdf", + ], + "test/buildtest_lhash.c" => + [ + "test/generate_buildtest.pl", + "lhash", + ], + "test/buildtest_md4.c" => + [ + "test/generate_buildtest.pl", + "md4", + ], + "test/buildtest_md5.c" => + [ + "test/generate_buildtest.pl", + "md5", + ], + "test/buildtest_mdc2.c" => + [ + "test/generate_buildtest.pl", + "mdc2", + ], + "test/buildtest_modes.c" => + [ + "test/generate_buildtest.pl", + "modes", + ], + "test/buildtest_obj_mac.c" => + [ + "test/generate_buildtest.pl", + "obj_mac", + ], + "test/buildtest_objects.c" => + [ + "test/generate_buildtest.pl", + "objects", + ], + "test/buildtest_ocsp.c" => + [ + "test/generate_buildtest.pl", + "ocsp", + ], + "test/buildtest_opensslv.c" => + [ + "test/generate_buildtest.pl", + "opensslv", + ], + "test/buildtest_ossl_typ.c" => + [ + "test/generate_buildtest.pl", + "ossl_typ", + ], + "test/buildtest_pem.c" => + [ + "test/generate_buildtest.pl", + "pem", + ], + "test/buildtest_pem2.c" => + [ + "test/generate_buildtest.pl", + "pem2", + ], + "test/buildtest_pkcs12.c" => + [ + "test/generate_buildtest.pl", + "pkcs12", + ], + "test/buildtest_pkcs7.c" => + [ + "test/generate_buildtest.pl", + "pkcs7", + ], + "test/buildtest_rand.c" => + [ + "test/generate_buildtest.pl", + "rand", + ], + "test/buildtest_rand_drbg.c" => + [ + "test/generate_buildtest.pl", + "rand_drbg", + ], + "test/buildtest_rc2.c" => + [ + "test/generate_buildtest.pl", + "rc2", + ], + "test/buildtest_rc4.c" => + [ + "test/generate_buildtest.pl", + "rc4", + ], + "test/buildtest_ripemd.c" => + [ + "test/generate_buildtest.pl", + "ripemd", + ], + "test/buildtest_rsa.c" => + [ + "test/generate_buildtest.pl", + "rsa", + ], + "test/buildtest_safestack.c" => + [ + "test/generate_buildtest.pl", + "safestack", + ], + "test/buildtest_seed.c" => + [ + "test/generate_buildtest.pl", + "seed", + ], + "test/buildtest_sha.c" => + [ + "test/generate_buildtest.pl", + "sha", + ], + "test/buildtest_srp.c" => + [ + "test/generate_buildtest.pl", + "srp", + ], + "test/buildtest_srtp.c" => + [ + "test/generate_buildtest.pl", + "srtp", + ], + "test/buildtest_ssl.c" => + [ + "test/generate_buildtest.pl", + "ssl", + ], + "test/buildtest_ssl2.c" => + [ + "test/generate_buildtest.pl", + "ssl2", + ], + "test/buildtest_stack.c" => + [ + "test/generate_buildtest.pl", + "stack", + ], + "test/buildtest_store.c" => + [ + "test/generate_buildtest.pl", + "store", + ], + "test/buildtest_symhacks.c" => + [ + "test/generate_buildtest.pl", + "symhacks", + ], + "test/buildtest_tls1.c" => + [ + "test/generate_buildtest.pl", + "tls1", + ], + "test/buildtest_ts.c" => + [ + "test/generate_buildtest.pl", + "ts", + ], + "test/buildtest_txt_db.c" => + [ + "test/generate_buildtest.pl", + "txt_db", + ], + "test/buildtest_ui.c" => + [ + "test/generate_buildtest.pl", + "ui", + ], + "test/buildtest_whrlpool.c" => + [ + "test/generate_buildtest.pl", + "whrlpool", + ], + "test/buildtest_x509.c" => + [ + "test/generate_buildtest.pl", + "x509", + ], + "test/buildtest_x509_vfy.c" => + [ + "test/generate_buildtest.pl", + "x509_vfy", + ], + "test/buildtest_x509v3.c" => + [ + "test/generate_buildtest.pl", + "x509v3", + ], + }, + "includes" => + { + "apps/app_rand.o" => + [ + ".", + "include", + ], + "apps/apps.o" => + [ + ".", + "include", + ], + "apps/asn1pars.o" => + [ + ".", + "include", + "apps", + ], + "apps/bf_prefix.o" => + [ + ".", + "include", + ], + "apps/ca.o" => + [ + ".", + "include", + "apps", + ], + "apps/ciphers.o" => + [ + ".", + "include", + "apps", + ], + "apps/cms.o" => + [ + ".", + "include", + "apps", + ], + "apps/crl.o" => + [ + ".", + "include", + "apps", + ], + "apps/crl2p7.o" => + [ + ".", + "include", + "apps", + ], + "apps/dgst.o" => + [ + ".", + "include", + "apps", + ], + "apps/dhparam.o" => + [ + ".", + "include", + "apps", + ], + "apps/dsa.o" => + [ + ".", + "include", + "apps", + ], + "apps/dsaparam.o" => + [ + ".", + "include", + "apps", + ], + "apps/ec.o" => + [ + ".", + "include", + "apps", + ], + "apps/ecparam.o" => + [ + ".", + "include", + "apps", + ], + "apps/enc.o" => + [ + ".", + "include", + "apps", + ], + "apps/engine.o" => + [ + ".", + "include", + "apps", + ], + "apps/errstr.o" => + [ + ".", + "include", + "apps", + ], + "apps/gendsa.o" => + [ + ".", + "include", + "apps", + ], + "apps/genpkey.o" => + [ + ".", + "include", + "apps", + ], + "apps/genrsa.o" => + [ + ".", + "include", + "apps", + ], + "apps/nseq.o" => + [ + ".", + "include", + "apps", + ], + "apps/ocsp.o" => + [ + ".", + "include", + "apps", + ], + "apps/openssl.o" => + [ + ".", + "include", + "apps", + ], + "apps/opt.o" => + [ + ".", + "include", + ], + "apps/passwd.o" => + [ + ".", + "include", + "apps", + ], + "apps/pkcs12.o" => + [ + ".", + "include", + "apps", + ], + "apps/pkcs7.o" => + [ + ".", + "include", + "apps", + ], + "apps/pkcs8.o" => + [ + ".", + "include", + "apps", + ], + "apps/pkey.o" => + [ + ".", + "include", + "apps", + ], + "apps/pkeyparam.o" => + [ + ".", + "include", + "apps", + ], + "apps/pkeyutl.o" => + [ + ".", + "include", + "apps", + ], + "apps/prime.o" => + [ + ".", + "include", + "apps", + ], + "apps/progs.h" => + [ + ".", + ], + "apps/rand.o" => + [ + ".", + "include", + "apps", + ], + "apps/rehash.o" => + [ + ".", + "include", + "apps", + ], + "apps/req.o" => + [ + ".", + "include", + "apps", + ], + "apps/rsa.o" => + [ + ".", + "include", + "apps", + ], + "apps/rsautl.o" => + [ + ".", + "include", + "apps", + ], + "apps/s_cb.o" => + [ + ".", + "include", + ], + "apps/s_client.o" => + [ + ".", + "include", + "apps", + ], + "apps/s_server.o" => + [ + ".", + "include", + "apps", + ], + "apps/s_socket.o" => + [ + ".", + "include", + ], + "apps/s_time.o" => + [ + ".", + "include", + "apps", + ], + "apps/sess_id.o" => + [ + ".", + "include", + "apps", + ], + "apps/smime.o" => + [ + ".", + "include", + "apps", + ], + "apps/speed.o" => + [ + ".", + "include", + "apps", + ], + "apps/spkac.o" => + [ + ".", + "include", + "apps", + ], + "apps/srp.o" => + [ + ".", + "include", + "apps", + ], + "apps/storeutl.o" => + [ + ".", + "include", + "apps", + ], + "apps/ts.o" => + [ + ".", + "include", + "apps", + ], + "apps/verify.o" => + [ + ".", + "include", + "apps", + ], + "apps/version.o" => + [ + ".", + "include", + "apps", + ], + "apps/x509.o" => + [ + ".", + "include", + "apps", + ], + "crypto/aes/aes-armv4.o" => + [ + "crypto", + ], + "crypto/aes/aes-mips.o" => + [ + "crypto", + ], + "crypto/aes/aes-s390x.o" => + [ + "crypto", + ], + "crypto/aes/aes-sparcv9.o" => + [ + "crypto", + ], + "crypto/aes/aes_cbc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/aes/aes_cfb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/aes/aes_core.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/aes/aes_ecb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/aes/aes_ige.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/aes/aes_misc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/aes/aes_ofb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/aes/aes_wrap.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/aes/aesfx-sparcv9.o" => + [ + "crypto", + ], + "crypto/aes/aest4-sparcv9.o" => + [ + "crypto", + ], + "crypto/aes/aesv8-armx.o" => + [ + "crypto", + ], + "crypto/aes/bsaes-armv7.o" => + [ + "crypto", + ], + "crypto/aria/aria.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/arm64cpuid.o" => + [ + "crypto", + ], + "crypto/armv4cpuid.o" => + [ + "crypto", + ], + "crypto/asn1/a_bitstr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_d2i_fp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_digest.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_dup.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_gentm.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_i2d_fp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_int.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_mbstr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_object.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_octet.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_print.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_sign.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_strex.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_strnid.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_time.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_type.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_utctm.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_utf8.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/a_verify.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/ameth_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn1_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn1_gen.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn1_item_list.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn1_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn1_par.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn_mime.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn_moid.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn_mstbl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/asn_pack.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/bio_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/bio_ndef.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/d2i_pr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/d2i_pu.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/evp_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/f_int.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/f_string.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/i2d_pr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/i2d_pu.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/n_pkey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/nsseq.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/p5_pbe.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/p5_pbev2.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/p5_scrypt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/p8_pkey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/t_bitst.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/t_pkey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/t_spki.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/tasn_dec.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/tasn_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/tasn_fre.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/tasn_new.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/tasn_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/tasn_scn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/tasn_typ.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/tasn_utl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_algor.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_bignum.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_info.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_int64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_long.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_pkey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_sig.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_spki.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/asn1/x_val.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/async/arch/async_null.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/async/arch/async_posix.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/async/arch/async_win.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/async/async.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/async/async_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/async/async_wait.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bf/bf_cfb64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bf/bf_ecb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bf/bf_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bf/bf_ofb64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bf/bf_skey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/b_addr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/b_dump.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/b_print.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/b_sock.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/b_sock2.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bf_buff.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bf_lbuf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bf_nbio.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bf_null.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bio_cb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bio_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bio_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bio_meth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_acpt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_bio.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_conn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_dgram.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_fd.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_file.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_log.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_mem.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_null.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bio/bss_sock.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/blake2/blake2b.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/blake2/blake2s.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/blake2/m_blake2b.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/blake2/m_blake2s.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/armv4-gf2m.o" => + [ + "crypto", + ], + "crypto/bn/armv4-mont.o" => + [ + "crypto", + ], + "crypto/bn/bn-mips.o" => + [ + "crypto", + ], + "crypto/bn/bn_add.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_asm.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_blind.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_const.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_ctx.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_depr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_dh.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_div.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_exp.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/bn/bn_exp2.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_gcd.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_gf2m.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_intern.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_kron.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_mod.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_mont.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_mpi.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_mul.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_nist.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_prime.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_print.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_rand.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_recp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_shift.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_sqr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_sqrt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_srp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_word.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/bn_x931p.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/bn/mips-mont.o" => + [ + "crypto", + ], + "crypto/bn/sparct4-mont.o" => + [ + "crypto", + ], + "crypto/bn/sparcv9-gf2m.o" => + [ + "crypto", + ], + "crypto/bn/sparcv9-mont.o" => + [ + "crypto", + ], + "crypto/bn/sparcv9a-mont.o" => + [ + "crypto", + ], + "crypto/bn/vis3-mont.o" => + [ + "crypto", + ], + "crypto/buffer/buf_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/buffer/buffer.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/buildinf.h" => + [ + ".", + ], + "crypto/camellia/camellia.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/camellia/cmll_cbc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/camellia/cmll_cfb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/camellia/cmll_ctr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/camellia/cmll_ecb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/camellia/cmll_misc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/camellia/cmll_ofb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/camellia/cmllt4-sparcv9.o" => + [ + "crypto", + ], + "crypto/cast/c_cfb64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cast/c_ecb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cast/c_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cast/c_ofb64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cast/c_skey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/chacha/chacha-armv4.o" => + [ + "crypto", + ], + "crypto/chacha/chacha-armv8.o" => + [ + "crypto", + ], + "crypto/chacha/chacha-s390x.o" => + [ + "crypto", + ], + "crypto/chacha/chacha_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cmac/cm_ameth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cmac/cm_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cmac/cmac.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_att.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_cd.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_dd.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_env.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_ess.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_io.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_kari.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_pwri.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_sd.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cms/cms_smime.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/conf/conf_api.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/conf/conf_def.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/conf/conf_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/conf/conf_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/conf/conf_mall.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/conf/conf_mod.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/conf/conf_sap.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/conf/conf_ssl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cpt_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cryptlib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_b64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_log.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_oct.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_policy.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_sct.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_sct_ctx.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_vfy.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ct/ct_x509v3.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ctype.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/cversion.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/des/cbc_cksm.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/cbc_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/cfb64ede.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/cfb64enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/cfb_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/des_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/dest4-sparcv9.o" => + [ + "crypto", + ], + "crypto/des/ecb3_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/ecb_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/fcrypt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/fcrypt_b.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/ofb64ede.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/ofb64enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/ofb_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/pcbc_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/qud_cksm.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/rand_key.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/set_key.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/str2key.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/des/xcbc_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_ameth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_check.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_depr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_gen.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_kdf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_key.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_meth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_rfc5114.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dh/dh_rfc7919.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_ameth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_depr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_gen.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_key.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_meth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_ossl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_sign.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dsa/dsa_vrf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dso/dso_dl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dso/dso_dlfcn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dso/dso_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dso/dso_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dso/dso_openssl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dso/dso_vms.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/dso/dso_win32.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ebcdic.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/curve25519.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/curve448/arch_32/f_impl.o" => + [ + ".", + "crypto/include", + "include", + "crypto/ec/curve448/arch_32", + "crypto/ec/curve448", + ], + "crypto/ec/curve448/curve448.o" => + [ + ".", + "crypto/include", + "include", + "crypto/ec/curve448/arch_32", + "crypto/ec/curve448", + ], + "crypto/ec/curve448/curve448_tables.o" => + [ + ".", + "crypto/include", + "include", + "crypto/ec/curve448/arch_32", + "crypto/ec/curve448", + ], + "crypto/ec/curve448/eddsa.o" => + [ + ".", + "crypto/include", + "include", + "crypto/ec/curve448/arch_32", + "crypto/ec/curve448", + ], + "crypto/ec/curve448/f_generic.o" => + [ + ".", + "crypto/include", + "include", + "crypto/ec/curve448/arch_32", + "crypto/ec/curve448", + ], + "crypto/ec/curve448/scalar.o" => + [ + ".", + "crypto/include", + "include", + "crypto/ec/curve448/arch_32", + "crypto/ec/curve448", + ], + "crypto/ec/ec2_oct.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec2_smpl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_ameth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_check.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_curve.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_cvt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_key.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_kmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_mult.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_oct.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ec_print.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecdh_kdf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecdh_ossl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecdsa_ossl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecdsa_sign.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecdsa_vrf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/eck_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecp_mont.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecp_nist.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecp_nistp224.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecp_nistp256.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecp_nistp521.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecp_nistputil.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecp_nistz256-armv4.o" => + [ + "crypto", + ], + "crypto/ec/ecp_nistz256-armv8.o" => + [ + "crypto", + ], + "crypto/ec/ecp_nistz256-sparcv9.o" => + [ + "crypto", + ], + "crypto/ec/ecp_oct.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecp_smpl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ec/ecx_meth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_all.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_cnf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_ctrl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_dyn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_fat.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_init.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_list.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_openssl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_pkey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_rdrand.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/eng_table.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_asnmth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_cipher.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_dh.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_digest.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_dsa.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_eckey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_pkmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_rand.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/engine/tb_rsa.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/err/err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/err/err_all.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/err/err_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/bio_b64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/bio_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/bio_md.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/bio_ok.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/c_allc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/c_alld.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/cmeth_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/digest.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_aes.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + "crypto/modes", + ], + "crypto/evp/e_aes_cbc_hmac_sha1.o" => + [ + ".", + "crypto/include", + "include", + "crypto/modes", + ], + "crypto/evp/e_aes_cbc_hmac_sha256.o" => + [ + ".", + "crypto/include", + "include", + "crypto/modes", + ], + "crypto/evp/e_aria.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + "crypto/modes", + ], + "crypto/evp/e_bf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_camellia.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + "crypto/modes", + ], + "crypto/evp/e_cast.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_chacha20_poly1305.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_des.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/evp/e_des3.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/evp/e_idea.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_null.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_old.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_rc2.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_rc4.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_rc4_hmac_md5.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_rc5.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_seed.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/e_sm4.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + "crypto/modes", + ], + "crypto/evp/e_xcbc_d.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/encode.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/evp_cnf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/evp_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/evp_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/evp_key.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/evp_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/evp_pbe.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/evp_pkey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_md2.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_md4.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_md5.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_md5_sha1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_mdc2.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_null.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_ripemd.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_sha1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_sha3.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/evp/m_sigver.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/m_wp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/names.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p5_crpt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p5_crpt2.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p_dec.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p_open.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p_seal.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p_sign.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/p_verify.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/pbe_scrypt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/pmeth_fn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/pmeth_gn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/evp/pmeth_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ex_data.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/getenv.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/hmac/hm_ameth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/hmac/hm_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/hmac/hmac.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/idea/i_cbc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/idea/i_cfb64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/idea/i_ecb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/idea/i_ofb64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/idea/i_skey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/include/internal/bn_conf.h" => + [ + ".", + ], + "crypto/include/internal/dso_conf.h" => + [ + ".", + ], + "crypto/init.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/kdf/hkdf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/kdf/kdf_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/kdf/scrypt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/kdf/tls1_prf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/lhash/lh_stats.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/lhash/lhash.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/md4/md4_dgst.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/md4/md4_one.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/md5/md5-sparcv9.o" => + [ + "crypto", + ], + "crypto/md5/md5_dgst.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/md5/md5_one.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/mdc2/mdc2_one.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/mdc2/mdc2dgst.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/mem.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/mem_clr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/mem_dbg.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/mem_sec.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/cbc128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/ccm128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/cfb128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/ctr128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/cts128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/gcm128.o" => + [ + ".", + "crypto/include", + "include", + "crypto", + ], + "crypto/modes/ghash-armv4.o" => + [ + "crypto", + ], + "crypto/modes/ghash-s390x.o" => + [ + "crypto", + ], + "crypto/modes/ghash-sparcv9.o" => + [ + "crypto", + ], + "crypto/modes/ghashv8-armx.o" => + [ + "crypto", + ], + "crypto/modes/ocb128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/ofb128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/wrap128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/modes/xts128.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/o_dir.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/o_fips.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/o_fopen.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/o_init.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/o_str.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/o_time.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/objects/o_names.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/objects/obj_dat.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/objects/obj_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/objects/obj_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/objects/obj_xref.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_asn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_cl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_ext.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_ht.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_srv.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/ocsp_vfy.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ocsp/v3_ocsp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_all.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_info.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_oth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_pk8.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_pkey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_sign.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_x509.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pem_xaux.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pem/pvkfmt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_add.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_asn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_attr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_crpt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_crt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_decr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_init.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_key.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_kiss.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_mutl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_npas.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_p8d.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_p8e.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_sbag.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/p12_utl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs12/pk12err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs7/bio_pk7.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs7/pk7_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs7/pk7_attr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs7/pk7_doit.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs7/pk7_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs7/pk7_mime.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs7/pk7_smime.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/pkcs7/pkcs7err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/poly1305/poly1305-armv4.o" => + [ + "crypto", + ], + "crypto/poly1305/poly1305-armv8.o" => + [ + "crypto", + ], + "crypto/poly1305/poly1305-mips.o" => + [ + "crypto", + ], + "crypto/poly1305/poly1305-s390x.o" => + [ + "crypto", + ], + "crypto/poly1305/poly1305-sparcv9.o" => + [ + "crypto", + ], + "crypto/poly1305/poly1305.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/poly1305/poly1305_ameth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/poly1305/poly1305_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/drbg_ctr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/drbg_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/rand_egd.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/rand_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/rand_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/rand_unix.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/rand_vms.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/rand_win.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rand/randfile.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rc2/rc2_cbc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rc2/rc2_ecb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rc2/rc2_skey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rc2/rc2cfb64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rc2/rc2ofb64.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rc4/rc4_enc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rc4/rc4_skey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ripemd/rmd_dgst.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ripemd/rmd_one.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_ameth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_chk.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_crpt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_depr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_gen.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_meth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_mp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_none.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_oaep.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_ossl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_pk1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_pss.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_saos.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_sign.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_ssl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_x931.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/rsa/rsa_x931g.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/s390xcpuid.o" => + [ + "crypto", + ], + "crypto/seed/seed.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/seed/seed_cbc.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/seed/seed_cfb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/seed/seed_ecb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/seed/seed_ofb.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sha/keccak1600-armv4.o" => + [ + "crypto", + ], + "crypto/sha/keccak1600.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sha/sha1-armv4-large.o" => + [ + "crypto", + ], + "crypto/sha/sha1-armv8.o" => + [ + "crypto", + ], + "crypto/sha/sha1-mips.o" => + [ + "crypto", + ], + "crypto/sha/sha1-s390x.o" => + [ + "crypto", + ], + "crypto/sha/sha1-sparcv9.o" => + [ + "crypto", + ], + "crypto/sha/sha1_one.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sha/sha1dgst.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sha/sha256-armv4.o" => + [ + "crypto", + ], + "crypto/sha/sha256-armv8.o" => + [ + "crypto", + ], + "crypto/sha/sha256-mips.o" => + [ + "crypto", + ], + "crypto/sha/sha256-s390x.o" => + [ + "crypto", + ], + "crypto/sha/sha256-sparcv9.o" => + [ + "crypto", + ], + "crypto/sha/sha256.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sha/sha512-armv4.o" => + [ + "crypto", + ], + "crypto/sha/sha512-armv8.o" => + [ + "crypto", + ], + "crypto/sha/sha512-mips.o" => + [ + "crypto", + ], + "crypto/sha/sha512-s390x.o" => + [ + "crypto", + ], + "crypto/sha/sha512-sparcv9.o" => + [ + "crypto", + ], + "crypto/sha/sha512.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/siphash/siphash.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/siphash/siphash_ameth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/siphash/siphash_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sm2/sm2_crypt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sm2/sm2_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sm2/sm2_pmeth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sm2/sm2_sign.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sm3/m_sm3.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sm3/sm3.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/sm4/sm4.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/srp/srp_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/srp/srp_vfy.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/stack/stack.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/store/loader_file.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/store/store_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/store/store_init.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/store/store_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/store/store_register.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/store/store_strings.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/threads_none.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/threads_pthread.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/threads_win.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_asn1.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_conf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_req_print.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_req_utils.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_rsp_print.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_rsp_sign.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_rsp_utils.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_rsp_verify.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ts/ts_verify_ctx.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/txt_db/txt_db.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ui/ui_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ui/ui_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ui/ui_null.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ui/ui_openssl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/ui/ui_util.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/uid.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/whrlpool/wp_block.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/whrlpool/wp_dgst.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/by_dir.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/by_file.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/t_crl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/t_req.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/t_x509.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_att.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_cmp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_d2.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_def.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_err.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_ext.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_lu.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_meth.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_obj.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_r2x.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_req.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_set.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_trs.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_txt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_v3.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_vfy.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509_vpm.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509cset.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509name.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509rset.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509spki.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x509type.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_all.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_attrib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_crl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_exten.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_name.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_pubkey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_req.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_x509.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509/x_x509a.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/pcy_cache.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/pcy_data.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/pcy_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/pcy_map.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/pcy_node.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/pcy_tree.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_addr.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_admis.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_akey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_akeya.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_alt.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_asid.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_bcons.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_bitst.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_conf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_cpols.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_crld.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_enum.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_extku.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_genn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_ia5.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_info.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_int.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_lib.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_ncons.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_pci.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_pcia.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_pcons.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_pku.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_pmaps.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_prn.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_purp.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_skey.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_sxnet.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_tlsf.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3_utl.o" => + [ + ".", + "crypto/include", + "include", + ], + "crypto/x509v3/v3err.o" => + [ + ".", + "crypto/include", + "include", + ], + "engines/e_capi.o" => + [ + ".", + "crypto/include", + "include", + ], + "engines/e_padlock.o" => + [ + ".", + "crypto/include", + "include", + ], + "fuzz/asn1.o" => + [ + "include", + ], + "fuzz/asn1parse.o" => + [ + "include", + ], + "fuzz/bignum.o" => + [ + "include", + ], + "fuzz/bndiv.o" => + [ + "include", + ], + "fuzz/client.o" => + [ + "include", + ], + "fuzz/cms.o" => + [ + "include", + ], + "fuzz/conf.o" => + [ + "include", + ], + "fuzz/crl.o" => + [ + "include", + ], + "fuzz/ct.o" => + [ + "include", + ], + "fuzz/server.o" => + [ + "include", + ], + "fuzz/test-corpus.o" => + [ + "include", + ], + "fuzz/x509.o" => + [ + "include", + ], + "include/openssl/opensslconf.h" => + [ + ".", + ], + "ssl/bio_ssl.o" => + [ + ".", + "include", + ], + "ssl/d1_lib.o" => + [ + ".", + "include", + ], + "ssl/d1_msg.o" => + [ + ".", + "include", + ], + "ssl/d1_srtp.o" => + [ + ".", + "include", + ], + "ssl/methods.o" => + [ + ".", + "include", + ], + "ssl/packet.o" => + [ + ".", + "include", + ], + "ssl/pqueue.o" => + [ + ".", + "include", + ], + "ssl/record/dtls1_bitmap.o" => + [ + ".", + "include", + ], + "ssl/record/rec_layer_d1.o" => + [ + ".", + "include", + ], + "ssl/record/rec_layer_s3.o" => + [ + ".", + "include", + ], + "ssl/record/ssl3_buffer.o" => + [ + ".", + "include", + ], + "ssl/record/ssl3_record.o" => + [ + ".", + "include", + ], + "ssl/record/ssl3_record_tls13.o" => + [ + ".", + "include", + ], + "ssl/s3_cbc.o" => + [ + ".", + "include", + ], + "ssl/s3_enc.o" => + [ + ".", + "include", + ], + "ssl/s3_lib.o" => + [ + ".", + "include", + ], + "ssl/s3_msg.o" => + [ + ".", + "include", + ], + "ssl/ssl_asn1.o" => + [ + ".", + "include", + ], + "ssl/ssl_cert.o" => + [ + ".", + "include", + ], + "ssl/ssl_ciph.o" => + [ + ".", + "include", + ], + "ssl/ssl_conf.o" => + [ + ".", + "include", + ], + "ssl/ssl_err.o" => + [ + ".", + "include", + ], + "ssl/ssl_init.o" => + [ + ".", + "include", + ], + "ssl/ssl_lib.o" => + [ + ".", + "include", + ], + "ssl/ssl_mcnf.o" => + [ + ".", + "include", + ], + "ssl/ssl_rsa.o" => + [ + ".", + "include", + ], + "ssl/ssl_sess.o" => + [ + ".", + "include", + ], + "ssl/ssl_stat.o" => + [ + ".", + "include", + ], + "ssl/ssl_txt.o" => + [ + ".", + "include", + ], + "ssl/ssl_utst.o" => + [ + ".", + "include", + ], + "ssl/statem/extensions.o" => + [ + ".", + "include", + ], + "ssl/statem/extensions_clnt.o" => + [ + ".", + "include", + ], + "ssl/statem/extensions_cust.o" => + [ + ".", + "include", + ], + "ssl/statem/extensions_srvr.o" => + [ + ".", + "include", + ], + "ssl/statem/statem.o" => + [ + ".", + "include", + ], + "ssl/statem/statem_clnt.o" => + [ + ".", + "include", + ], + "ssl/statem/statem_dtls.o" => + [ + ".", + "include", + ], + "ssl/statem/statem_lib.o" => + [ + ".", + "include", + ], + "ssl/statem/statem_srvr.o" => + [ + ".", + "include", + ], + "ssl/t1_enc.o" => + [ + ".", + "include", + ], + "ssl/t1_lib.o" => + [ + ".", + "include", + ], + "ssl/t1_trce.o" => + [ + ".", + "include", + ], + "ssl/tls13_enc.o" => + [ + ".", + "include", + ], + "ssl/tls_srp.o" => + [ + ".", + "include", + ], + "test/aborttest.o" => + [ + "include", + ], + "test/afalgtest.o" => + [ + "include", + ], + "test/asn1_decode_test.o" => + [ + "include", + ], + "test/asn1_encode_test.o" => + [ + "include", + ], + "test/asn1_internal_test.o" => + [ + ".", + "include", + "crypto/include", + ], + "test/asn1_string_table_test.o" => + [ + "include", + ], + "test/asn1_time_test.o" => + [ + "include", + ], + "test/asynciotest.o" => + [ + "include", + ], + "test/asynctest.o" => + [ + "include", + ], + "test/bad_dtls_test.o" => + [ + "include", + ], + "test/bftest.o" => + [ + "include", + ], + "test/bio_callback_test.o" => + [ + "include", + ], + "test/bio_enc_test.o" => + [ + "include", + ], + "test/bio_memleak_test.o" => + [ + "include", + ], + "test/bioprinttest.o" => + [ + "include", + ], + "test/bntest.o" => + [ + "include", + ], + "test/buildtest_aes.o" => + [ + "include", + ], + "test/buildtest_asn1.o" => + [ + "include", + ], + "test/buildtest_asn1t.o" => + [ + "include", + ], + "test/buildtest_async.o" => + [ + "include", + ], + "test/buildtest_bio.o" => + [ + "include", + ], + "test/buildtest_blowfish.o" => + [ + "include", + ], + "test/buildtest_bn.o" => + [ + "include", + ], + "test/buildtest_buffer.o" => + [ + "include", + ], + "test/buildtest_camellia.o" => + [ + "include", + ], + "test/buildtest_cast.o" => + [ + "include", + ], + "test/buildtest_cmac.o" => + [ + "include", + ], + "test/buildtest_cms.o" => + [ + "include", + ], + "test/buildtest_conf.o" => + [ + "include", + ], + "test/buildtest_conf_api.o" => + [ + "include", + ], + "test/buildtest_crypto.o" => + [ + "include", + ], + "test/buildtest_ct.o" => + [ + "include", + ], + "test/buildtest_des.o" => + [ + "include", + ], + "test/buildtest_dh.o" => + [ + "include", + ], + "test/buildtest_dsa.o" => + [ + "include", + ], + "test/buildtest_dtls1.o" => + [ + "include", + ], + "test/buildtest_e_os2.o" => + [ + "include", + ], + "test/buildtest_ebcdic.o" => + [ + "include", + ], + "test/buildtest_ec.o" => + [ + "include", + ], + "test/buildtest_ecdh.o" => + [ + "include", + ], + "test/buildtest_ecdsa.o" => + [ + "include", + ], + "test/buildtest_engine.o" => + [ + "include", + ], + "test/buildtest_evp.o" => + [ + "include", + ], + "test/buildtest_hmac.o" => + [ + "include", + ], + "test/buildtest_idea.o" => + [ + "include", + ], + "test/buildtest_kdf.o" => + [ + "include", + ], + "test/buildtest_lhash.o" => + [ + "include", + ], + "test/buildtest_md4.o" => + [ + "include", + ], + "test/buildtest_md5.o" => + [ + "include", + ], + "test/buildtest_mdc2.o" => + [ + "include", + ], + "test/buildtest_modes.o" => + [ + "include", + ], + "test/buildtest_obj_mac.o" => + [ + "include", + ], + "test/buildtest_objects.o" => + [ + "include", + ], + "test/buildtest_ocsp.o" => + [ + "include", + ], + "test/buildtest_opensslv.o" => + [ + "include", + ], + "test/buildtest_ossl_typ.o" => + [ + "include", + ], + "test/buildtest_pem.o" => + [ + "include", + ], + "test/buildtest_pem2.o" => + [ + "include", + ], + "test/buildtest_pkcs12.o" => + [ + "include", + ], + "test/buildtest_pkcs7.o" => + [ + "include", + ], + "test/buildtest_rand.o" => + [ + "include", + ], + "test/buildtest_rand_drbg.o" => + [ + "include", + ], + "test/buildtest_rc2.o" => + [ + "include", + ], + "test/buildtest_rc4.o" => + [ + "include", + ], + "test/buildtest_ripemd.o" => + [ + "include", + ], + "test/buildtest_rsa.o" => + [ + "include", + ], + "test/buildtest_safestack.o" => + [ + "include", + ], + "test/buildtest_seed.o" => + [ + "include", + ], + "test/buildtest_sha.o" => + [ + "include", + ], + "test/buildtest_srp.o" => + [ + "include", + ], + "test/buildtest_srtp.o" => + [ + "include", + ], + "test/buildtest_ssl.o" => + [ + "include", + ], + "test/buildtest_ssl2.o" => + [ + "include", + ], + "test/buildtest_stack.o" => + [ + "include", + ], + "test/buildtest_store.o" => + [ + "include", + ], + "test/buildtest_symhacks.o" => + [ + "include", + ], + "test/buildtest_tls1.o" => + [ + "include", + ], + "test/buildtest_ts.o" => + [ + "include", + ], + "test/buildtest_txt_db.o" => + [ + "include", + ], + "test/buildtest_ui.o" => + [ + "include", + ], + "test/buildtest_whrlpool.o" => + [ + "include", + ], + "test/buildtest_x509.o" => + [ + "include", + ], + "test/buildtest_x509_vfy.o" => + [ + "include", + ], + "test/buildtest_x509v3.o" => + [ + "include", + ], + "test/casttest.o" => + [ + "include", + ], + "test/chacha_internal_test.o" => + [ + ".", + "include", + "crypto/include", + ], + "test/cipher_overhead_test.o" => + [ + ".", + "include", + ], + "test/cipherbytes_test.o" => + [ + "include", + ], + "test/cipherlist_test.o" => + [ + "include", + ], + "test/ciphername_test.o" => + [ + "include", + ], + "test/clienthellotest.o" => + [ + "include", + ], + "test/cmsapitest.o" => + [ + "include", + ], + "test/conf_include_test.o" => + [ + "include", + ], + "test/constant_time_test.o" => + [ + "include", + ], + "test/crltest.o" => + [ + "include", + ], + "test/ct_test.o" => + [ + "include", + ], + "test/ctype_internal_test.o" => + [ + ".", + "crypto/include", + "include", + ], + "test/curve448_internal_test.o" => + [ + ".", + "include", + "crypto/ec/curve448", + ], + "test/d2i_test.o" => + [ + "include", + ], + "test/danetest.o" => + [ + "include", + ], + "test/destest.o" => + [ + "include", + ], + "test/dhtest.o" => + [ + "include", + ], + "test/drbg_cavs_data.o" => + [ + "include", + "test", + ".", + ], + "test/drbg_cavs_test.o" => + [ + "include", + "test", + ".", + ], + "test/drbgtest.o" => + [ + "include", + ], + "test/dsa_no_digest_size_test.o" => + [ + "include", + ], + "test/dsatest.o" => + [ + "include", + ], + "test/dtls_mtu_test.o" => + [ + ".", + "include", + ], + "test/dtlstest.o" => + [ + "include", + ], + "test/dtlsv1listentest.o" => + [ + "include", + ], + "test/ec_internal_test.o" => + [ + "include", + "crypto/ec", + "crypto/include", + ], + "test/ecdsatest.o" => + [ + "include", + ], + "test/ecstresstest.o" => + [ + "include", + ], + "test/ectest.o" => + [ + "include", + ], + "test/enginetest.o" => + [ + "include", + ], + "test/errtest.o" => + [ + "include", + ], + "test/evp_extra_test.o" => + [ + "include", + "crypto/include", + ], + "test/evp_test.o" => + [ + "include", + ], + "test/exdatatest.o" => + [ + "include", + ], + "test/exptest.o" => + [ + "include", + ], + "test/fatalerrtest.o" => + [ + "include", + ], + "test/gmdifftest.o" => + [ + "include", + ], + "test/gosttest.o" => + [ + "include", + ".", + ], + "test/handshake_helper.o" => + [ + ".", + "include", + ], + "test/hmactest.o" => + [ + "include", + ], + "test/ideatest.o" => + [ + "include", + ], + "test/igetest.o" => + [ + "include", + ], + "test/lhash_test.o" => + [ + "include", + ], + "test/md2test.o" => + [ + "include", + ], + "test/mdc2_internal_test.o" => + [ + ".", + "include", + ], + "test/mdc2test.o" => + [ + "include", + ], + "test/memleaktest.o" => + [ + "include", + ], + "test/modes_internal_test.o" => + [ + ".", + "include", + ], + "test/ocspapitest.o" => + [ + "include", + ], + "test/packettest.o" => + [ + "include", + ], + "test/pbelutest.o" => + [ + "include", + ], + "test/pemtest.o" => + [ + "include", + ], + "test/pkey_meth_kdf_test.o" => + [ + "include", + ], + "test/pkey_meth_test.o" => + [ + "include", + ], + "test/poly1305_internal_test.o" => + [ + ".", + "include", + "crypto/include", + ], + "test/rc2test.o" => + [ + "include", + ], + "test/rc4test.o" => + [ + "include", + ], + "test/rc5test.o" => + [ + "include", + ], + "test/rdrand_sanitytest.o" => + [ + "include", + ], + "test/recordlentest.o" => + [ + "include", + ], + "test/rsa_complex.o" => + [ + "include", + ], + "test/rsa_mp_test.o" => + [ + "include", + ], + "test/rsa_test.o" => + [ + "include", + ], + "test/sanitytest.o" => + [ + "include", + ], + "test/secmemtest.o" => + [ + "include", + ], + "test/servername_test.o" => + [ + "include", + ], + "test/siphash_internal_test.o" => + [ + ".", + "include", + "crypto/include", + ], + "test/sm2_internal_test.o" => + [ + "include", + "crypto/include", + ], + "test/sm4_internal_test.o" => + [ + ".", + "include", + "crypto/include", + ], + "test/srptest.o" => + [ + "include", + ], + "test/ssl_cert_table_internal_test.o" => + [ + ".", + "include", + ], + "test/ssl_test.o" => + [ + "include", + ], + "test/ssl_test_ctx.o" => + [ + "include", + ], + "test/ssl_test_ctx_test.o" => + [ + "include", + ], + "test/sslapitest.o" => + [ + "include", + ".", + ], + "test/sslbuffertest.o" => + [ + "include", + ], + "test/sslcorrupttest.o" => + [ + "include", + ], + "test/ssltest_old.o" => + [ + ".", + "include", + ], + "test/ssltestlib.o" => + [ + ".", + "include", + ], + "test/stack_test.o" => + [ + "include", + ], + "test/sysdefaulttest.o" => + [ + "include", + ], + "test/test_test.o" => + [ + "include", + ], + "test/testutil/basic_output.o" => + [ + "include", + ], + "test/testutil/cb.o" => + [ + "include", + ], + "test/testutil/driver.o" => + [ + "include", + ], + "test/testutil/format_output.o" => + [ + "include", + ], + "test/testutil/init.o" => + [ + "include", + ], + "test/testutil/main.o" => + [ + "include", + ], + "test/testutil/output_helpers.o" => + [ + "include", + ], + "test/testutil/stanza.o" => + [ + "include", + ], + "test/testutil/tap_bio.o" => + [ + "include", + ], + "test/testutil/test_cleanup.o" => + [ + "include", + ], + "test/testutil/tests.o" => + [ + "include", + ], + "test/threadstest.o" => + [ + "include", + ], + "test/time_offset_test.o" => + [ + "include", + ], + "test/tls13ccstest.o" => + [ + "include", + ], + "test/tls13encryptiontest.o" => + [ + ".", + "include", + ], + "test/uitest.o" => + [ + ".", + "include", + "apps", + ], + "test/v3ext.o" => + [ + "include", + ], + "test/v3nametest.o" => + [ + "include", + ], + "test/verify_extra_test.o" => + [ + "include", + ], + "test/versions.o" => + [ + "include", + ], + "test/wpackettest.o" => + [ + "include", + ], + "test/x509_check_cert_pkey_test.o" => + [ + "include", + ], + "test/x509_dup_cert_test.o" => + [ + "include", + ], + "test/x509_internal_test.o" => + [ + ".", + "include", + ], + "test/x509_time_test.o" => + [ + "include", + ], + "test/x509aux.o" => + [ + "include", + ], + }, + "install" => + { + "libraries" => + [ + "libcrypto", + "libssl", + ], + "programs" => + [ + "apps/openssl", + ], + "scripts" => + [ + "apps/CA.pl", + "apps/tsget.pl", + "tools/c_rehash", + ], + }, + "ldadd" => + { + }, + "libraries" => + [ + "apps/libapps.a", + "libcrypto", + "libssl", + "test/libtestutil.a", + ], + "overrides" => + [ + ], + "programs" => + [ + "apps/openssl", + "fuzz/asn1-test", + "fuzz/asn1parse-test", + "fuzz/bignum-test", + "fuzz/bndiv-test", + "fuzz/client-test", + "fuzz/cms-test", + "fuzz/conf-test", + "fuzz/crl-test", + "fuzz/ct-test", + "fuzz/server-test", + "fuzz/x509-test", + "test/aborttest", + "test/afalgtest", + "test/asn1_decode_test", + "test/asn1_encode_test", + "test/asn1_internal_test", + "test/asn1_string_table_test", + "test/asn1_time_test", + "test/asynciotest", + "test/asynctest", + "test/bad_dtls_test", + "test/bftest", + "test/bio_callback_test", + "test/bio_enc_test", + "test/bio_memleak_test", + "test/bioprinttest", + "test/bntest", + "test/buildtest_aes", + "test/buildtest_asn1", + "test/buildtest_asn1t", + "test/buildtest_async", + "test/buildtest_bio", + "test/buildtest_blowfish", + "test/buildtest_bn", + "test/buildtest_buffer", + "test/buildtest_camellia", + "test/buildtest_cast", + "test/buildtest_cmac", + "test/buildtest_cms", + "test/buildtest_conf", + "test/buildtest_conf_api", + "test/buildtest_crypto", + "test/buildtest_ct", + "test/buildtest_des", + "test/buildtest_dh", + "test/buildtest_dsa", + "test/buildtest_dtls1", + "test/buildtest_e_os2", + "test/buildtest_ebcdic", + "test/buildtest_ec", + "test/buildtest_ecdh", + "test/buildtest_ecdsa", + "test/buildtest_engine", + "test/buildtest_evp", + "test/buildtest_hmac", + "test/buildtest_idea", + "test/buildtest_kdf", + "test/buildtest_lhash", + "test/buildtest_md4", + "test/buildtest_md5", + "test/buildtest_mdc2", + "test/buildtest_modes", + "test/buildtest_obj_mac", + "test/buildtest_objects", + "test/buildtest_ocsp", + "test/buildtest_opensslv", + "test/buildtest_ossl_typ", + "test/buildtest_pem", + "test/buildtest_pem2", + "test/buildtest_pkcs12", + "test/buildtest_pkcs7", + "test/buildtest_rand", + "test/buildtest_rand_drbg", + "test/buildtest_rc2", + "test/buildtest_rc4", + "test/buildtest_ripemd", + "test/buildtest_rsa", + "test/buildtest_safestack", + "test/buildtest_seed", + "test/buildtest_sha", + "test/buildtest_srp", + "test/buildtest_srtp", + "test/buildtest_ssl", + "test/buildtest_ssl2", + "test/buildtest_stack", + "test/buildtest_store", + "test/buildtest_symhacks", + "test/buildtest_tls1", + "test/buildtest_ts", + "test/buildtest_txt_db", + "test/buildtest_ui", + "test/buildtest_whrlpool", + "test/buildtest_x509", + "test/buildtest_x509_vfy", + "test/buildtest_x509v3", + "test/casttest", + "test/chacha_internal_test", + "test/cipher_overhead_test", + "test/cipherbytes_test", + "test/cipherlist_test", + "test/ciphername_test", + "test/clienthellotest", + "test/cmsapitest", + "test/conf_include_test", + "test/constant_time_test", + "test/crltest", + "test/ct_test", + "test/ctype_internal_test", + "test/curve448_internal_test", + "test/d2i_test", + "test/danetest", + "test/destest", + "test/dhtest", + "test/drbg_cavs_test", + "test/drbgtest", + "test/dsa_no_digest_size_test", + "test/dsatest", + "test/dtls_mtu_test", + "test/dtlstest", + "test/dtlsv1listentest", + "test/ec_internal_test", + "test/ecdsatest", + "test/ecstresstest", + "test/ectest", + "test/enginetest", + "test/errtest", + "test/evp_extra_test", + "test/evp_test", + "test/exdatatest", + "test/exptest", + "test/fatalerrtest", + "test/gmdifftest", + "test/gosttest", + "test/hmactest", + "test/ideatest", + "test/igetest", + "test/lhash_test", + "test/md2test", + "test/mdc2_internal_test", + "test/mdc2test", + "test/memleaktest", + "test/modes_internal_test", + "test/ocspapitest", + "test/packettest", + "test/pbelutest", + "test/pemtest", + "test/pkey_meth_kdf_test", + "test/pkey_meth_test", + "test/poly1305_internal_test", + "test/rc2test", + "test/rc4test", + "test/rc5test", + "test/rdrand_sanitytest", + "test/recordlentest", + "test/rsa_complex", + "test/rsa_mp_test", + "test/rsa_test", + "test/sanitytest", + "test/secmemtest", + "test/servername_test", + "test/siphash_internal_test", + "test/sm2_internal_test", + "test/sm4_internal_test", + "test/srptest", + "test/ssl_cert_table_internal_test", + "test/ssl_test", + "test/ssl_test_ctx_test", + "test/sslapitest", + "test/sslbuffertest", + "test/sslcorrupttest", + "test/ssltest_old", + "test/stack_test", + "test/sysdefaulttest", + "test/test_test", + "test/threadstest", + "test/time_offset_test", + "test/tls13ccstest", + "test/tls13encryptiontest", + "test/uitest", + "test/v3ext", + "test/v3nametest", + "test/verify_extra_test", + "test/versions", + "test/wpackettest", + "test/x509_check_cert_pkey_test", + "test/x509_dup_cert_test", + "test/x509_internal_test", + "test/x509_time_test", + "test/x509aux", + ], + "rawlines" => + [ + "##### SHA assembler implementations", + "", + "# GNU make \"catch all\"", + "crypto/sha/sha1-%.S: crypto/sha/asm/sha1-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "crypto/sha/sha256-%.S: crypto/sha/asm/sha512-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "crypto/sha/sha512-%.S: crypto/sha/asm/sha512-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "crypto/poly1305/poly1305-%.S: crypto/poly1305/asm/poly1305-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "##### AES assembler implementations", + "", + "# GNU make \"catch all\"", + "crypto/aes/aes-%.S: crypto/aes/asm/aes-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "crypto/aes/bsaes-%.S: crypto/aes/asm/bsaes-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "", + "# GNU make \"catch all\"", + "crypto/rc4/rc4-%.s: crypto/rc4/asm/rc4-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "##### CHACHA assembler implementations", + "", + "crypto/chacha/chacha-%.S: crypto/chacha/asm/chacha-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "# GNU make \"catch all\"", + "crypto/modes/ghash-%.S: crypto/modes/asm/ghash-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + "crypto/ec/ecp_nistz256-%.S: crypto/ec/asm/ecp_nistz256-%.pl", + " CC=\"\$(CC)\" \$(PERL) \$< \$(PERLASM_SCHEME) \$\@", + ], + "rename" => + { + }, + "scripts" => + [ + "apps/CA.pl", + "apps/tsget.pl", + "tools/c_rehash", + "util/shlib_wrap.sh", + ], + "shared_sources" => + { + }, + "sources" => + { + "apps/CA.pl" => + [ + "apps/CA.pl.in", + ], + "apps/app_rand.o" => + [ + "apps/app_rand.c", + ], + "apps/apps.o" => + [ + "apps/apps.c", + ], + "apps/asn1pars.o" => + [ + "apps/asn1pars.c", + ], + "apps/bf_prefix.o" => + [ + "apps/bf_prefix.c", + ], + "apps/ca.o" => + [ + "apps/ca.c", + ], + "apps/ciphers.o" => + [ + "apps/ciphers.c", + ], + "apps/cms.o" => + [ + "apps/cms.c", + ], + "apps/crl.o" => + [ + "apps/crl.c", + ], + "apps/crl2p7.o" => + [ + "apps/crl2p7.c", + ], + "apps/dgst.o" => + [ + "apps/dgst.c", + ], + "apps/dhparam.o" => + [ + "apps/dhparam.c", + ], + "apps/dsa.o" => + [ + "apps/dsa.c", + ], + "apps/dsaparam.o" => + [ + "apps/dsaparam.c", + ], + "apps/ec.o" => + [ + "apps/ec.c", + ], + "apps/ecparam.o" => + [ + "apps/ecparam.c", + ], + "apps/enc.o" => + [ + "apps/enc.c", + ], + "apps/engine.o" => + [ + "apps/engine.c", + ], + "apps/errstr.o" => + [ + "apps/errstr.c", + ], + "apps/gendsa.o" => + [ + "apps/gendsa.c", + ], + "apps/genpkey.o" => + [ + "apps/genpkey.c", + ], + "apps/genrsa.o" => + [ + "apps/genrsa.c", + ], + "apps/libapps.a" => + [ + "apps/app_rand.o", + "apps/apps.o", + "apps/bf_prefix.o", + "apps/opt.o", + "apps/s_cb.o", + "apps/s_socket.o", + ], + "apps/nseq.o" => + [ + "apps/nseq.c", + ], + "apps/ocsp.o" => + [ + "apps/ocsp.c", + ], + "apps/openssl" => + [ + "apps/asn1pars.o", + "apps/ca.o", + "apps/ciphers.o", + "apps/cms.o", + "apps/crl.o", + "apps/crl2p7.o", + "apps/dgst.o", + "apps/dhparam.o", + "apps/dsa.o", + "apps/dsaparam.o", + "apps/ec.o", + "apps/ecparam.o", + "apps/enc.o", + "apps/engine.o", + "apps/errstr.o", + "apps/gendsa.o", + "apps/genpkey.o", + "apps/genrsa.o", + "apps/nseq.o", + "apps/ocsp.o", + "apps/openssl.o", + "apps/passwd.o", + "apps/pkcs12.o", + "apps/pkcs7.o", + "apps/pkcs8.o", + "apps/pkey.o", + "apps/pkeyparam.o", + "apps/pkeyutl.o", + "apps/prime.o", + "apps/rand.o", + "apps/rehash.o", + "apps/req.o", + "apps/rsa.o", + "apps/rsautl.o", + "apps/s_client.o", + "apps/s_server.o", + "apps/s_time.o", + "apps/sess_id.o", + "apps/smime.o", + "apps/speed.o", + "apps/spkac.o", + "apps/srp.o", + "apps/storeutl.o", + "apps/ts.o", + "apps/verify.o", + "apps/version.o", + "apps/x509.o", + ], + "apps/openssl.o" => + [ + "apps/openssl.c", + ], + "apps/opt.o" => + [ + "apps/opt.c", + ], + "apps/passwd.o" => + [ + "apps/passwd.c", + ], + "apps/pkcs12.o" => + [ + "apps/pkcs12.c", + ], + "apps/pkcs7.o" => + [ + "apps/pkcs7.c", + ], + "apps/pkcs8.o" => + [ + "apps/pkcs8.c", + ], + "apps/pkey.o" => + [ + "apps/pkey.c", + ], + "apps/pkeyparam.o" => + [ + "apps/pkeyparam.c", + ], + "apps/pkeyutl.o" => + [ + "apps/pkeyutl.c", + ], + "apps/prime.o" => + [ + "apps/prime.c", + ], + "apps/rand.o" => + [ + "apps/rand.c", + ], + "apps/rehash.o" => + [ + "apps/rehash.c", + ], + "apps/req.o" => + [ + "apps/req.c", + ], + "apps/rsa.o" => + [ + "apps/rsa.c", + ], + "apps/rsautl.o" => + [ + "apps/rsautl.c", + ], + "apps/s_cb.o" => + [ + "apps/s_cb.c", + ], + "apps/s_client.o" => + [ + "apps/s_client.c", + ], + "apps/s_server.o" => + [ + "apps/s_server.c", + ], + "apps/s_socket.o" => + [ + "apps/s_socket.c", + ], + "apps/s_time.o" => + [ + "apps/s_time.c", + ], + "apps/sess_id.o" => + [ + "apps/sess_id.c", + ], + "apps/smime.o" => + [ + "apps/smime.c", + ], + "apps/speed.o" => + [ + "apps/speed.c", + ], + "apps/spkac.o" => + [ + "apps/spkac.c", + ], + "apps/srp.o" => + [ + "apps/srp.c", + ], + "apps/storeutl.o" => + [ + "apps/storeutl.c", + ], + "apps/ts.o" => + [ + "apps/ts.c", + ], + "apps/tsget.pl" => + [ + "apps/tsget.in", + ], + "apps/verify.o" => + [ + "apps/verify.c", + ], + "apps/version.o" => + [ + "apps/version.c", + ], + "apps/x509.o" => + [ + "apps/x509.c", + ], + "crypto/aes/aes_cbc.o" => + [ + "crypto/aes/aes_cbc.c", + ], + "crypto/aes/aes_cfb.o" => + [ + "crypto/aes/aes_cfb.c", + ], + "crypto/aes/aes_core.o" => + [ + "crypto/aes/aes_core.c", + ], + "crypto/aes/aes_ecb.o" => + [ + "crypto/aes/aes_ecb.c", + ], + "crypto/aes/aes_ige.o" => + [ + "crypto/aes/aes_ige.c", + ], + "crypto/aes/aes_misc.o" => + [ + "crypto/aes/aes_misc.c", + ], + "crypto/aes/aes_ofb.o" => + [ + "crypto/aes/aes_ofb.c", + ], + "crypto/aes/aes_wrap.o" => + [ + "crypto/aes/aes_wrap.c", + ], + "crypto/aria/aria.o" => + [ + "crypto/aria/aria.c", + ], + "crypto/asn1/a_bitstr.o" => + [ + "crypto/asn1/a_bitstr.c", + ], + "crypto/asn1/a_d2i_fp.o" => + [ + "crypto/asn1/a_d2i_fp.c", + ], + "crypto/asn1/a_digest.o" => + [ + "crypto/asn1/a_digest.c", + ], + "crypto/asn1/a_dup.o" => + [ + "crypto/asn1/a_dup.c", + ], + "crypto/asn1/a_gentm.o" => + [ + "crypto/asn1/a_gentm.c", + ], + "crypto/asn1/a_i2d_fp.o" => + [ + "crypto/asn1/a_i2d_fp.c", + ], + "crypto/asn1/a_int.o" => + [ + "crypto/asn1/a_int.c", + ], + "crypto/asn1/a_mbstr.o" => + [ + "crypto/asn1/a_mbstr.c", + ], + "crypto/asn1/a_object.o" => + [ + "crypto/asn1/a_object.c", + ], + "crypto/asn1/a_octet.o" => + [ + "crypto/asn1/a_octet.c", + ], + "crypto/asn1/a_print.o" => + [ + "crypto/asn1/a_print.c", + ], + "crypto/asn1/a_sign.o" => + [ + "crypto/asn1/a_sign.c", + ], + "crypto/asn1/a_strex.o" => + [ + "crypto/asn1/a_strex.c", + ], + "crypto/asn1/a_strnid.o" => + [ + "crypto/asn1/a_strnid.c", + ], + "crypto/asn1/a_time.o" => + [ + "crypto/asn1/a_time.c", + ], + "crypto/asn1/a_type.o" => + [ + "crypto/asn1/a_type.c", + ], + "crypto/asn1/a_utctm.o" => + [ + "crypto/asn1/a_utctm.c", + ], + "crypto/asn1/a_utf8.o" => + [ + "crypto/asn1/a_utf8.c", + ], + "crypto/asn1/a_verify.o" => + [ + "crypto/asn1/a_verify.c", + ], + "crypto/asn1/ameth_lib.o" => + [ + "crypto/asn1/ameth_lib.c", + ], + "crypto/asn1/asn1_err.o" => + [ + "crypto/asn1/asn1_err.c", + ], + "crypto/asn1/asn1_gen.o" => + [ + "crypto/asn1/asn1_gen.c", + ], + "crypto/asn1/asn1_item_list.o" => + [ + "crypto/asn1/asn1_item_list.c", + ], + "crypto/asn1/asn1_lib.o" => + [ + "crypto/asn1/asn1_lib.c", + ], + "crypto/asn1/asn1_par.o" => + [ + "crypto/asn1/asn1_par.c", + ], + "crypto/asn1/asn_mime.o" => + [ + "crypto/asn1/asn_mime.c", + ], + "crypto/asn1/asn_moid.o" => + [ + "crypto/asn1/asn_moid.c", + ], + "crypto/asn1/asn_mstbl.o" => + [ + "crypto/asn1/asn_mstbl.c", + ], + "crypto/asn1/asn_pack.o" => + [ + "crypto/asn1/asn_pack.c", + ], + "crypto/asn1/bio_asn1.o" => + [ + "crypto/asn1/bio_asn1.c", + ], + "crypto/asn1/bio_ndef.o" => + [ + "crypto/asn1/bio_ndef.c", + ], + "crypto/asn1/d2i_pr.o" => + [ + "crypto/asn1/d2i_pr.c", + ], + "crypto/asn1/d2i_pu.o" => + [ + "crypto/asn1/d2i_pu.c", + ], + "crypto/asn1/evp_asn1.o" => + [ + "crypto/asn1/evp_asn1.c", + ], + "crypto/asn1/f_int.o" => + [ + "crypto/asn1/f_int.c", + ], + "crypto/asn1/f_string.o" => + [ + "crypto/asn1/f_string.c", + ], + "crypto/asn1/i2d_pr.o" => + [ + "crypto/asn1/i2d_pr.c", + ], + "crypto/asn1/i2d_pu.o" => + [ + "crypto/asn1/i2d_pu.c", + ], + "crypto/asn1/n_pkey.o" => + [ + "crypto/asn1/n_pkey.c", + ], + "crypto/asn1/nsseq.o" => + [ + "crypto/asn1/nsseq.c", + ], + "crypto/asn1/p5_pbe.o" => + [ + "crypto/asn1/p5_pbe.c", + ], + "crypto/asn1/p5_pbev2.o" => + [ + "crypto/asn1/p5_pbev2.c", + ], + "crypto/asn1/p5_scrypt.o" => + [ + "crypto/asn1/p5_scrypt.c", + ], + "crypto/asn1/p8_pkey.o" => + [ + "crypto/asn1/p8_pkey.c", + ], + "crypto/asn1/t_bitst.o" => + [ + "crypto/asn1/t_bitst.c", + ], + "crypto/asn1/t_pkey.o" => + [ + "crypto/asn1/t_pkey.c", + ], + "crypto/asn1/t_spki.o" => + [ + "crypto/asn1/t_spki.c", + ], + "crypto/asn1/tasn_dec.o" => + [ + "crypto/asn1/tasn_dec.c", + ], + "crypto/asn1/tasn_enc.o" => + [ + "crypto/asn1/tasn_enc.c", + ], + "crypto/asn1/tasn_fre.o" => + [ + "crypto/asn1/tasn_fre.c", + ], + "crypto/asn1/tasn_new.o" => + [ + "crypto/asn1/tasn_new.c", + ], + "crypto/asn1/tasn_prn.o" => + [ + "crypto/asn1/tasn_prn.c", + ], + "crypto/asn1/tasn_scn.o" => + [ + "crypto/asn1/tasn_scn.c", + ], + "crypto/asn1/tasn_typ.o" => + [ + "crypto/asn1/tasn_typ.c", + ], + "crypto/asn1/tasn_utl.o" => + [ + "crypto/asn1/tasn_utl.c", + ], + "crypto/asn1/x_algor.o" => + [ + "crypto/asn1/x_algor.c", + ], + "crypto/asn1/x_bignum.o" => + [ + "crypto/asn1/x_bignum.c", + ], + "crypto/asn1/x_info.o" => + [ + "crypto/asn1/x_info.c", + ], + "crypto/asn1/x_int64.o" => + [ + "crypto/asn1/x_int64.c", + ], + "crypto/asn1/x_long.o" => + [ + "crypto/asn1/x_long.c", + ], + "crypto/asn1/x_pkey.o" => + [ + "crypto/asn1/x_pkey.c", + ], + "crypto/asn1/x_sig.o" => + [ + "crypto/asn1/x_sig.c", + ], + "crypto/asn1/x_spki.o" => + [ + "crypto/asn1/x_spki.c", + ], + "crypto/asn1/x_val.o" => + [ + "crypto/asn1/x_val.c", + ], + "crypto/async/arch/async_null.o" => + [ + "crypto/async/arch/async_null.c", + ], + "crypto/async/arch/async_posix.o" => + [ + "crypto/async/arch/async_posix.c", + ], + "crypto/async/arch/async_win.o" => + [ + "crypto/async/arch/async_win.c", + ], + "crypto/async/async.o" => + [ + "crypto/async/async.c", + ], + "crypto/async/async_err.o" => + [ + "crypto/async/async_err.c", + ], + "crypto/async/async_wait.o" => + [ + "crypto/async/async_wait.c", + ], + "crypto/bf/bf_cfb64.o" => + [ + "crypto/bf/bf_cfb64.c", + ], + "crypto/bf/bf_ecb.o" => + [ + "crypto/bf/bf_ecb.c", + ], + "crypto/bf/bf_enc.o" => + [ + "crypto/bf/bf_enc.c", + ], + "crypto/bf/bf_ofb64.o" => + [ + "crypto/bf/bf_ofb64.c", + ], + "crypto/bf/bf_skey.o" => + [ + "crypto/bf/bf_skey.c", + ], + "crypto/bio/b_addr.o" => + [ + "crypto/bio/b_addr.c", + ], + "crypto/bio/b_dump.o" => + [ + "crypto/bio/b_dump.c", + ], + "crypto/bio/b_print.o" => + [ + "crypto/bio/b_print.c", + ], + "crypto/bio/b_sock.o" => + [ + "crypto/bio/b_sock.c", + ], + "crypto/bio/b_sock2.o" => + [ + "crypto/bio/b_sock2.c", + ], + "crypto/bio/bf_buff.o" => + [ + "crypto/bio/bf_buff.c", + ], + "crypto/bio/bf_lbuf.o" => + [ + "crypto/bio/bf_lbuf.c", + ], + "crypto/bio/bf_nbio.o" => + [ + "crypto/bio/bf_nbio.c", + ], + "crypto/bio/bf_null.o" => + [ + "crypto/bio/bf_null.c", + ], + "crypto/bio/bio_cb.o" => + [ + "crypto/bio/bio_cb.c", + ], + "crypto/bio/bio_err.o" => + [ + "crypto/bio/bio_err.c", + ], + "crypto/bio/bio_lib.o" => + [ + "crypto/bio/bio_lib.c", + ], + "crypto/bio/bio_meth.o" => + [ + "crypto/bio/bio_meth.c", + ], + "crypto/bio/bss_acpt.o" => + [ + "crypto/bio/bss_acpt.c", + ], + "crypto/bio/bss_bio.o" => + [ + "crypto/bio/bss_bio.c", + ], + "crypto/bio/bss_conn.o" => + [ + "crypto/bio/bss_conn.c", + ], + "crypto/bio/bss_dgram.o" => + [ + "crypto/bio/bss_dgram.c", + ], + "crypto/bio/bss_fd.o" => + [ + "crypto/bio/bss_fd.c", + ], + "crypto/bio/bss_file.o" => + [ + "crypto/bio/bss_file.c", + ], + "crypto/bio/bss_log.o" => + [ + "crypto/bio/bss_log.c", + ], + "crypto/bio/bss_mem.o" => + [ + "crypto/bio/bss_mem.c", + ], + "crypto/bio/bss_null.o" => + [ + "crypto/bio/bss_null.c", + ], + "crypto/bio/bss_sock.o" => + [ + "crypto/bio/bss_sock.c", + ], + "crypto/blake2/blake2b.o" => + [ + "crypto/blake2/blake2b.c", + ], + "crypto/blake2/blake2s.o" => + [ + "crypto/blake2/blake2s.c", + ], + "crypto/blake2/m_blake2b.o" => + [ + "crypto/blake2/m_blake2b.c", + ], + "crypto/blake2/m_blake2s.o" => + [ + "crypto/blake2/m_blake2s.c", + ], + "crypto/bn/bn_add.o" => + [ + "crypto/bn/bn_add.c", + ], + "crypto/bn/bn_asm.o" => + [ + "crypto/bn/bn_asm.c", + ], + "crypto/bn/bn_blind.o" => + [ + "crypto/bn/bn_blind.c", + ], + "crypto/bn/bn_const.o" => + [ + "crypto/bn/bn_const.c", + ], + "crypto/bn/bn_ctx.o" => + [ + "crypto/bn/bn_ctx.c", + ], + "crypto/bn/bn_depr.o" => + [ + "crypto/bn/bn_depr.c", + ], + "crypto/bn/bn_dh.o" => + [ + "crypto/bn/bn_dh.c", + ], + "crypto/bn/bn_div.o" => + [ + "crypto/bn/bn_div.c", + ], + "crypto/bn/bn_err.o" => + [ + "crypto/bn/bn_err.c", + ], + "crypto/bn/bn_exp.o" => + [ + "crypto/bn/bn_exp.c", + ], + "crypto/bn/bn_exp2.o" => + [ + "crypto/bn/bn_exp2.c", + ], + "crypto/bn/bn_gcd.o" => + [ + "crypto/bn/bn_gcd.c", + ], + "crypto/bn/bn_gf2m.o" => + [ + "crypto/bn/bn_gf2m.c", + ], + "crypto/bn/bn_intern.o" => + [ + "crypto/bn/bn_intern.c", + ], + "crypto/bn/bn_kron.o" => + [ + "crypto/bn/bn_kron.c", + ], + "crypto/bn/bn_lib.o" => + [ + "crypto/bn/bn_lib.c", + ], + "crypto/bn/bn_mod.o" => + [ + "crypto/bn/bn_mod.c", + ], + "crypto/bn/bn_mont.o" => + [ + "crypto/bn/bn_mont.c", + ], + "crypto/bn/bn_mpi.o" => + [ + "crypto/bn/bn_mpi.c", + ], + "crypto/bn/bn_mul.o" => + [ + "crypto/bn/bn_mul.c", + ], + "crypto/bn/bn_nist.o" => + [ + "crypto/bn/bn_nist.c", + ], + "crypto/bn/bn_prime.o" => + [ + "crypto/bn/bn_prime.c", + ], + "crypto/bn/bn_print.o" => + [ + "crypto/bn/bn_print.c", + ], + "crypto/bn/bn_rand.o" => + [ + "crypto/bn/bn_rand.c", + ], + "crypto/bn/bn_recp.o" => + [ + "crypto/bn/bn_recp.c", + ], + "crypto/bn/bn_shift.o" => + [ + "crypto/bn/bn_shift.c", + ], + "crypto/bn/bn_sqr.o" => + [ + "crypto/bn/bn_sqr.c", + ], + "crypto/bn/bn_sqrt.o" => + [ + "crypto/bn/bn_sqrt.c", + ], + "crypto/bn/bn_srp.o" => + [ + "crypto/bn/bn_srp.c", + ], + "crypto/bn/bn_word.o" => + [ + "crypto/bn/bn_word.c", + ], + "crypto/bn/bn_x931p.o" => + [ + "crypto/bn/bn_x931p.c", + ], + "crypto/buffer/buf_err.o" => + [ + "crypto/buffer/buf_err.c", + ], + "crypto/buffer/buffer.o" => + [ + "crypto/buffer/buffer.c", + ], + "crypto/camellia/camellia.o" => + [ + "crypto/camellia/camellia.c", + ], + "crypto/camellia/cmll_cbc.o" => + [ + "crypto/camellia/cmll_cbc.c", + ], + "crypto/camellia/cmll_cfb.o" => + [ + "crypto/camellia/cmll_cfb.c", + ], + "crypto/camellia/cmll_ctr.o" => + [ + "crypto/camellia/cmll_ctr.c", + ], + "crypto/camellia/cmll_ecb.o" => + [ + "crypto/camellia/cmll_ecb.c", + ], + "crypto/camellia/cmll_misc.o" => + [ + "crypto/camellia/cmll_misc.c", + ], + "crypto/camellia/cmll_ofb.o" => + [ + "crypto/camellia/cmll_ofb.c", + ], + "crypto/cast/c_cfb64.o" => + [ + "crypto/cast/c_cfb64.c", + ], + "crypto/cast/c_ecb.o" => + [ + "crypto/cast/c_ecb.c", + ], + "crypto/cast/c_enc.o" => + [ + "crypto/cast/c_enc.c", + ], + "crypto/cast/c_ofb64.o" => + [ + "crypto/cast/c_ofb64.c", + ], + "crypto/cast/c_skey.o" => + [ + "crypto/cast/c_skey.c", + ], + "crypto/chacha/chacha_enc.o" => + [ + "crypto/chacha/chacha_enc.c", + ], + "crypto/cmac/cm_ameth.o" => + [ + "crypto/cmac/cm_ameth.c", + ], + "crypto/cmac/cm_pmeth.o" => + [ + "crypto/cmac/cm_pmeth.c", + ], + "crypto/cmac/cmac.o" => + [ + "crypto/cmac/cmac.c", + ], + "crypto/cms/cms_asn1.o" => + [ + "crypto/cms/cms_asn1.c", + ], + "crypto/cms/cms_att.o" => + [ + "crypto/cms/cms_att.c", + ], + "crypto/cms/cms_cd.o" => + [ + "crypto/cms/cms_cd.c", + ], + "crypto/cms/cms_dd.o" => + [ + "crypto/cms/cms_dd.c", + ], + "crypto/cms/cms_enc.o" => + [ + "crypto/cms/cms_enc.c", + ], + "crypto/cms/cms_env.o" => + [ + "crypto/cms/cms_env.c", + ], + "crypto/cms/cms_err.o" => + [ + "crypto/cms/cms_err.c", + ], + "crypto/cms/cms_ess.o" => + [ + "crypto/cms/cms_ess.c", + ], + "crypto/cms/cms_io.o" => + [ + "crypto/cms/cms_io.c", + ], + "crypto/cms/cms_kari.o" => + [ + "crypto/cms/cms_kari.c", + ], + "crypto/cms/cms_lib.o" => + [ + "crypto/cms/cms_lib.c", + ], + "crypto/cms/cms_pwri.o" => + [ + "crypto/cms/cms_pwri.c", + ], + "crypto/cms/cms_sd.o" => + [ + "crypto/cms/cms_sd.c", + ], + "crypto/cms/cms_smime.o" => + [ + "crypto/cms/cms_smime.c", + ], + "crypto/conf/conf_api.o" => + [ + "crypto/conf/conf_api.c", + ], + "crypto/conf/conf_def.o" => + [ + "crypto/conf/conf_def.c", + ], + "crypto/conf/conf_err.o" => + [ + "crypto/conf/conf_err.c", + ], + "crypto/conf/conf_lib.o" => + [ + "crypto/conf/conf_lib.c", + ], + "crypto/conf/conf_mall.o" => + [ + "crypto/conf/conf_mall.c", + ], + "crypto/conf/conf_mod.o" => + [ + "crypto/conf/conf_mod.c", + ], + "crypto/conf/conf_sap.o" => + [ + "crypto/conf/conf_sap.c", + ], + "crypto/conf/conf_ssl.o" => + [ + "crypto/conf/conf_ssl.c", + ], + "crypto/cpt_err.o" => + [ + "crypto/cpt_err.c", + ], + "crypto/cryptlib.o" => + [ + "crypto/cryptlib.c", + ], + "crypto/ct/ct_b64.o" => + [ + "crypto/ct/ct_b64.c", + ], + "crypto/ct/ct_err.o" => + [ + "crypto/ct/ct_err.c", + ], + "crypto/ct/ct_log.o" => + [ + "crypto/ct/ct_log.c", + ], + "crypto/ct/ct_oct.o" => + [ + "crypto/ct/ct_oct.c", + ], + "crypto/ct/ct_policy.o" => + [ + "crypto/ct/ct_policy.c", + ], + "crypto/ct/ct_prn.o" => + [ + "crypto/ct/ct_prn.c", + ], + "crypto/ct/ct_sct.o" => + [ + "crypto/ct/ct_sct.c", + ], + "crypto/ct/ct_sct_ctx.o" => + [ + "crypto/ct/ct_sct_ctx.c", + ], + "crypto/ct/ct_vfy.o" => + [ + "crypto/ct/ct_vfy.c", + ], + "crypto/ct/ct_x509v3.o" => + [ + "crypto/ct/ct_x509v3.c", + ], + "crypto/ctype.o" => + [ + "crypto/ctype.c", + ], + "crypto/cversion.o" => + [ + "crypto/cversion.c", + ], + "crypto/des/cbc_cksm.o" => + [ + "crypto/des/cbc_cksm.c", + ], + "crypto/des/cbc_enc.o" => + [ + "crypto/des/cbc_enc.c", + ], + "crypto/des/cfb64ede.o" => + [ + "crypto/des/cfb64ede.c", + ], + "crypto/des/cfb64enc.o" => + [ + "crypto/des/cfb64enc.c", + ], + "crypto/des/cfb_enc.o" => + [ + "crypto/des/cfb_enc.c", + ], + "crypto/des/des_enc.o" => + [ + "crypto/des/des_enc.c", + ], + "crypto/des/ecb3_enc.o" => + [ + "crypto/des/ecb3_enc.c", + ], + "crypto/des/ecb_enc.o" => + [ + "crypto/des/ecb_enc.c", + ], + "crypto/des/fcrypt.o" => + [ + "crypto/des/fcrypt.c", + ], + "crypto/des/fcrypt_b.o" => + [ + "crypto/des/fcrypt_b.c", + ], + "crypto/des/ofb64ede.o" => + [ + "crypto/des/ofb64ede.c", + ], + "crypto/des/ofb64enc.o" => + [ + "crypto/des/ofb64enc.c", + ], + "crypto/des/ofb_enc.o" => + [ + "crypto/des/ofb_enc.c", + ], + "crypto/des/pcbc_enc.o" => + [ + "crypto/des/pcbc_enc.c", + ], + "crypto/des/qud_cksm.o" => + [ + "crypto/des/qud_cksm.c", + ], + "crypto/des/rand_key.o" => + [ + "crypto/des/rand_key.c", + ], + "crypto/des/set_key.o" => + [ + "crypto/des/set_key.c", + ], + "crypto/des/str2key.o" => + [ + "crypto/des/str2key.c", + ], + "crypto/des/xcbc_enc.o" => + [ + "crypto/des/xcbc_enc.c", + ], + "crypto/dh/dh_ameth.o" => + [ + "crypto/dh/dh_ameth.c", + ], + "crypto/dh/dh_asn1.o" => + [ + "crypto/dh/dh_asn1.c", + ], + "crypto/dh/dh_check.o" => + [ + "crypto/dh/dh_check.c", + ], + "crypto/dh/dh_depr.o" => + [ + "crypto/dh/dh_depr.c", + ], + "crypto/dh/dh_err.o" => + [ + "crypto/dh/dh_err.c", + ], + "crypto/dh/dh_gen.o" => + [ + "crypto/dh/dh_gen.c", + ], + "crypto/dh/dh_kdf.o" => + [ + "crypto/dh/dh_kdf.c", + ], + "crypto/dh/dh_key.o" => + [ + "crypto/dh/dh_key.c", + ], + "crypto/dh/dh_lib.o" => + [ + "crypto/dh/dh_lib.c", + ], + "crypto/dh/dh_meth.o" => + [ + "crypto/dh/dh_meth.c", + ], + "crypto/dh/dh_pmeth.o" => + [ + "crypto/dh/dh_pmeth.c", + ], + "crypto/dh/dh_prn.o" => + [ + "crypto/dh/dh_prn.c", + ], + "crypto/dh/dh_rfc5114.o" => + [ + "crypto/dh/dh_rfc5114.c", + ], + "crypto/dh/dh_rfc7919.o" => + [ + "crypto/dh/dh_rfc7919.c", + ], + "crypto/dsa/dsa_ameth.o" => + [ + "crypto/dsa/dsa_ameth.c", + ], + "crypto/dsa/dsa_asn1.o" => + [ + "crypto/dsa/dsa_asn1.c", + ], + "crypto/dsa/dsa_depr.o" => + [ + "crypto/dsa/dsa_depr.c", + ], + "crypto/dsa/dsa_err.o" => + [ + "crypto/dsa/dsa_err.c", + ], + "crypto/dsa/dsa_gen.o" => + [ + "crypto/dsa/dsa_gen.c", + ], + "crypto/dsa/dsa_key.o" => + [ + "crypto/dsa/dsa_key.c", + ], + "crypto/dsa/dsa_lib.o" => + [ + "crypto/dsa/dsa_lib.c", + ], + "crypto/dsa/dsa_meth.o" => + [ + "crypto/dsa/dsa_meth.c", + ], + "crypto/dsa/dsa_ossl.o" => + [ + "crypto/dsa/dsa_ossl.c", + ], + "crypto/dsa/dsa_pmeth.o" => + [ + "crypto/dsa/dsa_pmeth.c", + ], + "crypto/dsa/dsa_prn.o" => + [ + "crypto/dsa/dsa_prn.c", + ], + "crypto/dsa/dsa_sign.o" => + [ + "crypto/dsa/dsa_sign.c", + ], + "crypto/dsa/dsa_vrf.o" => + [ + "crypto/dsa/dsa_vrf.c", + ], + "crypto/dso/dso_dl.o" => + [ + "crypto/dso/dso_dl.c", + ], + "crypto/dso/dso_dlfcn.o" => + [ + "crypto/dso/dso_dlfcn.c", + ], + "crypto/dso/dso_err.o" => + [ + "crypto/dso/dso_err.c", + ], + "crypto/dso/dso_lib.o" => + [ + "crypto/dso/dso_lib.c", + ], + "crypto/dso/dso_openssl.o" => + [ + "crypto/dso/dso_openssl.c", + ], + "crypto/dso/dso_vms.o" => + [ + "crypto/dso/dso_vms.c", + ], + "crypto/dso/dso_win32.o" => + [ + "crypto/dso/dso_win32.c", + ], + "crypto/ebcdic.o" => + [ + "crypto/ebcdic.c", + ], + "crypto/ec/curve25519.o" => + [ + "crypto/ec/curve25519.c", + ], + "crypto/ec/curve448/arch_32/f_impl.o" => + [ + "crypto/ec/curve448/arch_32/f_impl.c", + ], + "crypto/ec/curve448/curve448.o" => + [ + "crypto/ec/curve448/curve448.c", + ], + "crypto/ec/curve448/curve448_tables.o" => + [ + "crypto/ec/curve448/curve448_tables.c", + ], + "crypto/ec/curve448/eddsa.o" => + [ + "crypto/ec/curve448/eddsa.c", + ], + "crypto/ec/curve448/f_generic.o" => + [ + "crypto/ec/curve448/f_generic.c", + ], + "crypto/ec/curve448/scalar.o" => + [ + "crypto/ec/curve448/scalar.c", + ], + "crypto/ec/ec2_oct.o" => + [ + "crypto/ec/ec2_oct.c", + ], + "crypto/ec/ec2_smpl.o" => + [ + "crypto/ec/ec2_smpl.c", + ], + "crypto/ec/ec_ameth.o" => + [ + "crypto/ec/ec_ameth.c", + ], + "crypto/ec/ec_asn1.o" => + [ + "crypto/ec/ec_asn1.c", + ], + "crypto/ec/ec_check.o" => + [ + "crypto/ec/ec_check.c", + ], + "crypto/ec/ec_curve.o" => + [ + "crypto/ec/ec_curve.c", + ], + "crypto/ec/ec_cvt.o" => + [ + "crypto/ec/ec_cvt.c", + ], + "crypto/ec/ec_err.o" => + [ + "crypto/ec/ec_err.c", + ], + "crypto/ec/ec_key.o" => + [ + "crypto/ec/ec_key.c", + ], + "crypto/ec/ec_kmeth.o" => + [ + "crypto/ec/ec_kmeth.c", + ], + "crypto/ec/ec_lib.o" => + [ + "crypto/ec/ec_lib.c", + ], + "crypto/ec/ec_mult.o" => + [ + "crypto/ec/ec_mult.c", + ], + "crypto/ec/ec_oct.o" => + [ + "crypto/ec/ec_oct.c", + ], + "crypto/ec/ec_pmeth.o" => + [ + "crypto/ec/ec_pmeth.c", + ], + "crypto/ec/ec_print.o" => + [ + "crypto/ec/ec_print.c", + ], + "crypto/ec/ecdh_kdf.o" => + [ + "crypto/ec/ecdh_kdf.c", + ], + "crypto/ec/ecdh_ossl.o" => + [ + "crypto/ec/ecdh_ossl.c", + ], + "crypto/ec/ecdsa_ossl.o" => + [ + "crypto/ec/ecdsa_ossl.c", + ], + "crypto/ec/ecdsa_sign.o" => + [ + "crypto/ec/ecdsa_sign.c", + ], + "crypto/ec/ecdsa_vrf.o" => + [ + "crypto/ec/ecdsa_vrf.c", + ], + "crypto/ec/eck_prn.o" => + [ + "crypto/ec/eck_prn.c", + ], + "crypto/ec/ecp_mont.o" => + [ + "crypto/ec/ecp_mont.c", + ], + "crypto/ec/ecp_nist.o" => + [ + "crypto/ec/ecp_nist.c", + ], + "crypto/ec/ecp_nistp224.o" => + [ + "crypto/ec/ecp_nistp224.c", + ], + "crypto/ec/ecp_nistp256.o" => + [ + "crypto/ec/ecp_nistp256.c", + ], + "crypto/ec/ecp_nistp521.o" => + [ + "crypto/ec/ecp_nistp521.c", + ], + "crypto/ec/ecp_nistputil.o" => + [ + "crypto/ec/ecp_nistputil.c", + ], + "crypto/ec/ecp_oct.o" => + [ + "crypto/ec/ecp_oct.c", + ], + "crypto/ec/ecp_smpl.o" => + [ + "crypto/ec/ecp_smpl.c", + ], + "crypto/ec/ecx_meth.o" => + [ + "crypto/ec/ecx_meth.c", + ], + "crypto/engine/eng_all.o" => + [ + "crypto/engine/eng_all.c", + ], + "crypto/engine/eng_cnf.o" => + [ + "crypto/engine/eng_cnf.c", + ], + "crypto/engine/eng_ctrl.o" => + [ + "crypto/engine/eng_ctrl.c", + ], + "crypto/engine/eng_dyn.o" => + [ + "crypto/engine/eng_dyn.c", + ], + "crypto/engine/eng_err.o" => + [ + "crypto/engine/eng_err.c", + ], + "crypto/engine/eng_fat.o" => + [ + "crypto/engine/eng_fat.c", + ], + "crypto/engine/eng_init.o" => + [ + "crypto/engine/eng_init.c", + ], + "crypto/engine/eng_lib.o" => + [ + "crypto/engine/eng_lib.c", + ], + "crypto/engine/eng_list.o" => + [ + "crypto/engine/eng_list.c", + ], + "crypto/engine/eng_openssl.o" => + [ + "crypto/engine/eng_openssl.c", + ], + "crypto/engine/eng_pkey.o" => + [ + "crypto/engine/eng_pkey.c", + ], + "crypto/engine/eng_rdrand.o" => + [ + "crypto/engine/eng_rdrand.c", + ], + "crypto/engine/eng_table.o" => + [ + "crypto/engine/eng_table.c", + ], + "crypto/engine/tb_asnmth.o" => + [ + "crypto/engine/tb_asnmth.c", + ], + "crypto/engine/tb_cipher.o" => + [ + "crypto/engine/tb_cipher.c", + ], + "crypto/engine/tb_dh.o" => + [ + "crypto/engine/tb_dh.c", + ], + "crypto/engine/tb_digest.o" => + [ + "crypto/engine/tb_digest.c", + ], + "crypto/engine/tb_dsa.o" => + [ + "crypto/engine/tb_dsa.c", + ], + "crypto/engine/tb_eckey.o" => + [ + "crypto/engine/tb_eckey.c", + ], + "crypto/engine/tb_pkmeth.o" => + [ + "crypto/engine/tb_pkmeth.c", + ], + "crypto/engine/tb_rand.o" => + [ + "crypto/engine/tb_rand.c", + ], + "crypto/engine/tb_rsa.o" => + [ + "crypto/engine/tb_rsa.c", + ], + "crypto/err/err.o" => + [ + "crypto/err/err.c", + ], + "crypto/err/err_all.o" => + [ + "crypto/err/err_all.c", + ], + "crypto/err/err_prn.o" => + [ + "crypto/err/err_prn.c", + ], + "crypto/evp/bio_b64.o" => + [ + "crypto/evp/bio_b64.c", + ], + "crypto/evp/bio_enc.o" => + [ + "crypto/evp/bio_enc.c", + ], + "crypto/evp/bio_md.o" => + [ + "crypto/evp/bio_md.c", + ], + "crypto/evp/bio_ok.o" => + [ + "crypto/evp/bio_ok.c", + ], + "crypto/evp/c_allc.o" => + [ + "crypto/evp/c_allc.c", + ], + "crypto/evp/c_alld.o" => + [ + "crypto/evp/c_alld.c", + ], + "crypto/evp/cmeth_lib.o" => + [ + "crypto/evp/cmeth_lib.c", + ], + "crypto/evp/digest.o" => + [ + "crypto/evp/digest.c", + ], + "crypto/evp/e_aes.o" => + [ + "crypto/evp/e_aes.c", + ], + "crypto/evp/e_aes_cbc_hmac_sha1.o" => + [ + "crypto/evp/e_aes_cbc_hmac_sha1.c", + ], + "crypto/evp/e_aes_cbc_hmac_sha256.o" => + [ + "crypto/evp/e_aes_cbc_hmac_sha256.c", + ], + "crypto/evp/e_aria.o" => + [ + "crypto/evp/e_aria.c", + ], + "crypto/evp/e_bf.o" => + [ + "crypto/evp/e_bf.c", + ], + "crypto/evp/e_camellia.o" => + [ + "crypto/evp/e_camellia.c", + ], + "crypto/evp/e_cast.o" => + [ + "crypto/evp/e_cast.c", + ], + "crypto/evp/e_chacha20_poly1305.o" => + [ + "crypto/evp/e_chacha20_poly1305.c", + ], + "crypto/evp/e_des.o" => + [ + "crypto/evp/e_des.c", + ], + "crypto/evp/e_des3.o" => + [ + "crypto/evp/e_des3.c", + ], + "crypto/evp/e_idea.o" => + [ + "crypto/evp/e_idea.c", + ], + "crypto/evp/e_null.o" => + [ + "crypto/evp/e_null.c", + ], + "crypto/evp/e_old.o" => + [ + "crypto/evp/e_old.c", + ], + "crypto/evp/e_rc2.o" => + [ + "crypto/evp/e_rc2.c", + ], + "crypto/evp/e_rc4.o" => + [ + "crypto/evp/e_rc4.c", + ], + "crypto/evp/e_rc4_hmac_md5.o" => + [ + "crypto/evp/e_rc4_hmac_md5.c", + ], + "crypto/evp/e_rc5.o" => + [ + "crypto/evp/e_rc5.c", + ], + "crypto/evp/e_seed.o" => + [ + "crypto/evp/e_seed.c", + ], + "crypto/evp/e_sm4.o" => + [ + "crypto/evp/e_sm4.c", + ], + "crypto/evp/e_xcbc_d.o" => + [ + "crypto/evp/e_xcbc_d.c", + ], + "crypto/evp/encode.o" => + [ + "crypto/evp/encode.c", + ], + "crypto/evp/evp_cnf.o" => + [ + "crypto/evp/evp_cnf.c", + ], + "crypto/evp/evp_enc.o" => + [ + "crypto/evp/evp_enc.c", + ], + "crypto/evp/evp_err.o" => + [ + "crypto/evp/evp_err.c", + ], + "crypto/evp/evp_key.o" => + [ + "crypto/evp/evp_key.c", + ], + "crypto/evp/evp_lib.o" => + [ + "crypto/evp/evp_lib.c", + ], + "crypto/evp/evp_pbe.o" => + [ + "crypto/evp/evp_pbe.c", + ], + "crypto/evp/evp_pkey.o" => + [ + "crypto/evp/evp_pkey.c", + ], + "crypto/evp/m_md2.o" => + [ + "crypto/evp/m_md2.c", + ], + "crypto/evp/m_md4.o" => + [ + "crypto/evp/m_md4.c", + ], + "crypto/evp/m_md5.o" => + [ + "crypto/evp/m_md5.c", + ], + "crypto/evp/m_md5_sha1.o" => + [ + "crypto/evp/m_md5_sha1.c", + ], + "crypto/evp/m_mdc2.o" => + [ + "crypto/evp/m_mdc2.c", + ], + "crypto/evp/m_null.o" => + [ + "crypto/evp/m_null.c", + ], + "crypto/evp/m_ripemd.o" => + [ + "crypto/evp/m_ripemd.c", + ], + "crypto/evp/m_sha1.o" => + [ + "crypto/evp/m_sha1.c", + ], + "crypto/evp/m_sha3.o" => + [ + "crypto/evp/m_sha3.c", + ], + "crypto/evp/m_sigver.o" => + [ + "crypto/evp/m_sigver.c", + ], + "crypto/evp/m_wp.o" => + [ + "crypto/evp/m_wp.c", + ], + "crypto/evp/names.o" => + [ + "crypto/evp/names.c", + ], + "crypto/evp/p5_crpt.o" => + [ + "crypto/evp/p5_crpt.c", + ], + "crypto/evp/p5_crpt2.o" => + [ + "crypto/evp/p5_crpt2.c", + ], + "crypto/evp/p_dec.o" => + [ + "crypto/evp/p_dec.c", + ], + "crypto/evp/p_enc.o" => + [ + "crypto/evp/p_enc.c", + ], + "crypto/evp/p_lib.o" => + [ + "crypto/evp/p_lib.c", + ], + "crypto/evp/p_open.o" => + [ + "crypto/evp/p_open.c", + ], + "crypto/evp/p_seal.o" => + [ + "crypto/evp/p_seal.c", + ], + "crypto/evp/p_sign.o" => + [ + "crypto/evp/p_sign.c", + ], + "crypto/evp/p_verify.o" => + [ + "crypto/evp/p_verify.c", + ], + "crypto/evp/pbe_scrypt.o" => + [ + "crypto/evp/pbe_scrypt.c", + ], + "crypto/evp/pmeth_fn.o" => + [ + "crypto/evp/pmeth_fn.c", + ], + "crypto/evp/pmeth_gn.o" => + [ + "crypto/evp/pmeth_gn.c", + ], + "crypto/evp/pmeth_lib.o" => + [ + "crypto/evp/pmeth_lib.c", + ], + "crypto/ex_data.o" => + [ + "crypto/ex_data.c", + ], + "crypto/getenv.o" => + [ + "crypto/getenv.c", + ], + "crypto/hmac/hm_ameth.o" => + [ + "crypto/hmac/hm_ameth.c", + ], + "crypto/hmac/hm_pmeth.o" => + [ + "crypto/hmac/hm_pmeth.c", + ], + "crypto/hmac/hmac.o" => + [ + "crypto/hmac/hmac.c", + ], + "crypto/idea/i_cbc.o" => + [ + "crypto/idea/i_cbc.c", + ], + "crypto/idea/i_cfb64.o" => + [ + "crypto/idea/i_cfb64.c", + ], + "crypto/idea/i_ecb.o" => + [ + "crypto/idea/i_ecb.c", + ], + "crypto/idea/i_ofb64.o" => + [ + "crypto/idea/i_ofb64.c", + ], + "crypto/idea/i_skey.o" => + [ + "crypto/idea/i_skey.c", + ], + "crypto/init.o" => + [ + "crypto/init.c", + ], + "crypto/kdf/hkdf.o" => + [ + "crypto/kdf/hkdf.c", + ], + "crypto/kdf/kdf_err.o" => + [ + "crypto/kdf/kdf_err.c", + ], + "crypto/kdf/scrypt.o" => + [ + "crypto/kdf/scrypt.c", + ], + "crypto/kdf/tls1_prf.o" => + [ + "crypto/kdf/tls1_prf.c", + ], + "crypto/lhash/lh_stats.o" => + [ + "crypto/lhash/lh_stats.c", + ], + "crypto/lhash/lhash.o" => + [ + "crypto/lhash/lhash.c", + ], + "crypto/md4/md4_dgst.o" => + [ + "crypto/md4/md4_dgst.c", + ], + "crypto/md4/md4_one.o" => + [ + "crypto/md4/md4_one.c", + ], + "crypto/md5/md5_dgst.o" => + [ + "crypto/md5/md5_dgst.c", + ], + "crypto/md5/md5_one.o" => + [ + "crypto/md5/md5_one.c", + ], + "crypto/mdc2/mdc2_one.o" => + [ + "crypto/mdc2/mdc2_one.c", + ], + "crypto/mdc2/mdc2dgst.o" => + [ + "crypto/mdc2/mdc2dgst.c", + ], + "crypto/mem.o" => + [ + "crypto/mem.c", + ], + "crypto/mem_clr.o" => + [ + "crypto/mem_clr.c", + ], + "crypto/mem_dbg.o" => + [ + "crypto/mem_dbg.c", + ], + "crypto/mem_sec.o" => + [ + "crypto/mem_sec.c", + ], + "crypto/modes/cbc128.o" => + [ + "crypto/modes/cbc128.c", + ], + "crypto/modes/ccm128.o" => + [ + "crypto/modes/ccm128.c", + ], + "crypto/modes/cfb128.o" => + [ + "crypto/modes/cfb128.c", + ], + "crypto/modes/ctr128.o" => + [ + "crypto/modes/ctr128.c", + ], + "crypto/modes/cts128.o" => + [ + "crypto/modes/cts128.c", + ], + "crypto/modes/gcm128.o" => + [ + "crypto/modes/gcm128.c", + ], + "crypto/modes/ocb128.o" => + [ + "crypto/modes/ocb128.c", + ], + "crypto/modes/ofb128.o" => + [ + "crypto/modes/ofb128.c", + ], + "crypto/modes/wrap128.o" => + [ + "crypto/modes/wrap128.c", + ], + "crypto/modes/xts128.o" => + [ + "crypto/modes/xts128.c", + ], + "crypto/o_dir.o" => + [ + "crypto/o_dir.c", + ], + "crypto/o_fips.o" => + [ + "crypto/o_fips.c", + ], + "crypto/o_fopen.o" => + [ + "crypto/o_fopen.c", + ], + "crypto/o_init.o" => + [ + "crypto/o_init.c", + ], + "crypto/o_str.o" => + [ + "crypto/o_str.c", + ], + "crypto/o_time.o" => + [ + "crypto/o_time.c", + ], + "crypto/objects/o_names.o" => + [ + "crypto/objects/o_names.c", + ], + "crypto/objects/obj_dat.o" => + [ + "crypto/objects/obj_dat.c", + ], + "crypto/objects/obj_err.o" => + [ + "crypto/objects/obj_err.c", + ], + "crypto/objects/obj_lib.o" => + [ + "crypto/objects/obj_lib.c", + ], + "crypto/objects/obj_xref.o" => + [ + "crypto/objects/obj_xref.c", + ], + "crypto/ocsp/ocsp_asn.o" => + [ + "crypto/ocsp/ocsp_asn.c", + ], + "crypto/ocsp/ocsp_cl.o" => + [ + "crypto/ocsp/ocsp_cl.c", + ], + "crypto/ocsp/ocsp_err.o" => + [ + "crypto/ocsp/ocsp_err.c", + ], + "crypto/ocsp/ocsp_ext.o" => + [ + "crypto/ocsp/ocsp_ext.c", + ], + "crypto/ocsp/ocsp_ht.o" => + [ + "crypto/ocsp/ocsp_ht.c", + ], + "crypto/ocsp/ocsp_lib.o" => + [ + "crypto/ocsp/ocsp_lib.c", + ], + "crypto/ocsp/ocsp_prn.o" => + [ + "crypto/ocsp/ocsp_prn.c", + ], + "crypto/ocsp/ocsp_srv.o" => + [ + "crypto/ocsp/ocsp_srv.c", + ], + "crypto/ocsp/ocsp_vfy.o" => + [ + "crypto/ocsp/ocsp_vfy.c", + ], + "crypto/ocsp/v3_ocsp.o" => + [ + "crypto/ocsp/v3_ocsp.c", + ], + "crypto/pem/pem_all.o" => + [ + "crypto/pem/pem_all.c", + ], + "crypto/pem/pem_err.o" => + [ + "crypto/pem/pem_err.c", + ], + "crypto/pem/pem_info.o" => + [ + "crypto/pem/pem_info.c", + ], + "crypto/pem/pem_lib.o" => + [ + "crypto/pem/pem_lib.c", + ], + "crypto/pem/pem_oth.o" => + [ + "crypto/pem/pem_oth.c", + ], + "crypto/pem/pem_pk8.o" => + [ + "crypto/pem/pem_pk8.c", + ], + "crypto/pem/pem_pkey.o" => + [ + "crypto/pem/pem_pkey.c", + ], + "crypto/pem/pem_sign.o" => + [ + "crypto/pem/pem_sign.c", + ], + "crypto/pem/pem_x509.o" => + [ + "crypto/pem/pem_x509.c", + ], + "crypto/pem/pem_xaux.o" => + [ + "crypto/pem/pem_xaux.c", + ], + "crypto/pem/pvkfmt.o" => + [ + "crypto/pem/pvkfmt.c", + ], + "crypto/pkcs12/p12_add.o" => + [ + "crypto/pkcs12/p12_add.c", + ], + "crypto/pkcs12/p12_asn.o" => + [ + "crypto/pkcs12/p12_asn.c", + ], + "crypto/pkcs12/p12_attr.o" => + [ + "crypto/pkcs12/p12_attr.c", + ], + "crypto/pkcs12/p12_crpt.o" => + [ + "crypto/pkcs12/p12_crpt.c", + ], + "crypto/pkcs12/p12_crt.o" => + [ + "crypto/pkcs12/p12_crt.c", + ], + "crypto/pkcs12/p12_decr.o" => + [ + "crypto/pkcs12/p12_decr.c", + ], + "crypto/pkcs12/p12_init.o" => + [ + "crypto/pkcs12/p12_init.c", + ], + "crypto/pkcs12/p12_key.o" => + [ + "crypto/pkcs12/p12_key.c", + ], + "crypto/pkcs12/p12_kiss.o" => + [ + "crypto/pkcs12/p12_kiss.c", + ], + "crypto/pkcs12/p12_mutl.o" => + [ + "crypto/pkcs12/p12_mutl.c", + ], + "crypto/pkcs12/p12_npas.o" => + [ + "crypto/pkcs12/p12_npas.c", + ], + "crypto/pkcs12/p12_p8d.o" => + [ + "crypto/pkcs12/p12_p8d.c", + ], + "crypto/pkcs12/p12_p8e.o" => + [ + "crypto/pkcs12/p12_p8e.c", + ], + "crypto/pkcs12/p12_sbag.o" => + [ + "crypto/pkcs12/p12_sbag.c", + ], + "crypto/pkcs12/p12_utl.o" => + [ + "crypto/pkcs12/p12_utl.c", + ], + "crypto/pkcs12/pk12err.o" => + [ + "crypto/pkcs12/pk12err.c", + ], + "crypto/pkcs7/bio_pk7.o" => + [ + "crypto/pkcs7/bio_pk7.c", + ], + "crypto/pkcs7/pk7_asn1.o" => + [ + "crypto/pkcs7/pk7_asn1.c", + ], + "crypto/pkcs7/pk7_attr.o" => + [ + "crypto/pkcs7/pk7_attr.c", + ], + "crypto/pkcs7/pk7_doit.o" => + [ + "crypto/pkcs7/pk7_doit.c", + ], + "crypto/pkcs7/pk7_lib.o" => + [ + "crypto/pkcs7/pk7_lib.c", + ], + "crypto/pkcs7/pk7_mime.o" => + [ + "crypto/pkcs7/pk7_mime.c", + ], + "crypto/pkcs7/pk7_smime.o" => + [ + "crypto/pkcs7/pk7_smime.c", + ], + "crypto/pkcs7/pkcs7err.o" => + [ + "crypto/pkcs7/pkcs7err.c", + ], + "crypto/poly1305/poly1305.o" => + [ + "crypto/poly1305/poly1305.c", + ], + "crypto/poly1305/poly1305_ameth.o" => + [ + "crypto/poly1305/poly1305_ameth.c", + ], + "crypto/poly1305/poly1305_pmeth.o" => + [ + "crypto/poly1305/poly1305_pmeth.c", + ], + "crypto/rand/drbg_ctr.o" => + [ + "crypto/rand/drbg_ctr.c", + ], + "crypto/rand/drbg_lib.o" => + [ + "crypto/rand/drbg_lib.c", + ], + "crypto/rand/rand_egd.o" => + [ + "crypto/rand/rand_egd.c", + ], + "crypto/rand/rand_err.o" => + [ + "crypto/rand/rand_err.c", + ], + "crypto/rand/rand_lib.o" => + [ + "crypto/rand/rand_lib.c", + ], + "crypto/rand/rand_unix.o" => + [ + "crypto/rand/rand_unix.c", + ], + "crypto/rand/rand_vms.o" => + [ + "crypto/rand/rand_vms.c", + ], + "crypto/rand/rand_win.o" => + [ + "crypto/rand/rand_win.c", + ], + "crypto/rand/randfile.o" => + [ + "crypto/rand/randfile.c", + ], + "crypto/rc2/rc2_cbc.o" => + [ + "crypto/rc2/rc2_cbc.c", + ], + "crypto/rc2/rc2_ecb.o" => + [ + "crypto/rc2/rc2_ecb.c", + ], + "crypto/rc2/rc2_skey.o" => + [ + "crypto/rc2/rc2_skey.c", + ], + "crypto/rc2/rc2cfb64.o" => + [ + "crypto/rc2/rc2cfb64.c", + ], + "crypto/rc2/rc2ofb64.o" => + [ + "crypto/rc2/rc2ofb64.c", + ], + "crypto/rc4/rc4_enc.o" => + [ + "crypto/rc4/rc4_enc.c", + ], + "crypto/rc4/rc4_skey.o" => + [ + "crypto/rc4/rc4_skey.c", + ], + "crypto/ripemd/rmd_dgst.o" => + [ + "crypto/ripemd/rmd_dgst.c", + ], + "crypto/ripemd/rmd_one.o" => + [ + "crypto/ripemd/rmd_one.c", + ], + "crypto/rsa/rsa_ameth.o" => + [ + "crypto/rsa/rsa_ameth.c", + ], + "crypto/rsa/rsa_asn1.o" => + [ + "crypto/rsa/rsa_asn1.c", + ], + "crypto/rsa/rsa_chk.o" => + [ + "crypto/rsa/rsa_chk.c", + ], + "crypto/rsa/rsa_crpt.o" => + [ + "crypto/rsa/rsa_crpt.c", + ], + "crypto/rsa/rsa_depr.o" => + [ + "crypto/rsa/rsa_depr.c", + ], + "crypto/rsa/rsa_err.o" => + [ + "crypto/rsa/rsa_err.c", + ], + "crypto/rsa/rsa_gen.o" => + [ + "crypto/rsa/rsa_gen.c", + ], + "crypto/rsa/rsa_lib.o" => + [ + "crypto/rsa/rsa_lib.c", + ], + "crypto/rsa/rsa_meth.o" => + [ + "crypto/rsa/rsa_meth.c", + ], + "crypto/rsa/rsa_mp.o" => + [ + "crypto/rsa/rsa_mp.c", + ], + "crypto/rsa/rsa_none.o" => + [ + "crypto/rsa/rsa_none.c", + ], + "crypto/rsa/rsa_oaep.o" => + [ + "crypto/rsa/rsa_oaep.c", + ], + "crypto/rsa/rsa_ossl.o" => + [ + "crypto/rsa/rsa_ossl.c", + ], + "crypto/rsa/rsa_pk1.o" => + [ + "crypto/rsa/rsa_pk1.c", + ], + "crypto/rsa/rsa_pmeth.o" => + [ + "crypto/rsa/rsa_pmeth.c", + ], + "crypto/rsa/rsa_prn.o" => + [ + "crypto/rsa/rsa_prn.c", + ], + "crypto/rsa/rsa_pss.o" => + [ + "crypto/rsa/rsa_pss.c", + ], + "crypto/rsa/rsa_saos.o" => + [ + "crypto/rsa/rsa_saos.c", + ], + "crypto/rsa/rsa_sign.o" => + [ + "crypto/rsa/rsa_sign.c", + ], + "crypto/rsa/rsa_ssl.o" => + [ + "crypto/rsa/rsa_ssl.c", + ], + "crypto/rsa/rsa_x931.o" => + [ + "crypto/rsa/rsa_x931.c", + ], + "crypto/rsa/rsa_x931g.o" => + [ + "crypto/rsa/rsa_x931g.c", + ], + "crypto/seed/seed.o" => + [ + "crypto/seed/seed.c", + ], + "crypto/seed/seed_cbc.o" => + [ + "crypto/seed/seed_cbc.c", + ], + "crypto/seed/seed_cfb.o" => + [ + "crypto/seed/seed_cfb.c", + ], + "crypto/seed/seed_ecb.o" => + [ + "crypto/seed/seed_ecb.c", + ], + "crypto/seed/seed_ofb.o" => + [ + "crypto/seed/seed_ofb.c", + ], + "crypto/sha/keccak1600.o" => + [ + "crypto/sha/keccak1600.c", + ], + "crypto/sha/sha1_one.o" => + [ + "crypto/sha/sha1_one.c", + ], + "crypto/sha/sha1dgst.o" => + [ + "crypto/sha/sha1dgst.c", + ], + "crypto/sha/sha256.o" => + [ + "crypto/sha/sha256.c", + ], + "crypto/sha/sha512.o" => + [ + "crypto/sha/sha512.c", + ], + "crypto/siphash/siphash.o" => + [ + "crypto/siphash/siphash.c", + ], + "crypto/siphash/siphash_ameth.o" => + [ + "crypto/siphash/siphash_ameth.c", + ], + "crypto/siphash/siphash_pmeth.o" => + [ + "crypto/siphash/siphash_pmeth.c", + ], + "crypto/sm2/sm2_crypt.o" => + [ + "crypto/sm2/sm2_crypt.c", + ], + "crypto/sm2/sm2_err.o" => + [ + "crypto/sm2/sm2_err.c", + ], + "crypto/sm2/sm2_pmeth.o" => + [ + "crypto/sm2/sm2_pmeth.c", + ], + "crypto/sm2/sm2_sign.o" => + [ + "crypto/sm2/sm2_sign.c", + ], + "crypto/sm3/m_sm3.o" => + [ + "crypto/sm3/m_sm3.c", + ], + "crypto/sm3/sm3.o" => + [ + "crypto/sm3/sm3.c", + ], + "crypto/sm4/sm4.o" => + [ + "crypto/sm4/sm4.c", + ], + "crypto/srp/srp_lib.o" => + [ + "crypto/srp/srp_lib.c", + ], + "crypto/srp/srp_vfy.o" => + [ + "crypto/srp/srp_vfy.c", + ], + "crypto/stack/stack.o" => + [ + "crypto/stack/stack.c", + ], + "crypto/store/loader_file.o" => + [ + "crypto/store/loader_file.c", + ], + "crypto/store/store_err.o" => + [ + "crypto/store/store_err.c", + ], + "crypto/store/store_init.o" => + [ + "crypto/store/store_init.c", + ], + "crypto/store/store_lib.o" => + [ + "crypto/store/store_lib.c", + ], + "crypto/store/store_register.o" => + [ + "crypto/store/store_register.c", + ], + "crypto/store/store_strings.o" => + [ + "crypto/store/store_strings.c", + ], + "crypto/threads_none.o" => + [ + "crypto/threads_none.c", + ], + "crypto/threads_pthread.o" => + [ + "crypto/threads_pthread.c", + ], + "crypto/threads_win.o" => + [ + "crypto/threads_win.c", + ], + "crypto/ts/ts_asn1.o" => + [ + "crypto/ts/ts_asn1.c", + ], + "crypto/ts/ts_conf.o" => + [ + "crypto/ts/ts_conf.c", + ], + "crypto/ts/ts_err.o" => + [ + "crypto/ts/ts_err.c", + ], + "crypto/ts/ts_lib.o" => + [ + "crypto/ts/ts_lib.c", + ], + "crypto/ts/ts_req_print.o" => + [ + "crypto/ts/ts_req_print.c", + ], + "crypto/ts/ts_req_utils.o" => + [ + "crypto/ts/ts_req_utils.c", + ], + "crypto/ts/ts_rsp_print.o" => + [ + "crypto/ts/ts_rsp_print.c", + ], + "crypto/ts/ts_rsp_sign.o" => + [ + "crypto/ts/ts_rsp_sign.c", + ], + "crypto/ts/ts_rsp_utils.o" => + [ + "crypto/ts/ts_rsp_utils.c", + ], + "crypto/ts/ts_rsp_verify.o" => + [ + "crypto/ts/ts_rsp_verify.c", + ], + "crypto/ts/ts_verify_ctx.o" => + [ + "crypto/ts/ts_verify_ctx.c", + ], + "crypto/txt_db/txt_db.o" => + [ + "crypto/txt_db/txt_db.c", + ], + "crypto/ui/ui_err.o" => + [ + "crypto/ui/ui_err.c", + ], + "crypto/ui/ui_lib.o" => + [ + "crypto/ui/ui_lib.c", + ], + "crypto/ui/ui_null.o" => + [ + "crypto/ui/ui_null.c", + ], + "crypto/ui/ui_openssl.o" => + [ + "crypto/ui/ui_openssl.c", + ], + "crypto/ui/ui_util.o" => + [ + "crypto/ui/ui_util.c", + ], + "crypto/uid.o" => + [ + "crypto/uid.c", + ], + "crypto/whrlpool/wp_block.o" => + [ + "crypto/whrlpool/wp_block.c", + ], + "crypto/whrlpool/wp_dgst.o" => + [ + "crypto/whrlpool/wp_dgst.c", + ], + "crypto/x509/by_dir.o" => + [ + "crypto/x509/by_dir.c", + ], + "crypto/x509/by_file.o" => + [ + "crypto/x509/by_file.c", + ], + "crypto/x509/t_crl.o" => + [ + "crypto/x509/t_crl.c", + ], + "crypto/x509/t_req.o" => + [ + "crypto/x509/t_req.c", + ], + "crypto/x509/t_x509.o" => + [ + "crypto/x509/t_x509.c", + ], + "crypto/x509/x509_att.o" => + [ + "crypto/x509/x509_att.c", + ], + "crypto/x509/x509_cmp.o" => + [ + "crypto/x509/x509_cmp.c", + ], + "crypto/x509/x509_d2.o" => + [ + "crypto/x509/x509_d2.c", + ], + "crypto/x509/x509_def.o" => + [ + "crypto/x509/x509_def.c", + ], + "crypto/x509/x509_err.o" => + [ + "crypto/x509/x509_err.c", + ], + "crypto/x509/x509_ext.o" => + [ + "crypto/x509/x509_ext.c", + ], + "crypto/x509/x509_lu.o" => + [ + "crypto/x509/x509_lu.c", + ], + "crypto/x509/x509_meth.o" => + [ + "crypto/x509/x509_meth.c", + ], + "crypto/x509/x509_obj.o" => + [ + "crypto/x509/x509_obj.c", + ], + "crypto/x509/x509_r2x.o" => + [ + "crypto/x509/x509_r2x.c", + ], + "crypto/x509/x509_req.o" => + [ + "crypto/x509/x509_req.c", + ], + "crypto/x509/x509_set.o" => + [ + "crypto/x509/x509_set.c", + ], + "crypto/x509/x509_trs.o" => + [ + "crypto/x509/x509_trs.c", + ], + "crypto/x509/x509_txt.o" => + [ + "crypto/x509/x509_txt.c", + ], + "crypto/x509/x509_v3.o" => + [ + "crypto/x509/x509_v3.c", + ], + "crypto/x509/x509_vfy.o" => + [ + "crypto/x509/x509_vfy.c", + ], + "crypto/x509/x509_vpm.o" => + [ + "crypto/x509/x509_vpm.c", + ], + "crypto/x509/x509cset.o" => + [ + "crypto/x509/x509cset.c", + ], + "crypto/x509/x509name.o" => + [ + "crypto/x509/x509name.c", + ], + "crypto/x509/x509rset.o" => + [ + "crypto/x509/x509rset.c", + ], + "crypto/x509/x509spki.o" => + [ + "crypto/x509/x509spki.c", + ], + "crypto/x509/x509type.o" => + [ + "crypto/x509/x509type.c", + ], + "crypto/x509/x_all.o" => + [ + "crypto/x509/x_all.c", + ], + "crypto/x509/x_attrib.o" => + [ + "crypto/x509/x_attrib.c", + ], + "crypto/x509/x_crl.o" => + [ + "crypto/x509/x_crl.c", + ], + "crypto/x509/x_exten.o" => + [ + "crypto/x509/x_exten.c", + ], + "crypto/x509/x_name.o" => + [ + "crypto/x509/x_name.c", + ], + "crypto/x509/x_pubkey.o" => + [ + "crypto/x509/x_pubkey.c", + ], + "crypto/x509/x_req.o" => + [ + "crypto/x509/x_req.c", + ], + "crypto/x509/x_x509.o" => + [ + "crypto/x509/x_x509.c", + ], + "crypto/x509/x_x509a.o" => + [ + "crypto/x509/x_x509a.c", + ], + "crypto/x509v3/pcy_cache.o" => + [ + "crypto/x509v3/pcy_cache.c", + ], + "crypto/x509v3/pcy_data.o" => + [ + "crypto/x509v3/pcy_data.c", + ], + "crypto/x509v3/pcy_lib.o" => + [ + "crypto/x509v3/pcy_lib.c", + ], + "crypto/x509v3/pcy_map.o" => + [ + "crypto/x509v3/pcy_map.c", + ], + "crypto/x509v3/pcy_node.o" => + [ + "crypto/x509v3/pcy_node.c", + ], + "crypto/x509v3/pcy_tree.o" => + [ + "crypto/x509v3/pcy_tree.c", + ], + "crypto/x509v3/v3_addr.o" => + [ + "crypto/x509v3/v3_addr.c", + ], + "crypto/x509v3/v3_admis.o" => + [ + "crypto/x509v3/v3_admis.c", + ], + "crypto/x509v3/v3_akey.o" => + [ + "crypto/x509v3/v3_akey.c", + ], + "crypto/x509v3/v3_akeya.o" => + [ + "crypto/x509v3/v3_akeya.c", + ], + "crypto/x509v3/v3_alt.o" => + [ + "crypto/x509v3/v3_alt.c", + ], + "crypto/x509v3/v3_asid.o" => + [ + "crypto/x509v3/v3_asid.c", + ], + "crypto/x509v3/v3_bcons.o" => + [ + "crypto/x509v3/v3_bcons.c", + ], + "crypto/x509v3/v3_bitst.o" => + [ + "crypto/x509v3/v3_bitst.c", + ], + "crypto/x509v3/v3_conf.o" => + [ + "crypto/x509v3/v3_conf.c", + ], + "crypto/x509v3/v3_cpols.o" => + [ + "crypto/x509v3/v3_cpols.c", + ], + "crypto/x509v3/v3_crld.o" => + [ + "crypto/x509v3/v3_crld.c", + ], + "crypto/x509v3/v3_enum.o" => + [ + "crypto/x509v3/v3_enum.c", + ], + "crypto/x509v3/v3_extku.o" => + [ + "crypto/x509v3/v3_extku.c", + ], + "crypto/x509v3/v3_genn.o" => + [ + "crypto/x509v3/v3_genn.c", + ], + "crypto/x509v3/v3_ia5.o" => + [ + "crypto/x509v3/v3_ia5.c", + ], + "crypto/x509v3/v3_info.o" => + [ + "crypto/x509v3/v3_info.c", + ], + "crypto/x509v3/v3_int.o" => + [ + "crypto/x509v3/v3_int.c", + ], + "crypto/x509v3/v3_lib.o" => + [ + "crypto/x509v3/v3_lib.c", + ], + "crypto/x509v3/v3_ncons.o" => + [ + "crypto/x509v3/v3_ncons.c", + ], + "crypto/x509v3/v3_pci.o" => + [ + "crypto/x509v3/v3_pci.c", + ], + "crypto/x509v3/v3_pcia.o" => + [ + "crypto/x509v3/v3_pcia.c", + ], + "crypto/x509v3/v3_pcons.o" => + [ + "crypto/x509v3/v3_pcons.c", + ], + "crypto/x509v3/v3_pku.o" => + [ + "crypto/x509v3/v3_pku.c", + ], + "crypto/x509v3/v3_pmaps.o" => + [ + "crypto/x509v3/v3_pmaps.c", + ], + "crypto/x509v3/v3_prn.o" => + [ + "crypto/x509v3/v3_prn.c", + ], + "crypto/x509v3/v3_purp.o" => + [ + "crypto/x509v3/v3_purp.c", + ], + "crypto/x509v3/v3_skey.o" => + [ + "crypto/x509v3/v3_skey.c", + ], + "crypto/x509v3/v3_sxnet.o" => + [ + "crypto/x509v3/v3_sxnet.c", + ], + "crypto/x509v3/v3_tlsf.o" => + [ + "crypto/x509v3/v3_tlsf.c", + ], + "crypto/x509v3/v3_utl.o" => + [ + "crypto/x509v3/v3_utl.c", + ], + "crypto/x509v3/v3err.o" => + [ + "crypto/x509v3/v3err.c", + ], + "engines/e_capi.o" => + [ + "engines/e_capi.c", + ], + "engines/e_padlock.o" => + [ + "engines/e_padlock.c", + ], + "fuzz/asn1-test" => + [ + "fuzz/asn1.o", + "fuzz/test-corpus.o", + ], + "fuzz/asn1.o" => + [ + "fuzz/asn1.c", + ], + "fuzz/asn1parse-test" => + [ + "fuzz/asn1parse.o", + "fuzz/test-corpus.o", + ], + "fuzz/asn1parse.o" => + [ + "fuzz/asn1parse.c", + ], + "fuzz/bignum-test" => + [ + "fuzz/bignum.o", + "fuzz/test-corpus.o", + ], + "fuzz/bignum.o" => + [ + "fuzz/bignum.c", + ], + "fuzz/bndiv-test" => + [ + "fuzz/bndiv.o", + "fuzz/test-corpus.o", + ], + "fuzz/bndiv.o" => + [ + "fuzz/bndiv.c", + ], + "fuzz/client-test" => + [ + "fuzz/client.o", + "fuzz/test-corpus.o", + ], + "fuzz/client.o" => + [ + "fuzz/client.c", + ], + "fuzz/cms-test" => + [ + "fuzz/cms.o", + "fuzz/test-corpus.o", + ], + "fuzz/cms.o" => + [ + "fuzz/cms.c", + ], + "fuzz/conf-test" => + [ + "fuzz/conf.o", + "fuzz/test-corpus.o", + ], + "fuzz/conf.o" => + [ + "fuzz/conf.c", + ], + "fuzz/crl-test" => + [ + "fuzz/crl.o", + "fuzz/test-corpus.o", + ], + "fuzz/crl.o" => + [ + "fuzz/crl.c", + ], + "fuzz/ct-test" => + [ + "fuzz/ct.o", + "fuzz/test-corpus.o", + ], + "fuzz/ct.o" => + [ + "fuzz/ct.c", + ], + "fuzz/server-test" => + [ + "fuzz/server.o", + "fuzz/test-corpus.o", + ], + "fuzz/server.o" => + [ + "fuzz/server.c", + ], + "fuzz/test-corpus.o" => + [ + "fuzz/test-corpus.c", + ], + "fuzz/x509-test" => + [ + "fuzz/test-corpus.o", + "fuzz/x509.o", + ], + "fuzz/x509.o" => + [ + "fuzz/x509.c", + ], + "libcrypto" => + [ + "crypto/aes/aes_cbc.o", + "crypto/aes/aes_cfb.o", + "crypto/aes/aes_core.o", + "crypto/aes/aes_ecb.o", + "crypto/aes/aes_ige.o", + "crypto/aes/aes_misc.o", + "crypto/aes/aes_ofb.o", + "crypto/aes/aes_wrap.o", + "crypto/aria/aria.o", + "crypto/asn1/a_bitstr.o", + "crypto/asn1/a_d2i_fp.o", + "crypto/asn1/a_digest.o", + "crypto/asn1/a_dup.o", + "crypto/asn1/a_gentm.o", + "crypto/asn1/a_i2d_fp.o", + "crypto/asn1/a_int.o", + "crypto/asn1/a_mbstr.o", + "crypto/asn1/a_object.o", + "crypto/asn1/a_octet.o", + "crypto/asn1/a_print.o", + "crypto/asn1/a_sign.o", + "crypto/asn1/a_strex.o", + "crypto/asn1/a_strnid.o", + "crypto/asn1/a_time.o", + "crypto/asn1/a_type.o", + "crypto/asn1/a_utctm.o", + "crypto/asn1/a_utf8.o", + "crypto/asn1/a_verify.o", + "crypto/asn1/ameth_lib.o", + "crypto/asn1/asn1_err.o", + "crypto/asn1/asn1_gen.o", + "crypto/asn1/asn1_item_list.o", + "crypto/asn1/asn1_lib.o", + "crypto/asn1/asn1_par.o", + "crypto/asn1/asn_mime.o", + "crypto/asn1/asn_moid.o", + "crypto/asn1/asn_mstbl.o", + "crypto/asn1/asn_pack.o", + "crypto/asn1/bio_asn1.o", + "crypto/asn1/bio_ndef.o", + "crypto/asn1/d2i_pr.o", + "crypto/asn1/d2i_pu.o", + "crypto/asn1/evp_asn1.o", + "crypto/asn1/f_int.o", + "crypto/asn1/f_string.o", + "crypto/asn1/i2d_pr.o", + "crypto/asn1/i2d_pu.o", + "crypto/asn1/n_pkey.o", + "crypto/asn1/nsseq.o", + "crypto/asn1/p5_pbe.o", + "crypto/asn1/p5_pbev2.o", + "crypto/asn1/p5_scrypt.o", + "crypto/asn1/p8_pkey.o", + "crypto/asn1/t_bitst.o", + "crypto/asn1/t_pkey.o", + "crypto/asn1/t_spki.o", + "crypto/asn1/tasn_dec.o", + "crypto/asn1/tasn_enc.o", + "crypto/asn1/tasn_fre.o", + "crypto/asn1/tasn_new.o", + "crypto/asn1/tasn_prn.o", + "crypto/asn1/tasn_scn.o", + "crypto/asn1/tasn_typ.o", + "crypto/asn1/tasn_utl.o", + "crypto/asn1/x_algor.o", + "crypto/asn1/x_bignum.o", + "crypto/asn1/x_info.o", + "crypto/asn1/x_int64.o", + "crypto/asn1/x_long.o", + "crypto/asn1/x_pkey.o", + "crypto/asn1/x_sig.o", + "crypto/asn1/x_spki.o", + "crypto/asn1/x_val.o", + "crypto/async/arch/async_null.o", + "crypto/async/arch/async_posix.o", + "crypto/async/arch/async_win.o", + "crypto/async/async.o", + "crypto/async/async_err.o", + "crypto/async/async_wait.o", + "crypto/bf/bf_cfb64.o", + "crypto/bf/bf_ecb.o", + "crypto/bf/bf_enc.o", + "crypto/bf/bf_ofb64.o", + "crypto/bf/bf_skey.o", + "crypto/bio/b_addr.o", + "crypto/bio/b_dump.o", + "crypto/bio/b_print.o", + "crypto/bio/b_sock.o", + "crypto/bio/b_sock2.o", + "crypto/bio/bf_buff.o", + "crypto/bio/bf_lbuf.o", + "crypto/bio/bf_nbio.o", + "crypto/bio/bf_null.o", + "crypto/bio/bio_cb.o", + "crypto/bio/bio_err.o", + "crypto/bio/bio_lib.o", + "crypto/bio/bio_meth.o", + "crypto/bio/bss_acpt.o", + "crypto/bio/bss_bio.o", + "crypto/bio/bss_conn.o", + "crypto/bio/bss_dgram.o", + "crypto/bio/bss_fd.o", + "crypto/bio/bss_file.o", + "crypto/bio/bss_log.o", + "crypto/bio/bss_mem.o", + "crypto/bio/bss_null.o", + "crypto/bio/bss_sock.o", + "crypto/blake2/blake2b.o", + "crypto/blake2/blake2s.o", + "crypto/blake2/m_blake2b.o", + "crypto/blake2/m_blake2s.o", + "crypto/bn/bn_add.o", + "crypto/bn/bn_asm.o", + "crypto/bn/bn_blind.o", + "crypto/bn/bn_const.o", + "crypto/bn/bn_ctx.o", + "crypto/bn/bn_depr.o", + "crypto/bn/bn_dh.o", + "crypto/bn/bn_div.o", + "crypto/bn/bn_err.o", + "crypto/bn/bn_exp.o", + "crypto/bn/bn_exp2.o", + "crypto/bn/bn_gcd.o", + "crypto/bn/bn_gf2m.o", + "crypto/bn/bn_intern.o", + "crypto/bn/bn_kron.o", + "crypto/bn/bn_lib.o", + "crypto/bn/bn_mod.o", + "crypto/bn/bn_mont.o", + "crypto/bn/bn_mpi.o", + "crypto/bn/bn_mul.o", + "crypto/bn/bn_nist.o", + "crypto/bn/bn_prime.o", + "crypto/bn/bn_print.o", + "crypto/bn/bn_rand.o", + "crypto/bn/bn_recp.o", + "crypto/bn/bn_shift.o", + "crypto/bn/bn_sqr.o", + "crypto/bn/bn_sqrt.o", + "crypto/bn/bn_srp.o", + "crypto/bn/bn_word.o", + "crypto/bn/bn_x931p.o", + "crypto/buffer/buf_err.o", + "crypto/buffer/buffer.o", + "crypto/camellia/camellia.o", + "crypto/camellia/cmll_cbc.o", + "crypto/camellia/cmll_cfb.o", + "crypto/camellia/cmll_ctr.o", + "crypto/camellia/cmll_ecb.o", + "crypto/camellia/cmll_misc.o", + "crypto/camellia/cmll_ofb.o", + "crypto/cast/c_cfb64.o", + "crypto/cast/c_ecb.o", + "crypto/cast/c_enc.o", + "crypto/cast/c_ofb64.o", + "crypto/cast/c_skey.o", + "crypto/chacha/chacha_enc.o", + "crypto/cmac/cm_ameth.o", + "crypto/cmac/cm_pmeth.o", + "crypto/cmac/cmac.o", + "crypto/cms/cms_asn1.o", + "crypto/cms/cms_att.o", + "crypto/cms/cms_cd.o", + "crypto/cms/cms_dd.o", + "crypto/cms/cms_enc.o", + "crypto/cms/cms_env.o", + "crypto/cms/cms_err.o", + "crypto/cms/cms_ess.o", + "crypto/cms/cms_io.o", + "crypto/cms/cms_kari.o", + "crypto/cms/cms_lib.o", + "crypto/cms/cms_pwri.o", + "crypto/cms/cms_sd.o", + "crypto/cms/cms_smime.o", + "crypto/conf/conf_api.o", + "crypto/conf/conf_def.o", + "crypto/conf/conf_err.o", + "crypto/conf/conf_lib.o", + "crypto/conf/conf_mall.o", + "crypto/conf/conf_mod.o", + "crypto/conf/conf_sap.o", + "crypto/conf/conf_ssl.o", + "crypto/cpt_err.o", + "crypto/cryptlib.o", + "crypto/ct/ct_b64.o", + "crypto/ct/ct_err.o", + "crypto/ct/ct_log.o", + "crypto/ct/ct_oct.o", + "crypto/ct/ct_policy.o", + "crypto/ct/ct_prn.o", + "crypto/ct/ct_sct.o", + "crypto/ct/ct_sct_ctx.o", + "crypto/ct/ct_vfy.o", + "crypto/ct/ct_x509v3.o", + "crypto/ctype.o", + "crypto/cversion.o", + "crypto/des/cbc_cksm.o", + "crypto/des/cbc_enc.o", + "crypto/des/cfb64ede.o", + "crypto/des/cfb64enc.o", + "crypto/des/cfb_enc.o", + "crypto/des/des_enc.o", + "crypto/des/ecb3_enc.o", + "crypto/des/ecb_enc.o", + "crypto/des/fcrypt.o", + "crypto/des/fcrypt_b.o", + "crypto/des/ofb64ede.o", + "crypto/des/ofb64enc.o", + "crypto/des/ofb_enc.o", + "crypto/des/pcbc_enc.o", + "crypto/des/qud_cksm.o", + "crypto/des/rand_key.o", + "crypto/des/set_key.o", + "crypto/des/str2key.o", + "crypto/des/xcbc_enc.o", + "crypto/dh/dh_ameth.o", + "crypto/dh/dh_asn1.o", + "crypto/dh/dh_check.o", + "crypto/dh/dh_depr.o", + "crypto/dh/dh_err.o", + "crypto/dh/dh_gen.o", + "crypto/dh/dh_kdf.o", + "crypto/dh/dh_key.o", + "crypto/dh/dh_lib.o", + "crypto/dh/dh_meth.o", + "crypto/dh/dh_pmeth.o", + "crypto/dh/dh_prn.o", + "crypto/dh/dh_rfc5114.o", + "crypto/dh/dh_rfc7919.o", + "crypto/dsa/dsa_ameth.o", + "crypto/dsa/dsa_asn1.o", + "crypto/dsa/dsa_depr.o", + "crypto/dsa/dsa_err.o", + "crypto/dsa/dsa_gen.o", + "crypto/dsa/dsa_key.o", + "crypto/dsa/dsa_lib.o", + "crypto/dsa/dsa_meth.o", + "crypto/dsa/dsa_ossl.o", + "crypto/dsa/dsa_pmeth.o", + "crypto/dsa/dsa_prn.o", + "crypto/dsa/dsa_sign.o", + "crypto/dsa/dsa_vrf.o", + "crypto/dso/dso_dl.o", + "crypto/dso/dso_dlfcn.o", + "crypto/dso/dso_err.o", + "crypto/dso/dso_lib.o", + "crypto/dso/dso_openssl.o", + "crypto/dso/dso_vms.o", + "crypto/dso/dso_win32.o", + "crypto/ebcdic.o", + "crypto/ec/curve25519.o", + "crypto/ec/curve448/arch_32/f_impl.o", + "crypto/ec/curve448/curve448.o", + "crypto/ec/curve448/curve448_tables.o", + "crypto/ec/curve448/eddsa.o", + "crypto/ec/curve448/f_generic.o", + "crypto/ec/curve448/scalar.o", + "crypto/ec/ec2_oct.o", + "crypto/ec/ec2_smpl.o", + "crypto/ec/ec_ameth.o", + "crypto/ec/ec_asn1.o", + "crypto/ec/ec_check.o", + "crypto/ec/ec_curve.o", + "crypto/ec/ec_cvt.o", + "crypto/ec/ec_err.o", + "crypto/ec/ec_key.o", + "crypto/ec/ec_kmeth.o", + "crypto/ec/ec_lib.o", + "crypto/ec/ec_mult.o", + "crypto/ec/ec_oct.o", + "crypto/ec/ec_pmeth.o", + "crypto/ec/ec_print.o", + "crypto/ec/ecdh_kdf.o", + "crypto/ec/ecdh_ossl.o", + "crypto/ec/ecdsa_ossl.o", + "crypto/ec/ecdsa_sign.o", + "crypto/ec/ecdsa_vrf.o", + "crypto/ec/eck_prn.o", + "crypto/ec/ecp_mont.o", + "crypto/ec/ecp_nist.o", + "crypto/ec/ecp_nistp224.o", + "crypto/ec/ecp_nistp256.o", + "crypto/ec/ecp_nistp521.o", + "crypto/ec/ecp_nistputil.o", + "crypto/ec/ecp_oct.o", + "crypto/ec/ecp_smpl.o", + "crypto/ec/ecx_meth.o", + "crypto/engine/eng_all.o", + "crypto/engine/eng_cnf.o", + "crypto/engine/eng_ctrl.o", + "crypto/engine/eng_dyn.o", + "crypto/engine/eng_err.o", + "crypto/engine/eng_fat.o", + "crypto/engine/eng_init.o", + "crypto/engine/eng_lib.o", + "crypto/engine/eng_list.o", + "crypto/engine/eng_openssl.o", + "crypto/engine/eng_pkey.o", + "crypto/engine/eng_rdrand.o", + "crypto/engine/eng_table.o", + "crypto/engine/tb_asnmth.o", + "crypto/engine/tb_cipher.o", + "crypto/engine/tb_dh.o", + "crypto/engine/tb_digest.o", + "crypto/engine/tb_dsa.o", + "crypto/engine/tb_eckey.o", + "crypto/engine/tb_pkmeth.o", + "crypto/engine/tb_rand.o", + "crypto/engine/tb_rsa.o", + "crypto/err/err.o", + "crypto/err/err_all.o", + "crypto/err/err_prn.o", + "crypto/evp/bio_b64.o", + "crypto/evp/bio_enc.o", + "crypto/evp/bio_md.o", + "crypto/evp/bio_ok.o", + "crypto/evp/c_allc.o", + "crypto/evp/c_alld.o", + "crypto/evp/cmeth_lib.o", + "crypto/evp/digest.o", + "crypto/evp/e_aes.o", + "crypto/evp/e_aes_cbc_hmac_sha1.o", + "crypto/evp/e_aes_cbc_hmac_sha256.o", + "crypto/evp/e_aria.o", + "crypto/evp/e_bf.o", + "crypto/evp/e_camellia.o", + "crypto/evp/e_cast.o", + "crypto/evp/e_chacha20_poly1305.o", + "crypto/evp/e_des.o", + "crypto/evp/e_des3.o", + "crypto/evp/e_idea.o", + "crypto/evp/e_null.o", + "crypto/evp/e_old.o", + "crypto/evp/e_rc2.o", + "crypto/evp/e_rc4.o", + "crypto/evp/e_rc4_hmac_md5.o", + "crypto/evp/e_rc5.o", + "crypto/evp/e_seed.o", + "crypto/evp/e_sm4.o", + "crypto/evp/e_xcbc_d.o", + "crypto/evp/encode.o", + "crypto/evp/evp_cnf.o", + "crypto/evp/evp_enc.o", + "crypto/evp/evp_err.o", + "crypto/evp/evp_key.o", + "crypto/evp/evp_lib.o", + "crypto/evp/evp_pbe.o", + "crypto/evp/evp_pkey.o", + "crypto/evp/m_md2.o", + "crypto/evp/m_md4.o", + "crypto/evp/m_md5.o", + "crypto/evp/m_md5_sha1.o", + "crypto/evp/m_mdc2.o", + "crypto/evp/m_null.o", + "crypto/evp/m_ripemd.o", + "crypto/evp/m_sha1.o", + "crypto/evp/m_sha3.o", + "crypto/evp/m_sigver.o", + "crypto/evp/m_wp.o", + "crypto/evp/names.o", + "crypto/evp/p5_crpt.o", + "crypto/evp/p5_crpt2.o", + "crypto/evp/p_dec.o", + "crypto/evp/p_enc.o", + "crypto/evp/p_lib.o", + "crypto/evp/p_open.o", + "crypto/evp/p_seal.o", + "crypto/evp/p_sign.o", + "crypto/evp/p_verify.o", + "crypto/evp/pbe_scrypt.o", + "crypto/evp/pmeth_fn.o", + "crypto/evp/pmeth_gn.o", + "crypto/evp/pmeth_lib.o", + "crypto/ex_data.o", + "crypto/getenv.o", + "crypto/hmac/hm_ameth.o", + "crypto/hmac/hm_pmeth.o", + "crypto/hmac/hmac.o", + "crypto/idea/i_cbc.o", + "crypto/idea/i_cfb64.o", + "crypto/idea/i_ecb.o", + "crypto/idea/i_ofb64.o", + "crypto/idea/i_skey.o", + "crypto/init.o", + "crypto/kdf/hkdf.o", + "crypto/kdf/kdf_err.o", + "crypto/kdf/scrypt.o", + "crypto/kdf/tls1_prf.o", + "crypto/lhash/lh_stats.o", + "crypto/lhash/lhash.o", + "crypto/md4/md4_dgst.o", + "crypto/md4/md4_one.o", + "crypto/md5/md5_dgst.o", + "crypto/md5/md5_one.o", + "crypto/mdc2/mdc2_one.o", + "crypto/mdc2/mdc2dgst.o", + "crypto/mem.o", + "crypto/mem_clr.o", + "crypto/mem_dbg.o", + "crypto/mem_sec.o", + "crypto/modes/cbc128.o", + "crypto/modes/ccm128.o", + "crypto/modes/cfb128.o", + "crypto/modes/ctr128.o", + "crypto/modes/cts128.o", + "crypto/modes/gcm128.o", + "crypto/modes/ocb128.o", + "crypto/modes/ofb128.o", + "crypto/modes/wrap128.o", + "crypto/modes/xts128.o", + "crypto/o_dir.o", + "crypto/o_fips.o", + "crypto/o_fopen.o", + "crypto/o_init.o", + "crypto/o_str.o", + "crypto/o_time.o", + "crypto/objects/o_names.o", + "crypto/objects/obj_dat.o", + "crypto/objects/obj_err.o", + "crypto/objects/obj_lib.o", + "crypto/objects/obj_xref.o", + "crypto/ocsp/ocsp_asn.o", + "crypto/ocsp/ocsp_cl.o", + "crypto/ocsp/ocsp_err.o", + "crypto/ocsp/ocsp_ext.o", + "crypto/ocsp/ocsp_ht.o", + "crypto/ocsp/ocsp_lib.o", + "crypto/ocsp/ocsp_prn.o", + "crypto/ocsp/ocsp_srv.o", + "crypto/ocsp/ocsp_vfy.o", + "crypto/ocsp/v3_ocsp.o", + "crypto/pem/pem_all.o", + "crypto/pem/pem_err.o", + "crypto/pem/pem_info.o", + "crypto/pem/pem_lib.o", + "crypto/pem/pem_oth.o", + "crypto/pem/pem_pk8.o", + "crypto/pem/pem_pkey.o", + "crypto/pem/pem_sign.o", + "crypto/pem/pem_x509.o", + "crypto/pem/pem_xaux.o", + "crypto/pem/pvkfmt.o", + "crypto/pkcs12/p12_add.o", + "crypto/pkcs12/p12_asn.o", + "crypto/pkcs12/p12_attr.o", + "crypto/pkcs12/p12_crpt.o", + "crypto/pkcs12/p12_crt.o", + "crypto/pkcs12/p12_decr.o", + "crypto/pkcs12/p12_init.o", + "crypto/pkcs12/p12_key.o", + "crypto/pkcs12/p12_kiss.o", + "crypto/pkcs12/p12_mutl.o", + "crypto/pkcs12/p12_npas.o", + "crypto/pkcs12/p12_p8d.o", + "crypto/pkcs12/p12_p8e.o", + "crypto/pkcs12/p12_sbag.o", + "crypto/pkcs12/p12_utl.o", + "crypto/pkcs12/pk12err.o", + "crypto/pkcs7/bio_pk7.o", + "crypto/pkcs7/pk7_asn1.o", + "crypto/pkcs7/pk7_attr.o", + "crypto/pkcs7/pk7_doit.o", + "crypto/pkcs7/pk7_lib.o", + "crypto/pkcs7/pk7_mime.o", + "crypto/pkcs7/pk7_smime.o", + "crypto/pkcs7/pkcs7err.o", + "crypto/poly1305/poly1305.o", + "crypto/poly1305/poly1305_ameth.o", + "crypto/poly1305/poly1305_pmeth.o", + "crypto/rand/drbg_ctr.o", + "crypto/rand/drbg_lib.o", + "crypto/rand/rand_egd.o", + "crypto/rand/rand_err.o", + "crypto/rand/rand_lib.o", + "crypto/rand/rand_unix.o", + "crypto/rand/rand_vms.o", + "crypto/rand/rand_win.o", + "crypto/rand/randfile.o", + "crypto/rc2/rc2_cbc.o", + "crypto/rc2/rc2_ecb.o", + "crypto/rc2/rc2_skey.o", + "crypto/rc2/rc2cfb64.o", + "crypto/rc2/rc2ofb64.o", + "crypto/rc4/rc4_enc.o", + "crypto/rc4/rc4_skey.o", + "crypto/ripemd/rmd_dgst.o", + "crypto/ripemd/rmd_one.o", + "crypto/rsa/rsa_ameth.o", + "crypto/rsa/rsa_asn1.o", + "crypto/rsa/rsa_chk.o", + "crypto/rsa/rsa_crpt.o", + "crypto/rsa/rsa_depr.o", + "crypto/rsa/rsa_err.o", + "crypto/rsa/rsa_gen.o", + "crypto/rsa/rsa_lib.o", + "crypto/rsa/rsa_meth.o", + "crypto/rsa/rsa_mp.o", + "crypto/rsa/rsa_none.o", + "crypto/rsa/rsa_oaep.o", + "crypto/rsa/rsa_ossl.o", + "crypto/rsa/rsa_pk1.o", + "crypto/rsa/rsa_pmeth.o", + "crypto/rsa/rsa_prn.o", + "crypto/rsa/rsa_pss.o", + "crypto/rsa/rsa_saos.o", + "crypto/rsa/rsa_sign.o", + "crypto/rsa/rsa_ssl.o", + "crypto/rsa/rsa_x931.o", + "crypto/rsa/rsa_x931g.o", + "crypto/seed/seed.o", + "crypto/seed/seed_cbc.o", + "crypto/seed/seed_cfb.o", + "crypto/seed/seed_ecb.o", + "crypto/seed/seed_ofb.o", + "crypto/sha/keccak1600.o", + "crypto/sha/sha1_one.o", + "crypto/sha/sha1dgst.o", + "crypto/sha/sha256.o", + "crypto/sha/sha512.o", + "crypto/siphash/siphash.o", + "crypto/siphash/siphash_ameth.o", + "crypto/siphash/siphash_pmeth.o", + "crypto/sm2/sm2_crypt.o", + "crypto/sm2/sm2_err.o", + "crypto/sm2/sm2_pmeth.o", + "crypto/sm2/sm2_sign.o", + "crypto/sm3/m_sm3.o", + "crypto/sm3/sm3.o", + "crypto/sm4/sm4.o", + "crypto/srp/srp_lib.o", + "crypto/srp/srp_vfy.o", + "crypto/stack/stack.o", + "crypto/store/loader_file.o", + "crypto/store/store_err.o", + "crypto/store/store_init.o", + "crypto/store/store_lib.o", + "crypto/store/store_register.o", + "crypto/store/store_strings.o", + "crypto/threads_none.o", + "crypto/threads_pthread.o", + "crypto/threads_win.o", + "crypto/ts/ts_asn1.o", + "crypto/ts/ts_conf.o", + "crypto/ts/ts_err.o", + "crypto/ts/ts_lib.o", + "crypto/ts/ts_req_print.o", + "crypto/ts/ts_req_utils.o", + "crypto/ts/ts_rsp_print.o", + "crypto/ts/ts_rsp_sign.o", + "crypto/ts/ts_rsp_utils.o", + "crypto/ts/ts_rsp_verify.o", + "crypto/ts/ts_verify_ctx.o", + "crypto/txt_db/txt_db.o", + "crypto/ui/ui_err.o", + "crypto/ui/ui_lib.o", + "crypto/ui/ui_null.o", + "crypto/ui/ui_openssl.o", + "crypto/ui/ui_util.o", + "crypto/uid.o", + "crypto/whrlpool/wp_block.o", + "crypto/whrlpool/wp_dgst.o", + "crypto/x509/by_dir.o", + "crypto/x509/by_file.o", + "crypto/x509/t_crl.o", + "crypto/x509/t_req.o", + "crypto/x509/t_x509.o", + "crypto/x509/x509_att.o", + "crypto/x509/x509_cmp.o", + "crypto/x509/x509_d2.o", + "crypto/x509/x509_def.o", + "crypto/x509/x509_err.o", + "crypto/x509/x509_ext.o", + "crypto/x509/x509_lu.o", + "crypto/x509/x509_meth.o", + "crypto/x509/x509_obj.o", + "crypto/x509/x509_r2x.o", + "crypto/x509/x509_req.o", + "crypto/x509/x509_set.o", + "crypto/x509/x509_trs.o", + "crypto/x509/x509_txt.o", + "crypto/x509/x509_v3.o", + "crypto/x509/x509_vfy.o", + "crypto/x509/x509_vpm.o", + "crypto/x509/x509cset.o", + "crypto/x509/x509name.o", + "crypto/x509/x509rset.o", + "crypto/x509/x509spki.o", + "crypto/x509/x509type.o", + "crypto/x509/x_all.o", + "crypto/x509/x_attrib.o", + "crypto/x509/x_crl.o", + "crypto/x509/x_exten.o", + "crypto/x509/x_name.o", + "crypto/x509/x_pubkey.o", + "crypto/x509/x_req.o", + "crypto/x509/x_x509.o", + "crypto/x509/x_x509a.o", + "crypto/x509v3/pcy_cache.o", + "crypto/x509v3/pcy_data.o", + "crypto/x509v3/pcy_lib.o", + "crypto/x509v3/pcy_map.o", + "crypto/x509v3/pcy_node.o", + "crypto/x509v3/pcy_tree.o", + "crypto/x509v3/v3_addr.o", + "crypto/x509v3/v3_admis.o", + "crypto/x509v3/v3_akey.o", + "crypto/x509v3/v3_akeya.o", + "crypto/x509v3/v3_alt.o", + "crypto/x509v3/v3_asid.o", + "crypto/x509v3/v3_bcons.o", + "crypto/x509v3/v3_bitst.o", + "crypto/x509v3/v3_conf.o", + "crypto/x509v3/v3_cpols.o", + "crypto/x509v3/v3_crld.o", + "crypto/x509v3/v3_enum.o", + "crypto/x509v3/v3_extku.o", + "crypto/x509v3/v3_genn.o", + "crypto/x509v3/v3_ia5.o", + "crypto/x509v3/v3_info.o", + "crypto/x509v3/v3_int.o", + "crypto/x509v3/v3_lib.o", + "crypto/x509v3/v3_ncons.o", + "crypto/x509v3/v3_pci.o", + "crypto/x509v3/v3_pcia.o", + "crypto/x509v3/v3_pcons.o", + "crypto/x509v3/v3_pku.o", + "crypto/x509v3/v3_pmaps.o", + "crypto/x509v3/v3_prn.o", + "crypto/x509v3/v3_purp.o", + "crypto/x509v3/v3_skey.o", + "crypto/x509v3/v3_sxnet.o", + "crypto/x509v3/v3_tlsf.o", + "crypto/x509v3/v3_utl.o", + "crypto/x509v3/v3err.o", + "engines/e_capi.o", + "engines/e_padlock.o", + ], + "libssl" => + [ + "ssl/bio_ssl.o", + "ssl/d1_lib.o", + "ssl/d1_msg.o", + "ssl/d1_srtp.o", + "ssl/methods.o", + "ssl/packet.o", + "ssl/pqueue.o", + "ssl/record/dtls1_bitmap.o", + "ssl/record/rec_layer_d1.o", + "ssl/record/rec_layer_s3.o", + "ssl/record/ssl3_buffer.o", + "ssl/record/ssl3_record.o", + "ssl/record/ssl3_record_tls13.o", + "ssl/s3_cbc.o", + "ssl/s3_enc.o", + "ssl/s3_lib.o", + "ssl/s3_msg.o", + "ssl/ssl_asn1.o", + "ssl/ssl_cert.o", + "ssl/ssl_ciph.o", + "ssl/ssl_conf.o", + "ssl/ssl_err.o", + "ssl/ssl_init.o", + "ssl/ssl_lib.o", + "ssl/ssl_mcnf.o", + "ssl/ssl_rsa.o", + "ssl/ssl_sess.o", + "ssl/ssl_stat.o", + "ssl/ssl_txt.o", + "ssl/ssl_utst.o", + "ssl/statem/extensions.o", + "ssl/statem/extensions_clnt.o", + "ssl/statem/extensions_cust.o", + "ssl/statem/extensions_srvr.o", + "ssl/statem/statem.o", + "ssl/statem/statem_clnt.o", + "ssl/statem/statem_dtls.o", + "ssl/statem/statem_lib.o", + "ssl/statem/statem_srvr.o", + "ssl/t1_enc.o", + "ssl/t1_lib.o", + "ssl/t1_trce.o", + "ssl/tls13_enc.o", + "ssl/tls_srp.o", + ], + "ssl/bio_ssl.o" => + [ + "ssl/bio_ssl.c", + ], + "ssl/d1_lib.o" => + [ + "ssl/d1_lib.c", + ], + "ssl/d1_msg.o" => + [ + "ssl/d1_msg.c", + ], + "ssl/d1_srtp.o" => + [ + "ssl/d1_srtp.c", + ], + "ssl/methods.o" => + [ + "ssl/methods.c", + ], + "ssl/packet.o" => + [ + "ssl/packet.c", + ], + "ssl/pqueue.o" => + [ + "ssl/pqueue.c", + ], + "ssl/record/dtls1_bitmap.o" => + [ + "ssl/record/dtls1_bitmap.c", + ], + "ssl/record/rec_layer_d1.o" => + [ + "ssl/record/rec_layer_d1.c", + ], + "ssl/record/rec_layer_s3.o" => + [ + "ssl/record/rec_layer_s3.c", + ], + "ssl/record/ssl3_buffer.o" => + [ + "ssl/record/ssl3_buffer.c", + ], + "ssl/record/ssl3_record.o" => + [ + "ssl/record/ssl3_record.c", + ], + "ssl/record/ssl3_record_tls13.o" => + [ + "ssl/record/ssl3_record_tls13.c", + ], + "ssl/s3_cbc.o" => + [ + "ssl/s3_cbc.c", + ], + "ssl/s3_enc.o" => + [ + "ssl/s3_enc.c", + ], + "ssl/s3_lib.o" => + [ + "ssl/s3_lib.c", + ], + "ssl/s3_msg.o" => + [ + "ssl/s3_msg.c", + ], + "ssl/ssl_asn1.o" => + [ + "ssl/ssl_asn1.c", + ], + "ssl/ssl_cert.o" => + [ + "ssl/ssl_cert.c", + ], + "ssl/ssl_ciph.o" => + [ + "ssl/ssl_ciph.c", + ], + "ssl/ssl_conf.o" => + [ + "ssl/ssl_conf.c", + ], + "ssl/ssl_err.o" => + [ + "ssl/ssl_err.c", + ], + "ssl/ssl_init.o" => + [ + "ssl/ssl_init.c", + ], + "ssl/ssl_lib.o" => + [ + "ssl/ssl_lib.c", + ], + "ssl/ssl_mcnf.o" => + [ + "ssl/ssl_mcnf.c", + ], + "ssl/ssl_rsa.o" => + [ + "ssl/ssl_rsa.c", + ], + "ssl/ssl_sess.o" => + [ + "ssl/ssl_sess.c", + ], + "ssl/ssl_stat.o" => + [ + "ssl/ssl_stat.c", + ], + "ssl/ssl_txt.o" => + [ + "ssl/ssl_txt.c", + ], + "ssl/ssl_utst.o" => + [ + "ssl/ssl_utst.c", + ], + "ssl/statem/extensions.o" => + [ + "ssl/statem/extensions.c", + ], + "ssl/statem/extensions_clnt.o" => + [ + "ssl/statem/extensions_clnt.c", + ], + "ssl/statem/extensions_cust.o" => + [ + "ssl/statem/extensions_cust.c", + ], + "ssl/statem/extensions_srvr.o" => + [ + "ssl/statem/extensions_srvr.c", + ], + "ssl/statem/statem.o" => + [ + "ssl/statem/statem.c", + ], + "ssl/statem/statem_clnt.o" => + [ + "ssl/statem/statem_clnt.c", + ], + "ssl/statem/statem_dtls.o" => + [ + "ssl/statem/statem_dtls.c", + ], + "ssl/statem/statem_lib.o" => + [ + "ssl/statem/statem_lib.c", + ], + "ssl/statem/statem_srvr.o" => + [ + "ssl/statem/statem_srvr.c", + ], + "ssl/t1_enc.o" => + [ + "ssl/t1_enc.c", + ], + "ssl/t1_lib.o" => + [ + "ssl/t1_lib.c", + ], + "ssl/t1_trce.o" => + [ + "ssl/t1_trce.c", + ], + "ssl/tls13_enc.o" => + [ + "ssl/tls13_enc.c", + ], + "ssl/tls_srp.o" => + [ + "ssl/tls_srp.c", + ], + "test/aborttest" => + [ + "test/aborttest.o", + ], + "test/aborttest.o" => + [ + "test/aborttest.c", + ], + "test/afalgtest" => + [ + "test/afalgtest.o", + ], + "test/afalgtest.o" => + [ + "test/afalgtest.c", + ], + "test/asn1_decode_test" => + [ + "test/asn1_decode_test.o", + ], + "test/asn1_decode_test.o" => + [ + "test/asn1_decode_test.c", + ], + "test/asn1_encode_test" => + [ + "test/asn1_encode_test.o", + ], + "test/asn1_encode_test.o" => + [ + "test/asn1_encode_test.c", + ], + "test/asn1_internal_test" => + [ + "test/asn1_internal_test.o", + ], + "test/asn1_internal_test.o" => + [ + "test/asn1_internal_test.c", + ], + "test/asn1_string_table_test" => + [ + "test/asn1_string_table_test.o", + ], + "test/asn1_string_table_test.o" => + [ + "test/asn1_string_table_test.c", + ], + "test/asn1_time_test" => + [ + "test/asn1_time_test.o", + ], + "test/asn1_time_test.o" => + [ + "test/asn1_time_test.c", + ], + "test/asynciotest" => + [ + "test/asynciotest.o", + "test/ssltestlib.o", + ], + "test/asynciotest.o" => + [ + "test/asynciotest.c", + ], + "test/asynctest" => + [ + "test/asynctest.o", + ], + "test/asynctest.o" => + [ + "test/asynctest.c", + ], + "test/bad_dtls_test" => + [ + "test/bad_dtls_test.o", + ], + "test/bad_dtls_test.o" => + [ + "test/bad_dtls_test.c", + ], + "test/bftest" => + [ + "test/bftest.o", + ], + "test/bftest.o" => + [ + "test/bftest.c", + ], + "test/bio_callback_test" => + [ + "test/bio_callback_test.o", + ], + "test/bio_callback_test.o" => + [ + "test/bio_callback_test.c", + ], + "test/bio_enc_test" => + [ + "test/bio_enc_test.o", + ], + "test/bio_enc_test.o" => + [ + "test/bio_enc_test.c", + ], + "test/bio_memleak_test" => + [ + "test/bio_memleak_test.o", + ], + "test/bio_memleak_test.o" => + [ + "test/bio_memleak_test.c", + ], + "test/bioprinttest" => + [ + "test/bioprinttest.o", + ], + "test/bioprinttest.o" => + [ + "test/bioprinttest.c", + ], + "test/bntest" => + [ + "test/bntest.o", + ], + "test/bntest.o" => + [ + "test/bntest.c", + ], + "test/buildtest_aes" => + [ + "test/buildtest_aes.o", + ], + "test/buildtest_aes.o" => + [ + "test/buildtest_aes.c", + ], + "test/buildtest_asn1" => + [ + "test/buildtest_asn1.o", + ], + "test/buildtest_asn1.o" => + [ + "test/buildtest_asn1.c", + ], + "test/buildtest_asn1t" => + [ + "test/buildtest_asn1t.o", + ], + "test/buildtest_asn1t.o" => + [ + "test/buildtest_asn1t.c", + ], + "test/buildtest_async" => + [ + "test/buildtest_async.o", + ], + "test/buildtest_async.o" => + [ + "test/buildtest_async.c", + ], + "test/buildtest_bio" => + [ + "test/buildtest_bio.o", + ], + "test/buildtest_bio.o" => + [ + "test/buildtest_bio.c", + ], + "test/buildtest_blowfish" => + [ + "test/buildtest_blowfish.o", + ], + "test/buildtest_blowfish.o" => + [ + "test/buildtest_blowfish.c", + ], + "test/buildtest_bn" => + [ + "test/buildtest_bn.o", + ], + "test/buildtest_bn.o" => + [ + "test/buildtest_bn.c", + ], + "test/buildtest_buffer" => + [ + "test/buildtest_buffer.o", + ], + "test/buildtest_buffer.o" => + [ + "test/buildtest_buffer.c", + ], + "test/buildtest_camellia" => + [ + "test/buildtest_camellia.o", + ], + "test/buildtest_camellia.o" => + [ + "test/buildtest_camellia.c", + ], + "test/buildtest_cast" => + [ + "test/buildtest_cast.o", + ], + "test/buildtest_cast.o" => + [ + "test/buildtest_cast.c", + ], + "test/buildtest_cmac" => + [ + "test/buildtest_cmac.o", + ], + "test/buildtest_cmac.o" => + [ + "test/buildtest_cmac.c", + ], + "test/buildtest_cms" => + [ + "test/buildtest_cms.o", + ], + "test/buildtest_cms.o" => + [ + "test/buildtest_cms.c", + ], + "test/buildtest_conf" => + [ + "test/buildtest_conf.o", + ], + "test/buildtest_conf.o" => + [ + "test/buildtest_conf.c", + ], + "test/buildtest_conf_api" => + [ + "test/buildtest_conf_api.o", + ], + "test/buildtest_conf_api.o" => + [ + "test/buildtest_conf_api.c", + ], + "test/buildtest_crypto" => + [ + "test/buildtest_crypto.o", + ], + "test/buildtest_crypto.o" => + [ + "test/buildtest_crypto.c", + ], + "test/buildtest_ct" => + [ + "test/buildtest_ct.o", + ], + "test/buildtest_ct.o" => + [ + "test/buildtest_ct.c", + ], + "test/buildtest_des" => + [ + "test/buildtest_des.o", + ], + "test/buildtest_des.o" => + [ + "test/buildtest_des.c", + ], + "test/buildtest_dh" => + [ + "test/buildtest_dh.o", + ], + "test/buildtest_dh.o" => + [ + "test/buildtest_dh.c", + ], + "test/buildtest_dsa" => + [ + "test/buildtest_dsa.o", + ], + "test/buildtest_dsa.o" => + [ + "test/buildtest_dsa.c", + ], + "test/buildtest_dtls1" => + [ + "test/buildtest_dtls1.o", + ], + "test/buildtest_dtls1.o" => + [ + "test/buildtest_dtls1.c", + ], + "test/buildtest_e_os2" => + [ + "test/buildtest_e_os2.o", + ], + "test/buildtest_e_os2.o" => + [ + "test/buildtest_e_os2.c", + ], + "test/buildtest_ebcdic" => + [ + "test/buildtest_ebcdic.o", + ], + "test/buildtest_ebcdic.o" => + [ + "test/buildtest_ebcdic.c", + ], + "test/buildtest_ec" => + [ + "test/buildtest_ec.o", + ], + "test/buildtest_ec.o" => + [ + "test/buildtest_ec.c", + ], + "test/buildtest_ecdh" => + [ + "test/buildtest_ecdh.o", + ], + "test/buildtest_ecdh.o" => + [ + "test/buildtest_ecdh.c", + ], + "test/buildtest_ecdsa" => + [ + "test/buildtest_ecdsa.o", + ], + "test/buildtest_ecdsa.o" => + [ + "test/buildtest_ecdsa.c", + ], + "test/buildtest_engine" => + [ + "test/buildtest_engine.o", + ], + "test/buildtest_engine.o" => + [ + "test/buildtest_engine.c", + ], + "test/buildtest_evp" => + [ + "test/buildtest_evp.o", + ], + "test/buildtest_evp.o" => + [ + "test/buildtest_evp.c", + ], + "test/buildtest_hmac" => + [ + "test/buildtest_hmac.o", + ], + "test/buildtest_hmac.o" => + [ + "test/buildtest_hmac.c", + ], + "test/buildtest_idea" => + [ + "test/buildtest_idea.o", + ], + "test/buildtest_idea.o" => + [ + "test/buildtest_idea.c", + ], + "test/buildtest_kdf" => + [ + "test/buildtest_kdf.o", + ], + "test/buildtest_kdf.o" => + [ + "test/buildtest_kdf.c", + ], + "test/buildtest_lhash" => + [ + "test/buildtest_lhash.o", + ], + "test/buildtest_lhash.o" => + [ + "test/buildtest_lhash.c", + ], + "test/buildtest_md4" => + [ + "test/buildtest_md4.o", + ], + "test/buildtest_md4.o" => + [ + "test/buildtest_md4.c", + ], + "test/buildtest_md5" => + [ + "test/buildtest_md5.o", + ], + "test/buildtest_md5.o" => + [ + "test/buildtest_md5.c", + ], + "test/buildtest_mdc2" => + [ + "test/buildtest_mdc2.o", + ], + "test/buildtest_mdc2.o" => + [ + "test/buildtest_mdc2.c", + ], + "test/buildtest_modes" => + [ + "test/buildtest_modes.o", + ], + "test/buildtest_modes.o" => + [ + "test/buildtest_modes.c", + ], + "test/buildtest_obj_mac" => + [ + "test/buildtest_obj_mac.o", + ], + "test/buildtest_obj_mac.o" => + [ + "test/buildtest_obj_mac.c", + ], + "test/buildtest_objects" => + [ + "test/buildtest_objects.o", + ], + "test/buildtest_objects.o" => + [ + "test/buildtest_objects.c", + ], + "test/buildtest_ocsp" => + [ + "test/buildtest_ocsp.o", + ], + "test/buildtest_ocsp.o" => + [ + "test/buildtest_ocsp.c", + ], + "test/buildtest_opensslv" => + [ + "test/buildtest_opensslv.o", + ], + "test/buildtest_opensslv.o" => + [ + "test/buildtest_opensslv.c", + ], + "test/buildtest_ossl_typ" => + [ + "test/buildtest_ossl_typ.o", + ], + "test/buildtest_ossl_typ.o" => + [ + "test/buildtest_ossl_typ.c", + ], + "test/buildtest_pem" => + [ + "test/buildtest_pem.o", + ], + "test/buildtest_pem.o" => + [ + "test/buildtest_pem.c", + ], + "test/buildtest_pem2" => + [ + "test/buildtest_pem2.o", + ], + "test/buildtest_pem2.o" => + [ + "test/buildtest_pem2.c", + ], + "test/buildtest_pkcs12" => + [ + "test/buildtest_pkcs12.o", + ], + "test/buildtest_pkcs12.o" => + [ + "test/buildtest_pkcs12.c", + ], + "test/buildtest_pkcs7" => + [ + "test/buildtest_pkcs7.o", + ], + "test/buildtest_pkcs7.o" => + [ + "test/buildtest_pkcs7.c", + ], + "test/buildtest_rand" => + [ + "test/buildtest_rand.o", + ], + "test/buildtest_rand.o" => + [ + "test/buildtest_rand.c", + ], + "test/buildtest_rand_drbg" => + [ + "test/buildtest_rand_drbg.o", + ], + "test/buildtest_rand_drbg.o" => + [ + "test/buildtest_rand_drbg.c", + ], + "test/buildtest_rc2" => + [ + "test/buildtest_rc2.o", + ], + "test/buildtest_rc2.o" => + [ + "test/buildtest_rc2.c", + ], + "test/buildtest_rc4" => + [ + "test/buildtest_rc4.o", + ], + "test/buildtest_rc4.o" => + [ + "test/buildtest_rc4.c", + ], + "test/buildtest_ripemd" => + [ + "test/buildtest_ripemd.o", + ], + "test/buildtest_ripemd.o" => + [ + "test/buildtest_ripemd.c", + ], + "test/buildtest_rsa" => + [ + "test/buildtest_rsa.o", + ], + "test/buildtest_rsa.o" => + [ + "test/buildtest_rsa.c", + ], + "test/buildtest_safestack" => + [ + "test/buildtest_safestack.o", + ], + "test/buildtest_safestack.o" => + [ + "test/buildtest_safestack.c", + ], + "test/buildtest_seed" => + [ + "test/buildtest_seed.o", + ], + "test/buildtest_seed.o" => + [ + "test/buildtest_seed.c", + ], + "test/buildtest_sha" => + [ + "test/buildtest_sha.o", + ], + "test/buildtest_sha.o" => + [ + "test/buildtest_sha.c", + ], + "test/buildtest_srp" => + [ + "test/buildtest_srp.o", + ], + "test/buildtest_srp.o" => + [ + "test/buildtest_srp.c", + ], + "test/buildtest_srtp" => + [ + "test/buildtest_srtp.o", + ], + "test/buildtest_srtp.o" => + [ + "test/buildtest_srtp.c", + ], + "test/buildtest_ssl" => + [ + "test/buildtest_ssl.o", + ], + "test/buildtest_ssl.o" => + [ + "test/buildtest_ssl.c", + ], + "test/buildtest_ssl2" => + [ + "test/buildtest_ssl2.o", + ], + "test/buildtest_ssl2.o" => + [ + "test/buildtest_ssl2.c", + ], + "test/buildtest_stack" => + [ + "test/buildtest_stack.o", + ], + "test/buildtest_stack.o" => + [ + "test/buildtest_stack.c", + ], + "test/buildtest_store" => + [ + "test/buildtest_store.o", + ], + "test/buildtest_store.o" => + [ + "test/buildtest_store.c", + ], + "test/buildtest_symhacks" => + [ + "test/buildtest_symhacks.o", + ], + "test/buildtest_symhacks.o" => + [ + "test/buildtest_symhacks.c", + ], + "test/buildtest_tls1" => + [ + "test/buildtest_tls1.o", + ], + "test/buildtest_tls1.o" => + [ + "test/buildtest_tls1.c", + ], + "test/buildtest_ts" => + [ + "test/buildtest_ts.o", + ], + "test/buildtest_ts.o" => + [ + "test/buildtest_ts.c", + ], + "test/buildtest_txt_db" => + [ + "test/buildtest_txt_db.o", + ], + "test/buildtest_txt_db.o" => + [ + "test/buildtest_txt_db.c", + ], + "test/buildtest_ui" => + [ + "test/buildtest_ui.o", + ], + "test/buildtest_ui.o" => + [ + "test/buildtest_ui.c", + ], + "test/buildtest_whrlpool" => + [ + "test/buildtest_whrlpool.o", + ], + "test/buildtest_whrlpool.o" => + [ + "test/buildtest_whrlpool.c", + ], + "test/buildtest_x509" => + [ + "test/buildtest_x509.o", + ], + "test/buildtest_x509.o" => + [ + "test/buildtest_x509.c", + ], + "test/buildtest_x509_vfy" => + [ + "test/buildtest_x509_vfy.o", + ], + "test/buildtest_x509_vfy.o" => + [ + "test/buildtest_x509_vfy.c", + ], + "test/buildtest_x509v3" => + [ + "test/buildtest_x509v3.o", + ], + "test/buildtest_x509v3.o" => + [ + "test/buildtest_x509v3.c", + ], + "test/casttest" => + [ + "test/casttest.o", + ], + "test/casttest.o" => + [ + "test/casttest.c", + ], + "test/chacha_internal_test" => + [ + "test/chacha_internal_test.o", + ], + "test/chacha_internal_test.o" => + [ + "test/chacha_internal_test.c", + ], + "test/cipher_overhead_test" => + [ + "test/cipher_overhead_test.o", + ], + "test/cipher_overhead_test.o" => + [ + "test/cipher_overhead_test.c", + ], + "test/cipherbytes_test" => + [ + "test/cipherbytes_test.o", + ], + "test/cipherbytes_test.o" => + [ + "test/cipherbytes_test.c", + ], + "test/cipherlist_test" => + [ + "test/cipherlist_test.o", + ], + "test/cipherlist_test.o" => + [ + "test/cipherlist_test.c", + ], + "test/ciphername_test" => + [ + "test/ciphername_test.o", + ], + "test/ciphername_test.o" => + [ + "test/ciphername_test.c", + ], + "test/clienthellotest" => + [ + "test/clienthellotest.o", + ], + "test/clienthellotest.o" => + [ + "test/clienthellotest.c", + ], + "test/cmsapitest" => + [ + "test/cmsapitest.o", + ], + "test/cmsapitest.o" => + [ + "test/cmsapitest.c", + ], + "test/conf_include_test" => + [ + "test/conf_include_test.o", + ], + "test/conf_include_test.o" => + [ + "test/conf_include_test.c", + ], + "test/constant_time_test" => + [ + "test/constant_time_test.o", + ], + "test/constant_time_test.o" => + [ + "test/constant_time_test.c", + ], + "test/crltest" => + [ + "test/crltest.o", + ], + "test/crltest.o" => + [ + "test/crltest.c", + ], + "test/ct_test" => + [ + "test/ct_test.o", + ], + "test/ct_test.o" => + [ + "test/ct_test.c", + ], + "test/ctype_internal_test" => + [ + "test/ctype_internal_test.o", + ], + "test/ctype_internal_test.o" => + [ + "test/ctype_internal_test.c", + ], + "test/curve448_internal_test" => + [ + "test/curve448_internal_test.o", + ], + "test/curve448_internal_test.o" => + [ + "test/curve448_internal_test.c", + ], + "test/d2i_test" => + [ + "test/d2i_test.o", + ], + "test/d2i_test.o" => + [ + "test/d2i_test.c", + ], + "test/danetest" => + [ + "test/danetest.o", + ], + "test/danetest.o" => + [ + "test/danetest.c", + ], + "test/destest" => + [ + "test/destest.o", + ], + "test/destest.o" => + [ + "test/destest.c", + ], + "test/dhtest" => + [ + "test/dhtest.o", + ], + "test/dhtest.o" => + [ + "test/dhtest.c", + ], + "test/drbg_cavs_data.o" => + [ + "test/drbg_cavs_data.c", + ], + "test/drbg_cavs_test" => + [ + "test/drbg_cavs_data.o", + "test/drbg_cavs_test.o", + ], + "test/drbg_cavs_test.o" => + [ + "test/drbg_cavs_test.c", + ], + "test/drbgtest" => + [ + "test/drbgtest.o", + ], + "test/drbgtest.o" => + [ + "test/drbgtest.c", + ], + "test/dsa_no_digest_size_test" => + [ + "test/dsa_no_digest_size_test.o", + ], + "test/dsa_no_digest_size_test.o" => + [ + "test/dsa_no_digest_size_test.c", + ], + "test/dsatest" => + [ + "test/dsatest.o", + ], + "test/dsatest.o" => + [ + "test/dsatest.c", + ], + "test/dtls_mtu_test" => + [ + "test/dtls_mtu_test.o", + "test/ssltestlib.o", + ], + "test/dtls_mtu_test.o" => + [ + "test/dtls_mtu_test.c", + ], + "test/dtlstest" => + [ + "test/dtlstest.o", + "test/ssltestlib.o", + ], + "test/dtlstest.o" => + [ + "test/dtlstest.c", + ], + "test/dtlsv1listentest" => + [ + "test/dtlsv1listentest.o", + ], + "test/dtlsv1listentest.o" => + [ + "test/dtlsv1listentest.c", + ], + "test/ec_internal_test" => + [ + "test/ec_internal_test.o", + ], + "test/ec_internal_test.o" => + [ + "test/ec_internal_test.c", + ], + "test/ecdsatest" => + [ + "test/ecdsatest.o", + ], + "test/ecdsatest.o" => + [ + "test/ecdsatest.c", + ], + "test/ecstresstest" => + [ + "test/ecstresstest.o", + ], + "test/ecstresstest.o" => + [ + "test/ecstresstest.c", + ], + "test/ectest" => + [ + "test/ectest.o", + ], + "test/ectest.o" => + [ + "test/ectest.c", + ], + "test/enginetest" => + [ + "test/enginetest.o", + ], + "test/enginetest.o" => + [ + "test/enginetest.c", + ], + "test/errtest" => + [ + "test/errtest.o", + ], + "test/errtest.o" => + [ + "test/errtest.c", + ], + "test/evp_extra_test" => + [ + "test/evp_extra_test.o", + ], + "test/evp_extra_test.o" => + [ + "test/evp_extra_test.c", + ], + "test/evp_test" => + [ + "test/evp_test.o", + ], + "test/evp_test.o" => + [ + "test/evp_test.c", + ], + "test/exdatatest" => + [ + "test/exdatatest.o", + ], + "test/exdatatest.o" => + [ + "test/exdatatest.c", + ], + "test/exptest" => + [ + "test/exptest.o", + ], + "test/exptest.o" => + [ + "test/exptest.c", + ], + "test/fatalerrtest" => + [ + "test/fatalerrtest.o", + "test/ssltestlib.o", + ], + "test/fatalerrtest.o" => + [ + "test/fatalerrtest.c", + ], + "test/gmdifftest" => + [ + "test/gmdifftest.o", + ], + "test/gmdifftest.o" => + [ + "test/gmdifftest.c", + ], + "test/gosttest" => + [ + "test/gosttest.o", + "test/ssltestlib.o", + ], + "test/gosttest.o" => + [ + "test/gosttest.c", + ], + "test/handshake_helper.o" => + [ + "test/handshake_helper.c", + ], + "test/hmactest" => + [ + "test/hmactest.o", + ], + "test/hmactest.o" => + [ + "test/hmactest.c", + ], + "test/ideatest" => + [ + "test/ideatest.o", + ], + "test/ideatest.o" => + [ + "test/ideatest.c", + ], + "test/igetest" => + [ + "test/igetest.o", + ], + "test/igetest.o" => + [ + "test/igetest.c", + ], + "test/lhash_test" => + [ + "test/lhash_test.o", + ], + "test/lhash_test.o" => + [ + "test/lhash_test.c", + ], + "test/libtestutil.a" => + [ + "test/testutil/basic_output.o", + "test/testutil/cb.o", + "test/testutil/driver.o", + "test/testutil/format_output.o", + "test/testutil/init.o", + "test/testutil/main.o", + "test/testutil/output_helpers.o", + "test/testutil/stanza.o", + "test/testutil/tap_bio.o", + "test/testutil/test_cleanup.o", + "test/testutil/tests.o", + ], + "test/md2test" => + [ + "test/md2test.o", + ], + "test/md2test.o" => + [ + "test/md2test.c", + ], + "test/mdc2_internal_test" => + [ + "test/mdc2_internal_test.o", + ], + "test/mdc2_internal_test.o" => + [ + "test/mdc2_internal_test.c", + ], + "test/mdc2test" => + [ + "test/mdc2test.o", + ], + "test/mdc2test.o" => + [ + "test/mdc2test.c", + ], + "test/memleaktest" => + [ + "test/memleaktest.o", + ], + "test/memleaktest.o" => + [ + "test/memleaktest.c", + ], + "test/modes_internal_test" => + [ + "test/modes_internal_test.o", + ], + "test/modes_internal_test.o" => + [ + "test/modes_internal_test.c", + ], + "test/ocspapitest" => + [ + "test/ocspapitest.o", + ], + "test/ocspapitest.o" => + [ + "test/ocspapitest.c", + ], + "test/packettest" => + [ + "test/packettest.o", + ], + "test/packettest.o" => + [ + "test/packettest.c", + ], + "test/pbelutest" => + [ + "test/pbelutest.o", + ], + "test/pbelutest.o" => + [ + "test/pbelutest.c", + ], + "test/pemtest" => + [ + "test/pemtest.o", + ], + "test/pemtest.o" => + [ + "test/pemtest.c", + ], + "test/pkey_meth_kdf_test" => + [ + "test/pkey_meth_kdf_test.o", + ], + "test/pkey_meth_kdf_test.o" => + [ + "test/pkey_meth_kdf_test.c", + ], + "test/pkey_meth_test" => + [ + "test/pkey_meth_test.o", + ], + "test/pkey_meth_test.o" => + [ + "test/pkey_meth_test.c", + ], + "test/poly1305_internal_test" => + [ + "test/poly1305_internal_test.o", + ], + "test/poly1305_internal_test.o" => + [ + "test/poly1305_internal_test.c", + ], + "test/rc2test" => + [ + "test/rc2test.o", + ], + "test/rc2test.o" => + [ + "test/rc2test.c", + ], + "test/rc4test" => + [ + "test/rc4test.o", + ], + "test/rc4test.o" => + [ + "test/rc4test.c", + ], + "test/rc5test" => + [ + "test/rc5test.o", + ], + "test/rc5test.o" => + [ + "test/rc5test.c", + ], + "test/rdrand_sanitytest" => + [ + "test/rdrand_sanitytest.o", + ], + "test/rdrand_sanitytest.o" => + [ + "test/rdrand_sanitytest.c", + ], + "test/recordlentest" => + [ + "test/recordlentest.o", + "test/ssltestlib.o", + ], + "test/recordlentest.o" => + [ + "test/recordlentest.c", + ], + "test/rsa_complex" => + [ + "test/rsa_complex.o", + ], + "test/rsa_complex.o" => + [ + "test/rsa_complex.c", + ], + "test/rsa_mp_test" => + [ + "test/rsa_mp_test.o", + ], + "test/rsa_mp_test.o" => + [ + "test/rsa_mp_test.c", + ], + "test/rsa_test" => + [ + "test/rsa_test.o", + ], + "test/rsa_test.o" => + [ + "test/rsa_test.c", + ], + "test/sanitytest" => + [ + "test/sanitytest.o", + ], + "test/sanitytest.o" => + [ + "test/sanitytest.c", + ], + "test/secmemtest" => + [ + "test/secmemtest.o", + ], + "test/secmemtest.o" => + [ + "test/secmemtest.c", + ], + "test/servername_test" => + [ + "test/servername_test.o", + "test/ssltestlib.o", + ], + "test/servername_test.o" => + [ + "test/servername_test.c", + ], + "test/siphash_internal_test" => + [ + "test/siphash_internal_test.o", + ], + "test/siphash_internal_test.o" => + [ + "test/siphash_internal_test.c", + ], + "test/sm2_internal_test" => + [ + "test/sm2_internal_test.o", + ], + "test/sm2_internal_test.o" => + [ + "test/sm2_internal_test.c", + ], + "test/sm4_internal_test" => + [ + "test/sm4_internal_test.o", + ], + "test/sm4_internal_test.o" => + [ + "test/sm4_internal_test.c", + ], + "test/srptest" => + [ + "test/srptest.o", + ], + "test/srptest.o" => + [ + "test/srptest.c", + ], + "test/ssl_cert_table_internal_test" => + [ + "test/ssl_cert_table_internal_test.o", + ], + "test/ssl_cert_table_internal_test.o" => + [ + "test/ssl_cert_table_internal_test.c", + ], + "test/ssl_test" => + [ + "test/handshake_helper.o", + "test/ssl_test.o", + "test/ssl_test_ctx.o", + ], + "test/ssl_test.o" => + [ + "test/ssl_test.c", + ], + "test/ssl_test_ctx.o" => + [ + "test/ssl_test_ctx.c", + ], + "test/ssl_test_ctx_test" => + [ + "test/ssl_test_ctx.o", + "test/ssl_test_ctx_test.o", + ], + "test/ssl_test_ctx_test.o" => + [ + "test/ssl_test_ctx_test.c", + ], + "test/sslapitest" => + [ + "test/sslapitest.o", + "test/ssltestlib.o", + ], + "test/sslapitest.o" => + [ + "test/sslapitest.c", + ], + "test/sslbuffertest" => + [ + "test/sslbuffertest.o", + "test/ssltestlib.o", + ], + "test/sslbuffertest.o" => + [ + "test/sslbuffertest.c", + ], + "test/sslcorrupttest" => + [ + "test/sslcorrupttest.o", + "test/ssltestlib.o", + ], + "test/sslcorrupttest.o" => + [ + "test/sslcorrupttest.c", + ], + "test/ssltest_old" => + [ + "test/ssltest_old.o", + ], + "test/ssltest_old.o" => + [ + "test/ssltest_old.c", + ], + "test/ssltestlib.o" => + [ + "test/ssltestlib.c", + ], + "test/stack_test" => + [ + "test/stack_test.o", + ], + "test/stack_test.o" => + [ + "test/stack_test.c", + ], + "test/sysdefaulttest" => + [ + "test/sysdefaulttest.o", + ], + "test/sysdefaulttest.o" => + [ + "test/sysdefaulttest.c", + ], + "test/test_test" => + [ + "test/test_test.o", + ], + "test/test_test.o" => + [ + "test/test_test.c", + ], + "test/testutil/basic_output.o" => + [ + "test/testutil/basic_output.c", + ], + "test/testutil/cb.o" => + [ + "test/testutil/cb.c", + ], + "test/testutil/driver.o" => + [ + "test/testutil/driver.c", + ], + "test/testutil/format_output.o" => + [ + "test/testutil/format_output.c", + ], + "test/testutil/init.o" => + [ + "test/testutil/init.c", + ], + "test/testutil/main.o" => + [ + "test/testutil/main.c", + ], + "test/testutil/output_helpers.o" => + [ + "test/testutil/output_helpers.c", + ], + "test/testutil/stanza.o" => + [ + "test/testutil/stanza.c", + ], + "test/testutil/tap_bio.o" => + [ + "test/testutil/tap_bio.c", + ], + "test/testutil/test_cleanup.o" => + [ + "test/testutil/test_cleanup.c", + ], + "test/testutil/tests.o" => + [ + "test/testutil/tests.c", + ], + "test/threadstest" => + [ + "test/threadstest.o", + ], + "test/threadstest.o" => + [ + "test/threadstest.c", + ], + "test/time_offset_test" => + [ + "test/time_offset_test.o", + ], + "test/time_offset_test.o" => + [ + "test/time_offset_test.c", + ], + "test/tls13ccstest" => + [ + "test/ssltestlib.o", + "test/tls13ccstest.o", + ], + "test/tls13ccstest.o" => + [ + "test/tls13ccstest.c", + ], + "test/tls13encryptiontest" => + [ + "test/tls13encryptiontest.o", + ], + "test/tls13encryptiontest.o" => + [ + "test/tls13encryptiontest.c", + ], + "test/uitest" => + [ + "test/uitest.o", + ], + "test/uitest.o" => + [ + "test/uitest.c", + ], + "test/v3ext" => + [ + "test/v3ext.o", + ], + "test/v3ext.o" => + [ + "test/v3ext.c", + ], + "test/v3nametest" => + [ + "test/v3nametest.o", + ], + "test/v3nametest.o" => + [ + "test/v3nametest.c", + ], + "test/verify_extra_test" => + [ + "test/verify_extra_test.o", + ], + "test/verify_extra_test.o" => + [ + "test/verify_extra_test.c", + ], + "test/versions" => + [ + "test/versions.o", + ], + "test/versions.o" => + [ + "test/versions.c", + ], + "test/wpackettest" => + [ + "test/wpackettest.o", + ], + "test/wpackettest.o" => + [ + "test/wpackettest.c", + ], + "test/x509_check_cert_pkey_test" => + [ + "test/x509_check_cert_pkey_test.o", + ], + "test/x509_check_cert_pkey_test.o" => + [ + "test/x509_check_cert_pkey_test.c", + ], + "test/x509_dup_cert_test" => + [ + "test/x509_dup_cert_test.o", + ], + "test/x509_dup_cert_test.o" => + [ + "test/x509_dup_cert_test.c", + ], + "test/x509_internal_test" => + [ + "test/x509_internal_test.o", + ], + "test/x509_internal_test.o" => + [ + "test/x509_internal_test.c", + ], + "test/x509_time_test" => + [ + "test/x509_time_test.o", + ], + "test/x509_time_test.o" => + [ + "test/x509_time_test.c", + ], + "test/x509aux" => + [ + "test/x509aux.o", + ], + "test/x509aux.o" => + [ + "test/x509aux.c", + ], + "tools/c_rehash" => + [ + "tools/c_rehash.in", + ], + "util/shlib_wrap.sh" => + [ + "util/shlib_wrap.sh.in", + ], + }, +); + +# The following data is only used when this files is use as a script +my @makevars = ( + 'AR', + 'ARFLAGS', + 'AS', + 'ASFLAGS', + 'CC', + 'CFLAGS', + 'CPP', + 'CPPDEFINES', + 'CPPFLAGS', + 'CPPINCLUDES', + 'CROSS_COMPILE', + 'CXX', + 'CXXFLAGS', + 'HASHBANGPERL', + 'LD', + 'LDFLAGS', + 'LDLIBS', + 'MT', + 'MTFLAGS', + 'PERL', + 'RANLIB', + 'RC', + 'RCFLAGS', + 'RM', +); +my %disabled_info = ( + 'afalgeng' => { + macro => 'OPENSSL_NO_AFALGENG', + }, + 'asan' => { + macro => 'OPENSSL_NO_ASAN', + }, + 'asm' => { + macro => 'OPENSSL_NO_ASM', + }, + 'comp' => { + macro => 'OPENSSL_NO_COMP', + skipped => [ 'crypto/comp' ], + }, + 'crypto-mdebug' => { + macro => 'OPENSSL_NO_CRYPTO_MDEBUG', + }, + 'crypto-mdebug-backtrace' => { + macro => 'OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE', + }, + 'devcryptoeng' => { + macro => 'OPENSSL_NO_DEVCRYPTOENG', + }, + 'ec_nistp_64_gcc_128' => { + macro => 'OPENSSL_NO_EC_NISTP_64_GCC_128', + }, + 'egd' => { + macro => 'OPENSSL_NO_EGD', + }, + 'external-tests' => { + macro => 'OPENSSL_NO_EXTERNAL_TESTS', + }, + 'fuzz-afl' => { + macro => 'OPENSSL_NO_FUZZ_AFL', + }, + 'fuzz-libfuzzer' => { + macro => 'OPENSSL_NO_FUZZ_LIBFUZZER', + }, + 'heartbeats' => { + macro => 'OPENSSL_NO_HEARTBEATS', + }, + 'md2' => { + macro => 'OPENSSL_NO_MD2', + skipped => [ 'crypto/md2' ], + }, + 'msan' => { + macro => 'OPENSSL_NO_MSAN', + }, + 'rc5' => { + macro => 'OPENSSL_NO_RC5', + skipped => [ 'crypto/rc5' ], + }, + 'sctp' => { + macro => 'OPENSSL_NO_SCTP', + }, + 'ssl3' => { + macro => 'OPENSSL_NO_SSL3', + }, + 'ssl3-method' => { + macro => 'OPENSSL_NO_SSL3_METHOD', + }, + 'ubsan' => { + macro => 'OPENSSL_NO_UBSAN', + }, + 'unit-test' => { + macro => 'OPENSSL_NO_UNIT_TEST', + }, + 'weak-ssl-ciphers' => { + macro => 'OPENSSL_NO_WEAK_SSL_CIPHERS', + }, +); +my @user_crossable = qw( AR AS CC CXX CPP LD MT RANLIB RC ); +# If run directly, we can give some answers, and even reconfigure +unless (caller) { + use Getopt::Long; + use File::Spec::Functions; + use File::Basename; + use Pod::Usage; + + my $here = dirname($0); + + my $dump = undef; + my $cmdline = undef; + my $options = undef; + my $target = undef; + my $envvars = undef; + my $makevars = undef; + my $buildparams = undef; + my $reconf = undef; + my $verbose = undef; + my $help = undef; + my $man = undef; + GetOptions('dump|d' => \$dump, + 'command-line|c' => \$cmdline, + 'options|o' => \$options, + 'target|t' => \$target, + 'environment|e' => \$envvars, + 'make-variables|m' => \$makevars, + 'build-parameters|b' => \$buildparams, + 'reconfigure|reconf|r' => \$reconf, + 'verbose|v' => \$verbose, + 'help' => \$help, + 'man' => \$man) + or die "Errors in command line arguments\n"; + + unless ($dump || $cmdline || $options || $target || $envvars || $makevars + || $buildparams || $reconf || $verbose || $help || $man) { + print STDERR <<"_____"; +You must give at least one option. +For more information, do '$0 --help' +_____ + exit(2); + } + + if ($help) { + pod2usage(-exitval => 0, + -verbose => 1); + } + if ($man) { + pod2usage(-exitval => 0, + -verbose => 2); + } + if ($dump || $cmdline) { + print "\nCommand line (with current working directory = $here):\n\n"; + print ' ',join(' ', + $config{PERL}, + catfile($config{sourcedir}, 'Configure'), + @{$config{perlargv}}), "\n"; + print "\nPerl information:\n\n"; + print ' ',$config{perl_cmd},"\n"; + print ' ',$config{perl_version},' for ',$config{perl_archname},"\n"; + } + if ($dump || $options) { + my $longest = 0; + my $longest2 = 0; + foreach my $what (@disablables) { + $longest = length($what) if $longest < length($what); + $longest2 = length($disabled{$what}) + if $disabled{$what} && $longest2 < length($disabled{$what}); + } + print "\nEnabled features:\n\n"; + foreach my $what (@disablables) { + print " $what\n" unless $disabled{$what}; + } + print "\nDisabled features:\n\n"; + foreach my $what (@disablables) { + if ($disabled{$what}) { + print " $what", ' ' x ($longest - length($what) + 1), + "[$disabled{$what}]", ' ' x ($longest2 - length($disabled{$what}) + 1); + print $disabled_info{$what}->{macro} + if $disabled_info{$what}->{macro}; + print ' (skip ', + join(', ', @{$disabled_info{$what}->{skipped}}), + ')' + if $disabled_info{$what}->{skipped}; + print "\n"; + } + } + } + if ($dump || $target) { + print "\nConfig target attributes:\n\n"; + foreach (sort keys %target) { + next if $_ =~ m|^_| || $_ eq 'template'; + my $quotify = sub { + map { (my $x = $_) =~ s|([\\\$\@"])|\\$1|g; "\"$x\""} @_; + }; + print ' ', $_, ' => '; + if (ref($target{$_}) eq "ARRAY") { + print '[ ', join(', ', $quotify->(@{$target{$_}})), " ],\n"; + } else { + print $quotify->($target{$_}), ",\n" + } + } + } + if ($dump || $envvars) { + print "\nRecorded environment:\n\n"; + foreach (sort keys %{$config{perlenv}}) { + print ' ',$_,' = ',($config{perlenv}->{$_} || ''),"\n"; + } + } + if ($dump || $makevars) { + print "\nMakevars:\n\n"; + foreach my $var (@makevars) { + my $prefix = ''; + $prefix = $config{CROSS_COMPILE} + if grep { $var eq $_ } @user_crossable; + $prefix //= ''; + print ' ',$var,' ' x (16 - length $var),'= ', + (ref $config{$var} eq 'ARRAY' + ? join(' ', @{$config{$var}}) + : $prefix.$config{$var}), + "\n" + if defined $config{$var}; + } + + my @buildfile = ($config{builddir}, $config{build_file}); + unshift @buildfile, $here + unless file_name_is_absolute($config{builddir}); + my $buildfile = canonpath(catdir(@buildfile)); + print <<"_____"; + +NOTE: These variables only represent the configuration view. The build file +template may have processed these variables further, please have a look at the +build file for more exact data: + $buildfile +_____ + } + if ($dump || $buildparams) { + my @buildfile = ($config{builddir}, $config{build_file}); + unshift @buildfile, $here + unless file_name_is_absolute($config{builddir}); + print "\nbuild file:\n\n"; + print " ", canonpath(catfile(@buildfile)),"\n"; + + print "\nbuild file templates:\n\n"; + foreach (@{$config{build_file_templates}}) { + my @tmpl = ($_); + unshift @tmpl, $here + unless file_name_is_absolute($config{sourcedir}); + print ' ',canonpath(catfile(@tmpl)),"\n"; + } + } + if ($reconf) { + if ($verbose) { + print 'Reconfiguring with: ', join(' ',@{$config{perlargv}}), "\n"; + foreach (sort keys %{$config{perlenv}}) { + print ' ',$_,' = ',($config{perlenv}->{$_} || ""),"\n"; + } + } + + chdir $here; + exec $^X,catfile($config{sourcedir}, 'Configure'),'reconf'; + } +} + +1; + +__END__ + +=head1 NAME + +configdata.pm - configuration data for OpenSSL builds + +=head1 SYNOPSIS + +Interactive: + + perl configdata.pm [options] + +As data bank module: + + use configdata; + +=head1 DESCRIPTION + +This module can be used in two modes, interactively and as a module containing +all the data recorded by OpenSSL's Configure script. + +When used interactively, simply run it as any perl script, with at least one +option, and you will get the information you ask for. See L below. + +When loaded as a module, you get a few databanks with useful information to +perform build related tasks. The databanks are: + + %config Configured things. + %target The OpenSSL config target with all inheritances + resolved. + %disabled The features that are disabled. + @disablables The list of features that can be disabled. + %withargs All data given through --with-THING options. + %unified_info All information that was computed from the build.info + files. + +=head1 OPTIONS + +=over 4 + +=item B<--help> + +Print a brief help message and exit. + +=item B<--man> + +Print the manual page and exit. + +=item B<--dump> | B<-d> + +Print all relevant configuration data. This is equivalent to B<--command-line> +B<--options> B<--target> B<--environment> B<--make-variables> +B<--build-parameters>. + +=item B<--command-line> | B<-c> + +Print the current configuration command line. + +=item B<--options> | B<-o> + +Print the features, both enabled and disabled, and display defined macro and +skipped directories where applicable. + +=item B<--target> | B<-t> + +Print the config attributes for this config target. + +=item B<--environment> | B<-e> + +Print the environment variables and their values at the time of configuration. + +=item B<--make-variables> | B<-m> + +Print the main make variables generated in the current configuration + +=item B<--build-parameters> | B<-b> + +Print the build parameters, i.e. build file and build file templates. + +=item B<--reconfigure> | B<--reconf> | B<-r> + +Redo the configuration. + +=item B<--verbose> | B<-v> + +Verbose output. + +=back + +=cut diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/buildinf.h b/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/buildinf.h new file mode 100644 index 00000000000000..2bfaa3f4e7e85b --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/buildinf.h @@ -0,0 +1,28 @@ +/* + * WARNING: do not edit! + * Generated by util/mkbuildinf.pl + * + * Copyright 2014-2017 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#define PLATFORM "platform: linux64-mips64" +#define DATE "built on: Thu May 30 02:16:22 2019 UTC" + +/* + * Generate compiler_flags as an array of individual characters. This is a + * workaround for the situation where CFLAGS gets too long for a C90 string + * literal + */ +static const char compiler_flags[] = { + 'c','o','m','p','i','l','e','r',':',' ','g','c','c',' ','-','f', + 'P','I','C',' ','-','p','t','h','r','e','a','d',' ','-','m','a', + 'b','i','=','6','4',' ','-','W','a','l','l',' ','-','O','3',' ', + '-','D','O','P','E','N','S','S','L','_','U','S','E','_','N','O', + 'D','E','L','E','T','E',' ','-','D','O','P','E','N','S','S','L', + '_','P','I','C',' ','-','D','N','D','E','B','U','G','\0' +}; diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/include/internal/bn_conf.h b/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/include/internal/bn_conf.h new file mode 100644 index 00000000000000..34bd8b78b4f90f --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/include/internal/bn_conf.h @@ -0,0 +1,28 @@ +/* WARNING: do not edit! */ +/* Generated by Makefile from crypto/include/internal/bn_conf.h.in */ +/* + * Copyright 2016 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_BN_CONF_H +# define HEADER_BN_CONF_H + +/* + * The contents of this file are not used in the UEFI build, as + * both 32-bit and 64-bit builds are supported from a single run + * of the Configure script. + */ + +/* Should we define BN_DIV2W here? */ + +/* Only one for the following should be defined */ +#define SIXTY_FOUR_BIT_LONG +#undef SIXTY_FOUR_BIT +#undef THIRTY_TWO_BIT + +#endif diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/include/internal/dso_conf.h b/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/include/internal/dso_conf.h new file mode 100644 index 00000000000000..18f6ac3bffad0f --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/crypto/include/internal/dso_conf.h @@ -0,0 +1,19 @@ +/* WARNING: do not edit! */ +/* Generated by Makefile from crypto/include/internal/dso_conf.h.in */ +/* + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#ifndef HEADER_DSO_CONF_H +# define HEADER_DSO_CONF_H + +# define DSO_DLFCN +# define HAVE_DLFCN_H +# define DSO_EXTENSION ".so" + +#endif diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/opensslconf.h b/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/opensslconf.h new file mode 100644 index 00000000000000..212e3f67d8e568 --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/include/openssl/opensslconf.h @@ -0,0 +1,201 @@ +/* + * WARNING: do not edit! + * Generated by Makefile from include/openssl/opensslconf.h.in + * + * Copyright 2016-2018 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef OPENSSL_ALGORITHM_DEFINES +# error OPENSSL_ALGORITHM_DEFINES no longer supported +#endif + +/* + * OpenSSL was configured with the following options: + */ + +#ifndef OPENSSL_NO_COMP +# define OPENSSL_NO_COMP +#endif +#ifndef OPENSSL_NO_MD2 +# define OPENSSL_NO_MD2 +#endif +#ifndef OPENSSL_NO_RC5 +# define OPENSSL_NO_RC5 +#endif +#ifndef OPENSSL_THREADS +# define OPENSSL_THREADS +#endif +#ifndef OPENSSL_RAND_SEED_OS +# define OPENSSL_RAND_SEED_OS +#endif +#ifndef OPENSSL_NO_AFALGENG +# define OPENSSL_NO_AFALGENG +#endif +#ifndef OPENSSL_NO_ASAN +# define OPENSSL_NO_ASAN +#endif +#ifndef OPENSSL_NO_ASM +# define OPENSSL_NO_ASM +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG +# define OPENSSL_NO_CRYPTO_MDEBUG +#endif +#ifndef OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +# define OPENSSL_NO_CRYPTO_MDEBUG_BACKTRACE +#endif +#ifndef OPENSSL_NO_DEVCRYPTOENG +# define OPENSSL_NO_DEVCRYPTOENG +#endif +#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 +# define OPENSSL_NO_EC_NISTP_64_GCC_128 +#endif +#ifndef OPENSSL_NO_EGD +# define OPENSSL_NO_EGD +#endif +#ifndef OPENSSL_NO_EXTERNAL_TESTS +# define OPENSSL_NO_EXTERNAL_TESTS +#endif +#ifndef OPENSSL_NO_FUZZ_AFL +# define OPENSSL_NO_FUZZ_AFL +#endif +#ifndef OPENSSL_NO_FUZZ_LIBFUZZER +# define OPENSSL_NO_FUZZ_LIBFUZZER +#endif +#ifndef OPENSSL_NO_HEARTBEATS +# define OPENSSL_NO_HEARTBEATS +#endif +#ifndef OPENSSL_NO_MSAN +# define OPENSSL_NO_MSAN +#endif +#ifndef OPENSSL_NO_SCTP +# define OPENSSL_NO_SCTP +#endif +#ifndef OPENSSL_NO_SSL3 +# define OPENSSL_NO_SSL3 +#endif +#ifndef OPENSSL_NO_SSL3_METHOD +# define OPENSSL_NO_SSL3_METHOD +#endif +#ifndef OPENSSL_NO_UBSAN +# define OPENSSL_NO_UBSAN +#endif +#ifndef OPENSSL_NO_UNIT_TEST +# define OPENSSL_NO_UNIT_TEST +#endif +#ifndef OPENSSL_NO_WEAK_SSL_CIPHERS +# define OPENSSL_NO_WEAK_SSL_CIPHERS +#endif +#ifndef OPENSSL_NO_DYNAMIC_ENGINE +# define OPENSSL_NO_DYNAMIC_ENGINE +#endif +#ifndef OPENSSL_NO_AFALGENG +# define OPENSSL_NO_AFALGENG +#endif + + +/* + * Sometimes OPENSSSL_NO_xxx ends up with an empty file and some compilers + * don't like that. This will hopefully silence them. + */ +#define NON_EMPTY_TRANSLATION_UNIT static void *dummy = &dummy; + +/* + * Applications should use -DOPENSSL_API_COMPAT= to suppress the + * declarations of functions deprecated in or before . Otherwise, they + * still won't see them if the library has been built to disable deprecated + * functions. + */ +#ifndef DECLARE_DEPRECATED +# define DECLARE_DEPRECATED(f) f; +# ifdef __GNUC__ +# if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ > 0) +# undef DECLARE_DEPRECATED +# define DECLARE_DEPRECATED(f) f __attribute__ ((deprecated)); +# endif +# endif +#endif + +#ifndef OPENSSL_FILE +# ifdef OPENSSL_NO_FILENAMES +# define OPENSSL_FILE "" +# define OPENSSL_LINE 0 +# else +# define OPENSSL_FILE __FILE__ +# define OPENSSL_LINE __LINE__ +# endif +#endif + +#ifndef OPENSSL_MIN_API +# define OPENSSL_MIN_API 0 +#endif + +#if !defined(OPENSSL_API_COMPAT) || OPENSSL_API_COMPAT < OPENSSL_MIN_API +# undef OPENSSL_API_COMPAT +# define OPENSSL_API_COMPAT OPENSSL_MIN_API +#endif + +/* + * Do not deprecate things to be deprecated in version 1.2.0 before the + * OpenSSL version number matches. + */ +#if OPENSSL_VERSION_NUMBER < 0x10200000L +# define DEPRECATEDIN_1_2_0(f) f; +#elif OPENSSL_API_COMPAT < 0x10200000L +# define DEPRECATEDIN_1_2_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_2_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x10100000L +# define DEPRECATEDIN_1_1_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_1_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x10000000L +# define DEPRECATEDIN_1_0_0(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_1_0_0(f) +#endif + +#if OPENSSL_API_COMPAT < 0x00908000L +# define DEPRECATEDIN_0_9_8(f) DECLARE_DEPRECATED(f) +#else +# define DEPRECATEDIN_0_9_8(f) +#endif + +/* Generate 80386 code? */ +#undef I386_ONLY + +#undef OPENSSL_UNISTD +#define OPENSSL_UNISTD + +#undef OPENSSL_EXPORT_VAR_AS_FUNCTION + +/* + * The following are cipher-specific, but are part of the public API. + */ +#if !defined(OPENSSL_SYS_UEFI) +# undef BN_LLONG +/* Only one for the following should be defined */ +# define SIXTY_FOUR_BIT_LONG +# undef SIXTY_FOUR_BIT +# undef THIRTY_TWO_BIT +#endif + +#define RC4_INT unsigned char + +#ifdef __cplusplus +} +#endif diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/include/progs.h b/deps/openssl/config/archs/linux64-mips64/no-asm/include/progs.h new file mode 100644 index 00000000000000..9b3d270e20800e --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/include/progs.h @@ -0,0 +1,507 @@ +/* + * WARNING: do not edit! + * Generated by apps/progs.pl + * + * Copyright 1995-2019 The OpenSSL Project Authors. All Rights Reserved. + * + * Licensed under the OpenSSL license (the "License"). You may not use + * this file except in compliance with the License. You can obtain a copy + * in the file LICENSE in the source distribution or at + * https://www.openssl.org/source/license.html + */ + +typedef enum FUNC_TYPE { + FT_none, FT_general, FT_md, FT_cipher, FT_pkey, + FT_md_alg, FT_cipher_alg +} FUNC_TYPE; + +typedef struct function_st { + FUNC_TYPE type; + const char *name; + int (*func)(int argc, char *argv[]); + const OPTIONS *help; +} FUNCTION; + +DEFINE_LHASH_OF(FUNCTION); + +extern int asn1parse_main(int argc, char *argv[]); +extern int ca_main(int argc, char *argv[]); +extern int ciphers_main(int argc, char *argv[]); +extern int cms_main(int argc, char *argv[]); +extern int crl_main(int argc, char *argv[]); +extern int crl2pkcs7_main(int argc, char *argv[]); +extern int dgst_main(int argc, char *argv[]); +extern int dhparam_main(int argc, char *argv[]); +extern int dsa_main(int argc, char *argv[]); +extern int dsaparam_main(int argc, char *argv[]); +extern int ec_main(int argc, char *argv[]); +extern int ecparam_main(int argc, char *argv[]); +extern int enc_main(int argc, char *argv[]); +extern int engine_main(int argc, char *argv[]); +extern int errstr_main(int argc, char *argv[]); +extern int gendsa_main(int argc, char *argv[]); +extern int genpkey_main(int argc, char *argv[]); +extern int genrsa_main(int argc, char *argv[]); +extern int help_main(int argc, char *argv[]); +extern int list_main(int argc, char *argv[]); +extern int nseq_main(int argc, char *argv[]); +extern int ocsp_main(int argc, char *argv[]); +extern int passwd_main(int argc, char *argv[]); +extern int pkcs12_main(int argc, char *argv[]); +extern int pkcs7_main(int argc, char *argv[]); +extern int pkcs8_main(int argc, char *argv[]); +extern int pkey_main(int argc, char *argv[]); +extern int pkeyparam_main(int argc, char *argv[]); +extern int pkeyutl_main(int argc, char *argv[]); +extern int prime_main(int argc, char *argv[]); +extern int rand_main(int argc, char *argv[]); +extern int rehash_main(int argc, char *argv[]); +extern int req_main(int argc, char *argv[]); +extern int rsa_main(int argc, char *argv[]); +extern int rsautl_main(int argc, char *argv[]); +extern int s_client_main(int argc, char *argv[]); +extern int s_server_main(int argc, char *argv[]); +extern int s_time_main(int argc, char *argv[]); +extern int sess_id_main(int argc, char *argv[]); +extern int smime_main(int argc, char *argv[]); +extern int speed_main(int argc, char *argv[]); +extern int spkac_main(int argc, char *argv[]); +extern int srp_main(int argc, char *argv[]); +extern int storeutl_main(int argc, char *argv[]); +extern int ts_main(int argc, char *argv[]); +extern int verify_main(int argc, char *argv[]); +extern int version_main(int argc, char *argv[]); +extern int x509_main(int argc, char *argv[]); + +extern const OPTIONS asn1parse_options[]; +extern const OPTIONS ca_options[]; +extern const OPTIONS ciphers_options[]; +extern const OPTIONS cms_options[]; +extern const OPTIONS crl_options[]; +extern const OPTIONS crl2pkcs7_options[]; +extern const OPTIONS dgst_options[]; +extern const OPTIONS dhparam_options[]; +extern const OPTIONS dsa_options[]; +extern const OPTIONS dsaparam_options[]; +extern const OPTIONS ec_options[]; +extern const OPTIONS ecparam_options[]; +extern const OPTIONS enc_options[]; +extern const OPTIONS engine_options[]; +extern const OPTIONS errstr_options[]; +extern const OPTIONS gendsa_options[]; +extern const OPTIONS genpkey_options[]; +extern const OPTIONS genrsa_options[]; +extern const OPTIONS help_options[]; +extern const OPTIONS list_options[]; +extern const OPTIONS nseq_options[]; +extern const OPTIONS ocsp_options[]; +extern const OPTIONS passwd_options[]; +extern const OPTIONS pkcs12_options[]; +extern const OPTIONS pkcs7_options[]; +extern const OPTIONS pkcs8_options[]; +extern const OPTIONS pkey_options[]; +extern const OPTIONS pkeyparam_options[]; +extern const OPTIONS pkeyutl_options[]; +extern const OPTIONS prime_options[]; +extern const OPTIONS rand_options[]; +extern const OPTIONS rehash_options[]; +extern const OPTIONS req_options[]; +extern const OPTIONS rsa_options[]; +extern const OPTIONS rsautl_options[]; +extern const OPTIONS s_client_options[]; +extern const OPTIONS s_server_options[]; +extern const OPTIONS s_time_options[]; +extern const OPTIONS sess_id_options[]; +extern const OPTIONS smime_options[]; +extern const OPTIONS speed_options[]; +extern const OPTIONS spkac_options[]; +extern const OPTIONS srp_options[]; +extern const OPTIONS storeutl_options[]; +extern const OPTIONS ts_options[]; +extern const OPTIONS verify_options[]; +extern const OPTIONS version_options[]; +extern const OPTIONS x509_options[]; + +#ifdef INCLUDE_FUNCTION_TABLE +static FUNCTION functions[] = { + {FT_general, "asn1parse", asn1parse_main, asn1parse_options}, + {FT_general, "ca", ca_main, ca_options}, +#ifndef OPENSSL_NO_SOCK + {FT_general, "ciphers", ciphers_main, ciphers_options}, +#endif +#ifndef OPENSSL_NO_CMS + {FT_general, "cms", cms_main, cms_options}, +#endif + {FT_general, "crl", crl_main, crl_options}, + {FT_general, "crl2pkcs7", crl2pkcs7_main, crl2pkcs7_options}, + {FT_general, "dgst", dgst_main, dgst_options}, +#ifndef OPENSSL_NO_DH + {FT_general, "dhparam", dhparam_main, dhparam_options}, +#endif +#ifndef OPENSSL_NO_DSA + {FT_general, "dsa", dsa_main, dsa_options}, +#endif +#ifndef OPENSSL_NO_DSA + {FT_general, "dsaparam", dsaparam_main, dsaparam_options}, +#endif +#ifndef OPENSSL_NO_EC + {FT_general, "ec", ec_main, ec_options}, +#endif +#ifndef OPENSSL_NO_EC + {FT_general, "ecparam", ecparam_main, ecparam_options}, +#endif + {FT_general, "enc", enc_main, enc_options}, +#ifndef OPENSSL_NO_ENGINE + {FT_general, "engine", engine_main, engine_options}, +#endif + {FT_general, "errstr", errstr_main, errstr_options}, +#ifndef OPENSSL_NO_DSA + {FT_general, "gendsa", gendsa_main, gendsa_options}, +#endif + {FT_general, "genpkey", genpkey_main, genpkey_options}, +#ifndef OPENSSL_NO_RSA + {FT_general, "genrsa", genrsa_main, genrsa_options}, +#endif + {FT_general, "help", help_main, help_options}, + {FT_general, "list", list_main, list_options}, + {FT_general, "nseq", nseq_main, nseq_options}, +#ifndef OPENSSL_NO_OCSP + {FT_general, "ocsp", ocsp_main, ocsp_options}, +#endif + {FT_general, "passwd", passwd_main, passwd_options}, +#ifndef OPENSSL_NO_DES + {FT_general, "pkcs12", pkcs12_main, pkcs12_options}, +#endif + {FT_general, "pkcs7", pkcs7_main, pkcs7_options}, + {FT_general, "pkcs8", pkcs8_main, pkcs8_options}, + {FT_general, "pkey", pkey_main, pkey_options}, + {FT_general, "pkeyparam", pkeyparam_main, pkeyparam_options}, + {FT_general, "pkeyutl", pkeyutl_main, pkeyutl_options}, + {FT_general, "prime", prime_main, prime_options}, + {FT_general, "rand", rand_main, rand_options}, + {FT_general, "rehash", rehash_main, rehash_options}, + {FT_general, "req", req_main, req_options}, + {FT_general, "rsa", rsa_main, rsa_options}, +#ifndef OPENSSL_NO_RSA + {FT_general, "rsautl", rsautl_main, rsautl_options}, +#endif +#ifndef OPENSSL_NO_SOCK + {FT_general, "s_client", s_client_main, s_client_options}, +#endif +#ifndef OPENSSL_NO_SOCK + {FT_general, "s_server", s_server_main, s_server_options}, +#endif +#ifndef OPENSSL_NO_SOCK + {FT_general, "s_time", s_time_main, s_time_options}, +#endif + {FT_general, "sess_id", sess_id_main, sess_id_options}, + {FT_general, "smime", smime_main, smime_options}, + {FT_general, "speed", speed_main, speed_options}, + {FT_general, "spkac", spkac_main, spkac_options}, +#ifndef OPENSSL_NO_SRP + {FT_general, "srp", srp_main, srp_options}, +#endif + {FT_general, "storeutl", storeutl_main, storeutl_options}, +#ifndef OPENSSL_NO_TS + {FT_general, "ts", ts_main, ts_options}, +#endif + {FT_general, "verify", verify_main, verify_options}, + {FT_general, "version", version_main, version_options}, + {FT_general, "x509", x509_main, x509_options}, +#ifndef OPENSSL_NO_MD2 + {FT_md, "md2", dgst_main}, +#endif +#ifndef OPENSSL_NO_MD4 + {FT_md, "md4", dgst_main}, +#endif + {FT_md, "md5", dgst_main}, +#ifndef OPENSSL_NO_GOST + {FT_md, "gost", dgst_main}, +#endif + {FT_md, "sha1", dgst_main}, + {FT_md, "sha224", dgst_main}, + {FT_md, "sha256", dgst_main}, + {FT_md, "sha384", dgst_main}, + {FT_md, "sha512", dgst_main}, + {FT_md, "sha512-224", dgst_main}, + {FT_md, "sha512-256", dgst_main}, + {FT_md, "sha3-224", dgst_main}, + {FT_md, "sha3-256", dgst_main}, + {FT_md, "sha3-384", dgst_main}, + {FT_md, "sha3-512", dgst_main}, + {FT_md, "shake128", dgst_main}, + {FT_md, "shake256", dgst_main}, +#ifndef OPENSSL_NO_MDC2 + {FT_md, "mdc2", dgst_main}, +#endif +#ifndef OPENSSL_NO_RMD160 + {FT_md, "rmd160", dgst_main}, +#endif +#ifndef OPENSSL_NO_BLAKE2 + {FT_md, "blake2b512", dgst_main}, +#endif +#ifndef OPENSSL_NO_BLAKE2 + {FT_md, "blake2s256", dgst_main}, +#endif +#ifndef OPENSSL_NO_SM3 + {FT_md, "sm3", dgst_main}, +#endif + {FT_cipher, "aes-128-cbc", enc_main, enc_options}, + {FT_cipher, "aes-128-ecb", enc_main, enc_options}, + {FT_cipher, "aes-192-cbc", enc_main, enc_options}, + {FT_cipher, "aes-192-ecb", enc_main, enc_options}, + {FT_cipher, "aes-256-cbc", enc_main, enc_options}, + {FT_cipher, "aes-256-ecb", enc_main, enc_options}, +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-ctr", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-cfb1", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-128-cfb8", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-ctr", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-cfb1", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-192-cfb8", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-ctr", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-cfb1", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_ARIA + {FT_cipher, "aria-256-cfb8", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-128-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-128-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-192-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-192-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-256-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FT_cipher, "camellia-256-ecb", enc_main, enc_options}, +#endif + {FT_cipher, "base64", enc_main, enc_options}, +#ifdef ZLIB + {FT_cipher, "zlib", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des3", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "desx", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_IDEA + {FT_cipher, "idea", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SEED + {FT_cipher, "seed", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC4 + {FT_cipher, "rc4", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC4 + {FT_cipher, "rc4-40", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_BF + {FT_cipher, "bf", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC5 + {FT_cipher, "rc5", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede3", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede3-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede3-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_DES + {FT_cipher, "des-ede3-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_IDEA + {FT_cipher, "idea-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_IDEA + {FT_cipher, "idea-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_IDEA + {FT_cipher, "idea-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_IDEA + {FT_cipher, "idea-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SEED + {FT_cipher, "seed-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SEED + {FT_cipher, "seed-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SEED + {FT_cipher, "seed-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SEED + {FT_cipher, "seed-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-64-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC2 + {FT_cipher, "rc2-40-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_BF + {FT_cipher, "bf-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_BF + {FT_cipher, "bf-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_BF + {FT_cipher, "bf-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_BF + {FT_cipher, "bf-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast5-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast5-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast5-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast5-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_CAST + {FT_cipher, "cast-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC5 + {FT_cipher, "rc5-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC5 + {FT_cipher, "rc5-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC5 + {FT_cipher, "rc5-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_RC5 + {FT_cipher, "rc5-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SM4 + {FT_cipher, "sm4-cbc", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SM4 + {FT_cipher, "sm4-ecb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SM4 + {FT_cipher, "sm4-cfb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SM4 + {FT_cipher, "sm4-ofb", enc_main, enc_options}, +#endif +#ifndef OPENSSL_NO_SM4 + {FT_cipher, "sm4-ctr", enc_main, enc_options}, +#endif + {0, NULL, NULL} +}; +#endif diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/openssl-cl.gypi b/deps/openssl/config/archs/linux64-mips64/no-asm/openssl-cl.gypi new file mode 100644 index 00000000000000..8c4a14e5c1d09f --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/openssl-cl.gypi @@ -0,0 +1,79 @@ +{ + 'variables': { + 'openssl_defines_linux64-mips64': [ + 'NDEBUG', + 'OPENSSL_USE_NODELETE', + 'OPENSSL_PIC', + ], + 'openssl_cflags_linux64-mips64': [ + '-Wall -O3', + '-pthread -mabi=64', + '-Wall -O3', + ], + 'openssl_ex_libs_linux64-mips64': [ + '-ldl -pthread', + ], + 'openssl_cli_srcs_linux64-mips64': [ + 'openssl/apps/asn1pars.c', + 'openssl/apps/ca.c', + 'openssl/apps/ciphers.c', + 'openssl/apps/cms.c', + 'openssl/apps/crl.c', + 'openssl/apps/crl2p7.c', + 'openssl/apps/dgst.c', + 'openssl/apps/dhparam.c', + 'openssl/apps/dsa.c', + 'openssl/apps/dsaparam.c', + 'openssl/apps/ec.c', + 'openssl/apps/ecparam.c', + 'openssl/apps/enc.c', + 'openssl/apps/engine.c', + 'openssl/apps/errstr.c', + 'openssl/apps/gendsa.c', + 'openssl/apps/genpkey.c', + 'openssl/apps/genrsa.c', + 'openssl/apps/nseq.c', + 'openssl/apps/ocsp.c', + 'openssl/apps/openssl.c', + 'openssl/apps/passwd.c', + 'openssl/apps/pkcs12.c', + 'openssl/apps/pkcs7.c', + 'openssl/apps/pkcs8.c', + 'openssl/apps/pkey.c', + 'openssl/apps/pkeyparam.c', + 'openssl/apps/pkeyutl.c', + 'openssl/apps/prime.c', + 'openssl/apps/rand.c', + 'openssl/apps/rehash.c', + 'openssl/apps/req.c', + 'openssl/apps/rsa.c', + 'openssl/apps/rsautl.c', + 'openssl/apps/s_client.c', + 'openssl/apps/s_server.c', + 'openssl/apps/s_time.c', + 'openssl/apps/sess_id.c', + 'openssl/apps/smime.c', + 'openssl/apps/speed.c', + 'openssl/apps/spkac.c', + 'openssl/apps/srp.c', + 'openssl/apps/storeutl.c', + 'openssl/apps/ts.c', + 'openssl/apps/verify.c', + 'openssl/apps/version.c', + 'openssl/apps/x509.c', + 'openssl/apps/app_rand.c', + 'openssl/apps/apps.c', + 'openssl/apps/bf_prefix.c', + 'openssl/apps/opt.c', + 'openssl/apps/s_cb.c', + 'openssl/apps/s_socket.c', + ], + }, + 'defines': ['<@(openssl_defines_linux64-mips64)'], + 'include_dirs': [ + './include', + ], + 'cflags' : ['<@(openssl_cflags_linux64-mips64)'], + 'libraries': ['<@(openssl_ex_libs_linux64-mips64)'], + 'sources': ['<@(openssl_cli_srcs_linux64-mips64)'], +} diff --git a/deps/openssl/config/archs/linux64-mips64/no-asm/openssl.gypi b/deps/openssl/config/archs/linux64-mips64/no-asm/openssl.gypi new file mode 100644 index 00000000000000..8df2e5005f9e1a --- /dev/null +++ b/deps/openssl/config/archs/linux64-mips64/no-asm/openssl.gypi @@ -0,0 +1,711 @@ +{ + 'variables': { + 'openssl_sources': [ + 'openssl/ssl/bio_ssl.c', + 'openssl/ssl/d1_lib.c', + 'openssl/ssl/d1_msg.c', + 'openssl/ssl/d1_srtp.c', + 'openssl/ssl/methods.c', + 'openssl/ssl/packet.c', + 'openssl/ssl/pqueue.c', + 'openssl/ssl/record/dtls1_bitmap.c', + 'openssl/ssl/record/rec_layer_d1.c', + 'openssl/ssl/record/rec_layer_s3.c', + 'openssl/ssl/record/ssl3_buffer.c', + 'openssl/ssl/record/ssl3_record.c', + 'openssl/ssl/record/ssl3_record_tls13.c', + 'openssl/ssl/s3_cbc.c', + 'openssl/ssl/s3_enc.c', + 'openssl/ssl/s3_lib.c', + 'openssl/ssl/s3_msg.c', + 'openssl/ssl/ssl_asn1.c', + 'openssl/ssl/ssl_cert.c', + 'openssl/ssl/ssl_ciph.c', + 'openssl/ssl/ssl_conf.c', + 'openssl/ssl/ssl_err.c', + 'openssl/ssl/ssl_init.c', + 'openssl/ssl/ssl_lib.c', + 'openssl/ssl/ssl_mcnf.c', + 'openssl/ssl/ssl_rsa.c', + 'openssl/ssl/ssl_sess.c', + 'openssl/ssl/ssl_stat.c', + 'openssl/ssl/ssl_txt.c', + 'openssl/ssl/ssl_utst.c', + 'openssl/ssl/statem/extensions.c', + 'openssl/ssl/statem/extensions_clnt.c', + 'openssl/ssl/statem/extensions_cust.c', + 'openssl/ssl/statem/extensions_srvr.c', + 'openssl/ssl/statem/statem.c', + 'openssl/ssl/statem/statem_clnt.c', + 'openssl/ssl/statem/statem_dtls.c', + 'openssl/ssl/statem/statem_lib.c', + 'openssl/ssl/statem/statem_srvr.c', + 'openssl/ssl/t1_enc.c', + 'openssl/ssl/t1_lib.c', + 'openssl/ssl/t1_trce.c', + 'openssl/ssl/tls13_enc.c', + 'openssl/ssl/tls_srp.c', + 'openssl/crypto/aes/aes_cbc.c', + 'openssl/crypto/aes/aes_cfb.c', + 'openssl/crypto/aes/aes_core.c', + 'openssl/crypto/aes/aes_ecb.c', + 'openssl/crypto/aes/aes_ige.c', + 'openssl/crypto/aes/aes_misc.c', + 'openssl/crypto/aes/aes_ofb.c', + 'openssl/crypto/aes/aes_wrap.c', + 'openssl/crypto/aria/aria.c', + 'openssl/crypto/asn1/a_bitstr.c', + 'openssl/crypto/asn1/a_d2i_fp.c', + 'openssl/crypto/asn1/a_digest.c', + 'openssl/crypto/asn1/a_dup.c', + 'openssl/crypto/asn1/a_gentm.c', + 'openssl/crypto/asn1/a_i2d_fp.c', + 'openssl/crypto/asn1/a_int.c', + 'openssl/crypto/asn1/a_mbstr.c', + 'openssl/crypto/asn1/a_object.c', + 'openssl/crypto/asn1/a_octet.c', + 'openssl/crypto/asn1/a_print.c', + 'openssl/crypto/asn1/a_sign.c', + 'openssl/crypto/asn1/a_strex.c', + 'openssl/crypto/asn1/a_strnid.c', + 'openssl/crypto/asn1/a_time.c', + 'openssl/crypto/asn1/a_type.c', + 'openssl/crypto/asn1/a_utctm.c', + 'openssl/crypto/asn1/a_utf8.c', + 'openssl/crypto/asn1/a_verify.c', + 'openssl/crypto/asn1/ameth_lib.c', + 'openssl/crypto/asn1/asn1_err.c', + 'openssl/crypto/asn1/asn1_gen.c', + 'openssl/crypto/asn1/asn1_item_list.c', + 'openssl/crypto/asn1/asn1_lib.c', + 'openssl/crypto/asn1/asn1_par.c', + 'openssl/crypto/asn1/asn_mime.c', + 'openssl/crypto/asn1/asn_moid.c', + 'openssl/crypto/asn1/asn_mstbl.c', + 'openssl/crypto/asn1/asn_pack.c', + 'openssl/crypto/asn1/bio_asn1.c', + 'openssl/crypto/asn1/bio_ndef.c', + 'openssl/crypto/asn1/d2i_pr.c', + 'openssl/crypto/asn1/d2i_pu.c', + 'openssl/crypto/asn1/evp_asn1.c', + 'openssl/crypto/asn1/f_int.c', + 'openssl/crypto/asn1/f_string.c', + 'openssl/crypto/asn1/i2d_pr.c', + 'openssl/crypto/asn1/i2d_pu.c', + 'openssl/crypto/asn1/n_pkey.c', + 'openssl/crypto/asn1/nsseq.c', + 'openssl/crypto/asn1/p5_pbe.c', + 'openssl/crypto/asn1/p5_pbev2.c', + 'openssl/crypto/asn1/p5_scrypt.c', + 'openssl/crypto/asn1/p8_pkey.c', + 'openssl/crypto/asn1/t_bitst.c', + 'openssl/crypto/asn1/t_pkey.c', + 'openssl/crypto/asn1/t_spki.c', + 'openssl/crypto/asn1/tasn_dec.c', + 'openssl/crypto/asn1/tasn_enc.c', + 'openssl/crypto/asn1/tasn_fre.c', + 'openssl/crypto/asn1/tasn_new.c', + 'openssl/crypto/asn1/tasn_prn.c', + 'openssl/crypto/asn1/tasn_scn.c', + 'openssl/crypto/asn1/tasn_typ.c', + 'openssl/crypto/asn1/tasn_utl.c', + 'openssl/crypto/asn1/x_algor.c', + 'openssl/crypto/asn1/x_bignum.c', + 'openssl/crypto/asn1/x_info.c', + 'openssl/crypto/asn1/x_int64.c', + 'openssl/crypto/asn1/x_long.c', + 'openssl/crypto/asn1/x_pkey.c', + 'openssl/crypto/asn1/x_sig.c', + 'openssl/crypto/asn1/x_spki.c', + 'openssl/crypto/asn1/x_val.c', + 'openssl/crypto/async/arch/async_null.c', + 'openssl/crypto/async/arch/async_posix.c', + 'openssl/crypto/async/arch/async_win.c', + 'openssl/crypto/async/async.c', + 'openssl/crypto/async/async_err.c', + 'openssl/crypto/async/async_wait.c', + 'openssl/crypto/bf/bf_cfb64.c', + 'openssl/crypto/bf/bf_ecb.c', + 'openssl/crypto/bf/bf_enc.c', + 'openssl/crypto/bf/bf_ofb64.c', + 'openssl/crypto/bf/bf_skey.c', + 'openssl/crypto/bio/b_addr.c', + 'openssl/crypto/bio/b_dump.c', + 'openssl/crypto/bio/b_print.c', + 'openssl/crypto/bio/b_sock.c', + 'openssl/crypto/bio/b_sock2.c', + 'openssl/crypto/bio/bf_buff.c', + 'openssl/crypto/bio/bf_lbuf.c', + 'openssl/crypto/bio/bf_nbio.c', + 'openssl/crypto/bio/bf_null.c', + 'openssl/crypto/bio/bio_cb.c', + 'openssl/crypto/bio/bio_err.c', + 'openssl/crypto/bio/bio_lib.c', + 'openssl/crypto/bio/bio_meth.c', + 'openssl/crypto/bio/bss_acpt.c', + 'openssl/crypto/bio/bss_bio.c', + 'openssl/crypto/bio/bss_conn.c', + 'openssl/crypto/bio/bss_dgram.c', + 'openssl/crypto/bio/bss_fd.c', + 'openssl/crypto/bio/bss_file.c', + 'openssl/crypto/bio/bss_log.c', + 'openssl/crypto/bio/bss_mem.c', + 'openssl/crypto/bio/bss_null.c', + 'openssl/crypto/bio/bss_sock.c', + 'openssl/crypto/blake2/blake2b.c', + 'openssl/crypto/blake2/blake2s.c', + 'openssl/crypto/blake2/m_blake2b.c', + 'openssl/crypto/blake2/m_blake2s.c', + 'openssl/crypto/bn/bn_add.c', + 'openssl/crypto/bn/bn_asm.c', + 'openssl/crypto/bn/bn_blind.c', + 'openssl/crypto/bn/bn_const.c', + 'openssl/crypto/bn/bn_ctx.c', + 'openssl/crypto/bn/bn_depr.c', + 'openssl/crypto/bn/bn_dh.c', + 'openssl/crypto/bn/bn_div.c', + 'openssl/crypto/bn/bn_err.c', + 'openssl/crypto/bn/bn_exp.c', + 'openssl/crypto/bn/bn_exp2.c', + 'openssl/crypto/bn/bn_gcd.c', + 'openssl/crypto/bn/bn_gf2m.c', + 'openssl/crypto/bn/bn_intern.c', + 'openssl/crypto/bn/bn_kron.c', + 'openssl/crypto/bn/bn_lib.c', + 'openssl/crypto/bn/bn_mod.c', + 'openssl/crypto/bn/bn_mont.c', + 'openssl/crypto/bn/bn_mpi.c', + 'openssl/crypto/bn/bn_mul.c', + 'openssl/crypto/bn/bn_nist.c', + 'openssl/crypto/bn/bn_prime.c', + 'openssl/crypto/bn/bn_print.c', + 'openssl/crypto/bn/bn_rand.c', + 'openssl/crypto/bn/bn_recp.c', + 'openssl/crypto/bn/bn_shift.c', + 'openssl/crypto/bn/bn_sqr.c', + 'openssl/crypto/bn/bn_sqrt.c', + 'openssl/crypto/bn/bn_srp.c', + 'openssl/crypto/bn/bn_word.c', + 'openssl/crypto/bn/bn_x931p.c', + 'openssl/crypto/buffer/buf_err.c', + 'openssl/crypto/buffer/buffer.c', + 'openssl/crypto/camellia/camellia.c', + 'openssl/crypto/camellia/cmll_cbc.c', + 'openssl/crypto/camellia/cmll_cfb.c', + 'openssl/crypto/camellia/cmll_ctr.c', + 'openssl/crypto/camellia/cmll_ecb.c', + 'openssl/crypto/camellia/cmll_misc.c', + 'openssl/crypto/camellia/cmll_ofb.c', + 'openssl/crypto/cast/c_cfb64.c', + 'openssl/crypto/cast/c_ecb.c', + 'openssl/crypto/cast/c_enc.c', + 'openssl/crypto/cast/c_ofb64.c', + 'openssl/crypto/cast/c_skey.c', + 'openssl/crypto/chacha/chacha_enc.c', + 'openssl/crypto/cmac/cm_ameth.c', + 'openssl/crypto/cmac/cm_pmeth.c', + 'openssl/crypto/cmac/cmac.c', + 'openssl/crypto/cms/cms_asn1.c', + 'openssl/crypto/cms/cms_att.c', + 'openssl/crypto/cms/cms_cd.c', + 'openssl/crypto/cms/cms_dd.c', + 'openssl/crypto/cms/cms_enc.c', + 'openssl/crypto/cms/cms_env.c', + 'openssl/crypto/cms/cms_err.c', + 'openssl/crypto/cms/cms_ess.c', + 'openssl/crypto/cms/cms_io.c', + 'openssl/crypto/cms/cms_kari.c', + 'openssl/crypto/cms/cms_lib.c', + 'openssl/crypto/cms/cms_pwri.c', + 'openssl/crypto/cms/cms_sd.c', + 'openssl/crypto/cms/cms_smime.c', + 'openssl/crypto/conf/conf_api.c', + 'openssl/crypto/conf/conf_def.c', + 'openssl/crypto/conf/conf_err.c', + 'openssl/crypto/conf/conf_lib.c', + 'openssl/crypto/conf/conf_mall.c', + 'openssl/crypto/conf/conf_mod.c', + 'openssl/crypto/conf/conf_sap.c', + 'openssl/crypto/conf/conf_ssl.c', + 'openssl/crypto/cpt_err.c', + 'openssl/crypto/cryptlib.c', + 'openssl/crypto/ct/ct_b64.c', + 'openssl/crypto/ct/ct_err.c', + 'openssl/crypto/ct/ct_log.c', + 'openssl/crypto/ct/ct_oct.c', + 'openssl/crypto/ct/ct_policy.c', + 'openssl/crypto/ct/ct_prn.c', + 'openssl/crypto/ct/ct_sct.c', + 'openssl/crypto/ct/ct_sct_ctx.c', + 'openssl/crypto/ct/ct_vfy.c', + 'openssl/crypto/ct/ct_x509v3.c', + 'openssl/crypto/ctype.c', + 'openssl/crypto/cversion.c', + 'openssl/crypto/des/cbc_cksm.c', + 'openssl/crypto/des/cbc_enc.c', + 'openssl/crypto/des/cfb64ede.c', + 'openssl/crypto/des/cfb64enc.c', + 'openssl/crypto/des/cfb_enc.c', + 'openssl/crypto/des/des_enc.c', + 'openssl/crypto/des/ecb3_enc.c', + 'openssl/crypto/des/ecb_enc.c', + 'openssl/crypto/des/fcrypt.c', + 'openssl/crypto/des/fcrypt_b.c', + 'openssl/crypto/des/ofb64ede.c', + 'openssl/crypto/des/ofb64enc.c', + 'openssl/crypto/des/ofb_enc.c', + 'openssl/crypto/des/pcbc_enc.c', + 'openssl/crypto/des/qud_cksm.c', + 'openssl/crypto/des/rand_key.c', + 'openssl/crypto/des/set_key.c', + 'openssl/crypto/des/str2key.c', + 'openssl/crypto/des/xcbc_enc.c', + 'openssl/crypto/dh/dh_ameth.c', + 'openssl/crypto/dh/dh_asn1.c', + 'openssl/crypto/dh/dh_check.c', + 'openssl/crypto/dh/dh_depr.c', + 'openssl/crypto/dh/dh_err.c', + 'openssl/crypto/dh/dh_gen.c', + 'openssl/crypto/dh/dh_kdf.c', + 'openssl/crypto/dh/dh_key.c', + 'openssl/crypto/dh/dh_lib.c', + 'openssl/crypto/dh/dh_meth.c', + 'openssl/crypto/dh/dh_pmeth.c', + 'openssl/crypto/dh/dh_prn.c', + 'openssl/crypto/dh/dh_rfc5114.c', + 'openssl/crypto/dh/dh_rfc7919.c', + 'openssl/crypto/dsa/dsa_ameth.c', + 'openssl/crypto/dsa/dsa_asn1.c', + 'openssl/crypto/dsa/dsa_depr.c', + 'openssl/crypto/dsa/dsa_err.c', + 'openssl/crypto/dsa/dsa_gen.c', + 'openssl/crypto/dsa/dsa_key.c', + 'openssl/crypto/dsa/dsa_lib.c', + 'openssl/crypto/dsa/dsa_meth.c', + 'openssl/crypto/dsa/dsa_ossl.c', + 'openssl/crypto/dsa/dsa_pmeth.c', + 'openssl/crypto/dsa/dsa_prn.c', + 'openssl/crypto/dsa/dsa_sign.c', + 'openssl/crypto/dsa/dsa_vrf.c', + 'openssl/crypto/dso/dso_dl.c', + 'openssl/crypto/dso/dso_dlfcn.c', + 'openssl/crypto/dso/dso_err.c', + 'openssl/crypto/dso/dso_lib.c', + 'openssl/crypto/dso/dso_openssl.c', + 'openssl/crypto/dso/dso_vms.c', + 'openssl/crypto/dso/dso_win32.c', + 'openssl/crypto/ebcdic.c', + 'openssl/crypto/ec/curve25519.c', + 'openssl/crypto/ec/curve448/arch_32/f_impl.c', + 'openssl/crypto/ec/curve448/curve448.c', + 'openssl/crypto/ec/curve448/curve448_tables.c', + 'openssl/crypto/ec/curve448/eddsa.c', + 'openssl/crypto/ec/curve448/f_generic.c', + 'openssl/crypto/ec/curve448/scalar.c', + 'openssl/crypto/ec/ec2_oct.c', + 'openssl/crypto/ec/ec2_smpl.c', + 'openssl/crypto/ec/ec_ameth.c', + 'openssl/crypto/ec/ec_asn1.c', + 'openssl/crypto/ec/ec_check.c', + 'openssl/crypto/ec/ec_curve.c', + 'openssl/crypto/ec/ec_cvt.c', + 'openssl/crypto/ec/ec_err.c', + 'openssl/crypto/ec/ec_key.c', + 'openssl/crypto/ec/ec_kmeth.c', + 'openssl/crypto/ec/ec_lib.c', + 'openssl/crypto/ec/ec_mult.c', + 'openssl/crypto/ec/ec_oct.c', + 'openssl/crypto/ec/ec_pmeth.c', + 'openssl/crypto/ec/ec_print.c', + 'openssl/crypto/ec/ecdh_kdf.c', + 'openssl/crypto/ec/ecdh_ossl.c', + 'openssl/crypto/ec/ecdsa_ossl.c', + 'openssl/crypto/ec/ecdsa_sign.c', + 'openssl/crypto/ec/ecdsa_vrf.c', + 'openssl/crypto/ec/eck_prn.c', + 'openssl/crypto/ec/ecp_mont.c', + 'openssl/crypto/ec/ecp_nist.c', + 'openssl/crypto/ec/ecp_nistp224.c', + 'openssl/crypto/ec/ecp_nistp256.c', + 'openssl/crypto/ec/ecp_nistp521.c', + 'openssl/crypto/ec/ecp_nistputil.c', + 'openssl/crypto/ec/ecp_oct.c', + 'openssl/crypto/ec/ecp_smpl.c', + 'openssl/crypto/ec/ecx_meth.c', + 'openssl/crypto/engine/eng_all.c', + 'openssl/crypto/engine/eng_cnf.c', + 'openssl/crypto/engine/eng_ctrl.c', + 'openssl/crypto/engine/eng_dyn.c', + 'openssl/crypto/engine/eng_err.c', + 'openssl/crypto/engine/eng_fat.c', + 'openssl/crypto/engine/eng_init.c', + 'openssl/crypto/engine/eng_lib.c', + 'openssl/crypto/engine/eng_list.c', + 'openssl/crypto/engine/eng_openssl.c', + 'openssl/crypto/engine/eng_pkey.c', + 'openssl/crypto/engine/eng_rdrand.c', + 'openssl/crypto/engine/eng_table.c', + 'openssl/crypto/engine/tb_asnmth.c', + 'openssl/crypto/engine/tb_cipher.c', + 'openssl/crypto/engine/tb_dh.c', + 'openssl/crypto/engine/tb_digest.c', + 'openssl/crypto/engine/tb_dsa.c', + 'openssl/crypto/engine/tb_eckey.c', + 'openssl/crypto/engine/tb_pkmeth.c', + 'openssl/crypto/engine/tb_rand.c', + 'openssl/crypto/engine/tb_rsa.c', + 'openssl/crypto/err/err.c', + 'openssl/crypto/err/err_all.c', + 'openssl/crypto/err/err_prn.c', + 'openssl/crypto/evp/bio_b64.c', + 'openssl/crypto/evp/bio_enc.c', + 'openssl/crypto/evp/bio_md.c', + 'openssl/crypto/evp/bio_ok.c', + 'openssl/crypto/evp/c_allc.c', + 'openssl/crypto/evp/c_alld.c', + 'openssl/crypto/evp/cmeth_lib.c', + 'openssl/crypto/evp/digest.c', + 'openssl/crypto/evp/e_aes.c', + 'openssl/crypto/evp/e_aes_cbc_hmac_sha1.c', + 'openssl/crypto/evp/e_aes_cbc_hmac_sha256.c', + 'openssl/crypto/evp/e_aria.c', + 'openssl/crypto/evp/e_bf.c', + 'openssl/crypto/evp/e_camellia.c', + 'openssl/crypto/evp/e_cast.c', + 'openssl/crypto/evp/e_chacha20_poly1305.c', + 'openssl/crypto/evp/e_des.c', + 'openssl/crypto/evp/e_des3.c', + 'openssl/crypto/evp/e_idea.c', + 'openssl/crypto/evp/e_null.c', + 'openssl/crypto/evp/e_old.c', + 'openssl/crypto/evp/e_rc2.c', + 'openssl/crypto/evp/e_rc4.c', + 'openssl/crypto/evp/e_rc4_hmac_md5.c', + 'openssl/crypto/evp/e_rc5.c', + 'openssl/crypto/evp/e_seed.c', + 'openssl/crypto/evp/e_sm4.c', + 'openssl/crypto/evp/e_xcbc_d.c', + 'openssl/crypto/evp/encode.c', + 'openssl/crypto/evp/evp_cnf.c', + 'openssl/crypto/evp/evp_enc.c', + 'openssl/crypto/evp/evp_err.c', + 'openssl/crypto/evp/evp_key.c', + 'openssl/crypto/evp/evp_lib.c', + 'openssl/crypto/evp/evp_pbe.c', + 'openssl/crypto/evp/evp_pkey.c', + 'openssl/crypto/evp/m_md2.c', + 'openssl/crypto/evp/m_md4.c', + 'openssl/crypto/evp/m_md5.c', + 'openssl/crypto/evp/m_md5_sha1.c', + 'openssl/crypto/evp/m_mdc2.c', + 'openssl/crypto/evp/m_null.c', + 'openssl/crypto/evp/m_ripemd.c', + 'openssl/crypto/evp/m_sha1.c', + 'openssl/crypto/evp/m_sha3.c', + 'openssl/crypto/evp/m_sigver.c', + 'openssl/crypto/evp/m_wp.c', + 'openssl/crypto/evp/names.c', + 'openssl/crypto/evp/p5_crpt.c', + 'openssl/crypto/evp/p5_crpt2.c', + 'openssl/crypto/evp/p_dec.c', + 'openssl/crypto/evp/p_enc.c', + 'openssl/crypto/evp/p_lib.c', + 'openssl/crypto/evp/p_open.c', + 'openssl/crypto/evp/p_seal.c', + 'openssl/crypto/evp/p_sign.c', + 'openssl/crypto/evp/p_verify.c', + 'openssl/crypto/evp/pbe_scrypt.c', + 'openssl/crypto/evp/pmeth_fn.c', + 'openssl/crypto/evp/pmeth_gn.c', + 'openssl/crypto/evp/pmeth_lib.c', + 'openssl/crypto/ex_data.c', + 'openssl/crypto/getenv.c', + 'openssl/crypto/hmac/hm_ameth.c', + 'openssl/crypto/hmac/hm_pmeth.c', + 'openssl/crypto/hmac/hmac.c', + 'openssl/crypto/idea/i_cbc.c', + 'openssl/crypto/idea/i_cfb64.c', + 'openssl/crypto/idea/i_ecb.c', + 'openssl/crypto/idea/i_ofb64.c', + 'openssl/crypto/idea/i_skey.c', + 'openssl/crypto/init.c', + 'openssl/crypto/kdf/hkdf.c', + 'openssl/crypto/kdf/kdf_err.c', + 'openssl/crypto/kdf/scrypt.c', + 'openssl/crypto/kdf/tls1_prf.c', + 'openssl/crypto/lhash/lh_stats.c', + 'openssl/crypto/lhash/lhash.c', + 'openssl/crypto/md4/md4_dgst.c', + 'openssl/crypto/md4/md4_one.c', + 'openssl/crypto/md5/md5_dgst.c', + 'openssl/crypto/md5/md5_one.c', + 'openssl/crypto/mdc2/mdc2_one.c', + 'openssl/crypto/mdc2/mdc2dgst.c', + 'openssl/crypto/mem.c', + 'openssl/crypto/mem_clr.c', + 'openssl/crypto/mem_dbg.c', + 'openssl/crypto/mem_sec.c', + 'openssl/crypto/modes/cbc128.c', + 'openssl/crypto/modes/ccm128.c', + 'openssl/crypto/modes/cfb128.c', + 'openssl/crypto/modes/ctr128.c', + 'openssl/crypto/modes/cts128.c', + 'openssl/crypto/modes/gcm128.c', + 'openssl/crypto/modes/ocb128.c', + 'openssl/crypto/modes/ofb128.c', + 'openssl/crypto/modes/wrap128.c', + 'openssl/crypto/modes/xts128.c', + 'openssl/crypto/o_dir.c', + 'openssl/crypto/o_fips.c', + 'openssl/crypto/o_fopen.c', + 'openssl/crypto/o_init.c', + 'openssl/crypto/o_str.c', + 'openssl/crypto/o_time.c', + 'openssl/crypto/objects/o_names.c', + 'openssl/crypto/objects/obj_dat.c', + 'openssl/crypto/objects/obj_err.c', + 'openssl/crypto/objects/obj_lib.c', + 'openssl/crypto/objects/obj_xref.c', + 'openssl/crypto/ocsp/ocsp_asn.c', + 'openssl/crypto/ocsp/ocsp_cl.c', + 'openssl/crypto/ocsp/ocsp_err.c', + 'openssl/crypto/ocsp/ocsp_ext.c', + 'openssl/crypto/ocsp/ocsp_ht.c', + 'openssl/crypto/ocsp/ocsp_lib.c', + 'openssl/crypto/ocsp/ocsp_prn.c', + 'openssl/crypto/ocsp/ocsp_srv.c', + 'openssl/crypto/ocsp/ocsp_vfy.c', + 'openssl/crypto/ocsp/v3_ocsp.c', + 'openssl/crypto/pem/pem_all.c', + 'openssl/crypto/pem/pem_err.c', + 'openssl/crypto/pem/pem_info.c', + 'openssl/crypto/pem/pem_lib.c', + 'openssl/crypto/pem/pem_oth.c', + 'openssl/crypto/pem/pem_pk8.c', + 'openssl/crypto/pem/pem_pkey.c', + 'openssl/crypto/pem/pem_sign.c', + 'openssl/crypto/pem/pem_x509.c', + 'openssl/crypto/pem/pem_xaux.c', + 'openssl/crypto/pem/pvkfmt.c', + 'openssl/crypto/pkcs12/p12_add.c', + 'openssl/crypto/pkcs12/p12_asn.c', + 'openssl/crypto/pkcs12/p12_attr.c', + 'openssl/crypto/pkcs12/p12_crpt.c', + 'openssl/crypto/pkcs12/p12_crt.c', + 'openssl/crypto/pkcs12/p12_decr.c', + 'openssl/crypto/pkcs12/p12_init.c', + 'openssl/crypto/pkcs12/p12_key.c', + 'openssl/crypto/pkcs12/p12_kiss.c', + 'openssl/crypto/pkcs12/p12_mutl.c', + 'openssl/crypto/pkcs12/p12_npas.c', + 'openssl/crypto/pkcs12/p12_p8d.c', + 'openssl/crypto/pkcs12/p12_p8e.c', + 'openssl/crypto/pkcs12/p12_sbag.c', + 'openssl/crypto/pkcs12/p12_utl.c', + 'openssl/crypto/pkcs12/pk12err.c', + 'openssl/crypto/pkcs7/bio_pk7.c', + 'openssl/crypto/pkcs7/pk7_asn1.c', + 'openssl/crypto/pkcs7/pk7_attr.c', + 'openssl/crypto/pkcs7/pk7_doit.c', + 'openssl/crypto/pkcs7/pk7_lib.c', + 'openssl/crypto/pkcs7/pk7_mime.c', + 'openssl/crypto/pkcs7/pk7_smime.c', + 'openssl/crypto/pkcs7/pkcs7err.c', + 'openssl/crypto/poly1305/poly1305.c', + 'openssl/crypto/poly1305/poly1305_ameth.c', + 'openssl/crypto/poly1305/poly1305_pmeth.c', + 'openssl/crypto/rand/drbg_ctr.c', + 'openssl/crypto/rand/drbg_lib.c', + 'openssl/crypto/rand/rand_egd.c', + 'openssl/crypto/rand/rand_err.c', + 'openssl/crypto/rand/rand_lib.c', + 'openssl/crypto/rand/rand_unix.c', + 'openssl/crypto/rand/rand_vms.c', + 'openssl/crypto/rand/rand_win.c', + 'openssl/crypto/rand/randfile.c', + 'openssl/crypto/rc2/rc2_cbc.c', + 'openssl/crypto/rc2/rc2_ecb.c', + 'openssl/crypto/rc2/rc2_skey.c', + 'openssl/crypto/rc2/rc2cfb64.c', + 'openssl/crypto/rc2/rc2ofb64.c', + 'openssl/crypto/rc4/rc4_enc.c', + 'openssl/crypto/rc4/rc4_skey.c', + 'openssl/crypto/ripemd/rmd_dgst.c', + 'openssl/crypto/ripemd/rmd_one.c', + 'openssl/crypto/rsa/rsa_ameth.c', + 'openssl/crypto/rsa/rsa_asn1.c', + 'openssl/crypto/rsa/rsa_chk.c', + 'openssl/crypto/rsa/rsa_crpt.c', + 'openssl/crypto/rsa/rsa_depr.c', + 'openssl/crypto/rsa/rsa_err.c', + 'openssl/crypto/rsa/rsa_gen.c', + 'openssl/crypto/rsa/rsa_lib.c', + 'openssl/crypto/rsa/rsa_meth.c', + 'openssl/crypto/rsa/rsa_mp.c', + 'openssl/crypto/rsa/rsa_none.c', + 'openssl/crypto/rsa/rsa_oaep.c', + 'openssl/crypto/rsa/rsa_ossl.c', + 'openssl/crypto/rsa/rsa_pk1.c', + 'openssl/crypto/rsa/rsa_pmeth.c', + 'openssl/crypto/rsa/rsa_prn.c', + 'openssl/crypto/rsa/rsa_pss.c', + 'openssl/crypto/rsa/rsa_saos.c', + 'openssl/crypto/rsa/rsa_sign.c', + 'openssl/crypto/rsa/rsa_ssl.c', + 'openssl/crypto/rsa/rsa_x931.c', + 'openssl/crypto/rsa/rsa_x931g.c', + 'openssl/crypto/seed/seed.c', + 'openssl/crypto/seed/seed_cbc.c', + 'openssl/crypto/seed/seed_cfb.c', + 'openssl/crypto/seed/seed_ecb.c', + 'openssl/crypto/seed/seed_ofb.c', + 'openssl/crypto/sha/keccak1600.c', + 'openssl/crypto/sha/sha1_one.c', + 'openssl/crypto/sha/sha1dgst.c', + 'openssl/crypto/sha/sha256.c', + 'openssl/crypto/sha/sha512.c', + 'openssl/crypto/siphash/siphash.c', + 'openssl/crypto/siphash/siphash_ameth.c', + 'openssl/crypto/siphash/siphash_pmeth.c', + 'openssl/crypto/sm2/sm2_crypt.c', + 'openssl/crypto/sm2/sm2_err.c', + 'openssl/crypto/sm2/sm2_pmeth.c', + 'openssl/crypto/sm2/sm2_sign.c', + 'openssl/crypto/sm3/m_sm3.c', + 'openssl/crypto/sm3/sm3.c', + 'openssl/crypto/sm4/sm4.c', + 'openssl/crypto/srp/srp_lib.c', + 'openssl/crypto/srp/srp_vfy.c', + 'openssl/crypto/stack/stack.c', + 'openssl/crypto/store/loader_file.c', + 'openssl/crypto/store/store_err.c', + 'openssl/crypto/store/store_init.c', + 'openssl/crypto/store/store_lib.c', + 'openssl/crypto/store/store_register.c', + 'openssl/crypto/store/store_strings.c', + 'openssl/crypto/threads_none.c', + 'openssl/crypto/threads_pthread.c', + 'openssl/crypto/threads_win.c', + 'openssl/crypto/ts/ts_asn1.c', + 'openssl/crypto/ts/ts_conf.c', + 'openssl/crypto/ts/ts_err.c', + 'openssl/crypto/ts/ts_lib.c', + 'openssl/crypto/ts/ts_req_print.c', + 'openssl/crypto/ts/ts_req_utils.c', + 'openssl/crypto/ts/ts_rsp_print.c', + 'openssl/crypto/ts/ts_rsp_sign.c', + 'openssl/crypto/ts/ts_rsp_utils.c', + 'openssl/crypto/ts/ts_rsp_verify.c', + 'openssl/crypto/ts/ts_verify_ctx.c', + 'openssl/crypto/txt_db/txt_db.c', + 'openssl/crypto/ui/ui_err.c', + 'openssl/crypto/ui/ui_lib.c', + 'openssl/crypto/ui/ui_null.c', + 'openssl/crypto/ui/ui_openssl.c', + 'openssl/crypto/ui/ui_util.c', + 'openssl/crypto/uid.c', + 'openssl/crypto/whrlpool/wp_block.c', + 'openssl/crypto/whrlpool/wp_dgst.c', + 'openssl/crypto/x509/by_dir.c', + 'openssl/crypto/x509/by_file.c', + 'openssl/crypto/x509/t_crl.c', + 'openssl/crypto/x509/t_req.c', + 'openssl/crypto/x509/t_x509.c', + 'openssl/crypto/x509/x509_att.c', + 'openssl/crypto/x509/x509_cmp.c', + 'openssl/crypto/x509/x509_d2.c', + 'openssl/crypto/x509/x509_def.c', + 'openssl/crypto/x509/x509_err.c', + 'openssl/crypto/x509/x509_ext.c', + 'openssl/crypto/x509/x509_lu.c', + 'openssl/crypto/x509/x509_meth.c', + 'openssl/crypto/x509/x509_obj.c', + 'openssl/crypto/x509/x509_r2x.c', + 'openssl/crypto/x509/x509_req.c', + 'openssl/crypto/x509/x509_set.c', + 'openssl/crypto/x509/x509_trs.c', + 'openssl/crypto/x509/x509_txt.c', + 'openssl/crypto/x509/x509_v3.c', + 'openssl/crypto/x509/x509_vfy.c', + 'openssl/crypto/x509/x509_vpm.c', + 'openssl/crypto/x509/x509cset.c', + 'openssl/crypto/x509/x509name.c', + 'openssl/crypto/x509/x509rset.c', + 'openssl/crypto/x509/x509spki.c', + 'openssl/crypto/x509/x509type.c', + 'openssl/crypto/x509/x_all.c', + 'openssl/crypto/x509/x_attrib.c', + 'openssl/crypto/x509/x_crl.c', + 'openssl/crypto/x509/x_exten.c', + 'openssl/crypto/x509/x_name.c', + 'openssl/crypto/x509/x_pubkey.c', + 'openssl/crypto/x509/x_req.c', + 'openssl/crypto/x509/x_x509.c', + 'openssl/crypto/x509/x_x509a.c', + 'openssl/crypto/x509v3/pcy_cache.c', + 'openssl/crypto/x509v3/pcy_data.c', + 'openssl/crypto/x509v3/pcy_lib.c', + 'openssl/crypto/x509v3/pcy_map.c', + 'openssl/crypto/x509v3/pcy_node.c', + 'openssl/crypto/x509v3/pcy_tree.c', + 'openssl/crypto/x509v3/v3_addr.c', + 'openssl/crypto/x509v3/v3_admis.c', + 'openssl/crypto/x509v3/v3_akey.c', + 'openssl/crypto/x509v3/v3_akeya.c', + 'openssl/crypto/x509v3/v3_alt.c', + 'openssl/crypto/x509v3/v3_asid.c', + 'openssl/crypto/x509v3/v3_bcons.c', + 'openssl/crypto/x509v3/v3_bitst.c', + 'openssl/crypto/x509v3/v3_conf.c', + 'openssl/crypto/x509v3/v3_cpols.c', + 'openssl/crypto/x509v3/v3_crld.c', + 'openssl/crypto/x509v3/v3_enum.c', + 'openssl/crypto/x509v3/v3_extku.c', + 'openssl/crypto/x509v3/v3_genn.c', + 'openssl/crypto/x509v3/v3_ia5.c', + 'openssl/crypto/x509v3/v3_info.c', + 'openssl/crypto/x509v3/v3_int.c', + 'openssl/crypto/x509v3/v3_lib.c', + 'openssl/crypto/x509v3/v3_ncons.c', + 'openssl/crypto/x509v3/v3_pci.c', + 'openssl/crypto/x509v3/v3_pcia.c', + 'openssl/crypto/x509v3/v3_pcons.c', + 'openssl/crypto/x509v3/v3_pku.c', + 'openssl/crypto/x509v3/v3_pmaps.c', + 'openssl/crypto/x509v3/v3_prn.c', + 'openssl/crypto/x509v3/v3_purp.c', + 'openssl/crypto/x509v3/v3_skey.c', + 'openssl/crypto/x509v3/v3_sxnet.c', + 'openssl/crypto/x509v3/v3_tlsf.c', + 'openssl/crypto/x509v3/v3_utl.c', + 'openssl/crypto/x509v3/v3err.c', + 'openssl/engines/e_capi.c', + 'openssl/engines/e_padlock.c', + ], + 'openssl_sources_linux64-mips64': [ + ], + 'openssl_defines_linux64-mips64': [ + 'NDEBUG', + 'OPENSSL_USE_NODELETE', + 'OPENSSL_PIC', + ], + 'openssl_cflags_linux64-mips64': [ + '-Wall -O3', + '-pthread -mabi=64', + '-Wall -O3', + ], + 'openssl_ex_libs_linux64-mips64': [ + '-ldl -pthread', + ], + }, + 'include_dirs': [ + '.', + './include', + './crypto', + './crypto/include/internal', + ], + 'defines': ['<@(openssl_defines_linux64-mips64)'], + 'cflags' : ['<@(openssl_cflags_linux64-mips64)'], + 'libraries': ['<@(openssl_ex_libs_linux64-mips64)'], + 'sources': ['<@(openssl_sources)', '<@(openssl_sources_linux64-mips64)'], +} diff --git a/deps/openssl/config/opensslconf_asm.h b/deps/openssl/config/opensslconf_asm.h index 2c85e222e6d05f..641ddb4083d2f8 100644 --- a/deps/openssl/config/opensslconf_asm.h +++ b/deps/openssl/config/opensslconf_asm.h @@ -130,6 +130,8 @@ # include "./archs/linux64-s390x/asm/include/openssl/opensslconf.h" #elif defined(OPENSSL_LINUX) && defined(__s390__) # include "./archs/linux32-s390x/asm/include/openssl/opensslconf.h" +#elif defined(OPENSSL_LINUX) && defined(__mips64) && defined(__MIPSEL__) +# include "./archs/linux64-mips64/asm/include/openssl/opensslconf.h" #else # include "./archs/linux-elf/asm/include/openssl/opensslconf.h" #endif diff --git a/deps/openssl/config/opensslconf_no-asm.h b/deps/openssl/config/opensslconf_no-asm.h index 1a8763f631525a..cfa3c2027d43f5 100644 --- a/deps/openssl/config/opensslconf_no-asm.h +++ b/deps/openssl/config/opensslconf_no-asm.h @@ -40,6 +40,8 @@ # include "./archs/linux64-s390x/no-asm/include/openssl/opensslconf.h" #elif defined(OPENSSL_LINUX) && defined(__s390__) # include "./archs/linux32-s390x/no-asm/include/openssl/opensslconf.h" +#elif defined(OPENSSL_LINUX) && defined(__mips64) && defined(__MIPSEL__) +# include "./archs/linux64-mips64/no-asm/include/openssl/opensslconf.h" #else # include "./archs/linux-elf/no-asm/include/openssl/opensslconf.h" #endif diff --git a/deps/openssl/openssl-cl_asm.gypi b/deps/openssl/openssl-cl_asm.gypi index 614c0cf316c462..2dd71a73b53e4f 100644 --- a/deps/openssl/openssl-cl_asm.gypi +++ b/deps/openssl/openssl-cl_asm.gypi @@ -39,7 +39,9 @@ 'includes': ['config/archs/VC-WIN64A/asm/openssl-cl.gypi'], }, 'target_arch=="x64" and OS=="linux"', { 'includes': ['config/archs/linux-x86_64/asm/openssl-cl.gypi'], - }, { + }, 'target_arch=="mips64el" and OS=="linux"', { + 'includes': ['config/archs/linux64-mips64/asm/openssl-cl.gypi'], + },{ # Other architectures don't use assembly 'includes': ['config/archs/linux-x86_64/asm/openssl-cl.gypi'], }], diff --git a/deps/openssl/openssl-cl_no_asm.gypi b/deps/openssl/openssl-cl_no_asm.gypi index 8ba246d3035fee..f3e1373802cc3d 100644 --- a/deps/openssl/openssl-cl_no_asm.gypi +++ b/deps/openssl/openssl-cl_no_asm.gypi @@ -41,6 +41,8 @@ 'includes': ['config/archs/VC-WIN64A/no-asm/openssl-cl.gypi'], }, 'target_arch=="x64" and OS=="linux"', { 'includes': ['config/archs/linux-x86_64/no-asm/openssl-cl.gypi'], + }, 'target_arch=="mips64el" and OS=="linux"', { + 'includes': ['config/archs/linux64-mips64/no-asm/openssl-cl.gypi'], }, { # Other architectures don't use assembly 'includes': ['config/archs/linux-x86_64/no-asm/openssl-cl.gypi'], diff --git a/deps/openssl/openssl_asm.gypi b/deps/openssl/openssl_asm.gypi index d4024e72b936ac..c839b66f5083a1 100644 --- a/deps/openssl/openssl_asm.gypi +++ b/deps/openssl/openssl_asm.gypi @@ -73,6 +73,8 @@ ], }, 'target_arch=="x64" and OS=="linux"', { 'includes': ['config/archs/linux-x86_64/asm/openssl.gypi'], + }, 'target_arch=="mips64el" and OS=="linux"', { + 'includes': ['config/archs/linux64-mips64/asm/openssl.gypi'], }, { # Other architectures don't use assembly 'includes': ['config/archs/linux-x86_64/asm/openssl.gypi'], diff --git a/deps/openssl/openssl_no_asm.gypi b/deps/openssl/openssl_no_asm.gypi index d09f944539bb26..e492c43ffbe834 100644 --- a/deps/openssl/openssl_no_asm.gypi +++ b/deps/openssl/openssl_no_asm.gypi @@ -42,6 +42,8 @@ 'includes': ['config/archs/VC-WIN64-ARM/no-asm/openssl.gypi'], }, 'target_arch=="x64" and OS=="linux"', { 'includes': ['config/archs/linux-x86_64/no-asm/openssl.gypi'], + }, 'target_arch=="mips64el" and OS=="linux"', { + 'includes': ['config/archs/linux64-mips64/no-asm/openssl.gypi'], }, { # Other architectures don't use assembly 'includes': ['config/archs/linux-x86_64/no-asm/openssl.gypi'], From 17efd9372bd460d2015abb351d53791881530514 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sat, 15 Jun 2019 19:30:55 -0700 Subject: [PATCH 006/144] doc: remove instructions to post CI links Remove instructions (in the Collaborator Guide) to post CI links. The bot does that now. PR-URL: https://github.com/nodejs/node/pull/28248 Reviewed-By: James M Snell Reviewed-By: Trivikram Kamat --- COLLABORATOR_GUIDE.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/COLLABORATOR_GUIDE.md b/COLLABORATOR_GUIDE.md index 6e85bdc02eef95..93e6522e0402b9 100644 --- a/COLLABORATOR_GUIDE.md +++ b/COLLABORATOR_GUIDE.md @@ -77,9 +77,8 @@ Please always remove it again as soon as the conditions are not met anymore. ### Handling own pull requests -When you open a pull request, [start a CI](#testing-and-ci) right away and post -the link to it in a comment in the pull request. Later, after new code changes -or rebasing, start a new CI. +When you open a pull request, [start a CI](#testing-and-ci) right away. Later, +after new code changes or rebasing, start a new CI. As soon as the pull request is ready to land, please do so. This allows other Collaborators to focus on other pull requests. If your pull request is not ready @@ -109,8 +108,8 @@ review by @-mention. See [Who to CC in the issue tracker](#who-to-cc-in-the-issue-tracker). If you are the first Collaborator to approve a pull request that has no CI yet, -please [start one](#testing-and-ci). Post the link to the CI in the PR. Please -also start a new CI if the PR creator pushed new code since the last CI run. +please [start one](#testing-and-ci). Please also start a new CI if the PR +creator pushed new code since the last CI run. ### Consensus Seeking From 990feafcb60d2516cfeb36449759087517b8ff8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Nie=C3=9Fen?= Date: Sun, 16 Jun 2019 11:26:03 +0200 Subject: [PATCH 007/144] crypto: fix crash when calling digest after piping When piping data into an SHA3 hash, EVP_DigestFinal_ex is called in hash._flush, bypassing safeguards in the JavaScript layer. Calling hash.digest causes EVP_DigestFinal_ex to be called again, resulting in a segmentation fault in the SHA3 implementation of OpenSSL. A relatively easy solution is to cache the result of calling EVP_DigestFinal_ex until the Hash object is garbage collected. PR-URL: https://github.com/nodejs/node/pull/28251 Fixes: https://github.com/nodejs/node/issues/28245 Reviewed-By: James M Snell Reviewed-By: Ben Noordhuis --- src/node_crypto.cc | 16 ++++++++++------ src/node_crypto.h | 9 ++++++++- test/parallel/test-crypto-hash-stream-pipe.js | 10 ++++++++-- 3 files changed, 26 insertions(+), 9 deletions(-) diff --git a/src/node_crypto.cc b/src/node_crypto.cc index 813e1fc485c86c..590c6d1c374c08 100644 --- a/src/node_crypto.cc +++ b/src/node_crypto.cc @@ -4634,16 +4634,20 @@ void Hash::HashDigest(const FunctionCallbackInfo& args) { encoding = ParseEncoding(env->isolate(), args[0], BUFFER); } - unsigned char md_value[EVP_MAX_MD_SIZE]; - unsigned int md_len; - - EVP_DigestFinal_ex(hash->mdctx_.get(), md_value, &md_len); + if (hash->md_len_ == 0) { + // Some hash algorithms such as SHA3 do not support calling + // EVP_DigestFinal_ex more than once, however, Hash._flush + // and Hash.digest can both be used to retrieve the digest, + // so we need to cache it. + // See https://github.com/nodejs/node/issues/28245. + EVP_DigestFinal_ex(hash->mdctx_.get(), hash->md_value_, &hash->md_len_); + } Local error; MaybeLocal rc = StringBytes::Encode(env->isolate(), - reinterpret_cast(md_value), - md_len, + reinterpret_cast(hash->md_value_), + hash->md_len_, encoding, &error); if (rc.IsEmpty()) { diff --git a/src/node_crypto.h b/src/node_crypto.h index aa29585533c62a..3e337eaddbe490 100644 --- a/src/node_crypto.h +++ b/src/node_crypto.h @@ -595,12 +595,19 @@ class Hash : public BaseObject { Hash(Environment* env, v8::Local wrap) : BaseObject(env, wrap), - mdctx_(nullptr) { + mdctx_(nullptr), + md_len_(0) { MakeWeak(); } + ~Hash() override { + OPENSSL_cleanse(md_value_, md_len_); + } + private: EVPMDPointer mdctx_; + unsigned char md_value_[EVP_MAX_MD_SIZE]; + unsigned int md_len_; }; class SignBase : public BaseObject { diff --git a/test/parallel/test-crypto-hash-stream-pipe.js b/test/parallel/test-crypto-hash-stream-pipe.js index 0a240a2abbc7ef..d22281abbd5c3c 100644 --- a/test/parallel/test-crypto-hash-stream-pipe.js +++ b/test/parallel/test-crypto-hash-stream-pipe.js @@ -30,11 +30,17 @@ const crypto = require('crypto'); const stream = require('stream'); const s = new stream.PassThrough(); -const h = crypto.createHash('sha1'); -const expect = '15987e60950cf22655b9323bc1e281f9c4aff47e'; +const h = crypto.createHash('sha3-512'); +const expect = '36a38a2a35e698974d4e5791a3f05b05' + + '198235381e864f91a0e8cd6a26b677ec' + + 'dcde8e2b069bd7355fabd68abd6fc801' + + '19659f25e92f8efc961ee3a7c815c758'; s.pipe(h).on('data', common.mustCall(function(c) { assert.strictEqual(c, expect); + // Calling digest() after piping into a stream with SHA3 should not cause + // a segmentation fault, see https://github.com/nodejs/node/issues/28245. + assert.strictEqual(h.digest('hex'), expect); })).setEncoding('hex'); s.end('aoeu'); From d949eadc385fcb3f1fa48dc8ed0f2c524eae1083 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Fri, 14 Jun 2019 15:19:34 -0700 Subject: [PATCH 008/144] test: check custom inspection truncation in assert The assert module has some truncation logic in a custom inspect function. This was not covered in tests. Add tests to cover it. PR-URL: https://github.com/nodejs/node/pull/28234 Reviewed-By: Ruben Bridgewater Reviewed-By: Daniel Bevenius --- test/parallel/test-assert.js | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/test/parallel/test-assert.js b/test/parallel/test-assert.js index 376b4a8011e84c..657b8b9c1bf8d7 100644 --- a/test/parallel/test-assert.js +++ b/test/parallel/test-assert.js @@ -412,12 +412,33 @@ assert.throws(() => { throw new Error(); }, (err) => err instanceof Error); // Long values should be truncated for display. assert.throws(() => { assert.strictEqual('A'.repeat(1000), ''); -}, { - code: 'ERR_ASSERTION', - message: `${strictEqualMessageStart}+ actual - expected\n\n` + - `+ '${'A'.repeat(1000)}'\n- ''` +}, (err) => { + assert.strictEqual(err.code, 'ERR_ASSERTION'); + assert.strictEqual(err.message, + `${strictEqualMessageStart}+ actual - expected\n\n` + + `+ '${'A'.repeat(1000)}'\n- ''`); + assert.strictEqual(err.actual.length, 1000); + assert.ok(inspect(err).includes(`actual: '${'A'.repeat(488)}...'`)); + return true; }); +// Output that extends beyond 10 lines should also be truncated for display. +{ + const multilineString = 'fhqwhgads\n'.repeat(15); + assert.throws(() => { + assert.strictEqual(multilineString, ''); + }, (err) => { + assert.strictEqual(err.code, 'ERR_ASSERTION'); + assert.strictEqual(err.message.split('\n').length, 19); + assert.strictEqual(err.actual.split('\n').length, 16); + assert.ok(inspect(err).includes( + "actual: 'fhqwhgads\\n' +\n" + + " 'fhqwhgads\\n' +\n".repeat(9) + + " '...'")); + return true; + }); +} + { // Bad args to AssertionError constructor should throw TypeError. const args = [1, true, false, '', null, Infinity, Symbol('test'), undefined]; From 168c12758bf249c673bb10aee252eadb0061ac63 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sun, 16 Jun 2019 15:46:59 -0700 Subject: [PATCH 009/144] doc: tidy AssertionError text Several minor improvements to text. Remove some repetition. PR-URL: https://github.com/nodejs/node/pull/28255 Reviewed-By: James M Snell Reviewed-By: Ruben Bridgewater Reviewed-By: Trivikram Kamat --- doc/api/assert.md | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/doc/api/assert.md b/doc/api/assert.md index b981b9497bb6f5..c6e3302166a240 100644 --- a/doc/api/assert.md +++ b/doc/api/assert.md @@ -21,33 +21,26 @@ thrown by the `assert` module will be instances of the `AssertionError` class. added: v0.1.21 --> * `options` {Object} - * `message` {string} If provided, the error message is going to be set to this - value. - * `actual` {any} The `actual` property on the error instance is going to - contain this value. Internally used for the `actual` error input in case - e.g., [`assert.strictEqual()`] is used. - * `expected` {any} The `expected` property on the error instance is going to - contain this value. Internally used for the `expected` error input in case - e.g., [`assert.strictEqual()`] is used. - * `operator` {string} The `operator` property on the error instance is going - to contain this value. Internally used to indicate what operation was used - for comparison (or what assertion function triggered the error). - * `stackStartFn` {Function} If provided, the generated stack trace is going to - remove all frames up to the provided function. + * `message` {string} If provided, the error message is set to this value. + * `actual` {any} The `actual` property on the error instance. + * `expected` {any} The `expected` property on the error instance. + * `operator` {string} The `operator` property on the error instance. + * `stackStartFn` {Function} If provided, the generated stack trace omits + frames before this function. A subclass of `Error` that indicates the failure of an assertion. All instances contain the built-in `Error` properties (`message` and `name`) and: -* `actual` {any} Set to the actual value in case e.g., - [`assert.strictEqual()`] is used. -* `expected` {any} Set to the expected value in case e.g., - [`assert.strictEqual()`] is used. +* `actual` {any} Set to the `actual` argument for methods such as + [`assert.strictEqual()`]. +* `expected` {any} Set to the `expected` value for methods such as + [`assert.strictEqual()`]. * `generatedMessage` {boolean} Indicates if the message was auto-generated (`true`) or not. -* `code` {string} This is always set to the string `ERR_ASSERTION` to indicate - that the error is actually an assertion error. +* `code` {string} Value is always `ERR_ASSERTION` to show that the error is an + assertion error. * `operator` {string} Set to the passed in operator value. ```js From 040b9db07be34de306f19df4074a9238c8693e19 Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Sun, 16 Jun 2019 20:09:42 +0800 Subject: [PATCH 010/144] src: save exec path when initializing Environment PR-URL: https://github.com/nodejs/node/pull/28252 Reviewed-By: Anna Henningsen Reviewed-By: James M Snell --- src/env-inl.h | 4 ++++ src/env.cc | 27 +++++++++++++++++++++++++ src/env.h | 2 ++ src/node_process_object.cc | 40 +++++++++----------------------------- 4 files changed, 42 insertions(+), 31 deletions(-) diff --git a/src/env-inl.h b/src/env-inl.h index 2239412ccac9cb..4451080940628a 100644 --- a/src/env-inl.h +++ b/src/env-inl.h @@ -635,6 +635,10 @@ inline const std::vector& Environment::exec_argv() { return exec_argv_; } +inline const std::string& Environment::exec_path() const { + return exec_path_; +} + #if HAVE_INSPECTOR inline void Environment::set_coverage_directory(const char* dir) { coverage_directory_ = std::string(dir); diff --git a/src/env.cc b/src/env.cc index f0f4fc30688aad..9a251a93069742 100644 --- a/src/env.cc +++ b/src/env.cc @@ -261,6 +261,32 @@ void Environment::CreateProperties() { set_process_object(process_object); } +std::string GetExecPath(const std::vector& argv) { + char exec_path_buf[2 * PATH_MAX]; + size_t exec_path_len = sizeof(exec_path_buf); + std::string exec_path; + if (uv_exepath(exec_path_buf, &exec_path_len) == 0) { + exec_path = std::string(exec_path_buf, exec_path_len); + } else { + exec_path = argv[0]; + } + + // On OpenBSD process.execPath will be relative unless we + // get the full path before process.execPath is used. +#if defined(__OpenBSD__) + uv_fs_t req; + req.ptr = nullptr; + if (0 == + uv_fs_realpath(env->event_loop(), &req, exec_path.c_str(), nullptr)) { + CHECK_NOT_NULL(req.ptr); + exec_path = std::string(static_cast(req.ptr)); + } + uv_fs_req_cleanup(&req); +#endif + + return exec_path; +} + Environment::Environment(IsolateData* isolate_data, Local context, const std::vector& args, @@ -274,6 +300,7 @@ Environment::Environment(IsolateData* isolate_data, timer_base_(uv_now(isolate_data->event_loop())), exec_argv_(exec_args), argv_(args), + exec_path_(GetExecPath(args)), should_abort_on_uncaught_toggle_(isolate_, 1), stream_base_state_(isolate_, StreamBase::kNumStreamBaseStateFields), flags_(flags), diff --git a/src/env.h b/src/env.h index fb54f5ee995b75..59ad030f30ff9b 100644 --- a/src/env.h +++ b/src/env.h @@ -850,6 +850,7 @@ class Environment : public MemoryRetainer { void InitializeLibuv(bool start_profiler_idle_notifier); inline const std::vector& exec_argv(); inline const std::vector& argv(); + const std::string& exec_path() const; typedef void (*HandleCleanupCb)(Environment* env, uv_handle_t* handle, @@ -1239,6 +1240,7 @@ class Environment : public MemoryRetainer { std::shared_ptr inspector_host_port_; std::vector exec_argv_; std::vector argv_; + std::string exec_path_; uint32_t module_id_counter_ = 0; uint32_t script_id_counter_ = 0; diff --git a/src/node_process_object.cc b/src/node_process_object.cc index 45470254063418..54ae8e6a218072 100644 --- a/src/node_process_object.cc +++ b/src/node_process_object.cc @@ -180,37 +180,15 @@ void PatchProcessObject(const FunctionCallbackInfo& args) { #undef V // process.execPath - { - char exec_path_buf[2 * PATH_MAX]; - size_t exec_path_len = sizeof(exec_path_buf); - std::string exec_path; - if (uv_exepath(exec_path_buf, &exec_path_len) == 0) { - exec_path = std::string(exec_path_buf, exec_path_len); - } else { - exec_path = env->argv()[0]; - } - // On OpenBSD process.execPath will be relative unless we - // get the full path before process.execPath is used. -#if defined(__OpenBSD__) - uv_fs_t req; - req.ptr = nullptr; - if (0 == - uv_fs_realpath(env->event_loop(), &req, exec_path.c_str(), nullptr)) { - CHECK_NOT_NULL(req.ptr); - exec_path = std::string(static_cast(req.ptr)); - } - uv_fs_req_cleanup(&req); -#endif - process - ->Set(context, - FIXED_ONE_BYTE_STRING(isolate, "execPath"), - String::NewFromUtf8(isolate, - exec_path.c_str(), - NewStringType::kInternalized, - exec_path.size()) - .ToLocalChecked()) - .Check(); - } + process + ->Set(context, + FIXED_ONE_BYTE_STRING(isolate, "execPath"), + String::NewFromUtf8(isolate, + env->exec_path().c_str(), + NewStringType::kInternalized, + env->exec_path().size()) + .ToLocalChecked()) + .Check(); // process.debugPort CHECK(process From c491e4dfe6b2af972ec935524af0e0f0eee894b8 Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Sun, 16 Jun 2019 20:10:20 +0800 Subject: [PATCH 011/144] src: fall back to env->exec_path() for default profile directory When the current working directory is deleted, fall back to exec_path as the default profile directory. PR-URL: https://github.com/nodejs/node/pull/28252 Reviewed-By: Anna Henningsen Reviewed-By: James M Snell --- src/inspector_profiler.cc | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/inspector_profiler.cc b/src/inspector_profiler.cc index 1b20398dba4d3d..122118324f57e1 100644 --- a/src/inspector_profiler.cc +++ b/src/inspector_profiler.cc @@ -320,17 +320,20 @@ void EndStartedProfilers(Environment* env) { } } -std::string GetCwd() { +std::string GetCwd(Environment* env) { char cwd[PATH_MAX_BYTES]; size_t size = PATH_MAX_BYTES; int err = uv_cwd(cwd, &size); - // This can fail if the cwd is deleted. - // TODO(joyeecheung): store this in the Environment during Environment - // creation and fallback to exec_path and argv0, then we no longer need - // SetCoverageDirectory(). - CHECK_EQ(err, 0); - CHECK_GT(size, 0); - return cwd; + + if (err == 0) { + CHECK_GT(size, 0); + return cwd; + } + + // This can fail if the cwd is deleted. In that case, fall back to + // exec_path. + const std::string& exec_path = env->exec_path(); + return exec_path.substr(0, exec_path.find_last_of(kPathSeparator)); } void StartProfilers(Environment* env) { @@ -345,7 +348,7 @@ void StartProfilers(Environment* env) { if (env->options()->cpu_prof) { const std::string& dir = env->options()->cpu_prof_dir; env->set_cpu_prof_interval(env->options()->cpu_prof_interval); - env->set_cpu_prof_dir(dir.empty() ? GetCwd() : dir); + env->set_cpu_prof_dir(dir.empty() ? GetCwd(env) : dir); if (env->options()->cpu_prof_name.empty()) { DiagnosticFilename filename(env, "CPU", "cpuprofile"); env->set_cpu_prof_name(*filename); @@ -360,7 +363,7 @@ void StartProfilers(Environment* env) { if (env->options()->heap_prof) { const std::string& dir = env->options()->heap_prof_dir; env->set_heap_prof_interval(env->options()->heap_prof_interval); - env->set_heap_prof_dir(dir.empty() ? GetCwd() : dir); + env->set_heap_prof_dir(dir.empty() ? GetCwd(env) : dir); if (env->options()->heap_prof_name.empty()) { DiagnosticFilename filename(env, "Heap", "heapprofile"); env->set_heap_prof_name(*filename); From d95d610e0efb0efb9fa3765da8985a441adaaee9 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sun, 16 Jun 2019 21:14:48 -0700 Subject: [PATCH 012/144] meta: update LICENSE A few dependencies have been updated or added without running license_builder.sh. This updates based on current master branch. PR-URL: https://github.com/nodejs/node/pull/28260 Reviewed-By: James M Snell Reviewed-By: Richard Lau Reviewed-By: Yongsheng Zhang Reviewed-By: Trivikram Kamat Reviewed-By: Michael Dawson Reviewed-By: Myles Borins Reviewed-By: Franziska Hinkelmann --- LICENSE | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/LICENSE b/LICENSE index 0990b3694b94ab..1f2435a7225834 100644 --- a/LICENSE +++ b/LICENSE @@ -757,11 +757,13 @@ The externally maintained libraries used by Node.js are: This code is copyrighted by Sun Microsystems Inc. and released under a 3-clause BSD license. - - Valgrind client API header, located at third_party/valgrind/valgrind.h - This is release under the BSD license. + - Valgrind client API header, located at src/third_party/valgrind/valgrind.h + This is released under the BSD license. - - antlr4 parser generator Cpp library located in third_party/antlr4 - This is release under the BSD license. + - The Wasm C/C++ API headers, located at third_party/wasm-api/wasm.{h,hh} + This is released under the Apache license. The API's upstream prototype + implementation also formed the basis of V8's implementation in + src/wasm/c-api.cc. These libraries have their own licenses; we recommend you read them, as their terms may differ from the terms below. From 3a2e67b91655b9b2e6f8600e917c6866df372302 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Reis?= Date: Tue, 18 Jun 2019 10:45:29 +0100 Subject: [PATCH 013/144] test: do not spawn rmdir in test-statwatcher PR-URL: https://github.com/nodejs/node/pull/28276 Refs: https://github.com/nodejs/node/issues/21425 Reviewed-By: Rich Trott Reviewed-By: Anna Henningsen Reviewed-By: Franziska Hinkelmann --- test/async-hooks/test-statwatcher.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/async-hooks/test-statwatcher.js b/test/async-hooks/test-statwatcher.js index d67bef26eb1d09..1349fa87e6f511 100644 --- a/test/async-hooks/test-statwatcher.js +++ b/test/async-hooks/test-statwatcher.js @@ -11,7 +11,7 @@ const path = require('path'); if (!common.isMainThread) common.skip('Worker bootstrapping works differently -> different async IDs'); -tmpdir.refresh(); +tmpdir.refresh({ spawn: false }); const file1 = path.join(tmpdir.path, 'file1'); const file2 = path.join(tmpdir.path, 'file2'); From b6a70520d259fd97017143f3dec0fe5f662cd63a Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Mon, 17 Jun 2019 10:48:21 +0800 Subject: [PATCH 014/144] lib: refactor unhandled rejection deprecation warning emission Emit the deprecation warning in the `kDefaultUnhandledRejections` case to reduce the number of branches on unhandled rejection mode - there is now only one switch case on it. Also rename `emitWarning()` to `emitUnhandledRejectionWarning()` to avoid ambiguity with `process.emitWarning()` PR-URL: https://github.com/nodejs/node/pull/28258 Reviewed-By: Benjamin Gruenbaum Reviewed-By: Franziska Hinkelmann --- lib/internal/process/promises.js | 27 +++++++++---------- .../unhandled_promise_trace_warnings.out | 1 - 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/lib/internal/process/promises.js b/lib/internal/process/promises.js index 031997fc1b3467..9814f9b51a3a3f 100644 --- a/lib/internal/process/promises.js +++ b/lib/internal/process/promises.js @@ -126,7 +126,7 @@ function handledRejection(promise) { } const unhandledRejectionErrName = 'UnhandledPromiseRejectionWarning'; -function emitWarning(uid, reason) { +function emitUnhandledRejectionWarning(uid, reason) { const warning = getError( unhandledRejectionErrName, 'Unhandled promise rejection. This error originated either by ' + @@ -144,20 +144,15 @@ function emitWarning(uid, reason) { } catch {} process.emitWarning(warning); - emitDeprecationWarning(); } let deprecationWarned = false; function emitDeprecationWarning() { - if (unhandledRejectionsMode === kDefaultUnhandledRejections && - !deprecationWarned) { - deprecationWarned = true; - process.emitWarning( - 'Unhandled promise rejections are deprecated. In the future, ' + - 'promise rejections that are not handled will terminate the ' + - 'Node.js process with a non-zero exit code.', - 'DeprecationWarning', 'DEP0018'); - } + process.emitWarning( + 'Unhandled promise rejections are deprecated. In the future, ' + + 'promise rejections that are not handled will terminate the ' + + 'Node.js process with a non-zero exit code.', + 'DeprecationWarning', 'DEP0018'); } // If this method returns true, we've executed user code or triggered @@ -186,7 +181,7 @@ function processPromiseRejections() { case kThrowUnhandledRejections: { fatalException(reason); const handled = process.emit('unhandledRejection', reason, promise); - if (!handled) emitWarning(uid, reason); + if (!handled) emitUnhandledRejectionWarning(uid, reason); break; } case kIgnoreUnhandledRejections: { @@ -195,12 +190,16 @@ function processPromiseRejections() { } case kAlwaysWarnUnhandledRejections: { process.emit('unhandledRejection', reason, promise); - emitWarning(uid, reason); + emitUnhandledRejectionWarning(uid, reason); break; } case kDefaultUnhandledRejections: { const handled = process.emit('unhandledRejection', reason, promise); - if (!handled) emitWarning(uid, reason); + if (!handled) emitUnhandledRejectionWarning(uid, reason); + if (!deprecationWarned) { + emitDeprecationWarning(); + deprecationWarned = true; + } break; } } diff --git a/test/message/unhandled_promise_trace_warnings.out b/test/message/unhandled_promise_trace_warnings.out index c9fff40efb72bd..c22dfbe0fcc8fa 100644 --- a/test/message/unhandled_promise_trace_warnings.out +++ b/test/message/unhandled_promise_trace_warnings.out @@ -21,7 +21,6 @@ at * at * at * - at * (node:*) PromiseRejectionHandledWarning: Promise rejection was handled asynchronously (rejection id: 1) at handledRejection (internal/process/promises.js:*) at promiseRejectHandler (internal/process/promises.js:*) From 5b92eb468663809f9075e930d10cf97bc1eb0762 Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Sat, 15 Jun 2019 08:07:15 +0800 Subject: [PATCH 015/144] src: refactor uncaught exception handling The C++ land `node::FatalException()` is not in fact fatal anymore. It gives the user a chance to handle the uncaught exception globally by listening to the `uncaughtException` event. This patch renames it to `TriggerUncaughtException` in C++ to avoid the confusion. In addition rename the JS land handler to `onGlobalUncaughtException` to reflect its purpose - we have to keep the alias `process._fatalException` and use that for now since it has been monkey-patchable in the user land. This patch also - Adds more comments to the global uncaught exception handling routine - Puts a few other C++ error handling functions into the `errors` namespace - Moves error-handling-related bindings to the `errors` binding. Refs: https://github.com/nodejs/node/commit/2b252acea47af3ebeac3d7e68277f015667264cc PR-URL: https://github.com/nodejs/node/pull/28257 Reviewed-By: Anna Henningsen Reviewed-By: Benjamin Gruenbaum Reviewed-By: Franziska Hinkelmann --- lib/internal/bootstrap/node.js | 10 +- lib/internal/main/worker_thread.js | 23 +++-- lib/internal/modules/cjs/loader.js | 2 +- lib/internal/process/execution.js | 14 ++- lib/internal/process/promises.js | 48 +++++----- lib/internal/process/task_queues.js | 15 +-- src/api/exceptions.cc | 15 +-- src/env.cc | 2 +- src/js_stream.cc | 10 +- src/node.cc | 8 +- src/node_api.cc | 2 +- src/node_contextify.cc | 6 +- src/node_errors.cc | 140 +++++++++++++++++++--------- src/node_errors.h | 29 +++--- src/node_task_queue.cc | 15 --- src/node_util.cc | 9 -- 16 files changed, 190 insertions(+), 158 deletions(-) diff --git a/lib/internal/bootstrap/node.js b/lib/internal/bootstrap/node.js index 8dee38a0e71698..22dabf4d7ed459 100644 --- a/lib/internal/bootstrap/node.js +++ b/lib/internal/bootstrap/node.js @@ -254,12 +254,18 @@ Object.defineProperty(process, 'features', { { const { - fatalException, + onGlobalUncaughtException, setUncaughtExceptionCaptureCallback, hasUncaughtExceptionCaptureCallback } = require('internal/process/execution'); - process._fatalException = fatalException; + // For legacy reasons this is still called `_fatalException`, even + // though it is now a global uncaught exception handler. + // The C++ land node::errors::TriggerUncaughtException grabs it + // from the process object because it has been monkey-patchable. + // TODO(joyeecheung): investigate whether process._fatalException + // can be deprecated. + process._fatalException = onGlobalUncaughtException; process.setUncaughtExceptionCaptureCallback = setUncaughtExceptionCaptureCallback; process.hasUncaughtExceptionCaptureCallback = diff --git a/lib/internal/main/worker_thread.js b/lib/internal/main/worker_thread.js index 565cd4a77a15c9..a8bd0061db65f9 100644 --- a/lib/internal/main/worker_thread.js +++ b/lib/internal/main/worker_thread.js @@ -42,7 +42,7 @@ const { } = workerIo; const { - fatalException: originalFatalException + onGlobalUncaughtException } = require('internal/process/execution'); const publicWorker = require('worker_threads'); @@ -151,24 +151,23 @@ port.on('message', (message) => { } }); -// Overwrite fatalException -process._fatalException = (error, fromPromise) => { - debug(`[${threadId}] gets fatal exception`); - let caught = false; +function workerOnGlobalUncaughtException(error, fromPromise) { + debug(`[${threadId}] gets uncaught exception`); + let handled = false; try { - caught = originalFatalException.call(this, error, fromPromise); + handled = onGlobalUncaughtException(error, fromPromise); } catch (e) { error = e; } - debug(`[${threadId}] fatal exception caught = ${caught}`); + debug(`[${threadId}] uncaught exception handled = ${handled}`); - if (!caught) { + if (!handled) { let serialized; try { const { serializeError } = require('internal/error-serdes'); serialized = serializeError(error); } catch {} - debug(`[${threadId}] fatal exception serialized = ${!!serialized}`); + debug(`[${threadId}] uncaught exception serialized = ${!!serialized}`); if (serialized) port.postMessage({ type: ERROR_MESSAGE, @@ -182,7 +181,11 @@ process._fatalException = (error, fromPromise) => { process.exit(); } -}; +} + +// Patch the global uncaught exception handler so it gets picked up by +// node::errors::TriggerUncaughtException(). +process._fatalException = workerOnGlobalUncaughtException; markBootstrapComplete(); diff --git a/lib/internal/modules/cjs/loader.js b/lib/internal/modules/cjs/loader.js index 556f5ec5207029..00bc575b1f7d4b 100644 --- a/lib/internal/modules/cjs/loader.js +++ b/lib/internal/modules/cjs/loader.js @@ -829,7 +829,7 @@ Module.runMain = function() { return loader.import(pathToFileURL(process.argv[1]).pathname); }) .catch((e) => { - internalBinding('task_queue').triggerFatalException( + internalBinding('errors').triggerUncaughtException( e, true /* fromPromise */ ); diff --git a/lib/internal/process/execution.js b/lib/internal/process/execution.js index 2b7fc41ccddf01..b9904f66b3621b 100644 --- a/lib/internal/process/execution.js +++ b/lib/internal/process/execution.js @@ -115,10 +115,14 @@ function noop() {} // and exported to be written to process._fatalException, it has to be // returned as an *anonymous function* wrapped inside a factory function, // otherwise it breaks the test-timers.setInterval async hooks test - -// this may indicate that node::FatalException should fix up the callback scope -// before calling into process._fatalException, or this function should -// take extra care of the async hooks before it schedules a setImmediate. -function createFatalException() { +// this may indicate that node::errors::TriggerUncaughtException() should +// fix up the callback scope before calling into process._fatalException, +// or this function should take extra care of the async hooks before it +// schedules a setImmediate. +function createOnGlobalUncaughtException() { + // The C++ land node::errors::TriggerUncaughtException() will + // exit the process if it returns false, and continue execution if it + // returns true (which indicates that the exception is handled by the user). return (er, fromPromise) => { // It's possible that defaultTriggerAsyncId was set for a constructor // call that threw and was never cleared. So clear it now. @@ -206,7 +210,7 @@ module.exports = { tryGetCwd, evalModule, evalScript, - fatalException: createFatalException(), + onGlobalUncaughtException: createOnGlobalUncaughtException(), setUncaughtExceptionCaptureCallback, hasUncaughtExceptionCaptureCallback }; diff --git a/lib/internal/process/promises.js b/lib/internal/process/promises.js index 9814f9b51a3a3f..ee54594ba3c66b 100644 --- a/lib/internal/process/promises.js +++ b/lib/internal/process/promises.js @@ -2,9 +2,6 @@ const { Object } = primordials; -const { - safeToString -} = internalBinding('util'); const { tickInfo, promiseRejectEvents: { @@ -13,10 +10,14 @@ const { kPromiseResolveAfterResolved, kPromiseRejectAfterResolved }, - setPromiseRejectCallback, - triggerFatalException + setPromiseRejectCallback } = internalBinding('task_queue'); +const { + noSideEffectsToString, + triggerUncaughtException +} = internalBinding('errors'); + // *Must* match Environment::TickInfo::Fields in src/env.h. const kHasRejectionToWarn = 1; @@ -127,7 +128,7 @@ function handledRejection(promise) { const unhandledRejectionErrName = 'UnhandledPromiseRejectionWarning'; function emitUnhandledRejectionWarning(uid, reason) { - const warning = getError( + const warning = getErrorWithoutStack( unhandledRejectionErrName, 'Unhandled promise rejection. This error originated either by ' + 'throwing inside of an async function without a catch block, ' + @@ -139,7 +140,8 @@ function emitUnhandledRejectionWarning(uid, reason) { warning.stack = reason.stack; process.emitWarning(reason.stack, unhandledRejectionErrName); } else { - process.emitWarning(safeToString(reason), unhandledRejectionErrName); + process.emitWarning( + noSideEffectsToString(reason), unhandledRejectionErrName); } } catch {} @@ -179,7 +181,9 @@ function processPromiseRejections() { const { reason, uid } = promiseInfo; switch (unhandledRejectionsMode) { case kThrowUnhandledRejections: { - fatalException(reason); + const err = reason instanceof Error ? + reason : generateUnhandledRejectionError(reason); + triggerUncaughtException(err, true /* fromPromise */); const handled = process.emit('unhandledRejection', reason, promise); if (!handled) emitUnhandledRejectionWarning(uid, reason); break; @@ -209,7 +213,7 @@ function processPromiseRejections() { pendingUnhandledRejections.length !== 0; } -function getError(name, message) { +function getErrorWithoutStack(name, message) { // Reset the stack to prevent any overhead. const tmp = Error.stackTraceLimit; Error.stackTraceLimit = 0; @@ -225,21 +229,17 @@ function getError(name, message) { return err; } -function fatalException(reason) { - let err; - if (reason instanceof Error) { - err = reason; - } else { - err = getError( - 'UnhandledPromiseRejection', - 'This error originated either by ' + - 'throwing inside of an async function without a catch block, ' + - 'or by rejecting a promise which was not handled with .catch().' + - ` The promise rejected with the reason "${safeToString(reason)}".` - ); - err.code = 'ERR_UNHANDLED_REJECTION'; - } - triggerFatalException(err, true /* fromPromise */); +function generateUnhandledRejectionError(reason) { + const message = + 'This error originated either by ' + + 'throwing inside of an async function without a catch block, ' + + 'or by rejecting a promise which was not handled with .catch().' + + ' The promise rejected with the reason ' + + `"${noSideEffectsToString(reason)}".`; + + const err = getErrorWithoutStack('UnhandledPromiseRejection', message); + err.code = 'ERR_UNHANDLED_REJECTION'; + return err; } function listenForRejections() { diff --git a/lib/internal/process/task_queues.js b/lib/internal/process/task_queues.js index 34e925aaf57d08..68b5d8b343d206 100644 --- a/lib/internal/process/task_queues.js +++ b/lib/internal/process/task_queues.js @@ -9,10 +9,13 @@ const { // Used to run V8's micro task queue. runMicrotasks, setTickCallback, - enqueueMicrotask, - triggerFatalException + enqueueMicrotask } = internalBinding('task_queue'); +const { + triggerUncaughtException +} = internalBinding('errors'); + const { setHasRejectionToWarn, hasRejectionToWarn, @@ -143,11 +146,9 @@ function runMicrotask() { try { callback(); } catch (error) { - // TODO(devsnek): Remove this if - // https://bugs.chromium.org/p/v8/issues/detail?id=8326 - // is resolved such that V8 triggers the fatal exception - // handler for microtasks. - triggerFatalException(error, false /* fromPromise */); + // runInAsyncScope() swallows the error so we need to catch + // it and handle it here. + triggerUncaughtException(error, false /* fromPromise */); } finally { this.emitDestroy(); } diff --git a/src/api/exceptions.cc b/src/api/exceptions.cc index ee5ea984eb23c5..1632574c6b1b9c 100644 --- a/src/api/exceptions.cc +++ b/src/api/exceptions.cc @@ -244,17 +244,12 @@ Local WinapiErrnoException(Isolate* isolate, } #endif +// Implement the legacy name exposed in node.h. This has not been in fact +// fatal any more, as the user can handle the exception in the +// TryCatch by listening to `uncaughtException`. +// TODO(joyeecheung): deprecate it in favor of a more accurate name. void FatalException(Isolate* isolate, const v8::TryCatch& try_catch) { - // If we try to print out a termination exception, we'd just get 'null', - // so just crashing here with that information seems like a better idea, - // and in particular it seems like we should handle terminations at the call - // site for this function rather than by printing them out somewhere. - CHECK(!try_catch.HasTerminated()); - - HandleScope scope(isolate); - if (!try_catch.IsVerbose()) { - FatalException(isolate, try_catch.Exception(), try_catch.Message()); - } + errors::TriggerUncaughtException(isolate, try_catch); } } // namespace node diff --git a/src/env.cc b/src/env.cc index 9a251a93069742..df59eaaa94928f 100644 --- a/src/env.cc +++ b/src/env.cc @@ -666,7 +666,7 @@ void Environment::RunAndClearNativeImmediates() { ref_count++; if (UNLIKELY(try_catch.HasCaught())) { if (!try_catch.HasTerminated()) - FatalException(isolate(), try_catch); + errors::TriggerUncaughtException(isolate(), try_catch); // We are done with the current callback. Increase the counter so that // the steps below make everything *after* the current item part of diff --git a/src/js_stream.cc b/src/js_stream.cc index 2663106ba7af51..23bdb9b4892512 100644 --- a/src/js_stream.cc +++ b/src/js_stream.cc @@ -49,7 +49,7 @@ bool JSStream::IsClosing() { Local value; if (!MakeCallback(env()->isclosing_string(), 0, nullptr).ToLocal(&value)) { if (try_catch.HasCaught() && !try_catch.HasTerminated()) - FatalException(env()->isolate(), try_catch); + errors::TriggerUncaughtException(env()->isolate(), try_catch); return true; } return value->IsTrue(); @@ -65,7 +65,7 @@ int JSStream::ReadStart() { if (!MakeCallback(env()->onreadstart_string(), 0, nullptr).ToLocal(&value) || !value->Int32Value(env()->context()).To(&value_int)) { if (try_catch.HasCaught() && !try_catch.HasTerminated()) - FatalException(env()->isolate(), try_catch); + errors::TriggerUncaughtException(env()->isolate(), try_catch); } return value_int; } @@ -80,7 +80,7 @@ int JSStream::ReadStop() { if (!MakeCallback(env()->onreadstop_string(), 0, nullptr).ToLocal(&value) || !value->Int32Value(env()->context()).To(&value_int)) { if (try_catch.HasCaught() && !try_catch.HasTerminated()) - FatalException(env()->isolate(), try_catch); + errors::TriggerUncaughtException(env()->isolate(), try_catch); } return value_int; } @@ -102,7 +102,7 @@ int JSStream::DoShutdown(ShutdownWrap* req_wrap) { argv).ToLocal(&value) || !value->Int32Value(env()->context()).To(&value_int)) { if (try_catch.HasCaught() && !try_catch.HasTerminated()) - FatalException(env()->isolate(), try_catch); + errors::TriggerUncaughtException(env()->isolate(), try_catch); } return value_int; } @@ -137,7 +137,7 @@ int JSStream::DoWrite(WriteWrap* w, argv).ToLocal(&value) || !value->Int32Value(env()->context()).To(&value_int)) { if (try_catch.HasCaught() && !try_catch.HasTerminated()) - FatalException(env()->isolate(), try_catch); + errors::TriggerUncaughtException(env()->isolate(), try_catch); } return value_int; } diff --git a/src/node.cc b/src/node.cc index c74dd91abefb75..8faac1212be2ad 100644 --- a/src/node.cc +++ b/src/node.cc @@ -121,7 +121,6 @@ using options_parser::kDisallowedInEnvironment; using v8::Boolean; using v8::EscapableHandleScope; -using v8::Exception; using v8::Function; using v8::FunctionCallbackInfo; using v8::HandleScope; @@ -212,10 +211,9 @@ MaybeLocal ExecuteBootstrapper(Environment* env, arguments->size(), arguments->data()); - // If there was an error during bootstrap then it was either handled by the - // FatalException handler or it's unrecoverable (e.g. max call stack - // exceeded). Either way, clear the stack so that the AsyncCallbackScope - // destructor doesn't fail on the id check. + // If there was an error during bootstrap, it must be unrecoverable + // (e.g. max call stack exceeded). Clear the stack so that the + // AsyncCallbackScope destructor doesn't fail on the id check. // There are only two ways to have a stack size > 1: 1) the user manually // called MakeCallback or 2) user awaited during bootstrap, which triggered // _tickCallback(). diff --git a/src/node_api.cc b/src/node_api.cc index c4d86342868e7f..3aab7a225777c6 100644 --- a/src/node_api.cc +++ b/src/node_api.cc @@ -115,7 +115,7 @@ static inline void trigger_fatal_exception( napi_env env, v8::Local local_err) { v8::Local local_msg = v8::Exception::CreateMessage(env->isolate, local_err); - node::FatalException(env->isolate, local_err, local_msg); + node::errors::TriggerUncaughtException(env->isolate, local_err, local_msg); } class ThreadSafeFunction : public node::AsyncResource { diff --git a/src/node_contextify.cc b/src/node_contextify.cc index ee5a9db574f0f9..70c63a0d8a3ec1 100644 --- a/src/node_contextify.cc +++ b/src/node_contextify.cc @@ -734,7 +734,7 @@ void ContextifyScript::New(const FunctionCallbackInfo& args) { compile_options); if (v8_script.IsEmpty()) { - DecorateErrorStack(env, try_catch); + errors::DecorateErrorStack(env, try_catch); no_abort_scope.Close(); if (!try_catch.HasTerminated()) try_catch.ReThrow(); @@ -946,7 +946,7 @@ bool ContextifyScript::EvalMachine(Environment* env, if (try_catch.HasCaught()) { if (!timed_out && !received_signal && display_errors) { // We should decorate non-termination exceptions - DecorateErrorStack(env, try_catch); + errors::DecorateErrorStack(env, try_catch); } // If there was an exception thrown during script execution, re-throw it. @@ -1110,7 +1110,7 @@ void ContextifyContext::CompileFunction( if (maybe_fn.IsEmpty()) { if (try_catch.HasCaught() && !try_catch.HasTerminated()) { - DecorateErrorStack(env, try_catch); + errors::DecorateErrorStack(env, try_catch); try_catch.ReThrow(); } return; diff --git a/src/node_errors.cc b/src/node_errors.cc index 50469b09a8a151..f89b1472101c70 100644 --- a/src/node_errors.cc +++ b/src/node_errors.cc @@ -343,10 +343,6 @@ void ReportException(Environment* env, #endif } -void ReportException(Environment* env, const v8::TryCatch& try_catch) { - ReportException(env, try_catch.Exception(), try_catch.Message()); -} - void PrintErrorString(const char* format, ...) { va_list ap; va_start(ap, format); @@ -764,7 +760,7 @@ void PerIsolateMessageListener(Local message, Local error) { break; } case Isolate::MessageErrorLevel::kMessageError: - FatalException(isolate, error, message); + TriggerUncaughtException(isolate, error, message); break; } } @@ -775,6 +771,27 @@ void SetPrepareStackTraceCallback(const FunctionCallbackInfo& args) { env->set_prepare_stack_trace_callback(args[0].As()); } +// Side effect-free stringification that will never throw exceptions. +static void NoSideEffectsToString(const FunctionCallbackInfo& args) { + Local context = args.GetIsolate()->GetCurrentContext(); + Local detail_string; + if (args[0]->ToDetailString(context).ToLocal(&detail_string)) + args.GetReturnValue().Set(detail_string); +} + +static void TriggerUncaughtException(const FunctionCallbackInfo& args) { + Isolate* isolate = args.GetIsolate(); + Environment* env = Environment::GetCurrent(isolate); + Local exception = args[0]; + Local message = Exception::CreateMessage(isolate, exception); + if (env != nullptr && env->abort_on_uncaught_exception()) { + ReportException(env, exception, message); + Abort(); + } + bool from_promise = args[1]->IsTrue(); + errors::TriggerUncaughtException(isolate, exception, message, from_promise); +} + void Initialize(Local target, Local unused, Local context, @@ -782,10 +799,11 @@ void Initialize(Local target, Environment* env = Environment::GetCurrent(context); env->SetMethod( target, "setPrepareStackTraceCallback", SetPrepareStackTraceCallback); + env->SetMethodNoSideEffect( + target, "noSideEffectsToString", NoSideEffectsToString); + env->SetMethod(target, "triggerUncaughtException", TriggerUncaughtException); } -} // namespace errors - void DecorateErrorStack(Environment* env, const errors::TryCatchScope& try_catch) { Local exception = try_catch.Exception(); @@ -822,10 +840,10 @@ void DecorateErrorStack(Environment* env, env->context(), env->decorated_private_symbol(), True(env->isolate())); } -void FatalException(Isolate* isolate, - Local error, - Local message, - bool from_promise) { +void TriggerUncaughtException(Isolate* isolate, + Local error, + Local message, + bool from_promise) { CHECK(!error.IsEmpty()); HandleScope scope(isolate); @@ -843,59 +861,95 @@ void FatalException(Isolate* isolate, Abort(); } + // Invoke process._fatalException() to give user a chance to handle it. + // We have to grab it from the process object since this has been + // monkey-patchable. Local process_object = env->process_object(); Local fatal_exception_string = env->fatal_exception_string(); Local fatal_exception_function = process_object->Get(env->context(), fatal_exception_string).ToLocalChecked(); - + // If the exception happens before process._fatalException is attached + // during bootstrap, or if the user has patched it incorrectly, exit + // the current Node.js instance. if (!fatal_exception_function->IsFunction()) { - // Failed before the process._fatalException function was added! - // this is probably pretty bad. Nothing to do but report and exit. ReportException(env, error, message); env->Exit(6); - } else { - errors::TryCatchScope fatal_try_catch(env); - - // Do not call FatalException when _fatalException handler throws - fatal_try_catch.SetVerbose(false); + return; + } + MaybeLocal handled; + { + // We do not expect the global uncaught exception itself to throw any more + // exceptions. If it does, exit the current Node.js instance. + errors::TryCatchScope try_catch(env, + errors::TryCatchScope::CatchMode::kFatal); + // Explicitly disable verbose exception reporting - + // if process._fatalException() throws an error, we don't want it to + // trigger the per-isolate message listener which will call this + // function and recurse. + try_catch.SetVerbose(false); Local argv[2] = { error, Boolean::New(env->isolate(), from_promise) }; - // This will return true if the JS layer handled it, false otherwise - MaybeLocal caught = fatal_exception_function.As()->Call( + handled = fatal_exception_function.As()->Call( env->context(), process_object, arraysize(argv), argv); + } - if (fatal_try_catch.HasTerminated()) return; - - if (fatal_try_catch.HasCaught()) { - // The fatal exception function threw, so we must exit - ReportException(env, fatal_try_catch); - env->Exit(7); + // If process._fatalException() throws, we are now exiting the Node.js + // instance so return to continue the exit routine. + // TODO(joyeecheung): return a Maybe here to prevent the caller from + // stepping on the exit. + if (handled.IsEmpty()) { + return; + } - } else if (caught.ToLocalChecked()->IsFalse()) { - ReportException(env, error, message); + // The global uncaught exception handler returns true if the user handles it + // by e.g. listening to `uncaughtException`. In that case, continue program + // execution. + // TODO(joyeecheung): This has been only checking that the return value is + // exactly false. Investigate whether this can be turned to an "if true" + // similar to how the worker global uncaught exception handler handles it. + if (!handled.ToLocalChecked()->IsFalse()) { + return; + } - // fatal_exception_function call before may have set a new exit code -> - // read it again, otherwise use default for uncaughtException 1 - Local exit_code = env->exit_code_string(); - Local code; - if (!process_object->Get(env->context(), exit_code).ToLocal(&code) || - !code->IsInt32()) { - env->Exit(1); - } - env->Exit(code.As()->Value()); - } + ReportException(env, error, message); + // If the global uncaught exception handler sets process.exitCode, + // exit with that code. Otherwise, exit with 1. + Local exit_code = env->exit_code_string(); + Local code; + if (process_object->Get(env->context(), exit_code).ToLocal(&code) && + code->IsInt32()) { + env->Exit(code.As()->Value()); + } else { + env->Exit(1); } } -void FatalException(Isolate* isolate, - Local error, - Local message) { - FatalException(isolate, error, message, false /* from_promise */); +void TriggerUncaughtException(Isolate* isolate, const v8::TryCatch& try_catch) { + // If the try_catch is verbose, the per-isolate message listener is going to + // handle it (which is going to call into another overload of + // TriggerUncaughtException()). + if (try_catch.IsVerbose()) { + return; + } + + // If the user calls TryCatch::TerminateExecution() on this TryCatch + // they must call CancelTerminateExecution() again before invoking + // TriggerUncaughtException() because it will invoke + // process._fatalException() in the JS land. + CHECK(!try_catch.HasTerminated()); + CHECK(try_catch.HasCaught()); + HandleScope scope(isolate); + TriggerUncaughtException(isolate, + try_catch.Exception(), + try_catch.Message(), + false /* from_promise */); } +} // namespace errors + } // namespace node NODE_MODULE_CONTEXT_AWARE_INTERNAL(errors, node::errors::Initialize) diff --git a/src/node_errors.h b/src/node_errors.h index 689911f9963a55..939f93a4899f59 100644 --- a/src/node_errors.h +++ b/src/node_errors.h @@ -29,21 +29,6 @@ void OnFatalError(const char* location, const char* message); void PrintErrorString(const char* format, ...); -void ReportException(Environment* env, const v8::TryCatch& try_catch); - -void ReportException(Environment* env, - Local er, - Local message); - -void FatalException(v8::Isolate* isolate, - Local error, - Local message); - -void FatalException(v8::Isolate* isolate, - Local error, - Local message, - bool from_promise); - // Helpers to construct errors similar to the ones provided by // lib/internal/errors.js. // Example: with `V(ERR_INVALID_ARG_TYPE, TypeError)`, there will be @@ -190,14 +175,24 @@ class TryCatchScope : public v8::TryCatch { CatchMode mode_; }; +// Trigger the global uncaught exception handler `process._fatalException` +// in JS land (which emits the 'uncaughtException' event). If that returns +// true, continue program execution, otherwise exit the process. +void TriggerUncaughtException(v8::Isolate* isolate, + const v8::TryCatch& try_catch); +void TriggerUncaughtException(v8::Isolate* isolate, + Local error, + Local message, + bool from_promise = false); + const char* errno_string(int errorno); void PerIsolateMessageListener(v8::Local message, v8::Local error); -} // namespace errors - void DecorateErrorStack(Environment* env, const errors::TryCatchScope& try_catch); +} // namespace errors + } // namespace node #endif // defined(NODE_WANT_INTERNALS) && NODE_WANT_INTERNALS diff --git a/src/node_task_queue.cc b/src/node_task_queue.cc index a277b8bd2abb92..e6b4d0b8e211cd 100644 --- a/src/node_task_queue.cc +++ b/src/node_task_queue.cc @@ -12,7 +12,6 @@ namespace node { using v8::Array; using v8::Context; -using v8::Exception; using v8::Function; using v8::FunctionCallbackInfo; using v8::Isolate; @@ -123,19 +122,6 @@ static void SetPromiseRejectCallback( env->set_promise_reject_callback(args[0].As()); } -static void TriggerFatalException(const FunctionCallbackInfo& args) { - Isolate* isolate = args.GetIsolate(); - Environment* env = Environment::GetCurrent(isolate); - Local exception = args[0]; - Local message = Exception::CreateMessage(isolate, exception); - if (env != nullptr && env->abort_on_uncaught_exception()) { - ReportException(env, exception, message); - Abort(); - } - bool from_promise = args[1]->IsTrue(); - FatalException(isolate, exception, message, from_promise); -} - static void Initialize(Local target, Local unused, Local context, @@ -143,7 +129,6 @@ static void Initialize(Local target, Environment* env = Environment::GetCurrent(context); Isolate* isolate = env->isolate(); - env->SetMethod(target, "triggerFatalException", TriggerFatalException); env->SetMethod(target, "enqueueMicrotask", EnqueueMicrotask); env->SetMethod(target, "setTickCallback", SetTickCallback); env->SetMethod(target, "runMicrotasks", RunMicrotasks); diff --git a/src/node_util.cc b/src/node_util.cc index ab54c84379de84..518865fe53689d 100644 --- a/src/node_util.cc +++ b/src/node_util.cc @@ -123,14 +123,6 @@ static void PreviewEntries(const FunctionCallbackInfo& args) { Array::New(env->isolate(), ret, arraysize(ret))); } -// Side effect-free stringification that will never throw exceptions. -static void SafeToString(const FunctionCallbackInfo& args) { - Local context = args.GetIsolate()->GetCurrentContext(); - Local detail_string; - if (args[0]->ToDetailString(context).ToLocal(&detail_string)) - args.GetReturnValue().Set(detail_string); -} - inline Local IndexToPrivateSymbol(Environment* env, uint32_t index) { #define V(name, _) &Environment::name, static Local (Environment::*const methods[])() const = { @@ -270,7 +262,6 @@ void Initialize(Local target, env->SetMethod(target, "setHiddenValue", SetHiddenValue); env->SetMethodNoSideEffect(target, "getPromiseDetails", GetPromiseDetails); env->SetMethodNoSideEffect(target, "getProxyDetails", GetProxyDetails); - env->SetMethodNoSideEffect(target, "safeToString", SafeToString); env->SetMethodNoSideEffect(target, "previewEntries", PreviewEntries); env->SetMethodNoSideEffect(target, "getOwnNonIndexProperties", GetOwnNonIndexProperties); From 72f52a330bea6d4d2179d306f72f7c11c5fcb050 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Sun, 16 Jun 2019 23:11:51 -0400 Subject: [PATCH 016/144] test: add Worker + uncaughtException + process.exit() test PR-URL: https://github.com/nodejs/node/pull/28259 Reviewed-By: Gireesh Punathil Reviewed-By: Rich Trott Reviewed-By: Joyee Cheung Reviewed-By: Franziska Hinkelmann --- ...est-worker-exit-from-uncaught-exception.js | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 test/parallel/test-worker-exit-from-uncaught-exception.js diff --git a/test/parallel/test-worker-exit-from-uncaught-exception.js b/test/parallel/test-worker-exit-from-uncaught-exception.js new file mode 100644 index 00000000000000..b9f8aeee97d3fe --- /dev/null +++ b/test/parallel/test-worker-exit-from-uncaught-exception.js @@ -0,0 +1,23 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); +const { Worker } = require('worker_threads'); + +// Check that `process.exit()` can be called inside a Worker from an uncaught +// exception handler. + +// Do not use isMainThread so that this test itself can be run inside a Worker. +if (!process.env.HAS_STARTED_WORKER) { + process.env.HAS_STARTED_WORKER = 1; + const w = new Worker(__filename); + w.on('exit', common.mustCall((code) => { + assert.strictEqual(code, 42); + })); + return; +} + +process.on('uncaughtException', () => { + process.exit(42); +}); + +throw new Error(); From 359e20f04882c6ccb75256850538db9eefdc6ac9 Mon Sep 17 00:00:00 2001 From: Robert Nagy Date: Mon, 17 Jun 2019 06:26:52 -0200 Subject: [PATCH 017/144] doc: clarify when http emits aborted event PR-URL: https://github.com/nodejs/node/pull/28262 Refs: https://github.com/nodejs/node/issues/28172 Reviewed-By: Rich Trott Reviewed-By: Trivikram Kamat Reviewed-By: Franziska Hinkelmann Reviewed-By: Ruben Bridgewater --- doc/api/http.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/api/http.md b/doc/api/http.md index da0de7c1e68603..a19e09150eee03 100644 --- a/doc/api/http.md +++ b/doc/api/http.md @@ -318,6 +318,10 @@ Until the data is consumed, the `'end'` event will not fire. Also, until the data is read it will consume memory that can eventually lead to a 'process out of memory' error. +Unlike the `request` object, if the response closes prematurely, the +`response` object does not emit an `'error'` event but instead emits the +`'aborted'` event. + Node.js does not check whether Content-Length and the length of the body which has been transmitted are equal or not. From 424d91aacbee399e520c533ac4ea540a69a5f356 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Mon, 17 Jun 2019 15:01:02 -0700 Subject: [PATCH 018/144] test: add logging to statwatcher test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs: https://github.com/nodejs/node/issues/21425#issuecomment-502667718 PR-URL: https://github.com/nodejs/node/pull/28270 Reviewed-By: Ruben Bridgewater Reviewed-By: Refael Ackermann (רפאל פלחי) Reviewed-By: Anna Henningsen --- test/async-hooks/test-statwatcher.js | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/test/async-hooks/test-statwatcher.js b/test/async-hooks/test-statwatcher.js index 1349fa87e6f511..48d7b0b22eedff 100644 --- a/test/async-hooks/test-statwatcher.js +++ b/test/async-hooks/test-statwatcher.js @@ -21,9 +21,13 @@ fs.writeFileSync(file2, 'bar'); const hooks = initHooks(); hooks.enable(); -function onchange() {} +function onchange1(curr, prev) { + console.log('Watcher: w1'); + console.log('current stat data:', curr); + console.log('previous stat data:', prev); +} // Install first file watcher -const w1 = fs.watchFile(file1, { interval: 10 }, onchange); +const w1 = fs.watchFile(file1, { interval: 10 }, onchange1); let as = hooks.activitiesOfTypes('STATWATCHER'); assert.strictEqual(as.length, 1); @@ -35,8 +39,14 @@ assert.strictEqual(statwatcher1.triggerAsyncId, 1); checkInvocations(statwatcher1, { init: 1 }, 'watcher1: when started to watch file'); +function onchange2(curr, prev) { + console.log('Watcher: w2'); + console.log('current stat data:', curr); + console.log('previous stat data:', prev); +} + // Install second file watcher -const w2 = fs.watchFile(file2, { interval: 10 }, onchange); +const w2 = fs.watchFile(file2, { interval: 10 }, onchange2); as = hooks.activitiesOfTypes('STATWATCHER'); assert.strictEqual(as.length, 2); @@ -51,7 +61,8 @@ checkInvocations(statwatcher2, { init: 1 }, setTimeout(() => fs.writeFileSync(file1, 'foo++'), common.platformTimeout(100)); -w1.once('change', common.mustCall(() => { +w1.once('change', common.mustCall((curr, prev) => { + console.log('w1 change', curr, prev); setImmediate(() => { checkInvocations(statwatcher1, { init: 1, before: 1, after: 1 }, 'watcher1: when unwatched first file'); @@ -60,7 +71,8 @@ w1.once('change', common.mustCall(() => { setTimeout(() => fs.writeFileSync(file2, 'bar++'), common.platformTimeout(100)); - w2.once('change', common.mustCall(() => { + w2.once('change', common.mustCall((curr, prev) => { + console.log('w2 change', curr, prev); setImmediate(() => { checkInvocations(statwatcher1, { init: 1, before: 1, after: 1 }, 'watcher1: when unwatched second file'); From dd53e6aa7fc9385be9bd91a4cad8c43a431bf589 Mon Sep 17 00:00:00 2001 From: ZYSzys Date: Mon, 17 Jun 2019 22:38:43 +0800 Subject: [PATCH 019/144] tools: update babel-eslint to 10.0.2 PR-URL: https://github.com/nodejs/node/pull/28266 Refs: https://github.com/babel/babel-eslint/releases/tag/v10.0.2 Reviewed-By: Ruben Bridgewater Reviewed-By: Trivikram Kamat Reviewed-By: Franziska Hinkelmann Reviewed-By: Rich Trott Reviewed-By: Colin Ihrig --- .../babel-eslint/lib/analyze-scope.js | 5 - .../@babel/generator/lib/node/index.js | 117 ++++++++ .../@babel/generator/lib/node/parentheses.js | 253 ++++++++++++++++++ .../@babel/generator/lib/node/whitespace.js | 192 +++++++++++++ .../babel-eslint/node_modules/ms/index.js | 4 +- .../babel-eslint/node_modules/ms/package.json | 2 +- .../babel-eslint/node_modules/ms/readme.md | 2 +- tools/node_modules/babel-eslint/package.json | 2 +- 8 files changed, 567 insertions(+), 10 deletions(-) create mode 100644 tools/node_modules/babel-eslint/node_modules/@babel/generator/lib/node/index.js create mode 100644 tools/node_modules/babel-eslint/node_modules/@babel/generator/lib/node/parentheses.js create mode 100644 tools/node_modules/babel-eslint/node_modules/@babel/generator/lib/node/whitespace.js diff --git a/tools/node_modules/babel-eslint/lib/analyze-scope.js b/tools/node_modules/babel-eslint/lib/analyze-scope.js index 9b2a40d6dbf4f0..05b470b1b10b6c 100644 --- a/tools/node_modules/babel-eslint/lib/analyze-scope.js +++ b/tools/node_modules/babel-eslint/lib/analyze-scope.js @@ -327,11 +327,6 @@ module.exports = function(ast, parserOptions) { fallback, }; - if (OriginalReferencer._babelEslintPatched) { - require("./patch-eslint-scope")(parserOptions); - return escope.analyze(ast, options); - } - options.childVisitorKeys = childVisitorKeys; const scopeManager = new escope.ScopeManager(options); diff --git a/tools/node_modules/babel-eslint/node_modules/@babel/generator/lib/node/index.js b/tools/node_modules/babel-eslint/node_modules/@babel/generator/lib/node/index.js new file mode 100644 index 00000000000000..bef46f0eede721 --- /dev/null +++ b/tools/node_modules/babel-eslint/node_modules/@babel/generator/lib/node/index.js @@ -0,0 +1,117 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.needsWhitespace = needsWhitespace; +exports.needsWhitespaceBefore = needsWhitespaceBefore; +exports.needsWhitespaceAfter = needsWhitespaceAfter; +exports.needsParens = needsParens; + +var whitespace = _interopRequireWildcard(require("./whitespace")); + +var parens = _interopRequireWildcard(require("./parentheses")); + +function t() { + const data = _interopRequireWildcard(require("@babel/types")); + + t = function () { + return data; + }; + + return data; +} + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } + +function expandAliases(obj) { + const newObj = {}; + + function add(type, func) { + const fn = newObj[type]; + newObj[type] = fn ? function (node, parent, stack) { + const result = fn(node, parent, stack); + return result == null ? func(node, parent, stack) : result; + } : func; + } + + for (const type of Object.keys(obj)) { + const aliases = t().FLIPPED_ALIAS_KEYS[type]; + + if (aliases) { + for (const alias of aliases) { + add(alias, obj[type]); + } + } else { + add(type, obj[type]); + } + } + + return newObj; +} + +const expandedParens = expandAliases(parens); +const expandedWhitespaceNodes = expandAliases(whitespace.nodes); +const expandedWhitespaceList = expandAliases(whitespace.list); + +function find(obj, node, parent, printStack) { + const fn = obj[node.type]; + return fn ? fn(node, parent, printStack) : null; +} + +function isOrHasCallExpression(node) { + if (t().isCallExpression(node)) { + return true; + } + + if (t().isMemberExpression(node)) { + return isOrHasCallExpression(node.object) || !node.computed && isOrHasCallExpression(node.property); + } else { + return false; + } +} + +function needsWhitespace(node, parent, type) { + if (!node) return 0; + + if (t().isExpressionStatement(node)) { + node = node.expression; + } + + let linesInfo = find(expandedWhitespaceNodes, node, parent); + + if (!linesInfo) { + const items = find(expandedWhitespaceList, node, parent); + + if (items) { + for (let i = 0; i < items.length; i++) { + linesInfo = needsWhitespace(items[i], node, type); + if (linesInfo) break; + } + } + } + + if (typeof linesInfo === "object" && linesInfo !== null) { + return linesInfo[type] || 0; + } + + return 0; +} + +function needsWhitespaceBefore(node, parent) { + return needsWhitespace(node, parent, "before"); +} + +function needsWhitespaceAfter(node, parent) { + return needsWhitespace(node, parent, "after"); +} + +function needsParens(node, parent, printStack) { + if (!parent) return false; + + if (t().isNewExpression(parent) && parent.callee === node) { + if (isOrHasCallExpression(node)) return true; + } + + return find(expandedParens, node, parent, printStack); +} \ No newline at end of file diff --git a/tools/node_modules/babel-eslint/node_modules/@babel/generator/lib/node/parentheses.js b/tools/node_modules/babel-eslint/node_modules/@babel/generator/lib/node/parentheses.js new file mode 100644 index 00000000000000..3f98dc18f8e3ab --- /dev/null +++ b/tools/node_modules/babel-eslint/node_modules/@babel/generator/lib/node/parentheses.js @@ -0,0 +1,253 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.NullableTypeAnnotation = NullableTypeAnnotation; +exports.FunctionTypeAnnotation = FunctionTypeAnnotation; +exports.UpdateExpression = UpdateExpression; +exports.ObjectExpression = ObjectExpression; +exports.DoExpression = DoExpression; +exports.Binary = Binary; +exports.IntersectionTypeAnnotation = exports.UnionTypeAnnotation = UnionTypeAnnotation; +exports.TSAsExpression = TSAsExpression; +exports.TSTypeAssertion = TSTypeAssertion; +exports.TSIntersectionType = exports.TSUnionType = TSUnionType; +exports.BinaryExpression = BinaryExpression; +exports.SequenceExpression = SequenceExpression; +exports.AwaitExpression = exports.YieldExpression = YieldExpression; +exports.ClassExpression = ClassExpression; +exports.UnaryLike = UnaryLike; +exports.FunctionExpression = FunctionExpression; +exports.ArrowFunctionExpression = ArrowFunctionExpression; +exports.ConditionalExpression = ConditionalExpression; +exports.OptionalMemberExpression = OptionalMemberExpression; +exports.AssignmentExpression = AssignmentExpression; +exports.NewExpression = NewExpression; + +function t() { + const data = _interopRequireWildcard(require("@babel/types")); + + t = function () { + return data; + }; + + return data; +} + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } + +const PRECEDENCE = { + "||": 0, + "&&": 1, + "|": 2, + "^": 3, + "&": 4, + "==": 5, + "===": 5, + "!=": 5, + "!==": 5, + "<": 6, + ">": 6, + "<=": 6, + ">=": 6, + in: 6, + instanceof: 6, + ">>": 7, + "<<": 7, + ">>>": 7, + "+": 8, + "-": 8, + "*": 9, + "/": 9, + "%": 9, + "**": 10 +}; + +const isClassExtendsClause = (node, parent) => (t().isClassDeclaration(parent) || t().isClassExpression(parent)) && parent.superClass === node; + +function NullableTypeAnnotation(node, parent) { + return t().isArrayTypeAnnotation(parent); +} + +function FunctionTypeAnnotation(node, parent) { + return t().isUnionTypeAnnotation(parent) || t().isIntersectionTypeAnnotation(parent) || t().isArrayTypeAnnotation(parent); +} + +function UpdateExpression(node, parent) { + return t().isMemberExpression(parent, { + object: node + }) || t().isCallExpression(parent, { + callee: node + }) || t().isNewExpression(parent, { + callee: node + }) || isClassExtendsClause(node, parent); +} + +function ObjectExpression(node, parent, printStack) { + return isFirstInStatement(printStack, { + considerArrow: true + }); +} + +function DoExpression(node, parent, printStack) { + return isFirstInStatement(printStack); +} + +function Binary(node, parent) { + if (node.operator === "**" && t().isBinaryExpression(parent, { + operator: "**" + })) { + return parent.left === node; + } + + if (isClassExtendsClause(node, parent)) { + return true; + } + + if ((t().isCallExpression(parent) || t().isNewExpression(parent)) && parent.callee === node || t().isUnaryLike(parent) || t().isMemberExpression(parent) && parent.object === node || t().isAwaitExpression(parent)) { + return true; + } + + if (t().isBinary(parent)) { + const parentOp = parent.operator; + const parentPos = PRECEDENCE[parentOp]; + const nodeOp = node.operator; + const nodePos = PRECEDENCE[nodeOp]; + + if (parentPos === nodePos && parent.right === node && !t().isLogicalExpression(parent) || parentPos > nodePos) { + return true; + } + } + + return false; +} + +function UnionTypeAnnotation(node, parent) { + return t().isArrayTypeAnnotation(parent) || t().isNullableTypeAnnotation(parent) || t().isIntersectionTypeAnnotation(parent) || t().isUnionTypeAnnotation(parent); +} + +function TSAsExpression() { + return true; +} + +function TSTypeAssertion() { + return true; +} + +function TSUnionType(node, parent) { + return t().isTSArrayType(parent) || t().isTSOptionalType(parent) || t().isTSIntersectionType(parent) || t().isTSUnionType(parent) || t().isTSRestType(parent); +} + +function BinaryExpression(node, parent) { + return node.operator === "in" && (t().isVariableDeclarator(parent) || t().isFor(parent)); +} + +function SequenceExpression(node, parent) { + if (t().isForStatement(parent) || t().isThrowStatement(parent) || t().isReturnStatement(parent) || t().isIfStatement(parent) && parent.test === node || t().isWhileStatement(parent) && parent.test === node || t().isForInStatement(parent) && parent.right === node || t().isSwitchStatement(parent) && parent.discriminant === node || t().isExpressionStatement(parent) && parent.expression === node) { + return false; + } + + return true; +} + +function YieldExpression(node, parent) { + return t().isBinary(parent) || t().isUnaryLike(parent) || t().isCallExpression(parent) || t().isMemberExpression(parent) || t().isNewExpression(parent) || t().isAwaitExpression(parent) && t().isYieldExpression(node) || t().isConditionalExpression(parent) && node === parent.test || isClassExtendsClause(node, parent); +} + +function ClassExpression(node, parent, printStack) { + return isFirstInStatement(printStack, { + considerDefaultExports: true + }); +} + +function UnaryLike(node, parent) { + return t().isMemberExpression(parent, { + object: node + }) || t().isCallExpression(parent, { + callee: node + }) || t().isNewExpression(parent, { + callee: node + }) || t().isBinaryExpression(parent, { + operator: "**", + left: node + }) || isClassExtendsClause(node, parent); +} + +function FunctionExpression(node, parent, printStack) { + return isFirstInStatement(printStack, { + considerDefaultExports: true + }); +} + +function ArrowFunctionExpression(node, parent) { + return t().isExportDeclaration(parent) || ConditionalExpression(node, parent); +} + +function ConditionalExpression(node, parent) { + if (t().isUnaryLike(parent) || t().isBinary(parent) || t().isConditionalExpression(parent, { + test: node + }) || t().isAwaitExpression(parent) || t().isOptionalMemberExpression(parent) || t().isTaggedTemplateExpression(parent) || t().isTSTypeAssertion(parent) || t().isTSAsExpression(parent)) { + return true; + } + + return UnaryLike(node, parent); +} + +function OptionalMemberExpression(node, parent) { + return t().isCallExpression(parent) || t().isMemberExpression(parent); +} + +function AssignmentExpression(node) { + if (t().isObjectPattern(node.left)) { + return true; + } else { + return ConditionalExpression(...arguments); + } +} + +function NewExpression(node, parent) { + return isClassExtendsClause(node, parent); +} + +function isFirstInStatement(printStack, { + considerArrow = false, + considerDefaultExports = false +} = {}) { + let i = printStack.length - 1; + let node = printStack[i]; + i--; + let parent = printStack[i]; + + while (i > 0) { + if (t().isExpressionStatement(parent, { + expression: node + }) || t().isTaggedTemplateExpression(parent) || considerDefaultExports && t().isExportDefaultDeclaration(parent, { + declaration: node + }) || considerArrow && t().isArrowFunctionExpression(parent, { + body: node + })) { + return true; + } + + if (t().isCallExpression(parent, { + callee: node + }) || t().isSequenceExpression(parent) && parent.expressions[0] === node || t().isMemberExpression(parent, { + object: node + }) || t().isConditional(parent, { + test: node + }) || t().isBinary(parent, { + left: node + }) || t().isAssignmentExpression(parent, { + left: node + })) { + node = parent; + i--; + parent = printStack[i]; + } else { + return false; + } + } + + return false; +} \ No newline at end of file diff --git a/tools/node_modules/babel-eslint/node_modules/@babel/generator/lib/node/whitespace.js b/tools/node_modules/babel-eslint/node_modules/@babel/generator/lib/node/whitespace.js new file mode 100644 index 00000000000000..061218601cbbed --- /dev/null +++ b/tools/node_modules/babel-eslint/node_modules/@babel/generator/lib/node/whitespace.js @@ -0,0 +1,192 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.list = exports.nodes = void 0; + +function t() { + const data = _interopRequireWildcard(require("@babel/types")); + + t = function () { + return data; + }; + + return data; +} + +function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } + +function crawl(node, state = {}) { + if (t().isMemberExpression(node)) { + crawl(node.object, state); + if (node.computed) crawl(node.property, state); + } else if (t().isBinary(node) || t().isAssignmentExpression(node)) { + crawl(node.left, state); + crawl(node.right, state); + } else if (t().isCallExpression(node)) { + state.hasCall = true; + crawl(node.callee, state); + } else if (t().isFunction(node)) { + state.hasFunction = true; + } else if (t().isIdentifier(node)) { + state.hasHelper = state.hasHelper || isHelper(node.callee); + } + + return state; +} + +function isHelper(node) { + if (t().isMemberExpression(node)) { + return isHelper(node.object) || isHelper(node.property); + } else if (t().isIdentifier(node)) { + return node.name === "require" || node.name[0] === "_"; + } else if (t().isCallExpression(node)) { + return isHelper(node.callee); + } else if (t().isBinary(node) || t().isAssignmentExpression(node)) { + return t().isIdentifier(node.left) && isHelper(node.left) || isHelper(node.right); + } else { + return false; + } +} + +function isType(node) { + return t().isLiteral(node) || t().isObjectExpression(node) || t().isArrayExpression(node) || t().isIdentifier(node) || t().isMemberExpression(node); +} + +const nodes = { + AssignmentExpression(node) { + const state = crawl(node.right); + + if (state.hasCall && state.hasHelper || state.hasFunction) { + return { + before: state.hasFunction, + after: true + }; + } + }, + + SwitchCase(node, parent) { + return { + before: node.consequent.length || parent.cases[0] === node, + after: !node.consequent.length && parent.cases[parent.cases.length - 1] === node + }; + }, + + LogicalExpression(node) { + if (t().isFunction(node.left) || t().isFunction(node.right)) { + return { + after: true + }; + } + }, + + Literal(node) { + if (node.value === "use strict") { + return { + after: true + }; + } + }, + + CallExpression(node) { + if (t().isFunction(node.callee) || isHelper(node)) { + return { + before: true, + after: true + }; + } + }, + + VariableDeclaration(node) { + for (let i = 0; i < node.declarations.length; i++) { + const declar = node.declarations[i]; + let enabled = isHelper(declar.id) && !isType(declar.init); + + if (!enabled) { + const state = crawl(declar.init); + enabled = isHelper(declar.init) && state.hasCall || state.hasFunction; + } + + if (enabled) { + return { + before: true, + after: true + }; + } + } + }, + + IfStatement(node) { + if (t().isBlockStatement(node.consequent)) { + return { + before: true, + after: true + }; + } + } + +}; +exports.nodes = nodes; + +nodes.ObjectProperty = nodes.ObjectTypeProperty = nodes.ObjectMethod = function (node, parent) { + if (parent.properties[0] === node) { + return { + before: true + }; + } +}; + +nodes.ObjectTypeCallProperty = function (node, parent) { + if (parent.callProperties[0] === node && (!parent.properties || !parent.properties.length)) { + return { + before: true + }; + } +}; + +nodes.ObjectTypeIndexer = function (node, parent) { + if (parent.indexers[0] === node && (!parent.properties || !parent.properties.length) && (!parent.callProperties || !parent.callProperties.length)) { + return { + before: true + }; + } +}; + +nodes.ObjectTypeInternalSlot = function (node, parent) { + if (parent.internalSlots[0] === node && (!parent.properties || !parent.properties.length) && (!parent.callProperties || !parent.callProperties.length) && (!parent.indexers || !parent.indexers.length)) { + return { + before: true + }; + } +}; + +const list = { + VariableDeclaration(node) { + return node.declarations.map(decl => decl.init); + }, + + ArrayExpression(node) { + return node.elements; + }, + + ObjectExpression(node) { + return node.properties; + } + +}; +exports.list = list; +[["Function", true], ["Class", true], ["Loop", true], ["LabeledStatement", true], ["SwitchStatement", true], ["TryStatement", true]].forEach(function ([type, amounts]) { + if (typeof amounts === "boolean") { + amounts = { + after: amounts, + before: amounts + }; + } + + [type].concat(t().FLIPPED_ALIAS_KEYS[type] || []).forEach(function (type) { + nodes[type] = function () { + return amounts; + }; + }); +}); \ No newline at end of file diff --git a/tools/node_modules/babel-eslint/node_modules/ms/index.js b/tools/node_modules/babel-eslint/node_modules/ms/index.js index 72297501f9b9bb..c4498bcc212589 100644 --- a/tools/node_modules/babel-eslint/node_modules/ms/index.js +++ b/tools/node_modules/babel-eslint/node_modules/ms/index.js @@ -28,7 +28,7 @@ module.exports = function(val, options) { var type = typeof val; if (type === 'string' && val.length > 0) { return parse(val); - } else if (type === 'number' && isNaN(val) === false) { + } else if (type === 'number' && isFinite(val)) { return options.long ? fmtLong(val) : fmtShort(val); } throw new Error( @@ -50,7 +50,7 @@ function parse(str) { if (str.length > 100) { return; } - var match = /^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( str ); if (!match) { diff --git a/tools/node_modules/babel-eslint/node_modules/ms/package.json b/tools/node_modules/babel-eslint/node_modules/ms/package.json index c59290ffb9edea..7192a30c57c910 100644 --- a/tools/node_modules/babel-eslint/node_modules/ms/package.json +++ b/tools/node_modules/babel-eslint/node_modules/ms/package.json @@ -42,5 +42,5 @@ "precommit": "lint-staged", "test": "mocha tests.js" }, - "version": "2.1.1" + "version": "2.1.2" } \ No newline at end of file diff --git a/tools/node_modules/babel-eslint/node_modules/ms/readme.md b/tools/node_modules/babel-eslint/node_modules/ms/readme.md index bb767293ac740d..9a1996b17e0de6 100644 --- a/tools/node_modules/babel-eslint/node_modules/ms/readme.md +++ b/tools/node_modules/babel-eslint/node_modules/ms/readme.md @@ -1,7 +1,7 @@ # ms [![Build Status](https://travis-ci.org/zeit/ms.svg?branch=master)](https://travis-ci.org/zeit/ms) -[![Slack Channel](http://zeit-slackin.now.sh/badge.svg)](https://zeit.chat/) +[![Join the community on Spectrum](https://withspectrum.github.io/badge/badge.svg)](https://spectrum.chat/zeit) Use this package to easily convert various time formats to milliseconds. diff --git a/tools/node_modules/babel-eslint/package.json b/tools/node_modules/babel-eslint/package.json index 73a82acccd0fbc..296e9f51f410b1 100644 --- a/tools/node_modules/babel-eslint/package.json +++ b/tools/node_modules/babel-eslint/package.json @@ -63,5 +63,5 @@ "test": "npm run lint && npm run test-only", "test-only": "mocha && mocha --require test/fixtures/preprocess-to-patch.js" }, - "version": "10.0.1" + "version": "10.0.2" } \ No newline at end of file From c44db7fea595415c39e217f1c1cc593df1acffb6 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Wed, 19 Jun 2019 15:58:53 -0700 Subject: [PATCH 020/144] test: fix flaky test-worker-debug MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Address a race condition in the test; the Worker’s exit events may have been not recorded because the Worker exited before the listeners were attached. Fix the by attaching the event listeners before telling the Worker to exit. PR-URL: https://github.com/nodejs/node/pull/28307 Fixes: https://github.com/nodejs/node/issues/28299 Fixes: https://github.com/nodejs/node/issues/28106 Reviewed-By: Richard Lau Reviewed-By: Colin Ihrig Reviewed-By: Yongsheng Zhang --- test/parallel/parallel.status | 2 -- test/parallel/test-worker-debug.js | 10 ++++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/test/parallel/parallel.status b/test/parallel/parallel.status index 68a685395c43e4..3a70f6f03eb50f 100644 --- a/test/parallel/parallel.status +++ b/test/parallel/parallel.status @@ -21,8 +21,6 @@ test-worker-memory: PASS,FLAKY test-http2-client-upload: PASS,FLAKY # https://github.com/nodejs/node/issues/20750 test-http2-client-upload-reject: PASS,FLAKY -# https://github.com/nodejs/node/issues/28106 -test-worker-debug: PASS,FLAKY [$system==linux] diff --git a/test/parallel/test-worker-debug.js b/test/parallel/test-worker-debug.js index 2629af8cb32e37..1d7bb9bb185e66 100644 --- a/test/parallel/test-worker-debug.js +++ b/test/parallel/test-worker-debug.js @@ -240,11 +240,17 @@ async function testWaitForDisconnectInWorker(session, post) { }); await workerSession1.post('Runtime.runIfWaitingForDebugger'); + // Create the promises before sending the exit message to the Worker in order + // to avoid race conditions. + const disconnectPromise = + waitForEvent(workerSession1, 'NodeRuntime.waitingForDisconnect'); + const executionContextDestroyedPromise = + waitForEvent(workerSession2, 'Runtime.executionContextDestroyed'); worker.postMessage('resume'); - await waitForEvent(workerSession1, 'NodeRuntime.waitingForDisconnect'); + await disconnectPromise; post('NodeWorker.detach', { sessionId: sessionId1 }); - await waitForEvent(workerSession2, 'Runtime.executionContextDestroyed'); + await executionContextDestroyedPromise; await exitPromise; From 0856a4d0439c54cc042bc25c64bf762a48b889a0 Mon Sep 17 00:00:00 2001 From: gengjiawen Date: Thu, 20 Jun 2019 19:25:18 +0800 Subject: [PATCH 021/144] doc: add gengjiawen to collaborators PR-URL: https://github.com/nodejs/node/pull/28322 Reviewed-By: Gireesh Punathil Reviewed-By: Matteo Collina Reviewed-By: Yongsheng Zhang --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 370bb24c693dff..0efc6b30f04c37 100644 --- a/README.md +++ b/README.md @@ -300,6 +300,8 @@ For information about the governance of the Node.js project, see **George Adams** <george.adams@uk.ibm.com> (he/him) * [geek](https://github.com/geek) - **Wyatt Preul** <wpreul@gmail.com> +* [gengjiawen](https://github.com/gengjiawen) - +**Jiawen Geng** <technicalcute@gmail.com> * [gibfahn](https://github.com/gibfahn) - **Gibson Fahnestock** <gibfahn@gmail.com> (he/him) * [gireeshpunathil](https://github.com/gireeshpunathil) - From c14e4d5bd56de06f6fb521dd22260a95ad092fec Mon Sep 17 00:00:00 2001 From: = <=> Date: Thu, 13 Jun 2019 17:14:33 -0700 Subject: [PATCH 022/144] test: use .code for error in setgid When the 'nobody' user is missing use .code to detect this, its more robust than than the .message string. Refs: https://github.com/nodejs/node/issues/19594 PR-URL: https://github.com/nodejs/node/pull/28219 Reviewed-By: Sam Roberts Reviewed-By: Luigi Pinca Reviewed-By: Yongsheng Zhang Reviewed-By: Rich Trott Reviewed-By: Trivikram Kamat Reviewed-By: Colin Ihrig Reviewed-By: Yuta Hiroto Reviewed-By: Anto Aravinth --- test/parallel/test-process-uid-gid.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/parallel/test-process-uid-gid.js b/test/parallel/test-process-uid-gid.js index 49086792b9e7b1..dd11a2ec6e089d 100644 --- a/test/parallel/test-process-uid-gid.js +++ b/test/parallel/test-process-uid-gid.js @@ -74,7 +74,7 @@ const oldgid = process.getgid(); try { process.setgid('nobody'); } catch (err) { - if (err.message !== 'setgid group id does not exist') { + if (err.code !== 'ERR_UNKNOWN_CREDENTIAL') { throw err; } process.setgid('nogroup'); From 2053dd0c9c12242dc8d3de0e0b763f15bfb1ff0d Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Mon, 10 Jun 2019 16:48:15 +0200 Subject: [PATCH 023/144] =?UTF-8?q?worker:=20only=20unref=20port=20for=20s?= =?UTF-8?q?tdin=20if=20we=20ref=E2=80=99ed=20it=20before?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We set the `kStartedReading` flag from `_read()` for Worker stdio, and then `ref()` the port. However, the `.on('end')` handler is also attached when `._read()` is not called, e.g. when `process.stdin` inside a Worker is prematurely ended because stdin was not enabled by the parent thread. In that case, we should not call `.unref()` for stdin if we did not also call `.ref()` for it before. Fixes: https://github.com/nodejs/node/issues/28144 PR-URL: https://github.com/nodejs/node/pull/28153 Reviewed-By: Colin Ihrig Reviewed-By: Rich Trott Reviewed-By: Ruben Bridgewater --- lib/internal/worker/io.js | 6 ++++-- ...test-worker-no-stdin-stdout-interaction.js | 20 +++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 test/parallel/test-worker-no-stdin-stdout-interaction.js diff --git a/lib/internal/worker/io.js b/lib/internal/worker/io.js index 63c8a8d9763220..ba2150e530b5be 100644 --- a/lib/internal/worker/io.js +++ b/lib/internal/worker/io.js @@ -169,8 +169,10 @@ class ReadableWorkerStdio extends Readable { this[kIncrementsPortRef] = true; this[kStartedReading] = false; this.on('end', () => { - if (this[kIncrementsPortRef] && --this[kPort][kWaitingStreams] === 0) - this[kPort].unref(); + if (this[kStartedReading] && this[kIncrementsPortRef]) { + if (--this[kPort][kWaitingStreams] === 0) + this[kPort].unref(); + } }); } diff --git a/test/parallel/test-worker-no-stdin-stdout-interaction.js b/test/parallel/test-worker-no-stdin-stdout-interaction.js new file mode 100644 index 00000000000000..6febbd07b566fa --- /dev/null +++ b/test/parallel/test-worker-no-stdin-stdout-interaction.js @@ -0,0 +1,20 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); +const { Worker, isMainThread } = require('worker_threads'); + +// Regression test for https://github.com/nodejs/node/issues/28144. + +if (isMainThread) { + const w = new Worker(__filename); + w.on('exit', common.mustCall((status) => { + assert.strictEqual(status, 0); + })); + w.stdout.on('data', common.mustCall(10)); +} else { + process.stdin.on('data', () => {}); + + for (let i = 0; i < 10; ++i) { + process.stdout.write(`processing(${i})\n`, common.mustCall()); + } +} From 337aef0c2fae306d95209ed2c9083593e906c09e Mon Sep 17 00:00:00 2001 From: Samantha Sample Date: Mon, 17 Jun 2019 15:00:42 -0700 Subject: [PATCH 024/144] test: normalize location test-worker-process-cwd.js runs tests This change sets the process' directory to __dirname in order to normalize where the test is ran. This addresses the situation that occurs when node is located in the root, and moving up a directory results in the same directory. In that case, an error was thrown because the test interpreted this as a failed directory change. Fixes: https://github.com/nodejs/node/issues/28193 PR-URL: https://github.com/nodejs/node/pull/28271 Reviewed-By: Anna Henningsen Reviewed-By: Franziska Hinkelmann Reviewed-By: Colin Ihrig Reviewed-By: Ruben Bridgewater Reviewed-By: Rich Trott --- test/parallel/test-worker-process-cwd.js | 1 + 1 file changed, 1 insertion(+) diff --git a/test/parallel/test-worker-process-cwd.js b/test/parallel/test-worker-process-cwd.js index 81c6edac3e4501..e281610a49d1d0 100644 --- a/test/parallel/test-worker-process-cwd.js +++ b/test/parallel/test-worker-process-cwd.js @@ -10,6 +10,7 @@ if (!process.env.HAS_STARTED_WORKER) { if (!isMainThread) { common.skip('This test can only run as main thread'); } + process.chdir(__dirname); const w = new Worker(__filename); process.chdir('..'); w.on('message', common.mustCall((message) => { From db65594c330b4e4a625d242282f37b879a30b43d Mon Sep 17 00:00:00 2001 From: Ruben Bridgewater Date: Mon, 4 Mar 2019 01:34:00 +0100 Subject: [PATCH 025/144] benchmark: refactor buffer benchmarks Currently the buffer benchmarks take significantly too long to complete. This drastically reduces the overall runtime by removing obsolete checked variations and reducing the iteration count. It also improves the benchmarks by removing the deprecated `new Buffer(size)` usage and some other small improvements. PR-URL: https://github.com/nodejs/node/pull/26418 Reviewed-By: Matteo Collina Reviewed-By: Gireesh Punathil Reviewed-By: Peter Marshall Reviewed-By: Franziska Hinkelmann Reviewed-By: Anatoli Papirovski Reviewed-By: Rich Trott --- benchmark/buffers/buffer-bytelength.js | 4 +-- .../buffers/buffer-compare-instance-method.js | 20 ++------------- benchmark/buffers/buffer-compare-offset.js | 2 +- benchmark/buffers/buffer-compare.js | 2 +- benchmark/buffers/buffer-concat.js | 10 ++++---- benchmark/buffers/buffer-creation.js | 18 ++++--------- benchmark/buffers/buffer-fill.js | 2 +- benchmark/buffers/buffer-from.js | 25 ++++++++++--------- benchmark/buffers/buffer-hex.js | 4 +-- benchmark/buffers/buffer-indexof-number.js | 6 +++-- benchmark/buffers/buffer-indexof.js | 8 ++---- benchmark/buffers/buffer-iterate.js | 13 +++++----- .../buffers/buffer-normalize-encoding.js | 5 ---- benchmark/buffers/buffer-read-float.js | 2 +- .../buffers/buffer-read-with-byteLength.js | 7 +++--- benchmark/buffers/buffer-read.js | 11 +++----- benchmark/buffers/buffer-slice.js | 4 +-- benchmark/buffers/buffer-swap.js | 4 +-- benchmark/buffers/buffer-tojson.js | 2 +- benchmark/buffers/buffer-tostring.js | 8 +++--- benchmark/buffers/buffer-write-string.js | 17 ++++++++----- benchmark/buffers/buffer-write.js | 7 +++--- benchmark/buffers/buffer-zero.js | 4 +-- 23 files changed, 80 insertions(+), 105 deletions(-) diff --git a/benchmark/buffers/buffer-bytelength.js b/benchmark/buffers/buffer-bytelength.js index 4caad3014455ca..90d43ec7f0262d 100644 --- a/benchmark/buffers/buffer-bytelength.js +++ b/benchmark/buffers/buffer-bytelength.js @@ -3,8 +3,8 @@ const common = require('../common'); const bench = common.createBenchmark(main, { encoding: ['utf8', 'base64', 'buffer'], - len: [1, 2, 4, 16, 64, 256], // x16 - n: [5e6] + len: [2, 16, 256], // x16 + n: [4e6] }); // 16 chars each diff --git a/benchmark/buffers/buffer-compare-instance-method.js b/benchmark/buffers/buffer-compare-instance-method.js index 77a3e84fa70344..284001c236d99d 100644 --- a/benchmark/buffers/buffer-compare-instance-method.js +++ b/benchmark/buffers/buffer-compare-instance-method.js @@ -2,8 +2,8 @@ const common = require('../common.js'); const bench = common.createBenchmark(main, { - size: [16, 512, 1024, 4096, 16386], - args: [1, 2, 3, 4, 5], + size: [16, 512, 4096, 16386], + args: [1, 2, 5], n: [1e6] }); @@ -16,22 +16,6 @@ function main({ n, size, args }) { b1[size - 1] = 'b'.charCodeAt(0); - switch (args) { - case 2: - b0.compare(b1, 0); - break; - case 3: - b0.compare(b1, 0, b1Len); - break; - case 4: - b0.compare(b1, 0, b1Len, 0); - break; - case 5: - b0.compare(b1, 0, b1Len, 0, b0Len); - break; - default: - b0.compare(b1); - } switch (args) { case 2: b0.compare(b1, 0); diff --git a/benchmark/buffers/buffer-compare-offset.js b/benchmark/buffers/buffer-compare-offset.js index 89cc4427d9a24c..d08a312442395e 100644 --- a/benchmark/buffers/buffer-compare-offset.js +++ b/benchmark/buffers/buffer-compare-offset.js @@ -3,7 +3,7 @@ const common = require('../common.js'); const bench = common.createBenchmark(main, { method: ['offset', 'slice'], - size: [16, 512, 1024, 4096, 16386], + size: [16, 512, 4096, 16386], n: [1e6] }); diff --git a/benchmark/buffers/buffer-compare.js b/benchmark/buffers/buffer-compare.js index cb4f0f475c94ae..e6cf850da68af8 100644 --- a/benchmark/buffers/buffer-compare.js +++ b/benchmark/buffers/buffer-compare.js @@ -23,7 +23,7 @@ const common = require('../common.js'); const bench = common.createBenchmark(main, { - size: [16, 512, 1024, 4096, 16386], + size: [16, 512, 4096, 16386], n: [1e6] }); diff --git a/benchmark/buffers/buffer-concat.js b/benchmark/buffers/buffer-concat.js index 3f9cffc06a6a7e..ced0f4ff31ce8d 100644 --- a/benchmark/buffers/buffer-concat.js +++ b/benchmark/buffers/buffer-concat.js @@ -2,20 +2,20 @@ const common = require('../common.js'); const bench = common.createBenchmark(main, { - pieces: [1, 4, 16], + pieces: [4, 16], pieceSize: [1, 16, 256], withTotalLength: [0, 1], - n: [1024] + n: [8e5] }); function main({ n, pieces, pieceSize, withTotalLength }) { - const list = new Array(pieces); - list.fill(Buffer.allocUnsafe(pieceSize)); + const list = Array.from({ length: pieces }) + .fill(Buffer.allocUnsafe(pieceSize)); const totalLength = withTotalLength ? pieces * pieceSize : undefined; bench.start(); - for (var i = 0; i < n * 1024; i++) { + for (var i = 0; i < n; i++) { Buffer.concat(list, totalLength); } bench.end(n); diff --git a/benchmark/buffers/buffer-creation.js b/benchmark/buffers/buffer-creation.js index a7b340131eb8aa..38d80da915c070 100644 --- a/benchmark/buffers/buffer-creation.js +++ b/benchmark/buffers/buffer-creation.js @@ -1,5 +1,4 @@ 'use strict'; -const SlowBuffer = require('buffer').SlowBuffer; const common = require('../common.js'); const assert = require('assert'); @@ -9,10 +8,9 @@ const bench = common.createBenchmark(main, { 'fast-alloc-fill', 'fast-allocUnsafe', 'slow-allocUnsafe', - 'slow', - 'buffer()'], - len: [10, 1024, 2048, 4096, 8192], - n: [1024] + ], + len: [10, 1024, 4096, 8192], + n: [6e5] }); function main({ len, n, type }) { @@ -24,7 +22,7 @@ function main({ len, n, type }) { break; case 'fast-alloc-fill': bench.start(); - for (i = 0; i < n * 1024; i++) { + for (i = 0; i < n; i++) { Buffer.alloc(len, 0); } bench.end(n); @@ -35,18 +33,12 @@ function main({ len, n, type }) { case 'slow-allocUnsafe': fn = Buffer.allocUnsafeSlow; break; - case 'slow': - fn = SlowBuffer; - break; - case 'buffer()': - fn = Buffer; - break; default: assert.fail('Should not get here'); } bench.start(); - for (i = 0; i < n * 1024; i++) { + for (i = 0; i < n; i++) { fn(len); } bench.end(n); diff --git a/benchmark/buffers/buffer-fill.js b/benchmark/buffers/buffer-fill.js index b497597fa1360b..02bc2a206c6fe3 100644 --- a/benchmark/buffers/buffer-fill.js +++ b/benchmark/buffers/buffer-fill.js @@ -14,7 +14,7 @@ const bench = common.createBenchmark(main, { 'fill("t", 0)', 'fill(Buffer.alloc(1), 0)', ], - size: [2 ** 8, 2 ** 13, 2 ** 16], + size: [2 ** 13, 2 ** 16], n: [2e4] }); diff --git a/benchmark/buffers/buffer-from.js b/benchmark/buffers/buffer-from.js index 437bf930f9fc61..1df1b5b362fefa 100644 --- a/benchmark/buffers/buffer-from.js +++ b/benchmark/buffers/buffer-from.js @@ -8,14 +8,13 @@ const bench = common.createBenchmark(main, { 'arraybuffer', 'arraybuffer-middle', 'buffer', - 'uint8array', 'string', 'string-utf8', 'string-base64', 'object', ], - len: [10, 2048], - n: [2048] + len: [100, 2048], + n: [8e5] }); function main({ len, n, source }) { @@ -26,17 +25,19 @@ function main({ len, n, source }) { const uint8array = new Uint8Array(len); const obj = { length: null }; // Results in a new, empty Buffer + let i = 0; + switch (source) { case 'array': bench.start(); - for (let i = 0; i < n * 1024; i++) { + for (i = 0; i < n; i++) { Buffer.from(array); } bench.end(n); break; case 'arraybuffer': bench.start(); - for (let i = 0; i < n * 1024; i++) { + for (i = 0; i < n; i++) { Buffer.from(arrayBuf); } bench.end(n); @@ -45,49 +46,49 @@ function main({ len, n, source }) { const offset = ~~(len / 4); const length = ~~(len / 2); bench.start(); - for (let i = 0; i < n * 1024; i++) { + for (i = 0; i < n; i++) { Buffer.from(arrayBuf, offset, length); } bench.end(n); break; case 'buffer': bench.start(); - for (let i = 0; i < n * 1024; i++) { + for (i = 0; i < n; i++) { Buffer.from(buffer); } bench.end(n); break; case 'uint8array': bench.start(); - for (let i = 0; i < n * 1024; i++) { + for (i = 0; i < n; i++) { Buffer.from(uint8array); } bench.end(n); break; case 'string': bench.start(); - for (let i = 0; i < n * 1024; i++) { + for (i = 0; i < n; i++) { Buffer.from(str); } bench.end(n); break; case 'string-utf8': bench.start(); - for (let i = 0; i < n * 1024; i++) { + for (i = 0; i < n; i++) { Buffer.from(str, 'utf8'); } bench.end(n); break; case 'string-base64': bench.start(); - for (let i = 0; i < n * 1024; i++) { + for (i = 0; i < n; i++) { Buffer.from(str, 'base64'); } bench.end(n); break; case 'object': bench.start(); - for (let i = 0; i < n * 1024; i++) { + for (i = 0; i < n; i++) { Buffer.from(obj); } bench.end(n); diff --git a/benchmark/buffers/buffer-hex.js b/benchmark/buffers/buffer-hex.js index 4d87313961aa67..1b49ca745381da 100644 --- a/benchmark/buffers/buffer-hex.js +++ b/benchmark/buffers/buffer-hex.js @@ -3,8 +3,8 @@ const common = require('../common.js'); const bench = common.createBenchmark(main, { - len: [0, 1, 64, 1024], - n: [1e7] + len: [64, 1024], + n: [1e6] }); function main({ len, n }) { diff --git a/benchmark/buffers/buffer-indexof-number.js b/benchmark/buffers/buffer-indexof-number.js index 91bff0d54bb7eb..bd3fe34f4d7860 100644 --- a/benchmark/buffers/buffer-indexof-number.js +++ b/benchmark/buffers/buffer-indexof-number.js @@ -5,7 +5,7 @@ const path = require('path'); const bench = common.createBenchmark(main, { value: ['@'.charCodeAt(0)], - n: [1e7] + n: [1e6] }); function main({ n, value }) { @@ -13,9 +13,11 @@ function main({ n, value }) { path.resolve(__dirname, '../fixtures/alice.html') ); + let count = 0; bench.start(); for (var i = 0; i < n; i++) { - aliceBuffer.indexOf(value, 0, undefined); + count += aliceBuffer.indexOf(value, 0, undefined); } bench.end(n); + return count; } diff --git a/benchmark/buffers/buffer-indexof.js b/benchmark/buffers/buffer-indexof.js index f3b9dcf1fac5d8..cd083e8579395b 100644 --- a/benchmark/buffers/buffer-indexof.js +++ b/benchmark/buffers/buffer-indexof.js @@ -6,16 +6,12 @@ const path = require('path'); const searchStrings = [ '@', 'SQ', - '10x', '--l', 'Alice', 'Gryphon', - 'Panther', 'Ou est ma chatte?', 'found it very', - 'among mad people', 'neighbouring pool', - 'Soo--oop', 'aaaaaaaaaaaaaaaaa', 'venture to go near the house till she had brought herself down to', ' to the Caterpillar', @@ -23,9 +19,9 @@ const searchStrings = [ const bench = common.createBenchmark(main, { search: searchStrings, - encoding: ['undefined', 'utf8', 'ucs2', 'binary'], + encoding: ['utf8', 'ucs2'], type: ['buffer', 'string'], - n: [100000] + n: [5e4] }); function main({ n, search, encoding, type }) { diff --git a/benchmark/buffers/buffer-iterate.js b/benchmark/buffers/buffer-iterate.js index 7a275b0bcb8182..e81ce2b3035d90 100644 --- a/benchmark/buffers/buffer-iterate.js +++ b/benchmark/buffers/buffer-iterate.js @@ -4,8 +4,8 @@ const common = require('../common.js'); const assert = require('assert'); const bench = common.createBenchmark(main, { - size: [16, 512, 1024, 4096, 16386], - type: ['fast', 'slow'], + size: [512, 4096, 16386], + type: ['fast'], method: ['for', 'forOf', 'iterator'], n: [1e3] }); @@ -17,9 +17,10 @@ const methods = { }; function main({ size, type, method, n }) { - const clazz = type === 'fast' ? Buffer : SlowBuffer; - const buffer = new clazz(size); - buffer.fill(0); + const buffer = type === 'fast' ? + Buffer.alloc(size) : + SlowBuffer(size).fill(0); + const fn = methods[method || 'for']; bench.start(); @@ -46,7 +47,7 @@ function benchForOf(buffer, n) { function benchIterator(buffer, n) { for (var k = 0; k < n; k++) { const iter = buffer[Symbol.iterator](); - var cur = iter.next(); + let cur = iter.next(); while (!cur.done) { assert(cur.value === 0); diff --git a/benchmark/buffers/buffer-normalize-encoding.js b/benchmark/buffers/buffer-normalize-encoding.js index e33f7e0bc2ab47..1c743c83712ad2 100644 --- a/benchmark/buffers/buffer-normalize-encoding.js +++ b/benchmark/buffers/buffer-normalize-encoding.js @@ -5,23 +5,18 @@ const common = require('../common.js'); const bench = common.createBenchmark(main, { encoding: [ 'ascii', - 'ASCII', 'base64', 'BASE64', 'binary', - 'BINARY', 'hex', 'HEX', 'latin1', 'LATIN1', - 'ucs-2', 'UCS-2', - 'ucs2', 'UCS2', 'utf-16le', 'UTF-16LE', 'utf-8', - 'UTF-8', 'utf16le', 'UTF16LE', 'utf8', diff --git a/benchmark/buffers/buffer-read-float.js b/benchmark/buffers/buffer-read-float.js index dbccf57393f6f2..7589fbfc334d28 100644 --- a/benchmark/buffers/buffer-read-float.js +++ b/benchmark/buffers/buffer-read-float.js @@ -3,7 +3,7 @@ const common = require('../common.js'); const bench = common.createBenchmark(main, { type: ['Double', 'Float'], - endian: ['BE', 'LE'], + endian: ['LE'], value: ['zero', 'big', 'small', 'inf', 'nan'], n: [1e6] }); diff --git a/benchmark/buffers/buffer-read-with-byteLength.js b/benchmark/buffers/buffer-read-with-byteLength.js index 65d5f8f01ee73b..aea6344a82eb51 100644 --- a/benchmark/buffers/buffer-read-with-byteLength.js +++ b/benchmark/buffers/buffer-read-with-byteLength.js @@ -9,15 +9,16 @@ const types = [ ]; const bench = common.createBenchmark(main, { - buffer: ['fast', 'slow'], + buffer: ['fast'], type: types, n: [1e6], byteLength: [1, 2, 3, 4, 5, 6] }); function main({ n, buf, type, byteLength }) { - const clazz = buf === 'fast' ? Buffer : require('buffer').SlowBuffer; - const buff = new clazz(8); + const buff = buf === 'fast' ? + Buffer.alloc(8) : + require('buffer').SlowBuffer(8); const fn = `read${type || 'IntBE'}`; buff.writeDoubleLE(0, 0); diff --git a/benchmark/buffers/buffer-read.js b/benchmark/buffers/buffer-read.js index 06e2c6c70ebd3b..d407475ae4ed90 100644 --- a/benchmark/buffers/buffer-read.js +++ b/benchmark/buffers/buffer-read.js @@ -16,21 +16,18 @@ const types = [ 'Int16BE', 'Int32LE', 'Int32BE', - 'FloatLE', - 'FloatBE', - 'DoubleLE', - 'DoubleBE', ]; const bench = common.createBenchmark(main, { - buffer: ['fast', 'slow'], + buffer: ['fast'], type: types, n: [1e6] }); function main({ n, buf, type }) { - const clazz = buf === 'fast' ? Buffer : require('buffer').SlowBuffer; - const buff = new clazz(8); + const buff = buf === 'fast' ? + Buffer.alloc(8) : + require('buffer').SlowBuffer(8); const fn = `read${type || 'UInt8'}`; buff.writeDoubleLE(0, 0); diff --git a/benchmark/buffers/buffer-slice.js b/benchmark/buffers/buffer-slice.js index 2e52475da91866..82c960d56017cf 100644 --- a/benchmark/buffers/buffer-slice.js +++ b/benchmark/buffers/buffer-slice.js @@ -4,7 +4,7 @@ const SlowBuffer = require('buffer').SlowBuffer; const bench = common.createBenchmark(main, { type: ['fast', 'slow'], - n: [1024] + n: [1e6] }); const buf = Buffer.allocUnsafe(1024); @@ -13,7 +13,7 @@ const slowBuf = new SlowBuffer(1024); function main({ n, type }) { const b = type === 'fast' ? buf : slowBuf; bench.start(); - for (var i = 0; i < n * 1024; i++) { + for (var i = 0; i < n; i++) { b.slice(10, 256); } bench.end(n); diff --git a/benchmark/buffers/buffer-swap.js b/benchmark/buffers/buffer-swap.js index a85bcf32307313..0d3897ad8920f3 100644 --- a/benchmark/buffers/buffer-swap.js +++ b/benchmark/buffers/buffer-swap.js @@ -5,8 +5,8 @@ const common = require('../common.js'); const bench = common.createBenchmark(main, { aligned: ['true', 'false'], method: ['swap16', 'swap32', 'swap64'/* , 'htons', 'htonl', 'htonll' */], - len: [8, 64, 128, 256, 512, 768, 1024, 1536, 2056, 4096, 8192], - n: [5e7] + len: [64, 256, 768, 1024, 2056, 8192], + n: [1e6] }); // The htons and htonl methods below are used to benchmark the diff --git a/benchmark/buffers/buffer-tojson.js b/benchmark/buffers/buffer-tojson.js index 71936fb622eae6..d01a93ab5ed837 100644 --- a/benchmark/buffers/buffer-tojson.js +++ b/benchmark/buffers/buffer-tojson.js @@ -4,7 +4,7 @@ const common = require('../common.js'); const bench = common.createBenchmark(main, { n: [1e4], - len: [0, 10, 256, 4 * 1024] + len: [0, 256, 4 * 1024] }); function main({ n, len }) { diff --git a/benchmark/buffers/buffer-tostring.js b/benchmark/buffers/buffer-tostring.js index b2a14d8aec55ce..88543d8fd3af5a 100644 --- a/benchmark/buffers/buffer-tostring.js +++ b/benchmark/buffers/buffer-tostring.js @@ -3,10 +3,10 @@ const common = require('../common.js'); const bench = common.createBenchmark(main, { - encoding: ['', 'utf8', 'ascii', 'latin1', 'binary', 'hex', 'UCS-2'], - args: [0, 1, 2, 3], - len: [0, 1, 64, 1024], - n: [1e7] + encoding: ['utf8', 'ascii', 'latin1', 'hex', 'UCS-2'], + args: [0, 1, 3], + len: [1, 64, 1024], + n: [1e6] }); function main({ encoding, args, len, n }) { diff --git a/benchmark/buffers/buffer-write-string.js b/benchmark/buffers/buffer-write-string.js index 6bd98ba4af9d87..b30edcf8867adf 100644 --- a/benchmark/buffers/buffer-write-string.js +++ b/benchmark/buffers/buffer-write-string.js @@ -3,36 +3,40 @@ const common = require('../common.js'); const bench = common.createBenchmark(main, { encoding: [ - '', 'utf8', 'ascii', 'hex', 'UCS-2', 'utf16le', 'latin1', 'binary', + '', 'utf8', 'ascii', 'hex', 'utf16le', 'latin1', ], args: [ '', 'offset', 'offset+length' ], - len: [10, 2048], - n: [1e7] + len: [2048], + n: [1e6] }); function main({ len, n, encoding, args }) { - const string = 'a'.repeat(len); + let string; + let start = 0; const buf = Buffer.allocUnsafe(len); var i; switch (args) { case 'offset': + string = 'a'.repeat(Math.floor(len / 2)); + start = len - string.length; if (encoding) { bench.start(); for (i = 0; i < n; ++i) { - buf.write(string, 0, encoding); + buf.write(string, start, encoding); } bench.end(n); } else { bench.start(); for (i = 0; i < n; ++i) { - buf.write(string, 0); + buf.write(string, start); } bench.end(n); } break; case 'offset+length': + string = 'a'.repeat(len); if (encoding) { bench.start(); for (i = 0; i < n; ++i) { @@ -48,6 +52,7 @@ function main({ len, n, encoding, args }) { } break; default: + string = 'a'.repeat(len); if (encoding) { bench.start(); for (i = 0; i < n; ++i) { diff --git a/benchmark/buffers/buffer-write.js b/benchmark/buffers/buffer-write.js index be5a6adc8ea3f8..02c0752feafb08 100644 --- a/benchmark/buffers/buffer-write.js +++ b/benchmark/buffers/buffer-write.js @@ -27,7 +27,7 @@ const types = [ ]; const bench = common.createBenchmark(main, { - buffer: ['fast', 'slow'], + buffer: ['fast'], type: types, n: [1e6] }); @@ -71,8 +71,9 @@ const byteLength = { }; function main({ n, buf, type }) { - const clazz = buf === 'fast' ? Buffer : require('buffer').SlowBuffer; - const buff = new clazz(8); + const buff = buf === 'fast' ? + Buffer.alloc(8) : + require('buffer').SlowBuffer(8); const fn = `write${type || 'UInt8'}`; if (!/\d/.test(fn)) diff --git a/benchmark/buffers/buffer-zero.js b/benchmark/buffers/buffer-zero.js index 1263732dce8e43..09792f038afd28 100644 --- a/benchmark/buffers/buffer-zero.js +++ b/benchmark/buffers/buffer-zero.js @@ -3,7 +3,7 @@ const common = require('../common.js'); const bench = common.createBenchmark(main, { - n: [1024], + n: [1e6], type: ['buffer', 'string'] }); @@ -14,6 +14,6 @@ function main({ n, type }) { const data = type === 'buffer' ? zeroBuffer : zeroString; bench.start(); - for (var i = 0; i < n * 1024; i++) Buffer.from(data); + for (var i = 0; i < n; i++) Buffer.from(data); bench.end(n); } From c4a357dadafffab5f342aa765a45c7d3c14e2d95 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Fri, 7 Jun 2019 12:44:19 -0400 Subject: [PATCH 026/144] report: add report versioning This commit adds a version to the diagnostic report feature. PR-URL: https://github.com/nodejs/node/pull/28121 Reviewed-By: Anna Henningsen Reviewed-By: Gireesh Punathil --- doc/api/report.md | 1 + src/node_report.cc | 3 ++- test/common/report.js | 4 +++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/api/report.md b/doc/api/report.md index 9d773f25ee636f..268caf64160a7d 100644 --- a/doc/api/report.md +++ b/doc/api/report.md @@ -22,6 +22,7 @@ is provided below for reference. ```json { "header": { + "reportVersion": 1, "event": "exception", "trigger": "Exception", "filename": "report.20181221.005011.8974.0.001.json", diff --git a/src/node_report.cc b/src/node_report.cc index b448ffd099bf27..84caf13c5b64d1 100644 --- a/src/node_report.cc +++ b/src/node_report.cc @@ -24,6 +24,7 @@ extern char** environ; #endif +constexpr int NODE_REPORT_VERSION = 1; constexpr int NANOS_PER_SEC = 1000 * 1000 * 1000; constexpr double SEC_PER_MICROS = 1e-6; @@ -172,7 +173,7 @@ static void WriteNodeReport(Isolate* isolate, JSONWriter writer(out); writer.json_start(); writer.json_objectstart("header"); - + writer.json_keyvalue("reportVersion", NODE_REPORT_VERSION); writer.json_keyvalue("event", message); writer.json_keyvalue("trigger", trigger); if (!filename.empty()) diff --git a/test/common/report.js b/test/common/report.js index f415b66dccacfa..7637e5ed956044 100644 --- a/test/common/report.js +++ b/test/common/report.js @@ -63,8 +63,10 @@ function _validateContent(data) { 'nodejsVersion', 'wordSize', 'arch', 'platform', 'componentVersions', 'release', 'osName', 'osRelease', 'osVersion', 'osMachine', 'cpus', 'host', - 'glibcVersionRuntime', 'glibcVersionCompiler', 'cwd']; + 'glibcVersionRuntime', 'glibcVersionCompiler', 'cwd', + 'reportVersion']; checkForUnknownFields(header, headerFields); + assert.strictEqual(header.reportVersion, 1); // Increment as needed. assert.strictEqual(typeof header.event, 'string'); assert.strictEqual(typeof header.trigger, 'string'); assert(typeof header.filename === 'string' || header.filename === null); From 1f2b8c8cabb9e1826e870af985ed1111dac99759 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Tue, 18 Jun 2019 22:12:30 -0700 Subject: [PATCH 027/144] doc: revise strict mode text in assert Revise the text describing `strict` mode. PR-URL: https://github.com/nodejs/node/pull/28285 Reviewed-By: Ruben Bridgewater Reviewed-By: Trivikram Kamat --- doc/api/assert.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/api/assert.md b/doc/api/assert.md index c6e3302166a240..e611dfbe1bfc27 100644 --- a/doc/api/assert.md +++ b/doc/api/assert.md @@ -6,7 +6,7 @@ The `assert` module provides a set of assertion functions for verifying invariants. The module provides a recommended [`strict` mode][] and a more -lenient `legacy` mode. +lenient legacy mode. For more information about the used equality comparisons see [MDN's guide on equality comparisons and sameness][mdn-equality-guide]. @@ -80,14 +80,14 @@ changes: description: Added strict mode to the assert module. --> -When using the `strict` mode, any `assert` function will use the equality used -in the strict function mode. So [`assert.deepEqual()`][] will, for example, -work the same as [`assert.deepStrictEqual()`][]. +In `strict` mode, `assert` functions use the comparison in the corresponding +strict functions. For example, [`assert.deepEqual()`][] will behave like +[`assert.deepStrictEqual()`][]. -On top of that, error messages which involve objects produce an error diff -instead of displaying both objects. That is not the case for the legacy mode. +In `strict` mode, error messages for objects display a diff. In legacy mode, +error messages for objects display the objects, often truncated. -It can be accessed using: +To use `strict` mode: ```js const assert = require('assert').strict; From 57ac661bcb3774feddb5274289d85c0366955944 Mon Sep 17 00:00:00 2001 From: Yuriy Vasiyarov Date: Tue, 18 Jun 2019 17:00:29 +0300 Subject: [PATCH 028/144] doc: document PerformanceNodeTiming.environment field PR-URL: https://github.com/nodejs/node/pull/28280 Reviewed-By: Rich Trott Reviewed-By: Ruben Bridgewater Reviewed-By: Colin Ihrig Reviewed-By: Trivikram Kamat --- doc/api/perf_hooks.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/api/perf_hooks.md b/doc/api/perf_hooks.md index 666734cf14cc62..007445ba056a27 100644 --- a/doc/api/perf_hooks.md +++ b/doc/api/perf_hooks.md @@ -219,6 +219,16 @@ The high resolution millisecond timestamp at which the Node.js process completed bootstrapping. If bootstrapping has not yet finished, the property has the value of -1. +### performanceNodeTiming.environment + + +* {number} + +The high resolution millisecond timestamp at which the Node.js environment was +initialized. + ### performanceNodeTiming.loopExit ```C NAPI_EXTERN napi_status @@ -4674,7 +4679,8 @@ napi_create_threadsafe_function(napi_env env, ``` - `[in] env`: The environment that the API is invoked under. -- `[in] func`: The JavaScript function to call from another thread. +- `[in] func`: An optional JavaScript function to call from another thread. +It must be provided if `NULL` is passed to `call_js_cb`. - `[in] async_resource`: An optional object associated with the async work that will be passed to possible `async_hooks` [`init` hooks][]. - `[in] async_resource_name`: A JavaScript string to provide an identifier for diff --git a/src/node_api.cc b/src/node_api.cc index 3aab7a225777c6..a10664d3e344fe 100644 --- a/src/node_api.cc +++ b/src/node_api.cc @@ -319,10 +319,14 @@ class ThreadSafeFunction : public node::AsyncResource { "ERR_NAPI_TSFN_STOP_IDLE_LOOP", "Failed to stop the idle loop") == napi_ok); } else { - v8::Local js_cb = + napi_value js_callback = nullptr; + if (!ref.IsEmpty()) { + v8::Local js_cb = v8::Local::New(env->isolate, ref); + js_callback = v8impl::JsValueFromV8LocalValue(js_cb); + } call_js_cb(env, - v8impl::JsValueFromV8LocalValue(js_cb), + js_callback, context, data); } @@ -1014,7 +1018,6 @@ napi_create_threadsafe_function(napi_env env, napi_threadsafe_function_call_js call_js_cb, napi_threadsafe_function* result) { CHECK_ENV(env); - CHECK_ARG(env, func); CHECK_ARG(env, async_resource_name); RETURN_STATUS_IF_FALSE(env, initial_thread_count > 0, napi_invalid_arg); CHECK_ARG(env, result); @@ -1022,7 +1025,11 @@ napi_create_threadsafe_function(napi_env env, napi_status status = napi_ok; v8::Local v8_func; - CHECK_TO_FUNCTION(env, v8_func, func); + if (func == nullptr) { + CHECK_ARG(env, call_js_cb); + } else { + CHECK_TO_FUNCTION(env, v8_func, func); + } v8::Local v8_context = env->context(); diff --git a/test/node-api/test_threadsafe_function/binding.c b/test/node-api/test_threadsafe_function/binding.c index c556c9427cc176..c9c526153804c6 100644 --- a/test/node-api/test_threadsafe_function/binding.c +++ b/test/node-api/test_threadsafe_function/binding.c @@ -129,6 +129,19 @@ static void call_js(napi_env env, napi_value cb, void* hint, void* data) { } } +static napi_ref alt_ref; +// Getting the data into JS with the alternative referece +static void call_ref(napi_env env, napi_value _, void* hint, void* data) { + if (!(env == NULL || alt_ref == NULL)) { + napi_value fn, argv, undefined; + NAPI_CALL_RETURN_VOID(env, napi_get_reference_value(env, alt_ref, &fn)); + NAPI_CALL_RETURN_VOID(env, napi_create_int32(env, *(int*)data, &argv)); + NAPI_CALL_RETURN_VOID(env, napi_get_undefined(env, &undefined)); + NAPI_CALL_RETURN_VOID(env, napi_call_function(env, undefined, fn, 1, &argv, + NULL)); + } +} + // Cleanup static napi_value StopThread(napi_env env, napi_callback_info info) { size_t argc = 2; @@ -168,20 +181,31 @@ static void join_the_threads(napi_env env, void *data, void *hint) { napi_call_function(env, undefined, js_cb, 0, NULL, NULL)); NAPI_CALL_RETURN_VOID(env, napi_delete_reference(env, the_hint->js_finalize_cb)); + if (alt_ref != NULL) { + NAPI_CALL_RETURN_VOID(env, napi_delete_reference(env, alt_ref)); + alt_ref = NULL; + } } static napi_value StartThreadInternal(napi_env env, napi_callback_info info, napi_threadsafe_function_call_js cb, - bool block_on_full) { + bool block_on_full, + bool alt_ref_js_cb) { + size_t argc = 4; napi_value argv[4]; + NAPI_CALL(env, napi_get_cb_info(env, info, &argc, argv, NULL, NULL)); + if (alt_ref_js_cb) { + NAPI_CALL(env, napi_create_reference(env, argv[0], 1, &alt_ref)); + argv[0] = NULL; + } + ts_info.block_on_full = (block_on_full ? napi_tsfn_blocking : napi_tsfn_nonblocking); NAPI_ASSERT(env, (ts_fn == NULL), "Existing thread-safe function"); - NAPI_CALL(env, napi_get_cb_info(env, info, &argc, argv, NULL, NULL)); napi_value async_name; NAPI_CALL(env, napi_create_string_utf8(env, "N-API Thread-safe Function Test", NAPI_AUTO_LENGTH, &async_name)); @@ -223,16 +247,24 @@ static napi_value Release(napi_env env, napi_callback_info info) { // Startup static napi_value StartThread(napi_env env, napi_callback_info info) { - return StartThreadInternal(env, info, call_js, true); + return StartThreadInternal(env, info, call_js, + /** block_on_full */true, /** alt_ref_js_cb */false); } static napi_value StartThreadNonblocking(napi_env env, napi_callback_info info) { - return StartThreadInternal(env, info, call_js, false); + return StartThreadInternal(env, info, call_js, + /** block_on_full */false, /** alt_ref_js_cb */false); } static napi_value StartThreadNoNative(napi_env env, napi_callback_info info) { - return StartThreadInternal(env, info, NULL, true); + return StartThreadInternal(env, info, NULL, + /** block_on_full */true, /** alt_ref_js_cb */false); +} + +static napi_value StartThreadNoJsFunc(napi_env env, napi_callback_info info) { + return StartThreadInternal(env, info, call_ref, + /** block_on_full */true, /** alt_ref_js_cb */true); } // Module init @@ -269,6 +301,7 @@ static napi_value Init(napi_env env, napi_value exports) { DECLARE_NAPI_PROPERTY("StartThread", StartThread), DECLARE_NAPI_PROPERTY("StartThreadNoNative", StartThreadNoNative), DECLARE_NAPI_PROPERTY("StartThreadNonblocking", StartThreadNonblocking), + DECLARE_NAPI_PROPERTY("StartThreadNoJsFunc", StartThreadNoJsFunc), DECLARE_NAPI_PROPERTY("StopThread", StopThread), DECLARE_NAPI_PROPERTY("Unref", Unref), DECLARE_NAPI_PROPERTY("Release", Release), diff --git a/test/node-api/test_threadsafe_function/test.js b/test/node-api/test_threadsafe_function/test.js index cfd00285308f5d..3603d79ee6b5d3 100644 --- a/test/node-api/test_threadsafe_function/test.js +++ b/test/node-api/test_threadsafe_function/test.js @@ -102,6 +102,17 @@ new Promise(function testWithoutJSMarshaller(resolve) { })) .then((result) => assert.deepStrictEqual(result, expectedArray)) +// Start the thread in blocking mode, and assert that all values are passed. +// Quit after it's done. +// Doesn't pass the callback js function to napi_create_threadsafe_function. +// Instead, use an alternative reference to get js function called. +.then(() => testWithJSMarshaller({ + threadStarter: 'StartThreadNoJsFunc', + maxQueueSize: binding.MAX_QUEUE_SIZE, + quitAfter: binding.ARRAY_LENGTH +})) +.then((result) => assert.deepStrictEqual(result, expectedArray)) + // Start the thread in blocking mode with an infinite queue, and assert that all // values are passed. Quit after it's done. .then(() => testWithJSMarshaller({ From 83465965525b0d7e5b14c1f452b9511d33ad1132 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Wed, 19 Jun 2019 11:54:58 -0700 Subject: [PATCH 032/144] test: permit test-graph.signal to work without test runner test/async-hooks/test-graph.signal.js passes with the test.py test runner but fails if run directly with the `node` executable. Modify the test so it passes in both cases. PR-URL: https://github.com/nodejs/node/pull/28305 Reviewed-By: Anna Henningsen Reviewed-By: Luigi Pinca Reviewed-By: James M Snell --- test/async-hooks/test-graph.signal.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/async-hooks/test-graph.signal.js b/test/async-hooks/test-graph.signal.js index 67bf1cf6d8d3ab..b0a45ddf67765a 100644 --- a/test/async-hooks/test-graph.signal.js +++ b/test/async-hooks/test-graph.signal.js @@ -53,7 +53,11 @@ function onexit() { { type: 'PIPEWRAP', id: 'pipe:4', triggerAsyncId: 'signal:1' }, { type: 'PIPEWRAP', id: 'pipe:5', triggerAsyncId: 'signal:1' }, { type: 'PIPEWRAP', id: 'pipe:6', triggerAsyncId: 'signal:1' }, - { type: 'SIGNALWRAP', id: 'signal:2', triggerAsyncId: 'signal:1' }, + { type: 'SIGNALWRAP', id: 'signal:2', + // TEST_THREAD_ID is set by tools/test.py. Adjust test results depending + // on whether the test was invoked via test.py or from the shell + // directly. + triggerAsyncId: process.env.TEST_THREAD_ID ? 'signal:1' : 'pipe:2' }, { type: 'PROCESSWRAP', id: 'process:3', triggerAsyncId: 'signal:1' }, { type: 'PIPEWRAP', id: 'pipe:7', triggerAsyncId: 'signal:1' }, { type: 'PIPEWRAP', id: 'pipe:8', triggerAsyncId: 'signal:1' }, From b448db3e01bba88f439e85dbc4b525aadab5f9eb Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 20 Jun 2019 15:01:31 -0600 Subject: [PATCH 033/144] test: remove test-ttywrap.writestream.js The test is never run in CI and may have never worked. Refs: https://github.com/nodejs/node/issues/28304 PR-URL: https://github.com/nodejs/node/pull/28316 Reviewed-By: Gireesh Punathil Reviewed-By: Trivikram Kamat Reviewed-By: Anna Henningsen Reviewed-By: James M Snell --- test/async-hooks/test-ttywrap.writestream.js | 47 -------------------- 1 file changed, 47 deletions(-) delete mode 100644 test/async-hooks/test-ttywrap.writestream.js diff --git a/test/async-hooks/test-ttywrap.writestream.js b/test/async-hooks/test-ttywrap.writestream.js deleted file mode 100644 index bcc164c659beed..00000000000000 --- a/test/async-hooks/test-ttywrap.writestream.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; - -const common = require('../common'); -const assert = require('assert'); - -// General hook test setup -const tick = require('../common/tick'); -const initHooks = require('./init-hooks'); -const { checkInvocations } = require('./hook-checks'); - -const hooks = initHooks(); -hooks.enable(); - -if (!process.stdout.isTTY) - return common.skip('no valid writable TTY available'); - -// test specific setup -const checkInitOpts = { init: 1 }; -const checkEndedOpts = { init: 1, before: 1, after: 1, destroy: 1 }; - -// test code -// -// listen to stdin except on Windows -const activities = hooks.activitiesOfTypes('TTYWRAP'); -assert.strictEqual(activities.length, 1); - -const tty = activities[0]; -assert.strictEqual(tty.type, 'TTYWRAP'); -assert.strictEqual(typeof tty.uid, 'number'); -assert.strictEqual(typeof tty.triggerAsyncId, 'number'); -checkInvocations(tty, checkInitOpts, 'when tty created'); - -const delayedOnCloseHandler = common.mustCall(() => { - checkInvocations(tty, checkEndedOpts, 'when tty ended'); -}); -process.stdout.on('error', (err) => assert.fail(err)); -process.stdout.on('close', common.mustCall(() => - tick(2, delayedOnCloseHandler) -)); -process.stdout.destroy(); -checkInvocations(tty, checkInitOpts, 'when tty.end() was invoked'); - -process.on('exit', () => { - hooks.disable(); - hooks.sanityCheck('TTYWRAP'); - checkInvocations(tty, checkEndedOpts, 'when process exits'); -}); From 51742b834d3b8ae1ed926af7883f8a4d55c29832 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Wed, 19 Jun 2019 22:05:44 -0600 Subject: [PATCH 034/144] doc: revise assert legacy mode text Revise the text for the `assert` module's legacy mode to make it simpler and more scannable. PR-URL: https://github.com/nodejs/node/pull/28315 Reviewed-By: Benjamin Gruenbaum Reviewed-By: Trivikram Kamat --- doc/api/assert.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/doc/api/assert.md b/doc/api/assert.md index e611dfbe1bfc27..822e05aa1c7fe8 100644 --- a/doc/api/assert.md +++ b/doc/api/assert.md @@ -121,18 +121,21 @@ Please note that this will also deactivate the colors in the REPL. > Stability: 0 - Deprecated: Use strict mode instead. -When accessing `assert` directly instead of using the `strict` property, the -[Abstract Equality Comparison][] will be used for any function without "strict" -in its name, such as [`assert.deepEqual()`][]. +Legacy mode uses the [Abstract Equality Comparison][] in: -It can be accessed using: +* [`assert.deepEqual()`][] +* [`assert.equal()`][] +* [`assert.notDeepEqual()`][] +* [`assert.notEqual()`][] + +To use legacy mode: ```js const assert = require('assert'); ``` -It is recommended to use the [`strict` mode][] instead as the -[Abstract Equality Comparison][] can often have surprising results. This is +Whenever possible, use the [`strict` mode][] instead. Otherwise, the +[Abstract Equality Comparison][] may cause surprising results. This is especially true for [`assert.deepEqual()`][], where the comparison rules are lax: From 6063cebdd66bf4682eedd661947f75922a0674b7 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Wed, 19 Jun 2019 21:44:20 -0400 Subject: [PATCH 035/144] doc: format ECMA-262 with a hyphen PR-URL: https://github.com/nodejs/node/pull/28309 Reviewed-By: Gus Caplan Reviewed-By: Anna Henningsen Reviewed-By: Richard Lau Reviewed-By: Yongsheng Zhang Reviewed-By: Tiancheng "Timothy" Gu Reviewed-By: Benjamin Gruenbaum Reviewed-By: Rich Trott Reviewed-By: Trivikram Kamat --- doc/api/n-api.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/api/n-api.md b/doc/api/n-api.md index a9a6904467de35..c8a5ba73544c4a 100644 --- a/doc/api/n-api.md +++ b/doc/api/n-api.md @@ -22,7 +22,7 @@ the functions available in the N-API are used. APIs exposed by N-API are generally used to create and manipulate JavaScript values. Concepts and operations generally map to ideas specified -in the ECMA262 Language Specification. The APIs have the following +in the ECMA-262 Language Specification. The APIs have the following properties: - All N-API calls return a status code of type `napi_status`. This status indicates whether the API call succeeded or failed. @@ -3451,7 +3451,7 @@ This method allows the efficient definition of multiple properties on a given object. The properties are defined using property descriptors (see [`napi_property_descriptor`][]). Given an array of such property descriptors, this API will set the properties on the object one at a time, as defined by -`DefineOwnProperty()` (described in [Section 9.1.6][] of the ECMA262 +`DefineOwnProperty()` (described in [Section 9.1.6][] of the ECMA-262 specification). ## Working with JavaScript Functions From 632fc1faf5aecdf9a2966c4e92e598c613d56a7d Mon Sep 17 00:00:00 2001 From: cjihrig Date: Wed, 19 Jun 2019 22:48:45 -0400 Subject: [PATCH 036/144] doc: make multipleResolves docs less opinionated MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The 'multipleResolves' event does not necessarily indicate an error. This commit makes the documentation less opinionated, and includes potential caveats. PR-URL: https://github.com/nodejs/node/pull/28314 Refs: https://github.com/nodejs/node/issues/24321 Reviewed-By: Gus Caplan Reviewed-By: Michaël Zasso Reviewed-By: Anna Henningsen Reviewed-By: James M Snell Reviewed-By: Rich Trott --- doc/api/process.md | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/doc/api/process.md b/doc/api/process.md index 9300a2b5fe9c84..4d238a3d7eb900 100644 --- a/doc/api/process.md +++ b/doc/api/process.md @@ -107,7 +107,7 @@ not be the same as what is originally sent. added: v10.12.0 --> -* `type` {string} The error type. One of `'resolve'` or `'reject'`. +* `type` {string} The resolution type. One of `'resolve'` or `'reject'`. * `promise` {Promise} The promise that resolved or rejected more than once. * `value` {any} The value with which the promise was either resolved or rejected after the original resolve. @@ -119,14 +119,10 @@ The `'multipleResolves'` event is emitted whenever a `Promise` has been either: * Rejected after resolve. * Resolved after reject. -This is useful for tracking errors in an application while using the promise -constructor. Otherwise such mistakes are silently swallowed due to being in a -dead zone. - -It is recommended to end the process on such errors, since the process could be -in an undefined state. While using the promise constructor make sure that it is -guaranteed to trigger the `resolve()` or `reject()` functions exactly once per -call and never call both functions in the same call. +This is useful for tracking potential errors in an application while using the +`Promise` constructor, as multiple resolutions are silently swallowed. However, +the occurrence of this event does not necessarily indicate an error. For +example, [`Promise.race()`][] can trigger a `'multipleResolves'` event. ```js process.on('multipleResolves', (type, promise, reason) => { @@ -2314,6 +2310,7 @@ cases: [`process.kill()`]: #process_process_kill_pid_signal [`process.setUncaughtExceptionCaptureCallback()`]: process.html#process_process_setuncaughtexceptioncapturecallback_fn [`promise.catch()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/catch +[`Promise.race()`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/race [`require()`]: globals.html#globals_require [`require.main`]: modules.html#modules_accessing_the_main_module [`require.resolve()`]: modules.html#modules_require_resolve_request_options From dd5e07f9b4447f21919aea4688df757225935a21 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Thu, 20 Jun 2019 12:10:06 -0400 Subject: [PATCH 037/144] child_process: attach child in promisification This commit updates the custom exec() and execFile() promisification to attach the ChildProcess instance to the returned Promise. PR-URL: https://github.com/nodejs/node/pull/28325 Fixes: https://github.com/nodejs/node/issues/28244 Reviewed-By: Luigi Pinca Reviewed-By: Wyatt Preul --- doc/api/child_process.md | 16 ++++++----- lib/child_process.js | 27 ++++++++++++------- .../test-child-process-promisified.js | 20 +++++++++++--- 3 files changed, 42 insertions(+), 21 deletions(-) diff --git a/doc/api/child_process.md b/doc/api/child_process.md index b7c0d52a0fd5c8..3dc855f604bf76 100644 --- a/doc/api/child_process.md +++ b/doc/api/child_process.md @@ -214,10 +214,11 @@ Unlike the exec(3) POSIX system call, `child_process.exec()` does not replace the existing process and uses a shell to execute the command. If this method is invoked as its [`util.promisify()`][]ed version, it returns -a `Promise` for an `Object` with `stdout` and `stderr` properties. In case of an -error (including any error resulting in an exit code other than 0), a rejected -promise is returned, with the same `error` object given in the callback, but -with an additional two properties `stdout` and `stderr`. +a `Promise` for an `Object` with `stdout` and `stderr` properties. The returned +`ChildProcess` instance is attached to the `Promise` as a `child` property. In +case of an error (including any error resulting in an exit code other than 0), a +rejected promise is returned, with the same `error` object given in the +callback, but with an additional two properties `stdout` and `stderr`. ```js const util = require('util'); @@ -295,9 +296,10 @@ stderr output. If `encoding` is `'buffer'`, or an unrecognized character encoding, `Buffer` objects will be passed to the callback instead. If this method is invoked as its [`util.promisify()`][]ed version, it returns -a `Promise` for an `Object` with `stdout` and `stderr` properties. In case of an -error (including any error resulting in an exit code other than 0), a rejected -promise is returned, with the same `error` object given in the +a `Promise` for an `Object` with `stdout` and `stderr` properties. The returned +`ChildProcess` instance is attached to the `Promise` as a `child` property. In +case of an error (including any error resulting in an exit code other than 0), a +rejected promise is returned, with the same `error` object given in the callback, but with an additional two properties `stdout` and `stderr`. ```js diff --git a/lib/child_process.js b/lib/child_process.js index 66be7611dc9587..0d3785f0d5b9b8 100644 --- a/lib/child_process.js +++ b/lib/child_process.js @@ -149,17 +149,24 @@ function exec(command, options, callback) { const customPromiseExecFunction = (orig) => { return (...args) => { - return new Promise((resolve, reject) => { - orig(...args, (err, stdout, stderr) => { - if (err !== null) { - err.stdout = stdout; - err.stderr = stderr; - reject(err); - } else { - resolve({ stdout, stderr }); - } - }); + let resolve; + let reject; + const promise = new Promise((res, rej) => { + resolve = res; + reject = rej; }); + + promise.child = orig(...args, (err, stdout, stderr) => { + if (err !== null) { + err.stdout = stdout; + err.stderr = stderr; + reject(err); + } else { + resolve({ stdout, stderr }); + } + }); + + return promise; }; }; diff --git a/test/parallel/test-child-process-promisified.js b/test/parallel/test-child-process-promisified.js index 877bf06662e4e0..bc623130994a2e 100644 --- a/test/parallel/test-child-process-promisified.js +++ b/test/parallel/test-child-process-promisified.js @@ -8,25 +8,37 @@ const exec = promisify(child_process.exec); const execFile = promisify(child_process.execFile); { - exec(`${process.execPath} -p 42`).then(common.mustCall((obj) => { + const promise = exec(`${process.execPath} -p 42`); + + assert(promise.child instanceof child_process.ChildProcess); + promise.then(common.mustCall((obj) => { assert.deepStrictEqual(obj, { stdout: '42\n', stderr: '' }); })); } { - execFile(process.execPath, ['-p', '42']).then(common.mustCall((obj) => { + const promise = execFile(process.execPath, ['-p', '42']); + + assert(promise.child instanceof child_process.ChildProcess); + promise.then(common.mustCall((obj) => { assert.deepStrictEqual(obj, { stdout: '42\n', stderr: '' }); })); } { - exec('doesntexist').catch(common.mustCall((err) => { + const promise = exec('doesntexist'); + + assert(promise.child instanceof child_process.ChildProcess); + promise.catch(common.mustCall((err) => { assert(err.message.includes('doesntexist')); })); } { - execFile('doesntexist', ['-p', '42']).catch(common.mustCall((err) => { + const promise = execFile('doesntexist', ['-p', '42']); + + assert(promise.child instanceof child_process.ChildProcess); + promise.catch(common.mustCall((err) => { assert(err.message.includes('doesntexist')); })); } From a213eb76352f5469a42d3a4ecba990d67e402467 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Thu, 20 Jun 2019 12:55:43 -0400 Subject: [PATCH 038/144] doc: remove obsolete external link The addons documentation links to an external node-qt repo as a production example. That repo hasn't been updated in over five years. This commit removes the link. PR-URL: https://github.com/nodejs/node/pull/28326 Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca --- doc/api/addons.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/doc/api/addons.md b/doc/api/addons.md index dad1774fe8e98f..c628cc66c595eb 100644 --- a/doc/api/addons.md +++ b/doc/api/addons.md @@ -306,9 +306,6 @@ console.log(addon.hello()); // Prints: 'world' ``` -Please see the examples below for further information or - for an example in production. - Because the exact path to the compiled Addon binary can vary depending on how it is compiled (i.e. sometimes it may be in `./build/Debug/`), Addons can use the [bindings][] package to load the compiled module. From c9226f5eb3dcb6f6e832479d49004d5f9541bdcd Mon Sep 17 00:00:00 2001 From: cjihrig Date: Thu, 20 Jun 2019 13:17:09 -0400 Subject: [PATCH 039/144] doc: drop 'Note that' in addons docs This commit removes the usage of 'Note that' in the addons documentation. Note that this phrase was not adding anything meaningful to the docs. PR-URL: https://github.com/nodejs/node/pull/28327 Reviewed-By: Richard Lau Reviewed-By: Rich Trott Reviewed-By: Trivikram Kamat Reviewed-By: Luigi Pinca Reviewed-By: Anna Henningsen --- doc/api/addons.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/doc/api/addons.md b/doc/api/addons.md index c628cc66c595eb..eb17650223a6a5 100644 --- a/doc/api/addons.md +++ b/doc/api/addons.md @@ -83,7 +83,7 @@ NODE_MODULE(NODE_GYP_MODULE_NAME, Initialize) } // namespace demo ``` -Note that all Node.js Addons must export an initialization function following +All Node.js Addons must export an initialization function following the pattern: ```cpp @@ -310,9 +310,8 @@ Because the exact path to the compiled Addon binary can vary depending on how it is compiled (i.e. sometimes it may be in `./build/Debug/`), Addons can use the [bindings][] package to load the compiled module. -Note that while the `bindings` package implementation is more sophisticated -in how it locates Addon modules, it is essentially using a try-catch pattern -similar to: +While the `bindings` package implementation is more sophisticated in how it +locates Addon modules, it is essentially using a try-catch pattern similar to: ```js try { @@ -588,10 +587,10 @@ NODE_MODULE(NODE_GYP_MODULE_NAME, Init) } // namespace demo ``` -Note that this example uses a two-argument form of `Init()` that receives -the full `module` object as the second argument. This allows the Addon -to completely overwrite `exports` with a single function instead of -adding the function as a property of `exports`. +This example uses a two-argument form of `Init()` that receives the full +`module` object as the second argument. This allows the Addon to completely +overwrite `exports` with a single function instead of adding the function as a +property of `exports`. To test it, run the following JavaScript: @@ -605,7 +604,7 @@ addon((msg) => { }); ``` -Note that, in this example, the callback function is invoked synchronously. +In this example, the callback function is invoked synchronously. ### Object factory From 64f8530adc073711295667c90592468f14770b78 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Thu, 20 Jun 2019 13:37:17 -0400 Subject: [PATCH 040/144] doc: fix typo in process.disconnect() docs "that" should be "the" in this sentence. This commit also restructures the sentence to avoid the word "process's" PR-URL: https://github.com/nodejs/node/pull/28328 Reviewed-By: Richard Lau Reviewed-By: Trivikram Kamat Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca Reviewed-By: Ruben Bridgewater --- doc/api/process.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/api/process.md b/doc/api/process.md index 4d238a3d7eb900..d75d935834be6c 100644 --- a/doc/api/process.md +++ b/doc/api/process.md @@ -763,8 +763,8 @@ and [Cluster][] documentation), the `process.disconnect()` method will close the IPC channel to the parent process, allowing the child process to exit gracefully once there are no other connections keeping it alive. -The effect of calling `process.disconnect()` is that same as calling the parent -process's [`ChildProcess.disconnect()`][]. +The effect of calling `process.disconnect()` is the same as calling +[`ChildProcess.disconnect()`][] from the parent process. If the Node.js process was not spawned with an IPC channel, `process.disconnect()` will be `undefined`. From e6070556939106b5c514bfee57250a48a352a6c7 Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Sun, 16 Jun 2019 23:00:17 +0200 Subject: [PATCH 041/144] bootstrap: --frozen-intrinsics override problem workaround PR-URL: https://github.com/nodejs/node/pull/28254 Reviewed-By: Anna Henningsen Reviewed-By: James M Snell --- doc/api/cli.md | 39 +--- lib/internal/freeze_intrinsics.js | 238 ++++++++++++++++++++---- test/parallel/test-freeze-intrinsics.js | 21 +++ 3 files changed, 225 insertions(+), 73 deletions(-) diff --git a/doc/api/cli.md b/doc/api/cli.md index fe790a43bb2f91..6d39563c427f31 100644 --- a/doc/api/cli.md +++ b/doc/api/cli.md @@ -209,44 +209,7 @@ Enable experimental frozen intrinsics like `Array` and `Object`. Support is currently only provided for the root context and no guarantees are currently provided that `global.Array` is indeed the default intrinsic -reference. - -**Code breakage is highly likely with this flag**, since redefining any -builtin properties on a subclass will throw in strict mode due to the ECMA-262 -issue https://github.com/tc39/ecma262/pull/1307. This flag may still change -or be removed in the future. - -To avoid these cases, any builtin function overrides should be defined upfront: - -```js -const o = {}; -// THROWS: Cannot assign read only property 'toString' of object -o.toString = () => 'string'; - -class X { - constructor() { - this.toString = () => 'string'; - } -} -// THROWS: Cannot assign read only property 'toString' of object -new X(); -``` - -```js -// OK -const o = { toString: () => 'string' }; - -class X { - toString = undefined; - constructor() { - this.toString = () => 'string'; - } -} -// OK -new X(); -``` - - +reference. Code may break under this flag. ### `--heapsnapshot-signal=signal` -Emitted when the server closes. Note that if connections exist, this +Emitted when the server closes. If connections exist, this event is not emitted until all connections are ended. ### Event: 'connection' @@ -448,7 +448,7 @@ added: v0.1.90 Emitted when data is received. The argument `data` will be a `Buffer` or `String`. Encoding of data is set by [`socket.setEncoding()`][]. -Note that the **data will be lost** if there is no listener when a `Socket` +The data will be lost if there is no listener when a `Socket` emits a `'data'` event. ### Event: 'drain' From f4c6f7a5dbfa4b617be475dcbc907ac23304104b Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 20 Jun 2019 13:41:00 -0600 Subject: [PATCH 060/144] doc: remove "note that" from modules.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/28329 Reviewed-By: Gus Caplan Reviewed-By: Trivikram Kamat Reviewed-By: Tobias Nießen Reviewed-By: Ruben Bridgewater --- doc/api/modules.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/api/modules.md b/doc/api/modules.md index 77369a500fbc10..73771f49af6639 100644 --- a/doc/api/modules.md +++ b/doc/api/modules.md @@ -589,8 +589,8 @@ added: v0.3.0 * {Object} Modules are cached in this object when they are required. By deleting a key -value from this object, the next `require` will reload the module. Note that -this does not apply to [native addons][], for which reloading will result in an +value from this object, the next `require` will reload the module. +This does not apply to [native addons][], for which reloading will result in an error. Adding or replacing entries is also possible. This cache is checked before @@ -675,7 +675,7 @@ changes: * `paths` {string[]} Paths to resolve module location from. If present, these paths are used instead of the default resolution paths, with the exception of [GLOBAL_FOLDERS][] like `$HOME/.node_modules`, which are always - included. Note that each of these paths is used as a starting point for + included. Each of these paths is used as a starting point for the module resolution algorithm, meaning that the `node_modules` hierarchy is checked from this location. * Returns: {string} @@ -728,7 +728,7 @@ added: v0.1.16 The `module.exports` object is created by the `Module` system. Sometimes this is not acceptable; many want their module to be an instance of some class. To do -this, assign the desired export object to `module.exports`. Note that assigning +this, assign the desired export object to `module.exports`. Assigning the desired object to `exports` will simply rebind the local `exports` variable, which is probably not what is desired. @@ -755,7 +755,7 @@ a.on('ready', () => { }); ``` -Note that assignment to `module.exports` must be done immediately. It cannot be +Assignment to `module.exports` must be done immediately. It cannot be done in any callbacks. This does not work: `x.js`: @@ -905,7 +905,7 @@ added: v9.3.0 A list of the names of all modules provided by Node.js. Can be used to verify if a module is maintained by a third party or not. -Note that `module` in this context isn't the same object that's provided +`module` in this context isn't the same object that's provided by the [module wrapper][]. To access it, require the `Module` module: ```js From f0a857f4b873007164bf070e18cd3b55f8e52c3c Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 20 Jun 2019 13:50:22 -0600 Subject: [PATCH 061/144] doc: remove "note that" from http2.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs: https://github.com/nodejs/remark-preset-lint-node/pull/16 PR-URL: https://github.com/nodejs/node/pull/28329 Reviewed-By: Gus Caplan Reviewed-By: Trivikram Kamat Reviewed-By: Tobias Nießen Reviewed-By: Ruben Bridgewater --- doc/api/http2.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/doc/api/http2.md b/doc/api/http2.md index cda24cd338f235..b1cf3479f300a3 100644 --- a/doc/api/http2.md +++ b/doc/api/http2.md @@ -988,7 +988,7 @@ The `'trailers'` event is emitted when a block of headers associated with trailing header fields is received. The listener callback is passed the [HTTP/2 Headers Object][] and flags associated with the headers. -Note that this event might not be emitted if `http2stream.end()` is called +This event might not be emitted if `http2stream.end()` is called before trailers are received and the incoming data is not being read or listened for. @@ -1488,7 +1488,7 @@ requests. The file descriptor is not closed when the stream is closed, so it will need to be closed manually once it is no longer needed. -Note that using the same file descriptor concurrently for multiple streams +Using the same file descriptor concurrently for multiple streams is not supported and may result in data loss. Re-using a file descriptor after a stream has finished is supported. @@ -1669,7 +1669,7 @@ client should continue to send the request body, or generating an appropriate HTTP response (e.g. 400 Bad Request) if the client should not continue to send the request body. -Note that when this event is emitted and handled, the [`'request'`][] event will +When this event is emitted and handled, the [`'request'`][] event will not be emitted. #### Event: 'request' @@ -1680,7 +1680,7 @@ added: v8.4.0 * `request` {http2.Http2ServerRequest} * `response` {http2.Http2ServerResponse} -Emitted each time there is a request. Note that there may be multiple requests +Emitted each time there is a request. There may be multiple requests per session. See the [Compatibility API][]. #### Event: 'session' @@ -1750,7 +1750,7 @@ added: v8.4.0 Stops the server from accepting new connections. See [`net.Server.close()`][]. -Note that this is not analogous to restricting new requests since HTTP/2 +This is not analogous to restricting new requests since HTTP/2 connections are persistent. To achieve a similar graceful shutdown behavior, consider also using [`http2session.close()`] on active sessions. @@ -1805,7 +1805,7 @@ client should continue to send the request body, or generating an appropriate HTTP response (e.g. 400 Bad Request) if the client should not continue to send the request body. -Note that when this event is emitted and handled, the [`'request'`][] event will +When this event is emitted and handled, the [`'request'`][] event will not be emitted. #### Event: 'request' @@ -1816,7 +1816,7 @@ added: v8.4.0 * `request` {http2.Http2ServerRequest} * `response` {http2.Http2ServerResponse} -Emitted each time there is a request. Note that there may be multiple requests +Emitted each time there is a request. There may be multiple requests per session. See the [Compatibility API][]. #### Event: 'session' @@ -1895,7 +1895,7 @@ added: v8.4.0 Stops the server from accepting new connections. See [`tls.Server.close()`][]. -Note that this is not analogous to restricting new requests since HTTP/2 +This is not analogous to restricting new requests since HTTP/2 connections are persistent. To achieve a similar graceful shutdown behavior, consider also using [`http2session.close()`] on active sessions. @@ -2771,7 +2771,7 @@ added: v8.4.0 The raw request/response headers list exactly as they were received. -Note that the keys and values are in the same list. It is *not* a +The keys and values are in the same list. It is *not* a list of tuples. So, the even-numbered offsets are key values, and the odd-numbered offsets are the associated values. @@ -3035,7 +3035,7 @@ added: v8.4.0 * Returns: {string} Reads out a header that has already been queued but not sent to the client. -Note that the name is case insensitive. +The name is case-insensitive. ```js const contentType = response.getHeader('content-type'); @@ -3094,7 +3094,7 @@ added: v8.4.0 * Returns: {boolean} Returns `true` if the header identified by `name` is currently set in the -outgoing headers. Note that the header name matching is case-insensitive. +outgoing headers. The header name matching is case-insensitive. ```js const hasContentType = response.hasHeader('content-type'); @@ -3278,7 +3278,7 @@ it will switch to implicit header mode and flush the implicit headers. This sends a chunk of the response body. This method may be called multiple times to provide successive parts of the body. -Note that in the `http` module, the response body is omitted when the +In the `http` module, the response body is omitted when the request is a HEAD request. Similarly, the `204` and `304` responses _must not_ include a message body. @@ -3341,12 +3341,12 @@ response.writeHead(200, { 'Content-Type': 'text/plain' }); ``` -Note that Content-Length is given in bytes not characters. The +`Content-Length` is given in bytes not characters. The `Buffer.byteLength()` API may be used to determine the number of bytes in a given encoding. On outbound messages, Node.js does not check if Content-Length and the length of the body being transmitted are equal or not. However, when receiving messages, Node.js will automatically reject messages when the -Content-Length does not match the actual payload size. +`Content-Length` does not match the actual payload size. This method may be called at most one time on a message before [`response.end()`][] is called. From 3174bc14a240d5c36a67b2766fbc120e9c2b65ac Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 20 Jun 2019 13:52:54 -0600 Subject: [PATCH 062/144] doc: remove "note that" from http.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs: https://github.com/nodejs/remark-preset-lint-node/pull/16 PR-URL: https://github.com/nodejs/node/pull/28329 Reviewed-By: Gus Caplan Reviewed-By: Trivikram Kamat Reviewed-By: Tobias Nießen Reviewed-By: Ruben Bridgewater --- doc/api/http.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/doc/api/http.md b/doc/api/http.md index a19e09150eee03..53cd9d3bb8aa03 100644 --- a/doc/api/http.md +++ b/doc/api/http.md @@ -624,7 +624,7 @@ added: v1.6.0 * `name` {string} * Returns: {any} -Reads out a header on the request. Note that the name is case insensitive. +Reads out a header on the request. The name is case-insensitive. The type of the return value depends on the arguments provided to [`request.setHeader()`][]. @@ -810,7 +810,7 @@ client should continue to send the request body, or generating an appropriate HTTP response (e.g. 400 Bad Request) if the client should not continue to send the request body. -Note that when this event is emitted and handled, the [`'request'`][] event will +When this event is emitted and handled, the [`'request'`][] event will not be emitted. ### Event: 'checkExpectation' @@ -825,7 +825,7 @@ Emitted each time a request with an HTTP `Expect` header is received, where the value is not `100-continue`. If this event is not listened for, the server will automatically respond with a `417 Expectation Failed` as appropriate. -Note that when this event is emitted and handled, the [`'request'`][] event will +When this event is emitted and handled, the [`'request'`][] event will not be emitted. ### Event: 'clientError' @@ -939,7 +939,7 @@ added: v0.1.0 * `request` {http.IncomingMessage} * `response` {http.ServerResponse} -Emitted each time there is a request. Note that there may be multiple requests +Emitted each time there is a request. There may be multiple requests per connection (in the case of HTTP Keep-Alive connections). ### Event: 'upgrade' @@ -1118,7 +1118,7 @@ Trailers will **only** be emitted if chunked encoding is used for the response; if it is not (e.g. if the request was HTTP/1.0), they will be silently discarded. -Note that HTTP requires the `Trailer` header to be sent in order to +HTTP requires the `Trailer` header to be sent in order to emit trailers, with a list of the header fields in its value. E.g., ```js @@ -1184,7 +1184,7 @@ added: v0.4.0 * Returns: {any} Reads out a header that's already been queued but not sent to the client. -Note that the name is case insensitive. The type of the return value depends +The name is case-insensitive. The type of the return value depends on the arguments provided to [`response.setHeader()`][]. ```js @@ -1252,7 +1252,7 @@ added: v7.7.0 * Returns: {boolean} Returns `true` if the header identified by `name` is currently set in the -outgoing headers. Note that the header name matching is case-insensitive. +outgoing headers. The header name matching is case-insensitive. ```js const hasContentType = response.hasHeader('content-type'); @@ -1435,7 +1435,7 @@ it will switch to implicit header mode and flush the implicit headers. This sends a chunk of the response body. This method may be called multiple times to provide successive parts of the body. -Note that in the `http` module, the response body is omitted when the +In the `http` module, the response body is omitted when the request is a HEAD request. Similarly, the `204` and `304` responses _must not_ include a message body. @@ -1528,11 +1528,11 @@ const server = http.createServer((req, res) => { }); ``` -Note that Content-Length is given in bytes not characters. The above example +`Content-Length` is given in bytes not characters. The above example works because the string `'hello world'` contains only single byte characters. If the body contains higher coded characters then `Buffer.byteLength()` should be used to determine the number of bytes in a given encoding. -And Node.js does not check whether Content-Length and the length of the body +And Node.js does not check whether `Content-Length` and the length of the body which has been transmitted are equal or not. Attempting to set a header field name or value that contains invalid characters @@ -1687,7 +1687,7 @@ added: v0.11.6 The raw request/response headers list exactly as they were received. -Note that the keys and values are in the same list. It is *not* a +The keys and values are in the same list. It is *not* a list of tuples. So, the even-numbered offsets are key values, and the odd-numbered offsets are the associated values. @@ -1908,7 +1908,7 @@ changes: Since most requests are GET requests without bodies, Node.js provides this convenience method. The only difference between this method and [`http.request()`][] is that it sets the method to GET and calls `req.end()` -automatically. Note that the callback must take care to consume the response +automatically. The callback must take care to consume the response data for reasons stated in [`http.ClientRequest`][] section. The `callback` is invoked with a single argument that is an instance of @@ -2083,7 +2083,7 @@ req.write(postData); req.end(); ``` -Note that in the example `req.end()` was called. With `http.request()` one +In the example `req.end()` was called. With `http.request()` one must always call `req.end()` to signify the end of the request - even if there is no data being written to the request body. @@ -2157,7 +2157,7 @@ will be emitted in the following order: * `'end'` on the `res` object * `'close'` on the `res` object -Note that setting the `timeout` option or using the `setTimeout()` function will +Setting the `timeout` option or using the `setTimeout()` function will not abort the request or do anything besides add a `'timeout'` event. [`--http-server-default-timeout`]: cli.html#cli_http_server_default_timeout_milliseconds From d65c90b545582dfb1da4ff185c6a4870a40ca21b Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 20 Jun 2019 13:54:20 -0600 Subject: [PATCH 063/144] doc: remove "note that" from fs.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs: https://github.com/nodejs/remark-preset-lint-node/pull/16 PR-URL: https://github.com/nodejs/node/pull/28329 Reviewed-By: Gus Caplan Reviewed-By: Trivikram Kamat Reviewed-By: Tobias Nießen Reviewed-By: Ruben Bridgewater --- doc/api/fs.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/api/fs.md b/doc/api/fs.md index f1b7e1ccbb1c60..f1e2bcb60ab98a 100644 --- a/doc/api/fs.md +++ b/doc/api/fs.md @@ -3635,8 +3635,8 @@ conditions, `fs.write()` may write only part of the buffer and will need to be retried to write the remaining data, whereas `fs.writeFile()` will retry until the data is entirely written (or an error occurs). -Since the implications of this are a common source of confusion, note that in -the file descriptor case the file is not replaced! The data is not necessarily +The implications of this are a common source of confusion. In +the file descriptor case, the file is not replaced! The data is not necessarily written to the beginning of the file, and the file's original data may remain before and/or after the newly written data. From 520ef836c11a2301a25d8523ceee2ec8066ade84 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 20 Jun 2019 13:54:55 -0600 Subject: [PATCH 064/144] doc: remove "note that" from events.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs: https://github.com/nodejs/remark-preset-lint-node/pull/16 PR-URL: https://github.com/nodejs/node/pull/28329 Reviewed-By: Gus Caplan Reviewed-By: Trivikram Kamat Reviewed-By: Tobias Nießen Reviewed-By: Ruben Bridgewater --- doc/api/events.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/api/events.md b/doc/api/events.md index 37c8716e2c5e6c..1e41b10b8c7781 100644 --- a/doc/api/events.md +++ b/doc/api/events.md @@ -261,7 +261,7 @@ change affects *all* `EventEmitter` instances, including those created before the change is made. However, calling [`emitter.setMaxListeners(n)`][] still has precedence over `EventEmitter.defaultMaxListeners`. -Note that this is not a hard limit. The `EventEmitter` instance will allow +This is not a hard limit. The `EventEmitter` instance will allow more listeners to be added but will output a trace warning to stderr indicating that a "possible EventEmitter memory leak" has been detected. For any single `EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()` @@ -508,7 +508,7 @@ added: v0.1.26 Removes all listeners, or those of the specified `eventName`. -Note that it is bad practice to remove listeners added elsewhere in the code, +It is bad practice to remove listeners added elsewhere in the code, particularly when the `EventEmitter` instance was created by some other component or module (e.g. sockets or file streams). @@ -539,7 +539,7 @@ listener array. If any single listener has been added multiple times to the listener array for the specified `eventName`, then `removeListener()` must be called multiple times to remove each instance. -Note that once an event has been emitted, all listeners attached to it at the +Once an event has been emitted, all listeners attached to it at the time of emitting will be called in order. This implies that any `removeListener()` or `removeAllListeners()` calls *after* emitting and *before* the last listener finishes execution will not remove them from From 75954865e6a11b7474cbe3014486496ea2d8ef26 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 20 Jun 2019 13:55:29 -0600 Subject: [PATCH 065/144] doc: remove "note that" from errors.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs: https://github.com/nodejs/remark-preset-lint-node/pull/16 PR-URL: https://github.com/nodejs/node/pull/28329 Reviewed-By: Gus Caplan Reviewed-By: Trivikram Kamat Reviewed-By: Tobias Nießen Reviewed-By: Ruben Bridgewater --- doc/api/errors.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/errors.md b/doc/api/errors.md index 24385d99b6ac1f..64c1da8f93ab10 100644 --- a/doc/api/errors.md +++ b/doc/api/errors.md @@ -634,7 +634,7 @@ An attempt was made to register something that is not a function as an ### ERR_ASYNC_TYPE -The type of an asynchronous resource was invalid. Note that users are also able +The type of an asynchronous resource was invalid. Users are also able to define their own types if using the public embedder API. From f3b4449c071919d210510b65b45be89454f1895a Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 20 Jun 2019 13:56:22 -0600 Subject: [PATCH 066/144] doc: remove "note that" from domain.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs: https://github.com/nodejs/remark-preset-lint-node/pull/16 PR-URL: https://github.com/nodejs/node/pull/28329 Reviewed-By: Gus Caplan Reviewed-By: Trivikram Kamat Reviewed-By: Tobias Nießen Reviewed-By: Ruben Bridgewater --- doc/api/domain.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/api/domain.md b/doc/api/domain.md index 63dbcabbbc205d..803fc2b830efd7 100644 --- a/doc/api/domain.md +++ b/doc/api/domain.md @@ -470,9 +470,9 @@ d2.run(() => { }); ``` -Note that domains will not interfere with the error handling mechanisms for -Promises, i.e. no `'error'` event will be emitted for unhandled `Promise` -rejections. +Domains will not interfere with the error handling mechanisms for +Promises. In other words, no `'error'` event will be emitted for unhandled +`Promise` rejections. [`Error`]: errors.html#errors_class_error [`EventEmitter`]: events.html#events_class_eventemitter From 33d9cf5a7c26f74e76a1967b7b0205bbb9fa84d3 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 20 Jun 2019 13:58:22 -0600 Subject: [PATCH 067/144] doc: remove "note that" from dns.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs: https://github.com/nodejs/remark-preset-lint-node/pull/16 PR-URL: https://github.com/nodejs/node/pull/28329 Reviewed-By: Gus Caplan Reviewed-By: Trivikram Kamat Reviewed-By: Tobias Nießen Reviewed-By: Ruben Bridgewater --- doc/api/dns.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/doc/api/dns.md b/doc/api/dns.md index f019222a279db9..e70ee403627473 100644 --- a/doc/api/dns.md +++ b/doc/api/dns.md @@ -63,7 +63,7 @@ added: v8.3.0 An independent resolver for DNS requests. -Note that creating a new resolver uses the default server settings. Setting +Creating a new resolver uses the default server settings. Setting the servers used for a resolver using [`resolver.setServers()`][`dns.setServers()`] does not affect other resolvers: @@ -212,7 +212,7 @@ of addresses supported by the current system. For example, IPv4 addresses are only returned if the current system has at least one IPv4 address configured. Loopback addresses are not considered. - `dns.V4MAPPED`: If the IPv6 family was specified, but no IPv6 addresses were -found, then return IPv4 mapped IPv6 addresses. Note that it is not supported +found, then return IPv4 mapped IPv6 addresses. It is not supported on some operating systems (e.g FreeBSD 10.1). ## dns.lookupService(address, port, callback) @@ -582,7 +582,7 @@ The [`dns.setServers()`][] method affects only [`dns.resolve()`][], `dns.resolve*()` and [`dns.reverse()`][] (and specifically *not* [`dns.lookup()`][]). -Note that this method works much like +This method works much like [resolve.conf](http://man7.org/linux/man-pages/man5/resolv.conf.5.html). That is, if attempting to resolve with the first server provided results in a `NOTFOUND` error, the `resolve()` method will *not* attempt to resolve with @@ -604,7 +604,7 @@ added: v10.6.0 An independent resolver for DNS requests. -Note that creating a new resolver uses the default server settings. Setting +Creating a new resolver uses the default server settings. Setting the servers used for a resolver using [`resolver.setServers()`][`dnsPromises.setServers()`] does not affect other resolvers: @@ -1032,7 +1032,7 @@ An error will be thrown if an invalid address is provided. The `dnsPromises.setServers()` method must not be called while a DNS query is in progress. -Note that this method works much like +This method works much like [resolve.conf](http://man7.org/linux/man-pages/man5/resolv.conf.5.html). That is, if attempting to resolve with the first server provided results in a `NOTFOUND` error, the `resolve()` method will *not* attempt to resolve with @@ -1083,8 +1083,8 @@ as most other programs. For instance, [`dns.lookup()`][] will almost always resolve a given name the same way as the `ping` command. On most POSIX-like operating systems, the behavior of the [`dns.lookup()`][] function can be modified by changing settings in nsswitch.conf(5) and/or resolv.conf(5), -but note that changing these files will change the behavior of _all other -programs running on the same operating system_. +but changing these files will change the behavior of all other +programs running on the same operating system. Though the call to `dns.lookup()` will be asynchronous from JavaScript's perspective, it is implemented as a synchronous call to getaddrinfo(3) that runs @@ -1092,7 +1092,7 @@ on libuv's threadpool. This can have surprising negative performance implications for some applications, see the [`UV_THREADPOOL_SIZE`][] documentation for more information. -Note that various networking APIs will call `dns.lookup()` internally to resolve +Various networking APIs will call `dns.lookup()` internally to resolve host names. If that is an issue, consider resolving the hostname to an address using `dns.resolve()` and using the address instead of a host name. Also, some networking APIs (such as [`socket.connect()`][] and [`dgram.createSocket()`][]) From c41dbf5bc7e4598f89a309d399cc95a3d8cfb560 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 20 Jun 2019 13:59:12 -0600 Subject: [PATCH 068/144] doc: remove "note that" from dgram.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs: https://github.com/nodejs/remark-preset-lint-node/pull/16 PR-URL: https://github.com/nodejs/node/pull/28329 Reviewed-By: Gus Caplan Reviewed-By: Trivikram Kamat Reviewed-By: Tobias Nießen Reviewed-By: Ruben Bridgewater --- doc/api/dgram.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/api/dgram.md b/doc/api/dgram.md index 1d815ba56b338b..d0af318117863a 100644 --- a/doc/api/dgram.md +++ b/doc/api/dgram.md @@ -149,7 +149,7 @@ attempt to listen on all addresses. Once binding is complete, a `'listening'` event is emitted and the optional `callback` function is called. -Note that specifying both a `'listening'` event listener and passing a +Specifying both a `'listening'` event listener and passing a `callback` to the `socket.bind()` method is not harmful but not very useful. @@ -209,7 +209,7 @@ than `0` is set, it will wrap around an existing socket with the given file descriptor. In this case, the properties of `port` and `address` will be ignored. -Note that specifying both a `'listening'` event listener and passing a +Specifying both a `'listening'` event listener and passing a `callback` to the `socket.bind()` method is not harmful but not very useful. @@ -387,7 +387,7 @@ is assigned a random port number and is bound to the "all interfaces" address An optional `callback` function may be specified to as a way of reporting DNS errors or for determining when it is safe to reuse the `buf` object. -Note that DNS lookups delay the time to send for at least one tick of the +DNS lookups delay the time to send for at least one tick of the Node.js event loop. The only way to know for sure that the datagram has been sent is by using a From 898b69ccdf63394e7dadc6968cd7ed83175d5a82 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 20 Jun 2019 14:01:15 -0600 Subject: [PATCH 069/144] doc: remove "note that" from crypto.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs: https://github.com/nodejs/remark-preset-lint-node/pull/16 PR-URL: https://github.com/nodejs/node/pull/28329 Reviewed-By: Gus Caplan Reviewed-By: Trivikram Kamat Reviewed-By: Tobias Nießen Reviewed-By: Ruben Bridgewater --- doc/api/crypto.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/doc/api/crypto.md b/doc/api/crypto.md index 1fa0122a513f2e..93098a6f3edc2b 100644 --- a/doc/api/crypto.md +++ b/doc/api/crypto.md @@ -44,7 +44,7 @@ added: v0.11.8 SPKAC is a Certificate Signing Request mechanism originally implemented by Netscape and was specified formally as part of [HTML5's `keygen` element][]. -Note that `` is deprecated since [HTML 5.2][] and new projects +`` is deprecated since [HTML 5.2][] and new projects should not use this element anymore. The `crypto` module provides the `Certificate` class for working with SPKAC @@ -887,7 +887,7 @@ Sets the EC Diffie-Hellman public key. If `encoding` is provided `publicKey` is expected to be a string; otherwise a [`Buffer`][], `TypedArray`, or `DataView` is expected. -Note that there is not normally a reason to call this method because `ECDH` +There is not normally a reason to call this method because `ECDH` only requires a private key and the other party's public key to compute the shared secret. Typically either [`ecdh.generateKeys()`][] or [`ecdh.setPrivateKey()`][] will be called. The [`ecdh.setPrivateKey()`][] method @@ -1311,7 +1311,7 @@ object, the following additional properties can be passed: * `crypto.constants.RSA_PKCS1_PADDING` (default) * `crypto.constants.RSA_PKCS1_PSS_PADDING` - Note that `RSA_PKCS1_PSS_PADDING` will use MGF1 with the same hash function + `RSA_PKCS1_PSS_PADDING` will use MGF1 with the same hash function used to sign the message as specified in section 3.1 of [RFC 4055][], unless an MGF1 hash function has been specified as part of the key in compliance with section 3.3 of [RFC 4055][]. @@ -1415,7 +1415,7 @@ object, the following additional properties can be passed: * `crypto.constants.RSA_PKCS1_PADDING` (default) * `crypto.constants.RSA_PKCS1_PSS_PADDING` - Note that `RSA_PKCS1_PSS_PADDING` will use MGF1 with the same hash function + `RSA_PKCS1_PSS_PADDING` will use MGF1 with the same hash function used to verify the message as specified in section 3.1 of [RFC 4055][], unless an MGF1 hash function has been specified as part of the key in compliance with section 3.3 of [RFC 4055][]. @@ -2200,8 +2200,8 @@ crypto.pbkdf2('secret', 'salt', 100000, 512, 'sha512', (err, derivedKey) => { An array of supported digest functions can be retrieved using [`crypto.getHashes()`][]. -Note that this API uses libuv's threadpool, which can have surprising and -negative performance implications for some applications, see the +This API uses libuv's threadpool, which can have surprising and +negative performance implications for some applications; see the [`UV_THREADPOOL_SIZE`][] documentation for more information. ### crypto.pbkdf2Sync(password, salt, iterations, keylen, digest) @@ -2417,8 +2417,8 @@ This should normally never take longer than a few milliseconds. The only time when generating the random bytes may conceivably block for a longer period of time is right after boot, when the whole system is still low on entropy. -Note that this API uses libuv's threadpool, which can have surprising and -negative performance implications for some applications, see the +This API uses libuv's threadpool, which can have surprising and +negative performance implications for some applications; see the [`UV_THREADPOOL_SIZE`][] documentation for more information. The asynchronous version of `crypto.randomBytes()` is carried out in a single @@ -2538,8 +2538,8 @@ crypto.randomFill(c, (err, buf) => { }); ``` -Note that this API uses libuv's threadpool, which can have surprising and -negative performance implications for some applications, see the +This API uses libuv's threadpool, which can have surprising and +negative performance implications for some applications; see the [`UV_THREADPOOL_SIZE`][] documentation for more information. The asynchronous version of `crypto.randomFill()` is carried out in a single @@ -2711,7 +2711,7 @@ additional properties can be passed: * `crypto.constants.RSA_PKCS1_PADDING` (default) * `crypto.constants.RSA_PKCS1_PSS_PADDING` - Note that `RSA_PKCS1_PSS_PADDING` will use MGF1 with the same hash function + `RSA_PKCS1_PSS_PADDING` will use MGF1 with the same hash function used to sign the message as specified in section 3.1 of [RFC 4055][]. * `saltLength`: {integer} - salt length for when padding is `RSA_PKCS1_PSS_PADDING`. The special value @@ -2762,7 +2762,7 @@ additional properties can be passed: * `crypto.constants.RSA_PKCS1_PADDING` (default) * `crypto.constants.RSA_PKCS1_PSS_PADDING` - Note that `RSA_PKCS1_PSS_PADDING` will use MGF1 with the same hash function + `RSA_PKCS1_PSS_PADDING` will use MGF1 with the same hash function used to sign the message as specified in section 3.1 of [RFC 4055][]. * `saltLength`: {integer} - salt length for when padding is `RSA_PKCS1_PSS_PADDING`. The special value From af05ad123eacc85dc1b005b92d2f68b207c46153 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 20 Jun 2019 14:01:59 -0600 Subject: [PATCH 070/144] doc: remove "note that" from console.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs: https://github.com/nodejs/remark-preset-lint-node/pull/16 PR-URL: https://github.com/nodejs/node/pull/28329 Reviewed-By: Gus Caplan Reviewed-By: Trivikram Kamat Reviewed-By: Tobias Nießen Reviewed-By: Ruben Bridgewater --- doc/api/console.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/console.md b/doc/api/console.md index a8369290dfbf0f..190e03007acc11 100644 --- a/doc/api/console.md +++ b/doc/api/console.md @@ -267,7 +267,7 @@ changes: * `...data` {any} This method calls `console.log()` passing it the arguments received. -Please note that this method does not produce any XML formatting. +This method does not produce any XML formatting. ### console.error([data][, ...args]) -Note that `buffer.constants` is a property on the `buffer` module returned by +`buffer.constants` is a property on the `buffer` module returned by `require('buffer')`, not on the `Buffer` global or a `Buffer` instance. ### buffer.constants.MAX_LENGTH From d3849117466e1986d60334126269150975d8e363 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 20 Jun 2019 14:09:34 -0600 Subject: [PATCH 074/144] doc: remove "note that" from async_hooks.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/28329 Reviewed-By: Gus Caplan Reviewed-By: Trivikram Kamat Reviewed-By: Tobias Nießen Reviewed-By: Ruben Bridgewater --- doc/api/async_hooks.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/api/async_hooks.md b/doc/api/async_hooks.md index 3e28aa21a8c3c3..487f3ac9c13c5f 100644 --- a/doc/api/async_hooks.md +++ b/doc/api/async_hooks.md @@ -111,7 +111,7 @@ const asyncHook = async_hooks.createHook({ }); ``` -Note that the callbacks will be inherited via the prototype chain: +The callbacks will be inherited via the prototype chain: ```js class MyAsyncCallbacks { @@ -439,7 +439,7 @@ added: v8.6.0 Called when the `resolve` function passed to the `Promise` constructor is invoked (either directly or through other means of resolving a promise). -Note that `resolve()` does not do any observable synchronous work. +`resolve()` does not do any observable synchronous work. The `Promise` is not necessarily fulfilled or rejected at this point if the `Promise` was resolved by assuming the state of another `Promise`. @@ -497,7 +497,7 @@ const server = net.createServer((conn) => { }); ``` -Note that promise contexts may not get precise `executionAsyncIds` by default. +Promise contexts may not get precise `executionAsyncIds` by default. See the section on [promise execution tracking][]. #### async_hooks.triggerAsyncId() @@ -520,7 +520,7 @@ const server = net.createServer((conn) => { }); ``` -Note that promise contexts may not get valid `triggerAsyncId`s by default. See +Promise contexts may not get valid `triggerAsyncId`s by default. See the section on [promise execution tracking][]. ## Promise execution tracking @@ -540,7 +540,7 @@ Promise.resolve(1729).then(() => { ``` Observe that the `then()` callback claims to have executed in the context of the -outer scope even though there was an asynchronous hop involved. Also note that +outer scope even though there was an asynchronous hop involved. Also, the `triggerAsyncId` value is `0`, which means that we are missing context about the resource that caused (triggered) the `then()` callback to be executed. From d759e0fa4972067fd538bb8492f51dbc50aff54a Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 20 Jun 2019 14:10:15 -0600 Subject: [PATCH 075/144] doc: remove "note that" from assert.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Refs: https://github.com/nodejs/remark-preset-lint-node/pull/16 PR-URL: https://github.com/nodejs/node/pull/28329 Reviewed-By: Gus Caplan Reviewed-By: Trivikram Kamat Reviewed-By: Tobias Nießen Reviewed-By: Ruben Bridgewater --- doc/api/assert.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/doc/api/assert.md b/doc/api/assert.md index 822e05aa1c7fe8..cc65dbcf6e379a 100644 --- a/doc/api/assert.md +++ b/doc/api/assert.md @@ -115,7 +115,7 @@ assert.deepEqual([[[1, 2, 3]], 4, 5], [[[1, 2, '3']], 4, 5]); ``` To deactivate the colors, use the `NODE_DISABLE_COLORS` environment variable. -Please note that this will also deactivate the colors in the REPL. +This will also deactivate the colors in the REPL. ## Legacy mode @@ -1029,7 +1029,7 @@ assert.rejects( }); ``` -Note that `error` cannot be a string. If a string is provided as the second +`error` cannot be a string. If a string is provided as the second argument, then `error` is assumed to be omitted and the string will be used for `message` instead. This can lead to easy-to-miss mistakes. Please read the example in [`assert.throws()`][] carefully if using a string as the second @@ -1131,7 +1131,7 @@ assert.throws( nested: true, baz: 'text' } - // Note that only properties on the validation object will be tested for. + // Only properties on the validation object will be tested for. // Using nested objects requires all properties to be present. Otherwise // the validation is going to fail. } @@ -1217,7 +1217,7 @@ assert.throws( ); ``` -Note that `error` cannot be a string. If a string is provided as the second +`error` cannot be a string. If a string is provided as the second argument, then `error` is assumed to be omitted and the string will be used for `message` instead. This can lead to easy-to-miss mistakes. Using the same message as the thrown error message is going to result in an From ed8cee6b1a240a86d6495145fd180db679c88be6 Mon Sep 17 00:00:00 2001 From: Gabriel Schulhof Date: Wed, 19 Jun 2019 13:11:39 -0700 Subject: [PATCH 076/144] n-api: add error message for date expected PR-URL: https://github.com/nodejs/node/pull/28303 Reviewed-By: Anna Henningsen Reviewed-By: Colin Ihrig Reviewed-By: Michael Dawson --- src/js_native_api_v8.cc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/js_native_api_v8.cc b/src/js_native_api_v8.cc index 30f34b474c2822..2f5a4bf83cd9f1 100644 --- a/src/js_native_api_v8.cc +++ b/src/js_native_api_v8.cc @@ -676,6 +676,7 @@ const char* error_messages[] = {nullptr, "Thread-safe function queue is full", "Thread-safe function handle is closing", "A bigint was expected", + "A date was expected", }; napi_status napi_get_last_error_info(napi_env env, @@ -688,7 +689,7 @@ napi_status napi_get_last_error_info(napi_env env, // We don't have a napi_status_last as this would result in an ABI // change each time a message was added. static_assert( - NAPI_ARRAYSIZE(error_messages) == napi_bigint_expected + 1, + NAPI_ARRAYSIZE(error_messages) == napi_date_expected + 1, "Count of error messages must match count of error values"); CHECK_LE(env->last_error.error_code, napi_callback_scope_mismatch); From def96ae278bcf0437c5fb345a234f8c1a1076b5b Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Thu, 20 Jun 2019 08:09:17 +0200 Subject: [PATCH 077/144] crypto: move _scrypt call out of handleError funct MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit moves the _scrypt function call out of the handleError function, which now only takes in an error object as its parameter. The motivation for this is to hopefully improve readability as it was not clear to me the first time I stepped through the code where the actual call to _scrypt was. PR-URL: https://github.com/nodejs/node/pull/28318 Reviewed-By: Yongsheng Zhang Reviewed-By: Benjamin Gruenbaum Reviewed-By: Ben Noordhuis Reviewed-By: Anna Henningsen Reviewed-By: Rich Trott Reviewed-By: Tobias Nießen Reviewed-By: James M Snell --- lib/internal/crypto/scrypt.js | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/internal/crypto/scrypt.js b/lib/internal/crypto/scrypt.js index 0ed4140c9c5df5..50a2bbc1536026 100644 --- a/lib/internal/crypto/scrypt.js +++ b/lib/internal/crypto/scrypt.js @@ -44,7 +44,7 @@ function scrypt(password, salt, keylen, options, callback = defaults) { callback.call(wrap, null, keybuf.toString(encoding)); }; - handleError(keybuf, password, salt, N, r, p, maxmem, wrap); + handleError(_scrypt(keybuf, password, salt, N, r, p, maxmem, wrap)); } function scryptSync(password, salt, keylen, options = defaults) { @@ -52,15 +52,13 @@ function scryptSync(password, salt, keylen, options = defaults) { const { N, r, p, maxmem } = options; ({ password, salt, keylen } = options); const keybuf = Buffer.alloc(keylen); - handleError(keybuf, password, salt, N, r, p, maxmem); + handleError(_scrypt(keybuf, password, salt, N, r, p, maxmem)); const encoding = getDefaultEncoding(); if (encoding === 'buffer') return keybuf; return keybuf.toString(encoding); } -function handleError(keybuf, password, salt, N, r, p, maxmem, wrap) { - const ex = _scrypt(keybuf, password, salt, N, r, p, maxmem, wrap); - +function handleError(ex) { if (ex === undefined) return; From 47b230a92b2b99b4ebbe02134a7d127f1940f769 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Thu, 20 Jun 2019 08:09:17 +0200 Subject: [PATCH 078/144] crypto: move _randomBytes call out of handleError funct MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit moves the _randomBytes function call out of the handleError function, which now it takes in an error and a buf object as its parameters. PR-URL: https://github.com/nodejs/node/pull/28318 Reviewed-By: Yongsheng Zhang Reviewed-By: Benjamin Gruenbaum Reviewed-By: Ben Noordhuis Reviewed-By: Anna Henningsen Reviewed-By: Rich Trott Reviewed-By: Tobias Nießen Reviewed-By: James M Snell --- lib/internal/crypto/random.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/internal/crypto/random.js b/lib/internal/crypto/random.js index 257b00a9ce0519..f42458aa788985 100644 --- a/lib/internal/crypto/random.js +++ b/lib/internal/crypto/random.js @@ -51,7 +51,7 @@ function randomBytes(size, cb) { const buf = Buffer.alloc(size); - if (!cb) return handleError(buf, 0, size); + if (!cb) return handleError(_randomBytes(buf, 0, size), buf); const wrap = new AsyncWrap(Providers.RANDOMBYTESREQUEST); wrap.ondone = (ex) => { // Retains buf while request is in flight. @@ -77,7 +77,7 @@ function randomFillSync(buf, offset = 0, size) { size = assertSize(size, elementSize, offset, buf.byteLength); } - return handleError(buf, offset, size); + return handleError(_randomBytes(buf, offset, size), buf); } function randomFill(buf, offset, size, cb) { @@ -115,8 +115,7 @@ function randomFill(buf, offset, size, cb) { _randomBytes(buf, offset, size, wrap); } -function handleError(buf, offset, size) { - const ex = _randomBytes(buf, offset, size); +function handleError(ex, buf) { if (ex) throw ex; return buf; } From 558e9cfb6cc0d2f8f88a25b6f88ccbe52abffaf6 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Thu, 20 Jun 2019 08:09:17 +0200 Subject: [PATCH 079/144] crypto: move _pbkdf2 call out of handleError funct MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit moves the _pbkdf2 function call out of the handleError function, which now only takes in an error and a digest object as its parameters. PR-URL: https://github.com/nodejs/node/pull/28318 Reviewed-By: Yongsheng Zhang Reviewed-By: Benjamin Gruenbaum Reviewed-By: Ben Noordhuis Reviewed-By: Anna Henningsen Reviewed-By: Rich Trott Reviewed-By: Tobias Nießen Reviewed-By: James M Snell --- lib/internal/crypto/pbkdf2.js | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/internal/crypto/pbkdf2.js b/lib/internal/crypto/pbkdf2.js index fc6341b83f4110..d8c4bc9b518dc1 100644 --- a/lib/internal/crypto/pbkdf2.js +++ b/lib/internal/crypto/pbkdf2.js @@ -38,14 +38,15 @@ function pbkdf2(password, salt, iterations, keylen, digest, callback) { callback.call(wrap, null, keybuf.toString(encoding)); }; - handleError(keybuf, password, salt, iterations, digest, wrap); + handleError(_pbkdf2(keybuf, password, salt, iterations, digest, wrap), + digest); } function pbkdf2Sync(password, salt, iterations, keylen, digest) { ({ password, salt, iterations, keylen, digest } = check(password, salt, iterations, keylen, digest)); const keybuf = Buffer.alloc(keylen); - handleError(keybuf, password, salt, iterations, digest); + handleError(_pbkdf2(keybuf, password, salt, iterations, digest), digest); const encoding = getDefaultEncoding(); if (encoding === 'buffer') return keybuf; return keybuf.toString(encoding); @@ -71,9 +72,7 @@ function check(password, salt, iterations, keylen, digest) { return { password, salt, iterations, keylen, digest }; } -function handleError(keybuf, password, salt, iterations, digest, wrap) { - const rc = _pbkdf2(keybuf, password, salt, iterations, digest, wrap); - +function handleError(rc, digest) { if (rc === -1) throw new ERR_CRYPTO_INVALID_DIGEST(digest); From f21ddb2131d334ab1631602de1e75f8a7b2e60cf Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Thu, 20 Jun 2019 08:09:17 +0200 Subject: [PATCH 080/144] crypto: move _impl call out of handleError funct MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit moves the _impl function call out of the handleError function, which now only takes in an object as its parameter. PR-URL: https://github.com/nodejs/node/pull/28318 Reviewed-By: Yongsheng Zhang Reviewed-By: Benjamin Gruenbaum Reviewed-By: Ben Noordhuis Reviewed-By: Anna Henningsen Reviewed-By: Rich Trott Reviewed-By: Tobias Nießen Reviewed-By: James M Snell --- lib/internal/crypto/keygen.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/internal/crypto/keygen.js b/lib/internal/crypto/keygen.js index f646f436f7678a..0a4bde77fa369b 100644 --- a/lib/internal/crypto/keygen.js +++ b/lib/internal/crypto/keygen.js @@ -60,7 +60,7 @@ function generateKeyPair(type, options, callback) { callback.call(wrap, null, pubkey, privkey); }; - handleError(impl, wrap); + handleError(impl(wrap)); } Object.defineProperty(generateKeyPair, customPromisifyArgs, { @@ -70,11 +70,10 @@ Object.defineProperty(generateKeyPair, customPromisifyArgs, { function generateKeyPairSync(type, options) { const impl = check(type, options); - return handleError(impl); + return handleError(impl()); } -function handleError(impl, wrap) { - const ret = impl(wrap); +function handleError(ret) { if (ret === undefined) return; // async From 5047006980a4f1dbe2ee27f800fe77ecc62a02a5 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Wed, 19 Jun 2019 05:18:02 +0200 Subject: [PATCH 081/144] test: use regex for OpenSSL function name This commit modifies test-crypt-scrypt.js to use a regular expression for the function name in the error message, similar to what is done for the error code. The motivation for this change comes from a case where we (Red Hat) patch OpenSSL and the memory limit checking is done in a different function, meaning that the function name from which this error originates differs from that when linking to the OpenSSL version shipped with Node.js. PR-URL: https://github.com/nodejs/node/pull/28289 Reviewed-By: Sam Roberts Reviewed-By: Anna Henningsen Reviewed-By: Ben Noordhuis --- test/parallel/test-crypto-scrypt.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/parallel/test-crypto-scrypt.js b/test/parallel/test-crypto-scrypt.js index e1d0ddf10c98f4..7c7f089606b852 100644 --- a/test/parallel/test-crypto-scrypt.js +++ b/test/parallel/test-crypto-scrypt.js @@ -169,7 +169,8 @@ for (const options of bad) { for (const options of toobig) { const expected = { - message: /error:[^:]+:digital envelope routines:EVP_PBE_scrypt:memory limit exceeded/, + message: new RegExp('error:[^:]+:digital envelope routines:' + + '(?:EVP_PBE_scrypt|scrypt_alg):memory limit exceeded'), type: Error, }; common.expectsError(() => crypto.scrypt('pass', 'salt', 1, options, () => {}), From 818f08416c456a33173bfad25d81b00fd0c842f0 Mon Sep 17 00:00:00 2001 From: nicolasrestrepo Date: Fri, 21 Jun 2019 16:46:14 -0500 Subject: [PATCH 082/144] doc: add example code for fs.existsSync() PR-URL: https://github.com/nodejs/node/pull/28354 Reviewed-By: Anna Henningsen Reviewed-By: Ruben Bridgewater Reviewed-By: Trivikram Kamat Reviewed-By: Rich Trott Reviewed-By: James M Snell --- doc/api/fs.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/doc/api/fs.md b/doc/api/fs.md index f1e2bcb60ab98a..50ab633b74d490 100644 --- a/doc/api/fs.md +++ b/doc/api/fs.md @@ -1701,6 +1701,11 @@ this API: [`fs.exists()`][]. parameter to `fs.exists()` accepts parameters that are inconsistent with other Node.js callbacks. `fs.existsSync()` does not use a callback. +```js +if (fs.existsSync('/etc/passwd')) { + console.log('The file exists.'); +} +``` ## fs.fchmod(fd, mode, callback) From 16926a818385f2f1c84ace33c750d0a33789b228 Mon Sep 17 00:00:00 2001 From: Duvan Monsalve Date: Fri, 21 Jun 2019 22:41:40 -0500 Subject: [PATCH 088/144] test: duplicated buffer in test-stream2-writable.js MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/28380 Reviewed-By: Anna Henningsen Reviewed-By: Adrian Estrada Reviewed-By: Yongsheng Zhang Reviewed-By: Gireesh Punathil Reviewed-By: Michaël Zasso Reviewed-By: Colin Ihrig Reviewed-By: Ruben Bridgewater Reviewed-By: Trivikram Kamat Reviewed-By: James M Snell Reviewed-By: Rich Trott --- test/parallel/test-stream2-writable.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/test/parallel/test-stream2-writable.js b/test/parallel/test-stream2-writable.js index 7c5f825a575d69..262606d9062a10 100644 --- a/test/parallel/test-stream2-writable.js +++ b/test/parallel/test-stream2-writable.js @@ -229,10 +229,12 @@ for (let i = 0; i < chunks.length; i++) { tw.end(common.mustCall()); } +const helloWorldBuffer = Buffer.from('hello world'); + { // Verify end() callback with chunk const tw = new TestWriter(); - tw.end(Buffer.from('hello world'), common.mustCall()); + tw.end(helloWorldBuffer, common.mustCall()); } { @@ -244,7 +246,7 @@ for (let i = 0; i < chunks.length; i++) { { // Verify end() callback after write() call const tw = new TestWriter(); - tw.write(Buffer.from('hello world')); + tw.write(helloWorldBuffer); tw.end(common.mustCall()); } @@ -252,7 +254,7 @@ for (let i = 0; i < chunks.length; i++) { // Verify end() callback after write() callback const tw = new TestWriter(); let writeCalledback = false; - tw.write(Buffer.from('hello world'), function() { + tw.write(helloWorldBuffer, function() { writeCalledback = true; }); tw.end(common.mustCall(function() { From e16174461002d9b28729bed5cdb47c582ae9d800 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sat, 22 Jun 2019 14:06:11 -0600 Subject: [PATCH 089/144] test: move non-pummel crypto DH tests to parallel Some parts of pummel/test-crypto-dh.js will be just fine in parallel/test-crypto-dh.js. Move them there. PR-URL: https://github.com/nodejs/node/pull/28390 Reviewed-By: Ben Noordhuis Reviewed-By: Daniel Bevenius --- test/parallel/test-crypto-dh.js | 27 +++++++++++++++++++++++++++ test/pummel/test-crypto-dh.js | 27 --------------------------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/test/parallel/test-crypto-dh.js b/test/parallel/test-crypto-dh.js index 69d18f458e60bd..1fc8564ca16fcd 100644 --- a/test/parallel/test-crypto-dh.js +++ b/test/parallel/test-crypto-dh.js @@ -388,3 +388,30 @@ common.expectsError( message: 'The "curve" argument must be of type string. ' + 'Received type undefined' }); + +assert.throws( + function() { + crypto.getDiffieHellman('unknown-group'); + }, + /^Error: Unknown group$/, + 'crypto.getDiffieHellman(\'unknown-group\') ' + + 'failed to throw the expected error.' +); +assert.throws( + function() { + crypto.getDiffieHellman('modp1').setPrivateKey(''); + }, + new RegExp('^TypeError: crypto\\.getDiffieHellman\\(\\.\\.\\.\\)\\.' + + 'setPrivateKey is not a function$'), + 'crypto.getDiffieHellman(\'modp1\').setPrivateKey(\'\') ' + + 'failed to throw the expected error.' +); +assert.throws( + function() { + crypto.getDiffieHellman('modp1').setPublicKey(''); + }, + new RegExp('^TypeError: crypto\\.getDiffieHellman\\(\\.\\.\\.\\)\\.' + + 'setPublicKey is not a function$'), + 'crypto.getDiffieHellman(\'modp1\').setPublicKey(\'\') ' + + 'failed to throw the expected error.' +); diff --git a/test/pummel/test-crypto-dh.js b/test/pummel/test-crypto-dh.js index f64f982c0e1100..a88e105a8aa0b7 100644 --- a/test/pummel/test-crypto-dh.js +++ b/test/pummel/test-crypto-dh.js @@ -27,33 +27,6 @@ if (!common.hasCrypto) const assert = require('assert'); const crypto = require('crypto'); -assert.throws( - function() { - crypto.getDiffieHellman('unknown-group'); - }, - /^Error: Unknown group$/, - 'crypto.getDiffieHellman(\'unknown-group\') ' + - 'failed to throw the expected error.' -); -assert.throws( - function() { - crypto.getDiffieHellman('modp1').setPrivateKey(''); - }, - new RegExp('^TypeError: crypto\\.getDiffieHellman\\(\\.\\.\\.\\)\\.' + - 'setPrivateKey is not a function$'), - 'crypto.getDiffieHellman(\'modp1\').setPrivateKey(\'\') ' + - 'failed to throw the expected error.' -); -assert.throws( - function() { - crypto.getDiffieHellman('modp1').setPublicKey(''); - }, - new RegExp('^TypeError: crypto\\.getDiffieHellman\\(\\.\\.\\.\\)\\.' + - 'setPublicKey is not a function$'), - 'crypto.getDiffieHellman(\'modp1\').setPublicKey(\'\') ' + - 'failed to throw the expected error.' -); - const hashes = { modp1: '630e9acd2cc63f7e80d8507624ba60ac0757201a', modp2: '18f7aa964484137f57bca64b21917a385b6a0b60', From 9f508e3a0ac995f06b18b78c6e5d210278bcf43c Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sat, 22 Jun 2019 15:38:22 -0600 Subject: [PATCH 090/144] test: split pummel crypto dh test into two separate tests Split test-crypto-dh into two tests so that it does not time out in CI. With a recent OpenSSL upgrade, getDiffieHellman() is much slower than before. PR-URL: https://github.com/nodejs/node/pull/28390 Reviewed-By: Ben Noordhuis Reviewed-By: Daniel Bevenius --- ...st-crypto-dh.js => test-crypto-dh-hash.js} | 13 ------ test/pummel/test-crypto-dh-keys.js | 42 +++++++++++++++++++ 2 files changed, 42 insertions(+), 13 deletions(-) rename test/pummel/{test-crypto-dh.js => test-crypto-dh-hash.js} (82%) create mode 100644 test/pummel/test-crypto-dh-keys.js diff --git a/test/pummel/test-crypto-dh.js b/test/pummel/test-crypto-dh-hash.js similarity index 82% rename from test/pummel/test-crypto-dh.js rename to test/pummel/test-crypto-dh-hash.js index a88e105a8aa0b7..ffe11d1c12491b 100644 --- a/test/pummel/test-crypto-dh.js +++ b/test/pummel/test-crypto-dh-hash.js @@ -47,16 +47,3 @@ for (const name in hashes) { assert.strictEqual(hash1, hash2); assert.strictEqual(group.getGenerator('hex'), '02'); } - -for (const name in hashes) { - // modp1 is 768 bits, FIPS requires >= 1024 - if (name === 'modp1' && common.hasFipsCrypto) - continue; - const group1 = crypto.getDiffieHellman(name); - const group2 = crypto.getDiffieHellman(name); - group1.generateKeys(); - group2.generateKeys(); - const key1 = group1.computeSecret(group2.getPublicKey()); - const key2 = group2.computeSecret(group1.getPublicKey()); - assert.deepStrictEqual(key1, key2); -} diff --git a/test/pummel/test-crypto-dh-keys.js b/test/pummel/test-crypto-dh-keys.js new file mode 100644 index 00000000000000..f8f990b5c5ee4a --- /dev/null +++ b/test/pummel/test-crypto-dh-keys.js @@ -0,0 +1,42 @@ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +'use strict'; +const common = require('../common'); +if (!common.hasCrypto) + common.skip('node compiled without OpenSSL.'); + +const assert = require('assert'); +const crypto = require('crypto'); + +[ 'modp1', 'modp2', 'modp5', 'modp14', 'modp15', 'modp16', 'modp17' ] +.forEach((name) => { + // modp1 is 768 bits, FIPS requires >= 1024 + if (name === 'modp1' && common.hasFipsCrypto) + return; + const group1 = crypto.getDiffieHellman(name); + const group2 = crypto.getDiffieHellman(name); + group1.generateKeys(); + group2.generateKeys(); + const key1 = group1.computeSecret(group2.getPublicKey()); + const key2 = group2.computeSecret(group1.getPublicKey()); + assert.deepStrictEqual(key1, key2); +}); From 69f17f1ab097fba6101631ca3d844e17b153c403 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sat, 22 Jun 2019 15:57:14 -0600 Subject: [PATCH 091/144] test: make test-dh-regr more efficient where possible test-dh-regr is timing out in CI because crypto.createDiffieHellman() is considerably slower after an OpenSSL upgrade. This PR modifies the change from 11ad744a92374ad71730cbfb7abea71fda0abb74 which made the test FIPS-compatible. When not in FIPS mode, the test will use a shorter key which will enable it to run much faster. PR-URL: https://github.com/nodejs/node/pull/28390 Reviewed-By: Ben Noordhuis Reviewed-By: Daniel Bevenius --- test/pummel/test-dh-regr.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/pummel/test-dh-regr.js b/test/pummel/test-dh-regr.js index ff964ec13a47c6..f2da464bbbfbd7 100644 --- a/test/pummel/test-dh-regr.js +++ b/test/pummel/test-dh-regr.js @@ -27,7 +27,11 @@ if (!common.hasCrypto) const assert = require('assert'); const crypto = require('crypto'); -const p = crypto.createDiffieHellman(1024).getPrime(); +// FIPS requires length >= 1024 but we use 256 in this test to keep it from +// taking too long and timing out in CI. +const length = common.hasFipsCrypto ? 1024 : 256; + +const p = crypto.createDiffieHellman(length).getPrime(); for (let i = 0; i < 2000; i++) { const a = crypto.createDiffieHellman(p); From b6d0cbcf20d893d60d34d205da3866fddb47e506 Mon Sep 17 00:00:00 2001 From: Jesse Cogollo Date: Fri, 21 Jun 2019 17:03:37 -0500 Subject: [PATCH 092/144] doc: add example code for worker.isDead() to cluster.md PR-URL: https://github.com/nodejs/node/pull/28362 Reviewed-By: James M Snell Reviewed-By: Rich Trott Reviewed-By: Trivikram Kamat --- doc/api/cluster.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/doc/api/cluster.md b/doc/api/cluster.md index e72bf8f7f7db02..a3dc1239aa8b9f 100644 --- a/doc/api/cluster.md +++ b/doc/api/cluster.md @@ -381,6 +381,41 @@ added: v0.11.14 This function returns `true` if the worker's process has terminated (either because of exiting or being signaled). Otherwise, it returns `false`. +```js +const cluster = require('cluster'); +const http = require('http'); +const numCPUs = require('os').cpus().length; + +if (cluster.isMaster) { + console.log(`Master ${process.pid} is running`); + + // Fork workers. + for (let i = 0; i < numCPUs; i++) { + cluster.fork(); + } + + cluster.on('fork', (worker) => { + console.log('worker is dead:', worker.isDead()); + }); + + cluster.on('exit', (worker, code, signal) => { + console.log('worker is dead:', worker.isDead()); + }); + +} else { + // Workers can share any TCP connection + // In this case it is an HTTP server + http.createServer((req, res) => { + res.writeHead(200); + res.end(`Current process\n ${process.pid}`); + process.kill(process.pid); + }).listen(8000); + + // Make http://localhost:8000 to ckeck isDead method. +} + +``` + ### worker.kill([signal='SIGTERM']) > Stability: 1 - Experimental @@ -2232,7 +2231,6 @@ This API returns various properties of a `DataView`. #### napi_get_date_value > Stability: 1 - Experimental @@ -2841,7 +2839,6 @@ This API checks if the `Object` passed in is a buffer. ### napi_is_date > Stability: 1 - Experimental @@ -3941,7 +3938,6 @@ JavaScript object becomes garbage-collected. ```C napi_status napi_add_finalizer(napi_env env, From 1650bcf4914239e1edc87e78ad92ab2f347fa1de Mon Sep 17 00:00:00 2001 From: zero1five Date: Sun, 2 Jun 2019 03:04:56 +0800 Subject: [PATCH 101/144] stream: add writableFinished add a new getter to duplex stream to replace the property `this .writableState.finished` of the object that inherited duplex. Refs: https://github.com/nodejs/node/issues/445 PR-URL: https://github.com/nodejs/node/pull/28007 Reviewed-By: Luigi Pinca Reviewed-By: James M Snell Reviewed-By: Anna Henningsen Reviewed-By: Rich Trott --- doc/api/stream.md | 10 +++++++ lib/_stream_duplex.js | 10 +++++++ lib/_stream_writable.js | 10 +++++++ .../test-stream-duplex-writable-finished.js | 30 +++++++++++++++++++ .../parallel/test-stream-writable-finished.js | 30 +++++++++++++++++++ 5 files changed, 90 insertions(+) create mode 100644 test/parallel/test-stream-duplex-writable-finished.js create mode 100644 test/parallel/test-stream-writable-finished.js diff --git a/doc/api/stream.md b/doc/api/stream.md index a5c55f5ca1e95d..155e39906bc9e6 100644 --- a/doc/api/stream.md +++ b/doc/api/stream.md @@ -503,6 +503,16 @@ This property contains the number of bytes (or objects) in the queue ready to be written. The value provides introspection data regarding the status of the `highWaterMark`. +##### writable.writableFinished + + +* {boolean} + +Is `true` if all data has been flushed to the underlying system. After +the [`'finish'`][] event has been emitted. + ##### writable.writableObjectMode * {boolean} From b822545f84611f49ce1c95098767fa3bac9238b3 Mon Sep 17 00:00:00 2001 From: raveneyex Date: Fri, 21 Jun 2019 15:51:01 -0500 Subject: [PATCH 105/144] test: switch the param order in the assertion Switch the param order in the assertion at line 140 so that they are in the correct order (actual, expected) PR-URL: https://github.com/nodejs/node/pull/28341 Reviewed-By: Anna Henningsen Reviewed-By: Rich Trott Reviewed-By: Colin Ihrig Reviewed-By: Yongsheng Zhang Reviewed-By: Ruben Bridgewater Reviewed-By: Trivikram Kamat Reviewed-By: James M Snell --- test/parallel/test-tls-sni-option.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/parallel/test-tls-sni-option.js b/test/parallel/test-tls-sni-option.js index f4bc7dc1b2bc1a..9ac5a8c5622de4 100644 --- a/test/parallel/test-tls-sni-option.js +++ b/test/parallel/test-tls-sni-option.js @@ -138,8 +138,8 @@ test({ function test(options, clientResult, serverResult, clientError, serverError) { const server = tls.createServer(serverOptions, (c) => { assert.deepStrictEqual( - { sni: c.servername, authorized: c.authorized }, - serverResult + serverResult, + { sni: c.servername, authorized: c.authorized } ); }); From e63990e3831de5d024da77759e1c04a72d181d25 Mon Sep 17 00:00:00 2001 From: khriztianmoreno Date: Fri, 21 Jun 2019 17:15:06 -0500 Subject: [PATCH 106/144] test: eliminate duplicate statements PR-URL: https://github.com/nodejs/node/pull/28342 Reviewed-By: Colin Ihrig Reviewed-By: Rich Trott Reviewed-By: Yongsheng Zhang Reviewed-By: Ruben Bridgewater Reviewed-By: Trivikram Kamat Reviewed-By: James M Snell --- test/parallel/test-crypto-rsa-dsa.js | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/test/parallel/test-crypto-rsa-dsa.js b/test/parallel/test-crypto-rsa-dsa.js index 120a9f1f94f570..ab5ed544d4e3ef 100644 --- a/test/parallel/test-crypto-rsa-dsa.js +++ b/test/parallel/test-crypto-rsa-dsa.js @@ -38,6 +38,7 @@ const decryptError = { { const input = 'I AM THE WALRUS'; const bufferToEncrypt = Buffer.from(input); + const bufferPassword = Buffer.from('password'); let encryptedBuffer = crypto.publicEncrypt(rsaPubPem, bufferToEncrypt); @@ -66,12 +67,12 @@ const decryptError = { encryptedBuffer = crypto.privateEncrypt({ key: rsaKeyPemEncrypted, - passphrase: Buffer.from('password') + passphrase: bufferPassword }, bufferToEncrypt); decryptedBufferWithPassword = crypto.publicDecrypt({ key: rsaKeyPemEncrypted, - passphrase: Buffer.from('password') + passphrase: bufferPassword }, encryptedBuffer); assert.strictEqual(decryptedBufferWithPassword.toString(), input); @@ -79,20 +80,20 @@ const decryptError = { encryptedBuffer = crypto.privateEncrypt({ padding: crypto.constants.RSA_PKCS1_PADDING, key: rsaKeyPemEncrypted, - passphrase: Buffer.from('password') + passphrase: bufferPassword }, bufferToEncrypt); decryptedBufferWithPassword = crypto.publicDecrypt({ padding: crypto.constants.RSA_PKCS1_PADDING, key: rsaKeyPemEncrypted, - passphrase: Buffer.from('password') + passphrase: bufferPassword }, encryptedBuffer); assert.strictEqual(decryptedBufferWithPassword.toString(), input); // Omitting padding should be okay because RSA_PKCS1_PADDING is the default. decryptedBufferWithPassword = crypto.publicDecrypt({ key: rsaKeyPemEncrypted, - passphrase: Buffer.from('password') + passphrase: bufferPassword }, encryptedBuffer); assert.strictEqual(decryptedBufferWithPassword.toString(), input); @@ -101,13 +102,13 @@ const decryptError = { encryptedBuffer = crypto.privateEncrypt({ padding: crypto.constants.RSA_NO_PADDING, key: rsaKeyPemEncrypted, - passphrase: Buffer.from('password') + passphrase: bufferPassword }, Buffer.from(plaintext)); decryptedBufferWithPassword = crypto.publicDecrypt({ padding: crypto.constants.RSA_NO_PADDING, key: rsaKeyPemEncrypted, - passphrase: Buffer.from('password') + passphrase: bufferPassword }, encryptedBuffer); assert.strictEqual(decryptedBufferWithPassword.toString(), plaintext); From d88c697f7fba3d10dbbac0bdcb0ee9b577d6095c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20S=C3=A1nchez?= Date: Fri, 21 Jun 2019 16:02:27 -0500 Subject: [PATCH 107/144] test: refactoring test, reordering arguments Refactors the test-buffer-inheritance.js test, switches the order of the arguments to be: 'actual', 'expected' PR-URL: https://github.com/nodejs/node/pull/28343 Reviewed-By: Colin Ihrig Reviewed-By: Rich Trott Reviewed-By: Yongsheng Zhang Reviewed-By: Ruben Bridgewater Reviewed-By: Trivikram Kamat Reviewed-By: James M Snell --- test/parallel/test-buffer-inheritance.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/parallel/test-buffer-inheritance.js b/test/parallel/test-buffer-inheritance.js index 0798fe4a177c14..4794f567172d8c 100644 --- a/test/parallel/test-buffer-inheritance.js +++ b/test/parallel/test-buffer-inheritance.js @@ -32,7 +32,7 @@ vals.forEach(function(t) { let cntr = 0; for (let i = 0; i < t.length; i++) cntr += t[i]; - assert.strictEqual(t.length * 5, cntr); + assert.strictEqual(cntr, t.length * 5); // Check this does not throw t.toString(); From cd78c5ef7e9c447cc3797235891438a0f023943d Mon Sep 17 00:00:00 2001 From: melinamejia95 Date: Fri, 21 Jun 2019 16:20:39 -0500 Subject: [PATCH 108/144] test: fixing broken test MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit test didn't throw the error, it was just returning it. So I removed the try/catch and assigned the error to a variable PR-URL: https://github.com/nodejs/node/pull/28345 Reviewed-By: Anna Henningsen Reviewed-By: Colin Ihrig Reviewed-By: Rich Trott Reviewed-By: Gireesh Punathil Reviewed-By: Michaël Zasso Reviewed-By: Ruben Bridgewater Reviewed-By: Trivikram Kamat Reviewed-By: James M Snell --- test/parallel/test-readable-from.js | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/test/parallel/test-readable-from.js b/test/parallel/test-readable-from.js index a441f743ccf756..e43cec6b1e5246 100644 --- a/test/parallel/test-readable-from.js +++ b/test/parallel/test-readable-from.js @@ -6,7 +6,7 @@ const { Readable } = require('stream'); const { strictEqual } = require('assert'); async function toReadableBasicSupport() { - async function * generate() { + async function* generate() { yield 'a'; yield 'b'; yield 'c'; @@ -22,7 +22,7 @@ async function toReadableBasicSupport() { } async function toReadableSyncIterator() { - function * generate() { + function* generate() { yield 'a'; yield 'b'; yield 'c'; @@ -64,7 +64,7 @@ async function toReadableString() { } async function toReadableOnData() { - async function * generate() { + async function* generate() { yield 'a'; yield 'b'; yield 'c'; @@ -86,7 +86,7 @@ async function toReadableOnData() { } async function toReadableOnDataNonObject() { - async function * generate() { + async function* generate() { yield 'a'; yield 'b'; yield 'c'; @@ -109,7 +109,7 @@ async function toReadableOnDataNonObject() { } async function destroysTheStreamWhenThrowing() { - async function * generate() { + async function* generate() { throw new Error('kaboom'); } @@ -117,16 +117,14 @@ async function destroysTheStreamWhenThrowing() { stream.read(); - try { - await once(stream, 'error'); - } catch (err) { - strictEqual(err.message, 'kaboom'); - strictEqual(stream.destroyed, true); - } + const [err] = await once(stream, 'error'); + strictEqual(err.message, 'kaboom'); + strictEqual(stream.destroyed, true); + } async function asTransformStream() { - async function * generate(stream) { + async function* generate(stream) { for await (const chunk of stream) { yield chunk.toUpperCase(); } From 8ad880f3fc987c1a5f2045b15bcb5d8963513a97 Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Tue, 25 Jun 2019 14:53:58 -0700 Subject: [PATCH 109/144] net: replace _writableState.finished with writableFinished Replace usage of quasi-private _writableState.finished with public writableFinished property. PR-URL: https://github.com/nodejs/node/pull/27974 Refs: https://github.com/nodejs/node/issues/445 Reviewed-By: Anna Henningsen Reviewed-By: Benjamin Gruenbaum Reviewed-By: Colin Ihrig Reviewed-By: James M Snell Reviewed-By: Matteo Collina Reviewed-By: Luigi Pinca --- lib/net.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/net.js b/lib/net.js index 6c2bf568758ed6..94b4e2a86cbed0 100644 --- a/lib/net.js +++ b/lib/net.js @@ -556,7 +556,7 @@ Socket.prototype.destroySoon = function() { if (this.writable) this.end(); - if (this._writableState.finished) + if (this.writableFinished) this.destroy(); else this.once('finish', this.destroy); From 03e3ccdbe56e235f28f8be4afb5a07a5c2aebb3c Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Sun, 23 Jun 2019 07:35:24 -0700 Subject: [PATCH 110/144] tools: update remark-preset-lint-node to 1.7.0 This update enables linting for "note that" in our docs. That phrase is almost always superfluous. Sentences are almost always clearer and stronger without it. PR-URL: https://github.com/nodejs/node/pull/28393 Reviewed-By: Richard Lau Reviewed-By: Trivikram Kamat Reviewed-By: Daijiro Wachi --- tools/lint-md.js | 2 +- .../node-lint-md-cli-rollup/package-lock.json | 264 ++++++++++-------- tools/node-lint-md-cli-rollup/package.json | 2 +- 3 files changed, 144 insertions(+), 124 deletions(-) diff --git a/tools/lint-md.js b/tools/lint-md.js index d7e1547f7f26fa..a6b70eae7381ce 100644 --- a/tools/lint-md.js +++ b/tools/lint-md.js @@ -1 +1 @@ -module.exports=function(e,r){"use strict";var t={};function __webpack_require__(r){if(t[r]){return t[r].exports}var i=t[r]={i:r,l:false,exports:{}};e[r].call(i.exports,i,i.exports,__webpack_require__);i.l=true;return i.exports}function startup(){return __webpack_require__(294)}r(__webpack_require__);return startup()}([,function(e){"use strict";e.exports=indentation;var r="\t";var t=" ";var i=1;var n=4;function indentation(e){var a=0;var u=0;var s=e.charAt(a);var o={};var f;while(s===r||s===t){f=s===r?n:i;u+=f;if(f>1){u=Math.floor(u/f)*f}o[u]=a;s=e.charAt(++a)}return{indent:u,stops:o}}},function(e){"use strict";e.exports=locate;function locate(e,r){return e.indexOf("`",r)}},,,,,function(e){"use strict";e.exports=factory;function factory(e){var r=indices(String(e));return{toPosition:offsetToPositionFactory(r),toOffset:positionToOffsetFactory(r)}}function offsetToPositionFactory(e){return offsetToPosition;function offsetToPosition(r){var t=-1;var i=e.length;if(r<0){return{}}while(++tr){return{line:t+1,column:r-(e[t-1]||0)+1,offset:r}}}return{}}}function positionToOffsetFactory(e){return positionToOffset;function positionToOffset(r){var t=r&&r.line;var i=r&&r.column;if(!isNaN(t)&&!isNaN(i)&&t-1 in e){return(e[t-2]||0)+i-1||0}return-1}}function indices(e){var r=[];var t=e.indexOf("\n");while(t!==-1){r.push(t+1);t=e.indexOf("\n",t+1)}r.push(e.length+1);return r}},,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(526);var u=t(10);e.exports=i("remark-lint:no-inline-padding",noInlinePadding);function noInlinePadding(e,r){n(e,["emphasis","strong","delete","image","link"],visitor);function visitor(e){var t;if(!a(e)){t=u(e);if(t.charAt(0)===" "||t.charAt(t.length-1)===" "){r.message("Don’t pad `"+e.type+"` with inner spaces",e)}}}}},function(e){"use strict";e.exports=toString;function toString(e){return valueOf(e)||e.children&&e.children.map(toString).join("")||""}function valueOf(e){return(e&&e.value?e.value:e.alt?e.alt:e.title)||""}},,function(e){"use strict";if(!process.version||process.version.indexOf("v0.")===0||process.version.indexOf("v1.")===0&&process.version.indexOf("v1.8.")!==0){e.exports={nextTick:nextTick}}else{e.exports=process}function nextTick(e,r,t,i){if(typeof e!=="function"){throw new TypeError('"callback" argument must be a function')}var n=arguments.length;var a,u;switch(n){case 0:case 1:return process.nextTick(e);case 2:return process.nextTick(function afterTickOne(){e.call(null,r)});case 3:return process.nextTick(function afterTickTwo(){e.call(null,r,t)});case 4:return process.nextTick(function afterTickThree(){e.call(null,r,t,i)});default:a=new Array(n-1);u=0;while(u=97&&r<=102||r>=65&&r<=70||r>=48&&r<=57}},,function(e,r,t){"use strict";var i=t(431);function homedir(){var e=process.env;var r=e.HOME;var t=e.LOGNAME||e.USER||e.LNAME||e.USERNAME;if(process.platform==="win32"){return e.USERPROFILE||e.HOMEDRIVE+e.HOMEPATH||r||null}if(process.platform==="darwin"){return r||(t?"/Users/"+t:null)}if(process.platform==="linux"){return r||(process.getuid()===0?"/root":t?"/home/"+t:null)}return r||null}e.exports=typeof i.homedir==="function"?i.homedir:homedir},,,,,,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(270);var u=t(704);var s=t(839);var o=t(526);e.exports=i("remark-lint:no-heading-content-indent",noHeadingContentIndent);var f=s.start;var l=s.end;function noHeadingContentIndent(e,r){var t=String(r);n(e,"heading",visitor);function visitor(e){var i;var n;var s;var c;var h;var p;var v;var d;var D;var m;if(o(e)){return}i=e.depth;n=e.children;s=a(e,"atx");if(s==="atx"||s==="atx-closed"){h=f(e);d=h.offset;D=t.charAt(d);while(D&&D!=="#"){D=t.charAt(++d)}if(!D){return}d=i+(d-h.offset);c=f(n[0]).column;if(!c){return}v=c-h.column-1-d;if(v){m=(v>0?"Remove":"Add")+" "+Math.abs(v)+" "+u("space",v)+" before this heading’s content";r.message(m,f(n[0]))}}if(s==="atx-closed"){p=l(n[n.length-1]);v=l(e).column-p.column-1-i;if(v){m="Remove "+v+" "+u("space",v)+" after this heading’s content";r.message(m,p)}}}}},function(e,r,t){"use strict";var i=t(336);var n=t(440);var a=t(901);var u=t(360);var s=t(315);e.exports=setOptions;var o={entities:{true:true,false:true,numbers:true,escape:true},bullet:{"*":true,"-":true,"+":true},rule:{"-":true,_:true,"*":true},listItemIndent:{tab:true,mixed:true,1:true},emphasis:{_:true,"*":true},strong:{_:true,"*":true},fence:{"`":true,"~":true}};var f={boolean:validateBoolean,string:validateString,number:validateNumber,function:validateFunction};function setOptions(e){var r=this;var t=r.options;var n;var s;if(e==null){e={}}else if(typeof e==="object"){e=i(e)}else{throw new Error("Invalid value `"+e+"` for setting `options`")}for(s in a){f[typeof a[s]](e,s,t[s],o[s])}n=e.ruleRepetition;if(n&&n<3){raise(n,"options.ruleRepetition")}r.encode=encodeFactory(String(e.entities));r.escape=u(e);r.options=e;return r}function validateBoolean(e,r,t){var i=e[r];if(i==null){i=t}if(typeof i!=="boolean"){raise(i,"options."+r)}e[r]=i}function validateNumber(e,r,t){var i=e[r];if(i==null){i=t}if(isNaN(i)){raise(i,"options."+r)}e[r]=i}function validateString(e,r,t,i){var n=e[r];if(n==null){n=t}n=String(n);if(!(n in i)){raise(n,"options."+r)}e[r]=n}function validateFunction(e,r,t){var i=e[r];if(i==null){i=t}if(typeof i!=="function"){raise(i,"options."+r)}e[r]=i}function encodeFactory(e){var r={};if(e==="false"){return s}if(e==="true"){r.useNamedReferences=true}if(e==="escape"){r.escapeOnly=true;r.useNamedReferences=true}return wrapped;function wrapped(e){return n(e,r)}}function raise(e,r){throw new Error("Invalid value `"+e+"` for setting `"+r+"`")}},,function(e,r){r=e.exports=trim;function trim(e){return e.replace(/^\s*|\s*$/g,"")}r.left=function(e){return e.replace(/^\s*/,"")};r.right=function(e){return e.replace(/\s*$/,"")}},function(e,r,t){"use strict";var i=t(814);e.exports=thematic;var n=" ";function thematic(){var e=this.options;var r=i(e.rule,e.ruleRepetition);return e.ruleSpaces?r.split("").join(n):r}},,,,,function(e,r,t){"use strict";var i=t(315);e.exports=enter;function enter(e,r){var t=e.encode;var n=e.escape;var a=e.enterLink();if(r.referenceType!=="shortcut"&&r.referenceType!=="collapsed"){return a}e.escape=i;e.encode=i;return exit;function exit(){e.encode=t;e.escape=n;a()}}},function(e,r,t){"use strict";var i=t(727);e.exports=new i({include:[t(234)],implicit:[t(633),t(843),t(981),t(702)]})},function(e,r,t){"use strict";var i=t(36);var n=t(814);var a=t(439);var u=t(1);var s=t(235);var o=t(724);e.exports=list;var f="*";var l="_";var c="+";var h="-";var p=".";var v=" ";var d="\n";var D="\t";var m=")";var g="x";var E=4;var A=/\n\n(?!\s*$)/;var C=/^\[([ \t]|x|X)][ \t]/;var y=/^([ \t]*)([*+-]|\d+[.)])( {1,4}(?! )| |\t|$|(?=\n))([^\n]*)/;var w=/^([ \t]*)([*+-]|\d+[.)])([ \t]+)/;var x=/^( {1,4}|\t)?/gm;function list(e,r,t){var n=this;var u=n.options.commonmark;var s=n.options.pedantic;var g=n.blockTokenizers;var A=n.interruptList;var C=0;var y=r.length;var w=null;var x=0;var b;var F;var S;var B;var k;var O;var P;var T;var I;var M;var L;var R;var j;var N;var U;var J;var z;var X;var q=false;var G;var _;var W;var V;while(C=E){return}S=r.charAt(C);if(S===f||S===c||S===h){B=S;F=false}else{F=true;b="";while(C=E){V=true}if(J&&x>=J.indent){V=true}S=r.charAt(C);T=null;if(!V){if(S===f||S===c||S===h){T=S;C++;x++}else{b="";while(C=J.indent||x>E}P=false;C=O}M=r.slice(O,k);I=O===C?M:r.slice(C,k);if(T===f||T===l||T===h){if(g.thematicBreak.call(n,e,M,true)){break}}L=R;R=!P&&!i(I).length;if(V&&J){J.value=J.value.concat(U,M);N=N.concat(U,M);U=[]}else if(P){if(U.length!==0){q=true;J.value.push("");J.trail=U.concat()}J={value:[M],indent:x,trail:[]};j.push(J);N=N.concat(U,M);U=[]}else if(R){if(L&&!u){break}U.push(M)}else{if(L){break}if(o(A,g,n,[e,M,true])){break}J.value=J.value.concat(U,M);N=N.concat(U,M);U=[]}C=k+1}G=e(N.join(d)).reset({type:"list",ordered:F,start:w,spread:q,children:[]});z=n.enterList();X=n.enterBlock();C=-1;y=j.length;while(++C1){r.message(s,e)}}}},function(e){e.exports=function isBuffer(e){return e!=null&&e.constructor!=null&&typeof e.constructor.isBuffer==="function"&&e.constructor.isBuffer(e)}},,,,,,,,function(e){e.exports=require("util")},function(e,r,t){"use strict";var i=t(727);e.exports=i.DEFAULT=new i({include:[t(388)],explicit:[t(875),t(555),t(329)]})},function(e){e.exports=require("fs")},function(e){"use strict";e.exports=function(e){if(typeof e!=="string"){throw new TypeError("Expected a string")}return!/[^0-9a-z\xDF-\xFF]/.test(e.toLowerCase())}},,,,,function(e,r,t){"use strict";var i=t(495);var n=t(7);e.exports=i("remark-lint:no-tabs",noTabs);var a="Use spaces instead of hard-tabs";function noTabs(e,r){var t=String(r);var i=n(r).toPosition;var u=t.indexOf("\t");while(u!==-1){r.message(a,i(u));u=t.indexOf("\t",u+1)}}},function(e){function webpackEmptyContext(e){var r=new Error("Cannot find module '"+e+"'");r.code="MODULE_NOT_FOUND";throw r}webpackEmptyContext.keys=function(){return[]};webpackEmptyContext.resolve=webpackEmptyContext;e.exports=webpackEmptyContext;webpackEmptyContext.id=73},function(e,r,t){"use strict";var i=t(864);var n=t(97);var a=t(503);var u=t(123);var s=t(340);var o=t(951);e.exports=unified().freeze();var f=[].slice;var l={}.hasOwnProperty;var c=u().use(pipelineParse).use(pipelineRun).use(pipelineStringify);function pipelineParse(e,r){r.tree=e.parse(r.file)}function pipelineRun(e,r,t){e.run(r.tree,r.file,done);function done(e,i,n){if(e){t(e)}else{r.tree=i;r.file=n;t()}}}function pipelineStringify(e,r){r.file.contents=e.stringify(r.tree,r.file)}function unified(){var e=[];var r=u();var t={};var h=false;var p=-1;processor.data=data;processor.freeze=freeze;processor.attachers=e;processor.use=use;processor.parse=parse;processor.stringify=stringify;processor.run=run;processor.runSync=runSync;processor.process=process;processor.processSync=processSync;return processor;function processor(){var r=unified();var n=e.length;var a=-1;while(++a{if(typeof e!=="string"){throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof e}\``)}if(typeof r!=="string"){throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof r}\``)}try{e=a.realpathSync(e)}catch(r){if(r.code==="ENOENT"){e=i.resolve(e)}else if(t){return null}else{throw r}}const u=i.join(e,"noop.js");const s=()=>n._resolveFilename(r,{id:u,filename:u,paths:n._nodeModulePaths(e)});if(t){try{return s()}catch(e){return null}}return s()};e.exports=((e,r)=>u(e,r));e.exports.silent=((e,r)=>u(e,r,true))},,function(e,r,t){"use strict";var i=t(347)("unified-engine:file-pipeline:configure");var n=t(928);var a=t(623);var u=t(692);var s=t(876);e.exports=configure;function configure(e,r,t,o){var f=e.configuration;var l=e.processor;if(n(r).fatal){return o()}f.load(r.path,handleConfiguration);function handleConfiguration(e,r){var n;var f;var c;var h;var p;var v;if(e){return o(e)}i("Using settings `%j`",r.settings);l.data("settings",r.settings);n=r.plugins;h=n.length;p=-1;i("Using `%d` plugins",h);while(++p>10)+55296,(e-65536&1023)+56320)}var C=new Array(256);var y=new Array(256);for(var w=0;w<256;w++){C[w]=simpleEscapeSequence(w)?1:0;y[w]=simpleEscapeSequence(w)}function State(e,r){this.input=e;this.filename=r["filename"]||null;this.schema=r["schema"]||s;this.onWarning=r["onWarning"]||null;this.legacy=r["legacy"]||false;this.json=r["json"]||false;this.listener=r["listener"]||null;this.implicitTypes=this.schema.compiledImplicit;this.typeMap=this.schema.compiledTypeMap;this.length=e.length;this.position=0;this.line=0;this.lineStart=0;this.lineIndent=0;this.documents=[]}function generateError(e,r){return new n(r,new a(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function throwError(e,r){throw generateError(e,r)}function throwWarning(e,r){if(e.onWarning){e.onWarning.call(null,generateError(e,r))}}var x={YAML:function handleYamlDirective(e,r,t){var i,n,a;if(e.version!==null){throwError(e,"duplication of %YAML directive")}if(t.length!==1){throwError(e,"YAML directive accepts exactly one argument")}i=/^([0-9]+)\.([0-9]+)$/.exec(t[0]);if(i===null){throwError(e,"ill-formed argument of the YAML directive")}n=parseInt(i[1],10);a=parseInt(i[2],10);if(n!==1){throwError(e,"unacceptable YAML version of the document")}e.version=t[0];e.checkLineBreaks=a<2;if(a!==1&&a!==2){throwWarning(e,"unsupported YAML version of the document")}},TAG:function handleTagDirective(e,r,t){var i,n;if(t.length!==2){throwError(e,"TAG directive accepts exactly two arguments")}i=t[0];n=t[1];if(!E.test(i)){throwError(e,"ill-formed tag handle (first argument) of the TAG directive")}if(o.call(e.tagMap,i)){throwError(e,'there is a previously declared suffix for "'+i+'" tag handle')}if(!A.test(n)){throwError(e,"ill-formed tag prefix (second argument) of the TAG directive")}e.tagMap[i]=n}};function captureSegment(e,r,t,i){var n,a,u,s;if(r1){e.result+=i.repeat("\n",r-1)}}function readPlainScalar(e,r,t){var i,n,a,u,s,o,f,l,c=e.kind,h=e.result,p;p=e.input.charCodeAt(e.position);if(is_WS_OR_EOL(p)||is_FLOW_INDICATOR(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96){return false}if(p===63||p===45){n=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(n)||t&&is_FLOW_INDICATOR(n)){return false}}e.kind="scalar";e.result="";a=u=e.position;s=false;while(p!==0){if(p===58){n=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(n)||t&&is_FLOW_INDICATOR(n)){break}}else if(p===35){i=e.input.charCodeAt(e.position-1);if(is_WS_OR_EOL(i)){break}}else if(e.position===e.lineStart&&testDocumentSeparator(e)||t&&is_FLOW_INDICATOR(p)){break}else if(is_EOL(p)){o=e.line;f=e.lineStart;l=e.lineIndent;skipSeparationSpace(e,false,-1);if(e.lineIndent>=r){s=true;p=e.input.charCodeAt(e.position);continue}else{e.position=u;e.line=o;e.lineStart=f;e.lineIndent=l;break}}if(s){captureSegment(e,a,u,false);writeFoldedLines(e,e.line-o);a=u=e.position;s=false}if(!is_WHITE_SPACE(p)){u=e.position+1}p=e.input.charCodeAt(++e.position)}captureSegment(e,a,u,false);if(e.result){return true}e.kind=c;e.result=h;return false}function readSingleQuotedScalar(e,r){var t,i,n;t=e.input.charCodeAt(e.position);if(t!==39){return false}e.kind="scalar";e.result="";e.position++;i=n=e.position;while((t=e.input.charCodeAt(e.position))!==0){if(t===39){captureSegment(e,i,e.position,true);t=e.input.charCodeAt(++e.position);if(t===39){i=e.position;e.position++;n=e.position}else{return true}}else if(is_EOL(t)){captureSegment(e,i,n,true);writeFoldedLines(e,skipSeparationSpace(e,false,r));i=n=e.position}else if(e.position===e.lineStart&&testDocumentSeparator(e)){throwError(e,"unexpected end of the document within a single quoted scalar")}else{e.position++;n=e.position}}throwError(e,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(e,r){var t,i,n,a,u,s;s=e.input.charCodeAt(e.position);if(s!==34){return false}e.kind="scalar";e.result="";e.position++;t=i=e.position;while((s=e.input.charCodeAt(e.position))!==0){if(s===34){captureSegment(e,t,e.position,true);e.position++;return true}else if(s===92){captureSegment(e,t,e.position,true);s=e.input.charCodeAt(++e.position);if(is_EOL(s)){skipSeparationSpace(e,false,r)}else if(s<256&&C[s]){e.result+=y[s];e.position++}else if((u=escapedHexLen(s))>0){n=u;a=0;for(;n>0;n--){s=e.input.charCodeAt(++e.position);if((u=fromHexCode(s))>=0){a=(a<<4)+u}else{throwError(e,"expected hexadecimal character")}}e.result+=charFromCodepoint(a);e.position++}else{throwError(e,"unknown escape sequence")}t=i=e.position}else if(is_EOL(s)){captureSegment(e,t,i,true);writeFoldedLines(e,skipSeparationSpace(e,false,r));t=i=e.position}else if(e.position===e.lineStart&&testDocumentSeparator(e)){throwError(e,"unexpected end of the document within a double quoted scalar")}else{e.position++;i=e.position}}throwError(e,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(e,r){var t=true,i,n=e.tag,a,u=e.anchor,s,o,l,c,h,p={},v,d,D,m;m=e.input.charCodeAt(e.position);if(m===91){o=93;h=false;a=[]}else if(m===123){o=125;h=true;a={}}else{return false}if(e.anchor!==null){e.anchorMap[e.anchor]=a}m=e.input.charCodeAt(++e.position);while(m!==0){skipSeparationSpace(e,true,r);m=e.input.charCodeAt(e.position);if(m===o){e.position++;e.tag=n;e.anchor=u;e.kind=h?"mapping":"sequence";e.result=a;return true}else if(!t){throwError(e,"missed comma between flow collection entries")}d=v=D=null;l=c=false;if(m===63){s=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(s)){l=c=true;e.position++;skipSeparationSpace(e,true,r)}}i=e.line;composeNode(e,r,f,false,true);d=e.tag;v=e.result;skipSeparationSpace(e,true,r);m=e.input.charCodeAt(e.position);if((c||e.line===i)&&m===58){l=true;m=e.input.charCodeAt(++e.position);skipSeparationSpace(e,true,r);composeNode(e,r,f,false,true);D=e.result}if(h){storeMappingPair(e,a,p,d,v,D)}else if(l){a.push(storeMappingPair(e,null,p,d,v,D))}else{a.push(v)}skipSeparationSpace(e,true,r);m=e.input.charCodeAt(e.position);if(m===44){t=true;m=e.input.charCodeAt(++e.position)}else{t=false}}throwError(e,"unexpected end of the stream within a flow collection")}function readBlockScalar(e,r){var t,n,a=p,u=false,s=false,o=r,f=0,l=false,c,h;h=e.input.charCodeAt(e.position);if(h===124){n=false}else if(h===62){n=true}else{return false}e.kind="scalar";e.result="";while(h!==0){h=e.input.charCodeAt(++e.position);if(h===43||h===45){if(p===a){a=h===43?d:v}else{throwError(e,"repeat of a chomping mode identifier")}}else if((c=fromDecimalCode(h))>=0){if(c===0){throwError(e,"bad explicit indentation width of a block scalar; it cannot be less than one")}else if(!s){o=r+c-1;s=true}else{throwError(e,"repeat of an indentation width identifier")}}else{break}}if(is_WHITE_SPACE(h)){do{h=e.input.charCodeAt(++e.position)}while(is_WHITE_SPACE(h));if(h===35){do{h=e.input.charCodeAt(++e.position)}while(!is_EOL(h)&&h!==0)}}while(h!==0){readLineBreak(e);e.lineIndent=0;h=e.input.charCodeAt(e.position);while((!s||e.lineIndento){o=e.lineIndent}if(is_EOL(h)){f++;continue}if(e.lineIndentr)&&o!==0){throwError(e,"bad indentation of a sequence entry")}else if(e.lineIndentr){if(composeNode(e,r,h,true,n)){if(D){v=e.result}else{d=e.result}}if(!D){storeMappingPair(e,f,c,p,v,d,a,u);p=v=d=null}skipSeparationSpace(e,true,-1);g=e.input.charCodeAt(e.position)}if(e.lineIndent>r&&g!==0){throwError(e,"bad indentation of a mapping entry")}else if(e.lineIndentr){p=1}else if(e.lineIndent===r){p=0}else if(e.lineIndentr){p=1}else if(e.lineIndent===r){p=0}else if(e.lineIndent tag; it should be "'+g.kind+'", not "'+e.kind+'"')}if(!g.resolve(e.result)){throwError(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}else{e.result=g.construct(e.result);if(e.anchor!==null){e.anchorMap[e.anchor]=e.result}}}else{throwError(e,"unknown tag !<"+e.tag+">")}}if(e.listener!==null){e.listener("close",e)}return e.tag!==null||e.anchor!==null||d}function readDocument(e){var r=e.position,t,i,n,a=false,u;e.version=null;e.checkLineBreaks=e.legacy;e.tagMap={};e.anchorMap={};while((u=e.input.charCodeAt(e.position))!==0){skipSeparationSpace(e,true,-1);u=e.input.charCodeAt(e.position);if(e.lineIndent>0||u!==37){break}a=true;u=e.input.charCodeAt(++e.position);t=e.position;while(u!==0&&!is_WS_OR_EOL(u)){u=e.input.charCodeAt(++e.position)}i=e.input.slice(t,e.position);n=[];if(i.length<1){throwError(e,"directive name must not be less than one character in length")}while(u!==0){while(is_WHITE_SPACE(u)){u=e.input.charCodeAt(++e.position)}if(u===35){do{u=e.input.charCodeAt(++e.position)}while(u!==0&&!is_EOL(u));break}if(is_EOL(u))break;t=e.position;while(u!==0&&!is_WS_OR_EOL(u)){u=e.input.charCodeAt(++e.position)}n.push(e.input.slice(t,e.position))}if(u!==0)readLineBreak(e);if(o.call(x,i)){x[i](e,i,n)}else{throwWarning(e,'unknown document directive "'+i+'"')}}skipSeparationSpace(e,true,-1);if(e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45){e.position+=3;skipSeparationSpace(e,true,-1)}else if(a){throwError(e,"directives end mark is expected")}composeNode(e,e.lineIndent-1,h,false,true);skipSeparationSpace(e,true,-1);if(e.checkLineBreaks&&m.test(e.input.slice(r,e.position))){throwWarning(e,"non-ASCII line breaks are interpreted as content")}e.documents.push(e.result);if(e.position===e.lineStart&&testDocumentSeparator(e)){if(e.input.charCodeAt(e.position)===46){e.position+=3;skipSeparationSpace(e,true,-1)}return}if(e.position output."+t,""," # Rewrite all applicable files"," $ "+i+" . -o"].join("\n");return{helpMessage:u,cwd:r.cwd,processor:r.processor,help:n.help,version:n.version,files:n._,watch:n.watch,extensions:l.length?l:r.extensions,output:n.output,out:n.stdout,tree:n.tree,treeIn:n.treeIn,treeOut:n.treeOut,inspect:n.inspect,rcName:r.rcName,packageField:r.packageField,rcPath:n.rcPath,detectConfig:n.config,settings:settings(n.setting),ignoreName:r.ignoreName,ignorePath:n.ignorePath,detectIgnore:n.ignore,pluginPrefix:r.pluginPrefix,plugins:plugins(n.use),reporter:c[0],reporterOptions:c[1],color:n.color,silent:n.silent,quiet:n.quiet,frail:n.frail}}function addEach(e){var r=e.default;f.default[e.long]=r===undefined?null:r;if(e.type in f){f[e.type].push(e.long)}if(e.short){f.alias[e.short]=e.long}}function extensions(e){return flatten(normalize(e).map(splitList))}function plugins(e){var r={};normalize(e).map(splitOptions).forEach(function(e){r[e[0]]=e[1]?parseConfig(e[1],{}):null});return r}function reporter(e){var r=normalize(e).map(splitOptions).map(function(e){return[e[0],e[1]?parseConfig(e[1],{}):null]});return r[r.length-1]||[]}function settings(e){var r={};normalize(e).forEach(function(e){parseConfig(e,r)});return r}function parseConfig(e,r){var t;var i;try{e=toCamelCase(parseJSON(e))}catch(r){i=r.message.replace(/at(?= position)/,"around");throw s("Cannot parse `%s` as JSON: %s",e,i)}for(t in e){r[t]=e[t]}return r}function handleUnknownArgument(e){if(e.charAt(0)!=="-"){return}if(e.charAt(1)==="-"){throw s("Unknown option `%s`, expected:\n%s",e,inspectAll(o))}e.slice(1).split("").forEach(each);function each(e){var r=o.length;var t=-1;var i;while(++t=2,has16m:e>=3}}function supportsColor(e){if(u===false){return 0}if(n("color=16m")||n("color=full")||n("color=truecolor")){return 3}if(n("color=256")){return 2}if(e&&!e.isTTY&&u!==true){return 0}const r=u?1:0;if(process.platform==="win32"){const e=i.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586){return Number(e[2])>=14931?3:2}return 1}if("CI"in a){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in a)||a.CI_NAME==="codeship"){return 1}return r}if("TEAMCITY_VERSION"in a){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(a.TEAMCITY_VERSION)?1:0}if(a.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in a){const e=parseInt((a.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(a.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(a.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(a.TERM)){return 1}if("COLORTERM"in a){return 1}if(a.TERM==="dumb"){return r}return r}function getSupportLevel(e){const r=supportsColor(e);return translateLevel(r)}e.exports={supportsColor:getSupportLevel,stdout:getSupportLevel(process.stdout),stderr:getSupportLevel(process.stderr)}},,,function(e,r,t){"use strict";var i=t(347)("unified-engine:file-pipeline:queue");var n=t(928);e.exports=queue;function queue(e,r,t,a){var u=r.history[0];var s=t.complete;var o=true;if(!s){s={};t.complete=s}i("Queueing `%s`",u);s[u]=a;t.valueOf().forEach(each);if(!o){i("Not flushing: some files cannot be flushed");return}t.complete={};t.pipeline.run(t,done);function each(e){var r=e.history[0];if(n(e).fatal){return}if(typeof s[r]==="function"){i("`%s` can be flushed",r)}else{i("Interupting flush: `%s` is not finished",r);o=false}}function done(e){i("Flushing: all files can be flushed");for(u in s){s[u](e)}}}},function(e,r,t){"use strict";var i=t(171);var n=t(426);e.exports=definition;definition.notInList=true;definition.notInBlock=true;var a='"';var u="'";var s="\\";var o="\n";var f="\t";var l=" ";var c="[";var h="]";var p="(";var v=")";var d=":";var D="<";var m=">";function definition(e,r,t){var i=this;var m=i.options.commonmark;var g=0;var E=r.length;var A="";var C;var y;var w;var x;var b;var F;var S;var B;while(g"];var t=r.concat(["~","|"]);var i=t.concat(["\n",'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);escapes.default=r;escapes.gfm=t;escapes.commonmark=i;function escapes(e){var n=e||{};if(n.commonmark){return i}return n.gfm?t:r}},,function(e){"use strict";e.exports=locate;function locate(e,r){return e.indexOf("~~",r)}},function(e,r,t){"use strict";var i=t(495);var n=t(7);var a=t(682);var u=t(839);var s=t(526);e.exports=i("remark-lint:checkbox-character-style",checkboxCharacterStyle);var o=u.start;var f=u.end;var l={x:true,X:true};var c={" ":true,"\t":true};var h={true:"checked",false:"unchecked"};function checkboxCharacterStyle(e,r,t){var i=String(r);var u=n(r);t=typeof t==="object"?t:{};if(t.unchecked&&c[t.unchecked]!==true){r.fail("Invalid unchecked checkbox marker `"+t.unchecked+"`: use either `'\\t'`, or `' '`")}if(t.checked&&l[t.checked]!==true){r.fail("Invalid checked checkbox marker `"+t.checked+"`: use either `'x'`, or `'X'`")}a(e,"listItem",visitor);function visitor(e){var n;var a;var l;var c;var p;var v;var d;if(typeof e.checked!=="boolean"||s(e)){return}n=h[e.checked];a=o(e).offset;l=(e.children.length?o(e.children[0]):f(e)).offset;c=i.slice(a,l).trimRight().slice(0,-1);v=c.charAt(c.length-1);p=t[n];if(p){if(v!==p){d=n.charAt(0).toUpperCase()+n.slice(1)+" checkboxes should use `"+p+"` as a marker";r.message(d,{start:u.toPosition(a+c.length-1),end:u.toPosition(a+c.length)})}}else{t[n]=v}}}},,,,function(e){"use strict";e.exports=wordCharacter;var r=String.fromCharCode;var t=/\w/;function wordCharacter(e){return t.test(typeof e==="number"?r(e):e.charAt(0))}},,,,,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(526);e.exports=i("remark-lint:no-shortcut-reference-image",noShortcutReferenceImage);var u="Use the trailing [] on reference images";function noShortcutReferenceImage(e,r){n(e,"imageReference",visitor);function visitor(e){if(!a(e)&&e.referenceType==="shortcut"){r.message(u,e)}}}},,function(e,r,t){"use strict";var i=t(335);e.exports=trough;trough.wrap=i;var n=[].slice;function trough(){var e=[];var r={};r.run=run;r.use=use;return r;function run(){var r=-1;var t=n.call(arguments,0,-1);var a=arguments[arguments.length-1];if(typeof a!=="function"){throw new Error("Expected function as last argument, not "+a)}next.apply(null,[null].concat(t));function next(u){var s=e[++r];var o=n.call(arguments,0);var f=o.slice(1);var l=t.length;var c=-1;if(u){a(u);return}while(++c"){break}if(v!==" "&&v!=="\t"){r.message(o,d);break}}}}}},,function(e,r,t){e.exports=realpath;realpath.realpath=realpath;realpath.sync=realpathSync;realpath.realpathSync=realpathSync;realpath.monkeypatch=monkeypatch;realpath.unmonkeypatch=unmonkeypatch;var i=t(66);var n=i.realpath;var a=i.realpathSync;var u=process.version;var s=/^v[0-5]\./.test(u);var o=t(544);function newError(e){return e&&e.syscall==="realpath"&&(e.code==="ELOOP"||e.code==="ENOMEM"||e.code==="ENAMETOOLONG")}function realpath(e,r,t){if(s){return n(e,r,t)}if(typeof r==="function"){t=r;r=null}n(e,r,function(i,n){if(newError(i)){o.realpath(e,r,t)}else{t(i,n)}})}function realpathSync(e,r){if(s){return a(e,r)}try{return a(e,r)}catch(t){if(newError(t)){return o.realpathSync(e,r)}else{throw t}}}function monkeypatch(){i.realpath=realpath;i.realpathSync=realpathSync}function unmonkeypatch(){i.realpath=n;i.realpathSync=a}},,,,,,,,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(839);var u=t(526);e.exports=i("remark-lint:fenced-code-flag",fencedCodeFlag);var s=a.start;var o=a.end;var f=/^ {0,3}([~`])\1{2,}/;var l="Invalid code-language flag";var c="Missing code-language flag";function fencedCodeFlag(e,r,t){var i=String(r);var a=false;var h=[];if(typeof t==="object"&&!("length"in t)){a=Boolean(t.allowEmpty);t=t.flags}if(typeof t==="object"&&"length"in t){h=String(t).split(",")}n(e,"code",visitor);function visitor(e){var t;if(!u(e)){if(e.lang){if(h.length!==0&&h.indexOf(e.lang)===-1){r.message(l,e)}}else{t=i.slice(s(e).offset,o(e).offset);if(!a&&f.test(t)){r.message(c,e)}}}}}},function(e){"use strict";e.exports=alphabetical;function alphabetical(e){var r=typeof e==="string"?e.charCodeAt(0):e;return r>=97&&r<=122||r>=65&&r<=90}},function(e){"use strict";e.exports=locate;var r=["https://","http://","mailto:"];function locate(e,t){var i=r.length;var n=-1;var a=-1;var u;if(!this.options.gfm){return-1}while(++na){i[n-a]=e[n]}return i}},,,,,,,,,function(e,r,t){"use strict";var i=t(211);var n=Object.prototype.hasOwnProperty;var a=Object.prototype.toString;function resolveYamlOmap(e){if(e===null)return true;var r=[],t,i,u,s,o,f=e;for(t=0,i=f.length;t-1){a.splice(u,1)}var s=t;a.forEach(function _buildSubObj(e,t){if(!e||typeof s!=="object")return;if(t===a.length-1)s[e]=r[n];if(s[e]===undefined)s[e]={};s=s[e]})}}return t};var c=r.find=function(){var e=a.join.apply(null,[].slice.call(arguments));function find(e,r){var t=a.join(e,r);try{i.statSync(t);return t}catch(t){if(a.dirname(e)!==e)return find(a.dirname(e),r)}}return find(process.cwd(),e)}},,,,function(e,r,t){"use strict";const i=t(202);const n=t(751);const a=i("JSONError",{fileName:i.append("in %s")});e.exports=((e,r,t)=>{if(typeof r==="string"){t=r;r=null}try{try{return JSON.parse(e,r)}catch(t){n(e,r);throw t}}catch(e){e.message=e.message.replace(/\n/g,"");const r=new a(e);if(t){r.fileName=t}throw r}})},function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(839);var u=t(526);e.exports=i("remark-lint:maximum-line-length",maximumLineLength);var s=a.start;var o=a.end;function maximumLineLength(e,r,t){var i=typeof t==="number"&&!isNaN(t)?t:80;var a=String(r);var f=a.split(/\r?\n/);var l=f.length;var c=-1;var h;n(e,["heading","table","code","definition","html","jsx"],ignore);n(e,["link","image","inlineCode"],inline);while(++ci){r.message("Line must be at most "+i+" characters",{line:c+1,column:h+1})}}function inline(e,r,t){var n=t.children[r+1];var a;var f;if(u(e)){return}a=s(e);f=o(e);if(a.column>i||f.column0?"Add":"Remove")+" "+Math.abs(i)+" "+n("space",i)+" between blockquote and content";r.message(a,u.start(e.children[0]))}}else{t=check(e)}}}function check(e){var r=e.children[0];var t=u.start(r).column-u.start(e).column;var i=o(r).match(/^ +/);if(i){t+=i[0].length}return t}},,,,,function(e){"use strict";e.exports=whitespace;var r=String.fromCharCode;var t=/\s/;function whitespace(e){return t.test(typeof e==="number"?r(e):e.charAt(0))}},,,function(e,r,t){"use strict";var i=t(814);var n="\n";var a=" ";var u=":";var s="[";var o="]";var f="^";var l=4;var c=n+n;var h=i(a,l);e.exports=footnoteDefinition;function footnoteDefinition(e){var r=this.all(e).join(c+h);return s+f+(e.label||e.identifier)+o+u+a+r}},function(e){"use strict";e.exports=collapse;function collapse(e){return String(e).replace(/\s+/g," ")}},function(e){"use strict";e.exports=label;var r="[";var t="]";var i="shortcut";var n="collapsed";function label(e){var a=e.referenceType;if(a===i){return""}return r+(a===n?"":e.label||e.identifier)+t}},,,,,function(e,r,t){"use strict";var i=t(814);var n=t(705);e.exports=listItem;var a="\n";var u=" ";var s="[";var o="]";var f="x";var l=Math.ceil;var c=a+a;var h=4;function listItem(e,r,t,p){var v=this;var d=v.options.listItemIndent;var D=p||v.options.bullet;var m=e.spread==null?true:e.spread;var g=e.checked;var E=e.children;var A=E.length;var C=[];var y=-1;var w;var x;var b;while(++y",Iacute:"Í",Icirc:"Î",Igrave:"Ì",Iuml:"Ï",LT:"<",Ntilde:"Ñ",Oacute:"Ó",Ocirc:"Ô",Ograve:"Ò",Oslash:"Ø",Otilde:"Õ",Ouml:"Ö",QUOT:'"',REG:"®",THORN:"Þ",Uacute:"Ú",Ucirc:"Û",Ugrave:"Ù",Uuml:"Ü",Yacute:"Ý",aacute:"á",acirc:"â",acute:"´",aelig:"æ",agrave:"à",amp:"&",aring:"å",atilde:"ã",auml:"ä",brvbar:"¦",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",ecirc:"ê",egrave:"è",eth:"ð",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",iacute:"í",icirc:"î",iexcl:"¡",igrave:"ì",iquest:"¿",iuml:"ï",laquo:"«",lt:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",oacute:"ó",ocirc:"ô",ograve:"ò",ordf:"ª",ordm:"º",oslash:"ø",otilde:"õ",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',raquo:"»",reg:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",times:"×",uacute:"ú",ucirc:"û",ugrave:"ù",uml:"¨",uuml:"ü",yacute:"ý",yen:"¥",yuml:"ÿ"}},,,,,function(e,r,t){"use strict";var i=t(64);var n=t(753);var a=function errorEx(e,r){if(!e||e.constructor!==String){r=e||{};e=Error.name}var t=function ErrorEXError(i){if(!this){return new ErrorEXError(i)}i=i instanceof Error?i.message:i||this.message;Error.call(this,i);Error.captureStackTrace(this,t);this.name=e;Object.defineProperty(this,"message",{configurable:true,enumerable:false,get:function(){var e=i.split(/\r?\n/g);for(var t in r){if(!r.hasOwnProperty(t)){continue}var a=r[t];if("message"in a){e=a.message(this[t],e)||e;if(!n(e)){e=[e]}}}return e.join("\n")},set:function(e){i=e}});var a=null;var u=Object.getOwnPropertyDescriptor(this,"stack");var s=u.get;var o=u.value;delete u.value;delete u.writable;u.set=function(e){a=e};u.get=function(){var e=(a||(s?s.call(this):o)).split(/\r?\n+/g);if(!a){e[0]=this.name+": "+this.message}var t=1;for(var i in r){if(!r.hasOwnProperty(i)){continue}var n=r[i];if("line"in n){var u=n.line(this[i]);if(u){e.splice(t++,0," "+u)}}if("stack"in n){n.stack(this[i],e)}}return e.join("\n")};Object.defineProperty(this,"stack",u)};if(Object.setPrototypeOf){Object.setPrototypeOf(t.prototype,Error.prototype);Object.setPrototypeOf(t,Error)}else{i.inherits(t,Error)}return t};a.append=function(e,r){return{message:function(t,i){t=t||r;if(t){i[0]+=" "+e.replace("%s",t.toString())}return i}}};a.line=function(e,r){return{line:function(t){t=t||r;if(t){return e.replace("%s",t.toString())}return null}}};e.exports=a},,,,,function(e,r,t){"use strict";var i=t(211);e.exports=new i("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})},,,function(e,r,t){"use strict";var i=t(589);function replaceExt(e,r){if(typeof e!=="string"){return e}if(e.length===0){return e}var t=i.basename(e,i.extname(e))+r;return i.join(i.dirname(e),t)}e.exports=replaceExt},function(e,r,t){"use strict";var i=t(833);var n=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"];var a=["scalar","sequence","mapping"];function compileStyleAliases(e){var r={};if(e!==null){Object.keys(e).forEach(function(t){e[t].forEach(function(e){r[String(e)]=t})})}return r}function Type(e,r){r=r||{};Object.keys(r).forEach(function(r){if(n.indexOf(r)===-1){throw new i('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}});this.tag=e;this.kind=r["kind"]||null;this.resolve=r["resolve"]||function(){return true};this.construct=r["construct"]||function(e){return e};this.instanceOf=r["instanceOf"]||null;this.predicate=r["predicate"]||null;this.represent=r["represent"]||null;this.defaultStyle=r["defaultStyle"]||null;this.styleAliases=compileStyleAliases(r["styleAliases"]||null);if(a.indexOf(this.kind)===-1){throw new i('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}}e.exports=Type},function(e,r,t){"use strict";var i=t(876);var n=true;try{n="inspect"in t(64)}catch(e){n=false}e.exports=n?inspect:noColor;inspect.color=inspect;noColor.color=inspect;inspect.noColor=noColor;noColor.noColor=noColor;var a=ansiColor(2,22);var u=ansiColor(33,39);var s=ansiColor(32,39);var o=new RegExp("(?:"+"(?:\\u001b\\[)|"+"\\u009b"+")"+"(?:"+"(?:[0-9]{1,3})?(?:(?:;[0-9]{0,3})*)?[A-M|f-m]"+")|"+"\\u001b[A-M]","g");var f=["type","value","children","position"];function noColor(e,r){return stripColor(inspect(e,r))}function inspect(e,r){var t;var i;var n;var a;if(e&&Boolean(e.length)&&typeof e!=="string"){a=e.length;n=-1;t=[];while(++n|$))/i;var f=/<\/(script|pre|style)>/i;var l=/^/;var h=/^<\?/;var p=/\?>/;var v=/^/;var D=/^/;var g=/^$/;var E=new RegExp(i.source+"\\s*$");function blockHtml(e,r,t){var i=this;var A=i.options.blocks.join("|");var C=new RegExp("^|$))","i");var y=r.length;var w=0;var x;var b;var F;var S;var B;var k;var O;var P=[[o,f,true],[l,c,true],[h,p,true],[v,d,true],[D,m,true],[C,g,true],[E,g,false]];while(w0&&v.indenta){return}if(!m||!f&&u.charAt(c+1)===n){return}l=u.length+1;D="";while(++c0){var t=peek();if(!a.isHexDigit(t)){throw invalidChar(read())}e+=read()}return String.fromCodePoint(parseInt(e,16))}var C={start:function start(){if(h.type==="eof"){throw invalidEOF()}push()},beforePropertyName:function beforePropertyName(){switch(h.type){case"identifier":case"string":p=h.value;s="afterPropertyName";return;case"punctuator":pop();return;case"eof":throw invalidEOF()}},afterPropertyName:function afterPropertyName(){if(h.type==="eof"){throw invalidEOF()}s="beforePropertyValue"},beforePropertyValue:function beforePropertyValue(){if(h.type==="eof"){throw invalidEOF()}push()},beforeArrayValue:function beforeArrayValue(){if(h.type==="eof"){throw invalidEOF()}if(h.type==="punctuator"&&h.value==="]"){pop();return}push()},afterPropertyValue:function afterPropertyValue(){if(h.type==="eof"){throw invalidEOF()}switch(h.value){case",":s="beforePropertyName";return;case"}":pop()}},afterArrayValue:function afterArrayValue(){if(h.type==="eof"){throw invalidEOF()}switch(h.value){case",":s="beforeArrayValue";return;case"]":pop()}},end:function end(){}};function push(){var e=void 0;switch(h.type){case"punctuator":switch(h.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=h.value;break}if(v===undefined){v=e}else{var r=o[o.length-1];if(Array.isArray(r)){r.push(e)}else{r[p]=e}}if(e!==null&&(typeof e==="undefined"?"undefined":i(e))==="object"){o.push(e);if(Array.isArray(e)){s="beforeArrayValue"}else{s="beforePropertyName"}}else{var t=o[o.length-1];if(t==null){s="end"}else if(Array.isArray(t)){s="afterArrayValue"}else{s="afterPropertyValue"}}}function pop(){o.pop();var e=o[o.length-1];if(e==null){s="end"}else if(Array.isArray(e)){s="afterArrayValue"}else{s="afterPropertyValue"}}function invalidChar(e){if(e===undefined){return syntaxError("JSON5: invalid end of input at "+l+":"+c)}return syntaxError("JSON5: invalid character '"+formatChar(e)+"' at "+l+":"+c)}function invalidEOF(){return syntaxError("JSON5: invalid end of input at "+l+":"+c)}function invalidIdentifier(){c-=5;return syntaxError("JSON5: invalid identifier character at "+l+":"+c)}function separatorChar(e){console.warn("JSON5: '"+e+"' is not valid ECMAScript; consider escaping")}function formatChar(e){var r={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(r[e]){return r[e]}if(e<" "){var t=e.charCodeAt(0).toString(16);return"\\x"+("00"+t).substring(t.length)}return e}function syntaxError(e){var r=new SyntaxError(e);r.lineNumber=l;r.columnNumber=c;return r}e.exports=r["default"]},,function(e,r,t){"use strict";var i=t(66);var n=t(589);var a=t(345);var u=t(347)("unified-engine:find-up");var s=t(692);e.exports=FindUp;var o=i.readFile;var f=n.resolve;var l=n.relative;var c=n.join;var h=n.dirname;FindUp.prototype.load=load;function FindUp(e){var r=this;var t=e.filePath;r.cache={};r.cwd=e.cwd;r.detect=e.detect;r.names=e.names;r.create=e.create;if(t){r.givenFilePath=f(e.cwd,t)}}function load(e,r){var t=this;var i=t.cache;var n=t.givenFilePath;var p=t.givenFile;var v=t.names;var d=t.create;var D=t.cwd;var m;if(n){if(p){apply(r,p)}else{p=[r];t.givenFile=p;u("Checking given file `%s`",n);o(n,loadGiven)}return}if(!t.detect){return r()}e=f(D,e);m=h(e);if(m in i){apply(r,i[m])}else{i[m]=[r];find(m)}function loadGiven(e,r){var i=t.givenFile;var s;if(e){s=a("Cannot read given file `%s`\n%s",l(D,n),e.stack);s.code="ENOENT";s.path=e.path;s.syscall=e.syscall}else{try{s=d(r,n);u("Read given file `%s`",n)}catch(e){s=a("Cannot parse given file `%s`\n%s",l(D,n),e.stack);u(e.message)}}p=s;t.givenFile=s;applyAll(i,s)}function find(r){var t=-1;var n=v.length;next();function next(){var a;if(++t{if(e)console.error(e);process.exit(r)})},,,,,,,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(839);var u=t(526);e.exports=i("remark-lint:code-block-style",codeBlockStyle);var s=a.start;var o=a.end;var f={null:true,fenced:true,indented:true};function codeBlockStyle(e,r,t){var i=String(r);t=typeof t==="string"&&t!=="consistent"?t:null;if(f[t]!==true){r.fail("Invalid code block style `"+t+"`: use either `'consistent'`, `'fenced'`, or `'indented'`")}n(e,"code",visitor);function visitor(e){var i=check(e);if(i){if(!t){t=i}else if(t!==i){r.message("Code blocks should be "+t,e)}}}function check(e){var r=s(e).offset;var t=o(e).offset;if(u(e)){return null}return e.lang||/^\s*([~`])\1{2,}/.test(i.slice(r,t))?"fenced":"indented"}}},,,function(e,r,t){"use strict";var i=t(589);var n=t(77);var a=t(289);e.exports=Ignore;Ignore.prototype.check=check;var u=i.dirname;var s=i.relative;var o=i.resolve;function Ignore(e){this.cwd=e.cwd;this.findUp=new a({filePath:e.ignorePath,cwd:e.cwd,detect:e.detectIgnore,names:e.ignoreName?[e.ignoreName]:[],create:create})}function check(e,r){var t=this;t.findUp.load(e,done);function done(i,n){var a;if(i){r(i)}else if(n){a=s(n.filePath,o(t.cwd,e));r(null,a?n.ignores(a):false)}else{r(null,false)}}}function create(e,r){var t=n().add(String(e));t.filePath=u(r);return t}},,,,function(e){e.exports={nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",fnof:"ƒ",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",bull:"•",hellip:"…",prime:"′",Prime:"″",oline:"‾",frasl:"⁄",weierp:"℘",image:"ℑ",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",quot:'"',amp:"&",lt:"<",gt:">",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",permil:"‰",lsaquo:"‹",rsaquo:"›",euro:"€"}},,,,function(e,r,t){"use strict";var i=t(54);e.exports=enclose;var n="(";var a=")";var u="<";var s=">";var o=/\s/;function enclose(e,r){if(r||e.length===0||o.test(e)||i(e,n)!==i(e,a)){return u+e+s}return e}},,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(839);var u=t(526);e.exports=i("remark-lint:table-pipes",tablePipes);var s=a.start;var o=a.end;var f="Missing initial pipe in table fence";var l="Missing final pipe in table fence";function tablePipes(e,r){var t=String(r);n(e,"table",visitor);function visitor(e){var i=e.children;var n=i.length;var a=-1;var c;var h;var p;var v;var d;var D;while(++a0?parseInt(r):null};for(;i1)return true;for(var a=0;athis.maxLength)return r();if(!this.stat&&m(this.cache,t)){var a=this.cache[t];if(Array.isArray(a))a="DIR";if(!n||a==="DIR")return r(null,a);if(n&&a==="FILE")return r()}var u;var s=this.statCache[t];if(s!==undefined){if(s===false)return r(null,s);else{var o=s.isDirectory()?"DIR":"FILE";if(n&&o==="FILE")return r();else return r(null,o,s)}}var f=this;var l=g("stat\0"+t,lstatcb_);if(l)i.lstat(t,l);function lstatcb_(n,a){if(a&&a.isSymbolicLink()){return i.stat(t,function(i,n){if(i)f._stat2(e,t,null,a,r);else f._stat2(e,t,i,n,r)})}else{f._stat2(e,t,n,a,r)}}};Glob.prototype._stat2=function(e,r,t,i,n){if(t&&(t.code==="ENOENT"||t.code==="ENOTDIR")){this.statCache[r]=false;return n()}var a=e.slice(-1)==="/";this.statCache[r]=i;if(r.slice(-1)==="/"&&i&&!i.isDirectory())return n(null,false,i);var u=true;if(i)u=i.isDirectory()?"DIR":"FILE";this.cache[r]=this.cache[r]||u;if(a&&u==="FILE")return n();return n(null,u,i)}},function(e,r,t){"use strict";var i=t(36);var n=t(439);var a=t(934);var u=t(724);e.exports=paragraph;var s="\t";var o="\n";var f=" ";var l=4;function paragraph(e,r,t){var c=this;var h=c.options;var p=h.commonmark;var v=h.gfm;var d=c.blockTokenizers;var D=c.interruptParagraph;var m=r.indexOf(o);var g=r.length;var E;var A;var C;var y;var w;while(m=l&&C!==o){m=r.indexOf(o,m+1);continue}}A=r.slice(m+1);if(u(D,d,c,[e,A,true])){break}if(d.list.call(c,e,A,true)&&(c.inList||p||v&&!n(i.left(A).charAt(0)))){break}E=m;m=r.indexOf(o,m+1);if(m!==-1&&i(r.slice(E,m))===""){m=E;break}}A=r.slice(0,m);if(i(A)===""){e(A);return null}if(t){return true}w=e.now();A=a(A);return e(A)({type:"paragraph",children:c.tokenizeInline(A,w)})}},function(e,r,t){"use strict";var i;var n;try{var a=i;n=t(644)}catch(e){if(typeof window!=="undefined")n=window.esprima}var u=t(211);function resolveJavascriptFunction(e){if(e===null)return false;try{var r="("+e+")",t=n.parse(r,{range:true});if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression"){return false}return true}catch(e){return false}}function constructJavascriptFunction(e){var r="("+e+")",t=n.parse(r,{range:true}),i=[],a;if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression"){throw new Error("Failed to resolve function")}t.body[0].expression.params.forEach(function(e){i.push(e.name)});a=t.body[0].expression.body.range;if(t.body[0].expression.body.type==="BlockStatement"){return new Function(i,r.slice(a[0]+1,a[1]-1))}return new Function(i,"return "+r.slice(a[0],a[1]))}function representJavascriptFunction(e){return e.toString()}function isFunction(e){return Object.prototype.toString.call(e)==="[object Function]"}e.exports=new u("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:resolveJavascriptFunction,construct:constructJavascriptFunction,predicate:isFunction,represent:representJavascriptFunction})},,,function(e,r,t){"use strict";var i=t(171);var n=t(984);var a=t(426);e.exports=reference;reference.locator=n;var u="link";var s="image";var o="footnote";var f="shortcut";var l="collapsed";var c="full";var h=" ";var p="!";var v="[";var d="\\";var D="]";var m="^";function reference(e,r,t){var n=this;var g=n.options.commonmark;var E=r.charAt(0);var A=0;var C=r.length;var y="";var w="";var x=u;var b=f;var F;var S;var B;var k;var O;var P;var T;var I;if(E===p){x=s;w=E;E=r.charAt(++A)}if(E!==v){return}A++;w+=E;P="";if(n.options.footnotes&&r.charAt(A)===m){if(x===s){return}w+=m;A++;x=o}I=0;while(A "+h.destination:""}if(!h.stats.total){p+=p?": ":"";if(h.stored){p+=m.yellow.open+"written"+m.yellow.close}else{p+="no issues found"}}if(p){f.push(p)}}else{g=m[h.label==="error"?"red":"yellow"];E=h.reason;A="";C=E.indexOf("\n");if(C!==-1){A=E.slice(C);E=E.slice(0,C)}f.push(["",padLeft(h.location,e.location),padRight(g.open+h.label+g.close,e.label),padRight(E,e.reason),padRight(h.ruleId,e.ruleId),h.source||""].join(" ").replace(c,"")+A)}}if(a.fatal||a.warn){p=[];if(a.fatal){p.push([m.red.open+l.error+m.red.close,a.fatal,plural(D.true,a.fatal)].join(" "))}if(a.warn){p.push([m.yellow.open+l.warning+m.yellow.close,a.warn,plural(D.false,a.warn)].join(" "))}p=p.join(", ");if(a.total!==a.fatal&&a.total!==a.warn){p=a.total+" messages ("+p+")"}f.push("",p)}return f.join("\n")}function applicable(e,r){var t=e.messages;var i=t.length;var n=-1;var a=[];if(r.silent){while(++n64)continue;if(r<0)return false;i+=6}return i%8===0}function constructYamlBinary(e){var r,t,i=e.replace(/[\r\n=]/g,""),a=i.length,u=s,o=0,f=[];for(r=0;r>16&255);f.push(o>>8&255);f.push(o&255)}o=o<<6|u.indexOf(i.charAt(r))}t=a%4*6;if(t===0){f.push(o>>16&255);f.push(o>>8&255);f.push(o&255)}else if(t===18){f.push(o>>10&255);f.push(o>>2&255)}else if(t===12){f.push(o>>4&255)}if(n){return n.from?n.from(f):new n(f)}return f}function representYamlBinary(e){var r="",t=0,i,n,a=e.length,u=s;for(i=0;i>18&63];r+=u[t>>12&63];r+=u[t>>6&63];r+=u[t&63]}t=(t<<8)+e[i]}n=a%3;if(n===0){r+=u[t>>18&63];r+=u[t>>12&63];r+=u[t>>6&63];r+=u[t&63]}else if(n===2){r+=u[t>>10&63];r+=u[t>>4&63];r+=u[t<<2&63];r+=u[64]}else if(n===1){r+=u[t>>2&63];r+=u[t<<4&63];r+=u[64];r+=u[64]}return r}function isBinary(e){return n&&n.isBuffer(e)}e.exports=new u("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary})},function(e){"use strict";var r=[].slice;e.exports=wrap;function wrap(e,t){var i;return wrapped;function wrapped(){var t=r.call(arguments,0);var n=e.length>t.length;var a;if(n){t.push(done)}try{a=e.apply(null,t)}catch(e){if(n&&i){throw e}return done(e)}if(!n){if(a&&typeof a.then==="function"){a.then(then,done)}else if(a instanceof Error){done(a)}else{then(a)}}}function done(){if(!i){i=true;t.apply(null,arguments)}}function then(e){done(null,e)}}},function(e){e.exports=extend;var r=Object.prototype.hasOwnProperty;function extend(){var e={};for(var t=0;ti){r.message("Move definitions to the end of the file (after the node at line `"+t+"`)",e)}}else if(t===null){t=i}}}},function(e){var r=Object.prototype.toString;e.exports=isString;function isString(e){return r.call(e)==="[object String]"}},function(e,r,t){"use strict";var i=t(874);e.exports=configure;function configure(e,r){e.configuration=new i(r)}},,,,function(e,r,t){"use strict";var i=t(323);var n=create(Error);e.exports=n;n.eval=create(EvalError);n.range=create(RangeError);n.reference=create(ReferenceError);n.syntax=create(SyntaxError);n.type=create(TypeError);n.uri=create(URIError);n.create=create;function create(e){FormattedError.displayName=e.displayName||e.name;return FormattedError;function FormattedError(r){if(r){r=i.apply(null,arguments)}return new e(r)}}},,function(e,r,t){"use strict";if(typeof process==="undefined"||process.type==="renderer"||process.browser===true||process.__nwjs){e.exports=t(470)}else{e.exports=t(970)}},function(e,r,t){var i=t(20);var n=t(491);e.exports=expandTop;var a="\0SLASH"+Math.random()+"\0";var u="\0OPEN"+Math.random()+"\0";var s="\0CLOSE"+Math.random()+"\0";var o="\0COMMA"+Math.random()+"\0";var f="\0PERIOD"+Math.random()+"\0";function numeric(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function escapeBraces(e){return e.split("\\\\").join(a).split("\\{").join(u).split("\\}").join(s).split("\\,").join(o).split("\\.").join(f)}function unescapeBraces(e){return e.split(a).join("\\").split(u).join("{").split(s).join("}").split(o).join(",").split(f).join(".")}function parseCommaParts(e){if(!e)return[""];var r=[];var t=n("{","}",e);if(!t)return e.split(",");var i=t.pre;var a=t.body;var u=t.post;var s=i.split(",");s[s.length-1]+="{"+a+"}";var o=parseCommaParts(u);if(u.length){s[s.length-1]+=o.shift();s.push.apply(s,o)}r.push.apply(r,s);return r}function expandTop(e){if(!e)return[];if(e.substr(0,2)==="{}"){e="\\{\\}"+e.substr(2)}return expand(escapeBraces(e),true).map(unescapeBraces)}function identity(e){return e}function embrace(e){return"{"+e+"}"}function isPadded(e){return/^-?0\d/.test(e)}function lte(e,r){return e<=r}function gte(e,r){return e>=r}function expand(e,r){var t=[];var a=n("{","}",e);if(!a||/\$$/.test(a.pre))return[e];var u=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(a.body);var o=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(a.body);var f=u||o;var l=a.body.indexOf(",")>=0;if(!f&&!l){if(a.post.match(/,.*\}/)){e=a.pre+"{"+a.body+s+a.post;return expand(e)}return[e]}var c;if(f){c=a.body.split(/\.\./)}else{c=parseCommaParts(a.body);if(c.length===1){c=expand(c[0],false).map(embrace);if(c.length===1){var h=a.post.length?expand(a.post,false):[""];return h.map(function(e){return a.pre+c[0]+e})}}}var p=a.pre;var h=a.post.length?expand(a.post,false):[""];var v;if(f){var d=numeric(c[0]);var D=numeric(c[1]);var m=Math.max(c[0].length,c[1].length);var g=c.length==3?Math.abs(numeric(c[2])):1;var E=lte;var A=D0){var b=new Array(x+1).join("0");if(y<0)w="-"+b+w.slice(1);else w=b+w}}}v.push(w)}}else{v=i(c,function(e){return expand(e,false)})}for(var F=0;F>5===6)return 2;else if(e>>4===14)return 3;else if(e>>3===30)return 4;return e>>6===2?-1:-2}function utf8CheckIncomplete(e,r,t){var i=r.length-1;if(i=0){if(n>0)e.lastNeed=n-1;return n}if(--i=0){if(n>0)e.lastNeed=n-2;return n}if(--i=0){if(n>0){if(n===2)n=0;else e.lastNeed=n-3}return n}return 0}function utf8CheckExtraBytes(e,r,t){if((r[0]&192)!==128){e.lastNeed=0;return"�"}if(e.lastNeed>1&&r.length>1){if((r[1]&192)!==128){e.lastNeed=1;return"�"}if(e.lastNeed>2&&r.length>2){if((r[2]&192)!==128){e.lastNeed=2;return"�"}}}}function utf8FillLast(e){var r=this.lastTotal-this.lastNeed;var t=utf8CheckExtraBytes(this,e,r);if(t!==undefined)return t;if(this.lastNeed<=e.length){e.copy(this.lastChar,r,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,r,0,e.length);this.lastNeed-=e.length}function utf8Text(e,r){var t=utf8CheckIncomplete(this,e,r);if(!this.lastNeed)return e.toString("utf8",r);this.lastTotal=t;var i=e.length-(t-this.lastNeed);e.copy(this.lastChar,0,i);return e.toString("utf8",r,i)}function utf8End(e){var r=e&&e.length?this.write(e):"";if(this.lastNeed)return r+"�";return r}function utf16Text(e,r){if((e.length-r)%2===0){var t=e.toString("utf16le",r);if(t){var i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1];return t.slice(0,-1)}}return t}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=e[e.length-1];return e.toString("utf16le",r,e.length-1)}function utf16End(e){var r=e&&e.length?this.write(e):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return r+this.lastChar.toString("utf16le",0,t)}return r}function base64Text(e,r){var t=(e.length-r)%3;if(t===0)return e.toString("base64",r);this.lastNeed=3-t;this.lastTotal=3;if(t===1){this.lastChar[0]=e[e.length-1]}else{this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1]}return e.toString("base64",r,e.length-t)}function base64End(e){var r=e&&e.length?this.write(e):"";if(this.lastNeed)return r+this.lastChar.toString("base64",0,3-this.lastNeed);return r}function simpleWrite(e){return e.toString(this.encoding)}function simpleEnd(e){return e&&e.length?this.write(e):""}},,,,function(e,r,t){"use strict";var i=t(186);e.exports=VMessage;function VMessagePrototype(){}VMessagePrototype.prototype=Error.prototype;VMessage.prototype=new VMessagePrototype;var n=VMessage.prototype;n.file="";n.name="";n.reason="";n.message="";n.stack="";n.fatal=null;n.column=null;n.line=null;function VMessage(e,r,t){var n;var a;var u;if(typeof r==="string"){t=r;r=null}n=parseOrigin(t);a=i(r)||"1:1";u={start:{line:null,column:null},end:{line:null,column:null}};if(r&&r.position){r=r.position}if(r){if(r.start){u=r;r=r.start}else{u.start=r}}if(e.stack){this.stack=e.stack;e=e.message}this.message=e;this.name=a;this.reason=e;this.line=r?r.line:null;this.column=r?r.column:null;this.location=u;this.source=n[0];this.ruleId=n[1]}function parseOrigin(e){var r=[null,null];var t;if(typeof e==="string"){t=e.indexOf(":");if(t===-1){r[1]=e}else{r[0]=e.slice(0,t);r[1]=e.slice(t+1)}}return r}},,function(e,r,t){"use strict";var i=t(171);var n=t(902);var a=t(49);e.exports=autoLink;autoLink.locator=a;autoLink.notInLink=true;var u="<";var s=">";var o="@";var f="/";var l="mailto:";var c=l.length;function autoLink(e,r,t){var a=this;var h="";var p=r.length;var v=0;var d="";var D=false;var m="";var g;var E;var A;var C;var y;if(r.charAt(0)!==u){return}v++;h=u;while(v0||Y===x&&I.inLink||M&&Y===B&&r.charAt(_+1)===B||M&&Y===S&&(I.inTable||alignment(r,_))||Y===b&&_>0&&_=e.expected){e.emit("done")}}},,function(e,r,t){"use strict";var i=t(897);var n=t(336);var a=t(860);e.exports=parse;parse.Parser=a;function parse(e){var r=this.data("settings");var t=i(a);t.prototype.options=n(t.prototype.options,r,e);this.Parser=t}},,,,,,function(e,r,t){"use strict";var i=t(176);e.exports=imageReference;var n="[";var a="]";var u="!";function imageReference(e){return u+n+(this.encode(e.alt,e)||"")+a+i(e)}},,,,,,function(e,r,t){"use strict";var i=t(495);e.exports=i("remark-lint:no-file-name-consecutive-dashes",noFileNameConsecutiveDashes);var n="Do not use consecutive dashes in a file name";function noFileNameConsecutiveDashes(e,r){if(r.stem&&/-{2,}/.test(r.stem)){r.message(n)}}},,,,,,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(839);var u=t(526);e.exports=i("remark-lint:fenced-code-marker",fencedCodeMarker);var s={"`":true,"~":true,null:true};function fencedCodeMarker(e,r,t){var i=String(r);t=typeof t==="string"&&t!=="consistent"?t:null;if(s[t]!==true){r.fail("Invalid fenced code marker `"+t+"`: use either `'consistent'`, `` '`' ``, or `'~'`")}n(e,"code",visitor);function visitor(e){var n;if(!u(e)){n=i.substr(a.start(e).offset,4).trimLeft().charAt(0);if(s[n]===true){if(t){if(n!==t){r.message("Fenced code should use "+t+" as a marker",e)}}else{t=n}}}}}},,function(e,r,t){"use strict";var i=t(727);e.exports=new i({include:[t(95)],implicit:[t(788),t(900)],explicit:[t(334),t(157),t(697),t(713)]})},,,function(e){"use strict";e.exports=thematicBreak;var r="\t";var t="\n";var i=" ";var n="*";var a="-";var u="_";var s=3;function thematicBreak(e,o,f){var l=-1;var c=o.length+1;var h="";var p;var v;var d;var D;while(++l=s&&(!p||p===t)){h+=D;if(f){return true}return e(h)({type:"thematicBreak"})}else{return}}}},,function(e){e.exports=require("assert")},,,,,,,function(e,r,t){"use strict";var i=t(774);var n=t(176);e.exports=linkReference;var a="[";var u="]";var s="shortcut";var o="collapsed";function linkReference(e){var r=this;var t=e.referenceType;var f=r.enterLinkReference(r,e);var l=r.all(e).join("");f();if(t===s||t===o){l=i(l,e.label||e.identifier)}return a+l+u+n(e)}},function(e){"use strict";e.exports=lineBreak;var r="\\";var t="\n";var i=" ";var n=r+t;var a=i+i+t;function lineBreak(){return this.options.commonmark?n:a}},function(e,r,t){"use strict";function _classCallCheck(e,r){if(!(e instanceof r)){throw new TypeError("Cannot call a class as a function")}}var i=t(945).Buffer;var n=t(64);function copyBuffer(e,r,t){e.copy(r,t)}e.exports=function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0}BufferList.prototype.push=function push(e){var r={data:e,next:null};if(this.length>0)this.tail.next=r;else this.head=r;this.tail=r;++this.length};BufferList.prototype.unshift=function unshift(e){var r={data:e,next:this.head};if(this.length===0)this.tail=r;this.head=r;++this.length};BufferList.prototype.shift=function shift(){if(this.length===0)return;var e=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return e};BufferList.prototype.clear=function clear(){this.head=this.tail=null;this.length=0};BufferList.prototype.join=function join(e){if(this.length===0)return"";var r=this.head;var t=""+r.data;while(r=r.next){t+=e+r.data}return t};BufferList.prototype.concat=function concat(e){if(this.length===0)return i.alloc(0);if(this.length===1)return this.head.data;var r=i.allocUnsafe(e>>>0);var t=this.head;var n=0;while(t){copyBuffer(t.data,r,n);n+=t.data.length;t=t.next}return r};return BufferList}();if(n&&n.inspect&&n.inspect.custom){e.exports.prototype[n.inspect.custom]=function(){var e=n.inspect({length:this.length});return this.constructor.name+" "+e}}},function(e,r,t){"use strict";var i=t(336);var n=t(109);var a=t(694);e.exports=setOptions;function setOptions(e){var r=this;var t=r.options;var u;var s;if(e==null){e={}}else if(typeof e==="object"){e=i(e)}else{throw new Error("Invalid value `"+e+"` for setting `options`")}for(u in a){s=e[u];if(s==null){s=t[u]}if(u!=="blocks"&&typeof s!=="boolean"||u==="blocks"&&typeof s!=="object"){throw new Error("Invalid value `"+s+"` for setting `options."+u+"`")}e[u]=s}r.options=e;r.escape=n(e);return r}},,function(e){var r=Array.prototype.slice;e.exports=co;function co(e){var t=isGeneratorFunction(e);return function(i){var n=this;var a=e;if(t){var u=r.call(arguments),s=u.length;var o=s&&"function"==typeof u[s-1];i=o?u.pop():error;a=e.apply(this,u)}else{i=i||error}next();function exit(e,r){setImmediate(function(){i.call(n,e,r)})}function next(e,t){var i;if(arguments.length>2)t=r.call(arguments,1);if(e){try{i=a.throw(e)}catch(e){return exit(e)}}if(!e){try{i=a.next(t)}catch(e){return exit(e)}}if(i.done)return exit(null,i.value);i.value=toThunk(i.value,n);if("function"==typeof i.value){var u=false;try{i.value.call(n,function(){if(u)return;u=true;next.apply(n,arguments)})}catch(e){setImmediate(function(){if(u)return;u=true;next(e)})}return}next(new TypeError("You may only yield a function, promise, generator, array, or object, "+'but the following was passed: "'+String(i.value)+'"'))}}}function toThunk(e,r){if(isGeneratorFunction(e)){return co(e.call(r))}if(isGenerator(e)){return co(e)}if(isPromise(e)){return promiseToThunk(e)}if("function"==typeof e){return e}if(isObject(e)||Array.isArray(e)){return objectToThunk.call(r,e)}return e}function objectToThunk(e){var r=this;var t=Array.isArray(e);return function(i){var n=Object.keys(e);var a=n.length;var u=t?new Array(a):new e.constructor;var s;if(!a){setImmediate(function(){i(null,u)});return}if(!t){for(var o=0;ot){r.splice(0,t);process.nextTick(function(){RES.apply(null,i)})}else{delete n[e]}}})}function slice(e){var r=e.length;var t=[];for(var i=0;ii){o+=" with 1 space, not "+u;if(size(a)=48&&r<=57}},function(e,r,t){"use strict";var i=t(308);var n=t(197);var a=t(25);var u=t(908);var s=t(617);e.exports=encode;encode.escape=escape;var o={}.hasOwnProperty;var f=['"',"'","<",">","&","`"];var l=construct();var c=toExpression(f);var h=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;var p=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g;function encode(e,r){var t=r||{};var i=t.subset;var n=i?toExpression(i):c;var a=t.escapeOnly;var u=t.omitOptionalSemicolons;e=e.replace(n,function(e,r,i){return one(e,i.charAt(r+1),t)});if(i||a){return e}return e.replace(h,replaceSurrogatePair).replace(p,replaceBmp);function replaceSurrogatePair(e,r,t){return toHexReference((e.charCodeAt(0)-55296)*1024+e.charCodeAt(1)-56320+65536,t.charAt(r+2),u)}function replaceBmp(e,r,i){return one(e,i.charAt(r+1),t)}}function escape(e){return encode(e,{escapeOnly:true,useNamedReferences:true})}function one(e,r,t){var i=t.useShortestReferences;var n=t.omitOptionalSemicolons;var a;var u;if((i||t.useNamedReferences)&&o.call(l,e)){a=toNamed(l[e],r,n,t.attribute)}if(i||!a){u=toHexReference(e.charCodeAt(0),r,n)}if(a&&(!i||a.length/i;function inlineHTML(e,r,t){var n=this;var h=r.length;var p;var v;if(r.charAt(0)!==u||h<3){return}p=r.charAt(1);if(!i(p)&&p!==s&&p!==o&&p!==f){return}v=r.match(a);if(!v){return}if(t){return true}v=v[0];if(!n.inLink&&l.test(v)){n.inLink=true}else if(n.inLink&&c.test(v)){n.inLink=false}return e(v)({type:"html",value:v})}},function(e){e.exports=["md","markdown","mdown","mkdn","mkd","mdwn","mkdown","ron"]},,,,function(e,r,t){"use strict";var i=t(495);e.exports=i("remark-lint:file-extension",fileExtension);function fileExtension(e,r,t){var i=r.extname;t=typeof t==="string"?t:"md";if(i&&i.slice(1)!==t){r.message("Invalid extension: use `"+t+"`")}}},function(e){"use strict";e.exports=factory;var r="\\";function factory(e,t){return unescape;function unescape(i){var n=0;var a=i.indexOf(r);var u=e[t];var s=[];var o;while(a!==-1){s.push(i.slice(n,a));n=a+1;o=i.charAt(n);if(!o||u.indexOf(o)===-1){s.push(r)}a=i.indexOf(r,n+1)}s.push(i.slice(n));return s.join("")}}},,,function(e,r,t){"use strict";const i=t(495);const n=t(682);e.exports=i("remark-lint:prohibited-strings",prohibitedStrings);function testProhibited(e,r){const t=new RegExp(`(\\.|@[a-z0-9/-]*)?(${e.no})(\\.\\w)?`,"g");let i=null;while(i=t.exec(r)){if(!i[1]&&!i[3]){return i[2]}}return false}function prohibitedStrings(e,r,t){n(e,"text",checkText);function checkText(e){const i=e.value;t.forEach(t=>{const n=testProhibited(t,i);if(n){r.message(`Use "${t.yes}" instead of "${n}"`,e)}})}}},,,,,function(e){"use strict";e.exports=hidden;function hidden(e){if(typeof e!=="string"){throw new Error("Expected string")}return e.charAt(0)==="."}},,,,,function(e,r,t){"use strict";var i=t(171);var n=t(426);e.exports=footnoteDefinition;footnoteDefinition.notInList=true;footnoteDefinition.notInBlock=true;var a="\\";var u="\n";var s="\t";var o=" ";var f="[";var l="]";var c="^";var h=":";var p=/^( {4}|\t)?/gm;function footnoteDefinition(e,r,t){var v=this;var d=v.offset;var D;var m;var g;var E;var A;var C;var y;var w;var x;var b;var F;var S;if(!v.options.footnotes){return}D=0;m=r.length;g="";E=e.now();A=E.line;while(D=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(r){r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff);if(!this.useColors){return}var t="color: "+this.color;r.splice(1,0,t,"color: inherit");var i=0;var n=0;r[0].replace(/%[a-zA-Z%]/g,function(e){if(e==="%%"){return}i++;if(e==="%c"){n=i}});r.splice(n,0,t)}function log(){var e;return(typeof console==="undefined"?"undefined":_typeof(console))==="object"&&console.log&&(e=console).log.apply(e,arguments)}function save(e){try{if(e){r.storage.setItem("debug",e)}else{r.storage.removeItem("debug")}}catch(e){}}function load(){var e;try{e=r.storage.getItem("debug")}catch(e){}if(!e&&typeof process!=="undefined"&&"env"in process){e=process.env.DEBUG}return e}function localstorage(){try{return localStorage}catch(e){}}e.exports=t(772)(r);var i=e.exports.formatters;i.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},,,,function(e,r,t){var i=t(159);var n=t(589).join;var a=t(281);var u="/etc";var s=process.platform==="win32";var o=s?process.env.USERPROFILE:process.env.HOME;e.exports=function(e,r,f,l){if("string"!==typeof e)throw new Error("rc(name): name *must* be string");if(!f)f=t(359)(process.argv.slice(2));r=("string"===typeof r?i.json(r):r)||{};l=l||i.parse;var c=i.env(e+"_");var h=[r];var p=[];function addConfigFile(e){if(p.indexOf(e)>=0)return;var r=i.file(e);if(r){h.push(l(r));p.push(e)}}if(!s)[n(u,e,"config"),n(u,e+"rc")].forEach(addConfigFile);if(o)[n(o,".config",e,"config"),n(o,".config",e),n(o,"."+e,"config"),n(o,"."+e+"rc")].forEach(addConfigFile);addConfigFile(i.find("."+e+"rc"));if(c.config)addConfigFile(c.config);if(f.config)addConfigFile(f.config);return a.apply(null,h.concat([c,f,p.length?{configs:p,config:p[p.length-1]}:undefined]))}},,,,,,,,,,function(e){e.exports={name:"remark",version:"10.0.1",description:"Markdown processor powered by plugins",license:"MIT",keywords:["markdown","abstract","syntax","tree","ast","parse","stringify","process"],homepage:"https://remark.js.org",repository:"https://github.com/remarkjs/remark/tree/master/packages/remark",bugs:"https://github.com/remarkjs/remark/issues",author:"Titus Wormer (https://wooorm.com)",contributors:["Titus Wormer (https://wooorm.com)"],files:["index.js"],dependencies:{"remark-parse":"^6.0.0","remark-stringify":"^6.0.0",unified:"^7.0.0"},devDependencies:{tape:"^4.9.1"},scripts:{test:"tape test.js"},xo:false,_resolved:"https://registry.npmjs.org/remark/-/remark-10.0.1.tgz",_integrity:"sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==",_from:"remark@10.0.1"}},function(e){e.exports=require("events")},,function(e,r,t){e.exports=globSync;globSync.GlobSync=GlobSync;var i=t(66);var n=t(129);var a=t(620);var u=a.Minimatch;var s=t(327).Glob;var o=t(64);var f=t(589);var l=t(393);var c=t(969);var h=t(922);var p=h.alphasort;var v=h.alphasorti;var d=h.setopts;var D=h.ownProp;var m=h.childrenIgnored;var g=h.isIgnored;function globSync(e,r){if(typeof r==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");return new GlobSync(e,r).found}function GlobSync(e,r){if(!e)throw new Error("must provide pattern");if(typeof r==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof GlobSync))return new GlobSync(e,r);d(this,e,r);if(this.noprocess)return this;var t=this.minimatch.set.length;this.matches=new Array(t);for(var i=0;ithis.maxLength)return false;if(!this.stat&&D(this.cache,r)){var n=this.cache[r];if(Array.isArray(n))n="DIR";if(!t||n==="DIR")return n;if(t&&n==="FILE")return false}var a;var u=this.statCache[r];if(!u){var s;try{s=i.lstatSync(r)}catch(e){if(e&&(e.code==="ENOENT"||e.code==="ENOTDIR")){this.statCache[r]=false;return false}}if(s&&s.isSymbolicLink()){try{u=i.statSync(r)}catch(e){u=s}}else{u=s}}this.statCache[r]=u;var n=true;if(u)n=u.isDirectory()?"DIR":"FILE";this.cache[r]=this.cache[r]||n;if(t&&n==="FILE")return false;return n};GlobSync.prototype._mark=function(e){return h.mark(this,e)};GlobSync.prototype._makeAbs=function(e){return h.makeAbs(this,e)}},,,,function(e){"use strict";e.exports=balanced;function balanced(e,r,t){if(e instanceof RegExp)e=maybeMatch(e,t);if(r instanceof RegExp)r=maybeMatch(r,t);var i=range(e,r,t);return i&&{start:i[0],end:i[1],pre:t.slice(0,i[0]),body:t.slice(i[0]+e.length,i[1]),post:t.slice(i[1]+r.length)}}function maybeMatch(e,r){var t=r.match(e);return t?t[0]:null}balanced.range=range;function range(e,r,t){var i,n,a,u,s;var o=t.indexOf(e);var f=t.indexOf(r,o+1);var l=o;if(o>=0&&f>0){i=[];a=t.length;while(l>=0&&!s){if(l==o){i.push(l);o=t.indexOf(e,l+1)}else if(i.length==1){s=[i.pop(),f]}else{n=i.pop();if(n=0?o:f}if(i.length){s=[a,u]}}return s}},,,,function(e,r,t){"use strict";var i=t(659);e.exports=factory;function factory(e,r){var t=e.split(":");var n=t[0];var a=t[1];var u=i(r);if(!a){a=n;n=null}attacher.displayName=e;return attacher;function attacher(e){var r=coerce(a,e);var t=r[0];var i=r[1];var s=t===2;return t?transformer:undefined;function transformer(e,r,t){var o=r.messages.length;u(e,r,i,done);function done(e){var i=r.messages;var u;if(e&&i.indexOf(e)===-1){try{r.fail(e)}catch(e){}}while(o2){throw new Error("Invalid severity `"+n+"` for `"+e+"`, "+"expected 0, 1, or 2")}i[0]=n;return i}},,,,,,,function(e,r,t){"use strict";e.exports=PassThrough;var i=t(955);var n=t(683);n.inherits=t(780);n.inherits(PassThrough,i);function PassThrough(e){if(!(this instanceof PassThrough))return new PassThrough(e);i.call(this,e)}PassThrough.prototype._transform=function(e,r,t){t(null,e)}},function(e,r,t){"use strict";var i=t(353);var n=t(320);e.exports=n;var a=n.prototype;a.message=message;a.info=info;a.fail=fail;a.warn=message;function message(e,r,t){var n=this.path;var a=new i(e,r,t);if(n){a.name=n+":"+a.name;a.file=n}a.fatal=false;this.messages.push(a);return a}function fail(){var e=this.message.apply(this,arguments);e.fatal=true;throw e}function info(){var e=this.message.apply(this,arguments);e.fatal=null;return e}},,,,function(e,r,t){e.exports=t(64).deprecate},,,,function(e){"use strict";e.exports=locate;function locate(e,r){var t=e.indexOf("**",r);var i=e.indexOf("__",r);if(i===-1){return t}if(t===-1){return i}return ii&&e[c+1]!==" ";c=a}}else if(!isPrintable(u)){return j}h=h&&isPlainSafe(u)}o=o||f&&(a-c-1>i&&e[c+1]!==" ")}if(!s&&!o){return h&&!n(e)?I:M}if(t>9&&needIndentIndicator(e)){return j}return o?R:L}function writeScalar(e,r,t,i){e.dump=function(){if(r.length===0){return"''"}if(!e.noCompatMode&&T.indexOf(r)!==-1){return"'"+r+"'"}var a=e.indent*Math.max(1,t);var u=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-a);var s=i||e.flowLevel>-1&&t>=e.flowLevel;function testAmbiguity(r){return testImplicitResolving(e,r)}switch(chooseScalarStyle(r,s,e.indent,u,testAmbiguity)){case I:return r;case M:return"'"+r.replace(/'/g,"''")+"'";case L:return"|"+blockHeader(r,e.indent)+dropEndingNewline(indentString(r,a));case R:return">"+blockHeader(r,e.indent)+dropEndingNewline(indentString(foldString(r,u),a));case j:return'"'+escapeString(r,u)+'"';default:throw new n("impossible error: invalid scalar style")}}()}function blockHeader(e,r){var t=needIndentIndicator(e)?String(r):"";var i=e[e.length-1]==="\n";var n=i&&(e[e.length-2]==="\n"||e==="\n");var a=n?"+":i?"":"-";return t+a+"\n"}function dropEndingNewline(e){return e[e.length-1]==="\n"?e.slice(0,-1):e}function foldString(e,r){var t=/(\n+)([^\n]*)/g;var i=function(){var i=e.indexOf("\n");i=i!==-1?i:e.length;t.lastIndex=i;return foldLine(e.slice(0,i),r)}();var n=e[0]==="\n"||e[0]===" ";var a;var u;while(u=t.exec(e)){var s=u[1],o=u[2];a=o[0]===" ";i+=s+(!n&&!a&&o!==""?"\n":"")+foldLine(o,r);n=a}return i}function foldLine(e,r){if(e===""||e[0]===" ")return e;var t=/ [^ ]/g;var i;var n=0,a,u=0,s=0;var o="";while(i=t.exec(e)){s=i.index;if(s-n>r){a=u>n?u:s;o+="\n"+e.slice(n,a);n=a+1}u=s}o+="\n";if(e.length-n>r&&u>n){o+=e.slice(n,u)+"\n"+e.slice(u+1)}else{o+=e.slice(n)}return o.slice(1)}function escapeString(e){var r="";var t,i;var n;for(var a=0;a=55296&&t<=56319){i=e.charCodeAt(a+1);if(i>=56320&&i<=57343){r+=encodeHex((t-55296)*1024+i-56320+65536);a++;continue}}n=P[t];r+=!n&&isPrintable(t)?e[a]:n||encodeHex(t)}return r}function writeFlowSequence(e,r,t){var i="",n=e.tag,a,u;for(a=0,u=t.length;a1024)l+="? ";l+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" ");if(!writeNode(e,r,f,false,false)){continue}l+=e.dump;i+=l}e.tag=n;e.dump="{"+i+"}"}function writeBlockMapping(e,r,t,i){var a="",u=e.tag,s=Object.keys(t),o,f,c,h,p,v;if(e.sortKeys===true){s.sort()}else if(typeof e.sortKeys==="function"){s.sort(e.sortKeys)}else if(e.sortKeys){throw new n("sortKeys must be a boolean or a function")}for(o=0,f=s.length;o1024;if(p){if(e.dump&&l===e.dump.charCodeAt(0)){v+="?"}else{v+="? "}}v+=e.dump;if(p){v+=generateNextLine(e,r)}if(!writeNode(e,r+1,h,true,p)){continue}if(e.dump&&l===e.dump.charCodeAt(0)){v+=":"}else{v+=": "}v+=e.dump;a+=v}e.tag=u;e.dump=a||"{}"}function detectType(e,r,t){var i,a,u,f,l,c;a=t?e.explicitTypes:e.implicitTypes;for(u=0,f=a.length;u tag resolver accepts not "'+c+'" style')}e.dump=i}return true}}return false}function writeNode(e,r,t,i,a,u){e.tag=null;e.dump=t;if(!detectType(e,t,false)){detectType(e,t,true)}var o=s.call(e.dump);if(i){i=e.flowLevel<0||e.flowLevel>r}var f=o==="[object Object]"||o==="[object Array]",l,c;if(f){l=e.duplicates.indexOf(t);c=l!==-1}if(e.tag!==null&&e.tag!=="?"||c||e.indent!==2&&r>0){a=false}if(c&&e.usedDuplicates[l]){e.dump="*ref_"+l}else{if(f&&c&&!e.usedDuplicates[l]){e.usedDuplicates[l]=true}if(o==="[object Object]"){if(i&&Object.keys(e.dump).length!==0){writeBlockMapping(e,r,e.dump,a);if(c){e.dump="&ref_"+l+e.dump}}else{writeFlowMapping(e,r,e.dump);if(c){e.dump="&ref_"+l+" "+e.dump}}}else if(o==="[object Array]"){var h=e.noArrayIndent&&r>0?r-1:r;if(i&&e.dump.length!==0){writeBlockSequence(e,h,e.dump,a);if(c){e.dump="&ref_"+l+e.dump}}else{writeFlowSequence(e,h,e.dump);if(c){e.dump="&ref_"+l+" "+e.dump}}}else if(o==="[object String]"){if(e.tag!=="?"){writeScalar(e,e.dump,r,u)}}else{if(e.skipInvalid)return false;throw new n("unacceptable kind of an object to dump "+o)}if(e.tag!==null&&e.tag!=="?"){e.dump="!<"+e.tag+"> "+e.dump}}return true}function getDuplicateReferences(e,r){var t=[],i=[],n,a;inspectNode(e,t,i);for(n=0,a=i.length;n=e.length){if(r)r[u]=e;return t(null,e)}o.lastIndex=c;var i=o.exec(e);v=h;h+=i[0];p=v+i[1];c=o.lastIndex;if(l[p]||r&&r[p]===p){return process.nextTick(LOOP)}if(r&&Object.prototype.hasOwnProperty.call(r,p)){return gotResolvedLink(r[p])}return a.lstat(p,gotStat)}function gotStat(e,i){if(e)return t(e);if(!i.isSymbolicLink()){l[p]=true;if(r)r[p]=p;return process.nextTick(LOOP)}if(!n){var u=i.dev.toString(32)+":"+i.ino.toString(32);if(s.hasOwnProperty(u)){return gotTarget(null,s[u],p)}}a.stat(p,function(e){if(e)return t(e);a.readlink(p,function(e,r){if(!n)s[u]=r;gotTarget(e,r)})})}function gotTarget(e,n,a){if(e)return t(e);var u=i.resolve(v,n);if(r)r[a]=u;gotResolvedLink(u)}function gotResolvedLink(r){e=i.resolve(r,e.slice(c));start()}}},,function(e){e.exports=[{long:"help",description:"output usage information",short:"h",type:"boolean",default:false},{long:"version",description:"output version number",short:"v",type:"boolean",default:false},{long:"output",description:"specify output location",short:"o",value:"[path]"},{long:"rc-path",description:"specify configuration file",short:"r",type:"string",value:""},{long:"ignore-path",description:"specify ignore file",short:"i",type:"string",value:""},{long:"setting",description:"specify settings",short:"s",type:"string",value:""},{long:"ext",description:"specify extensions",short:"e",type:"string",value:""},{long:"use",description:"use plugins",short:"u",type:"string",value:""},{long:"watch",description:"watch for changes and reprocess",short:"w",type:"boolean",default:false},{long:"quiet",description:"output only warnings and errors",short:"q",type:"boolean",default:false},{long:"silent",description:"output only errors",short:"S",type:"boolean",default:false},{long:"frail",description:"exit with 1 on warnings",short:"f",type:"boolean",default:false},{long:"tree",description:"specify input and output as syntax tree",short:"t",type:"boolean",default:false},{long:"report",description:"specify reporter",type:"string",value:""},{long:"file-path",description:"specify path to process as",type:"string",value:""},{long:"tree-in",description:"specify input as syntax tree",type:"boolean"},{long:"tree-out",description:"output syntax tree",type:"boolean"},{long:"inspect",description:"output formatted syntax tree",type:"boolean"},{long:"stdout",description:"specify writing to stdout",type:"boolean",truelike:true},{long:"color",description:"specify color in report",type:"boolean",default:true},{long:"config",description:"search for configuration files",type:"boolean",default:true},{long:"ignore",description:"search for ignore files",type:"boolean",default:true}]},,,,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(839);var u=t(526);e.exports=i("remark-lint:hard-break-spaces",hardBreakSpaces);var s="Use two spaces for hard line breaks";function hardBreakSpaces(e,r){var t=String(r);n(e,"break",visitor);function visitor(e){var i;if(!u(e)){i=t.slice(a.start(e).offset,a.end(e).offset).split("\n",1)[0].replace(/\r$/,"");if(i.length>2){r.message(s,e)}}}}},,,,function(e,r,t){"use strict";var i=t(171);e.exports=table;var n="\t";var a="\n";var u=" ";var s="-";var o=":";var f="\\";var l="`";var c="|";var h=1;var p=2;var v="left";var d="center";var D="right";function table(e,r,t){var m=this;var g;var E;var A;var C;var y;var w;var x;var b;var F;var S;var B;var k;var O;var P;var T;var I;var M;var L;var R;var j;var N;var U;var J;var z;if(!m.options.gfm){return}g=0;L=0;w=r.length+1;x=[];while(gU){if(L1){if(F){C+=b.slice(0,b.length-1);b=b.charAt(b.length-1)}else{C+=b;b=""}}I=e.now();e(C)({type:"tableCell",children:m.tokenizeInline(k,I)},y)}e(b+F);b="";k=""}}else{if(b){k+=b;b=""}k+=F;if(F===f&&g!==w-2){k+=R.charAt(g+1);g++}if(F===l){P=1;while(R.charAt(g+1)===F){k+=F;g++;P++}if(!T){T=P}else if(P>=T){T=0}}}O=false;g++}if(!M){e(a+E)}}return N}},function(e,r,t){"use strict";var i=t(211);function resolveJavascriptRegExp(e){if(e===null)return false;if(e.length===0)return false;var r=e,t=/\/([gim]*)$/.exec(e),i="";if(r[0]==="/"){if(t)i=t[1];if(i.length>3)return false;if(r[r.length-i.length-1]!=="/")return false}return true}function constructJavascriptRegExp(e){var r=e,t=/\/([gim]*)$/.exec(e),i="";if(r[0]==="/"){if(t)i=t[1];r=r.slice(1,r.length-i.length-1)}return new RegExp(r,i)}function representJavascriptRegExp(e){var r="/"+e.source+"/";if(e.global)r+="g";if(e.multiline)r+="m";if(e.ignoreCase)r+="i";return r}function isRegExp(e){return Object.prototype.toString.call(e)==="[object RegExp]"}e.exports=new i("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:resolveJavascriptRegExp,construct:constructJavascriptRegExp,predicate:isRegExp,represent:representJavascriptRegExp})},,,,,,,,,function(e){"use strict";e.exports=markdownTable;var r=/\./;var t=/\.[^.]*$/;var i="l";var n="r";var a="c";var u=".";var s="";var o=[i,n,a,u,s];var f=3;var l=":";var c="-";var h="|";var p=" ";var v="\n";function markdownTable(e,t){var d=t||{};var D=d.delimiter;var m=d.start;var g=d.end;var E=d.align;var A=d.stringLength||lengthNoop;var C=0;var y=-1;var w=e.length;var x=[];var b;var F;var S;var B;var k;var O;var P;var T;var I;var M;var L;var R;E=E?E.concat():[];if(D===null||D===undefined){D=p+h+p}if(m===null||m===undefined){m=h+p}if(g===null||g===undefined){g=p+h}while(++yC){C=B.length}while(++Ox[O]){x[O]=P}}}if(typeof E==="string"){E=pad(C,E).split("")}O=-1;while(++Ox[O]){x[O]=T}}}y=-1;while(++yf?M:f}else{M=x[O]}b=E[O];I=b===n||b===s?c:l;I+=pad(M-2,c);I+=b!==i&&b!==s?l:c;F[O]=I}S.splice(1,0,F.join(D))}return m+S.join(g+v+m)+g}function stringify(e){return e===null||e===undefined?"":String(e)}function lengthNoop(e){return String(e).length}function pad(e,r){return new Array(e+1).join(r||p)}function dotindex(e){var r=t.exec(e);return r?r.index+1:e.length}},,,,,function(e,r,t){e.exports=t(688)},,,,,function(e,r,t){"use strict";var i=t(12);e.exports=Writable;function WriteReq(e,r,t){this.chunk=e;this.encoding=r;this.callback=t;this.next=null}function CorkedRequest(e){var r=this;this.next=null;this.entry=null;this.finish=function(){onCorkedFinish(r,e)}}var n=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:i.nextTick;var a;Writable.WritableState=WritableState;var u=t(683);u.inherits=t(780);var s={deprecate:t(507)};var o=t(569);var f=t(945).Buffer;var l=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return f.from(e)}function _isUint8Array(e){return f.isBuffer(e)||e instanceof l}var c=t(972);u.inherits(Writable,o);function nop(){}function WritableState(e,r){a=a||t(98);e=e||{};var i=r instanceof a;this.objectMode=!!e.objectMode;if(i)this.objectMode=this.objectMode||!!e.writableObjectMode;var n=e.highWaterMark;var u=e.writableHighWaterMark;var s=this.objectMode?16:16*1024;if(n||n===0)this.highWaterMark=n;else if(i&&(u||u===0))this.highWaterMark=u;else this.highWaterMark=s;this.highWaterMark=Math.floor(this.highWaterMark);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var o=e.decodeStrings===false;this.decodeStrings=!o;this.defaultEncoding=e.defaultEncoding||"utf8";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(e){onwrite(r,e)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){var e=this.bufferedRequest;var r=[];while(e){r.push(e);e=e.next}return r};(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:s.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer "+"instead.","DEP0003")})}catch(e){}})();var h;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function"){h=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:function(e){if(h.call(this,e))return true;if(this!==Writable)return false;return e&&e._writableState instanceof WritableState}})}else{h=function(e){return e instanceof this}}function Writable(e){a=a||t(98);if(!h.call(Writable,this)&&!(this instanceof a)){return new Writable(e)}this._writableState=new WritableState(e,this);this.writable=true;if(e){if(typeof e.write==="function")this._write=e.write;if(typeof e.writev==="function")this._writev=e.writev;if(typeof e.destroy==="function")this._destroy=e.destroy;if(typeof e.final==="function")this._final=e.final}o.call(this)}Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function writeAfterEnd(e,r){var t=new Error("write after end");e.emit("error",t);i.nextTick(r,t)}function validChunk(e,r,t,n){var a=true;var u=false;if(t===null){u=new TypeError("May not write null values to stream")}else if(typeof t!=="string"&&t!==undefined&&!r.objectMode){u=new TypeError("Invalid non-string/buffer chunk")}if(u){e.emit("error",u);i.nextTick(n,u);a=false}return a}Writable.prototype.write=function(e,r,t){var i=this._writableState;var n=false;var a=!i.objectMode&&_isUint8Array(e);if(a&&!f.isBuffer(e)){e=_uint8ArrayToBuffer(e)}if(typeof r==="function"){t=r;r=null}if(a)r="buffer";else if(!r)r=i.defaultEncoding;if(typeof t!=="function")t=nop;if(i.ended)writeAfterEnd(this,t);else if(a||validChunk(this,i,e,t)){i.pendingcb++;n=writeOrBuffer(this,i,a,e,r,t)}return n};Writable.prototype.cork=function(){var e=this._writableState;e.corked++};Writable.prototype.uncork=function(){var e=this._writableState;if(e.corked){e.corked--;if(!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest)clearBuffer(this,e)}};Writable.prototype.setDefaultEncoding=function setDefaultEncoding(e){if(typeof e==="string")e=e.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);this._writableState.defaultEncoding=e;return this};function decodeChunk(e,r,t){if(!e.objectMode&&e.decodeStrings!==false&&typeof r==="string"){r=f.from(r,t)}return r}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:function(){return this._writableState.highWaterMark}});function writeOrBuffer(e,r,t,i,n,a){if(!t){var u=decodeChunk(r,i,n);if(i!==u){t=true;n="buffer";i=u}}var s=r.objectMode?1:i.length;r.length+=s;var o=r.length=b){b=0}}else if(E===v){g++;B+=r.charAt(g)}else if((!b||y)&&E===p){L++}else if((!b||y)&&E===d){if(L){L--}else{if(!A){while(gn){return false}}return check(e,i,t)&&check(e,m)}function isKnown(e,r,t){var i=o?o.indexOf(e)!==-1:true;if(!i){h.warn("Unknown rule: cannot "+r+" `'"+e+"'`",t)}return i}function getState(e){var r=e?D[e]:m;if(r&&r.length!==0){return r[r.length-1].state}if(!e){return!f}if(f){return l.indexOf(e)!==-1}return c.indexOf(e)===-1}function toggle(e,r,t){var i=t?D[t]:m;var n;var a;if(!i){i=[];D[t]=i}a=getState(t);n=r;if(n!==a){i.push({state:n,position:e})}if(!t){for(t in D){toggle(e,r,t)}}}function check(e,r,t){var i=r&&r.length;var n=-1;var a;while(--i>n){a=r[i];if(!a.position||!a.position.line||!a.position.column){continue}if(a.position.line=e){return}if(u){s.push({start:n,end:e});u=false}n=e}}},,function(e){"use strict";e.exports=orderedItems;var r="\n";var t=".";var i=r+r;function orderedItems(e){var n=this;var a=n.visitors.listItem;var u=n.options.incrementListMarker;var s=[];var o=e.start;var f=e.children;var l=f.length;var c=-1;var h;o=o==null?1:o;while(++c1;var p=c;var v=r.path;if(!u(p)){a("Not copying");return i()}p=f(e.cwd,p);a("Copying `%s`",v);s(p,onstatfile);function onstatfile(e,r){if(e){if(e.code!=="ENOENT"||c.charAt(c.length-1)===n.sep){return i(new Error("Cannot read output directory. Error:\n"+e.message))}s(o(p),onstatparent)}else{done(r.isDirectory())}}function onstatparent(e){if(e){i(new Error("Cannot read parent directory. Error:\n"+e.message))}else{done(false)}}function done(e){if(!e&&h){return i(new Error("Cannot write multiple files to single output: "+p))}r[e?"dirname":"path"]=l(r.cwd,p);a("Copying document from %s to %s",v,r.path);i()}}},function(e,r){"use strict";var t="[a-zA-Z_:][a-zA-Z0-9:._-]*";var i="[^\"'=<>`\\u0000-\\u0020]+";var n="'[^']*'";var a='"[^"]*"';var u="(?:"+i+"|"+n+"|"+a+")";var s="(?:\\s+"+t+"(?:\\s*=\\s*"+u+")?)";var o="<[A-Za-z][A-Za-z0-9\\-]*"+s+"*\\s*\\/?>";var f="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";var l="\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e";var c="<[?].*?[?]>";var h="]*>";var p="";r.openCloseTag=new RegExp("^(?:"+o+"|"+f+")");r.tag=new RegExp("^(?:"+o+"|"+f+"|"+l+"|"+c+"|"+h+"|"+p+")")},,function(e){e.exports=require("path")},,,,function(e,r,t){"use strict";var i=t(36);var n=t(171);var a=t(511);e.exports=strong;strong.locator=a;var u="\\";var s="*";var o="_";function strong(e,r,t){var a=this;var f=0;var l=r.charAt(f);var c;var h;var p;var v;var d;var D;var m;if(l!==s&&l!==o||r.charAt(++f)!==l){return}h=a.options.pedantic;p=l;d=p+p;D=r.length;f++;v="";l="";if(h&&n(r.charAt(f))){return}while(f0){return parse(e)}else if(t==="number"&&isNaN(e)===false){return r.long?fmtLong(e):fmtShort(e)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function parse(e){e=String(e);if(e.length>100){return}var s=/^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!s){return}var o=parseFloat(s[1]);var f=(s[2]||"ms").toLowerCase();switch(f){case"years":case"year":case"yrs":case"yr":case"y":return o*u;case"weeks":case"week":case"w":return o*a;case"days":case"day":case"d":return o*n;case"hours":case"hour":case"hrs":case"hr":case"h":return o*i;case"minutes":case"minute":case"mins":case"min":case"m":return o*t;case"seconds":case"second":case"secs":case"sec":case"s":return o*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return undefined}}function fmtShort(e){var a=Math.abs(e);if(a>=n){return Math.round(e/n)+"d"}if(a>=i){return Math.round(e/i)+"h"}if(a>=t){return Math.round(e/t)+"m"}if(a>=r){return Math.round(e/r)+"s"}return e+"ms"}function fmtLong(e){var a=Math.abs(e);if(a>=n){return plural(e,a,n,"day")}if(a>=i){return plural(e,a,i,"hour")}if(a>=t){return plural(e,a,t,"minute")}if(a>=r){return plural(e,a,r,"second")}return e+" ms"}function plural(e,r,t,i){var n=r>=t*1.5;return Math.round(e/t)+" "+i+(n?"s":"")}},function(e,r){r.parse=r.decode=decode;r.stringify=r.encode=encode;r.safe=safe;r.unsafe=unsafe;var t=typeof process!=="undefined"&&process.platform==="win32"?"\r\n":"\n";function encode(e,r){var i=[];var n="";if(typeof r==="string"){r={section:r,whitespace:false}}else{r=r||{};r.whitespace=r.whitespace===true}var a=r.whitespace?" = ":"=";Object.keys(e).forEach(function(r,u,s){var o=e[r];if(o&&Array.isArray(o)){o.forEach(function(e){n+=safe(r+"[]")+a+safe(e)+"\n"})}else if(o&&typeof o==="object"){i.push(r)}else{n+=safe(r)+a+safe(o)+t}});if(r.section&&n.length){n="["+safe(r.section)+"]"+t+n}i.forEach(function(i,a,u){var s=dotSplit(i).join("\\.");var o=(r.section?r.section+".":"")+s;var f=encode(e[i],{section:o,whitespace:r.whitespace});if(n.length&&f.length){n+=t}n+=f});return n}function dotSplit(e){return e.replace(/\1/g,"LITERAL\\1LITERAL").replace(/\\\./g,"").split(/\./).map(function(e){return e.replace(/\1/g,"\\.").replace(/\2LITERAL\\1LITERAL\2/g,"")})}function decode(e){var r={};var t=r;var i=null;var n=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i;var a=e.split(/[\r\n]+/g);a.forEach(function(e,a,u){if(!e||e.match(/^\s*[;#]/))return;var s=e.match(n);if(!s)return;if(s[1]!==undefined){i=unsafe(s[1]);t=r[i]=r[i]||{};return}var o=unsafe(s[2]);var f=s[3]?unsafe(s[4]):true;switch(f){case"true":case"false":case"null":f=JSON.parse(f)}if(o.length>2&&o.slice(-2)==="[]"){o=o.substring(0,o.length-2);if(!t[o]){t[o]=[]}else if(!Array.isArray(t[o])){t[o]=[t[o]]}}if(Array.isArray(t[o])){t[o].push(f)}else{t[o]=f}});Object.keys(r).filter(function(e,t,i){if(!r[e]||typeof r[e]!=="object"||Array.isArray(r[e])){return false}var n=dotSplit(e);var a=r;var u=n.pop();var s=u.replace(/\\\./g,".");n.forEach(function(e,r,t){if(!a[e]||typeof a[e]!=="object")a[e]={};a=a[e]});if(a===r&&s===u){return false}a[s]=r[e];return true}).forEach(function(e,t,i){delete r[e]});return r}function isQuoted(e){return e.charAt(0)==='"'&&e.slice(-1)==='"'||e.charAt(0)==="'"&&e.slice(-1)==="'"}function safe(e){return typeof e!=="string"||e.match(/[=\r\n]/)||e.match(/^\[/)||e.length>1&&isQuoted(e)||e!==e.trim()?JSON.stringify(e):e.replace(/;/g,"\\;").replace(/#/g,"\\#")}function unsafe(e,r){e=(e||"").trim();if(isQuoted(e)){if(e.charAt(0)==="'"){e=e.substr(1,e.length-2)}try{e=JSON.parse(e)}catch(e){}}else{var t=false;var i="";for(var n=0,a=e.length;n="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||n.ID_Start.test(e)}function isIdContinueChar(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="‌"||e==="‍"||n.ID_Continue.test(e)}function isDigit(e){return/[0-9]/.test(e)}function isHexDigit(e){return/[0-9A-Fa-f]/.test(e)}},,function(e){"use strict";e.exports=(e=>{if(Number.isNaN(e)){return false}if(e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141)){return true}return false})},,,,,,,,,function(e,r,t){"use strict";e.exports.plugins=[t(889),t(424),t(725),t(137),t(339),t(767),t(550),t(550),[t(890),"space"],t(164),t(223),t(127),t(816),t(667),t(380),t(911),t(33),t(758),t(9),t(273),t(926),t(121),t(55),t(72),t(522),t(842),t(467),t(314),[t(166),2],[t(112),{checked:"x",unchecked:" "}],[t(301),"fenced"],[t(386),"`"],[t(451),"md"],[t(284),1],[t(675),"atx"],[t(455),[{no:"End-Of-Life",yes:"End-of-Life"},{no:"End-of-life",yes:"End-of-Life"},{no:"Github",yes:"GitHub"},{no:"Javascript",yes:"JavaScript"},{no:"Node.JS",yes:"Node.js"},{no:"Rfc",yes:"RFC"},{no:"[Rr][Ff][Cc]\\d+",yes:"RFC "},{no:"rfc",yes:"RFC"},{no:"v8",yes:"V8"}]],[t(108),"*"],[t(435),"padded"]]},,function(e){e.exports=["cent","copy","divide","gt","lt","not","para","times"]},,function(e,r,t){"use strict";e.exports=t(447)},function(e,r,t){e.exports=minimatch;minimatch.Minimatch=Minimatch;var i={sep:"/"};try{i=t(589)}catch(e){}var n=minimatch.GLOBSTAR=Minimatch.GLOBSTAR={};var a=t(348);var u={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}};var s="[^/]";var o=s+"*?";var f="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var l="(?:(?!(?:\\/|^)\\.).)*?";var c=charSet("().*{}+?[]^$\\!");function charSet(e){return e.split("").reduce(function(e,r){e[r]=true;return e},{})}var h=/\/+/;minimatch.filter=filter;function filter(e,r){r=r||{};return function(t,i,n){return minimatch(t,e,r)}}function ext(e,r){e=e||{};r=r||{};var t={};Object.keys(r).forEach(function(e){t[e]=r[e]});Object.keys(e).forEach(function(r){t[r]=e[r]});return t}minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return minimatch;var r=minimatch;var t=function minimatch(t,i,n){return r.minimatch(t,i,ext(e,n))};t.Minimatch=function Minimatch(t,i){return new r.Minimatch(t,ext(e,i))};return t};Minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return Minimatch;return minimatch.defaults(e).Minimatch};function minimatch(e,r,t){if(typeof r!=="string"){throw new TypeError("glob pattern string required")}if(!t)t={};if(!t.nocomment&&r.charAt(0)==="#"){return false}if(r.trim()==="")return e==="";return new Minimatch(r,t).match(e)}function Minimatch(e,r){if(!(this instanceof Minimatch)){return new Minimatch(e,r)}if(typeof e!=="string"){throw new TypeError("glob pattern string required")}if(!r)r={};e=e.trim();if(i.sep!=="/"){e=e.split(i.sep).join("/")}this.options=r;this.set=[];this.pattern=e;this.regexp=null;this.negate=false;this.comment=false;this.empty=false;this.make()}Minimatch.prototype.debug=function(){};Minimatch.prototype.make=make;function make(){if(this._made)return;var e=this.pattern;var r=this.options;if(!r.nocomment&&e.charAt(0)==="#"){this.comment=true;return}if(!e){this.empty=true;return}this.parseNegate();var t=this.globSet=this.braceExpand();if(r.debug)this.debug=console.error;this.debug(this.pattern,t);t=this.globParts=t.map(function(e){return e.split(h)});this.debug(this.pattern,t);t=t.map(function(e,r,t){return e.map(this.parse,this)},this);this.debug(this.pattern,t);t=t.filter(function(e){return e.indexOf(false)===-1});this.debug(this.pattern,t);this.set=t}Minimatch.prototype.parseNegate=parseNegate;function parseNegate(){var e=this.pattern;var r=false;var t=this.options;var i=0;if(t.nonegate)return;for(var n=0,a=e.length;n1024*64){throw new TypeError("pattern is too long")}var t=this.options;if(!t.noglobstar&&e==="**")return n;if(e==="")return"";var i="";var a=!!t.nocase;var f=false;var l=[];var h=[];var v;var d=false;var D=-1;var m=-1;var g=e.charAt(0)==="."?"":t.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)";var E=this;function clearStateChar(){if(v){switch(v){case"*":i+=o;a=true;break;case"?":i+=s;a=true;break;default:i+="\\"+v;break}E.debug("clearStateChar %j %j",v,i);v=false}}for(var A=0,C=e.length,y;A-1;k--){var O=h[k];var P=i.slice(0,O.reStart);var T=i.slice(O.reStart,O.reEnd-8);var I=i.slice(O.reEnd-8,O.reEnd);var M=i.slice(O.reEnd);I+=M;var L=P.split("(").length-1;var R=M;for(A=0;A=0;u--){a=e[u];if(a)break}for(u=0;u>> no match, partial?",e,c,r,h);if(c===s)return true}return false}var v;if(typeof f==="string"){if(i.nocase){v=l.toLowerCase()===f.toLowerCase()}else{v=l===f}this.debug("string match",f,l,v)}else{v=l.match(f);this.debug("pattern match",f,l,v)}if(!v)return false}if(a===s&&u===o){return true}else if(a===s){return t}else if(u===o){var d=a===s-1&&e[a]==="";return d}throw new Error("wtf?")};function globUnescape(e){return e.replace(/\\(.)/g,"$1")}function regExpEscape(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}},,,function(e){"use strict";e.exports=function(e){if(typeof e!=="function"){throw new TypeError("Expected a function")}return e.displayName||e.name||(/function ([^\(]+)?\(/.exec(e.toString())||[])[1]||null}},function(e){"use strict";e.exports=(()=>{const e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|");return new RegExp(e,"g")})},,,function(e,r,t){"use strict";var i=t(304);var n=t(948);e.exports=fileSystem;function fileSystem(e,r,t){var a=e.files;if(a.length===0){t()}else{n(a,{cwd:r.cwd,extensions:r.extensions,silentlyIgnore:r.silentlyIgnore,ignore:new i({cwd:r.cwd,detectIgnore:r.detectIgnore,ignoreName:r.ignoreName,ignorePath:r.ignorePath})},onfound)}function onfound(i,n){var a=n.files;a.sort(sortAlphabetically);a.forEach(markAsGiven);e.files=a;if(r.out===null||r.out===undefined){r.out=n.oneFileMode}t(i)}function markAsGiven(e){e.data.unifiedEngineGiven=true}function sortAlphabetically(e,r){return e.pathi){i=t}}else{t=1}n=a+1;a=e.indexOf(r,n)}return i}},function(e,r,t){"use strict";var i=t(347)("unified-engine:file-pipeline:stdout");var n=t(928);e.exports=stdout;function stdout(e,r,t,a){if(!r.data.unifiedEngineGiven){i("Ignoring programmatically added file");a()}else if(n(r).fatal||e.output||!e.out){i("Ignoring writing to `streamOut`");a()}else{i("Writing document to `streamOut`");e.streamOut.write(r.toString(),a)}}},,,function(e,r,t){"use strict";var i=t(56);var n=t(503);e.exports=toVFile;function toVFile(e){if(typeof e==="string"||i(e)){e={path:String(e)}}return n(e)}},,,,function(e){(function webpackUniversalModuleDefinition(r,t){if(true)e.exports=t();else{}})(this,function(){return function(e){var r={};function __webpack_require__(t){if(r[t])return r[t].exports;var i=r[t]={exports:{},id:t,loaded:false};e[t].call(i.exports,i,i.exports,__webpack_require__);i.loaded=true;return i.exports}__webpack_require__.m=e;__webpack_require__.c=r;__webpack_require__.p="";return __webpack_require__(0)}([function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(1);var n=t(3);var a=t(8);var u=t(15);function parse(e,r,t){var u=null;var s=function(e,r){if(t){t(e,r)}if(u){u.visit(e,r)}};var o=typeof t==="function"?s:null;var f=false;if(r){f=typeof r.comment==="boolean"&&r.comment;var l=typeof r.attachComment==="boolean"&&r.attachComment;if(f||l){u=new i.CommentHandler;u.attach=l;r.comment=true;o=s}}var c=false;if(r&&typeof r.sourceType==="string"){c=r.sourceType==="module"}var h;if(r&&typeof r.jsx==="boolean"&&r.jsx){h=new n.JSXParser(e,r,o)}else{h=new a.Parser(e,r,o)}var p=c?h.parseModule():h.parseScript();var v=p;if(f&&u){v.comments=u.comments}if(h.config.tokens){v.tokens=h.tokens}if(h.config.tolerant){v.errors=h.errorHandler.errors}return v}r.parse=parse;function parseModule(e,r,t){var i=r||{};i.sourceType="module";return parse(e,i,t)}r.parseModule=parseModule;function parseScript(e,r,t){var i=r||{};i.sourceType="script";return parse(e,i,t)}r.parseScript=parseScript;function tokenize(e,r,t){var i=new u.Tokenizer(e,r);var n;n=[];try{while(true){var a=i.getNextToken();if(!a){break}if(t){a=t(a)}n.push(a)}}catch(e){i.errorHandler.tolerate(e)}if(i.errorHandler.tolerant){n.errors=i.errors()}return n}r.tokenize=tokenize;var s=t(2);r.Syntax=s.Syntax;r.version="4.0.1"},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(2);var n=function(){function CommentHandler(){this.attach=false;this.comments=[];this.stack=[];this.leading=[];this.trailing=[]}CommentHandler.prototype.insertInnerComments=function(e,r){if(e.type===i.Syntax.BlockStatement&&e.body.length===0){var t=[];for(var n=this.leading.length-1;n>=0;--n){var a=this.leading[n];if(r.end.offset>=a.start){t.unshift(a.comment);this.leading.splice(n,1);this.trailing.splice(n,1)}}if(t.length){e.innerComments=t}}};CommentHandler.prototype.findTrailingComments=function(e){var r=[];if(this.trailing.length>0){for(var t=this.trailing.length-1;t>=0;--t){var i=this.trailing[t];if(i.start>=e.end.offset){r.unshift(i.comment)}}this.trailing.length=0;return r}var n=this.stack[this.stack.length-1];if(n&&n.node.trailingComments){var a=n.node.trailingComments[0];if(a&&a.range[0]>=e.end.offset){r=n.node.trailingComments;delete n.node.trailingComments}}return r};CommentHandler.prototype.findLeadingComments=function(e){var r=[];var t;while(this.stack.length>0){var i=this.stack[this.stack.length-1];if(i&&i.start>=e.start.offset){t=i.node;this.stack.pop()}else{break}}if(t){var n=t.leadingComments?t.leadingComments.length:0;for(var a=n-1;a>=0;--a){var u=t.leadingComments[a];if(u.range[1]<=e.start.offset){r.unshift(u);t.leadingComments.splice(a,1)}}if(t.leadingComments&&t.leadingComments.length===0){delete t.leadingComments}return r}for(var a=this.leading.length-1;a>=0;--a){var i=this.leading[a];if(i.start<=e.start.offset){r.unshift(i.comment);this.leading.splice(a,1)}}return r};CommentHandler.prototype.visitNode=function(e,r){if(e.type===i.Syntax.Program&&e.body.length>0){return}this.insertInnerComments(e,r);var t=this.findTrailingComments(r);var n=this.findLeadingComments(r);if(n.length>0){e.leadingComments=n}if(t.length>0){e.trailingComments=t}this.stack.push({node:e,start:r.start.offset})};CommentHandler.prototype.visitComment=function(e,r){var t=e.type[0]==="L"?"Line":"Block";var i={type:t,value:e.value};if(e.range){i.range=e.range}if(e.loc){i.loc=e.loc}this.comments.push(i);if(this.attach){var n={comment:{type:t,value:e.value,range:[r.start.offset,r.end.offset]},start:r.start.offset};if(e.loc){n.comment.loc=e.loc}e.type=t;this.leading.push(n);this.trailing.push(n)}};CommentHandler.prototype.visit=function(e,r){if(e.type==="LineComment"){this.visitComment(e,r)}else if(e.type==="BlockComment"){this.visitComment(e,r)}else if(this.attach){this.visitNode(e,r)}};return CommentHandler}();r.CommentHandler=n},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});r.Syntax={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForOfStatement:"ForOfStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"}},function(e,r,t){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)if(r.hasOwnProperty(t))e[t]=r[t]};return function(r,t){e(r,t);function __(){this.constructor=r}r.prototype=t===null?Object.create(t):(__.prototype=t.prototype,new __)}}();Object.defineProperty(r,"__esModule",{value:true});var n=t(4);var a=t(5);var u=t(6);var s=t(7);var o=t(8);var f=t(13);var l=t(14);f.TokenName[100]="JSXIdentifier";f.TokenName[101]="JSXText";function getQualifiedElementName(e){var r;switch(e.type){case u.JSXSyntax.JSXIdentifier:var t=e;r=t.name;break;case u.JSXSyntax.JSXNamespacedName:var i=e;r=getQualifiedElementName(i.namespace)+":"+getQualifiedElementName(i.name);break;case u.JSXSyntax.JSXMemberExpression:var n=e;r=getQualifiedElementName(n.object)+"."+getQualifiedElementName(n.property);break;default:break}return r}var c=function(e){i(JSXParser,e);function JSXParser(r,t,i){return e.call(this,r,t,i)||this}JSXParser.prototype.parsePrimaryExpression=function(){return this.match("<")?this.parseJSXRoot():e.prototype.parsePrimaryExpression.call(this)};JSXParser.prototype.startJSX=function(){this.scanner.index=this.startMarker.index;this.scanner.lineNumber=this.startMarker.line;this.scanner.lineStart=this.startMarker.index-this.startMarker.column};JSXParser.prototype.finishJSX=function(){this.nextToken()};JSXParser.prototype.reenterJSX=function(){this.startJSX();this.expectJSX("}");if(this.config.tokens){this.tokens.pop()}};JSXParser.prototype.createJSXNode=function(){this.collectComments();return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}};JSXParser.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}};JSXParser.prototype.scanXHTMLEntity=function(e){var r="&";var t=true;var i=false;var a=false;var u=false;while(!this.scanner.eof()&&t&&!i){var s=this.scanner.source[this.scanner.index];if(s===e){break}i=s===";";r+=s;++this.scanner.index;if(!i){switch(r.length){case 2:a=s==="#";break;case 3:if(a){u=s==="x";t=u||n.Character.isDecimalDigit(s.charCodeAt(0));a=a&&!u}break;default:t=t&&!(a&&!n.Character.isDecimalDigit(s.charCodeAt(0)));t=t&&!(u&&!n.Character.isHexDigit(s.charCodeAt(0)));break}}}if(t&&i&&r.length>2){var o=r.substr(1,r.length-2);if(a&&o.length>1){r=String.fromCharCode(parseInt(o.substr(1),10))}else if(u&&o.length>2){r=String.fromCharCode(parseInt("0"+o.substr(1),16))}else if(!a&&!u&&l.XHTMLEntities[o]){r=l.XHTMLEntities[o]}}return r};JSXParser.prototype.lexJSX=function(){var e=this.scanner.source.charCodeAt(this.scanner.index);if(e===60||e===62||e===47||e===58||e===61||e===123||e===125){var r=this.scanner.source[this.scanner.index++];return{type:7,value:r,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index}}if(e===34||e===39){var t=this.scanner.index;var i=this.scanner.source[this.scanner.index++];var a="";while(!this.scanner.eof()){var u=this.scanner.source[this.scanner.index++];if(u===i){break}else if(u==="&"){a+=this.scanXHTMLEntity(i)}else{a+=u}}return{type:8,value:a,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(e===46){var s=this.scanner.source.charCodeAt(this.scanner.index+1);var o=this.scanner.source.charCodeAt(this.scanner.index+2);var r=s===46&&o===46?"...":".";var t=this.scanner.index;this.scanner.index+=r.length;return{type:7,value:r,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(e===96){return{type:10,value:"",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index}}if(n.Character.isIdentifierStart(e)&&e!==92){var t=this.scanner.index;++this.scanner.index;while(!this.scanner.eof()){var u=this.scanner.source.charCodeAt(this.scanner.index);if(n.Character.isIdentifierPart(u)&&u!==92){++this.scanner.index}else if(u===45){++this.scanner.index}else{break}}var f=this.scanner.source.slice(t,this.scanner.index);return{type:100,value:f,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}return this.scanner.lex()};JSXParser.prototype.nextJSXToken=function(){this.collectComments();this.startMarker.index=this.scanner.index;this.startMarker.line=this.scanner.lineNumber;this.startMarker.column=this.scanner.index-this.scanner.lineStart;var e=this.lexJSX();this.lastMarker.index=this.scanner.index;this.lastMarker.line=this.scanner.lineNumber;this.lastMarker.column=this.scanner.index-this.scanner.lineStart;if(this.config.tokens){this.tokens.push(this.convertToken(e))}return e};JSXParser.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index;this.startMarker.line=this.scanner.lineNumber;this.startMarker.column=this.scanner.index-this.scanner.lineStart;var e=this.scanner.index;var r="";while(!this.scanner.eof()){var t=this.scanner.source[this.scanner.index];if(t==="{"||t==="<"){break}++this.scanner.index;r+=t;if(n.Character.isLineTerminator(t.charCodeAt(0))){++this.scanner.lineNumber;if(t==="\r"&&this.scanner.source[this.scanner.index]==="\n"){++this.scanner.index}this.scanner.lineStart=this.scanner.index}}this.lastMarker.index=this.scanner.index;this.lastMarker.line=this.scanner.lineNumber;this.lastMarker.column=this.scanner.index-this.scanner.lineStart;var i={type:101,value:r,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:e,end:this.scanner.index};if(r.length>0&&this.config.tokens){this.tokens.push(this.convertToken(i))}return i};JSXParser.prototype.peekJSXToken=function(){var e=this.scanner.saveState();this.scanner.scanComments();var r=this.lexJSX();this.scanner.restoreState(e);return r};JSXParser.prototype.expectJSX=function(e){var r=this.nextJSXToken();if(r.type!==7||r.value!==e){this.throwUnexpectedToken(r)}};JSXParser.prototype.matchJSX=function(e){var r=this.peekJSXToken();return r.type===7&&r.value===e};JSXParser.prototype.parseJSXIdentifier=function(){var e=this.createJSXNode();var r=this.nextJSXToken();if(r.type!==100){this.throwUnexpectedToken(r)}return this.finalize(e,new a.JSXIdentifier(r.value))};JSXParser.prototype.parseJSXElementName=function(){var e=this.createJSXNode();var r=this.parseJSXIdentifier();if(this.matchJSX(":")){var t=r;this.expectJSX(":");var i=this.parseJSXIdentifier();r=this.finalize(e,new a.JSXNamespacedName(t,i))}else if(this.matchJSX(".")){while(this.matchJSX(".")){var n=r;this.expectJSX(".");var u=this.parseJSXIdentifier();r=this.finalize(e,new a.JSXMemberExpression(n,u))}}return r};JSXParser.prototype.parseJSXAttributeName=function(){var e=this.createJSXNode();var r;var t=this.parseJSXIdentifier();if(this.matchJSX(":")){var i=t;this.expectJSX(":");var n=this.parseJSXIdentifier();r=this.finalize(e,new a.JSXNamespacedName(i,n))}else{r=t}return r};JSXParser.prototype.parseJSXStringLiteralAttribute=function(){var e=this.createJSXNode();var r=this.nextJSXToken();if(r.type!==8){this.throwUnexpectedToken(r)}var t=this.getTokenRaw(r);return this.finalize(e,new s.Literal(r.value,t))};JSXParser.prototype.parseJSXExpressionAttribute=function(){var e=this.createJSXNode();this.expectJSX("{");this.finishJSX();if(this.match("}")){this.tolerateError("JSX attributes must only be assigned a non-empty expression")}var r=this.parseAssignmentExpression();this.reenterJSX();return this.finalize(e,new a.JSXExpressionContainer(r))};JSXParser.prototype.parseJSXAttributeValue=function(){return this.matchJSX("{")?this.parseJSXExpressionAttribute():this.matchJSX("<")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()};JSXParser.prototype.parseJSXNameValueAttribute=function(){var e=this.createJSXNode();var r=this.parseJSXAttributeName();var t=null;if(this.matchJSX("=")){this.expectJSX("=");t=this.parseJSXAttributeValue()}return this.finalize(e,new a.JSXAttribute(r,t))};JSXParser.prototype.parseJSXSpreadAttribute=function(){var e=this.createJSXNode();this.expectJSX("{");this.expectJSX("...");this.finishJSX();var r=this.parseAssignmentExpression();this.reenterJSX();return this.finalize(e,new a.JSXSpreadAttribute(r))};JSXParser.prototype.parseJSXAttributes=function(){var e=[];while(!this.matchJSX("/")&&!this.matchJSX(">")){var r=this.matchJSX("{")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();e.push(r)}return e};JSXParser.prototype.parseJSXOpeningElement=function(){var e=this.createJSXNode();this.expectJSX("<");var r=this.parseJSXElementName();var t=this.parseJSXAttributes();var i=this.matchJSX("/");if(i){this.expectJSX("/")}this.expectJSX(">");return this.finalize(e,new a.JSXOpeningElement(r,i,t))};JSXParser.prototype.parseJSXBoundaryElement=function(){var e=this.createJSXNode();this.expectJSX("<");if(this.matchJSX("/")){this.expectJSX("/");var r=this.parseJSXElementName();this.expectJSX(">");return this.finalize(e,new a.JSXClosingElement(r))}var t=this.parseJSXElementName();var i=this.parseJSXAttributes();var n=this.matchJSX("/");if(n){this.expectJSX("/")}this.expectJSX(">");return this.finalize(e,new a.JSXOpeningElement(t,n,i))};JSXParser.prototype.parseJSXEmptyExpression=function(){var e=this.createJSXChildNode();this.collectComments();this.lastMarker.index=this.scanner.index;this.lastMarker.line=this.scanner.lineNumber;this.lastMarker.column=this.scanner.index-this.scanner.lineStart;return this.finalize(e,new a.JSXEmptyExpression)};JSXParser.prototype.parseJSXExpressionContainer=function(){var e=this.createJSXNode();this.expectJSX("{");var r;if(this.matchJSX("}")){r=this.parseJSXEmptyExpression();this.expectJSX("}")}else{this.finishJSX();r=this.parseAssignmentExpression();this.reenterJSX()}return this.finalize(e,new a.JSXExpressionContainer(r))};JSXParser.prototype.parseJSXChildren=function(){var e=[];while(!this.scanner.eof()){var r=this.createJSXChildNode();var t=this.nextJSXText();if(t.start0){var s=this.finalize(e.node,new a.JSXElement(e.opening,e.children,e.closing));e=r[r.length-1];e.children.push(s);r.pop()}else{break}}}return e};JSXParser.prototype.parseJSXElement=function(){var e=this.createJSXNode();var r=this.parseJSXOpeningElement();var t=[];var i=null;if(!r.selfClosing){var n=this.parseComplexJSXElement({node:e,opening:r,closing:i,children:t});t=n.children;i=n.closing}return this.finalize(e,new a.JSXElement(r,t,i))};JSXParser.prototype.parseJSXRoot=function(){if(this.config.tokens){this.tokens.pop()}this.startJSX();var e=this.parseJSXElement();this.finishJSX();return e};JSXParser.prototype.isStartOfExpression=function(){return e.prototype.isStartOfExpression.call(this)||this.match("<")};return JSXParser}(o.Parser);r.JSXParser=c},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});var t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};r.Character={fromCodePoint:function(e){return e<65536?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10))+String.fromCharCode(56320+(e-65536&1023))},isWhiteSpace:function(e){return e===32||e===9||e===11||e===12||e===160||e>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0},isLineTerminator:function(e){return e===10||e===13||e===8232||e===8233},isIdentifierStart:function(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e===92||e>=128&&t.NonAsciiIdentifierStart.test(r.Character.fromCodePoint(e))},isIdentifierPart:function(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===92||e>=128&&t.NonAsciiIdentifierPart.test(r.Character.fromCodePoint(e))},isDecimalDigit:function(e){return e>=48&&e<=57},isHexDigit:function(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102},isOctalDigit:function(e){return e>=48&&e<=55}}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(6);var n=function(){function JSXClosingElement(e){this.type=i.JSXSyntax.JSXClosingElement;this.name=e}return JSXClosingElement}();r.JSXClosingElement=n;var a=function(){function JSXElement(e,r,t){this.type=i.JSXSyntax.JSXElement;this.openingElement=e;this.children=r;this.closingElement=t}return JSXElement}();r.JSXElement=a;var u=function(){function JSXEmptyExpression(){this.type=i.JSXSyntax.JSXEmptyExpression}return JSXEmptyExpression}();r.JSXEmptyExpression=u;var s=function(){function JSXExpressionContainer(e){this.type=i.JSXSyntax.JSXExpressionContainer;this.expression=e}return JSXExpressionContainer}();r.JSXExpressionContainer=s;var o=function(){function JSXIdentifier(e){this.type=i.JSXSyntax.JSXIdentifier;this.name=e}return JSXIdentifier}();r.JSXIdentifier=o;var f=function(){function JSXMemberExpression(e,r){this.type=i.JSXSyntax.JSXMemberExpression;this.object=e;this.property=r}return JSXMemberExpression}();r.JSXMemberExpression=f;var l=function(){function JSXAttribute(e,r){this.type=i.JSXSyntax.JSXAttribute;this.name=e;this.value=r}return JSXAttribute}();r.JSXAttribute=l;var c=function(){function JSXNamespacedName(e,r){this.type=i.JSXSyntax.JSXNamespacedName;this.namespace=e;this.name=r}return JSXNamespacedName}();r.JSXNamespacedName=c;var h=function(){function JSXOpeningElement(e,r,t){this.type=i.JSXSyntax.JSXOpeningElement;this.name=e;this.selfClosing=r;this.attributes=t}return JSXOpeningElement}();r.JSXOpeningElement=h;var p=function(){function JSXSpreadAttribute(e){this.type=i.JSXSyntax.JSXSpreadAttribute;this.argument=e}return JSXSpreadAttribute}();r.JSXSpreadAttribute=p;var v=function(){function JSXText(e,r){this.type=i.JSXSyntax.JSXText;this.value=e;this.raw=r}return JSXText}();r.JSXText=v},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});r.JSXSyntax={JSXAttribute:"JSXAttribute",JSXClosingElement:"JSXClosingElement",JSXElement:"JSXElement",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXIdentifier:"JSXIdentifier",JSXMemberExpression:"JSXMemberExpression",JSXNamespacedName:"JSXNamespacedName",JSXOpeningElement:"JSXOpeningElement",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText"}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(2);var n=function(){function ArrayExpression(e){this.type=i.Syntax.ArrayExpression;this.elements=e}return ArrayExpression}();r.ArrayExpression=n;var a=function(){function ArrayPattern(e){this.type=i.Syntax.ArrayPattern;this.elements=e}return ArrayPattern}();r.ArrayPattern=a;var u=function(){function ArrowFunctionExpression(e,r,t){this.type=i.Syntax.ArrowFunctionExpression;this.id=null;this.params=e;this.body=r;this.generator=false;this.expression=t;this.async=false}return ArrowFunctionExpression}();r.ArrowFunctionExpression=u;var s=function(){function AssignmentExpression(e,r,t){this.type=i.Syntax.AssignmentExpression;this.operator=e;this.left=r;this.right=t}return AssignmentExpression}();r.AssignmentExpression=s;var o=function(){function AssignmentPattern(e,r){this.type=i.Syntax.AssignmentPattern;this.left=e;this.right=r}return AssignmentPattern}();r.AssignmentPattern=o;var f=function(){function AsyncArrowFunctionExpression(e,r,t){this.type=i.Syntax.ArrowFunctionExpression;this.id=null;this.params=e;this.body=r;this.generator=false;this.expression=t;this.async=true}return AsyncArrowFunctionExpression}();r.AsyncArrowFunctionExpression=f;var l=function(){function AsyncFunctionDeclaration(e,r,t){this.type=i.Syntax.FunctionDeclaration;this.id=e;this.params=r;this.body=t;this.generator=false;this.expression=false;this.async=true}return AsyncFunctionDeclaration}();r.AsyncFunctionDeclaration=l;var c=function(){function AsyncFunctionExpression(e,r,t){this.type=i.Syntax.FunctionExpression;this.id=e;this.params=r;this.body=t;this.generator=false;this.expression=false;this.async=true}return AsyncFunctionExpression}();r.AsyncFunctionExpression=c;var h=function(){function AwaitExpression(e){this.type=i.Syntax.AwaitExpression;this.argument=e}return AwaitExpression}();r.AwaitExpression=h;var p=function(){function BinaryExpression(e,r,t){var n=e==="||"||e==="&&";this.type=n?i.Syntax.LogicalExpression:i.Syntax.BinaryExpression;this.operator=e;this.left=r;this.right=t}return BinaryExpression}();r.BinaryExpression=p;var v=function(){function BlockStatement(e){this.type=i.Syntax.BlockStatement;this.body=e}return BlockStatement}();r.BlockStatement=v;var d=function(){function BreakStatement(e){this.type=i.Syntax.BreakStatement;this.label=e}return BreakStatement}();r.BreakStatement=d;var D=function(){function CallExpression(e,r){this.type=i.Syntax.CallExpression;this.callee=e;this.arguments=r}return CallExpression}();r.CallExpression=D;var m=function(){function CatchClause(e,r){this.type=i.Syntax.CatchClause;this.param=e;this.body=r}return CatchClause}();r.CatchClause=m;var g=function(){function ClassBody(e){this.type=i.Syntax.ClassBody;this.body=e}return ClassBody}();r.ClassBody=g;var E=function(){function ClassDeclaration(e,r,t){this.type=i.Syntax.ClassDeclaration;this.id=e;this.superClass=r;this.body=t}return ClassDeclaration}();r.ClassDeclaration=E;var A=function(){function ClassExpression(e,r,t){this.type=i.Syntax.ClassExpression;this.id=e;this.superClass=r;this.body=t}return ClassExpression}();r.ClassExpression=A;var C=function(){function ComputedMemberExpression(e,r){this.type=i.Syntax.MemberExpression;this.computed=true;this.object=e;this.property=r}return ComputedMemberExpression}();r.ComputedMemberExpression=C;var y=function(){function ConditionalExpression(e,r,t){this.type=i.Syntax.ConditionalExpression;this.test=e;this.consequent=r;this.alternate=t}return ConditionalExpression}();r.ConditionalExpression=y;var w=function(){function ContinueStatement(e){this.type=i.Syntax.ContinueStatement;this.label=e}return ContinueStatement}();r.ContinueStatement=w;var x=function(){function DebuggerStatement(){this.type=i.Syntax.DebuggerStatement}return DebuggerStatement}();r.DebuggerStatement=x;var b=function(){function Directive(e,r){this.type=i.Syntax.ExpressionStatement;this.expression=e;this.directive=r}return Directive}();r.Directive=b;var F=function(){function DoWhileStatement(e,r){this.type=i.Syntax.DoWhileStatement;this.body=e;this.test=r}return DoWhileStatement}();r.DoWhileStatement=F;var S=function(){function EmptyStatement(){this.type=i.Syntax.EmptyStatement}return EmptyStatement}();r.EmptyStatement=S;var B=function(){function ExportAllDeclaration(e){this.type=i.Syntax.ExportAllDeclaration;this.source=e}return ExportAllDeclaration}();r.ExportAllDeclaration=B;var k=function(){function ExportDefaultDeclaration(e){this.type=i.Syntax.ExportDefaultDeclaration;this.declaration=e}return ExportDefaultDeclaration}();r.ExportDefaultDeclaration=k;var O=function(){function ExportNamedDeclaration(e,r,t){this.type=i.Syntax.ExportNamedDeclaration;this.declaration=e;this.specifiers=r;this.source=t}return ExportNamedDeclaration}();r.ExportNamedDeclaration=O;var P=function(){function ExportSpecifier(e,r){this.type=i.Syntax.ExportSpecifier;this.exported=r;this.local=e}return ExportSpecifier}();r.ExportSpecifier=P;var T=function(){function ExpressionStatement(e){this.type=i.Syntax.ExpressionStatement;this.expression=e}return ExpressionStatement}();r.ExpressionStatement=T;var I=function(){function ForInStatement(e,r,t){this.type=i.Syntax.ForInStatement;this.left=e;this.right=r;this.body=t;this.each=false}return ForInStatement}();r.ForInStatement=I;var M=function(){function ForOfStatement(e,r,t){this.type=i.Syntax.ForOfStatement;this.left=e;this.right=r;this.body=t}return ForOfStatement}();r.ForOfStatement=M;var L=function(){function ForStatement(e,r,t,n){this.type=i.Syntax.ForStatement;this.init=e;this.test=r;this.update=t;this.body=n}return ForStatement}();r.ForStatement=L;var R=function(){function FunctionDeclaration(e,r,t,n){this.type=i.Syntax.FunctionDeclaration;this.id=e;this.params=r;this.body=t;this.generator=n;this.expression=false;this.async=false}return FunctionDeclaration}();r.FunctionDeclaration=R;var j=function(){function FunctionExpression(e,r,t,n){this.type=i.Syntax.FunctionExpression;this.id=e;this.params=r;this.body=t;this.generator=n;this.expression=false;this.async=false}return FunctionExpression}();r.FunctionExpression=j;var N=function(){function Identifier(e){this.type=i.Syntax.Identifier;this.name=e}return Identifier}();r.Identifier=N;var U=function(){function IfStatement(e,r,t){this.type=i.Syntax.IfStatement;this.test=e;this.consequent=r;this.alternate=t}return IfStatement}();r.IfStatement=U;var J=function(){function ImportDeclaration(e,r){this.type=i.Syntax.ImportDeclaration;this.specifiers=e;this.source=r}return ImportDeclaration}();r.ImportDeclaration=J;var z=function(){function ImportDefaultSpecifier(e){this.type=i.Syntax.ImportDefaultSpecifier;this.local=e}return ImportDefaultSpecifier}();r.ImportDefaultSpecifier=z;var X=function(){function ImportNamespaceSpecifier(e){this.type=i.Syntax.ImportNamespaceSpecifier;this.local=e}return ImportNamespaceSpecifier}();r.ImportNamespaceSpecifier=X;var q=function(){function ImportSpecifier(e,r){this.type=i.Syntax.ImportSpecifier;this.local=e;this.imported=r}return ImportSpecifier}();r.ImportSpecifier=q;var G=function(){function LabeledStatement(e,r){this.type=i.Syntax.LabeledStatement;this.label=e;this.body=r}return LabeledStatement}();r.LabeledStatement=G;var _=function(){function Literal(e,r){this.type=i.Syntax.Literal;this.value=e;this.raw=r}return Literal}();r.Literal=_;var W=function(){function MetaProperty(e,r){this.type=i.Syntax.MetaProperty;this.meta=e;this.property=r}return MetaProperty}();r.MetaProperty=W;var V=function(){function MethodDefinition(e,r,t,n,a){this.type=i.Syntax.MethodDefinition;this.key=e;this.computed=r;this.value=t;this.kind=n;this.static=a}return MethodDefinition}();r.MethodDefinition=V;var H=function(){function Module(e){this.type=i.Syntax.Program;this.body=e;this.sourceType="module"}return Module}();r.Module=H;var Y=function(){function NewExpression(e,r){this.type=i.Syntax.NewExpression;this.callee=e;this.arguments=r}return NewExpression}();r.NewExpression=Y;var $=function(){function ObjectExpression(e){this.type=i.Syntax.ObjectExpression;this.properties=e}return ObjectExpression}();r.ObjectExpression=$;var Z=function(){function ObjectPattern(e){this.type=i.Syntax.ObjectPattern;this.properties=e}return ObjectPattern}();r.ObjectPattern=Z;var Q=function(){function Property(e,r,t,n,a,u){this.type=i.Syntax.Property;this.key=r;this.computed=t;this.value=n;this.kind=e;this.method=a;this.shorthand=u}return Property}();r.Property=Q;var K=function(){function RegexLiteral(e,r,t,n){this.type=i.Syntax.Literal;this.value=e;this.raw=r;this.regex={pattern:t,flags:n}}return RegexLiteral}();r.RegexLiteral=K;var ee=function(){function RestElement(e){this.type=i.Syntax.RestElement;this.argument=e}return RestElement}();r.RestElement=ee;var re=function(){function ReturnStatement(e){this.type=i.Syntax.ReturnStatement;this.argument=e}return ReturnStatement}();r.ReturnStatement=re;var te=function(){function Script(e){this.type=i.Syntax.Program;this.body=e;this.sourceType="script"}return Script}();r.Script=te;var ie=function(){function SequenceExpression(e){this.type=i.Syntax.SequenceExpression;this.expressions=e}return SequenceExpression}();r.SequenceExpression=ie;var ne=function(){function SpreadElement(e){this.type=i.Syntax.SpreadElement;this.argument=e}return SpreadElement}();r.SpreadElement=ne;var ae=function(){function StaticMemberExpression(e,r){this.type=i.Syntax.MemberExpression;this.computed=false;this.object=e;this.property=r}return StaticMemberExpression}();r.StaticMemberExpression=ae;var ue=function(){function Super(){this.type=i.Syntax.Super}return Super}();r.Super=ue;var se=function(){function SwitchCase(e,r){this.type=i.Syntax.SwitchCase;this.test=e;this.consequent=r}return SwitchCase}();r.SwitchCase=se;var oe=function(){function SwitchStatement(e,r){this.type=i.Syntax.SwitchStatement;this.discriminant=e;this.cases=r}return SwitchStatement}();r.SwitchStatement=oe;var fe=function(){function TaggedTemplateExpression(e,r){this.type=i.Syntax.TaggedTemplateExpression;this.tag=e;this.quasi=r}return TaggedTemplateExpression}();r.TaggedTemplateExpression=fe;var le=function(){function TemplateElement(e,r){this.type=i.Syntax.TemplateElement;this.value=e;this.tail=r}return TemplateElement}();r.TemplateElement=le;var ce=function(){function TemplateLiteral(e,r){this.type=i.Syntax.TemplateLiteral;this.quasis=e;this.expressions=r}return TemplateLiteral}();r.TemplateLiteral=ce;var he=function(){function ThisExpression(){this.type=i.Syntax.ThisExpression}return ThisExpression}();r.ThisExpression=he;var pe=function(){function ThrowStatement(e){this.type=i.Syntax.ThrowStatement;this.argument=e}return ThrowStatement}();r.ThrowStatement=pe;var ve=function(){function TryStatement(e,r,t){this.type=i.Syntax.TryStatement;this.block=e;this.handler=r;this.finalizer=t}return TryStatement}();r.TryStatement=ve;var de=function(){function UnaryExpression(e,r){this.type=i.Syntax.UnaryExpression;this.operator=e;this.argument=r;this.prefix=true}return UnaryExpression}();r.UnaryExpression=de;var De=function(){function UpdateExpression(e,r,t){this.type=i.Syntax.UpdateExpression;this.operator=e;this.argument=r;this.prefix=t}return UpdateExpression}();r.UpdateExpression=De;var me=function(){function VariableDeclaration(e,r){this.type=i.Syntax.VariableDeclaration;this.declarations=e;this.kind=r}return VariableDeclaration}();r.VariableDeclaration=me;var ge=function(){function VariableDeclarator(e,r){this.type=i.Syntax.VariableDeclarator;this.id=e;this.init=r}return VariableDeclarator}();r.VariableDeclarator=ge;var Ee=function(){function WhileStatement(e,r){this.type=i.Syntax.WhileStatement;this.test=e;this.body=r}return WhileStatement}();r.WhileStatement=Ee;var Ae=function(){function WithStatement(e,r){this.type=i.Syntax.WithStatement;this.object=e;this.body=r}return WithStatement}();r.WithStatement=Ae;var Ce=function(){function YieldExpression(e,r){this.type=i.Syntax.YieldExpression;this.argument=e;this.delegate=r}return YieldExpression}();r.YieldExpression=Ce},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(9);var n=t(10);var a=t(11);var u=t(7);var s=t(12);var o=t(2);var f=t(13);var l="ArrowParameterPlaceHolder";var c=function(){function Parser(e,r,t){if(r===void 0){r={}}this.config={range:typeof r.range==="boolean"&&r.range,loc:typeof r.loc==="boolean"&&r.loc,source:null,tokens:typeof r.tokens==="boolean"&&r.tokens,comment:typeof r.comment==="boolean"&&r.comment,tolerant:typeof r.tolerant==="boolean"&&r.tolerant};if(this.config.loc&&r.source&&r.source!==null){this.config.source=String(r.source)}this.delegate=t;this.errorHandler=new n.ErrorHandler;this.errorHandler.tolerant=this.config.tolerant;this.scanner=new s.Scanner(e,this.errorHandler);this.scanner.trackComment=this.config.comment;this.operatorPrecedence={")":0,";":0,",":0,"=":0,"]":0,"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":11,"/":11,"%":11};this.lookahead={type:2,value:"",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0};this.hasLineTerminator=false;this.context={isModule:false,await:false,allowIn:true,allowStrictDirective:true,allowYield:true,firstCoverInitializedNameError:null,isAssignmentTarget:false,isBindingElement:false,inFunctionBody:false,inIteration:false,inSwitch:false,labelSet:{},strict:false};this.tokens=[];this.startMarker={index:0,line:this.scanner.lineNumber,column:0};this.lastMarker={index:0,line:this.scanner.lineNumber,column:0};this.nextToken();this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}Parser.prototype.throwError=function(e){var r=[];for(var t=1;t0&&this.delegate){for(var r=0;r>="||e===">>>="||e==="&="||e==="^="||e==="|="};Parser.prototype.isolateCoverGrammar=function(e){var r=this.context.isBindingElement;var t=this.context.isAssignmentTarget;var i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=true;this.context.isAssignmentTarget=true;this.context.firstCoverInitializedNameError=null;var n=e.call(this);if(this.context.firstCoverInitializedNameError!==null){this.throwUnexpectedToken(this.context.firstCoverInitializedNameError)}this.context.isBindingElement=r;this.context.isAssignmentTarget=t;this.context.firstCoverInitializedNameError=i;return n};Parser.prototype.inheritCoverGrammar=function(e){var r=this.context.isBindingElement;var t=this.context.isAssignmentTarget;var i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=true;this.context.isAssignmentTarget=true;this.context.firstCoverInitializedNameError=null;var n=e.call(this);this.context.isBindingElement=this.context.isBindingElement&&r;this.context.isAssignmentTarget=this.context.isAssignmentTarget&&t;this.context.firstCoverInitializedNameError=i||this.context.firstCoverInitializedNameError;return n};Parser.prototype.consumeSemicolon=function(){if(this.match(";")){this.nextToken()}else if(!this.hasLineTerminator){if(this.lookahead.type!==2&&!this.match("}")){this.throwUnexpectedToken(this.lookahead)}this.lastMarker.index=this.startMarker.index;this.lastMarker.line=this.startMarker.line;this.lastMarker.column=this.startMarker.column}};Parser.prototype.parsePrimaryExpression=function(){var e=this.createNode();var r;var t,i;switch(this.lookahead.type){case 3:if((this.context.isModule||this.context.await)&&this.lookahead.value==="await"){this.tolerateUnexpectedToken(this.lookahead)}r=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(e,new u.Identifier(this.nextToken().value));break;case 6:case 8:if(this.context.strict&&this.lookahead.octal){this.tolerateUnexpectedToken(this.lookahead,a.Messages.StrictOctalLiteral)}this.context.isAssignmentTarget=false;this.context.isBindingElement=false;t=this.nextToken();i=this.getTokenRaw(t);r=this.finalize(e,new u.Literal(t.value,i));break;case 1:this.context.isAssignmentTarget=false;this.context.isBindingElement=false;t=this.nextToken();i=this.getTokenRaw(t);r=this.finalize(e,new u.Literal(t.value==="true",i));break;case 5:this.context.isAssignmentTarget=false;this.context.isBindingElement=false;t=this.nextToken();i=this.getTokenRaw(t);r=this.finalize(e,new u.Literal(null,i));break;case 10:r=this.parseTemplateLiteral();break;case 7:switch(this.lookahead.value){case"(":this.context.isBindingElement=false;r=this.inheritCoverGrammar(this.parseGroupExpression);break;case"[":r=this.inheritCoverGrammar(this.parseArrayInitializer);break;case"{":r=this.inheritCoverGrammar(this.parseObjectInitializer);break;case"/":case"/=":this.context.isAssignmentTarget=false;this.context.isBindingElement=false;this.scanner.index=this.startMarker.index;t=this.nextRegexToken();i=this.getTokenRaw(t);r=this.finalize(e,new u.RegexLiteral(t.regex,i,t.pattern,t.flags));break;default:r=this.throwUnexpectedToken(this.nextToken())}break;case 4:if(!this.context.strict&&this.context.allowYield&&this.matchKeyword("yield")){r=this.parseIdentifierName()}else if(!this.context.strict&&this.matchKeyword("let")){r=this.finalize(e,new u.Identifier(this.nextToken().value))}else{this.context.isAssignmentTarget=false;this.context.isBindingElement=false;if(this.matchKeyword("function")){r=this.parseFunctionExpression()}else if(this.matchKeyword("this")){this.nextToken();r=this.finalize(e,new u.ThisExpression)}else if(this.matchKeyword("class")){r=this.parseClassExpression()}else{r=this.throwUnexpectedToken(this.nextToken())}}break;default:r=this.throwUnexpectedToken(this.nextToken())}return r};Parser.prototype.parseSpreadElement=function(){var e=this.createNode();this.expect("...");var r=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(e,new u.SpreadElement(r))};Parser.prototype.parseArrayInitializer=function(){var e=this.createNode();var r=[];this.expect("[");while(!this.match("]")){if(this.match(",")){this.nextToken();r.push(null)}else if(this.match("...")){var t=this.parseSpreadElement();if(!this.match("]")){this.context.isAssignmentTarget=false;this.context.isBindingElement=false;this.expect(",")}r.push(t)}else{r.push(this.inheritCoverGrammar(this.parseAssignmentExpression));if(!this.match("]")){this.expect(",")}}}this.expect("]");return this.finalize(e,new u.ArrayExpression(r))};Parser.prototype.parsePropertyMethod=function(e){this.context.isAssignmentTarget=false;this.context.isBindingElement=false;var r=this.context.strict;var t=this.context.allowStrictDirective;this.context.allowStrictDirective=e.simple;var i=this.isolateCoverGrammar(this.parseFunctionSourceElements);if(this.context.strict&&e.firstRestricted){this.tolerateUnexpectedToken(e.firstRestricted,e.message)}if(this.context.strict&&e.stricted){this.tolerateUnexpectedToken(e.stricted,e.message)}this.context.strict=r;this.context.allowStrictDirective=t;return i};Parser.prototype.parsePropertyMethodFunction=function(){var e=false;var r=this.createNode();var t=this.context.allowYield;this.context.allowYield=true;var i=this.parseFormalParameters();var n=this.parsePropertyMethod(i);this.context.allowYield=t;return this.finalize(r,new u.FunctionExpression(null,i.params,n,e))};Parser.prototype.parsePropertyMethodAsyncFunction=function(){var e=this.createNode();var r=this.context.allowYield;var t=this.context.await;this.context.allowYield=false;this.context.await=true;var i=this.parseFormalParameters();var n=this.parsePropertyMethod(i);this.context.allowYield=r;this.context.await=t;return this.finalize(e,new u.AsyncFunctionExpression(null,i.params,n))};Parser.prototype.parseObjectPropertyKey=function(){var e=this.createNode();var r=this.nextToken();var t;switch(r.type){case 8:case 6:if(this.context.strict&&r.octal){this.tolerateUnexpectedToken(r,a.Messages.StrictOctalLiteral)}var i=this.getTokenRaw(r);t=this.finalize(e,new u.Literal(r.value,i));break;case 3:case 1:case 5:case 4:t=this.finalize(e,new u.Identifier(r.value));break;case 7:if(r.value==="["){t=this.isolateCoverGrammar(this.parseAssignmentExpression);this.expect("]")}else{t=this.throwUnexpectedToken(r)}break;default:t=this.throwUnexpectedToken(r)}return t};Parser.prototype.isPropertyKey=function(e,r){return e.type===o.Syntax.Identifier&&e.name===r||e.type===o.Syntax.Literal&&e.value===r};Parser.prototype.parseObjectProperty=function(e){var r=this.createNode();var t=this.lookahead;var i;var n=null;var s=null;var o=false;var f=false;var l=false;var c=false;if(t.type===3){var h=t.value;this.nextToken();o=this.match("[");c=!this.hasLineTerminator&&h==="async"&&!this.match(":")&&!this.match("(")&&!this.match("*")&&!this.match(",");n=c?this.parseObjectPropertyKey():this.finalize(r,new u.Identifier(h))}else if(this.match("*")){this.nextToken()}else{o=this.match("[");n=this.parseObjectPropertyKey()}var p=this.qualifiedPropertyName(this.lookahead);if(t.type===3&&!c&&t.value==="get"&&p){i="get";o=this.match("[");n=this.parseObjectPropertyKey();this.context.allowYield=false;s=this.parseGetterMethod()}else if(t.type===3&&!c&&t.value==="set"&&p){i="set";o=this.match("[");n=this.parseObjectPropertyKey();s=this.parseSetterMethod()}else if(t.type===7&&t.value==="*"&&p){i="init";o=this.match("[");n=this.parseObjectPropertyKey();s=this.parseGeneratorMethod();f=true}else{if(!n){this.throwUnexpectedToken(this.lookahead)}i="init";if(this.match(":")&&!c){if(!o&&this.isPropertyKey(n,"__proto__")){if(e.value){this.tolerateError(a.Messages.DuplicateProtoProperty)}e.value=true}this.nextToken();s=this.inheritCoverGrammar(this.parseAssignmentExpression)}else if(this.match("(")){s=c?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction();f=true}else if(t.type===3){var h=this.finalize(r,new u.Identifier(t.value));if(this.match("=")){this.context.firstCoverInitializedNameError=this.lookahead;this.nextToken();l=true;var v=this.isolateCoverGrammar(this.parseAssignmentExpression);s=this.finalize(r,new u.AssignmentPattern(h,v))}else{l=true;s=h}}else{this.throwUnexpectedToken(this.nextToken())}}return this.finalize(r,new u.Property(i,n,o,s,f,l))};Parser.prototype.parseObjectInitializer=function(){var e=this.createNode();this.expect("{");var r=[];var t={value:false};while(!this.match("}")){r.push(this.parseObjectProperty(t));if(!this.match("}")){this.expectCommaSeparator()}}this.expect("}");return this.finalize(e,new u.ObjectExpression(r))};Parser.prototype.parseTemplateHead=function(){i.assert(this.lookahead.head,"Template literal must start with a template head");var e=this.createNode();var r=this.nextToken();var t=r.value;var n=r.cooked;return this.finalize(e,new u.TemplateElement({raw:t,cooked:n},r.tail))};Parser.prototype.parseTemplateElement=function(){if(this.lookahead.type!==10){this.throwUnexpectedToken()}var e=this.createNode();var r=this.nextToken();var t=r.value;var i=r.cooked;return this.finalize(e,new u.TemplateElement({raw:t,cooked:i},r.tail))};Parser.prototype.parseTemplateLiteral=function(){var e=this.createNode();var r=[];var t=[];var i=this.parseTemplateHead();t.push(i);while(!i.tail){r.push(this.parseExpression());i=this.parseTemplateElement();t.push(i)}return this.finalize(e,new u.TemplateLiteral(t,r))};Parser.prototype.reinterpretExpressionAsPattern=function(e){switch(e.type){case o.Syntax.Identifier:case o.Syntax.MemberExpression:case o.Syntax.RestElement:case o.Syntax.AssignmentPattern:break;case o.Syntax.SpreadElement:e.type=o.Syntax.RestElement;this.reinterpretExpressionAsPattern(e.argument);break;case o.Syntax.ArrayExpression:e.type=o.Syntax.ArrayPattern;for(var r=0;r")){this.expect("=>")}e={type:l,params:[],async:false}}else{var r=this.lookahead;var t=[];if(this.match("...")){e=this.parseRestElement(t);this.expect(")");if(!this.match("=>")){this.expect("=>")}e={type:l,params:[e],async:false}}else{var i=false;this.context.isBindingElement=true;e=this.inheritCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var n=[];this.context.isAssignmentTarget=false;n.push(e);while(this.lookahead.type!==2){if(!this.match(",")){break}this.nextToken();if(this.match(")")){this.nextToken();for(var a=0;a")){this.expect("=>")}this.context.isBindingElement=false;for(var a=0;a")){if(e.type===o.Syntax.Identifier&&e.name==="yield"){i=true;e={type:l,params:[e],async:false}}if(!i){if(!this.context.isBindingElement){this.throwUnexpectedToken(this.lookahead)}if(e.type===o.Syntax.SequenceExpression){for(var a=0;a")){for(var o=0;o0){this.nextToken();this.context.isAssignmentTarget=false;this.context.isBindingElement=false;var n=[e,this.lookahead];var a=r;var s=this.isolateCoverGrammar(this.parseExponentiationExpression);var o=[a,t.value,s];var f=[i];while(true){i=this.binaryPrecedence(this.lookahead);if(i<=0){break}while(o.length>2&&i<=f[f.length-1]){s=o.pop();var l=o.pop();f.pop();a=o.pop();n.pop();var c=this.startNode(n[n.length-1]);o.push(this.finalize(c,new u.BinaryExpression(l,a,s)))}o.push(this.nextToken().value);f.push(i);n.push(this.lookahead);o.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}var h=o.length-1;r=o[h];var p=n.pop();while(h>1){var v=n.pop();var d=p&&p.lineStart;var c=this.startNode(v,d);var l=o[h-1];r=this.finalize(c,new u.BinaryExpression(l,o[h-2],r));h-=2;p=v}}return r};Parser.prototype.parseConditionalExpression=function(){var e=this.lookahead;var r=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match("?")){this.nextToken();var t=this.context.allowIn;this.context.allowIn=true;var i=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=t;this.expect(":");var n=this.isolateCoverGrammar(this.parseAssignmentExpression);r=this.finalize(this.startNode(e),new u.ConditionalExpression(r,i,n));this.context.isAssignmentTarget=false;this.context.isBindingElement=false}return r};Parser.prototype.checkPatternParam=function(e,r){switch(r.type){case o.Syntax.Identifier:this.validateParam(e,r,r.name);break;case o.Syntax.RestElement:this.checkPatternParam(e,r.argument);break;case o.Syntax.AssignmentPattern:this.checkPatternParam(e,r.left);break;case o.Syntax.ArrayPattern:for(var t=0;t")){this.context.isAssignmentTarget=false;this.context.isBindingElement=false;var n=e.async;var s=this.reinterpretAsCoverFormalsList(e);if(s){if(this.hasLineTerminator){this.tolerateUnexpectedToken(this.lookahead)}this.context.firstCoverInitializedNameError=null;var f=this.context.strict;var c=this.context.allowStrictDirective;this.context.allowStrictDirective=s.simple;var h=this.context.allowYield;var p=this.context.await;this.context.allowYield=true;this.context.await=n;var v=this.startNode(r);this.expect("=>");var d=void 0;if(this.match("{")){var D=this.context.allowIn;this.context.allowIn=true;d=this.parseFunctionSourceElements();this.context.allowIn=D}else{d=this.isolateCoverGrammar(this.parseAssignmentExpression)}var m=d.type!==o.Syntax.BlockStatement;if(this.context.strict&&s.firstRestricted){this.throwUnexpectedToken(s.firstRestricted,s.message)}if(this.context.strict&&s.stricted){this.tolerateUnexpectedToken(s.stricted,s.message)}e=n?this.finalize(v,new u.AsyncArrowFunctionExpression(s.params,d,m)):this.finalize(v,new u.ArrowFunctionExpression(s.params,d,m));this.context.strict=f;this.context.allowStrictDirective=c;this.context.allowYield=h;this.context.await=p}}else{if(this.matchAssign()){if(!this.context.isAssignmentTarget){this.tolerateError(a.Messages.InvalidLHSInAssignment)}if(this.context.strict&&e.type===o.Syntax.Identifier){var g=e;if(this.scanner.isRestrictedWord(g.name)){this.tolerateUnexpectedToken(t,a.Messages.StrictLHSAssignment)}if(this.scanner.isStrictModeReservedWord(g.name)){this.tolerateUnexpectedToken(t,a.Messages.StrictReservedWord)}}if(!this.match("=")){this.context.isAssignmentTarget=false;this.context.isBindingElement=false}else{this.reinterpretExpressionAsPattern(e)}t=this.nextToken();var E=t.value;var A=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(r),new u.AssignmentExpression(E,e,A));this.context.firstCoverInitializedNameError=null}}}return e};Parser.prototype.parseExpression=function(){var e=this.lookahead;var r=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var t=[];t.push(r);while(this.lookahead.type!==2){if(!this.match(",")){break}this.nextToken();t.push(this.isolateCoverGrammar(this.parseAssignmentExpression))}r=this.finalize(this.startNode(e),new u.SequenceExpression(t))}return r};Parser.prototype.parseStatementListItem=function(){var e;this.context.isAssignmentTarget=true;this.context.isBindingElement=true;if(this.lookahead.type===4){switch(this.lookahead.value){case"export":if(!this.context.isModule){this.tolerateUnexpectedToken(this.lookahead,a.Messages.IllegalExportDeclaration)}e=this.parseExportDeclaration();break;case"import":if(!this.context.isModule){this.tolerateUnexpectedToken(this.lookahead,a.Messages.IllegalImportDeclaration)}e=this.parseImportDeclaration();break;case"const":e=this.parseLexicalDeclaration({inFor:false});break;case"function":e=this.parseFunctionDeclaration();break;case"class":e=this.parseClassDeclaration();break;case"let":e=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:false}):this.parseStatement();break;default:e=this.parseStatement();break}}else{e=this.parseStatement()}return e};Parser.prototype.parseBlock=function(){var e=this.createNode();this.expect("{");var r=[];while(true){if(this.match("}")){break}r.push(this.parseStatementListItem())}this.expect("}");return this.finalize(e,new u.BlockStatement(r))};Parser.prototype.parseLexicalBinding=function(e,r){var t=this.createNode();var i=[];var n=this.parsePattern(i,e);if(this.context.strict&&n.type===o.Syntax.Identifier){if(this.scanner.isRestrictedWord(n.name)){this.tolerateError(a.Messages.StrictVarName)}}var s=null;if(e==="const"){if(!this.matchKeyword("in")&&!this.matchContextualKeyword("of")){if(this.match("=")){this.nextToken();s=this.isolateCoverGrammar(this.parseAssignmentExpression)}else{this.throwError(a.Messages.DeclarationMissingInitializer,"const")}}}else if(!r.inFor&&n.type!==o.Syntax.Identifier||this.match("=")){this.expect("=");s=this.isolateCoverGrammar(this.parseAssignmentExpression)}return this.finalize(t,new u.VariableDeclarator(n,s))};Parser.prototype.parseBindingList=function(e,r){var t=[this.parseLexicalBinding(e,r)];while(this.match(",")){this.nextToken();t.push(this.parseLexicalBinding(e,r))}return t};Parser.prototype.isLexicalDeclaration=function(){var e=this.scanner.saveState();this.scanner.scanComments();var r=this.scanner.lex();this.scanner.restoreState(e);return r.type===3||r.type===7&&r.value==="["||r.type===7&&r.value==="{"||r.type===4&&r.value==="let"||r.type===4&&r.value==="yield"};Parser.prototype.parseLexicalDeclaration=function(e){var r=this.createNode();var t=this.nextToken().value;i.assert(t==="let"||t==="const","Lexical declaration must be either let or const");var n=this.parseBindingList(t,e);this.consumeSemicolon();return this.finalize(r,new u.VariableDeclaration(n,t))};Parser.prototype.parseBindingRestElement=function(e,r){var t=this.createNode();this.expect("...");var i=this.parsePattern(e,r);return this.finalize(t,new u.RestElement(i))};Parser.prototype.parseArrayPattern=function(e,r){var t=this.createNode();this.expect("[");var i=[];while(!this.match("]")){if(this.match(",")){this.nextToken();i.push(null)}else{if(this.match("...")){i.push(this.parseBindingRestElement(e,r));break}else{i.push(this.parsePatternWithDefault(e,r))}if(!this.match("]")){this.expect(",")}}}this.expect("]");return this.finalize(t,new u.ArrayPattern(i))};Parser.prototype.parsePropertyPattern=function(e,r){var t=this.createNode();var i=false;var n=false;var a=false;var s;var o;if(this.lookahead.type===3){var f=this.lookahead;s=this.parseVariableIdentifier();var l=this.finalize(t,new u.Identifier(f.value));if(this.match("=")){e.push(f);n=true;this.nextToken();var c=this.parseAssignmentExpression();o=this.finalize(this.startNode(f),new u.AssignmentPattern(l,c))}else if(!this.match(":")){e.push(f);n=true;o=l}else{this.expect(":");o=this.parsePatternWithDefault(e,r)}}else{i=this.match("[");s=this.parseObjectPropertyKey();this.expect(":");o=this.parsePatternWithDefault(e,r)}return this.finalize(t,new u.Property("init",s,i,o,a,n))};Parser.prototype.parseObjectPattern=function(e,r){var t=this.createNode();var i=[];this.expect("{");while(!this.match("}")){i.push(this.parsePropertyPattern(e,r));if(!this.match("}")){this.expect(",")}}this.expect("}");return this.finalize(t,new u.ObjectPattern(i))};Parser.prototype.parsePattern=function(e,r){var t;if(this.match("[")){t=this.parseArrayPattern(e,r)}else if(this.match("{")){t=this.parseObjectPattern(e,r)}else{if(this.matchKeyword("let")&&(r==="const"||r==="let")){this.tolerateUnexpectedToken(this.lookahead,a.Messages.LetInLexicalBinding)}e.push(this.lookahead);t=this.parseVariableIdentifier(r)}return t};Parser.prototype.parsePatternWithDefault=function(e,r){var t=this.lookahead;var i=this.parsePattern(e,r);if(this.match("=")){this.nextToken();var n=this.context.allowYield;this.context.allowYield=true;var a=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=n;i=this.finalize(this.startNode(t),new u.AssignmentPattern(i,a))}return i};Parser.prototype.parseVariableIdentifier=function(e){var r=this.createNode();var t=this.nextToken();if(t.type===4&&t.value==="yield"){if(this.context.strict){this.tolerateUnexpectedToken(t,a.Messages.StrictReservedWord)}else if(!this.context.allowYield){this.throwUnexpectedToken(t)}}else if(t.type!==3){if(this.context.strict&&t.type===4&&this.scanner.isStrictModeReservedWord(t.value)){this.tolerateUnexpectedToken(t,a.Messages.StrictReservedWord)}else{if(this.context.strict||t.value!=="let"||e!=="var"){this.throwUnexpectedToken(t)}}}else if((this.context.isModule||this.context.await)&&t.type===3&&t.value==="await"){this.tolerateUnexpectedToken(t)}return this.finalize(r,new u.Identifier(t.value))};Parser.prototype.parseVariableDeclaration=function(e){var r=this.createNode();var t=[];var i=this.parsePattern(t,"var");if(this.context.strict&&i.type===o.Syntax.Identifier){if(this.scanner.isRestrictedWord(i.name)){this.tolerateError(a.Messages.StrictVarName)}}var n=null;if(this.match("=")){this.nextToken();n=this.isolateCoverGrammar(this.parseAssignmentExpression)}else if(i.type!==o.Syntax.Identifier&&!e.inFor){this.expect("=")}return this.finalize(r,new u.VariableDeclarator(i,n))};Parser.prototype.parseVariableDeclarationList=function(e){var r={inFor:e.inFor};var t=[];t.push(this.parseVariableDeclaration(r));while(this.match(",")){this.nextToken();t.push(this.parseVariableDeclaration(r))}return t};Parser.prototype.parseVariableStatement=function(){var e=this.createNode();this.expectKeyword("var");var r=this.parseVariableDeclarationList({inFor:false});this.consumeSemicolon();return this.finalize(e,new u.VariableDeclaration(r,"var"))};Parser.prototype.parseEmptyStatement=function(){var e=this.createNode();this.expect(";");return this.finalize(e,new u.EmptyStatement)};Parser.prototype.parseExpressionStatement=function(){var e=this.createNode();var r=this.parseExpression();this.consumeSemicolon();return this.finalize(e,new u.ExpressionStatement(r))};Parser.prototype.parseIfClause=function(){if(this.context.strict&&this.matchKeyword("function")){this.tolerateError(a.Messages.StrictFunction)}return this.parseStatement()};Parser.prototype.parseIfStatement=function(){var e=this.createNode();var r;var t=null;this.expectKeyword("if");this.expect("(");var i=this.parseExpression();if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken());r=this.finalize(this.createNode(),new u.EmptyStatement)}else{this.expect(")");r=this.parseIfClause();if(this.matchKeyword("else")){this.nextToken();t=this.parseIfClause()}}return this.finalize(e,new u.IfStatement(i,r,t))};Parser.prototype.parseDoWhileStatement=function(){var e=this.createNode();this.expectKeyword("do");var r=this.context.inIteration;this.context.inIteration=true;var t=this.parseStatement();this.context.inIteration=r;this.expectKeyword("while");this.expect("(");var i=this.parseExpression();if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken())}else{this.expect(")");if(this.match(";")){this.nextToken()}}return this.finalize(e,new u.DoWhileStatement(t,i))};Parser.prototype.parseWhileStatement=function(){var e=this.createNode();var r;this.expectKeyword("while");this.expect("(");var t=this.parseExpression();if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken());r=this.finalize(this.createNode(),new u.EmptyStatement)}else{this.expect(")");var i=this.context.inIteration;this.context.inIteration=true;r=this.parseStatement();this.context.inIteration=i}return this.finalize(e,new u.WhileStatement(t,r))};Parser.prototype.parseForStatement=function(){var e=null;var r=null;var t=null;var i=true;var n,s;var f=this.createNode();this.expectKeyword("for");this.expect("(");if(this.match(";")){this.nextToken()}else{if(this.matchKeyword("var")){e=this.createNode();this.nextToken();var l=this.context.allowIn;this.context.allowIn=false;var c=this.parseVariableDeclarationList({inFor:true});this.context.allowIn=l;if(c.length===1&&this.matchKeyword("in")){var h=c[0];if(h.init&&(h.id.type===o.Syntax.ArrayPattern||h.id.type===o.Syntax.ObjectPattern||this.context.strict)){this.tolerateError(a.Messages.ForInOfLoopInitializer,"for-in")}e=this.finalize(e,new u.VariableDeclaration(c,"var"));this.nextToken();n=e;s=this.parseExpression();e=null}else if(c.length===1&&c[0].init===null&&this.matchContextualKeyword("of")){e=this.finalize(e,new u.VariableDeclaration(c,"var"));this.nextToken();n=e;s=this.parseAssignmentExpression();e=null;i=false}else{e=this.finalize(e,new u.VariableDeclaration(c,"var"));this.expect(";")}}else if(this.matchKeyword("const")||this.matchKeyword("let")){e=this.createNode();var p=this.nextToken().value;if(!this.context.strict&&this.lookahead.value==="in"){e=this.finalize(e,new u.Identifier(p));this.nextToken();n=e;s=this.parseExpression();e=null}else{var l=this.context.allowIn;this.context.allowIn=false;var c=this.parseBindingList(p,{inFor:true});this.context.allowIn=l;if(c.length===1&&c[0].init===null&&this.matchKeyword("in")){e=this.finalize(e,new u.VariableDeclaration(c,p));this.nextToken();n=e;s=this.parseExpression();e=null}else if(c.length===1&&c[0].init===null&&this.matchContextualKeyword("of")){e=this.finalize(e,new u.VariableDeclaration(c,p));this.nextToken();n=e;s=this.parseAssignmentExpression();e=null;i=false}else{this.consumeSemicolon();e=this.finalize(e,new u.VariableDeclaration(c,p))}}}else{var v=this.lookahead;var l=this.context.allowIn;this.context.allowIn=false;e=this.inheritCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=l;if(this.matchKeyword("in")){if(!this.context.isAssignmentTarget||e.type===o.Syntax.AssignmentExpression){this.tolerateError(a.Messages.InvalidLHSInForIn)}this.nextToken();this.reinterpretExpressionAsPattern(e);n=e;s=this.parseExpression();e=null}else if(this.matchContextualKeyword("of")){if(!this.context.isAssignmentTarget||e.type===o.Syntax.AssignmentExpression){this.tolerateError(a.Messages.InvalidLHSInForLoop)}this.nextToken();this.reinterpretExpressionAsPattern(e);n=e;s=this.parseAssignmentExpression();e=null;i=false}else{if(this.match(",")){var d=[e];while(this.match(",")){this.nextToken();d.push(this.isolateCoverGrammar(this.parseAssignmentExpression))}e=this.finalize(this.startNode(v),new u.SequenceExpression(d))}this.expect(";")}}}if(typeof n==="undefined"){if(!this.match(";")){r=this.parseExpression()}this.expect(";");if(!this.match(")")){t=this.parseExpression()}}var D;if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken());D=this.finalize(this.createNode(),new u.EmptyStatement)}else{this.expect(")");var m=this.context.inIteration;this.context.inIteration=true;D=this.isolateCoverGrammar(this.parseStatement);this.context.inIteration=m}return typeof n==="undefined"?this.finalize(f,new u.ForStatement(e,r,t,D)):i?this.finalize(f,new u.ForInStatement(n,s,D)):this.finalize(f,new u.ForOfStatement(n,s,D))};Parser.prototype.parseContinueStatement=function(){var e=this.createNode();this.expectKeyword("continue");var r=null;if(this.lookahead.type===3&&!this.hasLineTerminator){var t=this.parseVariableIdentifier();r=t;var i="$"+t.name;if(!Object.prototype.hasOwnProperty.call(this.context.labelSet,i)){this.throwError(a.Messages.UnknownLabel,t.name)}}this.consumeSemicolon();if(r===null&&!this.context.inIteration){this.throwError(a.Messages.IllegalContinue)}return this.finalize(e,new u.ContinueStatement(r))};Parser.prototype.parseBreakStatement=function(){var e=this.createNode();this.expectKeyword("break");var r=null;if(this.lookahead.type===3&&!this.hasLineTerminator){var t=this.parseVariableIdentifier();var i="$"+t.name;if(!Object.prototype.hasOwnProperty.call(this.context.labelSet,i)){this.throwError(a.Messages.UnknownLabel,t.name)}r=t}this.consumeSemicolon();if(r===null&&!this.context.inIteration&&!this.context.inSwitch){this.throwError(a.Messages.IllegalBreak)}return this.finalize(e,new u.BreakStatement(r))};Parser.prototype.parseReturnStatement=function(){if(!this.context.inFunctionBody){this.tolerateError(a.Messages.IllegalReturn)}var e=this.createNode();this.expectKeyword("return");var r=!this.match(";")&&!this.match("}")&&!this.hasLineTerminator&&this.lookahead.type!==2||this.lookahead.type===8||this.lookahead.type===10;var t=r?this.parseExpression():null;this.consumeSemicolon();return this.finalize(e,new u.ReturnStatement(t))};Parser.prototype.parseWithStatement=function(){if(this.context.strict){this.tolerateError(a.Messages.StrictModeWith)}var e=this.createNode();var r;this.expectKeyword("with");this.expect("(");var t=this.parseExpression();if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken());r=this.finalize(this.createNode(),new u.EmptyStatement)}else{this.expect(")");r=this.parseStatement()}return this.finalize(e,new u.WithStatement(t,r))};Parser.prototype.parseSwitchCase=function(){var e=this.createNode();var r;if(this.matchKeyword("default")){this.nextToken();r=null}else{this.expectKeyword("case");r=this.parseExpression()}this.expect(":");var t=[];while(true){if(this.match("}")||this.matchKeyword("default")||this.matchKeyword("case")){break}t.push(this.parseStatementListItem())}return this.finalize(e,new u.SwitchCase(r,t))};Parser.prototype.parseSwitchStatement=function(){var e=this.createNode();this.expectKeyword("switch");this.expect("(");var r=this.parseExpression();this.expect(")");var t=this.context.inSwitch;this.context.inSwitch=true;var i=[];var n=false;this.expect("{");while(true){if(this.match("}")){break}var s=this.parseSwitchCase();if(s.test===null){if(n){this.throwError(a.Messages.MultipleDefaultsInSwitch)}n=true}i.push(s)}this.expect("}");this.context.inSwitch=t;return this.finalize(e,new u.SwitchStatement(r,i))};Parser.prototype.parseLabelledStatement=function(){var e=this.createNode();var r=this.parseExpression();var t;if(r.type===o.Syntax.Identifier&&this.match(":")){this.nextToken();var i=r;var n="$"+i.name;if(Object.prototype.hasOwnProperty.call(this.context.labelSet,n)){this.throwError(a.Messages.Redeclaration,"Label",i.name)}this.context.labelSet[n]=true;var s=void 0;if(this.matchKeyword("class")){this.tolerateUnexpectedToken(this.lookahead);s=this.parseClassDeclaration()}else if(this.matchKeyword("function")){var f=this.lookahead;var l=this.parseFunctionDeclaration();if(this.context.strict){this.tolerateUnexpectedToken(f,a.Messages.StrictFunction)}else if(l.generator){this.tolerateUnexpectedToken(f,a.Messages.GeneratorInLegacyContext)}s=l}else{s=this.parseStatement()}delete this.context.labelSet[n];t=new u.LabeledStatement(i,s)}else{this.consumeSemicolon();t=new u.ExpressionStatement(r)}return this.finalize(e,t)};Parser.prototype.parseThrowStatement=function(){var e=this.createNode();this.expectKeyword("throw");if(this.hasLineTerminator){this.throwError(a.Messages.NewlineAfterThrow)}var r=this.parseExpression();this.consumeSemicolon();return this.finalize(e,new u.ThrowStatement(r))};Parser.prototype.parseCatchClause=function(){var e=this.createNode();this.expectKeyword("catch");this.expect("(");if(this.match(")")){this.throwUnexpectedToken(this.lookahead)}var r=[];var t=this.parsePattern(r);var i={};for(var n=0;n0){this.tolerateError(a.Messages.BadGetterArity)}var n=this.parsePropertyMethod(i);this.context.allowYield=t;return this.finalize(e,new u.FunctionExpression(null,i.params,n,r))};Parser.prototype.parseSetterMethod=function(){var e=this.createNode();var r=false;var t=this.context.allowYield;this.context.allowYield=!r;var i=this.parseFormalParameters();if(i.params.length!==1){this.tolerateError(a.Messages.BadSetterArity)}else if(i.params[0]instanceof u.RestElement){this.tolerateError(a.Messages.BadSetterRestParameter)}var n=this.parsePropertyMethod(i);this.context.allowYield=t;return this.finalize(e,new u.FunctionExpression(null,i.params,n,r))};Parser.prototype.parseGeneratorMethod=function(){var e=this.createNode();var r=true;var t=this.context.allowYield;this.context.allowYield=true;var i=this.parseFormalParameters();this.context.allowYield=false;var n=this.parsePropertyMethod(i);this.context.allowYield=t;return this.finalize(e,new u.FunctionExpression(null,i.params,n,r))};Parser.prototype.isStartOfExpression=function(){var e=true;var r=this.lookahead.value;switch(this.lookahead.type){case 7:e=r==="["||r==="("||r==="{"||r==="+"||r==="-"||r==="!"||r==="~"||r==="++"||r==="--"||r==="/"||r==="/=";break;case 4:e=r==="class"||r==="delete"||r==="function"||r==="let"||r==="new"||r==="super"||r==="this"||r==="typeof"||r==="void"||r==="yield";break;default:break}return e};Parser.prototype.parseYieldExpression=function(){var e=this.createNode();this.expectKeyword("yield");var r=null;var t=false;if(!this.hasLineTerminator){var i=this.context.allowYield;this.context.allowYield=false;t=this.match("*");if(t){this.nextToken();r=this.parseAssignmentExpression()}else if(this.isStartOfExpression()){r=this.parseAssignmentExpression()}this.context.allowYield=i}return this.finalize(e,new u.YieldExpression(r,t))};Parser.prototype.parseClassElement=function(e){var r=this.lookahead;var t=this.createNode();var i="";var n=null;var s=null;var o=false;var f=false;var l=false;var c=false;if(this.match("*")){this.nextToken()}else{o=this.match("[");n=this.parseObjectPropertyKey();var h=n;if(h.name==="static"&&(this.qualifiedPropertyName(this.lookahead)||this.match("*"))){r=this.lookahead;l=true;o=this.match("[");if(this.match("*")){this.nextToken()}else{n=this.parseObjectPropertyKey()}}if(r.type===3&&!this.hasLineTerminator&&r.value==="async"){var p=this.lookahead.value;if(p!==":"&&p!=="("&&p!=="*"){c=true;r=this.lookahead;n=this.parseObjectPropertyKey();if(r.type===3&&r.value==="constructor"){this.tolerateUnexpectedToken(r,a.Messages.ConstructorIsAsync)}}}}var v=this.qualifiedPropertyName(this.lookahead);if(r.type===3){if(r.value==="get"&&v){i="get";o=this.match("[");n=this.parseObjectPropertyKey();this.context.allowYield=false;s=this.parseGetterMethod()}else if(r.value==="set"&&v){i="set";o=this.match("[");n=this.parseObjectPropertyKey();s=this.parseSetterMethod()}}else if(r.type===7&&r.value==="*"&&v){i="init";o=this.match("[");n=this.parseObjectPropertyKey();s=this.parseGeneratorMethod();f=true}if(!i&&n&&this.match("(")){i="init";s=c?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction();f=true}if(!i){this.throwUnexpectedToken(this.lookahead)}if(i==="init"){i="method"}if(!o){if(l&&this.isPropertyKey(n,"prototype")){this.throwUnexpectedToken(r,a.Messages.StaticPrototype)}if(!l&&this.isPropertyKey(n,"constructor")){if(i!=="method"||!f||s&&s.generator){this.throwUnexpectedToken(r,a.Messages.ConstructorSpecialMethod)}if(e.value){this.throwUnexpectedToken(r,a.Messages.DuplicateConstructor)}else{e.value=true}i="constructor"}}return this.finalize(t,new u.MethodDefinition(n,o,s,i,l))};Parser.prototype.parseClassElementList=function(){var e=[];var r={value:false};this.expect("{");while(!this.match("}")){if(this.match(";")){this.nextToken()}else{e.push(this.parseClassElement(r))}}this.expect("}");return e};Parser.prototype.parseClassBody=function(){var e=this.createNode();var r=this.parseClassElementList();return this.finalize(e,new u.ClassBody(r))};Parser.prototype.parseClassDeclaration=function(e){var r=this.createNode();var t=this.context.strict;this.context.strict=true;this.expectKeyword("class");var i=e&&this.lookahead.type!==3?null:this.parseVariableIdentifier();var n=null;if(this.matchKeyword("extends")){this.nextToken();n=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall)}var a=this.parseClassBody();this.context.strict=t;return this.finalize(r,new u.ClassDeclaration(i,n,a))};Parser.prototype.parseClassExpression=function(){var e=this.createNode();var r=this.context.strict;this.context.strict=true;this.expectKeyword("class");var t=this.lookahead.type===3?this.parseVariableIdentifier():null;var i=null;if(this.matchKeyword("extends")){this.nextToken();i=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall)}var n=this.parseClassBody();this.context.strict=r;return this.finalize(e,new u.ClassExpression(t,i,n))};Parser.prototype.parseModule=function(){this.context.strict=true;this.context.isModule=true;this.scanner.isModule=true;var e=this.createNode();var r=this.parseDirectivePrologues();while(this.lookahead.type!==2){r.push(this.parseStatementListItem())}return this.finalize(e,new u.Module(r))};Parser.prototype.parseScript=function(){var e=this.createNode();var r=this.parseDirectivePrologues();while(this.lookahead.type!==2){r.push(this.parseStatementListItem())}return this.finalize(e,new u.Script(r))};Parser.prototype.parseModuleSpecifier=function(){var e=this.createNode();if(this.lookahead.type!==8){this.throwError(a.Messages.InvalidModuleSpecifier)}var r=this.nextToken();var t=this.getTokenRaw(r);return this.finalize(e,new u.Literal(r.value,t))};Parser.prototype.parseImportSpecifier=function(){var e=this.createNode();var r;var t;if(this.lookahead.type===3){r=this.parseVariableIdentifier();t=r;if(this.matchContextualKeyword("as")){this.nextToken();t=this.parseVariableIdentifier()}}else{r=this.parseIdentifierName();t=r;if(this.matchContextualKeyword("as")){this.nextToken();t=this.parseVariableIdentifier()}else{this.throwUnexpectedToken(this.nextToken())}}return this.finalize(e,new u.ImportSpecifier(t,r))};Parser.prototype.parseNamedImports=function(){this.expect("{");var e=[];while(!this.match("}")){e.push(this.parseImportSpecifier());if(!this.match("}")){this.expect(",")}}this.expect("}");return e};Parser.prototype.parseImportDefaultSpecifier=function(){var e=this.createNode();var r=this.parseIdentifierName();return this.finalize(e,new u.ImportDefaultSpecifier(r))};Parser.prototype.parseImportNamespaceSpecifier=function(){var e=this.createNode();this.expect("*");if(!this.matchContextualKeyword("as")){this.throwError(a.Messages.NoAsAfterImportNamespace)}this.nextToken();var r=this.parseIdentifierName();return this.finalize(e,new u.ImportNamespaceSpecifier(r))};Parser.prototype.parseImportDeclaration=function(){if(this.context.inFunctionBody){this.throwError(a.Messages.IllegalImportDeclaration)}var e=this.createNode();this.expectKeyword("import");var r;var t=[];if(this.lookahead.type===8){r=this.parseModuleSpecifier()}else{if(this.match("{")){t=t.concat(this.parseNamedImports())}else if(this.match("*")){t.push(this.parseImportNamespaceSpecifier())}else if(this.isIdentifierName(this.lookahead)&&!this.matchKeyword("default")){t.push(this.parseImportDefaultSpecifier());if(this.match(",")){this.nextToken();if(this.match("*")){t.push(this.parseImportNamespaceSpecifier())}else if(this.match("{")){t=t.concat(this.parseNamedImports())}else{this.throwUnexpectedToken(this.lookahead)}}}else{this.throwUnexpectedToken(this.nextToken())}if(!this.matchContextualKeyword("from")){var i=this.lookahead.value?a.Messages.UnexpectedToken:a.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}this.nextToken();r=this.parseModuleSpecifier()}this.consumeSemicolon();return this.finalize(e,new u.ImportDeclaration(t,r))};Parser.prototype.parseExportSpecifier=function(){var e=this.createNode();var r=this.parseIdentifierName();var t=r;if(this.matchContextualKeyword("as")){this.nextToken();t=this.parseIdentifierName()}return this.finalize(e,new u.ExportSpecifier(r,t))};Parser.prototype.parseExportDeclaration=function(){if(this.context.inFunctionBody){this.throwError(a.Messages.IllegalExportDeclaration)}var e=this.createNode();this.expectKeyword("export");var r;if(this.matchKeyword("default")){this.nextToken();if(this.matchKeyword("function")){var t=this.parseFunctionDeclaration(true);r=this.finalize(e,new u.ExportDefaultDeclaration(t))}else if(this.matchKeyword("class")){var t=this.parseClassDeclaration(true);r=this.finalize(e,new u.ExportDefaultDeclaration(t))}else if(this.matchContextualKeyword("async")){var t=this.matchAsyncFunction()?this.parseFunctionDeclaration(true):this.parseAssignmentExpression();r=this.finalize(e,new u.ExportDefaultDeclaration(t))}else{if(this.matchContextualKeyword("from")){this.throwError(a.Messages.UnexpectedToken,this.lookahead.value)}var t=this.match("{")?this.parseObjectInitializer():this.match("[")?this.parseArrayInitializer():this.parseAssignmentExpression();this.consumeSemicolon();r=this.finalize(e,new u.ExportDefaultDeclaration(t))}}else if(this.match("*")){this.nextToken();if(!this.matchContextualKeyword("from")){var i=this.lookahead.value?a.Messages.UnexpectedToken:a.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}this.nextToken();var n=this.parseModuleSpecifier();this.consumeSemicolon();r=this.finalize(e,new u.ExportAllDeclaration(n))}else if(this.lookahead.type===4){var t=void 0;switch(this.lookahead.value){case"let":case"const":t=this.parseLexicalDeclaration({inFor:false});break;case"var":case"class":case"function":t=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}r=this.finalize(e,new u.ExportNamedDeclaration(t,[],null))}else if(this.matchAsyncFunction()){var t=this.parseFunctionDeclaration();r=this.finalize(e,new u.ExportNamedDeclaration(t,[],null))}else{var s=[];var o=null;var f=false;this.expect("{");while(!this.match("}")){f=f||this.matchKeyword("default");s.push(this.parseExportSpecifier());if(!this.match("}")){this.expect(",")}}this.expect("}");if(this.matchContextualKeyword("from")){this.nextToken();o=this.parseModuleSpecifier();this.consumeSemicolon()}else if(f){var i=this.lookahead.value?a.Messages.UnexpectedToken:a.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}else{this.consumeSemicolon()}r=this.finalize(e,new u.ExportNamedDeclaration(null,s,o))}return r};return Parser}();r.Parser=c},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});function assert(e,r){if(!e){throw new Error("ASSERT: "+r)}}r.assert=assert},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});var t=function(){function ErrorHandler(){this.errors=[];this.tolerant=false}ErrorHandler.prototype.recordError=function(e){this.errors.push(e)};ErrorHandler.prototype.tolerate=function(e){if(this.tolerant){this.recordError(e)}else{throw e}};ErrorHandler.prototype.constructError=function(e,r){var t=new Error(e);try{throw t}catch(e){if(Object.create&&Object.defineProperty){t=Object.create(e);Object.defineProperty(t,"column",{value:r})}}return t};ErrorHandler.prototype.createError=function(e,r,t,i){var n="Line "+r+": "+i;var a=this.constructError(n,t);a.index=e;a.lineNumber=r;a.description=i;return a};ErrorHandler.prototype.throwError=function(e,r,t,i){throw this.createError(e,r,t,i)};ErrorHandler.prototype.tolerateError=function(e,r,t,i){var n=this.createError(e,r,t,i);if(this.tolerant){this.recordError(n)}else{throw n}};return ErrorHandler}();r.ErrorHandler=t},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});r.Messages={BadGetterArity:"Getter must not have any formal parameters",BadSetterArity:"Setter must have exactly one formal parameter",BadSetterRestParameter:"Setter function argument must not be a rest parameter",ConstructorIsAsync:"Class constructor may not be an async method",ConstructorSpecialMethod:"Class constructor may not be an accessor",DeclarationMissingInitializer:"Missing initializer in %0 declaration",DefaultRestParameter:"Unexpected token =",DuplicateBinding:"Duplicate binding %0",DuplicateConstructor:"A class may only have one constructor",DuplicateProtoProperty:"Duplicate __proto__ fields are not allowed in object literals",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInLegacyContext:"Generator declarations are not allowed in legacy contexts",IllegalBreak:"Illegal break statement",IllegalContinue:"Illegal continue statement",IllegalExportDeclaration:"Unexpected token",IllegalImportDeclaration:"Unexpected token",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"Illegal return statement",InvalidEscapedReservedWord:"Keyword must not contain escaped characters",InvalidHexEscapeSequence:"Invalid hexadecimal escape sequence",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",InvalidLHSInForLoop:"Invalid left-hand side in for-loop",InvalidModuleSpecifier:"Unexpected token",InvalidRegExp:"Invalid regular expression",LetInLexicalBinding:"let is disallowed as a lexically bound name",MissingFromClause:"Unexpected token",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NewlineAfterThrow:"Illegal newline after throw",NoAsAfterImportNamespace:"Unexpected token",NoCatchOrFinally:"Missing catch or finally after try",ParameterAfterRestParameter:"Rest parameter must be last formal parameter",Redeclaration:"%0 '%1' has already been declared",StaticPrototype:"Classes may not have static property named prototype",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictModeWith:"Strict mode code may not include a with statement",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictReservedWord:"Use of future reserved word in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",TemplateOctalLiteral:"Octal literals are not allowed in template strings.",UnexpectedEOS:"Unexpected end of input",UnexpectedIdentifier:"Unexpected identifier",UnexpectedNumber:"Unexpected number",UnexpectedReserved:"Unexpected reserved word",UnexpectedString:"Unexpected string",UnexpectedTemplate:"Unexpected quasi %0",UnexpectedToken:"Unexpected token %0",UnexpectedTokenIllegal:"Unexpected token ILLEGAL",UnknownLabel:"Undefined label '%0'",UnterminatedRegExp:"Invalid regular expression: missing /"}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(9);var n=t(4);var a=t(11);function hexValue(e){return"0123456789abcdef".indexOf(e.toLowerCase())}function octalValue(e){return"01234567".indexOf(e)}var u=function(){function Scanner(e,r){this.source=e;this.errorHandler=r;this.trackComment=false;this.isModule=false;this.length=e.length;this.index=0;this.lineNumber=e.length>0?1:0;this.lineStart=0;this.curlyStack=[]}Scanner.prototype.saveState=function(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart}};Scanner.prototype.restoreState=function(e){this.index=e.index;this.lineNumber=e.lineNumber;this.lineStart=e.lineStart};Scanner.prototype.eof=function(){return this.index>=this.length};Scanner.prototype.throwUnexpectedToken=function(e){if(e===void 0){e=a.Messages.UnexpectedTokenIllegal}return this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,e)};Scanner.prototype.tolerateUnexpectedToken=function(e){if(e===void 0){e=a.Messages.UnexpectedTokenIllegal}this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,e)};Scanner.prototype.skipSingleLineComment=function(e){var r=[];var t,i;if(this.trackComment){r=[];t=this.index-e;i={start:{line:this.lineNumber,column:this.index-this.lineStart-e},end:{}}}while(!this.eof()){var a=this.source.charCodeAt(this.index);++this.index;if(n.Character.isLineTerminator(a)){if(this.trackComment){i.end={line:this.lineNumber,column:this.index-this.lineStart-1};var u={multiLine:false,slice:[t+e,this.index-1],range:[t,this.index-1],loc:i};r.push(u)}if(a===13&&this.source.charCodeAt(this.index)===10){++this.index}++this.lineNumber;this.lineStart=this.index;return r}}if(this.trackComment){i.end={line:this.lineNumber,column:this.index-this.lineStart};var u={multiLine:false,slice:[t+e,this.index],range:[t,this.index],loc:i};r.push(u)}return r};Scanner.prototype.skipMultiLineComment=function(){var e=[];var r,t;if(this.trackComment){e=[];r=this.index-2;t={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}}}while(!this.eof()){var i=this.source.charCodeAt(this.index);if(n.Character.isLineTerminator(i)){if(i===13&&this.source.charCodeAt(this.index+1)===10){++this.index}++this.lineNumber;++this.index;this.lineStart=this.index}else if(i===42){if(this.source.charCodeAt(this.index+1)===47){this.index+=2;if(this.trackComment){t.end={line:this.lineNumber,column:this.index-this.lineStart};var a={multiLine:true,slice:[r+2,this.index-2],range:[r,this.index],loc:t};e.push(a)}return e}++this.index}else{++this.index}}if(this.trackComment){t.end={line:this.lineNumber,column:this.index-this.lineStart};var a={multiLine:true,slice:[r+2,this.index],range:[r,this.index],loc:t};e.push(a)}this.tolerateUnexpectedToken();return e};Scanner.prototype.scanComments=function(){var e;if(this.trackComment){e=[]}var r=this.index===0;while(!this.eof()){var t=this.source.charCodeAt(this.index);if(n.Character.isWhiteSpace(t)){++this.index}else if(n.Character.isLineTerminator(t)){++this.index;if(t===13&&this.source.charCodeAt(this.index)===10){++this.index}++this.lineNumber;this.lineStart=this.index;r=true}else if(t===47){t=this.source.charCodeAt(this.index+1);if(t===47){this.index+=2;var i=this.skipSingleLineComment(2);if(this.trackComment){e=e.concat(i)}r=true}else if(t===42){this.index+=2;var i=this.skipMultiLineComment();if(this.trackComment){e=e.concat(i)}}else{break}}else if(r&&t===45){if(this.source.charCodeAt(this.index+1)===45&&this.source.charCodeAt(this.index+2)===62){this.index+=3;var i=this.skipSingleLineComment(3);if(this.trackComment){e=e.concat(i)}}else{break}}else if(t===60&&!this.isModule){if(this.source.slice(this.index+1,this.index+4)==="!--"){this.index+=4;var i=this.skipSingleLineComment(4);if(this.trackComment){e=e.concat(i)}}else{break}}else{break}}return e};Scanner.prototype.isFutureReservedWord=function(e){switch(e){case"enum":case"export":case"import":case"super":return true;default:return false}};Scanner.prototype.isStrictModeReservedWord=function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return true;default:return false}};Scanner.prototype.isRestrictedWord=function(e){return e==="eval"||e==="arguments"};Scanner.prototype.isKeyword=function(e){switch(e.length){case 2:return e==="if"||e==="in"||e==="do";case 3:return e==="var"||e==="for"||e==="new"||e==="try"||e==="let";case 4:return e==="this"||e==="else"||e==="case"||e==="void"||e==="with"||e==="enum";case 5:return e==="while"||e==="break"||e==="catch"||e==="throw"||e==="const"||e==="yield"||e==="class"||e==="super";case 6:return e==="return"||e==="typeof"||e==="delete"||e==="switch"||e==="export"||e==="import";case 7:return e==="default"||e==="finally"||e==="extends";case 8:return e==="function"||e==="continue"||e==="debugger";case 10:return e==="instanceof";default:return false}};Scanner.prototype.codePointAt=function(e){var r=this.source.charCodeAt(e);if(r>=55296&&r<=56319){var t=this.source.charCodeAt(e+1);if(t>=56320&&t<=57343){var i=r;r=(i-55296)*1024+t-56320+65536}}return r};Scanner.prototype.scanHexEscape=function(e){var r=e==="u"?4:2;var t=0;for(var i=0;i1114111||e!=="}"){this.throwUnexpectedToken()}return n.Character.fromCodePoint(r)};Scanner.prototype.getIdentifier=function(){var e=this.index++;while(!this.eof()){var r=this.source.charCodeAt(this.index);if(r===92){this.index=e;return this.getComplexIdentifier()}else if(r>=55296&&r<57343){this.index=e;return this.getComplexIdentifier()}if(n.Character.isIdentifierPart(r)){++this.index}else{break}}return this.source.slice(e,this.index)};Scanner.prototype.getComplexIdentifier=function(){var e=this.codePointAt(this.index);var r=n.Character.fromCodePoint(e);this.index+=r.length;var t;if(e===92){if(this.source.charCodeAt(this.index)!==117){this.throwUnexpectedToken()}++this.index;if(this.source[this.index]==="{"){++this.index;t=this.scanUnicodeCodePointEscape()}else{t=this.scanHexEscape("u");if(t===null||t==="\\"||!n.Character.isIdentifierStart(t.charCodeAt(0))){this.throwUnexpectedToken()}}r=t}while(!this.eof()){e=this.codePointAt(this.index);if(!n.Character.isIdentifierPart(e)){break}t=n.Character.fromCodePoint(e);r+=t;this.index+=t.length;if(e===92){r=r.substr(0,r.length-1);if(this.source.charCodeAt(this.index)!==117){this.throwUnexpectedToken()}++this.index;if(this.source[this.index]==="{"){++this.index;t=this.scanUnicodeCodePointEscape()}else{t=this.scanHexEscape("u");if(t===null||t==="\\"||!n.Character.isIdentifierPart(t.charCodeAt(0))){this.throwUnexpectedToken()}}r+=t}}return r};Scanner.prototype.octalToDecimal=function(e){var r=e!=="0";var t=octalValue(e);if(!this.eof()&&n.Character.isOctalDigit(this.source.charCodeAt(this.index))){r=true;t=t*8+octalValue(this.source[this.index++]);if("0123".indexOf(e)>=0&&!this.eof()&&n.Character.isOctalDigit(this.source.charCodeAt(this.index))){t=t*8+octalValue(this.source[this.index++])}}return{code:t,octal:r}};Scanner.prototype.scanIdentifier=function(){var e;var r=this.index;var t=this.source.charCodeAt(r)===92?this.getComplexIdentifier():this.getIdentifier();if(t.length===1){e=3}else if(this.isKeyword(t)){e=4}else if(t==="null"){e=5}else if(t==="true"||t==="false"){e=1}else{e=3}if(e!==3&&r+t.length!==this.index){var i=this.index;this.index=r;this.tolerateUnexpectedToken(a.Messages.InvalidEscapedReservedWord);this.index=i}return{type:e,value:t,lineNumber:this.lineNumber,lineStart:this.lineStart,start:r,end:this.index}};Scanner.prototype.scanPunctuator=function(){var e=this.index;var r=this.source[this.index];switch(r){case"(":case"{":if(r==="{"){this.curlyStack.push("{")}++this.index;break;case".":++this.index;if(this.source[this.index]==="."&&this.source[this.index+1]==="."){this.index+=2;r="..."}break;case"}":++this.index;this.curlyStack.pop();break;case")":case";":case",":case"[":case"]":case":":case"?":case"~":++this.index;break;default:r=this.source.substr(this.index,4);if(r===">>>="){this.index+=4}else{r=r.substr(0,3);if(r==="==="||r==="!=="||r===">>>"||r==="<<="||r===">>="||r==="**="){this.index+=3}else{r=r.substr(0,2);if(r==="&&"||r==="||"||r==="=="||r==="!="||r==="+="||r==="-="||r==="*="||r==="/="||r==="++"||r==="--"||r==="<<"||r===">>"||r==="&="||r==="|="||r==="^="||r==="%="||r==="<="||r===">="||r==="=>"||r==="**"){this.index+=2}else{r=this.source[this.index];if("<>=!+-*%&|^/".indexOf(r)>=0){++this.index}}}}}if(this.index===e){this.throwUnexpectedToken()}return{type:7,value:r,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}};Scanner.prototype.scanHexLiteral=function(e){var r="";while(!this.eof()){if(!n.Character.isHexDigit(this.source.charCodeAt(this.index))){break}r+=this.source[this.index++]}if(r.length===0){this.throwUnexpectedToken()}if(n.Character.isIdentifierStart(this.source.charCodeAt(this.index))){this.throwUnexpectedToken()}return{type:6,value:parseInt("0x"+r,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}};Scanner.prototype.scanBinaryLiteral=function(e){var r="";var t;while(!this.eof()){t=this.source[this.index];if(t!=="0"&&t!=="1"){break}r+=this.source[this.index++]}if(r.length===0){this.throwUnexpectedToken()}if(!this.eof()){t=this.source.charCodeAt(this.index);if(n.Character.isIdentifierStart(t)||n.Character.isDecimalDigit(t)){this.throwUnexpectedToken()}}return{type:6,value:parseInt(r,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}};Scanner.prototype.scanOctalLiteral=function(e,r){var t="";var i=false;if(n.Character.isOctalDigit(e.charCodeAt(0))){i=true;t="0"+this.source[this.index++]}else{++this.index}while(!this.eof()){if(!n.Character.isOctalDigit(this.source.charCodeAt(this.index))){break}t+=this.source[this.index++]}if(!i&&t.length===0){this.throwUnexpectedToken()}if(n.Character.isIdentifierStart(this.source.charCodeAt(this.index))||n.Character.isDecimalDigit(this.source.charCodeAt(this.index))){this.throwUnexpectedToken()}return{type:6,value:parseInt(t,8),octal:i,lineNumber:this.lineNumber,lineStart:this.lineStart,start:r,end:this.index}};Scanner.prototype.isImplicitOctalLiteral=function(){for(var e=this.index+1;e=0){i=i.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,function(e,r,i){var u=parseInt(r||i,16);if(u>1114111){n.throwUnexpectedToken(a.Messages.InvalidRegExp)}if(u<=65535){return String.fromCharCode(u)}return t}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,t)}try{RegExp(i)}catch(e){this.throwUnexpectedToken(a.Messages.InvalidRegExp)}try{return new RegExp(e,r)}catch(e){return null}};Scanner.prototype.scanRegExpBody=function(){var e=this.source[this.index];i.assert(e==="/","Regular expression literal must start with a slash");var r=this.source[this.index++];var t=false;var u=false;while(!this.eof()){e=this.source[this.index++];r+=e;if(e==="\\"){e=this.source[this.index++];if(n.Character.isLineTerminator(e.charCodeAt(0))){this.throwUnexpectedToken(a.Messages.UnterminatedRegExp)}r+=e}else if(n.Character.isLineTerminator(e.charCodeAt(0))){this.throwUnexpectedToken(a.Messages.UnterminatedRegExp)}else if(t){if(e==="]"){t=false}}else{if(e==="/"){u=true;break}else if(e==="["){t=true}}}if(!u){this.throwUnexpectedToken(a.Messages.UnterminatedRegExp)}return r.substr(1,r.length-2)};Scanner.prototype.scanRegExpFlags=function(){var e="";var r="";while(!this.eof()){var t=this.source[this.index];if(!n.Character.isIdentifierPart(t.charCodeAt(0))){break}++this.index;if(t==="\\"&&!this.eof()){t=this.source[this.index];if(t==="u"){++this.index;var i=this.index;var a=this.scanHexEscape("u");if(a!==null){r+=a;for(e+="\\u";i=55296&&e<57343){if(n.Character.isIdentifierStart(this.codePointAt(this.index))){return this.scanIdentifier()}}return this.scanPunctuator()};return Scanner}();r.Scanner=u},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});r.TokenName={};r.TokenName[1]="Boolean";r.TokenName[2]="";r.TokenName[3]="Identifier";r.TokenName[4]="Keyword";r.TokenName[5]="Null";r.TokenName[6]="Numeric";r.TokenName[7]="Punctuator";r.TokenName[8]="String";r.TokenName[9]="RegularExpression";r.TokenName[10]="Template"},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});r.XHTMLEntities={quot:'"',amp:"&",apos:"'",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",lang:"⟨",rang:"⟩"}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(10);var n=t(12);var a=t(13);var u=function(){function Reader(){this.values=[];this.curly=this.paren=-1}Reader.prototype.beforeFunctionExpression=function(e){return["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","**","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="].indexOf(e)>=0};Reader.prototype.isRegexStart=function(){var e=this.values[this.values.length-1];var r=e!==null;switch(e){case"this":case"]":r=false;break;case")":var t=this.values[this.paren-1];r=t==="if"||t==="while"||t==="for"||t==="with";break;case"}":r=false;if(this.values[this.curly-3]==="function"){var i=this.values[this.curly-4];r=i?!this.beforeFunctionExpression(i):false}else if(this.values[this.curly-4]==="function"){var i=this.values[this.curly-5];r=i?!this.beforeFunctionExpression(i):true}break;default:break}return r};Reader.prototype.push=function(e){if(e.type===7||e.type===4){if(e.value==="{"){this.curly=this.values.length}else if(e.value==="("){this.paren=this.values.length}this.values.push(e.value)}else{this.values.push(null)}};return Reader}();var s=function(){function Tokenizer(e,r){this.errorHandler=new i.ErrorHandler;this.errorHandler.tolerant=r?typeof r.tolerant==="boolean"&&r.tolerant:false;this.scanner=new n.Scanner(e,this.errorHandler);this.scanner.trackComment=r?typeof r.comment==="boolean"&&r.comment:false;this.trackRange=r?typeof r.range==="boolean"&&r.range:false;this.trackLoc=r?typeof r.loc==="boolean"&&r.loc:false;this.buffer=[];this.reader=new u}Tokenizer.prototype.errors=function(){return this.errorHandler.errors};Tokenizer.prototype.getNextToken=function(){if(this.buffer.length===0){var e=this.scanner.scanComments();if(this.scanner.trackComment){for(var r=0;rr){if(e.charAt(t-1)!==" "){break}t--}return t}},,function(e,r,t){"use strict";var i=t(347)("unified-engine:file-pipeline:stringify");var n=t(928);var a=t(212);e.exports=stringify;function stringify(e,r){var t=e.processor;var u=e.tree;var s;if(n(r).fatal){i("Not compiling failed document");return}if(!e.output&&!e.out&&!e.alwaysStringify){i("Not compiling document without output settings");return}i("Compiling `%s`",r.path);if(e.inspect){if(r.path){r.extname=".txt"}s=a[e.color?"color":"noColor"](u)+"\n"}else if(e.treeOut){if(r.path){r.extname=".json"}s=JSON.stringify(u,null,2)+"\n"}else{s=t.stringify(u,r)}r.contents=s;i("Compiled document")}},,,function(e,r,t){"use strict";const i=t(624);e.exports=(e=>typeof e==="string"?e.replace(i(),""):e)},,function(e,r,t){"use strict";var i=t(260);function Mark(e,r,t,i,n){this.name=e;this.buffer=r;this.position=t;this.line=i;this.column=n}Mark.prototype.getSnippet=function getSnippet(e,r){var t,n,a,u,s;if(!this.buffer)return null;e=e||4;r=r||75;t="";n=this.position;while(n>0&&"\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(n-1))===-1){n-=1;if(this.position-n>r/2-1){t=" ... ";n+=5;break}}a="";u=this.position;while(ur/2-1){a=" ... ";u-=5;break}}s=this.buffer.slice(n,u);return i.repeat(" ",e)+t+s+a+"\n"+i.repeat(" ",e+this.position-n+t.length)+"^"};Mark.prototype.toString=function toString(e){var r,t="";if(this.name){t+='in "'+this.name+'" '}t+="at line "+(this.line+1)+", column "+(this.column+1);if(!e){r=this.getSnippet();if(r){t+=":\n"+r}}return t};e.exports=Mark},function(e,r,t){var i=t(148);var n=function(){};var a=t(405);e.exports=wrapped;function wrapped(e){function wrap(){var r=i(arguments);var t=r[r.length-1];var u=this;var s=typeof t=="function"?r.pop():n;if(!e){return s.apply(u,[null].concat(r))}if(generator(e)){return a(e).apply(u,r.concat(s))}if(e.length>r.length){try{return e.apply(u,r.concat(s))}catch(e){return s(e)}}return sync(e,s).apply(u,r)}return wrap}function sync(e,r){return function(){var t;try{t=e.apply(this,arguments)}catch(e){return r(e)}if(promise(t)){t.then(function(e){r(null,e)},r)}else{t instanceof Error?r(t):r(null,t)}}}function generator(e){return e&&e.constructor&&"GeneratorFunction"==e.constructor.name}function promise(e){return e&&"function"==typeof e.then}},,,,,,,,function(e,r,t){"use strict";var i=t(495);e.exports=i("remark-lint:no-file-name-articles",noFileNameArticles);function noFileNameArticles(e,r){var t=r.stem&&r.stem.match(/^(the|teh|an?)\b/i);if(t){r.message("Do not start file names with `"+t[0]+"`")}}},,,function(e,r,t){"use strict";var i=t(171);e.exports=newline;var n="\n";function newline(e,r,t){var a=r.charAt(0);var u;var s;var o;var f;if(a!==n){return}if(t){return true}f=1;u=r.length;s=a;o="";while(f{if(typeof e!=="string"||e.length===0){return 0}e=i(e);let r=0;for(let t=0;t=127&&i<=159){continue}if(i>=768&&i<=879){continue}if(i>65535){t++}r+=n(i)?2:1}return r})},,,,function(e){e.exports=require("stream")},,,,function(e){"use strict";e.exports=function isObject(e){return typeof e==="object"&&e!==null}},,function(e,r,t){"use strict";e.exports={position:true,gfm:true,commonmark:false,footnotes:false,pedantic:false,blocks:t(676)}},,,function(e,r,t){"use strict";var i=t(211);var n=Object.prototype.toString;function resolveYamlPairs(e){if(e===null)return true;var r,t,i,a,u,s=e;u=new Array(s.length);for(r=0,t=s.length;r=0){r=r.slice(1)}if(r===".inf"){return t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY}else if(r===".nan"){return NaN}else if(r.indexOf(":")>=0){r.split(":").forEach(function(e){n.unshift(parseFloat(e,10))});r=0;i=1;n.forEach(function(e){r+=e*i;i*=60});return t*r}return t*parseFloat(r,10)}var u=/^[-+]?[0-9]+e/;function representYamlFloat(e,r){var t;if(isNaN(e)){switch(r){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}}else if(Number.POSITIVE_INFINITY===e){switch(r){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}}else if(Number.NEGATIVE_INFINITY===e){switch(r){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}else if(i.isNegativeZero(e)){return"-0.0"}t=e.toString(10);return u.test(t)?t.replace("e",".e"):t}function isFloat(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||i.isNegativeZero(e))}e.exports=new n("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"})},,function(e,r,t){"use strict";const i=t(947);e.exports=((e,r,t)=>{if(typeof r==="number"){t=r}if(i.has(e.toLowerCase())){r=i.get(e.toLowerCase());const t=e.charAt(0);const n=t===t.toUpperCase();if(n){r=t.toUpperCase()+r.slice(1)}const a=e===e.toUpperCase();if(a){r=r.toUpperCase()}}else if(typeof r!=="string"){r=(e.replace(/(?:s|x|z|ch|sh)$/i,"$&e").replace(/([^aeiou])y$/i,"$1ie")+"s").replace(/i?e?s$/i,r=>{const t=e.slice(-1)===e.slice(-1).toLowerCase();return t?r.toLowerCase():r.toUpperCase()})}return Math.abs(t)===1?e:r})},function(e,r,t){"use strict";var i=t(814);e.exports=pad;var n="\n";var a=" ";var u=4;function pad(e,r){var t=e.split(n);var s=t.length;var o=i(a,r*u);while(s--){if(t[s].length!==0){t[s]=o+t[s]}}return t.join(n)}},,,,function(e){e.exports=function(e,r){return e.replace(/(\\*)(\$([_a-z0-9]+)|\${([_a-z0-9]+)})/gi,function(e,t,i,n,a){if(!(t.length%2)){return t.substring(Math.ceil(t.length/2))+(r[n||a]||"")}else{return t.substring(1)+i}})}},,,,function(e,r,t){"use strict";var i=t(211);var n=Object.prototype.hasOwnProperty;function resolveYamlSet(e){if(e===null)return true;var r,t=e;for(r in t){if(n.call(t,r)){if(t[r]!==null)return false}}return true}function constructYamlSet(e){return e!==null?e:{}}e.exports=new i("tag:yaml.org,2002:set",{kind:"mapping",resolve:resolveYamlSet,construct:constructYamlSet})},function(e){if(typeof Object.create==="function"){e.exports=function inherits(e,r){e.super_=r;e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}})}}else{e.exports=function inherits(e,r){e.super_=r;var t=function(){};t.prototype=r.prototype;e.prototype=new t;e.prototype.constructor=e}}},,,,,function(e){var r=Object.prototype.toString;var t=typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return r.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,r,i){r>>>=0;var n=e.byteLength-r;if(n<0){throw new RangeError("'offset' is out of bounds")}if(i===undefined){i=n}else{i>>>=0;if(i>n){throw new RangeError("'length' is out of bounds")}}return t?Buffer.from(e.slice(r,r+i)):new Buffer(new Uint8Array(e.slice(r,r+i)))}function fromString(e,r){if(typeof r!=="string"||r===""){r="utf8"}if(!Buffer.isEncoding(r)){throw new TypeError('"encoding" must be a valid string encoding')}return t?Buffer.from(e,r):new Buffer(e,r)}function bufferFrom(e,r,i){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,r,i)}if(typeof e==="string"){return fromString(e,r)}return t?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},,function(e){e.exports={AEli:"Æ",AElig:"Æ",AM:"&",AMP:"&",Aacut:"Á",Aacute:"Á",Abreve:"Ă",Acir:"Â",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrav:"À",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Arin:"Å",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atild:"Ã",Atilde:"Ã",Aum:"Ä",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COP:"©",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedi:"Ç",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ET:"Ð",ETH:"Ð",Eacut:"É",Eacute:"É",Ecaron:"Ě",Ecir:"Ê",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrav:"È",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Eum:"Ë",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",G:">",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacut:"Í",Iacute:"Í",Icir:"Î",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrav:"Ì",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Ium:"Ï",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",L:"<",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntild:"Ñ",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacut:"Ó",Oacute:"Ó",Ocir:"Ô",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograv:"Ò",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslas:"Ø",Oslash:"Ø",Otild:"Õ",Otilde:"Õ",Otimes:"⨷",Oum:"Ö",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUO:'"',QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",RE:"®",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THOR:"Þ",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacut:"Ú",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucir:"Û",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrav:"Ù",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uum:"Ü",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacut:"Ý",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacut:"á",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acir:"â",acirc:"â",acut:"´",acute:"´",acy:"а",aeli:"æ",aelig:"æ",af:"⁡",afr:"𝔞",agrav:"à",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",am:"&",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",arin:"å",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atild:"ã",atilde:"ã",aum:"ä",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvba:"¦",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedi:"ç",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedi:"¸",cedil:"¸",cemptyv:"⦲",cen:"¢",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",cop:"©",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curre:"¤",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",de:"°",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divid:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacut:"é",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"ê",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrav:"è",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",et:"ð",eth:"ð",eum:"ë",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac1:"¼",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac3:"¾",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",g:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacut:"í",iacute:"í",ic:"⁣",icir:"î",icirc:"î",icy:"и",iecy:"е",iexc:"¡",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrav:"ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iques:"¿",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",ium:"ï",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laqu:"«",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",l:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",mac:"¯",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micr:"µ",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middo:"·",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbs:" ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",no:"¬",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntild:"ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacut:"ó",oacute:"ó",oast:"⊛",ocir:"ô",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograv:"ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"º",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslas:"ø",oslash:"ø",osol:"⊘",otild:"õ",otilde:"õ",otimes:"⊗",otimesas:"⨶",oum:"ö",ouml:"ö",ovbar:"⌽",par:"¶",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusm:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",poun:"£",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quo:'"',quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raqu:"»",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",re:"®",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sec:"§",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",sh:"­",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szli:"ß",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thor:"þ",thorn:"þ",tilde:"˜",time:"×",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacut:"ú",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucir:"û",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrav:"ù",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",um:"¨",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uum:"ü",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacut:"ý",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",ye:"¥",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yum:"ÿ",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(287);var n=_interopRequireDefault(i);var a=t(809);var u=_interopRequireDefault(a);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}r.default={parse:n.default,stringify:u.default};e.exports=r["default"]},,function(e){"use strict";e.exports=interrupt;function interrupt(e,r,t,i){var n=e.length;var a=-1;var u;var s;while(++a>0},ToUint32:function(e){return e>>>0}}}();var u=Math.LN2,s=Math.abs,o=Math.floor,f=Math.log,l=Math.min,c=Math.pow,h=Math.round;function configureProperties(e){if(v&&p){var r=v(e),t;for(t=0;tn)throw new RangeError("Array too large for polyfill");function makeArrayAccessor(r){p(e,r,{get:function(){return e._getter(r)},set:function(t){e._setter(r,t)},enumerable:true,configurable:false})}var r;for(r=0;r>t}function as_unsigned(e,r){var t=32-r;return e<>>t}function packI8(e){return[e&255]}function unpackI8(e){return as_signed(e[0],8)}function packU8(e){return[e&255]}function unpackU8(e){return as_unsigned(e[0],8)}function packU8Clamped(e){e=h(Number(e));return[e<0?0:e>255?255:e&255]}function packI16(e){return[e>>8&255,e&255]}function unpackI16(e){return as_signed(e[0]<<8|e[1],16)}function packU16(e){return[e>>8&255,e&255]}function unpackU16(e){return as_unsigned(e[0]<<8|e[1],16)}function packI32(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}function unpackI32(e){return as_signed(e[0]<<24|e[1]<<16|e[2]<<8|e[3],32)}function packU32(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}function unpackU32(e){return as_unsigned(e[0]<<24|e[1]<<16|e[2]<<8|e[3],32)}function packIEEE754(e,r,t){var i=(1<.5)return r+1;return r%2?r+1:r}if(e!==e){a=(1<=c(2,1-i)){a=l(o(f(e)/u),1023);h=roundToEven(e/c(2,a)*c(2,t));if(h/c(2,t)>=2){a=a+1;h=1}if(a>i){a=(1<>1}}i.reverse();s=i.join("");o=(1<0){return f*c(2,l-o)*(1+h/c(2,t))}else if(h!==0){return f*c(2,-(o-1))*(h/c(2,t))}else{return f<0?-0:0}}function unpackF64(e){return unpackIEEE754(e,11,52)}function packF64(e){return packIEEE754(e,11,52)}function unpackF32(e){return unpackIEEE754(e,8,23)}function packF32(e){return packIEEE754(e,8,23)}(function(){var e=function ArrayBuffer(e){e=a.ToInt32(e);if(e<0)throw new RangeError("ArrayBuffer size is not a small enough positive integer");this.byteLength=e;this._bytes=[];this._bytes.length=e;var r;for(r=0;rthis.buffer.byteLength){throw new RangeError("byteOffset out of range")}if(this.byteOffset%this.BYTES_PER_ELEMENT){throw new RangeError("ArrayBuffer length minus the byteOffset is not a multiple of the element size.")}if(arguments.length<3){this.byteLength=this.buffer.byteLength-this.byteOffset;if(this.byteLength%this.BYTES_PER_ELEMENT){throw new RangeError("length of buffer minus byteOffset not a multiple of the element size")}this.length=this.byteLength/this.BYTES_PER_ELEMENT}else{this.length=a.ToUint32(i);this.byteLength=this.length*this.BYTES_PER_ELEMENT}if(this.byteOffset+this.byteLength>this.buffer.byteLength){throw new RangeError("byteOffset and length reference an area beyond the end of the buffer")}}else{throw new TypeError("Unexpected argument type(s)")}this.constructor=s;configureProperties(this);makeArrayAccessors(this)};s.prototype=new r;s.prototype.BYTES_PER_ELEMENT=t;s.prototype._pack=n;s.prototype._unpack=u;s.BYTES_PER_ELEMENT=t;s.prototype._getter=function(e){if(arguments.length<1)throw new SyntaxError("Not enough arguments");e=a.ToUint32(e);if(e>=this.length){return i}var r=[],t,n;for(t=0,n=this.byteOffset+e*this.BYTES_PER_ELEMENT;t=this.length){return i}var t=this._pack(r),n,u;for(n=0,u=this.byteOffset+e*this.BYTES_PER_ELEMENT;nthis.length){throw new RangeError("Offset plus length of array is out of range")}l=this.byteOffset+n*this.BYTES_PER_ELEMENT;c=t.length*this.BYTES_PER_ELEMENT;if(t.buffer===this.buffer){h=[];for(s=0,o=t.byteOffset;sthis.length){throw new RangeError("Offset plus length of array is out of range")}for(s=0;st?t:e}e=a.ToInt32(e);r=a.ToInt32(r);if(arguments.length<1){e=0}if(arguments.length<2){r=this.length}if(e<0){e=this.length+e}if(r<0){r=this.length+r}e=clamp(e,0,this.length);r=clamp(r,0,this.length);var t=r-e;if(t<0){t=0}return new this.constructor(this.buffer,this.byteOffset+e*this.BYTES_PER_ELEMENT,t)};return s}var n=makeConstructor(1,packI8,unpackI8);var u=makeConstructor(1,packU8,unpackU8);var s=makeConstructor(1,packU8Clamped,unpackU8);var o=makeConstructor(2,packI16,unpackI16);var f=makeConstructor(2,packU16,unpackU16);var l=makeConstructor(4,packI32,unpackI32);var c=makeConstructor(4,packU32,unpackU32);var h=makeConstructor(4,packF32,unpackF32);var p=makeConstructor(8,packF64,unpackF64);t.Int8Array=t.Int8Array||n;t.Uint8Array=t.Uint8Array||u;t.Uint8ClampedArray=t.Uint8ClampedArray||s;t.Int16Array=t.Int16Array||o;t.Uint16Array=t.Uint16Array||f;t.Int32Array=t.Int32Array||l;t.Uint32Array=t.Uint32Array||c;t.Float32Array=t.Float32Array||h;t.Float64Array=t.Float64Array||p})();(function(){function r(e,r){return a.IsCallable(e.get)?e.get(r):e[r]}var e=function(){var e=new t.Uint16Array([4660]),i=new t.Uint8Array(e.buffer);return r(i,0)===18}();var i=function DataView(e,r,i){if(arguments.length===0){e=new t.ArrayBuffer(0)}else if(!(e instanceof t.ArrayBuffer||a.Class(e)==="ArrayBuffer")){throw new TypeError("TypeError")}this.buffer=e||new t.ArrayBuffer(0);this.byteOffset=a.ToUint32(r);if(this.byteOffset>this.buffer.byteLength){throw new RangeError("byteOffset out of range")}if(arguments.length<3){this.byteLength=this.buffer.byteLength-this.byteOffset}else{this.byteLength=a.ToUint32(i)}if(this.byteOffset+this.byteLength>this.buffer.byteLength){throw new RangeError("byteOffset and length reference an area beyond the end of the buffer")}configureProperties(this)};function makeGetter(i){return function(n,u){n=a.ToUint32(n);if(n+i.BYTES_PER_ELEMENT>this.byteLength){throw new RangeError("Array index out of range")}n+=this.byteOffset;var s=new t.Uint8Array(this.buffer,n,i.BYTES_PER_ELEMENT),o=[],f;for(f=0;fthis.byteLength){throw new RangeError("Array index out of range")}var o=new i([u]),f=new t.Uint8Array(o.buffer),l=[],c,h;for(c=0;c=e.length?e.length:n+t;r.message+=` while parsing near '${i===0?"":"..."}${e.slice(i,a)}${a===e.length?"":"..."}'`}else{r.message+=` while parsing '${e.slice(0,t*2)}'`}throw r}}},,function(e){"use strict";e.exports=function isArrayish(e){if(!e){return false}return e instanceof Array||Array.isArray(e)||e.length>=0&&e.splice instanceof Function}},,,function(e){"use strict";e.exports=strikethrough;var r="~";var t=r+r;function strikethrough(e){return t+this.all(e).join("")+t}},,function(e,r,t){"use strict";var i=t(495);var n=t(704);var a=t(682);var u=t(839);var s=t(526);e.exports=i("remark-lint:no-heading-indent",noHeadingIndent);var o=u.start;function noHeadingIndent(e,r){var t=String(r);var i=t.length;a(e,"heading",visitor);function visitor(e){var a;var u;var f;var l;var c;if(s(e)){return}a=o(e);u=a.offset;f=u-1;while(++f-1&&t.charAt(i)!=="\n"){r.message("Missing newline character at end of file")}}},,,function(e,r,t){"use strict";var i=t(171);var n=t(111);e.exports=strikethrough;strikethrough.locator=n;var a="~";var u="~~";function strikethrough(e,r,t){var n=this;var s="";var o="";var f="";var l="";var c;var h;var p;if(!n.options.gfm||r.charAt(0)!==a||r.charAt(1)!==a||i(r.charAt(2))){return}c=1;h=r.length;p=e.now();p.column+=2;p.offset+=2;while(++c?@[\\\]^`{|}~_]/;function copy(e,r){var t=e.length;var u=r.length;var s=[];var o=0;var f=0;var l;while(f0){t=Math.min(10,Math.floor(t));f=" ".substr(0,t)}}else if(typeof t==="string"){f=t.substr(0,10)}return serializeProperty("",{"":e});function serializeProperty(e,r){var t=r[e];if(t!=null){if(typeof t.toJSON5==="function"){t=t.toJSON5(e)}else if(typeof t.toJSON==="function"){t=t.toJSON(e)}}if(o){t=o.call(r,e,t)}if(t instanceof Number){t=Number(t)}else if(t instanceof String){t=String(t)}else if(t instanceof Boolean){t=t.valueOf()}switch(t){case null:return"null";case true:return"true";case false:return"false"}if(typeof t==="string"){return quoteString(t,false)}if(typeof t==="number"){return String(t)}if((typeof t==="undefined"?"undefined":i(t))==="object"){return Array.isArray(t)?serializeArray(t):serializeObject(t)}return undefined}function quoteString(e){var r={"'":.1,'"':.2};var t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};var i="";var n=true;var a=false;var u=undefined;try{for(var s=e[Symbol.iterator](),o;!(n=(o=s.next()).done);n=true){var f=o.value;switch(f){case"'":case'"':r[f]++;i+=f;continue}if(t[f]){i+=t[f];continue}if(f<" "){var c=f.charCodeAt(0).toString(16);i+="\\x"+("00"+c).substring(c.length);continue}i+=f}}catch(e){a=true;u=e}finally{try{if(!n&&s.return){s.return()}}finally{if(a){throw u}}}var h=l||Object.keys(r).reduce(function(e,t){return r[e]=0){throw TypeError("Converting circular structure to JSON5")}n.push(e);var r=u;u=u+f;var t=s||Object.keys(e);var i=[];var a=true;var o=false;var l=undefined;try{for(var c=t[Symbol.iterator](),h;!(a=(h=c.next()).done);a=true){var p=h.value;var v=serializeProperty(p,e);if(v!==undefined){var d=serializeKey(p)+":";if(f!==""){d+=" "}d+=v;i.push(d)}}}catch(e){o=true;l=e}finally{try{if(!a&&c.return){c.return()}}finally{if(o){throw l}}}var D=void 0;if(i.length===0){D="{}"}else{var m=void 0;if(f===""){m=i.join(",");D="{"+m+"}"}else{var g=",\n"+u;m=i.join(g);D="{\n"+u+m+",\n"+r+"}"}}n.pop();u=r;return D}function serializeKey(e){if(e.length===0){return quoteString(e,true)}var r=String.fromCodePoint(e.codePointAt(0));if(!a.isIdStartChar(r)){return quoteString(e,true)}for(var t=r.length;t=0){throw TypeError("Converting circular structure to JSON5")}n.push(e);var r=u;u=u+f;var t=[];for(var i=0;i=n){return r.substr(0,n)}while(n>r.length&&i>1){if(i&1){r+=e}i>>=1;e+=e}r+=e;r=r.substr(0,n);return r}},,function(e,r,t){"use strict";var i=t(495);var n=t(839);var a=t(526);var u=t(186);var s=t(682);e.exports=i("remark-lint:no-duplicate-definitions",noDuplicateDefinitions);var o="Do not use definitions with the same identifier";function noDuplicateDefinitions(e,r){var t={};s(e,["definition","footnoteDefinition"],validate);function validate(e){var i;var s;if(!a(e)){i=e.identifier;s=t[i];if(s&&s.type){r.message(o+" ("+u(n.start(s))+")",e)}t[i]=e}}}},function(e){"use strict";e.exports=is;function is(e,r,t,i,n){var a=i!==null&&i!==undefined;var u=t!==null&&t!==undefined;var s=convert(e);if(u&&(typeof t!=="number"||t<0||t===Infinity)){throw new Error("Expected positive finite index or child node")}if(a&&(!is(null,i)||!i.children)){throw new Error("Expected parent node")}if(!r||!r.type||typeof r.type!=="string"){return false}if(a!==u){throw new Error("Expected both parent and index")}return Boolean(s.call(n,r,t,i))}function convert(e){if(typeof e==="string"){return typeFactory(e)}if(e===null||e===undefined){return ok}if(typeof e==="object"){return("length"in e?anyFactory:matchesFactory)(e)}if(typeof e==="function"){return e}throw new Error("Expected function, string, or object as test")}function convertAll(e){var r=[];var t=e.length;var i=-1;while(++i=u){v--;break}d+=g}D="";m="";while(++v{r=r||process.argv;const t=e.startsWith("-")?"":e.length===1?"-":"--";const i=r.indexOf(t+e);const n=r.indexOf("--");return i!==-1&&(n===-1?true:ie[t])e[t]=i});return e},[]);var u=map(e,function(e){return map(e,function(e,r){var t=String(e);if(i[r]==="."){var u=dotindex(t);var s=a[r]+(/\./.test(t)?1:2)-(n(t)-u);return t+Array(s).join(" ")}else return t})});var s=reduce(u,function(e,r){forEach(r,function(r,t){var i=n(r);if(!e[t]||i>e[t])e[t]=i});return e},[]);return map(u,function(e){return map(e,function(e,r){var t=s[r]-n(e)||0;var a=Array(Math.max(t+1,1)).join(" ");if(i[r]==="r"||i[r]==="."){return a+e}if(i[r]==="c"){return Array(Math.ceil(t/2+1)).join(" ")+e+Array(Math.floor(t/2+1)).join(" ")}return e+a}).join(t).replace(/\s+$/,"")}).join("\n")};function dotindex(e){var r=/\.[^.]*$/.exec(e);return r?r.index+1:e.length}function reduce(e,r,t){if(e.reduce)return e.reduce(r,t);var i=0;var n=arguments.length>=3?t:e[i++];for(;it&&a0?"add":"remove")+" "+Math.abs(h)+" "+n("space",h);r.message(p,s)}}}}},,,,,function(e,r,t){"use strict";var i=t(721);e.exports=decodeEntity;var n={}.hasOwnProperty;function decodeEntity(e){return n.call(i,e)?i[e]:false}},,function(e,r,t){"use strict";var i=t(336);var n=t(780);e.exports=unherit;function unherit(e){var r;var t;var a;n(Of,e);n(From,Of);r=Of.prototype;for(t in r){a=r[t];if(a&&typeof a==="object"){r[t]="concat"in a?a.concat():i(a)}}return Of;function From(r){return e.apply(this,r)}function Of(){if(!(this instanceof Of)){return new From(arguments)}return e.apply(this,arguments)}}},function(e){"use strict";const r=e=>{let r=false;let t=false;let i=false;for(let n=0;n{if(!(typeof e==="string"||Array.isArray(e))){throw new TypeError("Expected the input to be `string | string[]`")}t=Object.assign({pascalCase:false},t);const i=e=>t.pascalCase?e.charAt(0).toUpperCase()+e.slice(1):e;if(Array.isArray(e)){e=e.map(e=>e.trim()).filter(e=>e.length).join("-")}else{e=e.trim()}if(e.length===0){return""}if(e.length===1){return t.pascalCase?e.toUpperCase():e.toLowerCase()}const n=e!==e.toLowerCase();if(n){e=r(e)}e=e.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(e,r)=>r.toUpperCase()).replace(/\d+(\w|$)/g,e=>e.toUpperCase());return i(e)};e.exports=t;e.exports.default=t},,function(e,r,t){"use strict";var i=t(211);function resolveYamlMerge(e){return e==="<<"||e===null}e.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge})},function(e){"use strict";e.exports={gfm:true,commonmark:false,pedantic:false,entities:"false",setext:false,closeAtx:false,looseTable:false,spacedTable:true,paddedTable:true,stringLength:stringLength,incrementListMarker:true,fences:false,fence:"`",bullet:"-",listItemIndent:"tab",rule:"*",ruleSpaces:true,ruleRepetition:3,strong:"*",emphasis:"_"};function stringLength(e){return e.length}},function(e,r,t){"use strict";var i=t(197);var n=t(520);var a=t(439);var u=t(25);var s=t(908);var o=t(895);e.exports=parseEntities;var f={}.hasOwnProperty;var l=String.fromCharCode;var c=Function.prototype;var h={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:false,nonTerminated:true};var p="named";var v="hexadecimal";var d="decimal";var D={};D[v]=16;D[d]=10;var m={};m[p]=s;m[d]=a;m[v]=u;var g=1;var E=2;var A=3;var C=4;var y=5;var w=6;var x=7;var b={};b[g]="Named character references must be terminated by a semicolon";b[E]="Numeric character references must be terminated by a semicolon";b[A]="Named character references cannot be empty";b[C]="Numeric character references cannot be empty";b[y]="Named character references must be known";b[w]="Numeric character references cannot be disallowed";b[x]="Numeric character references cannot be outside the permissible Unicode range";function parseEntities(e,r){var t={};var i;var n;if(!r){r={}}for(n in h){i=r[n];t[n]=i===null||i===undefined?h[n]:i}if(t.position.indent||t.position.start){t.indent=t.position.indent||[];t.position=t.position.start}return parse(e,t)}function parse(e,r){var t=r.additional;var a=r.nonTerminated;var u=r.text;var h=r.reference;var F=r.warning;var S=r.textContext;var B=r.referenceContext;var k=r.warningContext;var O=r.position;var P=r.indent||[];var T=e.length;var I=0;var M=-1;var L=O.column||1;var R=O.line||1;var j="";var N=[];var U;var J;var z;var X;var q;var G;var _;var W;var V;var H;var Y;var $;var Z;var Q;var K;var ee;var re;var te;var ie;ee=now();W=F?parseError:c;I--;T++;while(++I65535){G-=65536;H+=l(G>>>(10&1023)|55296);G=56320|G&1023}G=H+l(G)}}if(!G){X=e.slice(Z-1,ie);j+=X;L+=X.length;I=ie-1}else{flush();ee=now();I=ie-1;L+=ie-Z+1;N.push(G);re=now();re.offset++;if(h){h.call(B,G,{start:ee,end:re},e.slice(Z-1,ie))}ee=re}}}return N.join("");function now(){return{line:R,column:L,offset:I+(O.offset||0)}}function parseError(e,r){var t=now();t.column+=r;t.offset+=r;F.call(k,b[e],t,e)}function at(r){return e.charAt(r)}function flush(){if(j){N.push(j);if(u){u.call(S,j,{start:ee,end:now()})}j=""}}}function prohibited(e){return e>=55296&&e<=57343||e>1114111}function disallowed(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534}},,,function(e,r,t){"use strict";var i=t(36);var n=t(116);var a=t(171);var u=t(82);e.exports=emphasis;emphasis.locator=u;var s="*";var o="_";var f="\\";function emphasis(e,r,t){var u=this;var l=0;var c=r.charAt(l);var h;var p;var v;var d;var D;var m;var g;if(c!==s&&c!==o){return}p=u.options.pedantic;D=c;v=c;m=r.length;l++;d="";c="";if(p&&a(r.charAt(l))){return}while(l0){if(typeof r!=="string"&&!a.objectMode&&Object.getPrototypeOf(r)!==f.prototype){r=_uint8ArrayToBuffer(r)}if(i){if(a.endEmitted)e.emit("error",new Error("stream.unshift() after end event"));else addChunk(e,a,r,true)}else if(a.ended){e.emit("error",new Error("stream.push() after EOF"))}else{a.reading=false;if(a.decoder&&!t){r=a.decoder.write(r);if(a.objectMode||r.length!==0)addChunk(e,a,r,false);else maybeReadMore(e,a)}else{addChunk(e,a,r,false)}}}else if(!i){a.reading=false}}return needMoreData(a)}function addChunk(e,r,t,i){if(r.flowing&&r.length===0&&!r.sync){e.emit("data",t);e.read(0)}else{r.length+=r.objectMode?1:t.length;if(i)r.buffer.unshift(t);else r.buffer.push(t);if(r.needReadable)emitReadable(e)}maybeReadMore(e,r)}function chunkInvalid(e,r){var t;if(!_isUint8Array(r)&&typeof r!=="string"&&r!==undefined&&!e.objectMode){t=new TypeError("Invalid non-string/buffer chunk")}return t}function needMoreData(e){return!e.ended&&(e.needReadable||e.length=g){e=g}else{e--;e|=e>>>1;e|=e>>>2;e|=e>>>4;e|=e>>>8;e|=e>>>16;e++}return e}function howMuchToRead(e,r){if(e<=0||r.length===0&&r.ended)return 0;if(r.objectMode)return 1;if(e!==e){if(r.flowing&&r.length)return r.buffer.head.data.length;else return r.length}if(e>r.highWaterMark)r.highWaterMark=computeNewHighWaterMark(e);if(e<=r.length)return e;if(!r.ended){r.needReadable=true;return 0}return r.length}Readable.prototype.read=function(e){p("read",e);e=parseInt(e,10);var r=this._readableState;var t=e;if(e!==0)r.emittedReadable=false;if(e===0&&r.needReadable&&(r.length>=r.highWaterMark||r.ended)){p("read: emitReadable",r.length,r.ended);if(r.length===0&&r.ended)endReadable(this);else emitReadable(this);return null}e=howMuchToRead(e,r);if(e===0&&r.ended){if(r.length===0)endReadable(this);return null}var i=r.needReadable;p("need readable",i);if(r.length===0||r.length-e0)n=fromList(e,r);else n=null;if(n===null){r.needReadable=true;e=0}else{r.length-=e}if(r.length===0){if(!r.ended)r.needReadable=true;if(t!==e&&r.ended)endReadable(this)}if(n!==null)this.emit("data",n);return n};function onEofChunk(e,r){if(r.ended)return;if(r.decoder){var t=r.decoder.end();if(t&&t.length){r.buffer.push(t);r.length+=r.objectMode?1:t.length}}r.ended=true;emitReadable(e)}function emitReadable(e){var r=e._readableState;r.needReadable=false;if(!r.emittedReadable){p("emitReadable",r.flowing);r.emittedReadable=true;if(r.sync)i.nextTick(emitReadable_,e);else emitReadable_(e)}}function emitReadable_(e){p("emit readable");e.emit("readable");flow(e)}function maybeReadMore(e,r){if(!r.readingMore){r.readingMore=true;i.nextTick(maybeReadMore_,e,r)}}function maybeReadMore_(e,r){var t=r.length;while(!r.reading&&!r.flowing&&!r.ended&&r.length1&&indexOf(n.pipes,e)!==-1)&&!f){p("false write response, pause",t._readableState.awaitDrain);t._readableState.awaitDrain++;l=true}t.pause()}}function onerror(r){p("onerror",r);unpipe();e.removeListener("error",onerror);if(s(e,"error")===0)e.emit("error",r)}prependListener(e,"error",onerror);function onclose(){e.removeListener("finish",onfinish);unpipe()}e.once("close",onclose);function onfinish(){p("onfinish");e.removeListener("close",onclose);unpipe()}e.once("finish",onfinish);function unpipe(){p("unpipe");t.unpipe(e)}e.emit("pipe",t);if(!n.flowing){p("pipe resume");t.resume()}return e};function pipeOnDrain(e){return function(){var r=e._readableState;p("pipeOnDrain",r.awaitDrain);if(r.awaitDrain)r.awaitDrain--;if(r.awaitDrain===0&&s(e,"data")){r.flowing=true;flow(e)}}}Readable.prototype.unpipe=function(e){var r=this._readableState;var t={hasUnpiped:false};if(r.pipesCount===0)return this;if(r.pipesCount===1){if(e&&e!==r.pipes)return this;if(!e)e=r.pipes;r.pipes=null;r.pipesCount=0;r.flowing=false;if(e)e.emit("unpipe",this,t);return this}if(!e){var i=r.pipes;var n=r.pipesCount;r.pipes=null;r.pipesCount=0;r.flowing=false;for(var a=0;a=r.length){if(r.decoder)t=r.buffer.join("");else if(r.buffer.length===1)t=r.buffer.head.data;else t=r.buffer.concat(r.length);r.buffer.clear()}else{t=fromListPartial(e,r.buffer,r.decoder)}return t}function fromListPartial(e,r,t){var i;if(ea.length?a.length:e;if(u===a.length)n+=a;else n+=a.slice(0,e);e-=u;if(e===0){if(u===a.length){++i;if(t.next)r.head=t.next;else r.head=r.tail=null}else{r.head=t;t.data=a.slice(u)}break}++i}r.length-=i;return n}function copyFromBuffer(e,r){var t=f.allocUnsafe(e);var i=r.head;var n=1;i.data.copy(t);e-=i.data.length;while(i=i.next){var a=i.data;var u=e>a.length?a.length:e;a.copy(t,t.length-e,0,u);e-=u;if(e===0){if(u===a.length){++n;if(i.next)r.head=i.next;else r.head=r.tail=null}else{r.head=i;i.data=a.slice(u)}break}++n}r.length-=n;return t}function endReadable(e){var r=e._readableState;if(r.length>0)throw new Error('"endReadable()" called on non-empty stream');if(!r.endEmitted){r.ended=true;i.nextTick(endReadableNT,r,e)}}function endReadableNT(e,r){if(!e.endEmitted&&e.length===0){e.endEmitted=true;r.readable=false;r.emit("end")}}function indexOf(e,r){for(var t=0,i=e.length;t=l){continue}y="";while(v=2){r.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}}catch(e){}r.inspectOpts=Object.keys(process.env).filter(function(e){return/^debug_/i.test(e)}).reduce(function(e,r){var t=r.substring(6).toLowerCase().replace(/_([a-z])/g,function(e,r){return r.toUpperCase()});var i=process.env[r];if(/^(yes|on|true|enabled)$/i.test(i)){i=true}else if(/^(no|off|false|disabled)$/i.test(i)){i=false}else if(i==="null"){i=null}else{i=Number(i)}e[t]=i;return e},{});function useColors(){return"colors"in r.inspectOpts?Boolean(r.inspectOpts.colors):i.isatty(process.stderr.fd)}function formatArgs(r){var t=this.namespace,i=this.useColors;if(i){var n=this.color;var a="[3"+(n<8?n:"8;5;"+n);var u=" ".concat(a,";1m").concat(t," ");r[0]=u+r[0].split("\n").join("\n"+u);r.push(a+"m+"+e.exports.humanize(this.diff)+"")}else{r[0]=getDate()+t+" "+r[0]}}function getDate(){if(r.inspectOpts.hideDate){return""}return(new Date).toISOString()+" "}function log(){return process.stderr.write(n.format.apply(n,arguments)+"\n")}function save(e){if(e){process.env.DEBUG=e}else{delete process.env.DEBUG}}function load(){return process.env.DEBUG}function init(e){e.inspectOpts={};var t=Object.keys(r.inspectOpts);for(var i=0;i=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},,,function(e){"use strict";e.exports=locate;function locate(e,r){var t=e.indexOf("[",r);var i=e.indexOf("![",r);if(i===-1){return t}return t1){u=Math.floor(u/f)*f}o[u]=a;s=e.charAt(++a)}return{indent:u,stops:o}}},function(e){"use strict";e.exports=locate;function locate(e,r){return e.indexOf("`",r)}},,,,,function(e){"use strict";e.exports=factory;function factory(e){var r=indices(String(e));return{toPosition:offsetToPositionFactory(r),toOffset:positionToOffsetFactory(r)}}function offsetToPositionFactory(e){return offsetToPosition;function offsetToPosition(r){var t=-1;var i=e.length;if(r<0){return{}}while(++tr){return{line:t+1,column:r-(e[t-1]||0)+1,offset:r}}}return{}}}function positionToOffsetFactory(e){return positionToOffset;function positionToOffset(r){var t=r&&r.line;var i=r&&r.column;if(!isNaN(t)&&!isNaN(i)&&t-1 in e){return(e[t-2]||0)+i-1||0}return-1}}function indices(e){var r=[];var t=e.indexOf("\n");while(t!==-1){r.push(t+1);t=e.indexOf("\n",t+1)}r.push(e.length+1);return r}},,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(526);var u=t(10);e.exports=i("remark-lint:no-inline-padding",noInlinePadding);function noInlinePadding(e,r){n(e,["emphasis","strong","delete","image","link"],visitor);function visitor(e){var t;if(!a(e)){t=u(e);if(t.charAt(0)===" "||t.charAt(t.length-1)===" "){r.message("Don’t pad `"+e.type+"` with inner spaces",e)}}}}},function(e){"use strict";e.exports=toString;function toString(e){return valueOf(e)||e.children&&e.children.map(toString).join("")||""}function valueOf(e){return(e&&e.value?e.value:e.alt?e.alt:e.title)||""}},,function(e){"use strict";if(!process.version||process.version.indexOf("v0.")===0||process.version.indexOf("v1.")===0&&process.version.indexOf("v1.8.")!==0){e.exports={nextTick:nextTick}}else{e.exports=process}function nextTick(e,r,t,i){if(typeof e!=="function"){throw new TypeError('"callback" argument must be a function')}var n=arguments.length;var a,u;switch(n){case 0:case 1:return process.nextTick(e);case 2:return process.nextTick(function afterTickOne(){e.call(null,r)});case 3:return process.nextTick(function afterTickTwo(){e.call(null,r,t)});case 4:return process.nextTick(function afterTickThree(){e.call(null,r,t,i)});default:a=new Array(n-1);u=0;while(u=97&&r<=102||r>=65&&r<=70||r>=48&&r<=57}},,function(e,r,t){"use strict";var i=t(431);function homedir(){var e=process.env;var r=e.HOME;var t=e.LOGNAME||e.USER||e.LNAME||e.USERNAME;if(process.platform==="win32"){return e.USERPROFILE||e.HOMEDRIVE+e.HOMEPATH||r||null}if(process.platform==="darwin"){return r||(t?"/Users/"+t:null)}if(process.platform==="linux"){return r||(process.getuid()===0?"/root":t?"/home/"+t:null)}return r||null}e.exports=typeof i.homedir==="function"?i.homedir:homedir},,,,,,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(270);var u=t(704);var s=t(839);var o=t(526);e.exports=i("remark-lint:no-heading-content-indent",noHeadingContentIndent);var f=s.start;var l=s.end;function noHeadingContentIndent(e,r){var t=String(r);n(e,"heading",visitor);function visitor(e){var i;var n;var s;var c;var h;var p;var v;var d;var D;var m;if(o(e)){return}i=e.depth;n=e.children;s=a(e,"atx");if(s==="atx"||s==="atx-closed"){h=f(e);d=h.offset;D=t.charAt(d);while(D&&D!=="#"){D=t.charAt(++d)}if(!D){return}d=i+(d-h.offset);c=f(n[0]).column;if(!c){return}v=c-h.column-1-d;if(v){m=(v>0?"Remove":"Add")+" "+Math.abs(v)+" "+u("space",v)+" before this heading’s content";r.message(m,f(n[0]))}}if(s==="atx-closed"){p=l(n[n.length-1]);v=l(e).column-p.column-1-i;if(v){m="Remove "+v+" "+u("space",v)+" after this heading’s content";r.message(m,p)}}}}},function(e,r,t){"use strict";var i=t(336);var n=t(440);var a=t(901);var u=t(360);var s=t(315);e.exports=setOptions;var o={entities:{true:true,false:true,numbers:true,escape:true},bullet:{"*":true,"-":true,"+":true},rule:{"-":true,_:true,"*":true},listItemIndent:{tab:true,mixed:true,1:true},emphasis:{_:true,"*":true},strong:{_:true,"*":true},fence:{"`":true,"~":true}};var f={boolean:validateBoolean,string:validateString,number:validateNumber,function:validateFunction};function setOptions(e){var r=this;var t=r.options;var n;var s;if(e==null){e={}}else if(typeof e==="object"){e=i(e)}else{throw new Error("Invalid value `"+e+"` for setting `options`")}for(s in a){f[typeof a[s]](e,s,t[s],o[s])}n=e.ruleRepetition;if(n&&n<3){raise(n,"options.ruleRepetition")}r.encode=encodeFactory(String(e.entities));r.escape=u(e);r.options=e;return r}function validateBoolean(e,r,t){var i=e[r];if(i==null){i=t}if(typeof i!=="boolean"){raise(i,"options."+r)}e[r]=i}function validateNumber(e,r,t){var i=e[r];if(i==null){i=t}if(isNaN(i)){raise(i,"options."+r)}e[r]=i}function validateString(e,r,t,i){var n=e[r];if(n==null){n=t}n=String(n);if(!(n in i)){raise(n,"options."+r)}e[r]=n}function validateFunction(e,r,t){var i=e[r];if(i==null){i=t}if(typeof i!=="function"){raise(i,"options."+r)}e[r]=i}function encodeFactory(e){var r={};if(e==="false"){return s}if(e==="true"){r.useNamedReferences=true}if(e==="escape"){r.escapeOnly=true;r.useNamedReferences=true}return wrapped;function wrapped(e){return n(e,r)}}function raise(e,r){throw new Error("Invalid value `"+e+"` for setting `"+r+"`")}},,function(e,r){r=e.exports=trim;function trim(e){return e.replace(/^\s*|\s*$/g,"")}r.left=function(e){return e.replace(/^\s*/,"")};r.right=function(e){return e.replace(/\s*$/,"")}},function(e,r,t){"use strict";var i=t(814);e.exports=thematic;var n=" ";function thematic(){var e=this.options;var r=i(e.rule,e.ruleRepetition);return e.ruleSpaces?r.split("").join(n):r}},,,,,function(e,r,t){"use strict";var i=t(315);e.exports=enter;function enter(e,r){var t=e.encode;var n=e.escape;var a=e.enterLink();if(r.referenceType!=="shortcut"&&r.referenceType!=="collapsed"){return a}e.escape=i;e.encode=i;return exit;function exit(){e.encode=t;e.escape=n;a()}}},function(e,r,t){"use strict";var i=t(727);e.exports=new i({include:[t(234)],implicit:[t(633),t(843),t(981),t(702)]})},function(e,r,t){"use strict";var i=t(36);var n=t(814);var a=t(439);var u=t(1);var s=t(235);var o=t(724);e.exports=list;var f="*";var l="_";var c="+";var h="-";var p=".";var v=" ";var d="\n";var D="\t";var m=")";var g="x";var E=4;var A=/\n\n(?!\s*$)/;var C=/^\[([ \t]|x|X)][ \t]/;var y=/^([ \t]*)([*+-]|\d+[.)])( {1,4}(?! )| |\t|$|(?=\n))([^\n]*)/;var w=/^([ \t]*)([*+-]|\d+[.)])([ \t]+)/;var x=/^( {1,4}|\t)?/gm;function list(e,r,t){var n=this;var u=n.options.commonmark;var s=n.options.pedantic;var g=n.blockTokenizers;var A=n.interruptList;var C=0;var y=r.length;var w=null;var x=0;var b;var F;var S;var B;var k;var O;var P;var T;var I;var M;var L;var R;var j;var N;var U;var J;var z;var X;var q=false;var G;var _;var W;var V;while(C=E){return}S=r.charAt(C);if(S===f||S===c||S===h){B=S;F=false}else{F=true;b="";while(C=E){V=true}if(J&&x>=J.indent){V=true}S=r.charAt(C);T=null;if(!V){if(S===f||S===c||S===h){T=S;C++;x++}else{b="";while(C=J.indent||x>E}P=false;C=O}M=r.slice(O,k);I=O===C?M:r.slice(C,k);if(T===f||T===l||T===h){if(g.thematicBreak.call(n,e,M,true)){break}}L=R;R=!P&&!i(I).length;if(V&&J){J.value=J.value.concat(U,M);N=N.concat(U,M);U=[]}else if(P){if(U.length!==0){q=true;J.value.push("");J.trail=U.concat()}J={value:[M],indent:x,trail:[]};j.push(J);N=N.concat(U,M);U=[]}else if(R){if(L&&!u){break}U.push(M)}else{if(L){break}if(o(A,g,n,[e,M,true])){break}J.value=J.value.concat(U,M);N=N.concat(U,M);U=[]}C=k+1}G=e(N.join(d)).reset({type:"list",ordered:F,start:w,spread:q,children:[]});z=n.enterList();X=n.enterBlock();C=-1;y=j.length;while(++C1){r.message(s,e)}}}},function(e){e.exports=function isBuffer(e){return e!=null&&e.constructor!=null&&typeof e.constructor.isBuffer==="function"&&e.constructor.isBuffer(e)}},,,,,,,,function(e){e.exports=require("util")},function(e,r,t){"use strict";var i=t(727);e.exports=i.DEFAULT=new i({include:[t(388)],explicit:[t(875),t(555),t(329)]})},function(e){e.exports=require("fs")},function(e){"use strict";e.exports=function(e){if(typeof e!=="string"){throw new TypeError("Expected a string")}return!/[^0-9a-z\xDF-\xFF]/.test(e.toLowerCase())}},,,,,function(e,r,t){"use strict";var i=t(495);var n=t(7);e.exports=i("remark-lint:no-tabs",noTabs);var a="Use spaces instead of hard-tabs";function noTabs(e,r){var t=String(r);var i=n(r).toPosition;var u=t.indexOf("\t");while(u!==-1){r.message(a,i(u));u=t.indexOf("\t",u+1)}}},function(e){function webpackEmptyContext(e){var r=new Error("Cannot find module '"+e+"'");r.code="MODULE_NOT_FOUND";throw r}webpackEmptyContext.keys=function(){return[]};webpackEmptyContext.resolve=webpackEmptyContext;e.exports=webpackEmptyContext;webpackEmptyContext.id=73},function(e,r,t){"use strict";var i=t(864);var n=t(97);var a=t(503);var u=t(123);var s=t(340);var o=t(951);e.exports=unified().freeze();var f=[].slice;var l={}.hasOwnProperty;var c=u().use(pipelineParse).use(pipelineRun).use(pipelineStringify);function pipelineParse(e,r){r.tree=e.parse(r.file)}function pipelineRun(e,r,t){e.run(r.tree,r.file,done);function done(e,i,n){if(e){t(e)}else{r.tree=i;r.file=n;t()}}}function pipelineStringify(e,r){r.file.contents=e.stringify(r.tree,r.file)}function unified(){var e=[];var r=u();var t={};var h=false;var p=-1;processor.data=data;processor.freeze=freeze;processor.attachers=e;processor.use=use;processor.parse=parse;processor.stringify=stringify;processor.run=run;processor.runSync=runSync;processor.process=process;processor.processSync=processSync;return processor;function processor(){var r=unified();var n=e.length;var a=-1;while(++a{if(typeof e!=="string"){throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof e}\``)}if(typeof r!=="string"){throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof r}\``)}try{e=a.realpathSync(e)}catch(r){if(r.code==="ENOENT"){e=i.resolve(e)}else if(t){return null}else{throw r}}const u=i.join(e,"noop.js");const s=()=>n._resolveFilename(r,{id:u,filename:u,paths:n._nodeModulePaths(e)});if(t){try{return s()}catch(e){return null}}return s()};e.exports=((e,r)=>u(e,r));e.exports.silent=((e,r)=>u(e,r,true))},,function(e,r,t){"use strict";var i=t(347)("unified-engine:file-pipeline:configure");var n=t(928);var a=t(623);var u=t(692);var s=t(876);e.exports=configure;function configure(e,r,t,o){var f=e.configuration;var l=e.processor;if(n(r).fatal){return o()}f.load(r.path,handleConfiguration);function handleConfiguration(e,r){var n;var f;var c;var h;var p;var v;if(e){return o(e)}i("Using settings `%j`",r.settings);l.data("settings",r.settings);n=r.plugins;h=n.length;p=-1;i("Using `%d` plugins",h);while(++p>10)+55296,(e-65536&1023)+56320)}var C=new Array(256);var y=new Array(256);for(var w=0;w<256;w++){C[w]=simpleEscapeSequence(w)?1:0;y[w]=simpleEscapeSequence(w)}function State(e,r){this.input=e;this.filename=r["filename"]||null;this.schema=r["schema"]||s;this.onWarning=r["onWarning"]||null;this.legacy=r["legacy"]||false;this.json=r["json"]||false;this.listener=r["listener"]||null;this.implicitTypes=this.schema.compiledImplicit;this.typeMap=this.schema.compiledTypeMap;this.length=e.length;this.position=0;this.line=0;this.lineStart=0;this.lineIndent=0;this.documents=[]}function generateError(e,r){return new n(r,new a(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function throwError(e,r){throw generateError(e,r)}function throwWarning(e,r){if(e.onWarning){e.onWarning.call(null,generateError(e,r))}}var x={YAML:function handleYamlDirective(e,r,t){var i,n,a;if(e.version!==null){throwError(e,"duplication of %YAML directive")}if(t.length!==1){throwError(e,"YAML directive accepts exactly one argument")}i=/^([0-9]+)\.([0-9]+)$/.exec(t[0]);if(i===null){throwError(e,"ill-formed argument of the YAML directive")}n=parseInt(i[1],10);a=parseInt(i[2],10);if(n!==1){throwError(e,"unacceptable YAML version of the document")}e.version=t[0];e.checkLineBreaks=a<2;if(a!==1&&a!==2){throwWarning(e,"unsupported YAML version of the document")}},TAG:function handleTagDirective(e,r,t){var i,n;if(t.length!==2){throwError(e,"TAG directive accepts exactly two arguments")}i=t[0];n=t[1];if(!E.test(i)){throwError(e,"ill-formed tag handle (first argument) of the TAG directive")}if(o.call(e.tagMap,i)){throwError(e,'there is a previously declared suffix for "'+i+'" tag handle')}if(!A.test(n)){throwError(e,"ill-formed tag prefix (second argument) of the TAG directive")}e.tagMap[i]=n}};function captureSegment(e,r,t,i){var n,a,u,s;if(r1){e.result+=i.repeat("\n",r-1)}}function readPlainScalar(e,r,t){var i,n,a,u,s,o,f,l,c=e.kind,h=e.result,p;p=e.input.charCodeAt(e.position);if(is_WS_OR_EOL(p)||is_FLOW_INDICATOR(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96){return false}if(p===63||p===45){n=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(n)||t&&is_FLOW_INDICATOR(n)){return false}}e.kind="scalar";e.result="";a=u=e.position;s=false;while(p!==0){if(p===58){n=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(n)||t&&is_FLOW_INDICATOR(n)){break}}else if(p===35){i=e.input.charCodeAt(e.position-1);if(is_WS_OR_EOL(i)){break}}else if(e.position===e.lineStart&&testDocumentSeparator(e)||t&&is_FLOW_INDICATOR(p)){break}else if(is_EOL(p)){o=e.line;f=e.lineStart;l=e.lineIndent;skipSeparationSpace(e,false,-1);if(e.lineIndent>=r){s=true;p=e.input.charCodeAt(e.position);continue}else{e.position=u;e.line=o;e.lineStart=f;e.lineIndent=l;break}}if(s){captureSegment(e,a,u,false);writeFoldedLines(e,e.line-o);a=u=e.position;s=false}if(!is_WHITE_SPACE(p)){u=e.position+1}p=e.input.charCodeAt(++e.position)}captureSegment(e,a,u,false);if(e.result){return true}e.kind=c;e.result=h;return false}function readSingleQuotedScalar(e,r){var t,i,n;t=e.input.charCodeAt(e.position);if(t!==39){return false}e.kind="scalar";e.result="";e.position++;i=n=e.position;while((t=e.input.charCodeAt(e.position))!==0){if(t===39){captureSegment(e,i,e.position,true);t=e.input.charCodeAt(++e.position);if(t===39){i=e.position;e.position++;n=e.position}else{return true}}else if(is_EOL(t)){captureSegment(e,i,n,true);writeFoldedLines(e,skipSeparationSpace(e,false,r));i=n=e.position}else if(e.position===e.lineStart&&testDocumentSeparator(e)){throwError(e,"unexpected end of the document within a single quoted scalar")}else{e.position++;n=e.position}}throwError(e,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(e,r){var t,i,n,a,u,s;s=e.input.charCodeAt(e.position);if(s!==34){return false}e.kind="scalar";e.result="";e.position++;t=i=e.position;while((s=e.input.charCodeAt(e.position))!==0){if(s===34){captureSegment(e,t,e.position,true);e.position++;return true}else if(s===92){captureSegment(e,t,e.position,true);s=e.input.charCodeAt(++e.position);if(is_EOL(s)){skipSeparationSpace(e,false,r)}else if(s<256&&C[s]){e.result+=y[s];e.position++}else if((u=escapedHexLen(s))>0){n=u;a=0;for(;n>0;n--){s=e.input.charCodeAt(++e.position);if((u=fromHexCode(s))>=0){a=(a<<4)+u}else{throwError(e,"expected hexadecimal character")}}e.result+=charFromCodepoint(a);e.position++}else{throwError(e,"unknown escape sequence")}t=i=e.position}else if(is_EOL(s)){captureSegment(e,t,i,true);writeFoldedLines(e,skipSeparationSpace(e,false,r));t=i=e.position}else if(e.position===e.lineStart&&testDocumentSeparator(e)){throwError(e,"unexpected end of the document within a double quoted scalar")}else{e.position++;i=e.position}}throwError(e,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(e,r){var t=true,i,n=e.tag,a,u=e.anchor,s,o,l,c,h,p={},v,d,D,m;m=e.input.charCodeAt(e.position);if(m===91){o=93;h=false;a=[]}else if(m===123){o=125;h=true;a={}}else{return false}if(e.anchor!==null){e.anchorMap[e.anchor]=a}m=e.input.charCodeAt(++e.position);while(m!==0){skipSeparationSpace(e,true,r);m=e.input.charCodeAt(e.position);if(m===o){e.position++;e.tag=n;e.anchor=u;e.kind=h?"mapping":"sequence";e.result=a;return true}else if(!t){throwError(e,"missed comma between flow collection entries")}d=v=D=null;l=c=false;if(m===63){s=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(s)){l=c=true;e.position++;skipSeparationSpace(e,true,r)}}i=e.line;composeNode(e,r,f,false,true);d=e.tag;v=e.result;skipSeparationSpace(e,true,r);m=e.input.charCodeAt(e.position);if((c||e.line===i)&&m===58){l=true;m=e.input.charCodeAt(++e.position);skipSeparationSpace(e,true,r);composeNode(e,r,f,false,true);D=e.result}if(h){storeMappingPair(e,a,p,d,v,D)}else if(l){a.push(storeMappingPair(e,null,p,d,v,D))}else{a.push(v)}skipSeparationSpace(e,true,r);m=e.input.charCodeAt(e.position);if(m===44){t=true;m=e.input.charCodeAt(++e.position)}else{t=false}}throwError(e,"unexpected end of the stream within a flow collection")}function readBlockScalar(e,r){var t,n,a=p,u=false,s=false,o=r,f=0,l=false,c,h;h=e.input.charCodeAt(e.position);if(h===124){n=false}else if(h===62){n=true}else{return false}e.kind="scalar";e.result="";while(h!==0){h=e.input.charCodeAt(++e.position);if(h===43||h===45){if(p===a){a=h===43?d:v}else{throwError(e,"repeat of a chomping mode identifier")}}else if((c=fromDecimalCode(h))>=0){if(c===0){throwError(e,"bad explicit indentation width of a block scalar; it cannot be less than one")}else if(!s){o=r+c-1;s=true}else{throwError(e,"repeat of an indentation width identifier")}}else{break}}if(is_WHITE_SPACE(h)){do{h=e.input.charCodeAt(++e.position)}while(is_WHITE_SPACE(h));if(h===35){do{h=e.input.charCodeAt(++e.position)}while(!is_EOL(h)&&h!==0)}}while(h!==0){readLineBreak(e);e.lineIndent=0;h=e.input.charCodeAt(e.position);while((!s||e.lineIndento){o=e.lineIndent}if(is_EOL(h)){f++;continue}if(e.lineIndentr)&&o!==0){throwError(e,"bad indentation of a sequence entry")}else if(e.lineIndentr){if(composeNode(e,r,h,true,n)){if(D){v=e.result}else{d=e.result}}if(!D){storeMappingPair(e,f,c,p,v,d,a,u);p=v=d=null}skipSeparationSpace(e,true,-1);g=e.input.charCodeAt(e.position)}if(e.lineIndent>r&&g!==0){throwError(e,"bad indentation of a mapping entry")}else if(e.lineIndentr){p=1}else if(e.lineIndent===r){p=0}else if(e.lineIndentr){p=1}else if(e.lineIndent===r){p=0}else if(e.lineIndent tag; it should be "'+g.kind+'", not "'+e.kind+'"')}if(!g.resolve(e.result)){throwError(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}else{e.result=g.construct(e.result);if(e.anchor!==null){e.anchorMap[e.anchor]=e.result}}}else{throwError(e,"unknown tag !<"+e.tag+">")}}if(e.listener!==null){e.listener("close",e)}return e.tag!==null||e.anchor!==null||d}function readDocument(e){var r=e.position,t,i,n,a=false,u;e.version=null;e.checkLineBreaks=e.legacy;e.tagMap={};e.anchorMap={};while((u=e.input.charCodeAt(e.position))!==0){skipSeparationSpace(e,true,-1);u=e.input.charCodeAt(e.position);if(e.lineIndent>0||u!==37){break}a=true;u=e.input.charCodeAt(++e.position);t=e.position;while(u!==0&&!is_WS_OR_EOL(u)){u=e.input.charCodeAt(++e.position)}i=e.input.slice(t,e.position);n=[];if(i.length<1){throwError(e,"directive name must not be less than one character in length")}while(u!==0){while(is_WHITE_SPACE(u)){u=e.input.charCodeAt(++e.position)}if(u===35){do{u=e.input.charCodeAt(++e.position)}while(u!==0&&!is_EOL(u));break}if(is_EOL(u))break;t=e.position;while(u!==0&&!is_WS_OR_EOL(u)){u=e.input.charCodeAt(++e.position)}n.push(e.input.slice(t,e.position))}if(u!==0)readLineBreak(e);if(o.call(x,i)){x[i](e,i,n)}else{throwWarning(e,'unknown document directive "'+i+'"')}}skipSeparationSpace(e,true,-1);if(e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45){e.position+=3;skipSeparationSpace(e,true,-1)}else if(a){throwError(e,"directives end mark is expected")}composeNode(e,e.lineIndent-1,h,false,true);skipSeparationSpace(e,true,-1);if(e.checkLineBreaks&&m.test(e.input.slice(r,e.position))){throwWarning(e,"non-ASCII line breaks are interpreted as content")}e.documents.push(e.result);if(e.position===e.lineStart&&testDocumentSeparator(e)){if(e.input.charCodeAt(e.position)===46){e.position+=3;skipSeparationSpace(e,true,-1)}return}if(e.position output."+t,""," # Rewrite all applicable files"," $ "+i+" . -o"].join("\n");return{helpMessage:u,cwd:r.cwd,processor:r.processor,help:n.help,version:n.version,files:n._,watch:n.watch,extensions:l.length?l:r.extensions,output:n.output,out:n.stdout,tree:n.tree,treeIn:n.treeIn,treeOut:n.treeOut,inspect:n.inspect,rcName:r.rcName,packageField:r.packageField,rcPath:n.rcPath,detectConfig:n.config,settings:settings(n.setting),ignoreName:r.ignoreName,ignorePath:n.ignorePath,detectIgnore:n.ignore,pluginPrefix:r.pluginPrefix,plugins:plugins(n.use),reporter:c[0],reporterOptions:c[1],color:n.color,silent:n.silent,quiet:n.quiet,frail:n.frail}}function addEach(e){var r=e.default;f.default[e.long]=r===undefined?null:r;if(e.type in f){f[e.type].push(e.long)}if(e.short){f.alias[e.short]=e.long}}function extensions(e){return flatten(normalize(e).map(splitList))}function plugins(e){var r={};normalize(e).map(splitOptions).forEach(function(e){r[e[0]]=e[1]?parseConfig(e[1],{}):null});return r}function reporter(e){var r=normalize(e).map(splitOptions).map(function(e){return[e[0],e[1]?parseConfig(e[1],{}):null]});return r[r.length-1]||[]}function settings(e){var r={};normalize(e).forEach(function(e){parseConfig(e,r)});return r}function parseConfig(e,r){var t;var i;try{e=toCamelCase(parseJSON(e))}catch(r){i=r.message.replace(/at(?= position)/,"around");throw s("Cannot parse `%s` as JSON: %s",e,i)}for(t in e){r[t]=e[t]}return r}function handleUnknownArgument(e){if(e.charAt(0)!=="-"){return}if(e.charAt(1)==="-"){throw s("Unknown option `%s`, expected:\n%s",e,inspectAll(o))}e.slice(1).split("").forEach(each);function each(e){var r=o.length;var t=-1;var i;while(++t=2,has16m:e>=3}}function supportsColor(e){if(u===false){return 0}if(n("color=16m")||n("color=full")||n("color=truecolor")){return 3}if(n("color=256")){return 2}if(e&&!e.isTTY&&u!==true){return 0}const r=u?1:0;if(process.platform==="win32"){const e=i.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586){return Number(e[2])>=14931?3:2}return 1}if("CI"in a){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in a)||a.CI_NAME==="codeship"){return 1}return r}if("TEAMCITY_VERSION"in a){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(a.TEAMCITY_VERSION)?1:0}if(a.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in a){const e=parseInt((a.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(a.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(a.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(a.TERM)){return 1}if("COLORTERM"in a){return 1}if(a.TERM==="dumb"){return r}return r}function getSupportLevel(e){const r=supportsColor(e);return translateLevel(r)}e.exports={supportsColor:getSupportLevel,stdout:getSupportLevel(process.stdout),stderr:getSupportLevel(process.stderr)}},,,function(e,r,t){"use strict";var i=t(347)("unified-engine:file-pipeline:queue");var n=t(928);e.exports=queue;function queue(e,r,t,a){var u=r.history[0];var s=t.complete;var o=true;if(!s){s={};t.complete=s}i("Queueing `%s`",u);s[u]=a;t.valueOf().forEach(each);if(!o){i("Not flushing: some files cannot be flushed");return}t.complete={};t.pipeline.run(t,done);function each(e){var r=e.history[0];if(n(e).fatal){return}if(typeof s[r]==="function"){i("`%s` can be flushed",r)}else{i("Interupting flush: `%s` is not finished",r);o=false}}function done(e){i("Flushing: all files can be flushed");for(u in s){s[u](e)}}}},function(e,r,t){"use strict";var i=t(171);var n=t(426);e.exports=definition;definition.notInList=true;definition.notInBlock=true;var a='"';var u="'";var s="\\";var o="\n";var f="\t";var l=" ";var c="[";var h="]";var p="(";var v=")";var d=":";var D="<";var m=">";function definition(e,r,t){var i=this;var m=i.options.commonmark;var g=0;var E=r.length;var A="";var C;var y;var w;var x;var b;var F;var S;var B;while(g"];var t=r.concat(["~","|"]);var i=t.concat(["\n",'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);escapes.default=r;escapes.gfm=t;escapes.commonmark=i;function escapes(e){var n=e||{};if(n.commonmark){return i}return n.gfm?t:r}},,function(e){"use strict";e.exports=locate;function locate(e,r){return e.indexOf("~~",r)}},function(e,r,t){"use strict";var i=t(495);var n=t(7);var a=t(682);var u=t(839);var s=t(526);e.exports=i("remark-lint:checkbox-character-style",checkboxCharacterStyle);var o=u.start;var f=u.end;var l={x:true,X:true};var c={" ":true,"\t":true};var h={true:"checked",false:"unchecked"};function checkboxCharacterStyle(e,r,t){var i=String(r);var u=n(r);t=typeof t==="object"?t:{};if(t.unchecked&&c[t.unchecked]!==true){r.fail("Invalid unchecked checkbox marker `"+t.unchecked+"`: use either `'\\t'`, or `' '`")}if(t.checked&&l[t.checked]!==true){r.fail("Invalid checked checkbox marker `"+t.checked+"`: use either `'x'`, or `'X'`")}a(e,"listItem",visitor);function visitor(e){var n;var a;var l;var c;var p;var v;var d;if(typeof e.checked!=="boolean"||s(e)){return}n=h[e.checked];a=o(e).offset;l=(e.children.length===0?f(e):o(e.children[0])).offset;c=i.slice(a,l).trimRight().slice(0,-1);v=c.charAt(c.length-1);p=t[n];if(p){if(v!==p){d=n.charAt(0).toUpperCase()+n.slice(1)+" checkboxes should use `"+p+"` as a marker";r.message(d,{start:u.toPosition(a+c.length-1),end:u.toPosition(a+c.length)})}}else{t[n]=v}}}},,,,function(e){"use strict";e.exports=wordCharacter;var r=String.fromCharCode;var t=/\w/;function wordCharacter(e){return t.test(typeof e==="number"?r(e):e.charAt(0))}},,,,,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(526);e.exports=i("remark-lint:no-shortcut-reference-image",noShortcutReferenceImage);var u="Use the trailing [] on reference images";function noShortcutReferenceImage(e,r){n(e,"imageReference",visitor);function visitor(e){if(!a(e)&&e.referenceType==="shortcut"){r.message(u,e)}}}},,function(e,r,t){"use strict";var i=t(335);e.exports=trough;trough.wrap=i;var n=[].slice;function trough(){var e=[];var r={};r.run=run;r.use=use;return r;function run(){var r=-1;var t=n.call(arguments,0,-1);var a=arguments[arguments.length-1];if(typeof a!=="function"){throw new Error("Expected function as last argument, not "+a)}next.apply(null,[null].concat(t));function next(u){var s=e[++r];var o=n.call(arguments,0);var f=o.slice(1);var l=t.length;var c=-1;if(u){a(u);return}while(++c"){break}if(v!==" "&&v!=="\t"){r.message(o,d);break}}}}}},,function(e,r,t){e.exports=realpath;realpath.realpath=realpath;realpath.sync=realpathSync;realpath.realpathSync=realpathSync;realpath.monkeypatch=monkeypatch;realpath.unmonkeypatch=unmonkeypatch;var i=t(66);var n=i.realpath;var a=i.realpathSync;var u=process.version;var s=/^v[0-5]\./.test(u);var o=t(544);function newError(e){return e&&e.syscall==="realpath"&&(e.code==="ELOOP"||e.code==="ENOMEM"||e.code==="ENAMETOOLONG")}function realpath(e,r,t){if(s){return n(e,r,t)}if(typeof r==="function"){t=r;r=null}n(e,r,function(i,n){if(newError(i)){o.realpath(e,r,t)}else{t(i,n)}})}function realpathSync(e,r){if(s){return a(e,r)}try{return a(e,r)}catch(t){if(newError(t)){return o.realpathSync(e,r)}else{throw t}}}function monkeypatch(){i.realpath=realpath;i.realpathSync=realpathSync}function unmonkeypatch(){i.realpath=n;i.realpathSync=a}},,,,,,function(e){"use strict";var r={}.hasOwnProperty;e.exports=stringify;function stringify(e){if(!e||typeof e!=="object"){return""}if(r.call(e,"position")||r.call(e,"type")){return position(e.position)}if(r.call(e,"start")||r.call(e,"end")){return position(e)}if(r.call(e,"line")||r.call(e,"column")){return point(e)}return""}function point(e){if(!e||typeof e!=="object"){e={}}return index(e.line)+":"+index(e.column)}function position(e){if(!e||typeof e!=="object"){e={}}return point(e.start)+"-"+point(e.end)}function index(e){return e&&typeof e==="number"?e:1}},,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(839);var u=t(526);e.exports=i("remark-lint:fenced-code-flag",fencedCodeFlag);var s=a.start;var o=a.end;var f=/^ {0,3}([~`])\1{2,}/;var l="Invalid code-language flag";var c="Missing code-language flag";function fencedCodeFlag(e,r,t){var i=String(r);var a=false;var h=[];if(typeof t==="object"&&!("length"in t)){a=Boolean(t.allowEmpty);t=t.flags}if(typeof t==="object"&&"length"in t){h=String(t).split(",")}n(e,"code",visitor);function visitor(e){var t;if(!u(e)){if(e.lang){if(h.length!==0&&h.indexOf(e.lang)===-1){r.message(l,e)}}else{t=i.slice(s(e).offset,o(e).offset);if(!a&&f.test(t)){r.message(c,e)}}}}}},function(e){"use strict";e.exports=alphabetical;function alphabetical(e){var r=typeof e==="string"?e.charCodeAt(0):e;return r>=97&&r<=122||r>=65&&r<=90}},function(e){"use strict";e.exports=locate;var r=["https://","http://","mailto:"];function locate(e,t){var i=r.length;var n=-1;var a=-1;var u;if(!this.options.gfm){return-1}while(++na){i[n-a]=e[n]}return i}},,,,,,,,,function(e,r,t){"use strict";var i=t(211);var n=Object.prototype.hasOwnProperty;var a=Object.prototype.toString;function resolveYamlOmap(e){if(e===null)return true;var r=[],t,i,u,s,o,f=e;for(t=0,i=f.length;t-1){a.splice(u,1)}var s=t;a.forEach(function _buildSubObj(e,t){if(!e||typeof s!=="object")return;if(t===a.length-1)s[e]=r[n];if(s[e]===undefined)s[e]={};s=s[e]})}}return t};var c=r.find=function(){var e=a.join.apply(null,[].slice.call(arguments));function find(e,r){var t=a.join(e,r);try{i.statSync(t);return t}catch(t){if(a.dirname(e)!==e)return find(a.dirname(e),r)}}return find(process.cwd(),e)}},,,,function(e,r,t){"use strict";const i=t(202);const n=t(751);const a=i("JSONError",{fileName:i.append("in %s")});e.exports=((e,r,t)=>{if(typeof r==="string"){t=r;r=null}try{try{return JSON.parse(e,r)}catch(t){n(e,r);throw t}}catch(e){e.message=e.message.replace(/\n/g,"");const r=new a(e);if(t){r.fileName=t}throw r}})},function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(839);var u=t(526);e.exports=i("remark-lint:maximum-line-length",maximumLineLength);var s=a.start;var o=a.end;function maximumLineLength(e,r,t){var i=typeof t==="number"&&!isNaN(t)?t:80;var a=String(r);var f=a.split(/\r?\n/);var l=f.length;var c=-1;var h;n(e,["heading","table","code","definition","html","jsx"],ignore);n(e,["link","image","inlineCode"],inline);while(++ci){r.message("Line must be at most "+i+" characters",{line:c+1,column:h+1})}}function inline(e,r,t){var n=t.children[r+1];var a;var f;if(u(e)){return}a=s(e);f=o(e);if(a.column>i||f.column0?"Add":"Remove")+" "+Math.abs(i)+" "+n("space",i)+" between blockquote and content";r.message(a,u.start(e.children[0]))}}else{t=check(e)}}}function check(e){var r=e.children[0];var t=u.start(r).column-u.start(e).column;var i=o(r).match(/^ +/);if(i){t+=i[0].length}return t}},,,,,function(e){"use strict";e.exports=whitespace;var r=String.fromCharCode;var t=/\s/;function whitespace(e){return t.test(typeof e==="number"?r(e):e.charAt(0))}},,,function(e,r,t){"use strict";var i=t(814);var n="\n";var a=" ";var u=":";var s="[";var o="]";var f="^";var l=4;var c=n+n;var h=i(a,l);e.exports=footnoteDefinition;function footnoteDefinition(e){var r=this.all(e).join(c+h);return s+f+(e.label||e.identifier)+o+u+a+r}},function(e){"use strict";e.exports=collapse;function collapse(e){return String(e).replace(/\s+/g," ")}},function(e){"use strict";e.exports=label;var r="[";var t="]";var i="shortcut";var n="collapsed";function label(e){var a=e.referenceType;if(a===i){return""}return r+(a===n?"":e.label||e.identifier)+t}},,,,,function(e,r,t){"use strict";var i=t(814);var n=t(705);e.exports=listItem;var a="\n";var u=" ";var s="[";var o="]";var f="x";var l=Math.ceil;var c=a+a;var h=4;function listItem(e,r,t,p){var v=this;var d=v.options.listItemIndent;var D=p||v.options.bullet;var m=e.spread==null?true:e.spread;var g=e.checked;var E=e.children;var A=E.length;var C=[];var y=-1;var w;var x;var b;while(++y",Iacute:"Í",Icirc:"Î",Igrave:"Ì",Iuml:"Ï",LT:"<",Ntilde:"Ñ",Oacute:"Ó",Ocirc:"Ô",Ograve:"Ò",Oslash:"Ø",Otilde:"Õ",Ouml:"Ö",QUOT:'"',REG:"®",THORN:"Þ",Uacute:"Ú",Ucirc:"Û",Ugrave:"Ù",Uuml:"Ü",Yacute:"Ý",aacute:"á",acirc:"â",acute:"´",aelig:"æ",agrave:"à",amp:"&",aring:"å",atilde:"ã",auml:"ä",brvbar:"¦",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",ecirc:"ê",egrave:"è",eth:"ð",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",iacute:"í",icirc:"î",iexcl:"¡",igrave:"ì",iquest:"¿",iuml:"ï",laquo:"«",lt:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",oacute:"ó",ocirc:"ô",ograve:"ò",ordf:"ª",ordm:"º",oslash:"ø",otilde:"õ",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',raquo:"»",reg:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",times:"×",uacute:"ú",ucirc:"û",ugrave:"ù",uml:"¨",uuml:"ü",yacute:"ý",yen:"¥",yuml:"ÿ"}},,,,,function(e,r,t){"use strict";var i=t(64);var n=t(753);var a=function errorEx(e,r){if(!e||e.constructor!==String){r=e||{};e=Error.name}var t=function ErrorEXError(i){if(!this){return new ErrorEXError(i)}i=i instanceof Error?i.message:i||this.message;Error.call(this,i);Error.captureStackTrace(this,t);this.name=e;Object.defineProperty(this,"message",{configurable:true,enumerable:false,get:function(){var e=i.split(/\r?\n/g);for(var t in r){if(!r.hasOwnProperty(t)){continue}var a=r[t];if("message"in a){e=a.message(this[t],e)||e;if(!n(e)){e=[e]}}}return e.join("\n")},set:function(e){i=e}});var a=null;var u=Object.getOwnPropertyDescriptor(this,"stack");var s=u.get;var o=u.value;delete u.value;delete u.writable;u.set=function(e){a=e};u.get=function(){var e=(a||(s?s.call(this):o)).split(/\r?\n+/g);if(!a){e[0]=this.name+": "+this.message}var t=1;for(var i in r){if(!r.hasOwnProperty(i)){continue}var n=r[i];if("line"in n){var u=n.line(this[i]);if(u){e.splice(t++,0," "+u)}}if("stack"in n){n.stack(this[i],e)}}return e.join("\n")};Object.defineProperty(this,"stack",u)};if(Object.setPrototypeOf){Object.setPrototypeOf(t.prototype,Error.prototype);Object.setPrototypeOf(t,Error)}else{i.inherits(t,Error)}return t};a.append=function(e,r){return{message:function(t,i){t=t||r;if(t){i[0]+=" "+e.replace("%s",t.toString())}return i}}};a.line=function(e,r){return{line:function(t){t=t||r;if(t){return e.replace("%s",t.toString())}return null}}};e.exports=a},,,,,function(e,r,t){"use strict";var i=t(211);e.exports=new i("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})},,,function(e,r,t){"use strict";var i=t(589);function replaceExt(e,r){if(typeof e!=="string"){return e}if(e.length===0){return e}var t=i.basename(e,i.extname(e))+r;return i.join(i.dirname(e),t)}e.exports=replaceExt},function(e,r,t){"use strict";var i=t(833);var n=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"];var a=["scalar","sequence","mapping"];function compileStyleAliases(e){var r={};if(e!==null){Object.keys(e).forEach(function(t){e[t].forEach(function(e){r[String(e)]=t})})}return r}function Type(e,r){r=r||{};Object.keys(r).forEach(function(r){if(n.indexOf(r)===-1){throw new i('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}});this.tag=e;this.kind=r["kind"]||null;this.resolve=r["resolve"]||function(){return true};this.construct=r["construct"]||function(e){return e};this.instanceOf=r["instanceOf"]||null;this.predicate=r["predicate"]||null;this.represent=r["represent"]||null;this.defaultStyle=r["defaultStyle"]||null;this.styleAliases=compileStyleAliases(r["styleAliases"]||null);if(a.indexOf(this.kind)===-1){throw new i('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}}e.exports=Type},function(e,r,t){"use strict";var i=t(876);var n=true;try{n="inspect"in t(64)}catch(e){n=false}e.exports=n?inspect:noColor;inspect.color=inspect;noColor.color=inspect;inspect.noColor=noColor;noColor.noColor=noColor;var a=ansiColor(2,22);var u=ansiColor(33,39);var s=ansiColor(32,39);var o=new RegExp("(?:"+"(?:\\u001b\\[)|"+"\\u009b"+")"+"(?:"+"(?:[0-9]{1,3})?(?:(?:;[0-9]{0,3})*)?[A-M|f-m]"+")|"+"\\u001b[A-M]","g");var f=["type","value","children","position"];function noColor(e,r){return stripColor(inspect(e,r))}function inspect(e,r){var t;var i;var n;var a;if(e&&Boolean(e.length)&&typeof e!=="string"){a=e.length;n=-1;t=[];while(++n|$))/i;var f=/<\/(script|pre|style)>/i;var l=/^/;var h=/^<\?/;var p=/\?>/;var v=/^/;var D=/^/;var g=/^$/;var E=new RegExp(i.source+"\\s*$");function blockHtml(e,r,t){var i=this;var A=i.options.blocks.join("|");var C=new RegExp("^|$))","i");var y=r.length;var w=0;var x;var b;var F;var S;var B;var k;var O;var P=[[o,f,true],[l,c,true],[h,p,true],[v,d,true],[D,m,true],[C,g,true],[E,g,false]];while(w0&&v.indenta){return}if(!m||!f&&u.charAt(c+1)===n){return}l=u.length+1;D="";while(++c0){var t=peek();if(!a.isHexDigit(t)){throw invalidChar(read())}e+=read()}return String.fromCodePoint(parseInt(e,16))}var C={start:function start(){if(h.type==="eof"){throw invalidEOF()}push()},beforePropertyName:function beforePropertyName(){switch(h.type){case"identifier":case"string":p=h.value;s="afterPropertyName";return;case"punctuator":pop();return;case"eof":throw invalidEOF()}},afterPropertyName:function afterPropertyName(){if(h.type==="eof"){throw invalidEOF()}s="beforePropertyValue"},beforePropertyValue:function beforePropertyValue(){if(h.type==="eof"){throw invalidEOF()}push()},beforeArrayValue:function beforeArrayValue(){if(h.type==="eof"){throw invalidEOF()}if(h.type==="punctuator"&&h.value==="]"){pop();return}push()},afterPropertyValue:function afterPropertyValue(){if(h.type==="eof"){throw invalidEOF()}switch(h.value){case",":s="beforePropertyName";return;case"}":pop()}},afterArrayValue:function afterArrayValue(){if(h.type==="eof"){throw invalidEOF()}switch(h.value){case",":s="beforeArrayValue";return;case"]":pop()}},end:function end(){}};function push(){var e=void 0;switch(h.type){case"punctuator":switch(h.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=h.value;break}if(v===undefined){v=e}else{var r=o[o.length-1];if(Array.isArray(r)){r.push(e)}else{r[p]=e}}if(e!==null&&(typeof e==="undefined"?"undefined":i(e))==="object"){o.push(e);if(Array.isArray(e)){s="beforeArrayValue"}else{s="beforePropertyName"}}else{var t=o[o.length-1];if(t==null){s="end"}else if(Array.isArray(t)){s="afterArrayValue"}else{s="afterPropertyValue"}}}function pop(){o.pop();var e=o[o.length-1];if(e==null){s="end"}else if(Array.isArray(e)){s="afterArrayValue"}else{s="afterPropertyValue"}}function invalidChar(e){if(e===undefined){return syntaxError("JSON5: invalid end of input at "+l+":"+c)}return syntaxError("JSON5: invalid character '"+formatChar(e)+"' at "+l+":"+c)}function invalidEOF(){return syntaxError("JSON5: invalid end of input at "+l+":"+c)}function invalidIdentifier(){c-=5;return syntaxError("JSON5: invalid identifier character at "+l+":"+c)}function separatorChar(e){console.warn("JSON5: '"+e+"' is not valid ECMAScript; consider escaping")}function formatChar(e){var r={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(r[e]){return r[e]}if(e<" "){var t=e.charCodeAt(0).toString(16);return"\\x"+("00"+t).substring(t.length)}return e}function syntaxError(e){var r=new SyntaxError(e);r.lineNumber=l;r.columnNumber=c;return r}e.exports=r["default"]},,function(e,r,t){"use strict";var i=t(66);var n=t(589);var a=t(345);var u=t(347)("unified-engine:find-up");var s=t(692);e.exports=FindUp;var o=i.readFile;var f=n.resolve;var l=n.relative;var c=n.join;var h=n.dirname;FindUp.prototype.load=load;function FindUp(e){var r=this;var t=e.filePath;r.cache={};r.cwd=e.cwd;r.detect=e.detect;r.names=e.names;r.create=e.create;if(t){r.givenFilePath=f(e.cwd,t)}}function load(e,r){var t=this;var i=t.cache;var n=t.givenFilePath;var p=t.givenFile;var v=t.names;var d=t.create;var D=t.cwd;var m;if(n){if(p){apply(r,p)}else{p=[r];t.givenFile=p;u("Checking given file `%s`",n);o(n,loadGiven)}return}if(!t.detect){return r()}e=f(D,e);m=h(e);if(m in i){apply(r,i[m])}else{i[m]=[r];find(m)}function loadGiven(e,r){var i=t.givenFile;var s;if(e){s=a("Cannot read given file `%s`\n%s",l(D,n),e.stack);s.code="ENOENT";s.path=e.path;s.syscall=e.syscall}else{try{s=d(r,n);u("Read given file `%s`",n)}catch(e){s=a("Cannot parse given file `%s`\n%s",l(D,n),e.stack);u(e.message)}}p=s;t.givenFile=s;applyAll(i,s)}function find(r){var t=-1;var n=v.length;next();function next(){var a;if(++t{if(e)console.error(e);process.exit(r)})},,,,,,,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(839);var u=t(526);e.exports=i("remark-lint:code-block-style",codeBlockStyle);var s=a.start;var o=a.end;var f={null:true,fenced:true,indented:true};function codeBlockStyle(e,r,t){var i=String(r);t=typeof t==="string"&&t!=="consistent"?t:null;if(f[t]!==true){r.fail("Invalid code block style `"+t+"`: use either `'consistent'`, `'fenced'`, or `'indented'`")}n(e,"code",visitor);function visitor(e){var i=check(e);if(i){if(!t){t=i}else if(t!==i){r.message("Code blocks should be "+t,e)}}}function check(e){var r=s(e).offset;var t=o(e).offset;if(u(e)){return null}return e.lang||/^\s*([~`])\1{2,}/.test(i.slice(r,t))?"fenced":"indented"}}},,,function(e,r,t){"use strict";var i=t(589);var n=t(77);var a=t(289);e.exports=Ignore;Ignore.prototype.check=check;var u=i.dirname;var s=i.relative;var o=i.resolve;function Ignore(e){this.cwd=e.cwd;this.findUp=new a({filePath:e.ignorePath,cwd:e.cwd,detect:e.detectIgnore,names:e.ignoreName?[e.ignoreName]:[],create:create})}function check(e,r){var t=this;t.findUp.load(e,done);function done(i,n){var a;if(i){r(i)}else if(n){a=s(n.filePath,o(t.cwd,e));r(null,a?n.ignores(a):false)}else{r(null,false)}}}function create(e,r){var t=n().add(String(e));t.filePath=u(r);return t}},,,,function(e){e.exports={nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",fnof:"ƒ",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",bull:"•",hellip:"…",prime:"′",Prime:"″",oline:"‾",frasl:"⁄",weierp:"℘",image:"ℑ",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",quot:'"',amp:"&",lt:"<",gt:">",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",permil:"‰",lsaquo:"‹",rsaquo:"›",euro:"€"}},,,,function(e,r,t){"use strict";var i=t(54);e.exports=enclose;var n="(";var a=")";var u="<";var s=">";var o=/\s/;function enclose(e,r){if(r||e.length===0||o.test(e)||i(e,n)!==i(e,a)){return u+e+s}return e}},,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(839);var u=t(526);e.exports=i("remark-lint:table-pipes",tablePipes);var s=a.start;var o=a.end;var f="Missing initial pipe in table fence";var l="Missing final pipe in table fence";function tablePipes(e,r){var t=String(r);n(e,"table",visitor);function visitor(e){var i=e.children;var n=i.length;var a=-1;var c;var h;var p;var v;var d;var D;while(++a0?parseInt(r):null};for(;i1)return true;for(var a=0;athis.maxLength)return r();if(!this.stat&&m(this.cache,t)){var a=this.cache[t];if(Array.isArray(a))a="DIR";if(!n||a==="DIR")return r(null,a);if(n&&a==="FILE")return r()}var u;var s=this.statCache[t];if(s!==undefined){if(s===false)return r(null,s);else{var o=s.isDirectory()?"DIR":"FILE";if(n&&o==="FILE")return r();else return r(null,o,s)}}var f=this;var l=g("stat\0"+t,lstatcb_);if(l)i.lstat(t,l);function lstatcb_(n,a){if(a&&a.isSymbolicLink()){return i.stat(t,function(i,n){if(i)f._stat2(e,t,null,a,r);else f._stat2(e,t,i,n,r)})}else{f._stat2(e,t,n,a,r)}}};Glob.prototype._stat2=function(e,r,t,i,n){if(t&&(t.code==="ENOENT"||t.code==="ENOTDIR")){this.statCache[r]=false;return n()}var a=e.slice(-1)==="/";this.statCache[r]=i;if(r.slice(-1)==="/"&&i&&!i.isDirectory())return n(null,false,i);var u=true;if(i)u=i.isDirectory()?"DIR":"FILE";this.cache[r]=this.cache[r]||u;if(a&&u==="FILE")return n();return n(null,u,i)}},function(e,r,t){"use strict";var i=t(36);var n=t(439);var a=t(934);var u=t(724);e.exports=paragraph;var s="\t";var o="\n";var f=" ";var l=4;function paragraph(e,r,t){var c=this;var h=c.options;var p=h.commonmark;var v=h.gfm;var d=c.blockTokenizers;var D=c.interruptParagraph;var m=r.indexOf(o);var g=r.length;var E;var A;var C;var y;var w;while(m=l&&C!==o){m=r.indexOf(o,m+1);continue}}A=r.slice(m+1);if(u(D,d,c,[e,A,true])){break}if(d.list.call(c,e,A,true)&&(c.inList||p||v&&!n(i.left(A).charAt(0)))){break}E=m;m=r.indexOf(o,m+1);if(m!==-1&&i(r.slice(E,m))===""){m=E;break}}A=r.slice(0,m);if(i(A)===""){e(A);return null}if(t){return true}w=e.now();A=a(A);return e(A)({type:"paragraph",children:c.tokenizeInline(A,w)})}},function(e,r,t){"use strict";var i;var n;try{var a=i;n=t(644)}catch(e){if(typeof window!=="undefined")n=window.esprima}var u=t(211);function resolveJavascriptFunction(e){if(e===null)return false;try{var r="("+e+")",t=n.parse(r,{range:true});if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression"){return false}return true}catch(e){return false}}function constructJavascriptFunction(e){var r="("+e+")",t=n.parse(r,{range:true}),i=[],a;if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression"){throw new Error("Failed to resolve function")}t.body[0].expression.params.forEach(function(e){i.push(e.name)});a=t.body[0].expression.body.range;if(t.body[0].expression.body.type==="BlockStatement"){return new Function(i,r.slice(a[0]+1,a[1]-1))}return new Function(i,"return "+r.slice(a[0],a[1]))}function representJavascriptFunction(e){return e.toString()}function isFunction(e){return Object.prototype.toString.call(e)==="[object Function]"}e.exports=new u("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:resolveJavascriptFunction,construct:constructJavascriptFunction,predicate:isFunction,represent:representJavascriptFunction})},,,function(e,r,t){"use strict";var i=t(171);var n=t(984);var a=t(426);e.exports=reference;reference.locator=n;var u="link";var s="image";var o="footnote";var f="shortcut";var l="collapsed";var c="full";var h=" ";var p="!";var v="[";var d="\\";var D="]";var m="^";function reference(e,r,t){var n=this;var g=n.options.commonmark;var E=r.charAt(0);var A=0;var C=r.length;var y="";var w="";var x=u;var b=f;var F;var S;var B;var k;var O;var P;var T;var I;if(E===p){x=s;w=E;E=r.charAt(++A)}if(E!==v){return}A++;w+=E;P="";if(n.options.footnotes&&r.charAt(A)===m){if(x===s){return}w+=m;A++;x=o}I=0;while(A "+h.destination:""}if(!h.stats.total){p+=p?": ":"";if(h.stored){p+=m.yellow.open+"written"+m.yellow.close}else{p+="no issues found"}}if(p){f.push(p)}}else{g=m[h.label==="error"?"red":"yellow"];E=h.reason;A="";C=E.indexOf("\n");if(C!==-1){A=E.slice(C);E=E.slice(0,C)}f.push(["",padLeft(h.location,e.location),padRight(g.open+h.label+g.close,e.label),padRight(E,e.reason),padRight(h.ruleId,e.ruleId),h.source||""].join(" ").replace(c,"")+A)}}if(a.fatal||a.warn){p=[];if(a.fatal){p.push([m.red.open+l.error+m.red.close,a.fatal,plural(D.true,a.fatal)].join(" "))}if(a.warn){p.push([m.yellow.open+l.warning+m.yellow.close,a.warn,plural(D.false,a.warn)].join(" "))}p=p.join(", ");if(a.total!==a.fatal&&a.total!==a.warn){p=a.total+" messages ("+p+")"}f.push("",p)}return f.join("\n")}function applicable(e,r){var t=e.messages;var i=t.length;var n=-1;var a=[];if(r.silent){while(++n64)continue;if(r<0)return false;i+=6}return i%8===0}function constructYamlBinary(e){var r,t,i=e.replace(/[\r\n=]/g,""),a=i.length,u=s,o=0,f=[];for(r=0;r>16&255);f.push(o>>8&255);f.push(o&255)}o=o<<6|u.indexOf(i.charAt(r))}t=a%4*6;if(t===0){f.push(o>>16&255);f.push(o>>8&255);f.push(o&255)}else if(t===18){f.push(o>>10&255);f.push(o>>2&255)}else if(t===12){f.push(o>>4&255)}if(n){return n.from?n.from(f):new n(f)}return f}function representYamlBinary(e){var r="",t=0,i,n,a=e.length,u=s;for(i=0;i>18&63];r+=u[t>>12&63];r+=u[t>>6&63];r+=u[t&63]}t=(t<<8)+e[i]}n=a%3;if(n===0){r+=u[t>>18&63];r+=u[t>>12&63];r+=u[t>>6&63];r+=u[t&63]}else if(n===2){r+=u[t>>10&63];r+=u[t>>4&63];r+=u[t<<2&63];r+=u[64]}else if(n===1){r+=u[t>>2&63];r+=u[t<<4&63];r+=u[64];r+=u[64]}return r}function isBinary(e){return n&&n.isBuffer(e)}e.exports=new u("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary})},function(e){"use strict";var r=[].slice;e.exports=wrap;function wrap(e,t){var i;return wrapped;function wrapped(){var t=r.call(arguments,0);var n=e.length>t.length;var a;if(n){t.push(done)}try{a=e.apply(null,t)}catch(e){if(n&&i){throw e}return done(e)}if(!n){if(a&&typeof a.then==="function"){a.then(then,done)}else if(a instanceof Error){done(a)}else{then(a)}}}function done(){if(!i){i=true;t.apply(null,arguments)}}function then(e){done(null,e)}}},function(e){e.exports=extend;var r=Object.prototype.hasOwnProperty;function extend(){var e={};for(var t=0;ti){r.message("Move definitions to the end of the file (after the node at line `"+t+"`)",e)}}else if(t===null){t=i}}}},function(e){var r=Object.prototype.toString;e.exports=isString;function isString(e){return r.call(e)==="[object String]"}},function(e,r,t){"use strict";var i=t(874);e.exports=configure;function configure(e,r){e.configuration=new i(r)}},,,,function(e,r,t){"use strict";var i=t(323);var n=create(Error);e.exports=n;n.eval=create(EvalError);n.range=create(RangeError);n.reference=create(ReferenceError);n.syntax=create(SyntaxError);n.type=create(TypeError);n.uri=create(URIError);n.create=create;function create(e){FormattedError.displayName=e.displayName||e.name;return FormattedError;function FormattedError(r){if(r){r=i.apply(null,arguments)}return new e(r)}}},,function(e,r,t){"use strict";if(typeof process==="undefined"||process.type==="renderer"||process.browser===true||process.__nwjs){e.exports=t(470)}else{e.exports=t(970)}},function(e,r,t){var i=t(20);var n=t(491);e.exports=expandTop;var a="\0SLASH"+Math.random()+"\0";var u="\0OPEN"+Math.random()+"\0";var s="\0CLOSE"+Math.random()+"\0";var o="\0COMMA"+Math.random()+"\0";var f="\0PERIOD"+Math.random()+"\0";function numeric(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function escapeBraces(e){return e.split("\\\\").join(a).split("\\{").join(u).split("\\}").join(s).split("\\,").join(o).split("\\.").join(f)}function unescapeBraces(e){return e.split(a).join("\\").split(u).join("{").split(s).join("}").split(o).join(",").split(f).join(".")}function parseCommaParts(e){if(!e)return[""];var r=[];var t=n("{","}",e);if(!t)return e.split(",");var i=t.pre;var a=t.body;var u=t.post;var s=i.split(",");s[s.length-1]+="{"+a+"}";var o=parseCommaParts(u);if(u.length){s[s.length-1]+=o.shift();s.push.apply(s,o)}r.push.apply(r,s);return r}function expandTop(e){if(!e)return[];if(e.substr(0,2)==="{}"){e="\\{\\}"+e.substr(2)}return expand(escapeBraces(e),true).map(unescapeBraces)}function identity(e){return e}function embrace(e){return"{"+e+"}"}function isPadded(e){return/^-?0\d/.test(e)}function lte(e,r){return e<=r}function gte(e,r){return e>=r}function expand(e,r){var t=[];var a=n("{","}",e);if(!a||/\$$/.test(a.pre))return[e];var u=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(a.body);var o=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(a.body);var f=u||o;var l=a.body.indexOf(",")>=0;if(!f&&!l){if(a.post.match(/,.*\}/)){e=a.pre+"{"+a.body+s+a.post;return expand(e)}return[e]}var c;if(f){c=a.body.split(/\.\./)}else{c=parseCommaParts(a.body);if(c.length===1){c=expand(c[0],false).map(embrace);if(c.length===1){var h=a.post.length?expand(a.post,false):[""];return h.map(function(e){return a.pre+c[0]+e})}}}var p=a.pre;var h=a.post.length?expand(a.post,false):[""];var v;if(f){var d=numeric(c[0]);var D=numeric(c[1]);var m=Math.max(c[0].length,c[1].length);var g=c.length==3?Math.abs(numeric(c[2])):1;var E=lte;var A=D0){var b=new Array(x+1).join("0");if(y<0)w="-"+b+w.slice(1);else w=b+w}}}v.push(w)}}else{v=i(c,function(e){return expand(e,false)})}for(var F=0;F>5===6)return 2;else if(e>>4===14)return 3;else if(e>>3===30)return 4;return e>>6===2?-1:-2}function utf8CheckIncomplete(e,r,t){var i=r.length-1;if(i=0){if(n>0)e.lastNeed=n-1;return n}if(--i=0){if(n>0)e.lastNeed=n-2;return n}if(--i=0){if(n>0){if(n===2)n=0;else e.lastNeed=n-3}return n}return 0}function utf8CheckExtraBytes(e,r,t){if((r[0]&192)!==128){e.lastNeed=0;return"�"}if(e.lastNeed>1&&r.length>1){if((r[1]&192)!==128){e.lastNeed=1;return"�"}if(e.lastNeed>2&&r.length>2){if((r[2]&192)!==128){e.lastNeed=2;return"�"}}}}function utf8FillLast(e){var r=this.lastTotal-this.lastNeed;var t=utf8CheckExtraBytes(this,e,r);if(t!==undefined)return t;if(this.lastNeed<=e.length){e.copy(this.lastChar,r,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,r,0,e.length);this.lastNeed-=e.length}function utf8Text(e,r){var t=utf8CheckIncomplete(this,e,r);if(!this.lastNeed)return e.toString("utf8",r);this.lastTotal=t;var i=e.length-(t-this.lastNeed);e.copy(this.lastChar,0,i);return e.toString("utf8",r,i)}function utf8End(e){var r=e&&e.length?this.write(e):"";if(this.lastNeed)return r+"�";return r}function utf16Text(e,r){if((e.length-r)%2===0){var t=e.toString("utf16le",r);if(t){var i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1];return t.slice(0,-1)}}return t}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=e[e.length-1];return e.toString("utf16le",r,e.length-1)}function utf16End(e){var r=e&&e.length?this.write(e):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return r+this.lastChar.toString("utf16le",0,t)}return r}function base64Text(e,r){var t=(e.length-r)%3;if(t===0)return e.toString("base64",r);this.lastNeed=3-t;this.lastTotal=3;if(t===1){this.lastChar[0]=e[e.length-1]}else{this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1]}return e.toString("base64",r,e.length-t)}function base64End(e){var r=e&&e.length?this.write(e):"";if(this.lastNeed)return r+this.lastChar.toString("base64",0,3-this.lastNeed);return r}function simpleWrite(e){return e.toString(this.encoding)}function simpleEnd(e){return e&&e.length?this.write(e):""}},,,,function(e,r,t){"use strict";var i=t(186);e.exports=VMessage;function VMessagePrototype(){}VMessagePrototype.prototype=Error.prototype;VMessage.prototype=new VMessagePrototype;var n=VMessage.prototype;n.file="";n.name="";n.reason="";n.message="";n.stack="";n.fatal=null;n.column=null;n.line=null;function VMessage(e,r,t){var n;var a;var u;if(typeof r==="string"){t=r;r=null}n=parseOrigin(t);a=i(r)||"1:1";u={start:{line:null,column:null},end:{line:null,column:null}};if(r&&r.position){r=r.position}if(r){if(r.start){u=r;r=r.start}else{u.start=r}}if(e.stack){this.stack=e.stack;e=e.message}this.message=e;this.name=a;this.reason=e;this.line=r?r.line:null;this.column=r?r.column:null;this.location=u;this.source=n[0];this.ruleId=n[1]}function parseOrigin(e){var r=[null,null];var t;if(typeof e==="string"){t=e.indexOf(":");if(t===-1){r[1]=e}else{r[0]=e.slice(0,t);r[1]=e.slice(t+1)}}return r}},,function(e,r,t){"use strict";var i=t(171);var n=t(902);var a=t(49);e.exports=autoLink;autoLink.locator=a;autoLink.notInLink=true;var u="<";var s=">";var o="@";var f="/";var l="mailto:";var c=l.length;function autoLink(e,r,t){var a=this;var h="";var p=r.length;var v=0;var d="";var D=false;var m="";var g;var E;var A;var C;var y;if(r.charAt(0)!==u){return}v++;h=u;while(v0||Y===x&&I.inLink||M&&Y===B&&r.charAt(_+1)===B||M&&Y===S&&(I.inTable||alignment(r,_))||Y===b&&_>0&&_=e.expected){e.emit("done")}}},,function(e,r,t){"use strict";var i=t(897);var n=t(336);var a=t(860);e.exports=parse;parse.Parser=a;function parse(e){var r=this.data("settings");var t=i(a);t.prototype.options=n(t.prototype.options,r,e);this.Parser=t}},,,,,,function(e,r,t){"use strict";var i=t(176);e.exports=imageReference;var n="[";var a="]";var u="!";function imageReference(e){return u+n+(this.encode(e.alt,e)||"")+a+i(e)}},,,,,,function(e,r,t){"use strict";var i=t(495);e.exports=i("remark-lint:no-file-name-consecutive-dashes",noFileNameConsecutiveDashes);var n="Do not use consecutive dashes in a file name";function noFileNameConsecutiveDashes(e,r){if(r.stem&&/-{2,}/.test(r.stem)){r.message(n)}}},,,,,,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(839);var u=t(526);e.exports=i("remark-lint:fenced-code-marker",fencedCodeMarker);var s={"`":true,"~":true,null:true};function fencedCodeMarker(e,r,t){var i=String(r);t=typeof t==="string"&&t!=="consistent"?t:null;if(s[t]!==true){r.fail("Invalid fenced code marker `"+t+"`: use either `'consistent'`, `` '`' ``, or `'~'`")}n(e,"code",visitor);function visitor(e){var n;if(!u(e)){n=i.substr(a.start(e).offset,4).trimLeft().charAt(0);if(s[n]===true){if(t){if(n!==t){r.message("Fenced code should use "+t+" as a marker",e)}}else{t=n}}}}}},,function(e,r,t){"use strict";var i=t(727);e.exports=new i({include:[t(95)],implicit:[t(788),t(900)],explicit:[t(334),t(157),t(697),t(713)]})},,,function(e){"use strict";e.exports=thematicBreak;var r="\t";var t="\n";var i=" ";var n="*";var a="-";var u="_";var s=3;function thematicBreak(e,o,f){var l=-1;var c=o.length+1;var h="";var p;var v;var d;var D;while(++l=s&&(!p||p===t)){h+=D;if(f){return true}return e(h)({type:"thematicBreak"})}else{return}}}},,function(e){e.exports=require("assert")},,,,,,,function(e,r,t){"use strict";var i=t(774);var n=t(176);e.exports=linkReference;var a="[";var u="]";var s="shortcut";var o="collapsed";function linkReference(e){var r=this;var t=e.referenceType;var f=r.enterLinkReference(r,e);var l=r.all(e).join("");f();if(t===s||t===o){l=i(l,e.label||e.identifier)}return a+l+u+n(e)}},function(e){"use strict";e.exports=lineBreak;var r="\\";var t="\n";var i=" ";var n=r+t;var a=i+i+t;function lineBreak(){return this.options.commonmark?n:a}},function(e,r,t){"use strict";function _classCallCheck(e,r){if(!(e instanceof r)){throw new TypeError("Cannot call a class as a function")}}var i=t(945).Buffer;var n=t(64);function copyBuffer(e,r,t){e.copy(r,t)}e.exports=function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0}BufferList.prototype.push=function push(e){var r={data:e,next:null};if(this.length>0)this.tail.next=r;else this.head=r;this.tail=r;++this.length};BufferList.prototype.unshift=function unshift(e){var r={data:e,next:this.head};if(this.length===0)this.tail=r;this.head=r;++this.length};BufferList.prototype.shift=function shift(){if(this.length===0)return;var e=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return e};BufferList.prototype.clear=function clear(){this.head=this.tail=null;this.length=0};BufferList.prototype.join=function join(e){if(this.length===0)return"";var r=this.head;var t=""+r.data;while(r=r.next){t+=e+r.data}return t};BufferList.prototype.concat=function concat(e){if(this.length===0)return i.alloc(0);if(this.length===1)return this.head.data;var r=i.allocUnsafe(e>>>0);var t=this.head;var n=0;while(t){copyBuffer(t.data,r,n);n+=t.data.length;t=t.next}return r};return BufferList}();if(n&&n.inspect&&n.inspect.custom){e.exports.prototype[n.inspect.custom]=function(){var e=n.inspect({length:this.length});return this.constructor.name+" "+e}}},function(e,r,t){"use strict";var i=t(336);var n=t(109);var a=t(694);e.exports=setOptions;function setOptions(e){var r=this;var t=r.options;var u;var s;if(e==null){e={}}else if(typeof e==="object"){e=i(e)}else{throw new Error("Invalid value `"+e+"` for setting `options`")}for(u in a){s=e[u];if(s==null){s=t[u]}if(u!=="blocks"&&typeof s!=="boolean"||u==="blocks"&&typeof s!=="object"){throw new Error("Invalid value `"+s+"` for setting `options."+u+"`")}e[u]=s}r.options=e;r.escape=n(e);return r}},,function(e){var r=Array.prototype.slice;e.exports=co;function co(e){var t=isGeneratorFunction(e);return function(i){var n=this;var a=e;if(t){var u=r.call(arguments),s=u.length;var o=s&&"function"==typeof u[s-1];i=o?u.pop():error;a=e.apply(this,u)}else{i=i||error}next();function exit(e,r){setImmediate(function(){i.call(n,e,r)})}function next(e,t){var i;if(arguments.length>2)t=r.call(arguments,1);if(e){try{i=a.throw(e)}catch(e){return exit(e)}}if(!e){try{i=a.next(t)}catch(e){return exit(e)}}if(i.done)return exit(null,i.value);i.value=toThunk(i.value,n);if("function"==typeof i.value){var u=false;try{i.value.call(n,function(){if(u)return;u=true;next.apply(n,arguments)})}catch(e){setImmediate(function(){if(u)return;u=true;next(e)})}return}next(new TypeError("You may only yield a function, promise, generator, array, or object, "+'but the following was passed: "'+String(i.value)+'"'))}}}function toThunk(e,r){if(isGeneratorFunction(e)){return co(e.call(r))}if(isGenerator(e)){return co(e)}if(isPromise(e)){return promiseToThunk(e)}if("function"==typeof e){return e}if(isObject(e)||Array.isArray(e)){return objectToThunk.call(r,e)}return e}function objectToThunk(e){var r=this;var t=Array.isArray(e);return function(i){var n=Object.keys(e);var a=n.length;var u=t?new Array(a):new e.constructor;var s;if(!a){setImmediate(function(){i(null,u)});return}if(!t){for(var o=0;ot){r.splice(0,t);process.nextTick(function(){RES.apply(null,i)})}else{delete n[e]}}})}function slice(e){var r=e.length;var t=[];for(var i=0;ii){o+=" with 1 space, not "+u;if(size(a)=48&&r<=57}},function(e,r,t){"use strict";var i=t(308);var n=t(197);var a=t(25);var u=t(908);var s=t(617);e.exports=encode;encode.escape=escape;var o={}.hasOwnProperty;var f=['"',"'","<",">","&","`"];var l=construct();var c=toExpression(f);var h=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;var p=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g;function encode(e,r){var t=r||{};var i=t.subset;var n=i?toExpression(i):c;var a=t.escapeOnly;var u=t.omitOptionalSemicolons;e=e.replace(n,function(e,r,i){return one(e,i.charAt(r+1),t)});if(i||a){return e}return e.replace(h,replaceSurrogatePair).replace(p,replaceBmp);function replaceSurrogatePair(e,r,t){return toHexReference((e.charCodeAt(0)-55296)*1024+e.charCodeAt(1)-56320+65536,t.charAt(r+2),u)}function replaceBmp(e,r,i){return one(e,i.charAt(r+1),t)}}function escape(e){return encode(e,{escapeOnly:true,useNamedReferences:true})}function one(e,r,t){var i=t.useShortestReferences;var n=t.omitOptionalSemicolons;var a;var u;if((i||t.useNamedReferences)&&o.call(l,e)){a=toNamed(l[e],r,n,t.attribute)}if(i||!a){u=toHexReference(e.charCodeAt(0),r,n)}if(a&&(!i||a.length/i;function inlineHTML(e,r,t){var n=this;var h=r.length;var p;var v;if(r.charAt(0)!==u||h<3){return}p=r.charAt(1);if(!i(p)&&p!==s&&p!==o&&p!==f){return}v=r.match(a);if(!v){return}if(t){return true}v=v[0];if(!n.inLink&&l.test(v)){n.inLink=true}else if(n.inLink&&c.test(v)){n.inLink=false}return e(v)({type:"html",value:v})}},function(e){e.exports=["md","markdown","mdown","mkdn","mkd","mdwn","mkdown","ron"]},,,,function(e,r,t){"use strict";var i=t(495);e.exports=i("remark-lint:file-extension",fileExtension);function fileExtension(e,r,t){var i=r.extname;t=typeof t==="string"?t:"md";if(i&&i.slice(1)!==t){r.message("Invalid extension: use `"+t+"`")}}},function(e){"use strict";e.exports=factory;var r="\\";function factory(e,t){return unescape;function unescape(i){var n=0;var a=i.indexOf(r);var u=e[t];var s=[];var o;while(a!==-1){s.push(i.slice(n,a));n=a+1;o=i.charAt(n);if(!o||u.indexOf(o)===-1){s.push(r)}a=i.indexOf(r,n+1)}s.push(i.slice(n));return s.join("")}}},,,function(e,r,t){"use strict";const i=t(495);const n=t(682);e.exports=i("remark-lint:prohibited-strings",prohibitedStrings);function testProhibited(e,r){const t=new RegExp(`(\\.|@[a-z0-9/-]*)?(${e.no})(\\.\\w)?`,"g");let i=null;while(i=t.exec(r)){if(!i[1]&&!i[3]){return i[2]}}return false}function prohibitedStrings(e,r,t){n(e,"text",checkText);function checkText(e){const i=e.value;t.forEach(t=>{const n=testProhibited(t,i);if(n){r.message(`Use "${t.yes}" instead of "${n}"`,e)}})}}},,,,,function(e){"use strict";e.exports=hidden;function hidden(e){if(typeof e!=="string"){throw new Error("Expected string")}return e.charAt(0)==="."}},,,,,function(e,r,t){"use strict";var i=t(171);var n=t(426);e.exports=footnoteDefinition;footnoteDefinition.notInList=true;footnoteDefinition.notInBlock=true;var a="\\";var u="\n";var s="\t";var o=" ";var f="[";var l="]";var c="^";var h=":";var p=/^( {4}|\t)?/gm;function footnoteDefinition(e,r,t){var v=this;var d=v.offset;var D;var m;var g;var E;var A;var C;var y;var w;var x;var b;var F;var S;if(!v.options.footnotes){return}D=0;m=r.length;g="";E=e.now();A=E.line;while(D=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(r){r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff);if(!this.useColors){return}var t="color: "+this.color;r.splice(1,0,t,"color: inherit");var i=0;var n=0;r[0].replace(/%[a-zA-Z%]/g,function(e){if(e==="%%"){return}i++;if(e==="%c"){n=i}});r.splice(n,0,t)}function log(){var e;return(typeof console==="undefined"?"undefined":_typeof(console))==="object"&&console.log&&(e=console).log.apply(e,arguments)}function save(e){try{if(e){r.storage.setItem("debug",e)}else{r.storage.removeItem("debug")}}catch(e){}}function load(){var e;try{e=r.storage.getItem("debug")}catch(e){}if(!e&&typeof process!=="undefined"&&"env"in process){e=process.env.DEBUG}return e}function localstorage(){try{return localStorage}catch(e){}}e.exports=t(772)(r);var i=e.exports.formatters;i.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},,,,function(e,r,t){var i=t(159);var n=t(589).join;var a=t(281);var u="/etc";var s=process.platform==="win32";var o=s?process.env.USERPROFILE:process.env.HOME;e.exports=function(e,r,f,l){if("string"!==typeof e)throw new Error("rc(name): name *must* be string");if(!f)f=t(359)(process.argv.slice(2));r=("string"===typeof r?i.json(r):r)||{};l=l||i.parse;var c=i.env(e+"_");var h=[r];var p=[];function addConfigFile(e){if(p.indexOf(e)>=0)return;var r=i.file(e);if(r){h.push(l(r));p.push(e)}}if(!s)[n(u,e,"config"),n(u,e+"rc")].forEach(addConfigFile);if(o)[n(o,".config",e,"config"),n(o,".config",e),n(o,"."+e,"config"),n(o,"."+e+"rc")].forEach(addConfigFile);addConfigFile(i.find("."+e+"rc"));if(c.config)addConfigFile(c.config);if(f.config)addConfigFile(f.config);return a.apply(null,h.concat([c,f,p.length?{configs:p,config:p[p.length-1]}:undefined]))}},,,,,,,,,,function(e){e.exports={name:"remark",version:"10.0.1",description:"Markdown processor powered by plugins",license:"MIT",keywords:["markdown","abstract","syntax","tree","ast","parse","stringify","process"],homepage:"https://remark.js.org",repository:"https://github.com/remarkjs/remark/tree/master/packages/remark",bugs:"https://github.com/remarkjs/remark/issues",author:"Titus Wormer (https://wooorm.com)",contributors:["Titus Wormer (https://wooorm.com)"],files:["index.js"],dependencies:{"remark-parse":"^6.0.0","remark-stringify":"^6.0.0",unified:"^7.0.0"},devDependencies:{tape:"^4.9.1"},scripts:{test:"tape test.js"},xo:false,_resolved:"https://registry.npmjs.org/remark/-/remark-10.0.1.tgz",_integrity:"sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==",_from:"remark@10.0.1"}},function(e){e.exports=require("events")},,function(e,r,t){e.exports=globSync;globSync.GlobSync=GlobSync;var i=t(66);var n=t(129);var a=t(620);var u=a.Minimatch;var s=t(327).Glob;var o=t(64);var f=t(589);var l=t(393);var c=t(969);var h=t(922);var p=h.alphasort;var v=h.alphasorti;var d=h.setopts;var D=h.ownProp;var m=h.childrenIgnored;var g=h.isIgnored;function globSync(e,r){if(typeof r==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");return new GlobSync(e,r).found}function GlobSync(e,r){if(!e)throw new Error("must provide pattern");if(typeof r==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof GlobSync))return new GlobSync(e,r);d(this,e,r);if(this.noprocess)return this;var t=this.minimatch.set.length;this.matches=new Array(t);for(var i=0;ithis.maxLength)return false;if(!this.stat&&D(this.cache,r)){var n=this.cache[r];if(Array.isArray(n))n="DIR";if(!t||n==="DIR")return n;if(t&&n==="FILE")return false}var a;var u=this.statCache[r];if(!u){var s;try{s=i.lstatSync(r)}catch(e){if(e&&(e.code==="ENOENT"||e.code==="ENOTDIR")){this.statCache[r]=false;return false}}if(s&&s.isSymbolicLink()){try{u=i.statSync(r)}catch(e){u=s}}else{u=s}}this.statCache[r]=u;var n=true;if(u)n=u.isDirectory()?"DIR":"FILE";this.cache[r]=this.cache[r]||n;if(t&&n==="FILE")return false;return n};GlobSync.prototype._mark=function(e){return h.mark(this,e)};GlobSync.prototype._makeAbs=function(e){return h.makeAbs(this,e)}},,,,function(e){"use strict";e.exports=balanced;function balanced(e,r,t){if(e instanceof RegExp)e=maybeMatch(e,t);if(r instanceof RegExp)r=maybeMatch(r,t);var i=range(e,r,t);return i&&{start:i[0],end:i[1],pre:t.slice(0,i[0]),body:t.slice(i[0]+e.length,i[1]),post:t.slice(i[1]+r.length)}}function maybeMatch(e,r){var t=r.match(e);return t?t[0]:null}balanced.range=range;function range(e,r,t){var i,n,a,u,s;var o=t.indexOf(e);var f=t.indexOf(r,o+1);var l=o;if(o>=0&&f>0){i=[];a=t.length;while(l>=0&&!s){if(l==o){i.push(l);o=t.indexOf(e,l+1)}else if(i.length==1){s=[i.pop(),f]}else{n=i.pop();if(n=0?o:f}if(i.length){s=[a,u]}}return s}},,,,function(e,r,t){"use strict";var i=t(659);e.exports=factory;function factory(e,r){var t=e.split(":");var n=t[0];var a=t[1];var u=i(r);if(!a){a=n;n=null}attacher.displayName=e;return attacher;function attacher(e){var r=coerce(a,e);var t=r[0];var i=r[1];var s=t===2;return t?transformer:undefined;function transformer(e,r,t){var o=r.messages.length;u(e,r,i,done);function done(e){var i=r.messages;var u;if(e&&i.indexOf(e)===-1){try{r.fail(e)}catch(e){}}while(o2){throw new Error("Invalid severity `"+n+"` for `"+e+"`, "+"expected 0, 1, or 2")}i[0]=n;return i}},,,,,,,function(e,r,t){"use strict";e.exports=PassThrough;var i=t(955);var n=t(683);n.inherits=t(780);n.inherits(PassThrough,i);function PassThrough(e){if(!(this instanceof PassThrough))return new PassThrough(e);i.call(this,e)}PassThrough.prototype._transform=function(e,r,t){t(null,e)}},function(e,r,t){"use strict";var i=t(353);var n=t(320);e.exports=n;var a=n.prototype;a.message=message;a.info=info;a.fail=fail;a.warn=message;function message(e,r,t){var n=this.path;var a=new i(e,r,t);if(n){a.name=n+":"+a.name;a.file=n}a.fatal=false;this.messages.push(a);return a}function fail(){var e=this.message.apply(this,arguments);e.fatal=true;throw e}function info(){var e=this.message.apply(this,arguments);e.fatal=null;return e}},,,,function(e,r,t){e.exports=t(64).deprecate},,,,function(e){"use strict";e.exports=locate;function locate(e,r){var t=e.indexOf("**",r);var i=e.indexOf("__",r);if(i===-1){return t}if(t===-1){return i}return ii&&e[c+1]!==" ";c=a}}else if(!isPrintable(u)){return j}h=h&&isPlainSafe(u)}o=o||f&&(a-c-1>i&&e[c+1]!==" ")}if(!s&&!o){return h&&!n(e)?I:M}if(t>9&&needIndentIndicator(e)){return j}return o?R:L}function writeScalar(e,r,t,i){e.dump=function(){if(r.length===0){return"''"}if(!e.noCompatMode&&T.indexOf(r)!==-1){return"'"+r+"'"}var a=e.indent*Math.max(1,t);var u=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-a);var s=i||e.flowLevel>-1&&t>=e.flowLevel;function testAmbiguity(r){return testImplicitResolving(e,r)}switch(chooseScalarStyle(r,s,e.indent,u,testAmbiguity)){case I:return r;case M:return"'"+r.replace(/'/g,"''")+"'";case L:return"|"+blockHeader(r,e.indent)+dropEndingNewline(indentString(r,a));case R:return">"+blockHeader(r,e.indent)+dropEndingNewline(indentString(foldString(r,u),a));case j:return'"'+escapeString(r,u)+'"';default:throw new n("impossible error: invalid scalar style")}}()}function blockHeader(e,r){var t=needIndentIndicator(e)?String(r):"";var i=e[e.length-1]==="\n";var n=i&&(e[e.length-2]==="\n"||e==="\n");var a=n?"+":i?"":"-";return t+a+"\n"}function dropEndingNewline(e){return e[e.length-1]==="\n"?e.slice(0,-1):e}function foldString(e,r){var t=/(\n+)([^\n]*)/g;var i=function(){var i=e.indexOf("\n");i=i!==-1?i:e.length;t.lastIndex=i;return foldLine(e.slice(0,i),r)}();var n=e[0]==="\n"||e[0]===" ";var a;var u;while(u=t.exec(e)){var s=u[1],o=u[2];a=o[0]===" ";i+=s+(!n&&!a&&o!==""?"\n":"")+foldLine(o,r);n=a}return i}function foldLine(e,r){if(e===""||e[0]===" ")return e;var t=/ [^ ]/g;var i;var n=0,a,u=0,s=0;var o="";while(i=t.exec(e)){s=i.index;if(s-n>r){a=u>n?u:s;o+="\n"+e.slice(n,a);n=a+1}u=s}o+="\n";if(e.length-n>r&&u>n){o+=e.slice(n,u)+"\n"+e.slice(u+1)}else{o+=e.slice(n)}return o.slice(1)}function escapeString(e){var r="";var t,i;var n;for(var a=0;a=55296&&t<=56319){i=e.charCodeAt(a+1);if(i>=56320&&i<=57343){r+=encodeHex((t-55296)*1024+i-56320+65536);a++;continue}}n=P[t];r+=!n&&isPrintable(t)?e[a]:n||encodeHex(t)}return r}function writeFlowSequence(e,r,t){var i="",n=e.tag,a,u;for(a=0,u=t.length;a1024)l+="? ";l+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" ");if(!writeNode(e,r,f,false,false)){continue}l+=e.dump;i+=l}e.tag=n;e.dump="{"+i+"}"}function writeBlockMapping(e,r,t,i){var a="",u=e.tag,s=Object.keys(t),o,f,c,h,p,v;if(e.sortKeys===true){s.sort()}else if(typeof e.sortKeys==="function"){s.sort(e.sortKeys)}else if(e.sortKeys){throw new n("sortKeys must be a boolean or a function")}for(o=0,f=s.length;o1024;if(p){if(e.dump&&l===e.dump.charCodeAt(0)){v+="?"}else{v+="? "}}v+=e.dump;if(p){v+=generateNextLine(e,r)}if(!writeNode(e,r+1,h,true,p)){continue}if(e.dump&&l===e.dump.charCodeAt(0)){v+=":"}else{v+=": "}v+=e.dump;a+=v}e.tag=u;e.dump=a||"{}"}function detectType(e,r,t){var i,a,u,f,l,c;a=t?e.explicitTypes:e.implicitTypes;for(u=0,f=a.length;u tag resolver accepts not "'+c+'" style')}e.dump=i}return true}}return false}function writeNode(e,r,t,i,a,u){e.tag=null;e.dump=t;if(!detectType(e,t,false)){detectType(e,t,true)}var o=s.call(e.dump);if(i){i=e.flowLevel<0||e.flowLevel>r}var f=o==="[object Object]"||o==="[object Array]",l,c;if(f){l=e.duplicates.indexOf(t);c=l!==-1}if(e.tag!==null&&e.tag!=="?"||c||e.indent!==2&&r>0){a=false}if(c&&e.usedDuplicates[l]){e.dump="*ref_"+l}else{if(f&&c&&!e.usedDuplicates[l]){e.usedDuplicates[l]=true}if(o==="[object Object]"){if(i&&Object.keys(e.dump).length!==0){writeBlockMapping(e,r,e.dump,a);if(c){e.dump="&ref_"+l+e.dump}}else{writeFlowMapping(e,r,e.dump);if(c){e.dump="&ref_"+l+" "+e.dump}}}else if(o==="[object Array]"){var h=e.noArrayIndent&&r>0?r-1:r;if(i&&e.dump.length!==0){writeBlockSequence(e,h,e.dump,a);if(c){e.dump="&ref_"+l+e.dump}}else{writeFlowSequence(e,h,e.dump);if(c){e.dump="&ref_"+l+" "+e.dump}}}else if(o==="[object String]"){if(e.tag!=="?"){writeScalar(e,e.dump,r,u)}}else{if(e.skipInvalid)return false;throw new n("unacceptable kind of an object to dump "+o)}if(e.tag!==null&&e.tag!=="?"){e.dump="!<"+e.tag+"> "+e.dump}}return true}function getDuplicateReferences(e,r){var t=[],i=[],n,a;inspectNode(e,t,i);for(n=0,a=i.length;n=e.length){if(r)r[u]=e;return t(null,e)}o.lastIndex=c;var i=o.exec(e);v=h;h+=i[0];p=v+i[1];c=o.lastIndex;if(l[p]||r&&r[p]===p){return process.nextTick(LOOP)}if(r&&Object.prototype.hasOwnProperty.call(r,p)){return gotResolvedLink(r[p])}return a.lstat(p,gotStat)}function gotStat(e,i){if(e)return t(e);if(!i.isSymbolicLink()){l[p]=true;if(r)r[p]=p;return process.nextTick(LOOP)}if(!n){var u=i.dev.toString(32)+":"+i.ino.toString(32);if(s.hasOwnProperty(u)){return gotTarget(null,s[u],p)}}a.stat(p,function(e){if(e)return t(e);a.readlink(p,function(e,r){if(!n)s[u]=r;gotTarget(e,r)})})}function gotTarget(e,n,a){if(e)return t(e);var u=i.resolve(v,n);if(r)r[a]=u;gotResolvedLink(u)}function gotResolvedLink(r){e=i.resolve(r,e.slice(c));start()}}},,function(e){e.exports=[{long:"help",description:"output usage information",short:"h",type:"boolean",default:false},{long:"version",description:"output version number",short:"v",type:"boolean",default:false},{long:"output",description:"specify output location",short:"o",value:"[path]"},{long:"rc-path",description:"specify configuration file",short:"r",type:"string",value:""},{long:"ignore-path",description:"specify ignore file",short:"i",type:"string",value:""},{long:"setting",description:"specify settings",short:"s",type:"string",value:""},{long:"ext",description:"specify extensions",short:"e",type:"string",value:""},{long:"use",description:"use plugins",short:"u",type:"string",value:""},{long:"watch",description:"watch for changes and reprocess",short:"w",type:"boolean",default:false},{long:"quiet",description:"output only warnings and errors",short:"q",type:"boolean",default:false},{long:"silent",description:"output only errors",short:"S",type:"boolean",default:false},{long:"frail",description:"exit with 1 on warnings",short:"f",type:"boolean",default:false},{long:"tree",description:"specify input and output as syntax tree",short:"t",type:"boolean",default:false},{long:"report",description:"specify reporter",type:"string",value:""},{long:"file-path",description:"specify path to process as",type:"string",value:""},{long:"tree-in",description:"specify input as syntax tree",type:"boolean"},{long:"tree-out",description:"output syntax tree",type:"boolean"},{long:"inspect",description:"output formatted syntax tree",type:"boolean"},{long:"stdout",description:"specify writing to stdout",type:"boolean",truelike:true},{long:"color",description:"specify color in report",type:"boolean",default:true},{long:"config",description:"search for configuration files",type:"boolean",default:true},{long:"ignore",description:"search for ignore files",type:"boolean",default:true}]},,,,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(839);var u=t(526);e.exports=i("remark-lint:hard-break-spaces",hardBreakSpaces);var s="Use two spaces for hard line breaks";function hardBreakSpaces(e,r){var t=String(r);n(e,"break",visitor);function visitor(e){var i;if(!u(e)){i=t.slice(a.start(e).offset,a.end(e).offset).split("\n",1)[0].replace(/\r$/,"");if(i.length>2){r.message(s,e)}}}}},,,,function(e,r,t){"use strict";var i=t(171);e.exports=table;var n="\t";var a="\n";var u=" ";var s="-";var o=":";var f="\\";var l="`";var c="|";var h=1;var p=2;var v="left";var d="center";var D="right";function table(e,r,t){var m=this;var g;var E;var A;var C;var y;var w;var x;var b;var F;var S;var B;var k;var O;var P;var T;var I;var M;var L;var R;var j;var N;var U;var J;var z;if(!m.options.gfm){return}g=0;L=0;w=r.length+1;x=[];while(gU){if(L1){if(F){C+=b.slice(0,b.length-1);b=b.charAt(b.length-1)}else{C+=b;b=""}}I=e.now();e(C)({type:"tableCell",children:m.tokenizeInline(k,I)},y)}e(b+F);b="";k=""}}else{if(b){k+=b;b=""}k+=F;if(F===f&&g!==w-2){k+=R.charAt(g+1);g++}if(F===l){P=1;while(R.charAt(g+1)===F){k+=F;g++;P++}if(!T){T=P}else if(P>=T){T=0}}}O=false;g++}if(!M){e(a+E)}}return N}},function(e,r,t){"use strict";var i=t(211);function resolveJavascriptRegExp(e){if(e===null)return false;if(e.length===0)return false;var r=e,t=/\/([gim]*)$/.exec(e),i="";if(r[0]==="/"){if(t)i=t[1];if(i.length>3)return false;if(r[r.length-i.length-1]!=="/")return false}return true}function constructJavascriptRegExp(e){var r=e,t=/\/([gim]*)$/.exec(e),i="";if(r[0]==="/"){if(t)i=t[1];r=r.slice(1,r.length-i.length-1)}return new RegExp(r,i)}function representJavascriptRegExp(e){var r="/"+e.source+"/";if(e.global)r+="g";if(e.multiline)r+="m";if(e.ignoreCase)r+="i";return r}function isRegExp(e){return Object.prototype.toString.call(e)==="[object RegExp]"}e.exports=new i("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:resolveJavascriptRegExp,construct:constructJavascriptRegExp,predicate:isRegExp,represent:representJavascriptRegExp})},,,,,,,,,function(e){"use strict";e.exports=markdownTable;var r=/\./;var t=/\.[^.]*$/;var i="l";var n="r";var a="c";var u=".";var s="";var o=[i,n,a,u,s];var f=3;var l=":";var c="-";var h="|";var p=" ";var v="\n";function markdownTable(e,t){var d=t||{};var D=d.delimiter;var m=d.start;var g=d.end;var E=d.align;var A=d.stringLength||lengthNoop;var C=0;var y=-1;var w=e.length;var x=[];var b;var F;var S;var B;var k;var O;var P;var T;var I;var M;var L;var R;E=E?E.concat():[];if(D===null||D===undefined){D=p+h+p}if(m===null||m===undefined){m=h+p}if(g===null||g===undefined){g=p+h}while(++yC){C=B.length}while(++Ox[O]){x[O]=P}}}if(typeof E==="string"){E=pad(C,E).split("")}O=-1;while(++Ox[O]){x[O]=T}}}y=-1;while(++yf?M:f}else{M=x[O]}b=E[O];I=b===n||b===s?c:l;I+=pad(M-2,c);I+=b!==i&&b!==s?l:c;F[O]=I}S.splice(1,0,F.join(D))}return m+S.join(g+v+m)+g}function stringify(e){return e===null||e===undefined?"":String(e)}function lengthNoop(e){return String(e).length}function pad(e,r){return new Array(e+1).join(r||p)}function dotindex(e){var r=t.exec(e);return r?r.index+1:e.length}},,,,,function(e,r,t){e.exports=t(688)},,,,,function(e,r,t){"use strict";var i=t(12);e.exports=Writable;function WriteReq(e,r,t){this.chunk=e;this.encoding=r;this.callback=t;this.next=null}function CorkedRequest(e){var r=this;this.next=null;this.entry=null;this.finish=function(){onCorkedFinish(r,e)}}var n=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:i.nextTick;var a;Writable.WritableState=WritableState;var u=t(683);u.inherits=t(780);var s={deprecate:t(507)};var o=t(569);var f=t(945).Buffer;var l=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return f.from(e)}function _isUint8Array(e){return f.isBuffer(e)||e instanceof l}var c=t(972);u.inherits(Writable,o);function nop(){}function WritableState(e,r){a=a||t(98);e=e||{};var i=r instanceof a;this.objectMode=!!e.objectMode;if(i)this.objectMode=this.objectMode||!!e.writableObjectMode;var n=e.highWaterMark;var u=e.writableHighWaterMark;var s=this.objectMode?16:16*1024;if(n||n===0)this.highWaterMark=n;else if(i&&(u||u===0))this.highWaterMark=u;else this.highWaterMark=s;this.highWaterMark=Math.floor(this.highWaterMark);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var o=e.decodeStrings===false;this.decodeStrings=!o;this.defaultEncoding=e.defaultEncoding||"utf8";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(e){onwrite(r,e)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){var e=this.bufferedRequest;var r=[];while(e){r.push(e);e=e.next}return r};(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:s.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer "+"instead.","DEP0003")})}catch(e){}})();var h;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function"){h=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:function(e){if(h.call(this,e))return true;if(this!==Writable)return false;return e&&e._writableState instanceof WritableState}})}else{h=function(e){return e instanceof this}}function Writable(e){a=a||t(98);if(!h.call(Writable,this)&&!(this instanceof a)){return new Writable(e)}this._writableState=new WritableState(e,this);this.writable=true;if(e){if(typeof e.write==="function")this._write=e.write;if(typeof e.writev==="function")this._writev=e.writev;if(typeof e.destroy==="function")this._destroy=e.destroy;if(typeof e.final==="function")this._final=e.final}o.call(this)}Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function writeAfterEnd(e,r){var t=new Error("write after end");e.emit("error",t);i.nextTick(r,t)}function validChunk(e,r,t,n){var a=true;var u=false;if(t===null){u=new TypeError("May not write null values to stream")}else if(typeof t!=="string"&&t!==undefined&&!r.objectMode){u=new TypeError("Invalid non-string/buffer chunk")}if(u){e.emit("error",u);i.nextTick(n,u);a=false}return a}Writable.prototype.write=function(e,r,t){var i=this._writableState;var n=false;var a=!i.objectMode&&_isUint8Array(e);if(a&&!f.isBuffer(e)){e=_uint8ArrayToBuffer(e)}if(typeof r==="function"){t=r;r=null}if(a)r="buffer";else if(!r)r=i.defaultEncoding;if(typeof t!=="function")t=nop;if(i.ended)writeAfterEnd(this,t);else if(a||validChunk(this,i,e,t)){i.pendingcb++;n=writeOrBuffer(this,i,a,e,r,t)}return n};Writable.prototype.cork=function(){var e=this._writableState;e.corked++};Writable.prototype.uncork=function(){var e=this._writableState;if(e.corked){e.corked--;if(!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest)clearBuffer(this,e)}};Writable.prototype.setDefaultEncoding=function setDefaultEncoding(e){if(typeof e==="string")e=e.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);this._writableState.defaultEncoding=e;return this};function decodeChunk(e,r,t){if(!e.objectMode&&e.decodeStrings!==false&&typeof r==="string"){r=f.from(r,t)}return r}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:function(){return this._writableState.highWaterMark}});function writeOrBuffer(e,r,t,i,n,a){if(!t){var u=decodeChunk(r,i,n);if(i!==u){t=true;n="buffer";i=u}}var s=r.objectMode?1:i.length;r.length+=s;var o=r.length=b){b=0}}else if(E===v){g++;B+=r.charAt(g)}else if((!b||y)&&E===p){L++}else if((!b||y)&&E===d){if(L){L--}else{if(!A){while(gn){return false}}return check(e,i,t)&&check(e,m)}function isKnown(e,r,t){var i=o?o.indexOf(e)!==-1:true;if(!i){h.warn("Unknown rule: cannot "+r+" `'"+e+"'`",t)}return i}function getState(e){var r=e?D[e]:m;if(r&&r.length!==0){return r[r.length-1].state}if(!e){return!f}if(f){return l.indexOf(e)!==-1}return c.indexOf(e)===-1}function toggle(e,r,t){var i=t?D[t]:m;var n;var a;if(!i){i=[];D[t]=i}a=getState(t);n=r;if(n!==a){i.push({state:n,position:e})}if(!t){for(t in D){toggle(e,r,t)}}}function check(e,r,t){var i=r&&r.length;var n=-1;var a;while(--i>n){a=r[i];if(!a.position||!a.position.line||!a.position.column){continue}if(a.position.line=e){return}if(u){s.push({start:n,end:e});u=false}n=e}}},,function(e){"use strict";e.exports=orderedItems;var r="\n";var t=".";var i=r+r;function orderedItems(e){var n=this;var a=n.visitors.listItem;var u=n.options.incrementListMarker;var s=[];var o=e.start;var f=e.children;var l=f.length;var c=-1;var h;o=o==null?1:o;while(++c1;var p=c;var v=r.path;if(!u(p)){a("Not copying");return i()}p=f(e.cwd,p);a("Copying `%s`",v);s(p,onstatfile);function onstatfile(e,r){if(e){if(e.code!=="ENOENT"||c.charAt(c.length-1)===n.sep){return i(new Error("Cannot read output directory. Error:\n"+e.message))}s(o(p),onstatparent)}else{done(r.isDirectory())}}function onstatparent(e){if(e){i(new Error("Cannot read parent directory. Error:\n"+e.message))}else{done(false)}}function done(e){if(!e&&h){return i(new Error("Cannot write multiple files to single output: "+p))}r[e?"dirname":"path"]=l(r.cwd,p);a("Copying document from %s to %s",v,r.path);i()}}},function(e,r){"use strict";var t="[a-zA-Z_:][a-zA-Z0-9:._-]*";var i="[^\"'=<>`\\u0000-\\u0020]+";var n="'[^']*'";var a='"[^"]*"';var u="(?:"+i+"|"+n+"|"+a+")";var s="(?:\\s+"+t+"(?:\\s*=\\s*"+u+")?)";var o="<[A-Za-z][A-Za-z0-9\\-]*"+s+"*\\s*\\/?>";var f="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";var l="\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e";var c="<[?].*?[?]>";var h="]*>";var p="";r.openCloseTag=new RegExp("^(?:"+o+"|"+f+")");r.tag=new RegExp("^(?:"+o+"|"+f+"|"+l+"|"+c+"|"+h+"|"+p+")")},,function(e){e.exports=require("path")},,,,function(e,r,t){"use strict";var i=t(36);var n=t(171);var a=t(511);e.exports=strong;strong.locator=a;var u="\\";var s="*";var o="_";function strong(e,r,t){var a=this;var f=0;var l=r.charAt(f);var c;var h;var p;var v;var d;var D;var m;if(l!==s&&l!==o||r.charAt(++f)!==l){return}h=a.options.pedantic;p=l;d=p+p;D=r.length;f++;v="";l="";if(h&&n(r.charAt(f))){return}while(f0){return parse(e)}else if(t==="number"&&isNaN(e)===false){return r.long?fmtLong(e):fmtShort(e)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function parse(e){e=String(e);if(e.length>100){return}var s=/^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!s){return}var o=parseFloat(s[1]);var f=(s[2]||"ms").toLowerCase();switch(f){case"years":case"year":case"yrs":case"yr":case"y":return o*u;case"weeks":case"week":case"w":return o*a;case"days":case"day":case"d":return o*n;case"hours":case"hour":case"hrs":case"hr":case"h":return o*i;case"minutes":case"minute":case"mins":case"min":case"m":return o*t;case"seconds":case"second":case"secs":case"sec":case"s":return o*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return undefined}}function fmtShort(e){var a=Math.abs(e);if(a>=n){return Math.round(e/n)+"d"}if(a>=i){return Math.round(e/i)+"h"}if(a>=t){return Math.round(e/t)+"m"}if(a>=r){return Math.round(e/r)+"s"}return e+"ms"}function fmtLong(e){var a=Math.abs(e);if(a>=n){return plural(e,a,n,"day")}if(a>=i){return plural(e,a,i,"hour")}if(a>=t){return plural(e,a,t,"minute")}if(a>=r){return plural(e,a,r,"second")}return e+" ms"}function plural(e,r,t,i){var n=r>=t*1.5;return Math.round(e/t)+" "+i+(n?"s":"")}},function(e,r){r.parse=r.decode=decode;r.stringify=r.encode=encode;r.safe=safe;r.unsafe=unsafe;var t=typeof process!=="undefined"&&process.platform==="win32"?"\r\n":"\n";function encode(e,r){var i=[];var n="";if(typeof r==="string"){r={section:r,whitespace:false}}else{r=r||{};r.whitespace=r.whitespace===true}var a=r.whitespace?" = ":"=";Object.keys(e).forEach(function(r,u,s){var o=e[r];if(o&&Array.isArray(o)){o.forEach(function(e){n+=safe(r+"[]")+a+safe(e)+"\n"})}else if(o&&typeof o==="object"){i.push(r)}else{n+=safe(r)+a+safe(o)+t}});if(r.section&&n.length){n="["+safe(r.section)+"]"+t+n}i.forEach(function(i,a,u){var s=dotSplit(i).join("\\.");var o=(r.section?r.section+".":"")+s;var f=encode(e[i],{section:o,whitespace:r.whitespace});if(n.length&&f.length){n+=t}n+=f});return n}function dotSplit(e){return e.replace(/\1/g,"LITERAL\\1LITERAL").replace(/\\\./g,"").split(/\./).map(function(e){return e.replace(/\1/g,"\\.").replace(/\2LITERAL\\1LITERAL\2/g,"")})}function decode(e){var r={};var t=r;var i=null;var n=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i;var a=e.split(/[\r\n]+/g);a.forEach(function(e,a,u){if(!e||e.match(/^\s*[;#]/))return;var s=e.match(n);if(!s)return;if(s[1]!==undefined){i=unsafe(s[1]);t=r[i]=r[i]||{};return}var o=unsafe(s[2]);var f=s[3]?unsafe(s[4]):true;switch(f){case"true":case"false":case"null":f=JSON.parse(f)}if(o.length>2&&o.slice(-2)==="[]"){o=o.substring(0,o.length-2);if(!t[o]){t[o]=[]}else if(!Array.isArray(t[o])){t[o]=[t[o]]}}if(Array.isArray(t[o])){t[o].push(f)}else{t[o]=f}});Object.keys(r).filter(function(e,t,i){if(!r[e]||typeof r[e]!=="object"||Array.isArray(r[e])){return false}var n=dotSplit(e);var a=r;var u=n.pop();var s=u.replace(/\\\./g,".");n.forEach(function(e,r,t){if(!a[e]||typeof a[e]!=="object")a[e]={};a=a[e]});if(a===r&&s===u){return false}a[s]=r[e];return true}).forEach(function(e,t,i){delete r[e]});return r}function isQuoted(e){return e.charAt(0)==='"'&&e.slice(-1)==='"'||e.charAt(0)==="'"&&e.slice(-1)==="'"}function safe(e){return typeof e!=="string"||e.match(/[=\r\n]/)||e.match(/^\[/)||e.length>1&&isQuoted(e)||e!==e.trim()?JSON.stringify(e):e.replace(/;/g,"\\;").replace(/#/g,"\\#")}function unsafe(e,r){e=(e||"").trim();if(isQuoted(e)){if(e.charAt(0)==="'"){e=e.substr(1,e.length-2)}try{e=JSON.parse(e)}catch(e){}}else{var t=false;var i="";for(var n=0,a=e.length;n="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||n.ID_Start.test(e)}function isIdContinueChar(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="‌"||e==="‍"||n.ID_Continue.test(e)}function isDigit(e){return/[0-9]/.test(e)}function isHexDigit(e){return/[0-9A-Fa-f]/.test(e)}},,function(e){"use strict";e.exports=(e=>{if(Number.isNaN(e)){return false}if(e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141)){return true}return false})},,,,,,,,,function(e,r,t){"use strict";e.exports.plugins=[t(889),t(424),t(725),t(137),t(339),t(767),t(550),t(550),[t(890),"space"],t(164),t(223),t(127),t(816),t(667),t(380),t(911),t(33),t(758),t(9),t(273),t(926),t(121),t(55),t(72),t(522),t(842),t(467),t(314),[t(166),2],[t(112),{checked:"x",unchecked:" "}],[t(301),"fenced"],[t(386),"`"],[t(451),"md"],[t(284),1],[t(675),"atx"],[t(455),[{no:"End-Of-Life",yes:"End-of-Life"},{no:"End-of-life",yes:"End-of-Life"},{no:"Github",yes:"GitHub"},{no:"Javascript",yes:"JavaScript"},{no:"Node.JS",yes:"Node.js"},{no:"Note that",yes:""},{no:"note that",yes:""},{no:"Rfc",yes:"RFC"},{no:"[Rr][Ff][Cc]\\d+",yes:"RFC "},{no:"rfc",yes:"RFC"},{no:"v8",yes:"V8"}]],[t(108),"*"],[t(435),"padded"]]},,function(e){e.exports=["cent","copy","divide","gt","lt","not","para","times"]},,function(e,r,t){"use strict";e.exports=t(447)},function(e,r,t){e.exports=minimatch;minimatch.Minimatch=Minimatch;var i={sep:"/"};try{i=t(589)}catch(e){}var n=minimatch.GLOBSTAR=Minimatch.GLOBSTAR={};var a=t(348);var u={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}};var s="[^/]";var o=s+"*?";var f="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var l="(?:(?!(?:\\/|^)\\.).)*?";var c=charSet("().*{}+?[]^$\\!");function charSet(e){return e.split("").reduce(function(e,r){e[r]=true;return e},{})}var h=/\/+/;minimatch.filter=filter;function filter(e,r){r=r||{};return function(t,i,n){return minimatch(t,e,r)}}function ext(e,r){e=e||{};r=r||{};var t={};Object.keys(r).forEach(function(e){t[e]=r[e]});Object.keys(e).forEach(function(r){t[r]=e[r]});return t}minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return minimatch;var r=minimatch;var t=function minimatch(t,i,n){return r.minimatch(t,i,ext(e,n))};t.Minimatch=function Minimatch(t,i){return new r.Minimatch(t,ext(e,i))};return t};Minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return Minimatch;return minimatch.defaults(e).Minimatch};function minimatch(e,r,t){if(typeof r!=="string"){throw new TypeError("glob pattern string required")}if(!t)t={};if(!t.nocomment&&r.charAt(0)==="#"){return false}if(r.trim()==="")return e==="";return new Minimatch(r,t).match(e)}function Minimatch(e,r){if(!(this instanceof Minimatch)){return new Minimatch(e,r)}if(typeof e!=="string"){throw new TypeError("glob pattern string required")}if(!r)r={};e=e.trim();if(i.sep!=="/"){e=e.split(i.sep).join("/")}this.options=r;this.set=[];this.pattern=e;this.regexp=null;this.negate=false;this.comment=false;this.empty=false;this.make()}Minimatch.prototype.debug=function(){};Minimatch.prototype.make=make;function make(){if(this._made)return;var e=this.pattern;var r=this.options;if(!r.nocomment&&e.charAt(0)==="#"){this.comment=true;return}if(!e){this.empty=true;return}this.parseNegate();var t=this.globSet=this.braceExpand();if(r.debug)this.debug=console.error;this.debug(this.pattern,t);t=this.globParts=t.map(function(e){return e.split(h)});this.debug(this.pattern,t);t=t.map(function(e,r,t){return e.map(this.parse,this)},this);this.debug(this.pattern,t);t=t.filter(function(e){return e.indexOf(false)===-1});this.debug(this.pattern,t);this.set=t}Minimatch.prototype.parseNegate=parseNegate;function parseNegate(){var e=this.pattern;var r=false;var t=this.options;var i=0;if(t.nonegate)return;for(var n=0,a=e.length;n1024*64){throw new TypeError("pattern is too long")}var t=this.options;if(!t.noglobstar&&e==="**")return n;if(e==="")return"";var i="";var a=!!t.nocase;var f=false;var l=[];var h=[];var v;var d=false;var D=-1;var m=-1;var g=e.charAt(0)==="."?"":t.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)";var E=this;function clearStateChar(){if(v){switch(v){case"*":i+=o;a=true;break;case"?":i+=s;a=true;break;default:i+="\\"+v;break}E.debug("clearStateChar %j %j",v,i);v=false}}for(var A=0,C=e.length,y;A-1;k--){var O=h[k];var P=i.slice(0,O.reStart);var T=i.slice(O.reStart,O.reEnd-8);var I=i.slice(O.reEnd-8,O.reEnd);var M=i.slice(O.reEnd);I+=M;var L=P.split("(").length-1;var R=M;for(A=0;A=0;u--){a=e[u];if(a)break}for(u=0;u>> no match, partial?",e,c,r,h);if(c===s)return true}return false}var v;if(typeof f==="string"){if(i.nocase){v=l.toLowerCase()===f.toLowerCase()}else{v=l===f}this.debug("string match",f,l,v)}else{v=l.match(f);this.debug("pattern match",f,l,v)}if(!v)return false}if(a===s&&u===o){return true}else if(a===s){return t}else if(u===o){var d=a===s-1&&e[a]==="";return d}throw new Error("wtf?")};function globUnescape(e){return e.replace(/\\(.)/g,"$1")}function regExpEscape(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}},,,function(e){"use strict";e.exports=function(e){if(typeof e!=="function"){throw new TypeError("Expected a function")}return e.displayName||e.name||(/function ([^\(]+)?\(/.exec(e.toString())||[])[1]||null}},function(e){"use strict";e.exports=(()=>{const e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|");return new RegExp(e,"g")})},,,function(e,r,t){"use strict";var i=t(304);var n=t(948);e.exports=fileSystem;function fileSystem(e,r,t){var a=e.files;if(a.length===0){t()}else{n(a,{cwd:r.cwd,extensions:r.extensions,silentlyIgnore:r.silentlyIgnore,ignore:new i({cwd:r.cwd,detectIgnore:r.detectIgnore,ignoreName:r.ignoreName,ignorePath:r.ignorePath})},onfound)}function onfound(i,n){var a=n.files;a.sort(sortAlphabetically);a.forEach(markAsGiven);e.files=a;if(r.out===null||r.out===undefined){r.out=n.oneFileMode}t(i)}function markAsGiven(e){e.data.unifiedEngineGiven=true}function sortAlphabetically(e,r){return e.pathi){i=t}}else{t=1}n=a+1;a=e.indexOf(r,n)}return i}},function(e,r,t){"use strict";var i=t(347)("unified-engine:file-pipeline:stdout");var n=t(928);e.exports=stdout;function stdout(e,r,t,a){if(!r.data.unifiedEngineGiven){i("Ignoring programmatically added file");a()}else if(n(r).fatal||e.output||!e.out){i("Ignoring writing to `streamOut`");a()}else{i("Writing document to `streamOut`");e.streamOut.write(r.toString(),a)}}},,,function(e,r,t){"use strict";var i=t(56);var n=t(503);e.exports=toVFile;function toVFile(e){if(typeof e==="string"||i(e)){e={path:String(e)}}return n(e)}},,,,function(e){(function webpackUniversalModuleDefinition(r,t){if(true)e.exports=t();else{}})(this,function(){return function(e){var r={};function __webpack_require__(t){if(r[t])return r[t].exports;var i=r[t]={exports:{},id:t,loaded:false};e[t].call(i.exports,i,i.exports,__webpack_require__);i.loaded=true;return i.exports}__webpack_require__.m=e;__webpack_require__.c=r;__webpack_require__.p="";return __webpack_require__(0)}([function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(1);var n=t(3);var a=t(8);var u=t(15);function parse(e,r,t){var u=null;var s=function(e,r){if(t){t(e,r)}if(u){u.visit(e,r)}};var o=typeof t==="function"?s:null;var f=false;if(r){f=typeof r.comment==="boolean"&&r.comment;var l=typeof r.attachComment==="boolean"&&r.attachComment;if(f||l){u=new i.CommentHandler;u.attach=l;r.comment=true;o=s}}var c=false;if(r&&typeof r.sourceType==="string"){c=r.sourceType==="module"}var h;if(r&&typeof r.jsx==="boolean"&&r.jsx){h=new n.JSXParser(e,r,o)}else{h=new a.Parser(e,r,o)}var p=c?h.parseModule():h.parseScript();var v=p;if(f&&u){v.comments=u.comments}if(h.config.tokens){v.tokens=h.tokens}if(h.config.tolerant){v.errors=h.errorHandler.errors}return v}r.parse=parse;function parseModule(e,r,t){var i=r||{};i.sourceType="module";return parse(e,i,t)}r.parseModule=parseModule;function parseScript(e,r,t){var i=r||{};i.sourceType="script";return parse(e,i,t)}r.parseScript=parseScript;function tokenize(e,r,t){var i=new u.Tokenizer(e,r);var n;n=[];try{while(true){var a=i.getNextToken();if(!a){break}if(t){a=t(a)}n.push(a)}}catch(e){i.errorHandler.tolerate(e)}if(i.errorHandler.tolerant){n.errors=i.errors()}return n}r.tokenize=tokenize;var s=t(2);r.Syntax=s.Syntax;r.version="4.0.1"},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(2);var n=function(){function CommentHandler(){this.attach=false;this.comments=[];this.stack=[];this.leading=[];this.trailing=[]}CommentHandler.prototype.insertInnerComments=function(e,r){if(e.type===i.Syntax.BlockStatement&&e.body.length===0){var t=[];for(var n=this.leading.length-1;n>=0;--n){var a=this.leading[n];if(r.end.offset>=a.start){t.unshift(a.comment);this.leading.splice(n,1);this.trailing.splice(n,1)}}if(t.length){e.innerComments=t}}};CommentHandler.prototype.findTrailingComments=function(e){var r=[];if(this.trailing.length>0){for(var t=this.trailing.length-1;t>=0;--t){var i=this.trailing[t];if(i.start>=e.end.offset){r.unshift(i.comment)}}this.trailing.length=0;return r}var n=this.stack[this.stack.length-1];if(n&&n.node.trailingComments){var a=n.node.trailingComments[0];if(a&&a.range[0]>=e.end.offset){r=n.node.trailingComments;delete n.node.trailingComments}}return r};CommentHandler.prototype.findLeadingComments=function(e){var r=[];var t;while(this.stack.length>0){var i=this.stack[this.stack.length-1];if(i&&i.start>=e.start.offset){t=i.node;this.stack.pop()}else{break}}if(t){var n=t.leadingComments?t.leadingComments.length:0;for(var a=n-1;a>=0;--a){var u=t.leadingComments[a];if(u.range[1]<=e.start.offset){r.unshift(u);t.leadingComments.splice(a,1)}}if(t.leadingComments&&t.leadingComments.length===0){delete t.leadingComments}return r}for(var a=this.leading.length-1;a>=0;--a){var i=this.leading[a];if(i.start<=e.start.offset){r.unshift(i.comment);this.leading.splice(a,1)}}return r};CommentHandler.prototype.visitNode=function(e,r){if(e.type===i.Syntax.Program&&e.body.length>0){return}this.insertInnerComments(e,r);var t=this.findTrailingComments(r);var n=this.findLeadingComments(r);if(n.length>0){e.leadingComments=n}if(t.length>0){e.trailingComments=t}this.stack.push({node:e,start:r.start.offset})};CommentHandler.prototype.visitComment=function(e,r){var t=e.type[0]==="L"?"Line":"Block";var i={type:t,value:e.value};if(e.range){i.range=e.range}if(e.loc){i.loc=e.loc}this.comments.push(i);if(this.attach){var n={comment:{type:t,value:e.value,range:[r.start.offset,r.end.offset]},start:r.start.offset};if(e.loc){n.comment.loc=e.loc}e.type=t;this.leading.push(n);this.trailing.push(n)}};CommentHandler.prototype.visit=function(e,r){if(e.type==="LineComment"){this.visitComment(e,r)}else if(e.type==="BlockComment"){this.visitComment(e,r)}else if(this.attach){this.visitNode(e,r)}};return CommentHandler}();r.CommentHandler=n},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});r.Syntax={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForOfStatement:"ForOfStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"}},function(e,r,t){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)if(r.hasOwnProperty(t))e[t]=r[t]};return function(r,t){e(r,t);function __(){this.constructor=r}r.prototype=t===null?Object.create(t):(__.prototype=t.prototype,new __)}}();Object.defineProperty(r,"__esModule",{value:true});var n=t(4);var a=t(5);var u=t(6);var s=t(7);var o=t(8);var f=t(13);var l=t(14);f.TokenName[100]="JSXIdentifier";f.TokenName[101]="JSXText";function getQualifiedElementName(e){var r;switch(e.type){case u.JSXSyntax.JSXIdentifier:var t=e;r=t.name;break;case u.JSXSyntax.JSXNamespacedName:var i=e;r=getQualifiedElementName(i.namespace)+":"+getQualifiedElementName(i.name);break;case u.JSXSyntax.JSXMemberExpression:var n=e;r=getQualifiedElementName(n.object)+"."+getQualifiedElementName(n.property);break;default:break}return r}var c=function(e){i(JSXParser,e);function JSXParser(r,t,i){return e.call(this,r,t,i)||this}JSXParser.prototype.parsePrimaryExpression=function(){return this.match("<")?this.parseJSXRoot():e.prototype.parsePrimaryExpression.call(this)};JSXParser.prototype.startJSX=function(){this.scanner.index=this.startMarker.index;this.scanner.lineNumber=this.startMarker.line;this.scanner.lineStart=this.startMarker.index-this.startMarker.column};JSXParser.prototype.finishJSX=function(){this.nextToken()};JSXParser.prototype.reenterJSX=function(){this.startJSX();this.expectJSX("}");if(this.config.tokens){this.tokens.pop()}};JSXParser.prototype.createJSXNode=function(){this.collectComments();return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}};JSXParser.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}};JSXParser.prototype.scanXHTMLEntity=function(e){var r="&";var t=true;var i=false;var a=false;var u=false;while(!this.scanner.eof()&&t&&!i){var s=this.scanner.source[this.scanner.index];if(s===e){break}i=s===";";r+=s;++this.scanner.index;if(!i){switch(r.length){case 2:a=s==="#";break;case 3:if(a){u=s==="x";t=u||n.Character.isDecimalDigit(s.charCodeAt(0));a=a&&!u}break;default:t=t&&!(a&&!n.Character.isDecimalDigit(s.charCodeAt(0)));t=t&&!(u&&!n.Character.isHexDigit(s.charCodeAt(0)));break}}}if(t&&i&&r.length>2){var o=r.substr(1,r.length-2);if(a&&o.length>1){r=String.fromCharCode(parseInt(o.substr(1),10))}else if(u&&o.length>2){r=String.fromCharCode(parseInt("0"+o.substr(1),16))}else if(!a&&!u&&l.XHTMLEntities[o]){r=l.XHTMLEntities[o]}}return r};JSXParser.prototype.lexJSX=function(){var e=this.scanner.source.charCodeAt(this.scanner.index);if(e===60||e===62||e===47||e===58||e===61||e===123||e===125){var r=this.scanner.source[this.scanner.index++];return{type:7,value:r,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index}}if(e===34||e===39){var t=this.scanner.index;var i=this.scanner.source[this.scanner.index++];var a="";while(!this.scanner.eof()){var u=this.scanner.source[this.scanner.index++];if(u===i){break}else if(u==="&"){a+=this.scanXHTMLEntity(i)}else{a+=u}}return{type:8,value:a,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(e===46){var s=this.scanner.source.charCodeAt(this.scanner.index+1);var o=this.scanner.source.charCodeAt(this.scanner.index+2);var r=s===46&&o===46?"...":".";var t=this.scanner.index;this.scanner.index+=r.length;return{type:7,value:r,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(e===96){return{type:10,value:"",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index}}if(n.Character.isIdentifierStart(e)&&e!==92){var t=this.scanner.index;++this.scanner.index;while(!this.scanner.eof()){var u=this.scanner.source.charCodeAt(this.scanner.index);if(n.Character.isIdentifierPart(u)&&u!==92){++this.scanner.index}else if(u===45){++this.scanner.index}else{break}}var f=this.scanner.source.slice(t,this.scanner.index);return{type:100,value:f,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}return this.scanner.lex()};JSXParser.prototype.nextJSXToken=function(){this.collectComments();this.startMarker.index=this.scanner.index;this.startMarker.line=this.scanner.lineNumber;this.startMarker.column=this.scanner.index-this.scanner.lineStart;var e=this.lexJSX();this.lastMarker.index=this.scanner.index;this.lastMarker.line=this.scanner.lineNumber;this.lastMarker.column=this.scanner.index-this.scanner.lineStart;if(this.config.tokens){this.tokens.push(this.convertToken(e))}return e};JSXParser.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index;this.startMarker.line=this.scanner.lineNumber;this.startMarker.column=this.scanner.index-this.scanner.lineStart;var e=this.scanner.index;var r="";while(!this.scanner.eof()){var t=this.scanner.source[this.scanner.index];if(t==="{"||t==="<"){break}++this.scanner.index;r+=t;if(n.Character.isLineTerminator(t.charCodeAt(0))){++this.scanner.lineNumber;if(t==="\r"&&this.scanner.source[this.scanner.index]==="\n"){++this.scanner.index}this.scanner.lineStart=this.scanner.index}}this.lastMarker.index=this.scanner.index;this.lastMarker.line=this.scanner.lineNumber;this.lastMarker.column=this.scanner.index-this.scanner.lineStart;var i={type:101,value:r,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:e,end:this.scanner.index};if(r.length>0&&this.config.tokens){this.tokens.push(this.convertToken(i))}return i};JSXParser.prototype.peekJSXToken=function(){var e=this.scanner.saveState();this.scanner.scanComments();var r=this.lexJSX();this.scanner.restoreState(e);return r};JSXParser.prototype.expectJSX=function(e){var r=this.nextJSXToken();if(r.type!==7||r.value!==e){this.throwUnexpectedToken(r)}};JSXParser.prototype.matchJSX=function(e){var r=this.peekJSXToken();return r.type===7&&r.value===e};JSXParser.prototype.parseJSXIdentifier=function(){var e=this.createJSXNode();var r=this.nextJSXToken();if(r.type!==100){this.throwUnexpectedToken(r)}return this.finalize(e,new a.JSXIdentifier(r.value))};JSXParser.prototype.parseJSXElementName=function(){var e=this.createJSXNode();var r=this.parseJSXIdentifier();if(this.matchJSX(":")){var t=r;this.expectJSX(":");var i=this.parseJSXIdentifier();r=this.finalize(e,new a.JSXNamespacedName(t,i))}else if(this.matchJSX(".")){while(this.matchJSX(".")){var n=r;this.expectJSX(".");var u=this.parseJSXIdentifier();r=this.finalize(e,new a.JSXMemberExpression(n,u))}}return r};JSXParser.prototype.parseJSXAttributeName=function(){var e=this.createJSXNode();var r;var t=this.parseJSXIdentifier();if(this.matchJSX(":")){var i=t;this.expectJSX(":");var n=this.parseJSXIdentifier();r=this.finalize(e,new a.JSXNamespacedName(i,n))}else{r=t}return r};JSXParser.prototype.parseJSXStringLiteralAttribute=function(){var e=this.createJSXNode();var r=this.nextJSXToken();if(r.type!==8){this.throwUnexpectedToken(r)}var t=this.getTokenRaw(r);return this.finalize(e,new s.Literal(r.value,t))};JSXParser.prototype.parseJSXExpressionAttribute=function(){var e=this.createJSXNode();this.expectJSX("{");this.finishJSX();if(this.match("}")){this.tolerateError("JSX attributes must only be assigned a non-empty expression")}var r=this.parseAssignmentExpression();this.reenterJSX();return this.finalize(e,new a.JSXExpressionContainer(r))};JSXParser.prototype.parseJSXAttributeValue=function(){return this.matchJSX("{")?this.parseJSXExpressionAttribute():this.matchJSX("<")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()};JSXParser.prototype.parseJSXNameValueAttribute=function(){var e=this.createJSXNode();var r=this.parseJSXAttributeName();var t=null;if(this.matchJSX("=")){this.expectJSX("=");t=this.parseJSXAttributeValue()}return this.finalize(e,new a.JSXAttribute(r,t))};JSXParser.prototype.parseJSXSpreadAttribute=function(){var e=this.createJSXNode();this.expectJSX("{");this.expectJSX("...");this.finishJSX();var r=this.parseAssignmentExpression();this.reenterJSX();return this.finalize(e,new a.JSXSpreadAttribute(r))};JSXParser.prototype.parseJSXAttributes=function(){var e=[];while(!this.matchJSX("/")&&!this.matchJSX(">")){var r=this.matchJSX("{")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();e.push(r)}return e};JSXParser.prototype.parseJSXOpeningElement=function(){var e=this.createJSXNode();this.expectJSX("<");var r=this.parseJSXElementName();var t=this.parseJSXAttributes();var i=this.matchJSX("/");if(i){this.expectJSX("/")}this.expectJSX(">");return this.finalize(e,new a.JSXOpeningElement(r,i,t))};JSXParser.prototype.parseJSXBoundaryElement=function(){var e=this.createJSXNode();this.expectJSX("<");if(this.matchJSX("/")){this.expectJSX("/");var r=this.parseJSXElementName();this.expectJSX(">");return this.finalize(e,new a.JSXClosingElement(r))}var t=this.parseJSXElementName();var i=this.parseJSXAttributes();var n=this.matchJSX("/");if(n){this.expectJSX("/")}this.expectJSX(">");return this.finalize(e,new a.JSXOpeningElement(t,n,i))};JSXParser.prototype.parseJSXEmptyExpression=function(){var e=this.createJSXChildNode();this.collectComments();this.lastMarker.index=this.scanner.index;this.lastMarker.line=this.scanner.lineNumber;this.lastMarker.column=this.scanner.index-this.scanner.lineStart;return this.finalize(e,new a.JSXEmptyExpression)};JSXParser.prototype.parseJSXExpressionContainer=function(){var e=this.createJSXNode();this.expectJSX("{");var r;if(this.matchJSX("}")){r=this.parseJSXEmptyExpression();this.expectJSX("}")}else{this.finishJSX();r=this.parseAssignmentExpression();this.reenterJSX()}return this.finalize(e,new a.JSXExpressionContainer(r))};JSXParser.prototype.parseJSXChildren=function(){var e=[];while(!this.scanner.eof()){var r=this.createJSXChildNode();var t=this.nextJSXText();if(t.start0){var s=this.finalize(e.node,new a.JSXElement(e.opening,e.children,e.closing));e=r[r.length-1];e.children.push(s);r.pop()}else{break}}}return e};JSXParser.prototype.parseJSXElement=function(){var e=this.createJSXNode();var r=this.parseJSXOpeningElement();var t=[];var i=null;if(!r.selfClosing){var n=this.parseComplexJSXElement({node:e,opening:r,closing:i,children:t});t=n.children;i=n.closing}return this.finalize(e,new a.JSXElement(r,t,i))};JSXParser.prototype.parseJSXRoot=function(){if(this.config.tokens){this.tokens.pop()}this.startJSX();var e=this.parseJSXElement();this.finishJSX();return e};JSXParser.prototype.isStartOfExpression=function(){return e.prototype.isStartOfExpression.call(this)||this.match("<")};return JSXParser}(o.Parser);r.JSXParser=c},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});var t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};r.Character={fromCodePoint:function(e){return e<65536?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10))+String.fromCharCode(56320+(e-65536&1023))},isWhiteSpace:function(e){return e===32||e===9||e===11||e===12||e===160||e>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0},isLineTerminator:function(e){return e===10||e===13||e===8232||e===8233},isIdentifierStart:function(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e===92||e>=128&&t.NonAsciiIdentifierStart.test(r.Character.fromCodePoint(e))},isIdentifierPart:function(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===92||e>=128&&t.NonAsciiIdentifierPart.test(r.Character.fromCodePoint(e))},isDecimalDigit:function(e){return e>=48&&e<=57},isHexDigit:function(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102},isOctalDigit:function(e){return e>=48&&e<=55}}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(6);var n=function(){function JSXClosingElement(e){this.type=i.JSXSyntax.JSXClosingElement;this.name=e}return JSXClosingElement}();r.JSXClosingElement=n;var a=function(){function JSXElement(e,r,t){this.type=i.JSXSyntax.JSXElement;this.openingElement=e;this.children=r;this.closingElement=t}return JSXElement}();r.JSXElement=a;var u=function(){function JSXEmptyExpression(){this.type=i.JSXSyntax.JSXEmptyExpression}return JSXEmptyExpression}();r.JSXEmptyExpression=u;var s=function(){function JSXExpressionContainer(e){this.type=i.JSXSyntax.JSXExpressionContainer;this.expression=e}return JSXExpressionContainer}();r.JSXExpressionContainer=s;var o=function(){function JSXIdentifier(e){this.type=i.JSXSyntax.JSXIdentifier;this.name=e}return JSXIdentifier}();r.JSXIdentifier=o;var f=function(){function JSXMemberExpression(e,r){this.type=i.JSXSyntax.JSXMemberExpression;this.object=e;this.property=r}return JSXMemberExpression}();r.JSXMemberExpression=f;var l=function(){function JSXAttribute(e,r){this.type=i.JSXSyntax.JSXAttribute;this.name=e;this.value=r}return JSXAttribute}();r.JSXAttribute=l;var c=function(){function JSXNamespacedName(e,r){this.type=i.JSXSyntax.JSXNamespacedName;this.namespace=e;this.name=r}return JSXNamespacedName}();r.JSXNamespacedName=c;var h=function(){function JSXOpeningElement(e,r,t){this.type=i.JSXSyntax.JSXOpeningElement;this.name=e;this.selfClosing=r;this.attributes=t}return JSXOpeningElement}();r.JSXOpeningElement=h;var p=function(){function JSXSpreadAttribute(e){this.type=i.JSXSyntax.JSXSpreadAttribute;this.argument=e}return JSXSpreadAttribute}();r.JSXSpreadAttribute=p;var v=function(){function JSXText(e,r){this.type=i.JSXSyntax.JSXText;this.value=e;this.raw=r}return JSXText}();r.JSXText=v},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});r.JSXSyntax={JSXAttribute:"JSXAttribute",JSXClosingElement:"JSXClosingElement",JSXElement:"JSXElement",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXIdentifier:"JSXIdentifier",JSXMemberExpression:"JSXMemberExpression",JSXNamespacedName:"JSXNamespacedName",JSXOpeningElement:"JSXOpeningElement",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText"}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(2);var n=function(){function ArrayExpression(e){this.type=i.Syntax.ArrayExpression;this.elements=e}return ArrayExpression}();r.ArrayExpression=n;var a=function(){function ArrayPattern(e){this.type=i.Syntax.ArrayPattern;this.elements=e}return ArrayPattern}();r.ArrayPattern=a;var u=function(){function ArrowFunctionExpression(e,r,t){this.type=i.Syntax.ArrowFunctionExpression;this.id=null;this.params=e;this.body=r;this.generator=false;this.expression=t;this.async=false}return ArrowFunctionExpression}();r.ArrowFunctionExpression=u;var s=function(){function AssignmentExpression(e,r,t){this.type=i.Syntax.AssignmentExpression;this.operator=e;this.left=r;this.right=t}return AssignmentExpression}();r.AssignmentExpression=s;var o=function(){function AssignmentPattern(e,r){this.type=i.Syntax.AssignmentPattern;this.left=e;this.right=r}return AssignmentPattern}();r.AssignmentPattern=o;var f=function(){function AsyncArrowFunctionExpression(e,r,t){this.type=i.Syntax.ArrowFunctionExpression;this.id=null;this.params=e;this.body=r;this.generator=false;this.expression=t;this.async=true}return AsyncArrowFunctionExpression}();r.AsyncArrowFunctionExpression=f;var l=function(){function AsyncFunctionDeclaration(e,r,t){this.type=i.Syntax.FunctionDeclaration;this.id=e;this.params=r;this.body=t;this.generator=false;this.expression=false;this.async=true}return AsyncFunctionDeclaration}();r.AsyncFunctionDeclaration=l;var c=function(){function AsyncFunctionExpression(e,r,t){this.type=i.Syntax.FunctionExpression;this.id=e;this.params=r;this.body=t;this.generator=false;this.expression=false;this.async=true}return AsyncFunctionExpression}();r.AsyncFunctionExpression=c;var h=function(){function AwaitExpression(e){this.type=i.Syntax.AwaitExpression;this.argument=e}return AwaitExpression}();r.AwaitExpression=h;var p=function(){function BinaryExpression(e,r,t){var n=e==="||"||e==="&&";this.type=n?i.Syntax.LogicalExpression:i.Syntax.BinaryExpression;this.operator=e;this.left=r;this.right=t}return BinaryExpression}();r.BinaryExpression=p;var v=function(){function BlockStatement(e){this.type=i.Syntax.BlockStatement;this.body=e}return BlockStatement}();r.BlockStatement=v;var d=function(){function BreakStatement(e){this.type=i.Syntax.BreakStatement;this.label=e}return BreakStatement}();r.BreakStatement=d;var D=function(){function CallExpression(e,r){this.type=i.Syntax.CallExpression;this.callee=e;this.arguments=r}return CallExpression}();r.CallExpression=D;var m=function(){function CatchClause(e,r){this.type=i.Syntax.CatchClause;this.param=e;this.body=r}return CatchClause}();r.CatchClause=m;var g=function(){function ClassBody(e){this.type=i.Syntax.ClassBody;this.body=e}return ClassBody}();r.ClassBody=g;var E=function(){function ClassDeclaration(e,r,t){this.type=i.Syntax.ClassDeclaration;this.id=e;this.superClass=r;this.body=t}return ClassDeclaration}();r.ClassDeclaration=E;var A=function(){function ClassExpression(e,r,t){this.type=i.Syntax.ClassExpression;this.id=e;this.superClass=r;this.body=t}return ClassExpression}();r.ClassExpression=A;var C=function(){function ComputedMemberExpression(e,r){this.type=i.Syntax.MemberExpression;this.computed=true;this.object=e;this.property=r}return ComputedMemberExpression}();r.ComputedMemberExpression=C;var y=function(){function ConditionalExpression(e,r,t){this.type=i.Syntax.ConditionalExpression;this.test=e;this.consequent=r;this.alternate=t}return ConditionalExpression}();r.ConditionalExpression=y;var w=function(){function ContinueStatement(e){this.type=i.Syntax.ContinueStatement;this.label=e}return ContinueStatement}();r.ContinueStatement=w;var x=function(){function DebuggerStatement(){this.type=i.Syntax.DebuggerStatement}return DebuggerStatement}();r.DebuggerStatement=x;var b=function(){function Directive(e,r){this.type=i.Syntax.ExpressionStatement;this.expression=e;this.directive=r}return Directive}();r.Directive=b;var F=function(){function DoWhileStatement(e,r){this.type=i.Syntax.DoWhileStatement;this.body=e;this.test=r}return DoWhileStatement}();r.DoWhileStatement=F;var S=function(){function EmptyStatement(){this.type=i.Syntax.EmptyStatement}return EmptyStatement}();r.EmptyStatement=S;var B=function(){function ExportAllDeclaration(e){this.type=i.Syntax.ExportAllDeclaration;this.source=e}return ExportAllDeclaration}();r.ExportAllDeclaration=B;var k=function(){function ExportDefaultDeclaration(e){this.type=i.Syntax.ExportDefaultDeclaration;this.declaration=e}return ExportDefaultDeclaration}();r.ExportDefaultDeclaration=k;var O=function(){function ExportNamedDeclaration(e,r,t){this.type=i.Syntax.ExportNamedDeclaration;this.declaration=e;this.specifiers=r;this.source=t}return ExportNamedDeclaration}();r.ExportNamedDeclaration=O;var P=function(){function ExportSpecifier(e,r){this.type=i.Syntax.ExportSpecifier;this.exported=r;this.local=e}return ExportSpecifier}();r.ExportSpecifier=P;var T=function(){function ExpressionStatement(e){this.type=i.Syntax.ExpressionStatement;this.expression=e}return ExpressionStatement}();r.ExpressionStatement=T;var I=function(){function ForInStatement(e,r,t){this.type=i.Syntax.ForInStatement;this.left=e;this.right=r;this.body=t;this.each=false}return ForInStatement}();r.ForInStatement=I;var M=function(){function ForOfStatement(e,r,t){this.type=i.Syntax.ForOfStatement;this.left=e;this.right=r;this.body=t}return ForOfStatement}();r.ForOfStatement=M;var L=function(){function ForStatement(e,r,t,n){this.type=i.Syntax.ForStatement;this.init=e;this.test=r;this.update=t;this.body=n}return ForStatement}();r.ForStatement=L;var R=function(){function FunctionDeclaration(e,r,t,n){this.type=i.Syntax.FunctionDeclaration;this.id=e;this.params=r;this.body=t;this.generator=n;this.expression=false;this.async=false}return FunctionDeclaration}();r.FunctionDeclaration=R;var j=function(){function FunctionExpression(e,r,t,n){this.type=i.Syntax.FunctionExpression;this.id=e;this.params=r;this.body=t;this.generator=n;this.expression=false;this.async=false}return FunctionExpression}();r.FunctionExpression=j;var N=function(){function Identifier(e){this.type=i.Syntax.Identifier;this.name=e}return Identifier}();r.Identifier=N;var U=function(){function IfStatement(e,r,t){this.type=i.Syntax.IfStatement;this.test=e;this.consequent=r;this.alternate=t}return IfStatement}();r.IfStatement=U;var J=function(){function ImportDeclaration(e,r){this.type=i.Syntax.ImportDeclaration;this.specifiers=e;this.source=r}return ImportDeclaration}();r.ImportDeclaration=J;var z=function(){function ImportDefaultSpecifier(e){this.type=i.Syntax.ImportDefaultSpecifier;this.local=e}return ImportDefaultSpecifier}();r.ImportDefaultSpecifier=z;var X=function(){function ImportNamespaceSpecifier(e){this.type=i.Syntax.ImportNamespaceSpecifier;this.local=e}return ImportNamespaceSpecifier}();r.ImportNamespaceSpecifier=X;var q=function(){function ImportSpecifier(e,r){this.type=i.Syntax.ImportSpecifier;this.local=e;this.imported=r}return ImportSpecifier}();r.ImportSpecifier=q;var G=function(){function LabeledStatement(e,r){this.type=i.Syntax.LabeledStatement;this.label=e;this.body=r}return LabeledStatement}();r.LabeledStatement=G;var _=function(){function Literal(e,r){this.type=i.Syntax.Literal;this.value=e;this.raw=r}return Literal}();r.Literal=_;var W=function(){function MetaProperty(e,r){this.type=i.Syntax.MetaProperty;this.meta=e;this.property=r}return MetaProperty}();r.MetaProperty=W;var V=function(){function MethodDefinition(e,r,t,n,a){this.type=i.Syntax.MethodDefinition;this.key=e;this.computed=r;this.value=t;this.kind=n;this.static=a}return MethodDefinition}();r.MethodDefinition=V;var H=function(){function Module(e){this.type=i.Syntax.Program;this.body=e;this.sourceType="module"}return Module}();r.Module=H;var Y=function(){function NewExpression(e,r){this.type=i.Syntax.NewExpression;this.callee=e;this.arguments=r}return NewExpression}();r.NewExpression=Y;var $=function(){function ObjectExpression(e){this.type=i.Syntax.ObjectExpression;this.properties=e}return ObjectExpression}();r.ObjectExpression=$;var Z=function(){function ObjectPattern(e){this.type=i.Syntax.ObjectPattern;this.properties=e}return ObjectPattern}();r.ObjectPattern=Z;var Q=function(){function Property(e,r,t,n,a,u){this.type=i.Syntax.Property;this.key=r;this.computed=t;this.value=n;this.kind=e;this.method=a;this.shorthand=u}return Property}();r.Property=Q;var K=function(){function RegexLiteral(e,r,t,n){this.type=i.Syntax.Literal;this.value=e;this.raw=r;this.regex={pattern:t,flags:n}}return RegexLiteral}();r.RegexLiteral=K;var ee=function(){function RestElement(e){this.type=i.Syntax.RestElement;this.argument=e}return RestElement}();r.RestElement=ee;var re=function(){function ReturnStatement(e){this.type=i.Syntax.ReturnStatement;this.argument=e}return ReturnStatement}();r.ReturnStatement=re;var te=function(){function Script(e){this.type=i.Syntax.Program;this.body=e;this.sourceType="script"}return Script}();r.Script=te;var ie=function(){function SequenceExpression(e){this.type=i.Syntax.SequenceExpression;this.expressions=e}return SequenceExpression}();r.SequenceExpression=ie;var ne=function(){function SpreadElement(e){this.type=i.Syntax.SpreadElement;this.argument=e}return SpreadElement}();r.SpreadElement=ne;var ae=function(){function StaticMemberExpression(e,r){this.type=i.Syntax.MemberExpression;this.computed=false;this.object=e;this.property=r}return StaticMemberExpression}();r.StaticMemberExpression=ae;var ue=function(){function Super(){this.type=i.Syntax.Super}return Super}();r.Super=ue;var se=function(){function SwitchCase(e,r){this.type=i.Syntax.SwitchCase;this.test=e;this.consequent=r}return SwitchCase}();r.SwitchCase=se;var oe=function(){function SwitchStatement(e,r){this.type=i.Syntax.SwitchStatement;this.discriminant=e;this.cases=r}return SwitchStatement}();r.SwitchStatement=oe;var fe=function(){function TaggedTemplateExpression(e,r){this.type=i.Syntax.TaggedTemplateExpression;this.tag=e;this.quasi=r}return TaggedTemplateExpression}();r.TaggedTemplateExpression=fe;var le=function(){function TemplateElement(e,r){this.type=i.Syntax.TemplateElement;this.value=e;this.tail=r}return TemplateElement}();r.TemplateElement=le;var ce=function(){function TemplateLiteral(e,r){this.type=i.Syntax.TemplateLiteral;this.quasis=e;this.expressions=r}return TemplateLiteral}();r.TemplateLiteral=ce;var he=function(){function ThisExpression(){this.type=i.Syntax.ThisExpression}return ThisExpression}();r.ThisExpression=he;var pe=function(){function ThrowStatement(e){this.type=i.Syntax.ThrowStatement;this.argument=e}return ThrowStatement}();r.ThrowStatement=pe;var ve=function(){function TryStatement(e,r,t){this.type=i.Syntax.TryStatement;this.block=e;this.handler=r;this.finalizer=t}return TryStatement}();r.TryStatement=ve;var de=function(){function UnaryExpression(e,r){this.type=i.Syntax.UnaryExpression;this.operator=e;this.argument=r;this.prefix=true}return UnaryExpression}();r.UnaryExpression=de;var De=function(){function UpdateExpression(e,r,t){this.type=i.Syntax.UpdateExpression;this.operator=e;this.argument=r;this.prefix=t}return UpdateExpression}();r.UpdateExpression=De;var me=function(){function VariableDeclaration(e,r){this.type=i.Syntax.VariableDeclaration;this.declarations=e;this.kind=r}return VariableDeclaration}();r.VariableDeclaration=me;var ge=function(){function VariableDeclarator(e,r){this.type=i.Syntax.VariableDeclarator;this.id=e;this.init=r}return VariableDeclarator}();r.VariableDeclarator=ge;var Ee=function(){function WhileStatement(e,r){this.type=i.Syntax.WhileStatement;this.test=e;this.body=r}return WhileStatement}();r.WhileStatement=Ee;var Ae=function(){function WithStatement(e,r){this.type=i.Syntax.WithStatement;this.object=e;this.body=r}return WithStatement}();r.WithStatement=Ae;var Ce=function(){function YieldExpression(e,r){this.type=i.Syntax.YieldExpression;this.argument=e;this.delegate=r}return YieldExpression}();r.YieldExpression=Ce},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(9);var n=t(10);var a=t(11);var u=t(7);var s=t(12);var o=t(2);var f=t(13);var l="ArrowParameterPlaceHolder";var c=function(){function Parser(e,r,t){if(r===void 0){r={}}this.config={range:typeof r.range==="boolean"&&r.range,loc:typeof r.loc==="boolean"&&r.loc,source:null,tokens:typeof r.tokens==="boolean"&&r.tokens,comment:typeof r.comment==="boolean"&&r.comment,tolerant:typeof r.tolerant==="boolean"&&r.tolerant};if(this.config.loc&&r.source&&r.source!==null){this.config.source=String(r.source)}this.delegate=t;this.errorHandler=new n.ErrorHandler;this.errorHandler.tolerant=this.config.tolerant;this.scanner=new s.Scanner(e,this.errorHandler);this.scanner.trackComment=this.config.comment;this.operatorPrecedence={")":0,";":0,",":0,"=":0,"]":0,"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":11,"/":11,"%":11};this.lookahead={type:2,value:"",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0};this.hasLineTerminator=false;this.context={isModule:false,await:false,allowIn:true,allowStrictDirective:true,allowYield:true,firstCoverInitializedNameError:null,isAssignmentTarget:false,isBindingElement:false,inFunctionBody:false,inIteration:false,inSwitch:false,labelSet:{},strict:false};this.tokens=[];this.startMarker={index:0,line:this.scanner.lineNumber,column:0};this.lastMarker={index:0,line:this.scanner.lineNumber,column:0};this.nextToken();this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}Parser.prototype.throwError=function(e){var r=[];for(var t=1;t0&&this.delegate){for(var r=0;r>="||e===">>>="||e==="&="||e==="^="||e==="|="};Parser.prototype.isolateCoverGrammar=function(e){var r=this.context.isBindingElement;var t=this.context.isAssignmentTarget;var i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=true;this.context.isAssignmentTarget=true;this.context.firstCoverInitializedNameError=null;var n=e.call(this);if(this.context.firstCoverInitializedNameError!==null){this.throwUnexpectedToken(this.context.firstCoverInitializedNameError)}this.context.isBindingElement=r;this.context.isAssignmentTarget=t;this.context.firstCoverInitializedNameError=i;return n};Parser.prototype.inheritCoverGrammar=function(e){var r=this.context.isBindingElement;var t=this.context.isAssignmentTarget;var i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=true;this.context.isAssignmentTarget=true;this.context.firstCoverInitializedNameError=null;var n=e.call(this);this.context.isBindingElement=this.context.isBindingElement&&r;this.context.isAssignmentTarget=this.context.isAssignmentTarget&&t;this.context.firstCoverInitializedNameError=i||this.context.firstCoverInitializedNameError;return n};Parser.prototype.consumeSemicolon=function(){if(this.match(";")){this.nextToken()}else if(!this.hasLineTerminator){if(this.lookahead.type!==2&&!this.match("}")){this.throwUnexpectedToken(this.lookahead)}this.lastMarker.index=this.startMarker.index;this.lastMarker.line=this.startMarker.line;this.lastMarker.column=this.startMarker.column}};Parser.prototype.parsePrimaryExpression=function(){var e=this.createNode();var r;var t,i;switch(this.lookahead.type){case 3:if((this.context.isModule||this.context.await)&&this.lookahead.value==="await"){this.tolerateUnexpectedToken(this.lookahead)}r=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(e,new u.Identifier(this.nextToken().value));break;case 6:case 8:if(this.context.strict&&this.lookahead.octal){this.tolerateUnexpectedToken(this.lookahead,a.Messages.StrictOctalLiteral)}this.context.isAssignmentTarget=false;this.context.isBindingElement=false;t=this.nextToken();i=this.getTokenRaw(t);r=this.finalize(e,new u.Literal(t.value,i));break;case 1:this.context.isAssignmentTarget=false;this.context.isBindingElement=false;t=this.nextToken();i=this.getTokenRaw(t);r=this.finalize(e,new u.Literal(t.value==="true",i));break;case 5:this.context.isAssignmentTarget=false;this.context.isBindingElement=false;t=this.nextToken();i=this.getTokenRaw(t);r=this.finalize(e,new u.Literal(null,i));break;case 10:r=this.parseTemplateLiteral();break;case 7:switch(this.lookahead.value){case"(":this.context.isBindingElement=false;r=this.inheritCoverGrammar(this.parseGroupExpression);break;case"[":r=this.inheritCoverGrammar(this.parseArrayInitializer);break;case"{":r=this.inheritCoverGrammar(this.parseObjectInitializer);break;case"/":case"/=":this.context.isAssignmentTarget=false;this.context.isBindingElement=false;this.scanner.index=this.startMarker.index;t=this.nextRegexToken();i=this.getTokenRaw(t);r=this.finalize(e,new u.RegexLiteral(t.regex,i,t.pattern,t.flags));break;default:r=this.throwUnexpectedToken(this.nextToken())}break;case 4:if(!this.context.strict&&this.context.allowYield&&this.matchKeyword("yield")){r=this.parseIdentifierName()}else if(!this.context.strict&&this.matchKeyword("let")){r=this.finalize(e,new u.Identifier(this.nextToken().value))}else{this.context.isAssignmentTarget=false;this.context.isBindingElement=false;if(this.matchKeyword("function")){r=this.parseFunctionExpression()}else if(this.matchKeyword("this")){this.nextToken();r=this.finalize(e,new u.ThisExpression)}else if(this.matchKeyword("class")){r=this.parseClassExpression()}else{r=this.throwUnexpectedToken(this.nextToken())}}break;default:r=this.throwUnexpectedToken(this.nextToken())}return r};Parser.prototype.parseSpreadElement=function(){var e=this.createNode();this.expect("...");var r=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(e,new u.SpreadElement(r))};Parser.prototype.parseArrayInitializer=function(){var e=this.createNode();var r=[];this.expect("[");while(!this.match("]")){if(this.match(",")){this.nextToken();r.push(null)}else if(this.match("...")){var t=this.parseSpreadElement();if(!this.match("]")){this.context.isAssignmentTarget=false;this.context.isBindingElement=false;this.expect(",")}r.push(t)}else{r.push(this.inheritCoverGrammar(this.parseAssignmentExpression));if(!this.match("]")){this.expect(",")}}}this.expect("]");return this.finalize(e,new u.ArrayExpression(r))};Parser.prototype.parsePropertyMethod=function(e){this.context.isAssignmentTarget=false;this.context.isBindingElement=false;var r=this.context.strict;var t=this.context.allowStrictDirective;this.context.allowStrictDirective=e.simple;var i=this.isolateCoverGrammar(this.parseFunctionSourceElements);if(this.context.strict&&e.firstRestricted){this.tolerateUnexpectedToken(e.firstRestricted,e.message)}if(this.context.strict&&e.stricted){this.tolerateUnexpectedToken(e.stricted,e.message)}this.context.strict=r;this.context.allowStrictDirective=t;return i};Parser.prototype.parsePropertyMethodFunction=function(){var e=false;var r=this.createNode();var t=this.context.allowYield;this.context.allowYield=true;var i=this.parseFormalParameters();var n=this.parsePropertyMethod(i);this.context.allowYield=t;return this.finalize(r,new u.FunctionExpression(null,i.params,n,e))};Parser.prototype.parsePropertyMethodAsyncFunction=function(){var e=this.createNode();var r=this.context.allowYield;var t=this.context.await;this.context.allowYield=false;this.context.await=true;var i=this.parseFormalParameters();var n=this.parsePropertyMethod(i);this.context.allowYield=r;this.context.await=t;return this.finalize(e,new u.AsyncFunctionExpression(null,i.params,n))};Parser.prototype.parseObjectPropertyKey=function(){var e=this.createNode();var r=this.nextToken();var t;switch(r.type){case 8:case 6:if(this.context.strict&&r.octal){this.tolerateUnexpectedToken(r,a.Messages.StrictOctalLiteral)}var i=this.getTokenRaw(r);t=this.finalize(e,new u.Literal(r.value,i));break;case 3:case 1:case 5:case 4:t=this.finalize(e,new u.Identifier(r.value));break;case 7:if(r.value==="["){t=this.isolateCoverGrammar(this.parseAssignmentExpression);this.expect("]")}else{t=this.throwUnexpectedToken(r)}break;default:t=this.throwUnexpectedToken(r)}return t};Parser.prototype.isPropertyKey=function(e,r){return e.type===o.Syntax.Identifier&&e.name===r||e.type===o.Syntax.Literal&&e.value===r};Parser.prototype.parseObjectProperty=function(e){var r=this.createNode();var t=this.lookahead;var i;var n=null;var s=null;var o=false;var f=false;var l=false;var c=false;if(t.type===3){var h=t.value;this.nextToken();o=this.match("[");c=!this.hasLineTerminator&&h==="async"&&!this.match(":")&&!this.match("(")&&!this.match("*")&&!this.match(",");n=c?this.parseObjectPropertyKey():this.finalize(r,new u.Identifier(h))}else if(this.match("*")){this.nextToken()}else{o=this.match("[");n=this.parseObjectPropertyKey()}var p=this.qualifiedPropertyName(this.lookahead);if(t.type===3&&!c&&t.value==="get"&&p){i="get";o=this.match("[");n=this.parseObjectPropertyKey();this.context.allowYield=false;s=this.parseGetterMethod()}else if(t.type===3&&!c&&t.value==="set"&&p){i="set";o=this.match("[");n=this.parseObjectPropertyKey();s=this.parseSetterMethod()}else if(t.type===7&&t.value==="*"&&p){i="init";o=this.match("[");n=this.parseObjectPropertyKey();s=this.parseGeneratorMethod();f=true}else{if(!n){this.throwUnexpectedToken(this.lookahead)}i="init";if(this.match(":")&&!c){if(!o&&this.isPropertyKey(n,"__proto__")){if(e.value){this.tolerateError(a.Messages.DuplicateProtoProperty)}e.value=true}this.nextToken();s=this.inheritCoverGrammar(this.parseAssignmentExpression)}else if(this.match("(")){s=c?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction();f=true}else if(t.type===3){var h=this.finalize(r,new u.Identifier(t.value));if(this.match("=")){this.context.firstCoverInitializedNameError=this.lookahead;this.nextToken();l=true;var v=this.isolateCoverGrammar(this.parseAssignmentExpression);s=this.finalize(r,new u.AssignmentPattern(h,v))}else{l=true;s=h}}else{this.throwUnexpectedToken(this.nextToken())}}return this.finalize(r,new u.Property(i,n,o,s,f,l))};Parser.prototype.parseObjectInitializer=function(){var e=this.createNode();this.expect("{");var r=[];var t={value:false};while(!this.match("}")){r.push(this.parseObjectProperty(t));if(!this.match("}")){this.expectCommaSeparator()}}this.expect("}");return this.finalize(e,new u.ObjectExpression(r))};Parser.prototype.parseTemplateHead=function(){i.assert(this.lookahead.head,"Template literal must start with a template head");var e=this.createNode();var r=this.nextToken();var t=r.value;var n=r.cooked;return this.finalize(e,new u.TemplateElement({raw:t,cooked:n},r.tail))};Parser.prototype.parseTemplateElement=function(){if(this.lookahead.type!==10){this.throwUnexpectedToken()}var e=this.createNode();var r=this.nextToken();var t=r.value;var i=r.cooked;return this.finalize(e,new u.TemplateElement({raw:t,cooked:i},r.tail))};Parser.prototype.parseTemplateLiteral=function(){var e=this.createNode();var r=[];var t=[];var i=this.parseTemplateHead();t.push(i);while(!i.tail){r.push(this.parseExpression());i=this.parseTemplateElement();t.push(i)}return this.finalize(e,new u.TemplateLiteral(t,r))};Parser.prototype.reinterpretExpressionAsPattern=function(e){switch(e.type){case o.Syntax.Identifier:case o.Syntax.MemberExpression:case o.Syntax.RestElement:case o.Syntax.AssignmentPattern:break;case o.Syntax.SpreadElement:e.type=o.Syntax.RestElement;this.reinterpretExpressionAsPattern(e.argument);break;case o.Syntax.ArrayExpression:e.type=o.Syntax.ArrayPattern;for(var r=0;r")){this.expect("=>")}e={type:l,params:[],async:false}}else{var r=this.lookahead;var t=[];if(this.match("...")){e=this.parseRestElement(t);this.expect(")");if(!this.match("=>")){this.expect("=>")}e={type:l,params:[e],async:false}}else{var i=false;this.context.isBindingElement=true;e=this.inheritCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var n=[];this.context.isAssignmentTarget=false;n.push(e);while(this.lookahead.type!==2){if(!this.match(",")){break}this.nextToken();if(this.match(")")){this.nextToken();for(var a=0;a")){this.expect("=>")}this.context.isBindingElement=false;for(var a=0;a")){if(e.type===o.Syntax.Identifier&&e.name==="yield"){i=true;e={type:l,params:[e],async:false}}if(!i){if(!this.context.isBindingElement){this.throwUnexpectedToken(this.lookahead)}if(e.type===o.Syntax.SequenceExpression){for(var a=0;a")){for(var o=0;o0){this.nextToken();this.context.isAssignmentTarget=false;this.context.isBindingElement=false;var n=[e,this.lookahead];var a=r;var s=this.isolateCoverGrammar(this.parseExponentiationExpression);var o=[a,t.value,s];var f=[i];while(true){i=this.binaryPrecedence(this.lookahead);if(i<=0){break}while(o.length>2&&i<=f[f.length-1]){s=o.pop();var l=o.pop();f.pop();a=o.pop();n.pop();var c=this.startNode(n[n.length-1]);o.push(this.finalize(c,new u.BinaryExpression(l,a,s)))}o.push(this.nextToken().value);f.push(i);n.push(this.lookahead);o.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}var h=o.length-1;r=o[h];var p=n.pop();while(h>1){var v=n.pop();var d=p&&p.lineStart;var c=this.startNode(v,d);var l=o[h-1];r=this.finalize(c,new u.BinaryExpression(l,o[h-2],r));h-=2;p=v}}return r};Parser.prototype.parseConditionalExpression=function(){var e=this.lookahead;var r=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match("?")){this.nextToken();var t=this.context.allowIn;this.context.allowIn=true;var i=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=t;this.expect(":");var n=this.isolateCoverGrammar(this.parseAssignmentExpression);r=this.finalize(this.startNode(e),new u.ConditionalExpression(r,i,n));this.context.isAssignmentTarget=false;this.context.isBindingElement=false}return r};Parser.prototype.checkPatternParam=function(e,r){switch(r.type){case o.Syntax.Identifier:this.validateParam(e,r,r.name);break;case o.Syntax.RestElement:this.checkPatternParam(e,r.argument);break;case o.Syntax.AssignmentPattern:this.checkPatternParam(e,r.left);break;case o.Syntax.ArrayPattern:for(var t=0;t")){this.context.isAssignmentTarget=false;this.context.isBindingElement=false;var n=e.async;var s=this.reinterpretAsCoverFormalsList(e);if(s){if(this.hasLineTerminator){this.tolerateUnexpectedToken(this.lookahead)}this.context.firstCoverInitializedNameError=null;var f=this.context.strict;var c=this.context.allowStrictDirective;this.context.allowStrictDirective=s.simple;var h=this.context.allowYield;var p=this.context.await;this.context.allowYield=true;this.context.await=n;var v=this.startNode(r);this.expect("=>");var d=void 0;if(this.match("{")){var D=this.context.allowIn;this.context.allowIn=true;d=this.parseFunctionSourceElements();this.context.allowIn=D}else{d=this.isolateCoverGrammar(this.parseAssignmentExpression)}var m=d.type!==o.Syntax.BlockStatement;if(this.context.strict&&s.firstRestricted){this.throwUnexpectedToken(s.firstRestricted,s.message)}if(this.context.strict&&s.stricted){this.tolerateUnexpectedToken(s.stricted,s.message)}e=n?this.finalize(v,new u.AsyncArrowFunctionExpression(s.params,d,m)):this.finalize(v,new u.ArrowFunctionExpression(s.params,d,m));this.context.strict=f;this.context.allowStrictDirective=c;this.context.allowYield=h;this.context.await=p}}else{if(this.matchAssign()){if(!this.context.isAssignmentTarget){this.tolerateError(a.Messages.InvalidLHSInAssignment)}if(this.context.strict&&e.type===o.Syntax.Identifier){var g=e;if(this.scanner.isRestrictedWord(g.name)){this.tolerateUnexpectedToken(t,a.Messages.StrictLHSAssignment)}if(this.scanner.isStrictModeReservedWord(g.name)){this.tolerateUnexpectedToken(t,a.Messages.StrictReservedWord)}}if(!this.match("=")){this.context.isAssignmentTarget=false;this.context.isBindingElement=false}else{this.reinterpretExpressionAsPattern(e)}t=this.nextToken();var E=t.value;var A=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(r),new u.AssignmentExpression(E,e,A));this.context.firstCoverInitializedNameError=null}}}return e};Parser.prototype.parseExpression=function(){var e=this.lookahead;var r=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var t=[];t.push(r);while(this.lookahead.type!==2){if(!this.match(",")){break}this.nextToken();t.push(this.isolateCoverGrammar(this.parseAssignmentExpression))}r=this.finalize(this.startNode(e),new u.SequenceExpression(t))}return r};Parser.prototype.parseStatementListItem=function(){var e;this.context.isAssignmentTarget=true;this.context.isBindingElement=true;if(this.lookahead.type===4){switch(this.lookahead.value){case"export":if(!this.context.isModule){this.tolerateUnexpectedToken(this.lookahead,a.Messages.IllegalExportDeclaration)}e=this.parseExportDeclaration();break;case"import":if(!this.context.isModule){this.tolerateUnexpectedToken(this.lookahead,a.Messages.IllegalImportDeclaration)}e=this.parseImportDeclaration();break;case"const":e=this.parseLexicalDeclaration({inFor:false});break;case"function":e=this.parseFunctionDeclaration();break;case"class":e=this.parseClassDeclaration();break;case"let":e=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:false}):this.parseStatement();break;default:e=this.parseStatement();break}}else{e=this.parseStatement()}return e};Parser.prototype.parseBlock=function(){var e=this.createNode();this.expect("{");var r=[];while(true){if(this.match("}")){break}r.push(this.parseStatementListItem())}this.expect("}");return this.finalize(e,new u.BlockStatement(r))};Parser.prototype.parseLexicalBinding=function(e,r){var t=this.createNode();var i=[];var n=this.parsePattern(i,e);if(this.context.strict&&n.type===o.Syntax.Identifier){if(this.scanner.isRestrictedWord(n.name)){this.tolerateError(a.Messages.StrictVarName)}}var s=null;if(e==="const"){if(!this.matchKeyword("in")&&!this.matchContextualKeyword("of")){if(this.match("=")){this.nextToken();s=this.isolateCoverGrammar(this.parseAssignmentExpression)}else{this.throwError(a.Messages.DeclarationMissingInitializer,"const")}}}else if(!r.inFor&&n.type!==o.Syntax.Identifier||this.match("=")){this.expect("=");s=this.isolateCoverGrammar(this.parseAssignmentExpression)}return this.finalize(t,new u.VariableDeclarator(n,s))};Parser.prototype.parseBindingList=function(e,r){var t=[this.parseLexicalBinding(e,r)];while(this.match(",")){this.nextToken();t.push(this.parseLexicalBinding(e,r))}return t};Parser.prototype.isLexicalDeclaration=function(){var e=this.scanner.saveState();this.scanner.scanComments();var r=this.scanner.lex();this.scanner.restoreState(e);return r.type===3||r.type===7&&r.value==="["||r.type===7&&r.value==="{"||r.type===4&&r.value==="let"||r.type===4&&r.value==="yield"};Parser.prototype.parseLexicalDeclaration=function(e){var r=this.createNode();var t=this.nextToken().value;i.assert(t==="let"||t==="const","Lexical declaration must be either let or const");var n=this.parseBindingList(t,e);this.consumeSemicolon();return this.finalize(r,new u.VariableDeclaration(n,t))};Parser.prototype.parseBindingRestElement=function(e,r){var t=this.createNode();this.expect("...");var i=this.parsePattern(e,r);return this.finalize(t,new u.RestElement(i))};Parser.prototype.parseArrayPattern=function(e,r){var t=this.createNode();this.expect("[");var i=[];while(!this.match("]")){if(this.match(",")){this.nextToken();i.push(null)}else{if(this.match("...")){i.push(this.parseBindingRestElement(e,r));break}else{i.push(this.parsePatternWithDefault(e,r))}if(!this.match("]")){this.expect(",")}}}this.expect("]");return this.finalize(t,new u.ArrayPattern(i))};Parser.prototype.parsePropertyPattern=function(e,r){var t=this.createNode();var i=false;var n=false;var a=false;var s;var o;if(this.lookahead.type===3){var f=this.lookahead;s=this.parseVariableIdentifier();var l=this.finalize(t,new u.Identifier(f.value));if(this.match("=")){e.push(f);n=true;this.nextToken();var c=this.parseAssignmentExpression();o=this.finalize(this.startNode(f),new u.AssignmentPattern(l,c))}else if(!this.match(":")){e.push(f);n=true;o=l}else{this.expect(":");o=this.parsePatternWithDefault(e,r)}}else{i=this.match("[");s=this.parseObjectPropertyKey();this.expect(":");o=this.parsePatternWithDefault(e,r)}return this.finalize(t,new u.Property("init",s,i,o,a,n))};Parser.prototype.parseObjectPattern=function(e,r){var t=this.createNode();var i=[];this.expect("{");while(!this.match("}")){i.push(this.parsePropertyPattern(e,r));if(!this.match("}")){this.expect(",")}}this.expect("}");return this.finalize(t,new u.ObjectPattern(i))};Parser.prototype.parsePattern=function(e,r){var t;if(this.match("[")){t=this.parseArrayPattern(e,r)}else if(this.match("{")){t=this.parseObjectPattern(e,r)}else{if(this.matchKeyword("let")&&(r==="const"||r==="let")){this.tolerateUnexpectedToken(this.lookahead,a.Messages.LetInLexicalBinding)}e.push(this.lookahead);t=this.parseVariableIdentifier(r)}return t};Parser.prototype.parsePatternWithDefault=function(e,r){var t=this.lookahead;var i=this.parsePattern(e,r);if(this.match("=")){this.nextToken();var n=this.context.allowYield;this.context.allowYield=true;var a=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=n;i=this.finalize(this.startNode(t),new u.AssignmentPattern(i,a))}return i};Parser.prototype.parseVariableIdentifier=function(e){var r=this.createNode();var t=this.nextToken();if(t.type===4&&t.value==="yield"){if(this.context.strict){this.tolerateUnexpectedToken(t,a.Messages.StrictReservedWord)}else if(!this.context.allowYield){this.throwUnexpectedToken(t)}}else if(t.type!==3){if(this.context.strict&&t.type===4&&this.scanner.isStrictModeReservedWord(t.value)){this.tolerateUnexpectedToken(t,a.Messages.StrictReservedWord)}else{if(this.context.strict||t.value!=="let"||e!=="var"){this.throwUnexpectedToken(t)}}}else if((this.context.isModule||this.context.await)&&t.type===3&&t.value==="await"){this.tolerateUnexpectedToken(t)}return this.finalize(r,new u.Identifier(t.value))};Parser.prototype.parseVariableDeclaration=function(e){var r=this.createNode();var t=[];var i=this.parsePattern(t,"var");if(this.context.strict&&i.type===o.Syntax.Identifier){if(this.scanner.isRestrictedWord(i.name)){this.tolerateError(a.Messages.StrictVarName)}}var n=null;if(this.match("=")){this.nextToken();n=this.isolateCoverGrammar(this.parseAssignmentExpression)}else if(i.type!==o.Syntax.Identifier&&!e.inFor){this.expect("=")}return this.finalize(r,new u.VariableDeclarator(i,n))};Parser.prototype.parseVariableDeclarationList=function(e){var r={inFor:e.inFor};var t=[];t.push(this.parseVariableDeclaration(r));while(this.match(",")){this.nextToken();t.push(this.parseVariableDeclaration(r))}return t};Parser.prototype.parseVariableStatement=function(){var e=this.createNode();this.expectKeyword("var");var r=this.parseVariableDeclarationList({inFor:false});this.consumeSemicolon();return this.finalize(e,new u.VariableDeclaration(r,"var"))};Parser.prototype.parseEmptyStatement=function(){var e=this.createNode();this.expect(";");return this.finalize(e,new u.EmptyStatement)};Parser.prototype.parseExpressionStatement=function(){var e=this.createNode();var r=this.parseExpression();this.consumeSemicolon();return this.finalize(e,new u.ExpressionStatement(r))};Parser.prototype.parseIfClause=function(){if(this.context.strict&&this.matchKeyword("function")){this.tolerateError(a.Messages.StrictFunction)}return this.parseStatement()};Parser.prototype.parseIfStatement=function(){var e=this.createNode();var r;var t=null;this.expectKeyword("if");this.expect("(");var i=this.parseExpression();if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken());r=this.finalize(this.createNode(),new u.EmptyStatement)}else{this.expect(")");r=this.parseIfClause();if(this.matchKeyword("else")){this.nextToken();t=this.parseIfClause()}}return this.finalize(e,new u.IfStatement(i,r,t))};Parser.prototype.parseDoWhileStatement=function(){var e=this.createNode();this.expectKeyword("do");var r=this.context.inIteration;this.context.inIteration=true;var t=this.parseStatement();this.context.inIteration=r;this.expectKeyword("while");this.expect("(");var i=this.parseExpression();if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken())}else{this.expect(")");if(this.match(";")){this.nextToken()}}return this.finalize(e,new u.DoWhileStatement(t,i))};Parser.prototype.parseWhileStatement=function(){var e=this.createNode();var r;this.expectKeyword("while");this.expect("(");var t=this.parseExpression();if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken());r=this.finalize(this.createNode(),new u.EmptyStatement)}else{this.expect(")");var i=this.context.inIteration;this.context.inIteration=true;r=this.parseStatement();this.context.inIteration=i}return this.finalize(e,new u.WhileStatement(t,r))};Parser.prototype.parseForStatement=function(){var e=null;var r=null;var t=null;var i=true;var n,s;var f=this.createNode();this.expectKeyword("for");this.expect("(");if(this.match(";")){this.nextToken()}else{if(this.matchKeyword("var")){e=this.createNode();this.nextToken();var l=this.context.allowIn;this.context.allowIn=false;var c=this.parseVariableDeclarationList({inFor:true});this.context.allowIn=l;if(c.length===1&&this.matchKeyword("in")){var h=c[0];if(h.init&&(h.id.type===o.Syntax.ArrayPattern||h.id.type===o.Syntax.ObjectPattern||this.context.strict)){this.tolerateError(a.Messages.ForInOfLoopInitializer,"for-in")}e=this.finalize(e,new u.VariableDeclaration(c,"var"));this.nextToken();n=e;s=this.parseExpression();e=null}else if(c.length===1&&c[0].init===null&&this.matchContextualKeyword("of")){e=this.finalize(e,new u.VariableDeclaration(c,"var"));this.nextToken();n=e;s=this.parseAssignmentExpression();e=null;i=false}else{e=this.finalize(e,new u.VariableDeclaration(c,"var"));this.expect(";")}}else if(this.matchKeyword("const")||this.matchKeyword("let")){e=this.createNode();var p=this.nextToken().value;if(!this.context.strict&&this.lookahead.value==="in"){e=this.finalize(e,new u.Identifier(p));this.nextToken();n=e;s=this.parseExpression();e=null}else{var l=this.context.allowIn;this.context.allowIn=false;var c=this.parseBindingList(p,{inFor:true});this.context.allowIn=l;if(c.length===1&&c[0].init===null&&this.matchKeyword("in")){e=this.finalize(e,new u.VariableDeclaration(c,p));this.nextToken();n=e;s=this.parseExpression();e=null}else if(c.length===1&&c[0].init===null&&this.matchContextualKeyword("of")){e=this.finalize(e,new u.VariableDeclaration(c,p));this.nextToken();n=e;s=this.parseAssignmentExpression();e=null;i=false}else{this.consumeSemicolon();e=this.finalize(e,new u.VariableDeclaration(c,p))}}}else{var v=this.lookahead;var l=this.context.allowIn;this.context.allowIn=false;e=this.inheritCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=l;if(this.matchKeyword("in")){if(!this.context.isAssignmentTarget||e.type===o.Syntax.AssignmentExpression){this.tolerateError(a.Messages.InvalidLHSInForIn)}this.nextToken();this.reinterpretExpressionAsPattern(e);n=e;s=this.parseExpression();e=null}else if(this.matchContextualKeyword("of")){if(!this.context.isAssignmentTarget||e.type===o.Syntax.AssignmentExpression){this.tolerateError(a.Messages.InvalidLHSInForLoop)}this.nextToken();this.reinterpretExpressionAsPattern(e);n=e;s=this.parseAssignmentExpression();e=null;i=false}else{if(this.match(",")){var d=[e];while(this.match(",")){this.nextToken();d.push(this.isolateCoverGrammar(this.parseAssignmentExpression))}e=this.finalize(this.startNode(v),new u.SequenceExpression(d))}this.expect(";")}}}if(typeof n==="undefined"){if(!this.match(";")){r=this.parseExpression()}this.expect(";");if(!this.match(")")){t=this.parseExpression()}}var D;if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken());D=this.finalize(this.createNode(),new u.EmptyStatement)}else{this.expect(")");var m=this.context.inIteration;this.context.inIteration=true;D=this.isolateCoverGrammar(this.parseStatement);this.context.inIteration=m}return typeof n==="undefined"?this.finalize(f,new u.ForStatement(e,r,t,D)):i?this.finalize(f,new u.ForInStatement(n,s,D)):this.finalize(f,new u.ForOfStatement(n,s,D))};Parser.prototype.parseContinueStatement=function(){var e=this.createNode();this.expectKeyword("continue");var r=null;if(this.lookahead.type===3&&!this.hasLineTerminator){var t=this.parseVariableIdentifier();r=t;var i="$"+t.name;if(!Object.prototype.hasOwnProperty.call(this.context.labelSet,i)){this.throwError(a.Messages.UnknownLabel,t.name)}}this.consumeSemicolon();if(r===null&&!this.context.inIteration){this.throwError(a.Messages.IllegalContinue)}return this.finalize(e,new u.ContinueStatement(r))};Parser.prototype.parseBreakStatement=function(){var e=this.createNode();this.expectKeyword("break");var r=null;if(this.lookahead.type===3&&!this.hasLineTerminator){var t=this.parseVariableIdentifier();var i="$"+t.name;if(!Object.prototype.hasOwnProperty.call(this.context.labelSet,i)){this.throwError(a.Messages.UnknownLabel,t.name)}r=t}this.consumeSemicolon();if(r===null&&!this.context.inIteration&&!this.context.inSwitch){this.throwError(a.Messages.IllegalBreak)}return this.finalize(e,new u.BreakStatement(r))};Parser.prototype.parseReturnStatement=function(){if(!this.context.inFunctionBody){this.tolerateError(a.Messages.IllegalReturn)}var e=this.createNode();this.expectKeyword("return");var r=!this.match(";")&&!this.match("}")&&!this.hasLineTerminator&&this.lookahead.type!==2||this.lookahead.type===8||this.lookahead.type===10;var t=r?this.parseExpression():null;this.consumeSemicolon();return this.finalize(e,new u.ReturnStatement(t))};Parser.prototype.parseWithStatement=function(){if(this.context.strict){this.tolerateError(a.Messages.StrictModeWith)}var e=this.createNode();var r;this.expectKeyword("with");this.expect("(");var t=this.parseExpression();if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken());r=this.finalize(this.createNode(),new u.EmptyStatement)}else{this.expect(")");r=this.parseStatement()}return this.finalize(e,new u.WithStatement(t,r))};Parser.prototype.parseSwitchCase=function(){var e=this.createNode();var r;if(this.matchKeyword("default")){this.nextToken();r=null}else{this.expectKeyword("case");r=this.parseExpression()}this.expect(":");var t=[];while(true){if(this.match("}")||this.matchKeyword("default")||this.matchKeyword("case")){break}t.push(this.parseStatementListItem())}return this.finalize(e,new u.SwitchCase(r,t))};Parser.prototype.parseSwitchStatement=function(){var e=this.createNode();this.expectKeyword("switch");this.expect("(");var r=this.parseExpression();this.expect(")");var t=this.context.inSwitch;this.context.inSwitch=true;var i=[];var n=false;this.expect("{");while(true){if(this.match("}")){break}var s=this.parseSwitchCase();if(s.test===null){if(n){this.throwError(a.Messages.MultipleDefaultsInSwitch)}n=true}i.push(s)}this.expect("}");this.context.inSwitch=t;return this.finalize(e,new u.SwitchStatement(r,i))};Parser.prototype.parseLabelledStatement=function(){var e=this.createNode();var r=this.parseExpression();var t;if(r.type===o.Syntax.Identifier&&this.match(":")){this.nextToken();var i=r;var n="$"+i.name;if(Object.prototype.hasOwnProperty.call(this.context.labelSet,n)){this.throwError(a.Messages.Redeclaration,"Label",i.name)}this.context.labelSet[n]=true;var s=void 0;if(this.matchKeyword("class")){this.tolerateUnexpectedToken(this.lookahead);s=this.parseClassDeclaration()}else if(this.matchKeyword("function")){var f=this.lookahead;var l=this.parseFunctionDeclaration();if(this.context.strict){this.tolerateUnexpectedToken(f,a.Messages.StrictFunction)}else if(l.generator){this.tolerateUnexpectedToken(f,a.Messages.GeneratorInLegacyContext)}s=l}else{s=this.parseStatement()}delete this.context.labelSet[n];t=new u.LabeledStatement(i,s)}else{this.consumeSemicolon();t=new u.ExpressionStatement(r)}return this.finalize(e,t)};Parser.prototype.parseThrowStatement=function(){var e=this.createNode();this.expectKeyword("throw");if(this.hasLineTerminator){this.throwError(a.Messages.NewlineAfterThrow)}var r=this.parseExpression();this.consumeSemicolon();return this.finalize(e,new u.ThrowStatement(r))};Parser.prototype.parseCatchClause=function(){var e=this.createNode();this.expectKeyword("catch");this.expect("(");if(this.match(")")){this.throwUnexpectedToken(this.lookahead)}var r=[];var t=this.parsePattern(r);var i={};for(var n=0;n0){this.tolerateError(a.Messages.BadGetterArity)}var n=this.parsePropertyMethod(i);this.context.allowYield=t;return this.finalize(e,new u.FunctionExpression(null,i.params,n,r))};Parser.prototype.parseSetterMethod=function(){var e=this.createNode();var r=false;var t=this.context.allowYield;this.context.allowYield=!r;var i=this.parseFormalParameters();if(i.params.length!==1){this.tolerateError(a.Messages.BadSetterArity)}else if(i.params[0]instanceof u.RestElement){this.tolerateError(a.Messages.BadSetterRestParameter)}var n=this.parsePropertyMethod(i);this.context.allowYield=t;return this.finalize(e,new u.FunctionExpression(null,i.params,n,r))};Parser.prototype.parseGeneratorMethod=function(){var e=this.createNode();var r=true;var t=this.context.allowYield;this.context.allowYield=true;var i=this.parseFormalParameters();this.context.allowYield=false;var n=this.parsePropertyMethod(i);this.context.allowYield=t;return this.finalize(e,new u.FunctionExpression(null,i.params,n,r))};Parser.prototype.isStartOfExpression=function(){var e=true;var r=this.lookahead.value;switch(this.lookahead.type){case 7:e=r==="["||r==="("||r==="{"||r==="+"||r==="-"||r==="!"||r==="~"||r==="++"||r==="--"||r==="/"||r==="/=";break;case 4:e=r==="class"||r==="delete"||r==="function"||r==="let"||r==="new"||r==="super"||r==="this"||r==="typeof"||r==="void"||r==="yield";break;default:break}return e};Parser.prototype.parseYieldExpression=function(){var e=this.createNode();this.expectKeyword("yield");var r=null;var t=false;if(!this.hasLineTerminator){var i=this.context.allowYield;this.context.allowYield=false;t=this.match("*");if(t){this.nextToken();r=this.parseAssignmentExpression()}else if(this.isStartOfExpression()){r=this.parseAssignmentExpression()}this.context.allowYield=i}return this.finalize(e,new u.YieldExpression(r,t))};Parser.prototype.parseClassElement=function(e){var r=this.lookahead;var t=this.createNode();var i="";var n=null;var s=null;var o=false;var f=false;var l=false;var c=false;if(this.match("*")){this.nextToken()}else{o=this.match("[");n=this.parseObjectPropertyKey();var h=n;if(h.name==="static"&&(this.qualifiedPropertyName(this.lookahead)||this.match("*"))){r=this.lookahead;l=true;o=this.match("[");if(this.match("*")){this.nextToken()}else{n=this.parseObjectPropertyKey()}}if(r.type===3&&!this.hasLineTerminator&&r.value==="async"){var p=this.lookahead.value;if(p!==":"&&p!=="("&&p!=="*"){c=true;r=this.lookahead;n=this.parseObjectPropertyKey();if(r.type===3&&r.value==="constructor"){this.tolerateUnexpectedToken(r,a.Messages.ConstructorIsAsync)}}}}var v=this.qualifiedPropertyName(this.lookahead);if(r.type===3){if(r.value==="get"&&v){i="get";o=this.match("[");n=this.parseObjectPropertyKey();this.context.allowYield=false;s=this.parseGetterMethod()}else if(r.value==="set"&&v){i="set";o=this.match("[");n=this.parseObjectPropertyKey();s=this.parseSetterMethod()}}else if(r.type===7&&r.value==="*"&&v){i="init";o=this.match("[");n=this.parseObjectPropertyKey();s=this.parseGeneratorMethod();f=true}if(!i&&n&&this.match("(")){i="init";s=c?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction();f=true}if(!i){this.throwUnexpectedToken(this.lookahead)}if(i==="init"){i="method"}if(!o){if(l&&this.isPropertyKey(n,"prototype")){this.throwUnexpectedToken(r,a.Messages.StaticPrototype)}if(!l&&this.isPropertyKey(n,"constructor")){if(i!=="method"||!f||s&&s.generator){this.throwUnexpectedToken(r,a.Messages.ConstructorSpecialMethod)}if(e.value){this.throwUnexpectedToken(r,a.Messages.DuplicateConstructor)}else{e.value=true}i="constructor"}}return this.finalize(t,new u.MethodDefinition(n,o,s,i,l))};Parser.prototype.parseClassElementList=function(){var e=[];var r={value:false};this.expect("{");while(!this.match("}")){if(this.match(";")){this.nextToken()}else{e.push(this.parseClassElement(r))}}this.expect("}");return e};Parser.prototype.parseClassBody=function(){var e=this.createNode();var r=this.parseClassElementList();return this.finalize(e,new u.ClassBody(r))};Parser.prototype.parseClassDeclaration=function(e){var r=this.createNode();var t=this.context.strict;this.context.strict=true;this.expectKeyword("class");var i=e&&this.lookahead.type!==3?null:this.parseVariableIdentifier();var n=null;if(this.matchKeyword("extends")){this.nextToken();n=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall)}var a=this.parseClassBody();this.context.strict=t;return this.finalize(r,new u.ClassDeclaration(i,n,a))};Parser.prototype.parseClassExpression=function(){var e=this.createNode();var r=this.context.strict;this.context.strict=true;this.expectKeyword("class");var t=this.lookahead.type===3?this.parseVariableIdentifier():null;var i=null;if(this.matchKeyword("extends")){this.nextToken();i=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall)}var n=this.parseClassBody();this.context.strict=r;return this.finalize(e,new u.ClassExpression(t,i,n))};Parser.prototype.parseModule=function(){this.context.strict=true;this.context.isModule=true;this.scanner.isModule=true;var e=this.createNode();var r=this.parseDirectivePrologues();while(this.lookahead.type!==2){r.push(this.parseStatementListItem())}return this.finalize(e,new u.Module(r))};Parser.prototype.parseScript=function(){var e=this.createNode();var r=this.parseDirectivePrologues();while(this.lookahead.type!==2){r.push(this.parseStatementListItem())}return this.finalize(e,new u.Script(r))};Parser.prototype.parseModuleSpecifier=function(){var e=this.createNode();if(this.lookahead.type!==8){this.throwError(a.Messages.InvalidModuleSpecifier)}var r=this.nextToken();var t=this.getTokenRaw(r);return this.finalize(e,new u.Literal(r.value,t))};Parser.prototype.parseImportSpecifier=function(){var e=this.createNode();var r;var t;if(this.lookahead.type===3){r=this.parseVariableIdentifier();t=r;if(this.matchContextualKeyword("as")){this.nextToken();t=this.parseVariableIdentifier()}}else{r=this.parseIdentifierName();t=r;if(this.matchContextualKeyword("as")){this.nextToken();t=this.parseVariableIdentifier()}else{this.throwUnexpectedToken(this.nextToken())}}return this.finalize(e,new u.ImportSpecifier(t,r))};Parser.prototype.parseNamedImports=function(){this.expect("{");var e=[];while(!this.match("}")){e.push(this.parseImportSpecifier());if(!this.match("}")){this.expect(",")}}this.expect("}");return e};Parser.prototype.parseImportDefaultSpecifier=function(){var e=this.createNode();var r=this.parseIdentifierName();return this.finalize(e,new u.ImportDefaultSpecifier(r))};Parser.prototype.parseImportNamespaceSpecifier=function(){var e=this.createNode();this.expect("*");if(!this.matchContextualKeyword("as")){this.throwError(a.Messages.NoAsAfterImportNamespace)}this.nextToken();var r=this.parseIdentifierName();return this.finalize(e,new u.ImportNamespaceSpecifier(r))};Parser.prototype.parseImportDeclaration=function(){if(this.context.inFunctionBody){this.throwError(a.Messages.IllegalImportDeclaration)}var e=this.createNode();this.expectKeyword("import");var r;var t=[];if(this.lookahead.type===8){r=this.parseModuleSpecifier()}else{if(this.match("{")){t=t.concat(this.parseNamedImports())}else if(this.match("*")){t.push(this.parseImportNamespaceSpecifier())}else if(this.isIdentifierName(this.lookahead)&&!this.matchKeyword("default")){t.push(this.parseImportDefaultSpecifier());if(this.match(",")){this.nextToken();if(this.match("*")){t.push(this.parseImportNamespaceSpecifier())}else if(this.match("{")){t=t.concat(this.parseNamedImports())}else{this.throwUnexpectedToken(this.lookahead)}}}else{this.throwUnexpectedToken(this.nextToken())}if(!this.matchContextualKeyword("from")){var i=this.lookahead.value?a.Messages.UnexpectedToken:a.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}this.nextToken();r=this.parseModuleSpecifier()}this.consumeSemicolon();return this.finalize(e,new u.ImportDeclaration(t,r))};Parser.prototype.parseExportSpecifier=function(){var e=this.createNode();var r=this.parseIdentifierName();var t=r;if(this.matchContextualKeyword("as")){this.nextToken();t=this.parseIdentifierName()}return this.finalize(e,new u.ExportSpecifier(r,t))};Parser.prototype.parseExportDeclaration=function(){if(this.context.inFunctionBody){this.throwError(a.Messages.IllegalExportDeclaration)}var e=this.createNode();this.expectKeyword("export");var r;if(this.matchKeyword("default")){this.nextToken();if(this.matchKeyword("function")){var t=this.parseFunctionDeclaration(true);r=this.finalize(e,new u.ExportDefaultDeclaration(t))}else if(this.matchKeyword("class")){var t=this.parseClassDeclaration(true);r=this.finalize(e,new u.ExportDefaultDeclaration(t))}else if(this.matchContextualKeyword("async")){var t=this.matchAsyncFunction()?this.parseFunctionDeclaration(true):this.parseAssignmentExpression();r=this.finalize(e,new u.ExportDefaultDeclaration(t))}else{if(this.matchContextualKeyword("from")){this.throwError(a.Messages.UnexpectedToken,this.lookahead.value)}var t=this.match("{")?this.parseObjectInitializer():this.match("[")?this.parseArrayInitializer():this.parseAssignmentExpression();this.consumeSemicolon();r=this.finalize(e,new u.ExportDefaultDeclaration(t))}}else if(this.match("*")){this.nextToken();if(!this.matchContextualKeyword("from")){var i=this.lookahead.value?a.Messages.UnexpectedToken:a.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}this.nextToken();var n=this.parseModuleSpecifier();this.consumeSemicolon();r=this.finalize(e,new u.ExportAllDeclaration(n))}else if(this.lookahead.type===4){var t=void 0;switch(this.lookahead.value){case"let":case"const":t=this.parseLexicalDeclaration({inFor:false});break;case"var":case"class":case"function":t=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}r=this.finalize(e,new u.ExportNamedDeclaration(t,[],null))}else if(this.matchAsyncFunction()){var t=this.parseFunctionDeclaration();r=this.finalize(e,new u.ExportNamedDeclaration(t,[],null))}else{var s=[];var o=null;var f=false;this.expect("{");while(!this.match("}")){f=f||this.matchKeyword("default");s.push(this.parseExportSpecifier());if(!this.match("}")){this.expect(",")}}this.expect("}");if(this.matchContextualKeyword("from")){this.nextToken();o=this.parseModuleSpecifier();this.consumeSemicolon()}else if(f){var i=this.lookahead.value?a.Messages.UnexpectedToken:a.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}else{this.consumeSemicolon()}r=this.finalize(e,new u.ExportNamedDeclaration(null,s,o))}return r};return Parser}();r.Parser=c},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});function assert(e,r){if(!e){throw new Error("ASSERT: "+r)}}r.assert=assert},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});var t=function(){function ErrorHandler(){this.errors=[];this.tolerant=false}ErrorHandler.prototype.recordError=function(e){this.errors.push(e)};ErrorHandler.prototype.tolerate=function(e){if(this.tolerant){this.recordError(e)}else{throw e}};ErrorHandler.prototype.constructError=function(e,r){var t=new Error(e);try{throw t}catch(e){if(Object.create&&Object.defineProperty){t=Object.create(e);Object.defineProperty(t,"column",{value:r})}}return t};ErrorHandler.prototype.createError=function(e,r,t,i){var n="Line "+r+": "+i;var a=this.constructError(n,t);a.index=e;a.lineNumber=r;a.description=i;return a};ErrorHandler.prototype.throwError=function(e,r,t,i){throw this.createError(e,r,t,i)};ErrorHandler.prototype.tolerateError=function(e,r,t,i){var n=this.createError(e,r,t,i);if(this.tolerant){this.recordError(n)}else{throw n}};return ErrorHandler}();r.ErrorHandler=t},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});r.Messages={BadGetterArity:"Getter must not have any formal parameters",BadSetterArity:"Setter must have exactly one formal parameter",BadSetterRestParameter:"Setter function argument must not be a rest parameter",ConstructorIsAsync:"Class constructor may not be an async method",ConstructorSpecialMethod:"Class constructor may not be an accessor",DeclarationMissingInitializer:"Missing initializer in %0 declaration",DefaultRestParameter:"Unexpected token =",DuplicateBinding:"Duplicate binding %0",DuplicateConstructor:"A class may only have one constructor",DuplicateProtoProperty:"Duplicate __proto__ fields are not allowed in object literals",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInLegacyContext:"Generator declarations are not allowed in legacy contexts",IllegalBreak:"Illegal break statement",IllegalContinue:"Illegal continue statement",IllegalExportDeclaration:"Unexpected token",IllegalImportDeclaration:"Unexpected token",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"Illegal return statement",InvalidEscapedReservedWord:"Keyword must not contain escaped characters",InvalidHexEscapeSequence:"Invalid hexadecimal escape sequence",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",InvalidLHSInForLoop:"Invalid left-hand side in for-loop",InvalidModuleSpecifier:"Unexpected token",InvalidRegExp:"Invalid regular expression",LetInLexicalBinding:"let is disallowed as a lexically bound name",MissingFromClause:"Unexpected token",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NewlineAfterThrow:"Illegal newline after throw",NoAsAfterImportNamespace:"Unexpected token",NoCatchOrFinally:"Missing catch or finally after try",ParameterAfterRestParameter:"Rest parameter must be last formal parameter",Redeclaration:"%0 '%1' has already been declared",StaticPrototype:"Classes may not have static property named prototype",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictModeWith:"Strict mode code may not include a with statement",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictReservedWord:"Use of future reserved word in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",TemplateOctalLiteral:"Octal literals are not allowed in template strings.",UnexpectedEOS:"Unexpected end of input",UnexpectedIdentifier:"Unexpected identifier",UnexpectedNumber:"Unexpected number",UnexpectedReserved:"Unexpected reserved word",UnexpectedString:"Unexpected string",UnexpectedTemplate:"Unexpected quasi %0",UnexpectedToken:"Unexpected token %0",UnexpectedTokenIllegal:"Unexpected token ILLEGAL",UnknownLabel:"Undefined label '%0'",UnterminatedRegExp:"Invalid regular expression: missing /"}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(9);var n=t(4);var a=t(11);function hexValue(e){return"0123456789abcdef".indexOf(e.toLowerCase())}function octalValue(e){return"01234567".indexOf(e)}var u=function(){function Scanner(e,r){this.source=e;this.errorHandler=r;this.trackComment=false;this.isModule=false;this.length=e.length;this.index=0;this.lineNumber=e.length>0?1:0;this.lineStart=0;this.curlyStack=[]}Scanner.prototype.saveState=function(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart}};Scanner.prototype.restoreState=function(e){this.index=e.index;this.lineNumber=e.lineNumber;this.lineStart=e.lineStart};Scanner.prototype.eof=function(){return this.index>=this.length};Scanner.prototype.throwUnexpectedToken=function(e){if(e===void 0){e=a.Messages.UnexpectedTokenIllegal}return this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,e)};Scanner.prototype.tolerateUnexpectedToken=function(e){if(e===void 0){e=a.Messages.UnexpectedTokenIllegal}this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,e)};Scanner.prototype.skipSingleLineComment=function(e){var r=[];var t,i;if(this.trackComment){r=[];t=this.index-e;i={start:{line:this.lineNumber,column:this.index-this.lineStart-e},end:{}}}while(!this.eof()){var a=this.source.charCodeAt(this.index);++this.index;if(n.Character.isLineTerminator(a)){if(this.trackComment){i.end={line:this.lineNumber,column:this.index-this.lineStart-1};var u={multiLine:false,slice:[t+e,this.index-1],range:[t,this.index-1],loc:i};r.push(u)}if(a===13&&this.source.charCodeAt(this.index)===10){++this.index}++this.lineNumber;this.lineStart=this.index;return r}}if(this.trackComment){i.end={line:this.lineNumber,column:this.index-this.lineStart};var u={multiLine:false,slice:[t+e,this.index],range:[t,this.index],loc:i};r.push(u)}return r};Scanner.prototype.skipMultiLineComment=function(){var e=[];var r,t;if(this.trackComment){e=[];r=this.index-2;t={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}}}while(!this.eof()){var i=this.source.charCodeAt(this.index);if(n.Character.isLineTerminator(i)){if(i===13&&this.source.charCodeAt(this.index+1)===10){++this.index}++this.lineNumber;++this.index;this.lineStart=this.index}else if(i===42){if(this.source.charCodeAt(this.index+1)===47){this.index+=2;if(this.trackComment){t.end={line:this.lineNumber,column:this.index-this.lineStart};var a={multiLine:true,slice:[r+2,this.index-2],range:[r,this.index],loc:t};e.push(a)}return e}++this.index}else{++this.index}}if(this.trackComment){t.end={line:this.lineNumber,column:this.index-this.lineStart};var a={multiLine:true,slice:[r+2,this.index],range:[r,this.index],loc:t};e.push(a)}this.tolerateUnexpectedToken();return e};Scanner.prototype.scanComments=function(){var e;if(this.trackComment){e=[]}var r=this.index===0;while(!this.eof()){var t=this.source.charCodeAt(this.index);if(n.Character.isWhiteSpace(t)){++this.index}else if(n.Character.isLineTerminator(t)){++this.index;if(t===13&&this.source.charCodeAt(this.index)===10){++this.index}++this.lineNumber;this.lineStart=this.index;r=true}else if(t===47){t=this.source.charCodeAt(this.index+1);if(t===47){this.index+=2;var i=this.skipSingleLineComment(2);if(this.trackComment){e=e.concat(i)}r=true}else if(t===42){this.index+=2;var i=this.skipMultiLineComment();if(this.trackComment){e=e.concat(i)}}else{break}}else if(r&&t===45){if(this.source.charCodeAt(this.index+1)===45&&this.source.charCodeAt(this.index+2)===62){this.index+=3;var i=this.skipSingleLineComment(3);if(this.trackComment){e=e.concat(i)}}else{break}}else if(t===60&&!this.isModule){if(this.source.slice(this.index+1,this.index+4)==="!--"){this.index+=4;var i=this.skipSingleLineComment(4);if(this.trackComment){e=e.concat(i)}}else{break}}else{break}}return e};Scanner.prototype.isFutureReservedWord=function(e){switch(e){case"enum":case"export":case"import":case"super":return true;default:return false}};Scanner.prototype.isStrictModeReservedWord=function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return true;default:return false}};Scanner.prototype.isRestrictedWord=function(e){return e==="eval"||e==="arguments"};Scanner.prototype.isKeyword=function(e){switch(e.length){case 2:return e==="if"||e==="in"||e==="do";case 3:return e==="var"||e==="for"||e==="new"||e==="try"||e==="let";case 4:return e==="this"||e==="else"||e==="case"||e==="void"||e==="with"||e==="enum";case 5:return e==="while"||e==="break"||e==="catch"||e==="throw"||e==="const"||e==="yield"||e==="class"||e==="super";case 6:return e==="return"||e==="typeof"||e==="delete"||e==="switch"||e==="export"||e==="import";case 7:return e==="default"||e==="finally"||e==="extends";case 8:return e==="function"||e==="continue"||e==="debugger";case 10:return e==="instanceof";default:return false}};Scanner.prototype.codePointAt=function(e){var r=this.source.charCodeAt(e);if(r>=55296&&r<=56319){var t=this.source.charCodeAt(e+1);if(t>=56320&&t<=57343){var i=r;r=(i-55296)*1024+t-56320+65536}}return r};Scanner.prototype.scanHexEscape=function(e){var r=e==="u"?4:2;var t=0;for(var i=0;i1114111||e!=="}"){this.throwUnexpectedToken()}return n.Character.fromCodePoint(r)};Scanner.prototype.getIdentifier=function(){var e=this.index++;while(!this.eof()){var r=this.source.charCodeAt(this.index);if(r===92){this.index=e;return this.getComplexIdentifier()}else if(r>=55296&&r<57343){this.index=e;return this.getComplexIdentifier()}if(n.Character.isIdentifierPart(r)){++this.index}else{break}}return this.source.slice(e,this.index)};Scanner.prototype.getComplexIdentifier=function(){var e=this.codePointAt(this.index);var r=n.Character.fromCodePoint(e);this.index+=r.length;var t;if(e===92){if(this.source.charCodeAt(this.index)!==117){this.throwUnexpectedToken()}++this.index;if(this.source[this.index]==="{"){++this.index;t=this.scanUnicodeCodePointEscape()}else{t=this.scanHexEscape("u");if(t===null||t==="\\"||!n.Character.isIdentifierStart(t.charCodeAt(0))){this.throwUnexpectedToken()}}r=t}while(!this.eof()){e=this.codePointAt(this.index);if(!n.Character.isIdentifierPart(e)){break}t=n.Character.fromCodePoint(e);r+=t;this.index+=t.length;if(e===92){r=r.substr(0,r.length-1);if(this.source.charCodeAt(this.index)!==117){this.throwUnexpectedToken()}++this.index;if(this.source[this.index]==="{"){++this.index;t=this.scanUnicodeCodePointEscape()}else{t=this.scanHexEscape("u");if(t===null||t==="\\"||!n.Character.isIdentifierPart(t.charCodeAt(0))){this.throwUnexpectedToken()}}r+=t}}return r};Scanner.prototype.octalToDecimal=function(e){var r=e!=="0";var t=octalValue(e);if(!this.eof()&&n.Character.isOctalDigit(this.source.charCodeAt(this.index))){r=true;t=t*8+octalValue(this.source[this.index++]);if("0123".indexOf(e)>=0&&!this.eof()&&n.Character.isOctalDigit(this.source.charCodeAt(this.index))){t=t*8+octalValue(this.source[this.index++])}}return{code:t,octal:r}};Scanner.prototype.scanIdentifier=function(){var e;var r=this.index;var t=this.source.charCodeAt(r)===92?this.getComplexIdentifier():this.getIdentifier();if(t.length===1){e=3}else if(this.isKeyword(t)){e=4}else if(t==="null"){e=5}else if(t==="true"||t==="false"){e=1}else{e=3}if(e!==3&&r+t.length!==this.index){var i=this.index;this.index=r;this.tolerateUnexpectedToken(a.Messages.InvalidEscapedReservedWord);this.index=i}return{type:e,value:t,lineNumber:this.lineNumber,lineStart:this.lineStart,start:r,end:this.index}};Scanner.prototype.scanPunctuator=function(){var e=this.index;var r=this.source[this.index];switch(r){case"(":case"{":if(r==="{"){this.curlyStack.push("{")}++this.index;break;case".":++this.index;if(this.source[this.index]==="."&&this.source[this.index+1]==="."){this.index+=2;r="..."}break;case"}":++this.index;this.curlyStack.pop();break;case")":case";":case",":case"[":case"]":case":":case"?":case"~":++this.index;break;default:r=this.source.substr(this.index,4);if(r===">>>="){this.index+=4}else{r=r.substr(0,3);if(r==="==="||r==="!=="||r===">>>"||r==="<<="||r===">>="||r==="**="){this.index+=3}else{r=r.substr(0,2);if(r==="&&"||r==="||"||r==="=="||r==="!="||r==="+="||r==="-="||r==="*="||r==="/="||r==="++"||r==="--"||r==="<<"||r===">>"||r==="&="||r==="|="||r==="^="||r==="%="||r==="<="||r===">="||r==="=>"||r==="**"){this.index+=2}else{r=this.source[this.index];if("<>=!+-*%&|^/".indexOf(r)>=0){++this.index}}}}}if(this.index===e){this.throwUnexpectedToken()}return{type:7,value:r,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}};Scanner.prototype.scanHexLiteral=function(e){var r="";while(!this.eof()){if(!n.Character.isHexDigit(this.source.charCodeAt(this.index))){break}r+=this.source[this.index++]}if(r.length===0){this.throwUnexpectedToken()}if(n.Character.isIdentifierStart(this.source.charCodeAt(this.index))){this.throwUnexpectedToken()}return{type:6,value:parseInt("0x"+r,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}};Scanner.prototype.scanBinaryLiteral=function(e){var r="";var t;while(!this.eof()){t=this.source[this.index];if(t!=="0"&&t!=="1"){break}r+=this.source[this.index++]}if(r.length===0){this.throwUnexpectedToken()}if(!this.eof()){t=this.source.charCodeAt(this.index);if(n.Character.isIdentifierStart(t)||n.Character.isDecimalDigit(t)){this.throwUnexpectedToken()}}return{type:6,value:parseInt(r,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}};Scanner.prototype.scanOctalLiteral=function(e,r){var t="";var i=false;if(n.Character.isOctalDigit(e.charCodeAt(0))){i=true;t="0"+this.source[this.index++]}else{++this.index}while(!this.eof()){if(!n.Character.isOctalDigit(this.source.charCodeAt(this.index))){break}t+=this.source[this.index++]}if(!i&&t.length===0){this.throwUnexpectedToken()}if(n.Character.isIdentifierStart(this.source.charCodeAt(this.index))||n.Character.isDecimalDigit(this.source.charCodeAt(this.index))){this.throwUnexpectedToken()}return{type:6,value:parseInt(t,8),octal:i,lineNumber:this.lineNumber,lineStart:this.lineStart,start:r,end:this.index}};Scanner.prototype.isImplicitOctalLiteral=function(){for(var e=this.index+1;e=0){i=i.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,function(e,r,i){var u=parseInt(r||i,16);if(u>1114111){n.throwUnexpectedToken(a.Messages.InvalidRegExp)}if(u<=65535){return String.fromCharCode(u)}return t}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,t)}try{RegExp(i)}catch(e){this.throwUnexpectedToken(a.Messages.InvalidRegExp)}try{return new RegExp(e,r)}catch(e){return null}};Scanner.prototype.scanRegExpBody=function(){var e=this.source[this.index];i.assert(e==="/","Regular expression literal must start with a slash");var r=this.source[this.index++];var t=false;var u=false;while(!this.eof()){e=this.source[this.index++];r+=e;if(e==="\\"){e=this.source[this.index++];if(n.Character.isLineTerminator(e.charCodeAt(0))){this.throwUnexpectedToken(a.Messages.UnterminatedRegExp)}r+=e}else if(n.Character.isLineTerminator(e.charCodeAt(0))){this.throwUnexpectedToken(a.Messages.UnterminatedRegExp)}else if(t){if(e==="]"){t=false}}else{if(e==="/"){u=true;break}else if(e==="["){t=true}}}if(!u){this.throwUnexpectedToken(a.Messages.UnterminatedRegExp)}return r.substr(1,r.length-2)};Scanner.prototype.scanRegExpFlags=function(){var e="";var r="";while(!this.eof()){var t=this.source[this.index];if(!n.Character.isIdentifierPart(t.charCodeAt(0))){break}++this.index;if(t==="\\"&&!this.eof()){t=this.source[this.index];if(t==="u"){++this.index;var i=this.index;var a=this.scanHexEscape("u");if(a!==null){r+=a;for(e+="\\u";i=55296&&e<57343){if(n.Character.isIdentifierStart(this.codePointAt(this.index))){return this.scanIdentifier()}}return this.scanPunctuator()};return Scanner}();r.Scanner=u},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});r.TokenName={};r.TokenName[1]="Boolean";r.TokenName[2]="";r.TokenName[3]="Identifier";r.TokenName[4]="Keyword";r.TokenName[5]="Null";r.TokenName[6]="Numeric";r.TokenName[7]="Punctuator";r.TokenName[8]="String";r.TokenName[9]="RegularExpression";r.TokenName[10]="Template"},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});r.XHTMLEntities={quot:'"',amp:"&",apos:"'",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",lang:"⟨",rang:"⟩"}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(10);var n=t(12);var a=t(13);var u=function(){function Reader(){this.values=[];this.curly=this.paren=-1}Reader.prototype.beforeFunctionExpression=function(e){return["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","**","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="].indexOf(e)>=0};Reader.prototype.isRegexStart=function(){var e=this.values[this.values.length-1];var r=e!==null;switch(e){case"this":case"]":r=false;break;case")":var t=this.values[this.paren-1];r=t==="if"||t==="while"||t==="for"||t==="with";break;case"}":r=false;if(this.values[this.curly-3]==="function"){var i=this.values[this.curly-4];r=i?!this.beforeFunctionExpression(i):false}else if(this.values[this.curly-4]==="function"){var i=this.values[this.curly-5];r=i?!this.beforeFunctionExpression(i):true}break;default:break}return r};Reader.prototype.push=function(e){if(e.type===7||e.type===4){if(e.value==="{"){this.curly=this.values.length}else if(e.value==="("){this.paren=this.values.length}this.values.push(e.value)}else{this.values.push(null)}};return Reader}();var s=function(){function Tokenizer(e,r){this.errorHandler=new i.ErrorHandler;this.errorHandler.tolerant=r?typeof r.tolerant==="boolean"&&r.tolerant:false;this.scanner=new n.Scanner(e,this.errorHandler);this.scanner.trackComment=r?typeof r.comment==="boolean"&&r.comment:false;this.trackRange=r?typeof r.range==="boolean"&&r.range:false;this.trackLoc=r?typeof r.loc==="boolean"&&r.loc:false;this.buffer=[];this.reader=new u}Tokenizer.prototype.errors=function(){return this.errorHandler.errors};Tokenizer.prototype.getNextToken=function(){if(this.buffer.length===0){var e=this.scanner.scanComments();if(this.scanner.trackComment){for(var r=0;rr){if(e.charAt(t-1)!==" "){break}t--}return t}},,function(e,r,t){"use strict";var i=t(347)("unified-engine:file-pipeline:stringify");var n=t(928);var a=t(212);e.exports=stringify;function stringify(e,r){var t=e.processor;var u=e.tree;var s;if(n(r).fatal){i("Not compiling failed document");return}if(!e.output&&!e.out&&!e.alwaysStringify){i("Not compiling document without output settings");return}i("Compiling `%s`",r.path);if(e.inspect){if(r.path){r.extname=".txt"}s=a[e.color?"color":"noColor"](u)+"\n"}else if(e.treeOut){if(r.path){r.extname=".json"}s=JSON.stringify(u,null,2)+"\n"}else{s=t.stringify(u,r)}r.contents=s;i("Compiled document")}},,,function(e,r,t){"use strict";const i=t(624);e.exports=(e=>typeof e==="string"?e.replace(i(),""):e)},,function(e,r,t){"use strict";var i=t(260);function Mark(e,r,t,i,n){this.name=e;this.buffer=r;this.position=t;this.line=i;this.column=n}Mark.prototype.getSnippet=function getSnippet(e,r){var t,n,a,u,s;if(!this.buffer)return null;e=e||4;r=r||75;t="";n=this.position;while(n>0&&"\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(n-1))===-1){n-=1;if(this.position-n>r/2-1){t=" ... ";n+=5;break}}a="";u=this.position;while(ur/2-1){a=" ... ";u-=5;break}}s=this.buffer.slice(n,u);return i.repeat(" ",e)+t+s+a+"\n"+i.repeat(" ",e+this.position-n+t.length)+"^"};Mark.prototype.toString=function toString(e){var r,t="";if(this.name){t+='in "'+this.name+'" '}t+="at line "+(this.line+1)+", column "+(this.column+1);if(!e){r=this.getSnippet();if(r){t+=":\n"+r}}return t};e.exports=Mark},function(e,r,t){var i=t(148);var n=function(){};var a=t(405);e.exports=wrapped;function wrapped(e){function wrap(){var r=i(arguments);var t=r[r.length-1];var u=this;var s=typeof t=="function"?r.pop():n;if(!e){return s.apply(u,[null].concat(r))}if(generator(e)){return a(e).apply(u,r.concat(s))}if(e.length>r.length){try{return e.apply(u,r.concat(s))}catch(e){return s(e)}}return sync(e,s).apply(u,r)}return wrap}function sync(e,r){return function(){var t;try{t=e.apply(this,arguments)}catch(e){return r(e)}if(promise(t)){t.then(function(e){r(null,e)},r)}else{t instanceof Error?r(t):r(null,t)}}}function generator(e){return e&&e.constructor&&"GeneratorFunction"==e.constructor.name}function promise(e){return e&&"function"==typeof e.then}},,,,,,,,function(e,r,t){"use strict";var i=t(495);e.exports=i("remark-lint:no-file-name-articles",noFileNameArticles);function noFileNameArticles(e,r){var t=r.stem&&r.stem.match(/^(the|teh|an?)\b/i);if(t){r.message("Do not start file names with `"+t[0]+"`")}}},,,function(e,r,t){"use strict";var i=t(171);e.exports=newline;var n="\n";function newline(e,r,t){var a=r.charAt(0);var u;var s;var o;var f;if(a!==n){return}if(t){return true}f=1;u=r.length;s=a;o="";while(f{if(typeof e!=="string"||e.length===0){return 0}e=i(e);let r=0;for(let t=0;t=127&&i<=159){continue}if(i>=768&&i<=879){continue}if(i>65535){t++}r+=n(i)?2:1}return r})},,,,function(e){e.exports=require("stream")},,,,function(e){"use strict";e.exports=function isObject(e){return typeof e==="object"&&e!==null}},,function(e,r,t){"use strict";e.exports={position:true,gfm:true,commonmark:false,footnotes:false,pedantic:false,blocks:t(676)}},,,function(e,r,t){"use strict";var i=t(211);var n=Object.prototype.toString;function resolveYamlPairs(e){if(e===null)return true;var r,t,i,a,u,s=e;u=new Array(s.length);for(r=0,t=s.length;r=0){r=r.slice(1)}if(r===".inf"){return t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY}else if(r===".nan"){return NaN}else if(r.indexOf(":")>=0){r.split(":").forEach(function(e){n.unshift(parseFloat(e,10))});r=0;i=1;n.forEach(function(e){r+=e*i;i*=60});return t*r}return t*parseFloat(r,10)}var u=/^[-+]?[0-9]+e/;function representYamlFloat(e,r){var t;if(isNaN(e)){switch(r){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}}else if(Number.POSITIVE_INFINITY===e){switch(r){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}}else if(Number.NEGATIVE_INFINITY===e){switch(r){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}else if(i.isNegativeZero(e)){return"-0.0"}t=e.toString(10);return u.test(t)?t.replace("e",".e"):t}function isFloat(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||i.isNegativeZero(e))}e.exports=new n("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"})},,function(e,r,t){"use strict";const i=t(947);e.exports=((e,r,t)=>{if(typeof r==="number"){t=r}if(i.has(e.toLowerCase())){r=i.get(e.toLowerCase());const t=e.charAt(0);const n=t===t.toUpperCase();if(n){r=t.toUpperCase()+r.slice(1)}const a=e===e.toUpperCase();if(a){r=r.toUpperCase()}}else if(typeof r!=="string"){r=(e.replace(/(?:s|x|z|ch|sh)$/i,"$&e").replace(/([^aeiou])y$/i,"$1ie")+"s").replace(/i?e?s$/i,r=>{const t=e.slice(-1)===e.slice(-1).toLowerCase();return t?r.toLowerCase():r.toUpperCase()})}return Math.abs(t)===1?e:r})},function(e,r,t){"use strict";var i=t(814);e.exports=pad;var n="\n";var a=" ";var u=4;function pad(e,r){var t=e.split(n);var s=t.length;var o=i(a,r*u);while(s--){if(t[s].length!==0){t[s]=o+t[s]}}return t.join(n)}},,,,function(e){e.exports=function(e,r){return e.replace(/(\\*)(\$([_a-z0-9]+)|\${([_a-z0-9]+)})/gi,function(e,t,i,n,a){if(!(t.length%2)){return t.substring(Math.ceil(t.length/2))+(r[n||a]||"")}else{return t.substring(1)+i}})}},,,,function(e,r,t){"use strict";var i=t(211);var n=Object.prototype.hasOwnProperty;function resolveYamlSet(e){if(e===null)return true;var r,t=e;for(r in t){if(n.call(t,r)){if(t[r]!==null)return false}}return true}function constructYamlSet(e){return e!==null?e:{}}e.exports=new i("tag:yaml.org,2002:set",{kind:"mapping",resolve:resolveYamlSet,construct:constructYamlSet})},function(e){if(typeof Object.create==="function"){e.exports=function inherits(e,r){e.super_=r;e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}})}}else{e.exports=function inherits(e,r){e.super_=r;var t=function(){};t.prototype=r.prototype;e.prototype=new t;e.prototype.constructor=e}}},,,,,function(e){var r=Object.prototype.toString;var t=typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return r.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,r,i){r>>>=0;var n=e.byteLength-r;if(n<0){throw new RangeError("'offset' is out of bounds")}if(i===undefined){i=n}else{i>>>=0;if(i>n){throw new RangeError("'length' is out of bounds")}}return t?Buffer.from(e.slice(r,r+i)):new Buffer(new Uint8Array(e.slice(r,r+i)))}function fromString(e,r){if(typeof r!=="string"||r===""){r="utf8"}if(!Buffer.isEncoding(r)){throw new TypeError('"encoding" must be a valid string encoding')}return t?Buffer.from(e,r):new Buffer(e,r)}function bufferFrom(e,r,i){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,r,i)}if(typeof e==="string"){return fromString(e,r)}return t?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},,function(e){e.exports={AEli:"Æ",AElig:"Æ",AM:"&",AMP:"&",Aacut:"Á",Aacute:"Á",Abreve:"Ă",Acir:"Â",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrav:"À",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Arin:"Å",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atild:"Ã",Atilde:"Ã",Aum:"Ä",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COP:"©",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedi:"Ç",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ET:"Ð",ETH:"Ð",Eacut:"É",Eacute:"É",Ecaron:"Ě",Ecir:"Ê",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrav:"È",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Eum:"Ë",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",G:">",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacut:"Í",Iacute:"Í",Icir:"Î",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrav:"Ì",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Ium:"Ï",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",L:"<",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntild:"Ñ",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacut:"Ó",Oacute:"Ó",Ocir:"Ô",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograv:"Ò",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslas:"Ø",Oslash:"Ø",Otild:"Õ",Otilde:"Õ",Otimes:"⨷",Oum:"Ö",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUO:'"',QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",RE:"®",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THOR:"Þ",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacut:"Ú",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucir:"Û",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrav:"Ù",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uum:"Ü",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacut:"Ý",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacut:"á",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acir:"â",acirc:"â",acut:"´",acute:"´",acy:"а",aeli:"æ",aelig:"æ",af:"⁡",afr:"𝔞",agrav:"à",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",am:"&",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",arin:"å",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atild:"ã",atilde:"ã",aum:"ä",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvba:"¦",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedi:"ç",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedi:"¸",cedil:"¸",cemptyv:"⦲",cen:"¢",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",cop:"©",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curre:"¤",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",de:"°",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divid:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacut:"é",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"ê",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrav:"è",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",et:"ð",eth:"ð",eum:"ë",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac1:"¼",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac3:"¾",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",g:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacut:"í",iacute:"í",ic:"⁣",icir:"î",icirc:"î",icy:"и",iecy:"е",iexc:"¡",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrav:"ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iques:"¿",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",ium:"ï",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laqu:"«",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",l:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",mac:"¯",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micr:"µ",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middo:"·",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbs:" ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",no:"¬",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntild:"ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacut:"ó",oacute:"ó",oast:"⊛",ocir:"ô",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograv:"ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"º",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslas:"ø",oslash:"ø",osol:"⊘",otild:"õ",otilde:"õ",otimes:"⊗",otimesas:"⨶",oum:"ö",ouml:"ö",ovbar:"⌽",par:"¶",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusm:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",poun:"£",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quo:'"',quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raqu:"»",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",re:"®",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sec:"§",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",sh:"­",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szli:"ß",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thor:"þ",thorn:"þ",tilde:"˜",time:"×",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacut:"ú",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucir:"û",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrav:"ù",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",um:"¨",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uum:"ü",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacut:"ý",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",ye:"¥",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yum:"ÿ",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(287);var n=_interopRequireDefault(i);var a=t(809);var u=_interopRequireDefault(a);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}r.default={parse:n.default,stringify:u.default};e.exports=r["default"]},,function(e){"use strict";e.exports=interrupt;function interrupt(e,r,t,i){var n=e.length;var a=-1;var u;var s;while(++a>0},ToUint32:function(e){return e>>>0}}}();var u=Math.LN2,s=Math.abs,o=Math.floor,f=Math.log,l=Math.min,c=Math.pow,h=Math.round;function configureProperties(e){if(v&&p){var r=v(e),t;for(t=0;tn)throw new RangeError("Array too large for polyfill");function makeArrayAccessor(r){p(e,r,{get:function(){return e._getter(r)},set:function(t){e._setter(r,t)},enumerable:true,configurable:false})}var r;for(r=0;r>t}function as_unsigned(e,r){var t=32-r;return e<>>t}function packI8(e){return[e&255]}function unpackI8(e){return as_signed(e[0],8)}function packU8(e){return[e&255]}function unpackU8(e){return as_unsigned(e[0],8)}function packU8Clamped(e){e=h(Number(e));return[e<0?0:e>255?255:e&255]}function packI16(e){return[e>>8&255,e&255]}function unpackI16(e){return as_signed(e[0]<<8|e[1],16)}function packU16(e){return[e>>8&255,e&255]}function unpackU16(e){return as_unsigned(e[0]<<8|e[1],16)}function packI32(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}function unpackI32(e){return as_signed(e[0]<<24|e[1]<<16|e[2]<<8|e[3],32)}function packU32(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}function unpackU32(e){return as_unsigned(e[0]<<24|e[1]<<16|e[2]<<8|e[3],32)}function packIEEE754(e,r,t){var i=(1<.5)return r+1;return r%2?r+1:r}if(e!==e){a=(1<=c(2,1-i)){a=l(o(f(e)/u),1023);h=roundToEven(e/c(2,a)*c(2,t));if(h/c(2,t)>=2){a=a+1;h=1}if(a>i){a=(1<>1}}i.reverse();s=i.join("");o=(1<0){return f*c(2,l-o)*(1+h/c(2,t))}else if(h!==0){return f*c(2,-(o-1))*(h/c(2,t))}else{return f<0?-0:0}}function unpackF64(e){return unpackIEEE754(e,11,52)}function packF64(e){return packIEEE754(e,11,52)}function unpackF32(e){return unpackIEEE754(e,8,23)}function packF32(e){return packIEEE754(e,8,23)}(function(){var e=function ArrayBuffer(e){e=a.ToInt32(e);if(e<0)throw new RangeError("ArrayBuffer size is not a small enough positive integer");this.byteLength=e;this._bytes=[];this._bytes.length=e;var r;for(r=0;rthis.buffer.byteLength){throw new RangeError("byteOffset out of range")}if(this.byteOffset%this.BYTES_PER_ELEMENT){throw new RangeError("ArrayBuffer length minus the byteOffset is not a multiple of the element size.")}if(arguments.length<3){this.byteLength=this.buffer.byteLength-this.byteOffset;if(this.byteLength%this.BYTES_PER_ELEMENT){throw new RangeError("length of buffer minus byteOffset not a multiple of the element size")}this.length=this.byteLength/this.BYTES_PER_ELEMENT}else{this.length=a.ToUint32(i);this.byteLength=this.length*this.BYTES_PER_ELEMENT}if(this.byteOffset+this.byteLength>this.buffer.byteLength){throw new RangeError("byteOffset and length reference an area beyond the end of the buffer")}}else{throw new TypeError("Unexpected argument type(s)")}this.constructor=s;configureProperties(this);makeArrayAccessors(this)};s.prototype=new r;s.prototype.BYTES_PER_ELEMENT=t;s.prototype._pack=n;s.prototype._unpack=u;s.BYTES_PER_ELEMENT=t;s.prototype._getter=function(e){if(arguments.length<1)throw new SyntaxError("Not enough arguments");e=a.ToUint32(e);if(e>=this.length){return i}var r=[],t,n;for(t=0,n=this.byteOffset+e*this.BYTES_PER_ELEMENT;t=this.length){return i}var t=this._pack(r),n,u;for(n=0,u=this.byteOffset+e*this.BYTES_PER_ELEMENT;nthis.length){throw new RangeError("Offset plus length of array is out of range")}l=this.byteOffset+n*this.BYTES_PER_ELEMENT;c=t.length*this.BYTES_PER_ELEMENT;if(t.buffer===this.buffer){h=[];for(s=0,o=t.byteOffset;sthis.length){throw new RangeError("Offset plus length of array is out of range")}for(s=0;st?t:e}e=a.ToInt32(e);r=a.ToInt32(r);if(arguments.length<1){e=0}if(arguments.length<2){r=this.length}if(e<0){e=this.length+e}if(r<0){r=this.length+r}e=clamp(e,0,this.length);r=clamp(r,0,this.length);var t=r-e;if(t<0){t=0}return new this.constructor(this.buffer,this.byteOffset+e*this.BYTES_PER_ELEMENT,t)};return s}var n=makeConstructor(1,packI8,unpackI8);var u=makeConstructor(1,packU8,unpackU8);var s=makeConstructor(1,packU8Clamped,unpackU8);var o=makeConstructor(2,packI16,unpackI16);var f=makeConstructor(2,packU16,unpackU16);var l=makeConstructor(4,packI32,unpackI32);var c=makeConstructor(4,packU32,unpackU32);var h=makeConstructor(4,packF32,unpackF32);var p=makeConstructor(8,packF64,unpackF64);t.Int8Array=t.Int8Array||n;t.Uint8Array=t.Uint8Array||u;t.Uint8ClampedArray=t.Uint8ClampedArray||s;t.Int16Array=t.Int16Array||o;t.Uint16Array=t.Uint16Array||f;t.Int32Array=t.Int32Array||l;t.Uint32Array=t.Uint32Array||c;t.Float32Array=t.Float32Array||h;t.Float64Array=t.Float64Array||p})();(function(){function r(e,r){return a.IsCallable(e.get)?e.get(r):e[r]}var e=function(){var e=new t.Uint16Array([4660]),i=new t.Uint8Array(e.buffer);return r(i,0)===18}();var i=function DataView(e,r,i){if(arguments.length===0){e=new t.ArrayBuffer(0)}else if(!(e instanceof t.ArrayBuffer||a.Class(e)==="ArrayBuffer")){throw new TypeError("TypeError")}this.buffer=e||new t.ArrayBuffer(0);this.byteOffset=a.ToUint32(r);if(this.byteOffset>this.buffer.byteLength){throw new RangeError("byteOffset out of range")}if(arguments.length<3){this.byteLength=this.buffer.byteLength-this.byteOffset}else{this.byteLength=a.ToUint32(i)}if(this.byteOffset+this.byteLength>this.buffer.byteLength){throw new RangeError("byteOffset and length reference an area beyond the end of the buffer")}configureProperties(this)};function makeGetter(i){return function(n,u){n=a.ToUint32(n);if(n+i.BYTES_PER_ELEMENT>this.byteLength){throw new RangeError("Array index out of range")}n+=this.byteOffset;var s=new t.Uint8Array(this.buffer,n,i.BYTES_PER_ELEMENT),o=[],f;for(f=0;fthis.byteLength){throw new RangeError("Array index out of range")}var o=new i([u]),f=new t.Uint8Array(o.buffer),l=[],c,h;for(c=0;c=e.length?e.length:n+t;r.message+=` while parsing near '${i===0?"":"..."}${e.slice(i,a)}${a===e.length?"":"..."}'`}else{r.message+=` while parsing '${e.slice(0,t*2)}'`}throw r}}},,function(e){"use strict";e.exports=function isArrayish(e){if(!e){return false}return e instanceof Array||Array.isArray(e)||e.length>=0&&e.splice instanceof Function}},,,function(e){"use strict";e.exports=strikethrough;var r="~";var t=r+r;function strikethrough(e){return t+this.all(e).join("")+t}},,function(e,r,t){"use strict";var i=t(495);var n=t(704);var a=t(682);var u=t(839);var s=t(526);e.exports=i("remark-lint:no-heading-indent",noHeadingIndent);var o=u.start;function noHeadingIndent(e,r){var t=String(r);var i=t.length;a(e,"heading",visitor);function visitor(e){var a;var u;var f;var l;var c;if(s(e)){return}a=o(e);u=a.offset;f=u-1;while(++f-1&&t.charAt(i)!=="\n"){r.message("Missing newline character at end of file")}}},,,function(e,r,t){"use strict";var i=t(171);var n=t(111);e.exports=strikethrough;strikethrough.locator=n;var a="~";var u="~~";function strikethrough(e,r,t){var n=this;var s="";var o="";var f="";var l="";var c;var h;var p;if(!n.options.gfm||r.charAt(0)!==a||r.charAt(1)!==a||i(r.charAt(2))){return}c=1;h=r.length;p=e.now();p.column+=2;p.offset+=2;while(++c?@[\\\]^`{|}~_]/;function copy(e,r){var t=e.length;var u=r.length;var s=[];var o=0;var f=0;var l;while(f0){t=Math.min(10,Math.floor(t));f=" ".substr(0,t)}}else if(typeof t==="string"){f=t.substr(0,10)}return serializeProperty("",{"":e});function serializeProperty(e,r){var t=r[e];if(t!=null){if(typeof t.toJSON5==="function"){t=t.toJSON5(e)}else if(typeof t.toJSON==="function"){t=t.toJSON(e)}}if(o){t=o.call(r,e,t)}if(t instanceof Number){t=Number(t)}else if(t instanceof String){t=String(t)}else if(t instanceof Boolean){t=t.valueOf()}switch(t){case null:return"null";case true:return"true";case false:return"false"}if(typeof t==="string"){return quoteString(t,false)}if(typeof t==="number"){return String(t)}if((typeof t==="undefined"?"undefined":i(t))==="object"){return Array.isArray(t)?serializeArray(t):serializeObject(t)}return undefined}function quoteString(e){var r={"'":.1,'"':.2};var t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};var i="";var n=true;var a=false;var u=undefined;try{for(var s=e[Symbol.iterator](),o;!(n=(o=s.next()).done);n=true){var f=o.value;switch(f){case"'":case'"':r[f]++;i+=f;continue}if(t[f]){i+=t[f];continue}if(f<" "){var c=f.charCodeAt(0).toString(16);i+="\\x"+("00"+c).substring(c.length);continue}i+=f}}catch(e){a=true;u=e}finally{try{if(!n&&s.return){s.return()}}finally{if(a){throw u}}}var h=l||Object.keys(r).reduce(function(e,t){return r[e]=0){throw TypeError("Converting circular structure to JSON5")}n.push(e);var r=u;u=u+f;var t=s||Object.keys(e);var i=[];var a=true;var o=false;var l=undefined;try{for(var c=t[Symbol.iterator](),h;!(a=(h=c.next()).done);a=true){var p=h.value;var v=serializeProperty(p,e);if(v!==undefined){var d=serializeKey(p)+":";if(f!==""){d+=" "}d+=v;i.push(d)}}}catch(e){o=true;l=e}finally{try{if(!a&&c.return){c.return()}}finally{if(o){throw l}}}var D=void 0;if(i.length===0){D="{}"}else{var m=void 0;if(f===""){m=i.join(",");D="{"+m+"}"}else{var g=",\n"+u;m=i.join(g);D="{\n"+u+m+",\n"+r+"}"}}n.pop();u=r;return D}function serializeKey(e){if(e.length===0){return quoteString(e,true)}var r=String.fromCodePoint(e.codePointAt(0));if(!a.isIdStartChar(r)){return quoteString(e,true)}for(var t=r.length;t=0){throw TypeError("Converting circular structure to JSON5")}n.push(e);var r=u;u=u+f;var t=[];for(var i=0;i=n){return r.substr(0,n)}while(n>r.length&&i>1){if(i&1){r+=e}i>>=1;e+=e}r+=e;r=r.substr(0,n);return r}},,function(e,r,t){"use strict";var i=t(495);var n=t(839);var a=t(526);var u=t(135);var s=t(682);e.exports=i("remark-lint:no-duplicate-definitions",noDuplicateDefinitions);var o="Do not use definitions with the same identifier";function noDuplicateDefinitions(e,r){var t={};s(e,["definition","footnoteDefinition"],validate);function validate(e){var i;var s;if(!a(e)){i=e.identifier;s=t[i];if(s&&s.type){r.message(o+" ("+u(n.start(s))+")",e)}t[i]=e}}}},function(e){"use strict";e.exports=is;function is(e,r,t,i,n){var a=i!==null&&i!==undefined;var u=t!==null&&t!==undefined;var s=convert(e);if(u&&(typeof t!=="number"||t<0||t===Infinity)){throw new Error("Expected positive finite index or child node")}if(a&&(!is(null,i)||!i.children)){throw new Error("Expected parent node")}if(!r||!r.type||typeof r.type!=="string"){return false}if(a!==u){throw new Error("Expected both parent and index")}return Boolean(s.call(n,r,t,i))}function convert(e){if(typeof e==="string"){return typeFactory(e)}if(e===null||e===undefined){return ok}if(typeof e==="object"){return("length"in e?anyFactory:matchesFactory)(e)}if(typeof e==="function"){return e}throw new Error("Expected function, string, or object as test")}function convertAll(e){var r=[];var t=e.length;var i=-1;while(++i=u){v--;break}d+=g}D="";m="";while(++v{r=r||process.argv;const t=e.startsWith("-")?"":e.length===1?"-":"--";const i=r.indexOf(t+e);const n=r.indexOf("--");return i!==-1&&(n===-1?true:ie[t])e[t]=i});return e},[]);var u=map(e,function(e){return map(e,function(e,r){var t=String(e);if(i[r]==="."){var u=dotindex(t);var s=a[r]+(/\./.test(t)?1:2)-(n(t)-u);return t+Array(s).join(" ")}else return t})});var s=reduce(u,function(e,r){forEach(r,function(r,t){var i=n(r);if(!e[t]||i>e[t])e[t]=i});return e},[]);return map(u,function(e){return map(e,function(e,r){var t=s[r]-n(e)||0;var a=Array(Math.max(t+1,1)).join(" ");if(i[r]==="r"||i[r]==="."){return a+e}if(i[r]==="c"){return Array(Math.ceil(t/2+1)).join(" ")+e+Array(Math.floor(t/2+1)).join(" ")}return e+a}).join(t).replace(/\s+$/,"")}).join("\n")};function dotindex(e){var r=/\.[^.]*$/.exec(e);return r?r.index+1:e.length}function reduce(e,r,t){if(e.reduce)return e.reduce(r,t);var i=0;var n=arguments.length>=3?t:e[i++];for(;it&&a0?"add":"remove")+" "+Math.abs(h)+" "+n("space",h);r.message(p,s)}}}}},,,,,function(e,r,t){"use strict";var i=t(721);e.exports=decodeEntity;var n={}.hasOwnProperty;function decodeEntity(e){return n.call(i,e)?i[e]:false}},,function(e,r,t){"use strict";var i=t(336);var n=t(780);e.exports=unherit;function unherit(e){var r;var t;var a;n(Of,e);n(From,Of);r=Of.prototype;for(t in r){a=r[t];if(a&&typeof a==="object"){r[t]="concat"in a?a.concat():i(a)}}return Of;function From(r){return e.apply(this,r)}function Of(){if(!(this instanceof Of)){return new From(arguments)}return e.apply(this,arguments)}}},function(e){"use strict";const r=e=>{let r=false;let t=false;let i=false;for(let n=0;n{if(!(typeof e==="string"||Array.isArray(e))){throw new TypeError("Expected the input to be `string | string[]`")}t=Object.assign({pascalCase:false},t);const i=e=>t.pascalCase?e.charAt(0).toUpperCase()+e.slice(1):e;if(Array.isArray(e)){e=e.map(e=>e.trim()).filter(e=>e.length).join("-")}else{e=e.trim()}if(e.length===0){return""}if(e.length===1){return t.pascalCase?e.toUpperCase():e.toLowerCase()}const n=e!==e.toLowerCase();if(n){e=r(e)}e=e.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(e,r)=>r.toUpperCase()).replace(/\d+(\w|$)/g,e=>e.toUpperCase());return i(e)};e.exports=t;e.exports.default=t},,function(e,r,t){"use strict";var i=t(211);function resolveYamlMerge(e){return e==="<<"||e===null}e.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge})},function(e){"use strict";e.exports={gfm:true,commonmark:false,pedantic:false,entities:"false",setext:false,closeAtx:false,looseTable:false,spacedTable:true,paddedTable:true,stringLength:stringLength,incrementListMarker:true,fences:false,fence:"`",bullet:"-",listItemIndent:"tab",rule:"*",ruleSpaces:true,ruleRepetition:3,strong:"*",emphasis:"_"};function stringLength(e){return e.length}},function(e,r,t){"use strict";var i=t(197);var n=t(520);var a=t(439);var u=t(25);var s=t(908);var o=t(895);e.exports=parseEntities;var f={}.hasOwnProperty;var l=String.fromCharCode;var c=Function.prototype;var h={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:false,nonTerminated:true};var p="named";var v="hexadecimal";var d="decimal";var D={};D[v]=16;D[d]=10;var m={};m[p]=s;m[d]=a;m[v]=u;var g=1;var E=2;var A=3;var C=4;var y=5;var w=6;var x=7;var b={};b[g]="Named character references must be terminated by a semicolon";b[E]="Numeric character references must be terminated by a semicolon";b[A]="Named character references cannot be empty";b[C]="Numeric character references cannot be empty";b[y]="Named character references must be known";b[w]="Numeric character references cannot be disallowed";b[x]="Numeric character references cannot be outside the permissible Unicode range";function parseEntities(e,r){var t={};var i;var n;if(!r){r={}}for(n in h){i=r[n];t[n]=i===null||i===undefined?h[n]:i}if(t.position.indent||t.position.start){t.indent=t.position.indent||[];t.position=t.position.start}return parse(e,t)}function parse(e,r){var t=r.additional;var a=r.nonTerminated;var u=r.text;var h=r.reference;var F=r.warning;var S=r.textContext;var B=r.referenceContext;var k=r.warningContext;var O=r.position;var P=r.indent||[];var T=e.length;var I=0;var M=-1;var L=O.column||1;var R=O.line||1;var j="";var N=[];var U;var J;var z;var X;var q;var G;var _;var W;var V;var H;var Y;var $;var Z;var Q;var K;var ee;var re;var te;var ie;ee=now();W=F?parseError:c;I--;T++;while(++I65535){G-=65536;H+=l(G>>>(10&1023)|55296);G=56320|G&1023}G=H+l(G)}}if(!G){X=e.slice(Z-1,ie);j+=X;L+=X.length;I=ie-1}else{flush();ee=now();I=ie-1;L+=ie-Z+1;N.push(G);re=now();re.offset++;if(h){h.call(B,G,{start:ee,end:re},e.slice(Z-1,ie))}ee=re}}}return N.join("");function now(){return{line:R,column:L,offset:I+(O.offset||0)}}function parseError(e,r){var t=now();t.column+=r;t.offset+=r;F.call(k,b[e],t,e)}function at(r){return e.charAt(r)}function flush(){if(j){N.push(j);if(u){u.call(S,j,{start:ee,end:now()})}j=""}}}function prohibited(e){return e>=55296&&e<=57343||e>1114111}function disallowed(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534}},,,function(e,r,t){"use strict";var i=t(36);var n=t(116);var a=t(171);var u=t(82);e.exports=emphasis;emphasis.locator=u;var s="*";var o="_";var f="\\";function emphasis(e,r,t){var u=this;var l=0;var c=r.charAt(l);var h;var p;var v;var d;var D;var m;var g;if(c!==s&&c!==o){return}p=u.options.pedantic;D=c;v=c;m=r.length;l++;d="";c="";if(p&&a(r.charAt(l))){return}while(l0){if(typeof r!=="string"&&!a.objectMode&&Object.getPrototypeOf(r)!==f.prototype){r=_uint8ArrayToBuffer(r)}if(i){if(a.endEmitted)e.emit("error",new Error("stream.unshift() after end event"));else addChunk(e,a,r,true)}else if(a.ended){e.emit("error",new Error("stream.push() after EOF"))}else{a.reading=false;if(a.decoder&&!t){r=a.decoder.write(r);if(a.objectMode||r.length!==0)addChunk(e,a,r,false);else maybeReadMore(e,a)}else{addChunk(e,a,r,false)}}}else if(!i){a.reading=false}}return needMoreData(a)}function addChunk(e,r,t,i){if(r.flowing&&r.length===0&&!r.sync){e.emit("data",t);e.read(0)}else{r.length+=r.objectMode?1:t.length;if(i)r.buffer.unshift(t);else r.buffer.push(t);if(r.needReadable)emitReadable(e)}maybeReadMore(e,r)}function chunkInvalid(e,r){var t;if(!_isUint8Array(r)&&typeof r!=="string"&&r!==undefined&&!e.objectMode){t=new TypeError("Invalid non-string/buffer chunk")}return t}function needMoreData(e){return!e.ended&&(e.needReadable||e.length=g){e=g}else{e--;e|=e>>>1;e|=e>>>2;e|=e>>>4;e|=e>>>8;e|=e>>>16;e++}return e}function howMuchToRead(e,r){if(e<=0||r.length===0&&r.ended)return 0;if(r.objectMode)return 1;if(e!==e){if(r.flowing&&r.length)return r.buffer.head.data.length;else return r.length}if(e>r.highWaterMark)r.highWaterMark=computeNewHighWaterMark(e);if(e<=r.length)return e;if(!r.ended){r.needReadable=true;return 0}return r.length}Readable.prototype.read=function(e){p("read",e);e=parseInt(e,10);var r=this._readableState;var t=e;if(e!==0)r.emittedReadable=false;if(e===0&&r.needReadable&&(r.length>=r.highWaterMark||r.ended)){p("read: emitReadable",r.length,r.ended);if(r.length===0&&r.ended)endReadable(this);else emitReadable(this);return null}e=howMuchToRead(e,r);if(e===0&&r.ended){if(r.length===0)endReadable(this);return null}var i=r.needReadable;p("need readable",i);if(r.length===0||r.length-e0)n=fromList(e,r);else n=null;if(n===null){r.needReadable=true;e=0}else{r.length-=e}if(r.length===0){if(!r.ended)r.needReadable=true;if(t!==e&&r.ended)endReadable(this)}if(n!==null)this.emit("data",n);return n};function onEofChunk(e,r){if(r.ended)return;if(r.decoder){var t=r.decoder.end();if(t&&t.length){r.buffer.push(t);r.length+=r.objectMode?1:t.length}}r.ended=true;emitReadable(e)}function emitReadable(e){var r=e._readableState;r.needReadable=false;if(!r.emittedReadable){p("emitReadable",r.flowing);r.emittedReadable=true;if(r.sync)i.nextTick(emitReadable_,e);else emitReadable_(e)}}function emitReadable_(e){p("emit readable");e.emit("readable");flow(e)}function maybeReadMore(e,r){if(!r.readingMore){r.readingMore=true;i.nextTick(maybeReadMore_,e,r)}}function maybeReadMore_(e,r){var t=r.length;while(!r.reading&&!r.flowing&&!r.ended&&r.length1&&indexOf(n.pipes,e)!==-1)&&!f){p("false write response, pause",t._readableState.awaitDrain);t._readableState.awaitDrain++;l=true}t.pause()}}function onerror(r){p("onerror",r);unpipe();e.removeListener("error",onerror);if(s(e,"error")===0)e.emit("error",r)}prependListener(e,"error",onerror);function onclose(){e.removeListener("finish",onfinish);unpipe()}e.once("close",onclose);function onfinish(){p("onfinish");e.removeListener("close",onclose);unpipe()}e.once("finish",onfinish);function unpipe(){p("unpipe");t.unpipe(e)}e.emit("pipe",t);if(!n.flowing){p("pipe resume");t.resume()}return e};function pipeOnDrain(e){return function(){var r=e._readableState;p("pipeOnDrain",r.awaitDrain);if(r.awaitDrain)r.awaitDrain--;if(r.awaitDrain===0&&s(e,"data")){r.flowing=true;flow(e)}}}Readable.prototype.unpipe=function(e){var r=this._readableState;var t={hasUnpiped:false};if(r.pipesCount===0)return this;if(r.pipesCount===1){if(e&&e!==r.pipes)return this;if(!e)e=r.pipes;r.pipes=null;r.pipesCount=0;r.flowing=false;if(e)e.emit("unpipe",this,t);return this}if(!e){var i=r.pipes;var n=r.pipesCount;r.pipes=null;r.pipesCount=0;r.flowing=false;for(var a=0;a=r.length){if(r.decoder)t=r.buffer.join("");else if(r.buffer.length===1)t=r.buffer.head.data;else t=r.buffer.concat(r.length);r.buffer.clear()}else{t=fromListPartial(e,r.buffer,r.decoder)}return t}function fromListPartial(e,r,t){var i;if(ea.length?a.length:e;if(u===a.length)n+=a;else n+=a.slice(0,e);e-=u;if(e===0){if(u===a.length){++i;if(t.next)r.head=t.next;else r.head=r.tail=null}else{r.head=t;t.data=a.slice(u)}break}++i}r.length-=i;return n}function copyFromBuffer(e,r){var t=f.allocUnsafe(e);var i=r.head;var n=1;i.data.copy(t);e-=i.data.length;while(i=i.next){var a=i.data;var u=e>a.length?a.length:e;a.copy(t,t.length-e,0,u);e-=u;if(e===0){if(u===a.length){++n;if(i.next)r.head=i.next;else r.head=r.tail=null}else{r.head=i;i.data=a.slice(u)}break}++n}r.length-=n;return t}function endReadable(e){var r=e._readableState;if(r.length>0)throw new Error('"endReadable()" called on non-empty stream');if(!r.endEmitted){r.ended=true;i.nextTick(endReadableNT,r,e)}}function endReadableNT(e,r){if(!e.endEmitted&&e.length===0){e.endEmitted=true;r.readable=false;r.emit("end")}}function indexOf(e,r){for(var t=0,i=e.length;t=l){continue}y="";while(v=2){r.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}}catch(e){}r.inspectOpts=Object.keys(process.env).filter(function(e){return/^debug_/i.test(e)}).reduce(function(e,r){var t=r.substring(6).toLowerCase().replace(/_([a-z])/g,function(e,r){return r.toUpperCase()});var i=process.env[r];if(/^(yes|on|true|enabled)$/i.test(i)){i=true}else if(/^(no|off|false|disabled)$/i.test(i)){i=false}else if(i==="null"){i=null}else{i=Number(i)}e[t]=i;return e},{});function useColors(){return"colors"in r.inspectOpts?Boolean(r.inspectOpts.colors):i.isatty(process.stderr.fd)}function formatArgs(r){var t=this.namespace,i=this.useColors;if(i){var n=this.color;var a="[3"+(n<8?n:"8;5;"+n);var u=" ".concat(a,";1m").concat(t," ");r[0]=u+r[0].split("\n").join("\n"+u);r.push(a+"m+"+e.exports.humanize(this.diff)+"")}else{r[0]=getDate()+t+" "+r[0]}}function getDate(){if(r.inspectOpts.hideDate){return""}return(new Date).toISOString()+" "}function log(){return process.stderr.write(n.format.apply(n,arguments)+"\n")}function save(e){if(e){process.env.DEBUG=e}else{delete process.env.DEBUG}}function load(){return process.env.DEBUG}function init(e){e.inspectOpts={};var t=Object.keys(r.inspectOpts);for(var i=0;i=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},,,function(e){"use strict";e.exports=locate;function locate(e,r){var t=e.indexOf("[",r);var i=e.indexOf("![",r);if(i===-1){return t}return t Date: Tue, 25 Jun 2019 00:40:24 +0200 Subject: [PATCH 111/144] doc: clarify response.finished PR-URL: https://github.com/nodejs/node/pull/28411 Refs: https://github.com/jshttp/on-finished/issues/30 Reviewed-By: Rich Trott Reviewed-By: James M Snell Reviewed-By: Luigi Pinca Reviewed-By: Trivikram Kamat --- doc/api/http.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/api/http.md b/doc/api/http.md index 53cd9d3bb8aa03..999cb4da4c2b73 100644 --- a/doc/api/http.md +++ b/doc/api/http.md @@ -1172,8 +1172,8 @@ added: v0.0.2 * {boolean} -Boolean value that indicates whether the response has completed. Starts -as `false`. After [`response.end()`][] executes, the value will be `true`. +The `response.finished` property will be `true` if [`response.end()`][] +has been called. ### response.getHeader(name)

Gold Sponsors

-

Salesforce Airbnb Facebook Open Source Badoo Shopify

Silver Sponsors

+

Shopify Salesforce Badoo Airbnb Facebook Open Source

Silver Sponsors

AMP Project

Bronze Sponsors

-

Usave TekHattan Faithlife ThemeIsle Marfeel clay Discord JSHeroes Fire Stick Tricks

+

clay Discord ThemeIsle TekHattan Marfeel Fire Stick Tricks JSHeroes Faithlife

## Technology Sponsors @@ -271,11 +270,5 @@ The following companies, organizations, and individuals support ESLint's ongoing [npm-image]: https://img.shields.io/npm/v/eslint.svg?style=flat-square [npm-url]: https://www.npmjs.com/package/eslint -[travis-image]: https://img.shields.io/travis/eslint/eslint/master.svg?style=flat-square -[travis-url]: https://travis-ci.org/eslint/eslint -[appveyor-image]: https://ci.appveyor.com/api/projects/status/iwxmiobcvbw3b0av/branch/master?svg=true -[appveyor-url]: https://ci.appveyor.com/project/nzakas/eslint/branch/master -[coveralls-image]: https://img.shields.io/coveralls/eslint/eslint/master.svg?style=flat-square -[coveralls-url]: https://coveralls.io/r/eslint/eslint?branch=master [downloads-image]: https://img.shields.io/npm/dm/eslint.svg?style=flat-square [downloads-url]: https://www.npmjs.com/package/eslint diff --git a/tools/node_modules/eslint/bin/eslint.js b/tools/node_modules/eslint/bin/eslint.js index 1c41bafd24539e..b6b14d3a2ba79b 100755 --- a/tools/node_modules/eslint/bin/eslint.js +++ b/tools/node_modules/eslint/bin/eslint.js @@ -45,7 +45,7 @@ process.once("uncaughtException", err => { const pkg = require("../package.json"); console.error("\nOops! Something went wrong! :("); - console.error(`\nESLint: ${pkg.version}.\n${template(err.messageData || {})}`); + console.error(`\nESLint: ${pkg.version}.\n\n${template(err.messageData || {})}`); } else { console.error(err.stack); diff --git a/tools/node_modules/eslint/lib/cli-engine/cascading-config-array-factory.js b/tools/node_modules/eslint/lib/cli-engine/cascading-config-array-factory.js index 7d162e5c048760..13b240f12b3d9b 100644 --- a/tools/node_modules/eslint/lib/cli-engine/cascading-config-array-factory.js +++ b/tools/node_modules/eslint/lib/cli-engine/cascading-config-array-factory.js @@ -27,7 +27,7 @@ const os = require("os"); const path = require("path"); const { validateConfigArray } = require("../shared/config-validator"); const { ConfigArrayFactory } = require("./config-array-factory"); -const { ConfigDependency } = require("./config-array"); +const { ConfigArray, ConfigDependency } = require("./config-array"); const loadRules = require("./load-rules"); const debug = require("debug")("eslint:cascading-config-array-factory"); @@ -225,11 +225,22 @@ class CascadingConfigArrayFactory { /** * Get the config array of a given file. - * @param {string} filePath The file path to a file. + * If `filePath` was not given, it returns the config which contains only + * `baseConfigData` and `cliConfigData`. + * @param {string} [filePath] The file path to a file. * @returns {ConfigArray} The config array of the file. */ getConfigArrayForFile(filePath) { - const { cwd } = internalSlotsMap.get(this); + const { + baseConfigArray, + cliConfigArray, + cwd + } = internalSlotsMap.get(this); + + if (!filePath) { + return new ConfigArray(...baseConfigArray, ...cliConfigArray); + } + const directoryPath = path.dirname(path.resolve(cwd, filePath)); debug(`Load config files for ${directoryPath}.`); @@ -302,6 +313,7 @@ class CascadingConfigArrayFactory { if (configArray.length > 0 && configArray.isRoot()) { debug("Stop traversing because of 'root:true'."); + configArray.unshift(...baseConfigArray); return this._cacheConfig(directoryPath, configArray); } diff --git a/tools/node_modules/eslint/lib/cli-engine/cli-engine.js b/tools/node_modules/eslint/lib/cli-engine/cli-engine.js index a2359d801e81db..81e1b07c83e9fa 100644 --- a/tools/node_modules/eslint/lib/cli-engine/cli-engine.js +++ b/tools/node_modules/eslint/lib/cli-engine/cli-engine.js @@ -573,7 +573,7 @@ class CLIEngine { const linter = new Linter(); /** @type {ConfigArray[]} */ - const lastConfigArrays = []; + const lastConfigArrays = [configArrayFactory.getConfigArrayForFile()]; // Store private data. internalSlotsMap.set(this, { @@ -904,6 +904,13 @@ class CLIEngine { const { configArrayFactory, options } = internalSlotsMap.get(this); const absolutePath = path.resolve(options.cwd, filePath); + if (directoryExists(absolutePath)) { + throw Object.assign( + new Error("'filePath' should not be a directory path."), + { messageTemplate: "print-config-with-directory-path" } + ); + } + return configArrayFactory .getConfigArrayForFile(absolutePath) .extractConfig(absolutePath) diff --git a/tools/node_modules/eslint/lib/cli-engine/config-array-factory.js b/tools/node_modules/eslint/lib/cli-engine/config-array-factory.js index 46b4e740516064..782bb1d148f4bb 100644 --- a/tools/node_modules/eslint/lib/cli-engine/config-array-factory.js +++ b/tools/node_modules/eslint/lib/cli-engine/config-array-factory.js @@ -224,15 +224,16 @@ function loadPackageJSONConfigFile(filePath) { /** * Creates an error to notify about a missing config to extend from. * @param {string} configName The name of the missing config. + * @param {string} importerName The name of the config that imported the missing config * @returns {Error} The error object to throw * @private */ -function configMissingError(configName) { +function configMissingError(configName, importerName) { return Object.assign( new Error(`Failed to load config "${configName}" to extend from.`), { messageTemplate: "extend-config-missing", - messageData: { configName } + messageData: { configName, importerName } } ); } @@ -637,7 +638,7 @@ class ConfigArrayFactory { return this._loadConfigData(eslintAllPath, name); } - throw configMissingError(extendName); + throw configMissingError(extendName, importerName); } /** @@ -670,7 +671,7 @@ class ConfigArrayFactory { ); } - throw plugin.error || configMissingError(extendName); + throw plugin.error || configMissingError(extendName, importerPath); } /** @@ -704,7 +705,7 @@ class ConfigArrayFactory { } catch (error) { /* istanbul ignore else */ if (error && error.code === "MODULE_NOT_FOUND") { - throw configMissingError(extendName); + throw configMissingError(extendName, importerPath); } throw error; } diff --git a/tools/node_modules/eslint/lib/cli-engine/config-array/config-array.js b/tools/node_modules/eslint/lib/cli-engine/config-array/config-array.js index d85fc94bf140b5..5c7aaa334000ca 100644 --- a/tools/node_modules/eslint/lib/cli-engine/config-array/config-array.js +++ b/tools/node_modules/eslint/lib/cli-engine/config-array/config-array.js @@ -231,7 +231,6 @@ function mergeRuleConfigs(target, source) { * @returns {ExtractedConfig} The extracted config. */ function createConfig(instance, indices) { - const slots = internalSlotsMap.get(instance); const config = new ExtractedConfig(); // Merge elements. @@ -256,7 +255,7 @@ function createConfig(instance, indices) { mergeWithoutOverwrite(config.globals, element.globals); mergeWithoutOverwrite(config.parserOptions, element.parserOptions); mergeWithoutOverwrite(config.settings, element.settings); - mergePlugins(config.plugins, element.plugins, slots); + mergePlugins(config.plugins, element.plugins); mergeRuleConfigs(config.rules, element.rules); } diff --git a/tools/node_modules/eslint/lib/cli-engine/config-array/override-tester.js b/tools/node_modules/eslint/lib/cli-engine/config-array/override-tester.js index 2aaefac7d1c2f5..6f61e4ff1c79a2 100644 --- a/tools/node_modules/eslint/lib/cli-engine/config-array/override-tester.js +++ b/tools/node_modules/eslint/lib/cli-engine/config-array/override-tester.js @@ -55,7 +55,17 @@ function toMatcher(patterns) { if (patterns.length === 0) { return null; } - return patterns.map(pattern => new Minimatch(pattern, minimatchOpts)); + return patterns.map(pattern => { + if (/^\.[/\\]/u.test(pattern)) { + return new Minimatch( + pattern.slice(2), + + // `./*.js` should not match with `subdir/foo.js` + { ...minimatchOpts, matchBase: false } + ); + } + return new Minimatch(pattern, minimatchOpts); + }); } /** diff --git a/tools/node_modules/eslint/lib/cli-engine/formatters/junit.js b/tools/node_modules/eslint/lib/cli-engine/formatters/junit.js index c12736751d3ff2..c32425883f7cac 100644 --- a/tools/node_modules/eslint/lib/cli-engine/formatters/junit.js +++ b/tools/node_modules/eslint/lib/cli-engine/formatters/junit.js @@ -5,6 +5,7 @@ "use strict"; const xmlEscape = require("../xml-escape"); +const path = require("path"); //------------------------------------------------------------------------------ // Helper Functions @@ -24,6 +25,16 @@ function getMessageType(message) { } +/** + * Returns a full file path without extension + * @param {string} filePath input file path + * @returns {string} file path without extension + * @private + */ +function pathWithoutExt(filePath) { + return path.posix.join(path.posix.dirname(filePath), path.basename(filePath, path.extname(filePath))); +} + //------------------------------------------------------------------------------ // Public Interface //------------------------------------------------------------------------------ @@ -38,13 +49,14 @@ module.exports = function(results) { results.forEach(result => { const messages = result.messages; + const classname = pathWithoutExt(result.filePath); if (messages.length > 0) { output += `\n`; messages.forEach(message => { const type = message.fatal ? "error" : "failure"; - output += ``; + output += ``; output += `<${type} message="${xmlEscape(message.message || "")}">`; output += "\n"; } else { output += `\n`; - output += `\n`; + output += `\n`; output += "\n"; } diff --git a/tools/node_modules/eslint/lib/linter/linter.js b/tools/node_modules/eslint/lib/linter/linter.js index c97822f269cdd7..6324706974674b 100644 --- a/tools/node_modules/eslint/lib/linter/linter.js +++ b/tools/node_modules/eslint/lib/linter/linter.js @@ -929,13 +929,11 @@ function getEnv(slots, envId) { * Get a rule. * @param {LinterInternalSlots} slots The internal slots of Linter. * @param {string} ruleId The rule ID to get. - * @returns {Rule} The rule. + * @returns {Rule|null} The rule. */ function getRule(slots, ruleId) { return ( (slots.lastConfigArray && slots.lastConfigArray.pluginRules.get(ruleId)) || - - // This returns the stub for missing rules if the rule does not exist. slots.ruleMap.get(ruleId) ); } diff --git a/tools/node_modules/eslint/lib/linter/node-event-generator.js b/tools/node_modules/eslint/lib/linter/node-event-generator.js index cea89262e5cf4c..1267081d95b08a 100644 --- a/tools/node_modules/eslint/lib/linter/node-event-generator.js +++ b/tools/node_modules/eslint/lib/linter/node-event-generator.js @@ -221,17 +221,19 @@ class NodeEventGenerator { const selector = parseSelector(rawSelector); if (selector.listenerTypes) { - selector.listenerTypes.forEach(nodeType => { - const typeMap = selector.isExit ? this.exitSelectorsByNodeType : this.enterSelectorsByNodeType; + const typeMap = selector.isExit ? this.exitSelectorsByNodeType : this.enterSelectorsByNodeType; + selector.listenerTypes.forEach(nodeType => { if (!typeMap.has(nodeType)) { typeMap.set(nodeType, []); } typeMap.get(nodeType).push(selector); }); - } else { - (selector.isExit ? this.anyTypeExitSelectors : this.anyTypeEnterSelectors).push(selector); + return; } + const selectors = selector.isExit ? this.anyTypeExitSelectors : this.anyTypeEnterSelectors; + + selectors.push(selector); }); this.anyTypeEnterSelectors.sort(compareSpecificity); diff --git a/tools/node_modules/eslint/lib/rule-tester/rule-tester.js b/tools/node_modules/eslint/lib/rule-tester/rule-tester.js index 671de56064c7fc..81f3a2fc4e7c24 100644 --- a/tools/node_modules/eslint/lib/rule-tester/rule-tester.js +++ b/tools/node_modules/eslint/lib/rule-tester/rule-tester.js @@ -123,6 +123,18 @@ function freezeDeeply(x) { } } +/** + * Replace control characters by `\u00xx` form. + * @param {string} text The text to sanitize. + * @returns {string} The sanitized text. + */ +function sanitize(text) { + return text.replace( + /[\u0000-\u001f]/gu, // eslint-disable-line no-control-regex + c => `\\u${c.codePointAt(0).toString(16).padStart(4, "0")}` + ); +} + //------------------------------------------------------------------------------ // Public Interface //------------------------------------------------------------------------------ @@ -313,7 +325,7 @@ class RuleTester { */ function runRuleForItem(item) { let config = lodash.cloneDeep(testerConfig), - code, filename, beforeAST, afterAST; + code, filename, output, beforeAST, afterAST; if (typeof item === "string") { code = item; @@ -396,8 +408,29 @@ class RuleTester { validate(config, "rule-tester", id => (id === ruleName ? rule : null)); + // Verify the code. + const messages = linter.verify(code, config, filename); + + // Ignore syntax errors for backward compatibility if `errors` is a number. + if (typeof item.errors !== "number") { + const errorMessage = messages.find(m => m.fatal); + + assert(!errorMessage, `A fatal parsing error occurred: ${errorMessage && errorMessage.message}`); + } + + // Verify if autofix makes a syntax error or not. + if (messages.some(m => m.fix)) { + output = SourceCodeFixer.applyFixes(code, messages).output; + const errorMessageInFix = linter.verify(output, config, filename).find(m => m.fatal); + + assert(!errorMessageInFix, `A fatal parsing error occurred in autofix: ${errorMessageInFix && errorMessageInFix.message}`); + } else { + output = code; + } + return { - messages: linter.verify(code, config, filename, true), + messages, + output, beforeAST, afterAST: cloneDeeplyExcludesParent(afterAST) }; @@ -488,7 +521,6 @@ class RuleTester { const error = item.errors[i]; const message = messages[i]; - assert(!message.fatal, `A fatal parsing error occurred: ${message.message}`); assert(hasMessageOfThisRule, "Error rule name should be the same as the name of the rule being tested"); if (typeof error === "string" || error instanceof RegExp) { @@ -574,14 +606,12 @@ class RuleTester { if (Object.prototype.hasOwnProperty.call(item, "output")) { if (item.output === null) { assert.strictEqual( - messages.filter(message => message.fix).length, - 0, + result.output, + item.code, "Expected no autofixes to be suggested" ); } else { - const fixResult = SourceCodeFixer.applyFixes(item.code, messages); - - assert.strictEqual(fixResult.output, item.output, "Output is incorrect."); + assert.strictEqual(result.output, item.output, "Output is incorrect."); } } @@ -595,7 +625,7 @@ class RuleTester { RuleTester.describe(ruleName, () => { RuleTester.describe("valid", () => { test.valid.forEach(valid => { - RuleTester.it(typeof valid === "object" ? valid.code : valid, () => { + RuleTester.it(sanitize(typeof valid === "object" ? valid.code : valid), () => { testValidTemplate(valid); }); }); @@ -603,7 +633,7 @@ class RuleTester { RuleTester.describe("invalid", () => { test.invalid.forEach(invalid => { - RuleTester.it(invalid.code, () => { + RuleTester.it(sanitize(invalid.code), () => { testInvalidTemplate(invalid); }); }); diff --git a/tools/node_modules/eslint/lib/rules/arrow-parens.js b/tools/node_modules/eslint/lib/rules/arrow-parens.js index 387bcfec0c09cf..b4b26e35342dc6 100644 --- a/tools/node_modules/eslint/lib/rules/arrow-parens.js +++ b/tools/node_modules/eslint/lib/rules/arrow-parens.js @@ -10,6 +10,23 @@ const astUtils = require("./utils/ast-utils"); +//------------------------------------------------------------------------------ +// Helpers +//------------------------------------------------------------------------------ + +/** + * Get location should be reported by AST node. + * + * @param {ASTNode} node AST Node. + * @returns {Location} Location information. + */ +function getLocation(node) { + return { + start: node.params[0].loc.start, + end: node.params[node.params.length - 1].loc.end + }; +} + //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ @@ -102,6 +119,7 @@ module.exports = { context.report({ node, messageId: "unexpectedParensInline", + loc: getLocation(node), fix: fixParamsWithParenthesis }); } @@ -116,6 +134,7 @@ module.exports = { context.report({ node, messageId: "expectedParensBlock", + loc: getLocation(node), fix(fixer) { return fixer.replaceText(firstTokenOfParam, `(${firstTokenOfParam.value})`); } @@ -135,6 +154,7 @@ module.exports = { context.report({ node, messageId: "unexpectedParens", + loc: getLocation(node), fix: fixParamsWithParenthesis }); } @@ -149,6 +169,7 @@ module.exports = { context.report({ node, messageId: "expectedParens", + loc: getLocation(node), fix(fixer) { return fixer.replaceText(firstTokenOfParam, `(${firstTokenOfParam.value})`); } diff --git a/tools/node_modules/eslint/lib/rules/max-len.js b/tools/node_modules/eslint/lib/rules/max-len.js index 70e4ae867f66ff..45b02f35117834 100644 --- a/tools/node_modules/eslint/lib/rules/max-len.js +++ b/tools/node_modules/eslint/lib/rules/max-len.js @@ -315,6 +315,13 @@ module.exports = { textToMeasure = line; } else if (ignoreTrailingComments && isTrailingComment(line, lineNumber, comment)) { textToMeasure = stripTrailingComment(line, comment); + + // ignore multiple trailing comments in the same line + let lastIndex = commentsIndex; + + while (isTrailingComment(textToMeasure, lineNumber, comments[--lastIndex])) { + textToMeasure = stripTrailingComment(textToMeasure, comments[lastIndex]); + } } else { textToMeasure = line; } diff --git a/tools/node_modules/eslint/lib/rules/multiline-comment-style.js b/tools/node_modules/eslint/lib/rules/multiline-comment-style.js index e4470c20f43f51..6578a120126bfb 100644 --- a/tools/node_modules/eslint/lib/rules/multiline-comment-style.js +++ b/tools/node_modules/eslint/lib/rules/multiline-comment-style.js @@ -25,6 +25,7 @@ module.exports = { schema: [{ enum: ["starred-block", "separate-lines", "bare-block"] }], messages: { expectedBlock: "Expected a block comment instead of consecutive line comments.", + expectedBareBlock: "Expected a block comment without padding stars.", startNewline: "Expected a linebreak after '/*'.", endNewline: "Expected a linebreak before '*/'.", missingStar: "Expected a '*' at the start of this line.", @@ -250,7 +251,7 @@ module.exports = { start: block.loc.start, end: { line: block.loc.start.line, column: block.loc.start.column + 2 } }, - messageId: "expectedBlock", + messageId: "expectedBareBlock", fix(fixer) { return fixer.replaceText(block, convertToBlock(block, commentLines.filter(line => line))); } diff --git a/tools/node_modules/eslint/lib/rules/no-else-return.js b/tools/node_modules/eslint/lib/rules/no-else-return.js index 2f3fcf808f456a..c63af2be523e1c 100644 --- a/tools/node_modules/eslint/lib/rules/no-else-return.js +++ b/tools/node_modules/eslint/lib/rules/no-else-return.js @@ -51,6 +51,124 @@ module.exports = { // Helpers //-------------------------------------------------------------------------- + /** + * Checks whether the given names can be safely used to declare block-scoped variables + * in the given scope. Name collisions can produce redeclaration syntax errors, + * or silently change references and modify behavior of the original code. + * + * This is not a generic function. In particular, it is assumed that the scope is a function scope or + * a function's inner scope, and that the names can be valid identifiers in the given scope. + * + * @param {string[]} names Array of variable names. + * @param {eslint-scope.Scope} scope Function scope or a function's inner scope. + * @returns {boolean} True if all names can be safely declared, false otherwise. + */ + function isSafeToDeclare(names, scope) { + + if (names.length === 0) { + return true; + } + + const functionScope = scope.variableScope; + + /* + * If this is a function scope, scope.variables will contain parameters, implicit variables such as "arguments", + * all function-scoped variables ('var'), and block-scoped variables defined in the scope. + * If this is an inner scope, scope.variables will contain block-scoped variables defined in the scope. + * + * Redeclaring any of these would cause a syntax error, except for the implicit variables. + */ + const declaredVariables = scope.variables.filter(({ defs }) => defs.length > 0); + + if (declaredVariables.some(({ name }) => names.includes(name))) { + return false; + } + + // Redeclaring a catch variable would also cause a syntax error. + if (scope !== functionScope && scope.upper.type === "catch") { + if (scope.upper.variables.some(({ name }) => names.includes(name))) { + return false; + } + } + + /* + * Redeclaring an implicit variable, such as "arguments", would not cause a syntax error. + * However, if the variable was used, declaring a new one with the same name would change references + * and modify behavior. + */ + const usedImplicitVariables = scope.variables.filter(({ defs, references }) => + defs.length === 0 && references.length > 0); + + if (usedImplicitVariables.some(({ name }) => names.includes(name))) { + return false; + } + + /* + * Declaring a variable with a name that was already used to reference a variable from an upper scope + * would change references and modify behavior. + */ + if (scope.through.some(t => names.includes(t.identifier.name))) { + return false; + } + + /* + * If the scope is an inner scope (not the function scope), an uninitialized `var` variable declared inside + * the scope node (directly or in one of its descendants) is neither declared nor 'through' in the scope. + * + * For example, this would be a syntax error "Identifier 'a' has already been declared": + * function foo() { if (bar) { let a; if (baz) { var a; } } } + */ + if (scope !== functionScope) { + const scopeNodeRange = scope.block.range; + const variablesToCheck = functionScope.variables.filter(({ name }) => names.includes(name)); + + if (variablesToCheck.some(v => v.defs.some(({ node: { range } }) => + scopeNodeRange[0] <= range[0] && range[1] <= scopeNodeRange[1]))) { + return false; + } + } + + return true; + } + + + /** + * Checks whether the removal of `else` and its braces is safe from variable name collisions. + * + * @param {Node} node The 'else' node. + * @param {eslint-scope.Scope} scope The scope in which the node and the whole 'if' statement is. + * @returns {boolean} True if it is safe, false otherwise. + */ + function isSafeFromNameCollisions(node, scope) { + + if (node.type === "FunctionDeclaration") { + + // Conditional function declaration. Scope and hoisting are unpredictable, different engines work differently. + return false; + } + + if (node.type !== "BlockStatement") { + return true; + } + + const elseBlockScope = scope.childScopes.find(({ block }) => block === node); + + if (!elseBlockScope) { + + // ecmaVersion < 6, `else` block statement cannot have its own scope, no possible collisions. + return true; + } + + /* + * elseBlockScope is supposed to merge into its upper scope. elseBlockScope.variables array contains + * only block-scoped variables (such as let and const variables or class and function declarations) + * defined directly in the elseBlockScope. These are exactly the only names that could cause collisions. + */ + const namesToCheck = elseBlockScope.variables.map(({ name }) => name); + + return isSafeToDeclare(namesToCheck, scope); + } + /** * Display the context report if rule is violated * @@ -58,10 +176,17 @@ module.exports = { * @returns {void} */ function displayReport(node) { + const currentScope = context.getScope(); + context.report({ node, messageId: "unexpected", fix: fixer => { + + if (!isSafeFromNameCollisions(node, currentScope)) { + return null; + } + const sourceCode = context.getSourceCode(); const startToken = sourceCode.getFirstToken(node); const elseToken = sourceCode.getTokenBefore(startToken); @@ -118,6 +243,8 @@ module.exports = { * Extend the replacement range to include the entire * function to avoid conflicting with no-useless-return. * https://github.com/eslint/eslint/issues/8026 + * + * Also, to avoid name collisions between two else blocks. */ return new FixTracker(fixer, sourceCode) .retainEnclosingFunction(node) diff --git a/tools/node_modules/eslint/lib/rules/no-octal.js b/tools/node_modules/eslint/lib/rules/no-octal.js index b8c2238265f550..5ee69f0309ee03 100644 --- a/tools/node_modules/eslint/lib/rules/no-octal.js +++ b/tools/node_modules/eslint/lib/rules/no-octal.js @@ -28,7 +28,7 @@ module.exports = { return { Literal(node) { - if (typeof node.value === "number" && /^0[0-7]/u.test(node.raw)) { + if (typeof node.value === "number" && /^0[0-9]/u.test(node.raw)) { context.report({ node, message: "Octal literals should not be used." }); } } diff --git a/tools/node_modules/eslint/lib/rules/no-restricted-imports.js b/tools/node_modules/eslint/lib/rules/no-restricted-imports.js index b8917ee9c563d1..6f3d2158c8d239 100644 --- a/tools/node_modules/eslint/lib/rules/no-restricted-imports.js +++ b/tools/node_modules/eslint/lib/rules/no-restricted-imports.js @@ -4,13 +4,6 @@ */ "use strict"; -//------------------------------------------------------------------------------ -// Helpers -//------------------------------------------------------------------------------ - -const DEFAULT_MESSAGE_TEMPLATE = "'{{importSource}}' import is restricted from being used."; -const CUSTOM_MESSAGE_TEMPLATE = "'{{importSource}}' import is restricted from being used. {{customMessage}}"; - //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ @@ -62,6 +55,18 @@ module.exports = { url: "https://eslint.org/docs/rules/no-restricted-imports" }, + messages: { + path: "'{{importSource}}' import is restricted from being used.", + // eslint-disable-next-line eslint-plugin/report-message-format + pathWithCustomMessage: "'{{importSource}}' import is restricted from being used. {{customMessage}}", + + patterns: "'{{importSource}}' import is restricted from being used by a pattern.", + + everything: "* import is invalid because '{{importNames}}' from '{{importSource}}' is restricted.", + // eslint-disable-next-line eslint-plugin/report-message-format + everythingWithCustomMessage: "* import is invalid because '{{importNames}}' from '{{importSource}}' is restricted. {{customMessage}}" + }, + schema: { anyOf: [ arrayOfStringsOrObjects, @@ -127,13 +132,10 @@ module.exports = { function reportPath(node) { const importSource = node.source.value.trim(); const customMessage = restrictedPathMessages[importSource] && restrictedPathMessages[importSource].message; - const message = customMessage - ? CUSTOM_MESSAGE_TEMPLATE - : DEFAULT_MESSAGE_TEMPLATE; context.report({ node, - message, + messageId: customMessage ? "pathWithCustomMessage" : "path", data: { importSource, customMessage @@ -152,7 +154,7 @@ module.exports = { context.report({ node, - message: "'{{importSource}}' import is restricted from being used by a pattern.", + messageId: "patterns", data: { importSource } @@ -168,13 +170,15 @@ module.exports = { */ function reportPathForEverythingImported(importSource, node) { const importNames = restrictedPathMessages[importSource].importNames; + const customMessage = restrictedPathMessages[importSource] && restrictedPathMessages[importSource].message; context.report({ node, - message: "* import is invalid because '{{importNames}}' from '{{importSource}}' is restricted.", + messageId: customMessage ? "everythingWithCustomMessage" : "everything", data: { importSource, - importNames + importNames, + customMessage } }); } diff --git a/tools/node_modules/eslint/lib/rules/no-useless-escape.js b/tools/node_modules/eslint/lib/rules/no-useless-escape.js index f3764ce91e5614..e161e4acedf270 100644 --- a/tools/node_modules/eslint/lib/rules/no-useless-escape.js +++ b/tools/node_modules/eslint/lib/rules/no-useless-escape.js @@ -102,9 +102,14 @@ module.exports = { * @returns {void} */ function report(node, startOffset, character) { + const start = sourceCode.getLocFromIndex(sourceCode.getIndexFromLoc(node.loc.start) + startOffset); + context.report({ node, - loc: sourceCode.getLocFromIndex(sourceCode.getIndexFromLoc(node.loc.start) + startOffset), + loc: { + start, + end: { line: start.line, column: start.column + 1 } + }, message: "Unnecessary escape character: \\{{character}}.", data: { character } }); diff --git a/tools/node_modules/eslint/lib/rules/no-var.js b/tools/node_modules/eslint/lib/rules/no-var.js index e9f191b39f2a78..a3c750f9011bb7 100644 --- a/tools/node_modules/eslint/lib/rules/no-var.js +++ b/tools/node_modules/eslint/lib/rules/no-var.js @@ -174,6 +174,17 @@ function hasReferenceInTDZ(node) { }; } +/** + * Checks whether a given variable has name that is allowed for 'var' declarations, + * but disallowed for `let` declarations. + * + * @param {eslint-scope.Variable} variable The variable to check. + * @returns {boolean} `true` if the variable has a disallowed name. + */ +function hasNameDisallowedForLetDeclarations(variable) { + return variable.name === "let"; +} + //------------------------------------------------------------------------------ // Rule Definition //------------------------------------------------------------------------------ @@ -223,6 +234,7 @@ module.exports = { * - A variable might be used before it is assigned within a loop. * - A variable might be used in TDZ. * - A variable is declared in statement position (e.g. a single-line `IfStatement`) + * - A variable has name that is disallowed for `let` declarations. * * ## A variable is declared on a SwitchCase node. * @@ -271,7 +283,8 @@ module.exports = { node.declarations.some(hasSelfReferenceInTDZ) || variables.some(isGlobal) || variables.some(isRedeclared) || - variables.some(isUsedFromOutsideOf(scopeNode)) + variables.some(isUsedFromOutsideOf(scopeNode)) || + variables.some(hasNameDisallowedForLetDeclarations) ) { return false; } diff --git a/tools/node_modules/eslint/lib/rules/require-atomic-updates.js b/tools/node_modules/eslint/lib/rules/require-atomic-updates.js index 09d7670d81984c..3912ad86cb912f 100644 --- a/tools/node_modules/eslint/lib/rules/require-atomic-updates.js +++ b/tools/node_modules/eslint/lib/rules/require-atomic-updates.js @@ -24,12 +24,51 @@ function createReferenceMap(scope, outReferenceMap = new Map()) { return outReferenceMap; } +/** + * Get `reference.writeExpr` of a given reference. + * If it's the read reference of MemberExpression in LHS, returns RHS in order to address `a.b = await a` + * @param {escope.Reference} reference The reference to get. + * @returns {Expression|null} The `reference.writeExpr`. + */ +function getWriteExpr(reference) { + if (reference.writeExpr) { + return reference.writeExpr; + } + let node = reference.identifier; + + while (node) { + const t = node.parent.type; + + if (t === "AssignmentExpression" && node.parent.left === node) { + return node.parent.right; + } + if (t === "MemberExpression" && node.parent.object === node) { + node = node.parent; + continue; + } + + break; + } + + return null; +} + /** * Checks if an expression is a variable that can only be observed within the given function. - * @param {escope.Variable} variable The variable to check + * @param {Variable|null} variable The variable to check + * @param {boolean} isMemberAccess If `true` then this is a member access. * @returns {boolean} `true` if the variable is local to the given function, and is never referenced in a closure. */ -function isLocalVariableWithoutEscape(variable) { +function isLocalVariableWithoutEscape(variable, isMemberAccess) { + if (!variable) { + return false; // A global variable which was not defined. + } + + // If the reference is a property access and the variable is a parameter, it handles the variable is not local. + if (isMemberAccess && variable.defs.some(d => d.type === "Parameter")) { + return false; + } + const functionScope = variable.scope.variableScope; return variable.references.every(reference => @@ -47,52 +86,49 @@ class SegmentInfo { * @returns {void} */ initialize(segment) { - const outdatedReadVariables = new Set(); - const freshReadVariables = new Set(); + const outdatedReadVariableNames = new Set(); + const freshReadVariableNames = new Set(); for (const prevSegment of segment.prevSegments) { const info = this.info.get(prevSegment); if (info) { - info.outdatedReadVariables.forEach(Set.prototype.add, outdatedReadVariables); - info.freshReadVariables.forEach(Set.prototype.add, freshReadVariables); + info.outdatedReadVariableNames.forEach(Set.prototype.add, outdatedReadVariableNames); + info.freshReadVariableNames.forEach(Set.prototype.add, freshReadVariableNames); } } - this.info.set(segment, { outdatedReadVariables, freshReadVariables }); + this.info.set(segment, { outdatedReadVariableNames, freshReadVariableNames }); } /** * Mark a given variable as read on given segments. * @param {PathSegment[]} segments The segments that it read the variable on. - * @param {escope.Variable} variable The variable to be read. + * @param {string} variableName The variable name to be read. * @returns {void} */ - markAsRead(segments, variable) { + markAsRead(segments, variableName) { for (const segment of segments) { const info = this.info.get(segment); if (info) { - info.freshReadVariables.add(variable); + info.freshReadVariableNames.add(variableName); } } } /** - * Move `freshReadVariables` to `outdatedReadVariables`. + * Move `freshReadVariableNames` to `outdatedReadVariableNames`. * @param {PathSegment[]} segments The segments to process. * @returns {void} */ makeOutdated(segments) { - const vars = new Set(); - for (const segment of segments) { const info = this.info.get(segment); if (info) { - info.freshReadVariables.forEach(Set.prototype.add, info.outdatedReadVariables); - info.freshReadVariables.forEach(Set.prototype.add, vars); - info.freshReadVariables.clear(); + info.freshReadVariableNames.forEach(Set.prototype.add, info.outdatedReadVariableNames); + info.freshReadVariableNames.clear(); } } } @@ -100,14 +136,14 @@ class SegmentInfo { /** * Check if a given variable is outdated on the current segments. * @param {PathSegment[]} segments The current segments. - * @param {escope.Variable} variable The variable to check. + * @param {string} variableName The variable name to check. * @returns {boolean} `true` if the variable is outdated on the segments. */ - isOutdated(segments, variable) { + isOutdated(segments, variableName) { for (const segment of segments) { const info = this.info.get(segment); - if (info && info.outdatedReadVariables.has(variable)) { + if (info && info.outdatedReadVariableNames.has(variableName)) { return true; } } @@ -140,69 +176,10 @@ module.exports = { create(context) { const sourceCode = context.getSourceCode(); - const globalScope = context.getScope(); - const dummyVariables = new Map(); const assignmentReferences = new Map(); const segmentInfo = new SegmentInfo(); let stack = null; - /** - * Get the variable of a given reference. - * If it's not defined, returns a dummy object. - * @param {escope.Reference} reference The reference to get. - * @returns {escope.Variable} The variable of the reference. - */ - function getVariable(reference) { - if (reference.resolved) { - return reference.resolved; - } - - // Get or create a dummy. - const name = reference.identifier.name; - let variable = dummyVariables.get(name); - - if (!variable) { - variable = { - name, - scope: globalScope, - references: [] - }; - dummyVariables.set(name, variable); - } - variable.references.push(reference); - - return variable; - } - - /** - * Get `reference.writeExpr` of a given reference. - * If it's the read reference of MemberExpression in LHS, returns RHS in order to address `a.b = await a` - * @param {escope.Reference} reference The reference to get. - * @returns {Expression|null} The `reference.writeExpr`. - */ - function getWriteExpr(reference) { - if (reference.writeExpr) { - return reference.writeExpr; - } - let node = reference.identifier; - - while (node) { - const t = node.parent.type; - - if (t === "AssignmentExpression" && node.parent.left === node) { - return node.parent.right; - } - if (t === "MemberExpression" && node.parent.object === node) { - node = node.parent; - continue; - } - - break; - } - - return null; - } - return { onCodePathStart(codePath) { const scope = context.getScope(); @@ -234,12 +211,14 @@ module.exports = { if (!reference) { return; } - const variable = getVariable(reference); + const name = reference.identifier.name; + const variable = reference.resolved; const writeExpr = getWriteExpr(reference); + const isMemberAccess = reference.identifier.parent.type === "MemberExpression"; // Add a fresh read variable. if (reference.isRead() && !(writeExpr && writeExpr.parent.operator === "=")) { - segmentInfo.markAsRead(codePath.currentSegments, variable); + segmentInfo.markAsRead(codePath.currentSegments, name); } /* @@ -248,7 +227,7 @@ module.exports = { */ if (writeExpr && writeExpr.parent.right === writeExpr && // ← exclude variable declarations. - !isLocalVariableWithoutEscape(variable) + !isLocalVariableWithoutEscape(variable, isMemberAccess) ) { let refs = assignmentReferences.get(writeExpr); @@ -263,7 +242,7 @@ module.exports = { /* * Verify assignments. - * If the reference exists in `outdatedReadVariables` list, report it. + * If the reference exists in `outdatedReadVariableNames` list, report it. */ ":expression:exit"(node) { const { codePath, referenceMap } = stack; @@ -285,9 +264,9 @@ module.exports = { assignmentReferences.delete(node); for (const reference of references) { - const variable = getVariable(reference); + const name = reference.identifier.name; - if (segmentInfo.isOutdated(codePath.currentSegments, variable)) { + if (segmentInfo.isOutdated(codePath.currentSegments, name)) { context.report({ node: node.parent, messageId: "nonAtomicUpdate", diff --git a/tools/node_modules/eslint/lib/rules/sort-keys.js b/tools/node_modules/eslint/lib/rules/sort-keys.js index 23a39108181c99..beda42f1e3e301 100644 --- a/tools/node_modules/eslint/lib/rules/sort-keys.js +++ b/tools/node_modules/eslint/lib/rules/sort-keys.js @@ -96,6 +96,11 @@ module.exports = { natural: { type: "boolean", default: false + }, + minKeys: { + type: "integer", + minimum: 2, + default: 2 } }, additionalProperties: false @@ -110,6 +115,7 @@ module.exports = { const options = context.options[1]; const insensitive = options && options.caseSensitive === false; const natual = options && options.natural; + const minKeys = options && options.minKeys; const isValidOrder = isValidOrders[ order + (insensitive ? "I" : "") + (natual ? "N" : "") ]; @@ -118,10 +124,11 @@ module.exports = { let stack = null; return { - ObjectExpression() { + ObjectExpression(node) { stack = { upper: stack, - prevName: null + prevName: null, + numKeys: node.properties.length }; }, @@ -141,11 +148,12 @@ module.exports = { } const prevName = stack.prevName; + const numKeys = stack.numKeys; const thisName = getPropertyName(node); stack.prevName = thisName || prevName; - if (!prevName || !thisName) { + if (!prevName || !thisName || numKeys < minKeys) { return; } diff --git a/tools/node_modules/eslint/lib/rules/valid-typeof.js b/tools/node_modules/eslint/lib/rules/valid-typeof.js index 16b2a47d371ca6..a0f20f74d0ec61 100644 --- a/tools/node_modules/eslint/lib/rules/valid-typeof.js +++ b/tools/node_modules/eslint/lib/rules/valid-typeof.js @@ -39,7 +39,7 @@ module.exports = { create(context) { - const VALID_TYPES = ["symbol", "undefined", "object", "boolean", "number", "string", "function"], + const VALID_TYPES = ["symbol", "undefined", "object", "boolean", "number", "string", "function", "bigint"], OPERATORS = ["==", "===", "!=", "!=="]; const requireStringLiterals = context.options[0] && context.options[0].requireStringLiterals; diff --git a/tools/node_modules/eslint/messages/extend-config-missing.txt b/tools/node_modules/eslint/messages/extend-config-missing.txt index 38e64581970b0e..0411819ec4e18f 100644 --- a/tools/node_modules/eslint/messages/extend-config-missing.txt +++ b/tools/node_modules/eslint/messages/extend-config-missing.txt @@ -1,3 +1,5 @@ ESLint couldn't find the config "<%- configName %>" to extend from. Please check that the name of the config is correct. +The config "<%- configName %>" was referenced from the config file in "<%- importerName %>". + If you still have problems, please stop by https://gitter.im/eslint/eslint to chat with the team. diff --git a/tools/node_modules/eslint/messages/print-config-with-directory-path.txt b/tools/node_modules/eslint/messages/print-config-with-directory-path.txt new file mode 100644 index 00000000000000..1afc9b1e88be8f --- /dev/null +++ b/tools/node_modules/eslint/messages/print-config-with-directory-path.txt @@ -0,0 +1,2 @@ +The '--print-config' CLI option requires a path to a source code file rather than a directory. +See also: https://eslint.org/docs/user-guide/command-line-interface#--print-config diff --git a/tools/node_modules/eslint/node_modules/espree/package.json b/tools/node_modules/eslint/node_modules/espree/package.json index 0c036081c94799..942eaf488a3d8e 100644 --- a/tools/node_modules/eslint/node_modules/espree/package.json +++ b/tools/node_modules/eslint/node_modules/espree/package.json @@ -66,5 +66,5 @@ "publish-release": "eslint-publish-release", "test": "npm run-script lint && node Makefile.js test" }, - "version": "6.0.0-alpha.0" + "version": "6.0.0" } \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/extend/.jscs.json b/tools/node_modules/eslint/node_modules/extend/.jscs.json new file mode 100644 index 00000000000000..0b03e0564b61ba --- /dev/null +++ b/tools/node_modules/eslint/node_modules/extend/.jscs.json @@ -0,0 +1,174 @@ +{ + "es3": true, + + "additionalRules": [], + + "requireSemicolons": true, + + "disallowMultipleSpaces": true, + + "disallowIdentifierNames": [], + + "requireCurlyBraces": { + "allExcept": [], + "keywords": ["if", "else", "for", "while", "do", "try", "catch"] + }, + + "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch", "function"], + + "disallowSpaceAfterKeywords": [], + + "disallowSpaceBeforeComma": true, + "disallowSpaceAfterComma": false, + "disallowSpaceBeforeSemicolon": true, + + "disallowNodeTypes": [ + "DebuggerStatement", + "LabeledStatement", + "SwitchCase", + "SwitchStatement", + "WithStatement" + ], + + "requireObjectKeysOnNewLine": { "allExcept": ["sameLine"] }, + + "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningRoundBrace": true, "beforeOpeningCurlyBrace": true }, + "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true }, + "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true }, + "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true }, + "disallowSpacesInFunctionDeclaration": { "beforeOpeningRoundBrace": true }, + + "requireSpaceBetweenArguments": true, + + "disallowSpacesInsideParentheses": true, + + "disallowSpacesInsideArrayBrackets": true, + + "disallowQuotedKeysInObjects": { "allExcept": ["reserved"] }, + + "disallowSpaceAfterObjectKeys": true, + + "requireCommaBeforeLineBreak": true, + + "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"], + "requireSpaceAfterPrefixUnaryOperators": [], + + "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"], + "requireSpaceBeforePostfixUnaryOperators": [], + + "disallowSpaceBeforeBinaryOperators": [], + "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], + + "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!=="], + "disallowSpaceAfterBinaryOperators": [], + + "disallowImplicitTypeConversion": ["binary", "string"], + + "disallowKeywords": ["with", "eval"], + + "requireKeywordsOnNewLine": [], + "disallowKeywordsOnNewLine": ["else"], + + "requireLineFeedAtFileEnd": true, + + "disallowTrailingWhitespace": true, + + "disallowTrailingComma": true, + + "excludeFiles": ["node_modules/**", "vendor/**"], + + "disallowMultipleLineStrings": true, + + "requireDotNotation": { "allExcept": ["keywords"] }, + + "requireParenthesesAroundIIFE": true, + + "validateLineBreaks": "LF", + + "validateQuoteMarks": { + "escape": true, + "mark": "'" + }, + + "disallowOperatorBeforeLineBreak": [], + + "requireSpaceBeforeKeywords": [ + "do", + "for", + "if", + "else", + "switch", + "case", + "try", + "catch", + "finally", + "while", + "with", + "return" + ], + + "validateAlignedFunctionParameters": { + "lineBreakAfterOpeningBraces": true, + "lineBreakBeforeClosingBraces": true + }, + + "requirePaddingNewLinesBeforeExport": true, + + "validateNewlineAfterArrayElements": { + "maximum": 6 + }, + + "requirePaddingNewLinesAfterUseStrict": true, + + "disallowArrowFunctions": true, + + "disallowMultiLineTernary": true, + + "validateOrderInObjectKeys": false, + + "disallowIdenticalDestructuringNames": true, + + "disallowNestedTernaries": { "maxLevel": 1 }, + + "requireSpaceAfterComma": { "allExcept": ["trailing"] }, + "requireAlignedMultilineParams": false, + + "requireSpacesInGenerator": { + "afterStar": true + }, + + "disallowSpacesInGenerator": { + "beforeStar": true + }, + + "disallowVar": false, + + "requireArrayDestructuring": false, + + "requireEnhancedObjectLiterals": false, + + "requireObjectDestructuring": false, + + "requireEarlyReturn": false, + + "requireCapitalizedConstructorsNew": { + "allExcept": ["Function", "String", "Object", "Symbol", "Number", "Date", "RegExp", "Error", "Boolean", "Array"] + }, + + "requireImportAlphabetized": false, + + "requireSpaceBeforeObjectValues": true, + "requireSpaceBeforeDestructuredValues": true, + + "disallowSpacesInsideTemplateStringPlaceholders": true, + + "disallowArrayDestructuringReturn": false, + + "requireNewlineBeforeSingleStatementsInIf": false, + + "disallowUnusedVariables": true, + + "requireSpacesInsideImportedObjectBraces": true, + + "requireUseStrict": true +} diff --git a/tools/node_modules/eslint/node_modules/flatted/SPECS.md b/tools/node_modules/eslint/node_modules/flatted/SPECS.md new file mode 100644 index 00000000000000..c17dfb583c3388 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/flatted/SPECS.md @@ -0,0 +1,94 @@ +# Flatted Specifications + +This document describes operations performed to produce, or parse, the flatted output. + +## stringify(any) => flattedString + +The output is always an `Array` that contains at index `0` the given value. + +If the value is an `Array` or an `Object`, per each property value passed through the callback, return the value as is if it's not an `Array`, an `Object`, or a `string`. + +In case it's an `Array`, an `Object`, or a `string`, return the index as `string`, associated through a `Map`. + +Giving the following example: + +```js +flatted.stringify('a'); // ["a"] +flatted.stringify(['a']); // [["1"],"a"] +flatted.stringify(['a', 1, 'b']); // [["1",1,"2"],"a","b"] +``` + +There is an `input` containing `[array, "a", "b"]`, where the `array` has indexes `"1"` and `"2"` as strings, indexes that point respectively at `"a"` and `"b"` within the input `[array, "a", "b"]`. + +The exact same happens for objects. + +```js +flatted.stringify('a'); // ["a"] +flatted.stringify({a: 'a'}); // [{"a":"1"},"a"] +flatted.stringify({a: 'a', n: 1, b: 'b'}); // [{"a":"1","n":1,"b":"2"},"a","b"] +``` + +Every object, string, or array, encountered during serialization will be stored once as stringified index. + +```js +// per each property/value of the object/array +if (any == null || !/object|string/.test(typeof any)) + return any; +if (!map.has(any)) { + const index = String(arr.length); + arr.push(any); + map.set(any, index); +} +return map.get(any); +``` + +This, performed before going through all properties, grants unique indexes per reference. + +The stringified indexes ensure there won't be conflicts with regularly stored numbers. + +## parse(flattedString) => any + +Everything that is a `string` is wrapped as `new String`, but strings in the array, from index `1` on, is kept as regular `string`. + +```js +const input = JSON.parse('[{"a":"1"},"b"]', Strings).map(strings); +// convert strings primitives into String instances +function Strings(key, value) { + return typeof value === 'string' ? new String(value) : value; +} +// converts String instances into strings primitives +function strings(value) { + return value instanceof String ? String(value) : value; +} +``` + +The `input` array will have a regular `string` at index `1`, but its object at index `0` will have an `instanceof String` as `.a` property. + +That is the key to place back values from the rest of the array, so that per each property of the object at index `0`, if the value is an `instanceof` String, something not serializable via JSON, it means it can be used to retrieve the position of its value from the `input` array. + +If such `value` is an object and it hasn't been parsed yet, add it as parsed and go through all its properties/values. + +```js +// outside any loop ... +const parsed = new Set; + +// ... per each property/value ... +if (value instanceof Primitive) { + const tmp = input[parseInt(value)]; + if (typeof tmp === 'object' && !parsed.has(tmp)) { + parsed.add(tmp); + output[key] = tmp; + if (typeof tmp === 'object' && tmp != null) { + // perform this same logic per + // each nested property/value ... + } + } else { + output[key] = tmp; + } +} else + output[key] = tmp; +``` + +As summary, the whole logic is based on polluting the de-serialization with a kind of variable that is unexpected, hence secure to use as directive to retrieve an index with a value. + +The usage of a `Map` and a `Set` to flag known references/strings as visited/stored makes **flatted** a rock solid, fast, and compact, solution. diff --git a/tools/node_modules/eslint/node_modules/flatted/esm/index.js b/tools/node_modules/eslint/node_modules/flatted/esm/index.js index b17bd564d91791..de15869e64969d 100644 --- a/tools/node_modules/eslint/node_modules/flatted/esm/index.js +++ b/tools/node_modules/eslint/node_modules/flatted/esm/index.js @@ -114,5 +114,5 @@ var Flatted = (function (Primitive, primitive) { }(String, 'string')); export default Flatted; -export const parse = Flatted.parse; -export const stringify = Flatted.stringify; +export var parse = Flatted.parse; +export var stringify = Flatted.stringify; diff --git a/tools/node_modules/eslint/node_modules/flatted/min.js b/tools/node_modules/eslint/node_modules/flatted/min.js index 6d23e02e15e802..9e2a134b1c77e7 100644 --- a/tools/node_modules/eslint/node_modules/flatted/min.js +++ b/tools/node_modules/eslint/node_modules/flatted/min.js @@ -1,2 +1,2 @@ /*! (c) 2018, Andrea Giammarchi, (ISC) */ -var Flatted=function(a,l){return{parse:function(n,t){var e=JSON.parse(n,i).map(f),r=e[0],u=t||s,c="object"==typeof r&&r?function u(c,f,n,i){return Object.keys(n).reduce(function(n,t){var e=n[t];if(e instanceof a){var r=c[e];"object"!=typeof r||f.has(r)?n[t]=i.call(n,t,r):(f.add(r),n[t]=i.call(n,t,u(c,f,r,i)))}else n[t]=i.call(n,t,e);return n},n)}(e,new Set,r,u):r;return u.call({"":c},"",c)},stringify:function(n,e,t){for(var r,u=new Map,c=[],f=[],i=e&&typeof e==typeof c?function(n,t){if(""===n||-1> cjs/index.js", "coveralls": "cat ./coverage/lcov.info | coveralls", - "esm": "cp index.js esm/index.js; echo 'export default Flatted;' >> esm/index.js; echo 'export const parse = Flatted.parse;' >> esm/index.js; echo 'export const stringify = Flatted.stringify;' >> esm/index.js", + "esm": "cp index.js esm/index.js; echo 'export default Flatted;' >> esm/index.js; echo 'export var parse = Flatted.parse;' >> esm/index.js; echo 'export var stringify = Flatted.stringify;' >> esm/index.js", "min": "echo '/*! (c) 2018, Andrea Giammarchi, (ISC) */'>min.js && uglifyjs index.js --support-ie8 -c -m >> min.js", "size": "cat index.js | wc -c;cat min.js | wc -c;gzip -c9 min.js | wc -c;cat min.js | brotli | wc -c", "test": "istanbul cover test/index.js" }, "types": "types.d.ts", "unpkg": "min.js", - "version": "2.0.0" + "version": "2.0.1" } \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/inherits/inherits.js b/tools/node_modules/eslint/node_modules/inherits/inherits.js index 3b94763a76eef0..f71f2d93294a67 100644 --- a/tools/node_modules/eslint/node_modules/inherits/inherits.js +++ b/tools/node_modules/eslint/node_modules/inherits/inherits.js @@ -1,7 +1,9 @@ try { var util = require('util'); + /* istanbul ignore next */ if (typeof util.inherits !== 'function') throw ''; module.exports = util.inherits; } catch (e) { + /* istanbul ignore next */ module.exports = require('./inherits_browser.js'); } diff --git a/tools/node_modules/eslint/node_modules/inherits/inherits_browser.js b/tools/node_modules/eslint/node_modules/inherits/inherits_browser.js index c1e78a75e6b52b..86bbb3dc29e484 100644 --- a/tools/node_modules/eslint/node_modules/inherits/inherits_browser.js +++ b/tools/node_modules/eslint/node_modules/inherits/inherits_browser.js @@ -1,23 +1,27 @@ if (typeof Object.create === 'function') { // implementation from standard node.js 'util' module module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor - ctor.prototype = Object.create(superCtor.prototype, { - constructor: { - value: ctor, - enumerable: false, - writable: true, - configurable: true - } - }); + if (superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }) + } }; } else { // old school shim for old browsers module.exports = function inherits(ctor, superCtor) { - ctor.super_ = superCtor - var TempCtor = function () {} - TempCtor.prototype = superCtor.prototype - ctor.prototype = new TempCtor() - ctor.prototype.constructor = ctor + if (superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } } } diff --git a/tools/node_modules/eslint/node_modules/inherits/package.json b/tools/node_modules/eslint/node_modules/inherits/package.json index a082c3db04b0b8..9642125b71d65f 100644 --- a/tools/node_modules/eslint/node_modules/inherits/package.json +++ b/tools/node_modules/eslint/node_modules/inherits/package.json @@ -7,7 +7,7 @@ "deprecated": false, "description": "Browser-friendly inheritance fully compatible with standard node.js inherits()", "devDependencies": { - "tap": "^7.1.0" + "tap": "^14.2.4" }, "files": [ "inherits.js", @@ -32,7 +32,7 @@ "url": "git://github.com/isaacs/inherits.git" }, "scripts": { - "test": "node test" + "test": "tap" }, - "version": "2.0.3" + "version": "2.0.4" } \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/inquirer/package.json b/tools/node_modules/eslint/node_modules/inquirer/package.json index 02c7b4a849cc6b..686c4cea9cc2f9 100644 --- a/tools/node_modules/eslint/node_modules/inquirer/package.json +++ b/tools/node_modules/eslint/node_modules/inquirer/package.json @@ -40,7 +40,7 @@ "lib", "README.md" ], - "gitHead": "ee1cc700ad48f10fc304055ec733fb6be6c1d09c", + "gitHead": "b951b48e46930b3fe6300b7f42f58d3042579619", "homepage": "https://github.com/SBoudrias/Inquirer.js#readme", "keywords": [ "command", @@ -63,5 +63,5 @@ "prepublishOnly": "cp ../../README.md .", "test": "nyc mocha test/**/* -r ./test/before" }, - "version": "6.3.1" + "version": "6.4.1" } \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/ms/index.js b/tools/node_modules/eslint/node_modules/ms/index.js index 72297501f9b9bb..c4498bcc212589 100644 --- a/tools/node_modules/eslint/node_modules/ms/index.js +++ b/tools/node_modules/eslint/node_modules/ms/index.js @@ -28,7 +28,7 @@ module.exports = function(val, options) { var type = typeof val; if (type === 'string' && val.length > 0) { return parse(val); - } else if (type === 'number' && isNaN(val) === false) { + } else if (type === 'number' && isFinite(val)) { return options.long ? fmtLong(val) : fmtShort(val); } throw new Error( @@ -50,7 +50,7 @@ function parse(str) { if (str.length > 100) { return; } - var match = /^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( + var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec( str ); if (!match) { diff --git a/tools/node_modules/eslint/node_modules/ms/package.json b/tools/node_modules/eslint/node_modules/ms/package.json index c59290ffb9edea..7192a30c57c910 100644 --- a/tools/node_modules/eslint/node_modules/ms/package.json +++ b/tools/node_modules/eslint/node_modules/ms/package.json @@ -42,5 +42,5 @@ "precommit": "lint-staged", "test": "mocha tests.js" }, - "version": "2.1.1" + "version": "2.1.2" } \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/ms/readme.md b/tools/node_modules/eslint/node_modules/ms/readme.md index bb767293ac740d..9a1996b17e0de6 100644 --- a/tools/node_modules/eslint/node_modules/ms/readme.md +++ b/tools/node_modules/eslint/node_modules/ms/readme.md @@ -1,7 +1,7 @@ # ms [![Build Status](https://travis-ci.org/zeit/ms.svg?branch=master)](https://travis-ci.org/zeit/ms) -[![Slack Channel](http://zeit-slackin.now.sh/badge.svg)](https://zeit.chat/) +[![Join the community on Spectrum](https://withspectrum.github.io/badge/badge.svg)](https://spectrum.chat/zeit) Use this package to easily convert various time formats to milliseconds. diff --git a/tools/node_modules/eslint/node_modules/table/README.md b/tools/node_modules/eslint/node_modules/table/README.md index b64dbd20e18441..b3942042c18cef 100644 --- a/tools/node_modules/eslint/node_modules/table/README.md +++ b/tools/node_modules/eslint/node_modules/table/README.md @@ -172,15 +172,15 @@ config = { columns: { 0: { alignment: 'left', - minWidth: 10 + width: 10 }, 1: { alignment: 'center', - minWidth: 10 + width: 10 }, 2: { alignment: 'right', - minWidth: 10 + width: 10 } } }; diff --git a/tools/node_modules/eslint/node_modules/table/package.json b/tools/node_modules/eslint/node_modules/table/package.json index 25c326b40fdee4..54ffba30c84313 100644 --- a/tools/node_modules/eslint/node_modules/table/package.json +++ b/tools/node_modules/eslint/node_modules/table/package.json @@ -85,5 +85,5 @@ "lint": "npm run build && eslint ./src ./test && flow", "test": "mocha --require @babel/register" }, - "version": "5.4.0" + "version": "5.4.1" } \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/tmp/LICENSE b/tools/node_modules/eslint/node_modules/tmp/LICENSE new file mode 100644 index 00000000000000..72418bd9d32702 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/tmp/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 KARASZI István + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/tools/node_modules/eslint/node_modules/tmp/README.md b/tools/node_modules/eslint/node_modules/tmp/README.md new file mode 100644 index 00000000000000..8c4a768159b28b --- /dev/null +++ b/tools/node_modules/eslint/node_modules/tmp/README.md @@ -0,0 +1,314 @@ +# Tmp + +A simple temporary file and directory creator for [node.js.][1] + +[![Build Status](https://travis-ci.org/raszi/node-tmp.svg?branch=master)](https://travis-ci.org/raszi/node-tmp) +[![Dependencies](https://david-dm.org/raszi/node-tmp.svg)](https://david-dm.org/raszi/node-tmp) +[![npm version](https://badge.fury.io/js/tmp.svg)](https://badge.fury.io/js/tmp) +[![API documented](https://img.shields.io/badge/API-documented-brightgreen.svg)](https://raszi.github.io/node-tmp/) +[![Known Vulnerabilities](https://snyk.io/test/npm/tmp/badge.svg)](https://snyk.io/test/npm/tmp) + +## About + +This is a [widely used library][2] to create temporary files and directories +in a [node.js][1] environment. + +Tmp offers both an asynchronous and a synchronous API. For all API calls, all +the parameters are optional. There also exists a promisified version of the +API, see (5) under references below. + +Tmp uses crypto for determining random file names, or, when using templates, +a six letter random identifier. And just in case that you do not have that much +entropy left on your system, Tmp will fall back to pseudo random numbers. + +You can set whether you want to remove the temporary file on process exit or +not, and the destination directory can also be set. + +## How to install + +```bash +npm install tmp +``` + +## Usage + +Please also check [API docs][4]. + +### Asynchronous file creation + +Simple temporary file creation, the file will be closed and unlinked on process exit. + +```javascript +var tmp = require('tmp'); + +tmp.file(function _tempFileCreated(err, path, fd, cleanupCallback) { + if (err) throw err; + + console.log('File: ', path); + console.log('Filedescriptor: ', fd); + + // If we don't need the file anymore we could manually call the cleanupCallback + // But that is not necessary if we didn't pass the keep option because the library + // will clean after itself. + cleanupCallback(); +}); +``` + +### Synchronous file creation + +A synchronous version of the above. + +```javascript +var tmp = require('tmp'); + +var tmpobj = tmp.fileSync(); +console.log('File: ', tmpobj.name); +console.log('Filedescriptor: ', tmpobj.fd); + +// If we don't need the file anymore we could manually call the removeCallback +// But that is not necessary if we didn't pass the keep option because the library +// will clean after itself. +tmpobj.removeCallback(); +``` + +Note that this might throw an exception if either the maximum limit of retries +for creating a temporary name fails, or, in case that you do not have the permission +to write to the directory where the temporary file should be created in. + +### Asynchronous directory creation + +Simple temporary directory creation, it will be removed on process exit. + +If the directory still contains items on process exit, then it won't be removed. + +```javascript +var tmp = require('tmp'); + +tmp.dir(function _tempDirCreated(err, path, cleanupCallback) { + if (err) throw err; + + console.log('Dir: ', path); + + // Manual cleanup + cleanupCallback(); +}); +``` + +If you want to cleanup the directory even when there are entries in it, then +you can pass the `unsafeCleanup` option when creating it. + +### Synchronous directory creation + +A synchronous version of the above. + +```javascript +var tmp = require('tmp'); + +var tmpobj = tmp.dirSync(); +console.log('Dir: ', tmpobj.name); +// Manual cleanup +tmpobj.removeCallback(); +``` + +Note that this might throw an exception if either the maximum limit of retries +for creating a temporary name fails, or, in case that you do not have the permission +to write to the directory where the temporary directory should be created in. + +### Asynchronous filename generation + +It is possible with this library to generate a unique filename in the specified +directory. + +```javascript +var tmp = require('tmp'); + +tmp.tmpName(function _tempNameGenerated(err, path) { + if (err) throw err; + + console.log('Created temporary filename: ', path); +}); +``` + +### Synchronous filename generation + +A synchronous version of the above. + +```javascript +var tmp = require('tmp'); + +var name = tmp.tmpNameSync(); +console.log('Created temporary filename: ', name); +``` + +## Advanced usage + +### Asynchronous file creation + +Creates a file with mode `0644`, prefix will be `prefix-` and postfix will be `.txt`. + +```javascript +var tmp = require('tmp'); + +tmp.file({ mode: 0644, prefix: 'prefix-', postfix: '.txt' }, function _tempFileCreated(err, path, fd) { + if (err) throw err; + + console.log('File: ', path); + console.log('Filedescriptor: ', fd); +}); +``` + +### Synchronous file creation + +A synchronous version of the above. + +```javascript +var tmp = require('tmp'); + +var tmpobj = tmp.fileSync({ mode: 0644, prefix: 'prefix-', postfix: '.txt' }); +console.log('File: ', tmpobj.name); +console.log('Filedescriptor: ', tmpobj.fd); +``` + +### Controlling the Descriptor + +As a side effect of creating a unique file `tmp` gets a file descriptor that is +returned to the user as the `fd` parameter. The descriptor may be used by the +application and is closed when the `removeCallback` is invoked. + +In some use cases the application does not need the descriptor, needs to close it +without removing the file, or needs to remove the file without closing the +descriptor. Two options control how the descriptor is managed: + +* `discardDescriptor` - if `true` causes `tmp` to close the descriptor after the file + is created. In this case the `fd` parameter is undefined. +* `detachDescriptor` - if `true` causes `tmp` to return the descriptor in the `fd` + parameter, but it is the application's responsibility to close it when it is no + longer needed. + +```javascript +var tmp = require('tmp'); + +tmp.file({ discardDescriptor: true }, function _tempFileCreated(err, path, fd, cleanupCallback) { + if (err) throw err; + // fd will be undefined, allowing application to use fs.createReadStream(path) + // without holding an unused descriptor open. +}); +``` + +```javascript +var tmp = require('tmp'); + +tmp.file({ detachDescriptor: true }, function _tempFileCreated(err, path, fd, cleanupCallback) { + if (err) throw err; + + cleanupCallback(); + // Application can store data through fd here; the space used will automatically + // be reclaimed by the operating system when the descriptor is closed or program + // terminates. +}); +``` + +### Asynchronous directory creation + +Creates a directory with mode `0755`, prefix will be `myTmpDir_`. + +```javascript +var tmp = require('tmp'); + +tmp.dir({ mode: 0750, prefix: 'myTmpDir_' }, function _tempDirCreated(err, path) { + if (err) throw err; + + console.log('Dir: ', path); +}); +``` + +### Synchronous directory creation + +Again, a synchronous version of the above. + +```javascript +var tmp = require('tmp'); + +var tmpobj = tmp.dirSync({ mode: 0750, prefix: 'myTmpDir_' }); +console.log('Dir: ', tmpobj.name); +``` + +### mkstemp like, asynchronously + +Creates a new temporary directory with mode `0700` and filename like `/tmp/tmp-nk2J1u`. + +```javascript +var tmp = require('tmp'); + +tmp.dir({ template: '/tmp/tmp-XXXXXX' }, function _tempDirCreated(err, path) { + if (err) throw err; + + console.log('Dir: ', path); +}); +``` + +### mkstemp like, synchronously + +This will behave similarly to the asynchronous version. + +```javascript +var tmp = require('tmp'); + +var tmpobj = tmp.dirSync({ template: '/tmp/tmp-XXXXXX' }); +console.log('Dir: ', tmpobj.name); +``` + +### Asynchronous filename generation + +The `tmpName()` function accepts the `prefix`, `postfix`, `dir`, etc. parameters also: + +```javascript +var tmp = require('tmp'); + +tmp.tmpName({ template: '/tmp/tmp-XXXXXX' }, function _tempNameGenerated(err, path) { + if (err) throw err; + + console.log('Created temporary filename: ', path); +}); +``` + +### Synchronous filename generation + +The `tmpNameSync()` function works similarly to `tmpName()`. + +```javascript +var tmp = require('tmp'); +var tmpname = tmp.tmpNameSync({ template: '/tmp/tmp-XXXXXX' }); +console.log('Created temporary filename: ', tmpname); +``` + +## Graceful cleanup + +One may want to cleanup the temporary files even when an uncaught exception +occurs. To enforce this, you can call the `setGracefulCleanup()` method: + +```javascript +var tmp = require('tmp'); + +tmp.setGracefulCleanup(); +``` + +## Options + +All options are optional :) + + * `mode`: the file mode to create with, it fallbacks to `0600` on file creation and `0700` on directory creation + * `prefix`: the optional prefix, fallbacks to `tmp-` if not provided + * `postfix`: the optional postfix, fallbacks to `.tmp` on file creation + * `template`: [`mkstemp`][3] like filename template, no default + * `dir`: the optional temporary directory, fallbacks to system default (guesses from environment) + * `tries`: how many times should the function try to get a unique filename before giving up, default `3` + * `keep`: signals that the temporary file or directory should not be deleted on exit, default is `false`, means delete + * Please keep in mind that it is recommended in this case to call the provided `cleanupCallback` function manually. + * `unsafeCleanup`: recursively removes the created temporary directory, even when it's not empty. default is `false` + +[1]: http://nodejs.org/ +[2]: https://www.npmjs.com/browse/depended/tmp +[3]: http://www.kernel.org/doc/man-pages/online/pages/man3/mkstemp.3.html +[4]: https://raszi.github.io/node-tmp/ +[5]: https://github.com/benjamingr/tmp-promise diff --git a/tools/node_modules/eslint/node_modules/tmp/lib/tmp.js b/tools/node_modules/eslint/node_modules/tmp/lib/tmp.js new file mode 100644 index 00000000000000..adf84e0442b374 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/tmp/lib/tmp.js @@ -0,0 +1,611 @@ +/*! + * Tmp + * + * Copyright (c) 2011-2017 KARASZI Istvan + * + * MIT Licensed + */ + +/* + * Module dependencies. + */ +const fs = require('fs'); +const path = require('path'); +const crypto = require('crypto'); +const osTmpDir = require('os-tmpdir'); +const _c = process.binding('constants'); + +/* + * The working inner variables. + */ +const + /** + * The temporary directory. + * @type {string} + */ + tmpDir = osTmpDir(), + + // the random characters to choose from + RANDOM_CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz', + + TEMPLATE_PATTERN = /XXXXXX/, + + DEFAULT_TRIES = 3, + + CREATE_FLAGS = (_c.O_CREAT || _c.fs.O_CREAT) | (_c.O_EXCL || _c.fs.O_EXCL) | (_c.O_RDWR || _c.fs.O_RDWR), + + EBADF = _c.EBADF || _c.os.errno.EBADF, + ENOENT = _c.ENOENT || _c.os.errno.ENOENT, + + DIR_MODE = 448 /* 0o700 */, + FILE_MODE = 384 /* 0o600 */, + + // this will hold the objects need to be removed on exit + _removeObjects = []; + +var + _gracefulCleanup = false, + _uncaughtException = false; + +/** + * Random name generator based on crypto. + * Adapted from http://blog.tompawlak.org/how-to-generate-random-values-nodejs-javascript + * + * @param {number} howMany + * @returns {string} the generated random name + * @private + */ +function _randomChars(howMany) { + var + value = [], + rnd = null; + + // make sure that we do not fail because we ran out of entropy + try { + rnd = crypto.randomBytes(howMany); + } catch (e) { + rnd = crypto.pseudoRandomBytes(howMany); + } + + for (var i = 0; i < howMany; i++) { + value.push(RANDOM_CHARS[rnd[i] % RANDOM_CHARS.length]); + } + + return value.join(''); +} + +/** + * Checks whether the `obj` parameter is defined or not. + * + * @param {Object} obj + * @returns {boolean} true if the object is undefined + * @private + */ +function _isUndefined(obj) { + return typeof obj === 'undefined'; +} + +/** + * Parses the function arguments. + * + * This function helps to have optional arguments. + * + * @param {(Options|Function)} options + * @param {Function} callback + * @returns {Array} parsed arguments + * @private + */ +function _parseArguments(options, callback) { + if (typeof options == 'function') { + return [callback || {}, options]; + } + + if (_isUndefined(options)) { + return [{}, callback]; + } + + return [options, callback]; +} + +/** + * Generates a new temporary name. + * + * @param {Object} opts + * @returns {string} the new random name according to opts + * @private + */ +function _generateTmpName(opts) { + if (opts.name) { + return path.join(opts.dir || tmpDir, opts.name); + } + + // mkstemps like template + if (opts.template) { + return opts.template.replace(TEMPLATE_PATTERN, _randomChars(6)); + } + + // prefix and postfix + const name = [ + opts.prefix || 'tmp-', + process.pid, + _randomChars(12), + opts.postfix || '' + ].join(''); + + return path.join(opts.dir || tmpDir, name); +} + +/** + * Gets a temporary file name. + * + * @param {(Options|tmpNameCallback)} options options or callback + * @param {?tmpNameCallback} callback the callback function + */ +function tmpName(options, callback) { + var + args = _parseArguments(options, callback), + opts = args[0], + cb = args[1], + tries = opts.name ? 1 : opts.tries || DEFAULT_TRIES; + + if (isNaN(tries) || tries < 0) + return cb(new Error('Invalid tries')); + + if (opts.template && !opts.template.match(TEMPLATE_PATTERN)) + return cb(new Error('Invalid template provided')); + + (function _getUniqueName() { + const name = _generateTmpName(opts); + + // check whether the path exists then retry if needed + fs.stat(name, function (err) { + if (!err) { + if (tries-- > 0) return _getUniqueName(); + + return cb(new Error('Could not get a unique tmp filename, max tries reached ' + name)); + } + + cb(null, name); + }); + }()); +} + +/** + * Synchronous version of tmpName. + * + * @param {Object} options + * @returns {string} the generated random name + * @throws {Error} if the options are invalid or could not generate a filename + */ +function tmpNameSync(options) { + var + args = _parseArguments(options), + opts = args[0], + tries = opts.name ? 1 : opts.tries || DEFAULT_TRIES; + + if (isNaN(tries) || tries < 0) + throw new Error('Invalid tries'); + + if (opts.template && !opts.template.match(TEMPLATE_PATTERN)) + throw new Error('Invalid template provided'); + + do { + const name = _generateTmpName(opts); + try { + fs.statSync(name); + } catch (e) { + return name; + } + } while (tries-- > 0); + + throw new Error('Could not get a unique tmp filename, max tries reached'); +} + +/** + * Creates and opens a temporary file. + * + * @param {(Options|fileCallback)} options the config options or the callback function + * @param {?fileCallback} callback + */ +function file(options, callback) { + var + args = _parseArguments(options, callback), + opts = args[0], + cb = args[1]; + + opts.postfix = (_isUndefined(opts.postfix)) ? '.tmp' : opts.postfix; + + // gets a temporary filename + tmpName(opts, function _tmpNameCreated(err, name) { + if (err) return cb(err); + + // create and open the file + fs.open(name, CREATE_FLAGS, opts.mode || FILE_MODE, function _fileCreated(err, fd) { + if (err) return cb(err); + + if (opts.discardDescriptor) { + return fs.close(fd, function _discardCallback(err) { + if (err) { + // Low probability, and the file exists, so this could be + // ignored. If it isn't we certainly need to unlink the + // file, and if that fails too its error is more + // important. + try { + fs.unlinkSync(name); + } catch (e) { + if (!isENOENT(e)) { + err = e; + } + } + return cb(err); + } + cb(null, name, undefined, _prepareTmpFileRemoveCallback(name, -1, opts)); + }); + } + if (opts.detachDescriptor) { + return cb(null, name, fd, _prepareTmpFileRemoveCallback(name, -1, opts)); + } + cb(null, name, fd, _prepareTmpFileRemoveCallback(name, fd, opts)); + }); + }); +} + +/** + * Synchronous version of file. + * + * @param {Options} options + * @returns {FileSyncObject} object consists of name, fd and removeCallback + * @throws {Error} if cannot create a file + */ +function fileSync(options) { + var + args = _parseArguments(options), + opts = args[0]; + + opts.postfix = opts.postfix || '.tmp'; + + const discardOrDetachDescriptor = opts.discardDescriptor || opts.detachDescriptor; + const name = tmpNameSync(opts); + var fd = fs.openSync(name, CREATE_FLAGS, opts.mode || FILE_MODE); + if (opts.discardDescriptor) { + fs.closeSync(fd); + fd = undefined; + } + + return { + name: name, + fd: fd, + removeCallback: _prepareTmpFileRemoveCallback(name, discardOrDetachDescriptor ? -1 : fd, opts) + }; +} + +/** + * Removes files and folders in a directory recursively. + * + * @param {string} root + * @private + */ +function _rmdirRecursiveSync(root) { + const dirs = [root]; + + do { + var + dir = dirs.pop(), + deferred = false, + files = fs.readdirSync(dir); + + for (var i = 0, length = files.length; i < length; i++) { + var + file = path.join(dir, files[i]), + stat = fs.lstatSync(file); // lstat so we don't recurse into symlinked directories + + if (stat.isDirectory()) { + if (!deferred) { + deferred = true; + dirs.push(dir); + } + dirs.push(file); + } else { + fs.unlinkSync(file); + } + } + + if (!deferred) { + fs.rmdirSync(dir); + } + } while (dirs.length !== 0); +} + +/** + * Creates a temporary directory. + * + * @param {(Options|dirCallback)} options the options or the callback function + * @param {?dirCallback} callback + */ +function dir(options, callback) { + var + args = _parseArguments(options, callback), + opts = args[0], + cb = args[1]; + + // gets a temporary filename + tmpName(opts, function _tmpNameCreated(err, name) { + if (err) return cb(err); + + // create the directory + fs.mkdir(name, opts.mode || DIR_MODE, function _dirCreated(err) { + if (err) return cb(err); + + cb(null, name, _prepareTmpDirRemoveCallback(name, opts)); + }); + }); +} + +/** + * Synchronous version of dir. + * + * @param {Options} options + * @returns {DirSyncObject} object consists of name and removeCallback + * @throws {Error} if it cannot create a directory + */ +function dirSync(options) { + var + args = _parseArguments(options), + opts = args[0]; + + const name = tmpNameSync(opts); + fs.mkdirSync(name, opts.mode || DIR_MODE); + + return { + name: name, + removeCallback: _prepareTmpDirRemoveCallback(name, opts) + }; +} + +/** + * Prepares the callback for removal of the temporary file. + * + * @param {string} name the path of the file + * @param {number} fd file descriptor + * @param {Object} opts + * @returns {fileCallback} + * @private + */ +function _prepareTmpFileRemoveCallback(name, fd, opts) { + const removeCallback = _prepareRemoveCallback(function _removeCallback(fdPath) { + try { + if (0 <= fdPath[0]) { + fs.closeSync(fdPath[0]); + } + } + catch (e) { + // under some node/windows related circumstances, a temporary file + // may have not be created as expected or the file was already closed + // by the user, in which case we will simply ignore the error + if (!isEBADF(e) && !isENOENT(e)) { + // reraise any unanticipated error + throw e; + } + } + try { + fs.unlinkSync(fdPath[1]); + } + catch (e) { + if (!isENOENT(e)) { + // reraise any unanticipated error + throw e; + } + } + }, [fd, name]); + + if (!opts.keep) { + _removeObjects.unshift(removeCallback); + } + + return removeCallback; +} + +/** + * Prepares the callback for removal of the temporary directory. + * + * @param {string} name + * @param {Object} opts + * @returns {Function} the callback + * @private + */ +function _prepareTmpDirRemoveCallback(name, opts) { + const removeFunction = opts.unsafeCleanup ? _rmdirRecursiveSync : fs.rmdirSync.bind(fs); + const removeCallback = _prepareRemoveCallback(removeFunction, name); + + if (!opts.keep) { + _removeObjects.unshift(removeCallback); + } + + return removeCallback; +} + +/** + * Creates a guarded function wrapping the removeFunction call. + * + * @param {Function} removeFunction + * @param {Object} arg + * @returns {Function} + * @private + */ +function _prepareRemoveCallback(removeFunction, arg) { + var called = false; + + return function _cleanupCallback(next) { + if (!called) { + const index = _removeObjects.indexOf(_cleanupCallback); + if (index >= 0) { + _removeObjects.splice(index, 1); + } + + called = true; + removeFunction(arg); + } + + if (next) next(null); + }; +} + +/** + * The garbage collector. + * + * @private + */ +function _garbageCollector() { + if (_uncaughtException && !_gracefulCleanup) { + return; + } + + // the function being called removes itself from _removeObjects, + // loop until _removeObjects is empty + while (_removeObjects.length) { + try { + _removeObjects[0].call(null); + } catch (e) { + // already removed? + } + } +} + +/** + * Helper for testing against EBADF to compensate changes made to Node 7.x under Windows. + */ +function isEBADF(error) { + return isExpectedError(error, -EBADF, 'EBADF'); +} + +/** + * Helper for testing against ENOENT to compensate changes made to Node 7.x under Windows. + */ +function isENOENT(error) { + return isExpectedError(error, -ENOENT, 'ENOENT'); +} + +/** + * Helper to determine whether the expected error code matches the actual code and errno, + * which will differ between the supported node versions. + * + * - Node >= 7.0: + * error.code {String} + * error.errno {String|Number} any numerical value will be negated + * + * - Node >= 6.0 < 7.0: + * error.code {String} + * error.errno {Number} negated + * + * - Node >= 4.0 < 6.0: introduces SystemError + * error.code {String} + * error.errno {Number} negated + * + * - Node >= 0.10 < 4.0: + * error.code {Number} negated + * error.errno n/a + */ +function isExpectedError(error, code, errno) { + return error.code == code || error.code == errno; +} + +/** + * Sets the graceful cleanup. + * + * Also removes the created files and directories when an uncaught exception occurs. + */ +function setGracefulCleanup() { + _gracefulCleanup = true; +} + +const version = process.versions.node.split('.').map(function (value) { + return parseInt(value, 10); +}); + +if (version[0] === 0 && (version[1] < 9 || version[1] === 9 && version[2] < 5)) { + process.addListener('uncaughtException', function _uncaughtExceptionThrown(err) { + _uncaughtException = true; + _garbageCollector(); + + throw err; + }); +} + +process.addListener('exit', function _exit(code) { + if (code) _uncaughtException = true; + _garbageCollector(); +}); + +/** + * Configuration options. + * + * @typedef {Object} Options + * @property {?number} tries the number of tries before give up the name generation + * @property {?string} template the "mkstemp" like filename template + * @property {?string} name fix name + * @property {?string} dir the tmp directory to use + * @property {?string} prefix prefix for the generated name + * @property {?string} postfix postfix for the generated name + */ + +/** + * @typedef {Object} FileSyncObject + * @property {string} name the name of the file + * @property {string} fd the file descriptor + * @property {fileCallback} removeCallback the callback function to remove the file + */ + +/** + * @typedef {Object} DirSyncObject + * @property {string} name the name of the directory + * @property {fileCallback} removeCallback the callback function to remove the directory + */ + +/** + * @callback tmpNameCallback + * @param {?Error} err the error object if anything goes wrong + * @param {string} name the temporary file name + */ + +/** + * @callback fileCallback + * @param {?Error} err the error object if anything goes wrong + * @param {string} name the temporary file name + * @param {number} fd the file descriptor + * @param {cleanupCallback} fn the cleanup callback function + */ + +/** + * @callback dirCallback + * @param {?Error} err the error object if anything goes wrong + * @param {string} name the temporary file name + * @param {cleanupCallback} fn the cleanup callback function + */ + +/** + * Removes the temporary created file or directory. + * + * @callback cleanupCallback + * @param {simpleCallback} [next] function to call after entry was removed + */ + +/** + * Callback function for function composition. + * @see {@link https://github.com/raszi/node-tmp/issues/57|raszi/node-tmp#57} + * + * @callback simpleCallback + */ + +// exporting all the needed methods +module.exports.tmpdir = tmpDir; + +module.exports.dir = dir; +module.exports.dirSync = dirSync; + +module.exports.file = file; +module.exports.fileSync = fileSync; + +module.exports.tmpName = tmpName; +module.exports.tmpNameSync = tmpNameSync; + +module.exports.setGracefulCleanup = setGracefulCleanup; diff --git a/tools/node_modules/eslint/node_modules/tmp/package.json b/tools/node_modules/eslint/node_modules/tmp/package.json new file mode 100644 index 00000000000000..3aedd815d128e4 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/tmp/package.json @@ -0,0 +1,47 @@ +{ + "author": { + "name": "KARASZI István", + "email": "github@spam.raszi.hu", + "url": "http://raszi.hu/" + }, + "bugs": { + "url": "http://github.com/raszi/node-tmp/issues" + }, + "bundleDependencies": false, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "deprecated": false, + "description": "Temporary file and directory creator", + "devDependencies": { + "vows": "~0.7.0" + }, + "engines": { + "node": ">=0.6.0" + }, + "files": [ + "lib/" + ], + "homepage": "http://github.com/raszi/node-tmp", + "keywords": [ + "temporary", + "tmp", + "temp", + "tempdir", + "tempfile", + "tmpdir", + "tmpfile" + ], + "license": "MIT", + "main": "lib/tmp.js", + "name": "tmp", + "repository": { + "type": "git", + "url": "git+https://github.com/raszi/node-tmp.git" + }, + "scripts": { + "doc": "jsdoc -c .jsdoc.json", + "test": "vows test/*-test.js" + }, + "version": "0.0.33" +} \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/tslib/README.md b/tools/node_modules/eslint/node_modules/tslib/README.md index ae595fe2342253..3fd109d7317bbc 100644 --- a/tools/node_modules/eslint/node_modules/tslib/README.md +++ b/tools/node_modules/eslint/node_modules/tslib/README.md @@ -105,13 +105,13 @@ For JSPM users: { "compilerOptions": { "module": "system", - "importHelpers": true, - "baseUrl": "./", - "paths": { - "tslib" : ["jspm_packages/npm/tslib@1.9.3/tslib.d.ts"] - } - } -} + "importHelpers": true, + "baseUrl": "./", + "paths": { + "tslib" : ["jspm_packages/npm/tslib@1.10.0/tslib.d.ts"] + } + } +} ``` diff --git a/tools/node_modules/eslint/node_modules/tslib/package.json b/tools/node_modules/eslint/node_modules/tslib/package.json index 50867e902e3c2e..abe80a995b4460 100644 --- a/tools/node_modules/eslint/node_modules/tslib/package.json +++ b/tools/node_modules/eslint/node_modules/tslib/package.json @@ -28,5 +28,5 @@ "url": "git+https://github.com/Microsoft/tslib.git" }, "typings": "tslib.d.ts", - "version": "1.9.3" + "version": "1.10.0" } \ No newline at end of file diff --git a/tools/node_modules/eslint/node_modules/tslib/tslib.es6.js b/tools/node_modules/eslint/node_modules/tslib/tslib.es6.js index 6da273e26024f1..9b31275ec36647 100644 --- a/tools/node_modules/eslint/node_modules/tslib/tslib.es6.js +++ b/tools/node_modules/eslint/node_modules/tslib/tslib.es6.js @@ -40,14 +40,16 @@ export var __assign = function() { export function __rest(s, e) { var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; - return t; -} - + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +} + export function __decorate(decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -135,12 +137,20 @@ export function __read(o, n) { export function __spread() { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); - return ar; -} - -export function __await(v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); -} + return ar; +} + +export function __spreadArrays() { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; +}; + +export function __await(v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); +} export function __asyncGenerator(thisArg, _arguments, generator) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); diff --git a/tools/node_modules/eslint/node_modules/tslib/tslib.js b/tools/node_modules/eslint/node_modules/tslib/tslib.js index b0b1ff3ab8e776..523106e3bbcee0 100644 --- a/tools/node_modules/eslint/node_modules/tslib/tslib.js +++ b/tools/node_modules/eslint/node_modules/tslib/tslib.js @@ -22,12 +22,13 @@ var __metadata; var __awaiter; var __generator; var __exportStar; -var __values; -var __read; -var __spread; -var __await; -var __asyncGenerator; -var __asyncDelegator; +var __values; +var __read; +var __spread; +var __spreadArrays; +var __await; +var __asyncGenerator; +var __asyncDelegator; var __asyncValues; var __makeTemplateObject; var __importStar; @@ -76,14 +77,16 @@ var __importDefault; __rest = function (s, e) { var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; - return t; - }; - + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; + }; + __decorate = function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); @@ -171,12 +174,20 @@ var __importDefault; __spread = function () { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); - return ar; - }; - - __await = function (v) { - return this instanceof __await ? (this.v = v, this) : new __await(v); - }; + return ar; + }; + + __spreadArrays = function () { + for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length; + for (var r = Array(s), k = 0, i = 0; i < il; i++) + for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) + r[k] = a[j]; + return r; + }; + + __await = function (v) { + return this instanceof __await ? (this.v = v, this) : new __await(v); + }; __asyncGenerator = function (thisArg, _arguments, generator) { if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined."); @@ -230,12 +241,13 @@ var __importDefault; exporter("__awaiter", __awaiter); exporter("__generator", __generator); exporter("__exportStar", __exportStar); - exporter("__values", __values); - exporter("__read", __read); - exporter("__spread", __spread); - exporter("__await", __await); - exporter("__asyncGenerator", __asyncGenerator); - exporter("__asyncDelegator", __asyncDelegator); + exporter("__values", __values); + exporter("__read", __read); + exporter("__spread", __spread); + exporter("__spreadArrays", __spreadArrays); + exporter("__await", __await); + exporter("__asyncGenerator", __asyncGenerator); + exporter("__asyncDelegator", __asyncDelegator); exporter("__asyncValues", __asyncValues); exporter("__makeTemplateObject", __makeTemplateObject); exporter("__importStar", __importStar); diff --git a/tools/node_modules/eslint/node_modules/unist-util-is/convert.js b/tools/node_modules/eslint/node_modules/unist-util-is/convert.js new file mode 100644 index 00000000000000..f92f34f1051b25 --- /dev/null +++ b/tools/node_modules/eslint/node_modules/unist-util-is/convert.js @@ -0,0 +1,87 @@ +'use strict' + +module.exports = convert + +function convert(test) { + if (typeof test === 'string') { + return typeFactory(test) + } + + if (test === null || test === undefined) { + return ok + } + + if (typeof test === 'object') { + return ('length' in test ? anyFactory : matchesFactory)(test) + } + + if (typeof test === 'function') { + return test + } + + throw new Error('Expected function, string, or object as test') +} + +function convertAll(tests) { + var results = [] + var length = tests.length + var index = -1 + + while (++index < length) { + results[index] = convert(tests[index]) + } + + return results +} + +// Utility assert each property in `test` is represented in `node`, and each +// values are strictly equal. +function matchesFactory(test) { + return matches + + function matches(node) { + var key + + for (key in test) { + if (node[key] !== test[key]) { + return false + } + } + + return true + } +} + +function anyFactory(tests) { + var checks = convertAll(tests) + var length = checks.length + + return matches + + function matches() { + var index = -1 + + while (++index < length) { + if (checks[index].apply(this, arguments)) { + return true + } + } + + return false + } +} + +// Utility to convert a string into a function which checks a given node’s type +// for said string. +function typeFactory(test) { + return type + + function type(node) { + return Boolean(node && node.type === test) + } +} + +// Utility to return true. +function ok() { + return true +} diff --git a/tools/node_modules/eslint/node_modules/unist-util-is/index.js b/tools/node_modules/eslint/node_modules/unist-util-is/index.js index 184115024c1f58..f18d416e08d214 100644 --- a/tools/node_modules/eslint/node_modules/unist-util-is/index.js +++ b/tools/node_modules/eslint/node_modules/unist-util-is/index.js @@ -1,11 +1,15 @@ 'use strict' +var convert = require('./convert') + module.exports = is -// Assert if `test` passes for `node`. When a `parent` node is known the -// `index` of node. +is.convert = convert + +// Assert if `test` passes for `node`. +// When a `parent` node is known the `index` of node should also be given. // eslint-disable-next-line max-params -function is(test, node, index, parent, context) { +function is(node, test, index, parent, context) { var hasParent = parent !== null && parent !== undefined var hasIndex = index !== null && index !== undefined var check = convert(test) @@ -17,7 +21,7 @@ function is(test, node, index, parent, context) { throw new Error('Expected positive finite index or child node') } - if (hasParent && (!is(null, parent) || !parent.children)) { + if (hasParent && (!is(parent) || !parent.children)) { throw new Error('Expected parent node') } @@ -31,87 +35,3 @@ function is(test, node, index, parent, context) { return Boolean(check.call(context, node, index, parent)) } - -function convert(test) { - if (typeof test === 'string') { - return typeFactory(test) - } - - if (test === null || test === undefined) { - return ok - } - - if (typeof test === 'object') { - return ('length' in test ? anyFactory : matchesFactory)(test) - } - - if (typeof test === 'function') { - return test - } - - throw new Error('Expected function, string, or object as test') -} - -function convertAll(tests) { - var results = [] - var length = tests.length - var index = -1 - - while (++index < length) { - results[index] = convert(tests[index]) - } - - return results -} - -// Utility assert each property in `test` is represented in `node`, and each -// values are strictly equal. -function matchesFactory(test) { - return matches - - function matches(node) { - var key - - for (key in test) { - if (node[key] !== test[key]) { - return false - } - } - - return true - } -} - -function anyFactory(tests) { - var checks = convertAll(tests) - var length = checks.length - - return matches - - function matches() { - var index = -1 - - while (++index < length) { - if (checks[index].apply(this, arguments)) { - return true - } - } - - return false - } -} - -// Utility to convert a string into a function which checks a given node’s type -// for said string. -function typeFactory(test) { - return type - - function type(node) { - return Boolean(node && node.type === test) - } -} - -// Utility to return true. -function ok() { - return true -} diff --git a/tools/node_modules/eslint/node_modules/unist-util-is/package.json b/tools/node_modules/eslint/node_modules/unist-util-is/package.json index eea876c97270a3..780e6d7618a9fd 100644 --- a/tools/node_modules/eslint/node_modules/unist-util-is/package.json +++ b/tools/node_modules/eslint/node_modules/unist-util-is/package.json @@ -5,7 +5,7 @@ "url": "https://wooorm.com" }, "bugs": { - "url": "https://github.com/syntax-tree/hast-util-to-html/issues" + "url": "https://github.com/syntax-tree/unist-util-is/issues" }, "bundleDependencies": false, "contributors": [ @@ -29,7 +29,8 @@ "xo": "^0.24.0" }, "files": [ - "index.js" + "index.js", + "convert.js" ], "homepage": "https://github.com/syntax-tree/unist-util-is#readme", "keywords": [ @@ -76,7 +77,7 @@ "test-api": "node test", "test-coverage": "nyc --reporter lcov tape test.js" }, - "version": "2.1.3", + "version": "3.0.0", "xo": { "prettier": true, "esnext": false, diff --git a/tools/node_modules/eslint/node_modules/unist-util-is/readme.md b/tools/node_modules/eslint/node_modules/unist-util-is/readme.md index 3ed2fce8dfb012..7d53629aba87db 100644 --- a/tools/node_modules/eslint/node_modules/unist-util-is/readme.md +++ b/tools/node_modules/eslint/node_modules/unist-util-is/readme.md @@ -31,49 +31,49 @@ function test(node, n) { } is() // => false -is(null, {children: []}) // => false -is(null, node) // => true -is('strong', node) // => true -is('emphasis', node) // => false +is({children: []}) // => false +is(node) // => true +is(node, 'strong') // => true +is(node, 'emphasis') // => false is(node, node) // => true -is({type: 'paragraph'}, parent) // => true -is({type: 'strong'}, parent) // => false +is(parent, {type: 'paragraph'}) // => true +is(parent, {type: 'strong'}) // => false -is(test, node) // => false -is(test, node, 4, parent) // => false -is(test, node, 5, parent) // => true +is(node, test) // => false +is(node, test, 4, parent) // => false +is(node, test, 5, parent) // => true ``` ## API -### `is(test, node[, index, parent[, context]])` +### `is(node[, test[, index, parent[, context]]])` ###### Parameters +* `node` ([`Node`][node]) — Node to check. * `test` ([`Function`][test], `string`, `Object`, or `Array.`, optional) — When not given, checks if `node` is a [`Node`][node]. When `string`, works like passing `node => node.type === test`. When `array`, checks if any one of the subtests pass. When `object`, checks that all keys in `test` are in `node`, and that they have strictly equal values -* `node` ([`Node`][node]) — Node to check. `false` is returned * `index` (`number`, optional) — [Index][] of `node` in `parent` * `parent` ([`Node`][node], optional) — [Parent][] of `node` * `context` (`*`, optional) — Context object to invoke `test` with ###### Returns -`boolean` — Whether `test` passed *and* `node` is a [`Node`][node] (object -with `type` set to a non-empty `string`). +`boolean` — Whether `test` passed *and* `node` is a [`Node`][node] (object with +`type` set to a non-empty `string`). #### `function test(node[, index, parent])` ###### Parameters -* `node` (`Node`) — Node to test -* `index` (`number?`) — Position of `node` in `parent` -* `parent` (`Node?`) — Parent of `node` +* `node` ([`Node`][node]) — Node to check +* `index` (`number?`) — [Index][] of `node` in `parent` +* `parent` ([`Node?`][node]) — [Parent][] of `node` ###### Context @@ -83,6 +83,41 @@ with `type` set to a non-empty `string`). `boolean?` — Whether `node` matches. +### `is.convert(test)` + +Create a test function from `test`, that can later be called with a `node`, +`index`, and `parent`. +Useful if you’re going to test many nodes, for example when creating a utility +where something else passes an is-compatible test. + +Can also be accessed with `require('unist-util-is/convert')`. + +For example: + +```js +var u = require('unist-builder') +var convert = require('unist-util-is/convert') + +var test = convert('leaf') + +var tree = u('tree', [ + u('node', [u('leaf', '1')]), + u('leaf', '2'), + u('node', [u('leaf', '3'), u('leaf', '4')]), + u('leaf', '5') +]) + +var leafs = tree.children.filter((child, index) => test(child, index, tree)) + +console.log(leafs) +``` + +Yields: + +```js +[({type: 'leaf', value: '2'}, {type: 'leaf', value: '5'})] +``` + ## Related * [`unist-util-find-after`](https://github.com/syntax-tree/unist-util-find-after) diff --git a/tools/node_modules/eslint/node_modules/unist-util-visit-parents/index.js b/tools/node_modules/eslint/node_modules/unist-util-visit-parents/index.js index 1f2270f6c99d28..c72635924f86d1 100644 --- a/tools/node_modules/eslint/node_modules/unist-util-visit-parents/index.js +++ b/tools/node_modules/eslint/node_modules/unist-util-visit-parents/index.js @@ -2,7 +2,7 @@ module.exports = visitParents -var is = require('unist-util-is') +var convert = require('unist-util-is/convert') var CONTINUE = true var SKIP = 'skip' @@ -13,12 +13,16 @@ visitParents.SKIP = SKIP visitParents.EXIT = EXIT function visitParents(tree, test, visitor, reverse) { + var is + if (typeof test === 'function' && typeof visitor !== 'function') { reverse = visitor visitor = test test = null } + is = convert(test) + one(tree, null, []) // Visit a single node. @@ -26,7 +30,7 @@ function visitParents(tree, test, visitor, reverse) { var result = [] var subresult - if (!test || is(test, node, index, parents[parents.length - 1] || null)) { + if (!test || is(node, index, parents[parents.length - 1] || null)) { result = toResult(visitor(node, parents)) if (result[0] === EXIT) { diff --git a/tools/node_modules/eslint/node_modules/unist-util-visit-parents/package.json b/tools/node_modules/eslint/node_modules/unist-util-visit-parents/package.json index bd8d72f2d4a174..79a66d8458bd3b 100644 --- a/tools/node_modules/eslint/node_modules/unist-util-visit-parents/package.json +++ b/tools/node_modules/eslint/node_modules/unist-util-visit-parents/package.json @@ -16,7 +16,7 @@ } ], "dependencies": { - "unist-util-is": "^2.1.2" + "unist-util-is": "^3.0.0" }, "deprecated": false, "description": "Recursively walk over unist nodes, with ancestral information", @@ -75,7 +75,7 @@ "test-api": "node test", "test-coverage": "nyc --reporter lcov tape test.js" }, - "version": "2.1.1", + "version": "2.1.2", "xo": { "prettier": true, "esnext": false, diff --git a/tools/node_modules/eslint/node_modules/vfile-location/package.json b/tools/node_modules/eslint/node_modules/vfile-location/package.json index d7e748e789a82b..34840291eb9366 100644 --- a/tools/node_modules/eslint/node_modules/vfile-location/package.json +++ b/tools/node_modules/eslint/node_modules/vfile-location/package.json @@ -20,14 +20,14 @@ "description": "Convert between positions (line and column-based) and offsets (range-based) locations in a virtual file", "devDependencies": { "browserify": "^16.0.0", - "nyc": "^13.0.0", - "prettier": "^1.12.1", + "nyc": "^14.0.0", + "prettier": "^1.0.0", "remark-cli": "^6.0.0", - "remark-preset-wooorm": "^4.0.0", + "remark-preset-wooorm": "^5.0.0", "tape": "^4.0.0", - "tinyify": "^2.4.3", - "vfile": "^3.0.0", - "xo": "^0.23.0" + "tinyify": "^2.0.0", + "vfile": "^4.0.0", + "xo": "^0.24.0" }, "files": [ "index.js" @@ -69,20 +69,15 @@ "build": "npm run build-bundle && npm run build-mangle", "build-bundle": "browserify . -s vfileLocation > vfile-location.js", "build-mangle": "browserify . -s vfileLocation -p tinyify > vfile-location.min.js", - "format": "remark . -qfo && prettier --write '**/*.js' && xo --fix", + "format": "remark . -qfo && prettier --write \"**/*.js\" && xo --fix", "test": "npm run format && npm run build && npm run test-coverage", "test-api": "node test", "test-coverage": "nyc --reporter lcov tape test.js" }, - "version": "2.0.4", + "version": "2.0.5", "xo": { "prettier": true, "esnext": false, - "rules": { - "no-var": "off", - "prefer-arrow-callback": "off", - "object-shorthand": "off" - }, "ignores": [ "vfile-location.js" ] diff --git a/tools/node_modules/eslint/node_modules/vfile-location/readme.md b/tools/node_modules/eslint/node_modules/vfile-location/readme.md index 8b2d91f1564e6f..aa126a3fe3978d 100644 --- a/tools/node_modules/eslint/node_modules/vfile-location/readme.md +++ b/tools/node_modules/eslint/node_modules/vfile-location/readme.md @@ -3,16 +3,19 @@ [![Build][build-badge]][build] [![Coverage][coverage-badge]][coverage] [![Downloads][downloads-badge]][downloads] +[![Size][size-badge]][size] +[![Sponsors][sponsors-badge]][collective] +[![Backers][backers-badge]][collective] [![Chat][chat-badge]][chat] -Convert between positions (line and column-based) and offsets -(range-based) locations in a [virtual file][vfile]. +Convert between positions (line and column-based) and offsets (range-based) +locations in a [virtual file][vfile]. -## Installation +## Install [npm][]: -```bash +```sh npm install vfile-location ``` @@ -32,29 +35,30 @@ location.toPosition(offset) // => {line: 3, column: 3, offset: 10} ### `location = vfileLocation(doc)` -Get transform functions for the given `doc` (`string`) or -[`file`][vfile]. +Get transform functions for the given `doc` (`string`) or [`file`][vfile]. -Returns an object with [`toOffset`][to-offset] and -[`toPosition`][to-position]. +Returns an object with [`toOffset`][to-offset] and [`toPosition`][to-position]. ### `location.toOffset(position)` -Get the `offset` (`number`) for a line and column-based -[`position`][position] in the bound file. Returns `-1` -when given invalid or out of bounds input. +Get the `offset` (`number`) for a line and column-based [`position`][position] +in the bound file. +Returns `-1` when given invalid or out of bounds input. ### `location.toPosition(offset)` -Get the line and column-based [`position`][position] for `offset` in -the bound file. +Get the line and column-based [`position`][position] for `offset` in the bound +file. ## Contribute -See [`contributing.md` in `vfile/vfile`][contributing] for ways to get started. +See [`contributing.md`][contributing] in [`vfile/.github`][health] for ways to +get started. +See [`support.md`][support] for ways to get help. -This organisation has a [Code of Conduct][coc]. By interacting with this -repository, organisation, or community you agree to abide by its terms. +This project has a [Code of Conduct][coc]. +By interacting with this repository, organisation, or community you agree to +abide by its terms. ## License @@ -74,12 +78,30 @@ repository, organisation, or community you agree to abide by its terms. [downloads]: https://www.npmjs.com/package/vfile-location +[size-badge]: https://img.shields.io/bundlephobia/minzip/vfile-location.svg + +[size]: https://bundlephobia.com/result?p=vfile-location + +[sponsors-badge]: https://opencollective.com/unified/sponsors/badge.svg + +[backers-badge]: https://opencollective.com/unified/backers/badge.svg + +[collective]: https://opencollective.com/unified + [chat-badge]: https://img.shields.io/badge/join%20the%20community-on%20spectrum-7b16ff.svg [chat]: https://spectrum.chat/unified/vfile [npm]: https://docs.npmjs.com/cli/install +[contributing]: https://github.com/vfile/.github/blob/master/contributing.md + +[support]: https://github.com/vfile/.github/blob/master/support.md + +[health]: https://github.com/vfile/.github + +[coc]: https://github.com/vfile/.github/blob/master/code-of-conduct.md + [license]: license [author]: https://wooorm.com @@ -91,7 +113,3 @@ repository, organisation, or community you agree to abide by its terms. [to-position]: #locationtopositionoffset [position]: https://github.com/syntax-tree/unist#position - -[contributing]: https://github.com/vfile/vfile/blob/master/contributing.md - -[coc]: https://github.com/vfile/vfile/blob/master/code-of-conduct.md diff --git a/tools/node_modules/eslint/package.json b/tools/node_modules/eslint/package.json index 68df20c7687b9f..530373a2204808 100644 --- a/tools/node_modules/eslint/package.json +++ b/tools/node_modules/eslint/package.json @@ -21,7 +21,7 @@ "eslint-scope": "^4.0.3", "eslint-utils": "^1.3.1", "eslint-visitor-keys": "^1.0.0", - "espree": "^6.0.0-alpha.0", + "espree": "^6.0.0", "esquery": "^1.0.1", "esutils": "^2.0.2", "file-entry-cache": "^5.0.1", @@ -53,16 +53,13 @@ "description": "An AST-based pattern checker for JavaScript.", "devDependencies": { "@babel/core": "^7.4.3", - "@babel/polyfill": "^7.4.3", "@babel/preset-env": "^7.4.3", "acorn": "^6.1.1", "babel-loader": "^8.0.5", - "beefy": "^2.1.8", - "brfs": "^2.0.2", "chai": "^4.0.1", "cheerio": "^0.22.0", "common-tags": "^1.8.0", - "coveralls": "^3.0.3", + "core-js": "^3.1.3", "dateformat": "^3.0.3", "ejs": "^2.6.1", "eslint": "file:.", @@ -87,15 +84,16 @@ "markdownlint-cli": "^0.15.0", "metro-memory-fs": "^0.53.1", "mocha": "^6.1.2", + "mocha-junit-reporter": "^1.23.0", "npm-license": "^0.3.3", "nyc": "^13.3.0", "proxyquire": "^2.0.1", "puppeteer": "^1.14.0", "recast": "^0.17.6", + "regenerator-runtime": "^0.13.2", "shelljs": "^0.8.2", - "sinon": "^3.3.0", + "sinon": "^7.3.2", "temp": "^0.9.0", - "through": "^2.3.8", "webpack": "^4.29.6", "webpack-cli": "^3.3.0", "yorkie": "^2.0.0" @@ -137,7 +135,6 @@ "url": "git+https://github.com/eslint/eslint.git" }, "scripts": { - "coveralls": "cat ./coverage/lcov.info | coveralls", "docs": "node Makefile.js docs", "fuzz": "node Makefile.js fuzz", "generate-alpharelease": "node Makefile.js generatePrerelease -- alpha", @@ -147,10 +144,9 @@ "gensite": "node Makefile.js gensite", "lint": "node Makefile.js lint", "perf": "node Makefile.js perf", - "profile": "beefy tests/bench/bench.js --open -- -t brfs -t ./tests/bench/xform-rules.js -r espree", "publish-release": "node Makefile.js publishRelease", "test": "node Makefile.js test", "webpack": "node Makefile.js webpack" }, - "version": "6.0.0-alpha.2" + "version": "6.0.1" } \ No newline at end of file diff --git a/tools/update-eslint.sh b/tools/update-eslint.sh index ca1e3299b520a2..f877c0a9e48259 100755 --- a/tools/update-eslint.sh +++ b/tools/update-eslint.sh @@ -13,7 +13,7 @@ mkdir eslint-tmp cd eslint-tmp npm init --yes -npm install --global-style --no-bin-links --production --no-package-lock eslint@next +npm install --global-style --no-bin-links --production --no-package-lock eslint@latest cd node_modules/eslint npm install --no-bin-links --production --no-package-lock eslint-plugin-markdown@latest From 0fd652468003fcf00cadd04ff5bf7ee7fc07af84 Mon Sep 17 00:00:00 2001 From: Joyee Cheung Date: Thu, 20 Jun 2019 07:13:26 +0800 Subject: [PATCH 113/144] process: split routines used to enhance fatal exception stack traces Previously the enhancement were done right after emitting `'uncaughtException'`, which meant by the time we knew the exception was fatal in C++, the error.stack had already been patched. This patch moves those routines to be called later during the fatal exception handling, and split them into two stages: before and after the inspector is notified by the invocation of `V8Inspector::exceptionThrown`. We now expand the stack to include additional informations about unhandled 'error' events before the inspector is notified, but delay the highlighting of the frames until after the inspector is notified, so that the ANSI escape sequences won't show up in the inspector console. PR-URL: https://github.com/nodejs/node/pull/28308 Fixes: https://github.com/nodejs/node/issues/28287 Reviewed-By: Benjamin Gruenbaum --- lib/events.js | 13 ++-- lib/internal/bootstrap/node.js | 17 ++++- lib/internal/errors.js | 41 ++++++++++ lib/internal/process/execution.js | 12 --- lib/internal/util.js | 1 - lib/internal/util/inspect.js | 3 +- src/env.h | 2 + src/inspector_agent.cc | 7 +- src/inspector_agent.h | 4 +- src/node_errors.cc | 121 +++++++++++++++++++++++------- 10 files changed, 166 insertions(+), 55 deletions(-) diff --git a/lib/events.js b/lib/events.js index 438c8f8306246a..6f279a0bff603c 100644 --- a/lib/events.js +++ b/lib/events.js @@ -25,11 +25,15 @@ const { Math, Object, Reflect } = primordials; var spliceOne; +const { + kEnhanceStackBeforeInspector, + codes +} = require('internal/errors'); const { ERR_INVALID_ARG_TYPE, ERR_OUT_OF_RANGE, ERR_UNHANDLED_ERROR -} = require('internal/errors').codes; +} = codes; const { inspect @@ -142,8 +146,8 @@ function enhanceStackTrace(err, own) { ownStack.splice(off + 1, len - 2, ' [... lines matching original stack trace ...]'); } - // Do this last, because it is the only operation with side effects. - err.stack = err.stack + sep + ownStack.join('\n'); + + return err.stack + sep + ownStack.join('\n'); } EventEmitter.prototype.emit = function emit(type, ...args) { @@ -162,11 +166,10 @@ EventEmitter.prototype.emit = function emit(type, ...args) { er = args[0]; if (er instanceof Error) { try { - const { kExpandStackSymbol } = require('internal/util'); const capture = {}; // eslint-disable-next-line no-restricted-syntax Error.captureStackTrace(capture, EventEmitter.prototype.emit); - Object.defineProperty(er, kExpandStackSymbol, { + Object.defineProperty(er, kEnhanceStackBeforeInspector, { value: enhanceStackTrace.bind(null, er, capture), configurable: true }); diff --git a/lib/internal/bootstrap/node.js b/lib/internal/bootstrap/node.js index 22dabf4d7ed459..e8735c2049cc36 100644 --- a/lib/internal/bootstrap/node.js +++ b/lib/internal/bootstrap/node.js @@ -299,9 +299,22 @@ process.emitWarning = emitWarning; } function setupPrepareStackTrace() { - const { setPrepareStackTraceCallback } = internalBinding('errors'); - const { prepareStackTrace } = require('internal/errors'); + const { + setEnhanceStackForFatalException, + setPrepareStackTraceCallback + } = internalBinding('errors'); + const { + prepareStackTrace, + fatalExceptionStackEnhancers: { + beforeInspector, + afterInspector + } + } = require('internal/errors'); + // Tell our PrepareStackTraceCallback passed to the V8 API + // to call prepareStackTrace(). setPrepareStackTraceCallback(prepareStackTrace); + // Set the function used to enhance the error stack for printing + setEnhanceStackForFatalException(beforeInspector, afterInspector); } function setupProcessObject() { diff --git a/lib/internal/errors.js b/lib/internal/errors.js index 20a7ae1e155072..56cb13f1cbeafc 100644 --- a/lib/internal/errors.js +++ b/lib/internal/errors.js @@ -617,6 +617,45 @@ function addNumericalSeparator(val) { return `${val.slice(0, i)}${res}`; } +// Used to enhance the stack that will be picked up by the inspector +const kEnhanceStackBeforeInspector = Symbol('kEnhanceStackBeforeInspector'); + +// These are supposed to be called only on fatal exceptions before +// the process exits. +const fatalExceptionStackEnhancers = { + beforeInspector(error) { + if (typeof error[kEnhanceStackBeforeInspector] !== 'function') { + return error.stack; + } + + try { + // Set the error.stack here so it gets picked up by the + // inspector. + error.stack = error[kEnhanceStackBeforeInspector](); + } catch { + // We are just enhancing the error. If it fails, ignore it. + } + return error.stack; + }, + afterInspector(error) { + const originalStack = error.stack; + const { + inspect, + inspectDefaultOptions: { + colors: defaultColors + } + } = lazyInternalUtilInspect(); + const colors = internalBinding('util').guessHandleType(2) === 'TTY' && + require('internal/tty').hasColors() || + defaultColors; + try { + return inspect(error, { colors }); + } catch { + return originalStack; + } + } +}; + module.exports = { addCodeToName, // Exported for NghttpError codes, @@ -633,6 +672,8 @@ module.exports = { // This is exported only to facilitate testing. E, prepareStackTrace, + kEnhanceStackBeforeInspector, + fatalExceptionStackEnhancers }; // To declare an error message, use the E(sym, val, def) function above. The sym diff --git a/lib/internal/process/execution.js b/lib/internal/process/execution.js index b9904f66b3621b..b8c4e673b2c8ca 100644 --- a/lib/internal/process/execution.js +++ b/lib/internal/process/execution.js @@ -150,10 +150,6 @@ function createOnGlobalUncaughtException() { } else if (!process.emit('uncaughtException', er, type)) { // If someone handled it, then great. Otherwise, die in C++ land // since that means that we'll exit the process, emit the 'exit' event. - const { inspect } = require('internal/util/inspect'); - const colors = internalBinding('util').guessHandleType(2) === 'TTY' && - require('internal/tty').hasColors() || - inspect.defaultOptions.colors; try { if (!process._exiting) { process._exiting = true; @@ -163,14 +159,6 @@ function createOnGlobalUncaughtException() { } catch { // Nothing to be done about it at this point. } - try { - const { kExpandStackSymbol } = require('internal/util'); - if (typeof er[kExpandStackSymbol] === 'function') - er[kExpandStackSymbol](); - er.stack = inspect(er, { colors }); - } catch { - // Nothing to be done about it at this point. - } return false; } diff --git a/lib/internal/util.js b/lib/internal/util.js index 931bcea5b4fbfb..67d4130ddd3053 100644 --- a/lib/internal/util.js +++ b/lib/internal/util.js @@ -414,6 +414,5 @@ module.exports = { // Used by the buffer module to capture an internal reference to the // default isEncoding implementation, just in case userland overrides it. kIsEncodingSymbol: Symbol('kIsEncodingSymbol'), - kExpandStackSymbol: Symbol('kExpandStackSymbol'), kVmBreakFirstLineSymbol: Symbol('kVmBreakFirstLineSymbol') }; diff --git a/lib/internal/util/inspect.js b/lib/internal/util/inspect.js index c85c524047168f..20bdc33786054f 100644 --- a/lib/internal/util/inspect.js +++ b/lib/internal/util/inspect.js @@ -1658,5 +1658,6 @@ function formatWithOptions(inspectOptions, ...args) { module.exports = { inspect, format, - formatWithOptions + formatWithOptions, + inspectDefaultOptions }; diff --git a/src/env.h b/src/env.h index 59ad030f30ff9b..3d955297920a98 100644 --- a/src/env.h +++ b/src/env.h @@ -386,6 +386,8 @@ constexpr size_t kFsStatsBufferLength = kFsStatsFieldsNumber * 2; V(crypto_key_object_constructor, v8::Function) \ V(domain_callback, v8::Function) \ V(domexception_function, v8::Function) \ + V(enhance_fatal_stack_after_inspector, v8::Function) \ + V(enhance_fatal_stack_before_inspector, v8::Function) \ V(fs_use_promises_symbol, v8::Symbol) \ V(host_import_module_dynamically_callback, v8::Function) \ V(host_initialize_import_meta_object_callback, v8::Function) \ diff --git a/src/inspector_agent.cc b/src/inspector_agent.cc index 2e51648196672f..ceba6a59a83e4d 100644 --- a/src/inspector_agent.cc +++ b/src/inspector_agent.cc @@ -570,7 +570,7 @@ class NodeInspectorClient : public V8InspectorClient { } } - void FatalException(Local error, Local message) { + void ReportUncaughtException(Local error, Local message) { Isolate* isolate = env_->isolate(); Local context = env_->context(); @@ -836,10 +836,11 @@ void Agent::WaitForDisconnect() { } } -void Agent::FatalException(Local error, Local message) { +void Agent::ReportUncaughtException(Local error, + Local message) { if (!IsListening()) return; - client_->FatalException(error, message); + client_->ReportUncaughtException(error, message); WaitForDisconnect(); } diff --git a/src/inspector_agent.h b/src/inspector_agent.h index 1c2bde0da73e84..5447a68485c228 100644 --- a/src/inspector_agent.h +++ b/src/inspector_agent.h @@ -65,8 +65,8 @@ class Agent { void WaitForConnect(); // Blocks till all the sessions with "WaitForDisconnectOnShutdown" disconnect void WaitForDisconnect(); - void FatalException(v8::Local error, - v8::Local message); + void ReportUncaughtException(v8::Local error, + v8::Local message); // Async stack traces instrumentation. void AsyncTaskScheduled(const v8_inspector::StringView& taskName, void* task, diff --git a/src/node_errors.cc b/src/node_errors.cc index f89b1472101c70..298d84b4f362b3 100644 --- a/src/node_errors.cc +++ b/src/node_errors.cc @@ -264,38 +264,82 @@ void AppendExceptionLine(Environment* env, Abort(); } -void ReportException(Environment* env, - Local er, - Local message) { - CHECK(!er.IsEmpty()); - HandleScope scope(env->isolate()); +enum class EnhanceFatalException { kEnhance, kDontEnhance }; + +/** + * Report the exception to the inspector, then print it to stderr. + * This should only be used when the Node.js instance is about to exit + * (i.e. this should be followed by a env->Exit() or an Abort()). + * + * Use enhance_stack = EnhanceFatalException::kDontEnhance + * when it's unsafe to call into JavaScript. + */ +static void ReportFatalException(Environment* env, + Local error, + Local message, + EnhanceFatalException enhance_stack) { + Isolate* isolate = env->isolate(); + CHECK(!error.IsEmpty()); + CHECK(!message.IsEmpty()); + HandleScope scope(isolate); - if (message.IsEmpty()) message = Exception::CreateMessage(env->isolate(), er); + AppendExceptionLine(env, error, message, FATAL_ERROR); - AppendExceptionLine(env, er, message, FATAL_ERROR); + auto report_to_inspector = [&]() { +#if HAVE_INSPECTOR + env->inspector_agent()->ReportUncaughtException(error, message); +#endif + }; - Local trace_value; Local arrow; - const bool decorated = IsExceptionDecorated(env, er); - - if (er->IsUndefined() || er->IsNull()) { - trace_value = Undefined(env->isolate()); + Local stack_trace; + bool decorated = IsExceptionDecorated(env, error); + + if (!error->IsObject()) { // We can only enhance actual errors. + report_to_inspector(); + stack_trace = Undefined(isolate); + // If error is not an object, AppendExceptionLine() has already print the + // source line and the arrow to stderr. + // TODO(joyeecheung): move that side effect out of AppendExceptionLine(). + // It is done just to preserve the source line as soon as possible. } else { - Local err_obj = er->ToObject(env->context()).ToLocalChecked(); + Local err_obj = error.As(); + + auto enhance_with = [&](Local enhancer) { + Local enhanced; + Local argv[] = {err_obj}; + if (!enhancer.IsEmpty() && + enhancer + ->Call(env->context(), Undefined(isolate), arraysize(argv), argv) + .ToLocal(&enhanced)) { + stack_trace = enhanced; + } + }; - if (!err_obj->Get(env->context(), env->stack_string()) - .ToLocal(&trace_value)) { - trace_value = Undefined(env->isolate()); + switch (enhance_stack) { + case EnhanceFatalException::kEnhance: { + enhance_with(env->enhance_fatal_stack_before_inspector()); + report_to_inspector(); + enhance_with(env->enhance_fatal_stack_after_inspector()); + break; + } + case EnhanceFatalException::kDontEnhance: { + report_to_inspector(); + break; + } + default: + UNREACHABLE(); } + arrow = err_obj->GetPrivate(env->context(), env->arrow_message_private_symbol()) .ToLocalChecked(); } - node::Utf8Value trace(env->isolate(), trace_value); + node::Utf8Value trace(env->isolate(), stack_trace); // range errors have a trace member set to undefined - if (trace.length() > 0 && !trace_value->IsUndefined()) { + if (trace.length() > 0 && !stack_trace->IsUndefined()) { if (arrow.IsEmpty() || !arrow->IsString() || decorated) { PrintErrorString("%s\n", *trace); } else { @@ -309,8 +353,8 @@ void ReportException(Environment* env, MaybeLocal message; MaybeLocal name; - if (er->IsObject()) { - Local err_obj = er.As(); + if (error->IsObject()) { + Local err_obj = error.As(); message = err_obj->Get(env->context(), env->message_string()); name = err_obj->Get(env->context(), env->name_string()); } @@ -318,7 +362,7 @@ void ReportException(Environment* env, if (message.IsEmpty() || message.ToLocalChecked()->IsUndefined() || name.IsEmpty() || name.ToLocalChecked()->IsUndefined()) { // Not an error object. Just print as-is. - String::Utf8Value message(env->isolate(), er); + String::Utf8Value message(env->isolate(), error); PrintErrorString("%s\n", *message ? *message : ""); @@ -337,10 +381,6 @@ void ReportException(Environment* env, } fflush(stderr); - -#if HAVE_INSPECTOR - env->inspector_agent()->FatalException(er, message); -#endif } void PrintErrorString(const char* format, ...) { @@ -406,7 +446,12 @@ namespace errors { TryCatchScope::~TryCatchScope() { if (HasCaught() && !HasTerminated() && mode_ == CatchMode::kFatal) { HandleScope scope(env_->isolate()); - ReportException(env_, Exception(), Message()); + Local exception = Exception(); + Local message = Message(); + if (message.IsEmpty()) + message = Exception::CreateMessage(env_->isolate(), exception); + ReportFatalException( + env_, exception, message, EnhanceFatalException::kDontEnhance); env_->Exit(7); } } @@ -771,6 +816,15 @@ void SetPrepareStackTraceCallback(const FunctionCallbackInfo& args) { env->set_prepare_stack_trace_callback(args[0].As()); } +static void SetEnhanceStackForFatalException( + const FunctionCallbackInfo& args) { + Environment* env = Environment::GetCurrent(args); + CHECK(args[0]->IsFunction()); + CHECK(args[1]->IsFunction()); + env->set_enhance_fatal_stack_before_inspector(args[0].As()); + env->set_enhance_fatal_stack_after_inspector(args[1].As()); +} + // Side effect-free stringification that will never throw exceptions. static void NoSideEffectsToString(const FunctionCallbackInfo& args) { Local context = args.GetIsolate()->GetCurrentContext(); @@ -785,7 +839,8 @@ static void TriggerUncaughtException(const FunctionCallbackInfo& args) { Local exception = args[0]; Local message = Exception::CreateMessage(isolate, exception); if (env != nullptr && env->abort_on_uncaught_exception()) { - ReportException(env, exception, message); + ReportFatalException( + env, exception, message, EnhanceFatalException::kEnhance); Abort(); } bool from_promise = args[1]->IsTrue(); @@ -799,6 +854,9 @@ void Initialize(Local target, Environment* env = Environment::GetCurrent(context); env->SetMethod( target, "setPrepareStackTraceCallback", SetPrepareStackTraceCallback); + env->SetMethod(target, + "setEnhanceStackForFatalException", + SetEnhanceStackForFatalException); env->SetMethodNoSideEffect( target, "noSideEffectsToString", NoSideEffectsToString); env->SetMethod(target, "triggerUncaughtException", TriggerUncaughtException); @@ -847,6 +905,8 @@ void TriggerUncaughtException(Isolate* isolate, CHECK(!error.IsEmpty()); HandleScope scope(isolate); + if (message.IsEmpty()) message = Exception::CreateMessage(isolate, error); + CHECK(isolate->InContext()); Local context = isolate->GetCurrentContext(); Environment* env = Environment::GetCurrent(context); @@ -873,7 +933,8 @@ void TriggerUncaughtException(Isolate* isolate, // during bootstrap, or if the user has patched it incorrectly, exit // the current Node.js instance. if (!fatal_exception_function->IsFunction()) { - ReportException(env, error, message); + ReportFatalException( + env, error, message, EnhanceFatalException::kDontEnhance); env->Exit(6); return; } @@ -914,7 +975,9 @@ void TriggerUncaughtException(Isolate* isolate, return; } - ReportException(env, error, message); + // Now we are certain that the exception is fatal. + ReportFatalException(env, error, message, EnhanceFatalException::kEnhance); + // If the global uncaught exception handler sets process.exitCode, // exit with that code. Otherwise, exit with 1. Local exit_code = env->exit_code_string(); From 96e8b988d4f0fd97cfb809d65b9d2c0f77c0b5fd Mon Sep 17 00:00:00 2001 From: cjihrig Date: Tue, 25 Jun 2019 08:22:02 -0400 Subject: [PATCH 114/144] doc: clean up isDead() example This commit removes extra whitespace and some awkward text containing typos from the cluster worker.isDead() code sample. PR-URL: https://github.com/nodejs/node/pull/28421 Reviewed-By: Ruben Bridgewater Reviewed-By: James M Snell Reviewed-By: Rich Trott Reviewed-By: Trivikram Kamat Reviewed-By: Luigi Pinca --- doc/api/cluster.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/doc/api/cluster.md b/doc/api/cluster.md index a3dc1239aa8b9f..83a541d6554b13 100644 --- a/doc/api/cluster.md +++ b/doc/api/cluster.md @@ -401,19 +401,14 @@ if (cluster.isMaster) { cluster.on('exit', (worker, code, signal) => { console.log('worker is dead:', worker.isDead()); }); - } else { - // Workers can share any TCP connection - // In this case it is an HTTP server + // Workers can share any TCP connection. In this case, it is an HTTP server. http.createServer((req, res) => { res.writeHead(200); res.end(`Current process\n ${process.pid}`); process.kill(process.pid); }).listen(8000); - - // Make http://localhost:8000 to ckeck isDead method. } - ``` ### worker.kill([signal='SIGTERM']) From 0d2d116446ef130b8513297017b835ca8224e8d2 Mon Sep 17 00:00:00 2001 From: Gus Caplan Date: Thu, 27 Jun 2019 10:36:43 -0500 Subject: [PATCH 115/144] doc: add links to 12.5.0 changelog notable changes PR-URL: https://github.com/nodejs/node/pull/28450 Reviewed-By: Yongsheng Zhang Reviewed-By: Ruben Bridgewater --- doc/changelogs/CHANGELOG_V12.md | 29 +++++++++++++++++------------ 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/doc/changelogs/CHANGELOG_V12.md b/doc/changelogs/CHANGELOG_V12.md index 6a6eb39e07489c..1cbbcab0b06c03 100644 --- a/doc/changelogs/CHANGELOG_V12.md +++ b/doc/changelogs/CHANGELOG_V12.md @@ -40,33 +40,38 @@ ### Notable changes * **build**: - * The startup time is reduced by enabling V8 snapshots by default #28181 + * The startup time is reduced by enabling V8 snapshots by default + [#28181](https://github.com/nodejs/node/pull/28181) * **deps**: - * Updated `V8` to 7.5.288.22 #27375 - * The [numeric separator](v8.dev/features/numeric-separators) feature is now + * Updated `V8` to 7.5.288.22 [#27375](https://github.com/nodejs/node/pull/27375) + * The [numeric separator](https://v8.dev/features/numeric-separators) feature is now enabled by default - * Updated `OpenSSL` to 1.1.1c #28211 + * Updated `OpenSSL` to 1.1.1c [#28211](https://github.com/nodejs/node/pull/28211) * **inspector**: * The `--inspect-publish-uid` flag was added to specify ways of the inspector - web socket url exposure #27741 + web socket url exposure [#27741](https://github.com/nodejs/node/pull/27741) * **n-api**: - * Accessors on napi_define_* are now ECMAScript-compliant #27851 + * Accessors on napi_define_* are now ECMAScript-compliant + [#27851](https://github.com/nodejs/node/pull/27851) * **report**: - * The cpu info got added to the report output #28188 + * The cpu info got added to the report output + [#28188](https://github.com/nodejs/node/pull/28188) * **src**: * Restore the original state of the stdio file descriptors on exit to prevent - leaving stdio in raw or non-blocking mode #24260 + leaving stdio in raw or non-blocking mode + [#24260](https://github.com/nodejs/node/pull/24260) * **tools,gyp**: - * Introduce MSVS 2019 #27375 + * Introduce MSVS 2019 [#27375](https://github.com/nodejs/node/pull/27375) * **util**: * **inspect**: * Array grouping became more compact and uses more columns than before - #28059 #28070 + [#28059](https://github.com/nodejs/node/pull/28059) + [#28070](https://github.com/nodejs/node/pull/28070) * Long strings will not be split at 80 characters anymore. Instead they will - be split on new lines #28055 + be split on new lines [#28055](https://github.com/nodejs/node/pull/28055) * **worker**: * `worker.terminate()` now returns a promise and using the callback is - deprecated #28021 + deprecated [#28021](https://github.com/nodejs/node/pull/28021) ### Commits From 3fea2e43c0209e278826d5cbfb743534a1967236 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Tue, 25 Jun 2019 13:18:36 -0400 Subject: [PATCH 116/144] doc: update readline asyncIterator docs This commit: - Removes an unnecessary stability index entry. These generally are not included for Stable entries. - Remove mention of experimental status that is not true anymore. - Remove use of "we" - Remove use of relative time phrasing. - Misc cleanup. PR-URL: https://github.com/nodejs/node/pull/28425 Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca --- doc/api/readline.md | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/doc/api/readline.md b/doc/api/readline.md index 1131438eb50a9b..1e1861c1ab6289 100644 --- a/doc/api/readline.md +++ b/doc/api/readline.md @@ -318,8 +318,6 @@ changes: description: Symbol.asyncIterator support is no longer experimental. --> -> Stability: 2 - Stable - * Returns: {AsyncIterator} Create an `AsyncIterator` object that iterates through each line in the input @@ -332,10 +330,8 @@ If the loop is terminated with `break`, `throw`, or `return`, [`rl.close()`][] will be called. In other words, iterating over a `readline.Interface` will always consume the input stream fully. -A caveat with using this experimental API is that the performance is -currently not on par with the traditional `'line'` event API, and thus it is -not recommended for performance-sensitive applications. We expect this -situation to improve in the future. +Performance is not on par with the traditional `'line'` event API. Use `'line'` +instead for performance-sensitive applications. ```js async function processLineByLine() { From 14f6cee694fbed894c1f80b801db5797a273815d Mon Sep 17 00:00:00 2001 From: cjihrig Date: Thu, 27 Jun 2019 13:49:58 -0400 Subject: [PATCH 117/144] doc: reformat for-await-of Instead of `for`-`await`-`of`, prefer `for await...of`. PR-URL: https://github.com/nodejs/node/pull/28425 Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca --- doc/api/readline.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/api/readline.md b/doc/api/readline.md index 1e1861c1ab6289..8f372a8473e06d 100644 --- a/doc/api/readline.md +++ b/doc/api/readline.md @@ -322,7 +322,7 @@ changes: Create an `AsyncIterator` object that iterates through each line in the input stream as a string. This method allows asynchronous iteration of -`readline.Interface` objects through `for`-`await`-`of` loops. +`readline.Interface` objects through `for await...of` loops. Errors in the input stream are not forwarded. @@ -556,7 +556,7 @@ rl.on('line', (line) => { A common use case for `readline` is to consume an input file one line at a time. The easiest way to do so is leveraging the [`fs.ReadStream`][] API as -well as a `for`-`await`-`of` loop: +well as a `for await...of` loop: ```js const fs = require('fs'); @@ -597,7 +597,7 @@ rl.on('line', (line) => { }); ``` -Currently, `for`-`await`-`of` loop can be a bit slower. If `async` / `await` +Currently, `for await...of` loop can be a bit slower. If `async` / `await` flow and speed are both essential, a mixed approach can be applied: ```js From 79b1bf5a09ee18a9dda6e05f23e3920609bc8cab Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Tue, 25 Jun 2019 16:25:48 +0200 Subject: [PATCH 118/144] test: use assert() in N-API async test The `Execute()` callback is not allowed to call into JS, so we should use `assert()` instead of potentially throwing JS errors. PR-URL: https://github.com/nodejs/node/pull/28423 Fixes: https://github.com/nodejs/help/issues/1998 Reviewed-By: Gireesh Punathil Reviewed-By: Yongsheng Zhang Reviewed-By: Colin Ihrig Reviewed-By: Gabriel Schulhof Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca Reviewed-By: Michael Dawson --- test/node-api/test_async/test_async.cc | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/test/node-api/test_async/test_async.cc b/test/node-api/test_async/test_async.cc index 49db7aa66f190b..ff3d2749a9d184 100644 --- a/test/node-api/test_async/test_async.cc +++ b/test/node-api/test_async/test_async.cc @@ -1,3 +1,4 @@ +#include #include #include #include "../../js-native-api/common.h" @@ -29,10 +30,7 @@ void Execute(napi_env env, void* data) { #endif carrier* c = static_cast(data); - if (c != &the_carrier) { - napi_throw_type_error(env, nullptr, "Wrong data parameter to Execute."); - return; - } + assert(c == &the_carrier); c->_output = c->_input * 2; } From 60cf9111cb95bdff65474ca8dc1c3f23dd8cf5e1 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Tue, 25 Jun 2019 07:37:35 +0200 Subject: [PATCH 119/144] tools: fix typo in js2c.py MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/28417 Reviewed-By: Richard Lau Reviewed-By: Jiawen Geng Reviewed-By: Michaël Zasso Reviewed-By: Colin Ihrig Reviewed-By: Ruben Bridgewater Reviewed-By: James M Snell Reviewed-By: Trivikram Kamat Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca --- tools/js2c.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/js2c.py b/tools/js2c.py index c3ac53f14b7391..0189dd76291916 100755 --- a/tools/js2c.py +++ b/tools/js2c.py @@ -29,7 +29,7 @@ """ This is a utility for converting JavaScript source code into uint16_t[], -that are used for embeding JavaScript code into the Node.js binary. +that are used for embedding JavaScript code into the Node.js binary. """ import argparse import os From 3d014e1bf994a432166de883b5baab203e10d20f Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Tue, 25 Jun 2019 09:00:24 +0200 Subject: [PATCH 120/144] tools: remove out-of-date code-cache-path comment This commit removes the comment in cache_builder.cc regarding the usage of --code-cache-path with configure. Commit 14df42fd008ef8e95d60d0d70084943d180bab91 ("build: run `mkcodecache` as an action") deprecated this option and it is always set to yes (unless cross compiling). PR-URL: https://github.com/nodejs/node/pull/28419 Reviewed-By: Ruben Bridgewater Reviewed-By: James M Snell Reviewed-By: Trivikram Kamat Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca Reviewed-By: Joyee Cheung --- tools/code_cache/cache_builder.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tools/code_cache/cache_builder.cc b/tools/code_cache/cache_builder.cc index 49bd004298de63..2e7d35d6d7fc7c 100644 --- a/tools/code_cache/cache_builder.cc +++ b/tools/code_cache/cache_builder.cc @@ -73,8 +73,7 @@ static std::string GenerateCodeCache( ss << R"(#include #include "node_native_module_env.h" -// This file is generated by tools/mkcodecache -// and is used when configure is run with \`--code-cache-path\` +// This file is generated by mkcodecache (tools/code_cache/mkcodecache.cc) namespace node { namespace native_module { From 21d2bdd3ce78081ce7db80a59d9371533815bc76 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Tue, 25 Jun 2019 15:25:44 +0200 Subject: [PATCH 121/144] tools: remove unused using declarations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PR-URL: https://github.com/nodejs/node/pull/28422 Reviewed-By: Anna Henningsen Reviewed-By: Michaël Zasso Reviewed-By: Yongsheng Zhang Reviewed-By: Colin Ihrig Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca --- tools/snapshot/snapshot_builder.cc | 2 -- 1 file changed, 2 deletions(-) diff --git a/tools/snapshot/snapshot_builder.cc b/tools/snapshot/snapshot_builder.cc index 0fd2c49d2845a8..8cf4cad8d0bdf0 100644 --- a/tools/snapshot/snapshot_builder.cc +++ b/tools/snapshot/snapshot_builder.cc @@ -10,8 +10,6 @@ namespace node { using v8::Context; using v8::HandleScope; using v8::Isolate; -using v8::Local; -using v8::Locker; using v8::SnapshotCreator; using v8::StartupData; From dce49473350dfd6225fd2fcf97a7d942f0bd0b22 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Wed, 19 Jun 2019 19:30:30 -0700 Subject: [PATCH 122/144] test: do not use fixed port in async-hooks/test-httparser-reuse Otherwise this was failing on machines which already had a service running on port 3000. PR-URL: https://github.com/nodejs/node/pull/28312 Reviewed-By: Richard Lau Reviewed-By: Colin Ihrig Reviewed-By: Rich Trott Reviewed-By: James M Snell --- test/async-hooks/test-httparser-reuse.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/test/async-hooks/test-httparser-reuse.js b/test/async-hooks/test-httparser-reuse.js index 06441562e05aa8..70248970df364c 100644 --- a/test/async-hooks/test-httparser-reuse.js +++ b/test/async-hooks/test-httparser-reuse.js @@ -47,10 +47,9 @@ const server = http.createServer((req, res) => { res.end(); }); -const PORT = 3000; -const url = `http://127.0.0.1:${PORT}`; - -server.listen(PORT, common.mustCall(() => { +server.listen(0, common.mustCall(() => { + const PORT = server.address().port; + const url = `http://127.0.0.1:${PORT}`; http.get(url, common.mustCall(() => { server.close(common.mustCall(() => { server.listen(PORT, common.mustCall(() => { From d8d4f9b56955c0c61abb898ac562037741438c81 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Wed, 26 Jun 2019 10:15:52 -0400 Subject: [PATCH 123/144] http2: propagate session destroy code to streams Currently, when an HTTP2 session is destroyed with a code, that code is not propagated to the destroy() call of the session's streams. This commit forwards any code used to destroy a session to its corresponding streams. PR-URL: https://github.com/nodejs/node/pull/28435 Reviewed-By: Rich Trott Reviewed-By: Matteo Collina Reviewed-By: James M Snell Reviewed-By: Trivikram Kamat --- lib/internal/http2/core.js | 9 +++- ...st-http2-propagate-session-destroy-code.js | 54 +++++++++++++++++++ 2 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 test/parallel/test-http2-propagate-session-destroy-code.js diff --git a/lib/internal/http2/core.js b/lib/internal/http2/core.js index bfc4c95273277f..e3c4d2bc7b6e24 100644 --- a/lib/internal/http2/core.js +++ b/lib/internal/http2/core.js @@ -946,6 +946,7 @@ class Http2Session extends EventEmitter { socket[kSession] = this; this[kState] = { + destroyCode: NGHTTP2_NO_ERROR, flags: SESSION_FLAGS_PENDING, goawayCode: null, goawayLastStreamID: null, @@ -1210,6 +1211,7 @@ class Http2Session extends EventEmitter { const state = this[kState]; state.flags |= SESSION_FLAGS_DESTROYED; + state.destroyCode = code; // Clear timeout and remove timeout listeners this.setTimeout(0); @@ -1941,10 +1943,13 @@ class Http2Stream extends Duplex { debug(`Http2Stream ${this[kID] || ''} [Http2Session ` + `${sessionName(session[kType])}]: destroying stream`); + const state = this[kState]; + const sessionCode = session[kState].goawayCode || + session[kState].destroyCode; const code = err != null ? - NGHTTP2_INTERNAL_ERROR : (state.rstCode || NGHTTP2_NO_ERROR); - + sessionCode || NGHTTP2_INTERNAL_ERROR : + state.rstCode || sessionCode; const hasHandle = handle !== undefined; if (!this.closed) diff --git a/test/parallel/test-http2-propagate-session-destroy-code.js b/test/parallel/test-http2-propagate-session-destroy-code.js new file mode 100644 index 00000000000000..a23bcfd07c32f9 --- /dev/null +++ b/test/parallel/test-http2-propagate-session-destroy-code.js @@ -0,0 +1,54 @@ +'use strict'; +const common = require('../common'); + +if (!common.hasCrypto) + common.skip('missing crypto'); + +const assert = require('assert'); +const http2 = require('http2'); +const server = http2.createServer(); +const errRegEx = /Session closed with error code 7/; +const destroyCode = http2.constants.NGHTTP2_REFUSED_STREAM; + +server.on('error', common.mustNotCall()); + +server.on('session', (session) => { + session.on('close', common.mustCall()); + session.on('error', common.mustCall((err) => { + assert(errRegEx.test(err)); + assert.strictEqual(session.closed, false); + assert.strictEqual(session.destroyed, true); + })); + + session.on('stream', common.mustCall((stream) => { + stream.on('error', common.mustCall((err) => { + assert.strictEqual(session.closed, false); + assert.strictEqual(session.destroyed, true); + assert(errRegEx.test(err)); + assert.strictEqual(stream.rstCode, destroyCode); + })); + + session.destroy(destroyCode); + })); +}); + +server.listen(0, common.mustCall(() => { + const session = http2.connect(`http://localhost:${server.address().port}`); + + session.on('error', common.mustCall((err) => { + assert(errRegEx.test(err)); + assert.strictEqual(session.closed, false); + assert.strictEqual(session.destroyed, true); + })); + + const stream = session.request({ [http2.constants.HTTP2_HEADER_PATH]: '/' }); + + stream.on('error', common.mustCall((err) => { + assert(errRegEx.test(err)); + assert.strictEqual(stream.rstCode, destroyCode); + })); + + stream.on('close', common.mustCall(() => { + server.close(); + })); +})); From 82b80e0a614c770cedcc2e93fa755e3523a1b82a Mon Sep 17 00:00:00 2001 From: Sam Roberts Date: Fri, 28 Jun 2019 14:29:58 -0700 Subject: [PATCH 124/144] test: reset validity dates of expired certs PR-URL: https://github.com/nodejs/node/pull/28473 Reviewed-By: Rich Trott Reviewed-By: Colin Ihrig --- test/fixtures/keys/Makefile | 4 +-- test/fixtures/keys/rsa_ca.crt | 38 +++++++++++----------- test/fixtures/keys/rsa_cert.cnf | 3 +- test/fixtures/keys/rsa_cert.crt | 38 +++++++++++----------- test/fixtures/keys/rsa_cert.pfx | Bin 2629 -> 2629 bytes test/fixtures/keys/rsa_cert_foafssl_b.crt | 38 +++++++++++----------- 6 files changed, 60 insertions(+), 61 deletions(-) diff --git a/test/fixtures/keys/Makefile b/test/fixtures/keys/Makefile index d953e83c2d6faa..226dc67346ef74 100644 --- a/test/fixtures/keys/Makefile +++ b/test/fixtures/keys/Makefile @@ -628,7 +628,7 @@ rsa_public.pem: rsa_private.pem openssl rsa -in rsa_private.pem -pubout -out rsa_public.pem rsa_cert.crt: rsa_private.pem - openssl req -new -x509 -key rsa_private.pem -config rsa_cert.cnf -out rsa_cert.crt + openssl req -new -x509 -days 99999 -key rsa_private.pem -config rsa_cert.cnf -out rsa_cert.crt rsa_cert.pfx: rsa_cert.crt openssl pkcs12 -export -passout 'pass:sample' -inkey rsa_private.pem -in rsa_cert.crt -out rsa_cert.pfx @@ -655,7 +655,7 @@ rsa_public_b.pem: rsa_private_b.pem # It requires a SAN like 'http://example.com/#me'. More info here: # https://www.w3.org/wiki/Foaf+ssl rsa_cert_foafssl_b.crt: rsa_private_b.pem - openssl req -new -x509 -config rsa_cert_foafssl_b.cnf -key rsa_private_b.pem -out rsa_cert_foafssl_b.crt + openssl req -new -x509 -days 99999 -config rsa_cert_foafssl_b.cnf -key rsa_private_b.pem -out rsa_cert_foafssl_b.crt # The 'modulus=' in the output must be stripped out rsa_cert_foafssl_b.modulus: rsa_cert_foafssl_b.crt diff --git a/test/fixtures/keys/rsa_ca.crt b/test/fixtures/keys/rsa_ca.crt index ef94a341846101..21878a39b277df 100644 --- a/test/fixtures/keys/rsa_ca.crt +++ b/test/fixtures/keys/rsa_ca.crt @@ -1,24 +1,24 @@ -----BEGIN CERTIFICATE----- -MIIEADCCAuigAwIBAgIUOLbA0Gyeqh/vqRSR98jmSKzv3aswDQYJKoZIhvcNAQEL +MIIEAjCCAuqgAwIBAgIUf4Z4DKj5kJW60NE+9PaucYFlft8wDQYJKoZIhvcNAQEL BQAwgbAxCzAJBgNVBAYTAlVLMRQwEgYDVQQIDAtBY2tuYWNrIEx0ZDETMBEGA1UE BwwKUmh5cyBKb25lczEQMA4GA1UECgwHbm9kZS5qczEdMBsGA1UECwwUVGVzdCBU TFMgQ2VydGlmaWNhdGUxFDASBgNVBAsMC0VuZ2luZWVyaW5nMRIwEAYDVQQDDAls -b2NhbGhvc3QxGzAZBgkqhkiG9w0BCQEWDGFsZXhAYXViLmRldjAeFw0xOTA1Mjky -MDI5NTBaFw0xOTA2MjgyMDI5NTBaMIGwMQswCQYDVQQGEwJVSzEUMBIGA1UECAwL -QWNrbmFjayBMdGQxEzARBgNVBAcMClJoeXMgSm9uZXMxEDAOBgNVBAoMB25vZGUu -anMxHTAbBgNVBAsMFFRlc3QgVExTIENlcnRpZmljYXRlMRQwEgYDVQQLDAtFbmdp -bmVlcmluZzESMBAGA1UEAwwJbG9jYWxob3N0MRswGQYJKoZIhvcNAQkBFgxhbGV4 -QGF1Yi5kZXYwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC33FiIiiex -wLe/P8DZx5HsqFlmUO7/lvJ7necJVNwqdZ3ax5jpQB0p6uxfqeOvzcN3k5V7UFb/ -Am+nkSNZMAZhsWzCU2Z4Pjh50QYz3f0Hour7/yIGStOLyYY3hgLK2K8TbhgjQPhd -kw9+QtKlpvbL8fLgONAoGrVOFnRQGcr70iFffsm79mgZhKVMgYiHPJqJgGHvCtkG -g9zMgS7p63+Q3ZWedtFS2RhMX3uCBy/mH6EOlRCNBbRmA4xxNzyf5GQaki3T+Iz9 -tOMjdPP+CwV2LqEdylmBuik8vrfTb3qIHLKKBAI8lXN26wWtA3kN4L7NP+cbKlCR -lqctvhmylLH1AgMBAAGjEDAOMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQAD -ggEBAFeDkFYcL1pcVA3q1LNWmpDi9MQAOajSyk3bNj0+ckyuOlqaXH2gVAdQh+XB -LOFDXNwAAqMe7FEoyvIaQSFcatRhQnKFxQ9i0o1T8+6Aebjj5oo8lY5CGyOacQV8 -C6LMl4gd/duIoaWkjykiGjTH8SR6VXYhPTm03wQSMMX664E/8onsw6cLuz4COB9q -dhWhkBXiVj3fF9kLOYMiBWc7Mb2Glfs3NLpu7TTltOwNNMWNfzE9XByR7Tg4WtIu -8x45ibQKqUhHCh/jpWns2g/YZXXBrcvYREgakkvJZLV2Z+xeoV5oY071554BfMms -YxLnHtl1YKNg++DSmxeUNK+NLZA= +b2NhbGhvc3QxGzAZBgkqhkiG9w0BCQEWDGFsZXhAYXViLmRldjAgFw0xOTA2Mjgy +MTM2NDhaGA8yMjkzMDQxMTIxMzY0OFowgbAxCzAJBgNVBAYTAlVLMRQwEgYDVQQI +DAtBY2tuYWNrIEx0ZDETMBEGA1UEBwwKUmh5cyBKb25lczEQMA4GA1UECgwHbm9k +ZS5qczEdMBsGA1UECwwUVGVzdCBUTFMgQ2VydGlmaWNhdGUxFDASBgNVBAsMC0Vu +Z2luZWVyaW5nMRIwEAYDVQQDDAlsb2NhbGhvc3QxGzAZBgkqhkiG9w0BCQEWDGFs +ZXhAYXViLmRldjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALfcWIiK +J7HAt78/wNnHkeyoWWZQ7v+W8nud5wlU3Cp1ndrHmOlAHSnq7F+p46/Nw3eTlXtQ +Vv8Cb6eRI1kwBmGxbMJTZng+OHnRBjPd/Qei6vv/IgZK04vJhjeGAsrYrxNuGCNA ++F2TD35C0qWm9svx8uA40CgatU4WdFAZyvvSIV9+ybv2aBmEpUyBiIc8momAYe8K +2QaD3MyBLunrf5DdlZ520VLZGExfe4IHL+YfoQ6VEI0FtGYDjHE3PJ/kZBqSLdP4 +jP204yN08/4LBXYuoR3KWYG6KTy+t9NveogcsooEAjyVc3brBa0DeQ3gvs0/5xsq +UJGWpy2+GbKUsfUCAwEAAaMQMA4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsF +AAOCAQEAD2FBwUO9iV4VBrpTdUEd0Y39ajJsdbbnNkJ/N1ZbJgdymCLfVpzCqB+s +qRjpq9JqGtcxwzPG7GGu+OIXCGMfeMzFkk2cjLeZic5uKcynFgru4bzrhGdb26Wq +s8rQeXFOO6aRdpTVvIO+Vq5goRTXJhbtEzA9efmYWIOXcL5WDYhwApOc8rwfz9fm +q8VZCW+KK23EU3gfyOcO14E0Al/K6lewX15K1Hh4P8cSnFtjtCqRRWmQi9JfdasS +A0YJd8rN47dplRylTtXu5VFKL+XXa/jmlzsgtxBHX14onpVKqfGCvCLqj+AeZA3Y +iX4iQjxnLr5DRtykOz+bKEYgX8AV8g== -----END CERTIFICATE----- diff --git a/test/fixtures/keys/rsa_cert.cnf b/test/fixtures/keys/rsa_cert.cnf index 5d30534012e40f..83137f21c10ff5 100644 --- a/test/fixtures/keys/rsa_cert.cnf +++ b/test/fixtures/keys/rsa_cert.cnf @@ -1,5 +1,4 @@ [ req ] -days = 99999 distinguished_name = req_distinguished_name attributes = req_attributes prompt = no @@ -20,4 +19,4 @@ emailAddress = alex@aub.dev [ v3_ca ] basicConstraints = CA:TRUE -[ x509_extensions ] \ No newline at end of file +[ x509_extensions ] diff --git a/test/fixtures/keys/rsa_cert.crt b/test/fixtures/keys/rsa_cert.crt index ef94a341846101..21878a39b277df 100644 --- a/test/fixtures/keys/rsa_cert.crt +++ b/test/fixtures/keys/rsa_cert.crt @@ -1,24 +1,24 @@ -----BEGIN CERTIFICATE----- -MIIEADCCAuigAwIBAgIUOLbA0Gyeqh/vqRSR98jmSKzv3aswDQYJKoZIhvcNAQEL +MIIEAjCCAuqgAwIBAgIUf4Z4DKj5kJW60NE+9PaucYFlft8wDQYJKoZIhvcNAQEL BQAwgbAxCzAJBgNVBAYTAlVLMRQwEgYDVQQIDAtBY2tuYWNrIEx0ZDETMBEGA1UE BwwKUmh5cyBKb25lczEQMA4GA1UECgwHbm9kZS5qczEdMBsGA1UECwwUVGVzdCBU TFMgQ2VydGlmaWNhdGUxFDASBgNVBAsMC0VuZ2luZWVyaW5nMRIwEAYDVQQDDAls -b2NhbGhvc3QxGzAZBgkqhkiG9w0BCQEWDGFsZXhAYXViLmRldjAeFw0xOTA1Mjky -MDI5NTBaFw0xOTA2MjgyMDI5NTBaMIGwMQswCQYDVQQGEwJVSzEUMBIGA1UECAwL -QWNrbmFjayBMdGQxEzARBgNVBAcMClJoeXMgSm9uZXMxEDAOBgNVBAoMB25vZGUu -anMxHTAbBgNVBAsMFFRlc3QgVExTIENlcnRpZmljYXRlMRQwEgYDVQQLDAtFbmdp -bmVlcmluZzESMBAGA1UEAwwJbG9jYWxob3N0MRswGQYJKoZIhvcNAQkBFgxhbGV4 -QGF1Yi5kZXYwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC33FiIiiex -wLe/P8DZx5HsqFlmUO7/lvJ7necJVNwqdZ3ax5jpQB0p6uxfqeOvzcN3k5V7UFb/ -Am+nkSNZMAZhsWzCU2Z4Pjh50QYz3f0Hour7/yIGStOLyYY3hgLK2K8TbhgjQPhd -kw9+QtKlpvbL8fLgONAoGrVOFnRQGcr70iFffsm79mgZhKVMgYiHPJqJgGHvCtkG -g9zMgS7p63+Q3ZWedtFS2RhMX3uCBy/mH6EOlRCNBbRmA4xxNzyf5GQaki3T+Iz9 -tOMjdPP+CwV2LqEdylmBuik8vrfTb3qIHLKKBAI8lXN26wWtA3kN4L7NP+cbKlCR -lqctvhmylLH1AgMBAAGjEDAOMAwGA1UdEwQFMAMBAf8wDQYJKoZIhvcNAQELBQAD -ggEBAFeDkFYcL1pcVA3q1LNWmpDi9MQAOajSyk3bNj0+ckyuOlqaXH2gVAdQh+XB -LOFDXNwAAqMe7FEoyvIaQSFcatRhQnKFxQ9i0o1T8+6Aebjj5oo8lY5CGyOacQV8 -C6LMl4gd/duIoaWkjykiGjTH8SR6VXYhPTm03wQSMMX664E/8onsw6cLuz4COB9q -dhWhkBXiVj3fF9kLOYMiBWc7Mb2Glfs3NLpu7TTltOwNNMWNfzE9XByR7Tg4WtIu -8x45ibQKqUhHCh/jpWns2g/YZXXBrcvYREgakkvJZLV2Z+xeoV5oY071554BfMms -YxLnHtl1YKNg++DSmxeUNK+NLZA= +b2NhbGhvc3QxGzAZBgkqhkiG9w0BCQEWDGFsZXhAYXViLmRldjAgFw0xOTA2Mjgy +MTM2NDhaGA8yMjkzMDQxMTIxMzY0OFowgbAxCzAJBgNVBAYTAlVLMRQwEgYDVQQI +DAtBY2tuYWNrIEx0ZDETMBEGA1UEBwwKUmh5cyBKb25lczEQMA4GA1UECgwHbm9k +ZS5qczEdMBsGA1UECwwUVGVzdCBUTFMgQ2VydGlmaWNhdGUxFDASBgNVBAsMC0Vu +Z2luZWVyaW5nMRIwEAYDVQQDDAlsb2NhbGhvc3QxGzAZBgkqhkiG9w0BCQEWDGFs +ZXhAYXViLmRldjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALfcWIiK +J7HAt78/wNnHkeyoWWZQ7v+W8nud5wlU3Cp1ndrHmOlAHSnq7F+p46/Nw3eTlXtQ +Vv8Cb6eRI1kwBmGxbMJTZng+OHnRBjPd/Qei6vv/IgZK04vJhjeGAsrYrxNuGCNA ++F2TD35C0qWm9svx8uA40CgatU4WdFAZyvvSIV9+ybv2aBmEpUyBiIc8momAYe8K +2QaD3MyBLunrf5DdlZ520VLZGExfe4IHL+YfoQ6VEI0FtGYDjHE3PJ/kZBqSLdP4 +jP204yN08/4LBXYuoR3KWYG6KTy+t9NveogcsooEAjyVc3brBa0DeQ3gvs0/5xsq +UJGWpy2+GbKUsfUCAwEAAaMQMA4wDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsF +AAOCAQEAD2FBwUO9iV4VBrpTdUEd0Y39ajJsdbbnNkJ/N1ZbJgdymCLfVpzCqB+s +qRjpq9JqGtcxwzPG7GGu+OIXCGMfeMzFkk2cjLeZic5uKcynFgru4bzrhGdb26Wq +s8rQeXFOO6aRdpTVvIO+Vq5goRTXJhbtEzA9efmYWIOXcL5WDYhwApOc8rwfz9fm +q8VZCW+KK23EU3gfyOcO14E0Al/K6lewX15K1Hh4P8cSnFtjtCqRRWmQi9JfdasS +A0YJd8rN47dplRylTtXu5VFKL+XXa/jmlzsgtxBHX14onpVKqfGCvCLqj+AeZA3Y +iX4iQjxnLr5DRtykOz+bKEYgX8AV8g== -----END CERTIFICATE----- diff --git a/test/fixtures/keys/rsa_cert.pfx b/test/fixtures/keys/rsa_cert.pfx index 627f27bc7fe14d260d11d1e68d3be27369e9fa8e..66cbb14842d7f52ef27cfe140604df3146b8e2cf 100644 GIT binary patch delta 2503 zcmV;&2{`t}6vY&fU4JSVC>!SFFLMF{2mpYB1Yp}2J+wbuI4PA5*MDq~=F`UxEHr^{ zynVchHM(aCy{KHq$-N({w_lndgb>`s$c^ESE@GA@A5MhO0dz~U`9`eaSQ4+1FsiCT zoH2xam@9?6M#~BWEoY|QyZy{^;^~&dqWJoLfpvwVLHLCs&VL?1rKK%yxI4*wm`}pa zef$>atWuoQi(+VK6zs+h4^0O7V1+(*1&ovzA?xj`xQ7zWET7N-&_z>C((OejEI=@C zgHw?AR8O!#Bbh3^Lt-XG2VnCcg;5GtPugzSrIQ zEKXypf)Ohu>JDR~4d4dgYvMIL6d?>W!{G5PI1K2#nUM7ZBwirl2}uVuUc=(+S3b1Q zl79*|>9=d-!MC^TwTT>BG*^EZo1TQ$Y3F2eBkIn2*MACX3Vz3h5h+6nQZ0DI1B-|^ z(&n#%6x%70~{pYEedY1Y>+eOCX zc^813{`Fgli>_x5%WhQGxDxgO%;JtfgyEEJm0B->AZw`7e23dt?|4#+`Z+U@>)b=* zd#7$2S${%Ri`%#{0&P6F?!KgTRM^Y)PL(wR9kZ4Lnz45sVvq?tKg3&b#fVboP)g}W z-%9l@f&S486T)Ib2tlvj|KgO_BY~1V;~?s7(a{+Ux3}(|=MaDu9)-!Kj0r4vh&(ns zr3b5pS1dd!LIFrNuKLT|_k!eXNqoY=N{%Anaeqf}7rYJR8;6lKtj7eY2VIK_&ZdTO zYZ3WpX&fi@ONIL)x+2R#bPB9)*+9d>Agg?R)PaL)ds@_Q552`nfc2;~8|Y!=e~Ywv z@^ub^bD<4-p)=S^Qu0c#N4HWU1rnyn5=Q?!QS&j(-X|hrc#X`V)FSGm95HAaP}bPD zZhtw`0gx-`MfrVF>xCuf3H1|=^}YBCJsalsN)l@RPsQVqNWe?{D@Z5yVH;D%quNaV zs0`6wq&YMKR2q1S?xnw;>vIXWE#k6>9=0zFTTu4!N2D?Vk3fu+J3=?nZqvpc<`L&d zXREA=fB?_EBM-(Zlvw`y%LnviY;aD;M1L29=;$#P-+Z5zV?u6Z|4jpvPubHbU6$Wq z^vK#F1|9EUQOXVzOf0)hOT13xhrpcg-*<^!r7C*gE=Jix^GnArhh`FK<^ROsi1R3; zI_+Dq+H=9__inC?AedbGYH9x*fyFOw>abB7FP8$rl zO!ss{bvlxZh0AO7%9T=?wCq;IU8U z5J$*|OVO#aaJT;cr0CgYqjNWL+zOOEQBy8_EO6`$aSmrCUIQY_?1HuyHeH&lY6N9^ zGCT@VhNHq!hTuVotDmlEice?}0usS)dA&=bQgeDBrCUrPbmq}6f|KFKo91pA zhdlIJ4MOasNBf}*6|#(f2aQ2vM~-xPo+=NnedQ*QK>-q^F@NvN!bV0hNt;fCaS^^G z7~g%2ncfLEEbX)B`gb!dVh})m_GJLr1(GXtxWUd^|Ii+HDvd>xJ!G%#k7Dlvv$6Wb z?qRJGY0gGf8lmNShA&=;B~K(;0W)`^L3*-ti>d0#xUl!~NN!9p4`VcZucgM&mi_df zhRui?T+%FK(tqL5g>Jyj`sHa33Iv{7fEYtjKfIFrJlfjBv-MmAK%>Vh9WnZe@AxVt z%uZ#x6ZZ1Zl|9nd&qy1Zje%S4*wL{^htb4zO(;bJ$pInN89RjC1}vas`hl3RDv$O( zER2u?$rNVu3-Q8M8{UQ^Qu+3Oj}|V0eB%rw>`eH<^?zm!sKc+w?z2N#EwBVgPJdb< zoQe`oGesRu1%hj!dwYu9Gcc|;XwP&|oOFLW^>w516a!`i-#>KTMOU*7L47$L&U*aw z52aAsQI;gXDLc4eLfqN^>kGzbw3)$_vHVXlB`_lf2`Yw2hW8Bt2^BFG1QZ}m&Fw>v zgC%oWI6PIIAU_fz)f}KOF)$%82?hl#4g&%j1povTs=#pG_tlD(J6sp%8&C=yW4YGbX&2Zi|!+m237a^lbg!YIRi7!TO9e_ep2xPLup?`Z70p;j7-{1SB3 zMo*;cR62lq(R{Fj|KYlRVjllg?UAYGMO(Rze!;_`1kzuJbzJjCW^DVdo~Q!>a6-f5AznG=I6Tb=0h(oqzT}Sig@6_W~Q@UHEk@Y zrBp-1_ray-llfwbgz5)zydxaj)xz9UUZ*@6bTJ#j)lb0d_r*BGT- ziXLHfmp&EZx;$Q1!1d8QCm}?M+J9|F50$}ORd>l$gn#@YyK0`?{jc-`*k7zm0#fCBjSlmLmTGeXQc3jw%WwBbVevq8p0XF)+~u_ zp-gW=DFsmczqCy+`z7<$(Sa)00^!6^e?~VNnyy^ryo3dos%% z(t4XekQvU*pBlWLXV#wcnfl#rsK~+hhst zQf0RHvJqd^8SI>IXs{|v(5#wb-J2xU>3Eo&=OHHpBEn+i(MeDHOI-rRT32P+vPctdfD+2Cak`u4EVQM{BjyZH2Ed9)$626gQs&U;8yf4T7!t-%M;NJFyo?<^O?8 zpMqcm_}r8z{BFC7Zo|>xQA=Mp(|~oB_(=^71@!y0a9psbT8*;Duli+N?pfx1)~#f) zhM+&_xvO?CCTc{RbH*@&1wjT0DwEU%KYxJgf?h{c+$#bC2ml0v1jv8;48=F|k*g^1 z_}_4ncfGYE=H+-VG_?-@UII`K==>3~KUJQ7G83xE|1s zmVG?-)_`z?7P2e!Fu;<)Fi!V0_;?h`^AKl^@B!r+`-_p^+07I8tn2jsY`zRE9e+nT zi+7ylFPFVB6&jdH4l7Fc>v15{-~0?1=`pulR=#vy_3n@(R`&af| z2Xq|0MIP^Ku43(9`{ty+8h?Y&{4ucCSJ8rLx_uJ zac(HGIJ?!x_jKz)g2qr61W|>ZNv9T!99jSts7p^E`kDRG$30Nu-4okW)q-Jgu zc8GYps5mUFD9a!ZD7!wrGeXBjE@C@mcR;W7x|g4U?>X@l8u1pl{eO$lUhK342P|er z&2&nc-GWlG%nzzZE}@0fUv!|+_t-cEhoiJq*tgbe>;3u61GrFnc=bGZhy3x)Rs@UK zIHY(w;Jv7j=pLdDtp7!vMztfGx_x)aarEdAZ{^HZ;I;@CMMT4eB(utA6HYaDp?UUF z#B4}E&&aaJHSuuV6@Q`EoDeQl>iJT;o$5<;Pe^PJi-04t=^5DUPa+AFyOOMyR0^f} zqWU9L9caIzCoOvvn7by%BP{sT0KG!>oE5(R#5^Uh|Q|Lhr75aT+0bcm@BuniD4C3DcK!0GLoN4cr!jJ4}Ek~;1 zCVMd@41dEIDfe#d;P*A9!?;+!kaR$SPN7ek*wn5csuARGsp@eR?SKCY%-VcnGy|c$ zi@8U{dNnzoW_#*2=I+$JR-R;_xS&dT;&dokM=Ia4)tx!OzNRIN3>YZ{Oq=5nbRX-M=dVlPtjYtZ`4v^i0R1iIHiNMM1-KXt@5N=qT?vSH!%fsHyzO?xaO7 zdLHVQp|k3PH~H`a(a6V6fm}f3QZCk)s3jqlzY9uUJ%7;T(GjqQ@aiv?s+6j=Y4Go9 zQcbDvf>xG095EkH&2F$wYQwFIka@;*JUFOtAe~FGxW1Kj&irKlAk6_+E3!N}n({2U za{H;R+HDbMKyalO#={0AG2{NfogVq}23u?~B`_lf2`Yw2hW8Bt2^BFG1Qe0b*@^we zxLA{ki98kA3G!C)zzyUuF)$%82?hl#4g&%j1povTy40PCa&?+EgfzQ3aa}OS-AG*i R1PFqyukz9@nxp~(2mtNL-kksd diff --git a/test/fixtures/keys/rsa_cert_foafssl_b.crt b/test/fixtures/keys/rsa_cert_foafssl_b.crt index fa4db56c1f2b92..475e35dad6d01a 100644 --- a/test/fixtures/keys/rsa_cert_foafssl_b.crt +++ b/test/fixtures/keys/rsa_cert_foafssl_b.crt @@ -1,24 +1,24 @@ -----BEGIN CERTIFICATE----- -MIIEEDCCAvigAwIBAgIUAhzZrkGH3j4aXirSjA6n87moF9kwDQYJKoZIhvcNAQEL +MIIEEjCCAvqgAwIBAgIUCi0fIToueeHu6wSjX9cgjUKzgc8wDQYJKoZIhvcNAQEL BQAwgagxCzAJBgNVBAYTAlVLMSIwIAYDVQQIDBlGT0FGK1NTTCBBdXRoIENlcnRp ZmljYXRlMRMwEQYDVQQHDApSaHlzIEpvbmVzMRAwDgYDVQQKDAdub2RlLmpzMR0w GwYDVQQLDBRUZXN0IFRMUyBDZXJ0aWZpY2F0ZTESMBAGA1UEAwwJbG9jYWxob3N0 -MRswGQYJKoZIhvcNAQkBFgxhbGV4QGF1Yi5kZXYwHhcNMTkwNTI5MjIzMjM1WhcN -MTkwNjI4MjIzMjM1WjCBqDELMAkGA1UEBhMCVUsxIjAgBgNVBAgMGUZPQUYrU1NM -IEF1dGggQ2VydGlmaWNhdGUxEzARBgNVBAcMClJoeXMgSm9uZXMxEDAOBgNVBAoM -B25vZGUuanMxHTAbBgNVBAsMFFRlc3QgVExTIENlcnRpZmljYXRlMRIwEAYDVQQD -DAlsb2NhbGhvc3QxGzAZBgkqhkiG9w0BCQEWDGFsZXhAYXViLmRldjCCASIwDQYJ -KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMm9YK6zftvX8XnhG02khI2ukyg06U/1 -l56qxQkvoeyGHJw6AFcHLD1ORWXlD7yyjM4vTR0id+C0Arq6h4B/F/nMNGE94HWE -v+6qEIl7Psyr+teTXLbQ98ZUC3HmPjcM56D18smcDnmaslOR4qm66ruoXa+oEGKI -DDS59jcQVtqRnoHevmRjAl9/vwbTD/+rV5rbWI2PsoTdkqxs+XCoVqXB4gul/ge7 -giqCmcvrdo1MWFSlMFq9WbjPJKUp7lQnL9TqDBhIphBwO7/3mhf8vs/1XUOGPPBo -U51TeCm7YGfqPT6IY8SxVOtlXkwC4sVOZj0CkoEiAin43r9BVFLqxesCAwEAAaMw -MC4wCQYDVR0TBAIwADAhBgNVHREEGjAYhhZodHRwOi8vZXhhbXBsZS5jb20vI21l -MA0GCSqGSIb3DQEBCwUAA4IBAQBMRbs4ERIJmZz6GAaI85vbwR166S+g5rkNK8iZ -jMAeSD9O2/ZT3JhGfh+f/m7cy1+RiARVSZOgd0nN/L6U6JlPbjtK92CpIx+gDw67 -lYV3QQCGU0tNQ1EFNzj6A7Mi/zSZ5wBbTi886xYztLPSjWEHt+8pShHga/Qi3alN -3haN/UvyamKgmWna8s3zWrCEZwW7D+XQqWoA2EISlnIdX46agHgmU30+TalGDAzf -OFwGvEfkyHTrrl6TxwdLU8fWsEcBOF6Ukg7kEc1aCBgd3cD9LI8g2N8DQdkWGGEQ -innpMWv59H2v3gVMj/0/BPGthQMTHMrhKWZZ1QGjkId7tHro +MRswGQYJKoZIhvcNAQkBFgxhbGV4QGF1Yi5kZXYwIBcNMTkwNjI4MjEyNzE0WhgP +MjI5MzA0MTEyMTI3MTRaMIGoMQswCQYDVQQGEwJVSzEiMCAGA1UECAwZRk9BRitT +U0wgQXV0aCBDZXJ0aWZpY2F0ZTETMBEGA1UEBwwKUmh5cyBKb25lczEQMA4GA1UE +CgwHbm9kZS5qczEdMBsGA1UECwwUVGVzdCBUTFMgQ2VydGlmaWNhdGUxEjAQBgNV +BAMMCWxvY2FsaG9zdDEbMBkGCSqGSIb3DQEJARYMYWxleEBhdWIuZGV2MIIBIjAN +BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyb1grrN+29fxeeEbTaSEja6TKDTp +T/WXnqrFCS+h7IYcnDoAVwcsPU5FZeUPvLKMzi9NHSJ34LQCurqHgH8X+cw0YT3g +dYS/7qoQiXs+zKv615NcttD3xlQLceY+NwznoPXyyZwOeZqyU5Hiqbrqu6hdr6gQ +YogMNLn2NxBW2pGegd6+ZGMCX3+/BtMP/6tXmttYjY+yhN2SrGz5cKhWpcHiC6X+ +B7uCKoKZy+t2jUxYVKUwWr1ZuM8kpSnuVCcv1OoMGEimEHA7v/eaF/y+z/VdQ4Y8 +8GhTnVN4KbtgZ+o9PohjxLFU62VeTALixU5mPQKSgSICKfjev0FUUurF6wIDAQAB +ozAwLjAJBgNVHRMEAjAAMCEGA1UdEQQaMBiGFmh0dHA6Ly9leGFtcGxlLmNvbS8j +bWUwDQYJKoZIhvcNAQELBQADggEBAFBCx6BoYUdrjqgFDFAGTMqj6sG0nfZ5a8b4 +Im82kKKUeSMnK5nnI8mG14tcAZqph4OewC3mc1S3ufBnJKOLZnae+xyIQiM046ZI +b2g/6vk0C3lrvp7S+UZS3ueJNt6UewlubmTembs7t2T1MdDoBwmMuYRph4jcFHp+ +BFNGdoNSipkBSSrYRb55oTIBMOYNHNeSFHnOLVyZNeR4qaGBr4ae6r+Z4kkfqiTV +Z0j4ta/7mXrIEX3RarQEdTEwAqYz9LioKSXfP9eye8NTt2zinu4pM9JZ3UU08P7f +DT7VyxCDdegaGb0Uaqjs0cRU7JRYkv/YaK7V5KNdIpjHuG3SlF8= -----END CERTIFICATE----- From 43677325e1925c04156f97ebf8a9226f2bae5d79 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Thu, 27 Jun 2019 10:31:58 -0400 Subject: [PATCH 125/144] deps: upgrade to libuv 1.30.0 Notable changes: - Support for the Haiku platform has been added. - The maximum UV_THREADPOOL_SIZE has been increased from 128 to 1024. - uv_fs_copyfile() now works properly when the source and destination files are the same. PR-URL: https://github.com/nodejs/node/pull/28449 Fixes: https://github.com/nodejs/node/issues/27746 Reviewed-By: Trivikram Kamat Reviewed-By: Jiawen Geng Reviewed-By: Rich Trott Reviewed-By: Ben Noordhuis --- deps/uv/.gitattributes | 1 + deps/uv/AUTHORS | 7 + deps/uv/CMakeLists.txt | 9 +- deps/uv/ChangeLog | 37 +++++ deps/uv/Makefile.am | 17 +++ deps/uv/configure.ac | 6 +- deps/uv/docs/src/design.rst | 4 +- deps/uv/docs/src/threadpool.rst | 4 +- deps/uv/include/uv/unix.h | 2 + deps/uv/include/uv/version.h | 4 +- deps/uv/src/threadpool.c | 2 +- deps/uv/src/unix/bsd-ifaddrs.c | 7 +- deps/uv/src/unix/core.c | 37 ++++- deps/uv/src/unix/fs.c | 103 ++++++++++---- deps/uv/src/unix/haiku.c | 176 ++++++++++++++++++++++++ deps/uv/src/unix/internal.h | 9 ++ deps/uv/src/unix/process.c | 7 +- deps/uv/src/unix/signal.c | 2 +- deps/uv/src/unix/stream.c | 2 +- deps/uv/src/unix/thread.c | 17 ++- deps/uv/src/win/fs.c | 60 +++++--- deps/uv/test/fixtures/lorem_ipsum.txt | 1 + deps/uv/test/test-cwd-and-chdir.c | 7 + deps/uv/test/test-fs-copyfile.c | 10 +- deps/uv/test/test-fs.c | 60 +++++++- deps/uv/test/test-list.h | 6 +- deps/uv/test/test-tcp-try-write-error.c | 109 +++++++++++++++ deps/uv/test/test.gyp | 1 + 28 files changed, 644 insertions(+), 63 deletions(-) create mode 100644 deps/uv/.gitattributes create mode 100644 deps/uv/src/unix/haiku.c create mode 100644 deps/uv/test/fixtures/lorem_ipsum.txt create mode 100644 deps/uv/test/test-tcp-try-write-error.c diff --git a/deps/uv/.gitattributes b/deps/uv/.gitattributes new file mode 100644 index 00000000000000..89297cb79e3ace --- /dev/null +++ b/deps/uv/.gitattributes @@ -0,0 +1 @@ +test/fixtures/lorem_ipsum.txt text eol=lf diff --git a/deps/uv/AUTHORS b/deps/uv/AUTHORS index af91fde4b239c0..4db18540d46a77 100644 --- a/deps/uv/AUTHORS +++ b/deps/uv/AUTHORS @@ -382,3 +382,10 @@ George Zhao Kyle Edwards ken-cunningham-webuse Kelvin Jin +Leorize +Vlad A +Niels Lohmann +Jenil Christo +Evgeny Ermakov +gengjiawen +Leo Chung diff --git a/deps/uv/CMakeLists.txt b/deps/uv/CMakeLists.txt index b3890ddf57d219..f2ed3722c47329 100644 --- a/deps/uv/CMakeLists.txt +++ b/deps/uv/CMakeLists.txt @@ -1,7 +1,6 @@ # TODO: determine CMAKE_SYSTEM_NAME on OS/390. Currently assumes "OS/390". cmake_minimum_required(VERSION 3.0) project(libuv) -enable_testing() if(MSVC) list(APPEND uv_cflags /W4) @@ -137,6 +136,7 @@ set(uv_test_sources test/test-tcp-read-stop.c test/test-tcp-shutdown-after-write.c test/test-tcp-try-write.c + test/test-tcp-try-write-error.c test/test-tcp-unexpected-read.c test/test-tcp-write-after-connect.c test/test-tcp-write-fail.c @@ -350,8 +350,11 @@ target_compile_options(uv_a PRIVATE ${uv_cflags}) target_include_directories(uv_a PRIVATE include src) target_link_libraries(uv_a ${uv_libraries}) -if(BUILD_TESTING) - include(CTest) +option(libuv_buildtests "Build the unit tests when BUILD_TESTING is enabled." ON) + +include(CTest) +if(BUILD_TESTING AND libuv_buildtests) + enable_testing() add_executable(uv_run_tests ${uv_test_sources}) target_compile_definitions(uv_run_tests PRIVATE ${uv_defines} USING_UV_SHARED=1) diff --git a/deps/uv/ChangeLog b/deps/uv/ChangeLog index 51ed5a223a1d83..b9ed7484a50a32 100644 --- a/deps/uv/ChangeLog +++ b/deps/uv/ChangeLog @@ -1,3 +1,40 @@ +2019.06.28, Version 1.30.0 (Stable), 365b6f2a0eacda1ff52be8e57ab9381cfddc5dbb + +Changes since version 1.29.1: + +* darwin: fall back to F_BARRIERFSYNC (Ben Noordhuis) + +* darwin: add 32 bit close$NOCANCEL implementation (ken-cunningham-webuse) + +* build, core, unix: add support for Haiku (Leorize) + +* darwin,linux: more conservative minimum stack size (Ben Noordhuis) + +* threadpool: increase UV_THREADPOOL_SIZE limit (Vlad A) + +* unix: return actual error from `uv_try_write()` (Anna Henningsen) + +* darwin: fix build error with macos 10.10 (Ben Noordhuis) + +* unix: make uv_cwd() report UV_ENOBUFS (Ben Noordhuis) + +* unix: make uv_fs_read() fill all buffers (Ben Noordhuis) + +* test: give hrtime test a custom 10s timeout (Ben Noordhuis) + +* fs: fix uv_fs_copyfile if same src and dst (Santiago Gimeno) + +* build: add cmake option to skip building tests (Niels Lohmann) + +* doc: add link to nodejs.org (Jenil Christo) + +* unix: fix a comment typo in signal.c (Evgeny Ermakov) + +* unix: remove redundant cast in process.c (gengjiawen) + +* doc: fix wrong mutex function prototypes (Leo Chung) + + 2019.05.22, Version 1.29.1 (Stable), d16e6094e1eb3b0b5981ef1dd7e03ec4d466944d Changes since version 1.29.0: diff --git a/deps/uv/Makefile.am b/deps/uv/Makefile.am index 07224f32b48e96..d213d8f4faec67 100644 --- a/deps/uv/Makefile.am +++ b/deps/uv/Makefile.am @@ -117,6 +117,7 @@ endif # WINNT EXTRA_DIST = test/fixtures/empty_file \ test/fixtures/load_error.node \ + test/fixtures/lorem_ipsum.txt \ include \ docs \ img \ @@ -272,6 +273,7 @@ test_run_tests_SOURCES = test/blackhole-server.c \ test/test-tcp-writealot.c \ test/test-tcp-write-fail.c \ test/test-tcp-try-write.c \ + test/test-tcp-try-write-error.c \ test/test-tcp-write-queue-order.c \ test/test-thread-equal.c \ test/test-thread.c \ @@ -320,6 +322,10 @@ test_run_tests_CFLAGS += -D_ALL_SOURCE \ -D_LINUX_SOURCE_COMPAT endif +if HAIKU +test_run_tests_CFLAGS += -D_BSD_SOURCE +endif + if LINUX test_run_tests_CFLAGS += -D_GNU_SOURCE endif @@ -409,6 +415,17 @@ libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \ test_run_tests_LDFLAGS += -lutil endif +if HAIKU +uvinclude_HEADERS += include/uv/posix.h +libuv_la_CFLAGS += -D_BSD_SOURCE +libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \ + src/unix/haiku.c \ + src/unix/no-fsevents.c \ + src/unix/no-proctitle.c \ + src/unix/posix-hrtime.c \ + src/unix/posix-poll.c +endif + if HURD uvinclude_HEADERS += include/uv/posix.h libuv_la_SOURCES += src/unix/no-fsevents.c \ diff --git a/deps/uv/configure.ac b/deps/uv/configure.ac index ad99f9ad380cdb..626ad4c7b0d975 100644 --- a/deps/uv/configure.ac +++ b/deps/uv/configure.ac @@ -13,7 +13,7 @@ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. AC_PREREQ(2.57) -AC_INIT([libuv], [1.29.1], [https://github.com/libuv/libuv/issues]) +AC_INIT([libuv], [1.30.0], [https://github.com/libuv/libuv/issues]) AC_CONFIG_MACRO_DIR([m4]) m4_include([m4/libuv-extra-automake-flags.m4]) m4_include([m4/as_case.m4]) @@ -56,6 +56,7 @@ AM_CONDITIONAL([CYGWIN], [AS_CASE([$host_os],[cygwin*], [true], [false]) AM_CONDITIONAL([DARWIN], [AS_CASE([$host_os],[darwin*], [true], [false])]) AM_CONDITIONAL([DRAGONFLY],[AS_CASE([$host_os],[dragonfly*], [true], [false])]) AM_CONDITIONAL([FREEBSD], [AS_CASE([$host_os],[*freebsd*], [true], [false])]) +AM_CONDITIONAL([HAIKU], [AS_CASE([$host_os],[haiku], [true], [false])]) AM_CONDITIONAL([HURD], [AS_CASE([$host_os],[gnu*], [true], [false])]) AM_CONDITIONAL([LINUX], [AS_CASE([$host_os],[linux*], [true], [false])]) AM_CONDITIONAL([MSYS], [AS_CASE([$host_os],[msys*], [true], [false])]) @@ -71,6 +72,9 @@ AS_CASE([$host_os], [netbsd*], [AC_CHECK_LIB([kvm], [kvm_open])]) AS_CASE([$host_os], [kfreebsd*], [ LIBS="$LIBS -lfreebsd-glue" ]) +AS_CASE([$host_os], [haiku], [ + LIBS="$LIBS -lnetwork" +]) AC_CHECK_HEADERS([sys/ahafs_evProds.h]) AC_CONFIG_FILES([Makefile libuv.pc]) AC_CONFIG_LINKS([test/fixtures/empty_file:test/fixtures/empty_file]) diff --git a/deps/uv/docs/src/design.rst b/deps/uv/docs/src/design.rst index 001b12334d2354..9594bd1a77edbd 100644 --- a/deps/uv/docs/src/design.rst +++ b/deps/uv/docs/src/design.rst @@ -4,9 +4,11 @@ Design overview =============== -libuv is cross-platform support library which was originally written for NodeJS. It's designed +libuv is cross-platform support library which was originally written for `Node.js`_. It's designed around the event-driven asynchronous I/O model. +.. _Node.js: https://nodejs.org + The library provides much more than a simple abstraction over different I/O polling mechanisms: 'handles' and 'streams' provide a high level abstraction for sockets and other entities; cross-platform file I/O and threading functionality is also provided, amongst other things. diff --git a/deps/uv/docs/src/threadpool.rst b/deps/uv/docs/src/threadpool.rst index 93bd236d35e9f5..ed41c37fe327d2 100644 --- a/deps/uv/docs/src/threadpool.rst +++ b/deps/uv/docs/src/threadpool.rst @@ -10,7 +10,9 @@ operations, as well as getaddrinfo and getnameinfo requests. Its default size is 4, but it can be changed at startup time by setting the ``UV_THREADPOOL_SIZE`` environment variable to any value (the absolute maximum -is 128). +is 1024). + +.. versionchanged:: 1.29.2 the maximum UV_THREADPOOL_SIZE allowed was increased from 128 to 1024. The threadpool is global and shared across all event loops. When a particular function makes use of the threadpool (i.e. when using :c:func:`uv_queue_work`) diff --git a/deps/uv/include/uv/unix.h b/deps/uv/include/uv/unix.h index f73b7b04408d0c..6c93ee97de27a6 100644 --- a/deps/uv/include/uv/unix.h +++ b/deps/uv/include/uv/unix.h @@ -66,6 +66,8 @@ defined(__MSYS__) || \ defined(__GNU__) # include "uv/posix.h" +#elif defined(__HAIKU__) +# include "uv/posix.h" #endif #ifndef NI_MAXHOST diff --git a/deps/uv/include/uv/version.h b/deps/uv/include/uv/version.h index 6d3072c73596e6..eb1f0c6597eeee 100644 --- a/deps/uv/include/uv/version.h +++ b/deps/uv/include/uv/version.h @@ -31,8 +31,8 @@ */ #define UV_VERSION_MAJOR 1 -#define UV_VERSION_MINOR 29 -#define UV_VERSION_PATCH 1 +#define UV_VERSION_MINOR 30 +#define UV_VERSION_PATCH 0 #define UV_VERSION_IS_RELEASE 1 #define UV_VERSION_SUFFIX "" diff --git a/deps/uv/src/threadpool.c b/deps/uv/src/threadpool.c index 4258933c724782..7aa575508fa8c4 100644 --- a/deps/uv/src/threadpool.c +++ b/deps/uv/src/threadpool.c @@ -27,7 +27,7 @@ #include -#define MAX_THREADPOOL_SIZE 128 +#define MAX_THREADPOOL_SIZE 1024 static uv_once_t once = UV_ONCE_INIT; static uv_cond_t cond; diff --git a/deps/uv/src/unix/bsd-ifaddrs.c b/deps/uv/src/unix/bsd-ifaddrs.c index a4c6bf9d11c7f4..0d7bbe662a5c53 100644 --- a/deps/uv/src/unix/bsd-ifaddrs.c +++ b/deps/uv/src/unix/bsd-ifaddrs.c @@ -31,6 +31,10 @@ #include #endif +#if defined(__HAIKU__) +#define IFF_RUNNING IFF_LINK +#endif + static int uv__ifaddr_exclude(struct ifaddrs *ent, int exclude_type) { if (!((ent->ifa_flags & IFF_UP) && (ent->ifa_flags & IFF_RUNNING))) return 1; @@ -45,7 +49,8 @@ static int uv__ifaddr_exclude(struct ifaddrs *ent, int exclude_type) { if (exclude_type == UV__EXCLUDE_IFPHYS) return (ent->ifa_addr->sa_family != AF_LINK); #endif -#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) +#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__DragonFly__) || \ + defined(__HAIKU__) /* * On BSD getifaddrs returns information related to the raw underlying * devices. We're not interested in this information. diff --git a/deps/uv/src/unix/core.c b/deps/uv/src/unix/core.c index 3bada900ebdc41..202c75bbb5e94c 100644 --- a/deps/uv/src/unix/core.c +++ b/deps/uv/src/unix/core.c @@ -526,8 +526,13 @@ int uv__close_nocancel(int fd) { #if defined(__APPLE__) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wdollar-in-identifier-extension" +#if defined(__LP64__) extern int close$NOCANCEL(int); return close$NOCANCEL(fd); +#else + extern int close$NOCANCEL$UNIX2003(int); + return close$NOCANCEL$UNIX2003(fd); +#endif #pragma GCC diagnostic pop #elif defined(__linux__) return syscall(SYS_close, fd); @@ -579,7 +584,7 @@ int uv__nonblock_ioctl(int fd, int set) { } -#if !defined(__CYGWIN__) && !defined(__MSYS__) +#if !defined(__CYGWIN__) && !defined(__MSYS__) && !defined(__HAIKU__) int uv__cloexec_ioctl(int fd, int set) { int r; @@ -696,16 +701,38 @@ ssize_t uv__recvmsg(int fd, struct msghdr* msg, int flags) { int uv_cwd(char* buffer, size_t* size) { + char scratch[1 + UV__PATH_MAX]; + if (buffer == NULL || size == NULL) return UV_EINVAL; - if (getcwd(buffer, *size) == NULL) + /* Try to read directly into the user's buffer first... */ + if (getcwd(buffer, *size) != NULL) + goto fixup; + + if (errno != ERANGE) + return UV__ERR(errno); + + /* ...or into scratch space if the user's buffer is too small + * so we can report how much space to provide on the next try. + */ + if (getcwd(scratch, sizeof(scratch)) == NULL) return UV__ERR(errno); + buffer = scratch; + +fixup: + *size = strlen(buffer); + if (*size > 1 && buffer[*size - 1] == '/') { - buffer[*size-1] = '\0'; - (*size)--; + *size -= 1; + buffer[*size] = '\0'; + } + + if (buffer == scratch) { + *size += 1; + return UV_ENOBUFS; } return 0; @@ -947,7 +974,7 @@ int uv_getrusage(uv_rusage_t* rusage) { rusage->ru_stime.tv_sec = usage.ru_stime.tv_sec; rusage->ru_stime.tv_usec = usage.ru_stime.tv_usec; -#if !defined(__MVS__) +#if !defined(__MVS__) && !defined(__HAIKU__) rusage->ru_maxrss = usage.ru_maxrss; rusage->ru_ixrss = usage.ru_ixrss; rusage->ru_idrss = usage.ru_idrss; diff --git a/deps/uv/src/unix/fs.c b/deps/uv/src/unix/fs.c index 24a130f5433d6e..5138c619b02f1d 100644 --- a/deps/uv/src/unix/fs.c +++ b/deps/uv/src/unix/fs.c @@ -160,12 +160,15 @@ static ssize_t uv__fs_fsync(uv_fs_t* req) { * to the drive platters. This is in contrast to Linux's fdatasync and fsync * which do, according to recent man pages. F_FULLFSYNC is Apple's equivalent * for flushing buffered data to permanent storage. If F_FULLFSYNC is not - * supported by the file system we should fall back to fsync(). This is the - * same approach taken by sqlite. + * supported by the file system we fall back to F_BARRIERFSYNC or fsync(). + * This is the same approach taken by sqlite, except sqlite does not issue + * an F_BARRIERFSYNC call. */ int r; r = fcntl(req->file, F_FULLFSYNC); + if (r != 0) + r = fcntl(req->file, 85 /* F_BARRIERFSYNC */); /* fsync + barrier */ if (r != 0) r = fsync(req->file); return r; @@ -189,7 +192,8 @@ static ssize_t uv__fs_fdatasync(uv_fs_t* req) { static ssize_t uv__fs_futime(uv_fs_t* req) { #if defined(__linux__) \ - || defined(_AIX71) + || defined(_AIX71) \ + || defined(__HAIKU__) /* utimesat() has nanosecond resolution but we stick to microseconds * for the sake of consistency with other platforms. */ @@ -274,6 +278,54 @@ static ssize_t uv__fs_open(uv_fs_t* req) { } +static ssize_t uv__fs_preadv(uv_file fd, + uv_buf_t* bufs, + unsigned int nbufs, + off_t off) { + uv_buf_t* buf; + uv_buf_t* end; + ssize_t result; + ssize_t rc; + size_t pos; + + assert(nbufs > 0); + + result = 0; + pos = 0; + buf = bufs + 0; + end = bufs + nbufs; + + for (;;) { + do + rc = pread(fd, buf->base + pos, buf->len - pos, off + result); + while (rc == -1 && errno == EINTR); + + if (rc == 0) + break; + + if (rc == -1 && result == 0) + return UV__ERR(errno); + + if (rc == -1) + break; /* We read some data so return that, ignore the error. */ + + pos += rc; + result += rc; + + if (pos < buf->len) + continue; + + pos = 0; + buf += 1; + + if (buf == end) + break; + } + + return result; +} + + static ssize_t uv__fs_read(uv_fs_t* req) { #if defined(__linux__) static int no_preadv; @@ -303,7 +355,7 @@ static ssize_t uv__fs_read(uv_fs_t* req) { if (no_preadv) retry: # endif { - result = pread(req->file, req->bufs[0].base, req->bufs[0].len, req->off); + result = uv__fs_preadv(req->file, req->bufs, req->nbufs, req->off); } # if defined(__linux__) else { @@ -467,22 +519,13 @@ static int uv__fs_closedir(uv_fs_t* req) { return 0; } -#if defined(_POSIX_PATH_MAX) -# define UV__FS_PATH_MAX _POSIX_PATH_MAX -#elif defined(PATH_MAX) -# define UV__FS_PATH_MAX PATH_MAX -#else -# define UV__FS_PATH_MAX_FALLBACK 8192 -# define UV__FS_PATH_MAX UV__FS_PATH_MAX_FALLBACK -#endif - static ssize_t uv__fs_pathmax_size(const char* path) { ssize_t pathmax; pathmax = pathconf(path, _PC_PATH_MAX); if (pathmax == -1) - pathmax = UV__FS_PATH_MAX; + pathmax = UV__PATH_MAX; return pathmax; } @@ -493,7 +536,9 @@ static ssize_t uv__fs_readlink(uv_fs_t* req) { char* buf; char* newbuf; -#if defined(UV__FS_PATH_MAX_FALLBACK) +#if defined(_POSIX_PATH_MAX) || defined(PATH_MAX) + maxlen = uv__fs_pathmax_size(req->path); +#else /* We may not have a real PATH_MAX. Read size of link. */ struct stat st; int ret; @@ -511,8 +556,6 @@ static ssize_t uv__fs_readlink(uv_fs_t* req) { for some symlinks, such as those in /proc or /sys. */ if (maxlen == 0) maxlen = uv__fs_pathmax_size(req->path); -#else - maxlen = uv__fs_pathmax_size(req->path); #endif buf = uv__malloc(maxlen); @@ -796,7 +839,8 @@ static ssize_t uv__fs_sendfile(uv_fs_t* req) { static ssize_t uv__fs_utime(uv_fs_t* req) { #if defined(__linux__) \ || defined(_AIX71) \ - || defined(__sun) + || defined(__sun) \ + || defined(__HAIKU__) /* utimesat() has nanosecond resolution but we stick to microseconds * for the sake of consistency with other platforms. */ @@ -903,7 +947,8 @@ static ssize_t uv__fs_copyfile(uv_fs_t* req) { uv_fs_t fs_req; uv_file srcfd; uv_file dstfd; - struct stat statsbuf; + struct stat src_statsbuf; + struct stat dst_statsbuf; int dst_flags; int result; int err; @@ -921,7 +966,7 @@ static ssize_t uv__fs_copyfile(uv_fs_t* req) { return srcfd; /* Get the source file's mode. */ - if (fstat(srcfd, &statsbuf)) { + if (fstat(srcfd, &src_statsbuf)) { err = UV__ERR(errno); goto out; } @@ -936,7 +981,7 @@ static ssize_t uv__fs_copyfile(uv_fs_t* req) { &fs_req, req->new_path, dst_flags, - statsbuf.st_mode, + src_statsbuf.st_mode, NULL); uv_fs_req_cleanup(&fs_req); @@ -945,7 +990,19 @@ static ssize_t uv__fs_copyfile(uv_fs_t* req) { goto out; } - if (fchmod(dstfd, statsbuf.st_mode) == -1) { + /* Get the destination file's mode. */ + if (fstat(dstfd, &dst_statsbuf)) { + err = UV__ERR(errno); + goto out; + } + + /* Check if srcfd and dstfd refer to the same file */ + if (src_statsbuf.st_dev == dst_statsbuf.st_dev && + src_statsbuf.st_ino == dst_statsbuf.st_ino) { + goto out; + } + + if (fchmod(dstfd, src_statsbuf.st_mode) == -1) { err = UV__ERR(errno); goto out; } @@ -975,7 +1032,7 @@ static ssize_t uv__fs_copyfile(uv_fs_t* req) { } #endif - bytes_to_send = statsbuf.st_size; + bytes_to_send = src_statsbuf.st_size; in_offset = 0; while (bytes_to_send != 0) { err = uv_fs_sendfile(NULL, diff --git a/deps/uv/src/unix/haiku.c b/deps/uv/src/unix/haiku.c new file mode 100644 index 00000000000000..7708851c2a5fa9 --- /dev/null +++ b/deps/uv/src/unix/haiku.c @@ -0,0 +1,176 @@ +/* Copyright libuv project contributors. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include "uv.h" +#include "internal.h" + +#include /* find_path() */ +#include + + +void uv_loadavg(double avg[3]) { + avg[0] = 0; + avg[1] = 0; + avg[2] = 0; +} + + +int uv_exepath(char* buffer, size_t* size) { + char abspath[B_PATH_NAME_LENGTH]; + status_t status; + ssize_t abspath_len; + + if (buffer == NULL || size == NULL || *size == 0) + return UV_EINVAL; + + status = find_path(B_APP_IMAGE_SYMBOL, B_FIND_PATH_IMAGE_PATH, NULL, abspath, + sizeof(abspath)); + if (status != B_OK) + return UV__ERR(status); + + abspath_len = uv__strscpy(buffer, abspath, *size); + *size -= 1; + if (abspath_len >= 0 && *size > (size_t)abspath_len) + *size = (size_t)abspath_len; + + return 0; +} + + +uint64_t uv_get_free_memory(void) { + status_t status; + system_info sinfo; + + status = get_system_info(&sinfo); + if (status != B_OK) + return 0; + + return (sinfo.max_pages - sinfo.used_pages) * B_PAGE_SIZE; +} + + +uint64_t uv_get_total_memory(void) { + status_t status; + system_info sinfo; + + status = get_system_info(&sinfo); + if (status != B_OK) + return 0; + + return sinfo.max_pages * B_PAGE_SIZE; +} + + +uint64_t uv_get_constrained_memory(void) { + return 0; /* Memory constraints are unknown. */ +} + + +int uv_resident_set_memory(size_t* rss) { + area_info area; + ssize_t cookie; + status_t status; + thread_info thread; + + status = get_thread_info(find_thread(NULL), &thread); + if (status != B_OK) + return UV__ERR(status); + + cookie = 0; + *rss = 0; + while (get_next_area_info(thread.team, &cookie, &area) == B_OK) + *rss += area.ram_size; + + return 0; +} + + +int uv_uptime(double* uptime) { + /* system_time() returns time since booting in microseconds */ + *uptime = (double)system_time() / 1000000; + return 0; +} + + +int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count) { + cpu_topology_node_info* topology_infos; + int i; + status_t status; + system_info system; + uint32_t topology_count; + uint64_t cpuspeed; + uv_cpu_info_t* cpu_info; + + if (cpu_infos == NULL || count == NULL) + return UV_EINVAL; + + status = get_cpu_topology_info(NULL, &topology_count); + if (status != B_OK) + return UV__ERR(status); + + topology_infos = uv__malloc(topology_count * sizeof(*topology_infos)); + if (topology_infos == NULL) + return UV_ENOMEM; + + status = get_cpu_topology_info(topology_infos, &topology_count); + if (status != B_OK) { + uv__free(topology_infos); + return UV__ERR(status); + } + + cpuspeed = 0; + for (i = 0; i < (int)topology_count; i++) { + if (topology_infos[i].type == B_TOPOLOGY_CORE) { + cpuspeed = topology_infos[i].data.core.default_frequency; + break; + } + } + + uv__free(topology_infos); + + status = get_system_info(&system); + if (status != B_OK) + return UV__ERR(status); + + *cpu_infos = uv__calloc(system.cpu_count, sizeof(**cpu_infos)); + if (*cpu_infos == NULL) + return UV_ENOMEM; + + /* CPU time and model are not exposed by Haiku. */ + cpu_info = *cpu_infos; + for (i = 0; i < (int)system.cpu_count; i++) { + cpu_info->model = uv__strdup("unknown"); + cpu_info->speed = (int)(cpuspeed / 1000000); + cpu_info++; + } + *count = system.cpu_count; + + return 0; +} + +void uv_free_cpu_info(uv_cpu_info_t* cpu_infos, int count) { + int i; + + for (i = 0; i < count; i++) + uv__free(cpu_infos[i].model); + + uv__free(cpu_infos); +} diff --git a/deps/uv/src/unix/internal.h b/deps/uv/src/unix/internal.h index 8c8ddc868ec800..260616474ec151 100644 --- a/deps/uv/src/unix/internal.h +++ b/deps/uv/src/unix/internal.h @@ -25,6 +25,7 @@ #include "uv-common.h" #include +#include /* _POSIX_PATH_MAX, PATH_MAX */ #include /* abort */ #include /* strrchr */ #include /* O_CLOEXEC, may be */ @@ -60,6 +61,14 @@ # include #endif +#if defined(_POSIX_PATH_MAX) +# define UV__PATH_MAX _POSIX_PATH_MAX +#elif defined(PATH_MAX) +# define UV__PATH_MAX PATH_MAX +#else +# define UV__PATH_MAX 8192 +#endif + #if defined(__ANDROID__) int uv__pthread_sigmask(int how, const sigset_t* set, sigset_t* oset); # ifdef pthread_sigmask diff --git a/deps/uv/src/unix/process.c b/deps/uv/src/unix/process.c index b284308dd0694f..bb6b76c9fa7005 100644 --- a/deps/uv/src/unix/process.c +++ b/deps/uv/src/unix/process.c @@ -249,7 +249,7 @@ static int uv__process_open_stream(uv_stdio_container_t* container, static void uv__process_close_stream(uv_stdio_container_t* container) { if (!(container->flags & UV_CREATE_PIPE)) return; - uv__stream_close((uv_stream_t*)container->data.stream); + uv__stream_close(container->data.stream); } @@ -385,6 +385,11 @@ static void uv__process_child_init(const uv_process_options_t* options, if (n == SIGKILL || n == SIGSTOP) continue; /* Can't be changed. */ +#if defined(__HAIKU__) + if (n == SIGKILLTHR) + continue; /* Can't be changed. */ +#endif + if (SIG_ERR != signal(n, SIG_DFL)) continue; diff --git a/deps/uv/src/unix/signal.c b/deps/uv/src/unix/signal.c index 01aa55f3fe7c66..5e89ded2d842ce 100644 --- a/deps/uv/src/unix/signal.c +++ b/deps/uv/src/unix/signal.c @@ -375,7 +375,7 @@ static int uv__signal_start(uv_signal_t* handle, /* Short circuit: if the signal watcher is already watching {signum} don't * go through the process of deregistering and registering the handler. - * Additionally, this avoids pending signals getting lost in the small time + * Additionally, this avoids pending signals getting lost in the small * time frame that handle->signum == 0. */ if (signum == handle->signum) { diff --git a/deps/uv/src/unix/stream.c b/deps/uv/src/unix/stream.c index 7e4d5fc7ffd429..17b06a39a772b0 100644 --- a/deps/uv/src/unix/stream.c +++ b/deps/uv/src/unix/stream.c @@ -1541,7 +1541,7 @@ int uv_try_write(uv_stream_t* stream, } if (written == 0 && req_size != 0) - return UV_EAGAIN; + return req.error < 0 ? req.error : UV_EAGAIN; else return written; } diff --git a/deps/uv/src/unix/thread.c b/deps/uv/src/unix/thread.c index 9a50448e62ce58..cd0b7aa6aaf923 100644 --- a/deps/uv/src/unix/thread.c +++ b/deps/uv/src/unix/thread.c @@ -178,8 +178,21 @@ static size_t thread_stack_size(void) { if (lim.rlim_cur != RLIM_INFINITY) { /* pthread_attr_setstacksize() expects page-aligned values. */ lim.rlim_cur -= lim.rlim_cur % (rlim_t) getpagesize(); - if (lim.rlim_cur >= PTHREAD_STACK_MIN) - return lim.rlim_cur; + + /* Musl's PTHREAD_STACK_MIN is 2 KB on all architectures, which is + * too small to safely receive signals on. + * + * Musl's PTHREAD_STACK_MIN + MINSIGSTKSZ == 8192 on arm64 (which has + * the largest MINSIGSTKSZ of the architectures that musl supports) so + * let's use that as a lower bound. + * + * We use a hardcoded value because PTHREAD_STACK_MIN + MINSIGSTKSZ + * is between 28 and 133 KB when compiling against glibc, depending + * on the architecture. + */ + if (lim.rlim_cur >= 8192) + if (lim.rlim_cur >= PTHREAD_STACK_MIN) + return lim.rlim_cur; } #endif diff --git a/deps/uv/src/win/fs.c b/deps/uv/src/win/fs.c index 9e2f084c8d0e9c..7d78d466c8738f 100644 --- a/deps/uv/src/win/fs.c +++ b/deps/uv/src/win/fs.c @@ -1409,47 +1409,57 @@ INLINE static void fs__stat_prepare_path(WCHAR* pathw) { } -INLINE static void fs__stat_impl(uv_fs_t* req, int do_lstat) { +INLINE static DWORD fs__stat_impl_from_path(WCHAR* path, + int do_lstat, + uv_stat_t* statbuf) { HANDLE handle; DWORD flags; + DWORD ret; flags = FILE_FLAG_BACKUP_SEMANTICS; - if (do_lstat) { + if (do_lstat) flags |= FILE_FLAG_OPEN_REPARSE_POINT; - } - handle = CreateFileW(req->file.pathw, + handle = CreateFileW(path, FILE_READ_ATTRIBUTES, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, OPEN_EXISTING, flags, NULL); - if (handle == INVALID_HANDLE_VALUE) { - SET_REQ_WIN32_ERROR(req, GetLastError()); - return; - } - if (fs__stat_handle(handle, &req->statbuf, do_lstat) != 0) { - DWORD error = GetLastError(); + if (handle == INVALID_HANDLE_VALUE) + ret = GetLastError(); + else if (fs__stat_handle(handle, statbuf, do_lstat) != 0) + ret = GetLastError(); + else + ret = 0; + + CloseHandle(handle); + return ret; +} + + +INLINE static void fs__stat_impl(uv_fs_t* req, int do_lstat) { + DWORD error; + + error = fs__stat_impl_from_path(req->file.pathw, do_lstat, &req->statbuf); + if (error != 0) { if (do_lstat && (error == ERROR_SYMLINK_NOT_SUPPORTED || error == ERROR_NOT_A_REPARSE_POINT)) { /* We opened a reparse point but it was not a symlink. Try again. */ fs__stat_impl(req, 0); - } else { /* Stat failed. */ - SET_REQ_WIN32_ERROR(req, GetLastError()); + SET_REQ_WIN32_ERROR(req, error); } - CloseHandle(handle); return; } req->ptr = &req->statbuf; req->result = 0; - CloseHandle(handle); } @@ -1553,6 +1563,9 @@ static void fs__ftruncate(uv_fs_t* req) { static void fs__copyfile(uv_fs_t* req) { int flags; int overwrite; + DWORD error; + uv_stat_t statbuf; + uv_stat_t new_statbuf; flags = req->fs.info.file_flags; @@ -1563,12 +1576,25 @@ static void fs__copyfile(uv_fs_t* req) { overwrite = flags & UV_FS_COPYFILE_EXCL; - if (CopyFileW(req->file.pathw, req->fs.info.new_pathw, overwrite) == 0) { - SET_REQ_WIN32_ERROR(req, GetLastError()); + if (CopyFileW(req->file.pathw, req->fs.info.new_pathw, overwrite) != 0) { + SET_REQ_RESULT(req, 0); return; } - SET_REQ_RESULT(req, 0); + SET_REQ_WIN32_ERROR(req, GetLastError()); + if (req->result != UV_EBUSY) + return; + + /* if error UV_EBUSY check if src and dst file are the same */ + if (fs__stat_impl_from_path(req->file.pathw, 0, &statbuf) != 0 || + fs__stat_impl_from_path(req->fs.info.new_pathw, 0, &new_statbuf) != 0) { + return; + } + + if (statbuf.st_dev == new_statbuf.st_dev && + statbuf.st_ino == new_statbuf.st_ino) { + SET_REQ_RESULT(req, 0); + } } diff --git a/deps/uv/test/fixtures/lorem_ipsum.txt b/deps/uv/test/fixtures/lorem_ipsum.txt new file mode 100644 index 00000000000000..1b376877f435b1 --- /dev/null +++ b/deps/uv/test/fixtures/lorem_ipsum.txt @@ -0,0 +1 @@ +Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. diff --git a/deps/uv/test/test-cwd-and-chdir.c b/deps/uv/test/test-cwd-and-chdir.c index 1e95043c1775a9..5d43524c921cdd 100644 --- a/deps/uv/test/test-cwd-and-chdir.c +++ b/deps/uv/test/test-cwd-and-chdir.c @@ -33,9 +33,16 @@ TEST_IMPL(cwd_and_chdir) { size_t size2; int err; + size1 = 1; + err = uv_cwd(buffer_orig, &size1); + ASSERT(err == UV_ENOBUFS); + ASSERT(size1 > 1); + size1 = sizeof buffer_orig; err = uv_cwd(buffer_orig, &size1); ASSERT(err == 0); + ASSERT(size1 > 0); + ASSERT(buffer_orig[size1] != '/'); err = uv_chdir(buffer_orig); ASSERT(err == 0); diff --git a/deps/uv/test/test-fs-copyfile.c b/deps/uv/test/test-fs-copyfile.c index cd8a2ea7c07b08..def3d967e74f5b 100644 --- a/deps/uv/test/test-fs-copyfile.c +++ b/deps/uv/test/test-fs-copyfile.c @@ -24,7 +24,8 @@ #if defined(__unix__) || defined(__POSIX__) || \ defined(__APPLE__) || defined(__sun) || \ - defined(_AIX) || defined(__MVS__) + defined(_AIX) || defined(__MVS__) || \ + defined(__HAIKU__) #include /* unlink, etc. */ #else # include @@ -119,6 +120,13 @@ TEST_IMPL(fs_copyfile) { ASSERT(r != 0); uv_fs_req_cleanup(&req); + /* Succeeds if src and dst files are identical. */ + touch_file(src, 12); + r = uv_fs_copyfile(NULL, &req, src, src, 0, NULL); + ASSERT(r == 0); + uv_fs_req_cleanup(&req); + unlink(src); + /* Copies file synchronously. Creates new file. */ unlink(dst); r = uv_fs_copyfile(NULL, &req, fixture, dst, 0, NULL); diff --git a/deps/uv/test/test-fs.c b/deps/uv/test/test-fs.c index c3153c717b7cd3..2cf8f287fe331d 100644 --- a/deps/uv/test/test-fs.c +++ b/deps/uv/test/test-fs.c @@ -31,7 +31,8 @@ /* FIXME we shouldn't need to branch in this file */ #if defined(__unix__) || defined(__POSIX__) || \ defined(__APPLE__) || defined(__sun) || \ - defined(_AIX) || defined(__MVS__) + defined(_AIX) || defined(__MVS__) || \ + defined(__HAIKU__) #include /* unlink, rmdir, etc. */ #else # include @@ -1653,6 +1654,8 @@ TEST_IMPL(fs_chown) { uv_run(loop, UV_RUN_DEFAULT); ASSERT(fchown_cb_count == 1); +#ifndef __HAIKU__ + /* Haiku doesn't support hardlink */ /* sync link */ r = uv_fs_link(NULL, &req, "test_file", "test_file_link", NULL); ASSERT(r == 0); @@ -1670,6 +1673,7 @@ TEST_IMPL(fs_chown) { ASSERT(r == 0); uv_run(loop, UV_RUN_DEFAULT); ASSERT(lchown_cb_count == 1); +#endif /* Close file */ r = uv_fs_close(NULL, &req, file, NULL); @@ -2717,6 +2721,60 @@ TEST_IMPL(fs_rename_to_existing_file) { } +TEST_IMPL(fs_read_bufs) { + char scratch[768]; + uv_buf_t bufs[4]; + + ASSERT(0 <= uv_fs_open(NULL, &open_req1, + "test/fixtures/lorem_ipsum.txt", + O_RDONLY, 0, NULL)); + ASSERT(open_req1.result >= 0); + uv_fs_req_cleanup(&open_req1); + + ASSERT(UV_EINVAL == uv_fs_read(NULL, &read_req, open_req1.result, + NULL, 0, 0, NULL)); + ASSERT(UV_EINVAL == uv_fs_read(NULL, &read_req, open_req1.result, + NULL, 1, 0, NULL)); + ASSERT(UV_EINVAL == uv_fs_read(NULL, &read_req, open_req1.result, + bufs, 0, 0, NULL)); + + bufs[0] = uv_buf_init(scratch + 0, 256); + bufs[1] = uv_buf_init(scratch + 256, 256); + bufs[2] = uv_buf_init(scratch + 512, 128); + bufs[3] = uv_buf_init(scratch + 640, 128); + + ASSERT(446 == uv_fs_read(NULL, + &read_req, + open_req1.result, + bufs + 0, + 2, /* 2x 256 bytes. */ + 0, /* Positional read. */ + NULL)); + ASSERT(read_req.result == 446); + uv_fs_req_cleanup(&read_req); + + ASSERT(190 == uv_fs_read(NULL, + &read_req, + open_req1.result, + bufs + 2, + 2, /* 2x 128 bytes. */ + 256, /* Positional read. */ + NULL)); + ASSERT(read_req.result == /* 446 - 256 */ 190); + uv_fs_req_cleanup(&read_req); + + ASSERT(0 == memcmp(bufs[1].base + 0, bufs[2].base, 128)); + ASSERT(0 == memcmp(bufs[1].base + 128, bufs[3].base, 190 - 128)); + + ASSERT(0 == uv_fs_close(NULL, &close_req, open_req1.result, NULL)); + ASSERT(close_req.result == 0); + uv_fs_req_cleanup(&close_req); + + MAKE_VALGRIND_HAPPY(); + return 0; +} + + TEST_IMPL(fs_read_file_eof) { #if defined(__CYGWIN__) || defined(__MSYS__) RETURN_SKIP("Cygwin pread at EOF may (incorrectly) return data!"); diff --git a/deps/uv/test/test-list.h b/deps/uv/test/test-list.h index 8886b07c8a7473..a48f6f3806806a 100644 --- a/deps/uv/test/test-list.h +++ b/deps/uv/test/test-list.h @@ -91,6 +91,7 @@ TEST_DECLARE (tcp_write_after_connect) TEST_DECLARE (tcp_writealot) TEST_DECLARE (tcp_write_fail) TEST_DECLARE (tcp_try_write) +TEST_DECLARE (tcp_try_write_error) TEST_DECLARE (tcp_write_queue_order) TEST_DECLARE (tcp_open) TEST_DECLARE (tcp_open_twice) @@ -325,6 +326,7 @@ TEST_DECLARE (fs_utime) TEST_DECLARE (fs_futime) TEST_DECLARE (fs_file_open_append) TEST_DECLARE (fs_stat_missing_path) +TEST_DECLARE (fs_read_bufs) TEST_DECLARE (fs_read_file_eof) TEST_DECLARE (fs_event_watch_dir) TEST_DECLARE (fs_event_watch_dir_recursive) @@ -582,6 +584,7 @@ TASK_LIST_START TEST_HELPER (tcp_write_fail, tcp4_echo_server) TEST_ENTRY (tcp_try_write) + TEST_ENTRY (tcp_try_write_error) TEST_ENTRY (tcp_write_queue_order) @@ -776,7 +779,7 @@ TASK_LIST_START TEST_ENTRY (tmpdir) - TEST_ENTRY (hrtime) + TEST_ENTRY_CUSTOM (hrtime, 0, 0, 10000) TEST_ENTRY_CUSTOM (getaddrinfo_fail, 0, 0, 10000) TEST_ENTRY_CUSTOM (getaddrinfo_fail_sync, 0, 0, 10000) @@ -911,6 +914,7 @@ TASK_LIST_START TEST_ENTRY (fs_non_symlink_reparse_point) #endif TEST_ENTRY (fs_stat_missing_path) + TEST_ENTRY (fs_read_bufs) TEST_ENTRY (fs_read_file_eof) TEST_ENTRY (fs_file_open_append) TEST_ENTRY (fs_event_watch_dir) diff --git a/deps/uv/test/test-tcp-try-write-error.c b/deps/uv/test/test-tcp-try-write-error.c new file mode 100644 index 00000000000000..58d4723c0903ef --- /dev/null +++ b/deps/uv/test/test-tcp-try-write-error.c @@ -0,0 +1,109 @@ +/* Copyright libuv contributors. All rights reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + */ + +#include "uv.h" +#include "task.h" + +#include +#include +#include + +static uv_tcp_t server; +static uv_tcp_t client; +static uv_tcp_t incoming; +static int connect_cb_called; +static int close_cb_called; +static int connection_cb_called; + + +static void close_cb(uv_handle_t* handle) { + close_cb_called++; +} + +static void incoming_close_cb(uv_handle_t* handle) { + uv_buf_t buf; + int r = 1; + + close_cb_called++; + + buf = uv_buf_init("meow", 4); + while (r > 0) + r = uv_try_write((uv_stream_t*) &client, &buf, 1); + fprintf(stderr, "uv_try_write error: %d %s\n", r, uv_strerror(r)); + ASSERT(r == UV_EPIPE || r == UV_ECONNABORTED); + ASSERT(client.write_queue_size == 0); +} + + +static void connect_cb(uv_connect_t* req, int status) { + ASSERT(status == 0); + connect_cb_called++; +} + + +static void connection_cb(uv_stream_t* tcp, int status) { + ASSERT(status == 0); + + ASSERT(0 == uv_tcp_init(tcp->loop, &incoming)); + ASSERT(0 == uv_accept(tcp, (uv_stream_t*) &incoming)); + + connection_cb_called++; + uv_close((uv_handle_t*) &incoming, incoming_close_cb); + uv_close((uv_handle_t*) tcp, close_cb); +} + + +static void start_server(void) { + struct sockaddr_in addr; + + ASSERT(0 == uv_ip4_addr("0.0.0.0", TEST_PORT, &addr)); + + ASSERT(0 == uv_tcp_init(uv_default_loop(), &server)); + ASSERT(0 == uv_tcp_bind(&server, (struct sockaddr*) &addr, 0)); + ASSERT(0 == uv_listen((uv_stream_t*) &server, 128, connection_cb)); +} + + +TEST_IMPL(tcp_try_write_error) { + uv_connect_t connect_req; + struct sockaddr_in addr; + + start_server(); + + ASSERT(0 == uv_ip4_addr("127.0.0.1", TEST_PORT, &addr)); + + ASSERT(0 == uv_tcp_init(uv_default_loop(), &client)); + ASSERT(0 == uv_tcp_connect(&connect_req, + &client, + (struct sockaddr*) &addr, + connect_cb)); + + ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_DEFAULT)); + uv_close((uv_handle_t*) &client, close_cb); + ASSERT(0 == uv_run(uv_default_loop(), UV_RUN_DEFAULT)); + + ASSERT(connect_cb_called == 1); + ASSERT(close_cb_called == 3); + ASSERT(connection_cb_called == 1); + + MAKE_VALGRIND_HAPPY(); + return 0; +} diff --git a/deps/uv/test/test.gyp b/deps/uv/test/test.gyp index ff64ef0be8d4b4..a4083e917834b5 100644 --- a/deps/uv/test/test.gyp +++ b/deps/uv/test/test.gyp @@ -120,6 +120,7 @@ 'test-tcp-writealot.c', 'test-tcp-write-fail.c', 'test-tcp-try-write.c', + 'test-tcp-try-write-error.c', 'test-tcp-unexpected-read.c', 'test-tcp-oob.c', 'test-tcp-read-stop.c', From b8084840d8a84b7818a952e84419f78b74bf2470 Mon Sep 17 00:00:00 2001 From: silverwind Date: Wed, 26 Jun 2019 22:42:09 +0200 Subject: [PATCH 126/144] tools: change editorconfig's 'ignore' to 'unset' According to https://editorconfig.org/#supported-properties the canonical way to disable a property is to set it to 'unset'. We did use 'ignore' and this generally works because tools ignore unknown values but some of them like `eclint` are picky on it. PR-URL: https://github.com/nodejs/node/pull/28440 Reviewed-By: Rich Trott Reviewed-By: Luigi Pinca Reviewed-By: Trivikram Kamat --- .editorconfig | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.editorconfig b/.editorconfig index f1eff1dffcfe42..4a6b8a6375311b 100644 --- a/.editorconfig +++ b/.editorconfig @@ -16,11 +16,11 @@ indent_size = 8 indent_style = tab [{deps}/**] -charset = ignore -end_of_line = ignore -indent_size = ignore -indent_style = ignore -trim_trailing_whitespace = ignore +charset = unset +end_of_line = unset +indent_size = unset +indent_style = unset +trim_trailing_whitespace = unset [{test/fixtures,deps,tools/node_modules,tools/gyp,tools/icu,tools/msvs}/**] insert_final_newline = false From c9a96aeeeebc60b109ab0a9caff24aa0a4a67bcb Mon Sep 17 00:00:00 2001 From: Guy Bedford Date: Sun, 23 Jun 2019 00:27:56 +0200 Subject: [PATCH 127/144] esm: ensure cwd-relative imports for module --eval PR-URL: https://github.com/nodejs/node/pull/28389 Reviewed-By: Colin Ihrig --- lib/internal/modules/esm/loader.js | 10 ++++++++-- test/message/async_error_eval_esm.out | 10 +++++----- test/parallel/test-cli-eval.js | 9 +++++++++ 3 files changed, 22 insertions(+), 7 deletions(-) diff --git a/lib/internal/modules/esm/loader.js b/lib/internal/modules/esm/loader.js index 0ea1e6f4e56955..bffefa884e4821 100644 --- a/lib/internal/modules/esm/loader.js +++ b/lib/internal/modules/esm/loader.js @@ -9,7 +9,10 @@ const { ERR_MISSING_DYNAMIC_INSTANTIATE_HOOK, ERR_UNKNOWN_MODULE_FORMAT } = require('internal/errors').codes; -const { URL } = require('url'); +const { + URL, + pathToFileURL +} = require('url'); const { validateString } = require('internal/validators'); const ModuleMap = require('internal/modules/esm/module_map'); const ModuleJob = require('internal/modules/esm/module_job'); @@ -107,7 +110,10 @@ class Loader { return { url, format }; } - async eval(source, url = `eval:${++this.evalIndex}`) { + async eval( + source, + url = pathToFileURL(`${process.cwd()}/[eval${++this.evalIndex}]`).href + ) { const evalInstance = async (url) => { return { module: new ModuleWrap(source, url), diff --git a/test/message/async_error_eval_esm.out b/test/message/async_error_eval_esm.out index 91ce0ce21cd456..578a9f5c26160e 100644 --- a/test/message/async_error_eval_esm.out +++ b/test/message/async_error_eval_esm.out @@ -1,7 +1,7 @@ Error: test - at one (eval:1:2:9) - at two (eval:1:15:9) + at one (file:*/[eval1]:2:9) + at two (file:*/[eval1]:15:9) at processTicksAndRejections (internal/process/task_queues.js:*:*) - at async three (eval:1:18:3) - at async four (eval:1:22:3) - at async main (eval:1:28:5) + at async three (file:*/[eval1]:18:3) + at async four (file:*/[eval1]:22:3) + at async main (file:*/[eval1]:28:5) diff --git a/test/parallel/test-cli-eval.js b/test/parallel/test-cli-eval.js index acf20bb77fc9d1..0d2ea48c06fa39 100644 --- a/test/parallel/test-cli-eval.js +++ b/test/parallel/test-cli-eval.js @@ -274,3 +274,12 @@ child.exec( assert.ifError(err); assert.strictEqual(stdout, 'object\n'); })); + +// Assert that packages can be imported cwd-relative with --eval +child.exec( + `${nodejs} ${execOptions} ` + + '--eval "import \'./test/fixtures/es-modules/mjs-file.mjs\'"', + common.mustCall((err, stdout) => { + assert.ifError(err); + assert.strictEqual(stdout, '.mjs file\n'); + })); From 624fd17064f30e1bf410e394ab1a7c9c54763798 Mon Sep 17 00:00:00 2001 From: David Carlier Date: Thu, 27 Jun 2019 17:36:56 +0100 Subject: [PATCH 128/144] src: fix small memory leak PR-URL: https://github.com/nodejs/node/pull/28452 Reviewed-By: Joyee Cheung Reviewed-By: Colin Ihrig Reviewed-By: Anna Henningsen Reviewed-By: Rich Trott Reviewed-By: James M Snell --- src/node_contextify.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/node_contextify.cc b/src/node_contextify.cc index 70c63a0d8a3ec1..a13eed9d0ffdeb 100644 --- a/src/node_contextify.cc +++ b/src/node_contextify.cc @@ -260,11 +260,14 @@ void ContextifyContext::MakeContext(const FunctionCallbackInfo& args) { if (try_catch.HasCaught()) { if (!try_catch.HasTerminated()) try_catch.ReThrow(); + delete context; return; } - if (context->context().IsEmpty()) + if (context->context().IsEmpty()) { + delete context; return; + } sandbox->SetPrivate( env->context(), From 19f92817432606fd2bd506cd13520a0bf87f8dad Mon Sep 17 00:00:00 2001 From: vmarchaud Date: Sun, 2 Jun 2019 13:33:47 +0200 Subject: [PATCH 129/144] process: expose uv_rusage on process.resourcesUsage() As discussed in https://github.com/nodejs/diagnostics/issues/161, the core should expose important metrics about the runtime, this PR's goal is to let user get the number of io request made, and lower level mertrics like the page faults and context switches. PR-URL: https://github.com/nodejs/node/pull/28018 Reviewed-By: Ben Noordhuis Reviewed-By: Colin Ihrig Reviewed-By: Anna Henningsen --- doc/api/process.md | 89 ++++++++++++++++++++++++++++ lib/internal/bootstrap/node.js | 1 + lib/internal/process/per_thread.js | 27 ++++++++- src/node_process_methods.cc | 33 +++++++++++ test/parallel/test-resource-usage.js | 27 +++++++++ 5 files changed, 176 insertions(+), 1 deletion(-) create mode 100644 test/parallel/test-resource-usage.js diff --git a/doc/api/process.md b/doc/api/process.md index 752889b3f0ee03..ec48906d5c2629 100644 --- a/doc/api/process.md +++ b/doc/api/process.md @@ -1815,6 +1815,91 @@ process.report.writeReport(); Additional documentation is available in the [report documentation][]. +## process.resourceUsage() + + +* Returns: {Object} + * `userCPUTime` {integer} + * `systemCPUTime` {integer} + * `maxRSS` {integer} + * `sharedMemorySize` {integer} + * `unsharedDataSize` {integer} + * `unsharedStackSize` {integer} + * `minorPageFault` {integer} + * `majorPageFault` {integer} + * `swapedOut` {integer} + * `fsRead` {integer} + * `fsWrite` {integer} + * `ipcSent` {integer} + * `ipcReceived` {integer} + * `signalsCount` {integer} + * `voluntaryContextSwitches` {integer} + * `involuntaryContextSwitches` {integer} + +The `process.resourceUsage()` method returns the resource usage +for the current process. +All of these values come from the `uv_getrusage` call which returns +[this struct][uv_rusage_t], here the mapping between node and libuv: +- `userCPUTime` maps to `ru_utime` computed in microseconds. +It is the values as [`process.cpuUsage().user`][process.cpuUsage] +- `systemCPUTime` maps to `ru_stime` computed in microseconds. +It is the value as [`process.cpuUsage().system`][process.cpuUsage] +- `maxRSS` maps to `ru_maxrss` which is the maximum resident set size +used (in kilobytes). +- `sharedMemorySize` maps to `ru_ixrss` but is not supported by any platform. +- `unsharedDataSize` maps to `ru_idrss` but is not supported by any platform. +- `unsharedStackSize` maps to `ru_isrss` but is not supported by any platform. +- `minorPageFault` maps to `ru_minflt` which is the number of minor page fault +for the process, see [this article for more details][wikipedia_minor_fault] +- `majorPageFault` maps to `ru_majflt` which is the number of major page fault +for the process, see [this article for more details][wikipedia_major_fault]. +This field is not supported on Windows platforms. +- `swappedOut` maps to `ru_nswap` which is not supported by any platform. +- `fsRead` maps to `ru_inblock` which is the number of times the file system +had to perform input. +- `fsWrite` maps to `ru_oublock` which is the number of times the file system +had to perform output. +- `ipcSent` maps to `ru_msgsnd` but is not supported by any platform. +- `ipcReceived` maps to `ru_msgrcv` but is not supported by any platform. +- `signalsCount` maps to `ru_nsignals` but is not supported by any platform. +- `voluntaryContextSwitches` maps to `ru_nvcsw` which is the number of times +a CPU context switch resulted due to a process voluntarily giving up the +processor before its time slice was completed +(usually to await availability of a resource). +This field is not supported on Windows platforms. +- `involuntaryContextSwitches` maps to `ru_nivcsw` which is the number of times +a CPU context switch resulted due to a higher priority process becoming runnable + or because the current process exceeded its time slice. +This field is not supported on Windows platforms. + + +```js +console.log(process.resourceUsage()); +/* + Will output: + { + userCPUTime: 82872, + systemCPUTime: 4143, + maxRSS: 33164, + sharedMemorySize: 0, + unsharedDataSize: 0, + unsharedStackSize: 0, + minorPageFault: 2469, + majorPageFault: 0, + swapedOut: 0, + fsRead: 0, + fsWrite: 8, + ipcSent: 0, + ipcReceived: 0, + signalsCount: 0, + voluntaryContextSwitches: 79, + involuntaryContextSwitches: 1 + } +*/ +``` + ## process.send(message[, sendHandle[, options]][, callback]) /;var h=/^<\?/;var p=/\?>/;var v=/^/;var D=/^/;var g=/^$/;var E=new RegExp(i.source+"\\s*$");function blockHtml(e,r,t){var i=this;var A=i.options.blocks.join("|");var C=new RegExp("^|$))","i");var y=r.length;var w=0;var x;var b;var F;var S;var B;var k;var O;var P=[[o,f,true],[l,c,true],[h,p,true],[v,d,true],[D,m,true],[C,g,true],[E,g,false]];while(w0&&v.indenta){return}if(!m||!f&&u.charAt(c+1)===n){return}l=u.length+1;D="";while(++c0){var t=peek();if(!a.isHexDigit(t)){throw invalidChar(read())}e+=read()}return String.fromCodePoint(parseInt(e,16))}var C={start:function start(){if(h.type==="eof"){throw invalidEOF()}push()},beforePropertyName:function beforePropertyName(){switch(h.type){case"identifier":case"string":p=h.value;s="afterPropertyName";return;case"punctuator":pop();return;case"eof":throw invalidEOF()}},afterPropertyName:function afterPropertyName(){if(h.type==="eof"){throw invalidEOF()}s="beforePropertyValue"},beforePropertyValue:function beforePropertyValue(){if(h.type==="eof"){throw invalidEOF()}push()},beforeArrayValue:function beforeArrayValue(){if(h.type==="eof"){throw invalidEOF()}if(h.type==="punctuator"&&h.value==="]"){pop();return}push()},afterPropertyValue:function afterPropertyValue(){if(h.type==="eof"){throw invalidEOF()}switch(h.value){case",":s="beforePropertyName";return;case"}":pop()}},afterArrayValue:function afterArrayValue(){if(h.type==="eof"){throw invalidEOF()}switch(h.value){case",":s="beforeArrayValue";return;case"]":pop()}},end:function end(){}};function push(){var e=void 0;switch(h.type){case"punctuator":switch(h.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=h.value;break}if(v===undefined){v=e}else{var r=o[o.length-1];if(Array.isArray(r)){r.push(e)}else{r[p]=e}}if(e!==null&&(typeof e==="undefined"?"undefined":i(e))==="object"){o.push(e);if(Array.isArray(e)){s="beforeArrayValue"}else{s="beforePropertyName"}}else{var t=o[o.length-1];if(t==null){s="end"}else if(Array.isArray(t)){s="afterArrayValue"}else{s="afterPropertyValue"}}}function pop(){o.pop();var e=o[o.length-1];if(e==null){s="end"}else if(Array.isArray(e)){s="afterArrayValue"}else{s="afterPropertyValue"}}function invalidChar(e){if(e===undefined){return syntaxError("JSON5: invalid end of input at "+l+":"+c)}return syntaxError("JSON5: invalid character '"+formatChar(e)+"' at "+l+":"+c)}function invalidEOF(){return syntaxError("JSON5: invalid end of input at "+l+":"+c)}function invalidIdentifier(){c-=5;return syntaxError("JSON5: invalid identifier character at "+l+":"+c)}function separatorChar(e){console.warn("JSON5: '"+e+"' is not valid ECMAScript; consider escaping")}function formatChar(e){var r={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(r[e]){return r[e]}if(e<" "){var t=e.charCodeAt(0).toString(16);return"\\x"+("00"+t).substring(t.length)}return e}function syntaxError(e){var r=new SyntaxError(e);r.lineNumber=l;r.columnNumber=c;return r}e.exports=r["default"]},,function(e,r,t){"use strict";var i=t(66);var n=t(589);var a=t(345);var u=t(347)("unified-engine:find-up");var s=t(692);e.exports=FindUp;var o=i.readFile;var f=n.resolve;var l=n.relative;var c=n.join;var h=n.dirname;FindUp.prototype.load=load;function FindUp(e){var r=this;var t=e.filePath;r.cache={};r.cwd=e.cwd;r.detect=e.detect;r.names=e.names;r.create=e.create;if(t){r.givenFilePath=f(e.cwd,t)}}function load(e,r){var t=this;var i=t.cache;var n=t.givenFilePath;var p=t.givenFile;var v=t.names;var d=t.create;var D=t.cwd;var m;if(n){if(p){apply(r,p)}else{p=[r];t.givenFile=p;u("Checking given file `%s`",n);o(n,loadGiven)}return}if(!t.detect){return r()}e=f(D,e);m=h(e);if(m in i){apply(r,i[m])}else{i[m]=[r];find(m)}function loadGiven(e,r){var i=t.givenFile;var s;if(e){s=a("Cannot read given file `%s`\n%s",l(D,n),e.stack);s.code="ENOENT";s.path=e.path;s.syscall=e.syscall}else{try{s=d(r,n);u("Read given file `%s`",n)}catch(e){s=a("Cannot parse given file `%s`\n%s",l(D,n),e.stack);u(e.message)}}p=s;t.givenFile=s;applyAll(i,s)}function find(r){var t=-1;var n=v.length;next();function next(){var a;if(++t{if(e)console.error(e);process.exit(r)})},,,,,,,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(839);var u=t(526);e.exports=i("remark-lint:code-block-style",codeBlockStyle);var s=a.start;var o=a.end;var f={null:true,fenced:true,indented:true};function codeBlockStyle(e,r,t){var i=String(r);t=typeof t==="string"&&t!=="consistent"?t:null;if(f[t]!==true){r.fail("Invalid code block style `"+t+"`: use either `'consistent'`, `'fenced'`, or `'indented'`")}n(e,"code",visitor);function visitor(e){var i=check(e);if(i){if(!t){t=i}else if(t!==i){r.message("Code blocks should be "+t,e)}}}function check(e){var r=s(e).offset;var t=o(e).offset;if(u(e)){return null}return e.lang||/^\s*([~`])\1{2,}/.test(i.slice(r,t))?"fenced":"indented"}}},,,function(e,r,t){"use strict";var i=t(589);var n=t(77);var a=t(289);e.exports=Ignore;Ignore.prototype.check=check;var u=i.dirname;var s=i.relative;var o=i.resolve;function Ignore(e){this.cwd=e.cwd;this.findUp=new a({filePath:e.ignorePath,cwd:e.cwd,detect:e.detectIgnore,names:e.ignoreName?[e.ignoreName]:[],create:create})}function check(e,r){var t=this;t.findUp.load(e,done);function done(i,n){var a;if(i){r(i)}else if(n){a=s(n.filePath,o(t.cwd,e));r(null,a?n.ignores(a):false)}else{r(null,false)}}}function create(e,r){var t=n().add(String(e));t.filePath=u(r);return t}},,,,function(e){e.exports={nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",fnof:"ƒ",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",bull:"•",hellip:"…",prime:"′",Prime:"″",oline:"‾",frasl:"⁄",weierp:"℘",image:"ℑ",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",quot:'"',amp:"&",lt:"<",gt:">",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",permil:"‰",lsaquo:"‹",rsaquo:"›",euro:"€"}},,,,function(e,r,t){"use strict";var i=t(54);e.exports=enclose;var n="(";var a=")";var u="<";var s=">";var o=/\s/;function enclose(e,r){if(r||e.length===0||o.test(e)||i(e,n)!==i(e,a)){return u+e+s}return e}},,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(839);var u=t(526);e.exports=i("remark-lint:table-pipes",tablePipes);var s=a.start;var o=a.end;var f="Missing initial pipe in table fence";var l="Missing final pipe in table fence";function tablePipes(e,r){var t=String(r);n(e,"table",visitor);function visitor(e){var i=e.children;var n=i.length;var a=-1;var c;var h;var p;var v;var d;var D;while(++a0?parseInt(r):null};for(;i1)return true;for(var a=0;athis.maxLength)return r();if(!this.stat&&m(this.cache,t)){var a=this.cache[t];if(Array.isArray(a))a="DIR";if(!n||a==="DIR")return r(null,a);if(n&&a==="FILE")return r()}var u;var s=this.statCache[t];if(s!==undefined){if(s===false)return r(null,s);else{var o=s.isDirectory()?"DIR":"FILE";if(n&&o==="FILE")return r();else return r(null,o,s)}}var f=this;var l=g("stat\0"+t,lstatcb_);if(l)i.lstat(t,l);function lstatcb_(n,a){if(a&&a.isSymbolicLink()){return i.stat(t,function(i,n){if(i)f._stat2(e,t,null,a,r);else f._stat2(e,t,i,n,r)})}else{f._stat2(e,t,n,a,r)}}};Glob.prototype._stat2=function(e,r,t,i,n){if(t&&(t.code==="ENOENT"||t.code==="ENOTDIR")){this.statCache[r]=false;return n()}var a=e.slice(-1)==="/";this.statCache[r]=i;if(r.slice(-1)==="/"&&i&&!i.isDirectory())return n(null,false,i);var u=true;if(i)u=i.isDirectory()?"DIR":"FILE";this.cache[r]=this.cache[r]||u;if(a&&u==="FILE")return n();return n(null,u,i)}},function(e,r,t){"use strict";var i=t(36);var n=t(439);var a=t(934);var u=t(724);e.exports=paragraph;var s="\t";var o="\n";var f=" ";var l=4;function paragraph(e,r,t){var c=this;var h=c.options;var p=h.commonmark;var v=h.gfm;var d=c.blockTokenizers;var D=c.interruptParagraph;var m=r.indexOf(o);var g=r.length;var E;var A;var C;var y;var w;while(m=l&&C!==o){m=r.indexOf(o,m+1);continue}}A=r.slice(m+1);if(u(D,d,c,[e,A,true])){break}if(d.list.call(c,e,A,true)&&(c.inList||p||v&&!n(i.left(A).charAt(0)))){break}E=m;m=r.indexOf(o,m+1);if(m!==-1&&i(r.slice(E,m))===""){m=E;break}}A=r.slice(0,m);if(i(A)===""){e(A);return null}if(t){return true}w=e.now();A=a(A);return e(A)({type:"paragraph",children:c.tokenizeInline(A,w)})}},function(e,r,t){"use strict";var i;var n;try{var a=i;n=t(644)}catch(e){if(typeof window!=="undefined")n=window.esprima}var u=t(211);function resolveJavascriptFunction(e){if(e===null)return false;try{var r="("+e+")",t=n.parse(r,{range:true});if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression"){return false}return true}catch(e){return false}}function constructJavascriptFunction(e){var r="("+e+")",t=n.parse(r,{range:true}),i=[],a;if(t.type!=="Program"||t.body.length!==1||t.body[0].type!=="ExpressionStatement"||t.body[0].expression.type!=="ArrowFunctionExpression"&&t.body[0].expression.type!=="FunctionExpression"){throw new Error("Failed to resolve function")}t.body[0].expression.params.forEach(function(e){i.push(e.name)});a=t.body[0].expression.body.range;if(t.body[0].expression.body.type==="BlockStatement"){return new Function(i,r.slice(a[0]+1,a[1]-1))}return new Function(i,"return "+r.slice(a[0],a[1]))}function representJavascriptFunction(e){return e.toString()}function isFunction(e){return Object.prototype.toString.call(e)==="[object Function]"}e.exports=new u("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:resolveJavascriptFunction,construct:constructJavascriptFunction,predicate:isFunction,represent:representJavascriptFunction})},,,function(e,r,t){"use strict";var i=t(171);var n=t(984);var a=t(426);e.exports=reference;reference.locator=n;var u="link";var s="image";var o="footnote";var f="shortcut";var l="collapsed";var c="full";var h=" ";var p="!";var v="[";var d="\\";var D="]";var m="^";function reference(e,r,t){var n=this;var g=n.options.commonmark;var E=r.charAt(0);var A=0;var C=r.length;var y="";var w="";var x=u;var b=f;var F;var S;var B;var k;var O;var P;var T;var I;if(E===p){x=s;w=E;E=r.charAt(++A)}if(E!==v){return}A++;w+=E;P="";if(n.options.footnotes&&r.charAt(A)===m){if(x===s){return}w+=m;A++;x=o}I=0;while(A "+h.destination:""}if(!h.stats.total){p+=p?": ":"";if(h.stored){p+=m.yellow.open+"written"+m.yellow.close}else{p+="no issues found"}}if(p){f.push(p)}}else{g=m[h.label==="error"?"red":"yellow"];E=h.reason;A="";C=E.indexOf("\n");if(C!==-1){A=E.slice(C);E=E.slice(0,C)}f.push(["",padLeft(h.location,e.location),padRight(g.open+h.label+g.close,e.label),padRight(E,e.reason),padRight(h.ruleId,e.ruleId),h.source||""].join(" ").replace(c,"")+A)}}if(a.fatal||a.warn){p=[];if(a.fatal){p.push([m.red.open+l.error+m.red.close,a.fatal,plural(D.true,a.fatal)].join(" "))}if(a.warn){p.push([m.yellow.open+l.warning+m.yellow.close,a.warn,plural(D.false,a.warn)].join(" "))}p=p.join(", ");if(a.total!==a.fatal&&a.total!==a.warn){p=a.total+" messages ("+p+")"}f.push("",p)}return f.join("\n")}function applicable(e,r){var t=e.messages;var i=t.length;var n=-1;var a=[];if(r.silent){while(++n64)continue;if(r<0)return false;i+=6}return i%8===0}function constructYamlBinary(e){var r,t,i=e.replace(/[\r\n=]/g,""),a=i.length,u=s,o=0,f=[];for(r=0;r>16&255);f.push(o>>8&255);f.push(o&255)}o=o<<6|u.indexOf(i.charAt(r))}t=a%4*6;if(t===0){f.push(o>>16&255);f.push(o>>8&255);f.push(o&255)}else if(t===18){f.push(o>>10&255);f.push(o>>2&255)}else if(t===12){f.push(o>>4&255)}if(n){return n.from?n.from(f):new n(f)}return f}function representYamlBinary(e){var r="",t=0,i,n,a=e.length,u=s;for(i=0;i>18&63];r+=u[t>>12&63];r+=u[t>>6&63];r+=u[t&63]}t=(t<<8)+e[i]}n=a%3;if(n===0){r+=u[t>>18&63];r+=u[t>>12&63];r+=u[t>>6&63];r+=u[t&63]}else if(n===2){r+=u[t>>10&63];r+=u[t>>4&63];r+=u[t<<2&63];r+=u[64]}else if(n===1){r+=u[t>>2&63];r+=u[t<<4&63];r+=u[64];r+=u[64]}return r}function isBinary(e){return n&&n.isBuffer(e)}e.exports=new u("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary})},function(e){"use strict";var r=[].slice;e.exports=wrap;function wrap(e,t){var i;return wrapped;function wrapped(){var t=r.call(arguments,0);var n=e.length>t.length;var a;if(n){t.push(done)}try{a=e.apply(null,t)}catch(e){if(n&&i){throw e}return done(e)}if(!n){if(a&&typeof a.then==="function"){a.then(then,done)}else if(a instanceof Error){done(a)}else{then(a)}}}function done(){if(!i){i=true;t.apply(null,arguments)}}function then(e){done(null,e)}}},function(e){e.exports=extend;var r=Object.prototype.hasOwnProperty;function extend(){var e={};for(var t=0;ti){r.message("Move definitions to the end of the file (after the node at line `"+t+"`)",e)}}else if(t===null){t=i}}}},function(e){var r=Object.prototype.toString;e.exports=isString;function isString(e){return r.call(e)==="[object String]"}},function(e,r,t){"use strict";var i=t(874);e.exports=configure;function configure(e,r){e.configuration=new i(r)}},,,,function(e,r,t){"use strict";var i=t(323);var n=create(Error);e.exports=n;n.eval=create(EvalError);n.range=create(RangeError);n.reference=create(ReferenceError);n.syntax=create(SyntaxError);n.type=create(TypeError);n.uri=create(URIError);n.create=create;function create(e){FormattedError.displayName=e.displayName||e.name;return FormattedError;function FormattedError(r){if(r){r=i.apply(null,arguments)}return new e(r)}}},,function(e,r,t){"use strict";if(typeof process==="undefined"||process.type==="renderer"||process.browser===true||process.__nwjs){e.exports=t(470)}else{e.exports=t(970)}},function(e,r,t){var i=t(20);var n=t(491);e.exports=expandTop;var a="\0SLASH"+Math.random()+"\0";var u="\0OPEN"+Math.random()+"\0";var s="\0CLOSE"+Math.random()+"\0";var o="\0COMMA"+Math.random()+"\0";var f="\0PERIOD"+Math.random()+"\0";function numeric(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function escapeBraces(e){return e.split("\\\\").join(a).split("\\{").join(u).split("\\}").join(s).split("\\,").join(o).split("\\.").join(f)}function unescapeBraces(e){return e.split(a).join("\\").split(u).join("{").split(s).join("}").split(o).join(",").split(f).join(".")}function parseCommaParts(e){if(!e)return[""];var r=[];var t=n("{","}",e);if(!t)return e.split(",");var i=t.pre;var a=t.body;var u=t.post;var s=i.split(",");s[s.length-1]+="{"+a+"}";var o=parseCommaParts(u);if(u.length){s[s.length-1]+=o.shift();s.push.apply(s,o)}r.push.apply(r,s);return r}function expandTop(e){if(!e)return[];if(e.substr(0,2)==="{}"){e="\\{\\}"+e.substr(2)}return expand(escapeBraces(e),true).map(unescapeBraces)}function identity(e){return e}function embrace(e){return"{"+e+"}"}function isPadded(e){return/^-?0\d/.test(e)}function lte(e,r){return e<=r}function gte(e,r){return e>=r}function expand(e,r){var t=[];var a=n("{","}",e);if(!a||/\$$/.test(a.pre))return[e];var u=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(a.body);var o=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(a.body);var f=u||o;var l=a.body.indexOf(",")>=0;if(!f&&!l){if(a.post.match(/,.*\}/)){e=a.pre+"{"+a.body+s+a.post;return expand(e)}return[e]}var c;if(f){c=a.body.split(/\.\./)}else{c=parseCommaParts(a.body);if(c.length===1){c=expand(c[0],false).map(embrace);if(c.length===1){var h=a.post.length?expand(a.post,false):[""];return h.map(function(e){return a.pre+c[0]+e})}}}var p=a.pre;var h=a.post.length?expand(a.post,false):[""];var v;if(f){var d=numeric(c[0]);var D=numeric(c[1]);var m=Math.max(c[0].length,c[1].length);var g=c.length==3?Math.abs(numeric(c[2])):1;var E=lte;var A=D0){var b=new Array(x+1).join("0");if(y<0)w="-"+b+w.slice(1);else w=b+w}}}v.push(w)}}else{v=i(c,function(e){return expand(e,false)})}for(var F=0;F>5===6)return 2;else if(e>>4===14)return 3;else if(e>>3===30)return 4;return e>>6===2?-1:-2}function utf8CheckIncomplete(e,r,t){var i=r.length-1;if(i=0){if(n>0)e.lastNeed=n-1;return n}if(--i=0){if(n>0)e.lastNeed=n-2;return n}if(--i=0){if(n>0){if(n===2)n=0;else e.lastNeed=n-3}return n}return 0}function utf8CheckExtraBytes(e,r,t){if((r[0]&192)!==128){e.lastNeed=0;return"�"}if(e.lastNeed>1&&r.length>1){if((r[1]&192)!==128){e.lastNeed=1;return"�"}if(e.lastNeed>2&&r.length>2){if((r[2]&192)!==128){e.lastNeed=2;return"�"}}}}function utf8FillLast(e){var r=this.lastTotal-this.lastNeed;var t=utf8CheckExtraBytes(this,e,r);if(t!==undefined)return t;if(this.lastNeed<=e.length){e.copy(this.lastChar,r,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,r,0,e.length);this.lastNeed-=e.length}function utf8Text(e,r){var t=utf8CheckIncomplete(this,e,r);if(!this.lastNeed)return e.toString("utf8",r);this.lastTotal=t;var i=e.length-(t-this.lastNeed);e.copy(this.lastChar,0,i);return e.toString("utf8",r,i)}function utf8End(e){var r=e&&e.length?this.write(e):"";if(this.lastNeed)return r+"�";return r}function utf16Text(e,r){if((e.length-r)%2===0){var t=e.toString("utf16le",r);if(t){var i=t.charCodeAt(t.length-1);if(i>=55296&&i<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1];return t.slice(0,-1)}}return t}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=e[e.length-1];return e.toString("utf16le",r,e.length-1)}function utf16End(e){var r=e&&e.length?this.write(e):"";if(this.lastNeed){var t=this.lastTotal-this.lastNeed;return r+this.lastChar.toString("utf16le",0,t)}return r}function base64Text(e,r){var t=(e.length-r)%3;if(t===0)return e.toString("base64",r);this.lastNeed=3-t;this.lastTotal=3;if(t===1){this.lastChar[0]=e[e.length-1]}else{this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1]}return e.toString("base64",r,e.length-t)}function base64End(e){var r=e&&e.length?this.write(e):"";if(this.lastNeed)return r+this.lastChar.toString("base64",0,3-this.lastNeed);return r}function simpleWrite(e){return e.toString(this.encoding)}function simpleEnd(e){return e&&e.length?this.write(e):""}},,,,function(e,r,t){"use strict";var i=t(186);e.exports=VMessage;function VMessagePrototype(){}VMessagePrototype.prototype=Error.prototype;VMessage.prototype=new VMessagePrototype;var n=VMessage.prototype;n.file="";n.name="";n.reason="";n.message="";n.stack="";n.fatal=null;n.column=null;n.line=null;function VMessage(e,r,t){var n;var a;var u;if(typeof r==="string"){t=r;r=null}n=parseOrigin(t);a=i(r)||"1:1";u={start:{line:null,column:null},end:{line:null,column:null}};if(r&&r.position){r=r.position}if(r){if(r.start){u=r;r=r.start}else{u.start=r}}if(e.stack){this.stack=e.stack;e=e.message}this.message=e;this.name=a;this.reason=e;this.line=r?r.line:null;this.column=r?r.column:null;this.location=u;this.source=n[0];this.ruleId=n[1]}function parseOrigin(e){var r=[null,null];var t;if(typeof e==="string"){t=e.indexOf(":");if(t===-1){r[1]=e}else{r[0]=e.slice(0,t);r[1]=e.slice(t+1)}}return r}},,function(e,r,t){"use strict";var i=t(171);var n=t(902);var a=t(49);e.exports=autoLink;autoLink.locator=a;autoLink.notInLink=true;var u="<";var s=">";var o="@";var f="/";var l="mailto:";var c=l.length;function autoLink(e,r,t){var a=this;var h="";var p=r.length;var v=0;var d="";var D=false;var m="";var g;var E;var A;var C;var y;if(r.charAt(0)!==u){return}v++;h=u;while(v0||Y===x&&I.inLink||M&&Y===B&&r.charAt(_+1)===B||M&&Y===S&&(I.inTable||alignment(r,_))||Y===b&&_>0&&_=e.expected){e.emit("done")}}},,function(e,r,t){"use strict";var i=t(897);var n=t(336);var a=t(860);e.exports=parse;parse.Parser=a;function parse(e){var r=this.data("settings");var t=i(a);t.prototype.options=n(t.prototype.options,r,e);this.Parser=t}},,,,,,function(e,r,t){"use strict";var i=t(176);e.exports=imageReference;var n="[";var a="]";var u="!";function imageReference(e){return u+n+(this.encode(e.alt,e)||"")+a+i(e)}},,,,,,function(e,r,t){"use strict";var i=t(495);e.exports=i("remark-lint:no-file-name-consecutive-dashes",noFileNameConsecutiveDashes);var n="Do not use consecutive dashes in a file name";function noFileNameConsecutiveDashes(e,r){if(r.stem&&/-{2,}/.test(r.stem)){r.message(n)}}},,,,,,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(839);var u=t(526);e.exports=i("remark-lint:fenced-code-marker",fencedCodeMarker);var s={"`":true,"~":true,null:true};function fencedCodeMarker(e,r,t){var i=String(r);t=typeof t==="string"&&t!=="consistent"?t:null;if(s[t]!==true){r.fail("Invalid fenced code marker `"+t+"`: use either `'consistent'`, `` '`' ``, or `'~'`")}n(e,"code",visitor);function visitor(e){var n;if(!u(e)){n=i.substr(a.start(e).offset,4).trimLeft().charAt(0);if(s[n]===true){if(t){if(n!==t){r.message("Fenced code should use "+t+" as a marker",e)}}else{t=n}}}}}},,function(e,r,t){"use strict";var i=t(727);e.exports=new i({include:[t(95)],implicit:[t(788),t(900)],explicit:[t(334),t(157),t(697),t(713)]})},,,function(e){"use strict";e.exports=thematicBreak;var r="\t";var t="\n";var i=" ";var n="*";var a="-";var u="_";var s=3;function thematicBreak(e,o,f){var l=-1;var c=o.length+1;var h="";var p;var v;var d;var D;while(++l=s&&(!p||p===t)){h+=D;if(f){return true}return e(h)({type:"thematicBreak"})}else{return}}}},,function(e){e.exports=require("assert")},,,,,,,function(e,r,t){"use strict";var i=t(774);var n=t(176);e.exports=linkReference;var a="[";var u="]";var s="shortcut";var o="collapsed";function linkReference(e){var r=this;var t=e.referenceType;var f=r.enterLinkReference(r,e);var l=r.all(e).join("");f();if(t===s||t===o){l=i(l,e.label||e.identifier)}return a+l+u+n(e)}},function(e){"use strict";e.exports=lineBreak;var r="\\";var t="\n";var i=" ";var n=r+t;var a=i+i+t;function lineBreak(){return this.options.commonmark?n:a}},function(e,r,t){"use strict";function _classCallCheck(e,r){if(!(e instanceof r)){throw new TypeError("Cannot call a class as a function")}}var i=t(945).Buffer;var n=t(64);function copyBuffer(e,r,t){e.copy(r,t)}e.exports=function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0}BufferList.prototype.push=function push(e){var r={data:e,next:null};if(this.length>0)this.tail.next=r;else this.head=r;this.tail=r;++this.length};BufferList.prototype.unshift=function unshift(e){var r={data:e,next:this.head};if(this.length===0)this.tail=r;this.head=r;++this.length};BufferList.prototype.shift=function shift(){if(this.length===0)return;var e=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return e};BufferList.prototype.clear=function clear(){this.head=this.tail=null;this.length=0};BufferList.prototype.join=function join(e){if(this.length===0)return"";var r=this.head;var t=""+r.data;while(r=r.next){t+=e+r.data}return t};BufferList.prototype.concat=function concat(e){if(this.length===0)return i.alloc(0);if(this.length===1)return this.head.data;var r=i.allocUnsafe(e>>>0);var t=this.head;var n=0;while(t){copyBuffer(t.data,r,n);n+=t.data.length;t=t.next}return r};return BufferList}();if(n&&n.inspect&&n.inspect.custom){e.exports.prototype[n.inspect.custom]=function(){var e=n.inspect({length:this.length});return this.constructor.name+" "+e}}},function(e,r,t){"use strict";var i=t(336);var n=t(109);var a=t(694);e.exports=setOptions;function setOptions(e){var r=this;var t=r.options;var u;var s;if(e==null){e={}}else if(typeof e==="object"){e=i(e)}else{throw new Error("Invalid value `"+e+"` for setting `options`")}for(u in a){s=e[u];if(s==null){s=t[u]}if(u!=="blocks"&&typeof s!=="boolean"||u==="blocks"&&typeof s!=="object"){throw new Error("Invalid value `"+s+"` for setting `options."+u+"`")}e[u]=s}r.options=e;r.escape=n(e);return r}},,function(e){var r=Array.prototype.slice;e.exports=co;function co(e){var t=isGeneratorFunction(e);return function(i){var n=this;var a=e;if(t){var u=r.call(arguments),s=u.length;var o=s&&"function"==typeof u[s-1];i=o?u.pop():error;a=e.apply(this,u)}else{i=i||error}next();function exit(e,r){setImmediate(function(){i.call(n,e,r)})}function next(e,t){var i;if(arguments.length>2)t=r.call(arguments,1);if(e){try{i=a.throw(e)}catch(e){return exit(e)}}if(!e){try{i=a.next(t)}catch(e){return exit(e)}}if(i.done)return exit(null,i.value);i.value=toThunk(i.value,n);if("function"==typeof i.value){var u=false;try{i.value.call(n,function(){if(u)return;u=true;next.apply(n,arguments)})}catch(e){setImmediate(function(){if(u)return;u=true;next(e)})}return}next(new TypeError("You may only yield a function, promise, generator, array, or object, "+'but the following was passed: "'+String(i.value)+'"'))}}}function toThunk(e,r){if(isGeneratorFunction(e)){return co(e.call(r))}if(isGenerator(e)){return co(e)}if(isPromise(e)){return promiseToThunk(e)}if("function"==typeof e){return e}if(isObject(e)||Array.isArray(e)){return objectToThunk.call(r,e)}return e}function objectToThunk(e){var r=this;var t=Array.isArray(e);return function(i){var n=Object.keys(e);var a=n.length;var u=t?new Array(a):new e.constructor;var s;if(!a){setImmediate(function(){i(null,u)});return}if(!t){for(var o=0;ot){r.splice(0,t);process.nextTick(function(){RES.apply(null,i)})}else{delete n[e]}}})}function slice(e){var r=e.length;var t=[];for(var i=0;ii){o+=" with 1 space, not "+u;if(size(a)=48&&r<=57}},function(e,r,t){"use strict";var i=t(308);var n=t(197);var a=t(25);var u=t(908);var s=t(617);e.exports=encode;encode.escape=escape;var o={}.hasOwnProperty;var f=['"',"'","<",">","&","`"];var l=construct();var c=toExpression(f);var h=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;var p=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g;function encode(e,r){var t=r||{};var i=t.subset;var n=i?toExpression(i):c;var a=t.escapeOnly;var u=t.omitOptionalSemicolons;e=e.replace(n,function(e,r,i){return one(e,i.charAt(r+1),t)});if(i||a){return e}return e.replace(h,replaceSurrogatePair).replace(p,replaceBmp);function replaceSurrogatePair(e,r,t){return toHexReference((e.charCodeAt(0)-55296)*1024+e.charCodeAt(1)-56320+65536,t.charAt(r+2),u)}function replaceBmp(e,r,i){return one(e,i.charAt(r+1),t)}}function escape(e){return encode(e,{escapeOnly:true,useNamedReferences:true})}function one(e,r,t){var i=t.useShortestReferences;var n=t.omitOptionalSemicolons;var a;var u;if((i||t.useNamedReferences)&&o.call(l,e)){a=toNamed(l[e],r,n,t.attribute)}if(i||!a){u=toHexReference(e.charCodeAt(0),r,n)}if(a&&(!i||a.length/i;function inlineHTML(e,r,t){var n=this;var h=r.length;var p;var v;if(r.charAt(0)!==u||h<3){return}p=r.charAt(1);if(!i(p)&&p!==s&&p!==o&&p!==f){return}v=r.match(a);if(!v){return}if(t){return true}v=v[0];if(!n.inLink&&l.test(v)){n.inLink=true}else if(n.inLink&&c.test(v)){n.inLink=false}return e(v)({type:"html",value:v})}},function(e){e.exports=["md","markdown","mdown","mkdn","mkd","mdwn","mkdown","ron"]},,,,function(e,r,t){"use strict";var i=t(495);e.exports=i("remark-lint:file-extension",fileExtension);function fileExtension(e,r,t){var i=r.extname;t=typeof t==="string"?t:"md";if(i&&i.slice(1)!==t){r.message("Invalid extension: use `"+t+"`")}}},function(e){"use strict";e.exports=factory;var r="\\";function factory(e,t){return unescape;function unescape(i){var n=0;var a=i.indexOf(r);var u=e[t];var s=[];var o;while(a!==-1){s.push(i.slice(n,a));n=a+1;o=i.charAt(n);if(!o||u.indexOf(o)===-1){s.push(r)}a=i.indexOf(r,n+1)}s.push(i.slice(n));return s.join("")}}},,,function(e,r,t){"use strict";const i=t(495);const n=t(682);e.exports=i("remark-lint:prohibited-strings",prohibitedStrings);function testProhibited(e,r){const t=new RegExp(`(\\.|@[a-z0-9/-]*)?(${e.no})(\\.\\w)?`,"g");let i=null;while(i=t.exec(r)){if(!i[1]&&!i[3]){return i[2]}}return false}function prohibitedStrings(e,r,t){n(e,"text",checkText);function checkText(e){const i=e.value;t.forEach(t=>{const n=testProhibited(t,i);if(n){r.message(`Use "${t.yes}" instead of "${n}"`,e)}})}}},,,,,function(e){"use strict";e.exports=hidden;function hidden(e){if(typeof e!=="string"){throw new Error("Expected string")}return e.charAt(0)==="."}},,,,,function(e,r,t){"use strict";var i=t(171);var n=t(426);e.exports=footnoteDefinition;footnoteDefinition.notInList=true;footnoteDefinition.notInBlock=true;var a="\\";var u="\n";var s="\t";var o=" ";var f="[";var l="]";var c="^";var h=":";var p=/^( {4}|\t)?/gm;function footnoteDefinition(e,r,t){var v=this;var d=v.offset;var D;var m;var g;var E;var A;var C;var y;var w;var x;var b;var F;var S;if(!v.options.footnotes){return}D=0;m=r.length;g="";E=e.now();A=E.line;while(D=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(r){r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff);if(!this.useColors){return}var t="color: "+this.color;r.splice(1,0,t,"color: inherit");var i=0;var n=0;r[0].replace(/%[a-zA-Z%]/g,function(e){if(e==="%%"){return}i++;if(e==="%c"){n=i}});r.splice(n,0,t)}function log(){var e;return(typeof console==="undefined"?"undefined":_typeof(console))==="object"&&console.log&&(e=console).log.apply(e,arguments)}function save(e){try{if(e){r.storage.setItem("debug",e)}else{r.storage.removeItem("debug")}}catch(e){}}function load(){var e;try{e=r.storage.getItem("debug")}catch(e){}if(!e&&typeof process!=="undefined"&&"env"in process){e=process.env.DEBUG}return e}function localstorage(){try{return localStorage}catch(e){}}e.exports=t(772)(r);var i=e.exports.formatters;i.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},,,,function(e,r,t){var i=t(159);var n=t(589).join;var a=t(281);var u="/etc";var s=process.platform==="win32";var o=s?process.env.USERPROFILE:process.env.HOME;e.exports=function(e,r,f,l){if("string"!==typeof e)throw new Error("rc(name): name *must* be string");if(!f)f=t(359)(process.argv.slice(2));r=("string"===typeof r?i.json(r):r)||{};l=l||i.parse;var c=i.env(e+"_");var h=[r];var p=[];function addConfigFile(e){if(p.indexOf(e)>=0)return;var r=i.file(e);if(r){h.push(l(r));p.push(e)}}if(!s)[n(u,e,"config"),n(u,e+"rc")].forEach(addConfigFile);if(o)[n(o,".config",e,"config"),n(o,".config",e),n(o,"."+e,"config"),n(o,"."+e+"rc")].forEach(addConfigFile);addConfigFile(i.find("."+e+"rc"));if(c.config)addConfigFile(c.config);if(f.config)addConfigFile(f.config);return a.apply(null,h.concat([c,f,p.length?{configs:p,config:p[p.length-1]}:undefined]))}},,,,,,,,,,function(e){e.exports={name:"remark",version:"10.0.1",description:"Markdown processor powered by plugins",license:"MIT",keywords:["markdown","abstract","syntax","tree","ast","parse","stringify","process"],homepage:"https://remark.js.org",repository:"https://github.com/remarkjs/remark/tree/master/packages/remark",bugs:"https://github.com/remarkjs/remark/issues",author:"Titus Wormer (https://wooorm.com)",contributors:["Titus Wormer (https://wooorm.com)"],files:["index.js"],dependencies:{"remark-parse":"^6.0.0","remark-stringify":"^6.0.0",unified:"^7.0.0"},devDependencies:{tape:"^4.9.1"},scripts:{test:"tape test.js"},xo:false,_resolved:"https://registry.npmjs.org/remark/-/remark-10.0.1.tgz",_integrity:"sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==",_from:"remark@10.0.1"}},function(e){e.exports=require("events")},,function(e,r,t){e.exports=globSync;globSync.GlobSync=GlobSync;var i=t(66);var n=t(129);var a=t(620);var u=a.Minimatch;var s=t(327).Glob;var o=t(64);var f=t(589);var l=t(393);var c=t(969);var h=t(922);var p=h.alphasort;var v=h.alphasorti;var d=h.setopts;var D=h.ownProp;var m=h.childrenIgnored;var g=h.isIgnored;function globSync(e,r){if(typeof r==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");return new GlobSync(e,r).found}function GlobSync(e,r){if(!e)throw new Error("must provide pattern");if(typeof r==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof GlobSync))return new GlobSync(e,r);d(this,e,r);if(this.noprocess)return this;var t=this.minimatch.set.length;this.matches=new Array(t);for(var i=0;ithis.maxLength)return false;if(!this.stat&&D(this.cache,r)){var n=this.cache[r];if(Array.isArray(n))n="DIR";if(!t||n==="DIR")return n;if(t&&n==="FILE")return false}var a;var u=this.statCache[r];if(!u){var s;try{s=i.lstatSync(r)}catch(e){if(e&&(e.code==="ENOENT"||e.code==="ENOTDIR")){this.statCache[r]=false;return false}}if(s&&s.isSymbolicLink()){try{u=i.statSync(r)}catch(e){u=s}}else{u=s}}this.statCache[r]=u;var n=true;if(u)n=u.isDirectory()?"DIR":"FILE";this.cache[r]=this.cache[r]||n;if(t&&n==="FILE")return false;return n};GlobSync.prototype._mark=function(e){return h.mark(this,e)};GlobSync.prototype._makeAbs=function(e){return h.makeAbs(this,e)}},,,,function(e){"use strict";e.exports=balanced;function balanced(e,r,t){if(e instanceof RegExp)e=maybeMatch(e,t);if(r instanceof RegExp)r=maybeMatch(r,t);var i=range(e,r,t);return i&&{start:i[0],end:i[1],pre:t.slice(0,i[0]),body:t.slice(i[0]+e.length,i[1]),post:t.slice(i[1]+r.length)}}function maybeMatch(e,r){var t=r.match(e);return t?t[0]:null}balanced.range=range;function range(e,r,t){var i,n,a,u,s;var o=t.indexOf(e);var f=t.indexOf(r,o+1);var l=o;if(o>=0&&f>0){i=[];a=t.length;while(l>=0&&!s){if(l==o){i.push(l);o=t.indexOf(e,l+1)}else if(i.length==1){s=[i.pop(),f]}else{n=i.pop();if(n=0?o:f}if(i.length){s=[a,u]}}return s}},,,,function(e,r,t){"use strict";var i=t(659);e.exports=factory;function factory(e,r){var t=e.split(":");var n=t[0];var a=t[1];var u=i(r);if(!a){a=n;n=null}attacher.displayName=e;return attacher;function attacher(e){var r=coerce(a,e);var t=r[0];var i=r[1];var s=t===2;return t?transformer:undefined;function transformer(e,r,t){var o=r.messages.length;u(e,r,i,done);function done(e){var i=r.messages;var u;if(e&&i.indexOf(e)===-1){try{r.fail(e)}catch(e){}}while(o2){throw new Error("Invalid severity `"+n+"` for `"+e+"`, "+"expected 0, 1, or 2")}i[0]=n;return i}},,,,,,,function(e,r,t){"use strict";e.exports=PassThrough;var i=t(955);var n=t(683);n.inherits=t(780);n.inherits(PassThrough,i);function PassThrough(e){if(!(this instanceof PassThrough))return new PassThrough(e);i.call(this,e)}PassThrough.prototype._transform=function(e,r,t){t(null,e)}},function(e,r,t){"use strict";var i=t(353);var n=t(320);e.exports=n;var a=n.prototype;a.message=message;a.info=info;a.fail=fail;a.warn=message;function message(e,r,t){var n=this.path;var a=new i(e,r,t);if(n){a.name=n+":"+a.name;a.file=n}a.fatal=false;this.messages.push(a);return a}function fail(){var e=this.message.apply(this,arguments);e.fatal=true;throw e}function info(){var e=this.message.apply(this,arguments);e.fatal=null;return e}},,,,function(e,r,t){e.exports=t(64).deprecate},,,,function(e){"use strict";e.exports=locate;function locate(e,r){var t=e.indexOf("**",r);var i=e.indexOf("__",r);if(i===-1){return t}if(t===-1){return i}return ii&&e[c+1]!==" ";c=a}}else if(!isPrintable(u)){return j}h=h&&isPlainSafe(u)}o=o||f&&(a-c-1>i&&e[c+1]!==" ")}if(!s&&!o){return h&&!n(e)?I:M}if(t>9&&needIndentIndicator(e)){return j}return o?R:L}function writeScalar(e,r,t,i){e.dump=function(){if(r.length===0){return"''"}if(!e.noCompatMode&&T.indexOf(r)!==-1){return"'"+r+"'"}var a=e.indent*Math.max(1,t);var u=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-a);var s=i||e.flowLevel>-1&&t>=e.flowLevel;function testAmbiguity(r){return testImplicitResolving(e,r)}switch(chooseScalarStyle(r,s,e.indent,u,testAmbiguity)){case I:return r;case M:return"'"+r.replace(/'/g,"''")+"'";case L:return"|"+blockHeader(r,e.indent)+dropEndingNewline(indentString(r,a));case R:return">"+blockHeader(r,e.indent)+dropEndingNewline(indentString(foldString(r,u),a));case j:return'"'+escapeString(r,u)+'"';default:throw new n("impossible error: invalid scalar style")}}()}function blockHeader(e,r){var t=needIndentIndicator(e)?String(r):"";var i=e[e.length-1]==="\n";var n=i&&(e[e.length-2]==="\n"||e==="\n");var a=n?"+":i?"":"-";return t+a+"\n"}function dropEndingNewline(e){return e[e.length-1]==="\n"?e.slice(0,-1):e}function foldString(e,r){var t=/(\n+)([^\n]*)/g;var i=function(){var i=e.indexOf("\n");i=i!==-1?i:e.length;t.lastIndex=i;return foldLine(e.slice(0,i),r)}();var n=e[0]==="\n"||e[0]===" ";var a;var u;while(u=t.exec(e)){var s=u[1],o=u[2];a=o[0]===" ";i+=s+(!n&&!a&&o!==""?"\n":"")+foldLine(o,r);n=a}return i}function foldLine(e,r){if(e===""||e[0]===" ")return e;var t=/ [^ ]/g;var i;var n=0,a,u=0,s=0;var o="";while(i=t.exec(e)){s=i.index;if(s-n>r){a=u>n?u:s;o+="\n"+e.slice(n,a);n=a+1}u=s}o+="\n";if(e.length-n>r&&u>n){o+=e.slice(n,u)+"\n"+e.slice(u+1)}else{o+=e.slice(n)}return o.slice(1)}function escapeString(e){var r="";var t,i;var n;for(var a=0;a=55296&&t<=56319){i=e.charCodeAt(a+1);if(i>=56320&&i<=57343){r+=encodeHex((t-55296)*1024+i-56320+65536);a++;continue}}n=P[t];r+=!n&&isPrintable(t)?e[a]:n||encodeHex(t)}return r}function writeFlowSequence(e,r,t){var i="",n=e.tag,a,u;for(a=0,u=t.length;a1024)l+="? ";l+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" ");if(!writeNode(e,r,f,false,false)){continue}l+=e.dump;i+=l}e.tag=n;e.dump="{"+i+"}"}function writeBlockMapping(e,r,t,i){var a="",u=e.tag,s=Object.keys(t),o,f,c,h,p,v;if(e.sortKeys===true){s.sort()}else if(typeof e.sortKeys==="function"){s.sort(e.sortKeys)}else if(e.sortKeys){throw new n("sortKeys must be a boolean or a function")}for(o=0,f=s.length;o1024;if(p){if(e.dump&&l===e.dump.charCodeAt(0)){v+="?"}else{v+="? "}}v+=e.dump;if(p){v+=generateNextLine(e,r)}if(!writeNode(e,r+1,h,true,p)){continue}if(e.dump&&l===e.dump.charCodeAt(0)){v+=":"}else{v+=": "}v+=e.dump;a+=v}e.tag=u;e.dump=a||"{}"}function detectType(e,r,t){var i,a,u,f,l,c;a=t?e.explicitTypes:e.implicitTypes;for(u=0,f=a.length;u tag resolver accepts not "'+c+'" style')}e.dump=i}return true}}return false}function writeNode(e,r,t,i,a,u){e.tag=null;e.dump=t;if(!detectType(e,t,false)){detectType(e,t,true)}var o=s.call(e.dump);if(i){i=e.flowLevel<0||e.flowLevel>r}var f=o==="[object Object]"||o==="[object Array]",l,c;if(f){l=e.duplicates.indexOf(t);c=l!==-1}if(e.tag!==null&&e.tag!=="?"||c||e.indent!==2&&r>0){a=false}if(c&&e.usedDuplicates[l]){e.dump="*ref_"+l}else{if(f&&c&&!e.usedDuplicates[l]){e.usedDuplicates[l]=true}if(o==="[object Object]"){if(i&&Object.keys(e.dump).length!==0){writeBlockMapping(e,r,e.dump,a);if(c){e.dump="&ref_"+l+e.dump}}else{writeFlowMapping(e,r,e.dump);if(c){e.dump="&ref_"+l+" "+e.dump}}}else if(o==="[object Array]"){var h=e.noArrayIndent&&r>0?r-1:r;if(i&&e.dump.length!==0){writeBlockSequence(e,h,e.dump,a);if(c){e.dump="&ref_"+l+e.dump}}else{writeFlowSequence(e,h,e.dump);if(c){e.dump="&ref_"+l+" "+e.dump}}}else if(o==="[object String]"){if(e.tag!=="?"){writeScalar(e,e.dump,r,u)}}else{if(e.skipInvalid)return false;throw new n("unacceptable kind of an object to dump "+o)}if(e.tag!==null&&e.tag!=="?"){e.dump="!<"+e.tag+"> "+e.dump}}return true}function getDuplicateReferences(e,r){var t=[],i=[],n,a;inspectNode(e,t,i);for(n=0,a=i.length;n=e.length){if(r)r[u]=e;return t(null,e)}o.lastIndex=c;var i=o.exec(e);v=h;h+=i[0];p=v+i[1];c=o.lastIndex;if(l[p]||r&&r[p]===p){return process.nextTick(LOOP)}if(r&&Object.prototype.hasOwnProperty.call(r,p)){return gotResolvedLink(r[p])}return a.lstat(p,gotStat)}function gotStat(e,i){if(e)return t(e);if(!i.isSymbolicLink()){l[p]=true;if(r)r[p]=p;return process.nextTick(LOOP)}if(!n){var u=i.dev.toString(32)+":"+i.ino.toString(32);if(s.hasOwnProperty(u)){return gotTarget(null,s[u],p)}}a.stat(p,function(e){if(e)return t(e);a.readlink(p,function(e,r){if(!n)s[u]=r;gotTarget(e,r)})})}function gotTarget(e,n,a){if(e)return t(e);var u=i.resolve(v,n);if(r)r[a]=u;gotResolvedLink(u)}function gotResolvedLink(r){e=i.resolve(r,e.slice(c));start()}}},,function(e){e.exports=[{long:"help",description:"output usage information",short:"h",type:"boolean",default:false},{long:"version",description:"output version number",short:"v",type:"boolean",default:false},{long:"output",description:"specify output location",short:"o",value:"[path]"},{long:"rc-path",description:"specify configuration file",short:"r",type:"string",value:""},{long:"ignore-path",description:"specify ignore file",short:"i",type:"string",value:""},{long:"setting",description:"specify settings",short:"s",type:"string",value:""},{long:"ext",description:"specify extensions",short:"e",type:"string",value:""},{long:"use",description:"use plugins",short:"u",type:"string",value:""},{long:"watch",description:"watch for changes and reprocess",short:"w",type:"boolean",default:false},{long:"quiet",description:"output only warnings and errors",short:"q",type:"boolean",default:false},{long:"silent",description:"output only errors",short:"S",type:"boolean",default:false},{long:"frail",description:"exit with 1 on warnings",short:"f",type:"boolean",default:false},{long:"tree",description:"specify input and output as syntax tree",short:"t",type:"boolean",default:false},{long:"report",description:"specify reporter",type:"string",value:""},{long:"file-path",description:"specify path to process as",type:"string",value:""},{long:"tree-in",description:"specify input as syntax tree",type:"boolean"},{long:"tree-out",description:"output syntax tree",type:"boolean"},{long:"inspect",description:"output formatted syntax tree",type:"boolean"},{long:"stdout",description:"specify writing to stdout",type:"boolean",truelike:true},{long:"color",description:"specify color in report",type:"boolean",default:true},{long:"config",description:"search for configuration files",type:"boolean",default:true},{long:"ignore",description:"search for ignore files",type:"boolean",default:true}]},,,,function(e,r,t){"use strict";var i=t(495);var n=t(682);var a=t(839);var u=t(526);e.exports=i("remark-lint:hard-break-spaces",hardBreakSpaces);var s="Use two spaces for hard line breaks";function hardBreakSpaces(e,r){var t=String(r);n(e,"break",visitor);function visitor(e){var i;if(!u(e)){i=t.slice(a.start(e).offset,a.end(e).offset).split("\n",1)[0].replace(/\r$/,"");if(i.length>2){r.message(s,e)}}}}},,,,function(e,r,t){"use strict";var i=t(171);e.exports=table;var n="\t";var a="\n";var u=" ";var s="-";var o=":";var f="\\";var l="`";var c="|";var h=1;var p=2;var v="left";var d="center";var D="right";function table(e,r,t){var m=this;var g;var E;var A;var C;var y;var w;var x;var b;var F;var S;var B;var k;var O;var P;var T;var I;var M;var L;var R;var j;var N;var U;var J;var z;if(!m.options.gfm){return}g=0;L=0;w=r.length+1;x=[];while(gU){if(L1){if(F){C+=b.slice(0,b.length-1);b=b.charAt(b.length-1)}else{C+=b;b=""}}I=e.now();e(C)({type:"tableCell",children:m.tokenizeInline(k,I)},y)}e(b+F);b="";k=""}}else{if(b){k+=b;b=""}k+=F;if(F===f&&g!==w-2){k+=R.charAt(g+1);g++}if(F===l){P=1;while(R.charAt(g+1)===F){k+=F;g++;P++}if(!T){T=P}else if(P>=T){T=0}}}O=false;g++}if(!M){e(a+E)}}return N}},function(e,r,t){"use strict";var i=t(211);function resolveJavascriptRegExp(e){if(e===null)return false;if(e.length===0)return false;var r=e,t=/\/([gim]*)$/.exec(e),i="";if(r[0]==="/"){if(t)i=t[1];if(i.length>3)return false;if(r[r.length-i.length-1]!=="/")return false}return true}function constructJavascriptRegExp(e){var r=e,t=/\/([gim]*)$/.exec(e),i="";if(r[0]==="/"){if(t)i=t[1];r=r.slice(1,r.length-i.length-1)}return new RegExp(r,i)}function representJavascriptRegExp(e){var r="/"+e.source+"/";if(e.global)r+="g";if(e.multiline)r+="m";if(e.ignoreCase)r+="i";return r}function isRegExp(e){return Object.prototype.toString.call(e)==="[object RegExp]"}e.exports=new i("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:resolveJavascriptRegExp,construct:constructJavascriptRegExp,predicate:isRegExp,represent:representJavascriptRegExp})},,,,,,,,,function(e){"use strict";e.exports=markdownTable;var r=/\./;var t=/\.[^.]*$/;var i="l";var n="r";var a="c";var u=".";var s="";var o=[i,n,a,u,s];var f=3;var l=":";var c="-";var h="|";var p=" ";var v="\n";function markdownTable(e,t){var d=t||{};var D=d.delimiter;var m=d.start;var g=d.end;var E=d.align;var A=d.stringLength||lengthNoop;var C=0;var y=-1;var w=e.length;var x=[];var b;var F;var S;var B;var k;var O;var P;var T;var I;var M;var L;var R;E=E?E.concat():[];if(D===null||D===undefined){D=p+h+p}if(m===null||m===undefined){m=h+p}if(g===null||g===undefined){g=p+h}while(++yC){C=B.length}while(++Ox[O]){x[O]=P}}}if(typeof E==="string"){E=pad(C,E).split("")}O=-1;while(++Ox[O]){x[O]=T}}}y=-1;while(++yf?M:f}else{M=x[O]}b=E[O];I=b===n||b===s?c:l;I+=pad(M-2,c);I+=b!==i&&b!==s?l:c;F[O]=I}S.splice(1,0,F.join(D))}return m+S.join(g+v+m)+g}function stringify(e){return e===null||e===undefined?"":String(e)}function lengthNoop(e){return String(e).length}function pad(e,r){return new Array(e+1).join(r||p)}function dotindex(e){var r=t.exec(e);return r?r.index+1:e.length}},,,,,function(e,r,t){e.exports=t(688)},,,,,function(e,r,t){"use strict";var i=t(12);e.exports=Writable;function WriteReq(e,r,t){this.chunk=e;this.encoding=r;this.callback=t;this.next=null}function CorkedRequest(e){var r=this;this.next=null;this.entry=null;this.finish=function(){onCorkedFinish(r,e)}}var n=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:i.nextTick;var a;Writable.WritableState=WritableState;var u=t(683);u.inherits=t(780);var s={deprecate:t(507)};var o=t(569);var f=t(945).Buffer;var l=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return f.from(e)}function _isUint8Array(e){return f.isBuffer(e)||e instanceof l}var c=t(972);u.inherits(Writable,o);function nop(){}function WritableState(e,r){a=a||t(98);e=e||{};var i=r instanceof a;this.objectMode=!!e.objectMode;if(i)this.objectMode=this.objectMode||!!e.writableObjectMode;var n=e.highWaterMark;var u=e.writableHighWaterMark;var s=this.objectMode?16:16*1024;if(n||n===0)this.highWaterMark=n;else if(i&&(u||u===0))this.highWaterMark=u;else this.highWaterMark=s;this.highWaterMark=Math.floor(this.highWaterMark);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var o=e.decodeStrings===false;this.decodeStrings=!o;this.defaultEncoding=e.defaultEncoding||"utf8";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(e){onwrite(r,e)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){var e=this.bufferedRequest;var r=[];while(e){r.push(e);e=e.next}return r};(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:s.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer "+"instead.","DEP0003")})}catch(e){}})();var h;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function"){h=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:function(e){if(h.call(this,e))return true;if(this!==Writable)return false;return e&&e._writableState instanceof WritableState}})}else{h=function(e){return e instanceof this}}function Writable(e){a=a||t(98);if(!h.call(Writable,this)&&!(this instanceof a)){return new Writable(e)}this._writableState=new WritableState(e,this);this.writable=true;if(e){if(typeof e.write==="function")this._write=e.write;if(typeof e.writev==="function")this._writev=e.writev;if(typeof e.destroy==="function")this._destroy=e.destroy;if(typeof e.final==="function")this._final=e.final}o.call(this)}Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function writeAfterEnd(e,r){var t=new Error("write after end");e.emit("error",t);i.nextTick(r,t)}function validChunk(e,r,t,n){var a=true;var u=false;if(t===null){u=new TypeError("May not write null values to stream")}else if(typeof t!=="string"&&t!==undefined&&!r.objectMode){u=new TypeError("Invalid non-string/buffer chunk")}if(u){e.emit("error",u);i.nextTick(n,u);a=false}return a}Writable.prototype.write=function(e,r,t){var i=this._writableState;var n=false;var a=!i.objectMode&&_isUint8Array(e);if(a&&!f.isBuffer(e)){e=_uint8ArrayToBuffer(e)}if(typeof r==="function"){t=r;r=null}if(a)r="buffer";else if(!r)r=i.defaultEncoding;if(typeof t!=="function")t=nop;if(i.ended)writeAfterEnd(this,t);else if(a||validChunk(this,i,e,t)){i.pendingcb++;n=writeOrBuffer(this,i,a,e,r,t)}return n};Writable.prototype.cork=function(){var e=this._writableState;e.corked++};Writable.prototype.uncork=function(){var e=this._writableState;if(e.corked){e.corked--;if(!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest)clearBuffer(this,e)}};Writable.prototype.setDefaultEncoding=function setDefaultEncoding(e){if(typeof e==="string")e=e.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);this._writableState.defaultEncoding=e;return this};function decodeChunk(e,r,t){if(!e.objectMode&&e.decodeStrings!==false&&typeof r==="string"){r=f.from(r,t)}return r}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:function(){return this._writableState.highWaterMark}});function writeOrBuffer(e,r,t,i,n,a){if(!t){var u=decodeChunk(r,i,n);if(i!==u){t=true;n="buffer";i=u}}var s=r.objectMode?1:i.length;r.length+=s;var o=r.length=b){b=0}}else if(E===v){g++;B+=r.charAt(g)}else if((!b||y)&&E===p){L++}else if((!b||y)&&E===d){if(L){L--}else{if(!A){while(gn){return false}}return check(e,i,t)&&check(e,m)}function isKnown(e,r,t){var i=o?o.indexOf(e)!==-1:true;if(!i){h.warn("Unknown rule: cannot "+r+" `'"+e+"'`",t)}return i}function getState(e){var r=e?D[e]:m;if(r&&r.length!==0){return r[r.length-1].state}if(!e){return!f}if(f){return l.indexOf(e)!==-1}return c.indexOf(e)===-1}function toggle(e,r,t){var i=t?D[t]:m;var n;var a;if(!i){i=[];D[t]=i}a=getState(t);n=r;if(n!==a){i.push({state:n,position:e})}if(!t){for(t in D){toggle(e,r,t)}}}function check(e,r,t){var i=r&&r.length;var n=-1;var a;while(--i>n){a=r[i];if(!a.position||!a.position.line||!a.position.column){continue}if(a.position.line=e){return}if(u){s.push({start:n,end:e});u=false}n=e}}},,function(e){"use strict";e.exports=orderedItems;var r="\n";var t=".";var i=r+r;function orderedItems(e){var n=this;var a=n.visitors.listItem;var u=n.options.incrementListMarker;var s=[];var o=e.start;var f=e.children;var l=f.length;var c=-1;var h;o=o==null?1:o;while(++c1;var p=c;var v=r.path;if(!u(p)){a("Not copying");return i()}p=f(e.cwd,p);a("Copying `%s`",v);s(p,onstatfile);function onstatfile(e,r){if(e){if(e.code!=="ENOENT"||c.charAt(c.length-1)===n.sep){return i(new Error("Cannot read output directory. Error:\n"+e.message))}s(o(p),onstatparent)}else{done(r.isDirectory())}}function onstatparent(e){if(e){i(new Error("Cannot read parent directory. Error:\n"+e.message))}else{done(false)}}function done(e){if(!e&&h){return i(new Error("Cannot write multiple files to single output: "+p))}r[e?"dirname":"path"]=l(r.cwd,p);a("Copying document from %s to %s",v,r.path);i()}}},function(e,r){"use strict";var t="[a-zA-Z_:][a-zA-Z0-9:._-]*";var i="[^\"'=<>`\\u0000-\\u0020]+";var n="'[^']*'";var a='"[^"]*"';var u="(?:"+i+"|"+n+"|"+a+")";var s="(?:\\s+"+t+"(?:\\s*=\\s*"+u+")?)";var o="<[A-Za-z][A-Za-z0-9\\-]*"+s+"*\\s*\\/?>";var f="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";var l="\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e";var c="<[?].*?[?]>";var h="]*>";var p="";r.openCloseTag=new RegExp("^(?:"+o+"|"+f+")");r.tag=new RegExp("^(?:"+o+"|"+f+"|"+l+"|"+c+"|"+h+"|"+p+")")},,function(e){e.exports=require("path")},,,,function(e,r,t){"use strict";var i=t(36);var n=t(171);var a=t(511);e.exports=strong;strong.locator=a;var u="\\";var s="*";var o="_";function strong(e,r,t){var a=this;var f=0;var l=r.charAt(f);var c;var h;var p;var v;var d;var D;var m;if(l!==s&&l!==o||r.charAt(++f)!==l){return}h=a.options.pedantic;p=l;d=p+p;D=r.length;f++;v="";l="";if(h&&n(r.charAt(f))){return}while(f0){return parse(e)}else if(t==="number"&&isNaN(e)===false){return r.long?fmtLong(e):fmtShort(e)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function parse(e){e=String(e);if(e.length>100){return}var s=/^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!s){return}var o=parseFloat(s[1]);var f=(s[2]||"ms").toLowerCase();switch(f){case"years":case"year":case"yrs":case"yr":case"y":return o*u;case"weeks":case"week":case"w":return o*a;case"days":case"day":case"d":return o*n;case"hours":case"hour":case"hrs":case"hr":case"h":return o*i;case"minutes":case"minute":case"mins":case"min":case"m":return o*t;case"seconds":case"second":case"secs":case"sec":case"s":return o*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return undefined}}function fmtShort(e){var a=Math.abs(e);if(a>=n){return Math.round(e/n)+"d"}if(a>=i){return Math.round(e/i)+"h"}if(a>=t){return Math.round(e/t)+"m"}if(a>=r){return Math.round(e/r)+"s"}return e+"ms"}function fmtLong(e){var a=Math.abs(e);if(a>=n){return plural(e,a,n,"day")}if(a>=i){return plural(e,a,i,"hour")}if(a>=t){return plural(e,a,t,"minute")}if(a>=r){return plural(e,a,r,"second")}return e+" ms"}function plural(e,r,t,i){var n=r>=t*1.5;return Math.round(e/t)+" "+i+(n?"s":"")}},function(e,r){r.parse=r.decode=decode;r.stringify=r.encode=encode;r.safe=safe;r.unsafe=unsafe;var t=typeof process!=="undefined"&&process.platform==="win32"?"\r\n":"\n";function encode(e,r){var i=[];var n="";if(typeof r==="string"){r={section:r,whitespace:false}}else{r=r||{};r.whitespace=r.whitespace===true}var a=r.whitespace?" = ":"=";Object.keys(e).forEach(function(r,u,s){var o=e[r];if(o&&Array.isArray(o)){o.forEach(function(e){n+=safe(r+"[]")+a+safe(e)+"\n"})}else if(o&&typeof o==="object"){i.push(r)}else{n+=safe(r)+a+safe(o)+t}});if(r.section&&n.length){n="["+safe(r.section)+"]"+t+n}i.forEach(function(i,a,u){var s=dotSplit(i).join("\\.");var o=(r.section?r.section+".":"")+s;var f=encode(e[i],{section:o,whitespace:r.whitespace});if(n.length&&f.length){n+=t}n+=f});return n}function dotSplit(e){return e.replace(/\1/g,"LITERAL\\1LITERAL").replace(/\\\./g,"").split(/\./).map(function(e){return e.replace(/\1/g,"\\.").replace(/\2LITERAL\\1LITERAL\2/g,"")})}function decode(e){var r={};var t=r;var i=null;var n=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i;var a=e.split(/[\r\n]+/g);a.forEach(function(e,a,u){if(!e||e.match(/^\s*[;#]/))return;var s=e.match(n);if(!s)return;if(s[1]!==undefined){i=unsafe(s[1]);t=r[i]=r[i]||{};return}var o=unsafe(s[2]);var f=s[3]?unsafe(s[4]):true;switch(f){case"true":case"false":case"null":f=JSON.parse(f)}if(o.length>2&&o.slice(-2)==="[]"){o=o.substring(0,o.length-2);if(!t[o]){t[o]=[]}else if(!Array.isArray(t[o])){t[o]=[t[o]]}}if(Array.isArray(t[o])){t[o].push(f)}else{t[o]=f}});Object.keys(r).filter(function(e,t,i){if(!r[e]||typeof r[e]!=="object"||Array.isArray(r[e])){return false}var n=dotSplit(e);var a=r;var u=n.pop();var s=u.replace(/\\\./g,".");n.forEach(function(e,r,t){if(!a[e]||typeof a[e]!=="object")a[e]={};a=a[e]});if(a===r&&s===u){return false}a[s]=r[e];return true}).forEach(function(e,t,i){delete r[e]});return r}function isQuoted(e){return e.charAt(0)==='"'&&e.slice(-1)==='"'||e.charAt(0)==="'"&&e.slice(-1)==="'"}function safe(e){return typeof e!=="string"||e.match(/[=\r\n]/)||e.match(/^\[/)||e.length>1&&isQuoted(e)||e!==e.trim()?JSON.stringify(e):e.replace(/;/g,"\\;").replace(/#/g,"\\#")}function unsafe(e,r){e=(e||"").trim();if(isQuoted(e)){if(e.charAt(0)==="'"){e=e.substr(1,e.length-2)}try{e=JSON.parse(e)}catch(e){}}else{var t=false;var i="";for(var n=0,a=e.length;n="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||n.ID_Start.test(e)}function isIdContinueChar(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="‌"||e==="‍"||n.ID_Continue.test(e)}function isDigit(e){return/[0-9]/.test(e)}function isHexDigit(e){return/[0-9A-Fa-f]/.test(e)}},,function(e){"use strict";e.exports=(e=>{if(Number.isNaN(e)){return false}if(e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141)){return true}return false})},,,,,,,,,function(e,r,t){"use strict";e.exports.plugins=[t(889),t(424),t(725),t(137),t(339),t(767),t(550),t(550),[t(890),"space"],t(164),t(223),t(127),t(816),t(667),t(380),t(911),t(33),t(758),t(9),t(273),t(926),t(121),t(55),t(72),t(522),t(842),t(467),t(314),[t(166),2],[t(112),{checked:"x",unchecked:" "}],[t(301),"fenced"],[t(386),"`"],[t(451),"md"],[t(284),1],[t(675),"atx"],[t(455),[{no:"End-Of-Life",yes:"End-of-Life"},{no:"End-of-life",yes:"End-of-Life"},{no:"Github",yes:"GitHub"},{no:"Javascript",yes:"JavaScript"},{no:"Node.JS",yes:"Node.js"},{no:"Note that",yes:""},{no:"note that",yes:""},{no:"Rfc",yes:"RFC"},{no:"[Rr][Ff][Cc]\\d+",yes:"RFC "},{no:"rfc",yes:"RFC"},{no:"v8",yes:"V8"}]],[t(108),"*"],[t(435),"padded"]]},,function(e){e.exports=["cent","copy","divide","gt","lt","not","para","times"]},,function(e,r,t){"use strict";e.exports=t(447)},function(e,r,t){e.exports=minimatch;minimatch.Minimatch=Minimatch;var i={sep:"/"};try{i=t(589)}catch(e){}var n=minimatch.GLOBSTAR=Minimatch.GLOBSTAR={};var a=t(348);var u={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}};var s="[^/]";var o=s+"*?";var f="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var l="(?:(?!(?:\\/|^)\\.).)*?";var c=charSet("().*{}+?[]^$\\!");function charSet(e){return e.split("").reduce(function(e,r){e[r]=true;return e},{})}var h=/\/+/;minimatch.filter=filter;function filter(e,r){r=r||{};return function(t,i,n){return minimatch(t,e,r)}}function ext(e,r){e=e||{};r=r||{};var t={};Object.keys(r).forEach(function(e){t[e]=r[e]});Object.keys(e).forEach(function(r){t[r]=e[r]});return t}minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return minimatch;var r=minimatch;var t=function minimatch(t,i,n){return r.minimatch(t,i,ext(e,n))};t.Minimatch=function Minimatch(t,i){return new r.Minimatch(t,ext(e,i))};return t};Minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return Minimatch;return minimatch.defaults(e).Minimatch};function minimatch(e,r,t){if(typeof r!=="string"){throw new TypeError("glob pattern string required")}if(!t)t={};if(!t.nocomment&&r.charAt(0)==="#"){return false}if(r.trim()==="")return e==="";return new Minimatch(r,t).match(e)}function Minimatch(e,r){if(!(this instanceof Minimatch)){return new Minimatch(e,r)}if(typeof e!=="string"){throw new TypeError("glob pattern string required")}if(!r)r={};e=e.trim();if(i.sep!=="/"){e=e.split(i.sep).join("/")}this.options=r;this.set=[];this.pattern=e;this.regexp=null;this.negate=false;this.comment=false;this.empty=false;this.make()}Minimatch.prototype.debug=function(){};Minimatch.prototype.make=make;function make(){if(this._made)return;var e=this.pattern;var r=this.options;if(!r.nocomment&&e.charAt(0)==="#"){this.comment=true;return}if(!e){this.empty=true;return}this.parseNegate();var t=this.globSet=this.braceExpand();if(r.debug)this.debug=console.error;this.debug(this.pattern,t);t=this.globParts=t.map(function(e){return e.split(h)});this.debug(this.pattern,t);t=t.map(function(e,r,t){return e.map(this.parse,this)},this);this.debug(this.pattern,t);t=t.filter(function(e){return e.indexOf(false)===-1});this.debug(this.pattern,t);this.set=t}Minimatch.prototype.parseNegate=parseNegate;function parseNegate(){var e=this.pattern;var r=false;var t=this.options;var i=0;if(t.nonegate)return;for(var n=0,a=e.length;n1024*64){throw new TypeError("pattern is too long")}var t=this.options;if(!t.noglobstar&&e==="**")return n;if(e==="")return"";var i="";var a=!!t.nocase;var f=false;var l=[];var h=[];var v;var d=false;var D=-1;var m=-1;var g=e.charAt(0)==="."?"":t.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)";var E=this;function clearStateChar(){if(v){switch(v){case"*":i+=o;a=true;break;case"?":i+=s;a=true;break;default:i+="\\"+v;break}E.debug("clearStateChar %j %j",v,i);v=false}}for(var A=0,C=e.length,y;A-1;k--){var O=h[k];var P=i.slice(0,O.reStart);var T=i.slice(O.reStart,O.reEnd-8);var I=i.slice(O.reEnd-8,O.reEnd);var M=i.slice(O.reEnd);I+=M;var L=P.split("(").length-1;var R=M;for(A=0;A=0;u--){a=e[u];if(a)break}for(u=0;u>> no match, partial?",e,c,r,h);if(c===s)return true}return false}var v;if(typeof f==="string"){if(i.nocase){v=l.toLowerCase()===f.toLowerCase()}else{v=l===f}this.debug("string match",f,l,v)}else{v=l.match(f);this.debug("pattern match",f,l,v)}if(!v)return false}if(a===s&&u===o){return true}else if(a===s){return t}else if(u===o){var d=a===s-1&&e[a]==="";return d}throw new Error("wtf?")};function globUnescape(e){return e.replace(/\\(.)/g,"$1")}function regExpEscape(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}},,,function(e){"use strict";e.exports=function(e){if(typeof e!=="function"){throw new TypeError("Expected a function")}return e.displayName||e.name||(/function ([^\(]+)?\(/.exec(e.toString())||[])[1]||null}},function(e){"use strict";e.exports=(()=>{const e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|");return new RegExp(e,"g")})},,,function(e,r,t){"use strict";var i=t(304);var n=t(948);e.exports=fileSystem;function fileSystem(e,r,t){var a=e.files;if(a.length===0){t()}else{n(a,{cwd:r.cwd,extensions:r.extensions,silentlyIgnore:r.silentlyIgnore,ignore:new i({cwd:r.cwd,detectIgnore:r.detectIgnore,ignoreName:r.ignoreName,ignorePath:r.ignorePath})},onfound)}function onfound(i,n){var a=n.files;a.sort(sortAlphabetically);a.forEach(markAsGiven);e.files=a;if(r.out===null||r.out===undefined){r.out=n.oneFileMode}t(i)}function markAsGiven(e){e.data.unifiedEngineGiven=true}function sortAlphabetically(e,r){return e.pathi){i=t}}else{t=1}n=a+1;a=e.indexOf(r,n)}return i}},function(e,r,t){"use strict";var i=t(347)("unified-engine:file-pipeline:stdout");var n=t(928);e.exports=stdout;function stdout(e,r,t,a){if(!r.data.unifiedEngineGiven){i("Ignoring programmatically added file");a()}else if(n(r).fatal||e.output||!e.out){i("Ignoring writing to `streamOut`");a()}else{i("Writing document to `streamOut`");e.streamOut.write(r.toString(),a)}}},,,function(e,r,t){"use strict";var i=t(56);var n=t(503);e.exports=toVFile;function toVFile(e){if(typeof e==="string"||i(e)){e={path:String(e)}}return n(e)}},,,,function(e){(function webpackUniversalModuleDefinition(r,t){if(true)e.exports=t();else{}})(this,function(){return function(e){var r={};function __webpack_require__(t){if(r[t])return r[t].exports;var i=r[t]={exports:{},id:t,loaded:false};e[t].call(i.exports,i,i.exports,__webpack_require__);i.loaded=true;return i.exports}__webpack_require__.m=e;__webpack_require__.c=r;__webpack_require__.p="";return __webpack_require__(0)}([function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(1);var n=t(3);var a=t(8);var u=t(15);function parse(e,r,t){var u=null;var s=function(e,r){if(t){t(e,r)}if(u){u.visit(e,r)}};var o=typeof t==="function"?s:null;var f=false;if(r){f=typeof r.comment==="boolean"&&r.comment;var l=typeof r.attachComment==="boolean"&&r.attachComment;if(f||l){u=new i.CommentHandler;u.attach=l;r.comment=true;o=s}}var c=false;if(r&&typeof r.sourceType==="string"){c=r.sourceType==="module"}var h;if(r&&typeof r.jsx==="boolean"&&r.jsx){h=new n.JSXParser(e,r,o)}else{h=new a.Parser(e,r,o)}var p=c?h.parseModule():h.parseScript();var v=p;if(f&&u){v.comments=u.comments}if(h.config.tokens){v.tokens=h.tokens}if(h.config.tolerant){v.errors=h.errorHandler.errors}return v}r.parse=parse;function parseModule(e,r,t){var i=r||{};i.sourceType="module";return parse(e,i,t)}r.parseModule=parseModule;function parseScript(e,r,t){var i=r||{};i.sourceType="script";return parse(e,i,t)}r.parseScript=parseScript;function tokenize(e,r,t){var i=new u.Tokenizer(e,r);var n;n=[];try{while(true){var a=i.getNextToken();if(!a){break}if(t){a=t(a)}n.push(a)}}catch(e){i.errorHandler.tolerate(e)}if(i.errorHandler.tolerant){n.errors=i.errors()}return n}r.tokenize=tokenize;var s=t(2);r.Syntax=s.Syntax;r.version="4.0.1"},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(2);var n=function(){function CommentHandler(){this.attach=false;this.comments=[];this.stack=[];this.leading=[];this.trailing=[]}CommentHandler.prototype.insertInnerComments=function(e,r){if(e.type===i.Syntax.BlockStatement&&e.body.length===0){var t=[];for(var n=this.leading.length-1;n>=0;--n){var a=this.leading[n];if(r.end.offset>=a.start){t.unshift(a.comment);this.leading.splice(n,1);this.trailing.splice(n,1)}}if(t.length){e.innerComments=t}}};CommentHandler.prototype.findTrailingComments=function(e){var r=[];if(this.trailing.length>0){for(var t=this.trailing.length-1;t>=0;--t){var i=this.trailing[t];if(i.start>=e.end.offset){r.unshift(i.comment)}}this.trailing.length=0;return r}var n=this.stack[this.stack.length-1];if(n&&n.node.trailingComments){var a=n.node.trailingComments[0];if(a&&a.range[0]>=e.end.offset){r=n.node.trailingComments;delete n.node.trailingComments}}return r};CommentHandler.prototype.findLeadingComments=function(e){var r=[];var t;while(this.stack.length>0){var i=this.stack[this.stack.length-1];if(i&&i.start>=e.start.offset){t=i.node;this.stack.pop()}else{break}}if(t){var n=t.leadingComments?t.leadingComments.length:0;for(var a=n-1;a>=0;--a){var u=t.leadingComments[a];if(u.range[1]<=e.start.offset){r.unshift(u);t.leadingComments.splice(a,1)}}if(t.leadingComments&&t.leadingComments.length===0){delete t.leadingComments}return r}for(var a=this.leading.length-1;a>=0;--a){var i=this.leading[a];if(i.start<=e.start.offset){r.unshift(i.comment);this.leading.splice(a,1)}}return r};CommentHandler.prototype.visitNode=function(e,r){if(e.type===i.Syntax.Program&&e.body.length>0){return}this.insertInnerComments(e,r);var t=this.findTrailingComments(r);var n=this.findLeadingComments(r);if(n.length>0){e.leadingComments=n}if(t.length>0){e.trailingComments=t}this.stack.push({node:e,start:r.start.offset})};CommentHandler.prototype.visitComment=function(e,r){var t=e.type[0]==="L"?"Line":"Block";var i={type:t,value:e.value};if(e.range){i.range=e.range}if(e.loc){i.loc=e.loc}this.comments.push(i);if(this.attach){var n={comment:{type:t,value:e.value,range:[r.start.offset,r.end.offset]},start:r.start.offset};if(e.loc){n.comment.loc=e.loc}e.type=t;this.leading.push(n);this.trailing.push(n)}};CommentHandler.prototype.visit=function(e,r){if(e.type==="LineComment"){this.visitComment(e,r)}else if(e.type==="BlockComment"){this.visitComment(e,r)}else if(this.attach){this.visitNode(e,r)}};return CommentHandler}();r.CommentHandler=n},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});r.Syntax={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForOfStatement:"ForOfStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"}},function(e,r,t){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)if(r.hasOwnProperty(t))e[t]=r[t]};return function(r,t){e(r,t);function __(){this.constructor=r}r.prototype=t===null?Object.create(t):(__.prototype=t.prototype,new __)}}();Object.defineProperty(r,"__esModule",{value:true});var n=t(4);var a=t(5);var u=t(6);var s=t(7);var o=t(8);var f=t(13);var l=t(14);f.TokenName[100]="JSXIdentifier";f.TokenName[101]="JSXText";function getQualifiedElementName(e){var r;switch(e.type){case u.JSXSyntax.JSXIdentifier:var t=e;r=t.name;break;case u.JSXSyntax.JSXNamespacedName:var i=e;r=getQualifiedElementName(i.namespace)+":"+getQualifiedElementName(i.name);break;case u.JSXSyntax.JSXMemberExpression:var n=e;r=getQualifiedElementName(n.object)+"."+getQualifiedElementName(n.property);break;default:break}return r}var c=function(e){i(JSXParser,e);function JSXParser(r,t,i){return e.call(this,r,t,i)||this}JSXParser.prototype.parsePrimaryExpression=function(){return this.match("<")?this.parseJSXRoot():e.prototype.parsePrimaryExpression.call(this)};JSXParser.prototype.startJSX=function(){this.scanner.index=this.startMarker.index;this.scanner.lineNumber=this.startMarker.line;this.scanner.lineStart=this.startMarker.index-this.startMarker.column};JSXParser.prototype.finishJSX=function(){this.nextToken()};JSXParser.prototype.reenterJSX=function(){this.startJSX();this.expectJSX("}");if(this.config.tokens){this.tokens.pop()}};JSXParser.prototype.createJSXNode=function(){this.collectComments();return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}};JSXParser.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}};JSXParser.prototype.scanXHTMLEntity=function(e){var r="&";var t=true;var i=false;var a=false;var u=false;while(!this.scanner.eof()&&t&&!i){var s=this.scanner.source[this.scanner.index];if(s===e){break}i=s===";";r+=s;++this.scanner.index;if(!i){switch(r.length){case 2:a=s==="#";break;case 3:if(a){u=s==="x";t=u||n.Character.isDecimalDigit(s.charCodeAt(0));a=a&&!u}break;default:t=t&&!(a&&!n.Character.isDecimalDigit(s.charCodeAt(0)));t=t&&!(u&&!n.Character.isHexDigit(s.charCodeAt(0)));break}}}if(t&&i&&r.length>2){var o=r.substr(1,r.length-2);if(a&&o.length>1){r=String.fromCharCode(parseInt(o.substr(1),10))}else if(u&&o.length>2){r=String.fromCharCode(parseInt("0"+o.substr(1),16))}else if(!a&&!u&&l.XHTMLEntities[o]){r=l.XHTMLEntities[o]}}return r};JSXParser.prototype.lexJSX=function(){var e=this.scanner.source.charCodeAt(this.scanner.index);if(e===60||e===62||e===47||e===58||e===61||e===123||e===125){var r=this.scanner.source[this.scanner.index++];return{type:7,value:r,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index}}if(e===34||e===39){var t=this.scanner.index;var i=this.scanner.source[this.scanner.index++];var a="";while(!this.scanner.eof()){var u=this.scanner.source[this.scanner.index++];if(u===i){break}else if(u==="&"){a+=this.scanXHTMLEntity(i)}else{a+=u}}return{type:8,value:a,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(e===46){var s=this.scanner.source.charCodeAt(this.scanner.index+1);var o=this.scanner.source.charCodeAt(this.scanner.index+2);var r=s===46&&o===46?"...":".";var t=this.scanner.index;this.scanner.index+=r.length;return{type:7,value:r,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(e===96){return{type:10,value:"",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index}}if(n.Character.isIdentifierStart(e)&&e!==92){var t=this.scanner.index;++this.scanner.index;while(!this.scanner.eof()){var u=this.scanner.source.charCodeAt(this.scanner.index);if(n.Character.isIdentifierPart(u)&&u!==92){++this.scanner.index}else if(u===45){++this.scanner.index}else{break}}var f=this.scanner.source.slice(t,this.scanner.index);return{type:100,value:f,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}return this.scanner.lex()};JSXParser.prototype.nextJSXToken=function(){this.collectComments();this.startMarker.index=this.scanner.index;this.startMarker.line=this.scanner.lineNumber;this.startMarker.column=this.scanner.index-this.scanner.lineStart;var e=this.lexJSX();this.lastMarker.index=this.scanner.index;this.lastMarker.line=this.scanner.lineNumber;this.lastMarker.column=this.scanner.index-this.scanner.lineStart;if(this.config.tokens){this.tokens.push(this.convertToken(e))}return e};JSXParser.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index;this.startMarker.line=this.scanner.lineNumber;this.startMarker.column=this.scanner.index-this.scanner.lineStart;var e=this.scanner.index;var r="";while(!this.scanner.eof()){var t=this.scanner.source[this.scanner.index];if(t==="{"||t==="<"){break}++this.scanner.index;r+=t;if(n.Character.isLineTerminator(t.charCodeAt(0))){++this.scanner.lineNumber;if(t==="\r"&&this.scanner.source[this.scanner.index]==="\n"){++this.scanner.index}this.scanner.lineStart=this.scanner.index}}this.lastMarker.index=this.scanner.index;this.lastMarker.line=this.scanner.lineNumber;this.lastMarker.column=this.scanner.index-this.scanner.lineStart;var i={type:101,value:r,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:e,end:this.scanner.index};if(r.length>0&&this.config.tokens){this.tokens.push(this.convertToken(i))}return i};JSXParser.prototype.peekJSXToken=function(){var e=this.scanner.saveState();this.scanner.scanComments();var r=this.lexJSX();this.scanner.restoreState(e);return r};JSXParser.prototype.expectJSX=function(e){var r=this.nextJSXToken();if(r.type!==7||r.value!==e){this.throwUnexpectedToken(r)}};JSXParser.prototype.matchJSX=function(e){var r=this.peekJSXToken();return r.type===7&&r.value===e};JSXParser.prototype.parseJSXIdentifier=function(){var e=this.createJSXNode();var r=this.nextJSXToken();if(r.type!==100){this.throwUnexpectedToken(r)}return this.finalize(e,new a.JSXIdentifier(r.value))};JSXParser.prototype.parseJSXElementName=function(){var e=this.createJSXNode();var r=this.parseJSXIdentifier();if(this.matchJSX(":")){var t=r;this.expectJSX(":");var i=this.parseJSXIdentifier();r=this.finalize(e,new a.JSXNamespacedName(t,i))}else if(this.matchJSX(".")){while(this.matchJSX(".")){var n=r;this.expectJSX(".");var u=this.parseJSXIdentifier();r=this.finalize(e,new a.JSXMemberExpression(n,u))}}return r};JSXParser.prototype.parseJSXAttributeName=function(){var e=this.createJSXNode();var r;var t=this.parseJSXIdentifier();if(this.matchJSX(":")){var i=t;this.expectJSX(":");var n=this.parseJSXIdentifier();r=this.finalize(e,new a.JSXNamespacedName(i,n))}else{r=t}return r};JSXParser.prototype.parseJSXStringLiteralAttribute=function(){var e=this.createJSXNode();var r=this.nextJSXToken();if(r.type!==8){this.throwUnexpectedToken(r)}var t=this.getTokenRaw(r);return this.finalize(e,new s.Literal(r.value,t))};JSXParser.prototype.parseJSXExpressionAttribute=function(){var e=this.createJSXNode();this.expectJSX("{");this.finishJSX();if(this.match("}")){this.tolerateError("JSX attributes must only be assigned a non-empty expression")}var r=this.parseAssignmentExpression();this.reenterJSX();return this.finalize(e,new a.JSXExpressionContainer(r))};JSXParser.prototype.parseJSXAttributeValue=function(){return this.matchJSX("{")?this.parseJSXExpressionAttribute():this.matchJSX("<")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()};JSXParser.prototype.parseJSXNameValueAttribute=function(){var e=this.createJSXNode();var r=this.parseJSXAttributeName();var t=null;if(this.matchJSX("=")){this.expectJSX("=");t=this.parseJSXAttributeValue()}return this.finalize(e,new a.JSXAttribute(r,t))};JSXParser.prototype.parseJSXSpreadAttribute=function(){var e=this.createJSXNode();this.expectJSX("{");this.expectJSX("...");this.finishJSX();var r=this.parseAssignmentExpression();this.reenterJSX();return this.finalize(e,new a.JSXSpreadAttribute(r))};JSXParser.prototype.parseJSXAttributes=function(){var e=[];while(!this.matchJSX("/")&&!this.matchJSX(">")){var r=this.matchJSX("{")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();e.push(r)}return e};JSXParser.prototype.parseJSXOpeningElement=function(){var e=this.createJSXNode();this.expectJSX("<");var r=this.parseJSXElementName();var t=this.parseJSXAttributes();var i=this.matchJSX("/");if(i){this.expectJSX("/")}this.expectJSX(">");return this.finalize(e,new a.JSXOpeningElement(r,i,t))};JSXParser.prototype.parseJSXBoundaryElement=function(){var e=this.createJSXNode();this.expectJSX("<");if(this.matchJSX("/")){this.expectJSX("/");var r=this.parseJSXElementName();this.expectJSX(">");return this.finalize(e,new a.JSXClosingElement(r))}var t=this.parseJSXElementName();var i=this.parseJSXAttributes();var n=this.matchJSX("/");if(n){this.expectJSX("/")}this.expectJSX(">");return this.finalize(e,new a.JSXOpeningElement(t,n,i))};JSXParser.prototype.parseJSXEmptyExpression=function(){var e=this.createJSXChildNode();this.collectComments();this.lastMarker.index=this.scanner.index;this.lastMarker.line=this.scanner.lineNumber;this.lastMarker.column=this.scanner.index-this.scanner.lineStart;return this.finalize(e,new a.JSXEmptyExpression)};JSXParser.prototype.parseJSXExpressionContainer=function(){var e=this.createJSXNode();this.expectJSX("{");var r;if(this.matchJSX("}")){r=this.parseJSXEmptyExpression();this.expectJSX("}")}else{this.finishJSX();r=this.parseAssignmentExpression();this.reenterJSX()}return this.finalize(e,new a.JSXExpressionContainer(r))};JSXParser.prototype.parseJSXChildren=function(){var e=[];while(!this.scanner.eof()){var r=this.createJSXChildNode();var t=this.nextJSXText();if(t.start0){var s=this.finalize(e.node,new a.JSXElement(e.opening,e.children,e.closing));e=r[r.length-1];e.children.push(s);r.pop()}else{break}}}return e};JSXParser.prototype.parseJSXElement=function(){var e=this.createJSXNode();var r=this.parseJSXOpeningElement();var t=[];var i=null;if(!r.selfClosing){var n=this.parseComplexJSXElement({node:e,opening:r,closing:i,children:t});t=n.children;i=n.closing}return this.finalize(e,new a.JSXElement(r,t,i))};JSXParser.prototype.parseJSXRoot=function(){if(this.config.tokens){this.tokens.pop()}this.startJSX();var e=this.parseJSXElement();this.finishJSX();return e};JSXParser.prototype.isStartOfExpression=function(){return e.prototype.isStartOfExpression.call(this)||this.match("<")};return JSXParser}(o.Parser);r.JSXParser=c},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});var t={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};r.Character={fromCodePoint:function(e){return e<65536?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10))+String.fromCharCode(56320+(e-65536&1023))},isWhiteSpace:function(e){return e===32||e===9||e===11||e===12||e===160||e>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0},isLineTerminator:function(e){return e===10||e===13||e===8232||e===8233},isIdentifierStart:function(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e===92||e>=128&&t.NonAsciiIdentifierStart.test(r.Character.fromCodePoint(e))},isIdentifierPart:function(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===92||e>=128&&t.NonAsciiIdentifierPart.test(r.Character.fromCodePoint(e))},isDecimalDigit:function(e){return e>=48&&e<=57},isHexDigit:function(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102},isOctalDigit:function(e){return e>=48&&e<=55}}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(6);var n=function(){function JSXClosingElement(e){this.type=i.JSXSyntax.JSXClosingElement;this.name=e}return JSXClosingElement}();r.JSXClosingElement=n;var a=function(){function JSXElement(e,r,t){this.type=i.JSXSyntax.JSXElement;this.openingElement=e;this.children=r;this.closingElement=t}return JSXElement}();r.JSXElement=a;var u=function(){function JSXEmptyExpression(){this.type=i.JSXSyntax.JSXEmptyExpression}return JSXEmptyExpression}();r.JSXEmptyExpression=u;var s=function(){function JSXExpressionContainer(e){this.type=i.JSXSyntax.JSXExpressionContainer;this.expression=e}return JSXExpressionContainer}();r.JSXExpressionContainer=s;var o=function(){function JSXIdentifier(e){this.type=i.JSXSyntax.JSXIdentifier;this.name=e}return JSXIdentifier}();r.JSXIdentifier=o;var f=function(){function JSXMemberExpression(e,r){this.type=i.JSXSyntax.JSXMemberExpression;this.object=e;this.property=r}return JSXMemberExpression}();r.JSXMemberExpression=f;var l=function(){function JSXAttribute(e,r){this.type=i.JSXSyntax.JSXAttribute;this.name=e;this.value=r}return JSXAttribute}();r.JSXAttribute=l;var c=function(){function JSXNamespacedName(e,r){this.type=i.JSXSyntax.JSXNamespacedName;this.namespace=e;this.name=r}return JSXNamespacedName}();r.JSXNamespacedName=c;var h=function(){function JSXOpeningElement(e,r,t){this.type=i.JSXSyntax.JSXOpeningElement;this.name=e;this.selfClosing=r;this.attributes=t}return JSXOpeningElement}();r.JSXOpeningElement=h;var p=function(){function JSXSpreadAttribute(e){this.type=i.JSXSyntax.JSXSpreadAttribute;this.argument=e}return JSXSpreadAttribute}();r.JSXSpreadAttribute=p;var v=function(){function JSXText(e,r){this.type=i.JSXSyntax.JSXText;this.value=e;this.raw=r}return JSXText}();r.JSXText=v},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});r.JSXSyntax={JSXAttribute:"JSXAttribute",JSXClosingElement:"JSXClosingElement",JSXElement:"JSXElement",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXIdentifier:"JSXIdentifier",JSXMemberExpression:"JSXMemberExpression",JSXNamespacedName:"JSXNamespacedName",JSXOpeningElement:"JSXOpeningElement",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText"}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(2);var n=function(){function ArrayExpression(e){this.type=i.Syntax.ArrayExpression;this.elements=e}return ArrayExpression}();r.ArrayExpression=n;var a=function(){function ArrayPattern(e){this.type=i.Syntax.ArrayPattern;this.elements=e}return ArrayPattern}();r.ArrayPattern=a;var u=function(){function ArrowFunctionExpression(e,r,t){this.type=i.Syntax.ArrowFunctionExpression;this.id=null;this.params=e;this.body=r;this.generator=false;this.expression=t;this.async=false}return ArrowFunctionExpression}();r.ArrowFunctionExpression=u;var s=function(){function AssignmentExpression(e,r,t){this.type=i.Syntax.AssignmentExpression;this.operator=e;this.left=r;this.right=t}return AssignmentExpression}();r.AssignmentExpression=s;var o=function(){function AssignmentPattern(e,r){this.type=i.Syntax.AssignmentPattern;this.left=e;this.right=r}return AssignmentPattern}();r.AssignmentPattern=o;var f=function(){function AsyncArrowFunctionExpression(e,r,t){this.type=i.Syntax.ArrowFunctionExpression;this.id=null;this.params=e;this.body=r;this.generator=false;this.expression=t;this.async=true}return AsyncArrowFunctionExpression}();r.AsyncArrowFunctionExpression=f;var l=function(){function AsyncFunctionDeclaration(e,r,t){this.type=i.Syntax.FunctionDeclaration;this.id=e;this.params=r;this.body=t;this.generator=false;this.expression=false;this.async=true}return AsyncFunctionDeclaration}();r.AsyncFunctionDeclaration=l;var c=function(){function AsyncFunctionExpression(e,r,t){this.type=i.Syntax.FunctionExpression;this.id=e;this.params=r;this.body=t;this.generator=false;this.expression=false;this.async=true}return AsyncFunctionExpression}();r.AsyncFunctionExpression=c;var h=function(){function AwaitExpression(e){this.type=i.Syntax.AwaitExpression;this.argument=e}return AwaitExpression}();r.AwaitExpression=h;var p=function(){function BinaryExpression(e,r,t){var n=e==="||"||e==="&&";this.type=n?i.Syntax.LogicalExpression:i.Syntax.BinaryExpression;this.operator=e;this.left=r;this.right=t}return BinaryExpression}();r.BinaryExpression=p;var v=function(){function BlockStatement(e){this.type=i.Syntax.BlockStatement;this.body=e}return BlockStatement}();r.BlockStatement=v;var d=function(){function BreakStatement(e){this.type=i.Syntax.BreakStatement;this.label=e}return BreakStatement}();r.BreakStatement=d;var D=function(){function CallExpression(e,r){this.type=i.Syntax.CallExpression;this.callee=e;this.arguments=r}return CallExpression}();r.CallExpression=D;var m=function(){function CatchClause(e,r){this.type=i.Syntax.CatchClause;this.param=e;this.body=r}return CatchClause}();r.CatchClause=m;var g=function(){function ClassBody(e){this.type=i.Syntax.ClassBody;this.body=e}return ClassBody}();r.ClassBody=g;var E=function(){function ClassDeclaration(e,r,t){this.type=i.Syntax.ClassDeclaration;this.id=e;this.superClass=r;this.body=t}return ClassDeclaration}();r.ClassDeclaration=E;var A=function(){function ClassExpression(e,r,t){this.type=i.Syntax.ClassExpression;this.id=e;this.superClass=r;this.body=t}return ClassExpression}();r.ClassExpression=A;var C=function(){function ComputedMemberExpression(e,r){this.type=i.Syntax.MemberExpression;this.computed=true;this.object=e;this.property=r}return ComputedMemberExpression}();r.ComputedMemberExpression=C;var y=function(){function ConditionalExpression(e,r,t){this.type=i.Syntax.ConditionalExpression;this.test=e;this.consequent=r;this.alternate=t}return ConditionalExpression}();r.ConditionalExpression=y;var w=function(){function ContinueStatement(e){this.type=i.Syntax.ContinueStatement;this.label=e}return ContinueStatement}();r.ContinueStatement=w;var x=function(){function DebuggerStatement(){this.type=i.Syntax.DebuggerStatement}return DebuggerStatement}();r.DebuggerStatement=x;var b=function(){function Directive(e,r){this.type=i.Syntax.ExpressionStatement;this.expression=e;this.directive=r}return Directive}();r.Directive=b;var F=function(){function DoWhileStatement(e,r){this.type=i.Syntax.DoWhileStatement;this.body=e;this.test=r}return DoWhileStatement}();r.DoWhileStatement=F;var S=function(){function EmptyStatement(){this.type=i.Syntax.EmptyStatement}return EmptyStatement}();r.EmptyStatement=S;var B=function(){function ExportAllDeclaration(e){this.type=i.Syntax.ExportAllDeclaration;this.source=e}return ExportAllDeclaration}();r.ExportAllDeclaration=B;var k=function(){function ExportDefaultDeclaration(e){this.type=i.Syntax.ExportDefaultDeclaration;this.declaration=e}return ExportDefaultDeclaration}();r.ExportDefaultDeclaration=k;var O=function(){function ExportNamedDeclaration(e,r,t){this.type=i.Syntax.ExportNamedDeclaration;this.declaration=e;this.specifiers=r;this.source=t}return ExportNamedDeclaration}();r.ExportNamedDeclaration=O;var P=function(){function ExportSpecifier(e,r){this.type=i.Syntax.ExportSpecifier;this.exported=r;this.local=e}return ExportSpecifier}();r.ExportSpecifier=P;var T=function(){function ExpressionStatement(e){this.type=i.Syntax.ExpressionStatement;this.expression=e}return ExpressionStatement}();r.ExpressionStatement=T;var I=function(){function ForInStatement(e,r,t){this.type=i.Syntax.ForInStatement;this.left=e;this.right=r;this.body=t;this.each=false}return ForInStatement}();r.ForInStatement=I;var M=function(){function ForOfStatement(e,r,t){this.type=i.Syntax.ForOfStatement;this.left=e;this.right=r;this.body=t}return ForOfStatement}();r.ForOfStatement=M;var L=function(){function ForStatement(e,r,t,n){this.type=i.Syntax.ForStatement;this.init=e;this.test=r;this.update=t;this.body=n}return ForStatement}();r.ForStatement=L;var R=function(){function FunctionDeclaration(e,r,t,n){this.type=i.Syntax.FunctionDeclaration;this.id=e;this.params=r;this.body=t;this.generator=n;this.expression=false;this.async=false}return FunctionDeclaration}();r.FunctionDeclaration=R;var j=function(){function FunctionExpression(e,r,t,n){this.type=i.Syntax.FunctionExpression;this.id=e;this.params=r;this.body=t;this.generator=n;this.expression=false;this.async=false}return FunctionExpression}();r.FunctionExpression=j;var N=function(){function Identifier(e){this.type=i.Syntax.Identifier;this.name=e}return Identifier}();r.Identifier=N;var U=function(){function IfStatement(e,r,t){this.type=i.Syntax.IfStatement;this.test=e;this.consequent=r;this.alternate=t}return IfStatement}();r.IfStatement=U;var J=function(){function ImportDeclaration(e,r){this.type=i.Syntax.ImportDeclaration;this.specifiers=e;this.source=r}return ImportDeclaration}();r.ImportDeclaration=J;var z=function(){function ImportDefaultSpecifier(e){this.type=i.Syntax.ImportDefaultSpecifier;this.local=e}return ImportDefaultSpecifier}();r.ImportDefaultSpecifier=z;var X=function(){function ImportNamespaceSpecifier(e){this.type=i.Syntax.ImportNamespaceSpecifier;this.local=e}return ImportNamespaceSpecifier}();r.ImportNamespaceSpecifier=X;var q=function(){function ImportSpecifier(e,r){this.type=i.Syntax.ImportSpecifier;this.local=e;this.imported=r}return ImportSpecifier}();r.ImportSpecifier=q;var G=function(){function LabeledStatement(e,r){this.type=i.Syntax.LabeledStatement;this.label=e;this.body=r}return LabeledStatement}();r.LabeledStatement=G;var _=function(){function Literal(e,r){this.type=i.Syntax.Literal;this.value=e;this.raw=r}return Literal}();r.Literal=_;var W=function(){function MetaProperty(e,r){this.type=i.Syntax.MetaProperty;this.meta=e;this.property=r}return MetaProperty}();r.MetaProperty=W;var V=function(){function MethodDefinition(e,r,t,n,a){this.type=i.Syntax.MethodDefinition;this.key=e;this.computed=r;this.value=t;this.kind=n;this.static=a}return MethodDefinition}();r.MethodDefinition=V;var H=function(){function Module(e){this.type=i.Syntax.Program;this.body=e;this.sourceType="module"}return Module}();r.Module=H;var Y=function(){function NewExpression(e,r){this.type=i.Syntax.NewExpression;this.callee=e;this.arguments=r}return NewExpression}();r.NewExpression=Y;var $=function(){function ObjectExpression(e){this.type=i.Syntax.ObjectExpression;this.properties=e}return ObjectExpression}();r.ObjectExpression=$;var Z=function(){function ObjectPattern(e){this.type=i.Syntax.ObjectPattern;this.properties=e}return ObjectPattern}();r.ObjectPattern=Z;var Q=function(){function Property(e,r,t,n,a,u){this.type=i.Syntax.Property;this.key=r;this.computed=t;this.value=n;this.kind=e;this.method=a;this.shorthand=u}return Property}();r.Property=Q;var K=function(){function RegexLiteral(e,r,t,n){this.type=i.Syntax.Literal;this.value=e;this.raw=r;this.regex={pattern:t,flags:n}}return RegexLiteral}();r.RegexLiteral=K;var ee=function(){function RestElement(e){this.type=i.Syntax.RestElement;this.argument=e}return RestElement}();r.RestElement=ee;var re=function(){function ReturnStatement(e){this.type=i.Syntax.ReturnStatement;this.argument=e}return ReturnStatement}();r.ReturnStatement=re;var te=function(){function Script(e){this.type=i.Syntax.Program;this.body=e;this.sourceType="script"}return Script}();r.Script=te;var ie=function(){function SequenceExpression(e){this.type=i.Syntax.SequenceExpression;this.expressions=e}return SequenceExpression}();r.SequenceExpression=ie;var ne=function(){function SpreadElement(e){this.type=i.Syntax.SpreadElement;this.argument=e}return SpreadElement}();r.SpreadElement=ne;var ae=function(){function StaticMemberExpression(e,r){this.type=i.Syntax.MemberExpression;this.computed=false;this.object=e;this.property=r}return StaticMemberExpression}();r.StaticMemberExpression=ae;var ue=function(){function Super(){this.type=i.Syntax.Super}return Super}();r.Super=ue;var se=function(){function SwitchCase(e,r){this.type=i.Syntax.SwitchCase;this.test=e;this.consequent=r}return SwitchCase}();r.SwitchCase=se;var oe=function(){function SwitchStatement(e,r){this.type=i.Syntax.SwitchStatement;this.discriminant=e;this.cases=r}return SwitchStatement}();r.SwitchStatement=oe;var fe=function(){function TaggedTemplateExpression(e,r){this.type=i.Syntax.TaggedTemplateExpression;this.tag=e;this.quasi=r}return TaggedTemplateExpression}();r.TaggedTemplateExpression=fe;var le=function(){function TemplateElement(e,r){this.type=i.Syntax.TemplateElement;this.value=e;this.tail=r}return TemplateElement}();r.TemplateElement=le;var ce=function(){function TemplateLiteral(e,r){this.type=i.Syntax.TemplateLiteral;this.quasis=e;this.expressions=r}return TemplateLiteral}();r.TemplateLiteral=ce;var he=function(){function ThisExpression(){this.type=i.Syntax.ThisExpression}return ThisExpression}();r.ThisExpression=he;var pe=function(){function ThrowStatement(e){this.type=i.Syntax.ThrowStatement;this.argument=e}return ThrowStatement}();r.ThrowStatement=pe;var ve=function(){function TryStatement(e,r,t){this.type=i.Syntax.TryStatement;this.block=e;this.handler=r;this.finalizer=t}return TryStatement}();r.TryStatement=ve;var de=function(){function UnaryExpression(e,r){this.type=i.Syntax.UnaryExpression;this.operator=e;this.argument=r;this.prefix=true}return UnaryExpression}();r.UnaryExpression=de;var De=function(){function UpdateExpression(e,r,t){this.type=i.Syntax.UpdateExpression;this.operator=e;this.argument=r;this.prefix=t}return UpdateExpression}();r.UpdateExpression=De;var me=function(){function VariableDeclaration(e,r){this.type=i.Syntax.VariableDeclaration;this.declarations=e;this.kind=r}return VariableDeclaration}();r.VariableDeclaration=me;var ge=function(){function VariableDeclarator(e,r){this.type=i.Syntax.VariableDeclarator;this.id=e;this.init=r}return VariableDeclarator}();r.VariableDeclarator=ge;var Ee=function(){function WhileStatement(e,r){this.type=i.Syntax.WhileStatement;this.test=e;this.body=r}return WhileStatement}();r.WhileStatement=Ee;var Ae=function(){function WithStatement(e,r){this.type=i.Syntax.WithStatement;this.object=e;this.body=r}return WithStatement}();r.WithStatement=Ae;var Ce=function(){function YieldExpression(e,r){this.type=i.Syntax.YieldExpression;this.argument=e;this.delegate=r}return YieldExpression}();r.YieldExpression=Ce},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(9);var n=t(10);var a=t(11);var u=t(7);var s=t(12);var o=t(2);var f=t(13);var l="ArrowParameterPlaceHolder";var c=function(){function Parser(e,r,t){if(r===void 0){r={}}this.config={range:typeof r.range==="boolean"&&r.range,loc:typeof r.loc==="boolean"&&r.loc,source:null,tokens:typeof r.tokens==="boolean"&&r.tokens,comment:typeof r.comment==="boolean"&&r.comment,tolerant:typeof r.tolerant==="boolean"&&r.tolerant};if(this.config.loc&&r.source&&r.source!==null){this.config.source=String(r.source)}this.delegate=t;this.errorHandler=new n.ErrorHandler;this.errorHandler.tolerant=this.config.tolerant;this.scanner=new s.Scanner(e,this.errorHandler);this.scanner.trackComment=this.config.comment;this.operatorPrecedence={")":0,";":0,",":0,"=":0,"]":0,"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":11,"/":11,"%":11};this.lookahead={type:2,value:"",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0};this.hasLineTerminator=false;this.context={isModule:false,await:false,allowIn:true,allowStrictDirective:true,allowYield:true,firstCoverInitializedNameError:null,isAssignmentTarget:false,isBindingElement:false,inFunctionBody:false,inIteration:false,inSwitch:false,labelSet:{},strict:false};this.tokens=[];this.startMarker={index:0,line:this.scanner.lineNumber,column:0};this.lastMarker={index:0,line:this.scanner.lineNumber,column:0};this.nextToken();this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}Parser.prototype.throwError=function(e){var r=[];for(var t=1;t0&&this.delegate){for(var r=0;r>="||e===">>>="||e==="&="||e==="^="||e==="|="};Parser.prototype.isolateCoverGrammar=function(e){var r=this.context.isBindingElement;var t=this.context.isAssignmentTarget;var i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=true;this.context.isAssignmentTarget=true;this.context.firstCoverInitializedNameError=null;var n=e.call(this);if(this.context.firstCoverInitializedNameError!==null){this.throwUnexpectedToken(this.context.firstCoverInitializedNameError)}this.context.isBindingElement=r;this.context.isAssignmentTarget=t;this.context.firstCoverInitializedNameError=i;return n};Parser.prototype.inheritCoverGrammar=function(e){var r=this.context.isBindingElement;var t=this.context.isAssignmentTarget;var i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=true;this.context.isAssignmentTarget=true;this.context.firstCoverInitializedNameError=null;var n=e.call(this);this.context.isBindingElement=this.context.isBindingElement&&r;this.context.isAssignmentTarget=this.context.isAssignmentTarget&&t;this.context.firstCoverInitializedNameError=i||this.context.firstCoverInitializedNameError;return n};Parser.prototype.consumeSemicolon=function(){if(this.match(";")){this.nextToken()}else if(!this.hasLineTerminator){if(this.lookahead.type!==2&&!this.match("}")){this.throwUnexpectedToken(this.lookahead)}this.lastMarker.index=this.startMarker.index;this.lastMarker.line=this.startMarker.line;this.lastMarker.column=this.startMarker.column}};Parser.prototype.parsePrimaryExpression=function(){var e=this.createNode();var r;var t,i;switch(this.lookahead.type){case 3:if((this.context.isModule||this.context.await)&&this.lookahead.value==="await"){this.tolerateUnexpectedToken(this.lookahead)}r=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(e,new u.Identifier(this.nextToken().value));break;case 6:case 8:if(this.context.strict&&this.lookahead.octal){this.tolerateUnexpectedToken(this.lookahead,a.Messages.StrictOctalLiteral)}this.context.isAssignmentTarget=false;this.context.isBindingElement=false;t=this.nextToken();i=this.getTokenRaw(t);r=this.finalize(e,new u.Literal(t.value,i));break;case 1:this.context.isAssignmentTarget=false;this.context.isBindingElement=false;t=this.nextToken();i=this.getTokenRaw(t);r=this.finalize(e,new u.Literal(t.value==="true",i));break;case 5:this.context.isAssignmentTarget=false;this.context.isBindingElement=false;t=this.nextToken();i=this.getTokenRaw(t);r=this.finalize(e,new u.Literal(null,i));break;case 10:r=this.parseTemplateLiteral();break;case 7:switch(this.lookahead.value){case"(":this.context.isBindingElement=false;r=this.inheritCoverGrammar(this.parseGroupExpression);break;case"[":r=this.inheritCoverGrammar(this.parseArrayInitializer);break;case"{":r=this.inheritCoverGrammar(this.parseObjectInitializer);break;case"/":case"/=":this.context.isAssignmentTarget=false;this.context.isBindingElement=false;this.scanner.index=this.startMarker.index;t=this.nextRegexToken();i=this.getTokenRaw(t);r=this.finalize(e,new u.RegexLiteral(t.regex,i,t.pattern,t.flags));break;default:r=this.throwUnexpectedToken(this.nextToken())}break;case 4:if(!this.context.strict&&this.context.allowYield&&this.matchKeyword("yield")){r=this.parseIdentifierName()}else if(!this.context.strict&&this.matchKeyword("let")){r=this.finalize(e,new u.Identifier(this.nextToken().value))}else{this.context.isAssignmentTarget=false;this.context.isBindingElement=false;if(this.matchKeyword("function")){r=this.parseFunctionExpression()}else if(this.matchKeyword("this")){this.nextToken();r=this.finalize(e,new u.ThisExpression)}else if(this.matchKeyword("class")){r=this.parseClassExpression()}else{r=this.throwUnexpectedToken(this.nextToken())}}break;default:r=this.throwUnexpectedToken(this.nextToken())}return r};Parser.prototype.parseSpreadElement=function(){var e=this.createNode();this.expect("...");var r=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(e,new u.SpreadElement(r))};Parser.prototype.parseArrayInitializer=function(){var e=this.createNode();var r=[];this.expect("[");while(!this.match("]")){if(this.match(",")){this.nextToken();r.push(null)}else if(this.match("...")){var t=this.parseSpreadElement();if(!this.match("]")){this.context.isAssignmentTarget=false;this.context.isBindingElement=false;this.expect(",")}r.push(t)}else{r.push(this.inheritCoverGrammar(this.parseAssignmentExpression));if(!this.match("]")){this.expect(",")}}}this.expect("]");return this.finalize(e,new u.ArrayExpression(r))};Parser.prototype.parsePropertyMethod=function(e){this.context.isAssignmentTarget=false;this.context.isBindingElement=false;var r=this.context.strict;var t=this.context.allowStrictDirective;this.context.allowStrictDirective=e.simple;var i=this.isolateCoverGrammar(this.parseFunctionSourceElements);if(this.context.strict&&e.firstRestricted){this.tolerateUnexpectedToken(e.firstRestricted,e.message)}if(this.context.strict&&e.stricted){this.tolerateUnexpectedToken(e.stricted,e.message)}this.context.strict=r;this.context.allowStrictDirective=t;return i};Parser.prototype.parsePropertyMethodFunction=function(){var e=false;var r=this.createNode();var t=this.context.allowYield;this.context.allowYield=true;var i=this.parseFormalParameters();var n=this.parsePropertyMethod(i);this.context.allowYield=t;return this.finalize(r,new u.FunctionExpression(null,i.params,n,e))};Parser.prototype.parsePropertyMethodAsyncFunction=function(){var e=this.createNode();var r=this.context.allowYield;var t=this.context.await;this.context.allowYield=false;this.context.await=true;var i=this.parseFormalParameters();var n=this.parsePropertyMethod(i);this.context.allowYield=r;this.context.await=t;return this.finalize(e,new u.AsyncFunctionExpression(null,i.params,n))};Parser.prototype.parseObjectPropertyKey=function(){var e=this.createNode();var r=this.nextToken();var t;switch(r.type){case 8:case 6:if(this.context.strict&&r.octal){this.tolerateUnexpectedToken(r,a.Messages.StrictOctalLiteral)}var i=this.getTokenRaw(r);t=this.finalize(e,new u.Literal(r.value,i));break;case 3:case 1:case 5:case 4:t=this.finalize(e,new u.Identifier(r.value));break;case 7:if(r.value==="["){t=this.isolateCoverGrammar(this.parseAssignmentExpression);this.expect("]")}else{t=this.throwUnexpectedToken(r)}break;default:t=this.throwUnexpectedToken(r)}return t};Parser.prototype.isPropertyKey=function(e,r){return e.type===o.Syntax.Identifier&&e.name===r||e.type===o.Syntax.Literal&&e.value===r};Parser.prototype.parseObjectProperty=function(e){var r=this.createNode();var t=this.lookahead;var i;var n=null;var s=null;var o=false;var f=false;var l=false;var c=false;if(t.type===3){var h=t.value;this.nextToken();o=this.match("[");c=!this.hasLineTerminator&&h==="async"&&!this.match(":")&&!this.match("(")&&!this.match("*")&&!this.match(",");n=c?this.parseObjectPropertyKey():this.finalize(r,new u.Identifier(h))}else if(this.match("*")){this.nextToken()}else{o=this.match("[");n=this.parseObjectPropertyKey()}var p=this.qualifiedPropertyName(this.lookahead);if(t.type===3&&!c&&t.value==="get"&&p){i="get";o=this.match("[");n=this.parseObjectPropertyKey();this.context.allowYield=false;s=this.parseGetterMethod()}else if(t.type===3&&!c&&t.value==="set"&&p){i="set";o=this.match("[");n=this.parseObjectPropertyKey();s=this.parseSetterMethod()}else if(t.type===7&&t.value==="*"&&p){i="init";o=this.match("[");n=this.parseObjectPropertyKey();s=this.parseGeneratorMethod();f=true}else{if(!n){this.throwUnexpectedToken(this.lookahead)}i="init";if(this.match(":")&&!c){if(!o&&this.isPropertyKey(n,"__proto__")){if(e.value){this.tolerateError(a.Messages.DuplicateProtoProperty)}e.value=true}this.nextToken();s=this.inheritCoverGrammar(this.parseAssignmentExpression)}else if(this.match("(")){s=c?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction();f=true}else if(t.type===3){var h=this.finalize(r,new u.Identifier(t.value));if(this.match("=")){this.context.firstCoverInitializedNameError=this.lookahead;this.nextToken();l=true;var v=this.isolateCoverGrammar(this.parseAssignmentExpression);s=this.finalize(r,new u.AssignmentPattern(h,v))}else{l=true;s=h}}else{this.throwUnexpectedToken(this.nextToken())}}return this.finalize(r,new u.Property(i,n,o,s,f,l))};Parser.prototype.parseObjectInitializer=function(){var e=this.createNode();this.expect("{");var r=[];var t={value:false};while(!this.match("}")){r.push(this.parseObjectProperty(t));if(!this.match("}")){this.expectCommaSeparator()}}this.expect("}");return this.finalize(e,new u.ObjectExpression(r))};Parser.prototype.parseTemplateHead=function(){i.assert(this.lookahead.head,"Template literal must start with a template head");var e=this.createNode();var r=this.nextToken();var t=r.value;var n=r.cooked;return this.finalize(e,new u.TemplateElement({raw:t,cooked:n},r.tail))};Parser.prototype.parseTemplateElement=function(){if(this.lookahead.type!==10){this.throwUnexpectedToken()}var e=this.createNode();var r=this.nextToken();var t=r.value;var i=r.cooked;return this.finalize(e,new u.TemplateElement({raw:t,cooked:i},r.tail))};Parser.prototype.parseTemplateLiteral=function(){var e=this.createNode();var r=[];var t=[];var i=this.parseTemplateHead();t.push(i);while(!i.tail){r.push(this.parseExpression());i=this.parseTemplateElement();t.push(i)}return this.finalize(e,new u.TemplateLiteral(t,r))};Parser.prototype.reinterpretExpressionAsPattern=function(e){switch(e.type){case o.Syntax.Identifier:case o.Syntax.MemberExpression:case o.Syntax.RestElement:case o.Syntax.AssignmentPattern:break;case o.Syntax.SpreadElement:e.type=o.Syntax.RestElement;this.reinterpretExpressionAsPattern(e.argument);break;case o.Syntax.ArrayExpression:e.type=o.Syntax.ArrayPattern;for(var r=0;r")){this.expect("=>")}e={type:l,params:[],async:false}}else{var r=this.lookahead;var t=[];if(this.match("...")){e=this.parseRestElement(t);this.expect(")");if(!this.match("=>")){this.expect("=>")}e={type:l,params:[e],async:false}}else{var i=false;this.context.isBindingElement=true;e=this.inheritCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var n=[];this.context.isAssignmentTarget=false;n.push(e);while(this.lookahead.type!==2){if(!this.match(",")){break}this.nextToken();if(this.match(")")){this.nextToken();for(var a=0;a")){this.expect("=>")}this.context.isBindingElement=false;for(var a=0;a")){if(e.type===o.Syntax.Identifier&&e.name==="yield"){i=true;e={type:l,params:[e],async:false}}if(!i){if(!this.context.isBindingElement){this.throwUnexpectedToken(this.lookahead)}if(e.type===o.Syntax.SequenceExpression){for(var a=0;a")){for(var o=0;o0){this.nextToken();this.context.isAssignmentTarget=false;this.context.isBindingElement=false;var n=[e,this.lookahead];var a=r;var s=this.isolateCoverGrammar(this.parseExponentiationExpression);var o=[a,t.value,s];var f=[i];while(true){i=this.binaryPrecedence(this.lookahead);if(i<=0){break}while(o.length>2&&i<=f[f.length-1]){s=o.pop();var l=o.pop();f.pop();a=o.pop();n.pop();var c=this.startNode(n[n.length-1]);o.push(this.finalize(c,new u.BinaryExpression(l,a,s)))}o.push(this.nextToken().value);f.push(i);n.push(this.lookahead);o.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}var h=o.length-1;r=o[h];var p=n.pop();while(h>1){var v=n.pop();var d=p&&p.lineStart;var c=this.startNode(v,d);var l=o[h-1];r=this.finalize(c,new u.BinaryExpression(l,o[h-2],r));h-=2;p=v}}return r};Parser.prototype.parseConditionalExpression=function(){var e=this.lookahead;var r=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match("?")){this.nextToken();var t=this.context.allowIn;this.context.allowIn=true;var i=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=t;this.expect(":");var n=this.isolateCoverGrammar(this.parseAssignmentExpression);r=this.finalize(this.startNode(e),new u.ConditionalExpression(r,i,n));this.context.isAssignmentTarget=false;this.context.isBindingElement=false}return r};Parser.prototype.checkPatternParam=function(e,r){switch(r.type){case o.Syntax.Identifier:this.validateParam(e,r,r.name);break;case o.Syntax.RestElement:this.checkPatternParam(e,r.argument);break;case o.Syntax.AssignmentPattern:this.checkPatternParam(e,r.left);break;case o.Syntax.ArrayPattern:for(var t=0;t")){this.context.isAssignmentTarget=false;this.context.isBindingElement=false;var n=e.async;var s=this.reinterpretAsCoverFormalsList(e);if(s){if(this.hasLineTerminator){this.tolerateUnexpectedToken(this.lookahead)}this.context.firstCoverInitializedNameError=null;var f=this.context.strict;var c=this.context.allowStrictDirective;this.context.allowStrictDirective=s.simple;var h=this.context.allowYield;var p=this.context.await;this.context.allowYield=true;this.context.await=n;var v=this.startNode(r);this.expect("=>");var d=void 0;if(this.match("{")){var D=this.context.allowIn;this.context.allowIn=true;d=this.parseFunctionSourceElements();this.context.allowIn=D}else{d=this.isolateCoverGrammar(this.parseAssignmentExpression)}var m=d.type!==o.Syntax.BlockStatement;if(this.context.strict&&s.firstRestricted){this.throwUnexpectedToken(s.firstRestricted,s.message)}if(this.context.strict&&s.stricted){this.tolerateUnexpectedToken(s.stricted,s.message)}e=n?this.finalize(v,new u.AsyncArrowFunctionExpression(s.params,d,m)):this.finalize(v,new u.ArrowFunctionExpression(s.params,d,m));this.context.strict=f;this.context.allowStrictDirective=c;this.context.allowYield=h;this.context.await=p}}else{if(this.matchAssign()){if(!this.context.isAssignmentTarget){this.tolerateError(a.Messages.InvalidLHSInAssignment)}if(this.context.strict&&e.type===o.Syntax.Identifier){var g=e;if(this.scanner.isRestrictedWord(g.name)){this.tolerateUnexpectedToken(t,a.Messages.StrictLHSAssignment)}if(this.scanner.isStrictModeReservedWord(g.name)){this.tolerateUnexpectedToken(t,a.Messages.StrictReservedWord)}}if(!this.match("=")){this.context.isAssignmentTarget=false;this.context.isBindingElement=false}else{this.reinterpretExpressionAsPattern(e)}t=this.nextToken();var E=t.value;var A=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(r),new u.AssignmentExpression(E,e,A));this.context.firstCoverInitializedNameError=null}}}return e};Parser.prototype.parseExpression=function(){var e=this.lookahead;var r=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var t=[];t.push(r);while(this.lookahead.type!==2){if(!this.match(",")){break}this.nextToken();t.push(this.isolateCoverGrammar(this.parseAssignmentExpression))}r=this.finalize(this.startNode(e),new u.SequenceExpression(t))}return r};Parser.prototype.parseStatementListItem=function(){var e;this.context.isAssignmentTarget=true;this.context.isBindingElement=true;if(this.lookahead.type===4){switch(this.lookahead.value){case"export":if(!this.context.isModule){this.tolerateUnexpectedToken(this.lookahead,a.Messages.IllegalExportDeclaration)}e=this.parseExportDeclaration();break;case"import":if(!this.context.isModule){this.tolerateUnexpectedToken(this.lookahead,a.Messages.IllegalImportDeclaration)}e=this.parseImportDeclaration();break;case"const":e=this.parseLexicalDeclaration({inFor:false});break;case"function":e=this.parseFunctionDeclaration();break;case"class":e=this.parseClassDeclaration();break;case"let":e=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:false}):this.parseStatement();break;default:e=this.parseStatement();break}}else{e=this.parseStatement()}return e};Parser.prototype.parseBlock=function(){var e=this.createNode();this.expect("{");var r=[];while(true){if(this.match("}")){break}r.push(this.parseStatementListItem())}this.expect("}");return this.finalize(e,new u.BlockStatement(r))};Parser.prototype.parseLexicalBinding=function(e,r){var t=this.createNode();var i=[];var n=this.parsePattern(i,e);if(this.context.strict&&n.type===o.Syntax.Identifier){if(this.scanner.isRestrictedWord(n.name)){this.tolerateError(a.Messages.StrictVarName)}}var s=null;if(e==="const"){if(!this.matchKeyword("in")&&!this.matchContextualKeyword("of")){if(this.match("=")){this.nextToken();s=this.isolateCoverGrammar(this.parseAssignmentExpression)}else{this.throwError(a.Messages.DeclarationMissingInitializer,"const")}}}else if(!r.inFor&&n.type!==o.Syntax.Identifier||this.match("=")){this.expect("=");s=this.isolateCoverGrammar(this.parseAssignmentExpression)}return this.finalize(t,new u.VariableDeclarator(n,s))};Parser.prototype.parseBindingList=function(e,r){var t=[this.parseLexicalBinding(e,r)];while(this.match(",")){this.nextToken();t.push(this.parseLexicalBinding(e,r))}return t};Parser.prototype.isLexicalDeclaration=function(){var e=this.scanner.saveState();this.scanner.scanComments();var r=this.scanner.lex();this.scanner.restoreState(e);return r.type===3||r.type===7&&r.value==="["||r.type===7&&r.value==="{"||r.type===4&&r.value==="let"||r.type===4&&r.value==="yield"};Parser.prototype.parseLexicalDeclaration=function(e){var r=this.createNode();var t=this.nextToken().value;i.assert(t==="let"||t==="const","Lexical declaration must be either let or const");var n=this.parseBindingList(t,e);this.consumeSemicolon();return this.finalize(r,new u.VariableDeclaration(n,t))};Parser.prototype.parseBindingRestElement=function(e,r){var t=this.createNode();this.expect("...");var i=this.parsePattern(e,r);return this.finalize(t,new u.RestElement(i))};Parser.prototype.parseArrayPattern=function(e,r){var t=this.createNode();this.expect("[");var i=[];while(!this.match("]")){if(this.match(",")){this.nextToken();i.push(null)}else{if(this.match("...")){i.push(this.parseBindingRestElement(e,r));break}else{i.push(this.parsePatternWithDefault(e,r))}if(!this.match("]")){this.expect(",")}}}this.expect("]");return this.finalize(t,new u.ArrayPattern(i))};Parser.prototype.parsePropertyPattern=function(e,r){var t=this.createNode();var i=false;var n=false;var a=false;var s;var o;if(this.lookahead.type===3){var f=this.lookahead;s=this.parseVariableIdentifier();var l=this.finalize(t,new u.Identifier(f.value));if(this.match("=")){e.push(f);n=true;this.nextToken();var c=this.parseAssignmentExpression();o=this.finalize(this.startNode(f),new u.AssignmentPattern(l,c))}else if(!this.match(":")){e.push(f);n=true;o=l}else{this.expect(":");o=this.parsePatternWithDefault(e,r)}}else{i=this.match("[");s=this.parseObjectPropertyKey();this.expect(":");o=this.parsePatternWithDefault(e,r)}return this.finalize(t,new u.Property("init",s,i,o,a,n))};Parser.prototype.parseObjectPattern=function(e,r){var t=this.createNode();var i=[];this.expect("{");while(!this.match("}")){i.push(this.parsePropertyPattern(e,r));if(!this.match("}")){this.expect(",")}}this.expect("}");return this.finalize(t,new u.ObjectPattern(i))};Parser.prototype.parsePattern=function(e,r){var t;if(this.match("[")){t=this.parseArrayPattern(e,r)}else if(this.match("{")){t=this.parseObjectPattern(e,r)}else{if(this.matchKeyword("let")&&(r==="const"||r==="let")){this.tolerateUnexpectedToken(this.lookahead,a.Messages.LetInLexicalBinding)}e.push(this.lookahead);t=this.parseVariableIdentifier(r)}return t};Parser.prototype.parsePatternWithDefault=function(e,r){var t=this.lookahead;var i=this.parsePattern(e,r);if(this.match("=")){this.nextToken();var n=this.context.allowYield;this.context.allowYield=true;var a=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=n;i=this.finalize(this.startNode(t),new u.AssignmentPattern(i,a))}return i};Parser.prototype.parseVariableIdentifier=function(e){var r=this.createNode();var t=this.nextToken();if(t.type===4&&t.value==="yield"){if(this.context.strict){this.tolerateUnexpectedToken(t,a.Messages.StrictReservedWord)}else if(!this.context.allowYield){this.throwUnexpectedToken(t)}}else if(t.type!==3){if(this.context.strict&&t.type===4&&this.scanner.isStrictModeReservedWord(t.value)){this.tolerateUnexpectedToken(t,a.Messages.StrictReservedWord)}else{if(this.context.strict||t.value!=="let"||e!=="var"){this.throwUnexpectedToken(t)}}}else if((this.context.isModule||this.context.await)&&t.type===3&&t.value==="await"){this.tolerateUnexpectedToken(t)}return this.finalize(r,new u.Identifier(t.value))};Parser.prototype.parseVariableDeclaration=function(e){var r=this.createNode();var t=[];var i=this.parsePattern(t,"var");if(this.context.strict&&i.type===o.Syntax.Identifier){if(this.scanner.isRestrictedWord(i.name)){this.tolerateError(a.Messages.StrictVarName)}}var n=null;if(this.match("=")){this.nextToken();n=this.isolateCoverGrammar(this.parseAssignmentExpression)}else if(i.type!==o.Syntax.Identifier&&!e.inFor){this.expect("=")}return this.finalize(r,new u.VariableDeclarator(i,n))};Parser.prototype.parseVariableDeclarationList=function(e){var r={inFor:e.inFor};var t=[];t.push(this.parseVariableDeclaration(r));while(this.match(",")){this.nextToken();t.push(this.parseVariableDeclaration(r))}return t};Parser.prototype.parseVariableStatement=function(){var e=this.createNode();this.expectKeyword("var");var r=this.parseVariableDeclarationList({inFor:false});this.consumeSemicolon();return this.finalize(e,new u.VariableDeclaration(r,"var"))};Parser.prototype.parseEmptyStatement=function(){var e=this.createNode();this.expect(";");return this.finalize(e,new u.EmptyStatement)};Parser.prototype.parseExpressionStatement=function(){var e=this.createNode();var r=this.parseExpression();this.consumeSemicolon();return this.finalize(e,new u.ExpressionStatement(r))};Parser.prototype.parseIfClause=function(){if(this.context.strict&&this.matchKeyword("function")){this.tolerateError(a.Messages.StrictFunction)}return this.parseStatement()};Parser.prototype.parseIfStatement=function(){var e=this.createNode();var r;var t=null;this.expectKeyword("if");this.expect("(");var i=this.parseExpression();if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken());r=this.finalize(this.createNode(),new u.EmptyStatement)}else{this.expect(")");r=this.parseIfClause();if(this.matchKeyword("else")){this.nextToken();t=this.parseIfClause()}}return this.finalize(e,new u.IfStatement(i,r,t))};Parser.prototype.parseDoWhileStatement=function(){var e=this.createNode();this.expectKeyword("do");var r=this.context.inIteration;this.context.inIteration=true;var t=this.parseStatement();this.context.inIteration=r;this.expectKeyword("while");this.expect("(");var i=this.parseExpression();if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken())}else{this.expect(")");if(this.match(";")){this.nextToken()}}return this.finalize(e,new u.DoWhileStatement(t,i))};Parser.prototype.parseWhileStatement=function(){var e=this.createNode();var r;this.expectKeyword("while");this.expect("(");var t=this.parseExpression();if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken());r=this.finalize(this.createNode(),new u.EmptyStatement)}else{this.expect(")");var i=this.context.inIteration;this.context.inIteration=true;r=this.parseStatement();this.context.inIteration=i}return this.finalize(e,new u.WhileStatement(t,r))};Parser.prototype.parseForStatement=function(){var e=null;var r=null;var t=null;var i=true;var n,s;var f=this.createNode();this.expectKeyword("for");this.expect("(");if(this.match(";")){this.nextToken()}else{if(this.matchKeyword("var")){e=this.createNode();this.nextToken();var l=this.context.allowIn;this.context.allowIn=false;var c=this.parseVariableDeclarationList({inFor:true});this.context.allowIn=l;if(c.length===1&&this.matchKeyword("in")){var h=c[0];if(h.init&&(h.id.type===o.Syntax.ArrayPattern||h.id.type===o.Syntax.ObjectPattern||this.context.strict)){this.tolerateError(a.Messages.ForInOfLoopInitializer,"for-in")}e=this.finalize(e,new u.VariableDeclaration(c,"var"));this.nextToken();n=e;s=this.parseExpression();e=null}else if(c.length===1&&c[0].init===null&&this.matchContextualKeyword("of")){e=this.finalize(e,new u.VariableDeclaration(c,"var"));this.nextToken();n=e;s=this.parseAssignmentExpression();e=null;i=false}else{e=this.finalize(e,new u.VariableDeclaration(c,"var"));this.expect(";")}}else if(this.matchKeyword("const")||this.matchKeyword("let")){e=this.createNode();var p=this.nextToken().value;if(!this.context.strict&&this.lookahead.value==="in"){e=this.finalize(e,new u.Identifier(p));this.nextToken();n=e;s=this.parseExpression();e=null}else{var l=this.context.allowIn;this.context.allowIn=false;var c=this.parseBindingList(p,{inFor:true});this.context.allowIn=l;if(c.length===1&&c[0].init===null&&this.matchKeyword("in")){e=this.finalize(e,new u.VariableDeclaration(c,p));this.nextToken();n=e;s=this.parseExpression();e=null}else if(c.length===1&&c[0].init===null&&this.matchContextualKeyword("of")){e=this.finalize(e,new u.VariableDeclaration(c,p));this.nextToken();n=e;s=this.parseAssignmentExpression();e=null;i=false}else{this.consumeSemicolon();e=this.finalize(e,new u.VariableDeclaration(c,p))}}}else{var v=this.lookahead;var l=this.context.allowIn;this.context.allowIn=false;e=this.inheritCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=l;if(this.matchKeyword("in")){if(!this.context.isAssignmentTarget||e.type===o.Syntax.AssignmentExpression){this.tolerateError(a.Messages.InvalidLHSInForIn)}this.nextToken();this.reinterpretExpressionAsPattern(e);n=e;s=this.parseExpression();e=null}else if(this.matchContextualKeyword("of")){if(!this.context.isAssignmentTarget||e.type===o.Syntax.AssignmentExpression){this.tolerateError(a.Messages.InvalidLHSInForLoop)}this.nextToken();this.reinterpretExpressionAsPattern(e);n=e;s=this.parseAssignmentExpression();e=null;i=false}else{if(this.match(",")){var d=[e];while(this.match(",")){this.nextToken();d.push(this.isolateCoverGrammar(this.parseAssignmentExpression))}e=this.finalize(this.startNode(v),new u.SequenceExpression(d))}this.expect(";")}}}if(typeof n==="undefined"){if(!this.match(";")){r=this.parseExpression()}this.expect(";");if(!this.match(")")){t=this.parseExpression()}}var D;if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken());D=this.finalize(this.createNode(),new u.EmptyStatement)}else{this.expect(")");var m=this.context.inIteration;this.context.inIteration=true;D=this.isolateCoverGrammar(this.parseStatement);this.context.inIteration=m}return typeof n==="undefined"?this.finalize(f,new u.ForStatement(e,r,t,D)):i?this.finalize(f,new u.ForInStatement(n,s,D)):this.finalize(f,new u.ForOfStatement(n,s,D))};Parser.prototype.parseContinueStatement=function(){var e=this.createNode();this.expectKeyword("continue");var r=null;if(this.lookahead.type===3&&!this.hasLineTerminator){var t=this.parseVariableIdentifier();r=t;var i="$"+t.name;if(!Object.prototype.hasOwnProperty.call(this.context.labelSet,i)){this.throwError(a.Messages.UnknownLabel,t.name)}}this.consumeSemicolon();if(r===null&&!this.context.inIteration){this.throwError(a.Messages.IllegalContinue)}return this.finalize(e,new u.ContinueStatement(r))};Parser.prototype.parseBreakStatement=function(){var e=this.createNode();this.expectKeyword("break");var r=null;if(this.lookahead.type===3&&!this.hasLineTerminator){var t=this.parseVariableIdentifier();var i="$"+t.name;if(!Object.prototype.hasOwnProperty.call(this.context.labelSet,i)){this.throwError(a.Messages.UnknownLabel,t.name)}r=t}this.consumeSemicolon();if(r===null&&!this.context.inIteration&&!this.context.inSwitch){this.throwError(a.Messages.IllegalBreak)}return this.finalize(e,new u.BreakStatement(r))};Parser.prototype.parseReturnStatement=function(){if(!this.context.inFunctionBody){this.tolerateError(a.Messages.IllegalReturn)}var e=this.createNode();this.expectKeyword("return");var r=!this.match(";")&&!this.match("}")&&!this.hasLineTerminator&&this.lookahead.type!==2||this.lookahead.type===8||this.lookahead.type===10;var t=r?this.parseExpression():null;this.consumeSemicolon();return this.finalize(e,new u.ReturnStatement(t))};Parser.prototype.parseWithStatement=function(){if(this.context.strict){this.tolerateError(a.Messages.StrictModeWith)}var e=this.createNode();var r;this.expectKeyword("with");this.expect("(");var t=this.parseExpression();if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken());r=this.finalize(this.createNode(),new u.EmptyStatement)}else{this.expect(")");r=this.parseStatement()}return this.finalize(e,new u.WithStatement(t,r))};Parser.prototype.parseSwitchCase=function(){var e=this.createNode();var r;if(this.matchKeyword("default")){this.nextToken();r=null}else{this.expectKeyword("case");r=this.parseExpression()}this.expect(":");var t=[];while(true){if(this.match("}")||this.matchKeyword("default")||this.matchKeyword("case")){break}t.push(this.parseStatementListItem())}return this.finalize(e,new u.SwitchCase(r,t))};Parser.prototype.parseSwitchStatement=function(){var e=this.createNode();this.expectKeyword("switch");this.expect("(");var r=this.parseExpression();this.expect(")");var t=this.context.inSwitch;this.context.inSwitch=true;var i=[];var n=false;this.expect("{");while(true){if(this.match("}")){break}var s=this.parseSwitchCase();if(s.test===null){if(n){this.throwError(a.Messages.MultipleDefaultsInSwitch)}n=true}i.push(s)}this.expect("}");this.context.inSwitch=t;return this.finalize(e,new u.SwitchStatement(r,i))};Parser.prototype.parseLabelledStatement=function(){var e=this.createNode();var r=this.parseExpression();var t;if(r.type===o.Syntax.Identifier&&this.match(":")){this.nextToken();var i=r;var n="$"+i.name;if(Object.prototype.hasOwnProperty.call(this.context.labelSet,n)){this.throwError(a.Messages.Redeclaration,"Label",i.name)}this.context.labelSet[n]=true;var s=void 0;if(this.matchKeyword("class")){this.tolerateUnexpectedToken(this.lookahead);s=this.parseClassDeclaration()}else if(this.matchKeyword("function")){var f=this.lookahead;var l=this.parseFunctionDeclaration();if(this.context.strict){this.tolerateUnexpectedToken(f,a.Messages.StrictFunction)}else if(l.generator){this.tolerateUnexpectedToken(f,a.Messages.GeneratorInLegacyContext)}s=l}else{s=this.parseStatement()}delete this.context.labelSet[n];t=new u.LabeledStatement(i,s)}else{this.consumeSemicolon();t=new u.ExpressionStatement(r)}return this.finalize(e,t)};Parser.prototype.parseThrowStatement=function(){var e=this.createNode();this.expectKeyword("throw");if(this.hasLineTerminator){this.throwError(a.Messages.NewlineAfterThrow)}var r=this.parseExpression();this.consumeSemicolon();return this.finalize(e,new u.ThrowStatement(r))};Parser.prototype.parseCatchClause=function(){var e=this.createNode();this.expectKeyword("catch");this.expect("(");if(this.match(")")){this.throwUnexpectedToken(this.lookahead)}var r=[];var t=this.parsePattern(r);var i={};for(var n=0;n0){this.tolerateError(a.Messages.BadGetterArity)}var n=this.parsePropertyMethod(i);this.context.allowYield=t;return this.finalize(e,new u.FunctionExpression(null,i.params,n,r))};Parser.prototype.parseSetterMethod=function(){var e=this.createNode();var r=false;var t=this.context.allowYield;this.context.allowYield=!r;var i=this.parseFormalParameters();if(i.params.length!==1){this.tolerateError(a.Messages.BadSetterArity)}else if(i.params[0]instanceof u.RestElement){this.tolerateError(a.Messages.BadSetterRestParameter)}var n=this.parsePropertyMethod(i);this.context.allowYield=t;return this.finalize(e,new u.FunctionExpression(null,i.params,n,r))};Parser.prototype.parseGeneratorMethod=function(){var e=this.createNode();var r=true;var t=this.context.allowYield;this.context.allowYield=true;var i=this.parseFormalParameters();this.context.allowYield=false;var n=this.parsePropertyMethod(i);this.context.allowYield=t;return this.finalize(e,new u.FunctionExpression(null,i.params,n,r))};Parser.prototype.isStartOfExpression=function(){var e=true;var r=this.lookahead.value;switch(this.lookahead.type){case 7:e=r==="["||r==="("||r==="{"||r==="+"||r==="-"||r==="!"||r==="~"||r==="++"||r==="--"||r==="/"||r==="/=";break;case 4:e=r==="class"||r==="delete"||r==="function"||r==="let"||r==="new"||r==="super"||r==="this"||r==="typeof"||r==="void"||r==="yield";break;default:break}return e};Parser.prototype.parseYieldExpression=function(){var e=this.createNode();this.expectKeyword("yield");var r=null;var t=false;if(!this.hasLineTerminator){var i=this.context.allowYield;this.context.allowYield=false;t=this.match("*");if(t){this.nextToken();r=this.parseAssignmentExpression()}else if(this.isStartOfExpression()){r=this.parseAssignmentExpression()}this.context.allowYield=i}return this.finalize(e,new u.YieldExpression(r,t))};Parser.prototype.parseClassElement=function(e){var r=this.lookahead;var t=this.createNode();var i="";var n=null;var s=null;var o=false;var f=false;var l=false;var c=false;if(this.match("*")){this.nextToken()}else{o=this.match("[");n=this.parseObjectPropertyKey();var h=n;if(h.name==="static"&&(this.qualifiedPropertyName(this.lookahead)||this.match("*"))){r=this.lookahead;l=true;o=this.match("[");if(this.match("*")){this.nextToken()}else{n=this.parseObjectPropertyKey()}}if(r.type===3&&!this.hasLineTerminator&&r.value==="async"){var p=this.lookahead.value;if(p!==":"&&p!=="("&&p!=="*"){c=true;r=this.lookahead;n=this.parseObjectPropertyKey();if(r.type===3&&r.value==="constructor"){this.tolerateUnexpectedToken(r,a.Messages.ConstructorIsAsync)}}}}var v=this.qualifiedPropertyName(this.lookahead);if(r.type===3){if(r.value==="get"&&v){i="get";o=this.match("[");n=this.parseObjectPropertyKey();this.context.allowYield=false;s=this.parseGetterMethod()}else if(r.value==="set"&&v){i="set";o=this.match("[");n=this.parseObjectPropertyKey();s=this.parseSetterMethod()}}else if(r.type===7&&r.value==="*"&&v){i="init";o=this.match("[");n=this.parseObjectPropertyKey();s=this.parseGeneratorMethod();f=true}if(!i&&n&&this.match("(")){i="init";s=c?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction();f=true}if(!i){this.throwUnexpectedToken(this.lookahead)}if(i==="init"){i="method"}if(!o){if(l&&this.isPropertyKey(n,"prototype")){this.throwUnexpectedToken(r,a.Messages.StaticPrototype)}if(!l&&this.isPropertyKey(n,"constructor")){if(i!=="method"||!f||s&&s.generator){this.throwUnexpectedToken(r,a.Messages.ConstructorSpecialMethod)}if(e.value){this.throwUnexpectedToken(r,a.Messages.DuplicateConstructor)}else{e.value=true}i="constructor"}}return this.finalize(t,new u.MethodDefinition(n,o,s,i,l))};Parser.prototype.parseClassElementList=function(){var e=[];var r={value:false};this.expect("{");while(!this.match("}")){if(this.match(";")){this.nextToken()}else{e.push(this.parseClassElement(r))}}this.expect("}");return e};Parser.prototype.parseClassBody=function(){var e=this.createNode();var r=this.parseClassElementList();return this.finalize(e,new u.ClassBody(r))};Parser.prototype.parseClassDeclaration=function(e){var r=this.createNode();var t=this.context.strict;this.context.strict=true;this.expectKeyword("class");var i=e&&this.lookahead.type!==3?null:this.parseVariableIdentifier();var n=null;if(this.matchKeyword("extends")){this.nextToken();n=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall)}var a=this.parseClassBody();this.context.strict=t;return this.finalize(r,new u.ClassDeclaration(i,n,a))};Parser.prototype.parseClassExpression=function(){var e=this.createNode();var r=this.context.strict;this.context.strict=true;this.expectKeyword("class");var t=this.lookahead.type===3?this.parseVariableIdentifier():null;var i=null;if(this.matchKeyword("extends")){this.nextToken();i=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall)}var n=this.parseClassBody();this.context.strict=r;return this.finalize(e,new u.ClassExpression(t,i,n))};Parser.prototype.parseModule=function(){this.context.strict=true;this.context.isModule=true;this.scanner.isModule=true;var e=this.createNode();var r=this.parseDirectivePrologues();while(this.lookahead.type!==2){r.push(this.parseStatementListItem())}return this.finalize(e,new u.Module(r))};Parser.prototype.parseScript=function(){var e=this.createNode();var r=this.parseDirectivePrologues();while(this.lookahead.type!==2){r.push(this.parseStatementListItem())}return this.finalize(e,new u.Script(r))};Parser.prototype.parseModuleSpecifier=function(){var e=this.createNode();if(this.lookahead.type!==8){this.throwError(a.Messages.InvalidModuleSpecifier)}var r=this.nextToken();var t=this.getTokenRaw(r);return this.finalize(e,new u.Literal(r.value,t))};Parser.prototype.parseImportSpecifier=function(){var e=this.createNode();var r;var t;if(this.lookahead.type===3){r=this.parseVariableIdentifier();t=r;if(this.matchContextualKeyword("as")){this.nextToken();t=this.parseVariableIdentifier()}}else{r=this.parseIdentifierName();t=r;if(this.matchContextualKeyword("as")){this.nextToken();t=this.parseVariableIdentifier()}else{this.throwUnexpectedToken(this.nextToken())}}return this.finalize(e,new u.ImportSpecifier(t,r))};Parser.prototype.parseNamedImports=function(){this.expect("{");var e=[];while(!this.match("}")){e.push(this.parseImportSpecifier());if(!this.match("}")){this.expect(",")}}this.expect("}");return e};Parser.prototype.parseImportDefaultSpecifier=function(){var e=this.createNode();var r=this.parseIdentifierName();return this.finalize(e,new u.ImportDefaultSpecifier(r))};Parser.prototype.parseImportNamespaceSpecifier=function(){var e=this.createNode();this.expect("*");if(!this.matchContextualKeyword("as")){this.throwError(a.Messages.NoAsAfterImportNamespace)}this.nextToken();var r=this.parseIdentifierName();return this.finalize(e,new u.ImportNamespaceSpecifier(r))};Parser.prototype.parseImportDeclaration=function(){if(this.context.inFunctionBody){this.throwError(a.Messages.IllegalImportDeclaration)}var e=this.createNode();this.expectKeyword("import");var r;var t=[];if(this.lookahead.type===8){r=this.parseModuleSpecifier()}else{if(this.match("{")){t=t.concat(this.parseNamedImports())}else if(this.match("*")){t.push(this.parseImportNamespaceSpecifier())}else if(this.isIdentifierName(this.lookahead)&&!this.matchKeyword("default")){t.push(this.parseImportDefaultSpecifier());if(this.match(",")){this.nextToken();if(this.match("*")){t.push(this.parseImportNamespaceSpecifier())}else if(this.match("{")){t=t.concat(this.parseNamedImports())}else{this.throwUnexpectedToken(this.lookahead)}}}else{this.throwUnexpectedToken(this.nextToken())}if(!this.matchContextualKeyword("from")){var i=this.lookahead.value?a.Messages.UnexpectedToken:a.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}this.nextToken();r=this.parseModuleSpecifier()}this.consumeSemicolon();return this.finalize(e,new u.ImportDeclaration(t,r))};Parser.prototype.parseExportSpecifier=function(){var e=this.createNode();var r=this.parseIdentifierName();var t=r;if(this.matchContextualKeyword("as")){this.nextToken();t=this.parseIdentifierName()}return this.finalize(e,new u.ExportSpecifier(r,t))};Parser.prototype.parseExportDeclaration=function(){if(this.context.inFunctionBody){this.throwError(a.Messages.IllegalExportDeclaration)}var e=this.createNode();this.expectKeyword("export");var r;if(this.matchKeyword("default")){this.nextToken();if(this.matchKeyword("function")){var t=this.parseFunctionDeclaration(true);r=this.finalize(e,new u.ExportDefaultDeclaration(t))}else if(this.matchKeyword("class")){var t=this.parseClassDeclaration(true);r=this.finalize(e,new u.ExportDefaultDeclaration(t))}else if(this.matchContextualKeyword("async")){var t=this.matchAsyncFunction()?this.parseFunctionDeclaration(true):this.parseAssignmentExpression();r=this.finalize(e,new u.ExportDefaultDeclaration(t))}else{if(this.matchContextualKeyword("from")){this.throwError(a.Messages.UnexpectedToken,this.lookahead.value)}var t=this.match("{")?this.parseObjectInitializer():this.match("[")?this.parseArrayInitializer():this.parseAssignmentExpression();this.consumeSemicolon();r=this.finalize(e,new u.ExportDefaultDeclaration(t))}}else if(this.match("*")){this.nextToken();if(!this.matchContextualKeyword("from")){var i=this.lookahead.value?a.Messages.UnexpectedToken:a.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}this.nextToken();var n=this.parseModuleSpecifier();this.consumeSemicolon();r=this.finalize(e,new u.ExportAllDeclaration(n))}else if(this.lookahead.type===4){var t=void 0;switch(this.lookahead.value){case"let":case"const":t=this.parseLexicalDeclaration({inFor:false});break;case"var":case"class":case"function":t=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}r=this.finalize(e,new u.ExportNamedDeclaration(t,[],null))}else if(this.matchAsyncFunction()){var t=this.parseFunctionDeclaration();r=this.finalize(e,new u.ExportNamedDeclaration(t,[],null))}else{var s=[];var o=null;var f=false;this.expect("{");while(!this.match("}")){f=f||this.matchKeyword("default");s.push(this.parseExportSpecifier());if(!this.match("}")){this.expect(",")}}this.expect("}");if(this.matchContextualKeyword("from")){this.nextToken();o=this.parseModuleSpecifier();this.consumeSemicolon()}else if(f){var i=this.lookahead.value?a.Messages.UnexpectedToken:a.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}else{this.consumeSemicolon()}r=this.finalize(e,new u.ExportNamedDeclaration(null,s,o))}return r};return Parser}();r.Parser=c},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});function assert(e,r){if(!e){throw new Error("ASSERT: "+r)}}r.assert=assert},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});var t=function(){function ErrorHandler(){this.errors=[];this.tolerant=false}ErrorHandler.prototype.recordError=function(e){this.errors.push(e)};ErrorHandler.prototype.tolerate=function(e){if(this.tolerant){this.recordError(e)}else{throw e}};ErrorHandler.prototype.constructError=function(e,r){var t=new Error(e);try{throw t}catch(e){if(Object.create&&Object.defineProperty){t=Object.create(e);Object.defineProperty(t,"column",{value:r})}}return t};ErrorHandler.prototype.createError=function(e,r,t,i){var n="Line "+r+": "+i;var a=this.constructError(n,t);a.index=e;a.lineNumber=r;a.description=i;return a};ErrorHandler.prototype.throwError=function(e,r,t,i){throw this.createError(e,r,t,i)};ErrorHandler.prototype.tolerateError=function(e,r,t,i){var n=this.createError(e,r,t,i);if(this.tolerant){this.recordError(n)}else{throw n}};return ErrorHandler}();r.ErrorHandler=t},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});r.Messages={BadGetterArity:"Getter must not have any formal parameters",BadSetterArity:"Setter must have exactly one formal parameter",BadSetterRestParameter:"Setter function argument must not be a rest parameter",ConstructorIsAsync:"Class constructor may not be an async method",ConstructorSpecialMethod:"Class constructor may not be an accessor",DeclarationMissingInitializer:"Missing initializer in %0 declaration",DefaultRestParameter:"Unexpected token =",DuplicateBinding:"Duplicate binding %0",DuplicateConstructor:"A class may only have one constructor",DuplicateProtoProperty:"Duplicate __proto__ fields are not allowed in object literals",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInLegacyContext:"Generator declarations are not allowed in legacy contexts",IllegalBreak:"Illegal break statement",IllegalContinue:"Illegal continue statement",IllegalExportDeclaration:"Unexpected token",IllegalImportDeclaration:"Unexpected token",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"Illegal return statement",InvalidEscapedReservedWord:"Keyword must not contain escaped characters",InvalidHexEscapeSequence:"Invalid hexadecimal escape sequence",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",InvalidLHSInForLoop:"Invalid left-hand side in for-loop",InvalidModuleSpecifier:"Unexpected token",InvalidRegExp:"Invalid regular expression",LetInLexicalBinding:"let is disallowed as a lexically bound name",MissingFromClause:"Unexpected token",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NewlineAfterThrow:"Illegal newline after throw",NoAsAfterImportNamespace:"Unexpected token",NoCatchOrFinally:"Missing catch or finally after try",ParameterAfterRestParameter:"Rest parameter must be last formal parameter",Redeclaration:"%0 '%1' has already been declared",StaticPrototype:"Classes may not have static property named prototype",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictModeWith:"Strict mode code may not include a with statement",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictReservedWord:"Use of future reserved word in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",TemplateOctalLiteral:"Octal literals are not allowed in template strings.",UnexpectedEOS:"Unexpected end of input",UnexpectedIdentifier:"Unexpected identifier",UnexpectedNumber:"Unexpected number",UnexpectedReserved:"Unexpected reserved word",UnexpectedString:"Unexpected string",UnexpectedTemplate:"Unexpected quasi %0",UnexpectedToken:"Unexpected token %0",UnexpectedTokenIllegal:"Unexpected token ILLEGAL",UnknownLabel:"Undefined label '%0'",UnterminatedRegExp:"Invalid regular expression: missing /"}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(9);var n=t(4);var a=t(11);function hexValue(e){return"0123456789abcdef".indexOf(e.toLowerCase())}function octalValue(e){return"01234567".indexOf(e)}var u=function(){function Scanner(e,r){this.source=e;this.errorHandler=r;this.trackComment=false;this.isModule=false;this.length=e.length;this.index=0;this.lineNumber=e.length>0?1:0;this.lineStart=0;this.curlyStack=[]}Scanner.prototype.saveState=function(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart}};Scanner.prototype.restoreState=function(e){this.index=e.index;this.lineNumber=e.lineNumber;this.lineStart=e.lineStart};Scanner.prototype.eof=function(){return this.index>=this.length};Scanner.prototype.throwUnexpectedToken=function(e){if(e===void 0){e=a.Messages.UnexpectedTokenIllegal}return this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,e)};Scanner.prototype.tolerateUnexpectedToken=function(e){if(e===void 0){e=a.Messages.UnexpectedTokenIllegal}this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,e)};Scanner.prototype.skipSingleLineComment=function(e){var r=[];var t,i;if(this.trackComment){r=[];t=this.index-e;i={start:{line:this.lineNumber,column:this.index-this.lineStart-e},end:{}}}while(!this.eof()){var a=this.source.charCodeAt(this.index);++this.index;if(n.Character.isLineTerminator(a)){if(this.trackComment){i.end={line:this.lineNumber,column:this.index-this.lineStart-1};var u={multiLine:false,slice:[t+e,this.index-1],range:[t,this.index-1],loc:i};r.push(u)}if(a===13&&this.source.charCodeAt(this.index)===10){++this.index}++this.lineNumber;this.lineStart=this.index;return r}}if(this.trackComment){i.end={line:this.lineNumber,column:this.index-this.lineStart};var u={multiLine:false,slice:[t+e,this.index],range:[t,this.index],loc:i};r.push(u)}return r};Scanner.prototype.skipMultiLineComment=function(){var e=[];var r,t;if(this.trackComment){e=[];r=this.index-2;t={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}}}while(!this.eof()){var i=this.source.charCodeAt(this.index);if(n.Character.isLineTerminator(i)){if(i===13&&this.source.charCodeAt(this.index+1)===10){++this.index}++this.lineNumber;++this.index;this.lineStart=this.index}else if(i===42){if(this.source.charCodeAt(this.index+1)===47){this.index+=2;if(this.trackComment){t.end={line:this.lineNumber,column:this.index-this.lineStart};var a={multiLine:true,slice:[r+2,this.index-2],range:[r,this.index],loc:t};e.push(a)}return e}++this.index}else{++this.index}}if(this.trackComment){t.end={line:this.lineNumber,column:this.index-this.lineStart};var a={multiLine:true,slice:[r+2,this.index],range:[r,this.index],loc:t};e.push(a)}this.tolerateUnexpectedToken();return e};Scanner.prototype.scanComments=function(){var e;if(this.trackComment){e=[]}var r=this.index===0;while(!this.eof()){var t=this.source.charCodeAt(this.index);if(n.Character.isWhiteSpace(t)){++this.index}else if(n.Character.isLineTerminator(t)){++this.index;if(t===13&&this.source.charCodeAt(this.index)===10){++this.index}++this.lineNumber;this.lineStart=this.index;r=true}else if(t===47){t=this.source.charCodeAt(this.index+1);if(t===47){this.index+=2;var i=this.skipSingleLineComment(2);if(this.trackComment){e=e.concat(i)}r=true}else if(t===42){this.index+=2;var i=this.skipMultiLineComment();if(this.trackComment){e=e.concat(i)}}else{break}}else if(r&&t===45){if(this.source.charCodeAt(this.index+1)===45&&this.source.charCodeAt(this.index+2)===62){this.index+=3;var i=this.skipSingleLineComment(3);if(this.trackComment){e=e.concat(i)}}else{break}}else if(t===60&&!this.isModule){if(this.source.slice(this.index+1,this.index+4)==="!--"){this.index+=4;var i=this.skipSingleLineComment(4);if(this.trackComment){e=e.concat(i)}}else{break}}else{break}}return e};Scanner.prototype.isFutureReservedWord=function(e){switch(e){case"enum":case"export":case"import":case"super":return true;default:return false}};Scanner.prototype.isStrictModeReservedWord=function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return true;default:return false}};Scanner.prototype.isRestrictedWord=function(e){return e==="eval"||e==="arguments"};Scanner.prototype.isKeyword=function(e){switch(e.length){case 2:return e==="if"||e==="in"||e==="do";case 3:return e==="var"||e==="for"||e==="new"||e==="try"||e==="let";case 4:return e==="this"||e==="else"||e==="case"||e==="void"||e==="with"||e==="enum";case 5:return e==="while"||e==="break"||e==="catch"||e==="throw"||e==="const"||e==="yield"||e==="class"||e==="super";case 6:return e==="return"||e==="typeof"||e==="delete"||e==="switch"||e==="export"||e==="import";case 7:return e==="default"||e==="finally"||e==="extends";case 8:return e==="function"||e==="continue"||e==="debugger";case 10:return e==="instanceof";default:return false}};Scanner.prototype.codePointAt=function(e){var r=this.source.charCodeAt(e);if(r>=55296&&r<=56319){var t=this.source.charCodeAt(e+1);if(t>=56320&&t<=57343){var i=r;r=(i-55296)*1024+t-56320+65536}}return r};Scanner.prototype.scanHexEscape=function(e){var r=e==="u"?4:2;var t=0;for(var i=0;i1114111||e!=="}"){this.throwUnexpectedToken()}return n.Character.fromCodePoint(r)};Scanner.prototype.getIdentifier=function(){var e=this.index++;while(!this.eof()){var r=this.source.charCodeAt(this.index);if(r===92){this.index=e;return this.getComplexIdentifier()}else if(r>=55296&&r<57343){this.index=e;return this.getComplexIdentifier()}if(n.Character.isIdentifierPart(r)){++this.index}else{break}}return this.source.slice(e,this.index)};Scanner.prototype.getComplexIdentifier=function(){var e=this.codePointAt(this.index);var r=n.Character.fromCodePoint(e);this.index+=r.length;var t;if(e===92){if(this.source.charCodeAt(this.index)!==117){this.throwUnexpectedToken()}++this.index;if(this.source[this.index]==="{"){++this.index;t=this.scanUnicodeCodePointEscape()}else{t=this.scanHexEscape("u");if(t===null||t==="\\"||!n.Character.isIdentifierStart(t.charCodeAt(0))){this.throwUnexpectedToken()}}r=t}while(!this.eof()){e=this.codePointAt(this.index);if(!n.Character.isIdentifierPart(e)){break}t=n.Character.fromCodePoint(e);r+=t;this.index+=t.length;if(e===92){r=r.substr(0,r.length-1);if(this.source.charCodeAt(this.index)!==117){this.throwUnexpectedToken()}++this.index;if(this.source[this.index]==="{"){++this.index;t=this.scanUnicodeCodePointEscape()}else{t=this.scanHexEscape("u");if(t===null||t==="\\"||!n.Character.isIdentifierPart(t.charCodeAt(0))){this.throwUnexpectedToken()}}r+=t}}return r};Scanner.prototype.octalToDecimal=function(e){var r=e!=="0";var t=octalValue(e);if(!this.eof()&&n.Character.isOctalDigit(this.source.charCodeAt(this.index))){r=true;t=t*8+octalValue(this.source[this.index++]);if("0123".indexOf(e)>=0&&!this.eof()&&n.Character.isOctalDigit(this.source.charCodeAt(this.index))){t=t*8+octalValue(this.source[this.index++])}}return{code:t,octal:r}};Scanner.prototype.scanIdentifier=function(){var e;var r=this.index;var t=this.source.charCodeAt(r)===92?this.getComplexIdentifier():this.getIdentifier();if(t.length===1){e=3}else if(this.isKeyword(t)){e=4}else if(t==="null"){e=5}else if(t==="true"||t==="false"){e=1}else{e=3}if(e!==3&&r+t.length!==this.index){var i=this.index;this.index=r;this.tolerateUnexpectedToken(a.Messages.InvalidEscapedReservedWord);this.index=i}return{type:e,value:t,lineNumber:this.lineNumber,lineStart:this.lineStart,start:r,end:this.index}};Scanner.prototype.scanPunctuator=function(){var e=this.index;var r=this.source[this.index];switch(r){case"(":case"{":if(r==="{"){this.curlyStack.push("{")}++this.index;break;case".":++this.index;if(this.source[this.index]==="."&&this.source[this.index+1]==="."){this.index+=2;r="..."}break;case"}":++this.index;this.curlyStack.pop();break;case")":case";":case",":case"[":case"]":case":":case"?":case"~":++this.index;break;default:r=this.source.substr(this.index,4);if(r===">>>="){this.index+=4}else{r=r.substr(0,3);if(r==="==="||r==="!=="||r===">>>"||r==="<<="||r===">>="||r==="**="){this.index+=3}else{r=r.substr(0,2);if(r==="&&"||r==="||"||r==="=="||r==="!="||r==="+="||r==="-="||r==="*="||r==="/="||r==="++"||r==="--"||r==="<<"||r===">>"||r==="&="||r==="|="||r==="^="||r==="%="||r==="<="||r===">="||r==="=>"||r==="**"){this.index+=2}else{r=this.source[this.index];if("<>=!+-*%&|^/".indexOf(r)>=0){++this.index}}}}}if(this.index===e){this.throwUnexpectedToken()}return{type:7,value:r,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}};Scanner.prototype.scanHexLiteral=function(e){var r="";while(!this.eof()){if(!n.Character.isHexDigit(this.source.charCodeAt(this.index))){break}r+=this.source[this.index++]}if(r.length===0){this.throwUnexpectedToken()}if(n.Character.isIdentifierStart(this.source.charCodeAt(this.index))){this.throwUnexpectedToken()}return{type:6,value:parseInt("0x"+r,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}};Scanner.prototype.scanBinaryLiteral=function(e){var r="";var t;while(!this.eof()){t=this.source[this.index];if(t!=="0"&&t!=="1"){break}r+=this.source[this.index++]}if(r.length===0){this.throwUnexpectedToken()}if(!this.eof()){t=this.source.charCodeAt(this.index);if(n.Character.isIdentifierStart(t)||n.Character.isDecimalDigit(t)){this.throwUnexpectedToken()}}return{type:6,value:parseInt(r,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}};Scanner.prototype.scanOctalLiteral=function(e,r){var t="";var i=false;if(n.Character.isOctalDigit(e.charCodeAt(0))){i=true;t="0"+this.source[this.index++]}else{++this.index}while(!this.eof()){if(!n.Character.isOctalDigit(this.source.charCodeAt(this.index))){break}t+=this.source[this.index++]}if(!i&&t.length===0){this.throwUnexpectedToken()}if(n.Character.isIdentifierStart(this.source.charCodeAt(this.index))||n.Character.isDecimalDigit(this.source.charCodeAt(this.index))){this.throwUnexpectedToken()}return{type:6,value:parseInt(t,8),octal:i,lineNumber:this.lineNumber,lineStart:this.lineStart,start:r,end:this.index}};Scanner.prototype.isImplicitOctalLiteral=function(){for(var e=this.index+1;e=0){i=i.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,function(e,r,i){var u=parseInt(r||i,16);if(u>1114111){n.throwUnexpectedToken(a.Messages.InvalidRegExp)}if(u<=65535){return String.fromCharCode(u)}return t}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,t)}try{RegExp(i)}catch(e){this.throwUnexpectedToken(a.Messages.InvalidRegExp)}try{return new RegExp(e,r)}catch(e){return null}};Scanner.prototype.scanRegExpBody=function(){var e=this.source[this.index];i.assert(e==="/","Regular expression literal must start with a slash");var r=this.source[this.index++];var t=false;var u=false;while(!this.eof()){e=this.source[this.index++];r+=e;if(e==="\\"){e=this.source[this.index++];if(n.Character.isLineTerminator(e.charCodeAt(0))){this.throwUnexpectedToken(a.Messages.UnterminatedRegExp)}r+=e}else if(n.Character.isLineTerminator(e.charCodeAt(0))){this.throwUnexpectedToken(a.Messages.UnterminatedRegExp)}else if(t){if(e==="]"){t=false}}else{if(e==="/"){u=true;break}else if(e==="["){t=true}}}if(!u){this.throwUnexpectedToken(a.Messages.UnterminatedRegExp)}return r.substr(1,r.length-2)};Scanner.prototype.scanRegExpFlags=function(){var e="";var r="";while(!this.eof()){var t=this.source[this.index];if(!n.Character.isIdentifierPart(t.charCodeAt(0))){break}++this.index;if(t==="\\"&&!this.eof()){t=this.source[this.index];if(t==="u"){++this.index;var i=this.index;var a=this.scanHexEscape("u");if(a!==null){r+=a;for(e+="\\u";i=55296&&e<57343){if(n.Character.isIdentifierStart(this.codePointAt(this.index))){return this.scanIdentifier()}}return this.scanPunctuator()};return Scanner}();r.Scanner=u},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});r.TokenName={};r.TokenName[1]="Boolean";r.TokenName[2]="";r.TokenName[3]="Identifier";r.TokenName[4]="Keyword";r.TokenName[5]="Null";r.TokenName[6]="Numeric";r.TokenName[7]="Punctuator";r.TokenName[8]="String";r.TokenName[9]="RegularExpression";r.TokenName[10]="Template"},function(e,r){"use strict";Object.defineProperty(r,"__esModule",{value:true});r.XHTMLEntities={quot:'"',amp:"&",apos:"'",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",lang:"⟨",rang:"⟩"}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(10);var n=t(12);var a=t(13);var u=function(){function Reader(){this.values=[];this.curly=this.paren=-1}Reader.prototype.beforeFunctionExpression=function(e){return["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","**","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="].indexOf(e)>=0};Reader.prototype.isRegexStart=function(){var e=this.values[this.values.length-1];var r=e!==null;switch(e){case"this":case"]":r=false;break;case")":var t=this.values[this.paren-1];r=t==="if"||t==="while"||t==="for"||t==="with";break;case"}":r=false;if(this.values[this.curly-3]==="function"){var i=this.values[this.curly-4];r=i?!this.beforeFunctionExpression(i):false}else if(this.values[this.curly-4]==="function"){var i=this.values[this.curly-5];r=i?!this.beforeFunctionExpression(i):true}break;default:break}return r};Reader.prototype.push=function(e){if(e.type===7||e.type===4){if(e.value==="{"){this.curly=this.values.length}else if(e.value==="("){this.paren=this.values.length}this.values.push(e.value)}else{this.values.push(null)}};return Reader}();var s=function(){function Tokenizer(e,r){this.errorHandler=new i.ErrorHandler;this.errorHandler.tolerant=r?typeof r.tolerant==="boolean"&&r.tolerant:false;this.scanner=new n.Scanner(e,this.errorHandler);this.scanner.trackComment=r?typeof r.comment==="boolean"&&r.comment:false;this.trackRange=r?typeof r.range==="boolean"&&r.range:false;this.trackLoc=r?typeof r.loc==="boolean"&&r.loc:false;this.buffer=[];this.reader=new u}Tokenizer.prototype.errors=function(){return this.errorHandler.errors};Tokenizer.prototype.getNextToken=function(){if(this.buffer.length===0){var e=this.scanner.scanComments();if(this.scanner.trackComment){for(var r=0;rr){if(e.charAt(t-1)!==" "){break}t--}return t}},,function(e,r,t){"use strict";var i=t(347)("unified-engine:file-pipeline:stringify");var n=t(928);var a=t(212);e.exports=stringify;function stringify(e,r){var t=e.processor;var u=e.tree;var s;if(n(r).fatal){i("Not compiling failed document");return}if(!e.output&&!e.out&&!e.alwaysStringify){i("Not compiling document without output settings");return}i("Compiling `%s`",r.path);if(e.inspect){if(r.path){r.extname=".txt"}s=a[e.color?"color":"noColor"](u)+"\n"}else if(e.treeOut){if(r.path){r.extname=".json"}s=JSON.stringify(u,null,2)+"\n"}else{s=t.stringify(u,r)}r.contents=s;i("Compiled document")}},,,function(e,r,t){"use strict";const i=t(624);e.exports=(e=>typeof e==="string"?e.replace(i(),""):e)},,function(e,r,t){"use strict";var i=t(260);function Mark(e,r,t,i,n){this.name=e;this.buffer=r;this.position=t;this.line=i;this.column=n}Mark.prototype.getSnippet=function getSnippet(e,r){var t,n,a,u,s;if(!this.buffer)return null;e=e||4;r=r||75;t="";n=this.position;while(n>0&&"\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(n-1))===-1){n-=1;if(this.position-n>r/2-1){t=" ... ";n+=5;break}}a="";u=this.position;while(ur/2-1){a=" ... ";u-=5;break}}s=this.buffer.slice(n,u);return i.repeat(" ",e)+t+s+a+"\n"+i.repeat(" ",e+this.position-n+t.length)+"^"};Mark.prototype.toString=function toString(e){var r,t="";if(this.name){t+='in "'+this.name+'" '}t+="at line "+(this.line+1)+", column "+(this.column+1);if(!e){r=this.getSnippet();if(r){t+=":\n"+r}}return t};e.exports=Mark},function(e,r,t){var i=t(148);var n=function(){};var a=t(405);e.exports=wrapped;function wrapped(e){function wrap(){var r=i(arguments);var t=r[r.length-1];var u=this;var s=typeof t=="function"?r.pop():n;if(!e){return s.apply(u,[null].concat(r))}if(generator(e)){return a(e).apply(u,r.concat(s))}if(e.length>r.length){try{return e.apply(u,r.concat(s))}catch(e){return s(e)}}return sync(e,s).apply(u,r)}return wrap}function sync(e,r){return function(){var t;try{t=e.apply(this,arguments)}catch(e){return r(e)}if(promise(t)){t.then(function(e){r(null,e)},r)}else{t instanceof Error?r(t):r(null,t)}}}function generator(e){return e&&e.constructor&&"GeneratorFunction"==e.constructor.name}function promise(e){return e&&"function"==typeof e.then}},,,,,,,,function(e,r,t){"use strict";var i=t(495);e.exports=i("remark-lint:no-file-name-articles",noFileNameArticles);function noFileNameArticles(e,r){var t=r.stem&&r.stem.match(/^(the|teh|an?)\b/i);if(t){r.message("Do not start file names with `"+t[0]+"`")}}},,,function(e,r,t){"use strict";var i=t(171);e.exports=newline;var n="\n";function newline(e,r,t){var a=r.charAt(0);var u;var s;var o;var f;if(a!==n){return}if(t){return true}f=1;u=r.length;s=a;o="";while(f{if(typeof e!=="string"||e.length===0){return 0}e=i(e);let r=0;for(let t=0;t=127&&i<=159){continue}if(i>=768&&i<=879){continue}if(i>65535){t++}r+=n(i)?2:1}return r})},,,,function(e){e.exports=require("stream")},,,,function(e){"use strict";e.exports=function isObject(e){return typeof e==="object"&&e!==null}},,function(e,r,t){"use strict";e.exports={position:true,gfm:true,commonmark:false,footnotes:false,pedantic:false,blocks:t(676)}},,,function(e,r,t){"use strict";var i=t(211);var n=Object.prototype.toString;function resolveYamlPairs(e){if(e===null)return true;var r,t,i,a,u,s=e;u=new Array(s.length);for(r=0,t=s.length;r=0){r=r.slice(1)}if(r===".inf"){return t===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY}else if(r===".nan"){return NaN}else if(r.indexOf(":")>=0){r.split(":").forEach(function(e){n.unshift(parseFloat(e,10))});r=0;i=1;n.forEach(function(e){r+=e*i;i*=60});return t*r}return t*parseFloat(r,10)}var u=/^[-+]?[0-9]+e/;function representYamlFloat(e,r){var t;if(isNaN(e)){switch(r){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}}else if(Number.POSITIVE_INFINITY===e){switch(r){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}}else if(Number.NEGATIVE_INFINITY===e){switch(r){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}else if(i.isNegativeZero(e)){return"-0.0"}t=e.toString(10);return u.test(t)?t.replace("e",".e"):t}function isFloat(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||i.isNegativeZero(e))}e.exports=new n("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"})},,function(e,r,t){"use strict";const i=t(947);e.exports=((e,r,t)=>{if(typeof r==="number"){t=r}if(i.has(e.toLowerCase())){r=i.get(e.toLowerCase());const t=e.charAt(0);const n=t===t.toUpperCase();if(n){r=t.toUpperCase()+r.slice(1)}const a=e===e.toUpperCase();if(a){r=r.toUpperCase()}}else if(typeof r!=="string"){r=(e.replace(/(?:s|x|z|ch|sh)$/i,"$&e").replace(/([^aeiou])y$/i,"$1ie")+"s").replace(/i?e?s$/i,r=>{const t=e.slice(-1)===e.slice(-1).toLowerCase();return t?r.toLowerCase():r.toUpperCase()})}return Math.abs(t)===1?e:r})},function(e,r,t){"use strict";var i=t(814);e.exports=pad;var n="\n";var a=" ";var u=4;function pad(e,r){var t=e.split(n);var s=t.length;var o=i(a,r*u);while(s--){if(t[s].length!==0){t[s]=o+t[s]}}return t.join(n)}},,,,function(e){e.exports=function(e,r){return e.replace(/(\\*)(\$([_a-z0-9]+)|\${([_a-z0-9]+)})/gi,function(e,t,i,n,a){if(!(t.length%2)){return t.substring(Math.ceil(t.length/2))+(r[n||a]||"")}else{return t.substring(1)+i}})}},,,,function(e,r,t){"use strict";var i=t(211);var n=Object.prototype.hasOwnProperty;function resolveYamlSet(e){if(e===null)return true;var r,t=e;for(r in t){if(n.call(t,r)){if(t[r]!==null)return false}}return true}function constructYamlSet(e){return e!==null?e:{}}e.exports=new i("tag:yaml.org,2002:set",{kind:"mapping",resolve:resolveYamlSet,construct:constructYamlSet})},function(e){if(typeof Object.create==="function"){e.exports=function inherits(e,r){e.super_=r;e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}})}}else{e.exports=function inherits(e,r){e.super_=r;var t=function(){};t.prototype=r.prototype;e.prototype=new t;e.prototype.constructor=e}}},,,,,function(e){var r=Object.prototype.toString;var t=typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return r.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,r,i){r>>>=0;var n=e.byteLength-r;if(n<0){throw new RangeError("'offset' is out of bounds")}if(i===undefined){i=n}else{i>>>=0;if(i>n){throw new RangeError("'length' is out of bounds")}}return t?Buffer.from(e.slice(r,r+i)):new Buffer(new Uint8Array(e.slice(r,r+i)))}function fromString(e,r){if(typeof r!=="string"||r===""){r="utf8"}if(!Buffer.isEncoding(r)){throw new TypeError('"encoding" must be a valid string encoding')}return t?Buffer.from(e,r):new Buffer(e,r)}function bufferFrom(e,r,i){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,r,i)}if(typeof e==="string"){return fromString(e,r)}return t?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},,function(e){e.exports={AEli:"Æ",AElig:"Æ",AM:"&",AMP:"&",Aacut:"Á",Aacute:"Á",Abreve:"Ă",Acir:"Â",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrav:"À",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Arin:"Å",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atild:"Ã",Atilde:"Ã",Aum:"Ä",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COP:"©",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedi:"Ç",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ET:"Ð",ETH:"Ð",Eacut:"É",Eacute:"É",Ecaron:"Ě",Ecir:"Ê",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrav:"È",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Eum:"Ë",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",G:">",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacut:"Í",Iacute:"Í",Icir:"Î",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrav:"Ì",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Ium:"Ï",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",L:"<",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntild:"Ñ",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacut:"Ó",Oacute:"Ó",Ocir:"Ô",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograv:"Ò",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslas:"Ø",Oslash:"Ø",Otild:"Õ",Otilde:"Õ",Otimes:"⨷",Oum:"Ö",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUO:'"',QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",RE:"®",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THOR:"Þ",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacut:"Ú",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucir:"Û",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrav:"Ù",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uum:"Ü",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacut:"Ý",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacut:"á",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acir:"â",acirc:"â",acut:"´",acute:"´",acy:"а",aeli:"æ",aelig:"æ",af:"⁡",afr:"𝔞",agrav:"à",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",am:"&",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",arin:"å",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atild:"ã",atilde:"ã",aum:"ä",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvba:"¦",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedi:"ç",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedi:"¸",cedil:"¸",cemptyv:"⦲",cen:"¢",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",cop:"©",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curre:"¤",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",de:"°",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divid:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacut:"é",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"ê",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrav:"è",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",et:"ð",eth:"ð",eum:"ë",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac1:"¼",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac3:"¾",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",g:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacut:"í",iacute:"í",ic:"⁣",icir:"î",icirc:"î",icy:"и",iecy:"е",iexc:"¡",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrav:"ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iques:"¿",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",ium:"ï",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laqu:"«",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",l:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",mac:"¯",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micr:"µ",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middo:"·",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbs:" ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",no:"¬",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntild:"ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacut:"ó",oacute:"ó",oast:"⊛",ocir:"ô",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograv:"ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"º",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslas:"ø",oslash:"ø",osol:"⊘",otild:"õ",otilde:"õ",otimes:"⊗",otimesas:"⨶",oum:"ö",ouml:"ö",ovbar:"⌽",par:"¶",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusm:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",poun:"£",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quo:'"',quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raqu:"»",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",re:"®",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sec:"§",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",sh:"­",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szli:"ß",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thor:"þ",thorn:"þ",tilde:"˜",time:"×",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacut:"ú",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucir:"û",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrav:"ù",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",um:"¨",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uum:"ü",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacut:"ý",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",ye:"¥",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yum:"ÿ",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"}},function(e,r,t){"use strict";Object.defineProperty(r,"__esModule",{value:true});var i=t(287);var n=_interopRequireDefault(i);var a=t(809);var u=_interopRequireDefault(a);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}r.default={parse:n.default,stringify:u.default};e.exports=r["default"]},,function(e){"use strict";e.exports=interrupt;function interrupt(e,r,t,i){var n=e.length;var a=-1;var u;var s;while(++a>0},ToUint32:function(e){return e>>>0}}}();var u=Math.LN2,s=Math.abs,o=Math.floor,f=Math.log,l=Math.min,c=Math.pow,h=Math.round;function configureProperties(e){if(v&&p){var r=v(e),t;for(t=0;tn)throw new RangeError("Array too large for polyfill");function makeArrayAccessor(r){p(e,r,{get:function(){return e._getter(r)},set:function(t){e._setter(r,t)},enumerable:true,configurable:false})}var r;for(r=0;r>t}function as_unsigned(e,r){var t=32-r;return e<>>t}function packI8(e){return[e&255]}function unpackI8(e){return as_signed(e[0],8)}function packU8(e){return[e&255]}function unpackU8(e){return as_unsigned(e[0],8)}function packU8Clamped(e){e=h(Number(e));return[e<0?0:e>255?255:e&255]}function packI16(e){return[e>>8&255,e&255]}function unpackI16(e){return as_signed(e[0]<<8|e[1],16)}function packU16(e){return[e>>8&255,e&255]}function unpackU16(e){return as_unsigned(e[0]<<8|e[1],16)}function packI32(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}function unpackI32(e){return as_signed(e[0]<<24|e[1]<<16|e[2]<<8|e[3],32)}function packU32(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}function unpackU32(e){return as_unsigned(e[0]<<24|e[1]<<16|e[2]<<8|e[3],32)}function packIEEE754(e,r,t){var i=(1<.5)return r+1;return r%2?r+1:r}if(e!==e){a=(1<=c(2,1-i)){a=l(o(f(e)/u),1023);h=roundToEven(e/c(2,a)*c(2,t));if(h/c(2,t)>=2){a=a+1;h=1}if(a>i){a=(1<>1}}i.reverse();s=i.join("");o=(1<0){return f*c(2,l-o)*(1+h/c(2,t))}else if(h!==0){return f*c(2,-(o-1))*(h/c(2,t))}else{return f<0?-0:0}}function unpackF64(e){return unpackIEEE754(e,11,52)}function packF64(e){return packIEEE754(e,11,52)}function unpackF32(e){return unpackIEEE754(e,8,23)}function packF32(e){return packIEEE754(e,8,23)}(function(){var e=function ArrayBuffer(e){e=a.ToInt32(e);if(e<0)throw new RangeError("ArrayBuffer size is not a small enough positive integer");this.byteLength=e;this._bytes=[];this._bytes.length=e;var r;for(r=0;rthis.buffer.byteLength){throw new RangeError("byteOffset out of range")}if(this.byteOffset%this.BYTES_PER_ELEMENT){throw new RangeError("ArrayBuffer length minus the byteOffset is not a multiple of the element size.")}if(arguments.length<3){this.byteLength=this.buffer.byteLength-this.byteOffset;if(this.byteLength%this.BYTES_PER_ELEMENT){throw new RangeError("length of buffer minus byteOffset not a multiple of the element size")}this.length=this.byteLength/this.BYTES_PER_ELEMENT}else{this.length=a.ToUint32(i);this.byteLength=this.length*this.BYTES_PER_ELEMENT}if(this.byteOffset+this.byteLength>this.buffer.byteLength){throw new RangeError("byteOffset and length reference an area beyond the end of the buffer")}}else{throw new TypeError("Unexpected argument type(s)")}this.constructor=s;configureProperties(this);makeArrayAccessors(this)};s.prototype=new r;s.prototype.BYTES_PER_ELEMENT=t;s.prototype._pack=n;s.prototype._unpack=u;s.BYTES_PER_ELEMENT=t;s.prototype._getter=function(e){if(arguments.length<1)throw new SyntaxError("Not enough arguments");e=a.ToUint32(e);if(e>=this.length){return i}var r=[],t,n;for(t=0,n=this.byteOffset+e*this.BYTES_PER_ELEMENT;t=this.length){return i}var t=this._pack(r),n,u;for(n=0,u=this.byteOffset+e*this.BYTES_PER_ELEMENT;nthis.length){throw new RangeError("Offset plus length of array is out of range")}l=this.byteOffset+n*this.BYTES_PER_ELEMENT;c=t.length*this.BYTES_PER_ELEMENT;if(t.buffer===this.buffer){h=[];for(s=0,o=t.byteOffset;sthis.length){throw new RangeError("Offset plus length of array is out of range")}for(s=0;st?t:e}e=a.ToInt32(e);r=a.ToInt32(r);if(arguments.length<1){e=0}if(arguments.length<2){r=this.length}if(e<0){e=this.length+e}if(r<0){r=this.length+r}e=clamp(e,0,this.length);r=clamp(r,0,this.length);var t=r-e;if(t<0){t=0}return new this.constructor(this.buffer,this.byteOffset+e*this.BYTES_PER_ELEMENT,t)};return s}var n=makeConstructor(1,packI8,unpackI8);var u=makeConstructor(1,packU8,unpackU8);var s=makeConstructor(1,packU8Clamped,unpackU8);var o=makeConstructor(2,packI16,unpackI16);var f=makeConstructor(2,packU16,unpackU16);var l=makeConstructor(4,packI32,unpackI32);var c=makeConstructor(4,packU32,unpackU32);var h=makeConstructor(4,packF32,unpackF32);var p=makeConstructor(8,packF64,unpackF64);t.Int8Array=t.Int8Array||n;t.Uint8Array=t.Uint8Array||u;t.Uint8ClampedArray=t.Uint8ClampedArray||s;t.Int16Array=t.Int16Array||o;t.Uint16Array=t.Uint16Array||f;t.Int32Array=t.Int32Array||l;t.Uint32Array=t.Uint32Array||c;t.Float32Array=t.Float32Array||h;t.Float64Array=t.Float64Array||p})();(function(){function r(e,r){return a.IsCallable(e.get)?e.get(r):e[r]}var e=function(){var e=new t.Uint16Array([4660]),i=new t.Uint8Array(e.buffer);return r(i,0)===18}();var i=function DataView(e,r,i){if(arguments.length===0){e=new t.ArrayBuffer(0)}else if(!(e instanceof t.ArrayBuffer||a.Class(e)==="ArrayBuffer")){throw new TypeError("TypeError")}this.buffer=e||new t.ArrayBuffer(0);this.byteOffset=a.ToUint32(r);if(this.byteOffset>this.buffer.byteLength){throw new RangeError("byteOffset out of range")}if(arguments.length<3){this.byteLength=this.buffer.byteLength-this.byteOffset}else{this.byteLength=a.ToUint32(i)}if(this.byteOffset+this.byteLength>this.buffer.byteLength){throw new RangeError("byteOffset and length reference an area beyond the end of the buffer")}configureProperties(this)};function makeGetter(i){return function(n,u){n=a.ToUint32(n);if(n+i.BYTES_PER_ELEMENT>this.byteLength){throw new RangeError("Array index out of range")}n+=this.byteOffset;var s=new t.Uint8Array(this.buffer,n,i.BYTES_PER_ELEMENT),o=[],f;for(f=0;fthis.byteLength){throw new RangeError("Array index out of range")}var o=new i([u]),f=new t.Uint8Array(o.buffer),l=[],c,h;for(c=0;c=e.length?e.length:n+t;r.message+=` while parsing near '${i===0?"":"..."}${e.slice(i,a)}${a===e.length?"":"..."}'`}else{r.message+=` while parsing '${e.slice(0,t*2)}'`}throw r}}},,function(e){"use strict";e.exports=function isArrayish(e){if(!e){return false}return e instanceof Array||Array.isArray(e)||e.length>=0&&e.splice instanceof Function}},,,function(e){"use strict";e.exports=strikethrough;var r="~";var t=r+r;function strikethrough(e){return t+this.all(e).join("")+t}},,function(e,r,t){"use strict";var i=t(495);var n=t(704);var a=t(682);var u=t(839);var s=t(526);e.exports=i("remark-lint:no-heading-indent",noHeadingIndent);var o=u.start;function noHeadingIndent(e,r){var t=String(r);var i=t.length;a(e,"heading",visitor);function visitor(e){var a;var u;var f;var l;var c;if(s(e)){return}a=o(e);u=a.offset;f=u-1;while(++f-1&&t.charAt(i)!=="\n"){r.message("Missing newline character at end of file")}}},,,function(e,r,t){"use strict";var i=t(171);var n=t(111);e.exports=strikethrough;strikethrough.locator=n;var a="~";var u="~~";function strikethrough(e,r,t){var n=this;var s="";var o="";var f="";var l="";var c;var h;var p;if(!n.options.gfm||r.charAt(0)!==a||r.charAt(1)!==a||i(r.charAt(2))){return}c=1;h=r.length;p=e.now();p.column+=2;p.offset+=2;while(++c?@[\\\]^`{|}~_]/;function copy(e,r){var t=e.length;var u=r.length;var s=[];var o=0;var f=0;var l;while(f0){t=Math.min(10,Math.floor(t));f=" ".substr(0,t)}}else if(typeof t==="string"){f=t.substr(0,10)}return serializeProperty("",{"":e});function serializeProperty(e,r){var t=r[e];if(t!=null){if(typeof t.toJSON5==="function"){t=t.toJSON5(e)}else if(typeof t.toJSON==="function"){t=t.toJSON(e)}}if(o){t=o.call(r,e,t)}if(t instanceof Number){t=Number(t)}else if(t instanceof String){t=String(t)}else if(t instanceof Boolean){t=t.valueOf()}switch(t){case null:return"null";case true:return"true";case false:return"false"}if(typeof t==="string"){return quoteString(t,false)}if(typeof t==="number"){return String(t)}if((typeof t==="undefined"?"undefined":i(t))==="object"){return Array.isArray(t)?serializeArray(t):serializeObject(t)}return undefined}function quoteString(e){var r={"'":.1,'"':.2};var t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};var i="";var n=true;var a=false;var u=undefined;try{for(var s=e[Symbol.iterator](),o;!(n=(o=s.next()).done);n=true){var f=o.value;switch(f){case"'":case'"':r[f]++;i+=f;continue}if(t[f]){i+=t[f];continue}if(f<" "){var c=f.charCodeAt(0).toString(16);i+="\\x"+("00"+c).substring(c.length);continue}i+=f}}catch(e){a=true;u=e}finally{try{if(!n&&s.return){s.return()}}finally{if(a){throw u}}}var h=l||Object.keys(r).reduce(function(e,t){return r[e]=0){throw TypeError("Converting circular structure to JSON5")}n.push(e);var r=u;u=u+f;var t=s||Object.keys(e);var i=[];var a=true;var o=false;var l=undefined;try{for(var c=t[Symbol.iterator](),h;!(a=(h=c.next()).done);a=true){var p=h.value;var v=serializeProperty(p,e);if(v!==undefined){var d=serializeKey(p)+":";if(f!==""){d+=" "}d+=v;i.push(d)}}}catch(e){o=true;l=e}finally{try{if(!a&&c.return){c.return()}}finally{if(o){throw l}}}var D=void 0;if(i.length===0){D="{}"}else{var m=void 0;if(f===""){m=i.join(",");D="{"+m+"}"}else{var g=",\n"+u;m=i.join(g);D="{\n"+u+m+",\n"+r+"}"}}n.pop();u=r;return D}function serializeKey(e){if(e.length===0){return quoteString(e,true)}var r=String.fromCodePoint(e.codePointAt(0));if(!a.isIdStartChar(r)){return quoteString(e,true)}for(var t=r.length;t=0){throw TypeError("Converting circular structure to JSON5")}n.push(e);var r=u;u=u+f;var t=[];for(var i=0;i=n){return r.substr(0,n)}while(n>r.length&&i>1){if(i&1){r+=e}i>>=1;e+=e}r+=e;r=r.substr(0,n);return r}},,function(e,r,t){"use strict";var i=t(495);var n=t(839);var a=t(526);var u=t(135);var s=t(682);e.exports=i("remark-lint:no-duplicate-definitions",noDuplicateDefinitions);var o="Do not use definitions with the same identifier";function noDuplicateDefinitions(e,r){var t={};s(e,["definition","footnoteDefinition"],validate);function validate(e){var i;var s;if(!a(e)){i=e.identifier;s=t[i];if(s&&s.type){r.message(o+" ("+u(n.start(s))+")",e)}t[i]=e}}}},function(e){"use strict";e.exports=is;function is(e,r,t,i,n){var a=i!==null&&i!==undefined;var u=t!==null&&t!==undefined;var s=convert(e);if(u&&(typeof t!=="number"||t<0||t===Infinity)){throw new Error("Expected positive finite index or child node")}if(a&&(!is(null,i)||!i.children)){throw new Error("Expected parent node")}if(!r||!r.type||typeof r.type!=="string"){return false}if(a!==u){throw new Error("Expected both parent and index")}return Boolean(s.call(n,r,t,i))}function convert(e){if(typeof e==="string"){return typeFactory(e)}if(e===null||e===undefined){return ok}if(typeof e==="object"){return("length"in e?anyFactory:matchesFactory)(e)}if(typeof e==="function"){return e}throw new Error("Expected function, string, or object as test")}function convertAll(e){var r=[];var t=e.length;var i=-1;while(++i=u){v--;break}d+=g}D="";m="";while(++v{r=r||process.argv;const t=e.startsWith("-")?"":e.length===1?"-":"--";const i=r.indexOf(t+e);const n=r.indexOf("--");return i!==-1&&(n===-1?true:ie[t])e[t]=i});return e},[]);var u=map(e,function(e){return map(e,function(e,r){var t=String(e);if(i[r]==="."){var u=dotindex(t);var s=a[r]+(/\./.test(t)?1:2)-(n(t)-u);return t+Array(s).join(" ")}else return t})});var s=reduce(u,function(e,r){forEach(r,function(r,t){var i=n(r);if(!e[t]||i>e[t])e[t]=i});return e},[]);return map(u,function(e){return map(e,function(e,r){var t=s[r]-n(e)||0;var a=Array(Math.max(t+1,1)).join(" ");if(i[r]==="r"||i[r]==="."){return a+e}if(i[r]==="c"){return Array(Math.ceil(t/2+1)).join(" ")+e+Array(Math.floor(t/2+1)).join(" ")}return e+a}).join(t).replace(/\s+$/,"")}).join("\n")};function dotindex(e){var r=/\.[^.]*$/.exec(e);return r?r.index+1:e.length}function reduce(e,r,t){if(e.reduce)return e.reduce(r,t);var i=0;var n=arguments.length>=3?t:e[i++];for(;it&&a0?"add":"remove")+" "+Math.abs(h)+" "+n("space",h);r.message(p,s)}}}}},,,,,function(e,r,t){"use strict";var i=t(721);e.exports=decodeEntity;var n={}.hasOwnProperty;function decodeEntity(e){return n.call(i,e)?i[e]:false}},,function(e,r,t){"use strict";var i=t(336);var n=t(780);e.exports=unherit;function unherit(e){var r;var t;var a;n(Of,e);n(From,Of);r=Of.prototype;for(t in r){a=r[t];if(a&&typeof a==="object"){r[t]="concat"in a?a.concat():i(a)}}return Of;function From(r){return e.apply(this,r)}function Of(){if(!(this instanceof Of)){return new From(arguments)}return e.apply(this,arguments)}}},function(e){"use strict";const r=e=>{let r=false;let t=false;let i=false;for(let n=0;n{if(!(typeof e==="string"||Array.isArray(e))){throw new TypeError("Expected the input to be `string | string[]`")}t=Object.assign({pascalCase:false},t);const i=e=>t.pascalCase?e.charAt(0).toUpperCase()+e.slice(1):e;if(Array.isArray(e)){e=e.map(e=>e.trim()).filter(e=>e.length).join("-")}else{e=e.trim()}if(e.length===0){return""}if(e.length===1){return t.pascalCase?e.toUpperCase():e.toLowerCase()}const n=e!==e.toLowerCase();if(n){e=r(e)}e=e.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(e,r)=>r.toUpperCase()).replace(/\d+(\w|$)/g,e=>e.toUpperCase());return i(e)};e.exports=t;e.exports.default=t},,function(e,r,t){"use strict";var i=t(211);function resolveYamlMerge(e){return e==="<<"||e===null}e.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge})},function(e){"use strict";e.exports={gfm:true,commonmark:false,pedantic:false,entities:"false",setext:false,closeAtx:false,looseTable:false,spacedTable:true,paddedTable:true,stringLength:stringLength,incrementListMarker:true,fences:false,fence:"`",bullet:"-",listItemIndent:"tab",rule:"*",ruleSpaces:true,ruleRepetition:3,strong:"*",emphasis:"_"};function stringLength(e){return e.length}},function(e,r,t){"use strict";var i=t(197);var n=t(520);var a=t(439);var u=t(25);var s=t(908);var o=t(895);e.exports=parseEntities;var f={}.hasOwnProperty;var l=String.fromCharCode;var c=Function.prototype;var h={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:false,nonTerminated:true};var p="named";var v="hexadecimal";var d="decimal";var D={};D[v]=16;D[d]=10;var m={};m[p]=s;m[d]=a;m[v]=u;var g=1;var E=2;var A=3;var C=4;var y=5;var w=6;var x=7;var b={};b[g]="Named character references must be terminated by a semicolon";b[E]="Numeric character references must be terminated by a semicolon";b[A]="Named character references cannot be empty";b[C]="Numeric character references cannot be empty";b[y]="Named character references must be known";b[w]="Numeric character references cannot be disallowed";b[x]="Numeric character references cannot be outside the permissible Unicode range";function parseEntities(e,r){var t={};var i;var n;if(!r){r={}}for(n in h){i=r[n];t[n]=i===null||i===undefined?h[n]:i}if(t.position.indent||t.position.start){t.indent=t.position.indent||[];t.position=t.position.start}return parse(e,t)}function parse(e,r){var t=r.additional;var a=r.nonTerminated;var u=r.text;var h=r.reference;var F=r.warning;var S=r.textContext;var B=r.referenceContext;var k=r.warningContext;var O=r.position;var P=r.indent||[];var T=e.length;var I=0;var M=-1;var L=O.column||1;var R=O.line||1;var j="";var N=[];var U;var J;var z;var X;var q;var G;var _;var W;var V;var H;var Y;var $;var Z;var Q;var K;var ee;var re;var te;var ie;ee=now();W=F?parseError:c;I--;T++;while(++I65535){G-=65536;H+=l(G>>>(10&1023)|55296);G=56320|G&1023}G=H+l(G)}}if(!G){X=e.slice(Z-1,ie);j+=X;L+=X.length;I=ie-1}else{flush();ee=now();I=ie-1;L+=ie-Z+1;N.push(G);re=now();re.offset++;if(h){h.call(B,G,{start:ee,end:re},e.slice(Z-1,ie))}ee=re}}}return N.join("");function now(){return{line:R,column:L,offset:I+(O.offset||0)}}function parseError(e,r){var t=now();t.column+=r;t.offset+=r;F.call(k,b[e],t,e)}function at(r){return e.charAt(r)}function flush(){if(j){N.push(j);if(u){u.call(S,j,{start:ee,end:now()})}j=""}}}function prohibited(e){return e>=55296&&e<=57343||e>1114111}function disallowed(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534}},,,function(e,r,t){"use strict";var i=t(36);var n=t(116);var a=t(171);var u=t(82);e.exports=emphasis;emphasis.locator=u;var s="*";var o="_";var f="\\";function emphasis(e,r,t){var u=this;var l=0;var c=r.charAt(l);var h;var p;var v;var d;var D;var m;var g;if(c!==s&&c!==o){return}p=u.options.pedantic;D=c;v=c;m=r.length;l++;d="";c="";if(p&&a(r.charAt(l))){return}while(l0){if(typeof r!=="string"&&!a.objectMode&&Object.getPrototypeOf(r)!==f.prototype){r=_uint8ArrayToBuffer(r)}if(i){if(a.endEmitted)e.emit("error",new Error("stream.unshift() after end event"));else addChunk(e,a,r,true)}else if(a.ended){e.emit("error",new Error("stream.push() after EOF"))}else{a.reading=false;if(a.decoder&&!t){r=a.decoder.write(r);if(a.objectMode||r.length!==0)addChunk(e,a,r,false);else maybeReadMore(e,a)}else{addChunk(e,a,r,false)}}}else if(!i){a.reading=false}}return needMoreData(a)}function addChunk(e,r,t,i){if(r.flowing&&r.length===0&&!r.sync){e.emit("data",t);e.read(0)}else{r.length+=r.objectMode?1:t.length;if(i)r.buffer.unshift(t);else r.buffer.push(t);if(r.needReadable)emitReadable(e)}maybeReadMore(e,r)}function chunkInvalid(e,r){var t;if(!_isUint8Array(r)&&typeof r!=="string"&&r!==undefined&&!e.objectMode){t=new TypeError("Invalid non-string/buffer chunk")}return t}function needMoreData(e){return!e.ended&&(e.needReadable||e.length=g){e=g}else{e--;e|=e>>>1;e|=e>>>2;e|=e>>>4;e|=e>>>8;e|=e>>>16;e++}return e}function howMuchToRead(e,r){if(e<=0||r.length===0&&r.ended)return 0;if(r.objectMode)return 1;if(e!==e){if(r.flowing&&r.length)return r.buffer.head.data.length;else return r.length}if(e>r.highWaterMark)r.highWaterMark=computeNewHighWaterMark(e);if(e<=r.length)return e;if(!r.ended){r.needReadable=true;return 0}return r.length}Readable.prototype.read=function(e){p("read",e);e=parseInt(e,10);var r=this._readableState;var t=e;if(e!==0)r.emittedReadable=false;if(e===0&&r.needReadable&&(r.length>=r.highWaterMark||r.ended)){p("read: emitReadable",r.length,r.ended);if(r.length===0&&r.ended)endReadable(this);else emitReadable(this);return null}e=howMuchToRead(e,r);if(e===0&&r.ended){if(r.length===0)endReadable(this);return null}var i=r.needReadable;p("need readable",i);if(r.length===0||r.length-e0)n=fromList(e,r);else n=null;if(n===null){r.needReadable=true;e=0}else{r.length-=e}if(r.length===0){if(!r.ended)r.needReadable=true;if(t!==e&&r.ended)endReadable(this)}if(n!==null)this.emit("data",n);return n};function onEofChunk(e,r){if(r.ended)return;if(r.decoder){var t=r.decoder.end();if(t&&t.length){r.buffer.push(t);r.length+=r.objectMode?1:t.length}}r.ended=true;emitReadable(e)}function emitReadable(e){var r=e._readableState;r.needReadable=false;if(!r.emittedReadable){p("emitReadable",r.flowing);r.emittedReadable=true;if(r.sync)i.nextTick(emitReadable_,e);else emitReadable_(e)}}function emitReadable_(e){p("emit readable");e.emit("readable");flow(e)}function maybeReadMore(e,r){if(!r.readingMore){r.readingMore=true;i.nextTick(maybeReadMore_,e,r)}}function maybeReadMore_(e,r){var t=r.length;while(!r.reading&&!r.flowing&&!r.ended&&r.length1&&indexOf(n.pipes,e)!==-1)&&!f){p("false write response, pause",t._readableState.awaitDrain);t._readableState.awaitDrain++;l=true}t.pause()}}function onerror(r){p("onerror",r);unpipe();e.removeListener("error",onerror);if(s(e,"error")===0)e.emit("error",r)}prependListener(e,"error",onerror);function onclose(){e.removeListener("finish",onfinish);unpipe()}e.once("close",onclose);function onfinish(){p("onfinish");e.removeListener("close",onclose);unpipe()}e.once("finish",onfinish);function unpipe(){p("unpipe");t.unpipe(e)}e.emit("pipe",t);if(!n.flowing){p("pipe resume");t.resume()}return e};function pipeOnDrain(e){return function(){var r=e._readableState;p("pipeOnDrain",r.awaitDrain);if(r.awaitDrain)r.awaitDrain--;if(r.awaitDrain===0&&s(e,"data")){r.flowing=true;flow(e)}}}Readable.prototype.unpipe=function(e){var r=this._readableState;var t={hasUnpiped:false};if(r.pipesCount===0)return this;if(r.pipesCount===1){if(e&&e!==r.pipes)return this;if(!e)e=r.pipes;r.pipes=null;r.pipesCount=0;r.flowing=false;if(e)e.emit("unpipe",this,t);return this}if(!e){var i=r.pipes;var n=r.pipesCount;r.pipes=null;r.pipesCount=0;r.flowing=false;for(var a=0;a=r.length){if(r.decoder)t=r.buffer.join("");else if(r.buffer.length===1)t=r.buffer.head.data;else t=r.buffer.concat(r.length);r.buffer.clear()}else{t=fromListPartial(e,r.buffer,r.decoder)}return t}function fromListPartial(e,r,t){var i;if(ea.length?a.length:e;if(u===a.length)n+=a;else n+=a.slice(0,e);e-=u;if(e===0){if(u===a.length){++i;if(t.next)r.head=t.next;else r.head=r.tail=null}else{r.head=t;t.data=a.slice(u)}break}++i}r.length-=i;return n}function copyFromBuffer(e,r){var t=f.allocUnsafe(e);var i=r.head;var n=1;i.data.copy(t);e-=i.data.length;while(i=i.next){var a=i.data;var u=e>a.length?a.length:e;a.copy(t,t.length-e,0,u);e-=u;if(e===0){if(u===a.length){++n;if(i.next)r.head=i.next;else r.head=r.tail=null}else{r.head=i;i.data=a.slice(u)}break}++n}r.length-=n;return t}function endReadable(e){var r=e._readableState;if(r.length>0)throw new Error('"endReadable()" called on non-empty stream');if(!r.endEmitted){r.ended=true;i.nextTick(endReadableNT,r,e)}}function endReadableNT(e,r){if(!e.endEmitted&&e.length===0){e.endEmitted=true;r.readable=false;r.emit("end")}}function indexOf(e,r){for(var t=0,i=e.length;t=l){continue}y="";while(v=2){r.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}}catch(e){}r.inspectOpts=Object.keys(process.env).filter(function(e){return/^debug_/i.test(e)}).reduce(function(e,r){var t=r.substring(6).toLowerCase().replace(/_([a-z])/g,function(e,r){return r.toUpperCase()});var i=process.env[r];if(/^(yes|on|true|enabled)$/i.test(i)){i=true}else if(/^(no|off|false|disabled)$/i.test(i)){i=false}else if(i==="null"){i=null}else{i=Number(i)}e[t]=i;return e},{});function useColors(){return"colors"in r.inspectOpts?Boolean(r.inspectOpts.colors):i.isatty(process.stderr.fd)}function formatArgs(r){var t=this.namespace,i=this.useColors;if(i){var n=this.color;var a="[3"+(n<8?n:"8;5;"+n);var u=" ".concat(a,";1m").concat(t," ");r[0]=u+r[0].split("\n").join("\n"+u);r.push(a+"m+"+e.exports.humanize(this.diff)+"")}else{r[0]=getDate()+t+" "+r[0]}}function getDate(){if(r.inspectOpts.hideDate){return""}return(new Date).toISOString()+" "}function log(){return process.stderr.write(n.format.apply(n,arguments)+"\n")}function save(e){if(e){process.env.DEBUG=e}else{delete process.env.DEBUG}}function load(){return process.env.DEBUG}function init(e){e.inspectOpts={};var t=Object.keys(r.inspectOpts);for(var i=0;i=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},,,function(e){"use strict";e.exports=locate;function locate(e,r){var t=e.indexOf("[",r);var i=e.indexOf("![",r);if(i===-1){return t}return t1){u=Math.floor(u/l)*l}o[u]=a;s=e.charAt(++a)}return{indent:u,stops:o}}},function(e){"use strict";e.exports=locate;function locate(e,t){return e.indexOf("`",t)}},,,,,function(e){"use strict";e.exports=factory;function factory(e){var t=indices(String(e));return{toPosition:offsetToPositionFactory(t),toOffset:positionToOffsetFactory(t)}}function offsetToPositionFactory(e){return offsetToPosition;function offsetToPosition(t){var r=-1;var i=e.length;if(t<0){return{}}while(++rt){return{line:r+1,column:t-(e[r-1]||0)+1,offset:t}}}return{}}}function positionToOffsetFactory(e){return positionToOffset;function positionToOffset(t){var r=t&&t.line;var i=t&&t.column;if(!isNaN(r)&&!isNaN(i)&&r-1 in e){return(e[r-2]||0)+i-1||0}return-1}}function indices(e){var t=[];var r=e.indexOf("\n");while(r!==-1){t.push(r+1);r=e.indexOf("\n",r+1)}t.push(e.length+1);return t}},,function(e,t,r){"use strict";var i=r(495);var n=r(682);var a=r(526);var u=r(10);e.exports=i("remark-lint:no-inline-padding",noInlinePadding);function noInlinePadding(e,t){n(e,["emphasis","strong","delete","image","link"],visitor);function visitor(e){var r;if(!a(e)){r=u(e);if(r.charAt(0)===" "||r.charAt(r.length-1)===" "){t.message("Don’t pad `"+e.type+"` with inner spaces",e)}}}}},function(e){"use strict";e.exports=toString;function toString(e){return valueOf(e)||e.children&&e.children.map(toString).join("")||""}function valueOf(e){return(e&&e.value?e.value:e.alt?e.alt:e.title)||""}},,function(e){"use strict";if(!process.version||process.version.indexOf("v0.")===0||process.version.indexOf("v1.")===0&&process.version.indexOf("v1.8.")!==0){e.exports={nextTick:nextTick}}else{e.exports=process}function nextTick(e,t,r,i){if(typeof e!=="function"){throw new TypeError('"callback" argument must be a function')}var n=arguments.length;var a,u;switch(n){case 0:case 1:return process.nextTick(e);case 2:return process.nextTick(function afterTickOne(){e.call(null,t)});case 3:return process.nextTick(function afterTickTwo(){e.call(null,t,r)});case 4:return process.nextTick(function afterTickThree(){e.call(null,t,r,i)});default:a=new Array(n-1);u=0;while(u=97&&t<=102||t>=65&&t<=70||t>=48&&t<=57}},,function(e,t,r){"use strict";var i=r(431);function homedir(){var e=process.env;var t=e.HOME;var r=e.LOGNAME||e.USER||e.LNAME||e.USERNAME;if(process.platform==="win32"){return e.USERPROFILE||e.HOMEDRIVE+e.HOMEPATH||t||null}if(process.platform==="darwin"){return t||(r?"/Users/"+r:null)}if(process.platform==="linux"){return t||(process.getuid()===0?"/root":r?"/home/"+r:null)}return t||null}e.exports=typeof i.homedir==="function"?i.homedir:homedir},,,,,,function(e,t,r){"use strict";var i=r(495);var n=r(682);var a=r(270);var u=r(704);var s=r(839);var o=r(526);e.exports=i("remark-lint:no-heading-content-indent",noHeadingContentIndent);var l=s.start;var f=s.end;function noHeadingContentIndent(e,t){var r=String(t);n(e,"heading",visitor);function visitor(e){var i;var n;var s;var c;var h;var p;var v;var d;var D;var m;if(o(e)){return}i=e.depth;n=e.children;s=a(e,"atx");if(s==="atx"||s==="atx-closed"){h=l(e);d=h.offset;D=r.charAt(d);while(D&&D!=="#"){D=r.charAt(++d)}if(!D){return}d=i+(d-h.offset);c=l(n[0]).column;if(!c){return}v=c-h.column-1-d;if(v){m=(v>0?"Remove":"Add")+" "+Math.abs(v)+" "+u("space",v)+" before this heading’s content";t.message(m,l(n[0]))}}if(s==="atx-closed"){p=f(n[n.length-1]);v=f(e).column-p.column-1-i;if(v){m="Remove "+v+" "+u("space",v)+" after this heading’s content";t.message(m,p)}}}}},function(e,t,r){"use strict";var i=r(336);var n=r(440);var a=r(901);var u=r(360);var s=r(315);e.exports=setOptions;var o={entities:{true:true,false:true,numbers:true,escape:true},bullet:{"*":true,"-":true,"+":true},rule:{"-":true,_:true,"*":true},listItemIndent:{tab:true,mixed:true,1:true},emphasis:{_:true,"*":true},strong:{_:true,"*":true},fence:{"`":true,"~":true}};var l={boolean:validateBoolean,string:validateString,number:validateNumber,function:validateFunction};function setOptions(e){var t=this;var r=t.options;var n;var s;if(e==null){e={}}else if(typeof e==="object"){e=i(e)}else{throw new Error("Invalid value `"+e+"` for setting `options`")}for(s in a){l[typeof a[s]](e,s,r[s],o[s])}n=e.ruleRepetition;if(n&&n<3){raise(n,"options.ruleRepetition")}t.encode=encodeFactory(String(e.entities));t.escape=u(e);t.options=e;return t}function validateBoolean(e,t,r){var i=e[t];if(i==null){i=r}if(typeof i!=="boolean"){raise(i,"options."+t)}e[t]=i}function validateNumber(e,t,r){var i=e[t];if(i==null){i=r}if(isNaN(i)){raise(i,"options."+t)}e[t]=i}function validateString(e,t,r,i){var n=e[t];if(n==null){n=r}n=String(n);if(!(n in i)){raise(n,"options."+t)}e[t]=n}function validateFunction(e,t,r){var i=e[t];if(i==null){i=r}if(typeof i!=="function"){raise(i,"options."+t)}e[t]=i}function encodeFactory(e){var t={};if(e==="false"){return s}if(e==="true"){t.useNamedReferences=true}if(e==="escape"){t.escapeOnly=true;t.useNamedReferences=true}return wrapped;function wrapped(e){return n(e,t)}}function raise(e,t){throw new Error("Invalid value `"+e+"` for setting `"+t+"`")}},,function(e,t){t=e.exports=trim;function trim(e){return e.replace(/^\s*|\s*$/g,"")}t.left=function(e){return e.replace(/^\s*/,"")};t.right=function(e){return e.replace(/\s*$/,"")}},function(e,t,r){"use strict";var i=r(814);e.exports=thematic;var n=" ";function thematic(){var e=this.options;var t=i(e.rule,e.ruleRepetition);return e.ruleSpaces?t.split("").join(n):t}},,,,,function(e,t,r){"use strict";var i=r(315);e.exports=enter;function enter(e,t){var r=e.encode;var n=e.escape;var a=e.enterLink();if(t.referenceType!=="shortcut"&&t.referenceType!=="collapsed"){return a}e.escape=i;e.encode=i;return exit;function exit(){e.encode=r;e.escape=n;a()}}},function(e,t,r){"use strict";var i=r(727);e.exports=new i({include:[r(234)],implicit:[r(633),r(843),r(981),r(702)]})},function(e,t,r){"use strict";var i=r(36);var n=r(814);var a=r(439);var u=r(1);var s=r(235);var o=r(724);e.exports=list;var l="*";var f="_";var c="+";var h="-";var p=".";var v=" ";var d="\n";var D="\t";var m=")";var g="x";var E=4;var A=/\n\n(?!\s*$)/;var C=/^\[([ \t]|x|X)][ \t]/;var y=/^([ \t]*)([*+-]|\d+[.)])( {1,4}(?! )| |\t|$|(?=\n))([^\n]*)/;var w=/^([ \t]*)([*+-]|\d+[.)])([ \t]+)/;var x=/^( {1,4}|\t)?/gm;function list(e,t,r){var n=this;var u=n.options.commonmark;var s=n.options.pedantic;var g=n.blockTokenizers;var A=n.interruptList;var C=0;var y=t.length;var w=null;var x=0;var b;var F;var S;var B;var k;var O;var P;var T;var I;var M;var L;var R;var j;var U;var N;var J;var z;var X;var G=false;var q;var W;var _;var V;while(C=E){return}S=t.charAt(C);if(S===l||S===c||S===h){B=S;F=false}else{F=true;b="";while(C=E){V=true}if(J&&x>=J.indent){V=true}S=t.charAt(C);T=null;if(!V){if(S===l||S===c||S===h){T=S;C++;x++}else{b="";while(C=J.indent||x>E}P=false;C=O}M=t.slice(O,k);I=O===C?M:t.slice(C,k);if(T===l||T===f||T===h){if(g.thematicBreak.call(n,e,M,true)){break}}L=R;R=!P&&!i(I).length;if(V&&J){J.value=J.value.concat(N,M);U=U.concat(N,M);N=[]}else if(P){if(N.length!==0){G=true;J.value.push("");J.trail=N.concat()}J={value:[M],indent:x,trail:[]};j.push(J);U=U.concat(N,M);N=[]}else if(R){if(L&&!u){break}N.push(M)}else{if(L){break}if(o(A,g,n,[e,M,true])){break}J.value=J.value.concat(N,M);U=U.concat(N,M);N=[]}C=k+1}q=e(U.join(d)).reset({type:"list",ordered:F,start:w,spread:G,children:[]});z=n.enterList();X=n.enterBlock();C=-1;y=j.length;while(++C1){t.message(s,e)}}}},function(e){e.exports=function isBuffer(e){return e!=null&&e.constructor!=null&&typeof e.constructor.isBuffer==="function"&&e.constructor.isBuffer(e)}},,,,,,,,function(e){e.exports=require("util")},function(e,t,r){"use strict";var i=r(727);e.exports=i.DEFAULT=new i({include:[r(388)],explicit:[r(875),r(555),r(329)]})},function(e){e.exports=require("fs")},function(e){"use strict";e.exports=function(e){if(typeof e!=="string"){throw new TypeError("Expected a string")}return!/[^0-9a-z\xDF-\xFF]/.test(e.toLowerCase())}},,,,,function(e,t,r){"use strict";var i=r(495);var n=r(7);e.exports=i("remark-lint:no-tabs",noTabs);var a="Use spaces instead of hard-tabs";function noTabs(e,t){var r=String(t);var i=n(t).toPosition;var u=r.indexOf("\t");while(u!==-1){t.message(a,i(u));u=r.indexOf("\t",u+1)}}},function(e){function webpackEmptyContext(e){var t=new Error("Cannot find module '"+e+"'");t.code="MODULE_NOT_FOUND";throw t}webpackEmptyContext.keys=function(){return[]};webpackEmptyContext.resolve=webpackEmptyContext;e.exports=webpackEmptyContext;webpackEmptyContext.id=73},function(e,t,r){"use strict";var i=r(864);var n=r(97);var a=r(503);var u=r(123);var s=r(340);var o=r(951);e.exports=unified().freeze();var l=[].slice;var f={}.hasOwnProperty;var c=u().use(pipelineParse).use(pipelineRun).use(pipelineStringify);function pipelineParse(e,t){t.tree=e.parse(t.file)}function pipelineRun(e,t,r){e.run(t.tree,t.file,done);function done(e,i,n){if(e){r(e)}else{t.tree=i;t.file=n;r()}}}function pipelineStringify(e,t){t.file.contents=e.stringify(t.tree,t.file)}function unified(){var e=[];var t=u();var r={};var h=false;var p=-1;processor.data=data;processor.freeze=freeze;processor.attachers=e;processor.use=use;processor.parse=parse;processor.stringify=stringify;processor.run=run;processor.runSync=runSync;processor.process=process;processor.processSync=processSync;return processor;function processor(){var t=unified();var n=e.length;var a=-1;while(++a{if(typeof e!=="string"){throw new TypeError(`Expected \`fromDir\` to be of type \`string\`, got \`${typeof e}\``)}if(typeof t!=="string"){throw new TypeError(`Expected \`moduleId\` to be of type \`string\`, got \`${typeof t}\``)}try{e=a.realpathSync(e)}catch(t){if(t.code==="ENOENT"){e=i.resolve(e)}else if(r){return null}else{throw t}}const u=i.join(e,"noop.js");const s=()=>n._resolveFilename(t,{id:u,filename:u,paths:n._nodeModulePaths(e)});if(r){try{return s()}catch(e){return null}}return s()};e.exports=((e,t)=>u(e,t));e.exports.silent=((e,t)=>u(e,t,true))},,function(e,t,r){"use strict";var i=r(347)("unified-engine:file-pipeline:configure");var n=r(928);var a=r(623);var u=r(692);var s=r(876);e.exports=configure;function configure(e,t,r,o){var l=e.configuration;var f=e.processor;if(n(t).fatal){return o()}l.load(t.path,handleConfiguration);function handleConfiguration(e,t){var n;var l;var c;var h;var p;var v;if(e){return o(e)}i("Using settings `%j`",t.settings);f.data("settings",t.settings);n=t.plugins;h=n.length;p=-1;i("Using `%d` plugins",h);while(++p>10)+55296,(e-65536&1023)+56320)}var C=new Array(256);var y=new Array(256);for(var w=0;w<256;w++){C[w]=simpleEscapeSequence(w)?1:0;y[w]=simpleEscapeSequence(w)}function State(e,t){this.input=e;this.filename=t["filename"]||null;this.schema=t["schema"]||s;this.onWarning=t["onWarning"]||null;this.legacy=t["legacy"]||false;this.json=t["json"]||false;this.listener=t["listener"]||null;this.implicitTypes=this.schema.compiledImplicit;this.typeMap=this.schema.compiledTypeMap;this.length=e.length;this.position=0;this.line=0;this.lineStart=0;this.lineIndent=0;this.documents=[]}function generateError(e,t){return new n(t,new a(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function throwError(e,t){throw generateError(e,t)}function throwWarning(e,t){if(e.onWarning){e.onWarning.call(null,generateError(e,t))}}var x={YAML:function handleYamlDirective(e,t,r){var i,n,a;if(e.version!==null){throwError(e,"duplication of %YAML directive")}if(r.length!==1){throwError(e,"YAML directive accepts exactly one argument")}i=/^([0-9]+)\.([0-9]+)$/.exec(r[0]);if(i===null){throwError(e,"ill-formed argument of the YAML directive")}n=parseInt(i[1],10);a=parseInt(i[2],10);if(n!==1){throwError(e,"unacceptable YAML version of the document")}e.version=r[0];e.checkLineBreaks=a<2;if(a!==1&&a!==2){throwWarning(e,"unsupported YAML version of the document")}},TAG:function handleTagDirective(e,t,r){var i,n;if(r.length!==2){throwError(e,"TAG directive accepts exactly two arguments")}i=r[0];n=r[1];if(!E.test(i)){throwError(e,"ill-formed tag handle (first argument) of the TAG directive")}if(o.call(e.tagMap,i)){throwError(e,'there is a previously declared suffix for "'+i+'" tag handle')}if(!A.test(n)){throwError(e,"ill-formed tag prefix (second argument) of the TAG directive")}e.tagMap[i]=n}};function captureSegment(e,t,r,i){var n,a,u,s;if(t1){e.result+=i.repeat("\n",t-1)}}function readPlainScalar(e,t,r){var i,n,a,u,s,o,l,f,c=e.kind,h=e.result,p;p=e.input.charCodeAt(e.position);if(is_WS_OR_EOL(p)||is_FLOW_INDICATOR(p)||p===35||p===38||p===42||p===33||p===124||p===62||p===39||p===34||p===37||p===64||p===96){return false}if(p===63||p===45){n=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(n)||r&&is_FLOW_INDICATOR(n)){return false}}e.kind="scalar";e.result="";a=u=e.position;s=false;while(p!==0){if(p===58){n=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(n)||r&&is_FLOW_INDICATOR(n)){break}}else if(p===35){i=e.input.charCodeAt(e.position-1);if(is_WS_OR_EOL(i)){break}}else if(e.position===e.lineStart&&testDocumentSeparator(e)||r&&is_FLOW_INDICATOR(p)){break}else if(is_EOL(p)){o=e.line;l=e.lineStart;f=e.lineIndent;skipSeparationSpace(e,false,-1);if(e.lineIndent>=t){s=true;p=e.input.charCodeAt(e.position);continue}else{e.position=u;e.line=o;e.lineStart=l;e.lineIndent=f;break}}if(s){captureSegment(e,a,u,false);writeFoldedLines(e,e.line-o);a=u=e.position;s=false}if(!is_WHITE_SPACE(p)){u=e.position+1}p=e.input.charCodeAt(++e.position)}captureSegment(e,a,u,false);if(e.result){return true}e.kind=c;e.result=h;return false}function readSingleQuotedScalar(e,t){var r,i,n;r=e.input.charCodeAt(e.position);if(r!==39){return false}e.kind="scalar";e.result="";e.position++;i=n=e.position;while((r=e.input.charCodeAt(e.position))!==0){if(r===39){captureSegment(e,i,e.position,true);r=e.input.charCodeAt(++e.position);if(r===39){i=e.position;e.position++;n=e.position}else{return true}}else if(is_EOL(r)){captureSegment(e,i,n,true);writeFoldedLines(e,skipSeparationSpace(e,false,t));i=n=e.position}else if(e.position===e.lineStart&&testDocumentSeparator(e)){throwError(e,"unexpected end of the document within a single quoted scalar")}else{e.position++;n=e.position}}throwError(e,"unexpected end of the stream within a single quoted scalar")}function readDoubleQuotedScalar(e,t){var r,i,n,a,u,s;s=e.input.charCodeAt(e.position);if(s!==34){return false}e.kind="scalar";e.result="";e.position++;r=i=e.position;while((s=e.input.charCodeAt(e.position))!==0){if(s===34){captureSegment(e,r,e.position,true);e.position++;return true}else if(s===92){captureSegment(e,r,e.position,true);s=e.input.charCodeAt(++e.position);if(is_EOL(s)){skipSeparationSpace(e,false,t)}else if(s<256&&C[s]){e.result+=y[s];e.position++}else if((u=escapedHexLen(s))>0){n=u;a=0;for(;n>0;n--){s=e.input.charCodeAt(++e.position);if((u=fromHexCode(s))>=0){a=(a<<4)+u}else{throwError(e,"expected hexadecimal character")}}e.result+=charFromCodepoint(a);e.position++}else{throwError(e,"unknown escape sequence")}r=i=e.position}else if(is_EOL(s)){captureSegment(e,r,i,true);writeFoldedLines(e,skipSeparationSpace(e,false,t));r=i=e.position}else if(e.position===e.lineStart&&testDocumentSeparator(e)){throwError(e,"unexpected end of the document within a double quoted scalar")}else{e.position++;i=e.position}}throwError(e,"unexpected end of the stream within a double quoted scalar")}function readFlowCollection(e,t){var r=true,i,n=e.tag,a,u=e.anchor,s,o,f,c,h,p={},v,d,D,m;m=e.input.charCodeAt(e.position);if(m===91){o=93;h=false;a=[]}else if(m===123){o=125;h=true;a={}}else{return false}if(e.anchor!==null){e.anchorMap[e.anchor]=a}m=e.input.charCodeAt(++e.position);while(m!==0){skipSeparationSpace(e,true,t);m=e.input.charCodeAt(e.position);if(m===o){e.position++;e.tag=n;e.anchor=u;e.kind=h?"mapping":"sequence";e.result=a;return true}else if(!r){throwError(e,"missed comma between flow collection entries")}d=v=D=null;f=c=false;if(m===63){s=e.input.charCodeAt(e.position+1);if(is_WS_OR_EOL(s)){f=c=true;e.position++;skipSeparationSpace(e,true,t)}}i=e.line;composeNode(e,t,l,false,true);d=e.tag;v=e.result;skipSeparationSpace(e,true,t);m=e.input.charCodeAt(e.position);if((c||e.line===i)&&m===58){f=true;m=e.input.charCodeAt(++e.position);skipSeparationSpace(e,true,t);composeNode(e,t,l,false,true);D=e.result}if(h){storeMappingPair(e,a,p,d,v,D)}else if(f){a.push(storeMappingPair(e,null,p,d,v,D))}else{a.push(v)}skipSeparationSpace(e,true,t);m=e.input.charCodeAt(e.position);if(m===44){r=true;m=e.input.charCodeAt(++e.position)}else{r=false}}throwError(e,"unexpected end of the stream within a flow collection")}function readBlockScalar(e,t){var r,n,a=p,u=false,s=false,o=t,l=0,f=false,c,h;h=e.input.charCodeAt(e.position);if(h===124){n=false}else if(h===62){n=true}else{return false}e.kind="scalar";e.result="";while(h!==0){h=e.input.charCodeAt(++e.position);if(h===43||h===45){if(p===a){a=h===43?d:v}else{throwError(e,"repeat of a chomping mode identifier")}}else if((c=fromDecimalCode(h))>=0){if(c===0){throwError(e,"bad explicit indentation width of a block scalar; it cannot be less than one")}else if(!s){o=t+c-1;s=true}else{throwError(e,"repeat of an indentation width identifier")}}else{break}}if(is_WHITE_SPACE(h)){do{h=e.input.charCodeAt(++e.position)}while(is_WHITE_SPACE(h));if(h===35){do{h=e.input.charCodeAt(++e.position)}while(!is_EOL(h)&&h!==0)}}while(h!==0){readLineBreak(e);e.lineIndent=0;h=e.input.charCodeAt(e.position);while((!s||e.lineIndento){o=e.lineIndent}if(is_EOL(h)){l++;continue}if(e.lineIndentt)&&o!==0){throwError(e,"bad indentation of a sequence entry")}else if(e.lineIndentt){if(composeNode(e,t,h,true,n)){if(D){v=e.result}else{d=e.result}}if(!D){storeMappingPair(e,l,c,p,v,d,a,u);p=v=d=null}skipSeparationSpace(e,true,-1);g=e.input.charCodeAt(e.position)}if(e.lineIndent>t&&g!==0){throwError(e,"bad indentation of a mapping entry")}else if(e.lineIndentt){p=1}else if(e.lineIndent===t){p=0}else if(e.lineIndentt){p=1}else if(e.lineIndent===t){p=0}else if(e.lineIndent tag; it should be "'+g.kind+'", not "'+e.kind+'"')}if(!g.resolve(e.result)){throwError(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}else{e.result=g.construct(e.result);if(e.anchor!==null){e.anchorMap[e.anchor]=e.result}}}else{throwError(e,"unknown tag !<"+e.tag+">")}}if(e.listener!==null){e.listener("close",e)}return e.tag!==null||e.anchor!==null||d}function readDocument(e){var t=e.position,r,i,n,a=false,u;e.version=null;e.checkLineBreaks=e.legacy;e.tagMap={};e.anchorMap={};while((u=e.input.charCodeAt(e.position))!==0){skipSeparationSpace(e,true,-1);u=e.input.charCodeAt(e.position);if(e.lineIndent>0||u!==37){break}a=true;u=e.input.charCodeAt(++e.position);r=e.position;while(u!==0&&!is_WS_OR_EOL(u)){u=e.input.charCodeAt(++e.position)}i=e.input.slice(r,e.position);n=[];if(i.length<1){throwError(e,"directive name must not be less than one character in length")}while(u!==0){while(is_WHITE_SPACE(u)){u=e.input.charCodeAt(++e.position)}if(u===35){do{u=e.input.charCodeAt(++e.position)}while(u!==0&&!is_EOL(u));break}if(is_EOL(u))break;r=e.position;while(u!==0&&!is_WS_OR_EOL(u)){u=e.input.charCodeAt(++e.position)}n.push(e.input.slice(r,e.position))}if(u!==0)readLineBreak(e);if(o.call(x,i)){x[i](e,i,n)}else{throwWarning(e,'unknown document directive "'+i+'"')}}skipSeparationSpace(e,true,-1);if(e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45){e.position+=3;skipSeparationSpace(e,true,-1)}else if(a){throwError(e,"directives end mark is expected")}composeNode(e,e.lineIndent-1,h,false,true);skipSeparationSpace(e,true,-1);if(e.checkLineBreaks&&m.test(e.input.slice(t,e.position))){throwWarning(e,"non-ASCII line breaks are interpreted as content")}e.documents.push(e.result);if(e.position===e.lineStart&&testDocumentSeparator(e)){if(e.input.charCodeAt(e.position)===46){e.position+=3;skipSeparationSpace(e,true,-1)}return}if(e.position output."+r,""," # Rewrite all applicable files"," $ "+i+" . -o"].join("\n");return{helpMessage:u,cwd:t.cwd,processor:t.processor,help:n.help,version:n.version,files:n._,filePath:n.filePath,watch:n.watch,extensions:f.length===0?t.extensions:f,output:n.output,out:n.stdout,tree:n.tree,treeIn:n.treeIn,treeOut:n.treeOut,inspect:n.inspect,rcName:t.rcName,packageField:t.packageField,rcPath:n.rcPath,detectConfig:n.config,settings:settings(n.setting),ignoreName:t.ignoreName,ignorePath:n.ignorePath,detectIgnore:n.ignore,pluginPrefix:t.pluginPrefix,plugins:plugins(n.use),reporter:c[0],reporterOptions:c[1],color:n.color,silent:n.silent,quiet:n.quiet,frail:n.frail}}function addEach(e){var t=e.default;l.default[e.long]=t===undefined?null:t;if(e.type in l){l[e.type].push(e.long)}if(e.short){l.alias[e.short]=e.long}}function extensions(e){return flatten(normalize(e).map(splitList))}function plugins(e){var t={};normalize(e).map(splitOptions).forEach(function(e){t[e[0]]=e[1]?parseConfig(e[1],{}):null});return t}function reporter(e){var t=normalize(e).map(splitOptions).map(function(e){return[e[0],e[1]?parseConfig(e[1],{}):null]});return t[t.length-1]||[]}function settings(e){var t={};normalize(e).forEach(function(e){parseConfig(e,t)});return t}function parseConfig(e,t){var r;var i;try{e=toCamelCase(parseJSON(e))}catch(t){i=t.message.replace(/at(?= position)/,"around");throw s("Cannot parse `%s` as JSON: %s",e,i)}for(r in e){t[r]=e[r]}return t}function handleUnknownArgument(e){if(e.charAt(0)!=="-"){return}if(e.charAt(1)==="-"){throw s("Unknown option `%s`, expected:\n%s",e,inspectAll(o))}e.slice(1).split("").forEach(each);function each(e){var t=o.length;var r=-1;var i;while(++r=2,has16m:e>=3}}function supportsColor(e){if(u===false){return 0}if(n("color=16m")||n("color=full")||n("color=truecolor")){return 3}if(n("color=256")){return 2}if(e&&!e.isTTY&&u!==true){return 0}const t=u?1:0;if(process.platform==="win32"){const e=i.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586){return Number(e[2])>=14931?3:2}return 1}if("CI"in a){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in a)||a.CI_NAME==="codeship"){return 1}return t}if("TEAMCITY_VERSION"in a){return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(a.TEAMCITY_VERSION)?1:0}if(a.COLORTERM==="truecolor"){return 3}if("TERM_PROGRAM"in a){const e=parseInt((a.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(a.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(a.TERM)){return 2}if(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(a.TERM)){return 1}if("COLORTERM"in a){return 1}if(a.TERM==="dumb"){return t}return t}function getSupportLevel(e){const t=supportsColor(e);return translateLevel(t)}e.exports={supportsColor:getSupportLevel,stdout:getSupportLevel(process.stdout),stderr:getSupportLevel(process.stderr)}},,,function(e,t,r){"use strict";var i=r(347)("unified-engine:file-pipeline:queue");var n=r(928);e.exports=queue;function queue(e,t,r,a){var u=t.history[0];var s=r.complete;var o=true;if(!s){s={};r.complete=s}i("Queueing `%s`",u);s[u]=a;r.valueOf().forEach(each);if(!o){i("Not flushing: some files cannot be flushed");return}r.complete={};r.pipeline.run(r,done);function each(e){var t=e.history[0];if(n(e).fatal){return}if(typeof s[t]==="function"){i("`%s` can be flushed",t)}else{i("Interupting flush: `%s` is not finished",t);o=false}}function done(e){i("Flushing: all files can be flushed");for(u in s){s[u](e)}}}},function(e,t,r){"use strict";var i=r(171);var n=r(426);e.exports=definition;definition.notInList=true;definition.notInBlock=true;var a='"';var u="'";var s="\\";var o="\n";var l="\t";var f=" ";var c="[";var h="]";var p="(";var v=")";var d=":";var D="<";var m=">";function definition(e,t,r){var i=this;var m=i.options.commonmark;var g=0;var E=t.length;var A="";var C;var y;var w;var x;var b;var F;var S;var B;while(g"];var r=t.concat(["~","|"]);var i=r.concat(["\n",'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);escapes.default=t;escapes.gfm=r;escapes.commonmark=i;function escapes(e){var n=e||{};if(n.commonmark){return i}return n.gfm?r:t}},,function(e){"use strict";e.exports=locate;function locate(e,t){return e.indexOf("~~",t)}},function(e,t,r){"use strict";var i=r(495);var n=r(7);var a=r(682);var u=r(839);var s=r(526);e.exports=i("remark-lint:checkbox-character-style",checkboxCharacterStyle);var o=u.start;var l=u.end;var f={x:true,X:true};var c={" ":true,"\t":true};var h={true:"checked",false:"unchecked"};function checkboxCharacterStyle(e,t,r){var i=String(t);var u=n(t);r=typeof r==="object"?r:{};if(r.unchecked&&c[r.unchecked]!==true){t.fail("Invalid unchecked checkbox marker `"+r.unchecked+"`: use either `'\\t'`, or `' '`")}if(r.checked&&f[r.checked]!==true){t.fail("Invalid checked checkbox marker `"+r.checked+"`: use either `'x'`, or `'X'`")}a(e,"listItem",visitor);function visitor(e){var n;var a;var f;var c;var p;var v;var d;if(typeof e.checked!=="boolean"||s(e)){return}n=h[e.checked];a=o(e).offset;f=(e.children.length===0?l(e):o(e.children[0])).offset;c=i.slice(a,f).trimRight().slice(0,-1);v=c.charAt(c.length-1);p=r[n];if(p){if(v!==p){d=n.charAt(0).toUpperCase()+n.slice(1)+" checkboxes should use `"+p+"` as a marker";t.message(d,{start:u.toPosition(a+c.length-1),end:u.toPosition(a+c.length)})}}else{r[n]=v}}}},,,,function(e){"use strict";e.exports=wordCharacter;var t=String.fromCharCode;var r=/\w/;function wordCharacter(e){return r.test(typeof e==="number"?t(e):e.charAt(0))}},,,,,function(e,t,r){"use strict";var i=r(495);var n=r(682);var a=r(526);e.exports=i("remark-lint:no-shortcut-reference-image",noShortcutReferenceImage);var u="Use the trailing [] on reference images";function noShortcutReferenceImage(e,t){n(e,"imageReference",visitor);function visitor(e){if(!a(e)&&e.referenceType==="shortcut"){t.message(u,e)}}}},,function(e,t,r){"use strict";var i=r(335);e.exports=trough;trough.wrap=i;var n=[].slice;function trough(){var e=[];var t={};t.run=run;t.use=use;return t;function run(){var t=-1;var r=n.call(arguments,0,-1);var a=arguments[arguments.length-1];if(typeof a!=="function"){throw new Error("Expected function as last argument, not "+a)}next.apply(null,[null].concat(r));function next(u){var s=e[++t];var o=n.call(arguments,0);var l=o.slice(1);var f=r.length;var c=-1;if(u){a(u);return}while(++c"){break}if(v!==" "&&v!=="\t"){t.message(o,d);break}}}}}},,function(e,t,r){e.exports=realpath;realpath.realpath=realpath;realpath.sync=realpathSync;realpath.realpathSync=realpathSync;realpath.monkeypatch=monkeypatch;realpath.unmonkeypatch=unmonkeypatch;var i=r(66);var n=i.realpath;var a=i.realpathSync;var u=process.version;var s=/^v[0-5]\./.test(u);var o=r(544);function newError(e){return e&&e.syscall==="realpath"&&(e.code==="ELOOP"||e.code==="ENOMEM"||e.code==="ENAMETOOLONG")}function realpath(e,t,r){if(s){return n(e,t,r)}if(typeof t==="function"){r=t;t=null}n(e,t,function(i,n){if(newError(i)){o.realpath(e,t,r)}else{r(i,n)}})}function realpathSync(e,t){if(s){return a(e,t)}try{return a(e,t)}catch(r){if(newError(r)){return o.realpathSync(e,t)}else{throw r}}}function monkeypatch(){i.realpath=realpath;i.realpathSync=realpathSync}function unmonkeypatch(){i.realpath=n;i.realpathSync=a}},,,,,,function(e){"use strict";var t={}.hasOwnProperty;e.exports=stringify;function stringify(e){if(!e||typeof e!=="object"){return""}if(t.call(e,"position")||t.call(e,"type")){return position(e.position)}if(t.call(e,"start")||t.call(e,"end")){return position(e)}if(t.call(e,"line")||t.call(e,"column")){return point(e)}return""}function point(e){if(!e||typeof e!=="object"){e={}}return index(e.line)+":"+index(e.column)}function position(e){if(!e||typeof e!=="object"){e={}}return point(e.start)+"-"+point(e.end)}function index(e){return e&&typeof e==="number"?e:1}},,function(e,t,r){"use strict";var i=r(495);var n=r(682);var a=r(839);var u=r(526);e.exports=i("remark-lint:fenced-code-flag",fencedCodeFlag);var s=a.start;var o=a.end;var l=/^ {0,3}([~`])\1{2,}/;var f="Invalid code-language flag";var c="Missing code-language flag";function fencedCodeFlag(e,t,r){var i=String(t);var a=false;var h=[];if(typeof r==="object"&&!("length"in r)){a=Boolean(r.allowEmpty);r=r.flags}if(typeof r==="object"&&"length"in r){h=String(r).split(",")}n(e,"code",visitor);function visitor(e){var r;if(!u(e)){if(e.lang){if(h.length!==0&&h.indexOf(e.lang)===-1){t.message(f,e)}}else{r=i.slice(s(e).offset,o(e).offset);if(!a&&l.test(r)){t.message(c,e)}}}}}},function(e){"use strict";e.exports=alphabetical;function alphabetical(e){var t=typeof e==="string"?e.charCodeAt(0):e;return t>=97&&t<=122||t>=65&&t<=90}},function(e){"use strict";e.exports=locate;var t=["https://","http://","mailto:"];function locate(e,r){var i=t.length;var n=-1;var a=-1;var u;if(!this.options.gfm){return-1}while(++na){i[n-a]=e[n]}return i}},,,,,,,,,function(e,t,r){"use strict";var i=r(211);var n=Object.prototype.hasOwnProperty;var a=Object.prototype.toString;function resolveYamlOmap(e){if(e===null)return true;var t=[],r,i,u,s,o,l=e;for(r=0,i=l.length;r-1){a.splice(u,1)}var s=r;a.forEach(function _buildSubObj(e,r){if(!e||typeof s!=="object")return;if(r===a.length-1)s[e]=t[n];if(s[e]===undefined)s[e]={};s=s[e]})}}return r};var c=t.find=function(){var e=a.join.apply(null,[].slice.call(arguments));function find(e,t){var r=a.join(e,t);try{i.statSync(r);return r}catch(r){if(a.dirname(e)!==e)return find(a.dirname(e),t)}}return find(process.cwd(),e)}},,,,function(e,t,r){"use strict";const i=r(202);const n=r(751);const a=i("JSONError",{fileName:i.append("in %s")});e.exports=((e,t,r)=>{if(typeof t==="string"){r=t;t=null}try{try{return JSON.parse(e,t)}catch(r){n(e,t);throw r}}catch(e){e.message=e.message.replace(/\n/g,"");const t=new a(e);if(r){t.fileName=r}throw t}})},function(e,t,r){"use strict";var i=r(495);var n=r(682);var a=r(839);var u=r(526);e.exports=i("remark-lint:maximum-line-length",maximumLineLength);var s=a.start;var o=a.end;function maximumLineLength(e,t,r){var i=typeof r==="number"&&!isNaN(r)?r:80;var a=String(t);var l=a.split(/\r?\n/);var f=l.length;var c=-1;var h;n(e,["heading","table","code","definition","html","jsx"],ignore);n(e,["link","image","inlineCode"],inline);while(++ci){t.message("Line must be at most "+i+" characters",{line:c+1,column:h+1})}}function inline(e,t,r){var n=r.children[t+1];var a;var l;if(u(e)){return}a=s(e);l=o(e);if(a.column>i||l.column0?"Add":"Remove")+" "+Math.abs(i)+" "+n("space",i)+" between blockquote and content";t.message(a,u.start(e.children[0]))}}else{r=check(e)}}}function check(e){var t=e.children[0];var r=u.start(t).column-u.start(e).column;var i=o(t).match(/^ +/);if(i){r+=i[0].length}return r}},,,,,function(e){"use strict";e.exports=whitespace;var t=String.fromCharCode;var r=/\s/;function whitespace(e){return r.test(typeof e==="number"?t(e):e.charAt(0))}},,,function(e,t,r){"use strict";var i=r(814);var n="\n";var a=" ";var u=":";var s="[";var o="]";var l="^";var f=4;var c=n+n;var h=i(a,f);e.exports=footnoteDefinition;function footnoteDefinition(e){var t=this.all(e).join(c+h);return s+l+(e.label||e.identifier)+o+u+a+t}},function(e){"use strict";e.exports=collapse;function collapse(e){return String(e).replace(/\s+/g," ")}},function(e){"use strict";e.exports=label;var t="[";var r="]";var i="shortcut";var n="collapsed";function label(e){var a=e.referenceType;if(a===i){return""}return t+(a===n?"":e.label||e.identifier)+r}},,,,,function(e,t,r){"use strict";var i=r(814);var n=r(705);e.exports=listItem;var a="\n";var u=" ";var s="[";var o="]";var l="x";var f=Math.ceil;var c=a+a;var h=4;function listItem(e,t,r,p){var v=this;var d=v.options.listItemIndent;var D=p||v.options.bullet;var m=e.spread==null?true:e.spread;var g=e.checked;var E=e.children;var A=E.length;var C=[];var y=-1;var w;var x;var b;while(++y",Iacute:"Í",Icirc:"Î",Igrave:"Ì",Iuml:"Ï",LT:"<",Ntilde:"Ñ",Oacute:"Ó",Ocirc:"Ô",Ograve:"Ò",Oslash:"Ø",Otilde:"Õ",Ouml:"Ö",QUOT:'"',REG:"®",THORN:"Þ",Uacute:"Ú",Ucirc:"Û",Ugrave:"Ù",Uuml:"Ü",Yacute:"Ý",aacute:"á",acirc:"â",acute:"´",aelig:"æ",agrave:"à",amp:"&",aring:"å",atilde:"ã",auml:"ä",brvbar:"¦",ccedil:"ç",cedil:"¸",cent:"¢",copy:"©",curren:"¤",deg:"°",divide:"÷",eacute:"é",ecirc:"ê",egrave:"è",eth:"ð",euml:"ë",frac12:"½",frac14:"¼",frac34:"¾",gt:">",iacute:"í",icirc:"î",iexcl:"¡",igrave:"ì",iquest:"¿",iuml:"ï",laquo:"«",lt:"<",macr:"¯",micro:"µ",middot:"·",nbsp:" ",not:"¬",ntilde:"ñ",oacute:"ó",ocirc:"ô",ograve:"ò",ordf:"ª",ordm:"º",oslash:"ø",otilde:"õ",ouml:"ö",para:"¶",plusmn:"±",pound:"£",quot:'"',raquo:"»",reg:"®",sect:"§",shy:"­",sup1:"¹",sup2:"²",sup3:"³",szlig:"ß",thorn:"þ",times:"×",uacute:"ú",ucirc:"û",ugrave:"ù",uml:"¨",uuml:"ü",yacute:"ý",yen:"¥",yuml:"ÿ"}},,,,,function(e,t,r){"use strict";var i=r(64);var n=r(753);var a=function errorEx(e,t){if(!e||e.constructor!==String){t=e||{};e=Error.name}var r=function ErrorEXError(i){if(!this){return new ErrorEXError(i)}i=i instanceof Error?i.message:i||this.message;Error.call(this,i);Error.captureStackTrace(this,r);this.name=e;Object.defineProperty(this,"message",{configurable:true,enumerable:false,get:function(){var e=i.split(/\r?\n/g);for(var r in t){if(!t.hasOwnProperty(r)){continue}var a=t[r];if("message"in a){e=a.message(this[r],e)||e;if(!n(e)){e=[e]}}}return e.join("\n")},set:function(e){i=e}});var a=null;var u=Object.getOwnPropertyDescriptor(this,"stack");var s=u.get;var o=u.value;delete u.value;delete u.writable;u.set=function(e){a=e};u.get=function(){var e=(a||(s?s.call(this):o)).split(/\r?\n+/g);if(!a){e[0]=this.name+": "+this.message}var r=1;for(var i in t){if(!t.hasOwnProperty(i)){continue}var n=t[i];if("line"in n){var u=n.line(this[i]);if(u){e.splice(r++,0," "+u)}}if("stack"in n){n.stack(this[i],e)}}return e.join("\n")};Object.defineProperty(this,"stack",u)};if(Object.setPrototypeOf){Object.setPrototypeOf(r.prototype,Error.prototype);Object.setPrototypeOf(r,Error)}else{i.inherits(r,Error)}return r};a.append=function(e,t){return{message:function(r,i){r=r||t;if(r){i[0]+=" "+e.replace("%s",r.toString())}return i}}};a.line=function(e,t){return{line:function(r){r=r||t;if(r){return e.replace("%s",r.toString())}return null}}};e.exports=a},,,,,function(e,t,r){"use strict";var i=r(211);e.exports=new i("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}})},,,function(e,t,r){"use strict";var i=r(589);function replaceExt(e,t){if(typeof e!=="string"){return e}if(e.length===0){return e}var r=i.basename(e,i.extname(e))+t;return i.join(i.dirname(e),r)}e.exports=replaceExt},function(e,t,r){"use strict";var i=r(833);var n=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"];var a=["scalar","sequence","mapping"];function compileStyleAliases(e){var t={};if(e!==null){Object.keys(e).forEach(function(r){e[r].forEach(function(e){t[String(e)]=r})})}return t}function Type(e,t){t=t||{};Object.keys(t).forEach(function(t){if(n.indexOf(t)===-1){throw new i('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}});this.tag=e;this.kind=t["kind"]||null;this.resolve=t["resolve"]||function(){return true};this.construct=t["construct"]||function(e){return e};this.instanceOf=t["instanceOf"]||null;this.predicate=t["predicate"]||null;this.represent=t["represent"]||null;this.defaultStyle=t["defaultStyle"]||null;this.styleAliases=compileStyleAliases(t["styleAliases"]||null);if(a.indexOf(this.kind)===-1){throw new i('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}}e.exports=Type},function(e,t,r){"use strict";var i=r(876);var n=true;try{n="inspect"in r(64)}catch(e){n=false}e.exports=n?inspect:noColor;inspect.color=inspect;noColor.color=inspect;inspect.noColor=noColor;noColor.noColor=noColor;var a=ansiColor(2,22);var u=ansiColor(33,39);var s=ansiColor(32,39);var o=new RegExp("(?:"+"(?:\\u001b\\[)|"+"\\u009b"+")"+"(?:"+"(?:[0-9]{1,3})?(?:(?:;[0-9]{0,3})*)?[A-M|f-m]"+")|"+"\\u001b[A-M]","g");var l=["type","value","children","position"];function noColor(e,t){return stripColor(inspect(e,t))}function inspect(e,t){var r;var i;var n;var a;if(e&&Boolean(e.length)&&typeof e!=="string"){a=e.length;n=-1;r=[];while(++n|$))/i;var l=/<\/(script|pre|style)>/i;var f=/^/;var h=/^<\?/;var p=/\?>/;var v=/^/;var D=/^/;var g=/^$/;var E=new RegExp(i.source+"\\s*$");function blockHtml(e,t,r){var i=this;var A=i.options.blocks.join("|");var C=new RegExp("^|$))","i");var y=t.length;var w=0;var x;var b;var F;var S;var B;var k;var O;var P=[[o,l,true],[f,c,true],[h,p,true],[v,d,true],[D,m,true],[C,g,true],[E,g,false]];while(w0&&v.indenta){return}if(!m||!l&&u.charAt(c+1)===n){return}f=u.length+1;D="";while(++c0){const t=peek();if(!i.isHexDigit(t)){throw invalidChar(read())}e+=read()}return String.fromCodePoint(parseInt(e,16))}const E={start(){if(f.type==="eof"){throw invalidEOF()}push()},beforePropertyName(){switch(f.type){case"identifier":case"string":c=f.value;a="afterPropertyName";return;case"punctuator":pop();return;case"eof":throw invalidEOF()}},afterPropertyName(){if(f.type==="eof"){throw invalidEOF()}a="beforePropertyValue"},beforePropertyValue(){if(f.type==="eof"){throw invalidEOF()}push()},beforeArrayValue(){if(f.type==="eof"){throw invalidEOF()}if(f.type==="punctuator"&&f.value==="]"){pop();return}push()},afterPropertyValue(){if(f.type==="eof"){throw invalidEOF()}switch(f.value){case",":a="beforePropertyName";return;case"}":pop()}},afterArrayValue(){if(f.type==="eof"){throw invalidEOF()}switch(f.value){case",":a="beforeArrayValue";return;case"]":pop()}},end(){}};function push(){let e;switch(f.type){case"punctuator":switch(f.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=f.value;break}if(h===undefined){h=e}else{const t=u[u.length-1];if(Array.isArray(t)){t.push(e)}else{t[c]=e}}if(e!==null&&typeof e==="object"){u.push(e);if(Array.isArray(e)){a="beforeArrayValue"}else{a="beforePropertyName"}}else{const e=u[u.length-1];if(e==null){a="end"}else if(Array.isArray(e)){a="afterArrayValue"}else{a="afterPropertyValue"}}}function pop(){u.pop();const e=u[u.length-1];if(e==null){a="end"}else if(Array.isArray(e)){a="afterArrayValue"}else{a="afterPropertyValue"}}function invalidChar(e){if(e===undefined){return syntaxError(`JSON5: invalid end of input at ${o}:${l}`)}return syntaxError(`JSON5: invalid character '${formatChar(e)}' at ${o}:${l}`)}function invalidEOF(){return syntaxError(`JSON5: invalid end of input at ${o}:${l}`)}function invalidIdentifier(){l-=5;return syntaxError(`JSON5: invalid identifier character at ${o}:${l}`)}function separatorChar(e){console.warn(`JSON5: '${formatChar(e)}' in strings is not valid ECMAScript; consider escaping`)}function formatChar(e){const t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(t[e]){return t[e]}if(e<" "){const t=e.charCodeAt(0).toString(16);return"\\x"+("00"+t).substring(t.length)}return e}function syntaxError(e){const t=new SyntaxError(e);t.lineNumber=o;t.columnNumber=l;return t}},,function(e,t,r){"use strict";var i=r(66);var n=r(589);var a=r(345);var u=r(347)("unified-engine:find-up");var s=r(692);e.exports=FindUp;var o=i.readFile;var l=n.resolve;var f=n.relative;var c=n.join;var h=n.dirname;FindUp.prototype.load=load;function FindUp(e){var t=this;var r=e.filePath;t.cache={};t.cwd=e.cwd;t.detect=e.detect;t.names=e.names;t.create=e.create;if(r){t.givenFilePath=l(e.cwd,r)}}function load(e,t){var r=this;var i=r.cache;var n=r.givenFilePath;var p=r.givenFile;var v=r.names;var d=r.create;var D=r.cwd;var m;if(n){if(p){apply(t,p)}else{p=[t];r.givenFile=p;u("Checking given file `%s`",n);o(n,loadGiven)}return}if(!r.detect){return t()}e=l(D,e);m=h(e);if(m in i){apply(t,i[m])}else{i[m]=[t];find(m)}function loadGiven(e,t){var i=r.givenFile;var s;if(e){s=a("Cannot read given file `%s`\n%s",f(D,n),e.stack);s.code="ENOENT";s.path=e.path;s.syscall=e.syscall}else{try{s=d(t,n);u("Read given file `%s`",n)}catch(e){s=a("Cannot parse given file `%s`\n%s",f(D,n),e.stack);u(e.message)}}p=s;r.givenFile=s;applyAll(i,s)}function find(t){var r=-1;var n=v.length;next();function next(){var a;if(++r{if(e)console.error(e);process.exit(t)})},,,,,,,function(e,t,r){"use strict";var i=r(495);var n=r(682);var a=r(839);var u=r(526);e.exports=i("remark-lint:code-block-style",codeBlockStyle);var s=a.start;var o=a.end;var l={null:true,fenced:true,indented:true};function codeBlockStyle(e,t,r){var i=String(t);r=typeof r==="string"&&r!=="consistent"?r:null;if(l[r]!==true){t.fail("Invalid code block style `"+r+"`: use either `'consistent'`, `'fenced'`, or `'indented'`")}n(e,"code",visitor);function visitor(e){var i=check(e);if(i){if(!r){r=i}else if(r!==i){t.message("Code blocks should be "+r,e)}}}function check(e){var t=s(e).offset;var r=o(e).offset;if(u(e)){return null}return e.lang||/^\s*([~`])\1{2,}/.test(i.slice(t,r))?"fenced":"indented"}}},,,function(e,t,r){"use strict";var i=r(589);var n=r(77);var a=r(289);e.exports=Ignore;Ignore.prototype.check=check;var u=i.dirname;var s=i.relative;var o=i.resolve;function Ignore(e){this.cwd=e.cwd;this.findUp=new a({filePath:e.ignorePath,cwd:e.cwd,detect:e.detectIgnore,names:e.ignoreName?[e.ignoreName]:[],create:create})}function check(e,t){var r=this;r.findUp.load(e,done);function done(i,n){var a;if(i){t(i)}else if(n){a=s(n.filePath,o(r.cwd,e));t(null,a?n.ignores(a):false)}else{t(null,false)}}}function create(e,t){var r=n().add(String(e));r.filePath=u(t);return r}},,,,function(e){e.exports={nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",fnof:"ƒ",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",bull:"•",hellip:"…",prime:"′",Prime:"″",oline:"‾",frasl:"⁄",weierp:"℘",image:"ℑ",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",quot:'"',amp:"&",lt:"<",gt:">",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",permil:"‰",lsaquo:"‹",rsaquo:"›",euro:"€"}},,,,function(e,t,r){"use strict";var i=r(54);e.exports=enclose;var n="(";var a=")";var u="<";var s=">";var o=/\s/;function enclose(e,t){if(t||e.length===0||o.test(e)||i(e,n)!==i(e,a)){return u+e+s}return e}},,function(e,t,r){"use strict";var i=r(495);var n=r(682);var a=r(839);var u=r(526);e.exports=i("remark-lint:table-pipes",tablePipes);var s=a.start;var o=a.end;var l="Missing initial pipe in table fence";var f="Missing final pipe in table fence";function tablePipes(e,t){var r=String(t);n(e,"table",visitor);function visitor(e){var i=e.children;var n=i.length;var a=-1;var c;var h;var p;var v;var d;var D;while(++a0?parseInt(t):null};for(;i1)return true;for(var a=0;athis.maxLength)return t();if(!this.stat&&m(this.cache,r)){var a=this.cache[r];if(Array.isArray(a))a="DIR";if(!n||a==="DIR")return t(null,a);if(n&&a==="FILE")return t()}var u;var s=this.statCache[r];if(s!==undefined){if(s===false)return t(null,s);else{var o=s.isDirectory()?"DIR":"FILE";if(n&&o==="FILE")return t();else return t(null,o,s)}}var l=this;var f=g("stat\0"+r,lstatcb_);if(f)i.lstat(r,f);function lstatcb_(n,a){if(a&&a.isSymbolicLink()){return i.stat(r,function(i,n){if(i)l._stat2(e,r,null,a,t);else l._stat2(e,r,i,n,t)})}else{l._stat2(e,r,n,a,t)}}};Glob.prototype._stat2=function(e,t,r,i,n){if(r&&(r.code==="ENOENT"||r.code==="ENOTDIR")){this.statCache[t]=false;return n()}var a=e.slice(-1)==="/";this.statCache[t]=i;if(t.slice(-1)==="/"&&i&&!i.isDirectory())return n(null,false,i);var u=true;if(i)u=i.isDirectory()?"DIR":"FILE";this.cache[t]=this.cache[t]||u;if(a&&u==="FILE")return n();return n(null,u,i)}},function(e,t,r){"use strict";var i=r(36);var n=r(439);var a=r(934);var u=r(724);e.exports=paragraph;var s="\t";var o="\n";var l=" ";var f=4;function paragraph(e,t,r){var c=this;var h=c.options;var p=h.commonmark;var v=h.gfm;var d=c.blockTokenizers;var D=c.interruptParagraph;var m=t.indexOf(o);var g=t.length;var E;var A;var C;var y;var w;while(m=f&&C!==o){m=t.indexOf(o,m+1);continue}}A=t.slice(m+1);if(u(D,d,c,[e,A,true])){break}if(d.list.call(c,e,A,true)&&(c.inList||p||v&&!n(i.left(A).charAt(0)))){break}E=m;m=t.indexOf(o,m+1);if(m!==-1&&i(t.slice(E,m))===""){m=E;break}}A=t.slice(0,m);if(i(A)===""){e(A);return null}if(r){return true}w=e.now();A=a(A);return e(A)({type:"paragraph",children:c.tokenizeInline(A,w)})}},function(e,t,r){"use strict";var i;var n;try{var a=i;n=r(644)}catch(e){if(typeof window!=="undefined")n=window.esprima}var u=r(211);function resolveJavascriptFunction(e){if(e===null)return false;try{var t="("+e+")",r=n.parse(t,{range:true});if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression"){return false}return true}catch(e){return false}}function constructJavascriptFunction(e){var t="("+e+")",r=n.parse(t,{range:true}),i=[],a;if(r.type!=="Program"||r.body.length!==1||r.body[0].type!=="ExpressionStatement"||r.body[0].expression.type!=="ArrowFunctionExpression"&&r.body[0].expression.type!=="FunctionExpression"){throw new Error("Failed to resolve function")}r.body[0].expression.params.forEach(function(e){i.push(e.name)});a=r.body[0].expression.body.range;if(r.body[0].expression.body.type==="BlockStatement"){return new Function(i,t.slice(a[0]+1,a[1]-1))}return new Function(i,"return "+t.slice(a[0],a[1]))}function representJavascriptFunction(e){return e.toString()}function isFunction(e){return Object.prototype.toString.call(e)==="[object Function]"}e.exports=new u("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:resolveJavascriptFunction,construct:constructJavascriptFunction,predicate:isFunction,represent:representJavascriptFunction})},,,function(e,t,r){"use strict";var i=r(171);var n=r(984);var a=r(426);e.exports=reference;reference.locator=n;var u="link";var s="image";var o="footnote";var l="shortcut";var f="collapsed";var c="full";var h=" ";var p="!";var v="[";var d="\\";var D="]";var m="^";function reference(e,t,r){var n=this;var g=n.options.commonmark;var E=t.charAt(0);var A=0;var C=t.length;var y="";var w="";var x=u;var b=l;var F;var S;var B;var k;var O;var P;var T;var I;if(E===p){x=s;w=E;E=t.charAt(++A)}if(E!==v){return}A++;w+=E;P="";if(n.options.footnotes&&t.charAt(A)===m){if(x===s){return}w+=m;A++;x=o}I=0;while(A "+h.destination:""}if(!h.stats.total){p+=p?": ":"";if(h.stored){p+=m.yellow.open+"written"+m.yellow.close}else{p+="no issues found"}}if(p){l.push(p)}}else{g=m[h.label==="error"?"red":"yellow"];E=h.reason;A="";C=E.indexOf("\n");if(C!==-1){A=E.slice(C);E=E.slice(0,C)}l.push(["",padLeft(h.location,e.location),padRight(g.open+h.label+g.close,e.label),padRight(E,e.reason),padRight(h.ruleId,e.ruleId),h.source||""].join(" ").replace(c,"")+A)}}if(a.fatal||a.warn){p=[];if(a.fatal){p.push([m.red.open+f.error+m.red.close,a.fatal,plural(D.true,a.fatal)].join(" "))}if(a.warn){p.push([m.yellow.open+f.warning+m.yellow.close,a.warn,plural(D.false,a.warn)].join(" "))}p=p.join(", ");if(a.total!==a.fatal&&a.total!==a.warn){p=a.total+" messages ("+p+")"}l.push("",p)}return l.join("\n")}function applicable(e,t){var r=e.messages;var i=r.length;var n=-1;var a=[];if(t.silent){while(++n64)continue;if(t<0)return false;i+=6}return i%8===0}function constructYamlBinary(e){var t,r,i=e.replace(/[\r\n=]/g,""),a=i.length,u=s,o=0,l=[];for(t=0;t>16&255);l.push(o>>8&255);l.push(o&255)}o=o<<6|u.indexOf(i.charAt(t))}r=a%4*6;if(r===0){l.push(o>>16&255);l.push(o>>8&255);l.push(o&255)}else if(r===18){l.push(o>>10&255);l.push(o>>2&255)}else if(r===12){l.push(o>>4&255)}if(n){return n.from?n.from(l):new n(l)}return l}function representYamlBinary(e){var t="",r=0,i,n,a=e.length,u=s;for(i=0;i>18&63];t+=u[r>>12&63];t+=u[r>>6&63];t+=u[r&63]}r=(r<<8)+e[i]}n=a%3;if(n===0){t+=u[r>>18&63];t+=u[r>>12&63];t+=u[r>>6&63];t+=u[r&63]}else if(n===2){t+=u[r>>10&63];t+=u[r>>4&63];t+=u[r<<2&63];t+=u[64]}else if(n===1){t+=u[r>>2&63];t+=u[r<<4&63];t+=u[64];t+=u[64]}return t}function isBinary(e){return n&&n.isBuffer(e)}e.exports=new u("tag:yaml.org,2002:binary",{kind:"scalar",resolve:resolveYamlBinary,construct:constructYamlBinary,predicate:isBinary,represent:representYamlBinary})},function(e){"use strict";var t=[].slice;e.exports=wrap;function wrap(e,r){var i;return wrapped;function wrapped(){var r=t.call(arguments,0);var n=e.length>r.length;var a;if(n){r.push(done)}try{a=e.apply(null,r)}catch(e){if(n&&i){throw e}return done(e)}if(!n){if(a&&typeof a.then==="function"){a.then(then,done)}else if(a instanceof Error){done(a)}else{then(a)}}}function done(){if(!i){i=true;r.apply(null,arguments)}}function then(e){done(null,e)}}},function(e){e.exports=extend;var t=Object.prototype.hasOwnProperty;function extend(){var e={};for(var r=0;ri){t.message("Move definitions to the end of the file (after the node at line `"+r+"`)",e)}}else if(r===null){r=i}}}},function(e){var t=Object.prototype.toString;e.exports=isString;function isString(e){return t.call(e)==="[object String]"}},function(e,t,r){"use strict";var i=r(874);e.exports=configure;function configure(e,t){e.configuration=new i(t)}},,,,function(e,t,r){"use strict";var i=r(323);var n=create(Error);e.exports=n;n.eval=create(EvalError);n.range=create(RangeError);n.reference=create(ReferenceError);n.syntax=create(SyntaxError);n.type=create(TypeError);n.uri=create(URIError);n.create=create;function create(e){FormattedError.displayName=e.displayName||e.name;return FormattedError;function FormattedError(t){if(t){t=i.apply(null,arguments)}return new e(t)}}},,function(e,t,r){"use strict";if(typeof process==="undefined"||process.type==="renderer"||process.browser===true||process.__nwjs){e.exports=r(470)}else{e.exports=r(970)}},function(e,t,r){var i=r(20);var n=r(491);e.exports=expandTop;var a="\0SLASH"+Math.random()+"\0";var u="\0OPEN"+Math.random()+"\0";var s="\0CLOSE"+Math.random()+"\0";var o="\0COMMA"+Math.random()+"\0";var l="\0PERIOD"+Math.random()+"\0";function numeric(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function escapeBraces(e){return e.split("\\\\").join(a).split("\\{").join(u).split("\\}").join(s).split("\\,").join(o).split("\\.").join(l)}function unescapeBraces(e){return e.split(a).join("\\").split(u).join("{").split(s).join("}").split(o).join(",").split(l).join(".")}function parseCommaParts(e){if(!e)return[""];var t=[];var r=n("{","}",e);if(!r)return e.split(",");var i=r.pre;var a=r.body;var u=r.post;var s=i.split(",");s[s.length-1]+="{"+a+"}";var o=parseCommaParts(u);if(u.length){s[s.length-1]+=o.shift();s.push.apply(s,o)}t.push.apply(t,s);return t}function expandTop(e){if(!e)return[];if(e.substr(0,2)==="{}"){e="\\{\\}"+e.substr(2)}return expand(escapeBraces(e),true).map(unescapeBraces)}function identity(e){return e}function embrace(e){return"{"+e+"}"}function isPadded(e){return/^-?0\d/.test(e)}function lte(e,t){return e<=t}function gte(e,t){return e>=t}function expand(e,t){var r=[];var a=n("{","}",e);if(!a||/\$$/.test(a.pre))return[e];var u=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(a.body);var o=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(a.body);var l=u||o;var f=a.body.indexOf(",")>=0;if(!l&&!f){if(a.post.match(/,.*\}/)){e=a.pre+"{"+a.body+s+a.post;return expand(e)}return[e]}var c;if(l){c=a.body.split(/\.\./)}else{c=parseCommaParts(a.body);if(c.length===1){c=expand(c[0],false).map(embrace);if(c.length===1){var h=a.post.length?expand(a.post,false):[""];return h.map(function(e){return a.pre+c[0]+e})}}}var p=a.pre;var h=a.post.length?expand(a.post,false):[""];var v;if(l){var d=numeric(c[0]);var D=numeric(c[1]);var m=Math.max(c[0].length,c[1].length);var g=c.length==3?Math.abs(numeric(c[2])):1;var E=lte;var A=D0){var b=new Array(x+1).join("0");if(y<0)w="-"+b+w.slice(1);else w=b+w}}}v.push(w)}}else{v=i(c,function(e){return expand(e,false)})}for(var F=0;F>5===6)return 2;else if(e>>4===14)return 3;else if(e>>3===30)return 4;return e>>6===2?-1:-2}function utf8CheckIncomplete(e,t,r){var i=t.length-1;if(i=0){if(n>0)e.lastNeed=n-1;return n}if(--i=0){if(n>0)e.lastNeed=n-2;return n}if(--i=0){if(n>0){if(n===2)n=0;else e.lastNeed=n-3}return n}return 0}function utf8CheckExtraBytes(e,t,r){if((t[0]&192)!==128){e.lastNeed=0;return"�"}if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128){e.lastNeed=1;return"�"}if(e.lastNeed>2&&t.length>2){if((t[2]&192)!==128){e.lastNeed=2;return"�"}}}}function utf8FillLast(e){var t=this.lastTotal-this.lastNeed;var r=utf8CheckExtraBytes(this,e,t);if(r!==undefined)return r;if(this.lastNeed<=e.length){e.copy(this.lastChar,t,0,this.lastNeed);return this.lastChar.toString(this.encoding,0,this.lastTotal)}e.copy(this.lastChar,t,0,e.length);this.lastNeed-=e.length}function utf8Text(e,t){var r=utf8CheckIncomplete(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var i=e.length-(r-this.lastNeed);e.copy(this.lastChar,0,i);return e.toString("utf8",t,i)}function utf8End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed)return t+"�";return t}function utf16Text(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319){this.lastNeed=2;this.lastTotal=4;this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1];return r.slice(0,-1)}}return r}this.lastNeed=1;this.lastTotal=2;this.lastChar[0]=e[e.length-1];return e.toString("utf16le",t,e.length-1)}function utf16End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function base64Text(e,t){var r=(e.length-t)%3;if(r===0)return e.toString("base64",t);this.lastNeed=3-r;this.lastTotal=3;if(r===1){this.lastChar[0]=e[e.length-1]}else{this.lastChar[0]=e[e.length-2];this.lastChar[1]=e[e.length-1]}return e.toString("base64",t,e.length-r)}function base64End(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed)return t+this.lastChar.toString("base64",0,3-this.lastNeed);return t}function simpleWrite(e){return e.toString(this.encoding)}function simpleEnd(e){return e&&e.length?this.write(e):""}},,,,function(e,t,r){"use strict";var i=r(186);e.exports=VMessage;function VMessagePrototype(){}VMessagePrototype.prototype=Error.prototype;VMessage.prototype=new VMessagePrototype;var n=VMessage.prototype;n.file="";n.name="";n.reason="";n.message="";n.stack="";n.fatal=null;n.column=null;n.line=null;function VMessage(e,t,r){var n;var a;var u;if(typeof t==="string"){r=t;t=null}n=parseOrigin(r);a=i(t)||"1:1";u={start:{line:null,column:null},end:{line:null,column:null}};if(t&&t.position){t=t.position}if(t){if(t.start){u=t;t=t.start}else{u.start=t}}if(e.stack){this.stack=e.stack;e=e.message}this.message=e;this.name=a;this.reason=e;this.line=t?t.line:null;this.column=t?t.column:null;this.location=u;this.source=n[0];this.ruleId=n[1]}function parseOrigin(e){var t=[null,null];var r;if(typeof e==="string"){r=e.indexOf(":");if(r===-1){t[1]=e}else{t[0]=e.slice(0,r);t[1]=e.slice(r+1)}}return t}},,function(e,t,r){"use strict";var i=r(171);var n=r(902);var a=r(49);e.exports=autoLink;autoLink.locator=a;autoLink.notInLink=true;var u="<";var s=">";var o="@";var l="/";var f="mailto:";var c=f.length;function autoLink(e,t,r){var a=this;var h="";var p=t.length;var v=0;var d="";var D=false;var m="";var g;var E;var A;var C;var y;if(t.charAt(0)!==u){return}v++;h=u;while(v0||H===x&&I.inLink||M&&H===B&&t.charAt(W+1)===B||M&&H===S&&(I.inTable||alignment(t,W))||H===b&&W>0&&W=e.expected){e.emit("done")}}},,function(e,t,r){"use strict";var i=r(897);var n=r(336);var a=r(860);e.exports=parse;parse.Parser=a;function parse(e){var t=this.data("settings");var r=i(a);r.prototype.options=n(r.prototype.options,t,e);this.Parser=r}},,,,,,function(e,t,r){"use strict";var i=r(176);e.exports=imageReference;var n="[";var a="]";var u="!";function imageReference(e){return u+n+(this.encode(e.alt,e)||"")+a+i(e)}},,,,,,function(e,t,r){"use strict";var i=r(495);e.exports=i("remark-lint:no-file-name-consecutive-dashes",noFileNameConsecutiveDashes);var n="Do not use consecutive dashes in a file name";function noFileNameConsecutiveDashes(e,t){if(t.stem&&/-{2,}/.test(t.stem)){t.message(n)}}},,,,,,function(e,t,r){"use strict";var i=r(495);var n=r(682);var a=r(839);var u=r(526);e.exports=i("remark-lint:fenced-code-marker",fencedCodeMarker);var s={"`":true,"~":true,null:true};function fencedCodeMarker(e,t,r){var i=String(t);r=typeof r==="string"&&r!=="consistent"?r:null;if(s[r]!==true){t.fail("Invalid fenced code marker `"+r+"`: use either `'consistent'`, `` '`' ``, or `'~'`")}n(e,"code",visitor);function visitor(e){var n;if(!u(e)){n=i.substr(a.start(e).offset,4).trimLeft().charAt(0);if(s[n]===true){if(r){if(n!==r){t.message("Fenced code should use "+r+" as a marker",e)}}else{r=n}}}}}},,function(e,t,r){"use strict";var i=r(727);e.exports=new i({include:[r(95)],implicit:[r(788),r(900)],explicit:[r(334),r(157),r(697),r(713)]})},,,function(e){"use strict";e.exports=thematicBreak;var t="\t";var r="\n";var i=" ";var n="*";var a="-";var u="_";var s=3;function thematicBreak(e,o,l){var f=-1;var c=o.length+1;var h="";var p;var v;var d;var D;while(++f=s&&(!p||p===r)){h+=D;if(l){return true}return e(h)({type:"thematicBreak"})}else{return}}}},,function(e){e.exports=require("assert")},,,,,,,function(e,t,r){"use strict";var i=r(774);var n=r(176);e.exports=linkReference;var a="[";var u="]";var s="shortcut";var o="collapsed";function linkReference(e){var t=this;var r=e.referenceType;var l=t.enterLinkReference(t,e);var f=t.all(e).join("");l();if(r===s||r===o){f=i(f,e.label||e.identifier)}return a+f+u+n(e)}},function(e){"use strict";e.exports=lineBreak;var t="\\";var r="\n";var i=" ";var n=t+r;var a=i+i+r;function lineBreak(){return this.options.commonmark?n:a}},function(e,t,r){"use strict";function _classCallCheck(e,t){if(!(e instanceof t)){throw new TypeError("Cannot call a class as a function")}}var i=r(945).Buffer;var n=r(64);function copyBuffer(e,t,r){e.copy(t,r)}e.exports=function(){function BufferList(){_classCallCheck(this,BufferList);this.head=null;this.tail=null;this.length=0}BufferList.prototype.push=function push(e){var t={data:e,next:null};if(this.length>0)this.tail.next=t;else this.head=t;this.tail=t;++this.length};BufferList.prototype.unshift=function unshift(e){var t={data:e,next:this.head};if(this.length===0)this.tail=t;this.head=t;++this.length};BufferList.prototype.shift=function shift(){if(this.length===0)return;var e=this.head.data;if(this.length===1)this.head=this.tail=null;else this.head=this.head.next;--this.length;return e};BufferList.prototype.clear=function clear(){this.head=this.tail=null;this.length=0};BufferList.prototype.join=function join(e){if(this.length===0)return"";var t=this.head;var r=""+t.data;while(t=t.next){r+=e+t.data}return r};BufferList.prototype.concat=function concat(e){if(this.length===0)return i.alloc(0);if(this.length===1)return this.head.data;var t=i.allocUnsafe(e>>>0);var r=this.head;var n=0;while(r){copyBuffer(r.data,t,n);n+=r.data.length;r=r.next}return t};return BufferList}();if(n&&n.inspect&&n.inspect.custom){e.exports.prototype[n.inspect.custom]=function(){var e=n.inspect({length:this.length});return this.constructor.name+" "+e}}},function(e,t,r){"use strict";var i=r(336);var n=r(109);var a=r(694);e.exports=setOptions;function setOptions(e){var t=this;var r=t.options;var u;var s;if(e==null){e={}}else if(typeof e==="object"){e=i(e)}else{throw new Error("Invalid value `"+e+"` for setting `options`")}for(u in a){s=e[u];if(s==null){s=r[u]}if(u!=="blocks"&&typeof s!=="boolean"||u==="blocks"&&typeof s!=="object"){throw new Error("Invalid value `"+s+"` for setting `options."+u+"`")}e[u]=s}t.options=e;t.escape=n(e);return t}},,function(e){var t=Array.prototype.slice;e.exports=co;function co(e){var r=isGeneratorFunction(e);return function(i){var n=this;var a=e;if(r){var u=t.call(arguments),s=u.length;var o=s&&"function"==typeof u[s-1];i=o?u.pop():error;a=e.apply(this,u)}else{i=i||error}next();function exit(e,t){setImmediate(function(){i.call(n,e,t)})}function next(e,r){var i;if(arguments.length>2)r=t.call(arguments,1);if(e){try{i=a.throw(e)}catch(e){return exit(e)}}if(!e){try{i=a.next(r)}catch(e){return exit(e)}}if(i.done)return exit(null,i.value);i.value=toThunk(i.value,n);if("function"==typeof i.value){var u=false;try{i.value.call(n,function(){if(u)return;u=true;next.apply(n,arguments)})}catch(e){setImmediate(function(){if(u)return;u=true;next(e)})}return}next(new TypeError("You may only yield a function, promise, generator, array, or object, "+'but the following was passed: "'+String(i.value)+'"'))}}}function toThunk(e,t){if(isGeneratorFunction(e)){return co(e.call(t))}if(isGenerator(e)){return co(e)}if(isPromise(e)){return promiseToThunk(e)}if("function"==typeof e){return e}if(isObject(e)||Array.isArray(e)){return objectToThunk.call(t,e)}return e}function objectToThunk(e){var t=this;var r=Array.isArray(e);return function(i){var n=Object.keys(e);var a=n.length;var u=r?new Array(a):new e.constructor;var s;if(!a){setImmediate(function(){i(null,u)});return}if(!r){for(var o=0;or){t.splice(0,r);process.nextTick(function(){RES.apply(null,i)})}else{delete n[e]}}})}function slice(e){var t=e.length;var r=[];for(var i=0;ii){o+=" with 1 space, not "+u;if(size(a)=48&&t<=57}},function(e,t,r){"use strict";var i=r(308);var n=r(197);var a=r(25);var u=r(908);var s=r(617);e.exports=encode;encode.escape=escape;var o={}.hasOwnProperty;var l=['"',"'","<",">","&","`"];var f=construct();var c=toExpression(l);var h=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;var p=/[\x01-\t\x0B\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g;function encode(e,t){var r=t||{};var i=r.subset;var n=i?toExpression(i):c;var a=r.escapeOnly;var u=r.omitOptionalSemicolons;e=e.replace(n,function(e,t,i){return one(e,i.charAt(t+1),r)});if(i||a){return e}return e.replace(h,replaceSurrogatePair).replace(p,replaceBmp);function replaceSurrogatePair(e,t,r){return toHexReference((e.charCodeAt(0)-55296)*1024+e.charCodeAt(1)-56320+65536,r.charAt(t+2),u)}function replaceBmp(e,t,i){return one(e,i.charAt(t+1),r)}}function escape(e){return encode(e,{escapeOnly:true,useNamedReferences:true})}function one(e,t,r){var i=r.useShortestReferences;var n=r.omitOptionalSemicolons;var a;var u;if((i||r.useNamedReferences)&&o.call(f,e)){a=toNamed(f[e],t,n,r.attribute)}if(i||!a){u=toHexReference(e.charCodeAt(0),t,n)}if(a&&(!i||a.length/i;function inlineHTML(e,t,r){var n=this;var h=t.length;var p;var v;if(t.charAt(0)!==u||h<3){return}p=t.charAt(1);if(!i(p)&&p!==s&&p!==o&&p!==l){return}v=t.match(a);if(!v){return}if(r){return true}v=v[0];if(!n.inLink&&f.test(v)){n.inLink=true}else if(n.inLink&&c.test(v)){n.inLink=false}return e(v)({type:"html",value:v})}},function(e){e.exports=["md","markdown","mdown","mkdn","mkd","mdwn","mkdown","ron"]},,,,function(e,t,r){"use strict";var i=r(495);e.exports=i("remark-lint:file-extension",fileExtension);function fileExtension(e,t,r){var i=t.extname;r=typeof r==="string"?r:"md";if(i&&i.slice(1)!==r){t.message("Invalid extension: use `"+r+"`")}}},function(e){"use strict";e.exports=factory;var t="\\";function factory(e,r){return unescape;function unescape(i){var n=0;var a=i.indexOf(t);var u=e[r];var s=[];var o;while(a!==-1){s.push(i.slice(n,a));n=a+1;o=i.charAt(n);if(!o||u.indexOf(o)===-1){s.push(t)}a=i.indexOf(t,n+1)}s.push(i.slice(n));return s.join("")}}},,,function(e,t,r){"use strict";const i=r(495);const n=r(682);e.exports=i("remark-lint:prohibited-strings",prohibitedStrings);function testProhibited(e,t){const r=new RegExp(`(\\.|@[a-z0-9/-]*)?(${e.no})(\\.\\w)?`,"g");let i=null;while(i=r.exec(t)){if(!i[1]&&!i[3]){return i[2]}}return false}function prohibitedStrings(e,t,r){n(e,"text",checkText);function checkText(e){const i=e.value;r.forEach(r=>{const n=testProhibited(r,i);if(n){t.message(`Use "${r.yes}" instead of "${n}"`,e)}})}}},,,,,function(e){"use strict";e.exports=hidden;function hidden(e){if(typeof e!=="string"){throw new Error("Expected string")}return e.charAt(0)==="."}},,,,,function(e,t,r){"use strict";var i=r(171);var n=r(426);e.exports=footnoteDefinition;footnoteDefinition.notInList=true;footnoteDefinition.notInBlock=true;var a="\\";var u="\n";var s="\t";var o=" ";var l="[";var f="]";var c="^";var h=":";var p=/^( {4}|\t)?/gm;function footnoteDefinition(e,t,r){var v=this;var d=v.offset;var D;var m;var g;var E;var A;var C;var y;var w;var x;var b;var F;var S;if(!v.options.footnotes){return}D=0;m=t.length;g="";E=e.now();A=E.line;while(D=31||typeof navigator!=="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function formatArgs(t){t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff);if(!this.useColors){return}var r="color: "+this.color;t.splice(1,0,r,"color: inherit");var i=0;var n=0;t[0].replace(/%[a-zA-Z%]/g,function(e){if(e==="%%"){return}i++;if(e==="%c"){n=i}});t.splice(n,0,r)}function log(){var e;return(typeof console==="undefined"?"undefined":_typeof(console))==="object"&&console.log&&(e=console).log.apply(e,arguments)}function save(e){try{if(e){t.storage.setItem("debug",e)}else{t.storage.removeItem("debug")}}catch(e){}}function load(){var e;try{e=t.storage.getItem("debug")}catch(e){}if(!e&&typeof process!=="undefined"&&"env"in process){e=process.env.DEBUG}return e}function localstorage(){try{return localStorage}catch(e){}}e.exports=r(772)(t);var i=e.exports.formatters;i.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}},,,,function(e,t,r){var i=r(159);var n=r(589).join;var a=r(281);var u="/etc";var s=process.platform==="win32";var o=s?process.env.USERPROFILE:process.env.HOME;e.exports=function(e,t,l,f){if("string"!==typeof e)throw new Error("rc(name): name *must* be string");if(!l)l=r(359)(process.argv.slice(2));t=("string"===typeof t?i.json(t):t)||{};f=f||i.parse;var c=i.env(e+"_");var h=[t];var p=[];function addConfigFile(e){if(p.indexOf(e)>=0)return;var t=i.file(e);if(t){h.push(f(t));p.push(e)}}if(!s)[n(u,e,"config"),n(u,e+"rc")].forEach(addConfigFile);if(o)[n(o,".config",e,"config"),n(o,".config",e),n(o,"."+e,"config"),n(o,"."+e+"rc")].forEach(addConfigFile);addConfigFile(i.find("."+e+"rc"));if(c.config)addConfigFile(c.config);if(l.config)addConfigFile(l.config);return a.apply(null,h.concat([c,l,p.length?{configs:p,config:p[p.length-1]}:undefined]))}},,,,,,,,,,function(e){e.exports={name:"remark",version:"10.0.1",description:"Markdown processor powered by plugins",license:"MIT",keywords:["markdown","abstract","syntax","tree","ast","parse","stringify","process"],homepage:"https://remark.js.org",repository:"https://github.com/remarkjs/remark/tree/master/packages/remark",bugs:"https://github.com/remarkjs/remark/issues",author:"Titus Wormer (https://wooorm.com)",contributors:["Titus Wormer (https://wooorm.com)"],files:["index.js"],dependencies:{"remark-parse":"^6.0.0","remark-stringify":"^6.0.0",unified:"^7.0.0"},devDependencies:{tape:"^4.9.1"},scripts:{test:"tape test.js"},xo:false,_resolved:"https://registry.npmjs.org/remark/-/remark-10.0.1.tgz",_integrity:"sha512-E6lMuoLIy2TyiokHprMjcWNJ5UxfGQjaMSMhV+f4idM625UjjK4j798+gPs5mfjzDE6vL0oFKVeZM6gZVSVrzQ==",_from:"remark@10.0.1"}},function(e){e.exports=require("events")},,function(e,t,r){e.exports=globSync;globSync.GlobSync=GlobSync;var i=r(66);var n=r(129);var a=r(620);var u=a.Minimatch;var s=r(327).Glob;var o=r(64);var l=r(589);var f=r(393);var c=r(969);var h=r(922);var p=h.alphasort;var v=h.alphasorti;var d=h.setopts;var D=h.ownProp;var m=h.childrenIgnored;var g=h.isIgnored;function globSync(e,t){if(typeof t==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");return new GlobSync(e,t).found}function GlobSync(e,t){if(!e)throw new Error("must provide pattern");if(typeof t==="function"||arguments.length===3)throw new TypeError("callback provided to sync glob\n"+"See: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof GlobSync))return new GlobSync(e,t);d(this,e,t);if(this.noprocess)return this;var r=this.minimatch.set.length;this.matches=new Array(r);for(var i=0;ithis.maxLength)return false;if(!this.stat&&D(this.cache,t)){var n=this.cache[t];if(Array.isArray(n))n="DIR";if(!r||n==="DIR")return n;if(r&&n==="FILE")return false}var a;var u=this.statCache[t];if(!u){var s;try{s=i.lstatSync(t)}catch(e){if(e&&(e.code==="ENOENT"||e.code==="ENOTDIR")){this.statCache[t]=false;return false}}if(s&&s.isSymbolicLink()){try{u=i.statSync(t)}catch(e){u=s}}else{u=s}}this.statCache[t]=u;var n=true;if(u)n=u.isDirectory()?"DIR":"FILE";this.cache[t]=this.cache[t]||n;if(r&&n==="FILE")return false;return n};GlobSync.prototype._mark=function(e){return h.mark(this,e)};GlobSync.prototype._makeAbs=function(e){return h.makeAbs(this,e)}},,,,function(e){"use strict";e.exports=balanced;function balanced(e,t,r){if(e instanceof RegExp)e=maybeMatch(e,r);if(t instanceof RegExp)t=maybeMatch(t,r);var i=range(e,t,r);return i&&{start:i[0],end:i[1],pre:r.slice(0,i[0]),body:r.slice(i[0]+e.length,i[1]),post:r.slice(i[1]+t.length)}}function maybeMatch(e,t){var r=t.match(e);return r?r[0]:null}balanced.range=range;function range(e,t,r){var i,n,a,u,s;var o=r.indexOf(e);var l=r.indexOf(t,o+1);var f=o;if(o>=0&&l>0){i=[];a=r.length;while(f>=0&&!s){if(f==o){i.push(f);o=r.indexOf(e,f+1)}else if(i.length==1){s=[i.pop(),l]}else{n=i.pop();if(n=0?o:l}if(i.length){s=[a,u]}}return s}},,,,function(e,t,r){"use strict";var i=r(659);e.exports=factory;function factory(e,t){var r=e.split(":");var n=r[0];var a=r[1];var u=i(t);if(!a){a=n;n=null}attacher.displayName=e;return attacher;function attacher(e){var t=coerce(a,e);var r=t[0];var i=t[1];var s=r===2;return r?transformer:undefined;function transformer(e,t,r){var o=t.messages.length;u(e,t,i,done);function done(e){var i=t.messages;var u;if(e&&i.indexOf(e)===-1){try{t.fail(e)}catch(e){}}while(o2){throw new Error("Invalid severity `"+n+"` for `"+e+"`, "+"expected 0, 1, or 2")}i[0]=n;return i}},,,,,,,function(e,t,r){"use strict";e.exports=PassThrough;var i=r(955);var n=r(683);n.inherits=r(780);n.inherits(PassThrough,i);function PassThrough(e){if(!(this instanceof PassThrough))return new PassThrough(e);i.call(this,e)}PassThrough.prototype._transform=function(e,t,r){r(null,e)}},function(e,t,r){"use strict";var i=r(353);var n=r(320);e.exports=n;var a=n.prototype;a.message=message;a.info=info;a.fail=fail;a.warn=message;function message(e,t,r){var n=this.path;var a=new i(e,t,r);if(n){a.name=n+":"+a.name;a.file=n}a.fatal=false;this.messages.push(a);return a}function fail(){var e=this.message.apply(this,arguments);e.fatal=true;throw e}function info(){var e=this.message.apply(this,arguments);e.fatal=null;return e}},,,,function(e,t,r){e.exports=r(64).deprecate},,,,function(e){"use strict";e.exports=locate;function locate(e,t){var r=e.indexOf("**",t);var i=e.indexOf("__",t);if(i===-1){return r}if(r===-1){return i}return ii&&e[c+1]!==" ";c=a}}else if(!isPrintable(u)){return j}h=h&&isPlainSafe(u)}o=o||l&&(a-c-1>i&&e[c+1]!==" ")}if(!s&&!o){return h&&!n(e)?I:M}if(r>9&&needIndentIndicator(e)){return j}return o?R:L}function writeScalar(e,t,r,i){e.dump=function(){if(t.length===0){return"''"}if(!e.noCompatMode&&T.indexOf(t)!==-1){return"'"+t+"'"}var a=e.indent*Math.max(1,r);var u=e.lineWidth===-1?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-a);var s=i||e.flowLevel>-1&&r>=e.flowLevel;function testAmbiguity(t){return testImplicitResolving(e,t)}switch(chooseScalarStyle(t,s,e.indent,u,testAmbiguity)){case I:return t;case M:return"'"+t.replace(/'/g,"''")+"'";case L:return"|"+blockHeader(t,e.indent)+dropEndingNewline(indentString(t,a));case R:return">"+blockHeader(t,e.indent)+dropEndingNewline(indentString(foldString(t,u),a));case j:return'"'+escapeString(t,u)+'"';default:throw new n("impossible error: invalid scalar style")}}()}function blockHeader(e,t){var r=needIndentIndicator(e)?String(t):"";var i=e[e.length-1]==="\n";var n=i&&(e[e.length-2]==="\n"||e==="\n");var a=n?"+":i?"":"-";return r+a+"\n"}function dropEndingNewline(e){return e[e.length-1]==="\n"?e.slice(0,-1):e}function foldString(e,t){var r=/(\n+)([^\n]*)/g;var i=function(){var i=e.indexOf("\n");i=i!==-1?i:e.length;r.lastIndex=i;return foldLine(e.slice(0,i),t)}();var n=e[0]==="\n"||e[0]===" ";var a;var u;while(u=r.exec(e)){var s=u[1],o=u[2];a=o[0]===" ";i+=s+(!n&&!a&&o!==""?"\n":"")+foldLine(o,t);n=a}return i}function foldLine(e,t){if(e===""||e[0]===" ")return e;var r=/ [^ ]/g;var i;var n=0,a,u=0,s=0;var o="";while(i=r.exec(e)){s=i.index;if(s-n>t){a=u>n?u:s;o+="\n"+e.slice(n,a);n=a+1}u=s}o+="\n";if(e.length-n>t&&u>n){o+=e.slice(n,u)+"\n"+e.slice(u+1)}else{o+=e.slice(n)}return o.slice(1)}function escapeString(e){var t="";var r,i;var n;for(var a=0;a=55296&&r<=56319){i=e.charCodeAt(a+1);if(i>=56320&&i<=57343){t+=encodeHex((r-55296)*1024+i-56320+65536);a++;continue}}n=P[r];t+=!n&&isPrintable(r)?e[a]:n||encodeHex(r)}return t}function writeFlowSequence(e,t,r){var i="",n=e.tag,a,u;for(a=0,u=r.length;a1024)f+="? ";f+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" ");if(!writeNode(e,t,l,false,false)){continue}f+=e.dump;i+=f}e.tag=n;e.dump="{"+i+"}"}function writeBlockMapping(e,t,r,i){var a="",u=e.tag,s=Object.keys(r),o,l,c,h,p,v;if(e.sortKeys===true){s.sort()}else if(typeof e.sortKeys==="function"){s.sort(e.sortKeys)}else if(e.sortKeys){throw new n("sortKeys must be a boolean or a function")}for(o=0,l=s.length;o1024;if(p){if(e.dump&&f===e.dump.charCodeAt(0)){v+="?"}else{v+="? "}}v+=e.dump;if(p){v+=generateNextLine(e,t)}if(!writeNode(e,t+1,h,true,p)){continue}if(e.dump&&f===e.dump.charCodeAt(0)){v+=":"}else{v+=": "}v+=e.dump;a+=v}e.tag=u;e.dump=a||"{}"}function detectType(e,t,r){var i,a,u,l,f,c;a=r?e.explicitTypes:e.implicitTypes;for(u=0,l=a.length;u tag resolver accepts not "'+c+'" style')}e.dump=i}return true}}return false}function writeNode(e,t,r,i,a,u){e.tag=null;e.dump=r;if(!detectType(e,r,false)){detectType(e,r,true)}var o=s.call(e.dump);if(i){i=e.flowLevel<0||e.flowLevel>t}var l=o==="[object Object]"||o==="[object Array]",f,c;if(l){f=e.duplicates.indexOf(r);c=f!==-1}if(e.tag!==null&&e.tag!=="?"||c||e.indent!==2&&t>0){a=false}if(c&&e.usedDuplicates[f]){e.dump="*ref_"+f}else{if(l&&c&&!e.usedDuplicates[f]){e.usedDuplicates[f]=true}if(o==="[object Object]"){if(i&&Object.keys(e.dump).length!==0){writeBlockMapping(e,t,e.dump,a);if(c){e.dump="&ref_"+f+e.dump}}else{writeFlowMapping(e,t,e.dump);if(c){e.dump="&ref_"+f+" "+e.dump}}}else if(o==="[object Array]"){var h=e.noArrayIndent&&t>0?t-1:t;if(i&&e.dump.length!==0){writeBlockSequence(e,h,e.dump,a);if(c){e.dump="&ref_"+f+e.dump}}else{writeFlowSequence(e,h,e.dump);if(c){e.dump="&ref_"+f+" "+e.dump}}}else if(o==="[object String]"){if(e.tag!=="?"){writeScalar(e,e.dump,t,u)}}else{if(e.skipInvalid)return false;throw new n("unacceptable kind of an object to dump "+o)}if(e.tag!==null&&e.tag!=="?"){e.dump="!<"+e.tag+"> "+e.dump}}return true}function getDuplicateReferences(e,t){var r=[],i=[],n,a;inspectNode(e,r,i);for(n=0,a=i.length;n=e.length){if(t)t[u]=e;return r(null,e)}o.lastIndex=c;var i=o.exec(e);v=h;h+=i[0];p=v+i[1];c=o.lastIndex;if(f[p]||t&&t[p]===p){return process.nextTick(LOOP)}if(t&&Object.prototype.hasOwnProperty.call(t,p)){return gotResolvedLink(t[p])}return a.lstat(p,gotStat)}function gotStat(e,i){if(e)return r(e);if(!i.isSymbolicLink()){f[p]=true;if(t)t[p]=p;return process.nextTick(LOOP)}if(!n){var u=i.dev.toString(32)+":"+i.ino.toString(32);if(s.hasOwnProperty(u)){return gotTarget(null,s[u],p)}}a.stat(p,function(e){if(e)return r(e);a.readlink(p,function(e,t){if(!n)s[u]=t;gotTarget(e,t)})})}function gotTarget(e,n,a){if(e)return r(e);var u=i.resolve(v,n);if(t)t[a]=u;gotResolvedLink(u)}function gotResolvedLink(t){e=i.resolve(t,e.slice(c));start()}}},,function(e){e.exports=[{long:"help",description:"output usage information",short:"h",type:"boolean",default:false},{long:"version",description:"output version number",short:"v",type:"boolean",default:false},{long:"output",description:"specify output location",short:"o",value:"[path]"},{long:"rc-path",description:"specify configuration file",short:"r",type:"string",value:""},{long:"ignore-path",description:"specify ignore file",short:"i",type:"string",value:""},{long:"setting",description:"specify settings",short:"s",type:"string",value:""},{long:"ext",description:"specify extensions",short:"e",type:"string",value:""},{long:"use",description:"use plugins",short:"u",type:"string",value:""},{long:"watch",description:"watch for changes and reprocess",short:"w",type:"boolean",default:false},{long:"quiet",description:"output only warnings and errors",short:"q",type:"boolean",default:false},{long:"silent",description:"output only errors",short:"S",type:"boolean",default:false},{long:"frail",description:"exit with 1 on warnings",short:"f",type:"boolean",default:false},{long:"tree",description:"specify input and output as syntax tree",short:"t",type:"boolean",default:false},{long:"report",description:"specify reporter",type:"string",value:""},{long:"file-path",description:"specify path to process as",type:"string",value:""},{long:"tree-in",description:"specify input as syntax tree",type:"boolean"},{long:"tree-out",description:"output syntax tree",type:"boolean"},{long:"inspect",description:"output formatted syntax tree",type:"boolean"},{long:"stdout",description:"specify writing to stdout",type:"boolean",truelike:true},{long:"color",description:"specify color in report",type:"boolean",default:true},{long:"config",description:"search for configuration files",type:"boolean",default:true},{long:"ignore",description:"search for ignore files",type:"boolean",default:true}]},,,,function(e,t,r){"use strict";var i=r(495);var n=r(682);var a=r(839);var u=r(526);e.exports=i("remark-lint:hard-break-spaces",hardBreakSpaces);var s="Use two spaces for hard line breaks";function hardBreakSpaces(e,t){var r=String(t);n(e,"break",visitor);function visitor(e){var i;if(!u(e)){i=r.slice(a.start(e).offset,a.end(e).offset).split("\n",1)[0].replace(/\r$/,"");if(i.length>2){t.message(s,e)}}}}},,,,function(e,t,r){"use strict";var i=r(171);e.exports=table;var n="\t";var a="\n";var u=" ";var s="-";var o=":";var l="\\";var f="`";var c="|";var h=1;var p=2;var v="left";var d="center";var D="right";function table(e,t,r){var m=this;var g;var E;var A;var C;var y;var w;var x;var b;var F;var S;var B;var k;var O;var P;var T;var I;var M;var L;var R;var j;var U;var N;var J;var z;if(!m.options.gfm){return}g=0;L=0;w=t.length+1;x=[];while(gN){if(L1){if(F){C+=b.slice(0,b.length-1);b=b.charAt(b.length-1)}else{C+=b;b=""}}I=e.now();e(C)({type:"tableCell",children:m.tokenizeInline(k,I)},y)}e(b+F);b="";k=""}}else{if(b){k+=b;b=""}k+=F;if(F===l&&g!==w-2){k+=R.charAt(g+1);g++}if(F===f){P=1;while(R.charAt(g+1)===F){k+=F;g++;P++}if(!T){T=P}else if(P>=T){T=0}}}O=false;g++}if(!M){e(a+E)}}return U}},function(e,t,r){"use strict";var i=r(211);function resolveJavascriptRegExp(e){if(e===null)return false;if(e.length===0)return false;var t=e,r=/\/([gim]*)$/.exec(e),i="";if(t[0]==="/"){if(r)i=r[1];if(i.length>3)return false;if(t[t.length-i.length-1]!=="/")return false}return true}function constructJavascriptRegExp(e){var t=e,r=/\/([gim]*)$/.exec(e),i="";if(t[0]==="/"){if(r)i=r[1];t=t.slice(1,t.length-i.length-1)}return new RegExp(t,i)}function representJavascriptRegExp(e){var t="/"+e.source+"/";if(e.global)t+="g";if(e.multiline)t+="m";if(e.ignoreCase)t+="i";return t}function isRegExp(e){return Object.prototype.toString.call(e)==="[object RegExp]"}e.exports=new i("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:resolveJavascriptRegExp,construct:constructJavascriptRegExp,predicate:isRegExp,represent:representJavascriptRegExp})},,,,,,,,,function(e){"use strict";e.exports=markdownTable;var t=/\./;var r=/\.[^.]*$/;var i="l";var n="r";var a="c";var u=".";var s="";var o=[i,n,a,u,s];var l=3;var f=":";var c="-";var h="|";var p=" ";var v="\n";function markdownTable(e,r){var d=r||{};var D=d.delimiter;var m=d.start;var g=d.end;var E=d.align;var A=d.stringLength||lengthNoop;var C=0;var y=-1;var w=e.length;var x=[];var b;var F;var S;var B;var k;var O;var P;var T;var I;var M;var L;var R;E=E?E.concat():[];if(D===null||D===undefined){D=p+h+p}if(m===null||m===undefined){m=h+p}if(g===null||g===undefined){g=p+h}while(++yC){C=B.length}while(++Ox[O]){x[O]=P}}}if(typeof E==="string"){E=pad(C,E).split("")}O=-1;while(++Ox[O]){x[O]=T}}}y=-1;while(++yl?M:l}else{M=x[O]}b=E[O];I=b===n||b===s?c:f;I+=pad(M-2,c);I+=b!==i&&b!==s?f:c;F[O]=I}S.splice(1,0,F.join(D))}return m+S.join(g+v+m)+g}function stringify(e){return e===null||e===undefined?"":String(e)}function lengthNoop(e){return String(e).length}function pad(e,t){return new Array(e+1).join(t||p)}function dotindex(e){var t=r.exec(e);return t?t.index+1:e.length}},,,,,function(e,t,r){e.exports=r(688)},,,,,function(e,t,r){"use strict";var i=r(12);e.exports=Writable;function WriteReq(e,t,r){this.chunk=e;this.encoding=t;this.callback=r;this.next=null}function CorkedRequest(e){var t=this;this.next=null;this.entry=null;this.finish=function(){onCorkedFinish(t,e)}}var n=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:i.nextTick;var a;Writable.WritableState=WritableState;var u=r(683);u.inherits=r(780);var s={deprecate:r(507)};var o=r(569);var l=r(945).Buffer;var f=global.Uint8Array||function(){};function _uint8ArrayToBuffer(e){return l.from(e)}function _isUint8Array(e){return l.isBuffer(e)||e instanceof f}var c=r(972);u.inherits(Writable,o);function nop(){}function WritableState(e,t){a=a||r(98);e=e||{};var i=t instanceof a;this.objectMode=!!e.objectMode;if(i)this.objectMode=this.objectMode||!!e.writableObjectMode;var n=e.highWaterMark;var u=e.writableHighWaterMark;var s=this.objectMode?16:16*1024;if(n||n===0)this.highWaterMark=n;else if(i&&(u||u===0))this.highWaterMark=u;else this.highWaterMark=s;this.highWaterMark=Math.floor(this.highWaterMark);this.finalCalled=false;this.needDrain=false;this.ending=false;this.ended=false;this.finished=false;this.destroyed=false;var o=e.decodeStrings===false;this.decodeStrings=!o;this.defaultEncoding=e.defaultEncoding||"utf8";this.length=0;this.writing=false;this.corked=0;this.sync=true;this.bufferProcessing=false;this.onwrite=function(e){onwrite(t,e)};this.writecb=null;this.writelen=0;this.bufferedRequest=null;this.lastBufferedRequest=null;this.pendingcb=0;this.prefinished=false;this.errorEmitted=false;this.bufferedRequestCount=0;this.corkedRequestsFree=new CorkedRequest(this)}WritableState.prototype.getBuffer=function getBuffer(){var e=this.bufferedRequest;var t=[];while(e){t.push(e);e=e.next}return t};(function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:s.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer "+"instead.","DEP0003")})}catch(e){}})();var h;if(typeof Symbol==="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]==="function"){h=Function.prototype[Symbol.hasInstance];Object.defineProperty(Writable,Symbol.hasInstance,{value:function(e){if(h.call(this,e))return true;if(this!==Writable)return false;return e&&e._writableState instanceof WritableState}})}else{h=function(e){return e instanceof this}}function Writable(e){a=a||r(98);if(!h.call(Writable,this)&&!(this instanceof a)){return new Writable(e)}this._writableState=new WritableState(e,this);this.writable=true;if(e){if(typeof e.write==="function")this._write=e.write;if(typeof e.writev==="function")this._writev=e.writev;if(typeof e.destroy==="function")this._destroy=e.destroy;if(typeof e.final==="function")this._final=e.final}o.call(this)}Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))};function writeAfterEnd(e,t){var r=new Error("write after end");e.emit("error",r);i.nextTick(t,r)}function validChunk(e,t,r,n){var a=true;var u=false;if(r===null){u=new TypeError("May not write null values to stream")}else if(typeof r!=="string"&&r!==undefined&&!t.objectMode){u=new TypeError("Invalid non-string/buffer chunk")}if(u){e.emit("error",u);i.nextTick(n,u);a=false}return a}Writable.prototype.write=function(e,t,r){var i=this._writableState;var n=false;var a=!i.objectMode&&_isUint8Array(e);if(a&&!l.isBuffer(e)){e=_uint8ArrayToBuffer(e)}if(typeof t==="function"){r=t;t=null}if(a)t="buffer";else if(!t)t=i.defaultEncoding;if(typeof r!=="function")r=nop;if(i.ended)writeAfterEnd(this,r);else if(a||validChunk(this,i,e,r)){i.pendingcb++;n=writeOrBuffer(this,i,a,e,t,r)}return n};Writable.prototype.cork=function(){var e=this._writableState;e.corked++};Writable.prototype.uncork=function(){var e=this._writableState;if(e.corked){e.corked--;if(!e.writing&&!e.corked&&!e.finished&&!e.bufferProcessing&&e.bufferedRequest)clearBuffer(this,e)}};Writable.prototype.setDefaultEncoding=function setDefaultEncoding(e){if(typeof e==="string")e=e.toLowerCase();if(!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((e+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+e);this._writableState.defaultEncoding=e;return this};function decodeChunk(e,t,r){if(!e.objectMode&&e.decodeStrings!==false&&typeof t==="string"){t=l.from(t,r)}return t}Object.defineProperty(Writable.prototype,"writableHighWaterMark",{enumerable:false,get:function(){return this._writableState.highWaterMark}});function writeOrBuffer(e,t,r,i,n,a){if(!r){var u=decodeChunk(t,i,n);if(i!==u){r=true;n="buffer";i=u}}var s=t.objectMode?1:i.length;t.length+=s;var o=t.length=b){b=0}}else if(E===v){g++;B+=t.charAt(g)}else if((!b||y)&&E===p){L++}else if((!b||y)&&E===d){if(L){L--}else{if(!A){while(gn){return false}}return check(e,i,r)&&check(e,m)}function isKnown(e,t,r){var i=o?o.indexOf(e)!==-1:true;if(!i){h.warn("Unknown rule: cannot "+t+" `'"+e+"'`",r)}return i}function getState(e){var t=e?D[e]:m;if(t&&t.length!==0){return t[t.length-1].state}if(!e){return!l}if(l){return f.indexOf(e)!==-1}return c.indexOf(e)===-1}function toggle(e,t,r){var i=r?D[r]:m;var n;var a;if(!i){i=[];D[r]=i}a=getState(r);n=t;if(n!==a){i.push({state:n,position:e})}if(!r){for(r in D){toggle(e,t,r)}}}function check(e,t,r){var i=t&&t.length;var n=-1;var a;while(--i>n){a=t[i];if(!a.position||!a.position.line||!a.position.column){continue}if(a.position.line=e){return}if(u){s.push({start:n,end:e});u=false}n=e}}},,function(e){"use strict";e.exports=orderedItems;var t="\n";var r=".";var i=t+t;function orderedItems(e){var n=this;var a=n.visitors.listItem;var u=n.options.incrementListMarker;var s=[];var o=e.start;var l=e.children;var f=l.length;var c=-1;var h;o=o==null?1:o;while(++c1;var p=c;var v=t.path;if(!u(p)){a("Not copying");return i()}p=l(e.cwd,p);a("Copying `%s`",v);s(p,onstatfile);function onstatfile(e,t){if(e){if(e.code!=="ENOENT"||c.charAt(c.length-1)===n.sep){return i(new Error("Cannot read output directory. Error:\n"+e.message))}s(o(p),onstatparent)}else{done(t.isDirectory())}}function onstatparent(e){if(e){i(new Error("Cannot read parent directory. Error:\n"+e.message))}else{done(false)}}function done(e){if(!e&&h){return i(new Error("Cannot write multiple files to single output: "+p))}t[e?"dirname":"path"]=f(t.cwd,p);a("Copying document from %s to %s",v,t.path);i()}}},function(e,t){"use strict";var r="[a-zA-Z_:][a-zA-Z0-9:._-]*";var i="[^\"'=<>`\\u0000-\\u0020]+";var n="'[^']*'";var a='"[^"]*"';var u="(?:"+i+"|"+n+"|"+a+")";var s="(?:\\s+"+r+"(?:\\s*=\\s*"+u+")?)";var o="<[A-Za-z][A-Za-z0-9\\-]*"+s+"*\\s*\\/?>";var l="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>";var f="\x3c!----\x3e|\x3c!--(?:-?[^>-])(?:-?[^-])*--\x3e";var c="<[?].*?[?]>";var h="]*>";var p="";t.openCloseTag=new RegExp("^(?:"+o+"|"+l+")");t.tag=new RegExp("^(?:"+o+"|"+l+"|"+f+"|"+c+"|"+h+"|"+p+")")},,function(e){e.exports=require("path")},,,,function(e,t,r){"use strict";var i=r(36);var n=r(171);var a=r(511);e.exports=strong;strong.locator=a;var u="\\";var s="*";var o="_";function strong(e,t,r){var a=this;var l=0;var f=t.charAt(l);var c;var h;var p;var v;var d;var D;var m;if(f!==s&&f!==o||t.charAt(++l)!==f){return}h=a.options.pedantic;p=f;d=p+p;D=t.length;l++;v="";f="";if(h&&n(t.charAt(l))){return}while(l0){return parse(e)}else if(r==="number"&&isNaN(e)===false){return t.long?fmtLong(e):fmtShort(e)}throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function parse(e){e=String(e);if(e.length>100){return}var s=/^((?:\d+)?\-?\d?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(!s){return}var o=parseFloat(s[1]);var l=(s[2]||"ms").toLowerCase();switch(l){case"years":case"year":case"yrs":case"yr":case"y":return o*u;case"weeks":case"week":case"w":return o*a;case"days":case"day":case"d":return o*n;case"hours":case"hour":case"hrs":case"hr":case"h":return o*i;case"minutes":case"minute":case"mins":case"min":case"m":return o*r;case"seconds":case"second":case"secs":case"sec":case"s":return o*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:return undefined}}function fmtShort(e){var a=Math.abs(e);if(a>=n){return Math.round(e/n)+"d"}if(a>=i){return Math.round(e/i)+"h"}if(a>=r){return Math.round(e/r)+"m"}if(a>=t){return Math.round(e/t)+"s"}return e+"ms"}function fmtLong(e){var a=Math.abs(e);if(a>=n){return plural(e,a,n,"day")}if(a>=i){return plural(e,a,i,"hour")}if(a>=r){return plural(e,a,r,"minute")}if(a>=t){return plural(e,a,t,"second")}return e+" ms"}function plural(e,t,r,i){var n=t>=r*1.5;return Math.round(e/r)+" "+i+(n?"s":"")}},function(e,t){t.parse=t.decode=decode;t.stringify=t.encode=encode;t.safe=safe;t.unsafe=unsafe;var r=typeof process!=="undefined"&&process.platform==="win32"?"\r\n":"\n";function encode(e,t){var i=[];var n="";if(typeof t==="string"){t={section:t,whitespace:false}}else{t=t||{};t.whitespace=t.whitespace===true}var a=t.whitespace?" = ":"=";Object.keys(e).forEach(function(t,u,s){var o=e[t];if(o&&Array.isArray(o)){o.forEach(function(e){n+=safe(t+"[]")+a+safe(e)+"\n"})}else if(o&&typeof o==="object"){i.push(t)}else{n+=safe(t)+a+safe(o)+r}});if(t.section&&n.length){n="["+safe(t.section)+"]"+r+n}i.forEach(function(i,a,u){var s=dotSplit(i).join("\\.");var o=(t.section?t.section+".":"")+s;var l=encode(e[i],{section:o,whitespace:t.whitespace});if(n.length&&l.length){n+=r}n+=l});return n}function dotSplit(e){return e.replace(/\1/g,"LITERAL\\1LITERAL").replace(/\\\./g,"").split(/\./).map(function(e){return e.replace(/\1/g,"\\.").replace(/\2LITERAL\\1LITERAL\2/g,"")})}function decode(e){var t={};var r=t;var i=null;var n=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i;var a=e.split(/[\r\n]+/g);a.forEach(function(e,a,u){if(!e||e.match(/^\s*[;#]/))return;var s=e.match(n);if(!s)return;if(s[1]!==undefined){i=unsafe(s[1]);r=t[i]=t[i]||{};return}var o=unsafe(s[2]);var l=s[3]?unsafe(s[4]):true;switch(l){case"true":case"false":case"null":l=JSON.parse(l)}if(o.length>2&&o.slice(-2)==="[]"){o=o.substring(0,o.length-2);if(!r[o]){r[o]=[]}else if(!Array.isArray(r[o])){r[o]=[r[o]]}}if(Array.isArray(r[o])){r[o].push(l)}else{r[o]=l}});Object.keys(t).filter(function(e,r,i){if(!t[e]||typeof t[e]!=="object"||Array.isArray(t[e])){return false}var n=dotSplit(e);var a=t;var u=n.pop();var s=u.replace(/\\\./g,".");n.forEach(function(e,t,r){if(!a[e]||typeof a[e]!=="object")a[e]={};a=a[e]});if(a===t&&s===u){return false}a[s]=t[e];return true}).forEach(function(e,r,i){delete t[e]});return t}function isQuoted(e){return e.charAt(0)==='"'&&e.slice(-1)==='"'||e.charAt(0)==="'"&&e.slice(-1)==="'"}function safe(e){return typeof e!=="string"||e.match(/[=\r\n]/)||e.match(/^\[/)||e.length>1&&isQuoted(e)||e!==e.trim()?JSON.stringify(e):e.replace(/;/g,"\\;").replace(/#/g,"\\#")}function unsafe(e,t){e=(e||"").trim();if(isQuoted(e)){if(e.charAt(0)==="'"){e=e.substr(1,e.length-2)}try{e=JSON.parse(e)}catch(e){}}else{var r=false;var i="";for(var n=0,a=e.length;n="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||i.ID_Start.test(e)},isIdContinueChar(e){return e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="‌"||e==="‍"||i.ID_Continue.test(e)},isDigit(e){return/[0-9]/.test(e)},isHexDigit(e){return/[0-9A-Fa-f]/.test(e)}}},,function(e){"use strict";e.exports=(e=>{if(Number.isNaN(e)){return false}if(e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141)){return true}return false})},,,,,,,,,function(e,t,r){"use strict";e.exports.plugins=[r(889),r(424),r(725),r(137),r(339),r(767),r(550),r(550),[r(890),"space"],r(164),r(223),r(127),r(816),r(667),r(380),r(911),r(33),r(758),r(9),r(273),r(926),r(121),r(55),r(72),r(522),r(842),r(467),r(314),[r(166),2],[r(112),{checked:"x",unchecked:" "}],[r(301),"fenced"],[r(386),"`"],[r(451),"md"],[r(284),1],[r(675),"atx"],[r(455),[{no:"End-Of-Life",yes:"End-of-Life"},{no:"End-of-life",yes:"End-of-Life"},{no:"Github",yes:"GitHub"},{no:"Javascript",yes:"JavaScript"},{no:"Node.JS",yes:"Node.js"},{no:"Note that",yes:""},{no:"note that",yes:""},{no:"Rfc",yes:"RFC"},{no:"[Rr][Ff][Cc]\\d+",yes:"RFC "},{no:"rfc",yes:"RFC"},{no:"v8",yes:"V8"}]],[r(108),"*"],[r(435),"padded"]]},,function(e){e.exports=["cent","copy","divide","gt","lt","not","para","times"]},,function(e,t,r){"use strict";e.exports=r(447)},function(e,t,r){e.exports=minimatch;minimatch.Minimatch=Minimatch;var i={sep:"/"};try{i=r(589)}catch(e){}var n=minimatch.GLOBSTAR=Minimatch.GLOBSTAR={};var a=r(348);var u={"!":{open:"(?:(?!(?:",close:"))[^/]*?)"},"?":{open:"(?:",close:")?"},"+":{open:"(?:",close:")+"},"*":{open:"(?:",close:")*"},"@":{open:"(?:",close:")"}};var s="[^/]";var o=s+"*?";var l="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?";var f="(?:(?!(?:\\/|^)\\.).)*?";var c=charSet("().*{}+?[]^$\\!");function charSet(e){return e.split("").reduce(function(e,t){e[t]=true;return e},{})}var h=/\/+/;minimatch.filter=filter;function filter(e,t){t=t||{};return function(r,i,n){return minimatch(r,e,t)}}function ext(e,t){e=e||{};t=t||{};var r={};Object.keys(t).forEach(function(e){r[e]=t[e]});Object.keys(e).forEach(function(t){r[t]=e[t]});return r}minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return minimatch;var t=minimatch;var r=function minimatch(r,i,n){return t.minimatch(r,i,ext(e,n))};r.Minimatch=function Minimatch(r,i){return new t.Minimatch(r,ext(e,i))};return r};Minimatch.defaults=function(e){if(!e||!Object.keys(e).length)return Minimatch;return minimatch.defaults(e).Minimatch};function minimatch(e,t,r){if(typeof t!=="string"){throw new TypeError("glob pattern string required")}if(!r)r={};if(!r.nocomment&&t.charAt(0)==="#"){return false}if(t.trim()==="")return e==="";return new Minimatch(t,r).match(e)}function Minimatch(e,t){if(!(this instanceof Minimatch)){return new Minimatch(e,t)}if(typeof e!=="string"){throw new TypeError("glob pattern string required")}if(!t)t={};e=e.trim();if(i.sep!=="/"){e=e.split(i.sep).join("/")}this.options=t;this.set=[];this.pattern=e;this.regexp=null;this.negate=false;this.comment=false;this.empty=false;this.make()}Minimatch.prototype.debug=function(){};Minimatch.prototype.make=make;function make(){if(this._made)return;var e=this.pattern;var t=this.options;if(!t.nocomment&&e.charAt(0)==="#"){this.comment=true;return}if(!e){this.empty=true;return}this.parseNegate();var r=this.globSet=this.braceExpand();if(t.debug)this.debug=console.error;this.debug(this.pattern,r);r=this.globParts=r.map(function(e){return e.split(h)});this.debug(this.pattern,r);r=r.map(function(e,t,r){return e.map(this.parse,this)},this);this.debug(this.pattern,r);r=r.filter(function(e){return e.indexOf(false)===-1});this.debug(this.pattern,r);this.set=r}Minimatch.prototype.parseNegate=parseNegate;function parseNegate(){var e=this.pattern;var t=false;var r=this.options;var i=0;if(r.nonegate)return;for(var n=0,a=e.length;n1024*64){throw new TypeError("pattern is too long")}var r=this.options;if(!r.noglobstar&&e==="**")return n;if(e==="")return"";var i="";var a=!!r.nocase;var l=false;var f=[];var h=[];var v;var d=false;var D=-1;var m=-1;var g=e.charAt(0)==="."?"":r.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)";var E=this;function clearStateChar(){if(v){switch(v){case"*":i+=o;a=true;break;case"?":i+=s;a=true;break;default:i+="\\"+v;break}E.debug("clearStateChar %j %j",v,i);v=false}}for(var A=0,C=e.length,y;A-1;k--){var O=h[k];var P=i.slice(0,O.reStart);var T=i.slice(O.reStart,O.reEnd-8);var I=i.slice(O.reEnd-8,O.reEnd);var M=i.slice(O.reEnd);I+=M;var L=P.split("(").length-1;var R=M;for(A=0;A=0;u--){a=e[u];if(a)break}for(u=0;u>> no match, partial?",e,c,t,h);if(c===s)return true}return false}var v;if(typeof l==="string"){if(i.nocase){v=f.toLowerCase()===l.toLowerCase()}else{v=f===l}this.debug("string match",l,f,v)}else{v=f.match(l);this.debug("pattern match",l,f,v)}if(!v)return false}if(a===s&&u===o){return true}else if(a===s){return r}else if(u===o){var d=a===s-1&&e[a]==="";return d}throw new Error("wtf?")};function globUnescape(e){return e.replace(/\\(.)/g,"$1")}function regExpEscape(e){return e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}},,,function(e){"use strict";e.exports=function(e){if(typeof e!=="function"){throw new TypeError("Expected a function")}return e.displayName||e.name||(/function ([^\(]+)?\(/.exec(e.toString())||[])[1]||null}},function(e){"use strict";e.exports=(()=>{const e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|");return new RegExp(e,"g")})},,,function(e,t,r){"use strict";var i=r(304);var n=r(948);e.exports=fileSystem;function fileSystem(e,t,r){var a=e.files;if(a.length===0){r()}else{n(a,{cwd:t.cwd,extensions:t.extensions,silentlyIgnore:t.silentlyIgnore,ignore:new i({cwd:t.cwd,detectIgnore:t.detectIgnore,ignoreName:t.ignoreName,ignorePath:t.ignorePath})},onfound)}function onfound(i,n){var a=n.files;a.sort(sortAlphabetically);a.forEach(markAsGiven);e.files=a;if(t.out===null||t.out===undefined){t.out=n.oneFileMode}r(i)}function markAsGiven(e){e.data.unifiedEngineGiven=true}function sortAlphabetically(e,t){return e.pathi){i=r}}else{r=1}n=a+1;a=e.indexOf(t,n)}return i}},function(e,t,r){"use strict";var i=r(347)("unified-engine:file-pipeline:stdout");var n=r(928);e.exports=stdout;function stdout(e,t,r,a){if(!t.data.unifiedEngineGiven){i("Ignoring programmatically added file");a()}else if(n(t).fatal||e.output||!e.out){i("Ignoring writing to `streamOut`");a()}else{i("Writing document to `streamOut`");e.streamOut.write(t.toString(),a)}}},,,function(e,t,r){"use strict";var i=r(56);var n=r(503);e.exports=toVFile;function toVFile(e){if(typeof e==="string"||i(e)){e={path:String(e)}}return n(e)}},,,,function(e){(function webpackUniversalModuleDefinition(t,r){if(true)e.exports=r();else{}})(this,function(){return function(e){var t={};function __webpack_require__(r){if(t[r])return t[r].exports;var i=t[r]={exports:{},id:r,loaded:false};e[r].call(i.exports,i,i.exports,__webpack_require__);i.loaded=true;return i.exports}__webpack_require__.m=e;__webpack_require__.c=t;__webpack_require__.p="";return __webpack_require__(0)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});var i=r(1);var n=r(3);var a=r(8);var u=r(15);function parse(e,t,r){var u=null;var s=function(e,t){if(r){r(e,t)}if(u){u.visit(e,t)}};var o=typeof r==="function"?s:null;var l=false;if(t){l=typeof t.comment==="boolean"&&t.comment;var f=typeof t.attachComment==="boolean"&&t.attachComment;if(l||f){u=new i.CommentHandler;u.attach=f;t.comment=true;o=s}}var c=false;if(t&&typeof t.sourceType==="string"){c=t.sourceType==="module"}var h;if(t&&typeof t.jsx==="boolean"&&t.jsx){h=new n.JSXParser(e,t,o)}else{h=new a.Parser(e,t,o)}var p=c?h.parseModule():h.parseScript();var v=p;if(l&&u){v.comments=u.comments}if(h.config.tokens){v.tokens=h.tokens}if(h.config.tolerant){v.errors=h.errorHandler.errors}return v}t.parse=parse;function parseModule(e,t,r){var i=t||{};i.sourceType="module";return parse(e,i,r)}t.parseModule=parseModule;function parseScript(e,t,r){var i=t||{};i.sourceType="script";return parse(e,i,r)}t.parseScript=parseScript;function tokenize(e,t,r){var i=new u.Tokenizer(e,t);var n;n=[];try{while(true){var a=i.getNextToken();if(!a){break}if(r){a=r(a)}n.push(a)}}catch(e){i.errorHandler.tolerate(e)}if(i.errorHandler.tolerant){n.errors=i.errors()}return n}t.tokenize=tokenize;var s=r(2);t.Syntax=s.Syntax;t.version="4.0.1"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});var i=r(2);var n=function(){function CommentHandler(){this.attach=false;this.comments=[];this.stack=[];this.leading=[];this.trailing=[]}CommentHandler.prototype.insertInnerComments=function(e,t){if(e.type===i.Syntax.BlockStatement&&e.body.length===0){var r=[];for(var n=this.leading.length-1;n>=0;--n){var a=this.leading[n];if(t.end.offset>=a.start){r.unshift(a.comment);this.leading.splice(n,1);this.trailing.splice(n,1)}}if(r.length){e.innerComments=r}}};CommentHandler.prototype.findTrailingComments=function(e){var t=[];if(this.trailing.length>0){for(var r=this.trailing.length-1;r>=0;--r){var i=this.trailing[r];if(i.start>=e.end.offset){t.unshift(i.comment)}}this.trailing.length=0;return t}var n=this.stack[this.stack.length-1];if(n&&n.node.trailingComments){var a=n.node.trailingComments[0];if(a&&a.range[0]>=e.end.offset){t=n.node.trailingComments;delete n.node.trailingComments}}return t};CommentHandler.prototype.findLeadingComments=function(e){var t=[];var r;while(this.stack.length>0){var i=this.stack[this.stack.length-1];if(i&&i.start>=e.start.offset){r=i.node;this.stack.pop()}else{break}}if(r){var n=r.leadingComments?r.leadingComments.length:0;for(var a=n-1;a>=0;--a){var u=r.leadingComments[a];if(u.range[1]<=e.start.offset){t.unshift(u);r.leadingComments.splice(a,1)}}if(r.leadingComments&&r.leadingComments.length===0){delete r.leadingComments}return t}for(var a=this.leading.length-1;a>=0;--a){var i=this.leading[a];if(i.start<=e.start.offset){t.unshift(i.comment);this.leading.splice(a,1)}}return t};CommentHandler.prototype.visitNode=function(e,t){if(e.type===i.Syntax.Program&&e.body.length>0){return}this.insertInnerComments(e,t);var r=this.findTrailingComments(t);var n=this.findLeadingComments(t);if(n.length>0){e.leadingComments=n}if(r.length>0){e.trailingComments=r}this.stack.push({node:e,start:t.start.offset})};CommentHandler.prototype.visitComment=function(e,t){var r=e.type[0]==="L"?"Line":"Block";var i={type:r,value:e.value};if(e.range){i.range=e.range}if(e.loc){i.loc=e.loc}this.comments.push(i);if(this.attach){var n={comment:{type:r,value:e.value,range:[t.start.offset,t.end.offset]},start:t.start.offset};if(e.loc){n.comment.loc=e.loc}e.type=r;this.leading.push(n);this.trailing.push(n)}};CommentHandler.prototype.visit=function(e,t){if(e.type==="LineComment"){this.visitComment(e,t)}else if(e.type==="BlockComment"){this.visitComment(e,t)}else if(this.attach){this.visitNode(e,t)}};return CommentHandler}();t.CommentHandler=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Syntax={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForOfStatement:"ForOfStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"}},function(e,t,r){"use strict";var i=this&&this.__extends||function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)if(t.hasOwnProperty(r))e[r]=t[r]};return function(t,r){e(t,r);function __(){this.constructor=t}t.prototype=r===null?Object.create(r):(__.prototype=r.prototype,new __)}}();Object.defineProperty(t,"__esModule",{value:true});var n=r(4);var a=r(5);var u=r(6);var s=r(7);var o=r(8);var l=r(13);var f=r(14);l.TokenName[100]="JSXIdentifier";l.TokenName[101]="JSXText";function getQualifiedElementName(e){var t;switch(e.type){case u.JSXSyntax.JSXIdentifier:var r=e;t=r.name;break;case u.JSXSyntax.JSXNamespacedName:var i=e;t=getQualifiedElementName(i.namespace)+":"+getQualifiedElementName(i.name);break;case u.JSXSyntax.JSXMemberExpression:var n=e;t=getQualifiedElementName(n.object)+"."+getQualifiedElementName(n.property);break;default:break}return t}var c=function(e){i(JSXParser,e);function JSXParser(t,r,i){return e.call(this,t,r,i)||this}JSXParser.prototype.parsePrimaryExpression=function(){return this.match("<")?this.parseJSXRoot():e.prototype.parsePrimaryExpression.call(this)};JSXParser.prototype.startJSX=function(){this.scanner.index=this.startMarker.index;this.scanner.lineNumber=this.startMarker.line;this.scanner.lineStart=this.startMarker.index-this.startMarker.column};JSXParser.prototype.finishJSX=function(){this.nextToken()};JSXParser.prototype.reenterJSX=function(){this.startJSX();this.expectJSX("}");if(this.config.tokens){this.tokens.pop()}};JSXParser.prototype.createJSXNode=function(){this.collectComments();return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}};JSXParser.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}};JSXParser.prototype.scanXHTMLEntity=function(e){var t="&";var r=true;var i=false;var a=false;var u=false;while(!this.scanner.eof()&&r&&!i){var s=this.scanner.source[this.scanner.index];if(s===e){break}i=s===";";t+=s;++this.scanner.index;if(!i){switch(t.length){case 2:a=s==="#";break;case 3:if(a){u=s==="x";r=u||n.Character.isDecimalDigit(s.charCodeAt(0));a=a&&!u}break;default:r=r&&!(a&&!n.Character.isDecimalDigit(s.charCodeAt(0)));r=r&&!(u&&!n.Character.isHexDigit(s.charCodeAt(0)));break}}}if(r&&i&&t.length>2){var o=t.substr(1,t.length-2);if(a&&o.length>1){t=String.fromCharCode(parseInt(o.substr(1),10))}else if(u&&o.length>2){t=String.fromCharCode(parseInt("0"+o.substr(1),16))}else if(!a&&!u&&f.XHTMLEntities[o]){t=f.XHTMLEntities[o]}}return t};JSXParser.prototype.lexJSX=function(){var e=this.scanner.source.charCodeAt(this.scanner.index);if(e===60||e===62||e===47||e===58||e===61||e===123||e===125){var t=this.scanner.source[this.scanner.index++];return{type:7,value:t,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index}}if(e===34||e===39){var r=this.scanner.index;var i=this.scanner.source[this.scanner.index++];var a="";while(!this.scanner.eof()){var u=this.scanner.source[this.scanner.index++];if(u===i){break}else if(u==="&"){a+=this.scanXHTMLEntity(i)}else{a+=u}}return{type:8,value:a,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:r,end:this.scanner.index}}if(e===46){var s=this.scanner.source.charCodeAt(this.scanner.index+1);var o=this.scanner.source.charCodeAt(this.scanner.index+2);var t=s===46&&o===46?"...":".";var r=this.scanner.index;this.scanner.index+=t.length;return{type:7,value:t,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:r,end:this.scanner.index}}if(e===96){return{type:10,value:"",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index}}if(n.Character.isIdentifierStart(e)&&e!==92){var r=this.scanner.index;++this.scanner.index;while(!this.scanner.eof()){var u=this.scanner.source.charCodeAt(this.scanner.index);if(n.Character.isIdentifierPart(u)&&u!==92){++this.scanner.index}else if(u===45){++this.scanner.index}else{break}}var l=this.scanner.source.slice(r,this.scanner.index);return{type:100,value:l,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:r,end:this.scanner.index}}return this.scanner.lex()};JSXParser.prototype.nextJSXToken=function(){this.collectComments();this.startMarker.index=this.scanner.index;this.startMarker.line=this.scanner.lineNumber;this.startMarker.column=this.scanner.index-this.scanner.lineStart;var e=this.lexJSX();this.lastMarker.index=this.scanner.index;this.lastMarker.line=this.scanner.lineNumber;this.lastMarker.column=this.scanner.index-this.scanner.lineStart;if(this.config.tokens){this.tokens.push(this.convertToken(e))}return e};JSXParser.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index;this.startMarker.line=this.scanner.lineNumber;this.startMarker.column=this.scanner.index-this.scanner.lineStart;var e=this.scanner.index;var t="";while(!this.scanner.eof()){var r=this.scanner.source[this.scanner.index];if(r==="{"||r==="<"){break}++this.scanner.index;t+=r;if(n.Character.isLineTerminator(r.charCodeAt(0))){++this.scanner.lineNumber;if(r==="\r"&&this.scanner.source[this.scanner.index]==="\n"){++this.scanner.index}this.scanner.lineStart=this.scanner.index}}this.lastMarker.index=this.scanner.index;this.lastMarker.line=this.scanner.lineNumber;this.lastMarker.column=this.scanner.index-this.scanner.lineStart;var i={type:101,value:t,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:e,end:this.scanner.index};if(t.length>0&&this.config.tokens){this.tokens.push(this.convertToken(i))}return i};JSXParser.prototype.peekJSXToken=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.lexJSX();this.scanner.restoreState(e);return t};JSXParser.prototype.expectJSX=function(e){var t=this.nextJSXToken();if(t.type!==7||t.value!==e){this.throwUnexpectedToken(t)}};JSXParser.prototype.matchJSX=function(e){var t=this.peekJSXToken();return t.type===7&&t.value===e};JSXParser.prototype.parseJSXIdentifier=function(){var e=this.createJSXNode();var t=this.nextJSXToken();if(t.type!==100){this.throwUnexpectedToken(t)}return this.finalize(e,new a.JSXIdentifier(t.value))};JSXParser.prototype.parseJSXElementName=function(){var e=this.createJSXNode();var t=this.parseJSXIdentifier();if(this.matchJSX(":")){var r=t;this.expectJSX(":");var i=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXNamespacedName(r,i))}else if(this.matchJSX(".")){while(this.matchJSX(".")){var n=t;this.expectJSX(".");var u=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXMemberExpression(n,u))}}return t};JSXParser.prototype.parseJSXAttributeName=function(){var e=this.createJSXNode();var t;var r=this.parseJSXIdentifier();if(this.matchJSX(":")){var i=r;this.expectJSX(":");var n=this.parseJSXIdentifier();t=this.finalize(e,new a.JSXNamespacedName(i,n))}else{t=r}return t};JSXParser.prototype.parseJSXStringLiteralAttribute=function(){var e=this.createJSXNode();var t=this.nextJSXToken();if(t.type!==8){this.throwUnexpectedToken(t)}var r=this.getTokenRaw(t);return this.finalize(e,new s.Literal(t.value,r))};JSXParser.prototype.parseJSXExpressionAttribute=function(){var e=this.createJSXNode();this.expectJSX("{");this.finishJSX();if(this.match("}")){this.tolerateError("JSX attributes must only be assigned a non-empty expression")}var t=this.parseAssignmentExpression();this.reenterJSX();return this.finalize(e,new a.JSXExpressionContainer(t))};JSXParser.prototype.parseJSXAttributeValue=function(){return this.matchJSX("{")?this.parseJSXExpressionAttribute():this.matchJSX("<")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()};JSXParser.prototype.parseJSXNameValueAttribute=function(){var e=this.createJSXNode();var t=this.parseJSXAttributeName();var r=null;if(this.matchJSX("=")){this.expectJSX("=");r=this.parseJSXAttributeValue()}return this.finalize(e,new a.JSXAttribute(t,r))};JSXParser.prototype.parseJSXSpreadAttribute=function(){var e=this.createJSXNode();this.expectJSX("{");this.expectJSX("...");this.finishJSX();var t=this.parseAssignmentExpression();this.reenterJSX();return this.finalize(e,new a.JSXSpreadAttribute(t))};JSXParser.prototype.parseJSXAttributes=function(){var e=[];while(!this.matchJSX("/")&&!this.matchJSX(">")){var t=this.matchJSX("{")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();e.push(t)}return e};JSXParser.prototype.parseJSXOpeningElement=function(){var e=this.createJSXNode();this.expectJSX("<");var t=this.parseJSXElementName();var r=this.parseJSXAttributes();var i=this.matchJSX("/");if(i){this.expectJSX("/")}this.expectJSX(">");return this.finalize(e,new a.JSXOpeningElement(t,i,r))};JSXParser.prototype.parseJSXBoundaryElement=function(){var e=this.createJSXNode();this.expectJSX("<");if(this.matchJSX("/")){this.expectJSX("/");var t=this.parseJSXElementName();this.expectJSX(">");return this.finalize(e,new a.JSXClosingElement(t))}var r=this.parseJSXElementName();var i=this.parseJSXAttributes();var n=this.matchJSX("/");if(n){this.expectJSX("/")}this.expectJSX(">");return this.finalize(e,new a.JSXOpeningElement(r,n,i))};JSXParser.prototype.parseJSXEmptyExpression=function(){var e=this.createJSXChildNode();this.collectComments();this.lastMarker.index=this.scanner.index;this.lastMarker.line=this.scanner.lineNumber;this.lastMarker.column=this.scanner.index-this.scanner.lineStart;return this.finalize(e,new a.JSXEmptyExpression)};JSXParser.prototype.parseJSXExpressionContainer=function(){var e=this.createJSXNode();this.expectJSX("{");var t;if(this.matchJSX("}")){t=this.parseJSXEmptyExpression();this.expectJSX("}")}else{this.finishJSX();t=this.parseAssignmentExpression();this.reenterJSX()}return this.finalize(e,new a.JSXExpressionContainer(t))};JSXParser.prototype.parseJSXChildren=function(){var e=[];while(!this.scanner.eof()){var t=this.createJSXChildNode();var r=this.nextJSXText();if(r.start0){var s=this.finalize(e.node,new a.JSXElement(e.opening,e.children,e.closing));e=t[t.length-1];e.children.push(s);t.pop()}else{break}}}return e};JSXParser.prototype.parseJSXElement=function(){var e=this.createJSXNode();var t=this.parseJSXOpeningElement();var r=[];var i=null;if(!t.selfClosing){var n=this.parseComplexJSXElement({node:e,opening:t,closing:i,children:r});r=n.children;i=n.closing}return this.finalize(e,new a.JSXElement(t,r,i))};JSXParser.prototype.parseJSXRoot=function(){if(this.config.tokens){this.tokens.pop()}this.startJSX();var e=this.parseJSXElement();this.finishJSX();return e};JSXParser.prototype.isStartOfExpression=function(){return e.prototype.isStartOfExpression.call(this)||this.match("<")};return JSXParser}(o.Parser);t.JSXParser=c},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};t.Character={fromCodePoint:function(e){return e<65536?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10))+String.fromCharCode(56320+(e-65536&1023))},isWhiteSpace:function(e){return e===32||e===9||e===11||e===12||e===160||e>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0},isLineTerminator:function(e){return e===10||e===13||e===8232||e===8233},isIdentifierStart:function(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e===92||e>=128&&r.NonAsciiIdentifierStart.test(t.Character.fromCodePoint(e))},isIdentifierPart:function(e){return e===36||e===95||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===92||e>=128&&r.NonAsciiIdentifierPart.test(t.Character.fromCodePoint(e))},isDecimalDigit:function(e){return e>=48&&e<=57},isHexDigit:function(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102},isOctalDigit:function(e){return e>=48&&e<=55}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});var i=r(6);var n=function(){function JSXClosingElement(e){this.type=i.JSXSyntax.JSXClosingElement;this.name=e}return JSXClosingElement}();t.JSXClosingElement=n;var a=function(){function JSXElement(e,t,r){this.type=i.JSXSyntax.JSXElement;this.openingElement=e;this.children=t;this.closingElement=r}return JSXElement}();t.JSXElement=a;var u=function(){function JSXEmptyExpression(){this.type=i.JSXSyntax.JSXEmptyExpression}return JSXEmptyExpression}();t.JSXEmptyExpression=u;var s=function(){function JSXExpressionContainer(e){this.type=i.JSXSyntax.JSXExpressionContainer;this.expression=e}return JSXExpressionContainer}();t.JSXExpressionContainer=s;var o=function(){function JSXIdentifier(e){this.type=i.JSXSyntax.JSXIdentifier;this.name=e}return JSXIdentifier}();t.JSXIdentifier=o;var l=function(){function JSXMemberExpression(e,t){this.type=i.JSXSyntax.JSXMemberExpression;this.object=e;this.property=t}return JSXMemberExpression}();t.JSXMemberExpression=l;var f=function(){function JSXAttribute(e,t){this.type=i.JSXSyntax.JSXAttribute;this.name=e;this.value=t}return JSXAttribute}();t.JSXAttribute=f;var c=function(){function JSXNamespacedName(e,t){this.type=i.JSXSyntax.JSXNamespacedName;this.namespace=e;this.name=t}return JSXNamespacedName}();t.JSXNamespacedName=c;var h=function(){function JSXOpeningElement(e,t,r){this.type=i.JSXSyntax.JSXOpeningElement;this.name=e;this.selfClosing=t;this.attributes=r}return JSXOpeningElement}();t.JSXOpeningElement=h;var p=function(){function JSXSpreadAttribute(e){this.type=i.JSXSyntax.JSXSpreadAttribute;this.argument=e}return JSXSpreadAttribute}();t.JSXSpreadAttribute=p;var v=function(){function JSXText(e,t){this.type=i.JSXSyntax.JSXText;this.value=e;this.raw=t}return JSXText}();t.JSXText=v},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.JSXSyntax={JSXAttribute:"JSXAttribute",JSXClosingElement:"JSXClosingElement",JSXElement:"JSXElement",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXIdentifier:"JSXIdentifier",JSXMemberExpression:"JSXMemberExpression",JSXNamespacedName:"JSXNamespacedName",JSXOpeningElement:"JSXOpeningElement",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});var i=r(2);var n=function(){function ArrayExpression(e){this.type=i.Syntax.ArrayExpression;this.elements=e}return ArrayExpression}();t.ArrayExpression=n;var a=function(){function ArrayPattern(e){this.type=i.Syntax.ArrayPattern;this.elements=e}return ArrayPattern}();t.ArrayPattern=a;var u=function(){function ArrowFunctionExpression(e,t,r){this.type=i.Syntax.ArrowFunctionExpression;this.id=null;this.params=e;this.body=t;this.generator=false;this.expression=r;this.async=false}return ArrowFunctionExpression}();t.ArrowFunctionExpression=u;var s=function(){function AssignmentExpression(e,t,r){this.type=i.Syntax.AssignmentExpression;this.operator=e;this.left=t;this.right=r}return AssignmentExpression}();t.AssignmentExpression=s;var o=function(){function AssignmentPattern(e,t){this.type=i.Syntax.AssignmentPattern;this.left=e;this.right=t}return AssignmentPattern}();t.AssignmentPattern=o;var l=function(){function AsyncArrowFunctionExpression(e,t,r){this.type=i.Syntax.ArrowFunctionExpression;this.id=null;this.params=e;this.body=t;this.generator=false;this.expression=r;this.async=true}return AsyncArrowFunctionExpression}();t.AsyncArrowFunctionExpression=l;var f=function(){function AsyncFunctionDeclaration(e,t,r){this.type=i.Syntax.FunctionDeclaration;this.id=e;this.params=t;this.body=r;this.generator=false;this.expression=false;this.async=true}return AsyncFunctionDeclaration}();t.AsyncFunctionDeclaration=f;var c=function(){function AsyncFunctionExpression(e,t,r){this.type=i.Syntax.FunctionExpression;this.id=e;this.params=t;this.body=r;this.generator=false;this.expression=false;this.async=true}return AsyncFunctionExpression}();t.AsyncFunctionExpression=c;var h=function(){function AwaitExpression(e){this.type=i.Syntax.AwaitExpression;this.argument=e}return AwaitExpression}();t.AwaitExpression=h;var p=function(){function BinaryExpression(e,t,r){var n=e==="||"||e==="&&";this.type=n?i.Syntax.LogicalExpression:i.Syntax.BinaryExpression;this.operator=e;this.left=t;this.right=r}return BinaryExpression}();t.BinaryExpression=p;var v=function(){function BlockStatement(e){this.type=i.Syntax.BlockStatement;this.body=e}return BlockStatement}();t.BlockStatement=v;var d=function(){function BreakStatement(e){this.type=i.Syntax.BreakStatement;this.label=e}return BreakStatement}();t.BreakStatement=d;var D=function(){function CallExpression(e,t){this.type=i.Syntax.CallExpression;this.callee=e;this.arguments=t}return CallExpression}();t.CallExpression=D;var m=function(){function CatchClause(e,t){this.type=i.Syntax.CatchClause;this.param=e;this.body=t}return CatchClause}();t.CatchClause=m;var g=function(){function ClassBody(e){this.type=i.Syntax.ClassBody;this.body=e}return ClassBody}();t.ClassBody=g;var E=function(){function ClassDeclaration(e,t,r){this.type=i.Syntax.ClassDeclaration;this.id=e;this.superClass=t;this.body=r}return ClassDeclaration}();t.ClassDeclaration=E;var A=function(){function ClassExpression(e,t,r){this.type=i.Syntax.ClassExpression;this.id=e;this.superClass=t;this.body=r}return ClassExpression}();t.ClassExpression=A;var C=function(){function ComputedMemberExpression(e,t){this.type=i.Syntax.MemberExpression;this.computed=true;this.object=e;this.property=t}return ComputedMemberExpression}();t.ComputedMemberExpression=C;var y=function(){function ConditionalExpression(e,t,r){this.type=i.Syntax.ConditionalExpression;this.test=e;this.consequent=t;this.alternate=r}return ConditionalExpression}();t.ConditionalExpression=y;var w=function(){function ContinueStatement(e){this.type=i.Syntax.ContinueStatement;this.label=e}return ContinueStatement}();t.ContinueStatement=w;var x=function(){function DebuggerStatement(){this.type=i.Syntax.DebuggerStatement}return DebuggerStatement}();t.DebuggerStatement=x;var b=function(){function Directive(e,t){this.type=i.Syntax.ExpressionStatement;this.expression=e;this.directive=t}return Directive}();t.Directive=b;var F=function(){function DoWhileStatement(e,t){this.type=i.Syntax.DoWhileStatement;this.body=e;this.test=t}return DoWhileStatement}();t.DoWhileStatement=F;var S=function(){function EmptyStatement(){this.type=i.Syntax.EmptyStatement}return EmptyStatement}();t.EmptyStatement=S;var B=function(){function ExportAllDeclaration(e){this.type=i.Syntax.ExportAllDeclaration;this.source=e}return ExportAllDeclaration}();t.ExportAllDeclaration=B;var k=function(){function ExportDefaultDeclaration(e){this.type=i.Syntax.ExportDefaultDeclaration;this.declaration=e}return ExportDefaultDeclaration}();t.ExportDefaultDeclaration=k;var O=function(){function ExportNamedDeclaration(e,t,r){this.type=i.Syntax.ExportNamedDeclaration;this.declaration=e;this.specifiers=t;this.source=r}return ExportNamedDeclaration}();t.ExportNamedDeclaration=O;var P=function(){function ExportSpecifier(e,t){this.type=i.Syntax.ExportSpecifier;this.exported=t;this.local=e}return ExportSpecifier}();t.ExportSpecifier=P;var T=function(){function ExpressionStatement(e){this.type=i.Syntax.ExpressionStatement;this.expression=e}return ExpressionStatement}();t.ExpressionStatement=T;var I=function(){function ForInStatement(e,t,r){this.type=i.Syntax.ForInStatement;this.left=e;this.right=t;this.body=r;this.each=false}return ForInStatement}();t.ForInStatement=I;var M=function(){function ForOfStatement(e,t,r){this.type=i.Syntax.ForOfStatement;this.left=e;this.right=t;this.body=r}return ForOfStatement}();t.ForOfStatement=M;var L=function(){function ForStatement(e,t,r,n){this.type=i.Syntax.ForStatement;this.init=e;this.test=t;this.update=r;this.body=n}return ForStatement}();t.ForStatement=L;var R=function(){function FunctionDeclaration(e,t,r,n){this.type=i.Syntax.FunctionDeclaration;this.id=e;this.params=t;this.body=r;this.generator=n;this.expression=false;this.async=false}return FunctionDeclaration}();t.FunctionDeclaration=R;var j=function(){function FunctionExpression(e,t,r,n){this.type=i.Syntax.FunctionExpression;this.id=e;this.params=t;this.body=r;this.generator=n;this.expression=false;this.async=false}return FunctionExpression}();t.FunctionExpression=j;var U=function(){function Identifier(e){this.type=i.Syntax.Identifier;this.name=e}return Identifier}();t.Identifier=U;var N=function(){function IfStatement(e,t,r){this.type=i.Syntax.IfStatement;this.test=e;this.consequent=t;this.alternate=r}return IfStatement}();t.IfStatement=N;var J=function(){function ImportDeclaration(e,t){this.type=i.Syntax.ImportDeclaration;this.specifiers=e;this.source=t}return ImportDeclaration}();t.ImportDeclaration=J;var z=function(){function ImportDefaultSpecifier(e){this.type=i.Syntax.ImportDefaultSpecifier;this.local=e}return ImportDefaultSpecifier}();t.ImportDefaultSpecifier=z;var X=function(){function ImportNamespaceSpecifier(e){this.type=i.Syntax.ImportNamespaceSpecifier;this.local=e}return ImportNamespaceSpecifier}();t.ImportNamespaceSpecifier=X;var G=function(){function ImportSpecifier(e,t){this.type=i.Syntax.ImportSpecifier;this.local=e;this.imported=t}return ImportSpecifier}();t.ImportSpecifier=G;var q=function(){function LabeledStatement(e,t){this.type=i.Syntax.LabeledStatement;this.label=e;this.body=t}return LabeledStatement}();t.LabeledStatement=q;var W=function(){function Literal(e,t){this.type=i.Syntax.Literal;this.value=e;this.raw=t}return Literal}();t.Literal=W;var _=function(){function MetaProperty(e,t){this.type=i.Syntax.MetaProperty;this.meta=e;this.property=t}return MetaProperty}();t.MetaProperty=_;var V=function(){function MethodDefinition(e,t,r,n,a){this.type=i.Syntax.MethodDefinition;this.key=e;this.computed=t;this.value=r;this.kind=n;this.static=a}return MethodDefinition}();t.MethodDefinition=V;var Y=function(){function Module(e){this.type=i.Syntax.Program;this.body=e;this.sourceType="module"}return Module}();t.Module=Y;var H=function(){function NewExpression(e,t){this.type=i.Syntax.NewExpression;this.callee=e;this.arguments=t}return NewExpression}();t.NewExpression=H;var $=function(){function ObjectExpression(e){this.type=i.Syntax.ObjectExpression;this.properties=e}return ObjectExpression}();t.ObjectExpression=$;var Z=function(){function ObjectPattern(e){this.type=i.Syntax.ObjectPattern;this.properties=e}return ObjectPattern}();t.ObjectPattern=Z;var Q=function(){function Property(e,t,r,n,a,u){this.type=i.Syntax.Property;this.key=t;this.computed=r;this.value=n;this.kind=e;this.method=a;this.shorthand=u}return Property}();t.Property=Q;var K=function(){function RegexLiteral(e,t,r,n){this.type=i.Syntax.Literal;this.value=e;this.raw=t;this.regex={pattern:r,flags:n}}return RegexLiteral}();t.RegexLiteral=K;var ee=function(){function RestElement(e){this.type=i.Syntax.RestElement;this.argument=e}return RestElement}();t.RestElement=ee;var te=function(){function ReturnStatement(e){this.type=i.Syntax.ReturnStatement;this.argument=e}return ReturnStatement}();t.ReturnStatement=te;var re=function(){function Script(e){this.type=i.Syntax.Program;this.body=e;this.sourceType="script"}return Script}();t.Script=re;var ie=function(){function SequenceExpression(e){this.type=i.Syntax.SequenceExpression;this.expressions=e}return SequenceExpression}();t.SequenceExpression=ie;var ne=function(){function SpreadElement(e){this.type=i.Syntax.SpreadElement;this.argument=e}return SpreadElement}();t.SpreadElement=ne;var ae=function(){function StaticMemberExpression(e,t){this.type=i.Syntax.MemberExpression;this.computed=false;this.object=e;this.property=t}return StaticMemberExpression}();t.StaticMemberExpression=ae;var ue=function(){function Super(){this.type=i.Syntax.Super}return Super}();t.Super=ue;var se=function(){function SwitchCase(e,t){this.type=i.Syntax.SwitchCase;this.test=e;this.consequent=t}return SwitchCase}();t.SwitchCase=se;var oe=function(){function SwitchStatement(e,t){this.type=i.Syntax.SwitchStatement;this.discriminant=e;this.cases=t}return SwitchStatement}();t.SwitchStatement=oe;var le=function(){function TaggedTemplateExpression(e,t){this.type=i.Syntax.TaggedTemplateExpression;this.tag=e;this.quasi=t}return TaggedTemplateExpression}();t.TaggedTemplateExpression=le;var fe=function(){function TemplateElement(e,t){this.type=i.Syntax.TemplateElement;this.value=e;this.tail=t}return TemplateElement}();t.TemplateElement=fe;var ce=function(){function TemplateLiteral(e,t){this.type=i.Syntax.TemplateLiteral;this.quasis=e;this.expressions=t}return TemplateLiteral}();t.TemplateLiteral=ce;var he=function(){function ThisExpression(){this.type=i.Syntax.ThisExpression}return ThisExpression}();t.ThisExpression=he;var pe=function(){function ThrowStatement(e){this.type=i.Syntax.ThrowStatement;this.argument=e}return ThrowStatement}();t.ThrowStatement=pe;var ve=function(){function TryStatement(e,t,r){this.type=i.Syntax.TryStatement;this.block=e;this.handler=t;this.finalizer=r}return TryStatement}();t.TryStatement=ve;var de=function(){function UnaryExpression(e,t){this.type=i.Syntax.UnaryExpression;this.operator=e;this.argument=t;this.prefix=true}return UnaryExpression}();t.UnaryExpression=de;var De=function(){function UpdateExpression(e,t,r){this.type=i.Syntax.UpdateExpression;this.operator=e;this.argument=t;this.prefix=r}return UpdateExpression}();t.UpdateExpression=De;var me=function(){function VariableDeclaration(e,t){this.type=i.Syntax.VariableDeclaration;this.declarations=e;this.kind=t}return VariableDeclaration}();t.VariableDeclaration=me;var ge=function(){function VariableDeclarator(e,t){this.type=i.Syntax.VariableDeclarator;this.id=e;this.init=t}return VariableDeclarator}();t.VariableDeclarator=ge;var Ee=function(){function WhileStatement(e,t){this.type=i.Syntax.WhileStatement;this.test=e;this.body=t}return WhileStatement}();t.WhileStatement=Ee;var Ae=function(){function WithStatement(e,t){this.type=i.Syntax.WithStatement;this.object=e;this.body=t}return WithStatement}();t.WithStatement=Ae;var Ce=function(){function YieldExpression(e,t){this.type=i.Syntax.YieldExpression;this.argument=e;this.delegate=t}return YieldExpression}();t.YieldExpression=Ce},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});var i=r(9);var n=r(10);var a=r(11);var u=r(7);var s=r(12);var o=r(2);var l=r(13);var f="ArrowParameterPlaceHolder";var c=function(){function Parser(e,t,r){if(t===void 0){t={}}this.config={range:typeof t.range==="boolean"&&t.range,loc:typeof t.loc==="boolean"&&t.loc,source:null,tokens:typeof t.tokens==="boolean"&&t.tokens,comment:typeof t.comment==="boolean"&&t.comment,tolerant:typeof t.tolerant==="boolean"&&t.tolerant};if(this.config.loc&&t.source&&t.source!==null){this.config.source=String(t.source)}this.delegate=r;this.errorHandler=new n.ErrorHandler;this.errorHandler.tolerant=this.config.tolerant;this.scanner=new s.Scanner(e,this.errorHandler);this.scanner.trackComment=this.config.comment;this.operatorPrecedence={")":0,";":0,",":0,"=":0,"]":0,"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":11,"/":11,"%":11};this.lookahead={type:2,value:"",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0};this.hasLineTerminator=false;this.context={isModule:false,await:false,allowIn:true,allowStrictDirective:true,allowYield:true,firstCoverInitializedNameError:null,isAssignmentTarget:false,isBindingElement:false,inFunctionBody:false,inIteration:false,inSwitch:false,labelSet:{},strict:false};this.tokens=[];this.startMarker={index:0,line:this.scanner.lineNumber,column:0};this.lastMarker={index:0,line:this.scanner.lineNumber,column:0};this.nextToken();this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}Parser.prototype.throwError=function(e){var t=[];for(var r=1;r0&&this.delegate){for(var t=0;t>="||e===">>>="||e==="&="||e==="^="||e==="|="};Parser.prototype.isolateCoverGrammar=function(e){var t=this.context.isBindingElement;var r=this.context.isAssignmentTarget;var i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=true;this.context.isAssignmentTarget=true;this.context.firstCoverInitializedNameError=null;var n=e.call(this);if(this.context.firstCoverInitializedNameError!==null){this.throwUnexpectedToken(this.context.firstCoverInitializedNameError)}this.context.isBindingElement=t;this.context.isAssignmentTarget=r;this.context.firstCoverInitializedNameError=i;return n};Parser.prototype.inheritCoverGrammar=function(e){var t=this.context.isBindingElement;var r=this.context.isAssignmentTarget;var i=this.context.firstCoverInitializedNameError;this.context.isBindingElement=true;this.context.isAssignmentTarget=true;this.context.firstCoverInitializedNameError=null;var n=e.call(this);this.context.isBindingElement=this.context.isBindingElement&&t;this.context.isAssignmentTarget=this.context.isAssignmentTarget&&r;this.context.firstCoverInitializedNameError=i||this.context.firstCoverInitializedNameError;return n};Parser.prototype.consumeSemicolon=function(){if(this.match(";")){this.nextToken()}else if(!this.hasLineTerminator){if(this.lookahead.type!==2&&!this.match("}")){this.throwUnexpectedToken(this.lookahead)}this.lastMarker.index=this.startMarker.index;this.lastMarker.line=this.startMarker.line;this.lastMarker.column=this.startMarker.column}};Parser.prototype.parsePrimaryExpression=function(){var e=this.createNode();var t;var r,i;switch(this.lookahead.type){case 3:if((this.context.isModule||this.context.await)&&this.lookahead.value==="await"){this.tolerateUnexpectedToken(this.lookahead)}t=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(e,new u.Identifier(this.nextToken().value));break;case 6:case 8:if(this.context.strict&&this.lookahead.octal){this.tolerateUnexpectedToken(this.lookahead,a.Messages.StrictOctalLiteral)}this.context.isAssignmentTarget=false;this.context.isBindingElement=false;r=this.nextToken();i=this.getTokenRaw(r);t=this.finalize(e,new u.Literal(r.value,i));break;case 1:this.context.isAssignmentTarget=false;this.context.isBindingElement=false;r=this.nextToken();i=this.getTokenRaw(r);t=this.finalize(e,new u.Literal(r.value==="true",i));break;case 5:this.context.isAssignmentTarget=false;this.context.isBindingElement=false;r=this.nextToken();i=this.getTokenRaw(r);t=this.finalize(e,new u.Literal(null,i));break;case 10:t=this.parseTemplateLiteral();break;case 7:switch(this.lookahead.value){case"(":this.context.isBindingElement=false;t=this.inheritCoverGrammar(this.parseGroupExpression);break;case"[":t=this.inheritCoverGrammar(this.parseArrayInitializer);break;case"{":t=this.inheritCoverGrammar(this.parseObjectInitializer);break;case"/":case"/=":this.context.isAssignmentTarget=false;this.context.isBindingElement=false;this.scanner.index=this.startMarker.index;r=this.nextRegexToken();i=this.getTokenRaw(r);t=this.finalize(e,new u.RegexLiteral(r.regex,i,r.pattern,r.flags));break;default:t=this.throwUnexpectedToken(this.nextToken())}break;case 4:if(!this.context.strict&&this.context.allowYield&&this.matchKeyword("yield")){t=this.parseIdentifierName()}else if(!this.context.strict&&this.matchKeyword("let")){t=this.finalize(e,new u.Identifier(this.nextToken().value))}else{this.context.isAssignmentTarget=false;this.context.isBindingElement=false;if(this.matchKeyword("function")){t=this.parseFunctionExpression()}else if(this.matchKeyword("this")){this.nextToken();t=this.finalize(e,new u.ThisExpression)}else if(this.matchKeyword("class")){t=this.parseClassExpression()}else{t=this.throwUnexpectedToken(this.nextToken())}}break;default:t=this.throwUnexpectedToken(this.nextToken())}return t};Parser.prototype.parseSpreadElement=function(){var e=this.createNode();this.expect("...");var t=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(e,new u.SpreadElement(t))};Parser.prototype.parseArrayInitializer=function(){var e=this.createNode();var t=[];this.expect("[");while(!this.match("]")){if(this.match(",")){this.nextToken();t.push(null)}else if(this.match("...")){var r=this.parseSpreadElement();if(!this.match("]")){this.context.isAssignmentTarget=false;this.context.isBindingElement=false;this.expect(",")}t.push(r)}else{t.push(this.inheritCoverGrammar(this.parseAssignmentExpression));if(!this.match("]")){this.expect(",")}}}this.expect("]");return this.finalize(e,new u.ArrayExpression(t))};Parser.prototype.parsePropertyMethod=function(e){this.context.isAssignmentTarget=false;this.context.isBindingElement=false;var t=this.context.strict;var r=this.context.allowStrictDirective;this.context.allowStrictDirective=e.simple;var i=this.isolateCoverGrammar(this.parseFunctionSourceElements);if(this.context.strict&&e.firstRestricted){this.tolerateUnexpectedToken(e.firstRestricted,e.message)}if(this.context.strict&&e.stricted){this.tolerateUnexpectedToken(e.stricted,e.message)}this.context.strict=t;this.context.allowStrictDirective=r;return i};Parser.prototype.parsePropertyMethodFunction=function(){var e=false;var t=this.createNode();var r=this.context.allowYield;this.context.allowYield=true;var i=this.parseFormalParameters();var n=this.parsePropertyMethod(i);this.context.allowYield=r;return this.finalize(t,new u.FunctionExpression(null,i.params,n,e))};Parser.prototype.parsePropertyMethodAsyncFunction=function(){var e=this.createNode();var t=this.context.allowYield;var r=this.context.await;this.context.allowYield=false;this.context.await=true;var i=this.parseFormalParameters();var n=this.parsePropertyMethod(i);this.context.allowYield=t;this.context.await=r;return this.finalize(e,new u.AsyncFunctionExpression(null,i.params,n))};Parser.prototype.parseObjectPropertyKey=function(){var e=this.createNode();var t=this.nextToken();var r;switch(t.type){case 8:case 6:if(this.context.strict&&t.octal){this.tolerateUnexpectedToken(t,a.Messages.StrictOctalLiteral)}var i=this.getTokenRaw(t);r=this.finalize(e,new u.Literal(t.value,i));break;case 3:case 1:case 5:case 4:r=this.finalize(e,new u.Identifier(t.value));break;case 7:if(t.value==="["){r=this.isolateCoverGrammar(this.parseAssignmentExpression);this.expect("]")}else{r=this.throwUnexpectedToken(t)}break;default:r=this.throwUnexpectedToken(t)}return r};Parser.prototype.isPropertyKey=function(e,t){return e.type===o.Syntax.Identifier&&e.name===t||e.type===o.Syntax.Literal&&e.value===t};Parser.prototype.parseObjectProperty=function(e){var t=this.createNode();var r=this.lookahead;var i;var n=null;var s=null;var o=false;var l=false;var f=false;var c=false;if(r.type===3){var h=r.value;this.nextToken();o=this.match("[");c=!this.hasLineTerminator&&h==="async"&&!this.match(":")&&!this.match("(")&&!this.match("*")&&!this.match(",");n=c?this.parseObjectPropertyKey():this.finalize(t,new u.Identifier(h))}else if(this.match("*")){this.nextToken()}else{o=this.match("[");n=this.parseObjectPropertyKey()}var p=this.qualifiedPropertyName(this.lookahead);if(r.type===3&&!c&&r.value==="get"&&p){i="get";o=this.match("[");n=this.parseObjectPropertyKey();this.context.allowYield=false;s=this.parseGetterMethod()}else if(r.type===3&&!c&&r.value==="set"&&p){i="set";o=this.match("[");n=this.parseObjectPropertyKey();s=this.parseSetterMethod()}else if(r.type===7&&r.value==="*"&&p){i="init";o=this.match("[");n=this.parseObjectPropertyKey();s=this.parseGeneratorMethod();l=true}else{if(!n){this.throwUnexpectedToken(this.lookahead)}i="init";if(this.match(":")&&!c){if(!o&&this.isPropertyKey(n,"__proto__")){if(e.value){this.tolerateError(a.Messages.DuplicateProtoProperty)}e.value=true}this.nextToken();s=this.inheritCoverGrammar(this.parseAssignmentExpression)}else if(this.match("(")){s=c?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction();l=true}else if(r.type===3){var h=this.finalize(t,new u.Identifier(r.value));if(this.match("=")){this.context.firstCoverInitializedNameError=this.lookahead;this.nextToken();f=true;var v=this.isolateCoverGrammar(this.parseAssignmentExpression);s=this.finalize(t,new u.AssignmentPattern(h,v))}else{f=true;s=h}}else{this.throwUnexpectedToken(this.nextToken())}}return this.finalize(t,new u.Property(i,n,o,s,l,f))};Parser.prototype.parseObjectInitializer=function(){var e=this.createNode();this.expect("{");var t=[];var r={value:false};while(!this.match("}")){t.push(this.parseObjectProperty(r));if(!this.match("}")){this.expectCommaSeparator()}}this.expect("}");return this.finalize(e,new u.ObjectExpression(t))};Parser.prototype.parseTemplateHead=function(){i.assert(this.lookahead.head,"Template literal must start with a template head");var e=this.createNode();var t=this.nextToken();var r=t.value;var n=t.cooked;return this.finalize(e,new u.TemplateElement({raw:r,cooked:n},t.tail))};Parser.prototype.parseTemplateElement=function(){if(this.lookahead.type!==10){this.throwUnexpectedToken()}var e=this.createNode();var t=this.nextToken();var r=t.value;var i=t.cooked;return this.finalize(e,new u.TemplateElement({raw:r,cooked:i},t.tail))};Parser.prototype.parseTemplateLiteral=function(){var e=this.createNode();var t=[];var r=[];var i=this.parseTemplateHead();r.push(i);while(!i.tail){t.push(this.parseExpression());i=this.parseTemplateElement();r.push(i)}return this.finalize(e,new u.TemplateLiteral(r,t))};Parser.prototype.reinterpretExpressionAsPattern=function(e){switch(e.type){case o.Syntax.Identifier:case o.Syntax.MemberExpression:case o.Syntax.RestElement:case o.Syntax.AssignmentPattern:break;case o.Syntax.SpreadElement:e.type=o.Syntax.RestElement;this.reinterpretExpressionAsPattern(e.argument);break;case o.Syntax.ArrayExpression:e.type=o.Syntax.ArrayPattern;for(var t=0;t")){this.expect("=>")}e={type:f,params:[],async:false}}else{var t=this.lookahead;var r=[];if(this.match("...")){e=this.parseRestElement(r);this.expect(")");if(!this.match("=>")){this.expect("=>")}e={type:f,params:[e],async:false}}else{var i=false;this.context.isBindingElement=true;e=this.inheritCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var n=[];this.context.isAssignmentTarget=false;n.push(e);while(this.lookahead.type!==2){if(!this.match(",")){break}this.nextToken();if(this.match(")")){this.nextToken();for(var a=0;a")){this.expect("=>")}this.context.isBindingElement=false;for(var a=0;a")){if(e.type===o.Syntax.Identifier&&e.name==="yield"){i=true;e={type:f,params:[e],async:false}}if(!i){if(!this.context.isBindingElement){this.throwUnexpectedToken(this.lookahead)}if(e.type===o.Syntax.SequenceExpression){for(var a=0;a")){for(var o=0;o0){this.nextToken();this.context.isAssignmentTarget=false;this.context.isBindingElement=false;var n=[e,this.lookahead];var a=t;var s=this.isolateCoverGrammar(this.parseExponentiationExpression);var o=[a,r.value,s];var l=[i];while(true){i=this.binaryPrecedence(this.lookahead);if(i<=0){break}while(o.length>2&&i<=l[l.length-1]){s=o.pop();var f=o.pop();l.pop();a=o.pop();n.pop();var c=this.startNode(n[n.length-1]);o.push(this.finalize(c,new u.BinaryExpression(f,a,s)))}o.push(this.nextToken().value);l.push(i);n.push(this.lookahead);o.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}var h=o.length-1;t=o[h];var p=n.pop();while(h>1){var v=n.pop();var d=p&&p.lineStart;var c=this.startNode(v,d);var f=o[h-1];t=this.finalize(c,new u.BinaryExpression(f,o[h-2],t));h-=2;p=v}}return t};Parser.prototype.parseConditionalExpression=function(){var e=this.lookahead;var t=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match("?")){this.nextToken();var r=this.context.allowIn;this.context.allowIn=true;var i=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=r;this.expect(":");var n=this.isolateCoverGrammar(this.parseAssignmentExpression);t=this.finalize(this.startNode(e),new u.ConditionalExpression(t,i,n));this.context.isAssignmentTarget=false;this.context.isBindingElement=false}return t};Parser.prototype.checkPatternParam=function(e,t){switch(t.type){case o.Syntax.Identifier:this.validateParam(e,t,t.name);break;case o.Syntax.RestElement:this.checkPatternParam(e,t.argument);break;case o.Syntax.AssignmentPattern:this.checkPatternParam(e,t.left);break;case o.Syntax.ArrayPattern:for(var r=0;r")){this.context.isAssignmentTarget=false;this.context.isBindingElement=false;var n=e.async;var s=this.reinterpretAsCoverFormalsList(e);if(s){if(this.hasLineTerminator){this.tolerateUnexpectedToken(this.lookahead)}this.context.firstCoverInitializedNameError=null;var l=this.context.strict;var c=this.context.allowStrictDirective;this.context.allowStrictDirective=s.simple;var h=this.context.allowYield;var p=this.context.await;this.context.allowYield=true;this.context.await=n;var v=this.startNode(t);this.expect("=>");var d=void 0;if(this.match("{")){var D=this.context.allowIn;this.context.allowIn=true;d=this.parseFunctionSourceElements();this.context.allowIn=D}else{d=this.isolateCoverGrammar(this.parseAssignmentExpression)}var m=d.type!==o.Syntax.BlockStatement;if(this.context.strict&&s.firstRestricted){this.throwUnexpectedToken(s.firstRestricted,s.message)}if(this.context.strict&&s.stricted){this.tolerateUnexpectedToken(s.stricted,s.message)}e=n?this.finalize(v,new u.AsyncArrowFunctionExpression(s.params,d,m)):this.finalize(v,new u.ArrowFunctionExpression(s.params,d,m));this.context.strict=l;this.context.allowStrictDirective=c;this.context.allowYield=h;this.context.await=p}}else{if(this.matchAssign()){if(!this.context.isAssignmentTarget){this.tolerateError(a.Messages.InvalidLHSInAssignment)}if(this.context.strict&&e.type===o.Syntax.Identifier){var g=e;if(this.scanner.isRestrictedWord(g.name)){this.tolerateUnexpectedToken(r,a.Messages.StrictLHSAssignment)}if(this.scanner.isStrictModeReservedWord(g.name)){this.tolerateUnexpectedToken(r,a.Messages.StrictReservedWord)}}if(!this.match("=")){this.context.isAssignmentTarget=false;this.context.isBindingElement=false}else{this.reinterpretExpressionAsPattern(e)}r=this.nextToken();var E=r.value;var A=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(t),new u.AssignmentExpression(E,e,A));this.context.firstCoverInitializedNameError=null}}}return e};Parser.prototype.parseExpression=function(){var e=this.lookahead;var t=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var r=[];r.push(t);while(this.lookahead.type!==2){if(!this.match(",")){break}this.nextToken();r.push(this.isolateCoverGrammar(this.parseAssignmentExpression))}t=this.finalize(this.startNode(e),new u.SequenceExpression(r))}return t};Parser.prototype.parseStatementListItem=function(){var e;this.context.isAssignmentTarget=true;this.context.isBindingElement=true;if(this.lookahead.type===4){switch(this.lookahead.value){case"export":if(!this.context.isModule){this.tolerateUnexpectedToken(this.lookahead,a.Messages.IllegalExportDeclaration)}e=this.parseExportDeclaration();break;case"import":if(!this.context.isModule){this.tolerateUnexpectedToken(this.lookahead,a.Messages.IllegalImportDeclaration)}e=this.parseImportDeclaration();break;case"const":e=this.parseLexicalDeclaration({inFor:false});break;case"function":e=this.parseFunctionDeclaration();break;case"class":e=this.parseClassDeclaration();break;case"let":e=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:false}):this.parseStatement();break;default:e=this.parseStatement();break}}else{e=this.parseStatement()}return e};Parser.prototype.parseBlock=function(){var e=this.createNode();this.expect("{");var t=[];while(true){if(this.match("}")){break}t.push(this.parseStatementListItem())}this.expect("}");return this.finalize(e,new u.BlockStatement(t))};Parser.prototype.parseLexicalBinding=function(e,t){var r=this.createNode();var i=[];var n=this.parsePattern(i,e);if(this.context.strict&&n.type===o.Syntax.Identifier){if(this.scanner.isRestrictedWord(n.name)){this.tolerateError(a.Messages.StrictVarName)}}var s=null;if(e==="const"){if(!this.matchKeyword("in")&&!this.matchContextualKeyword("of")){if(this.match("=")){this.nextToken();s=this.isolateCoverGrammar(this.parseAssignmentExpression)}else{this.throwError(a.Messages.DeclarationMissingInitializer,"const")}}}else if(!t.inFor&&n.type!==o.Syntax.Identifier||this.match("=")){this.expect("=");s=this.isolateCoverGrammar(this.parseAssignmentExpression)}return this.finalize(r,new u.VariableDeclarator(n,s))};Parser.prototype.parseBindingList=function(e,t){var r=[this.parseLexicalBinding(e,t)];while(this.match(",")){this.nextToken();r.push(this.parseLexicalBinding(e,t))}return r};Parser.prototype.isLexicalDeclaration=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.scanner.lex();this.scanner.restoreState(e);return t.type===3||t.type===7&&t.value==="["||t.type===7&&t.value==="{"||t.type===4&&t.value==="let"||t.type===4&&t.value==="yield"};Parser.prototype.parseLexicalDeclaration=function(e){var t=this.createNode();var r=this.nextToken().value;i.assert(r==="let"||r==="const","Lexical declaration must be either let or const");var n=this.parseBindingList(r,e);this.consumeSemicolon();return this.finalize(t,new u.VariableDeclaration(n,r))};Parser.prototype.parseBindingRestElement=function(e,t){var r=this.createNode();this.expect("...");var i=this.parsePattern(e,t);return this.finalize(r,new u.RestElement(i))};Parser.prototype.parseArrayPattern=function(e,t){var r=this.createNode();this.expect("[");var i=[];while(!this.match("]")){if(this.match(",")){this.nextToken();i.push(null)}else{if(this.match("...")){i.push(this.parseBindingRestElement(e,t));break}else{i.push(this.parsePatternWithDefault(e,t))}if(!this.match("]")){this.expect(",")}}}this.expect("]");return this.finalize(r,new u.ArrayPattern(i))};Parser.prototype.parsePropertyPattern=function(e,t){var r=this.createNode();var i=false;var n=false;var a=false;var s;var o;if(this.lookahead.type===3){var l=this.lookahead;s=this.parseVariableIdentifier();var f=this.finalize(r,new u.Identifier(l.value));if(this.match("=")){e.push(l);n=true;this.nextToken();var c=this.parseAssignmentExpression();o=this.finalize(this.startNode(l),new u.AssignmentPattern(f,c))}else if(!this.match(":")){e.push(l);n=true;o=f}else{this.expect(":");o=this.parsePatternWithDefault(e,t)}}else{i=this.match("[");s=this.parseObjectPropertyKey();this.expect(":");o=this.parsePatternWithDefault(e,t)}return this.finalize(r,new u.Property("init",s,i,o,a,n))};Parser.prototype.parseObjectPattern=function(e,t){var r=this.createNode();var i=[];this.expect("{");while(!this.match("}")){i.push(this.parsePropertyPattern(e,t));if(!this.match("}")){this.expect(",")}}this.expect("}");return this.finalize(r,new u.ObjectPattern(i))};Parser.prototype.parsePattern=function(e,t){var r;if(this.match("[")){r=this.parseArrayPattern(e,t)}else if(this.match("{")){r=this.parseObjectPattern(e,t)}else{if(this.matchKeyword("let")&&(t==="const"||t==="let")){this.tolerateUnexpectedToken(this.lookahead,a.Messages.LetInLexicalBinding)}e.push(this.lookahead);r=this.parseVariableIdentifier(t)}return r};Parser.prototype.parsePatternWithDefault=function(e,t){var r=this.lookahead;var i=this.parsePattern(e,t);if(this.match("=")){this.nextToken();var n=this.context.allowYield;this.context.allowYield=true;var a=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=n;i=this.finalize(this.startNode(r),new u.AssignmentPattern(i,a))}return i};Parser.prototype.parseVariableIdentifier=function(e){var t=this.createNode();var r=this.nextToken();if(r.type===4&&r.value==="yield"){if(this.context.strict){this.tolerateUnexpectedToken(r,a.Messages.StrictReservedWord)}else if(!this.context.allowYield){this.throwUnexpectedToken(r)}}else if(r.type!==3){if(this.context.strict&&r.type===4&&this.scanner.isStrictModeReservedWord(r.value)){this.tolerateUnexpectedToken(r,a.Messages.StrictReservedWord)}else{if(this.context.strict||r.value!=="let"||e!=="var"){this.throwUnexpectedToken(r)}}}else if((this.context.isModule||this.context.await)&&r.type===3&&r.value==="await"){this.tolerateUnexpectedToken(r)}return this.finalize(t,new u.Identifier(r.value))};Parser.prototype.parseVariableDeclaration=function(e){var t=this.createNode();var r=[];var i=this.parsePattern(r,"var");if(this.context.strict&&i.type===o.Syntax.Identifier){if(this.scanner.isRestrictedWord(i.name)){this.tolerateError(a.Messages.StrictVarName)}}var n=null;if(this.match("=")){this.nextToken();n=this.isolateCoverGrammar(this.parseAssignmentExpression)}else if(i.type!==o.Syntax.Identifier&&!e.inFor){this.expect("=")}return this.finalize(t,new u.VariableDeclarator(i,n))};Parser.prototype.parseVariableDeclarationList=function(e){var t={inFor:e.inFor};var r=[];r.push(this.parseVariableDeclaration(t));while(this.match(",")){this.nextToken();r.push(this.parseVariableDeclaration(t))}return r};Parser.prototype.parseVariableStatement=function(){var e=this.createNode();this.expectKeyword("var");var t=this.parseVariableDeclarationList({inFor:false});this.consumeSemicolon();return this.finalize(e,new u.VariableDeclaration(t,"var"))};Parser.prototype.parseEmptyStatement=function(){var e=this.createNode();this.expect(";");return this.finalize(e,new u.EmptyStatement)};Parser.prototype.parseExpressionStatement=function(){var e=this.createNode();var t=this.parseExpression();this.consumeSemicolon();return this.finalize(e,new u.ExpressionStatement(t))};Parser.prototype.parseIfClause=function(){if(this.context.strict&&this.matchKeyword("function")){this.tolerateError(a.Messages.StrictFunction)}return this.parseStatement()};Parser.prototype.parseIfStatement=function(){var e=this.createNode();var t;var r=null;this.expectKeyword("if");this.expect("(");var i=this.parseExpression();if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken());t=this.finalize(this.createNode(),new u.EmptyStatement)}else{this.expect(")");t=this.parseIfClause();if(this.matchKeyword("else")){this.nextToken();r=this.parseIfClause()}}return this.finalize(e,new u.IfStatement(i,t,r))};Parser.prototype.parseDoWhileStatement=function(){var e=this.createNode();this.expectKeyword("do");var t=this.context.inIteration;this.context.inIteration=true;var r=this.parseStatement();this.context.inIteration=t;this.expectKeyword("while");this.expect("(");var i=this.parseExpression();if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken())}else{this.expect(")");if(this.match(";")){this.nextToken()}}return this.finalize(e,new u.DoWhileStatement(r,i))};Parser.prototype.parseWhileStatement=function(){var e=this.createNode();var t;this.expectKeyword("while");this.expect("(");var r=this.parseExpression();if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken());t=this.finalize(this.createNode(),new u.EmptyStatement)}else{this.expect(")");var i=this.context.inIteration;this.context.inIteration=true;t=this.parseStatement();this.context.inIteration=i}return this.finalize(e,new u.WhileStatement(r,t))};Parser.prototype.parseForStatement=function(){var e=null;var t=null;var r=null;var i=true;var n,s;var l=this.createNode();this.expectKeyword("for");this.expect("(");if(this.match(";")){this.nextToken()}else{if(this.matchKeyword("var")){e=this.createNode();this.nextToken();var f=this.context.allowIn;this.context.allowIn=false;var c=this.parseVariableDeclarationList({inFor:true});this.context.allowIn=f;if(c.length===1&&this.matchKeyword("in")){var h=c[0];if(h.init&&(h.id.type===o.Syntax.ArrayPattern||h.id.type===o.Syntax.ObjectPattern||this.context.strict)){this.tolerateError(a.Messages.ForInOfLoopInitializer,"for-in")}e=this.finalize(e,new u.VariableDeclaration(c,"var"));this.nextToken();n=e;s=this.parseExpression();e=null}else if(c.length===1&&c[0].init===null&&this.matchContextualKeyword("of")){e=this.finalize(e,new u.VariableDeclaration(c,"var"));this.nextToken();n=e;s=this.parseAssignmentExpression();e=null;i=false}else{e=this.finalize(e,new u.VariableDeclaration(c,"var"));this.expect(";")}}else if(this.matchKeyword("const")||this.matchKeyword("let")){e=this.createNode();var p=this.nextToken().value;if(!this.context.strict&&this.lookahead.value==="in"){e=this.finalize(e,new u.Identifier(p));this.nextToken();n=e;s=this.parseExpression();e=null}else{var f=this.context.allowIn;this.context.allowIn=false;var c=this.parseBindingList(p,{inFor:true});this.context.allowIn=f;if(c.length===1&&c[0].init===null&&this.matchKeyword("in")){e=this.finalize(e,new u.VariableDeclaration(c,p));this.nextToken();n=e;s=this.parseExpression();e=null}else if(c.length===1&&c[0].init===null&&this.matchContextualKeyword("of")){e=this.finalize(e,new u.VariableDeclaration(c,p));this.nextToken();n=e;s=this.parseAssignmentExpression();e=null;i=false}else{this.consumeSemicolon();e=this.finalize(e,new u.VariableDeclaration(c,p))}}}else{var v=this.lookahead;var f=this.context.allowIn;this.context.allowIn=false;e=this.inheritCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=f;if(this.matchKeyword("in")){if(!this.context.isAssignmentTarget||e.type===o.Syntax.AssignmentExpression){this.tolerateError(a.Messages.InvalidLHSInForIn)}this.nextToken();this.reinterpretExpressionAsPattern(e);n=e;s=this.parseExpression();e=null}else if(this.matchContextualKeyword("of")){if(!this.context.isAssignmentTarget||e.type===o.Syntax.AssignmentExpression){this.tolerateError(a.Messages.InvalidLHSInForLoop)}this.nextToken();this.reinterpretExpressionAsPattern(e);n=e;s=this.parseAssignmentExpression();e=null;i=false}else{if(this.match(",")){var d=[e];while(this.match(",")){this.nextToken();d.push(this.isolateCoverGrammar(this.parseAssignmentExpression))}e=this.finalize(this.startNode(v),new u.SequenceExpression(d))}this.expect(";")}}}if(typeof n==="undefined"){if(!this.match(";")){t=this.parseExpression()}this.expect(";");if(!this.match(")")){r=this.parseExpression()}}var D;if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken());D=this.finalize(this.createNode(),new u.EmptyStatement)}else{this.expect(")");var m=this.context.inIteration;this.context.inIteration=true;D=this.isolateCoverGrammar(this.parseStatement);this.context.inIteration=m}return typeof n==="undefined"?this.finalize(l,new u.ForStatement(e,t,r,D)):i?this.finalize(l,new u.ForInStatement(n,s,D)):this.finalize(l,new u.ForOfStatement(n,s,D))};Parser.prototype.parseContinueStatement=function(){var e=this.createNode();this.expectKeyword("continue");var t=null;if(this.lookahead.type===3&&!this.hasLineTerminator){var r=this.parseVariableIdentifier();t=r;var i="$"+r.name;if(!Object.prototype.hasOwnProperty.call(this.context.labelSet,i)){this.throwError(a.Messages.UnknownLabel,r.name)}}this.consumeSemicolon();if(t===null&&!this.context.inIteration){this.throwError(a.Messages.IllegalContinue)}return this.finalize(e,new u.ContinueStatement(t))};Parser.prototype.parseBreakStatement=function(){var e=this.createNode();this.expectKeyword("break");var t=null;if(this.lookahead.type===3&&!this.hasLineTerminator){var r=this.parseVariableIdentifier();var i="$"+r.name;if(!Object.prototype.hasOwnProperty.call(this.context.labelSet,i)){this.throwError(a.Messages.UnknownLabel,r.name)}t=r}this.consumeSemicolon();if(t===null&&!this.context.inIteration&&!this.context.inSwitch){this.throwError(a.Messages.IllegalBreak)}return this.finalize(e,new u.BreakStatement(t))};Parser.prototype.parseReturnStatement=function(){if(!this.context.inFunctionBody){this.tolerateError(a.Messages.IllegalReturn)}var e=this.createNode();this.expectKeyword("return");var t=!this.match(";")&&!this.match("}")&&!this.hasLineTerminator&&this.lookahead.type!==2||this.lookahead.type===8||this.lookahead.type===10;var r=t?this.parseExpression():null;this.consumeSemicolon();return this.finalize(e,new u.ReturnStatement(r))};Parser.prototype.parseWithStatement=function(){if(this.context.strict){this.tolerateError(a.Messages.StrictModeWith)}var e=this.createNode();var t;this.expectKeyword("with");this.expect("(");var r=this.parseExpression();if(!this.match(")")&&this.config.tolerant){this.tolerateUnexpectedToken(this.nextToken());t=this.finalize(this.createNode(),new u.EmptyStatement)}else{this.expect(")");t=this.parseStatement()}return this.finalize(e,new u.WithStatement(r,t))};Parser.prototype.parseSwitchCase=function(){var e=this.createNode();var t;if(this.matchKeyword("default")){this.nextToken();t=null}else{this.expectKeyword("case");t=this.parseExpression()}this.expect(":");var r=[];while(true){if(this.match("}")||this.matchKeyword("default")||this.matchKeyword("case")){break}r.push(this.parseStatementListItem())}return this.finalize(e,new u.SwitchCase(t,r))};Parser.prototype.parseSwitchStatement=function(){var e=this.createNode();this.expectKeyword("switch");this.expect("(");var t=this.parseExpression();this.expect(")");var r=this.context.inSwitch;this.context.inSwitch=true;var i=[];var n=false;this.expect("{");while(true){if(this.match("}")){break}var s=this.parseSwitchCase();if(s.test===null){if(n){this.throwError(a.Messages.MultipleDefaultsInSwitch)}n=true}i.push(s)}this.expect("}");this.context.inSwitch=r;return this.finalize(e,new u.SwitchStatement(t,i))};Parser.prototype.parseLabelledStatement=function(){var e=this.createNode();var t=this.parseExpression();var r;if(t.type===o.Syntax.Identifier&&this.match(":")){this.nextToken();var i=t;var n="$"+i.name;if(Object.prototype.hasOwnProperty.call(this.context.labelSet,n)){this.throwError(a.Messages.Redeclaration,"Label",i.name)}this.context.labelSet[n]=true;var s=void 0;if(this.matchKeyword("class")){this.tolerateUnexpectedToken(this.lookahead);s=this.parseClassDeclaration()}else if(this.matchKeyword("function")){var l=this.lookahead;var f=this.parseFunctionDeclaration();if(this.context.strict){this.tolerateUnexpectedToken(l,a.Messages.StrictFunction)}else if(f.generator){this.tolerateUnexpectedToken(l,a.Messages.GeneratorInLegacyContext)}s=f}else{s=this.parseStatement()}delete this.context.labelSet[n];r=new u.LabeledStatement(i,s)}else{this.consumeSemicolon();r=new u.ExpressionStatement(t)}return this.finalize(e,r)};Parser.prototype.parseThrowStatement=function(){var e=this.createNode();this.expectKeyword("throw");if(this.hasLineTerminator){this.throwError(a.Messages.NewlineAfterThrow)}var t=this.parseExpression();this.consumeSemicolon();return this.finalize(e,new u.ThrowStatement(t))};Parser.prototype.parseCatchClause=function(){var e=this.createNode();this.expectKeyword("catch");this.expect("(");if(this.match(")")){this.throwUnexpectedToken(this.lookahead)}var t=[];var r=this.parsePattern(t);var i={};for(var n=0;n0){this.tolerateError(a.Messages.BadGetterArity)}var n=this.parsePropertyMethod(i);this.context.allowYield=r;return this.finalize(e,new u.FunctionExpression(null,i.params,n,t))};Parser.prototype.parseSetterMethod=function(){var e=this.createNode();var t=false;var r=this.context.allowYield;this.context.allowYield=!t;var i=this.parseFormalParameters();if(i.params.length!==1){this.tolerateError(a.Messages.BadSetterArity)}else if(i.params[0]instanceof u.RestElement){this.tolerateError(a.Messages.BadSetterRestParameter)}var n=this.parsePropertyMethod(i);this.context.allowYield=r;return this.finalize(e,new u.FunctionExpression(null,i.params,n,t))};Parser.prototype.parseGeneratorMethod=function(){var e=this.createNode();var t=true;var r=this.context.allowYield;this.context.allowYield=true;var i=this.parseFormalParameters();this.context.allowYield=false;var n=this.parsePropertyMethod(i);this.context.allowYield=r;return this.finalize(e,new u.FunctionExpression(null,i.params,n,t))};Parser.prototype.isStartOfExpression=function(){var e=true;var t=this.lookahead.value;switch(this.lookahead.type){case 7:e=t==="["||t==="("||t==="{"||t==="+"||t==="-"||t==="!"||t==="~"||t==="++"||t==="--"||t==="/"||t==="/=";break;case 4:e=t==="class"||t==="delete"||t==="function"||t==="let"||t==="new"||t==="super"||t==="this"||t==="typeof"||t==="void"||t==="yield";break;default:break}return e};Parser.prototype.parseYieldExpression=function(){var e=this.createNode();this.expectKeyword("yield");var t=null;var r=false;if(!this.hasLineTerminator){var i=this.context.allowYield;this.context.allowYield=false;r=this.match("*");if(r){this.nextToken();t=this.parseAssignmentExpression()}else if(this.isStartOfExpression()){t=this.parseAssignmentExpression()}this.context.allowYield=i}return this.finalize(e,new u.YieldExpression(t,r))};Parser.prototype.parseClassElement=function(e){var t=this.lookahead;var r=this.createNode();var i="";var n=null;var s=null;var o=false;var l=false;var f=false;var c=false;if(this.match("*")){this.nextToken()}else{o=this.match("[");n=this.parseObjectPropertyKey();var h=n;if(h.name==="static"&&(this.qualifiedPropertyName(this.lookahead)||this.match("*"))){t=this.lookahead;f=true;o=this.match("[");if(this.match("*")){this.nextToken()}else{n=this.parseObjectPropertyKey()}}if(t.type===3&&!this.hasLineTerminator&&t.value==="async"){var p=this.lookahead.value;if(p!==":"&&p!=="("&&p!=="*"){c=true;t=this.lookahead;n=this.parseObjectPropertyKey();if(t.type===3&&t.value==="constructor"){this.tolerateUnexpectedToken(t,a.Messages.ConstructorIsAsync)}}}}var v=this.qualifiedPropertyName(this.lookahead);if(t.type===3){if(t.value==="get"&&v){i="get";o=this.match("[");n=this.parseObjectPropertyKey();this.context.allowYield=false;s=this.parseGetterMethod()}else if(t.value==="set"&&v){i="set";o=this.match("[");n=this.parseObjectPropertyKey();s=this.parseSetterMethod()}}else if(t.type===7&&t.value==="*"&&v){i="init";o=this.match("[");n=this.parseObjectPropertyKey();s=this.parseGeneratorMethod();l=true}if(!i&&n&&this.match("(")){i="init";s=c?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction();l=true}if(!i){this.throwUnexpectedToken(this.lookahead)}if(i==="init"){i="method"}if(!o){if(f&&this.isPropertyKey(n,"prototype")){this.throwUnexpectedToken(t,a.Messages.StaticPrototype)}if(!f&&this.isPropertyKey(n,"constructor")){if(i!=="method"||!l||s&&s.generator){this.throwUnexpectedToken(t,a.Messages.ConstructorSpecialMethod)}if(e.value){this.throwUnexpectedToken(t,a.Messages.DuplicateConstructor)}else{e.value=true}i="constructor"}}return this.finalize(r,new u.MethodDefinition(n,o,s,i,f))};Parser.prototype.parseClassElementList=function(){var e=[];var t={value:false};this.expect("{");while(!this.match("}")){if(this.match(";")){this.nextToken()}else{e.push(this.parseClassElement(t))}}this.expect("}");return e};Parser.prototype.parseClassBody=function(){var e=this.createNode();var t=this.parseClassElementList();return this.finalize(e,new u.ClassBody(t))};Parser.prototype.parseClassDeclaration=function(e){var t=this.createNode();var r=this.context.strict;this.context.strict=true;this.expectKeyword("class");var i=e&&this.lookahead.type!==3?null:this.parseVariableIdentifier();var n=null;if(this.matchKeyword("extends")){this.nextToken();n=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall)}var a=this.parseClassBody();this.context.strict=r;return this.finalize(t,new u.ClassDeclaration(i,n,a))};Parser.prototype.parseClassExpression=function(){var e=this.createNode();var t=this.context.strict;this.context.strict=true;this.expectKeyword("class");var r=this.lookahead.type===3?this.parseVariableIdentifier():null;var i=null;if(this.matchKeyword("extends")){this.nextToken();i=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall)}var n=this.parseClassBody();this.context.strict=t;return this.finalize(e,new u.ClassExpression(r,i,n))};Parser.prototype.parseModule=function(){this.context.strict=true;this.context.isModule=true;this.scanner.isModule=true;var e=this.createNode();var t=this.parseDirectivePrologues();while(this.lookahead.type!==2){t.push(this.parseStatementListItem())}return this.finalize(e,new u.Module(t))};Parser.prototype.parseScript=function(){var e=this.createNode();var t=this.parseDirectivePrologues();while(this.lookahead.type!==2){t.push(this.parseStatementListItem())}return this.finalize(e,new u.Script(t))};Parser.prototype.parseModuleSpecifier=function(){var e=this.createNode();if(this.lookahead.type!==8){this.throwError(a.Messages.InvalidModuleSpecifier)}var t=this.nextToken();var r=this.getTokenRaw(t);return this.finalize(e,new u.Literal(t.value,r))};Parser.prototype.parseImportSpecifier=function(){var e=this.createNode();var t;var r;if(this.lookahead.type===3){t=this.parseVariableIdentifier();r=t;if(this.matchContextualKeyword("as")){this.nextToken();r=this.parseVariableIdentifier()}}else{t=this.parseIdentifierName();r=t;if(this.matchContextualKeyword("as")){this.nextToken();r=this.parseVariableIdentifier()}else{this.throwUnexpectedToken(this.nextToken())}}return this.finalize(e,new u.ImportSpecifier(r,t))};Parser.prototype.parseNamedImports=function(){this.expect("{");var e=[];while(!this.match("}")){e.push(this.parseImportSpecifier());if(!this.match("}")){this.expect(",")}}this.expect("}");return e};Parser.prototype.parseImportDefaultSpecifier=function(){var e=this.createNode();var t=this.parseIdentifierName();return this.finalize(e,new u.ImportDefaultSpecifier(t))};Parser.prototype.parseImportNamespaceSpecifier=function(){var e=this.createNode();this.expect("*");if(!this.matchContextualKeyword("as")){this.throwError(a.Messages.NoAsAfterImportNamespace)}this.nextToken();var t=this.parseIdentifierName();return this.finalize(e,new u.ImportNamespaceSpecifier(t))};Parser.prototype.parseImportDeclaration=function(){if(this.context.inFunctionBody){this.throwError(a.Messages.IllegalImportDeclaration)}var e=this.createNode();this.expectKeyword("import");var t;var r=[];if(this.lookahead.type===8){t=this.parseModuleSpecifier()}else{if(this.match("{")){r=r.concat(this.parseNamedImports())}else if(this.match("*")){r.push(this.parseImportNamespaceSpecifier())}else if(this.isIdentifierName(this.lookahead)&&!this.matchKeyword("default")){r.push(this.parseImportDefaultSpecifier());if(this.match(",")){this.nextToken();if(this.match("*")){r.push(this.parseImportNamespaceSpecifier())}else if(this.match("{")){r=r.concat(this.parseNamedImports())}else{this.throwUnexpectedToken(this.lookahead)}}}else{this.throwUnexpectedToken(this.nextToken())}if(!this.matchContextualKeyword("from")){var i=this.lookahead.value?a.Messages.UnexpectedToken:a.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}this.nextToken();t=this.parseModuleSpecifier()}this.consumeSemicolon();return this.finalize(e,new u.ImportDeclaration(r,t))};Parser.prototype.parseExportSpecifier=function(){var e=this.createNode();var t=this.parseIdentifierName();var r=t;if(this.matchContextualKeyword("as")){this.nextToken();r=this.parseIdentifierName()}return this.finalize(e,new u.ExportSpecifier(t,r))};Parser.prototype.parseExportDeclaration=function(){if(this.context.inFunctionBody){this.throwError(a.Messages.IllegalExportDeclaration)}var e=this.createNode();this.expectKeyword("export");var t;if(this.matchKeyword("default")){this.nextToken();if(this.matchKeyword("function")){var r=this.parseFunctionDeclaration(true);t=this.finalize(e,new u.ExportDefaultDeclaration(r))}else if(this.matchKeyword("class")){var r=this.parseClassDeclaration(true);t=this.finalize(e,new u.ExportDefaultDeclaration(r))}else if(this.matchContextualKeyword("async")){var r=this.matchAsyncFunction()?this.parseFunctionDeclaration(true):this.parseAssignmentExpression();t=this.finalize(e,new u.ExportDefaultDeclaration(r))}else{if(this.matchContextualKeyword("from")){this.throwError(a.Messages.UnexpectedToken,this.lookahead.value)}var r=this.match("{")?this.parseObjectInitializer():this.match("[")?this.parseArrayInitializer():this.parseAssignmentExpression();this.consumeSemicolon();t=this.finalize(e,new u.ExportDefaultDeclaration(r))}}else if(this.match("*")){this.nextToken();if(!this.matchContextualKeyword("from")){var i=this.lookahead.value?a.Messages.UnexpectedToken:a.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}this.nextToken();var n=this.parseModuleSpecifier();this.consumeSemicolon();t=this.finalize(e,new u.ExportAllDeclaration(n))}else if(this.lookahead.type===4){var r=void 0;switch(this.lookahead.value){case"let":case"const":r=this.parseLexicalDeclaration({inFor:false});break;case"var":case"class":case"function":r=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}t=this.finalize(e,new u.ExportNamedDeclaration(r,[],null))}else if(this.matchAsyncFunction()){var r=this.parseFunctionDeclaration();t=this.finalize(e,new u.ExportNamedDeclaration(r,[],null))}else{var s=[];var o=null;var l=false;this.expect("{");while(!this.match("}")){l=l||this.matchKeyword("default");s.push(this.parseExportSpecifier());if(!this.match("}")){this.expect(",")}}this.expect("}");if(this.matchContextualKeyword("from")){this.nextToken();o=this.parseModuleSpecifier();this.consumeSemicolon()}else if(l){var i=this.lookahead.value?a.Messages.UnexpectedToken:a.Messages.MissingFromClause;this.throwError(i,this.lookahead.value)}else{this.consumeSemicolon()}t=this.finalize(e,new u.ExportNamedDeclaration(null,s,o))}return t};return Parser}();t.Parser=c},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});function assert(e,t){if(!e){throw new Error("ASSERT: "+t)}}t.assert=assert},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});var r=function(){function ErrorHandler(){this.errors=[];this.tolerant=false}ErrorHandler.prototype.recordError=function(e){this.errors.push(e)};ErrorHandler.prototype.tolerate=function(e){if(this.tolerant){this.recordError(e)}else{throw e}};ErrorHandler.prototype.constructError=function(e,t){var r=new Error(e);try{throw r}catch(e){if(Object.create&&Object.defineProperty){r=Object.create(e);Object.defineProperty(r,"column",{value:t})}}return r};ErrorHandler.prototype.createError=function(e,t,r,i){var n="Line "+t+": "+i;var a=this.constructError(n,r);a.index=e;a.lineNumber=t;a.description=i;return a};ErrorHandler.prototype.throwError=function(e,t,r,i){throw this.createError(e,t,r,i)};ErrorHandler.prototype.tolerateError=function(e,t,r,i){var n=this.createError(e,t,r,i);if(this.tolerant){this.recordError(n)}else{throw n}};return ErrorHandler}();t.ErrorHandler=r},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.Messages={BadGetterArity:"Getter must not have any formal parameters",BadSetterArity:"Setter must have exactly one formal parameter",BadSetterRestParameter:"Setter function argument must not be a rest parameter",ConstructorIsAsync:"Class constructor may not be an async method",ConstructorSpecialMethod:"Class constructor may not be an accessor",DeclarationMissingInitializer:"Missing initializer in %0 declaration",DefaultRestParameter:"Unexpected token =",DuplicateBinding:"Duplicate binding %0",DuplicateConstructor:"A class may only have one constructor",DuplicateProtoProperty:"Duplicate __proto__ fields are not allowed in object literals",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInLegacyContext:"Generator declarations are not allowed in legacy contexts",IllegalBreak:"Illegal break statement",IllegalContinue:"Illegal continue statement",IllegalExportDeclaration:"Unexpected token",IllegalImportDeclaration:"Unexpected token",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"Illegal return statement",InvalidEscapedReservedWord:"Keyword must not contain escaped characters",InvalidHexEscapeSequence:"Invalid hexadecimal escape sequence",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",InvalidLHSInForLoop:"Invalid left-hand side in for-loop",InvalidModuleSpecifier:"Unexpected token",InvalidRegExp:"Invalid regular expression",LetInLexicalBinding:"let is disallowed as a lexically bound name",MissingFromClause:"Unexpected token",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NewlineAfterThrow:"Illegal newline after throw",NoAsAfterImportNamespace:"Unexpected token",NoCatchOrFinally:"Missing catch or finally after try",ParameterAfterRestParameter:"Rest parameter must be last formal parameter",Redeclaration:"%0 '%1' has already been declared",StaticPrototype:"Classes may not have static property named prototype",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictModeWith:"Strict mode code may not include a with statement",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictReservedWord:"Use of future reserved word in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",TemplateOctalLiteral:"Octal literals are not allowed in template strings.",UnexpectedEOS:"Unexpected end of input",UnexpectedIdentifier:"Unexpected identifier",UnexpectedNumber:"Unexpected number",UnexpectedReserved:"Unexpected reserved word",UnexpectedString:"Unexpected string",UnexpectedTemplate:"Unexpected quasi %0",UnexpectedToken:"Unexpected token %0",UnexpectedTokenIllegal:"Unexpected token ILLEGAL",UnknownLabel:"Undefined label '%0'",UnterminatedRegExp:"Invalid regular expression: missing /"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});var i=r(9);var n=r(4);var a=r(11);function hexValue(e){return"0123456789abcdef".indexOf(e.toLowerCase())}function octalValue(e){return"01234567".indexOf(e)}var u=function(){function Scanner(e,t){this.source=e;this.errorHandler=t;this.trackComment=false;this.isModule=false;this.length=e.length;this.index=0;this.lineNumber=e.length>0?1:0;this.lineStart=0;this.curlyStack=[]}Scanner.prototype.saveState=function(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart}};Scanner.prototype.restoreState=function(e){this.index=e.index;this.lineNumber=e.lineNumber;this.lineStart=e.lineStart};Scanner.prototype.eof=function(){return this.index>=this.length};Scanner.prototype.throwUnexpectedToken=function(e){if(e===void 0){e=a.Messages.UnexpectedTokenIllegal}return this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,e)};Scanner.prototype.tolerateUnexpectedToken=function(e){if(e===void 0){e=a.Messages.UnexpectedTokenIllegal}this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,e)};Scanner.prototype.skipSingleLineComment=function(e){var t=[];var r,i;if(this.trackComment){t=[];r=this.index-e;i={start:{line:this.lineNumber,column:this.index-this.lineStart-e},end:{}}}while(!this.eof()){var a=this.source.charCodeAt(this.index);++this.index;if(n.Character.isLineTerminator(a)){if(this.trackComment){i.end={line:this.lineNumber,column:this.index-this.lineStart-1};var u={multiLine:false,slice:[r+e,this.index-1],range:[r,this.index-1],loc:i};t.push(u)}if(a===13&&this.source.charCodeAt(this.index)===10){++this.index}++this.lineNumber;this.lineStart=this.index;return t}}if(this.trackComment){i.end={line:this.lineNumber,column:this.index-this.lineStart};var u={multiLine:false,slice:[r+e,this.index],range:[r,this.index],loc:i};t.push(u)}return t};Scanner.prototype.skipMultiLineComment=function(){var e=[];var t,r;if(this.trackComment){e=[];t=this.index-2;r={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}}}while(!this.eof()){var i=this.source.charCodeAt(this.index);if(n.Character.isLineTerminator(i)){if(i===13&&this.source.charCodeAt(this.index+1)===10){++this.index}++this.lineNumber;++this.index;this.lineStart=this.index}else if(i===42){if(this.source.charCodeAt(this.index+1)===47){this.index+=2;if(this.trackComment){r.end={line:this.lineNumber,column:this.index-this.lineStart};var a={multiLine:true,slice:[t+2,this.index-2],range:[t,this.index],loc:r};e.push(a)}return e}++this.index}else{++this.index}}if(this.trackComment){r.end={line:this.lineNumber,column:this.index-this.lineStart};var a={multiLine:true,slice:[t+2,this.index],range:[t,this.index],loc:r};e.push(a)}this.tolerateUnexpectedToken();return e};Scanner.prototype.scanComments=function(){var e;if(this.trackComment){e=[]}var t=this.index===0;while(!this.eof()){var r=this.source.charCodeAt(this.index);if(n.Character.isWhiteSpace(r)){++this.index}else if(n.Character.isLineTerminator(r)){++this.index;if(r===13&&this.source.charCodeAt(this.index)===10){++this.index}++this.lineNumber;this.lineStart=this.index;t=true}else if(r===47){r=this.source.charCodeAt(this.index+1);if(r===47){this.index+=2;var i=this.skipSingleLineComment(2);if(this.trackComment){e=e.concat(i)}t=true}else if(r===42){this.index+=2;var i=this.skipMultiLineComment();if(this.trackComment){e=e.concat(i)}}else{break}}else if(t&&r===45){if(this.source.charCodeAt(this.index+1)===45&&this.source.charCodeAt(this.index+2)===62){this.index+=3;var i=this.skipSingleLineComment(3);if(this.trackComment){e=e.concat(i)}}else{break}}else if(r===60&&!this.isModule){if(this.source.slice(this.index+1,this.index+4)==="!--"){this.index+=4;var i=this.skipSingleLineComment(4);if(this.trackComment){e=e.concat(i)}}else{break}}else{break}}return e};Scanner.prototype.isFutureReservedWord=function(e){switch(e){case"enum":case"export":case"import":case"super":return true;default:return false}};Scanner.prototype.isStrictModeReservedWord=function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return true;default:return false}};Scanner.prototype.isRestrictedWord=function(e){return e==="eval"||e==="arguments"};Scanner.prototype.isKeyword=function(e){switch(e.length){case 2:return e==="if"||e==="in"||e==="do";case 3:return e==="var"||e==="for"||e==="new"||e==="try"||e==="let";case 4:return e==="this"||e==="else"||e==="case"||e==="void"||e==="with"||e==="enum";case 5:return e==="while"||e==="break"||e==="catch"||e==="throw"||e==="const"||e==="yield"||e==="class"||e==="super";case 6:return e==="return"||e==="typeof"||e==="delete"||e==="switch"||e==="export"||e==="import";case 7:return e==="default"||e==="finally"||e==="extends";case 8:return e==="function"||e==="continue"||e==="debugger";case 10:return e==="instanceof";default:return false}};Scanner.prototype.codePointAt=function(e){var t=this.source.charCodeAt(e);if(t>=55296&&t<=56319){var r=this.source.charCodeAt(e+1);if(r>=56320&&r<=57343){var i=t;t=(i-55296)*1024+r-56320+65536}}return t};Scanner.prototype.scanHexEscape=function(e){var t=e==="u"?4:2;var r=0;for(var i=0;i1114111||e!=="}"){this.throwUnexpectedToken()}return n.Character.fromCodePoint(t)};Scanner.prototype.getIdentifier=function(){var e=this.index++;while(!this.eof()){var t=this.source.charCodeAt(this.index);if(t===92){this.index=e;return this.getComplexIdentifier()}else if(t>=55296&&t<57343){this.index=e;return this.getComplexIdentifier()}if(n.Character.isIdentifierPart(t)){++this.index}else{break}}return this.source.slice(e,this.index)};Scanner.prototype.getComplexIdentifier=function(){var e=this.codePointAt(this.index);var t=n.Character.fromCodePoint(e);this.index+=t.length;var r;if(e===92){if(this.source.charCodeAt(this.index)!==117){this.throwUnexpectedToken()}++this.index;if(this.source[this.index]==="{"){++this.index;r=this.scanUnicodeCodePointEscape()}else{r=this.scanHexEscape("u");if(r===null||r==="\\"||!n.Character.isIdentifierStart(r.charCodeAt(0))){this.throwUnexpectedToken()}}t=r}while(!this.eof()){e=this.codePointAt(this.index);if(!n.Character.isIdentifierPart(e)){break}r=n.Character.fromCodePoint(e);t+=r;this.index+=r.length;if(e===92){t=t.substr(0,t.length-1);if(this.source.charCodeAt(this.index)!==117){this.throwUnexpectedToken()}++this.index;if(this.source[this.index]==="{"){++this.index;r=this.scanUnicodeCodePointEscape()}else{r=this.scanHexEscape("u");if(r===null||r==="\\"||!n.Character.isIdentifierPart(r.charCodeAt(0))){this.throwUnexpectedToken()}}t+=r}}return t};Scanner.prototype.octalToDecimal=function(e){var t=e!=="0";var r=octalValue(e);if(!this.eof()&&n.Character.isOctalDigit(this.source.charCodeAt(this.index))){t=true;r=r*8+octalValue(this.source[this.index++]);if("0123".indexOf(e)>=0&&!this.eof()&&n.Character.isOctalDigit(this.source.charCodeAt(this.index))){r=r*8+octalValue(this.source[this.index++])}}return{code:r,octal:t}};Scanner.prototype.scanIdentifier=function(){var e;var t=this.index;var r=this.source.charCodeAt(t)===92?this.getComplexIdentifier():this.getIdentifier();if(r.length===1){e=3}else if(this.isKeyword(r)){e=4}else if(r==="null"){e=5}else if(r==="true"||r==="false"){e=1}else{e=3}if(e!==3&&t+r.length!==this.index){var i=this.index;this.index=t;this.tolerateUnexpectedToken(a.Messages.InvalidEscapedReservedWord);this.index=i}return{type:e,value:r,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}};Scanner.prototype.scanPunctuator=function(){var e=this.index;var t=this.source[this.index];switch(t){case"(":case"{":if(t==="{"){this.curlyStack.push("{")}++this.index;break;case".":++this.index;if(this.source[this.index]==="."&&this.source[this.index+1]==="."){this.index+=2;t="..."}break;case"}":++this.index;this.curlyStack.pop();break;case")":case";":case",":case"[":case"]":case":":case"?":case"~":++this.index;break;default:t=this.source.substr(this.index,4);if(t===">>>="){this.index+=4}else{t=t.substr(0,3);if(t==="==="||t==="!=="||t===">>>"||t==="<<="||t===">>="||t==="**="){this.index+=3}else{t=t.substr(0,2);if(t==="&&"||t==="||"||t==="=="||t==="!="||t==="+="||t==="-="||t==="*="||t==="/="||t==="++"||t==="--"||t==="<<"||t===">>"||t==="&="||t==="|="||t==="^="||t==="%="||t==="<="||t===">="||t==="=>"||t==="**"){this.index+=2}else{t=this.source[this.index];if("<>=!+-*%&|^/".indexOf(t)>=0){++this.index}}}}}if(this.index===e){this.throwUnexpectedToken()}return{type:7,value:t,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}};Scanner.prototype.scanHexLiteral=function(e){var t="";while(!this.eof()){if(!n.Character.isHexDigit(this.source.charCodeAt(this.index))){break}t+=this.source[this.index++]}if(t.length===0){this.throwUnexpectedToken()}if(n.Character.isIdentifierStart(this.source.charCodeAt(this.index))){this.throwUnexpectedToken()}return{type:6,value:parseInt("0x"+t,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}};Scanner.prototype.scanBinaryLiteral=function(e){var t="";var r;while(!this.eof()){r=this.source[this.index];if(r!=="0"&&r!=="1"){break}t+=this.source[this.index++]}if(t.length===0){this.throwUnexpectedToken()}if(!this.eof()){r=this.source.charCodeAt(this.index);if(n.Character.isIdentifierStart(r)||n.Character.isDecimalDigit(r)){this.throwUnexpectedToken()}}return{type:6,value:parseInt(t,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}};Scanner.prototype.scanOctalLiteral=function(e,t){var r="";var i=false;if(n.Character.isOctalDigit(e.charCodeAt(0))){i=true;r="0"+this.source[this.index++]}else{++this.index}while(!this.eof()){if(!n.Character.isOctalDigit(this.source.charCodeAt(this.index))){break}r+=this.source[this.index++]}if(!i&&r.length===0){this.throwUnexpectedToken()}if(n.Character.isIdentifierStart(this.source.charCodeAt(this.index))||n.Character.isDecimalDigit(this.source.charCodeAt(this.index))){this.throwUnexpectedToken()}return{type:6,value:parseInt(r,8),octal:i,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}};Scanner.prototype.isImplicitOctalLiteral=function(){for(var e=this.index+1;e=0){i=i.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,function(e,t,i){var u=parseInt(t||i,16);if(u>1114111){n.throwUnexpectedToken(a.Messages.InvalidRegExp)}if(u<=65535){return String.fromCharCode(u)}return r}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,r)}try{RegExp(i)}catch(e){this.throwUnexpectedToken(a.Messages.InvalidRegExp)}try{return new RegExp(e,t)}catch(e){return null}};Scanner.prototype.scanRegExpBody=function(){var e=this.source[this.index];i.assert(e==="/","Regular expression literal must start with a slash");var t=this.source[this.index++];var r=false;var u=false;while(!this.eof()){e=this.source[this.index++];t+=e;if(e==="\\"){e=this.source[this.index++];if(n.Character.isLineTerminator(e.charCodeAt(0))){this.throwUnexpectedToken(a.Messages.UnterminatedRegExp)}t+=e}else if(n.Character.isLineTerminator(e.charCodeAt(0))){this.throwUnexpectedToken(a.Messages.UnterminatedRegExp)}else if(r){if(e==="]"){r=false}}else{if(e==="/"){u=true;break}else if(e==="["){r=true}}}if(!u){this.throwUnexpectedToken(a.Messages.UnterminatedRegExp)}return t.substr(1,t.length-2)};Scanner.prototype.scanRegExpFlags=function(){var e="";var t="";while(!this.eof()){var r=this.source[this.index];if(!n.Character.isIdentifierPart(r.charCodeAt(0))){break}++this.index;if(r==="\\"&&!this.eof()){r=this.source[this.index];if(r==="u"){++this.index;var i=this.index;var a=this.scanHexEscape("u");if(a!==null){t+=a;for(e+="\\u";i=55296&&e<57343){if(n.Character.isIdentifierStart(this.codePointAt(this.index))){return this.scanIdentifier()}}return this.scanPunctuator()};return Scanner}();t.Scanner=u},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.TokenName={};t.TokenName[1]="Boolean";t.TokenName[2]="";t.TokenName[3]="Identifier";t.TokenName[4]="Keyword";t.TokenName[5]="Null";t.TokenName[6]="Numeric";t.TokenName[7]="Punctuator";t.TokenName[8]="String";t.TokenName[9]="RegularExpression";t.TokenName[10]="Template"},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:true});t.XHTMLEntities={quot:'"',amp:"&",apos:"'",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",lang:"⟨",rang:"⟩"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});var i=r(10);var n=r(12);var a=r(13);var u=function(){function Reader(){this.values=[];this.curly=this.paren=-1}Reader.prototype.beforeFunctionExpression=function(e){return["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","**","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="].indexOf(e)>=0};Reader.prototype.isRegexStart=function(){var e=this.values[this.values.length-1];var t=e!==null;switch(e){case"this":case"]":t=false;break;case")":var r=this.values[this.paren-1];t=r==="if"||r==="while"||r==="for"||r==="with";break;case"}":t=false;if(this.values[this.curly-3]==="function"){var i=this.values[this.curly-4];t=i?!this.beforeFunctionExpression(i):false}else if(this.values[this.curly-4]==="function"){var i=this.values[this.curly-5];t=i?!this.beforeFunctionExpression(i):true}break;default:break}return t};Reader.prototype.push=function(e){if(e.type===7||e.type===4){if(e.value==="{"){this.curly=this.values.length}else if(e.value==="("){this.paren=this.values.length}this.values.push(e.value)}else{this.values.push(null)}};return Reader}();var s=function(){function Tokenizer(e,t){this.errorHandler=new i.ErrorHandler;this.errorHandler.tolerant=t?typeof t.tolerant==="boolean"&&t.tolerant:false;this.scanner=new n.Scanner(e,this.errorHandler);this.scanner.trackComment=t?typeof t.comment==="boolean"&&t.comment:false;this.trackRange=t?typeof t.range==="boolean"&&t.range:false;this.trackLoc=t?typeof t.loc==="boolean"&&t.loc:false;this.buffer=[];this.reader=new u}Tokenizer.prototype.errors=function(){return this.errorHandler.errors};Tokenizer.prototype.getNextToken=function(){if(this.buffer.length===0){var e=this.scanner.scanComments();if(this.scanner.trackComment){for(var t=0;tt){if(e.charAt(r-1)!==" "){break}r--}return r}},,function(e,t,r){"use strict";var i=r(347)("unified-engine:file-pipeline:stringify");var n=r(928);var a=r(212);e.exports=stringify;function stringify(e,t){var r=e.processor;var u=e.tree;var s;if(n(t).fatal){i("Not compiling failed document");return}if(!e.output&&!e.out&&!e.alwaysStringify){i("Not compiling document without output settings");return}i("Compiling `%s`",t.path);if(e.inspect){if(t.path){t.extname=".txt"}s=a[e.color?"color":"noColor"](u)+"\n"}else if(e.treeOut){if(t.path){t.extname=".json"}s=JSON.stringify(u,null,2)+"\n"}else{s=r.stringify(u,t)}t.contents=s;i("Compiled document")}},,,function(e,t,r){"use strict";const i=r(624);e.exports=(e=>typeof e==="string"?e.replace(i(),""):e)},,function(e,t,r){"use strict";var i=r(260);function Mark(e,t,r,i,n){this.name=e;this.buffer=t;this.position=r;this.line=i;this.column=n}Mark.prototype.getSnippet=function getSnippet(e,t){var r,n,a,u,s;if(!this.buffer)return null;e=e||4;t=t||75;r="";n=this.position;while(n>0&&"\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(n-1))===-1){n-=1;if(this.position-n>t/2-1){r=" ... ";n+=5;break}}a="";u=this.position;while(ut/2-1){a=" ... ";u-=5;break}}s=this.buffer.slice(n,u);return i.repeat(" ",e)+r+s+a+"\n"+i.repeat(" ",e+this.position-n+r.length)+"^"};Mark.prototype.toString=function toString(e){var t,r="";if(this.name){r+='in "'+this.name+'" '}r+="at line "+(this.line+1)+", column "+(this.column+1);if(!e){t=this.getSnippet();if(t){r+=":\n"+t}}return r};e.exports=Mark},function(e,t,r){var i=r(148);var n=function(){};var a=r(405);e.exports=wrapped;function wrapped(e){function wrap(){var t=i(arguments);var r=t[t.length-1];var u=this;var s=typeof r=="function"?t.pop():n;if(!e){return s.apply(u,[null].concat(t))}if(generator(e)){return a(e).apply(u,t.concat(s))}if(e.length>t.length){try{return e.apply(u,t.concat(s))}catch(e){return s(e)}}return sync(e,s).apply(u,t)}return wrap}function sync(e,t){return function(){var r;try{r=e.apply(this,arguments)}catch(e){return t(e)}if(promise(r)){r.then(function(e){t(null,e)},t)}else{r instanceof Error?t(r):t(null,r)}}}function generator(e){return e&&e.constructor&&"GeneratorFunction"==e.constructor.name}function promise(e){return e&&"function"==typeof e.then}},,,,,,,,function(e,t,r){"use strict";var i=r(495);e.exports=i("remark-lint:no-file-name-articles",noFileNameArticles);function noFileNameArticles(e,t){var r=t.stem&&t.stem.match(/^(the|teh|an?)\b/i);if(r){t.message("Do not start file names with `"+r[0]+"`")}}},,,function(e,t,r){"use strict";var i=r(171);e.exports=newline;var n="\n";function newline(e,t,r){var a=t.charAt(0);var u;var s;var o;var l;if(a!==n){return}if(r){return true}l=1;u=t.length;s=a;o="";while(l{if(typeof e!=="string"||e.length===0){return 0}e=i(e);let t=0;for(let r=0;r=127&&i<=159){continue}if(i>=768&&i<=879){continue}if(i>65535){r++}t+=n(i)?2:1}return t})},,,,function(e){e.exports=require("stream")},,,,function(e){"use strict";e.exports=function isObject(e){return typeof e==="object"&&e!==null}},,function(e,t,r){"use strict";e.exports={position:true,gfm:true,commonmark:false,footnotes:false,pedantic:false,blocks:r(676)}},,,function(e,t,r){"use strict";var i=r(211);var n=Object.prototype.toString;function resolveYamlPairs(e){if(e===null)return true;var t,r,i,a,u,s=e;u=new Array(s.length);for(t=0,r=s.length;t=0){t=t.slice(1)}if(t===".inf"){return r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY}else if(t===".nan"){return NaN}else if(t.indexOf(":")>=0){t.split(":").forEach(function(e){n.unshift(parseFloat(e,10))});t=0;i=1;n.forEach(function(e){t+=e*i;i*=60});return r*t}return r*parseFloat(t,10)}var u=/^[-+]?[0-9]+e/;function representYamlFloat(e,t){var r;if(isNaN(e)){switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}}else if(Number.POSITIVE_INFINITY===e){switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}}else if(Number.NEGATIVE_INFINITY===e){switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}else if(i.isNegativeZero(e)){return"-0.0"}r=e.toString(10);return u.test(r)?r.replace("e",".e"):r}function isFloat(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||i.isNegativeZero(e))}e.exports=new n("tag:yaml.org,2002:float",{kind:"scalar",resolve:resolveYamlFloat,construct:constructYamlFloat,predicate:isFloat,represent:representYamlFloat,defaultStyle:"lowercase"})},,function(e,t,r){"use strict";const i=r(947);e.exports=((e,t,r)=>{if(typeof t==="number"){r=t}if(i.has(e.toLowerCase())){t=i.get(e.toLowerCase());const r=e.charAt(0);const n=r===r.toUpperCase();if(n){t=r.toUpperCase()+t.slice(1)}const a=e===e.toUpperCase();if(a){t=t.toUpperCase()}}else if(typeof t!=="string"){t=(e.replace(/(?:s|x|z|ch|sh)$/i,"$&e").replace(/([^aeiou])y$/i,"$1ie")+"s").replace(/i?e?s$/i,t=>{const r=e.slice(-1)===e.slice(-1).toLowerCase();return r?t.toLowerCase():t.toUpperCase()})}return Math.abs(r)===1?e:t})},function(e,t,r){"use strict";var i=r(814);e.exports=pad;var n="\n";var a=" ";var u=4;function pad(e,t){var r=e.split(n);var s=r.length;var o=i(a,t*u);while(s--){if(r[s].length!==0){r[s]=o+r[s]}}return r.join(n)}},,,,function(e){e.exports=function(e,t){return e.replace(/(\\*)(\$([_a-z0-9]+)|\${([_a-z0-9]+)})/gi,function(e,r,i,n,a){if(!(r.length%2)){return r.substring(Math.ceil(r.length/2))+(t[n||a]||"")}else{return r.substring(1)+i}})}},,,,function(e,t,r){"use strict";var i=r(211);var n=Object.prototype.hasOwnProperty;function resolveYamlSet(e){if(e===null)return true;var t,r=e;for(t in r){if(n.call(r,t)){if(r[t]!==null)return false}}return true}function constructYamlSet(e){return e!==null?e:{}}e.exports=new i("tag:yaml.org,2002:set",{kind:"mapping",resolve:resolveYamlSet,construct:constructYamlSet})},function(e){if(typeof Object.create==="function"){e.exports=function inherits(e,t){e.super_=t;e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:false,writable:true,configurable:true}})}}else{e.exports=function inherits(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype;e.prototype=new r;e.prototype.constructor=e}}},,,,,function(e){var t=Object.prototype.toString;var r=typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return t.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,t,i){t>>>=0;var n=e.byteLength-t;if(n<0){throw new RangeError("'offset' is out of bounds")}if(i===undefined){i=n}else{i>>>=0;if(i>n){throw new RangeError("'length' is out of bounds")}}return r?Buffer.from(e.slice(t,t+i)):new Buffer(new Uint8Array(e.slice(t,t+i)))}function fromString(e,t){if(typeof t!=="string"||t===""){t="utf8"}if(!Buffer.isEncoding(t)){throw new TypeError('"encoding" must be a valid string encoding')}return r?Buffer.from(e,t):new Buffer(e,t)}function bufferFrom(e,t,i){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,t,i)}if(typeof e==="string"){return fromString(e,t)}return r?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},,function(e){e.exports={AEli:"Æ",AElig:"Æ",AM:"&",AMP:"&",Aacut:"Á",Aacute:"Á",Abreve:"Ă",Acir:"Â",Acirc:"Â",Acy:"А",Afr:"𝔄",Agrav:"À",Agrave:"À",Alpha:"Α",Amacr:"Ā",And:"⩓",Aogon:"Ą",Aopf:"𝔸",ApplyFunction:"⁡",Arin:"Å",Aring:"Å",Ascr:"𝒜",Assign:"≔",Atild:"Ã",Atilde:"Ã",Aum:"Ä",Auml:"Ä",Backslash:"∖",Barv:"⫧",Barwed:"⌆",Bcy:"Б",Because:"∵",Bernoullis:"ℬ",Beta:"Β",Bfr:"𝔅",Bopf:"𝔹",Breve:"˘",Bscr:"ℬ",Bumpeq:"≎",CHcy:"Ч",COP:"©",COPY:"©",Cacute:"Ć",Cap:"⋒",CapitalDifferentialD:"ⅅ",Cayleys:"ℭ",Ccaron:"Č",Ccedi:"Ç",Ccedil:"Ç",Ccirc:"Ĉ",Cconint:"∰",Cdot:"Ċ",Cedilla:"¸",CenterDot:"·",Cfr:"ℭ",Chi:"Χ",CircleDot:"⊙",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",Colon:"∷",Colone:"⩴",Congruent:"≡",Conint:"∯",ContourIntegral:"∮",Copf:"ℂ",Coproduct:"∐",CounterClockwiseContourIntegral:"∳",Cross:"⨯",Cscr:"𝒞",Cup:"⋓",CupCap:"≍",DD:"ⅅ",DDotrahd:"⤑",DJcy:"Ђ",DScy:"Ѕ",DZcy:"Џ",Dagger:"‡",Darr:"↡",Dashv:"⫤",Dcaron:"Ď",Dcy:"Д",Del:"∇",Delta:"Δ",Dfr:"𝔇",DiacriticalAcute:"´",DiacriticalDot:"˙",DiacriticalDoubleAcute:"˝",DiacriticalGrave:"`",DiacriticalTilde:"˜",Diamond:"⋄",DifferentialD:"ⅆ",Dopf:"𝔻",Dot:"¨",DotDot:"⃜",DotEqual:"≐",DoubleContourIntegral:"∯",DoubleDot:"¨",DoubleDownArrow:"⇓",DoubleLeftArrow:"⇐",DoubleLeftRightArrow:"⇔",DoubleLeftTee:"⫤",DoubleLongLeftArrow:"⟸",DoubleLongLeftRightArrow:"⟺",DoubleLongRightArrow:"⟹",DoubleRightArrow:"⇒",DoubleRightTee:"⊨",DoubleUpArrow:"⇑",DoubleUpDownArrow:"⇕",DoubleVerticalBar:"∥",DownArrow:"↓",DownArrowBar:"⤓",DownArrowUpArrow:"⇵",DownBreve:"̑",DownLeftRightVector:"⥐",DownLeftTeeVector:"⥞",DownLeftVector:"↽",DownLeftVectorBar:"⥖",DownRightTeeVector:"⥟",DownRightVector:"⇁",DownRightVectorBar:"⥗",DownTee:"⊤",DownTeeArrow:"↧",Downarrow:"⇓",Dscr:"𝒟",Dstrok:"Đ",ENG:"Ŋ",ET:"Ð",ETH:"Ð",Eacut:"É",Eacute:"É",Ecaron:"Ě",Ecir:"Ê",Ecirc:"Ê",Ecy:"Э",Edot:"Ė",Efr:"𝔈",Egrav:"È",Egrave:"È",Element:"∈",Emacr:"Ē",EmptySmallSquare:"◻",EmptyVerySmallSquare:"▫",Eogon:"Ę",Eopf:"𝔼",Epsilon:"Ε",Equal:"⩵",EqualTilde:"≂",Equilibrium:"⇌",Escr:"ℰ",Esim:"⩳",Eta:"Η",Eum:"Ë",Euml:"Ë",Exists:"∃",ExponentialE:"ⅇ",Fcy:"Ф",Ffr:"𝔉",FilledSmallSquare:"◼",FilledVerySmallSquare:"▪",Fopf:"𝔽",ForAll:"∀",Fouriertrf:"ℱ",Fscr:"ℱ",GJcy:"Ѓ",G:">",GT:">",Gamma:"Γ",Gammad:"Ϝ",Gbreve:"Ğ",Gcedil:"Ģ",Gcirc:"Ĝ",Gcy:"Г",Gdot:"Ġ",Gfr:"𝔊",Gg:"⋙",Gopf:"𝔾",GreaterEqual:"≥",GreaterEqualLess:"⋛",GreaterFullEqual:"≧",GreaterGreater:"⪢",GreaterLess:"≷",GreaterSlantEqual:"⩾",GreaterTilde:"≳",Gscr:"𝒢",Gt:"≫",HARDcy:"Ъ",Hacek:"ˇ",Hat:"^",Hcirc:"Ĥ",Hfr:"ℌ",HilbertSpace:"ℋ",Hopf:"ℍ",HorizontalLine:"─",Hscr:"ℋ",Hstrok:"Ħ",HumpDownHump:"≎",HumpEqual:"≏",IEcy:"Е",IJlig:"IJ",IOcy:"Ё",Iacut:"Í",Iacute:"Í",Icir:"Î",Icirc:"Î",Icy:"И",Idot:"İ",Ifr:"ℑ",Igrav:"Ì",Igrave:"Ì",Im:"ℑ",Imacr:"Ī",ImaginaryI:"ⅈ",Implies:"⇒",Int:"∬",Integral:"∫",Intersection:"⋂",InvisibleComma:"⁣",InvisibleTimes:"⁢",Iogon:"Į",Iopf:"𝕀",Iota:"Ι",Iscr:"ℐ",Itilde:"Ĩ",Iukcy:"І",Ium:"Ï",Iuml:"Ï",Jcirc:"Ĵ",Jcy:"Й",Jfr:"𝔍",Jopf:"𝕁",Jscr:"𝒥",Jsercy:"Ј",Jukcy:"Є",KHcy:"Х",KJcy:"Ќ",Kappa:"Κ",Kcedil:"Ķ",Kcy:"К",Kfr:"𝔎",Kopf:"𝕂",Kscr:"𝒦",LJcy:"Љ",L:"<",LT:"<",Lacute:"Ĺ",Lambda:"Λ",Lang:"⟪",Laplacetrf:"ℒ",Larr:"↞",Lcaron:"Ľ",Lcedil:"Ļ",Lcy:"Л",LeftAngleBracket:"⟨",LeftArrow:"←",LeftArrowBar:"⇤",LeftArrowRightArrow:"⇆",LeftCeiling:"⌈",LeftDoubleBracket:"⟦",LeftDownTeeVector:"⥡",LeftDownVector:"⇃",LeftDownVectorBar:"⥙",LeftFloor:"⌊",LeftRightArrow:"↔",LeftRightVector:"⥎",LeftTee:"⊣",LeftTeeArrow:"↤",LeftTeeVector:"⥚",LeftTriangle:"⊲",LeftTriangleBar:"⧏",LeftTriangleEqual:"⊴",LeftUpDownVector:"⥑",LeftUpTeeVector:"⥠",LeftUpVector:"↿",LeftUpVectorBar:"⥘",LeftVector:"↼",LeftVectorBar:"⥒",Leftarrow:"⇐",Leftrightarrow:"⇔",LessEqualGreater:"⋚",LessFullEqual:"≦",LessGreater:"≶",LessLess:"⪡",LessSlantEqual:"⩽",LessTilde:"≲",Lfr:"𝔏",Ll:"⋘",Lleftarrow:"⇚",Lmidot:"Ŀ",LongLeftArrow:"⟵",LongLeftRightArrow:"⟷",LongRightArrow:"⟶",Longleftarrow:"⟸",Longleftrightarrow:"⟺",Longrightarrow:"⟹",Lopf:"𝕃",LowerLeftArrow:"↙",LowerRightArrow:"↘",Lscr:"ℒ",Lsh:"↰",Lstrok:"Ł",Lt:"≪",Map:"⤅",Mcy:"М",MediumSpace:" ",Mellintrf:"ℳ",Mfr:"𝔐",MinusPlus:"∓",Mopf:"𝕄",Mscr:"ℳ",Mu:"Μ",NJcy:"Њ",Nacute:"Ń",Ncaron:"Ň",Ncedil:"Ņ",Ncy:"Н",NegativeMediumSpace:"​",NegativeThickSpace:"​",NegativeThinSpace:"​",NegativeVeryThinSpace:"​",NestedGreaterGreater:"≫",NestedLessLess:"≪",NewLine:"\n",Nfr:"𝔑",NoBreak:"⁠",NonBreakingSpace:" ",Nopf:"ℕ",Not:"⫬",NotCongruent:"≢",NotCupCap:"≭",NotDoubleVerticalBar:"∦",NotElement:"∉",NotEqual:"≠",NotEqualTilde:"≂̸",NotExists:"∄",NotGreater:"≯",NotGreaterEqual:"≱",NotGreaterFullEqual:"≧̸",NotGreaterGreater:"≫̸",NotGreaterLess:"≹",NotGreaterSlantEqual:"⩾̸",NotGreaterTilde:"≵",NotHumpDownHump:"≎̸",NotHumpEqual:"≏̸",NotLeftTriangle:"⋪",NotLeftTriangleBar:"⧏̸",NotLeftTriangleEqual:"⋬",NotLess:"≮",NotLessEqual:"≰",NotLessGreater:"≸",NotLessLess:"≪̸",NotLessSlantEqual:"⩽̸",NotLessTilde:"≴",NotNestedGreaterGreater:"⪢̸",NotNestedLessLess:"⪡̸",NotPrecedes:"⊀",NotPrecedesEqual:"⪯̸",NotPrecedesSlantEqual:"⋠",NotReverseElement:"∌",NotRightTriangle:"⋫",NotRightTriangleBar:"⧐̸",NotRightTriangleEqual:"⋭",NotSquareSubset:"⊏̸",NotSquareSubsetEqual:"⋢",NotSquareSuperset:"⊐̸",NotSquareSupersetEqual:"⋣",NotSubset:"⊂⃒",NotSubsetEqual:"⊈",NotSucceeds:"⊁",NotSucceedsEqual:"⪰̸",NotSucceedsSlantEqual:"⋡",NotSucceedsTilde:"≿̸",NotSuperset:"⊃⃒",NotSupersetEqual:"⊉",NotTilde:"≁",NotTildeEqual:"≄",NotTildeFullEqual:"≇",NotTildeTilde:"≉",NotVerticalBar:"∤",Nscr:"𝒩",Ntild:"Ñ",Ntilde:"Ñ",Nu:"Ν",OElig:"Œ",Oacut:"Ó",Oacute:"Ó",Ocir:"Ô",Ocirc:"Ô",Ocy:"О",Odblac:"Ő",Ofr:"𝔒",Ograv:"Ò",Ograve:"Ò",Omacr:"Ō",Omega:"Ω",Omicron:"Ο",Oopf:"𝕆",OpenCurlyDoubleQuote:"“",OpenCurlyQuote:"‘",Or:"⩔",Oscr:"𝒪",Oslas:"Ø",Oslash:"Ø",Otild:"Õ",Otilde:"Õ",Otimes:"⨷",Oum:"Ö",Ouml:"Ö",OverBar:"‾",OverBrace:"⏞",OverBracket:"⎴",OverParenthesis:"⏜",PartialD:"∂",Pcy:"П",Pfr:"𝔓",Phi:"Φ",Pi:"Π",PlusMinus:"±",Poincareplane:"ℌ",Popf:"ℙ",Pr:"⪻",Precedes:"≺",PrecedesEqual:"⪯",PrecedesSlantEqual:"≼",PrecedesTilde:"≾",Prime:"″",Product:"∏",Proportion:"∷",Proportional:"∝",Pscr:"𝒫",Psi:"Ψ",QUO:'"',QUOT:'"',Qfr:"𝔔",Qopf:"ℚ",Qscr:"𝒬",RBarr:"⤐",RE:"®",REG:"®",Racute:"Ŕ",Rang:"⟫",Rarr:"↠",Rarrtl:"⤖",Rcaron:"Ř",Rcedil:"Ŗ",Rcy:"Р",Re:"ℜ",ReverseElement:"∋",ReverseEquilibrium:"⇋",ReverseUpEquilibrium:"⥯",Rfr:"ℜ",Rho:"Ρ",RightAngleBracket:"⟩",RightArrow:"→",RightArrowBar:"⇥",RightArrowLeftArrow:"⇄",RightCeiling:"⌉",RightDoubleBracket:"⟧",RightDownTeeVector:"⥝",RightDownVector:"⇂",RightDownVectorBar:"⥕",RightFloor:"⌋",RightTee:"⊢",RightTeeArrow:"↦",RightTeeVector:"⥛",RightTriangle:"⊳",RightTriangleBar:"⧐",RightTriangleEqual:"⊵",RightUpDownVector:"⥏",RightUpTeeVector:"⥜",RightUpVector:"↾",RightUpVectorBar:"⥔",RightVector:"⇀",RightVectorBar:"⥓",Rightarrow:"⇒",Ropf:"ℝ",RoundImplies:"⥰",Rrightarrow:"⇛",Rscr:"ℛ",Rsh:"↱",RuleDelayed:"⧴",SHCHcy:"Щ",SHcy:"Ш",SOFTcy:"Ь",Sacute:"Ś",Sc:"⪼",Scaron:"Š",Scedil:"Ş",Scirc:"Ŝ",Scy:"С",Sfr:"𝔖",ShortDownArrow:"↓",ShortLeftArrow:"←",ShortRightArrow:"→",ShortUpArrow:"↑",Sigma:"Σ",SmallCircle:"∘",Sopf:"𝕊",Sqrt:"√",Square:"□",SquareIntersection:"⊓",SquareSubset:"⊏",SquareSubsetEqual:"⊑",SquareSuperset:"⊐",SquareSupersetEqual:"⊒",SquareUnion:"⊔",Sscr:"𝒮",Star:"⋆",Sub:"⋐",Subset:"⋐",SubsetEqual:"⊆",Succeeds:"≻",SucceedsEqual:"⪰",SucceedsSlantEqual:"≽",SucceedsTilde:"≿",SuchThat:"∋",Sum:"∑",Sup:"⋑",Superset:"⊃",SupersetEqual:"⊇",Supset:"⋑",THOR:"Þ",THORN:"Þ",TRADE:"™",TSHcy:"Ћ",TScy:"Ц",Tab:"\t",Tau:"Τ",Tcaron:"Ť",Tcedil:"Ţ",Tcy:"Т",Tfr:"𝔗",Therefore:"∴",Theta:"Θ",ThickSpace:"  ",ThinSpace:" ",Tilde:"∼",TildeEqual:"≃",TildeFullEqual:"≅",TildeTilde:"≈",Topf:"𝕋",TripleDot:"⃛",Tscr:"𝒯",Tstrok:"Ŧ",Uacut:"Ú",Uacute:"Ú",Uarr:"↟",Uarrocir:"⥉",Ubrcy:"Ў",Ubreve:"Ŭ",Ucir:"Û",Ucirc:"Û",Ucy:"У",Udblac:"Ű",Ufr:"𝔘",Ugrav:"Ù",Ugrave:"Ù",Umacr:"Ū",UnderBar:"_",UnderBrace:"⏟",UnderBracket:"⎵",UnderParenthesis:"⏝",Union:"⋃",UnionPlus:"⊎",Uogon:"Ų",Uopf:"𝕌",UpArrow:"↑",UpArrowBar:"⤒",UpArrowDownArrow:"⇅",UpDownArrow:"↕",UpEquilibrium:"⥮",UpTee:"⊥",UpTeeArrow:"↥",Uparrow:"⇑",Updownarrow:"⇕",UpperLeftArrow:"↖",UpperRightArrow:"↗",Upsi:"ϒ",Upsilon:"Υ",Uring:"Ů",Uscr:"𝒰",Utilde:"Ũ",Uum:"Ü",Uuml:"Ü",VDash:"⊫",Vbar:"⫫",Vcy:"В",Vdash:"⊩",Vdashl:"⫦",Vee:"⋁",Verbar:"‖",Vert:"‖",VerticalBar:"∣",VerticalLine:"|",VerticalSeparator:"❘",VerticalTilde:"≀",VeryThinSpace:" ",Vfr:"𝔙",Vopf:"𝕍",Vscr:"𝒱",Vvdash:"⊪",Wcirc:"Ŵ",Wedge:"⋀",Wfr:"𝔚",Wopf:"𝕎",Wscr:"𝒲",Xfr:"𝔛",Xi:"Ξ",Xopf:"𝕏",Xscr:"𝒳",YAcy:"Я",YIcy:"Ї",YUcy:"Ю",Yacut:"Ý",Yacute:"Ý",Ycirc:"Ŷ",Ycy:"Ы",Yfr:"𝔜",Yopf:"𝕐",Yscr:"𝒴",Yuml:"Ÿ",ZHcy:"Ж",Zacute:"Ź",Zcaron:"Ž",Zcy:"З",Zdot:"Ż",ZeroWidthSpace:"​",Zeta:"Ζ",Zfr:"ℨ",Zopf:"ℤ",Zscr:"𝒵",aacut:"á",aacute:"á",abreve:"ă",ac:"∾",acE:"∾̳",acd:"∿",acir:"â",acirc:"â",acut:"´",acute:"´",acy:"а",aeli:"æ",aelig:"æ",af:"⁡",afr:"𝔞",agrav:"à",agrave:"à",alefsym:"ℵ",aleph:"ℵ",alpha:"α",amacr:"ā",amalg:"⨿",am:"&",amp:"&",and:"∧",andand:"⩕",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsd:"∡",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",aogon:"ą",aopf:"𝕒",ap:"≈",apE:"⩰",apacir:"⩯",ape:"≊",apid:"≋",apos:"'",approx:"≈",approxeq:"≊",arin:"å",aring:"å",ascr:"𝒶",ast:"*",asymp:"≈",asympeq:"≍",atild:"ã",atilde:"ã",aum:"ä",auml:"ä",awconint:"∳",awint:"⨑",bNot:"⫭",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",barvee:"⊽",barwed:"⌅",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",beta:"β",beth:"ℶ",between:"≬",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bnot:"⌐",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxDL:"╗",boxDR:"╔",boxDl:"╖",boxDr:"╓",boxH:"═",boxHD:"╦",boxHU:"╩",boxHd:"╤",boxHu:"╧",boxUL:"╝",boxUR:"╚",boxUl:"╜",boxUr:"╙",boxV:"║",boxVH:"╬",boxVL:"╣",boxVR:"╠",boxVh:"╫",boxVl:"╢",boxVr:"╟",boxbox:"⧉",boxdL:"╕",boxdR:"╒",boxdl:"┐",boxdr:"┌",boxh:"─",boxhD:"╥",boxhU:"╨",boxhd:"┬",boxhu:"┴",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxuL:"╛",boxuR:"╘",boxul:"┘",boxur:"└",boxv:"│",boxvH:"╪",boxvL:"╡",boxvR:"╞",boxvh:"┼",boxvl:"┤",boxvr:"├",bprime:"‵",breve:"˘",brvba:"¦",brvbar:"¦",bscr:"𝒷",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsol:"\\",bsolb:"⧅",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",bumpeq:"≏",cacute:"ć",cap:"∩",capand:"⩄",capbrcup:"⩉",capcap:"⩋",capcup:"⩇",capdot:"⩀",caps:"∩︀",caret:"⁁",caron:"ˇ",ccaps:"⩍",ccaron:"č",ccedi:"ç",ccedil:"ç",ccirc:"ĉ",ccups:"⩌",ccupssm:"⩐",cdot:"ċ",cedi:"¸",cedil:"¸",cemptyv:"⦲",cen:"¢",cent:"¢",centerdot:"·",cfr:"𝔠",chcy:"ч",check:"✓",checkmark:"✓",chi:"χ",cir:"○",cirE:"⧃",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledR:"®",circledS:"Ⓢ",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",clubs:"♣",clubsuit:"♣",colon:":",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",conint:"∮",copf:"𝕔",coprod:"∐",cop:"©",copy:"©",copysr:"℗",crarr:"↵",cross:"✗",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cuepr:"⋞",cuesc:"⋟",cularr:"↶",cularrp:"⤽",cup:"∪",cupbrcap:"⩈",cupcap:"⩆",cupcup:"⩊",cupdot:"⊍",cupor:"⩅",cups:"∪︀",curarr:"↷",curarrm:"⤼",curlyeqprec:"⋞",curlyeqsucc:"⋟",curlyvee:"⋎",curlywedge:"⋏",curre:"¤",curren:"¤",curvearrowleft:"↶",curvearrowright:"↷",cuvee:"⋎",cuwed:"⋏",cwconint:"∲",cwint:"∱",cylcty:"⌭",dArr:"⇓",dHar:"⥥",dagger:"†",daleth:"ℸ",darr:"↓",dash:"‐",dashv:"⊣",dbkarow:"⤏",dblac:"˝",dcaron:"ď",dcy:"д",dd:"ⅆ",ddagger:"‡",ddarr:"⇊",ddotseq:"⩷",de:"°",deg:"°",delta:"δ",demptyv:"⦱",dfisht:"⥿",dfr:"𝔡",dharl:"⇃",dharr:"⇂",diam:"⋄",diamond:"⋄",diamondsuit:"♦",diams:"♦",die:"¨",digamma:"ϝ",disin:"⋲",div:"÷",divid:"÷",divide:"÷",divideontimes:"⋇",divonx:"⋇",djcy:"ђ",dlcorn:"⌞",dlcrop:"⌍",dollar:"$",dopf:"𝕕",dot:"˙",doteq:"≐",doteqdot:"≑",dotminus:"∸",dotplus:"∔",dotsquare:"⊡",doublebarwedge:"⌆",downarrow:"↓",downdownarrows:"⇊",downharpoonleft:"⇃",downharpoonright:"⇂",drbkarow:"⤐",drcorn:"⌟",drcrop:"⌌",dscr:"𝒹",dscy:"ѕ",dsol:"⧶",dstrok:"đ",dtdot:"⋱",dtri:"▿",dtrif:"▾",duarr:"⇵",duhar:"⥯",dwangle:"⦦",dzcy:"џ",dzigrarr:"⟿",eDDot:"⩷",eDot:"≑",eacut:"é",eacute:"é",easter:"⩮",ecaron:"ě",ecir:"ê",ecirc:"ê",ecolon:"≕",ecy:"э",edot:"ė",ee:"ⅇ",efDot:"≒",efr:"𝔢",eg:"⪚",egrav:"è",egrave:"è",egs:"⪖",egsdot:"⪘",el:"⪙",elinters:"⏧",ell:"ℓ",els:"⪕",elsdot:"⪗",emacr:"ē",empty:"∅",emptyset:"∅",emptyv:"∅",emsp13:" ",emsp14:" ",emsp:" ",eng:"ŋ",ensp:" ",eogon:"ę",eopf:"𝕖",epar:"⋕",eparsl:"⧣",eplus:"⩱",epsi:"ε",epsilon:"ε",epsiv:"ϵ",eqcirc:"≖",eqcolon:"≕",eqsim:"≂",eqslantgtr:"⪖",eqslantless:"⪕",equals:"=",equest:"≟",equiv:"≡",equivDD:"⩸",eqvparsl:"⧥",erDot:"≓",erarr:"⥱",escr:"ℯ",esdot:"≐",esim:"≂",eta:"η",et:"ð",eth:"ð",eum:"ë",euml:"ë",euro:"€",excl:"!",exist:"∃",expectation:"ℰ",exponentiale:"ⅇ",fallingdotseq:"≒",fcy:"ф",female:"♀",ffilig:"ffi",fflig:"ff",ffllig:"ffl",ffr:"𝔣",filig:"fi",fjlig:"fj",flat:"♭",fllig:"fl",fltns:"▱",fnof:"ƒ",fopf:"𝕗",forall:"∀",fork:"⋔",forkv:"⫙",fpartint:"⨍",frac1:"¼",frac12:"½",frac13:"⅓",frac14:"¼",frac15:"⅕",frac16:"⅙",frac18:"⅛",frac23:"⅔",frac25:"⅖",frac3:"¾",frac34:"¾",frac35:"⅗",frac38:"⅜",frac45:"⅘",frac56:"⅚",frac58:"⅝",frac78:"⅞",frasl:"⁄",frown:"⌢",fscr:"𝒻",gE:"≧",gEl:"⪌",gacute:"ǵ",gamma:"γ",gammad:"ϝ",gap:"⪆",gbreve:"ğ",gcirc:"ĝ",gcy:"г",gdot:"ġ",ge:"≥",gel:"⋛",geq:"≥",geqq:"≧",geqslant:"⩾",ges:"⩾",gescc:"⪩",gesdot:"⪀",gesdoto:"⪂",gesdotol:"⪄",gesl:"⋛︀",gesles:"⪔",gfr:"𝔤",gg:"≫",ggg:"⋙",gimel:"ℷ",gjcy:"ѓ",gl:"≷",glE:"⪒",gla:"⪥",glj:"⪤",gnE:"≩",gnap:"⪊",gnapprox:"⪊",gne:"⪈",gneq:"⪈",gneqq:"≩",gnsim:"⋧",gopf:"𝕘",grave:"`",gscr:"ℊ",gsim:"≳",gsime:"⪎",gsiml:"⪐",g:">",gt:">",gtcc:"⪧",gtcir:"⩺",gtdot:"⋗",gtlPar:"⦕",gtquest:"⩼",gtrapprox:"⪆",gtrarr:"⥸",gtrdot:"⋗",gtreqless:"⋛",gtreqqless:"⪌",gtrless:"≷",gtrsim:"≳",gvertneqq:"≩︀",gvnE:"≩︀",hArr:"⇔",hairsp:" ",half:"½",hamilt:"ℋ",hardcy:"ъ",harr:"↔",harrcir:"⥈",harrw:"↭",hbar:"ℏ",hcirc:"ĥ",hearts:"♥",heartsuit:"♥",hellip:"…",hercon:"⊹",hfr:"𝔥",hksearow:"⤥",hkswarow:"⤦",hoarr:"⇿",homtht:"∻",hookleftarrow:"↩",hookrightarrow:"↪",hopf:"𝕙",horbar:"―",hscr:"𝒽",hslash:"ℏ",hstrok:"ħ",hybull:"⁃",hyphen:"‐",iacut:"í",iacute:"í",ic:"⁣",icir:"î",icirc:"î",icy:"и",iecy:"е",iexc:"¡",iexcl:"¡",iff:"⇔",ifr:"𝔦",igrav:"ì",igrave:"ì",ii:"ⅈ",iiiint:"⨌",iiint:"∭",iinfin:"⧜",iiota:"℩",ijlig:"ij",imacr:"ī",image:"ℑ",imagline:"ℐ",imagpart:"ℑ",imath:"ı",imof:"⊷",imped:"Ƶ",in:"∈",incare:"℅",infin:"∞",infintie:"⧝",inodot:"ı",int:"∫",intcal:"⊺",integers:"ℤ",intercal:"⊺",intlarhk:"⨗",intprod:"⨼",iocy:"ё",iogon:"į",iopf:"𝕚",iota:"ι",iprod:"⨼",iques:"¿",iquest:"¿",iscr:"𝒾",isin:"∈",isinE:"⋹",isindot:"⋵",isins:"⋴",isinsv:"⋳",isinv:"∈",it:"⁢",itilde:"ĩ",iukcy:"і",ium:"ï",iuml:"ï",jcirc:"ĵ",jcy:"й",jfr:"𝔧",jmath:"ȷ",jopf:"𝕛",jscr:"𝒿",jsercy:"ј",jukcy:"є",kappa:"κ",kappav:"ϰ",kcedil:"ķ",kcy:"к",kfr:"𝔨",kgreen:"ĸ",khcy:"х",kjcy:"ќ",kopf:"𝕜",kscr:"𝓀",lAarr:"⇚",lArr:"⇐",lAtail:"⤛",lBarr:"⤎",lE:"≦",lEg:"⪋",lHar:"⥢",lacute:"ĺ",laemptyv:"⦴",lagran:"ℒ",lambda:"λ",lang:"⟨",langd:"⦑",langle:"⟨",lap:"⪅",laqu:"«",laquo:"«",larr:"←",larrb:"⇤",larrbfs:"⤟",larrfs:"⤝",larrhk:"↩",larrlp:"↫",larrpl:"⤹",larrsim:"⥳",larrtl:"↢",lat:"⪫",latail:"⤙",late:"⪭",lates:"⪭︀",lbarr:"⤌",lbbrk:"❲",lbrace:"{",lbrack:"[",lbrke:"⦋",lbrksld:"⦏",lbrkslu:"⦍",lcaron:"ľ",lcedil:"ļ",lceil:"⌈",lcub:"{",lcy:"л",ldca:"⤶",ldquo:"“",ldquor:"„",ldrdhar:"⥧",ldrushar:"⥋",ldsh:"↲",le:"≤",leftarrow:"←",leftarrowtail:"↢",leftharpoondown:"↽",leftharpoonup:"↼",leftleftarrows:"⇇",leftrightarrow:"↔",leftrightarrows:"⇆",leftrightharpoons:"⇋",leftrightsquigarrow:"↭",leftthreetimes:"⋋",leg:"⋚",leq:"≤",leqq:"≦",leqslant:"⩽",les:"⩽",lescc:"⪨",lesdot:"⩿",lesdoto:"⪁",lesdotor:"⪃",lesg:"⋚︀",lesges:"⪓",lessapprox:"⪅",lessdot:"⋖",lesseqgtr:"⋚",lesseqqgtr:"⪋",lessgtr:"≶",lesssim:"≲",lfisht:"⥼",lfloor:"⌊",lfr:"𝔩",lg:"≶",lgE:"⪑",lhard:"↽",lharu:"↼",lharul:"⥪",lhblk:"▄",ljcy:"љ",ll:"≪",llarr:"⇇",llcorner:"⌞",llhard:"⥫",lltri:"◺",lmidot:"ŀ",lmoust:"⎰",lmoustache:"⎰",lnE:"≨",lnap:"⪉",lnapprox:"⪉",lne:"⪇",lneq:"⪇",lneqq:"≨",lnsim:"⋦",loang:"⟬",loarr:"⇽",lobrk:"⟦",longleftarrow:"⟵",longleftrightarrow:"⟷",longmapsto:"⟼",longrightarrow:"⟶",looparrowleft:"↫",looparrowright:"↬",lopar:"⦅",lopf:"𝕝",loplus:"⨭",lotimes:"⨴",lowast:"∗",lowbar:"_",loz:"◊",lozenge:"◊",lozf:"⧫",lpar:"(",lparlt:"⦓",lrarr:"⇆",lrcorner:"⌟",lrhar:"⇋",lrhard:"⥭",lrm:"‎",lrtri:"⊿",lsaquo:"‹",lscr:"𝓁",lsh:"↰",lsim:"≲",lsime:"⪍",lsimg:"⪏",lsqb:"[",lsquo:"‘",lsquor:"‚",lstrok:"ł",l:"<",lt:"<",ltcc:"⪦",ltcir:"⩹",ltdot:"⋖",lthree:"⋋",ltimes:"⋉",ltlarr:"⥶",ltquest:"⩻",ltrPar:"⦖",ltri:"◃",ltrie:"⊴",ltrif:"◂",lurdshar:"⥊",luruhar:"⥦",lvertneqq:"≨︀",lvnE:"≨︀",mDDot:"∺",mac:"¯",macr:"¯",male:"♂",malt:"✠",maltese:"✠",map:"↦",mapsto:"↦",mapstodown:"↧",mapstoleft:"↤",mapstoup:"↥",marker:"▮",mcomma:"⨩",mcy:"м",mdash:"—",measuredangle:"∡",mfr:"𝔪",mho:"℧",micr:"µ",micro:"µ",mid:"∣",midast:"*",midcir:"⫰",middo:"·",middot:"·",minus:"−",minusb:"⊟",minusd:"∸",minusdu:"⨪",mlcp:"⫛",mldr:"…",mnplus:"∓",models:"⊧",mopf:"𝕞",mp:"∓",mscr:"𝓂",mstpos:"∾",mu:"μ",multimap:"⊸",mumap:"⊸",nGg:"⋙̸",nGt:"≫⃒",nGtv:"≫̸",nLeftarrow:"⇍",nLeftrightarrow:"⇎",nLl:"⋘̸",nLt:"≪⃒",nLtv:"≪̸",nRightarrow:"⇏",nVDash:"⊯",nVdash:"⊮",nabla:"∇",nacute:"ń",nang:"∠⃒",nap:"≉",napE:"⩰̸",napid:"≋̸",napos:"ʼn",napprox:"≉",natur:"♮",natural:"♮",naturals:"ℕ",nbs:" ",nbsp:" ",nbump:"≎̸",nbumpe:"≏̸",ncap:"⩃",ncaron:"ň",ncedil:"ņ",ncong:"≇",ncongdot:"⩭̸",ncup:"⩂",ncy:"н",ndash:"–",ne:"≠",neArr:"⇗",nearhk:"⤤",nearr:"↗",nearrow:"↗",nedot:"≐̸",nequiv:"≢",nesear:"⤨",nesim:"≂̸",nexist:"∄",nexists:"∄",nfr:"𝔫",ngE:"≧̸",nge:"≱",ngeq:"≱",ngeqq:"≧̸",ngeqslant:"⩾̸",nges:"⩾̸",ngsim:"≵",ngt:"≯",ngtr:"≯",nhArr:"⇎",nharr:"↮",nhpar:"⫲",ni:"∋",nis:"⋼",nisd:"⋺",niv:"∋",njcy:"њ",nlArr:"⇍",nlE:"≦̸",nlarr:"↚",nldr:"‥",nle:"≰",nleftarrow:"↚",nleftrightarrow:"↮",nleq:"≰",nleqq:"≦̸",nleqslant:"⩽̸",nles:"⩽̸",nless:"≮",nlsim:"≴",nlt:"≮",nltri:"⋪",nltrie:"⋬",nmid:"∤",nopf:"𝕟",no:"¬",not:"¬",notin:"∉",notinE:"⋹̸",notindot:"⋵̸",notinva:"∉",notinvb:"⋷",notinvc:"⋶",notni:"∌",notniva:"∌",notnivb:"⋾",notnivc:"⋽",npar:"∦",nparallel:"∦",nparsl:"⫽⃥",npart:"∂̸",npolint:"⨔",npr:"⊀",nprcue:"⋠",npre:"⪯̸",nprec:"⊀",npreceq:"⪯̸",nrArr:"⇏",nrarr:"↛",nrarrc:"⤳̸",nrarrw:"↝̸",nrightarrow:"↛",nrtri:"⋫",nrtrie:"⋭",nsc:"⊁",nsccue:"⋡",nsce:"⪰̸",nscr:"𝓃",nshortmid:"∤",nshortparallel:"∦",nsim:"≁",nsime:"≄",nsimeq:"≄",nsmid:"∤",nspar:"∦",nsqsube:"⋢",nsqsupe:"⋣",nsub:"⊄",nsubE:"⫅̸",nsube:"⊈",nsubset:"⊂⃒",nsubseteq:"⊈",nsubseteqq:"⫅̸",nsucc:"⊁",nsucceq:"⪰̸",nsup:"⊅",nsupE:"⫆̸",nsupe:"⊉",nsupset:"⊃⃒",nsupseteq:"⊉",nsupseteqq:"⫆̸",ntgl:"≹",ntild:"ñ",ntilde:"ñ",ntlg:"≸",ntriangleleft:"⋪",ntrianglelefteq:"⋬",ntriangleright:"⋫",ntrianglerighteq:"⋭",nu:"ν",num:"#",numero:"№",numsp:" ",nvDash:"⊭",nvHarr:"⤄",nvap:"≍⃒",nvdash:"⊬",nvge:"≥⃒",nvgt:">⃒",nvinfin:"⧞",nvlArr:"⤂",nvle:"≤⃒",nvlt:"<⃒",nvltrie:"⊴⃒",nvrArr:"⤃",nvrtrie:"⊵⃒",nvsim:"∼⃒",nwArr:"⇖",nwarhk:"⤣",nwarr:"↖",nwarrow:"↖",nwnear:"⤧",oS:"Ⓢ",oacut:"ó",oacute:"ó",oast:"⊛",ocir:"ô",ocirc:"ô",ocy:"о",odash:"⊝",odblac:"ő",odiv:"⨸",odot:"⊙",odsold:"⦼",oelig:"œ",ofcir:"⦿",ofr:"𝔬",ogon:"˛",ograv:"ò",ograve:"ò",ogt:"⧁",ohbar:"⦵",ohm:"Ω",oint:"∮",olarr:"↺",olcir:"⦾",olcross:"⦻",oline:"‾",olt:"⧀",omacr:"ō",omega:"ω",omicron:"ο",omid:"⦶",ominus:"⊖",oopf:"𝕠",opar:"⦷",operp:"⦹",oplus:"⊕",or:"∨",orarr:"↻",ord:"º",order:"ℴ",orderof:"ℴ",ordf:"ª",ordm:"º",origof:"⊶",oror:"⩖",orslope:"⩗",orv:"⩛",oscr:"ℴ",oslas:"ø",oslash:"ø",osol:"⊘",otild:"õ",otilde:"õ",otimes:"⊗",otimesas:"⨶",oum:"ö",ouml:"ö",ovbar:"⌽",par:"¶",para:"¶",parallel:"∥",parsim:"⫳",parsl:"⫽",part:"∂",pcy:"п",percnt:"%",period:".",permil:"‰",perp:"⊥",pertenk:"‱",pfr:"𝔭",phi:"φ",phiv:"ϕ",phmmat:"ℳ",phone:"☎",pi:"π",pitchfork:"⋔",piv:"ϖ",planck:"ℏ",planckh:"ℎ",plankv:"ℏ",plus:"+",plusacir:"⨣",plusb:"⊞",pluscir:"⨢",plusdo:"∔",plusdu:"⨥",pluse:"⩲",plusm:"±",plusmn:"±",plussim:"⨦",plustwo:"⨧",pm:"±",pointint:"⨕",popf:"𝕡",poun:"£",pound:"£",pr:"≺",prE:"⪳",prap:"⪷",prcue:"≼",pre:"⪯",prec:"≺",precapprox:"⪷",preccurlyeq:"≼",preceq:"⪯",precnapprox:"⪹",precneqq:"⪵",precnsim:"⋨",precsim:"≾",prime:"′",primes:"ℙ",prnE:"⪵",prnap:"⪹",prnsim:"⋨",prod:"∏",profalar:"⌮",profline:"⌒",profsurf:"⌓",prop:"∝",propto:"∝",prsim:"≾",prurel:"⊰",pscr:"𝓅",psi:"ψ",puncsp:" ",qfr:"𝔮",qint:"⨌",qopf:"𝕢",qprime:"⁗",qscr:"𝓆",quaternions:"ℍ",quatint:"⨖",quest:"?",questeq:"≟",quo:'"',quot:'"',rAarr:"⇛",rArr:"⇒",rAtail:"⤜",rBarr:"⤏",rHar:"⥤",race:"∽̱",racute:"ŕ",radic:"√",raemptyv:"⦳",rang:"⟩",rangd:"⦒",range:"⦥",rangle:"⟩",raqu:"»",raquo:"»",rarr:"→",rarrap:"⥵",rarrb:"⇥",rarrbfs:"⤠",rarrc:"⤳",rarrfs:"⤞",rarrhk:"↪",rarrlp:"↬",rarrpl:"⥅",rarrsim:"⥴",rarrtl:"↣",rarrw:"↝",ratail:"⤚",ratio:"∶",rationals:"ℚ",rbarr:"⤍",rbbrk:"❳",rbrace:"}",rbrack:"]",rbrke:"⦌",rbrksld:"⦎",rbrkslu:"⦐",rcaron:"ř",rcedil:"ŗ",rceil:"⌉",rcub:"}",rcy:"р",rdca:"⤷",rdldhar:"⥩",rdquo:"”",rdquor:"”",rdsh:"↳",real:"ℜ",realine:"ℛ",realpart:"ℜ",reals:"ℝ",rect:"▭",re:"®",reg:"®",rfisht:"⥽",rfloor:"⌋",rfr:"𝔯",rhard:"⇁",rharu:"⇀",rharul:"⥬",rho:"ρ",rhov:"ϱ",rightarrow:"→",rightarrowtail:"↣",rightharpoondown:"⇁",rightharpoonup:"⇀",rightleftarrows:"⇄",rightleftharpoons:"⇌",rightrightarrows:"⇉",rightsquigarrow:"↝",rightthreetimes:"⋌",ring:"˚",risingdotseq:"≓",rlarr:"⇄",rlhar:"⇌",rlm:"‏",rmoust:"⎱",rmoustache:"⎱",rnmid:"⫮",roang:"⟭",roarr:"⇾",robrk:"⟧",ropar:"⦆",ropf:"𝕣",roplus:"⨮",rotimes:"⨵",rpar:")",rpargt:"⦔",rppolint:"⨒",rrarr:"⇉",rsaquo:"›",rscr:"𝓇",rsh:"↱",rsqb:"]",rsquo:"’",rsquor:"’",rthree:"⋌",rtimes:"⋊",rtri:"▹",rtrie:"⊵",rtrif:"▸",rtriltri:"⧎",ruluhar:"⥨",rx:"℞",sacute:"ś",sbquo:"‚",sc:"≻",scE:"⪴",scap:"⪸",scaron:"š",sccue:"≽",sce:"⪰",scedil:"ş",scirc:"ŝ",scnE:"⪶",scnap:"⪺",scnsim:"⋩",scpolint:"⨓",scsim:"≿",scy:"с",sdot:"⋅",sdotb:"⊡",sdote:"⩦",seArr:"⇘",searhk:"⤥",searr:"↘",searrow:"↘",sec:"§",sect:"§",semi:";",seswar:"⤩",setminus:"∖",setmn:"∖",sext:"✶",sfr:"𝔰",sfrown:"⌢",sharp:"♯",shchcy:"щ",shcy:"ш",shortmid:"∣",shortparallel:"∥",sh:"­",shy:"­",sigma:"σ",sigmaf:"ς",sigmav:"ς",sim:"∼",simdot:"⩪",sime:"≃",simeq:"≃",simg:"⪞",simgE:"⪠",siml:"⪝",simlE:"⪟",simne:"≆",simplus:"⨤",simrarr:"⥲",slarr:"←",smallsetminus:"∖",smashp:"⨳",smeparsl:"⧤",smid:"∣",smile:"⌣",smt:"⪪",smte:"⪬",smtes:"⪬︀",softcy:"ь",sol:"/",solb:"⧄",solbar:"⌿",sopf:"𝕤",spades:"♠",spadesuit:"♠",spar:"∥",sqcap:"⊓",sqcaps:"⊓︀",sqcup:"⊔",sqcups:"⊔︀",sqsub:"⊏",sqsube:"⊑",sqsubset:"⊏",sqsubseteq:"⊑",sqsup:"⊐",sqsupe:"⊒",sqsupset:"⊐",sqsupseteq:"⊒",squ:"□",square:"□",squarf:"▪",squf:"▪",srarr:"→",sscr:"𝓈",ssetmn:"∖",ssmile:"⌣",sstarf:"⋆",star:"☆",starf:"★",straightepsilon:"ϵ",straightphi:"ϕ",strns:"¯",sub:"⊂",subE:"⫅",subdot:"⪽",sube:"⊆",subedot:"⫃",submult:"⫁",subnE:"⫋",subne:"⊊",subplus:"⪿",subrarr:"⥹",subset:"⊂",subseteq:"⊆",subseteqq:"⫅",subsetneq:"⊊",subsetneqq:"⫋",subsim:"⫇",subsub:"⫕",subsup:"⫓",succ:"≻",succapprox:"⪸",succcurlyeq:"≽",succeq:"⪰",succnapprox:"⪺",succneqq:"⪶",succnsim:"⋩",succsim:"≿",sum:"∑",sung:"♪",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supE:"⫆",supdot:"⪾",supdsub:"⫘",supe:"⊇",supedot:"⫄",suphsol:"⟉",suphsub:"⫗",suplarr:"⥻",supmult:"⫂",supnE:"⫌",supne:"⊋",supplus:"⫀",supset:"⊃",supseteq:"⊇",supseteqq:"⫆",supsetneq:"⊋",supsetneqq:"⫌",supsim:"⫈",supsub:"⫔",supsup:"⫖",swArr:"⇙",swarhk:"⤦",swarr:"↙",swarrow:"↙",swnwar:"⤪",szli:"ß",szlig:"ß",target:"⌖",tau:"τ",tbrk:"⎴",tcaron:"ť",tcedil:"ţ",tcy:"т",tdot:"⃛",telrec:"⌕",tfr:"𝔱",there4:"∴",therefore:"∴",theta:"θ",thetasym:"ϑ",thetav:"ϑ",thickapprox:"≈",thicksim:"∼",thinsp:" ",thkap:"≈",thksim:"∼",thor:"þ",thorn:"þ",tilde:"˜",time:"×",times:"×",timesb:"⊠",timesbar:"⨱",timesd:"⨰",tint:"∭",toea:"⤨",top:"⊤",topbot:"⌶",topcir:"⫱",topf:"𝕥",topfork:"⫚",tosa:"⤩",tprime:"‴",trade:"™",triangle:"▵",triangledown:"▿",triangleleft:"◃",trianglelefteq:"⊴",triangleq:"≜",triangleright:"▹",trianglerighteq:"⊵",tridot:"◬",trie:"≜",triminus:"⨺",triplus:"⨹",trisb:"⧍",tritime:"⨻",trpezium:"⏢",tscr:"𝓉",tscy:"ц",tshcy:"ћ",tstrok:"ŧ",twixt:"≬",twoheadleftarrow:"↞",twoheadrightarrow:"↠",uArr:"⇑",uHar:"⥣",uacut:"ú",uacute:"ú",uarr:"↑",ubrcy:"ў",ubreve:"ŭ",ucir:"û",ucirc:"û",ucy:"у",udarr:"⇅",udblac:"ű",udhar:"⥮",ufisht:"⥾",ufr:"𝔲",ugrav:"ù",ugrave:"ù",uharl:"↿",uharr:"↾",uhblk:"▀",ulcorn:"⌜",ulcorner:"⌜",ulcrop:"⌏",ultri:"◸",umacr:"ū",um:"¨",uml:"¨",uogon:"ų",uopf:"𝕦",uparrow:"↑",updownarrow:"↕",upharpoonleft:"↿",upharpoonright:"↾",uplus:"⊎",upsi:"υ",upsih:"ϒ",upsilon:"υ",upuparrows:"⇈",urcorn:"⌝",urcorner:"⌝",urcrop:"⌎",uring:"ů",urtri:"◹",uscr:"𝓊",utdot:"⋰",utilde:"ũ",utri:"▵",utrif:"▴",uuarr:"⇈",uum:"ü",uuml:"ü",uwangle:"⦧",vArr:"⇕",vBar:"⫨",vBarv:"⫩",vDash:"⊨",vangrt:"⦜",varepsilon:"ϵ",varkappa:"ϰ",varnothing:"∅",varphi:"ϕ",varpi:"ϖ",varpropto:"∝",varr:"↕",varrho:"ϱ",varsigma:"ς",varsubsetneq:"⊊︀",varsubsetneqq:"⫋︀",varsupsetneq:"⊋︀",varsupsetneqq:"⫌︀",vartheta:"ϑ",vartriangleleft:"⊲",vartriangleright:"⊳",vcy:"в",vdash:"⊢",vee:"∨",veebar:"⊻",veeeq:"≚",vellip:"⋮",verbar:"|",vert:"|",vfr:"𝔳",vltri:"⊲",vnsub:"⊂⃒",vnsup:"⊃⃒",vopf:"𝕧",vprop:"∝",vrtri:"⊳",vscr:"𝓋",vsubnE:"⫋︀",vsubne:"⊊︀",vsupnE:"⫌︀",vsupne:"⊋︀",vzigzag:"⦚",wcirc:"ŵ",wedbar:"⩟",wedge:"∧",wedgeq:"≙",weierp:"℘",wfr:"𝔴",wopf:"𝕨",wp:"℘",wr:"≀",wreath:"≀",wscr:"𝓌",xcap:"⋂",xcirc:"◯",xcup:"⋃",xdtri:"▽",xfr:"𝔵",xhArr:"⟺",xharr:"⟷",xi:"ξ",xlArr:"⟸",xlarr:"⟵",xmap:"⟼",xnis:"⋻",xodot:"⨀",xopf:"𝕩",xoplus:"⨁",xotime:"⨂",xrArr:"⟹",xrarr:"⟶",xscr:"𝓍",xsqcup:"⨆",xuplus:"⨄",xutri:"△",xvee:"⋁",xwedge:"⋀",yacut:"ý",yacute:"ý",yacy:"я",ycirc:"ŷ",ycy:"ы",ye:"¥",yen:"¥",yfr:"𝔶",yicy:"ї",yopf:"𝕪",yscr:"𝓎",yucy:"ю",yum:"ÿ",yuml:"ÿ",zacute:"ź",zcaron:"ž",zcy:"з",zdot:"ż",zeetrf:"ℨ",zeta:"ζ",zfr:"𝔷",zhcy:"ж",zigrarr:"⇝",zopf:"𝕫",zscr:"𝓏",zwj:"‍",zwnj:"‌"}},function(e,t,r){const i=r(287);const n=r(809);const a={parse:i,stringify:n};e.exports=a},,function(e){"use strict";e.exports=interrupt;function interrupt(e,t,r,i){var n=e.length;var a=-1;var u;var s;while(++a>0},ToUint32:function(e){return e>>>0}}}();var u=Math.LN2,s=Math.abs,o=Math.floor,l=Math.log,f=Math.min,c=Math.pow,h=Math.round;function configureProperties(e){if(v&&p){var t=v(e),r;for(r=0;rn)throw new RangeError("Array too large for polyfill");function makeArrayAccessor(t){p(e,t,{get:function(){return e._getter(t)},set:function(r){e._setter(t,r)},enumerable:true,configurable:false})}var t;for(t=0;t>r}function as_unsigned(e,t){var r=32-t;return e<>>r}function packI8(e){return[e&255]}function unpackI8(e){return as_signed(e[0],8)}function packU8(e){return[e&255]}function unpackU8(e){return as_unsigned(e[0],8)}function packU8Clamped(e){e=h(Number(e));return[e<0?0:e>255?255:e&255]}function packI16(e){return[e>>8&255,e&255]}function unpackI16(e){return as_signed(e[0]<<8|e[1],16)}function packU16(e){return[e>>8&255,e&255]}function unpackU16(e){return as_unsigned(e[0]<<8|e[1],16)}function packI32(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}function unpackI32(e){return as_signed(e[0]<<24|e[1]<<16|e[2]<<8|e[3],32)}function packU32(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}function unpackU32(e){return as_unsigned(e[0]<<24|e[1]<<16|e[2]<<8|e[3],32)}function packIEEE754(e,t,r){var i=(1<.5)return t+1;return t%2?t+1:t}if(e!==e){a=(1<=c(2,1-i)){a=f(o(l(e)/u),1023);h=roundToEven(e/c(2,a)*c(2,r));if(h/c(2,r)>=2){a=a+1;h=1}if(a>i){a=(1<>1}}i.reverse();s=i.join("");o=(1<0){return l*c(2,f-o)*(1+h/c(2,r))}else if(h!==0){return l*c(2,-(o-1))*(h/c(2,r))}else{return l<0?-0:0}}function unpackF64(e){return unpackIEEE754(e,11,52)}function packF64(e){return packIEEE754(e,11,52)}function unpackF32(e){return unpackIEEE754(e,8,23)}function packF32(e){return packIEEE754(e,8,23)}(function(){var e=function ArrayBuffer(e){e=a.ToInt32(e);if(e<0)throw new RangeError("ArrayBuffer size is not a small enough positive integer");this.byteLength=e;this._bytes=[];this._bytes.length=e;var t;for(t=0;tthis.buffer.byteLength){throw new RangeError("byteOffset out of range")}if(this.byteOffset%this.BYTES_PER_ELEMENT){throw new RangeError("ArrayBuffer length minus the byteOffset is not a multiple of the element size.")}if(arguments.length<3){this.byteLength=this.buffer.byteLength-this.byteOffset;if(this.byteLength%this.BYTES_PER_ELEMENT){throw new RangeError("length of buffer minus byteOffset not a multiple of the element size")}this.length=this.byteLength/this.BYTES_PER_ELEMENT}else{this.length=a.ToUint32(i);this.byteLength=this.length*this.BYTES_PER_ELEMENT}if(this.byteOffset+this.byteLength>this.buffer.byteLength){throw new RangeError("byteOffset and length reference an area beyond the end of the buffer")}}else{throw new TypeError("Unexpected argument type(s)")}this.constructor=s;configureProperties(this);makeArrayAccessors(this)};s.prototype=new r;s.prototype.BYTES_PER_ELEMENT=t;s.prototype._pack=n;s.prototype._unpack=u;s.BYTES_PER_ELEMENT=t;s.prototype._getter=function(e){if(arguments.length<1)throw new SyntaxError("Not enough arguments");e=a.ToUint32(e);if(e>=this.length){return i}var t=[],r,n;for(r=0,n=this.byteOffset+e*this.BYTES_PER_ELEMENT;r=this.length){return i}var r=this._pack(t),n,u;for(n=0,u=this.byteOffset+e*this.BYTES_PER_ELEMENT;nthis.length){throw new RangeError("Offset plus length of array is out of range")}f=this.byteOffset+n*this.BYTES_PER_ELEMENT;c=r.length*this.BYTES_PER_ELEMENT;if(r.buffer===this.buffer){h=[];for(s=0,o=r.byteOffset;sthis.length){throw new RangeError("Offset plus length of array is out of range")}for(s=0;sr?r:e}e=a.ToInt32(e);t=a.ToInt32(t);if(arguments.length<1){e=0}if(arguments.length<2){t=this.length}if(e<0){e=this.length+e}if(t<0){t=this.length+t}e=clamp(e,0,this.length);t=clamp(t,0,this.length);var r=t-e;if(r<0){r=0}return new this.constructor(this.buffer,this.byteOffset+e*this.BYTES_PER_ELEMENT,r)};return s}var n=makeConstructor(1,packI8,unpackI8);var u=makeConstructor(1,packU8,unpackU8);var s=makeConstructor(1,packU8Clamped,unpackU8);var o=makeConstructor(2,packI16,unpackI16);var l=makeConstructor(2,packU16,unpackU16);var f=makeConstructor(4,packI32,unpackI32);var c=makeConstructor(4,packU32,unpackU32);var h=makeConstructor(4,packF32,unpackF32);var p=makeConstructor(8,packF64,unpackF64);t.Int8Array=t.Int8Array||n;t.Uint8Array=t.Uint8Array||u;t.Uint8ClampedArray=t.Uint8ClampedArray||s;t.Int16Array=t.Int16Array||o;t.Uint16Array=t.Uint16Array||l;t.Int32Array=t.Int32Array||f;t.Uint32Array=t.Uint32Array||c;t.Float32Array=t.Float32Array||h;t.Float64Array=t.Float64Array||p})();(function(){function r(e,t){return a.IsCallable(e.get)?e.get(t):e[t]}var e=function(){var e=new t.Uint16Array([4660]),i=new t.Uint8Array(e.buffer);return r(i,0)===18}();var i=function DataView(e,r,i){if(arguments.length===0){e=new t.ArrayBuffer(0)}else if(!(e instanceof t.ArrayBuffer||a.Class(e)==="ArrayBuffer")){throw new TypeError("TypeError")}this.buffer=e||new t.ArrayBuffer(0);this.byteOffset=a.ToUint32(r);if(this.byteOffset>this.buffer.byteLength){throw new RangeError("byteOffset out of range")}if(arguments.length<3){this.byteLength=this.buffer.byteLength-this.byteOffset}else{this.byteLength=a.ToUint32(i)}if(this.byteOffset+this.byteLength>this.buffer.byteLength){throw new RangeError("byteOffset and length reference an area beyond the end of the buffer")}configureProperties(this)};function makeGetter(i){return function(n,u){n=a.ToUint32(n);if(n+i.BYTES_PER_ELEMENT>this.byteLength){throw new RangeError("Array index out of range")}n+=this.byteOffset;var s=new t.Uint8Array(this.buffer,n,i.BYTES_PER_ELEMENT),o=[],l;for(l=0;lthis.byteLength){throw new RangeError("Array index out of range")}var o=new i([u]),l=new t.Uint8Array(o.buffer),f=[],c,h;for(c=0;c=e.length?e.length:n+r;t.message+=` while parsing near '${i===0?"":"..."}${e.slice(i,a)}${a===e.length?"":"..."}'`}else{t.message+=` while parsing '${e.slice(0,r*2)}'`}throw t}}},,function(e){"use strict";e.exports=function isArrayish(e){if(!e){return false}return e instanceof Array||Array.isArray(e)||e.length>=0&&e.splice instanceof Function}},,,function(e){"use strict";e.exports=strikethrough;var t="~";var r=t+t;function strikethrough(e){return r+this.all(e).join("")+r}},,function(e,t,r){"use strict";var i=r(495);var n=r(704);var a=r(682);var u=r(839);var s=r(526);e.exports=i("remark-lint:no-heading-indent",noHeadingIndent);var o=u.start;function noHeadingIndent(e,t){var r=String(t);var i=r.length;a(e,"heading",visitor);function visitor(e){var a;var u;var l;var f;var c;if(s(e)){return}a=o(e);u=a.offset;l=u-1;while(++l-1&&r.charAt(i)!=="\n"){t.message("Missing newline character at end of file")}}},,,function(e,t,r){"use strict";var i=r(171);var n=r(111);e.exports=strikethrough;strikethrough.locator=n;var a="~";var u="~~";function strikethrough(e,t,r){var n=this;var s="";var o="";var l="";var f="";var c;var h;var p;if(!n.options.gfm||t.charAt(0)!==a||t.charAt(1)!==a||i(t.charAt(2))){return}c=1;h=t.length;p=e.now();p.column+=2;p.offset+=2;while(++c?@[\\\]^`{|}~_]/;function copy(e,t){var r=e.length;var u=t.length;var s=[];var o=0;var l=0;var f;while(l0){r=Math.min(10,Math.floor(r));o=" ".substr(0,r)}}else if(typeof r==="string"){o=r.substr(0,10)}return serializeProperty("",{"":e});function serializeProperty(e,t){let r=t[e];if(r!=null){if(typeof r.toJSON5==="function"){r=r.toJSON5(e)}else if(typeof r.toJSON==="function"){r=r.toJSON(e)}}if(s){r=s.call(t,e,r)}if(r instanceof Number){r=Number(r)}else if(r instanceof String){r=String(r)}else if(r instanceof Boolean){r=r.valueOf()}switch(r){case null:return"null";case true:return"true";case false:return"false"}if(typeof r==="string"){return quoteString(r,false)}if(typeof r==="number"){return String(r)}if(typeof r==="object"){return Array.isArray(r)?serializeArray(r):serializeObject(r)}return undefined}function quoteString(e){const t={"'":.1,'"':.2};const r={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};let i="";for(const n of e){switch(n){case"'":case'"':t[n]++;i+=n;continue}if(r[n]){i+=r[n];continue}if(n<" "){let e=n.charCodeAt(0).toString(16);i+="\\x"+("00"+e).substring(e.length);continue}i+=n}const n=l||Object.keys(t).reduce((e,r)=>t[e]=0){throw TypeError("Converting circular structure to JSON5")}n.push(e);let t=a;a=a+o;let r=u||Object.keys(e);let i=[];for(const t of r){const r=serializeProperty(t,e);if(r!==undefined){let e=serializeKey(t)+":";if(o!==""){e+=" "}e+=r;i.push(e)}}let s;if(i.length===0){s="{}"}else{let e;if(o===""){e=i.join(",");s="{"+e+"}"}else{let r=",\n"+a;e=i.join(r);s="{\n"+a+e+",\n"+t+"}"}}n.pop();a=t;return s}function serializeKey(e){if(e.length===0){return quoteString(e,true)}const t=String.fromCodePoint(e.codePointAt(0));if(!i.isIdStartChar(t)){return quoteString(e,true)}for(let r=t.length;r=0){throw TypeError("Converting circular structure to JSON5")}n.push(e);let t=a;a=a+o;let r=[];for(let t=0;t=n){return t.substr(0,n)}while(n>t.length&&i>1){if(i&1){t+=e}i>>=1;e+=e}t+=e;t=t.substr(0,n);return t}},,function(e,t,r){"use strict";var i=r(495);var n=r(839);var a=r(526);var u=r(135);var s=r(682);e.exports=i("remark-lint:no-duplicate-definitions",noDuplicateDefinitions);var o="Do not use definitions with the same identifier";function noDuplicateDefinitions(e,t){var r={};s(e,["definition","footnoteDefinition"],validate);function validate(e){var i;var s;if(!a(e)){i=e.identifier;s=r[i];if(s&&s.type){t.message(o+" ("+u(n.start(s))+")",e)}r[i]=e}}}},function(e){"use strict";e.exports=is;function is(e,t,r,i,n){var a=i!==null&&i!==undefined;var u=r!==null&&r!==undefined;var s=convert(e);if(u&&(typeof r!=="number"||r<0||r===Infinity)){throw new Error("Expected positive finite index or child node")}if(a&&(!is(null,i)||!i.children)){throw new Error("Expected parent node")}if(!t||!t.type||typeof t.type!=="string"){return false}if(a!==u){throw new Error("Expected both parent and index")}return Boolean(s.call(n,t,r,i))}function convert(e){if(typeof e==="string"){return typeFactory(e)}if(e===null||e===undefined){return ok}if(typeof e==="object"){return("length"in e?anyFactory:matchesFactory)(e)}if(typeof e==="function"){return e}throw new Error("Expected function, string, or object as test")}function convertAll(e){var t=[];var r=e.length;var i=-1;while(++i=u){v--;break}d+=g}D="";m="";while(++v{t=t||process.argv;const r=e.startsWith("-")?"":e.length===1?"-":"--";const i=t.indexOf(r+e);const n=t.indexOf("--");return i!==-1&&(n===-1?true:ie[r])e[r]=i});return e},[]);var u=map(e,function(e){return map(e,function(e,t){var r=String(e);if(i[t]==="."){var u=dotindex(r);var s=a[t]+(/\./.test(r)?1:2)-(n(r)-u);return r+Array(s).join(" ")}else return r})});var s=reduce(u,function(e,t){forEach(t,function(t,r){var i=n(t);if(!e[r]||i>e[r])e[r]=i});return e},[]);return map(u,function(e){return map(e,function(e,t){var r=s[t]-n(e)||0;var a=Array(Math.max(r+1,1)).join(" ");if(i[t]==="r"||i[t]==="."){return a+e}if(i[t]==="c"){return Array(Math.ceil(r/2+1)).join(" ")+e+Array(Math.floor(r/2+1)).join(" ")}return e+a}).join(r).replace(/\s+$/,"")}).join("\n")};function dotindex(e){var t=/\.[^.]*$/.exec(e);return t?t.index+1:e.length}function reduce(e,t,r){if(e.reduce)return e.reduce(t,r);var i=0;var n=arguments.length>=3?r:e[i++];for(;ir&&a0?"add":"remove")+" "+Math.abs(h)+" "+n("space",h);t.message(p,s)}}}}},,,,,function(e,t,r){"use strict";var i=r(721);e.exports=decodeEntity;var n={}.hasOwnProperty;function decodeEntity(e){return n.call(i,e)?i[e]:false}},,function(e,t,r){"use strict";var i=r(336);var n=r(780);e.exports=unherit;function unherit(e){var t;var r;var a;n(Of,e);n(From,Of);t=Of.prototype;for(r in t){a=t[r];if(a&&typeof a==="object"){t[r]="concat"in a?a.concat():i(a)}}return Of;function From(t){return e.apply(this,t)}function Of(){if(!(this instanceof Of)){return new From(arguments)}return e.apply(this,arguments)}}},function(e){"use strict";const t=e=>{let t=false;let r=false;let i=false;for(let n=0;n{if(!(typeof e==="string"||Array.isArray(e))){throw new TypeError("Expected the input to be `string | string[]`")}r=Object.assign({pascalCase:false},r);const i=e=>r.pascalCase?e.charAt(0).toUpperCase()+e.slice(1):e;if(Array.isArray(e)){e=e.map(e=>e.trim()).filter(e=>e.length).join("-")}else{e=e.trim()}if(e.length===0){return""}if(e.length===1){return r.pascalCase?e.toUpperCase():e.toLowerCase()}const n=e!==e.toLowerCase();if(n){e=t(e)}e=e.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(e,t)=>t.toUpperCase()).replace(/\d+(\w|$)/g,e=>e.toUpperCase());return i(e)};e.exports=r;e.exports.default=r},,function(e,t,r){"use strict";var i=r(211);function resolveYamlMerge(e){return e==="<<"||e===null}e.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:resolveYamlMerge})},function(e){"use strict";e.exports={gfm:true,commonmark:false,pedantic:false,entities:"false",setext:false,closeAtx:false,looseTable:false,spacedTable:true,paddedTable:true,stringLength:stringLength,incrementListMarker:true,fences:false,fence:"`",bullet:"-",listItemIndent:"tab",rule:"*",ruleSpaces:true,ruleRepetition:3,strong:"*",emphasis:"_"};function stringLength(e){return e.length}},function(e,t,r){"use strict";var i=r(197);var n=r(520);var a=r(439);var u=r(25);var s=r(908);var o=r(895);e.exports=parseEntities;var l={}.hasOwnProperty;var f=String.fromCharCode;var c=Function.prototype;var h={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:false,nonTerminated:true};var p="named";var v="hexadecimal";var d="decimal";var D={};D[v]=16;D[d]=10;var m={};m[p]=s;m[d]=a;m[v]=u;var g=1;var E=2;var A=3;var C=4;var y=5;var w=6;var x=7;var b={};b[g]="Named character references must be terminated by a semicolon";b[E]="Numeric character references must be terminated by a semicolon";b[A]="Named character references cannot be empty";b[C]="Numeric character references cannot be empty";b[y]="Named character references must be known";b[w]="Numeric character references cannot be disallowed";b[x]="Numeric character references cannot be outside the permissible Unicode range";function parseEntities(e,t){var r={};var i;var n;if(!t){t={}}for(n in h){i=t[n];r[n]=i===null||i===undefined?h[n]:i}if(r.position.indent||r.position.start){r.indent=r.position.indent||[];r.position=r.position.start}return parse(e,r)}function parse(e,t){var r=t.additional;var a=t.nonTerminated;var u=t.text;var h=t.reference;var F=t.warning;var S=t.textContext;var B=t.referenceContext;var k=t.warningContext;var O=t.position;var P=t.indent||[];var T=e.length;var I=0;var M=-1;var L=O.column||1;var R=O.line||1;var j="";var U=[];var N;var J;var z;var X;var G;var q;var W;var _;var V;var Y;var H;var $;var Z;var Q;var K;var ee;var te;var re;var ie;ee=now();_=F?parseError:c;I--;T++;while(++I65535){q-=65536;Y+=f(q>>>(10&1023)|55296);q=56320|q&1023}q=Y+f(q)}}if(!q){X=e.slice(Z-1,ie);j+=X;L+=X.length;I=ie-1}else{flush();ee=now();I=ie-1;L+=ie-Z+1;U.push(q);te=now();te.offset++;if(h){h.call(B,q,{start:ee,end:te},e.slice(Z-1,ie))}ee=te}}}return U.join("");function now(){return{line:R,column:L,offset:I+(O.offset||0)}}function parseError(e,t){var r=now();r.column+=t;r.offset+=t;F.call(k,b[e],r,e)}function at(t){return e.charAt(t)}function flush(){if(j){U.push(j);if(u){u.call(S,j,{start:ee,end:now()})}j=""}}}function prohibited(e){return e>=55296&&e<=57343||e>1114111}function disallowed(e){return e>=1&&e<=8||e===11||e>=13&&e<=31||e>=127&&e<=159||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534}},,,function(e,t,r){"use strict";var i=r(36);var n=r(116);var a=r(171);var u=r(82);e.exports=emphasis;emphasis.locator=u;var s="*";var o="_";var l="\\";function emphasis(e,t,r){var u=this;var f=0;var c=t.charAt(f);var h;var p;var v;var d;var D;var m;var g;if(c!==s&&c!==o){return}p=u.options.pedantic;D=c;v=c;m=t.length;f++;d="";c="";if(p&&a(t.charAt(f))){return}while(f0){if(typeof t!=="string"&&!a.objectMode&&Object.getPrototypeOf(t)!==l.prototype){t=_uint8ArrayToBuffer(t)}if(i){if(a.endEmitted)e.emit("error",new Error("stream.unshift() after end event"));else addChunk(e,a,t,true)}else if(a.ended){e.emit("error",new Error("stream.push() after EOF"))}else{a.reading=false;if(a.decoder&&!r){t=a.decoder.write(t);if(a.objectMode||t.length!==0)addChunk(e,a,t,false);else maybeReadMore(e,a)}else{addChunk(e,a,t,false)}}}else if(!i){a.reading=false}}return needMoreData(a)}function addChunk(e,t,r,i){if(t.flowing&&t.length===0&&!t.sync){e.emit("data",r);e.read(0)}else{t.length+=t.objectMode?1:r.length;if(i)t.buffer.unshift(r);else t.buffer.push(r);if(t.needReadable)emitReadable(e)}maybeReadMore(e,t)}function chunkInvalid(e,t){var r;if(!_isUint8Array(t)&&typeof t!=="string"&&t!==undefined&&!e.objectMode){r=new TypeError("Invalid non-string/buffer chunk")}return r}function needMoreData(e){return!e.ended&&(e.needReadable||e.length=g){e=g}else{e--;e|=e>>>1;e|=e>>>2;e|=e>>>4;e|=e>>>8;e|=e>>>16;e++}return e}function howMuchToRead(e,t){if(e<=0||t.length===0&&t.ended)return 0;if(t.objectMode)return 1;if(e!==e){if(t.flowing&&t.length)return t.buffer.head.data.length;else return t.length}if(e>t.highWaterMark)t.highWaterMark=computeNewHighWaterMark(e);if(e<=t.length)return e;if(!t.ended){t.needReadable=true;return 0}return t.length}Readable.prototype.read=function(e){p("read",e);e=parseInt(e,10);var t=this._readableState;var r=e;if(e!==0)t.emittedReadable=false;if(e===0&&t.needReadable&&(t.length>=t.highWaterMark||t.ended)){p("read: emitReadable",t.length,t.ended);if(t.length===0&&t.ended)endReadable(this);else emitReadable(this);return null}e=howMuchToRead(e,t);if(e===0&&t.ended){if(t.length===0)endReadable(this);return null}var i=t.needReadable;p("need readable",i);if(t.length===0||t.length-e0)n=fromList(e,t);else n=null;if(n===null){t.needReadable=true;e=0}else{t.length-=e}if(t.length===0){if(!t.ended)t.needReadable=true;if(r!==e&&t.ended)endReadable(this)}if(n!==null)this.emit("data",n);return n};function onEofChunk(e,t){if(t.ended)return;if(t.decoder){var r=t.decoder.end();if(r&&r.length){t.buffer.push(r);t.length+=t.objectMode?1:r.length}}t.ended=true;emitReadable(e)}function emitReadable(e){var t=e._readableState;t.needReadable=false;if(!t.emittedReadable){p("emitReadable",t.flowing);t.emittedReadable=true;if(t.sync)i.nextTick(emitReadable_,e);else emitReadable_(e)}}function emitReadable_(e){p("emit readable");e.emit("readable");flow(e)}function maybeReadMore(e,t){if(!t.readingMore){t.readingMore=true;i.nextTick(maybeReadMore_,e,t)}}function maybeReadMore_(e,t){var r=t.length;while(!t.reading&&!t.flowing&&!t.ended&&t.length1&&indexOf(n.pipes,e)!==-1)&&!l){p("false write response, pause",r._readableState.awaitDrain);r._readableState.awaitDrain++;f=true}r.pause()}}function onerror(t){p("onerror",t);unpipe();e.removeListener("error",onerror);if(s(e,"error")===0)e.emit("error",t)}prependListener(e,"error",onerror);function onclose(){e.removeListener("finish",onfinish);unpipe()}e.once("close",onclose);function onfinish(){p("onfinish");e.removeListener("close",onclose);unpipe()}e.once("finish",onfinish);function unpipe(){p("unpipe");r.unpipe(e)}e.emit("pipe",r);if(!n.flowing){p("pipe resume");r.resume()}return e};function pipeOnDrain(e){return function(){var t=e._readableState;p("pipeOnDrain",t.awaitDrain);if(t.awaitDrain)t.awaitDrain--;if(t.awaitDrain===0&&s(e,"data")){t.flowing=true;flow(e)}}}Readable.prototype.unpipe=function(e){var t=this._readableState;var r={hasUnpiped:false};if(t.pipesCount===0)return this;if(t.pipesCount===1){if(e&&e!==t.pipes)return this;if(!e)e=t.pipes;t.pipes=null;t.pipesCount=0;t.flowing=false;if(e)e.emit("unpipe",this,r);return this}if(!e){var i=t.pipes;var n=t.pipesCount;t.pipes=null;t.pipesCount=0;t.flowing=false;for(var a=0;a=t.length){if(t.decoder)r=t.buffer.join("");else if(t.buffer.length===1)r=t.buffer.head.data;else r=t.buffer.concat(t.length);t.buffer.clear()}else{r=fromListPartial(e,t.buffer,t.decoder)}return r}function fromListPartial(e,t,r){var i;if(ea.length?a.length:e;if(u===a.length)n+=a;else n+=a.slice(0,e);e-=u;if(e===0){if(u===a.length){++i;if(r.next)t.head=r.next;else t.head=t.tail=null}else{t.head=r;r.data=a.slice(u)}break}++i}t.length-=i;return n}function copyFromBuffer(e,t){var r=l.allocUnsafe(e);var i=t.head;var n=1;i.data.copy(r);e-=i.data.length;while(i=i.next){var a=i.data;var u=e>a.length?a.length:e;a.copy(r,r.length-e,0,u);e-=u;if(e===0){if(u===a.length){++n;if(i.next)t.head=i.next;else t.head=t.tail=null}else{t.head=i;i.data=a.slice(u)}break}++n}t.length-=n;return r}function endReadable(e){var t=e._readableState;if(t.length>0)throw new Error('"endReadable()" called on non-empty stream');if(!t.endEmitted){t.ended=true;i.nextTick(endReadableNT,t,e)}}function endReadableNT(e,t){if(!e.endEmitted&&e.length===0){e.endEmitted=true;t.readable=false;t.emit("end")}}function indexOf(e,t){for(var r=0,i=e.length;r=f){continue}y="";while(v=2){t.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]}}catch(e){}t.inspectOpts=Object.keys(process.env).filter(function(e){return/^debug_/i.test(e)}).reduce(function(e,t){var r=t.substring(6).toLowerCase().replace(/_([a-z])/g,function(e,t){return t.toUpperCase()});var i=process.env[t];if(/^(yes|on|true|enabled)$/i.test(i)){i=true}else if(/^(no|off|false|disabled)$/i.test(i)){i=false}else if(i==="null"){i=null}else{i=Number(i)}e[r]=i;return e},{});function useColors(){return"colors"in t.inspectOpts?Boolean(t.inspectOpts.colors):i.isatty(process.stderr.fd)}function formatArgs(t){var r=this.namespace,i=this.useColors;if(i){var n=this.color;var a="[3"+(n<8?n:"8;5;"+n);var u=" ".concat(a,";1m").concat(r," ");t[0]=u+t[0].split("\n").join("\n"+u);t.push(a+"m+"+e.exports.humanize(this.diff)+"")}else{t[0]=getDate()+r+" "+t[0]}}function getDate(){if(t.inspectOpts.hideDate){return""}return(new Date).toISOString()+" "}function log(){return process.stderr.write(n.format.apply(n,arguments)+"\n")}function save(e){if(e){process.env.DEBUG=e}else{delete process.env.DEBUG}}function load(){return process.env.DEBUG}function init(e){e.inspectOpts={};var r=Object.keys(t.inspectOpts);for(var i=0;i=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},,,function(e){"use strict";e.exports=locate;function locate(e,t){var r=e.indexOf("[",t);var i=e.indexOf("![",t);if(i===-1){return r}return r= 2.1.2 < 3" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "optional": true, - "requires": { - "minimatch": "^3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "optional": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true, - "optional": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "optional": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "optional": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true, - "optional": true - }, - "minipass": { - "version": "2.3.5", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.2.1", - "bundled": true, - "optional": true, - "requires": { - "minipass": "^2.2.1" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "optional": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "needle": { - "version": "2.2.4", - "bundled": true, - "optional": true, - "requires": { - "debug": "^2.1.2", - "iconv-lite": "^0.4.4", - "sax": "^1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.3", - "bundled": true, - "optional": true, - "requires": { - "detect-libc": "^1.0.2", - "mkdirp": "^0.5.1", - "needle": "^2.2.1", - "nopt": "^4.0.1", - "npm-packlist": "^1.1.6", - "npmlog": "^4.0.2", - "rc": "^1.2.7", - "rimraf": "^2.6.1", - "semver": "^5.3.0", - "tar": "^4" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "optional": true, - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - }, - "npm-bundled": { - "version": "1.0.5", - "bundled": true, - "optional": true - }, - "npm-packlist": { - "version": "1.2.0", - "bundled": true, - "optional": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "optional": true, - "requires": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "optional": true, - "requires": { - "wrappy": "1" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "optional": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "rc": { - "version": "1.2.8", - "bundled": true, - "optional": true, - "requires": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "optional": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "rimraf": { - "version": "2.6.3", - "bundled": true, - "optional": true, - "requires": { - "glob": "^7.1.3" - } - }, - "safe-buffer": { - "version": "5.1.2", - "bundled": true, - "optional": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "optional": true - }, - "semver": { - "version": "5.6.0", - "bundled": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "optional": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "~5.1.0" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "optional": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "tar": { - "version": "4.4.8", - "bundled": true, - "optional": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.3.4", - "minizlib": "^1.1.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "wide-align": { - "version": "1.1.3", - "bundled": true, - "optional": true, - "requires": { - "string-width": "^1.0.2 || 2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "yallist": { - "version": "3.0.3", - "bundled": true, - "optional": true - } - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.0.7.tgz", + "integrity": "sha512-a7YT0SV3RB+DjYcppwVDLtn13UQnmg0SWZS7ezZD0UjnLwXmy8Zm21GMVGLaFGimIqcvyMQaOJBrop8MyOp1kQ==", + "optional": true }, "glob": { "version": "7.1.3", @@ -1124,68 +311,18 @@ } }, "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.0.0.tgz", + "integrity": "sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==", "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "requires": { - "is-extglob": "^2.1.0" - } - } + "is-glob": "^4.0.1" } }, - "graceful-fs": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz", - "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==" - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "ignore": { "version": "3.3.10", "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", @@ -1215,29 +352,6 @@ "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz", "integrity": "sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==" }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "is-alphabetical": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.2.tgz", @@ -1263,73 +377,28 @@ "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" }, "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "requires": { - "binary-extensions": "^1.0.0" + "binary-extensions": "^2.0.0" } }, - "is-buffer": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", - "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "is-buffer": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz", + "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw==" }, "is-decimal": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.2.tgz", "integrity": "sha512-TRzl7mOCchnhchN+f3ICUCzYvL9ul7R+TYOsZ8xia++knyZAJfv/uA1FvQXsAnYIl1T3B2X5E/J7Wb1QXiIBXg==" }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, "is-empty": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/is-empty/-/is-empty-1.2.0.tgz", "integrity": "sha1-3pu1snhzigWgsJpX4ftNSjQan2s=" }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -1359,27 +428,9 @@ "integrity": "sha512-175UKecS8+U4hh2PSY0j4xnm2GKYzvSKnbh+naC93JjuBA7LgIo6YxlbcsSo6seFBdQO3RuIcH980yvqqD/2cA==" }, "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-object": { "version": "1.0.1", @@ -1391,24 +442,11 @@ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "requires": { - "isobject": "^3.0.1" - } - }, "is-whitespace-character": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.2.tgz", "integrity": "sha512-SzM+T5GKUCtLhlHFKt2SDAX2RFzfS6joT91F2/WSi9LxgFdsnhfPK/UIA+JhRR2xuyLdrCys2PiFDrtn1fU5hQ==" }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" - }, "is-word-character": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.2.tgz", @@ -1419,11 +457,6 @@ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" - }, "js-yaml": { "version": "3.13.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", @@ -1439,18 +472,13 @@ "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==" }, "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz", + "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==", "requires": { "minimist": "^1.2.0" } }, - "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - }, "load-plugin": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/load-plugin/-/load-plugin-2.3.0.tgz", @@ -1465,19 +493,6 @@ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.2.tgz", "integrity": "sha512-TmYTeEYxiAmSVdpbnQDXGtvYOIRsCMg89CVZzwzc2o7GFL1CjoiRPjH5ec0NFAVlAx3fVof9dX/t6KKRAo2OWA==" }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" - } - }, "markdown-escapes": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.2.tgz", @@ -1516,26 +531,6 @@ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz", "integrity": "sha512-868pp48gUPmZIhfKrLbaDneuzGiw3OTDjHc5M1kAepR2CWBJ+HpEsm252K4aXdiP5coVZaJPOqGtVU6Po8xnXg==" }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -1549,53 +544,10 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" }, - "mixin-deep": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", - "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "nan": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.13.2.tgz", - "integrity": "sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw==", - "optional": true - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "normalize-path": { "version": "3.0.0", @@ -1612,55 +564,6 @@ "untildify": "^2.1.0" } }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "requires": { - "isobject": "^3.0.1" - } - }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -1696,21 +599,16 @@ "json-parse-better-errors": "^1.0.1" } }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" - }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, + "picomatch": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", + "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==" + }, "plur": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/plur/-/plur-3.1.1.tgz", @@ -1719,11 +617,6 @@ "irregular-plurals": "^2.0.0" } }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" - }, "process-nextick-args": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", @@ -1755,22 +648,11 @@ } }, "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.0.2.tgz", + "integrity": "sha512-LbyJYv48eywrhOlScq16H/VkCiGKGPC2TpOdZCJ7QXnYEjn3NN/Oblh8QEU3vqfSRBB7OGvh5x45NKiVeNujIQ==", "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "picomatch": "^2.0.4" } }, "remark": { @@ -2290,16 +1172,6 @@ "xtend": "^4.0.1" } }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" - }, "repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", @@ -2315,50 +1187,11 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } - }, - "set-value": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", - "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, "shellsubstitute": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shellsubstitute/-/shellsubstitute-1.2.0.tgz", @@ -2369,138 +1202,6 @@ "resolved": "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz", "integrity": "sha1-CzpmK10Ewxd7GSa+qCsD+Dei70E=" }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -2511,25 +1212,6 @@ "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.1.tgz", "integrity": "sha512-Qe8QntFrrpWTnHwvwj2FZTgv+PKIsp0B9VxLzLLbSpPXWOgRgc5LVj/aTiSfK1RqIeF9jeC1UeOH8Q8y60A7og==" }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -2584,47 +1266,12 @@ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "^7.0.0" } }, "to-vfile": { @@ -2681,18 +1328,160 @@ } }, "unified-args": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/unified-args/-/unified-args-6.0.0.tgz", - "integrity": "sha512-1m2pGiTClgcCtCvgtABkJLze8JJiZpzsqujRhzBjZsRwaIIU1Yj36YHY6t2RvidO8d6fucZdk3KX+8eS4+uv9g==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/unified-args/-/unified-args-7.0.0.tgz", + "integrity": "sha512-TOuBOwTU6pjMbQxhh+94aqSSCkd7C+s7EJMTn/NKSiy6G8+1eRrRorh7Y5Is66spnZwUk5OdPPavRtH26V7NBA==", "requires": { "camelcase": "^5.0.0", "chalk": "^2.0.0", - "chokidar": "^2.0.0", + "chokidar": "^3.0.0", "fault": "^1.0.2", - "json5": "^1.0.0", + "json5": "^2.0.0", "minimist": "^1.2.0", "text-table": "^0.2.0", - "unified-engine": "^6.0.0" + "unified-engine": "^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "ignore": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.2.tgz", + "integrity": "sha512-vdqWBp7MyzdmHkkRWV5nY+PfGRbYbahfuvsBCh277tq+w9zyNi7h5CYJCK0kmzti9kU+O/cB7sE8HvKv6aXAKQ==" + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "readable-stream": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.4.0.tgz", + "integrity": "sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "string-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz", + "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^5.2.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "to-vfile": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/to-vfile/-/to-vfile-6.0.0.tgz", + "integrity": "sha512-i9fwXXSsHLu7mzgixc1WjgnqSe6pGpjnzCYoFmrASvEueLfyKf09QAe+XQYu8OAJ62aFqHpe2EKXojeRVvEzqA==", + "requires": { + "is-buffer": "^2.0.0", + "vfile": "^4.0.0" + } + }, + "unified-engine": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/unified-engine/-/unified-engine-7.0.0.tgz", + "integrity": "sha512-zH/MvcISpWg3JZtCoY/GYBw1WnVHkhnPoMBWpmuvAifCPSS9mzT9EbtimesJp6t2nnr/ojI0mg3TmkO1CjIwVA==", + "requires": { + "concat-stream": "^2.0.0", + "debug": "^4.0.0", + "fault": "^1.0.0", + "figures": "^3.0.0", + "fn-name": "^2.0.1", + "glob": "^7.0.3", + "ignore": "^5.0.0", + "is-empty": "^1.0.0", + "is-hidden": "^1.0.1", + "is-object": "^1.0.1", + "js-yaml": "^3.6.1", + "load-plugin": "^2.0.0", + "parse-json": "^4.0.0", + "to-vfile": "^6.0.0", + "trough": "^1.0.0", + "unist-util-inspect": "^4.1.2", + "vfile-reporter": "^6.0.0", + "vfile-statistics": "^1.1.0", + "x-is-string": "^0.1.0", + "xtend": "^4.0.1" + } + }, + "unist-util-stringify-position": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz", + "integrity": "sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA==", + "requires": { + "@types/unist": "^2.0.2" + } + }, + "vfile": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.0.1.tgz", + "integrity": "sha512-lRHFCuC4SQBFr7Uq91oJDJxlnftoTLQ7eKIpMdubhYcVMho4781a8MWXLy3qZrZ0/STD1kRiKc0cQOHm4OkPeA==", + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "replace-ext": "1.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + } + }, + "vfile-message": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.1.tgz", + "integrity": "sha512-KtasSV+uVU7RWhUn4Lw+wW1Zl/nW8JWx7JCPps10Y9JRRIDeDXf8wfBLoOSsJLyo27DqMyAi54C6Jf/d6Kr2Bw==", + "requires": { + "@types/unist": "^2.0.2", + "unist-util-stringify-position": "^2.0.0" + } + }, + "vfile-reporter": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-6.0.0.tgz", + "integrity": "sha512-8Is0XxFxWJUhPJdOg3CyZTqd3ICCWg6r304PuBl818ZG91h4FMS3Q+lrOPS+cs5/DZK3H0+AkJdH0J8JEwKtDA==", + "requires": { + "repeat-string": "^1.5.0", + "string-width": "^4.0.0", + "supports-color": "^6.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-sort": "^2.1.2", + "vfile-statistics": "^1.1.0" + } + } } }, "unified-engine": { @@ -2754,38 +1543,6 @@ "vfile-location": "^2.0.0" } }, - "union-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", - "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^0.4.3" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "set-value": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", - "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.1", - "to-object-path": "^0.3.0" - } - } - } - }, "unist-util-generated": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.4.tgz", @@ -2838,42 +1595,6 @@ "unist-util-is": "^2.1.2" } }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, "untildify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/untildify/-/untildify-2.1.0.tgz", @@ -2882,21 +1603,6 @@ "os-homedir": "^1.0.0" } }, - "upath": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", - "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==" - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", diff --git a/tools/node-lint-md-cli-rollup/package.json b/tools/node-lint-md-cli-rollup/package.json index 584c189197a10a..cb34f3f88d877d 100644 --- a/tools/node-lint-md-cli-rollup/package.json +++ b/tools/node-lint-md-cli-rollup/package.json @@ -10,7 +10,7 @@ "remark": "^10.0.1", "remark-lint": "^6.0.4", "remark-preset-lint-node": "^1.7.0", - "unified-args": "^6.0.0", + "unified-args": "^7.0.0", "unified-engine": "^6.0.1" }, "main": "src/cli-entry.js", From 3f6f968dee9a2183623811e027b332ecab03c73b Mon Sep 17 00:00:00 2001 From: Sam Roberts Date: Fri, 28 Jun 2019 09:36:30 -0700 Subject: [PATCH 140/144] test: skip tests related to CI failures on AIX These tests seem to trigger failures in the entire CI job (not just the test) on AIX. Skip them to see if that helps alleviate spurious failures in node-test-commit-aix (and the upstream PR and commit test jobs). See: - https://github.com/nodejs/build/issues/1820#issuecomment-505998851 - https://github.com/nodejs/build/issues/1847#issuecomment-504210708 PR-URL: https://github.com/nodejs/node/pull/28469 Reviewed-By: Michael Dawson Reviewed-By: Daniel Bevenius Reviewed-By: Rich Trott --- .../test-stringbytes-external-exceed-max.js | 5 +++++ test/message/message.status | 3 +++ test/pseudo-tty/pseudo-tty.status | 4 ++++ test/sequential/sequential.status | 3 +++ 4 files changed, 15 insertions(+) diff --git a/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max.js b/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max.js index d65144e04d457c..d6a442f7516c1f 100644 --- a/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max.js +++ b/test/addons/stringbytes-external-exceed-max/test-stringbytes-external-exceed-max.js @@ -5,6 +5,11 @@ const skipMessage = 'intensive toString tests due to memory confinements'; if (!common.enoughTestMem) common.skip(skipMessage); +// See https://github.com/nodejs/build/issues/1820#issuecomment-505998851 +// See https://github.com/nodejs/node/pull/28469 +if (process.platform === 'aix') + common.skip('flaky on AIX'); + const binding = require(`./build/${common.buildType}/binding`); // v8 fails silently if string length > v8::String::kMaxLength diff --git a/test/message/message.status b/test/message/message.status index 1a4a0e3adc2727..d7bd7f48c9faf8 100644 --- a/test/message/message.status +++ b/test/message/message.status @@ -16,3 +16,6 @@ prefix message [$system==freebsd] +[$system==aix] +# https://github.com/nodejs/node/pull/28469 +vm_dont_display_syntax_error: SKIP diff --git a/test/pseudo-tty/pseudo-tty.status b/test/pseudo-tty/pseudo-tty.status index 7925290e05acf6..9917c08181df8a 100644 --- a/test/pseudo-tty/pseudo-tty.status +++ b/test/pseudo-tty/pseudo-tty.status @@ -1,6 +1,10 @@ prefix pseudo-tty [$system==aix] +# https://github.com/nodejs/build/issues/1820#issuecomment-505998851 +# https://github.com/nodejs/node/pull/28469 +console-dumb-tty: SKIP +test-fatal-error: SKIP [$system==solaris] # https://github.com/nodejs/node/pull/16225 - `ioctl(fd, TIOCGWINSZ)` seems diff --git a/test/sequential/sequential.status b/test/sequential/sequential.status index 5b28e756287323..15010788fa3117 100644 --- a/test/sequential/sequential.status +++ b/test/sequential/sequential.status @@ -19,5 +19,8 @@ test-http2-large-file: PASS, FLAKY [$system==freebsd] [$system==aix] +# https://github.com/nodejs/node/pull/28469 +test-async-wrap-getasyncid: SKIP +test-buffer-creation-regression: SKIP [$arch==arm] From 8a64b70efe9207f4eaad818780ab3088c91899fe Mon Sep 17 00:00:00 2001 From: Rich Trott Date: Thu, 27 Jun 2019 16:36:47 -0700 Subject: [PATCH 141/144] test: fix flaky test-vm-timeout-escape-nexttick PR-URL: https://github.com/nodejs/node/pull/28461 Fixes: https://github.com/nodejs/node/issues/24120 Reviewed-By: Luigi Pinca Reviewed-By: James M Snell --- test/known_issues/known_issues.status | 2 -- .../test-vm-timeout-escape-nexttick.js | 30 +++++++++++-------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/test/known_issues/known_issues.status b/test/known_issues/known_issues.status index fbc4534cf6c26c..fdf2d86bcd52bf 100644 --- a/test/known_issues/known_issues.status +++ b/test/known_issues/known_issues.status @@ -22,5 +22,3 @@ test-vm-timeout-escape-promise: PASS,FLAKY [$system==aix] [$arch==arm] -# https://github.com/nodejs/node/issues/24120 -test-vm-timeout-escape-nexttick: PASS,FLAKY diff --git a/test/known_issues/test-vm-timeout-escape-nexttick.js b/test/known_issues/test-vm-timeout-escape-nexttick.js index 40937c96d91a69..c6967cd742f9f3 100644 --- a/test/known_issues/test-vm-timeout-escape-nexttick.js +++ b/test/known_issues/test-vm-timeout-escape-nexttick.js @@ -27,16 +27,20 @@ function loop() { } } -assert.throws(() => { - vm.runInNewContext( - 'nextTick(loop); loop();', - { - hrtime, - nextTick, - loop - }, - { timeout: common.platformTimeout(10) } - ); -}, { - code: 'ERR_SCRIPT_EXECUTION_TIMEOUT' -}); +// The bug won't happen 100% reliably so run the test a small number of times to +// make sure we catch it if the bug exists. +for (let i = 0; i < 4; i++) { + assert.throws(() => { + vm.runInNewContext( + 'nextTick(loop); loop();', + { + hrtime, + nextTick, + loop + }, + { timeout: common.platformTimeout(10) } + ); + }, { + code: 'ERR_SCRIPT_EXECUTION_TIMEOUT' + }); +} From cd71aad62bfcb83dfcc7b6267c6cc6e9bf49aa70 Mon Sep 17 00:00:00 2001 From: NickNaso Date: Thu, 23 May 2019 11:57:31 +0200 Subject: [PATCH 142/144] build: expose napi_build_version variable Expose `napi_build_version` to allow `node-gyp` to make it available for building native addons. Fixes: https://github.com/nodejs/node-gyp/issues/1745 Refs: https://github.com/nodejs/abi-stable-node/issues/371 PR-URL: https://github.com/nodejs/node/pull/27835 Reviewed-By: Ben Noordhuis Reviewed-By: Anna Henningsen Reviewed-By: Gabriel Schulhof Reviewed-By: Luigi Pinca Reviewed-By: Richard Lau Reviewed-By: Michael Dawson --- configure.py | 6 ++++++ doc/api/process.md | 1 + src/js_native_api.h | 7 ++++++- src/node_version.h | 3 ++- test/parallel/test-process-versions.js | 3 +++ tools/getnapibuildversion.py | 26 ++++++++++++++++++++++++++ 6 files changed, 44 insertions(+), 2 deletions(-) create mode 100644 tools/getnapibuildversion.py diff --git a/configure.py b/configure.py index 6ecc33174ba1cc..4985200b284bae 100755 --- a/configure.py +++ b/configure.py @@ -34,6 +34,7 @@ # imports in tools/ sys.path.insert(0, 'tools') import getmoduleversion +import getnapibuildversion from gyp_node import run_gyp # imports in deps/v8/tools/node @@ -1147,6 +1148,10 @@ def configure_node(o): else: o['variables']['node_target_type'] = 'executable' +def configure_napi(output): + version = getnapibuildversion.get_napi_version() + output['variables']['napi_build_version'] = version + def configure_library(lib, output): shared_lib = 'shared_' + lib output['variables']['node_' + shared_lib] = b(getattr(options, shared_lib)) @@ -1626,6 +1631,7 @@ def make_bin_override(): flavor = GetFlavor(flavor_params) configure_node(output) +configure_napi(output) configure_library('zlib', output) configure_library('http_parser', output) configure_library('libuv', output) diff --git a/doc/api/process.md b/doc/api/process.md index 8b7f0a67e0c538..e274d96f7838a7 100644 --- a/doc/api/process.md +++ b/doc/api/process.md @@ -662,6 +662,7 @@ An example of the possible output looks like: variables: { host_arch: 'x64', + napi_build_version: 4, node_install_npm: 'true', node_prefix: '', node_shared_cares: 'false', diff --git a/src/js_native_api.h b/src/js_native_api.h index 0646a2d94cfd28..4f9345a4abf134 100644 --- a/src/js_native_api.h +++ b/src/js_native_api.h @@ -12,7 +12,12 @@ #ifdef NAPI_EXPERIMENTAL #define NAPI_VERSION NAPI_VERSION_EXPERIMENTAL #else -// The baseline version for N-API +// The baseline version for N-API. +// The NAPI_VERSION controls which version will be used by default when +// compilling a native addon. If the addon developer specifically wants to use +// functions available in a new version of N-API that is not yet ported in all +// LTS versions, they can set NAPI_VERSION knowing that they have specifically +// depended on that version. #define NAPI_VERSION 4 #endif #endif diff --git a/src/node_version.h b/src/node_version.h index 97c136c7190c01..eaabb46f78b376 100644 --- a/src/node_version.h +++ b/src/node_version.h @@ -91,7 +91,8 @@ */ #define NODE_MODULE_VERSION 72 -// the NAPI_VERSION provided by this version of the runtime +// The NAPI_VERSION provided by this version of the runtime. This is the version +// which the Node binary being built supports. #define NAPI_VERSION 4 #endif // SRC_NODE_VERSION_H_ diff --git a/test/parallel/test-process-versions.js b/test/parallel/test-process-versions.js index 18dffe0cadbe36..83568a30d8074a 100644 --- a/test/parallel/test-process-versions.js +++ b/test/parallel/test-process-versions.js @@ -45,3 +45,6 @@ for (let i = 0; i < expected_keys.length; i++) { const descriptor = Object.getOwnPropertyDescriptor(process.versions, key); assert.strictEqual(descriptor.writable, false); } + +assert.strictEqual(process.config.variables.napi_build_version, + process.versions.napi); diff --git a/tools/getnapibuildversion.py b/tools/getnapibuildversion.py new file mode 100644 index 00000000000000..de1de676d3763e --- /dev/null +++ b/tools/getnapibuildversion.py @@ -0,0 +1,26 @@ +from __future__ import print_function +import os +import re + + +def get_napi_version(): + napi_version_h = os.path.join( + os.path.dirname(__file__), + '..', + 'src', + 'node_version.h') + + f = open(napi_version_h) + + regex = '^#define NAPI_VERSION' + + for line in f: + if re.match(regex, line): + napi_version = line.split()[2] + return napi_version + + raise Exception('Could not find pattern matching %s' % regex) + + +if __name__ == '__main__': + print(get_napi_version()) From 3a493b804e082e535ad7ff6390f02f98a01e17d2 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Tue, 2 Jul 2019 11:07:43 -0400 Subject: [PATCH 143/144] deps: upgrade to libuv 1.30.1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This upgrade is a small patch release, fixing compilation errors on Android, Cygwin, and uClibc - none of which are tested in the CI. PR-URL: https://github.com/nodejs/node/pull/28511 Reviewed-By: Saúl Ibarra Corretgé Reviewed-By: Richard Lau Reviewed-By: Santiago Gimeno Reviewed-By: Ben Noordhuis --- deps/uv/CMakeLists.txt | 3 +-- deps/uv/ChangeLog | 17 +++++++++++++++++ deps/uv/configure.ac | 2 +- deps/uv/docs/src/threadpool.rst | 2 +- deps/uv/include/uv/version.h | 2 +- deps/uv/src/unix/cygwin.c | 4 ++++ deps/uv/src/unix/thread.c | 18 +++++++++++++----- deps/uv/test/test-tcp-try-write-error.c | 2 +- 8 files changed, 39 insertions(+), 11 deletions(-) diff --git a/deps/uv/CMakeLists.txt b/deps/uv/CMakeLists.txt index f2ed3722c47329..a34e5a1b80a988 100644 --- a/deps/uv/CMakeLists.txt +++ b/deps/uv/CMakeLists.txt @@ -260,8 +260,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Android") src/unix/linux-syscalls.c src/unix/procfs-exepath.c src/unix/pthread-fixes.c - src/unix/sysinfo-loadavg.c - src/unix/sysinfo-memory.c) + src/unix/sysinfo-loadavg.c) endif() if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "Android|Linux|OS/390") diff --git a/deps/uv/ChangeLog b/deps/uv/ChangeLog index b9ed7484a50a32..a6e2786b0ed330 100644 --- a/deps/uv/ChangeLog +++ b/deps/uv/ChangeLog @@ -1,3 +1,20 @@ +2019.07.03, Version 1.30.1 (Stable), 1551969c84c2f546a429dac169c7fdac3e38115e + +Changes since version 1.30.0: + +* doc: fix incorrect versionchanged (cjihrig) + +* test: allow UV_ECONNRESET in tcp_try_write_error (cjihrig) + +* unix: add uv_get_constrained_memory() cygwin stub (cjihrig) + +* build: fix android cmake build (Ben Noordhuis) + +* unix: squelch -Wcast-function-type warning (Ben Noordhuis) + +* build: fix compile error with uClibc (zlargon) + + 2019.06.28, Version 1.30.0 (Stable), 365b6f2a0eacda1ff52be8e57ab9381cfddc5dbb Changes since version 1.29.1: diff --git a/deps/uv/configure.ac b/deps/uv/configure.ac index 626ad4c7b0d975..52aaddcfc150c9 100644 --- a/deps/uv/configure.ac +++ b/deps/uv/configure.ac @@ -13,7 +13,7 @@ # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. AC_PREREQ(2.57) -AC_INIT([libuv], [1.30.0], [https://github.com/libuv/libuv/issues]) +AC_INIT([libuv], [1.30.1], [https://github.com/libuv/libuv/issues]) AC_CONFIG_MACRO_DIR([m4]) m4_include([m4/libuv-extra-automake-flags.m4]) m4_include([m4/as_case.m4]) diff --git a/deps/uv/docs/src/threadpool.rst b/deps/uv/docs/src/threadpool.rst index ed41c37fe327d2..cf6cdc1be0f2c4 100644 --- a/deps/uv/docs/src/threadpool.rst +++ b/deps/uv/docs/src/threadpool.rst @@ -12,7 +12,7 @@ Its default size is 4, but it can be changed at startup time by setting the ``UV_THREADPOOL_SIZE`` environment variable to any value (the absolute maximum is 1024). -.. versionchanged:: 1.29.2 the maximum UV_THREADPOOL_SIZE allowed was increased from 128 to 1024. +.. versionchanged:: 1.30.0 the maximum UV_THREADPOOL_SIZE allowed was increased from 128 to 1024. The threadpool is global and shared across all event loops. When a particular function makes use of the threadpool (i.e. when using :c:func:`uv_queue_work`) diff --git a/deps/uv/include/uv/version.h b/deps/uv/include/uv/version.h index eb1f0c6597eeee..bf992d2d0ee6d8 100644 --- a/deps/uv/include/uv/version.h +++ b/deps/uv/include/uv/version.h @@ -32,7 +32,7 @@ #define UV_VERSION_MAJOR 1 #define UV_VERSION_MINOR 30 -#define UV_VERSION_PATCH 0 +#define UV_VERSION_PATCH 1 #define UV_VERSION_IS_RELEASE 1 #define UV_VERSION_SUFFIX "" diff --git a/deps/uv/src/unix/cygwin.c b/deps/uv/src/unix/cygwin.c index 9da20e203aa238..6b5cfb7ba5b817 100644 --- a/deps/uv/src/unix/cygwin.c +++ b/deps/uv/src/unix/cygwin.c @@ -52,3 +52,7 @@ void uv_free_cpu_info(uv_cpu_info_t* cpu_infos, int count) { (void)cpu_infos; (void)count; } + +uint64_t uv_get_constrained_memory(void) { + return 0; /* Memory constraints are unknown. */ +} diff --git a/deps/uv/src/unix/thread.c b/deps/uv/src/unix/thread.c index cd0b7aa6aaf923..f10c351ebba27a 100644 --- a/deps/uv/src/unix/thread.c +++ b/deps/uv/src/unix/thread.c @@ -37,7 +37,7 @@ #include #endif -#ifdef __GLIBC__ +#if defined(__GLIBC__) && !defined(__UCLIBC__) #include /* gnu_get_libc_version() */ #endif @@ -222,6 +222,12 @@ int uv_thread_create_ex(uv_thread_t* tid, size_t pagesize; size_t stack_size; + /* Used to squelch a -Wcast-function-type warning. */ + union { + void (*in)(void*); + void* (*out)(void*); + } f; + stack_size = params->flags & UV_THREAD_HAS_STACK_SIZE ? params->stack_size : 0; @@ -248,7 +254,8 @@ int uv_thread_create_ex(uv_thread_t* tid, abort(); } - err = pthread_create(tid, attr, (void*(*)(void*)) entry, arg); + f.in = entry; + err = pthread_create(tid, attr, f.out, arg); if (attr != NULL) pthread_attr_destroy(attr); @@ -474,7 +481,7 @@ int uv_sem_trywait(uv_sem_t* sem) { #else /* !(defined(__APPLE__) && defined(__MACH__)) */ -#ifdef __GLIBC__ +#if defined(__GLIBC__) && !defined(__UCLIBC__) /* Hack around https://sourceware.org/bugzilla/show_bug.cgi?id=12674 * by providing a custom implementation for glibc < 2.21 in terms of other @@ -510,7 +517,8 @@ typedef struct uv_semaphore_s { unsigned int value; } uv_semaphore_t; -#if defined(__GLIBC__) || platform_needs_custom_semaphore +#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || \ + platform_needs_custom_semaphore STATIC_ASSERT(sizeof(uv_sem_t) >= sizeof(uv_semaphore_t*)); #endif @@ -639,7 +647,7 @@ static int uv__sem_trywait(uv_sem_t* sem) { } int uv_sem_init(uv_sem_t* sem, unsigned int value) { -#ifdef __GLIBC__ +#if defined(__GLIBC__) && !defined(__UCLIBC__) uv_once(&glibc_version_check_once, glibc_version_check); #endif diff --git a/deps/uv/test/test-tcp-try-write-error.c b/deps/uv/test/test-tcp-try-write-error.c index 58d4723c0903ef..2201d0ea61ad31 100644 --- a/deps/uv/test/test-tcp-try-write-error.c +++ b/deps/uv/test/test-tcp-try-write-error.c @@ -48,7 +48,7 @@ static void incoming_close_cb(uv_handle_t* handle) { while (r > 0) r = uv_try_write((uv_stream_t*) &client, &buf, 1); fprintf(stderr, "uv_try_write error: %d %s\n", r, uv_strerror(r)); - ASSERT(r == UV_EPIPE || r == UV_ECONNABORTED); + ASSERT(r == UV_EPIPE || r == UV_ECONNABORTED || r == UV_ECONNRESET); ASSERT(client.write_queue_size == 0); } From e71a0f4d5faa4ad77887fbb3fff0ddb7bca6942e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Zasso?= Date: Tue, 2 Jul 2019 10:12:51 +0200 Subject: [PATCH 144/144] 2019-07-03, Version 12.6.0 (Current) Notable changes: * build: * Experimental support for building Node.js on MIPS architecture is back. https://github.com/nodejs/node/pull/27992 * child_process: * The promisified versions of `child_process.exec` and `child_process.execFile` now both return a `Promise` which has the child instance attached to their `child` property. https://github.com/nodejs/node/pull/28325 * deps: * Updated libuv to 1.30.1. https://github.com/nodejs/node/pull/28449, https://github.com/nodejs/node/pull/28511 * Support for the Haiku platform has been added. * The maximum `UV_THREADPOOL_SIZE` has been increased from 128 to 1024. * `uv_fs_copyfile()` now works properly when the source and destination files are the same. * process: * A new method, `process.resourceUsage()` was added. It returns resource usage for the current process, such as CPU time. https://github.com/nodejs/node/pull/28018 * src: * Fixed an issue related to stdio that could lead to a crash of the process in some circumstances. https://github.com/nodejs/node/pull/28490 * stream: * Added a `writableFinished` property to writable streams. It indicates that all the data has been flushed to the underlying system. https://github.com/nodejs/node/pull/28007 * worker: * Fixed an issue that prevented worker threads to listen for data on stdin. https://github.com/nodejs/node/pull/28153 * meta: * Added Jiawen Geng (https://github.com/gengjiawen) to collaborators. https://github.com/nodejs/node/pull/28322 PR-URL: https://github.com/nodejs/node/pull/28508 --- CHANGELOG.md | 3 +- doc/api/n-api.md | 2 +- doc/api/process.md | 2 +- doc/api/stream.md | 2 +- doc/changelogs/CHANGELOG_V12.md | 177 ++++++++++++++++++++++++++++++++ src/node_version.h | 6 +- 6 files changed, 185 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9944b89eb66cac..deb0b763f93ac8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,7 +28,8 @@ release. -12.5.0
+12.6.0
+12.5.0
12.4.0
12.3.1
12.3.0
diff --git a/doc/api/n-api.md b/doc/api/n-api.md index e7db0a4c3b01b2..74019852ff292b 100644 --- a/doc/api/n-api.md +++ b/doc/api/n-api.md @@ -4655,7 +4655,7 @@ prevent the event loop from exiting. The APIs `napi_ref_threadsafe_function` and added: v10.6.0 napiVersion: 4 changes: - - version: REPLACEME + - version: v12.6.0 pr-url: https://github.com/nodejs/node/pull/27791 description: Made `func` parameter optional with custom `call_js_cb`. --> diff --git a/doc/api/process.md b/doc/api/process.md index e274d96f7838a7..181520b32615db 100644 --- a/doc/api/process.md +++ b/doc/api/process.md @@ -1818,7 +1818,7 @@ Additional documentation is available in the [report documentation][]. ## process.resourceUsage() * Returns: {Object} diff --git a/doc/api/stream.md b/doc/api/stream.md index 92a7e818e4eb57..084117e6599960 100644 --- a/doc/api/stream.md +++ b/doc/api/stream.md @@ -505,7 +505,7 @@ the status of the `highWaterMark`. ##### writable.writableFinished * {boolean} diff --git a/doc/changelogs/CHANGELOG_V12.md b/doc/changelogs/CHANGELOG_V12.md index 1cbbcab0b06c03..f0f53757bb8833 100644 --- a/doc/changelogs/CHANGELOG_V12.md +++ b/doc/changelogs/CHANGELOG_V12.md @@ -9,6 +9,7 @@ +12.6.0
12.5.0
12.4.0
12.3.1
@@ -34,6 +35,182 @@ * [io.js](CHANGELOG_IOJS.md) * [Archive](CHANGELOG_ARCHIVE.md) + +## 2019-07-03, Version 12.6.0 (Current), @targos + +### Notable changes + +* **build**: + * Experimental support for building Node.js on MIPS architecture is back [#27992](https://github.com/nodejs/node/pull/27992). +* **child_process**: + * The promisified versions of `child_process.exec` and `child_process.execFile` + now both return a `Promise` which has the child instance attached to their + `child` property [#28325](https://github.com/nodejs/node/pull/28325). +* **deps**: + * Updated libuv to 1.30.1 [#28449](https://github.com/nodejs/node/pull/28449), [#28511](https://github.com/nodejs/node/pull/28511). + * Support for the Haiku platform has been added. + * The maximum `UV_THREADPOOL_SIZE` has been increased from 128 to 1024. + * `uv_fs_copyfile()` now works properly when the source and destination files are the same. +* **process**: + * A new method, `process.resourceUsage()` was added. It returns resource usage + for the current process, such as CPU time [#28018](https://github.com/nodejs/node/pull/28018). +* **src**: + * Fixed an issue related to stdio that could lead to a crash of the process in + some circumstances [#28490](https://github.com/nodejs/node/pull/28490). +* **stream**: + * Added a `writableFinished` property to writable streams. It indicates that + all the data has been flushed to the underlying system [#28007](https://github.com/nodejs/node/pull/28007). +* **worker**: + * Fixed an issue that prevented worker threads to listen for data on stdin [#28153](https://github.com/nodejs/node/pull/28153). +* **meta**: + * Added [Jiawen Geng](https://github.com/gengjiawen) to collaborators [#28322](https://github.com/nodejs/node/pull/28322). + +### Commits + +* [[`db65594c33`](https://github.com/nodejs/node/commit/db65594c33)] - **benchmark**: refactor buffer benchmarks (Ruben Bridgewater) [#26418](https://github.com/nodejs/node/pull/26418) +* [[`e607055693`](https://github.com/nodejs/node/commit/e607055693)] - **bootstrap**: --frozen-intrinsics override problem workaround (Guy Bedford) [#28254](https://github.com/nodejs/node/pull/28254) +* [[`cd71aad62b`](https://github.com/nodejs/node/commit/cd71aad62b)] - **build**: expose napi\_build\_version variable (NickNaso) [#27835](https://github.com/nodejs/node/pull/27835) +* [[`4d12cef2a5`](https://github.com/nodejs/node/commit/4d12cef2a5)] - **build**: link libatomic on mac and linux (Gus Caplan) [#28232](https://github.com/nodejs/node/pull/28232) +* [[`cfb5ca3887`](https://github.com/nodejs/node/commit/cfb5ca3887)] - **build**: enable openssl support for mips64el (mutao) [#27992](https://github.com/nodejs/node/pull/27992) +* [[`2cf37f54f0`](https://github.com/nodejs/node/commit/2cf37f54f0)] - ***Revert*** "**build**: remove mips support" (mutao) [#27992](https://github.com/nodejs/node/pull/27992) +* [[`dd5e07f9b4`](https://github.com/nodejs/node/commit/dd5e07f9b4)] - **child_process**: attach child in promisification (cjihrig) [#28325](https://github.com/nodejs/node/pull/28325) +* [[`f21ddb2131`](https://github.com/nodejs/node/commit/f21ddb2131)] - **crypto**: move \_impl call out of handleError funct (Daniel Bevenius) [#28318](https://github.com/nodejs/node/pull/28318) +* [[`558e9cfb6c`](https://github.com/nodejs/node/commit/558e9cfb6c)] - **crypto**: move \_pbkdf2 call out of handleError funct (Daniel Bevenius) [#28318](https://github.com/nodejs/node/pull/28318) +* [[`47b230a92b`](https://github.com/nodejs/node/commit/47b230a92b)] - **crypto**: move \_randomBytes call out of handleError funct (Daniel Bevenius) [#28318](https://github.com/nodejs/node/pull/28318) +* [[`def96ae278`](https://github.com/nodejs/node/commit/def96ae278)] - **crypto**: move \_scrypt call out of handleError funct (Daniel Bevenius) [#28318](https://github.com/nodejs/node/pull/28318) +* [[`990feafcb6`](https://github.com/nodejs/node/commit/990feafcb6)] - **crypto**: fix crash when calling digest after piping (Tobias Nießen) [#28251](https://github.com/nodejs/node/pull/28251) +* [[`43677325e1`](https://github.com/nodejs/node/commit/43677325e1)] - **deps**: upgrade to libuv 1.30.0 (cjihrig) [#28449](https://github.com/nodejs/node/pull/28449) +* [[`3a493b804e`](https://github.com/nodejs/node/commit/3a493b804e)] - **deps**: upgrade to libuv 1.30.1 (cjihrig) [#28511](https://github.com/nodejs/node/pull/28511) +* [[`eee66c5e56`](https://github.com/nodejs/node/commit/eee66c5e56)] - **doc**: merge bootstrap/README.md into BUILDING.md (Rod Vagg) [#28465](https://github.com/nodejs/node/pull/28465) +* [[`0111c61ec0`](https://github.com/nodejs/node/commit/0111c61ec0)] - **doc**: fix swapedOut typo (cjihrig) [#28497](https://github.com/nodejs/node/pull/28497) +* [[`14f6cee694`](https://github.com/nodejs/node/commit/14f6cee694)] - **doc**: reformat for-await-of (cjihrig) [#28425](https://github.com/nodejs/node/pull/28425) +* [[`3fea2e43c0`](https://github.com/nodejs/node/commit/3fea2e43c0)] - **doc**: update readline asyncIterator docs (cjihrig) [#28425](https://github.com/nodejs/node/pull/28425) +* [[`0d2d116446`](https://github.com/nodejs/node/commit/0d2d116446)] - **doc**: add links to 12.5.0 changelog notable changes (Gus Caplan) [#28450](https://github.com/nodejs/node/pull/28450) +* [[`96e8b988d4`](https://github.com/nodejs/node/commit/96e8b988d4)] - **doc**: clean up isDead() example (cjihrig) [#28421](https://github.com/nodejs/node/pull/28421) +* [[`3c047b3919`](https://github.com/nodejs/node/commit/3c047b3919)] - **doc**: clarify response.finished (Robert Nagy) [#28411](https://github.com/nodejs/node/pull/28411) +* [[`5367d02ce1`](https://github.com/nodejs/node/commit/5367d02ce1)] - **doc**: replace version with REPLACEME (cjihrig) [#28431](https://github.com/nodejs/node/pull/28431) +* [[`e55d0efe36`](https://github.com/nodejs/node/commit/e55d0efe36)] - **doc**: remove N-API version for Experimental APIs (Michael Dawson) [#28330](https://github.com/nodejs/node/pull/28330) +* [[`e3dd4d5225`](https://github.com/nodejs/node/commit/e3dd4d5225)] - **doc**: fix nits regarding stream utilities (Vse Mozhet Byt) [#28385](https://github.com/nodejs/node/pull/28385) +* [[`3d693c5ead`](https://github.com/nodejs/node/commit/3d693c5ead)] - **doc**: cleanup pendingSettingsAck docs (cjihrig) [#28388](https://github.com/nodejs/node/pull/28388) +* [[`b6d0cbcf20`](https://github.com/nodejs/node/commit/b6d0cbcf20)] - **doc**: add example code for worker.isDead() to cluster.md (Jesse Cogollo) [#28362](https://github.com/nodejs/node/pull/28362) +* [[`0e6196cc17`](https://github.com/nodejs/node/commit/0e6196cc17)] - **doc**: add missing word in frameError event docs (cjihrig) [#28387](https://github.com/nodejs/node/pull/28387) +* [[`d25d40e1e5`](https://github.com/nodejs/node/commit/d25d40e1e5)] - **doc**: fix sentence about Http2Stream destruction (cjihrig) [#28336](https://github.com/nodejs/node/pull/28336) +* [[`4762399aca`](https://github.com/nodejs/node/commit/4762399aca)] - **doc**: add example for Buffer.isEncoding() (Angie M. Delgado) [#28360](https://github.com/nodejs/node/pull/28360) +* [[`818f08416c`](https://github.com/nodejs/node/commit/818f08416c)] - **doc**: add example code for fs.existsSync() (nicolasrestrepo) [#28354](https://github.com/nodejs/node/pull/28354) +* [[`d759e0fa49`](https://github.com/nodejs/node/commit/d759e0fa49)] - **doc**: remove "note that" from assert.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`d384911746`](https://github.com/nodejs/node/commit/d384911746)] - **doc**: remove "note that" from async\_hooks.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`9ca7c8603e`](https://github.com/nodejs/node/commit/9ca7c8603e)] - **doc**: remove "note that" from buffer.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`658c7587ff`](https://github.com/nodejs/node/commit/658c7587ff)] - **doc**: remove "note that" from cli.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`cb89b3b290`](https://github.com/nodejs/node/commit/cb89b3b290)] - **doc**: remove "note that" from cluster.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`af05ad123e`](https://github.com/nodejs/node/commit/af05ad123e)] - **doc**: remove "note that" from console.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`898b69ccdf`](https://github.com/nodejs/node/commit/898b69ccdf)] - **doc**: remove "note that" from crypto.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`c41dbf5bc7`](https://github.com/nodejs/node/commit/c41dbf5bc7)] - **doc**: remove "note that" from dgram.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`33d9cf5a7c`](https://github.com/nodejs/node/commit/33d9cf5a7c)] - **doc**: remove "note that" from dns.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`f3b4449c07`](https://github.com/nodejs/node/commit/f3b4449c07)] - **doc**: remove "note that" from domain.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`75954865e6`](https://github.com/nodejs/node/commit/75954865e6)] - **doc**: remove "note that" from errors.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`520ef836c1`](https://github.com/nodejs/node/commit/520ef836c1)] - **doc**: remove "note that" from events.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`d65c90b545`](https://github.com/nodejs/node/commit/d65c90b545)] - **doc**: remove "note that" from fs.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`3174bc14a2`](https://github.com/nodejs/node/commit/3174bc14a2)] - **doc**: remove "note that" from http.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`f0a857f4b8`](https://github.com/nodejs/node/commit/f0a857f4b8)] - **doc**: remove "note that" from http2.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`f4c6f7a5db`](https://github.com/nodejs/node/commit/f4c6f7a5db)] - **doc**: remove "note that" from modules.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`f299c44860`](https://github.com/nodejs/node/commit/f299c44860)] - **doc**: remove "note that" from net.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`b0a6da7e3c`](https://github.com/nodejs/node/commit/b0a6da7e3c)] - **doc**: remove "note that" from process.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`eba2e3c0df`](https://github.com/nodejs/node/commit/eba2e3c0df)] - **doc**: remove "note that" from stream.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`7bd2cae197`](https://github.com/nodejs/node/commit/7bd2cae197)] - **doc**: remove "note that" from tls.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`204c9d8aa8`](https://github.com/nodejs/node/commit/204c9d8aa8)] - **doc**: remove "note that" from tty.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`5e979bff2f`](https://github.com/nodejs/node/commit/5e979bff2f)] - **doc**: remove "note that" from url.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`c3c86b6da6`](https://github.com/nodejs/node/commit/c3c86b6da6)] - **doc**: remove "note that" from util.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`6d94620bfc`](https://github.com/nodejs/node/commit/6d94620bfc)] - **doc**: remove "note that" from zlib.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`651ab3f58e`](https://github.com/nodejs/node/commit/651ab3f58e)] - **doc**: remove "note that" from pull-requests.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`9ac3a553ea`](https://github.com/nodejs/node/commit/9ac3a553ea)] - **doc**: remove "note that" from maintaining-V8.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`a67afc8b60`](https://github.com/nodejs/node/commit/a67afc8b60)] - **doc**: remove "note that" from maintaining-the-build-files.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`9461ef8afb`](https://github.com/nodejs/node/commit/9461ef8afb)] - **doc**: remove "note that" from using-symbols.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`ffba80b107`](https://github.com/nodejs/node/commit/ffba80b107)] - **doc**: remove "note that" from writing-and-running-benchmarks.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`1591309735`](https://github.com/nodejs/node/commit/1591309735)] - **doc**: remove "note that" from writing-tests.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`3daced70cf`](https://github.com/nodejs/node/commit/3daced70cf)] - **doc**: remove "make that" from onboarding.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`79f23b5aa6`](https://github.com/nodejs/node/commit/79f23b5aa6)] - **doc**: remove "note that" from releases.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`71cf5586a9`](https://github.com/nodejs/node/commit/71cf5586a9)] - **doc**: remove "note that" from CPP\_STYLE\_GUIDE.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`3d6ae65181`](https://github.com/nodejs/node/commit/3d6ae65181)] - **doc**: remote "note that" from BUILDING.md (Rich Trott) [#28329](https://github.com/nodejs/node/pull/28329) +* [[`64f8530adc`](https://github.com/nodejs/node/commit/64f8530adc)] - **doc**: fix typo in process.disconnect() docs (cjihrig) [#28328](https://github.com/nodejs/node/pull/28328) +* [[`c9226f5eb3`](https://github.com/nodejs/node/commit/c9226f5eb3)] - **doc**: drop 'Note that' in addons docs (cjihrig) [#28327](https://github.com/nodejs/node/pull/28327) +* [[`a213eb7635`](https://github.com/nodejs/node/commit/a213eb7635)] - **doc**: remove obsolete external link (cjihrig) [#28326](https://github.com/nodejs/node/pull/28326) +* [[`632fc1faf5`](https://github.com/nodejs/node/commit/632fc1faf5)] - **doc**: make multipleResolves docs less opinionated (cjihrig) [#28314](https://github.com/nodejs/node/pull/28314) +* [[`6063cebdd6`](https://github.com/nodejs/node/commit/6063cebdd6)] - **doc**: format ECMA-262 with a hyphen (cjihrig) [#28309](https://github.com/nodejs/node/pull/28309) +* [[`51742b834d`](https://github.com/nodejs/node/commit/51742b834d)] - **doc**: revise assert legacy mode text (Rich Trott) [#28315](https://github.com/nodejs/node/pull/28315) +* [[`57ac661bcb`](https://github.com/nodejs/node/commit/57ac661bcb)] - **doc**: document PerformanceNodeTiming.environment field (Yuriy Vasiyarov) [#28280](https://github.com/nodejs/node/pull/28280) +* [[`1f2b8c8cab`](https://github.com/nodejs/node/commit/1f2b8c8cab)] - **doc**: revise strict mode text in assert (Rich Trott) [#28285](https://github.com/nodejs/node/pull/28285) +* [[`0856a4d043`](https://github.com/nodejs/node/commit/0856a4d043)] - **doc**: add gengjiawen to collaborators (gengjiawen) [#28322](https://github.com/nodejs/node/pull/28322) +* [[`359e20f048`](https://github.com/nodejs/node/commit/359e20f048)] - **doc**: clarify when http emits aborted event (Robert Nagy) [#28262](https://github.com/nodejs/node/pull/28262) +* [[`168c12758b`](https://github.com/nodejs/node/commit/168c12758b)] - **doc**: tidy AssertionError text (Rich Trott) [#28255](https://github.com/nodejs/node/pull/28255) +* [[`17efd9372b`](https://github.com/nodejs/node/commit/17efd9372b)] - **doc**: remove instructions to post CI links (Rich Trott) [#28248](https://github.com/nodejs/node/pull/28248) +* [[`91d5a4df04`](https://github.com/nodejs/node/commit/91d5a4df04)] - **doc,n-api**: fix metadata for napi\_create\_threadsafe\_function (Richard Lau) [#28410](https://github.com/nodejs/node/pull/28410) +* [[`c9a96aeeee`](https://github.com/nodejs/node/commit/c9a96aeeee)] - **esm**: ensure cwd-relative imports for module --eval (Guy Bedford) [#28389](https://github.com/nodejs/node/pull/28389) +* [[`fd4d1e20f3`](https://github.com/nodejs/node/commit/fd4d1e20f3)] - **http2**: remove square brackets from parsed hostname (Luigi Pinca) [#28406](https://github.com/nodejs/node/pull/28406) +* [[`d8d4f9b569`](https://github.com/nodejs/node/commit/d8d4f9b569)] - **http2**: propagate session destroy code to streams (cjihrig) [#28435](https://github.com/nodejs/node/pull/28435) +* [[`d8942f877d`](https://github.com/nodejs/node/commit/d8942f877d)] - **(SEMVER-MINOR)** **http2**: use writableFinished instead of \_writableState (zero1five) [#28007](https://github.com/nodejs/node/pull/28007) +* [[`d0de204c12`](https://github.com/nodejs/node/commit/d0de204c12)] - **http2**: refactor ping + settings object lifetime management (Anna Henningsen) [#28150](https://github.com/nodejs/node/pull/28150) +* [[`5f9ee9f69f`](https://github.com/nodejs/node/commit/5f9ee9f69f)] - **lib**: fix stack overflow check to not break on primitives (kball) [#28338](https://github.com/nodejs/node/pull/28338) +* [[`b6a70520d2`](https://github.com/nodejs/node/commit/b6a70520d2)] - **lib**: refactor unhandled rejection deprecation warning emission (Joyee Cheung) [#28258](https://github.com/nodejs/node/pull/28258) +* [[`d95d610e0e`](https://github.com/nodejs/node/commit/d95d610e0e)] - **meta**: update LICENSE (Rich Trott) [#28260](https://github.com/nodejs/node/pull/28260) +* [[`ed8cee6b1a`](https://github.com/nodejs/node/commit/ed8cee6b1a)] - **n-api**: add error message for date expected (Gabriel Schulhof) [#28303](https://github.com/nodejs/node/pull/28303) +* [[`53297e66cb`](https://github.com/nodejs/node/commit/53297e66cb)] - **(SEMVER-MINOR)** **n-api**: make func argument of napi\_create\_threadsafe\_function optional (legendecas) [#27791](https://github.com/nodejs/node/pull/27791) +* [[`8ad880f3fc`](https://github.com/nodejs/node/commit/8ad880f3fc)] - **net**: replace \_writableState.finished with writableFinished (Rich Trott) [#27974](https://github.com/nodejs/node/pull/27974) +* [[`19f9281743`](https://github.com/nodejs/node/commit/19f9281743)] - **(SEMVER-MINOR)** **process**: expose uv\_rusage on process.resourcesUsage() (vmarchaud) [#28018](https://github.com/nodejs/node/pull/28018) +* [[`0fd6524680`](https://github.com/nodejs/node/commit/0fd6524680)] - **process**: split routines used to enhance fatal exception stack traces (Joyee Cheung) [#28308](https://github.com/nodejs/node/pull/28308) +* [[`e517b03701`](https://github.com/nodejs/node/commit/e517b03701)] - **process**: hide NodeEnvironmentFlagsSet's `add` function (Ruben Bridgewater) [#28206](https://github.com/nodejs/node/pull/28206) +* [[`c4a357dada`](https://github.com/nodejs/node/commit/c4a357dada)] - **report**: add report versioning (cjihrig) [#28121](https://github.com/nodejs/node/pull/28121) +* [[`035b613f80`](https://github.com/nodejs/node/commit/035b613f80)] - **src**: don't abort on EIO when restoring tty (Ben Noordhuis) [#28490](https://github.com/nodejs/node/pull/28490) +* [[`624fd17064`](https://github.com/nodejs/node/commit/624fd17064)] - **src**: fix small memory leak (David Carlier) [#28452](https://github.com/nodejs/node/pull/28452) +* [[`0044fd2642`](https://github.com/nodejs/node/commit/0044fd2642)] - **src**: add error codes to errors thrown in node\_i18n.cc (Yaniv Friedensohn) [#28221](https://github.com/nodejs/node/pull/28221) +* [[`5b92eb4686`](https://github.com/nodejs/node/commit/5b92eb4686)] - **src**: refactor uncaught exception handling (Joyee Cheung) [#28257](https://github.com/nodejs/node/pull/28257) +* [[`c491e4dfe6`](https://github.com/nodejs/node/commit/c491e4dfe6)] - **src**: fall back to env-\>exec\_path() for default profile directory (Joyee Cheung) [#28252](https://github.com/nodejs/node/pull/28252) +* [[`040b9db07b`](https://github.com/nodejs/node/commit/040b9db07b)] - **src**: save exec path when initializing Environment (Joyee Cheung) [#28252](https://github.com/nodejs/node/pull/28252) +* [[`1650bcf491`](https://github.com/nodejs/node/commit/1650bcf491)] - **(SEMVER-MINOR)** **stream**: add writableFinished (zero1five) [#28007](https://github.com/nodejs/node/pull/28007) +* [[`8a64b70efe`](https://github.com/nodejs/node/commit/8a64b70efe)] - **test**: fix flaky test-vm-timeout-escape-nexttick (Rich Trott) [#28461](https://github.com/nodejs/node/pull/28461) +* [[`3f6f968dee`](https://github.com/nodejs/node/commit/3f6f968dee)] - **test**: skip tests related to CI failures on AIX (Sam Roberts) [#28469](https://github.com/nodejs/node/pull/28469) +* [[`937afcc365`](https://github.com/nodejs/node/commit/937afcc365)] - **test**: add test to doesNotThrow; validate if actual with regex (estrada9166) [#28355](https://github.com/nodejs/node/pull/28355) +* [[`004d26d5a5`](https://github.com/nodejs/node/commit/004d26d5a5)] - **test**: add tests to assert.ok and improve coverage (estrada9166) [#28355](https://github.com/nodejs/node/pull/28355) +* [[`82b80e0a61`](https://github.com/nodejs/node/commit/82b80e0a61)] - **test**: reset validity dates of expired certs (Sam Roberts) [#28473](https://github.com/nodejs/node/pull/28473) +* [[`dce4947335`](https://github.com/nodejs/node/commit/dce4947335)] - **test**: do not use fixed port in async-hooks/test-httparser-reuse (Anna Henningsen) [#28312](https://github.com/nodejs/node/pull/28312) +* [[`79b1bf5a09`](https://github.com/nodejs/node/commit/79b1bf5a09)] - **test**: use assert() in N-API async test (Anna Henningsen) [#28423](https://github.com/nodejs/node/pull/28423) +* [[`cd78c5ef7e`](https://github.com/nodejs/node/commit/cd78c5ef7e)] - **test**: fixing broken test (melinamejia95) [#28345](https://github.com/nodejs/node/pull/28345) +* [[`d88c697f7f`](https://github.com/nodejs/node/commit/d88c697f7f)] - **test**: refactoring test, reordering arguments (David Sánchez) [#28343](https://github.com/nodejs/node/pull/28343) +* [[`e63990e383`](https://github.com/nodejs/node/commit/e63990e383)] - **test**: eliminate duplicate statements (khriztianmoreno) [#28342](https://github.com/nodejs/node/pull/28342) +* [[`b822545f84`](https://github.com/nodejs/node/commit/b822545f84)] - **test**: switch the param order in the assertion (raveneyex) [#28341](https://github.com/nodejs/node/pull/28341) +* [[`3bc62b9374`](https://github.com/nodejs/node/commit/3bc62b9374)] - **test**: switch assertion order (Yomar) [#28339](https://github.com/nodejs/node/pull/28339) +* [[`ecf4494dd2`](https://github.com/nodejs/node/commit/ecf4494dd2)] - **test**: tls switch arguments order for the assertion (Laura Ciro) [#28340](https://github.com/nodejs/node/pull/28340) +* [[`4bca4a5091`](https://github.com/nodejs/node/commit/4bca4a5091)] - **test**: change order of arguments (MistyBlunch) [#28359](https://github.com/nodejs/node/pull/28359) +* [[`4973f217b8`](https://github.com/nodejs/node/commit/4973f217b8)] - **test**: fix order of assertion arguments in test-event-emitter-num-args (Luis Gallon) [#28368](https://github.com/nodejs/node/pull/28368) +* [[`69f17f1ab0`](https://github.com/nodejs/node/commit/69f17f1ab0)] - **test**: make test-dh-regr more efficient where possible (Rich Trott) [#28390](https://github.com/nodejs/node/pull/28390) +* [[`9f508e3a0a`](https://github.com/nodejs/node/commit/9f508e3a0a)] - **test**: split pummel crypto dh test into two separate tests (Rich Trott) [#28390](https://github.com/nodejs/node/pull/28390) +* [[`e161744610`](https://github.com/nodejs/node/commit/e161744610)] - **test**: move non-pummel crypto DH tests to parallel (Rich Trott) [#28390](https://github.com/nodejs/node/pull/28390) +* [[`16926a8183`](https://github.com/nodejs/node/commit/16926a8183)] - **test**: duplicated buffer in test-stream2-writable.js (Duvan Monsalve) [#28380](https://github.com/nodejs/node/pull/28380) +* [[`758a003f9d`](https://github.com/nodejs/node/commit/758a003f9d)] - **test**: fix assertion argument order in test-buffer-failed-alloc-type (Alex Ramirez) [#28349](https://github.com/nodejs/node/pull/28349) +* [[`5047006980`](https://github.com/nodejs/node/commit/5047006980)] - **test**: use regex for OpenSSL function name (Daniel Bevenius) [#28289](https://github.com/nodejs/node/pull/28289) +* [[`b448db3e01`](https://github.com/nodejs/node/commit/b448db3e01)] - **test**: remove test-ttywrap.writestream.js (Rich Trott) [#28316](https://github.com/nodejs/node/pull/28316) +* [[`8346596552`](https://github.com/nodejs/node/commit/8346596552)] - **test**: permit test-graph.signal to work without test runner (Rich Trott) [#28305](https://github.com/nodejs/node/pull/28305) +* [[`337aef0c2f`](https://github.com/nodejs/node/commit/337aef0c2f)] - **test**: normalize location test-worker-process-cwd.js runs tests (Samantha Sample) [#28271](https://github.com/nodejs/node/pull/28271) +* [[`c14e4d5bd5`](https://github.com/nodejs/node/commit/c14e4d5bd5)] - **test**: use .code for error in setgid (=) [#28219](https://github.com/nodejs/node/pull/28219) +* [[`c44db7fea5`](https://github.com/nodejs/node/commit/c44db7fea5)] - **test**: fix flaky test-worker-debug (Anna Henningsen) [#28307](https://github.com/nodejs/node/pull/28307) +* [[`424d91aacb`](https://github.com/nodejs/node/commit/424d91aacb)] - **test**: add logging to statwatcher test (Rich Trott) [#28270](https://github.com/nodejs/node/pull/28270) +* [[`72f52a330b`](https://github.com/nodejs/node/commit/72f52a330b)] - **test**: add Worker + uncaughtException + process.exit() test (Anna Henningsen) [#28259](https://github.com/nodejs/node/pull/28259) +* [[`3a2e67b916`](https://github.com/nodejs/node/commit/3a2e67b916)] - **test**: do not spawn rmdir in test-statwatcher (João Reis) [#28276](https://github.com/nodejs/node/pull/28276) +* [[`d949eadc38`](https://github.com/nodejs/node/commit/d949eadc38)] - **test**: check custom inspection truncation in assert (Rich Trott) [#28234](https://github.com/nodejs/node/pull/28234) +* [[`993c0dbf14`](https://github.com/nodejs/node/commit/993c0dbf14)] - **test**: make sure test function resolves in test-worker-debug (Anna Henningsen) [#28155](https://github.com/nodejs/node/pull/28155) +* [[`1b4a7fb9cb`](https://github.com/nodejs/node/comit/1b4a7fb9cb)] - **tools**: update unified-args to 7.0.0 for md-lint CLI (Rich Trott) [#28434](https://github.com/nodejs/node/pull/28434) +* [[`40ae2a6025`](https://github.com/nodejs/node/commit/40ae2a6025)] - **tools**: move python code out of jenkins shell (Sam Roberts) [#28458](https://github.com/nodejs/node/pull/28458) +* [[`d38b98529c`](https://github.com/nodejs/node/commit/d38b98529c)] - **tools**: fix v8 testing with devtoolset on ppcle (Sam Roberts) [#28458](https://github.com/nodejs/node/pull/28458) +* [[`b8084840d8`](https://github.com/nodejs/node/commit/b8084840d8)] - **tools**: change editorconfig's 'ignore' to 'unset' (silverwind) [#28440](https://github.com/nodejs/node/pull/28440) +* [[`21d2bdd3ce`](https://github.com/nodejs/node/commit/21d2bdd3ce)] - **tools**: remove unused using declarations (Daniel Bevenius) [#28422](https://github.com/nodejs/node/pull/28422) +* [[`3d014e1bf9`](https://github.com/nodejs/node/commit/3d014e1bf9)] - **tools**: remove out-of-date code-cache-path comment (Daniel Bevenius) [#28419](https://github.com/nodejs/node/pull/28419) +* [[`60cf9111cb`](https://github.com/nodejs/node/commit/60cf9111cb)] - **tools**: fix typo in js2c.py (Daniel Bevenius) [#28417](https://github.com/nodejs/node/pull/28417) +* [[`b744bd9dcb`](https://github.com/nodejs/node/commit/b744bd9dcb)] - **tools**: update eslint (Ruben Bridgewater) [#28173](https://github.com/nodejs/node/pull/28173) +* [[`03e3ccdbe5`](https://github.com/nodejs/node/commit/03e3ccdbe5)] - **tools**: update remark-preset-lint-node to 1.7.0 (Rich Trott) [#28393](https://github.com/nodejs/node/pull/28393) +* [[`619eb93942`](https://github.com/nodejs/node/commit/619eb93942)] - **tools**: fix typo in cache\_builder.cc (Daniel Bevenius) [#28418](https://github.com/nodejs/node/pull/28418) +* [[`dd53e6aa7f`](https://github.com/nodejs/node/commit/dd53e6aa7f)] - **tools**: update babel-eslint to 10.0.2 (ZYSzys) [#28266](https://github.com/nodejs/node/pull/28266) +* [[`e6c7ebe90c`](https://github.com/nodejs/node/commit/e6c7ebe90c)] - **vm**: increase code coverage of source\_text\_module.js (kball) [#28363](https://github.com/nodejs/node/pull/28363) +* [[`2053dd0c9c`](https://github.com/nodejs/node/commit/2053dd0c9c)] - **worker**: only unref port for stdin if we ref’ed it before (Anna Henningsen) [#28153](https://github.com/nodejs/node/pull/28153) + ## 2019-06-27, Version 12.5.0 (Current), @BridgeAR diff --git a/src/node_version.h b/src/node_version.h index eaabb46f78b376..46f92e1b83847f 100644 --- a/src/node_version.h +++ b/src/node_version.h @@ -23,13 +23,13 @@ #define SRC_NODE_VERSION_H_ #define NODE_MAJOR_VERSION 12 -#define NODE_MINOR_VERSION 5 -#define NODE_PATCH_VERSION 1 +#define NODE_MINOR_VERSION 6 +#define NODE_PATCH_VERSION 0 #define NODE_VERSION_IS_LTS 0 #define NODE_VERSION_LTS_CODENAME "" -#define NODE_VERSION_IS_RELEASE 0 +#define NODE_VERSION_IS_RELEASE 1 #ifndef NODE_STRINGIFY #define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n)