diff --git a/package-lock.json b/package-lock.json
index 1be9fca..e18250c 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,7 +8,8 @@
"version": "1.0.0",
"license": "MIT",
"dependencies": {
- "listener-rss": "file:../listener-rss"
+ "listener-rss": "file:../listener-rss",
+ "sqlite3": "^5.0.2"
},
"devDependencies": {
"@types/chai": "^4.2.15",
@@ -3969,6 +3970,11 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
"node_modules/acorn": {
"version": "7.4.1",
"dev": true,
@@ -3990,7 +3996,7 @@
},
"node_modules/ajv": {
"version": "6.12.6",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"dependencies": {
"fast-deep-equal": "^3.1.1",
@@ -4042,6 +4048,20 @@
"node": ">= 8"
}
},
+ "node_modules/aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+ },
+ "node_modules/are-we-there-yet": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
+ "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "dependencies": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
"node_modules/arg": {
"version": "4.1.3",
"dev": true,
@@ -4097,6 +4117,24 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/asn1": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "optional": true,
+ "dependencies": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "node_modules/assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "optional": true,
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
"node_modules/assertion-error": {
"version": "1.1.0",
"dev": true,
@@ -4113,11 +4151,40 @@
"node": ">=8"
}
},
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "optional": true
+ },
+ "node_modules/aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "optional": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/aws4": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
+ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
+ "optional": true
+ },
"node_modules/balanced-match": {
"version": "1.0.0",
- "dev": true,
"license": "MIT"
},
+ "node_modules/bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "optional": true,
+ "dependencies": {
+ "tweetnacl": "^0.14.3"
+ }
+ },
"node_modules/binary-extensions": {
"version": "2.2.0",
"dev": true,
@@ -4126,9 +4193,20 @@
"node": ">=8"
}
},
+ "node_modules/block-stream": {
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+ "optional": true,
+ "dependencies": {
+ "inherits": "~2.0.0"
+ },
+ "engines": {
+ "node": "0.4 || >=0.5.8"
+ }
+ },
"node_modules/brace-expansion": {
"version": "1.1.11",
- "dev": true,
"license": "MIT",
"dependencies": {
"balanced-match": "^1.0.0",
@@ -4184,6 +4262,12 @@
"node": ">=6"
}
},
+ "node_modules/caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "optional": true
+ },
"node_modules/chai": {
"version": "4.3.3",
"dev": true,
@@ -4292,6 +4376,11 @@
"fsevents": "~2.1.2"
}
},
+ "node_modules/chownr": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
+ },
"node_modules/cliui": {
"version": "5.0.0",
"dev": true,
@@ -4347,6 +4436,14 @@
"node": ">=6"
}
},
+ "node_modules/code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/color-convert": {
"version": "1.9.3",
"dev": true,
@@ -4360,9 +4457,20 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "optional": true,
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
"node_modules/concat-map": {
"version": "0.0.1",
- "dev": true,
"license": "MIT"
},
"node_modules/confusing-browser-globals": {
@@ -4370,6 +4478,11 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
+ },
"node_modules/contains-path": {
"version": "0.1.0",
"dev": true,
@@ -4378,6 +4491,11 @@
"node": ">=0.10.0"
}
},
+ "node_modules/core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ },
"node_modules/create-require": {
"version": "1.1.1",
"dev": true,
@@ -4413,6 +4531,18 @@
"node": ">= 8"
}
},
+ "node_modules/dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "optional": true,
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
"node_modules/debug": {
"version": "4.3.1",
"dev": true,
@@ -4448,6 +4578,14 @@
"node": ">=0.12"
}
},
+ "node_modules/deep-extend": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==",
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
"node_modules/deep-is": {
"version": "0.1.3",
"dev": true,
@@ -4464,6 +4602,31 @@
"node": ">= 0.4"
}
},
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "optional": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
+ },
+ "node_modules/detect-libc": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=",
+ "bin": {
+ "detect-libc": "bin/detect-libc.js"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
"node_modules/diff": {
"version": "4.0.2",
"dev": true,
@@ -4494,6 +4657,16 @@
"node": ">=6.0.0"
}
},
+ "node_modules/ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "optional": true,
+ "dependencies": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
"node_modules/emoji-regex": {
"version": "8.0.0",
"dev": true,
@@ -4921,9 +5094,24 @@
"node": ">=0.10.0"
}
},
+ "node_modules/extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "optional": true
+ },
+ "node_modules/extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "optional": true
+ },
"node_modules/fast-deep-equal": {
"version": "3.1.3",
- "dev": true,
+ "devOptional": true,
"license": "MIT"
},
"node_modules/fast-diff": {
@@ -4949,7 +5137,7 @@
},
"node_modules/fast-json-stable-stringify": {
"version": "2.1.0",
- "dev": true,
+ "devOptional": true,
"license": "MIT"
},
"node_modules/fast-levenshtein": {
@@ -5023,11 +5211,68 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "optional": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "optional": true,
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 0.12"
+ }
+ },
+ "node_modules/fs-minipass": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
+ "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
+ "dependencies": {
+ "minipass": "^2.6.0"
+ }
+ },
"node_modules/fs.realpath": {
"version": "1.0.0",
- "dev": true,
"license": "ISC"
},
+ "node_modules/fstream": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
+ "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
+ "optional": true,
+ "dependencies": {
+ "graceful-fs": "^4.1.2",
+ "inherits": "~2.0.0",
+ "mkdirp": ">=0.5 0",
+ "rimraf": "2"
+ },
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
+ "node_modules/fstream/node_modules/rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "optional": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ }
+ },
"node_modules/function-bind": {
"version": "1.1.1",
"dev": true,
@@ -5038,6 +5283,64 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "dependencies": {
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
+ }
+ },
+ "node_modules/gauge/node_modules/ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/gauge/node_modules/is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "dependencies": {
+ "number-is-nan": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/gauge/node_modules/string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "dependencies": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/gauge/node_modules/strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "dependencies": {
+ "ansi-regex": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/get-caller-file": {
"version": "2.0.5",
"dev": true,
@@ -5067,9 +5370,17 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "optional": true,
+ "dependencies": {
+ "assert-plus": "^1.0.0"
+ }
+ },
"node_modules/glob": {
"version": "7.1.6",
- "dev": true,
"license": "ISC",
"dependencies": {
"fs.realpath": "^1.0.0",
@@ -5143,7 +5454,7 @@
},
"node_modules/graceful-fs": {
"version": "4.2.6",
- "dev": true,
+ "devOptional": true,
"license": "ISC"
},
"node_modules/growl": {
@@ -5154,6 +5465,29 @@
"node": ">=4.x"
}
},
+ "node_modules/har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+ "optional": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/har-validator": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+ "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
+ "deprecated": "this library is no longer supported",
+ "optional": true,
+ "dependencies": {
+ "ajv": "^6.12.3",
+ "har-schema": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/has": {
"version": "1.0.3",
"dev": true,
@@ -5192,6 +5526,11 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
+ },
"node_modules/he": {
"version": "1.2.0",
"dev": true,
@@ -5205,6 +5544,32 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "optional": true,
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ },
+ "engines": {
+ "node": ">=0.8",
+ "npm": ">=1.3.7"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/ignore": {
"version": "5.1.8",
"dev": true,
@@ -5213,6 +5578,14 @@
"node": ">= 4"
}
},
+ "node_modules/ignore-walk": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz",
+ "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
+ "dependencies": {
+ "minimatch": "^3.0.4"
+ }
+ },
"node_modules/import-fresh": {
"version": "3.3.0",
"dev": true,
@@ -5238,7 +5611,6 @@
},
"node_modules/inflight": {
"version": "1.0.6",
- "dev": true,
"license": "ISC",
"dependencies": {
"once": "^1.3.0",
@@ -5247,9 +5619,13 @@
},
"node_modules/inherits": {
"version": "2.0.4",
- "dev": true,
"license": "ISC"
},
+ "node_modules/ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
+ },
"node_modules/is-arrayish": {
"version": "0.2.1",
"dev": true,
@@ -5426,16 +5802,27 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-typedarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "optional": true
+ },
"node_modules/isarray": {
"version": "1.0.0",
- "dev": true,
"license": "MIT"
},
"node_modules/isexe": {
"version": "2.0.0",
- "dev": true,
+ "devOptional": true,
"license": "ISC"
},
+ "node_modules/isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "optional": true
+ },
"node_modules/js-tokens": {
"version": "4.0.0",
"dev": true,
@@ -5453,9 +5840,21 @@
"js-yaml": "bin/js-yaml.js"
}
},
+ "node_modules/jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "optional": true
+ },
+ "node_modules/json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "optional": true
+ },
"node_modules/json-schema-traverse": {
"version": "0.4.1",
- "dev": true,
+ "devOptional": true,
"license": "MIT"
},
"node_modules/json-stable-stringify-without-jsonify": {
@@ -5465,7 +5864,7 @@
},
"node_modules/json-stringify-safe": {
"version": "5.0.1",
- "dev": true,
+ "devOptional": true,
"license": "ISC"
},
"node_modules/json5": {
@@ -5479,6 +5878,21 @@
"json5": "lib/cli.js"
}
},
+ "node_modules/jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "optional": true,
+ "dependencies": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
"node_modules/just-extend": {
"version": "4.1.1",
"dev": true,
@@ -5588,9 +6002,29 @@
"node": ">=8"
}
},
+ "node_modules/mime-db": {
+ "version": "1.47.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz",
+ "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==",
+ "optional": true,
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.30",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz",
+ "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==",
+ "optional": true,
+ "dependencies": {
+ "mime-db": "1.47.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
"node_modules/minimatch": {
"version": "3.0.4",
- "dev": true,
"license": "ISC",
"dependencies": {
"brace-expansion": "^1.1.7"
@@ -5601,9 +6035,41 @@
},
"node_modules/minimist": {
"version": "1.2.5",
- "dev": true,
"license": "MIT"
},
+ "node_modules/minipass": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
+ "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+ "dependencies": {
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.0"
+ }
+ },
+ "node_modules/minipass/node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+ },
+ "node_modules/minizlib": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
+ "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
+ "dependencies": {
+ "minipass": "^2.9.0"
+ }
+ },
+ "node_modules/mkdirp": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+ "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+ "dependencies": {
+ "minimist": "^1.2.5"
+ },
+ "bin": {
+ "mkdirp": "bin/cmd.js"
+ }
+ },
"node_modules/mocha": {
"version": "8.2.1",
"dev": true,
@@ -5772,7 +6238,6 @@
},
"node_modules/ms": {
"version": "2.1.2",
- "dev": true,
"license": "MIT"
},
"node_modules/nanoid": {
@@ -5791,6 +6256,30 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/needle": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz",
+ "integrity": "sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==",
+ "dependencies": {
+ "debug": "^3.2.6",
+ "iconv-lite": "^0.4.4",
+ "sax": "^1.2.4"
+ },
+ "bin": {
+ "needle": "bin/needle"
+ },
+ "engines": {
+ "node": ">= 4.4.x"
+ }
+ },
+ "node_modules/needle/node_modules/debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dependencies": {
+ "ms": "^2.1.1"
+ }
+ },
"node_modules/nise": {
"version": "4.1.0",
"dev": true,
@@ -5817,6 +6306,156 @@
"node": ">= 10.13"
}
},
+ "node_modules/node-addon-api": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz",
+ "integrity": "sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw=="
+ },
+ "node_modules/node-gyp": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
+ "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
+ "optional": true,
+ "dependencies": {
+ "fstream": "^1.0.0",
+ "glob": "^7.0.3",
+ "graceful-fs": "^4.1.2",
+ "mkdirp": "^0.5.0",
+ "nopt": "2 || 3",
+ "npmlog": "0 || 1 || 2 || 3 || 4",
+ "osenv": "0",
+ "request": "^2.87.0",
+ "rimraf": "2",
+ "semver": "~5.3.0",
+ "tar": "^2.0.0",
+ "which": "1"
+ },
+ "bin": {
+ "node-gyp": "bin/node-gyp.js"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/node-gyp/node_modules/rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "optional": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ }
+ },
+ "node_modules/node-gyp/node_modules/semver": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "optional": true,
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/node-gyp/node_modules/which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "optional": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "which": "bin/which"
+ }
+ },
+ "node_modules/node-pre-gyp": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz",
+ "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==",
+ "deprecated": "Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future",
+ "dependencies": {
+ "detect-libc": "^1.0.2",
+ "mkdirp": "^0.5.1",
+ "needle": "^2.2.1",
+ "nopt": "^4.0.1",
+ "npm-packlist": "^1.1.6",
+ "npmlog": "^4.0.2",
+ "rc": "^1.2.7",
+ "rimraf": "^2.6.1",
+ "semver": "^5.3.0",
+ "tar": "^4"
+ },
+ "bin": {
+ "node-pre-gyp": "bin/node-pre-gyp"
+ }
+ },
+ "node_modules/node-pre-gyp/node_modules/nopt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
+ "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+ "dependencies": {
+ "abbrev": "1",
+ "osenv": "^0.1.4"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ }
+ },
+ "node_modules/node-pre-gyp/node_modules/rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ }
+ },
+ "node_modules/node-pre-gyp/node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/node-pre-gyp/node_modules/tar": {
+ "version": "4.4.13",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
+ "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
+ "dependencies": {
+ "chownr": "^1.1.1",
+ "fs-minipass": "^1.2.5",
+ "minipass": "^2.8.6",
+ "minizlib": "^1.2.1",
+ "mkdirp": "^0.5.0",
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.3"
+ },
+ "engines": {
+ "node": ">=4.5"
+ }
+ },
+ "node_modules/node-pre-gyp/node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+ },
+ "node_modules/nopt": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "optional": true,
+ "dependencies": {
+ "abbrev": "1"
+ },
+ "bin": {
+ "nopt": "bin/nopt.js"
+ }
+ },
"node_modules/normalize-package-data": {
"version": "2.5.0",
"dev": true,
@@ -5844,6 +6483,65 @@
"node": ">=0.10.0"
}
},
+ "node_modules/npm-bundled": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
+ "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
+ "dependencies": {
+ "npm-normalize-package-bin": "^1.0.1"
+ }
+ },
+ "node_modules/npm-normalize-package-bin": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
+ "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA=="
+ },
+ "node_modules/npm-packlist": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz",
+ "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==",
+ "dependencies": {
+ "ignore-walk": "^3.0.1",
+ "npm-bundled": "^1.0.1",
+ "npm-normalize-package-bin": "^1.0.1"
+ }
+ },
+ "node_modules/npmlog": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "dependencies": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
+ "node_modules/number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "optional": true,
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/object-inspect": {
"version": "1.9.0",
"dev": true,
@@ -5910,7 +6608,6 @@
},
"node_modules/once": {
"version": "1.4.0",
- "dev": true,
"license": "ISC",
"dependencies": {
"wrappy": "1"
@@ -5932,6 +6629,31 @@
"node": ">= 0.8.0"
}
},
+ "node_modules/os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/osenv": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "dependencies": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
"node_modules/p-limit": {
"version": "1.3.0",
"dev": true,
@@ -5994,7 +6716,6 @@
},
"node_modules/path-is-absolute": {
"version": "1.0.1",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=0.10.0"
@@ -6042,6 +6763,12 @@
"node": "*"
}
},
+ "node_modules/performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "optional": true
+ },
"node_modules/picomatch": {
"version": "2.2.2",
"dev": true,
@@ -6102,6 +6829,11 @@
"node": ">=6.0.0"
}
},
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ },
"node_modules/progress": {
"version": "2.0.3",
"dev": true,
@@ -6118,14 +6850,29 @@
"node": ">= 8"
}
},
+ "node_modules/psl": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
+ "optional": true
+ },
"node_modules/punycode": {
"version": "2.1.1",
- "dev": true,
+ "devOptional": true,
"license": "MIT",
"engines": {
"node": ">=6"
}
},
+ "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==",
+ "optional": true,
+ "engines": {
+ "node": ">=0.6"
+ }
+ },
"node_modules/queue-microtask": {
"version": "1.2.3",
"dev": true,
@@ -6158,6 +6905,28 @@
"safe-buffer": "^5.1.0"
}
},
+ "node_modules/rc": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "dependencies": {
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "bin": {
+ "rc": "cli.js"
+ }
+ },
+ "node_modules/rc/node_modules/strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/read-pkg": {
"version": "2.0.0",
"dev": true,
@@ -6194,6 +6963,25 @@
"node": ">=4"
}
},
+ "node_modules/readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/readable-stream/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
"node_modules/readdirp": {
"version": "3.5.0",
"dev": true,
@@ -6216,6 +7004,38 @@
"url": "https://github.com/sponsors/mysticatea"
}
},
+ "node_modules/request": {
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+ "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142",
+ "optional": true,
+ "dependencies": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/require-directory": {
"version": "2.1.1",
"dev": true,
@@ -6304,7 +7124,6 @@
},
"node_modules/safe-buffer": {
"version": "5.2.1",
- "dev": true,
"funding": [
{
"type": "github",
@@ -6321,6 +7140,16 @@
],
"license": "MIT"
},
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "node_modules/sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
+ },
"node_modules/semver": {
"version": "7.3.4",
"dev": true,
@@ -6345,7 +7174,6 @@
},
"node_modules/set-blocking": {
"version": "2.0.0",
- "dev": true,
"license": "ISC"
},
"node_modules/shebang-command": {
@@ -6367,6 +7195,11 @@
"node": ">=8"
}
},
+ "node_modules/signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
+ },
"node_modules/sinon": {
"version": "9.2.4",
"dev": true,
@@ -6516,6 +7349,65 @@
"dev": true,
"license": "BSD-3-Clause"
},
+ "node_modules/sqlite3": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.2.tgz",
+ "integrity": "sha512-1SdTNo+BVU211Xj1csWa8lV6KM0CtucDwRyA0VHl91wEH1Mgh7RxUpI4rVvG7OhHrzCSGaVyW5g8vKvlrk9DJA==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "node-addon-api": "^3.0.0",
+ "node-pre-gyp": "^0.11.0"
+ },
+ "optionalDependencies": {
+ "node-gyp": "3.x"
+ },
+ "peerDependencies": {
+ "node-gyp": "3.x"
+ },
+ "peerDependenciesMeta": {
+ "node-gyp": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/sshpk": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+ "optional": true,
+ "dependencies": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ },
+ "bin": {
+ "sshpk-conv": "bin/sshpk-conv",
+ "sshpk-sign": "bin/sshpk-sign",
+ "sshpk-verify": "bin/sshpk-verify"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/string_decoder/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
"node_modules/string-width": {
"version": "4.2.2",
"dev": true,
@@ -6628,6 +7520,17 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/tar": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz",
+ "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
+ "optional": true,
+ "dependencies": {
+ "block-stream": "*",
+ "fstream": "^1.0.12",
+ "inherits": "2"
+ }
+ },
"node_modules/text-table": {
"version": "0.2.0",
"dev": true,
@@ -6644,6 +7547,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==",
+ "optional": true,
+ "dependencies": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
"node_modules/ts-node": {
"version": "9.1.1",
"dev": true,
@@ -6710,6 +7626,24 @@
"typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
}
},
+ "node_modules/tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "optional": true,
+ "dependencies": {
+ "safe-buffer": "^5.0.1"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "optional": true
+ },
"node_modules/type-check": {
"version": "0.4.0",
"dev": true,
@@ -6762,12 +7696,26 @@
},
"node_modules/uri-js": {
"version": "4.4.1",
- "dev": true,
+ "devOptional": true,
"license": "BSD-2-Clause",
"dependencies": {
"punycode": "^2.1.0"
}
},
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ },
+ "node_modules/uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "optional": true,
+ "bin": {
+ "uuid": "bin/uuid"
+ }
+ },
"node_modules/v8-compile-cache": {
"version": "2.3.0",
"dev": true,
@@ -6782,6 +7730,20 @@
"spdx-expression-parse": "^3.0.0"
}
},
+ "node_modules/verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "engines": [
+ "node >=0.6.0"
+ ],
+ "optional": true,
+ "dependencies": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
"node_modules/which": {
"version": "2.0.2",
"dev": true,
@@ -6818,7 +7780,6 @@
},
"node_modules/wide-align": {
"version": "1.1.3",
- "dev": true,
"license": "ISC",
"dependencies": {
"string-width": "^1.0.2 || 2"
@@ -6826,7 +7787,6 @@
},
"node_modules/wide-align/node_modules/ansi-regex": {
"version": "3.0.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=4"
@@ -6834,7 +7794,6 @@
},
"node_modules/wide-align/node_modules/is-fullwidth-code-point": {
"version": "2.0.0",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">=4"
@@ -6842,7 +7801,6 @@
},
"node_modules/wide-align/node_modules/string-width": {
"version": "2.1.1",
- "dev": true,
"license": "MIT",
"dependencies": {
"is-fullwidth-code-point": "^2.0.0",
@@ -6854,7 +7812,6 @@
},
"node_modules/wide-align/node_modules/strip-ansi": {
"version": "4.0.0",
- "dev": true,
"license": "MIT",
"dependencies": {
"ansi-regex": "^3.0.0"
@@ -6936,7 +7893,6 @@
},
"node_modules/wrappy": {
"version": "1.0.2",
- "dev": true,
"license": "ISC"
},
"node_modules/y18n": {
@@ -7351,6 +8307,11 @@
"version": "1.1.2",
"dev": true
},
+ "abbrev": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
+ },
"acorn": {
"version": "7.4.1",
"dev": true
@@ -7362,7 +8323,7 @@
},
"ajv": {
"version": "6.12.6",
- "dev": true,
+ "devOptional": true,
"requires": {
"fast-deep-equal": "^3.1.1",
"fast-json-stable-stringify": "^2.0.0",
@@ -7393,6 +8354,20 @@
"picomatch": "^2.0.4"
}
},
+ "aproba": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
+ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+ },
+ "are-we-there-yet": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz",
+ "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==",
+ "requires": {
+ "delegates": "^1.0.0",
+ "readable-stream": "^2.0.6"
+ }
+ },
"arg": {
"version": "4.1.3",
"dev": true
@@ -7428,6 +8403,21 @@
"es-abstract": "^1.18.0-next.1"
}
},
+ "asn1": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
+ "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+ "optional": true,
+ "requires": {
+ "safer-buffer": "~2.1.0"
+ }
+ },
+ "assert-plus": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+ "optional": true
+ },
"assertion-error": {
"version": "1.1.0",
"dev": true
@@ -7436,17 +8426,51 @@
"version": "2.0.0",
"dev": true
},
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+ "optional": true
+ },
+ "aws-sign2": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+ "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+ "optional": true
+ },
+ "aws4": {
+ "version": "1.11.0",
+ "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz",
+ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==",
+ "optional": true
+ },
"balanced-match": {
- "version": "1.0.0",
- "dev": true
+ "version": "1.0.0"
+ },
+ "bcrypt-pbkdf": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
+ "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+ "optional": true,
+ "requires": {
+ "tweetnacl": "^0.14.3"
+ }
},
"binary-extensions": {
"version": "2.2.0",
"dev": true
},
+ "block-stream": {
+ "version": "0.0.9",
+ "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
+ "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
+ "optional": true,
+ "requires": {
+ "inherits": "~2.0.0"
+ }
+ },
"brace-expansion": {
"version": "1.1.11",
- "dev": true,
"requires": {
"balanced-match": "^1.0.0",
"concat-map": "0.0.1"
@@ -7483,6 +8507,12 @@
"version": "5.3.1",
"dev": true
},
+ "caseless": {
+ "version": "0.12.0",
+ "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+ "optional": true
+ },
"chai": {
"version": "4.3.3",
"dev": true,
@@ -7552,6 +8582,11 @@
"readdirp": "~3.5.0"
}
},
+ "chownr": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+ "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
+ },
"cliui": {
"version": "5.0.0",
"dev": true,
@@ -7591,6 +8626,11 @@
}
}
},
+ "code-point-at": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
+ "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
+ },
"color-convert": {
"version": "1.9.3",
"dev": true,
@@ -7602,18 +8642,36 @@
"version": "1.1.3",
"dev": true
},
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "optional": true,
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
"concat-map": {
- "version": "0.0.1",
- "dev": true
+ "version": "0.0.1"
},
"confusing-browser-globals": {
"version": "1.0.10",
"dev": true
},
+ "console-control-strings": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
+ },
"contains-path": {
"version": "0.1.0",
"dev": true
},
+ "core-util-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+ },
"create-require": {
"version": "1.1.1",
"dev": true
@@ -7634,6 +8692,15 @@
"which": "^2.0.1"
}
},
+ "dashdash": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+ "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+ "optional": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
"debug": {
"version": "4.3.1",
"dev": true,
@@ -7652,6 +8719,11 @@
"type-detect": "^4.0.0"
}
},
+ "deep-extend": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
+ "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
+ },
"deep-is": {
"version": "0.1.3",
"dev": true
@@ -7663,6 +8735,22 @@
"object-keys": "^1.0.12"
}
},
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+ "optional": true
+ },
+ "delegates": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
+ "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
+ },
+ "detect-libc": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
+ "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups="
+ },
"diff": {
"version": "4.0.2",
"dev": true
@@ -7681,6 +8769,16 @@
"esutils": "^2.0.2"
}
},
+ "ecc-jsbn": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
+ "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+ "optional": true,
+ "requires": {
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
"emoji-regex": {
"version": "8.0.0",
"dev": true
@@ -7972,9 +9070,21 @@
"version": "2.0.3",
"dev": true
},
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+ "optional": true
+ },
+ "extsprintf": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+ "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+ "optional": true
+ },
"fast-deep-equal": {
"version": "3.1.3",
- "dev": true
+ "devOptional": true
},
"fast-diff": {
"version": "1.2.0",
@@ -7994,7 +9104,7 @@
},
"fast-json-stable-stringify": {
"version": "2.1.0",
- "dev": true
+ "devOptional": true
},
"fast-levenshtein": {
"version": "2.0.6",
@@ -8044,9 +9154,56 @@
"version": "3.1.1",
"dev": true
},
+ "forever-agent": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+ "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+ "optional": true
+ },
+ "form-data": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+ "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+ "optional": true,
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.6",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "fs-minipass": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
+ "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
+ "requires": {
+ "minipass": "^2.6.0"
+ }
+ },
"fs.realpath": {
- "version": "1.0.0",
- "dev": true
+ "version": "1.0.0"
+ },
+ "fstream": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz",
+ "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==",
+ "optional": true,
+ "requires": {
+ "graceful-fs": "^4.1.2",
+ "inherits": "~2.0.0",
+ "mkdirp": ">=0.5 0",
+ "rimraf": "2"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "optional": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
+ }
},
"function-bind": {
"version": "1.1.1",
@@ -8056,6 +9213,54 @@
"version": "1.0.1",
"dev": true
},
+ "gauge": {
+ "version": "2.7.4",
+ "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
+ "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
+ "requires": {
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-unicode": "^2.0.0",
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+ },
+ "is-fullwidth-code-point": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+ "requires": {
+ "number-is-nan": "^1.0.0"
+ }
+ },
+ "string-width": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+ "requires": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+ "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+ "requires": {
+ "ansi-regex": "^2.0.0"
+ }
+ }
+ }
+ },
"get-caller-file": {
"version": "2.0.5",
"dev": true
@@ -8073,9 +9278,17 @@
"has-symbols": "^1.0.1"
}
},
+ "getpass": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+ "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+ "optional": true,
+ "requires": {
+ "assert-plus": "^1.0.0"
+ }
+ },
"glob": {
"version": "7.1.6",
- "dev": true,
"requires": {
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
@@ -8119,12 +9332,28 @@
},
"graceful-fs": {
"version": "4.2.6",
- "dev": true
+ "devOptional": true
},
"growl": {
"version": "1.10.5",
"dev": true
},
+ "har-schema": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+ "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+ "optional": true
+ },
+ "har-validator": {
+ "version": "5.1.5",
+ "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz",
+ "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==",
+ "optional": true,
+ "requires": {
+ "ajv": "^6.12.3",
+ "har-schema": "^2.0.0"
+ }
+ },
"has": {
"version": "1.0.3",
"dev": true,
@@ -8144,6 +9373,11 @@
"version": "1.0.2",
"dev": true
},
+ "has-unicode": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
+ "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
+ },
"he": {
"version": "1.2.0",
"dev": true
@@ -8152,10 +9386,37 @@
"version": "2.8.8",
"dev": true
},
+ "http-signature": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+ "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+ "optional": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "jsprim": "^1.2.2",
+ "sshpk": "^1.7.0"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
"ignore": {
"version": "5.1.8",
"dev": true
},
+ "ignore-walk": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz",
+ "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
+ "requires": {
+ "minimatch": "^3.0.4"
+ }
+ },
"import-fresh": {
"version": "3.3.0",
"dev": true,
@@ -8170,15 +9431,18 @@
},
"inflight": {
"version": "1.0.6",
- "dev": true,
"requires": {
"once": "^1.3.0",
"wrappy": "1"
}
},
"inherits": {
- "version": "2.0.4",
- "dev": true
+ "version": "2.0.4"
+ },
+ "ini": {
+ "version": "1.3.8",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
+ "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
},
"is-arrayish": {
"version": "0.2.1",
@@ -8267,13 +9531,24 @@
"has-symbols": "^1.0.1"
}
},
- "isarray": {
+ "is-typedarray": {
"version": "1.0.0",
- "dev": true
+ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+ "optional": true
+ },
+ "isarray": {
+ "version": "1.0.0"
},
"isexe": {
"version": "2.0.0",
- "dev": true
+ "devOptional": true
+ },
+ "isstream": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+ "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+ "optional": true
},
"js-tokens": {
"version": "4.0.0",
@@ -8287,9 +9562,21 @@
"esprima": "^4.0.0"
}
},
+ "jsbn": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+ "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+ "optional": true
+ },
+ "json-schema": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+ "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+ "optional": true
+ },
"json-schema-traverse": {
"version": "0.4.1",
- "dev": true
+ "devOptional": true
},
"json-stable-stringify-without-jsonify": {
"version": "1.0.1",
@@ -8297,7 +9584,7 @@
},
"json-stringify-safe": {
"version": "5.0.1",
- "dev": true
+ "devOptional": true
},
"json5": {
"version": "1.0.1",
@@ -8306,6 +9593,18 @@
"minimist": "^1.2.0"
}
},
+ "jsprim": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+ "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+ "optional": true,
+ "requires": {
+ "assert-plus": "1.0.0",
+ "extsprintf": "1.3.0",
+ "json-schema": "0.2.3",
+ "verror": "1.10.0"
+ }
+ },
"just-extend": {
"version": "4.1.1",
"dev": true
@@ -10670,16 +11969,61 @@
"picomatch": "^2.0.5"
}
},
+ "mime-db": {
+ "version": "1.47.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz",
+ "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==",
+ "optional": true
+ },
+ "mime-types": {
+ "version": "2.1.30",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz",
+ "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==",
+ "optional": true,
+ "requires": {
+ "mime-db": "1.47.0"
+ }
+ },
"minimatch": {
"version": "3.0.4",
- "dev": true,
"requires": {
"brace-expansion": "^1.1.7"
}
},
"minimist": {
- "version": "1.2.5",
- "dev": true
+ "version": "1.2.5"
+ },
+ "minipass": {
+ "version": "2.9.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
+ "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+ "requires": {
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.0"
+ },
+ "dependencies": {
+ "yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+ }
+ }
+ },
+ "minizlib": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
+ "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
+ "requires": {
+ "minipass": "^2.9.0"
+ }
+ },
+ "mkdirp": {
+ "version": "0.5.5",
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+ "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+ "requires": {
+ "minimist": "^1.2.5"
+ }
},
"mocha": {
"version": "8.2.1",
@@ -10778,8 +12122,7 @@
}
},
"ms": {
- "version": "2.1.2",
- "dev": true
+ "version": "2.1.2"
},
"nanoid": {
"version": "3.1.12",
@@ -10789,6 +12132,26 @@
"version": "1.4.0",
"dev": true
},
+ "needle": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/needle/-/needle-2.6.0.tgz",
+ "integrity": "sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg==",
+ "requires": {
+ "debug": "^3.2.6",
+ "iconv-lite": "^0.4.4",
+ "sax": "^1.2.4"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ }
+ }
+ },
"nise": {
"version": "4.1.0",
"dev": true,
@@ -10810,6 +12173,126 @@
"propagate": "^2.0.0"
}
},
+ "node-addon-api": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.1.0.tgz",
+ "integrity": "sha512-flmrDNB06LIl5lywUz7YlNGZH/5p0M7W28k8hzd9Lshtdh1wshD2Y+U4h9LD6KObOy1f+fEVdgprPrEymjM5uw=="
+ },
+ "node-gyp": {
+ "version": "3.8.0",
+ "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz",
+ "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==",
+ "optional": true,
+ "requires": {
+ "fstream": "^1.0.0",
+ "glob": "^7.0.3",
+ "graceful-fs": "^4.1.2",
+ "mkdirp": "^0.5.0",
+ "nopt": "2 || 3",
+ "npmlog": "0 || 1 || 2 || 3 || 4",
+ "osenv": "0",
+ "request": "^2.87.0",
+ "rimraf": "2",
+ "semver": "~5.3.0",
+ "tar": "^2.0.0",
+ "which": "1"
+ },
+ "dependencies": {
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "optional": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "semver": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz",
+ "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=",
+ "optional": true
+ },
+ "which": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+ "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "optional": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ }
+ }
+ },
+ "node-pre-gyp": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.11.0.tgz",
+ "integrity": "sha512-TwWAOZb0j7e9eGaf9esRx3ZcLaE5tQ2lvYy1pb5IAaG1a2e2Kv5Lms1Y4hpj+ciXJRofIxxlt5haeQ/2ANeE0Q==",
+ "requires": {
+ "detect-libc": "^1.0.2",
+ "mkdirp": "^0.5.1",
+ "needle": "^2.2.1",
+ "nopt": "^4.0.1",
+ "npm-packlist": "^1.1.6",
+ "npmlog": "^4.0.2",
+ "rc": "^1.2.7",
+ "rimraf": "^2.6.1",
+ "semver": "^5.3.0",
+ "tar": "^4"
+ },
+ "dependencies": {
+ "nopt": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
+ "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+ "requires": {
+ "abbrev": "1",
+ "osenv": "^0.1.4"
+ }
+ },
+ "rimraf": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ },
+ "tar": {
+ "version": "4.4.13",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
+ "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
+ "requires": {
+ "chownr": "^1.1.1",
+ "fs-minipass": "^1.2.5",
+ "minipass": "^2.8.6",
+ "minizlib": "^1.2.1",
+ "mkdirp": "^0.5.0",
+ "safe-buffer": "^5.1.2",
+ "yallist": "^3.0.3"
+ }
+ },
+ "yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+ }
+ }
+ },
+ "nopt": {
+ "version": "3.0.6",
+ "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+ "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+ "optional": true,
+ "requires": {
+ "abbrev": "1"
+ }
+ },
"normalize-package-data": {
"version": "2.5.0",
"dev": true,
@@ -10830,6 +12313,56 @@
"version": "3.0.0",
"dev": true
},
+ "npm-bundled": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
+ "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
+ "requires": {
+ "npm-normalize-package-bin": "^1.0.1"
+ }
+ },
+ "npm-normalize-package-bin": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
+ "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA=="
+ },
+ "npm-packlist": {
+ "version": "1.4.8",
+ "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz",
+ "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==",
+ "requires": {
+ "ignore-walk": "^3.0.1",
+ "npm-bundled": "^1.0.1",
+ "npm-normalize-package-bin": "^1.0.1"
+ }
+ },
+ "npmlog": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
+ "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
+ "requires": {
+ "are-we-there-yet": "~1.1.2",
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.7.3",
+ "set-blocking": "~2.0.0"
+ }
+ },
+ "number-is-nan": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
+ },
+ "oauth-sign": {
+ "version": "0.9.0",
+ "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+ "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+ "optional": true
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+ },
"object-inspect": {
"version": "1.9.0",
"dev": true
@@ -10870,7 +12403,6 @@
},
"once": {
"version": "1.4.0",
- "dev": true,
"requires": {
"wrappy": "1"
}
@@ -10887,6 +12419,25 @@
"word-wrap": "^1.2.3"
}
},
+ "os-homedir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+ "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
+ },
+ "os-tmpdir": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+ "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
+ },
+ "osenv": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+ "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+ "requires": {
+ "os-homedir": "^1.0.0",
+ "os-tmpdir": "^1.0.0"
+ }
+ },
"p-limit": {
"version": "1.3.0",
"dev": true,
@@ -10924,8 +12475,7 @@
"dev": true
},
"path-is-absolute": {
- "version": "1.0.1",
- "dev": true
+ "version": "1.0.1"
},
"path-key": {
"version": "3.1.1",
@@ -10956,6 +12506,12 @@
"version": "1.1.1",
"dev": true
},
+ "performance-now": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+ "optional": true
+ },
"picomatch": {
"version": "2.2.2",
"dev": true
@@ -10986,6 +12542,11 @@
"fast-diff": "^1.1.2"
}
},
+ "process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ },
"progress": {
"version": "2.0.3",
"dev": true
@@ -10994,9 +12555,21 @@
"version": "2.0.1",
"dev": true
},
+ "psl": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz",
+ "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==",
+ "optional": true
+ },
"punycode": {
"version": "2.1.1",
- "dev": true
+ "devOptional": 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==",
+ "optional": true
},
"queue-microtask": {
"version": "1.2.3",
@@ -11013,6 +12586,24 @@
"safe-buffer": "^5.1.0"
}
},
+ "rc": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
+ "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
+ "requires": {
+ "deep-extend": "^0.6.0",
+ "ini": "~1.3.0",
+ "minimist": "^1.2.0",
+ "strip-json-comments": "~2.0.1"
+ },
+ "dependencies": {
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
+ }
+ }
+ },
"read-pkg": {
"version": "2.0.0",
"dev": true,
@@ -11039,6 +12630,27 @@
"read-pkg": "^2.0.0"
}
},
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ }
+ }
+ },
"readdirp": {
"version": "3.5.0",
"dev": true,
@@ -11050,6 +12662,34 @@
"version": "3.1.0",
"dev": true
},
+ "request": {
+ "version": "2.88.2",
+ "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz",
+ "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==",
+ "optional": true,
+ "requires": {
+ "aws-sign2": "~0.7.0",
+ "aws4": "^1.8.0",
+ "caseless": "~0.12.0",
+ "combined-stream": "~1.0.6",
+ "extend": "~3.0.2",
+ "forever-agent": "~0.6.1",
+ "form-data": "~2.3.2",
+ "har-validator": "~5.1.3",
+ "http-signature": "~1.2.0",
+ "is-typedarray": "~1.0.0",
+ "isstream": "~0.1.2",
+ "json-stringify-safe": "~5.0.1",
+ "mime-types": "~2.1.19",
+ "oauth-sign": "~0.9.0",
+ "performance-now": "^2.1.0",
+ "qs": "~6.5.2",
+ "safe-buffer": "^5.1.2",
+ "tough-cookie": "~2.5.0",
+ "tunnel-agent": "^0.6.0",
+ "uuid": "^3.3.2"
+ }
+ },
"require-directory": {
"version": "2.1.1",
"dev": true
@@ -11093,8 +12733,17 @@
}
},
"safe-buffer": {
- "version": "5.2.1",
- "dev": true
+ "version": "5.2.1"
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "sax": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"semver": {
"version": "7.3.4",
@@ -11111,8 +12760,7 @@
}
},
"set-blocking": {
- "version": "2.0.0",
- "dev": true
+ "version": "2.0.0"
},
"shebang-command": {
"version": "2.0.0",
@@ -11125,6 +12773,11 @@
"version": "3.0.0",
"dev": true
},
+ "signal-exit": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
+ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="
+ },
"sinon": {
"version": "9.2.4",
"dev": true,
@@ -11228,6 +12881,48 @@
"version": "1.0.3",
"dev": true
},
+ "sqlite3": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.0.2.tgz",
+ "integrity": "sha512-1SdTNo+BVU211Xj1csWa8lV6KM0CtucDwRyA0VHl91wEH1Mgh7RxUpI4rVvG7OhHrzCSGaVyW5g8vKvlrk9DJA==",
+ "requires": {
+ "node-addon-api": "^3.0.0",
+ "node-gyp": "3.x",
+ "node-pre-gyp": "^0.11.0"
+ }
+ },
+ "sshpk": {
+ "version": "1.16.1",
+ "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
+ "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+ "optional": true,
+ "requires": {
+ "asn1": "~0.2.3",
+ "assert-plus": "^1.0.0",
+ "bcrypt-pbkdf": "^1.0.0",
+ "dashdash": "^1.12.0",
+ "ecc-jsbn": "~0.1.1",
+ "getpass": "^0.1.1",
+ "jsbn": "~0.1.0",
+ "safer-buffer": "^2.0.2",
+ "tweetnacl": "~0.14.0"
+ }
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ },
+ "dependencies": {
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ }
+ }
+ },
"string-width": {
"version": "4.2.2",
"dev": true,
@@ -11301,6 +12996,17 @@
}
}
},
+ "tar": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz",
+ "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==",
+ "optional": true,
+ "requires": {
+ "block-stream": "*",
+ "fstream": "^1.0.12",
+ "inherits": "2"
+ }
+ },
"text-table": {
"version": "0.2.0",
"dev": true
@@ -11312,6 +13018,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==",
+ "optional": true,
+ "requires": {
+ "psl": "^1.1.28",
+ "punycode": "^2.1.1"
+ }
+ },
"ts-node": {
"version": "9.1.1",
"dev": true,
@@ -11355,6 +13071,21 @@
"tslib": "^1.8.1"
}
},
+ "tunnel-agent": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+ "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+ "optional": true,
+ "requires": {
+ "safe-buffer": "^5.0.1"
+ }
+ },
+ "tweetnacl": {
+ "version": "0.14.5",
+ "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+ "optional": true
+ },
"type-check": {
"version": "0.4.0",
"dev": true,
@@ -11386,11 +13117,22 @@
},
"uri-js": {
"version": "4.4.1",
- "dev": true,
+ "devOptional": true,
"requires": {
"punycode": "^2.1.0"
}
},
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+ },
+ "uuid": {
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+ "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
+ "optional": true
+ },
"v8-compile-cache": {
"version": "2.3.0",
"dev": true
@@ -11403,6 +13145,17 @@
"spdx-expression-parse": "^3.0.0"
}
},
+ "verror": {
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+ "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+ "optional": true,
+ "requires": {
+ "assert-plus": "^1.0.0",
+ "core-util-is": "1.0.2",
+ "extsprintf": "^1.2.0"
+ }
+ },
"which": {
"version": "2.0.2",
"dev": true,
@@ -11427,22 +13180,18 @@
},
"wide-align": {
"version": "1.1.3",
- "dev": true,
"requires": {
"string-width": "^1.0.2 || 2"
},
"dependencies": {
"ansi-regex": {
- "version": "3.0.0",
- "dev": true
+ "version": "3.0.0"
},
"is-fullwidth-code-point": {
- "version": "2.0.0",
- "dev": true
+ "version": "2.0.0"
},
"string-width": {
"version": "2.1.1",
- "dev": true,
"requires": {
"is-fullwidth-code-point": "^2.0.0",
"strip-ansi": "^4.0.0"
@@ -11450,7 +13199,6 @@
},
"strip-ansi": {
"version": "4.0.0",
- "dev": true,
"requires": {
"ansi-regex": "^3.0.0"
}
@@ -11505,8 +13253,7 @@
}
},
"wrappy": {
- "version": "1.0.2",
- "dev": true
+ "version": "1.0.2"
},
"y18n": {
"version": "4.0.1",
diff --git a/package.json b/package.json
index 81420e2..d409633 100644
--- a/package.json
+++ b/package.json
@@ -34,5 +34,6 @@
},
"dependencies": {
"listener-rss": "file:../listener-rss"
+ "sqlite3": "^5.0.2"
}
}
diff --git a/src/manage-listener.ts b/src/manage-listener.ts
index 6b60032..1a44932 100644
--- a/src/manage-listener.ts
+++ b/src/manage-listener.ts
@@ -22,21 +22,20 @@ export class ManageListener extends EventEmitter {
constructor(info?: ManageListenerInfo) {
super();
if (info) {
+ if (info.timeloop) {
+ this.timeloop = info.timeloop;
+ }
if (info.path) {
const fs = require("fs");
const tmp = fs.readFileSync(info.path);
const configs: ListenerRSSInfos[] = JSON.parse(tmp);
configs.forEach((config) => this.addNewListener(config));
}
- if (info.timeloop) {
- this.timeloop = info.timeloop;
- this.buffUpdates = [];
- }
}
}
settingEvents(newListener: ListenerRss): void {
- if (this.timeloop) {
+ if (this.timeloop !== undefined) {
newListener.on("update", (obj) => this.buffUpdates.push(obj));
newListener.on("newEntries", (obj) => this.buffNewEntries.push(obj));
// /!\ todo /!\ threat error with aggregation
@@ -74,7 +73,13 @@ export class ManageListener extends EventEmitter {
if (this.timeloop) {
const fun: () => void = async () => {
this.emit("update", this.buffUpdates);
- this.emit("newEntries", this.buffNewEntries);
+ if (this.buffNewEntries.length) {
+ console.log(this.buffNewEntries.length);
+ this.emit("newEntries", this.buffNewEntries);
+ }
+
+ this.buffUpdates = [];
+ this.buffNewEntries = [];
};
(async () => {
diff --git a/tests/RessourcesTest/FakeRessources/save.json b/tests/RessourcesTest/FakeRessources/save.json
index 5c101f9..801bed8 100644
--- a/tests/RessourcesTest/FakeRessources/save.json
+++ b/tests/RessourcesTest/FakeRessources/save.json
@@ -1 +1,56 @@
-[{"address":"fake.rss.service.1","customfields":{"media:group":["media:group"]},"lastEntriesLinks":[],"timeloop":10},{"address":"fake.rss.service.2","customfields":{"media:group":["media:group"]},"lastEntriesLinks":[],"timeloop":20},{"address":"fake.rss.service.3","customfields":{"media:group":["media:group"]},"lastEntriesLinks":[],"timeloop":30},{"address":"fake.rss.service.4","customfields":{"media:group":["media:group"]},"lastEntriesLinks":[],"timeloop":40},{"address":"fake.rss.service.5","customfields":{"media:group":["media:group"]},"lastEntriesLinks":[],"timeloop":50},{"address":"fake.rss.service.6","customfields":{"media:group":["media:group"]},"lastEntriesLinks":[],"timeloop":60},{"address":"fake.rss.service.7","customfields":{"media:group":["media:group"]},"lastEntriesLinks":[],"timeloop":70},{"address":"fake.rss.service.8","customfields":{"media:group":["media:group"]},"lastEntriesLinks":[],"timeloop":80},{"address":"fake.rss.service.9","customfields":{"media:group":["media:group"]},"lastEntriesLinks":[],"timeloop":90}]
\ No newline at end of file
+[
+ {
+ "address": "fake.rss.service.1",
+ "customfields": { "media:group": ["media:group"] },
+ "lastEntriesLinks": [],
+ "timeloop": 10
+ },
+ {
+ "address": "fake.rss.service.2",
+ "customfields": { "media:group": ["media:group"] },
+ "lastEntriesLinks": [],
+ "timeloop": 20
+ },
+ {
+ "address": "fake.rss.service.3",
+ "customfields": { "media:group": ["media:group"] },
+ "lastEntriesLinks": [],
+ "timeloop": 30
+ },
+ {
+ "address": "fake.rss.service.4",
+ "customfields": { "media:group": ["media:group"] },
+ "lastEntriesLinks": [],
+ "timeloop": 40
+ },
+ {
+ "address": "fake.rss.service.5",
+ "customfields": { "media:group": ["media:group"] },
+ "lastEntriesLinks": [],
+ "timeloop": 50
+ },
+ {
+ "address": "fake.rss.service.6",
+ "customfields": { "media:group": ["media:group"] },
+ "lastEntriesLinks": [],
+ "timeloop": 60
+ },
+ {
+ "address": "fake.rss.service.7",
+ "customfields": { "media:group": ["media:group"] },
+ "lastEntriesLinks": [],
+ "timeloop": 70
+ },
+ {
+ "address": "fake.rss.service.8",
+ "customfields": { "media:group": ["media:group"] },
+ "lastEntriesLinks": [],
+ "timeloop": 80
+ },
+ {
+ "address": "fake.rss.service.9",
+ "customfields": { "media:group": ["media:group"] },
+ "lastEntriesLinks": [],
+ "timeloop": 90
+ }
+]
diff --git a/tests/RessourcesTest/RealRessources/UCOuIgj0CYCXCvjWywjDbauw.rss b/tests/RessourcesTest/RealRessources/UCOuIgj0CYCXCvjWywjDbauw.rss
index 17c2a26..a22ed07 100644
--- a/tests/RessourcesTest/RealRessources/UCOuIgj0CYCXCvjWywjDbauw.rss
+++ b/tests/RessourcesTest/RealRessources/UCOuIgj0CYCXCvjWywjDbauw.rss
@@ -10,50 +10,6 @@
https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
2018-08-17T18:48:53+00:00
-
- yt:video:CCnXUShhmEc
- CCnXUShhmEc
- UCOuIgj0CYCXCvjWywjDbauw
- L'ERREUR des scientifiques débutants
-
-
- Chat Sceptique
- https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
-
- 2021-03-02T17:45:00+00:00
- 2021-03-18T18:22:45+00:00
-
- L'ERREUR des scientifiques débutants
-
-
- Le scientifique débutant n'arrive souvent pas à analyser ses données. Pourtant, il comprend souvent très bien ce qu'est un histogramme, une moyenne ou une p-valeur. Le souci, c'est l'étape AVANT analyse, trop souvent sous-estimée.
-
-Ressources :
-L'UCLouvain, la plus grande université francophone de Belgique, qui sponsorise cette vidéo : https://uclouvain.be/fr/index.html
-(j'y ai fait ma thèse !)
-Le Louvain Learning Lab (LLL) :
-https://uclouvain.be/fr/etudier/lll
-Le livre d'Eurostat dont j'ai tiré la carte sur l'accès des ménages à l'Internet rapide en Europe :
-https://www.interreg-baltic.eu/fileadmin/user_upload/News/2015_all_news/201510_October/KS-HA-15-001-EN-N.pdf
-La vidéo de Scilabus : https://www.youtube.com/watch?v=pcHXm4Z4zJ4
-L'étude de 2016 sur la sexualité de la jeunesse suédoise : https://sci-hub.se/https://www.tandfonline.com/doi/abs/10.1080/00224499.2016.1167814
-L'internaute qui enregistre ses sessions masturbatoires :
-https://www.reddit.com/r/dataisbeautiful/comments/47elmc/i_recorded_my_masturbation_habits_for_the_third/
-Les musiques : https://freemusicarchive.org/music/Bio_Unit/aerostat
-
-
-Vous avez aimé cet épisode ? N'oubliez pas de maintenir la gamelle du Chat Sceptique remplie !
-uTip - https://utip.io/chatsceptique
-Tipeee - https://fr.tipeee.com/chatsceptique
-
-La vidéo idiote de fin de description (des chats qui jouent dans la neige !)
-https://www.youtube.com/watch?v=AA78yiOygcQ
-
-
-
-
-
-
yt:video:aLcfWq7t6Cw
aLcfWq7t6Cw
diff --git a/tests/RessourcesTest/RealRessources/UCY7klexd1qEqxgqYK6W7BVQ.rss b/tests/RessourcesTest/RealRessources/UCY7klexd1qEqxgqYK6W7BVQ.rss
index 00ffa85..5497fd9 100644
--- a/tests/RessourcesTest/RealRessources/UCY7klexd1qEqxgqYK6W7BVQ.rss
+++ b/tests/RessourcesTest/RealRessources/UCY7klexd1qEqxgqYK6W7BVQ.rss
@@ -10,48 +10,6 @@
https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
2012-11-01T11:37:03+00:00
-
- yt:video:OYDEiQTAIj8
- OYDEiQTAIj8
- UCY7klexd1qEqxgqYK6W7BVQ
- Je triche à Mot de Passe sur France 2 ! - Clément FREZE
-
-
- Clément FREZE - Mentaliste
- https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
-
- 2021-01-17T15:05:44+00:00
- 2021-03-29T15:06:04+00:00
-
- Je triche à Mot de Passe sur France 2 ! - Clément FREZE
-
-
- OUI FAKE-UP ARRIVE !
-Comme vous le savez, j'ai récemment participé à l'émission « Mot de Passe » sur France 2.
-Mais ce que vous ne savez pas, c'est que mes mauvaises réponses dans le jeu ont été délibérément voulues par la production afin que je ne sois pas (je cite) : « Trop bon ! »
-Voilà ce qui a été coupé au montage, voilà la véritude !
-Nous sachons !
-
-Retrouvez mes passages dans l'émission ici : https://www.youtube.com/playlist?list=PLpdxyRSnvDlfeKO5rAuDrUiIGnbUf_LnE
-Et merci ma Lolo ! ❤️
-
-Amitiés
-
-CF
-
----
-
-Tipeee : https://fr.tipeee.com/clementfreze
-Facebook : https://www.facebook.com/clementfreze/
-Twitter : https://twitter.com/clementfreze
-Instagram : https://www.instagram.com/clementfreze
-Site Internet : http://clementfreze.fr/
-
-
-
-
-
-
yt:video:6TcnLd0faXk
6TcnLd0faXk
diff --git a/tests/RessourcesTest/RealRessources/UCh2YBKhYIy-_LtfCIn2Jycg.rss b/tests/RessourcesTest/RealRessources/UCh2YBKhYIy-_LtfCIn2Jycg.rss
index a3ba932..04b7f38 100644
--- a/tests/RessourcesTest/RealRessources/UCh2YBKhYIy-_LtfCIn2Jycg.rss
+++ b/tests/RessourcesTest/RealRessources/UCh2YBKhYIy-_LtfCIn2Jycg.rss
@@ -10,79 +10,6 @@
https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
2013-06-28T23:17:09+00:00
-
- yt:video:g7m5-auOUDM
- g7m5-auOUDM
- UCh2YBKhYIy-_LtfCIn2Jycg
- ❓ Introduction à l'alternative sceptique • Méthode Z #1
-
-
- Mr. Sam - Point d'interrogation
- https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
-
- 2021-03-19T16:48:35+00:00
- 2021-03-24T15:28:52+00:00
-
- ❓ Introduction à l'alternative sceptique • Méthode Z #1
-
-
- Les médias traditionnels comme les médias alternatifs déçoivent par leur manque de fiabilité. Et s'il existait une alternative à ces deux sources d'information ?
-
-P O U R B O I R E
-Tipeee & autres plateformes (Merci à vous !!!)
-http://www.s-cape.biz/mrsam/index.html
-https://en.tipeee.com/mrsam
-https://www.patreon.com/mrsam
-https://www.utip.io/mrsam
-http://s-cape.biz/mrsam/btc.html
-
-S U I V R E
-https://www.facebook.com/samuelbuisseret/
-https://twitter.com/MrSam144
-https://www.instagram.com/Mr.Sam144/
-
-0:00 Intro
-0:57 État des lieux
-1:58 La troisième alternative, incomprise
-3:50 Définition de ce qu'est la communauté sceptique
-4:33 Le sceptique idéal
-5:30 Les dangers de la méthode populaire
-6:08 Les informations contrôlées (illustration)
-7:03 Quand on ne connait pas l'autodéfense intellectuelle
-7:37 Vrai et faux sceptique ?
-8:08 Les sceptiques sur les réseaux sociaux
-9:05 Le scepticisme antique
-10:44 C'est quoi la communauté sceptique alors ?
-11:54 Aucun sceptique n'a raison
-12:07 Un peu trop peu
-12:59 Ce que ça change dans la vie
-13:35 Ce qui intéresse le sceptique idéal
-14:19 Outro
-
-E R R A T U M
-
-Jusqu'ici, tout va bien :)
-
-S O U R C E S
-
-Les sources potentiellement contrôlées:
-https://en.wikipedia.org/wiki/Warranting_theory
-https://journals.sagepub.com/doi/abs/10.1177/0093650215573862
-https://doi.org/10.1016/S0306-4573(02)00032-8
-
-Biais et heuristiques
-https://fr.wikipedia.org/wiki/Heuristique_de_jugement#Exemples
-
-Le scepticisme philosophique
-https://fr.wikipedia.org/wiki/Scepticisme_(philosophie)
-
-#mrsam144 #methodeZ #zetetique
-
-
-
-
-
-
yt:video:2-cGksQf-w8
2-cGksQf-w8
diff --git a/tests/RessourcesTest/RealRessources/WithUpdate/UCOuIgj0CYCXCvjWywjDbauw.rss b/tests/RessourcesTest/RealRessources/WithUpdate/UCOuIgj0CYCXCvjWywjDbauw.rss
new file mode 100644
index 0000000..17c2a26
--- /dev/null
+++ b/tests/RessourcesTest/RealRessources/WithUpdate/UCOuIgj0CYCXCvjWywjDbauw.rss
@@ -0,0 +1,639 @@
+
+
+
+ yt:channel:UCOuIgj0CYCXCvjWywjDbauw
+ UCOuIgj0CYCXCvjWywjDbauw
+ Chat Sceptique
+
+
+ Chat Sceptique
+ https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
+
+ 2018-08-17T18:48:53+00:00
+
+ yt:video:CCnXUShhmEc
+ CCnXUShhmEc
+ UCOuIgj0CYCXCvjWywjDbauw
+ L'ERREUR des scientifiques débutants
+
+
+ Chat Sceptique
+ https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
+
+ 2021-03-02T17:45:00+00:00
+ 2021-03-18T18:22:45+00:00
+
+ L'ERREUR des scientifiques débutants
+
+
+ Le scientifique débutant n'arrive souvent pas à analyser ses données. Pourtant, il comprend souvent très bien ce qu'est un histogramme, une moyenne ou une p-valeur. Le souci, c'est l'étape AVANT analyse, trop souvent sous-estimée.
+
+Ressources :
+L'UCLouvain, la plus grande université francophone de Belgique, qui sponsorise cette vidéo : https://uclouvain.be/fr/index.html
+(j'y ai fait ma thèse !)
+Le Louvain Learning Lab (LLL) :
+https://uclouvain.be/fr/etudier/lll
+Le livre d'Eurostat dont j'ai tiré la carte sur l'accès des ménages à l'Internet rapide en Europe :
+https://www.interreg-baltic.eu/fileadmin/user_upload/News/2015_all_news/201510_October/KS-HA-15-001-EN-N.pdf
+La vidéo de Scilabus : https://www.youtube.com/watch?v=pcHXm4Z4zJ4
+L'étude de 2016 sur la sexualité de la jeunesse suédoise : https://sci-hub.se/https://www.tandfonline.com/doi/abs/10.1080/00224499.2016.1167814
+L'internaute qui enregistre ses sessions masturbatoires :
+https://www.reddit.com/r/dataisbeautiful/comments/47elmc/i_recorded_my_masturbation_habits_for_the_third/
+Les musiques : https://freemusicarchive.org/music/Bio_Unit/aerostat
+
+
+Vous avez aimé cet épisode ? N'oubliez pas de maintenir la gamelle du Chat Sceptique remplie !
+uTip - https://utip.io/chatsceptique
+Tipeee - https://fr.tipeee.com/chatsceptique
+
+La vidéo idiote de fin de description (des chats qui jouent dans la neige !)
+https://www.youtube.com/watch?v=AA78yiOygcQ
+
+
+
+
+
+
+
+ yt:video:aLcfWq7t6Cw
+ aLcfWq7t6Cw
+ UCOuIgj0CYCXCvjWywjDbauw
+ Vaccins et biais de la victime IDENTIFIABLE
+
+
+ Chat Sceptique
+ https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
+
+ 2021-01-22T16:18:18+00:00
+ 2021-01-29T10:49:55+00:00
+
+ Vaccins et biais de la victime IDENTIFIABLE
+
+
+ Beaucoup de moins de 30 ans voire moins de 40 ans me disent que ce n’est pas dans l’intérêt de leur génération de se faire vacciner contre le coronavirus. Le virus tuant surtout "les vieux", pourquoi les jeunes devraient-ils prendre le risque d’un vaccin ? Voici ma réponse.
+
+Mille mercis aux chatons sceptiques qui m’ont donné leur avis et conseillé dans la rédaction du script de cette (courte) vidéo.
+https://www.facebook.com/groups/890137121364437
+
+Un merci tout particulier à Pauline (alias La mal biaisée) grâce à qui j’ai découvert le livre « Économie du bien commun ».
+https://www.youtube.com/channel/UCY2w3Jdy5e65LZUepePht0g
+
+Ressources :
+https://cress-umr1153.fr/covid_vaccines/
+https://www.puf.com/content/%C3%89conomie_du_bien_commun
+https://en.wikipedia.org/wiki/Jean_Tirole
+
+Vous pensez que ce que je fais est bien ? Donnez-moi les moyens de continuer !
+uTip - https://utip.io/chatsceptique
+Tipeee - https://fr.tipeee.com/chatsceptique
+
+
+
+
+
+
+
+ yt:video:hOWB7o6XUSU
+ hOWB7o6XUSU
+ UCOuIgj0CYCXCvjWywjDbauw
+ Scénario sans vaccins VS scénario avec vaccin : qui gagne ?
+
+
+ Chat Sceptique
+ https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
+
+ 2021-01-06T16:19:02+00:00
+ 2021-01-29T11:04:20+00:00
+
+ Scénario sans vaccins VS scénario avec vaccin : qui gagne ?
+
+
+ Des centaines de millions de personnes dans le monde seront vaccinées en 2021. Avec quelles conséquences ?
+
+Ressources :
+
+L'ouverture de l'épisode m'a été inspirée par Vlanx, l'un de mes vidéastes favoris du moment :
+https://www.youtube.com/watch?v=aBqQPcUtmnk
+Les morts en France :
+https://www.insee.fr/fr/statistiques/serie/000436394#Telechargement
+Les morts dans le monde :
+https://www.who.int/news-room/fact-sheets/detail/the-top-10-causes-of-death
+La vidéo sur les vaccins de la chaine "In a Nutshell" : https://www.youtube.com/watch?v=zBkVCpbNnkU
+Les effets de la COVID-19 sur l'être humain :
+https://science.sciencemag.org/content/369/6500/208
+https://en.wikipedia.org/wiki/Coronavirus_disease_2019#Prognosis
+Le développement des vaccins contre la COVID-19 :
+https://en.wikipedia.org/wiki/COVID-19_vaccine
+À propos de celui de Pfizer :
+https://en.wikipedia.org/wiki/Tozinameran
+https://www.nejm.org/doi/full/10.1056/NEJMoa2034577
+https://pubmed.ncbi.nlm.nih.gov/33301246/
+https://www.rtbf.be/info/dossier/epidemie-de-coronavirus/detail_vaccin-de-pfizer-biontech-contre-le-coronavirus-que-dit-la-notice-detaillee?id=10649769
+Comparaison de 10000 vaccinés versus 10000 malades par tranche d'âge, une ressource hélas découverte après la vidéo (sinon je l'aurais incluse dans la vidéo !) On peut aussi y voir les effets attendus du vaccin Moderna :
+https://cress-umr1153.fr/covid_vaccines/?fbclid=IwAR3ISANgQ0qn7IXcNflpji3sseoBKIxzlNmqmrxQO8x1wAbYG8ucm3-p16s
+Le livre de Muriel : http://www.editions-ulb.be/fr/book/?gcoi=74530100555340
+Les musiques de la vidéo, par Ketsa :
+https://freemusicarchive.org/music/Ketsa/1-of-1/whiskey-waltz
+https://freemusicarchive.org/music/Ketsa/abundance/upper-levels
+
+Autres ressources :
+https://www.statnews.com/2020/12/17/calculating-our-way-to-herd-immunity/
+https://www.youtube.com/watch?v=fH7rHR_dJbk
+
+Vous avez aimé cet épisode ? N'oubliez pas de maintenir la gamelle du Chat Sceptique remplie !
+uTip - https://utip.io/chatsceptique
+Tipeee - https://fr.tipeee.com/chatsceptique
+
+Tu es sérieusement allé jusqu'à la fin de la description, respect. Voici une vidéo idiote avec des chats en guise de récompense : https://www.youtube.com/watch?v=_t773h9UolY
+
+
+
+
+
+
+
+ yt:video:xhxok5nZsVI
+ xhxok5nZsVI
+ UCOuIgj0CYCXCvjWywjDbauw
+ L'ULTIME méthode de comparaison en science
+
+
+ Chat Sceptique
+ https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
+
+ 2020-12-01T17:30:03+00:00
+ 2020-12-14T16:53:42+00:00
+
+ L'ULTIME méthode de comparaison en science
+
+
+ À ressources égales, tous les scientifiques ne vont pas réussir à faire autant de découvertes. Certains vont en faire beaucoup. D'autres, moins. Et puis bien sûr, il y a ceux qui font faire de la merde malgré de parfois beaux diplômes. Un point de séparation important de tout ce monde ? Les méthodes employées.
+
+Retrouvez toutes les sources (il en a beaucoup !) de la vidéo du jour en libre accès sur
+https://fr.tipeee.com/chatsceptique/news/102286
+
+Vous avez aimé cet épisode ? N'oubliez pas de maintenir la gamelle du Chat Sceptique remplie !
+uTip - https://utip.io/chatsceptique
+Tipeee - https://fr.tipeee.com/chatsceptique
+
+Pour la vidéo idiote avec des chats que je cache toujours en fin de description, rdv sur Tipeee ;-)
+
+
+
+
+
+
+
+ yt:video:y1d12A0C9tQ
+ y1d12A0C9tQ
+ UCOuIgj0CYCXCvjWywjDbauw
+ Bientôt 8 milliards d’humains. Savez-vous où sur Terre ? (c’est pas si simple !)
+
+
+ Chat Sceptique
+ https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
+
+ 2020-10-22T18:00:07+00:00
+ 2020-12-28T10:42:04+00:00
+
+ Bientôt 8 milliards d’humains. Savez-vous où sur Terre ? (c’est pas si simple !)
+
+
+ C’est un vieux problème. Où se concentrent les humains à la surface de la Terre ? On sait bien sûr qu’il y a davantage de gens en Asie qu’en Europe par exemple, mais la position en temps réel des gens, même par paquet de 1000 personnes, demeure une inconnue aussi bien en Europe qu'en Asie. Pourtant, si on veut efficacement aider les gens en cas de famine, de pandémie, de guerre ou de catastrophe naturelle, savoir où se trouvent les gens est essentiel !
+
+À la recherche des nombreuses cartes présentées dans l'épisode du jour ? Il y a beaucoup trop pour placer tout ça en description, j'ai donc tout centralisé sur Tipeee, ainsi que des choses supplémentaires non présentées dans l'épisode. Bonne découverte !
+https://fr.tipeee.com/chatsceptique/news/98259
+
+Musiques :
+1/ Tape & Water (par Daniel Birch)
+https://freemusicarchive.org/music/Daniel_Birch/Ambient_Experiments_With_A_Yamaha_PortaSound_PSS-140/LANDR-Tape__Water
+2/ Oxygen Garden (par Chris Zabriskie)
+https://www.youtube.com/watch?v=3tRFVyD51pQ
+
+Vous avez aimé cet épisode ? N'oubliez pas de maintenir la gamelle du Chat Sceptique remplie !
+uTip - https://utip.io/chatsceptique
+Tipeee - https://fr.tipeee.com/chatsceptique
+
+Mon livre (France) : https://livre.fnac.com/a14839571/Adelina-Kulmakhanova-L-Art-d-exprimer-son-desaccord-sans-se-facher
+Mon livre (Belgique) : https://www.fr.fnac.be/a14839571/Adelina-Kulmakhanova-L-Art-d-exprimer-son-desaccord-sans-se-facher
+
+Pour la vidéo avec des chats idiots que je cache toujours en fin de description, rdv sur Tipeee ;-)
+
+
+
+
+
+
+
+ yt:video:AoFa59UUf-U
+ AoFa59UUf-U
+ UCOuIgj0CYCXCvjWywjDbauw
+ La distribution hypergéométrique peut-elle servir à la maison ? (OUI)
+
+
+ Chat Sceptique
+ https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
+
+ 2020-10-08T16:30:00+00:00
+ 2021-02-23T12:38:22+00:00
+
+ La distribution hypergéométrique peut-elle servir à la maison ? (OUI)
+
+
+ Savez-vous faire la différence entre des cacahuètes chères et pas chères ? Moi pas 😅 L'enjeux est moins idiot qu'il n'y paraît. Car si on ne fait pas la différence, à quoi bon acheter des cacahuètes qui sont parfois 500% plus chères que les moins chères ? Sans rendre les choses compliquées, je vous guide sur comment tester ça *scientifiquement* à la maison.
+
+Oui, vous l'aurez compris, ce problème de cacahuètes n'est en réalité qu'un prétexte pour parler de statistiques 😁
+
+La chaine de Viviane :
+https://www.youtube.com/user/scilabus
+La vidéo sur le test de Viviane :
+https://youtu.be/pcHXm4Z4zJ4
+
+Le "starter kit scientifique" pour mener vos expériences sous la bannière hypergéométrique : https://fr.tipeee.com/chatsceptique/news/97056
+
+Vidéo de Thomas de la Tronche en Biais sur l'homéopathie :
+https://www.youtube.com/watch?v=kGDLDljaYxg
+
+Exemple de papier de recherche où la distribution hypergéométrique est utilisée : https://pubmed.ncbi.nlm.nih.gov/3201145/
+Je vulgarise ce papier ici : https://www.youtube.com/watch?v=i330LQsGfMg
+
+Vous avez aimé cet épisode ? N'oubliez pas de maintenir la gamelle du Chat Sceptique remplie !
+uTip - https://utip.io/chatsceptique
+Tipeee - https://fr.tipeee.com/chatsceptique
+
+Comme toujours pour ceux qui vont au bas des descriptions (bravo !), une vidéo idiote avec des chats : https://www.youtube.com/watch?v=sN6hnFjBaqU
+
+
+
+
+
+
+
+ yt:video:3SYC3IqKm5U
+ 3SYC3IqKm5U
+ UCOuIgj0CYCXCvjWywjDbauw
+ J'ai adopté une chatonne ❤️ (mais ce n'est pas vraiment de ça dont je veux parler)
+
+
+ Chat Sceptique
+ https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
+
+ 2020-09-18T15:21:36+00:00
+ 2020-11-25T05:02:42+00:00
+
+ J'ai adopté une chatonne ❤️ (mais ce n'est pas vraiment de ça dont je veux parler)
+
+
+ Elle se nomme Bambou et rencontrera Cajou pour la première fois dans quelques jours 😅
+Je reviens surtout sur la vidéo la plus populaire de la chaîne et je parle des projets pour cet automne 🔬🎙️
+
+Lien utile pour le livre :
+https://www.amazon.fr/Lart-dexprimer-d%C3%A9saccord-sans-f%C3%A2cher/dp/2410017746
+
+Si vous êtes adhérent FNAC, vous pouvez même l'avoir pour 17,10 EUR au lieu de 18 !
+https://www.fr.fnac.be/a14839571/Adelina-Kulmakhanova-L-Art-d-exprimer-son-desaccord-sans-se-facher
+
+La cible de Graham est téléchargeable sur Tipeee, mais aussi sur Wikipédia :
+https://fr.tipeee.com/chatsceptique/news/60905
+https://commons.wikimedia.org/wiki/File:Cible_de_Graham_02.png
+
+Pas encore vu la vidéo consacrée à cette cible ?
+C'est ici : https://www.youtube.com/watch?v=ohU1tEwxOSE
+
+Musique par Sergey Cheremisinov - Sea & Night - Crystal Echoes
+https://www.youtube.com/watch?v=TJKl80T7bEM
+
+
+
+
+
+
+
+ yt:video:Aox6YjA7ytA
+ Aox6YjA7ytA
+ UCOuIgj0CYCXCvjWywjDbauw
+ La SPECTACULAIRE réduction des inégalités en France (1965-1980)
+
+
+ Chat Sceptique
+ https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
+
+ 2020-06-30T14:00:03+00:00
+ 2020-11-28T01:29:31+00:00
+
+ La SPECTACULAIRE réduction des inégalités en France (1965-1980)
+
+
+ Allez sur https://nordvpn.com/chatsceptique pour profiter de 70% de réduction et utilisez le code promo "chatsceptique" pour 1 mois gratuit supplémentaire !
+
+Pendant longtemps, les médias ont constitué ma seule fenêtre sur le monde. Problème : le monde vu à travers leur prisme ne colle pas toujours à la réalité. Il nous faut donc aller au-delà des médias pour espérer comprendre ce qui se passe autour de nous.
+
+TOUS les liens utiles sont ici en accès libre (il y en a une tonne) : https://en.tipeee.com/chatsceptique/news/88703
+
+Musique de l'épisode du jour par Scott Buckley : https://www.youtube.com/watch?v=x8h50E6ekR0
+Ainsi que par Tryphème :
+https://freemusicarchive.org/music/Tryphme/Thanks_God_For_Air_Emotions/02_-_Pour_Olympe
+(cette dernière musique a aussi déjà été utilisée dans l'épisode sur la Belgique : https://youtu.be/bunopukqiAw
+
+Tu as aimé cet épisode ? Moi et Maxime avons envie d'en faire d'autres ! N'oublie pas de maintenir la gamelle du Chat Sceptique remplie :
+Tipeee - https://fr.tipeee.com/chatsceptique
+uTip - https://utip.io/chatsceptique
+
+********************
+Tu peux aussi prendre un abonnement chez NordVPN pour un soutien indirect via le code chatsceptique : https://nordvpn.com/chatsceptique
+********************
+
+Twitter : https://twitter.com/chatsceptique
+Facebook : https://www.facebook.com/chatsceptique
+Les Chatons Sceptiques : https://www.facebook.com/groups/890137121364437
+
+Bien joué, tu es arrivé au bout de la description. Si tu prends la peine de cliquer sur le lien Tipeee vers les sources, sache qu'il y a une vidéo de chat idiote à la fin O:-)
+
+#DeGaulle #Médias
+
+
+
+
+
+
+
+ yt:video:i330LQsGfMg
+ i330LQsGfMg
+ UCOuIgj0CYCXCvjWywjDbauw
+ Soigner par les chats : comment la félinothérapie marche-t-elle ?
+
+
+ Chat Sceptique
+ https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
+
+ 2020-06-17T16:00:32+00:00
+ 2021-03-29T13:54:53+00:00
+
+ Soigner par les chats : comment la félinothérapie marche-t-elle ?
+
+
+ Une thérapie ultra colorée dont les témoignages de l'efficacité s'accumulent, y compris pour soigner le Covid. Déroule !
+
+Sources de l'épisode : https://en.tipeee.com/chatsceptique/news/87462
+
+Merci à Mr. Sam pour son caméo dans l'épisode du jour !
+https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
+
+Musique de l'épisode du jour par Scott Buckley : https://www.youtube.com/watch?v=nw3UHvNU0QE
+
+Tu as aimé cet épisode ? Moi et Maxime avons envie d'en faire d'autres ! N'oublie pas de maintenir la gamelle du Chat Sceptique remplie :
+Tipeee - https://fr.tipeee.com/chatsceptique
+uTip - https://utip.io/chatsceptique
+
+Twitter : https://twitter.com/chatsceptique
+Facebook : https://www.facebook.com/chatsceptique
+Les Chatons Sceptiques : https://www.facebook.com/groups/890137121364437
+
+Bien joué, tu es arrivé au bout de la description. Voici une vidéo de chats idiote en récompense. Attention ! Prochaine fois, elle sera dans le lien des sources O:-)
+https://www.youtube.com/watch?v=7Nn7NZI_LN4
+
+#Homéopathie #Chromatothérapie
+
+
+
+
+
+
+
+ yt:video:ig395FC2e3c
+ ig395FC2e3c
+ UCOuIgj0CYCXCvjWywjDbauw
+ Savez-vous résoudre ce problème ?
+
+
+ Chat Sceptique
+ https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
+
+ 2020-05-26T15:45:00+00:00
+ 2020-12-01T11:31:11+00:00
+
+ Savez-vous résoudre ce problème ?
+
+
+ Pourquoi diable gagne-t-on seulement une fois sur trois au jeu de Monty Hall en restant sur son choix initial, et deux fois sur trois dans le cas contraire ?
+
+Si on sépare d'un coté le gobelet initialement choisi et de l'autre les deux gobelets qui n'ont pas été choisis, qu'est ce qu'on constate ? Le gobelet choisi concentre une probabilité de contenir la boule égale à 1/3. Les deux autres, ensemble, concentrent 2 chances sur trois.
+
+Lorsque le maître de jeu se débarrasse d'un des deux gobelets du coté où 2/3 de la probabilité se concentre, ça ne change rien à cette probabilité : il reste 2 chances sur trois de ce coté là... sauf que maintenant il n'y a plus qu'un seul gobelet qui concentre tout ça sur lui après que la maître de jeu soit passé à l'action. C'est donc ce gobelet qu'il faut choisir, et c'est pour ça qu'il vaut mieux changer !
+
+Le saviez-vous ? Après quelques essais au jeu de Monty Hall, les pigeons comprennent vite que rester sur son choix initial n'est pas la meilleure stratégie. Les humains, par contre, le comprennent moins vite : https://sciencetonnante.wordpress.com/2011/04/18/le-paradoxe-de-monty-hall-disponible-egalement-en-version-pigeon/
+
+Le problème de Monty Hall sur Wikipédia :
+https://fr.wikipedia.org/wiki/Probl%C3%A8me_de_Monty_Hall
+
+Le site random.org : https://www.random.org/
+L'histoire derrière ce site : https://www.random.org/history/
+
+A propos du bruit de fond radio dans lequel nous baignons : https://en.wikipedia.org/wiki/Atmospheric_noise
+Selon la page ci-dessus, il y aurait sur Terre 40 coups de foudre à la seconde.
+L'agence américaine d'observation océanique et atmosphérique (NOAA) parle de son coté de 100 coups de foudre à la seconde : https://sos.noaa.gov/datasets/lightning-flash-rate/
+Dans la vidéo, nous parlons donc de 40 à 100 coups de foudre à la seconde, non pas qu'un chiffre plus précis soit si important : le fait est que le phénomène est très intense !
+
+Les ondes radio émises par un coup de foudre sont piégées entre le sol et l'ionosphère. C’est le physicien allemand Winfried Otto Schumann qui a posé les bases de notre compréhension de ce phénomène : https://en.wikipedia.org/wiki/Schumann_resonances
+Le passage le plus intéressant : "Lightning discharges are considered to be the primary natural source of Schumann resonance excitation; lightning channels behave like huge antennas that radiate electromagnetic energy at frequencies below about 100 kHz."
+
+Script et narration : Nathan Uyttendaele
+Illustration, animation, sound design : Laura Maugeri
+Musique : Gwenaël Grisi
+
+
+
+
+
+
+
+ yt:video:NCHYDtA60-g
+ NCHYDtA60-g
+ UCOuIgj0CYCXCvjWywjDbauw
+ Prédire le régime politique via une régression logistique
+
+
+ Chat Sceptique
+ https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
+
+ 2020-05-15T14:00:10+00:00
+ 2020-11-22T04:10:51+00:00
+
+ Prédire le régime politique via une régression logistique
+
+
+ Cela choque, mais on peut prédire le régime politique d'un pays juste en regardant la hauteur du plus haut gratte-ciel dans le pays. Déroule !
+
+Ce second live statistique, tourné en direct ce 12 mai 2020, vous propose de le vérifier par vous-même et de réaliser l'étonnante facilité avec laquelle on peut constuire des modèles prédictifs. Pourvu qu'il y ait une corrélation entre deux variables, il sera possible d'en prédire l'une en fonction de l'autre.
+
+Ce second live a bien sûr un aspect effrayant : s'il est si simple de prédire le régime politique d'un pays, pas trop de doute qu'une variable facile d'accès devrait permettre de prédire la sexualité de quelqu'un par exemple.
+
+Codes + base de données utilisée dans le live : https://fr.tipeee.com/chatsceptique/news/83762
+
+Le lien vers le premier live : https://www.youtube.com/watch?v=sav3Mbe0_DM
+
+#Régression #logistique
+
+
+
+
+
+
+
+ yt:video:z_cACapt3Hc
+ z_cACapt3Hc
+ UCOuIgj0CYCXCvjWywjDbauw
+ Chocolat et prix Nobel
+
+
+ Chat Sceptique
+ https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
+
+ 2020-05-07T15:45:03+00:00
+ 2021-01-17T01:24:30+00:00
+
+ Chocolat et prix Nobel
+
+
+ 2012, l'année durant laquelle il a été prouvé que manger du chocolat permet de décrocher un prix Nobel. Ou pas. Retour avec Albert sur cette histoire.
+
+Ressources :
+L'article original sur le lien entre chocolat et prix Nobel : http://www.biostat.jhsph.edu/courses/bio621/misc/Chocolate%20consumption%20cognitive%20function%20and%20nobel%20laurates%20(NEJM).pdf
+Un contre-article : http://www.uclep.be/wp-content/uploads/pdf/Pub/Maurage_JN_2013.pdf
+La notion de corrélation : https://goo.gl/EHWDrm
+
+Script et narration : Nathan Uyttendaele
+Illustration, animation, sound design : Laura Maugeri
+Musique : Gwenaël Grisi
+
+
+
+
+
+
+
+ yt:video:B9noooyh9Dk
+ B9noooyh9Dk
+ UCOuIgj0CYCXCvjWywjDbauw
+ Maladies rares : l'apport de la formule de Bayes
+
+
+ Chat Sceptique
+ https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
+
+ 2020-05-01T14:29:54+00:00
+ 2021-03-28T10:01:34+00:00
+
+ Maladies rares : l'apport de la formule de Bayes
+
+
+ Un bon test de détection d’une maladie, sur papier, c’est plutôt simple.
+Déroule !
+
+Malheureusement, en pratique, concevoir pareil test, c'est très difficile.
+Le problème ? Si la maladie qu'on cherche à détecter est rare (on parlera d'une faible prévalence dans la population), une cruelle machinerie mathématique se met en route contre nous sans que l'on puisse rien y faire ! Une difficile réalité étonnement peu connue du grand public et souvent incomprise par de nombreux chercheurs.
+
+Tu as aimé cet épisode ? Moi et Maxime avons envie d'en faire d'autres ! N'oublie pas de maintenir la gamelle du Chat Sceptique remplie :
+Tipeee - https://fr.tipeee.com/chatsceptique
+uTip - https://utip.io/chatsceptique
+
+Les Chatons Sceptiques : https://www.facebook.com/groups/890137121364437
+Twitter : https://twitter.com/chatsceptique
+Facebook : https://www.facebook.com/chatsceptique
+
+Sound design par Maxime Quetin.
+
+Musique :
+Ambiment par Kevin MacLeod
+https://incompetech.filmmusic.io/song/3359-ambiment
+
+Arrivé au bout de la description ? Voici une vidéo idiote avec des chats en récompense : https://www.youtube.com/watch?v=-2syg10o3A0
+
+#Bayésianisme
+
+
+
+
+
+
+
+ yt:video:sav3Mbe0_DM
+ sav3Mbe0_DM
+ UCOuIgj0CYCXCvjWywjDbauw
+ Introduction à R et RStudio (feat : mon chat radioactif)
+
+
+ Chat Sceptique
+ https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
+
+ 2020-04-16T17:34:56+00:00
+ 2021-03-28T08:35:58+00:00
+
+ Introduction à R et RStudio (feat : mon chat radioactif)
+
+
+ En un peu plus d'une heure et sans trainer autour du pot, je vous montre comment faire du R comme un pro.
+
+Retrouvez les codes utilisés dans la vidéo et l'image de Cajou ici : https://fr.tipeee.com/chatsceptique/news/80664
+
+Si vous avez aimé la vidéo, pensez à me laisser un petit pourboire, cela peut se faire notamment en regardant volontairement une publicité ici : https://utip.io/chatsceptique
+
+Vive la chatistique !
+
+
+
+
+
+
+
+ yt:video:paQzJCfo6Rw
+ paQzJCfo6Rw
+ UCOuIgj0CYCXCvjWywjDbauw
+ Le principe de Pareto (et ses limites)
+
+
+ Chat Sceptique
+ https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw
+
+ 2020-04-09T15:15:15+00:00
+ 2020-11-23T05:38:29+00:00
+
+ Le principe de Pareto (et ses limites)
+
+
+ Nous vivons dans un monde où une large part des effets résultent d'un nombre limité de causes. Et ça, c'est une superbe nouvelle : cela ouvre le chemin à une stratégie universelle d'impact sur le monde en faisant moins d'efforts 😻
+
+À y regarder de plus près toutefois, la stratégie consistant à systématiquement s'attaquer aux causes ayant le plus d'effets n'est pas forcément la plus intelligente.
+
+Quelques sources pour ceux souhaitant aller plus loin :
+
+L'économiste Pareto : https://fr.wikipedia.org/wiki/Vilfredo_Pareto
+Le principe de Pareto : https://en.wikipedia.org/wiki/Pareto_principle
+Le créateur du principe (qui n'est pas Pareto lui-même) : https://en.wikipedia.org/wiki/Joseph_M._Juran
+En France ou en Belgique, environ 40% des revenus vont dans la poche des 20% à gagner le plus. Retrouve ces données et les valeurs pour d'autres pays ici : https://data.worldbank.org/indicator/SI.DST.05TH.20?locations=FR
+
+L'OMS prétend que 40% des cancers sont évitables : https://www.who.int/news-room/fact-sheets/detail/cancer
+
+En réalité, certaines recherches avancent des chiffres encore plus impressionnants comme ici : 90 à 95% des cancers sont liés au style de vie et à l'environnement, donc évitables : https://www.ncbi.nlm.nih.gov/pmc/articles/PMC2515569/
+
+Pour la vidéo, j'ai identifié les plus grosses causes de cancer en France via ce papier : http://gco.iarc.fr/includes/PAF/PAF_FR_synthese.pdf
+Notez que l'alimentation et le surpoids sont au coude à coude ; mon choix de faire passer l'alimentation après le surpoids/obésité est un rien arbitraire dans la vidéo.
+
+Les trois sites proposant des conseils préventions qui sont passés dans la vidéo :
+https://www.lavenir.net/cnt/dmf20200203_01439926/prise-en-charge-integrative-du-cancer
+https://sosoir.lesoir.be/mieux-se-nourrir-pour-prevenir-le-cancer
+https://gouvernement.lu/fr/actualites/toutes_actualites/communiques/2020/02-fevrier/03-sante-cancer.html
+
+Tu as aimé cet épisode ? Moi et Maxime avons envie d'en faire d'autres ! N'oublie pas de maintenir la gamelle du Chat Sceptique remplie :
+Tipeee - https://fr.tipeee.com/chatsceptique
+uTip - https://utip.io/chatsceptique
+
+Wow, tu as été au bout de cette description. Bien joué. Voici une vidéo mignonne en récompense :
+https://www.youtube.com/watch?v=FzshsghJIE8
+
+
+
+
+
+
+
diff --git a/tests/RessourcesTest/RealRessources/WithUpdate/UCY7klexd1qEqxgqYK6W7BVQ.rss b/tests/RessourcesTest/RealRessources/WithUpdate/UCY7klexd1qEqxgqYK6W7BVQ.rss
new file mode 100644
index 0000000..00ffa85
--- /dev/null
+++ b/tests/RessourcesTest/RealRessources/WithUpdate/UCY7klexd1qEqxgqYK6W7BVQ.rss
@@ -0,0 +1,656 @@
+
+
+
+ yt:channel:UCY7klexd1qEqxgqYK6W7BVQ
+ UCY7klexd1qEqxgqYK6W7BVQ
+ Clément FREZE - Mentaliste
+
+
+ Clément FREZE - Mentaliste
+ https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
+
+ 2012-11-01T11:37:03+00:00
+
+ yt:video:OYDEiQTAIj8
+ OYDEiQTAIj8
+ UCY7klexd1qEqxgqYK6W7BVQ
+ Je triche à Mot de Passe sur France 2 ! - Clément FREZE
+
+
+ Clément FREZE - Mentaliste
+ https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
+
+ 2021-01-17T15:05:44+00:00
+ 2021-03-29T15:06:04+00:00
+
+ Je triche à Mot de Passe sur France 2 ! - Clément FREZE
+
+
+ OUI FAKE-UP ARRIVE !
+Comme vous le savez, j'ai récemment participé à l'émission « Mot de Passe » sur France 2.
+Mais ce que vous ne savez pas, c'est que mes mauvaises réponses dans le jeu ont été délibérément voulues par la production afin que je ne sois pas (je cite) : « Trop bon ! »
+Voilà ce qui a été coupé au montage, voilà la véritude !
+Nous sachons !
+
+Retrouvez mes passages dans l'émission ici : https://www.youtube.com/playlist?list=PLpdxyRSnvDlfeKO5rAuDrUiIGnbUf_LnE
+Et merci ma Lolo ! ❤️
+
+Amitiés
+
+CF
+
+---
+
+Tipeee : https://fr.tipeee.com/clementfreze
+Facebook : https://www.facebook.com/clementfreze/
+Twitter : https://twitter.com/clementfreze
+Instagram : https://www.instagram.com/clementfreze
+Site Internet : http://clementfreze.fr/
+
+
+
+
+
+
+
+ yt:video:6TcnLd0faXk
+ 6TcnLd0faXk
+ UCY7klexd1qEqxgqYK6W7BVQ
+ Les Maîtres de l'Imposture - Disponible en librairie - Clément FREZE
+
+
+ Clément FREZE - Mentaliste
+ https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
+
+ 2020-09-09T14:31:28+00:00
+ 2021-03-26T08:36:28+00:00
+
+ Les Maîtres de l'Imposture - Disponible en librairie - Clément FREZE
+
+
+ Disponible en librairie et sur Amazon : https://www.amazon.fr/dp/2490945041/ref=cm_sw_r_tw_dp_x_GzowFbQB3VX0T
+
+Le point de départ de notre aventure, chers lecteurs, est ici connu de vous et moi :
+toutes ces histoires vraies sont de pures supercheries.
+Chaque époque a vu naître son lot d'imposteurs, mais dans un monde de communication-médias-publicité-réseaux-sociaux destiné à assurer la domination du spectacle, ils sont légion.
+
+Ce document relate 15 incroyables impostures qui vous plongent dans le cerveau de manipulateurs hors du commun. Savez-vous que la tour Eiffel a failli être vendue frauduleusement deux fois ? Qu'un faux témoignage a pu faire basculer l'opinion de toute une population jusqu'à une entrée en guerre ? Qu'une histoire émouvante totalement inventée a conduit une femme à la célébrité jusqu'à avoir son biopic au cinéma ?
+
+Ces faussaires peuvent être vos proches, vos parents, vos amis, vos voisins ou se cacher dans la lumière de studios de télévision. Ces usurpateurs ont tous un point en commun : la volonté de vous duper et de faire prospérer le mensonge. Au cœur des récits, je vous livre leurs méthodes et les armes pour les détecter afin que vous puissiez reprendre le contrôle... Et les démasquer.
+
+Né en 1997, sur la scène de l'Olympia dès ses vingt-deux ans, Clément Freze est mentaliste, hypnotiseur, performer et sceptique. Il démystifie des croyances majoritairement ésotériques et se sert de son art de l'illusion pour démocratiser l'esprit critique. Régulièrement en tournée dans toute la France, il possède une chaîne YouTube qui compte près de 60 000 abonnés.
+
+---
+
+Tipeee : https://fr.tipeee.com/clementfreze
+Facebook : https://www.facebook.com/clementfreze/
+Twitter : https://twitter.com/clementfreze
+Instagram : https://www.instagram.com/clementfreze
+Site Internet : http://clementfreze.fr/
+
+
+
+
+
+
+
+ yt:video:NsakaSVsK-I
+ NsakaSVsK-I
+ UCY7klexd1qEqxgqYK6W7BVQ
+ 🎼 Question de Bon Sens - PLS & Clément Freze (ft. Didier Super)
+
+
+ Clément FREZE - Mentaliste
+ https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
+
+ 2020-09-03T18:29:00+00:00
+ 2021-03-26T23:34:20+00:00
+
+ 🎼 Question de Bon Sens - PLS & Clément Freze (ft. Didier Super)
+
+
+ Salut tout le monde !
+
+Aujourd'hui, c'est la rentrée...
+Alors je vous propose un clip fait durant l'été pour fêter les 50 000 abonnés avec mes collègues du groupe PLS dont je vous invite à découvrir le travail.
+Merci aussi à Didier Super pour son implication et sa participation dans ce clip.
+
+J'espère que les nouveautés de cette année vous plairont, pour l'heure, n'hésitez pas à partager...
+
+Amitiés
+
+CF
+
+La chanson sur Soundcloud : https://soundcloud.com/clementfreze/question-de-bon-sens
+La chaîne de PLS : https://www.youtube.com/channel/UCfyG2tVnAVE2gcgFvw92_Gw
+La chaîne de Didier Super : https://www.youtube.com/user/didierlevrai
+
+La chanson a été enregistrée et mixée par Ulysse Lejeune chez Gravity Lab.
+Clip réalisé par Clément Freze et Eliot Mini.
+
+---
+
+Tipeee : https://fr.tipeee.com/clementfreze
+Facebook : https://www.facebook.com/clementfreze/
+Twitter : https://twitter.com/clementfreze
+Instagram : https://www.instagram.com/clementfreze
+Site Internet : http://clementfreze.fr/
+
+
+
+
+
+
+
+ yt:video:DR5NOWmyuI8
+ DR5NOWmyuI8
+ UCY7klexd1qEqxgqYK6W7BVQ
+ MINDLIAR : Les dessous de l'affaire - Clément Freze
+
+
+ Clément FREZE - Mentaliste
+ https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
+
+ 2020-05-16T21:37:36+00:00
+ 2020-11-22T13:07:11+00:00
+
+ MINDLIAR : Les dessous de l'affaire - Clément Freze
+
+
+ Ce documentaire a soulevé beaucoup de questions, spécifiquement sur la mythomanie et la nature des mensonges de Stéphane Bourgoin.
+
+Après sa diffusion en YouTube première, accompagnée de Audrey La Psy qui Parle, Astronogeek, Defakator, Antoine Aresu et Ulysse Lejeune, j'ai décidé de répondre à la plupart d'entre-elles.
+
+C'était mon tout premier live, et j'espère que l'occasion se représentera !
+
+Réalisation : Jean-Pat
+
+
+
+
+
+
+
+ yt:video:ttyVnyi1mRY
+ ttyVnyi1mRY
+ UCY7klexd1qEqxgqYK6W7BVQ
+ MINDLIAR : L'imposture Stéphane Bourgoin - Clément Freze
+
+
+ Clément FREZE - Mentaliste
+ https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
+
+ 2020-05-16T18:00:30+00:00
+ 2021-02-02T17:57:00+00:00
+
+ MINDLIAR : L'imposture Stéphane Bourgoin - Clément Freze
+
+
+ Aujourd'hui, je vous présente mon premier documentaire.
+Un film YouTube sur l'imposture Stéphane Bourgoin.
+
+Ce film a été fabriqué avec une équipe réduite, écrit et réalisé en 1 mois, monté en 100 heures seul en plein confinement.
+
+Le site de 4ème Œil : https://4emeoeilcorporation.me/
+Le site de la pétition : https://www.change.org/p/editions-gl%C3%A9nat-bd-pour-que-les-bd-sur-les-tueurs-en-s%C3%A9rie-de-st%C3%A9phane-bourgoin-soient-retir%C3%A9es-de-la-vente
+La page de « Parcours de victimes » : https://www.facebook.com/parcours.de.victimes
+
+Extraits de la Bande Originale : https://soundcloud.com/ulysse-lejeune
+
+Cette vidéo n'est pas monétisée.
+
+J'espère que cela vous plaira. N'hésitez pas à partager.
+
+Amitiés
+
+CF
+
+---
+
+CHAPITRAGE
+
+00:00:00 Générique & Introduction.
+00:03:50 Une destinée hors du commun.
+00:09:15 Mensonges ou Mythomanie ?
+00:12:35 Mindhunter, qui inspire qui ?
+00:18:46 Hey Charlie, une rencontre ?
+00:24:45 Berkowitz, le fils de Sam.
+00:27:37 Cours au FBI. Bourgoin begins.
+00:40:25 Gendarmerie et magistrature.
+00:45:40 Fourniret, l'ogre des ardennes.
+00:53:51 Miss Eileen, a virtual victim story.
+01:01:23 Schaefer le colocataire.
+01:11:02 Murderabilia, descente à la cave.
+01:16:11 Pistorius & Affaire Stewart Wilken.
+01:22:30 Des aveux, ou une parodie.
+01:27:50 Conclusion
+01:33:38 Générique de fin
+
+---
+
+Facebook : https://www.facebook.com/clementfreze/
+Twitter : https://twitter.com/clementfreze
+Instagram : https://www.instagram.com/clementfreze
+Site Internet : http://clementfreze.fr/
+
+
+
+
+
+
+
+ yt:video:t97DRTZcPYo
+ t97DRTZcPYo
+ UCY7klexd1qEqxgqYK6W7BVQ
+ ⛓️✉️ Une chaîne de pensées prédite ! 🤯🧠 - Clément Freze
+
+
+ Clément FREZE - Mentaliste
+ https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
+
+ 2020-04-06T22:02:52+00:00
+ 2021-01-15T10:30:05+00:00
+
+ ⛓️✉️ Une chaîne de pensées prédite ! 🤯🧠 - Clément Freze
+
+
+ AVERTISSEMENT : La vidéo a été tournée en Février, avant le confinement.
+
+Aujourd'hui, une chaîne de mots, vous savez que j'adore ça, couplée avec un numéro d'illusion du choix.
+En espérant que cela vous plaise. Restez chez vous !
+
+Amitiés
+
+CF
+
+---
+
+Tipeee : https://fr.tipeee.com/clementfreze
+Facebook : https://www.facebook.com/clementfreze/
+Twitter : https://twitter.com/clementfreze
+Instagram : https://www.instagram.com/clementfreze
+Site Internet : http://clementfreze.fr/
+
+
+
+
+
+
+
+ yt:video:BtLBSlbv6Rk
+ BtLBSlbv6Rk
+ UCY7klexd1qEqxgqYK6W7BVQ
+ 📊🧐 93% de non-verbal dans la communication ? 🔎🧠 - Clément Freze
+
+
+ Clément FREZE - Mentaliste
+ https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
+
+ 2020-04-01T15:22:25+00:00
+ 2021-03-27T01:10:46+00:00
+
+ 📊🧐 93% de non-verbal dans la communication ? 🔎🧠 - Clément Freze
+
+
+ Salut tout le monde !
+
+Aujourd'hui, revenons sur une idée reçue, injustement rependue depuis des décennie. Voyons d'où vient cette aberration et si elle est fondée sur des études scientifiques rigoureuses ou non.
+
+Amitiés
+
+CF
+
+Sources :
+- Mehrabian, A., & Ferris, S. R. (1967). Inference of attitudes from nonverbal communication in two channels. Journal of consulting psychology, 31(3), 248.
+- Mehrabian, A., & Wiener, M. (1967). Decoding of inconsistent communications. Journal of personality and social psychology, 6(1), 109.
+- Mehrabian, A. (1971). Silent messages. Belmont, CA: Wadsworth.
+
+---
+
+Tipeee : https://fr.tipeee.com/clementfreze
+Facebook : https://www.facebook.com/clementfreze/
+Twitter : https://twitter.com/clementfreze
+Instagram : https://www.instagram.com/clementfreze
+Site Internet : http://clementfreze.fr/
+
+
+
+
+
+
+
+ yt:video:RhUiF90_r88
+ RhUiF90_r88
+ UCY7klexd1qEqxgqYK6W7BVQ
+ 🔮 Du channeling en direct ! 🧠 - Clément Freze
+
+
+ Clément FREZE - Mentaliste
+ https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
+
+ 2020-03-27T04:39:26+00:00
+ 2020-11-28T21:41:38+00:00
+
+ 🔮 Du channeling en direct ! 🧠 - Clément Freze
+
+
+ Salut tout le monde !
+
+Aujourd'hui, je vous présente une petite vidéo improvisée tournée à l'issue du Tronche en Live du 7 Janvier, j'ai fait le choix de compter mes erreurs (même si pour la plus part j'aurais pu rebondir, l'honnêteté m'a poussé à être sévère envers moi-même) pour bien voir à quel point il est facile de valider une affirmation, et après tout, c'est l'essentiel... pas vrai ?
+
+Amitiés à tous, Dana vous embrasse et restez chez vous !
+
+CF
+
+---
+
+Tipeee : https://fr.tipeee.com/clementfreze
+Facebook : https://www.facebook.com/clementfreze/
+Twitter : https://twitter.com/clementfreze
+Instagram : https://www.instagram.com/clementfreze
+Site Internet : http://clementfreze.fr/
+
+
+
+
+
+
+
+ yt:video:G-Yh1ENtnLo
+ G-Yh1ENtnLo
+ UCY7klexd1qEqxgqYK6W7BVQ
+ 😵 Une Définition de l'Hypnose ? 🌀🧠 - Clément Freze
+
+
+ Clément FREZE - Mentaliste
+ https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
+
+ 2020-03-20T21:26:16+00:00
+ 2020-12-04T07:17:03+00:00
+
+ 😵 Une Définition de l'Hypnose ? 🌀🧠 - Clément Freze
+
+
+ Sources dans la description !
+
+Salut tout le monde, aujourd'hui, je vous présente mon nouveau format : Hypnos.
+Nous parlerons d'hypnose, une discipline plus vieille qu'on ne le pense, toutefois en excluant les idées reçues, les pseudosciences et autres balivernes en tout genre qui la polluent depuis pratiquement sa découverte.
+
+Abonnez-vous et rejoignez le groupuscule malveillant, pour ne rien louper de tout ça !
+
+Amitiés
+
+CF
+
+Sources globales pour l'épisode :
+Nash, M. R., & Barnier, A. J. (Eds.). (2012). The Oxford handbook of hypnosis: Theory, research, and practice. Oxford University Press.
+
+Sources pour les multiples définitions de l'APA et la problématique sur la notion d'état :
+Lynn, S. J., Green, J. P., Kirsch, I., Capafons, A., Lilienfeld, S. O., Laurence, J. R., & Montgomery, G. H. (2015). Grounding hypnosis in science: The “new” APA Division 30 definition of hypnosis as a step backward. American Journal of Clinical Hypnosis, 57(4), 390-401.
+
+Pour la méta-analyse (attention c'est costaud en Neurosciences) :
+Landry, M., Lifshitz, M., & Raz, A. (2017). Brain correlates of hypnosis: A systematic and meta-analytic exploration. Neuroscience & Biobehavioral Reviews.
+
+Pour l'étude de Rainville et al.:
+Rainville, P., Streff, A., Chen, J. I., Houzé, B., Desmarteaux, C., & Piché, M. (2019). Hypnotic automaticity in the brain at rest: An arterial spin labelling study. International Journal of Clinical and Experimental Hypnosis, 67(4), 512-542.
+
+---
+
+Tipeee : https://fr.tipeee.com/clementfreze
+Facebook : https://www.facebook.com/clementfreze/
+Twitter : https://twitter.com/clementfreze
+Instagram : https://www.instagram.com/clementfreze
+Site Internet : http://clementfreze.fr/
+
+
+
+
+
+
+
+ yt:video:rHblzce7TSs
+ rHblzce7TSs
+ UCY7klexd1qEqxgqYK6W7BVQ
+ ❓ FREZEAQ 30k - Annonces & Questions 🧠 - Clément Freze
+
+
+ Clément FREZE - Mentaliste
+ https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
+
+ 2020-03-14T18:26:24+00:00
+ 2020-12-23T07:43:31+00:00
+
+ ❓ FREZEAQ 30k - Annonces & Questions 🧠 - Clément Freze
+
+
+ Salut tout le monde !
+
+Aujourd'hui, la FAQ (ou plutôt FREZEAQ) des 30 000 abonnés, en retard, mais on ne change pas une équipe de merde...
+De nouvelles choses arrivent et notamment des projets exceptionnels en cours de création. Stay tuned !
+
+Tout ça c'est grâce à vous donc merci 30 000 fois !
+
+Amitiés
+
+CF
+
+---
+
+Tipeee : https://fr.tipeee.com/clementfreze/
+Facebook : https://www.facebook.com/clementfreze/
+Twitter : https://twitter.com/clementfreze
+Instagram : https://www.instagram.com/clementfreze
+Site Internet : http://clementfreze.fr/
+
+
+
+
+
+
+
+ yt:video:t8e-784eUHI
+ t8e-784eUHI
+ UCY7klexd1qEqxgqYK6W7BVQ
+ 🤑✉️ 1500€ en jeu dans cette expérience. 🤯🧠 - Clément Freze
+
+
+ Clément FREZE - Mentaliste
+ https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
+
+ 2020-03-02T20:16:04+00:00
+ 2021-01-15T12:44:11+00:00
+
+ 🤑✉️ 1500€ en jeu dans cette expérience. 🤯🧠 - Clément Freze
+
+
+ Salut tout le monde !
+
+Aujourd'hui, un effet que j'apprécie tout particulièrement.
+4 spectateurs ont 1 chance sur 5 de gagner 1500€, à moins que je n'arrive à les perturber.
+N'hésitez pas à me donner votre avis.
+
+Amitiés
+
+CF
+
+---
+
+Tipeee : https://fr.tipeee.com/clementfreze
+Facebook : https://www.facebook.com/clementfreze/
+Twitter : https://twitter.com/clementfreze
+Instagram : https://www.instagram.com/clementfreze
+Site Internet : http://clementfreze.fr/
+
+
+
+
+
+
+
+ yt:video:QPsP0A-Iu1w
+ QPsP0A-Iu1w
+ UCY7klexd1qEqxgqYK6W7BVQ
+ 😶🔍 Le non-verbal 🤷🧠 - Clément Freze
+
+
+ Clément FREZE - Mentaliste
+ https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
+
+ 2020-02-28T19:13:05+00:00
+ 2021-03-29T04:40:04+00:00
+
+ 😶🔍 Le non-verbal 🤷🧠 - Clément Freze
+
+
+ Salut tout le monde !
+
+Aujourd'hui, nouvelle formule de Lie to Moi* ou nous parlerons de non-verbal, avec scepticisme !
+Commençons par détruire quelques idées reçues sur le non-verbal. N'hésitez pas à me donner votre avis dans les commentaires sur ce nouveau format.
+
+Amitiés
+
+CF
+
+Co-écriture : Clément FREZE & Smo.6
+
+---
+
+Tipeee : https://fr.tipeee.com/clementfreze
+Facebook : https://www.facebook.com/clementfreze/
+Twitter : https://twitter.com/clementfreze
+Instagram : https://www.instagram.com/clementfreze
+Site Internet : http://clementfreze.fr/
+
+
+
+
+
+
+
+ yt:video:0AXRQmA978k
+ 0AXRQmA978k
+ UCY7klexd1qEqxgqYK6W7BVQ
+ 😱 NarkoTag et une mémoire kilométrique ? 📖🧠 - Clément Freze
+
+
+ Clément FREZE - Mentaliste
+ https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
+
+ 2020-02-24T20:07:04+00:00
+ 2021-03-29T09:45:01+00:00
+
+ 😱 NarkoTag et une mémoire kilométrique ? 📖🧠 - Clément Freze
+
+
+ Salut tout le monde !
+
+Aujourd'hui, avec NarkoTag, l'ami de mon créateur lumières et ami d'enfance Coco, je vous invite à une expérience alliant mémoire, dictionnaire et mangas. En espérant que ça vous plaise.
+
+
+Amitiés
+
+CF
+
+La vidéo faîte avec Damien : https://www.youtube.com/watch?v=aK9tFuI375A
+La chaîne de NarkoTag : https://www.youtube.com/user/NarkoTag83
+
+---
+
+Tipeee : https://fr.tipeee.com/clementfreze
+Facebook : https://www.facebook.com/clementfreze/
+Twitter : https://twitter.com/clementfreze
+Instagram : https://www.instagram.com/clementfreze
+Site Internet : http://clementfreze.fr/
+
+
+
+
+
+
+
+ yt:video:wdl8D9SUnq8
+ wdl8D9SUnq8
+ UCY7klexd1qEqxgqYK6W7BVQ
+ 🧪🌳 L'appel à la nature (avec Julien LEPERS) ⚗️🧠 - Clément Freze
+
+
+ Clément FREZE - Mentaliste
+ https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
+
+ 2020-02-18T18:14:04+00:00
+ 2021-03-26T14:13:09+00:00
+
+ 🧪🌳 L'appel à la nature (avec Julien LEPERS) ⚗️🧠 - Clément Freze
+
+
+ Salut tout le monde !
+
+Aujourd'hui, un épisode expliquant la différence entre "Artificiel" et "Chimique", et la confusion faîte (parfois volontairement) au service de la vente de produits dits "Naturels".
+Et en prime, en guest-star dans EBBH, Julien LEPERS (oui, le vrai), un de mes héros d'enfance !
+
+Méfions-nous du greenwashing !
+Merci encore de votre soutien, n'hésitez pas à vous abonner.
+
+Adaptation de l'épisode EBBH #53 à retrouver ici :
+https://ebbh.fr/2020/01/episode-53-questions-pour-un-sceptique/
+Sa page facebook : https://www.facebook.com/RoMEBBH/
+Son Tipeee : https://fr.tipeee.com/evidence-based-bonne-humeur
+
+Amitiés
+
+CF
+
+---
+
+Tipeee : https://fr.tipeee.com/clementfreze
+Facebook : https://www.facebook.com/clementfreze/
+Twitter : https://twitter.com/clementfreze
+Instagram : https://www.instagram.com/clementfreze
+Site Internet : http://clementfreze.fr/
+
+
+
+
+
+
+
+ yt:video:X19KrvmOcRM
+ X19KrvmOcRM
+ UCY7klexd1qEqxgqYK6W7BVQ
+ 🤯📰 Une déduction et une étrange coïncidence ! 🕵🧠 - Clément Freze
+
+
+ Clément FREZE - Mentaliste
+ https://www.youtube.com/channel/UCY7klexd1qEqxgqYK6W7BVQ
+
+ 2020-02-04T19:59:51+00:00
+ 2021-03-27T11:43:23+00:00
+
+ 🤯📰 Une déduction et une étrange coïncidence ! 🕵🧠 - Clément Freze
+
+
+ Salut tout le monde !
+
+Aujourd'hui, nouveau Mindfuck avec une routine que j'apprécie tout particulièrement, spécifiquement pour un collègue d'un groupe facebook qui m'a demandé si il était possible pour moi de faire ce que vous allez voir.
+
+Challenge relevé !
+J'espère que cela vous plaira, à très vite pour la vidéo FrezeAQ ainsi que pour le prochain Zétéclic.
+
+Amitiés
+
+CF
+
+---
+
+Tipeee : https://fr.tipeee.com/clementfreze
+Facebook : https://www.facebook.com/clementfreze/
+Twitter : https://twitter.com/clementfreze
+Instagram : https://www.instagram.com/clementfreze
+Site Internet : http://clementfreze.fr/
+
+
+
+
+
+
+
diff --git a/tests/RessourcesTest/RealRessources/WithUpdate/UCh2YBKhYIy-_LtfCIn2Jycg.rss b/tests/RessourcesTest/RealRessources/WithUpdate/UCh2YBKhYIy-_LtfCIn2Jycg.rss
new file mode 100644
index 0000000..a3ba932
--- /dev/null
+++ b/tests/RessourcesTest/RealRessources/WithUpdate/UCh2YBKhYIy-_LtfCIn2Jycg.rss
@@ -0,0 +1,917 @@
+
+
+
+ yt:channel:UCh2YBKhYIy-_LtfCIn2Jycg
+ UCh2YBKhYIy-_LtfCIn2Jycg
+ Mr. Sam - Point d'interrogation
+
+
+ Mr. Sam - Point d'interrogation
+ https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
+
+ 2013-06-28T23:17:09+00:00
+
+ yt:video:g7m5-auOUDM
+ g7m5-auOUDM
+ UCh2YBKhYIy-_LtfCIn2Jycg
+ ❓ Introduction à l'alternative sceptique • Méthode Z #1
+
+
+ Mr. Sam - Point d'interrogation
+ https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
+
+ 2021-03-19T16:48:35+00:00
+ 2021-03-24T15:28:52+00:00
+
+ ❓ Introduction à l'alternative sceptique • Méthode Z #1
+
+
+ Les médias traditionnels comme les médias alternatifs déçoivent par leur manque de fiabilité. Et s'il existait une alternative à ces deux sources d'information ?
+
+P O U R B O I R E
+Tipeee & autres plateformes (Merci à vous !!!)
+http://www.s-cape.biz/mrsam/index.html
+https://en.tipeee.com/mrsam
+https://www.patreon.com/mrsam
+https://www.utip.io/mrsam
+http://s-cape.biz/mrsam/btc.html
+
+S U I V R E
+https://www.facebook.com/samuelbuisseret/
+https://twitter.com/MrSam144
+https://www.instagram.com/Mr.Sam144/
+
+0:00 Intro
+0:57 État des lieux
+1:58 La troisième alternative, incomprise
+3:50 Définition de ce qu'est la communauté sceptique
+4:33 Le sceptique idéal
+5:30 Les dangers de la méthode populaire
+6:08 Les informations contrôlées (illustration)
+7:03 Quand on ne connait pas l'autodéfense intellectuelle
+7:37 Vrai et faux sceptique ?
+8:08 Les sceptiques sur les réseaux sociaux
+9:05 Le scepticisme antique
+10:44 C'est quoi la communauté sceptique alors ?
+11:54 Aucun sceptique n'a raison
+12:07 Un peu trop peu
+12:59 Ce que ça change dans la vie
+13:35 Ce qui intéresse le sceptique idéal
+14:19 Outro
+
+E R R A T U M
+
+Jusqu'ici, tout va bien :)
+
+S O U R C E S
+
+Les sources potentiellement contrôlées:
+https://en.wikipedia.org/wiki/Warranting_theory
+https://journals.sagepub.com/doi/abs/10.1177/0093650215573862
+https://doi.org/10.1016/S0306-4573(02)00032-8
+
+Biais et heuristiques
+https://fr.wikipedia.org/wiki/Heuristique_de_jugement#Exemples
+
+Le scepticisme philosophique
+https://fr.wikipedia.org/wiki/Scepticisme_(philosophie)
+
+#mrsam144 #methodeZ #zetetique
+
+
+
+
+
+
+
+ yt:video:2-cGksQf-w8
+ 2-cGksQf-w8
+ UCh2YBKhYIy-_LtfCIn2Jycg
+ ❓ Comment ce complotiste a-t-il commencé à changer d'avis ? • Le Petit Point d'? - 6 janvier 2021
+
+
+ Mr. Sam - Point d'interrogation
+ https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
+
+ 2021-01-06T17:13:32+00:00
+ 2021-01-11T20:34:58+00:00
+
+ ❓ Comment ce complotiste a-t-il commencé à changer d'avis ? • Le Petit Point d'? - 6 janvier 2021
+
+
+ Un fervent partisant de Raoult et de France Soir a amorcé un tournant à 180° suite à une conversation particulière avec Doc Primum. Comment cela a-t-il été rendu possible ?
+
+PENSEZ À ACTIVER LES SOUS-TITRES ZOULOU POUR VOIR LES ÉVENTUELLES CORRECTIONS EN COURS DE VIDÉO !
+
+AIDE ET SOUTIEN
+Vous souhaitez faire le point sur votre situation, être soutenu, avoir un avis neutre sur vos engagements ? N'hésitez pas à contacter ces associations, elles existent pour ça.
+La véritable honte, c'est de ne pas oser demander de l'aide :
+https://www.ccmm.asso.fr/
+https://www.gemppi.org/
+
+P O U R B O I R E
+Tipeee & autres plateformes (Merci à vous !!!)
+http://www.s-cape.biz/mrsam/index.html
+https://en.tipeee.com/mrsam
+https://www.patreon.com/mrsam
+https://www.utip.io/mrsam
+http://s-cape.biz/mrsam/btc.html
+
+S U I V R E
+https://www.facebook.com/samuelbuisseret/
+https://twitter.com/MrSam144
+https://www.instagram.com/Mr.Sam144/
+
+E R R A T U M
+
+La comparaison entre la virulence de l'alternosphère et la bienveillance de la comu sceptique est ici biaisée car asymétrique. La juste comparaison peut se faire plutôt en comparant le moment ou la personne a déclaré avoir changé d'avis à l'alternosphère, face au moment où le lendemain elle prétendait avoir voulu piéger les sceptiques. Dans ce cas un peu plus comparable, effectivement les sceptiques se sont montrés beaucoup moins virulents.
+
+S O U R C E S
+
+Un résumé par Acermendax:
+https://twitter.com/Acermendax/status/1346392488504913921
+
+Doc Primum:
+https://www.youtube.com/channel/UC9BnGZLT4iPaJtDOXYwQuHQ
+
+L'entretien épistémique, conférence:
+https://www.youtube.com/watch?v=f3RNHlgsGf8
+
+#mrsam144 #lepetitpoint #zetetique
+
+
+
+
+
+
+
+ yt:video:z_nA-50GVA0
+ z_nA-50GVA0
+ UCh2YBKhYIy-_LtfCIn2Jycg
+ ❗ Unboxing des vinyles du concert synthwave S-cape pour les 100k abonnés.
+
+
+ Mr. Sam - Point d'interrogation
+ https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
+
+ 2020-12-15T17:57:33+00:00
+ 2020-12-15T18:23:19+00:00
+
+ ❗ Unboxing des vinyles du concert synthwave S-cape pour les 100k abonnés.
+
+
+ Lien vers le live: https://www.youtube.com/watch?v=Fy30ZZGnZWg
+
+P O U R B O I R E
+Tipeee & autres plateformes (Merci à vous !!!)
+http://www.s-cape.biz/mrsam/index.html
+https://en.tipeee.com/mrsam
+https://www.patreon.com/mrsam
+https://www.utip.io/mrsam
+http://s-cape.biz/mrsam/btc.html
+
+S U I V R E
+https://www.facebook.com/samuelbuisseret/
+https://twitter.com/MrSam144
+https://www.instagram.com/Mr.Sam144/
+
+E R R A T U M
+
+Jusqu'ici, tout va bien :)
+
+S O U R C E S
+
+#mrsam144 #lepetitpoint #zetetique
+
+
+
+
+
+
+
+ yt:video:U_BRQCtC44M
+ U_BRQCtC44M
+ UCh2YBKhYIy-_LtfCIn2Jycg
+ ❓ Bigard, l'interview qui aurait dû déraper comme ça • ON SE TUTO ? #1
+
+
+ Mr. Sam - Point d'interrogation
+ https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
+
+ 2020-12-01T17:31:38+00:00
+ 2020-12-04T22:12:13+00:00
+
+ ❓ Bigard, l'interview qui aurait dû déraper comme ça • ON SE TUTO ? #1
+
+
+ Parodie de l'interview de Jean-Marie Bigard sur France Bleu. Hey Jean-Marie, c'est pas pour vous emmerder, c'est juste parce que j'aurais aimé que les réponses d'en face soient celles-là ;)
+
+P O U R B O I R E
+Tipeee & autres plateformes (Merci à vous !!!)
+http://www.s-cape.biz/mrsam/index.html
+https://en.tipeee.com/mrsam
+https://www.patreon.com/mrsam
+https://www.utip.io/mrsam
+http://s-cape.biz/mrsam/btc.html
+
+S U I V R E
+https://www.facebook.com/samuelbuisseret/
+https://twitter.com/MrSam144
+https://www.instagram.com/Mr.Sam144/
+
+E R R A T U M
+
+-Selon la méthode de calcul, on obtient les chiffres de JMB ou les miens (ratio infection/mortalité belge: 580.000 infectés pour 16.000 décès), j'ai donc tort de lui dire qu'il se trompe. Tout dépend si on considère les cas infectés depuis le début de la crise, si on exclu les personnes à risque, si on ne compte que les gens testés, etc...
+Détails ici : https://ourworldindata.org/mortality-risk-covid
+
+-580.000 infectés ne donne pas 580.000 personnes hospitalisées.
+
+-Galilée a été défendu toute sa vie par le pape Urbain VIII. C’est uniquement quand il a commencé à se moquer publiquement de la hiérarchie ecclésiastique qu’il a été condamné. Rien à voir avec la Science. Cependant, tout porte à croire que si l'on avait appliqué les critères actuels de la "méthode scientifique" aux travaux de Gallillée sa théorie, qui était pleine d'hypothèses spéculatives et ne contenait au final que peu d'éléments empiriques, n'aurait probablement jamais été prise au sérieux.
+En réalité, à son époque, ses thèses sont très loin d'être consensuelles, même au sein des spécialistes de la question, et il faudra de nombreuses années (et de nombreuses découvertes scientifiques) pour qu'elles finissent par être acceptées.
+Le mythe d'un Gallilée précurseur (et défenseur) des sciences face à l'obscurantisme religieux ne s'est construit que bien plus tard. Merci à Sapere Aude et Alex Rochegude pour ces précisions.
+
+S O U R C E S
+
+https://www.francebleu.fr/emissions/dans-le-retro/dans-le-retro-jean-marie-bigard-0
+
+#mrsam144 #lepetitpoint #zetetique
+
+
+
+
+
+
+
+ yt:video:uah30aSs-GA
+ uah30aSs-GA
+ UCh2YBKhYIy-_LtfCIn2Jycg
+ ❓ SCOOP: Ils ont FABRIQUÉ l'opinion publique de toute pièce • Le Petit Point d'? - 27 novembre 2020
+
+
+ Mr. Sam - Point d'interrogation
+ https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
+
+ 2020-11-27T16:39:24+00:00
+ 2020-12-05T14:18:37+00:00
+
+ ❓ SCOOP: Ils ont FABRIQUÉ l'opinion publique de toute pièce • Le Petit Point d'? - 27 novembre 2020
+
+
+ Récit d'une personne qui a réussi à s'infiltrer jusqu'aux plus hautes sphères de la communauté Raoult/Hold-Up/Reinfocovid/BonSens etc...
+
+P O U R B O I R E
+Tipeee & autres plateformes (Merci à vous !!!)
+http://www.s-cape.biz/mrsam/index.html
+https://en.tipeee.com/mrsam
+https://www.patreon.com/mrsam
+https://www.utip.io/mrsam
+http://s-cape.biz/mrsam/btc.html
+
+S U I V R E
+https://www.facebook.com/samuelbuisseret/
+https://twitter.com/MrSam144
+https://www.instagram.com/Mr.Sam144/
+
+E R R A T U M
+
+Jusqu'ici, tout va bien :)
+
+S O U R C E S
+
+Wlad Tepes
+https://twitter.com/wladtepes
+
+#mrsam144 #lepetitpoint #zetetique
+
+
+
+
+
+
+
+ yt:video:Rkk76tM6OBk
+ Rkk76tM6OBk
+ UCh2YBKhYIy-_LtfCIn2Jycg
+ ❓ L'ERREUR fondamentale des JOURNALISTES • Le Petit Point d'? - 13 novembre 2020
+
+
+ Mr. Sam - Point d'interrogation
+ https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
+
+ 2020-11-13T17:33:03+00:00
+ 2021-04-01T03:17:25+00:00
+
+ ❓ L'ERREUR fondamentale des JOURNALISTES • Le Petit Point d'? - 13 novembre 2020
+
+
+ Un documentaire choc, un livre plein de révélations, une vidéo présentant des preuves... Tous contenant le même ingrédient fondamental : des experts. Mais qui a mis ces ingrédients sous les projecteurs en premier ?
+
+P O U R B O I R E
+Tipeee & autres plateformes (Merci à vous !!!)
+http://www.s-cape.biz/mrsam/index.html
+https://en.tipeee.com/mrsam
+https://www.patreon.com/mrsam
+https://www.utip.io/mrsam
+http://s-cape.biz/mrsam/btc.html
+
+S U I V R E
+https://www.facebook.com/samuelbuisseret/
+https://twitter.com/MrSam144
+https://www.instagram.com/Mr.Sam144/
+
+R E C O M M A N D A T I O N
+
+Hygiène Mentale "Avoir raison pour de mauvaises raisons"
+https://www.youtube.com/watch?v=VnbhrwNXry0
+
+E R R A T U M
+
+Le glyphosathe est bien un pesticide, je voulais dire insecticide (rapport aux abeilles tout ça...)
+
+C'est le mot "empire" et non pas "empirique" qui a pour étymologie imperium/impero. Le mot empirique n'a donc pas la même origine qu'empire.
+
+S O U R C E S
+
+HOLD UP DEBUNK
+https://captainfact.io/videos/4Y7d
+https://docs.google.com/document/d/1UU2Gp_YH4NnJ2tRYPD1-pFli-F7TM1PtO_Ll95J2LQI/edit?fbclid=IwAR1V8r82ozqq-YGs_T1drGW8USeBPfbfeZc75tskbXUjGISXJB6ndSVt5dw
+
+Le bio
+https://www.youtube.com/watch?v=2P4Pw1V_ou0
+https://docs.google.com/document/d/1CyYikPhQKvjWn1sPIaMuQST4dc8TqEkiOu-nenD5RF8/edit
+
+Sondage IPSOS vaccin
+https://www.ipsos.com/en/global-attitudes-covid-19-vaccine-october-2020
+
+Michel Onfray
+https://twitter.com/MonsieurPhi/status/1325733310333657089?s=20
+
+L'AFIS
+https://www.pseudo-sciences.org/
+
+Le livre Foucard/Horel/Laurens
+https://www.pseudo-sciences.org/Le-livre-Les-gardiens-de-la-raison-fausses-affirmations-cherry-picking
+https://twitter.com/fmbreon/status/1325013988481052672?s=20
+https://blogs.mediapart.fr/yann-kindo/blog/301020/les-gardiens-de-la-deraison
+https://www.lemonde.fr/idees/article/2019/04/13/l-affaire-du-levothyrox-illustre-une-confusion-entre-consensus-scientifique-et-consensus-reglementaire_5449630_3232.html
+http://www.festivaldeslibertes.be/2019/fase6?event=19021&_Debat__Quest-ce-quun-fait-?-__#19021
+https://www.youtube.com/watch?v=pC4ptlfqS5E
+
+Seralini
+https://fr.wikipedia.org/wiki/Affaire_S%C3%A9ralini
+
+Louis Fouché
+https://twitter.com/Tipuncho/status/1326176991276634115
+https://twitter.com/tristanmf/status/1326101311377510400
+https://twitter.com/WhatsUpDoc_mag/status/1324630731289743360
+
+Raoult poursuivi:
+https://www.leparisien.fr/societe/sante/le-professeur-didier-raoult-poursuivi-par-l-ordre-des-medecins-12-11-2020-8407949.php
+
+9 mois de prédictions correctes sur Raoult:
+https://www.youtube.com/watch?v=h18tSEYukqE&list=PLHvR7ldCNjytFrViu2V79qVuiWNjViv_6
+
+Raoult recommande c19study
+https://www.youtube.com/watch?v=ngaRgZDENOg
+
+C19study, source de fake:
+https://www.newsguardtech.com/fr/coronavirus-misinformation-tracking-center/
+https://fr.wikipedia.org/wiki/Discussion:Hydroxychloroquine
+https://www.newsguardtech.com/wp-content/uploads/2020/09/CovidAnalysis.pdf
+
+Etymologie du mot empire :
+https://fr.m.wiktionary.org/wiki/empire
+
+#mrsam144 #lepetitpoint #zetetique
+
+
+
+
+
+
+
+ yt:video:aYJphssoEUE
+ aYJphssoEUE
+ UCh2YBKhYIy-_LtfCIn2Jycg
+ ❓IL FAUT ENSEIGNER LA MÉTHODE SCIENTIFIQUE À L'ÉCOLE • Le Grand Procès de la Science • ép.7
+
+
+ Mr. Sam - Point d'interrogation
+ https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
+
+ 2020-11-02T16:57:57+00:00
+ 2020-11-17T22:11:45+00:00
+
+ ❓IL FAUT ENSEIGNER LA MÉTHODE SCIENTIFIQUE À L'ÉCOLE • Le Grand Procès de la Science • ép.7
+
+
+ LE GRAND PROCÈS DE LA SCIENCE, épisode 7. #LGPScience
+Invité: Pleen le Jeune de la chaîne EduKey, abonnez-vous en suivant ce lien: https://www.youtube.com/channel/UC6wF0stG_iXMO4mIXM9g3YQ
+
+REGARDEZ CETTE VIDÉO: https://www.youtube.com/watch?v=6KCGT1cn-E8
+L'association Ephiscience et ma boite de prod Sunday Pistols Studio s'associent pour produire une vraie série-documentaire. Mais tout ceci n'est peut-être que la première étape d'un complot gigantesque...
+
+Rendez-vous sur https://edukey.fr avec le code #MRSAM pour participer à une soirée débat EXCLUSIVE à ce code promo, avec des membres de l'équipe, des chercheurs et moi-même !
+Offre valable jusqu'au 6 novembre 2020.
+
+R E C O M M A N D A T I O N S
+
+M.Phi - Merci Captain Ad Hoc ! | Grain de philo #23
+https://www.youtube.com/watch?v=meNQnNqHjes
+
+M.Phi - La théorie peut-elle réfuter l'expérience ? | Grain de philo #22
+https://www.youtube.com/watch?v=SXLHijQeYok
+
+Billes de sciences #0 : David Louapre - La mise en évidence de l'air
+https://www.youtube.com/watch?v=Fxfv0Yb37XA
+
+S O U R C E S
+Fasce, A., & Picó, A. (2019). Science as a Vaccine: The Relation between Scientific Literacy and Unwarranted Beliefs. Science & Education, 28(1–2), 109–125.
+https://doi.org/10.1007/s11191-018-00022-0
+
+Johnson, M., & Pigliucci, M. (2004). Is Knowledge of Science Associated with Higher Skepticism of Pseudoscientific Claims? 10.
+
+Lederman, J., Lederman, N., Bartels, S., Jimenez, J., Akubo, M., Aly, S., Bao, C., Blanquet, E., Blonder, R., Bologna Soares de Andrade, M., Buntting, C., Cakir, M., EL-Deghaidy, H., ElZorkani, A., Gaigher, E., Guo, S., Hakanen, A., Hamed Al-Lal, S., Han-Tosunoglu, C., … Zhou, Q. (2019). An international collaborative investigation of beginning seventh grade students’ understandings of scientific inquiry: Establishing a baseline. Journal of Research in Science Teaching, 56(4), 486–515. https://doi.org/10.1002/tea.21512
+
+Walker, W. R., Hoekstra, S. J., & Vogl, R. J. (2002). Science education is no guarantee of skepticism. Skeptic (Altadena, CA), 9(3), 24-29.
+
+P O U R B O I R E
+Tipeee & autres plateformes (Merci à vous !!!)
+http://www.s-cape.biz/mrsam/index.html
+https://en.tipeee.com/mrsam
+https://www.patreon.com/mrsam
+https://www.utip.io/mrsam
+http://s-cape.biz/mrsam/btc.html
+
+S U I V R E
+https://www.facebook.com/samuelbuisseret/
+https://twitter.com/MrSam144
+https://www.instagram.com/Mr.Sam144/
+
+#LGPScience #edukey #mrsam
+
+
+
+
+
+
+
+ yt:video:L7QKQT7gfNo
+ L7QKQT7gfNo
+ UCh2YBKhYIy-_LtfCIn2Jycg
+ ❓ Qu'est-ce que c'est que ce CIRQUE • Le Petit Point d'? - 30 octobre 2020
+
+
+ Mr. Sam - Point d'interrogation
+ https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
+
+ 2020-10-30T17:21:58+00:00
+ 2020-11-24T14:16:35+00:00
+
+ ❓ Qu'est-ce que c'est que ce CIRQUE • Le Petit Point d'? - 30 octobre 2020
+
+
+ Le bilan du professeur, le point sur un nouveau remède, les avengers du bon sens, pas de doute, #lepetitpoint est de retour et il sort les canines !
+
+P O U R B O I R E
+Tipeee & autres plateformes (Merci à vous !!!)
+http://www.s-cape.biz/mrsam/index.html
+https://en.tipeee.com/mrsam
+https://www.patreon.com/mrsam
+https://www.utip.io/mrsam
+http://s-cape.biz/mrsam/btc.html
+
+S U I V R E
+https://www.facebook.com/samuelbuisseret/
+https://twitter.com/MrSam144
+https://www.instagram.com/Mr.Sam144/
+
+E R R A T U M
+
+Jusqu'ici, tout va bien :)
+
+P R O M O
+
+N'oubliez pas d'aller jeter un coup d'oeil au crowdfunding https://edukey.fr ! Un grand projet qui cartonne dont j'ai la chance de faire partie :)
+
+S O U R C E S
+
+Le grand bêtisier de Didier Raoult
+https://www.youtube.com/watch?v=BvwnuO2Eg0A
+
+Pas de réanimation à l'IHU
+https://actu.orange.fr/france/marseille-l-ihu-de-didier-raoult-ne-dispose-pas-de-lits-de-reanimation-pour-les-patients-atteints-d-une-forme-grave-du-covid-19-magic-CNT000001tUzB0.html
+
+Allocution complète de Macron
+https://www.youtube.com/watch?v=A5QXbo0a8wQ
+
+Étienne Klein
+https://www.youtube.com/watch?v=LOLhjRdK1Pg
+
+À propos de France Soir
+https://www.franceinter.fr/emissions/l-edito-m/l-edito-m-21-octobre-2019
+
+Le doigt dans le nez
+https://www.sciencesetavenir.fr/sante/question-du-jour-pourquoi-se-cure-t-on-le-nez_28511
+
+Bon sens
+https://bonsens.info/
+
+Gérard Guillaume et la seconde vague
+https://www.youtube.com/watch?v=9Mi5n2YR7Hs
+
+Martine Wonner
+https://www.liberation.fr/france/2020/10/16/la-deputee-martine-wonner-quitte-l-association-bonsens-qu-elle-venait-de-cofonder_1802627
+https://www.bfmtv.com/replay-emissions/22h-max/le-choix-de-max-les-affirmations-de-martine-wonner-sur-l-hydroxychloroquine-et-le-masque-sont-erronees-06-10_VN-202010070005.html
+https://www.tf1.fr/tmc/quotidien-avec-yann-barthes/videos/quotidien-deuxieme-partie-3-mai-2019.html
+
+#mrsam144 #lepetitpoint #zetetique
+
+
+
+
+
+
+
+ yt:video:3B6ITwGcLNA
+ 3B6ITwGcLNA
+ UCh2YBKhYIy-_LtfCIn2Jycg
+ ❓ VLOG: Éduquer à l'Esprit Critique • Le Petit Point d'? - 9 octobre 2020
+
+
+ Mr. Sam - Point d'interrogation
+ https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
+
+ 2020-10-09T16:32:35+00:00
+ 2021-03-29T20:20:04+00:00
+
+ ❓ VLOG: Éduquer à l'Esprit Critique • Le Petit Point d'? - 9 octobre 2020
+
+
+ L'association Ephiscience et ma boite de prod Sunday Pistols Studio s'associent pour produire une série-documentaire. Mais tout ceci n'est peut-être que la première étape d'un complot gigantesque...
+
+Rendez-vous sur https://edukey.fr avec le code #MRSAM !
+Offre valable jusqu'au 16 octobre 2020.
+
+P O U R B O I R E
+Tipeee & autres plateformes (Merci à vous !!!)
+http://www.s-cape.biz/mrsam/index.html
+https://en.tipeee.com/mrsam
+https://www.patreon.com/mrsam
+https://www.utip.io/mrsam
+http://s-cape.biz/mrsam/btc.html
+
+S U I V R E
+https://www.facebook.com/samuelbuisseret/
+https://twitter.com/MrSam144
+https://www.instagram.com/Mr.Sam144/
+
+#mrsam144 #lepetitpoint #zetetique
+
+
+
+
+
+
+
+ yt:video:j5jLkW54JlQ
+ j5jLkW54JlQ
+ UCh2YBKhYIy-_LtfCIn2Jycg
+ ❓ Une incroyable escroquerie scientifique • Le Petit Point d'? - 28 août 2020
+
+
+ Mr. Sam - Point d'interrogation
+ https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
+
+ 2020-08-28T15:54:16+00:00
+ 2020-12-24T00:54:05+00:00
+
+ ❓ Une incroyable escroquerie scientifique • Le Petit Point d'? - 28 août 2020
+
+
+ Le port du masque, l'escroquerie d'une publication scientifique, un test pour mesurer son honnêteté et des recommandations 3 étoiles.
+
+POUR LA BD DER FALL DES ADLERS:
+1: commandez votre exemplaire sur https://www.sundaypistols.be/derfall
+2: envoyez vos noms, prénoms, adresse de livraison et le code "#MRSAM" par email à derfall[at]herosenstock.fr (remplacez [at] par @)
+
+RECOMMANDATION "SILENT SPRING"
+Partie 1:
+https://www.youtube.com/watch?v=J2HfJGB79hQ
+Partie 2:
+https://www.youtube.com/watch?v=fW9vRgjZXHw
+
+Abonnez-vous à Lablouse, on s'y sent bien !
+https://www.youtube.com/channel/UCZnVzAaoJu37Tkz6YJn4EUQ
+
+P O U R B O I R E
+Tipeee & autres plateformes (Merci à vous !!!)
+http://www.s-cape.biz/mrsam/index.html
+https://en.tipeee.com/mrsam
+https://www.patreon.com/mrsam
+https://www.utip.io/mrsam
+http://s-cape.biz/mrsam/btc.html
+
+S U I V R E
+https://www.facebook.com/samuelbuisseret/
+https://twitter.com/MrSam144
+https://www.instagram.com/Mr.Sam144/
+
+E R R A T U M
+
+Bien qu'il soit également un virus à ARN, le sarscov2 n'est pas un rétrovirus. Mais rien ne garantit pour autant qu'un vaccin sera trouvé très prochainement.
+
+S O U R C E S
+
+Etude sur le masque (merci les Vaxxeuses !)
+https://pubmed.ncbi.nlm.nih.gov/32663849/
+https://jamanetwork.com/journals/jama/fullarticle/2768533
+https://pubmed.ncbi.nlm.nih.gov/32576336/
+
+Un médecin teste l'oxygénation à travers le masque
+https://lactualite.com/sante-et-science/donnez-moi-de-loxygene-2/
+
+Éternuement en slow motion
+https://www.youtube.com/watch?v=N-gZSKV9koQ
+
+L'étude de Violaine Guérin publié dans l'AJMH
+https://www.journalajmah.com/index.php/AJMAH/article/view/30224
+
+L'historique de l'étude du groupe "laissons les vendeurs de trottinette prescrire"
+http://www.mimiryudo.com/blog/2020/08/le-meilleur-article-de-tous-les-temps/
+
+La publication factice en français:
+http://www.mimiryudo.com/blog/wp-content/uploads/2020/08/test.pdf
+
+L'article anti-protocole Raoult de Futura Science
+https://www.futura-sciences.com/sante/actualites/coronavirus-fin-partie-chloroquine-80151/
+
+L'article pro-protocole Raoult de France Soir
+http://www.francesoir.fr/opinions-entretiens/interview-exclusive-une-etude-italienne-sur-3-451-patients-confirme-lefficacite
+
+L'épistémologie selon Raoult analysée par Florian Cova
+https://medium.com/@florian.cova/l%C3%A9pist%C3%A9mologie-opportuniste-de-didier-raoult-7359ec4a3006
+
+Version augmentée par la Tronche en Biais:
+https://menace-theoriste.fr/lepistemologie-opportuniste-de-didier-raoult/
+
+#mrsam144 #lepetitpoint #zetetique
+
+
+
+
+
+
+
+ yt:video:thSR2fQLmEA
+ thSR2fQLmEA
+ UCh2YBKhYIy-_LtfCIn2Jycg
+ ❓ Voici la pépite de l'été • Le Petit Point d'? - 6 août 2020
+
+
+ Mr. Sam - Point d'interrogation
+ https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
+
+ 2020-08-06T15:47:18+00:00
+ 2020-12-22T23:27:36+00:00
+
+ ❓ Voici la pépite de l'été • Le Petit Point d'? - 6 août 2020
+
+
+ Étienne Klein, qu'on ne présente plus (rassurez-moi, vous connaissez ?), nous gratifie de son premier ...oserais-je dire pamphlet ? 100% zététique, sans jamais le dire (et probablement sans jamais avoir eu l'intention de se rattacher à ce terme en souffrance il faut bien le dire). Le tube de l'été est un tract de 60 pages mesdames et messieurs.
+
+Acheter "LE GOÛT DU VRAI" :
+http://www.gallimard.fr/Catalogue/GALLIMARD/Tracts/Le-gout-du-vrai
+https://www.amazon.fr/go%C3%BBt-du-vrai-%C3%89tienne-Klein/dp/2072916712
+https://livre.fnac.com/a14857494/Etienne-Klein-Le-gout-du-vrai
+
+P O U R B O I R E
+Tipeee & autres plateformes (Merci à vous !!!)
+http://www.s-cape.biz/mrsam/index.html
+https://en.tipeee.com/mrsam
+https://www.patreon.com/mrsam
+https://www.utip.io/mrsam
+http://s-cape.biz/mrsam/btc.html
+
+S U I V R E
+https://www.facebook.com/samuelbuisseret/
+https://twitter.com/MrSam144
+https://www.instagram.com/Mr.Sam144/
+
+E R R A T U M
+
+Jusqu'ici, tout va bien :)
+
+S O U R C E S
+
+La conférence "Comment faire comprendre à quelqu'un qu'il a tort..."
+https://www.youtube.com/watch?v=f3RNHlgsGf8
+
+Le live de la Tronche en Biais (et non pas Primum)
+https://www.youtube.com/watch?v=a6oW35QKC-Q
+
+Le groupe Facebook pour le jeu vidéo:
+https://www.facebook.com/groups/309123867103253/
+
+#mrsam144 #lepetitpoint #zetetique
+
+
+
+
+
+
+
+ yt:video:RTsySAeTgEs
+ RTsySAeTgEs
+ UCh2YBKhYIy-_LtfCIn2Jycg
+ ❓ VLOG : Votre job d'été + actu de la chaîne • Le Petit Point d'? - 31 juillet 2020
+
+
+ Mr. Sam - Point d'interrogation
+ https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
+
+ 2020-07-31T15:05:36+00:00
+ 2021-03-27T03:03:10+00:00
+
+ ❓ VLOG : Votre job d'été + actu de la chaîne • Le Petit Point d'? - 31 juillet 2020
+
+
+ Le job d'été le plus geek du monde:
+Rejoignez-nous pour créer les stages d'un jeu vidéo sur Nintendo NES ! Dead line: 15 septembre 2020 !
+
+LA VIDÉO TUTORIEL (et tous les liens dans sa description)
+https://www.youtube.com/watch?v=-AXmJQr39bg
+
+LA DÉMO DU JEU NES
+http://www.saturdayman.be
+
+Les vinyles sont toujours en vente ici
+https://www.sundaypistols.be/?post_type=product
+
+Et on peut écouter ce que c'est ici
+https://www.youtube.com/watch?v=Fy30ZZGnZWg
+
+P O U R B O I R E
+Tipeee & autres plateformes (Merci à vous !!!)
+http://www.s-cape.biz/mrsam/index.html
+https://en.tipeee.com/mrsam
+https://www.patreon.com/mrsam
+https://www.utip.io/mrsam
+http://s-cape.biz/mrsam/btc.html
+
+S U I V R E
+https://www.facebook.com/samuelbuisseret/
+https://twitter.com/MrSam144
+https://www.instagram.com/Mr.Sam144/
+
+#mrsam144 #lepetitpoint #geek
+
+
+
+
+
+
+
+ yt:video:912_rNE1xmc
+ 912_rNE1xmc
+ UCh2YBKhYIy-_LtfCIn2Jycg
+ ❗Petit live entre amis 0% zététique autour de Final Fantasy 7R • LIVE!
+
+
+ Mr. Sam - Point d'interrogation
+ https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
+
+ 2020-07-07T20:33:04+00:00
+ 2021-03-28T12:43:56+00:00
+
+ ❗Petit live entre amis 0% zététique autour de Final Fantasy 7R • LIVE!
+
+
+ Sans aucune autre prétention que l'envie de partager leur passion pour ce grand jeu vidéo qu'est Final Fantasy VII et son remake, Primum Non Nocere et Mr.Sam vous invite à une soirée détente entre ami•e•s.
+
+Ce n'est ni pour les vues, ni pour les pourboires, ni pour quoi que ce soit d'autre que le plaisir d'avoir une simple discussion de comptoir autour d'une passion commune. Assoiffés d'érudition scientifique s'abstenir !
+
+P O U R B O I R E
+Tipeee & autres plateformes (Merci à vous !!!)
+http://www.s-cape.biz/mrsam/index.html
+https://en.tipeee.com/mrsam
+https://www.patreon.com/mrsam
+https://www.utip.io/mrsam
+http://s-cape.biz/mrsam/btc.html
+
+S U I V R E
+https://www.facebook.com/samuelbuisseret/
+https://twitter.com/MrSam144
+https://www.instagram.com/Mr.Sam144/
+
+#mrsam144 #primumnonnocere #ff7
+
+
+
+
+
+
+
+ yt:video:zYbQFDJOH6Y
+ zYbQFDJOH6Y
+ UCh2YBKhYIy-_LtfCIn2Jycg
+ ⏪ OPINION OU FAIT ? • vprq #9
+
+
+ Mr. Sam - Point d'interrogation
+ https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
+
+ 2020-06-26T11:48:09+00:00
+ 2021-03-31T23:09:40+00:00
+
+ ⏪ OPINION OU FAIT ? • vprq #9
+
+
+ Comment faire la différence entre une opinion et un fait ?
+Pourquoi la vérité échappe-t-elle à nos sens ?
+
+Extrait de Fake 11.1
+https://www.youtube.com/watch?v=U44YkyQ51pw
+
+P O U R B O I R E
+Tipeee & autres plateformes (Merci à vous !!!)
+http://www.s-cape.biz/mrsam/index.html
+https://en.tipeee.com/mrsam
+https://www.patreon.com/mrsam
+https://www.utip.io/mrsam
+http://s-cape.biz/mrsam/btc.html
+
+S U I V R E
+https://www.facebook.com/samuelbuisseret/
+https://twitter.com/MrSam144
+https://www.instagram.com/Mr.Sam144/
+
+E R R A T U M
+
+Jusqu'ici, tout va bien :)
+
+S O U R C E S
+Veuillez consulter les sources de la vidéo d'origine:
+https://www.youtube.com/watch?v=U44YkyQ51pw
+
+Mr.Sam est membre du https://www.cafe-sciences.org/ et du https://comitepara.be/
+
+#mrsam144 #vprq #zetetique
+
+
+
+
+
+
+
+ yt:video:fA_re7PdERI
+ fA_re7PdERI
+ UCh2YBKhYIy-_LtfCIn2Jycg
+ ⏪ LES ARGUMENTS CYCLIQUES - vprq #8
+
+
+ Mr. Sam - Point d'interrogation
+ https://www.youtube.com/channel/UCh2YBKhYIy-_LtfCIn2Jycg
+
+ 2020-06-26T11:48:05+00:00
+ 2021-03-30T05:57:27+00:00
+
+ ⏪ LES ARGUMENTS CYCLIQUES - vprq #8
+
+
+ Une des illusions logiques les plus dangereuses !
+
+Extrait de Fake 11.2
+https://www.youtube.com/watch?v=7N0e3loWeZQ
+
+P O U R B O I R E
+Tipeee & autres plateformes (Merci à vous !!!)
+http://www.s-cape.biz/mrsam/index.html
+https://en.tipeee.com/mrsam
+https://www.patreon.com/mrsam
+https://www.utip.io/mrsam
+http://s-cape.biz/mrsam/btc.html
+
+S U I V R E
+https://www.facebook.com/samuelbuisseret/
+https://twitter.com/MrSam144
+https://www.instagram.com/Mr.Sam144/
+
+E R R A T U M
+
+Jusqu'ici, tout va bien :)
+
+S O U R C E S
+Veuillez consulter les sources de la vidéo d'origine:
+https://www.youtube.com/watch?v=7N0e3loWeZQ
+
+Mr.Sam est membre du https://www.cafe-sciences.org/ et du https://comitepara.be/
+
+#mrsam144 #vprq #zetetique
+
+
+
+
+
+
+
diff --git a/tests/RessourcesTest/RealRessources/save.json b/tests/RessourcesTest/RealRessources/save.json
index 2440b1a..cb1f114 100644
--- a/tests/RessourcesTest/RealRessources/save.json
+++ b/tests/RessourcesTest/RealRessources/save.json
@@ -3,7 +3,6 @@
"address": "https://www.youtube.com/feeds/videos.xml?channel_id=UCOuIgj0CYCXCvjWywjDbauw",
"customfields": { "media:group": ["media:group"] },
"lastEntriesLinks": [
- "https://www.youtube.com/watch?v=CCnXUShhmEc",
"https://www.youtube.com/watch?v=aLcfWq7t6Cw",
"https://www.youtube.com/watch?v=hOWB7o6XUSU",
"https://www.youtube.com/watch?v=xhxok5nZsVI",
@@ -25,7 +24,6 @@
"address": "https://www.youtube.com/feeds/videos.xml?channel_id=UCh2YBKhYIy-_LtfCIn2Jycg",
"customfields": { "media:group": ["media:group"] },
"lastEntriesLinks": [
- "https://www.youtube.com/watch?v=g7m5-auOUDM",
"https://www.youtube.com/watch?v=2-cGksQf-w8",
"https://www.youtube.com/watch?v=z_nA-50GVA0",
"https://www.youtube.com/watch?v=U_BRQCtC44M",
@@ -47,7 +45,6 @@
"address": "https://www.youtube.com/feeds/videos.xml?channel_id=UCY7klexd1qEqxgqYK6W7BVQ",
"customfields": { "media:group": ["media:group"] },
"lastEntriesLinks": [
- "https://www.youtube.com/watch?v=OYDEiQTAIj8",
"https://www.youtube.com/watch?v=6TcnLd0faXk",
"https://www.youtube.com/watch?v=NsakaSVsK-I",
"https://www.youtube.com/watch?v=DR5NOWmyuI8",
diff --git a/tests/index-spec.ts b/tests/index-spec.ts
index 6ace843..b69dd67 100644
--- a/tests/index-spec.ts
+++ b/tests/index-spec.ts
@@ -16,31 +16,6 @@ chai.use(sinonChai);
const expect = chai.expect;
-const premakeInfo: ListenerRSSInfos[] = [
- {
- address:
- "https://www.youtube.com/feeds/videos.xml?channel_id=UCOuIgj0CYCXCvjWywjDbauw",
- timeloop: 10,
- customfields: {
- "media:group": ["media:group"],
- },
- },
- {
- address:
- "https://www.youtube.com/feeds/videos.xml?channel_id=UCh2YBKhYIy-_LtfCIn2Jycg",
- timeloop: 20,
- customfields: {
- "media:group": ["media:group"],
- },
- },
- {
- address:
- "https://www.youtube.com/feeds/videos.xml?channel_id=UCY7klexd1qEqxgqYK6W7BVQ",
- timeloop: 30,
- customfields: { "media:group": ["media:group"] },
- },
-];
-
describe("test class GestionListener", function () {
describe("test constructor", function () {
it("should create a new manageListener object without params", function () {
@@ -78,7 +53,7 @@ describe("test class GestionListener", function () {
fs.unlinkSync("tests/RessourcesTest/FakeRessources/fake_save.json");
});
- it("should save the inserted objects", function (): void {
+ it.only("should save the inserted objects", function (): void {
// given
const ml = new ManageListener();
let expectedObj: ListenerRss[] = [];
@@ -99,6 +74,10 @@ describe("test class GestionListener", function () {
ml.save("tests/RessourcesTest/FakeRessources/fake_save.json");
const tmp = require("./RessourcesTest/FakeRessources/save.json");
+ ml.save("tests/RessourcesTest/FakeRessources/fake_save.json");
+
+ ml.save("tests/RessourcesTest/FakeRessources/fake_save.json");
+
// expect
expect(expectedObj.map((item) => item.getProperty())).to.be.eql(tmp);
});
@@ -113,14 +92,15 @@ describe("test class GestionListener", function () {
nock.cleanAll();
});
- it.skip("should call correctly the events (no aggregation)", async function () {
+ it("should call correctly the events (no aggregation)", async function () {
// given
const clock = sinon.useFakeTimers();
const ml = new ManageListener({
path: "tests/RessourcesTest/RealRessources/save_no_history.json",
});
- const spy = sinon.spy();
+ const updateSpy = sinon.spy();
+ const newEntriesSpy = sinon.spy();
const tabChannelId = [
"UCOuIgj0CYCXCvjWywjDbauw",
@@ -128,38 +108,351 @@ describe("test class GestionListener", function () {
"UCY7klexd1qEqxgqYK6W7BVQ",
];
- ml.on("update", spy);
+ ml.on("update", updateSpy);
+ ml.on("newEntries", newEntriesSpy);
tabChannelId.forEach((item: string) => {
nock("https://www.youtube.com")
.get(`/feeds/videos.xml?channel_id=${item}`)
+ .replyWithFile(
+ 200,
+ path.join(__dirname, `RessourcesTest/RealRessources/${item}.rss`),
+ { "content-type": "text/xml", charset: "utf-8" }
+ )
+ .persist();
+ });
+ ml.startAll();
+
+ // here we're testing the first call
+ // when
+ await Promise.all([
+ events.once(ml.listenerArray[0], "update"),
+ events.once(ml.listenerArray[1], "update"),
+ events.once(ml.listenerArray[2], "update"),
+ ]);
+
+ //expect
+ expect(updateSpy).to.have.been.calledThrice;
+ expect(newEntriesSpy).to.have.been.calledThrice;
+
+ // here we're testing the second call for the first listener
+ // given
+ updateSpy.resetHistory();
+ newEntriesSpy.resetHistory();
+
+ // when
+ await clock.tickAsync(10000);
+ await events.once(ml.listenerArray[0], "update");
+
+ //expect
+ expect(updateSpy).to.have.been.calledOnce;
+ expect(newEntriesSpy).to.not.have.been.called;
+
+ // here we're testing the thrid call for the first listener and second for the second listener
+ // given
+ updateSpy.resetHistory();
+
+ // when
+ await clock.tickAsync(10000);
+ await Promise.all([
+ events.once(ml.listenerArray[0], "update"),
+ events.once(ml.listenerArray[1], "update"),
+ ]);
+
+ //expect
+ expect(updateSpy).to.have.been.calledTwice;
+ expect(newEntriesSpy).to.not.have.been.called;
+
+ // here we're testing the fourth call for the first listener and second for the third listener
+ // given
+ updateSpy.resetHistory();
+
+ // when
+ await clock.tickAsync(10000);
+ await Promise.all([
+ events.once(ml.listenerArray[0], "update"),
+ events.once(ml.listenerArray[2], "update"),
+ ]);
+
+ //expect
+ expect(updateSpy).to.have.been.calledTwice;
+ expect(newEntriesSpy).to.not.have.been.called;
+
+ ml.stopAll();
+ });
+
+ it("should call correctly the events with a new entry (no aggregation)", async function () {
+ // given
+ const clock = sinon.useFakeTimers();
+ const ml = new ManageListener({
+ path: "tests/RessourcesTest/RealRessources/save.json",
+ });
+
+ const updateSpy = sinon.spy();
+ const newEntriesSpy = sinon.spy();
+
+ const tabChannelId = [
+ "UCOuIgj0CYCXCvjWywjDbauw",
+ "UCh2YBKhYIy-_LtfCIn2Jycg",
+ "UCY7klexd1qEqxgqYK6W7BVQ",
+ ];
+
+ ml.on("update", updateSpy);
+ ml.on("newEntries", newEntriesSpy);
+ tabChannelId.forEach((item: string) => {
+ nock("https://www.youtube.com")
+ .get(`/feeds/videos.xml?channel_id=${item}`)
+ .once()
.replyWithFile(
200,
path.join(__dirname, `RessourcesTest/RealRessources/${item}.rss`),
{ "content-type": "text/xml", charset: "utf-8" }
);
});
+ ml.startAll();
+
+ // here we're testing the first call
+ // when
+ await Promise.all([
+ events.once(ml.listenerArray[0], "update"),
+ events.once(ml.listenerArray[1], "update"),
+ events.once(ml.listenerArray[2], "update"),
+ ]);
+
+ //expect
+ expect(updateSpy).to.have.been.calledThrice;
+ expect(newEntriesSpy).to.not.have.been.called;
+
+ // here we're testing the second call for the first listener
+ // given
+ updateSpy.resetHistory();
+ newEntriesSpy.resetHistory();
+
+ tabChannelId.forEach((item: string) => {
+ nock("https://www.youtube.com")
+ .get(`/feeds/videos.xml?channel_id=${item}`)
+ .replyWithFile(
+ 200,
+ path.join(
+ __dirname,
+ `RessourcesTest/RealRessources/WithUpdate/${item}.rss`
+ ),
+ { "content-type": "text/xml", charset: "utf-8" }
+ )
+ .persist();
+ });
// when
- ml.startAll();
-
- await clock.tickAsync(2);
- await events.once(ml, "update");
+ await clock.tickAsync(10000);
+ await events.once(ml.listenerArray[0], "update");
//expect
- expect(spy).to.have.been.calledThrice;
+ expect(updateSpy).to.have.been.calledOnce;
+ expect(newEntriesSpy).to.have.been.calledOnce;
+ // here we're testing the thrid call for the first listener and second for the second listener
// given
- spy.resetHistory();
+ updateSpy.resetHistory();
+ newEntriesSpy.resetHistory();
// when
- await clock.tickAsync(12000);
-
- ml.stopAll();
+ await clock.tickAsync(10000);
+ await Promise.all([
+ events.once(ml.listenerArray[0], "update"),
+ events.once(ml.listenerArray[1], "update"),
+ ]);
//expect
- expect(spy).to.have.been.calledOnce;
+ expect(updateSpy).to.have.been.calledTwice;
+ expect(newEntriesSpy).to.have.been.calledOnce;
+
+ // here we're testing the fourth call for the first listener and second for the third listener
+ // given
+ updateSpy.resetHistory();
+ newEntriesSpy.resetHistory();
+
+ // when
+ await clock.tickAsync(10000);
+ await Promise.all([
+ events.once(ml.listenerArray[0], "update"),
+ events.once(ml.listenerArray[2], "update"),
+ ]);
+
+ //expect
+ expect(updateSpy).to.have.been.calledTwice;
+ expect(newEntriesSpy).to.have.been.calledOnce;
+
+ ml.stopAll();
});
- it("should call correctly the events with a new entry (no aggregation)", function () {});
+ it("should call correctly the events (with aggregation)", async function () {
+ // given
+ const clock = sinon.useFakeTimers();
+ const ml = new ManageListener({
+ timeloop: 30,
+ path: "tests/RessourcesTest/RealRessources/save_no_history.json",
+ });
+
+ const updateSpy = sinon.spy();
+ const newEntriesSpy = sinon.spy();
+
+ const tabChannelId = [
+ "UCOuIgj0CYCXCvjWywjDbauw",
+ "UCh2YBKhYIy-_LtfCIn2Jycg",
+ "UCY7klexd1qEqxgqYK6W7BVQ",
+ ];
+
+ ml.on("update", updateSpy);
+ ml.on("newEntries", newEntriesSpy);
+ tabChannelId.forEach((item: string) => {
+ nock("https://www.youtube.com")
+ .get(`/feeds/videos.xml?channel_id=${item}`)
+ .replyWithFile(
+ 200,
+ path.join(__dirname, `RessourcesTest/RealRessources/${item}.rss`),
+ { "content-type": "text/xml", charset: "utf-8" }
+ )
+ .persist();
+ });
+ ml.startAll();
+
+ // when
+ await Promise.all([
+ events.once(ml.listenerArray[0], "update"),
+ events.once(ml.listenerArray[1], "update"),
+ events.once(ml.listenerArray[2], "update"),
+ ]);
+
+ //expect
+ expect(updateSpy).to.have.been.calledOnce;
+ expect(newEntriesSpy).to.have.been.calledOnce;
+
+ // given
+ updateSpy.resetHistory();
+ newEntriesSpy.resetHistory();
+
+ // when
+ await clock.tickAsync(10000);
+ await events.once(ml.listenerArray[0], "update");
+
+ //expect
+ expect(updateSpy).to.not.have.been.called;
+ expect(newEntriesSpy).to.not.have.been.called;
+
+ // when
+ await clock.tickAsync(10000);
+ await Promise.all([
+ events.once(ml.listenerArray[0], "update"),
+ events.once(ml.listenerArray[1], "update"),
+ ]);
+
+ //expect
+ expect(updateSpy).to.not.have.been.called;
+ expect(newEntriesSpy).to.not.have.been.called;
+
+ // when
+ await clock.tickAsync(10000);
+ await Promise.all([
+ events.once(ml.listenerArray[0], "update"),
+ events.once(ml.listenerArray[2], "update"),
+ ]);
+
+ //expect
+ expect(updateSpy).to.have.been.calledOnce;
+ expect(newEntriesSpy).to.not.have.been.called;
+
+ ml.stopAll();
+ });
+
+ it("should call correctly the events with a new entry (with aggregation)", async function () {
+ // given
+ const clock = sinon.useFakeTimers();
+ const ml = new ManageListener({
+ timeloop: 30,
+ path: "tests/RessourcesTest/RealRessources/save.json",
+ });
+
+ const updateSpy = sinon.spy();
+ const newEntriesSpy = sinon.spy();
+
+ const tabChannelId = [
+ "UCOuIgj0CYCXCvjWywjDbauw",
+ "UCh2YBKhYIy-_LtfCIn2Jycg",
+ "UCY7klexd1qEqxgqYK6W7BVQ",
+ ];
+
+ ml.on("update", updateSpy);
+ ml.on("newEntries", newEntriesSpy);
+ tabChannelId.forEach((item: string) => {
+ nock("https://www.youtube.com")
+ .get(`/feeds/videos.xml?channel_id=${item}`)
+ .once()
+ .replyWithFile(
+ 200,
+ path.join(__dirname, `RessourcesTest/RealRessources/${item}.rss`),
+ { "content-type": "text/xml", charset: "utf-8" }
+ );
+ });
+ ml.startAll();
+
+ // when
+ await Promise.all([
+ events.once(ml.listenerArray[0], "update"),
+ events.once(ml.listenerArray[1], "update"),
+ events.once(ml.listenerArray[2], "update"),
+ ]);
+
+ //expect
+ expect(updateSpy).to.have.been.calledOnce;
+ expect(newEntriesSpy).to.not.have.been.called;
+
+ // given
+ updateSpy.resetHistory();
+
+ tabChannelId.forEach((item: string) => {
+ nock("https://www.youtube.com")
+ .get(`/feeds/videos.xml?channel_id=${item}`)
+ .replyWithFile(
+ 200,
+ path.join(
+ __dirname,
+ `RessourcesTest/RealRessources/WithUpdate/${item}.rss`
+ ),
+ { "content-type": "text/xml", charset: "utf-8" }
+ )
+ .persist();
+ });
+
+ // when
+ await clock.tickAsync(10000);
+ await events.once(ml.listenerArray[0], "update");
+
+ //expect
+ expect(updateSpy).to.not.have.been.called;
+ expect(newEntriesSpy).to.not.have.been.called;
+
+ // when
+ await clock.tickAsync(10000);
+ await Promise.all([
+ events.once(ml.listenerArray[0], "update"),
+ events.once(ml.listenerArray[1], "update"),
+ ]);
+
+ //expect
+ expect(updateSpy).to.not.have.been.called;
+ expect(newEntriesSpy).to.not.have.been.called;
+
+ // when
+ await clock.tickAsync(10000);
+ await Promise.all([
+ events.once(ml.listenerArray[0], "update"),
+ events.once(ml.listenerArray[2], "update"),
+ ]);
+
+ //expect
+ expect(updateSpy).to.have.been.calledOnce;
+ expect(newEntriesSpy).to.have.been.calledOnce;
+
+ ml.stopAll();
+ });
});
});