From c97669b03e4c5927a7ae88e02a8641cbee4c235c Mon Sep 17 00:00:00 2001 From: newt Date: Wed, 9 Oct 2024 18:02:43 +0100 Subject: [PATCH] feat: nth root calculators (py, c++), list -> chunks (py), repo fixes --- .czrc | 3 + .husky/prepare-commit-msg | 4 - assets/python.png | Bin 59340 -> 0 bytes assets/royal-institute.jpg | Bin 5449 -> 0 bytes challenges/euler/package.json | 1 + challenges/euler/pnpm-lock.yaml | 387 +++++++ languages/c++/CMakeLists.txt | 1 + languages/c++/code/nthRoot.cc | 40 + languages/c++/code/squareForm.cc | 3 +- languages/python/calculators/nth root.py | 16 + languages/python/calculators/readme.md | 43 - languages/python/chunkArray.py | 11 + languages/python/readme.md | 30 - package.json | 14 +- pnpm-lock.yaml | 1251 ++-------------------- readme.md | 5 + school/royal institute/readme.md | 9 - 17 files changed, 531 insertions(+), 1287 deletions(-) create mode 100644 .czrc delete mode 100755 .husky/prepare-commit-msg delete mode 100644 assets/python.png delete mode 100644 assets/royal-institute.jpg create mode 100644 languages/c++/code/nthRoot.cc create mode 100644 languages/python/calculators/nth root.py delete mode 100644 languages/python/calculators/readme.md create mode 100644 languages/python/chunkArray.py delete mode 100644 languages/python/readme.md delete mode 100644 school/royal institute/readme.md diff --git a/.czrc b/.czrc new file mode 100644 index 0000000..08cc060 --- /dev/null +++ b/.czrc @@ -0,0 +1,3 @@ +{ + "path": "cz-conventional-changelog" +} diff --git a/.husky/prepare-commit-msg b/.husky/prepare-commit-msg deleted file mode 100755 index 5c18e4b..0000000 --- a/.husky/prepare-commit-msg +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -. "$(dirname "$0")/_/husky.sh" - -exec < /dev/tty && node_modules/.bin/cz --hook || true diff --git a/assets/python.png b/assets/python.png deleted file mode 100644 index be1ed8de6ed8f27cf6b884d9538687d74a39f26e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59340 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 diff --git a/assets/royal-institute.jpg b/assets/royal-institute.jpg deleted file mode 100644 index 4ccb8aaf03b5f83f79b3bbe295c5cf82cf20dcd7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5449 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 diff --git a/challenges/euler/package.json b/challenges/euler/package.json index eb97710..b8815a8 100644 --- a/challenges/euler/package.json +++ b/challenges/euler/package.json @@ -15,6 +15,7 @@ "chalk": "^4.1.2", "cheerio": "^1.0.0-rc.10", "execution-time": "^1.4.1", + "inquirer": "^8.2.0", "ms": "^2.1.3", "regenerator-runtime": "^0.13.9", "ts-node": "^10.4.0", diff --git a/challenges/euler/pnpm-lock.yaml b/challenges/euler/pnpm-lock.yaml index a78bc21..a77b2f4 100644 --- a/challenges/euler/pnpm-lock.yaml +++ b/challenges/euler/pnpm-lock.yaml @@ -8,6 +8,7 @@ specifiers: chalk: ^4.1.2 cheerio: ^1.0.0-rc.10 execution-time: ^1.4.1 + inquirer: ^8.2.0 ms: ^2.1.3 regenerator-runtime: ^0.13.9 ts-node: ^10.4.0 @@ -21,6 +22,7 @@ devDependencies: chalk: 4.1.2 cheerio: 1.0.0-rc.10 execution-time: 1.4.1 + inquirer: 8.2.0 ms: 2.1.3 regenerator-runtime: 0.13.9 ts-node: 10.4.0_626351e049b80b142acb2ce48a7f5656 @@ -300,6 +302,24 @@ packages: hasBin: true dev: true + /ansi-escapes/4.3.2: + resolution: + { + integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== + } + engines: { node: '>=8' } + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-regex/5.0.1: + resolution: + { + integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + } + engines: { node: '>=8' } + dev: true + /ansi-styles/4.3.0: resolution: { @@ -328,10 +348,38 @@ packages: - debug dev: true + /base64-js/1.5.1: + resolution: + { + integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + } + dev: true + + /bl/4.1.0: + resolution: + { + integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + } + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.0 + dev: true + /boolbase/1.0.0: resolution: { integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24= } dev: true + /buffer/5.7.1: + resolution: + { + integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + } + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + /chalk/4.1.2: resolution: { @@ -343,6 +391,13 @@ packages: supports-color: 7.2.0 dev: true + /chardet/0.7.0: + resolution: + { + integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== + } + dev: true + /cheerio-select/1.5.0: resolution: { @@ -372,6 +427,37 @@ packages: tslib: 2.3.1 dev: true + /cli-cursor/3.1.0: + resolution: + { + integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== + } + engines: { node: '>=8' } + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-spinners/2.6.1: + resolution: + { + integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== + } + engines: { node: '>=6' } + dev: true + + /cli-width/3.0.0: + resolution: + { + integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== + } + engines: { node: '>= 10' } + dev: true + + /clone/1.0.4: + resolution: { integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4= } + engines: { node: '>=0.8' } + dev: true + /color-convert/2.0.1: resolution: { @@ -417,6 +503,12 @@ packages: engines: { node: '>= 6' } dev: true + /defaults/1.0.3: + resolution: { integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= } + dependencies: + clone: 1.0.4 + dev: true + /diff/4.0.2: resolution: { @@ -464,6 +556,13 @@ packages: domhandler: 4.3.0 dev: true + /emoji-regex/8.0.0: + resolution: + { + integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + } + dev: true + /entities/2.2.0: resolution: { @@ -471,6 +570,11 @@ packages: } dev: true + /escape-string-regexp/1.0.5: + resolution: { integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= } + engines: { node: '>=0.8.0' } + dev: true + /execution-time/1.4.1: resolution: { @@ -480,6 +584,28 @@ packages: pretty-hrtime: 1.0.3 dev: true + /external-editor/3.1.0: + resolution: + { + integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== + } + engines: { node: '>=4' } + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + dev: true + + /figures/3.2.0: + resolution: + { + integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== + } + engines: { node: '>=8' } + dependencies: + escape-string-regexp: 1.0.5 + dev: true + /follow-redirects/1.14.6: resolution: { @@ -513,6 +639,95 @@ packages: entities: 2.2.0 dev: true + /iconv-lite/0.4.24: + resolution: + { + integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + } + engines: { node: '>=0.10.0' } + dependencies: + safer-buffer: 2.1.2 + dev: true + + /ieee754/1.2.1: + resolution: + { + integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + } + dev: true + + /inherits/2.0.4: + resolution: + { + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + } + dev: true + + /inquirer/8.2.0: + resolution: + { + integrity: sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ== + } + engines: { node: '>=8.0.0' } + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + ora: 5.4.1 + run-async: 2.4.1 + rxjs: 7.5.4 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + dev: true + + /is-fullwidth-code-point/3.0.0: + resolution: + { + integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + } + engines: { node: '>=8' } + dev: true + + /is-interactive/1.0.0: + resolution: + { + integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== + } + engines: { node: '>=8' } + dev: true + + /is-unicode-supported/0.1.0: + resolution: + { + integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== + } + engines: { node: '>=10' } + dev: true + + /lodash/4.17.21: + resolution: + { + integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + } + dev: true + + /log-symbols/4.1.0: + resolution: + { + integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== + } + engines: { node: '>=10' } + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + /make-error/1.3.6: resolution: { @@ -520,6 +735,14 @@ packages: } dev: true + /mimic-fn/2.1.0: + resolution: + { + integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + } + engines: { node: '>=6' } + dev: true + /ms/2.1.3: resolution: { @@ -527,6 +750,13 @@ packages: } dev: true + /mute-stream/0.0.8: + resolution: + { + integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== + } + dev: true + /nth-check/2.0.1: resolution: { @@ -536,6 +766,39 @@ packages: boolbase: 1.0.0 dev: true + /onetime/5.1.2: + resolution: + { + integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== + } + engines: { node: '>=6' } + dependencies: + mimic-fn: 2.1.0 + dev: true + + /ora/5.4.1: + resolution: + { + integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== + } + engines: { node: '>=10' } + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + dev: true + + /os-tmpdir/1.0.2: + resolution: { integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= } + engines: { node: '>=0.10.0' } + dev: true + /parse5-htmlparser2-tree-adapter/6.0.1: resolution: { @@ -557,6 +820,18 @@ packages: engines: { node: '>= 0.8' } dev: true + /readable-stream/3.6.0: + resolution: + { + integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + } + engines: { node: '>= 6' } + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + /regenerator-runtime/0.13.9: resolution: { @@ -564,6 +839,86 @@ packages: } dev: true + /restore-cursor/3.1.0: + resolution: + { + integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== + } + engines: { node: '>=8' } + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /run-async/2.4.1: + resolution: + { + integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== + } + engines: { node: '>=0.12.0' } + dev: true + + /rxjs/7.5.4: + resolution: + { + integrity: sha512-h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ== + } + dependencies: + tslib: 2.3.1 + dev: true + + /safe-buffer/5.2.1: + resolution: + { + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + } + dev: true + + /safer-buffer/2.1.2: + resolution: + { + integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + } + dev: true + + /signal-exit/3.0.7: + resolution: + { + integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + } + dev: true + + /string-width/4.2.3: + resolution: + { + integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + } + engines: { node: '>=8' } + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string_decoder/1.3.0: + resolution: + { + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + } + dependencies: + safe-buffer: 5.2.1 + dev: true + + /strip-ansi/6.0.1: + resolution: + { + integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + } + engines: { node: '>=8' } + dependencies: + ansi-regex: 5.0.1 + dev: true + /supports-color/7.2.0: resolution: { @@ -574,6 +929,20 @@ packages: has-flag: 4.0.0 dev: true + /through/2.3.8: + resolution: { integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= } + dev: true + + /tmp/0.0.33: + resolution: + { + integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== + } + engines: { node: '>=0.6.0' } + dependencies: + os-tmpdir: 1.0.2 + dev: true + /ts-node/10.4.0_626351e049b80b142acb2ce48a7f5656: resolution: { @@ -615,6 +984,14 @@ packages: } dev: true + /type-fest/0.21.3: + resolution: + { + integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== + } + engines: { node: '>=10' } + dev: true + /typescript/4.4.4: resolution: { @@ -624,6 +1001,16 @@ packages: hasBin: true dev: true + /util-deprecate/1.0.2: + resolution: { integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= } + dev: true + + /wcwidth/1.0.1: + resolution: { integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= } + dependencies: + defaults: 1.0.3 + dev: true + /yn/3.1.1: resolution: { diff --git a/languages/c++/CMakeLists.txt b/languages/c++/CMakeLists.txt index 2cd6726..e8c9a04 100644 --- a/languages/c++/CMakeLists.txt +++ b/languages/c++/CMakeLists.txt @@ -12,3 +12,4 @@ add_executable(karatsuba code/karatsuba.cc) add_executable(dice code/dice.cc) add_executable(binomialExpansion code/binomialExpansion.cc) add_executable(squareForm code/squareForm.cc) +add_executable(nthRoot code/nthRoot.cc) diff --git a/languages/c++/code/nthRoot.cc b/languages/c++/code/nthRoot.cc new file mode 100644 index 0000000..674cdee --- /dev/null +++ b/languages/c++/code/nthRoot.cc @@ -0,0 +1,40 @@ +#include +#include +#include + +double nthRoot(double n, double x) { + double lastX; + double y = 1; // initial guess + + while (y != lastX) { + // f(y) = yⁿ - x + // f'(y) = nyⁿ⁻¹ + double f = std::pow(y, n) - x; + double fprime = n * std::pow(y, n - 1); + + lastX = y; + y -= f / fprime; + } + + return y; +} + +int promptForInteger(std::string letter) { + std::cout << "Please input a value for " + letter + ": "; + + int input; + std::cin >> input; + + return input; +} + + +int main() { + std::cout << "ⁿ√x\n"; + int n = promptForInteger("n"); + int x = promptForInteger("x"); + + // Make sure that cout prints to the highest precision possible + std::cout.precision(std::numeric_limits::max_digits10); + std::cout << nthRoot(n, x); +} diff --git a/languages/c++/code/squareForm.cc b/languages/c++/code/squareForm.cc index 6a39081..25fbc75 100644 --- a/languages/c++/code/squareForm.cc +++ b/languages/c++/code/squareForm.cc @@ -14,7 +14,6 @@ double power(double base, double exponent) { int greatestCommonDivisor(int a, int b) { int currentA = abs(a); int currentB = abs(b); - bool divisorFound = false; while (currentA != currentB) { if (currentA > currentB) { @@ -97,7 +96,7 @@ int promptForInteger(std::string letter) { } int main() { - std::cout << "ax² + b^x + c^x -> a(x + p) + q\n"; + std::cout << "ax² + bx + c -> a(x + p)² + q\n"; int a = promptForInteger("a"); int b = promptForInteger("b"); diff --git a/languages/python/calculators/nth root.py b/languages/python/calculators/nth root.py new file mode 100644 index 0000000..eb8791c --- /dev/null +++ b/languages/python/calculators/nth root.py @@ -0,0 +1,16 @@ +def nthRoot(n: int, x: int): + lastX = None + y = 1 # initial guess + + while y != lastX: + # f(y) = yⁿ - x + # f'(y) = nyⁿ⁻¹ + f = (y ** n) - x + fprime = n * (y ** (n - 1)) + + lastX = y + y -= f / fprime + + return y + +print(nthRoot(5, 6 ** 6)) diff --git a/languages/python/calculators/readme.md b/languages/python/calculators/readme.md deleted file mode 100644 index 1f7b393..0000000 --- a/languages/python/calculators/readme.md +++ /dev/null @@ -1,43 +0,0 @@ -
- -### Babylonian Square Root - - - -#### LaTeX - -``` -x_0 \approx \sqrt{S} \\ -x_{n + 1} = \frac{x_n + \frac{S}{x_n}}{2} \\ -\sqrt{S} = \displaystyle \lim_{n \to \infty}x_n -``` - -### Karatsuba Algorithm - -[Wikipedia](https://en.wikipedia.org/wiki/Karatsuba_algorithm) - -[An amazing video on the topic](https://youtu.be/cCKOl5li6YM) - -``` -function karatsuba (num1, num2) - if (num1 < 10) or (num2 < 10) - return num1 × num2 /* fall back to traditional multiplication */ - - /* Calculates the size of the numbers. */ - m = min (size_base10(num1), size_base10(num2)) - m2 = floor (m / 2) - /* m2 = ceil (m / 2) will also work */ - - /* Split the digit sequences in the middle. */ - high1, low1 = split_at (num1, m2) - high2, low2 = split_at (num2, m2) - - /* 3 recursive calls made to numbers approximately half the size. */ - z0 = karatsuba (low1, low2) - z1 = karatsuba (low1 + high1, low2 + high2) - z2 = karatsuba (high1, high2) - - return (z2 × 10 ^ (m2 × 2)) + ((z1 - z2 - z0) × 10 ^ m2) + z0 -``` - -
diff --git a/languages/python/chunkArray.py b/languages/python/chunkArray.py new file mode 100644 index 0000000..a90204d --- /dev/null +++ b/languages/python/chunkArray.py @@ -0,0 +1,11 @@ +def chunkArray(array, chunkCount): + chunks = [] + + for i in reversed(range(1, chunkCount + 1)): + splitPoint = len(array) // i + chunks.append(array[:splitPoint]) + array = array[splitPoint:] + + return chunks + +print(chunkArray([1,2,3,4,5,6], 3)) diff --git a/languages/python/readme.md b/languages/python/readme.md deleted file mode 100644 index e1b38bf..0000000 --- a/languages/python/readme.md +++ /dev/null @@ -1,30 +0,0 @@ -
- -

python

-
- -### Data Science - -- [Fake Jobs Scraper](data-science/Fake%20Jobs.py) -- [Country Population vs Active Facebook Users in the Country](data-science/Facebook.py) -- [Estimated Revenue for the top Twitch channels](data-science/Twitch%20Revenue.py) -- [ngrams](data-science/ngrams) - - [Comparison](data-science/ngrams/comparison/Comparison.py) - - [Popularity](data-science/ngrams/popularity/Popularity.py) - -### Calculators - -- [Binomial Distribution](calculators/Binomial%20Distribution.py) -- [Binomial Expansion](calculators/Binomial%20Expansion.py) -- [Karatsuba Algorithm](calculators/Karatsuba%20Algorithm.py) -- [Pearson's Product-Moment Correlation Coefficient](calculators/PMCC.py) -- [Babylonian Square Root](calculators/Babylonian%20%Sqaure%20Root.py) -- [Spearman's Rank Correlation Coefficient](calculators/SRCC.py) -- [Trigometric Functions](calculators/Trigometric%20Functions.py) -- [Pascal's Triangle](calculators/Pascal's%20Triangle.py) - -### Other - -- [2 Stars List](gd-two-star-list) -- [Pong (made with Pygame)](pong) -- [pythonchallenge.com](pythonchallenge.com) diff --git a/package.json b/package.json index 9ae848d..d1153d6 100644 --- a/package.json +++ b/package.json @@ -1,26 +1,14 @@ { "name": "the-honk", - "config": { - "commitizen": { - "path": "@commitlint/cz-commitlint" - } - }, "scripts": { "prepare": "husky install" }, "devDependencies": { - "@commitlint/cli": "^16.0.1", - "@commitlint/config-conventional": "^16.0.0", - "@commitlint/cz-commitlint": "^16.0.0", "@types/node": "^17.0.6", "commitizen": "^4.2.4", + "cz-conventional-changelog": "^3.3.0", "husky": "^7.0.4", - "inquirer": "^8.2.0", "prettier": "^2.5.1", "pretty-quick": "^3.1.3" - }, - "peerDependencies": { - "@types/node": "^17.0.6", - "inquirer": "^8.2.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 171e698..65f9a23 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,24 +1,18 @@ lockfileVersion: 5.3 specifiers: - '@commitlint/cli': ^16.0.1 - '@commitlint/config-conventional': ^16.0.0 - '@commitlint/cz-commitlint': ^16.0.0 '@types/node': ^17.0.6 commitizen: ^4.2.4 + cz-conventional-changelog: ^3.3.0 husky: ^7.0.4 - inquirer: ^8.2.0 prettier: ^2.5.1 pretty-quick: ^3.1.3 devDependencies: - '@commitlint/cli': 16.0.1_@types+node@17.0.6 - '@commitlint/config-conventional': 16.0.0 - '@commitlint/cz-commitlint': 16.0.0_f5a1df63f13403881edc0aa69eed88c7 '@types/node': 17.0.6 commitizen: 4.2.4_@types+node@17.0.6 + cz-conventional-changelog: 3.3.0_@types+node@17.0.6 husky: 7.0.4 - inquirer: 8.2.0 prettier: 2.5.1 pretty-quick: 3.1.3_prettier@2.5.1 @@ -32,6 +26,7 @@ packages: dependencies: '@babel/highlight': 7.16.7 dev: true + optional: true /@babel/helper-validator-identifier/7.16.7: resolution: @@ -40,6 +35,7 @@ packages: } engines: { node: '>=6.9.0' } dev: true + optional: true /@babel/highlight/7.16.7: resolution: @@ -52,39 +48,7 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 dev: true - - /@commitlint/cli/16.0.1_@types+node@17.0.6: - resolution: - { - integrity: sha512-61gGRy65WiVDRsqP0dAR2fAgE3qrTBW3fgz9MySv32y5Ib3ZXXDDq6bGyQqi2dSaPuDYzNCRwwlC7mmQM73T/g== - } - engines: { node: '>=v12' } - hasBin: true - dependencies: - '@commitlint/format': 16.0.0 - '@commitlint/lint': 16.0.0 - '@commitlint/load': 16.0.0_@types+node@17.0.6 - '@commitlint/read': 16.0.0 - '@commitlint/types': 16.0.0 - lodash: 4.17.21 - resolve-from: 5.0.0 - resolve-global: 1.0.0 - yargs: 17.3.1 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - dev: true - - /@commitlint/config-conventional/16.0.0: - resolution: - { - integrity: sha512-mN7J8KlKFn0kROd+q9PB01sfDx/8K/R25yITspL1No8PB4oj9M1p77xWjP80hPydqZG9OvQq+anXK3ZWeR7s3g== - } - engines: { node: '>=v12' } - dependencies: - conventional-changelog-conventionalcommits: 4.6.3 - dev: true + optional: true /@commitlint/config-validator/16.0.0: resolution: @@ -96,41 +60,7 @@ packages: '@commitlint/types': 16.0.0 ajv: 6.12.6 dev: true - - /@commitlint/cz-commitlint/16.0.0_f5a1df63f13403881edc0aa69eed88c7: - resolution: - { - integrity: sha512-kUYfM4OyXtZubD3wrCbfpkUbFSudHTaHkY4jxt00RofsaKWtKDVrOdhjGqdQzp06KItyRU+1BuNoW/SJ3t+ytQ== - } - engines: { node: '>= 10' } - peerDependencies: - commitizen: ^4.0.3 - inquirer: ^8.0.0 - dependencies: - '@commitlint/ensure': 16.0.0 - '@commitlint/load': 16.0.0_@types+node@17.0.6 - '@commitlint/types': 16.0.0 - chalk: 4.1.2 - commitizen: 4.2.4_@types+node@17.0.6 - inquirer: 8.2.0 - lodash: 4.17.21 - word-wrap: 1.2.3 - transitivePeerDependencies: - - '@swc/core' - - '@swc/wasm' - - '@types/node' - dev: true - - /@commitlint/ensure/16.0.0: - resolution: - { - integrity: sha512-WdMySU8DCTaq3JPf0tZFCKIUhqxaL54mjduNhu8v4D2AMUVIIQKYMGyvXn94k8begeW6iJkTf9cXBArayskE7Q== - } - engines: { node: '>=v12' } - dependencies: - '@commitlint/types': 16.0.0 - lodash: 4.17.21 - dev: true + optional: true /@commitlint/execute-rule/16.0.0: resolution: @@ -139,41 +69,7 @@ packages: } engines: { node: '>=v12' } dev: true - - /@commitlint/format/16.0.0: - resolution: - { - integrity: sha512-9yp5NCquXL1jVMKL0ZkRwJf/UHdebvCcMvICuZV00NQGYSAL89O398nhqrqxlbjBhM5EZVq0VGcV5+7r3D4zAA== - } - engines: { node: '>=v12' } - dependencies: - '@commitlint/types': 16.0.0 - chalk: 4.1.2 - dev: true - - /@commitlint/is-ignored/16.0.0: - resolution: - { - integrity: sha512-gmAQcwIGC/R/Lp0CEb2b5bfGC7MT5rPe09N8kOGjO/NcdNmfFSZMquwrvNJsq9hnAP0skRdHIsqwlkENkN4Lag== - } - engines: { node: '>=v12' } - dependencies: - '@commitlint/types': 16.0.0 - semver: 7.3.5 - dev: true - - /@commitlint/lint/16.0.0: - resolution: - { - integrity: sha512-HNl15bRC0h+pLzbMzQC3tM0j1aESXsLYhElqKnXcf5mnCBkBkHzu6WwJW8rZbfxX+YwJmNljN62cPhmdBo8x0A== - } - engines: { node: '>=v12' } - dependencies: - '@commitlint/is-ignored': 16.0.0 - '@commitlint/parse': 16.0.0 - '@commitlint/rules': 16.0.0 - '@commitlint/types': 16.0.0 - dev: true + optional: true /@commitlint/load/16.0.0_@types+node@17.0.6: resolution: @@ -197,39 +93,7 @@ packages: - '@swc/wasm' - '@types/node' dev: true - - /@commitlint/message/16.0.0: - resolution: - { - integrity: sha512-CmK2074SH1Ws6kFMEKOKH/7hMekGVbOD6vb4alCOo2+33ZSLUIX8iNkDYyrw38Jwg6yWUhLjyQLUxREeV+QIUA== - } - engines: { node: '>=v12' } - dev: true - - /@commitlint/parse/16.0.0: - resolution: - { - integrity: sha512-F9EjFlMw4MYgBEqoRrWZZKQBzdiJzPBI0qFDFqwUvfQsMmXEREZ242T4R5bFwLINWaALFLHEIa/FXEPa6QxCag== - } - engines: { node: '>=v12' } - dependencies: - '@commitlint/types': 16.0.0 - conventional-changelog-angular: 5.0.13 - conventional-commits-parser: 3.2.4 - dev: true - - /@commitlint/read/16.0.0: - resolution: - { - integrity: sha512-H4T2zsfmYQK9B+JtoQaCXWBHUhgIJyOzWZjSfuIV9Ce69/OgHoffNpLZPF2lX6yKuDrS1SQFhI/kUCjVc/e4ew== - } - engines: { node: '>=v12' } - dependencies: - '@commitlint/top-level': 16.0.0 - '@commitlint/types': 16.0.0 - fs-extra: 10.0.0 - git-raw-commits: 2.0.11 - dev: true + optional: true /@commitlint/resolve-extends/16.0.0: resolution: @@ -245,38 +109,7 @@ packages: resolve-from: 5.0.0 resolve-global: 1.0.0 dev: true - - /@commitlint/rules/16.0.0: - resolution: - { - integrity: sha512-AOl0y2SBTdJ1bvIv8nwHvQKRT/jC1xb09C5VZwzHoT8sE8F54KDeEzPCwHQFgUcWdGLyS10kkOTAH2MyA8EIlg== - } - engines: { node: '>=v12' } - dependencies: - '@commitlint/ensure': 16.0.0 - '@commitlint/message': 16.0.0 - '@commitlint/to-lines': 16.0.0 - '@commitlint/types': 16.0.0 - execa: 5.1.1 - dev: true - - /@commitlint/to-lines/16.0.0: - resolution: - { - integrity: sha512-iN/qU38TCKU7uKOg6RXLpD49wNiuI0TqMqybHbjefUeP/Jmzxa8ishryj0uLyVdrAl1ZjGeD1ukXGMTtvqz8iA== - } - engines: { node: '>=v12' } - dev: true - - /@commitlint/top-level/16.0.0: - resolution: - { - integrity: sha512-/Jt6NLxyFkpjL5O0jxurZPCHURZAm7cQCqikgPCwqPAH0TLgwqdHjnYipl8J+AGnAMGDip4FNLoYrtgIpZGBYw== - } - engines: { node: '>=v12' } - dependencies: - find-up: 5.0.0 - dev: true + optional: true /@commitlint/types/16.0.0: resolution: @@ -287,6 +120,7 @@ packages: dependencies: chalk: 4.1.2 dev: true + optional: true /@cspotcode/source-map-consumer/0.8.0: resolution: @@ -295,6 +129,7 @@ packages: } engines: { node: '>= 12' } dev: true + optional: true /@cspotcode/source-map-support/0.7.0: resolution: @@ -305,6 +140,7 @@ packages: dependencies: '@cspotcode/source-map-consumer': 0.8.0 dev: true + optional: true /@tsconfig/node10/1.0.8: resolution: @@ -312,6 +148,7 @@ packages: integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg== } dev: true + optional: true /@tsconfig/node12/1.0.9: resolution: @@ -319,6 +156,7 @@ packages: integrity: sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw== } dev: true + optional: true /@tsconfig/node14/1.0.1: resolution: @@ -326,6 +164,7 @@ packages: integrity: sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg== } dev: true + optional: true /@tsconfig/node16/1.0.2: resolution: @@ -333,6 +172,7 @@ packages: integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== } dev: true + optional: true /@types/minimatch/3.0.5: resolution: @@ -341,13 +181,6 @@ packages: } dev: true - /@types/minimist/1.2.2: - resolution: - { - integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== - } - dev: true - /@types/node/17.0.6: resolution: { @@ -355,30 +188,13 @@ packages: } dev: true - /@types/normalize-package-data/2.4.1: - resolution: - { - integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - } - dev: true - /@types/parse-json/4.0.0: resolution: { integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== } dev: true - - /JSONStream/1.3.5: - resolution: - { - integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - } - hasBin: true - dependencies: - jsonparse: 1.3.1 - through: 2.3.8 - dev: true + optional: true /acorn-walk/8.2.0: resolution: @@ -387,6 +203,7 @@ packages: } engines: { node: '>=0.4.0' } dev: true + optional: true /acorn/8.7.0: resolution: @@ -396,6 +213,7 @@ packages: engines: { node: '>=0.4.0' } hasBin: true dev: true + optional: true /ajv/6.12.6: resolution: @@ -408,6 +226,7 @@ packages: json-schema-traverse: 0.4.1 uri-js: 4.4.1 dev: true + optional: true /ansi-escapes/3.2.0: resolution: @@ -417,16 +236,6 @@ packages: engines: { node: '>=4' } dev: true - /ansi-escapes/4.3.2: - resolution: - { - integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - } - engines: { node: '>=8' } - dependencies: - type-fest: 0.21.3 - dev: true - /ansi-regex/3.0.0: resolution: { integrity: sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= } engines: { node: '>=4' } @@ -440,14 +249,6 @@ packages: engines: { node: '>=6' } dev: true - /ansi-regex/5.0.1: - resolution: - { - integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - } - engines: { node: '>=8' } - dev: true - /ansi-styles/3.2.1: resolution: { @@ -474,6 +275,7 @@ packages: integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== } dev: true + optional: true /array-differ/3.0.0: resolution: @@ -483,10 +285,6 @@ packages: engines: { node: '>=8' } dev: true - /array-ify/1.0.0: - resolution: { integrity: sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= } - dev: true - /array-union/2.1.0: resolution: { @@ -495,11 +293,6 @@ packages: engines: { node: '>=8' } dev: true - /arrify/1.0.1: - resolution: { integrity: sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= } - engines: { node: '>=0.10.0' } - dev: true - /arrify/2.0.1: resolution: { @@ -515,24 +308,6 @@ packages: } dev: true - /base64-js/1.5.1: - resolution: - { - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - } - dev: true - - /bl/4.1.0: - resolution: - { - integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - } - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.0 - dev: true - /brace-expansion/1.1.11: resolution: { @@ -553,16 +328,6 @@ packages: fill-range: 7.0.1 dev: true - /buffer/5.7.1: - resolution: - { - integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - } - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: true - /cachedir/2.2.0: resolution: { @@ -578,26 +343,7 @@ packages: } engines: { node: '>=6' } dev: true - - /camelcase-keys/6.2.2: - resolution: - { - integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - } - engines: { node: '>=8' } - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 - dev: true - - /camelcase/5.3.1: - resolution: - { - integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - } - engines: { node: '>=6' } - dev: true + optional: true /chalk/2.4.2: resolution: @@ -632,6 +378,7 @@ packages: ansi-styles: 4.3.0 supports-color: 7.2.0 dev: true + optional: true /chardet/0.7.0: resolution: @@ -647,24 +394,6 @@ packages: restore-cursor: 2.0.0 dev: true - /cli-cursor/3.1.0: - resolution: - { - integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - } - engines: { node: '>=8' } - dependencies: - restore-cursor: 3.1.0 - dev: true - - /cli-spinners/2.6.1: - resolution: - { - integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g== - } - engines: { node: '>=6' } - dev: true - /cli-width/2.2.1: resolution: { @@ -672,30 +401,6 @@ packages: } dev: true - /cli-width/3.0.0: - resolution: - { - integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw== - } - engines: { node: '>= 10' } - dev: true - - /cliui/7.0.4: - resolution: - { - integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - } - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /clone/1.0.4: - resolution: { integrity: sha1-2jCcwmPfFZlMaIypAheco8fNfH4= } - engines: { node: '>=0.8' } - dev: true - /color-convert/1.9.3: resolution: { @@ -754,43 +459,10 @@ packages: - '@types/node' dev: true - /compare-func/2.0.0: - resolution: - { - integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== - } - dependencies: - array-ify: 1.0.0 - dot-prop: 5.3.0 - dev: true - /concat-map/0.0.1: resolution: { integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= } dev: true - /conventional-changelog-angular/5.0.13: - resolution: - { - integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA== - } - engines: { node: '>=10' } - dependencies: - compare-func: 2.0.0 - q: 1.5.1 - dev: true - - /conventional-changelog-conventionalcommits/4.6.3: - resolution: - { - integrity: sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g== - } - engines: { node: '>=10' } - dependencies: - compare-func: 2.0.0 - lodash: 4.17.21 - q: 1.5.1 - dev: true - /conventional-commit-types/3.0.0: resolution: { @@ -798,22 +470,6 @@ packages: } dev: true - /conventional-commits-parser/3.2.4: - resolution: - { - integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q== - } - engines: { node: '>=10' } - hasBin: true - dependencies: - is-text-path: 1.0.1 - JSONStream: 1.3.5 - lodash: 4.17.21 - meow: 8.1.2 - split2: 3.2.2 - through2: 4.0.2 - dev: true - /cosmiconfig-typescript-loader/1.0.2_646584a8d620b4d6f5eb4525e8655565: resolution: { @@ -832,6 +488,7 @@ packages: - '@swc/core' - '@swc/wasm' dev: true + optional: true /cosmiconfig/7.0.1: resolution: @@ -846,6 +503,7 @@ packages: path-type: 4.0.0 yaml: 1.10.2 dev: true + optional: true /create-require/1.1.1: resolution: @@ -853,6 +511,7 @@ packages: integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== } dev: true + optional: true /cross-spawn/7.0.3: resolution: @@ -887,37 +546,31 @@ packages: - '@types/node' dev: true - /dargs/7.0.0: + /cz-conventional-changelog/3.3.0_@types+node@17.0.6: resolution: { - integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg== + integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw== } - engines: { node: '>=8' } - dev: true - - /decamelize-keys/1.1.0: - resolution: { integrity: sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= } - engines: { node: '>=0.10.0' } + engines: { node: '>= 10' } dependencies: - decamelize: 1.2.0 - map-obj: 1.0.1 - dev: true - - /decamelize/1.2.0: - resolution: { integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= } - engines: { node: '>=0.10.0' } + chalk: 2.4.2 + commitizen: 4.2.4_@types+node@17.0.6 + conventional-commit-types: 3.0.0 + lodash.map: 4.6.0 + longest: 2.0.1 + word-wrap: 1.2.3 + optionalDependencies: + '@commitlint/load': 16.0.0_@types+node@17.0.6 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + - '@types/node' dev: true /dedent/0.7.0: resolution: { integrity: sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= } dev: true - /defaults/1.0.3: - resolution: { integrity: sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= } - dependencies: - clone: 1.0.4 - dev: true - /detect-file/1.0.0: resolution: { integrity: sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= } engines: { node: '>=0.10.0' } @@ -938,23 +591,7 @@ packages: } engines: { node: '>=0.3.1' } dev: true - - /dot-prop/5.3.0: - resolution: - { - integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== - } - engines: { node: '>=8' } - dependencies: - is-obj: 2.0.0 - dev: true - - /emoji-regex/8.0.0: - resolution: - { - integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - } - dev: true + optional: true /end-of-stream/1.4.4: resolution: @@ -973,14 +610,7 @@ packages: dependencies: is-arrayish: 0.2.1 dev: true - - /escalade/3.1.1: - resolution: - { - integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - } - engines: { node: '>=6' } - dev: true + optional: true /escape-string-regexp/1.0.5: resolution: { integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= } @@ -1005,24 +635,6 @@ packages: strip-final-newline: 2.0.0 dev: true - /execa/5.1.1: - resolution: - { - integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - } - engines: { node: '>=10' } - dependencies: - cross-spawn: 7.0.3 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.6 - strip-final-newline: 2.0.0 - dev: true - /expand-tilde/2.0.2: resolution: { integrity: sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= } engines: { node: '>=0.10.0' } @@ -1048,6 +660,7 @@ packages: integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== } dev: true + optional: true /fast-json-stable-stringify/2.1.0: resolution: @@ -1055,6 +668,7 @@ packages: integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== } dev: true + optional: true /figures/2.0.0: resolution: { integrity: sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= } @@ -1063,16 +677,6 @@ packages: escape-string-regexp: 1.0.5 dev: true - /figures/3.2.0: - resolution: - { - integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - } - engines: { node: '>=8' } - dependencies: - escape-string-regexp: 1.0.5 - dev: true - /fill-range/7.0.1: resolution: { @@ -1111,17 +715,6 @@ packages: path-exists: 4.0.0 dev: true - /find-up/5.0.0: - resolution: - { - integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - } - engines: { node: '>=10' } - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - /findup-sync/4.0.0: resolution: { @@ -1135,18 +728,6 @@ packages: resolve-dir: 1.0.1 dev: true - /fs-extra/10.0.0: - resolution: - { - integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== - } - engines: { node: '>=12' } - dependencies: - graceful-fs: 4.2.8 - jsonfile: 6.1.0 - universalify: 2.0.0 - dev: true - /fs-extra/8.1.0: resolution: { @@ -1163,21 +744,6 @@ packages: resolution: { integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8= } dev: true - /function-bind/1.1.1: - resolution: - { - integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - } - dev: true - - /get-caller-file/2.0.5: - resolution: - { - integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - } - engines: { node: 6.* || 8.* || >= 10.* } - dev: true - /get-stream/5.2.0: resolution: { @@ -1188,29 +754,6 @@ packages: pump: 3.0.0 dev: true - /get-stream/6.0.1: - resolution: - { - integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - } - engines: { node: '>=10' } - dev: true - - /git-raw-commits/2.0.11: - resolution: - { - integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A== - } - engines: { node: '>=10' } - hasBin: true - dependencies: - dargs: 7.0.0 - lodash: 4.17.21 - meow: 8.1.2 - split2: 3.2.2 - through2: 4.0.2 - dev: true - /glob/7.1.4: resolution: { @@ -1231,6 +774,7 @@ packages: dependencies: ini: 1.3.8 dev: true + optional: true /global-modules/1.0.0: resolution: @@ -1262,14 +806,6 @@ packages: } dev: true - /hard-rejection/2.1.0: - resolution: - { - integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - } - engines: { node: '>=6' } - dev: true - /has-flag/3.0.0: resolution: { integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0= } engines: { node: '>=4' } @@ -1283,16 +819,6 @@ packages: engines: { node: '>=8' } dev: true - /has/1.0.3: - resolution: - { - integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - } - engines: { node: '>= 0.4.0' } - dependencies: - function-bind: 1.1.1 - dev: true - /homedir-polyfill/1.0.3: resolution: { @@ -1303,23 +829,6 @@ packages: parse-passwd: 1.0.0 dev: true - /hosted-git-info/2.8.9: - resolution: - { - integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - } - dev: true - - /hosted-git-info/4.0.2: - resolution: - { - integrity: sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== - } - engines: { node: '>=10' } - dependencies: - lru-cache: 6.0.0 - dev: true - /human-signals/1.1.1: resolution: { @@ -1328,14 +837,6 @@ packages: engines: { node: '>=8.12.0' } dev: true - /human-signals/2.1.0: - resolution: - { - integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - } - engines: { node: '>=10.17.0' } - dev: true - /husky/7.0.4: resolution: { @@ -1355,13 +856,6 @@ packages: safer-buffer: 2.1.2 dev: true - /ieee754/1.2.1: - resolution: - { - integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - } - dev: true - /ignore/5.2.0: resolution: { @@ -1380,14 +874,7 @@ packages: parent-module: 1.0.1 resolve-from: 4.0.0 dev: true - - /indent-string/4.0.0: - resolution: - { - integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - } - engines: { node: '>=8' } - dev: true + optional: true /inflight/1.0.6: resolution: { integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= } @@ -1432,41 +919,10 @@ packages: through: 2.3.8 dev: true - /inquirer/8.2.0: - resolution: - { - integrity: sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ== - } - engines: { node: '>=8.0.0' } - dependencies: - ansi-escapes: 4.3.2 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-width: 3.0.0 - external-editor: 3.1.0 - figures: 3.2.0 - lodash: 4.17.21 - mute-stream: 0.0.8 - ora: 5.4.1 - run-async: 2.4.1 - rxjs: 7.5.1 - string-width: 4.2.3 - strip-ansi: 6.0.1 - through: 2.3.8 - dev: true - /is-arrayish/0.2.1: resolution: { integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= } dev: true - - /is-core-module/2.8.0: - resolution: - { - integrity: sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== - } - dependencies: - has: 1.0.3 - dev: true + optional: true /is-extglob/2.1.1: resolution: { integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= } @@ -1478,14 +934,6 @@ packages: engines: { node: '>=4' } dev: true - /is-fullwidth-code-point/3.0.0: - resolution: - { - integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - } - engines: { node: '>=8' } - dev: true - /is-glob/4.0.3: resolution: { @@ -1496,14 +944,6 @@ packages: is-extglob: 2.1.1 dev: true - /is-interactive/1.0.0: - resolution: - { - integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== - } - engines: { node: '>=8' } - dev: true - /is-number/7.0.0: resolution: { @@ -1512,19 +952,6 @@ packages: engines: { node: '>=0.12.0' } dev: true - /is-obj/2.0.0: - resolution: - { - integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - } - engines: { node: '>=8' } - dev: true - - /is-plain-obj/1.1.0: - resolution: { integrity: sha1-caUMhCnfync8kqOQpKA7OfzVHT4= } - engines: { node: '>=0.10.0' } - dev: true - /is-stream/2.0.1: resolution: { @@ -1533,21 +960,6 @@ packages: engines: { node: '>=8' } dev: true - /is-text-path/1.0.1: - resolution: { integrity: sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= } - engines: { node: '>=0.10.0' } - dependencies: - text-extensions: 1.9.0 - dev: true - - /is-unicode-supported/0.1.0: - resolution: - { - integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - } - engines: { node: '>=10' } - dev: true - /is-utf8/0.2.1: resolution: { integrity: sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= } dev: true @@ -1570,6 +982,7 @@ packages: integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== } dev: true + optional: true /json-parse-even-better-errors/2.3.1: resolution: @@ -1577,6 +990,7 @@ packages: integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== } dev: true + optional: true /json-schema-traverse/0.4.1: resolution: @@ -1584,6 +998,7 @@ packages: integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== } dev: true + optional: true /jsonfile/4.0.0: resolution: { integrity: sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= } @@ -1591,36 +1006,13 @@ packages: graceful-fs: 4.2.8 dev: true - /jsonfile/6.1.0: - resolution: - { - integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - } - dependencies: - universalify: 2.0.0 - optionalDependencies: - graceful-fs: 4.2.8 - dev: true - - /jsonparse/1.3.1: - resolution: { integrity: sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= } - engines: { '0': node >= 0.2.0 } - dev: true - - /kind-of/6.0.3: - resolution: - { - integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - } - engines: { node: '>=0.10.0' } - dev: true - /lines-and-columns/1.2.4: resolution: { integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== } dev: true + optional: true /locate-path/5.0.0: resolution: @@ -1632,16 +1024,6 @@ packages: p-locate: 4.1.0 dev: true - /locate-path/6.0.0: - resolution: - { - integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - } - engines: { node: '>=10' } - dependencies: - p-locate: 5.0.0 - dev: true - /lodash.map/4.6.0: resolution: { integrity: sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= } dev: true @@ -1653,71 +1035,18 @@ packages: } dev: true - /log-symbols/4.1.0: - resolution: - { - integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - } - engines: { node: '>=10' } - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - /longest/2.0.1: resolution: { integrity: sha1-eB4YMpaqlPbU2RbcM10NF676I/g= } engines: { node: '>=0.10.0' } dev: true - /lru-cache/6.0.0: - resolution: - { - integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - } - engines: { node: '>=10' } - dependencies: - yallist: 4.0.0 - dev: true - /make-error/1.3.6: resolution: { integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== } dev: true - - /map-obj/1.0.1: - resolution: { integrity: sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= } - engines: { node: '>=0.10.0' } - dev: true - - /map-obj/4.3.0: - resolution: - { - integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - } - engines: { node: '>=8' } - dev: true - - /meow/8.1.2: - resolution: - { - integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== - } - engines: { node: '>=10' } - dependencies: - '@types/minimist': 1.2.2 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.0 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 3.0.3 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.18.1 - yargs-parser: 20.2.9 - dev: true + optional: true /merge-stream/2.0.0: resolution: @@ -1760,14 +1089,6 @@ packages: engines: { node: '>=6' } dev: true - /min-indent/1.0.1: - resolution: - { - integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - } - engines: { node: '>=4' } - dev: true - /minimatch/3.0.4: resolution: { @@ -1777,18 +1098,6 @@ packages: brace-expansion: 1.1.11 dev: true - /minimist-options/4.1.0: - resolution: - { - integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - } - engines: { node: '>= 6' } - dependencies: - arrify: 1.0.1 - is-plain-obj: 1.1.0 - kind-of: 6.0.3 - dev: true - /minimist/1.2.5: resolution: { @@ -1822,38 +1131,6 @@ packages: resolution: { integrity: sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= } dev: true - /mute-stream/0.0.8: - resolution: - { - integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - } - dev: true - - /normalize-package-data/2.5.0: - resolution: - { - integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - } - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.20.0 - semver: 5.7.1 - validate-npm-package-license: 3.0.4 - dev: true - - /normalize-package-data/3.0.3: - resolution: - { - integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== - } - engines: { node: '>=10' } - dependencies: - hosted-git-info: 4.0.2 - is-core-module: 2.8.0 - semver: 7.3.5 - validate-npm-package-license: 3.0.4 - dev: true - /npm-run-path/4.0.1: resolution: { @@ -1887,24 +1164,6 @@ packages: mimic-fn: 2.1.0 dev: true - /ora/5.4.1: - resolution: - { - integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ== - } - engines: { node: '>=10' } - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.6.1 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: true - /os-tmpdir/1.0.2: resolution: { integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= } engines: { node: '>=0.10.0' } @@ -1920,16 +1179,6 @@ packages: p-try: 2.2.0 dev: true - /p-limit/3.1.0: - resolution: - { - integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - } - engines: { node: '>=10' } - dependencies: - yocto-queue: 0.1.0 - dev: true - /p-locate/4.1.0: resolution: { @@ -1940,16 +1189,6 @@ packages: p-limit: 2.3.0 dev: true - /p-locate/5.0.0: - resolution: - { - integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - } - engines: { node: '>=10' } - dependencies: - p-limit: 3.1.0 - dev: true - /p-try/2.2.0: resolution: { @@ -1967,6 +1206,7 @@ packages: dependencies: callsites: 3.1.0 dev: true + optional: true /parse-json/5.2.0: resolution: @@ -1980,6 +1220,7 @@ packages: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 dev: true + optional: true /parse-passwd/1.0.0: resolution: { integrity: sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= } @@ -2007,13 +1248,6 @@ packages: engines: { node: '>=8' } dev: true - /path-parse/1.0.7: - resolution: - { - integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - } - dev: true - /path-type/4.0.0: resolution: { @@ -2021,6 +1255,7 @@ packages: } engines: { node: '>=8' } dev: true + optional: true /picomatch/2.3.1: resolution: @@ -2075,72 +1310,7 @@ packages: } engines: { node: '>=6' } dev: true - - /q/1.5.1: - resolution: { integrity: sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= } - engines: { node: '>=0.6.0', teleport: '>=0.2.0' } - dev: true - - /quick-lru/4.0.1: - resolution: - { - integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - } - engines: { node: '>=8' } - dev: true - - /read-pkg-up/7.0.1: - resolution: - { - integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - } - engines: { node: '>=8' } - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - dev: true - - /read-pkg/5.2.0: - resolution: - { - integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - } - engines: { node: '>=8' } - dependencies: - '@types/normalize-package-data': 2.4.1 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - dev: true - - /readable-stream/3.6.0: - resolution: - { - integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - } - engines: { node: '>= 6' } - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: true - - /redent/3.0.0: - resolution: - { - integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - } - engines: { node: '>=8' } - dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - dev: true - - /require-directory/2.1.1: - resolution: { integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I= } - engines: { node: '>=0.10.0' } - dev: true + optional: true /resolve-dir/1.0.1: resolution: { integrity: sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= } @@ -2157,6 +1327,7 @@ packages: } engines: { node: '>=4' } dev: true + optional: true /resolve-from/5.0.0: resolution: @@ -2165,6 +1336,7 @@ packages: } engines: { node: '>=8' } dev: true + optional: true /resolve-global/1.0.0: resolution: @@ -2175,16 +1347,7 @@ packages: dependencies: global-dirs: 0.1.1 dev: true - - /resolve/1.20.0: - resolution: - { - integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== - } - dependencies: - is-core-module: 2.8.0 - path-parse: 1.0.7 - dev: true + optional: true /restore-cursor/2.0.0: resolution: { integrity: sha1-n37ih/gv0ybU/RYpI9YhKe7g368= } @@ -2194,17 +1357,6 @@ packages: signal-exit: 3.0.6 dev: true - /restore-cursor/3.1.0: - resolution: - { - integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - } - engines: { node: '>=8' } - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.6 - dev: true - /run-async/2.4.1: resolution: { @@ -2223,22 +1375,6 @@ packages: tslib: 1.14.1 dev: true - /rxjs/7.5.1: - resolution: - { - integrity: sha512-KExVEeZWxMZnZhUZtsJcFwz8IvPvgu4G2Z2QyqjZQzUGr32KDYuSxrEYO4w3tFFNbfLozcrKUTvTPi+E9ywJkQ== - } - dependencies: - tslib: 2.3.1 - dev: true - - /safe-buffer/5.2.1: - resolution: - { - integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - } - dev: true - /safer-buffer/2.1.2: resolution: { @@ -2246,25 +1382,6 @@ packages: } dev: true - /semver/5.7.1: - resolution: - { - integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - } - hasBin: true - dev: true - - /semver/7.3.5: - resolution: - { - integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - } - engines: { node: '>=10' } - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - /shebang-command/2.0.0: resolution: { @@ -2290,49 +1407,6 @@ packages: } dev: true - /spdx-correct/3.1.1: - resolution: - { - integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - } - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.11 - dev: true - - /spdx-exceptions/2.3.0: - resolution: - { - integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - } - dev: true - - /spdx-expression-parse/3.0.1: - resolution: - { - integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - } - dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.11 - dev: true - - /spdx-license-ids/3.0.11: - resolution: - { - integrity: sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== - } - dev: true - - /split2/3.2.2: - resolution: - { - integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg== - } - dependencies: - readable-stream: 3.6.0 - dev: true - /string-width/2.1.1: resolution: { @@ -2344,27 +1418,6 @@ packages: strip-ansi: 4.0.0 dev: true - /string-width/4.2.3: - resolution: - { - integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - } - engines: { node: '>=8' } - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - - /string_decoder/1.3.0: - resolution: - { - integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - } - dependencies: - safe-buffer: 5.2.1 - dev: true - /strip-ansi/4.0.0: resolution: { integrity: sha1-qEeQIusaw2iocTibY1JixQXuNo8= } engines: { node: '>=4' } @@ -2382,16 +1435,6 @@ packages: ansi-regex: 4.1.0 dev: true - /strip-ansi/6.0.1: - resolution: - { - integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - } - engines: { node: '>=8' } - dependencies: - ansi-regex: 5.0.1 - dev: true - /strip-bom/4.0.0: resolution: { @@ -2408,16 +1451,6 @@ packages: engines: { node: '>=6' } dev: true - /strip-indent/3.0.0: - resolution: - { - integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - } - engines: { node: '>=8' } - dependencies: - min-indent: 1.0.1 - dev: true - /strip-json-comments/3.0.1: resolution: { @@ -2446,27 +1479,10 @@ packages: has-flag: 4.0.0 dev: true - /text-extensions/1.9.0: - resolution: - { - integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== - } - engines: { node: '>=0.10' } - dev: true - /through/2.3.8: resolution: { integrity: sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= } dev: true - /through2/4.0.2: - resolution: - { - integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== - } - dependencies: - readable-stream: 3.6.0 - dev: true - /tmp/0.0.33: resolution: { @@ -2487,14 +1503,6 @@ packages: is-number: 7.0.0 dev: true - /trim-newlines/3.0.1: - resolution: - { - integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== - } - engines: { node: '>=8' } - dev: true - /ts-node/10.4.0_646584a8d620b4d6f5eb4525e8655565: resolution: { @@ -2527,6 +1535,7 @@ packages: typescript: 4.5.4 yn: 3.1.1 dev: true + optional: true /tslib/1.14.1: resolution: @@ -2535,45 +1544,6 @@ packages: } dev: true - /tslib/2.3.1: - resolution: - { - integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - } - dev: true - - /type-fest/0.18.1: - resolution: - { - integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== - } - engines: { node: '>=10' } - dev: true - - /type-fest/0.21.3: - resolution: - { - integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - } - engines: { node: '>=10' } - dev: true - - /type-fest/0.6.0: - resolution: - { - integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - } - engines: { node: '>=8' } - dev: true - - /type-fest/0.8.1: - resolution: - { - integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - } - engines: { node: '>=8' } - dev: true - /typescript/4.5.4: resolution: { @@ -2582,6 +1552,7 @@ packages: engines: { node: '>=4.2.0' } hasBin: true dev: true + optional: true /universalify/0.1.2: resolution: @@ -2591,14 +1562,6 @@ packages: engines: { node: '>= 4.0.0' } dev: true - /universalify/2.0.0: - resolution: - { - integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - } - engines: { node: '>= 10.0.0' } - dev: true - /uri-js/4.4.1: resolution: { @@ -2607,26 +1570,7 @@ packages: dependencies: punycode: 2.1.1 dev: true - - /util-deprecate/1.0.2: - resolution: { integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= } - dev: true - - /validate-npm-package-license/3.0.4: - resolution: - { - integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - } - dependencies: - spdx-correct: 3.1.1 - spdx-expression-parse: 3.0.1 - dev: true - - /wcwidth/1.0.1: - resolution: { integrity: sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= } - dependencies: - defaults: 1.0.3 - dev: true + optional: true /which/1.3.1: resolution: @@ -2657,37 +1601,10 @@ packages: engines: { node: '>=0.10.0' } dev: true - /wrap-ansi/7.0.0: - resolution: - { - integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - } - engines: { node: '>=10' } - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - /wrappy/1.0.2: resolution: { integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= } dev: true - /y18n/5.0.8: - resolution: - { - integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - } - engines: { node: '>=10' } - dev: true - - /yallist/4.0.0: - resolution: - { - integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - } - dev: true - /yaml/1.10.2: resolution: { @@ -2695,38 +1612,7 @@ packages: } engines: { node: '>= 6' } dev: true - - /yargs-parser/20.2.9: - resolution: - { - integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - } - engines: { node: '>=10' } - dev: true - - /yargs-parser/21.0.0: - resolution: - { - integrity: sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA== - } - engines: { node: '>=12' } - dev: true - - /yargs/17.3.1: - resolution: - { - integrity: sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA== - } - engines: { node: '>=12' } - dependencies: - cliui: 7.0.4 - escalade: 3.1.1 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.0.0 - dev: true + optional: true /yn/3.1.1: resolution: @@ -2735,11 +1621,4 @@ packages: } engines: { node: '>=6' } dev: true - - /yocto-queue/0.1.0: - resolution: - { - integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - } - engines: { node: '>=10' } - dev: true + optional: true diff --git a/readme.md b/readme.md index 4609383..2463ce8 100644 --- a/readme.md +++ b/readme.md @@ -5,9 +5,14 @@ > Big code dump. BTEC [The Bonk](https://github.com/GD-NTB/the-bonk). Anything that does not deserve its own repository goes here. +I do not promise everything will work in here, however if you have any questions about the contents of the honk, don't be scared to [reach out to me on Discord (:](https://discord.gg/brEhN5Y7YK) + +There is a lot of maths in here, be warned. + ### Table of contents - [Python](languages/python) +- [C++](languages/c++) - [Project Euler](challenges/euler) - [r/dailyprogrammer](challenges/daily-programmer) - [GCSE Computer Science](school/gcse) diff --git a/school/royal institute/readme.md b/school/royal institute/readme.md deleted file mode 100644 index 4340657..0000000 --- a/school/royal institute/readme.md +++ /dev/null @@ -1,9 +0,0 @@ -
- -

royal institute computer science masterclass 2021

-
- -### Uploaded Lessons - -- [Computer Science and Social Media](computer%20science%20and%20social%20media) -- [From Ancient Babylon to Quantum Computing](from%20ancient%20babylon%20to%20quantum%20computing)