diff --git a/mempool.js/.editorconfig b/mempool.js/.editorconfig
new file mode 100644
index 000000000..e4bfaaabe
--- /dev/null
+++ b/mempool.js/.editorconfig
@@ -0,0 +1,12 @@
+# EditorConfig is awesome: https://EditorConfig.org
+
+# top-most EditorConfig file
+root = true
+
+[*]
+indent_style = space
+indent_size = 2
+end_of_line = crlf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = false
\ No newline at end of file
diff --git a/mempool.js/.eslintrc.js b/mempool.js/.eslintrc.js
new file mode 100644
index 000000000..81a770f20
--- /dev/null
+++ b/mempool.js/.eslintrc.js
@@ -0,0 +1,16 @@
+module.exports = {
+ env: {
+ browser: true,
+ commonjs: true,
+ es2021: true,
+ },
+ extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended'],
+ parser: '@typescript-eslint/parser',
+ parserOptions: {
+ ecmaVersion: 12,
+ },
+ plugins: ['@typescript-eslint'],
+ rules: {
+ '@typescript-eslint/no-var-requires': 'off',
+ },
+};
diff --git a/mempool.js/.gitignore b/mempool.js/.gitignore
new file mode 100644
index 000000000..20a0772e1
--- /dev/null
+++ b/mempool.js/.gitignore
@@ -0,0 +1,6 @@
+/node_modules
+/lib
+/dist/*
+!.gitkeep
+
+yarn-error.log
\ No newline at end of file
diff --git a/mempool.js/.prettierrc b/mempool.js/.prettierrc
new file mode 100644
index 000000000..f160b1a90
--- /dev/null
+++ b/mempool.js/.prettierrc
@@ -0,0 +1,6 @@
+{
+ "tabWidth": 2,
+ "useTabs": false,
+ "singleQuote": true,
+ "printWidth": 80
+}
diff --git a/mempool.js/LICENSE b/mempool.js/LICENSE
new file mode 100644
index 000000000..668cd2e29
--- /dev/null
+++ b/mempool.js/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021 Miguel Medeiros
+
+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.
\ No newline at end of file
diff --git a/mempool.js/README-bisq.md b/mempool.js/README-bisq.md
new file mode 100644
index 000000000..7141b1176
--- /dev/null
+++ b/mempool.js/README-bisq.md
@@ -0,0 +1,147 @@
+# mempool**JS** - Bisq API
+
+Interface to access Bisq API.
+
+[Back to home](./README.md)
+
+---
+
+## **Features**
+
+- Addresses
+ - [Get Address](#get-address)
+- Blocks
+ - [Get Block](#get-block)
+ - [Get Blocks](#get-blocks)
+ - [Get Block Tip Height](#get-block-tip-height)
+- Statistics
+- Transactions
+ - [Get Transaction](#get-transaction)
+ - [Get Transactions](#get-transactions)
+
+---
+
+### **Get Address**
+
+Returns statistics about all Bisq transactions.
+
+[ [NodeJS Example](examples/nodejs/bisq/addresses.ts) ] [ [HTML Example](examples/html/bisq/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bisq: { addresses },
+} = mempoolJS();
+
+const address = 'B1DgwRN92rdQ9xpEVCdXRfgeqGw9X4YtrZz';
+
+const myAddress = await addresses.getAddress({ address });
+console.log(myAddress);
+```
+
+### **Get Block**
+
+Returns all Bisq transactions that exist in a Bitcoin block.
+
+**Parameters:**
+
+- {string} hash
+
+[ [NodeJS Example](examples/nodejs/bisq/blocks.ts) ] [ [HTML Example](examples/html/bisq/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bisq: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000000079aa6bfa46eb8fc20474e8673d6e8a123b211236bf82d';
+
+const block = await blocks.getBlock({ hash });
+console.log(block);
+```
+
+### **Get Blocks**
+
+Returns `:length` Bitcoin blocks that contain Bisq transactions, starting from `:index`.
+
+**Parameters:**
+
+- {number} index
+- {number} length
+
+[ [NodeJS Example](examples/nodejs/bisq/blocks.ts) ] [ [HTML Example](examples/html/bisq/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bisq: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000000079aa6bfa46eb8fc20474e8673d6e8a123b211236bf82d';
+
+const myBlocks = await blocks.getBlocks({ index: 0, length: 1 });
+console.log(myBlocks);
+```
+
+### **Get Blocks Tip Height**
+
+Returns the most recently processed Bitcoin block height processed by Bisq.
+
+[ [NodeJS Example](examples/nodejs/bisq/blocks.ts) ] [ [HTML Example](examples/html/bisq/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bisq: { blocks },
+} = mempoolJS();
+
+const myBlocksHeight = await blocks.getBlocksTipHeight({
+ index: 0,
+ length: 1,
+});
+console.log(myBlocksHeight);
+```
+
+### **Get Stats**
+
+Returns statistics about all Bisq transactions.
+
+[ [NodeJS Example](examples/nodejs/bisq/statistics.ts) ] [ [HTML Example](examples/html/bisq/statistics.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bisq: { statistics },
+} = mempoolJS();
+
+const stats = await statistics.getStats();
+console.log(stats);
+```
+
+### **Get Transaction**
+
+Returns details about a Bisq transaction.
+
+[ [NodeJS Example](examples/nodejs/bisq/transactions.ts) ] [ [HTML Example](examples/html/bisq/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bisq: { transactions },
+} = mempoolJS();
+
+const txid = '4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5';
+
+const tx = await transactions.getTx({ txid });
+console.log(tx);
+```
+
+### **Get Transactions**
+
+Returns details about a Bisq transactions.
+
+[ [NodeJS Example](examples/nodejs/bisq/transactions.ts) ] [ [HTML Example](examples/html/bisq/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bisq: { transactions },
+} = mempoolJS();
+
+const txs = await transactions.getTxs({ index: 0, length: 1 });
+console.log(txs);
+```
diff --git a/mempool.js/README-bitcoin.md b/mempool.js/README-bitcoin.md
new file mode 100644
index 000000000..491095340
--- /dev/null
+++ b/mempool.js/README-bitcoin.md
@@ -0,0 +1,748 @@
+# mempool**JS** - Bitcoin API
+
+Interface to access Bitcoin `mainet`, `testnet`, `signet` APIs.
+
+[Back to home](./README.md)
+
+---
+
+## **Features**
+
+- Addresses
+ - [Get Address](#get-address)
+ - [Get Address Txs](#get-address-txs)
+ - [Get Address Txs Chain](#get-address-txs-chain)
+ - [Get Address Txs Mempool](#get-address-txs-mempool)
+ - [Get Address Txs Utxo](#get-address-txs-utxo)
+- Assets
+ - [Get Asset](#get-asset)
+ - [Get Asset Txs](#get-asset-txs)
+ - [Get Asset Supply](#get-asset-supply)
+- Blocks
+ - [Get Block](#get-block)
+ - [Get Block Status](#get-block-status)
+ - [Get Block Txs](#get-block-txs)
+ - [Get Block Txids](#get-block-txids)
+ - [Get Block Txid](#get-block-txid)
+ - [Get Block Raw](#get-block-raw)
+ - [Get Blocks Header](#get-blocks-header)
+ - [Get Blocks Height](#get-blocks-height)
+ - [Get Blocks](#get-blocks)
+ - [Get Blocks Tip Height](#get-blocks-tip-height)
+ - [Get Blocks Tip Hash](#get-blocks-tip-hash)
+- Difficulty
+ - [Get Difficulty Adjustment](#get-difficulty-adjustment)
+- Fees
+ - [Get Fees Recommended](#get-fees-recommended)
+ - [Get Fees Mempool Blocks](#get-fees-mempool-blocks)
+- Mempool
+ - [Get Mempool](#get-mempool)
+ - [Get Mempool Recent](#get-mempool-recent)
+ - [Get Mempool Txids](#get-mempool-txids)
+- Transactions
+ - [Get Tx](#get-tx)
+ - [Get Tx Status](#get-tx-status)
+ - [Get Tx Hex](#get-tx-hex)
+ - [Get Tx Raw](#get-tx-raw)
+ - [Get Tx Merkle Block Proof](#get-tx-merkle-block-proof)
+ - [Get Tx Merkle Proof](#get-tx-merkle-proof)
+ - [Get Tx Outspend](#get-tx-outspend)
+ - [Get Tx Outspends](#get-tx-outspends)
+ - [Post Tx Outspends]($post-tx-outspends)
+- Websocket
+ - [Websocket Client](#websocket-client)
+ - [Websocket Server](#websocket-server)
+
+---
+
+### **Get Address**
+
+Returns details about an address. Available fields: `address`, `chain_stats`, and `mempool_stats`. `{chain,mempool}\_stats` each contain an object with `tx_count`, `funded_txo_count`, `funded_txo_sum`, `spent_txo_count`, and `spent_txo_sum`.
+
+**Parameters:**
+
+- {string} address
+
+[ [NodeJS Example](examples/nodejs/mempool-js/bitcoin/addresses.ts) ] [ [HTML Example](examples/html/mempool-js/bitcoin/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { addresses },
+} = mempoolJS();
+
+const address = '1wizSAYSbuyXbt9d8JV8ytm5acqq2TorC';
+
+const myAddress = await addresses.getAddress({ address });
+console.log(myAddress);
+```
+
+### **Get Address Txs**
+
+Get transaction history for the specified address/scripthash, sorted with newest first. Returns up to 50 mempool transactions plus the first 25 confirmed transactions. You can request more confirmed transactions using `:last_seen_txid`.
+
+**Parameters:**
+
+- {string} address
+
+[ [NodeJS Example](examples/nodejs/mempool-js/bitcoin/addresses.ts) ] [ [HTML Example](examples/html/mempool-js/bitcoin/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { addresses },
+} = mempoolJS();
+
+const address = '1wizSAYSbuyXbt9d8JV8ytm5acqq2TorC';
+
+const addressTxs = await addresses.getAddressTxs({ address });
+console.log(addressTxs);
+```
+
+### **Get Address Txs Chain**
+
+Get confirmed transaction history for the specified address/scripthash, sorted with newest first. Returns 25 transactions per page. More can be requested by specifying the last txid seen by the previous query.
+
+**Parameters:**
+
+- {string} address
+
+[ [NodeJS Example](examples/nodejs/mempool-js/bitcoin/addresses.ts) ] [ [HTML Example](examples/html/mempool-js/bitcoin/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { addresses },
+} = mempoolJS();
+
+const address = '1wizSAYSbuyXbt9d8JV8ytm5acqq2TorC';
+
+const addressTxsChain = await addresses.getAddressTxsChain({ address });
+console.log(addressTxsChain);
+```
+
+### **Get Address Txs Mempool**
+
+Get unconfirmed transaction history for the specified `address/scripthash`. Returns up to 50 transactions (no paging).
+
+**Parameters:**
+
+- {string} address
+
+[ [NodeJS Example](examples/nodejs/mempool-js/bitcoin/addresses.ts) ] [ [HTML Example](examples/html/mempool-js/bitcoin/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { addresses },
+} = mempoolJS();
+
+const address = '1wizSAYSbuyXbt9d8JV8ytm5acqq2TorC';
+
+const addressTxsMempool = await addresses.getAddressTxsMempool({ address });
+console.log(addressTxsMempool);
+```
+
+### **Get Address Txs Utxo**
+
+Get the list of unspent transaction outputs associated with the `address/scripthash`. Available fields: `txid`, `vout`, `value`, and `status` (with the status of the funding tx).
+
+**Parameters:**
+
+- {string} address
+
+[ [NodeJS Example](examples/nodejs/mempool-js/bitcoin/addresses.ts) ] [ [HTML Example](examples/html/mempool-js/bitcoin/addresses.html) ] [ [Top](#features) ]
+
+```js
+const { addresses } = mempoolJS();
+
+const addressTxsUtxo = await addresses.getAddressTxsUtxo('15e10745f15593a...');
+console.log(addressTxsUtxo);
+```
+
+### **Get Block**
+
+Returns details about a block. Available fields: `id`, `height`, `version`, `timestamp`, `bits`, `nonce`, `merkle_root`, `tx_count`, `size`, `weight`, and `previousblockhash`.
+
+**Parameters:**
+
+- {string} hash
+
+[ [NodeJS Example](examples/nodejs/bitcoin/blocks.ts) ] [ [HTML Example](examples/html/bitcoin/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const block = await blocks.getBlock({ hash });
+console.log(block);
+```
+
+### **Get Block Status**
+
+Returns the confirmation status of a block. Available fields: `in_best_chain` (boolean, false for orphaned blocks), `next_best` (the hash of the next block, only available for blocks in the best chain).
+
+**Parameters:**
+
+- {string} hash
+
+[ [NodeJS Example](examples/nodejs/bitcoin/blocks.ts) ] [ [HTML Example](examples/html/bitcoin/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const blockStatus = await blocks.getBlockStatus({ hash });
+console.log(blockStatus);
+```
+
+### **Get Block Txs**
+
+Returns a list of transactions in the block (up to 25 transactions beginning at start_index). Transactions returned here do not have the status field, since all the transactions share the same block and confirmation status.
+
+**Parameters:**
+
+- {string} params.hash
+- {number} params.start_index
+
+[ [NodeJS Example](examples/nodejs/bitcoin/blocks.ts) ] [ [HTML Example](examples/html/bitcoin/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const blockTxs = await blocks.getBlockTxs({ hash });
+console.log(blockTxs);
+```
+
+### **Get Block Txids**
+
+Returns a list of all txids in the block.
+
+**Parameters:**
+
+- {string} hash
+
+[ [NodeJS Example](examples/nodejs/bitcoin/blocks.ts) ] [ [HTML Example](examples/html/bitcoin/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const blockTxids = await blocks.getBlockTxids({ hash });
+console.log(blockTxids);
+```
+
+### **Get Block Txid**
+
+Returns the transaction at index :index within the specified block.
+
+**Parameters:**
+
+- {string} params.hash
+- {number} params.index
+
+[ [NodeJS Example](examples/nodejs/bitcoin/blocks.ts) ] [ [HTML Example](examples/html/bitcoin/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const blockTxid = await blocks.getBlockTxid({ hash, index: 218 });
+console.log(blockTxid);
+```
+
+### **Get Block Raw**
+
+Returns the raw block representation in binary.
+
+**Parameters:**
+
+- {string} hash
+
+[ [NodeJS Example](examples/nodejs/bitcoin/blocks.ts) ] [ [HTML Example](examples/html/bitcoin/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const blockRaw = await blocks.getBlockRaw({ hash });
+console.log(blockRaw);
+```
+
+### **Get Blocks Header**
+
+Returns the hex-encoded block header.
+
+**Parameters:**
+
+- {string} hash
+
+[ [NodeJS Example](examples/nodejs/bitcoin/blocks.ts) ] [ [HTML Example](examples/html/bitcoin/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { blocks },
+} = mempoolJS();
+
+const blockHeader = await blocks.getBlockHeader({ hash: '0000000000000000000065bda8f8a88f2e1e00d9a6887a43d640e52a4c7660f2' });
+console.log(blockHeader);
+```
+
+### **Get Blocks Height**
+
+Returns the hash of the block currently at `:height`.
+
+**Parameters:**
+
+- {number} height
+
+[ [NodeJS Example](examples/nodejs/bitcoin/blocks.ts) ] [ [HTML Example](examples/html/bitcoin/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { blocks },
+} = mempoolJS();
+
+const blockHeight = await blocks.getBlockHeight({ height: 0 });
+console.log(blockHeight);
+```
+
+### **Get Blocks**
+
+Returns the 10 newest blocks starting at the tip or at `:start_height` if specified.
+
+**Parameters:**
+
+- {number} params.start_height
+
+[ [NodeJS Example](examples/nodejs/bitcoin/blocks.ts) ] [ [HTML Example](examples/html/bitcoin/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { blocks },
+} = mempoolJS();
+
+const getBlocks = await blocks.getBlocks({ start_height: 9999 });
+console.log(getBlocks);
+```
+
+### **Get Blocks Tip Height**
+
+Returns the 10 newest blocks starting at the tip or at `:start_height` if specified.
+
+**Parameters:**
+
+- {number} params.start_height
+
+[ [NodeJS Example](examples/nodejs/bitcoin/blocks.ts) ] [ [HTML Example](examples/html/bitcoin/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { blocks },
+} = mempoolJS();
+
+const blocksTipHeight = await blocks.getBlocksTipHeight();
+console.log(blocksTipHeight);
+```
+
+### **Get Blocks Tip Hash**
+
+Returns the hash of the last block.
+
+[ [NodeJS Example](examples/nodejs/bitcoin/blocks.ts) ] [ [HTML Example](examples/html/bitcoin/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { blocks },
+} = mempoolJS();
+
+const blocksTipHash = await blocks.getBlocksTipHash();
+console.log(blocksTipHash);
+```
+
+### **Get Difficulty Adjustment**
+
+Returns the hash of the last block.
+
+[ [NodeJS Example](examples/nodejs/bitcoin/difficulty.ts) ] [ [HTML Example](examples/html/bitcoin/difficulty.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { difficulty },
+} = mempoolJS();
+
+const difficultyAdjustment = await difficulty.getDifficultyAdjustment();
+console.log(difficultyAdjustment);
+```
+
+### **Get Fees Recommended**
+
+Returns our currently suggested fees for new transactions.
+
+[ [NodeJS Example](examples/nodejs/bitcoin/fees.ts) ] [ [HTML Example](examples/html/bitcoin/fees.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { fees },
+} = mempoolJS();
+
+const feesRecommended = await fees.getFeesRecommended();
+console.log(feesRecommended);
+```
+
+### **Get Fees Mempool Blocks**
+
+Returns current mempool as projected blocks.
+
+[ [NodeJS Example](examples/nodejs/bitcoin/fees.ts) ] [ [HTML Example](examples/html/bitcoin/fees.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { fees },
+} = mempoolJS();
+
+const feesMempoolBlocks = await fees.getFeesMempoolBlocks();
+console.log(feesMempoolBlocks);
+```
+
+### **Get Children Pay for Parent**
+
+Returns current mempool as projected blocks.
+
+[ [NodeJS Example](examples/nodejs/bitcoin/fees.ts) ] [ [HTML Example](examples/html/bitcoin/fees.html) ] [ [Top](#features) ]
+
+```js
+ const {
+ bitcoin: { fees },
+ } = mempoolJS();
+ const txid = 'txid';
+
+ const feesCPFP = await fees.getCPFP({ txid });
+ console.log(feesCPFP);
+```
+
+### **Get Mempool**
+
+Returns current mempool backlog statistics.
+
+[ [NodeJS Example](examples/nodejs/bitcoin/mempool.ts) ] [ [HTML Example](examples/html/bitcoin/mempool.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { mempool },
+} = mempoolJS();
+
+const getMempool = await mempool.getMempool();
+console.log(getMempool);
+```
+
+### **Get Mempool Recent**
+
+Get a list of the last 10 transactions to enter the mempool. Each transaction object contains simplified overview data, with the following fields: `txid`, `fee`, `vsize`, and `value`.
+
+[ [NodeJS Example](examples/nodejs/bitcoin/mempool.ts) ] [ [HTML Example](examples/html/bitcoin/mempool.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { mempool },
+} = mempoolJS();
+
+const getMempoolRecent = await mempool.getMempoolRecent();
+console.log(getMempoolRecent);
+```
+
+### **Get Mempool Txids**
+
+Get the full list of txids in the mempool as an array. The order of the `txids` is arbitrary and does not match bitcoind.
+
+[ [NodeJS Example](examples/nodejs/bitcoin/mempool.ts) ] [ [HTML Example](examples/html/bitcoin/mempool.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { mempool },
+} = mempoolJS();
+
+const getMempoolTxids = await mempool.getMempoolTxids();
+console.log(getMempoolTxids);
+```
+
+### **Get Tx**
+
+Returns details about a transaction. Available fields: `txid`, `version`, `locktime`, `size`, `weight`, `fee`, `vin`, `vout`, and `status`.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](examples/nodejs/bitcoin/transactions.ts) ] [ [HTML Example](examples/html/bitcoin/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const tx = await transactions.getTx({ txid });
+console.log(tx);
+```
+
+### **Get Tx Status**
+
+Returns the confirmation status of a transaction. Available fields: `confirmed` (boolean), `block_height` (optional), and `block_hash` (optional).
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](examples/nodejs/bitcoin/transactions.ts) ] [ [HTML Example](examples/html/bitcoin/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txStatus = await transactions.getTxStatus({ txid });
+console.log(txStatus);
+```
+
+### **Get Tx Hex**
+
+Returns a transaction serialized as hex.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](examples/nodejs/bitcoin/transactions.ts) ] [ [HTML Example](examples/html/bitcoin/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txHex = await transactions.getTxHex({ txid });
+console.log(txHex);
+```
+
+### **Get Tx Raw**
+
+Returns a transaction as binary data.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](examples/nodejs/bitcoin/transactions.ts) ] [ [HTML Example](examples/html/bitcoin/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txRaw = await transactions.getTxRaw({ txid });
+console.log(txRaw);
+```
+
+### **Get Tx Merkle Block Proof**
+
+Returns a merkle inclusion proof for the transaction using bitcoind's merkleblock format.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](examples/nodejs/bitcoin/transactions.ts) ] [ [HTML Example](examples/html/bitcoin/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txMerkleBlockProof = await transactions.getTxMerkleBlockProof({ txid });
+console.log(txMerkleBlockProof);
+```
+
+### **Get Tx Merkle Proof**
+
+Returns a merkle inclusion proof for the transaction using Electrum's blockchain.transaction.get_merkle format.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](examples/nodejs/bitcoin/transactions.ts) ] [ [HTML Example](examples/html/bitcoin/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txMerkleProof = await transactions.getTxMerkleProof({ txid });
+console.log(txMerkleProof);
+```
+
+### **Get Tx Outspend**
+
+Returns the spending status of a transaction output. Available fields: `spent` (boolean), `txid` (optional), `vin` (optional), and `status` (optional, the status of the spending tx).
+
+**Parameters:**
+
+- {string} params.txid
+- {number} params.vout
+
+[ [NodeJS Example](examples/nodejs/bitcoin/transactions.ts) ] [ [HTML Example](examples/html/bitcoin/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txOutspend = await transactions.getTxOutspend({
+ txid,
+ vout: 3,
+});
+console.log(txOutspend);
+```
+
+### **Get Tx Outspends**
+
+Returns the spending status of all transaction outputs.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](examples/nodejs/bitcoin/transactions.ts) ] [ [HTML Example](examples/html/bitcoin/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txOutspends = await transactions.getTxOutspends({ txid });
+console.log(txOutspends);
+```
+
+### **Post Tx Outspends**
+
+Broadcast a raw transaction to the network. The transaction should be provided as hex in the request body. The `txid` will be returned on success.
+
+**Parameters:**
+
+- {string} txhex
+
+[ [NodeJS Example](examples/nodejs/bitcoin/transactions.ts) ] [ [HTML Example](examples/html/bitcoin/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ bitcoin: { transactions },
+} = mempoolJS();
+
+const txhex = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const postTx = await transactions.postTx({ txhex });
+console.log(postTx);
+```
+
+### **Websocket**
+
+Default push: `{ action: 'want', data: ['blocks', ...] }` to express what you want pushed. Available: blocks, mempool-block, live-2h-chart, and stats.
+
+Push transactions related to address: `{ 'track-address': '3PbJ...bF9B' }` to receive all new transactions containing that address as input or output. Returns an array of transactions. address-transactions for new mempool transactions, and block-transactions for new block confirmed transactions.
+
+[ [NodeJS Example](examples/nodejs/bitcoin/websocket.ts) ] [ [HTML Example](examples/html/bitcoin/websocket.html) ] [ [Top](#features) ]
+
+#### **Websocket Server**
+
+Only use on server side apps.
+
+```js
+const { bitcoin: { websocket } } = mempoolJS();
+
+const init = async () => {
+
+ const ws = websocket.initServer({
+ options: ["blocks", "stats", "mempool-blocks", "live-2h-chart"],
+ });
+
+ ws.on("message", function incoming(data) {
+ const res = JSON.parse(data.toString());
+ if (res.block) {
+ console.log(res.block);
+ }
+ if (res.mempoolInfo) {
+ console.log(res.mempoolInfo);
+ }
+ if (res.transactions) {
+ console.log(res.transactions);
+ }
+ if (res.mempoolBlocks) {
+ console.log(res.mempoolBlocks);
+ }
+ });
+}
+init();
+```
+
+#### **Websocket Client**
+
+Only use on browser apps.
+
+```js
+const init = async () => {
+ const {
+ bitcoin: { websocket },
+ } = mempoolJS();
+
+ const ws = websocket.initClient({
+ options: ['blocks', 'stats', 'mempool-blocks', 'live-2h-chart'],
+ });
+
+ ws.addEventListener('message', function incoming({data}) {
+ const res = JSON.parse(data.toString());
+ if (res.block) {
+ console.log(res.block);
+ }
+ if (res.mempoolInfo) {
+ console.log(res.mempoolInfo);
+ }
+ if (res.transactions) {
+ console.log(res.transactions);
+ }
+ if (res.mempoolBlocks) {
+ console.log(res.mempoolBlocks);
+ }
+ });
+};
+init();
+```
diff --git a/mempool.js/README-liquid.md b/mempool.js/README-liquid.md
new file mode 100644
index 000000000..8679c12c9
--- /dev/null
+++ b/mempool.js/README-liquid.md
@@ -0,0 +1,765 @@
+# mempool**JS** - Liquid API
+
+Interface to access Liquid APIs.
+
+[Back to home](./README.md)
+
+---
+
+## **Features**
+
+- Addresses
+ - [Get Address](#get-address)
+ - [Get Address Txs](#get-address-txs)
+ - [Get Address Txs Chain](#get-address-txs-chain)
+ - [Get Address Txs Mempool](#get-address-txs-mempool)
+ - [Get Address Txs Utxo](#get-address-txs-utxo)
+- Assets
+ - [Get Asset](#get-asset)
+ - [Get Asset Icon](#get-asset-icon)
+ - [Get Asset Txs](#get-asset-txs)
+ - [Get Asset Supply](#get-asset-supply)
+ - [Get Assets Icons](#get-assets-icons)
+- Blocks
+ - [Get Block](#get-block)
+ - [Get Block Status](#get-block-status)
+ - [Get Block Txs](#get-block-txs)
+ - [Get Block Txids](#get-block-txids)
+ - [Get Block Txid](#get-block-txid)
+ - [Get Block Raw](#get-block-raw)
+ - [Get Blocks Height](#get-blocks-height)
+ - [Get Blocks](#get-blocks)
+ - [Get Blocks Tip Height](#get-blocks-tip-height)
+ - [Get Blocks Tip Hash](#get-blocks-tip-hash)
+- Fees
+ - [Get Fees Recommended](#get-fees-recommended)
+ - [Get Fees Mempool Blocks](#get-fees-mempool-blocks)
+- Mempool
+ - [Get Mempool](#get-mempool)
+ - [Get Mempool Recent](#get-mempool-recent)
+ - [Get Mempool Txids](#get-mempool-txids)
+- Transactions
+ - [Get Tx](#get-tx)
+ - [Get Tx Status](#get-tx-status)
+ - [Get Tx Hex](#get-tx-hex)
+ - [Get Tx Raw](#get-tx-raw)
+ - [Get Tx Merkle Block Proof](#get-tx-merkle-block-proof)
+ - [Get Tx Merkle Proof](#get-tx-merkle-proof)
+ - [Get Tx Outspend](#get-tx-outspend)
+ - [Get Tx Outspends](#get-tx-outspends)
+ - [Post Tx Outspends]($post-tx-outspends)
+- Websocket
+ - [Websocket Client](#websocket-client)
+ - [Websocket Server](#websocket-server)
+
+---
+
+### **Get Address**
+
+Returns details about an address. Available fields: `address`, `chain_stats`, and `mempool_stats`. `{chain,mempool}\_stats` each contain an object with `tx_count`, `funded_txo_count`, `funded_txo_sum`, `spent_txo_count`, and `spent_txo_sum`.
+
+**Parameters:**
+
+- {string} address
+
+[ [NodeJS Example](examples/nodejs/liquid/addresses.ts) ] [ [HTML Example](examples/html/liquid/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { addresses },
+} = mempoolJS();
+
+const address = 'Go65t19hP2FuhBMYtgbdMDgdmEzNwh1i48';
+
+const myAddress = await addresses.getAddress({ address });
+console.log(myAddress);
+```
+
+### **Get Address Txs**
+
+Get transaction history for the specified address/scripthash, sorted with newest first. Returns up to 50 mempool transactions plus the first 25 confirmed transactions. You can request more confirmed transactions using `:last_seen_txid`.
+
+**Parameters:**
+
+- {string} address
+
+[ [NodeJS Example](examples/nodejs/liquid/addresses.ts) ] [ [HTML Example](examples/html/liquid/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { addresses },
+} = mempoolJS();
+
+const address = 'Go65t19hP2FuhBMYtgbdMDgdmEzNwh1i48';
+
+const addressTxs = await addresses.getAddressTxs({ address });
+console.log(addressTxs);
+```
+
+### **Get Address Txs Chain**
+
+Get confirmed transaction history for the specified address/scripthash, sorted with newest first. Returns 25 transactions per page. More can be requested by specifying the last txid seen by the previous query.
+
+**Parameters:**
+
+- {string} address
+
+[ [NodeJS Example](examples/nodejs/liquid/addresses.ts) ] [ [HTML Example](examples/html/liquid/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { addresses },
+} = mempoolJS();
+
+const address = 'Go65t19hP2FuhBMYtgbdMDgdmEzNwh1i48';
+
+const addressTxsChain = await addresses.getAddressTxsChain({ address });
+console.log(addressTxsChain);
+```
+
+### **Get Address Txs Mempool**
+
+Get unconfirmed transaction history for the specified `address/scripthash`. Returns up to 50 transactions (no paging).
+
+**Parameters:**
+
+- {string} address
+
+[ [NodeJS Example](examples/nodejs/liquid/addresses.ts) ] [ [HTML Example](examples/html/liquid/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { addresses },
+} = mempoolJS();
+
+const address = 'Go65t19hP2FuhBMYtgbdMDgdmEzNwh1i48';
+
+const addressTxsMempool = await addresses.getAddressTxsMempool({ address });
+console.log(addressTxsMempool);
+```
+
+### **Get Address Txs Utxo**
+
+Get the list of unspent transaction outputs associated with the `address/scripthash`. Available fields: `txid`, `vout`, `value`, and `status` (with the status of the funding tx).
+
+**Parameters:**
+
+- {string} address
+
+[ [NodeJS Example](examples/nodejs/liquid/addresses.ts) ] [ [HTML Example](examples/html/liquid/addresses.html) ] [ [Top](#features) ]
+
+```js
+const { addresses } = mempoolJS();
+
+const addressTxsUtxo = await addresses.getAddressTxsUtxo('15e10745f15593a...');
+console.log(addressTxsUtxo);
+```
+
+### **Get Asset**
+
+Returns information about a Liquid asset.
+
+**Parameters:**
+
+- {string} asset_id
+
+[ [NodeJS Example](examples/nodejs/liquid/addresses.ts) ] [ [HTML Example](examples/html/liquid/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { assets },
+} = mempoolJS();
+
+const asset_id =
+ '6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d';
+
+const asset = await assets.getAsset({ asset_id });
+console.log(asset);
+```
+
+### **Get Asset Txs**
+
+Returns transactions associated with the specified Liquid asset. For the network's native asset, returns a list of peg in, peg out, and burn transactions. For user-issued assets, returns a list of issuance, reissuance, and burn transactions. Does not include regular transactions transferring this asset.
+
+**Parameters:**
+
+- {string} asset_id
+- {boolean} is_mempool
+
+[ [NodeJS Example](examples/nodejs/liquid/addresses.ts) ] [ [HTML Example](examples/html/liquid/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { assets },
+} = mempoolJS();
+
+const asset_id =
+ '6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d';
+
+const assetTxs = await assets.getAssetTxs({ asset_id, is_mempool: false });
+console.log(assetTxs);
+```
+
+### **Get Asset Supply**
+
+Get the current total supply of the specified asset. For the native asset (L-BTC), this is calculated as `[chain,mempool]\_stats.peg_in_amount` - `[chain,mempool]\_stats.peg_out_amount` - `[chain,mempool]\_stats.burned_amount`. For issued assets, this is calculated as `[chain,mempool]\_stats.issued_amount` - `[chain,mempool]\_stats.burned_amount`. Not available for assets with blinded issuances. If `/decimal` is specified, returns the supply as a decimal according to the asset's divisibility. Otherwise, returned in base units.
+
+**Parameters:**
+
+- {string} asset_id
+- {boolean} decimal
+
+[ [NodeJS Example](examples/nodejs/liquid/addresses.ts) ] [ [HTML Example](examples/html/liquid/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { assets },
+} = mempoolJS();
+
+const asset_id =
+ '6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d';
+
+const assetSupply = await assets.getAssetSupply({ asset_id, decimal: false });
+console.log(assetSupply);
+```
+
+### **Get Block**
+
+Returns details about a block. Available fields: `id`, `height`, `version`, `timestamp`, `bits`, `nonce`, `merkle_root`, `tx_count`, `size`, `weight`, and `previousblockhash`.
+
+**Parameters:**
+
+- {string} hash
+
+[ [NodeJS Example](examples/nodejs/liquid/blocks.ts) ] [ [HTML Example](examples/html/liquid/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const block = await blocks.getBlock({ hash });
+console.log(block);
+```
+
+### **Get Block Status**
+
+Returns the confirmation status of a block. Available fields: `in_best_chain` (boolean, false for orphaned blocks), `next_best` (the hash of the next block, only available for blocks in the best chain).
+
+**Parameters:**
+
+- {string} hash
+
+[ [NodeJS Example](examples/nodejs/liquid/blocks.ts) ] [ [HTML Example](examples/html/liquid/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const blockStatus = await blocks.getBlockStatus({ hash });
+console.log(blockStatus);
+```
+
+### **Get Block Txs**
+
+Returns a list of transactions in the block (up to 25 transactions beginning at start_index). Transactions returned here do not have the status field, since all the transactions share the same block and confirmation status.
+
+**Parameters:**
+
+- {string} hash
+- {number} start_index
+
+[ [NodeJS Example](examples/nodejs/liquid/blocks.ts) ] [ [HTML Example](examples/html/liquid/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const blockTxs = await blocks.getBlockTxs({ hash });
+console.log(blockTxs);
+```
+
+### **Get Block Txids**
+
+Returns a list of all txids in the block.
+
+**Parameters:**
+
+- {string} hash
+
+[ [NodeJS Example](examples/nodejs/liquid/blocks.ts) ] [ [HTML Example](examples/html/liquid/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const blockTxids = await blocks.getBlockTxids({ hash });
+console.log(blockTxids);
+```
+
+### **Get Block Txid**
+
+Returns the transaction at index :index within the specified block.
+
+**Parameters:**
+
+- {string} hash
+- {number} index
+
+[ [NodeJS Example](examples/nodejs/liquid/blocks.ts) ] [ [HTML Example](examples/html/liquid/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const blockTxid = await blocks.getBlockTxid({ hash, index: 218 });
+console.log(blockTxid);
+```
+
+### **Get Block Raw**
+
+Returns the raw block representation in binary.
+
+**Parameters:**
+
+- {string} hash
+
+[ [NodeJS Example](examples/nodejs/liquid/blocks.ts) ] [ [HTML Example](examples/html/liquid/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const blockRaw = await blocks.getBlockRaw({ hash });
+console.log(blockRaw);
+```
+
+### **Get Blocks Height**
+
+Returns the hash of the block currently at `:height`.
+
+**Parameters:**
+
+- {number} height
+
+[ [NodeJS Example](examples/nodejs/liquid/blocks.ts) ] [ [HTML Example](examples/html/liquid/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const blockHeight = await blocks.getBlockHeight({ height: 0 });
+console.log(blockHeight);
+```
+
+### **Get Blocks**
+
+Returns the 10 newest blocks starting at the tip or at `:start_height` if specified.
+
+**Parameters:**
+
+- {number} start_height
+
+[ [NodeJS Example](examples/nodejs/liquid/blocks.ts) ] [ [HTML Example](examples/html/liquid/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const getBlocks = await blocks.getBlocks({ start_height: 9999 });
+console.log(getBlocks);
+```
+
+### **Get Blocks Tip Height**
+
+Returns the 10 newest blocks starting at the tip or at `:start_height` if specified.
+
+**Parameters:**
+
+- {number} start_height
+
+[ [NodeJS Example](examples/nodejs/liquid/blocks.ts) ] [ [HTML Example](examples/html/liquid/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const blocksTipHeight = await blocks.getBlocksTipHeight();
+console.log(blocksTipHeight);
+```
+
+### **Get Blocks Tip Hash**
+
+Returns the hash of the last block.
+
+[ [NodeJS Example](examples/nodejs/liquid/blocks.ts) ] [ [HTML Example](examples/html/liquid/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const blocksTipHash = await blocks.getBlocksTipHash();
+console.log(blocksTipHash);
+```
+
+### **Get Fees Recommended**
+
+Returns our currently suggested fees for new transactions.
+
+[ [NodeJS Example](examples/nodejs/liquid/fees.ts) ] [ [HTML Example](examples/html/liquid/fees.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { fees },
+} = mempoolJS();
+
+const feesRecommended = await fees.getFeesRecommended();
+console.log(feesRecommended);
+```
+
+### **Get Fees Mempool Blocks**
+
+Returns current mempool as projected blocks.
+
+[ [NodeJS Example](examples/nodejs/liquid/fees.ts) ] [ [HTML Example](examples/html/liquid/fees.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { fees },
+} = mempoolJS();
+
+const feesMempoolBlocks = await fees.getFeesMempoolBlocks();
+console.log(feesMempoolBlocks);
+```
+
+### **Get Mempool**
+
+Returns current mempool backlog statistics.
+
+[ [NodeJS Example](examples/nodejs/liquid/mempool.ts) ] [ [HTML Example](examples/html/liquid/mempool.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { mempool },
+} = mempoolJS();
+
+const getMempool = await mempool.getMempool();
+console.log(getMempool);
+```
+
+### **Get Mempool Recent**
+
+Get a list of the last 10 transactions to enter the mempool. Each transaction object contains simplified overview data, with the following fields: `txid`, `fee`, `vsize`, and `value`.
+
+[ [NodeJS Example](examples/nodejs/liquid/mempool.ts) ] [ [HTML Example](examples/html/liquid/mempool.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { mempool },
+} = mempoolJS();
+
+const getMempoolRecent = await mempool.getMempoolRecent();
+console.log(getMempoolRecent);
+```
+
+### **Get Mempool Txids**
+
+Get the full list of txids in the mempool as an array. The order of the `txids` is arbitrary and does not match bitcoind.
+
+[ [NodeJS Example](examples/nodejs/liquid/mempool.ts) ] [ [HTML Example](examples/html/liquid/mempool.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { mempool },
+} = mempoolJS();
+
+const getMempoolTxids = await mempool.getMempoolTxids();
+console.log(getMempoolTxids);
+```
+
+### **Get Tx**
+
+Returns details about a transaction. Available fields: `txid`, `version`, `locktime`, `size`, `weight`, `fee`, `vin`, `vout`, and `status`.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](examples/nodejs/liquid/transactions.ts) ] [ [HTML Example](examples/html/liquid/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const tx = await transactions.getTx({ txid });
+console.log(tx);
+```
+
+### **Get Tx Status**
+
+Returns the confirmation status of a transaction. Available fields: `confirmed` (boolean), `block_height` (optional), and `block_hash` (optional).
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](examples/nodejs/liquid/transactions.ts) ] [ [HTML Example](examples/html/liquid/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txStatus = await transactions.getTxStatus({ txid });
+console.log(txStatus);
+```
+
+### **Get Tx Hex**
+
+Returns a transaction serialized as hex.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](examples/nodejs/liquid/transactions.ts) ] [ [HTML Example](examples/html/liquid/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txHex = await transactions.getTxHex({ txid });
+console.log(txHex);
+```
+
+### **Get Tx Raw**
+
+Returns a transaction as binary data.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](examples/nodejs/liquid/transactions.ts) ] [ [HTML Example](examples/html/liquid/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txRaw = await transactions.getTxRaw({ txid });
+console.log(txRaw);
+```
+
+### **Get Tx Merkle Block Proof**
+
+Returns a merkle inclusion proof for the transaction using bitcoind's merkleblock format.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](examples/nodejs/liquid/transactions.ts) ] [ [HTML Example](examples/html/liquid/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txMerkleBlockProof = await transactions.getTxMerkleBlockProof({ txid });
+console.log(txMerkleBlockProof);
+```
+
+### **Get Tx Merkle Proof**
+
+Returns a merkle inclusion proof for the transaction using Electrum's blockchain.transaction.get_merkle format.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](examples/nodejs/liquid/transactions.ts) ] [ [HTML Example](examples/html/liquid/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txMerkleProof = await transactions.getTxMerkleProof({ txid });
+console.log(txMerkleProof);
+```
+
+### **Get Tx Outspend**
+
+Returns the spending status of a transaction output. Available fields: `spent` (boolean), `txid` (optional), `vin` (optional), and `status` (optional, the status of the spending tx).
+
+**Parameters:**
+
+- {string} txid
+- {number} vout
+
+[ [NodeJS Example](examples/nodejs/liquid/transactions.ts) ] [ [HTML Example](examples/html/liquid/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txOutspend = await transactions.getTxOutspend({
+ txid,
+ vout: 3,
+});
+console.log(txOutspend);
+```
+
+### **Get Tx Outspends**
+
+Returns the spending status of all transaction outputs.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](examples/nodejs/liquid/transactions.ts) ] [ [HTML Example](examples/html/liquid/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txOutspends = await transactions.getTxOutspends({ txid });
+console.log(txOutspends);
+```
+
+### **Post Tx Outspends**
+
+Broadcast a raw transaction to the network. The transaction should be provided as hex in the request body. The `txid` will be returned on success.
+
+**Parameters:**
+
+- {string} txhex
+
+[ [NodeJS Example](examples/nodejs/liquid/transactions.ts) ] [ [HTML Example](examples/html/liquid/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txhex = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const postTx = await transactions.postTx({ txhex });
+console.log(postTx);
+```
+
+### **Websocket**
+
+Default push: `{ action: 'want', data: ['blocks', ...] }` to express what you want pushed. Available: blocks, mempool-block, live-2h-chart, and stats.
+
+Push transactions related to address: `{ 'track-address': '3PbJ...bF9B' }` to receive all new transactions containing that address as input or output. Returns an array of transactions. address-transactions for new mempool transactions, and block-transactions for new block confirmed transactions.
+
+[ [NodeJS Example](examples/nodejs/liquid/websocket.ts) ] [ [HTML Example](examples/html/liquid/websocket.html) ] [ [Top](#features) ]
+
+#### **Websocket Server**
+
+Only use on server side apps.
+
+```js
+const { liquid: { websocket } } = mempoolJS();
+
+const init = async () => {
+
+ const ws = websocket.initServer({
+ options: ["blocks", "stats", "mempool-blocks", "live-2h-chart"],
+ });
+
+ ws.on("message", function incoming(data) {
+ const res = JSON.parse(data.toString());
+ if (res.blocks) {
+ console.log(res.blocks);
+ }
+ if (res.mempoolInfo) {
+ console.log(res.mempoolInfo);
+ }
+ if (res.transactions) {
+ console.log(res.transactions);
+ }
+ if (res.mempoolBlocks) {
+ console.log(res.mempoolBlocks);
+ }
+ });
+}
+init();
+```
+
+#### **Websocket Client**
+
+Only use on browser apps.
+
+```js
+const init = async () => {
+ const {
+ liquid: { websocket },
+ } = mempoolJS();
+
+ const ws = websocket.initClient({
+ options: ['blocks', 'stats', 'mempool-blocks', 'live-2h-chart'],
+ });
+
+ ws.addEventListener('message', function incoming({data}) {
+ const res = JSON.parse(data.toString());
+ if (res.blocks) {
+ console.log(res.blocks);
+ }
+ if (res.mempoolInfo) {
+ console.log(res.mempoolInfo);
+ }
+ if (res.transactions) {
+ console.log(res.transactions);
+ }
+ if (res.mempoolBlocks) {
+ console.log(res.mempoolBlocks);
+ }
+ });
+};
+init();
+```
\ No newline at end of file
diff --git a/mempool.js/README.md b/mempool.js/README.md
new file mode 100644
index 000000000..54c90e202
--- /dev/null
+++ b/mempool.js/README.md
@@ -0,0 +1,102 @@
+# Mempool JS API
+
+[](https://www.npmjs.org/package/@mempool/mempool.js)
+[](https://david-dm.org/mempool/mempool.js#info=dependencies)
+[](https://snyk.io/test/github/mempool/mempool.js)
+[](https://opensource.org/licenses/MIT)
+
+NPM package module for Mempool APIs.
+
+Documentation: [https://mempool.space/api](https://mempool.space/api)
+
+---
+
+## **Installation**
+
+### **ES Modules**
+
+Install the npm module.
+
+```bash
+# npm
+$ npm install @mempool/mempool.js --save
+
+# yarn
+$ yarn add @mempool/mempool.js
+```
+
+Or if you're not into package management, just [download a ZIP](https://github.com/mempool/mempool.js/archive/refs/heads/main.zip) file.
+
+Import the module.
+
+```js
+import mempoolJS from '@mempool/mempool.js';
+
+// default mempool.space endpoints
+const { bitcoin, bisq, liquid } = mempoolJS();
+
+// (optional) your custom endpoints
+const { bitcoin, bisq, liquid } = mempoolJS({
+ hostname: 'mempool.space',
+ network: 'testnet' // 'signet' | 'testnet' | 'mainnet'
+});
+```
+
+### **CommonJS**
+
+Include the line below in the `head` tag of your html file.
+
+```html
+
+```
+
+Call `mempoolJS()` function to access the API methods.
+
+```js
+// default mempool.space endpoints
+const { bitcoin, bisq, liquid } = mempoolJS();
+
+// (optional) your custom endpoints
+const { bitcoin, bisq, liquid } = mempoolJS({
+ hostname: 'mempool.space',
+ network: 'testnet' // 'signet' | 'testnet' | 'mainnet'
+});
+```
+
+---
+
+## **Features**
+
+- [Bitcoin](./README-bitcoin.md)
+ - [Addresses](./README-bitcoin.md#get-address)
+ - [Blocks](./README-bitcoin.md#get-blocks)
+ - [Difficulty Adjustment](./README-bitcoin.md#get-difficulty-adjustment)
+ - [Fees](./README-bitcoin.md#get-fees)
+ - [Mempool](./README-bitcoin.md#get-mempool)
+ - [Transactions](./README-bitcoin.md#get-transactions)
+ - [Websocket Client](./README-bitcoin.md#Websocket-Client)
+ - [Websocket Server](./README-bitcoin.md#Websocket-Server)
+- [Bisq](./README-bisq.md#get-address)
+ - [Addresses](./README-bisq.md#get-address)
+ - [Blocks](./README-bisq.md#get-blocks)
+ - [Statistics](./README-bisq.md#get-statistics)
+ - [Transactions](./README-bisq.md#get-transactions)
+- [Liquid](./README-liquid.md#get-address)
+ - [Addresses](./README-liquid.md#get-address)
+ - [Assets](./README-liquid.md#get-address)
+ - [Blocks](./README-liquid.md#get-address)
+ - [Fees](./README-liquid.md#get-address)
+ - [Mempool](./README-liquid.md#get-address)
+ - [Transactions](./README-liquid.md#get-address)
+ - [Websocket Client](./README-liquid.md#Websocket-Client)
+ - [Websocket Server](./README-liquid.md#Websocket-Server)
+
+---
+
+## **Contributing**
+
+Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
+
+---
+
+## **License** [MIT](https://choosealicense.com/licenses/mit/)
diff --git a/mempool.js/dist/.gitkeep b/mempool.js/dist/.gitkeep
new file mode 100644
index 000000000..e69de29bb
diff --git a/mempool.js/examples/html/bisq-js/addresses.html b/mempool.js/examples/html/bisq-js/addresses.html
new file mode 100644
index 000000000..a955bf5e0
--- /dev/null
+++ b/mempool.js/examples/html/bisq-js/addresses.html
@@ -0,0 +1,23 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/bisq-js/blocks.html b/mempool.js/examples/html/bisq-js/blocks.html
new file mode 100644
index 000000000..1c739b1b5
--- /dev/null
+++ b/mempool.js/examples/html/bisq-js/blocks.html
@@ -0,0 +1,33 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/bisq-js/markets.html b/mempool.js/examples/html/bisq-js/markets.html
new file mode 100644
index 000000000..2eb1cee26
--- /dev/null
+++ b/mempool.js/examples/html/bisq-js/markets.html
@@ -0,0 +1,46 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/bisq-js/statistics.html b/mempool.js/examples/html/bisq-js/statistics.html
new file mode 100644
index 000000000..d74689317
--- /dev/null
+++ b/mempool.js/examples/html/bisq-js/statistics.html
@@ -0,0 +1,21 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/bisq-js/transactions.html b/mempool.js/examples/html/bisq-js/transactions.html
new file mode 100644
index 000000000..ef3adfa7f
--- /dev/null
+++ b/mempool.js/examples/html/bisq-js/transactions.html
@@ -0,0 +1,28 @@
+
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/liquid-js/addresses.html b/mempool.js/examples/html/liquid-js/addresses.html
new file mode 100644
index 000000000..d2b1ba1d6
--- /dev/null
+++ b/mempool.js/examples/html/liquid-js/addresses.html
@@ -0,0 +1,37 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/liquid-js/assets.html b/mempool.js/examples/html/liquid-js/assets.html
new file mode 100644
index 000000000..3b57b993f
--- /dev/null
+++ b/mempool.js/examples/html/liquid-js/assets.html
@@ -0,0 +1,35 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/liquid-js/blocks.html b/mempool.js/examples/html/liquid-js/blocks.html
new file mode 100644
index 000000000..8615358a3
--- /dev/null
+++ b/mempool.js/examples/html/liquid-js/blocks.html
@@ -0,0 +1,51 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/liquid-js/fees.html b/mempool.js/examples/html/liquid-js/fees.html
new file mode 100644
index 000000000..04959746b
--- /dev/null
+++ b/mempool.js/examples/html/liquid-js/fees.html
@@ -0,0 +1,24 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/liquid-js/mempool.html b/mempool.js/examples/html/liquid-js/mempool.html
new file mode 100644
index 000000000..e7e909d21
--- /dev/null
+++ b/mempool.js/examples/html/liquid-js/mempool.html
@@ -0,0 +1,27 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/liquid-js/transactions.html b/mempool.js/examples/html/liquid-js/transactions.html
new file mode 100644
index 000000000..cecf643fc
--- /dev/null
+++ b/mempool.js/examples/html/liquid-js/transactions.html
@@ -0,0 +1,48 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/liquid-js/websocket.html b/mempool.js/examples/html/liquid-js/websocket.html
new file mode 100644
index 000000000..f3e2e485a
--- /dev/null
+++ b/mempool.js/examples/html/liquid-js/websocket.html
@@ -0,0 +1,38 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/mempool-js/bisq/addresses.html b/mempool.js/examples/html/mempool-js/bisq/addresses.html
new file mode 100644
index 000000000..b7f4ea74d
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/bisq/addresses.html
@@ -0,0 +1,25 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/mempool-js/bisq/blocks.html b/mempool.js/examples/html/mempool-js/bisq/blocks.html
new file mode 100644
index 000000000..7ff0dac47
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/bisq/blocks.html
@@ -0,0 +1,35 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/mempool-js/bisq/statistics.html b/mempool.js/examples/html/mempool-js/bisq/statistics.html
new file mode 100644
index 000000000..99c4288c2
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/bisq/statistics.html
@@ -0,0 +1,23 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/mempool-js/bisq/transactions.html b/mempool.js/examples/html/mempool-js/bisq/transactions.html
new file mode 100644
index 000000000..3b1df669c
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/bisq/transactions.html
@@ -0,0 +1,28 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/mempool-js/bitcoin/addresses.html b/mempool.js/examples/html/mempool-js/bitcoin/addresses.html
new file mode 100644
index 000000000..c192ae96c
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/bitcoin/addresses.html
@@ -0,0 +1,39 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/mempool-js/bitcoin/blocks.html b/mempool.js/examples/html/mempool-js/bitcoin/blocks.html
new file mode 100644
index 000000000..70aa318c4
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/bitcoin/blocks.html
@@ -0,0 +1,56 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/mempool-js/bitcoin/difficulty.html b/mempool.js/examples/html/mempool-js/bitcoin/difficulty.html
new file mode 100644
index 000000000..9327baf74
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/bitcoin/difficulty.html
@@ -0,0 +1,23 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/mempool-js/bitcoin/fees.html b/mempool.js/examples/html/mempool-js/bitcoin/fees.html
new file mode 100644
index 000000000..2033018ed
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/bitcoin/fees.html
@@ -0,0 +1,26 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/mempool-js/bitcoin/mempool.html b/mempool.js/examples/html/mempool-js/bitcoin/mempool.html
new file mode 100644
index 000000000..5460ef576
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/bitcoin/mempool.html
@@ -0,0 +1,29 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/mempool-js/bitcoin/transactions.html b/mempool.js/examples/html/mempool-js/bitcoin/transactions.html
new file mode 100644
index 000000000..5e0caec57
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/bitcoin/transactions.html
@@ -0,0 +1,56 @@
+
+
+
+ Page Title
+
+
+
+
+
+
\ No newline at end of file
diff --git a/mempool.js/examples/html/mempool-js/bitcoin/websocket.html b/mempool.js/examples/html/mempool-js/bitcoin/websocket.html
new file mode 100644
index 000000000..e15e934e3
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/bitcoin/websocket.html
@@ -0,0 +1,40 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/mempool-js/liquid/addresses.html b/mempool.js/examples/html/mempool-js/liquid/addresses.html
new file mode 100644
index 000000000..564263cbb
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/liquid/addresses.html
@@ -0,0 +1,39 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/mempool-js/liquid/assets.html b/mempool.js/examples/html/mempool-js/liquid/assets.html
new file mode 100644
index 000000000..2582cd7e1
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/liquid/assets.html
@@ -0,0 +1,37 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/mempool-js/liquid/blocks.html b/mempool.js/examples/html/mempool-js/liquid/blocks.html
new file mode 100644
index 000000000..b8e85d8f2
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/liquid/blocks.html
@@ -0,0 +1,53 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/mempool-js/liquid/fees.html b/mempool.js/examples/html/mempool-js/liquid/fees.html
new file mode 100644
index 000000000..14a134e3d
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/liquid/fees.html
@@ -0,0 +1,26 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/mempool-js/liquid/mempool.html b/mempool.js/examples/html/mempool-js/liquid/mempool.html
new file mode 100644
index 000000000..bf9244562
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/liquid/mempool.html
@@ -0,0 +1,29 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/mempool-js/liquid/transactions.html b/mempool.js/examples/html/mempool-js/liquid/transactions.html
new file mode 100644
index 000000000..d81f08b0e
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/liquid/transactions.html
@@ -0,0 +1,55 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/html/mempool-js/liquid/websocket.html b/mempool.js/examples/html/mempool-js/liquid/websocket.html
new file mode 100644
index 000000000..5a194267b
--- /dev/null
+++ b/mempool.js/examples/html/mempool-js/liquid/websocket.html
@@ -0,0 +1,40 @@
+
+
+
+ Page Title
+
+
+
+
+
diff --git a/mempool.js/examples/nodejs/bisq-js/addresses.ts b/mempool.js/examples/nodejs/bisq-js/addresses.ts
new file mode 100644
index 000000000..6d54892d6
--- /dev/null
+++ b/mempool.js/examples/nodejs/bisq-js/addresses.ts
@@ -0,0 +1,11 @@
+import bisqJS from "./../../../src/index-bisq";
+
+const init = async () => {
+ const { addresses } = bisqJS();
+
+ const address = 'B1DgwRN92rdQ9xpEVCdXRfgeqGw9X4YtrZz';
+
+ const myAddress = await addresses.getAddress({ address });
+ console.log(myAddress);
+};
+init();
diff --git a/mempool.js/examples/nodejs/bisq-js/blocks.ts b/mempool.js/examples/nodejs/bisq-js/blocks.ts
new file mode 100644
index 000000000..87f64e7f8
--- /dev/null
+++ b/mempool.js/examples/nodejs/bisq-js/blocks.ts
@@ -0,0 +1,24 @@
+import bisqJS from "./../../../src/index-bisq";
+
+const init = async () => {
+ try {
+ const { blocks } = bisqJS();
+
+ const hash = '000000000000000000079aa6bfa46eb8fc20474e8673d6e8a123b211236bf82d';
+
+ const block = await blocks.getBlock({ hash });
+ console.log(block);
+
+ const myBlocks = await blocks.getBlocks({ index: 0, length: 1 });
+ console.log(myBlocks);
+
+ const myBlocksHeight = await blocks.getBlocksTipHeight({
+ index: 0,
+ length: 1,
+ });
+ console.log(myBlocksHeight);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/bisq-js/markets.ts b/mempool.js/examples/nodejs/bisq-js/markets.ts
new file mode 100644
index 000000000..0b5ded1fa
--- /dev/null
+++ b/mempool.js/examples/nodejs/bisq-js/markets.ts
@@ -0,0 +1,38 @@
+import bisqJS from "./../../../src/index-bisq";
+
+const init = async () => {
+ try {
+ const { markets } = bisqJS();
+
+ const market = "BTC_USD";
+ const basecurrency = "BTC";
+
+ const allMarkets = await markets.getMarkets();
+ console.log(allMarkets);
+
+ const currencies = await markets.getCurrencies();
+ console.log(currencies);
+
+ const depth = await markets.getDepth({ market });
+ console.log(depth)
+
+ const hloc = await markets.getHloc({ market });
+ console.log(hloc);
+
+ const offers = await markets.getOffers({ market });
+ console.log(offers);
+
+ const ticker = await markets.getTicker({ market });
+ console.log(ticker);
+
+ const trades = await markets.getTrades({ market });
+ console.log(trades);
+
+ const volumes = await markets.getVolumes({ basecurrency, market });
+ console.log(volumes);
+
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/bisq-js/statistics.ts b/mempool.js/examples/nodejs/bisq-js/statistics.ts
new file mode 100644
index 000000000..0c2ec0794
--- /dev/null
+++ b/mempool.js/examples/nodejs/bisq-js/statistics.ts
@@ -0,0 +1,13 @@
+import bisqJS from "./../../../src/index-bisq";
+
+const init = async () => {
+ try {
+ const { statistics } = bisqJS();
+
+ const stats = await statistics.getStats();
+ console.log(stats);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/bisq-js/transactions.ts b/mempool.js/examples/nodejs/bisq-js/transactions.ts
new file mode 100644
index 000000000..506e742d1
--- /dev/null
+++ b/mempool.js/examples/nodejs/bisq-js/transactions.ts
@@ -0,0 +1,18 @@
+import bisqJS from "./../../../src/index-bisq";
+
+const init = async () => {
+ try {
+ const { transactions } = bisqJS();
+
+ const txid = '4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5';
+
+ const tx = await transactions.getTx({ txid });
+ console.log(tx);
+
+ const txs = await transactions.getTxs({ index: 0, length: 1 });
+ console.log(txs);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/liquid-js/addresses.ts b/mempool.js/examples/nodejs/liquid-js/addresses.ts
new file mode 100644
index 000000000..99c069706
--- /dev/null
+++ b/mempool.js/examples/nodejs/liquid-js/addresses.ts
@@ -0,0 +1,29 @@
+import mempoolJS from "./../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ liquid: { addresses },
+ } = mempoolJS();
+
+ const address = 'Go65t19hP2FuhBMYtgbdMDgdmEzNwh1i48';
+
+ const myAddress = await addresses.getAddress({ address });
+ console.log(myAddress);
+
+ const addressTxs = await addresses.getAddressTxs({ address });
+ console.log(addressTxs);
+
+ const addressTxsChain = await addresses.getAddressTxsChain({ address });
+ console.log(addressTxsChain);
+
+ const addressTxsMempool = await addresses.getAddressTxsMempool({ address });
+ console.log(addressTxsMempool);
+
+ const addressTxsUtxo = await addresses.getAddressTxsUtxo({ address });
+ console.log(addressTxsUtxo);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/liquid-js/assets.ts b/mempool.js/examples/nodejs/liquid-js/assets.ts
new file mode 100644
index 000000000..14ace8fb5
--- /dev/null
+++ b/mempool.js/examples/nodejs/liquid-js/assets.ts
@@ -0,0 +1,24 @@
+import mempoolJS from "./../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ liquid: { assets },
+ } = mempoolJS();
+
+ const asset_id =
+ '6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d';
+
+ const asset = await assets.getAsset({ asset_id });
+ console.log(asset);
+
+ const assetTxs = await assets.getAssetTxs({ asset_id, is_mempool: false });
+ console.log(assetTxs);
+
+ const assetSupply = await assets.getAssetSupply({ asset_id, decimal: false });
+ console.log(assetSupply);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/liquid-js/blocks.ts b/mempool.js/examples/nodejs/liquid-js/blocks.ts
new file mode 100644
index 000000000..688ee19ea
--- /dev/null
+++ b/mempool.js/examples/nodejs/liquid-js/blocks.ts
@@ -0,0 +1,45 @@
+import mempoolJS from "./../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ liquid: { blocks },
+ } = mempoolJS();
+
+ const hash =
+ '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+ const block = await blocks.getBlock({ hash });
+ console.log(block);
+
+ const blockStatus = await blocks.getBlockStatus({ hash });
+ console.log(blockStatus);
+
+ const blockTxs = await blocks.getBlockTxs({ hash });
+ console.log(blockTxs);
+
+ const blockTxids = await blocks.getBlockTxids({ hash });
+ console.log(blockTxids);
+
+ const blockTxid = await blocks.getBlockTxid({ hash, index: 218 });
+ console.log(blockTxid);
+
+ const blockRaw = await blocks.getBlockRaw({ hash });
+ console.log(blockRaw);
+
+ const blockHeight = await blocks.getBlockHeight({ height: 0 });
+ console.log(blockHeight);
+
+ const getBlocks = await blocks.getBlocks({ start_height: 9999 });
+ console.log(getBlocks);
+
+ const blocksTipHeight = await blocks.getBlocksTipHeight();
+ console.log(blocksTipHeight);
+
+ const blocksTipHash = await blocks.getBlocksTipHash();
+ console.log(blocksTipHash);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/liquid-js/fees.ts b/mempool.js/examples/nodejs/liquid-js/fees.ts
new file mode 100644
index 000000000..2ed93ea2c
--- /dev/null
+++ b/mempool.js/examples/nodejs/liquid-js/fees.ts
@@ -0,0 +1,18 @@
+import mempoolJS from "./../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ liquid: { fees },
+ } = mempoolJS();
+
+ const feesRecommended = await fees.getFeesRecommended();
+ console.log(feesRecommended);
+
+ const feesMempoolBlocks = await fees.getFeesMempoolBlocks();
+ console.log(feesMempoolBlocks);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/liquid-js/mempool.ts b/mempool.js/examples/nodejs/liquid-js/mempool.ts
new file mode 100644
index 000000000..72f51c71e
--- /dev/null
+++ b/mempool.js/examples/nodejs/liquid-js/mempool.ts
@@ -0,0 +1,21 @@
+import mempoolJS from "./../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ liquid: { mempool },
+ } = mempoolJS();
+
+ const getMempool = await mempool.getMempool();
+ console.log(getMempool);
+
+ const getMempoolRecent = await mempool.getMempoolRecent();
+ console.log(getMempoolRecent);
+
+ const getMempoolTxids = await mempool.getMempoolTxids();
+ console.log(getMempoolTxids);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/liquid-js/transactions.ts b/mempool.js/examples/nodejs/liquid-js/transactions.ts
new file mode 100644
index 000000000..a7d7dfd3f
--- /dev/null
+++ b/mempool.js/examples/nodejs/liquid-js/transactions.ts
@@ -0,0 +1,45 @@
+import mempoolJS from "./../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ liquid: { transactions },
+ } = mempoolJS();
+
+ const txid =
+ '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+ const tx = await transactions.getTx({ txid });
+ console.log(tx);
+
+ const txStatus = await transactions.getTxStatus({ txid });
+ console.log(txStatus);
+
+ const txHex = await transactions.getTxHex({ txid });
+ console.log(txHex);
+
+ const txRaw = await transactions.getTxRaw({ txid });
+ console.log(txRaw);
+
+ const txMerkleBlockProof = await transactions.getTxMerkleBlockProof({ txid });
+ console.log(txMerkleBlockProof);
+
+ const txMerkleProof = await transactions.getTxMerkleProof({ txid });
+ console.log(txMerkleProof);
+
+ const txOutspend = await transactions.getTxOutspend({
+ txid,
+ vout: 3,
+ });
+ console.log(txOutspend);
+
+ const txOutspends = await transactions.getTxOutspends({ txid });
+ console.log(txOutspends);
+
+ // const postTx = await transactions.postTx({ txhex });
+ // console.log(postTx);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/liquid-js/websocket.ts b/mempool.js/examples/nodejs/liquid-js/websocket.ts
new file mode 100644
index 000000000..4a9b03925
--- /dev/null
+++ b/mempool.js/examples/nodejs/liquid-js/websocket.ts
@@ -0,0 +1,30 @@
+import mempoolJS from "./../../../src/index";
+
+const { liquid: { websocket } } = mempoolJS();
+
+const init = async () => {
+ try {
+ const ws = websocket.initServer({
+ options: ["blocks", "stats", "mempool-blocks", "live-2h-chart"],
+ });
+
+ ws.on("message", function incoming(data) {
+ const res = JSON.parse(data.toString());
+ if (res.blocks) {
+ console.log(res.blocks);
+ }
+ if (res.mempoolInfo) {
+ console.log(res.mempoolInfo);
+ }
+ if (res.transactions) {
+ console.log(res.transactions);
+ }
+ if (res.mempoolBlocks) {
+ console.log(res.mempoolBlocks);
+ }
+ });
+ } catch (error) {
+ console.log(error);
+ }
+}
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/bisq/addresses.ts b/mempool.js/examples/nodejs/mempool-js/bisq/addresses.ts
new file mode 100644
index 000000000..9f6b2f3bc
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/bisq/addresses.ts
@@ -0,0 +1,17 @@
+import mempoolJS from "./../../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ bisq: { addresses },
+ } = mempoolJS();
+
+ const address = 'B1DgwRN92rdQ9xpEVCdXRfgeqGw9X4YtrZz';
+
+ const myAddress = await addresses.getAddress({ address });
+ console.log(myAddress);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/bisq/blocks.ts b/mempool.js/examples/nodejs/mempool-js/bisq/blocks.ts
new file mode 100644
index 000000000..41bfe4f53
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/bisq/blocks.ts
@@ -0,0 +1,27 @@
+import mempoolJS from "./../../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ bisq: { blocks },
+ } = mempoolJS();
+
+ const hash =
+ '000000000000000000079aa6bfa46eb8fc20474e8673d6e8a123b211236bf82d';
+
+ const block = await blocks.getBlock({ hash });
+ console.log(block);
+
+ const myBlocks = await blocks.getBlocks({ index: 0, length: 1 });
+ console.log(myBlocks);
+
+ const myBlocksHeight = await blocks.getBlocksTipHeight({
+ index: 0,
+ length: 1,
+ });
+ console.log(myBlocksHeight);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/bisq/markets.ts b/mempool.js/examples/nodejs/mempool-js/bisq/markets.ts
new file mode 100644
index 000000000..70176ece4
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/bisq/markets.ts
@@ -0,0 +1,40 @@
+import mempoolJS from "./../../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ bisq: { markets },
+ } = mempoolJS();
+
+ const market = "BTC_USD";
+ const basecurrency = "BTC";
+
+ const allMarkets = await markets.getMarkets();
+ console.log(allMarkets);
+
+ const currencies = await markets.getCurrencies();
+ console.log(currencies);
+
+ const depth = await markets.getDepth({ market });
+ console.log(depth)
+
+ const hloc = await markets.getHloc({ market });
+ console.log(hloc);
+
+ const offers = await markets.getOffers({ market });
+ console.log(offers);
+
+ const ticker = await markets.getTicker({ market });
+ console.log(ticker);
+
+ const trades = await markets.getTrades({ market });
+ console.log(trades);
+
+ const volumes = await markets.getVolumes({ basecurrency, market });
+ console.log(volumes);
+
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/bisq/statistics.ts b/mempool.js/examples/nodejs/mempool-js/bisq/statistics.ts
new file mode 100644
index 000000000..5b799430f
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/bisq/statistics.ts
@@ -0,0 +1,15 @@
+import mempoolJS from "./../../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ bisq: { statistics },
+ } = mempoolJS();
+
+ const stats = await statistics.getStats();
+ console.log(stats);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/bisq/transactions.ts b/mempool.js/examples/nodejs/mempool-js/bisq/transactions.ts
new file mode 100644
index 000000000..41eaf7e4f
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/bisq/transactions.ts
@@ -0,0 +1,21 @@
+import mempoolJS from "./../../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ bisq: { transactions },
+ } = mempoolJS();
+
+ const txid =
+ '4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5';
+
+ const tx = await transactions.getTx({ txid });
+ console.log(tx);
+
+ const txs = await transactions.getTxs({ index: 0, length: 1 });
+ console.log(txs);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/bitcoin/addresses.ts b/mempool.js/examples/nodejs/mempool-js/bitcoin/addresses.ts
new file mode 100644
index 000000000..ea15b7fa1
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/bitcoin/addresses.ts
@@ -0,0 +1,27 @@
+import mempoolJS from "./../../../../src/index";
+
+const init = async () => {
+ try {
+ const { bitcoin: { addresses } } = mempoolJS();
+
+ const address = '1wizSAYSbuyXbt9d8JV8ytm5acqq2TorC';
+
+ const myAddress = await addresses.getAddress({ address });
+ console.log(myAddress);
+
+ const addressTxs = await addresses.getAddressTxs({ address });
+ console.log(addressTxs);
+
+ const addressTxsChain = await addresses.getAddressTxsChain({ address });
+ console.log(addressTxsChain);
+
+ const addressTxsMempool = await addresses.getAddressTxsMempool({ address });
+ console.log(addressTxsMempool);
+
+ const addressTxsUtxo = await addresses.getAddressTxsUtxo({ address });
+ console.log(addressTxsUtxo);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/bitcoin/blocks.ts b/mempool.js/examples/nodejs/mempool-js/bitcoin/blocks.ts
new file mode 100644
index 000000000..c9bd28b86
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/bitcoin/blocks.ts
@@ -0,0 +1,49 @@
+import mempoolJS from "./../../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ bitcoin: { blocks },
+ } = mempoolJS();
+
+ const hash =
+ '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+ const block = await blocks.getBlock({ hash });
+ console.log(block);
+
+ const blockStatus = await blocks.getBlockStatus({ hash });
+ console.log(blockStatus);
+
+ const blockTxs = await blocks.getBlockTxs({ hash });
+ console.log(blockTxs);
+
+ const blockTxids = await blocks.getBlockTxids({ hash });
+ console.log(blockTxids);
+
+ const blockTxid = await blocks.getBlockTxid({ hash, index: 218 });
+ console.log(blockTxid);
+
+ const blockRaw = await blocks.getBlockRaw({ hash });
+ console.log(blockRaw);
+
+ const blockHeader = await blocks.getBlockHeader({ hash });
+ console.log(blockHeader);
+
+ const blockHeight = await blocks.getBlockHeight({ height: 0 });
+ console.log(blockHeight);
+
+ const getBlocks = await blocks.getBlocks({ start_height: 9999 });
+ console.log(getBlocks);
+
+ const blocksTipHeight = await blocks.getBlocksTipHeight();
+ console.log(blocksTipHeight);
+
+ const blocksTipHash = await blocks.getBlocksTipHash();
+ console.log(blocksTipHash);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
+
\ No newline at end of file
diff --git a/mempool.js/examples/nodejs/mempool-js/bitcoin/difficulty.ts b/mempool.js/examples/nodejs/mempool-js/bitcoin/difficulty.ts
new file mode 100644
index 000000000..514fd9966
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/bitcoin/difficulty.ts
@@ -0,0 +1,15 @@
+import mempoolJS from "./../../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ bitcoin: { difficulty },
+ } = mempoolJS();
+
+ const difficultyAdjustment = await difficulty.getDifficultyAdjustment();
+ console.log(difficultyAdjustment);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/bitcoin/fees.ts b/mempool.js/examples/nodejs/mempool-js/bitcoin/fees.ts
new file mode 100644
index 000000000..74032462d
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/bitcoin/fees.ts
@@ -0,0 +1,23 @@
+import mempoolJS from "./../../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ bitcoin: { fees },
+ } = mempoolJS();
+
+ const feesRecommended = await fees.getFeesRecommended();
+ console.log(feesRecommended);
+
+ const feesMempoolBlocks = await fees.getFeesMempoolBlocks();
+ console.log(feesMempoolBlocks);
+
+ const txid = 'txid';
+
+ const feesCPFP = await fees.getCPFP({ txid });
+ console.log(feesCPFP);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/bitcoin/mempool.ts b/mempool.js/examples/nodejs/mempool-js/bitcoin/mempool.ts
new file mode 100644
index 000000000..94ad2b7f7
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/bitcoin/mempool.ts
@@ -0,0 +1,21 @@
+import mempoolJS from "./../../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ bitcoin: { mempool },
+ } = mempoolJS();
+
+ const getMempool = await mempool.getMempool();
+ console.log(getMempool);
+
+ const getMempoolRecent = await mempool.getMempoolRecent();
+ console.log(getMempoolRecent);
+
+ const getMempoolTxids = await mempool.getMempoolTxids();
+ console.log(getMempoolTxids);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/bitcoin/transactions.ts b/mempool.js/examples/nodejs/mempool-js/bitcoin/transactions.ts
new file mode 100644
index 000000000..ed90e6719
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/bitcoin/transactions.ts
@@ -0,0 +1,45 @@
+import mempoolJS from "./../../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ bitcoin: { transactions },
+ } = mempoolJS();
+
+ const txid =
+ '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+ const tx = await transactions.getTx({ txid });
+ console.log(tx);
+
+ const txStatus = await transactions.getTxStatus({ txid });
+ console.log(txStatus);
+
+ const txHex = await transactions.getTxHex({ txid });
+ console.log(txHex);
+
+ const txRaw = await transactions.getTxRaw({ txid });
+ console.log(txRaw);
+
+ const txMerkleBlockProof = await transactions.getTxMerkleBlockProof({ txid });
+ console.log(txMerkleBlockProof);
+
+ const txMerkleProof = await transactions.getTxMerkleProof({ txid });
+ console.log(txMerkleProof);
+
+ const txOutspend = await transactions.getTxOutspend({
+ txid,
+ vout: 3,
+ });
+ console.log(txOutspend);
+
+ const txOutspends = await transactions.getTxOutspends({ txid });
+ console.log(txOutspends);
+
+ // const postTx = await transactions.postTx({ txhex });
+ // console.log(postTx);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/bitcoin/websocket.ts b/mempool.js/examples/nodejs/mempool-js/bitcoin/websocket.ts
new file mode 100644
index 000000000..f10f87b0d
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/bitcoin/websocket.ts
@@ -0,0 +1,30 @@
+import mempoolJS from "./../../../../src/index";
+
+const { bitcoin: { websocket } } = mempoolJS();
+
+const init = async () => {
+ try {
+ const ws = websocket.initServer({
+ options: ["blocks", "stats", "mempool-blocks", "live-2h-chart"],
+ });
+
+ ws.on("message", function incoming(data) {
+ const res = JSON.parse(data.toString());
+ if (res.blocks) {
+ console.log(res.blocks);
+ }
+ if (res.mempoolInfo) {
+ console.log(res.mempoolInfo);
+ }
+ if (res.transactions) {
+ console.log(res.transactions);
+ }
+ if (res.mempoolBlocks) {
+ console.log(res.mempoolBlocks);
+ }
+ });
+ } catch (error) {
+ console.log(error);
+ }
+}
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/liquid/addresses.ts b/mempool.js/examples/nodejs/mempool-js/liquid/addresses.ts
new file mode 100644
index 000000000..58176ee47
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/liquid/addresses.ts
@@ -0,0 +1,29 @@
+import mempoolJS from "./../../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ liquid: { addresses },
+ } = mempoolJS();
+
+ const address = 'Go65t19hP2FuhBMYtgbdMDgdmEzNwh1i48';
+
+ const myAddress = await addresses.getAddress({ address });
+ console.log(myAddress);
+
+ const addressTxs = await addresses.getAddressTxs({ address });
+ console.log(addressTxs);
+
+ const addressTxsChain = await addresses.getAddressTxsChain({ address });
+ console.log(addressTxsChain);
+
+ const addressTxsMempool = await addresses.getAddressTxsMempool({ address });
+ console.log(addressTxsMempool);
+
+ const addressTxsUtxo = await addresses.getAddressTxsUtxo({ address });
+ console.log(addressTxsUtxo);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/liquid/assets.ts b/mempool.js/examples/nodejs/mempool-js/liquid/assets.ts
new file mode 100644
index 000000000..af784d486
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/liquid/assets.ts
@@ -0,0 +1,24 @@
+import mempoolJS from "./../../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ liquid: { assets },
+ } = mempoolJS();
+
+ const asset_id =
+ '6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d';
+
+ const asset = await assets.getAsset({ asset_id });
+ console.log(asset);
+
+ const assetTxs = await assets.getAssetTxs({ asset_id, is_mempool: false });
+ console.log(assetTxs);
+
+ const assetSupply = await assets.getAssetSupply({ asset_id, decimal: false });
+ console.log(assetSupply);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/liquid/blocks.ts b/mempool.js/examples/nodejs/mempool-js/liquid/blocks.ts
new file mode 100644
index 000000000..1cb54eaed
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/liquid/blocks.ts
@@ -0,0 +1,45 @@
+import mempoolJS from "./../../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ liquid: { blocks },
+ } = mempoolJS();
+
+ const hash =
+ '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+ const block = await blocks.getBlock({ hash });
+ console.log(block);
+
+ const blockStatus = await blocks.getBlockStatus({ hash });
+ console.log(blockStatus);
+
+ const blockTxs = await blocks.getBlockTxs({ hash });
+ console.log(blockTxs);
+
+ const blockTxids = await blocks.getBlockTxids({ hash });
+ console.log(blockTxids);
+
+ const blockTxid = await blocks.getBlockTxid({ hash, index: 218 });
+ console.log(blockTxid);
+
+ const blockRaw = await blocks.getBlockRaw({ hash });
+ console.log(blockRaw);
+
+ const blockHeight = await blocks.getBlockHeight({ height: 0 });
+ console.log(blockHeight);
+
+ const getBlocks = await blocks.getBlocks({ start_height: 9999 });
+ console.log(getBlocks);
+
+ const blocksTipHeight = await blocks.getBlocksTipHeight();
+ console.log(blocksTipHeight);
+
+ const blocksTipHash = await blocks.getBlocksTipHash();
+ console.log(blocksTipHash);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/liquid/fees.ts b/mempool.js/examples/nodejs/mempool-js/liquid/fees.ts
new file mode 100644
index 000000000..443a13544
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/liquid/fees.ts
@@ -0,0 +1,18 @@
+import mempoolJS from "./../../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ liquid: { fees },
+ } = mempoolJS();
+
+ const feesRecommended = await fees.getFeesRecommended();
+ console.log(feesRecommended);
+
+ const feesMempoolBlocks = await fees.getFeesMempoolBlocks();
+ console.log(feesMempoolBlocks);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/liquid/mempool.ts b/mempool.js/examples/nodejs/mempool-js/liquid/mempool.ts
new file mode 100644
index 000000000..878d15eae
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/liquid/mempool.ts
@@ -0,0 +1,21 @@
+import mempoolJS from "./../../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ liquid: { mempool },
+ } = mempoolJS();
+
+ const getMempool = await mempool.getMempool();
+ console.log(getMempool);
+
+ const getMempoolRecent = await mempool.getMempoolRecent();
+ console.log(getMempoolRecent);
+
+ const getMempoolTxids = await mempool.getMempoolTxids();
+ console.log(getMempoolTxids);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/liquid/transactions.ts b/mempool.js/examples/nodejs/mempool-js/liquid/transactions.ts
new file mode 100644
index 000000000..214c54207
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/liquid/transactions.ts
@@ -0,0 +1,45 @@
+import mempoolJS from "./../../../../src/index";
+
+const init = async () => {
+ try {
+ const {
+ liquid: { transactions },
+ } = mempoolJS();
+
+ const txid =
+ '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+ const tx = await transactions.getTx({ txid });
+ console.log(tx);
+
+ const txStatus = await transactions.getTxStatus({ txid });
+ console.log(txStatus);
+
+ const txHex = await transactions.getTxHex({ txid });
+ console.log(txHex);
+
+ const txRaw = await transactions.getTxRaw({ txid });
+ console.log(txRaw);
+
+ const txMerkleBlockProof = await transactions.getTxMerkleBlockProof({ txid });
+ console.log(txMerkleBlockProof);
+
+ const txMerkleProof = await transactions.getTxMerkleProof({ txid });
+ console.log(txMerkleProof);
+
+ const txOutspend = await transactions.getTxOutspend({
+ txid,
+ vout: 3,
+ });
+ console.log(txOutspend);
+
+ const txOutspends = await transactions.getTxOutspends({ txid });
+ console.log(txOutspends);
+
+ // const postTx = await transactions.postTx({ txhex });
+ // console.log(postTx);
+ } catch (error) {
+ console.log(error);
+ }
+};
+init();
diff --git a/mempool.js/examples/nodejs/mempool-js/liquid/websocket.ts b/mempool.js/examples/nodejs/mempool-js/liquid/websocket.ts
new file mode 100644
index 000000000..410c408be
--- /dev/null
+++ b/mempool.js/examples/nodejs/mempool-js/liquid/websocket.ts
@@ -0,0 +1,30 @@
+import mempoolJS from "./../../../../src/index";
+
+const { liquid: { websocket } } = mempoolJS();
+
+const init = async () => {
+ try {
+ const ws = websocket.initServer({
+ options: ["blocks", "stats", "mempool-blocks", "live-2h-chart"],
+ });
+
+ ws.on("message", function incoming(data) {
+ const res = JSON.parse(data.toString());
+ if (res.blocks) {
+ console.log(res.blocks);
+ }
+ if (res.mempoolInfo) {
+ console.log(res.mempoolInfo);
+ }
+ if (res.transactions) {
+ console.log(res.transactions);
+ }
+ if (res.mempoolBlocks) {
+ console.log(res.mempoolBlocks);
+ }
+ });
+ } catch (error) {
+ console.log(error);
+ }
+}
+init();
diff --git a/mempool.js/nodemon.json b/mempool.js/nodemon.json
new file mode 100644
index 000000000..dc4af3078
--- /dev/null
+++ b/mempool.js/nodemon.json
@@ -0,0 +1,6 @@
+{
+ "watch": ["src", "examples"],
+ "ext": "ts,json",
+ "ignore": ["src/**/*.spec.ts"],
+ "exec": "ts-node ./src/index.ts"
+}
diff --git a/mempool.js/npm-bisq-js/.gitignore b/mempool.js/npm-bisq-js/.gitignore
new file mode 100644
index 000000000..20a0772e1
--- /dev/null
+++ b/mempool.js/npm-bisq-js/.gitignore
@@ -0,0 +1,6 @@
+/node_modules
+/lib
+/dist/*
+!.gitkeep
+
+yarn-error.log
\ No newline at end of file
diff --git a/mempool.js/npm-bisq-js/README-bisq.md b/mempool.js/npm-bisq-js/README-bisq.md
new file mode 100644
index 000000000..122d9d3df
--- /dev/null
+++ b/mempool.js/npm-bisq-js/README-bisq.md
@@ -0,0 +1,265 @@
+# Bisq**JS** - Features
+
+Interface to access the Bisq API.
+
+[Back to home](./README.md)
+
+---
+
+## **Features**
+
+- Addresses
+ - [Get Address](#get-address)
+- Blocks
+ - [Get Block](#get-block)
+ - [Get Blocks](#get-blocks)
+ - [Get Block Tip Height](#get-block-tip-height)
+- Markets
+ - [Get Currencies](#get-currencies)
+ - [Get Depth](#get-depth)
+ - [Get HLOC](#get-hloc)
+ - [Get Markets](#get-markets)
+ - [Get Offers](#get-offers)
+ - [Get Ticker](#get-ticker)
+ - [Get Trades](#get-trades)
+ - [Get Volumes](#get-volumes)
+- Statistics
+ - [Get Statistics](#get-statistics)
+- Transactions
+ - [Get Transaction](#get-transaction)
+ - [Get Transactions](#get-transactions)
+
+---
+
+### **Get Address**
+
+Returns statistics about all Bisq transactions.
+
+[ [NodeJS Example](../examples/nodejs/bisq-js/addresses.ts) ] [ [HTML Example](../examples/html/bisq-js/addresses.html) ] [ [Top](#features) ]
+
+```js
+const { addresses } = bisqJS();
+
+const address = 'B1DgwRN92rdQ9xpEVCdXRfgeqGw9X4YtrZz';
+
+const myAddress = await addresses.getAddress({ address });
+console.log(myAddress);
+```
+
+### **Get Block**
+
+Returns all Bisq transactions that exist in a Bitcoin block.
+
+**Parameters:**
+
+- {string} hash
+
+[ [NodeJS Example](../examples/nodejs/bisq-js/blocks.ts) ] [ [HTML Example](../examples/html/bisq-js/blocks.html) ] [ [Top](#features) ]
+
+```js
+const { blocks } = bisqJS();
+
+const hash = '000000000000000000079aa6bfa46eb8fc20474e8673d6e8a123b211236bf82d';
+
+const block = await blocks.getBlock({ hash });
+console.log(block);
+```
+
+### **Get Blocks**
+
+Returns `:length` Bitcoin blocks that contain Bisq transactions, starting from `:index`.
+
+**Parameters:**
+
+- {number} index
+- {number} length
+
+[ [NodeJS Example](../examples/nodejs/bisq-js/blocks.ts) ] [ [HTML Example](../examples/html/bisq-js/blocks.html) ] [ [Top](#features) ]
+
+```js
+const { blocks } = bisqJS();
+
+const hash = '000000000000000000079aa6bfa46eb8fc20474e8673d6e8a123b211236bf82d';
+
+const myBlocks = await blocks.getBlocks({ index: 0, length: 1 });
+console.log(myBlocks);
+```
+
+### **Get Blocks Tip Height**
+
+Returns the most recently processed Bitcoin block height processed by Bisq.
+
+[ [NodeJS Example](../examples/nodejs/bisq-js/blocks.ts) ] [ [HTML Example](../examples/html/bisq-js/blocks.html) ] [ [Top](#features) ]
+
+```js
+const { blocks } = bisqJS();
+
+const myBlocksHeight = await blocks.getBlocksTipHeight({
+ index: 0,
+ length: 1,
+});
+console.log(myBlocksHeight);
+```
+
+### **Get Market Currencies**
+
+Returns the Bisq market currencies.
+
+[ [NodeJS Example](../examples/nodejs/bisq-js/markets.ts) ] [ [HTML Example](../examples/html/bisq-js/markets.html) ] [ [Top](#features) ]
+
+```js
+const { markets } = bisqJS();
+
+const currencies = await markets.getCurrencies();
+console.log(currencies);
+```
+
+### **Get Market Depth**
+
+Returns the Bisq market depth.
+
+**Parameters:**
+
+- {string} market
+
+[ [NodeJS Example](../examples/nodejs/bisq-js/markets.ts) ] [ [HTML Example](../examples/html/bisq-js/markets.html) ] [ [Top](#features) ]
+
+```js
+const { markets } = bisqJS();
+const market = "BTC_USD";
+
+const depth = await markets.getDepth({ market });
+console.log(depth)
+```
+
+### **Get Market HLOC**
+
+Returns the Bisq market Hloc.
+
+**Parameters:**
+
+- {string} market
+
+[ [NodeJS Example](../examples/nodejs/bisq-js/markets.ts) ] [ [HTML Example](../examples/html/bisq-js/markets.html) ] [ [Top](#features) ]
+
+```js
+const { markets } = bisqJS();
+const market = "BTC_USD";
+
+const hloc = await markets.getHloc({ market });
+console.log(hloc);
+```
+
+### **Get Market Offers**
+
+Returns the Bisq market Offers.
+
+**Parameters:**
+
+- {string} market
+
+[ [NodeJS Example](../examples/nodejs/bisq-js/markets.ts) ] [ [HTML Example](../examples/html/bisq-js/markets.html) ] [ [Top](#features) ]
+
+```js
+const { markets } = bisqJS();
+const market = "BTC_USD";
+
+const offers = await markets.getOffers({ market });
+console.log(offers);
+```
+
+### **Get Market Ticker**
+
+Returns the Bisq market Ticker.
+
+**Parameters:**
+
+- {string} market
+
+[ [NodeJS Example](../examples/nodejs/bisq-js/markets.ts) ] [ [HTML Example](../examples/html/bisq-js/markets.html) ] [ [Top](#features) ]
+
+```js
+const { markets } = bisqJS();
+const market = "BTC_USD";
+
+const ticker = await markets.getTicker({ market });
+console.log(ticker);
+```
+
+### **Get Market Trades**
+
+Returns the Bisq market Trades.
+
+**Parameters:**
+
+- {string} market
+
+[ [NodeJS Example](../examples/nodejs/bisq-js/markets.ts) ] [ [HTML Example](../examples/html/bisq-js/markets.html) ] [ [Top](#features) ]
+
+```js
+const { markets } = bisqJS();
+const market = "BTC_USD";
+
+const trades = await markets.getTrades({ market });
+console.log(trades);
+```
+
+### **Get Market Volumes**
+
+Returns the Bisq market Volumes.
+
+**Parameters:**
+
+- {string} market
+
+[ [NodeJS Example](../examples/nodejs/bisq-js/markets.ts) ] [ [HTML Example](../examples/html/bisq-js/markets.html) ] [ [Top](#features) ]
+
+```js
+const { markets } = bisqJS();
+const market = "BTC_USD";
+const basecurrency = "BTC";
+
+const volumes = await markets.getVolumes({ basecurrency, market });
+console.log(volumes);
+```
+
+### **Get Stats**
+
+Returns statistics about all Bisq transactions.
+
+[ [NodeJS Example](../examples/nodejs/bisq-js/statistics.ts) ] [ [HTML Example](../examples/html/bisq-js/statistics.html) ] [ [Top](#features) ]
+
+```js
+const { statistics } = bisqJS();
+
+const stats = await statistics.getStats();
+console.log(stats);
+```
+
+### **Get Transaction**
+
+Returns details about a Bisq transaction.
+
+[ [NodeJS Example](../examples/nodejs/bisq-js/transactions.ts) ] [ [HTML Example](../examples/html/bisq-js/transactions.html) ] [ [Top](#features) ]
+
+```js
+const { transactions } = bisqJS();
+
+const txid = '4b5417ec5ab6112bedf539c3b4f5a806ed539542d8b717e1c4470aa3180edce5';
+
+const tx = await transactions.getTx({ txid });
+console.log(tx);
+```
+
+### **Get Transactions**
+
+Returns details about a Bisq transactions.
+
+[ [NodeJS Example](../examples/nodejs/bisq-js/transactions.ts) ] [ [HTML Example](../examples/html/bisq-js/transactions.html) ] [ [Top](#features) ]
+
+```js
+const { transactions } = bisqJS();
+
+const txs = await transactions.getTxs({ index: 0, length: 1 });
+console.log(txs);
+```
diff --git a/mempool.js/npm-bisq-js/README.md b/mempool.js/npm-bisq-js/README.md
new file mode 100644
index 000000000..548946e61
--- /dev/null
+++ b/mempool.js/npm-bisq-js/README.md
@@ -0,0 +1,67 @@
+# Bisq**JS** API
+
+[](https://www.npmjs.org/package/@mempool/bisq.js)
+[](https://david-dm.org/mempool/bisq.js#info=dependencies)
+[](https://snyk.io/test/github/mempool/bisq.js)
+[](https://opensource.org/licenses/MIT)
+
+NPM package module for Bisq APIs.
+
+Documentation: [https://bisq.markets/api](https://bisq.markets/api)
+
+## **Installation**
+
+### **ES Modules**
+
+Install the npm module.
+
+```bash
+# npm
+$ npm install @mempool/bisq.js --save
+
+# yarn
+$ yarn add @mempool/bisq.js
+```
+
+Or if you're not into package management, just [download a ZIP](https://github.com/mempool/mempool.js/archive/refs/heads/main.zip) file.
+
+Import the module.
+
+```js
+import bisqJS from '@mempool/bisq.js';
+
+const bisq = bisqJS();
+```
+
+### **CommonJS**
+
+Include the line below in the `head` tag of your html file.
+
+```html
+
+```
+
+Call `bisqJS()` function to access the API methods.
+
+```js
+const bisq = bisqJS();
+```
+
+---
+
+## **Features**
+
+- [Addresses](./README-bisq.md#get-address)
+- [Blocks](./README-bisq.md#get-blocks)
+- [Markets](./README-bisq.md#get-markets)
+- [Statistics](./README-bisq.md#get-statistics)
+- [Transactions](./README-bisq.md#get-transactions)
+---
+
+## **Contributing**
+
+Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
+
+---
+
+## **License** [MIT](https://choosealicense.com/licenses/mit/)
diff --git a/mempool.js/npm-bisq-js/package.json b/mempool.js/npm-bisq-js/package.json
new file mode 100644
index 000000000..cbac65c14
--- /dev/null
+++ b/mempool.js/npm-bisq-js/package.json
@@ -0,0 +1,57 @@
+{
+ "name": "@mempool/bisq.js",
+ "version": "2.2.1",
+ "description": "NPM package module for Bisq APIs.",
+ "main": "../lib/index-bisq.js",
+ "keywords": [
+ "axios",
+ "bitcoin",
+ "bisq",
+ "blockchain",
+ "html",
+ "bisq.js",
+ "mempool.space",
+ "mempool.js",
+ "mempool",
+ "websocket",
+ "nodejs",
+ "typescript"
+ ],
+ "author": "Miguel Medeiros (miguelmedeiros.com.br)",
+ "url": "https://bisq.markets/",
+ "private": false,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/mempool/mempool.js.git"
+ },
+ "types": "../lib/index-bisq.d.ts",
+ "scripts": {
+ "start": "ts-node ../src/index-bisq.ts",
+ "dev": "nodemon ../src/index-bisq.ts",
+ "build": "tsc",
+ "export-js": "tsc | browserify ../lib/index-bisq.js --standalone bisqJS > ../dist/bisq.js | browserify -p tinyify ../lib/index-bisq.js --standalone bisqJS > ../dist/bisq.min.js",
+ "prepare": "npm run build",
+ "postversion": "git push && git push --tags"
+ },
+ "files": [
+ "../lib/**/*"
+ ],
+ "dependencies": {
+ "axios": "^0.21.1",
+ "ws": "^7.4.3"
+ },
+ "devDependencies": {
+ "@types/node": "^14.14.25",
+ "@types/websocket": "^1.0.2",
+ "@types/ws": "^7.4.1",
+ "@typescript-eslint/eslint-plugin": "^4.14.2",
+ "@typescript-eslint/parser": "^4.14.2",
+ "browserify": "^17.0.0",
+ "eslint": "^7.19.0",
+ "nodemon": "^2.0.7",
+ "tinyify": "^3.0.0",
+ "ts-node": "^9.1.1",
+ "typescript": "^4.1.3"
+ },
+ "license": "MIT"
+}
diff --git a/mempool.js/npm-liquid-js/.gitignore b/mempool.js/npm-liquid-js/.gitignore
new file mode 100644
index 000000000..20a0772e1
--- /dev/null
+++ b/mempool.js/npm-liquid-js/.gitignore
@@ -0,0 +1,6 @@
+/node_modules
+/lib
+/dist/*
+!.gitkeep
+
+yarn-error.log
\ No newline at end of file
diff --git a/mempool.js/npm-liquid-js/README-liquid.md b/mempool.js/npm-liquid-js/README-liquid.md
new file mode 100644
index 000000000..6aeff6543
--- /dev/null
+++ b/mempool.js/npm-liquid-js/README-liquid.md
@@ -0,0 +1,763 @@
+# Liquid**JS** - Liquid API
+
+Interface to access Liquid APIs.
+
+[Back to home](./README.md)
+
+---
+
+## **Features**
+
+- Addresses
+ - [Get Address](#get-address)
+ - [Get Address Txs](#get-address-txs)
+ - [Get Address Txs Chain](#get-address-txs-chain)
+ - [Get Address Txs Mempool](#get-address-txs-mempool)
+ - [Get Address Txs Utxo](#get-address-txs-utxo)
+- Assets
+ - [Get Asset](#get-asset)
+ - [Get Asset Txs](#get-asset-txs)
+ - [Get Asset Supply](#get-asset-supply)
+- Blocks
+ - [Get Block](#get-block)
+ - [Get Block Status](#get-block-status)
+ - [Get Block Txs](#get-block-txs)
+ - [Get Block Txids](#get-block-txids)
+ - [Get Block Txid](#get-block-txid)
+ - [Get Block Raw](#get-block-raw)
+ - [Get Blocks Height](#get-blocks-height)
+ - [Get Blocks](#get-blocks)
+ - [Get Blocks Tip Height](#get-blocks-tip-height)
+ - [Get Blocks Tip Hash](#get-blocks-tip-hash)
+- Fees
+ - [Get Fees Recommended](#get-fees-recommended)
+ - [Get Fees Mempool Blocks](#get-fees-mempool-blocks)
+- Mempool
+ - [Get Mempool](#get-mempool)
+ - [Get Mempool Recent](#get-mempool-recent)
+ - [Get Mempool Txids](#get-mempool-txids)
+- Transactions
+ - [Get Tx](#get-tx)
+ - [Get Tx Status](#get-tx-status)
+ - [Get Tx Hex](#get-tx-hex)
+ - [Get Tx Raw](#get-tx-raw)
+ - [Get Tx Merkle Block Proof](#get-tx-merkle-block-proof)
+ - [Get Tx Merkle Proof](#get-tx-merkle-proof)
+ - [Get Tx Outspend](#get-tx-outspend)
+ - [Get Tx Outspends](#get-tx-outspends)
+ - [Post Tx Outspends]($post-tx-outspends)
+- Websocket
+ - [Websocket Client](#websocket-client)
+ - [Websocket Server](#websocket-server)
+
+---
+
+### **Get Address**
+
+Returns details about an address. Available fields: `address`, `chain_stats`, and `mempool_stats`. `{chain,mempool}\_stats` each contain an object with `tx_count`, `funded_txo_count`, `funded_txo_sum`, `spent_txo_count`, and `spent_txo_sum`.
+
+**Parameters:**
+
+- {string} address
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/addresses.ts) ] [ [HTML Example](../examples/html/liquid-js/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { addresses },
+} = mempoolJS();
+
+const address = 'Go65t19hP2FuhBMYtgbdMDgdmEzNwh1i48';
+
+const myAddress = await addresses.getAddress({ address });
+console.log(myAddress);
+```
+
+### **Get Address Txs**
+
+Get transaction history for the specified address/scripthash, sorted with newest first. Returns up to 50 mempool transactions plus the first 25 confirmed transactions. You can request more confirmed transactions using `:last_seen_txid`.
+
+**Parameters:**
+
+- {string} address
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/addresses.ts) ] [ [HTML Example](../examples/html/liquid-js/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { addresses },
+} = mempoolJS();
+
+const address = 'Go65t19hP2FuhBMYtgbdMDgdmEzNwh1i48';
+
+const addressTxs = await addresses.getAddressTxs({ address });
+console.log(addressTxs);
+```
+
+### **Get Address Txs Chain**
+
+Get confirmed transaction history for the specified address/scripthash, sorted with newest first. Returns 25 transactions per page. More can be requested by specifying the last txid seen by the previous query.
+
+**Parameters:**
+
+- {string} address
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/addresses.ts) ] [ [HTML Example](../examples/html/liquid-js/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { addresses },
+} = mempoolJS();
+
+const address = 'Go65t19hP2FuhBMYtgbdMDgdmEzNwh1i48';
+
+const addressTxsChain = await addresses.getAddressTxsChain({ address });
+console.log(addressTxsChain);
+```
+
+### **Get Address Txs Mempool**
+
+Get unconfirmed transaction history for the specified `address/scripthash`. Returns up to 50 transactions (no paging).
+
+**Parameters:**
+
+- {string} address
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/addresses.ts) ] [ [HTML Example](../examples/html/liquid-js/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { addresses },
+} = mempoolJS();
+
+const address = 'Go65t19hP2FuhBMYtgbdMDgdmEzNwh1i48';
+
+const addressTxsMempool = await addresses.getAddressTxsMempool({ address });
+console.log(addressTxsMempool);
+```
+
+### **Get Address Txs Utxo**
+
+Get the list of unspent transaction outputs associated with the `address/scripthash`. Available fields: `txid`, `vout`, `value`, and `status` (with the status of the funding tx).
+
+**Parameters:**
+
+- {string} address
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/addresses.ts) ] [ [HTML Example](../examples/html/liquid-js/addresses.html) ] [ [Top](#features) ]
+
+```js
+const { addresses } = mempoolJS();
+
+const addressTxsUtxo = await addresses.getAddressTxsUtxo('15e10745f15593a...');
+console.log(addressTxsUtxo);
+```
+
+### **Get Asset**
+
+Returns information about a Liquid asset.
+
+**Parameters:**
+
+- {string} asset_id
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/addresses.ts) ] [ [HTML Example](../examples/html/liquid-js/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { assets },
+} = mempoolJS();
+
+const asset_id =
+ '6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d';
+
+const asset = await assets.getAsset({ asset_id });
+console.log(asset);
+```
+
+### **Get Asset Txs**
+
+Returns transactions associated with the specified Liquid asset. For the network's native asset, returns a list of peg in, peg out, and burn transactions. For user-issued assets, returns a list of issuance, reissuance, and burn transactions. Does not include regular transactions transferring this asset.
+
+**Parameters:**
+
+- {string} asset_id
+- {boolean} is_mempool
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/addresses.ts) ] [ [HTML Example](../examples/html/liquid-js/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { assets },
+} = mempoolJS();
+
+const asset_id =
+ '6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d';
+
+const assetTxs = await assets.getAssetTxs({ asset_id, is_mempool: false });
+console.log(assetTxs);
+```
+
+### **Get Asset Supply**
+
+Get the current total supply of the specified asset. For the native asset (L-BTC), this is calculated as `[chain,mempool]\_stats.peg_in_amount` - `[chain,mempool]\_stats.peg_out_amount` - `[chain,mempool]\_stats.burned_amount`. For issued assets, this is calculated as `[chain,mempool]\_stats.issued_amount` - `[chain,mempool]\_stats.burned_amount`. Not available for assets with blinded issuances. If `/decimal` is specified, returns the supply as a decimal according to the asset's divisibility. Otherwise, returned in base units.
+
+**Parameters:**
+
+- {string} asset_id
+- {boolean} decimal
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/addresses.ts) ] [ [HTML Example](../examples/html/liquid-js/addresses.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { assets },
+} = mempoolJS();
+
+const asset_id =
+ '6f0279e9ed041c3d710a9f57d0c02928416460c4b722ae3457a11eec381c526d';
+
+const assetSupply = await assets.getAssetSupply({ asset_id, decimal: false });
+console.log(assetSupply);
+```
+
+### **Get Block**
+
+Returns details about a block. Available fields: `id`, `height`, `version`, `timestamp`, `bits`, `nonce`, `merkle_root`, `tx_count`, `size`, `weight`, and `previousblockhash`.
+
+**Parameters:**
+
+- {string} hash
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/blocks.ts) ] [ [HTML Example](../examples/html/liquid-js/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const block = await blocks.getBlock({ hash });
+console.log(block);
+```
+
+### **Get Block Status**
+
+Returns the confirmation status of a block. Available fields: `in_best_chain` (boolean, false for orphaned blocks), `next_best` (the hash of the next block, only available for blocks in the best chain).
+
+**Parameters:**
+
+- {string} hash
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/blocks.ts) ] [ [HTML Example](../examples/html/liquid-js/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const blockStatus = await blocks.getBlockStatus({ hash });
+console.log(blockStatus);
+```
+
+### **Get Block Txs**
+
+Returns a list of transactions in the block (up to 25 transactions beginning at start_index). Transactions returned here do not have the status field, since all the transactions share the same block and confirmation status.
+
+**Parameters:**
+
+- {string} hash
+- {number} start_index
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/blocks.ts) ] [ [HTML Example](../examples/html/liquid-js/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const blockTxs = await blocks.getBlockTxs({ hash });
+console.log(blockTxs);
+```
+
+### **Get Block Txids**
+
+Returns a list of all txids in the block.
+
+**Parameters:**
+
+- {string} hash
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/blocks.ts) ] [ [HTML Example](../examples/html/liquid-js/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const blockTxids = await blocks.getBlockTxids({ hash });
+console.log(blockTxids);
+```
+
+### **Get Block Txid**
+
+Returns the transaction at index :index within the specified block.
+
+**Parameters:**
+
+- {string} hash
+- {number} index
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/blocks.ts) ] [ [HTML Example](../examples/html/liquid-js/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const blockTxid = await blocks.getBlockTxid({ hash, index: 218 });
+console.log(blockTxid);
+```
+
+### **Get Block Raw**
+
+Returns the raw block representation in binary.
+
+**Parameters:**
+
+- {string} hash
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/blocks.ts) ] [ [HTML Example](../examples/html/liquid-js/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const hash = '000000000000000015dc777b3ff2611091336355d3f0ee9766a2cf3be8e4b1ce';
+
+const blockRaw = await blocks.getBlockRaw({ hash });
+console.log(blockRaw);
+```
+
+### **Get Blocks Height**
+
+Returns the hash of the block currently at `:height`.
+
+**Parameters:**
+
+- {number} height
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/blocks.ts) ] [ [HTML Example](../examples/html/liquid-js/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const blockHeight = await blocks.getBlockHeight({ height: 0 });
+console.log(blockHeight);
+```
+
+### **Get Blocks**
+
+Returns the 10 newest blocks starting at the tip or at `:start_height` if specified.
+
+**Parameters:**
+
+- {number} start_height
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/blocks.ts) ] [ [HTML Example](../examples/html/liquid-js/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const getBlocks = await blocks.getBlocks({ start_height: 9999 });
+console.log(getBlocks);
+```
+
+### **Get Blocks Tip Height**
+
+Returns the 10 newest blocks starting at the tip or at `:start_height` if specified.
+
+**Parameters:**
+
+- {number} start_height
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/blocks.ts) ] [ [HTML Example](../examples/html/liquid-js/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const blocksTipHeight = await blocks.getBlocksTipHeight();
+console.log(blocksTipHeight);
+```
+
+### **Get Blocks Tip Hash**
+
+Returns the hash of the last block.
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/blocks.ts) ] [ [HTML Example](../examples/html/liquid-js/blocks.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { blocks },
+} = mempoolJS();
+
+const blocksTipHash = await blocks.getBlocksTipHash();
+console.log(blocksTipHash);
+```
+
+### **Get Fees Recommended**
+
+Returns our currently suggested fees for new transactions.
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/fees.ts) ] [ [HTML Example](../examples/html/liquid-js/fees.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { fees },
+} = mempoolJS();
+
+const feesRecommended = await fees.getFeesRecommended();
+console.log(feesRecommended);
+```
+
+### **Get Fees Mempool Blocks**
+
+Returns current mempool as projected blocks.
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/fees.ts) ] [ [HTML Example](../examples/html/liquid-js/fees.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { fees },
+} = mempoolJS();
+
+const feesMempoolBlocks = await fees.getFeesMempoolBlocks();
+console.log(feesMempoolBlocks);
+```
+
+### **Get Mempool**
+
+Returns current mempool backlog statistics.
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/mempool.ts) ] [ [HTML Example](../examples/html/liquid-js/mempool.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { mempool },
+} = mempoolJS();
+
+const getMempool = await mempool.getMempool();
+console.log(getMempool);
+```
+
+### **Get Mempool Recent**
+
+Get a list of the last 10 transactions to enter the mempool. Each transaction object contains simplified overview data, with the following fields: `txid`, `fee`, `vsize`, and `value`.
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/mempool.ts) ] [ [HTML Example](../examples/html/liquid-js/mempool.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { mempool },
+} = mempoolJS();
+
+const getMempoolRecent = await mempool.getMempoolRecent();
+console.log(getMempoolRecent);
+```
+
+### **Get Mempool Txids**
+
+Get the full list of txids in the mempool as an array. The order of the `txids` is arbitrary and does not match bitcoind.
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/mempool.ts) ] [ [HTML Example](../examples/html/liquid-js/mempool.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { mempool },
+} = mempoolJS();
+
+const getMempoolTxids = await mempool.getMempoolTxids();
+console.log(getMempoolTxids);
+```
+
+### **Get Tx**
+
+Returns details about a transaction. Available fields: `txid`, `version`, `locktime`, `size`, `weight`, `fee`, `vin`, `vout`, and `status`.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/transactions.ts) ] [ [HTML Example](../examples/html/liquid-js/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const tx = await transactions.getTx({ txid });
+console.log(tx);
+```
+
+### **Get Tx Status**
+
+Returns the confirmation status of a transaction. Available fields: `confirmed` (boolean), `block_height` (optional), and `block_hash` (optional).
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/transactions.ts) ] [ [HTML Example](../examples/html/liquid-js/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txStatus = await transactions.getTxStatus({ txid });
+console.log(txStatus);
+```
+
+### **Get Tx Hex**
+
+Returns a transaction serialized as hex.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/transactions.ts) ] [ [HTML Example](../examples/html/liquid-js/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txHex = await transactions.getTxHex({ txid });
+console.log(txHex);
+```
+
+### **Get Tx Raw**
+
+Returns a transaction as binary data.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/transactions.ts) ] [ [HTML Example](../examples/html/liquid-js/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txRaw = await transactions.getTxRaw({ txid });
+console.log(txRaw);
+```
+
+### **Get Tx Merkle Block Proof**
+
+Returns a merkle inclusion proof for the transaction using bitcoind's merkleblock format.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/transactions.ts) ] [ [HTML Example](../examples/html/liquid-js/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txMerkleBlockProof = await transactions.getTxMerkleBlockProof({ txid });
+console.log(txMerkleBlockProof);
+```
+
+### **Get Tx Merkle Proof**
+
+Returns a merkle inclusion proof for the transaction using Electrum's blockchain.transaction.get_merkle format.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/transactions.ts) ] [ [HTML Example](../examples/html/liquid-js/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txMerkleProof = await transactions.getTxMerkleProof({ txid });
+console.log(txMerkleProof);
+```
+
+### **Get Tx Outspend**
+
+Returns the spending status of a transaction output. Available fields: `spent` (boolean), `txid` (optional), `vin` (optional), and `status` (optional, the status of the spending tx).
+
+**Parameters:**
+
+- {string} txid
+- {number} vout
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/transactions.ts) ] [ [HTML Example](../examples/html/liquid-js/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txOutspend = await transactions.getTxOutspend({
+ txid,
+ vout: 3,
+});
+console.log(txOutspend);
+```
+
+### **Get Tx Outspends**
+
+Returns the spending status of all transaction outputs.
+
+**Parameters:**
+
+- {string} txid
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/transactions.ts) ] [ [HTML Example](../examples/html/liquid-js/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txid = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const txOutspends = await transactions.getTxOutspends({ txid });
+console.log(txOutspends);
+```
+
+### **Post Tx Outspends**
+
+Broadcast a raw transaction to the network. The transaction should be provided as hex in the request body. The `txid` will be returned on success.
+
+**Parameters:**
+
+- {string} txhex
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/transactions.ts) ] [ [HTML Example](../examples/html/liquid-js/transactions.html) ] [ [Top](#features) ]
+
+```js
+const {
+ liquid: { transactions },
+} = mempoolJS();
+
+const txhex = '15e10745f15593a899cef391191bdd3d7c12412cc4696b7bcb669d0feadc8521';
+
+const postTx = await transactions.postTx({ txhex });
+console.log(postTx);
+```
+
+### **Websocket**
+
+Default push: `{ action: 'want', data: ['blocks', ...] }` to express what you want pushed. Available: blocks, mempool-block, live-2h-chart, and stats.
+
+Push transactions related to address: `{ 'track-address': '3PbJ...bF9B' }` to receive all new transactions containing that address as input or output. Returns an array of transactions. address-transactions for new mempool transactions, and block-transactions for new block confirmed transactions.
+
+[ [NodeJS Example](../examples/nodejs/liquid-js/websocket.ts) ] [ [HTML Example](../examples/html/liquid-js/websocket.html) ] [ [Top](#features) ]
+
+#### **Websocket Server**
+
+Only use on server side apps.
+
+```js
+const { liquid: { websocket } } = mempoolJS();
+
+const init = async () => {
+
+ const ws = websocket.initServer({
+ options: ["blocks", "stats", "mempool-blocks", "live-2h-chart"],
+ });
+
+ ws.on("message", function incoming(data) {
+ const res = JSON.parse(data.toString());
+ if (res.blocks) {
+ console.log(res.blocks);
+ }
+ if (res.mempoolInfo) {
+ console.log(res.mempoolInfo);
+ }
+ if (res.transactions) {
+ console.log(res.transactions);
+ }
+ if (res.mempoolBlocks) {
+ console.log(res.mempoolBlocks);
+ }
+ });
+}
+init();
+```
+
+#### **Websocket Client**
+
+Only use on browser apps.
+
+```js
+const init = async () => {
+ const {
+ liquid: { websocket },
+ } = mempoolJS();
+
+ const ws = websocket.initClient({
+ options: ['blocks', 'stats', 'mempool-blocks', 'live-2h-chart'],
+ });
+
+ ws.addEventListener('message', function incoming({data}) {
+ const res = JSON.parse(data.toString());
+ if (res.blocks) {
+ console.log(res.blocks);
+ }
+ if (res.mempoolInfo) {
+ console.log(res.mempoolInfo);
+ }
+ if (res.transactions) {
+ console.log(res.transactions);
+ }
+ if (res.mempoolBlocks) {
+ console.log(res.mempoolBlocks);
+ }
+ });
+};
+init();
+```
\ No newline at end of file
diff --git a/mempool.js/npm-liquid-js/README.md b/mempool.js/npm-liquid-js/README.md
new file mode 100644
index 000000000..1e58d11ef
--- /dev/null
+++ b/mempool.js/npm-liquid-js/README.md
@@ -0,0 +1,70 @@
+# Liquid**JS** API
+
+[](https://www.npmjs.org/package/@mempool/liquid.js)
+[](https://david-dm.org/mempool/liquid.js#info=dependencies)
+[](https://snyk.io/test/github/mempool/liquid.js)
+[](https://opensource.org/licenses/MIT)
+
+NPM package module for Liquid Network APIs.
+
+Documentation: [https://liquid.network/api](https://liquid.network/api)
+
+## **Installation**
+
+### **ES Modules**
+
+Install the npm module.
+
+```bash
+# npm
+$ npm install @mempool/liquid.js --save
+
+# yarn
+$ yarn add @mempool/liquid.js
+```
+
+Or if you're not into package management, just [download a ZIP](https://github.com/mempool/mempool.js/archive/refs/heads/main.zip) file.
+
+Import the module.
+
+```js
+import liquidJS from '@mempool/liquid.js';
+
+const liquid = liquidJS();
+```
+
+### **CommonJS**
+
+Include the line below in the `head` tag of your html file.
+
+```html
+
+```
+
+Call `liquidJS()` function to access the API methods.
+
+```js
+const liquid = liquidJS();
+```
+
+---
+
+## **Features**
+
+- [Addresses](./README-liquid.md#get-address)
+- [Assets](./README-liquid.md#get-address)
+- [Blocks](./README-liquid.md#get-address)
+- [Fees](./README-liquid.md#get-address)
+- [Mempool](./README-liquid.md#get-address)
+- [Transactions](./README-liquid.md#get-address)
+- [Websocket Client](./README-liquid.md#Websocket-Client)
+- [Websocket Server](./README-liquid.md#Websocket-Server)
+---
+
+## **Contributing**
+
+Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
+
+---
+
+## **License** [MIT](https://choosealicense.com/licenses/mit/)
diff --git a/mempool.js/npm-liquid-js/package.json b/mempool.js/npm-liquid-js/package.json
new file mode 100644
index 000000000..5d8b0434e
--- /dev/null
+++ b/mempool.js/npm-liquid-js/package.json
@@ -0,0 +1,56 @@
+{
+ "name": "@mempool/liquid.js",
+ "version": "2.2.1",
+ "description": "NPM package module for Liquid APIs.",
+ "main": "../lib/index-liquid.js",
+ "keywords": [
+ "axios",
+ "bitcoin",
+ "liquid",
+ "blockchain",
+ "html",
+ "mempool.space",
+ "mempool.js",
+ "mempool",
+ "websocket",
+ "nodejs",
+ "typescript"
+ ],
+ "author": "Miguel Medeiros (miguelmedeiros.com.br)",
+ "url": "https://liquid.network/",
+ "private": false,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/mempool/mempool.js.git"
+ },
+ "types": "../lib/index-liquid.d.ts",
+ "scripts": {
+ "start": "ts-node ../src/index-liquid.ts",
+ "dev": "nodemon ../src/index-liquid.ts",
+ "build": "tsc",
+ "export-js": "tsc | browserify ../lib/index-liquid.js --standalone liquidJS > ../dist/liquid.js | browserify -p tinyify ../lib/index-liquid.js --standalone liquidJS > ../dist/liquid.min.js",
+ "prepare": "npm run build",
+ "postversion": "git push && git push --tags"
+ },
+ "files": [
+ "../lib/**/*"
+ ],
+ "dependencies": {
+ "axios": "^0.21.1",
+ "ws": "^7.4.3"
+ },
+ "devDependencies": {
+ "@types/node": "^14.14.25",
+ "@types/websocket": "^1.0.2",
+ "@types/ws": "^7.4.1",
+ "@typescript-eslint/eslint-plugin": "^4.14.2",
+ "@typescript-eslint/parser": "^4.14.2",
+ "browserify": "^17.0.0",
+ "eslint": "^7.19.0",
+ "nodemon": "^2.0.7",
+ "tinyify": "^3.0.0",
+ "ts-node": "^9.1.1",
+ "typescript": "^4.1.3"
+ },
+ "license": "MIT"
+}
diff --git a/mempool.js/package-lock.json b/mempool.js/package-lock.json
new file mode 100644
index 000000000..a14965ecd
--- /dev/null
+++ b/mempool.js/package-lock.json
@@ -0,0 +1,10467 @@
+{
+ "name": "@mempool/mempool.js",
+ "version": "2.2.5",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "@mempool/mempool.js",
+ "version": "2.2.5",
+ "license": "MIT",
+ "dependencies": {
+ "axios": "0.24.0",
+ "ws": "8.3.0"
+ },
+ "devDependencies": {
+ "@types/node": "^14.14.25",
+ "@types/websocket": "^1.0.2",
+ "@types/ws": "^7.4.1",
+ "@typescript-eslint/eslint-plugin": "^4.14.2",
+ "@typescript-eslint/parser": "^4.14.2",
+ "browserify": "^17.0.0",
+ "eslint": "^7.19.0",
+ "nodemon": "^2.0.7",
+ "tinyify": "^3.0.0",
+ "ts-node": "^9.1.1",
+ "typescript": "^4.1.3"
+ }
+ },
+ "../../../../usr/local/lib/node_modules/@mempool/mempool.js": {
+ "version": "2.2.2",
+ "extraneous": true,
+ "license": "MIT",
+ "dependencies": {
+ "axios": "^0.21.1",
+ "ws": "^7.4.3"
+ },
+ "devDependencies": {
+ "@types/node": "^14.14.25",
+ "@types/websocket": "^1.0.2",
+ "@types/ws": "^7.4.1",
+ "@typescript-eslint/eslint-plugin": "^4.14.2",
+ "@typescript-eslint/parser": "^4.14.2",
+ "browserify": "^17.0.0",
+ "eslint": "^7.19.0",
+ "nodemon": "^2.0.7",
+ "tinyify": "^3.0.0",
+ "ts-node": "^9.1.1",
+ "typescript": "^4.1.3"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.12.13",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
+ "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/highlight": "^7.12.13"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@babel/highlight": {
+ "version": "7.12.13",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz",
+ "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.12.11",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.1.1",
+ "espree": "^7.3.0",
+ "globals": "^12.1.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^3.13.1",
+ "lodash": "^4.17.20",
+ "minimatch": "^3.0.4",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/@goto-bus-stop/common-shake": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@goto-bus-stop/common-shake/-/common-shake-2.4.0.tgz",
+ "integrity": "sha512-LO+7v+UbxE3IyAS4Suf/KYB7Zq9DEIHibwDe6Wph4apNEfDyyxP7BSxzRS/Qa9lUH5gsm9eL9nF8EE1E0/nQkQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn-walk": "^7.0.0",
+ "debug": "^3.2.6",
+ "escope": "^3.6.0"
+ }
+ },
+ "node_modules/@goto-bus-stop/common-shake/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/@goto-bus-stop/common-shake/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@goto-bus-stop/envify": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@goto-bus-stop/envify/-/envify-5.0.0.tgz",
+ "integrity": "sha512-xAnxuDWmwQxO8CgVuPTxKuNsKDfwyXXTyAabG4sNoK59H/ZMC7BHxTA/4ehtinsxbcH7/9L65F5VhyNdQfUyqA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn-node": "^2.0.1",
+ "dash-ast": "^2.0.1",
+ "multisplice": "^1.0.0",
+ "through2": "^2.0.5"
+ },
+ "bin": {
+ "envify": "bin/envify"
+ }
+ },
+ "node_modules/@goto-bus-stop/envify/node_modules/acorn-node": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-2.0.1.tgz",
+ "integrity": "sha512-VLR5sHqjk+8c5hrKeP2fWaIHb8eewsoxnZ8r2qpwRHXMHuC7KyOPflnOx9dLssVQUurzJ7rO0OzIFjHcndafWw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "acorn": "^7.0.0",
+ "acorn-walk": "^7.0.0",
+ "xtend": "^4.0.2"
+ }
+ },
+ "node_modules/@goto-bus-stop/envify/node_modules/dash-ast": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-2.0.1.tgz",
+ "integrity": "sha512-5TXltWJGc+RdnabUGzhRae1TRq6m4gr+3K2wQX0is5/F2yS6MJXJvLyI3ErAnsAXuJoGqvfVD5icRgim07DrxQ==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz",
+ "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.4",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz",
+ "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz",
+ "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.4",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@sindresorhus/is": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
+ "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@szmarczak/http-timer": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
+ "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "defer-to-connect": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.7",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz",
+ "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/node": {
+ "version": "14.14.25",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz",
+ "integrity": "sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/websocket": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.2.tgz",
+ "integrity": "sha512-B5m9aq7cbbD/5/jThEr33nUY8WEfVi6A2YKCTOvw5Ldy7mtsOkqRvGjnzy6g7iMMDsgu7xREuCzqATLDLQVKcQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/websocket/node_modules/@types/node": {
+ "version": "14.14.37",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz",
+ "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@types/ws": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.1.tgz",
+ "integrity": "sha512-ISCK1iFnR+jYv7+jLNX0wDqesZ/5RAeY3wUx6QaphmocphU61h+b+PHjS18TF4WIPTu/MMzxIq2PHr32o2TS5Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/ws/node_modules/@types/node": {
+ "version": "14.14.37",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz",
+ "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.2.tgz",
+ "integrity": "sha512-uMGfG7GFYK/nYutK/iqYJv6K/Xuog/vrRRZX9aEP4Zv1jsYXuvFUMDFLhUnc8WFv3D2R5QhNQL3VYKmvLS5zsQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/experimental-utils": "4.14.2",
+ "@typescript-eslint/scope-manager": "4.14.2",
+ "debug": "^4.1.1",
+ "functional-red-black-tree": "^1.0.1",
+ "lodash": "^4.17.15",
+ "regexpp": "^3.0.0",
+ "semver": "^7.3.2",
+ "tsutils": "^3.17.1"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^4.0.0",
+ "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@typescript-eslint/experimental-utils": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.2.tgz",
+ "integrity": "sha512-mV9pmET4C2y2WlyHmD+Iun8SAEqkLahHGBkGqDVslHkmoj3VnxnGP4ANlwuxxfq1BsKdl/MPieDbohCEQgKrwA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/json-schema": "^7.0.3",
+ "@typescript-eslint/scope-manager": "4.14.2",
+ "@typescript-eslint/types": "4.14.2",
+ "@typescript-eslint/typescript-estree": "4.14.2",
+ "eslint-scope": "^5.0.0",
+ "eslint-utils": "^2.0.0"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "*"
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.2.tgz",
+ "integrity": "sha512-ipqSP6EuUsMu3E10EZIApOJgWSpcNXeKZaFeNKQyzqxnQl8eQCbV+TSNsl+s2GViX2d18m1rq3CWgnpOxDPgHg==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "4.14.2",
+ "@typescript-eslint/types": "4.14.2",
+ "@typescript-eslint/typescript-estree": "4.14.2",
+ "debug": "^4.1.1"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.2.tgz",
+ "integrity": "sha512-cuV9wMrzKm6yIuV48aTPfIeqErt5xceTheAgk70N1V4/2Ecj+fhl34iro/vIssJlb7XtzcaD07hWk7Jk0nKghg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "4.14.2",
+ "@typescript-eslint/visitor-keys": "4.14.2"
+ },
+ "engines": {
+ "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.2.tgz",
+ "integrity": "sha512-LltxawRW6wXy4Gck6ZKlBD05tCHQUj4KLn4iR69IyRiDHX3d3NCAhO+ix5OR2Q+q9bjCrHE/HKt+riZkd1At8Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.2.tgz",
+ "integrity": "sha512-ESiFl8afXxt1dNj8ENEZT12p+jl9PqRur+Y19m0Z/SPikGL6rqq4e7Me60SU9a2M28uz48/8yct97VQYaGl0Vg==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "@typescript-eslint/types": "4.14.2",
+ "@typescript-eslint/visitor-keys": "4.14.2",
+ "debug": "^4.1.1",
+ "globby": "^11.0.1",
+ "is-glob": "^4.0.1",
+ "lodash": "^4.17.15",
+ "semver": "^7.3.2",
+ "tsutils": "^3.17.1"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.2.tgz",
+ "integrity": "sha512-KBB+xLBxnBdTENs/rUgeUKO0UkPBRs2vD09oMRRIkj5BEN8PX1ToXV532desXfpQnZsYTyLLviS7JrPhdL154w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@typescript-eslint/types": "4.14.2",
+ "eslint-visitor-keys": "^2.0.0"
+ },
+ "engines": {
+ "node": "^8.10.0 || ^10.13.0 || >=11.10.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz",
+ "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz",
+ "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
+ "dev": true,
+ "license": "MIT",
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/acorn-node": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
+ "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "acorn": "^7.0.0",
+ "acorn-walk": "^7.0.0",
+ "xtend": "^4.0.2"
+ }
+ },
+ "node_modules/acorn-walk": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "dev": true,
+ "license": "BSD-3-Clause OR MIT",
+ "engines": {
+ "node": ">=0.4.2"
+ }
+ },
+ "node_modules/ansi-align": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
+ "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^4.1.0"
+ }
+ },
+ "node_modules/ansi-colors": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/arg": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/array-filter": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz",
+ "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/array-from": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz",
+ "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/asn1.js": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
+ "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bn.js": "^4.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "node_modules/assert": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
+ "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "object-assign": "^4.1.1",
+ "util": "0.10.3"
+ }
+ },
+ "node_modules/assert/node_modules/inherits": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/assert/node_modules/util": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "2.0.1"
+ }
+ },
+ "node_modules/astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/available-typed-arrays": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz",
+ "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-filter": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/axios": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz",
+ "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==",
+ "dependencies": {
+ "follow-redirects": "^1.14.4"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/bn.js": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
+ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/boxen": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz",
+ "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-align": "^3.0.0",
+ "camelcase": "^5.3.1",
+ "chalk": "^3.0.0",
+ "cli-boxes": "^2.2.0",
+ "string-width": "^4.1.0",
+ "term-size": "^2.1.0",
+ "type-fest": "^0.8.1",
+ "widest-line": "^3.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/brorand": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/browser-pack": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz",
+ "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "combine-source-map": "~0.8.0",
+ "defined": "^1.0.0",
+ "JSONStream": "^1.0.3",
+ "safe-buffer": "^5.1.1",
+ "through2": "^2.0.0",
+ "umd": "^3.0.0"
+ },
+ "bin": {
+ "browser-pack": "bin/cmd.js"
+ }
+ },
+ "node_modules/browser-pack-flat": {
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/browser-pack-flat/-/browser-pack-flat-3.4.2.tgz",
+ "integrity": "sha512-TrUo6n2fGSOCYFAKkt/EkgenytAuuCI88fmXFA60aNFVHvz3CZEBTXYSvvXVpU6xpjM8lj/6vkC6Exn8KPjtPw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "combine-source-map": "^0.8.0",
+ "convert-source-map": "^1.5.1",
+ "count-lines": "^0.1.2",
+ "dedent": "^0.7.0",
+ "estree-is-member-expression": "^1.0.0",
+ "estree-is-require": "^1.0.0",
+ "esutils": "^2.0.2",
+ "JSONStream": "^1.3.2",
+ "path-parse": "^1.0.5",
+ "scope-analyzer": "^2.0.0",
+ "stream-combiner": "^0.2.2",
+ "through2": "^2.0.3",
+ "transform-ast": "^2.4.2",
+ "umd": "^3.0.3",
+ "wrap-comment": "^1.0.0"
+ },
+ "bin": {
+ "browser-pack-flat": "cli.js"
+ }
+ },
+ "node_modules/browser-process-hrtime": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz",
+ "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==",
+ "dev": true,
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/browser-resolve": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz",
+ "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "resolve": "^1.17.0"
+ }
+ },
+ "node_modules/browser-unpack": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/browser-unpack/-/browser-unpack-1.4.2.tgz",
+ "integrity": "sha512-uHkiY4bmXjjBBWoKH1aRnEGTQxUUCCcVtoJfH9w1lmGGjETY4u93Zk+GRYkCE/SRMrdoMTINQ/1/manr/3aMVA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn-node": "^1.5.2",
+ "concat-stream": "^1.5.0",
+ "minimist": "^1.1.1"
+ },
+ "bin": {
+ "browser-unpack": "bin/cmd.js"
+ }
+ },
+ "node_modules/browserify": {
+ "version": "17.0.0",
+ "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz",
+ "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "assert": "^1.4.0",
+ "browser-pack": "^6.0.1",
+ "browser-resolve": "^2.0.0",
+ "browserify-zlib": "~0.2.0",
+ "buffer": "~5.2.1",
+ "cached-path-relative": "^1.0.0",
+ "concat-stream": "^1.6.0",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "~1.0.0",
+ "crypto-browserify": "^3.0.0",
+ "defined": "^1.0.0",
+ "deps-sort": "^2.0.1",
+ "domain-browser": "^1.2.0",
+ "duplexer2": "~0.1.2",
+ "events": "^3.0.0",
+ "glob": "^7.1.0",
+ "has": "^1.0.0",
+ "htmlescape": "^1.1.0",
+ "https-browserify": "^1.0.0",
+ "inherits": "~2.0.1",
+ "insert-module-globals": "^7.2.1",
+ "JSONStream": "^1.0.3",
+ "labeled-stream-splicer": "^2.0.0",
+ "mkdirp-classic": "^0.5.2",
+ "module-deps": "^6.2.3",
+ "os-browserify": "~0.3.0",
+ "parents": "^1.0.1",
+ "path-browserify": "^1.0.0",
+ "process": "~0.11.0",
+ "punycode": "^1.3.2",
+ "querystring-es3": "~0.2.0",
+ "read-only-stream": "^2.0.0",
+ "readable-stream": "^2.0.2",
+ "resolve": "^1.1.4",
+ "shasum-object": "^1.0.0",
+ "shell-quote": "^1.6.1",
+ "stream-browserify": "^3.0.0",
+ "stream-http": "^3.0.0",
+ "string_decoder": "^1.1.1",
+ "subarg": "^1.0.0",
+ "syntax-error": "^1.1.1",
+ "through2": "^2.0.0",
+ "timers-browserify": "^1.0.1",
+ "tty-browserify": "0.0.1",
+ "url": "~0.11.0",
+ "util": "~0.12.0",
+ "vm-browserify": "^1.0.0",
+ "xtend": "^4.0.0"
+ },
+ "bin": {
+ "browserify": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/browserify-aes": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
+ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "buffer-xor": "^1.0.3",
+ "cipher-base": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.3",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/browserify-cipher": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
+ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "browserify-aes": "^1.0.4",
+ "browserify-des": "^1.0.0",
+ "evp_bytestokey": "^1.0.0"
+ }
+ },
+ "node_modules/browserify-des": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
+ "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cipher-base": "^1.0.1",
+ "des.js": "^1.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "node_modules/browserify-rsa": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
+ "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bn.js": "^5.0.0",
+ "randombytes": "^2.0.1"
+ }
+ },
+ "node_modules/browserify-rsa/node_modules/bn.js": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz",
+ "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/browserify-sign": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
+ "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "bn.js": "^5.1.1",
+ "browserify-rsa": "^4.0.1",
+ "create-hash": "^1.2.0",
+ "create-hmac": "^1.1.7",
+ "elliptic": "^6.5.3",
+ "inherits": "^2.0.4",
+ "parse-asn1": "^5.1.5",
+ "readable-stream": "^3.6.0",
+ "safe-buffer": "^5.2.0"
+ }
+ },
+ "node_modules/browserify-sign/node_modules/bn.js": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz",
+ "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/browserify-sign/node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/browserify-zlib": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
+ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pako": "~1.0.5"
+ }
+ },
+ "node_modules/buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz",
+ "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4"
+ }
+ },
+ "node_modules/buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/buffer-xor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/builtin-status-codes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/bundle-collapser": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/bundle-collapser/-/bundle-collapser-1.4.0.tgz",
+ "integrity": "sha512-Gd3K3+3KI1Utuk+gwAvuOVOjT/2XLGL8tU6FwDKk04LlOZkYfT0pwQllsG1Dv8RRhgcjNxZSDmmSXb0AOkwSwg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "browser-pack": "^6.0.2",
+ "browser-unpack": "^1.1.0",
+ "concat-stream": "^1.5.0",
+ "falafel": "^2.1.0",
+ "minimist": "^1.1.1",
+ "through2": "^2.0.0"
+ },
+ "bin": {
+ "bundle-collapser": "bin/cmd.js"
+ }
+ },
+ "node_modules/cacheable-request": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
+ "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "clone-response": "^1.0.2",
+ "get-stream": "^5.1.0",
+ "http-cache-semantics": "^4.0.0",
+ "keyv": "^3.0.0",
+ "lowercase-keys": "^2.0.0",
+ "normalize-url": "^4.1.0",
+ "responselike": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cacheable-request/node_modules/get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/cacheable-request/node_modules/lowercase-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
+ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cached-path-relative": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz",
+ "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/call-matcher": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/call-matcher/-/call-matcher-2.0.0.tgz",
+ "integrity": "sha512-CIDC5wZZfZ2VjZu849WQckS58Z3pJXFfRaSjNjgo/q3in5zxkhTwVL83vttgtmvyLG7TuDlLlBya7SKP6CjDIA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "deep-equal": "^1.0.0",
+ "espurify": "^2.0.0",
+ "estraverse": "^4.0.0"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chalk/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chalk/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
+ "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.5.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.1"
+ }
+ },
+ "node_modules/ci-info": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cipher-base": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
+ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "node_modules/cli-boxes": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz",
+ "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/clone-response": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
+ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mimic-response": "^1.0.0"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/combine-source-map": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
+ "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "convert-source-map": "~1.1.0",
+ "inline-source-map": "~0.6.0",
+ "lodash.memoize": "~3.0.3",
+ "source-map": "~0.5.3"
+ }
+ },
+ "node_modules/combine-source-map/node_modules/convert-source-map": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
+ "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/combine-source-map/node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/common-shakeify": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/common-shakeify/-/common-shakeify-0.6.2.tgz",
+ "integrity": "sha512-vxlXr26fqxm8ZJ0jh8MlvpeN6IbyUKqsVmgb4rAjDM/0f4nKebiHaAXpF/Mm86W9ENR5iSI7UOnUTylpVyplUA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@goto-bus-stop/common-shake": "^2.2.0",
+ "convert-source-map": "^1.5.1",
+ "through2": "^2.0.3",
+ "transform-ast": "^2.4.3",
+ "wrap-comment": "^1.0.1"
+ }
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "dev": true,
+ "engines": [
+ "node >= 0.8"
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "node_modules/configstore": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
+ "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "dot-prop": "^5.2.0",
+ "graceful-fs": "^4.1.2",
+ "make-dir": "^3.0.0",
+ "unique-string": "^2.0.0",
+ "write-file-atomic": "^3.0.0",
+ "xdg-basedir": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/console-browserify": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
+ "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
+ "dev": true
+ },
+ "node_modules/constants-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/convert-source-map": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
+ "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.1"
+ }
+ },
+ "node_modules/convert-source-map/node_modules/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==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/count-lines": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/count-lines/-/count-lines-0.1.2.tgz",
+ "integrity": "sha1-4zST+2hgqC9xWdgjeEP7+u/uWWI=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/create-ecdh": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
+ "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bn.js": "^4.1.0",
+ "elliptic": "^6.5.3"
+ }
+ },
+ "node_modules/create-hash": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
+ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cipher-base": "^1.0.1",
+ "inherits": "^2.0.1",
+ "md5.js": "^1.3.4",
+ "ripemd160": "^2.0.1",
+ "sha.js": "^2.4.0"
+ }
+ },
+ "node_modules/create-hmac": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "cipher-base": "^1.0.3",
+ "create-hash": "^1.1.0",
+ "inherits": "^2.0.1",
+ "ripemd160": "^2.0.0",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "node_modules/create-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
+ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/crypto-browserify": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "browserify-cipher": "^1.0.0",
+ "browserify-sign": "^4.0.0",
+ "create-ecdh": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.0",
+ "diffie-hellman": "^5.0.0",
+ "inherits": "^2.0.1",
+ "pbkdf2": "^3.0.3",
+ "public-encrypt": "^4.0.0",
+ "randombytes": "^2.0.0",
+ "randomfill": "^1.0.3"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/crypto-random-string": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
+ "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/d": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
+ "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "es5-ext": "^0.10.50",
+ "type": "^1.0.1"
+ }
+ },
+ "node_modules/dash-ast": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz",
+ "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decompress-response": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
+ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "mimic-response": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/dedent": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
+ "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/deep-equal": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
+ "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-arguments": "^1.0.4",
+ "is-date-object": "^1.0.1",
+ "is-regex": "^1.0.4",
+ "object-is": "^1.0.1",
+ "object-keys": "^1.1.1",
+ "regexp.prototype.flags": "^1.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/deep-extend": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/defer-to-connect": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
+ "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/define-properties": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "object-keys": "^1.0.12"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/defined": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/deps-sort": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz",
+ "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "JSONStream": "^1.0.3",
+ "shasum-object": "^1.0.0",
+ "subarg": "^1.0.0",
+ "through2": "^2.0.0"
+ },
+ "bin": {
+ "deps-sort": "bin/cmd.js"
+ }
+ },
+ "node_modules/des.js": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
+ "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "node_modules/detective": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz",
+ "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn-node": "^1.6.1",
+ "defined": "^1.0.0",
+ "minimist": "^1.1.1"
+ },
+ "bin": {
+ "detective": "bin/detective.js"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/diff": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/diffie-hellman": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bn.js": "^4.1.0",
+ "miller-rabin": "^4.0.0",
+ "randombytes": "^2.0.0"
+ }
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/domain-browser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
+ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4",
+ "npm": ">=1.2"
+ }
+ },
+ "node_modules/dot-prop": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
+ "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-obj": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/duplexer": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
+ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/duplexer2": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "node_modules/duplexer3": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
+ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/duplexify": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz",
+ "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "end-of-stream": "^1.4.1",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1",
+ "stream-shift": "^1.0.0"
+ }
+ },
+ "node_modules/duplexify/node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/elliptic": {
+ "version": "6.5.4",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
+ "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bn.js": "^4.11.9",
+ "brorand": "^1.1.0",
+ "hash.js": "^1.0.0",
+ "hmac-drbg": "^1.0.1",
+ "inherits": "^2.0.4",
+ "minimalistic-assert": "^1.0.1",
+ "minimalistic-crypto-utils": "^1.0.1"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "once": "^1.4.0"
+ }
+ },
+ "node_modules/enquirer": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-colors": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/es-abstract": {
+ "version": "1.18.0",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz",
+ "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.2",
+ "is-callable": "^1.2.3",
+ "is-negative-zero": "^2.0.1",
+ "is-regex": "^1.1.2",
+ "is-string": "^1.0.5",
+ "object-inspect": "^1.9.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.2",
+ "string.prototype.trimend": "^1.0.4",
+ "string.prototype.trimstart": "^1.0.4",
+ "unbox-primitive": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es5-ext": {
+ "version": "0.10.53",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
+ "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "es6-iterator": "~2.0.3",
+ "es6-symbol": "~3.1.3",
+ "next-tick": "~1.0.0"
+ }
+ },
+ "node_modules/es6-iterator": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "node_modules/es6-map": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
+ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "d": "1",
+ "es5-ext": "~0.10.14",
+ "es6-iterator": "~2.0.1",
+ "es6-set": "~0.1.5",
+ "es6-symbol": "~3.1.1",
+ "event-emitter": "~0.3.5"
+ }
+ },
+ "node_modules/es6-set": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
+ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "d": "1",
+ "es5-ext": "~0.10.14",
+ "es6-iterator": "~2.0.1",
+ "es6-symbol": "3.1.1",
+ "event-emitter": "~0.3.5"
+ }
+ },
+ "node_modules/es6-set/node_modules/es6-symbol": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
+ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "d": "1",
+ "es5-ext": "~0.10.14"
+ }
+ },
+ "node_modules/es6-symbol": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
+ "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "d": "^1.0.1",
+ "ext": "^1.1.2"
+ }
+ },
+ "node_modules/es6-weak-map": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
+ "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "d": "1",
+ "es5-ext": "^0.10.46",
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "node_modules/escape-goat": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
+ "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/escodegen": {
+ "version": "1.14.3",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz",
+ "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esprima": "^4.0.1",
+ "estraverse": "^4.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1"
+ },
+ "bin": {
+ "escodegen": "bin/escodegen.js",
+ "esgenerate": "bin/esgenerate.js"
+ },
+ "engines": {
+ "node": ">=4.0"
+ },
+ "optionalDependencies": {
+ "source-map": "~0.6.1"
+ }
+ },
+ "node_modules/escodegen/node_modules/levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/escodegen/node_modules/optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/escope": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
+ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "es6-map": "^0.1.3",
+ "es6-weak-map": "^2.0.1",
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.19.0.tgz",
+ "integrity": "sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "@eslint/eslintrc": "^0.3.0",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.0.1",
+ "doctrine": "^3.0.0",
+ "enquirer": "^2.3.5",
+ "eslint-scope": "^5.1.1",
+ "eslint-utils": "^2.1.0",
+ "eslint-visitor-keys": "^2.0.0",
+ "espree": "^7.3.1",
+ "esquery": "^1.2.0",
+ "esutils": "^2.0.2",
+ "file-entry-cache": "^6.0.0",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^5.0.0",
+ "globals": "^12.1.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^3.13.1",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash": "^4.17.20",
+ "minimatch": "^3.0.4",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "progress": "^2.0.0",
+ "regexpp": "^3.1.0",
+ "semver": "^7.2.1",
+ "strip-ansi": "^6.0.0",
+ "strip-json-comments": "^3.1.0",
+ "table": "^6.0.4",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/eslint-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+ "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "eslint-visitor-keys": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/eslint/node_modules/chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/eslint/node_modules/eslint-visitor-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz",
+ "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/eslint/node_modules/semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/espree": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
+ "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "acorn": "^7.4.0",
+ "acorn-jsx": "^5.3.1",
+ "eslint-visitor-keys": "^1.3.0"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/espurify": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/espurify/-/espurify-2.1.1.tgz",
+ "integrity": "sha512-zttWvnkhcDyGOhSH4vO2qCBILpdCMv/MX8lp4cqgRkQoDRGK2oZxi2GfWhlP2dIXmk7BaKeOTuzbHhyC68o8XQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/esquery": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
+ "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esquery/node_modules/estraverse": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
+ "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esrecurse/node_modules/estraverse": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
+ "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estree-is-function": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/estree-is-function/-/estree-is-function-1.0.0.tgz",
+ "integrity": "sha512-nSCWn1jkSq2QAtkaVLJZY2ezwcFO161HVc174zL1KPW3RJ+O6C3eJb8Nx7OXzvhoEv+nLgSR1g71oWUHUDTrJA==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/estree-is-identifier": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/estree-is-identifier/-/estree-is-identifier-1.0.0.tgz",
+ "integrity": "sha512-2BDRGrkQJV/NhCAmmE33A35WAaxq3WQaGHgQuD//7orGWfpFqj8Srkwvx0TH+20yIdOF1yMQwi8anv5ISec2AQ==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/estree-is-member-expression": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/estree-is-member-expression/-/estree-is-member-expression-1.0.0.tgz",
+ "integrity": "sha512-Ec+X44CapIGExvSZN+pGkmr5p7HwUVQoPQSd458Lqwvaf4/61k/invHSh4BYK8OXnCkfEhWuIoG5hayKLQStIg==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/estree-is-require": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/estree-is-require/-/estree-is-require-1.0.0.tgz",
+ "integrity": "sha512-oWxQdSEmnUwNZsDQYiBNpVxKEhMmsJQSSxnDrwsr1MWtooCLfhgzsNGzmokdmfK0EzEIS5V4LPvqxv1Kmb1vvA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "estree-is-identifier": "^1.0.0"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/event-emitter": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "d": "1",
+ "es5-ext": "~0.10.14"
+ }
+ },
+ "node_modules/events": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.x"
+ }
+ },
+ "node_modules/evp_bytestokey": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
+ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "md5.js": "^1.3.4",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "node_modules/ext": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz",
+ "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "type": "^2.0.0"
+ }
+ },
+ "node_modules/ext/node_modules/type": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz",
+ "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/falafel": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz",
+ "integrity": "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^7.1.1",
+ "foreach": "^2.0.5",
+ "isarray": "^2.0.1",
+ "object-keys": "^1.0.6"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/falafel/node_modules/isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-glob": {
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz",
+ "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.0",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.2",
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fast-safe-stringify": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
+ "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/fastq": {
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.1.tgz",
+ "integrity": "sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz",
+ "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+ "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/follow-redirects": {
+ "version": "1.14.5",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz",
+ "integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
+ "engines": {
+ "node": ">=4.0"
+ },
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/foreach": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/from2": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
+ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0"
+ }
+ },
+ "node_modules/from2-string": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/from2-string/-/from2-string-1.1.0.tgz",
+ "integrity": "sha1-GCgrJ9CKJnyzAwzSuLSw8hKvdSo=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "from2": "^2.0.3"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/get-assigned-identifiers": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz",
+ "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+ "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/global-dirs": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz",
+ "integrity": "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ini": "1.3.7"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globals": {
+ "version": "12.4.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
+ "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "type-fest": "^0.8.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.0.2",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz",
+ "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.1.1",
+ "ignore": "^5.1.4",
+ "merge2": "^1.3.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globby/node_modules/ignore": {
+ "version": "5.1.8",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
+ "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/got": {
+ "version": "9.6.0",
+ "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
+ "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@sindresorhus/is": "^0.14.0",
+ "@szmarczak/http-timer": "^1.1.2",
+ "cacheable-request": "^6.0.0",
+ "decompress-response": "^3.3.0",
+ "duplexer3": "^0.1.4",
+ "get-stream": "^4.1.0",
+ "lowercase-keys": "^1.0.1",
+ "mimic-response": "^1.0.1",
+ "p-cancelable": "^1.0.0",
+ "to-readable-stream": "^1.0.0",
+ "url-parse-lax": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/has-bigints": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz",
+ "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
+ "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-yarn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz",
+ "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/hash-base": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
+ "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.6.0",
+ "safe-buffer": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/hash-base/node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/hash.js": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
+ "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "minimalistic-assert": "^1.0.1"
+ }
+ },
+ "node_modules/hmac-drbg": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hash.js": "^1.0.3",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.1"
+ }
+ },
+ "node_modules/htmlescape": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
+ "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/http-cache-semantics": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
+ "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
+ "dev": true,
+ "license": "BSD-2-Clause"
+ },
+ "node_modules/https-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/ignore-by-default": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
+ "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/import-lazy": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
+ "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/ini": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz",
+ "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/inline-source-map": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
+ "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "source-map": "~0.5.3"
+ }
+ },
+ "node_modules/inline-source-map/node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/insert-module-globals": {
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz",
+ "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn-node": "^1.5.2",
+ "combine-source-map": "^0.8.0",
+ "concat-stream": "^1.6.1",
+ "is-buffer": "^1.1.0",
+ "JSONStream": "^1.0.3",
+ "path-is-absolute": "^1.0.1",
+ "process": "~0.11.0",
+ "through2": "^2.0.0",
+ "undeclared-identifiers": "^1.1.2",
+ "xtend": "^4.0.0"
+ },
+ "bin": {
+ "insert-module-globals": "bin/cmd.js"
+ }
+ },
+ "node_modules/is-arguments": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz",
+ "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-bigint": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz",
+ "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-boolean-object": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz",
+ "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/is-callable": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz",
+ "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-ci": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
+ "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ci-info": "^2.0.0"
+ },
+ "bin": {
+ "is-ci": "bin.js"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
+ "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-date-object": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
+ "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/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==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-generator-function": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz",
+ "integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-installed-globally": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz",
+ "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "global-dirs": "^2.0.1",
+ "is-path-inside": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-negative-zero": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
+ "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-npm": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz",
+ "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-number-object": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz",
+ "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-obj": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
+ "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-path-inside": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz",
+ "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-regex": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz",
+ "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "has-symbols": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-string": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
+ "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-symbol": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
+ "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-symbols": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typed-array": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz",
+ "integrity": "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.2",
+ "call-bind": "^1.0.2",
+ "es-abstract": "^1.18.0-next.2",
+ "foreach": "^2.0.5",
+ "has-symbols": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/is-yarn-global": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
+ "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/json-buffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
+ "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/jsonparse": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
+ "dev": true,
+ "engines": [
+ "node >= 0.2.0"
+ ],
+ "license": "MIT"
+ },
+ "node_modules/JSONStream": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
+ "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+ "dev": true,
+ "license": "(MIT OR Apache-2.0)",
+ "dependencies": {
+ "jsonparse": "^1.2.0",
+ "through": ">=2.2.7 <3"
+ },
+ "bin": {
+ "JSONStream": "bin.js"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/keyv": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
+ "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "json-buffer": "3.0.0"
+ }
+ },
+ "node_modules/labeled-stream-splicer": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz",
+ "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "stream-splicer": "^2.0.0"
+ }
+ },
+ "node_modules/latest-version": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
+ "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "package-json": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/levn/node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/levn/node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
+ },
+ "node_modules/lodash.memoize": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
+ "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/lowercase-keys": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
+ "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/magic-string": {
+ "version": "0.23.2",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.23.2.tgz",
+ "integrity": "sha512-oIUZaAxbcxYIp4AyLafV6OVKoB3YouZs0UTCJ8mOKBHNyJgGDaMJ4TgA+VylJh6fx7EQCC52XkbURxxG9IoJXA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "sourcemap-codec": "^1.4.1"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "semver": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/make-error": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/md5.js": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
+ "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "node_modules/merge-source-map": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz",
+ "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "source-map": "^0.5.6"
+ }
+ },
+ "node_modules/merge-source-map/node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/miller-rabin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bn.js": "^4.0.0",
+ "brorand": "^1.0.1"
+ },
+ "bin": {
+ "miller-rabin": "bin/miller-rabin"
+ }
+ },
+ "node_modules/mimic-response": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
+ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/minify-stream": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/minify-stream/-/minify-stream-2.1.0.tgz",
+ "integrity": "sha512-P5xE4EQRkn7Td54VGcgfDMFx1jmKPPIXCdcMfrbXS6cNHK4dO1LXwtYFb48hHrSmZfT+jlGImvHgSZEkbpNtCw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "concat-stream": "^2.0.0",
+ "convert-source-map": "^1.5.0",
+ "duplexify": "^4.1.1",
+ "from2-string": "^1.1.0",
+ "terser": "^4.7.0",
+ "xtend": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/minify-stream/node_modules/concat-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
+ "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
+ "dev": true,
+ "engines": [
+ "node >= 6.0"
+ ],
+ "license": "MIT",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.0.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "node_modules/minify-stream/node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/minify-stream/node_modules/terser": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
+ "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
+ },
+ "bin": {
+ "terser": "bin/terser"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/minimalistic-assert": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/minimalistic-crypto-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/mkdirp-classic": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
+ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/module-deps": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz",
+ "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "browser-resolve": "^2.0.0",
+ "cached-path-relative": "^1.0.2",
+ "concat-stream": "~1.6.0",
+ "defined": "^1.0.0",
+ "detective": "^5.2.0",
+ "duplexer2": "^0.1.2",
+ "inherits": "^2.0.1",
+ "JSONStream": "^1.0.3",
+ "parents": "^1.0.0",
+ "readable-stream": "^2.0.2",
+ "resolve": "^1.4.0",
+ "stream-combiner2": "^1.1.1",
+ "subarg": "^1.0.0",
+ "through2": "^2.0.0",
+ "xtend": "^4.0.0"
+ },
+ "bin": {
+ "module-deps": "bin/cmd.js"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/multi-stage-sourcemap": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/multi-stage-sourcemap/-/multi-stage-sourcemap-0.2.1.tgz",
+ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "source-map": "^0.1.34"
+ }
+ },
+ "node_modules/multi-stage-sourcemap/node_modules/source-map": {
+ "version": "0.1.43",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+ "dev": true,
+ "dependencies": {
+ "amdefine": ">=0.0.4"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/multisplice": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/multisplice/-/multisplice-1.0.0.tgz",
+ "integrity": "sha512-KU5tVjIdTGsMb92JlWwEZCGrvtI1ku9G9GuNbWdQT/Ici1ztFXX0L8lWpbbC3pISVMfBNL56wdqplHvva2XSlA==",
+ "dev": true,
+ "license": "Apache-2.0"
+ },
+ "node_modules/mutexify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/mutexify/-/mutexify-1.3.1.tgz",
+ "integrity": "sha512-nU7mOEuaXiQIB/EgTIjYZJ7g8KqMm2D8l4qp+DqA4jxWOb/tnb1KEoqp+tlbdQIDIAiC1i7j7X/3yHDFXLxr9g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nanobench": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/nanobench/-/nanobench-2.1.1.tgz",
+ "integrity": "sha512-z+Vv7zElcjN+OpzAxAquUayFLGK3JI/ubCl0Oh64YQqsTGG09CGqieJVQw4ui8huDnnAgrvTv93qi5UaOoNj8A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "browser-process-hrtime": "^0.1.2",
+ "chalk": "^1.1.3",
+ "mutexify": "^1.1.0",
+ "pretty-hrtime": "^1.0.2"
+ },
+ "bin": {
+ "nanobench": "run.js",
+ "nanobench-compare": "compare.js"
+ }
+ },
+ "node_modules/nanobench/node_modules/ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/nanobench/node_modules/chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/nanobench/node_modules/strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/nanobench/node_modules/supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/next-tick": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nodemon": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.7.tgz",
+ "integrity": "sha512-XHzK69Awgnec9UzHr1kc8EomQh4sjTQ8oRf8TsGrSmHDx9/UmiGG9E/mM3BuTfNeFwdNBvrqQq/RHL0xIeyFOA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "dependencies": {
+ "chokidar": "^3.2.2",
+ "debug": "^3.2.6",
+ "ignore-by-default": "^1.0.1",
+ "minimatch": "^3.0.4",
+ "pstree.remy": "^1.1.7",
+ "semver": "^5.7.1",
+ "supports-color": "^5.5.0",
+ "touch": "^3.1.0",
+ "undefsafe": "^2.0.3",
+ "update-notifier": "^4.1.0"
+ },
+ "bin": {
+ "nodemon": "bin/nodemon.js"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/nodemon"
+ }
+ },
+ "node_modules/nodemon/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
+ "node_modules/nodemon/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/nodemon/node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ }
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/normalize-url": {
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
+ "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-inspect": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz",
+ "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==",
+ "dev": true,
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-is": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
+ "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.assign": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
+ "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "has-symbols": "^1.0.1",
+ "object-keys": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/optionator/node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/optionator/node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/os-browserify": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/p-cancelable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
+ "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/package-json": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
+ "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "got": "^9.6.0",
+ "registry-auth-token": "^4.0.0",
+ "registry-url": "^5.0.0",
+ "semver": "^6.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pako": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+ "dev": true,
+ "license": "(MIT AND Zlib)"
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parents": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
+ "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-platform": "~0.11.15"
+ }
+ },
+ "node_modules/parse-asn1": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
+ "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "asn1.js": "^5.2.0",
+ "browserify-aes": "^1.0.0",
+ "evp_bytestokey": "^1.0.0",
+ "pbkdf2": "^3.0.3",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "node_modules/path-browserify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
+ "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/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=",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "node_modules/path-platform": {
+ "version": "0.11.15",
+ "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz",
+ "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pbkdf2": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz",
+ "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "create-hash": "^1.1.2",
+ "create-hmac": "^1.1.4",
+ "ripemd160": "^2.0.1",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ },
+ "engines": {
+ "node": ">=0.12"
+ }
+ },
+ "node_modules/picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/prepend-http": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
+ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/pretty-hrtime": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
+ "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6.0"
+ }
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/pstree.remy": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
+ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/public-encrypt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
+ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "bn.js": "^4.1.0",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "parse-asn1": "^5.0.0",
+ "randombytes": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "node_modules/pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "node_modules/punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/pupa": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz",
+ "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "escape-goat": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/querystring": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.x"
+ }
+ },
+ "node_modules/querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.x"
+ }
+ },
+ "node_modules/randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "node_modules/randomfill": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
+ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "randombytes": "^2.0.5",
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "node_modules/rc": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "dev": true,
+ "license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
+ "dependencies": {
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "bin": {
+ "rc": "cli.js"
+ }
+ },
+ "node_modules/rc/node_modules/ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/rc/node_modules/strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/read-only-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
+ "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "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"
+ }
+ },
+ "node_modules/readable-stream/node_modules/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==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/readable-stream/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
+ "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz",
+ "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regexpp": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
+ "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ }
+ },
+ "node_modules/registry-auth-token": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz",
+ "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "rc": "^1.2.8"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/registry-url": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
+ "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "rc": "^1.2.8"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/resolve": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
+ "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-core-module": "^2.2.0",
+ "path-parse": "^1.0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/responselike": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
+ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "lowercase-keys": "^1.0.0"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/ripemd160": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
+ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.1.10",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz",
+ "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/scope-analyzer": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/scope-analyzer/-/scope-analyzer-2.1.1.tgz",
+ "integrity": "sha512-azEAihtQ9mEyZGhfgTJy3IbOWEzeOrYbg7NcYEshPKnKd+LZmC3TNd5dmDxbLBsTG/JVWmCp+vDJ03vJjeXMHg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "array-from": "^2.1.1",
+ "dash-ast": "^1.0.0",
+ "es6-map": "^0.1.5",
+ "es6-set": "^0.1.5",
+ "es6-symbol": "^3.1.1",
+ "estree-is-function": "^1.0.0",
+ "get-assigned-identifiers": "^1.1.0"
+ }
+ },
+ "node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/semver-diff": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
+ "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/sha.js": {
+ "version": "2.4.11",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "dev": true,
+ "license": "(MIT AND BSD-3-Clause)",
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ },
+ "bin": {
+ "sha.js": "bin.js"
+ }
+ },
+ "node_modules/shasum-object": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz",
+ "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "fast-safe-stringify": "^2.0.7"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shell-quote": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz",
+ "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/simple-concat": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
+ "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT"
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-support": {
+ "version": "0.5.19",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/sourcemap-codec": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true,
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/stream-browserify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz",
+ "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "~2.0.4",
+ "readable-stream": "^3.5.0"
+ }
+ },
+ "node_modules/stream-browserify/node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/stream-combiner": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz",
+ "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "duplexer": "~0.1.1",
+ "through": "~2.3.4"
+ }
+ },
+ "node_modules/stream-combiner2": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+ "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "duplexer2": "~0.1.0",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "node_modules/stream-http": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.1.tgz",
+ "integrity": "sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "builtin-status-codes": "^3.0.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.6.0",
+ "xtend": "^4.0.2"
+ }
+ },
+ "node_modules/stream-http/node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/stream-shift": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
+ "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/stream-splicer": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz",
+ "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string.prototype.trimend": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
+ "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/string.prototype.trimstart": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
+ "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ansi-regex": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi/node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/subarg": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
+ "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "minimist": "^1.1.0"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/syntax-error": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
+ "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn-node": "^1.2.0"
+ }
+ },
+ "node_modules/table": {
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/table/node_modules/ajv": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.4.tgz",
+ "integrity": "sha512-xzzzaqgEQfmuhbhAoqjJ8T/1okb6gAzXn/eQRNpAN1AEUoHJTNF9xCDRTtf/s3SKldtZfa+RJeTs+BQq+eZ/sw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/table/node_modules/json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/term-size": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
+ "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/terser": {
+ "version": "3.17.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
+ "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "commander": "^2.19.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.10"
+ },
+ "bin": {
+ "terser": "bin/uglifyjs"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/through2": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
+ }
+ },
+ "node_modules/timers-browserify": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
+ "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=",
+ "dev": true,
+ "dependencies": {
+ "process": "~0.11.0"
+ },
+ "engines": {
+ "node": ">=0.6.0"
+ }
+ },
+ "node_modules/tinyify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/tinyify/-/tinyify-3.0.0.tgz",
+ "integrity": "sha512-RtjVjC1xwwxt8AMVfxEmo+FzRJB6p5sAOtFaJj8vMrkWShtArsM4dLVRWhx2Vc07Me3NWgmP7pi9UPm/a2XNNA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@goto-bus-stop/envify": "^5.0.0",
+ "acorn-node": "^1.8.2",
+ "browser-pack-flat": "^3.0.9",
+ "bundle-collapser": "^1.3.0",
+ "common-shakeify": "^0.6.0",
+ "dash-ast": "^1.0.0",
+ "minify-stream": "^2.0.1",
+ "multisplice": "^1.0.0",
+ "through2": "^3.0.1",
+ "uglifyify": "^5.0.0",
+ "unassertify": "^2.1.1"
+ }
+ },
+ "node_modules/tinyify/node_modules/readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/tinyify/node_modules/through2": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz",
+ "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.4",
+ "readable-stream": "2 || 3"
+ }
+ },
+ "node_modules/to-readable-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
+ "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/touch": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
+ "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "nopt": "~1.0.10"
+ },
+ "bin": {
+ "nodetouch": "bin/nodetouch.js"
+ }
+ },
+ "node_modules/transform-ast": {
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/transform-ast/-/transform-ast-2.4.4.tgz",
+ "integrity": "sha512-AxjeZAcIOUO2lev2GDe3/xZ1Q0cVGjIMk5IsriTy8zbWlsEnjeB025AhkhBJHoy997mXpLd4R+kRbvnnQVuQHQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn-node": "^1.3.0",
+ "convert-source-map": "^1.5.1",
+ "dash-ast": "^1.0.0",
+ "is-buffer": "^2.0.0",
+ "magic-string": "^0.23.2",
+ "merge-source-map": "1.0.4",
+ "nanobench": "^2.1.1"
+ }
+ },
+ "node_modules/transform-ast/node_modules/is-buffer": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
+ "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "license": "MIT",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/ts-node": {
+ "version": "9.1.1",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz",
+ "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "arg": "^4.1.0",
+ "create-require": "^1.1.0",
+ "diff": "^4.0.1",
+ "make-error": "^1.1.1",
+ "source-map-support": "^0.5.17",
+ "yn": "3.1.1"
+ },
+ "bin": {
+ "ts-node": "dist/bin.js",
+ "ts-node-script": "dist/bin-script.js",
+ "ts-node-transpile-only": "dist/bin-transpile.js",
+ "ts-script": "dist/bin-script-deprecated.js"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "typescript": ">=2.7"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true,
+ "license": "0BSD"
+ },
+ "node_modules/tsutils": {
+ "version": "3.20.0",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.20.0.tgz",
+ "integrity": "sha512-RYbuQuvkhuqVeXweWT3tJLKOEJ/UUw9GjNEZGWdrLLlM+611o1gwLHBpxoFJKKl25fLprp2eVthtKs5JOrNeXg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "tslib": "^1.8.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ },
+ "peerDependencies": {
+ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+ }
+ },
+ "node_modules/tty-browserify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
+ "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/type": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
+ "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prelude-ls": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true,
+ "license": "(MIT OR CC0-1.0)",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=4.2.0"
+ }
+ },
+ "node_modules/uglifyify": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/uglifyify/-/uglifyify-5.0.2.tgz",
+ "integrity": "sha512-NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "convert-source-map": "~1.1.0",
+ "minimatch": "^3.0.2",
+ "terser": "^3.7.5",
+ "through": "~2.3.4",
+ "xtend": "^4.0.1"
+ }
+ },
+ "node_modules/uglifyify/node_modules/convert-source-map": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
+ "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/umd": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz",
+ "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "umd": "bin/cli.js"
+ }
+ },
+ "node_modules/unassert": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/unassert/-/unassert-1.6.0.tgz",
+ "integrity": "sha512-GoMtWTwGSxSFuRD0NKmbjlx3VJkgvSogzDzMPpJXYmBZv6MIWButsyMqEYhMx3NI4osXACcZA9mXiBteXyJtRw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^7.0.0",
+ "call-matcher": "^2.0.0",
+ "deep-equal": "^1.0.0",
+ "espurify": "^2.0.1",
+ "estraverse": "^4.1.0",
+ "esutils": "^2.0.2",
+ "object-assign": "^4.1.0"
+ }
+ },
+ "node_modules/unassertify": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/unassertify/-/unassertify-2.1.1.tgz",
+ "integrity": "sha512-YIAaIlc6/KC9Oib8cVZLlpDDhK1UTEuaDyx9BwD97xqxDZC0cJOqwFcs/Y6K3m73B5VzHsRTBLXNO0dxS/GkTw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "acorn": "^5.1.0",
+ "convert-source-map": "^1.1.1",
+ "escodegen": "^1.6.1",
+ "multi-stage-sourcemap": "^0.2.1",
+ "through": "^2.3.7",
+ "unassert": "^1.3.1"
+ }
+ },
+ "node_modules/unassertify/node_modules/acorn": {
+ "version": "5.7.4",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz",
+ "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==",
+ "dev": true,
+ "license": "MIT",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/unbox-primitive": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz",
+ "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "function-bind": "^1.1.1",
+ "has-bigints": "^1.0.1",
+ "has-symbols": "^1.0.2",
+ "which-boxed-primitive": "^1.0.2"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/undeclared-identifiers": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz",
+ "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "dependencies": {
+ "acorn-node": "^1.3.0",
+ "dash-ast": "^1.0.0",
+ "get-assigned-identifiers": "^1.2.0",
+ "simple-concat": "^1.0.0",
+ "xtend": "^4.0.1"
+ },
+ "bin": {
+ "undeclared-identifiers": "bin.js"
+ }
+ },
+ "node_modules/undefsafe": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz",
+ "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^2.2.0"
+ }
+ },
+ "node_modules/undefsafe/node_modules/debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "ms": "2.0.0"
+ }
+ },
+ "node_modules/undefsafe/node_modules/ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/unique-string": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
+ "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "crypto-random-string": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/update-notifier": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz",
+ "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "boxen": "^4.2.0",
+ "chalk": "^3.0.0",
+ "configstore": "^5.0.1",
+ "has-yarn": "^2.1.0",
+ "import-lazy": "^2.1.0",
+ "is-ci": "^2.0.0",
+ "is-installed-globally": "^0.3.1",
+ "is-npm": "^4.0.0",
+ "is-yarn-global": "^0.3.0",
+ "latest-version": "^5.0.0",
+ "pupa": "^2.0.1",
+ "semver-diff": "^3.1.1",
+ "xdg-basedir": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/yeoman/update-notifier?sponsor=1"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "license": "BSD-2-Clause",
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/uri-js/node_modules/punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/url": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ }
+ },
+ "node_modules/url-parse-lax": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
+ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "prepend-http": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/url/node_modules/punycode": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/util": {
+ "version": "0.12.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz",
+ "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "is-arguments": "^1.0.4",
+ "is-generator-function": "^1.0.7",
+ "is-typed-array": "^1.1.3",
+ "safe-buffer": "^5.1.2",
+ "which-typed-array": "^1.1.2"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/v8-compile-cache": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz",
+ "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/vm-browserify": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
+ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/which-boxed-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
+ "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "is-bigint": "^1.0.1",
+ "is-boolean-object": "^1.1.0",
+ "is-number-object": "^1.0.4",
+ "is-string": "^1.0.5",
+ "is-symbol": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/which-typed-array": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz",
+ "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "available-typed-arrays": "^1.0.2",
+ "call-bind": "^1.0.0",
+ "es-abstract": "^1.18.0-next.1",
+ "foreach": "^2.0.5",
+ "function-bind": "^1.1.1",
+ "has-symbols": "^1.0.1",
+ "is-typed-array": "^1.1.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/widest-line": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
+ "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "string-width": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/wrap-comment": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wrap-comment/-/wrap-comment-1.0.1.tgz",
+ "integrity": "sha512-APccrMwl/ont0RHFTXNAQfM647duYYEfs6cngrIyTByTI0xbWnDnPSptFZhS68L4WCjt2ZxuhCFwuY6Pe88KZQ==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/write-file-atomic": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
+ "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "node_modules/ws": {
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.3.0.tgz",
+ "integrity": "sha512-Gs5EZtpqZzLvmIM59w4igITU57lrtYVFneaa434VROv4thzJyV6UjIL3D42lslWlI+D4KzLYnxSwtfuiO79sNw==",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/xdg-basedir": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
+ "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.4"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/yn": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ }
+ },
+ "dependencies": {
+ "@babel/code-frame": {
+ "version": "7.12.13",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
+ "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==",
+ "dev": true,
+ "requires": {
+ "@babel/highlight": "^7.12.13"
+ }
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.12.11",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
+ "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
+ "dev": true
+ },
+ "@babel/highlight": {
+ "version": "7.12.13",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz",
+ "integrity": "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww==",
+ "dev": true,
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.12.11",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+ "dev": true
+ }
+ }
+ },
+ "@eslint/eslintrc": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz",
+ "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.12.4",
+ "debug": "^4.1.1",
+ "espree": "^7.3.0",
+ "globals": "^12.1.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^3.13.1",
+ "lodash": "^4.17.20",
+ "minimatch": "^3.0.4",
+ "strip-json-comments": "^3.1.1"
+ }
+ },
+ "@goto-bus-stop/common-shake": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/@goto-bus-stop/common-shake/-/common-shake-2.4.0.tgz",
+ "integrity": "sha512-LO+7v+UbxE3IyAS4Suf/KYB7Zq9DEIHibwDe6Wph4apNEfDyyxP7BSxzRS/Qa9lUH5gsm9eL9nF8EE1E0/nQkQ==",
+ "dev": true,
+ "requires": {
+ "acorn-walk": "^7.0.0",
+ "debug": "^3.2.6",
+ "escope": "^3.6.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ }
+ }
+ },
+ "@goto-bus-stop/envify": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@goto-bus-stop/envify/-/envify-5.0.0.tgz",
+ "integrity": "sha512-xAnxuDWmwQxO8CgVuPTxKuNsKDfwyXXTyAabG4sNoK59H/ZMC7BHxTA/4ehtinsxbcH7/9L65F5VhyNdQfUyqA==",
+ "dev": true,
+ "requires": {
+ "acorn-node": "^2.0.1",
+ "dash-ast": "^2.0.1",
+ "multisplice": "^1.0.0",
+ "through2": "^2.0.5"
+ },
+ "dependencies": {
+ "acorn-node": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-2.0.1.tgz",
+ "integrity": "sha512-VLR5sHqjk+8c5hrKeP2fWaIHb8eewsoxnZ8r2qpwRHXMHuC7KyOPflnOx9dLssVQUurzJ7rO0OzIFjHcndafWw==",
+ "dev": true,
+ "requires": {
+ "acorn": "^7.0.0",
+ "acorn-walk": "^7.0.0",
+ "xtend": "^4.0.2"
+ }
+ },
+ "dash-ast": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-2.0.1.tgz",
+ "integrity": "sha512-5TXltWJGc+RdnabUGzhRae1TRq6m4gr+3K2wQX0is5/F2yS6MJXJvLyI3ErAnsAXuJoGqvfVD5icRgim07DrxQ==",
+ "dev": true
+ }
+ }
+ },
+ "@nodelib/fs.scandir": {
+ "version": "2.1.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz",
+ "integrity": "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.stat": "2.0.4",
+ "run-parallel": "^1.1.9"
+ }
+ },
+ "@nodelib/fs.stat": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz",
+ "integrity": "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==",
+ "dev": true
+ },
+ "@nodelib/fs.walk": {
+ "version": "1.2.6",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz",
+ "integrity": "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.scandir": "2.1.4",
+ "fastq": "^1.6.0"
+ }
+ },
+ "@sindresorhus/is": {
+ "version": "0.14.0",
+ "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz",
+ "integrity": "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==",
+ "dev": true
+ },
+ "@szmarczak/http-timer": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz",
+ "integrity": "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==",
+ "dev": true,
+ "requires": {
+ "defer-to-connect": "^1.0.1"
+ }
+ },
+ "@types/json-schema": {
+ "version": "7.0.7",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz",
+ "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==",
+ "dev": true
+ },
+ "@types/node": {
+ "version": "14.14.25",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz",
+ "integrity": "sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ==",
+ "dev": true
+ },
+ "@types/websocket": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.2.tgz",
+ "integrity": "sha512-B5m9aq7cbbD/5/jThEr33nUY8WEfVi6A2YKCTOvw5Ldy7mtsOkqRvGjnzy6g7iMMDsgu7xREuCzqATLDLQVKcQ==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "14.14.37",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz",
+ "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==",
+ "dev": true
+ }
+ }
+ },
+ "@types/ws": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.1.tgz",
+ "integrity": "sha512-ISCK1iFnR+jYv7+jLNX0wDqesZ/5RAeY3wUx6QaphmocphU61h+b+PHjS18TF4WIPTu/MMzxIq2PHr32o2TS5Q==",
+ "dev": true,
+ "requires": {
+ "@types/node": "*"
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "14.14.37",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz",
+ "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==",
+ "dev": true
+ }
+ }
+ },
+ "@typescript-eslint/eslint-plugin": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.2.tgz",
+ "integrity": "sha512-uMGfG7GFYK/nYutK/iqYJv6K/Xuog/vrRRZX9aEP4Zv1jsYXuvFUMDFLhUnc8WFv3D2R5QhNQL3VYKmvLS5zsQ==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/experimental-utils": "4.14.2",
+ "@typescript-eslint/scope-manager": "4.14.2",
+ "debug": "^4.1.1",
+ "functional-red-black-tree": "^1.0.1",
+ "lodash": "^4.17.15",
+ "regexpp": "^3.0.0",
+ "semver": "^7.3.2",
+ "tsutils": "^3.17.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
+ }
+ },
+ "@typescript-eslint/experimental-utils": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.2.tgz",
+ "integrity": "sha512-mV9pmET4C2y2WlyHmD+Iun8SAEqkLahHGBkGqDVslHkmoj3VnxnGP4ANlwuxxfq1BsKdl/MPieDbohCEQgKrwA==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.3",
+ "@typescript-eslint/scope-manager": "4.14.2",
+ "@typescript-eslint/types": "4.14.2",
+ "@typescript-eslint/typescript-estree": "4.14.2",
+ "eslint-scope": "^5.0.0",
+ "eslint-utils": "^2.0.0"
+ }
+ },
+ "@typescript-eslint/parser": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.2.tgz",
+ "integrity": "sha512-ipqSP6EuUsMu3E10EZIApOJgWSpcNXeKZaFeNKQyzqxnQl8eQCbV+TSNsl+s2GViX2d18m1rq3CWgnpOxDPgHg==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/scope-manager": "4.14.2",
+ "@typescript-eslint/types": "4.14.2",
+ "@typescript-eslint/typescript-estree": "4.14.2",
+ "debug": "^4.1.1"
+ }
+ },
+ "@typescript-eslint/scope-manager": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.2.tgz",
+ "integrity": "sha512-cuV9wMrzKm6yIuV48aTPfIeqErt5xceTheAgk70N1V4/2Ecj+fhl34iro/vIssJlb7XtzcaD07hWk7Jk0nKghg==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "4.14.2",
+ "@typescript-eslint/visitor-keys": "4.14.2"
+ }
+ },
+ "@typescript-eslint/types": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.2.tgz",
+ "integrity": "sha512-LltxawRW6wXy4Gck6ZKlBD05tCHQUj4KLn4iR69IyRiDHX3d3NCAhO+ix5OR2Q+q9bjCrHE/HKt+riZkd1At8Q==",
+ "dev": true
+ },
+ "@typescript-eslint/typescript-estree": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.2.tgz",
+ "integrity": "sha512-ESiFl8afXxt1dNj8ENEZT12p+jl9PqRur+Y19m0Z/SPikGL6rqq4e7Me60SU9a2M28uz48/8yct97VQYaGl0Vg==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "4.14.2",
+ "@typescript-eslint/visitor-keys": "4.14.2",
+ "debug": "^4.1.1",
+ "globby": "^11.0.1",
+ "is-glob": "^4.0.1",
+ "lodash": "^4.17.15",
+ "semver": "^7.3.2",
+ "tsutils": "^3.17.1"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
+ }
+ },
+ "@typescript-eslint/visitor-keys": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.2.tgz",
+ "integrity": "sha512-KBB+xLBxnBdTENs/rUgeUKO0UkPBRs2vD09oMRRIkj5BEN8PX1ToXV532desXfpQnZsYTyLLviS7JrPhdL154w==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "4.14.2",
+ "eslint-visitor-keys": "^2.0.0"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz",
+ "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==",
+ "dev": true
+ }
+ }
+ },
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+ "dev": true
+ },
+ "acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "dev": true
+ },
+ "acorn-jsx": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz",
+ "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==",
+ "dev": true,
+ "requires": {}
+ },
+ "acorn-node": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
+ "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
+ "dev": true,
+ "requires": {
+ "acorn": "^7.0.0",
+ "acorn-walk": "^7.0.0",
+ "xtend": "^4.0.2"
+ }
+ },
+ "acorn-walk": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
+ "dev": true
+ },
+ "ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "amdefine": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+ "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+ "dev": true
+ },
+ "ansi-align": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz",
+ "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.1.0"
+ }
+ },
+ "ansi-colors": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+ "dev": true
+ },
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "anymatch": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+ "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+ "dev": true,
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "arg": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
+ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
+ "dev": true
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "array-filter": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz",
+ "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=",
+ "dev": true
+ },
+ "array-from": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz",
+ "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=",
+ "dev": true
+ },
+ "array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true
+ },
+ "asn1.js": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
+ "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "assert": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
+ "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
+ "dev": true,
+ "requires": {
+ "object-assign": "^4.1.1",
+ "util": "0.10.3"
+ },
+ "dependencies": {
+ "inherits": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+ "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+ "dev": true
+ },
+ "util": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+ "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
+ "dev": true,
+ "requires": {
+ "inherits": "2.0.1"
+ }
+ }
+ }
+ },
+ "astral-regex": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+ "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+ "dev": true
+ },
+ "available-typed-arrays": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz",
+ "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==",
+ "dev": true,
+ "requires": {
+ "array-filter": "^1.0.0"
+ }
+ },
+ "axios": {
+ "version": "0.24.0",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz",
+ "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==",
+ "requires": {
+ "follow-redirects": "^1.14.4"
+ }
+ },
+ "balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "dev": true
+ },
+ "binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "dev": true
+ },
+ "bn.js": {
+ "version": "4.12.0",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
+ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
+ "dev": true
+ },
+ "boxen": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz",
+ "integrity": "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ==",
+ "dev": true,
+ "requires": {
+ "ansi-align": "^3.0.0",
+ "camelcase": "^5.3.1",
+ "chalk": "^3.0.0",
+ "cli-boxes": "^2.2.0",
+ "string-width": "^4.1.0",
+ "term-size": "^2.1.0",
+ "type-fest": "^0.8.1",
+ "widest-line": "^3.1.0"
+ }
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dev": true,
+ "requires": {
+ "fill-range": "^7.0.1"
+ }
+ },
+ "brorand": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
+ "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=",
+ "dev": true
+ },
+ "browser-pack": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz",
+ "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
+ "dev": true,
+ "requires": {
+ "combine-source-map": "~0.8.0",
+ "defined": "^1.0.0",
+ "JSONStream": "^1.0.3",
+ "safe-buffer": "^5.1.1",
+ "through2": "^2.0.0",
+ "umd": "^3.0.0"
+ }
+ },
+ "browser-pack-flat": {
+ "version": "3.4.2",
+ "resolved": "https://registry.npmjs.org/browser-pack-flat/-/browser-pack-flat-3.4.2.tgz",
+ "integrity": "sha512-TrUo6n2fGSOCYFAKkt/EkgenytAuuCI88fmXFA60aNFVHvz3CZEBTXYSvvXVpU6xpjM8lj/6vkC6Exn8KPjtPw==",
+ "dev": true,
+ "requires": {
+ "combine-source-map": "^0.8.0",
+ "convert-source-map": "^1.5.1",
+ "count-lines": "^0.1.2",
+ "dedent": "^0.7.0",
+ "estree-is-member-expression": "^1.0.0",
+ "estree-is-require": "^1.0.0",
+ "esutils": "^2.0.2",
+ "JSONStream": "^1.3.2",
+ "path-parse": "^1.0.5",
+ "scope-analyzer": "^2.0.0",
+ "stream-combiner": "^0.2.2",
+ "through2": "^2.0.3",
+ "transform-ast": "^2.4.2",
+ "umd": "^3.0.3",
+ "wrap-comment": "^1.0.0"
+ }
+ },
+ "browser-process-hrtime": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz",
+ "integrity": "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw==",
+ "dev": true
+ },
+ "browser-resolve": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz",
+ "integrity": "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ==",
+ "dev": true,
+ "requires": {
+ "resolve": "^1.17.0"
+ }
+ },
+ "browser-unpack": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/browser-unpack/-/browser-unpack-1.4.2.tgz",
+ "integrity": "sha512-uHkiY4bmXjjBBWoKH1aRnEGTQxUUCCcVtoJfH9w1lmGGjETY4u93Zk+GRYkCE/SRMrdoMTINQ/1/manr/3aMVA==",
+ "dev": true,
+ "requires": {
+ "acorn-node": "^1.5.2",
+ "concat-stream": "^1.5.0",
+ "minimist": "^1.1.1"
+ }
+ },
+ "browserify": {
+ "version": "17.0.0",
+ "resolved": "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz",
+ "integrity": "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w==",
+ "dev": true,
+ "requires": {
+ "assert": "^1.4.0",
+ "browser-pack": "^6.0.1",
+ "browser-resolve": "^2.0.0",
+ "browserify-zlib": "~0.2.0",
+ "buffer": "~5.2.1",
+ "cached-path-relative": "^1.0.0",
+ "concat-stream": "^1.6.0",
+ "console-browserify": "^1.1.0",
+ "constants-browserify": "~1.0.0",
+ "crypto-browserify": "^3.0.0",
+ "defined": "^1.0.0",
+ "deps-sort": "^2.0.1",
+ "domain-browser": "^1.2.0",
+ "duplexer2": "~0.1.2",
+ "events": "^3.0.0",
+ "glob": "^7.1.0",
+ "has": "^1.0.0",
+ "htmlescape": "^1.1.0",
+ "https-browserify": "^1.0.0",
+ "inherits": "~2.0.1",
+ "insert-module-globals": "^7.2.1",
+ "JSONStream": "^1.0.3",
+ "labeled-stream-splicer": "^2.0.0",
+ "mkdirp-classic": "^0.5.2",
+ "module-deps": "^6.2.3",
+ "os-browserify": "~0.3.0",
+ "parents": "^1.0.1",
+ "path-browserify": "^1.0.0",
+ "process": "~0.11.0",
+ "punycode": "^1.3.2",
+ "querystring-es3": "~0.2.0",
+ "read-only-stream": "^2.0.0",
+ "readable-stream": "^2.0.2",
+ "resolve": "^1.1.4",
+ "shasum-object": "^1.0.0",
+ "shell-quote": "^1.6.1",
+ "stream-browserify": "^3.0.0",
+ "stream-http": "^3.0.0",
+ "string_decoder": "^1.1.1",
+ "subarg": "^1.0.0",
+ "syntax-error": "^1.1.1",
+ "through2": "^2.0.0",
+ "timers-browserify": "^1.0.1",
+ "tty-browserify": "0.0.1",
+ "url": "~0.11.0",
+ "util": "~0.12.0",
+ "vm-browserify": "^1.0.0",
+ "xtend": "^4.0.0"
+ }
+ },
+ "browserify-aes": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
+ "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
+ "dev": true,
+ "requires": {
+ "buffer-xor": "^1.0.3",
+ "cipher-base": "^1.0.0",
+ "create-hash": "^1.1.0",
+ "evp_bytestokey": "^1.0.3",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "browserify-cipher": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
+ "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
+ "dev": true,
+ "requires": {
+ "browserify-aes": "^1.0.4",
+ "browserify-des": "^1.0.0",
+ "evp_bytestokey": "^1.0.0"
+ }
+ },
+ "browserify-des": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
+ "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "des.js": "^1.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "browserify-rsa": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
+ "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^5.0.0",
+ "randombytes": "^2.0.1"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz",
+ "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==",
+ "dev": true
+ }
+ }
+ },
+ "browserify-sign": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
+ "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^5.1.1",
+ "browserify-rsa": "^4.0.1",
+ "create-hash": "^1.2.0",
+ "create-hmac": "^1.1.7",
+ "elliptic": "^6.5.3",
+ "inherits": "^2.0.4",
+ "parse-asn1": "^5.1.5",
+ "readable-stream": "^3.6.0",
+ "safe-buffer": "^5.2.0"
+ },
+ "dependencies": {
+ "bn.js": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz",
+ "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==",
+ "dev": true
+ },
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ }
+ }
+ },
+ "browserify-zlib": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
+ "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
+ "dev": true,
+ "requires": {
+ "pako": "~1.0.5"
+ }
+ },
+ "buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz",
+ "integrity": "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg==",
+ "dev": true,
+ "requires": {
+ "base64-js": "^1.0.2",
+ "ieee754": "^1.1.4"
+ }
+ },
+ "buffer-from": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+ "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+ "dev": true
+ },
+ "buffer-xor": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
+ "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=",
+ "dev": true
+ },
+ "builtin-status-codes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
+ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
+ "dev": true
+ },
+ "bundle-collapser": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/bundle-collapser/-/bundle-collapser-1.4.0.tgz",
+ "integrity": "sha512-Gd3K3+3KI1Utuk+gwAvuOVOjT/2XLGL8tU6FwDKk04LlOZkYfT0pwQllsG1Dv8RRhgcjNxZSDmmSXb0AOkwSwg==",
+ "dev": true,
+ "requires": {
+ "browser-pack": "^6.0.2",
+ "browser-unpack": "^1.1.0",
+ "concat-stream": "^1.5.0",
+ "falafel": "^2.1.0",
+ "minimist": "^1.1.1",
+ "through2": "^2.0.0"
+ }
+ },
+ "cacheable-request": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz",
+ "integrity": "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==",
+ "dev": true,
+ "requires": {
+ "clone-response": "^1.0.2",
+ "get-stream": "^5.1.0",
+ "http-cache-semantics": "^4.0.0",
+ "keyv": "^3.0.0",
+ "lowercase-keys": "^2.0.0",
+ "normalize-url": "^4.1.0",
+ "responselike": "^1.0.2"
+ },
+ "dependencies": {
+ "get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "lowercase-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz",
+ "integrity": "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==",
+ "dev": true
+ }
+ }
+ },
+ "cached-path-relative": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz",
+ "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg==",
+ "dev": true
+ },
+ "call-bind": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
+ "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.0.2"
+ }
+ },
+ "call-matcher": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/call-matcher/-/call-matcher-2.0.0.tgz",
+ "integrity": "sha512-CIDC5wZZfZ2VjZu849WQckS58Z3pJXFfRaSjNjgo/q3in5zxkhTwVL83vttgtmvyLG7TuDlLlBya7SKP6CjDIA==",
+ "dev": true,
+ "requires": {
+ "deep-equal": "^1.0.0",
+ "espurify": "^2.0.0",
+ "estraverse": "^4.0.0"
+ }
+ },
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ },
+ "camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true
+ },
+ "chalk": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+ "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "dependencies": {
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "chokidar": {
+ "version": "3.5.1",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
+ "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
+ "dev": true,
+ "requires": {
+ "anymatch": "~3.1.1",
+ "braces": "~3.0.2",
+ "fsevents": "~2.3.1",
+ "glob-parent": "~5.1.0",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.5.0"
+ }
+ },
+ "ci-info": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
+ "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
+ "dev": true
+ },
+ "cipher-base": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
+ "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "cli-boxes": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz",
+ "integrity": "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==",
+ "dev": true
+ },
+ "clone-response": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz",
+ "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=",
+ "dev": true,
+ "requires": {
+ "mimic-response": "^1.0.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "combine-source-map": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz",
+ "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=",
+ "dev": true,
+ "requires": {
+ "convert-source-map": "~1.1.0",
+ "inline-source-map": "~0.6.0",
+ "lodash.memoize": "~3.0.3",
+ "source-map": "~0.5.3"
+ },
+ "dependencies": {
+ "convert-source-map": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
+ "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "commander": {
+ "version": "2.20.3",
+ "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+ "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+ "dev": true
+ },
+ "common-shakeify": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/common-shakeify/-/common-shakeify-0.6.2.tgz",
+ "integrity": "sha512-vxlXr26fqxm8ZJ0jh8MlvpeN6IbyUKqsVmgb4rAjDM/0f4nKebiHaAXpF/Mm86W9ENR5iSI7UOnUTylpVyplUA==",
+ "dev": true,
+ "requires": {
+ "@goto-bus-stop/common-shake": "^2.2.0",
+ "convert-source-map": "^1.5.1",
+ "through2": "^2.0.3",
+ "transform-ast": "^2.4.3",
+ "wrap-comment": "^1.0.1"
+ }
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "configstore": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz",
+ "integrity": "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==",
+ "dev": true,
+ "requires": {
+ "dot-prop": "^5.2.0",
+ "graceful-fs": "^4.1.2",
+ "make-dir": "^3.0.0",
+ "unique-string": "^2.0.0",
+ "write-file-atomic": "^3.0.0",
+ "xdg-basedir": "^4.0.0"
+ }
+ },
+ "console-browserify": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
+ "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
+ "dev": true
+ },
+ "constants-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
+ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=",
+ "dev": true
+ },
+ "convert-source-map": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
+ "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.1"
+ },
+ "dependencies": {
+ "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==",
+ "dev": true
+ }
+ }
+ },
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+ "dev": true
+ },
+ "count-lines": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/count-lines/-/count-lines-0.1.2.tgz",
+ "integrity": "sha1-4zST+2hgqC9xWdgjeEP7+u/uWWI=",
+ "dev": true
+ },
+ "create-ecdh": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
+ "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "elliptic": "^6.5.3"
+ }
+ },
+ "create-hash": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
+ "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "^1.0.1",
+ "inherits": "^2.0.1",
+ "md5.js": "^1.3.4",
+ "ripemd160": "^2.0.1",
+ "sha.js": "^2.4.0"
+ }
+ },
+ "create-hmac": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
+ "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
+ "dev": true,
+ "requires": {
+ "cipher-base": "^1.0.3",
+ "create-hash": "^1.1.0",
+ "inherits": "^2.0.1",
+ "ripemd160": "^2.0.0",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "create-require": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
+ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
+ "dev": true
+ },
+ "cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "crypto-browserify": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
+ "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
+ "dev": true,
+ "requires": {
+ "browserify-cipher": "^1.0.0",
+ "browserify-sign": "^4.0.0",
+ "create-ecdh": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "create-hmac": "^1.1.0",
+ "diffie-hellman": "^5.0.0",
+ "inherits": "^2.0.1",
+ "pbkdf2": "^3.0.3",
+ "public-encrypt": "^4.0.0",
+ "randombytes": "^2.0.0",
+ "randomfill": "^1.0.3"
+ }
+ },
+ "crypto-random-string": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz",
+ "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==",
+ "dev": true
+ },
+ "d": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
+ "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==",
+ "dev": true,
+ "requires": {
+ "es5-ext": "^0.10.50",
+ "type": "^1.0.1"
+ }
+ },
+ "dash-ast": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz",
+ "integrity": "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA==",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
+ "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "decompress-response": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz",
+ "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=",
+ "dev": true,
+ "requires": {
+ "mimic-response": "^1.0.0"
+ }
+ },
+ "dedent": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
+ "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
+ "dev": true
+ },
+ "deep-equal": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz",
+ "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==",
+ "dev": true,
+ "requires": {
+ "is-arguments": "^1.0.4",
+ "is-date-object": "^1.0.1",
+ "is-regex": "^1.0.4",
+ "object-is": "^1.0.1",
+ "object-keys": "^1.1.1",
+ "regexp.prototype.flags": "^1.2.0"
+ }
+ },
+ "deep-extend": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+ "dev": true
+ },
+ "deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+ "dev": true
+ },
+ "defer-to-connect": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz",
+ "integrity": "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==",
+ "dev": true
+ },
+ "define-properties": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "dev": true,
+ "requires": {
+ "object-keys": "^1.0.12"
+ }
+ },
+ "defined": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
+ "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
+ "dev": true
+ },
+ "deps-sort": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz",
+ "integrity": "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw==",
+ "dev": true,
+ "requires": {
+ "JSONStream": "^1.0.3",
+ "shasum-object": "^1.0.0",
+ "subarg": "^1.0.0",
+ "through2": "^2.0.0"
+ }
+ },
+ "des.js": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
+ "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0"
+ }
+ },
+ "detective": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz",
+ "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==",
+ "dev": true,
+ "requires": {
+ "acorn-node": "^1.6.1",
+ "defined": "^1.0.0",
+ "minimist": "^1.1.1"
+ }
+ },
+ "diff": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+ "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+ "dev": true
+ },
+ "diffie-hellman": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
+ "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "miller-rabin": "^4.0.0",
+ "randombytes": "^2.0.0"
+ }
+ },
+ "dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "requires": {
+ "path-type": "^4.0.0"
+ }
+ },
+ "doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "domain-browser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
+ "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
+ "dev": true
+ },
+ "dot-prop": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz",
+ "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==",
+ "dev": true,
+ "requires": {
+ "is-obj": "^2.0.0"
+ }
+ },
+ "duplexer": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
+ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
+ "dev": true
+ },
+ "duplexer2": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
+ "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "duplexer3": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz",
+ "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=",
+ "dev": true
+ },
+ "duplexify": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz",
+ "integrity": "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.4.1",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.1.1",
+ "stream-shift": "^1.0.0"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ }
+ }
+ },
+ "elliptic": {
+ "version": "6.5.4",
+ "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
+ "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.11.9",
+ "brorand": "^1.1.0",
+ "hash.js": "^1.0.0",
+ "hmac-drbg": "^1.0.1",
+ "inherits": "^2.0.4",
+ "minimalistic-assert": "^1.0.1",
+ "minimalistic-crypto-utils": "^1.0.1"
+ }
+ },
+ "emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dev": true,
+ "requires": {
+ "once": "^1.4.0"
+ }
+ },
+ "enquirer": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "^4.1.1"
+ }
+ },
+ "es-abstract": {
+ "version": "1.18.0",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz",
+ "integrity": "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.2",
+ "is-callable": "^1.2.3",
+ "is-negative-zero": "^2.0.1",
+ "is-regex": "^1.1.2",
+ "is-string": "^1.0.5",
+ "object-inspect": "^1.9.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.2",
+ "string.prototype.trimend": "^1.0.4",
+ "string.prototype.trimstart": "^1.0.4",
+ "unbox-primitive": "^1.0.0"
+ }
+ },
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "es5-ext": {
+ "version": "0.10.53",
+ "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz",
+ "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==",
+ "dev": true,
+ "requires": {
+ "es6-iterator": "~2.0.3",
+ "es6-symbol": "~3.1.3",
+ "next-tick": "~1.0.0"
+ }
+ },
+ "es6-iterator": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
+ "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.35",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "es6-map": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz",
+ "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14",
+ "es6-iterator": "~2.0.1",
+ "es6-set": "~0.1.5",
+ "es6-symbol": "~3.1.1",
+ "event-emitter": "~0.3.5"
+ }
+ },
+ "es6-set": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
+ "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14",
+ "es6-iterator": "~2.0.1",
+ "es6-symbol": "3.1.1",
+ "event-emitter": "~0.3.5"
+ },
+ "dependencies": {
+ "es6-symbol": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz",
+ "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14"
+ }
+ }
+ }
+ },
+ "es6-symbol": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz",
+ "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==",
+ "dev": true,
+ "requires": {
+ "d": "^1.0.1",
+ "ext": "^1.1.2"
+ }
+ },
+ "es6-weak-map": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz",
+ "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "^0.10.46",
+ "es6-iterator": "^2.0.3",
+ "es6-symbol": "^3.1.1"
+ }
+ },
+ "escape-goat": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
+ "integrity": "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+ "dev": true
+ },
+ "escodegen": {
+ "version": "1.14.3",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz",
+ "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==",
+ "dev": true,
+ "requires": {
+ "esprima": "^4.0.1",
+ "estraverse": "^4.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "dev": true,
+ "requires": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ }
+ }
+ }
+ },
+ "escope": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz",
+ "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
+ "dev": true,
+ "requires": {
+ "es6-map": "^0.1.3",
+ "es6-weak-map": "^2.0.1",
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "eslint": {
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.19.0.tgz",
+ "integrity": "sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg==",
+ "dev": true,
+ "requires": {
+ "@babel/code-frame": "^7.0.0",
+ "@eslint/eslintrc": "^0.3.0",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.0.1",
+ "doctrine": "^3.0.0",
+ "enquirer": "^2.3.5",
+ "eslint-scope": "^5.1.1",
+ "eslint-utils": "^2.1.0",
+ "eslint-visitor-keys": "^2.0.0",
+ "espree": "^7.3.1",
+ "esquery": "^1.2.0",
+ "esutils": "^2.0.2",
+ "file-entry-cache": "^6.0.0",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^5.0.0",
+ "globals": "^12.1.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^3.13.1",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash": "^4.17.20",
+ "minimatch": "^3.0.4",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "progress": "^2.0.0",
+ "regexpp": "^3.1.0",
+ "semver": "^7.2.1",
+ "strip-ansi": "^6.0.0",
+ "strip-json-comments": "^3.1.0",
+ "table": "^6.0.4",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "dependencies": {
+ "chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz",
+ "integrity": "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "eslint-utils": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
+ "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^1.1.0"
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
+ "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
+ "dev": true
+ },
+ "espree": {
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz",
+ "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==",
+ "dev": true,
+ "requires": {
+ "acorn": "^7.4.0",
+ "acorn-jsx": "^5.3.1",
+ "eslint-visitor-keys": "^1.3.0"
+ }
+ },
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true
+ },
+ "espurify": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/espurify/-/espurify-2.1.1.tgz",
+ "integrity": "sha512-zttWvnkhcDyGOhSH4vO2qCBILpdCMv/MX8lp4cqgRkQoDRGK2oZxi2GfWhlP2dIXmk7BaKeOTuzbHhyC68o8XQ==",
+ "dev": true
+ },
+ "esquery": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz",
+ "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^5.1.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
+ "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
+ "dev": true
+ }
+ }
+ },
+ "esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^5.2.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
+ "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
+ "dev": true
+ }
+ }
+ },
+ "estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true
+ },
+ "estree-is-function": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/estree-is-function/-/estree-is-function-1.0.0.tgz",
+ "integrity": "sha512-nSCWn1jkSq2QAtkaVLJZY2ezwcFO161HVc174zL1KPW3RJ+O6C3eJb8Nx7OXzvhoEv+nLgSR1g71oWUHUDTrJA==",
+ "dev": true
+ },
+ "estree-is-identifier": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/estree-is-identifier/-/estree-is-identifier-1.0.0.tgz",
+ "integrity": "sha512-2BDRGrkQJV/NhCAmmE33A35WAaxq3WQaGHgQuD//7orGWfpFqj8Srkwvx0TH+20yIdOF1yMQwi8anv5ISec2AQ==",
+ "dev": true
+ },
+ "estree-is-member-expression": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/estree-is-member-expression/-/estree-is-member-expression-1.0.0.tgz",
+ "integrity": "sha512-Ec+X44CapIGExvSZN+pGkmr5p7HwUVQoPQSd458Lqwvaf4/61k/invHSh4BYK8OXnCkfEhWuIoG5hayKLQStIg==",
+ "dev": true
+ },
+ "estree-is-require": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/estree-is-require/-/estree-is-require-1.0.0.tgz",
+ "integrity": "sha512-oWxQdSEmnUwNZsDQYiBNpVxKEhMmsJQSSxnDrwsr1MWtooCLfhgzsNGzmokdmfK0EzEIS5V4LPvqxv1Kmb1vvA==",
+ "dev": true,
+ "requires": {
+ "estree-is-identifier": "^1.0.0"
+ }
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true
+ },
+ "event-emitter": {
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz",
+ "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
+ "dev": true,
+ "requires": {
+ "d": "1",
+ "es5-ext": "~0.10.14"
+ }
+ },
+ "events": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+ "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
+ "dev": true
+ },
+ "evp_bytestokey": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
+ "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
+ "dev": true,
+ "requires": {
+ "md5.js": "^1.3.4",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "ext": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz",
+ "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==",
+ "dev": true,
+ "requires": {
+ "type": "^2.0.0"
+ },
+ "dependencies": {
+ "type": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz",
+ "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==",
+ "dev": true
+ }
+ }
+ },
+ "falafel": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz",
+ "integrity": "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ==",
+ "dev": true,
+ "requires": {
+ "acorn": "^7.1.1",
+ "foreach": "^2.0.5",
+ "isarray": "^2.0.1",
+ "object-keys": "^1.0.6"
+ },
+ "dependencies": {
+ "isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+ "dev": true
+ }
+ }
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "fast-glob": {
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz",
+ "integrity": "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.0",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.2",
+ "picomatch": "^2.2.1"
+ }
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "dev": true
+ },
+ "fast-safe-stringify": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
+ "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==",
+ "dev": true
+ },
+ "fastq": {
+ "version": "1.10.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.10.1.tgz",
+ "integrity": "sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==",
+ "dev": true,
+ "requires": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "file-entry-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz",
+ "integrity": "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA==",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^3.0.4"
+ }
+ },
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dev": true,
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ },
+ "flat-cache": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+ "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "dev": true,
+ "requires": {
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
+ }
+ },
+ "flatted": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz",
+ "integrity": "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA==",
+ "dev": true
+ },
+ "follow-redirects": {
+ "version": "1.14.5",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz",
+ "integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA=="
+ },
+ "foreach": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
+ "dev": true
+ },
+ "from2": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
+ "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.0"
+ }
+ },
+ "from2-string": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/from2-string/-/from2-string-1.1.0.tgz",
+ "integrity": "sha1-GCgrJ9CKJnyzAwzSuLSw8hKvdSo=",
+ "dev": true,
+ "requires": {
+ "from2": "^2.0.3"
+ }
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
+ },
+ "get-assigned-identifiers": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz",
+ "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==",
+ "dev": true
+ },
+ "get-intrinsic": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz",
+ "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1"
+ }
+ },
+ "get-stream": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+ "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "dev": true,
+ "requires": {
+ "pump": "^3.0.0"
+ }
+ },
+ "glob": {
+ "version": "7.1.6",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+ "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.0.4",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ },
+ "global-dirs": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz",
+ "integrity": "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ==",
+ "dev": true,
+ "requires": {
+ "ini": "1.3.7"
+ }
+ },
+ "globals": {
+ "version": "12.4.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz",
+ "integrity": "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.8.1"
+ }
+ },
+ "globby": {
+ "version": "11.0.2",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz",
+ "integrity": "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og==",
+ "dev": true,
+ "requires": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.1.1",
+ "ignore": "^5.1.4",
+ "merge2": "^1.3.0",
+ "slash": "^3.0.0"
+ },
+ "dependencies": {
+ "ignore": {
+ "version": "5.1.8",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
+ "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
+ "dev": true
+ }
+ }
+ },
+ "got": {
+ "version": "9.6.0",
+ "resolved": "https://registry.npmjs.org/got/-/got-9.6.0.tgz",
+ "integrity": "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==",
+ "dev": true,
+ "requires": {
+ "@sindresorhus/is": "^0.14.0",
+ "@szmarczak/http-timer": "^1.1.2",
+ "cacheable-request": "^6.0.0",
+ "decompress-response": "^3.3.0",
+ "duplexer3": "^0.1.4",
+ "get-stream": "^4.1.0",
+ "lowercase-keys": "^1.0.1",
+ "mimic-response": "^1.0.1",
+ "p-cancelable": "^1.0.0",
+ "to-readable-stream": "^1.0.0",
+ "url-parse-lax": "^3.0.0"
+ }
+ },
+ "graceful-fs": {
+ "version": "4.2.4",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+ "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+ "dev": true
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-ansi": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+ "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "has-bigints": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz",
+ "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==",
+ "dev": true
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+ "dev": true
+ },
+ "has-symbols": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz",
+ "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==",
+ "dev": true
+ },
+ "has-yarn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz",
+ "integrity": "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==",
+ "dev": true
+ },
+ "hash-base": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
+ "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.6.0",
+ "safe-buffer": "^5.2.0"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ }
+ }
+ },
+ "hash.js": {
+ "version": "1.1.7",
+ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
+ "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "minimalistic-assert": "^1.0.1"
+ }
+ },
+ "hmac-drbg": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
+ "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=",
+ "dev": true,
+ "requires": {
+ "hash.js": "^1.0.3",
+ "minimalistic-assert": "^1.0.0",
+ "minimalistic-crypto-utils": "^1.0.1"
+ }
+ },
+ "htmlescape": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz",
+ "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=",
+ "dev": true
+ },
+ "http-cache-semantics": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
+ "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
+ "dev": true
+ },
+ "https-browserify": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
+ "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=",
+ "dev": true
+ },
+ "ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "dev": true
+ },
+ "ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "dev": true
+ },
+ "ignore-by-default": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
+ "integrity": "sha1-SMptcvbGo68Aqa1K5odr44ieKwk=",
+ "dev": true
+ },
+ "import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ }
+ },
+ "import-lazy": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz",
+ "integrity": "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM=",
+ "dev": true
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "ini": {
+ "version": "1.3.7",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz",
+ "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==",
+ "dev": true
+ },
+ "inline-source-map": {
+ "version": "0.6.2",
+ "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz",
+ "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=",
+ "dev": true,
+ "requires": {
+ "source-map": "~0.5.3"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "insert-module-globals": {
+ "version": "7.2.1",
+ "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz",
+ "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==",
+ "dev": true,
+ "requires": {
+ "acorn-node": "^1.5.2",
+ "combine-source-map": "^0.8.0",
+ "concat-stream": "^1.6.1",
+ "is-buffer": "^1.1.0",
+ "JSONStream": "^1.0.3",
+ "path-is-absolute": "^1.0.1",
+ "process": "~0.11.0",
+ "through2": "^2.0.0",
+ "undeclared-identifiers": "^1.1.2",
+ "xtend": "^4.0.0"
+ }
+ },
+ "is-arguments": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz",
+ "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.0"
+ }
+ },
+ "is-bigint": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz",
+ "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==",
+ "dev": true
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dev": true,
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-boolean-object": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz",
+ "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.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==",
+ "dev": true
+ },
+ "is-callable": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz",
+ "integrity": "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==",
+ "dev": true
+ },
+ "is-ci": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz",
+ "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==",
+ "dev": true,
+ "requires": {
+ "ci-info": "^2.0.0"
+ }
+ },
+ "is-core-module": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
+ "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "is-date-object": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz",
+ "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==",
+ "dev": true
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true
+ },
+ "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==",
+ "dev": true
+ },
+ "is-generator-function": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz",
+ "integrity": "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ==",
+ "dev": true
+ },
+ "is-glob": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+ "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+ "dev": true,
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-installed-globally": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz",
+ "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==",
+ "dev": true,
+ "requires": {
+ "global-dirs": "^2.0.1",
+ "is-path-inside": "^3.0.1"
+ }
+ },
+ "is-negative-zero": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
+ "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==",
+ "dev": true
+ },
+ "is-npm": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz",
+ "integrity": "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig==",
+ "dev": true
+ },
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true
+ },
+ "is-number-object": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz",
+ "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==",
+ "dev": true
+ },
+ "is-obj": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
+ "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
+ "dev": true
+ },
+ "is-path-inside": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz",
+ "integrity": "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==",
+ "dev": true
+ },
+ "is-regex": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz",
+ "integrity": "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "has-symbols": "^1.0.1"
+ }
+ },
+ "is-string": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
+ "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
+ "dev": true
+ },
+ "is-symbol": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz",
+ "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==",
+ "dev": true,
+ "requires": {
+ "has-symbols": "^1.0.1"
+ }
+ },
+ "is-typed-array": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz",
+ "integrity": "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug==",
+ "dev": true,
+ "requires": {
+ "available-typed-arrays": "^1.0.2",
+ "call-bind": "^1.0.2",
+ "es-abstract": "^1.18.0-next.2",
+ "foreach": "^2.0.5",
+ "has-symbols": "^1.0.1"
+ }
+ },
+ "is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "dev": true
+ },
+ "is-yarn-global": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
+ "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
+ "dev": true
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+ "dev": true
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+ "dev": true
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "json-buffer": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz",
+ "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=",
+ "dev": true
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "dev": true
+ },
+ "jsonparse": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+ "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
+ "dev": true
+ },
+ "JSONStream": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
+ "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+ "dev": true,
+ "requires": {
+ "jsonparse": "^1.2.0",
+ "through": ">=2.2.7 <3"
+ }
+ },
+ "keyv": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
+ "integrity": "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==",
+ "dev": true,
+ "requires": {
+ "json-buffer": "3.0.0"
+ }
+ },
+ "labeled-stream-splicer": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz",
+ "integrity": "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "stream-splicer": "^2.0.0"
+ }
+ },
+ "latest-version": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz",
+ "integrity": "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==",
+ "dev": true,
+ "requires": {
+ "package-json": "^6.3.0"
+ }
+ },
+ "levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "dependencies": {
+ "prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true
+ },
+ "type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "^1.2.1"
+ }
+ }
+ }
+ },
+ "lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
+ "dev": true
+ },
+ "lodash.memoize": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz",
+ "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=",
+ "dev": true
+ },
+ "lowercase-keys": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz",
+ "integrity": "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==",
+ "dev": true
+ },
+ "lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "requires": {
+ "yallist": "^4.0.0"
+ }
+ },
+ "magic-string": {
+ "version": "0.23.2",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.23.2.tgz",
+ "integrity": "sha512-oIUZaAxbcxYIp4AyLafV6OVKoB3YouZs0UTCJ8mOKBHNyJgGDaMJ4TgA+VylJh6fx7EQCC52XkbURxxG9IoJXA==",
+ "dev": true,
+ "requires": {
+ "sourcemap-codec": "^1.4.1"
+ }
+ },
+ "make-dir": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+ "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.0.0"
+ }
+ },
+ "make-error": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
+ "dev": true
+ },
+ "md5.js": {
+ "version": "1.3.5",
+ "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
+ "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
+ "dev": true,
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "merge-source-map": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz",
+ "integrity": "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8=",
+ "dev": true,
+ "requires": {
+ "source-map": "^0.5.6"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+ "dev": true
+ }
+ }
+ },
+ "merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true
+ },
+ "micromatch": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+ "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+ "dev": true,
+ "requires": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.0.5"
+ }
+ },
+ "miller-rabin": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
+ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.0.0",
+ "brorand": "^1.0.1"
+ }
+ },
+ "mimic-response": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz",
+ "integrity": "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==",
+ "dev": true
+ },
+ "minify-stream": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/minify-stream/-/minify-stream-2.1.0.tgz",
+ "integrity": "sha512-P5xE4EQRkn7Td54VGcgfDMFx1jmKPPIXCdcMfrbXS6cNHK4dO1LXwtYFb48hHrSmZfT+jlGImvHgSZEkbpNtCw==",
+ "dev": true,
+ "requires": {
+ "concat-stream": "^2.0.0",
+ "convert-source-map": "^1.5.0",
+ "duplexify": "^4.1.1",
+ "from2-string": "^1.1.0",
+ "terser": "^4.7.0",
+ "xtend": "^4.0.1"
+ },
+ "dependencies": {
+ "concat-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz",
+ "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^3.0.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "terser": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
+ "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
+ "dev": true,
+ "requires": {
+ "commander": "^2.20.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.12"
+ }
+ }
+ }
+ },
+ "minimalistic-assert": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+ "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+ "dev": true
+ },
+ "minimalistic-crypto-utils": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
+ "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=",
+ "dev": true
+ },
+ "minimatch": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+ "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+ "dev": true
+ },
+ "mkdirp-classic": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
+ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==",
+ "dev": true
+ },
+ "module-deps": {
+ "version": "6.2.3",
+ "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz",
+ "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==",
+ "dev": true,
+ "requires": {
+ "browser-resolve": "^2.0.0",
+ "cached-path-relative": "^1.0.2",
+ "concat-stream": "~1.6.0",
+ "defined": "^1.0.0",
+ "detective": "^5.2.0",
+ "duplexer2": "^0.1.2",
+ "inherits": "^2.0.1",
+ "JSONStream": "^1.0.3",
+ "parents": "^1.0.0",
+ "readable-stream": "^2.0.2",
+ "resolve": "^1.4.0",
+ "stream-combiner2": "^1.1.1",
+ "subarg": "^1.0.0",
+ "through2": "^2.0.0",
+ "xtend": "^4.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "multi-stage-sourcemap": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/multi-stage-sourcemap/-/multi-stage-sourcemap-0.2.1.tgz",
+ "integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=",
+ "dev": true,
+ "requires": {
+ "source-map": "^0.1.34"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.1.43",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
+ "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
+ "dev": true,
+ "requires": {
+ "amdefine": ">=0.0.4"
+ }
+ }
+ }
+ },
+ "multisplice": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/multisplice/-/multisplice-1.0.0.tgz",
+ "integrity": "sha512-KU5tVjIdTGsMb92JlWwEZCGrvtI1ku9G9GuNbWdQT/Ici1ztFXX0L8lWpbbC3pISVMfBNL56wdqplHvva2XSlA==",
+ "dev": true
+ },
+ "mutexify": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/mutexify/-/mutexify-1.3.1.tgz",
+ "integrity": "sha512-nU7mOEuaXiQIB/EgTIjYZJ7g8KqMm2D8l4qp+DqA4jxWOb/tnb1KEoqp+tlbdQIDIAiC1i7j7X/3yHDFXLxr9g==",
+ "dev": true
+ },
+ "nanobench": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/nanobench/-/nanobench-2.1.1.tgz",
+ "integrity": "sha512-z+Vv7zElcjN+OpzAxAquUayFLGK3JI/ubCl0Oh64YQqsTGG09CGqieJVQw4ui8huDnnAgrvTv93qi5UaOoNj8A==",
+ "dev": true,
+ "requires": {
+ "browser-process-hrtime": "^0.1.2",
+ "chalk": "^1.1.3",
+ "mutexify": "^1.1.0",
+ "pretty-hrtime": "^1.0.2"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+ "dev": true
+ },
+ "chalk": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+ "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^2.2.1",
+ "escape-string-regexp": "^1.0.2",
+ "has-ansi": "^2.0.0",
+ "strip-ansi": "^3.0.0",
+ "supports-color": "^2.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+ "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+ "dev": true
+ }
+ }
+ },
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
+ },
+ "next-tick": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz",
+ "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=",
+ "dev": true
+ },
+ "nodemon": {
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.7.tgz",
+ "integrity": "sha512-XHzK69Awgnec9UzHr1kc8EomQh4sjTQ8oRf8TsGrSmHDx9/UmiGG9E/mM3BuTfNeFwdNBvrqQq/RHL0xIeyFOA==",
+ "dev": true,
+ "requires": {
+ "chokidar": "^3.2.2",
+ "debug": "^3.2.6",
+ "ignore-by-default": "^1.0.1",
+ "minimatch": "^3.0.4",
+ "pstree.remy": "^1.1.7",
+ "semver": "^5.7.1",
+ "supports-color": "^5.5.0",
+ "touch": "^3.1.0",
+ "undefsafe": "^2.0.3",
+ "update-notifier": "^4.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "dev": true
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "dev": true
+ }
+ }
+ },
+ "nopt": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+ "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
+ "dev": true,
+ "requires": {
+ "abbrev": "1"
+ }
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true
+ },
+ "normalize-url": {
+ "version": "4.5.1",
+ "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz",
+ "integrity": "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==",
+ "dev": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "dev": true
+ },
+ "object-inspect": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz",
+ "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==",
+ "dev": true
+ },
+ "object-is": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
+ "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ }
+ },
+ "object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "dev": true
+ },
+ "object.assign": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz",
+ "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.0",
+ "define-properties": "^1.1.3",
+ "has-symbols": "^1.0.1",
+ "object-keys": "^1.1.1"
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "optionator": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "dev": true,
+ "requires": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.3"
+ },
+ "dependencies": {
+ "prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true
+ },
+ "type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "^1.2.1"
+ }
+ }
+ }
+ },
+ "os-browserify": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
+ "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=",
+ "dev": true
+ },
+ "p-cancelable": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz",
+ "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
+ "dev": true
+ },
+ "package-json": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz",
+ "integrity": "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==",
+ "dev": true,
+ "requires": {
+ "got": "^9.6.0",
+ "registry-auth-token": "^4.0.0",
+ "registry-url": "^5.0.0",
+ "semver": "^6.2.0"
+ }
+ },
+ "pako": {
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
+ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
+ "dev": true
+ },
+ "parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "requires": {
+ "callsites": "^3.0.0"
+ }
+ },
+ "parents": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz",
+ "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=",
+ "dev": true,
+ "requires": {
+ "path-platform": "~0.11.15"
+ }
+ },
+ "parse-asn1": {
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
+ "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
+ "dev": true,
+ "requires": {
+ "asn1.js": "^5.2.0",
+ "browserify-aes": "^1.0.0",
+ "evp_bytestokey": "^1.0.0",
+ "pbkdf2": "^3.0.3",
+ "safe-buffer": "^5.1.1"
+ }
+ },
+ "path-browserify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
+ "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
+ "dev": true
+ },
+ "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=",
+ "dev": true
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "path-platform": {
+ "version": "0.11.15",
+ "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz",
+ "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=",
+ "dev": true
+ },
+ "path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true
+ },
+ "pbkdf2": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz",
+ "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==",
+ "dev": true,
+ "requires": {
+ "create-hash": "^1.1.2",
+ "create-hmac": "^1.1.4",
+ "ripemd160": "^2.0.1",
+ "safe-buffer": "^5.0.1",
+ "sha.js": "^2.4.8"
+ }
+ },
+ "picomatch": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+ "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+ "dev": true
+ },
+ "prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+ "dev": true
+ },
+ "prepend-http": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
+ "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=",
+ "dev": true
+ },
+ "pretty-hrtime": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz",
+ "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=",
+ "dev": true
+ },
+ "process": {
+ "version": "0.11.10",
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+ "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=",
+ "dev": true
+ },
+ "process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "dev": true
+ },
+ "progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "dev": true
+ },
+ "pstree.remy": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz",
+ "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==",
+ "dev": true
+ },
+ "public-encrypt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
+ "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
+ "dev": true,
+ "requires": {
+ "bn.js": "^4.1.0",
+ "browserify-rsa": "^4.0.0",
+ "create-hash": "^1.1.0",
+ "parse-asn1": "^5.0.0",
+ "randombytes": "^2.0.1",
+ "safe-buffer": "^5.1.2"
+ }
+ },
+ "pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dev": true,
+ "requires": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+ "dev": true
+ },
+ "pupa": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz",
+ "integrity": "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==",
+ "dev": true,
+ "requires": {
+ "escape-goat": "^2.0.0"
+ }
+ },
+ "querystring": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
+ "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=",
+ "dev": true
+ },
+ "querystring-es3": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
+ "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=",
+ "dev": true
+ },
+ "randombytes": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+ "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "randomfill": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
+ "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
+ "dev": true,
+ "requires": {
+ "randombytes": "^2.0.5",
+ "safe-buffer": "^5.1.0"
+ }
+ },
+ "rc": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "dev": true,
+ "requires": {
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==",
+ "dev": true
+ },
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "dev": true
+ }
+ }
+ },
+ "read-only-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz",
+ "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=",
+ "dev": true,
+ "requires": {
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "dev": 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"
+ },
+ "dependencies": {
+ "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==",
+ "dev": true
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ }
+ }
+ },
+ "readdirp": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
+ "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
+ "dev": true,
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
+ },
+ "regexp.prototype.flags": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz",
+ "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ }
+ },
+ "regexpp": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz",
+ "integrity": "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q==",
+ "dev": true
+ },
+ "registry-auth-token": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz",
+ "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==",
+ "dev": true,
+ "requires": {
+ "rc": "^1.2.8"
+ }
+ },
+ "registry-url": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz",
+ "integrity": "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==",
+ "dev": true,
+ "requires": {
+ "rc": "^1.2.8"
+ }
+ },
+ "require-from-string": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
+ "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.2.0",
+ "path-parse": "^1.0.6"
+ }
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true
+ },
+ "responselike": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
+ "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=",
+ "dev": true,
+ "requires": {
+ "lowercase-keys": "^1.0.0"
+ }
+ },
+ "reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "ripemd160": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
+ "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
+ "dev": true,
+ "requires": {
+ "hash-base": "^3.0.0",
+ "inherits": "^2.0.1"
+ }
+ },
+ "run-parallel": {
+ "version": "1.1.10",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz",
+ "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==",
+ "dev": true
+ },
+ "safe-buffer": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+ "dev": true
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+ "dev": true
+ },
+ "scope-analyzer": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/scope-analyzer/-/scope-analyzer-2.1.1.tgz",
+ "integrity": "sha512-azEAihtQ9mEyZGhfgTJy3IbOWEzeOrYbg7NcYEshPKnKd+LZmC3TNd5dmDxbLBsTG/JVWmCp+vDJ03vJjeXMHg==",
+ "dev": true,
+ "requires": {
+ "array-from": "^2.1.1",
+ "dash-ast": "^1.0.0",
+ "es6-map": "^0.1.5",
+ "es6-set": "^0.1.5",
+ "es6-symbol": "^3.1.1",
+ "estree-is-function": "^1.0.0",
+ "get-assigned-identifiers": "^1.1.0"
+ }
+ },
+ "semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "dev": true
+ },
+ "semver-diff": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz",
+ "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==",
+ "dev": true,
+ "requires": {
+ "semver": "^6.3.0"
+ }
+ },
+ "sha.js": {
+ "version": "2.4.11",
+ "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
+ "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "shasum-object": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz",
+ "integrity": "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg==",
+ "dev": true,
+ "requires": {
+ "fast-safe-stringify": "^2.0.7"
+ }
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true
+ },
+ "shell-quote": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz",
+ "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==",
+ "dev": true
+ },
+ "signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
+ "dev": true
+ },
+ "simple-concat": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz",
+ "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
+ "dev": true
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "slice-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+ "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.0.0",
+ "astral-regex": "^2.0.0",
+ "is-fullwidth-code-point": "^3.0.0"
+ }
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true
+ },
+ "source-map-support": {
+ "version": "0.5.19",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+ "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+ "dev": true,
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "sourcemap-codec": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
+ "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
+ "dev": true
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "stream-browserify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz",
+ "integrity": "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==",
+ "dev": true,
+ "requires": {
+ "inherits": "~2.0.4",
+ "readable-stream": "^3.5.0"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ }
+ }
+ },
+ "stream-combiner": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz",
+ "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=",
+ "dev": true,
+ "requires": {
+ "duplexer": "~0.1.1",
+ "through": "~2.3.4"
+ }
+ },
+ "stream-combiner2": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
+ "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
+ "dev": true,
+ "requires": {
+ "duplexer2": "~0.1.0",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "stream-http": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-3.1.1.tgz",
+ "integrity": "sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg==",
+ "dev": true,
+ "requires": {
+ "builtin-status-codes": "^3.0.0",
+ "inherits": "^2.0.4",
+ "readable-stream": "^3.6.0",
+ "xtend": "^4.0.2"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ }
+ }
+ },
+ "stream-shift": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
+ "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
+ "dev": true
+ },
+ "stream-splicer": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz",
+ "integrity": "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.1",
+ "readable-stream": "^2.0.2"
+ }
+ },
+ "string_decoder": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "dev": true,
+ "requires": {
+ "safe-buffer": "~5.2.0"
+ }
+ },
+ "string-width": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+ "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+ "dev": true,
+ "requires": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ }
+ },
+ "string.prototype.trimend": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
+ "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ }
+ },
+ "string.prototype.trimstart": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
+ "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+ "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true
+ }
+ }
+ },
+ "strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true
+ },
+ "subarg": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
+ "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.1.0"
+ }
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "syntax-error": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
+ "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
+ "dev": true,
+ "requires": {
+ "acorn-node": "^1.2.0"
+ }
+ },
+ "table": {
+ "version": "6.0.7",
+ "resolved": "https://registry.npmjs.org/table/-/table-6.0.7.tgz",
+ "integrity": "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g==",
+ "dev": true,
+ "requires": {
+ "ajv": "^7.0.2",
+ "lodash": "^4.17.20",
+ "slice-ansi": "^4.0.0",
+ "string-width": "^4.2.0"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-7.0.4.tgz",
+ "integrity": "sha512-xzzzaqgEQfmuhbhAoqjJ8T/1okb6gAzXn/eQRNpAN1AEUoHJTNF9xCDRTtf/s3SKldtZfa+RJeTs+BQq+eZ/sw==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "dev": true
+ }
+ }
+ },
+ "term-size": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz",
+ "integrity": "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==",
+ "dev": true
+ },
+ "terser": {
+ "version": "3.17.0",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz",
+ "integrity": "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ==",
+ "dev": true,
+ "requires": {
+ "commander": "^2.19.0",
+ "source-map": "~0.6.1",
+ "source-map-support": "~0.5.10"
+ }
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+ "dev": true
+ },
+ "through2": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+ "dev": true,
+ "requires": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
+ }
+ },
+ "timers-browserify": {
+ "version": "1.4.2",
+ "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz",
+ "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=",
+ "dev": true,
+ "requires": {
+ "process": "~0.11.0"
+ }
+ },
+ "tinyify": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/tinyify/-/tinyify-3.0.0.tgz",
+ "integrity": "sha512-RtjVjC1xwwxt8AMVfxEmo+FzRJB6p5sAOtFaJj8vMrkWShtArsM4dLVRWhx2Vc07Me3NWgmP7pi9UPm/a2XNNA==",
+ "dev": true,
+ "requires": {
+ "@goto-bus-stop/envify": "^5.0.0",
+ "acorn-node": "^1.8.2",
+ "browser-pack-flat": "^3.0.9",
+ "bundle-collapser": "^1.3.0",
+ "common-shakeify": "^0.6.0",
+ "dash-ast": "^1.0.0",
+ "minify-stream": "^2.0.1",
+ "multisplice": "^1.0.0",
+ "through2": "^3.0.1",
+ "uglifyify": "^5.0.0",
+ "unassertify": "^2.1.1"
+ },
+ "dependencies": {
+ "readable-stream": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+ "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ }
+ },
+ "through2": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz",
+ "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.4",
+ "readable-stream": "2 || 3"
+ }
+ }
+ }
+ },
+ "to-readable-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz",
+ "integrity": "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==",
+ "dev": true
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "requires": {
+ "is-number": "^7.0.0"
+ }
+ },
+ "touch": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
+ "integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
+ "dev": true,
+ "requires": {
+ "nopt": "~1.0.10"
+ }
+ },
+ "transform-ast": {
+ "version": "2.4.4",
+ "resolved": "https://registry.npmjs.org/transform-ast/-/transform-ast-2.4.4.tgz",
+ "integrity": "sha512-AxjeZAcIOUO2lev2GDe3/xZ1Q0cVGjIMk5IsriTy8zbWlsEnjeB025AhkhBJHoy997mXpLd4R+kRbvnnQVuQHQ==",
+ "dev": true,
+ "requires": {
+ "acorn-node": "^1.3.0",
+ "convert-source-map": "^1.5.1",
+ "dash-ast": "^1.0.0",
+ "is-buffer": "^2.0.0",
+ "magic-string": "^0.23.2",
+ "merge-source-map": "1.0.4",
+ "nanobench": "^2.1.1"
+ },
+ "dependencies": {
+ "is-buffer": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
+ "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
+ "dev": true
+ }
+ }
+ },
+ "ts-node": {
+ "version": "9.1.1",
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz",
+ "integrity": "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg==",
+ "dev": true,
+ "requires": {
+ "arg": "^4.1.0",
+ "create-require": "^1.1.0",
+ "diff": "^4.0.1",
+ "make-error": "^1.1.1",
+ "source-map-support": "^0.5.17",
+ "yn": "3.1.1"
+ }
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "tsutils": {
+ "version": "3.20.0",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.20.0.tgz",
+ "integrity": "sha512-RYbuQuvkhuqVeXweWT3tJLKOEJ/UUw9GjNEZGWdrLLlM+611o1gwLHBpxoFJKKl25fLprp2eVthtKs5JOrNeXg==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.8.1"
+ }
+ },
+ "tty-browserify": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz",
+ "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==",
+ "dev": true
+ },
+ "type": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
+ "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==",
+ "dev": true
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ },
+ "type-fest": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+ "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+ "dev": true
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+ "dev": true
+ },
+ "typedarray-to-buffer": {
+ "version": "3.1.5",
+ "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz",
+ "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==",
+ "dev": true,
+ "requires": {
+ "is-typedarray": "^1.0.0"
+ }
+ },
+ "typescript": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz",
+ "integrity": "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==",
+ "dev": true
+ },
+ "uglifyify": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/uglifyify/-/uglifyify-5.0.2.tgz",
+ "integrity": "sha512-NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q==",
+ "dev": true,
+ "requires": {
+ "convert-source-map": "~1.1.0",
+ "minimatch": "^3.0.2",
+ "terser": "^3.7.5",
+ "through": "~2.3.4",
+ "xtend": "^4.0.1"
+ },
+ "dependencies": {
+ "convert-source-map": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
+ "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=",
+ "dev": true
+ }
+ }
+ },
+ "umd": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz",
+ "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==",
+ "dev": true
+ },
+ "unassert": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/unassert/-/unassert-1.6.0.tgz",
+ "integrity": "sha512-GoMtWTwGSxSFuRD0NKmbjlx3VJkgvSogzDzMPpJXYmBZv6MIWButsyMqEYhMx3NI4osXACcZA9mXiBteXyJtRw==",
+ "dev": true,
+ "requires": {
+ "acorn": "^7.0.0",
+ "call-matcher": "^2.0.0",
+ "deep-equal": "^1.0.0",
+ "espurify": "^2.0.1",
+ "estraverse": "^4.1.0",
+ "esutils": "^2.0.2",
+ "object-assign": "^4.1.0"
+ }
+ },
+ "unassertify": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/unassertify/-/unassertify-2.1.1.tgz",
+ "integrity": "sha512-YIAaIlc6/KC9Oib8cVZLlpDDhK1UTEuaDyx9BwD97xqxDZC0cJOqwFcs/Y6K3m73B5VzHsRTBLXNO0dxS/GkTw==",
+ "dev": true,
+ "requires": {
+ "acorn": "^5.1.0",
+ "convert-source-map": "^1.1.1",
+ "escodegen": "^1.6.1",
+ "multi-stage-sourcemap": "^0.2.1",
+ "through": "^2.3.7",
+ "unassert": "^1.3.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "5.7.4",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz",
+ "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==",
+ "dev": true
+ }
+ }
+ },
+ "unbox-primitive": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz",
+ "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has-bigints": "^1.0.1",
+ "has-symbols": "^1.0.2",
+ "which-boxed-primitive": "^1.0.2"
+ }
+ },
+ "undeclared-identifiers": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz",
+ "integrity": "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw==",
+ "dev": true,
+ "requires": {
+ "acorn-node": "^1.3.0",
+ "dash-ast": "^1.0.0",
+ "get-assigned-identifiers": "^1.2.0",
+ "simple-concat": "^1.0.0",
+ "xtend": "^4.0.1"
+ }
+ },
+ "undefsafe": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz",
+ "integrity": "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A==",
+ "dev": true,
+ "requires": {
+ "debug": "^2.2.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ }
+ }
+ },
+ "unique-string": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz",
+ "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==",
+ "dev": true,
+ "requires": {
+ "crypto-random-string": "^2.0.0"
+ }
+ },
+ "update-notifier": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz",
+ "integrity": "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A==",
+ "dev": true,
+ "requires": {
+ "boxen": "^4.2.0",
+ "chalk": "^3.0.0",
+ "configstore": "^5.0.1",
+ "has-yarn": "^2.1.0",
+ "import-lazy": "^2.1.0",
+ "is-ci": "^2.0.0",
+ "is-installed-globally": "^0.3.1",
+ "is-npm": "^4.0.0",
+ "is-yarn-global": "^0.3.0",
+ "latest-version": "^5.0.0",
+ "pupa": "^2.0.1",
+ "semver-diff": "^3.1.1",
+ "xdg-basedir": "^4.0.0"
+ }
+ },
+ "uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true
+ }
+ }
+ },
+ "url": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
+ "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=",
+ "dev": true,
+ "requires": {
+ "punycode": "1.3.2",
+ "querystring": "0.2.0"
+ },
+ "dependencies": {
+ "punycode": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
+ "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=",
+ "dev": true
+ }
+ }
+ },
+ "url-parse-lax": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz",
+ "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=",
+ "dev": true,
+ "requires": {
+ "prepend-http": "^2.0.0"
+ }
+ },
+ "util": {
+ "version": "0.12.3",
+ "resolved": "https://registry.npmjs.org/util/-/util-0.12.3.tgz",
+ "integrity": "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog==",
+ "dev": true,
+ "requires": {
+ "inherits": "^2.0.3",
+ "is-arguments": "^1.0.4",
+ "is-generator-function": "^1.0.7",
+ "is-typed-array": "^1.1.3",
+ "safe-buffer": "^5.1.2",
+ "which-typed-array": "^1.1.2"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+ "dev": true
+ },
+ "v8-compile-cache": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz",
+ "integrity": "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q==",
+ "dev": true
+ },
+ "vm-browserify": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
+ "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
+ "dev": true
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "which-boxed-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
+ "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
+ "dev": true,
+ "requires": {
+ "is-bigint": "^1.0.1",
+ "is-boolean-object": "^1.1.0",
+ "is-number-object": "^1.0.4",
+ "is-string": "^1.0.5",
+ "is-symbol": "^1.0.3"
+ }
+ },
+ "which-typed-array": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz",
+ "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==",
+ "dev": true,
+ "requires": {
+ "available-typed-arrays": "^1.0.2",
+ "call-bind": "^1.0.0",
+ "es-abstract": "^1.18.0-next.1",
+ "foreach": "^2.0.5",
+ "function-bind": "^1.1.1",
+ "has-symbols": "^1.0.1",
+ "is-typed-array": "^1.1.3"
+ }
+ },
+ "widest-line": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
+ "integrity": "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==",
+ "dev": true,
+ "requires": {
+ "string-width": "^4.0.0"
+ }
+ },
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "dev": true
+ },
+ "wrap-comment": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/wrap-comment/-/wrap-comment-1.0.1.tgz",
+ "integrity": "sha512-APccrMwl/ont0RHFTXNAQfM647duYYEfs6cngrIyTByTI0xbWnDnPSptFZhS68L4WCjt2ZxuhCFwuY6Pe88KZQ==",
+ "dev": true
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+ "dev": true
+ },
+ "write-file-atomic": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz",
+ "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==",
+ "dev": true,
+ "requires": {
+ "imurmurhash": "^0.1.4",
+ "is-typedarray": "^1.0.0",
+ "signal-exit": "^3.0.2",
+ "typedarray-to-buffer": "^3.1.5"
+ }
+ },
+ "ws": {
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.3.0.tgz",
+ "integrity": "sha512-Gs5EZtpqZzLvmIM59w4igITU57lrtYVFneaa434VROv4thzJyV6UjIL3D42lslWlI+D4KzLYnxSwtfuiO79sNw==",
+ "requires": {}
+ },
+ "xdg-basedir": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz",
+ "integrity": "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==",
+ "dev": true
+ },
+ "xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "dev": true
+ },
+ "yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
+ "yn": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+ "dev": true
+ }
+ }
+}
diff --git a/mempool.js/package.json b/mempool.js/package.json
new file mode 100644
index 000000000..b8af942f6
--- /dev/null
+++ b/mempool.js/package.json
@@ -0,0 +1,62 @@
+{
+ "name": "@mempool/mempool.js",
+ "version": "2.3.0",
+ "description": "NPM package module for Mempool APIs.",
+ "main": "lib/index.js",
+ "keywords": [
+ "axios",
+ "bitcoin",
+ "bisq",
+ "liquid",
+ "mainet",
+ "testnet",
+ "signet",
+ "blockchain",
+ "html",
+ "mempool.space",
+ "mempool.js",
+ "mempool",
+ "websocket",
+ "nodejs",
+ "typescript"
+ ],
+ "author": "Miguel Medeiros (miguelmedeiros.com.br)",
+ "url": "https://mempool.space/",
+ "private": false,
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/mempool/mempool.js.git"
+ },
+ "types": "lib/index.d.ts",
+ "scripts": {
+ "start": "ts-node src/index.ts",
+ "dev": "nodemon src/index.ts",
+ "build": "tsc",
+ "export-mempool-js": "tsc | browserify lib/index.js --standalone mempoolJS > dist/mempool.js | browserify -p tinyify lib/index.js --standalone mempoolJS > dist/mempool.min.js",
+ "export-bisq-js": "tsc | browserify lib/index-bisq.js --standalone bisqJS > dist/bisq.js | browserify -p tinyify lib/index-bisq.js --standalone bisqJS > dist/bisq.min.js",
+ "export-liquid-js": "tsc | browserify lib/index-liquid.js --standalone liquidJS > dist/liquid.js | browserify -p tinyify lib/index-liquid.js --standalone liquidJS > dist/liquid.min.js",
+ "prepare": "npm run build",
+ "postversion": "git push && git push --tags"
+ },
+ "files": [
+ "lib/**/*"
+ ],
+ "dependencies": {
+ "axios": "0.24.0",
+ "ws": "8.3.0"
+ },
+ "devDependencies": {
+ "@types/node": "^14.14.25",
+ "@types/websocket": "^1.0.2",
+ "@types/ws": "^7.4.1",
+ "@typescript-eslint/eslint-plugin": "^4.14.2",
+ "@typescript-eslint/parser": "^4.14.2",
+ "browserify": "^17.0.0",
+ "eslint": "^7.19.0",
+ "nodemon": "^2.0.7",
+ "tinyify": "^3.0.0",
+ "ts-node": "^9.1.1",
+ "typescript": "^4.1.3"
+ },
+ "license": "MIT"
+}
diff --git a/mempool.js/src/app/bisq/addresses.ts b/mempool.js/src/app/bisq/addresses.ts
new file mode 100644
index 000000000..4ba09ba7b
--- /dev/null
+++ b/mempool.js/src/app/bisq/addresses.ts
@@ -0,0 +1,13 @@
+import { AxiosInstance } from 'axios';
+import { Address, AddressesInstance } from '../../interfaces/bisq/addresses';
+
+export const useAddresses = (api: AxiosInstance): AddressesInstance => {
+ const getAddress = async (params: { address: string }) => {
+ const { data } = await api.get(`/address/${params.address}`);
+ return data;
+ };
+
+ return {
+ getAddress,
+ };
+};
diff --git a/mempool.js/src/app/bisq/blocks.ts b/mempool.js/src/app/bisq/blocks.ts
new file mode 100644
index 000000000..ca5f0652f
--- /dev/null
+++ b/mempool.js/src/app/bisq/blocks.ts
@@ -0,0 +1,27 @@
+import { AxiosInstance } from 'axios';
+import { Block, BlocksInstance } from '../../interfaces/bisq/blocks';
+
+export const useBlocks = (api: AxiosInstance): BlocksInstance => {
+ const getBlock = async (params: { hash: string }) => {
+ const { data } = await api.get(`/block/${params.hash}`);
+ return data;
+ };
+
+ const getBlocks = async (params: { index: number; length: number }) => {
+ const { data } = await api.get(
+ `/blocks/${params.index}/${params.length}`
+ );
+ return data;
+ };
+
+ const getBlocksTipHeight = async () => {
+ const { data } = await api.get(`/blocks/tip/height`);
+ return data;
+ };
+
+ return {
+ getBlock,
+ getBlocks,
+ getBlocksTipHeight,
+ };
+};
diff --git a/mempool.js/src/app/bisq/markets.ts b/mempool.js/src/app/bisq/markets.ts
new file mode 100644
index 000000000..8135cbc4f
--- /dev/null
+++ b/mempool.js/src/app/bisq/markets.ts
@@ -0,0 +1,137 @@
+import { AxiosInstance } from 'axios';
+import { Currencies, Depth, Markets, Hloc, MarketsInstance, Offers, Trades, Volumes } from '../../interfaces/bisq/markets';
+
+export const useMarkets = (api: AxiosInstance): MarketsInstance => {
+
+ const getCurrencies = async (
+ params: {
+ basecurrency?: string;
+ type?: string;
+ format?: string;
+ } = {
+ basecurrency: 'BTC',
+ type: 'all',
+ format: 'jsonpretty',
+ }
+ ) => {
+ const { data } = await api.get('/currencies', { params });
+ return data;
+ };
+
+ const getDepth = async (
+ params: {
+ market: string;
+ format?: string;
+ } = {
+ market: 'xmr_btc',
+ format: 'jsonpretty',
+ }
+ ) => {
+ const { data } = await api.get('/depth', { params });
+ return data;
+ };
+
+ const getHloc = async (params: {
+ market: string;
+ interval?: string;
+ timestamp_from?: string;
+ timestamp_to?: string;
+ format?: string;
+ }) => {
+ const { data } = await api.get('/hloc', { params });
+ return data;
+ };
+
+ const getMarkets = async (
+ params: {
+ format?: string;
+ } = {
+ format: 'jsonpretty',
+ }
+ ) => {
+ const { data } = await api.get('/markets', { params });
+ return data;
+ };
+
+ const getOffers = async (
+ params: {
+ market: string;
+ direction?: string;
+ format?: string;
+ } = {
+ market: 'xmr_btc',
+ format: 'jsonpretty',
+ }
+ ) => {
+ const { data } = await api.get('/offers', { params });
+ return data;
+ };
+
+ const getTicker = async (
+ params: {
+ market?: string;
+ format?: string;
+ } = {
+ format: 'jsonpretty',
+ }
+ ) => {
+ const { data } = await api.get('/ticker', { params });
+ return data;
+ };
+
+ const getTrades = async (
+ params: {
+ market: string;
+ format?: string;
+ timestamp_from?: string;
+ timestamp_to?: string;
+ trade_id_from?: string;
+ trade_id_to?: string;
+ limit?: number;
+ sort?: string;
+ } = {
+ market: 'all',
+ format: 'jsonpretty',
+ timestamp_from: '2016-01-01',
+ timestamp_to: 'now',
+ limit: 100,
+ sort: 'desc',
+ }
+ ) => {
+ const { data } = await api.get('/trades', { params });
+ return data;
+ };
+
+ const getVolumes = async (
+ params: {
+ basecurrency: string;
+ market: string;
+ interval?: string;
+ timestamp_from?: string;
+ timestamp_to?: string;
+ format?: string;
+ } = {
+ basecurrency: '',
+ market: '',
+ interval: 'auto',
+ timestamp_from: '2016-01-01',
+ timestamp_to: 'now',
+ format: 'jsonpretty',
+ }
+ ) => {
+ const { data } = await api.get('/trades', { params });
+ return data;
+ };
+
+ return {
+ getCurrencies,
+ getDepth,
+ getHloc,
+ getMarkets,
+ getOffers,
+ getTicker,
+ getTrades,
+ getVolumes,
+ };
+};
+
diff --git a/mempool.js/src/app/bisq/statistics.ts b/mempool.js/src/app/bisq/statistics.ts
new file mode 100644
index 000000000..cf6d55cf5
--- /dev/null
+++ b/mempool.js/src/app/bisq/statistics.ts
@@ -0,0 +1,13 @@
+import { AxiosInstance } from 'axios';
+import { Stats, StatsInstance } from '../../interfaces/bisq/statistics';
+
+export const useStatistics = (api: AxiosInstance): StatsInstance => {
+ const getStats = async () => {
+ const { data } = await api.get(`/stats`);
+ return data;
+ };
+
+ return {
+ getStats,
+ };
+};
diff --git a/mempool.js/src/app/bisq/transactions.ts b/mempool.js/src/app/bisq/transactions.ts
new file mode 100644
index 000000000..5f4d3cea6
--- /dev/null
+++ b/mempool.js/src/app/bisq/transactions.ts
@@ -0,0 +1,21 @@
+import { AxiosInstance } from 'axios';
+import { Tx, TransactionsInstance } from '../../interfaces/bisq/transactions';
+
+export const useTransactions = (api: AxiosInstance): TransactionsInstance => {
+ const getTx = async (params: { txid: string }) => {
+ const { data } = await api.get(`/tx/${params.txid}`);
+ return data;
+ };
+
+ const getTxs = async (params: { index: number; length: number }) => {
+ const { data } = await api.get(
+ `/txs/${params.index}/${params.length}`
+ );
+ return data;
+ };
+
+ return {
+ getTx,
+ getTxs,
+ };
+};
diff --git a/mempool.js/src/app/bitcoin/addresses.ts b/mempool.js/src/app/bitcoin/addresses.ts
new file mode 100644
index 000000000..1b0a1b20b
--- /dev/null
+++ b/mempool.js/src/app/bitcoin/addresses.ts
@@ -0,0 +1,48 @@
+import { AxiosInstance } from 'axios';
+import {
+ Address,
+ AddressTxsUtxo,
+ AddressInstance,
+} from '../../interfaces/bitcoin/addresses';
+import { Tx } from '../../interfaces/bitcoin/transactions';
+
+export const useAddresses = (api: AxiosInstance): AddressInstance => {
+ const getAddress = async (params: { address: string }) => {
+ const { data } = await api.get(`/address/${params.address}`);
+ return data;
+ };
+
+ const getAddressTxs = async (params: { address: string }) => {
+ const { data } = await api.get(`/address/${params.address}/txs`);
+ return data;
+ };
+
+ const getAddressTxsChain = async (params: { address: string }) => {
+ const { data } = await api.get(
+ `/address/${params.address}/txs/chain`
+ );
+ return data;
+ };
+
+ const getAddressTxsMempool = async (params: { address: string }) => {
+ const { data } = await api.get(
+ `/address/${params.address}/txs/mempool`
+ );
+ return data;
+ };
+
+ const getAddressTxsUtxo = async (params: { address: string }) => {
+ const { data } = await api.get(
+ `/address/${params.address}/utxo`
+ );
+ return data;
+ };
+
+ return {
+ getAddress,
+ getAddressTxs,
+ getAddressTxsChain,
+ getAddressTxsMempool,
+ getAddressTxsUtxo,
+ };
+};
diff --git a/mempool.js/src/app/bitcoin/blocks.ts b/mempool.js/src/app/bitcoin/blocks.ts
new file mode 100644
index 000000000..ffc028d2b
--- /dev/null
+++ b/mempool.js/src/app/bitcoin/blocks.ts
@@ -0,0 +1,85 @@
+import { AxiosInstance } from 'axios';
+import {
+ Block,
+ BlockStatus,
+ BlockInstance,
+} from '../../interfaces/bitcoin/blocks';
+import { Tx } from '../../interfaces/bitcoin/transactions';
+
+export const useBlocks = (api: AxiosInstance): BlockInstance => {
+ const getBlock = async (params: { hash: string }) => {
+ const { data } = await api.get(`/block/${params.hash}`);
+ return data;
+ };
+
+ const getBlockStatus = async (params: { hash: string }) => {
+ const { data } = await api.get(`/block/${params.hash}/status`);
+ return data;
+ };
+
+ const getBlockTxs = async (params: {
+ hash: string;
+ start_index?: number;
+ }) => {
+ const { data } = await api.get(
+ `/block/${params.hash}/txs/${params.start_index}`
+ );
+ return data;
+ };
+
+ const getBlockTxids = async (params: { hash: string }) => {
+ const { data } = await api.get(`/block/${params.hash}/txids`);
+ return data;
+ };
+
+ const getBlockTxid = async (params: { hash: string; index: number }) => {
+ const { data } = await api.get(
+ `/block/${params.hash}/txid/${params.index}`
+ );
+ return data;
+ };
+
+ const getBlockRaw = async (params: { hash: string }) => {
+ const { data } = await api.get(`/block/${params.hash}/raw`);
+ return data;
+ };
+
+ const getBlockHeader = async (params: { hash: string }) => {
+ const { data } = await api.get(`/block/${params.hash}/header`);
+ return data;
+ };
+
+ const getBlockHeight = async (params: { height: number }) => {
+ const { data } = await api.get(`/block-height/${params.height}`);
+ return data;
+ };
+
+ const getBlocks = async (params: { start_height?: number }) => {
+ const { data } = await api.get(`/blocks/${params.start_height}`);
+ return data;
+ };
+
+ const getBlocksTipHeight = async () => {
+ const { data } = await api.get(`/blocks/tip/height`);
+ return data;
+ };
+
+ const getBlocksTipHash = async () => {
+ const { data } = await api.get(`/blocks/tip/hash`);
+ return data;
+ };
+
+ return {
+ getBlock,
+ getBlocks,
+ getBlockStatus,
+ getBlockTxs,
+ getBlockTxid,
+ getBlockTxids,
+ getBlockRaw,
+ getBlockHeader,
+ getBlockHeight,
+ getBlocksTipHash,
+ getBlocksTipHeight,
+ };
+};
diff --git a/mempool.js/src/app/bitcoin/difficulty.ts b/mempool.js/src/app/bitcoin/difficulty.ts
new file mode 100644
index 000000000..6d30e7e69
--- /dev/null
+++ b/mempool.js/src/app/bitcoin/difficulty.ts
@@ -0,0 +1,16 @@
+import { AxiosInstance } from 'axios';
+import {
+ Adjustment,
+ DifficultyInstance,
+} from '../../interfaces/bitcoin/difficulty';
+
+export const useDifficulty = (api: AxiosInstance): DifficultyInstance => {
+ const getDifficultyAdjustment = async () => {
+ const { data } = await api.get(`/v1/difficulty-adjustment`);
+ return data;
+ };
+
+ return {
+ getDifficultyAdjustment,
+ };
+};
diff --git a/mempool.js/src/app/bitcoin/fees.ts b/mempool.js/src/app/bitcoin/fees.ts
new file mode 100644
index 000000000..c4146d30a
--- /dev/null
+++ b/mempool.js/src/app/bitcoin/fees.ts
@@ -0,0 +1,33 @@
+import { AxiosInstance } from 'axios';
+import {
+ FeesRecommended,
+ FeesMempoolBlocks,
+ FeeInstance,
+} from '../../interfaces/bitcoin/fees';
+
+export const useFees = (api: AxiosInstance): FeeInstance => {
+ const getFeesRecommended = async () => {
+ const { data } = await api.get(`/v1/fees/recommended`);
+ return data;
+ };
+
+ const getFeesMempoolBlocks = async () => {
+ const { data } = await api.get(
+ `/v1/fees/mempool-blocks`
+ );
+ return data;
+ };
+
+ const getCPFP = async (params: { txid: string }) => {
+ const { data } = await api.get(
+ `/v1/cpfp/${params.txid}`
+ );
+ return data;
+ };
+
+ return {
+ getFeesRecommended,
+ getFeesMempoolBlocks,
+ getCPFP,
+ };
+};
diff --git a/mempool.js/src/app/bitcoin/mempool.ts b/mempool.js/src/app/bitcoin/mempool.ts
new file mode 100644
index 000000000..8a64a8f23
--- /dev/null
+++ b/mempool.js/src/app/bitcoin/mempool.ts
@@ -0,0 +1,29 @@
+import { AxiosInstance } from 'axios';
+import {
+ Mempool,
+ MempoolRecent,
+ MempoolInstance,
+} from '../../interfaces/bitcoin/mempool';
+
+export const useMempool = (api: AxiosInstance): MempoolInstance => {
+ const getMempool = async () => {
+ const { data } = await api.get(`/mempool`);
+ return data;
+ };
+
+ const getMempoolTxids = async () => {
+ const { data } = await api.get(`/mempool/txids`);
+ return data;
+ };
+
+ const getMempoolRecent = async () => {
+ const { data } = await api.get(`/mempool/recent`);
+ return data;
+ };
+
+ return {
+ getMempool,
+ getMempoolTxids,
+ getMempoolRecent,
+ };
+};
diff --git a/mempool.js/src/app/bitcoin/transactions.ts b/mempool.js/src/app/bitcoin/transactions.ts
new file mode 100644
index 000000000..bc89acaa3
--- /dev/null
+++ b/mempool.js/src/app/bitcoin/transactions.ts
@@ -0,0 +1,75 @@
+import { AxiosInstance } from 'axios';
+import {
+ Tx,
+ TxStatus,
+ TxMerkleProof,
+ TxOutspend,
+ TxInstance,
+} from '../../interfaces/bitcoin/transactions';
+
+export const useTransactions = (api: AxiosInstance): TxInstance => {
+ const getTx = async (params: { txid: string }) => {
+ const { data } = await api.get(`/tx/${params.txid}`);
+ return data;
+ };
+
+ const getTxStatus = async (params: { txid: string }) => {
+ const { data } = await api.get(`/tx/${params.txid}/status`);
+ return data;
+ };
+
+ const getTxHex = async (params: { txid: string }) => {
+ const { data } = await api.get(`/tx/${params.txid}/hex`);
+ return data;
+ };
+
+ const getTxRaw = async (params: { txid: string }) => {
+ const { data } = await api.get(`/tx/${params.txid}/raw`);
+ return data;
+ };
+
+ const getTxMerkleBlockProof = async (params: { txid: string }) => {
+ const { data } = await api.get(
+ `/tx/${params.txid}/merkleblock-proof`
+ );
+ return data;
+ };
+
+ const getTxMerkleProof = async (params: { txid: string }) => {
+ const { data } = await api.get>(
+ `/tx/${params.txid}/merkle-proof`
+ );
+ return data;
+ };
+
+ const getTxOutspend = async (params: { txid: string; vout: number }) => {
+ const { data } = await api.get(
+ `/tx/${params.txid}/outspend/${params.vout}`
+ );
+ return data;
+ };
+
+ const getTxOutspends = async (params: { txid: string }) => {
+ const { data } = await api.get>(
+ `/tx/${params.txid}/outspends`
+ );
+ return data;
+ };
+
+ const postTx = async (params: { txhex: string }) => {
+ const { data } = await api.post(`/tx`, { txhex: params.txhex });
+ return data;
+ };
+
+ return {
+ getTx,
+ getTxStatus,
+ getTxHex,
+ getTxRaw,
+ getTxMerkleBlockProof,
+ getTxMerkleProof,
+ getTxOutspend,
+ getTxOutspends,
+ postTx,
+ };
+};
diff --git a/mempool.js/src/app/bitcoin/websocket.ts b/mempool.js/src/app/bitcoin/websocket.ts
new file mode 100644
index 000000000..702971873
--- /dev/null
+++ b/mempool.js/src/app/bitcoin/websocket.ts
@@ -0,0 +1,14 @@
+import { WsInterface, WsInstance } from '../../interfaces/bitcoin/websockets';
+import wsClient from '../../services/ws/client';
+import wsServer from '../../services/ws/server';
+
+export const useWebsocket = (hostname: string, network: string): WsInstance => {
+
+ const wsEndpoint = `wss://${hostname}${network === 'main' ? '' : `/${network}`}/api/v1/ws`;
+ return {
+ initClient: ({ options }: WsInterface) =>
+ wsClient(options, wsEndpoint),
+ initServer: ({ options }: WsInterface) =>
+ wsServer(options, wsEndpoint),
+ };
+};
diff --git a/mempool.js/src/app/liquid/addresses.ts b/mempool.js/src/app/liquid/addresses.ts
new file mode 100644
index 000000000..1b0a1b20b
--- /dev/null
+++ b/mempool.js/src/app/liquid/addresses.ts
@@ -0,0 +1,48 @@
+import { AxiosInstance } from 'axios';
+import {
+ Address,
+ AddressTxsUtxo,
+ AddressInstance,
+} from '../../interfaces/bitcoin/addresses';
+import { Tx } from '../../interfaces/bitcoin/transactions';
+
+export const useAddresses = (api: AxiosInstance): AddressInstance => {
+ const getAddress = async (params: { address: string }) => {
+ const { data } = await api.get(`/address/${params.address}`);
+ return data;
+ };
+
+ const getAddressTxs = async (params: { address: string }) => {
+ const { data } = await api.get(`/address/${params.address}/txs`);
+ return data;
+ };
+
+ const getAddressTxsChain = async (params: { address: string }) => {
+ const { data } = await api.get(
+ `/address/${params.address}/txs/chain`
+ );
+ return data;
+ };
+
+ const getAddressTxsMempool = async (params: { address: string }) => {
+ const { data } = await api.get(
+ `/address/${params.address}/txs/mempool`
+ );
+ return data;
+ };
+
+ const getAddressTxsUtxo = async (params: { address: string }) => {
+ const { data } = await api.get(
+ `/address/${params.address}/utxo`
+ );
+ return data;
+ };
+
+ return {
+ getAddress,
+ getAddressTxs,
+ getAddressTxsChain,
+ getAddressTxsMempool,
+ getAddressTxsUtxo,
+ };
+};
diff --git a/mempool.js/src/app/liquid/assets.ts b/mempool.js/src/app/liquid/assets.ts
new file mode 100644
index 000000000..904803cec
--- /dev/null
+++ b/mempool.js/src/app/liquid/assets.ts
@@ -0,0 +1,49 @@
+import { AxiosInstance } from 'axios';
+import { Asset, AssetsInstance } from '../../interfaces/liquid/assets';
+
+export const useAssets = (api: AxiosInstance): AssetsInstance => {
+ const getAsset = async (params: { asset_id: string }) => {
+ const { data } = await api.get(`/asset/${params.asset_id}`);
+ return data;
+ };
+
+ const getAssetIcon = async (params: { asset_id: string }) => {
+ const { data } = await api.get(`/v1/asset/${params.asset_id}/icon`);
+ return data;
+ };
+
+ const getAssetTxs = async (params: {
+ asset_id: string;
+ is_mempool: boolean;
+ }) => {
+ const paramsMempools = params.is_mempool === true ? '/mempool' : '/chain';
+ const { data } = await api.get(
+ `/asset/${params.asset_id}/txs${paramsMempools}`
+ );
+ return data;
+ };
+
+ const getAssetSupply = async (params: {
+ asset_id: string;
+ decimal: boolean;
+ }) => {
+ const paramDecimal = params.decimal === true ? '/decimal' : '';
+ const { data } = await api.get(
+ `/asset/${params.asset_id}/supply${paramDecimal}`
+ );
+ return data;
+ };
+
+ const getAssetsIcons = async () => {
+ const { data } = await api.get(`/v1/assets/icons`);
+ return data;
+ };
+
+ return {
+ getAsset,
+ getAssetIcon,
+ getAssetTxs,
+ getAssetSupply,
+ getAssetsIcons,
+ };
+};
diff --git a/mempool.js/src/app/liquid/blocks.ts b/mempool.js/src/app/liquid/blocks.ts
new file mode 100644
index 000000000..3b208bdaf
--- /dev/null
+++ b/mempool.js/src/app/liquid/blocks.ts
@@ -0,0 +1,79 @@
+import { AxiosInstance } from 'axios';
+import {
+ Block,
+ BlockStatus,
+ BlockLiquidInstance,
+} from '../../interfaces/liquid/block';
+import { Tx } from '../../interfaces/bitcoin/transactions';
+
+export const useBlocks = (api: AxiosInstance): BlockLiquidInstance => {
+ const getBlock = async (params: { hash: string }) => {
+ const { data } = await api.get(`/block/${params.hash}`);
+ return data;
+ };
+
+ const getBlockStatus = async (params: { hash: string }) => {
+ const { data } = await api.get(`/block/${params.hash}/status`);
+ return data;
+ };
+
+ const getBlockTxs = async (params: {
+ hash: string;
+ start_index?: number;
+ }) => {
+ const { data } = await api.get(
+ `/block/${params.hash}/txs/${params.start_index}`
+ );
+ return data;
+ };
+
+ const getBlockTxids = async (params: { hash: string }) => {
+ const { data } = await api.get(`/block/${params.hash}/txids`);
+ return data;
+ };
+
+ const getBlockTxid = async (params: { hash: string; index: number }) => {
+ const { data } = await api.get(
+ `/block/${params.hash}/txid/${params.index}`
+ );
+ return data;
+ };
+
+ const getBlockRaw = async (params: { hash: string }) => {
+ const { data } = await api.get(`/block/${params.hash}/raw`);
+ return data;
+ };
+
+ const getBlockHeight = async (params: { height: number }) => {
+ const { data } = await api.get(`/block-height/${params.height}`);
+ return data;
+ };
+
+ const getBlocks = async (params: { start_height?: number }) => {
+ const { data } = await api.get(`/blocks/${params.start_height}`);
+ return data;
+ };
+
+ const getBlocksTipHeight = async () => {
+ const { data } = await api.get(`/blocks/tip/height`);
+ return data;
+ };
+
+ const getBlocksTipHash = async () => {
+ const { data } = await api.get(`/blocks/tip/hash`);
+ return data;
+ };
+
+ return {
+ getBlock,
+ getBlocks,
+ getBlockStatus,
+ getBlockTxs,
+ getBlockTxid,
+ getBlockTxids,
+ getBlockRaw,
+ getBlockHeight,
+ getBlocksTipHash,
+ getBlocksTipHeight,
+ };
+};
diff --git a/mempool.js/src/app/liquid/fees.ts b/mempool.js/src/app/liquid/fees.ts
new file mode 100644
index 000000000..c4146d30a
--- /dev/null
+++ b/mempool.js/src/app/liquid/fees.ts
@@ -0,0 +1,33 @@
+import { AxiosInstance } from 'axios';
+import {
+ FeesRecommended,
+ FeesMempoolBlocks,
+ FeeInstance,
+} from '../../interfaces/bitcoin/fees';
+
+export const useFees = (api: AxiosInstance): FeeInstance => {
+ const getFeesRecommended = async () => {
+ const { data } = await api.get(`/v1/fees/recommended`);
+ return data;
+ };
+
+ const getFeesMempoolBlocks = async () => {
+ const { data } = await api.get(
+ `/v1/fees/mempool-blocks`
+ );
+ return data;
+ };
+
+ const getCPFP = async (params: { txid: string }) => {
+ const { data } = await api.get(
+ `/v1/cpfp/${params.txid}`
+ );
+ return data;
+ };
+
+ return {
+ getFeesRecommended,
+ getFeesMempoolBlocks,
+ getCPFP,
+ };
+};
diff --git a/mempool.js/src/app/liquid/mempool.ts b/mempool.js/src/app/liquid/mempool.ts
new file mode 100644
index 000000000..8a64a8f23
--- /dev/null
+++ b/mempool.js/src/app/liquid/mempool.ts
@@ -0,0 +1,29 @@
+import { AxiosInstance } from 'axios';
+import {
+ Mempool,
+ MempoolRecent,
+ MempoolInstance,
+} from '../../interfaces/bitcoin/mempool';
+
+export const useMempool = (api: AxiosInstance): MempoolInstance => {
+ const getMempool = async () => {
+ const { data } = await api.get(`/mempool`);
+ return data;
+ };
+
+ const getMempoolTxids = async () => {
+ const { data } = await api.get(`/mempool/txids`);
+ return data;
+ };
+
+ const getMempoolRecent = async () => {
+ const { data } = await api.get(`/mempool/recent`);
+ return data;
+ };
+
+ return {
+ getMempool,
+ getMempoolTxids,
+ getMempoolRecent,
+ };
+};
diff --git a/mempool.js/src/app/liquid/transactions.ts b/mempool.js/src/app/liquid/transactions.ts
new file mode 100644
index 000000000..4c377b1c2
--- /dev/null
+++ b/mempool.js/src/app/liquid/transactions.ts
@@ -0,0 +1,75 @@
+import { AxiosInstance } from 'axios';
+import {
+ Tx,
+ TxStatus,
+ TxMerkleProof,
+ TxOutspend,
+ TxInstance,
+} from '../../interfaces/bitcoin/transactions';
+
+export const useTransactions = (api: AxiosInstance): TxInstance => {
+ const getTx = async (params: { txid: string }) => {
+ const { data } = await api.get(`/tx/${params.txid}`);
+ return data;
+ };
+
+ const getTxStatus = async (params: { txid: string }) => {
+ const { data } = await api.get(`/tx/${params.txid}/status`);
+ return data;
+ };
+
+ const getTxHex = async (params: { txid: string }) => {
+ const { data } = await api.get(`/tx/${params.txid}/hex`);
+ return data;
+ };
+
+ const getTxRaw = async (params: { txid: string }) => {
+ const { data } = await api.get(`/tx/${params.txid}/raw`);
+ return data;
+ };
+
+ const getTxMerkleBlockProof = async (params: { txid: string }) => {
+ const { data } = await api.get(
+ `/tx/${params.txid}/merkleblock-proof`
+ );
+ return data;
+ };
+
+ const getTxMerkleProof = async (params: { txid: string }) => {
+ const { data } = await api.get>(
+ `/tx/${params.txid}/merkle-proof`
+ );
+ return data;
+ };
+
+ const getTxOutspend = async (params: { txid: string; vout: number }) => {
+ const { data } = await api.get(
+ `/tx/${params.txid}/outspend/${params.vout}`
+ );
+ return data;
+ };
+
+ const getTxOutspends = async (params: { txid: string }) => {
+ const { data } = await api.get>(
+ `/tx/${params.txid}/outspends`
+ );
+ return data;
+ };
+
+ const postTx = async (params: { txhex: string }) => {
+ const { data } = await api.post(`/tx`, { txid: params.txhex });
+ return data;
+ };
+
+ return {
+ getTx,
+ getTxStatus,
+ getTxHex,
+ getTxRaw,
+ getTxMerkleBlockProof,
+ getTxMerkleProof,
+ getTxOutspend,
+ getTxOutspends,
+ postTx,
+ };
+};
diff --git a/mempool.js/src/app/liquid/websocket.ts b/mempool.js/src/app/liquid/websocket.ts
new file mode 100644
index 000000000..ac9d9e7d1
--- /dev/null
+++ b/mempool.js/src/app/liquid/websocket.ts
@@ -0,0 +1,14 @@
+import { WsInterface, WsInstance } from '../../interfaces/bitcoin/websockets';
+import wsClient from '../../services/ws/client';
+import wsServer from '../../services/ws/server';
+
+export const useWebsocket = (hostname: string): WsInstance => {
+
+ const wsEndpoint = `wss://${hostname}/liquid/api/v1/ws`;
+ return {
+ initClient: ({ options }: WsInterface) =>
+ wsClient(options, wsEndpoint),
+ initServer: ({ options }: WsInterface) =>
+ wsServer(options, wsEndpoint),
+ };
+};
diff --git a/mempool.js/src/index-bisq.ts b/mempool.js/src/index-bisq.ts
new file mode 100644
index 000000000..e73fe5b57
--- /dev/null
+++ b/mempool.js/src/index-bisq.ts
@@ -0,0 +1,33 @@
+import { MempoolConfig, BisqMarketsReturn } from './interfaces/index';
+import { makeBisqAPI, makeBisqMarketsAPI } from './services/api/index';
+
+import { useAddresses as useAddressesBisq } from './app/bisq/addresses';
+import { useBlocks as useBlocksBisq } from './app/bisq/blocks';
+import { useStatistics as useStatisticsBisq } from './app/bisq/statistics';
+import { useTransactions as useTransactionsBisq } from './app/bisq/transactions';
+import { useMarkets as useMarkets } from './app/bisq/markets';
+
+const hostnameEndpointDefault = 'bisq.market';
+const networkEndpointDefault = 'bisq';
+
+const mempool = ({ hostname, network }: MempoolConfig = {
+ hostname: hostnameEndpointDefault,
+ network: networkEndpointDefault,
+ }): BisqMarketsReturn => {
+ if (!hostname) hostname = hostnameEndpointDefault;
+ if (!network) network = networkEndpointDefault;
+
+ const { api: apiBisq } = makeBisqAPI(hostname);
+ const { api: apiBisqMarkets } = makeBisqMarketsAPI();
+
+ return {
+ statistics: useStatisticsBisq(apiBisq),
+ addresses: useAddressesBisq(apiBisq),
+ blocks: useBlocksBisq(apiBisq),
+ transactions: useTransactionsBisq(apiBisq),
+ markets: useMarkets(apiBisqMarkets),
+ };
+};
+
+mempool.default = mempool;
+export = mempool;
diff --git a/mempool.js/src/index-liquid.ts b/mempool.js/src/index-liquid.ts
new file mode 100644
index 000000000..953507455
--- /dev/null
+++ b/mempool.js/src/index-liquid.ts
@@ -0,0 +1,41 @@
+import { MempoolConfig, LiquidNetworkReturn } from './interfaces/index';
+import {
+ makeLiquidAPI,
+} from './services/api/index';
+
+import { useAssets as useAssetsLiquid } from './app/liquid/assets';
+import { useAddresses as useAddressesLiquid } from './app/liquid/addresses';
+import { useBlocks as useBlocksLiquid } from './app/liquid/blocks';
+import { useFees as useFeesLiquid } from './app/liquid/fees';
+import { useMempool as useMempoolLiquid } from './app/liquid/mempool';
+import { useTransactions as useTransactionsLiquid } from './app/liquid/transactions';
+import { useWebsocket as useWebsocketLiquid } from './app/liquid/websocket';
+
+const hostnameEndpointDefault = 'liquid.network';
+const networkEndpointDefault = 'liquid';
+
+const mempool = (
+ {
+ hostname, network }: MempoolConfig = {
+ hostname: hostnameEndpointDefault,
+ network: networkEndpointDefault,
+ }
+): LiquidNetworkReturn => {
+ if (!hostname) hostname = hostnameEndpointDefault;
+ if (!network) network = networkEndpointDefault;
+
+ const { api: apiLiquid } = makeLiquidAPI(hostname);
+
+ return {
+ addresses: useAddressesLiquid(apiLiquid),
+ assets: useAssetsLiquid(apiLiquid),
+ blocks: useBlocksLiquid(apiLiquid),
+ fees: useFeesLiquid(apiLiquid),
+ mempool: useMempoolLiquid(apiLiquid),
+ transactions: useTransactionsLiquid(apiLiquid),
+ websocket: useWebsocketLiquid(hostname),
+ };
+};
+
+mempool.default = mempool;
+export = mempool;
diff --git a/mempool.js/src/index.ts b/mempool.js/src/index.ts
new file mode 100644
index 000000000..39d950bd9
--- /dev/null
+++ b/mempool.js/src/index.ts
@@ -0,0 +1,77 @@
+import { MempoolConfig, MempoolReturn } from './interfaces/index';
+import {
+ makeBitcoinAPI,
+ makeBisqAPI,
+ makeLiquidAPI,
+ makeBisqMarketsAPI
+} from './services/api/index';
+
+import { useAddresses } from './app/bitcoin/addresses';
+import { useBlocks } from './app/bitcoin/blocks';
+import { useDifficulty } from './app/bitcoin/difficulty';
+import { useFees } from './app/bitcoin/fees';
+import { useMempool } from './app/bitcoin/mempool';
+import { useTransactions } from './app/bitcoin/transactions';
+import { useWebsocket } from './app/bitcoin/websocket';
+
+import { useAddresses as useAddressesBisq } from './app/bisq/addresses';
+import { useBlocks as useBlocksBisq } from './app/bisq/blocks';
+import { useStatistics as useStatisticsBisq } from './app/bisq/statistics';
+import { useTransactions as useTransactionsBisq } from './app/bisq/transactions';
+import { useMarkets as useMarkets } from './app/bisq/markets';
+
+import { useAssets as useAssetsLiquid } from './app/liquid/assets';
+import { useAddresses as useAddressesLiquid } from './app/liquid/addresses';
+import { useBlocks as useBlocksLiquid } from './app/liquid/blocks';
+import { useFees as useFeesLiquid } from './app/liquid/fees';
+import { useMempool as useMempoolLiquid } from './app/liquid/mempool';
+import { useTransactions as useTransactionsLiquid } from './app/liquid/transactions';
+import { useWebsocket as useWebsocketLiquid } from './app/liquid/websocket';
+
+const hostnameEndpointDefault = 'mempool.space';
+const networkEndpointDefault = 'main';
+
+const mempool = (
+ { hostname, network }: MempoolConfig = {
+ hostname: hostnameEndpointDefault,
+ network: networkEndpointDefault,
+ }
+): MempoolReturn => {
+ if (!hostname) hostname = hostnameEndpointDefault;
+ if (!network) network = networkEndpointDefault;
+
+ const { api: apiBitcoin } = makeBitcoinAPI({ hostname, network });
+ const { api: apiBisq } = makeBisqAPI(hostname);
+ const { api: apiBisqMarkets } = makeBisqMarketsAPI();
+ const { api: apiLiquid } = makeLiquidAPI(hostname);
+ return {
+ bitcoin: {
+ addresses: useAddresses(apiBitcoin),
+ blocks: useBlocks(apiBitcoin),
+ difficulty: useDifficulty(apiBitcoin),
+ fees: useFees(apiBitcoin),
+ mempool: useMempool(apiBitcoin),
+ transactions: useTransactions(apiBitcoin),
+ websocket: useWebsocket(hostname, network),
+ },
+ bisq: {
+ statistics: useStatisticsBisq(apiBisq),
+ addresses: useAddressesBisq(apiBisq),
+ blocks: useBlocksBisq(apiBisq),
+ transactions: useTransactionsBisq(apiBisq),
+ markets: useMarkets(apiBisqMarkets),
+ },
+ liquid: {
+ addresses: useAddressesLiquid(apiLiquid),
+ assets: useAssetsLiquid(apiLiquid),
+ blocks: useBlocksLiquid(apiLiquid),
+ fees: useFeesLiquid(apiLiquid),
+ mempool: useMempoolLiquid(apiLiquid),
+ transactions: useTransactionsLiquid(apiLiquid),
+ websocket: useWebsocketLiquid(hostname),
+ },
+ };
+};
+
+mempool.default = mempool;
+export = mempool;
diff --git a/mempool.js/src/interfaces/bisq/addresses.ts b/mempool.js/src/interfaces/bisq/addresses.ts
new file mode 100644
index 000000000..f139827e2
--- /dev/null
+++ b/mempool.js/src/interfaces/bisq/addresses.ts
@@ -0,0 +1,13 @@
+import { Tx } from './transactions';
+
+export interface Address {
+ height: number;
+ time: number;
+ hash: string;
+ previousBlockHash: string;
+ txs: Tx[];
+}
+
+export interface AddressesInstance {
+ getAddress: (params: { address: string }) => Promise;
+}
diff --git a/mempool.js/src/interfaces/bisq/blocks.ts b/mempool.js/src/interfaces/bisq/blocks.ts
new file mode 100644
index 000000000..c2e647310
--- /dev/null
+++ b/mempool.js/src/interfaces/bisq/blocks.ts
@@ -0,0 +1,18 @@
+import { Tx } from './transactions';
+
+export interface Block {
+ height: number;
+ time: number;
+ hash: string;
+ previousBlockHash: string;
+ txs: Tx[];
+}
+
+export interface BlocksInstance {
+ getBlock: (params: { hash: string }) => Promise;
+ getBlocks: (params: { index: number; length: number }) => Promise;
+ getBlocksTipHeight: (params: {
+ index: number;
+ length: number;
+ }) => Promise;
+}
diff --git a/mempool.js/src/interfaces/bisq/markets.ts b/mempool.js/src/interfaces/bisq/markets.ts
new file mode 100644
index 000000000..c6705f6f5
--- /dev/null
+++ b/mempool.js/src/interfaces/bisq/markets.ts
@@ -0,0 +1,170 @@
+export interface Currencies {
+ [key: string]: {
+ code: string;
+ name: string;
+ precision: number;
+ _type: string;
+ };
+}
+
+export interface Depth {
+ [key: string]: {
+ buys: string[];
+ sells: string[];
+ };
+}
+
+export interface Hloc {
+ period_start: number;
+ open: string;
+ close: string;
+ high: string;
+ low: string;
+ avg: string;
+ volume_right: string;
+ volume_left: string;
+}
+
+export interface Markets {
+ [key: string]: {
+ pair: string;
+ lname: string;
+ rname: string;
+ lsymbol: string;
+ rsymbol: string;
+ lprecision: number;
+ rprecision: number;
+ ltype: string;
+ rtype: string;
+ name: string;
+ };
+}
+
+export interface Offers {
+ [key: string]: {
+ buys: {
+ offer_id: string;
+ offer_date: number;
+ direction: string;
+ min_amount: string;
+ amount: string;
+ price: string;
+ volume: string;
+ payment_method: string;
+ offer_fee_txid: string;
+ }[];
+ sells: {
+ offer_id: string;
+ offer_date: number;
+ direction: string;
+ min_amount: string;
+ amount: string;
+ price: string;
+ volume: string;
+ payment_method: string;
+ offer_fee_txid: string;
+ }[];
+ };
+}
+
+export interface Ticker {
+ [key: string]: {
+ last: string;
+ high: string;
+ low: string;
+ volume_left: number;
+ volume_right: number;
+ buy: string;
+ sell: string;
+ };
+}
+
+export interface Trades {
+ price: string;
+ amount: string;
+ volume: string;
+ payment_method: string;
+ trade_date: number;
+ market: string;
+}
+
+export interface Volumes {
+ price: string;
+ amount: string;
+ volume: string;
+ payment_method: string;
+ trade_date: number;
+}
+
+export interface MarketsInstance {
+ getCurrencies: (
+ params?: {
+ basecurrency?: string;
+ type?: string;
+ format?: string;
+ }
+ ) => Promise;
+
+ getDepth: (
+ params: {
+ market: string;
+ format?: string;
+ }
+ ) => Promise;
+
+ getHloc: (
+ params: {
+ market: string;
+ interval?: string;
+ timestamp_from?: string;
+ timestamp_to?: string;
+ format?: string;
+ }
+ ) => Promise;
+
+ getMarkets: (
+ params?: {
+ format?: string;
+ }
+ ) => Promise;
+
+ getOffers: (
+ params: {
+ market: string;
+ direction?: string;
+ format?: string;
+ }
+ ) => Promise;
+
+ getTicker: (
+ params: {
+ market: string;
+ format?: string;
+ }
+ ) => Promise;
+
+ getTrades: (
+ params: {
+ market: string;
+ format?: string;
+ timestamp_from?: string;
+ timestamp_to?: string;
+ trade_id_from?: string;
+ trade_id_to?: string;
+ limit?: number;
+ sort?: string;
+ }
+ ) => Promise;
+
+ getVolumes: (
+ params: {
+ basecurrency: string;
+ market: string;
+ interval?: string;
+ timestamp_from?: string;
+ timestamp_to?: string;
+ format?: string;
+ }
+ ) => Promise;
+
+}
diff --git a/mempool.js/src/interfaces/bisq/statistics.ts b/mempool.js/src/interfaces/bisq/statistics.ts
new file mode 100644
index 000000000..d595fa637
--- /dev/null
+++ b/mempool.js/src/interfaces/bisq/statistics.ts
@@ -0,0 +1,11 @@
+export interface Stats {
+ address: number;
+ minted: number;
+ burnt: number;
+ spent_txos: number;
+ unspent_txos: number;
+}
+
+export interface StatsInstance {
+ getStats: () => Promise;
+}
diff --git a/mempool.js/src/interfaces/bisq/transactions.ts b/mempool.js/src/interfaces/bisq/transactions.ts
new file mode 100644
index 000000000..1d2664f9d
--- /dev/null
+++ b/mempool.js/src/interfaces/bisq/transactions.ts
@@ -0,0 +1,46 @@
+export interface Tx {
+ txVersion: string;
+ id: string;
+ blockHeight: number;
+ blockHash: string;
+ time: number;
+ inputs: [];
+ outputs: [
+ {
+ txVersion: string;
+ txId: string;
+ index: number;
+ bsqAmount: number;
+ btcAmount: number;
+ height: number;
+ isVerified: true;
+ burntFee: number;
+ invalidatedBsq: number;
+ address: string;
+ scriptPubKey: {
+ addresses: [string];
+ asm: string;
+ hex: string;
+ reqSigs: number;
+ type: string;
+ };
+ time: number;
+ txType: string;
+ txTypeDisplayString: string;
+ txOutputType: string;
+ txOutputTypeDisplayString: string;
+ lockTime: number;
+ isUnspent: true;
+ }
+ ];
+ txType: string;
+ txTypeDisplayString: string;
+ burntFee: number;
+ invalidatedBsq: number;
+ unlockBlockHeight: number;
+}
+
+export interface TransactionsInstance {
+ getTx: (params: { txid: string }) => Promise;
+ getTxs: (params: { index: number; length: number }) => Promise;
+}
diff --git a/mempool.js/src/interfaces/bitcoin/addresses.ts b/mempool.js/src/interfaces/bitcoin/addresses.ts
new file mode 100644
index 000000000..38bd34548
--- /dev/null
+++ b/mempool.js/src/interfaces/bitcoin/addresses.ts
@@ -0,0 +1,30 @@
+import { Tx, TxStatus } from './transactions';
+
+export interface Address {
+ address: string;
+ chain_stats: StatsInfo;
+ mempool_stats: StatsInfo;
+}
+
+export interface StatsInfo {
+ funded_txo_count: number;
+ funded_txo_sum: number;
+ spent_txo_count: number;
+ spent_txo_sum: number;
+ tx_count: number;
+}
+
+export interface AddressTxsUtxo {
+ txid: string;
+ vout: number;
+ status: TxStatus;
+ value: number;
+}
+
+export interface AddressInstance {
+ getAddress: (params: { address: string }) => Promise;
+ getAddressTxs: (params: { address: string }) => Promise;
+ getAddressTxsChain: (params: { address: string }) => Promise;
+ getAddressTxsMempool: (params: { address: string }) => Promise;
+ getAddressTxsUtxo: (params: { address: string }) => Promise;
+}
diff --git a/mempool.js/src/interfaces/bitcoin/blocks.ts b/mempool.js/src/interfaces/bitcoin/blocks.ts
new file mode 100644
index 000000000..f468b7559
--- /dev/null
+++ b/mempool.js/src/interfaces/bitcoin/blocks.ts
@@ -0,0 +1,37 @@
+import { Tx } from './transactions';
+
+export interface Block {
+ id: string;
+ height: number;
+ version: number;
+ timestamp: number;
+ tx_count: number;
+ size: number;
+ weight: number;
+ merkle_root: string;
+ previousblockhash: string;
+ mediantime: number;
+ nonce: number;
+ bits: number;
+ difficulty: number;
+}
+
+export interface BlockStatus {
+ in_best_chain: boolean;
+ height: number;
+ next_best: string;
+}
+
+export interface BlockInstance {
+ getBlock: (params: { hash: string }) => Promise;
+ getBlocks: (params: { start_height?: number }) => Promise;
+ getBlockStatus: (params: { hash: string }) => Promise;
+ getBlockTxs: (params: { hash: string; start_index?: number }) => Promise;
+ getBlockTxids: (params: { hash: string }) => Promise;
+ getBlockTxid: (params: { hash: string; index: number }) => Promise;
+ getBlockRaw: (params: { hash: string }) => Promise;
+ getBlockHeader: (params: { hash: string }) => Promise;
+ getBlockHeight: (params: { height: number }) => Promise;
+ getBlocksTipHeight: () => Promise;
+ getBlocksTipHash: () => Promise;
+}
diff --git a/mempool.js/src/interfaces/bitcoin/difficulty.ts b/mempool.js/src/interfaces/bitcoin/difficulty.ts
new file mode 100644
index 000000000..d248ce817
--- /dev/null
+++ b/mempool.js/src/interfaces/bitcoin/difficulty.ts
@@ -0,0 +1,13 @@
+
+export interface Adjustment {
+ progressPercent: number,
+ difficultyChange: number,
+ estimatedRetargetDate: number,
+ remainingBlocks: number,
+ remainingTime: number,
+ previousRetarget: number,
+}
+
+export interface DifficultyInstance {
+ getDifficultyAdjustment: () => Promise;
+}
diff --git a/mempool.js/src/interfaces/bitcoin/fees.ts b/mempool.js/src/interfaces/bitcoin/fees.ts
new file mode 100644
index 000000000..26b8d444e
--- /dev/null
+++ b/mempool.js/src/interfaces/bitcoin/fees.ts
@@ -0,0 +1,21 @@
+export interface FeesMempoolBlocks {
+ blockSize: number;
+ blockVSize: number;
+ nTx: number;
+ totalFees: number;
+ medianFee: number;
+ feeRange: number[];
+}
+
+export interface FeesRecommended {
+ fastestFee: number;
+ halfHourFee: number;
+ hourFee: number;
+ minimumFee: number;
+}
+
+export interface FeeInstance {
+ getFeesRecommended: () => Promise;
+ getFeesMempoolBlocks: () => Promise;
+ getCPFP: (params: { txid: string }) => Promise;
+}
diff --git a/mempool.js/src/interfaces/bitcoin/mempool.ts b/mempool.js/src/interfaces/bitcoin/mempool.ts
new file mode 100644
index 000000000..a25398f00
--- /dev/null
+++ b/mempool.js/src/interfaces/bitcoin/mempool.ts
@@ -0,0 +1,19 @@
+export interface Mempool {
+ count: number;
+ vsize: number;
+ total_fee: number;
+ fee_histogram: number[];
+}
+
+export interface MempoolInstance {
+ getMempool: () => Promise;
+ getMempoolTxids: () => Promise;
+ getMempoolRecent: () => Promise;
+}
+
+export interface MempoolRecent {
+ txid: string;
+ fee: number;
+ vsize: number;
+ value: number;
+}
diff --git a/mempool.js/src/interfaces/bitcoin/transactions.ts b/mempool.js/src/interfaces/bitcoin/transactions.ts
new file mode 100644
index 000000000..1b4846d39
--- /dev/null
+++ b/mempool.js/src/interfaces/bitcoin/transactions.ts
@@ -0,0 +1,62 @@
+export interface Tx {
+ txid: string;
+ version: number;
+ locktime: number;
+ vin: {
+ txid: string;
+ vout: number;
+ prevout: Vout;
+ scriptsig: string;
+ scriptsig_asm: string;
+ is_coinbase: boolean;
+ sequence: string;
+ }[];
+ vout: Vout[];
+ size: number;
+ weight: number;
+ fee: number;
+ status: TxStatus;
+}
+
+export interface Vout {
+ scriptpubkey: string;
+ scriptpubkey_asm: string;
+ scriptpubkey_type: string;
+ scriptpubkey_address: string;
+ value: number;
+}
+
+export interface TxStatus {
+ confirmed: boolean;
+ block_height: number;
+ block_hash: string;
+ block_time: number;
+}
+
+export interface TxMerkleProof {
+ block_height: number;
+ merkle: string[];
+ pos: number;
+}
+
+export interface TxOutspend {
+ spent: boolean;
+ txid: string;
+ vin: number;
+ status: TxStatus;
+}
+
+export interface TxInstance {
+ getTx: (params: { txid: string }) => Promise;
+ getTxStatus: (params: { txid: string }) => Promise;
+ getTxHex: (params: { txid: string }) => Promise;
+ getTxRaw: (params: { txid: string }) => Promise;
+ getTxMerkleBlockProof: (params: { txid: string }) => Promise;
+ getTxMerkleProof: (params: { txid: string }) => Promise>;
+ getTxOutspend: (params: {
+ txid: string;
+ vout: number;
+ }) => Promise;
+ getTxOutspends: (params: { txid: string }) => Promise>;
+ postTx: (params: { txhex: string }) => Promise;
+}
diff --git a/mempool.js/src/interfaces/bitcoin/websockets.ts b/mempool.js/src/interfaces/bitcoin/websockets.ts
new file mode 100644
index 000000000..63f93c8bb
--- /dev/null
+++ b/mempool.js/src/interfaces/bitcoin/websockets.ts
@@ -0,0 +1,10 @@
+export interface WsInterface {
+ options: string[];
+}
+
+import WebSocketServer from 'ws';
+
+export interface WsInstance {
+ initClient: ({ options }: WsInterface) => WebSocket;
+ initServer: ({ options }: WsInterface) => WebSocketServer;
+}
diff --git a/mempool.js/src/interfaces/index.ts b/mempool.js/src/interfaces/index.ts
new file mode 100644
index 000000000..191a3f422
--- /dev/null
+++ b/mempool.js/src/interfaces/index.ts
@@ -0,0 +1,64 @@
+import { AddressInstance } from './bitcoin/addresses';
+import { BlockInstance } from './bitcoin/blocks';
+import { DifficultyInstance } from './bitcoin/difficulty';
+import { FeeInstance } from './bitcoin/fees';
+import { MempoolInstance } from './bitcoin/mempool';
+import { TxInstance } from './bitcoin/transactions';
+import { WsInstance } from './bitcoin/websockets';
+
+import { AddressesInstance } from './bisq/addresses';
+import { BlocksInstance } from './bisq/blocks';
+import { StatsInstance } from './bisq/statistics';
+import { TransactionsInstance } from './bisq/transactions';
+import { MarketsInstance } from './bisq/markets';
+
+import { AssetsInstance } from './liquid/assets';
+import { BlockLiquidInstance } from './liquid/block';
+export interface MempoolConfig {
+ hostname?: string;
+ network?: string;
+}
+
+export interface MempoolReturn {
+ bitcoin: {
+ addresses: AddressInstance;
+ blocks: BlockInstance;
+ difficulty: DifficultyInstance;
+ fees: FeeInstance;
+ mempool: MempoolInstance;
+ transactions: TxInstance;
+ websocket: WsInstance;
+ };
+ bisq: {
+ addresses: AddressesInstance;
+ blocks: BlocksInstance;
+ statistics: StatsInstance;
+ transactions: TransactionsInstance;
+ markets: MarketsInstance;
+ };
+ liquid: {
+ assets: AssetsInstance;
+ addresses: AddressInstance;
+ blocks: BlockLiquidInstance;
+ fees: FeeInstance;
+ mempool: MempoolInstance;
+ transactions: TxInstance;
+ websocket: WsInstance;
+ };
+}
+export interface BisqMarketsReturn {
+ addresses: AddressesInstance;
+ blocks: BlocksInstance;
+ statistics: StatsInstance;
+ transactions: TransactionsInstance;
+ markets: MarketsInstance;
+}
+export interface LiquidNetworkReturn {
+ assets: AssetsInstance;
+ addresses: AddressInstance;
+ blocks: BlockLiquidInstance;
+ fees: FeeInstance;
+ mempool: MempoolInstance;
+ transactions: TxInstance;
+ websocket: WsInstance;
+}
\ No newline at end of file
diff --git a/mempool.js/src/interfaces/liquid/assets.ts b/mempool.js/src/interfaces/liquid/assets.ts
new file mode 100644
index 000000000..93a623189
--- /dev/null
+++ b/mempool.js/src/interfaces/liquid/assets.ts
@@ -0,0 +1,29 @@
+export interface Asset {
+ asset_id: string;
+ chain_stats: AssetStats;
+ mempool_stats: AssetStats;
+}
+
+interface AssetStats {
+ tx_count: number;
+ peg_in_count: number;
+ peg_in_amount: number;
+ peg_out_count: number;
+ peg_out_amount: number;
+ burn_count: number;
+ burned_amount: number;
+}
+
+export interface AssetsInstance {
+ getAsset: (params: { asset_id: string }) => Promise;
+ getAssetIcon: (params: { asset_id: string }) => Promise;
+ getAssetTxs: (params: {
+ asset_id: string;
+ is_mempool: boolean;
+ }) => Promise;
+ getAssetSupply: (params: {
+ asset_id: string;
+ decimal: boolean;
+ }) => Promise;
+ getAssetsIcons: () => Promise
+}
diff --git a/mempool.js/src/interfaces/liquid/block.ts b/mempool.js/src/interfaces/liquid/block.ts
new file mode 100644
index 000000000..3bfe79c31
--- /dev/null
+++ b/mempool.js/src/interfaces/liquid/block.ts
@@ -0,0 +1,36 @@
+import { Tx } from '../bitcoin/transactions';
+
+export interface Block {
+ id: string;
+ height: number;
+ version: number;
+ timestamp: number;
+ tx_count: number;
+ size: number;
+ weight: number;
+ merkle_root: string;
+ previousblockhash: string;
+ mediantime: number;
+ nonce: number;
+ bits: number;
+ difficulty: number;
+}
+
+export interface BlockStatus {
+ in_best_chain: boolean;
+ height: number;
+ next_best: string;
+}
+
+export interface BlockLiquidInstance {
+ getBlock: (params: { hash: string }) => Promise;
+ getBlocks: (params: { start_height?: number }) => Promise;
+ getBlockStatus: (params: { hash: string }) => Promise;
+ getBlockTxs: (params: { hash: string; start_index?: number }) => Promise;
+ getBlockTxids: (params: { hash: string }) => Promise;
+ getBlockTxid: (params: { hash: string; index: number }) => Promise;
+ getBlockRaw: (params: { hash: string }) => Promise;
+ getBlockHeight: (params: { height: number }) => Promise;
+ getBlocksTipHeight: () => Promise;
+ getBlocksTipHash: () => Promise;
+}
diff --git a/mempool.js/src/services/api/index.ts b/mempool.js/src/services/api/index.ts
new file mode 100644
index 000000000..8bfc110e1
--- /dev/null
+++ b/mempool.js/src/services/api/index.ts
@@ -0,0 +1,83 @@
+import axios, { AxiosInstance } from 'axios';
+import { MempoolConfig } from './../../interfaces/index';
+
+export const makeBitcoinAPI = ({
+ hostname,
+ network,
+}: MempoolConfig): { api: AxiosInstance } => {
+ if (network && ['testnet', 'signet'].includes(network)) {
+ network = `/${network}`;
+ } else {
+ network = '';
+ }
+
+ if(hostname?.includes("localhost")){
+ const api = axios.create({
+ baseURL: `http://${hostname}${network}/api/`,
+ });
+ return {
+ api,
+ };
+ }
+
+ const api = axios.create({
+ baseURL: `https://${hostname}${network}/api/`,
+ });
+ return {
+ api,
+ };
+};
+
+export const makeBisqAPI = (hostname?: string): { api: AxiosInstance } => {
+
+ if(hostname?.includes("localhost")){
+ const api = axios.create({
+ baseURL: `http://${hostname}/bisq/api/`,
+ });
+ return {
+ api,
+ };
+ }
+
+ const api = axios.create({
+ baseURL: `https://${hostname}/bisq/api/`,
+ });
+ return {
+ api,
+ };
+};
+
+export const makeBisqMarketsAPI = (): { api: AxiosInstance } => {
+ const api = axios.create({
+ baseURL: `https://bisq.markets/api/v1/markets/`,
+ });
+ return {
+ api,
+ };
+};
+
+export const makeLiquidAPI = (hostname?: string): { api: AxiosInstance } => {
+
+ if(hostname?.includes("localhost")){
+ const api = axios.create({
+ baseURL: `http://${hostname}/liquid/api/`,
+ });
+ return {
+ api,
+ };
+ }
+
+ const api = axios.create({
+ baseURL: `https://${hostname}/liquid/api/`,
+ });
+ return {
+ api,
+ };
+};
+
+export default {
+ makeBitcoinAPI,
+ makeBisqAPI,
+ makeBisqMarketsAPI,
+ makeLiquidAPI,
+};
diff --git a/mempool.js/src/services/ws/client.ts b/mempool.js/src/services/ws/client.ts
new file mode 100644
index 000000000..a74c9a967
--- /dev/null
+++ b/mempool.js/src/services/ws/client.ts
@@ -0,0 +1,25 @@
+const serverWS = (
+ options: string[],
+ endpoint: string,
+): WebSocket => {
+ const ws = new WebSocket(endpoint);
+
+ ws.addEventListener("open", function open() {
+ ws.send(JSON.stringify({ action: "want", data: options }));
+ });
+
+ ws.addEventListener("close", async function close() {
+ await sleep(60000);
+ serverWS(options, endpoint);
+ });
+ return ws;
+}
+
+const sleep = (ms: number) => {
+ return new Promise((resolve) => {
+ setTimeout(resolve, ms);
+ });
+};
+
+export default serverWS;
+
diff --git a/mempool.js/src/services/ws/server.ts b/mempool.js/src/services/ws/server.ts
new file mode 100644
index 000000000..5976be661
--- /dev/null
+++ b/mempool.js/src/services/ws/server.ts
@@ -0,0 +1,31 @@
+import WebSocket from 'ws';
+
+const serverWS = (
+ options: string[],
+ endpoint: string,
+): WebSocket => {
+ const ws = new WebSocket(endpoint);
+ const interval = setInterval(function ping() {
+ ws.ping();
+ }, 30000);
+
+ ws.on("open", function open() {
+ ws.send(JSON.stringify({ action: "want", data: options }));
+ });
+
+ ws.on("close", async function close() {
+ clearInterval(interval);
+ ws.terminate();
+ await sleep(60000);
+ serverWS(options, endpoint);
+ });
+ return ws;
+}
+
+const sleep = (ms: number) => {
+ return new Promise((resolve) => {
+ setTimeout(resolve, ms);
+ });
+};
+
+export default serverWS;
diff --git a/mempool.js/tsconfig.json b/mempool.js/tsconfig.json
new file mode 100644
index 000000000..7ec4cb71e
--- /dev/null
+++ b/mempool.js/tsconfig.json
@@ -0,0 +1,14 @@
+{
+ "compilerOptions": {
+ "target": "es5",
+ "module": "commonjs",
+ "lib": ["ES6", "DOM"],
+ "declaration": true,
+ "outDir": "./lib",
+ "rootDir": "./src",
+ "strict": true,
+ "esModuleInterop": true
+ },
+ "include": ["src"],
+ "exclude": ["node_modules", "**/__tests__/*"]
+}
diff --git a/mempool.js/yarn.lock b/mempool.js/yarn.lock
new file mode 100644
index 000000000..38ca36bbe
--- /dev/null
+++ b/mempool.js/yarn.lock
@@ -0,0 +1,3503 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@babel/code-frame@^7.0.0":
+ "integrity" "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g=="
+ "resolved" "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz"
+ "version" "7.12.13"
+ dependencies:
+ "@babel/highlight" "^7.12.13"
+
+"@babel/helper-validator-identifier@^7.12.11":
+ "integrity" "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw=="
+ "resolved" "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz"
+ "version" "7.12.11"
+
+"@babel/highlight@^7.12.13":
+ "integrity" "sha512-kocDQvIbgMKlWxXe9fof3TQ+gkIPOUSEYhJjqUjvKMez3krV7vbzYCDq39Oj11UAVK7JqPVGQPlgE85dPNlQww=="
+ "resolved" "https://registry.npmjs.org/@babel/highlight/-/highlight-7.12.13.tgz"
+ "version" "7.12.13"
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.12.11"
+ "chalk" "^2.0.0"
+ "js-tokens" "^4.0.0"
+
+"@eslint/eslintrc@^0.3.0":
+ "integrity" "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg=="
+ "resolved" "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz"
+ "version" "0.3.0"
+ dependencies:
+ "ajv" "^6.12.4"
+ "debug" "^4.1.1"
+ "espree" "^7.3.0"
+ "globals" "^12.1.0"
+ "ignore" "^4.0.6"
+ "import-fresh" "^3.2.1"
+ "js-yaml" "^3.13.1"
+ "lodash" "^4.17.20"
+ "minimatch" "^3.0.4"
+ "strip-json-comments" "^3.1.1"
+
+"@goto-bus-stop/common-shake@^2.2.0":
+ "integrity" "sha512-LO+7v+UbxE3IyAS4Suf/KYB7Zq9DEIHibwDe6Wph4apNEfDyyxP7BSxzRS/Qa9lUH5gsm9eL9nF8EE1E0/nQkQ=="
+ "resolved" "https://registry.npmjs.org/@goto-bus-stop/common-shake/-/common-shake-2.4.0.tgz"
+ "version" "2.4.0"
+ dependencies:
+ "acorn-walk" "^7.0.0"
+ "debug" "^3.2.6"
+ "escope" "^3.6.0"
+
+"@goto-bus-stop/envify@^5.0.0":
+ "integrity" "sha512-xAnxuDWmwQxO8CgVuPTxKuNsKDfwyXXTyAabG4sNoK59H/ZMC7BHxTA/4ehtinsxbcH7/9L65F5VhyNdQfUyqA=="
+ "resolved" "https://registry.npmjs.org/@goto-bus-stop/envify/-/envify-5.0.0.tgz"
+ "version" "5.0.0"
+ dependencies:
+ "acorn-node" "^2.0.1"
+ "dash-ast" "^2.0.1"
+ "multisplice" "^1.0.0"
+ "through2" "^2.0.5"
+
+"@nodelib/fs.scandir@2.1.4":
+ "integrity" "sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA=="
+ "resolved" "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz"
+ "version" "2.1.4"
+ dependencies:
+ "@nodelib/fs.stat" "2.0.4"
+ "run-parallel" "^1.1.9"
+
+"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.4":
+ "integrity" "sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q=="
+ "resolved" "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz"
+ "version" "2.0.4"
+
+"@nodelib/fs.walk@^1.2.3":
+ "integrity" "sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow=="
+ "resolved" "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz"
+ "version" "1.2.6"
+ dependencies:
+ "@nodelib/fs.scandir" "2.1.4"
+ "fastq" "^1.6.0"
+
+"@sindresorhus/is@^0.14.0":
+ "integrity" "sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ=="
+ "resolved" "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz"
+ "version" "0.14.0"
+
+"@szmarczak/http-timer@^1.1.2":
+ "integrity" "sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA=="
+ "resolved" "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz"
+ "version" "1.1.2"
+ dependencies:
+ "defer-to-connect" "^1.0.1"
+
+"@types/json-schema@^7.0.3":
+ "integrity" "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA=="
+ "resolved" "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz"
+ "version" "7.0.7"
+
+"@types/node@*":
+ "integrity" "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw=="
+ "resolved" "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz"
+ "version" "14.14.37"
+
+"@types/node@^14.14.25":
+ "integrity" "sha512-EPpXLOVqDvisVxtlbvzfyqSsFeQxltFbluZNRndIb8tr9KiBnYNLzrc1N3pyKUCww2RNrfHDViqDWWE1LCJQtQ=="
+ "resolved" "https://registry.npmjs.org/@types/node/-/node-14.14.25.tgz"
+ "version" "14.14.25"
+
+"@types/websocket@^1.0.2":
+ "integrity" "sha512-B5m9aq7cbbD/5/jThEr33nUY8WEfVi6A2YKCTOvw5Ldy7mtsOkqRvGjnzy6g7iMMDsgu7xREuCzqATLDLQVKcQ=="
+ "resolved" "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.2.tgz"
+ "version" "1.0.2"
+ dependencies:
+ "@types/node" "*"
+
+"@types/ws@^7.4.1":
+ "integrity" "sha512-ISCK1iFnR+jYv7+jLNX0wDqesZ/5RAeY3wUx6QaphmocphU61h+b+PHjS18TF4WIPTu/MMzxIq2PHr32o2TS5Q=="
+ "resolved" "https://registry.npmjs.org/@types/ws/-/ws-7.4.1.tgz"
+ "version" "7.4.1"
+ dependencies:
+ "@types/node" "*"
+
+"@typescript-eslint/eslint-plugin@^4.14.2":
+ "integrity" "sha512-uMGfG7GFYK/nYutK/iqYJv6K/Xuog/vrRRZX9aEP4Zv1jsYXuvFUMDFLhUnc8WFv3D2R5QhNQL3VYKmvLS5zsQ=="
+ "resolved" "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.2.tgz"
+ "version" "4.14.2"
+ dependencies:
+ "@typescript-eslint/experimental-utils" "4.14.2"
+ "@typescript-eslint/scope-manager" "4.14.2"
+ "debug" "^4.1.1"
+ "functional-red-black-tree" "^1.0.1"
+ "lodash" "^4.17.15"
+ "regexpp" "^3.0.0"
+ "semver" "^7.3.2"
+ "tsutils" "^3.17.1"
+
+"@typescript-eslint/experimental-utils@4.14.2":
+ "integrity" "sha512-mV9pmET4C2y2WlyHmD+Iun8SAEqkLahHGBkGqDVslHkmoj3VnxnGP4ANlwuxxfq1BsKdl/MPieDbohCEQgKrwA=="
+ "resolved" "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.2.tgz"
+ "version" "4.14.2"
+ dependencies:
+ "@types/json-schema" "^7.0.3"
+ "@typescript-eslint/scope-manager" "4.14.2"
+ "@typescript-eslint/types" "4.14.2"
+ "@typescript-eslint/typescript-estree" "4.14.2"
+ "eslint-scope" "^5.0.0"
+ "eslint-utils" "^2.0.0"
+
+"@typescript-eslint/parser@^4.0.0", "@typescript-eslint/parser@^4.14.2":
+ "integrity" "sha512-ipqSP6EuUsMu3E10EZIApOJgWSpcNXeKZaFeNKQyzqxnQl8eQCbV+TSNsl+s2GViX2d18m1rq3CWgnpOxDPgHg=="
+ "resolved" "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.2.tgz"
+ "version" "4.14.2"
+ dependencies:
+ "@typescript-eslint/scope-manager" "4.14.2"
+ "@typescript-eslint/types" "4.14.2"
+ "@typescript-eslint/typescript-estree" "4.14.2"
+ "debug" "^4.1.1"
+
+"@typescript-eslint/scope-manager@4.14.2":
+ "integrity" "sha512-cuV9wMrzKm6yIuV48aTPfIeqErt5xceTheAgk70N1V4/2Ecj+fhl34iro/vIssJlb7XtzcaD07hWk7Jk0nKghg=="
+ "resolved" "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.2.tgz"
+ "version" "4.14.2"
+ dependencies:
+ "@typescript-eslint/types" "4.14.2"
+ "@typescript-eslint/visitor-keys" "4.14.2"
+
+"@typescript-eslint/types@4.14.2":
+ "integrity" "sha512-LltxawRW6wXy4Gck6ZKlBD05tCHQUj4KLn4iR69IyRiDHX3d3NCAhO+ix5OR2Q+q9bjCrHE/HKt+riZkd1At8Q=="
+ "resolved" "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.2.tgz"
+ "version" "4.14.2"
+
+"@typescript-eslint/typescript-estree@4.14.2":
+ "integrity" "sha512-ESiFl8afXxt1dNj8ENEZT12p+jl9PqRur+Y19m0Z/SPikGL6rqq4e7Me60SU9a2M28uz48/8yct97VQYaGl0Vg=="
+ "resolved" "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.2.tgz"
+ "version" "4.14.2"
+ dependencies:
+ "@typescript-eslint/types" "4.14.2"
+ "@typescript-eslint/visitor-keys" "4.14.2"
+ "debug" "^4.1.1"
+ "globby" "^11.0.1"
+ "is-glob" "^4.0.1"
+ "lodash" "^4.17.15"
+ "semver" "^7.3.2"
+ "tsutils" "^3.17.1"
+
+"@typescript-eslint/visitor-keys@4.14.2":
+ "integrity" "sha512-KBB+xLBxnBdTENs/rUgeUKO0UkPBRs2vD09oMRRIkj5BEN8PX1ToXV532desXfpQnZsYTyLLviS7JrPhdL154w=="
+ "resolved" "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.2.tgz"
+ "version" "4.14.2"
+ dependencies:
+ "@typescript-eslint/types" "4.14.2"
+ "eslint-visitor-keys" "^2.0.0"
+
+"abbrev@1":
+ "integrity" "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ "resolved" "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz"
+ "version" "1.1.1"
+
+"acorn-jsx@^5.3.1":
+ "integrity" "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng=="
+ "resolved" "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz"
+ "version" "5.3.1"
+
+"acorn-node@^1.2.0", "acorn-node@^1.3.0", "acorn-node@^1.5.2", "acorn-node@^1.6.1", "acorn-node@^1.8.2":
+ "integrity" "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A=="
+ "resolved" "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz"
+ "version" "1.8.2"
+ dependencies:
+ "acorn" "^7.0.0"
+ "acorn-walk" "^7.0.0"
+ "xtend" "^4.0.2"
+
+"acorn-node@^2.0.1":
+ "integrity" "sha512-VLR5sHqjk+8c5hrKeP2fWaIHb8eewsoxnZ8r2qpwRHXMHuC7KyOPflnOx9dLssVQUurzJ7rO0OzIFjHcndafWw=="
+ "resolved" "https://registry.npmjs.org/acorn-node/-/acorn-node-2.0.1.tgz"
+ "version" "2.0.1"
+ dependencies:
+ "acorn" "^7.0.0"
+ "acorn-walk" "^7.0.0"
+ "xtend" "^4.0.2"
+
+"acorn-walk@^7.0.0":
+ "integrity" "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA=="
+ "resolved" "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz"
+ "version" "7.2.0"
+
+"acorn@^5.1.0":
+ "integrity" "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg=="
+ "resolved" "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz"
+ "version" "5.7.4"
+
+"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", "acorn@^7.0.0", "acorn@^7.1.1", "acorn@^7.4.0":
+ "integrity" "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
+ "resolved" "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
+ "version" "7.4.1"
+
+"ajv@^6.10.0", "ajv@^6.12.4":
+ "integrity" "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g=="
+ "resolved" "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz"
+ "version" "6.12.6"
+ dependencies:
+ "fast-deep-equal" "^3.1.1"
+ "fast-json-stable-stringify" "^2.0.0"
+ "json-schema-traverse" "^0.4.1"
+ "uri-js" "^4.2.2"
+
+"ajv@^7.0.2":
+ "integrity" "sha512-xzzzaqgEQfmuhbhAoqjJ8T/1okb6gAzXn/eQRNpAN1AEUoHJTNF9xCDRTtf/s3SKldtZfa+RJeTs+BQq+eZ/sw=="
+ "resolved" "https://registry.npmjs.org/ajv/-/ajv-7.0.4.tgz"
+ "version" "7.0.4"
+ dependencies:
+ "fast-deep-equal" "^3.1.1"
+ "json-schema-traverse" "^1.0.0"
+ "require-from-string" "^2.0.2"
+ "uri-js" "^4.2.2"
+
+"amdefine@>=0.0.4":
+ "integrity" "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU="
+ "resolved" "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz"
+ "version" "1.0.1"
+
+"ansi-align@^3.0.0":
+ "integrity" "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w=="
+ "resolved" "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz"
+ "version" "3.0.1"
+ dependencies:
+ "string-width" "^4.1.0"
+
+"ansi-colors@^4.1.1":
+ "integrity" "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA=="
+ "resolved" "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz"
+ "version" "4.1.1"
+
+"ansi-regex@^2.0.0":
+ "integrity" "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz"
+ "version" "2.1.1"
+
+"ansi-regex@^5.0.0":
+ "integrity" "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
+ "resolved" "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz"
+ "version" "5.0.1"
+
+"ansi-styles@^2.2.1":
+ "integrity" "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
+ "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz"
+ "version" "2.2.1"
+
+"ansi-styles@^3.2.1":
+ "integrity" "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA=="
+ "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz"
+ "version" "3.2.1"
+ dependencies:
+ "color-convert" "^1.9.0"
+
+"ansi-styles@^4.0.0", "ansi-styles@^4.1.0":
+ "integrity" "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg=="
+ "resolved" "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz"
+ "version" "4.3.0"
+ dependencies:
+ "color-convert" "^2.0.1"
+
+"anymatch@~3.1.1":
+ "integrity" "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg=="
+ "resolved" "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz"
+ "version" "3.1.1"
+ dependencies:
+ "normalize-path" "^3.0.0"
+ "picomatch" "^2.0.4"
+
+"arg@^4.1.0":
+ "integrity" "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA=="
+ "resolved" "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz"
+ "version" "4.1.3"
+
+"argparse@^1.0.7":
+ "integrity" "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg=="
+ "resolved" "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz"
+ "version" "1.0.10"
+ dependencies:
+ "sprintf-js" "~1.0.2"
+
+"array-filter@^1.0.0":
+ "integrity" "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM="
+ "resolved" "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz"
+ "version" "1.0.0"
+
+"array-from@^2.1.1":
+ "integrity" "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU="
+ "resolved" "https://registry.npmjs.org/array-from/-/array-from-2.1.1.tgz"
+ "version" "2.1.1"
+
+"array-union@^2.1.0":
+ "integrity" "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="
+ "resolved" "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz"
+ "version" "2.1.0"
+
+"asn1.js@^5.2.0":
+ "integrity" "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA=="
+ "resolved" "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz"
+ "version" "5.4.1"
+ dependencies:
+ "bn.js" "^4.0.0"
+ "inherits" "^2.0.1"
+ "minimalistic-assert" "^1.0.0"
+ "safer-buffer" "^2.1.0"
+
+"assert@^1.4.0":
+ "integrity" "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA=="
+ "resolved" "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz"
+ "version" "1.5.0"
+ dependencies:
+ "object-assign" "^4.1.1"
+ "util" "0.10.3"
+
+"astral-regex@^2.0.0":
+ "integrity" "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ=="
+ "resolved" "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz"
+ "version" "2.0.0"
+
+"available-typed-arrays@^1.0.2":
+ "integrity" "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ=="
+ "resolved" "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz"
+ "version" "1.0.2"
+ dependencies:
+ "array-filter" "^1.0.0"
+
+"axios@0.24.0":
+ "integrity" "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA=="
+ "resolved" "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz"
+ "version" "0.24.0"
+ dependencies:
+ "follow-redirects" "^1.14.4"
+
+"balanced-match@^1.0.0":
+ "integrity" "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
+ "resolved" "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz"
+ "version" "1.0.0"
+
+"base64-js@^1.0.2":
+ "integrity" "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
+ "resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
+ "version" "1.5.1"
+
+"binary-extensions@^2.0.0":
+ "integrity" "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
+ "resolved" "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
+ "version" "2.2.0"
+
+"bn.js@^4.0.0", "bn.js@^4.1.0", "bn.js@^4.11.9":
+ "integrity" "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA=="
+ "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz"
+ "version" "4.12.0"
+
+"bn.js@^5.0.0":
+ "integrity" "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw=="
+ "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz"
+ "version" "5.2.0"
+
+"bn.js@^5.1.1":
+ "integrity" "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw=="
+ "resolved" "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz"
+ "version" "5.2.0"
+
+"boxen@^4.2.0":
+ "integrity" "sha512-eB4uT9RGzg2odpER62bBwSLvUeGC+WbRjjyyFhGsKnc8wp/m0+hQsMUvUe3H2V0D5vw0nBdO1hCJoZo5mKeuIQ=="
+ "resolved" "https://registry.npmjs.org/boxen/-/boxen-4.2.0.tgz"
+ "version" "4.2.0"
+ dependencies:
+ "ansi-align" "^3.0.0"
+ "camelcase" "^5.3.1"
+ "chalk" "^3.0.0"
+ "cli-boxes" "^2.2.0"
+ "string-width" "^4.1.0"
+ "term-size" "^2.1.0"
+ "type-fest" "^0.8.1"
+ "widest-line" "^3.1.0"
+
+"brace-expansion@^1.1.7":
+ "integrity" "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="
+ "resolved" "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
+ "version" "1.1.11"
+ dependencies:
+ "balanced-match" "^1.0.0"
+ "concat-map" "0.0.1"
+
+"braces@^3.0.1", "braces@~3.0.2":
+ "integrity" "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A=="
+ "resolved" "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz"
+ "version" "3.0.2"
+ dependencies:
+ "fill-range" "^7.0.1"
+
+"brorand@^1.0.1", "brorand@^1.1.0":
+ "integrity" "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8="
+ "resolved" "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz"
+ "version" "1.1.0"
+
+"browser-pack-flat@^3.0.9":
+ "integrity" "sha512-TrUo6n2fGSOCYFAKkt/EkgenytAuuCI88fmXFA60aNFVHvz3CZEBTXYSvvXVpU6xpjM8lj/6vkC6Exn8KPjtPw=="
+ "resolved" "https://registry.npmjs.org/browser-pack-flat/-/browser-pack-flat-3.4.2.tgz"
+ "version" "3.4.2"
+ dependencies:
+ "combine-source-map" "^0.8.0"
+ "convert-source-map" "^1.5.1"
+ "count-lines" "^0.1.2"
+ "dedent" "^0.7.0"
+ "estree-is-member-expression" "^1.0.0"
+ "estree-is-require" "^1.0.0"
+ "esutils" "^2.0.2"
+ "JSONStream" "^1.3.2"
+ "path-parse" "^1.0.5"
+ "scope-analyzer" "^2.0.0"
+ "stream-combiner" "^0.2.2"
+ "through2" "^2.0.3"
+ "transform-ast" "^2.4.2"
+ "umd" "^3.0.3"
+ "wrap-comment" "^1.0.0"
+
+"browser-pack@^6.0.1", "browser-pack@^6.0.2":
+ "integrity" "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA=="
+ "resolved" "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz"
+ "version" "6.1.0"
+ dependencies:
+ "combine-source-map" "~0.8.0"
+ "defined" "^1.0.0"
+ "JSONStream" "^1.0.3"
+ "safe-buffer" "^5.1.1"
+ "through2" "^2.0.0"
+ "umd" "^3.0.0"
+
+"browser-process-hrtime@^0.1.2":
+ "integrity" "sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw=="
+ "resolved" "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz"
+ "version" "0.1.3"
+
+"browser-resolve@^2.0.0":
+ "integrity" "sha512-7sWsQlYL2rGLy2IWm8WL8DCTJvYLc/qlOnsakDac87SOoCd16WLsaAMdCiAqsTNHIe+SXfaqyxyo6THoWqs8WQ=="
+ "resolved" "https://registry.npmjs.org/browser-resolve/-/browser-resolve-2.0.0.tgz"
+ "version" "2.0.0"
+ dependencies:
+ "resolve" "^1.17.0"
+
+"browser-unpack@^1.1.0":
+ "integrity" "sha512-uHkiY4bmXjjBBWoKH1aRnEGTQxUUCCcVtoJfH9w1lmGGjETY4u93Zk+GRYkCE/SRMrdoMTINQ/1/manr/3aMVA=="
+ "resolved" "https://registry.npmjs.org/browser-unpack/-/browser-unpack-1.4.2.tgz"
+ "version" "1.4.2"
+ dependencies:
+ "acorn-node" "^1.5.2"
+ "concat-stream" "^1.5.0"
+ "minimist" "^1.1.1"
+
+"browserify-aes@^1.0.0", "browserify-aes@^1.0.4":
+ "integrity" "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA=="
+ "resolved" "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz"
+ "version" "1.2.0"
+ dependencies:
+ "buffer-xor" "^1.0.3"
+ "cipher-base" "^1.0.0"
+ "create-hash" "^1.1.0"
+ "evp_bytestokey" "^1.0.3"
+ "inherits" "^2.0.1"
+ "safe-buffer" "^5.0.1"
+
+"browserify-cipher@^1.0.0":
+ "integrity" "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w=="
+ "resolved" "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz"
+ "version" "1.0.1"
+ dependencies:
+ "browserify-aes" "^1.0.4"
+ "browserify-des" "^1.0.0"
+ "evp_bytestokey" "^1.0.0"
+
+"browserify-des@^1.0.0":
+ "integrity" "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A=="
+ "resolved" "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz"
+ "version" "1.0.2"
+ dependencies:
+ "cipher-base" "^1.0.1"
+ "des.js" "^1.0.0"
+ "inherits" "^2.0.1"
+ "safe-buffer" "^5.1.2"
+
+"browserify-rsa@^4.0.0", "browserify-rsa@^4.0.1":
+ "integrity" "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog=="
+ "resolved" "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz"
+ "version" "4.1.0"
+ dependencies:
+ "bn.js" "^5.0.0"
+ "randombytes" "^2.0.1"
+
+"browserify-sign@^4.0.0":
+ "integrity" "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg=="
+ "resolved" "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz"
+ "version" "4.2.1"
+ dependencies:
+ "bn.js" "^5.1.1"
+ "browserify-rsa" "^4.0.1"
+ "create-hash" "^1.2.0"
+ "create-hmac" "^1.1.7"
+ "elliptic" "^6.5.3"
+ "inherits" "^2.0.4"
+ "parse-asn1" "^5.1.5"
+ "readable-stream" "^3.6.0"
+ "safe-buffer" "^5.2.0"
+
+"browserify-zlib@~0.2.0":
+ "integrity" "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA=="
+ "resolved" "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz"
+ "version" "0.2.0"
+ dependencies:
+ "pako" "~1.0.5"
+
+"browserify@^17.0.0":
+ "integrity" "sha512-SaHqzhku9v/j6XsQMRxPyBrSP3gnwmE27gLJYZgMT2GeK3J0+0toN+MnuNYDfHwVGQfLiMZ7KSNSIXHemy905w=="
+ "resolved" "https://registry.npmjs.org/browserify/-/browserify-17.0.0.tgz"
+ "version" "17.0.0"
+ dependencies:
+ "assert" "^1.4.0"
+ "browser-pack" "^6.0.1"
+ "browser-resolve" "^2.0.0"
+ "browserify-zlib" "~0.2.0"
+ "buffer" "~5.2.1"
+ "cached-path-relative" "^1.0.0"
+ "concat-stream" "^1.6.0"
+ "console-browserify" "^1.1.0"
+ "constants-browserify" "~1.0.0"
+ "crypto-browserify" "^3.0.0"
+ "defined" "^1.0.0"
+ "deps-sort" "^2.0.1"
+ "domain-browser" "^1.2.0"
+ "duplexer2" "~0.1.2"
+ "events" "^3.0.0"
+ "glob" "^7.1.0"
+ "has" "^1.0.0"
+ "htmlescape" "^1.1.0"
+ "https-browserify" "^1.0.0"
+ "inherits" "~2.0.1"
+ "insert-module-globals" "^7.2.1"
+ "JSONStream" "^1.0.3"
+ "labeled-stream-splicer" "^2.0.0"
+ "mkdirp-classic" "^0.5.2"
+ "module-deps" "^6.2.3"
+ "os-browserify" "~0.3.0"
+ "parents" "^1.0.1"
+ "path-browserify" "^1.0.0"
+ "process" "~0.11.0"
+ "punycode" "^1.3.2"
+ "querystring-es3" "~0.2.0"
+ "read-only-stream" "^2.0.0"
+ "readable-stream" "^2.0.2"
+ "resolve" "^1.1.4"
+ "shasum-object" "^1.0.0"
+ "shell-quote" "^1.6.1"
+ "stream-browserify" "^3.0.0"
+ "stream-http" "^3.0.0"
+ "string_decoder" "^1.1.1"
+ "subarg" "^1.0.0"
+ "syntax-error" "^1.1.1"
+ "through2" "^2.0.0"
+ "timers-browserify" "^1.0.1"
+ "tty-browserify" "0.0.1"
+ "url" "~0.11.0"
+ "util" "~0.12.0"
+ "vm-browserify" "^1.0.0"
+ "xtend" "^4.0.0"
+
+"buffer-from@^1.0.0":
+ "integrity" "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A=="
+ "resolved" "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz"
+ "version" "1.1.1"
+
+"buffer-xor@^1.0.3":
+ "integrity" "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk="
+ "resolved" "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz"
+ "version" "1.0.3"
+
+"buffer@~5.2.1":
+ "integrity" "sha512-c+Ko0loDaFfuPWiL02ls9Xd3GO3cPVmUobQ6t3rXNUk304u6hGq+8N/kFi+QEIKhzK3uwolVhLzszmfLmMLnqg=="
+ "resolved" "https://registry.npmjs.org/buffer/-/buffer-5.2.1.tgz"
+ "version" "5.2.1"
+ dependencies:
+ "base64-js" "^1.0.2"
+ "ieee754" "^1.1.4"
+
+"builtin-status-codes@^3.0.0":
+ "integrity" "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
+ "resolved" "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz"
+ "version" "3.0.0"
+
+"bundle-collapser@^1.3.0":
+ "integrity" "sha512-Gd3K3+3KI1Utuk+gwAvuOVOjT/2XLGL8tU6FwDKk04LlOZkYfT0pwQllsG1Dv8RRhgcjNxZSDmmSXb0AOkwSwg=="
+ "resolved" "https://registry.npmjs.org/bundle-collapser/-/bundle-collapser-1.4.0.tgz"
+ "version" "1.4.0"
+ dependencies:
+ "browser-pack" "^6.0.2"
+ "browser-unpack" "^1.1.0"
+ "concat-stream" "^1.5.0"
+ "falafel" "^2.1.0"
+ "minimist" "^1.1.1"
+ "through2" "^2.0.0"
+
+"cacheable-request@^6.0.0":
+ "integrity" "sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg=="
+ "resolved" "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz"
+ "version" "6.1.0"
+ dependencies:
+ "clone-response" "^1.0.2"
+ "get-stream" "^5.1.0"
+ "http-cache-semantics" "^4.0.0"
+ "keyv" "^3.0.0"
+ "lowercase-keys" "^2.0.0"
+ "normalize-url" "^4.1.0"
+ "responselike" "^1.0.2"
+
+"cached-path-relative@^1.0.0", "cached-path-relative@^1.0.2":
+ "integrity" "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg=="
+ "resolved" "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz"
+ "version" "1.0.2"
+
+"call-bind@^1.0.0", "call-bind@^1.0.2":
+ "integrity" "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA=="
+ "resolved" "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz"
+ "version" "1.0.2"
+ dependencies:
+ "function-bind" "^1.1.1"
+ "get-intrinsic" "^1.0.2"
+
+"call-matcher@^2.0.0":
+ "integrity" "sha512-CIDC5wZZfZ2VjZu849WQckS58Z3pJXFfRaSjNjgo/q3in5zxkhTwVL83vttgtmvyLG7TuDlLlBya7SKP6CjDIA=="
+ "resolved" "https://registry.npmjs.org/call-matcher/-/call-matcher-2.0.0.tgz"
+ "version" "2.0.0"
+ dependencies:
+ "deep-equal" "^1.0.0"
+ "espurify" "^2.0.0"
+ "estraverse" "^4.0.0"
+
+"callsites@^3.0.0":
+ "integrity" "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
+ "resolved" "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz"
+ "version" "3.1.0"
+
+"camelcase@^5.3.1":
+ "integrity" "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
+ "resolved" "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"
+ "version" "5.3.1"
+
+"chalk@^1.1.3":
+ "integrity" "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg="
+ "resolved" "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz"
+ "version" "1.1.3"
+ dependencies:
+ "ansi-styles" "^2.2.1"
+ "escape-string-regexp" "^1.0.2"
+ "has-ansi" "^2.0.0"
+ "strip-ansi" "^3.0.0"
+ "supports-color" "^2.0.0"
+
+"chalk@^2.0.0":
+ "integrity" "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ=="
+ "resolved" "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz"
+ "version" "2.4.2"
+ dependencies:
+ "ansi-styles" "^3.2.1"
+ "escape-string-regexp" "^1.0.5"
+ "supports-color" "^5.3.0"
+
+"chalk@^3.0.0":
+ "integrity" "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg=="
+ "resolved" "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz"
+ "version" "3.0.0"
+ dependencies:
+ "ansi-styles" "^4.1.0"
+ "supports-color" "^7.1.0"
+
+"chalk@^4.0.0":
+ "integrity" "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A=="
+ "resolved" "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz"
+ "version" "4.1.0"
+ dependencies:
+ "ansi-styles" "^4.1.0"
+ "supports-color" "^7.1.0"
+
+"chokidar@^3.2.2":
+ "integrity" "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw=="
+ "resolved" "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz"
+ "version" "3.5.1"
+ dependencies:
+ "anymatch" "~3.1.1"
+ "braces" "~3.0.2"
+ "glob-parent" "~5.1.0"
+ "is-binary-path" "~2.1.0"
+ "is-glob" "~4.0.1"
+ "normalize-path" "~3.0.0"
+ "readdirp" "~3.5.0"
+ optionalDependencies:
+ "fsevents" "~2.3.1"
+
+"ci-info@^2.0.0":
+ "integrity" "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ=="
+ "resolved" "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz"
+ "version" "2.0.0"
+
+"cipher-base@^1.0.0", "cipher-base@^1.0.1", "cipher-base@^1.0.3":
+ "integrity" "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q=="
+ "resolved" "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz"
+ "version" "1.0.4"
+ dependencies:
+ "inherits" "^2.0.1"
+ "safe-buffer" "^5.0.1"
+
+"cli-boxes@^2.2.0":
+ "integrity" "sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw=="
+ "resolved" "https://registry.npmjs.org/cli-boxes/-/cli-boxes-2.2.1.tgz"
+ "version" "2.2.1"
+
+"clone-response@^1.0.2":
+ "integrity" "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws="
+ "resolved" "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz"
+ "version" "1.0.2"
+ dependencies:
+ "mimic-response" "^1.0.0"
+
+"color-convert@^1.9.0":
+ "integrity" "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg=="
+ "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz"
+ "version" "1.9.3"
+ dependencies:
+ "color-name" "1.1.3"
+
+"color-convert@^2.0.1":
+ "integrity" "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ=="
+ "resolved" "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz"
+ "version" "2.0.1"
+ dependencies:
+ "color-name" "~1.1.4"
+
+"color-name@~1.1.4":
+ "integrity" "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz"
+ "version" "1.1.4"
+
+"color-name@1.1.3":
+ "integrity" "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+ "resolved" "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz"
+ "version" "1.1.3"
+
+"combine-source-map@^0.8.0", "combine-source-map@~0.8.0":
+ "integrity" "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos="
+ "resolved" "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz"
+ "version" "0.8.0"
+ dependencies:
+ "convert-source-map" "~1.1.0"
+ "inline-source-map" "~0.6.0"
+ "lodash.memoize" "~3.0.3"
+ "source-map" "~0.5.3"
+
+"commander@^2.19.0", "commander@^2.20.0":
+ "integrity" "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
+ "resolved" "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz"
+ "version" "2.20.3"
+
+"common-shakeify@^0.6.0":
+ "integrity" "sha512-vxlXr26fqxm8ZJ0jh8MlvpeN6IbyUKqsVmgb4rAjDM/0f4nKebiHaAXpF/Mm86W9ENR5iSI7UOnUTylpVyplUA=="
+ "resolved" "https://registry.npmjs.org/common-shakeify/-/common-shakeify-0.6.2.tgz"
+ "version" "0.6.2"
+ dependencies:
+ "@goto-bus-stop/common-shake" "^2.2.0"
+ "convert-source-map" "^1.5.1"
+ "through2" "^2.0.3"
+ "transform-ast" "^2.4.3"
+ "wrap-comment" "^1.0.1"
+
+"concat-map@0.0.1":
+ "integrity" "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
+ "resolved" "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
+ "version" "0.0.1"
+
+"concat-stream@^1.5.0", "concat-stream@^1.6.0", "concat-stream@^1.6.1", "concat-stream@~1.6.0":
+ "integrity" "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw=="
+ "resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz"
+ "version" "1.6.2"
+ dependencies:
+ "buffer-from" "^1.0.0"
+ "inherits" "^2.0.3"
+ "readable-stream" "^2.2.2"
+ "typedarray" "^0.0.6"
+
+"concat-stream@^2.0.0":
+ "integrity" "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A=="
+ "resolved" "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz"
+ "version" "2.0.0"
+ dependencies:
+ "buffer-from" "^1.0.0"
+ "inherits" "^2.0.3"
+ "readable-stream" "^3.0.2"
+ "typedarray" "^0.0.6"
+
+"configstore@^5.0.1":
+ "integrity" "sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA=="
+ "resolved" "https://registry.npmjs.org/configstore/-/configstore-5.0.1.tgz"
+ "version" "5.0.1"
+ dependencies:
+ "dot-prop" "^5.2.0"
+ "graceful-fs" "^4.1.2"
+ "make-dir" "^3.0.0"
+ "unique-string" "^2.0.0"
+ "write-file-atomic" "^3.0.0"
+ "xdg-basedir" "^4.0.0"
+
+"console-browserify@^1.1.0":
+ "integrity" "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA=="
+ "resolved" "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz"
+ "version" "1.2.0"
+
+"constants-browserify@~1.0.0":
+ "integrity" "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U="
+ "resolved" "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz"
+ "version" "1.0.0"
+
+"convert-source-map@^1.1.1", "convert-source-map@^1.5.0", "convert-source-map@^1.5.1":
+ "integrity" "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA=="
+ "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz"
+ "version" "1.7.0"
+ dependencies:
+ "safe-buffer" "~5.1.1"
+
+"convert-source-map@~1.1.0":
+ "integrity" "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA="
+ "resolved" "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz"
+ "version" "1.1.3"
+
+"core-util-is@~1.0.0":
+ "integrity" "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ "resolved" "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
+ "version" "1.0.2"
+
+"count-lines@^0.1.2":
+ "integrity" "sha1-4zST+2hgqC9xWdgjeEP7+u/uWWI="
+ "resolved" "https://registry.npmjs.org/count-lines/-/count-lines-0.1.2.tgz"
+ "version" "0.1.2"
+
+"create-ecdh@^4.0.0":
+ "integrity" "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A=="
+ "resolved" "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz"
+ "version" "4.0.4"
+ dependencies:
+ "bn.js" "^4.1.0"
+ "elliptic" "^6.5.3"
+
+"create-hash@^1.1.0", "create-hash@^1.1.2", "create-hash@^1.2.0":
+ "integrity" "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg=="
+ "resolved" "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz"
+ "version" "1.2.0"
+ dependencies:
+ "cipher-base" "^1.0.1"
+ "inherits" "^2.0.1"
+ "md5.js" "^1.3.4"
+ "ripemd160" "^2.0.1"
+ "sha.js" "^2.4.0"
+
+"create-hmac@^1.1.0", "create-hmac@^1.1.4", "create-hmac@^1.1.7":
+ "integrity" "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg=="
+ "resolved" "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz"
+ "version" "1.1.7"
+ dependencies:
+ "cipher-base" "^1.0.3"
+ "create-hash" "^1.1.0"
+ "inherits" "^2.0.1"
+ "ripemd160" "^2.0.0"
+ "safe-buffer" "^5.0.1"
+ "sha.js" "^2.4.8"
+
+"create-require@^1.1.0":
+ "integrity" "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ=="
+ "resolved" "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz"
+ "version" "1.1.1"
+
+"cross-spawn@^7.0.2":
+ "integrity" "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w=="
+ "resolved" "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
+ "version" "7.0.3"
+ dependencies:
+ "path-key" "^3.1.0"
+ "shebang-command" "^2.0.0"
+ "which" "^2.0.1"
+
+"crypto-browserify@^3.0.0":
+ "integrity" "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg=="
+ "resolved" "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz"
+ "version" "3.12.0"
+ dependencies:
+ "browserify-cipher" "^1.0.0"
+ "browserify-sign" "^4.0.0"
+ "create-ecdh" "^4.0.0"
+ "create-hash" "^1.1.0"
+ "create-hmac" "^1.1.0"
+ "diffie-hellman" "^5.0.0"
+ "inherits" "^2.0.1"
+ "pbkdf2" "^3.0.3"
+ "public-encrypt" "^4.0.0"
+ "randombytes" "^2.0.0"
+ "randomfill" "^1.0.3"
+
+"crypto-random-string@^2.0.0":
+ "integrity" "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA=="
+ "resolved" "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz"
+ "version" "2.0.0"
+
+"d@^1.0.1", "d@1":
+ "integrity" "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA=="
+ "resolved" "https://registry.npmjs.org/d/-/d-1.0.1.tgz"
+ "version" "1.0.1"
+ dependencies:
+ "es5-ext" "^0.10.50"
+ "type" "^1.0.1"
+
+"dash-ast@^1.0.0":
+ "integrity" "sha512-Vy4dx7gquTeMcQR/hDkYLGUnwVil6vk4FOOct+djUnHOUWt+zJPJAaRIXaAFkPXtJjvlY7o3rfRu0/3hpnwoUA=="
+ "resolved" "https://registry.npmjs.org/dash-ast/-/dash-ast-1.0.0.tgz"
+ "version" "1.0.0"
+
+"dash-ast@^2.0.1":
+ "integrity" "sha512-5TXltWJGc+RdnabUGzhRae1TRq6m4gr+3K2wQX0is5/F2yS6MJXJvLyI3ErAnsAXuJoGqvfVD5icRgim07DrxQ=="
+ "resolved" "https://registry.npmjs.org/dash-ast/-/dash-ast-2.0.1.tgz"
+ "version" "2.0.1"
+
+"debug@^2.2.0":
+ "integrity" "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="
+ "resolved" "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
+ "version" "2.6.9"
+ dependencies:
+ "ms" "2.0.0"
+
+"debug@^3.2.6":
+ "integrity" "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ=="
+ "resolved" "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz"
+ "version" "3.2.7"
+ dependencies:
+ "ms" "^2.1.1"
+
+"debug@^4.0.1", "debug@^4.1.1":
+ "integrity" "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ=="
+ "resolved" "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz"
+ "version" "4.3.1"
+ dependencies:
+ "ms" "2.1.2"
+
+"decompress-response@^3.3.0":
+ "integrity" "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M="
+ "resolved" "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz"
+ "version" "3.3.0"
+ dependencies:
+ "mimic-response" "^1.0.0"
+
+"dedent@^0.7.0":
+ "integrity" "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw="
+ "resolved" "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz"
+ "version" "0.7.0"
+
+"deep-equal@^1.0.0":
+ "integrity" "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g=="
+ "resolved" "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz"
+ "version" "1.1.1"
+ dependencies:
+ "is-arguments" "^1.0.4"
+ "is-date-object" "^1.0.1"
+ "is-regex" "^1.0.4"
+ "object-is" "^1.0.1"
+ "object-keys" "^1.1.1"
+ "regexp.prototype.flags" "^1.2.0"
+
+"deep-extend@^0.6.0":
+ "integrity" "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
+ "resolved" "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz"
+ "version" "0.6.0"
+
+"deep-is@^0.1.3", "deep-is@~0.1.3":
+ "integrity" "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ="
+ "resolved" "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz"
+ "version" "0.1.3"
+
+"defer-to-connect@^1.0.1":
+ "integrity" "sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ=="
+ "resolved" "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz"
+ "version" "1.1.3"
+
+"define-properties@^1.1.3":
+ "integrity" "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ=="
+ "resolved" "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz"
+ "version" "1.1.3"
+ dependencies:
+ "object-keys" "^1.0.12"
+
+"defined@^1.0.0":
+ "integrity" "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM="
+ "resolved" "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz"
+ "version" "1.0.0"
+
+"deps-sort@^2.0.1":
+ "integrity" "sha512-1orqXQr5po+3KI6kQb9A4jnXT1PBwggGl2d7Sq2xsnOeI9GPcE/tGcF9UiSZtZBM7MukY4cAh7MemS6tZYipfw=="
+ "resolved" "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.1.tgz"
+ "version" "2.0.1"
+ dependencies:
+ "JSONStream" "^1.0.3"
+ "shasum-object" "^1.0.0"
+ "subarg" "^1.0.0"
+ "through2" "^2.0.0"
+
+"des.js@^1.0.0":
+ "integrity" "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA=="
+ "resolved" "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz"
+ "version" "1.0.1"
+ dependencies:
+ "inherits" "^2.0.1"
+ "minimalistic-assert" "^1.0.0"
+
+"detective@^5.2.0":
+ "integrity" "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg=="
+ "resolved" "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz"
+ "version" "5.2.0"
+ dependencies:
+ "acorn-node" "^1.6.1"
+ "defined" "^1.0.0"
+ "minimist" "^1.1.1"
+
+"diff@^4.0.1":
+ "integrity" "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A=="
+ "resolved" "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz"
+ "version" "4.0.2"
+
+"diffie-hellman@^5.0.0":
+ "integrity" "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg=="
+ "resolved" "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz"
+ "version" "5.0.3"
+ dependencies:
+ "bn.js" "^4.1.0"
+ "miller-rabin" "^4.0.0"
+ "randombytes" "^2.0.0"
+
+"dir-glob@^3.0.1":
+ "integrity" "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA=="
+ "resolved" "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz"
+ "version" "3.0.1"
+ dependencies:
+ "path-type" "^4.0.0"
+
+"doctrine@^3.0.0":
+ "integrity" "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w=="
+ "resolved" "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz"
+ "version" "3.0.0"
+ dependencies:
+ "esutils" "^2.0.2"
+
+"domain-browser@^1.2.0":
+ "integrity" "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA=="
+ "resolved" "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz"
+ "version" "1.2.0"
+
+"dot-prop@^5.2.0":
+ "integrity" "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q=="
+ "resolved" "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz"
+ "version" "5.3.0"
+ dependencies:
+ "is-obj" "^2.0.0"
+
+"duplexer@~0.1.1":
+ "integrity" "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg=="
+ "resolved" "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz"
+ "version" "0.1.2"
+
+"duplexer2@^0.1.2", "duplexer2@~0.1.0", "duplexer2@~0.1.2":
+ "integrity" "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME="
+ "resolved" "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz"
+ "version" "0.1.4"
+ dependencies:
+ "readable-stream" "^2.0.2"
+
+"duplexer3@^0.1.4":
+ "integrity" "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI="
+ "resolved" "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz"
+ "version" "0.1.4"
+
+"duplexify@^4.1.1":
+ "integrity" "sha512-DY3xVEmVHTv1wSzKNbwoU6nVjzI369Y6sPoqfYr0/xlx3IdX2n94xIszTcjPO8W8ZIv0Wb0PXNcjuZyT4wiICA=="
+ "resolved" "https://registry.npmjs.org/duplexify/-/duplexify-4.1.1.tgz"
+ "version" "4.1.1"
+ dependencies:
+ "end-of-stream" "^1.4.1"
+ "inherits" "^2.0.3"
+ "readable-stream" "^3.1.1"
+ "stream-shift" "^1.0.0"
+
+"elliptic@^6.5.3":
+ "integrity" "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ=="
+ "resolved" "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz"
+ "version" "6.5.4"
+ dependencies:
+ "bn.js" "^4.11.9"
+ "brorand" "^1.1.0"
+ "hash.js" "^1.0.0"
+ "hmac-drbg" "^1.0.1"
+ "inherits" "^2.0.4"
+ "minimalistic-assert" "^1.0.1"
+ "minimalistic-crypto-utils" "^1.0.1"
+
+"emoji-regex@^8.0.0":
+ "integrity" "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ "resolved" "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz"
+ "version" "8.0.0"
+
+"end-of-stream@^1.1.0", "end-of-stream@^1.4.1":
+ "integrity" "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q=="
+ "resolved" "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz"
+ "version" "1.4.4"
+ dependencies:
+ "once" "^1.4.0"
+
+"enquirer@^2.3.5":
+ "integrity" "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg=="
+ "resolved" "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz"
+ "version" "2.3.6"
+ dependencies:
+ "ansi-colors" "^4.1.1"
+
+"es-abstract@^1.18.0-next.1", "es-abstract@^1.18.0-next.2":
+ "integrity" "sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw=="
+ "resolved" "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0.tgz"
+ "version" "1.18.0"
+ dependencies:
+ "call-bind" "^1.0.2"
+ "es-to-primitive" "^1.2.1"
+ "function-bind" "^1.1.1"
+ "get-intrinsic" "^1.1.1"
+ "has" "^1.0.3"
+ "has-symbols" "^1.0.2"
+ "is-callable" "^1.2.3"
+ "is-negative-zero" "^2.0.1"
+ "is-regex" "^1.1.2"
+ "is-string" "^1.0.5"
+ "object-inspect" "^1.9.0"
+ "object-keys" "^1.1.1"
+ "object.assign" "^4.1.2"
+ "string.prototype.trimend" "^1.0.4"
+ "string.prototype.trimstart" "^1.0.4"
+ "unbox-primitive" "^1.0.0"
+
+"es-to-primitive@^1.2.1":
+ "integrity" "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA=="
+ "resolved" "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz"
+ "version" "1.2.1"
+ dependencies:
+ "is-callable" "^1.1.4"
+ "is-date-object" "^1.0.1"
+ "is-symbol" "^1.0.2"
+
+"es5-ext@^0.10.35", "es5-ext@^0.10.46", "es5-ext@^0.10.50", "es5-ext@~0.10.14":
+ "integrity" "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q=="
+ "resolved" "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz"
+ "version" "0.10.53"
+ dependencies:
+ "es6-iterator" "~2.0.3"
+ "es6-symbol" "~3.1.3"
+ "next-tick" "~1.0.0"
+
+"es6-iterator@^2.0.3", "es6-iterator@~2.0.1", "es6-iterator@~2.0.3":
+ "integrity" "sha1-p96IkUGgWpSwhUQDstCg+/qY87c="
+ "resolved" "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz"
+ "version" "2.0.3"
+ dependencies:
+ "d" "1"
+ "es5-ext" "^0.10.35"
+ "es6-symbol" "^3.1.1"
+
+"es6-map@^0.1.3", "es6-map@^0.1.5":
+ "integrity" "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA="
+ "resolved" "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz"
+ "version" "0.1.5"
+ dependencies:
+ "d" "1"
+ "es5-ext" "~0.10.14"
+ "es6-iterator" "~2.0.1"
+ "es6-set" "~0.1.5"
+ "es6-symbol" "~3.1.1"
+ "event-emitter" "~0.3.5"
+
+"es6-set@^0.1.5", "es6-set@~0.1.5":
+ "integrity" "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE="
+ "resolved" "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz"
+ "version" "0.1.5"
+ dependencies:
+ "d" "1"
+ "es5-ext" "~0.10.14"
+ "es6-iterator" "~2.0.1"
+ "es6-symbol" "3.1.1"
+ "event-emitter" "~0.3.5"
+
+"es6-symbol@^3.1.1", "es6-symbol@~3.1.1", "es6-symbol@~3.1.3":
+ "integrity" "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA=="
+ "resolved" "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz"
+ "version" "3.1.3"
+ dependencies:
+ "d" "^1.0.1"
+ "ext" "^1.1.2"
+
+"es6-symbol@3.1.1":
+ "integrity" "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc="
+ "resolved" "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz"
+ "version" "3.1.1"
+ dependencies:
+ "d" "1"
+ "es5-ext" "~0.10.14"
+
+"es6-weak-map@^2.0.1":
+ "integrity" "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA=="
+ "resolved" "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz"
+ "version" "2.0.3"
+ dependencies:
+ "d" "1"
+ "es5-ext" "^0.10.46"
+ "es6-iterator" "^2.0.3"
+ "es6-symbol" "^3.1.1"
+
+"escape-goat@^2.0.0":
+ "integrity" "sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q=="
+ "resolved" "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz"
+ "version" "2.1.1"
+
+"escape-string-regexp@^1.0.2", "escape-string-regexp@^1.0.5":
+ "integrity" "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+ "resolved" "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz"
+ "version" "1.0.5"
+
+"escodegen@^1.6.1":
+ "integrity" "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw=="
+ "resolved" "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz"
+ "version" "1.14.3"
+ dependencies:
+ "esprima" "^4.0.1"
+ "estraverse" "^4.2.0"
+ "esutils" "^2.0.2"
+ "optionator" "^0.8.1"
+ optionalDependencies:
+ "source-map" "~0.6.1"
+
+"escope@^3.6.0":
+ "integrity" "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM="
+ "resolved" "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz"
+ "version" "3.6.0"
+ dependencies:
+ "es6-map" "^0.1.3"
+ "es6-weak-map" "^2.0.1"
+ "esrecurse" "^4.1.0"
+ "estraverse" "^4.1.1"
+
+"eslint-scope@^5.0.0", "eslint-scope@^5.1.1":
+ "integrity" "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw=="
+ "resolved" "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz"
+ "version" "5.1.1"
+ dependencies:
+ "esrecurse" "^4.3.0"
+ "estraverse" "^4.1.1"
+
+"eslint-utils@^2.0.0", "eslint-utils@^2.1.0":
+ "integrity" "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg=="
+ "resolved" "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz"
+ "version" "2.1.0"
+ dependencies:
+ "eslint-visitor-keys" "^1.1.0"
+
+"eslint-visitor-keys@^1.1.0", "eslint-visitor-keys@^1.3.0":
+ "integrity" "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ=="
+ "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz"
+ "version" "1.3.0"
+
+"eslint-visitor-keys@^2.0.0":
+ "integrity" "sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ=="
+ "resolved" "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz"
+ "version" "2.0.0"
+
+"eslint@*", "eslint@^5.0.0 || ^6.0.0 || ^7.0.0", "eslint@^7.19.0":
+ "integrity" "sha512-CGlMgJY56JZ9ZSYhJuhow61lMPPjUzWmChFya71Z/jilVos7mR/jPgaEfVGgMBY5DshbKdG8Ezb8FDCHcoMEMg=="
+ "resolved" "https://registry.npmjs.org/eslint/-/eslint-7.19.0.tgz"
+ "version" "7.19.0"
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@eslint/eslintrc" "^0.3.0"
+ "ajv" "^6.10.0"
+ "chalk" "^4.0.0"
+ "cross-spawn" "^7.0.2"
+ "debug" "^4.0.1"
+ "doctrine" "^3.0.0"
+ "enquirer" "^2.3.5"
+ "eslint-scope" "^5.1.1"
+ "eslint-utils" "^2.1.0"
+ "eslint-visitor-keys" "^2.0.0"
+ "espree" "^7.3.1"
+ "esquery" "^1.2.0"
+ "esutils" "^2.0.2"
+ "file-entry-cache" "^6.0.0"
+ "functional-red-black-tree" "^1.0.1"
+ "glob-parent" "^5.0.0"
+ "globals" "^12.1.0"
+ "ignore" "^4.0.6"
+ "import-fresh" "^3.0.0"
+ "imurmurhash" "^0.1.4"
+ "is-glob" "^4.0.0"
+ "js-yaml" "^3.13.1"
+ "json-stable-stringify-without-jsonify" "^1.0.1"
+ "levn" "^0.4.1"
+ "lodash" "^4.17.20"
+ "minimatch" "^3.0.4"
+ "natural-compare" "^1.4.0"
+ "optionator" "^0.9.1"
+ "progress" "^2.0.0"
+ "regexpp" "^3.1.0"
+ "semver" "^7.2.1"
+ "strip-ansi" "^6.0.0"
+ "strip-json-comments" "^3.1.0"
+ "table" "^6.0.4"
+ "text-table" "^0.2.0"
+ "v8-compile-cache" "^2.0.3"
+
+"espree@^7.3.0", "espree@^7.3.1":
+ "integrity" "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g=="
+ "resolved" "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz"
+ "version" "7.3.1"
+ dependencies:
+ "acorn" "^7.4.0"
+ "acorn-jsx" "^5.3.1"
+ "eslint-visitor-keys" "^1.3.0"
+
+"esprima@^4.0.0", "esprima@^4.0.1":
+ "integrity" "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+ "resolved" "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz"
+ "version" "4.0.1"
+
+"espurify@^2.0.0", "espurify@^2.0.1":
+ "integrity" "sha512-zttWvnkhcDyGOhSH4vO2qCBILpdCMv/MX8lp4cqgRkQoDRGK2oZxi2GfWhlP2dIXmk7BaKeOTuzbHhyC68o8XQ=="
+ "resolved" "https://registry.npmjs.org/espurify/-/espurify-2.1.1.tgz"
+ "version" "2.1.1"
+
+"esquery@^1.2.0":
+ "integrity" "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ=="
+ "resolved" "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz"
+ "version" "1.3.1"
+ dependencies:
+ "estraverse" "^5.1.0"
+
+"esrecurse@^4.1.0", "esrecurse@^4.3.0":
+ "integrity" "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag=="
+ "resolved" "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz"
+ "version" "4.3.0"
+ dependencies:
+ "estraverse" "^5.2.0"
+
+"estraverse@^4.0.0", "estraverse@^4.1.0", "estraverse@^4.1.1", "estraverse@^4.2.0":
+ "integrity" "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
+ "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz"
+ "version" "4.3.0"
+
+"estraverse@^5.1.0":
+ "integrity" "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ=="
+ "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz"
+ "version" "5.2.0"
+
+"estraverse@^5.2.0":
+ "integrity" "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ=="
+ "resolved" "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz"
+ "version" "5.2.0"
+
+"estree-is-function@^1.0.0":
+ "integrity" "sha512-nSCWn1jkSq2QAtkaVLJZY2ezwcFO161HVc174zL1KPW3RJ+O6C3eJb8Nx7OXzvhoEv+nLgSR1g71oWUHUDTrJA=="
+ "resolved" "https://registry.npmjs.org/estree-is-function/-/estree-is-function-1.0.0.tgz"
+ "version" "1.0.0"
+
+"estree-is-identifier@^1.0.0":
+ "integrity" "sha512-2BDRGrkQJV/NhCAmmE33A35WAaxq3WQaGHgQuD//7orGWfpFqj8Srkwvx0TH+20yIdOF1yMQwi8anv5ISec2AQ=="
+ "resolved" "https://registry.npmjs.org/estree-is-identifier/-/estree-is-identifier-1.0.0.tgz"
+ "version" "1.0.0"
+
+"estree-is-member-expression@^1.0.0":
+ "integrity" "sha512-Ec+X44CapIGExvSZN+pGkmr5p7HwUVQoPQSd458Lqwvaf4/61k/invHSh4BYK8OXnCkfEhWuIoG5hayKLQStIg=="
+ "resolved" "https://registry.npmjs.org/estree-is-member-expression/-/estree-is-member-expression-1.0.0.tgz"
+ "version" "1.0.0"
+
+"estree-is-require@^1.0.0":
+ "integrity" "sha512-oWxQdSEmnUwNZsDQYiBNpVxKEhMmsJQSSxnDrwsr1MWtooCLfhgzsNGzmokdmfK0EzEIS5V4LPvqxv1Kmb1vvA=="
+ "resolved" "https://registry.npmjs.org/estree-is-require/-/estree-is-require-1.0.0.tgz"
+ "version" "1.0.0"
+ dependencies:
+ "estree-is-identifier" "^1.0.0"
+
+"esutils@^2.0.2":
+ "integrity" "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
+ "resolved" "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz"
+ "version" "2.0.3"
+
+"event-emitter@~0.3.5":
+ "integrity" "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk="
+ "resolved" "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz"
+ "version" "0.3.5"
+ dependencies:
+ "d" "1"
+ "es5-ext" "~0.10.14"
+
+"events@^3.0.0":
+ "integrity" "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="
+ "resolved" "https://registry.npmjs.org/events/-/events-3.3.0.tgz"
+ "version" "3.3.0"
+
+"evp_bytestokey@^1.0.0", "evp_bytestokey@^1.0.3":
+ "integrity" "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA=="
+ "resolved" "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz"
+ "version" "1.0.3"
+ dependencies:
+ "md5.js" "^1.3.4"
+ "safe-buffer" "^5.1.1"
+
+"ext@^1.1.2":
+ "integrity" "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A=="
+ "resolved" "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz"
+ "version" "1.4.0"
+ dependencies:
+ "type" "^2.0.0"
+
+"falafel@^2.1.0":
+ "integrity" "sha512-0HXjo8XASWRmsS0X1EkhwEMZaD3Qvp7FfURwjLKjG1ghfRm/MGZl2r4cWUTv41KdNghTw4OUMmVtdGQp3+H+uQ=="
+ "resolved" "https://registry.npmjs.org/falafel/-/falafel-2.2.4.tgz"
+ "version" "2.2.4"
+ dependencies:
+ "acorn" "^7.1.1"
+ "foreach" "^2.0.5"
+ "isarray" "^2.0.1"
+ "object-keys" "^1.0.6"
+
+"fast-deep-equal@^3.1.1":
+ "integrity" "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
+ "resolved" "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
+ "version" "3.1.3"
+
+"fast-glob@^3.1.1":
+ "integrity" "sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg=="
+ "resolved" "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz"
+ "version" "3.2.5"
+ dependencies:
+ "@nodelib/fs.stat" "^2.0.2"
+ "@nodelib/fs.walk" "^1.2.3"
+ "glob-parent" "^5.1.0"
+ "merge2" "^1.3.0"
+ "micromatch" "^4.0.2"
+ "picomatch" "^2.2.1"
+
+"fast-json-stable-stringify@^2.0.0":
+ "integrity" "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw=="
+ "resolved" "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz"
+ "version" "2.1.0"
+
+"fast-levenshtein@^2.0.6", "fast-levenshtein@~2.0.6":
+ "integrity" "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
+ "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"
+ "version" "2.0.6"
+
+"fast-safe-stringify@^2.0.7":
+ "integrity" "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA=="
+ "resolved" "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz"
+ "version" "2.0.7"
+
+"fastq@^1.6.0":
+ "integrity" "sha512-AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA=="
+ "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.10.1.tgz"
+ "version" "1.10.1"
+ dependencies:
+ "reusify" "^1.0.4"
+
+"file-entry-cache@^6.0.0":
+ "integrity" "sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA=="
+ "resolved" "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz"
+ "version" "6.0.0"
+ dependencies:
+ "flat-cache" "^3.0.4"
+
+"fill-range@^7.0.1":
+ "integrity" "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ=="
+ "resolved" "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz"
+ "version" "7.0.1"
+ dependencies:
+ "to-regex-range" "^5.0.1"
+
+"flat-cache@^3.0.4":
+ "integrity" "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg=="
+ "resolved" "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz"
+ "version" "3.0.4"
+ dependencies:
+ "flatted" "^3.1.0"
+ "rimraf" "^3.0.2"
+
+"flatted@^3.1.0":
+ "integrity" "sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA=="
+ "resolved" "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz"
+ "version" "3.1.1"
+
+"follow-redirects@^1.14.4":
+ "integrity" "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA=="
+ "resolved" "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz"
+ "version" "1.14.5"
+
+"foreach@^2.0.5":
+ "integrity" "sha1-C+4AUBiusmDQo6865ljdATbsG5k="
+ "resolved" "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz"
+ "version" "2.0.5"
+
+"from2-string@^1.1.0":
+ "integrity" "sha1-GCgrJ9CKJnyzAwzSuLSw8hKvdSo="
+ "resolved" "https://registry.npmjs.org/from2-string/-/from2-string-1.1.0.tgz"
+ "version" "1.1.0"
+ dependencies:
+ "from2" "^2.0.3"
+
+"from2@^2.0.3":
+ "integrity" "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8="
+ "resolved" "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz"
+ "version" "2.3.0"
+ dependencies:
+ "inherits" "^2.0.1"
+ "readable-stream" "^2.0.0"
+
+"fs.realpath@^1.0.0":
+ "integrity" "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
+ "resolved" "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz"
+ "version" "1.0.0"
+
+"fsevents@~2.3.1":
+ "integrity" "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA=="
+ "resolved" "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz"
+ "version" "2.3.2"
+
+"function-bind@^1.1.1":
+ "integrity" "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ "resolved" "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
+ "version" "1.1.1"
+
+"functional-red-black-tree@^1.0.1":
+ "integrity" "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc="
+ "resolved" "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz"
+ "version" "1.0.1"
+
+"get-assigned-identifiers@^1.1.0", "get-assigned-identifiers@^1.2.0":
+ "integrity" "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ=="
+ "resolved" "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz"
+ "version" "1.2.0"
+
+"get-intrinsic@^1.0.2", "get-intrinsic@^1.1.1":
+ "integrity" "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q=="
+ "resolved" "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz"
+ "version" "1.1.1"
+ dependencies:
+ "function-bind" "^1.1.1"
+ "has" "^1.0.3"
+ "has-symbols" "^1.0.1"
+
+"get-stream@^4.1.0":
+ "integrity" "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w=="
+ "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz"
+ "version" "4.1.0"
+ dependencies:
+ "pump" "^3.0.0"
+
+"get-stream@^5.1.0":
+ "integrity" "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA=="
+ "resolved" "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz"
+ "version" "5.2.0"
+ dependencies:
+ "pump" "^3.0.0"
+
+"glob-parent@^5.0.0", "glob-parent@^5.1.0", "glob-parent@~5.1.0":
+ "integrity" "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="
+ "resolved" "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
+ "version" "5.1.2"
+ dependencies:
+ "is-glob" "^4.0.1"
+
+"glob@^7.1.0", "glob@^7.1.3":
+ "integrity" "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA=="
+ "resolved" "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz"
+ "version" "7.1.6"
+ dependencies:
+ "fs.realpath" "^1.0.0"
+ "inflight" "^1.0.4"
+ "inherits" "2"
+ "minimatch" "^3.0.4"
+ "once" "^1.3.0"
+ "path-is-absolute" "^1.0.0"
+
+"global-dirs@^2.0.1":
+ "integrity" "sha512-MG6kdOUh/xBnyo9cJFeIKkLEc1AyFq42QTU4XiX51i2NEdxLxLWXIjEjmqKeSuKR7pAZjTqUVoT2b2huxVLgYQ=="
+ "resolved" "https://registry.npmjs.org/global-dirs/-/global-dirs-2.1.0.tgz"
+ "version" "2.1.0"
+ dependencies:
+ "ini" "1.3.7"
+
+"globals@^12.1.0":
+ "integrity" "sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg=="
+ "resolved" "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz"
+ "version" "12.4.0"
+ dependencies:
+ "type-fest" "^0.8.1"
+
+"globby@^11.0.1":
+ "integrity" "sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og=="
+ "resolved" "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz"
+ "version" "11.0.2"
+ dependencies:
+ "array-union" "^2.1.0"
+ "dir-glob" "^3.0.1"
+ "fast-glob" "^3.1.1"
+ "ignore" "^5.1.4"
+ "merge2" "^1.3.0"
+ "slash" "^3.0.0"
+
+"got@^9.6.0":
+ "integrity" "sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q=="
+ "resolved" "https://registry.npmjs.org/got/-/got-9.6.0.tgz"
+ "version" "9.6.0"
+ dependencies:
+ "@sindresorhus/is" "^0.14.0"
+ "@szmarczak/http-timer" "^1.1.2"
+ "cacheable-request" "^6.0.0"
+ "decompress-response" "^3.3.0"
+ "duplexer3" "^0.1.4"
+ "get-stream" "^4.1.0"
+ "lowercase-keys" "^1.0.1"
+ "mimic-response" "^1.0.1"
+ "p-cancelable" "^1.0.0"
+ "to-readable-stream" "^1.0.0"
+ "url-parse-lax" "^3.0.0"
+
+"graceful-fs@^4.1.2":
+ "integrity" "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
+ "resolved" "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz"
+ "version" "4.2.4"
+
+"has-ansi@^2.0.0":
+ "integrity" "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE="
+ "resolved" "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz"
+ "version" "2.0.0"
+ dependencies:
+ "ansi-regex" "^2.0.0"
+
+"has-bigints@^1.0.1":
+ "integrity" "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA=="
+ "resolved" "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz"
+ "version" "1.0.1"
+
+"has-flag@^3.0.0":
+ "integrity" "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+ "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
+ "version" "3.0.0"
+
+"has-flag@^4.0.0":
+ "integrity" "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
+ "resolved" "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz"
+ "version" "4.0.0"
+
+"has-symbols@^1.0.1", "has-symbols@^1.0.2":
+ "integrity" "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw=="
+ "resolved" "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz"
+ "version" "1.0.2"
+
+"has-yarn@^2.1.0":
+ "integrity" "sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw=="
+ "resolved" "https://registry.npmjs.org/has-yarn/-/has-yarn-2.1.0.tgz"
+ "version" "2.1.0"
+
+"has@^1.0.0", "has@^1.0.3":
+ "integrity" "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw=="
+ "resolved" "https://registry.npmjs.org/has/-/has-1.0.3.tgz"
+ "version" "1.0.3"
+ dependencies:
+ "function-bind" "^1.1.1"
+
+"hash-base@^3.0.0":
+ "integrity" "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA=="
+ "resolved" "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz"
+ "version" "3.1.0"
+ dependencies:
+ "inherits" "^2.0.4"
+ "readable-stream" "^3.6.0"
+ "safe-buffer" "^5.2.0"
+
+"hash.js@^1.0.0", "hash.js@^1.0.3":
+ "integrity" "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA=="
+ "resolved" "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz"
+ "version" "1.1.7"
+ dependencies:
+ "inherits" "^2.0.3"
+ "minimalistic-assert" "^1.0.1"
+
+"hmac-drbg@^1.0.1":
+ "integrity" "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE="
+ "resolved" "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz"
+ "version" "1.0.1"
+ dependencies:
+ "hash.js" "^1.0.3"
+ "minimalistic-assert" "^1.0.0"
+ "minimalistic-crypto-utils" "^1.0.1"
+
+"htmlescape@^1.1.0":
+ "integrity" "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E="
+ "resolved" "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz"
+ "version" "1.1.1"
+
+"http-cache-semantics@^4.0.0":
+ "integrity" "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ=="
+ "resolved" "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz"
+ "version" "4.1.0"
+
+"https-browserify@^1.0.0":
+ "integrity" "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM="
+ "resolved" "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz"
+ "version" "1.0.0"
+
+"ieee754@^1.1.4":
+ "integrity" "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
+ "resolved" "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
+ "version" "1.2.1"
+
+"ignore-by-default@^1.0.1":
+ "integrity" "sha1-SMptcvbGo68Aqa1K5odr44ieKwk="
+ "resolved" "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz"
+ "version" "1.0.1"
+
+"ignore@^4.0.6":
+ "integrity" "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg=="
+ "resolved" "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz"
+ "version" "4.0.6"
+
+"ignore@^5.1.4":
+ "integrity" "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw=="
+ "resolved" "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz"
+ "version" "5.1.8"
+
+"import-fresh@^3.0.0", "import-fresh@^3.2.1":
+ "integrity" "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw=="
+ "resolved" "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz"
+ "version" "3.3.0"
+ dependencies:
+ "parent-module" "^1.0.0"
+ "resolve-from" "^4.0.0"
+
+"import-lazy@^2.1.0":
+ "integrity" "sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM="
+ "resolved" "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz"
+ "version" "2.1.0"
+
+"imurmurhash@^0.1.4":
+ "integrity" "sha1-khi5srkoojixPcT7a21XbyMUU+o="
+ "resolved" "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz"
+ "version" "0.1.4"
+
+"inflight@^1.0.4":
+ "integrity" "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk="
+ "resolved" "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz"
+ "version" "1.0.6"
+ dependencies:
+ "once" "^1.3.0"
+ "wrappy" "1"
+
+"inherits@^2.0.1", "inherits@^2.0.3", "inherits@^2.0.4", "inherits@~2.0.1", "inherits@~2.0.3", "inherits@~2.0.4", "inherits@2":
+ "integrity" "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
+ "version" "2.0.4"
+
+"inherits@2.0.1":
+ "integrity" "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE="
+ "resolved" "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
+ "version" "2.0.1"
+
+"ini@~1.3.0":
+ "integrity" "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
+ "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz"
+ "version" "1.3.8"
+
+"ini@1.3.7":
+ "integrity" "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ=="
+ "resolved" "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz"
+ "version" "1.3.7"
+
+"inline-source-map@~0.6.0":
+ "integrity" "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU="
+ "resolved" "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz"
+ "version" "0.6.2"
+ dependencies:
+ "source-map" "~0.5.3"
+
+"insert-module-globals@^7.2.1":
+ "integrity" "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg=="
+ "resolved" "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.1.tgz"
+ "version" "7.2.1"
+ dependencies:
+ "acorn-node" "^1.5.2"
+ "combine-source-map" "^0.8.0"
+ "concat-stream" "^1.6.1"
+ "is-buffer" "^1.1.0"
+ "JSONStream" "^1.0.3"
+ "path-is-absolute" "^1.0.1"
+ "process" "~0.11.0"
+ "through2" "^2.0.0"
+ "undeclared-identifiers" "^1.1.2"
+ "xtend" "^4.0.0"
+
+"is-arguments@^1.0.4":
+ "integrity" "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg=="
+ "resolved" "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz"
+ "version" "1.1.0"
+ dependencies:
+ "call-bind" "^1.0.0"
+
+"is-bigint@^1.0.1":
+ "integrity" "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg=="
+ "resolved" "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz"
+ "version" "1.0.1"
+
+"is-binary-path@~2.1.0":
+ "integrity" "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="
+ "resolved" "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz"
+ "version" "2.1.0"
+ dependencies:
+ "binary-extensions" "^2.0.0"
+
+"is-boolean-object@^1.1.0":
+ "integrity" "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA=="
+ "resolved" "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz"
+ "version" "1.1.0"
+ dependencies:
+ "call-bind" "^1.0.0"
+
+"is-buffer@^1.1.0":
+ "integrity" "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+ "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz"
+ "version" "1.1.6"
+
+"is-buffer@^2.0.0":
+ "integrity" "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ=="
+ "resolved" "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz"
+ "version" "2.0.5"
+
+"is-callable@^1.1.4", "is-callable@^1.2.3":
+ "integrity" "sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ=="
+ "resolved" "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz"
+ "version" "1.2.3"
+
+"is-ci@^2.0.0":
+ "integrity" "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w=="
+ "resolved" "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz"
+ "version" "2.0.0"
+ dependencies:
+ "ci-info" "^2.0.0"
+
+"is-core-module@^2.2.0":
+ "integrity" "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ=="
+ "resolved" "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz"
+ "version" "2.2.0"
+ dependencies:
+ "has" "^1.0.3"
+
+"is-date-object@^1.0.1":
+ "integrity" "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g=="
+ "resolved" "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz"
+ "version" "1.0.2"
+
+"is-extglob@^2.1.1":
+ "integrity" "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+ "resolved" "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
+ "version" "2.1.1"
+
+"is-fullwidth-code-point@^3.0.0":
+ "integrity" "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
+ "resolved" "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz"
+ "version" "3.0.0"
+
+"is-generator-function@^1.0.7":
+ "integrity" "sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ=="
+ "resolved" "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.8.tgz"
+ "version" "1.0.8"
+
+"is-glob@^4.0.0", "is-glob@^4.0.1", "is-glob@~4.0.1":
+ "integrity" "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg=="
+ "resolved" "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz"
+ "version" "4.0.1"
+ dependencies:
+ "is-extglob" "^2.1.1"
+
+"is-installed-globally@^0.3.1":
+ "integrity" "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g=="
+ "resolved" "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz"
+ "version" "0.3.2"
+ dependencies:
+ "global-dirs" "^2.0.1"
+ "is-path-inside" "^3.0.1"
+
+"is-negative-zero@^2.0.1":
+ "integrity" "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w=="
+ "resolved" "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz"
+ "version" "2.0.1"
+
+"is-npm@^4.0.0":
+ "integrity" "sha512-96ECIfh9xtDDlPylNPXhzjsykHsMJZ18ASpaWzQyBr4YRTcVjUvzaHayDAES2oU/3KpljhHUjtSRNiDwi0F0ig=="
+ "resolved" "https://registry.npmjs.org/is-npm/-/is-npm-4.0.0.tgz"
+ "version" "4.0.0"
+
+"is-number-object@^1.0.4":
+ "integrity" "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw=="
+ "resolved" "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz"
+ "version" "1.0.4"
+
+"is-number@^7.0.0":
+ "integrity" "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+ "resolved" "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
+ "version" "7.0.0"
+
+"is-obj@^2.0.0":
+ "integrity" "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w=="
+ "resolved" "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz"
+ "version" "2.0.0"
+
+"is-path-inside@^3.0.1":
+ "integrity" "sha512-/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg=="
+ "resolved" "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz"
+ "version" "3.0.2"
+
+"is-regex@^1.0.4", "is-regex@^1.1.2":
+ "integrity" "sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg=="
+ "resolved" "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz"
+ "version" "1.1.2"
+ dependencies:
+ "call-bind" "^1.0.2"
+ "has-symbols" "^1.0.1"
+
+"is-string@^1.0.5":
+ "integrity" "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ=="
+ "resolved" "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz"
+ "version" "1.0.5"
+
+"is-symbol@^1.0.2", "is-symbol@^1.0.3":
+ "integrity" "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ=="
+ "resolved" "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz"
+ "version" "1.0.3"
+ dependencies:
+ "has-symbols" "^1.0.1"
+
+"is-typed-array@^1.1.3":
+ "integrity" "sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug=="
+ "resolved" "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.5.tgz"
+ "version" "1.1.5"
+ dependencies:
+ "available-typed-arrays" "^1.0.2"
+ "call-bind" "^1.0.2"
+ "es-abstract" "^1.18.0-next.2"
+ "foreach" "^2.0.5"
+ "has-symbols" "^1.0.1"
+
+"is-typedarray@^1.0.0":
+ "integrity" "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+ "resolved" "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz"
+ "version" "1.0.0"
+
+"is-yarn-global@^0.3.0":
+ "integrity" "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw=="
+ "resolved" "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz"
+ "version" "0.3.0"
+
+"isarray@^2.0.1":
+ "integrity" "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
+ "resolved" "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz"
+ "version" "2.0.5"
+
+"isarray@~1.0.0":
+ "integrity" "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+ "resolved" "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
+ "version" "1.0.0"
+
+"isexe@^2.0.0":
+ "integrity" "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ "resolved" "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz"
+ "version" "2.0.0"
+
+"js-tokens@^4.0.0":
+ "integrity" "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ "resolved" "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz"
+ "version" "4.0.0"
+
+"js-yaml@^3.13.1":
+ "integrity" "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g=="
+ "resolved" "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz"
+ "version" "3.14.1"
+ dependencies:
+ "argparse" "^1.0.7"
+ "esprima" "^4.0.0"
+
+"json-buffer@3.0.0":
+ "integrity" "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg="
+ "resolved" "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz"
+ "version" "3.0.0"
+
+"json-schema-traverse@^0.4.1":
+ "integrity" "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+ "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
+ "version" "0.4.1"
+
+"json-schema-traverse@^1.0.0":
+ "integrity" "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
+ "resolved" "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz"
+ "version" "1.0.0"
+
+"json-stable-stringify-without-jsonify@^1.0.1":
+ "integrity" "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE="
+ "resolved" "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz"
+ "version" "1.0.1"
+
+"jsonparse@^1.2.0":
+ "integrity" "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA="
+ "resolved" "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz"
+ "version" "1.3.1"
+
+"JSONStream@^1.0.3", "JSONStream@^1.3.2":
+ "integrity" "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ=="
+ "resolved" "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz"
+ "version" "1.3.5"
+ dependencies:
+ "jsonparse" "^1.2.0"
+ "through" ">=2.2.7 <3"
+
+"keyv@^3.0.0":
+ "integrity" "sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA=="
+ "resolved" "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz"
+ "version" "3.1.0"
+ dependencies:
+ "json-buffer" "3.0.0"
+
+"labeled-stream-splicer@^2.0.0":
+ "integrity" "sha512-Ca4LSXFFZUjPScRaqOcFxneA0VpKZr4MMYCljyQr4LIewTLb3Y0IUTIsnBBsVubIeEfxeSZpSjSsRM8APEQaAw=="
+ "resolved" "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.2.tgz"
+ "version" "2.0.2"
+ dependencies:
+ "inherits" "^2.0.1"
+ "stream-splicer" "^2.0.0"
+
+"latest-version@^5.0.0":
+ "integrity" "sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA=="
+ "resolved" "https://registry.npmjs.org/latest-version/-/latest-version-5.1.0.tgz"
+ "version" "5.1.0"
+ dependencies:
+ "package-json" "^6.3.0"
+
+"levn@^0.4.1":
+ "integrity" "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ=="
+ "resolved" "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz"
+ "version" "0.4.1"
+ dependencies:
+ "prelude-ls" "^1.2.1"
+ "type-check" "~0.4.0"
+
+"levn@~0.3.0":
+ "integrity" "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4="
+ "resolved" "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz"
+ "version" "0.3.0"
+ dependencies:
+ "prelude-ls" "~1.1.2"
+ "type-check" "~0.3.2"
+
+"lodash.memoize@~3.0.3":
+ "integrity" "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8="
+ "resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz"
+ "version" "3.0.4"
+
+"lodash@^4.17.15", "lodash@^4.17.20":
+ "integrity" "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ "resolved" "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
+ "version" "4.17.21"
+
+"lowercase-keys@^1.0.0", "lowercase-keys@^1.0.1":
+ "integrity" "sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA=="
+ "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz"
+ "version" "1.0.1"
+
+"lowercase-keys@^2.0.0":
+ "integrity" "sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="
+ "resolved" "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz"
+ "version" "2.0.0"
+
+"lru-cache@^6.0.0":
+ "integrity" "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="
+ "resolved" "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz"
+ "version" "6.0.0"
+ dependencies:
+ "yallist" "^4.0.0"
+
+"magic-string@^0.23.2":
+ "integrity" "sha512-oIUZaAxbcxYIp4AyLafV6OVKoB3YouZs0UTCJ8mOKBHNyJgGDaMJ4TgA+VylJh6fx7EQCC52XkbURxxG9IoJXA=="
+ "resolved" "https://registry.npmjs.org/magic-string/-/magic-string-0.23.2.tgz"
+ "version" "0.23.2"
+ dependencies:
+ "sourcemap-codec" "^1.4.1"
+
+"make-dir@^3.0.0":
+ "integrity" "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw=="
+ "resolved" "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz"
+ "version" "3.1.0"
+ dependencies:
+ "semver" "^6.0.0"
+
+"make-error@^1.1.1":
+ "integrity" "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw=="
+ "resolved" "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz"
+ "version" "1.3.6"
+
+"md5.js@^1.3.4":
+ "integrity" "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg=="
+ "resolved" "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz"
+ "version" "1.3.5"
+ dependencies:
+ "hash-base" "^3.0.0"
+ "inherits" "^2.0.1"
+ "safe-buffer" "^5.1.2"
+
+"merge-source-map@1.0.4":
+ "integrity" "sha1-pd5GU42uhNQRTMXqArR3KmNGcB8="
+ "resolved" "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.0.4.tgz"
+ "version" "1.0.4"
+ dependencies:
+ "source-map" "^0.5.6"
+
+"merge2@^1.3.0":
+ "integrity" "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
+ "resolved" "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
+ "version" "1.4.1"
+
+"micromatch@^4.0.2":
+ "integrity" "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q=="
+ "resolved" "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz"
+ "version" "4.0.2"
+ dependencies:
+ "braces" "^3.0.1"
+ "picomatch" "^2.0.5"
+
+"miller-rabin@^4.0.0":
+ "integrity" "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA=="
+ "resolved" "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz"
+ "version" "4.0.1"
+ dependencies:
+ "bn.js" "^4.0.0"
+ "brorand" "^1.0.1"
+
+"mimic-response@^1.0.0", "mimic-response@^1.0.1":
+ "integrity" "sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
+ "resolved" "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz"
+ "version" "1.0.1"
+
+"minify-stream@^2.0.1":
+ "integrity" "sha512-P5xE4EQRkn7Td54VGcgfDMFx1jmKPPIXCdcMfrbXS6cNHK4dO1LXwtYFb48hHrSmZfT+jlGImvHgSZEkbpNtCw=="
+ "resolved" "https://registry.npmjs.org/minify-stream/-/minify-stream-2.1.0.tgz"
+ "version" "2.1.0"
+ dependencies:
+ "concat-stream" "^2.0.0"
+ "convert-source-map" "^1.5.0"
+ "duplexify" "^4.1.1"
+ "from2-string" "^1.1.0"
+ "terser" "^4.7.0"
+ "xtend" "^4.0.1"
+
+"minimalistic-assert@^1.0.0", "minimalistic-assert@^1.0.1":
+ "integrity" "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A=="
+ "resolved" "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz"
+ "version" "1.0.1"
+
+"minimalistic-crypto-utils@^1.0.1":
+ "integrity" "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo="
+ "resolved" "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz"
+ "version" "1.0.1"
+
+"minimatch@^3.0.2", "minimatch@^3.0.4":
+ "integrity" "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA=="
+ "resolved" "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz"
+ "version" "3.0.4"
+ dependencies:
+ "brace-expansion" "^1.1.7"
+
+"minimist@^1.1.0", "minimist@^1.1.1", "minimist@^1.2.0":
+ "integrity" "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
+ "resolved" "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz"
+ "version" "1.2.5"
+
+"mkdirp-classic@^0.5.2":
+ "integrity" "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
+ "resolved" "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz"
+ "version" "0.5.3"
+
+"module-deps@^6.2.3":
+ "integrity" "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA=="
+ "resolved" "https://registry.npmjs.org/module-deps/-/module-deps-6.2.3.tgz"
+ "version" "6.2.3"
+ dependencies:
+ "browser-resolve" "^2.0.0"
+ "cached-path-relative" "^1.0.2"
+ "concat-stream" "~1.6.0"
+ "defined" "^1.0.0"
+ "detective" "^5.2.0"
+ "duplexer2" "^0.1.2"
+ "inherits" "^2.0.1"
+ "JSONStream" "^1.0.3"
+ "parents" "^1.0.0"
+ "readable-stream" "^2.0.2"
+ "resolve" "^1.4.0"
+ "stream-combiner2" "^1.1.1"
+ "subarg" "^1.0.0"
+ "through2" "^2.0.0"
+ "xtend" "^4.0.0"
+
+"ms@^2.1.1":
+ "integrity" "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
+ "version" "2.1.3"
+
+"ms@2.0.0":
+ "integrity" "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+ "resolved" "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
+ "version" "2.0.0"
+
+"ms@2.1.2":
+ "integrity" "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ "resolved" "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
+ "version" "2.1.2"
+
+"multi-stage-sourcemap@^0.2.1":
+ "integrity" "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU="
+ "resolved" "https://registry.npmjs.org/multi-stage-sourcemap/-/multi-stage-sourcemap-0.2.1.tgz"
+ "version" "0.2.1"
+ dependencies:
+ "source-map" "^0.1.34"
+
+"multisplice@^1.0.0":
+ "integrity" "sha512-KU5tVjIdTGsMb92JlWwEZCGrvtI1ku9G9GuNbWdQT/Ici1ztFXX0L8lWpbbC3pISVMfBNL56wdqplHvva2XSlA=="
+ "resolved" "https://registry.npmjs.org/multisplice/-/multisplice-1.0.0.tgz"
+ "version" "1.0.0"
+
+"mutexify@^1.1.0":
+ "integrity" "sha512-nU7mOEuaXiQIB/EgTIjYZJ7g8KqMm2D8l4qp+DqA4jxWOb/tnb1KEoqp+tlbdQIDIAiC1i7j7X/3yHDFXLxr9g=="
+ "resolved" "https://registry.npmjs.org/mutexify/-/mutexify-1.3.1.tgz"
+ "version" "1.3.1"
+
+"nanobench@^2.1.1":
+ "integrity" "sha512-z+Vv7zElcjN+OpzAxAquUayFLGK3JI/ubCl0Oh64YQqsTGG09CGqieJVQw4ui8huDnnAgrvTv93qi5UaOoNj8A=="
+ "resolved" "https://registry.npmjs.org/nanobench/-/nanobench-2.1.1.tgz"
+ "version" "2.1.1"
+ dependencies:
+ "browser-process-hrtime" "^0.1.2"
+ "chalk" "^1.1.3"
+ "mutexify" "^1.1.0"
+ "pretty-hrtime" "^1.0.2"
+
+"natural-compare@^1.4.0":
+ "integrity" "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc="
+ "resolved" "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz"
+ "version" "1.4.0"
+
+"next-tick@~1.0.0":
+ "integrity" "sha1-yobR/ogoFpsBICCOPchCS524NCw="
+ "resolved" "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz"
+ "version" "1.0.0"
+
+"nodemon@^2.0.7":
+ "integrity" "sha512-XHzK69Awgnec9UzHr1kc8EomQh4sjTQ8oRf8TsGrSmHDx9/UmiGG9E/mM3BuTfNeFwdNBvrqQq/RHL0xIeyFOA=="
+ "resolved" "https://registry.npmjs.org/nodemon/-/nodemon-2.0.7.tgz"
+ "version" "2.0.7"
+ dependencies:
+ "chokidar" "^3.2.2"
+ "debug" "^3.2.6"
+ "ignore-by-default" "^1.0.1"
+ "minimatch" "^3.0.4"
+ "pstree.remy" "^1.1.7"
+ "semver" "^5.7.1"
+ "supports-color" "^5.5.0"
+ "touch" "^3.1.0"
+ "undefsafe" "^2.0.3"
+ "update-notifier" "^4.1.0"
+
+"nopt@~1.0.10":
+ "integrity" "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4="
+ "resolved" "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz"
+ "version" "1.0.10"
+ dependencies:
+ "abbrev" "1"
+
+"normalize-path@^3.0.0", "normalize-path@~3.0.0":
+ "integrity" "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
+ "resolved" "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
+ "version" "3.0.0"
+
+"normalize-url@^4.1.0":
+ "integrity" "sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA=="
+ "resolved" "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.1.tgz"
+ "version" "4.5.1"
+
+"object-assign@^4.1.0", "object-assign@^4.1.1":
+ "integrity" "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ "resolved" "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
+ "version" "4.1.1"
+
+"object-inspect@^1.9.0":
+ "integrity" "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw=="
+ "resolved" "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz"
+ "version" "1.9.0"
+
+"object-is@^1.0.1":
+ "integrity" "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw=="
+ "resolved" "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz"
+ "version" "1.1.5"
+ dependencies:
+ "call-bind" "^1.0.2"
+ "define-properties" "^1.1.3"
+
+"object-keys@^1.0.12", "object-keys@^1.0.6", "object-keys@^1.1.1":
+ "integrity" "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
+ "resolved" "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz"
+ "version" "1.1.1"
+
+"object.assign@^4.1.2":
+ "integrity" "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ=="
+ "resolved" "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz"
+ "version" "4.1.2"
+ dependencies:
+ "call-bind" "^1.0.0"
+ "define-properties" "^1.1.3"
+ "has-symbols" "^1.0.1"
+ "object-keys" "^1.1.1"
+
+"once@^1.3.0", "once@^1.3.1", "once@^1.4.0":
+ "integrity" "sha1-WDsap3WWHUsROsF9nFC6753Xa9E="
+ "resolved" "https://registry.npmjs.org/once/-/once-1.4.0.tgz"
+ "version" "1.4.0"
+ dependencies:
+ "wrappy" "1"
+
+"optionator@^0.8.1":
+ "integrity" "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA=="
+ "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz"
+ "version" "0.8.3"
+ dependencies:
+ "deep-is" "~0.1.3"
+ "fast-levenshtein" "~2.0.6"
+ "levn" "~0.3.0"
+ "prelude-ls" "~1.1.2"
+ "type-check" "~0.3.2"
+ "word-wrap" "~1.2.3"
+
+"optionator@^0.9.1":
+ "integrity" "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw=="
+ "resolved" "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz"
+ "version" "0.9.1"
+ dependencies:
+ "deep-is" "^0.1.3"
+ "fast-levenshtein" "^2.0.6"
+ "levn" "^0.4.1"
+ "prelude-ls" "^1.2.1"
+ "type-check" "^0.4.0"
+ "word-wrap" "^1.2.3"
+
+"os-browserify@~0.3.0":
+ "integrity" "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc="
+ "resolved" "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz"
+ "version" "0.3.0"
+
+"p-cancelable@^1.0.0":
+ "integrity" "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw=="
+ "resolved" "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz"
+ "version" "1.1.0"
+
+"package-json@^6.3.0":
+ "integrity" "sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ=="
+ "resolved" "https://registry.npmjs.org/package-json/-/package-json-6.5.0.tgz"
+ "version" "6.5.0"
+ dependencies:
+ "got" "^9.6.0"
+ "registry-auth-token" "^4.0.0"
+ "registry-url" "^5.0.0"
+ "semver" "^6.2.0"
+
+"pako@~1.0.5":
+ "integrity" "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
+ "resolved" "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz"
+ "version" "1.0.11"
+
+"parent-module@^1.0.0":
+ "integrity" "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g=="
+ "resolved" "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz"
+ "version" "1.0.1"
+ dependencies:
+ "callsites" "^3.0.0"
+
+"parents@^1.0.0", "parents@^1.0.1":
+ "integrity" "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E="
+ "resolved" "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz"
+ "version" "1.0.1"
+ dependencies:
+ "path-platform" "~0.11.15"
+
+"parse-asn1@^5.0.0", "parse-asn1@^5.1.5":
+ "integrity" "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw=="
+ "resolved" "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz"
+ "version" "5.1.6"
+ dependencies:
+ "asn1.js" "^5.2.0"
+ "browserify-aes" "^1.0.0"
+ "evp_bytestokey" "^1.0.0"
+ "pbkdf2" "^3.0.3"
+ "safe-buffer" "^5.1.1"
+
+"path-browserify@^1.0.0":
+ "integrity" "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g=="
+ "resolved" "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz"
+ "version" "1.0.1"
+
+"path-is-absolute@^1.0.0", "path-is-absolute@^1.0.1":
+ "integrity" "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
+ "resolved" "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz"
+ "version" "1.0.1"
+
+"path-key@^3.1.0":
+ "integrity" "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
+ "resolved" "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz"
+ "version" "3.1.1"
+
+"path-parse@^1.0.5", "path-parse@^1.0.6":
+ "integrity" "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
+ "resolved" "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
+ "version" "1.0.7"
+
+"path-platform@~0.11.15":
+ "integrity" "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I="
+ "resolved" "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz"
+ "version" "0.11.15"
+
+"path-type@^4.0.0":
+ "integrity" "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
+ "resolved" "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz"
+ "version" "4.0.0"
+
+"pbkdf2@^3.0.3":
+ "integrity" "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg=="
+ "resolved" "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz"
+ "version" "3.1.1"
+ dependencies:
+ "create-hash" "^1.1.2"
+ "create-hmac" "^1.1.4"
+ "ripemd160" "^2.0.1"
+ "safe-buffer" "^5.0.1"
+ "sha.js" "^2.4.8"
+
+"picomatch@^2.0.4", "picomatch@^2.0.5", "picomatch@^2.2.1":
+ "integrity" "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg=="
+ "resolved" "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz"
+ "version" "2.2.2"
+
+"prelude-ls@^1.2.1":
+ "integrity" "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g=="
+ "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz"
+ "version" "1.2.1"
+
+"prelude-ls@~1.1.2":
+ "integrity" "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ="
+ "resolved" "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz"
+ "version" "1.1.2"
+
+"prepend-http@^2.0.0":
+ "integrity" "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc="
+ "resolved" "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz"
+ "version" "2.0.0"
+
+"pretty-hrtime@^1.0.2":
+ "integrity" "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE="
+ "resolved" "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz"
+ "version" "1.0.3"
+
+"process-nextick-args@~2.0.0":
+ "integrity" "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ "resolved" "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
+ "version" "2.0.1"
+
+"process@~0.11.0":
+ "integrity" "sha1-czIwDoQBYb2j5podHZGn1LwW8YI="
+ "resolved" "https://registry.npmjs.org/process/-/process-0.11.10.tgz"
+ "version" "0.11.10"
+
+"progress@^2.0.0":
+ "integrity" "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
+ "resolved" "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz"
+ "version" "2.0.3"
+
+"pstree.remy@^1.1.7":
+ "integrity" "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w=="
+ "resolved" "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz"
+ "version" "1.1.8"
+
+"public-encrypt@^4.0.0":
+ "integrity" "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q=="
+ "resolved" "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz"
+ "version" "4.0.3"
+ dependencies:
+ "bn.js" "^4.1.0"
+ "browserify-rsa" "^4.0.0"
+ "create-hash" "^1.1.0"
+ "parse-asn1" "^5.0.0"
+ "randombytes" "^2.0.1"
+ "safe-buffer" "^5.1.2"
+
+"pump@^3.0.0":
+ "integrity" "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww=="
+ "resolved" "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz"
+ "version" "3.0.0"
+ dependencies:
+ "end-of-stream" "^1.1.0"
+ "once" "^1.3.1"
+
+"punycode@^1.3.2":
+ "integrity" "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+ "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz"
+ "version" "1.4.1"
+
+"punycode@^2.1.0":
+ "integrity" "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+ "resolved" "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz"
+ "version" "2.1.1"
+
+"punycode@1.3.2":
+ "integrity" "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0="
+ "resolved" "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz"
+ "version" "1.3.2"
+
+"pupa@^2.0.1":
+ "integrity" "sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A=="
+ "resolved" "https://registry.npmjs.org/pupa/-/pupa-2.1.1.tgz"
+ "version" "2.1.1"
+ dependencies:
+ "escape-goat" "^2.0.0"
+
+"querystring-es3@~0.2.0":
+ "integrity" "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM="
+ "resolved" "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz"
+ "version" "0.2.1"
+
+"querystring@0.2.0":
+ "integrity" "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA="
+ "resolved" "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"
+ "version" "0.2.0"
+
+"randombytes@^2.0.0", "randombytes@^2.0.1", "randombytes@^2.0.5":
+ "integrity" "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ=="
+ "resolved" "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz"
+ "version" "2.1.0"
+ dependencies:
+ "safe-buffer" "^5.1.0"
+
+"randomfill@^1.0.3":
+ "integrity" "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw=="
+ "resolved" "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz"
+ "version" "1.0.4"
+ dependencies:
+ "randombytes" "^2.0.5"
+ "safe-buffer" "^5.1.0"
+
+"rc@^1.2.8":
+ "integrity" "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw=="
+ "resolved" "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz"
+ "version" "1.2.8"
+ dependencies:
+ "deep-extend" "^0.6.0"
+ "ini" "~1.3.0"
+ "minimist" "^1.2.0"
+ "strip-json-comments" "~2.0.1"
+
+"read-only-stream@^2.0.0":
+ "integrity" "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A="
+ "resolved" "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz"
+ "version" "2.0.0"
+ dependencies:
+ "readable-stream" "^2.0.2"
+
+"readable-stream@^2.0.0", "readable-stream@^2.0.2", "readable-stream@^2.2.2", "readable-stream@~2.3.6":
+ "integrity" "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw=="
+ "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz"
+ "version" "2.3.7"
+ dependencies:
+ "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"
+
+"readable-stream@^3.0.2":
+ "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA=="
+ "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz"
+ "version" "3.6.0"
+ dependencies:
+ "inherits" "^2.0.3"
+ "string_decoder" "^1.1.1"
+ "util-deprecate" "^1.0.1"
+
+"readable-stream@^3.1.1":
+ "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA=="
+ "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz"
+ "version" "3.6.0"
+ dependencies:
+ "inherits" "^2.0.3"
+ "string_decoder" "^1.1.1"
+ "util-deprecate" "^1.0.1"
+
+"readable-stream@^3.5.0":
+ "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA=="
+ "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz"
+ "version" "3.6.0"
+ dependencies:
+ "inherits" "^2.0.3"
+ "string_decoder" "^1.1.1"
+ "util-deprecate" "^1.0.1"
+
+"readable-stream@^3.6.0":
+ "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA=="
+ "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz"
+ "version" "3.6.0"
+ dependencies:
+ "inherits" "^2.0.3"
+ "string_decoder" "^1.1.1"
+ "util-deprecate" "^1.0.1"
+
+"readable-stream@2 || 3":
+ "integrity" "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA=="
+ "resolved" "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz"
+ "version" "3.6.0"
+ dependencies:
+ "inherits" "^2.0.3"
+ "string_decoder" "^1.1.1"
+ "util-deprecate" "^1.0.1"
+
+"readdirp@~3.5.0":
+ "integrity" "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ=="
+ "resolved" "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz"
+ "version" "3.5.0"
+ dependencies:
+ "picomatch" "^2.2.1"
+
+"regexp.prototype.flags@^1.2.0":
+ "integrity" "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA=="
+ "resolved" "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz"
+ "version" "1.3.1"
+ dependencies:
+ "call-bind" "^1.0.2"
+ "define-properties" "^1.1.3"
+
+"regexpp@^3.0.0", "regexpp@^3.1.0":
+ "integrity" "sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q=="
+ "resolved" "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz"
+ "version" "3.1.0"
+
+"registry-auth-token@^4.0.0":
+ "integrity" "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw=="
+ "resolved" "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz"
+ "version" "4.2.1"
+ dependencies:
+ "rc" "^1.2.8"
+
+"registry-url@^5.0.0":
+ "integrity" "sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw=="
+ "resolved" "https://registry.npmjs.org/registry-url/-/registry-url-5.1.0.tgz"
+ "version" "5.1.0"
+ dependencies:
+ "rc" "^1.2.8"
+
+"require-from-string@^2.0.2":
+ "integrity" "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="
+ "resolved" "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz"
+ "version" "2.0.2"
+
+"resolve-from@^4.0.0":
+ "integrity" "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
+ "resolved" "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz"
+ "version" "4.0.0"
+
+"resolve@^1.1.4", "resolve@^1.17.0", "resolve@^1.4.0":
+ "integrity" "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A=="
+ "resolved" "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz"
+ "version" "1.20.0"
+ dependencies:
+ "is-core-module" "^2.2.0"
+ "path-parse" "^1.0.6"
+
+"responselike@^1.0.2":
+ "integrity" "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec="
+ "resolved" "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz"
+ "version" "1.0.2"
+ dependencies:
+ "lowercase-keys" "^1.0.0"
+
+"reusify@^1.0.4":
+ "integrity" "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
+ "resolved" "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz"
+ "version" "1.0.4"
+
+"rimraf@^3.0.2":
+ "integrity" "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA=="
+ "resolved" "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz"
+ "version" "3.0.2"
+ dependencies:
+ "glob" "^7.1.3"
+
+"ripemd160@^2.0.0", "ripemd160@^2.0.1":
+ "integrity" "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA=="
+ "resolved" "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz"
+ "version" "2.0.2"
+ dependencies:
+ "hash-base" "^3.0.0"
+ "inherits" "^2.0.1"
+
+"run-parallel@^1.1.9":
+ "integrity" "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw=="
+ "resolved" "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz"
+ "version" "1.1.10"
+
+"safe-buffer@^5.0.1", "safe-buffer@^5.1.0", "safe-buffer@^5.1.1", "safe-buffer@^5.1.2", "safe-buffer@^5.2.0", "safe-buffer@~5.2.0":
+ "integrity" "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
+ "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
+ "version" "5.2.1"
+
+"safe-buffer@~5.1.0", "safe-buffer@~5.1.1":
+ "integrity" "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ "resolved" "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
+ "version" "5.1.2"
+
+"safer-buffer@^2.1.0":
+ "integrity" "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ "resolved" "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
+ "version" "2.1.2"
+
+"scope-analyzer@^2.0.0":
+ "integrity" "sha512-azEAihtQ9mEyZGhfgTJy3IbOWEzeOrYbg7NcYEshPKnKd+LZmC3TNd5dmDxbLBsTG/JVWmCp+vDJ03vJjeXMHg=="
+ "resolved" "https://registry.npmjs.org/scope-analyzer/-/scope-analyzer-2.1.1.tgz"
+ "version" "2.1.1"
+ dependencies:
+ "array-from" "^2.1.1"
+ "dash-ast" "^1.0.0"
+ "es6-map" "^0.1.5"
+ "es6-set" "^0.1.5"
+ "es6-symbol" "^3.1.1"
+ "estree-is-function" "^1.0.0"
+ "get-assigned-identifiers" "^1.1.0"
+
+"semver-diff@^3.1.1":
+ "integrity" "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg=="
+ "resolved" "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz"
+ "version" "3.1.1"
+ dependencies:
+ "semver" "^6.3.0"
+
+"semver@^5.7.1":
+ "integrity" "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ "resolved" "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz"
+ "version" "5.7.1"
+
+"semver@^6.0.0", "semver@^6.2.0", "semver@^6.3.0":
+ "integrity" "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+ "resolved" "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
+ "version" "6.3.0"
+
+"semver@^7.2.1":
+ "integrity" "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw=="
+ "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz"
+ "version" "7.3.4"
+ dependencies:
+ "lru-cache" "^6.0.0"
+
+"semver@^7.3.2":
+ "integrity" "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw=="
+ "resolved" "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz"
+ "version" "7.3.4"
+ dependencies:
+ "lru-cache" "^6.0.0"
+
+"sha.js@^2.4.0", "sha.js@^2.4.8":
+ "integrity" "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ=="
+ "resolved" "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz"
+ "version" "2.4.11"
+ dependencies:
+ "inherits" "^2.0.1"
+ "safe-buffer" "^5.0.1"
+
+"shasum-object@^1.0.0":
+ "integrity" "sha512-Iqo5rp/3xVi6M4YheapzZhhGPVs0yZwHj7wvwQ1B9z8H6zk+FEnI7y3Teq7qwnekfEhu8WmG2z0z4iWZaxLWVg=="
+ "resolved" "https://registry.npmjs.org/shasum-object/-/shasum-object-1.0.0.tgz"
+ "version" "1.0.0"
+ dependencies:
+ "fast-safe-stringify" "^2.0.7"
+
+"shebang-command@^2.0.0":
+ "integrity" "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA=="
+ "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz"
+ "version" "2.0.0"
+ dependencies:
+ "shebang-regex" "^3.0.0"
+
+"shebang-regex@^3.0.0":
+ "integrity" "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
+ "resolved" "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz"
+ "version" "3.0.0"
+
+"shell-quote@^1.6.1":
+ "integrity" "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg=="
+ "resolved" "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz"
+ "version" "1.7.2"
+
+"signal-exit@^3.0.2":
+ "integrity" "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
+ "resolved" "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz"
+ "version" "3.0.3"
+
+"simple-concat@^1.0.0":
+ "integrity" "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="
+ "resolved" "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz"
+ "version" "1.0.1"
+
+"slash@^3.0.0":
+ "integrity" "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
+ "resolved" "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz"
+ "version" "3.0.0"
+
+"slice-ansi@^4.0.0":
+ "integrity" "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ=="
+ "resolved" "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz"
+ "version" "4.0.0"
+ dependencies:
+ "ansi-styles" "^4.0.0"
+ "astral-regex" "^2.0.0"
+ "is-fullwidth-code-point" "^3.0.0"
+
+"source-map-support@^0.5.17", "source-map-support@~0.5.10", "source-map-support@~0.5.12":
+ "integrity" "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw=="
+ "resolved" "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz"
+ "version" "0.5.19"
+ dependencies:
+ "buffer-from" "^1.0.0"
+ "source-map" "^0.6.0"
+
+"source-map@^0.1.34":
+ "integrity" "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y="
+ "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz"
+ "version" "0.1.43"
+ dependencies:
+ "amdefine" ">=0.0.4"
+
+"source-map@^0.5.6":
+ "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
+ "version" "0.5.7"
+
+"source-map@^0.6.0", "source-map@~0.6.1":
+ "integrity" "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz"
+ "version" "0.6.1"
+
+"source-map@~0.5.3":
+ "integrity" "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+ "resolved" "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz"
+ "version" "0.5.7"
+
+"sourcemap-codec@^1.4.1":
+ "integrity" "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
+ "resolved" "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz"
+ "version" "1.4.8"
+
+"sprintf-js@~1.0.2":
+ "integrity" "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+ "resolved" "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
+ "version" "1.0.3"
+
+"stream-browserify@^3.0.0":
+ "integrity" "sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA=="
+ "resolved" "https://registry.npmjs.org/stream-browserify/-/stream-browserify-3.0.0.tgz"
+ "version" "3.0.0"
+ dependencies:
+ "inherits" "~2.0.4"
+ "readable-stream" "^3.5.0"
+
+"stream-combiner@^0.2.2":
+ "integrity" "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg="
+ "resolved" "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz"
+ "version" "0.2.2"
+ dependencies:
+ "duplexer" "~0.1.1"
+ "through" "~2.3.4"
+
+"stream-combiner2@^1.1.1":
+ "integrity" "sha1-+02KFCDqNidk4hrUeAOXvry0HL4="
+ "resolved" "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz"
+ "version" "1.1.1"
+ dependencies:
+ "duplexer2" "~0.1.0"
+ "readable-stream" "^2.0.2"
+
+"stream-http@^3.0.0":
+ "integrity" "sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg=="
+ "resolved" "https://registry.npmjs.org/stream-http/-/stream-http-3.1.1.tgz"
+ "version" "3.1.1"
+ dependencies:
+ "builtin-status-codes" "^3.0.0"
+ "inherits" "^2.0.4"
+ "readable-stream" "^3.6.0"
+ "xtend" "^4.0.2"
+
+"stream-shift@^1.0.0":
+ "integrity" "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ=="
+ "resolved" "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz"
+ "version" "1.0.1"
+
+"stream-splicer@^2.0.0":
+ "integrity" "sha512-Xizh4/NPuYSyAXyT7g8IvdJ9HJpxIGL9PjyhtywCZvvP0OPIdqyrr4dMikeuvY8xahpdKEBlBTySe583totajg=="
+ "resolved" "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.1.tgz"
+ "version" "2.0.1"
+ dependencies:
+ "inherits" "^2.0.1"
+ "readable-stream" "^2.0.2"
+
+"string_decoder@^1.1.1":
+ "integrity" "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="
+ "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
+ "version" "1.3.0"
+ dependencies:
+ "safe-buffer" "~5.2.0"
+
+"string_decoder@~1.1.1":
+ "integrity" "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg=="
+ "resolved" "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
+ "version" "1.1.1"
+ dependencies:
+ "safe-buffer" "~5.1.0"
+
+"string-width@^4.0.0", "string-width@^4.1.0", "string-width@^4.2.0":
+ "integrity" "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg=="
+ "resolved" "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz"
+ "version" "4.2.0"
+ dependencies:
+ "emoji-regex" "^8.0.0"
+ "is-fullwidth-code-point" "^3.0.0"
+ "strip-ansi" "^6.0.0"
+
+"string.prototype.trimend@^1.0.4":
+ "integrity" "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A=="
+ "resolved" "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz"
+ "version" "1.0.4"
+ dependencies:
+ "call-bind" "^1.0.2"
+ "define-properties" "^1.1.3"
+
+"string.prototype.trimstart@^1.0.4":
+ "integrity" "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw=="
+ "resolved" "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz"
+ "version" "1.0.4"
+ dependencies:
+ "call-bind" "^1.0.2"
+ "define-properties" "^1.1.3"
+
+"strip-ansi@^3.0.0":
+ "integrity" "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8="
+ "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz"
+ "version" "3.0.1"
+ dependencies:
+ "ansi-regex" "^2.0.0"
+
+"strip-ansi@^6.0.0":
+ "integrity" "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w=="
+ "resolved" "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz"
+ "version" "6.0.0"
+ dependencies:
+ "ansi-regex" "^5.0.0"
+
+"strip-json-comments@^3.1.0", "strip-json-comments@^3.1.1":
+ "integrity" "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
+ "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz"
+ "version" "3.1.1"
+
+"strip-json-comments@~2.0.1":
+ "integrity" "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
+ "resolved" "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz"
+ "version" "2.0.1"
+
+"subarg@^1.0.0":
+ "integrity" "sha1-9izxdYHplrSPyWVpn1TAauJouNI="
+ "resolved" "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz"
+ "version" "1.0.0"
+ dependencies:
+ "minimist" "^1.1.0"
+
+"supports-color@^2.0.0":
+ "integrity" "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc="
+ "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
+ "version" "2.0.0"
+
+"supports-color@^5.3.0", "supports-color@^5.5.0":
+ "integrity" "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="
+ "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
+ "version" "5.5.0"
+ dependencies:
+ "has-flag" "^3.0.0"
+
+"supports-color@^7.1.0":
+ "integrity" "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw=="
+ "resolved" "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz"
+ "version" "7.2.0"
+ dependencies:
+ "has-flag" "^4.0.0"
+
+"syntax-error@^1.1.1":
+ "integrity" "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w=="
+ "resolved" "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz"
+ "version" "1.4.0"
+ dependencies:
+ "acorn-node" "^1.2.0"
+
+"table@^6.0.4":
+ "integrity" "sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g=="
+ "resolved" "https://registry.npmjs.org/table/-/table-6.0.7.tgz"
+ "version" "6.0.7"
+ dependencies:
+ "ajv" "^7.0.2"
+ "lodash" "^4.17.20"
+ "slice-ansi" "^4.0.0"
+ "string-width" "^4.2.0"
+
+"term-size@^2.1.0":
+ "integrity" "sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg=="
+ "resolved" "https://registry.npmjs.org/term-size/-/term-size-2.2.1.tgz"
+ "version" "2.2.1"
+
+"terser@^3.7.5":
+ "integrity" "sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ=="
+ "resolved" "https://registry.npmjs.org/terser/-/terser-3.17.0.tgz"
+ "version" "3.17.0"
+ dependencies:
+ "commander" "^2.19.0"
+ "source-map" "~0.6.1"
+ "source-map-support" "~0.5.10"
+
+"terser@^4.7.0":
+ "integrity" "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw=="
+ "resolved" "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz"
+ "version" "4.8.0"
+ dependencies:
+ "commander" "^2.20.0"
+ "source-map" "~0.6.1"
+ "source-map-support" "~0.5.12"
+
+"text-table@^0.2.0":
+ "integrity" "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ="
+ "resolved" "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz"
+ "version" "0.2.0"
+
+"through@^2.3.7", "through@>=2.2.7 <3", "through@~2.3.4":
+ "integrity" "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+ "resolved" "https://registry.npmjs.org/through/-/through-2.3.8.tgz"
+ "version" "2.3.8"
+
+"through2@^2.0.0", "through2@^2.0.3", "through2@^2.0.5":
+ "integrity" "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ=="
+ "resolved" "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz"
+ "version" "2.0.5"
+ dependencies:
+ "readable-stream" "~2.3.6"
+ "xtend" "~4.0.1"
+
+"through2@^3.0.1":
+ "integrity" "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ=="
+ "resolved" "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz"
+ "version" "3.0.2"
+ dependencies:
+ "inherits" "^2.0.4"
+ "readable-stream" "2 || 3"
+
+"timers-browserify@^1.0.1":
+ "integrity" "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0="
+ "resolved" "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz"
+ "version" "1.4.2"
+ dependencies:
+ "process" "~0.11.0"
+
+"tinyify@^3.0.0":
+ "integrity" "sha512-RtjVjC1xwwxt8AMVfxEmo+FzRJB6p5sAOtFaJj8vMrkWShtArsM4dLVRWhx2Vc07Me3NWgmP7pi9UPm/a2XNNA=="
+ "resolved" "https://registry.npmjs.org/tinyify/-/tinyify-3.0.0.tgz"
+ "version" "3.0.0"
+ dependencies:
+ "@goto-bus-stop/envify" "^5.0.0"
+ "acorn-node" "^1.8.2"
+ "browser-pack-flat" "^3.0.9"
+ "bundle-collapser" "^1.3.0"
+ "common-shakeify" "^0.6.0"
+ "dash-ast" "^1.0.0"
+ "minify-stream" "^2.0.1"
+ "multisplice" "^1.0.0"
+ "through2" "^3.0.1"
+ "uglifyify" "^5.0.0"
+ "unassertify" "^2.1.1"
+
+"to-readable-stream@^1.0.0":
+ "integrity" "sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q=="
+ "resolved" "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz"
+ "version" "1.0.0"
+
+"to-regex-range@^5.0.1":
+ "integrity" "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="
+ "resolved" "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"
+ "version" "5.0.1"
+ dependencies:
+ "is-number" "^7.0.0"
+
+"touch@^3.1.0":
+ "integrity" "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA=="
+ "resolved" "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz"
+ "version" "3.1.0"
+ dependencies:
+ "nopt" "~1.0.10"
+
+"transform-ast@^2.4.2", "transform-ast@^2.4.3":
+ "integrity" "sha512-AxjeZAcIOUO2lev2GDe3/xZ1Q0cVGjIMk5IsriTy8zbWlsEnjeB025AhkhBJHoy997mXpLd4R+kRbvnnQVuQHQ=="
+ "resolved" "https://registry.npmjs.org/transform-ast/-/transform-ast-2.4.4.tgz"
+ "version" "2.4.4"
+ dependencies:
+ "acorn-node" "^1.3.0"
+ "convert-source-map" "^1.5.1"
+ "dash-ast" "^1.0.0"
+ "is-buffer" "^2.0.0"
+ "magic-string" "^0.23.2"
+ "merge-source-map" "1.0.4"
+ "nanobench" "^2.1.1"
+
+"ts-node@^9.1.1":
+ "integrity" "sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg=="
+ "resolved" "https://registry.npmjs.org/ts-node/-/ts-node-9.1.1.tgz"
+ "version" "9.1.1"
+ dependencies:
+ "arg" "^4.1.0"
+ "create-require" "^1.1.0"
+ "diff" "^4.0.1"
+ "make-error" "^1.1.1"
+ "source-map-support" "^0.5.17"
+ "yn" "3.1.1"
+
+"tslib@^1.8.1":
+ "integrity" "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"
+ "version" "1.14.1"
+
+"tsutils@^3.17.1":
+ "integrity" "sha512-RYbuQuvkhuqVeXweWT3tJLKOEJ/UUw9GjNEZGWdrLLlM+611o1gwLHBpxoFJKKl25fLprp2eVthtKs5JOrNeXg=="
+ "resolved" "https://registry.npmjs.org/tsutils/-/tsutils-3.20.0.tgz"
+ "version" "3.20.0"
+ dependencies:
+ "tslib" "^1.8.1"
+
+"tty-browserify@0.0.1":
+ "integrity" "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw=="
+ "resolved" "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz"
+ "version" "0.0.1"
+
+"type-check@^0.4.0":
+ "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="
+ "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz"
+ "version" "0.4.0"
+ dependencies:
+ "prelude-ls" "^1.2.1"
+
+"type-check@~0.3.2":
+ "integrity" "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I="
+ "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz"
+ "version" "0.3.2"
+ dependencies:
+ "prelude-ls" "~1.1.2"
+
+"type-check@~0.4.0":
+ "integrity" "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew=="
+ "resolved" "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz"
+ "version" "0.4.0"
+ dependencies:
+ "prelude-ls" "^1.2.1"
+
+"type-fest@^0.8.1":
+ "integrity" "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA=="
+ "resolved" "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz"
+ "version" "0.8.1"
+
+"type@^1.0.1":
+ "integrity" "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg=="
+ "resolved" "https://registry.npmjs.org/type/-/type-1.2.0.tgz"
+ "version" "1.2.0"
+
+"type@^2.0.0":
+ "integrity" "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw=="
+ "resolved" "https://registry.npmjs.org/type/-/type-2.5.0.tgz"
+ "version" "2.5.0"
+
+"typedarray-to-buffer@^3.1.5":
+ "integrity" "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q=="
+ "resolved" "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz"
+ "version" "3.1.5"
+ dependencies:
+ "is-typedarray" "^1.0.0"
+
+"typedarray@^0.0.6":
+ "integrity" "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+ "resolved" "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
+ "version" "0.0.6"
+
+"typescript@^4.1.3", "typescript@>=2.7", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta":
+ "integrity" "sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg=="
+ "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz"
+ "version" "4.1.3"
+
+"uglifyify@^5.0.0":
+ "integrity" "sha512-NcSk6pgoC+IgwZZ2tVLVHq+VNKSvLPlLkF5oUiHPVOJI0s/OlSVYEGXG9PCAH0hcyFZLyvt4KBdPAQBRlVDn1Q=="
+ "resolved" "https://registry.npmjs.org/uglifyify/-/uglifyify-5.0.2.tgz"
+ "version" "5.0.2"
+ dependencies:
+ "convert-source-map" "~1.1.0"
+ "minimatch" "^3.0.2"
+ "terser" "^3.7.5"
+ "through" "~2.3.4"
+ "xtend" "^4.0.1"
+
+"umd@^3.0.0", "umd@^3.0.3":
+ "integrity" "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow=="
+ "resolved" "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz"
+ "version" "3.0.3"
+
+"unassert@^1.3.1":
+ "integrity" "sha512-GoMtWTwGSxSFuRD0NKmbjlx3VJkgvSogzDzMPpJXYmBZv6MIWButsyMqEYhMx3NI4osXACcZA9mXiBteXyJtRw=="
+ "resolved" "https://registry.npmjs.org/unassert/-/unassert-1.6.0.tgz"
+ "version" "1.6.0"
+ dependencies:
+ "acorn" "^7.0.0"
+ "call-matcher" "^2.0.0"
+ "deep-equal" "^1.0.0"
+ "espurify" "^2.0.1"
+ "estraverse" "^4.1.0"
+ "esutils" "^2.0.2"
+ "object-assign" "^4.1.0"
+
+"unassertify@^2.1.1":
+ "integrity" "sha512-YIAaIlc6/KC9Oib8cVZLlpDDhK1UTEuaDyx9BwD97xqxDZC0cJOqwFcs/Y6K3m73B5VzHsRTBLXNO0dxS/GkTw=="
+ "resolved" "https://registry.npmjs.org/unassertify/-/unassertify-2.1.1.tgz"
+ "version" "2.1.1"
+ dependencies:
+ "acorn" "^5.1.0"
+ "convert-source-map" "^1.1.1"
+ "escodegen" "^1.6.1"
+ "multi-stage-sourcemap" "^0.2.1"
+ "through" "^2.3.7"
+ "unassert" "^1.3.1"
+
+"unbox-primitive@^1.0.0":
+ "integrity" "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw=="
+ "resolved" "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz"
+ "version" "1.0.1"
+ dependencies:
+ "function-bind" "^1.1.1"
+ "has-bigints" "^1.0.1"
+ "has-symbols" "^1.0.2"
+ "which-boxed-primitive" "^1.0.2"
+
+"undeclared-identifiers@^1.1.2":
+ "integrity" "sha512-pJOW4nxjlmfwKApE4zvxLScM/njmwj/DiUBv7EabwE4O8kRUy+HIwxQtZLBPll/jx1LJyBcqNfB3/cpv9EZwOw=="
+ "resolved" "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.3.tgz"
+ "version" "1.1.3"
+ dependencies:
+ "acorn-node" "^1.3.0"
+ "dash-ast" "^1.0.0"
+ "get-assigned-identifiers" "^1.2.0"
+ "simple-concat" "^1.0.0"
+ "xtend" "^4.0.1"
+
+"undefsafe@^2.0.3":
+ "integrity" "sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A=="
+ "resolved" "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.3.tgz"
+ "version" "2.0.3"
+ dependencies:
+ "debug" "^2.2.0"
+
+"unique-string@^2.0.0":
+ "integrity" "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg=="
+ "resolved" "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz"
+ "version" "2.0.0"
+ dependencies:
+ "crypto-random-string" "^2.0.0"
+
+"update-notifier@^4.1.0":
+ "integrity" "sha512-Yld6Z0RyCYGB6ckIjffGOSOmHXj1gMeE7aROz4MG+XMkmixBX4jUngrGXNYz7wPKBmtoD4MnBa2Anu7RSKht/A=="
+ "resolved" "https://registry.npmjs.org/update-notifier/-/update-notifier-4.1.3.tgz"
+ "version" "4.1.3"
+ dependencies:
+ "boxen" "^4.2.0"
+ "chalk" "^3.0.0"
+ "configstore" "^5.0.1"
+ "has-yarn" "^2.1.0"
+ "import-lazy" "^2.1.0"
+ "is-ci" "^2.0.0"
+ "is-installed-globally" "^0.3.1"
+ "is-npm" "^4.0.0"
+ "is-yarn-global" "^0.3.0"
+ "latest-version" "^5.0.0"
+ "pupa" "^2.0.1"
+ "semver-diff" "^3.1.1"
+ "xdg-basedir" "^4.0.0"
+
+"uri-js@^4.2.2":
+ "integrity" "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg=="
+ "resolved" "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz"
+ "version" "4.4.1"
+ dependencies:
+ "punycode" "^2.1.0"
+
+"url-parse-lax@^3.0.0":
+ "integrity" "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww="
+ "resolved" "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz"
+ "version" "3.0.0"
+ dependencies:
+ "prepend-http" "^2.0.0"
+
+"url@~0.11.0":
+ "integrity" "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE="
+ "resolved" "https://registry.npmjs.org/url/-/url-0.11.0.tgz"
+ "version" "0.11.0"
+ dependencies:
+ "punycode" "1.3.2"
+ "querystring" "0.2.0"
+
+"util-deprecate@^1.0.1", "util-deprecate@~1.0.1":
+ "integrity" "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ "resolved" "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
+ "version" "1.0.2"
+
+"util@~0.12.0":
+ "integrity" "sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog=="
+ "resolved" "https://registry.npmjs.org/util/-/util-0.12.3.tgz"
+ "version" "0.12.3"
+ dependencies:
+ "inherits" "^2.0.3"
+ "is-arguments" "^1.0.4"
+ "is-generator-function" "^1.0.7"
+ "is-typed-array" "^1.1.3"
+ "safe-buffer" "^5.1.2"
+ "which-typed-array" "^1.1.2"
+
+"util@0.10.3":
+ "integrity" "sha1-evsa/lCAUkZInj23/g7TeTNqwPk="
+ "resolved" "https://registry.npmjs.org/util/-/util-0.10.3.tgz"
+ "version" "0.10.3"
+ dependencies:
+ "inherits" "2.0.1"
+
+"v8-compile-cache@^2.0.3":
+ "integrity" "sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q=="
+ "resolved" "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz"
+ "version" "2.2.0"
+
+"vm-browserify@^1.0.0":
+ "integrity" "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ=="
+ "resolved" "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz"
+ "version" "1.1.2"
+
+"which-boxed-primitive@^1.0.2":
+ "integrity" "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg=="
+ "resolved" "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz"
+ "version" "1.0.2"
+ dependencies:
+ "is-bigint" "^1.0.1"
+ "is-boolean-object" "^1.1.0"
+ "is-number-object" "^1.0.4"
+ "is-string" "^1.0.5"
+ "is-symbol" "^1.0.3"
+
+"which-typed-array@^1.1.2":
+ "integrity" "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA=="
+ "resolved" "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz"
+ "version" "1.1.4"
+ dependencies:
+ "available-typed-arrays" "^1.0.2"
+ "call-bind" "^1.0.0"
+ "es-abstract" "^1.18.0-next.1"
+ "foreach" "^2.0.5"
+ "function-bind" "^1.1.1"
+ "has-symbols" "^1.0.1"
+ "is-typed-array" "^1.1.3"
+
+"which@^2.0.1":
+ "integrity" "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA=="
+ "resolved" "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
+ "version" "2.0.2"
+ dependencies:
+ "isexe" "^2.0.0"
+
+"widest-line@^3.1.0":
+ "integrity" "sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg=="
+ "resolved" "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz"
+ "version" "3.1.0"
+ dependencies:
+ "string-width" "^4.0.0"
+
+"word-wrap@^1.2.3", "word-wrap@~1.2.3":
+ "integrity" "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
+ "resolved" "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz"
+ "version" "1.2.3"
+
+"wrap-comment@^1.0.0", "wrap-comment@^1.0.1":
+ "integrity" "sha512-APccrMwl/ont0RHFTXNAQfM647duYYEfs6cngrIyTByTI0xbWnDnPSptFZhS68L4WCjt2ZxuhCFwuY6Pe88KZQ=="
+ "resolved" "https://registry.npmjs.org/wrap-comment/-/wrap-comment-1.0.1.tgz"
+ "version" "1.0.1"
+
+"wrappy@1":
+ "integrity" "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ "resolved" "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
+ "version" "1.0.2"
+
+"write-file-atomic@^3.0.0":
+ "integrity" "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q=="
+ "resolved" "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz"
+ "version" "3.0.3"
+ dependencies:
+ "imurmurhash" "^0.1.4"
+ "is-typedarray" "^1.0.0"
+ "signal-exit" "^3.0.2"
+ "typedarray-to-buffer" "^3.1.5"
+
+"ws@8.3.0":
+ "integrity" "sha512-Gs5EZtpqZzLvmIM59w4igITU57lrtYVFneaa434VROv4thzJyV6UjIL3D42lslWlI+D4KzLYnxSwtfuiO79sNw=="
+ "resolved" "https://registry.npmjs.org/ws/-/ws-8.3.0.tgz"
+ "version" "8.3.0"
+
+"xdg-basedir@^4.0.0":
+ "integrity" "sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q=="
+ "resolved" "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-4.0.0.tgz"
+ "version" "4.0.0"
+
+"xtend@^4.0.0", "xtend@^4.0.1", "xtend@^4.0.2", "xtend@~4.0.1":
+ "integrity" "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
+ "resolved" "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"
+ "version" "4.0.2"
+
+"yallist@^4.0.0":
+ "integrity" "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
+ "resolved" "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz"
+ "version" "4.0.0"
+
+"yn@3.1.1":
+ "integrity" "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q=="
+ "resolved" "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz"
+ "version" "3.1.1"