From 08744fd0eeefafac7e225e4d7dabab9f73eab01d Mon Sep 17 00:00:00 2001 From: thecodrr Date: Wed, 19 Jan 2022 17:09:43 +0500 Subject: [PATCH] test(importer): improve packed payload test --- packages/importer/__tests__/providers.test.ts | 14 +- packages/importer/package-lock.json | 2394 ++++++++--------- packages/importer/package.json | 4 +- .../__tests__/providers.test.ts.test.cjs | 141 +- 4 files changed, 1214 insertions(+), 1339 deletions(-) diff --git a/packages/importer/__tests__/providers.test.ts b/packages/importer/__tests__/providers.test.ts index bf8f816db..bdabb214b 100644 --- a/packages/importer/__tests__/providers.test.ts +++ b/packages/importer/__tests__/providers.test.ts @@ -4,9 +4,14 @@ import { getFiles } from "./utils"; import { xxh64 } from "@node-rs/xxhash"; import { IHasher } from "../src/utils/hasher"; import { ProviderFactory, Providers } from "../src/providers/providerfactory"; +import { unzipSync } from "fflate"; const hasher: IHasher = { - hash: async (data) => xxh64(data).toString(16), + hash: async (data) => { + if (data instanceof Uint8Array) + return xxh64(Buffer.from(data.buffer)).toString(16); + return xxh64(data).toString(16); + }, type: "xxh64", }; @@ -19,7 +24,7 @@ for (let provider of ProviderFactory.getAvailableProviders()) { `transform ${provider} files to notesnook importer compatible format`, async () => { const output = await transform(files, provider, settings); - output.forEach((n) => { + output.notes.forEach((n) => { n.attachments?.forEach((a) => { a.data = undefined; }); @@ -32,9 +37,10 @@ for (let provider of ProviderFactory.getAvailableProviders()) { `transform & pack ${provider} files to notesnook importer compatible format`, async () => { const output = pack( - await transform(files, provider, settings) + (await transform(files, provider, settings)).notes ); - tap.matchSnapshot(await hasher.hash(output), `${provider}-packed-hash`); + const unzipped = unzipSync(output); + tap.matchSnapshot(Object.keys(unzipped), `${provider}-packed`); } ); } diff --git a/packages/importer/package-lock.json b/packages/importer/package-lock.json index 84ee027b7..56576b618 100644 --- a/packages/importer/package-lock.json +++ b/packages/importer/package-lock.json @@ -9,7 +9,7 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "@notesnook/enex": "file:../enex", + "@notesnook/enex": "^1.0.2", "fflate": "^0.7.1", "node-html-parser": "github:thecodrr/node-html-parser", "showdown": "github:thecodrr/showdown", @@ -27,75 +27,42 @@ "typescript": "^4.5.2" } }, - "../../enex": { - "name": "@notesnook/enex", - "version": "1.0.0", - "extraneous": true, - "license": "ISC", - "dependencies": { - "node-html-parser": "^5.1.0" - }, - "devDependencies": { - "@types/node": "^16.11.10", - "@types/tap": "^15.0.5", - "fdir": "^5.1.0", - "tap": "^15.1.2", - "ts-node": "^10.4.0", - "typescript": "^4.5.2" - } - }, - "../enex": { - "name": "@notesnook/enex", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "node-html-parser": "^5.1.0" - }, - "devDependencies": { - "@types/node": "^16.11.10", - "@types/tap": "^15.0.5", - "fdir": "^5.1.0", - "tap": "^15.1.2", - "ts-node": "^10.4.0", - "typescript": "^4.5.2" - } - }, "node_modules/@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", "dev": true, "dependencies": { - "@babel/highlight": "^7.14.5" + "@babel/highlight": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz", + "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", - "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz", + "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.0", - "@babel/helper-module-transforms": "^7.15.0", - "@babel/helpers": "^7.14.8", - "@babel/parser": "^7.15.0", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.7", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helpers": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -111,22 +78,13 @@ "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/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, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@babel/generator": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz", - "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", + "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", "dev": true, "dependencies": { - "@babel/types": "^7.15.0", + "@babel/types": "^7.16.8", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, @@ -134,24 +92,15 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/generator/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, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", - "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", + "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", + "@babel/compat-data": "^7.16.4", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", "semver": "^6.3.0" }, "engines": { @@ -161,177 +110,150 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "node_modules/@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", "dev": true, "dependencies": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", - "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.15.0" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", - "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", + "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.0", - "@babel/helper-simple-access": "^7.14.8", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", - "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", - "dev": true, - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.15.0", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", - "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", + "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", "dev": true, "dependencies": { - "@babel/types": "^7.14.8" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", "dev": true, "dependencies": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz", - "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", + "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", "dev": true, "dependencies": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz", + "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -339,45 +261,10 @@ "node": ">=6.9.0" } }, - "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, - "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/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/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, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/parser": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", - "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz", + "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -387,32 +274,33 @@ } }, "node_modules/@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", - "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz", + "integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.15.0", - "@babel/types": "^7.15.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.8", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.16.8", + "@babel/types": "^7.16.8", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -421,12 +309,12 @@ } }, "node_modules/@babel/types": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", - "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", + "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.14.9", + "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -479,29 +367,11 @@ "node": ">=8" } }, - "node_modules/@napi-rs/triples": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@napi-rs/triples/-/triples-1.0.3.tgz", - "integrity": "sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA==", - "dev": true - }, - "node_modules/@node-rs/helper": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@node-rs/helper/-/helper-1.2.1.tgz", - "integrity": "sha512-R5wEmm8nbuQU0YGGmYVjEc0OHtYsuXdpRG+Ut/3wZ9XAvQWyThN08bTh2cBJgoZxHQUPtvRfeQuxcAgLuiBISg==", - "dev": true, - "dependencies": { - "@napi-rs/triples": "^1.0.3" - } - }, "node_modules/@node-rs/xxhash": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash/-/xxhash-1.0.1.tgz", - "integrity": "sha512-IYb5vx36csK0TFtyl/pSuoSXiT1qj/PtPCItk30qdFDMoDgwJzvcPohFugEVn4Bvxc7aBDTjo25CGLtnu96lNQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash/-/xxhash-1.1.4.tgz", + "integrity": "sha512-2C97wUtNphuCXLjFKm9tacrca5cP7dbRBZLxORy9uvYSoPl9J3yPia82Fub8NWMCwNANR7YB4Qaq5SJUEw2g8w==", "dev": true, - "dependencies": { - "@node-rs/helper": "^1.2.1" - }, "engines": { "node": ">= 12" }, @@ -510,24 +380,41 @@ "url": "https://github.com/sponsors/Brooooooklyn" }, "optionalDependencies": { - "@node-rs/xxhash-android-arm64": "1.0.1", - "@node-rs/xxhash-darwin-arm64": "1.0.1", - "@node-rs/xxhash-darwin-x64": "1.0.1", - "@node-rs/xxhash-freebsd-x64": "1.0.1", - "@node-rs/xxhash-linux-arm-gnueabihf": "1.0.1", - "@node-rs/xxhash-linux-arm64-gnu": "1.0.1", - "@node-rs/xxhash-linux-arm64-musl": "1.0.1", - "@node-rs/xxhash-linux-x64-gnu": "1.0.1", - "@node-rs/xxhash-linux-x64-musl": "1.0.1", - "@node-rs/xxhash-win32-arm64-msvc": "1.0.1", - "@node-rs/xxhash-win32-ia32-msvc": "1.0.1", - "@node-rs/xxhash-win32-x64-msvc": "1.0.1" + "@node-rs/xxhash-android-arm-eabi": "1.1.4", + "@node-rs/xxhash-android-arm64": "1.1.4", + "@node-rs/xxhash-darwin-arm64": "1.1.4", + "@node-rs/xxhash-darwin-x64": "1.1.4", + "@node-rs/xxhash-freebsd-x64": "1.1.4", + "@node-rs/xxhash-linux-arm-gnueabihf": "1.1.4", + "@node-rs/xxhash-linux-arm64-gnu": "1.1.4", + "@node-rs/xxhash-linux-arm64-musl": "1.1.4", + "@node-rs/xxhash-linux-x64-gnu": "1.1.4", + "@node-rs/xxhash-linux-x64-musl": "1.1.4", + "@node-rs/xxhash-win32-arm64-msvc": "1.1.4", + "@node-rs/xxhash-win32-ia32-msvc": "1.1.4", + "@node-rs/xxhash-win32-x64-msvc": "1.1.4" + } + }, + "node_modules/@node-rs/xxhash-android-arm-eabi": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-android-arm-eabi/-/xxhash-android-arm-eabi-1.1.4.tgz", + "integrity": "sha512-LcS+SAwEI0ncR1ynGKhV5pL62xjDn0kly+ppWKLNHj7Q58JFEP8GrLlPSQf4KjrKSfR7fK61L6ei43ZXcJkx3A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12" } }, "node_modules/@node-rs/xxhash-android-arm64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-android-arm64/-/xxhash-android-arm64-1.0.1.tgz", - "integrity": "sha512-w9cIPIzSVjMrsZYpg4jqS4VmqEIWdXtteCO3jO0/RU4wF5aDO0UMYsYVMgWnnq8zLY2xpDOHpw9z+jlI2C8axA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-android-arm64/-/xxhash-android-arm64-1.1.4.tgz", + "integrity": "sha512-eziz3oLUCPXY3S0t/5U+EPSlUf8QL9I86ltO0i6vTxewoqZs6UrmCYtF/sIos2mvJIt+xmtFZ/VyUfyaqofkwQ==", "cpu": [ "arm64" ], @@ -541,9 +428,9 @@ } }, "node_modules/@node-rs/xxhash-darwin-arm64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-darwin-arm64/-/xxhash-darwin-arm64-1.0.1.tgz", - "integrity": "sha512-tMllwdYgnEJUJD3Gn2ahrT3R4TI8OH11oyrjpSDVdh0TZsrEiqN2WMUFgEB1nEeowujmIBhGDDb1RnwcPCCCdA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-darwin-arm64/-/xxhash-darwin-arm64-1.1.4.tgz", + "integrity": "sha512-qFfr3iEBu5ISaxSDJ56xEg4ljtD8ElvaGGfCzhBu1l9v5XUUkmP0F+cV2TD8zqKNSN9DMlPq82LB6HUEIf/mbg==", "cpu": [ "arm64" ], @@ -557,9 +444,9 @@ } }, "node_modules/@node-rs/xxhash-darwin-x64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-darwin-x64/-/xxhash-darwin-x64-1.0.1.tgz", - "integrity": "sha512-W2bwfoPYgbNuaLfBCbxdCLTZCddLwb0rOeocbxCeZukX2OaPfTzkuexd21yaWrsesateCHhR7M+JcvqsMzqv6Q==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-darwin-x64/-/xxhash-darwin-x64-1.1.4.tgz", + "integrity": "sha512-rA5k6XFVX+RmIr4tdRPhPCNdr+ohidzFbiyzuJeQBPLTt9R80gGVCp/fiToLIXInh/P2W/dBiWwP4ts7zbGdDQ==", "cpu": [ "x64" ], @@ -573,9 +460,9 @@ } }, "node_modules/@node-rs/xxhash-freebsd-x64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-freebsd-x64/-/xxhash-freebsd-x64-1.0.1.tgz", - "integrity": "sha512-i4nIXRNb1Tg9rADrTEpZqIPckSGn1zyWYVpdINqzrmOeKtwqaBo4p1hfxIvIwKYQp76+WqA1032PCP1dkyQ8SQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-freebsd-x64/-/xxhash-freebsd-x64-1.1.4.tgz", + "integrity": "sha512-c7wlMA8J8cCJ8riM1CLKFj995Qrs1xYc8KS7sb3XJ8c1UfVFJHFQEKg832NvmYSlwsDlAqn5cl3rw1qNvPXJlg==", "cpu": [ "x64" ], @@ -589,9 +476,9 @@ } }, "node_modules/@node-rs/xxhash-linux-arm-gnueabihf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-arm-gnueabihf/-/xxhash-linux-arm-gnueabihf-1.0.1.tgz", - "integrity": "sha512-Igt8xVHj4Qzog+CgZO2b5asyVLQjAt3eojW9c3Oyi8TlMJUuLu/q7q+c0piKirD5BngBq5zOKMEJbCbawWMc8A==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-arm-gnueabihf/-/xxhash-linux-arm-gnueabihf-1.1.4.tgz", + "integrity": "sha512-lWEqiULqlxKft9m4C1Ct+cv72oo+B2bSuNHblGfJzAajjK02RebXIRd8qB85YdxPCp8e7/dekVJJDJpEttei9A==", "cpu": [ "arm" ], @@ -605,9 +492,9 @@ } }, "node_modules/@node-rs/xxhash-linux-arm64-gnu": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-arm64-gnu/-/xxhash-linux-arm64-gnu-1.0.1.tgz", - "integrity": "sha512-TaAAVCmRlUupEEoo5lhWXXwASU+EsWj+wPuen+ngELMNhEXRTj4ZYSKMS3Aoiy00EhqgztzCFdKNNSNlI0vWLQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-arm64-gnu/-/xxhash-linux-arm64-gnu-1.1.4.tgz", + "integrity": "sha512-S8pxFLaHe3Zec1d4bLGf3XcAdy3qVGBnq2R/2q2DRfVFjndN+prPL4fEgPedzx1dWiDy1Gjb8WMz2gPLqC6WyQ==", "cpu": [ "arm64" ], @@ -621,9 +508,9 @@ } }, "node_modules/@node-rs/xxhash-linux-arm64-musl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-arm64-musl/-/xxhash-linux-arm64-musl-1.0.1.tgz", - "integrity": "sha512-li9o0bDEnY1RefDuJkhWEk/4hAk4ojAsR6+auzYbTY3xLgp5+JWPMzvqGw/YwlvyAS7UGrkRo1nyfW/Nyen9jA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-arm64-musl/-/xxhash-linux-arm64-musl-1.1.4.tgz", + "integrity": "sha512-d67A2ZddMSScrTrSPvnvhXoElkkBJMA5lxg7vrg9wIZmcm26/1br6LVe0UjPgRRf1gNO6HNfN6iYEgGXcRGgFw==", "cpu": [ "arm64" ], @@ -637,9 +524,9 @@ } }, "node_modules/@node-rs/xxhash-linux-x64-gnu": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-x64-gnu/-/xxhash-linux-x64-gnu-1.0.1.tgz", - "integrity": "sha512-UAaB1Gc28oup9BsiHCjGglfFtWJie+KVMpfdS4Ko4lZJY6SITPb+3KDHUKieKJGW2SLp1J3FR1v/Ut/ehZ0jQQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-x64-gnu/-/xxhash-linux-x64-gnu-1.1.4.tgz", + "integrity": "sha512-K5TPHOvXoYuE4z2EB1lU2jffvSLJAtfQ7OP+2ZKzUpdU2pY9PkEHj1R0AwQAW004CHbtQfGwJ8s/791Iy92/8Q==", "cpu": [ "x64" ], @@ -653,9 +540,9 @@ } }, "node_modules/@node-rs/xxhash-linux-x64-musl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-x64-musl/-/xxhash-linux-x64-musl-1.0.1.tgz", - "integrity": "sha512-Ailcrvvoj/St/puyTtqzu6q+zVJSNFmo+ekiCAUcezq+pLeedYPsA5roQ6rCeUiiF+PovBryQXPuHPbxgAtIxw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-x64-musl/-/xxhash-linux-x64-musl-1.1.4.tgz", + "integrity": "sha512-fCPA6cuffYuyYI/mDn6rvuhO7LAEfdMPbiskESzx0NVFyx/6qDCsAHxYDO4FWcAacgOEecyzOQ507e4Hrn10IQ==", "cpu": [ "x64" ], @@ -669,9 +556,9 @@ } }, "node_modules/@node-rs/xxhash-win32-arm64-msvc": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-win32-arm64-msvc/-/xxhash-win32-arm64-msvc-1.0.1.tgz", - "integrity": "sha512-tLPFVDKNaZ2NrSPPZtxHsh+h4OWRVjuSR0hWO93s/Sn4TKnLv11I6HakBarwQUReYsyav/0aCilWHIjH1DP28w==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-win32-arm64-msvc/-/xxhash-win32-arm64-msvc-1.1.4.tgz", + "integrity": "sha512-lnZ20IESF3wX4uGihnFYrerXq/XxTopWqpCTRPN4H/QfzKZ8vYXz/nuW5YNfQ05aeQFN49cHNOeclyip3hPeEg==", "cpu": [ "arm64" ], @@ -685,9 +572,9 @@ } }, "node_modules/@node-rs/xxhash-win32-ia32-msvc": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-win32-ia32-msvc/-/xxhash-win32-ia32-msvc-1.0.1.tgz", - "integrity": "sha512-2BTLG1FKAwrBEU+9NHwhQA5hCXlLi/p8UusHUeBy8rzhkX6C+xtGfUCRhgJPrSGZp+LoEHlphavbGZ+hUt/taw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-win32-ia32-msvc/-/xxhash-win32-ia32-msvc-1.1.4.tgz", + "integrity": "sha512-XauyNhda+j6nJixr3VOJih8K7JaZZ//ZX1iHvXbLv0qd+SwjfmtgsbtqWYoqA8oIos7SBV1EuOE8AnqoZwRsdg==", "cpu": [ "ia32" ], @@ -701,9 +588,9 @@ } }, "node_modules/@node-rs/xxhash-win32-x64-msvc": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-win32-x64-msvc/-/xxhash-win32-x64-msvc-1.0.1.tgz", - "integrity": "sha512-mQev+YV+6bFWq43RQsgLfg1x19COrkhGTYpskOFdiitlJoeyMsQGOE2AdtztwPlXOF7oAN8gg6x12KWf4gxhKw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-win32-x64-msvc/-/xxhash-win32-x64-msvc-1.1.4.tgz", + "integrity": "sha512-5htB+WXoIrckcjWNTw4M6JN9lai3GdxZXNH1ECFLjVSfxbY/Alf+OUJSDtMWz83otP8WLLfpxPZ8aNLsGJUy6g==", "cpu": [ "x64" ], @@ -717,8 +604,12 @@ } }, "node_modules/@notesnook/enex": { - "resolved": "../enex", - "link": true + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@notesnook/enex/-/enex-1.0.2.tgz", + "integrity": "sha512-ujoWVOcSgXrJhNT+T4ya4+W/sO3V45sithlyi2A8aBGZGI3YcMaN0IwDhWLVFdJVAViaK6+BjMhSQp126Zbefw==", + "dependencies": { + "node-html-parser": "github:thecodrr/node-html-parser" + } }, "node_modules/@tsconfig/node10": { "version": "1.0.8", @@ -745,9 +636,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "12.20.37", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.37.tgz", - "integrity": "sha512-i1KGxqcvJaLQali+WuypQnXwcplhtNtjs66eNsZpp2P2FL/trJJxx/VWsM0YCL2iMoIJrbXje48lvIQAQ4p2ZA==", + "version": "12.20.42", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.42.tgz", + "integrity": "sha512-aI3/oo5DzyiI5R/xAhxxRzfZlWlsbbqdgxfTPkqu/Zt+23GXiJvMCyPJT4+xKSXOnLqoL8jJYMLTwvK2M3a5hw==", "dev": true }, "node_modules/@types/showdown": { @@ -772,9 +663,9 @@ } }, "node_modules/acorn": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -783,6 +674,15 @@ "node": ">=0.4.0" } }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -812,6 +712,15 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "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/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -978,16 +887,16 @@ } }, "node_modules/browserslist": { - "version": "4.16.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz", - "integrity": "sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", + "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", "dev": true, "dependencies": { - "caniuse-lite": "^1.0.30001251", - "colorette": "^1.3.0", - "electron-to-chromium": "^1.3.811", + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", "escalade": "^3.1.1", - "node-releases": "^1.1.75" + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" }, "bin": { "browserslist": "cli.js" @@ -1030,9 +939,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001251", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz", - "integrity": "sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A==", + "version": "1.0.30001300", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001300.tgz", + "integrity": "sha512-cVjiJHWGcNlJi8TZVKNMnvMid3Z3TTdDHmLDzlOdIiZq138Exvo0G+G0wTdVYolxKb4AYwC+38pxodiInVtJSA==", "dev": true, "funding": { "type": "opencollective", @@ -1045,11 +954,31 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, - "node_modules/chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "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, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -1086,35 +1015,6 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/cliui/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 - }, - "node_modules/cliui/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -1137,12 +1037,6 @@ "color-support": "bin.js" } }, - "node_modules/colorette": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz", - "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==", - "dev": true - }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -1222,15 +1116,15 @@ } }, "node_modules/css-select": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", - "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", + "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", "dependencies": { "boolbase": "^1.0.0", - "css-what": "^5.0.0", - "domhandler": "^4.2.0", - "domutils": "^2.6.0", - "nth-check": "^2.0.0" + "css-what": "^5.1.0", + "domhandler": "^4.3.0", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" }, "funding": { "url": "https://github.com/sponsors/fb55" @@ -1260,9 +1154,9 @@ } }, "node_modules/debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -1327,6 +1221,14 @@ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, "node_modules/domelementtype": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", @@ -1339,9 +1241,9 @@ ] }, "node_modules/domhandler": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", - "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", + "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", "dependencies": { "domelementtype": "^2.2.0" }, @@ -1376,20 +1278,24 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.3.818", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.818.tgz", - "integrity": "sha512-c/Z9gIr+jDZAR9q+mn40hEc1NharBT+8ejkarjbCDnBNFviI6hvcC5j2ezkAXru//bTnQp5n6iPi0JA83Tla1Q==", + "version": "1.4.48", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.48.tgz", + "integrity": "sha512-RT3SEmpv7XUA+tKXrZGudAWLDpa7f8qmhjcLaM6OD/ERxjQ/zAojT8/Vvo0BSzbArkElFZ1WyZ9FuwAYbkdBNA==", "dev": true }, "node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + "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 }, "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "engines": { + "node": ">=0.12" + }, "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } @@ -1465,15 +1371,15 @@ "dev": true }, "node_modules/fdir": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-5.1.0.tgz", - "integrity": "sha512-IgTtZwL52tx2wqWeuGDzXYTnNsEjNLahZpJw30hCQDyVnoHXwY5acNDnjGImTTL1R0z1PCyLw20VAbE5qLic3Q==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-5.2.0.tgz", + "integrity": "sha512-skyI2Laxtj9GYzmktPgY6DT8uswXq+VoxH26SskykvEhTSbi7tRM/787uZt/p8maxrQCJdzC90zX1btbxiJ6lw==", "dev": true }, "node_modules/fflate": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.1.tgz", - "integrity": "sha512-VYM2Xy1gSA5MerKzCnmmuV2XljkpKwgJBKezW+495TTnTCh1x5HcYa1aH8wRU/MfTGhW4ziXqgwprgQUVl3Ohw==" + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.2.tgz", + "integrity": "sha512-h/YiXnc37yYaGe61h3A4ZdsBzBqKG5hhrmopFizTru8xrfOiJuYX5oLnatBwNEpf9biOJrZVscuEQsUzIUAhpQ==" }, "node_modules/fill-range": { "version": "7.0.1", @@ -1647,9 +1553,9 @@ } }, "node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -1688,9 +1594,9 @@ } }, "node_modules/graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, "node_modules/har-schema": { @@ -1717,12 +1623,12 @@ } }, "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==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/hasha": { @@ -1741,15 +1647,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/hasha/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, - "engines": { - "node": ">=8" - } - }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", @@ -1827,11 +1724,12 @@ } }, "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "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, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/is-glob": { @@ -1895,9 +1793,9 @@ "dev": true }, "node_modules/istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true, "engines": { "node": ">=8" @@ -1962,10 +1860,31 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-source-maps": { + "node_modules/istanbul-lib-report/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "dependencies": { "debug": "^4.1.1", @@ -1973,13 +1892,22 @@ "source-map": "^0.6.1" }, "engines": { - "node": ">=8" + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/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, + "engines": { + "node": ">=0.10.0" } }, "node_modules/istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.3.tgz", + "integrity": "sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==", "dev": true, "dependencies": { "html-escaper": "^2.0.0", @@ -2096,9 +2024,9 @@ } }, "node_modules/libtap": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/libtap/-/libtap-1.1.3.tgz", - "integrity": "sha512-BfbhcSlcFngZWYvDt+gs4m1BkjP0LaFEg6+4FBAXD0E8Br95wpXCCvS5JZHW1a5QPWMrFD4LhsqBpTPRB3Em8g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/libtap/-/libtap-1.1.4.tgz", + "integrity": "sha512-jM+QyAeRdVs1bJrNpjlu+l8gRdDkAehqls31AwSnqXghVLUP6nbYeU2Xfs2svYS7ZdksvnHvrxCKRBFEz/BCjA==", "dev": true, "dependencies": { "async-hook-domain": "^2.0.4", @@ -2172,21 +2100,21 @@ "dev": true }, "node_modules/mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", "dev": true, "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", "dev": true, "dependencies": { - "mime-db": "1.49.0" + "mime-db": "1.51.0" }, "engines": { "node": ">= 0.6" @@ -2249,17 +2177,6 @@ "entities": "^3.0.1" } }, - "node_modules/node-html-parser/node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, "node_modules/node-preload": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/node-preload/-/node-preload-0.2.1.tgz", @@ -2273,9 +2190,9 @@ } }, "node_modules/node-releases": { - "version": "1.1.75", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", - "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", "dev": true }, "node_modules/normalize-path": { @@ -2383,35 +2300,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/nyc/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 - }, - "node_modules/nyc/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/nyc/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/nyc/node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -2426,12 +2314,6 @@ "node": ">=8" } }, - "node_modules/nyc/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, "node_modules/nyc/node_modules/yargs": { "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", @@ -2603,10 +2485,16 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, "node_modules/picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, "engines": { "node": ">=8.6" @@ -2655,9 +2543,9 @@ } }, "node_modules/qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "dev": true, "engines": { "node": ">=0.6" @@ -2719,19 +2607,6 @@ "node": ">= 6" } }, - "node_modules/request/node_modules/tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "dependencies": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=0.8" - } - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -2818,8 +2693,8 @@ }, "node_modules/showdown": { "version": "2.0.0-alpha1", - "resolved": "git+ssh://git@github.com/thecodrr/showdown.git#f34864e9bea3d3ca597c5b034aceb0573a89c3b0", - "license": "BSD-3-Clause", + "resolved": "git+ssh://git@github.com/thecodrr/showdown.git#60b9e7426d8c94408c74c79a2b7f57fe7d5dbac9", + "license": "MIT", "dependencies": { "yargs": "14.2.0" }, @@ -2827,122 +2702,6 @@ "showdown": "bin/showdown.js" } }, - "node_modules/showdown/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/showdown/node_modules/cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "node_modules/showdown/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/showdown/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/showdown/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/showdown/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "engines": { - "node": ">=4" - } - }, - "node_modules/showdown/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/showdown/node_modules/wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/showdown/node_modules/y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "node_modules/showdown/node_modules/yargs": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.0.tgz", - "integrity": "sha512-/is78VKbKs70bVZH7w4YaZea6xcJWOAwkhbR0CFuZBmYtfTYF0xjGJF43AYd8g2Uii1yJwmS5GR2vBmrc32sbg==", - "dependencies": { - "cliui": "^5.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^15.0.0" - } - }, - "node_modules/showdown/node_modules/yargs-parser": { - "version": "15.0.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz", - "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, "node_modules/signal-exit": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", @@ -2950,24 +2709,33 @@ "dev": true }, "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==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "dev": true, "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==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, + "node_modules/source-map-support/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, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/spark-md5": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/spark-md5/-/spark-md5-3.0.2.tgz", @@ -2997,9 +2765,9 @@ "dev": true }, "node_modules/sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "dev": true, "dependencies": { "asn1": "~0.2.3", @@ -3043,35 +2811,17 @@ } }, "node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=6" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dependencies": { - "ansi-regex": "^4.1.0" - }, - "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/strip-ansi": { @@ -3086,15 +2836,6 @@ "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-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -3105,21 +2846,21 @@ } }, "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==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/tap": { - "version": "15.1.5", - "resolved": "https://registry.npmjs.org/tap/-/tap-15.1.5.tgz", - "integrity": "sha512-ha9ify0cagIOENV5D+T8ys+FFOWqPaWAKk66hjtUWjywXdGmnL8LRxloZa8sHiaB+Az1GYx4ufEaflOpedSCbQ==", + "version": "15.1.6", + "resolved": "https://registry.npmjs.org/tap/-/tap-15.1.6.tgz", + "integrity": "sha512-TN7xH6Q2tUPTd6qwmkhuFJcx1vUR8e4dDUpBKc61G0krOzne7Ia6aKIFb8O/0kVazachSSuVME1V8nQ2xwWL8w==", "bundleDependencies": [ "ink", "treport", @@ -3141,7 +2882,7 @@ "isexe": "^2.0.0", "istanbul-lib-processinfo": "^2.0.2", "jackspeak": "^1.4.1", - "libtap": "^1.1.3", + "libtap": "^1.1.4", "minipass": "^3.1.1", "mkdirp": "^1.0.4", "nyc": "^15.1.0", @@ -3153,7 +2894,7 @@ "tap-mocha-reporter": "^5.0.0", "tap-parser": "^10.0.1", "tap-yaml": "^1.0.0", - "tcompare": "^5.0.6", + "tcompare": "^5.0.7", "treport": "*", "which": "^2.0.2" }, @@ -5139,6 +4880,19 @@ "node": ">=8.0" } }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/trivial-deferred": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", @@ -5186,15 +4940,6 @@ } } }, - "node_modules/ts-node/node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", @@ -5213,6 +4958,15 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, + "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, + "engines": { + "node": ">=8" + } + }, "node_modules/typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", @@ -5223,9 +4977,9 @@ } }, "node_modules/typescript": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", - "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", + "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -5369,35 +5123,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/wrap-ansi/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 - }, - "node_modules/wrap-ansi/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -5416,6 +5141,11 @@ "typedarray-to-buffer": "^3.1.5" } }, + "node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, "node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -5437,6 +5167,143 @@ "integrity": "sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=", "dev": true }, + "node_modules/yargs": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.0.tgz", + "integrity": "sha512-/is78VKbKs70bVZH7w4YaZea6xcJWOAwkhbR0CFuZBmYtfTYF0xjGJF43AYd8g2Uii1yJwmS5GR2vBmrc32sbg==", + "dependencies": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.0" + } + }, + "node_modules/yargs-parser": { + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz", + "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "node_modules/yargs/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "engines": { + "node": ">=4" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/yargs/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", @@ -5449,287 +5316,223 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", "dev": true, "requires": { - "@babel/highlight": "^7.14.5" + "@babel/highlight": "^7.16.7" } }, "@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz", + "integrity": "sha512-m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==", "dev": true }, "@babel/core": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.0.tgz", - "integrity": "sha512-tXtmTminrze5HEUPn/a0JtOzzfp0nk+UEXQ/tqIJo3WDGypl/2OFQEMll/zSFU8f/lfmfLXvTaORHF3cfXIQMw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.7.tgz", + "integrity": "sha512-aeLaqcqThRNZYmbMqtulsetOQZ/5gbR/dWruUCJcpas4Qoyy+QeagfDsPdMrqwsPRDNxJvBlRiZxxX7THO7qtA==", "dev": true, "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.0", - "@babel/helper-module-transforms": "^7.15.0", - "@babel/helpers": "^7.14.8", - "@babel/parser": "^7.15.0", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.7", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helpers": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", "json5": "^2.1.2", "semver": "^6.3.0", "source-map": "^0.5.0" - }, - "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 - } } }, "@babel/generator": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.0.tgz", - "integrity": "sha512-eKl4XdMrbpYvuB505KTta4AV9g+wWzmVBW69tX0H2NwKVKd2YJbKgyK6M8j/rgLbmHOYJn6rUklV677nOyJrEQ==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", + "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", "dev": true, "requires": { - "@babel/types": "^7.15.0", + "@babel/types": "^7.16.8", "jsesc": "^2.5.1", "source-map": "^0.5.0" - }, - "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 - } } }, "@babel/helper-compilation-targets": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.0.tgz", - "integrity": "sha512-h+/9t0ncd4jfZ8wsdAsoIxSa61qhBYlycXiHWqJaQBCXAhDCMbPRSMTGnZIkkmt1u4ag+UQmuqcILwqKzZ4N2A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", + "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", "dev": true, "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", + "@babel/compat-data": "^7.16.4", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", "semver": "^6.3.0" } }, - "@babel/helper-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz", - "integrity": "sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ==", + "@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.14.5", - "@babel/template": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/helper-get-function-arity": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz", - "integrity": "sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-hoist-variables": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz", - "integrity": "sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", "dev": true, "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.0.tgz", - "integrity": "sha512-Jq8H8U2kYiafuj2xMTPQwkTBnEEdGKpT35lJEQsRRjnG0LW3neucsaMWLgKcwu3OHKNeYugfw+Z20BXBSEs2Lg==", - "dev": true, - "requires": { - "@babel/types": "^7.15.0" + "@babel/types": "^7.16.7" } }, "@babel/helper-module-imports": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz", - "integrity": "sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-module-transforms": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.0.tgz", - "integrity": "sha512-RkGiW5Rer7fpXv9m1B3iHIFDZdItnO2/BLfWVW/9q7+KqQSDY5kUfQEbzdXM1MVhJGcugKV7kRrNVzNxmk7NBg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", + "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.0", - "@babel/helper-simple-access": "^7.14.8", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz", - "integrity": "sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA==", - "dev": true, - "requires": { - "@babel/types": "^7.14.5" - } - }, - "@babel/helper-replace-supers": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.0.tgz", - "integrity": "sha512-6O+eWrhx+HEra/uJnifCwhwMd6Bp5+ZfZeJwbqUTuqkhIT6YcRhiZCOOFChRypOIe0cV46kFrRBlm+t5vHCEaA==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.0", - "@babel/helper-optimise-call-expression": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/helper-simple-access": { - "version": "7.14.8", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz", - "integrity": "sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", + "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", "dev": true, "requires": { - "@babel/types": "^7.14.8" + "@babel/types": "^7.16.7" } }, "@babel/helper-split-export-declaration": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz", - "integrity": "sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", "dev": true, "requires": { - "@babel/types": "^7.14.5" + "@babel/types": "^7.16.7" } }, "@babel/helper-validator-identifier": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.9.tgz", - "integrity": "sha512-pQYxPY0UP6IHISRitNe8bsijHex4TWZXi2HwKVsjPiltzlhse2znVcm9Ace510VT1kxIHjGJCZZQBX2gJDbo0g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", "dev": true }, "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", "dev": true }, "@babel/helpers": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.3.tgz", - "integrity": "sha512-HwJiz52XaS96lX+28Tnbu31VeFSQJGOeKHJeaEPQlTl7PnlhFElWPj8tUXtqFIzeN86XxXoBr+WFAyK2PPVz6g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz", + "integrity": "sha512-9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==", "dev": true, "requires": { - "@babel/template": "^7.14.5", - "@babel/traverse": "^7.15.0", - "@babel/types": "^7.15.0" + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz", + "integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" - }, - "dependencies": { - "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" - } - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "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" - } - } } }, "@babel/parser": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.3.tgz", - "integrity": "sha512-O0L6v/HvqbdJawj0iBEfVQMc3/6WP+AeOsovsIgBFyJaG+W2w7eqvZB7puddATmWuARlm1SX7DwxJ/JJUnDpEA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz", + "integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==", "dev": true }, "@babel/template": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.14.5.tgz", - "integrity": "sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "dev": true, "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.14.5", - "@babel/types": "^7.14.5" + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/traverse": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.0.tgz", - "integrity": "sha512-392d8BN0C9eVxVWd8H6x9WfipgVH5IaIoLp23334Sc1vbKKWINnvwRpb4us0xtPaCumlwbTtIYNA0Dv/32sVFw==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz", + "integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==", "dev": true, "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.0", - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-hoist-variables": "^7.14.5", - "@babel/helper-split-export-declaration": "^7.14.5", - "@babel/parser": "^7.15.0", - "@babel/types": "^7.15.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.8", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.16.8", + "@babel/types": "^7.16.8", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.0.tgz", - "integrity": "sha512-OBvfqnllOIdX4ojTHpwZbpvz4j3EWyjkZEdmjH0/cgsd6QOdSgU8rLSk6ard/pcW7rlmjdVSX/AWOaORR1uNOQ==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", + "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.14.9", + "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" } }, @@ -5767,136 +5570,124 @@ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true }, - "@napi-rs/triples": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@napi-rs/triples/-/triples-1.0.3.tgz", - "integrity": "sha512-jDJTpta+P4p1NZTFVLHJ/TLFVYVcOqv6l8xwOeBKNPMgY/zDYH/YH7SJbvrr/h1RcS9GzbPcLKGzpuK9cV56UA==", - "dev": true - }, - "@node-rs/helper": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@node-rs/helper/-/helper-1.2.1.tgz", - "integrity": "sha512-R5wEmm8nbuQU0YGGmYVjEc0OHtYsuXdpRG+Ut/3wZ9XAvQWyThN08bTh2cBJgoZxHQUPtvRfeQuxcAgLuiBISg==", - "dev": true, - "requires": { - "@napi-rs/triples": "^1.0.3" - } - }, "@node-rs/xxhash": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash/-/xxhash-1.0.1.tgz", - "integrity": "sha512-IYb5vx36csK0TFtyl/pSuoSXiT1qj/PtPCItk30qdFDMoDgwJzvcPohFugEVn4Bvxc7aBDTjo25CGLtnu96lNQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash/-/xxhash-1.1.4.tgz", + "integrity": "sha512-2C97wUtNphuCXLjFKm9tacrca5cP7dbRBZLxORy9uvYSoPl9J3yPia82Fub8NWMCwNANR7YB4Qaq5SJUEw2g8w==", "dev": true, "requires": { - "@node-rs/helper": "^1.2.1", - "@node-rs/xxhash-android-arm64": "1.0.1", - "@node-rs/xxhash-darwin-arm64": "1.0.1", - "@node-rs/xxhash-darwin-x64": "1.0.1", - "@node-rs/xxhash-freebsd-x64": "1.0.1", - "@node-rs/xxhash-linux-arm-gnueabihf": "1.0.1", - "@node-rs/xxhash-linux-arm64-gnu": "1.0.1", - "@node-rs/xxhash-linux-arm64-musl": "1.0.1", - "@node-rs/xxhash-linux-x64-gnu": "1.0.1", - "@node-rs/xxhash-linux-x64-musl": "1.0.1", - "@node-rs/xxhash-win32-arm64-msvc": "1.0.1", - "@node-rs/xxhash-win32-ia32-msvc": "1.0.1", - "@node-rs/xxhash-win32-x64-msvc": "1.0.1" + "@node-rs/xxhash-android-arm-eabi": "1.1.4", + "@node-rs/xxhash-android-arm64": "1.1.4", + "@node-rs/xxhash-darwin-arm64": "1.1.4", + "@node-rs/xxhash-darwin-x64": "1.1.4", + "@node-rs/xxhash-freebsd-x64": "1.1.4", + "@node-rs/xxhash-linux-arm-gnueabihf": "1.1.4", + "@node-rs/xxhash-linux-arm64-gnu": "1.1.4", + "@node-rs/xxhash-linux-arm64-musl": "1.1.4", + "@node-rs/xxhash-linux-x64-gnu": "1.1.4", + "@node-rs/xxhash-linux-x64-musl": "1.1.4", + "@node-rs/xxhash-win32-arm64-msvc": "1.1.4", + "@node-rs/xxhash-win32-ia32-msvc": "1.1.4", + "@node-rs/xxhash-win32-x64-msvc": "1.1.4" } }, + "@node-rs/xxhash-android-arm-eabi": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-android-arm-eabi/-/xxhash-android-arm-eabi-1.1.4.tgz", + "integrity": "sha512-LcS+SAwEI0ncR1ynGKhV5pL62xjDn0kly+ppWKLNHj7Q58JFEP8GrLlPSQf4KjrKSfR7fK61L6ei43ZXcJkx3A==", + "dev": true, + "optional": true + }, "@node-rs/xxhash-android-arm64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-android-arm64/-/xxhash-android-arm64-1.0.1.tgz", - "integrity": "sha512-w9cIPIzSVjMrsZYpg4jqS4VmqEIWdXtteCO3jO0/RU4wF5aDO0UMYsYVMgWnnq8zLY2xpDOHpw9z+jlI2C8axA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-android-arm64/-/xxhash-android-arm64-1.1.4.tgz", + "integrity": "sha512-eziz3oLUCPXY3S0t/5U+EPSlUf8QL9I86ltO0i6vTxewoqZs6UrmCYtF/sIos2mvJIt+xmtFZ/VyUfyaqofkwQ==", "dev": true, "optional": true }, "@node-rs/xxhash-darwin-arm64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-darwin-arm64/-/xxhash-darwin-arm64-1.0.1.tgz", - "integrity": "sha512-tMllwdYgnEJUJD3Gn2ahrT3R4TI8OH11oyrjpSDVdh0TZsrEiqN2WMUFgEB1nEeowujmIBhGDDb1RnwcPCCCdA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-darwin-arm64/-/xxhash-darwin-arm64-1.1.4.tgz", + "integrity": "sha512-qFfr3iEBu5ISaxSDJ56xEg4ljtD8ElvaGGfCzhBu1l9v5XUUkmP0F+cV2TD8zqKNSN9DMlPq82LB6HUEIf/mbg==", "dev": true, "optional": true }, "@node-rs/xxhash-darwin-x64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-darwin-x64/-/xxhash-darwin-x64-1.0.1.tgz", - "integrity": "sha512-W2bwfoPYgbNuaLfBCbxdCLTZCddLwb0rOeocbxCeZukX2OaPfTzkuexd21yaWrsesateCHhR7M+JcvqsMzqv6Q==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-darwin-x64/-/xxhash-darwin-x64-1.1.4.tgz", + "integrity": "sha512-rA5k6XFVX+RmIr4tdRPhPCNdr+ohidzFbiyzuJeQBPLTt9R80gGVCp/fiToLIXInh/P2W/dBiWwP4ts7zbGdDQ==", "dev": true, "optional": true }, "@node-rs/xxhash-freebsd-x64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-freebsd-x64/-/xxhash-freebsd-x64-1.0.1.tgz", - "integrity": "sha512-i4nIXRNb1Tg9rADrTEpZqIPckSGn1zyWYVpdINqzrmOeKtwqaBo4p1hfxIvIwKYQp76+WqA1032PCP1dkyQ8SQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-freebsd-x64/-/xxhash-freebsd-x64-1.1.4.tgz", + "integrity": "sha512-c7wlMA8J8cCJ8riM1CLKFj995Qrs1xYc8KS7sb3XJ8c1UfVFJHFQEKg832NvmYSlwsDlAqn5cl3rw1qNvPXJlg==", "dev": true, "optional": true }, "@node-rs/xxhash-linux-arm-gnueabihf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-arm-gnueabihf/-/xxhash-linux-arm-gnueabihf-1.0.1.tgz", - "integrity": "sha512-Igt8xVHj4Qzog+CgZO2b5asyVLQjAt3eojW9c3Oyi8TlMJUuLu/q7q+c0piKirD5BngBq5zOKMEJbCbawWMc8A==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-arm-gnueabihf/-/xxhash-linux-arm-gnueabihf-1.1.4.tgz", + "integrity": "sha512-lWEqiULqlxKft9m4C1Ct+cv72oo+B2bSuNHblGfJzAajjK02RebXIRd8qB85YdxPCp8e7/dekVJJDJpEttei9A==", "dev": true, "optional": true }, "@node-rs/xxhash-linux-arm64-gnu": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-arm64-gnu/-/xxhash-linux-arm64-gnu-1.0.1.tgz", - "integrity": "sha512-TaAAVCmRlUupEEoo5lhWXXwASU+EsWj+wPuen+ngELMNhEXRTj4ZYSKMS3Aoiy00EhqgztzCFdKNNSNlI0vWLQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-arm64-gnu/-/xxhash-linux-arm64-gnu-1.1.4.tgz", + "integrity": "sha512-S8pxFLaHe3Zec1d4bLGf3XcAdy3qVGBnq2R/2q2DRfVFjndN+prPL4fEgPedzx1dWiDy1Gjb8WMz2gPLqC6WyQ==", "dev": true, "optional": true }, "@node-rs/xxhash-linux-arm64-musl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-arm64-musl/-/xxhash-linux-arm64-musl-1.0.1.tgz", - "integrity": "sha512-li9o0bDEnY1RefDuJkhWEk/4hAk4ojAsR6+auzYbTY3xLgp5+JWPMzvqGw/YwlvyAS7UGrkRo1nyfW/Nyen9jA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-arm64-musl/-/xxhash-linux-arm64-musl-1.1.4.tgz", + "integrity": "sha512-d67A2ZddMSScrTrSPvnvhXoElkkBJMA5lxg7vrg9wIZmcm26/1br6LVe0UjPgRRf1gNO6HNfN6iYEgGXcRGgFw==", "dev": true, "optional": true }, "@node-rs/xxhash-linux-x64-gnu": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-x64-gnu/-/xxhash-linux-x64-gnu-1.0.1.tgz", - "integrity": "sha512-UAaB1Gc28oup9BsiHCjGglfFtWJie+KVMpfdS4Ko4lZJY6SITPb+3KDHUKieKJGW2SLp1J3FR1v/Ut/ehZ0jQQ==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-x64-gnu/-/xxhash-linux-x64-gnu-1.1.4.tgz", + "integrity": "sha512-K5TPHOvXoYuE4z2EB1lU2jffvSLJAtfQ7OP+2ZKzUpdU2pY9PkEHj1R0AwQAW004CHbtQfGwJ8s/791Iy92/8Q==", "dev": true, "optional": true }, "@node-rs/xxhash-linux-x64-musl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-x64-musl/-/xxhash-linux-x64-musl-1.0.1.tgz", - "integrity": "sha512-Ailcrvvoj/St/puyTtqzu6q+zVJSNFmo+ekiCAUcezq+pLeedYPsA5roQ6rCeUiiF+PovBryQXPuHPbxgAtIxw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-linux-x64-musl/-/xxhash-linux-x64-musl-1.1.4.tgz", + "integrity": "sha512-fCPA6cuffYuyYI/mDn6rvuhO7LAEfdMPbiskESzx0NVFyx/6qDCsAHxYDO4FWcAacgOEecyzOQ507e4Hrn10IQ==", "dev": true, "optional": true }, "@node-rs/xxhash-win32-arm64-msvc": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-win32-arm64-msvc/-/xxhash-win32-arm64-msvc-1.0.1.tgz", - "integrity": "sha512-tLPFVDKNaZ2NrSPPZtxHsh+h4OWRVjuSR0hWO93s/Sn4TKnLv11I6HakBarwQUReYsyav/0aCilWHIjH1DP28w==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-win32-arm64-msvc/-/xxhash-win32-arm64-msvc-1.1.4.tgz", + "integrity": "sha512-lnZ20IESF3wX4uGihnFYrerXq/XxTopWqpCTRPN4H/QfzKZ8vYXz/nuW5YNfQ05aeQFN49cHNOeclyip3hPeEg==", "dev": true, "optional": true }, "@node-rs/xxhash-win32-ia32-msvc": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-win32-ia32-msvc/-/xxhash-win32-ia32-msvc-1.0.1.tgz", - "integrity": "sha512-2BTLG1FKAwrBEU+9NHwhQA5hCXlLi/p8UusHUeBy8rzhkX6C+xtGfUCRhgJPrSGZp+LoEHlphavbGZ+hUt/taw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-win32-ia32-msvc/-/xxhash-win32-ia32-msvc-1.1.4.tgz", + "integrity": "sha512-XauyNhda+j6nJixr3VOJih8K7JaZZ//ZX1iHvXbLv0qd+SwjfmtgsbtqWYoqA8oIos7SBV1EuOE8AnqoZwRsdg==", "dev": true, "optional": true }, "@node-rs/xxhash-win32-x64-msvc": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@node-rs/xxhash-win32-x64-msvc/-/xxhash-win32-x64-msvc-1.0.1.tgz", - "integrity": "sha512-mQev+YV+6bFWq43RQsgLfg1x19COrkhGTYpskOFdiitlJoeyMsQGOE2AdtztwPlXOF7oAN8gg6x12KWf4gxhKw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@node-rs/xxhash-win32-x64-msvc/-/xxhash-win32-x64-msvc-1.1.4.tgz", + "integrity": "sha512-5htB+WXoIrckcjWNTw4M6JN9lai3GdxZXNH1ECFLjVSfxbY/Alf+OUJSDtMWz83otP8WLLfpxPZ8aNLsGJUy6g==", "dev": true, "optional": true }, "@notesnook/enex": { - "version": "file:../enex", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@notesnook/enex/-/enex-1.0.2.tgz", + "integrity": "sha512-ujoWVOcSgXrJhNT+T4ya4+W/sO3V45sithlyi2A8aBGZGI3YcMaN0IwDhWLVFdJVAViaK6+BjMhSQp126Zbefw==", "requires": { - "@types/node": "^16.11.10", - "@types/tap": "^15.0.5", - "fdir": "^5.1.0", - "node-html-parser": "^5.1.0", - "tap": "^15.1.2", - "ts-node": "^10.4.0", - "typescript": "^4.5.2" + "node-html-parser": "github:thecodrr/node-html-parser" } }, "@tsconfig/node10": { @@ -5924,9 +5715,9 @@ "dev": true }, "@types/node": { - "version": "12.20.37", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.37.tgz", - "integrity": "sha512-i1KGxqcvJaLQali+WuypQnXwcplhtNtjs66eNsZpp2P2FL/trJJxx/VWsM0YCL2iMoIJrbXje48lvIQAQ4p2ZA==", + "version": "12.20.42", + "resolved": "https://registry.npmjs.org/@types/node/-/node-12.20.42.tgz", + "integrity": "sha512-aI3/oo5DzyiI5R/xAhxxRzfZlWlsbbqdgxfTPkqu/Zt+23GXiJvMCyPJT4+xKSXOnLqoL8jJYMLTwvK2M3a5hw==", "dev": true }, "@types/showdown": { @@ -5951,9 +5742,15 @@ } }, "acorn": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.4.1.tgz", - "integrity": "sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==", + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true }, "aggregate-error": { @@ -5978,6 +5775,12 @@ "uri-js": "^4.2.2" } }, + "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 + }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -6117,16 +5920,16 @@ } }, "browserslist": { - "version": "4.16.8", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.8.tgz", - "integrity": "sha512-sc2m9ohR/49sWEbPj14ZSSZqp+kbi16aLao42Hmn3Z8FpjuMaq2xCA2l4zl9ITfyzvnvyE0hcg62YkIGKxgaNQ==", + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", + "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001251", - "colorette": "^1.3.0", - "electron-to-chromium": "^1.3.811", + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", "escalade": "^3.1.1", - "node-releases": "^1.1.75" + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" } }, "buffer-from": { @@ -6153,9 +5956,9 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, "caniuse-lite": { - "version": "1.0.30001251", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001251.tgz", - "integrity": "sha512-HOe1r+9VkU4TFmnU70z+r7OLmtR+/chB1rdcJUeQlAinjEeb0cKL20tlAtOagNZhbrtLnCvV19B4FmF1rgzl6A==", + "version": "1.0.30001300", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001300.tgz", + "integrity": "sha512-cVjiJHWGcNlJi8TZVKNMnvMid3Z3TTdDHmLDzlOdIiZq138Exvo0G+G0wTdVYolxKb4AYwC+38pxodiInVtJSA==", "dev": true }, "caseless": { @@ -6164,10 +5967,21 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, + "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" + } + }, "chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, "requires": { "anymatch": "~3.1.2", @@ -6195,31 +6009,6 @@ "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "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 - }, - "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 - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - } } }, "color-convert": { @@ -6241,12 +6030,6 @@ "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true }, - "colorette": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.3.0.tgz", - "integrity": "sha512-ecORCqbSFP7Wm8Y6lyqMJjexBQqXSF7SSeaTyGGphogUjBlFP9m9o08wy86HL2uB7fMTxtOUzLMk7ogKcxMg1w==", - "dev": true - }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -6314,15 +6097,15 @@ } }, "css-select": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", - "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.2.1.tgz", + "integrity": "sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==", "requires": { "boolbase": "^1.0.0", - "css-what": "^5.0.0", - "domhandler": "^4.2.0", - "domutils": "^2.6.0", - "nth-check": "^2.0.0" + "css-what": "^5.1.0", + "domhandler": "^4.3.0", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" } }, "css-what": { @@ -6340,9 +6123,9 @@ } }, "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", "dev": true, "requires": { "ms": "2.1.2" @@ -6382,6 +6165,13 @@ "domelementtype": "^2.0.1", "domhandler": "^4.2.0", "entities": "^2.0.0" + }, + "dependencies": { + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + } } }, "domelementtype": { @@ -6390,9 +6180,9 @@ "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==" }, "domhandler": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", - "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz", + "integrity": "sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==", "requires": { "domelementtype": "^2.2.0" } @@ -6418,20 +6208,21 @@ } }, "electron-to-chromium": { - "version": "1.3.818", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.818.tgz", - "integrity": "sha512-c/Z9gIr+jDZAR9q+mn40hEc1NharBT+8ejkarjbCDnBNFviI6hvcC5j2ezkAXru//bTnQp5n6iPi0JA83Tla1Q==", + "version": "1.4.48", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.48.tgz", + "integrity": "sha512-RT3SEmpv7XUA+tKXrZGudAWLDpa7f8qmhjcLaM6OD/ERxjQ/zAojT8/Vvo0BSzbArkElFZ1WyZ9FuwAYbkdBNA==", "dev": true }, "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + "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 }, "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==" }, "es6-error": { "version": "4.1.1", @@ -6488,15 +6279,15 @@ "dev": true }, "fdir": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-5.1.0.tgz", - "integrity": "sha512-IgTtZwL52tx2wqWeuGDzXYTnNsEjNLahZpJw30hCQDyVnoHXwY5acNDnjGImTTL1R0z1PCyLw20VAbE5qLic3Q==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-5.2.0.tgz", + "integrity": "sha512-skyI2Laxtj9GYzmktPgY6DT8uswXq+VoxH26SskykvEhTSbi7tRM/787uZt/p8maxrQCJdzC90zX1btbxiJ6lw==", "dev": true }, "fflate": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.1.tgz", - "integrity": "sha512-VYM2Xy1gSA5MerKzCnmmuV2XljkpKwgJBKezW+495TTnTCh1x5HcYa1aH8wRU/MfTGhW4ziXqgwprgQUVl3Ohw==" + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.2.tgz", + "integrity": "sha512-h/YiXnc37yYaGe61h3A4ZdsBzBqKG5hhrmopFizTru8xrfOiJuYX5oLnatBwNEpf9biOJrZVscuEQsUzIUAhpQ==" }, "fill-range": { "version": "7.0.1", @@ -6619,9 +6410,9 @@ } }, "glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", "dev": true, "requires": { "fs.realpath": "^1.0.0", @@ -6648,9 +6439,9 @@ "dev": true }, "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", "dev": true }, "har-schema": { @@ -6670,9 +6461,9 @@ } }, "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, "hasha": { @@ -6683,14 +6474,6 @@ "requires": { "is-stream": "^2.0.0", "type-fest": "^0.8.0" - }, - "dependencies": { - "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 - } } }, "html-escaper": { @@ -6754,9 +6537,10 @@ "dev": true }, "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + "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-glob": { "version": "4.0.3", @@ -6804,9 +6588,9 @@ "dev": true }, "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", "dev": true }, "istanbul-lib-hook": { @@ -6854,23 +6638,48 @@ "istanbul-lib-coverage": "^3.0.0", "make-dir": "^3.0.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" + } + } } }, "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "requires": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } } }, "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.3.tgz", + "integrity": "sha512-x9LtDVtfm/t1GFiLl3NffC7hz+I1ragvgX1P/Lg1NlIagifZDKUkuuaAxH/qpwj2IuEfD8G2Bs/UKp+sZ/pKkg==", "dev": true, "requires": { "html-escaper": "^2.0.0", @@ -6960,9 +6769,9 @@ "dev": true }, "libtap": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/libtap/-/libtap-1.1.3.tgz", - "integrity": "sha512-BfbhcSlcFngZWYvDt+gs4m1BkjP0LaFEg6+4FBAXD0E8Br95wpXCCvS5JZHW1a5QPWMrFD4LhsqBpTPRB3Em8g==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/libtap/-/libtap-1.1.4.tgz", + "integrity": "sha512-jM+QyAeRdVs1bJrNpjlu+l8gRdDkAehqls31AwSnqXghVLUP6nbYeU2Xfs2svYS7ZdksvnHvrxCKRBFEz/BCjA==", "dev": true, "requires": { "async-hook-domain": "^2.0.4", @@ -7018,18 +6827,18 @@ "dev": true }, "mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", + "version": "1.51.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", + "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", "dev": true }, "mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", + "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", "dev": true, "requires": { - "mime-db": "1.49.0" + "mime-db": "1.51.0" } }, "minimatch": { @@ -7074,13 +6883,6 @@ "requires": { "css-select": "^4.1.3", "entities": "^3.0.1" - }, - "dependencies": { - "entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==" - } } }, "node-preload": { @@ -7093,9 +6895,9 @@ } }, "node-releases": { - "version": "1.1.75", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.75.tgz", - "integrity": "sha512-Qe5OUajvqrqDSy6wrWFmMwfJ0jVgwiw4T3KqmbTcZ62qW0gQkheXYhcFM1+lOVcGUoRxcEcfyvFMAnDgaF1VWw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", "dev": true }, "normalize-path": { @@ -7182,29 +6984,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "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 - }, - "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 - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -7216,12 +6995,6 @@ "strip-ansi": "^6.0.0" } }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", - "dev": true - }, "yargs": { "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", @@ -7356,10 +7129,16 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true }, "pkg-dir": { @@ -7393,9 +7172,9 @@ "dev": true }, "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "dev": true }, "readdirp": { @@ -7442,18 +7221,6 @@ "tough-cookie": "~2.5.0", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" - }, - "dependencies": { - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - } } }, "require-directory": { @@ -7520,107 +7287,10 @@ "dev": true }, "showdown": { - "version": "git+ssh://git@github.com/thecodrr/showdown.git#f34864e9bea3d3ca597c5b034aceb0573a89c3b0", + "version": "git+ssh://git@github.com/thecodrr/showdown.git#60b9e7426d8c94408c74c79a2b7f57fe7d5dbac9", "from": "showdown@github:thecodrr/showdown", "requires": { "yargs": "14.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - } - }, - "y18n": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" - }, - "yargs": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.0.tgz", - "integrity": "sha512-/is78VKbKs70bVZH7w4YaZea6xcJWOAwkhbR0CFuZBmYtfTYF0xjGJF43AYd8g2Uii1yJwmS5GR2vBmrc32sbg==", - "requires": { - "cliui": "^5.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^15.0.0" - } - }, - "yargs-parser": { - "version": "15.0.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz", - "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } } }, "signal-exit": { @@ -7630,19 +7300,27 @@ "dev": true }, "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", "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==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" + }, + "dependencies": { + "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 + } } }, "spark-md5": { @@ -7671,9 +7349,9 @@ "dev": true }, "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "dev": true, "requires": { "asn1": "~0.2.3", @@ -7705,28 +7383,14 @@ } }, "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": { - "ansi-regex": "^4.1.0" - } - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, "strip-ansi": { @@ -7736,14 +7400,6 @@ "dev": true, "requires": { "ansi-regex": "^5.0.1" - }, - "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-bom": { @@ -7753,18 +7409,18 @@ "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==", + "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": "^4.0.0" + "has-flag": "^3.0.0" } }, "tap": { - "version": "15.1.5", - "resolved": "https://registry.npmjs.org/tap/-/tap-15.1.5.tgz", - "integrity": "sha512-ha9ify0cagIOENV5D+T8ys+FFOWqPaWAKk66hjtUWjywXdGmnL8LRxloZa8sHiaB+Az1GYx4ufEaflOpedSCbQ==", + "version": "15.1.6", + "resolved": "https://registry.npmjs.org/tap/-/tap-15.1.6.tgz", + "integrity": "sha512-TN7xH6Q2tUPTd6qwmkhuFJcx1vUR8e4dDUpBKc61G0krOzne7Ia6aKIFb8O/0kVazachSSuVME1V8nQ2xwWL8w==", "dev": true, "requires": { "@isaacs/import-jsx": "*", @@ -7779,7 +7435,7 @@ "isexe": "^2.0.0", "istanbul-lib-processinfo": "^2.0.2", "jackspeak": "^1.4.1", - "libtap": "^1.1.3", + "libtap": "^1.1.4", "minipass": "^3.1.1", "mkdirp": "^1.0.4", "nyc": "^15.1.0", @@ -7791,7 +7447,7 @@ "tap-mocha-reporter": "^5.0.0", "tap-parser": "^10.0.1", "tap-yaml": "^1.0.0", - "tcompare": "^5.0.6", + "tcompare": "^5.0.7", "treport": "*", "which": "^2.0.2" }, @@ -9099,6 +8755,16 @@ "is-number": "^7.0.0" } }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, "trivial-deferred": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", @@ -9123,14 +8789,6 @@ "diff": "^4.0.1", "make-error": "^1.1.1", "yn": "3.1.1" - }, - "dependencies": { - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true - } } }, "tunnel-agent": { @@ -9148,6 +8806,12 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, + "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-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", @@ -9158,9 +8822,9 @@ } }, "typescript": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", - "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", + "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", "dev": true }, "unicode-length": { @@ -9264,29 +8928,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true - }, - "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 - }, - "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 - }, - "string-width": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.2.tgz", - "integrity": "sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } } } }, @@ -9308,6 +8949,11 @@ "typedarray-to-buffer": "^3.1.5" } }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, "yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -9326,6 +8972,118 @@ "integrity": "sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=", "dev": true }, + "yargs": { + "version": "14.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.0.tgz", + "integrity": "sha512-/is78VKbKs70bVZH7w4YaZea6xcJWOAwkhbR0CFuZBmYtfTYF0xjGJF43AYd8g2Uii1yJwmS5GR2vBmrc32sbg==", + "requires": { + "cliui": "^5.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^15.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + } + } + }, + "yargs-parser": { + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.3.tgz", + "integrity": "sha512-/MVEVjTXy/cGAjdtQf8dW3V9b97bPN7rNn8ETj6BmAQL7ibC7O1Q9SPJbGjgh3SlwoBNXMzj/ZGIj8mBgl12YA==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", diff --git a/packages/importer/package.json b/packages/importer/package.json index 7bbd44bec..2af77cf7a 100644 --- a/packages/importer/package.json +++ b/packages/importer/package.json @@ -4,11 +4,11 @@ "private": true, "main": "dist/index.js", "scripts": { - "test": "tap --ts", + "test": "tap --ts --no-check-coverage --no-coverage", "build": "tsc" }, "dependencies": { - "@notesnook/enex": "file:../enex", + "@notesnook/enex": "^1.0.2", "fflate": "^0.7.1", "node-html-parser": "github:thecodrr/node-html-parser", "showdown": "github:thecodrr/showdown", diff --git a/packages/importer/tap-snapshots/__tests__/providers.test.ts.test.cjs b/packages/importer/tap-snapshots/__tests__/providers.test.ts.test.cjs index 0dd68413d..3c7d8535d 100644 --- a/packages/importer/tap-snapshots/__tests__/providers.test.ts.test.cjs +++ b/packages/importer/tap-snapshots/__tests__/providers.test.ts.test.cjs @@ -6,41 +6,152 @@ */ 'use strict' exports[`__tests__/providers.test.ts TAP > evernote 1`] = ` -[{"title":"ExampleNoteInSameDir","dateCreated":1603654216000,"dateEdited":1603654464000,"attachments":[],"notebooks":[],"content":{"data":"
NoteA
","type":"html"}},{"title":"ExampleNoteInSameDir","dateCreated":1603654216000,"dateEdited":1603654498000,"attachments":[],"notebooks":[],"content":{"data":"
NoteB
","type":"html"}},{"title":"Essay Outline","tags":["hello","world","one","go"],"dateCreated":1621227742000,"dateEdited":1621669154000,"attachments":[{"filename":"callofwritinglogo.png","size":27810,"hash":"80bdabef085d3cdd","hashType":"xxh64","mime":"image/png"}],"notebooks":[],"content":{"data":"
Most analytical, interpretive, or persuasive essays tend to follow the same basic pattern. This structure should help you formulate effective outlines for most essays.


Introduction
  1. Sentence to get the attention of your readers:
  2. One-sentence thesis statement:

Body
  1. First Main Idea
    1. Supporting evidence #1
    2. Supporting evidence #2
    3. Supporting evidence #3
  2. Second Main Idea:

    1. Supporting evidence #1
    2. Supporting evidence #2
    3. Supporting evidence #3
  3. Third Main Idea:
    1. Supporting evidence #1
    2. Supporting evidence #2
    3. Supporting evidence #3

Conclusion:
  1. Restate of your thesis:
  2. Insightful sentence to end your essay:


","type":"html"}},{"title":"dsfdsfsf","dateCreated":1621227197000,"dateEdited":1621227208000,"attachments":[],"notebooks":[{"notebook":"First Notebook","topic":"All notes"}],"content":{"data":"
dsfdfsfdssdfsdf dsfdsfds sdfsf. sdfsf.  sfsfsd
","type":"html"}},{"title":"Essay Outline","dateCreated":1621227742000,"dateEdited":1621227742000,"attachments":[],"notebooks":[{"notebook":"First Notebook","topic":"All notes"}],"content":{"data":"
Most analytical, interpretive, or persuasive essays tend to follow the same basic pattern. This structure should help you formulate effective outlines for most essays.


Introduction
  1. Sentence to get the attention of your readers:
  2. One-sentence thesis statement:

Body
  1. First Main Idea
    1. Supporting evidence #1
    2. Supporting evidence #2
    3. Supporting evidence #3
  2. Second Main Idea:
    1. Supporting evidence #1
    2. Supporting evidence #2
    3. Supporting evidence #3
  3. Third Main Idea:
    1. Supporting evidence #1
    2. Supporting evidence #2
    3. Supporting evidence #3

Conclusion:
  1. Restate of your thesis:
  2. Insightful sentence to end your essay:


","type":"html"}},{"title":"kbjbdserwr","dateCreated":1621227120000,"dateEdited":1621227722000,"attachments":[],"notebooks":[{"notebook":"First Notebook","topic":"All notes"}],"content":{"data":"
grgffggnm ffg s
","type":"html"}},{"title":"test - checklist","dateCreated":1626223656000,"dateEdited":1626478624000,"attachments":[],"notebooks":[],"content":{"data":"
  • Checklist item 1
    • Nested item 1a
    • Nested item 1b is checked
  • Checklist item 2 is checked
    • Nested unordered 2a
  • Checklist item 3
    1. Nested ordered 3a

  • Unordered list item
    • Nested checklist item

  • Checklist bold inline code & link

","type":"html"}},{"title":"test - checklist","dateCreated":1626223656000,"dateEdited":1626478624000,"attachments":[],"notebooks":[],"content":{"data":"
klkmklmk
;mkmk
kmkmkl
","type":"html"}},{"title":"Untitled Note","tags":["Press column fragments"],"dateCreated":1438016257000,"dateEdited":1438016258000,"attachments":[{"filename":"","size":32157,"hash":"6105f6c946f1df79","hashType":"xxh64","mime":"image/png"},{"filename":"","size":48414,"hash":"4e2fcad0a990d3c9","hashType":"xxh64","mime":"image/png"},{"filename":"","size":43665,"hash":"ae02ba14ce9e48ae","hashType":"xxh64","mime":"image/png"},{"filename":"","size":24069,"hash":"dd927e962daa2dbb","hashType":"xxh64","mime":"image/png","width":300,"height":310},{"filename":"","size":24835,"hash":"2fdf4d6f7dda5d70","hashType":"xxh64","mime":"image/png","width":300,"height":318},{"filename":"","size":36165,"hash":"e3277297041adcb1","hashType":"xxh64","mime":"image/png","width":300,"height":443},{"filename":"","size":18786,"hash":"b298e7c74db866c1","hashType":"xxh64","mime":"image/png","width":300,"height":253},{"filename":"","size":25896,"hash":"18ca19a48e4b0de1","hashType":"xxh64","mime":"image/png","width":300,"height":325},{"filename":"","size":25188,"hash":"22d74d780034ddd5","hashType":"xxh64","mime":"image/png","width":300,"height":303},{"filename":"","size":28593,"hash":"478fae644d3e1add","hashType":"xxh64","mime":"image/png","width":300,"height":339},{"filename":"","size":37758,"hash":"62a98263bf829eee","hashType":"xxh64","mime":"image/png"},{"filename":"","size":29605,"hash":"1353f0ec25206a82","hashType":"xxh64","mime":"image/png"},{"filename":"","size":22710,"hash":"4455754f83afe167","hashType":"xxh64","mime":"image/png"},{"filename":"","size":31416,"hash":"5e7e820e4f9a2960","hashType":"xxh64","mime":"image/png"},{"filename":"","size":22383,"hash":"b7cdf169c5b9f7ef","hashType":"xxh64","mime":"image/png"},{"filename":"","size":6472,"hash":"39f73843221ade6d","hashType":"xxh64","mime":"image/png"},{"filename":"","size":430,"hash":"b34f7df1aea0dade","hashType":"xxh64","mime":"image/png"},{"filename":"","size":430,"hash":"b34f7df1aea0dade","hashType":"xxh64","mime":"image/png"}],"notebooks":[],"content":{"data":"\\n
\\n
\\n
\\n
Skip to main content\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n

Dying for Christianity: millions at risk amid rise in persecution across the globe

\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n

Increase in murder, as well as rape, torture and discrimination, has led the pope to warn of a ‘form of genocide’

\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
Christians are scanned with a metal detector outside the Our Lady of Consolation church, in Garissa, Kenya which was attacked with grenades by militants. Photograph: Ben Curtis/AP
\\n
\\n
\\n

Harriet Sherwood

\\n
\\n
@harrietsherwood
\\n
\\n

\\n
Monday 27 July 2015 14.21 BST
\\n
Last modified on Monday 27 July 2015 15.47 BST
\\n

\\n\\n
\\n
\\n

Christians are facing growing persecution around the world, fuelled mainly by Islamic extremism and repressive governments, leading the pope to warn of “a form of genocide” and for campaigners to speak of “religio-ethnic cleansing”.

\\n

\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
                Read more            
\\n
\\n
\\n
\\n
\\n

The scale of attacks on Christians in the Middle East, sub-Saharan Africa, Asia and Latin America has alarmed organisations that monitor religious persecution, with most reporting a significant deterioration in recent years.

\\n

\\n

On his recent trip to Latin America, Pope Francis said he was dismayed “to see how in the Middle East and elsewhere in the world many of our brothers and sisters are persecuted, tortured and killed for their faith in Jesus”. He went on: “In this third world war, waged piecemeal, which we are now experiencing, a form of genocide is taking place, and it must end.”

\\n

At Easter, the archbishop of Canterbury, Justin Welby, the leader of the Anglican church, spoke of Christian “martyrs”. Christians were living under persecution in almost half of the 38 Anglican provinces worldwide, he said this month. “They fear for their lives every day.”

\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
                Read more            
\\n
\\n
\\n
\\n
\\n

The Prince of Wales has described threats to Christians in the Middle East as “an indescribable tragedy”.

\\n

According to David Alton, a crossbench peer who campaigns on religious freedom, “some assessments claim that as many as 200 million Christians in over 60 countries around the world face some degree of restriction, discrimination or outright persecution”. That is about one in 10 of the 2.2 billion Christians in the world. Christianity remains the faith with the most adherents.

\\n

“Whatever the real figures the scale is enormous. From Syria, Iraq, Iran and Egypt to North Korea, China, Vietnam and Laos, from India, Pakistan, Bangladesh and Sri Lanka to Indonesia, Malaysia, Burma, from Cuba, Colombia and Mexico to Eritrea, Nigeria and Sudan, Christians face serious violations of religious freedom,” Alton said. Persecution ranged from murder, rape and torture to repressive laws, discrimination and social exclusion.

\\n
\\n

One consequence was “a form of religio-ethnic cleansing of Christian communities”, said John Pontifex of Aid to the Church in Need (ACN), a Catholic campaign group that monitors persecution. “The persecution of Christians is at a level we’ve not seen for many, many years and the main impact is the migration of Christian people. There are huge swaths of the world which are now experiencing a very sharp decline in the number of Christians.”

\\n

In the past 15 months, a number of egregious attacks have highlighted the targeting of Christians by Islamic extremists in the Middle East and Africa. They include:

\\n

the abduction of more than 270 Nigerian schoolgirls;

\\n

the beheading of 21 Egyptian Coptic Christians in Libya, and other attacks by Isis militants in Iraq and Syria;

\\n

the killing of 147 people on a university campus in Garissa, northern Kenya.

\\n

\\n

In addition, a heavily pregnant woman, Meriam Ibrahim, was sentenced to death in Sudan for alleged apostasy, triggering worldwide protests. She was later allowed to leave the country.

\\n

But monitoring groups say the persecution of Christians goes far beyond high-profile cases. According to the Pew Research Center, Christians face harassment in 102 countries – more than any other religion. The US government advisory body the Commission on International Religious Freedom (USCIRF), recommended this year that eight countries – the Central African Republic, Egypt, Iraq, Nigeria, Pakistan, Syria, Tajikistan and Vietnam – be added to the State Department’s existing list of nine “countries of particular concern”.

\\n

\\n
\\n

The 2014 report on religious freedom in the world by ACN said conditions had deteriorated in 55 countries, and significantly so in six countries: Iraq, Libya, Nigeria, Pakistan, Sudan and Syria. Although Muslims “also face terrible and systematic persecution … and Jewish communities have also suffered increased threats and violence”, Christians were by far the most persecuted faith group, the report said.

\\n

Open Doors, a global organisation monitoring Christian persecution, conservatively estimates that 4,344 Christians were killed for faith-related reasons in 12 months up to November 2014, and 1,062 churches were attacked. It says persecution increased in 24 countries last year, with Kenya, Sudan, Eritrea and Nigeria entering the top 10 of its country-by-country league table. North Korea has headed the list for the past 13 years; up to 70,000 Christians are held in gulags, with “tens of thousands of people banished, arrested, tortured and/or killed”, it says.

\\n

\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n

In general, persecution of Christians is increasing, “and the rate of increase is accelerating”, said Lisa Pearce, chief executive of Open Doors UK and Ireland. The nature of persecution was also changing, she added. “It used to mean several years in a forced labour camp. Now it means watching your loved ones being beheaded.”

\\n

The rise of Islamic extremism is driving much of the increase in Christian persecution, said campaigners and church leaders who point to militant groups such as Isis, Boko Haram and al-Shabaab. “One of the 21st century’s major challenges to freedom of religion or belief [is] the actions of non-state actors in failing or failed states,” said USCIRF’s 2015 annual report.

\\n

Lee Marsden, professor of international relations, specialising in religion and security, at the University of East Anglia, said the collapse of authoritarian regimes in the Middle East during the Arab spring was a significant factor. “They had many downsides, but they did protect minority faiths. Take them away, and it becomes open season on minorities – that was one of the unforeseen consequences of toppling these people. And the Arab spring was hijacked by Islamists, which was bad news for religious minorities.”

\\n
\\n

Social media has allowed religious extremists to push their message beyond geographical boundaries. Jonathan Sacks, the former chief rabbi, speaking in a recent debate on religious freedom in the House of Lords, said the internet was “to radical political religions what printing was to Martin Luther. It allows them to circumvent and outflank all existing structures of power. The result has been the politicisation of religion and the religionising of politics, which, throughout history, has been a deadly combination.”

\\n

Other forces driving persecution include authoritarian regimes restricting the activities of particular faith groups, tensions between groups coming into contact as a result of migration and displacement, and declining tolerance and pluralism in some parts of the world. Christian leaders this week protested against a campaign to remove crosses from churches in eastern China.

\\n

And there are some unexpected pockets of persecution. In 2014, five Catholic priests were killed in Mexico, prompting the Vatican to say it was the most dangerous country in Latin America for its followers. Powerful criminal groups see the church as a target for extortion and money laundering, and view some priests as standing in the way of their own influence. Attacks on priests in Mexico increased by 80% between 2012 and 2014, local organisations reported.

\\n
\\n
\\n

Some campaigners and church leaders acknowledged the danger of religious persecution being seen as a modern-day clash of civilisations, a titanic struggle between Islam and Christianity, carrying the risk of polarising people of different faiths.

\\n

“It is not about Islam and Christianity. It is about the right for everyone to have the freedom to choose, practise, share non-coercively, and change their religion or belief – and it includes the right not to believe as well as the right for adherents of all religions to follow their beliefs,” said Lord Alton.

\\n

Cardinal Vincent Nichols, the archbishop of Westminster and head of the Catholic church in England and Wales, said: “It would be a serious mistake to cast this as a Muslim-Christian conflict.” He cited a bishop in northern Nigeria, who had told him the most recent killing in his diocese was of 39 Muslims by Boko Haram. “The extremist groups are certainly perpetrating violence, against anyone who does not share their world view. That includes Christians, but it’s not exclusively Christians by any means.”

\\n
\\n

According to Marsden, there could be an element of Islamophobia in some Christian campaign organisations, “but there is also an element of victimhood – a view that the church has always been persecuted, which feeds into the martyrdom narrative”.

\\n

And, in the House of Lords, the archbishop of Canterbury alluded to Christianity’s own historical record of persecuting others, saying “the church’s sporadic record of compelling obedience to its teachings through violence and coercion is a cause for humility and shame”.

\\n

In the same debate, Sacks – along with others – pointed to the increasing threat faced by “people of all faiths, and of none”. He said: “Christians are being persecuted throughout the Middle East and elsewhere. Jews are facing a new and resurgent antisemitism. Muslims who stand on the wrong side of the Sunni-Shia divide are being killed in great numbers. Hindus, Sikhs, Buddhists, Bahá’í and others face persecution in some parts of the world. Religious freedom is about our common humanity, and we must fight for it if we are not to lose it. This, I believe, is the issue of our time.”

\\n

Not all agreed with the pope’s use of the word genocide. But, said Pearce, “if you look at what’s happening in the Middle East, it’s being purged of Christians, and there are definitely elements of religious cleansing. So I can see where the pope got that word from.”

\\n
\\n

She drew a distinction between “smash” – extreme violence – and “squeeze”, where “life as a Christian becomes inexorably harder. The squeeze inevitably makes the church more vulnerable to the smash when it comes.” The groups that were the most violent were not necessarily the worst persecutors, she added.

\\n

Campaigners have suggested action such as increased governmental pressure, legal help where there is a functioning judicial system, providing havens for refugees, and supporting NGOs on the ground. Alton would like the prime minister, David Cameron, to appoint a special envoy for religious freedom, as the US and Canada have done.

\\n

The archbishop of Canterbury said that attacks on religious freedom were often linked to economic, social and historical circumstances. “If we want to defend religious freedom around the world ... do not sell guns to people who oppress religious freedom; do not launder their money; restrict trade with them; confine the way we deal with them,” he told his fellow peers. In addition, said Nichols, “for people of faith, the promise and pattern of prayer is very important; to say you are not forgotten is a crucial and sustaining gift.”

\\n

Pearce said Open Doors constantly wrestled with how to “make clear we’re talking about the impact of extremism, that it’s not only Christians that are persecuted, and that the overall goal is to create an environment where people are free to follow any religion, or none. This is not an issue just for Christians, but a human rights issue that affects us all. It’s not a problem for the church, but much wider than that.”

\\n

Under attack

\\n

Garissa University – Kenya

\\n

On 2 April this year, gunmen from the militant Islamic group al-Shabaab attacked Garissa University in Kenya, killing 147 people and injuring 79. The gunmen released Muslim students and shot those who identified themselves as Christians, in some cases telling the students to call their parents and talk to them as they died. The gunmen held the university in a state of siege for 15 hours, with more than 700 students trapped inside. The siege ended when four of the gunmen were shot by police; the fifth was able to detonate his suicide vest, killing himself and injuring Kenyan commandos. It was the deadliest attack in Kenya since the bombing of the US embassy in 1998 and one in a series of al-Shabaab attacks on the country, which the terrorist group claimed were carried out in retribution for the “unspeakable atrocities against the Muslims of East Africa by the Kenyan security forces”.

\\n

Pregnant woman sentenced to death for apostasy – Sudan

\\n
\\n

Meriam Ibrahim, a Sudanese Christian, was sentenced to death for adultery and apostasy after marrying a Christian man, with whom she had a young son. Ibrahim was raised as a Christian by her Christian mother after her Muslim father left the family when she was a young child. The Sudanese court said she should have followed the religion of her absent father, which would have prohibited her from marrying a Christian, and found her guilty of abandoning her Muslim faith. Ibrahim was arrested when she was eight months pregnant and held in a Sudanese prison with her 21-month-old son to await hanging after the birth of her second child. She was denied medical care and prison staff refused to take her to hospital when she went into labour; she gave birth to a daughter in prison with her legs shackled. Amid international outrage, Ibrahim was released on the order of the Sudanese appeal court, but was rearrested as she was boarding a plane with her husband and two children the next day. After intense diplomatic negotiations the whole family were allowed to leave and they are now living in the US.

\\n

Attacks on Christians by Isis – Iraq, Syria, Libya

\\n

\\n

Iraq’s Christian population has decreased dramatically since the fall of Saddam Hussein’s regime, as large numbers have fled because of escalating persecution. Christians, as well as other minority groups, have been targeted by Isis in the large parts of Iraq and Syria under its control. It is believed that more than 100,000 people, many of them Christians, fled Qaraqosh, Mosul and the Nineveh plain in 2014 as Isis swept through. The Islamic extremists present Christians with the choice of converting to Islam, paying a very high tax or being murdered. In February 2015, Isis posted a video purporting to show 21 Coptic Christians being beheaded on a beach in Libya. Two months later, a second Isis video apparently showed another 30 Ehiopian Christians being shot or beheaded.

\\n

\\n

Kidnapping of schoolgirls by Boko Haram – Nigeria

\\n
\\n

A group of Boko Haram militants attacked a school in Chibok, a primarily Christian village in Nigeria, on the night of 14 April 2014. They kidnapped schoolgirls who had returned to the school to sit their final physics exam. It is uncertain how many girls were kidnapped, but estimates put it at between 276 and 329 girls, with 53 escaping in the few weeks following the attack. The girls were taken to Boko Haram strongholds and attempts by the Nigerian government and the girls’ families to rescue them have been unsuccessful. Less than a month after the kidnapping, Boko Haram released a video showing 130 of the kidnapped girls, all wearing Islamic dress. It is believed they are being held as sex slaves and have been forced to convert to Islam. Kate Lyons

\\n
\\n
\\n
\\n
More news\\n

Topics

\\n\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n

Most popular

\\n
    \\n
  • \\n
    \\n

    Manchester Royal Infirmary closes A&E due to suspected Mers cases

    \\n
  • \\n
  • \\n
    \\n

    The brilliant thing about Kate Moss is that she can never be shamed

    \\n
  • \\n
  • \\n
    \\n

    'I'm sitting next to a weirdo on the bus' and other true meanings of emoji

    \\n
  • \\n
  • \\n
    \\n

    Rail operators were warned of cows near tracks before Kent collision

    \\n
  • \\n
  • \\n
    \\n

    Murdered 'Mr Big' said he could be killed 'at any time' in 1998 interview

    \\n
  • \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n

comments (741)

\\n
\\n
\\n
\\n
\\n
\\n
Signed in as AndrewBrown
\\n
\\n
\\n
\\nPost your comment
\\n
\\n
\\n
\\n
Order by oldest
\\n
Show 25
\\n
Threads collapsed
\\n
\\n
\\n
1 2 3 48 next
\\n
\\n
\\n
\\n
\\n
\\n
    \\n
  • \\n
    \\n
    \\n
    Lillianne\\n
    \\n
    3h ago
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
                                This comment was removed by a moderator because it didn't abide by our                             community standards.                             Replies may also be deleted. For more detail see our FAQs.
    \\n
    \\n
    \\n
    \\n
    \\n
  • \\n
  • \\n
    \\n
    \\n
    nevermindlastnight\\n
    \\n
    3h ago
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
                                This comment was removed by a moderator because it didn't abide by our                             community standards.                             Replies may also be deleted. For more detail see our FAQs.
    \\n
    \\n
    \\n
    \\n
    \\n
  • \\n
\\n
Close report comment form\\n
Reason (optional)\\n
\\n
\\n
Email (optional)\\n
\\n
\\nReport
\\n
\\n
\\n View more comments
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n

popular

\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n\\n
\\n
© 2015 Guardian News and Media Limited or its affiliated companies. All rights reserved.
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n","type":"html"}},{"title":"ll","dateCreated":1637997140000,"dateEdited":1638001735000,"attachments":[{"filename":"Sketch 27/11/2021 12:59.png","size":137253,"hash":"b49dbeadaf0c45cc","hashType":"xxh64","mime":"image/png","width":541},{"filename":"27.11.2021, 12.59.17.webm","size":1477,"hash":"90c8f0b0b6f9fb53","hashType":"xxh64","mime":"audio/webm"}],"notebooks":[],"content":{"data":"
;;
klkmklmk
;mkmk
kmkmkl

  • lkmk;mklml
  • lk lmk klm
  • \\\\m
  • ;;;;



lll
ll
kllk
ll
    \\n
  • l;;lllllllllklklkl
  • jjmkoi
  • klmklm
  • \\n

Text test:

I am a big paragraph. I am a big paragraph. I am a big paragraph. I am a big paragraph. I am a big paragraph. I am a big paragraph. I am a big paragraph.

CENTERED ALIGNED TEXT

HEADER 2

HEADER 3


HEADER 4


HANDWRITTEN FONT!

DONT SIZE
  • dot list
  • iw
    • jkdsv
    • dsvlknds
  • sdvldsvkn
      • dsjvbndjsv
        • sdvnjlsnd

  1. Number list
    1. dsjvsd
    2. dsvjdsv
        1. dsfjvbnds
        2. djvsvds
        3. dsvjksdbv


","type":"html"}},{"title":"test - bracketlinks","dateCreated":1416327055000,"dateEdited":1600361203000,"attachments":[],"notebooks":[],"content":{"data":"\\nThe computational theories of Albus 47 and Marr [48]","type":"html"}},{"title":"TEST - templates just content","tags":["tag1","tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test - checklist","dateCreated":1626223656000,"dateEdited":1626478624000,"attachments":[],"notebooks":[],"content":{"data":"
  • Checklist item 1
    • Nested item 1a
    • Nested item 1b is checked
  • Checklist item 2 is checked
    • Nested unordered 2a
  • Checklist item 3
    1. Nested ordered 3a

  • Unordered list item
    • Nested checklist item

  • Checklist bold inline code & link

","type":"html"}},{"title":"External File Link","dateCreated":1589838473000,"dateEdited":1589838497000,"attachments":[],"notebooks":[],"content":{"data":"
file: file://thisIsAFile/
","type":"html"}},{"title":"External Link","dateCreated":1589838473000,"dateEdited":1589838497000,"attachments":[],"notebooks":[],"content":{"data":"
https://food52.com/blog/8524-alon-shaya-s-whole-roasted-cauliflower-with-whipped-goat-cheese?utm_source=Facebook&utm_medium=SocialMarketing&utm_campaign=Genius
","type":"html"}},{"title":"External Link","dateCreated":1589838473000,"dateEdited":1589838497000,"attachments":[],"notebooks":[],"content":{"data":"
","type":"html"}},{"title":"External Link","dateCreated":1589838473000,"dateEdited":1589838497000,"attachments":[],"notebooks":[],"content":{"data":"
","type":"html"}},{"title":"External Link","dateCreated":1589838473000,"dateEdited":1589838497000,"attachments":[],"notebooks":[],"content":{"data":"
url: https://444.hu/
","type":"html"}},{"title":"Link With Picture","dateCreated":1589838473000,"dateEdited":1589838730000,"attachments":[],"notebooks":[],"content":{"data":"



url: https://444.hu/

","type":"html"}},{"title":"test - headings","dateCreated":1626226767000,"dateEdited":1626226812000,"attachments":[],"notebooks":[],"content":{"data":"

Large

Medium

Small

body
","type":"html"}},{"title":"Highlights","dateCreated":1590777741000,"dateEdited":1590777758000,"attachments":[],"notebooks":[],"content":{"data":"
Let's highlight a text. This is a normal text again.



","type":"html"}},{"title":"Highlights impl2","dateCreated":1608241544000,"dateEdited":1608403749000,"attachments":[],"notebooks":[],"content":{"data":"
The Captain Class: A New Theory of Leadership By Sam Walker

My ego demands—for myself—the success of my team. —BILL RUSSELL
LOCATION: 79

","type":"html"}},{"title":"test - image - dataUrl","dateCreated":1626543345000,"dateEdited":1626561236000,"attachments":[{"size":90,"hash":"2559970f98fad650","hashType":"xxh64","mime":"image/png"},{"filename":"photo.png","size":5339,"hash":"2608cf3e3bfe1c5d","hashType":"xxh64","mime":"image/png"}],"notebooks":[],"content":{"data":"

Photo by Mike Tinnion
Free to use under the Unsplash License



","type":"html"}},{"title":"test-imageWithoutSrc","dateCreated":1578940687000,"dateEdited":1598809593000,"attachments":[],"notebooks":[],"content":{"data":"

Transaction Management & Scope

Other challenges lie in transaction management. Centralised (monolithic) applications, with more localised interactions, can better leverage database transaction scope; i.e. one transaction manages a series of database interactions, and still support relatively simple rollback and commit facilities.
Microservices, are more isolated, and often use different database technologies. Thus, transaction scope is isolated to the microservice-level; transactions are not shared. This leads to data consistency, and rollback challenges. Another practice must be used to orchestrate transactions. See Figure 10.

Figure 10 — transactional scope; monolith vs microservices
In the first scenario, typical of a monolith, one transaction (Tx A) manages all five database interactions, often into the same (monolithic) database schema. The second case, used in microservices, is quite different. In this case, a transaction is managed per action (assuming each database interaction is encapsulated by a single microservice interaction). This is fine if all transactions succeed, but challenging when part of the flow fails and remedial action is required.

Uniformity

If not carefully managed, microservices’ evolutionary benefit can also become a hindrance.
Being ultimately flexible in technological choice (Technology Choice per Microservice), runs the risk of such diversity that it may hamper change. For instance, if the implementation (and database) technology may be anything, there is a risk that the overall solution is so technologically diverse (i.e. a complex ecosystem) that (a) comprehension can be hard, (b) security concerns are spread over a wider range of technologies, and (c) moving technical staff across domains is difficult (e.g. Simon may be an extremely competent Java developer, but he has no skills in node.js).
This uniformity is also useful for the non-functional aspects used for logging, alerting, monitoring, or any other metric-gathering tools. We don’t (particularly) want multiple ways of processing these actions (regardless of implementation technology).
There’s also something to be said from a container security perspective. By limiting the number of technologies, we should be able to more quickly patch a container, and then re-release the microservice on top of it. Patching multiple divergent technology stacks can be tougher, and suggests a higher likelihood that we must wait upon the vendor to release a patch.
Promoting a level of uniformity is therefore sensible. Better to select a limited technology set for most cases, than an unmanageable technology sprawl.

Performance

Because each microservice interaction is independent (including their transactions), any significant collaboration (i.e. a workflow involving many parties), can create performance challenges. Specifically, this relates to latency (the time it takes from the initiation of an action, to receiving a response). See Figure 11.

Figure 11 — performance (latency) with microservices
No science was harmed in the making of this diagram! It’s merely meant to demonstrate the difference challenges for the architectural styles.
The scenario represents a distributed (e.g. microservices) system. The workflow interacts with four different domains (1, 2, 3, and 4) to complete a job. The useful functional value (white, numbered boxes) may be of a relatively short duration, whilst the red bar represents the varying latency costs of network negotiation/transfer/marshalling to talk with the next microservice. The orange bar represents the overall time cost so far. There’s quite a bit of red involved in these distributed interactions.
In Figure 12 we have a centralised representation.

Figure 12 — monolith latency
In this case, the workflow must interact with the same four services/domains, but the cost to communicate with each component is much less (i.e. the short red bars).
Note — Tactics to Reduce Latency Woes
There’s a few tactics that can mitigate these latency issues, but no real definitive solution. You can:
1. Attempt to bring dependents closer together in the network, thus reducing latency.
2. Use an orchestration mechanism that sends messages to each, and compiles a response as they become available (assuming you can do this).
3. Go entirely asynchronous.
4. If visual representation, provide data in stages, using technologies like Ajax.
In the end, it depends upon the system. Most technologists I know would favor scalability over performance; i.e. ensure the system can scale to meet greater demands, at the (willing) cost of slightly reduced performance.

...

Business & Technical Qualities

Microservices can (under the right conditions) promote the following qualities.

Some of my qualifications may not be obvious at the moment (e.g. how can scalability support TTM?); however, this will make more sense in future publications.

","type":"html"}},{"title":"test -note with text only","dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
line 1
\\n

\\n

\\n

\\n
line 5
\\n

\\n

\\n
level 1
\\n
level 2
\\n
level 3
\\n
level 2
","type":"html"}},{"title":"test -note with text only","dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test -note with text only","dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"NoteB","dateCreated":1590675244000,"dateEdited":1590675282000,"attachments":[],"notebooks":[{"notebook":"test-links-withExtension","topic":"All notes"}],"content":{"data":"
This is the content of NoteB, and a reference to NoteA
","type":"html"}},{"title":"NoteA","dateCreated":1590675229000,"dateEdited":1590675242000,"attachments":[],"notebooks":[{"notebook":"test-links-withExtension","topic":"All notes"}],"content":{"data":"
This is the content of NoteA
","type":"html"}},{"title":"NoteB","dateCreated":1590675244000,"dateEdited":1590675282000,"attachments":[],"notebooks":[{"notebook":"test-links","topic":"All notes"}],"content":{"data":"
This is the content of NoteB, and a reference to NoteA
","type":"html"}},{"title":"NoteA","dateCreated":1590675229000,"dateEdited":1590675242000,"attachments":[],"notebooks":[{"notebook":"test-links","topic":"All notes"}],"content":{"data":"
This is the content of NoteA
","type":"html"}},{"title":"test-markdown-en","dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
> this is a quote

1. listItem 1
2. listItem 2
","type":"html"}},{"title":"test-monospace-codeblocks","dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
foo
\\n
bar
\\n
baz
\\nThis should be another one:\\n
foo bar
\\nThis should not be one:\\n
foo bar
","type":"html"}},{"title":"test-nospanstyle","dateCreated":1594081298000,"dateEdited":1599427313000,"attachments":[],"notebooks":[],"content":{"data":"
N3    ni ____
N5    inin ____
N21   īnī ____
","type":"html"}},{"title":"Note with code block","dateCreated":1603136561000,"dateEdited":1603141301000,"attachments":[],"notebooks":[],"content":{"data":"
Some text before the code block

# This program prints *Hello, world* in _Python_
print('Hello, world!\\\\n')


Some code after the code block 1

One more longer code block

// some Rust code...
fn main() {
    for n in 1..=100 {
        if n % 15 == 0 {
            println!(\\"fizzbuzz\\");
        } else if n % 3 == 0 {
            println!(\\"fizz\\");
        } else if n % 5 == 0 {
            println!(\\"buzz\\");
        } else {
            println!(\\"{}\\", n);
        }
    }
}


","type":"html"}},{"title":"Test","dateCreated":1538826418000,"dateEdited":1538826418000,"attachments":[],"notebooks":[],"content":{"data":"
note with latlong
","type":"html"}},{"title":"test -note with text only","tags":["tag1_nestedTag1","tag2_nestedTag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test -note with text only","tags":["tag1_nested tag1","tag2_nested tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test -note with text only","tags":["tag1_nested tag1","tag2_nested tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test -note with text only","dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test -note with text only","tags":["tag1","tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test - note with pdf","dateCreated":1538815577000,"dateEdited":1538815666000,"attachments":[],"notebooks":[],"content":{"data":"

","type":"html"}},{"title":"Test","dateCreated":1538826418000,"dateEdited":1538826418000,"attachments":[],"notebooks":[],"content":{"data":"
note with source-url
","type":"html"}},{"title":"test -note with text only","tags":["tag1","tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test -note with text only","tags":["tag1","tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test -note without metadata","tags":["tag1","tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"Untitled","dateCreated":1603570660000,"dateEdited":1603571460000,"attachments":[],"notebooks":[],"content":{"data":"


","type":"html"}},{"title":"pdfAttachment","dateCreated":1590841357000,"dateEdited":1590841406000,"attachments":[],"notebooks":[],"content":{"data":"
Note with PDF attachment


","type":"html"}},{"title":"pdfAttachment","dateCreated":1590841357000,"dateEdited":1590841406000,"attachments":[],"notebooks":[],"content":{"data":"
Note with PDF attachment


","type":"html"}},{"title":"pure-external-url","dateCreated":1589838473000,"dateEdited":1589838497000,"attachments":[],"notebooks":[],"content":{"data":"
https://444.hu/
","type":"html"}},{"title":"scriptAttachment","dateCreated":1590841357000,"dateEdited":1590841406000,"attachments":[],"notebooks":[],"content":{"data":"
Note with script attachment


","type":"html"}},{"title":"SkipLocation","dateCreated":1589838473000,"dateEdited":1589838497000,"attachments":[],"notebooks":[],"content":{"data":"
url: https://444.hu/
","type":"html"}},{"title":"special items","dateCreated":1589788540000,"dateEdited":1589788609000,"attachments":[],"notebooks":[],"content":{"data":"
  • listItem1
  • listItem2

  1. numberedList1
  2. numberedList2

Checkbox1
CheckedCheckbox2

Inline Code 

","type":"html"}},{"title":"test - strikethrough","dateCreated":1626386430000,"dateEdited":1626386454000,"attachments":[],"notebooks":[],"content":{"data":"
Normal strikethrough normal
","type":"html"}},{"title":"test - sublists - multiple","dateCreated":1602939373000,"dateEdited":1602939553000,"attachments":[],"notebooks":[],"content":{"data":"
  • Level1
    • Level2
    • Level2
  • Level1
    • Level2
    • Level2
      • Level3
  • Level1
    • Level2
      • Level3
    • Level2

","type":"html"}},{"title":"test - sublists - valid","dateCreated":1602349035000,"dateEdited":1602362533000,"attachments":[],"notebooks":[],"content":{"data":"\\n
    \\n
  • \\n
    Level1
    \\n
  • \\n
  • \\n
      \\n
    • \\n
      Level2
      \\n
    • \\n
    • \\n
        \\n
      • \\n
        Level3
        \\n
      • \\n
      \\n
    • \\n
    \\n
  • \\n
\\n

\\n ","type":"html"}},{"title":"test - sublists","dateCreated":1602349035000,"dateEdited":1602362533000,"attachments":[],"notebooks":[],"content":{"data":"
  • Level1
    • Level2
      • Level3

","type":"html"}},{"title":"table","dateCreated":1589749514000,"dateEdited":1589788470000,"attachments":[],"notebooks":[],"content":{"data":"

c1r1
c2r1
c3r1
c1r2
c2r2
C3r2


","type":"html"}},{"title":"test - templates just content","tags":["tag1","tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"TEST - templates","attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test - templates","tags":["tag1","tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"Untitled","dateCreated":1590831416000,"dateEdited":1590831469000,"attachments":[],"notebooks":[],"content":{"data":"
Plain content of the text

Image starts

 


Image ends
","type":"html"}},{"title":"test - note with more pictures","dateCreated":1538817730000,"dateEdited":1538818904000,"attachments":[],"notebooks":[],"content":{"data":"
Squirrels




","type":"html"}},{"title":"test - note with picture","dateCreated":1538815454000,"dateEdited":1538817131000,"attachments":[],"notebooks":[{"notebook":"test-twoNotes","topic":"All notes"}],"content":{"data":"
Squirrels 


","type":"html"}},{"title":"test -note with text only","dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[{"notebook":"test-twoNotes","topic":"All notes"}],"content":{"data":"
This is the content
","type":"html"}},{"title":"Untitled","dateCreated":1538820877000,"dateEdited":1538820883000,"attachments":[],"notebooks":[{"notebook":"test-twoNotesWithSameName","topic":"All notes"}],"content":{"data":"
text2
","type":"html"}},{"title":"Untitled","dateCreated":1538815453000,"dateEdited":1538820876000,"attachments":[],"notebooks":[{"notebook":"test-twoNotesWithSameName","topic":"All notes"}],"content":{"data":"
text1

","type":"html"}},{"title":"test - note with picture (filename with spaces)","dateCreated":1602970123000,"dateEdited":1602970267000,"attachments":[],"notebooks":[],"content":{"data":"
Squirrels 


","type":"html"}},{"title":"yarle evernote","dateCreated":1603005940000,"dateEdited":1603005940000,"attachments":[],"notebooks":[],"content":{"data":"\\n
\\n

Search Results

Web results

Sep 24, 2020 — yarle-evernote-to-md documentation, tutorials, reviews, alternatives, versions, dependencies, community, and more.
Rating: 4.3 · ‎63 votes
You've visited this page 5 times. Last visit: 10/9/20
Miss any of our Open RFC calls?Watch the recordings here! » yarle-evernote-to-md. 2.9.2 • Public • Published 17 days ago. Readme · ExploreBETA · 20 ...
You've visited this page 2 times. Last visit: 6/17/20
Yet Another Rope Ladder from Evernote. Contribute to akosbalasko/yarle development by creating an account on GitHub.
You've visited this page many times. Last visit: 8/4/20
Learn more about yarle-evernote-to-md: package health score, popularity, security, maintenance, versions and more.
Found this just now: yarle: Yet Another Rope Ladder from Evernote (love the name ) https://github.com/akosbalasko/yarle.
May 28, 2020 · 4 posts · ‎2 authors
You've visited this page 5 times. Last visit: 10/13/20
Evernote Version 10 And A Note On My Macros · matti 70 views 3 comments 0 points Most recent by matti October 8. garethrees. CLI Seinfeld Calendar for your ...
You've visited this page many times. Last visit: 9/13/20
Jun 12, 2020 — Yet Another Rope Ladder from Evernote. Contribute to akosbalasko/yarle development by creating an account on GitHub. 1 Like.
You've visited this page 4 times. Last visit: 10/13/20
May 20, 2020 — I downloaded the yarle package for mac os, found and installed the js node version, read the yarle readme, but from there it was not clear to me ...
When I fed up with Evernote's slow improvements, pricing and leaks, I started ... if you walk in the same shoes, give it a try: https://github.com/akosbalasko/yarle.
You've visited this page 4 times. Last visit: 9/2/20
sharer.js, passport-evernote-auth, passport-evernote, share-buttons, yarle-evernote-to-md, enml2html, dir-to-evernote, eslint-config-evernote, enex-du.
\\n
\\n","type":"html"}},{"title":"Yarle","dateCreated":1602947279000,"dateEdited":1602947279000,"attachments":[],"notebooks":[],"content":{"data":"\\n
\\n

akosbalasko/yarle: Yet Another Rope Ladder from Evernote
Yet Another Rope Ladder from Evernote. Contribute to akosbalasko/yarle development by creating an account on GitHub.
\\n
\\n","type":"html"}},{"title":"Yarle","dateCreated":1602947308000,"dateEdited":1602947308000,"attachments":[],"notebooks":[],"content":{"data":"\\n
\\n

\\n
\\n","type":"html"}},{"title":"yarle evernote","dateCreated":1603005897000,"dateEdited":1603005897000,"attachments":[],"notebooks":[],"content":{"data":"\\n
\\n

yarle evernote

Sep 24, 2020 — yarle-evernote-to-md documentation, tutorials, reviews, alternatives, versions, dependencies, community, and more.
Rating: 4.3 · ‎63 votes
You've visited this page 5 times. Last visit: 10/9/20
Miss any of our Open RFC calls?Watch the recordings here! » yarle-evernote-to-md. 2.9.2 • Public • Published 17 days ago. Readme · ExploreBETA · 20 ...
You've visited this page 2 times. Last visit: 6/17/20
Yet Another Rope Ladder from Evernote. Contribute to akosbalasko/yarle development by creating an account on GitHub.
You've visited this page many times. Last visit: 8/4/20
Learn more about yarle-evernote-to-md: package health score, popularity, security, maintenance, versions and more.
Found this just now: yarle: Yet Another Rope Ladder from Evernote (love the name ) https://github.com/akosbalasko/yarle.
May 28, 2020 · 4 posts · ‎2 authors
You've visited this page 5 times. Last visit: 10/13/20
Evernote Version 10 And A Note On My Macros · matti 70 views 3 comments 0 points Most recent by matti October 8. garethrees. CLI Seinfeld Calendar for your ...
You've visited this page many times. Last visit: 9/13/20
Jun 12, 2020 — Yet Another Rope Ladder from Evernote. Contribute to akosbalasko/yarle development by creating an account on GitHub. 1 Like.
You've visited this page 4 times. Last visit: 10/13/20
May 20, 2020 — I downloaded the yarle package for mac os, found and installed the js node version, read the yarle readme, but from there it was not clear to me ...
When I fed up with Evernote's slow improvements, pricing and leaks, I started ... if you walk in the same shoes, give it a try: https://github.com/akosbalasko/yarle.
You've visited this page 4 times. Last visit: 9/2/20
sharer.js, passport-evernote-auth, passport-evernote, share-buttons, yarle-evernote-to-md, enml2html, dir-to-evernote, eslint-config-evernote, enex-du.
\\n
\\n","type":"html"}},{"title":"test - note with picture","dateCreated":1538815454000,"dateEdited":1538815570000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content

","type":"html"}},{"title":"test - note with picture","dateCreated":1538815454000,"dateEdited":1538815570000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content

","type":"html"}},{"title":"test","tags":["library collections history","distant reading"],"dateCreated":1503624811000,"dateEdited":1615520933000,"attachments":[],"notebooks":[],"content":{"data":"
Steps

  1. Draft the proposal. I did this right after we concluded our Skype call 8/24/17. 
  2. Katie to flesh it out with more detail. We finish it. 
  3. Circulate to peer colleagues.


Target colleagues and other stakeholders
Jen Serventi at ODH NEH. Glen Ro knows her well. 
Someone at AHA
someone named Dan - a diss reader of Katie
Nicole at Stanford
SHARP are the obvious people. Jason is on SHARP executive. Katie and Jason wrote the red scraper [for SHARP]. 
An international thing would be more powerful. 




","type":"html"}},{"title":"test","dateCreated":1503624811000,"dateEdited":1615520933000,"attachments":[],"notebooks":[],"content":{"data":"
Steps

  1. Draft the proposal. I did this right after we concluded our Skype call 8/24/17. 
  2. Katie to flesh it out with more detail. We finish it. 
  3. Circulate to peer colleagues.


Target colleagues and other stakeholders
Jen Serventi at ODH NEH. Glen Ro knows her well. 
Someone at AHA
someone named Dan - a diss reader of Katie
Nicole at Stanford
SHARP are the obvious people. Jason is on SHARP executive. Katie and Jason wrote the red scraper [for SHARP]. 
An international thing would be more powerful. 




","type":"html"}}] +{"notes":[{"title":"ExampleNoteInSameDir","dateCreated":1603654216000,"dateEdited":1603654464000,"attachments":[],"notebooks":[],"content":{"data":"
NoteA
","type":"html"}},{"title":"ExampleNoteInSameDir","dateCreated":1603654216000,"dateEdited":1603654498000,"attachments":[],"notebooks":[],"content":{"data":"
NoteB
","type":"html"}},{"title":"Essay Outline","tags":["hello","world","one","go"],"dateCreated":1621227742000,"dateEdited":1621669154000,"attachments":[{"filename":"callofwritinglogo.png","size":27810,"hash":"80bdabef085d3cdd","hashType":"xxh64","mime":"image/png"}],"notebooks":[],"content":{"data":"
Most analytical, interpretive, or persuasive essays tend to follow the same basic pattern. This structure should help you formulate effective outlines for most essays.


Introduction
  1. Sentence to get the attention of your readers:
  2. One-sentence thesis statement:

Body
  1. First Main Idea
    1. Supporting evidence #1
    2. Supporting evidence #2
    3. Supporting evidence #3
  2. Second Main Idea:
    \\"callofwritinglogo.png\\"

    1. Supporting evidence #1
    2. Supporting evidence #2
    3. Supporting evidence #3
  3. Third Main Idea:
    1. Supporting evidence #1
    2. Supporting evidence #2
    3. Supporting evidence #3

Conclusion:
  1. Restate of your thesis:
  2. Insightful sentence to end your essay:


","type":"html"}},{"title":"dsfdsfsf","dateCreated":1621227197000,"dateEdited":1621227208000,"attachments":[],"notebooks":[{"notebook":"First Notebook","topic":"All notes"}],"content":{"data":"
dsfdfsfdssdfsdf dsfdsfds sdfsf. sdfsf.  sfsfsd
","type":"html"}},{"title":"Essay Outline","dateCreated":1621227742000,"dateEdited":1621227742000,"attachments":[],"notebooks":[{"notebook":"First Notebook","topic":"All notes"}],"content":{"data":"
Most analytical, interpretive, or persuasive essays tend to follow the same basic pattern. This structure should help you formulate effective outlines for most essays.


Introduction
  1. Sentence to get the attention of your readers:
  2. One-sentence thesis statement:

Body
  1. First Main Idea
    1. Supporting evidence #1
    2. Supporting evidence #2
    3. Supporting evidence #3
  2. Second Main Idea:
    1. Supporting evidence #1
    2. Supporting evidence #2
    3. Supporting evidence #3
  3. Third Main Idea:
    1. Supporting evidence #1
    2. Supporting evidence #2
    3. Supporting evidence #3

Conclusion:
  1. Restate of your thesis:
  2. Insightful sentence to end your essay:


","type":"html"}},{"title":"kbjbdserwr","dateCreated":1621227120000,"dateEdited":1621227722000,"attachments":[],"notebooks":[{"notebook":"First Notebook","topic":"All notes"}],"content":{"data":"
grgffggnm ffg s
","type":"html"}},{"title":"test - checklist","dateCreated":1626223656000,"dateEdited":1626478624000,"attachments":[],"notebooks":[],"content":{"data":"
  • Checklist item 1
    • Nested item 1a
    • Nested item 1b is checked
  • Checklist item 2 is checked
    • Nested unordered 2a
  • Checklist item 3
    1. Nested ordered 3a

  • Unordered list item
    • Nested checklist item

  • Checklist bold inline code & link

","type":"html"}},{"title":"test - checklist","dateCreated":1626223656000,"dateEdited":1626478624000,"attachments":[],"notebooks":[],"content":{"data":"
klkmklmk
;mkmk
kmkmkl
","type":"html"}},{"title":"Untitled Note","tags":["Press column fragments"],"dateCreated":1438016257000,"dateEdited":1438016258000,"attachments":[{"filename":"6105f6c946f1df79","size":32157,"hash":"6105f6c946f1df79","hashType":"xxh64","mime":"image/png"},{"filename":"4e2fcad0a990d3c9","size":48414,"hash":"4e2fcad0a990d3c9","hashType":"xxh64","mime":"image/png"},{"filename":"ae02ba14ce9e48ae","size":43665,"hash":"ae02ba14ce9e48ae","hashType":"xxh64","mime":"image/png"},{"filename":"dd927e962daa2dbb","size":24069,"hash":"dd927e962daa2dbb","hashType":"xxh64","mime":"image/png","width":300,"height":310},{"filename":"2fdf4d6f7dda5d70","size":24835,"hash":"2fdf4d6f7dda5d70","hashType":"xxh64","mime":"image/png","width":300,"height":318},{"filename":"e3277297041adcb1","size":36165,"hash":"e3277297041adcb1","hashType":"xxh64","mime":"image/png","width":300,"height":443},{"filename":"b298e7c74db866c1","size":18786,"hash":"b298e7c74db866c1","hashType":"xxh64","mime":"image/png","width":300,"height":253},{"filename":"18ca19a48e4b0de1","size":25896,"hash":"18ca19a48e4b0de1","hashType":"xxh64","mime":"image/png","width":300,"height":325},{"filename":"22d74d780034ddd5","size":25188,"hash":"22d74d780034ddd5","hashType":"xxh64","mime":"image/png","width":300,"height":303},{"filename":"478fae644d3e1add","size":28593,"hash":"478fae644d3e1add","hashType":"xxh64","mime":"image/png","width":300,"height":339},{"filename":"62a98263bf829eee","size":37758,"hash":"62a98263bf829eee","hashType":"xxh64","mime":"image/png"},{"filename":"1353f0ec25206a82","size":29605,"hash":"1353f0ec25206a82","hashType":"xxh64","mime":"image/png"},{"filename":"4455754f83afe167","size":22710,"hash":"4455754f83afe167","hashType":"xxh64","mime":"image/png"},{"filename":"5e7e820e4f9a2960","size":31416,"hash":"5e7e820e4f9a2960","hashType":"xxh64","mime":"image/png"},{"filename":"b7cdf169c5b9f7ef","size":22383,"hash":"b7cdf169c5b9f7ef","hashType":"xxh64","mime":"image/png"},{"filename":"39f73843221ade6d","size":6472,"hash":"39f73843221ade6d","hashType":"xxh64","mime":"image/png"},{"filename":"b34f7df1aea0dade","size":430,"hash":"b34f7df1aea0dade","hashType":"xxh64","mime":"image/png"},{"filename":"b34f7df1aea0dade","size":430,"hash":"b34f7df1aea0dade","hashType":"xxh64","mime":"image/png"}],"notebooks":[],"content":{"data":"\\n
\\n
\\n
\\n
Skip to main content\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n

Dying for Christianity: millions at risk amid rise in persecution across the globe

\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n

Increase in murder, as well as rape, torture and discrimination, has led the pope to warn of a ‘form of genocide’

\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\"6105f6c946f1df79\\"
\\n
Christians are scanned with a metal detector outside the Our Lady of Consolation church, in Garissa, Kenya which was attacked with grenades by militants. Photograph: Ben Curtis/AP
\\n
\\n
\\n

Harriet Sherwood

\\n
\\n
@harrietsherwood
\\n
\\n

\\n
Monday 27 July 2015 14.21 BST
\\n
Last modified on Monday 27 July 2015 15.47 BST
\\n

\\n\\n
\\n
\\n

Christians are facing growing persecution around the world, fuelled mainly by Islamic extremism and repressive governments, leading the pope to warn of “a form of genocide” and for campaigners to speak of “religio-ethnic cleansing”.

\\n

\\n
\\n
\\n
\\n
\\"4e2fcad0a990d3c9\\"
\\n\\n
\\n
\\n
                Read more            
\\n
\\n
\\n
\\n
\\n

The scale of attacks on Christians in the Middle East, sub-Saharan Africa, Asia and Latin America has alarmed organisations that monitor religious persecution, with most reporting a significant deterioration in recent years.

\\n

\\n

On his recent trip to Latin America, Pope Francis said he was dismayed “to see how in the Middle East and elsewhere in the world many of our brothers and sisters are persecuted, tortured and killed for their faith in Jesus”. He went on: “In this third world war, waged piecemeal, which we are now experiencing, a form of genocide is taking place, and it must end.”

\\n

At Easter, the archbishop of Canterbury, Justin Welby, the leader of the Anglican church, spoke of Christian “martyrs”. Christians were living under persecution in almost half of the 38 Anglican provinces worldwide, he said this month. “They fear for their lives every day.”

\\n
\\n
\\n
\\n
\\"ae02ba14ce9e48ae\\"
\\n\\n
\\n
\\n
                Read more            
\\n
\\n
\\n
\\n
\\n

The Prince of Wales has described threats to Christians in the Middle East as “an indescribable tragedy”.

\\n

According to David Alton, a crossbench peer who campaigns on religious freedom, “some assessments claim that as many as 200 million Christians in over 60 countries around the world face some degree of restriction, discrimination or outright persecution”. That is about one in 10 of the 2.2 billion Christians in the world. Christianity remains the faith with the most adherents.

\\n

“Whatever the real figures the scale is enormous. From Syria, Iraq, Iran and Egypt to North Korea, China, Vietnam and Laos, from India, Pakistan, Bangladesh and Sri Lanka to Indonesia, Malaysia, Burma, from Cuba, Colombia and Mexico to Eritrea, Nigeria and Sudan, Christians face serious violations of religious freedom,” Alton said. Persecution ranged from murder, rape and torture to repressive laws, discrimination and social exclusion.

\\n
\\"dd927e962daa2dbb\\"
\\n

One consequence was “a form of religio-ethnic cleansing of Christian communities”, said John Pontifex of Aid to the Church in Need (ACN), a Catholic campaign group that monitors persecution. “The persecution of Christians is at a level we’ve not seen for many, many years and the main impact is the migration of Christian people. There are huge swaths of the world which are now experiencing a very sharp decline in the number of Christians.”

\\n

In the past 15 months, a number of egregious attacks have highlighted the targeting of Christians by Islamic extremists in the Middle East and Africa. They include:

\\n

the abduction of more than 270 Nigerian schoolgirls;

\\n

the beheading of 21 Egyptian Coptic Christians in Libya, and other attacks by Isis militants in Iraq and Syria;

\\n

the killing of 147 people on a university campus in Garissa, northern Kenya.

\\n

\\n

In addition, a heavily pregnant woman, Meriam Ibrahim, was sentenced to death in Sudan for alleged apostasy, triggering worldwide protests. She was later allowed to leave the country.

\\n

But monitoring groups say the persecution of Christians goes far beyond high-profile cases. According to the Pew Research Center, Christians face harassment in 102 countries – more than any other religion. The US government advisory body the Commission on International Religious Freedom (USCIRF), recommended this year that eight countries – the Central African Republic, Egypt, Iraq, Nigeria, Pakistan, Syria, Tajikistan and Vietnam – be added to the State Department’s existing list of nine “countries of particular concern”.

\\n

\\n
\\"2fdf4d6f7dda5d70\\"
\\n

The 2014 report on religious freedom in the world by ACN said conditions had deteriorated in 55 countries, and significantly so in six countries: Iraq, Libya, Nigeria, Pakistan, Sudan and Syria. Although Muslims “also face terrible and systematic persecution … and Jewish communities have also suffered increased threats and violence”, Christians were by far the most persecuted faith group, the report said.

\\n

Open Doors, a global organisation monitoring Christian persecution, conservatively estimates that 4,344 Christians were killed for faith-related reasons in 12 months up to November 2014, and 1,062 churches were attacked. It says persecution increased in 24 countries last year, with Kenya, Sudan, Eritrea and Nigeria entering the top 10 of its country-by-country league table. North Korea has headed the list for the past 13 years; up to 70,000 Christians are held in gulags, with “tens of thousands of people banished, arrested, tortured and/or killed”, it says.

\\n

\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n

In general, persecution of Christians is increasing, “and the rate of increase is accelerating”, said Lisa Pearce, chief executive of Open Doors UK and Ireland. The nature of persecution was also changing, she added. “It used to mean several years in a forced labour camp. Now it means watching your loved ones being beheaded.”

\\n

The rise of Islamic extremism is driving much of the increase in Christian persecution, said campaigners and church leaders who point to militant groups such as Isis, Boko Haram and al-Shabaab. “One of the 21st century’s major challenges to freedom of religion or belief [is] the actions of non-state actors in failing or failed states,” said USCIRF’s 2015 annual report.

\\n

Lee Marsden, professor of international relations, specialising in religion and security, at the University of East Anglia, said the collapse of authoritarian regimes in the Middle East during the Arab spring was a significant factor. “They had many downsides, but they did protect minority faiths. Take them away, and it becomes open season on minorities – that was one of the unforeseen consequences of toppling these people. And the Arab spring was hijacked by Islamists, which was bad news for religious minorities.”

\\n
\\"e3277297041adcb1\\"
\\n

Social media has allowed religious extremists to push their message beyond geographical boundaries. Jonathan Sacks, the former chief rabbi, speaking in a recent debate on religious freedom in the House of Lords, said the internet was “to radical political religions what printing was to Martin Luther. It allows them to circumvent and outflank all existing structures of power. The result has been the politicisation of religion and the religionising of politics, which, throughout history, has been a deadly combination.”

\\n

Other forces driving persecution include authoritarian regimes restricting the activities of particular faith groups, tensions between groups coming into contact as a result of migration and displacement, and declining tolerance and pluralism in some parts of the world. Christian leaders this week protested against a campaign to remove crosses from churches in eastern China.

\\n

And there are some unexpected pockets of persecution. In 2014, five Catholic priests were killed in Mexico, prompting the Vatican to say it was the most dangerous country in Latin America for its followers. Powerful criminal groups see the church as a target for extortion and money laundering, and view some priests as standing in the way of their own influence. Attacks on priests in Mexico increased by 80% between 2012 and 2014, local organisations reported.

\\n
\\n
\\n

Some campaigners and church leaders acknowledged the danger of religious persecution being seen as a modern-day clash of civilisations, a titanic struggle between Islam and Christianity, carrying the risk of polarising people of different faiths.

\\n

“It is not about Islam and Christianity. It is about the right for everyone to have the freedom to choose, practise, share non-coercively, and change their religion or belief – and it includes the right not to believe as well as the right for adherents of all religions to follow their beliefs,” said Lord Alton.

\\n

Cardinal Vincent Nichols, the archbishop of Westminster and head of the Catholic church in England and Wales, said: “It would be a serious mistake to cast this as a Muslim-Christian conflict.” He cited a bishop in northern Nigeria, who had told him the most recent killing in his diocese was of 39 Muslims by Boko Haram. “The extremist groups are certainly perpetrating violence, against anyone who does not share their world view. That includes Christians, but it’s not exclusively Christians by any means.”

\\n
\\"b298e7c74db866c1\\"
\\n

According to Marsden, there could be an element of Islamophobia in some Christian campaign organisations, “but there is also an element of victimhood – a view that the church has always been persecuted, which feeds into the martyrdom narrative”.

\\n

And, in the House of Lords, the archbishop of Canterbury alluded to Christianity’s own historical record of persecuting others, saying “the church’s sporadic record of compelling obedience to its teachings through violence and coercion is a cause for humility and shame”.

\\n

In the same debate, Sacks – along with others – pointed to the increasing threat faced by “people of all faiths, and of none”. He said: “Christians are being persecuted throughout the Middle East and elsewhere. Jews are facing a new and resurgent antisemitism. Muslims who stand on the wrong side of the Sunni-Shia divide are being killed in great numbers. Hindus, Sikhs, Buddhists, Bahá’í and others face persecution in some parts of the world. Religious freedom is about our common humanity, and we must fight for it if we are not to lose it. This, I believe, is the issue of our time.”

\\n

Not all agreed with the pope’s use of the word genocide. But, said Pearce, “if you look at what’s happening in the Middle East, it’s being purged of Christians, and there are definitely elements of religious cleansing. So I can see where the pope got that word from.”

\\n
\\"18ca19a48e4b0de1\\"
\\n

She drew a distinction between “smash” – extreme violence – and “squeeze”, where “life as a Christian becomes inexorably harder. The squeeze inevitably makes the church more vulnerable to the smash when it comes.” The groups that were the most violent were not necessarily the worst persecutors, she added.

\\n

Campaigners have suggested action such as increased governmental pressure, legal help where there is a functioning judicial system, providing havens for refugees, and supporting NGOs on the ground. Alton would like the prime minister, David Cameron, to appoint a special envoy for religious freedom, as the US and Canada have done.

\\n

The archbishop of Canterbury said that attacks on religious freedom were often linked to economic, social and historical circumstances. “If we want to defend religious freedom around the world ... do not sell guns to people who oppress religious freedom; do not launder their money; restrict trade with them; confine the way we deal with them,” he told his fellow peers. In addition, said Nichols, “for people of faith, the promise and pattern of prayer is very important; to say you are not forgotten is a crucial and sustaining gift.”

\\n

Pearce said Open Doors constantly wrestled with how to “make clear we’re talking about the impact of extremism, that it’s not only Christians that are persecuted, and that the overall goal is to create an environment where people are free to follow any religion, or none. This is not an issue just for Christians, but a human rights issue that affects us all. It’s not a problem for the church, but much wider than that.”

\\n

Under attack

\\n

Garissa University – Kenya

\\n

On 2 April this year, gunmen from the militant Islamic group al-Shabaab attacked Garissa University in Kenya, killing 147 people and injuring 79. The gunmen released Muslim students and shot those who identified themselves as Christians, in some cases telling the students to call their parents and talk to them as they died. The gunmen held the university in a state of siege for 15 hours, with more than 700 students trapped inside. The siege ended when four of the gunmen were shot by police; the fifth was able to detonate his suicide vest, killing himself and injuring Kenyan commandos. It was the deadliest attack in Kenya since the bombing of the US embassy in 1998 and one in a series of al-Shabaab attacks on the country, which the terrorist group claimed were carried out in retribution for the “unspeakable atrocities against the Muslims of East Africa by the Kenyan security forces”.

\\n

Pregnant woman sentenced to death for apostasy – Sudan

\\n
\\"22d74d780034ddd5\\"
\\n

Meriam Ibrahim, a Sudanese Christian, was sentenced to death for adultery and apostasy after marrying a Christian man, with whom she had a young son. Ibrahim was raised as a Christian by her Christian mother after her Muslim father left the family when she was a young child. The Sudanese court said she should have followed the religion of her absent father, which would have prohibited her from marrying a Christian, and found her guilty of abandoning her Muslim faith. Ibrahim was arrested when she was eight months pregnant and held in a Sudanese prison with her 21-month-old son to await hanging after the birth of her second child. She was denied medical care and prison staff refused to take her to hospital when she went into labour; she gave birth to a daughter in prison with her legs shackled. Amid international outrage, Ibrahim was released on the order of the Sudanese appeal court, but was rearrested as she was boarding a plane with her husband and two children the next day. After intense diplomatic negotiations the whole family were allowed to leave and they are now living in the US.

\\n

Attacks on Christians by Isis – Iraq, Syria, Libya

\\n

\\n

Iraq’s Christian population has decreased dramatically since the fall of Saddam Hussein’s regime, as large numbers have fled because of escalating persecution. Christians, as well as other minority groups, have been targeted by Isis in the large parts of Iraq and Syria under its control. It is believed that more than 100,000 people, many of them Christians, fled Qaraqosh, Mosul and the Nineveh plain in 2014 as Isis swept through. The Islamic extremists present Christians with the choice of converting to Islam, paying a very high tax or being murdered. In February 2015, Isis posted a video purporting to show 21 Coptic Christians being beheaded on a beach in Libya. Two months later, a second Isis video apparently showed another 30 Ehiopian Christians being shot or beheaded.

\\n

\\n

Kidnapping of schoolgirls by Boko Haram – Nigeria

\\n
\\"478fae644d3e1add\\"
\\n

A group of Boko Haram militants attacked a school in Chibok, a primarily Christian village in Nigeria, on the night of 14 April 2014. They kidnapped schoolgirls who had returned to the school to sit their final physics exam. It is uncertain how many girls were kidnapped, but estimates put it at between 276 and 329 girls, with 53 escaping in the few weeks following the attack. The girls were taken to Boko Haram strongholds and attempts by the Nigerian government and the girls’ families to rescue them have been unsuccessful. Less than a month after the kidnapping, Boko Haram released a video showing 130 of the kidnapped girls, all wearing Islamic dress. It is believed they are being held as sex slaves and have been forced to convert to Islam. Kate Lyons

\\n
\\n
\\n
\\n
More news\\n

Topics

\\n\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n

Most popular

\\n
    \\n
  • \\n
    \\"62a98263bf829eee\\"
    \\n

    Manchester Royal Infirmary closes A&E due to suspected Mers cases

    \\n
  • \\n
  • \\n
    \\"1353f0ec25206a82\\"
    \\n

    The brilliant thing about Kate Moss is that she can never be shamed

    \\n
  • \\n
  • \\n
    \\"4455754f83afe167\\"
    \\n

    'I'm sitting next to a weirdo on the bus' and other true meanings of emoji

    \\n
  • \\n
  • \\n
    \\"5e7e820e4f9a2960\\"
    \\n

    Rail operators were warned of cows near tracks before Kent collision

    \\n
  • \\n
  • \\n
    \\"b7cdf169c5b9f7ef\\"
    \\n

    Murdered 'Mr Big' said he could be killed 'at any time' in 1998 interview

    \\n
  • \\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n

comments (741)

\\n
\\n
\\n
\\n
\\n
\\"39f73843221ade6d\\"\\n
Signed in as AndrewBrown
\\n
\\n
\\n
\\nPost your comment
\\n
\\n
\\n
\\n
Order by oldest
\\n
Show 25
\\n
Threads collapsed
\\n
\\n
\\n
1 2 3 48 next
\\n
\\n
\\n
\\n
\\n
\\n
    \\n
  • \\n
    \\n
    \\"b34f7df1aea0dade\\"\\n
    Lillianne\\n
    \\n
    3h ago
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
                                This comment was removed by a moderator because it didn't abide by our                             community standards.                             Replies may also be deleted. For more detail see our FAQs.
    \\n
    \\n
    \\n
    \\n
    \\n
  • \\n
  • \\n
    \\n
    \\"b34f7df1aea0dade\\"\\n
    nevermindlastnight\\n
    \\n
    3h ago
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
    \\n
                                This comment was removed by a moderator because it didn't abide by our                             community standards.                             Replies may also be deleted. For more detail see our FAQs.
    \\n
    \\n
    \\n
    \\n
    \\n
  • \\n
\\n
Close report comment form\\n
Reason (optional)\\n
\\n
\\n
Email (optional)\\n
\\n
\\nReport
\\n
\\n
\\n View more comments
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n

popular

\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n
\\n\\n\\n\\n
\\n
\\n
\\n\\n
\\n
© 2015 Guardian News and Media Limited or its affiliated companies. All rights reserved.
\\n
\\n
\\n
\\n
\\n\\n
\\n
\\n
\\n
\\n","type":"html"}},{"title":"ll","dateCreated":1637997140000,"dateEdited":1638001735000,"attachments":[{"filename":"Sketch 27/11/2021 12:59.png","size":137253,"hash":"b49dbeadaf0c45cc","hashType":"xxh64","mime":"image/png","width":541},{"filename":"27.11.2021, 12.59.17.webm","size":1477,"hash":"90c8f0b0b6f9fb53","hashType":"xxh64","mime":"audio/webm"}],"notebooks":[],"content":{"data":"
;;
klkmklmk
;mkmk
kmkmkl

\\"Sketch\\n  \\n 27.11.2021, 12.59.17.webm\\n
  • lkmk;mklml
  • lk lmk klm
  • \\\\m
  • ;;;;



lll
ll
kllk
ll
    \\n
  • l;;lllllllllklklkl
  • jjmkoi
  • klmklm
  • \\n

Text test:

I am a big paragraph. I am a big paragraph. I am a big paragraph. I am a big paragraph. I am a big paragraph. I am a big paragraph. I am a big paragraph.

CENTERED ALIGNED TEXT

HEADER 2

HEADER 3


HEADER 4


HANDWRITTEN FONT!

DONT SIZE
  • dot list
  • iw
    • jkdsv
    • dsvlknds
  • sdvldsvkn
      • dsjvbndjsv
        • sdvnjlsnd

  1. Number list
    1. dsjvsd
    2. dsvjdsv
        1. dsfjvbnds
        2. djvsvds
        3. dsvjksdbv


","type":"html"}},{"title":"test - bracketlinks","dateCreated":1416327055000,"dateEdited":1600361203000,"attachments":[],"notebooks":[],"content":{"data":"\\nThe computational theories of Albus 47 and Marr [48]","type":"html"}},{"title":"TEST - templates just content","tags":["tag1","tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test - checklist","dateCreated":1626223656000,"dateEdited":1626478624000,"attachments":[],"notebooks":[],"content":{"data":"
  • Checklist item 1
    • Nested item 1a
    • Nested item 1b is checked
  • Checklist item 2 is checked
    • Nested unordered 2a
  • Checklist item 3
    1. Nested ordered 3a

  • Unordered list item
    • Nested checklist item

  • Checklist bold inline code & link

","type":"html"}},{"title":"External File Link","dateCreated":1589838473000,"dateEdited":1589838497000,"attachments":[],"notebooks":[],"content":{"data":"
file: file://thisIsAFile/
","type":"html"}},{"title":"External Link","dateCreated":1589838473000,"dateEdited":1589838497000,"attachments":[],"notebooks":[],"content":{"data":"
https://food52.com/blog/8524-alon-shaya-s-whole-roasted-cauliflower-with-whipped-goat-cheese?utm_source=Facebook&utm_medium=SocialMarketing&utm_campaign=Genius
","type":"html"}},{"title":"External Link","dateCreated":1589838473000,"dateEdited":1589838497000,"attachments":[],"notebooks":[],"content":{"data":"
","type":"html"}},{"title":"External Link","dateCreated":1589838473000,"dateEdited":1589838497000,"attachments":[],"notebooks":[],"content":{"data":"
","type":"html"}},{"title":"External Link","dateCreated":1589838473000,"dateEdited":1589838497000,"attachments":[],"notebooks":[],"content":{"data":"
url: https://444.hu/
","type":"html"}},{"title":"Link With Picture","dateCreated":1589838473000,"dateEdited":1589838730000,"attachments":[],"notebooks":[],"content":{"data":"



url: https://444.hu/

","type":"html"}},{"title":"test - headings","dateCreated":1626226767000,"dateEdited":1626226812000,"attachments":[],"notebooks":[],"content":{"data":"

Large

Medium

Small

body
","type":"html"}},{"title":"Highlights","dateCreated":1590777741000,"dateEdited":1590777758000,"attachments":[],"notebooks":[],"content":{"data":"
Let's highlight a text. This is a normal text again.



","type":"html"}},{"title":"Highlights impl2","dateCreated":1608241544000,"dateEdited":1608403749000,"attachments":[],"notebooks":[],"content":{"data":"
The Captain Class: A New Theory of Leadership By Sam Walker

My ego demands—for myself—the success of my team. —BILL RUSSELL
LOCATION: 79

","type":"html"}},{"title":"test - image - dataUrl","dateCreated":1626543345000,"dateEdited":1626561236000,"attachments":[{"size":90,"hash":"2559970f98fad650","filename":"2559970f98fad650","hashType":"xxh64","mime":"image/png"},{"filename":"photo.png","size":5339,"hash":"2608cf3e3bfe1c5d","hashType":"xxh64","mime":"image/png"}],"notebooks":[],"content":{"data":"

\\"2559970f98fad650\\"
Photo by Mike Tinnion
Free to use under the Unsplash License

\\"photo.png\\"


","type":"html"}},{"title":"test-imageWithoutSrc","dateCreated":1578940687000,"dateEdited":1598809593000,"attachments":[],"notebooks":[],"content":{"data":"

Transaction Management & Scope

Other challenges lie in transaction management. Centralised (monolithic) applications, with more localised interactions, can better leverage database transaction scope; i.e. one transaction manages a series of database interactions, and still support relatively simple rollback and commit facilities.
Microservices, are more isolated, and often use different database technologies. Thus, transaction scope is isolated to the microservice-level; transactions are not shared. This leads to data consistency, and rollback challenges. Another practice must be used to orchestrate transactions. See Figure 10.

Figure 10 — transactional scope; monolith vs microservices
In the first scenario, typical of a monolith, one transaction (Tx A) manages all five database interactions, often into the same (monolithic) database schema. The second case, used in microservices, is quite different. In this case, a transaction is managed per action (assuming each database interaction is encapsulated by a single microservice interaction). This is fine if all transactions succeed, but challenging when part of the flow fails and remedial action is required.

Uniformity

If not carefully managed, microservices’ evolutionary benefit can also become a hindrance.
Being ultimately flexible in technological choice (Technology Choice per Microservice), runs the risk of such diversity that it may hamper change. For instance, if the implementation (and database) technology may be anything, there is a risk that the overall solution is so technologically diverse (i.e. a complex ecosystem) that (a) comprehension can be hard, (b) security concerns are spread over a wider range of technologies, and (c) moving technical staff across domains is difficult (e.g. Simon may be an extremely competent Java developer, but he has no skills in node.js).
This uniformity is also useful for the non-functional aspects used for logging, alerting, monitoring, or any other metric-gathering tools. We don’t (particularly) want multiple ways of processing these actions (regardless of implementation technology).
There’s also something to be said from a container security perspective. By limiting the number of technologies, we should be able to more quickly patch a container, and then re-release the microservice on top of it. Patching multiple divergent technology stacks can be tougher, and suggests a higher likelihood that we must wait upon the vendor to release a patch.
Promoting a level of uniformity is therefore sensible. Better to select a limited technology set for most cases, than an unmanageable technology sprawl.

Performance

Because each microservice interaction is independent (including their transactions), any significant collaboration (i.e. a workflow involving many parties), can create performance challenges. Specifically, this relates to latency (the time it takes from the initiation of an action, to receiving a response). See Figure 11.

Figure 11 — performance (latency) with microservices
No science was harmed in the making of this diagram! It’s merely meant to demonstrate the difference challenges for the architectural styles.
The scenario represents a distributed (e.g. microservices) system. The workflow interacts with four different domains (1, 2, 3, and 4) to complete a job. The useful functional value (white, numbered boxes) may be of a relatively short duration, whilst the red bar represents the varying latency costs of network negotiation/transfer/marshalling to talk with the next microservice. The orange bar represents the overall time cost so far. There’s quite a bit of red involved in these distributed interactions.
In Figure 12 we have a centralised representation.

Figure 12 — monolith latency
In this case, the workflow must interact with the same four services/domains, but the cost to communicate with each component is much less (i.e. the short red bars).
Note — Tactics to Reduce Latency Woes
There’s a few tactics that can mitigate these latency issues, but no real definitive solution. You can:
1. Attempt to bring dependents closer together in the network, thus reducing latency.
2. Use an orchestration mechanism that sends messages to each, and compiles a response as they become available (assuming you can do this).
3. Go entirely asynchronous.
4. If visual representation, provide data in stages, using technologies like Ajax.
In the end, it depends upon the system. Most technologists I know would favor scalability over performance; i.e. ensure the system can scale to meet greater demands, at the (willing) cost of slightly reduced performance.

...

Business & Technical Qualities

Microservices can (under the right conditions) promote the following qualities.

Some of my qualifications may not be obvious at the moment (e.g. how can scalability support TTM?); however, this will make more sense in future publications.

","type":"html"}},{"title":"test -note with text only","dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
line 1
\\n

\\n

\\n

\\n
line 5
\\n

\\n

\\n
level 1
\\n
level 2
\\n
level 3
\\n
level 2
","type":"html"}},{"title":"test -note with text only","dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test -note with text only","dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"NoteB","dateCreated":1590675244000,"dateEdited":1590675282000,"attachments":[],"notebooks":[{"notebook":"test-links-withExtension","topic":"All notes"}],"content":{"data":"
This is the content of NoteB, and a reference to NoteA
","type":"html"}},{"title":"NoteA","dateCreated":1590675229000,"dateEdited":1590675242000,"attachments":[],"notebooks":[{"notebook":"test-links-withExtension","topic":"All notes"}],"content":{"data":"
This is the content of NoteA
","type":"html"}},{"title":"NoteB","dateCreated":1590675244000,"dateEdited":1590675282000,"attachments":[],"notebooks":[{"notebook":"test-links","topic":"All notes"}],"content":{"data":"
This is the content of NoteB, and a reference to NoteA
","type":"html"}},{"title":"NoteA","dateCreated":1590675229000,"dateEdited":1590675242000,"attachments":[],"notebooks":[{"notebook":"test-links","topic":"All notes"}],"content":{"data":"
This is the content of NoteA
","type":"html"}},{"title":"test-markdown-en","dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
> this is a quote

1. listItem 1
2. listItem 2
","type":"html"}},{"title":"test-monospace-codeblocks","dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
foo
\\n
bar
\\n
baz
\\nThis should be another one:\\n
foo bar
\\nThis should not be one:\\n
foo bar
","type":"html"}},{"title":"test-nospanstyle","dateCreated":1594081298000,"dateEdited":1599427313000,"attachments":[],"notebooks":[],"content":{"data":"
N3    ni ____
N5    inin ____
N21   īnī ____
","type":"html"}},{"title":"Note with code block","dateCreated":1603136561000,"dateEdited":1603141301000,"attachments":[],"notebooks":[],"content":{"data":"
Some text before the code block

# This program prints *Hello, world* in _Python_
print('Hello, world!\\\\n')


Some code after the code block 1

One more longer code block

// some Rust code...
fn main() {
    for n in 1..=100 {
        if n % 15 == 0 {
            println!(\\"fizzbuzz\\");
        } else if n % 3 == 0 {
            println!(\\"fizz\\");
        } else if n % 5 == 0 {
            println!(\\"buzz\\");
        } else {
            println!(\\"{}\\", n);
        }
    }
}


","type":"html"}},{"title":"Test","dateCreated":1538826418000,"dateEdited":1538826418000,"attachments":[],"notebooks":[],"content":{"data":"
note with latlong
","type":"html"}},{"title":"test -note with text only","tags":["tag1_nestedTag1","tag2_nestedTag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test -note with text only","tags":["tag1_nested tag1","tag2_nested tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test -note with text only","tags":["tag1_nested tag1","tag2_nested tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test -note with text only","dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test -note with text only","tags":["tag1","tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test - note with pdf","dateCreated":1538815577000,"dateEdited":1538815666000,"attachments":[],"notebooks":[],"content":{"data":"

","type":"html"}},{"title":"Test","dateCreated":1538826418000,"dateEdited":1538826418000,"attachments":[],"notebooks":[],"content":{"data":"
note with source-url
","type":"html"}},{"title":"test -note with text only","tags":["tag1","tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test -note with text only","tags":["tag1","tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test -note without metadata","tags":["tag1","tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"Untitled","dateCreated":1603570660000,"dateEdited":1603571460000,"attachments":[],"notebooks":[],"content":{"data":"


","type":"html"}},{"title":"pdfAttachment","dateCreated":1590841357000,"dateEdited":1590841406000,"attachments":[],"notebooks":[],"content":{"data":"
Note with PDF attachment


","type":"html"}},{"title":"pdfAttachment","dateCreated":1590841357000,"dateEdited":1590841406000,"attachments":[],"notebooks":[],"content":{"data":"
Note with PDF attachment


","type":"html"}},{"title":"pure-external-url","dateCreated":1589838473000,"dateEdited":1589838497000,"attachments":[],"notebooks":[],"content":{"data":"
https://444.hu/
","type":"html"}},{"title":"scriptAttachment","dateCreated":1590841357000,"dateEdited":1590841406000,"attachments":[],"notebooks":[],"content":{"data":"
Note with script attachment


","type":"html"}},{"title":"SkipLocation","dateCreated":1589838473000,"dateEdited":1589838497000,"attachments":[],"notebooks":[],"content":{"data":"
url: https://444.hu/
","type":"html"}},{"title":"special items","dateCreated":1589788540000,"dateEdited":1589788609000,"attachments":[],"notebooks":[],"content":{"data":"
  • listItem1
  • listItem2

  1. numberedList1
  2. numberedList2

Checkbox1
CheckedCheckbox2

Inline Code 

","type":"html"}},{"title":"test - strikethrough","dateCreated":1626386430000,"dateEdited":1626386454000,"attachments":[],"notebooks":[],"content":{"data":"
Normal strikethrough normal
","type":"html"}},{"title":"test - sublists - multiple","dateCreated":1602939373000,"dateEdited":1602939553000,"attachments":[],"notebooks":[],"content":{"data":"
  • Level1
    • Level2
    • Level2
  • Level1
    • Level2
    • Level2
      • Level3
  • Level1
    • Level2
      • Level3
    • Level2

","type":"html"}},{"title":"test - sublists - valid","dateCreated":1602349035000,"dateEdited":1602362533000,"attachments":[],"notebooks":[],"content":{"data":"\\n
    \\n
  • \\n
    Level1
    \\n
  • \\n
  • \\n
      \\n
    • \\n
      Level2
      \\n
    • \\n
    • \\n
        \\n
      • \\n
        Level3
        \\n
      • \\n
      \\n
    • \\n
    \\n
  • \\n
\\n

\\n ","type":"html"}},{"title":"test - sublists","dateCreated":1602349035000,"dateEdited":1602362533000,"attachments":[],"notebooks":[],"content":{"data":"
  • Level1
    • Level2
      • Level3

","type":"html"}},{"title":"table","dateCreated":1589749514000,"dateEdited":1589788470000,"attachments":[],"notebooks":[],"content":{"data":"

c1r1
c2r1
c3r1
c1r2
c2r2
C3r2


","type":"html"}},{"title":"test - templates just content","tags":["tag1","tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"TEST - templates","attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"test - templates","tags":["tag1","tag2"],"dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content
","type":"html"}},{"title":"Untitled","dateCreated":1590831416000,"dateEdited":1590831469000,"attachments":[],"notebooks":[],"content":{"data":"
Plain content of the text

Image starts

 


Image ends
","type":"html"}},{"title":"test - note with more pictures","dateCreated":1538817730000,"dateEdited":1538818904000,"attachments":[],"notebooks":[],"content":{"data":"
Squirrels




","type":"html"}},{"title":"test - note with picture","dateCreated":1538815454000,"dateEdited":1538817131000,"attachments":[],"notebooks":[{"notebook":"test-twoNotes","topic":"All notes"}],"content":{"data":"
Squirrels 


","type":"html"}},{"title":"test -note with text only","dateCreated":1538815429000,"dateEdited":1538815451000,"attachments":[],"notebooks":[{"notebook":"test-twoNotes","topic":"All notes"}],"content":{"data":"
This is the content
","type":"html"}},{"title":"Untitled","dateCreated":1538820877000,"dateEdited":1538820883000,"attachments":[],"notebooks":[{"notebook":"test-twoNotesWithSameName","topic":"All notes"}],"content":{"data":"
text2
","type":"html"}},{"title":"Untitled","dateCreated":1538815453000,"dateEdited":1538820876000,"attachments":[],"notebooks":[{"notebook":"test-twoNotesWithSameName","topic":"All notes"}],"content":{"data":"
text1

","type":"html"}},{"title":"test - note with picture (filename with spaces)","dateCreated":1602970123000,"dateEdited":1602970267000,"attachments":[],"notebooks":[],"content":{"data":"
Squirrels 


","type":"html"}},{"title":"yarle evernote","dateCreated":1603005940000,"dateEdited":1603005940000,"attachments":[],"notebooks":[],"content":{"data":"\\n
\\n

Search Results

Web results

Sep 24, 2020 — yarle-evernote-to-md documentation, tutorials, reviews, alternatives, versions, dependencies, community, and more.
Rating: 4.3 · ‎63 votes
You've visited this page 5 times. Last visit: 10/9/20
Miss any of our Open RFC calls?Watch the recordings here! » yarle-evernote-to-md. 2.9.2 • Public • Published 17 days ago. Readme · ExploreBETA · 20 ...
You've visited this page 2 times. Last visit: 6/17/20
Yet Another Rope Ladder from Evernote. Contribute to akosbalasko/yarle development by creating an account on GitHub.
You've visited this page many times. Last visit: 8/4/20
Learn more about yarle-evernote-to-md: package health score, popularity, security, maintenance, versions and more.
Found this just now: yarle: Yet Another Rope Ladder from Evernote (love the name ) https://github.com/akosbalasko/yarle.
May 28, 2020 · 4 posts · ‎2 authors
You've visited this page 5 times. Last visit: 10/13/20
Evernote Version 10 And A Note On My Macros · matti 70 views 3 comments 0 points Most recent by matti October 8. garethrees. CLI Seinfeld Calendar for your ...
You've visited this page many times. Last visit: 9/13/20
Jun 12, 2020 — Yet Another Rope Ladder from Evernote. Contribute to akosbalasko/yarle development by creating an account on GitHub. 1 Like.
You've visited this page 4 times. Last visit: 10/13/20
May 20, 2020 — I downloaded the yarle package for mac os, found and installed the js node version, read the yarle readme, but from there it was not clear to me ...
When I fed up with Evernote's slow improvements, pricing and leaks, I started ... if you walk in the same shoes, give it a try: https://github.com/akosbalasko/yarle.
You've visited this page 4 times. Last visit: 9/2/20
sharer.js, passport-evernote-auth, passport-evernote, share-buttons, yarle-evernote-to-md, enml2html, dir-to-evernote, eslint-config-evernote, enex-du.
\\n
\\n","type":"html"}},{"title":"Yarle","dateCreated":1602947279000,"dateEdited":1602947279000,"attachments":[],"notebooks":[],"content":{"data":"\\n
\\n

akosbalasko/yarle: Yet Another Rope Ladder from Evernote
Yet Another Rope Ladder from Evernote. Contribute to akosbalasko/yarle development by creating an account on GitHub.
\\n
\\n","type":"html"}},{"title":"Yarle","dateCreated":1602947308000,"dateEdited":1602947308000,"attachments":[],"notebooks":[],"content":{"data":"\\n
\\n

\\n
\\n","type":"html"}},{"title":"yarle evernote","dateCreated":1603005897000,"dateEdited":1603005897000,"attachments":[],"notebooks":[],"content":{"data":"\\n
\\n

yarle evernote

Sep 24, 2020 — yarle-evernote-to-md documentation, tutorials, reviews, alternatives, versions, dependencies, community, and more.
Rating: 4.3 · ‎63 votes
You've visited this page 5 times. Last visit: 10/9/20
Miss any of our Open RFC calls?Watch the recordings here! » yarle-evernote-to-md. 2.9.2 • Public • Published 17 days ago. Readme · ExploreBETA · 20 ...
You've visited this page 2 times. Last visit: 6/17/20
Yet Another Rope Ladder from Evernote. Contribute to akosbalasko/yarle development by creating an account on GitHub.
You've visited this page many times. Last visit: 8/4/20
Learn more about yarle-evernote-to-md: package health score, popularity, security, maintenance, versions and more.
Found this just now: yarle: Yet Another Rope Ladder from Evernote (love the name ) https://github.com/akosbalasko/yarle.
May 28, 2020 · 4 posts · ‎2 authors
You've visited this page 5 times. Last visit: 10/13/20
Evernote Version 10 And A Note On My Macros · matti 70 views 3 comments 0 points Most recent by matti October 8. garethrees. CLI Seinfeld Calendar for your ...
You've visited this page many times. Last visit: 9/13/20
Jun 12, 2020 — Yet Another Rope Ladder from Evernote. Contribute to akosbalasko/yarle development by creating an account on GitHub. 1 Like.
You've visited this page 4 times. Last visit: 10/13/20
May 20, 2020 — I downloaded the yarle package for mac os, found and installed the js node version, read the yarle readme, but from there it was not clear to me ...
When I fed up with Evernote's slow improvements, pricing and leaks, I started ... if you walk in the same shoes, give it a try: https://github.com/akosbalasko/yarle.
You've visited this page 4 times. Last visit: 9/2/20
sharer.js, passport-evernote-auth, passport-evernote, share-buttons, yarle-evernote-to-md, enml2html, dir-to-evernote, eslint-config-evernote, enex-du.
\\n
\\n","type":"html"}},{"title":"test - note with picture","dateCreated":1538815454000,"dateEdited":1538815570000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content

","type":"html"}},{"title":"test - note with picture","dateCreated":1538815454000,"dateEdited":1538815570000,"attachments":[],"notebooks":[],"content":{"data":"
This is the content

","type":"html"}},{"title":"test","tags":["library collections history","distant reading"],"dateCreated":1503624811000,"dateEdited":1615520933000,"attachments":[],"notebooks":[],"content":{"data":"
Steps

  1. Draft the proposal. I did this right after we concluded our Skype call 8/24/17. 
  2. Katie to flesh it out with more detail. We finish it. 
  3. Circulate to peer colleagues.


Target colleagues and other stakeholders
Jen Serventi at ODH NEH. Glen Ro knows her well. 
Someone at AHA
someone named Dan - a diss reader of Katie
Nicole at Stanford
SHARP are the obvious people. Jason is on SHARP executive. Katie and Jason wrote the red scraper [for SHARP]. 
An international thing would be more powerful. 




","type":"html"}},{"title":"test","dateCreated":1503624811000,"dateEdited":1615520933000,"attachments":[],"notebooks":[],"content":{"data":"
Steps

  1. Draft the proposal. I did this right after we concluded our Skype call 8/24/17. 
  2. Katie to flesh it out with more detail. We finish it. 
  3. Circulate to peer colleagues.


Target colleagues and other stakeholders
Jen Serventi at ODH NEH. Glen Ro knows her well. 
Someone at AHA
someone named Dan - a diss reader of Katie
Nicole at Stanford
SHARP are the obvious people. Jason is on SHARP executive. Katie and Jason wrote the red scraper [for SHARP]. 
An international thing would be more powerful. 




","type":"html"}}],"errors":[]} ` -exports[`__tests__/providers.test.ts TAP > evernote-packed-hash 1`] = ` -9150cced01edb32b +exports[`__tests__/providers.test.ts TAP > evernote-packed 1`] = ` +Array [ + "fb41951891053ff7735f2406a71e240d/note.json", + "7023a182d99dfcc4a8dafc6c936f0e0e/note.json", + "85b9c97faf734897b4a6525dab9f59eb/attachments/80bdabef085d3cdd", + "85b9c97faf734897b4a6525dab9f59eb/note.json", + "ee1e8bce61fdfda2e6a6ac78dc36bb30/note.json", + "d7e07e6ac7cf428c02b4bc1f0329ce90/note.json", + "f55a7f110003feb2786c2a2bc7b240a0/note.json", + "95e5b0cb10db54c57c388e0a443a807a/note.json", + "6ea26241a9f03ac0a57bb98432b2d731/note.json", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/attachments/6105f6c946f1df79", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/attachments/4e2fcad0a990d3c9", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/attachments/ae02ba14ce9e48ae", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/attachments/dd927e962daa2dbb", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/attachments/2fdf4d6f7dda5d70", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/attachments/e3277297041adcb1", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/attachments/b298e7c74db866c1", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/attachments/18ca19a48e4b0de1", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/attachments/22d74d780034ddd5", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/attachments/478fae644d3e1add", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/attachments/62a98263bf829eee", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/attachments/1353f0ec25206a82", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/attachments/4455754f83afe167", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/attachments/5e7e820e4f9a2960", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/attachments/b7cdf169c5b9f7ef", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/attachments/39f73843221ade6d", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/attachments/b34f7df1aea0dade", + "fbbfcb239bcc4236ddcf4cbe1bb91e5c/note.json", + "a75bc82d77a56912d727bf79f4857711/attachments/b49dbeadaf0c45cc", + "a75bc82d77a56912d727bf79f4857711/attachments/90c8f0b0b6f9fb53", + "a75bc82d77a56912d727bf79f4857711/note.json", + "df1be7bf47d32beea7a4de45fea207c6/note.json", + "e7841a55399f77b36df95fbaec5880ca/note.json", + "f0d90787b3cc0302311aca377835a3a1/note.json", + "7c090fd692546fe6f6d3ad5b5ae69a17/note.json", + "5df16bc890b2809d42a8625c60991574/note.json", + "9debb3428e5e56e96ab985a874d6f93b/note.json", + "728aa5dc146a800959832531f7dbec55/note.json", + "6b6d21c5b3072861243fdf5828824e1c/note.json", + "624d3e6e60a46a90a22040bf8cf149bd/note.json", + "dbaabc1c4ff4fba524bdd2963e5089f1/note.json", + "0c86af87ed525d943f5c97adf19844d7/attachments/2559970f98fad650", + "0c86af87ed525d943f5c97adf19844d7/attachments/2608cf3e3bfe1c5d", + "0c86af87ed525d943f5c97adf19844d7/note.json", + "3bb6477a61a6e03c9d81f18d30b47765/note.json", + "a6bc5eaea2a213cbdf960421f7a77deb/note.json", + "876b0f4499abc2b71e352c579dd5aff7/note.json", + "277170c9ae04b61c5916f90d468f8ca6/note.json", + "8601826ba5f31aa7424984142518904d/note.json", + "5c48537e2e293646dae0340558bc91b2/note.json", + "f2b4f8c8ee59e1960684ef7c78e65368/note.json", + "e50bb59bcffbbeb4fa60f4a83bb921c2/note.json", + "859829c52b7035cdf2ed8635a8624060/note.json", + "f2bdb9043779fc74bbf400a871a42989/note.json", + "6a7aec0cfb987dac84ae1b4544893512/note.json", + "640297a8cddb75c9de36a90c0f719bfc/note.json", + "a299a08cf21550c697d2e951cdc1ded3/note.json", + "4a62e69da10a69b277795fb2285dcac2/note.json", + "bacd9b9e9885576d45b8ea45ff5e7f0b/note.json", + "7e17bef9d63d4216d8873a6ac8c3d459/note.json", + "244e985d8b53c8616bec9623bc47d96b/note.json", + "b1bd8afac088495b8fb43ef55bf0a04c/note.json", + "a67d403cfe945ae5c64fd29721283723/note.json", + "69869fae41c803db6b4f0453eef47b11/note.json", + "d2b44d9615e94bc6a47ede4dd0a7551b/note.json", + "14277e8f148c1c4e63f20bccc32a90e3/note.json", + "1153fcf4956fe382570a1724c9e997a3/note.json", + "238a2ccbc09bdbdf7ec53404202d14db/note.json", + "a8eef575328e62968c0e3a70f565440b/note.json", + "dc659beaae3230ffaa7923ad3a0ee102/note.json", + "f9d3b414342e5a136f387ed268c1b6bc/note.json", + "f28fc61714749989ef50af41f6c0fb57/note.json", + "61f1dd195c8558fbeb4df0ee6ae31294/note.json", + "a9c6040d3b78371fc08ff90d48ebb855/note.json", + "0610bcfc2ab33fbbc32423a338e4ef55/note.json", + "6a5f900cb6c4adfb81305d1db5f16884/note.json", + "34a08ad26ed8cd997cf6ae1fb8bb295e/note.json", + "39e7055e0a2dd0059eb0169c2c98a4f1/note.json", + "05e62fbd59b66cb98217f7a413579829/note.json", + "4dca5b8c0c2353b921a6ddd9606c1e71/note.json", + "45a9dd9f2f2c112cb3eaa76273feb411/note.json", + "ed458f9b70fa50d269356cfc414a946e/note.json", + "07ff382ced7f6af88e40e1b348f97a53/note.json", + "c54f734088398ab4e02fd06d4f802e72/note.json", + "58676f9f98b065298578600371252fda/note.json", + "cb994c80ffab7399f300005109308f57/note.json", + "133090e238441ca8aebf97d3164ac191/note.json", + "a079b729ffc86de843c94677635e8cf8/note.json", + "30c7fef8f1f94645918d1b3437946960/note.json", + "ae6d4d72b74d6885940919ec7368f4c1/note.json", + "metadata.json", +] ` exports[`__tests__/providers.test.ts TAP > html 1`] = ` -[{"title":"test.html","content":{"type":"html","data":"\\"\\"\\n\\n\\n

Fork me? Fork you, @octocat!

\\n

Sean made a change

\\n"}}] +{"notes":[{"title":"test","content":{"type":"html","data":"\\"\\"\\n\\n\\n

Fork me? Fork you, @octocat!

\\n

Sean made a change

\\n"}}],"errors":[]} ` -exports[`__tests__/providers.test.ts TAP > html-packed-hash 1`] = ` -77c9469b5a2ff3a3 +exports[`__tests__/providers.test.ts TAP > html-packed 1`] = ` +Array [ + "df8b40b32478b525eb82b9e3813d28cc/note.json", + "metadata.json", +] ` exports[`__tests__/providers.test.ts TAP > keep 1`] = ` -[{"title":"2021-08-26T12_50_12.122+05_00","dateCreated":1629964212062,"dateEdited":1629964212062,"pinned":false,"content":{"type":"html","data":"

another note

"}},{"title":"2021-08-26T14_23_07.058+05_00","dateCreated":1629964242424,"dateEdited":1629964242424,"pinned":false,"color":"blue","tags":["cats","run"],"content":{"type":"html","data":"
    \\n
  • note
  • bing
  • run
  • fast
  • \\n
"}},{"title":"good place","dateCreated":1629964346280,"dateEdited":1629964346280,"pinned":false,"color":"red","content":{"type":"html","data":"

this is a note

"},"attachments":[{"filename":"1629964333125.746683646.jpg","size":170832,"hash":"891ec65d29e946d5","hashType":"xxh64","mime":"image/jpeg"}]},{"title":"2021-08-26T12_50_07.132+05_00","dateCreated":1629964207042,"dateEdited":1629964207042,"pinned":false,"content":{"type":"html","data":"

hello world

"}},{"title":"draw","dateCreated":1629964316377,"dateEdited":1629964316377,"pinned":false,"content":{"type":"html","data":"

a simple drawing

"},"attachments":[{"filename":"1629964295873.139657380.png","size":41348,"hash":"c52fdb48c0f1b106","hashType":"xxh64","mime":"image/png"}]}] +{"notes":[{"title":"2021-08-26T12_50_12.122+05_00","dateCreated":1629964212062,"dateEdited":1629964212062,"pinned":false,"content":{"type":"html","data":"

another note

"}},{"title":"2021-08-26T14_23_07.058+05_00","dateCreated":1629964242424,"dateEdited":1629964242424,"pinned":false,"color":"blue","tags":["cats","run"],"content":{"type":"html","data":"
    \\n
  • note
  • bing
  • run
  • fast
  • \\n
"}},{"title":"good place","dateCreated":1629964346280,"dateEdited":1629964346280,"pinned":false,"color":"red","content":{"type":"html","data":"

this is a note

\\"1629964333125.746683646.jpg\\""},"attachments":[{"filename":"1629964333125.746683646.jpg","size":170832,"hash":"891ec65d29e946d5","hashType":"xxh64","mime":"image/jpeg"}]},{"title":"2021-08-26T12_50_07.132+05_00","dateCreated":1629964207042,"dateEdited":1629964207042,"pinned":false,"content":{"type":"html","data":"

hello world

"}},{"title":"draw","dateCreated":1629964316377,"dateEdited":1629964316377,"pinned":false,"content":{"type":"html","data":"

a simple drawing

\\"1629964295873.139657380.png\\""},"attachments":[{"filename":"1629964295873.139657380.png","size":41348,"hash":"c52fdb48c0f1b106","hashType":"xxh64","mime":"image/png"}]}],"errors":[]} ` -exports[`__tests__/providers.test.ts TAP > keep-packed-hash 1`] = ` -268c609004108fb3 +exports[`__tests__/providers.test.ts TAP > keep-packed 1`] = ` +Array [ + "7c1078dfaa7dd5aea0032dea8f16f437/note.json", + "06ea75893e64b200cc6dcbf6d191e5ab/note.json", + "e3f7e9b5f4b72387426bdf941c37290a/attachments/891ec65d29e946d5", + "e3f7e9b5f4b72387426bdf941c37290a/note.json", + "9e2f49ab5f38db77253a1c8fbf657365/note.json", + "b496327b904f7cd530ba02cc5f81ea87/attachments/c52fdb48c0f1b106", + "b496327b904f7cd530ba02cc5f81ea87/note.json", + "metadata.json", +] ` exports[`__tests__/providers.test.ts TAP > md 1`] = ` -[{"title":"test.md","content":{"type":"html","data":"

An h1 header

\\n

Paragraphs are separated by a blank line.

\\n

2nd paragraph. Italic, bold, and monospace. Itemized lists\\nlook like:

\\n
    \\n
  • this one
  • \\n
  • that one
  • \\n
  • the other one
  • \\n
\\n

Note that --- not considering the asterisk --- the actual text\\ncontent starts at 4-columns in.

\\n
\\n

Block quotes are\\n written like so.

\\n

They can span multiple paragraphs,\\n if you like.

\\n
\\n

Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., \\"it's all\\nin chapters 12--14\\"). Three dots … will be converted to an ellipsis.\\nUnicode is supported. ☺

\\n

An h2 header

\\n

Here's a numbered list:

\\n
    \\n
  1. first item
  2. \\n
  3. second item
  4. \\n
  5. third item
  6. \\n
\\n

Note again how the actual text starts at 4 columns in (4 characters\\nfrom the left side). Here's a code sample:

\\n
# Let me re-iterate ...\\nfor i in 1 .. 10 { do-something(i) }\\n
\\n

As you probably guessed, indented 4 spaces. By the way, instead of\\nindenting the block, you can use delimited blocks, if you like:

\\n
define foobar() {\\n    print \\"Welcome to flavor country!\\";\\n}\\n
\\n

(which makes copying & pasting easier). You can optionally mark the\\ndelimited block for Pandoc to syntax highlight it:

\\n
import time\\n# Quick, count to ten!\\nfor i in range(10):\\n    # (but not *too* quick)\\n    time.sleep(0.5)\\n    print i\\n
\\n

An h3 header

\\n

Now a nested list:

\\n
    \\n
  1. First, get these ingredients:

    \\n
      \\n
    • carrots
    • \\n
    • celery
    • \\n
    • lentils
  2. \\n
  3. Boil some water.

  4. \\n
  5. Dump everything in the pot and follow\\nthis algorithm:

    \\n
    find wooden spoon\\nuncover pot\\nstir\\ncover pot\\nbalance wooden spoon precariously on pot handle\\nwait 10 minutes\\ngoto first step (or shut off burner when done)\\n
    \\n

    Do not bump wooden spoon or it will fall.

  6. \\n
\\n

Notice again how text always lines up on 4-space indents (including\\nthat last line which continues item 3 above).

\\n

Here's a link to a website, to a [local\\ndoc](local-doc.html), and to a [section heading in the current\\ndoc](#an-h2-header). Here's a footnote [^1].

\\n

[^1]: Footnote text goes here.

\\n

Tables can look like this:

\\n

size material color

\\n
\\n

9 leather brown\\n10 hemp canvas natural\\n11 glass transparent

\\n

Table: Shoes, their sizes, and what they're made of

\\n

(The above is the caption for the table.) Pandoc also supports\\nmulti-line tables:

\\n
\\n

keyword text

\\n
\\n

red Sunsets, apples, and\\nother red or reddish\\nthings.

\\n

green Leaves, grass, frogs\\nand other things it's\\nnot easy being.

\\n
\\n

A horizontal rule follows.

\\n
\\n

Here's a definition list:

\\n

apples\\n: Good for making applesauce.\\noranges\\n: Citrus!\\ntomatoes\\n: There's no \\"e\\" in tomatoe.

\\n

Again, text is indented 4 spaces. (Put a blank line between each\\nterm/definition pair to spread things out more.)

\\n

Here's a \\"line block\\":

\\n

| Line one\\n| Line too\\n| Line tree

\\n

and images can be specified like so:

\\n

\\"example

\\n

Inline math equations go in like so: $\\\\omega = d\\\\phi / dt$. Display\\nmath should get its own line and be put in in double-dollarsigns:

\\n

$$I = \\\\int \\\\rho R^{2} dV$$

\\n

And note that you can backslash-escape any punctuation characters\\nwhich you wish to be displayed literally, ex.: \`foo\`, *bar*, etc.

"}},{"title":"test2.md","content":{"type":"html","data":"
\\n

Advertisement :)

\\n
    \\n
  • pica - high quality and fast image\\nresize in browser.
  • \\n
  • babelfish - developer friendly\\ni18n with plurals support and easy syntax.
  • \\n
\\n

You will like those projects!

\\n

h1 Heading 8-)

\\n

h2 Heading

\\n

h3 Heading

\\n

h4 Heading

\\n
h5 Heading
\\n
h6 Heading
\\n

Horizontal Rules

\\n
\\n
\\n
\\n

Typographic replacements

\\n

Enable typographer option to see result.

\\n

(c) (C) (r) (R) (tm) (TM) (p) (P) +-

\\n

test.. test… test….. test?….. test!….

\\n

!!!!!! ???? ,, -- ---

\\n

\\"Smartypants, double quotes\\" and 'single quotes'

\\n

Emphasis

\\n

This is bold text

\\n

This is bold text

\\n

This is italic text

\\n

This is italic text

\\n

~~Strikethrough~~

\\n

Blockquotes

\\n
\\n

Blockquotes can also be nested…

\\n
\\n

…by using additional greater-than signs right next to each other…

\\n
\\n

…or with spaces between arrows.

\\n
\\n
\\n
\\n

Lists

\\n

Unordered

\\n
    \\n
  • Create a list by starting a line with +, -, or *
  • \\n
  • Sub-lists are made by indenting 2 spaces:
  • \\n
  • Marker character change forces new list start:
      \\n
    • Ac tristique libero volutpat at
    • \\n
    • Facilisis in pretium nisl aliquet
    • \\n
    • Nulla volutpat aliquam velit
  • \\n
  • Very easy!
  • \\n
\\n

Ordered

\\n
    \\n
  1. Lorem ipsum dolor sit amet

  2. \\n
  3. Consectetur adipiscing elit

  4. \\n
  5. Integer molestie lorem at massa

  6. \\n
  7. You can use sequential numbers…

  8. \\n
  9. …or keep all the numbers as 1.

  10. \\n
\\n

Start numbering with offset:

\\n
    \\n
  1. foo
  2. \\n
  3. bar
  4. \\n
\\n

Code

\\n

Inline code

\\n

Indented code

\\n
// Some comments\\nline 1 of code\\nline 2 of code\\nline 3 of code\\n
\\n

Block code \\"fences\\"

\\n
Sample text here...\\n
\\n

Syntax highlighting

\\n
var foo = function (bar) {\\n  return bar++;\\n};\\n\\nconsole.log(foo(5));\\n
\\n

Tables

\\n

| Option | Description |\\n| ------ | ------------------------------------------------------------------------- |\\n| data | path to data files to supply the data that will be passed into templates. |\\n| engine | engine to be used for processing templates. Handlebars is the default. |\\n| ext | extension to be used for dest files. |

\\n

Right aligned columns

\\n

| Option | Description |\\n| -----: | ------------------------------------------------------------------------: |\\n| data | path to data files to supply the data that will be passed into templates. |\\n| engine | engine to be used for processing templates. Handlebars is the default. |\\n| ext | extension to be used for dest files. |

\\n

Links

\\n

link text

\\n

link with title

\\n

Autoconverted link https://github.com/nodeca/pica (enable linkify to see)

\\n

Images

\\n

\\"Minion\\"\\n\\"Stormtroopocat\\"

\\n

Like links, Images also have a footnote style syntax

\\n

\\"Alt

\\n

With a reference later in the document defining the URL location:

\\n

Plugins

\\n

The killer feature of markdown-it is very effective support of\\nsyntax plugins.

\\n

Emojies

\\n
\\n

Classic markup: :wink: :crush: :cry: :tear: :laughing: :yum:

\\n

Shortcuts (emoticons): :-) :-( 8-) ;)

\\n
\\n

see how to change output with twemoji.

\\n

Subscript / Superscript

\\n
    \\n
  • 19^th^
  • \\n
  • H~2~O
  • \\n
\\n

\\\\

\\n

++Inserted text++

\\n

\\\\

\\n

==Marked text==

\\n

Footnotes

\\n

Footnote 1 link[^first].

\\n

Footnote 2 link[^second].

\\n

Inline footnote^[Text of inline footnote] definition.

\\n

Duplicated footnote reference[^second].

\\n

[^first]: Footnote can have markup

\\n
and multiple paragraphs.\\n
\\n

[^second]: Footnote text.

\\n

Definition lists

\\n

Term 1

\\n

: Definition 1\\nwith lazy continuation.

\\n

Term 2 with inline markup

\\n

: Definition 2

\\n
    { some code, part of Definition 2 }\\n\\nThird paragraph of definition 2.\\n
\\n

Compact style:

\\n

Term 1\\n~ Definition 1

\\n

Term 2\\n~ Definition 2a\\n~ Definition 2b

\\n

Abbreviations

\\n

This is HTML abbreviation example.

\\n

It converts \\"HTML\\", but keep intact partial entries like \\"xxxHTMLyyy\\" and so on.

\\n

*[HTML]: Hyper Text Markup Language

\\n

Custom containers

\\n

::: warning\\nhere be dragons\\n:::

"}},{"title":"test3.md","content":{"type":"html","data":"
\\n

Advertisement :)

\\n
    \\n
  • pica - high quality and fast image\\nresize in browser.
  • \\n
  • babelfish - developer friendly\\ni18n with plurals support and easy syntax.
  • \\n
\\n

You will like those projects!

\\n

h1 Heading 8-)

\\n

h2 Heading

\\n

h3 Heading

\\n

h4 Heading

\\n
h5 Heading
\\n
h6 Heading
\\n

Horizontal Rules

\\n
\\n
\\n
\\n

Typographic replacements

\\n

Enable typographer option to see result.

\\n

(c) (C) (r) (R) (tm) (TM) (p) (P) +-

\\n

test.. test… test….. test?….. test!….

\\n

!!!!!! ???? ,, -- ---

\\n

\\"Smartypants, double quotes\\" and 'single quotes'

\\n

Emphasis

\\n

This is bold text

\\n

This is bold text

\\n

This is italic text

\\n

This is italic text

\\n

~~Strikethrough~~

\\n

Blockquotes

\\n
\\n

Blockquotes can also be nested…

\\n
\\n

…by using additional greater-than signs right next to each other…

\\n
\\n

…or with spaces between arrows.

\\n
\\n
\\n
\\n

Lists

\\n

Unordered

\\n
    \\n
  • Create a list by starting a line with +, -, or *
  • \\n
  • Sub-lists are made by indenting 2 spaces:
  • \\n
  • Marker character change forces new list start:
      \\n
    • Ac tristique libero volutpat at
    • \\n
    • Facilisis in pretium nisl aliquet
    • \\n
    • Nulla volutpat aliquam velit
  • \\n
  • Very easy!
  • \\n
\\n

Ordered

\\n
    \\n
  1. Lorem ipsum dolor sit amet

  2. \\n
  3. Consectetur adipiscing elit

  4. \\n
  5. Integer molestie lorem at massa

  6. \\n
  7. You can use sequential numbers…

  8. \\n
  9. …or keep all the numbers as 1.

  10. \\n
\\n

Start numbering with offset:

\\n
    \\n
  1. foo
  2. \\n
  3. bar
  4. \\n
\\n

Code

\\n

Inline code

\\n

Indented code

\\n
// Some comments\\nline 1 of code\\nline 2 of code\\nline 3 of code\\n
\\n

Block code \\"fences\\"

\\n
Sample text here...\\n
\\n

Syntax highlighting

\\n
var foo = function (bar) {\\n  return bar++;\\n};\\n\\nconsole.log(foo(5));\\n
\\n

Tables

\\n

| Option | Description |\\n| ------ | ------------------------------------------------------------------------- |\\n| data | path to data files to supply the data that will be passed into templates. |\\n| engine | engine to be used for processing templates. Handlebars is the default. |\\n| ext | extension to be used for dest files. |

\\n

Right aligned columns

\\n

| Option | Description |\\n| -----: | ------------------------------------------------------------------------: |\\n| data | path to data files to supply the data that will be passed into templates. |\\n| engine | engine to be used for processing templates. Handlebars is the default. |\\n| ext | extension to be used for dest files. |

\\n

Links

\\n

link text

\\n

link with title

\\n

Autoconverted link https://github.com/nodeca/pica (enable linkify to see)

\\n

Images

\\n

\\"Minion\\"\\n\\"Stormtroopocat\\"

\\n

Like links, Images also have a footnote style syntax

\\n

\\"Alt

\\n

With a reference later in the document defining the URL location:

\\n

Plugins

\\n

The killer feature of markdown-it is very effective support of\\nsyntax plugins.

\\n

Emojies

\\n
\\n

Classic markup: :wink: :crush: :cry: :tear: :laughing: :yum:

\\n

Shortcuts (emoticons): :-) :-( 8-) ;)

\\n
\\n

see how to change output with twemoji.

\\n

Subscript / Superscript

\\n
    \\n
  • 19^th^
  • \\n
  • H~2~O
  • \\n
\\n

\\\\

\\n

++Inserted text++

\\n

\\\\

\\n

==Marked text==

\\n

Footnotes

\\n

Footnote 1 link[^first].

\\n

Footnote 2 link[^second].

\\n

Inline footnote^[Text of inline footnote] definition.

\\n

Duplicated footnote reference[^second].

\\n

[^first]: Footnote can have markup

\\n
and multiple paragraphs.\\n
\\n

[^second]: Footnote text.

\\n

Definition lists

\\n

Term 1

\\n

: Definition 1\\nwith lazy continuation.

\\n

Term 2 with inline markup

\\n

: Definition 2

\\n
    { some code, part of Definition 2 }\\n\\nThird paragraph of definition 2.\\n
\\n

Compact style:

\\n

Term 1\\n~ Definition 1

\\n

Term 2\\n~ Definition 2a\\n~ Definition 2b

\\n

Abbreviations

\\n

This is HTML abbreviation example.

\\n

It converts \\"HTML\\", but keep intact partial entries like \\"xxxHTMLyyy\\" and so on.

\\n

*[HTML]: Hyper Text Markup Language

\\n

Custom containers

\\n

::: warning\\nhere be dragons\\n:::

"}}] +{"notes":[{"title":"An h1 header","content":{"type":"html","data":"

An h1 header

\\n

Paragraphs are separated by a blank line.

\\n

2nd paragraph. Italic, bold, and monospace. Itemized lists\\nlook like:

\\n
    \\n
  • this one
  • \\n
  • that one
  • \\n
  • the other one
  • \\n
\\n

Note that --- not considering the asterisk --- the actual text\\ncontent starts at 4-columns in.

\\n
\\n

Block quotes are\\n written like so.

\\n

They can span multiple paragraphs,\\n if you like.

\\n
\\n

Use 3 dashes for an em-dash. Use 2 dashes for ranges (ex., \\"it's all\\nin chapters 12--14\\"). Three dots … will be converted to an ellipsis.\\nUnicode is supported. ☺

\\n

An h2 header

\\n

Here's a numbered list:

\\n
    \\n
  1. first item
  2. \\n
  3. second item
  4. \\n
  5. third item
  6. \\n
\\n

Note again how the actual text starts at 4 columns in (4 characters\\nfrom the left side). Here's a code sample:

\\n
# Let me re-iterate ...\\nfor i in 1 .. 10 { do-something(i) }\\n
\\n

As you probably guessed, indented 4 spaces. By the way, instead of\\nindenting the block, you can use delimited blocks, if you like:

\\n
define foobar() {\\n    print \\"Welcome to flavor country!\\";\\n}\\n
\\n

(which makes copying & pasting easier). You can optionally mark the\\ndelimited block for Pandoc to syntax highlight it:

\\n
import time\\n# Quick, count to ten!\\nfor i in range(10):\\n    # (but not *too* quick)\\n    time.sleep(0.5)\\n    print i\\n
\\n

An h3 header

\\n

Now a nested list:

\\n
    \\n
  1. First, get these ingredients:

    \\n
      \\n
    • carrots
    • \\n
    • celery
    • \\n
    • lentils
  2. \\n
  3. Boil some water.

  4. \\n
  5. Dump everything in the pot and follow\\nthis algorithm:

    \\n
    find wooden spoon\\nuncover pot\\nstir\\ncover pot\\nbalance wooden spoon precariously on pot handle\\nwait 10 minutes\\ngoto first step (or shut off burner when done)\\n
    \\n

    Do not bump wooden spoon or it will fall.

  6. \\n
\\n

Notice again how text always lines up on 4-space indents (including\\nthat last line which continues item 3 above).

\\n

Here's a link to a website, to a [local\\ndoc](local-doc.html), and to a [section heading in the current\\ndoc](#an-h2-header). Here's a footnote [^1].

\\n

[^1]: Footnote text goes here.

\\n

Tables can look like this:

\\n

size material color

\\n
\\n

9 leather brown\\n10 hemp canvas natural\\n11 glass transparent

\\n

Table: Shoes, their sizes, and what they're made of

\\n

(The above is the caption for the table.) Pandoc also supports\\nmulti-line tables:

\\n
\\n

keyword text

\\n
\\n

red Sunsets, apples, and\\nother red or reddish\\nthings.

\\n

green Leaves, grass, frogs\\nand other things it's\\nnot easy being.

\\n
\\n

A horizontal rule follows.

\\n
\\n

Here's a definition list:

\\n

apples\\n: Good for making applesauce.\\noranges\\n: Citrus!\\ntomatoes\\n: There's no \\"e\\" in tomatoe.

\\n

Again, text is indented 4 spaces. (Put a blank line between each\\nterm/definition pair to spread things out more.)

\\n

Here's a \\"line block\\":

\\n

| Line one\\n| Line too\\n| Line tree

\\n

and images can be specified like so:

\\n

\\"example

\\n

Inline math equations go in like so: $\\\\omega = d\\\\phi / dt$. Display\\nmath should get its own line and be put in in double-dollarsigns:

\\n

$$I = \\\\int \\\\rho R^{2} dV$$

\\n

And note that you can backslash-escape any punctuation characters\\nwhich you wish to be displayed literally, ex.: \`foo\`, *bar*, etc.

"}},{"title":"You will like those projects!","content":{"type":"html","data":"
\\n

Advertisement :)

\\n
    \\n
  • pica - high quality and fast image\\nresize in browser.
  • \\n
  • babelfish - developer friendly\\ni18n with plurals support and easy syntax.
  • \\n
\\n

You will like those projects!

\\n

h1 Heading 8-)

\\n

h2 Heading

\\n

h3 Heading

\\n

h4 Heading

\\n
h5 Heading
\\n
h6 Heading
\\n

Horizontal Rules

\\n
\\n
\\n
\\n

Typographic replacements

\\n

Enable typographer option to see result.

\\n

(c) (C) (r) (R) (tm) (TM) (p) (P) +-

\\n

test.. test… test….. test?….. test!….

\\n

!!!!!! ???? ,, -- ---

\\n

\\"Smartypants, double quotes\\" and 'single quotes'

\\n

Emphasis

\\n

This is bold text

\\n

This is bold text

\\n

This is italic text

\\n

This is italic text

\\n

~~Strikethrough~~

\\n

Blockquotes

\\n
\\n

Blockquotes can also be nested…

\\n
\\n

…by using additional greater-than signs right next to each other…

\\n
\\n

…or with spaces between arrows.

\\n
\\n
\\n
\\n

Lists

\\n

Unordered

\\n
    \\n
  • Create a list by starting a line with +, -, or *
  • \\n
  • Sub-lists are made by indenting 2 spaces:
  • \\n
  • Marker character change forces new list start:
      \\n
    • Ac tristique libero volutpat at
    • \\n
    • Facilisis in pretium nisl aliquet
    • \\n
    • Nulla volutpat aliquam velit
  • \\n
  • Very easy!
  • \\n
\\n

Ordered

\\n
    \\n
  1. Lorem ipsum dolor sit amet

  2. \\n
  3. Consectetur adipiscing elit

  4. \\n
  5. Integer molestie lorem at massa

  6. \\n
  7. You can use sequential numbers…

  8. \\n
  9. …or keep all the numbers as 1.

  10. \\n
\\n

Start numbering with offset:

\\n
    \\n
  1. foo
  2. \\n
  3. bar
  4. \\n
\\n

Code

\\n

Inline code

\\n

Indented code

\\n
// Some comments\\nline 1 of code\\nline 2 of code\\nline 3 of code\\n
\\n

Block code \\"fences\\"

\\n
Sample text here...\\n
\\n

Syntax highlighting

\\n
var foo = function (bar) {\\n  return bar++;\\n};\\n\\nconsole.log(foo(5));\\n
\\n

Tables

\\n

| Option | Description |\\n| ------ | ------------------------------------------------------------------------- |\\n| data | path to data files to supply the data that will be passed into templates. |\\n| engine | engine to be used for processing templates. Handlebars is the default. |\\n| ext | extension to be used for dest files. |

\\n

Right aligned columns

\\n

| Option | Description |\\n| -----: | ------------------------------------------------------------------------: |\\n| data | path to data files to supply the data that will be passed into templates. |\\n| engine | engine to be used for processing templates. Handlebars is the default. |\\n| ext | extension to be used for dest files. |

\\n

Links

\\n

link text

\\n

link with title

\\n

Autoconverted link https://github.com/nodeca/pica (enable linkify to see)

\\n

Images

\\n

\\"Minion\\"\\n\\"Stormtroopocat\\"

\\n

Like links, Images also have a footnote style syntax

\\n

\\"Alt

\\n

With a reference later in the document defining the URL location:

\\n

Plugins

\\n

The killer feature of markdown-it is very effective support of\\nsyntax plugins.

\\n

Emojies

\\n
\\n

Classic markup: :wink: :crush: :cry: :tear: :laughing: :yum:

\\n

Shortcuts (emoticons): :-) :-( 8-) ;)

\\n
\\n

see how to change output with twemoji.

\\n

Subscript / Superscript

\\n
    \\n
  • 19^th^
  • \\n
  • H~2~O
  • \\n
\\n

\\\\

\\n

++Inserted text++

\\n

\\\\

\\n

==Marked text==

\\n

Footnotes

\\n

Footnote 1 link[^first].

\\n

Footnote 2 link[^second].

\\n

Inline footnote^[Text of inline footnote] definition.

\\n

Duplicated footnote reference[^second].

\\n

[^first]: Footnote can have markup

\\n
and multiple paragraphs.\\n
\\n

[^second]: Footnote text.

\\n

Definition lists

\\n

Term 1

\\n

: Definition 1\\nwith lazy continuation.

\\n

Term 2 with inline markup

\\n

: Definition 2

\\n
    { some code, part of Definition 2 }\\n\\nThird paragraph of definition 2.\\n
\\n

Compact style:

\\n

Term 1\\n~ Definition 1

\\n

Term 2\\n~ Definition 2a\\n~ Definition 2b

\\n

Abbreviations

\\n

This is HTML abbreviation example.

\\n

It converts \\"HTML\\", but keep intact partial entries like \\"xxxHTMLyyy\\" and so on.

\\n

*[HTML]: Hyper Text Markup Language

\\n

Custom containers

\\n

::: warning\\nhere be dragons\\n:::

"}},{"title":"You will like those projects!","content":{"type":"html","data":"
\\n

Advertisement :)

\\n
    \\n
  • pica - high quality and fast image\\nresize in browser.
  • \\n
  • babelfish - developer friendly\\ni18n with plurals support and easy syntax.
  • \\n
\\n

You will like those projects!

\\n

h1 Heading 8-)

\\n

h2 Heading

\\n

h3 Heading

\\n

h4 Heading

\\n
h5 Heading
\\n
h6 Heading
\\n

Horizontal Rules

\\n
\\n
\\n
\\n

Typographic replacements

\\n

Enable typographer option to see result.

\\n

(c) (C) (r) (R) (tm) (TM) (p) (P) +-

\\n

test.. test… test….. test?….. test!….

\\n

!!!!!! ???? ,, -- ---

\\n

\\"Smartypants, double quotes\\" and 'single quotes'

\\n

Emphasis

\\n

This is bold text

\\n

This is bold text

\\n

This is italic text

\\n

This is italic text

\\n

~~Strikethrough~~

\\n

Blockquotes

\\n
\\n

Blockquotes can also be nested…

\\n
\\n

…by using additional greater-than signs right next to each other…

\\n
\\n

…or with spaces between arrows.

\\n
\\n
\\n
\\n

Lists

\\n

Unordered

\\n
    \\n
  • Create a list by starting a line with +, -, or *
  • \\n
  • Sub-lists are made by indenting 2 spaces:
  • \\n
  • Marker character change forces new list start:
      \\n
    • Ac tristique libero volutpat at
    • \\n
    • Facilisis in pretium nisl aliquet
    • \\n
    • Nulla volutpat aliquam velit
  • \\n
  • Very easy!
  • \\n
\\n

Ordered

\\n
    \\n
  1. Lorem ipsum dolor sit amet

  2. \\n
  3. Consectetur adipiscing elit

  4. \\n
  5. Integer molestie lorem at massa

  6. \\n
  7. You can use sequential numbers…

  8. \\n
  9. …or keep all the numbers as 1.

  10. \\n
\\n

Start numbering with offset:

\\n
    \\n
  1. foo
  2. \\n
  3. bar
  4. \\n
\\n

Code

\\n

Inline code

\\n

Indented code

\\n
// Some comments\\nline 1 of code\\nline 2 of code\\nline 3 of code\\n
\\n

Block code \\"fences\\"

\\n
Sample text here...\\n
\\n

Syntax highlighting

\\n
var foo = function (bar) {\\n  return bar++;\\n};\\n\\nconsole.log(foo(5));\\n
\\n

Tables

\\n

| Option | Description |\\n| ------ | ------------------------------------------------------------------------- |\\n| data | path to data files to supply the data that will be passed into templates. |\\n| engine | engine to be used for processing templates. Handlebars is the default. |\\n| ext | extension to be used for dest files. |

\\n

Right aligned columns

\\n

| Option | Description |\\n| -----: | ------------------------------------------------------------------------: |\\n| data | path to data files to supply the data that will be passed into templates. |\\n| engine | engine to be used for processing templates. Handlebars is the default. |\\n| ext | extension to be used for dest files. |

\\n

Links

\\n

link text

\\n

link with title

\\n

Autoconverted link https://github.com/nodeca/pica (enable linkify to see)

\\n

Images

\\n

\\"Minion\\"\\n\\"Stormtroopocat\\"

\\n

Like links, Images also have a footnote style syntax

\\n

\\"Alt

\\n

With a reference later in the document defining the URL location:

\\n

Plugins

\\n

The killer feature of markdown-it is very effective support of\\nsyntax plugins.

\\n

Emojies

\\n
\\n

Classic markup: :wink: :crush: :cry: :tear: :laughing: :yum:

\\n

Shortcuts (emoticons): :-) :-( 8-) ;)

\\n
\\n

see how to change output with twemoji.

\\n

Subscript / Superscript

\\n
    \\n
  • 19^th^
  • \\n
  • H~2~O
  • \\n
\\n

\\\\

\\n

++Inserted text++

\\n

\\\\

\\n

==Marked text==

\\n

Footnotes

\\n

Footnote 1 link[^first].

\\n

Footnote 2 link[^second].

\\n

Inline footnote^[Text of inline footnote] definition.

\\n

Duplicated footnote reference[^second].

\\n

[^first]: Footnote can have markup

\\n
and multiple paragraphs.\\n
\\n

[^second]: Footnote text.

\\n

Definition lists

\\n

Term 1

\\n

: Definition 1\\nwith lazy continuation.

\\n

Term 2 with inline markup

\\n

: Definition 2

\\n
    { some code, part of Definition 2 }\\n\\nThird paragraph of definition 2.\\n
\\n

Compact style:

\\n

Term 1\\n~ Definition 1

\\n

Term 2\\n~ Definition 2a\\n~ Definition 2b

\\n

Abbreviations

\\n

This is HTML abbreviation example.

\\n

It converts \\"HTML\\", but keep intact partial entries like \\"xxxHTMLyyy\\" and so on.

\\n

*[HTML]: Hyper Text Markup Language

\\n

Custom containers

\\n

::: warning\\nhere be dragons\\n:::

"}}],"errors":[]} ` -exports[`__tests__/providers.test.ts TAP > md-packed-hash 1`] = ` -316d6cbe0da1dc0b +exports[`__tests__/providers.test.ts TAP > md-packed 1`] = ` +Array [ + "598064763b5b1dec404a596dd3ef0479/note.json", + "2b500b4449af9eccf42099dadb7f4c04/note.json", + "metadata.json", +] ` exports[`__tests__/providers.test.ts TAP > simplenote 1`] = ` -[{"title":"KEYWORDS LIST OF MINT PLAYER","dateCreated":1569438724794,"dateEdited":1629957173666,"pinned":true,"content":{"type":"html","data":"

video player hd\\nvideo player\\nvideo player download\\nvideo player all format\\nall format video player for android\\nhd video player high quality 1080p

\\n

4k video player\\n4k video player for android\\n4k video player 2019\\n4k video player app

\\n

video player 4k ultra hd\\nvideo player 4k \\nvideo player 4k 2019\\nvideo player 4k hd\\nall video player 2019\\nmedia player all format\\nmedia player\\nmedia player hd \\nmedia player app\\nhd media player for all formats\\nvideo player app\\nmkv player\\nmovie player\\nmovie player hd\\n720p video player\\nvideo player hd 720p\\nplayer mx player\\nplayer\\nhd video \\nfloating video player\\nshare videos\\nchromecast\\nmax player\\nhd max video\\nmusic,videos\\nkm player

\\n

avplayer\\navi player\\nwmv player\\nmp3 mp4 player\\navi player\\nmovie player\\n4k videos\\nultra hd video player\\nultra 4k player\\npopup player\\nbest video player

\\n

Media player HD.\\nMedia player for android.\\nMedia player for all format.\\nHD video player 2019.\\nPopup video player.\\nMusic Player mp3\\nMusic player 2019\\nAudio player\\n Real video player hd all format support.\\nReal video player.\\nVidmataps 2019.\\nVidmax player.\\nVidmax vidmax\\nmax player\\nflv video player\\nplayer hd \\nreal player\\nhd movie\\nwhatsapp status

\\n

Mx HD video Player Pro\\nMxv Player\\nHd Mxv Player\\nHD video Player

\\n

HD Video Player.\\n● HD Video Player high quality 1080p.\\n● HD Video Player 2019 new.\\n● HD Video Player high quality 1080p.\\n● Full HD Video Player you can play all formats.\\n● Full HD Video Player high quality 1080p.\\n● Full HD Video Player 2019.\\n● User friendly Video Player all format.\\n● Ultra HD 4K Video Player for android.\\n● Ultra HD Video Player 4K.\\n● Ultra HD Video Player.\\n● 4K Video Player.\\n● 4K Video Player for android.\\n● 4K Video Player all format for android.\\n● 4K Video Player HD.\\n● 4K HD Video song Player.\\n● 4K HD Video Player 2019.\\n● 4K Video Player all format for android.\\n● 4K Video Player download free app.\\n● पूर्ण HD वीडियो प्लेयर\\n● முழு HD வீடியோ பிளேயர்\\n● Lecteur vidéo Full HD\\n● เครื่องเล่นวิดีโอ Full HD\\n● 全高清视频播放器\\n● フルHDビデオプレーヤー\\n● Lettore video Full HD\\n● Reproductor de video Full HD\\n● 풀 HD 비디오 플레이어\\n● גאַנץ הד וידאו פּלייַער\\n● ഫുൾ HD വീഡിയോ പ്ലെയർ\\n● Pōʻaniʻoniʻoni piha piha\\nPōʻaniʻoniʻoni piha piha\\nVedmet app movie player\\nVidmata video player\\nWidmatapp movie player\\nVidmataps 2019 HD media player\\nfree Video Player.\\nxx video player \\nFull HD Ultra 4K video playback\\nReal HD video player

\\n

Video Player.

\\n
    \\n
  • Video Player All Format - HD media player.

  • \\n
  • Video Player for android All Format.

  • \\n
  • Video Player HD.

  • \\n
  • Fast video player.

  • \\n
  • 1080p High Quality Video Player.

  • \\n
  • HD video Player.

  • \\n
  • HD Video Player All Format.

  • \\n
  • HD video player for android.

  • \\n
  • Mp4 video player.

  • \\n
  • Mkv video player.

  • \\n
  • Vidmataps 2019.

  • \\n
  • Viralmate-hd video player.

  • \\n
  • Music player.

  • \\n
  • Mp3 player.

  • \\n
  • Full hd video player.

  • \\n
  • Full hd video player high volume.

  • \\n
  • Full hd video player download free app.

  • \\n
  • Ultra hd video player 2019.

  • \\n
  • Ultra hd video player 4k.

  • \\n
  • Latest video player new version 2019

  • \\n
  • Pelicans en 4k

  • \\n
  • Video Player.

  • \\n
  • Video Player all format.

  • \\n
  • Video player 2019 new free app.

  • \\n
  • Video player download free app.

  • \\n
  • Video player high quality 1080p.

  • \\n
  • Video player hd

  • \\n
  • Video player for viewing 4k ultra hd movie.

  • \\n
  • Video player for YouTube Video.

  • \\n
  • Video Player for Android All Format & 4K Support.

  • \\n
  • Video player for android.

  • \\n
  • Video player 1080p.

  • \\n
  • Video Player All Format for Android.

  • \\n
  • Video Player hd 2019.

  • \\n
  • Media Player & Mp3 Mp4 Player.

  • \\n
  • High quality video player.

  • \\n
  • HD video player.

  • \\n
  • HD video player high quality 1080p.

  • \\n
  • HD video player download free app.

  • \\n
  • HD video player 2019 new.

  • \\n
  • Full hd video player.

  • \\n
  • Full hd video player 2019.

  • \\n
  • Full hd Video Player you can play all formats.

  • \\n
  • Full hd video player all format media player 1080p.

  • \\n
  • Full hd video player high volume.

  • \\n
  • Full hd video player download free app.

  • \\n
  • Ultra hd video player.

  • \\n
  • Ultra hd video player 4k.

  • \\n
  • Ultra hd 4k video player for android free.

  • \\n
  • 4K video player.

  • \\n
  • - [ ] 4k video player for android.

  • \\n
  • 4k video player all format.

  • \\n
  • 4k video player hd.

  • \\n
  • 4k ultra hd video player free.

  • \\n
  • 4k ultra hd video player for android.

  • \\n
  • 4k hd video player 2019.

  • \\n
  • 4k video player for android.

  • \\n
  • 4k video player all format for android.

  • \\n
  • 4k video player download free app.

  • \\n
  • 2k video player.

  • \\n
  • vidio bokeb full gratis.

  • \\n
  • फुल एचडी वीडियो प्लेयर

  • \\n
  • Lecteur vidéo Full HD

  • \\n
  • Full hd player de vídeo

  • \\n
  • முழு HD வீடியோ பிளேயர்

  • \\n
  • Lecteur vidéo Full HD

  • \\n
  • เครื่องเล่นวิดีโอ Full HD

  • \\n
  • 全高清视频播放器

  • \\n
  • フルHDビデオプレーヤー

  • \\n
  • Lettore video Full HD

  • \\n
  • Reproductor de video Full HD

  • \\n
  • 풀 HD 비디오 플레이어

  • \\n
  • גאַנץ הד וידאו פּלייַער

  • \\n
  • ഫുൾ HD വീഡിയോ പ്ലെയർ

  • \\n
  • Easy to Use.\\n-- Smooth hd video player

  • \\n
  • Powerful hd video player

  • \\n
  • Medmate app

  • \\n
  • *- Vidmataps 2019 HD video player.\\n*- Media player all fromat.\\n*- 4k video player.\\n*- Subtitle support for videos.\\n*- Easily to adjust the video sound.\\n*- Medmate app.\\n*- Wide made app download video and play HD quality.\\n*- Powerful video player.\\n*- Vidmata download movies and play with this HD video player.\\n*- Viramate hd video player.\\n*- Viralmate-hd video player.\\n*- HD video player high quality 1080p.\\n*- Media Player & Mp3 Mp4 Player.\\n*- Real video player hd all format support, easy to use.

  • \\n
  • sax video player

  • \\n
  • hd sax video

  • \\n
  • VIRALMATE\\nSX Video Player\\nVideo Player\\nMusic Player\\nHD Video Player\\nMedia Player\\nMP3 Player

  • \\n
\\n

HD Video App

"}},{"title":"List of Pages","dateCreated":1569087810648,"dateEdited":1629957198830,"tags":["cow","hello"],"content":{"type":"html","data":"
    \\n
  1. We Create
  2. \\n
  3. We Contribute
  4. \\n
  5. We Blog
  6. \\n
  7. We Help
  8. \\n
  9. We Love Coding
  10. \\n
  11. Work with us
  12. \\n
  13. Our Team
  14. \\n
  15. What we can do
  16. \\n
  17. Careers
  18. \\n
  19. Blog Page
  20. \\n
"}}] +{"notes":[{"title":"KEYWORDS LIST OF MINT PLAYER","dateCreated":1569438724794,"dateEdited":1629957173666,"pinned":true,"content":{"type":"html","data":"

video player hd\\nvideo player\\nvideo player download\\nvideo player all format\\nall format video player for android\\nhd video player high quality 1080p

\\n

4k video player\\n4k video player for android\\n4k video player 2019\\n4k video player app

\\n

video player 4k ultra hd\\nvideo player 4k \\nvideo player 4k 2019\\nvideo player 4k hd\\nall video player 2019\\nmedia player all format\\nmedia player\\nmedia player hd \\nmedia player app\\nhd media player for all formats\\nvideo player app\\nmkv player\\nmovie player\\nmovie player hd\\n720p video player\\nvideo player hd 720p\\nplayer mx player\\nplayer\\nhd video \\nfloating video player\\nshare videos\\nchromecast\\nmax player\\nhd max video\\nmusic,videos\\nkm player

\\n

avplayer\\navi player\\nwmv player\\nmp3 mp4 player\\navi player\\nmovie player\\n4k videos\\nultra hd video player\\nultra 4k player\\npopup player\\nbest video player

\\n

Media player HD.\\nMedia player for android.\\nMedia player for all format.\\nHD video player 2019.\\nPopup video player.\\nMusic Player mp3\\nMusic player 2019\\nAudio player\\n Real video player hd all format support.\\nReal video player.\\nVidmataps 2019.\\nVidmax player.\\nVidmax vidmax\\nmax player\\nflv video player\\nplayer hd \\nreal player\\nhd movie\\nwhatsapp status

\\n

Mx HD video Player Pro\\nMxv Player\\nHd Mxv Player\\nHD video Player

\\n

HD Video Player.\\n● HD Video Player high quality 1080p.\\n● HD Video Player 2019 new.\\n● HD Video Player high quality 1080p.\\n● Full HD Video Player you can play all formats.\\n● Full HD Video Player high quality 1080p.\\n● Full HD Video Player 2019.\\n● User friendly Video Player all format.\\n● Ultra HD 4K Video Player for android.\\n● Ultra HD Video Player 4K.\\n● Ultra HD Video Player.\\n● 4K Video Player.\\n● 4K Video Player for android.\\n● 4K Video Player all format for android.\\n● 4K Video Player HD.\\n● 4K HD Video song Player.\\n● 4K HD Video Player 2019.\\n● 4K Video Player all format for android.\\n● 4K Video Player download free app.\\n● पूर्ण HD वीडियो प्लेयर\\n● முழு HD வீடியோ பிளேயர்\\n● Lecteur vidéo Full HD\\n● เครื่องเล่นวิดีโอ Full HD\\n● 全高清视频播放器\\n● フルHDビデオプレーヤー\\n● Lettore video Full HD\\n● Reproductor de video Full HD\\n● 풀 HD 비디오 플레이어\\n● גאַנץ הד וידאו פּלייַער\\n● ഫുൾ HD വീഡിയോ പ്ലെയർ\\n● Pōʻaniʻoniʻoni piha piha\\nPōʻaniʻoniʻoni piha piha\\nVedmet app movie player\\nVidmata video player\\nWidmatapp movie player\\nVidmataps 2019 HD media player\\nfree Video Player.\\nxx video player \\nFull HD Ultra 4K video playback\\nReal HD video player

\\n

Video Player.

\\n
    \\n
  • Video Player All Format - HD media player.

  • \\n
  • Video Player for android All Format.

  • \\n
  • Video Player HD.

  • \\n
  • Fast video player.

  • \\n
  • 1080p High Quality Video Player.

  • \\n
  • HD video Player.

  • \\n
  • HD Video Player All Format.

  • \\n
  • HD video player for android.

  • \\n
  • Mp4 video player.

  • \\n
  • Mkv video player.

  • \\n
  • Vidmataps 2019.

  • \\n
  • Viralmate-hd video player.

  • \\n
  • Music player.

  • \\n
  • Mp3 player.

  • \\n
  • Full hd video player.

  • \\n
  • Full hd video player high volume.

  • \\n
  • Full hd video player download free app.

  • \\n
  • Ultra hd video player 2019.

  • \\n
  • Ultra hd video player 4k.

  • \\n
  • Latest video player new version 2019

  • \\n
  • Pelicans en 4k

  • \\n
  • Video Player.

  • \\n
  • Video Player all format.

  • \\n
  • Video player 2019 new free app.

  • \\n
  • Video player download free app.

  • \\n
  • Video player high quality 1080p.

  • \\n
  • Video player hd

  • \\n
  • Video player for viewing 4k ultra hd movie.

  • \\n
  • Video player for YouTube Video.

  • \\n
  • Video Player for Android All Format & 4K Support.

  • \\n
  • Video player for android.

  • \\n
  • Video player 1080p.

  • \\n
  • Video Player All Format for Android.

  • \\n
  • Video Player hd 2019.

  • \\n
  • Media Player & Mp3 Mp4 Player.

  • \\n
  • High quality video player.

  • \\n
  • HD video player.

  • \\n
  • HD video player high quality 1080p.

  • \\n
  • HD video player download free app.

  • \\n
  • HD video player 2019 new.

  • \\n
  • Full hd video player.

  • \\n
  • Full hd video player 2019.

  • \\n
  • Full hd Video Player you can play all formats.

  • \\n
  • Full hd video player all format media player 1080p.

  • \\n
  • Full hd video player high volume.

  • \\n
  • Full hd video player download free app.

  • \\n
  • Ultra hd video player.

  • \\n
  • Ultra hd video player 4k.

  • \\n
  • Ultra hd 4k video player for android free.

  • \\n
  • 4K video player.

  • \\n
  • - [ ] 4k video player for android.

  • \\n
  • 4k video player all format.

  • \\n
  • 4k video player hd.

  • \\n
  • 4k ultra hd video player free.

  • \\n
  • 4k ultra hd video player for android.

  • \\n
  • 4k hd video player 2019.

  • \\n
  • 4k video player for android.

  • \\n
  • 4k video player all format for android.

  • \\n
  • 4k video player download free app.

  • \\n
  • 2k video player.

  • \\n
  • vidio bokeb full gratis.

  • \\n
  • फुल एचडी वीडियो प्लेयर

  • \\n
  • Lecteur vidéo Full HD

  • \\n
  • Full hd player de vídeo

  • \\n
  • முழு HD வீடியோ பிளேயர்

  • \\n
  • Lecteur vidéo Full HD

  • \\n
  • เครื่องเล่นวิดีโอ Full HD

  • \\n
  • 全高清视频播放器

  • \\n
  • フルHDビデオプレーヤー

  • \\n
  • Lettore video Full HD

  • \\n
  • Reproductor de video Full HD

  • \\n
  • 풀 HD 비디오 플레이어

  • \\n
  • גאַנץ הד וידאו פּלייַער

  • \\n
  • ഫുൾ HD വീഡിയോ പ്ലെയർ

  • \\n
  • Easy to Use.\\n-- Smooth hd video player

  • \\n
  • Powerful hd video player

  • \\n
  • Medmate app

  • \\n
  • *- Vidmataps 2019 HD video player.\\n*- Media player all fromat.\\n*- 4k video player.\\n*- Subtitle support for videos.\\n*- Easily to adjust the video sound.\\n*- Medmate app.\\n*- Wide made app download video and play HD quality.\\n*- Powerful video player.\\n*- Vidmata download movies and play with this HD video player.\\n*- Viramate hd video player.\\n*- Viralmate-hd video player.\\n*- HD video player high quality 1080p.\\n*- Media Player & Mp3 Mp4 Player.\\n*- Real video player hd all format support, easy to use.

  • \\n
  • sax video player

  • \\n
  • hd sax video

  • \\n
  • VIRALMATE\\nSX Video Player\\nVideo Player\\nMusic Player\\nHD Video Player\\nMedia Player\\nMP3 Player

  • \\n
\\n

HD Video App

"}},{"title":"List of Pages","dateCreated":1569087810648,"dateEdited":1629957198830,"tags":["cow","hello"],"content":{"type":"html","data":"
    \\n
  1. We Create
  2. \\n
  3. We Contribute
  4. \\n
  5. We Blog
  6. \\n
  7. We Help
  8. \\n
  9. We Love Coding
  10. \\n
  11. Work with us
  12. \\n
  13. Our Team
  14. \\n
  15. What we can do
  16. \\n
  17. Careers
  18. \\n
  19. Blog Page
  20. \\n
"}}],"errors":[]} ` -exports[`__tests__/providers.test.ts TAP > simplenote-packed-hash 1`] = ` -5855442f26954013 +exports[`__tests__/providers.test.ts TAP > simplenote-packed 1`] = ` +Array [ + "11fb7d4e33e9c9ed5cc0c60bb47eb8ee/note.json", + "8189dcd09d4f5b22196e57089800f76a/note.json", + "metadata.json", +] `