diff --git a/package-lock.json b/package-lock.json index 020836a..39f904d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,18 +4,26 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "@babel/code-frame": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", - "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", + "@ampproject/remapping": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz", + "integrity": "sha512-hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==", "requires": { - "@babel/highlight": "^7.14.5" + "@jridgewell/trace-mapping": "^0.3.0" + } + }, + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "requires": { + "@babel/highlight": "^7.16.7" } }, "@babel/compat-data": { - "version": "7.15.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz", - "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==" + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.7.tgz", + "integrity": "sha512-p8pdE6j0a29TNGebNm7NzYZWB3xVZJBZ7XGs42uAKzQo8VQ3F0By/cQCtUEABwIqw5zo6WA4NbmxsfzADzMKnQ==" }, "@babel/core": { "version": "7.12.3", @@ -40,48 +48,73 @@ "source-map": "^0.5.0" }, "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" } } }, "@babel/generator": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", - "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.7.tgz", + "integrity": "sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==", "requires": { - "@babel/types": "^7.15.6", + "@babel/types": "^7.17.0", "jsesc": "^2.5.1", "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } } }, "@babel/helper-annotate-as-pure": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.15.4.tgz", - "integrity": "sha512-QwrtdNvUNsPCj2lfNQacsGSQvGX8ee1ttrBrcozUP2Sv/jylewBP/8QFe6ZkBsC8T/GYWonNAWJV4aRR9AL2DA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.7" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.15.4.tgz", - "integrity": "sha512-P8o7JP2Mzi0SdC6eWr1zF+AEYvrsZa7GSY1lTayjF5XJhVH0kjLYUZPvTMflP7tBgZoe9gIhTa60QwFpqh/E0Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", "requires": { - "@babel/helper-explode-assignable-expression": "^7.15.4", - "@babel/types": "^7.15.4" + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/helper-compilation-targets": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz", - "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.7.tgz", + "integrity": "sha512-UFzlz2jjd8kroj0hmCFV5zr+tQPi1dpC2cRsDV/3IEW8bJfCPrPpmcSN6ZS8RqIq4LXcmpipCQFPddyFA5Yc7w==", "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-validator-option": "^7.14.5", - "browserslist": "^4.16.6", + "@babel/compat-data": "^7.17.7", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.17.5", "semver": "^6.3.0" }, "dependencies": { @@ -93,31 +126,32 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.15.4.tgz", - "integrity": "sha512-7ZmzFi+DwJx6A7mHRwbuucEYpyBwmh2Ca0RvI6z2+WLZYCqV0JOaLb+u0zbtmDicebgKBZgqbYfLaKNqSgv5Pw==", + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.6.tgz", + "integrity": "sha512-SogLLSxXm2OkBbSsHZMM4tUi8fUzjs63AT/d0YQIzr6GSd8Hxsbk2KYDX0k0DweAzGMj/YWeiCsorIdtdcW8Eg==", "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz", - "integrity": "sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", + "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "regexpu-core": "^4.7.1" + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^5.0.1" } }, "@babel/helper-define-polyfill-provider": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz", - "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", "requires": { "@babel/helper-compilation-targets": "^7.13.0", "@babel/helper-module-imports": "^7.12.13", @@ -129,6 +163,19 @@ "semver": "^6.1.2" }, "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "semver": { "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", @@ -136,336 +183,401 @@ } } }, - "@babel/helper-explode-assignable-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.15.4.tgz", - "integrity": "sha512-J14f/vq8+hdC2KoWLIQSsGrC9EFBKE4NFts8pfMpymfApds+fPqR30AOUWc4tyr56h9l/GA1Sxv2q3dLZWbQ/g==", + "@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "requires": { + "@babel/types": "^7.16.7" } }, "@babel/helper-function-name": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.15.4.tgz", - "integrity": "sha512-Z91cOMM4DseLIGOnog+Z8OI6YseR9bua+HpvLAQ2XayUGU+neTtX+97caALaLdyu53I/fjhbeCnWnRH1O3jFOw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", "requires": { - "@babel/helper-get-function-arity": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/types": "^7.15.4" + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/helper-get-function-arity": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.15.4.tgz", - "integrity": "sha512-1/AlxSF92CmGZzHnC515hm4SirTxtpDnLEJ0UyEMgTMZN+6bxXKg04dKhiRx5Enel+SUA1G1t5Ed/yQia0efrA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.7" } }, "@babel/helper-hoist-variables": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.15.4.tgz", - "integrity": "sha512-VTy085egb3jUGVK9ycIxQiPbquesq0HUQ+tPO0uv5mPEBZipk+5FkRKiWq5apuyTE9FUrjENB0rCf8y+n+UuhA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.7" } }, "@babel/helper-member-expression-to-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.15.4.tgz", - "integrity": "sha512-cokOMkxC/BTyNP1AlY25HuBWM32iCEsLPI4BHDpJCHHm1FU2E7dKWWIXJgQgSFiu4lp8q3bL1BIKwqkSUviqtA==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.17.0" } }, "@babel/helper-module-imports": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.15.4.tgz", - "integrity": "sha512-jeAHZbzUwdW/xHgHQ3QmWR4Jg6j15q4w/gCfwZvtqOxoo5DKtLHk8Bsf4c5RZRC7NmLEs+ohkdq8jFefuvIxAA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.7" } }, "@babel/helper-module-transforms": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", - "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", + "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", "requires": { - "@babel/helper-module-imports": "^7.15.4", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-simple-access": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/helper-validator-identifier": "^7.15.7", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.6" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" } }, "@babel/helper-optimise-call-expression": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.15.4.tgz", - "integrity": "sha512-E/z9rfbAOt1vDW1DR7k4SzhzotVV5+qMciWV6LaG1g4jeFrkDlJedjtV4h0i4Q/ITnUu+Pk08M7fczsB9GXBDw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.7" } }, "@babel/helper-plugin-utils": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", - "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==" + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", + "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==" }, "@babel/helper-remap-async-to-generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.15.4.tgz", - "integrity": "sha512-v53MxgvMK/HCwckJ1bZrq6dNKlmwlyRNYM6ypaRTdXWGOE2c1/SCa6dL/HimhPulGhZKw9W0QhREM583F/t0vQ==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-wrap-function": "^7.15.4", - "@babel/types": "^7.15.4" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" } }, "@babel/helper-replace-supers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.15.4.tgz", - "integrity": "sha512-/ztT6khaXF37MS47fufrKvIsiQkx1LBRvSJNzRqmbyeZnTwU9qBxXYLaaT/6KaxfKhjs2Wy8kG8ZdsFUuWBjzw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", + "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", "requires": { - "@babel/helper-member-expression-to-functions": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-member-expression-to-functions": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/helper-simple-access": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.15.4.tgz", - "integrity": "sha512-UzazrDoIVOZZcTeHHEPYrr1MvTR/K+wgLg6MY6e1CJyaRhbibftF6fR2KU2sFRtI/nERUZR9fBd6aKgBlIBaPg==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", + "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.17.0" } }, "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.15.4.tgz", - "integrity": "sha512-BMRLsdh+D1/aap19TycS4eD1qELGrCBJwzaY9IE8LrpJtJb+H7rQkPIdsfgnMtLBA6DJls7X9z93Z4U8h7xw0A==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.0" } }, "@babel/helper-split-export-declaration": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.15.4.tgz", - "integrity": "sha512-HsFqhLDZ08DxCpBdEVtKmywj6PQbwnF6HHybur0MAnkAKnlS6uHkwnmRIkElB2Owpfb4xL4NwDmDLFubueDXsw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", "requires": { - "@babel/types": "^7.15.4" + "@babel/types": "^7.16.7" } }, "@babel/helper-validator-identifier": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", - "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==" + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==" }, "@babel/helper-validator-option": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", - "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==" + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==" }, "@babel/helper-wrap-function": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.15.4.tgz", - "integrity": "sha512-Y2o+H/hRV5W8QhIfTpRIBwl57y8PrZt6JM3V8FOo5qarjshHItyH5lXlpMfBfmBefOqSCpKZs/6Dxqp0E/U+uw==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", "requires": { - "@babel/helper-function-name": "^7.15.4", - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" } }, "@babel/helpers": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.15.4.tgz", - "integrity": "sha512-V45u6dqEJ3w2rlryYYXf6i9rQ5YMNu4FLS6ngs8ikblhu2VdR1AqAd6aJjBzmf2Qzh6KOLqKHxEN9+TFbAkAVQ==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.8.tgz", + "integrity": "sha512-QcL86FGxpfSJwGtAvv4iG93UL6bmqBdmoVY0CMCU2g+oD2ezQse3PT5Pa+jiD6LJndBQi0EDlpzOWNlLuhz5gw==", "requires": { - "@babel/template": "^7.15.4", - "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4" + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0" } }, "@babel/highlight": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.5.tgz", - "integrity": "sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==", + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", "requires": { - "@babel/helper-validator-identifier": "^7.14.5", + "@babel/helper-validator-identifier": "^7.16.7", "chalk": "^2.0.0", "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } } }, "@babel/parser": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", - "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==" + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.8.tgz", + "integrity": "sha512-BoHhDJrJXqcg+ZL16Xv39H9n+AqJ4pcDrQBGZN+wHxIysrLZ3/ECwCBUch/1zUNhnsXULcONU3Ei5Hmkfk6kiQ==" + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", + "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.15.4.tgz", - "integrity": "sha512-eBnpsl9tlhPhpI10kU06JHnrYXwg3+V6CaP2idsCXNef0aeslpqyITXQ74Vfk5uHgY7IG7XP0yIH8b42KSzHog==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", + "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4", - "@babel/plugin-proposal-optional-chaining": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.7" } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.8.tgz", - "integrity": "sha512-2Z5F2R2ibINTc63mY7FLqGfEbmofrHU9FitJW1Q7aPaKFhiPvSq6QEt/BoWN5oME3GVyjcRuNNSRbb9LC0CSWA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", + "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.15.4", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8", "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-proposal-class-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz", - "integrity": "sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", + "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-proposal-class-static-block": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.15.4.tgz", - "integrity": "sha512-M682XWrrLNk3chXCjoPUQWOyYsB93B9z3mRyjtqqYJWDf2mfCdIYgDrA11cgNVhAQieaq6F2fn2f3wI0U4aTjA==", + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", + "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" } }, "@babel/plugin-proposal-decorators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz", - "integrity": "sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.17.8.tgz", + "integrity": "sha512-U69odN4Umyyx1xO1rTII0IDkAEC+RNlcKXtqOblfpzqy1C+aOplb76BQNq0+XdpVkOaPlpEDwd++joY8FNFJKA==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-decorators": "^7.12.1" + "@babel/helper-create-class-features-plugin": "^7.17.6", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/plugin-syntax-decorators": "^7.17.0", + "charcodes": "^0.2.0" } }, "@babel/plugin-proposal-dynamic-import": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz", - "integrity": "sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@babel/plugin-proposal-export-namespace-from": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz", - "integrity": "sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", + "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-proposal-json-strings": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz", - "integrity": "sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", + "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-json-strings": "^7.8.3" } }, "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz", - "integrity": "sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", + "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz", - "integrity": "sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", + "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" } }, "@babel/plugin-proposal-numeric-separator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz", - "integrity": "sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz", - "integrity": "sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg==", + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", + "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/compat-data": "^7.17.0", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.15.4" + "@babel/plugin-transform-parameters": "^7.16.7" } }, "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz", - "integrity": "sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" } }, "@babel/plugin-proposal-optional-chaining": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz", - "integrity": "sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", + "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", "@babel/plugin-syntax-optional-chaining": "^7.8.3" } }, "@babel/plugin-proposal-private-methods": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz", - "integrity": "sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g==", + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", + "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.16.10", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-proposal-private-property-in-object": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.15.4.tgz", - "integrity": "sha512-X0UTixkLf0PCCffxgu5/1RQyGGbgZuKoI+vXP4iSbJSYwPb7hu06omsFGBvQ9lJEvwgrxHdS8B5nbfcd8GyUNA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", + "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-create-class-features-plugin": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz", - "integrity": "sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", + "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-syntax-async-generators": { @@ -501,11 +613,11 @@ } }, "@babel/plugin-syntax-decorators": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.14.5.tgz", - "integrity": "sha512-c4sZMRWL4GSvP1EXy0woIP7m4jkVcEuG8R1TOZxPBPtp4FSM/kiPZub9UIs/Jrb5ZAOzvTUSGYrWsrSu1JvoPw==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.17.0.tgz", + "integrity": "sha512-qWe85yCXsvDEluNP0OyeQjH63DlhAR3W7K9BxxU1MvbDb48tgBG+Ao6IJJ6smPDrrVzSQZrbF6donpkFBMcs3A==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-syntax-dynamic-import": { @@ -525,11 +637,11 @@ } }, "@babel/plugin-syntax-flow": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.14.5.tgz", - "integrity": "sha512-9WK5ZwKCdWHxVuU13XNT6X73FGmutAXeor5lGFq6qhOFtMFUF4jkbijuyUdZZlpYq6E2hZeZf/u3959X9wsv0Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.7.tgz", + "integrity": "sha512-UDo3YGQO0jH6ytzVwgSLv9i/CzMcUjbKenL67dTrAZPPv6GFAtDhe6jqnvmoKzC/7htNTohhos+onPtDMqJwaQ==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-syntax-import-meta": { @@ -549,11 +661,11 @@ } }, "@babel/plugin-syntax-jsx": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz", - "integrity": "sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.7.tgz", + "integrity": "sha512-Esxmk7YjA8QysKeT3VhTXvF6y77f/a91SIs4pWb4H2eWGQkCKFgQaG6hdoEVZtGsrAcb2K5BW66XsOErD4WU3Q==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-syntax-logical-assignment-operators": { @@ -621,416 +733,405 @@ } }, "@babel/plugin-syntax-typescript": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz", - "integrity": "sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", + "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-arrow-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz", - "integrity": "sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", + "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz", - "integrity": "sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", + "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", "requires": { - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-remap-async-to-generator": "^7.14.5" + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-remap-async-to-generator": "^7.16.8" } }, "@babel/plugin-transform-block-scoped-functions": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz", - "integrity": "sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.15.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.15.3.tgz", - "integrity": "sha512-nBAzfZwZb4DkaGtOes1Up1nOAp9TDRRFw4XBzBBSG9QK7KVFmYzgj9o9sbPv7TX5ofL4Auq4wZnxCoPnI/lz2Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", + "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-classes": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.15.4.tgz", - "integrity": "sha512-Yjvhex8GzBmmPQUvpXRPWQ9WnxXgAFuZSrqOK/eJlOGIXwvv8H3UEdUigl1gb/bnjTrln+e8bkZUYCBt/xYlBg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", + "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-optimise-call-expression": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", "globals": "^11.1.0" } }, "@babel/plugin-transform-computed-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz", - "integrity": "sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", + "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-destructuring": { - "version": "7.14.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.7.tgz", - "integrity": "sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", + "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-dotall-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz", - "integrity": "sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-duplicate-keys": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz", - "integrity": "sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", + "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-exponentiation-operator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz", - "integrity": "sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-flow-strip-types": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz", - "integrity": "sha512-8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.16.7.tgz", + "integrity": "sha512-mzmCq3cNsDpZZu9FADYYyfZJIOrSONmHcop2XEKPdBNMa4PDC4eEvcOvzZaCNcjKu72v0XQlA5y1g58aLRXdYg==", "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-flow": "^7.12.1" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-flow": "^7.16.7" } }, "@babel/plugin-transform-for-of": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.15.4.tgz", - "integrity": "sha512-DRTY9fA751AFBDh2oxydvVm4SYevs5ILTWLs6xKXps4Re/KG5nfUkr+TdHCrRWB8C69TlzVgA9b3RmGWmgN9LA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", + "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-function-name": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz", - "integrity": "sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", "requires": { - "@babel/helper-function-name": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz", - "integrity": "sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", + "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-member-expression-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz", - "integrity": "sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz", - "integrity": "sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", + "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.15.4.tgz", - "integrity": "sha512-qg4DPhwG8hKp4BbVDvX1s8cohM8a6Bvptu4l6Iingq5rW+yRUAhe/YRup/YcW2zCOlrysEWVhftIcKzrEZv3sA==", + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.7.tgz", + "integrity": "sha512-ITPmR2V7MqioMJyrxUo2onHNC3e+MvfFiFIR0RP21d3PtlVb6sfzoxNKiphSZUOM9hEIdzCcZe83ieX3yoqjUA==", "requires": { - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-simple-access": "^7.15.4", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.15.4.tgz", - "integrity": "sha512-fJUnlQrl/mezMneR72CKCgtOoahqGJNVKpompKwzv3BrEXdlPspTcyxrZ1XmDTIr9PpULrgEQo3qNKp6dW7ssw==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", + "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", "requires": { - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-identifier": "^7.14.9", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", "babel-plugin-dynamic-import-node": "^2.3.3" } }, "@babel/plugin-transform-modules-umd": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz", - "integrity": "sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", + "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", "requires": { - "@babel/helper-module-transforms": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-module-transforms": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.9.tgz", - "integrity": "sha512-l666wCVYO75mlAtGFfyFwnWmIXQm3kSH0C3IRnJqWcZbWkoihyAdDhFm2ZWaxWTqvBvhVFfJjMRQ0ez4oN1yYA==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.8.tgz", + "integrity": "sha512-j3Jw+n5PvpmhRR+mrgIh04puSANCk/T/UA3m3P1MjJkhlK906+ApHhDIqBQDdOgL/r1UYpz4GNclTXxyZrYGSw==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7" } }, "@babel/plugin-transform-new-target": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz", - "integrity": "sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", + "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-object-super": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz", - "integrity": "sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-replace-supers": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" } }, "@babel/plugin-transform-parameters": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz", - "integrity": "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", + "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-property-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz", - "integrity": "sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-react-constant-elements": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.14.5.tgz", - "integrity": "sha512-NBqLEx1GxllIOXJInJAQbrnwwYJsV3WaMHIcOwD8rhYS0AabTWn7kHdHgPgu5RmHLU0q4DMxhAMu8ue/KampgQ==", + "version": "7.17.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.17.6.tgz", + "integrity": "sha512-OBv9VkyyKtsHZiHLoSfCn+h6yU7YKX8nrs32xUmOa1SRSk+t03FosB6fBZ0Yz4BpD1WV7l73Nsad+2Tz7APpqw==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-react-display-name": { - "version": "7.15.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.15.1.tgz", - "integrity": "sha512-yQZ/i/pUCJAHI/LbtZr413S3VT26qNrEm0M5RRxQJA947/YNYwbZbBaXGDrq6CG5QsZycI1VIP6d7pQaBfP+8Q==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.7.tgz", + "integrity": "sha512-qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-react-jsx": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz", - "integrity": "sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw==", + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.3.tgz", + "integrity": "sha512-9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ==", "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-module-imports": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-jsx": "^7.14.5", - "@babel/types": "^7.14.9" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-jsx": "^7.16.7", + "@babel/types": "^7.17.0" } }, "@babel/plugin-transform-react-jsx-development": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.14.5.tgz", - "integrity": "sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.7.tgz", + "integrity": "sha512-RMvQWvpla+xy6MlBpPlrKZCMRs2AGiHOGHY3xRwl0pEeim348dDyxeH4xBsMPbIMhujeq7ihE702eM2Ew0Wo+A==", "requires": { - "@babel/plugin-transform-react-jsx": "^7.14.5" - } - }, - "@babel/plugin-transform-react-jsx-self": { - "version": "7.14.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.14.9.tgz", - "integrity": "sha512-Fqqu0f8zv9W+RyOnx29BX/RlEsBRANbOf5xs5oxb2aHP4FKbLXxIaVPUiCti56LAR1IixMH4EyaixhUsKqoBHw==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-react-jsx-source": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.14.5.tgz", - "integrity": "sha512-1TpSDnD9XR/rQ2tzunBVPThF5poaYT9GqP+of8fAtguYuI/dm2RkrMBDemsxtY0XBzvW7nXjYM0hRyKX9QYj7Q==", - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/plugin-transform-react-jsx": "^7.16.7" } }, "@babel/plugin-transform-react-pure-annotations": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.14.5.tgz", - "integrity": "sha512-3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.7.tgz", + "integrity": "sha512-hs71ToC97k3QWxswh2ElzMFABXHvGiJ01IB1TbYQDGeWRKWz/MPUTh5jGExdHvosYKpnJW5Pm3S4+TA3FyX+GA==", "requires": { - "@babel/helper-annotate-as-pure": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-regenerator": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz", - "integrity": "sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.7.tgz", + "integrity": "sha512-mF7jOgGYCkSJagJ6XCujSQg+6xC1M77/03K2oBmVJWoFGNUtnVJO4WHKJk3dnPC8HCcj4xBQP1Egm8DWh3Pb3Q==", "requires": { "regenerator-transform": "^0.14.2" } }, "@babel/plugin-transform-reserved-words": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz", - "integrity": "sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", + "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-runtime": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz", - "integrity": "sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz", + "integrity": "sha512-fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A==", "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "resolve": "^1.8.1", - "semver": "^5.5.1" + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "semver": "^6.3.0" }, "dependencies": { "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" } } }, "@babel/plugin-transform-shorthand-properties": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz", - "integrity": "sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-spread": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.15.8.tgz", - "integrity": "sha512-/daZ8s2tNaRekl9YJa9X4bzjpeRZLt122cpgFnQPLGUe61PH8zMEBmYqKkW5xF5JUEh5buEGXJoQpqBmIbpmEQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", + "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" } }, "@babel/plugin-transform-sticky-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz", - "integrity": "sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-template-literals": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz", - "integrity": "sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", + "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-typeof-symbol": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz", - "integrity": "sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", + "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-typescript": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.15.8.tgz", - "integrity": "sha512-ZXIkJpbaf6/EsmjeTbiJN/yMxWPFWvlr7sEG1P95Xb4S4IBcrf2n7s/fItIhsAmOf8oSh3VJPDppO6ExfAfKRQ==", + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.8.tgz", + "integrity": "sha512-bHdQ9k7YpBDO2d0NVfkj51DpQcvwIzIusJ7mEUaMlbZq3Kt/U47j24inXZHQ5MDiYpCs+oZiwnXyKedE8+q7AQ==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/plugin-syntax-typescript": "^7.14.5" + "@babel/helper-create-class-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-typescript": "^7.16.7" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz", - "integrity": "sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/plugin-transform-unicode-regex": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz", - "integrity": "sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.14.5", - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" } }, "@babel/preset-env": { - "version": "7.15.8", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.8.tgz", - "integrity": "sha512-rCC0wH8husJgY4FPbHsiYyiLxSY8oMDJH7Rl6RQMknbN9oDDHhM9RDFvnGM2MgkbUJzSQB4gtuwygY5mCqGSsA==", + "version": "7.16.11", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.11.tgz", + "integrity": "sha512-qcmWG8R7ZW6WBRPZK//y+E3Cli151B20W1Rv7ln27vuPaXU/8TKms6jFdiJtF7UDTxcrb7mZd88tAeK9LjdT8g==", "requires": { - "@babel/compat-data": "^7.15.0", - "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4", - "@babel/plugin-proposal-async-generator-functions": "^7.15.8", - "@babel/plugin-proposal-class-properties": "^7.14.5", - "@babel/plugin-proposal-class-static-block": "^7.15.4", - "@babel/plugin-proposal-dynamic-import": "^7.14.5", - "@babel/plugin-proposal-export-namespace-from": "^7.14.5", - "@babel/plugin-proposal-json-strings": "^7.14.5", - "@babel/plugin-proposal-logical-assignment-operators": "^7.14.5", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.5", - "@babel/plugin-proposal-numeric-separator": "^7.14.5", - "@babel/plugin-proposal-object-rest-spread": "^7.15.6", - "@babel/plugin-proposal-optional-catch-binding": "^7.14.5", - "@babel/plugin-proposal-optional-chaining": "^7.14.5", - "@babel/plugin-proposal-private-methods": "^7.14.5", - "@babel/plugin-proposal-private-property-in-object": "^7.15.4", - "@babel/plugin-proposal-unicode-property-regex": "^7.14.5", + "@babel/compat-data": "^7.16.8", + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-async-generator-functions": "^7.16.8", + "@babel/plugin-proposal-class-properties": "^7.16.7", + "@babel/plugin-proposal-class-static-block": "^7.16.7", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.16.7", + "@babel/plugin-proposal-json-strings": "^7.16.7", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.16.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.16.7", + "@babel/plugin-proposal-private-methods": "^7.16.11", + "@babel/plugin-proposal-private-property-in-object": "^7.16.7", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", @@ -1045,44 +1146,44 @@ "@babel/plugin-syntax-optional-chaining": "^7.8.3", "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-transform-arrow-functions": "^7.14.5", - "@babel/plugin-transform-async-to-generator": "^7.14.5", - "@babel/plugin-transform-block-scoped-functions": "^7.14.5", - "@babel/plugin-transform-block-scoping": "^7.15.3", - "@babel/plugin-transform-classes": "^7.15.4", - "@babel/plugin-transform-computed-properties": "^7.14.5", - "@babel/plugin-transform-destructuring": "^7.14.7", - "@babel/plugin-transform-dotall-regex": "^7.14.5", - "@babel/plugin-transform-duplicate-keys": "^7.14.5", - "@babel/plugin-transform-exponentiation-operator": "^7.14.5", - "@babel/plugin-transform-for-of": "^7.15.4", - "@babel/plugin-transform-function-name": "^7.14.5", - "@babel/plugin-transform-literals": "^7.14.5", - "@babel/plugin-transform-member-expression-literals": "^7.14.5", - "@babel/plugin-transform-modules-amd": "^7.14.5", - "@babel/plugin-transform-modules-commonjs": "^7.15.4", - "@babel/plugin-transform-modules-systemjs": "^7.15.4", - "@babel/plugin-transform-modules-umd": "^7.14.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.14.9", - "@babel/plugin-transform-new-target": "^7.14.5", - "@babel/plugin-transform-object-super": "^7.14.5", - "@babel/plugin-transform-parameters": "^7.15.4", - "@babel/plugin-transform-property-literals": "^7.14.5", - "@babel/plugin-transform-regenerator": "^7.14.5", - "@babel/plugin-transform-reserved-words": "^7.14.5", - "@babel/plugin-transform-shorthand-properties": "^7.14.5", - "@babel/plugin-transform-spread": "^7.15.8", - "@babel/plugin-transform-sticky-regex": "^7.14.5", - "@babel/plugin-transform-template-literals": "^7.14.5", - "@babel/plugin-transform-typeof-symbol": "^7.14.5", - "@babel/plugin-transform-unicode-escapes": "^7.14.5", - "@babel/plugin-transform-unicode-regex": "^7.14.5", - "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.15.6", - "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.5", - "babel-plugin-polyfill-regenerator": "^0.2.2", - "core-js-compat": "^3.16.0", + "@babel/plugin-transform-arrow-functions": "^7.16.7", + "@babel/plugin-transform-async-to-generator": "^7.16.8", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.16.7", + "@babel/plugin-transform-classes": "^7.16.7", + "@babel/plugin-transform-computed-properties": "^7.16.7", + "@babel/plugin-transform-destructuring": "^7.16.7", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.16.7", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.16.7", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.16.7", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.16.7", + "@babel/plugin-transform-modules-commonjs": "^7.16.8", + "@babel/plugin-transform-modules-systemjs": "^7.16.7", + "@babel/plugin-transform-modules-umd": "^7.16.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.8", + "@babel/plugin-transform-new-target": "^7.16.7", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.16.7", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.16.7", + "@babel/plugin-transform-reserved-words": "^7.16.7", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.16.7", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.16.7", + "@babel/plugin-transform-typeof-symbol": "^7.16.7", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.8", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.20.2", "semver": "^6.3.0" }, "dependencies": { @@ -1106,76 +1207,93 @@ } }, "@babel/preset-react": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.14.5.tgz", - "integrity": "sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.16.7.tgz", + "integrity": "sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA==", "requires": { - "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-validator-option": "^7.14.5", - "@babel/plugin-transform-react-display-name": "^7.14.5", - "@babel/plugin-transform-react-jsx": "^7.14.5", - "@babel/plugin-transform-react-jsx-development": "^7.14.5", - "@babel/plugin-transform-react-pure-annotations": "^7.14.5" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-transform-react-display-name": "^7.16.7", + "@babel/plugin-transform-react-jsx": "^7.16.7", + "@babel/plugin-transform-react-jsx-development": "^7.16.7", + "@babel/plugin-transform-react-pure-annotations": "^7.16.7" } }, "@babel/preset-typescript": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz", - "integrity": "sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.16.7.tgz", + "integrity": "sha512-WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==", "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-transform-typescript": "^7.12.1" + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-transform-typescript": "^7.16.7" } }, "@babel/runtime": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", - "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.8.tgz", + "integrity": "sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==", "requires": { "regenerator-runtime": "^0.13.4" } }, "@babel/runtime-corejs3": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.4.tgz", - "integrity": "sha512-lWcAqKeB624/twtTc3w6w/2o9RqJPaNBhPGK6DKLSiwuVWC7WFkypWyNg+CpZoyJH0jVzv1uMtXZ/5/lQOLtCg==", + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.17.8.tgz", + "integrity": "sha512-ZbYSUvoSF6dXZmMl/CYTMOvzIFnbGfv4W3SEHYgMvNsFTeLaF2gkGAF4K2ddmtSK4Emej+0aYcnSC6N5dPCXUQ==", "requires": { - "core-js-pure": "^3.16.0", + "core-js-pure": "^3.20.2", "regenerator-runtime": "^0.13.4" } }, "@babel/template": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.15.4.tgz", - "integrity": "sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg==", + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4" + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" } }, "@babel/traverse": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.15.4.tgz", - "integrity": "sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA==", + "version": "7.17.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz", + "integrity": "sha512-5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==", "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", - "@babel/helper-function-name": "^7.15.4", - "@babel/helper-hoist-variables": "^7.15.4", - "@babel/helper-split-export-declaration": "^7.15.4", - "@babel/parser": "^7.15.4", - "@babel/types": "^7.15.4", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.3", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.17.3", + "@babel/types": "^7.17.0", "debug": "^4.1.0", "globals": "^11.1.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } } }, "@babel/types": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.15.6.tgz", - "integrity": "sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", + "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", "requires": { - "@babel/helper-validator-identifier": "^7.14.9", + "@babel/helper-validator-identifier": "^7.16.7", "to-fast-properties": "^2.0.0" } }, @@ -1191,6 +1309,13 @@ "requires": { "exec-sh": "^0.3.2", "minimist": "^1.2.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + } } }, "@csstools/convert-colors": { @@ -1219,10 +1344,18 @@ "strip-json-comments": "^3.1.1" }, "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, "globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", "requires": { "type-fest": "^0.20.2" } @@ -1231,13 +1364,26 @@ "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, "@gar/promisify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz", - "integrity": "sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==" + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==" }, "@hapi/address": { "version": "2.1.4", @@ -1281,12 +1427,35 @@ "@humanwhocodes/object-schema": "^1.2.0", "debug": "^4.1.1", "minimatch": "^3.0.4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } } }, "@humanwhocodes/object-schema": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz", - "integrity": "sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" }, "@istanbuljs/load-nyc-config": { "version": "1.1.0", @@ -1330,14 +1499,6 @@ "slash": "^3.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -1346,32 +1507,6 @@ "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -1410,14 +1545,6 @@ "strip-ansi": "^6.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -1427,24 +1554,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, "jest-resolve": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", @@ -1459,14 +1568,6 @@ "resolve": "^1.18.1", "slash": "^3.0.0" } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -1536,14 +1637,6 @@ "v8-to-istanbul": "^7.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -1553,24 +1646,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, "istanbul-lib-instrument": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", @@ -1601,19 +1676,6 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -1625,13 +1687,6 @@ "callsites": "^3.0.0", "graceful-fs": "^4.2.4", "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } } }, "@jest/test-result": { @@ -1679,14 +1734,6 @@ "write-file-atomic": "^3.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -1695,37 +1742,6 @@ "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -1741,14 +1757,6 @@ "chalk": "^4.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -1757,35 +1765,28 @@ "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } } } }, + "@jridgewell/resolve-uri": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz", + "integrity": "sha512-VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==" + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz", + "integrity": "sha512-Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz", + "integrity": "sha512-vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1810,14 +1811,22 @@ } }, "@npmcli/fs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.0.0.tgz", - "integrity": "sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", "requires": { "@gar/promisify": "^1.0.1", "semver": "^7.3.5" }, "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -2051,12 +2060,13 @@ "pretty-format": "^26.6.2" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", "requires": { - "color-convert": "^2.0.1" + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" } }, "chalk": { @@ -2068,117 +2078,33 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" } } } }, "@testing-library/jest-dom": { - "version": "5.14.1", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.14.1.tgz", - "integrity": "sha512-dfB7HVIgTNCxH22M1+KU6viG5of2ldoA5ly8Ar8xkezKHKXjRvznCdbMbqjYGgO2xjRbwnR+rR8MLUIqF3kKbQ==", + "version": "5.16.3", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.16.3.tgz", + "integrity": "sha512-u5DfKj4wfSt6akfndfu1eG06jsdyA/IUrlX2n3pyq5UXgXMhXY+NJb8eNK/7pqPWAhCKsCGWDdDO0zKMKAYkEA==", "requires": { "@babel/runtime": "^7.9.2", "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^4.2.2", + "aria-query": "^5.0.0", "chalk": "^3.0.0", "css": "^3.0.0", "css.escape": "^1.5.1", "dom-accessibility-api": "^0.5.6", "lodash": "^4.17.15", "redent": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "css": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", - "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", - "requires": { - "inherits": "^2.0.4", - "source-map": "^0.6.1", - "source-map-resolve": "^0.6.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } } }, "@testing-library/react": { @@ -2209,9 +2135,9 @@ "integrity": "sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig==" }, "@types/babel__core": { - "version": "7.1.16", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz", - "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==", + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", "requires": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0", @@ -2221,9 +2147,9 @@ } }, "@types/babel__generator": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz", - "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==", + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", "requires": { "@babel/types": "^7.0.0" } @@ -2250,19 +2176,27 @@ "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.3.3.tgz", "integrity": "sha512-LKVP3cgXBT9RYj+t+9FDKwS5tdI+rPBXaNSkma7hvqy35lc7mAokC2zsqWJH0LaqIt3B962nuYI77hsJoT1gow==" }, + "@types/debug": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", + "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", + "requires": { + "@types/ms": "*" + } + }, "@types/eslint": { - "version": "7.28.2", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.2.tgz", - "integrity": "sha512-KubbADPkfoU75KgKeKLsFHXnU4ipH7wYg0TRT33NK3N3yiu7jlFAAoygIWBV+KbuHx/G+AvuGX6DllnK35gfJA==", + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.29.0.tgz", + "integrity": "sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==", "requires": { "@types/estree": "*", "@types/json-schema": "*" } }, "@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==" + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==" }, "@types/glob": { "version": "7.2.0", @@ -2281,6 +2215,14 @@ "@types/node": "*" } }, + "@types/hast": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", + "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", + "requires": { + "@types/unist": "*" + } + }, "@types/hoist-non-react-statics": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", @@ -2296,9 +2238,9 @@ "integrity": "sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==" }, "@types/istanbul-lib-coverage": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", - "integrity": "sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==" + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", + "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==" }, "@types/istanbul-lib-report": { "version": "3.0.0", @@ -2317,142 +2259,51 @@ } }, "@types/jest": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.2.tgz", - "integrity": "sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA==", + "version": "27.4.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.4.1.tgz", + "integrity": "sha512-23iPJADSmicDVrWk+HT58LMJtzLAnB2AgIzplQuq/bSrGaxCrlvRFjGbXmamnnk/mAmCdLStiGqggu28ocUyiw==", "requires": { - "jest-diff": "^27.0.0", + "jest-matcher-utils": "^27.0.0", "pretty-format": "^27.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.2.5", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.2.5.tgz", - "integrity": "sha512-nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "diff-sequences": { - "version": "27.0.6", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz", - "integrity": "sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "jest-diff": { - "version": "27.3.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.3.1.tgz", - "integrity": "sha512-PCeuAH4AWUo2O5+ksW4pL9v5xJAcIKPUPfIhZBcG1RKv/0+dvaWTQK1Nrau8d67dp65fOqbeMdoil+6PedyEPQ==", - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.0.6", - "jest-get-type": "^27.3.1", - "pretty-format": "^27.3.1" - } - }, - "jest-get-type": { - "version": "27.3.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.3.1.tgz", - "integrity": "sha512-+Ilqi8hgHSAdhlQ3s12CAVNd8H96ZkQBfYoXmArzZnOfAtVAJEiPDBirjByEblvG/4LPJmkL+nBqPO3A1YJAEg==" - }, - "pretty-format": { - "version": "27.3.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.3.1.tgz", - "integrity": "sha512-DR/c+pvFc52nLimLROYjnXPtolawm+uWDxr4FjuLDLUn+ktWnSN851KoHwHzzqq6rfCOjkzN8FLgDrSub6UDuA==", - "requires": { - "@jest/types": "^27.2.5", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } } }, "@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==" + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==" }, "@types/json5": { "version": "0.0.29", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=" }, + "@types/mdast": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", + "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", + "requires": { + "@types/unist": "*" + } + }, + "@types/mdurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", + "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==" + }, "@types/minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, + "@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" + }, "@types/node": { - "version": "16.11.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz", - "integrity": "sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w==" + "version": "17.0.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.23.tgz", + "integrity": "sha512-UxDxWn7dl97rKVeVS61vErvw086aCYhDLyvRQZ5Rk65rZKepaFdm53GeqXaKBuOhED4e9uWq34IC3TdSdJJ2Gw==" }, "@types/normalize-package-data": { "version": "2.4.1", @@ -2465,9 +2316,9 @@ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" }, "@types/prettier": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.1.tgz", - "integrity": "sha512-Fo79ojj3vdEZOHg3wR9ksAMRz4P3S5fDB5e/YWZiFnyFQI1WY2Vftu9XoXVVtJfxB7Bpce/QTqWSSntkz2Znrw==" + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.4.tgz", + "integrity": "sha512-ReVR2rLTV1kvtlWFyuot+d1pkpG2Fw/XKE3PDAdj57rbM97ttSp9JZ2UsP+2EHTylra9cUf6JA7tGwW1INzUrA==" }, "@types/prop-types": { "version": "15.7.4", @@ -2480,9 +2331,9 @@ "integrity": "sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ==" }, "@types/react": { - "version": "17.0.39", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.39.tgz", - "integrity": "sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug==", + "version": "17.0.43", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.43.tgz", + "integrity": "sha512-8Q+LNpdxf057brvPu1lMtC5Vn7J119xrP1aq4qiaefNioQUYANF/CYeK4NsKorSZyUGJ66g0IM+4bbjwx45o2A==", "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -2518,9 +2369,9 @@ "integrity": "sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ==" }, "@types/testing-library__jest-dom": { - "version": "5.14.1", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.1.tgz", - "integrity": "sha512-Gk9vaXfbzc5zCXI9eYE9BI5BNHEp4D3FWjgqBE/ePGYElLAP+KvxBcsdkwfIVvezs605oiyd/VrpiHe3Oeg+Aw==", + "version": "5.14.3", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.3.tgz", + "integrity": "sha512-oKZe+Mf4ioWlMuzVBaXQ9WDnEm1+umLx0InILg+yvZVBBDmzV5KfZyLrCvadtWcx8+916jLmHafcmqqffl+iIw==", "requires": { "@types/jest": "*" } @@ -2531,19 +2382,17 @@ "integrity": "sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ==", "requires": { "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } } }, + "@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" + }, "@types/webpack": { - "version": "4.41.31", - "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.31.tgz", - "integrity": "sha512-/i0J7sepXFIp1ZT7FjUGi1eXMCg8HCCzLJEQkKsOtbJFontsJLolBcDC+3qxn5pPwiCt1G0ZdRmYRzNBtvpuGQ==", + "version": "4.41.32", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.32.tgz", + "integrity": "sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg==", "requires": { "@types/node": "*", "@types/tapable": "^1", @@ -2551,13 +2400,6 @@ "@types/webpack-sources": "*", "anymatch": "^3.0.0", "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } } }, "@types/webpack-sources": { @@ -2586,9 +2428,9 @@ } }, "@types/yargs-parser": { - "version": "20.2.1", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", - "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==" + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==" }, "@typescript-eslint/eslint-plugin": { "version": "4.33.0", @@ -2605,6 +2447,27 @@ "tsutils": "^3.21.0" }, "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -2626,16 +2489,6 @@ "@typescript-eslint/typescript-estree": "4.33.0", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" - }, - "dependencies": { - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "requires": { - "eslint-visitor-keys": "^2.0.0" - } - } } }, "@typescript-eslint/parser": { @@ -2647,6 +2500,21 @@ "@typescript-eslint/types": "4.33.0", "@typescript-eslint/typescript-estree": "4.33.0", "debug": "^4.3.1" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } } }, "@typescript-eslint/scope-manager": { @@ -2677,6 +2545,27 @@ "tsutils": "^3.21.0" }, "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "semver": { "version": "7.3.5", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", @@ -2869,12 +2758,12 @@ "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" }, "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" } }, "acorn": { @@ -2921,6 +2810,21 @@ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "requires": { "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } } }, "aggregate-error": { @@ -2989,11 +2893,11 @@ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" } }, "anymatch": { @@ -3019,13 +2923,9 @@ } }, "aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", - "requires": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - } + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.0.0.tgz", + "integrity": "sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg==" }, "arity-n": { "version": "1.0.4", @@ -3048,9 +2948,9 @@ "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" }, "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, "array-includes": { "version": "3.1.4", @@ -3221,9 +3121,9 @@ } }, "axe-core": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.3.4.tgz", - "integrity": "sha512-4Hk6iSA/H90rtiPoCpSkeJxNWCPBf7szwVvaUqrPdxo0j2Y04suHK9jPKXaE3WI7OET6wBSwsWw7FDc1DBq7iQ==" + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", + "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==" }, "axios": { "version": "0.24.0", @@ -3281,15 +3181,6 @@ "slash": "^3.0.0" }, "dependencies": { - "@babel/core": {}, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -3298,32 +3189,43 @@ "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + } + } + }, + "babel-loader": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", + "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", + "requires": { + "find-cache-dir": "^2.1.0", + "loader-utils": "^1.4.0", + "mkdirp": "^0.5.3", + "pify": "^4.0.1", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", "requires": { - "color-name": "~1.1.4" + "minimist": "^1.2.0" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", "requires": { - "has-flag": "^4.0.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" } } }, @@ -3359,41 +3261,39 @@ } }, "babel-plugin-macros": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz", - "integrity": "sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", "requires": { - "@babel/runtime": "^7.7.2", - "cosmiconfig": "^6.0.0", - "resolve": "^1.12.0" + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" }, "dependencies": { - "cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } } } }, "babel-plugin-named-asset-import": { - "version": "0.3.7", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz", - "integrity": "sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw==" + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==" }, "babel-plugin-polyfill-corejs2": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz", - "integrity": "sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", "requires": { "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.2.2", + "@babel/helper-define-polyfill-provider": "^0.3.1", "semver": "^6.1.1" }, "dependencies": { @@ -3405,20 +3305,20 @@ } }, "babel-plugin-polyfill-corejs3": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.5.tgz", - "integrity": "sha512-ninF5MQNwAX9Z7c9ED+H2pGt1mXdP4TqzlHKyPIYmJIYz0N+++uwdM7RnJukklhzJ54Q84vA4ZJkgs7lu5vqcw==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", + "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2", - "core-js-compat": "^3.16.2" + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz", - "integrity": "sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg==", + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", "requires": { - "@babel/helper-define-polyfill-provider": "^0.2.2" + "@babel/helper-define-polyfill-provider": "^0.3.1" } }, "babel-plugin-syntax-object-rest-spread": { @@ -3469,171 +3369,67 @@ } }, "babel-preset-react-app": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.0.tgz", - "integrity": "sha512-itL2z8v16khpuKutx5IH8UdCdSTuzrOhRFTEdIhveZ2i1iBKDrVE0ATa4sFVy+02GLucZNVBWtoarXBy0Msdpg==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", "requires": { - "@babel/core": "7.12.3", - "@babel/plugin-proposal-class-properties": "7.12.1", - "@babel/plugin-proposal-decorators": "7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "7.12.1", - "@babel/plugin-proposal-numeric-separator": "7.12.1", - "@babel/plugin-proposal-optional-chaining": "7.12.1", - "@babel/plugin-transform-flow-strip-types": "7.12.1", - "@babel/plugin-transform-react-display-name": "7.12.1", - "@babel/plugin-transform-runtime": "7.12.1", - "@babel/preset-env": "7.12.1", - "@babel/preset-react": "7.12.1", - "@babel/preset-typescript": "7.12.1", - "@babel/runtime": "7.12.1", - "babel-plugin-macros": "2.8.0", - "babel-plugin-transform-react-remove-prop-types": "0.4.24" + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" }, "dependencies": { - "@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "@babel/core": { + "version": "7.17.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.8.tgz", + "integrity": "sha512-OdQDV/7cRBtJHLSOBqqbYNkOcydOgnX59TZx4puf41fzcVtN3e/4yqY8lMQsK+5X2lJtAdmA+6OHqsj1hBJ4IQ==", "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.17.7", + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-module-transforms": "^7.17.7", + "@babel/helpers": "^7.17.8", + "@babel/parser": "^7.17.8", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.17.3", + "@babel/types": "^7.17.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0" } }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + "ms": "2.1.2" } }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.1.tgz", - "integrity": "sha512-MR7Ok+Af3OhNTCxYVjJZHS0t97ydnJZt/DbR4WISO39iDnhiD8XHrY12xuSJ90FFEGjir0Fzyyn7g/zY6hxbxA==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - } - }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz", - "integrity": "sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" - } - }, - "@babel/plugin-transform-react-display-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz", - "integrity": "sha512-cAzB+UzBIrekfYxyLlFqf/OagTvHLcVBb5vpouzkYkBclRPraiygVnafvAoipErZLI8ANv8Ecn6E/m5qPXD26w==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } - }, - "@babel/preset-env": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.1.tgz", - "integrity": "sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg==", - "requires": { - "@babel/compat-data": "^7.12.1", - "@babel/helper-compilation-targets": "^7.12.1", - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.1", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.1", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.1", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.1", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.1", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.1", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.1", - "core-js-compat": "^3.6.2", - "semver": "^5.5.0" - } - }, - "@babel/preset-react": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.12.1.tgz", - "integrity": "sha512-euCExymHCi0qB9u5fKw7rvlw7AZSjw/NaB9h7EkdTt5+yHRrXdiRTh7fkG3uBPpJg82CqLfp1LHLqWGSCrab+g==", - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-transform-react-display-name": "^7.12.1", - "@babel/plugin-transform-react-jsx": "^7.12.1", - "@babel/plugin-transform-react-jsx-development": "^7.12.1", - "@babel/plugin-transform-react-jsx-self": "^7.12.1", - "@babel/plugin-transform-react-jsx-source": "^7.12.1", - "@babel/plugin-transform-react-pure-annotations": "^7.12.1" - } - }, - "@babel/runtime": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz", - "integrity": "sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==", - "requires": { - "regenerator-runtime": "^0.13.4" - } + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" } } }, @@ -3663,6 +3459,11 @@ "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" }, + "bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -3761,40 +3562,20 @@ "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" }, "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==", "requires": { - "bytes": "3.1.0", + "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", "depd": "~1.1.2", - "http-errors": "1.7.2", + "http-errors": "1.8.1", "iconv-lite": "0.4.24", "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } + "qs": "6.9.7", + "raw-body": "2.4.3", + "type-is": "~1.6.18" } }, "bonjour": { @@ -3808,6 +3589,13 @@ "dns-txt": "^2.0.2", "multicast-dns": "^6.0.1", "multicast-dns-service-types": "^1.1.0" + }, + "dependencies": { + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + } } }, "boolbase": { @@ -3910,11 +3698,6 @@ "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" } } }, @@ -3927,14 +3710,14 @@ } }, "browserslist": { - "version": "4.17.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.5.tgz", - "integrity": "sha512-I3ekeB92mmpctWBoLXe0d5wPS2cBuRvvW0JyyJHMrk9/HmP2ZjrTboNAZ8iuGqaEIlKguljbQY32OkOJIRrgoA==", + "version": "4.20.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.2.tgz", + "integrity": "sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA==", "requires": { - "caniuse-lite": "^1.0.30001271", - "electron-to-chromium": "^1.3.878", + "caniuse-lite": "^1.0.30001317", + "electron-to-chromium": "^1.4.84", "escalade": "^3.1.1", - "node-releases": "^2.0.1", + "node-releases": "^2.0.2", "picocolors": "^1.0.0" } }, @@ -3982,9 +3765,9 @@ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" }, "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" }, "cacache": { "version": "15.3.0", @@ -4011,6 +3794,14 @@ "unique-filename": "^1.1.1" }, "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "requires": { + "yallist": "^4.0.0" + } + }, "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -4088,9 +3879,9 @@ } }, "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==" + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" }, "caniuse-api": { "version": "3.0.0", @@ -4104,9 +3895,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001272", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001272.tgz", - "integrity": "sha512-DV1j9Oot5dydyH1v28g25KoVm7l8MTxazwuiH3utWiAS6iL/9Nh//TGwqFEeqqN8nnWYQ8HHhUq+o4QPt9kvYw==" + "version": "1.0.30001324", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001324.tgz", + "integrity": "sha512-/eYp1J6zYh1alySQB4uzYFkLmxxI8tk0kxldbNHXp8+v+rdMKdUBNjRLz7T7fz6Iox+1lIdYpc7rq6ZcXfTukg==" }, "capture-exit": { "version": "2.0.0", @@ -4122,13 +3913,12 @@ "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==" }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, "char-regex": { @@ -4136,15 +3926,25 @@ "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" }, + "character-entities": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.1.tgz", + "integrity": "sha512-OzmutCf2Kmc+6DrFrrPS8/tDh2+DpnrfzdICHWhcVC9eOd0N1PXmQEE1a8iM4IziIAG+8tmTq3K+oo0ubH6RRQ==" + }, + "charcodes": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/charcodes/-/charcodes-0.2.0.tgz", + "integrity": "sha512-Y4kiDb+AM4Ecy58YkuZrrSRJBDQdQ2L+NyS1vHHFtNtUjgutcZfx3yp1dAONI/oPaPmyGfCLx5CxL+zauIMyKQ==" + }, "check-types": { "version": "11.1.2", "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", "integrity": "sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ==" }, "chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "optional": true, "requires": { "anymatch": "~3.1.2", @@ -4213,13 +4013,6 @@ "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", "requires": { "source-map": "~0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } } }, "clean-stack": { @@ -4227,14 +4020,6 @@ "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" }, - "cli": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/cli/-/cli-0.4.3.tgz", - "integrity": "sha1-5oGcjV+qlX9k+Y9mqFBiaMHR8X0=", - "requires": { - "glob": ">= 3.1.4" - } - }, "cliui": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", @@ -4258,6 +4043,52 @@ "@types/q": "^1.5.1", "chalk": "^2.4.1", "q": "^1.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } } }, "collect-v8-coverage": { @@ -4281,35 +4112,45 @@ "requires": { "color-convert": "^1.9.3", "color-string": "^1.6.0" + }, + "dependencies": { + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + } } }, "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { - "color-name": "1.1.3" + "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "color-string": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", - "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", + "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", "requires": { "color-name": "^1.0.0", "simple-swizzle": "^0.2.2" } }, - "colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==" - }, "combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -4318,15 +4159,20 @@ "delayed-stream": "~1.0.0" } }, + "comma-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz", + "integrity": "sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==" + }, "commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" }, "common-tags": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz", - "integrity": "sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw==" + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==" }, "commondir": { "version": "1.0.1", @@ -4368,18 +4214,15 @@ "vary": "~1.1.2" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "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==" } } }, @@ -4400,9 +4243,9 @@ } }, "confusing-browser-globals": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.10.tgz", - "integrity": "sha512-gNld/3lySHwuhaVluJUKLePYirM3QNCKzVxqAdhJII9/WXKVX5PURzMVJspS1jTslSqjeuG4KMVTSouit5YPHA==" + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" }, "connect-history-api-fallback": { "version": "1.6.0", @@ -4420,11 +4263,11 @@ "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" }, "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "5.2.1" } }, "content-type": { @@ -4438,12 +4281,19 @@ "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", "requires": { "safe-buffer": "~5.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } } }, "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==" }, "cookie-signature": { "version": "1.0.6", @@ -4479,16 +4329,16 @@ "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" }, "core-js": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.19.0.tgz", - "integrity": "sha512-L1TpFRWXZ76vH1yLM+z6KssLZrP8Z6GxxW4auoCj+XiViOzNPJCAuTIkn03BGdFe6Z5clX5t64wRIRypsZQrUg==" + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.21.1.tgz", + "integrity": "sha512-FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig==" }, "core-js-compat": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.0.tgz", - "integrity": "sha512-R09rKZ56ccGBebjTLZHvzDxhz93YPT37gBm6qUhnwj3Kt7aCjjZWD1injyNbyeFHxNKfeZBSyds6O9n3MKq1sw==", + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz", + "integrity": "sha512-gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==", "requires": { - "browserslist": "^4.17.5", + "browserslist": "^4.19.1", "semver": "7.0.0" }, "dependencies": { @@ -4500,9 +4350,9 @@ } }, "core-js-pure": { - "version": "3.19.0", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.19.0.tgz", - "integrity": "sha512-UEQk8AxyCYvNAs6baNoPqDADv7BX0AmBLGxVsrAifPPx/C8EAzV4Q+2ZUJqVzfI2TQQEZITnwUkWcHpgc/IubQ==" + "version": "3.21.1", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.21.1.tgz", + "integrity": "sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==" }, "core-util-is": { "version": "1.0.3", @@ -4562,6 +4412,25 @@ "sha.js": "^2.4.8" } }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } + } + }, "crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", @@ -4586,33 +4455,13 @@ "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" }, "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", "requires": { - "inherits": "^2.0.3", + "inherits": "^2.0.4", "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - } + "source-map-resolve": "^0.6.0" } }, "css-blank-pseudo": { @@ -4713,13 +4562,6 @@ "requires": { "mdn-data": "2.0.4", "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } } }, "css-what": { @@ -4870,11 +4712,6 @@ "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" } } }, @@ -4899,9 +4736,9 @@ } }, "csstype": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz", - "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==" + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.11.tgz", + "integrity": "sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==" }, "cyclist": { "version": "1.0.1", @@ -4918,9 +4755,9 @@ } }, "damerau-levenshtein": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz", - "integrity": "sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==" + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" }, "data-urls": { "version": "2.0.0", @@ -4933,11 +4770,11 @@ } }, "debug": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", - "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "requires": { - "ms": "2.1.2" + "ms": "2.0.0" } }, "decamelize": { @@ -4950,6 +4787,14 @@ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==" }, + "decode-named-character-reference": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.1.tgz", + "integrity": "sha512-YV/0HQHreRwKb7uBopyIkLG17jG6Sv2qUchk9qSoVJ2f+flwRsPNBO0hAnjt6mTNYUT+vw9Gy2ihXg4sUWPi2w==", + "requires": { + "character-entities": "^2.0.0" + } + }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", @@ -5103,6 +4948,11 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, + "dequal": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.2.tgz", + "integrity": "sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug==" + }, "des.js": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", @@ -5134,27 +4984,17 @@ "requires": { "address": "^1.0.1", "debug": "^2.6.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } } }, + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" + }, "diff-sequences": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", - "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" }, "diffie-hellman": { "version": "5.0.3", @@ -5212,9 +5052,9 @@ } }, "dom-accessibility-api": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.10.tgz", - "integrity": "sha512-Xu9mD0UjrJisTmv7lmVSDMagQcU9R5hwAbxsaAE/35XPnPLJobbuREfV/rraiSaEj/UOvgrzQs66zyTWTlyd+g==" + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.13.tgz", + "integrity": "sha512-R305kwb5CcMDIpSHUnLyIAp7SrSPBx6F0VfQFB3M75xVMHhXJJIdePYgbPPh1o57vCHNu5QztokWUPsLjWzFqw==" }, "dom-converter": { "version": "0.2.0", @@ -5266,9 +5106,9 @@ } }, "domhandler": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", - "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "requires": { "domelementtype": "^2.2.0" }, @@ -5350,9 +5190,9 @@ "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==" }, "electron-to-chromium": { - "version": "1.3.884", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.884.tgz", - "integrity": "sha512-kOaCAa+biA98PwH5BpCkeUeTL6mCeg8p3Q3OhqzPyqhu/5QUnWAN2wr/3IK8xMQxIV76kfoQpP+Bn/wij/jXrg==" + "version": "1.4.103", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.103.tgz", + "integrity": "sha512-c/uKWR1Z/W30Wy/sx3dkZoj4BijbXX85QKWu9jJfjho3LBAXNEGAEW3oWiGb+dotA6C6BzCTxL2/aLes7jlUeg==" }, "elliptic": { "version": "6.5.4", @@ -5460,17 +5300,17 @@ } }, "error-stack-parser": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", - "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.7.tgz", + "integrity": "sha512-chLOW0ZGRf4s8raLrDxa5sdkvPec5YdvwbFnqJme4rk0rFajP8mPtrDL1+I+CwrQDCjswDA5sREX7jYQDQs9vA==", "requires": { "stackframe": "^1.1.1" } }, "es-abstract": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", - "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.2.tgz", + "integrity": "sha512-gfSBJoZdlL2xRiOCy0g8gLMryhoe1TlimjzU99L/31Z8QEGIhVQI+EWwt5lT+AuU9SnorVupXFqqOGqGfsyO6w==", "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -5478,15 +5318,15 @@ "get-intrinsic": "^1.1.1", "get-symbol-description": "^1.0.0", "has": "^1.0.3", - "has-symbols": "^1.0.2", + "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", + "is-negative-zero": "^2.0.2", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.1", "is-string": "^1.0.7", - "is-weakref": "^1.0.1", - "object-inspect": "^1.11.0", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", "string.prototype.trimend": "^1.0.4", @@ -5505,13 +5345,13 @@ } }, "es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "version": "0.10.59", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.59.tgz", + "integrity": "sha512-cOgyhW0tIJyQY1Kfw6Kr0viu9ZlUctVchRMZ7R0HiH3dxTSp5zJDLecwxUqPUrGKMsgBI1wd1FL+d9Jxfi4cLw==", "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" } }, "es6-iterator": { @@ -5592,12 +5432,6 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "optional": true - }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", @@ -5663,14 +5497,6 @@ "@babel/highlight": "^7.10.4" } }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -5680,19 +5506,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -5703,6 +5516,14 @@ "which": "^2.0.1" } }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -5724,23 +5545,31 @@ } }, "globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "version": "13.13.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", + "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", "requires": { "type-fest": "^0.20.2" } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, "ignore": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==" }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -5759,14 +5588,6 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -5802,25 +5623,30 @@ "ms": "^2.1.1" } }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } } } }, "eslint-module-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz", - "integrity": "sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ==", + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", + "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", "requires": { "debug": "^3.2.7", - "find-up": "^2.1.0", - "pkg-dir": "^2.0.0" + "find-up": "^2.1.0" }, "dependencies": { "debug": { @@ -5848,6 +5674,11 @@ "path-exists": "^3.0.0" } }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, "p-limit": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", @@ -5873,14 +5704,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" - }, - "pkg-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", - "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", - "requires": { - "find-up": "^2.1.0" - } } } }, @@ -5894,33 +5717,25 @@ } }, "eslint-plugin-import": { - "version": "2.25.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.2.tgz", - "integrity": "sha512-qCwQr9TYfoBHOFcVGKY9C9unq05uOxxdklmBXLVvcwo68y5Hta6/GzCZEMx2zQiu0woKNEER0LE7ZgaOfBU14g==", + "version": "2.25.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz", + "integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==", "requires": { "array-includes": "^3.1.4", "array.prototype.flat": "^1.2.5", "debug": "^2.6.9", "doctrine": "^2.1.0", "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.0", + "eslint-module-utils": "^2.7.2", "has": "^1.0.3", - "is-core-module": "^2.7.0", + "is-core-module": "^2.8.0", "is-glob": "^4.0.3", "minimatch": "^3.0.4", "object.values": "^1.1.5", "resolve": "^1.20.0", - "tsconfig-paths": "^3.11.0" + "tsconfig-paths": "^3.12.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, "doctrine": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", @@ -5929,18 +5744,22 @@ "esutils": "^2.0.2" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } }, "resolve": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", - "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", "requires": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" } } } @@ -5954,49 +5773,67 @@ } }, "eslint-plugin-jsx-a11y": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz", - "integrity": "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz", + "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==", "requires": { - "@babel/runtime": "^7.11.2", + "@babel/runtime": "^7.16.3", "aria-query": "^4.2.2", - "array-includes": "^3.1.1", + "array-includes": "^3.1.4", "ast-types-flow": "^0.0.7", - "axe-core": "^4.0.2", + "axe-core": "^4.3.5", "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.6", - "emoji-regex": "^9.0.0", + "damerau-levenshtein": "^1.0.7", + "emoji-regex": "^9.2.2", "has": "^1.0.3", - "jsx-ast-utils": "^3.1.0", - "language-tags": "^1.0.5" + "jsx-ast-utils": "^3.2.1", + "language-tags": "^1.0.5", + "minimatch": "^3.0.4" }, "dependencies": { + "aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "requires": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + } + }, "emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } } } }, "eslint-plugin-react": { - "version": "7.26.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.26.1.tgz", - "integrity": "sha512-Lug0+NOFXeOE+ORZ5pbsh6mSKjBKXDXItUD2sQoT+5Yl0eoT82DqnXeTMfUare4QVCn9QwXbfzO/dBLjLXwVjQ==", + "version": "7.29.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.29.4.tgz", + "integrity": "sha512-CVCXajliVh509PcZYRFyu/BoUEz452+jtQJq2b3Bae4v3xBUWPLCmtmBM+ZinG4MzwmxJgJ2M5rMqhqLVn7MtQ==", "requires": { - "array-includes": "^3.1.3", - "array.prototype.flatmap": "^1.2.4", + "array-includes": "^3.1.4", + "array.prototype.flatmap": "^1.2.5", "doctrine": "^2.1.0", - "estraverse": "^5.2.0", + "estraverse": "^5.3.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.0.4", - "object.entries": "^1.1.4", - "object.fromentries": "^2.0.4", - "object.hasown": "^1.0.0", - "object.values": "^1.1.4", - "prop-types": "^15.7.2", + "minimatch": "^3.1.2", + "object.entries": "^1.1.5", + "object.fromentries": "^2.0.5", + "object.hasown": "^1.1.0", + "object.values": "^1.1.5", + "prop-types": "^15.8.1", "resolve": "^2.0.0-next.3", "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.5" + "string.prototype.matchall": "^4.0.6" }, "dependencies": { "doctrine": { @@ -6012,6 +5849,14 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==" }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, "resolve": { "version": "2.0.0-next.3", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", @@ -6029,9 +5874,9 @@ } }, "eslint-plugin-react-hooks": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz", - "integrity": "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==" + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.4.0.tgz", + "integrity": "sha512-U3RVIfdzJaeKDQKEJbz5p3NW8/L80PCATJAfuojwbaEL+gBjfGdhUcGde+WGUW46Q5sr/NgxevsIiDtNXrvZaQ==" }, "eslint-plugin-testing-library": { "version": "3.10.2", @@ -6081,6 +5926,14 @@ "eslint-visitor-keys": "^1.1.0" } }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, "eslint-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", @@ -6093,6 +5946,11 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, @@ -6105,24 +5963,42 @@ "estraverse": "^4.1.1" } }, + "eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "requires": { + "eslint-visitor-keys": "^2.0.0" + } + }, "eslint-visitor-keys": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" }, "eslint-webpack-plugin": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-2.5.4.tgz", - "integrity": "sha512-7rYh0m76KyKSDE+B+2PUQrlNS4HJ51t3WKpkJg6vo2jFMbEPTG99cBV0Dm7LXSHucN4WGCG65wQcRiTFrj7iWw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-2.6.0.tgz", + "integrity": "sha512-V+LPY/T3kur5QO3u+1s34VDTcRxjXWPUGM4hlmTb5DwVD0OQz631yGTxJZf4SpAqAjdbBVe978S8BJeHpAdOhQ==", "requires": { - "@types/eslint": "^7.2.6", + "@types/eslint": "^7.28.2", "arrify": "^2.0.1", - "jest-worker": "^26.6.2", - "micromatch": "^4.0.2", + "jest-worker": "^27.3.1", + "micromatch": "^4.0.4", "normalize-path": "^3.0.0", - "schema-utils": "^3.0.0" + "schema-utils": "^3.1.1" }, "dependencies": { + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + } + }, "schema-utils": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", @@ -6132,6 +6008,14 @@ "ajv": "^6.12.5", "ajv-keywords": "^3.5.2" } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } } } }, @@ -6251,25 +6135,6 @@ "p-finally": "^1.0.0", "signal-exit": "^3.0.0", "strip-eof": "^1.0.0" - }, - "dependencies": { - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } } }, "exit": { @@ -6291,14 +6156,6 @@ "to-regex": "^3.0.1" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -6314,11 +6171,6 @@ "requires": { "is-extendable": "^0.1.0" } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" } } }, @@ -6335,40 +6187,71 @@ "jest-regex-util": "^26.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { - "color-convert": "^2.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" + }, + "jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", "requires": { - "color-name": "~1.1.4" + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" + }, + "jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } } } }, "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "version": "4.17.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.3.tgz", + "integrity": "sha512-yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==", "requires": { - "accepts": "~1.3.7", + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", + "body-parser": "1.19.2", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.0", + "cookie": "0.4.2", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "~1.1.2", @@ -6382,37 +6265,17 @@ "on-finished": "~2.3.0", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", + "proxy-addr": "~2.0.7", + "qs": "6.9.7", "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", + "safe-buffer": "5.2.1", + "send": "0.17.2", + "serve-static": "1.14.2", + "setprototypeof": "1.2.0", "statuses": "~1.5.0", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" - }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } } }, "ext": { @@ -6424,12 +6287,17 @@ }, "dependencies": { "type": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.5.0.tgz", - "integrity": "sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==" + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", + "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==" } } }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, "extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", @@ -6514,9 +6382,9 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "fast-glob": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", - "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", "requires": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -6635,21 +6503,6 @@ "parseurl": "~1.3.3", "statuses": "~1.5.0", "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } } }, "find-cache-dir": { @@ -6660,22 +6513,6 @@ "commondir": "^1.0.1", "make-dir": "^2.0.0", "pkg-dir": "^3.0.0" - }, - "dependencies": { - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } } }, "find-up": { @@ -6697,9 +6534,9 @@ } }, "flatted": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", - "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==" + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", + "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==" }, "flatten": { "version": "1.0.3", @@ -6716,9 +6553,9 @@ } }, "follow-redirects": { - "version": "1.14.4", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.4.tgz", - "integrity": "sha512-zwGkiSXC1MUJG/qmeIFH2HBJx9u0V46QGUe3YR1fXG8bXQxq7fLj0RjLZQ5nubr9qNJUZrH+xUcwXEoXNpfS+g==" + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" }, "for-in": { "version": "1.0.2", @@ -6739,6 +6576,14 @@ "worker-rpc": "^0.1.0" }, "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, "braces": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", @@ -6766,6 +6611,29 @@ } } }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -6787,6 +6655,11 @@ } } }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, "is-number": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", @@ -6825,11 +6698,27 @@ "to-regex": "^3.0.2" } }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, "to-regex-range": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", @@ -6929,22 +6818,10 @@ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, - "fuse": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/fuse/-/fuse-0.4.0.tgz", - "integrity": "sha1-LDjq+IirsKm6eWDP4zOdHz9T9uY=", - "requires": { - "colors": ">=0.6.x", - "jshint": "0.9.x", - "optimist": ">=0.3.5", - "uglify-js": ">=2.2.x", - "underscore": ">=1.4.x" - } - }, "fuse.js": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.4.6.tgz", - "integrity": "sha512-/gYxR/0VpXmWSfZOIPS3rWwU8SHgsRTwWuXhyb2O6s7aRuVtHtxCkR33bNYu3wyLyNx/Wpv0vU7FZy8Vj53VNw==" + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-6.5.3.tgz", + "integrity": "sha512-sA5etGE7yD/pOqivZRBvUBd/NaL2sjAu6QuSaFoe1H2BrJSkH/T/UXAJ8CdXdw7DvY3Hs8CXKYkDWX7RiP5KOg==" }, "gensync": { "version": "1.0.0-beta.2", @@ -7110,6 +6987,11 @@ } } }, + "github-slugger": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.4.0.tgz", + "integrity": "sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==" + }, "glob": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", @@ -7121,6 +7003,16 @@ "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" + }, + "dependencies": { + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "glob-parent": { @@ -7155,22 +7047,22 @@ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" }, "globby": { - "version": "11.0.4", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", - "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "requires": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", "slash": "^3.0.0" } }, "graceful-fs": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", - "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==" }, "growly": { "version": "1.3.0", @@ -7211,14 +7103,14 @@ "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==" }, "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" }, "has-tostringtag": { "version": "1.0.0", @@ -7294,11 +7186,6 @@ "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" } } }, @@ -7311,6 +7198,32 @@ "minimalistic-assert": "^1.0.1" } }, + "hast-util-has-property": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-2.0.0.tgz", + "integrity": "sha512-4Qf++8o5v14us4Muv3HRj+Er6wTNGA/N9uCaZMty4JWvyFKLdhULrv4KE1b65AthsSO9TXSZnjuxS8ecIyhb0w==" + }, + "hast-util-heading-rank": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-2.1.0.tgz", + "integrity": "sha512-w+Rw20Q/iWp2Bcnr6uTrYU6/ftZLbHKhvc8nM26VIWpDqDMlku2iXUVTeOlsdoih/UKQhY7PHQ+vZ0Aqq8bxtQ==", + "requires": { + "@types/hast": "^2.0.0" + } + }, + "hast-util-to-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-2.0.0.tgz", + "integrity": "sha512-02AQ3vLhuH3FisaMM+i/9sm4OXGSq1UhOOCpTLLQtHdL3tZt7qil69r8M8iDkZYyC0HCFylcYoP+8IO7ddta1A==", + "requires": { + "@types/hast": "^2.0.0" + } + }, + "hast-util-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz", + "integrity": "sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==" + }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -7321,6 +7234,14 @@ "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==" }, + "history": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/history/-/history-5.3.0.tgz", + "integrity": "sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==", + "requires": { + "@babel/runtime": "^7.7.6" + } + }, "hmac-drbg": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", @@ -7337,6 +7258,13 @@ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", "requires": { "react-is": "^16.7.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } } }, "hoopy": { @@ -7436,6 +7364,11 @@ "json5": "^1.0.1" } }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, "util.promisify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", @@ -7491,28 +7424,21 @@ "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", "requires": { "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" - } + "toidentifier": "1.0.1" } }, "http-parser-js": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", - "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==" }, "http-proxy": { "version": "1.18.1", @@ -7532,6 +7458,21 @@ "@tootallnate/once": "1", "agent-base": "6", "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } } }, "http-proxy-middleware": { @@ -7654,6 +7595,21 @@ "requires": { "agent-base": "6", "debug": "4" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } } }, "human-signals": { @@ -7696,9 +7652,9 @@ "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" }, "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==" }, "immer": { "version": "8.0.1", @@ -7738,9 +7694,9 @@ } }, "import-local": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", - "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "requires": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -7795,6 +7751,11 @@ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, + "inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, "internal-ip": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", @@ -7924,9 +7885,9 @@ } }, "is-core-module": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", - "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", "requires": { "has": "^1.0.3" } @@ -8018,9 +7979,9 @@ "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=" }, "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==" }, "is-number": { "version": "7.0.0", @@ -8028,9 +7989,9 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", "requires": { "has-tostringtag": "^1.0.0" } @@ -8104,9 +8065,12 @@ "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==" }, "is-shared-array-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "requires": { + "call-bind": "^1.0.2" + } }, "is-stream": { "version": "1.1.0", @@ -8135,11 +8099,11 @@ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" }, "is-weakref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", - "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", "requires": { - "call-bind": "^1.0.0" + "call-bind": "^1.0.2" } }, "is-windows": { @@ -8147,6 +8111,14 @@ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "requires": { + "is-docker": "^2.0.0" + } + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -8196,11 +8168,6 @@ "supports-color": "^7.1.0" }, "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, "make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -8213,14 +8180,6 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -8234,17 +8193,25 @@ "source-map": "^0.6.1" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" } } }, "istanbul-reports": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.5.tgz", - "integrity": "sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", + "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", "requires": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -8265,14 +8232,6 @@ "jest-cli": "^26.6.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -8282,24 +8241,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, "jest-cli": { "version": "26.6.3", "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-26.6.3.tgz", @@ -8319,14 +8260,6 @@ "prompts": "^2.0.1", "yargs": "^15.4.1" } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -8443,14 +8376,6 @@ "throat": "^5.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -8460,30 +8385,47 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" + }, + "jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", "requires": { - "color-name": "~1.1.4" + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", "requires": { - "has-flag": "^4.0.0" + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" } } } @@ -8513,14 +8455,6 @@ "pretty-format": "^26.6.2" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -8530,23 +8464,10 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" }, "jest-resolve": { "version": "26.6.2", @@ -8563,35 +8484,30 @@ "slash": "^3.0.0" } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", "requires": { - "has-flag": "^4.0.0" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" } } } }, "jest-diff": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", - "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "requires": { "chalk": "^4.0.0", - "diff-sequences": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -8600,32 +8516,6 @@ "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -8649,14 +8539,6 @@ "pretty-format": "^26.6.2" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -8666,30 +8548,20 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" } } } @@ -8722,9 +8594,9 @@ } }, "jest-get-type": { - "version": "26.3.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", - "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" }, "jest-haste-map": { "version": "26.6.2", @@ -8772,14 +8644,6 @@ "throat": "^5.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -8789,30 +8653,47 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" + }, + "jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", "requires": { - "color-name": "~1.1.4" + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", "requires": { - "has-flag": "^4.0.0" + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" } } } @@ -8824,27 +8705,37 @@ "requires": { "jest-get-type": "^26.3.0", "pretty-format": "^26.6.2" + }, + "dependencies": { + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "requires": { + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" + } + } } }, "jest-matcher-utils": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", - "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "requires": { "chalk": "^4.0.0", - "jest-diff": "^26.6.2", - "jest-get-type": "^26.3.0", - "pretty-format": "^26.6.2" + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -8853,32 +8744,6 @@ "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -8898,14 +8763,6 @@ "stack-utils": "^2.0.2" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -8915,30 +8772,15 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" } } } @@ -8955,10 +8797,7 @@ "jest-pnp-resolver": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dependencies": { - "jest-resolve": {} - } + "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==" }, "jest-regex-util": { "version": "26.0.0", @@ -8980,14 +8819,6 @@ "slash": "^3.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -8996,32 +8827,6 @@ "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -9062,14 +8867,6 @@ "throat": "^5.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -9079,24 +8876,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, "jest-resolve": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", @@ -9111,14 +8890,6 @@ "resolve": "^1.18.1", "slash": "^3.0.0" } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -9156,14 +8927,6 @@ "yargs": "^15.4.1" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -9173,24 +8936,6 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, "jest-resolve": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-26.6.2.tgz", @@ -9210,14 +8955,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -9253,14 +8990,6 @@ "semver": "^7.3.2" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -9270,23 +8999,37 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "diff-sequences": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", + "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" + }, + "jest-diff": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-26.6.2.tgz", + "integrity": "sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA==", "requires": { - "color-name": "~1.1.4" + "chalk": "^4.0.0", + "diff-sequences": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "jest-matcher-utils": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz", + "integrity": "sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^26.6.2", + "jest-get-type": "^26.3.0", + "pretty-format": "^26.6.2" + } }, "jest-resolve": { "version": "26.6.2", @@ -9303,12 +9046,15 @@ "slash": "^3.0.0" } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", "requires": { - "has-flag": "^4.0.0" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" } } } @@ -9326,14 +9072,6 @@ "micromatch": "^4.0.2" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -9342,32 +9080,6 @@ "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -9384,14 +9096,6 @@ "pretty-format": "^26.6.2" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -9401,30 +9105,20 @@ "supports-color": "^7.1.0" } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "jest-get-type": { + "version": "26.3.0", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-26.3.0.tgz", + "integrity": "sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig==" + }, + "pretty-format": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", + "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" + "@jest/types": "^26.6.2", + "ansi-regex": "^5.0.0", + "ansi-styles": "^4.0.0", + "react-is": "^17.0.1" } } } @@ -9443,14 +9137,6 @@ "strip-ansi": "^6.0.0" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -9459,32 +9145,6 @@ "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -9502,14 +9162,6 @@ "string-length": "^4.0.1" }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", @@ -9518,32 +9170,6 @@ "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } } } }, @@ -9555,21 +9181,6 @@ "@types/node": "*", "merge-stream": "^2.0.0", "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } } }, "js-tokens": { @@ -9621,9 +9232,9 @@ }, "dependencies": { "acorn": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", - "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==" + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==" } } }, @@ -9632,30 +9243,6 @@ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" }, - "jshint": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/jshint/-/jshint-0.9.1.tgz", - "integrity": "sha1-/zLsfwn4QAH3SY7q/WPJ5Puy3A4=", - "requires": { - "cli": "0.4.3", - "minimatch": "0.0.x" - }, - "dependencies": { - "lru-cache": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-1.0.6.tgz", - "integrity": "sha1-qlD5cEdCKsclQ72hd6nJ0BjZhFI=" - }, - "minimatch": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.0.5.tgz", - "integrity": "sha1-lrtJC707poNrv6wRGt91MBsVhN4=", - "requires": { - "lru-cache": "~1.0.2" - } - } - } - }, "json-parse-better-errors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", @@ -9676,18 +9263,10 @@ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" - }, "json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "requires": { - "minimist": "^1.2.5" - } + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==" }, "jsonfile": { "version": "6.1.0", @@ -9699,11 +9278,11 @@ } }, "jsx-ast-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz", - "integrity": "sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.2.tgz", + "integrity": "sha512-HDAyJ4MNQBboGpUnHAVUNJs6X0lh058s6FuixsFGP7MgJYpD6Vasd6nzSG5iIfXu1zAYlHJ/zsOKNlrenTUBnw==", "requires": { - "array-includes": "^3.1.3", + "array-includes": "^3.1.4", "object.assign": "^4.1.2" } }, @@ -9764,9 +9343,9 @@ } }, "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=" + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, "loader-runner": { "version": "2.4.0", @@ -9774,9 +9353,9 @@ "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" }, "loader-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.1.tgz", - "integrity": "sha512-g4miPa9uUrZz4iElkaVJgDFwKJGh8aQGM7pUL4ejXl6cu7kSb30seQOVGNMP6sW8j7DW77X68hJZ+GM7UGhXeQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", "requires": { "big.js": "^5.2.2", "emojis-list": "^3.0.0", @@ -9801,11 +9380,6 @@ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" - }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -9849,9 +9423,9 @@ "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" }, "loglevel": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", - "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==" + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.0.tgz", + "integrity": "sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA==" }, "loose-envify": { "version": "1.4.0", @@ -9876,25 +9450,33 @@ } } }, - "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "requires": { - "yallist": "^4.0.0" - } - }, "lz-string": { "version": "1.4.4", "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=" }, "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", "requires": { - "sourcemap-codec": "^1.4.4" + "sourcemap-codec": "^1.4.8" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "dependencies": { + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + } } }, "makeerror": { @@ -9928,11 +9510,79 @@ "safe-buffer": "^5.1.2" } }, + "mdast-util-definitions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.0.tgz", + "integrity": "sha512-5hcR7FL2EuZ4q6lLMUK5w4lHT2H3vqL9quPvYZ/Ku5iifrirfMHiGdhxdXMUbUkDmz5I+TYMd7nbaxUhbQkfpQ==", + "requires": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "unist-util-visit": "^3.0.0" + }, + "dependencies": { + "unist-util-visit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-3.1.0.tgz", + "integrity": "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^4.0.0" + } + } + } + }, + "mdast-util-from-markdown": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz", + "integrity": "sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==", + "requires": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + } + }, + "mdast-util-to-hast": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.1.1.tgz", + "integrity": "sha512-qE09zD6ylVP14jV4mjLIhDBOrpFdShHZcEsYvvKGABlr9mGbV7mTlRWdoFxL/EYSTNDiC9GZXy7y8Shgb9Dtzw==", + "requires": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "@types/mdurl": "^1.0.0", + "mdast-util-definitions": "^5.0.0", + "mdurl": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "unist-builder": "^3.0.0", + "unist-util-generated": "^2.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0" + } + }, + "mdast-util-to-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz", + "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==" + }, "mdn-data": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" }, + "mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=" + }, "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", @@ -9972,13 +9622,240 @@ "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz", "integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" }, - "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "micromark": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.0.10.tgz", + "integrity": "sha512-ryTDy6UUunOXy2HPjelppgJ2sNfcPz1pLlMdA6Rz9jPzhLikWXv/irpWV/I2jd68Uhmny7hHxAlAhk4+vWggpg==", "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "micromark-core-commonmark": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", + "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", + "requires": { + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "micromark-factory-destination": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", + "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-factory-label": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", + "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-factory-space": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", + "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-factory-title": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", + "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", + "requires": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-factory-whitespace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", + "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", + "requires": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", + "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", + "requires": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-chunked": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", + "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", + "requires": { + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-classify-character": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", + "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-combine-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", + "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", + "requires": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-decode-numeric-character-reference": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", + "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", + "requires": { + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-decode-string": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", + "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", + "requires": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-encode": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", + "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==" + }, + "micromark-util-html-tag-name": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.0.0.tgz", + "integrity": "sha512-NenEKIshW2ZI/ERv9HtFNsrn3llSPZtY337LID/24WeLqMzeZhBEE6BQ0vS2ZBjshm5n40chKtJ3qjAbVV8S0g==" + }, + "micromark-util-normalize-identifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", + "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", + "requires": { + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-resolve-all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", + "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", + "requires": { + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-sanitize-uri": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.0.0.tgz", + "integrity": "sha512-cCxvBKlmac4rxCGx6ejlIviRaMKZc0fWm5HdCHEeDWRSkn44l6NdYVRyU+0nT1XC72EQJMZV8IPHF+jTr56lAg==", + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-subtokenize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", + "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", + "requires": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-util-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", + "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==" + }, + "micromark-util-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", + "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" } }, "miller-rabin": { @@ -10003,16 +9880,16 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.50.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", - "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==" + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { - "version": "2.1.33", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", - "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { - "mime-db": "1.50.0" + "mime-db": "1.52.0" } }, "mimic-fn": { @@ -10054,6 +9931,11 @@ "json5": "^1.0.1" } }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -10076,23 +9958,10 @@ "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, "minipass": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.5.tgz", - "integrity": "sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw==", + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", + "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", "requires": { "yallist": "^4.0.0" } @@ -10167,11 +10036,18 @@ } }, "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "requires": { - "minimist": "^1.2.5" + "minimist": "^1.2.6" + }, + "dependencies": { + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + } } }, "move-concurrently": { @@ -10197,10 +10073,15 @@ } } }, + "mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==" + }, "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, "multicast-dns": { "version": "6.2.3", @@ -10217,9 +10098,9 @@ "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" }, "nanoid": { - "version": "3.1.30", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", - "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==" + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.2.tgz", + "integrity": "sha512-CuHBogktKwpm5g2sRgv83jEy2ijFzBwMoYA60orPDR7ynsLijJDqgsi4RDGj3OJpy3Ieb+LYwiRmIOGyytgITA==" }, "nanomatch": { "version": "1.2.13", @@ -10253,9 +10134,9 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" }, "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" }, "neo-async": { "version": "2.6.2", @@ -10263,9 +10144,9 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, "next-tick": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" }, "nice-try": { "version": "1.0.5", @@ -10335,11 +10216,6 @@ } } }, - "node-modules-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=" - }, "node-notifier": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.2.tgz", @@ -10354,15 +10230,6 @@ "which": "^2.0.2" }, "dependencies": { - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "optional": true, - "requires": { - "is-docker": "^2.0.0" - } - }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -10375,9 +10242,9 @@ } }, "node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz", + "integrity": "sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==" }, "normalize-package-data": { "version": "2.5.0", @@ -10478,9 +10345,9 @@ } }, "object-inspect": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.0.tgz", - "integrity": "sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==" + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==" }, "object-is": { "version": "1.1.5", @@ -10613,16 +10480,6 @@ "requires": { "is-docker": "^2.0.0", "is-wsl": "^2.1.1" - }, - "dependencies": { - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "requires": { - "is-docker": "^2.0.0" - } - } } }, "opn": { @@ -10640,22 +10497,6 @@ } } }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, - "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=" - } - } - }, "optimize-css-assets-webpack-plugin": { "version": "5.0.4", "resolved": "https://registry.npmjs.org/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.4.tgz", @@ -10899,9 +10740,9 @@ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" }, "picomatch": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", - "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==" + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" }, "pify": { "version": "4.0.1", @@ -10922,12 +10763,9 @@ } }, "pirates": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.1.tgz", - "integrity": "sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA==", - "requires": { - "node-modules-regexp": "^1.0.0" - } + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", + "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==" }, "pkg-dir": { "version": "3.0.0", @@ -11034,6 +10872,11 @@ "requires": { "ms": "^2.1.1" } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" } } }, @@ -11055,11 +10898,6 @@ "version": "0.2.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" } } }, @@ -11070,17 +10908,6 @@ "requires": { "postcss": "^7.0.2", "postcss-selector-parser": "^6.0.2" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - } } }, "postcss-browser-comments": { @@ -11099,17 +10926,6 @@ "postcss": "^7.0.27", "postcss-selector-parser": "^6.0.2", "postcss-value-parser": "^4.0.2" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - } } }, "postcss-color-functional-notation": { @@ -11454,6 +11270,11 @@ "json5": "^1.0.1" } }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, "schema-utils": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", @@ -11619,17 +11440,6 @@ "postcss": "^7.0.32", "postcss-selector-parser": "^6.0.2", "postcss-value-parser": "^4.1.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - } } }, "postcss-modules-scope": { @@ -11639,17 +11449,6 @@ "requires": { "postcss": "^7.0.6", "postcss-selector-parser": "^6.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", - "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - } } }, "postcss-modules-values": { @@ -11990,13 +11789,13 @@ }, "dependencies": { "postcss": { - "version": "8.3.11", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz", - "integrity": "sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==", + "version": "8.4.12", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz", + "integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==", "requires": { - "nanoid": "^3.1.30", + "nanoid": "^3.3.1", "picocolors": "^1.0.0", - "source-map-js": "^0.6.2" + "source-map-js": "^1.0.2" } } } @@ -12019,6 +11818,15 @@ "postcss": "^7.0.2" } }, + "postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, "postcss-svgo": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.3.tgz", @@ -12047,9 +11855,9 @@ } }, "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" }, "postcss-values-parser": { "version": "2.0.1", @@ -12086,41 +11894,19 @@ } }, "pretty-format": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", - "integrity": "sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==", + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "requires": { - "@jest/types": "^26.6.2", - "ansi-regex": "^5.0.0", - "ansi-styles": "^4.0.0", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", "react-is": "^17.0.1" }, "dependencies": { "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" } } }, @@ -12162,15 +11948,27 @@ } }, "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "requires": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", - "react-is": "^16.8.1" + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } } }, + "property-information": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz", + "integrity": "sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==" + }, "proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -12251,9 +12049,9 @@ "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==" }, "query-string": { "version": "4.3.4", @@ -12315,21 +12113,14 @@ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz", + "integrity": "sha512-UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==", "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.2", + "http-errors": "1.8.1", "iconv-lite": "0.4.24", "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" - } } }, "react": { @@ -12403,6 +12194,14 @@ "@babel/highlight": "^7.10.4" } }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, "browserslist": { "version": "4.14.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz", @@ -12414,6 +12213,36 @@ "node-releases": "^1.1.61" } }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, "cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -12442,6 +12271,11 @@ "slash": "^3.0.0" } }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, "loader-utils": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", @@ -12483,6 +12317,14 @@ "ansi-regex": "^5.0.0" } }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, "which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -12504,20 +12346,66 @@ } }, "react-error-overlay": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.9.tgz", - "integrity": "sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==" + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.10.tgz", + "integrity": "sha512-mKR90fX7Pm5seCOfz8q9F+66VCc1PGsWSBxKbITjfKVQHMNF2zudxHnMdJiB1fRCb+XsbQV9sO9DCkgsMQgBIA==" }, "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" + }, + "react-markdown": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.2.tgz", + "integrity": "sha512-WeXeDlCPFZBbN75AiLVEmN4gC6pNWadsZVWWxWpvrYQnUTHsB3l1PH60I1sbxTJr0oWOQc3zhxTrRQMTceNifw==", + "requires": { + "@types/hast": "^2.0.0", + "@types/prop-types": "^15.0.0", + "@types/unist": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^2.0.0", + "prop-types": "^15.0.0", + "property-information": "^6.0.0", + "react-is": "^18.0.0", + "remark-parse": "^10.0.0", + "remark-rehype": "^10.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.3.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0" + }, + "dependencies": { + "react-is": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.0.0.tgz", + "integrity": "sha512-yUcBYdBBbo3QiPsgYDcfQcIkGZHfxOaoE6HLSnr1sPzMhdyxusbfKOSUbSd/ocGi32dxcj366PsTj+5oggeKKw==" + } + } }, "react-refresh": { "version": "0.8.3", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz", "integrity": "sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg==" }, + "react-router": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.3.0.tgz", + "integrity": "sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==", + "requires": { + "history": "^5.2.0" + } + }, + "react-router-dom": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.3.0.tgz", + "integrity": "sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==", + "requires": { + "history": "^5.2.0", + "react-router": "6.3.0" + } + }, "react-scripts": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-4.0.3.tgz", @@ -12582,70 +12470,6 @@ "webpack-dev-server": "3.11.1", "webpack-manifest-plugin": "2.2.0", "workbox-webpack-plugin": "5.1.4" - }, - "dependencies": { - "@babel/core": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz", - "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==", - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.1", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.1", - "@babel/parser": "^7.12.3", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - } - } - }, - "babel-loader": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", - "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", - "requires": { - "find-cache-dir": "^2.1.0", - "loader-utils": "^1.4.0", - "mkdirp": "^0.5.3", - "pify": "^4.0.1", - "schema-utils": "^2.6.5" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "requires": { - "minimist": "^1.2.0" - } - } - } - } } }, "read-pkg": { @@ -12695,6 +12519,13 @@ "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": { @@ -12712,6 +12543,16 @@ "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", "requires": { "minimatch": "3.0.4" + }, + "dependencies": { + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "redent": { @@ -12729,9 +12570,9 @@ "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" }, "regenerate-unicode-properties": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", - "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", "requires": { "regenerate": "^1.4.2" } @@ -12764,9 +12605,9 @@ "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" }, "regexp.prototype.flags": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", - "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", + "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3" @@ -12778,27 +12619,27 @@ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==" }, "regexpu-core": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", - "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", "requires": { "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^9.0.0", - "regjsgen": "^0.5.2", - "regjsparser": "^0.7.0", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", "unicode-match-property-ecmascript": "^2.0.0", "unicode-match-property-value-ecmascript": "^2.0.0" } }, "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==" + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==" }, "regjsparser": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", - "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", "requires": { "jsesc": "~0.5.0" }, @@ -12810,11 +12651,46 @@ } } }, + "rehype-slug": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-5.0.1.tgz", + "integrity": "sha512-X5v3wV/meuOX9NFcGhJvUpEjIvQl2gDvjg3z40RVprYFt7q3th4qMmYLULiu3gXvbNX1ppx+oaa6JyY1W67pTA==", + "requires": { + "@types/hast": "^2.0.0", + "github-slugger": "^1.1.1", + "hast-util-has-property": "^2.0.0", + "hast-util-heading-rank": "^2.0.0", + "hast-util-to-string": "^2.0.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0" + } + }, "relateurl": { "version": "0.2.7", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" }, + "remark-parse": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz", + "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==", + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "unified": "^10.0.0" + } + }, + "remark-rehype": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", + "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", + "requires": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-to-hast": "^12.1.0", + "unified": "^10.0.0" + } + }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -12838,21 +12714,21 @@ "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "css-select": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", - "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "requires": { "boolbase": "^1.0.0", - "css-what": "^5.0.0", - "domhandler": "^4.2.0", - "domutils": "^2.6.0", - "nth-check": "^2.0.0" + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" } }, "css-what": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", - "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==" }, "dom-serializer": { "version": "1.3.2", @@ -12978,11 +12854,52 @@ "source-map": "0.6.1" }, "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, "convert-source-map": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", @@ -12996,6 +12913,11 @@ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, "json5": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", @@ -13014,6 +12936,11 @@ "json5": "^1.0.1" } }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, "postcss": { "version": "7.0.36", "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", @@ -13024,10 +12951,10 @@ "supports-color": "^6.1.0" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "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==" }, "supports-color": { "version": "6.1.0", @@ -13067,6 +12994,29 @@ "version": "0.3.5", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=" + }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } } } }, @@ -13133,6 +13083,11 @@ "terser": "^4.6.2" }, "dependencies": { + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, "jest-worker": { "version": "24.9.0", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", @@ -13196,10 +13151,18 @@ "aproba": "^1.1.1" } }, + "sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "requires": { + "mri": "^1.1.0" + } + }, "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==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" }, "safe-regex": { "version": "1.1.0", @@ -13325,6 +13288,11 @@ "to-regex": "^3.0.2" } }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, "normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", @@ -13350,9 +13318,9 @@ "integrity": "sha512-vTxrZz4dX5W86M6oVWVdOVe72ZiPs41Oi7Z6Km4W5Turyz28mrXSJhhEBZoRtzJWIv3833WKVwLSDWWkEfupMg==" }, "sass-loader": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.2.0.tgz", - "integrity": "sha512-kUceLzC1gIHz0zNJPpqRsJyisWatGYNFRmv2CKZK2/ngMJgLqxTbXwe/hJ85luyvZkgqU3VlJ33UVF2T/0g6mw==", + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.2.1.tgz", + "integrity": "sha512-RRvWl+3K2LSMezIsd008ErK4rk6CulIMSwrcc2aZvjymUgKo/vjXGp1rSWmfTUX7bblEOz8tst4wBwWtCGBqKA==", "requires": { "klona": "^2.0.4", "loader-utils": "^2.0.0", @@ -13411,9 +13379,9 @@ "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" }, "selfsigned": { - "version": "1.10.11", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", - "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "version": "1.10.14", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.14.tgz", + "integrity": "sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==", "requires": { "node-forge": "^0.10.0" } @@ -13424,9 +13392,9 @@ "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" }, "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "version": "0.17.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", + "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", "requires": { "debug": "2.6.9", "depd": "~1.1.2", @@ -13435,33 +13403,18 @@ "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.7.2", + "http-errors": "1.8.1", "mime": "1.6.0", - "ms": "2.1.1", + "ms": "2.1.3", "on-finished": "~2.3.0", "range-parser": "~1.2.1", "statuses": "~1.5.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - } - } - }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" } } }, @@ -13487,14 +13440,6 @@ "parseurl": "~1.3.2" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, "http-errors": { "version": "1.6.3", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", @@ -13511,11 +13456,6 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, "setprototypeof": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", @@ -13524,14 +13464,14 @@ } }, "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", + "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", "requires": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.1" + "send": "0.17.2" } }, "set-blocking": { @@ -13566,9 +13506,9 @@ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "sha.js": { "version": "2.4.11", @@ -13614,9 +13554,9 @@ } }, "signal-exit": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", - "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==" + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "simple-swizzle": { "version": "0.2.2", @@ -13651,29 +13591,6 @@ "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", "is-fullwidth-code-point": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } } }, "snapdragon": { @@ -13691,14 +13608,6 @@ "use": "^3.1.0" }, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, "define-property": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", @@ -13715,10 +13624,22 @@ "is-extendable": "^0.1.0" } }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } } } }, @@ -13787,33 +13708,25 @@ } }, "sockjs": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", - "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "requires": { "faye-websocket": "^0.11.3", - "uuid": "^3.4.0", + "uuid": "^8.3.2", "websocket-driver": "^0.7.4" - }, - "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" - } } }, "sockjs-client": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.2.tgz", - "integrity": "sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.6.0.tgz", + "integrity": "sha512-qVHJlyfdHFht3eBFZdKEXKTlb7I4IV41xnVNo8yUKA1UHcPJwgW2SvTq9LhnjjCywSkSK7c/e4nghU0GOoMCRQ==", "requires": { - "debug": "^3.2.6", - "eventsource": "^1.0.7", - "faye-websocket": "^0.11.3", + "debug": "^3.2.7", + "eventsource": "^1.1.0", + "faye-websocket": "^0.11.4", "inherits": "^2.0.4", - "json3": "^3.3.3", - "url-parse": "^1.5.3" + "url-parse": "^1.5.10" }, "dependencies": { "debug": { @@ -13823,6 +13736,11 @@ "requires": { "ms": "^2.1.1" } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" } } }, @@ -13840,41 +13758,31 @@ "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" }, "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-js": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", - "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" }, "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", "requires": { "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "decode-uri-component": "^0.2.0" } }, "source-map-support": { - "version": "0.5.20", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", - "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "requires": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } } }, "source-map-url": { @@ -13887,6 +13795,11 @@ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" }, + "space-separated-tokens": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz", + "integrity": "sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==" + }, "spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -13911,9 +13824,9 @@ } }, "spdx-license-ids": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz", - "integrity": "sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==" + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==" }, "spdy": { "version": "4.0.2", @@ -13925,6 +13838,21 @@ "http-deceiver": "^1.2.7", "select-hose": "^2.0.0", "spdy-transport": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } } }, "spdy-transport": { @@ -13940,6 +13868,19 @@ "wbuf": "^1.7.3" }, "dependencies": { + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -13994,9 +13935,9 @@ } }, "stackframe": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", - "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.1.tgz", + "integrity": "sha512-h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg==" }, "static-extend": { "version": "0.1.2", @@ -14087,17 +14028,17 @@ } }, "string.prototype.matchall": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz", - "integrity": "sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.7.tgz", + "integrity": "sha512-f48okCX7JiwVi1NXCVWcFnZgADDC/n2vePlQ/KUCNqCikLLilQvwjMO8+BHVKvgzH0JB0J9LEPgxOGT02RoETg==", "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", - "has-symbols": "^1.0.2", + "has-symbols": "^1.0.3", "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.3.1", + "regexp.prototype.flags": "^1.4.1", "side-channel": "^1.0.4" } }, @@ -14125,6 +14066,13 @@ "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==" + } } }, "stringify-object": { @@ -14207,6 +14155,14 @@ "schema-utils": "^2.7.0" } }, + "style-to-object": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", + "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", + "requires": { + "inline-style-parser": "0.1.1" + } + }, "stylehacks": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", @@ -14230,11 +14186,11 @@ } }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } }, "supports-hyperlinks": { @@ -14244,23 +14200,13 @@ "requires": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" - }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "requires": { - "has-flag": "^4.0.0" - } - } } }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, "svg-parser": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", @@ -14284,6 +14230,52 @@ "stable": "^0.1.8", "unquote": "~1.1.1", "util.promisify": "~1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + } } }, "symbol-tree": { @@ -14292,12 +14284,11 @@ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, "table": { - "version": "6.7.2", - "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", - "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", + "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", "requires": { "ajv": "^8.0.1", - "lodash.clonedeep": "^4.5.0", "lodash.truncate": "^4.4.2", "slice-ansi": "^4.0.0", "string-width": "^4.2.3", @@ -14305,9 +14296,9 @@ }, "dependencies": { "ajv": { - "version": "8.6.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", - "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", "requires": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -14392,11 +14383,6 @@ "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" } } }, @@ -14416,6 +14402,11 @@ "webpack-sources": "^1.4.3" }, "dependencies": { + "acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==" + }, "commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", @@ -14470,16 +14461,12 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, "terser": { - "version": "5.9.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz", - "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==", + "version": "5.12.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.12.1.tgz", + "integrity": "sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ==", "requires": { + "acorn": "^8.5.0", "commander": "^2.20.0", "source-map": "~0.7.2", "source-map-support": "~0.5.20" @@ -14502,6 +14489,16 @@ "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", "minimatch": "^3.0.4" + }, + "dependencies": { + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "text-table": { @@ -14594,9 +14591,9 @@ } }, "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, "tough-cookie": { "version": "4.0.0", @@ -14632,6 +14629,11 @@ "escape-string-regexp": "^1.0.2" } }, + "trough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", + "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==" + }, "tryer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", @@ -14643,13 +14645,13 @@ "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==" }, "tsconfig-paths": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz", - "integrity": "sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", + "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", "requires": { "@types/json5": "^0.0.29", "json5": "^1.0.1", - "minimist": "^1.2.0", + "minimist": "^1.2.6", "strip-bom": "^3.0.0" }, "dependencies": { @@ -14660,6 +14662,11 @@ "requires": { "minimist": "^1.2.0" } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" } } }, @@ -14726,11 +14733,6 @@ "is-typedarray": "^1.0.0" } }, - "uglify-js": { - "version": "3.14.3", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.3.tgz", - "integrity": "sha512-mic3aOdiq01DuSVx0TseaEzMIVqebMZ0Z3vaeDhFEh9bsc24hV1TFvN74reA2vs08D0ZWfNjAcJ3UbVLaBss+g==" - }, "unbox-primitive": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", @@ -14742,11 +14744,6 @@ "which-boxed-primitive": "^1.0.2" } }, - "underscore": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", - "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" - }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", @@ -14771,6 +14768,32 @@ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==" }, + "unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "requires": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + }, + "is-plain-obj": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.0.0.tgz", + "integrity": "sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw==" + } + } + }, "union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", @@ -14816,6 +14839,70 @@ "crypto-random-string": "^1.0.0" } }, + "unist-builder": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz", + "integrity": "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==", + "requires": { + "@types/unist": "^2.0.0" + } + }, + "unist-util-generated": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz", + "integrity": "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==" + }, + "unist-util-is": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", + "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==" + }, + "unist-util-position": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz", + "integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==", + "requires": { + "@types/unist": "^2.0.0" + } + }, + "unist-util-stringify-position": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz", + "integrity": "sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==", + "requires": { + "@types/unist": "^2.0.0" + } + }, + "unist-util-visit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.0.tgz", + "integrity": "sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" + }, + "dependencies": { + "unist-util-visit-parents": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz", + "integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + } + } + } + }, + "unist-util-visit-parents": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz", + "integrity": "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + } + }, "universal-cookie": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/universal-cookie/-/universal-cookie-4.0.4.tgz", @@ -14938,9 +15025,9 @@ } }, "url-parse": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz", - "integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==", + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", "requires": { "querystringify": "^2.1.1", "requires-port": "^1.0.0" @@ -14995,8 +15082,25 @@ "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "optional": true + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "uvu": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.3.tgz", + "integrity": "sha512-brFwqA3FXzilmtnIyJ+CxdkInkY/i4ErvP7uV0DnUVxQcQ55reuHphorpF+tZoVHK2MniZ/VJzI7zJQoc9T9Yw==", + "requires": { + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + }, + "dependencies": { + "kleur": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz", + "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==" + } + } }, "v8-compile-cache": { "version": "2.3.0", @@ -15039,6 +15143,33 @@ "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" }, + "vfile": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.2.tgz", + "integrity": "sha512-w0PLIugRY3Crkgw89TeMvHCzqCs/zpreR31hl4D92y6SOE07+bfJe+dK5Q2akwS+i/c801kzjoOr9gMcTe6IAA==", + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + } + } + }, + "vfile-message": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.2.tgz", + "integrity": "sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + } + }, "vm-browserify": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", @@ -15493,6 +15624,11 @@ "to-regex": "^3.0.2" } }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==" + }, "rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", @@ -15519,11 +15655,6 @@ "randombytes": "^2.1.0" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - }, "ssri": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.2.tgz", @@ -15577,9 +15708,9 @@ }, "dependencies": { "mime": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", - "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==" + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" } } }, @@ -15628,6 +15759,14 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, "anymatch": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", @@ -15714,9 +15853,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" }, "strip-ansi": { "version": "5.2.0", @@ -15728,6 +15867,27 @@ } } }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, "emoji-regex": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", @@ -15787,6 +15947,11 @@ } } }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, "import-local": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", @@ -15861,6 +16026,11 @@ "to-regex": "^3.0.2" } }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, "p-locate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", @@ -15923,9 +16093,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" }, "strip-ansi": { "version": "5.2.0", @@ -15973,9 +16143,9 @@ }, "dependencies": { "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" }, "strip-ansi": { "version": "5.2.0", @@ -16087,13 +16257,6 @@ "requires": { "source-list-map": "^2.0.0", "source-map": "~0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" - } } }, "websocket-driver": { @@ -16169,11 +16332,6 @@ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==" }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=" - }, "workbox-background-sync": { "version": "5.1.4", "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-5.1.4.tgz", @@ -16395,29 +16553,6 @@ "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } } }, "wrappy": { @@ -16437,9 +16572,9 @@ } }, "ws": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz", - "integrity": "sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==" + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", + "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==" }, "xml-name-validator": { "version": "3.0.0", diff --git a/package.json b/package.json index 8a3eabd..7106153 100644 --- a/package.json +++ b/package.json @@ -8,14 +8,15 @@ "@testing-library/react": "^11.2.7", "@testing-library/user-event": "^12.8.3", "axios": "^0.24.0", - "express": "^4.17.1", - "fuse": "^0.4.0", "fuse.js": "^6.4.6", "jQuery": "^1.7.4", "react": "^17.0.2", "react-cookie": "^4.1.1", "react-dom": "^17.0.2", + "react-markdown": "^8.0.2", + "react-router-dom": "^6.3.0", "react-scripts": "4.0.3", + "rehype-slug": "^5.0.1", "web-vitals": "^1.1.2" }, "scripts": { diff --git a/src/App.css b/src/App.css index c4ff8ec..a527668 100644 --- a/src/App.css +++ b/src/App.css @@ -31,7 +31,7 @@ h2 { h3, h4, h5, h6 { color:#494949; - font-weight: 500; + font-weight: bold; } a { @@ -339,7 +339,7 @@ a{ } .result { - width: 30%; + /* width: 30%; */ padding: 0.25em 0.5em; } diff --git a/src/App.js b/src/App.js index d16f3cb..774338e 100644 --- a/src/App.js +++ b/src/App.js @@ -1,4 +1,5 @@ import React, { useState, useEffect, createContext } from "react"; +import { BrowserRouter, Route, Routes } from "react-router-dom"; import LangFilters from "./components/LangFilters"; import SectDropdown from "./components/SectDropdown"; import SearchBar from "./components/SearchBar"; @@ -6,72 +7,17 @@ import SearchResult from "./components/SearchResult"; import LightSwitch from "./components/LightSwitch"; import axios from "axios"; import Fuse from "fuse.js"; -import { ThemeContext, themes, swapMode } from './darkMode'; -import { useCookies } from 'react-cookie'; +import { ThemeContext, themes, swapMode } from "./darkMode"; +import { useCookies } from "react-cookie"; import Default from "./components/Default"; import SunImg from "./img/sun.png"; import MoonImg from "./img/moon.png"; +import BookList from "./components/BookList"; const fpb = null; -// eslint-disable-next-line -function makeBook(author, hLang, cLang, title, url) { - //returns a struct with basic book info (author, human language, computer language, book title, url) - return { - author: author, - hLang: hLang, //human language - cLang: cLang, //computer language - title: title, - url: url, - }; -} - -// eslint-disable-next-line -function forEachBook(func, json) { - //Runs func on each section, entry, and book in json, which is a list of entries - if (typeof func !== "function") { - // eslint-disable-next-line - throw "ERROR in forEachBook: parameter not a fucntion"; - } - - for (const hLang in json) { - //for each human language - if (Array.isArray(hLang.sections)) { - //check if sections is an array - hLang.sections.forEach( - ( - cLang //for each computer lanuage - ) => { - if (Array.isArray(cLang.entries)) { - //verify is entries is an array - cLang.entries.forEach( - ( - book //for each book - ) => { - if (typeof book === "object") { - //verify that book is an object - func(json[hLang], cLang, book); //run the function - } - } - ); - } - } - ); - } - } -} - -// Sorts search results by their score -// eslint-disable-next-line -function sortByScore(results) { - results.sort(function (a, b) { - return a.score - b.score; - }); - return results; -} - function jsonToArray(json) { let arr = []; let sections = []; @@ -112,8 +58,7 @@ function App() { const [loading, setLoading] = useState(true); // Determines whether to show spinner const [searchParams, setSearchParams] = useState({ searchTerm: "" }); const [searchResults, setSearchResults] = useState([]); - const [sectionResults, setSectionResults] = useState([]); -const [cookies, setCookie, removeCookie] = useCookies(['lightMode']); + const [cookies, setCookie, removeCookie] = useCookies(["lightMode"]); const [lightMode, setLightMode] = useState(true); @@ -121,7 +66,6 @@ const [cookies, setCookie, removeCookie] = useCookies(['lightMode']); const [error, setError] = useState(""); let resultsList = null; // the html string containing the search results - let sectionResultsList = null; const changeParameter = (param, value) => { // Lets a child component set the value of the search term @@ -130,7 +74,7 @@ const [cookies, setCookie, removeCookie] = useCookies(['lightMode']); // fetches data the first time the page renders useEffect(() => { - swapMode(cookies.lightMode ? themes.lightMode : themes.darkMode) + swapMode(cookies.lightMode ? themes.lightMode : themes.darkMode); async function fetchData() { try { setLoading(true); @@ -154,7 +98,7 @@ const [cookies, setCookie, removeCookie] = useCookies(['lightMode']); }, []); // fires when searchTerm changes - // Finds most relevant title or author + // Finds most relevant title or author // THIS IS THE MAIN SEARCH FUNCTION useEffect(() => { if (dataArray) { @@ -177,17 +121,17 @@ const [cookies, setCookie, removeCookie] = useCookies(['lightMode']); if (value === null || value === "") continue; if (key === "lang.code" || key === "section") { // the '^' means it must be an exact match at the beginning - // this is because lang.code and section are strict filters + // this is because lang.code and section are strict filters andQuery.push({ [key]: `^${value}` }); } - if(key === "searchTerm") { - orQuery.push({ "author": value}); - orQuery.push({ "title": value}); + if (key === "searchTerm") { + orQuery.push({ author: value }); + orQuery.push({ title: value }); } } // Nest the 'or' query inside the 'and' query // Necessary step, a quirk with fuse.js - andQuery.push({$or: orQuery}) + andQuery.push({ $or: orQuery }); // Perform the search let result = fuse.search({ $and: andQuery, @@ -215,7 +159,7 @@ const [cookies, setCookie, removeCookie] = useCookies(['lightMode']); } let id = section; - + // Some ids are in HTML tags, so this will extract that id to form proper links if (id.includes(" { - // let section = entry.item.section; - // if (!sResults.includes(section)) sResults.push(section); - // }); - // setSectionResults(sResults); } }, [searchParams, dataArray]); @@ -276,128 +211,108 @@ const [cookies, setCookie, removeCookie] = useCookies(['lightMode']); searchResults.map((entry) => { return ; }); - // Getting rid of the section results UI renders this irrelevant - // sectionResultsList = - // sectionResults && - // sectionResults.map((section) => { - // return ( - // - // ); - // }); } return ( - -
- - { ({ changeTheme }) => { - let willBeDarkMode = (cookies.lightMode && cookies.lightMode.toLowerCase() !== "true") //whether or not we are currently light mode and will become dark mode - changeTheme(willBeDarkMode ? themes.light : themes.dark) - return ({ - setCookie("lightMode",willBeDarkMode); - changeTheme(willBeDarkMode ? themes.light : themes.dark) - }} - style={{width: "20px", height: "20px",display: "block", - marginLeft: "auto" - }} - />)} - } - -
- -

- - free-programming-books - -

- -

- :books:{" "} - Freely available programming books -

- -

- - View the Project on GitHub EbookFoundation/free-programming-books - -

-

- Does a link not work? -
- - Report an error on GitHub - -

- -
- - {/* Filters */} - - {/* Keeping sections commented out just in case */} - {/* */} - {/* {sectionResultsList &&

Suggestions based on your search

} -
{sectionResultsList}
*/} -
-
- -
- {resultsList ? ( -
-
-

Search Results

-
    {resultsList}
-
- ) : searchParams.searchTerm ? ( -
-
-

No results found.

-
- ) : ( - - )} -
- - -
+ + +

+ :books:{" "} + Freely available programming books +

+ +

+ + View the Project on GitHub EbookFoundation/free-programming-books + +

+

+ Does a link not work? +
+ + Report an error on GitHub + +

+ +
+ + +
+ + +
+ {resultsList ? ( +
+
+

Search Results

+
    {resultsList}
+
+ ) : searchParams.searchTerm ? ( +
+
+

No results found.

+
+ ) : ( + + } /> + } + /> + + )} +
+ + + ); } diff --git a/src/components/BookList.js b/src/components/BookList.js new file mode 100644 index 0000000..caea467 --- /dev/null +++ b/src/components/BookList.js @@ -0,0 +1,39 @@ +import React, { useEffect, useState } from "react"; +import ReactMarkdown from "react-markdown"; +import axios from "axios"; +import { useParams } from "react-router-dom"; +import rehypeSlug from 'rehype-slug' + +function BookList({changeParameter}) { + let [markdown, setMarkdown] = useState(null); + const [loading, setLoading] = useState(true); + let params = useParams(); + + useEffect(() => { + changeParameter('lang.code', params.lang); + }, [params.lang]); + + + useEffect(() => { + async function fetchData() { + try { + setLoading(true); + let result = await axios.get( + `https://raw.githubusercontent.com/EbookFoundation/free-programming-books/main/books/free-programming-books-${params.lang}.md` + ); + setMarkdown(result.data); + } catch (e) { + console.log("Couldn't get data. Please try again later") + } + setLoading(false); + } + fetchData(); + }, []); + if(loading){ + return

Loading...

+ } + console.log(markdown); + return
; +} + +export default BookList; diff --git a/src/components/Default.js b/src/components/Default.js index a3140b2..c1681a7 100644 --- a/src/components/Default.js +++ b/src/components/Default.js @@ -69,6 +69,135 @@ function Default() { +

Resources

+ +

This project lists books and other resources grouped by genres:

+ +

Books

+ +

+ English, By Programming Language +

+ +

+ English, By Subject +

+

Other Languages

+ + +

Translations

diff --git a/src/components/LangFilters.js b/src/components/LangFilters.js index 0dfc5af..33695a5 100644 --- a/src/components/LangFilters.js +++ b/src/components/LangFilters.js @@ -1,6 +1,6 @@ import React, { useState, useEffect } from "react"; -function LangFilters({ changeParameter, data }) { +function LangFilters({ changeParameter, data, langCode }) { const [languages, setLanguages] = useState([]); const [selected, setSelected] = useState(""); const [showFilters, setShow] = useState(false); @@ -11,6 +11,10 @@ function LangFilters({ changeParameter, data }) { setSelected(e.target.value); }; + useEffect(() => { + setSelected(langCode); + }, [langCode]); + useEffect( // run whenever data changes () => { @@ -60,7 +64,14 @@ function LangFilters({ changeParameter, data }) { let filterList = (

{options} @@ -71,7 +82,7 @@ function LangFilters({ changeParameter, data }) {

Filter by Language

- +
{showFilters ? filterList : ""}
diff --git a/src/fpb.json b/src/fpb.json deleted file mode 100644 index 1f069e4..0000000 --- a/src/fpb.json +++ /dev/null @@ -1,21092 +0,0 @@ -{ - "type": "root", - "children": [ - { - "type": "fpb", - "index": {}, - "children": [ - { - "language": { - "code": "ar", - "name": "Arabic" - }, - "index": {}, - "sections": [ - { - "section": "Arduino", - "entries": [ - { - "url": "http://librebooks.org/simply-arduino/", - "title": "أردوينو السهل" - }, - { - "url": "http://www.ev-center.com/uploads/2/1/2/6/21261678/arduino.pdf", - "title": "كتاب احترف الأردوينو" - } - ], - "subsections": [] - }, - { - "section": "Artificial Intelligence", - "entries": [ - { - "url": "https://academy.hsoub.com/files/17-%D9%85%D8%AF%D8%AE%D9%84-%D8%A5%D9%84%D9%89-%D8%A7%D9%84%D8%B0%D9%83%D8%A7%D8%A1-%D8%A7%D9%84%D8%A7%D8%B5%D8%B7%D9%86%D8%A7%D8%B9%D9%8A-%D9%88%D8%AA%D8%B9%D9%84%D9%85-%D8%A7%D9%84%D8%A2%D9%84%D8%A9/", - "title": "مدخل إلى الذكاء الاصطناعي وتعلم الآلة" - } - ], - "subsections": [] - }, - { - "section": "C Sharp", - "entries": [ - { - "url": "https://www.mobarmijoun.com/2014/04/c_19.html", - "title": "سبيلك المختصر لتعلم لغة c# - برمجة الواجهات" - } - ], - "subsections": [] - }, - { - "section": "HTML/CSS", - "entries": [ - { - "url": "https://academy.hsoub.com/files/14-التحريك-عبر-css/", - "title": "التحريك عبر CSS" - }, - { - "url": "https://academy.hsoub.com/files/13-نحو-فهم-أعمق-لتقنيات-html5/", - "title": "نحو فهم أعمق لتقنيات HTML5" - } - ], - "subsections": [] - }, - { - "section": "Introduction to Programming in Arabic", - "entries": [ - { - "url": "https://alyassen.github.io/Brief-guide-to-programming-languages-v1.2.4.pdf", - "title": "مختصر دليل لغات البرمجة" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "https://rabahboudia.gitbooks.io/arabic-eloquent-js/content/index.html", - "title": "Eloquent Javascript" - } - ], - "subsections": [] - }, - { - "section": "Linux", - "entries": [ - { - "url": "http://librebooks.org/gnu-linux-advanced-administration/", - "title": "الإدارة المتقدمة لجنو/لينكس " - }, - { - "url": "http://librebooks.org/simply-ubuntu/", - "title": "أوبنتو السهل" - }, - { - "url": "http://librebooks.org/debian-handbook-arabic/", - "title": "دفتر مدير دبيان" - }, - { - "url": "https://academy.hsoub.com/files/10-دليل-إدارة-خواديم-أوبنتو/", - "title": "دليل إدارة خواديم أوبنتو" - } - ], - "subsections": [] - }, - { - "section": "Open Source Software", - "entries": [ - { - "url": "http://librebooks.org/strategic-dimensions-of-free-and-open-source-software/", - "title": "الأبعاد الاستراتيجية للبرمجيات الحرة مفتوحة المصدر" - }, - { - "url": "http://librebooks.org/digital-freedoms-main-concepts/", - "title": "الحريات الرقمية - المفاهيم الرئيسية" - }, - { - "url": "http://librebooks.org/opensource-ultimate-options/", - "title": "المصادر المفتوحة خيارات بلا حدود" - }, - { - "url": "http://librebooks.org/know-free-software/", - "title": "تعرف على البرمجيات الحرة" - }, - { - "url": "http://librebooks.org/free-opensource-guide/", - "title": "دليل البرمجيات الحرة مفتوحة" - }, - { - "url": "http://librebooks.org/bref-about-foss-licenses/", - "title": "نبذة عن رخص البرمجيات الحرة" - } - ], - "subsections": [] - }, - { - "section": "Operating Systems", - "entries": [ - { - "url": "http://librebooks.org/intro-to-os-analysis-and-design/", - "title": "المقدمة في تحليل وتصميم أنظمة" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "http://librebooks.org/learn-programming-with-php/", - "title": "تعلم البرمجة بلغة PHP" - } - ], - "subsections": [ - { - "section": "Symfony", - "entries": [ - { - "url": "https://symfony.com/doc/5.0/the-fast-track/ar/index.html", - "title": "سيمفوني 5 : المسار السريع" - } - ] - } - ] - }, - { - "section": "Programming in Scratch", - "entries": [ - { - "url": "http://www.ev-center.com/uploads/2/1/2/6/21261678/scratch.pdf", - "title": "كتاب احترف سكراتش" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "https://academy.hsoub.com/files/15-البرمجة-بلغة-بايثون/", - "title": "البرمجة بلغة بايثون" - } - ], - "subsections": [] - }, - { - "section": "Raspberry Pi", - "entries": [ - { - "url": "https://www.ev-center.com/uploads/2/1/2/6/21261678/كتاب_احترف_الرازبيري_باي.pdf", - "title": "احترف الرازبيري باي" - }, - { - "url": "http://librebooks.org/simply-raspberry-pi/", - "title": "راسبيري باي السهل" - } - ], - "subsections": [] - }, - { - "section": "Ruby", - "entries": [ - { - "url": "http://librebooks.org/intro-to-ruby/", - "title": "مقدمة في روبي" - } - ], - "subsections": [] - }, - { - "section": "Security", - "entries": [ - { - "url": "http://librebooks.org/secure-wireless-networks-for-home-users/", - "title": "تأمين الشبكات اللاسلكية للمستخدم المنزلي" - }, - { - "url": "http://librebooks.org/physical-hacking-techniques/", - "title": "تقنيات الاختراق المادي" - }, - { - "url": "https://academy.hsoub.com/files/20-%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%A3%D9%85%D8%A7%D9%86-%D8%A7%D9%84%D8%B1%D9%82%D9%85%D9%8A/", - "title": "دليل الأمان الرقمي" - }, - { - "url": "http://librebooks.org/security-in-a-box/", - "title": "عُدَّة الأمان الرقمي" - } - ], - "subsections": [] - }, - { - "section": "SEO", - "entries": [ - { - "url": "http://librebooks.org/search-engine-optimization-seo-starter-guide-ar/", - "title": "تحسين محركات البحث SEO - دليل المبتدئين" - } - ], - "subsections": [] - }, - { - "section": "SQL", - "entries": [ - { - "url": "https://academy.hsoub.com/files/16-%D9%85%D9%84%D8%A7%D8%AD%D8%B8%D8%A7%D8%AA-%D9%84%D9%84%D8%B9%D8%A7%D9%85%D9%84%D9%8A%D9%86-%D8%A8%D9%84%D8%BA%D8%A9-sql/", - "title": "ملاحظات للعاملين بلغة SQL" - } - ], - "subsections": [ - { - "section": "PostgreSQL", - "entries": [ - { - "url": "https://academy.hsoub.com/files/18-%D8%A7%D9%84%D8%AF%D9%84%D9%8A%D9%84-%D8%A7%D9%84%D8%B9%D9%85%D9%84%D9%8A-%D8%A5%D9%84%D9%89-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-postgresql/", - "title": "الدليل العملي إلى قواعد بيانات PostgreSQL" - } - ] - } - ] - }, - { - "section": "UI/UX", - "entries": [ - { - "url": "https://academy.hsoub.com/files/11-مدخل-إلى-تجربة-المستخدم-user-experience-ux/", - "title": "مدخل إلى تجربة المستخدم" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "az", - "name": "Azerbaijani" - }, - "index": {}, - "sections": [ - { - "section": "C", - "entries": [ - { - "url": "http://ilkaddimlar.com/ders/c-proqramlasdirma-dili", - "title": "C Proqramlaşdırma Dili" - } - ], - "subsections": [] - }, - { - "section": "CSS", - "entries": [ - { - "url": "http://ilkaddimlar.com/ders/css", - "title": "CSS" - } - ], - "subsections": [] - }, - { - "section": "HTML", - "entries": [ - { - "url": "http://ilkaddimlar.com/ders/html", - "title": "HTML" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "http://ilkaddimlar.com/ders/javascript", - "title": "JavaScript" - } - ], - "subsections": [] - }, - { - "section": "Linux", - "entries": [ - { - "url": "http://ilkaddimlar.com/ders/linux", - "title": "Linux" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "http://ilkaddimlar.com/ders/php", - "title": "PHP" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "bg", - "name": "Bulgarian" - }, - "index": {}, - "sections": [ - { - "section": "C", - "entries": [ - { - "url": "https://programirane.org/download-now", - "title": "Програмиране = ++Алгоритми;" - }, - { - "url": "https://www.progstarter.com/index.php?option=com_content&view=article&id=8&Itemid=121&lang=bg", - "title": "ANSI C - Курс за начинаещи" - }, - { - "url": "https://progstarter.com/index.php?option=com_content&view=article&id=9&Itemid=122&lang=bg", - "title": "ANSI C - Пълен справочник" - } - ], - "subsections": [] - }, - { - "section": "C Sharp", - "entries": [ - { - "url": "https://csharp-book.softuni.bg", - "title": "Основи на програмирането със C#" - }, - { - "url": "https://introprogramming.info/intro-csharp-book", - "title": "Принципи на програмирането със C#" - }, - { - "url": "https://www.devbg.org/dotnetbook", - "title": "Програмиране за .NET Framework" - }, - { - "url": "https://cpp-book.softuni.bg", - "title": "Основи на програмирането със C++" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "https://introprogramming.info/intro-java-book", - "title": "Въведение в програмирането с Java" - }, - { - "url": "https://nakov.com/books/inetjava", - "title": "Интернет програмиране с Java" - }, - { - "url": "https://java-book.softuni.bg", - "title": "Основи на програмирането с Java" - }, - { - "url": "https://nakov.com/books/signatures", - "title": "Java за цифрово подписване на документи в уеб" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "https://js-book.softuni.bg", - "title": "Основи на програмирането с JavaScript" - }, - { - "url": "https://to6esko.github.io", - "title": "Eloquent JavaScript" - } - ], - "subsections": [] - }, - { - "section": "LaTeX", - "entries": [ - { - "url": "https://www.ctan.org/tex-archive/info/lshort/bulgarian", - "title": "Кратко въведение в LaTeX2ε" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "https://python-book.softuni.bg", - "title": "Основи на програмирането с Python" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "" - }, - "index": {}, - "sections": [ - { - "section": "Android", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PLgH5QX0i9K3p9xzYLFGdfYliIRBLVDRV5", - "title": "Android Bangla Tutorials" - }, - { - "url": "https://www.youtube.com/playlist?list=PLgH5QX0i9K3oDurEmECb5U_BZ1hrLaHx-", - "title": "Android Firebase Bangla Tutorials" - }, - { - "url": "https://www.youtube.com/playlist?list=PLgH5QX0i9K3oJBRutwsFgUKrKJCjv9K3p", - "title": "Android SQLite Database Bangla Tutorials" - }, - { - "url": "https://www.youtube.com/playlist?list=PLgH5QX0i9K3ru-TfN-YsRWKe4EEOLrWjn", - "title": "Android Tutorials Material Design" - } - ], - "subsections": [] - }, - { - "section": "Bootstrap", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVBr2NqbL3q71nk5FX8zB0nK", - "title": "Bootstrap 4 Bangla Tutorial" - }, - { - "url": "https://www.youtube.com/playlist?list=PLgH5QX0i9K3oC_wmWEZa2xWxJauIRQ9kG", - "title": "Bootstrap 5 and 4 Bangla Tutorials" - } - ], - "subsections": [] - }, - { - "section": "C", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVASsjyqiNzgjUWHbDkN2Scy", - "title": "C - All you need to know" - }, - { - "url": "https://www.youtube.com/playlist?list=PLgH5QX0i9K3pCMBZcul1fta6UivHDbXvz", - "title": "C Programming Bangla Tutorial Course" - }, - { - "url": "http://cpbook.subeen.com/p/blog-page.html", - "title": "Computer Programming" - }, - { - "url": "https://www.youtube.com/playlist?list=PLgH5QX0i9K3oTxQhx2kejYmQn6qtRULCD", - "title": "Pattern Printing in C" - }, - { - "url": "https://www.youtube.com/playlist?list=PLgH5QX0i9K3q0ZKeXtF--CZ0PdH1sSbYL", - "title": "C++ Bangla Tutorial Course" - } - ], - "subsections": [] - }, - { - "section": "C Sharp", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PL_g-DE60bXDBpjMPUWGbmCLHnQDIIcw-6", - "title": "C# and ASP.NET MVC Full Bangla Tutorial BITM" - }, - { - "url": "https://www.youtube.com/playlist?list=PLbC4KRSNcMnqQakB2xlZPoaV6uau4wTIt", - "title": "C# bangla tutorial | Basic to advance in depth bangla course" - }, - { - "url": "https://www.youtube.com/playlist?list=PLqCbg_KAOnCe1RLKP2SVmSHZOCD-fWe3p", - "title": "C# OOP (object oriented programming) BanglaTutorials" - } - ], - "subsections": [] - }, - { - "section": "Competitive Programming", - "entries": [ - { - "url": "https://dp-bn.github.io", - "title": "Dynamic Programming Book" - } - ], - "subsections": [] - }, - { - "section": "CSS", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PLgH5QX0i9K3qjCBXjTmv7Xeh8MDUUVJDO", - "title": "CSS Complete Course in Bangla 2021" - }, - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVD3oeT3ckKBmnc7krm-SZl2", - "title": "CSS3 and CSS4 Weird Parts Bangla Tutorial" - } - ], - "subsections": [] - }, - { - "section": "Dart", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVC2-nXUrvpcQEz3FgCSIQHT", - "title": "Dart All You Need To Know" - } - ], - "subsections": [] - }, - { - "section": "Git", - "entries": [ - { - "url": "https://www.youtube.com/watch?v=oe21Nlq8GS4&t=182s", - "title": "Crash Course - সহজ বাংলায় Git & GitHub - Bangla ( বাংলা ) Tutorial" - }, - { - "url": "https://www.youtube.com/watch?v=4KdGgGsIDeA&t=787s", - "title": "Git and Github in One Video (Theory + Practical) | A 2 Z in Bangla" - }, - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVDDw5eyzuRDXBzgdnW7UpDF", - "title": "Git Bangla Tutorial Complete" - } - ], - "subsections": [] - }, - { - "section": "HTML", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PLgH5QX0i9K3oHBr5dsumGwjUxByN5Lnw3", - "title": "HTML Complete Course in Bangla 2021(Beginner to Advanced)" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PLgH5QX0i9K3oAZUB2QXR-dZac0c9HNyRa", - "title": "Java Bangla Tutorials | CORE Java | Complete OOP" - }, - { - "url": "https://www.youtube.com/playlist?list=PLgH5QX0i9K3rAHKr6IteF5kdgN6BorH9l", - "title": "Java Swing Bangla Tutorials" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVDm9HkiP4h_76qNBZix6XME", - "title": "Express JS Crash Course in Bangla" - }, - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVDPR9fASxugXgQAWkZLcmt1", - "title": "Functional JavaScript Bangla Tutorial" - }, - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVAu_dWUVFbscqZdTzE8t6Z1", - "title": "JavaScript All You Need to Know | JS Bangla Tutorial | Stack Learner" - }, - { - "url": "https://www.youtube.com/playlist?list=PLgH5QX0i9K3qzryglMjcyEktz4q7ySunX", - "title": "JavaScript Bangla Tutorial Course 2021" - }, - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVDPaOrWvTIuhb5GRoJVWiE2", - "title": "JavaScript Behind The Scene Bangla Tutorial" - }, - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVAJTV_1ZXwB1XIiFkK0ddZA", - "title": "JavaScript Full Playlist With Order" - }, - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVDr08QgQHljCecWtA4jBLnS", - "title": "Make Fun of JavaScript Array" - }, - { - "url": "https://zonayed.js.org", - "title": "হাতেকলমে জাভাস্ক্রিপ্ট" - } - ], - "subsections": [] - }, - { - "section": "jQuery", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PLgH5QX0i9K3pSJG9Hwjnykd0hLGEsW4DB", - "title": "jQuery Bangla Series for Beginners" - } - ], - "subsections": [] - }, - { - "section": "Kotlin", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVDpRWRnXPWZcWIvz0JbeQe5", - "title": "Chapter 1 : Kotlin Basic Concepts Bangla" - } - ], - "subsections": [] - }, - { - "section": "Machine Learning", - "entries": [ - { - "url": "https://raqueeb.gitbook.io/scikit-learn/", - "title": "শূন্য থেকে পাইথন মেশিন লার্নিং : হাতেকলমে সাইকিট-লার্ন" - }, - { - "url": "https://rakibul-hassan.gitbook.io/mlbook-titanic/", - "title": "হাতে কলমে মেশিন লার্নিং ১" - } - ], - "subsections": [] - }, - { - "section": "NodeJS", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVDHFj-ecFSU0SU-B0TuJRk9", - "title": "Dive Into NodeJS" - } - ], - "subsections": [] - }, - { - "section": "OOP", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVDS-5KCnZyPl0LKQ8m49CHM", - "title": "Java and OOO. Learn Object Oriented with Real Example" - }, - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVB5kP3uxERI1rdrdrNifNwJ", - "title": "Java and OOP Basics" - }, - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVBNvGFN6eIre7xjfnb6aVfB", - "title": "Java and OOP: Java Built in Classes and Features" - }, - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVCqNHQtxzS9LbeNRMG4AJmG", - "title": "Object Oriented Programming Main Theory in Bangla" - } - ], - "subsections": [] - }, - { - "section": "Misc", - "entries": [ - { - "url": "https://sl3.app", - "title": "SL3 Framework - Code For Brain" - }, - { - "url": "https://devsonket.com", - "title": "ডেভসংকেত: বাংলা চিটশিটের ভান্ডার" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVCFLIrGA1GaxacvPTDQcsMV", - "title": "PHP All You Need To Know" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVCH8fRfZ8sUuKEQQYIFMjtJ", - "title": "Python All You Need To Know" - }, - { - "url": "https://www.youtube.com/playlist?list=PLgH5QX0i9K3rz5XqMsTk41_j15_6682BN", - "title": "Python Bangla Tutorials for Beginners" - }, - { - "url": "http://pybook.subeen.com", - "title": "পাইথন প্রোগ্রামিং বই" - }, - { - "url": "https://python.howtocode.dev", - "title": "বাংলায় পাইথন" - }, - { - "url": "https://python.maateen.me", - "title": "সহজ ভাষায় পাইথন ৩" - } - ], - "subsections": [] - }, - { - "section": "ReactJS", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVAvcGzTEAyPSOqgUQA08rNB", - "title": "React - Redux Complete Course" - }, - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVBaeF3qUyvr2AxoXGwDd5cx", - "title": "Understand ReactJS Advanced Features" - }, - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVBANld2gDEE6_0G886zavUs", - "title": "Understand ReactJS Core Features" - } - ], - "subsections": [] - }, - { - "section": "Svelte", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVDJOOYnZxK-fbKxjxFHfc-H", - "title": "Svelte 3: The Game Changer (Bangla Crash Course)" - } - ], - "subsections": [] - }, - { - "section": "TypeScript", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVCzmP8m2l_h8PnVTSvcnJWO", - "title": "TypeScript: All You Need To Know" - } - ], - "subsections": [] - }, - { - "section": "Visual Studio Code", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PL_XxuZqN0xVB_lroSm_xvTqvVBCpR4PQE", - "title": "VSCode Complete Tutorial Series | VSCode টিউটোরিয়াল সিরিজ" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "cs", - "name": "Czech" - }, - "index": {}, - "sections": [ - { - "section": "Bash", - "entries": [ - { - "url": "http://i.iinfo.cz/files/root/k/bash_ocima_bohdana_milara.pdf", - "title": "Bash očima Bohdana Milara" - } - ], - "subsections": [] - }, - { - "section": "C Sharp", - "entries": [ - { - "url": "http://www.cs.vsb.cz/behalek/vyuka/pcsharp/text.pdf", - "title": "Programovací jazyk C#" - }, - { - "url": "https://phoenix.inf.upol.cz/esf/ucebni/sysprog.pdf", - "title": "Systémové programování v jazyce C#" - }, - { - "url": "https://akela.mendelu.cz/~xvencal2/CPP/opora.pdf", - "title": "Moderní programování objektových aplikací v C++" - }, - { - "url": "http://media1.jex.cz/files/media1:49e6b94e79262.pdf.upl/07.%20Objektov%C3%A9%20programov%C3%A1n%C3%AD%20v%20C%2B%2B.pdf", - "title": "Objektové programování v C++" - }, - { - "url": "http://homel.vsb.cz/~s1a10/educ/C_CPP/C_CPP_web.pdf", - "title": "Programovací jazyky C a C++" - }, - { - "url": "http://www1.osu.cz/~fojtik/doc/proc2.pdf", - "title": "Programování v C++" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "http://i.iinfo.cz/files/root/k/java-5-0-novinky-jazyka-a-upgrade-aplikaci.pdf", - "title": "Java 5.0, novinky jazyka a upgrade aplikací" - } - ], - "subsections": [] - }, - { - "section": "Git", - "entries": [ - { - "url": "https://knihy.nic.cz", - "title": "Pro Git" - } - ], - "subsections": [] - }, - { - "section": "HTML", - "entries": [ - { - "url": "https://knihy.nic.cz", - "title": "Ponořme se do HTML5" - } - ], - "subsections": [] - }, - { - "section": "Language Agnostic", - "entries": [], - "subsections": [ - { - "section": "Algoritmy a datové struktury", - "entries": [ - { - "url": "http://pruvodce.ucw.cz", - "title": "Průvodce labyrintem algoritmů" - }, - { - "url": "http://i.iinfo.cz/files/root/k/Zaklady_algorimizace.pdf", - "title": "Základy algoritmizace" - } - ] - }, - { - "section": "Bezpečnost", - "entries": [ - { - "url": "https://knihy.nic.cz", - "title": "Báječný svět elektronického podpisu" - }, - { - "url": "https://knihy.nic.cz", - "title": "Buď pánem svého prostoru" - } - ] - }, - { - "section": "Matematika", - "entries": [ - { - "url": "http://math.feld.cvut.cz/habala/teaching/dma.htm", - "title": "Diskrétní matematika" - }, - { - "url": "http://www.realisticky.cz/ucebnice.php?id=3", - "title": "Matematika SŠ" - } - ] - }, - { - "section": "Právo", - "entries": [ - { - "url": "https://knihy.nic.cz", - "title": "Internet jako objekt práva" - } - ] - }, - { - "section": "Regulární výrazy", - "entries": [ - { - "url": "http://www.root.cz/knihy/regularni-vyrazy/", - "title": "Regulární výrazy" - } - ] - }, - { - "section": "Sítě", - "entries": [ - { - "url": "https://knihy.nic.cz", - "title": "Internetový protokol IPv6" - } - ] - } - ] - }, - { - "section": "LaTeX", - "entries": [ - { - "url": "http://www.root.cz/knihy/ne-prilis-strucny-uvod-do-systemu-latex-2e/", - "title": "Ne příliš stručný úvod do systému LaTeX 2e" - } - ], - "subsections": [] - }, - { - "section": "Linux", - "entries": [ - { - "url": "http://www.root.cz/knihy/linux-dokumentacni-projekt/", - "title": "Linux: Dokumentační projekt" - }, - { - "url": "http://www.root.cz/knihy/ucebnice-abclinuxu/", - "title": "Učebnice ABCLinuxu" - } - ], - "subsections": [ - { - "section": "Distribuce", - "entries": [ - { - "url": "http://www.root.cz/knihy/gentoo-handbook-cesky/", - "title": "Gentoo Handbook česky" - }, - { - "url": "http://www.root.cz/knihy/instalace-a-konfigurace-debian-linuxu/", - "title": "Instalace a konfigurace Debian Linuxu" - }, - { - "url": "http://www.root.cz/knihy/mandriva-linux-2008-cz/", - "title": "Mandriva Linux 2008 CZ" - }, - { - "url": "http://www.root.cz/knihy/prirucka-uzivatele-fedora-17/", - "title": "Příručka uživatele Fedora 17" - }, - { - "url": "http://www.root.cz/knihy/suse-linux-uzivatelska-prirucka/", - "title": "SUSE Linux: uživatelská příručka" - } - ] - } - ] - }, - { - "section": "OpenSource", - "entries": [ - { - "url": "http://www.root.cz/knihy/katedrala-a-trziste/", - "title": "Katedrála a tržiště" - }, - { - "url": "https://knihy.nic.cz", - "title": "Tvorba open source softwaru" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "http://www.kosek.cz/php/php-tvorba-interaktivnich-internetovych-aplikaci.pdf", - "title": "PHP Tvorba interaktivních internetových aplikací" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "http://diveintopython3.py.cz/index.html", - "title": "Ponořme se do Pythonu 3" - }, - { - "url": "http://i.iinfo.cz/files/root/k/Ucebnice_jazyka_Python.pdf", - "title": "Učebnice jazyka Python" - } - ], - "subsections": [ - { - "section": "Django", - "entries": [ - { - "url": "https://tutorial.djangogirls.org/cs/", - "title": "Django Girls Tutoriál" - } - ] - } - ] - }, - { - "section": "Ruby", - "entries": [ - { - "url": "http://i.iinfo.cz/files/root/k/Ruby_tutorial.pdf", - "title": "Ruby Tutoriál" - } - ], - "subsections": [] - }, - { - "section": "TeX", - "entries": [ - { - "url": "http://www.root.cz/knihy/prvni-setkani-s-texem/", - "title": "První setkání s TeXem" - }, - { - "url": "http://www.root.cz/knihy/texbook-naruby/", - "title": "TeXbook naruby" - } - ], - "subsections": [] - }, - { - "section": "Webdesign", - "entries": [ - { - "url": "http://www.root.cz/knihy/webova-rezie-zaklady-koncepcniho-mysleni-u-webovych-projektu/", - "title": "Webová režie: základy koncepčního myšlení u webových projektů" - } - ], - "subsections": [] - }, - { - "section": "XML", - "entries": [ - { - "url": "http://www.root.cz/knihy/xml-pro-kazdeho/", - "title": "XML pro každého" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "de", - "name": "German" - }, - "index": {}, - "sections": [ - { - "section": "ABAP", - "entries": [ - { - "url": "http://openbook.rheinwerk-verlag.de/einstieg_in_abap", - "title": "Einstieg in ABAP" - }, - { - "url": "https://github.com/SAP/styleguides/blob/master/clean-abap/CleanABAP_de.md", - "title": "SAP Code Style Guides - Clean ABAP" - } - ], - "subsections": [] - }, - { - "section": "Action Script", - "entries": [ - { - "url": "http://openbook.rheinwerk-verlag.de/actionscript", - "title": "ActionScript 1 und 2" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/actionscript_einstieg", - "title": "Einstieg in ActionScript" - } - ], - "subsections": [] - }, - { - "section": "Android", - "entries": [ - { - "url": "https://www.uni-trier.de/fileadmin/urt/doku/android/android.pdf", - "title": "Einführung in die Entwicklung von Apps für Android 8" - } - ], - "subsections": [] - }, - { - "section": "Assembly Language", - "entries": [ - { - "url": "http://drpaulcarter.com/pcasm", - "title": "PC Assembly Language" - } - ], - "subsections": [] - }, - { - "section": "C", - "entries": [ - { - "url": "https://de.wikibooks.org/wiki/C-Programmierung", - "title": "C-Programmierung" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/c_von_a_bis_z", - "title": "C von A bis Z" - }, - { - "url": "http://www.tobscore.com/socket-programmierung-in-c", - "title": "Socket Programmierung in C" - }, - { - "url": "https://web.archive.org/web/20190214185910/http://www.asc.tuwien.ac.at/~eprog/download/schmaranz.pdf", - "title": "Softwareentwicklung in C" - } - ], - "subsections": [] - }, - { - "section": "C Sharp", - "entries": [ - { - "url": "http://www.highscore.de/csharp/einfuehrung", - "title": "Programmieren in C#: Einführung" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/visual_csharp", - "title": "Visual C# 2008" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/visual_csharp_2010", - "title": "Visual C# 2010" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/visual_csharp_2012", - "title": "Visual C# 2012" - }, - { - "url": "http://dieboostcppbibliotheken.de", - "title": "Die Boost C++ Bibliotheken" - }, - { - "url": "https://www.assets.dpunkt.de/openbooks/Openbook_Lean_Testing.pdf", - "title": "Lean Testing für C++-Programmierer (2018)" - }, - { - "url": "http://www.highscore.de/cpp/aufbau", - "title": "Programmieren in C++: Aufbau" - }, - { - "url": "http://www.highscore.de/cpp/einfuehrung", - "title": "Programmieren in C++: Einführung" - } - ], - "subsections": [] - }, - { - "section": "Component Pascal", - "entries": [ - { - "url": "http://karlheinz-hug.de/informatik/buch/Karlheinz-Hug_Module-Klassen-Vertraege.pdf", - "title": "Module, Klassen, Verträge" - } - ], - "subsections": [] - }, - { - "section": "Git", - "entries": [ - { - "url": "http://gitbu.ch", - "title": "Das Git-Buch" - }, - { - "url": "http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/de", - "title": "Git Magic" - }, - { - "url": "https://git-scm.com/book/de/current", - "title": "Pro Git" - } - ], - "subsections": [] - }, - { - "section": "Go", - "entries": [ - { - "url": "http://www.bitloeffel.de/DOC/golang/effective_go_de.html", - "title": "Effektiv Go Programmieren" - }, - { - "url": "https://go-tour-de.appspot.com/welcome/1", - "title": "Eine Tour durch Go" - }, - { - "url": "https://astaxie.gitbooks.io/build-web-application-with-golang/content/de", - "title": "Erstelle Webanwendungen mit Go" - }, - { - "url": "https://github.com/Aaronmacaron/the-little-go-book-de", - "title": "The Little Go Book" - } - ], - "subsections": [] - }, - { - "section": "Groovy", - "entries": [ - { - "url": "http://examples.oreilly.de/openbooks/pdf_groovyger.pdf", - "title": "Groovy für Java-Entwickler" - } - ], - "subsections": [] - }, - { - "section": "HTML & CSS", - "entries": [ - { - "url": "http://www.peterkropff.de/site/css/css.htm", - "title": "CSS" - }, - { - "url": "http://www.peterkropff.de/site/html/html.htm", - "title": "HTML" - }, - { - "url": "http://webkompetenz.wikidot.com/docs:html-handbuch", - "title": "HTML5-Handbuch" - }, - { - "url": "https://wiki.selfhtml.org/wiki/Startseite", - "title": "Self HTML" - } - ], - "subsections": [] - }, - { - "section": "iOS", - "entries": [ - { - "url": "http://openbook.rheinwerk-verlag.de/apps_programmieren_fuer_iphone_und_ipad", - "title": "Apps programmieren für iPhone und iPad" - }, - { - "url": "http://examples.oreilly.de/openbooks/iosrecipesger.zip", - "title": "iOS-Rezepte" - }, - { - "url": "http://examples.oreilly.de/openbooks/pdf_ipadprogpragger.pdf", - "title": "iPad-Programmierung" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "http://bsd.de/e3fu/umfrage.html", - "title": "EJB 3 für Umsteiger: Neuerungen und Änderungen gegenüber dem EJB-2.x-Standard" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/java7", - "title": "Java 7 Mehr als eine Insel" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/javainsel", - "title": "Java ist auch eine Insel" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/java8", - "title": "Java SE 8 Standard-Bibliothek" - }, - { - "url": "http://www.highscore.de/java/aufbau", - "title": "Programmieren Java: Aufbau" - }, - { - "url": "http://www.highscore.de/java/einfuehrung", - "title": "Programmieren Java: Einführung" - }, - { - "url": "http://www.frankwestphal.de/ftp/Westphal_Testgetriebene_Entwicklung.pdf", - "title": "Testgetriebene Entwicklung mit JUnit & FIT" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "http://www.peterkropff.de/site/javascript/javascript.htm", - "title": "JavaScript" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/javascript_ajax", - "title": "JavaScript und AJAX" - }, - { - "url": "http://www.highscore.de/javascript", - "title": "Webseiten erstellen mit Javascript" - } - ], - "subsections": [ - { - "section": "React", - "entries": [ - { - "url": "https://lernen.react-js.dev", - "title": "React lernen und verstehen" - } - ] - } - ] - }, - { - "section": "LaTeX", - "entries": [ - { - "url": "http://www.fernuni-hagen.de/imperia/md/content/zmi_2010/a026_latex_einf.pdf", - "title": "LaTeX - eine Einführung und ein bißchen mehr..." - }, - { - "url": "http://www.fernuni-hagen.de/imperia/md/content/zmi_2010/a027_latex_fort.pdf", - "title": "LaTeX - Forteschrittene Anwendungen (oder: Neues von den Hobbits)" - }, - { - "url": "http://www.lehmanns.de/page/latexreferenz", - "title": "LaTeX : Referenz der Umgebungen, Makros, Längen und Zähler" - } - ], - "subsections": [] - }, - { - "section": "Mathematik", - "entries": [ - { - "url": "http://www.loria.fr/~zimmerma/sagebook/CalculDeutsch.pdf", - "title": "Calcul mathématique avec SAGE" - } - ], - "subsections": [] - }, - { - "section": "Meta-Lists", - "entries": [ - { - "url": "https://www.rheinwerk-verlag.de/openbook", - "title": "Galileo Computing - openbook" - } - ], - "subsections": [] - }, - { - "section": "MySQL", - "entries": [ - { - "url": "http://www.peterkropff.de/site/mysql/mysql.htm", - "title": "MySQL" - } - ], - "subsections": [] - }, - { - "section": "Neo4j", - "entries": [ - { - "url": "https://neo4j.com/neo4j-graphdatenbank-book", - "title": "Neo4j 2.0 – Eine Graphdatenbank für alle" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "http://www.peterkropff.de/site/php/php.htm", - "title": "PHP" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/php_pear", - "title": "PHP PEAR" - }, - { - "url": "http://examples.oreilly.de/openbooks/pdf_einmysql2ger.pdf", - "title": "Praktischer Einstieg in MySQL mit PHP" - } - ], - "subsections": [ - { - "section": "Symfony", - "entries": [ - { - "url": "https://symfony.com/doc/5.0/the-fast-track/de/index.html", - "title": "Symfony 5: Auf der Überholspur" - } - ] - } - ] - }, - { - "section": "Python", - "entries": [ - { - "url": "https://sourceforge.net/projects/abop-german.berlios/files", - "title": "A Byte of Python - Einführung in Python" - }, - { - "url": "http://www.mschimmels.de/eigeneDateien/Python-Kurs.pdf", - "title": "Einführung in Python" - }, - { - "url": "http://opentechschool.github.io/python-beginners/de", - "title": "Programmiereinführung mit Python" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/python", - "title": "Python 3 - Das umfassende Handbuch" - } - ], - "subsections": [ - { - "section": "Django", - "entries": [ - { - "url": "https://tutorial.djangogirls.org/de", - "title": "Django Girls Tutorial" - } - ] - } - ] - }, - { - "section": "Ruby on Rails", - "entries": [ - { - "url": "http://www.oreilly.de/german/freebooks/rubybasger/pdf_rubybasger.pdf", - "title": "Praxiswissen Ruby" - }, - { - "url": "http://examples.oreilly.de/openbooks/pdf_rubyonrailsbasger.pdf", - "title": "Praxiswissen Ruby On Rails" - }, - { - "url": "http://examples.oreilly.de/openbooks/pdf_railsckbkger.pdf", - "title": "Rails Kochbuch" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/ruby_on_rails/", - "title": "Ruby on Rails 2" - }, - { - "url": "http://ruby-auf-schienen.de/3.2/", - "title": "Ruby on Rails 3.2 für Ein-, Um- und Quereinsteiger" - } - ], - "subsections": [] - }, - { - "section": "Scilab", - "entries": [ - { - "url": "https://web.archive.org/web/20161204131517/http://buech-gifhorn.de/scilab/Einfuehrung.pdf", - "title": "Einführung in Scilab/Xcos 5.4" - } - ], - "subsections": [] - }, - { - "section": "Scratch", - "entries": [ - { - "url": "http://eis.ph-noe.ac.at/kreativeinformatik", - "title": "Kreative Informatik mit Scratch" - } - ], - "subsections": [] - }, - { - "section": "UML", - "entries": [ - { - "url": "http://www.highscore.de/uml", - "title": "Der moderne Softwareentwicklungsprozess mit UML" - } - ], - "subsections": [] - }, - { - "section": "Unabhängig von der Programmiersprache", - "entries": [ - { - "url": "http://clean-code-developer.de", - "title": "Clean Code Developer: Eine Initiative für mehr Professionalität in der Softwareentwicklung" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/it_handbuch", - "title": "IT-Handbuch für Fachinformatiker" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/oop", - "title": "Objektorientierte Programmierung" - }, - { - "url": "https://res.infoq.com/news/2007/06/scrum-xp-book/en/resources/ScrumAndXpFromTheTrenchesonline_German.pdf", - "title": "Scrum und XP im harten Projektalltag" - } - ], - "subsections": [] - }, - { - "section": "Unix", - "entries": [ - { - "url": "http://openbook.rheinwerk-verlag.de/linux_unix_programmierung", - "title": "Linux-UNIX-Programmierung" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/shell_programmierung", - "title": "Shell-Programmierung" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/unix_guru", - "title": "Wie werde ich Unix Guru?" - } - ], - "subsections": [] - }, - { - "section": "VHDL", - "entries": [ - { - "url": "https://de.wikibooks.org/wiki/VHDL-Tutorium", - "title": "VHDL-Tutorium" - } - ], - "subsections": [] - }, - { - "section": "Visual Basic", - "entries": [ - { - "url": "http://openbook.rheinwerk-verlag.de/einstieg_vb_2010", - "title": "Einstieg in Visual Basic 2010" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/einstieg_vb_2012", - "title": "Einstieg in Visual Basic 2012" - }, - { - "url": "http://openbook.rheinwerk-verlag.de/visualbasic_2008", - "title": "Visual Basic 2008" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "" - }, - "index": {}, - "sections": [ - { - "section": "C", - "entries": [ - { - "url": "http://people.cs.aau.dk/~normark/c-prog-06/pdf/all.pdf", - "title": "Programmering i C" - } - ], - "subsections": [] - }, - { - "section": "C Sharp", - "entries": [ - { - "url": "http://people.cs.aau.dk/~normark/oop-csharp/pdf/all.pdf", - "title": "Object-oriented Programming in C#" - }, - { - "url": "http://people.cs.aau.dk/~normark/ap/index.html", - "title": "Notes about C++" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "http://javabog.dk", - "title": "Objektorienteret programmering i Java" - } - ], - "subsections": [] - }, - { - "section": "Pascal", - "entries": [ - { - "url": "http://people.cs.aau.dk/~normark/all-basis-97.pdf", - "title": "Programmering i Pascal" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "en", - "name": "English" - }, - "index": {}, - "sections": [ - { - "section": "All", - "entries": [ - { - "url": "free-programming-books.md", - "title": "English" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "es", - "name": "Spanish, Castilian" - }, - "index": {}, - "sections": [ - { - "section": "0 - Meta-Listas", - "entries": [ - { - "url": "https://wiki.python.org.ar/aprendiendopython/", - "title": "Aprender Python" - }, - { - "url": "http://jorgesanchez.net", - "title": "Apuntes Completos de Desarrollo Web" - }, - { - "url": "https://github.com/ddd-espanol/asombroso-ddd", - "title": "Asombroso DDD: Una lista curada de recursos sobre Domain Driven Design" - }, - { - "url": "https://github.com/statickidz/TemarioDAW#temario-daw", - "title": "Desarrollo de Aplicaciones Web - Temario Completo" - }, - { - "url": "https://javiergarciaescobedo.es", - "title": "Desarrollo de Aplicaciones Web y Sistemas Microinformáticos y Redes" - }, - { - "url": "https://github.com/DpdC/gitbook-biblioteca-impresionante-en-espanol#gitbook---biblioteca-de-libros-en-español--", - "title": "Gitbook - Libros útiles en español" - }, - { - "url": "http://elvex.ugr.es", - "title": "Múltiples Cursos y Enlaces de Tecnología Informática" - }, - { - "url": "https://openlibra.com/es/collection", - "title": "OpenLibra - Biblioteca recopilatorio de libros libres" - }, - { - "url": "http://fcasua.contad.unam.mx/apuntes/interiores/plan2016_1.php", - "title": "Universidad Autónoma de México - Plan (2016)" - } - ], - "subsections": [] - }, - { - "section": "1 - Agnósticos", - "entries": [], - "subsections": [ - { - "section": "Algoritmos y Estructuras de Datos", - "entries": [ - { - "url": "http://www.eduteka.org/pdfdir/AlgoritmosProgramacion.pdf", - "title": "Algoritmos y Programación (Guía para docentes)" - }, - { - "url": "https://openlibra.com/en/book/download/apuntes-de-algoritmos-y-estructuras-de-datos", - "title": "Apuntes de Algoritmos y Estructuras de Datos" - }, - { - "url": "http://lya.fciencias.unam.mx/jloa/publicaciones/analisisdeAlgoritmos.pdf", - "title": "Breves Notas sobre Análisis de Algoritmos" - }, - { - "url": "http://informatica.uv.es/docencia/fguia/TI/Libro/Libro_Fundamentos_Inform_Program.htm", - "title": "Fundamentos de Informática y Programación" - }, - { - "url": "https://es.wikibooks.org/wiki/Fundamentos_de_programaci%C3%B3n", - "title": "Fundamentos de programación" - }, - { - "url": "https://es.wikibooks.org/wiki/Introducci%C3%B3n_a_la_Programaci%C3%B3n", - "title": "Introducción a la programación" - }, - { - "url": "http://lya.fciencias.unam.mx/jloa/publicaciones/estructurasdeDatos.pdf", - "title": "Temas selectos de estructuras de datos" - }, - { - "url": "http://www.bubok.es/libros/219288/Teoria-sintacticogramatical-de-objetos", - "title": "Teoría sintáctico-gramatical de objetos" - } - ] - }, - { - "section": "Base de Datos", - "entries": [ - { - "url": "http://rua.ua.es/dspace/bitstream/10045/2990/1/ApuntesBD1.pdf", - "title": "Apuntes de Base de Datos 1" - }, - { - "url": "http://www.uoc.edu/masters/oficiales/img/913.pdf", - "title": "Base de Datos (2005)" - }, - { - "url": "https://openlibra.com/es/book/download/bases-de-datos-2", - "title": "Base de Datos (2011)" - }, - { - "url": "https://openlibra.com/es/book/download/bases-de-datos-avanzadas", - "title": "Base de Datos Avanzadas (2013)" - }, - { - "url": "https://openlibra.com/es/book/download/diseno-conceptual-de-bases-de-datos", - "title": "Diseño Conceptual de Bases de Datos" - } - ] - }, - { - "section": "Ciencia Computacional", - "entries": [ - { - "url": "http://lya.fciencias.unam.mx/jloa/publicaciones/automatasyLenguajes.pdf", - "title": "Breves Notas sobre Autómatas y Lenguajes" - }, - { - "url": "http://lya.fciencias.unam.mx/jloa/publicaciones/teoria.pdf", - "title": "Breves Notas sobre Teoría de la Computación" - } - ] - }, - { - "section": "Metodologías de desarrollo de software", - "entries": [ - { - "url": "http://www.navegapolis.com/files/cis.pdf", - "title": "Compendio de Ingeniería del Software" - }, - { - "url": "https://web.archive.org/web/20150824055042/http://www.wolnm.org/apa/articulos/Ingenieria_Software.pdf", - "title": "Ingeniería de Software: Una Guía para Crear Sistemas de Información" - }, - { - "url": "https://web.archive.org/web/20140209204645/http://www.cursosdeprogramacionadistancia.com/static/pdf/material-sin-personalizar-agile.pdf", - "title": "Scrum & Extreme Programming (para programadores)" - }, - { - "url": "https://scrumlevel.com/files/scrumlevel.pdf", - "title": "Scrum Level" - }, - { - "url": "https://scrummanager.net/files/scrum_master.pdf", - "title": "Scrum Master - Temario troncal 1" - }, - { - "url": "http://www.proyectalis.com/wp-content/uploads/2008/02/scrum-y-xp-desde-las-trincheras.pdf", - "title": "Scrum y XP desde las trincheras" - } - ] - }, - { - "section": "Misceláneos", - "entries": [ - { - "url": "http://97cosas.com/programador/", - "title": "97 cosas que todo programador debería saber" - }, - { - "url": "https://github.com/brunocascio/docker-espanol#docker", - "title": "Docker" - }, - { - "url": "http://emanchado.github.io/camino-mejor-programador/downloads/camino_2013-01-19_0688b6e.html", - "title": "El camino a un mejor programador" - }, - { - "url": "https://www.rediris.es/tecniris/archie/doc//TECNIRIS47-1b.pdf", - "title": "Introducción a Docker" - }, - { - "url": "http://libros.metabiblioteca.org/bitstream/001/271/8/Programacion_Videojuegos_SDL.pdf", - "title": "Programación de videojuegos SDL" - } - ] - }, - { - "section": "Sistemas Operativos", - "entries": [ - { - "url": "http://sistop.org/pdf/sistemas_operativos.pdf", - "title": "Fundamentos de Sistemas Operativos" - }, - { - "url": "http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/sistope2.PDF", - "title": "Sistemas Operativos" - } - ] - } - ] - }, - { - "section": "Android", - "entries": [ - { - "url": "http://www.hermosaprogramacion.com/android", - "title": "Curso Android" - }, - { - "url": "http://ns2.elhacker.net/timofonica/manuales/Manual_Programacion_Android_v2.0.pdf", - "title": "Manual de Programación Android v.2.0" - } - ], - "subsections": [] - }, - { - "section": "C", - "entries": [ - { - "url": "http://www.alcancelibre.org/filemgmt_data/files/programaciongnulinux.pdf", - "title": "GNU/Linux: Programación de Sistemas" - }, - { - "url": "http://repositori.uji.es/xmlui/bitstream/handle/10234/24306/s29.pdf", - "title": "Introducción a la programación con C" - } - ], - "subsections": [] - }, - { - "section": "", - "entries": [ - { - "url": "https://web.archive.org/web/20100701020037/http://www.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/cpp/avanzado/cppavan.pdf", - "title": "Aprenda C++ avanzado como si estuviera en primero" - }, - { - "url": "https://web.archive.org/web/20100701020025/http://www.tecnun.es/asignaturas/Informat1/AyudaInf/aprendainf/cpp/basico/cppbasico.pdf", - "title": "Aprenda C++ básico como si estuviera en primero" - }, - { - "url": "http://antares.sip.ucm.es/cpareja/libroCPP/", - "title": "Ejercicios de programación creativos y recreativos en C++" - } - ], - "subsections": [] - }, - { - "section": "Coffeescript", - "entries": [ - { - "url": "https://leanpub.com/coffeescript", - "title": "Coffeescript, un pequeño gran libro" - } - ], - "subsections": [] - }, - { - "section": "Ensamblador", - "entries": [ - { - "url": "https://pacman128.github.io/static/pcasm-book-spanish.pdf", - "title": "Lenguaje Ensamblador para PC" - } - ], - "subsections": [] - }, - { - "section": "Erlang", - "entries": [ - { - "url": "https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Erlang", - "title": "Programación en Erlang" - } - ], - "subsections": [] - }, - { - "section": "Emacs", - "entries": [ - { - "url": "http://savannah.nongnu.org/git/?group=elisp-es", - "title": "Una Introducción a Emacs Lisp en Español" - } - ], - "subsections": [] - }, - { - "section": "Git", - "entries": [ - { - "url": "https://esparta.github.io/gitimmersion-spanish", - "title": "Git Immersión en Español" - }, - { - "url": "http://rogerdudler.github.io/git-guide", - "title": "Git. La guía simple" - }, - { - "url": "http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/es", - "title": "Gitmagic" - }, - { - "url": "http://git-scm.com/book/es/", - "title": "Pro Git" - }, - { - "url": "http://git-scm.com/book/es/v2", - "title": "Pro Git v2" - } - ], - "subsections": [] - }, - { - "section": "Go", - "entries": [ - { - "url": "https://raulexposito.com/the-little-go-book-en-castellano.html", - "title": "El pequeño libro Go" - }, - { - "url": "https://nachopacheco.gitbooks.io/go-es/content/doc", - "title": "Go en Español" - } - ], - "subsections": [] - }, - { - "section": "Haskell", - "entries": [ - { - "url": "http://aprendehaskell.es/main.html", - "title": "¡Aprende Haskell por el bien de todos!" - }, - { - "url": "http://www.cs.us.es/~jalonso/publicaciones/Piensa_en_Haskell.pdf", - "title": "Piensa en Haskell (ejercicios de programación funcional)" - } - ], - "subsections": [] - }, - { - "section": "HTML & CSS", - "entries": [ - { - "url": "http://librosweb.es/libro/css_avanzado", - "title": "CSS avanzado" - }, - { - "url": "https://openlibra.com/es/book/download/css3-y-javascript-avanzado", - "title": "CSS3 y JavaScript avanzado" - }, - { - "url": "http://interfacesweb.github.io/unidades/", - "title": "Diseño de Interfaces Web" - }, - { - "url": "https://freeditorial.com/es/books/el-gran-libro-del-diseno-web", - "title": "El gran libro del diseño web" - }, - { - "url": "http://es.learnlayout.com", - "title": "Estructura con CSS" - }, - { - "url": "https://openlibra.com/es/book/download/guia-completa-de-css3", - "title": "Guía Completa de CSS3" - }, - { - "url": "https://openlibra.com/es/book/html5", - "title": "HTML5" - }, - { - "url": "http://librosweb.es/libro/css/", - "title": "Introducción a CSS" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "https://openlibra.com/es/book/download/aprendiendo-java-y-poo", - "title": "Aprendiendo Java y POO (2008)" - }, - { - "url": "https://ia601504.us.archive.org/21/items/DesarrollandoConJava8Poker/DesarrollandoConJava8Poker.pdf", - "title": "Desarrollando con Java 8: Poker" - }, - { - "url": "http://www3.uji.es/~belfern/libroJava.pdf", - "title": "Desarrollo de proyectos informáticos con Java" - }, - { - "url": "https://www.arkaitzgarro.com/java/", - "title": "Ejercicios de Programación en Java" - }, - { - "url": "http://lya.fciencias.unam.mx/jloa/publicaciones/introduccionJava.pdf", - "title": "Notas de Introducción al Lenguaje de Programación Java (2004)" - }, - { - "url": "http://www.ungs.edu.ar/cm/uploaded_files/publicaciones/476_cid03-Pensar%20la%20computacion.pdf", - "title": "Pensando la computación como un científico (con Java)" - }, - { - "url": "https://picodotdev.github.io/blog-bitix/assets/custom/PlugInTapestry.pdf", - "title": "PlugIn Apache Tapestry: desarrollo de aplicaciones y páginas web" - }, - { - "url": "https://openlibra.com/es/book/download/practicas-de-java", - "title": "Prácticas de Java (2009)" - }, - { - "url": "https://github.com/PabloReyes/ocpjp-resumen-espanol#ocpjp6-resumen-español", - "title": "Preparando JavaSun 6 - OCPJP6" - }, - { - "url": "http://elvex.ugr.es/decsai/java/", - "title": "Programación en Java" - }, - { - "url": "http://static1.1.sqspcdn.com/static/f/923743/14770633/1416082087870/JavaEE.pdf", - "title": "Tutorial básico de Java EE" - }, - { - "url": "http://static1.1.sqspcdn.com/static/f/923743/15025126/1320942755733/Tutorial_de_Maven_3_Erick_Camacho.pdf", - "title": "Tutorial introducción a Maven 3" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "https://es.javascript.info", - "title": "El Tutorial de JavaScript Moderno" - }, - { - "url": "https://developer.mozilla.org/es/docs/Web/JavaScript/Guide", - "title": "Guía de JavaScript 'Mozilla'" - }, - { - "url": "http://librosweb.es/libro/ajax", - "title": "Introducción a AJAX" - }, - { - "url": "http://librosweb.es/libro/javascript", - "title": "Introducción a JavaScript" - }, - { - "url": "http://bonsaiden.github.io/JavaScript-Garden/es", - "title": "Jardín de JavaScript" - }, - { - "url": "https://leanpub.com/javascript-inspirate", - "title": "JavaScript, ¡Inspírate!" - }, - { - "url": "https://jsparagatos.com", - "title": "JavaScript Para Gatos" - }, - { - "url": "https://desarrolloweb.com/manuales/manual-javascript.html#capitulos20", - "title": "Manual de JavaScript" - } - ], - "subsections": [ - { - "section": "AngularJS", - "entries": [ - { - "url": "http://raulexposito.com/documentos/como-aprender-angularjs/", - "title": "¿Cómo aprender AngularJS?" - }, - { - "url": "https://eladrodriguez.gitbooks.io/angularjs", - "title": "AngularJS" - }, - { - "url": "https://github.com/johnpapa/angular-styleguide/blob/master/a1/i18n/es-ES.md", - "title": "Guía de estilo AngularJS" - }, - { - "url": "https://desarrolloweb.com/manuales/manual-angularjs.html", - "title": "Manual de AngularJS" - } - ] - }, - { - "section": "D3.js", - "entries": [ - { - "url": "http://gcoch.github.io/D3-tutorial/index.html", - "title": "Tutorial de D3" - } - ] - }, - { - "section": "jQuery", - "entries": [ - { - "url": "https://librosweb.es/libro/fundamentos_jquery", - "title": "Fundamentos de jQuery" - }, - { - "url": "http://mundosica.github.io/tutorial_hispano_jQuery/", - "title": "Manual de jQuery" - } - ] - }, - { - "section": "Node.js", - "entries": [ - { - "url": "http://nodejskoans.com", - "title": "Introducción a Node.js a través de Koans" - } - ] - }, - { - "section": "React", - "entries": [ - { - "url": "https://leanpub.com/react-redux", - "title": "Desarrollo de Aplicaciones Web con React.js y Redux.js" - }, - { - "url": "https://leanpub.com/descubre-react", - "title": "Descubre React" - }, - { - "url": "https://leanpub.com/the-road-to-learn-react-spanish", - "title": "El Camino para Aprender React" - }, - { - "url": "https://es.survivejs.com", - "title": "SurviveJS - React de aprendiz a maestro" - } - ] - } - ] - }, - { - "section": "LaTeX", - "entries": [ - { - "url": "http://osl.ugr.es/CTAN/info/lshort/spanish/lshort-a4.pdf", - "title": "La introducción no-tan-corta a LaTeX 2ε" - } - ], - "subsections": [] - }, - { - "section": "Linux", - "entries": [ - { - "url": "http://xinfo.sourceforge.net/documentos/bash-scripting/bash-script-2.0.html", - "title": "Bases de la Programación en Bash" - }, - { - "url": "https://web.archive.org/web/20150307181233/http://library.originalhacker.org:80/biblioteca/articulo/ver/123", - "title": "BASH Scripting Avanzado: Utilizando Declare para definición de tipo" - }, - { - "url": "https://es.wikibooks.org/wiki/El_Manual_de_BASH_Scripting_B%C3%A1sico_para_Principiantes", - "title": "El Manual de BASH Scripting Básico para Principiantes" - }, - { - "url": "https://debian-handbook.info/browse/es-ES/stable/", - "title": "El Manual del Administrador de Debian" - } - ], - "subsections": [] - }, - { - "section": "Matemáticas", - "entries": [ - { - "url": "http://www.sage-para-estudiantes.com", - "title": "Sage para Estudiantes de Pregrado" - } - ], - "subsections": [] - }, - { - "section": ".NET (C# / Visual Studio)", - "entries": [ - { - "url": "http://dis.um.es/~bmoros/privado/bibliografia/LibroCsharp.pdf", - "title": "El lenguaje de programación C#" - }, - { - "url": "https://blogs.msdn.microsoft.com/cesardelatorre/2010/03/11/nuestro-nuevo-libro-guia-de-arquitectura-n-capas-ddd-net-4-0-y-aplicacion-ejemplo-en-disponibles-para-download-en-msdn-y-codeplex", - "title": "Guía de Arquitectura N-capas Orientadas al Dominio" - } - ], - "subsections": [] - }, - { - "section": "NoSQL", - "entries": [], - "subsections": [ - { - "section": "MongoDB", - "entries": [ - { - "url": "https://github.com/uokesita/the-little-mongodb-book", - "title": "El pequeño libro MongoDB" - }, - { - "url": "https://dpdc.gitbooks.io/mongodb-en-espanol-tomo-1/content", - "title": "MongoDB en español: T1, El principio" - } - ] - }, - { - "section": "Redis", - "entries": [ - { - "url": "https://raulexposito.com/the-little-redis-book-en-castellano.html", - "title": "El pequeño libro Redis" - } - ] - } - ] - }, - { - "section": "PHP", - "entries": [ - { - "url": "https://www.youtube.com/playlist?list=PLfgj7DYkKH3DjmXTOxIMs-5fcOgDg_Dd2", - "title": "Domain Driven Design with PHP (Diseño guiado por Dominio con PHP)" - }, - { - "url": "https://web.archive.org/web/20140209203630/http://www.cursosdeprogramacionadistancia.com/static/pdf/material-sin-personalizar-php.pdf", - "title": "Manual de estudio introductorio al lenguaje PHP procedural" - }, - { - "url": "https://styde.net/php-y-programacion-orientada-a-objetos/", - "title": "PHP y Programación orientada a objetos" - }, - { - "url": "http://www.bubok.es/libros/205199/POO-y-MVC-en-PHP", - "title": "POO y MVC en PHP" - }, - { - "url": "http://rua.ua.es/dspace/bitstream/10045/13176/9/04-ajaxphp.pdf", - "title": "Programación web avanzada: Ajax y Google Maps" - }, - { - "url": "http://librosweb.es/libro/silex", - "title": "Silex, el manual oficial" - }, - { - "url": "http://librosweb.es/libro/symfony_1_4", - "title": "Symfony 1.4, la guía definitiva" - }, - { - "url": "http://librosweb.es/libro/symfony_2_4/", - "title": "Symfony 2.4, el libro oficial" - } - ], - "subsections": [ - { - "section": "Symfony", - "entries": [ - { - "url": "https://symfony.com/doc/5.0/the-fast-track/es/index.html", - "title": "Symfony 5: La Vía Rápida" - } - ] - } - ] - }, - { - "section": "Perl", - "entries": [ - { - "url": "http://es.tldp.org/Tutoriales/PERL/tutoperl-print.pdf", - "title": "Tutorial Perl" - }, - { - "url": "http://kataix.umag.cl/~ruribe/Utilidades/Tutorial%20de%20Perl.pdf", - "title": "Tutorial Perl" - }, - { - "url": "http://perlenespanol.com/tutoriales/", - "title": "Tutoriales de Perl" - } - ], - "subsections": [] - }, - { - "section": "Perl 6 / Raku", - "entries": [ - { - "url": "https://uzluisf.gitlab.io/piensaperl6/", - "title": "Piensa en Perl 6" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "https://argentinaenpython.com/quiero-aprender-python/aprenda-a-pensar-como-un-programador-con-python.pdf", - "title": "Aprenda a pensar como un programador (con Python)" - }, - { - "url": "http://code.google.com/p/swfk-es/", - "title": "Doma de Serpientes para Niños: Aprendiendo a Programar con Python" - }, - { - "url": "https://code.google.com/archive/p/inmersionenpython3/", - "title": "Inmersión en Python" - }, - { - "url": "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/inmersionenpython3/inmersionEnPython3.0.11.pdf", - "title": "Inmersión en Python 3" - }, - { - "url": "http://repositori.uji.es/xmlui/bitstream/handle/10234/24305/s23.pdf", - "title": "Introducción a la programación con Python" - }, - { - "url": "http://opentechschool.github.io/python-beginners/es_CL/", - "title": "Introducción a Programando con Python" - }, - { - "url": "https://github.com/mgaitan/curso-python-cientifico#curso-de-python-para-ciencias-e-ingenierías", - "title": "Python para ciencia e ingeniería" - }, - { - "url": "http://librosweb.es/libro/python", - "title": "Python para principiantes" - }, - { - "url": "https://launchpadlibrarian.net/18980633/Python%20para%20todos.pdf", - "title": "Python para todos" - } - ], - "subsections": [ - { - "section": "Django", - "entries": [ - { - "url": "https://tutorial.djangogirls.org/es/", - "title": "Tutorial de Django Girls" - } - ] - }, - { - "section": "Web2py", - "entries": [ - { - "url": "http://www.web2py.com/books/default/chapter/41", - "title": "Web2py - Manual de Referencia Completo, 5a Edición" - } - ] - } - ] - }, - { - "section": "Ruby", - "entries": [ - { - "url": "http://rubysur.org/aprende.a.programar", - "title": "Aprende a programar con Ruby" - }, - { - "url": "https://github.com/alemohamad/ruby-style-guide/blob/master/README-esLA.md#preludio", - "title": "La Guía de Estilos de Ruby" - }, - { - "url": "https://www.ruby-lang.org/es/documentation/quickstart", - "title": "Ruby en 20 minutos" - }, - { - "url": "http://rubytutorial.wikidot.com/introduccion", - "title": "Ruby tutorial o cómo pasar un buen rato programando" - } - ], - "subsections": [ - { - "section": "Ruby on Rails", - "entries": [ - { - "url": "http://rubysur.org/introduccion.a.rails/", - "title": "Introducción a Rails" - } - ] - } - ] - }, - { - "section": "R", - "entries": [ - { - "url": "http://cran.r-project.org/doc/contrib/Risk-Cartas-sobre-Estadistica.pdf", - "title": "Cartas sobre Estadística de la Revista Argentina de Bioingeniería" - }, - { - "url": "http://cran.r-project.org/doc/contrib/Rivera-Tutorial_Sweave.pdf", - "title": "Generación automática de reportes con R y LaTeX" - }, - { - "url": "http://cran.r-project.org/doc/contrib/grafi3.pdf", - "title": "Gráficos Estadísticos con R" - }, - { - "url": "http://cran.r-project.org/doc/contrib/R-intro-1.1.0-espanol.1.pdf", - "title": "Introducción a R" - }, - { - "url": "http://cran.r-project.org/doc/contrib/curso-R.Diaz-Uriarte.pdf", - "title": "Introducción al uso y programación del sistema estadístico R" - }, - { - "url": "http://cran.r-project.org/doc/contrib/Saez-Castillo-RRCmdrv21.pdf", - "title": "Métodos Estadísticos con R y R Commander" - }, - { - "url": "http://cran.r-project.org/doc/contrib/Optimizacion_Matematica_con_R_Volumen_I.pdf", - "title": "Optimización Matemática con R: Volúmen I" - }, - { - "url": "http://cran.r-project.org/doc/contrib/rdebuts_es.pdf", - "title": "R para Principiantes" - } - ], - "subsections": [] - }, - { - "section": "Scala", - "entries": [ - { - "url": "http://www.scala-lang.org/docu/files/ScalaTutorial-es_ES.pdf", - "title": "Manual de Scala para programadores Java" - }, - { - "url": "https://github.com/ErunamoJAZZ/ScalaByExample-es", - "title": "Scala con Ejemplos" - } - ], - "subsections": [] - }, - { - "section": "Scratch", - "entries": [ - { - "url": "https://github.com/programamos/GuiaScratch", - "title": "Informática Creativa" - }, - { - "url": "https://lsi.vc.ehu.es/pablogn/docencia/FdI/Scratch/Aprenda%20a%20programar%20con%20Scratch%20en%20un%20par%20de%20tardes.pdf", - "title": "Manual de Scratch 2" - } - ], - "subsections": [] - }, - { - "section": "SQL", - "entries": [ - { - "url": "http://jorgesanchez.net/manuales/sql/intro-sql-sql2016.html", - "title": "Manual de SQL" - }, - { - "url": "http://www.desarrolloweb.com/manuales/9/", - "title": "Tutorial de SQL" - } - ], - "subsections": [] - }, - { - "section": "Subversion", - "entries": [ - { - "url": "http://svnbook.red-bean.com/nightly/es/index.html", - "title": "Control de versiones con Subversion" - } - ], - "subsections": [] - }, - { - "section": "SVG", - "entries": [ - { - "url": "https://leanpub.com/scalable/", - "title": "Scalable. Un libro sobre SVG" - } - ], - "subsections": [] - }, - { - "section": "TypeScript", - "entries": [ - { - "url": "https://riptutorial.com/Download/typescript-es.pdf", - "title": "Aprendizaje TypeScript" - }, - { - "url": "https://khru.gitbooks.io/typescript/", - "title": "Introduccion a TypeScript" - }, - { - "url": "https://github.com/melissarofman/typescript-book", - "title": "TypeScript Deep Dive" - }, - { - "url": "https://neliosoftware.com/es/blog/uso-avanzado-de-typescript/", - "title": "Uso avanzado de TypeScript en un ejemplo real" - } - ], - "subsections": [ - { - "section": "Angular", - "entries": [ - { - "url": "https://rldona.gitbooks.io/angular-2-book", - "title": "Angular 2" - }, - { - "url": "https://ngchallenges.gitbook.io", - "title": "Aprendiendo Angular" - }, - { - "url": "https://riptutorial.com/Download/angular-es.pdf", - "title": "Aprendizaje Angular" - }, - { - "url": "https://riptutorial.com/Download/angular-2-es.pdf", - "title": "Aprendizaje Angular 2" - }, - { - "url": "https://jorgeucano.gitbook.io/entendiendo-angular/", - "title": "Entendiendo Angular" - } - ] - } - ] - } - ] - }, - { - "language": { - "code": "et", - "name": "Estonian" - }, - "index": {}, - "sections": [ - { - "section": "C", - "entries": [ - { - "url": "https://et.wikibooks.org/wiki/Programmeerimiskeel_C", - "title": "Programmeerimiskeel C" - } - ], - "subsections": [] - }, - { - "section": "C Sharp", - "entries": [ - { - "url": "https://digiarhiiv.ut.ee/Ained/Doc/VFailid/CSharp_ja_VS.pdf", - "title": "Microsoft Visual Studio Code ja C#" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "https://ained.ttu.ee/javadoc/index.html", - "title": "Java õppematerjalid" - }, - { - "url": "https://et.wikibooks.org/wiki/Programmeerimiskeel_Java", - "title": "Programmeerimiskeel Java" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "http://puhang.tpt.edu.ee/raamatud/JavaScript_konspekt.pdf", - "title": "JavaScript" - }, - { - "url": "http://lepo.it.da.ut.ee/~epuman/javascript.html", - "title": "Javascript" - } - ], - "subsections": [ - { - "section": "AngularJS", - "entries": [ - { - "url": "http://www.cs.tlu.ee/teemad/get_file.php?id=400", - "title": "AngularJS raamistiku õppematerjal" - } - ] - }, - { - "section": "Vue", - "entries": [ - { - "url": "http://www.cs.tlu.ee/teemaderegister/get_file.php?id=715", - "title": "Vue" - } - ] - } - ] - }, - { - "section": "PHP", - "entries": [ - { - "url": "https://et.wikibooks.org/wiki/PHP", - "title": "PHP põhitõed ning funktsioonid" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "https://progeopik.cs.ut.ee", - "title": "Programmeerimise õpik" - }, - { - "url": "https://courses.cs.ut.ee/MTAT.03.100/2012_fall/uploads/opik/00_eessona.html", - "title": "Pythoni algteadmised" - }, - { - "url": "https://et.wikibooks.org/wiki/Python", - "title": "Pythoni wikiraamat" - } - ], - "subsections": [] - }, - { - "section": "R", - "entries": [ - { - "url": "https://andmeteadus.github.io/2015/rakendustarkvara_R/", - "title": "Statistiline andmeteadus ja visualiseerimine R keele abil" - } - ], - "subsections": [] - }, - { - "section": "SQL", - "entries": [ - { - "url": "https://comserv.cs.ut.ee/home/files/Ivanova_Informaatika_2017.pdf?study=ATILoputoo&reference=C408CC06DE4620A985CDF60C2678C97AE45017AB", - "title": "SQL päringute koostamine, analüüsimine ja optimeerimine" - } - ], - "subsections": [] - }, - { - "section": "WebGL", - "entries": [ - { - "url": "http://www.cs.tlu.ee/teemaderegister/get_file.php?id=351", - "title": "WebGL'i kasutamine interaktiivsete graafikarakenduste loomiseks veebilehitsejas" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "fa-IR", - "name": "Persian (Iran)" - }, - "index": {}, - "sections": [ - { - "section": "رایانش ابری", - "entries": [ - { - "url": "http://docs.occc.ir/books/Main%20Book-20110110_2.pdf", - "title": "رایانش ابری" - } - ], - "subsections": [] - }, - { - "section": "شبکه", - "entries": [], - "subsections": [] - }, - { - "section": "مهندسی نرم‌افزار", - "entries": [ - { - "url": "https://github.com/khajavi/Practical-Design-Patterns", - "title": "الگوهای طراحی در برنامه‌نویسی شیء‌گرا" - }, - { - "url": "https://github.com/Noah1001000/clean-code-persian", - "title": "ترجمه آزاد کتاب کد تمیز" - }, - { - "url": "http://fa.learnlayout.com", - "title": "یادگیری پیکربندی با CSS" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "https://javacup.ir/javacup-training-videos/", - "title": "آموزش برنامه‌نویسی جاوا" - }, - { - "url": "https://toplearn.com/courses/85/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%88%D8%A7-%D8%A7%D8%B2-%D8%B5%D9%81%D8%B1", - "title": "آموزش جاوا از صفر" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [], - "subsections": [] - }, - { - "section": "LaTeX", - "entries": [ - { - "url": "http://www.ctan.org/tex-archive/info/lshort/persian", - "title": "مقدمه ای نه چندان کوتاه بر LaTeX" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [], - "subsections": [ - { - "section": "Symfony", - "entries": [ - { - "url": "https://symfony.com/doc/current/the-fast-track/fa/index.html", - "title": "سیمفونی ۵: سریع‌ترین مسیر" - } - ] - } - ] - }, - { - "section": "Python", - "entries": [ - { - "url": "http://python.coderz.ir", - "title": "کتاب آزاد آموزش پایتون" - } - ], - "subsections": [] - }, - { - "section": "R", - "entries": [ - { - "url": "http://cran.r-project.org/doc/contrib/Raeesi-SNA_in_R_in_Farsi.pdf", - "title": "تحلیل شبکه‌های اجتماعی در R" - }, - { - "url": "http://cran.r-project.org/doc/contrib/Mousavi-R-lang_in_Farsi.pdf", - "title": "راهنمای زبان R" - }, - { - "url": "http://cran.r-project.org/doc/contrib/Mousavi-R_topics_in_Farsi.pdf", - "title": "موضعات ویژه در R" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "fi", - "name": "Finnish" - }, - "index": {}, - "sections": [ - { - "section": "Kieliagnostinen", - "entries": [ - { - "url": "https://www.cs.helsinki.fi/u/ahslaaks/kkkk.pdf", - "title": "Kisakoodarin käsikirja" - }, - { - "url": "https://grader.cs.hut.fi/static/y1/", - "title": "Ohjelmoinnin peruskurssi Y1 - Opetusmoniste syksy 2017" - }, - { - "url": "https://jyx.jyu.fi/bitstream/handle/123456789/47415/978-951-39-4624-1.pdf", - "title": "Ohjelmointi 2" - }, - { - "url": "http://urn.fi/URN:ISBN:978-952-265-756-5", - "title": "Olio-ohjelmointi käytännössä käyttäen hyväksi avointa tietoa, graafista käyttöliittymää ja karttaviitekehystä" - }, - { - "url": "https://jyx.jyu.fi/bitstream/handle/123456789/49293/oasmoniste.pdf", - "title": "Oliosuuntautunut analyysi ja suunnittelu" - }, - { - "url": "https://www.cs.helsinki.fi/u/ahslaaks/tirakirja/", - "title": "Tietorakenteet ja algoritmit" - } - ], - "subsections": [] - }, - { - "section": "C", - "entries": [ - { - "url": "https://fi.wikibooks.org/wiki/C", - "title": "C" - }, - { - "url": "http://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=c_esittaja", - "title": "C-ohjelmointi" - }, - { - "url": "http://cs.stadia.fi/~silas/ohjelmointi/c_opas", - "title": "Ohjelmoinnin perusteet ja C-kieli" - } - ], - "subsections": [] - }, - { - "section": "C Sharp", - "entries": [ - { - "url": "https://jyx.jyu.fi/bitstream/handle/123456789/47417/978-951-39-4859-7.pdf", - "title": "Ohjelmointi 1: C#" - }, - { - "url": "https://fi.wikibooks.org/wiki/C%2B%2B", - "title": "C++" - }, - { - "url": "https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=cpp_ohj_01", - "title": "C++-ohjelmointi" - }, - { - "url": "http://www.nic.funet.fi/c++opas/", - "title": "C++-opas" - }, - { - "url": "http://www.cs.tut.fi/~oliot/kirja/olioiden-ohjelmointi-uusin.pdf", - "title": "Olioiden ohjelmointi C++:lla" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "http://urn.fi/URN:ISBN:978-952-265-754-1", - "title": "Olio-ohjelmointi Javalla" - }, - { - "url": "http://staff.cs.utu.fi/staff/jouni.smed/SHR07-SPOO.pdf", - "title": "Sopimuspohjainen olio-ohjelmointi Java-kielellä" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "https://fi.wikibooks.org/wiki/JavaScript", - "title": "JavaScript" - } - ], - "subsections": [] - }, - { - "section": "MySQL", - "entries": [ - { - "url": "https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=mysqlphp01", - "title": "MySQL ja PHP" - } - ], - "subsections": [] - }, - { - "section": "OpenGL", - "entries": [ - { - "url": "https://fi.wikibooks.org/wiki/OpenGL", - "title": "OpenGL" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "https://fi.wikibooks.org/wiki/PHP", - "title": "PHP" - }, - { - "url": "http://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=php_01", - "title": "PHP-ohjelmointi" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "https://fi.wikibooks.org/wiki/Python_2", - "title": "Python 2" - }, - { - "url": "https://fi.wikibooks.org/wiki/Python_3", - "title": "Python 3" - }, - { - "url": "http://urn.fi/URN:ISBN:978-952-214-970-1", - "title": "Python 3 – ohjelmointiopas" - }, - { - "url": "http://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=python3_01", - "title": "Python-ohjelmointi" - } - ], - "subsections": [] - }, - { - "section": "R", - "entries": [ - { - "url": "https://users.syk.fi/~jhurri/otm/", - "title": "Ohjelmointi ja tilastolliset menetelmät" - }, - { - "url": "https://web.archive.org/web/20160814115908/http://cc.oulu.fi/~tilel/rltk04/Rekola.pdf", - "title": "R: Opas ekologeille" - } - ], - "subsections": [] - }, - { - "section": "Ruby", - "entries": [ - { - "url": "https://fi.wikibooks.org/wiki/Ruby", - "title": "Ruby" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "fr", - "name": "French" - }, - "index": {}, - "sections": [ - { - "section": "0 - Méta-listes", - "entries": [ - { - "url": "https://wiki.inria.fr/sciencinfolycee/Accueil", - "title": "Le SILO: Sciences du numérique & Informatique au Lycée: Oui!" - } - ], - "subsections": [] - }, - { - "section": "1 - Non dépendant du langage", - "entries": [], - "subsections": [ - { - "section": "Algorithmique", - "entries": [ - { - "url": "http://pauillac.inria.fr/~quercia/cdrom/cours/", - "title": "Algorithmique" - }, - { - "url": "http://www.liafa.univ-paris-diderot.fr/~sperifel/livre_complexite.html", - "title": "Complexité algorithmique" - }, - { - "url": "http://www-igm.univ-mlv.fr/~berstel/Elements/Elements.pdf", - "title": "Éléments d'algorithmique" - }, - { - "url": "http://www.france-ioi.org", - "title": "France-IOI" - }, - { - "url": "https://prologin.org", - "title": "Prologin" - } - ] - }, - { - "section": "Logiciels libres", - "entries": [ - { - "url": "http://framabook.org/histoiresetculturesdulibre/", - "title": "Histoires et cultures du Libre" - }, - { - "url": "http://framabook.org/optionlibre-dubonusagedeslicenceslibres/", - "title": "Option libre. Du bon usage des licences libres" - }, - { - "url": "http://framabook.org/produire-du-logiciel-libre-2/", - "title": "Produire du logiciel libre" - }, - { - "url": "http://framabook.org/richard-stallman-et-la-revolution-du-logiciel-libre-2/", - "title": "Richard Stallman et la révolution du logiciel libre" - } - ] - }, - { - "section": "Makefile", - "entries": [ - { - "url": "http://icps.u-strasbg.fr/people/loechner/public_html/enseignement/GL/make.pdf", - "title": "Concevoir un Makefile" - }, - { - "url": "http://eric.bachard.free.fr/UTBM_LO22/P07/C/Documentation/C/make/intro_makefile.pdf", - "title": "Introduction aux Makefile" - } - ] - }, - { - "section": "Pédagogie pour enfants et adolescents", - "entries": [ - { - "url": "https://pixees.fr/?cat=612", - "title": "Activités débranchées" - }, - { - "url": "https://interstices.info/enseigner-et-apprendre-les-sciences-informatiques-a-lecole/", - "title": "Apprendre l'informatique sans ordinateur" - } - ] - } - ] - }, - { - "section": "Ada", - "entries": [ - { - "url": "http://d.feneuille.free.fr/cours-ada-iut.zip", - "title": "Cours Ada" - }, - { - "url": "http://d.feneuille.free.fr/c++%20to%20ada%201.0a.pdf", - "title": "Cours Ada 95 pour le programmeur C++" - } - ], - "subsections": [] - }, - { - "section": "Assembleur", - "entries": [ - { - "url": "http://drpaulcarter.com/pcasm/", - "title": "PC Assembly Language" - } - ], - "subsections": [] - }, - { - "section": "Bash / Shell", - "entries": [ - { - "url": "http://abs.traduc.org/abs-fr/", - "title": "Guide avancé d'écriture des scripts Bash" - }, - { - "url": "https://frederic-lang.developpez.com/tutoriels/linux/prog-shell/", - "title": "La programmation Shell" - } - ], - "subsections": [] - }, - { - "section": "Caml", - "entries": [ - { - "url": "http://caml.inria.fr", - "title": "Le language Caml" - } - ], - "subsections": [] - }, - { - "section": "C / C++", - "entries": [ - { - "url": "http://casteyde.christian.free.fr/cpp/cours/online/book1.html", - "title": "Cours de C/C++" - }, - { - "url": "http://vidalc.chez.com/lf/socket.html", - "title": "Guide pour la programmation réseaux de Beej's - Utilisation des sockets Internet" - }, - { - "url": "http://framabook.org/le-c-en-20-heures-2/", - "title": "Le C en 20 heures" - }, - { - "url": "https://zestedesavoir.com/tutoriels/755/le-langage-c-1/", - "title": "Le langage C" - }, - { - "url": "https://sites.uclouvain.be/SystInfo/notes/Theorie/", - "title": "Programmation en Langage C et Systèmes Informatiques" - } - ], - "subsections": [] - }, - { - "section": "Coq", - "entries": [ - { - "url": "http://www.labri.fr/perso/casteran/CoqArt/", - "title": "Le Coq'Art (V8)" - } - ], - "subsections": [] - }, - { - "section": "CSS", - "entries": [ - { - "url": "http://fr.learnlayout.com", - "title": "Apprendre les mises en page CSS" - } - ], - "subsections": [] - }, - { - "section": "Fortran", - "entries": [ - { - "url": "http://www.idris.fr/formations/fortran/fortran-77.html", - "title": "IDRIS adaptation of the Fortran 77 manual" - }, - { - "url": "http://www.idris.fr/formations/fortran/", - "title": "IDRIS Formations Fortran: documentation" - } - ], - "subsections": [] - }, - { - "section": "Git", - "entries": [ - { - "url": "http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/fr/", - "title": "Git Magic" - }, - { - "url": "http://www.git-scm.com/book/fr/v2", - "title": "Pro Git" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "http://www.jmdoudoux.fr/accueil_java.htm#dej", - "title": "Développons en Java" - }, - { - "url": "http://myflex.org/books/java4kids/java4kids.htm", - "title": "Java Programming for Kids, Parents and Grandparents" - }, - { - "url": "http://3monkeys.github.io/play.rules/", - "title": "Play.Rules!" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "http://fr.eloquentjavascript.net", - "title": "JavaScript Éloquent : Une introduction moderne à la programmation" - }, - { - "url": "https://oncletom.io/node.js/#chapitres", - "title": "Node.Js: Apprendre par la pratique" - } - ], - "subsections": [] - }, - { - "section": "jQuery", - "entries": [ - { - "url": "https://sutterlity.gitbooks.io/apprendre-jquery/content/", - "title": "Apprendre jQuery" - } - ], - "subsections": [] - }, - { - "section": "Haskell", - "entries": [ - { - "url": "http://gorgonite.developpez.com/livres/traductions/haskell/gentle-haskell/", - "title": "A Gentle Introduction to Haskell" - }, - { - "url": "http://lyah.haskell.fr", - "title": "Apprendre Haskell vous fera le plus grand bien !" - } - ], - "subsections": [] - }, - { - "section": "(La)TeX et associés", - "entries": [], - "subsections": [ - { - "section": "LaTeX", - "entries": [ - { - "url": "https://tex.loria.fr/general/apprends-latex.pdf", - "title": "Apprends LaTeX" - }, - { - "url": "http://math.univ-lyon1.fr/irem/IMG/pdf/LatexPourLeProfDeMaths.pdf", - "title": "LaTeX... pour le prof de maths !" - }, - { - "url": "http://framabook.org/tout-sur-latex/", - "title": "Tout ce que vous avez toujours voulu savoir sur LaTeX sans jamais oser le demander" - }, - { - "url": "http://geekographie.maieul.net/95", - "title": "(Xe)LaTeX appliqué aux sciences humaines" - }, - { - "url": "https://framabook.org/koma-script/", - "title": "KOMA-Script, Typographie universelle avec XƎLaTeX" - } - ] - }, - { - "section": "Asymptote", - "entries": [ - { - "url": "http://cgmaths.fr/cgFiles/Dem_Rapide.pdf", - "title": "Asymptote. Démarrage rapide" - } - ] - }, - { - "section": "Metapost", - "entries": [ - { - "url": "http://melusine.eu.org/syracuse/metapost/f-mpgraph.pdf", - "title": "Tracer des graphes avec Metapost" - }, - { - "url": "http://melusine.eu.org/syracuse/metapost/f-mpman-2.pdf", - "title": "Un manuel de Metapost" - } - ] - }, - { - "section": "PGF/TikZ", - "entries": [ - { - "url": "http://math.et.info.free.fr/TikZ/", - "title": "TikZ pour l'impatient" - } - ] - }, - { - "section": "TeX", - "entries": [ - { - "url": "https://ctan.org/pkg/apprendre-a-programmer-en-tex", - "title": "Apprendre à programmer en TeX" - }, - { - "url": "http://www.apprendre-en-ligne.net/LaTeX/teximpatient.pdf", - "title": "TeX pour l'Impatient" - } - ] - } - ] - }, - { - "section": "Lisp", - "entries": [ - { - "url": "http://www.algo.be/logo1/lisp/intro-lisp.pdf", - "title": "Introduction à la programmation en Common Lisp" - }, - { - "url": "http://dept-info.labri.fr/~strandh/Teaching/Programmation-Symbolique/Common/Book/HTML/programmation.html", - "title": "Traité de programmation en Common Lisp" - } - ], - "subsections": [] - }, - { - "section": "Mathématiques", - "entries": [ - { - "url": "http://sagebook.gforge.inria.fr", - "title": "Calcul mathématique avec Sage" - } - ], - "subsections": [] - }, - { - "section": "Lua", - "entries": [ - { - "url": "http://www.luteus.biz/Download/LoriotPro_Doc/LUA/LUA_Training_FR/Introduction_Programmation.html", - "title": "Introduction à la programmation Lua" - }, - { - "url": "http://wxlua.developpez.com/tutoriels/lua/general/cours-complet/", - "title": "Lua : le tutoriel" - } - ], - "subsections": [] - }, - { - "section": "Meteor", - "entries": [ - { - "url": "https://mquandalle.gitbooks.io/apprendre-meteor/content/", - "title": "Apprendre Meteor" - } - ], - "subsections": [] - }, - { - "section": "Perl", - "entries": [ - { - "url": "http://formation-perl.fr/guide-perl.html", - "title": "Guide Perl - débuter et progresser en Perl" - }, - { - "url": "http://perl.mines-albi.fr/DocFr.html", - "title": "La documentation Perl en français" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "http://g-rossolini.developpez.com/tutoriels/php/cours/?page=introduction", - "title": "Cours de PHP 5" - }, - { - "url": "http://www.lincoste.com/ebooks/pdf/informatique/programmer_php.pdf", - "title": "Programmer en PHP" - } - ], - "subsections": [ - { - "section": "Symfony", - "entries": [ - { - "url": "https://symfony.com/doc/5.0/the-fast-track/fr/index.html", - "title": "En route pour Symfony 5" - } - ] - } - ] - }, - { - "section": "Processing", - "entries": [ - { - "url": "https://fr.flossmanuals.net/processing/", - "title": "Processing" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "http://inforef.be/swi/python.htm", - "title": "Appendre à programmer avec Python" - }, - { - "url": "https://self-learning.info.ucl.ac.be/index/info1-exercises", - "title": "Introduction à la programmation" - }, - { - "url": "https://python-guide-fr.readthedocs.io/fr/latest/", - "title": "Le guide de l’auto-stoppeur pour Python!" - }, - { - "url": "http://www.lincoste.com/ebooks/pdf/informatique/python.pdf", - "title": "Python" - }, - { - "url": "https://perso.limsi.fr/pointal/python:courspython3", - "title": "Une introduction à Python 3" - } - ], - "subsections": [ - { - "section": "Django", - "entries": [ - { - "url": "https://tutorial.djangogirls.org/fr/", - "title": "Tutoriel de Django Girls" - } - ] - } - ] - }, - { - "section": "R", - "entries": [ - { - "url": "https://larmarange.github.io/analyse-R/", - "title": "Introduction à l'analyse d'enquête avec R et RStudio" - }, - { - "url": "http://cran.r-project.org/doc/contrib/Goulet_introduction_programmation_R.pdf", - "title": "Introduction à la programmation en R" - } - ], - "subsections": [] - }, - { - "section": "Ruby", - "entries": [ - { - "url": "https://www.ruby-lang.org/fr/documentation/quickstart/", - "title": "Ruby en vingt minutes" - }, - { - "url": "https://www.ruby-lang.org/fr/documentation/ruby-from-other-languages/", - "title": "Venir à Ruby après un autre language" - } - ], - "subsections": [ - { - "section": "Ruby on Rails", - "entries": [ - { - "url": "http://french.railstutorial.org/chapters/beginning", - "title": "Tutoriel Ruby on Rails : Apprendre Rails par l'exemple" - } - ] - } - ] - }, - { - "section": "Rust", - "entries": [ - { - "url": "https://jimskapt.github.io/rust-book-fr/", - "title": "Traduction du Rust book en français" - }, - { - "url": "https://blog.guillaume-gomez.fr/Rust/", - "title": "Tutoriel rust" - } - ], - "subsections": [] - }, - { - "section": "Sage", - "entries": [ - { - "url": "https://hal.inria.fr/inria-00540485/file/sagebook-web-20130530.pdf", - "title": "Calcul mathématique avec Sage" - } - ], - "subsections": [] - }, - { - "section": "Scilab", - "entries": [ - { - "url": "http://forge.scilab.org/index.php/p/docintrotoscilab/downloads/", - "title": "Introduction à Scilab" - } - ], - "subsections": [] - }, - { - "section": "Scratch", - "entries": [ - { - "url": "https://pixees.fr/programmation-creative-en-scratch/", - "title": "Informatique Créative" - } - ], - "subsections": [] - }, - { - "section": "SPIP", - "entries": [ - { - "url": "http://programmer.spip.net", - "title": "Programmer avec SPIP" - } - ], - "subsections": [] - }, - { - "section": "SQL", - "entries": [ - { - "url": "https://sgbd.developpez.com/tutoriels/cours-complet-bdd-sql/", - "title": "Cours complet pour apprendre les différents types de bases de données et le langage SQL" - }, - { - "url": "https://framabook.org/not-only-sql/", - "title": "Only SQL. Tout ce que vous avez toujours voulu savoir sur les SGBD sans jamais avoir osé le demander." - } - ], - "subsections": [] - }, - { - "section": "Systèmes d'exploitation", - "entries": [ - { - "url": "http://sos.enix.org/fr/SOSDownload", - "title": "Simple OS (SOS)" - } - ], - "subsections": [] - }, - { - "section": "TEI", - "entries": [ - { - "url": "http://books.openedition.org/oep/1237", - "title": "Qu'est-ce que la Text Encoding Initiative ?" - } - ], - "subsections": [] - }, - { - "section": "Vim", - "entries": [ - { - "url": "http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/", - "title": "Learn Vim Progressively" - }, - { - "url": "https://vimebook.com/fr", - "title": "Vim pour les humains" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "" - }, - "index": {}, - "sections": [ - { - "section": "C", - "entries": [ - { - "url": "https://repository.kallipos.gr/bitstream/11419/1346/1/00_master%20document_KOY.pdf", - "title": "Διαδικαστικός προγραμματισμός" - }, - { - "url": "http://www.ebooks4greeks.gr/2011.Download_free-ebooks/Pliroforikis/glossa_programmatismoy_C++__eBooks4Greeks.gr.pdf", - "title": "Εισαγωγή στη C++" - }, - { - "url": "https://repository.kallipos.gr/bitstream/11419/6443/1/00_master_document-KOY.pdf", - "title": "Προγραμματισμός με τη γλώσσα C++" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "https://repository.kallipos.gr/bitstream/11419/6217/4/DataStructures-%ce%9a%ce%9f%ce%a5.pdf", - "title": "Δομές δεδομένων" - }, - { - "url": "http://www.ebooks4greeks.gr/wp-content/uploads/2013/03/Java-free-book.pdf", - "title": "Εισαγωγή στη Java" - }, - { - "url": "http://www.ebooks4greeks.gr/dowloads/Pliroforiki/Glosses.program./Java__Downloaded_from_eBooks4Greeks.gr.pdf", - "title": "Εισαγωγή στη γλώσσα προγραμματισμού JAVA" - }, - { - "url": "http://www.ebooks4greeks.gr/wp-content/uploads/2013/04/java-2012-eBooks4Greeks.gr_.pdf", - "title": "Ηλεκτρονικό εγχειρίδιο της JAVA" - }, - { - "url": "http://www.ebooks4greeks.gr/wp-content/uploads/2013/03/shmeiwseis-Java-eBooks4Greeks.gr_.pdf", - "title": "Σημειώσεις Java" - } - ], - "subsections": [] - }, - { - "section": "Javascript", - "entries": [ - { - "url": "https://www.ebooks4greeks.gr/html5-javascript", - "title": "HTML5-JavaScript (Δημιουργώντας παιχνίδια – Ο εύκολος τρόπος)" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "https://www.ebooks4greeks.gr/eisagwgh-ston-programmatismo-me-arwgo-th-glwssa-python", - "title": "Εισαγωγή στον Προγραμματισμό με Αρωγό τη Γλώσσα Python" - }, - { - "url": "https://archive.org/details/AByteOfPythonEl", - "title": "Ένα byte της Python" - } - ], - "subsections": [] - }, - { - "section": "Scala", - "entries": [ - { - "url": "https://github.com/mrdimosthenis/creative-scala", - "title": "Creative Scala" - } - ], - "subsections": [] - }, - { - "section": "SQL", - "entries": [ - { - "url": "https://www.ebooks4greeks.gr/eisagwgh-sthn-sql-ergasthriakes-askhseis-se-mysql5-7", - "title": "Εισαγωγή στην SQL: Εργαστηριακές Ασκήσεις σε MySQL5.7" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "hu", - "name": "Hungarian" - }, - "index": {}, - "sections": [ - { - "section": "0 - Programozási nyelv független", - "entries": [ - { - "url": "http://mek.oszk.hu/03900/03943/index.phtml", - "title": "A hitelesítés-szolgáltatókkal szembeni bizalom erősítése" - }, - { - "url": "http://mek.oszk.hu/11100/11144/index.phtml", - "title": "Adatmodellezés" - }, - { - "url": "http://mek.oszk.hu/11100/11123/index.phtml", - "title": "Az adatbázistervezés alapjai és titkai" - }, - { - "url": "http://mek.oszk.hu/11100/11122/index.phtml", - "title": "Ember, információ, rendszer" - }, - { - "url": "http://mek.oszk.hu/05000/05099/index.phtml", - "title": "Formális nyelvek" - }, - { - "url": "http://mek.oszk.hu/11700/11748/index.phtml", - "title": "Mese a felhasználó központú tervezőről" - }, - { - "url": "http://nyelvek.inf.elte.hu/index.php", - "title": "Prognyelvek portál" - } - ], - "subsections": [] - }, - { - "section": "Ada", - "entries": [ - { - "url": "http://mek.oszk.hu/01200/01256/index.phtml", - "title": "Az Ada programozási nyelv" - } - ], - "subsections": [] - }, - { - "section": "Arduino", - "entries": [ - { - "url": "http://avr.tavir.hu", - "title": "Arduino programozási kézikönyv" - }, - { - "url": "http://www.ms.sapientia.ro/~manyi/teaching/c++/cpp.pdf", - "title": "Fejlett programozási technikák" - } - ], - "subsections": [] - }, - { - "section": "HTML / CSS", - "entries": [ - { - "url": "http://weblabor.hu/cikkek/cssalapjai1", - "title": "CSS alapjai" - }, - { - "url": "http://nagygusztav.hu/webes-szabvanyok", - "title": "Webes szabványok" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "http://mek.oszk.hu/01400/01404/index.phtml", - "title": "CORBA-alapú elosztott alkalmazások" - }, - { - "url": "http://mek.oszk.hu/00800/00889/index.phtml", - "title": "Fantasztikus programozás" - }, - { - "url": "http://mek.oszk.hu/01300/01304/index.phtml", - "title": "Hálózati alkalmazások Java nyelven" - }, - { - "url": "http://mek.oszk.hu/01700/01750/index.phtml", - "title": "Hálózati alkalmazások készítése: CORBA, Java, WWW" - }, - { - "url": "http://www.ms.sapientia.ro/~manyi/index_java_techn.html", - "title": "Java alapú webtechnológiák" - }, - { - "url": "http://nagygusztav.hu/java-programozas", - "title": "Java programozás" - }, - { - "url": "http://www.ms.sapientia.ro/~manyi/teaching/oop/oop.pdf", - "title": "Objektumorientált programozás" - }, - { - "url": "http://www.sze.hu/~varjasin/oktat.html", - "title": "Programozás III." - }, - { - "url": "http://mek.oszk.hu/01200/01263/index.phtml", - "title": "RMI" - } - ], - "subsections": [] - }, - { - "section": "Lego Mindstorms", - "entries": [ - { - "url": "https://hdidakt.hu/wp-content/uploads/2016/01/dw_74.pdf", - "title": "A MINDSTORMS EV3 robotok programozásának alapjai" - }, - { - "url": "http://www.banyai-kkt.sulinet.hu/robotika/Segedanyag/Egyszeru_robotika.pdf", - "title": "Egyszerű robotika, A Mindstorms NXT robotok programozásának alapjai" - } - ], - "subsections": [] - }, - { - "section": "LISP", - "entries": [ - { - "url": "http://mek.oszk.hu/07200/07258/index.phtml", - "title": "A LISP programozási nyelv" - } - ], - "subsections": [] - }, - { - "section": "Linux", - "entries": [ - { - "url": "http://mek.oszk.hu/05500/05528/index.phtml", - "title": "A GNU/Linux programozása grafikus felületen" - }, - { - "url": "http://mek.oszk.hu/08700/08742/index.phtml", - "title": "GNU/Linux segédprogramok használata" - } - ], - "subsections": [] - }, - { - "section": ".NET", - "entries": [ - { - "url": "http://mek.oszk.hu/10300/10384/index.phtml", - "title": "C#" - }, - { - "url": "http://devportal.hu", - "title": "C# programozás lépésről lépésre" - }, - { - "url": "http://mek.oszk.hu/10300/10392/index.phtml", - "title": "Honlapépítés a XXI. században" - }, - { - "url": "http://mek.oszk.hu/10300/10382/index.phtml", - "title": "Silverlight 4" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "http://nagygusztav.hu/drupal-6-alapismeretek", - "title": "Drupal 6 alapismeretek" - }, - { - "url": "http://nagygusztav.hu/drupal-7-alapismeretek", - "title": "Drupal 7 alapismeretek" - }, - { - "url": "http://nagygusztav.hu/web-programozas", - "title": "Web programozás alapismeretek" - }, - { - "url": "http://ade.web.elte.hu/wabp/index.html", - "title": "Webadatbázis-programozás" - } - ], - "subsections": [] - }, - { - "section": "PowerShell", - "entries": [ - { - "url": "http://mek.oszk.hu/10400/10402/index.phtml", - "title": "Microsoft PowerShell 2.0" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "http://mek.oszk.hu/08400/08436/index.phtml", - "title": "Bevezetés a Pythonba példákkal" - }, - { - "url": "http://mek.oszk.hu/08400/08446/index.phtml", - "title": "Bevezetés a wxPythonba" - }, - { - "url": "https://mtmi.unideb.hu/pluginfile.php/554/mod_resource/content/3/thinkcspy3.pdf", - "title": "Hogyan gondolkozz úgy, mint egy informatikus:Tanulás Python 3 segítségével" - }, - { - "url": "http://mek.oszk.hu/08400/08435/index.phtml", - "title": "Tanuljunk meg programozni Python nyelven" - } - ], - "subsections": [ - { - "section": "Django", - "entries": [ - { - "url": "https://tutorial.djangogirls.org/hu/", - "title": "Django Girls Tutorial" - } - ] - } - ] - }, - { - "section": "Windows Phone", - "entries": [ - { - "url": "http://mek.oszk.hu/10300/10393/", - "title": "Windows Phone fejlesztés lépésről lépésre" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "id", - "name": "Indonesian" - }, - "index": {}, - "sections": [ - { - "section": "Android", - "entries": [ - { - "url": "https://yukcoding.id/download-ebook-android-gratis/", - "title": "Android Developers Fundamental Course Concepts and Practicals (Bahasa Indonesia)" - }, - { - "url": "https://www.smashwords.com/books/view/533096", - "title": "Tutorial Membuat Aplikasi Galeri Foto Android" - } - ], - "subsections": [] - }, - { - "section": "C Sharp", - "entries": [ - { - "url": "https://mahirkoding.id/ebook-pemrograman-berorientasi-objek-c-pdf/", - "title": "Menguasai Pemrograman Berorientasi Objek Dengan Bahasa C#" - }, - { - "url": "https://github.com/kelasterbuka/CPP_dasar-dasar-programming", - "title": "Belajar C++ Dasar Bahasa Indonesia" - }, - { - "url": "https://leanpub.com/koding-cpp-qt", - "title": "Koding C++ Dengan Qt" - } - ], - "subsections": [] - }, - { - "section": "CodeIgniter", - "entries": [ - { - "url": "https://codeigniter-id.github.io/user-guide/", - "title": "Panduan Pengguna CodeIgniter Indonesia" - }, - { - "url": "https://www.petanikode.com/tutorial/codeigniter/", - "title": "Tutorial CodeIgniter 3 & 4" - }, - { - "url": "http://mfikri.com/artikel/tutorial-codeigniter4", - "title": "Tutorial CodeIgniter 4" - } - ], - "subsections": [] - }, - { - "section": "Emacs", - "entries": [ - { - "url": "https://github.com/kholidfu/emacs_doc", - "title": "Dokumentasi Emacs Bahasa Indonesia" - } - ], - "subsections": [] - }, - { - "section": "Git", - "entries": [ - { - "url": "https://github.com/petanikode/belajar-git", - "title": "Belajar Git untuk Pemula" - }, - { - "url": "https://leanpub.com/kontrol-versi-git", - "title": "Kontrol Versi dengan Git" - }, - { - "url": "https://git-scm.com/book/id/v2", - "title": "Pro Git 2nd Edition" - } - ], - "subsections": [] - }, - { - "section": "Go", - "entries": [ - { - "url": "https://raw.githubusercontent.com/gungunfebrianza/Belajar-Dengan-Jenius-Golang/master/Belajar%20Dengan%20Jenius%20Golang.pdf", - "title": "Belajar Dengan Jenius Golang" - }, - { - "url": "https://dasarpemrogramangolang.novalagung.com", - "title": "Dasar Pemrograman Golang" - } - ], - "subsections": [] - }, - { - "section": "HTML CSS", - "entries": [ - { - "url": "http://www.ariona.net/ebook-belajar-html-dan-css/", - "title": "Belajar HTML dan CSS" - }, - { - "url": "https://www.malasngoding.com/download-ebook-belajar-html-dan-css-dasar-gratis/", - "title": "Ebook Belajar HTML Dan CSS Dasar" - }, - { - "url": "https://leanpub.com/html-css--buat-webistemu-sendiri", - "title": "HTML & CSS: Buat Websitemu Sendiri " - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "https://github.com/ifnu/buku-java-desktop/raw/master/java-desktop-ifnu-bima.pdf", - "title": "Java Desktop" - }, - { - "url": "https://raw.githubusercontent.com/teten777/free-ebook-springboot-basic/master/Memulai%20Java%20Enterprise%20dengan%20Spring%20Boot.pdf", - "title": "Memulai Java Enterprise dengan Spring Boot" - }, - { - "url": "https://blog.rosihanari.net/download-tutorial-java-se-gratis/", - "title": "Pemrograman Java" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "http://masputih.com/2013/01/ebook-gratis-mengenal-javascript", - "title": "Mengenal JavaScript" - }, - { - "url": "https://kristories.gitbooks.io/otomatisasi-dengan-gulp-js/content/", - "title": "Otomatisasi dengan gulp.js" - }, - { - "url": "https://www.petanikode.com/tutorial/javascript/", - "title": "Tutorial Dasar Javascript untuk Pemula" - } - ], - "subsections": [] - }, - { - "section": "MySQL", - "entries": [ - { - "url": "https://play.google.com/store/books/details/Onesinus_Saut_Parulian_3_Days_With_Mysql_For_Your?id=MbdTDwAAQBAJ", - "title": "3 Days With Mysql For Your Application: Mysql Untuk Pemula" - }, - { - "url": "https://umardanny.com/tutorial-mysql-untuk-pemula-hingga-mahir-ebook-download-pdf/", - "title": "Tutorial MySQL untuk Pemula Hingga Mahir" - } - ], - "subsections": [] - }, - { - "section": "Node.js", - "entries": [ - { - "url": "http://idjs.github.io/belajar-nodejs/", - "title": "Belajar Node.js" - }, - { - "url": "https://play.google.com/store/books/details/Bona_Tua_Node_js_Handbook?id=9WhZDwAAQBAJ", - "title": "Node.js Handbook: Berbahasa Indonesia" - } - ], - "subsections": [] - }, - { - "section": "NoSQL", - "entries": [ - { - "url": "https://kristories.gitbooks.io/pengantar-mongodb/content/", - "title": "MongoDB Untuk Indonesia" - } - ], - "subsections": [] - }, - { - "section": "Pemrograman Fungsional", - "entries": [ - { - "url": "https://leanpub.com/fpmortals-id", - "title": "Pemrograman Fungsional untuk Rakyat Jelata dengan Scalaz" - } - ], - "subsections": [] - }, - { - "section": "Pemrograman Kompetitif", - "entries": [ - { - "url": "https://osn.toki.id/#materi-algo", - "title": "Pemrograman Kompetitif Dasar" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "https://www.slideshare.net/HasanudinHS/ebook-i-membuat-bot-telegram-dengan-php", - "title": "Membuat Bot Telegram dengan PHP" - }, - { - "url": "https://arsiteknologi.com/wp-content/uploads/Pemrograman_Berbasis_Objek_Modern_dengan_PHP_Google_Play_Book.pdf", - "title": "Pemrograman Berbasis Objek Modern dengan PHP" - }, - { - "url": "https://endangcahyapermana.files.wordpress.com/2016/03/belajar-singkat-pemrograman-berorientasi-objek-dengan-php5.pdf", - "title": "Pemrograman Berorientasi Objek Dengan PHP5" - }, - { - "url": "http://achmatim.net/2009/04/15/buku-gratis-pemrograman-web-dengan-php-dan-mysql/", - "title": "Pemrograman Web dengan PHP dan MySQL" - }, - { - "url": "http://id.phptherightway.com/#site-header/", - "title": "PHP: The Right Way Bahasa Indonesia" - }, - { - "url": "http://www.ilmuwebsite.com/ebook-php-free-download", - "title": "Tutorial Ebook PHP" - }, - { - "url": "https://www.petanikode.com/tutorial/php", - "title": "Tutorial Pemrograman PHP untuk Pemula" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "http://www.belajarpython.com", - "title": "Belajar Python" - }, - { - "url": "https://www.pythonindo.com/tutorial-python-dasar/", - "title": "Dasar Pemrograman Python" - }, - { - "url": "https://play.google.com/store/books/details/Rolly_Maulana_Awangga_Dasar_dasar_Python?id=YpzDDwAAQBAJ", - "title": "Dasar Pengenalan Pemrograman Python" - }, - { - "url": "http://rab.co.id/files/python/bukupython2.pdf.gz", - "title": "Database PostgreSQL, Pemrograman Python, dan SMS Gateway" - }, - { - "url": "https://developers.google.com/machine-learning/crash-course?hl=id", - "title": "Kursus Singkat Machine Learning dengan TensorFlow API" - }, - { - "url": "https://docs.python.org/id/3.8/tutorial/", - "title": "Tutorial Python" - }, - { - "url": "http://sakti.github.io/python101/", - "title": "Workshop Python 101" - } - ], - "subsections": [] - }, - { - "section": "React", - "entries": [ - { - "url": "https://id.reactjs.org", - "title": "Dokumentasi React Bahasa Indonesia" - } - ], - "subsections": [] - }, - { - "section": "TypeScript", - "entries": [ - { - "url": "https://leanpub.com/belajar-typescript", - "title": "Belajar TypeScript" - } - ], - "subsections": [ - { - "section": "Angular", - "entries": [ - { - "url": "https://degananda.com/tutorial-angular-indonesia-daftar-isi-download-pdf/", - "title": "Tutorial Angular Indonesia" - }, - { - "url": "https://www.bewoksatukosong.com/2019/09/tutorial-series-belajar-angular-2019.html", - "title": "Tutorial Series Belajar Angular 2019" - } - ] - }, - { - "section": "Deno", - "entries": [ - { - "url": "https://raw.githubusercontent.com/gungunfebrianza/Belajar-Dengan-Jenius-DenoTheWKWKLand/master/Belajar%20Dengan%20Jenius%20Deno.pdf", - "title": "Belajar Dengan Jenius Deno" - } - ] - } - ] - }, - { - "section": "Vue", - "entries": [ - { - "url": "https://github.com/vuejs-id/docs", - "title": "Dokumentasi Vue Bahasa Indonesia" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "it", - "name": "Italian" - }, - "index": {}, - "sections": [ - { - "section": "0 - Agnostico", - "entries": [], - "subsections": [ - { - "section": "Algoritmi e Strutture Dati", - "entries": [ - { - "url": "https://www.sci.unich.it/~acciaro/corsoASD.pdf", - "title": "Appunti di Analisi e Progettazione di Algoritmi" - }, - { - "url": "http://bertoni.di.unimi.it/Algoritmi_e_Strutture_Dati.pdf", - "title": "Progetto e Analisi di Algoritmi" - } - ] - }, - { - "section": "Metodologie di sviluppo del software", - "entries": [ - { - "url": "http://www.diegm.uniud.it/schaerf/APS/Dispensa_APS_2_3.pdf", - "title": "Analisi e progettazione del software" - }, - { - "url": "http://minimalprocedure.pragmas.org/writings/programmazione_funzionale/programmazione_funzionale.html", - "title": "Programmazione Funzionale" - } - ] - }, - { - "section": "Open source", - "entries": [ - { - "url": "http://www.apogeonline.com/2002/libri/88-503-1065-X/ebook/pdf/OpenSource.pdf", - "title": "Open Source - Analisi di un movimento" - } - ] - }, - { - "section": "Sistemi", - "entries": [ - { - "url": "https://www.disi.unige.it/person/DelzannoG/BIOMED/Programmazione-C/dispense_avanzate_C.pdf", - "title": "Programmazione di Sistema in Linguaggio C - Esempi ed esercizi" - } - ] - }, - { - "section": "Storia dell'informatica", - "entries": [ - { - "url": "http://apav.it/informatica_file1.pdf", - "title": "Breve storia dell'informatica" - }, - { - "url": "http://nid.dimi.uniud.it/computing_history/computing_history.html", - "title": "Corso di storia dell'informatica" - }, - { - "url": "http://www.aicanet.it/storia-informatica/storia-dell-informatica-in-mondo-digitale", - "title": "La storia dell'informatica in Mondo Digitale" - }, - { - "url": "https://www.progettohmr.it/Corso/", - "title": "STI: il corso di storia dell'Informatica" - }, - { - "url": "http://www.dsi.unive.it/~pelillo/Didattica/Storia%20dell'informatica/", - "title": "Storia dell'informatica" - } - ] - } - ] - }, - { - "section": "Android", - "entries": [ - { - "url": "http://www.html.it/guide/guida-android/", - "title": "Guida Android" - } - ], - "subsections": [] - }, - { - "section": "Assembly Language", - "entries": [ - { - "url": "http://drpaulcarter.com/pcasm/", - "title": "PC Assembly Language" - } - ], - "subsections": [] - }, - { - "section": "BASH", - "entries": [ - { - "url": "http://www.dmi.unict.it/diraimondo/web/wp-content/uploads/classes/so/mirror-stuff/abs-guide.pdf", - "title": "Guida avanzata per la bash" - } - ], - "subsections": [] - }, - { - "section": "C", - "entries": [ - { - "url": "http://linguaggioc.altervista.org/dl/GuidaDiBeejAllaProgrammazioneDiRete.pdf", - "title": "Guida di Beej alla Programmazione di Rete - Usando Socket Internet" - }, - { - "url": "https://eineki.files.wordpress.com/2010/02/guidac.pdf", - "title": "Il linguaggio C - Guida pratica alla programmazione" - }, - { - "url": "http://www.itis.pr.it/~dsacco/itis/Olimpiadi-informatica/Libri-di-testo/LinguaggioC-R&K.pdf", - "title": "Linguaggio C - ANSI C" - }, - { - "url": "http://www.cbmc.it/~marchettil/Tandem2016/Bellini.pdf", - "title": "Linguaggio C - Guida alla programmazione" - }, - { - "url": "http://www.dmi.unict.it/diraimondo/web/wp-content/uploads/classes/so/mirror-stuff/Tricky_C.pdf", - "title": "Tricky C" - } - ], - "subsections": [] - }, - { - "section": "C Sharp", - "entries": [ - { - "url": "http://antoniopelleriti.it/wp-content/uploads/2019/04/ABCsharp-guida-alla-programmazione-in-csharp.pdf", - "title": "ABC# - Guida alla programmazione" - }, - { - "url": "http://didatticait.altervista.org/programmazione/CPP/CPP-dispense/CORSO_C.pdf", - "title": "Corso C++ standard" - }, - { - "url": "https://hpc-forge.cineca.it/files/CoursesDev/public/2012%20Autumn/Introduzione%20alla%20programmazioni%20a%20oggetti%20in%20C++/corsocpp.pdf", - "title": "Il linguaggio C++" - } - ], - "subsections": [] - }, - { - "section": "CSS", - "entries": [ - { - "url": "http://www.aiutamici.com/PortalWeb/eBook/ebook/Alessandro_Stella-Programmare_per_il_web.pdf", - "title": "Guida Completa sviluppo lato Client" - } - ], - "subsections": [] - }, - { - "section": "Database", - "entries": [ - { - "url": "http://dbdmg.polito.it/wordpress/teaching/basi-di-dati/", - "title": "Basi di Dati" - }, - { - "url": "http://www.crescenziogallo.it/unifg/medicina/TSRM/master_bioimmagini/db/Teoria_pratica_progettazione_db_relazionali.pdf", - "title": "La progettazione dei database relazionali" - }, - { - "url": "http://www.brunasti.eu/unimib/bdsi/manuale-pratico-progettazione-ER-100914.pdf", - "title": "Manuale pratico di disegno e progettazione dei database" - }, - { - "url": "http://www.html.it/guide/progettare-database-nosql/?cref=system", - "title": "Progettare database NoSQL: la guida" - } - ], - "subsections": [ - { - "section": "NoSQL", - "entries": [ - { - "url": "http://www.html.it/guide/guida-mongodb/?cref=system", - "title": "Guida MongoDB" - }, - { - "url": "http://www.html.it/guide/guida-orientdb/?cref=system", - "title": "Guida OrientDB" - }, - { - "url": "https://nicolaiarocci.com/mongodb/il-piccolo-libro-di-mongodb.pdf", - "title": "Il piccolo libro di MongoDB" - }, - { - "url": "http://www.html.it/guide/redis-la-guida/?cref=system", - "title": "Redis: la guida" - } - ] - }, - { - "section": "Relazionali", - "entries": [ - { - "url": "http://www.crescenziogallo.it/unifg/agraria/ISLA/SEI1/2016-2017/UD5/Guida%20MySql.pdf", - "title": "Guida a MySQL" - } - ] - }, - { - "section": "SQL", - "entries": [ - { - "url": "http://www.html.it/guide/guida-linguaggio-sql/?cref=system", - "title": "Guida linguaggio SQL" - } - ] - } - ] - }, - { - "section": "Golang", - "entries": [ - { - "url": "http://www.vittal.it/wp-content/uploads/2019/01/golang.pdf", - "title": "Golang" - }, - { - "url": "https://github.com/francescomalatesta/the-little-go-book-ita", - "title": "The Little Go Book" - } - ], - "subsections": [] - }, - { - "section": "HTML", - "entries": [ - { - "url": "http://canoro.altervista.org/guide/html/GuidaHTML22.pdf", - "title": "Canoro sito" - }, - { - "url": "http://www.aiutamici.com/PortalWeb/eBook/ebook/Alessandro_Stella-Programmare_per_il_web.pdf", - "title": "Guida Completa sviluppo lato Client" - }, - { - "url": "http://www.mi.infn.it/~calcolo/corso_base_html/pdf/corso_base_html.pdf", - "title": "INFN di Milano" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "https://www.hoepli.it/editore/hoepli_file/download_pub/978-88-203-8302-2_Java9-Appendici.pdf", - "title": "Appendici del manuale di Java 9" - }, - { - "url": "https://www.emmecilab.net/blog/esercitazioni-di-spring-boot-0-come-impostare-un-progetto/", - "title": "Esercitazioni di Spring Boot" - }, - { - "url": "https://www.hoepli.it/editore/hoepli_file/download_pub/978-88-203-8302-2_java9-esercizi.pdf", - "title": "Esercizi del manuale di Java 9" - }, - { - "url": "http://wpage.unina.it/m.faella/Didattica/LpII/archivio.pdf", - "title": "Esercizi di Java Avanzato" - }, - { - "url": "http://www.dei.unipd.it/~filira/fi/etc/eserciziario.pdf", - "title": "Fondamenti di informatica - Java - Eserciziario" - }, - { - "url": "http://twiki.di.uniroma1.it/pub/Metod_prog/RS_INFO/lezioni.html", - "title": "Guida a Java 8" - }, - { - "url": "http://www.html.it/guide/guida-java/?cref=development", - "title": "Guida Java" - }, - { - "url": "https://it.wikibooks.org/wiki/Java", - "title": "Java 7" - }, - { - "url": "https://www.html.it/guide/java-9-la-guida/", - "title": "Java 9 e 10, la guida" - }, - { - "url": "http://www.digididattica.it/pluginfile.php/2127/mod_resource/content/1/javamattone.pdf", - "title": "Java Mattone dopo Mattone" - }, - { - "url": "https://www.nuovojava.it/assets/download/nuovoJava-materiale_extra_online.pdf", - "title": "Materiale extra online de \"Il nuovo Java\"" - }, - { - "url": "http://www.claudiodesio.com/download/oo_&&_java_5.zip", - "title": "Object Oriented && Java 5 (II Edizione)" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "https://www.grimaldi.napoli.it/pdf/manuale_unite_224_2_html_1000213680.pdf", - "title": "Corso completo Javascript" - }, - { - "url": "http://www.aiutamici.com/PortalWeb/eBook/ebook/Alessandro_Stella-Programmare_per_il_web.pdf", - "title": "Guida Completa sviluppo lato Client" - }, - { - "url": "http://lia.deis.unibo.it/Courses/TecnologieWeb0809/materiale/laboratorio/guide/JScriptRef_Ita.pdf", - "title": "Guida di riferimento" - }, - { - "url": "https://www.html.it/guide/guida-javascript-di-base/", - "title": "Guida Javascript" - } - ], - "subsections": [ - { - "section": "AngularJS", - "entries": [ - { - "url": "https://www.html.it/articoli/angularjs-il-supereroe-dei-framework-javascript-di-google/", - "title": "AngularJS, il supereroe dei framework JavaScript ...di Google" - }, - { - "url": "https://www.html.it/guide/guida-angularjs/", - "title": "Guida AngularJS" - } - ] - } - ] - }, - { - "section": "Kotlin", - "entries": [ - { - "url": "http://www.vittal.it/wp-content/uploads/2019/07/kotlin.pdf", - "title": "Kotlin" - } - ], - "subsections": [] - }, - { - "section": "LaTeX", - "entries": [ - { - "url": "http://profs.sci.univr.it/~gregorio/introtex.pdf", - "title": "Appunti di programmazione in LaTeX e TeX" - }, - { - "url": "http://www.discretephysics.org/MANUALI/Latex.pdf", - "title": "Il LaTex mediante esempi" - }, - { - "url": "https://users.dimi.uniud.it/~gianluca.gorni/TeX/itTeXdoc/impara_latex.pdf", - "title": "Impara LaTeX! (... e mettilo da parte)" - }, - { - "url": "http://www.guitex.org/home/images/doc/guidaguit-b5.pdf", - "title": "Introduzione all'arte della composizione tipografica con LaTeX" - }, - { - "url": "http://www.lorenzopantieri.net/LaTeX_files/ArteLaTeX.pdf", - "title": "L'arte di scrivere con LaTeX" - }, - { - "url": "https://web.archive.org/web/20180712171427/http://www.guit.sssup.it/downloads/LaTeX-facile.pdf", - "title": "LaTeX facile" - }, - { - "url": "http://www.batmath.it/latex/pdfs/guida_st.pdf", - "title": "LaTeX, naturalmente!" - }, - { - "url": "http://www.lorenzopantieri.net/LaTeX_files/LaTeXimpaziente.pdf", - "title": "LaTeX per l'impaziente" - }, - { - "url": "https://web.archive.org/web/20180417083215/http://www.guit.sssup.it/guitmeeting/2005/articoli/mori.pdf", - "title": "Scrivere la tesi di laurea con LaTeX" - }, - { - "url": "http://www.ctan.org/tex-archive/info/lshort/italian", - "title": "Una (mica tanto) breve introduzione a LATEX 2ε" - } - ], - "subsections": [] - }, - { - "section": "Linux", - "entries": [ - { - "url": "http://archive.org/download/AppuntiDiInformaticaLibera/", - "title": "«a2», ex «Appunti di informatica libera», ex «Appunti Linux»" - } - ], - "subsections": [] - }, - { - "section": "Livecode", - "entries": [ - { - "url": "http://www.maxvessi.net/pmwiki/pmwiki.php?n=Main.GuidaALivecode", - "title": "Guida a livecode" - } - ], - "subsections": [] - }, - { - "section": "Perl", - "entries": [ - { - "url": "http://www.webprog.net/public/corso_perl.pdf", - "title": "Corso di Perl" - }, - { - "url": "http://www.aquilante.net/perl/perl.pdf", - "title": "Introduzione al Perl" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "http://www.html.it/guide/guida-php-di-base/?cref=development", - "title": "Guida PHP" - }, - { - "url": "http://francescomuscolo.altervista.org/manuale_PHP.pdf", - "title": "Manuale PHP" - } - ], - "subsections": [ - { - "section": "Symfony", - "entries": [ - { - "url": "https://symfony.com/doc/5.0/the-fast-track/it/index.html", - "title": "Symfony 5: guida rapida" - } - ] - } - ] - }, - { - "section": "Python", - "entries": [ - { - "url": "http://docs.python.it/html/ref/", - "title": "Il manuale di riferimento di Python" - }, - { - "url": "http://docs.python.it/html/tut/", - "title": "Il tutorial di Python" - }, - { - "url": "http://gpiancastelli.altervista.org/dip3-it/", - "title": "Immersione in Python 3" - }, - { - "url": "http://docs.python.it/html/lib/", - "title": "La libreria di riferimento di Python" - }, - { - "url": "http://www.python.it/doc/Howtothink/Howtothink-html-it/index.htm", - "title": "Pensare da Informatico, Versione Python" - }, - { - "url": "http://do1.dr-chuck.com/pythonlearn/IT_it/pythonlearn.pdf", - "title": "Python per tutti: Esplorare dati con Python3" - } - ], - "subsections": [ - { - "section": "Django", - "entries": [ - { - "url": "https://tutorial.djangogirls.org/it/", - "title": "Il tutorial di Django Girls" - } - ] - } - ] - }, - { - "section": "Ruby", - "entries": [ - { - "url": "http://tesi.cab.unipd.it/22937/1/Tesina_-_Introduzione_a_Ruby.pdf", - "title": "Introduzione a Ruby" - }, - { - "url": "http://minimalprocedure.pragmas.org/writings/programmazione_elementare_ruby/corso_elementare_ruby.html", - "title": "Programmazione elementare in Ruby" - }, - { - "url": "https://web.archive.org/web/20161102011319/http://ruby-it.org/rug_it.zip", - "title": "Ruby User Guide" - } - ], - "subsections": [] - }, - { - "section": "TypeScript", - "entries": [ - { - "url": "https://www.html.it/guide/guida-typescript/", - "title": "Guida TypeScript" - }, - { - "url": "https://github.com/TizioFittizio/typescript-book", - "title": "TypeScript Deep Dive" - } - ], - "subsections": [ - { - "section": "Angular", - "entries": [ - { - "url": "https://www.html.it/guide/applicazioni-con-angular-e-php-la-guida/", - "title": "Applicazioni con Angular e PHP, la guida" - }, - { - "url": "https://www.html.it/guide/guida-angularjs-2/", - "title": "Guida Angular 2" - }, - { - "url": "http://vbgraphic.altervista.org/warehouse/sites/default/files/downloads/Guida_Angular5_FabioGuerrazzi.pdf", - "title": "Guida di Angular 5" - } - ] - } - ] - }, - { - "section": "UML", - "entries": [ - { - "url": "http://liuct.altervista.org/download/repository/ingsof/Appunti_UML.pdf", - "title": "Appunti di UML" - }, - { - "url": "http://areaprofessional.com/documenti/D03_IntroGestioneProgettoSW.pdf", - "title": "Introduzione alla gestione del progetto software con UML" - } - ], - "subsections": [] - }, - { - "section": "Visual Basic", - "entries": [ - { - "url": "http://www.webalice.it/kindofapple/corsovb.pdf", - "title": "Corso Visual Basic" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "ja", - "name": "Japanese" - }, - "index": {}, - "sections": [ - { - "section": "0 - 言語非依存", - "entries": [], - "subsections": [ - { - "section": "アクセシビリティ", - "entries": [ - { - "url": "https://developer.mozilla.org/ja/docs/ARIA/Accessible_Rich_Internet_Applications", - "title": "Accessible Rich Internet Applications" - }, - { - "url": "https://developer.apple.com/jp/accessibility/ios", - "title": "iOS アクセシビリティ プログラミング ガイド" - }, - { - "url": "https://msdn.microsoft.com/ja-jp/library/windows/apps/hh700407.aspx", - "title": "アクセシビリティのための設計" - } - ] - }, - { - "section": "オープンソースエコシステム", - "entries": [ - { - "url": "https://opensource.guide/ja/", - "title": "オープンソースガイドライン" - }, - { - "url": "https://producingoss.com/ja/", - "title": "オープンソースソフトウェアの育て方" - }, - { - "url": "https://github.com/oss-gate/first-feedback-guidebook", - "title": "これでできる! はじめてのOSSフィードバックガイド ~ #駆け出しエンジニアと繋がりたい と言ってた私が野生のつよいエンジニアとつながるのに必要だったこと~" - } - ] - }, - { - "section": "ガベージコレクション", - "entries": [ - { - "url": "http://matsu-www.is.titech.ac.jp/~endo/gc/gc.pdf", - "title": "一般教養としてのGarbage Collection" - }, - { - "url": "https://github.com/authorNari/g1gc-impl-book/", - "title": "徹底解剖「G1GC」実装編" - } - ] - }, - { - "section": "グラフィックスプログラミング", - "entries": [ - { - "url": "https://docs.microsoft.com/ja-jp/windows/uwp/gaming/directx-programming", - "title": "DirectX プログラミング" - }, - { - "url": "https://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html", - "title": "GLUTによる「手抜き」OpenGL入門" - }, - { - "url": "https://developer.apple.com/jp/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/Introduction/Introduction.html", - "title": "iOS OpenGL ES プログラミングガイド" - }, - { - "url": "https://colorful-pico.net/introduction-to-addon-development-in-blender/2.7/", - "title": "はじめてのBlenderアドオン開発 (Blender 2.7版)" - }, - { - "url": "http://www.natural-science.or.jp/laboratory/opengl_intro.php", - "title": "仮想物理実験室構築のためのOpenGL, WebGL, GLSL入門" - } - ] - }, - { - "section": "グラフィックユーザーインターフェイス", - "entries": [ - { - "url": "https://densan-labs.net/tech/qt", - "title": "Qtプログラミング入門" - } - ] - }, - { - "section": "コンテナ", - "entries": [ - { - "url": "https://docs.docker.jp", - "title": "Docker-docs-ja" - }, - { - "url": "https://kubernetes.io/ja/docs/tutorials", - "title": "チュートリアル | Kubernetes" - } - ] - }, - { - "section": "セキュリティ", - "entries": [ - { - "url": "http://www.cybersyndrome.net/rsa", - "title": "RSA暗号体験入門" - }, - { - "url": "https://www.ipa.go.jp/files/000017319.pdf", - "title": "ウェブ健康診断仕様" - }, - { - "url": "https://herumi.github.io/ango", - "title": "クラウドを支えるこれからの暗号技術" - }, - { - "url": "https://www.ipa.go.jp/security/awareness/vendor/programming", - "title": "セキュア・プログラミング講座" - }, - { - "url": "https://www.mew.org/~kazu/doc/rsa.html", - "title": "はやわかり RSA" - }, - { - "url": "https://www.ipa.go.jp/files/000017320.pdf", - "title": "安全なSQLの呼び出し方" - }, - { - "url": "https://www.ipa.go.jp/files/000017316.pdf", - "title": "安全なウェブサイトの作り方" - }, - { - "url": "https://fussy.web.fc2.com/algo/algo9-1.htm", - "title": "暗号化アルゴリズム ([1])" - } - ] - }, - { - "section": "その他の話題", - "entries": [ - { - "url": "https://tatsu-zine.com/books/kk1", - "title": "ケヴィン・ケリー著作選集 1" - }, - { - "url": "https://tatsu-zine.com/books/kk2", - "title": "ケヴィン・ケリー著作選集 2" - }, - { - "url": "https://tatsu-zine.com/books/kk3", - "title": "ケヴィン・ケリー著作選集 3" - }, - { - "url": "http://www.aoky.net", - "title": "青木靖 翻訳集" - }, - { - "url": "https://practical-scheme.net/index-j.html", - "title": "川合史朗 翻訳集" - } - ] - }, - { - "section": "ソフトウェアアーキテクチャ", - "entries": [ - { - "url": "https://www.hyuki.com/dp/cat_index.html", - "title": "ギコ猫とデザインパターン" - }, - { - "url": "https://www.techscore.com/tech/DesignPattern", - "title": "デザインパターン" - } - ] - }, - { - "section": "ソフトウェア開発方法論", - "entries": [ - { - "url": "https://www.infoq.com/jp/minibooks/scrum-xp-from-the-trenches", - "title": "塹壕より Scrum と XP" - } - ] - }, - { - "section": "ソフトウェア品質", - "entries": [ - { - "url": "https://www.ipa.go.jp/files/000005144.pdf", - "title": "高信頼化ソフトウェアのための開発手法ガイドブック" - }, - { - "url": "https://www.ipa.go.jp/files/000005118.pdf", - "title": "組込みシステムの安全性向上の勧め(機能安全編)" - }, - { - "url": "https://www.ipa.go.jp/files/000005105.pdf", - "title": "組込みソフトウェア開発におけるプロジェクトマネジメント導入の勧め" - }, - { - "url": "https://www.ipa.go.jp/files/000027629.pdf", - "title": "組込みソフトウェア開発における品質向上の勧め [バグ管理手法編]" - }, - { - "url": "https://www.ipa.go.jp/files/000005114.pdf", - "title": "組込みソフトウェア開発における品質向上の勧め [ユーザビリティ編]" - }, - { - "url": "https://www.ipa.go.jp/files/000005113.pdf", - "title": "組込みソフトウェア開発における品質向上の勧め [設計モデリング編]" - }, - { - "url": "https://www.ipa.go.jp/files/000005106.pdf", - "title": "組込みソフトウェア開発における品質向上の勧め(コーディング編)" - }, - { - "url": "https://www.ipa.go.jp/files/000005149.pdf", - "title": "組込みソフトウェア開発における品質向上の勧め[テスト編~事例集~]" - } - ] - }, - { - "section": "データベース", - "entries": [ - { - "url": "http://www.ipa.go.jp/files/000018652.pdf", - "title": "データベース" - } - ] - }, - { - "section": "ネットワーキング", - "entries": [ - { - "url": "https://http3-explained.haxx.se/ja", - "title": "HTTP/3 explained" - }, - { - "url": "https://http2-explained.haxx.se/ja", - "title": "http2 explained" - }, - { - "url": "http://x68000.q-e-d.net/~68user/net", - "title": "ネットワークプログラミングの基礎知識" - } - ] - }, - { - "section": "機械学習", - "entries": [ - { - "url": "http://jubat.us/ja", - "title": "Jubatus : オンライン機械学習向け分散処理フレームワーク" - }, - { - "url": "https://gihyo.jp/dev/serial/01/mahout", - "title": "Mahoutで体感する機械学習の実践" - }, - { - "url": "https://gihyo.jp/dev/serial/01/machine-learning", - "title": "機械学習 はじめよう" - }, - { - "url": "https://github.com/komi1230/Resume/raw/master/book_reinforcement/book.pdf", - "title": "強化学習入門" - } - ] - }, - { - "section": "正規表現", - "entries": [ - { - "url": "https://docs.microsoft.com/ja-jp/dotnet/standard/base-types/regular-expressions", - "title": ".NET の正規表現" - }, - { - "url": "http://www.kt.rim.or.jp/~kbk/regex/regex.html", - "title": "正規表現メモ" - } - ] - }, - { - "section": "組み込みシステム", - "entries": [ - { - "url": "https://www.ipa.go.jp/files/000005146.pdf", - "title": "【改訂版】 組込みソフトウェア開発向け 品質作り込みガイド" - }, - { - "url": "https://www.ipa.go.jp/files/000005126.pdf", - "title": "【改訂版】 組込みソフトウェア向け 開発プロセスガイド" - }, - { - "url": "https://www.ipa.go.jp/sec/publish/tn18-004.html", - "title": "【改訂版】組込みソフトウェア開発向け コーディング作法ガイド[C言語版]ESCR Ver.3.0" - }, - { - "url": "https://www.ipa.go.jp/sec/publish/tn16-007.html", - "title": "【改訂版】組込みソフトウェア開発向けコーディング作法ガイド[C++言語版] Ver. 2.0 (ESCR C++ Ver. 2.0)" - }, - { - "url": "https://www.ipa.go.jp/files/000005116.pdf", - "title": "組込みソフトウェア向け プロジェクトマネジメントガイド[計画書編]" - }, - { - "url": "https://www.ipa.go.jp/files/000005145.pdf", - "title": "組込みソフトウェア向け プロジェクト計画立案トレーニングガイド" - }, - { - "url": "https://www.ipa.go.jp/files/000005148.pdf", - "title": "組込みソフトウェア向け 設計ガイド ESDR[事例編]" - } - ] - }, - { - "section": "並列プログラミング", - "entries": [ - { - "url": "https://jp.xlsoft.com/documents/intel/compiler/525J-001.pdf", - "title": "インテル コンパイラー OpenMP 入門" - }, - { - "url": "https://www.cc.u-tokyo.ac.jp/support/press/news/VOL12/No1/201001gpgpu.pdf", - "title": "これからの並列計算のためのGPGPU連載講座 [I]" - }, - { - "url": "https://www.cc.u-tokyo.ac.jp/support/press/news/VOL13/No1/Rensai201101.pdf", - "title": "連載講座: 高生産並列言語を使いこなす [1]" - } - ] - }, - { - "section": "理論計算機科学", - "entries": [ - { - "url": "https://sicp.iijlab.net/fulltext", - "title": "計算機プログラムの構造と解釈 第二版" - } - ] - } - ] - }, - { - "section": "Android", - "entries": [ - { - "url": "https://github.com/TechBooster/AndroidOpenTextbook", - "title": "Android Open Text book" - }, - { - "url": "https://www.jssec.org/report/securecoding.html", - "title": "Android アプリのセキュア設計・セキュアコーディングガイド" - }, - { - "url": "https://gist.github.com/nobuoka/6546813", - "title": "Android アプリ開発のための Java 入門" - }, - { - "url": "https://mixi-inc.github.io/AndroidTraining/", - "title": "AndroidTraining" - }, - { - "url": "http://www.textdrop.net/android/code-style-ja.html", - "title": "コントリビュータのためのAndroidコードスタイルガイドライン 日本語訳" - } - ], - "subsections": [] - }, - { - "section": "AppleScript", - "entries": [ - { - "url": "http://www.asahi-net.or.jp/~va5n-okmt/factory/applescript/sample_code", - "title": "Applescript のごく基本的なサンプル" - }, - { - "url": "https://sites.google.com/site/zzaatrans/home/applescriptlangguide", - "title": "AppleScript 言語ガイド(改訂版)" - } - ], - "subsections": [] - }, - { - "section": "AWK", - "entries": [ - { - "url": "https://www.magata.net/memo/index.php?plugin=attach&pcmd=open&file=awk%A5%DE%A5%CB%A5%E5%A5%A2%A5%EB.pdf&refer=%A5%B7%A5%A7%A5%EB%A5%B3%A5%DE%A5%F3%A5%C9", - "title": "AWK の第一歩" - }, - { - "url": "https://shellscript.sunone.me/awk.html", - "title": "AWK リファレンス" - }, - { - "url": "http://www.kt.rim.or.jp/~kbk/gawk-30/gawk_toc.html", - "title": "Effective AWK Programming" - } - ], - "subsections": [] - }, - { - "section": "Bash", - "entries": [ - { - "url": "https://linuxjf.osdn.jp/JFdocs/Bash-Prog-Intro-HOWTO.html", - "title": "BASH Programming - Introduction HOW-TO" - }, - { - "url": "https://d.hatena.ne.jp/nattou_curry_2/20100131/1264910483", - "title": "Bash 基礎文法最速マスター" - }, - { - "url": "https://yakst.com/ja/posts/2929", - "title": "Bashのよくある間違い" - }, - { - "url": "https://github.com/jlevy/the-art-of-command-line/blob/master/README-ja.md", - "title": "The Art of Command Line" - }, - { - "url": "https://shellscript.sunone.me", - "title": "UNIX & Linux コマンド・シェルスクリプト リファレンス" - } - ], - "subsections": [] - }, - { - "section": "C", - "entries": [ - { - "url": "http://www.pro.or.jp/~fuji/mybooks/cdiag", - "title": "Cプログラミング診断室" - }, - { - "url": "https://ja.wikibooks.org/wiki/C%E8%A8%80%E8%AA%9E", - "title": "C言語" - }, - { - "url": "https://docs.microsoft.com/ja-jp/cpp/c-language", - "title": "C言語のドキュメント" - }, - { - "url": "https://densan-labs.net/tech/clang", - "title": "C言語プログラミング入門" - }, - { - "url": "http://www.nct9.ne.jp/m_hiroi/linux/clang.html", - "title": "お気楽C言語プログラミング超入門" - }, - { - "url": "https://densan-labs.net/tech/game", - "title": "ゲーム作りで学ぶ!実践的C言語プログラミング" - }, - { - "url": "https://9cguide.appspot.com", - "title": "苦しんで覚えるC言語" - }, - { - "url": "http://cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO", - "title": "計算物理のためのC/C++言語入門" - }, - { - "url": "http://kumei.ne.jp/c_lang", - "title": "猫でもわかるプログラミング" - }, - { - "url": "https://ezoeryou.github.io/cpp-book/C++11-Syntax-and-Feature.xhtml", - "title": "C++11の文法と機能(C++11: Syntax and Feature)" - }, - { - "url": "https://www.asahi-net.or.jp/~yf8k-kbys/newcpp0.html", - "title": "C++入門" - }, - { - "url": "https://cpprefjp.github.io", - "title": "cpprefjp - C++ Reference Site in Japanese" - }, - { - "url": "https://ttsuki.github.io/styleguide/cppguide.ja.html", - "title": "Google C++ スタイルガイド 日本語全訳" - }, - { - "url": "https://web.archive.org/web/20170607163002/http://episteme.wankuma.com/stlprog", - "title": "Standard Template Library プログラミング" - }, - { - "url": "http://www.nct9.ne.jp/m_hiroi/linux/cpp.html", - "title": "お気楽C++プログラミング超入門" - }, - { - "url": "http://www7b.biglobe.ne.jp/~robe/cpphtml", - "title": "ロベールのC++教室" - }, - { - "url": "https://ezoeryou.github.io/cpp-intro", - "title": "江添亮のC++入門" - } - ], - "subsections": [] - }, - { - "section": "Clojure", - "entries": [ - { - "url": "https://github.com/totakke/clojure-style-guide", - "title": "Clojureスタイルガイド" - }, - { - "url": "https://github.com/TranslateBabelJapan/modern-cljs", - "title": "Modern cljs(翻訳中)" - }, - { - "url": "https://github.com/making/rd-clj", - "title": "逆引きClojure" - } - ], - "subsections": [] - }, - { - "section": "CoffeeScript", - "entries": [ - { - "url": "http://memo.sappari.org/coffeescript/coffeescript-langref", - "title": "CoffeeScript 言語リファレンス" - }, - { - "url": "https://blog.bokuweb.me/entry/2015/01/06/190240", - "title": "CoffeeScript基礎文法最速マスター" - }, - { - "url": "https://minghai.github.io/library/coffeescript", - "title": "The Little Book on CoffeeScript" - }, - { - "url": "https://kyu-mu.net/coffeescript/revref", - "title": "基本操作逆引きリファレンス(CoffeeScript)" - }, - { - "url": "https://kyu-mu.net/coffeescript/regexp", - "title": "正規表現リファレンス(CoffeeScript)" - } - ], - "subsections": [] - }, - { - "section": "Common Lisp", - "entries": [ - { - "url": "http://www.nct9.ne.jp/m_hiroi/xyzzy_lisp.html#abclisp", - "title": "Common Lisp 入門" - }, - { - "url": "https://lisphub.jp/doc/google-common-lisp-style-guide/lispguide.xml", - "title": "Google Common Lisp スタイルガイド 日本語訳" - }, - { - "url": "https://web.archive.org/web/20060526095202/http://home.soka.ac.jp/~unemi/LispProlog", - "title": "LISP and PROLOG" - }, - { - "url": "http://www.asahi-net.or.jp/~kc7k-nd", - "title": "On Lisp (草稿)" - }, - { - "url": "http://lambda.bugyo.tk/cdr/mwl", - "title": "マンガで分かるLisp(Manga Guide to Lisp)" - } - ], - "subsections": [] - }, - { - "section": "Coq", - "entries": [ - { - "url": "http://proofcafe.org/sf", - "title": "ソフトウェアの基礎" - } - ], - "subsections": [] - }, - { - "section": "D", - "entries": [ - { - "url": "https://gist.github.com/repeatedly/2470712", - "title": "D言語基礎文法最速マスター" - } - ], - "subsections": [] - }, - { - "section": "Elixir", - "entries": [ - { - "url": "https://qiita.com/niku/items/729ece76d78057b58271", - "title": "Elixir 基礎文法最速マスター" - } - ], - "subsections": [] - }, - { - "section": "Emacs Lisp", - "entries": [ - { - "url": "https://d.hatena.ne.jp/rubikitch/20100201/elispsyntax", - "title": "Emacs Lisp基礎文法最速マスター" - }, - { - "url": "http://www.fan.gr.jp/~ring/doc/elisp_20/elisp.html", - "title": "GNU Emacs Lispリファレンスマニュアル" - } - ], - "subsections": [] - }, - { - "section": "Erlang", - "entries": [ - { - "url": "http://www.nct9.ne.jp/m_hiroi/func/erlang.html", - "title": "お気楽 Erlang プログラミング入門" - } - ], - "subsections": [] - }, - { - "section": "Git", - "entries": [ - { - "url": "https://rogerdudler.github.io/git-guide/index.ja.html", - "title": "git - 簡単ガイド" - }, - { - "url": "https://cdn8.atwikiimg.com/git_jp/pub/git-manual-jp/Documentation/user-manual.html", - "title": "Git ユーザマニュアル (バージョン 1.5.3 以降用)" - }, - { - "url": "https://github.com/tiimgreen/github-cheat-sheet/blob/master/README.ja.md", - "title": "GitHubカンニング・ペーパー" - }, - { - "url": "http://git-scm.com/book/ja/", - "title": "Pro Git" - }, - { - "url": "https://o2project.github.io/steins-git", - "title": "Steins;Git 第二版" - }, - { - "url": "https://backlog.com/ja/git-tutorial", - "title": "サルでもわかるGit入門" - }, - { - "url": "https://github.com/hatena/Git-for-Designers", - "title": "デザイナのための Git" - }, - { - "url": "https://marklodato.github.io/visual-git-guide/index-ja.html", - "title": "図解 Git" - } - ], - "subsections": [] - }, - { - "section": "Go", - "entries": [ - { - "url": "https://knsh14.github.io/translations/go-codereview-comments", - "title": "Go Codereview Comments" - }, - { - "url": "https://astaxie.gitbooks.io/build-web-application-with-golang/content/ja", - "title": "Go Web プログラミング" - }, - { - "url": "http://www.nct9.ne.jp/m_hiroi/golang", - "title": "お気楽 Go 言語プログラミング入門" - }, - { - "url": "https://www.spinute.org/go-by-example", - "title": "サンプルで学ぶ Go 言語" - }, - { - "url": "https://andmorefine.gitbook.io/learn-go-with-tests/", - "title": "テスト駆動開発でGO言語を学びましょう" - }, - { - "url": "https://gihyo.jp/dev/feature/01/go_4beginners", - "title": "はじめてのGo―シンプルな言語仕様,型システム,並行処理" - }, - { - "url": "http://go.shibu.jp", - "title": "プログラミング言語 Go ドキュメント" - } - ], - "subsections": [] - }, - { - "section": "Groovy", - "entries": [ - { - "url": "https://grails.jp/g_mag_jp", - "title": "JGGUG G*Magazine" - } - ], - "subsections": [ - { - "section": "Gradle", - "entries": [ - { - "url": "http://gradle.monochromeroad.com/docs", - "title": "Gradle 日本語ドキュメント" - }, - { - "url": "https://www.ntts.co.jp/column/tec/java_03/", - "title": "ビルドツールGradleスタートアップガイドの紹介" - } - ] - }, - { - "section": "Grails", - "entries": [ - { - "url": "https://grails.jp/doc/latest", - "title": "Grailsフレームワーク 日本語リファレンス" - }, - { - "url": "https://www.ntts.co.jp/column/tec/java_02/", - "title": "Grailsを用いたファイルアップローダ作成" - } - ] - }, - { - "section": "Spock Framework", - "entries": [ - { - "url": "https://github.com/yamkazu/spock-workshop/tree/master/docs", - "title": "G*ワークショップZ May 2013 - Spockハンズオンの資料" - }, - { - "url": "https://spock-framework-reference-documentation-ja.readthedocs.org/ja/latest", - "title": "Spock Framework リファレンスドキュメント" - } - ] - } - ] - }, - { - "section": "Haskell", - "entries": [ - { - "url": "https://www.shido.info/hs", - "title": "Haskell のお勉強" - }, - { - "url": "https://ruicc.hatenablog.jp/entry/20100131/1264905896", - "title": "Haskell 基礎文法最速マスター" - }, - { - "url": "https://aiya000.gitbooks.io/haskell_de_groupstructure", - "title": "Haskellでわかる代数的構造" - }, - { - "url": "http://www.nct9.ne.jp/m_hiroi/func/haskell.html", - "title": "お気楽 Haskell プログラミング入門" - } - ], - "subsections": [] - }, - { - "section": "iOS", - "entries": [ - { - "url": "https://web.archive.org/web/20170507034234/http://hmdt.jp/tips/cocoa/index.html", - "title": "Cocoa Programming Tips 1001" - }, - { - "url": "https://developer.apple.com/jp/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Introduction/Introduction.html", - "title": "iOSアプリケーション プログラミングガイド" - }, - { - "url": "http://tutorial.rubymotion.jp", - "title": "RubyMotion Tutorial: Ruby で iOS アプリを作ろう" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "https://d.hatena.ne.jp/nattou_curry_2/20100130/1264821094", - "title": "Java基礎文法最速マスター" - }, - { - "url": "http://www.nct9.ne.jp/m_hiroi/java", - "title": "お気楽 Java プログラミング入門" - }, - { - "url": "http://seiza.dip.jp/link/files/writingrobustjavacode.pdf", - "title": "頑健なJavaプログラムの書き方" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "https://mitsuruog.github.io/javascript-style-guide", - "title": "Airbnb JavaScript スタイルガイド" - }, - { - "url": "https://w.atwiki.jp/aias-jsstyleguide2", - "title": "Google JavaScript スタイルガイド" - }, - { - "url": "https://bonsaiden.github.io/JavaScript-Garden/ja", - "title": "JavaScript Garden" - }, - { - "url": "https://azu.gitbooks.io/javascript-plugin-architecture/content", - "title": "JavaScript Plugin Architecture" - }, - { - "url": "https://jsprimer.net", - "title": "JavaScript Primer" - }, - { - "url": "https://azu.github.io/promises-book", - "title": "JavaScript Promiseの本" - }, - { - "url": "https://developer.mozilla.org/ja/docs/JavaScript_style_guide", - "title": "JavaScript style guide" - }, - { - "url": "https://gifnksm.hatenablog.jp/entry/20100131/1264934942", - "title": "JavaScript 基礎文法最速マスター" - }, - { - "url": "https://msdn.microsoft.com/ja-jp/library/d1et7k7c.aspx", - "title": "JavaScript 言語リファレンス" - }, - { - "url": "https://developer.mozilla.org/ja/docs/Web/JavaScript", - "title": "Mozilla Developer Network 日本語ドキュメント" - }, - { - "url": "https://the-little-book-of-busterjs.readthedocs.io/en/latest", - "title": "The little book of Buster.JS" - }, - { - "url": "http://www.nct9.ne.jp/m_hiroi/light/javascript.html", - "title": "お気楽 JavaScript プログラミング超入門" - }, - { - "url": "https://www.tohoho-web.com/js", - "title": "とほほのJavaScriptリファレンス" - }, - { - "url": "http://www.openspc2.org/JavaScript", - "title": "一撃必殺JavaScript日本語リファレンス" - }, - { - "url": "https://kenju.gitbooks.io/js_step-up-to-intermediate", - "title": "中上級者になるためのJavaScript" - } - ], - "subsections": [ - { - "section": "AngularJS", - "entries": [ - { - "url": "https://js.studio-kingdom.com/angularjs", - "title": "AngularJS 1.2 日本語リファレンス" - }, - { - "url": "http://lab.hisasann.com/AngularJSTutorial", - "title": "AngularJS's tutorial - あなたとともにAngularJS" - }, - { - "url": "https://github.com/mgechev/angularjs-style-guide/blob/master/README-ja-jp.md", - "title": "AngularJSスタイルガイド" - }, - { - "url": "https://8th713.github.io/LearnAngularJS", - "title": "すぐできる AngularJS" - } - ] - }, - { - "section": "Backbone.js", - "entries": [ - { - "url": "https://github.com/enja-oss/Backbone", - "title": "Backboneドキュメント日本語訳" - } - ] - }, - { - "section": "jQuery", - "entries": [ - { - "url": "https://stacktrace.jp/jquery/ui", - "title": "jQuery UI API 1.8.4 日本語リファレンス" - }, - { - "url": "http://semooh.jp/jquery", - "title": "jQuery日本語リファレンス" - } - ] - }, - { - "section": "Node.js", - "entries": [ - { - "url": "https://popkirby.github.io/contents/nodeguide/style.html", - "title": "Felix's Node.js Style Guide" - }, - { - "url": "https://github.com/omatoro/NodeSample", - "title": "node.js 怒濤の50サンプル!! – socket.io編" - }, - { - "url": "https://www.nodebeginner.org/index-jp.html", - "title": "Nodeビギナーズブック" - } - ] - }, - { - "section": "React", - "entries": [ - { - "url": "https://js.studio-kingdom.com/react", - "title": "React 0.13 日本語リファレンス" - }, - { - "url": "https://ja.reactjs.org/tutorial/tutorial.html", - "title": "チュートリアル:React の導入" - } - ] - } - ] - }, - { - "section": "Julia", - "entries": [ - { - "url": "https://stats.biopapyrus.jp/julia", - "title": "Julia 0.3.8" - }, - { - "url": "http://www.nct9.ne.jp/m_hiroi/light/julia.html", - "title": "Julia Language Programming" - }, - { - "url": "https://www.dropbox.com/s/lk7y8lifjcr1vf2/JuliaBook-20151201.pdf", - "title": "実例で学ぶ Julia-0.4.1" - }, - { - "url": "https://github.com/cometscome/Julianotes", - "title": "物理で使う数値計算入門:Julia言語による簡単数値計算" - } - ], - "subsections": [] - }, - { - "section": "LaTeX", - "entries": [ - { - "url": "https://ja.wikibooks.org/wiki/TeX/LaTeX%E5%85%A5%E9%96%80", - "title": "TeX/LaTeX入門" - }, - { - "url": "https://www.comp.tmu.ac.jp/tsakai/lectures/intro_tex.html", - "title": "TeX入門" - }, - { - "url": "https://texwiki.texjp.org/?TeX%E5%85%A5%E9%96%80", - "title": "TeX入門 TeX Wiki" - } - ], - "subsections": [] - }, - { - "section": "Linux", - "entries": [ - { - "url": "https://www.mech.tohoku-gakuin.ac.jp/rde/contents/linux/drivers/indexframe.html", - "title": "Linux Device Driver" - }, - { - "url": "https://lfsbookja.osdn.jp/7.4.ja/", - "title": "Linux from Scratch (Version 7.4)" - }, - { - "url": "https://linuxjf.osdn.jp/JFdocs/Secure-Programs-HOWTO", - "title": "Secure Programming for Linux and Unix HOWTO" - } - ], - "subsections": [] - }, - { - "section": "Lua", - "entries": [ - { - "url": "http://milkpot.sakura.ne.jp/lua/lua52_manual_ja.html", - "title": "Lua 5.2 リファレンスマニュアル" - }, - { - "url": "http://www.nct9.ne.jp/m_hiroi/light/lua.html", - "title": "Lua Programming" - }, - { - "url": "https://densan-labs.net/tech/lua", - "title": "Luaプログラミング入門" - } - ], - "subsections": [] - }, - { - "section": "Maven", - "entries": [ - { - "url": "https://www.techscore.com/tech/Java/ApacheJakarta/Maven", - "title": "Maven" - }, - { - "url": "https://github.com/KengoTODA/what-is-maven", - "title": "What is Maven?" - } - ], - "subsections": [] - }, - { - "section": "Mercurial", - "entries": [ - { - "url": "http://foozy.bitbucket.org/hgbook-ja/index.ja.html", - "title": "Mercurial: The Definitive Guide" - }, - { - "url": "https://mmitou.hatenadiary.org/entry/20100501/1272680474", - "title": "Mercurial チュートリアル hginit.com の和訳" - } - ], - "subsections": [] - }, - { - "section": "ML", - "entries": [ - { - "url": "http://jats-ug.metasepi.org/doc/ATS2/INT2PROGINATS", - "title": "ATSプログラミング入門" - } - ], - "subsections": [] - }, - { - "section": "NoSQL", - "entries": [ - { - "url": "https://hibari.github.io/hibari-doc/hibari-app-developer-guide.ja.html", - "title": "Hibari アプリケーション開発者ガイド" - }, - { - "url": "https://www.cuspy.org/diary/2012-04-17/the-little-mongodb-book-ja.pdf", - "title": "MongoDBの薄い本" - }, - { - "url": "https://github.com/craftgear/the-little-redis-book", - "title": "The Little Redis Book" - } - ], - "subsections": [] - }, - { - "section": "Objective-C", - "entries": [ - { - "url": "http://www.textdrop.net/google-styleguide-ja/objcguide.xml", - "title": "Google Objective-C スタイルガイド 日本語訳" - }, - { - "url": "https://marycore.jp/prog/objective-c/basic-syntax", - "title": "Objective-C 2.0 基礎文法最速マスター" - }, - { - "url": "https://developer.apple.com/jp/devcenter/ios/library/documentation/ProgrammingWithObjectiveC.pdf", - "title": "Objective-C によるプログラミング" - }, - { - "url": "https://developer.apple.com/jp/devcenter/ios/library/documentation/CocoaEncyclopedia.pdf", - "title": "Objective-C プログラミングの概念" - }, - { - "url": "https://developer.apple.com/jp/documentation/ProgrammingWithObjectiveC.pdf", - "title": "Objective-C プログラミング言語" - }, - { - "url": "https://fn7.hatenadiary.org/entry/20100203/1265207098", - "title": "Objective-C 最速基礎文法マスター" - } - ], - "subsections": [] - }, - { - "section": "OCaml", - "entries": [ - { - "url": "https://web.archive.org/web/20161128072705/http://www.fos.kuis.kyoto-u.ac.jp:80/~t-sekiym/classes/isle4/mltext/ocaml.html", - "title": "Objective Caml 入門" - }, - { - "url": "http://www.nct9.ne.jp/m_hiroi/func/ocaml.html", - "title": "お気楽 OCaml プログラミング入門" - } - ], - "subsections": [] - }, - { - "section": "Perl", - "entries": [ - { - "url": "https://qntm.org/files/perl/perl_jp.html", - "title": "2時間半で学ぶPerl" - }, - { - "url": "https://ja.wikibooks.org/wiki/Perl", - "title": "Perl" - }, - { - "url": "https://github.com/hatena/Hatena-Textbook/blob/master/database-programming-perl.md", - "title": "Perl でのデータベース操作" - }, - { - "url": "https://perldoc.jp/index/core", - "title": "Perl のコアドキュメント" - }, - { - "url": "https://tutorial.perlzemi.com/blog/20091226126425.html", - "title": "Perl 基礎文法最速マスター" - }, - { - "url": "http://www.nct9.ne.jp/m_hiroi/linux/perl.html", - "title": "お気楽 Perl プログラミング超入門" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "https://web.archive.org/web/20140703001758/http://www.doyouphp.jp/book/book_phpdp.shtml", - "title": "PHP によるデザインパターン入門" - }, - { - "url": "https://www.php.net/manual/ja", - "title": "PHP マニュアル" - }, - { - "url": "https://www.1x1.jp/blog/2010/01/php-basic-syntax.html", - "title": "PHP 基礎文法最速マスター" - }, - { - "url": "https://prev.net-newbie.com/support/pdf2/", - "title": "PHP4徹底攻略改訂版" - }, - { - "url": "https://github.com/maosanhioro/fig-standards/blob/master/translation/PSR-2-coding-style-guide.md", - "title": "PSR-2 – コーディングスタイルガイド" - } - ], - "subsections": [ - { - "section": "Symfony", - "entries": [ - { - "url": "https://symfony.com/doc/5.0/the-fast-track/ja", - "title": "Symfony 5: ファストトラック" - } - ] - } - ] - }, - { - "section": "PowerShell", - "entries": [ - { - "url": "https://docs.microsoft.com/ja-jp/powershell/scripting/overview?view=powershell-6", - "title": "PowerShell スクリプト" - }, - { - "url": "http://winscript.jp/powershell/202", - "title": "PowerShell基礎文法最速マスター" - } - ], - "subsections": [] - }, - { - "section": "Processing", - "entries": [ - { - "url": "http://www.musashinodenpa.com/p5", - "title": "Processing クイックリファレンス" - }, - { - "url": "https://www.d-improvement.jp/learning/processing", - "title": "Processing 学習ノート" - }, - { - "url": "http://ap.kakoku.net/index.html", - "title": "Processing 入門講座" - } - ], - "subsections": [] - }, - { - "section": "Prolog", - "entries": [ - { - "url": "https://web.archive.org/web/20060526095202/http://home.soka.ac.jp/~unemi/LispProlog/", - "title": "LISP and PROLOG" - }, - { - "url": "https://tamura70.gitlab.io/web-prolog/intro", - "title": "Prolog プログラミング入門" - }, - { - "url": "http://www.nct9.ne.jp/m_hiroi/prolog", - "title": "お気楽 Prolog プログラミング入門" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "http://diveintopython3-ja.rdy.jp", - "title": "Dive Into Python 3 日本語版" - }, - { - "url": "http://works.surgo.jp/translation/pyguide.html", - "title": "Google Python スタイルガイド" - }, - { - "url": "http://japanichaos.appspot.com", - "title": "Notes on scientific computing with python" - }, - { - "url": "https://web.archive.org/web/20160813152046/http://phpy.readthedocs.io/en/latest/", - "title": "php プログラマのための Python チュートリアル" - }, - { - "url": "https://stats.biopapyrus.jp/python", - "title": "Python 3.4" - }, - { - "url": "http://turbare.net/transl/scipy-lecture-notes", - "title": "Python Scientific Lecture Notes" - }, - { - "url": "https://aidiary.hatenablog.com/entry/20110514/1305377659", - "title": "Python で音声信号処理" - }, - { - "url": "http://www.s12600.net/psy/python", - "title": "python で心理実験" - }, - { - "url": "https://docs.python.org/ja", - "title": "Python ドキュメント日本語訳" - }, - { - "url": "https://www.nltk.org/book-jp/ch12.html", - "title": "Python による日本語自然言語処理" - }, - { - "url": "https://skitazaki.github.io/python-school-ja", - "title": "Python の学習" - }, - { - "url": "https://python-guide-ja.readthedocs.io/en/latest", - "title": "Python ヒッチハイク・ガイド" - }, - { - "url": "https://methane.github.io/gevent-tutorial-ja", - "title": "Python プログラマーのための gevent チュートリアル" - }, - { - "url": "https://dplusplus.hatenablog.com/entry/20100126/p1", - "title": "Python 基礎文法最速マスター" - }, - { - "url": "https://sites.google.com/site/theprogramminghistorianja", - "title": "The Programming Historian" - }, - { - "url": "http://www.cauldron.sakura.ne.jp/thinkpython/thinkpython/ThinkPython.pdf", - "title": "Think Python:コンピュータサイエンティストのように考えてみよう" - }, - { - "url": "http://www.nct9.ne.jp/m_hiroi/light", - "title": "お気楽 Python プログラミング入門" - }, - { - "url": "http://hdl.handle.net/2433/245698", - "title": "プログラミング演習 Python 2019" - }, - { - "url": "https://coreblog.org/ats/stuff/minpy_web", - "title": "みんなのPython Webアプリ編" - }, - { - "url": "https://www.kamishima.net/mlmpyja", - "title": "機械学習の Python との出会い (Machine Learning Meets Python)" - } - ], - "subsections": [ - { - "section": "Flask", - "entries": [ - { - "url": "https://flask-docs-ja.readthedocs.io/en/latest", - "title": "Flask ドキュメント" - }, - { - "url": "https://methane.github.io/flask-handson", - "title": "Flask ハンズオン" - } - ] - } - ] - }, - { - "section": "R", - "entries": [ - { - "url": "https://stats.biopapyrus.jp/r", - "title": "R" - }, - { - "url": "http://cse.naro.affrc.go.jp/takezawa/r-tips/r2.html", - "title": "R-Tips" - }, - { - "url": "https://cran.r-project.org/doc/contrib/manuals-jp/Mase-Rstatman.pdf", - "title": "R 基本統計関数マニュアル" - }, - { - "url": "https://cran.r-project.org/doc/contrib/manuals-jp/R-lang.jp.v110.pdf", - "title": "R 言語定義" - }, - { - "url": "https://cran.r-project.org/doc/contrib/manuals-jp/R-intro-170.jp.pdf", - "title": "R 入門" - }, - { - "url": "http://psycho.edu.yamaguchi-u.ac.jp/wordpress/wp-content/uploads/2014/01/R_tutorial20131.pdf", - "title": "Rチュートリアルセミナーテキスト" - }, - { - "url": "https://minato.sip21c.org/statlib/stat.pdf", - "title": "Rによる統計解析の基礎" - }, - { - "url": "http://minato.sip21c.org/msb/medstatbook.pdf", - "title": "Rによる保健医療データ解析演習" - }, - { - "url": "https://nuss.nagoya-u.ac.jp/index.php/s/kN6ZxsyReNzRPlM", - "title": "統計解析ソフトRのスクリプト集" - }, - { - "url": "http://cse.naro.affrc.go.jp/takezawa/r-tips.pdf", - "title": "統計解析フリーソフトRの備忘録" - }, - { - "url": "http://blue.zero.jp/yokumura/Rhtml/Haebera2002.html", - "title": "無料統計ソフトRで心理学" - } - ], - "subsections": [] - }, - { - "section": "Ruby", - "entries": [ - { - "url": "https://railsguides.jp", - "title": "Ruby on Rails ガイド" - }, - { - "url": "https://railstutorial.jp", - "title": "Ruby on Rails チュートリアル" - }, - { - "url": "https://i.loveruby.net/ja/rhg/book", - "title": "Ruby ソースコード完全解説" - }, - { - "url": "https://www.ruby-lang.org/ja/documentation", - "title": "Ruby リファレンスマニュアル" - }, - { - "url": "https://route477.net/d/?date=20100125", - "title": "Ruby 基礎文法最速マスター" - }, - { - "url": "https://yasuhito.github.io/trema-book", - "title": "TremaでOpenFlowプログラミング" - }, - { - "url": "http://www.nct9.ne.jp/m_hiroi/light/ruby.html", - "title": "お気楽 Ruby プログラミング入門" - }, - { - "url": "https://tatsu-zine.com/books/scheme-in-ruby", - "title": "つくって学ぶプログラミング言語 RubyによるScheme処理系の実装" - }, - { - "url": "http://www.aoky.net/articles/why_poignant_guide_to_ruby", - "title": "ホワイの(感動的)Rubyガイド" - }, - { - "url": "https://www.gentei.org/~yuuji/support/sr/scrp-2020-05.pdf", - "title": "実用的Rubyスクリプティング" - } - ], - "subsections": [] - }, - { - "section": "Sather", - "entries": [ - { - "url": "https://www.shido.info/sather", - "title": "Sather を試そう" - } - ], - "subsections": [] - }, - { - "section": "Scala", - "entries": [ - { - "url": "https://twitter.github.io/effectivescala/index-ja.html", - "title": "Effective Scala" - }, - { - "url": "https://eed3si9n.com/tetrix-in-scala/ja", - "title": "Scala で書く tetrix" - }, - { - "url": "https://eed3si9n.com/learning-scalaz/ja", - "title": "独習 Scalaz" - } - ], - "subsections": [] - }, - { - "section": "Scheme", - "entries": [ - { - "url": "https://web.archive.org/web/20140521224625/http://karetta.jp/book-cover/gauche-hacks", - "title": "Gauche プログラミング(立読み版)" - }, - { - "url": "https://practical-scheme.net/gauche/man/gauche-refj.html", - "title": "Gauche ユーザリファレンス" - }, - { - "url": "https://ja.wikibooks.org/wiki/Scheme", - "title": "Scheme" - }, - { - "url": "https://sites.google.com/site/atponslisp/home/scheme/racket/schemenyuumon-1/schemenyuumon", - "title": "Scheme 入門 スーパービギナー編" - }, - { - "url": "http://www.nct9.ne.jp/m_hiroi/func/scheme.html", - "title": "お気楽 Scheme プログラミング入門" - }, - { - "url": "https://www.shido.info/lisp/idx_scm.html", - "title": "もうひとつの Scheme 入門" - }, - { - "url": "https://web.archive.org/web/20140812144348/http://www4.ocn.ne.jp/~inukai/scheme_primer_j.html", - "title": "入門Scheme" - } - ], - "subsections": [] - }, - { - "section": "Scratch", - "entries": [ - { - "url": "https://kyorohiro.gitbooks.io/doc_scratch", - "title": "炎の型 With Scratch (ゲームプログラム入門)" - } - ], - "subsections": [] - }, - { - "section": "sed", - "entries": [ - { - "url": "https://www.gcd.org/sengoku/sedlec", - "title": "SED 教室" - } - ], - "subsections": [] - }, - { - "section": "Smalltalk", - "entries": [ - { - "url": "https://swikis.ddo.jp/squeak/13", - "title": "自由自在 Squeakプログラミング" - } - ], - "subsections": [] - }, - { - "section": "SQL(実装非依存)", - "entries": [ - { - "url": "https://www.techscore.com/tech/sql", - "title": "SQL" - }, - { - "url": "https://mickindex.sakura.ne.jp/database/WDP/WDP_44.pdf", - "title": "SQLアタマ養成講座" - }, - { - "url": "https://mickindex.sakura.ne.jp", - "title": "SQLプログラミング作法" - } - ], - "subsections": [] - }, - { - "section": "Standard ML", - "entries": [ - { - "url": "http://www.nct9.ne.jp/m_hiroi/func/#sml", - "title": "お気楽 Standard ML of New Jersey 入門" - }, - { - "url": "https://www.pllab.riec.tohoku.ac.jp/smlsharp/docs/3.0/ja/manual.xhtml", - "title": "プログラミング言語SML#解説" - }, - { - "url": "https://www.pllab.riec.tohoku.ac.jp/smlsharp/smlIntroSlidesJP.pdf", - "title": "プログラミング言語Standard ML入門" - } - ], - "subsections": [] - }, - { - "section": "Swift", - "entries": [ - { - "url": "http://docs.fabo.io/swift/", - "title": "逆引きSwift" - } - ], - "subsections": [] - }, - { - "section": "Tcl/Tk", - "entries": [ - { - "url": "http://www.nct9.ne.jp/m_hiroi/tcl_tk.html", - "title": "Tcl/Tk お気楽 GUI プログラミング" - }, - { - "url": "http://aoba.cc.saga-u.ac.jp/lecture/TclTk/text.pdf", - "title": "Tcl/Tk入門" - } - ], - "subsections": [] - }, - { - "section": "TypeScript", - "entries": [ - { - "url": "https://typescript-jp.gitbook.io/deep-dive/", - "title": "TypeScript Deep Dive 日本語版" - }, - { - "url": "https://msakamaki.github.io/clean-code-typescript", - "title": "TypeScriptの為のクリーンコード" - } - ], - "subsections": [ - { - "section": "Angular", - "entries": [ - { - "url": "https://angular.jp/docs", - "title": "Angular Docs" - }, - { - "url": "https://angular.jp/tutorial", - "title": "Angular Tutorial" - } - ] - } - ] - }, - { - "section": "VBA", - "entries": [ - { - "url": "https://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/vba2013", - "title": "Excel 2013 で学ぶ Visual Basic for Applications (VBA)" - }, - { - "url": "https://nattou-curry-2.hatenadiary.org/entry/20100129/1264787849", - "title": "VBA基礎文法最速マスター" - }, - { - "url": "https://docs.microsoft.com/ja-jp/office/vba/api/overview/language-reference", - "title": "Visual Basic for Applications (VBA) の言語リファレンス" - } - ], - "subsections": [] - }, - { - "section": "Vim", - "entries": [ - { - "url": "https://nanasi.jp/code.html", - "title": "Vim スクリプトリファレンス" - }, - { - "url": "https://thinca.hatenablog.com/entry/20100201/1265009821", - "title": "Vim スクリプト基礎文法最速マスター" - }, - { - "url": "https://vim-jp.org/vimdoc-ja/usr_41.html", - "title": "Vim スクリプト書法" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "ko", - "name": "Korean" - }, - "index": {}, - "sections": [ - { - "section": "수학", - "entries": [ - { - "url": "https://wstein.org/ent/", - "title": "기초정수론: 계산과 법연산, 그리고 비밀통신을 강조한" - } - ], - "subsections": [] - }, - { - "section": "Amazon Web Service", - "entries": [ - { - "url": "http://www.pyrasis.com/private/2014/09/30/publish-the-art-of-amazon-web-services-book", - "title": "아마존 웹 서비스를 다루는 기술" - } - ], - "subsections": [] - }, - { - "section": "Assembly Language", - "entries": [ - { - "url": "http://pacman128.github.io/static/pcasm-book-korean.pdf", - "title": "PC Assembly Language" - } - ], - "subsections": [] - }, - { - "section": "C", - "entries": [ - { - "url": "https://github.com/kev0960/ModooCode/raw/master/book/c/main.pdf", - "title": "씹어먹는 C" - }, - { - "url": "https://blogofscience.com/Socket_Programming-KLDP.html", - "title": "BeeJ's Guide to Network Programming - 인터넷 소켓 활용" - }, - { - "url": "https://github.com/kev0960/ModooCode/raw/master/book/cpp/main.pdf", - "title": "씹어먹는 C++" - } - ], - "subsections": [] - }, - { - "section": "Docker", - "entries": [ - { - "url": "http://www.pyrasis.com/private/2014/11/30/publish-docker-for-the-really-impatient-book", - "title": "가장 빨리 만나는 Docker" - } - ], - "subsections": [] - }, - { - "section": "GIT", - "entries": [ - { - "url": "https://github.com/tiimgreen/github-cheat-sheet/blob/master/README.ko.md", - "title": "깃허브 치트 시트" - }, - { - "url": "http://rogerdudler.github.io/git-guide/index.ko.html", - "title": "Git - 간편 안내서" - }, - { - "url": "https://git-scm.com/book/ko/v2", - "title": "Pro Git 한글 번역" - } - ], - "subsections": [] - }, - { - "section": "Go", - "entries": [ - { - "url": "http://www.pyrasis.com/private/2015/06/01/publish-go-for-the-really-impatient-book", - "title": "가장 빨리 만나는 Go 언어" - }, - { - "url": "http://www.codingnuri.com/golang-book/index.html", - "title": "AN INTRODUCTION TO PROGRAMMING IN GO 한글 번역" - }, - { - "url": "https://thebook.io/006806/", - "title": "Go 언어 웹 프로그래밍 철저 입문" - }, - { - "url": "https://github.com/byounghoonkim/the-little-go-book/", - "title": "The Little Go Book. 리틀 고 책입니다" - } - ], - "subsections": [] - }, - { - "section": "HTML5", - "entries": [ - { - "url": "http://fromyou.tistory.com/581", - "title": "HTML5, CSS and JavaScript" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "https://wikidocs.net/book/31", - "title": "점프 투 자바" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "http://bonsaiden.github.io/JavaScript-Garden/ko", - "title": "JavaScript Garden" - }, - { - "url": "https://helloworldjavascript.net", - "title": "JavaScript로 만나는 세상" - } - ], - "subsections": [ - { - "section": "Node.js", - "entries": [ - { - "url": "http://nodejs.sideeffect.kr/docs/", - "title": "Node.js API 한글 번역 by outsideris" - } - ] - } - ] - }, - { - "section": "LaTeX", - "entries": [ - { - "url": "https://ctan.org/tex-archive/info/lshort/korean", - "title": "The Not So short Introduction to LaTeX 2ε" - } - ], - "subsections": [] - }, - { - "section": "Linux", - "entries": [ - { - "url": "https://thebook.io/006718/", - "title": "리눅스 서버를 다루는 기술" - } - ], - "subsections": [] - }, - { - "section": "Perl", - "entries": [ - { - "url": "http://qntm.org/files/perl/perl_kr.html", - "title": "2시간 반만에 펄 익히기" - }, - { - "url": "https://github.com/aero/perl_docs/blob/master/hatena_perl_oop.md", - "title": "Perl 객체지향프로그래밍(OOP)" - }, - { - "url": "http://advent.perl.kr/2014/", - "title": "Seoul.pm 펄 크리스마스 달력 #2014 | Seoul.pm Perl Advent Calendar 2014" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "https://www.lesstif.com/pages/viewpage.action?pageId=24445740", - "title": "PHP5 의 주요 기능" - } - ], - "subsections": [ - { - "section": "Laravel", - "entries": [ - { - "url": "https://github.com/appkr/l5essential", - "title": "라라벨 (Laravel) 5 입문 및 실전 강좌" - }, - { - "url": "https://www.lesstif.com/display/laravelprog", - "title": "쉽게 배우는 라라벨 5 프로그래밍" - } - ] - } - ] - }, - { - "section": "Python", - "entries": [ - { - "url": "https://wikidocs.net/7839", - "title": "내가 파이썬을 배우는 방법" - }, - { - "url": "https://thebook.io/007026", - "title": "모두의 파이썬: 20일 만에 배우는 프로그래밍 기초" - }, - { - "url": "https://wikidocs.net/book/2", - "title": "왕초보를 위한 Python 2.7" - }, - { - "url": "https://wikidocs.net/book/1", - "title": "점프 투 파이썬 - Python 3" - }, - { - "url": "https://python-guide-kr.readthedocs.io/ko/latest/", - "title": "파이썬을 여행하는 히치하이커를 위한 안내서!" - }, - { - "url": "https://wikidocs.net/book/1665", - "title": "파이썬을 이용한 비트코인 자동매매" - }, - { - "url": "http://byteofpython-korean.sourceforge.net/byte_of_python.pdf", - "title": "A Byte of Python 한글 번역 by Jeongbin Park" - }, - { - "url": "https://wikidocs.net/book/2165", - "title": "PyQt5 Tutorial - 파이썬으로 만드는 나만의 GUI 프로그램" - } - ], - "subsections": [ - { - "section": "Django", - "entries": [ - { - "url": "https://tutorial.djangogirls.org/ko/", - "title": "장고걸스 튜토리얼 (Django Girls Tutorial)" - }, - { - "url": "https://wikidocs.net/book/4223", - "title": "점프 투 장고" - } - ] - }, - { - "section": "Flask", - "entries": [ - { - "url": "https://flask-docs-kr.readthedocs.io/ko/latest/", - "title": "Flask의 세계에 오신것을 환영합니다." - } - ] - } - ] - }, - { - "section": "R", - "entries": [ - { - "url": "http://r4pda.co.kr", - "title": "R을 이용한 데이터 처리 & 분석 실무" - }, - { - "url": "http://www.openstatistics.net", - "title": "The R Manuals (translated in Korean)" - } - ], - "subsections": [] - }, - { - "section": "Raspberry Pi", - "entries": [ - { - "url": "https://wikidocs.net/book/483", - "title": "라즈베리 파이 문서" - } - ], - "subsections": [] - }, - { - "section": "Ruby", - "entries": [ - { - "url": "https://github.com/dalzony/ruby-style-guide/blob/master/README-koKR.md", - "title": "루비 스타일 가이드" - } - ], - "subsections": [] - }, - { - "section": "Rust", - "entries": [ - { - "url": "https://rinthel.github.io/rust-lang-book-ko/", - "title": "러스트 프로그래밍 언어" - } - ], - "subsections": [] - }, - { - "section": "Scratch", - "entries": [ - { - "url": "http://digital.kyobobook.co.kr/digital/ebook/ebookDetail.ink?barcode=480150000247P", - "title": "창의컴퓨팅(Creative Computing) 가이드북" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "my", - "name": "Burmese" - }, - "index": {}, - "sections": [ - { - "section": "", - "entries": [ - { - "url": "https://github.com/nainglinaung/the-little-go-book", - "title": "The Little Go Book" - } - ], - "subsections": [] - }, - { - "section": "HTML", - "entries": [ - { - "url": "https://books.saturngod.net/HTML5/", - "title": "HTML" - } - ], - "subsections": [] - }, - { - "section": "Linux", - "entries": [ - { - "url": "http://eimaung.com/ubuntu-for-you", - "title": "Ubuntu Linux for You" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "http://books.saturngod.net/programming_basic/", - "title": "Programming Basic For Beginner" - } - ], - "subsections": [] - }, - { - "section": "Web Development", - "entries": [ - { - "url": "http://eimaung.com/professional-web-developer", - "title": "Professional Web Developer" - }, - { - "url": "http://eimaung.com/rockstar-developer", - "title": "Rockstar Developer" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "nl", - "name": "Dutch, Flemish" - }, - "index": {}, - "sections": [ - { - "section": "C", - "entries": [ - { - "url": "https://nl.wikibooks.org/wiki/Programmeren_in_C", - "title": "Programmeren in C" - } - ], - "subsections": [] - }, - { - "section": "C Sharp", - "entries": [ - { - "url": "https://nl.wikibooks.org/wiki/Programmeren_in_C_Sharp", - "title": "Programmeren in C Sharp" - } - ], - "subsections": [] - }, - { - "section": "COBOL", - "entries": [ - { - "url": "https://nl.wikibooks.org/wiki/Programmeren_in_COBOL", - "title": "Programmeren in COBOL" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "https://nl.wikibooks.org/wiki/Programmeren_in_Java", - "title": "Programmeren in Java" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "https://nl.wikibooks.org/wiki/Programmeren_in_PHP", - "title": "Programmeren in PHP" - } - ], - "subsections": [ - { - "section": "Symfony", - "entries": [ - { - "url": "https://symfony.com/doc/current/the-fast-track/nl/index.html", - "title": "Symfony 5: Snel van start" - } - ] - } - ] - }, - { - "section": "Python", - "entries": [ - { - "url": "http://www.spronck.net/pythonbook/dutchindex.xhtml", - "title": "De Programmeursleerling: Leren coderen met Python 3" - }, - { - "url": "https://nl.wikibooks.org/wiki/Programmeren_in_Python", - "title": "Programmeren in Python" - } - ], - "subsections": [] - }, - { - "section": "Scratch", - "entries": [ - { - "url": "http://scratched.gse.harvard.edu/resources/creatief-computergebruik", - "title": "Creatief Computergebruik" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "no", - "name": "Norwegian" - }, - "index": {}, - "sections": [] - }, - { - "language": { - "code": "pl", - "name": "Polish" - }, - "index": {}, - "sections": [ - { - "section": "0 - Niezależne od języka programowania", - "entries": [ - { - "url": "https://pl.wikibooks.org/wiki/Git", - "title": "Git" - }, - { - "url": "http://apki.org", - "title": "Interaktywna platforma do nauki programowania" - }, - { - "url": "https://pl.wikibooks.org/wiki/Pisanie_OS", - "title": "Pisanie OS" - }, - { - "url": "http://www.eioba.pl/a/2eu1/poradnik-poczatkujacego-programisty", - "title": "Poradnik początkującego programisty" - }, - { - "url": "http://git-scm.com/book/pl/", - "title": "Pro Git" - }, - { - "url": "https://www.youtube.com/playlist?list=PLOYHgt8dIdoxOp0wtNk9Sle5WUsBZc6kq", - "title": "Programowanie webowe E14" - }, - { - "url": "https://pl.wikibooks.org/wiki/Subversion", - "title": "SVN" - } - ], - "subsections": [] - }, - { - "section": "Android", - "entries": [ - { - "url": "https://andrzejklusiewicz-android.blogspot.com/p/bezpatny-kurs-programowania-android-java.html", - "title": "O Androidzie ludzkim głosem" - }, - { - "url": "http://jsystems.pl/storage/kurs_android/ebook/ebook-android.pdf", - "title": "O Androidzie ludzkim głosem" - }, - { - "url": "http://soldiersofmobile.com/przybornik/przybornik_8_02.pdf", - "title": "Przybornik pragmatycznego programisty Android" - } - ], - "subsections": [] - }, - { - "section": "Bash", - "entries": [ - { - "url": "http://web.archive.org/web/20180129013729/http://dief.republika.pl/kursbasha.tar.gz", - "title": "Kurs Bash'a" - } - ], - "subsections": [] - }, - { - "section": "C", - "entries": [ - { - "url": "http://www.asawicki.info/Mirror/Beej_s%20Guide%20to%20Network%20Programming%20PL/bgnet.pdf", - "title": "Beej’s Guide to Network Programming - U˙zywanie gniazd internetowych" - }, - { - "url": "http://qvazar.pl/kurs-c/kurs-c", - "title": "Kurs C" - }, - { - "url": "http://kurs-c.manifo.com/konfiguracja-srodowiska-298-547", - "title": "Kurs języka C" - }, - { - "url": "http://janek.ae.krakow.pl/wiluszt/zajecia/c/ansic/", - "title": "Kurs programowania w języku ANSI C pod systemem UNIX" - }, - { - "url": "https://old.opcode.eu.org/programing/c_cpp/", - "title": "Podstawy programowania Unixa/Linuxa" - }, - { - "url": "https://upload.wikimedia.org/wikibooks/pl/6/6a/C.pdf", - "title": "Programowanie w C" - }, - { - "url": "http://www.arturpyszczuk.pl/files/c/pwc.pdf", - "title": "Programowanie w języku C" - }, - { - "url": "http://helion.pl/online/wglab/wglab.zip", - "title": "Wgłąb języka C" - } - ], - "subsections": [] - }, - { - "section": "C Sharp", - "entries": [ - { - "url": "http://kurs.aspnetmvc.pl/Csharp", - "title": "Darmowy kurs C#" - }, - { - "url": "http://zajacmarek.com/kurs-c-sharp/", - "title": "Kurs C#" - }, - { - "url": "https://cezarywalenciuk.pl/blog/programing/kurs/kurs-podstaw-c-sharp", - "title": "Kurs podstawy C#" - }, - { - "url": "https://4programmers.net/C_sharp", - "title": "Programowanie w języku C#" - }, - { - "url": "http://c-sharp.ue.katowice.pl/ksiazka/c_sharp_wer2_0.pdf", - "title": "Wstęp do programowania w C#" - }, - { - "url": "https://pl.wikibooks.org/wiki/C++", - "title": "C++" - }, - { - "url": "http://www.dz5.pl/ti/cpp/zz_dodatki/kurs_cpp_szczegolowy2.pdf", - "title": "Język C++ – podstawy programowania" - }, - { - "url": "http://cpp0x.pl/kursy/Kurs-C++/1", - "title": "Kurs C++" - }, - { - "url": "http://xion.org.pl/productions/texts/coding/megatutorial/", - "title": "Megatutorial \"Od zera do gier kodera\"" - } - ], - "subsections": [] - }, - { - "section": "Common Lisp", - "entries": [ - { - "url": "http://jcubic.pl/lisp_tutorial.php", - "title": "Kurs programowania w języku Common Lisp" - } - ], - "subsections": [] - }, - { - "section": "CSS", - "entries": [ - { - "url": "http://www.kurshtml.edu.pl/css/index.html", - "title": "Kaskadowe Arkusze Stylów" - }, - { - "url": "https://webref.pl/arena/css/css_index.html", - "title": "Kurs CSS" - }, - { - "url": "https://ferrante.pl/books/html/", - "title": "Moja pierwsza strona internetowa w HTML5 i CSS3" - } - ], - "subsections": [] - }, - { - "section": "Haskell", - "entries": [ - { - "url": "https://pl.wikibooks.org/wiki/Haskell", - "title": "Haskell" - } - ], - "subsections": [] - }, - { - "section": "HTML", - "entries": [ - { - "url": "http://www.kurshtml.edu.pl/html/zielony.html", - "title": "HTML dla zielonych" - }, - { - "url": "http://www.kurshtml.edu.pl", - "title": "KURS HTML" - }, - { - "url": "https://ferrante.pl/books/html/", - "title": "Moja pierwsza strona internetowa w HTML5 i CSS3" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "https://javastart.pl/baza-wiedzy/darmowy-kurs-java", - "title": "Darmowy kurs Java" - }, - { - "url": "http://www.dz5.pl/ti/java/java_skladnia.pdf", - "title": "Język Java" - }, - { - "url": "https://stormit.pl/kurs-java/", - "title": "Kurs Java" - }, - { - "url": "http://www.samouczekprogramisty.pl/kurs-programowania-java/", - "title": "Kurs programowania Java" - }, - { - "url": "https://kobietydokodu.pl/kurs-javy/", - "title": "Praktyczny kurs Javy" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "https://pl.wikibooks.org/wiki/JavaScript", - "title": "JavaScript" - }, - { - "url": "http://bonsaiden.github.io/JavaScript-Garden/pl", - "title": "JavaScript Garden" - }, - { - "url": "http://shebang.pl/kursy/wszystko-jasne/", - "title": "JavaScript. I wszystko jasne" - }, - { - "url": "http://www.kurshtml.edu.pl/js/index.html", - "title": "Wstęp - JavaScript" - } - ], - "subsections": [] - }, - { - "section": "LaTeX", - "entries": [ - { - "url": "http://www.latex-kurs.x25.pl", - "title": "LaTeX kurs" - }, - { - "url": "https://ptm.org.pl/sites/default/files/latex-ksiazka-kucharska.pdf", - "title": "LaTeX. Książka kucharska" - }, - { - "url": "http://www.ctan.org/tex-archive/info/lshort/polish", - "title": "Nie za krótkie wprowadzeniedo systemu LATEX 2ε" - } - ], - "subsections": [] - }, - { - "section": "MySQL", - "entries": [ - { - "url": "https://miroslawzelent.pl/kurs-mysql/", - "title": "Bazy Danych MYSQL" - }, - { - "url": "http://webmade.org/kursy-online/kurs-mysql.php", - "title": "Kurs MySQL" - } - ], - "subsections": [] - }, - { - "section": "Perl", - "entries": [ - { - "url": "http://zajacmarek.com/2014/10/kurs-perl-cz-1/", - "title": "Kurs Perl" - }, - { - "url": "cyberpunk.e-spin.pl/86,41,5/KOD/KURSY-PROGRAMOWANIA/Kurs-PERL", - "title": "Kurs PERL" - }, - { - "url": "https://pl.wikibooks.org/wiki/Perl", - "title": "Perl" - }, - { - "url": "https://www.w3big.com/pl/perl/default.html", - "title": "Samouczek Perl" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "http://phpkurs.pl", - "title": "Kurs PHP" - }, - { - "url": "http://cyberpunk.e-spin.pl/86,37,5/KOD/KURSY-PROGRAMOWANIA/Kurs-PHP-OOP", - "title": "Kurs PHP OOP" - }, - { - "url": "https://pl.wikibooks.org/wiki/PHP", - "title": "PHP" - }, - { - "url": "http://pl.phptherightway.com", - "title": "PHP: The Right Way" - } - ], - "subsections": [ - { - "section": "Symfony", - "entries": [ - { - "url": "https://symfony.com/doc/5.0/the-fast-track/pl/index.html", - "title": "Symfony 5: Szybki start" - } - ] - } - ] - }, - { - "section": "Prolog", - "entries": [ - { - "url": "http://www.pwlzo.pl", - "title": "Programowanie w logice z ograniczeniami: Łagodne wprowadzenie dla platformy ECLiPSe" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "http://www.python.rk.edu.pl", - "title": "Biblioteka Pythona" - }, - { - "url": "http://www.python.rk.edu.pl/w/p/podstawy/", - "title": "Podstawy Pythona" - }, - { - "url": "https://py4e.pl/book", - "title": "Python dla wszystkich: Odkrywanie danych z Python 3" - }, - { - "url": "https://pl.wikibooks.org/wiki/Zanurkuj_w_Pythonie", - "title": "Zanurkuj w Pythonie" - } - ], - "subsections": [ - { - "section": "Django", - "entries": [ - { - "url": "http://www.python.rk.edu.pl/w/p/djangoindex/", - "title": "Kurs Django" - }, - { - "url": "https://tutorial.djangogirls.org/pl/", - "title": "Kurs Django Girls" - } - ] - } - ] - }, - { - "section": "Ruby", - "entries": [ - { - "url": "https://pl.wikibooks.org/wiki/Ruby", - "title": "Ruby" - } - ], - "subsections": [] - }, - { - "section": "SQL", - "entries": [ - { - "url": "https://www.sqlpedia.pl/kurs-sql", - "title": "Kurs SQL" - }, - { - "url": "http://andrzejklusiewicz.blogspot.com/2010/11/kurs-oracle-plsql.html", - "title": "PL/SQL - podstawy (na stronie)" - }, - { - "url": "http://andrzejklusiewicz.blogspot.com/2010/11/kurs-oracle-sql.html", - "title": "SQL - podstawy (na stronie)" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "pt-BR", - "name": "Portuguese (Brazil)" - }, - "index": {}, - "sections": [ - { - "section": "Agnósticos", - "entries": [], - "subsections": [ - { - "section": "IDE / Editores", - "entries": [ - { - "url": "https://github.com/bylearn/VS-Code-Produtividade-Infinita", - "title": "Visual Studio Code: Produtividade infinita" - } - ] - }, - { - "section": "Vim", - "entries": [ - { - "url": "https://code.google.com/p/vimbook", - "title": "O Editor de Texto Vim" - }, - { - "url": "https://woliveiras.com.br/vimparanoobs/", - "title": "Vim para Noobs" - } - ] - }, - { - "section": "Programação", - "entries": [ - { - "url": "http://www.ferrari.pro.br/home/documents/FFerrari-CCechinel-Introducao-a-algoritmos.pdf", - "title": "Introdução a Algoritmos e Programação" - }, - { - "url": "https://dicasdeprogramacao.com.br/download/ebook-logica-de-programacao-para-iniciantes.pdf", - "title": "Lógica de Programação para iniciantes" - } - ] - }, - { - "section": "Sistemas Operacionais", - "entries": [ - { - "url": "https://www.guiafoca.org/#download", - "title": "Guia Foca Linux" - }, - { - "url": "http://wiki.inf.ufpr.br/maziero/lib/exe/fetch.php?media=socm:socm-livro.pdf", - "title": "Sistemas Operacionais: Conceitos e Mecanismos" - } - ] - } - ] - }, - { - "section": "Android", - "entries": [ - { - "url": "https://leanpub.com/google-android", - "title": "Google Android: Uma abordagem prática e didática" - } - ], - "subsections": [] - }, - { - "section": "Assembly", - "entries": [ - { - "url": "https://mentebinaria.gitbook.io/assembly-x86/", - "title": "Assembly x86" - } - ], - "subsections": [] - }, - { - "section": "C", - "entries": [ - { - "url": "http://www.ime.usp.br/~slago/slago-C.pdf", - "title": "Apostila Linguagem C" - }, - { - "url": "http://www2.dcc.ufmg.br/disciplinas/pc/source/introducao_c_renatocm_deeufmg.pdf", - "title": "Curso de Programação em C - UFMG" - }, - { - "url": "http://beej.us/guide/bgnet/translations/bgnet_ptbr.html", - "title": "Guia Beej's Para Programação em Rede - Usando Internet Sockets" - }, - { - "url": "https://github.com/ufpb-computacao/introducao-a-programacao-livro/releases", - "title": "Introdução a Programação" - }, - { - "url": "http://www.ime.usp.br/~elo/IntroducaoComputacao/", - "title": "Introdução em Computação - C" - }, - { - "url": "https://fiorix.files.wordpress.com/2014/04/o-fantc3a1stico-mundo-da-linguagem-c.pdf", - "title": "O Fantástico Mundo da Linguagem C" - }, - { - "url": "http://www.ime.usp.br/~pf/algoritmos/", - "title": "Projeto de Algoritmos em C" - } - ], - "subsections": [] - }, - { - "section": "C Sharp", - "entries": [ - { - "url": "https://www.caelum.com.br/apostila-csharp-orientacao-objetos/", - "title": "C# e Orientação a Objetos" - }, - { - "url": "http://www.ime.usp.br/~slago/slago-C++.pdf", - "title": "Apostila Linguagem C++" - }, - { - "url": "http://calhau.dca.fee.unicamp.br/wiki/images/0/01/EstruturasDados.pdf", - "title": "Estrutura de Dados" - }, - { - "url": "http://webserver2.tecgraf.puc-rio.br/~manuel/Download/Programacao%20Orientada%20a%20Objetos%20em%20C++.pdf", - "title": "Programação Orientada a Objetos em C++" - } - ], - "subsections": [] - }, - { - "section": "Docker", - "entries": [ - { - "url": "https://livro.descomplicandodocker.com.br", - "title": "Descomplicando o Docker" - }, - { - "url": "https://leanpub.com/dockerparadesenvolvedores", - "title": "Docker para desenvolvedores" - } - ], - "subsections": [] - }, - { - "section": "Engenharia de Software", - "entries": [], - "subsections": [ - { - "section": "Metodologias de Desenvolvimento de Software", - "entries": [ - { - "url": "http://www.infoq.com/br/minibooks/kanban-scrum-minibook", - "title": "Kanban e Scrum - obtendo o melhor de ambos" - }, - { - "url": "http://www.infoq.com/br/minibooks/priming-kanban-jesper-boeg", - "title": "Kanban em 10 Passos" - }, - { - "url": "http://www.infoq.com/br/minibooks/scrum-xp-from-the-trenches", - "title": "Scrum e XP direto das Trincheiras" - } - ] - }, - { - "section": "Arquitetura de Software", - "entries": [ - { - "url": "https://docs.microsoft.com/pt-br/dotnet/architecture/modern-web-apps-azure/", - "title": "ASP.NET Core architecture" - }, - { - "url": "https://docs.microsoft.com/pt-br/dotnet/architecture/microservices/", - "title": "Microservices architecture" - }, - { - "url": "https://docs.microsoft.com/pt-br/dotnet/architecture/modernize-with-azure-containers/", - "title": "Modernizing existing .NET apps" - } - ] - }, - { - "section": "Outros", - "entries": [ - { - "url": "https://ci.mrprompt.com.br", - "title": "CI - Integração Contínua Sem Desculpa" - }, - { - "url": "https://leanpub.com/deployemprodparadevs", - "title": "Deploy em produção para desenvolvedores" - }, - { - "url": "https://engsoftmoderna.info", - "title": "Engenharia de Software Moderna" - }, - { - "url": "https://leanpub.com/primeiros-passos-com-padroes-de-projeto/", - "title": "Primeiros passos com Padrões de Projeto" - } - ] - } - ] - }, - { - "section": "Fundamentos Matemáticos Computacionais", - "entries": [ - { - "url": "https://www.tsouanas.org/fmcbook/", - "title": "Matemática Fundacional para Computação - Em progresso" - } - ], - "subsections": [] - }, - { - "section": "Git", - "entries": [ - { - "url": "http://rogerdudler.github.io/git-guide/index.pt_BR.html", - "title": "Git - guia prático" - }, - { - "url": "http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/pt_br/", - "title": "Git Magic" - }, - { - "url": "https://github.com/ltiaunesp/Git-Minicurso", - "title": "Minicurso - Controle de Versão usando o Git" - }, - { - "url": "http://git-scm.com/book/pt-br/", - "title": "Pro Git" - } - ], - "subsections": [] - }, - { - "section": "GO", - "entries": [ - { - "url": "https://larien.gitbook.io/aprenda-go-com-testes", - "title": "Aprenda Go com Testes" - }, - { - "url": "https://github.com/go-br/estudos", - "title": "Go - hands on" - }, - { - "url": "http://goporexemplo.golangbr.org", - "title": "Go por Exemplo" - } - ], - "subsections": [] - }, - { - "section": "Haskell", - "entries": [ - { - "url": "https://github.com/taylorrf/learnhaskell", - "title": "Aprender o Haskell será um grande bem para você (tradução em andamento)" - } - ], - "subsections": [] - }, - { - "section": "HTML / CSS", - "entries": [ - { - "url": "https://www.telecom.uff.br/pet/petws/downloads/apostilas/HTML.pdf", - "title": "Apostila de HTML" - }, - { - "url": "https://www.caelum.com.br/apostila-html-css-javascript/", - "title": "Desenvolvimento Web com HTML, CSS e JavaScript" - }, - { - "url": "http://diveintohtml5.com.br", - "title": "Dive Into HTML5" - }, - { - "url": "http://pt-br.learnlayout.com", - "title": "Estruturando o HTML com CSS" - }, - { - "url": "https://leanpub.com/warau", - "title": "Websites Atendendo a Requisitos de Acessibilidade e Usabilidade" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "https://www.gitbook.com/book/rafaelsakurai/desenvolvimento-distribuido", - "title": "Desenvolvimento Distribuído com JavaEE" - }, - { - "url": "https://leanpub.com/imergindo-jvm", - "title": "Imergindo na JVM" - }, - { - "url": "http://ccsl.ime.usp.br/files/publications/files/2008/intro-java-cc.pdf", - "title": "Introdução a Ciência da Computação com Java" - }, - { - "url": "http://www.caelum.com.br/apostila-java-orientacao-objetos/", - "title": "Java e Orientação a Objetos" - }, - { - "url": "http://www.caelum.com.br/apostila-java-web/", - "title": "Java para Desenvolvimento Web" - }, - { - "url": "https://s3.amazonaws.com/algaworks-assets/ebooks/algaworks-livro-programacao-para-iniciantes-v1.1.pdf", - "title": "Programação para iniciantes" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "https://github.com/braziljs/eloquente-javascript", - "title": "Eloquente JavaScript" - }, - { - "url": "http://stack.desenvolvedor.expert", - "title": "EXPERT JS Stack" - }, - { - "url": "https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Guide", - "title": "Guia JavaScript" - }, - { - "url": "https://leanpub.com/guiarapidofirefoxos", - "title": "Guia Rápido de Desenvolvimento para Firefox OS" - }, - { - "url": "http://jstherightway.org/pt-br/", - "title": "JS: A forma certa" - }, - { - "url": "https://github.com/cezaraugusto/You-Dont-Know-JS/blob/portuguese-translation/async%20&%20performance/README.md", - "title": "You Don't Know JS: Async & Performance" - }, - { - "url": "https://github.com/cezaraugusto/You-Dont-Know-JS/blob/portuguese-translation/es6%20&%20beyond/README.md", - "title": "You Don't Know JS: ES6 & Além" - }, - { - "url": "https://github.com/cezaraugusto/You-Dont-Know-JS/blob/portuguese-translation/scope%20&%20closures/README.md", - "title": "You Don't Know JS: Escopos & Closures" - }, - { - "url": "https://github.com/cezaraugusto/You-Dont-Know-JS/blob/portuguese-translation/up%20&%20going/README.md", - "title": "You Don't Know JS: Iniciando" - }, - { - "url": "https://github.com/cezaraugusto/You-Dont-Know-JS/blob/portuguese-translation/this%20&%20object%20prototypes/README.md", - "title": "You Don't Know JS: this & Prototipagem de Objetos" - }, - { - "url": "https://github.com/cezaraugusto/You-Dont-Know-JS/blob/portuguese-translation/types%20&%20grammar/README.md", - "title": "You Don't Know JS: Tipos & Gramática" - } - ], - "subsections": [ - { - "section": "AngularJS", - "entries": [ - { - "url": "http://tableless.com.br/criando-uma-aplicacao-simples-com-angularjs/", - "title": "Criando uma aplicação simples com AngularJS" - }, - { - "url": "http://tableless.com.br/criando-uma-aplicacao-single-page-com-angularjs/", - "title": "Criando uma aplicação Single Page com AngularJS" - }, - { - "url": "http://tableless.com.br/diretivas-angularjs-abas/", - "title": "Entendendo as diretivas e fazendo abas com AngularJS" - } - ] - }, - { - "section": "Backbone.js", - "entries": [ - { - "url": "http://blog.fernandomantoan.com/serie-backbone-js-parte-1-introducao/", - "title": "Série Backbone.js (blog.fernandomantoan.com)" - }, - { - "url": "http://www.devfuria.com.br/javascript/backbone/", - "title": "Série Backbone.js (devfuria.com.br)" - } - ] - }, - { - "section": "Ember.js", - "entries": [ - { - "url": "http://fabriciotav.org/blog/2013/02/20/conceitos-basicos-do-emberjs.html", - "title": "Conceitos basicos do Ember.js" - }, - { - "url": "http://fabriciotav.org/blog/2013/02/20/handlebars-helpers-com-emberjs.html", - "title": "Handlebars Helpers com Ember.js" - } - ] - }, - { - "section": "Express.js", - "entries": [ - { - "url": "http://nodebr.com/primeiros-passos-com-express-em-node-js/", - "title": "Primeiros passos com Express em Node.js" - } - ] - }, - { - "section": "Grunt", - "entries": [ - { - "url": "http://tableless.com.br/grunt-voce-deveria-estar-usando/", - "title": "Grunt - Voce deveria estar usando" - }, - { - "url": "http://woliveiras.com.br/posts/grunt-automatizando-tarefas/", - "title": "Grunt | Automatizando tarefas" - } - ] - }, - { - "section": "Gulp", - "entries": [ - { - "url": "http://tableless.com.br/gulp-o-novo-automatizador/", - "title": "Gulp - O novo automatizador" - } - ] - }, - { - "section": "jQuery", - "entries": [ - { - "url": "https://tableless.com.br/categories/jquery/", - "title": "Artigos sobre jQuery" - } - ] - }, - { - "section": "Knockout.js", - "entries": [ - { - "url": "https://github.com/alexhiroshi/knockoutjs-brasil", - "title": "Documentação" - } - ] - }, - { - "section": "Meteor", - "entries": [ - { - "url": "http://udgwebdev.com/meteor/", - "title": "Tudo sobre Meteor" - } - ] - }, - { - "section": "Node.js", - "entries": [ - { - "url": "https://github.com/caio-ribeiro-pereira/livro-nodejs", - "title": "Aplicações web real-time com Node.js" - }, - { - "url": "https://leanpub.com/construindo-apis-testaveis-com-nodejs/", - "title": "Construindo APIs testáveis com Node.js" - }, - { - "url": "http://udgwebdev.com/nodejs/", - "title": "Node.js para Leigos" - }, - { - "url": "http://tableless.com.br/raspagem-de-dados-com-node-js/", - "title": "Raspagem de dados com Node.js" - } - ] - }, - { - "section": "React", - "entries": [ - { - "url": "http://tableless.com.br/react-javascript-reativo/", - "title": "React: JavaScript reativo" - }, - { - "url": "https://leanpub.com/the-road-to-learn-react-portuguese", - "title": "The Road to Learn React" - } - ] - }, - { - "section": "Vue.js", - "entries": [ - { - "url": "https://web.archive.org/web/20180613054310/http://www.vedovelli.com.br/frontend/adicionar-bootstrap-e-font-awesome-no-projeto-criado-com-o-vue-cli/", - "title": "Adicionar Bootstrap e Font-awesome no projeto criado com o Vue Cli" - }, - { - "url": "https://br.vuejs.org/v2/guide/", - "title": "Documentação pt-BR" - }, - { - "url": "http://www.vuejs-brasil.com.br", - "title": "Vue.js Brasil - Artigos em Português sobre Vue.js" - }, - { - "url": "https://leanpub.com/livro-vue", - "title": "Vue.js na prática" - }, - { - "url": "http://web.archive.org/web/20160331162636/http://carlosgartner.com.br/vuejs-filtro-para-criar-urls-amigaveis/", - "title": "VueJS: Filtro para criar URL’s amigáveis" - } - ] - } - ] - }, - { - "section": "Kubernetes", - "entries": [ - { - "url": "https://livro.descomplicandokubernetes.com.br", - "title": "Descomplicando Kubernetes" - }, - { - "url": "https://docs.microsoft.com/pt-br/learn/paths/intro-to-kubernetes-on-azure/", - "title": "Introdução ao Kubernetes no Azure" - } - ], - "subsections": [] - }, - { - "section": "LaTeX", - "entries": [ - { - "url": "http://www.if.ufrj.br/~sandra/MetComp/doc/latex.pdf", - "title": "Breve Introdução ao LaTeX2e" - }, - { - "url": "http://ctan.org/pkg/lshort-portuguese-br", - "title": "Introdução ao LaTeX 2 - Ou LaTeX 2 em 105 minutos" - }, - { - "url": "https://www.ime.usp.br/~tassio/arquivo/latex/apostila.pdf", - "title": "Latexação" - } - ], - "subsections": [] - }, - { - "section": "LISP", - "entries": [ - { - "url": "http://www.dca.fee.unicamp.br/courses/EA072/lisp9596/Lisp9596.html", - "title": "Introdução a linguagem LISP" - } - ], - "subsections": [] - }, - { - "section": "Lua", - "entries": [ - { - "url": "http://www.lua.org/manual/5.2/pt/", - "title": "Manual de Referência de Lua 5.2" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "http://asemanaphp.com.br", - "title": "A semana PHP" - }, - { - "url": "http://bit.ly/ebook-silex", - "title": "Api REST Com Silex no GAE" - }, - { - "url": "http://book.cakephp.org/2.0/pt/index.html", - "title": "CakePHP" - }, - { - "url": "http://www.etelg.com.br/paginaete/downloads/informatica/php.pdf", - "title": "Curso Linguagem PHP 2000" - }, - { - "url": "http://br.phptherightway.com", - "title": "PHP Do jeito certo" - }, - { - "url": "https://phpunit.de/manual/current/pt_br/index.html", - "title": "PHPUnit" - } - ], - "subsections": [ - { - "section": "Symfony", - "entries": [ - { - "url": "https://symfony.com/doc/5.0/the-fast-track/pt_BR/index.html", - "title": "Symfony 5: A Trilha Rápida" - } - ] - } - ] - }, - { - "section": "Python", - "entries": [ - { - "url": "https://aprendendo-computacao-com-python.readthedocs.org/en/latest/index.html", - "title": "Aprenda computação com Python" - }, - { - "url": "http://felipegalvao.com.br/livros", - "title": "Aprenda Python Básico - Rápido e Fácil de entender" - }, - { - "url": "https://osantana.me/curso-de-python-e-django", - "title": "Curso de Python e Django" - }, - { - "url": "http://turing.com.br/material/acpython/mod3/django/index.html", - "title": "Django 101 - Introdução ao Django" - }, - { - "url": "http://professor.luzerna.ifc.edu.br/ricardo-antonello/wp-content/uploads/sites/8/2017/02/Livro-Introdu%C3%A7%C3%A3o-a-Vis%C3%A3o-Computacional-com-Python-e-OpenCV-3.pdf", - "title": "Introdução a Visão Computacional com Python e OpenCV" - }, - { - "url": "https://python-guide-pt-br.readthedocs.io/pt_BR/latest/", - "title": "O Guia do Mochileiro para Python!" - }, - { - "url": "http://turing.com.br/pydoc/2.7/tutorial/", - "title": "O tutorial de Python" - }, - { - "url": "https://penseallen.github.io/PensePython2e", - "title": "Pense em Python" - }, - { - "url": "https://www.caelum.com.br/apostila-python-orientacao-a-objetos/", - "title": "Python e Orientação a Objetos" - }, - { - "url": "https://dunossauro.github.io/python-funcional/", - "title": "Python Funcional" - }, - { - "url": "https://docs.google.com/viewer?a=v&pid=sites&srcid=ZGVmYXVsdGRvbWFpbnxyYWZhZWx1ZnR8Z3g6NTJlM2UzYzY1ZTgzMDEwMw", - "title": "Python Orientado a Objetos" - }, - { - "url": "https://ark4n.files.wordpress.com/2010/01/python_para_desenvolvedores_2ed.pdf", - "title": "Python para Desenvolvedores" - }, - { - "url": "http://tutorial.djangogirls.org/pt/", - "title": "Tutorial Django Girls" - } - ], - "subsections": [ - { - "section": "Django", - "entries": [ - { - "url": "https://pythonacademy.com.br/ebooks/desenvolvimento-web-com-python-e-django", - "title": "Desenvolvimento Web com Python e Django" - }, - { - "url": "https://docs.djangoproject.com/pt-br", - "title": "Documentação do Django" - }, - { - "url": "https://tutorial.djangogirls.org/pt/", - "title": "Tutorial Django Girls" - } - ] - } - ] - }, - { - "section": "R", - "entries": [ - { - "url": "http://www.uesc.br/editora/livrosdigitais2/analiseexploratoria_r.pdf", - "title": "Análise Exploratória de Dados usando o R" - }, - { - "url": "https://www.ibpad.com.br/o-que-fazemos/publicacoes/introducao-ciencia-de-dados-com-r/", - "title": "Ciência de Dados com R" - }, - { - "url": "https://homepages.dcc.ufmg.br/~assuncao/EstatCC/FECD.pdf", - "title": "Fundamentos Estatísticos de Ciência dos Dados" - }, - { - "url": "http://www.uesc.br/editora/livrosdigitais_20140513/r_cientistas.pdf", - "title": "R para cientistas sociais" - } - ], - "subsections": [] - }, - { - "section": "RegEx", - "entries": [ - { - "url": "http://aurelio.net/regex/guia/", - "title": "Expressões Regulares - Guia de Consulta Rápida" - } - ], - "subsections": [] - }, - { - "section": "Ruby", - "entries": [ - { - "url": "http://www.jmonteiro.com/aprendaaprogramar/", - "title": "Aprenda a Programar" - }, - { - "url": "https://leanpub.com/conhecendo-ruby/read", - "title": "Conhecendo Ruby - Eustaquio Rangel" - }, - { - "url": "http://why.carlosbrando.com", - "title": "O (comovente) guia de Ruby do Why" - } - ], - "subsections": [] - }, - { - "section": "Shell", - "entries": [ - { - "url": "http://aurelio.net/shell/apostila-introducao-shell.pdf", - "title": "Introdução ao Shell Script" - }, - { - "url": "https://www.telecom.uff.br/pet/petws/downloads/apostilas/LINUX.pdf", - "title": "Pequena introdução ao linux e ao Shell Script" - }, - { - "url": "http://metamorphoselinux.net/Shell_Script_do_Zero.pdf", - "title": "Shell Script do Zero" - } - ], - "subsections": [] - }, - { - "section": "TypeScript", - "entries": [ - { - "url": "https://www.maiconsilva.com/starting-typescript/", - "title": "Iniciando no TypeScript - Guia prático para os primeiros passos da linguagem" - }, - { - "url": "https://www.typescriptlang.org/pt/docs/", - "title": "TypeScript Documentação" - }, - { - "url": "https://oieduardorabelo.medium.com/typescript-o-guia-definitivo-1a63b04259cc", - "title": "TypeScript: O guia definitivo" - } - ], - "subsections": [ - { - "section": "Angular", - "entries": [ - { - "url": "http://www.macoratti.net/17/02/net_ang2vsc1.htm", - "title": "Angular 2 - Criando sua primeira aplicação no Visual Studio Code" - }, - { - "url": "https://www.ibm.com/developerworks/br/library/implemente-aplicativo-pagina-unica-angular-2/", - "title": "Implemente um aplicativo de página única com o Angular 2" - } - ] - } - ] - } - ] - }, - { - "language": { - "code": "pt-PT", - "name": "Portuguese (Portugal)" - }, - "index": {}, - "sections": [ - { - "section": "C/C++", - "entries": [ - { - "url": "http://www.dei.isep.ipp.pt/~pbsousa/aulas/ano_0/2006_07/c/Sebenta-cpp-03-2006.pdf", - "title": "Apontamentos de Programação em C/C++" - }, - { - "url": "https://henriquedias.com/downloads/aprenda_a_programar.pdf", - "title": "Aprenda a Programar - Uma Breve Introdução (2015)" - } - ], - "subsections": [] - }, - { - "section": "CSS", - "entries": [ - { - "url": "http://pt-pt.learnlayout.com", - "title": "Aprenda o layout de CSS" - } - ], - "subsections": [] - }, - { - "section": "Haskell", - "entries": [ - { - "url": "http://www4.di.uminho.pt/~mjf/pub/PF-Haskell.pdf", - "title": "Programação Funcional CC" - } - ], - "subsections": [] - }, - { - "section": "LaTeX", - "entries": [ - { - "url": "http://alfarrabio.di.uminho.pt/~albie/lshort/pt-lshort.pdf", - "title": "Uma não tão pequena introdução ao LaTeX" - }, - { - "url": "http://www.ctan.org/tex-archive/info/lshort/portuguese", - "title": "Uma não tão pequena introdução ao LATEX 2ε" - } - ], - "subsections": [] - }, - { - "section": "Prolog", - "entries": [ - { - "url": "http://www4.di.uminho.pt/~mjf/pub/LC-Prolog.pdf", - "title": "Lógica Computacional (com Prolog)" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "http://do1.dr-chuck.com/pythonlearn/PT_br/pythonlearn.pdf", - "title": "Python Para Todos: Explorando Dados com Python 3" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "ro", - "name": "Moldovan, Moldavian, Romanian" - }, - "index": {}, - "sections": [ - { - "section": "Ajax", - "entries": [ - { - "url": "http://etutoriale.ro/articles/1483/1/Tutorial-Ajax/", - "title": "Ajax" - } - ], - "subsections": [] - }, - { - "section": "HTML", - "entries": [ - { - "url": "http://tutorialehtml.com/ro/introducere-in-html/", - "title": "HTML" - } - ], - "subsections": [] - }, - { - "section": "MySQL", - "entries": [ - { - "url": "http://profs.info.uaic.ro/~busaco/teach/courses/net/docs/mysql-ro.pdf", - "title": "MySQL" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "http://php.punctsivirgula.ro", - "title": "PHP" - } - ], - "subsections": [ - { - "section": "Symfony", - "entries": [ - { - "url": "https://symfony.com/doc/current/the-fast-track/ro/index.html", - "title": "Symfony 5: Curs rapid" - } - ] - } - ] - }, - { - "section": "Scratch", - "entries": [ - { - "url": "http://scratched.gse.harvard.edu/resources/informatica-creativa-0", - "title": "Informatica Creativa" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "ru", - "name": "Russian" - }, - "index": {}, - "sections": [ - { - "section": "0 - Language Agnostic", - "entries": [ - { - "url": "https://younglinux.info/blender.php", - "title": "3D-моделирование в Blender" - }, - { - "url": "https://mkurnosov.net/docs/dsa-book-2020.pdf", - "title": "Введение в методы машинной обработки данных" - }, - { - "url": "http://padabum.com/x.php?id=35055", - "title": "Занимательное программирование. Самоучитель" - }, - { - "url": "https://vseloved.github.io/pdf/os-ru.pdf", - "title": "Операционные системы" - }, - { - "url": "http://www.inp.nsk.su/~baldin/Parallel/index.html", - "title": "Параллельные технологии" - }, - { - "url": "http://stolyarov.info/books/programming_intro", - "title": "Программирование: введение в профессию" - }, - { - "url": "http://proselyte.net/tutorials/http-tutorial", - "title": "Руководство по HTTP" - }, - { - "url": "http://proselyte.net/tutorials/soap-tutorial", - "title": "Руководство по SOAP" - }, - { - "url": "http://newstar.rinet.ru/~goga/sicp/sicp-ru-screen.pdf", - "title": "Структура и интерпретация компьютерных программ" - }, - { - "url": "http://svyatoslav.biz/software_testing_book/", - "title": "Тестирование программного обеспечения. Базовый курс." - }, - { - "url": "http://discopal.ispras.ru/Ru.book-advanced-algorithms.htm", - "title": "Эффективные алгоритмы и сложность вычислений" - }, - { - "url": "http://e-maxx.ru/upload/e-maxx_algo.pdf", - "title": "E-maxx.ru: Сборник алгоритмов с примерами на C++" - }, - { - "url": "http://scrum.org.ua/wp-content/uploads/2008/12/scrum_xp-from-the-trenches-rus-final.pdf", - "title": "Scrum и XP: заметки с передовой" - } - ], - "subsections": [ - { - "section": "Облачные вычисления", - "entries": [ - { - "url": "http://www.microsoft.com/ru-ru/download/details.aspx?id=29263", - "title": "Разработка мультитенантных приложений для облака, издание 3-е" - } - ] - }, - { - "section": "Парадигмы программирования", - "entries": [ - { - "url": "http://funprog-ru.github.io", - "title": "Введение в функциональное программирование" - }, - { - "url": "http://fprog.ru", - "title": "Практика функционального программирования" - } - ] - }, - { - "section": "Работа с сетью", - "entries": [ - { - "url": "http://networksciencebook.com", - "title": "Наука о Сетях" - }, - { - "url": "https://github.com/vlet/http2-explained/blob/master/http2.ru.pdf?raw=true", - "title": "Разъяснение HTTP2" - }, - { - "url": "https://sites.google.com/site/yartikhiy/home/ipv6book", - "title": "IPv6 для знатоков IPv4" - } - ] - }, - { - "section": "Управление конфигурациями", - "entries": [ - { - "url": "https://github.com/freetonik/ansible-tuto-rus", - "title": "Пособие по Ansible" - } - ] - }, - { - "section": "Open Source Ecosystem", - "entries": [ - { - "url": "http://rus-linux.net/MyLDP/BOOKS/Architecture-Open-Source-Applications/index.html", - "title": "Архитектура приложений с открытым исходным кодом" - } - ] - } - ] - }, - { - "section": "Assembly", - "entries": [ - { - "url": "https://ru.wikibooks.org/wiki/Ассемблер_в_Linux_для_программистов_C", - "title": "Ассемблер в Linux для программистов C" - }, - { - "url": "http://av-assembler.ru/asm/afd/assembler-for-dummy.htm", - "title": "Ассемблер для чайников" - }, - { - "url": "http://www.mcst.ru/doc/book_121130.pdf", - "title": "Микропроцессоры и вычислительные комплексы семейства \"Эльбрус\"" - }, - { - "url": "http://www.stolyarov.info/books/pdf/nasm_unix.pdf", - "title": "Программирование на языке ассемблера NASM для ОС Unix" - } - ], - "subsections": [] - }, - { - "section": "Bash", - "entries": [ - { - "url": "http://rus-linux.net/MyLDP/BOOKS/abs-guide/flat/abs-book.html", - "title": "Advanced Bash-Scripting Guide" - } - ], - "subsections": [] - }, - { - "section": "C", - "entries": [ - { - "url": "https://yurichev.com/writings/C-notes-ru.pdf", - "title": "Заметки о языке программирования Си/Си++" - }, - { - "url": "https://paintingvalley.com/ru-bggdb", - "title": "Краткое руководство Beej к GDB" - }, - { - "url": "https://younglinux.info/c", - "title": "Особенности языка C. Учебное пособие" - }, - { - "url": "http://zed.karelia.ru/mmedia/docs/nets.pdf", - "title": "Разработка сетевых приложений" - }, - { - "url": "https://metanit.com/cpp/c", - "title": "Руководство по языку программирования C" - }, - { - "url": "http://beej.us/guide/bgnet/translations/bgnet_A4_rus.pdf", - "title": "Сетевое программирование от Биджа - Использование Интернет Сокетов" - }, - { - "url": "http://ermak.cs.nstu.ru/cprog/html", - "title": "Си/Си++. От дилетанта до профессионала" - }, - { - "url": "https://ru.wikibooks.org/wiki/Язык_Си_в_примерах", - "title": "Язык Си в примерах" - } - ], - "subsections": [] - }, - { - "section": "C Sharp", - "entries": [ - { - "url": "https://metanit.com/sharp/patterns", - "title": "Паттерны проектирования в C# и .NET" - }, - { - "url": "https://metanit.com/sharp/tutorial", - "title": "Полное руководство по языку программирования С# 7.0 и платформе .NET 4.7" - }, - { - "url": "https://metanit.com/sharp/net", - "title": "Сетевое программирование в С# и .NET" - }, - { - "url": "http://itvdn.com/ru/patterns", - "title": "Design Patterns via C#" - }, - { - "url": "http://lib.ru/CPPHB/cpptut.txt_with-big-pictures.html", - "title": "Введение в язык программирования С++" - }, - { - "url": "http://stolyarov.info/books/cppintro", - "title": "Введение в язык Си++" - }, - { - "url": "http://ru.wikibooks.org/wiki/Си-плюс-плюс", - "title": "Вводный курс по объектно-ориентированному программированию на языке Си++" - }, - { - "url": "https://metanit.com/cpp/tutorial", - "title": "Руководство по языку программирования C++" - }, - { - "url": "http://lib.ru/CPPHB/cppref.txt_with-big-pictures.html", - "title": "Справочное руководство по C++" - }, - { - "url": "https://code.google.com/archive/p/gl33lessons/", - "title": "Уроки по OpenGL 3" - } - ], - "subsections": [] - }, - { - "section": "Clojure", - "entries": [ - { - "url": "http://alexott.net/ru/clojure/clojure-intro", - "title": "Введение в Clojure" - } - ], - "subsections": [] - }, - { - "section": "CoffeeScript", - "entries": [ - { - "url": "http://cidocs.ru/coffeescript", - "title": "Документация CoffeeScript" - }, - { - "url": "https://github.com/andrew--r/the-little-book-on-coffeescript", - "title": "The Little Book on CoffeeScript" - } - ], - "subsections": [] - }, - { - "section": "Elasticsearch", - "entries": [ - { - "url": "https://codedzen.ru/category/uroki/elasticsearch", - "title": "Уроки по Elasticsearch" - } - ], - "subsections": [] - }, - { - "section": "Elixir", - "entries": [ - { - "url": "http://elixirschool.com/ru", - "title": "Уроки программирования на языке Elixir" - } - ], - "subsections": [] - }, - { - "section": "Erlang", - "entries": [ - { - "url": "https://github.com/dyp2000/Russian-Armstrong-Erlang", - "title": "Программирование на Эрланге" - } - ], - "subsections": [] - }, - { - "section": "Git", - "entries": [ - { - "url": "http://www-cs-students.stanford.edu/~blynn/gitmagic/intl/ru", - "title": "Волшебство Git" - }, - { - "url": "http://rogerdudler.github.io/git-guide/index.ru.html", - "title": "Простое руководство по работе с Git" - }, - { - "url": "http://proselyte.net/tutorials/git", - "title": "Руководство по Git" - }, - { - "url": "http://git-scm.com/book/ru/v2", - "title": "Pro Git" - } - ], - "subsections": [] - }, - { - "section": "Go", - "entries": [ - { - "url": "http://golang-book.ru", - "title": "Введение в программирование на Go" - }, - { - "url": "https://metanit.com/go/tutorial", - "title": "Руководство по языку Go" - }, - { - "url": "https://github.com/Konstantin8105/Effective_Go_RU", - "title": "Эффективный Go" - }, - { - "url": "https://gobyexample.ru", - "title": "Go в примерах" - }, - { - "url": "https://sefus.ru/little-go-book", - "title": "The Little Go Book (перевод)" - } - ], - "subsections": [] - }, - { - "section": "Haskell", - "entries": [ - { - "url": "https://www.ohaskell.guide", - "title": "О Haskell по-человечески" - }, - { - "url": "http://anton-k.github.io/ru-haskell-book/book/home.html", - "title": "Учебник по Haskell" - }, - { - "url": "http://www.haskell.ru", - "title": "Язык и библиотеки Haskell 98" - }, - { - "url": "https://github.com/Number571/Haskell/tree/master/Book", - "title": "Язык программирования Haskell: Учимся быть ленивыми" - }, - { - "url": "https://bitbucket.org/darkus/yesod/downloads", - "title": "Developing Web Applications with Haskell and Yesod" - }, - { - "url": "https://wiki.nsunc.com/_export/html/haskell", - "title": "Haskell: введение в функциональное программирование" - } - ], - "subsections": [] - }, - { - "section": "HTML / CSS", - "entries": [ - { - "url": "https://metanit.com/web/html5", - "title": "Руководство по HTML5 и CSS3" - }, - { - "url": "http://htmlbook.ru/html", - "title": "Справочник по HTML" - }, - { - "url": "http://htmlbook.ru/css", - "title": "Справочник CSS" - }, - { - "url": "https://html5book.ru/css-css3", - "title": "CSS и CSS3" - }, - { - "url": "https://html5book.ru/html-html5", - "title": "HTML и HTML5" - } - ], - "subsections": [ - { - "section": "Bootstrap", - "entries": [ - { - "url": "http://getbootstrap.ru/docs/v4-alpha", - "title": "Bootstrap 4" - } - ] - } - ] - }, - { - "section": "Java", - "entries": [ - { - "url": "https://metanit.com/java/tutorial", - "title": "Руководство по языку программирования Java" - }, - { - "url": "http://proselyte.net/tutorials/java-core", - "title": "Руководство по Java Core" - }, - { - "url": "http://proselyte.net/tutorials/servlets", - "title": "Руководство по Servlets" - }, - { - "url": "https://vertex-academy.com/tutorials/ru/samouchitel-po-java-s-nulya/", - "title": "Самоучитель по Java с нуля" - }, - { - "url": "http://javastudy.ru/interview/list-of-question-java-interview", - "title": "Собеседование по Java Core" - }, - { - "url": "http://javastudy.ru/interview/list-of-questions-javaee-interview", - "title": "Собеседование по Java EE" - }, - { - "url": "https://vertex-academy.com/tutorials/ru/java-8-uchebnik/", - "title": "Учебник по Java 8" - }, - { - "url": "https://vertex-academy.com/tutorials/ru/java-9-uchebnik-teoriya-primery/", - "title": "Учебник по Java 9" - }, - { - "url": "https://urvanov.ru/2016/03/23/%D1%83%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA-java-8", - "title": "Учебник Java 8" - }, - { - "url": "https://easyjava.ru/java/yazyk-java/", - "title": "Язык Java 8" - }, - { - "url": "http://www.fandroid.info/tutorial-po-osnovam-yazyka-programmirovaniya-java-dlya-nachinayushhih/", - "title": "Java Basics" - }, - { - "url": "http://myflex.org/books/java4kids/java4kids.htm", - "title": "Java Programming for Kids, Parents and Grandparents" - } - ], - "subsections": [ - { - "section": "Android", - "entries": [ - { - "url": "https://metanit.com/java/android", - "title": "Программирование под Android" - }, - { - "url": "http://startandroid.ru/ru/uroki/vse-uroki-spiskom.html", - "title": "Уроки по Android" - } - ] - }, - { - "section": "EasyMock", - "entries": [ - { - "url": "https://easyjava.ru/testirovanie/easymock/", - "title": "EasyMock 3" - } - ] - }, - { - "section": "Hibernate", - "entries": [ - { - "url": "http://proselyte.net/tutorials/hibernate-tutorial", - "title": "Руководство по Hibernate" - }, - { - "url": "https://easyjava.ru/data/hibernate/", - "title": "Hibernate" - } - ] - }, - { - "section": "JDBC", - "entries": [ - { - "url": "http://proselyte.net/tutorials/jdbc", - "title": "Руководство по JDBC" - }, - { - "url": "https://easyjava.ru/data/jdbc/", - "title": "JDBC и Spring JDBC" - } - ] - }, - { - "section": "JUnit", - "entries": [ - { - "url": "http://proselyte.net/tutorials/junit", - "title": "Руководство по JUnit" - }, - { - "url": "https://easyjava.ru/testirovanie/junit-2/", - "title": "JUnit 4" - } - ] - }, - { - "section": "Maven", - "entries": [ - { - "url": "http://proselyte.net/tutorials/maven", - "title": "Руководство по Maven" - }, - { - "url": "https://easyjava.ru/ekosistema/sredstva-sborki/apache-maven/", - "title": "Apache Maven" - } - ] - }, - { - "section": "Spring", - "entries": [ - { - "url": "http://proselyte.net/tutorials/spring-tutorial-full-version", - "title": "Руководство по Spring" - }, - { - "url": "https://easyjava.ru/spring/", - "title": "Spring Framework" - } - ] - } - ] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "https://github.com/azat-io/you-dont-know-js-ru", - "title": "Вы не знаете JS (серия книг)" - }, - { - "url": "https://github.com/karmazzin/eloquentjavascript_ru", - "title": "Выразительный JavaScript" - }, - { - "url": "https://bxnotes.ru/conspect/kurs-sovremennogo-javascript/", - "title": "Курс современного JavaScript" - }, - { - "url": "https://metanit.com/web/webgl", - "title": "Онлайн-книга по WebGL" - }, - { - "url": "http://largescalejs.ru", - "title": "Паттерны для масштабируемых JavaScript-приложений" - }, - { - "url": "https://metanit.com/web/javascript", - "title": "Руководство по JavaScript" - }, - { - "url": "http://learn.javascript.ru", - "title": "Современный учебник JavaScript" - }, - { - "url": "https://html5book.ru/javascript-jquery", - "title": "JavaScript и jQuery" - }, - { - "url": "http://bonsaiden.github.io/JavaScript-Garden/ru", - "title": "JavaScript Garden" - } - ], - "subsections": [ - { - "section": "AngularJS", - "entries": [ - { - "url": "https://metanit.com/web/angular", - "title": "Онлайн-руководство по AngularJS" - }, - { - "url": "http://angular-doc.herokuapp.com", - "title": "Перевод документации" - } - ] - }, - { - "section": "jQuery", - "entries": [ - { - "url": "https://metanit.com/web/jquery", - "title": "Онлайн-книга \"Изучаем jQuery\"" - }, - { - "url": "https://jquery-docs.ru", - "title": "Русская документация по API jQuery" - }, - { - "url": "http://anton.shevchuk.name/jquery-book", - "title": "jQuery для начинающих" - } - ] - }, - { - "section": "Node.js", - "entries": [ - { - "url": "https://metanit.com/web/nodejs", - "title": "Руководство по Node.js" - }, - { - "url": "http://nodebeginner.ru", - "title": "Node.js для начинающих" - } - ] - }, - { - "section": "Nuxt.js", - "entries": [ - { - "url": "https://ru.nuxtjs.org", - "title": "Перевод документации" - } - ] - }, - { - "section": "React", - "entries": [ - { - "url": "https://learn-reactjs.ru/home", - "title": "Перевод документации" - }, - { - "url": "https://leanpub.com/the-road-to-learn-react-russian", - "title": "Путь к изучению React" - }, - { - "url": "https://metanit.com/web/react", - "title": "Руководство по React" - }, - { - "url": "https://codedzen.ru/category/uroki/react", - "title": "Уроки по React" - }, - { - "url": "http://old.code.mu/books/advanced/javascript/react/", - "title": "Учебник по фреймворку React" - } - ] - }, - { - "section": "Vue.js", - "entries": [ - { - "url": "https://ru.vuejs.org", - "title": "Перевод документации" - }, - { - "url": "https://metanit.com/web/vuejs", - "title": "Руководство по Vue.js" - } - ] - } - ] - }, - { - "section": "Kotlin", - "entries": [ - { - "url": "http://kotlinlang.ru", - "title": "Руководство по языку Kotlin" - }, - { - "url": "https://metanit.com/java/kotlin", - "title": "Руководство по языку Kotlin" - } - ], - "subsections": [] - }, - { - "section": "LaTeX", - "entries": [ - { - "url": "http://www.stolyarov.info/books/pdf/latex3days.pdf", - "title": "LaTeX за три дня" - }, - { - "url": "http://www.inp.nsk.su/~baldin/LaTeX/index.html", - "title": "LaTeX, GNU/Linux и русский стиль (сборник статей)" - } - ], - "subsections": [] - }, - { - "section": "Lisp", - "entries": [ - { - "url": "http://lisper.ru/wiki/Cookbook", - "title": "Common Lisp Cookbook (перевод)" - }, - { - "url": "https://github.com/ilammy/lisp", - "title": "Lisp In Small Pieces (translation)" - }, - { - "url": "http://lisper.ru/pcl/", - "title": "Practical Common Lisp (перевод)" - } - ], - "subsections": [] - }, - { - "section": "MetaPost", - "entries": [ - { - "url": "http://www.inp.nsk.su/~baldin/mpost/index.html", - "title": "Создание иллюстраций в MetaPost" - } - ], - "subsections": [] - }, - { - "section": ".NET", - "entries": [ - { - "url": "https://metanit.com/sharp/adonet", - "title": "Руководство по ADO.NET и работе с базами данных" - }, - { - "url": "https://metanit.com/sharp/aspnet5", - "title": "Руководство по ASP.NET Core 2.0" - }, - { - "url": "https://metanit.com/sharp/mvc5", - "title": "Руководство по ASP.NET MVC 5" - }, - { - "url": "https://metanit.com/sharp/aspnet_webapi", - "title": "Руководство по ASP.NET Web API 2" - }, - { - "url": "https://metanit.com/sharp/entityframeworkcore", - "title": "Руководство по EF Core" - }, - { - "url": "https://metanit.com/sharp/entityframework", - "title": "Руководство по Entity Framework" - } - ], - "subsections": [] - }, - { - "section": "NoSQL", - "entries": [ - { - "url": "http://www.pvsm.ru/download/mongodb-ru.pdf", - "title": "Маленькая книга о MongoDB" - }, - { - "url": "https://github.com/kondratovich/the-little-redis-book/blob/master/ru/redis.md", - "title": "Маленькая книга о Redis" - }, - { - "url": "http://proselyte.net/tutorials/mongodb", - "title": "Руководство по MongoDB" - } - ], - "subsections": [] - }, - { - "section": "Objective-C", - "entries": [ - { - "url": "https://maleevdimka.files.wordpress.com/2013/04/ios-patterns-cliff-notes2.pdf", - "title": "Хрестоматия iOS паттернов" - }, - { - "url": "http://habrahabr.ru/post/149090/", - "title": "Цикл статей разработки под Apple iOS" - }, - { - "url": "https://yadi.sk/d/ugz7jW4RXLGTN", - "title": "Become an XCoder" - } - ], - "subsections": [] - }, - { - "section": "Perl", - "entries": [ - { - "url": "http://www.opennet.ru/docs/RUS/perl-maslov/", - "title": "Введение в Perl" - }, - { - "url": "http://www.opennet.ru/docs/RUS/perl_help/", - "title": "Краткий экскурс в Perl-программирование" - }, - { - "url": "http://pragmaticperl.com", - "title": "Pragmatic Perl" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "http://docs.php.net/manual/ru", - "title": "Руководство по PHP" - }, - { - "url": "https://phpunit.readthedocs.io/ru/latest/", - "title": "Руководство по PHPUnit" - }, - { - "url": "http://www.php-s.ru/self-teacher", - "title": "Самоучитель (учебник) по PHP" - }, - { - "url": "http://getjump.github.io/ru-php-the-right-way", - "title": "PHP: Правильный Путь" - } - ], - "subsections": [ - { - "section": "CakePHP", - "entries": [ - { - "url": "https://book.cakephp.org/3.0/ru/index.html", - "title": "Руководство" - } - ] - }, - { - "section": "CodeIgniter", - "entries": [ - { - "url": "http://codeigniter3.info", - "title": "CodeIgniter" - } - ] - }, - { - "section": "Laravel", - "entries": [ - { - "url": "https://laravel.ru/docs/v5", - "title": "Документация 5.x" - }, - { - "url": "http://laravel.su/docs", - "title": "Перевод документации" - } - ] - }, - { - "section": "Symfony", - "entries": [ - { - "url": "https://symfony.com/doc/5.0/the-fast-track/ru/index.html", - "title": "Symfony 5. Быстрый старт" - } - ] - } - ] - }, - { - "section": "Python", - "entries": [ - { - "url": "http://ru.diveintopython.net/toc.html", - "title": "Вглубь языка Python" - }, - { - "url": "http://dfedorov.spb.ru/python3", - "title": "Основы программирования на Python" - }, - { - "url": "https://metanit.com/python/tutorial", - "title": "Руководство по языку программирования Python" - }, - { - "url": "https://pythonworld.ru/samouchitel-python", - "title": "Самоучитель Python" - }, - { - "url": "http://wombat.org.ua/AByteOfPython", - "title": "Укус Питона" - }, - { - "url": "https://ru.wikibooks.org/wiki/Учебник_Python_2.6", - "title": "Учебник Python 2.6" - }, - { - "url": "https://aliev.github.io/runestone", - "title": "Problem Solving with Algorithms and Data Structures" - }, - { - "url": "https://younglinux.info/oopython.php", - "title": "Python. Введение в объектно-ориентированное программирование" - }, - { - "url": "https://younglinux.info/python.php", - "title": "Python. Введение в программирование" - }, - { - "url": "https://devpractice.ru/book-python-lessons", - "title": "Python. Уроки" - }, - { - "url": "https://devpractice.ru/book-python-unittest", - "title": "Python. unittest" - }, - { - "url": "https://younglinux.info/tkinter.php", - "title": "Tkinter. Программирование графического интерфейса" - } - ], - "subsections": [ - { - "section": "Django", - "entries": [ - { - "url": "https://metanit.com/python/django", - "title": "Руководство по веб-фреймворку Django" - }, - { - "url": "https://tutorial.djangogirls.org/ru", - "title": "Руководство Django Girls" - } - ] - } - ] - }, - { - "section": "R", - "entries": [ - { - "url": "http://www.inp.nsk.su/~baldin/DataAnalysis/index.html", - "title": "Анализ данных с R" - }, - { - "url": "http://www.ievbras.ru/ecostat/Kiril/Article/A32/Starb.pdf", - "title": "Рандомизация и бутстреп: статистический анализ в биологии и экологии с использованием R." - } - ], - "subsections": [] - }, - { - "section": "Ruby", - "entries": [ - { - "url": "http://linux.yaroslavl.ru/docs/prog/ruby.html", - "title": "Руководство пользователя" - }, - { - "url": "http://www.shokhirev.com/mikhail/ruby/ltp/title.html", - "title": "Учись программировать" - }, - { - "url": "https://ru.wikibooks.org/wiki/Ruby", - "title": "Ruby" - }, - { - "url": "https://www.ruby-lang.org/ru/documentation/quickstart", - "title": "Ruby за двадцать минут" - }, - { - "url": "https://github.com/Krugloff/rus_ruby_book", - "title": "Ruby Book" - } - ], - "subsections": [ - { - "section": "RSpec", - "entries": [ - { - "url": "http://betterspecs.org/ru", - "title": "Better Specs (RSpec Guidelines with Ruby)" - } - ] - }, - { - "section": "Ruby on Rails", - "entries": [ - { - "url": "http://rusrails.ru", - "title": "Ruby on Rails по-русски" - }, - { - "url": "http://railstutorial.ru/chapters/4_0/beginning", - "title": "Ruby on Rails Tutorial. Изучение Rails на Примерах" - } - ] - } - ] - }, - { - "section": "Rust", - "entries": [ - { - "url": "https://github.com/ruRust/rustonomicon", - "title": "Растономикон" - }, - { - "url": "http://rurust.github.io/rust_book_ru", - "title": "Язык программирования Rust" - }, - { - "url": "https://rurust.github.io/rust-by-example-ru", - "title": "Rust на примерах" - } - ], - "subsections": [] - }, - { - "section": "Scala", - "entries": [ - { - "url": "https://github.com/anton-k/ru-neophyte-guide-to-scala", - "title": "Путеводитель неофита по Scala (перевод серии статей Даниеля Вестсайда)" - }, - { - "url": "http://proselyte.net/tutorials/scala", - "title": "Руководство по Scala" - }, - { - "url": "http://twitter.github.io/effectivescala/index-ru.html", - "title": "Effective Scala" - }, - { - "url": "http://twitter.github.io/scala_school/ru", - "title": "Scala Школа!" - } - ], - "subsections": [] - }, - { - "section": "Scilab", - "entries": [ - { - "url": "http://forge.scilab.org/index.php/p/docintrotoscilab/downloads", - "title": "Введение в Scilab" - }, - { - "url": "http://forge.scilab.org/index.php/p/docprogscilab/downloads", - "title": "Программирование в Scilab" - } - ], - "subsections": [] - }, - { - "section": "Scratch", - "entries": [ - { - "url": "https://www.dropbox.com/s/qsthpk5r6gqmi6u/CreativeComputing_RUS_june2016.pdf?dl=0", - "title": "Креативное программирование" - } - ], - "subsections": [] - }, - { - "section": "Smalltalk", - "entries": [ - { - "url": "https://sites.google.com/site/polyglotsqueak", - "title": "Смолток: Язык и его реализация" - } - ], - "subsections": [] - }, - { - "section": "SQL", - "entries": [ - { - "url": "http://svyatoslav.biz/database_book/", - "title": "Работа с MySQL, MS SQL Server и Oracle в примерах" - }, - { - "url": "https://metanit.com/sql/sqlserver", - "title": "Руководство по MS SQL Server 2017" - }, - { - "url": "http://proselyte.net/tutorials/sql", - "title": "Руководство по SQL" - }, - { - "url": "https://postgrespro.ru/education/books/sqlprimer", - "title": "Язык SQL. Базовый курс" - } - ], - "subsections": [ - { - "section": "FirebirdSQL", - "entries": [ - { - "url": "https://github.com/sim1984/fbmigrgd40/releases/download/1.0/doc.rus.pdf", - "title": "Краткое руководство по миграции на Firebird 4.0" - }, - { - "url": "http://www.ibase.ru/files/firebird/Firebird_Hardware_Guide_2015_rus.pdf", - "title": "Руководство по аппаратному обеспечению для Firebird" - }, - { - "url": "https://github.com/sim1984/udr-book", - "title": "Руководство по написанию UDR на Pascal" - }, - { - "url": "http://www.ibase.ru/files/firebird/Firebird_3_0_Language_Reference_RUS.pdf", - "title": "Руководство по языку Firebird 3.0" - }, - { - "url": "http://www.ibase.ru/files/firebird/Firebird_4_0_Language_Reference_RUS.pdf", - "title": "Руководство по языку Firebird 4.0" - } - ] - }, - { - "section": "PostgreSQL", - "entries": [ - { - "url": "https://postgrespro.ru/docs/postgresql", - "title": "Документация" - }, - { - "url": "http://www.inp.nsk.su/~baldin/PostgreSQL/index.html", - "title": "История о PostgreSQL" - }, - { - "url": "http://postgresql.leopard.in.ua", - "title": "Работа с PostgreSQL - настройка и масштабирование" - }, - { - "url": "https://postgrespro.ru/education/books/introbook", - "title": "PostgreSQL для начинающих" - } - ] - } - ] - }, - { - "section": "Swift", - "entries": [ - { - "url": "https://swiftbook.ru", - "title": "Документация и туториалы" - }, - { - "url": "https://swift.org/documentation", - "title": "Documentation" - } - ], - "subsections": [] - }, - { - "section": "TypeScript", - "entries": [ - { - "url": "http://typescript-lang.ru/docs/", - "title": "Перевод официальной документации Typescript" - }, - { - "url": "https://metanit.com/web/typescript", - "title": "Руководство по TypeScript" - } - ], - "subsections": [ - { - "section": "Angular", - "entries": [ - { - "url": "https://metanit.com/web/angular2", - "title": "Руководство по Angular" - }, - { - "url": "https://angular24.ru", - "title": "Русская версия документация Angular 10" - }, - { - "url": "https://bxnotes.ru/conspect/angular-5-the-complete-guide/", - "title": "Angular 5. Полное руководство" - } - ] - } - ] - }, - { - "section": "Unix", - "entries": [], - "subsections": [] - }, - { - "section": "Vim", - "entries": [ - { - "url": "http://www.opennet.ru/docs/RUS/vim_cookbook", - "title": "Поваренная Книга Vim" - }, - { - "url": "http://rus-linux.net/MyLDP/BOOKS/Vim/prosto-o-vim.pdf", - "title": "Просто о Vim" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "se", - "name": "Northern Sami" - }, - "index": {}, - "sections": [ - { - "section": "C", - "entries": [ - { - "url": "https://sv.wikibooks.org/wiki/C-programmering", - "title": "C-programmering" - }, - { - "url": "https://sv.wikibooks.org/wiki/Programmera_spel_i_C%2B%2B_f%C3%B6r_nyb%C3%B6rjare", - "title": "Programmera spel i C++ för nybörjare" - } - ], - "subsections": [] - }, - { - "section": "MATLAB", - "entries": [ - { - "url": "https://www.liber.se/plus/E470523401.pdf", - "title": "Introduktion till MATLAB" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "https://sv.wikibooks.org/wiki/Programmera_i_PHP", - "title": "Programmera i PHP" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "sk", - "name": "Slovak" - }, - "index": {}, - "sections": [ - { - "section": "Language Agnostic", - "entries": [], - "subsections": [ - { - "section": "Právo", - "entries": [ - { - "url": "https://knihy.nic.cz", - "title": "Zodpovednosť na internete" - } - ] - } - ] - }, - { - "section": "Python", - "entries": [], - "subsections": [ - { - "section": "Django", - "entries": [ - { - "url": "https://tutorial.djangogirls.org/sk/", - "title": "Príručka k Django Girls" - } - ] - } - ] - } - ] - }, - { - "language": { - "code": "ta", - "name": "Tamil" - }, - "index": {}, - "sections": [ - { - "section": "CSS", - "entries": [ - { - "url": "http://www.kaniyam.com/download/learn-css-in-tamil.pdf", - "title": "எளிய தமிழில் CSS" - } - ], - "subsections": [] - }, - { - "section": "Database", - "entries": [ - { - "url": "http://www.kaniyam.com/mysql-book-in-tamil/", - "title": "எளிய தமிழில் MySQL " - } - ], - "subsections": [] - }, - { - "section": "HTML", - "entries": [ - { - "url": "http://www.kaniyam.com/learn-css-in-tamil-ebook/", - "title": "எளிய தமிழில் CSS" - }, - { - "url": "http://www.kaniyam.com/learn-html-in-tamil/", - "title": "எளிய தமிழில் HTML" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "http://www.kaniyam.com/learn-javascript-in-tamil/", - "title": "எளிய தமிழில் JavaScript" - } - ], - "subsections": [] - }, - { - "section": "MachineLearning", - "entries": [ - { - "url": "http://www.kaniyam.com/download/e0ae8ee0aeb3e0aebfe0aeaf-e0aea4e0aeaee0aebfe0aeb4e0aebfe0aeb2e0af8d-machine-learning-a4-pdf.html", - "title": "எளிய தமிழில் ML" - } - ], - "subsections": [] - }, - { - "section": "MySQL", - "entries": [ - { - "url": "http://www.kaniyam.com/mysql-book-in-tamil/", - "title": "எளிய தமிழில் MySQL" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "https://freetamilebooks.com/ebooks/learn-php-in-tamil/", - "title": "எளிய தமிழில் PHP" - } - ], - "subsections": [] - }, - { - "section": "Ruby", - "entries": [ - { - "url": "http://www.kaniyam.com/download/learn-ruby-in-tamil.pdf", - "title": "எளிய இனிய கணினி மொழி Ruby" - } - ], - "subsections": [] - }, - { - "section": "Selenium", - "entries": [ - { - "url": "http://www.kaniyam.com/download/learn-selenium-in-tamil.pdf", - "title": "எளிய தமிழில் Selenium" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "th", - "name": "Thai" - }, - "index": {}, - "sections": [ - { - "section": "IoT (internet of things)", - "entries": [ - { - "url": "https://www.nectec.or.th/news/news-public-document/introwsn.html", - "title": "Introduction to Wireless Sensor Networks-แนะนำเครือข่ายเซนเซอร์ไร้สาย" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "https://www.cp.eng.chula.ac.th/books/ds-vjjv/", - "title": "โครงสร้างข้อมูลฉบับวาจาจาวา" - }, - { - "url": "http://it.e-tech.ac.th/poohdevil/JavaConcepts/", - "title": "Java Programming Concept" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "https://www.cp.eng.chula.ac.th/books/python101/", - "title": "Python ๑๐๑" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "tr", - "name": "Turkish" - }, - "index": {}, - "sections": [ - { - "section": "Algoritma ve Veri Yapıları", - "entries": [ - { - "url": "https://ia601404.us.archive.org/34/items/algoritma-ve-programlama-soru-bankasi/algoritma-ve-programlama-soru-bankas%C4%B1.pdf", - "title": "Algoritma ve Programlama Soru Bankası" - }, - { - "url": "https://ia601404.us.archive.org/12/items/algoritma-ve-programlamaya-giris-ders-notlari/Algoritma%20ve%20Programlamaya%20Giri%C5%9F%20Ders%20Notlar%C4%B1.pdf", - "title": "Algoritma ve Programlamaya Giriş Ders Notları" - }, - { - "url": "https://ia601408.us.archive.org/31/items/algoritmalar-ve-programlama/Algoritmalar%20ve%20Programlama.pdf", - "title": "Algoritmalar ve Programlama" - }, - { - "url": "https://ia601504.us.archive.org/20/items/bilgisayar-teriminde-algoritma/Bilgisayar%20Teriminde%20Algoritma.pdf", - "title": "Bilgisayar Teriminde Algoritma" - } - ], - "subsections": [] - }, - { - "section": "Android", - "entries": [ - { - "url": "https://umiitkose.com/android", - "title": "Android Dersleri" - }, - { - "url": "https://gelecegiyazanlar.turkcell.com.tr/konu/android", - "title": "Android Geleceği Yazanlar" - }, - { - "url": "http://umiitkose.com/wp-content/uploads/2015/08/AndroidStudio.pdf", - "title": "Android Türkçe PDF" - } - ], - "subsections": [] - }, - { - "section": "C", - "entries": [ - { - "url": "http://www.belgeler.org/bgnet/bgnet.html", - "title": "Beej'in Ağ Programlama Kılavuzu - Internet Soketlerini Kullanarak" - }, - { - "url": "http://www.belgeler.org/glibc/glibc.html", - "title": "GNU C Kütüphanesi Basvuru Klavuzu" - }, - { - "url": "https://www.yusufsezer.com.tr/cpp-dersleri/", - "title": "C++ Dersleri" - } - ], - "subsections": [] - }, - { - "section": "CSS", - "entries": [ - { - "url": "http://sercaneraslan.com/css/", - "title": "CSS Giriş" - } - ], - "subsections": [] - }, - { - "section": "D", - "entries": [ - { - "url": "https://www.ddili.org/ders/d/D_Programlama_Dili.pdf", - "title": "D Programlama Dili" - } - ], - "subsections": [] - }, - { - "section": "Dart", - "entries": [ - { - "url": "https://www.dartogreniyorum.blogspot.com.tr/2013/03/yeniden-dart.html?view=sidebar", - "title": "Dart - Merhaba Dünya" - } - ], - "subsections": [] - }, - { - "section": "Git", - "entries": [ - { - "url": "https://www.rogerdudler.github.io/git-guide/index.tr.html", - "title": "git - basit rehber" - }, - { - "url": "https://www.gitbook.com/book/aliozgur/git101/details", - "title": "Git 101" - } - ], - "subsections": [] - }, - { - "section": "Go", - "entries": [ - { - "url": "https://www.github.com/umutphp/the-little-go-book", - "title": "Go El Kitabı" - } - ], - "subsections": [] - }, - { - "section": "Güvenlik ve Gizlilik", - "entries": [ - { - "url": "https://guvenlik.oyd.org.tr", - "title": "Özgür Yazılım Derneği Güvenlik Rehberi" - } - ], - "subsections": [] - }, - { - "section": "Html", - "entries": [ - { - "url": "http://www.htmldersleri.org", - "title": "Html'e Giriş" - }, - { - "url": "https://www.github.com/paufsc/journey-to-html", - "title": "Html'e Yolculuk" - } - ], - "subsections": [] - }, - { - "section": "iOS", - "entries": [ - { - "url": "https://gelecegiyazanlar.turkcell.com.tr/konu/ios", - "title": "iOS Geleceği Yazanlar" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "https://ia601505.us.archive.org/23/items/24-saatte-java/24-saatte-java-turkce.pdf", - "title": "24 Saatte Java" - }, - { - "url": "http://www.baskent.edu.tr/~tkaracay/etudio/ders/prg/java/java_ndx.html", - "title": "Başkent Üniversitesi Java Dersleri" - }, - { - "url": "http://www.turhancoban.com/kitap/JAVA%20B%C4%B0LG%C4%B0SAYAR%20D%C4%B0L%C4%B0YLE%20PROGRAMLAMA.pdf", - "title": "Java Bilgisayar Diliyle Programlama" - }, - { - "url": "https://ia801507.us.archive.org/12/items/java-ile-nesneye-yonelik-programlama/Java%20ile%20Nesneye%20Y%C3%B6nelik%20Programlama.pdf", - "title": "Java ile Nesneye Yönelik Programlama" - }, - { - "url": "https://ia601503.us.archive.org/27/items/java-kitabi/java-kitabi.pdf", - "title": "Java Kitabı" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "http://bonsaiden.github.io/JavaScript-Garden/tr", - "title": "JavaScript Garden" - } - ], - "subsections": [] - }, - { - "section": "LaTeX", - "entries": [ - { - "url": "http://www.ctan.org/tex-archive/info/lshort/turkish", - "title": "İnce bir LaTeX2ε Elkitabı" - } - ], - "subsections": [] - }, - { - "section": "Linux", - "entries": [ - { - "url": "http://www.belgeler.org/bashref/bashref.html", - "title": "GNU Bash Başvuru Kılavuzu" - }, - { - "url": "https://www.fullportal.org/GNULINUX/Komutlar/GNULINUXKOMUTLAR.pdf", - "title": "GNU Linux Komutlari" - }, - { - "url": "http://www.belgeler.org/howto/howtos.html", - "title": "Linux Belgeleri" - }, - { - "url": "http://www.belgeler.org/sag/sag.html", - "title": "Linux Sistem Yöneticisinin Kılavuzu" - } - ], - "subsections": [] - }, - { - "section": "Matlab", - "entries": [ - { - "url": "https://www.ismailari.com/blog/matlab-programlamaya-giris", - "title": "Matlab Programlamaya Giris" - } - ], - "subsections": [] - }, - { - "section": ".NET Framework", - "entries": [ - { - "url": "https://sahin.gitbook.io/asp-net-core-el-kitab", - "title": "ASP.NET Core El Kitabı" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "https://www.leanpub.com/laravel4-tr", - "title": "PHP - Laravel 4 Türkçe Dokumantasyon" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "https://www.ofenerci.github.io/thinkcspy-tr", - "title": "Bilgisayar Bilimcisi Gibi Düşünmek-Python3 ile Öğrenme" - }, - { - "url": "https://python-istihza.yazbel.com", - "title": "Python Programlama Dili" - } - ], - "subsections": [] - }, - { - "section": "Django", - "entries": [ - { - "url": "https://www.pythondersleri.com/p/django-egitim-serisi.html", - "title": "Django" - }, - { - "url": "https://gokmengorgen.net/django-notes", - "title": "Django Egitimi" - }, - { - "url": "https://tutorial.djangogirls.org/tr", - "title": "Django Girls Eğitimi" - } - ], - "subsections": [] - }, - { - "section": "R", - "entries": [ - { - "url": "https://www.github.com/emraher/eybkbrk", - "title": "Ekonometriye Yeni Başlayanlar için Kısa bir R Kılavuzu" - } - ], - "subsections": [] - }, - { - "section": "Ruby", - "entries": [ - { - "url": "https://github.com/leylaKapi/AB2014-Ruby-Programlama-Dili/blob/master/Ruby_AB2014.md", - "title": "AB2014 Ruby Programlama Dili" - }, - { - "url": "https://www.ruby-lang.org/tr", - "title": "Ruby" - }, - { - "url": "https://www.gitbook.com/book/vigo/ruby-101/details", - "title": "Ruby 101" - }, - { - "url": "http://www.belgeler.org/uygulamalar/ruby/ruby-ug.html", - "title": "Ruby Kullanıcı Kılavuzu" - }, - { - "url": "https://www.ruby-lang.org/tr/documentation/quickstart", - "title": "Yirmi Dakikada Ruby" - } - ], - "subsections": [] - }, - { - "section": "Rust", - "entries": [ - { - "url": "http://bit.ly/rustagiris", - "title": "Rust'a Giriş" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "" - }, - "index": {}, - "sections": [ - { - "section": "ClojureScript", - "entries": [ - { - "url": "https://lambdabooks.github.io/clojurescript-unraveled", - "title": "Розплутаний ClojureScript" - } - ], - "subsections": [] - }, - { - "section": "Haskell", - "entries": [ - { - "url": "http://haskell.trygub.com", - "title": "Вивчить собі Хаскела на велике щастя!" - } - ], - "subsections": [] - }, - { - "section": "HTML / CSS", - "entries": [], - "subsections": [ - { - "section": "Bootstrap", - "entries": [ - { - "url": "http://twbs.docs.org.ua", - "title": "Ознайомлення Bootstrap 3.3.2" - } - ] - } - ] - }, - { - "section": "Java", - "entries": [ - { - "url": "http://myflex.org/books/java4kids/java4kids.htm", - "title": "Програмування мовою Java для дітей, батьків, дідусів та бабусь" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "http://understandinges6.denysdovhan.com", - "title": "Розуміння ECMAScript 6" - } - ], - "subsections": [] - }, - { - "section": "Language Agnostic", - "entries": [ - { - "url": "http://designpatterns.andriybuday.com", - "title": "Дизайн патерни - просто, як двері" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "https://uk.wikibooks.org/wiki/Пориньте_у_Python_3", - "title": "Пориньте у Python 3" - } - ], - "subsections": [ - { - "section": "Django", - "entries": [ - { - "url": "https://tutorial.djangogirls.org/uk/", - "title": "Навчальний посібник Django Girls" - } - ] - } - ] - }, - { - "section": "Ruby", - "entries": [ - { - "url": "https://lambdabooks.github.io/thelittlebookofruby", - "title": "Маленька книга про Ruby" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "vi", - "name": "Vietnamese" - }, - "index": {}, - "sections": [ - { - "section": "", - "entries": [ - { - "url": "https://github.com/nainglinaung/the-little-go-book", - "title": "The Little Go Book" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "zh", - "name": "Chinese" - }, - "index": {}, - "sections": [ - { - "section": "编程艺术", - "entries": [ - { - "url": "http://www.kancloud.cn/kancloud/intro-to-prog/52592", - "title": "编程入门指南" - }, - { - "url": "https://github.com/julycoding/The-Art-Of-Programming-by-July", - "title": "程序员编程艺术" - }, - { - "url": "http://www.oschina.net/translate/what-every-programmer-should-know-about-memory-part1", - "title": "每个程序员都应该了解的内存知识 (第一部分)" - } - ], - "subsections": [] - }, - { - "section": "编辑器", - "entries": [ - { - "url": "http://learnvimscriptthehardway.onefloweroneworld.com", - "title": "笨方法学Vimscript 中译本" - }, - { - "url": "https://github.com/yangyangwithgnu/use_vim_as_ide", - "title": "所需即所获:像 IDE 一样使用 vim" - }, - { - "url": "http://exvim.github.io/docs-zh/intro/", - "title": "exvim--vim 改良成IDE项目" - }, - { - "url": "https://github.com/vimcn/vimcdoc", - "title": "Vim中文文档" - } - ], - "subsections": [] - }, - { - "section": "编译原理", - "entries": [ - { - "url": "https://github.com/DeathKing/Learning-SICP", - "title": "《计算机程序的结构和解释》公开课 翻译项目" - } - ], - "subsections": [] - }, - { - "section": "操作系统", - "entries": [ - { - "url": "http://i.linuxtoy.org/docs/guide/index.html", - "title": "开源世界旅行手册" - }, - { - "url": "https://github.com/tobegit3hub/understand_linux_process", - "title": "理解Linux进程" - }, - { - "url": "https://github.com/jlevy/the-art-of-command-line/blob/master/README-zh.md", - "title": "命令行的艺术" - }, - { - "url": "http://cn.linux.vbird.org/linux_server/", - "title": "鸟哥的 Linux 私房菜 服务器架设篇" - }, - { - "url": "http://cn.linux.vbird.org/linux_basic/linux_basic.php", - "title": "鸟哥的 Linux 私房菜 基础学习篇" - }, - { - "url": "https://tinylab.gitbooks.io/elinux/content/zh/", - "title": "嵌入式 Linux 知识库 (eLinux.org 中文版)" - }, - { - "url": "https://github.com/yeasy/docker_practice", - "title": "Docker — 从入门到实践" - }, - { - "url": "http://yuedu.baidu.com/ebook/d817967416fc700abb68fca1", - "title": "Docker入门实战" - }, - { - "url": "https://github.com/widuu/chinese_docker", - "title": "Docker中文指南" - }, - { - "url": "http://www.freebsd.org/doc/zh_CN.UTF-8/books/handbook/", - "title": "FreeBSD 使用手册" - }, - { - "url": "http://works.jinbuguo.com/lfs/lfs62/index.html", - "title": "Linux 构建指南" - }, - { - "url": "http://sourceforge.net/projects/elpi/", - "title": "Linux 系统高级编程" - }, - { - "url": "https://tinylab.gitbooks.io/linux-doc/content/zh-cn/", - "title": "Linux Documentation (中文版)" - }, - { - "url": "http://happypeter.github.io/LGCB/book/", - "title": "Linux Guide for Complete Beginners" - }, - { - "url": "https://github.com/me115/linuxtools_rst", - "title": "Linux工具快速教程" - }, - { - "url": "https://aaaaaashu.gitbooks.io/mac-dev-setup/content/", - "title": "Mac 开发配置手册" - }, - { - "url": "http://pages.cs.wisc.edu/~remzi/OSTEP/", - "title": "Operating Systems: Three Easy Pieces" - }, - { - "url": "http://billie66.github.io/TLCL/index.html", - "title": "The Linux Command Line" - }, - { - "url": "http://wiki.ubuntu.org.cn/UbuntuManual", - "title": "Ubuntu 参考手册" - }, - { - "url": "https://www.gitbook.com/book/objectkuan/ucore-docs/details", - "title": "uCore Lab: Operating System Course in Tsinghua University" - }, - { - "url": "http://cb.vu/unixtoolbox_zh_CN.xhtml", - "title": "UNIX TOOLBOX" - } - ], - "subsections": [] - }, - { - "section": "程序员杂谈", - "entries": [ - { - "url": "http://www.kancloud.cn/kancloud/a-programmer-prepares", - "title": "程序员的自我修养" - } - ], - "subsections": [] - }, - { - "section": "大数据", - "entries": [ - { - "url": "http://dataminingguide.books.yourtion.com", - "title": "面向程序员的数据挖掘指南" - }, - { - "url": "https://github.com/linyiqun/DataMiningAlgorithm", - "title": "数据挖掘中经典的算法实现和详细的注释" - }, - { - "url": "https://aiyanbo.gitbooks.io/spark-programming-guide-zh-cn/content/", - "title": "Spark 编程指南简体中文版" - } - ], - "subsections": [] - }, - { - "section": "分布式系统", - "entries": [ - { - "url": "http://dcaoyuan.github.io/papers/pdfs/Scalability.pdf", - "title": "走向分布式" - } - ], - "subsections": [] - }, - { - "section": "管理和监控", - "entries": [ - { - "url": "https://www.gitbook.com/book/fuxiaopang/learnelasticsearch/details", - "title": "ElasticSearch 权威指南" - }, - { - "url": "http://es.xiaoleilu.com", - "title": "Elasticsearch 权威指南(中文版)" - }, - { - "url": "http://kibana.logstash.es", - "title": "ELKstack 中文指南" - }, - { - "url": "https://github.com/chenryn/logstash-best-practice-cn", - "title": "Logstash 最佳实践" - }, - { - "url": "http://udn.yyuap.com/doc/mastering-elasticsearch/", - "title": "Mastering Elasticsearch(中文版)" - }, - { - "url": "https://www.gitbook.com/book/wizardforcel/puppet-27-cookbook/details", - "title": "Puppet 2.7 Cookbook 中文版" - } - ], - "subsections": [] - }, - { - "section": "函数式概念", - "entries": [ - { - "url": "https://github.com/justinyhuang/Functional-Programming-For-The-Rest-of-Us-Cn", - "title": "傻瓜函数编程" - } - ], - "subsections": [] - }, - { - "section": "计算机图形学", - "entries": [ - { - "url": "https://learnopengl-cn.github.io", - "title": "LearnOpenGL CN" - }, - { - "url": "https://github.com/zilongshanren/opengl-tutorials", - "title": "OpenGL 教程" - } - ], - "subsections": [] - }, - { - "section": "其它", - "entries": [ - { - "url": "http://ifeve.com/perfbook/", - "title": "深入理解并行编程" - }, - { - "url": "https://community.emc.com/docs/DOC-16067", - "title": "SAN 管理入门系列" - }, - { - "url": "http://sketchcn.com/sketch-chinese-user-manual.html#introduce", - "title": "Sketch 中文手册" - } - ], - "subsections": [] - }, - { - "section": "软件开发方法", - "entries": [ - { - "url": "https://github.com/justinyhuang/Functional-Programming-For-The-Rest-of-Us-Cn", - "title": "傻瓜函数编程" - }, - { - "url": "http://www.infoq.com/cn/minibooks/scrum-xp-from-the-trenches", - "title": "硝烟中的 Scrum 和 XP" - } - ], - "subsections": [] - }, - { - "section": "设计模式", - "entries": [ - { - "url": "http://blog.csdn.net/lovelion/article/details/17517213", - "title": "史上最全设计模式导学目录" - }, - { - "url": "https://github.com/me115/design_patterns", - "title": "图说设计模式" - } - ], - "subsections": [] - }, - { - "section": "数据库", - "entries": [], - "subsections": [] - }, - { - "section": "项目相关", - "entries": [ - { - "url": "https://github.com/ecomfe/spec", - "title": "编码规范" - }, - { - "url": "http://www.ituring.com.cn/book/1143", - "title": "开源软件架构" - }, - { - "url": "https://wizardforcel.gitbooks.io/ibm-j-ap", - "title": "让开发自动化系列专栏" - }, - { - "url": "https://wizardforcel.gitbooks.io/ibm-j-cq", - "title": "追求代码质量" - }, - { - "url": "http://docs.huihoo.com/gnu/linux/gmake.html", - "title": "GNU make 指南" - }, - { - "url": "https://github.com/waylau/Gradle-2-User-Guide", - "title": "Gradle 2 用户指南" - }, - { - "url": "http://yuedu.baidu.com/ebook/f23af265998fcc22bcd10da2", - "title": "Gradle 中文使用文档" - }, - { - "url": "https://web.archive.org/web/20170616013024/http://local.joelonsoftware.com/wiki/Chinese_(Simplified)", - "title": "Joel谈软件" - }, - { - "url": "https://github.com/fool2fish/selenium-doc", - "title": "selenium 中文文档" - } - ], - "subsections": [] - }, - { - "section": "在线教育", - "entries": [ - { - "url": "http://edu.51cto.com", - "title": "51CTO学院" - }, - { - "url": "http://yun.itheima.com", - "title": "黑马程序员" - }, - { - "url": "http://www.hubwiz.com", - "title": "汇智网" - }, - { - "url": "http://www.jikexueyuan.com", - "title": "极客学院" - }, - { - "url": "http://www.jisuanke.com", - "title": "计蒜客" - }, - { - "url": "http://www.imooc.com/course/list", - "title": "慕课网" - }, - { - "url": "https://www.codecademy.com/?locale_code=zh", - "title": "Codecademy" - }, - { - "url": "https://www.codeschool.com", - "title": "CodeSchool" - }, - { - "url": "https://www.coursera.org/courses?orderby=upcoming&lngs=zh", - "title": "Coursera" - }, - { - "url": "https://learnxinyminutes.com", - "title": "Learn X in Y minutes" - }, - { - "url": "https://www.shiyanlou.com", - "title": "shiyanlou" - }, - { - "url": "https://teamtreehouse.com", - "title": "TeamTreeHouse" - }, - { - "url": "https://www.udacity.com", - "title": "Udacity" - }, - { - "url": "https://www.xuetangx.com", - "title": "xuetangX" - } - ], - "subsections": [] - }, - { - "section": "正则表达式", - "entries": [ - { - "url": "http://www.runoob.com/regexp/regexp-tutorial.html", - "title": "正则表达式-菜鸟教程" - }, - { - "url": "https://web.archive.org/web/20161119141236/http://deerchao.net:80/tutorials/regex/regex.htm", - "title": "正则表达式30分钟入门教程" - } - ], - "subsections": [] - }, - { - "section": "智能系统", - "entries": [ - { - "url": "https://github.com/phodal/designiot", - "title": "一步步搭建物联网系统" - } - ], - "subsections": [] - }, - { - "section": "IDE", - "entries": [ - { - "url": "https://github.com/judasn/IntelliJ-IDEA-Tutorial", - "title": "IntelliJ IDEA 简体中文专题教程" - } - ], - "subsections": [] - }, - { - "section": "Web", - "entries": [ - { - "url": "https://www.gitbook.com/book/juntao/3-web-designs-in-3-weeks/details", - "title": "3 Web Designs in 3 Weeks" - }, - { - "url": "http://www.20thingsilearned.com/zh-CN/home", - "title": "关于浏览器和网络的 20 项须知" - }, - { - "url": "http://jinlong.github.io/2013/08/29/devtoolsecrets/", - "title": "浏览器开发工具的秘密" - }, - { - "url": "http://coderlmn.github.io/code-standards/", - "title": "前端代码规范 及 最佳实践" - }, - { - "url": "https://github.com/fouber/blog/issues/2", - "title": "前端开发体系建设日记" - }, - { - "url": "https://github.com/hacke2/hacke2.github.io/issues/3", - "title": "前端资源分享(二)" - }, - { - "url": "https://github.com/hacke2/hacke2.github.io/issues/1", - "title": "前端资源分享(一)" - }, - { - "url": "https://community.emc.com/thread/194901", - "title": "一站式学习Wireshark" - }, - { - "url": "https://github.com/hoosin/mobile-web-favorites", - "title": "移动前端开发收藏夹" - }, - { - "url": "https://github.com/AlloyTeam/Mars", - "title": "移动Web前端知识库" - }, - { - "url": "http://deerchao.net/tutorials/regex/regex.htm", - "title": "正则表达式30分钟入门教程" - }, - { - "url": "https://github.com/CN-Chrome-DevTools/CN-Chrome-DevTools", - "title": "Chrome 开发者工具中文手册" - }, - { - "url": "http://www.ituring.com.cn/minibook/950", - "title": "Chrome扩展及应用开发" - }, - { - "url": "http://open.chrome.360.cn/extension_dev/overview.html", - "title": "Chrome扩展开发文档" - }, - { - "url": "https://github.com/phodal/growth-ebook", - "title": "Growth: 全栈增长工程师指南" - }, - { - "url": "http://www.gruntjs.net", - "title": "Grunt中文文档" - }, - { - "url": "https://github.com/nimojs/gulp-book", - "title": "Gulp 入门指南" - }, - { - "url": "http://www.gulpjs.com.cn/docs/", - "title": "gulp中文文档" - }, - { - "url": "https://github.com/bolasblack/http-api-guide", - "title": "HTTP 接口设计指北" - }, - { - "url": "http://yuedu.baidu.com/ebook/478d1a62376baf1ffc4fad99?pn=1", - "title": "HTTP/2.0 中文翻译" - }, - { - "url": "https://www.gitbook.com/book/ye11ow/http2-explained/details", - "title": "http2讲解" - }, - { - "url": "https://github.com/darcyliu/google-styleguide/blob/master/JSONStyleGuide.md", - "title": "JSON风格指南" - }, - { - "url": "http://man.lupaworld.com/content/network/wireshark/index.html", - "title": "Wireshark用户手册" - } - ], - "subsections": [] - }, - { - "section": "WEB服务器", - "entries": [ - { - "url": "http://works.jinbuguo.com/apache/menu22/index.html", - "title": "Apache 中文手册" - }, - { - "url": "http://www.ttlsa.com/nginx/nginx-stu-pdf/", - "title": "Nginx教程从入门到精通" - }, - { - "url": "http://tengine.taobao.org/book/index.html", - "title": "Nginx开发从入门到精通" - } - ], - "subsections": [] - }, - { - "section": "Android", - "entries": [ - { - "url": "http://www.apkbus.com/design/index.html", - "title": "Android Design(中文版)" - }, - { - "url": "https://github.com/CharonChui/AndroidNote", - "title": "Android Note(开发过程中积累的知识点)" - }, - { - "url": "http://leanote.com/blog/post/561658f938f41126b2000298", - "title": "Android6.0新特性详解" - }, - { - "url": "https://github.com/bboyfeiyu/android-tech-frontier", - "title": "Android开发技术前线(android-tech-frontier)" - }, - { - "url": "http://hukai.me/android-training-course-in-chinese/index.html", - "title": "Google Android官方培训课程中文版" - } - ], - "subsections": [] - }, - { - "section": "AWK", - "entries": [ - { - "url": "https://github.com/wuzhouhui/awk", - "title": "awk程序设计语言" - }, - { - "url": "http://awk.readthedocs.org/en/latest/index.html", - "title": "awk中文指南" - } - ], - "subsections": [] - }, - { - "section": "C", - "entries": [ - { - "url": "https://github.com/limingth/NCCL", - "title": "新概念 C 语言教程" - }, - { - "url": "https://firebasestorage.googleapis.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-ME5zR-03ZEHgp2kv7bW%2F-MF9EIY-s19_w19_Unae%2F-MF9F-HCs1nLOkY1mLVi%2FBeej-cn-20140429.zip?alt=media&token=de27f96b-2aed-4c97-8879-649638c7559f", - "title": "Beej's Guide to Network Programming 簡體中文版" - }, - { - "url": "http://c-faq-chn.sourceforge.net/ccfaq/ccfaq.html", - "title": "C 语言常见问题集" - }, - { - "url": "http://docs.linuxtone.org/ebooks/C&CPP/c/", - "title": "Linux C 编程一站式学习" - } - ], - "subsections": [] - }, - { - "section": "C Sharp", - "entries": [ - { - "url": "http://book.douban.com/subject/24827879/", - "title": "精通C#(第6版)" - }, - { - "url": "https://github.com/hellogcc/100-gcc-tips/blob/master/src/index.md", - "title": "100个gcc小技巧" - }, - { - "url": "https://github.com/hellogcc/100-gdb-tips/blob/master/src/index.md", - "title": "100个gdb小技巧" - }, - { - "url": "http://www.nowamagic.net/librarys/books/contents/c", - "title": "简单易懂的C魔法" - }, - { - "url": "http://www.ituring.com.cn/book/1203", - "title": "像计算机科学家一样思考(C++版)" - }, - { - "url": "https://tinylab.gitbooks.io/cbook/content/", - "title": "C 语言编程透视" - }, - { - "url": "https://github.com/andycai/cprimer", - "title": "C/C++ Primer" - }, - { - "url": "https://github.com/forhappy/Cplusplus-Concurrency-In-Practice", - "title": "C++ 并发编程指南" - }, - { - "url": "http://www.sunistudio.com/cppfaq/", - "title": "C++ FAQ LITE(中文版)" - }, - { - "url": "https://github.com/Mooophy/Cpp-Primer", - "title": "C++ Primer 5th Answers" - }, - { - "url": "https://github.com/wuye9036/CppTemplateTutorial", - "title": "C++ Template 进阶指南" - }, - { - "url": "https://github.com/leeyiw/cgdb-manual-in-chinese", - "title": "CGDB中文手册" - }, - { - "url": "https://web.archive.org/web/20170615174144/http://sewm.pku.edu.cn/src/paradise/reference/CMake%20Practice.pdf", - "title": "Cmake 实践" - }, - { - "url": "http://docs.huihoo.com/gnu/linux/gmake.html", - "title": "GNU make 指南" - }, - { - "url": "http://zh-google-styleguide.readthedocs.org/en/latest/google-cpp-styleguide/contents/", - "title": "Google C++ 风格指南" - }, - { - "url": "https://github.com/anjuke/zguide-cn", - "title": "ZMQ 指南" - } - ], - "subsections": [] - }, - { - "section": "CoffeeScript", - "entries": [ - { - "url": "https://github.com/elrrrrrrr/coffeescript-style-guide/blob/master/README-ZH.md", - "title": "CoffeeScript 编程风格指南" - }, - { - "url": "https://github.com/geekplux/coffeescript-style-guide", - "title": "CoffeeScript 编码风格指南" - }, - { - "url": "http://coffee-script.org", - "title": "CoffeeScript 中文" - } - ], - "subsections": [] - }, - { - "section": "Dart", - "entries": [ - { - "url": "http://dart.lidian.info/wiki/Language_Tour", - "title": "Dart 语言导览" - } - ], - "subsections": [] - }, - { - "section": "Elasticsearch", - "entries": [ - { - "url": "https://github.com/looly/elasticsearch-definitive-guide-cn", - "title": "Elasticsearch 权威指南" - }, - { - "url": "http://udn.yyuap.com/doc/mastering-elasticsearch/", - "title": "Mastering Elasticsearch(中文版)" - } - ], - "subsections": [] - }, - { - "section": "Elixir", - "entries": [ - { - "url": "https://elixirschool.com/cn/", - "title": "Elixir 编程语言教程" - }, - { - "url": "https://github.com/Ljzn/ElixrGettingStartedChinese", - "title": "Elixir Getting Started 中文翻译" - }, - { - "url": "https://github.com/Ljzn/MetaProgrammingInElixirChinese", - "title": "Elixir元编程与DSL 中文翻译" - }, - { - "url": "https://mydearxym.gitbooks.io/phoenix-doc-in-chinese/content/", - "title": "Phoenix 框架中文文档" - } - ], - "subsections": [] - }, - { - "section": "Erlang", - "entries": [ - { - "url": "https://github.com/liancheng/cpie-cn", - "title": "Erlang 并发编程" - } - ], - "subsections": [] - }, - { - "section": "Fortran", - "entries": [ - { - "url": "http://micro.ustc.edu.cn/Fortran/ZJDing/", - "title": "Fortran77和90/95编程入门" - } - ], - "subsections": [] - }, - { - "section": "Golang", - "entries": [ - { - "url": "http://go.ctolib.com/docs/read/magical-go-c-index.html", - "title": "神奇的 Go 语言" - }, - { - "url": "http://mikespook.com/learning-go/", - "title": "学习Go语言" - }, - { - "url": "https://github.com/Unknwon/go-fundamental-programming", - "title": "Go 编程基础" - }, - { - "url": "https://github.com/golang-china/golangdoc.translations", - "title": "Go 官方文档翻译" - }, - { - "url": "https://github.com/songleo/the-little-go-book_ZH_CN", - "title": "Go 简易教程" - }, - { - "url": "https://github.com/Unknwon/the-way-to-go_ZH_CN", - "title": "Go 入门指南" - }, - { - "url": "https://github.com/chai2010/go-ast-book", - "title": "Go 语法树入门" - }, - { - "url": "https://github.com/polaris1119/The-Golang-Standard-Library-by-Example", - "title": "Go 语言标准库" - }, - { - "url": "https://github.com/chai2010/advanced-go-programming-book", - "title": "Go 语言高级编程(Advanced Go Programming)" - }, - { - "url": "https://github.com/rujews/go-in-action-notes", - "title": "Go 语言实战笔记" - }, - { - "url": "https://tour.go-zh.org/list", - "title": "Go 指南" - }, - { - "url": "https://github.com/astaxie/build-web-application-with-golang", - "title": "Go Web 编程" - }, - { - "url": "https://github.com/hyper-carrot/go_command_tutorial", - "title": "Go命令教程" - }, - { - "url": "https://github.com/astaxie/Go-in-Action", - "title": "Go实战开发" - }, - { - "url": "https://github.com/achun/Go-Blog-In-Action", - "title": "Go语言博客实践" - }, - { - "url": "http://blog.csdn.net/dc_726/article/details/46565241", - "title": "Java程序员的Golang入门指南" - }, - { - "url": "https://github.com/astaxie/NPWG_zh", - "title": "Network programming with Go 中文翻译版本" - }, - { - "url": "http://gorevel.cn/docs/manual/index.html", - "title": "Revel 框架手册" - }, - { - "url": "https://github.com/kevingo/the-little-go-book", - "title": "The Little Go Book 繁體中文翻譯版" - } - ], - "subsections": [] - }, - { - "section": "Groovy", - "entries": [ - { - "url": "http://www.ibm.com/developerworks/cn/java/j-pg/", - "title": "实战 Groovy 系列" - } - ], - "subsections": [] - }, - { - "section": "Haskell", - "entries": [ - { - "url": "https://learnyouahaskell.mno2.org", - "title": "Haskell 趣学指南" - }, - { - "url": "http://cnhaskell.com", - "title": "Real World Haskell 中文版" - } - ], - "subsections": [] - }, - { - "section": "HTML / CSS", - "entries": [ - { - "url": "http://alloyteam.github.io/CodeGuide/", - "title": "前端代码规范" - }, - { - "url": "https://github.com/chadluo/CSS-Guidelines/blob/master/README.md", - "title": "通用 CSS 笔记、建议与指导" - }, - { - "url": "http://zh.learnlayout.com", - "title": "学习CSS布局" - }, - { - "url": "https://bootstrap.hexschool.com", - "title": "Bootstrap 4 繁體中文手冊" - }, - { - "url": "https://github.com/waylau/css3-tutorial", - "title": "CSS3 Tutorial 《CSS3 教程》" - }, - { - "url": "http://css.doyoe.com", - "title": "CSS参考手册" - }, - { - "url": "http://yanxyz.github.io/emmet-docs/", - "title": "Emmet 文档" - }, - { - "url": "http://www.w3school.com.cn/html5/index.asp", - "title": "HTML5 教程" - }, - { - "url": "http://codeguide.bootcss.com", - "title": "HTML和CSS编码规范" - }, - { - "url": "http://sass-guidelin.es/zh/", - "title": "Sass Guidelines 中文" - } - ], - "subsections": [] - }, - { - "section": "iOS", - "entries": [ - { - "url": "https://github.com/jkyin/Subtitle", - "title": "网易斯坦福大学公开课:iOS 7应用开发字幕文件" - }, - { - "url": "http://nilsun.github.io/apple-watch/", - "title": "Apple Watch开发初探" - }, - { - "url": "http://zh-google-styleguide.readthedocs.org/en/latest/google-objc-styleguide/", - "title": "Google Objective-C Style Guide 中文版" - }, - { - "url": "http://isux.tencent.com/ios-human-interface-guidelines-ui-design-basics-ios7.html", - "title": "iOS7人机界面指南" - }, - { - "url": "https://github.com/qinjx/30min_guides/blob/master/ios.md", - "title": "iOS开发60分钟入门" - }, - { - "url": "http://wileam.com/iphone-6-screen-cn/", - "title": "iPhone 6 屏幕揭秘" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "https://github.com/alibaba/p3c/blob/master/Java%E5%BC%80%E5%8F%91%E6%89%8B%E5%86%8C%EF%BC%88%E5%B5%A9%E5%B1%B1%E7%89%88%EF%BC%89.pdf", - "title": "阿里巴巴 Java 开发手册" - }, - { - "url": "https://github.com/waylau/RestDemo", - "title": "用jersey构建REST服务" - }, - { - "url": "https://github.com/waylau/activiti-5.x-user-guide", - "title": "Activiti 5.x 用户指南" - }, - { - "url": "https://github.com/waylau/apache-mina-2.x-user-guide", - "title": "Apache MINA 2 用户指南" - }, - { - "url": "https://github.com/waylau/apache-shiro-1.2.x-reference", - "title": "Apache Shiro 用户指南" - }, - { - "url": "http://hawstein.com/2014/01/20/google-java-style/", - "title": "Google Java编程风格指南" - }, - { - "url": "https://github.com/waylau/h2-database-doc", - "title": "H2 Database 教程" - }, - { - "url": "https://java.quanke.name", - "title": "Java 编程思想" - }, - { - "url": "https://github.com/waylau/java-code-conventions", - "title": "Java 编码规范" - }, - { - "url": "https://github.com/waylau/servlet-3.1-specification", - "title": "Java Servlet 3.1 规范" - }, - { - "url": "https://github.com/waylau/Jersey-2.x-User-Guide", - "title": "Jersey 2.x 用户指南" - }, - { - "url": "https://github.com/waylau/jsse-reference-guide", - "title": "JSSE 参考指南" - }, - { - "url": "http://mybatis.github.io/mybatis-3/zh/index.html", - "title": "MyBatis中文文档" - }, - { - "url": "https://github.com/waylau/netty-4-user-guide", - "title": "Netty 4.x 用户指南" - }, - { - "url": "https://github.com/waylau/essential-netty-in-action", - "title": "Netty 实战(精髓)" - }, - { - "url": "http://nutzbook.wendal.net", - "title": "Nutz-book Nutz烹调向导" - }, - { - "url": "https://nutzam.com/core/nutz_preface.html", - "title": "Nutz文档" - }, - { - "url": "https://github.com/waylau/rest-in-action", - "title": "REST 实战" - }, - { - "url": "https://github.com/qibaoguang/Spring-Boot-Reference-Guide", - "title": "Spring Boot参考指南" - }, - { - "url": "https://github.com/waylau/spring-framework-4-reference", - "title": "Spring Framework 4.x参考文档" - } - ], - "subsections": [] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "http://justjavac.com/named-function-expressions-demystified.html", - "title": "命名函数表达式探秘" - }, - { - "url": "https://github.com/getify/You-Dont-Know-JS/tree/1ed-zh-CN", - "title": "你不知道的Javascript" - }, - { - "url": "http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html", - "title": "深入理解JavaScript系列" - }, - { - "url": "http://www.oschina.net/translate/learning-javascript-design-patterns", - "title": "学用 JavaScript 设计模式" - }, - { - "url": "https://github.com/adamlu/javascript-style-guide", - "title": "Airbnb JavaScript 规范" - }, - { - "url": "http://es6.ruanyifeng.com", - "title": "ECMAScript 6 入门" - }, - { - "url": "http://bq69.com/blog/articles/script/868/google-javascript-style-guide.html", - "title": "Google JavaScript 代码风格指南" - }, - { - "url": "http://javascript.ruanyifeng.com", - "title": "JavaScript 标准参考教程(alpha)" - }, - { - "url": "https://github.com/justjavac/12-javascript-quirks", - "title": "javascript 的 12 个怪癖" - }, - { - "url": "http://bonsaiden.github.io/JavaScript-Garden/zh/", - "title": "JavaScript 秘密花园" - }, - { - "url": "https://github.com/jayli/javascript-patterns", - "title": "《JavaScript 模式》" - }, - { - "url": "https://web.archive.org/web/20170112164945/http://typeof.net/s/jsmech/", - "title": "Javascript 原理" - }, - { - "url": "http://liubin.github.io/promises-book/", - "title": "JavaScript Promise迷你书" - }, - { - "url": "http://pij.robinqu.me", - "title": "Javascript编程指南" - }, - { - "url": "http://icodeit.org/jsccp/", - "title": "JavaScript核心概念及实践" - } - ], - "subsections": [ - { - "section": "AngularJS", - "entries": [ - { - "url": "https://github.com/xufei/Make-Your-Own-AngularJS/blob/master/01.md", - "title": "构建自己的AngularJS" - }, - { - "url": "http://www.waylau.com/build-angularjs-app-with-yeoman-in-windows/", - "title": "在Windows环境下用Yeoman构建AngularJS项目" - }, - { - "url": "https://github.com/zensh/AngularjsTutorial_cn", - "title": "AngularJS入门教程" - }, - { - "url": "https://github.com/mgechev/angularjs-style-guide/blob/master/README-zh-cn.md", - "title": "AngularJS最佳实践和风格指南" - } - ] - }, - { - "section": "Backbone.js", - "entries": [ - { - "url": "http://www.the5fire.com/backbone-js-tutorials-pdf-download.html", - "title": "Backbone.js入门教程" - }, - { - "url": "https://github.com/the5fire/backbonejs-learning-note", - "title": "Backbone.js入门教程第二版" - }, - { - "url": "http://www.css88.com/doc/backbone/", - "title": "Backbone.js中文文档" - } - ] - }, - { - "section": "D3.js", - "entries": [ - { - "url": "http://www.cnblogs.com/winleisure/tag/D3.js/", - "title": "楚狂人的D3教程" - }, - { - "url": "https://github.com/mbostock/d3/wiki/API--%E4%B8%AD%E6%96%87%E6%89%8B%E5%86%8C", - "title": "官方API文档" - }, - { - "url": "http://blog.csdn.net/zhang__tianxu/article/category/1623437", - "title": "张天旭的D3教程" - }, - { - "url": "http://d3.decembercafe.org", - "title": "Learning D3.JS" - } - ] - }, - { - "section": "Electron.js", - "entries": [ - { - "url": "https://wizardforcel.gitbooks.io/electron-doc/content", - "title": "Electron 中文文档" - }, - { - "url": "https://www.w3cschool.cn/electronmanual", - "title": "Electron 中文文档" - } - ] - }, - { - "section": "ExtJS", - "entries": [ - { - "url": "http://extjs-doc-cn.github.io/ext4api/", - "title": "Ext4.1.0 中文文档" - } - ] - }, - { - "section": "impress.js", - "entries": [ - { - "url": "https://github.com/kokdemo/impress.js-tutorial-in-Chinese", - "title": "impress.js的中文教程" - } - ] - }, - { - "section": "jQuery", - "entries": [ - { - "url": "http://www.nowamagic.net/librarys/books/contents/jquery", - "title": "简单易懂的JQuery魔法" - }, - { - "url": "http://i5ting.github.io/How-to-write-jQuery-plugin/build/jquery.plugin.html", - "title": "How to write jQuery plugin" - } - ] - }, - { - "section": "Node.js", - "entries": [ - { - "url": "http://nqdeng.github.io/7-days-nodejs/", - "title": "七天学会NodeJS" - }, - { - "url": "https://github.com/nswbmw/N-blog", - "title": "使用 Express + MongoDB 搭建多人博客" - }, - { - "url": "http://expressjs.jser.us", - "title": "express.js 中文文档" - }, - { - "url": "http://javascript.ruanyifeng.com/nodejs/express.html", - "title": "Express框架" - }, - { - "url": "http://nodejs.ctolib.com/docs/sfile/jstraining/engineering.html", - "title": "JavaScript全栈工程师培训材料" - }, - { - "url": "https://github.com/guo-yu/koa-guide", - "title": "koa 中文文档" - }, - { - "url": "https://www.npmjs.com/package/learnyounode-zh-cn", - "title": "Learn You The Node.js For Much Win! (中文版)" - }, - { - "url": "http://i5ting.github.io/node-debug-tutorial/", - "title": "Node debug 三法三例" - }, - { - "url": "https://github.com/alsotang/node-lessons", - "title": "Node.js 包教不包会" - }, - { - "url": "https://github.com/jollen/nodejs-fullstack-lessons", - "title": "Node.js Fullstack《從零到一的進撃》" - }, - { - "url": "http://www.nodebeginner.org/index-zh-cn.html", - "title": "Node入门" - }, - { - "url": "https://github.com/nodejs-tw/nodejs-wiki-book", - "title": "Nodejs Wiki Book" - }, - { - "url": "https://www.gitbook.com/book/0532/nodejs/details", - "title": "nodejs中文文档" - }, - { - "url": "https://www.gitbook.com/book/0532/nodejs/details", - "title": "The NodeJS 中文文档" - } - ] - }, - { - "section": "React.js", - "entries": [ - { - "url": "https://github.com/theJian/build-a-hn-front-page", - "title": "Learn React & Webpack by building the Hacker News front page" - }, - { - "url": "https://github.com/hateonion/react-bits-CN", - "title": "React-Bits 中文文档" - }, - { - "url": "http://wiki.jikexueyuan.com/project/react-native/", - "title": "React Native 中文文档(含最新Android内容)" - }, - { - "url": "https://github.com/fakefish/react-webpack-cookbook", - "title": "React webpack-cookbook" - }, - { - "url": "http://fraserxu.me/intro-to-react/", - "title": "React.js 入门教程" - }, - { - "url": "https://discountry.github.io/react/", - "title": "React.js 中文文档" - } - ] - }, - { - "section": "Vue.js", - "entries": [ - { - "url": "https://cn.vuejs.org/v2/guide/", - "title": "Vue.js中文文档" - } - ] - }, - { - "section": "Zepto.js", - "entries": [ - { - "url": "http://css88.com/doc/zeptojs_api", - "title": "Zepto.js 中文文档" - } - ] - } - ] - }, - { - "section": "LaTeX", - "entries": [ - { - "url": "https://github.com/49951331/graduate-project-102pj/blob/master/docs/latex123.pdf", - "title": "大家來學 LaTeX" - }, - { - "url": "http://ctan.org/pkg/lshort-zh-cn", - "title": "一份不太简短的 LaTeX2ε 介绍" - }, - { - "url": "http://www.dralpha.com/zh/tech/tech.htm", - "title": "LaTeX 笔记" - } - ], - "subsections": [] - }, - { - "section": "LISP", - "entries": [ - { - "url": "http://acl.readthedocs.org/en/latest/", - "title": "ANSI Common Lisp 中文翻译版" - }, - { - "url": "http://www.ituring.com.cn/minibook/862", - "title": "Common Lisp 高级编程技术" - } - ], - "subsections": [] - }, - { - "section": "Lua", - "entries": [ - { - "url": "http://www.w3cschool.cc/manual/lua53doc/contents.html", - "title": "Lua 5.3 参考手册" - } - ], - "subsections": [] - }, - { - "section": "Markdown", - "entries": [ - { - "url": "http://www.jianshu.com/p/q81RER", - "title": "献给写作者的 Markdown 新手指南" - }, - { - "url": "https://markdown.tw", - "title": "Markdown 語法說明" - } - ], - "subsections": [] - }, - { - "section": "MySQL", - "entries": [ - { - "url": "http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html", - "title": "21分钟MySQL入门教程" - }, - { - "url": "http://blog.codinglabs.org/articles/theory-of-mysql-index.html", - "title": "MySQL索引背后的数据结构及算法原理" - } - ], - "subsections": [] - }, - { - "section": "NoSQL", - "entries": [ - { - "url": "https://github.com/huangz1990/annotated_redis_source", - "title": "带有详细注释的 Redis 2.6 代码" - }, - { - "url": "https://github.com/huangz1990/redis-3.0-annotated", - "title": "带有详细注释的 Redis 3.0 代码" - }, - { - "url": "http://disque.huangz.me", - "title": "Disque 使用教程" - }, - { - "url": "http://redisdoc.com", - "title": "Redis 命令参考" - }, - { - "url": "http://redisbook.com", - "title": "Redis 设计与实现" - }, - { - "url": "https://github.com/justinyhuang/the-little-mongodb-book-cn/blob/master/mongodb.md", - "title": "The Little MongoDB Book" - }, - { - "url": "https://github.com/JasonLai256/the-little-redis-book/blob/master/cn/redis.md", - "title": "The Little Redis Book" - } - ], - "subsections": [] - }, - { - "section": "Perl", - "entries": [ - { - "url": "https://github.com/fayland/chinese-perl-book", - "title": "Master Perl Today" - }, - { - "url": "https://web.archive.org/web/20150326073235/http://net.pku.edu.cn/~yhf/tutorial/perl/perl.html", - "title": "Perl 5 教程" - }, - { - "url": "http://www.yiibai.com/perl", - "title": "Perl 教程" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "http://www.php-internals.com/book/", - "title": "深入理解 PHP 内核" - }, - { - "url": "https://codeigniter.org.tw/userguide3", - "title": "CodeIgniter 使用手冊" - }, - { - "url": "http://docs.phpcomposer.com", - "title": "Composer中文文档" - }, - { - "url": "http://www.myleftstudio.com", - "title": "Phalcon7中文文档" - }, - { - "url": "http://wulijun.github.io/php-the-right-way/", - "title": "PHP 之道" - }, - { - "url": "https://psr.phphub.org", - "title": "PHP标准规范中文版" - }, - { - "url": "http://php.net/manual/zh/", - "title": "PHP中文手册" - }, - { - "url": "http://www.yiichina.com/doc/guide/2.0", - "title": "Yii2中文文档" - } - ], - "subsections": [ - { - "section": "Laravel", - "entries": [ - { - "url": "http://d.laravel-china.org/docs/5.4", - "title": "Laravel 5.4 中文文档" - }, - { - "url": "https://learnku.com/docs/laravel/6.x", - "title": "Laravel 6 中文文档" - }, - { - "url": "https://learnku.com/docs/laravel/7.x", - "title": "Laravel 7 中文文档" - }, - { - "url": "https://learnku.com/docs/laravel/8.x", - "title": "Laravel 8 中文文档" - } - ] - }, - { - "section": "Symfony", - "entries": [ - { - "url": "https://wusuopu.gitbooks.io/symfony2_tutorial/content", - "title": "Symfony 2 实例教程" - }, - { - "url": "https://symfony.com/doc/5.0/the-fast-track/zh_CN/index.html", - "title": "Symfony 5 快速开发" - } - ] - } - ] - }, - { - "section": "PostgreSQL", - "entries": [ - { - "url": "http://works.jinbuguo.com/postgresql/menu823/index.html", - "title": "PostgreSQL 8.2.3 中文文档" - }, - { - "url": "http://www.postgres.cn/docs/9.3/index.html", - "title": "PostgreSQL 9.3.1 中文文档" - }, - { - "url": "http://www.postgres.cn/docs/9.4/index.html", - "title": "PostgreSQL 9.4.4 中文文档" - }, - { - "url": "http://www.postgres.cn/docs/9.5/index.html", - "title": "PostgreSQL 9.5.3 中文文档" - }, - { - "url": "http://www.postgres.cn/docs/9.6/index.html", - "title": "PostgreSQL 9.6.0 中文文档" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "https://bop.molun.net", - "title": "简明 Python 教程" - }, - { - "url": "https://www.cnblogs.com/derek1184405959/p/8579428.html", - "title": "人生苦短,我用python" - }, - { - "url": "https://github.com/jiechic/diveintopython3", - "title": "深入 Python 3" - }, - { - "url": "https://www.ctolib.com/docs/sfile/think-python-2e/0.html", - "title": "像计算机科学家一样思考Python" - }, - { - "url": "http://www.osgeo.cn/matplotlib/", - "title": "Matplotlib 3.0.3 中文文档" - }, - { - "url": "http://www.osgeo.cn/numpy/", - "title": "Numpy 1.16 中文文档" - }, - { - "url": "http://docspy3zh.readthedocs.org/en/latest/", - "title": "Python 3 文档(简体中文) 3.2.2 documentation" - }, - { - "url": "http://www.osgeo.cn/cpython/", - "title": "Python 3.8.0a3中文文档" - }, - { - "url": "http://www.pythondoc.com", - "title": "Python 中文学习大本营" - }, - { - "url": "https://pythonguidecn.readthedocs.io/zh/latest/", - "title": "Python 最佳实践指南" - }, - { - "url": "http://python3-cookbook.readthedocs.io/zh_CN/latest/", - "title": "Python Cookbook第三版" - }, - { - "url": "http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000", - "title": "Python教程 - 廖雪峰的官方网站" - }, - { - "url": "https://interpy.eastlakeside.com", - "title": "Python进阶" - }, - { - "url": "http://funhacks.net/explore-python", - "title": "Python之旅" - }, - { - "url": "http://www.osgeo.cn/tornado/", - "title": "Tornado 6.1 中文文档" - } - ], - "subsections": [ - { - "section": "Django", - "entries": [ - { - "url": "https://www.yiyibooks.cn/xx/Django_1.11.6/index.html", - "title": "Django 1.11.6 中文文档" - }, - { - "url": "http://www.osgeo.cn/django/", - "title": "Django 2.2.1 中文文档" - }, - { - "url": "https://www.dusaiphoto.com/article/detail/2", - "title": "Django 搭建个人博客教程 (2.1)" - }, - { - "url": "http://djangobook.py3k.cn/2.0/", - "title": "Django book 2.0" - }, - { - "url": "https://tutorial.djangogirls.org/zh/", - "title": "Django Girls 教程 (1.11)" - } - ] - } - ] - }, - { - "section": "R", - "entries": [ - { - "url": "http://cran.r-project.org/doc/contrib/Liu-FAQ.pdf", - "title": "153分钟学会 R" - }, - { - "url": "http://cran.r-project.org/doc/contrib/Xu-Statistics_and_R.pdf", - "title": "统计学与 R 读书笔记" - }, - { - "url": "http://yanping.me/shiny-tutorial/", - "title": "用 R 构建 Shiny 应用程序" - }, - { - "url": "http://cran.r-project.org/doc/contrib/Ding-R-intro_cn.pdf", - "title": "R 导论" - } - ], - "subsections": [] - }, - { - "section": "reStructuredText", - "entries": [ - { - "url": "http://www.pythondoc.com/sphinx/rest.html", - "title": "reStructuredText 入门" - } - ], - "subsections": [] - }, - { - "section": "Ruby", - "entries": [ - { - "url": "http://lrthw.github.io", - "title": "笨方法学 Ruby" - }, - { - "url": "https://github.com/JuanitoFatas/rails-style-guide/blob/master/README-zhCN.md", - "title": "Rails 风格指南" - }, - { - "url": "https://github.com/JuanitoFatas/ruby-style-guide/blob/master/README-zhCN.md", - "title": "Ruby 风格指南" - }, - { - "url": "https://ihower.tw/rails4/", - "title": "Ruby on Rails 实战圣经" - }, - { - "url": "http://guides.ruby-china.org", - "title": "Ruby on Rails 指南" - }, - { - "url": "http://www.sinatrarb.com/intro-zh.html", - "title": "Sinatra" - } - ], - "subsections": [] - }, - { - "section": "Rust", - "entries": [ - { - "url": "https://github.com/rustcc/rust-by-example/", - "title": "通过例子学习 Rust" - }, - { - "url": "https://github.com/KaiserY/rust-book-chinese", - "title": "Rust 官方教程" - }, - { - "url": "https://github.com/photino/rust-notes", - "title": "Rust 语言学习笔记" - }, - { - "url": "https://github.com/rustcc/RustPrimer", - "title": "RustPrimer" - } - ], - "subsections": [] - }, - { - "section": "Scala", - "entries": [ - { - "url": "http://twitter.github.io/effectivescala/index-cn.html", - "title": "Effective Scala" - }, - { - "url": "https://www.gitbook.com/book/windor/beginners-guide-to-scala/details", - "title": "Scala 初学者指南" - }, - { - "url": "http://twitter.github.io/scala_school/zh_cn/index.html", - "title": "Scala 课堂" - } - ], - "subsections": [] - }, - { - "section": "Scheme", - "entries": [ - { - "url": "http://deathking.github.io/yast-cn/", - "title": "Scheme 入门教程" - } - ], - "subsections": [] - }, - { - "section": "Scratch", - "entries": [ - { - "url": "http://cccgchinese.strikingly.com", - "title": "创意计算课程指南" - } - ], - "subsections": [] - }, - { - "section": "Shell", - "entries": [ - { - "url": "https://tinylab.gitbooks.io/shellbook/content", - "title": "Shell 编程范例" - }, - { - "url": "http://wiki.ubuntu.org.cn/Shell%E7%BC%96%E7%A8%8B%E5%9F%BA%E7%A1%80", - "title": "Shell 编程基础" - }, - { - "url": "https://github.com/qinjx/30min_guides/blob/master/shell.md", - "title": "Shell 脚本编程30分钟入门" - }, - { - "url": "http://me.52fhy.com/shell-book/", - "title": "shell-book" - }, - { - "url": "http://billie66.github.io/TLCL/book/", - "title": "The Linux Command Line 中文版" - } - ], - "subsections": [] - }, - { - "section": "Swift", - "entries": [ - { - "url": "https://www.gitbook.com/book/numbbbbb/-the-swift-programming-language-/details", - "title": "《The Swift Programming Language》中文版" - } - ], - "subsections": [] - }, - { - "section": "TypeScript", - "entries": [ - { - "url": "https://www.runoob.com/typescript/ts-tutorial.html", - "title": "TypeScript 教程" - }, - { - "url": "https://www.runoob.com/w3cnote/getting-started-with-typescript.html", - "title": "TypeScript 入门教程" - }, - { - "url": "https://www.tslang.cn", - "title": "TypeScript 中文网" - }, - { - "url": "https://github.com/jkchao/typescript-book-chinese", - "title": "TypeScript Deep Dive 中文版" - }, - { - "url": "https://www.runoob.com/manual/gitbook/TypeScript/_book/", - "title": "TypeScript Handbook(中文版)" - } - ], - "subsections": [ - { - "section": "Angular", - "entries": [ - { - "url": "https://angular.cn/docs", - "title": "Angular 文档简介" - }, - { - "url": "https://material.angular.cn", - "title": "Angular Material 组件库" - }, - { - "url": "https://angular.cn/tutorial", - "title": "Angular Tutorial (教程:英雄之旅)" - } - ] - }, - { - "section": "Deno", - "entries": [ - { - "url": "https://deno-tutorial.js.org", - "title": "Deno 钻研之术" - }, - { - "url": "https://chenshenhai.com/deno_note", - "title": "Deno进阶开发笔记" - } - ] - } - ] - }, - { - "section": "VBA (Microsoft Visual Basic Applications)", - "entries": [ - { - "url": "https://github.com/Youchien/concise-excel-vba", - "title": "简明Excel VBA" - } - ], - "subsections": [] - }, - { - "section": "Vim", - "entries": [ - { - "url": "http://www.study-area.org/tips/vim/index.html", - "title": "大家來學 VIM" - } - ], - "subsections": [] - }, - { - "section": "Visual Prolog", - "entries": [ - { - "url": "http://wiki.visual-prolog.com/index.php?title=Visual_Prolog_for_Tyros_in_Chinese", - "title": "Visual Prolog 7边练边学" - }, - { - "url": "http://wiki.visual-prolog.com/index.php?title=A_Beginners_Guide_to_Visual_Prolog_in_Chinese", - "title": "Visual Prolog 7初学指南" - } - ], - "subsections": [] - }, - { - "section": "WebAssembly", - "entries": [ - { - "url": "https://github.com/3dgen/cppwasm-book", - "title": "C/C++面向WebAssembly编程" - } - ], - "subsections": [] - } - ] - }, - { - "language": { - "code": "en-US", - "name": "English" - }, - "index": {}, - "sections": [ - { - "section": "0 - Meta-Lists", - "entries": [ - { - "url": "http://www.atariarchives.org", - "title": "atariarchives.org" - }, - { - "url": "https://www.bento.io", - "title": "Bento" - }, - { - "url": "http://bitsavers.trailing-edge.com", - "title": "Bitsavers.org" - }, - { - "url": "http://bookboon.com/en/it-programming-ebooks", - "title": "Bookboon: IT & Programming" - }, - { - "url": "https://codecatalog.org", - "title": "Code Catalog: A Collection of Code Examples from Prominent Open Source Projects" - }, - { - "url": "http://conceptf1.blogspot.com/2013/11/list-of-freely-available-programming.html", - "title": "conceptf1.blogspot.com" - }, - { - "url": "http://stephane.ducasse.free.fr/FreeBooks.html", - "title": "Free Smalltalk Books, collected by Stéphane Ducasse" - }, - { - "url": "http://www.freetechbooks.com", - "title": "Free Tech Books" - }, - { - "url": "https://goalkicker.com", - "title": "Goalkicker" - }, - { - "url": "http://www.redbooks.ibm.com", - "title": "IBM Redbooks" - }, - { - "url": "http://www.infoq.com/minibooks/", - "title": "InfoQ Minibooks" - }, - { - "url": "http://www.intechopen.com/subjects/computer-and-information-science", - "title": "InTech: Computer and Information Science" - }, - { - "url": "https://github.com/revolunet/JSbooks", - "title": "JSBooks - directory of free javascript ebooks" - }, - { - "url": "https://learnxinyminutes.com", - "title": "Learn X in Y minutes" - }, - { - "url": "https://www.learneroo.com/modules/12/nodes/96", - "title": "Learneroo Resources to Learn Programming" - }, - { - "url": "https://blogs.msdn.microsoft.com/mssmallbiz/2014/07/07/largest-collection-of-free-microsoft-ebooks-ever-including-windows-8-1-windows-8-windows-7-office-2013-office-365-office-2010-sharepoint-2013-dynamics-crm-powershell-exchange-server-lync-2/", - "title": "Microsoft Guides to Software" - }, - { - "url": "https://mva.microsoft.com/ebooks", - "title": "Microsoft Press: Free E-Books" - }, - { - "url": "https://blogs.msdn.microsoft.com/mssmallbiz/2012/07/27/large-collection-of-free-microsoft-ebooks-for-you-including-sharepoint-visual-studio-windows-phone-windows-8-office-365-office-2010-sql-server-2012-azure-and-more/", - "title": "Microsoft Technologies 1, including books on Windows Azure, SharePoint, Visual Studio Guide, Windows phone development, ASP.net, Office365, etc. collection by Eric Ligman" - }, - { - "url": "https://blogs.msdn.microsoft.com/mssmallbiz/2012/07/30/another-large-collection-of-free-microsoft-ebooks-and-resource-kits-for-you-including-sharepoint-2013-office-2013-office-365-duet-2-0-azure-cloud-windows-phone-lync-dynamics-crm-and-more/", - "title": "Microsoft Technologies 2, including books on Windows Azure, SharePoint, Visual Studio Guide, Windows phone development, ASP.net, etc. collection by Eric Ligman" - }, - { - "url": "http://www.oreilly.com/openbook/", - "title": "O'Reilly's Open Books Project" - }, - { - "url": "https://github.com/papers-we-love/papers-we-love", - "title": "Papers we love" - }, - { - "url": "https://en.wikibooks.org/wiki/Category%3aComputer_programming", - "title": "Programming" - }, - { - "url": "http://www.red-gate.com/community/books/index", - "title": "Red Gate Books" - }, - { - "url": "http://stephane.ducasse.free.fr/FreeBooks/", - "title": "Stef's Free Online Smalltalk Books" - }, - { - "url": "http://www.techbeamers.com", - "title": "TechBeamers.com" - }, - { - "url": "http://www.techbooksforfree.com", - "title": "TechBooksForFree.com" - }, - { - "url": "http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list", - "title": "The Definitive C++ Book Guide and List" - }, - { - "url": "http://theassayer.org", - "title": "Theassayer.org" - }, - { - "url": "http://www.tutorialspoint.com", - "title": "tutorialspoint" - } - ], - "subsections": [] - }, - { - "section": "Graphics Programming", - "entries": [ - { - "url": "https://github.com/lettier/3d-game-shaders-for-beginners", - "title": "3D Game Shaders For Beginners" - }, - { - "url": "https://en.wikibooks.org/wiki/Blender_3D%3A_Noob_to_Pro", - "title": "Blender 3D: Noob to Pro" - }, - { - "url": "https://docs.blender.org/manual/en/latest", - "title": "Blender Manual" - }, - { - "url": "http://gabrielgambetta.com/computer-graphics-from-scratch", - "title": "Computer Graphics from scratch" - }, - { - "url": "http://user.xmission.com/~legalize/book/download/index.html", - "title": "DirectX manual" - }, - { - "url": "https://developer.nvidia.com/gpugems/GPUGems/gpugems_pref01.html", - "title": "GPU Gems" - }, - { - "url": "http://www.gamedev.net/page/resources/_/technical/graphics-programming-and-theory/graphics-programming-black-book-r1698", - "title": "Graphics Programming Black Book" - }, - { - "url": "https://open.gl", - "title": "Introduction to Modern OpenGL" - }, - { - "url": "https://leanpub.com/introductiontotouchdesigner/", - "title": "Introduction to TouchDesigner 099" - }, - { - "url": "https://www.scratchapixel.com", - "title": "Learn Computer Graphics From Scratch!" - }, - { - "url": "http://learnopengl.com", - "title": "Learn OpenGL" - }, - { - "url": "https://github.com/bwasty/learn-opengl-rs", - "title": "Learn OpenGL RS" - }, - { - "url": "https://web.archive.org/web/20150225192611/http://www.arcsynthesis.org/gltut/index.html", - "title": "Learning Modern 3D Graphics Programming" - }, - { - "url": "https://www.cs.csustan.edu/~rsc/CS3600F00/Notes.pdf", - "title": "Notes for a Computer Graphics Programming Course" - }, - { - "url": "http://www.songho.ca/opengl/index.html", - "title": "OpenGL" - }, - { - "url": "https://raytracing.github.io", - "title": "Ray Tracing in One Weekend" - }, - { - "url": "http://www.realtimerendering.com/resources/shaderx/", - "title": "ShaderX series" - }, - { - "url": "http://www.opengl-tutorial.org", - "title": "Tutorials for modern OpenGL" - }, - { - "url": "http://webglinsights.com", - "title": "WebGL Insights" - } - ], - "subsections": [ - { - "section": "Vulkan", - "entries": [ - { - "url": "https://vulkan-tutorial.com", - "title": "Vulkan Tutorial" - }, - { - "url": "https://github.com/Naitsirc98/Vulkan-Tutorial-Java", - "title": "Vulkan Tutorial Java" - }, - { - "url": "https://github.com/bwasty/vulkan-tutorial-rs", - "title": "Vulkan Tutorial RS" - }, - { - "url": "https://vulkano.rs/guide/introduction", - "title": "Vulkano" - } - ] - } - ] - }, - { - "section": "Graphical User Interfaces", - "entries": [ - { - "url": "https://developer.gnome.org/gtkmm-tutorial/stable/", - "title": "Programming with gtkmm 4" - }, - { - "url": "http://searchuserinterfaces.com/book/", - "title": "Search User Interfaces" - }, - { - "url": "https://people.gnome.org/~swilmet/glib-gtk-dev-platform.pdf", - "title": "The GLib/GTK+ Development Platform" - } - ], - "subsections": [] - }, - { - "section": "GraphQL", - "entries": [ - { - "url": "https://github.com/GraphQLCollege/fullstack-graphql", - "title": "Fullstack GraphQL" - } - ], - "subsections": [] - }, - { - "section": "Language Agnostic", - "entries": [], - "subsections": [ - { - "section": "Algorithms & Data Structures", - "entries": [ - { - "url": "https://web.archive.org/web/20191020195105/http://www0.cs.ucl.ac.uk/staff/W.Langdon/ftp/papers/poli08_fieldguide.pdf", - "title": "A Field Guide To Genetic Programming" - }, - { - "url": "https://archive.org/details/AlgorithmDesign1stEditionByJonKleinbergAndEvaTardos2005PDF", - "title": "Algorithm Design" - }, - { - "url": "http://code.google.com/p/graphbook/", - "title": "Algorithmic Graph Theory" - }, - { - "url": "https://en.wikibooks.org/wiki/Algorithms", - "title": "Algorithms" - }, - { - "url": "http://algs4.cs.princeton.edu/home/", - "title": "Algorithms, 4th Edition" - }, - { - "url": "https://archive.org/details/Algorithms_And_Automatic_Computing_Machines", - "title": "Algorithms and Automatic Computing Machines (1963)" - }, - { - "url": "https://www.math.upenn.edu/~wilf/AlgoComp.pdf", - "title": "Algorithms and Complexity" - }, - { - "url": "http://jeffe.cs.illinois.edu/teaching/algorithms/", - "title": "Algorithms Course Materials" - }, - { - "url": "https://goalkicker.com/AlgorithmsBook", - "title": "Algorithms Notes for Professionals" - }, - { - "url": "http://www.cse.iitd.ernet.in/~ssen/csl356/admin356.html", - "title": "Analysis and Design of Algorithms" - }, - { - "url": "http://visualgo.net", - "title": "Animated Algorithm and Data Structure Visualization" - }, - { - "url": "https://github.com/mdipierro/nlib", - "title": "Annotated Algorithms in Python: Applications in Physics, Biology, and Finance" - }, - { - "url": "http://cslibrary.stanford.edu/110/BinaryTrees.pdf", - "title": "Binary Trees" - }, - { - "url": "http://www.cse.iitd.ernet.in/~suban/cs130/index.html", - "title": "Data Structures" - }, - { - "url": "http://www-inst.eecs.berkeley.edu/~cs61b/fa14/book2/data-structures.pdf", - "title": "Data Structures (Into Java) - Paul N. Hilfinger" - }, - { - "url": "https://web.archive.org/web/20170715160229/http://dotnetslackers.com/Community/files/folders/data-structures-and-algorithms/entry30283.aspx", - "title": "Data Structures and Algorithms: Annotated Reference with Examples" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/datastructurespart1", - "title": "Data Structures Succinctly Part 1, Syncfusion" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/datastructurespart2", - "title": "Data Structures Succinctly Part 2, Syncfusion" - }, - { - "url": "https://github.com/liuxinyu95/AlgoXY", - "title": "Elementary Algorithms" - }, - { - "url": "http://infolab.stanford.edu/~ullman/focs.html", - "title": "Foundations of Computer Science" - }, - { - "url": "http://geomalgorithms.com", - "title": "Geometry Algorithms" - }, - { - "url": "http://ianparberry.com/books/free/license.html", - "title": "Lectures Notes on Algorithm Analysis and Computational Complexity (Fourth Edition)" - }, - { - "url": "http://people.mpi-inf.mpg.de/~mehlhorn/LEDAbook.html", - "title": "LEDA: A Platform for Combinatorial and Geometric Computing" - }, - { - "url": "http://cslibrary.stanford.edu/103/LinkedListBasics.pdf", - "title": "Linked List Basics" - }, - { - "url": "http://cslibrary.stanford.edu/105/LinkedListProblems.pdf", - "title": "Linked List Problems" - }, - { - "url": "http://www.jjj.de/fxt/fxtbook.pdf", - "title": "Matters Computational: Ideas, Algorithms, Source Code" - }, - { - "url": "http://opendatastructures.org", - "title": "Open Data Structures: An Introduction" - }, - { - "url": "http://planning.cs.uiuc.edu", - "title": "Planning Algorithms" - }, - { - "url": "http://ianparberry.com/books/free/license.html", - "title": "Problems on Algorithms (Second Edition)" - }, - { - "url": "http://www.cs.cmu.edu/~rwh/theses/okasaki.pdf", - "title": "Purely Functional Data Structures (1996)" - }, - { - "url": "http://www.inf.fh-flensburg.de/lang/algorithmen/sortieren/algoen.htm", - "title": "Sequential and parallel sorting algorithms" - }, - { - "url": "http://igm.univ-mlv.fr/~mac/REC/text-algorithms.pdf", - "title": "Text Algorithms" - }, - { - "url": "http://www8.cs.umu.se/kurser/TDBAfl/VT06/algorithms/BOOK/BOOK/BOOK.HTM", - "title": "The Algorithm Design Manual" - }, - { - "url": "http://www.cs.utsa.edu/~wagner/knuth/", - "title": "The Art of Computer Programming" - }, - { - "url": "http://www.designofapproxalgs.com/book.pdf", - "title": "The Design of Approximation Algorithms" - }, - { - "url": "http://cslibrary.stanford.edu/109/TreeListRecursion.pdf", - "title": "The Great Tree List Recursion Problem" - }, - { - "url": "https://www.syncfusion.com/ebooks/kademlia_protocol_succinctly", - "title": "The Kademlia Protocol Succinctly" - }, - { - "url": "https://greenteapress.com/wp/think-complexity-2e/", - "title": "Think Complexity" - } - ] - }, - { - "section": "Artificial Intelligence", - "entries": [ - { - "url": "https://github.com/correll/Introduction-to-Autonomous-Robots/releases", - "title": "Introduction to Autonomous Robots" - }, - { - "url": "http://ai.stanford.edu/~nilsson/QAI/qai.pdf", - "title": "The Quest for Artificial Intelligence: A History of Ideas and Achievements" - } - ] - }, - { - "section": "Cellular Automata", - "entries": [ - { - "url": "https://www.wolframscience.com/nksonline/toc.html", - "title": "A New Kind of Science" - } - ] - }, - { - "section": "Cloud Computing", - "entries": [ - { - "url": "https://docs.aws.amazon.com/wellarchitected/latest/framework", - "title": "AWS Well-Architected Framework" - }, - { - "url": "https://azure.microsoft.com/en-us/resources/azure-for-architects/", - "title": "Azure for Architects, Third Edition" - }, - { - "url": "https://www.syncfusion.com/ebooks/azure-functions-succinctly", - "title": "Azure Functions Succinctly, Syncfusion" - }, - { - "url": "https://cloud4scieng.org/chapters/", - "title": "Cloud Computing for Science and Engineering" - }, - { - "url": "https://docs.microsoft.com/en-us/azure/architecture/patterns/", - "title": "Cloud Design Patterns" - }, - { - "url": "https://azure.microsoft.com/en-us/resources/designing-distributed-systems/", - "title": "Designing Distributed Systems" - }, - { - "url": "https://azure.microsoft.com/mediahandler/files/resourcefiles/learn-azure-in-a-month-of-lunches/Learn_Azure_in_a_Month_of_Lunches.pdf", - "title": "Learn Azure in a Month of Lunches" - }, - { - "url": "https://www.datadoghq.com/ebook/monitoring-modern-infrastructure/", - "title": "Monitoring Modern Infrastructure" - }, - { - "url": "http://www.microsoft.com/en-us/download/details.aspx?id=29263", - "title": "Multi-tenant Applications for the Cloud, 3rd Edition" - }, - { - "url": "https://docs.openstack.org/ops-guide/index.html", - "title": "OpenStack Operations Guide" - }, - { - "url": "https://developers.redhat.com/books/introducing-istio-service-mesh-microservices/", - "title": "Streamline microservice management with Istio Service Mesh" - }, - { - "url": "https://azure.microsoft.com/en-us/campaigns/developer-guide/", - "title": "The Developer’s Guide to Azure" - } - ] - }, - { - "section": "Competitive Programming", - "entries": [ - { - "url": "https://cses.fi/book/book.pdf", - "title": "Competitive Programmer's Handbook" - }, - { - "url": "https://cpbook.net/#CP1details", - "title": "Competitive Programming, 1st Edition" - }, - { - "url": "https://cpbook.net/#CP2details", - "title": "Competitive Programming, 2nd Edition" - }, - { - "url": "http://www.csc.kth.se/~jsannemo/slask/main.pdf", - "title": "Principles of Algorithmic Problem Solving" - } - ] - }, - { - "section": "Compiler Design", - "entries": [ - { - "url": "https://web.archive.org/web/20170326232435/http://www.network-theory.co.uk/docs/gccintro/index.html", - "title": "An Introduction to GCC" - }, - { - "url": "http://www.diku.dk/~torbenm/Basics/", - "title": "Basics of Compiler Design (Anniversary Edition)" - }, - { - "url": "http://www.holub.com/software/compiler.design.in.c.html", - "title": "Compiler Design in C (1990)" - }, - { - "url": "http://elvis.rowan.edu/~bergmann/books/Compiler_Design/c_cpp/Text/C_CppEd.pdf", - "title": "Compiler Design: Theory, Tools, and Examples, C/C++ Edition" - }, - { - "url": "http://elvis.rowan.edu/~bergmann/books/Compiler_Design/java/CompilerDesignBook.pdf", - "title": "Compiler Design: Theory, Tools, and Examples, Java Edition" - }, - { - "url": "http://lampwww.epfl.ch/~schinz/thesis-final-A4.pdf", - "title": "Compiling Scala for the Java Virtual Machine" - }, - { - "url": "http://www.chilton-computing.org.uk/acl/literature/books/compilingtechniques/overview.htm", - "title": "Compiling Techniques (1969)" - }, - { - "url": "http://www.craftinginterpreters.com", - "title": "Crafting Interpreters (:construction:)" - }, - { - "url": "http://research.microsoft.com/en-us/um/people/simonpj/Papers/pj-lester-book/", - "title": "Implementing Functional Languages: A Tutorial" - }, - { - "url": "http://www.stack.nl/~marcov/compiler.pdf", - "title": "Let's Build a Compiler" - }, - { - "url": "http://web.stanford.edu/class/archive/cs/cs143/cs143.1128/", - "title": "Practical and Theoretical Aspects of Compiler Construction" - }, - { - "url": "https://tomassetti.me/antlr-mega-tutorial/", - "title": "The ANTLR Mega Tutorial" - } - ] - }, - { - "section": "Computer Science", - "entries": [ - { - "url": "https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf", - "title": "Computational Thinking" - }, - { - "url": "https://bitbucket.org/chrisbourke/computersciencei/src", - "title": "Computer Science I - Draft" - }, - { - "url": "http://cse.unl.edu/~cbourke/ComputerScienceTwo.pdf", - "title": "Computer Science II - Draft" - }, - { - "url": "https://www.openbookproject.net/books/StudentCSP/", - "title": "CS Principles: Big Ideas in Programming" - } - ] - }, - { - "section": "Computer Vision", - "entries": [ - { - "url": "http://homepages.inf.ed.ac.uk/rbf/BOOKS/BANDB/bandb.htm", - "title": "Computer Vision" - }, - { - "url": "http://szeliski.org/Book/", - "title": "Computer Vision: Algorithms and Applications" - }, - { - "url": "http://www.computervisionmodels.com", - "title": "Computer Vision: Models, Learning, and Inference" - }, - { - "url": "http://programmingcomputervision.com", - "title": "Programming Computer Vision with Python" - } - ] - }, - { - "section": "Containers", - "entries": [ - { - "url": "http://odewahn.github.io/docker-jumpstart/", - "title": "Docker Jumpstart" - } - ] - }, - { - "section": "Database", - "entries": [ - { - "url": "https://open.bccampus.ca/browse-our-collection/find-open-textbooks/?uuid=5b6f010a-0563-44d4-94c5-67caa515d2c5", - "title": "Database Design, 2nd Ed." - }, - { - "url": "http://www.dcs.warwick.ac.uk/~hugh/TTM/Database-Explorations-revision-2.pdf", - "title": "Database Explorations" - }, - { - "url": "http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Database_fundamentals.pdf", - "title": "Database Fundamentals" - }, - { - "url": "http://www.dcs.warwick.ac.uk/~hugh/TTM/DTATRM.pdf", - "title": "Databases, Types, and The Relational Model: The Third Manifesto" - }, - { - "url": "http://webdam.inria.fr/Alice/", - "title": "Foundations of Databases" - }, - { - "url": "http://www.redbook.io", - "title": "Readings in Database Systems, 5th Ed." - }, - { - "url": "http://people.cs.aau.dk/~csj/Thesis/", - "title": "Temporal Database Management" - }, - { - "url": "http://web.cecs.pdx.edu/~maier/TheoryBook/TRD.html", - "title": "The Theory of Relational Databases" - } - ] - }, - { - "section": "Datamining", - "entries": [ - { - "url": "http://guidetodatamining.com", - "title": "A Programmer's Guide to Data Mining" - }, - { - "url": "http://www.oreilly.com/data/free/data-jujitsu.csp", - "title": "Data Jujitsu: The Art of Turning Data into Product" - }, - { - "url": "https://en.wikibooks.org/wiki/Data_Mining_Algorithms_In_R", - "title": "Data Mining Algorithms In R" - }, - { - "url": "http://arxiv.org/pdf/1206.1754v2.pdf", - "title": "Internet Advertising: An Interplay among Advertisers, Online Publishers, Ad Exchanges and Web Users" - }, - { - "url": "https://docs.google.com/file/d/0B6iefdnF22XQeVZDSkxjZ0Z5VUE/edit?pli=1", - "title": "Introduction to Data Science" - }, - { - "url": "https://leanpub.com/datasciencebook", - "title": "Introduction to Data Science" - }, - { - "url": "http://www.mmds.org", - "title": "Mining of Massive Datasets" - }, - { - "url": "http://schoolofdata.org/handbook/", - "title": "School of Data Handbook" - }, - { - "url": "https://leanpub.com/LittleInferenceBook/read", - "title": "Statistical inference for data science" - }, - { - "url": "https://www.analyticsvidhya.com/blog/2018/08/dimensionality-reduction-techniques-python/", - "title": "The Ultimate Guide to 12 Dimensionality Reduction Techniques (with Python codes)" - }, - { - "url": "http://www.intechopen.com/books/theory-and-applications-for-advanced-text-mining", - "title": "Theory and Applications for Advanced Text Mining" - } - ] - }, - { - "section": "Game Development", - "entries": [ - { - "url": "https://github.com/Penaz91/2DGD_F0TH", - "title": "2D Game Development: From Zero To Hero" - }, - { - "url": "https://turtleappstore.com/book/", - "title": "Coding With Minecraft" - }, - { - "url": "https://mud.co.uk/richard/DesigningVirtualWorlds.pdf", - "title": "Designing Virtual Worlds" - }, - { - "url": "http://www.gameaipro.com", - "title": "Game AI Pro" - }, - { - "url": "https://ensadi.github.io/AGSBook/", - "title": "Game Design with AGS" - }, - { - "url": "http://gameprogrammingpatterns.com", - "title": "Game Programming Patterns" - }, - { - "url": "http://pcgbook.com", - "title": "Procedural Content Generation in Games" - } - ] - }, - { - "section": "Information Retrieval", - "entries": [ - { - "url": "http://www.csee.umbc.edu/csee/research/cadip/readings/IR.report.120600.book.pdf", - "title": "Information Retrieval: A Survey" - }, - { - "url": "http://nlp.stanford.edu/IR-book/information-retrieval-book.html", - "title": "Introduction to Information Retrieval" - } - ] - }, - { - "section": "Licensing", - "entries": [ - { - "url": "http://www.aliprandi.org/cc-user-guide/", - "title": "Creative Commons: a user guide" - }, - { - "url": "http://rosenlaw.com/oslbook/", - "title": "Open Source Licensing Software Freedom and Intellectual Property Law" - }, - { - "url": "http://www.thepublicdomain.org/download/", - "title": "The Public Domain: Enclosing the Commons of the Mind" - } - ] - }, - { - "section": "Machine Learning", - "entries": [ - { - "url": "https://arxiv.org/pdf/1709.02840.pdf", - "title": "A Brief Introduction to Machine Learning for Engineers" - }, - { - "url": "http://www.dkriesel.com/en/science/neural_networks", - "title": "A Brief Introduction to Neural Networks" - }, - { - "url": "https://www.eecs189.org/static/resources/comprehensive-guide.pdf", - "title": "A Comprehensive Guide to Machine Learning" - }, - { - "url": "http://ciml.info/dl/v0_9/ciml-v0_9-all.pdf", - "title": "A Course in Machine Learning" - }, - { - "url": "https://www.ics.uci.edu/~welling/teaching/ICS273Afall11/IntroMLBook.pdf", - "title": "A First Encounter with Machine Learning" - }, - { - "url": "https://arxiv.org/abs/1904.05526", - "title": "A Selective Overview of Deep Learning" - }, - { - "url": "https://sites.ualberta.ca/~szepesva/papers/RLAlgsInMDPs.pdf", - "title": "Algorithms for Reinforcement Learning" - }, - { - "url": "http://www-bcf.usc.edu/~gareth/ISL/", - "title": "An Introduction to Statistical Learning" - }, - { - "url": "http://web4.cs.ucl.ac.uk/staff/D.Barber/pmwiki/pmwiki.php?n=Brml.HomePage", - "title": "Bayesian Reasoning and Machine Learning" - }, - { - "url": "http://www.deeplearningbook.org", - "title": "Deep Learning" - }, - { - "url": "https://github.com/fastai/fastbook", - "title": "Deep Learning for Coders with Fastai and PyTorch" - }, - { - "url": "https://pytorch.org/assets/deep-learning/Deep-Learning-with-PyTorch.pdf", - "title": "Deep Learning with PyTorch" - }, - { - "url": "http://d2l.ai", - "title": "Dive into Deep Learning" - }, - { - "url": "https://web.stanford.edu/group/pdplab/pdphandbook", - "title": "Explorations in Parallel Distributed Processing: A Handbook of Models, Programs, and Exercises" - }, - { - "url": "https://mitpress.ublish.com/ereader/7093/?preview=#page/Cover", - "title": "Foundations of Machine Learning, Second Edition" - }, - { - "url": "https://freeandopenmachinelearning.readthedocs.io/en/latest/index.html", - "title": "Free and Open Machine Learning" - }, - { - "url": "http://www.gaussianprocess.org/gpml/", - "title": "Gaussian Processes for Machine Learning" - }, - { - "url": "https://www.ibm.com/downloads/cas/GB8ZMQZ3", - "title": "IBM Machine Learning for Dummies" - }, - { - "url": "http://www.inference.phy.cam.ac.uk/itila/", - "title": "Information Theory, Inference, and Learning Algorithms" - }, - { - "url": "https://christophm.github.io/interpretable-ml-book/", - "title": "Interpretable Machine Learning" - }, - { - "url": "https://www.syncfusion.com/ebooks/cntk_succinctly", - "title": "Introduction to CNTK Succinctly" - }, - { - "url": "http://arxiv.org/abs/0904.3664v1", - "title": "Introduction to Machine Learning" - }, - { - "url": "https://www.syncfusion.com/ebooks/keras-succinctly", - "title": "Keras Succinctly" - }, - { - "url": "https://bitbucket.org/hrojas/learn-tensorflow", - "title": "Learn Tensorflow" - }, - { - "url": "https://mila.quebec/wp-content/uploads/2019/08/TR1312.pdf", - "title": "Learning Deep Architectures for AI" - }, - { - "url": "http://www.intechopen.com/books/machine_learning", - "title": "Machine Learning" - }, - { - "url": "https://moa.cms.waikato.ac.nz/book-html/", - "title": "Machine Learning for Data Streams" - }, - { - "url": "https://dafriedman97.github.io/mlbook/content/introduction.html", - "title": "Machine Learning from Scratch" - }, - { - "url": "http://www1.maths.leeds.ac.uk/~charles/statlog/", - "title": "Machine Learning, Neural and Statistical Classification" - }, - { - "url": "https://gwthomas.github.io/docs/math4ml.pdf", - "title": "Mathematics for Machine Learning" - }, - { - "url": "https://mml-book.github.io", - "title": "Mathematics for Machine Learning" - }, - { - "url": "http://neuralnetworksanddeeplearning.com", - "title": "Neural Networks and Deep Learning" - }, - { - "url": "http://idiom.ucsd.edu/~rlevy/pmsl_textbook/text.html", - "title": "Probabilistic Models in the Study of Language" - }, - { - "url": "https://www.digitalocean.com/community/books/python-machine-learning-projects-a-digitalocean-ebook", - "title": "Python Machine Learning Projects" - }, - { - "url": "http://incompleteideas.net/book/RLbook2020.pdf", - "title": "Reinforcement Learning: An Introduction" - }, - { - "url": "https://web.stanford.edu/~jurafsky/slp3/ed3book.pdf", - "title": "Speech and Language Processing (3rd Edition Draft)" - }, - { - "url": "https://web.stanford.edu/~hastie/ElemStatLearn/", - "title": "The Elements of Statistical Learning" - }, - { - "url": "https://intelligent-optimization.org/LIONbook/lionbook_3v0.pdf", - "title": "The LION Way: Machine Learning plus Intelligent Optimization" - }, - { - "url": "http://thepythongamebook.com/en%3Astart", - "title": "The Python Game Book" - }, - { - "url": "https://www.dezyre.com/article/top-10-machine-learning-algorithms/202", - "title": "Top 10 Machine Learning Algorithms Every Engineer Should Know" - }, - { - "url": "https://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning", - "title": "Understanding Machine Learning: From Theory to Algorithms" - } - ] - }, - { - "section": "Mathematics", - "entries": [ - { - "url": "https://shoup.net/ntb/", - "title": "A Computational Introduction to Number Theory and Algebra" - }, - { - "url": "http://math.sfsu.edu/beck/complex.html", - "title": "A First Course in Complex Analysis" - }, - { - "url": "http://linear.ups.edu", - "title": "A First Course in Linear Algebra" - }, - { - "url": "https://milneopentextbooks.org/a-friendly-introduction-to-mathematical-logic/", - "title": "A Friendly Introduction to Mathematical Logic" - }, - { - "url": "https://osj1961.github.io/giam/", - "title": "A Gentle Introduction to the Art of Mathematics" - }, - { - "url": "https://pimbook.org", - "title": "A Programmer's Introduction to Mathematics" - }, - { - "url": "http://abstract.ups.edu", - "title": "Abstract Algebra: Theory and Applications" - }, - { - "url": "https://scholarworks.gvsu.edu/books/20/", - "title": "Active Calculus" - }, - { - "url": "http://www.math.stonybrook.edu/~aknapp/download/a2-alg-inside.pdf", - "title": "Advanced Algebra" - }, - { - "url": "https://homepage.divms.uiowa.edu/~goodman/algebrabook.dir/algebrabook.html", - "title": "Algebra: Abstract and Concrete" - }, - { - "url": "http://djm.cc/library/Algebra_Elementary_Text-Book_Part_I_Chrystal_edited.pdf", - "title": "Algebra: An Elementary Text-Book, Part I (1904)" - }, - { - "url": "http://djm.cc/library/Algebra_Elementary_Text-Book_Part_II_Chrystal_edited02.pdf", - "title": "Algebra: An Elementary Text-Book, Part II (1900)" - }, - { - "url": "https://pi.math.cornell.edu/~hatcher/AT/ATpage.html", - "title": "Algebraic Topology" - }, - { - "url": "http://www.trillia.com/moser-number.html", - "title": "An Introduction to the Theory of Numbers" - }, - { - "url": "http://djm.cc/library/Analytic_Geometry_Siceloff_Wentworth_Smith_edited.pdf", - "title": "Analytic Geometry (1922)" - }, - { - "url": "https://www.apexcalculus.com", - "title": "APEX Calculus" - }, - { - "url": "https://rellek.net/book/app-comb.html", - "title": "Applied Combinatorics" - }, - { - "url": "https://faculty.uml.edu/klevasseur/ads2/", - "title": "Applied Discrete Structures" - }, - { - "url": "http://www.math.stonybrook.edu/~aknapp/download/b2-alg-inside.pdf", - "title": "Basic Algebra" - }, - { - "url": "https://www.jirka.org/ra/", - "title": "Basic Analysis: Introduction to Real Analysis" - }, - { - "url": "http://www.cis.upenn.edu/~jean/math-basics.pdf", - "title": "Basics of Algebra, Topology, and Differential Calculus" - }, - { - "url": "https://github.com/CamDavidsonPilon/Probabilistic-Programming-and-Bayesian-Methods-for-Hackers", - "title": "Bayesian Methods for Hackers" - }, - { - "url": "http://www.wallace.ccfaculty.org/book/book.html", - "title": "Beginning and Intermediate Algebra" - }, - { - "url": "https://www.people.vcu.edu/~rhammack/BookOfProof/", - "title": "Book of Proof" - }, - { - "url": "https://ocw.mit.edu/resources/res-18-001-calculus-online-textbook-spring-2005/textbook/", - "title": "Calculus" - }, - { - "url": "https://resolver.caltech.edu/CaltechBOOK:1985.001", - "title": "Calculus I" - }, - { - "url": "http://www.math.smith.edu/~callahan/intromine.html", - "title": "Calculus in Context" - }, - { - "url": "http://www.gutenberg.org/ebooks/33283", - "title": "Calculus Made Easy" - }, - { - "url": "https://mitpress.ublish.com/ereader/77/?preview#page/Cover", - "title": "Category Theory for the Sciences" - }, - { - "url": "http://www.ck12.org/book/Probability-and-Statistics---Advanced-%2528Second-Edition%2529/", - "title": "CK-12 Probability and Statistics - Advanced" - }, - { - "url": "https://www.math.ubc.ca/~CLP/CLP1/", - "title": "CLP-1 Differential Calculus" - }, - { - "url": "https://www.math.ubc.ca/~CLP/CLP2/", - "title": "CLP-2 Integral Calculus" - }, - { - "url": "https://www.math.ubc.ca/~CLP/CLP3/", - "title": "CLP-3 Multivariable Calculus" - }, - { - "url": "https://www.math.ubc.ca/~CLP/CLP4/", - "title": "CLP-4 Vector Calculus" - }, - { - "url": "http://cnx.org/contents/5e0744f9-9e79-4348-9237-ed012213a2d6%4040.9", - "title": "Collaborative Statistics" - }, - { - "url": "https://bogart.openmathbooks.org", - "title": "Combinatorics Through Guided Discovery" - }, - { - "url": "https://people.math.gatech.edu/~cain/winter99/complex.html", - "title": "Complex Analysis" - }, - { - "url": "https://www.inferentialthinking.com", - "title": "Computational and Inferential Thinking. The Foundations of Data Science" - }, - { - "url": "http://web.mit.edu/hyperbook/Patrikalakis-Maekawa-Cho/", - "title": "Computational Geometry" - }, - { - "url": "http://sagebook.gforge.inria.fr/english.html", - "title": "Computational Mathematics with SageMath" - }, - { - "url": "http://vassarstats.net/textbook/", - "title": "Concepts & Applications of Inferential Statistics" - }, - { - "url": "https://web.stanford.edu/~boyd/cvxbook", - "title": "Convex Optimization" - }, - { - "url": "http://djm.cc/library/Coordinate_Geometry_Fine_Thompson_edited03.pdf", - "title": "Coordinate Geometry (1911)" - }, - { - "url": "http://tutorial.math.lamar.edu/Classes/DE/DE.aspx", - "title": "Differential Equations" - }, - { - "url": "http://djm.cc/library/Differential_Equations_Phillips_edited.pdf", - "title": "Differential Equations (1922)" - }, - { - "url": "http://discrete.openmathbooks.org/dmoi3.html", - "title": "Discrete Mathematics: An Open Introduction" - }, - { - "url": "https://cseweb.ucsd.edu/~gill/BWLectSite/", - "title": "Discrete Mathematics: First and Second Course" - }, - { - "url": "http://ramanujan.math.trinity.edu/wtrench/texts/TRENCH_DIFF_EQNS_I.PDF", - "title": "Elementary Differential Equations" - }, - { - "url": "https://digitalcommons.trinity.edu/mono/9/", - "title": "Elementary Differential Equations (with Boundary Value Problems)" - }, - { - "url": "https://wstein.org/ent/", - "title": "Elementary Number Theory: Primes, Congruences, and Secrets" - }, - { - "url": "https://www.classicalrealanalysis.info/com/Elementary-Real-Analysis.php", - "title": "Elementary Real Analysis" - }, - { - "url": "https://www.math.miami.edu/~ec/book/", - "title": "Elements of Abstract and Linear Algebra" - }, - { - "url": "http://djm.cc/library/Elements_Differential_Integral_Calculus_Granville_edited_2.pdf", - "title": "Elements of Differential and Integral Calculus (1911)" - }, - { - "url": "http://cs.gmu.edu/~sean/book/metaheuristics/", - "title": "Essentials of Metaheuristics" - }, - { - "url": "http://djm.cc/library/First_Algebra_Hawkes_Luby_Touton_edited.pdf", - "title": "First Course in Algebra (1910)" - }, - { - "url": "https://www.math.ucsd.edu/~ebender/CombText/", - "title": "Foundations of Combinatorics with Applications" - }, - { - "url": "https://arxiv.org/pdf/1906.01803.pdf", - "title": "Foundations of Constructive Probability Theory" - }, - { - "url": "https://mphitchman.com", - "title": "Geometry with an Introduction to Cosmic Topology" - }, - { - "url": "http://compalg.inf.elte.hu/~tony/Oktatas/TDK/FINAL/", - "title": "Graph Theory" - }, - { - "url": "https://milneopentextbooks.org/how-we-got-from-there-to-here-a-story-of-real-analysis/", - "title": "How We Got from There to Here: A Story of Real Analysis" - }, - { - "url": "https://www.dartmouth.edu/~chance/teaching_aids/books_articles/probability_book/book.html", - "title": "Introduction to Probability" - }, - { - "url": "http://ocw.mit.edu/courses/mathematics/18-05-introduction-to-probability-and-statistics-spring-2014/", - "title": "Introduction to Probability and Statistics Spring 2014" - }, - { - "url": "http://joshua.smcvt.edu/proofs/", - "title": "Introduction to Proofs" - }, - { - "url": "https://digitalcommons.trinity.edu/mono/7/", - "title": "Introduction to Real Analysis" - }, - { - "url": "http://people.math.umass.edu/~lavine/Book/book.html", - "title": "Introduction to Statistical Thought" - }, - { - "url": "https://www.openintro.org/book/isrs/", - "title": "Introductory Statistics for the Life and Biomedical Sciences" - }, - { - "url": "https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python", - "title": "Kalman and Bayesian Filters in Python" - }, - { - "url": "http://www.or.deis.unibo.it/knapsack.html", - "title": "Knapsack Problems - Algorithms and Computer Implementations" - }, - { - "url": "http://home.iitk.ac.in/~psraj/mth102/lecture_notes.html", - "title": "Lecture Notes of Linear Algebra" - }, - { - "url": "https://www.poritz.net/jonathan/share/ldlos.pdf", - "title": "Lies, Damned Lies, or Statistics: How to Tell the Truth with Statistics" - }, - { - "url": "http://home.iitk.ac.in/~arlal/book/la.pdf", - "title": "Linear Algebra" - }, - { - "url": "https://www.math.ucdavis.edu/~linear/linear-guest.pdf", - "title": "Linear Algebra" - }, - { - "url": "http://joshua.smcvt.edu/linearalgebra/", - "title": "Linear Algebra" - }, - { - "url": "https://www.math.brown.edu/streil/papers/LADW/LADW.html", - "title": "Linear Algebra Done Wrong" - }, - { - "url": "https://people.math.gatech.edu/~herod/Hspace/Hspace.html", - "title": "Linear Algebra, Infinite Dimensions, and Maple" - }, - { - "url": "http://www.mathphysics.com/pde", - "title": "Linear Methods of Applied Mathematics" - }, - { - "url": "http://djm.cc/library/Magic_Squares_Cubes_Andrews_edited.pdf", - "title": "Magic Squares and Cubes (1917)" - }, - { - "url": "https://www.opentextbookstore.com/mathinsociety/", - "title": "Math in Society" - }, - { - "url": "http://www.trillia.com/zakon-analysisI.html", - "title": "Mathematical Analysis I" - }, - { - "url": "https://classicalrealanalysis.info/com/Mathematical-Discovery.php", - "title": "Mathematical Discovery" - }, - { - "url": "http://www.ii.uib.no/~michal/und/i227/book/book.pdf", - "title": "Mathematical Logic - an Introduction" - }, - { - "url": "https://www.tedsundstrom.com/mathematical-reasoning-3", - "title": "Mathematical Reasoning: Writing and Proof" - }, - { - "url": "http://home.iitk.ac.in/~psraj/mth101/", - "title": "Mathematics, MTH101A" - }, - { - "url": "https://www.huber.embl.de/msmb", - "title": "Modern Statistics for Modern Biology" - }, - { - "url": "https://people.math.gatech.edu/~cain/notes/calculus.html", - "title": "Multivariable Calculus" - }, - { - "url": "http://luc.devroye.org/rnbookindex.html", - "title": "Non-Uniform Random Variate Generation" - }, - { - "url": "https://www.jirka.org/diffyqs/", - "title": "Notes on Diffy Qs" - }, - { - "url": "https://github.com/holdenlee/number-theory", - "title": "Number Theory" - }, - { - "url": "http://math.gordon.edu/ntic/", - "title": "Number Theory: In Context and Interactive" - }, - { - "url": "https://jonathanweisberg.org/vip/", - "title": "Odds and Ends: Introducing Probability & Decision with a Visual Emphasis" - }, - { - "url": "http://onlinestatbook.com", - "title": "Online Statistics Education" - }, - { - "url": "https://www.openintro.org/stat/textbook.php", - "title": "OpenIntro Statistics" - }, - { - "url": "https://spaces.pcc.edu/pages/viewpage.action?pageId=52729944", - "title": "ORCCA: Open Resources for Community College Algebra" - }, - { - "url": "https://en.wikibooks.org/wiki/Ordinary_Differential_Equations", - "title": "Ordinary Differential Equations" - }, - { - "url": "http://djm.cc/library/Plane_Geometry_Wentworth_Smith_edited.pdf", - "title": "Plane Geometry (1913)" - }, - { - "url": "http://djm.cc/library/Plane_Spherical_Trigonometry_Wentworth_Smith_edited_2.pdf", - "title": "Planes and Spherical Trigonometry (1915)" - }, - { - "url": "https://stitz-zeager.com", - "title": "Precalculus" - }, - { - "url": "http://statistics.zone", - "title": "Probability and Statistics Cookbook" - }, - { - "url": "http://wiki.stat.ucla.edu/socr/index.php/Probability_and_statistics_EBook", - "title": "Probability and Statistics EBook" - }, - { - "url": "https://www.markhuberdatascience.org/probability-textbook", - "title": "Probability: Lectures and Labs" - }, - { - "url": "http://djm.cc/library/Recreations_in_Mathematics_Licks_edited.pdf", - "title": "Recreations in Math" - }, - { - "url": "http://www.gregorybard.com/books.html", - "title": "Sage for Undergraduates" - }, - { - "url": "http://djm.cc/library/Second_Algebra_Hawkes_Luby_Touton_edited.pdf", - "title": "Second Course in Algebra" - }, - { - "url": "https://arxiv.org/pdf/1803.05316.pdf", - "title": "Seven Sketches in Compositionality: An Invitation to Applied Category Theory" - }, - { - "url": "https://statsthinking21.org", - "title": "Statistical Thinking for the 21st Century" - }, - { - "url": "http://www.statisticsdonewrong.com", - "title": "Statistics Done Wrong" - }, - { - "url": "https://www.stat.berkeley.edu/~stark/SticiGui/", - "title": "SticiGui" - }, - { - "url": "https://lqbrin.github.io/tea-time-numerical/", - "title": "Tea Time Numerical Analysis" - }, - { - "url": "https://web.engr.oregonstate.edu/~rosulekm/crypto/", - "title": "The Joy of Cryptography (2020)" - }, - { - "url": "http://www.greenteapress.com/thinkbayes/", - "title": "Think Bayes: Bayesian Statistics Made Simple" - }, - { - "url": "http://greenteapress.com/thinkstats/", - "title": "Think Stats: Probability and Statistics for Programmers" - }, - { - "url": "http://www.mecmath.net", - "title": "Vector Calculus" - }, - { - "url": "https://www.poritz.net/jonathan/share/yaintt.pdf", - "title": "Yet Another Introductory Number Theory Textbook" - } - ] - }, - { - "section": "Mathematics For Computer Science", - "entries": [ - { - "url": "https://archive.org/details/bstj27-4-623", - "title": "A Mathematical Theory of Communication" - }, - { - "url": "http://cglab.ca/~michiel/DiscreteStructures/", - "title": "Discrete Structures for Computer Science: Counting, Recursion, and Probability" - } - ] - }, - { - "section": "Misc", - "entries": [ - { - "url": "https://ithemes.com/wp-content/uploads/downloads/2012/09/10-keys-to-great-landing-pages-eBook.pdf", - "title": "10 Keys to Great Landing Pages" - }, - { - "url": "https://www.oreilly.com/radar/2016-european-software-development-salary-survey/", - "title": "2016 European Software Development Salary Survey" - }, - { - "url": "https://www.oreilly.com/radar/2016-software-development-salary-survey-report/", - "title": "2016 Software Development Salary Survey" - }, - { - "url": "https://leanpub.com/97-Things-Every-Programmer-Should-Know-Extended", - "title": "97 Things Every Programmer Should Know - Extended" - }, - { - "url": "http://ocaml-book.com/s/popbook.pdf", - "title": "A MACHINE MADE THIS BOOK ten sketches of computer science" - }, - { - "url": "https://www.ansible.com/ebooks", - "title": "Ansible Up & Running (first three chapters)" - }, - { - "url": "http://solmu.org/pub/help/Asterisk/3nd_Edition_for_Asterisk_1.8", - "title": "Asterisk™: The Definitive Guide" - }, - { - "url": "http://www.tec-it.com/download/PDF/Barcode_Reference_EN.pdf", - "title": "Barcode Overview" - }, - { - "url": "https://d28rh4a8wq0iu5.cloudfront.net/bitcointech/readings/princeton_bitcoin_book.pdf", - "title": "Bitcoin and Cryptocurrency Technologies" - }, - { - "url": "http://www.wisdom.weizmann.ac.il/~playbook/", - "title": "Come, Let's Play: Scenario-Based Programming Using Live Sequence Charts" - }, - { - "url": "http://www.usingcsp.com/cspbook.pdf", - "title": "Communicating Sequential Processes" - }, - { - "url": "http://www.jackkinsella.ie/books/confessions_of_an_unintentional_cto", - "title": "Confessions of an Unintentional CTO: Lessons in Growing a Web App" - }, - { - "url": "http://hintjens.com/books", - "title": "Culture & Empire: Digital Revolution" - }, - { - "url": "http://designwithfontforge.com/en-US/index.html", - "title": "Design With FontForge" - }, - { - "url": "http://designinginterfaces.com", - "title": "Designing Interfaces" - }, - { - "url": "http://devdocs.io", - "title": "DevDocs" - }, - { - "url": "http://www.ibm.com/ibm/devops/us/en/resources/dummiesbooks/", - "title": "DevOps For Dummies (IBM Edition)" - }, - { - "url": "http://www.sp4comm.org", - "title": "Digital Signal Processing For Communications" - }, - { - "url": "http://www.dspguide.com", - "title": "Digital Signal Processing For Engineers and Scientists" - }, - { - "url": "https://greenteapress.com/wp/think-dsp", - "title": "Digital Signal Processing in Python" - }, - { - "url": "http://www.lulu.com/shop/http://www.lulu.com/shop/luis-enr%C3%ADquez-a/dynamic-linked-libraries-paradigms-of-the-gpl-license-in-contemporary-software/ebook/product-21419788.html", - "title": "\"DYNAMIC LINKED LIBRARIES\": Paradigms of the GPL license in contemporary software" - }, - { - "url": "https://images.guide", - "title": "Essential Image Optimization" - }, - { - "url": "http://openmymind.net/FoundationsOfProgramming.pdf", - "title": "Foundations of Programming" - }, - { - "url": "https://basecamp.com/books/getting-real", - "title": "Getting Real" - }, - { - "url": "https://www.syncfusion.com/ebooks/google_maps_api_succinctly", - "title": "Google Maps API Succinctly" - }, - { - "url": "http://www.lulu.com/shop/ed-johnson/hacknot-essays-on-software-development/ebook/product-17544641.html", - "title": "Hacknot: Essays on Software Development" - }, - { - "url": "https://lazyfoo.net/tutorials/SDL", - "title": "Hello SDL" - }, - { - "url": "https://andreask.cs.illinois.edu/Teaching/HPCFall2012", - "title": "High-Performance Scientific Computing" - }, - { - "url": "https://ryheimat.github.io/holm-school", - "title": "Holm School (You Might Learn Something) - How to Teach Yourself To Be A Computer Scientist for Hamiltons a Month" - }, - { - "url": "https://www.syncfusion.com/ebooks/hololens_succinctly", - "title": "HoloLens Succinctly" - }, - { - "url": "http://www.fastchip.net/howcomputerswork/p1.html", - "title": "How Computers Work" - }, - { - "url": "http://softwarebyrob.wpengine.netdna-cdn.com/assets/Software_by_Rob%20_How_to_Become_a%20_Programmer_1.0.pdf", - "title": "How to Become a Programmer" - }, - { - "url": "http://openbookproject.net/thinkcs/", - "title": "How to Think Like a Computer Scientist" - }, - { - "url": "http://homepages.inf.ed.ac.uk/rbf/BOOKS/PHILLIPS/", - "title": "Image Processing in C: Analyzing and Enhancing Digital Images" - }, - { - "url": "http://florida.theorangegrove.org/og/file/49843a6a-9a9d-4bad-b4d4-d053f9cdf73e/1/InfoTechNetworkedEconomy.pdf", - "title": "Information Technology and the Networked Economy" - }, - { - "url": "https://web.corral.tacc.utexas.edu/CompEdu/pdf/isp/EijkhoutIntroSciProgramming-book.pdf", - "title": "Introduction to Scientific Programming in C++ and Fortran" - }, - { - "url": "https://www.gitbook.com/book/scemama/irpf90/details", - "title": "IRPF90 Fortran code generator" - }, - { - "url": "https://progbook.org", - "title": "Learn Programming" - }, - { - "url": "https://pine.fm/LearnToProgram/", - "title": "Learn to Program" - }, - { - "url": "https://blog.openshift.com/learning-30-technologies-in-30-days-a-developer-challenge/", - "title": "Learning 30 Technologies in 30 Days: A Developer Challenge" - }, - { - "url": "http://patterns.dataincubator.org/book/", - "title": "Linked Data Patterns: A pattern catalogue for modelling, publishing, and consuming Linked Data" - }, - { - "url": "http://worrydream.com/#!/MagicInk", - "title": "Magic Ink: Information Software and The Graphical Interface" - }, - { - "url": "https://github.com/bitcoinbook/bitcoinbook", - "title": "Mastering Bitcoin - Unlocking digital currencies" - }, - { - "url": "https://leanpub.com/mobiledevelopersguide", - "title": "Mobile Developer's Guide to the Galaxy" - }, - { - "url": "http://www.wisdom.weizmann.ac.il/~harel/reactive_systems.html", - "title": "Modeling Reactive Systems with Statecharts" - }, - { - "url": "https://www.syncfusion.com/ebooks/msix-succinctly", - "title": "MSIX Succinctly" - }, - { - "url": "http://www.cs.cornell.edu/home/kleinber/networks-book/", - "title": "Networks, Crowds, and Markets: Reasoning About a Highly Connected World" - }, - { - "url": "http://win.ua.ac.be/~sdemey/", - "title": "Object-Oriented Reengineering Patterns" - }, - { - "url": "https://github.com/oreillymedia/open_government", - "title": "Open Government; Collaboration, Transparency, and Participation in Practice" - }, - { - "url": "https://leanpub.com/PDQ", - "title": "PDQ: Pretty Darn Quick: An Agile, All-Purpose Methodology" - }, - { - "url": "http://www.cse.buffalo.edu/~rapaport/Papers/phics.pdf", - "title": "Philosophy of Computer Science" - }, - { - "url": "https://schadokar.dev/ebooks/playtime-with-hyperledger-composer/", - "title": "Playtime with Hyperledger Composer" - }, - { - "url": "http://www.libpng.org/pub/png/book/", - "title": "PNG: The Definitive Guide" - }, - { - "url": "http://cslibrary.stanford.edu/102/PointersAndMemory.pdf", - "title": "Pointers And Memory" - }, - { - "url": "http://ocw.mit.edu/resources/res-6-004-principles-of-computer-system-design-an-introduction-spring-2009/online-textbook/part_ii_open_5_0.pdf", - "title": "Principles of Computer System Design" - }, - { - "url": "http://unicodebook.readthedocs.org", - "title": "Programming with Unicode" - }, - { - "url": "https://www.oreilly.com/ideas/real-world-maintainable-software", - "title": "Real-World Maintainable Software" - }, - { - "url": "https://leanpub.com/manualToAutomatedWithSeleniumIDEAndSahi", - "title": "Record-Playback Test Automation: Sahi & Selenium IDE: Critical Evaluation of Record-Playback Automation Tools" - }, - { - "url": "https://divakarvi.github.io/bk-spca/spca.html", - "title": "Scientific Programming and Computer Architecture" - }, - { - "url": "http://faculty.washington.edu/stiber/pubs/Signal-Computing/Signal%20Computing.pdf", - "title": "Signal Computing: Digital Signals in the Software Domain" - }, - { - "url": "http://www.smallmemory.com/book.html", - "title": "Small Memory Software" - }, - { - "url": "https://almanac.httparchive.org/static/pdfs/web_almanac_2019_en.pdf", - "title": "Web Almanac" - }, - { - "url": "https://www.syncfusion.com/ebooks/writing_native_mobile_apps_in_a_functional_language_succinctly", - "title": "Writing Native Mobile Apps in a Functional Language Succinctly" - } - ] - }, - { - "section": "MOOC", - "entries": [ - { - "url": "https://www.coursera.org", - "title": "Coursera" - }, - { - "url": "https://www.edx.org", - "title": "edX" - }, - { - "url": "https://www.freecodecamp.org", - "title": "freeCodeCamp" - }, - { - "url": "https://www.futurelearn.com", - "title": "FutureLearn" - }, - { - "url": "http://ocw.mit.edu", - "title": "MIT OCW" - }, - { - "url": "https://onlinecourses.nptel.ac.in", - "title": "NPTEL" - }, - { - "url": "https://open.hpi.de", - "title": "openHPI" - }, - { - "url": "https://open.sap.com", - "title": "openSAP" - }, - { - "url": "https://courses.platzi.com", - "title": "Platzi" - }, - { - "url": "https://www.udacity.com", - "title": "Udacity" - } - ] - }, - { - "section": "Networking", - "entries": [ - { - "url": "http://intronetworks.cs.luc.edu", - "title": "An Introduction to Computer Networks" - }, - { - "url": "http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-02-introduction-to-eecs-ii-digital-communication-systems-fall-2012/readings/", - "title": "Bits, Signals, and Packets: An Introduction to Digital Communications and Networks" - }, - { - "url": "http://hintjens.wdfiles.com/local--files/main%3Afiles/cc1pe.pdf", - "title": "Code Connected vol.1" - }, - { - "url": "http://cnp3book.info.ucl.ac.be/1st/html/index.html", - "title": "Computer Networking : Principles, Protocols and Practice" - }, - { - "url": "https://book.systemsapproach.org", - "title": "Computer Networks: A Systems Approach" - }, - { - "url": "http://book.mixu.net/distsys/single-page.html", - "title": "Distributed systems for fun and profit" - }, - { - "url": "https://hpbn.co", - "title": "High-Performance Browser Networking" - }, - { - "url": "https://howhttps.works", - "title": "How HTTPS Works" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/http", - "title": "HTTP Succinctly, Syncfusion" - }, - { - "url": "http://daniel.haxx.se/http2/", - "title": "HTTP2 Explained" - }, - { - "url": "https://launchschool.com/books/http", - "title": "Introduction to HTTP" - }, - { - "url": "https://sites.google.com/site/yartikhiy/home/ipv6book", - "title": "IPv6 for IPv4 Experts" - }, - { - "url": "https://assets.confluent.io/m/1b509accf21490f0/original/20170707-EB-Confluent_Kafka_Definitive-Guide_Complete.pdf", - "title": "Kafka, The definitive Guide" - }, - { - "url": "http://networksciencebook.com", - "title": "Network Science" - }, - { - "url": "http://www.tcpipguide.com/free/t_toc.htm", - "title": "The TCP/IP Guide" - }, - { - "url": "http://pages.di.unipi.it/ricci/501302.pdf", - "title": "Understanding IP Addressing: Everything you ever wanted to know" - }, - { - "url": "http://zguide.zeromq.org/page%3Aall", - "title": "ZeroMQ Guide" - } - ] - }, - { - "section": "Open Source Ecosystem", - "entries": [ - { - "url": "http://datajournalismhandbook.org", - "title": "Data Journalism Handbook" - }, - { - "url": "https://archive.org/details/faif-2.0", - "title": "Free as in Freedom: Richard Stallman and the free software revolution" - }, - { - "url": "https://unglue.it/work/136445/", - "title": "Free for All" - }, - { - "url": "http://shop.fsf.org/product/free-software-free-society-2/", - "title": "Free Software, Free Society: Selected Essays of Richard M. Stallman" - }, - { - "url": "http://www.oreilly.com/programming/free/getting-started-with-innersource.csp", - "title": "Getting Started with InnerSource" - }, - { - "url": "http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_started_with_open_source_development_p2.pdf", - "title": "Getting started with Open source development" - }, - { - "url": "https://about.gitlab.com/handbook/", - "title": "GitLab Handbook" - }, - { - "url": "https://opensource.com/resources/ebook/how-get-started-open-source", - "title": "How to get started with open source" - }, - { - "url": "http://dreamsongs.com/IHE/IHE.html", - "title": "Innovation Happens Elsewhere" - }, - { - "url": "https://do1.dr-chuck.net/net-intro/EN_us/net-intro.pdf", - "title": "Introduction to Networking" - }, - { - "url": "http://open-advice.org", - "title": "Open Advice: FOSS: What We Wish We Had Known When We Started" - }, - { - "url": "https://www.oreilly.com/ideas/open-source-in-brazil", - "title": "Open source in Brazil" - }, - { - "url": "http://producingoss.com", - "title": "Producing Open Source Software" - }, - { - "url": "http://www.aosabook.org/en/index.html", - "title": "The Architecture of Open Source Applications: Vol. 1: Elegance, Evolution, and a Few Fearless Hacks; Vol. 2: Structure, Scale, and a Few More Feerless Hacks" - }, - { - "url": "http://artofcommunityonline.org/Art_of_Community_Second_Edition.pdf", - "title": "The Art of Community" - }, - { - "url": "http://www.catb.org/esr/writings/cathedral-bazaar/", - "title": "The Cathedral and the Bazaar" - }, - { - "url": "http://futureoftheinternet.org", - "title": "The Future of the Internet" - }, - { - "url": "http://www.theopensourceway.org/book/", - "title": "The Open Source Way" - }, - { - "url": "http://cyber.law.harvard.edu/wealth_of_networks/Main_Page", - "title": "The Wealth of Networks: How Social Production Transforms Markets and Freedom" - } - ] - }, - { - "section": "Operating Systems", - "entries": [ - { - "url": "http://markburgess.org/os/os.pdf", - "title": "A short introduction to operating systems (2001)" - }, - { - "url": "http://www.bottomupcs.com", - "title": "Computer Science from the Bottom Up" - }, - { - "url": "https://github.com/SamyPesse/How-to-Make-a-Computer-Operating-System", - "title": "How to Make a Computer Operating System" - }, - { - "url": "http://mikeos.sourceforge.net/write-your-own-os.html", - "title": "How to write a simple operating system in assembly language" - }, - { - "url": "https://gustavus.edu/mcs/max/os-book/", - "title": "Operating Systems and Middleware" - }, - { - "url": "http://pages.cs.wisc.edu/~remzi/OSTEP/", - "title": "Operating Systems: Three Easy Pieces" - }, - { - "url": "http://www.nobius.org/~dbg/practical-file-system-design.pdf", - "title": "Practical File System Design: The Be File System" - }, - { - "url": "http://people.inf.ethz.ch/wirth/ProjectOberon/index.html", - "title": "Project Oberon: The Design of an Operating System, a Compiler, and a Computer" - }, - { - "url": "http://catb.org/esr/writings/taoup/html/", - "title": "The Art of Unix Programming" - }, - { - "url": "http://www.fixup.fi/misc/rumpkernel-book/", - "title": "The Design and Implementation of the Anykernel and Rump Kernels" - }, - { - "url": "https://littleosbook.github.io", - "title": "The little book about OS development" - }, - { - "url": "http://greenteapress.com/semaphores/", - "title": "The Little Book of Semaphores" - }, - { - "url": "http://www.greenteapress.com/thinkos/index.html", - "title": "Think OS: A Brief Introduction to Operating Systems" - }, - { - "url": "http://www.compsci.hunter.cuny.edu/~sweiss/course_materials/unix_lecture_notes.php", - "title": "UNIX Application and System Programming, lecture notes" - }, - { - "url": "http://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf", - "title": "Writing a Simple Operating System from Scratch" - }, - { - "url": "https://pdos.csail.mit.edu/6.828/2012/xv6.html", - "title": "Xv6, a simple Unix-like teaching operating system" - } - ] - }, - { - "section": "Parallel Programming", - "entries": [ - { - "url": "http://cnx.org/contents/bb821554-7f76-44b1-89e7-8a2a759d1347%405.2", - "title": "High Performance Computing" - }, - { - "url": "https://web.archive.org/web/20170702124132/https://hpc.llnl.gov/training/tutorials", - "title": "High Performance Computing Training" - }, - { - "url": "https://andreask.cs.illinois.edu/Teaching/HPCFall2012", - "title": "High-Performance Scientific Computing" - }, - { - "url": "http://pages.tacc.utexas.edu/~eijkhout/istc/istc.html", - "title": "Introduction to High-Performance Scientific Computing" - }, - { - "url": "https://computing.llnl.gov/tutorials/parallel_comp/", - "title": "Introduction to Parallel Computing" - }, - { - "url": "https://www.kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html", - "title": "Is Parallel Programming Hard, And, If So, What Can You Do About It?" - }, - { - "url": "http://heather.cs.ucdavis.edu/parprocbook", - "title": "Programming on Parallel Machines; GPU, Multicore, Clusters and More" - }, - { - "url": "https://us.fixstars.com/products/opencl/book/OpenCLProgrammingBook/contents/", - "title": "The OpenCL Programming Book" - }, - { - "url": "http://bookboon.com/en/using-concurrency-and-parallelism-effectively-i-ebook", - "title": "Using Concurrency and Parallelism Effectively – I" - }, - { - "url": "http://bookboon.com/en/using-concurrency-and-parallelism-effectively-ii-ebook", - "title": "Using Concurrency and Parallelism Effectively – II" - } - ] - }, - { - "section": "Partial Evaluation", - "entries": [ - { - "url": "http://www.itu.dk/people/sestoft/pebook/", - "title": "Partial Evaluation and Automatic Program Generation" - } - ] - }, - { - "section": "Professional Development", - "entries": [ - { - "url": "https://www.gitbook.com/book/ccd_school/clean-code-developer-com/details", - "title": "Clean Code Developer: An initiative for more professionalism in software development" - }, - { - "url": "https://www.red-gate.com/library/confessions-of-an-it-manager", - "title": "Confessions of an IT Manager" - }, - { - "url": "https://www.red-gate.com/library/dont-just-roll-the-dice", - "title": "Don't Just Roll the Dice" - }, - { - "url": "https://leanpub.com/dowhatyoulove/read", - "title": "How to Do What You Love & Earn What You’re Worth as a Programmer" - }, - { - "url": "https://mixmastamyk.bitbucket.io/pro_soft_dev/intro.html", - "title": "Professional Software Development For Students" - }, - { - "url": "https://leanpub.com/shippingsoftware/read", - "title": "What I've Learned From Failure" - } - ] - }, - { - "section": "Programming Paradigms", - "entries": [ - { - "url": "http://jpaulmorrison.com/fbp/", - "title": "Flow based Programming" - }, - { - "url": "http://www.cl.cam.ac.uk/teaching/Lectures/funprog-jrh-1996/", - "title": "Introduction to Functional Programming" - }, - { - "url": "https://assets.confluent.io/m/2a60fabedb2dfbb1/original/20190307-EB-Making_Sense_of_Stream_Processing_Confluent.pdf", - "title": "Making Sense of Stream Processing" - }, - { - "url": "https://mostly-adequate.gitbooks.io/mostly-adequate-guide/content/", - "title": "Mostly Adequate Guide to Functional Programming" - }, - { - "url": "https://github.com/linpengcheng/PurefunctionPipelineDataflow", - "title": "The Pure Function Pipeline Data Flow v3.0 ---- the Grand Unified Programming Theory" - }, - { - "url": "https://www.cs.kent.ac.uk/people/staff/sjt/TTFP/", - "title": "Type Theory and Functional Programming" - } - ] - }, - { - "section": "Regular Expressions", - "entries": [ - { - "url": "https://learnbyexample.github.io/learn_js_regexp/", - "title": "JavaScript RegExp" - }, - { - "url": "https://learnbyexample.github.io/py_regular_expressions/", - "title": "Python re(gex)?" - }, - { - "url": "https://refrf.shreyasminocha.me", - "title": "Regular Expressions for Regular Folk" - }, - { - "url": "http://www.rexegg.com", - "title": "RexEgg" - }, - { - "url": "https://learnbyexample.github.io/Ruby_Regexp/", - "title": "Ruby Regexp" - }, - { - "url": "http://www.codeproject.com/Articles/9099/The-Minute-Regex-Tutorial", - "title": "The 30 Minute Regex Tutorial" - }, - { - "url": "https://leanpub.com/bastards-regexes", - "title": "The Bastards Book of Regular Expressions: Finding Patterns in Everyday Text" - } - ] - }, - { - "section": "Reverse Engineering", - "entries": [ - { - "url": "http://bioshacking.blogspot.co.uk/2012/02/bios-disassembly-ninjutsu-uncovered-1st.html", - "title": "BIOS Disassembly Ninjutsu Uncovered 1st Edition" - }, - { - "url": "https://www.nostarch.com/xboxfree/", - "title": "Hacking the Xbox: An Introduction to Reverse Engineering" - }, - { - "url": "https://github.com/iosre/iOSAppReverseEngineering", - "title": "iOS App Reverse Engineering" - }, - { - "url": "http://beginners.re", - "title": "Reverse Engineering for Beginners" - } - ] - }, - { - "section": "Search Engines", - "entries": [ - { - "url": "https://www.elastic.co/guide/en/elasticsearch/guide/current/index.html", - "title": "Elasticsearch: The Definitive Guide" - }, - { - "url": "https://github.com/hectorcorrea/solr-for-newbies", - "title": "Solr for newbies workshop (2019)" - } - ] - }, - { - "section": "Security", - "entries": [ - { - "url": "http://toc.cryptobook.us", - "title": "A Graduate Course in Applied Cryptography" - }, - { - "url": "https://www.crypto101.io", - "title": "Crypto 101 - Crypto for everyone" - }, - { - "url": "https://unglue.it/work/141611/", - "title": "CryptoParty Handbook" - }, - { - "url": "http://cacr.uwaterloo.ca/hac/index.html", - "title": "Handbook of Applied Cryptography" - }, - { - "url": "https://howhttps.works", - "title": "How HTTPS works" - }, - { - "url": "https://github.com/MHM5000/pass", - "title": "How to deal with Passwords" - }, - { - "url": "http://ptgmedia.pearsoncmg.com/images/0131407333/downloads/0131407333.pdf", - "title": "Intrusion Detection Systems with Snort" - }, - { - "url": "https://www.feistyduck.com/library/openssl-cookbook/", - "title": "OpenSSL Cookbook" - }, - { - "url": "https://mobile-security.gitbook.io/mobile-security-testing-guide/", - "title": "OWASP Mobile Security Testing Guide" - }, - { - "url": "https://www.owasp.org/images/1/19/OTGv4.pdf", - "title": "OWASP Testing Guide 4.0" - }, - { - "url": "http://www.troyhunt.com/2011/12/free-ebook-owasp-top-10-for-net.html", - "title": "OWASP Top 10 for .NET Developers" - }, - { - "url": "http://www.cl.cam.ac.uk/~rja14/book.html", - "title": "Security Engineering" - } - ] - }, - { - "section": "Software Architecture", - "entries": [ - { - "url": "https://launchschool.com/books/agile_planning", - "title": "Agile Planning: From Ideas to Story Cards" - }, - { - "url": "http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm", - "title": "Architectural Styles and the Design of Network-based Software Architectures" - }, - { - "url": "http://smartbear.com/lp/ebook/collaborator/secrets-of-peer-code-review/", - "title": "Best Kept Secrets of Peer Code Review" - }, - { - "url": "https://static.googleusercontent.com/media/landing.google.com/en//sre/static/pdf/Building_Secure_and_Reliable_Systems.pdf", - "title": "Building Secure & Reliable Systems" - }, - { - "url": "http://www.dataorienteddesign.com/dodmain/dodmain.html", - "title": "Data-Oriented Design" - }, - { - "url": "https://info.lightbend.com/COLL-20XX-Developing-Reactive-Microservices_Landing-Page.html", - "title": "Developing Reactive Microservices" - }, - { - "url": "http://www.infoq.com/minibooks/domain-driven-design-quickly", - "title": "Domain Driven Design Quickly" - }, - { - "url": "https://dddeurope.com/15years/", - "title": "Domain-Driven Design: The First 15 Years. Essays from the DDD community" - }, - { - "url": "http://dslbook.org", - "title": "DSL Engineering: Designing, Implementing and Using Domain-Specific Languages" - }, - { - "url": "https://docs.microsoft.com/en-us/previous-versions/msp-n-p/jj554200(v=pandp.10)", - "title": "Exploring CQRS and Event Sourcing" - }, - { - "url": "https://www.computer.org/education/bodies-of-knowledge/software-engineering/v3", - "title": "Guide to the Software Engineering Body of Knowledge" - }, - { - "url": "http://www.htdp.org", - "title": "How to Design Programs" - }, - { - "url": "http://mindprod.com/jgloss/unmain.html", - "title": "How to Write Unmaintainable Code" - }, - { - "url": "http://www.infoq.com/minibooks/kanban-scrum-minibook", - "title": "Kanban and Scrum - making the most of both" - }, - { - "url": "https://leanpub.com/kanbanforskeptics", - "title": "Kanban for skeptics" - }, - { - "url": "https://www.oreilly.com/programming/free/files/microservices-antipatterns-and-pitfalls.pdf", - "title": "Microservices AntiPatterns and Pitfalls" - }, - { - "url": "https://www.oreilly.com/programming/free/files/microservices-vs-service-oriented-architecture.pdf", - "title": "Microservices vs. Service-Oriented Architecture" - }, - { - "url": "https://developers.redhat.com/books/migrating-microservice-databases-relational-monolith-distributed-data/", - "title": "Migrating to Cloud-Native Application Architectures" - }, - { - "url": "http://downloads.nakedobjects.net/resources/Pawson%20thesis.pdf", - "title": "Naked objects" - }, - { - "url": "https://pages.apigee.com/oauth-big-picture-ebook.html", - "title": "OAuth - The Big Picture" - }, - { - "url": "http://scg.unibe.ch/download/oorp/", - "title": "Object-Oriented Reengineering Patterns" - }, - { - "url": "https://leanpub.com/Practicing-DDD", - "title": "Practicing Domain-Driven Design - Part 1" - }, - { - "url": "https://www.lightbend.com/ebooks/reactive-microservices-architecture-design-principles-for-distributed-systems-oreilly", - "title": "Reactive Microservices Architecture" - }, - { - "url": "https://www.lightbend.com/ebooks/reactive-microsystems-evolution-of-microservices-scalability-oreilly", - "title": "Reactive Microsystems: The Evolution of Microservices at Scale" - }, - { - "url": "http://www.infoq.com/minibooks/scrum-xp-from-the-trenches-2", - "title": "Scrum and XP from the Trenches" - }, - { - "url": "https://docs.microsoft.com/en-us/dotnet/standard/serverless-architecture/", - "title": "Serverless apps: Architecture, patterns, and Azure implementation" - }, - { - "url": "https://www.packtpub.com/free-ebooks/serverless-design-patterns-and-best-practices", - "title": "Serverless Design Patterns and Best Practices" - }, - { - "url": "https://basecamp.com/shapeup", - "title": "Shape Up - Stop Running in Circles and Ship Work that Matters" - }, - { - "url": "https://landing.google.com/sre/book/index.html", - "title": "Site Reliability Engineering" - }, - { - "url": "http://www.oreilly.com/programming/free/software-architecture-patterns.csp", - "title": "Software Architecture Patterns" - }, - { - "url": "http://philip.greenspun.com/seia/", - "title": "Software Engineering for Internet Applications" - }, - { - "url": "https://sourcemaking.com/design_patterns", - "title": "Source Making Design Patterns and UML" - }, - { - "url": "https://github.com/grzesiek-galezowski/tdd-ebook", - "title": "Test Driven Development, Extensive Tutorial" - }, - { - "url": "https://landing.google.com/sre/workbook/toc/", - "title": "The Site Reliability Workbook" - }, - { - "url": "https://pages.apigee.com/rs/apigee/images/api-design-ebook-2012-03.pdf", - "title": "Web API Design" - }, - { - "url": "https://launchschool.com/books/working_with_apis", - "title": "Working with Web APIs" - }, - { - "url": "https://leanpub.com/yourapiisbad/read", - "title": "Your API Is Bad" - } - ] - }, - { - "section": "Standards", - "entries": [ - { - "url": "http://refspecs.linuxfoundation.org/lsb.shtml", - "title": "Linux Standard Base" - }, - { - "url": "https://github.com/geoff-codes/posix-standard", - "title": "UNIX - The POSIX Standard - IEEE Std 1003.1" - } - ] - }, - { - "section": "Theoretical Computer Science", - "entries": [ - { - "url": "http://mfleck.cs.illinois.edu/building-blocks/index.html", - "title": "Building Blocks for Theoretical Computer Science" - }, - { - "url": "http://www.tac.mta.ca/tac/reprints/articles/22/tr22.pdf", - "title": "Category Theory for Computing Science" - }, - { - "url": "https://github.com/hmemcpy/milewski-ctfp-pdf", - "title": "Category Theory for Programmers" - }, - { - "url": "https://www.smashwords.com/books/view/639609", - "title": "Design of a Programmer" - }, - { - "url": "http://homotopytypetheory.org/book/", - "title": "Homotopy Type Theory: Univalent Foundations of Mathematics" - }, - { - "url": "http://www.cse.iitd.ernet.in/~suban/CSL102/", - "title": "Introduction to Computer Science" - }, - { - "url": "http://www.computingbook.org", - "title": "Introduction to Computing" - }, - { - "url": "http://cglab.ca/~michiel/TheoryOfComputation/", - "title": "Introduction to Theory of Computation" - }, - { - "url": "http://cs.brown.edu/people/jes/book/", - "title": "Models of Computation" - }, - { - "url": "https://www.cs.cmu.edu/~rwh/pfpl/2nded.pdf", - "title": "Practical Foundations for Programming Languages, Preview" - }, - { - "url": "https://web.archive.org/web/20150418034451/http://www.cs.jhu.edu/~scott/pl/book/dist/", - "title": "Principles of Programming Languages" - }, - { - "url": "https://papl.cs.brown.edu/2019/", - "title": "Programming and Programming Languages" - }, - { - "url": "http://www.cse.chalmers.se/research/group/logic/book/", - "title": "Programming in Martin-Löf's Type Theory" - }, - { - "url": "http://cs.brown.edu/~sk/Publications/Books/ProgLangs/", - "title": "Programming Languages: Application and Interpretation (2nd Edition)" - }, - { - "url": "http://people.cs.uchicago.edu/~blume/classes/aut2008/proglang/text/offline.pdf", - "title": "Programming Languages: Theory and Practice" - }, - { - "url": "http://www.cs.ru.nl/~herman/onderwijs/semantics2019/wiley.pdf", - "title": "Semantics with Applications: A Formal Introduction" - }, - { - "url": "https://mitpress.mit.edu/sicp/", - "title": "Structure and Interpretation of Computer Programs" - }, - { - "url": "http://sarabander.github.io/sicp/html/index.xhtml", - "title": "Structure and Interpretation of Computer Programs" - }, - { - "url": "http://self.gutenberg.org/wplbn0002828847-the-black-art-of-programming-by-mcilroy-mark.aspx?", - "title": "The Black Art of Programming" - }, - { - "url": "https://kilthub.cmu.edu/articles/The_Craft_of_Programming/6610514", - "title": "The Craft of Programming" - }, - { - "url": "https://greenteapress.com/wp/think-complexity-2e/", - "title": "Think Complexity" - } - ] - }, - { - "section": "Web Performance", - "entries": [ - { - "url": "http://www.bookofspeed.com", - "title": "Book of Speed" - }, - { - "url": "http://designingforperformance.com", - "title": "Designing for Performance" - }, - { - "url": "https://thisisyuu.github.io/ebook", - "title": "High Performance Accelerated Websites" - }, - { - "url": "https://hpbn.co", - "title": "High Performance Browser Networking" - }, - { - "url": "http://carlos.bueno.org/optimization/mature-optimization.pdf", - "title": "Mature Optimization" - } - ] - } - ] - }, - { - "section": "ABAP", - "entries": [ - { - "url": "https://github.com/SAP/styleguides/blob/master/clean-abap/CleanABAP.md", - "title": "SAP Code Style Guides - Clean ABAP" - } - ], - "subsections": [] - }, - { - "section": "Ada", - "entries": [ - { - "url": "http://www.cs.uni.edu/~mccormic/4740/guide-c2ada.pdf", - "title": "A Guide to Ada for C and C++ Programmers" - }, - { - "url": "http://www.adapower.com/pdfs/AdaDistilled07-27-2003.pdf", - "title": "Ada Distilled" - }, - { - "url": "https://www.adacore.com/uploads/books/pdf/Ada_for_the_C_or_Java_Developer-cc.pdf", - "title": "Ada for the C++ or Java Developer" - }, - { - "url": "https://en.wikibooks.org/wiki/Ada_Programming", - "title": "Ada Programming" - }, - { - "url": "http://www.ada-auth.org/standards/12rm/RM-Final.pdf", - "title": "Ada Reference Manual - ISO/IEC 8652:2012(E) Language and Standard Libraries" - }, - { - "url": "https://learn.adacore.com/courses/intro-to-ada/index.html", - "title": "Introduction To Ada" - }, - { - "url": "https://learn.adacore.com/courses/SPARK_for_the_MISRA_C_Developer/index.html", - "title": "Introduction To SPARK" - }, - { - "url": "http://www.pegasoft.ca/resources/boblap/book.html", - "title": "The Big Online Book of Linux Ada Programming" - } - ], - "subsections": [] - }, - { - "section": "Agda", - "entries": [ - { - "url": "http://people.inf.elte.hu/divip/AgdaTutorial/Index.html", - "title": "Agda Tutorial" - }, - { - "url": "https://plfa.github.io", - "title": "Programming Language Foundations in Agda" - } - ], - "subsections": [] - }, - { - "section": "Alef", - "entries": [ - { - "url": "http://doc.cat-v.org/plan_9/2nd_edition/papers/alef/ref", - "title": "Alef Language Reference Manual" - } - ], - "subsections": [] - }, - { - "section": "Android", - "entries": [ - { - "url": "http://www.techotopia.com/index.php/Android_4_App_Development_Essentials", - "title": "Android 4 App Development Essentials" - }, - { - "url": "https://goalkicker.com/AndroidBook", - "title": "Android Notes for Professionals" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/android", - "title": "Android Programming Succinctly, Syncfusion" - }, - { - "url": "http://www.tutorialspoint.com/android", - "title": "Android Tutorial" - }, - { - "url": "https://developer.android.com/courses/advanced-training/toc", - "title": "Codelabs for Advanced Android Development" - }, - { - "url": "https://github.com/codepath/android_guides/wiki", - "title": "CodePath Android Cliffnotes" - }, - { - "url": "http://www.coreservlets.com/android-tutorial/", - "title": "Coreservlets Android Programming Tutorial" - }, - { - "url": "http://www.vogella.com/tutorials/android.html", - "title": "Expert Android and Eclipse development knowledge" - }, - { - "url": "https://developer.android.com/guide", - "title": "Google Android Developer Training" - }, - { - "url": "https://blog.stylingandroid.com", - "title": "Styling Android" - }, - { - "url": "https://commonsware.com/Android/4-2-free", - "title": "The Busy Coder's Guide to Android Development" - } - ], - "subsections": [] - }, - { - "section": "APL", - "entries": [ - { - "url": "http://robertson.uk.net", - "title": "A Practical Introduction to APL1 & APL2" - }, - { - "url": "http://robertson.uk.net", - "title": "A Practical Introduction to APL3 & APL4" - }, - { - "url": "http://www.softwarepreservation.org/projects/apl/Books/CollegeMathematicswithAPL", - "title": "Introduction to College Mathematics with A Programming Language (1978)" - }, - { - "url": "http://www.dyalog.com/mastering-dyalog-apl.htm", - "title": "Mastering Dyalog APL" - } - ], - "subsections": [] - }, - { - "section": "App Inventor", - "entries": [ - { - "url": "https://amerkashi.wordpress.com/2015/02/16/absolute-app-inventor-2-book/", - "title": "Absolute App Inventor 2" - }, - { - "url": "http://www.appinventor.org/book2", - "title": "App Inventor 2" - } - ], - "subsections": [] - }, - { - "section": "Arduino", - "entries": [ - { - "url": "https://unglue.it/work/152452", - "title": "Arduino Programming Notebook" - }, - { - "url": "https://cdn-learn.adafruit.com/downloads/pdf/arduino-tips-tricks-and-techniques.pdf", - "title": "Arduino Tips, Tricks, and Techniques" - }, - { - "url": "http://manuals.makeuseof.com.s3.amazonaws.com/for-mobile/Arduino_-_MakeUseOf.com.pdf", - "title": "Getting started with Arduino – A Beginner’s Guide" - }, - { - "url": "https://www.arduino.cc/en/Guide", - "title": "Getting Started with Arduino products" - }, - { - "url": "http://playground.arduino.cc/Main/ManualsAndCurriculum", - "title": "Introduction to Arduino" - }, - { - "url": "http://www.introtoarduino.com", - "title": "Introduction to Arduino : A piece of cake!" - }, - { - "url": "https://openlibra.com/en/book/download/open-softwear-fashionable-prototyping-and-wearable-computing-using-the-arduino", - "title": "Open softwear - Fashionable prototyping and wearable computing using the Arduino" - } - ], - "subsections": [] - }, - { - "section": "ASP.NET", - "entries": [ - { - "url": "https://aka.ms/webappebook", - "title": "Architecting Modern Web Applications with ASP.NET Core and Microsoft Azure (2020)" - }, - { - "url": "http://mvcmusicstore.codeplex.com", - "title": "ASP.NET MVC Music Store" - }, - { - "url": "https://www.syncfusion.com/ebooks/aspnet_webhooks_succinctly", - "title": "ASP.NET WebHooks Succinctly" - }, - { - "url": "http://www.vijaymukhi.com/documents/books/vsnet/content.htm", - "title": "ASP.NET with C# (2008)" - }, - { - "url": "https://github.com/akhilmittal/FreeBooks/", - "title": "Diving into ASP.NET WebAPI (2016)" - }, - { - "url": "http://download.microsoft.com/download/0/f/b/0fbfaa46-2bfd-478f-8e56-7bf3c672df9d/intro%20to%20asp.net%20mvc%204%20with%20visual%20studio%20-%20beta.pdf", - "title": "Intro to ASPNET MVC 4 with Visual Studio 2011 Beta (2012)" - }, - { - "url": "https://download.microsoft.com/download/0/F/B/0FBFAA46-2BFD-478F-8E56-7BF3C672DF9D/Introducing%20ASP.NET%20Web%20Pages%202.pdf", - "title": "Introducing ASP.NET Web Pages 2 (2012)" - } - ], - "subsections": [] - }, - { - "section": "ASP.NET Core", - "entries": [ - { - "url": "https://www.syncfusion.com/succinctly-free-ebooks/asp-net-core-3-1-succinctly", - "title": "ASP.NET Core 3.1 Succinctly" - }, - { - "url": "https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-5.0", - "title": "ASP.NET Core Documentation - Microsoft Docs" - }, - { - "url": "https://s3.amazonaws.com/recaffeinate-files/LittleAspNetCoreBook.pdf", - "title": "The Little ASP.NET Core Book (2018)" - } - ], - "subsections": [ - { - "section": "Blazor", - "entries": [ - { - "url": "https://www.telerik.com/campaigns/blazor/wp-beginners-guide-ebook", - "title": "Blazor: A Beginner's Guide" - }, - { - "url": "https://dotnet.microsoft.com/download/e-book/blazor-for-web-forms-devs/pdf", - "title": "Blazor for ASP.NET Web Forms Developers" - } - ] - } - ] - }, - { - "section": "Assembly Language", - "entries": [ - { - "url": "http://www.rigwit.co.uk/ARMBook/ARMBook.pdf", - "title": "ARM Assembly Language Programming" - }, - { - "url": "http://www.davidsalomon.name/assem.advertis/asl.pdf", - "title": "Assemblers And Loaders (1993)" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/details/ebooks/assemblylanguage", - "title": "Assembly Language Succinctly" - }, - { - "url": "http://pacman128.github.io/pcasm/", - "title": "PC Assembly Language" - }, - { - "url": "https://web.archive.org/web/20170329045538/http://blog.hit.edu.cn:80/jsx/upload/AT%EF%BC%86TAssemblyLanguage.pdf", - "title": "Professional Assembly Language" - }, - { - "url": "https://download-mirror.savannah.gnu.org/releases/pgubook/ProgrammingGroundUp-1-0-booksize.pdf", - "title": "Programming from the Ground Up" - }, - { - "url": "http://www.ctyme.com/rbrown.htm", - "title": "Ralf Brown's Interrupt List" - }, - { - "url": "http://www.agner.org/optimize/", - "title": "Software optimization resources" - }, - { - "url": "https://web.archive.org/web/20120525102637/http://maven.smith.edu/~thiebaut/ArtOfAssembly/artofasm.html", - "title": "The Art of Assembly Language (2003)" - }, - { - "url": "https://web.archive.org/web/20170712195930/http://vendu.twodots.nl/files/wizardcode4.pdf", - "title": "Wizard Code, A View on Low-Level Programming" - }, - { - "url": "http://www.egr.unlv.edu/~ed/x86.html", - "title": "x86-64 Assembly Language Programming with Ubuntu" - }, - { - "url": "https://en.wikibooks.org/wiki/X86_Assembly", - "title": "x86 Assembly" - }, - { - "url": "https://en.wikibooks.org/wiki/X86_Disassembly", - "title": "x86 Disassembly" - }, - { - "url": "http://www.jagregory.com/abrash-zen-of-asm/", - "title": "Zen of Assembly Language: Volume I, Knowledge (1990)" - } - ], - "subsections": [ - { - "section": "Non-X86", - "entries": [ - { - "url": "http://skilldrick.github.io/easy6502/", - "title": "Easy 6502" - }, - { - "url": "https://usborne.com/browse-books/features/computer-and-coding-books/", - "title": "Machine Code for Beginners [Z80 and 6502 CPUs]" - }, - { - "url": "https://archive.org/details/ataribooks-machine-language-for-beginners", - "title": "Machine Language for Beginners" - }, - { - "url": "http://chortle.ccsu.edu/AssemblyTutorial/index.html", - "title": "Programmed Introduction to MIPS Assembly Language" - }, - { - "url": "http://www.atariarchives.org/2bml/", - "title": "The Second Book of Machine Language" - } - ] - } - ] - }, - { - "section": "AutoHotkey", - "entries": [ - { - "url": "http://ahkscript.github.io/ahkbook/index.html", - "title": "AHKbook - the book for AutoHotkey" - }, - { - "url": "https://autohotkey.com/docs/AutoHotkey.htm", - "title": "AutoHotkey Official Documentation" - } - ], - "subsections": [] - }, - { - "section": "AutoIt", - "entries": [ - { - "url": "https://www.autoitscript.com/autoit3/docs/", - "title": "AutoIt Docs" - } - ], - "subsections": [] - }, - { - "section": "Autotools", - "entries": [ - { - "url": "https://autotools.io/index.html", - "title": "Autotools Mythbuster" - }, - { - "url": "http://sourceware.org/autobook/", - "title": "GNU Autoconf, Automake and Libtool" - } - ], - "subsections": [] - }, - { - "section": "Awk", - "entries": [ - { - "url": "https://en.wikibooks.org/wiki/An_Awk_Primer", - "title": "An Awk Primer" - }, - { - "url": "https://www.grymoire.com/Unix/Awk.html", - "title": "Awk" - }, - { - "url": "https://www.gnu.org/software/gawk/manual", - "title": "Gawk: Effective AWK Programming" - }, - { - "url": "https://learnbyexample.github.io/learn_gnuawk/", - "title": "GNU awk" - } - ], - "subsections": [] - }, - { - "section": "Bash", - "entries": [ - { - "url": "http://tldp.org/LDP/abs/html/", - "title": "Advanced Bash-Scripting Guide" - }, - { - "url": "http://www.tldp.org/LDP/Bash-Beginners-Guide/html/", - "title": "Bash Guide for Beginners (2008)" - }, - { - "url": "http://goalkicker.com/BashBook/", - "title": "Bash Notes for Professionals" - }, - { - "url": "http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html", - "title": "BASH Programming (2000)" - }, - { - "url": "http://www.gnu.org/software/bash/manual/bashref.html", - "title": "Bash Reference Manual" - }, - { - "url": "https://web.archive.org/web/20180328183806/http://gdrcorelec.ups-tlse.fr/files/bash.pdf", - "title": "Bash tutorial" - }, - { - "url": "http://mywiki.wooledge.org/BashGuide", - "title": "BashGuide" - }, - { - "url": "http://conqueringthecommandline.com/book/frontmatter", - "title": "Conquering the Command Line" - }, - { - "url": "http://www.hypexr.org/bash_tutorial.php", - "title": "Getting Started with BASH" - }, - { - "url": "https://www.gnu.org/software/bash/manual/bash.pdf", - "title": "GNU Bash manual" - }, - { - "url": "https://google.github.io/styleguide/shell.xml", - "title": "Google Shell Style Guide" - }, - { - "url": "https://github.com/bobbyiliev/introduction-to-bash-scripting", - "title": "Introduction to Bash Scripting" - }, - { - "url": "https://launchschool.com/books/command_line", - "title": "Introduction to the Command Line" - }, - { - "url": "http://www.freeos.com/guides/lsst/", - "title": "Linux Shell Scripting Tutorial - A Beginner's Handbook (2002)" - }, - { - "url": "https://bash.cyberciti.biz/guide/Main_Page", - "title": "Linux Shell Scripting Tutorial (LSST) v2.0" - }, - { - "url": "http://slackbook.org", - "title": "Slackbook (2005)" - }, - { - "url": "http://guide.bash.academy", - "title": "The Bash Academy" - }, - { - "url": "http://linuxcommand.org/tlcl.php", - "title": "The Linux Command Line" - }, - { - "url": "http://linuxcommand.org/lc3_writing_shell_scripts.php", - "title": "Writing Shell Scripts" - } - ], - "subsections": [] - }, - { - "section": "Basic", - "entries": [ - { - "url": "http://10print.org", - "title": "10 PRINT CHR$(205.5+RND(1)); : GOTO 10" - }, - { - "url": "http://distro.ibiblio.org/vectorlinux/Uelsk8s/GAMBAS/gambas-beginner-guide.pdf", - "title": "A beginner's guide to Gambas" - }, - { - "url": "http://www.jes.com/pb/", - "title": "Pick/Basic: A Programmer's Guide" - }, - { - "url": "http://www.techotopia.com/index.php/Visual_Basic_Essentials", - "title": "Visual Basic Essentials" - } - ], - "subsections": [] - }, - { - "section": "BETA", - "entries": [ - { - "url": "https://beta.cs.au.dk/Manuals/latest/compiler/index.html", - "title": "MIA 90-02: BETA Compiler - Reference Manual" - }, - { - "url": "https://beta.cs.au.dk/Manuals/latest/beta-intro/index.html", - "title": "MIA 94-26: BETA Language Introduction - Tutorial" - }, - { - "url": "https://beta.cs.au.dk/Manuals/latest/beta/beta-index.html", - "title": "MIA 99-41: BETA Language Modifications - Reference Manual" - }, - { - "url": "https://beta.cs.au.dk/Manuals/latest/beta/fragment.html", - "title": "MIA 99-42: The Fragment System: Further Specification" - }, - { - "url": "https://beta.cs.au.dk/Books/", - "title": "Object-Oriented Programming in the BETA Programming Language" - } - ], - "subsections": [] - }, - { - "section": "C", - "entries": [ - { - "url": "http://www.brackeen.com/vga/", - "title": "256-Color VGA Programming in C" - }, - { - "url": "https://web.archive.org/web/20180827131006/http://home.earthlink.net/~momotuk/pointers.pdf", - "title": "A Tutorial on Pointers and Arrays in C" - }, - { - "url": "https://www.raspberrypi.org/magpi-issues/C_GUI_Programming.pdf", - "title": "An Introduction to C & GUI Programming" - }, - { - "url": "https://github.com/umanovskis/baremetal-arm", - "title": "Bare-metal programming for ARM" - }, - { - "url": "http://beej.us/guide/bgc/", - "title": "Beej's Guide to C Programming" - }, - { - "url": "http://beej.us/guide/bgnet/", - "title": "Beej's Guide to Network Programming - Using Internet Sockets" - }, - { - "url": "http://beej.us/guide/bggdb/", - "title": "Beej's Guide to the GNU Debugger (GDB)" - }, - { - "url": "http://www.buildyourownlisp.com", - "title": "Build Your Own Lisp" - }, - { - "url": "http://www.oualline.com/books.free/style/", - "title": "C Elements of Style" - }, - { - "url": "http://www.toves.org/books/cpy/", - "title": "C for Python Programmers - Carl Burch" - }, - { - "url": "https://goalkicker.com/CBook", - "title": "C Notes for Professionals" - }, - { - "url": "https://en.wikibooks.org/wiki/Programming%3AC", - "title": "C Programming" - }, - { - "url": "https://gribblelab.org/teaching/CBootCamp/", - "title": "C Programming Boot Camp - Paul Gribble" - }, - { - "url": "http://www.slideshare.net/olvemaudal/deep-c", - "title": "Deep C" - }, - { - "url": "http://cslibrary.stanford.edu/101/EssentialC.pdf", - "title": "Essential C" - }, - { - "url": "http://boredzo.org/pointers/", - "title": "Everything you need to know about pointers in C - Peter Hosey" - }, - { - "url": "https://research.utwente.nl/files/5128727/book.pdf", - "title": "Functional C (1997)" - }, - { - "url": "https://www.smashwords.com/books/view/737188", - "title": "Hashing" - }, - { - "url": "https://www.raspberrypi.org/magpi-issues/Essentials_C_v1.pdf", - "title": "Learn to Code With C - The MagPi Essentials" - }, - { - "url": "https://download-mirror.savannah.gnu.org/releases/c-prog-book/learning_gnu_c.pdf", - "title": "Learning GNU C" - }, - { - "url": "https://ben.klemens.org/pdfs/gsl_stats.pdf", - "title": "Modeling with Data" - }, - { - "url": "https://modernc.gforge.inria.fr", - "title": "Modern C" - }, - { - "url": "http://www.planetpdf.com/codecuts/pdfs/ooc.pdf", - "title": "Object-Oriented Programming With ANSI-C" - }, - { - "url": "http://ee.hawaii.edu/~tep/EE160/Book/PDF/", - "title": "Programming in C" - }, - { - "url": "https://www.freetechbooks.com/programming-in-c-t1337.html", - "title": "Programming in C" - }, - { - "url": "https://www.smashwords.com/books/view/644937", - "title": "Structures and C" - }, - { - "url": "http://publications.gbdirect.co.uk/c_book/", - "title": "The C book" - }, - { - "url": "http://www.finseth.com/craft/", - "title": "The Craft of Text Editing or A Cookbook for an Emacs" - }, - { - "url": "https://web.archive.org/web/20181230041359/http://www.open-std.org/jtc1/sc22/wg14/www/abq/c17_updated_proposed_fdis.pdf", - "title": "The Current C Programming Language Standard – ISO/IEC 9899:2018 (C17/C18), Draft" - }, - { - "url": "http://www.crasseux.com/books/ctut.pdf", - "title": "The GNU C Programming Tutorial" - }, - { - "url": "https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html", - "title": "The GNU C Reference Manual" - }, - { - "url": "http://littleosbook.github.io", - "title": "The little book about OS development" - }, - { - "url": "http://www.knosof.co.uk/cbook/cbook.html", - "title": "The New C Standard - An Economic and Cultural commentary (2009)" - }, - { - "url": "http://www.coranac.com/tonc/text/toc.htm", - "title": "TONC GBA Programming - Game Boy Advance Development" - } - ], - "subsections": [] - }, - { - "section": "C Sharp", - "entries": [ - { - "url": "http://www.techotopia.com/index.php/C_Sharp_Essentials", - "title": "C# Essentials" - }, - { - "url": "http://goalkicker.com/CSharpBook/", - "title": "C# Notes for Professionals" - }, - { - "url": "https://en.wikibooks.org/wiki/C_Sharp_Programming", - "title": "C# Programming" - }, - { - "url": "https://www.robmiles.com/s/CSharp-Book-2019-Refresh.pdf", - "title": "C# Programming Yellow Book" - }, - { - "url": "https://www.filipekberg.se", - "title": "C# Smorgasbord" - }, - { - "url": "https://leanpub.com/cstips", - "title": "C# Tips" - }, - { - "url": "https://developer.xamarin.com/guides/xamarin-forms/creating-mobile-apps-xamarin-forms/", - "title": "Creating Mobile Apps with Xamarin.Forms C#" - }, - { - "url": "https://web.archive.org/web/20170930132000/https://www.exceptionnotfound.net/downloads/dailydesignpattern.pdf", - "title": "Daily Design Patterns" - }, - { - "url": "https://web.archive.org/web/20161220072449/http://www.brpreiss.com/books/opus6/", - "title": "Data Structures and Algorithms with Object-Oriented Design Patterns in C#" - }, - { - "url": "https://damieng.com/blog/2007/11/08/dissecting-a-c-application-inside-sharpdevelop", - "title": "Dissecting a C# Application" - }, - { - "url": "http://www.introprogramming.info/english-intro-csharp-book/read-online/", - "title": "Fundamentals of Computer Programming with C#" - }, - { - "url": "https://github.com/petroemil/Rx.Book", - "title": "High level asynchronous programming with Reactive Extensions" - }, - { - "url": "http://www.introtorx.com", - "title": "Introduction to Rx" - }, - { - "url": "https://learnxinyminutes.com/docs/csharp/", - "title": "Learn C# in Y Minutes" - }, - { - "url": "https://www.packtpub.com/free-ebooks/mastering-xamarin-ui-development-second-edition", - "title": "Mastering Xamarin UI Development, Second Edition" - }, - { - "url": "http://bookboon.com/en/object-oriented-programming-using-c-sharp-ebook", - "title": "Object Oriented Programming using C#" - }, - { - "url": "http://www.albahari.com/threading/", - "title": "Threading in C#" - }, - { - "url": "https://www.syncfusion.com/ebooks/xamarin_forms_for_mac_os_succinctly", - "title": "Xamarin.Forms for macOS Succinctly" - }, - { - "url": "https://www.syncfusion.com/ebooks/xamarin-forms-succinctly", - "title": "Xamarin.Forms Succinctly" - }, - { - "url": "https://fbb-git.gitlab.io/cppannotations/", - "title": "C++ Annotations" - }, - { - "url": "https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md", - "title": "C++ Core Guidelines" - }, - { - "url": "https://ptgmedia.pearsoncmg.com/images/0131240722/downloads/blanchette_book.pdf", - "title": "C++ GUI Programming With Qt 3" - }, - { - "url": "http://www.cplusplus.com/doc/tutorial/", - "title": "C++ Language" - }, - { - "url": "https://goalkicker.com/CPlusPlusBook", - "title": "C++ Notes for Professionals" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/cplusplus", - "title": "C++ Succinctly, Syncfusion" - }, - { - "url": "http://www.bordoon.com/cplusplus/book_wrapper.html", - "title": "C++ Tricks" - }, - { - "url": "http://web.stanford.edu/class/cs106x/", - "title": "CS106X Programming Abstractions in C++" - }, - { - "url": "http://elementsofprogramming.com", - "title": "Elements of Programming" - }, - { - "url": "http://finance.bi.no/~bernt/gcc_prog/recipes/", - "title": "Financial Numerical Recipes in C++" - }, - { - "url": "http://gameprogrammingpatterns.com", - "title": "Game Programming Patterns" - }, - { - "url": "https://google.github.io/styleguide/cppguide.html", - "title": "Google's C++ Style Guide" - }, - { - "url": "https://www.packtpub.com/free-ebook/hands-on-system-programming-with-c/9781789137880", - "title": "Hands-On System Programming with C++" - }, - { - "url": "https://samypesse.gitbook.io/how-to-create-an-operating-system/", - "title": "How to make an Operating System" - }, - { - "url": "http://greenteapress.com/thinkcpp/index.html", - "title": "How To Think Like a Computer Scientist: C++ Version" - }, - { - "url": "http://ptgmedia.pearsoncmg.com/images/9780131879058/downloads/0131879057_Ezust_book.pdf", - "title": "Introduction to Design Patterns in C++ with Qt 4" - }, - { - "url": "http://www.stroustrup.com/JSF-AV-rules.pdf", - "title": "Joint Strike Fighter, C++ Coding Standards, by Bjarne Stroustrup" - }, - { - "url": "https://www.learncpp.com", - "title": "LearnCpp.com" - }, - { - "url": "http://www.jjj.de/fxt/fxtbook.pdf", - "title": "Matters Computational: Ideas, Algorithms, Source Code, by Jorg Arndt" - }, - { - "url": "http://opendatastructures.org/ods-cpp.pdf", - "title": "Open Data Structures (In C++)" - }, - { - "url": "https://learning.hccs.edu/faculty/ken.busbee/programming-fundamentals-a-modular-structured-approach-using-c", - "title": "Programming Fundamentals - A Modular Structured Approach using C++" - }, - { - "url": "http://cis.stvincent.edu/html/tutorials/swd/", - "title": "Software Design Using C++" - }, - { - "url": "http://www.agner.org/optimize/", - "title": "Software optimization resources by Agner Fog" - }, - { - "url": "http://theboostcpplibraries.com", - "title": "The Boost C++ libraries" - }, - { - "url": "http://rooksguide.org/2013/11/26/version-1-0-is-out/", - "title": "The Rook's Guide to C++" - }, - { - "url": "https://www.gitbook.com/book/alexastva/the-ultimate-question-of-programming-refactoring-/details", - "title": "The Ultimate Question of Programming, Refactoring, and Everything" - }, - { - "url": "https://greenteapress.com/wp/think-c/", - "title": "Think C++: How To Think Like a Computer Scientist" - }, - { - "url": "https://archive.org/details/TICPP2ndEdVolOne", - "title": "Thinking in C++, Second Edition, Vol. 1." - } - ], - "subsections": [] - }, - { - "section": "Chapel", - "entries": [ - { - "url": "http://faculty.knox.edu/dbunde/teaching/chapel/", - "title": "Chapel Tutorial" - }, - { - "url": "http://web.archive.org/web/20150310075109/http://cs.colby.edu/kgburke/?resource=chapelTutorial", - "title": "Chapel Tutorial for Programmers" - } - ], - "subsections": [] - }, - { - "section": "Cilk", - "entries": [ - { - "url": "http://supertech.csail.mit.edu/cilk/manual-5.4.6.pdf", - "title": "Cilk 5.4.6 Reference Manual" - } - ], - "subsections": [] - }, - { - "section": "Clojure", - "entries": [ - { - "url": "http://www.unexpected-vortices.com/clojure/brief-beginners-guide/", - "title": "A Brief Beginner’s Guide To Clojure" - }, - { - "url": "http://java.ociweb.com/mark/clojure/article.html", - "title": "Clojure - Functional Programming for the JVM" - }, - { - "url": "https://kimh.github.io/clojure-by-example/", - "title": "Clojure by Example" - }, - { - "url": "http://clojure-doc.org", - "title": "Clojure community-driven documentation" - }, - { - "url": "https://github.com/clojure-cookbook/clojure-cookbook", - "title": "Clojure Cookbook" - }, - { - "url": "http://yogthos.github.io/ClojureDistilled.html", - "title": "Clojure Distilled Beginner Guide" - }, - { - "url": "http://www.braveclojure.com", - "title": "Clojure for the Brave and True" - }, - { - "url": "https://web.archive.org/web/20201013022918/http://daly.axiom-developer.org/clojure.pdf", - "title": "Clojure in Small Pieces" - }, - { - "url": "http://clojurekoans.com", - "title": "Clojure Koans" - }, - { - "url": "https://en.wikibooks.org/wiki/Clojure_Programming", - "title": "Clojure Programming" - }, - { - "url": "http://clojurescriptkoans.com", - "title": "ClojureScript Koans" - }, - { - "url": "https://funcool.github.io/clojurescript-unraveled/", - "title": "ClojureScript Unraveled" - }, - { - "url": "http://data-sorcery.org/contents/", - "title": "Data Sorcery with Clojure" - }, - { - "url": "https://github.com/magomimmo/modern-cljs", - "title": "Modern cljs" - }, - { - "url": "http://www.sicpdistilled.com", - "title": "SICP Distilled - An idiosyncratic tour of SICP in Clojure" - }, - { - "url": "https://github.com/bbatsov/clojure-style-guide", - "title": "The Clojure Style Guide" - } - ], - "subsections": [] - }, - { - "section": "COBOL", - "entries": [ - { - "url": "http://yusman.staff.gunadarma.ac.id/Downloads/files/33460/COBOL_Programming_Fundamental.pdf", - "title": "COBOL Programming Fundamental" - }, - { - "url": "http://www-01.ibm.com/support/docview.wss?uid=swg27036733", - "title": "Enterprise COBOL for z/OS documentation library" - }, - { - "url": "https://supportline.microfocus.com/documentation/books/oc41books/lrintr.htm", - "title": "Introduction to the COBOL Language" - }, - { - "url": "http://open-cobol.sourceforge.net/guides/OpenCOBOL%20Programmers%20Guide.pdf", - "title": "OpenCOBOL 1.1 - Programmer's Guide" - } - ], - "subsections": [] - }, - { - "section": "CoffeeScript", - "entries": [ - { - "url": "https://coffeescript-cookbook.github.io", - "title": "CoffeeScript Cookbook" - }, - { - "url": "https://leanpub.com/coffeescript-ristretto/read", - "title": "CoffeeScript Ristretto" - }, - { - "url": "http://autotelicum.github.io/Smooth-CoffeeScript/SmoothCoffeeScript.html", - "title": "Smooth CoffeeScript" - }, - { - "url": "http://arcturo.github.io/library/coffeescript/", - "title": "The Little Book on CoffeeScript" - } - ], - "subsections": [] - }, - { - "section": "ColdFusion", - "entries": [ - { - "url": "https://github.com/mhenke/CFML-in-100-minutes/blob/master/cfml100mins.markdown", - "title": "CFML In 100 Minutes" - }, - { - "url": "http://learncfinaweek.com", - "title": "Learn CF in a Week" - } - ], - "subsections": [] - }, - { - "section": "Component Pascal", - "entries": [ - { - "url": "http://www.cslab.pepperdine.edu/warford/ComputingFundamentals/", - "title": "Computing Fundamentals" - } - ], - "subsections": [] - }, - { - "section": "Cool", - "entries": [ - { - "url": "https://www.eecis.udel.edu/~cavazos/cisc672/docs/cool-manual.pdf", - "title": "CoolAid: The Cool 2013 Reference Manual" - } - ], - "subsections": [] - }, - { - "section": "Coq", - "entries": [ - { - "url": "http://adam.chlipala.net/cpdt/html/toc.html", - "title": "Certified Programming with Dependent Types" - }, - { - "url": "http://www.cis.upenn.edu/~bcpierce/sf/", - "title": "Software Foundations" - } - ], - "subsections": [] - }, - { - "section": "Crystal", - "entries": [ - { - "url": "http://www.crystalforrubyists.com", - "title": "Crystal for Rubyists" - } - ], - "subsections": [] - }, - { - "section": "CUDA", - "entries": [ - { - "url": "https://docs.nvidia.com/pdf/CUDA_C_Best_Practices_Guide.pdf", - "title": "CUDA C Best Practices Guide" - }, - { - "url": "https://docs.nvidia.com/pdf/CUDA_C_Programming_Guide.pdf", - "title": "CUDA C Programming Guide" - }, - { - "url": "http://www.nvidia.com/content/cudazone/download/OpenCL/NVIDIA_OpenCL_ProgrammingGuide.pdf", - "title": "OpenCL Programming Guide for CUDA Architecture" - } - ], - "subsections": [] - }, - { - "section": "D", - "entries": [ - { - "url": "https://github.com/PhilippeSigaud/D-templates-tutorial", - "title": "D Templates Tutorial" - }, - { - "url": "http://ddili.org/ders/d.en/", - "title": "Programming in D" - } - ], - "subsections": [] - }, - { - "section": "Dart", - "entries": [ - { - "url": "https://riptutorial.com/Download/dart.pdf", - "title": "Learning Dart" - } - ], - "subsections": [] - }, - { - "section": "DB2", - "entries": [ - { - "url": "http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_DB2_Express_v9.7_p4.pdf", - "title": "Getting started with DB2 Express-C" - }, - { - "url": "http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_IBM_Data_Studio_for_DB2_p3.pdf", - "title": "Getting started with IBM Data Studio for DB2" - }, - { - "url": "http://public.dhe.ibm.com/software/dw/db2/express-c/wiki/Getting_Started_with_DB2_App_Dev_p2.pdf", - "title": "Getting started with IBM DB2 development" - } - ], - "subsections": [] - }, - { - "section": "DBMS", - "entries": [ - { - "url": "http://www.lincoste.com/ebooks/english/pdf/computers/database_management_systems.pdf", - "title": "Database Management Systems eBooks For All Edition" - } - ], - "subsections": [] - }, - { - "section": "Delphi / Pascal", - "entries": [ - { - "url": "http://www.marcocantu.com/epascal/", - "title": "Essential Pascal Version 1 and 2" - }, - { - "url": "https://www.packtpub.com/free-ebooks/expert-delphi", - "title": "Expert Delphi" - }, - { - "url": "https://github.com/michaliskambi/modern-pascal-introduction", - "title": "Modern Object Pascal Introduction for Programmers" - } - ], - "subsections": [] - }, - { - "section": "DTrace", - "entries": [ - { - "url": "http://dtrace.org/guide/preface.html", - "title": "IllumOS Dynamic Tracing Guide" - } - ], - "subsections": [] - }, - { - "section": "Eiffel", - "entries": [ - { - "url": "http://homepages.mcs.vuw.ac.nz/~tk/fps/fps-sans-escher.pdf", - "title": "A Functional Pattern System for Object-Oriented Design" - } - ], - "subsections": [] - }, - { - "section": "Elixir", - "entries": [ - { - "url": "https://github.com/seven1m/30-days-of-elixir", - "title": "30 Days of Elixir" - }, - { - "url": "https://elixirschool.com", - "title": "Elixir School" - }, - { - "url": "https://www.syncfusion.com/ebooks/elixir-succinctly", - "title": "Elixir Succinctly, Syncfusion" - }, - { - "url": "http://elixir-lang.org/getting-started/introduction.html", - "title": "Getting Started Guide" - }, - { - "url": "https://joyofelixir.com", - "title": "Joy of Elixir" - }, - { - "url": "http://learningelixir.joekain.com", - "title": "Learning Elixir" - }, - { - "url": "http://www.binarywebpark.com/ultimate-guide-elixir-object-oriented-programmers", - "title": "The Ultimate Guide To Elixir For Object-Oriented Programmers" - } - ], - "subsections": [ - { - "section": "Ecto", - "entries": [ - { - "url": "https://hexdocs.pm/ecto/getting-started.html#content", - "title": "Ecto Getting Started Guide" - } - ] - }, - { - "section": "Phoenix", - "entries": [ - { - "url": "https://hexdocs.pm/phoenix/overview.html", - "title": "Phoenix Framework Guide" - }, - { - "url": "https://elviovicosa.com/freebies/versioned-apis-with-phoenix-by-elvio-vicosa.pdf", - "title": "Versioned APIs with Phoenix" - } - ] - } - ] - }, - { - "section": "Emacs", - "entries": [ - { - "url": "https://www.gnu.org/software/emacs/manual/html_node/eintr/index.html", - "title": "An Introduction to Programming in Emacs Lisp, 3rd Edition" - }, - { - "url": "https://www.finseth.com/craft/", - "title": "Emacs for the Modern World" - }, - { - "url": "http://www.gnu.org/software/emacs/manual/elisp.html", - "title": "GNU Emacs Lisp Reference Manual" - }, - { - "url": "https://www.gnu.org/software/emacs/manual/pdf/emacs.pdf", - "title": "GNU Emacs Manual" - } - ], - "subsections": [] - }, - { - "section": "Embedded Systems", - "entries": [ - { - "url": "http://www.learn-c.com", - "title": "Control and Embedded Systems" - }, - { - "url": "http://www.cs.indiana.edu/~geobrown/book.pdf", - "title": "Discovering the STM32 Microcontroller" - }, - { - "url": "https://www.phaedsys.com/principals/bytecraft/bytecraftdata/bcfirststeps.pdf", - "title": "First Steps with Embedded Systems" - }, - { - "url": "https://ptolemy.berkeley.edu/books/leeseshia/releases/LeeSeshia_DigitalV2_2.pdf", - "title": "Introduction to Embedded Systems, Second Edition" - }, - { - "url": "http://www.embeddedrelated.com/showarticle/453.php", - "title": "Introduction to Microcontrollers" - }, - { - "url": "https://freertos.org/Documentation/RTOS_book.html", - "title": "Mastering the FreeRTOS Real Time Kernel - a Hands On Tutorial Guide" - } - ], - "subsections": [] - }, - { - "section": "Erlang", - "entries": [ - { - "url": "http://beam-wisdoms.clau.se/en/latest/", - "title": "BEAM Wisdoms" - }, - { - "url": "http://www.erlang.org/download/erlang-book-part1.pdf", - "title": "Concurrent Programming in ERLANG" - }, - { - "url": "https://github.com/esl/erlang-handbook/raw/master/output/ErlangHandbook.pdf", - "title": "Erlang Handbook" - }, - { - "url": "https://en.wikibooks.org/wiki/Erlang_Programming", - "title": "Erlang Programming" - }, - { - "url": "http://www.erlang.org/doc/getting_started/users_guide.html", - "title": "Getting Started with Erlang User's Guide" - }, - { - "url": "http://learnyousomeerlang.com", - "title": "Learn You Some Erlang For Great Good" - }, - { - "url": "http://www.erlang.org/download/armstrong_thesis_2003.pdf", - "title": "Making reliable distributed systems in the presence of software errors" - }, - { - "url": "https://www.erlang-in-anger.com", - "title": "Stuff Goes Bad: Erlang in Anger" - }, - { - "url": "https://blog.stenmans.org/theBeamBook", - "title": "The BEAM Book" - } - ], - "subsections": [] - }, - { - "section": "ESP8266", - "entries": [ - { - "url": "https://leanpub.com/ESP8266_ESP32", - "title": "Kolban's book on the ESP32 & ESP8266" - } - ], - "subsections": [] - }, - { - "section": "F Sharp", - "entries": [ - { - "url": "https://www.oreilly.com/programming/free/files/analyzing-visualizing-data-f-sharp.pdf", - "title": "Analyzing and Visualizing Data with F#" - }, - { - "url": "https://www.gitbook.com/book/swlaschin/fsharpforfunandprofit/details", - "title": "F# for fun and profit" - }, - { - "url": "https://en.wikibooks.org/wiki/F_Sharp_Programming", - "title": "F# Programming" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/fsharp", - "title": "F# Succinctly, SyncFusion" - }, - { - "url": "https://www.overleaf.com/read/hcwwdfxvftfp", - "title": "Functional Programming Textbook" - }, - { - "url": "https://archive.org/details/B-001-003-622", - "title": "Programming Language Concepts for Software Developers" - } - ], - "subsections": [] - }, - { - "section": "Firefox OS", - "entries": [ - { - "url": "https://leanpub.com/quickguidefirefoxosdevelopment/read", - "title": "Quick Guide For Firefox OS App Development: Creating HTML5 based apps for Firefox OS" - } - ], - "subsections": [] - }, - { - "section": "Flutter", - "entries": [ - { - "url": "https://flutter.dev/docs/cookbook", - "title": "Cookbook" - }, - { - "url": "https://www.syncfusion.com/ebooks/flutter-succinctly", - "title": "Flutter Succinctly, Syncfusion" - }, - { - "url": "https://www.tutorialspoint.com/flutter", - "title": "Flutter Tutorial" - }, - { - "url": "https://kodestat.gitbook.io/flutter", - "title": "Flutter Tutorials Handbook" - } - ], - "subsections": [] - }, - { - "section": "Force.com", - "entries": [ - { - "url": "https://web.archive.org/web/20170102233924/https://resources.docs.salesforce.com/sfdc/pdf/apex_workbook.pdf", - "title": "Apex Workbook" - }, - { - "url": "http://developer.force.com/workbook", - "title": "Developer Workbooks" - }, - { - "url": "http://developerforce.s3.amazonaws.com/books/Force.com_Fundamentals.pdf", - "title": "Force.com Fundamentals" - }, - { - "url": "http://www.lulu.com/shop/salesforcecom/forcecom-platform-fundamentals/ebook/product-17381451.html", - "title": "Force.com Platform Fundamentals: An Introduction to Custom Application Development in the Cloud" - }, - { - "url": "https://web.archive.org/web/20160804055738/http://resources.docs.salesforce.com:80/sfdc/pdf/forcecom_workbook.pdf", - "title": "Force.com Workbook" - }, - { - "url": "https://web.archive.org/web/20131209081736/http://media.developerforce.com/workbooks/HerokuPostgres_Workbooks_Web_Final.pdf", - "title": "Heroku Postgres" - }, - { - "url": "https://res.cloudinary.com/hy4kyit2a/image/upload/workbook_text_Heroku.pdf", - "title": "Heroku Workbook" - }, - { - "url": "https://web.archive.org/web/20150919023850/https://resources.docs.salesforce.com/sfdc/pdf/integration_workbook.pdf", - "title": "Integration Workbook" - }, - { - "url": "https://res.cloudinary.com/hy4kyit2a/image/upload/s1_mobile_woorkbook_v3-21.pdf", - "title": "Salesforce1 Mobile App Workbook" - }, - { - "url": "https://web.archive.org/web/20150921195528/https://resources.docs.salesforce.com/sfdc/pdf/workbook_vf.pdf", - "title": "Visualforce Workbook" - } - ], - "subsections": [] - }, - { - "section": "Forth", - "entries": [ - { - "url": "https://web.archive.org/web/20180919061255/http://galileo.phys.virginia.edu/classes/551.jvn.fall01/primer.htm", - "title": "A Beginner's Guide to Forth" - }, - { - "url": "http://ficl.sourceforge.net/pdf/Forth_Primer.pdf", - "title": "And so Forth..." - }, - { - "url": "http://www.mpeforth.com/arena/ProgramForth.pdf", - "title": "Programming Forth" - }, - { - "url": "http://home.iae.nl/users/mhx/sf.html", - "title": "Starting Forth" - }, - { - "url": "http://thinking-forth.sourceforge.net", - "title": "Thinking Forth" - }, - { - "url": "http://www.ultratechnology.com/forth.htm", - "title": "Thoughtful Programming and Forth" - } - ], - "subsections": [] - }, - { - "section": "Fortran", - "entries": [ - { - "url": "http://www.cs.mtu.edu/~shene/COURSES/cs201/NOTES/fortran.html", - "title": "Fortran 90 Tutorial" - }, - { - "url": "https://web.stanford.edu/class/me200c/tutorial_90/", - "title": "Fortran 90 Tutorial" - }, - { - "url": "https://www.fortranplus.co.uk/fortran-information/", - "title": "Fortran information & resources" - }, - { - "url": "https://www.ibiblio.org/pub/languages/fortran/unct.html", - "title": "FORTRAN Performance Tuning co-Guide (1998)" - }, - { - "url": "https://qc2-teaching.readthedocs.io/en/latest/programming.html", - "title": "Introduction to Fortran" - }, - { - "url": "https://modern-fortran-in-science-and-technology.readthedocs.io/en/latest", - "title": "Modern Fortran in Science and Technology" - }, - { - "url": "https://masuday.github.io/fortran_tutorial/", - "title": "Modern Fortran Tutorial" - }, - { - "url": "https://www.star.le.ac.uk/~cgp/prof77.pdf", - "title": "Professional Programmer’s Guide to Fortran77 (2005)" - }, - { - "url": "http://www.mrao.cam.ac.uk/~rachael/compphys/SelfStudyF95.pdf", - "title": "Self Study Guide 2: Programming in Fortran 95" - }, - { - "url": "https://www.ibiblio.org/pub/languages/fortran/", - "title": "User Notes On Fortran Programming (UNFP): An open cooperative practical guide (1998)" - } - ], - "subsections": [] - }, - { - "section": "FreeBSD", - "entries": [ - { - "url": "http://www.freebsd.org/docs/books.html", - "title": "Books and Articles from FreeBSD Site" - }, - { - "url": "http://www.lemis.com/grog/Documentation/CFBSD/", - "title": "The Complete FreeBSD" - }, - { - "url": "http://www.bitsinthewind.com/about-dac/publications/using-c-on-the-unix-system", - "title": "Using C on the UNIX System" - } - ], - "subsections": [] - }, - { - "section": "Git", - "entries": [ - { - "url": "http://marklodato.github.io/visual-git-guide/index-en.html", - "title": "A Visual Git Reference" - }, - { - "url": "http://blog.anvard.org/conversational-git/", - "title": "Conversational Git" - }, - { - "url": "http://rogerdudler.github.io/git-guide/", - "title": "git - the simple guide" - }, - { - "url": "http://eagain.net/articles/git-for-computer-scientists/", - "title": "Git for Computer Scientists" - }, - { - "url": "https://jwiegley.github.io/git-from-the-bottom-up/", - "title": "Git From The Bottom Up" - }, - { - "url": "http://gitimmersion.com", - "title": "Git Immersion" - }, - { - "url": "http://cbx33.github.io/gitt/index.html", - "title": "Git In The Trenches" - }, - { - "url": "https://github.com/pluralsight/git-internals-pdf/raw/master/drafts/peepcode-git.pdf", - "title": "Git internals" - }, - { - "url": "http://www-cs-students.stanford.edu/~blynn/gitmagic/", - "title": "Git Magic" - }, - { - "url": "http://goalkicker.com/GitBook", - "title": "Git Notes for Professionals" - }, - { - "url": "https://www.oreilly.com/library/view/git-pocket-guide/9781449327507", - "title": "Git Pocket Guide" - }, - { - "url": "https://web.archive.org/web/20170602211147/http://gitref.org/", - "title": "Git Reference" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/git", - "title": "Git Succinctly, Syncfusion" - }, - { - "url": "http://documentup.com/skwp/git-workflows-book", - "title": "Git Workflows" - }, - { - "url": "https://happygitwithr.com", - "title": "Happy Git and GitHub for the useR" - }, - { - "url": "https://github.com/eonist/How-to-collaborate-on-github", - "title": "How to Collaborate on Github" - }, - { - "url": "https://launchschool.com/books/git", - "title": "Intoduction to Git and Github" - }, - { - "url": "http://cse.unl.edu/~cbourke/gitTutorial.pdf", - "title": "Intoduction to Git and Github - Tutorial" - }, - { - "url": "https://github.com/bobbyiliev/introduction-to-git-and-github-ebook", - "title": "Introduction to Git and GitHub eBook" - }, - { - "url": "http://www.git-tower.com/learn/git/ebook/command-line/introduction", - "title": "Learn Git - Learn Version Control with Git" - }, - { - "url": "http://git-scm.com/book/en/v2", - "title": "Pro Git" - }, - { - "url": "https://leanpub.com/progitreedited/read", - "title": "Pro Git Reedited" - }, - { - "url": "https://web.archive.org/web/20161121145226/http://rypress.com:80/tutorials/git/index", - "title": "Ry's Git Tutorial" - }, - { - "url": "http://think-like-a-git.net", - "title": "Think Like (a) Git: A Guide for the Perplexed" - } - ], - "subsections": [] - }, - { - "section": "Go", - "entries": [ - { - "url": "http://www.golang-book.com", - "title": "An Introduction to Programming in Go" - }, - { - "url": "https://astaxie.gitbooks.io/build-web-application-with-golang/content/en/", - "title": "Build Web Application with Golang" - }, - { - "url": "https://codegangsta.gitbooks.io/building-web-apps-with-go/content/", - "title": "Building Web Apps with Go" - }, - { - "url": "https://rytisbiel.com/2021/03/06/darker-corners-of-go/", - "title": "Darker Corners of Go" - }, - { - "url": "https://golang.org/doc/effective_go.html", - "title": "Effective Go" - }, - { - "url": "https://go101.org/article/101.html", - "title": "Go 101" - }, - { - "url": "http://www.golangbootcamp.com/book", - "title": "Go Bootcamp" - }, - { - "url": "https://gobyexample.com", - "title": "Go by Example" - }, - { - "url": "https://github.com/bulim/go-for-javascript-developers", - "title": "Go for Javascript Developers" - }, - { - "url": "https://www.digitalocean.com/community/books/how-to-code-in-go-ebook", - "title": "How To Code in Go" - }, - { - "url": "https://quii.gitbook.io/learn-go-with-tests/", - "title": "Learn Go with Tests" - }, - { - "url": "https://miek.nl/go/", - "title": "Learning Go" - }, - { - "url": "http://go-book.readthedocs.io/en/latest/", - "title": "Let's learn Go!" - }, - { - "url": "https://leanpub.com/gocrypto/read", - "title": "Practical Cryptography With Go" - }, - { - "url": "http://tour.golang.org", - "title": "The Go Tutorial" - }, - { - "url": "https://github.com/karlseguin/the-little-go-book", - "title": "The Little Go Book" - }, - { - "url": "https://github.com/thewhitetulip/web-dev-golang-anti-textbook/", - "title": "Web apps in Go, the anti textbook" - } - ], - "subsections": [] - }, - { - "section": "Groovy", - "entries": [], - "subsections": [ - { - "section": "Gradle", - "entries": [ - { - "url": "http://spring.io/guides/gs/gradle/", - "title": "Building Java Projects with Gradle" - }, - { - "url": "https://www.syncfusion.com/ebooks/gradle_succinctly", - "title": "Gradle Succinctly" - }, - { - "url": "https://docs.gradle.org/current/userguide/userguide.html", - "title": "Gradle User Guide" - } - ] - }, - { - "section": "Grails", - "entries": [ - { - "url": "http://www.infoq.com/minibooks/grails-getting-started", - "title": "Getting Started with Grails" - }, - { - "url": "http://grails.asia/grails-tutorial-for-beginners/", - "title": "Grails Tutorial for Beginners" - }, - { - "url": "http://grails.github.io/grails-doc/latest/", - "title": "The Grails Framework - Reference Documentation" - } - ] - }, - { - "section": "Spock Framework", - "entries": [ - { - "url": "https://spockframework.github.io/spock/docs/current/index.html", - "title": "Spock Framework Reference Documentation" - } - ] - } - ] - }, - { - "section": "Hack", - "entries": [ - { - "url": "https://docs.hhvm.com/hack/", - "title": "Hack Documentation" - } - ], - "subsections": [] - }, - { - "section": "Hadoop", - "entries": [ - { - "url": "https://www.packtpub.com/free-ebooks/big-data-analytics-hadoop-3", - "title": "Big Data Analytics with Hadoop 3" - }, - { - "url": "https://docs.cloudera.com/documentation/enterprise/latest/PDF/cloudera-impala.pdf", - "title": "Cloudera Impala" - }, - { - "url": "http://lintool.github.io/MapReduceAlgorithms/MapReduce-book-final.pdf", - "title": "Data-Intensive Text Processing with MapReduce" - }, - { - "url": "https://www.syncfusion.com/ebooks/hadoop-for-windows-succinctly", - "title": "Hadoop for Windows Succinctly" - }, - { - "url": "http://hadoopilluminated.com/index.html", - "title": "Hadoop Illuminated" - } - ], - "subsections": [] - }, - { - "section": "Haskell", - "entries": [ - { - "url": "https://www.haskell.org/tutorial/", - "title": "A Gentle Introduction to Haskell" - }, - { - "url": "http://www.cs.utexas.edu/~wcook/anatomy/", - "title": "Anatomy of Programming Languages" - }, - { - "url": "https://web.archive.org/web/20160411023943/http://www.renci.org/wp-content/pub/tutorials/BeautifulCode.pdf", - "title": "Beautiful Code, Compelling Evidence" - }, - { - "url": "http://www.andres-loeh.de/ExploringGH.pdf", - "title": "Exploring Generic Haskell" - }, - { - "url": "http://www.happylearnhaskelltutorial.com", - "title": "Happy Learn Haskell Tutorial" - }, - { - "url": "https://en.wikibooks.org/wiki/Haskell", - "title": "Haskell" - }, - { - "url": "http://www.yesodweb.com/book-1.4", - "title": "Haskell and Yesod" - }, - { - "url": "http://lisperati.com/haskell/", - "title": "Haskell no panic" - }, - { - "url": "https://goalkicker.com/HaskellBook/", - "title": "Haskell Notes for Professionals" - }, - { - "url": "http://yannesposito.com/Scratch/fr/blog/Yesod-tutorial-for-newbies/", - "title": "Haskell web Programming" - }, - { - "url": "http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/", - "title": "Learn Haskell Fast and Hard" - }, - { - "url": "http://learnyouahaskell.com", - "title": "Learn You a Haskell for Great Good" - }, - { - "url": "https://www.oreilly.com/library/view/parallel-and-concurrent/9781449335939/", - "title": "Parallel and Concurrent Programming in Haskell" - }, - { - "url": "http://book.realworldhaskell.org", - "title": "Real World Haskell" - }, - { - "url": "http://www.sthaskell.com", - "title": "Speeding Through Haskell" - }, - { - "url": "http://dev.stephendiehl.com/hask/", - "title": "What I Wish I Knew When Learning Haskell" - }, - { - "url": "https://github.com/anchpop/wise_mans_haskell/blob/master/book.md#preface", - "title": "Wise Man's Haskell" - }, - { - "url": "http://hal3.name/docs/daume02yaht.pdf", - "title": "Yet Another Haskell Tutorial" - } - ], - "subsections": [] - }, - { - "section": "Haxe", - "entries": [ - { - "url": "https://github.com/markknol/flambe-guide/wiki", - "title": "Flambe Handbook" - }, - { - "url": "https://matthijskamstra.github.io/haxejs/", - "title": "Haxe and JavaScript" - }, - { - "url": "http://haxe.org/documentation/introduction/", - "title": "Haxe Manual" - }, - { - "url": "http://haxeflixel.com/documentation/haxeflixel-handbook/", - "title": "HaxeFlixel Handbook" - }, - { - "url": "https://github.com/KTXSoftware/Kha/wiki/Tutorials", - "title": "Kha Handbook" - } - ], - "subsections": [] - }, - { - "section": "HTML / CSS", - "entries": [ - { - "url": "http://learn.shayhowe.com/html-css/", - "title": "A beginner's guide to HTML&CSS" - }, - { - "url": "http://marksheet.io", - "title": "A free guide to learn HTML and CSS" - }, - { - "url": "http://adaptivewebdesign.info/1st-edition/", - "title": "Adaptive Web Design" - }, - { - "url": "http://learn.shayhowe.com/advanced-html-css/", - "title": "An advanced guide to HTML&CSS" - }, - { - "url": "https://atomicdesign.bradfrost.com", - "title": "Atomic Design" - }, - { - "url": "https://web.archive.org/web/20160505010319/http://learnjs.io/canvassing/read/", - "title": "Canvassing" - }, - { - "url": "http://mdo.github.io/code-guide/", - "title": "Code Guide: Standards for developing flexible, durable, and sustainable HTML and CSS" - }, - { - "url": "https://github.com/cssanimation/css-animation-101", - "title": "CSS Animation 101" - }, - { - "url": "http://goalkicker.com/CSSBook", - "title": "CSS Notes for Professionals" - }, - { - "url": "http://diveinto.html5doctor.com", - "title": "Dive Into HTML5" - }, - { - "url": "http://domenlightenment.com", - "title": "DOM Enlightenment" - }, - { - "url": "https://dash.generalassemb.ly", - "title": "GA Dash" - }, - { - "url": "https://google.github.io/styleguide/htmlcssguide.html", - "title": "Google's HTML/CSS Style Guide" - }, - { - "url": "https://web.archive.org/web/20180816174417/http://howtocodeinhtml.com/HowToCodeInHTML5AndCSS3.pdf", - "title": "How to Code in HTML5 and CSS3" - }, - { - "url": "http://joshondesign.com/p/books/canvasdeepdive/toc.html", - "title": "HTML Canvas Deep Dive" - }, - { - "url": "http://www.htmldog.com", - "title": "HTML Dog Tutorials" - }, - { - "url": "https://www.oreilly.com/library/view/html5-canvas/9781449308032/ch01.html", - "title": "HTML5 Canvas" - }, - { - "url": "https://www.oreilly.com/library/view/html5-for-publishers/9781449320065/pr02.html", - "title": "HTML5 for Publishers" - }, - { - "url": "http://html5forwebdesigners.com", - "title": "HTML5 For Web Designers" - }, - { - "url": "http://goalkicker.com/HTML5Book/", - "title": "HTML5 Notes for Professionals" - }, - { - "url": "https://www.ossblog.org/wp-content/uploads/2017/06/html5-quick-learning-quide.pdf", - "title": "HTML5 Quick Learning Guide" - }, - { - "url": "https://leanpub.com/html5shootemupinanafternoon/read", - "title": "HTML5 Shoot 'em Up in an Afternoon" - }, - { - "url": "https://www.internetingishard.com", - "title": "Interneting is Hard (But it Doesn't Have to Be)" - }, - { - "url": "http://learnlayout.com", - "title": "Learn CSS Layout" - }, - { - "url": "http://book.mixu.net/css/", - "title": "Learn CSS Layout the pedantic way" - }, - { - "url": "https://learn.shayhowe.com", - "title": "Learn to Code HTML & CSS" - }, - { - "url": "https://adamschwartz.co/magic-of-css/", - "title": "Magic of CSS" - }, - { - "url": "http://maintainablecss.com", - "title": "MaintainableCSS" - }, - { - "url": "https://svgpocketguide.com", - "title": "Pocket Guide to Writing SVG" - }, - { - "url": "https://web.archive.org/web/20181215200026/http://apress.jensimmons.com/v5/pro-html5-programming/ch0.html", - "title": "Pro HTML5 Programming" - }, - { - "url": "https://resilientwebdesign.com/#Resilientweb%20design", - "title": "Resilient Web Design" - }, - { - "url": "https://web.archive.org/web/20191116073929/http://smacss.com/", - "title": "Scalable and Modular Architecture for CSS" - }, - { - "url": "https://ohansemmanuel.github.io/uf_download.html", - "title": "Understanding Flexbox: Everything you need to know" - }, - { - "url": "https://www.syncfusion.com/ebooks/w3_css_succinctly", - "title": "W3.CSS Succinctly" - }, - { - "url": "http://chimera.labs.oreilly.com/books/1234000001552", - "title": "Web Audio API" - }, - { - "url": "https://leanpub.com/web-visual-effects-with-css3/read", - "title": "Web Visual Effects with CSS3" - } - ], - "subsections": [ - { - "section": "Bootstrap", - "entries": [ - { - "url": "https://www.syncfusion.com/resources/techportal/details/ebooks/twitterbootstrap3", - "title": "Twitter Bootstrap 3 Succinctly" - }, - { - "url": "https://www.syncfusion.com/ebooks/twitterbootstrap4-succinctly", - "title": "Twitter Bootstrap 4 Succinctly" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/details/ebooks/twitterbootstrap", - "title": "Twitter Bootstrap Succinctly" - } - ] - } - ] - }, - { - "section": "Idris", - "entries": [ - { - "url": "https://leanpub.com/gidti", - "title": "Gentle Introduction to Dependent Types with Idris" - } - ], - "subsections": [] - }, - { - "section": "Icon", - "entries": [ - { - "url": "http://www.cs.arizona.edu/icon/ibsale.htm", - "title": "The Implementation of the Icon Programming Language" - } - ], - "subsections": [] - }, - { - "section": "iOS", - "entries": [ - { - "url": "http://cocoadevcentral.com", - "title": "Cocoa Dev Central" - }, - { - "url": "http://www.techotopia.com/index.php/IOS_8_App_Development_Essentials", - "title": "iOS 8 App Development Essentials" - }, - { - "url": "https://goalkicker.com/iOSBook/", - "title": "iOS Developer Notes for Professionals" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/ios", - "title": "iOS Succinctly, Syncfusion" - }, - { - "url": "http://nshipster.com/#archive", - "title": "NSHipster" - }, - { - "url": "https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/DevelopiOSAppsSwift/index.html", - "title": "Start Developing iOS Apps (Swift)" - }, - { - "url": "http://everythingcomputerscience.com/books/RoadMapiOS.pdf", - "title": "Start Developing iOS Apps Today (Objective-C) - Last updated 22.10.2013" - } - ], - "subsections": [] - }, - { - "section": "IoT", - "entries": [ - { - "url": "https://github.com/marcozennaro/IPv6-WSN-book/tree/master/Releases", - "title": "IoT in five days- V1.1" - }, - { - "url": "https://www.packtpub.com/free-ebooks/mastering-internet-things", - "title": "Mastering Internet of Things" - } - ], - "subsections": [] - }, - { - "section": "Isabelle/HOL", - "entries": [ - { - "url": "http://www21.in.tum.de/~nipkow/Concrete-Semantics/", - "title": "Concrete Semantics - A Proof Assistant Approach by Tobias Nipkow and Gerwin Klein" - }, - { - "url": "http://isabelle.in.tum.de/doc/tutorial.pdf", - "title": "Isabelle/HOL - A Proof Assistant for Higher-Order Logic by Tobias Nipkow and Lawrence C. Paulson and Markus Wenzel" - } - ], - "subsections": [] - }, - { - "section": "J", - "entries": [ - { - "url": "http://www.jsoftware.com/books/pdf/arithmetic.pdf", - "title": "Arithmetic by Kenneth E Iverson" - }, - { - "url": "http://www.jsoftware.com/books/pdf/brief.pdf", - "title": "Brief Reference by Chris Burke and Clifford Reiter" - }, - { - "url": "http://www.jsoftware.com/books/pdf/calculus.pdf", - "title": "Calculus by Kenneth E Iverson" - }, - { - "url": "http://www.jsoftware.com/papers/camn.htm", - "title": "Computers and Mathematical Notation by Kenneth E Iverson" - }, - { - "url": "http://www.jsoftware.com/books/pdf/cmc.pdf", - "title": "Concrete Math Companion by Kenneth E Iverson" - }, - { - "url": "http://www.jsoftware.com/books/pdf/easyj.pdf", - "title": "Easy J by Linda Alvord, Norman Thomson" - }, - { - "url": "http://www.jsoftware.com/books/pdf/expmath.pdf", - "title": "Exploring Math by Kenneth E Iverson" - }, - { - "url": "http://www.jsoftware.com/help/jforc/contents.htm", - "title": "J for C Programmers by Henry Rich" - }, - { - "url": "http://www.jsoftware.com/help/primer/contents.htm", - "title": "J Primer" - }, - { - "url": "http://www.jsoftware.com/help/learning/contents.htm", - "title": "Learning J by Roger Stokes- online" - }, - { - "url": "http://www.jsoftware.com/books/pdf/mftl.zip", - "title": "Math for the Layman by Kenneth E Iverson" - } - ], - "subsections": [] - }, - { - "section": "Java", - "entries": [ - { - "url": "http://www.mat.uniroma2.it/~picard/SMC/didattica/materiali_did/Java/Java_3D/Java_3D_Programming.pdf", - "title": "3D Programming in Java" - }, - { - "url": "http://ptgmedia.pearsoncmg.com/images/0131478303/downloads/Iverson_book.pdf", - "title": "Apache Jakarta Commons: Reusable Java Components" - }, - { - "url": "https://artint.info/2e/html/ArtInt2e.html", - "title": "Artificial Intelligence - Foundations of Computational Agents, Second Edition" - }, - { - "url": "https://web-engineering.info/tech/JavaJpaJsf/book/", - "title": "Building Back-End Web Apps with Java, JPA and JSF" - }, - { - "url": "https://www.mkyong.com/all-tutorials-on-mkyong-com/", - "title": "Category wise tutorials - J2EE" - }, - { - "url": "http://pdf.coreservlets.com", - "title": "Core Servlets and JavaServer Pages, 2nd Ed. (2003)" - }, - { - "url": "https://web.archive.org/web/20190302130416/http://dept.cs.williams.edu/~bailey/JavaStructures/Book_files/JavaStructures.pdf", - "title": "Data Structures in Java for the Principled Programmer (2007)" - }, - { - "url": "https://google.github.io/styleguide/javaguide.html", - "title": "Google's Java Style Guide" - }, - { - "url": "https://introcs.cs.princeton.edu/java/cs/", - "title": "Introduction to Computer Science \"booksite\"" - }, - { - "url": "http://www.programmedlessons.org/Java9/index.html", - "title": "Introduction to Computer science using Java" - }, - { - "url": "http://introcs.cs.princeton.edu/java/home/", - "title": "Introduction to Programming in Java" - }, - { - "url": "http://math.hws.edu/javanotes", - "title": "Introduction to Programming Using Java" - }, - { - "url": "https://math.hws.edu/eck/cs124/javanotes5", - "title": "Introduction to Programming Using Java (5th Edition - final version, 2010 Jun)" - }, - { - "url": "https://ptgmedia.pearsoncmg.com/images/013143697X/downloads/013143697X_book.pdf", - "title": "Java Application Development on Linux (2005)" - }, - { - "url": "https://archive.org/details/JavaJavaJavaObject-orientedProblemSolving/page/n0", - "title": "Java, Java, Java Object-Oriented Problem Solving" - }, - { - "url": "https://docs.oracle.com/javase/specs/", - "title": "Java Language and Virtual Machine Specifications" - }, - { - "url": "http://goalkicker.com/JavaBook/", - "title": "Java Notes for Professionals" - }, - { - "url": "https://en.wikibooks.org/wiki/Java_Programming", - "title": "Java Programming" - }, - { - "url": "https://yfain.github.io/Java4Kids/", - "title": "Java Programming for Kids" - }, - { - "url": "https://www.packtpub.com/free-ebooks/java-projects-second-edition", - "title": "Java Projects, Second Edition" - }, - { - "url": "https://www.redbooks.ibm.com/redbooks/pdfs/sg248357.pdf", - "title": "Microservices Best Practices for Java" - }, - { - "url": "http://computing.southern.edu/halterman/OOPJ/", - "title": "Object-Oriented Programming in JavaTM Textbook" - }, - { - "url": "https://bookboon.com/en/object-oriented-programming-using-java-ebook", - "title": "Object Oriented Programming using Java" - }, - { - "url": "http://pub.bruckner.cz/titles/oop", - "title": "OOP - Learn Object Oriented Thinking & Programming" - }, - { - "url": "http://opendatastructures.org/ods-java.pdf", - "title": "Open Data Structures (in Java)" - }, - { - "url": "https://leanpub.com/playing-with-java-microservices-on-k8s-and-ocp", - "title": "Playing with Java Microservices on Kubernetes and OpenShift" - }, - { - "url": "http://www.cafeconleche.org/books/xmljava/", - "title": "Processing XML with Java (A Guide to SAX, DOM, JDOM, JAXP, and TrAX) (2002)" - }, - { - "url": "https://leanpub.com/itext_pdfabc", - "title": "The ABC of PDF with iText: PDF Syntax essentials" - }, - { - "url": "https://docs.oracle.com/javaee/6/tutorial/doc/javaeetutorial6.pdf", - "title": "The Java EE6 Tutorial" - }, - { - "url": "https://docs.oracle.com/javaee/7/JEETT.pdf", - "title": "The Java EE7 Tutorial" - }, - { - "url": "https://docs.oracle.com/javase/tutorial/index.html", - "title": "The Java Tutorials" - }, - { - "url": "https://www.scrapingbee.com/java-webscraping-book", - "title": "The Java Web Scraping Handbook" - }, - { - "url": "https://greenteapress.com/wp/think-data-structures/", - "title": "Think Data Structures: Algorithms and Information Retrieval in Java" - }, - { - "url": "https://greenteapress.com/wp/think-java-2e/", - "title": "Think Java: How to Think Like a Computer Scientist, 2nd Edition" - }, - { - "url": "https://www.vogella.com/tutorials/RxJava/article.html", - "title": "Using RxJava 2 Tutorial" - }, - { - "url": "https://runestone.academy/runestone/books/published/java4python/index.html", - "title": "Welcome to Java for Python Programmers" - }, - { - "url": "http://javaworkshop.sourceforge.net", - "title": "Welcome to the Java Workshop (2006)" - }, - { - "url": "https://leanpub.com/whatsnewinjava8/read", - "title": "What’s New in Java 8" - } - ], - "subsections": [ - { - "section": "Codename One", - "entries": [ - { - "url": "https://www.codenameone.com/files/developer-guide.pdf", - "title": "Codename One Developer Guide" - }, - { - "url": "http://uber.cn1.co", - "title": "Create an Uber Clone in 7 Days (first 2 chapters)" - } - ] - }, - { - "section": "JasperReports", - "entries": [ - { - "url": "http://jasperreports.sourceforge.net/JasperReports-Ultimate-Guide-3.pdf", - "title": "The JasperReports Ultimate Guide, Third Edition" - } - ] - }, - { - "section": "Spring", - "entries": [ - { - "url": "https://www.packtpub.com/free-ebooks/building-applications-spring-5-and-vuejs-2", - "title": "Building Applications with Spring 5 and Vue.js 2" - }, - { - "url": "https://www.packtpub.com/free-ebooks/software-architecture-spring-50", - "title": "Software Architecture with Spring 5.0" - }, - { - "url": "https://www.javacodegeeks.com/wp-content/uploads/2017/01/Spring-Framework-Cookbook.pdf", - "title": "Spring Framework Cookbook: Hot Recipes for Spring Framework" - }, - { - "url": "https://goalkicker.com/SpringFrameworkBook", - "title": "Spring Framework Notes for Professionals" - }, - { - "url": "https://docs.spring.io/spring/docs/current/spring-framework-reference/", - "title": "Spring Framework Reference Documentation" - } - ] - }, - { - "section": "Spring Boot", - "entries": [ - { - "url": "https://v.vaadin.com/hubfs/Pdfs/Building%20Modern%20Web%20Apps%20with%20Spring%20Boot%20and%20Vaadin.pdf", - "title": "Building modern Web Apps with Spring Boot and Vaadin" - }, - { - "url": "https://docs.spring.io/spring-boot/docs/current/reference/html/", - "title": "Spring Boot Reference Guide" - } - ] - }, - { - "section": "Spring Data", - "entries": [ - { - "url": "https://docs.spring.io/spring-data/jpa/docs/current/reference/html", - "title": "Spring Data Reference" - } - ] - }, - { - "section": "Spring Security", - "entries": [ - { - "url": "http://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/", - "title": "Spring Security Reference" - } - ] - }, - { - "section": "Wicket", - "entries": [ - { - "url": "http://wicket.apache.org/learn/#guide", - "title": "Official Free Online Guide for Apache Wicket framework" - } - ] - } - ] - }, - { - "section": "JavaScript", - "entries": [ - { - "url": "http://www.2ality.com/2013/06/basic-javascript.html", - "title": "Basic JavaScript for the impatient programmer" - }, - { - "url": "https://github.com/tooling/book-of-modern-frontend-tooling", - "title": "Book of Modern Frontend Tooling" - }, - { - "url": "https://web-engineering.info/JsFrontendApp-Book", - "title": "Building Front-End Web Apps with Plain JavaScript" - }, - { - "url": "https://github.com/ryanmcdermott/clean-code-javascript", - "title": "Clean Code JavaScript" - }, - { - "url": "http://www.crockford.com/javascript/", - "title": "Crockford's JavaScript" - }, - { - "url": "https://exploringjs.com/deep-js", - "title": "Deep JavaScript: Theory and techniques" - }, - { - "url": "https://www.manning.com/books/designing-scalable-javascript-applications", - "title": "Designing Scalable JavaScript Applications" - }, - { - "url": "https://devdocs.io/javascript/", - "title": "Dev Docs" - }, - { - "url": "http://eloquentjavascript.net", - "title": "Eloquent JavaScript 3rd edition" - }, - { - "url": "http://exploringjs.com/es6/", - "title": "Exploring ES6" - }, - { - "url": "https://google.github.io/styleguide/javascriptguide.xml", - "title": "Google JavaScript Style Guide" - }, - { - "url": "http://read.humanjavascript.com/ch01-introduction.html", - "title": "Human JavaScript" - }, - { - "url": "https://leanpub.com/javascript-allonge/read", - "title": "JavaScript Allongé" - }, - { - "url": "http://media.wiley.com/product_ancillary/28/07645334/DOWNLOAD/all.pdf", - "title": "JavaScript Bible" - }, - { - "url": "https://tcorral.github.io/javascript-challenges-book/", - "title": "JavaScript Challenges Book" - }, - { - "url": "http://www.javascriptenlightenment.com", - "title": "JavaScript Enlightenment" - }, - { - "url": "https://github.com/AlbertoMontalesi/JavaScript-es6-and-beyond-ebook", - "title": "JavaScript ES6 and beyond" - }, - { - "url": "http://jsforcats.com", - "title": "JavaScript For Cats" - }, - { - "url": "https://exploringjs.com/impatient-js/toc.html", - "title": "JavaScript for Impatient Programmers (ES2020 edition)" - }, - { - "url": "http://nicholasjohnson.com/javascript-book/", - "title": "JavaScript Fundamentals, Plus a Dash Of JQuery - for dinner ladies" - }, - { - "url": "http://bonsaiden.github.io/JavaScript-Garden/", - "title": "JavaScript Garden" - }, - { - "url": "https://gumroad.com/l/javascript-interview-35", - "title": "JavaScript Interview #35" - }, - { - "url": "https://goalkicker.com/JavaScriptBook/", - "title": "JavaScript Notes for Professionals" - }, - { - "url": "http://shichuan.github.io/javascript-patterns/", - "title": "JavaScript Patterns Collection" - }, - { - "url": "https://web.archive.org/web/20160325064800/https://leanpub.com/javascript-spessore/read", - "title": "JavaScript Spessore" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/javascript", - "title": "JavaScript Succinctly" - }, - { - "url": "https://github.com/braziljs/js-the-right-way", - "title": "JavaScript the Right Way" - }, - { - "url": "http://jqfundamentals.com", - "title": "jQuery Fundamentals" - }, - { - "url": "http://markdaggett.com/images/ExpertJavaScript-ch6.pdf", - "title": "JS Robots" - }, - { - "url": "https://leanpub.com/leaflet-tips-and-tricks/read", - "title": "Leaflet Tips and Tricks: Interactive Maps Made Easy" - }, - { - "url": "http://addyosmani.com/resources/essentialjsdesignpatterns/book/", - "title": "Learning JavaScript Design Patterns" - }, - { - "url": "https://bubblin.io/cover/let-s-learn-es6-by-ryan-christiani#frontmatter", - "title": "Let's Learn ES6" - }, - { - "url": "http://www.noelrappin.com", - "title": "Managing Space and Time with JavaScript - Book 1: The Basics" - }, - { - "url": "https://leanpub.com/marionetteexpose", - "title": "Marionette Exposé: Learn to write modular Javascript applications using Backbone Marionette and RequireJS/AMD" - }, - { - "url": "https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide", - "title": "Mozilla Developer Network's JavaScript Guide" - }, - { - "url": "https://www.syncfusion.com/ebooks/neural-networks-with-javascript-succinctly", - "title": "Neural Networks with JavaScript Succinctly" - }, - { - "url": "https://web.archive.org/web/20150317231950/https://leanpub.com/ohmyjs/read", - "title": "Oh My JS" - }, - { - "url": "http://addyosmani.com/largescalejavascript/", - "title": "Patterns For Large-Scale JavaScript Application Architecture" - }, - { - "url": "https://github.com/mjavascript/practical-modern-javascript", - "title": "Practical Modern JavaScript" - }, - { - "url": "https://mostly-adequate.gitbooks.io/mostly-adequate-guide/content/", - "title": "Professor Frisby’s Mostly Adequate Guide to Functional Programming" - }, - { - "url": "https://molily.de/robust-javascript/", - "title": "Robust Client-Side JavaScript" - }, - { - "url": "http://singlepageappbook.com", - "title": "Single page apps in depth" - }, - { - "url": "http://speakingjs.com/es5/", - "title": "Speaking JavaScript" - }, - { - "url": "https://www.ecma-international.org/publications/standards/Ecma-262.htm", - "title": "Standard ECMA-262 ECMAScript 2016 Language Specification" - }, - { - "url": "http://javascript.info", - "title": "The JavaScript Tutorial" - }, - { - "url": "https://github.com/bpesquet/thejsway", - "title": "The JavaScript Way" - }, - { - "url": "https://www.oreilly.com/programming/free/native-javascript-apis.csp", - "title": "The Problem with Native JavaScript APIs" - }, - { - "url": "https://www.amazon.com/Thinking-JavaScript-Aravind-Shenoy-ebook/dp/B00JUI6LUQ", - "title": "Thinking in JavaScript" - }, - { - "url": "https://leanpub.com/understandinges6/read", - "title": "Understanding ECMAScript 6" - }, - { - "url": "http://robotlolita.me/2011/10/09/understanding-javascript-oop.html", - "title": "Understanding JavaScript OOP" - }, - { - "url": "https://github.com/getify/You-Dont-Know-JS", - "title": "You Don't Know JS" - } - ], - "subsections": [ - { - "section": "AngularJS", - "entries": [ - { - "url": "https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md", - "title": "Angular 1 Style Guide" - }, - { - "url": "http://www.ng-newsletter.com.s3-website-us-east-1.amazonaws.com/posts/angular-for-the-jquery-developer.html", - "title": "Angular for the jQuery developer" - }, - { - "url": "http://nicholasjohnson.com/angular-book/", - "title": "AngularJS - Step by Logical Step" - }, - { - "url": "https://docs.angularjs.org/guide/", - "title": "AngularJS Guide" - }, - { - "url": "https://material.angularjs.org/latest/", - "title": "AngularJS Material Designing" - }, - { - "url": "https://goalkicker.com/AngularJSBook", - "title": "AngularJS Notes for Professionals" - }, - { - "url": "https://github.com/toddmotto/angularjs-styleguide", - "title": "AngularJS Style Guide for teams" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/angularjs", - "title": "AngularJS Succinctly" - }, - { - "url": "https://docs.angularjs.org/tutorial", - "title": "AngularJS Tutorial" - }, - { - "url": "https://angularjs-emberjs-compare.bguiz.com", - "title": "AngularJS vs EmberJs" - }, - { - "url": "http://ngokevin.com/blog/angular-1/", - "title": "Seven-Part Introduction to AngularJS" - }, - { - "url": "http://andyshora.com/unit-testing-best-practices-angularjs.html", - "title": "Unit Testing Best Practices in AngularJS" - } - ] - }, - { - "section": "Aurelia", - "entries": [ - { - "url": "https://leanpub.com/beginning-of-aurelia", - "title": "Beginning Aurelia" - } - ] - }, - { - "section": "Backbone.js", - "entries": [ - { - "url": "http://pragmatic-backbone.com", - "title": "A pragmatic guide to Backbone.js apps" - }, - { - "url": "https://leanpub.com/backbonetutorials", - "title": "Backbone Tutorials: Beginner, Intermediate and Advanced" - }, - { - "url": "https://cdnjs.com/libraries/backbone.js/tutorials/", - "title": "Backbonejs Tutorials" - }, - { - "url": "https://singlepagebook.supportbee.com", - "title": "Building Single Page Web Apps with Backbone.js" - }, - { - "url": "http://addyosmani.github.io/backbone-fundamentals/", - "title": "Developing Backbone.js Applications" - }, - { - "url": "http://net.tutsplus.com/tutorials/javascript-ajax/getting-started-with-backbone-js/", - "title": "Getting Started with Backbone.js" - }, - { - "url": "http://amirmalik.net/2010/11/27/how-to-share-backbonejs-models-with-nodejs", - "title": "How to share Backbone.js models with node.js" - } - ] - }, - { - "section": "Booty5.js", - "entries": [ - { - "url": "http://booty5.com/booty5-free-html-game-maker-e-book-manual/", - "title": "The Booty5 HTML5 Game Maker Manual" - } - ] - }, - { - "section": "D3.js", - "entries": [ - { - "url": "https://leanpub.com/D3-Tips-and-Tricks/read", - "title": "D3 Tips and Tricks" - }, - { - "url": "https://www.dashingd3js.com/d3-tutorial", - "title": "Dashing D3.js Tutorial" - }, - { - "url": "http://alignedleft.com/tutorials/d3", - "title": "Interactive Data Visualization with D3" - } - ] - }, - { - "section": "Dojo", - "entries": [ - { - "url": "https://www.oreilly.com/library/view/dojo-the-definitive/9780596516482/", - "title": "Dojo: The Definitive Guide" - } - ] - }, - { - "section": "Elm", - "entries": [ - { - "url": "https://guide.elm-lang.org", - "title": "An Introduction to Elm" - }, - { - "url": "https://elmprogramming.com", - "title": "Beginning Elm" - }, - { - "url": "http://tech.noredink.com/post/129641182738/building-a-live-validated-signup-form-in-elm", - "title": "Building a Live-Validating Signup Form in Elm" - }, - { - "url": "https://accelerated.amimetic.co.uk", - "title": "Elm Accelerated" - }, - { - "url": "https://en.wikibooks.org/wiki/Elm_programming_language", - "title": "Elm Programming Language" - }, - { - "url": "https://legacy.gitbook.com/book/sporto/elm-tutorial/details", - "title": "Elm Tutorial" - }, - { - "url": "https://learnyouanelm.github.io", - "title": "Learn You an Elm" - }, - { - "url": "https://github.com/evancz/elm-architecture-tutorial", - "title": "The Elm Architecture" - } - ] - }, - { - "section": "Ember.js", - "entries": [ - { - "url": "https://angularjs-emberjs-compare.bguiz.com", - "title": "AngularJs vs EmberJs" - }, - { - "url": "https://github.com/DockYard/styleguides/blob/master/engineering/ember.md", - "title": "DockYard Ember.js Style Guide" - }, - { - "url": "https://dockyard.com/blog/ember/2013/01/07/building-an-ember-app-with-rails-api-part-1", - "title": "Ember App with RailsApi" - }, - { - "url": "https://guides.emberjs.com/release/", - "title": "Ember.js - Getting started" - }, - { - "url": "http://ember.vicramon.com", - "title": "Vic Ramon's Ember Tutorial" - } - ] - }, - { - "section": "Express.js", - "entries": [ - { - "url": "https://web.archive.org/web/20140621124403/https://leanpub.com/express/read", - "title": "Express.js Guide" - } - ] - }, - { - "section": "Fastify", - "entries": [ - { - "url": "https://www.fastify.io/docs/latest", - "title": "Fastify - Latest Documentation" - } - ] - }, - { - "section": "Ionic", - "entries": [ - { - "url": "https://www.syncfusion.com/ebooks/ionic-4-succinctly", - "title": "Ionic 4 Succinctly" - } - ] - }, - { - "section": "jQuery", - "entries": [ - { - "url": "http://nicholasjohnson.com/javascript-book/", - "title": "JavaScript Fundamentals, Plus a Dash Of JQuery - for dinner ladies" - }, - { - "url": "https://goalkicker.com/jQueryBook/", - "title": "jQuery Notes for Professionals" - }, - { - "url": "http://mediatheque.cite-musique.fr/MediaComposite/Debug/Dossier-Orchestre/ressources/jQuery.Novice.to.Ninja.2nd.Edition.pdf", - "title": "jQuery Novice to Ninja" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/jquery", - "title": "jQuery Succinctly, Syncfusion" - } - ] - }, - { - "section": "Meteor", - "entries": [ - { - "url": "http://meteortips.com/book/", - "title": "Your First Meteor Application, A Complete Beginner’s Guide to the Meteor JavaScript Framework" - } - ] - }, - { - "section": "Node.js", - "entries": [ - { - "url": "https://nikhilm.github.io/uvbook/", - "title": "An Introduction to libuv" - }, - { - "url": "https://github.com/azat-co/fullstack-javascript", - "title": "Full Stack JavaScript: Learn Backbone.js, Node.js and MongoDB" - }, - { - "url": "https://nodejs.dev/learn", - "title": "Introduction to Node.js" - }, - { - "url": "http://book.mixu.net/node/", - "title": "Mixu's Node Book" - }, - { - "url": "https://nodejs.org/en/docs/", - "title": "Node Documentation" - }, - { - "url": "https://www.oreilly.com/library/view/node-up-and/9781449332235/", - "title": "Node: Up and Running" - }, - { - "url": "http://goalkicker.com/NodeJSBook", - "title": "Node.js Notes for Professionals" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/nodejs", - "title": "Node.js Succinctly, Syncfusion" - }, - { - "url": "https://github.com/azat-co/practicalnode", - "title": "Practical Node.js: Building Real-World Scalable Web Apps" - }, - { - "url": "http://nodebeginner.org", - "title": "The Node Beginner Book" - } - ] - }, - { - "section": "Om", - "entries": [ - { - "url": "http://awkay.github.io/om-tutorial/", - "title": "Om Tutorial" - } - ] - }, - { - "section": "React", - "entries": [ - { - "url": "https://www.packtpub.com/free-ebooks/full-stack-react-projects", - "title": "Full-Stack React Projects" - }, - { - "url": "http://www.hackingwithreact.com", - "title": "Hacking with React" - }, - { - "url": "http://code.tutsplus.com/tutorials/intro-to-the-react-framework--net-35660", - "title": "Intro to the React Framework" - }, - { - "url": "https://scotch.io/tutorials/learning-react-getting-started-and-concepts", - "title": "Learning React.js: Getting Started and Concepts" - }, - { - "url": "https://github.com/vasanthk/react-bits", - "title": "React-Bits" - }, - { - "url": "https://github.com/softchris/react-book/", - "title": "React Book, your beginner guide to React" - }, - { - "url": "https://www.reactenlightenment.com", - "title": "React Enlightenment" - }, - { - "url": "https://developmentarc.gitbooks.io/react-indepth/content/", - "title": "React In-depth: An exploration of UI development" - }, - { - "url": "https://goalkicker.com/ReactJSBook/", - "title": "React JS Notes for Professionals" - }, - { - "url": "https://github.com/mikechau/react-primer-draft", - "title": "React Primer Draft" - }, - { - "url": "https://www.syncfusion.com/ebooks/react-succinctly", - "title": "React Succinctly" - }, - { - "url": "https://reactjs.org/tutorial/tutorial.html", - "title": "React Tutorial" - } - ] - }, - { - "section": "React Native", - "entries": [ - { - "url": "https://leanpub.com/programming-react-native", - "title": "Programming React Native" - }, - { - "url": "http://browniefed.com/react-native-animation-book/", - "title": "React Native Animation Book" - }, - { - "url": "http://www.reactnativeexpress.com", - "title": "React Native Express" - }, - { - "url": "https://goalkicker.com/ReactNativeBook", - "title": "React Native Notes for Professionals" - }, - { - "url": "https://www.gitbook.com/book/unbug/react-native-training/details", - "title": "React Native Training" - } - ] - }, - { - "section": "Redux", - "entries": [ - { - "url": "http://teropa.info/blog/2015/09/10/full-stack-redux-tutorial.html", - "title": "Full-Stack Redux Tutorial" - }, - { - "url": "https://www.robinwieruch.de/the-soundcloud-client-in-react-redux/", - "title": "SoundCloud Application in React + Redux" - }, - { - "url": "https://leanpub.com/redux-book", - "title": "The Complete Redux Book" - } - ] - }, - { - "section": "Vue.js", - "entries": [ - { - "url": "https://www.newline.co/30-days-of-vue", - "title": "30 Days Of Vue" - }, - { - "url": "https://riptutorial.com/Download/vue-js.pdf", - "title": "Learning Vue.js" - }, - { - "url": "https://flaviocopes.nyc3.digitaloceanspaces.com/vue-handbook/vue-handbook.pdf", - "title": "The Vue.js Handbook" - } - ] - } - ] - }, - { - "section": "Jenkins", - "entries": [ - { - "url": "http://www.bogotobogo.com/DevOps/Jenkins/images/Intro_install/jenkins-the-definitive-guide.pdf", - "title": "Jenkins: The Definitive Guide" - } - ], - "subsections": [] - }, - { - "section": "Julia", - "entries": [ - { - "url": "https://en.wikibooks.org/wiki/Introducing_Julia", - "title": "Introducing Julia" - }, - { - "url": "http://samuelcolvin.github.io/JuliaByExample", - "title": "Julia by Example" - }, - { - "url": "https://juliadatascience.io", - "title": "Julia Data Science" - }, - { - "url": "https://syl1.gitbook.io/julia-language-a-concise-tutorial", - "title": "Julia language: a concise tutorial" - }, - { - "url": "https://learnxinyminutes.com/docs/julia", - "title": "Learn Julia in Y minutes" - }, - { - "url": "https://julia.quantecon.org/_downloads/pdf/quantitative_economics_with_julia.pdf", - "title": "Quantitative Economics with Julia" - }, - { - "url": "http://bogumilkaminski.pl/files/julia_express.pdf", - "title": "The Julia Express" - }, - { - "url": "https://benlauwens.github.io/ThinkJulia.jl/latest/book.html", - "title": "Think Julia" - } - ], - "subsections": [] - }, - { - "section": "Kotlin", - "entries": [ - { - "url": "https://goalkicker.com/KotlinBook/", - "title": "Kotlin Notes for Professionals" - }, - { - "url": "https://kotlinlang.org/docs/reference/", - "title": "Kotlin Official Documentation" - } - ], - "subsections": [] - }, - { - "section": "LaTeX / TeX", - "entries": [], - "subsections": [ - { - "section": "LaTeX", - "entries": [ - { - "url": "http://latex.knobs-dials.com", - "title": "Arbitrary LaTex Reference" - }, - { - "url": "https://github.com/VoLuong/Begin-Latex-in-minutes", - "title": "Begin Latex in minutes" - }, - { - "url": "https://en.wikibooks.org/wiki/LaTeX", - "title": "LaTeX" - }, - { - "url": "https://tobi.oetiker.ch/lshort/lshort.pdf", - "title": "The Not So Short Introduction to LaTeX" - } - ] - }, - { - "section": "TeX", - "entries": [ - { - "url": "http://pgfplots.sourceforge.net/TeX-programming-notes.pdf", - "title": "Notes On Programming in TeX" - }, - { - "url": "http://eijkhout.net/texbytopic/texbytopic.html", - "title": "TeX by Topic, A TeXnician's Reference" - }, - { - "url": "https://www.gnu.org/software/teximpatient/", - "title": "TeX for the Impatient" - } - ] - } - ] - }, - { - "section": "Limbo", - "entries": [ - { - "url": "http://doc.cat-v.org/inferno/books/inferno_programming_with_limbo/", - "title": "Inferno Programming With Limbo" - } - ], - "subsections": [] - }, - { - "section": "Linux", - "entries": [ - { - "url": "https://en.wikibooks.org/wiki/Ad_Hoc_Data_Analysis_From_The_Unix_Command_Line", - "title": "Ad Hoc Data Analysis From The Unix Command Line" - }, - { - "url": "https://mentorembedded.github.io/advancedlinuxprogramming/", - "title": "Advanced Linux Programming" - }, - { - "url": "http://www.linuxfromscratch.org/alfs/download.html", - "title": "Automated Linux From Scratch" - }, - { - "url": "http://ubuntu-manual.org", - "title": "Getting Started with Ubuntu" - }, - { - "url": "http://www.sourceware.org/autobook/download.html", - "title": "GNU Autoconf, Automake and Libtool" - }, - { - "url": "http://www.linuxtopia.org/online_books/gui_toolkit_guides/gtk+_gnome_application_development/", - "title": "GTK+/Gnome Application Development" - }, - { - "url": "http://www.linuxfromscratch.org/hlfs/download.html", - "title": "Hardened Linux From Scratch" - }, - { - "url": "https://www.packtpub.com/free-ebooks/kali-linux-2018-assuring-security-penetration-testing-fourth-edition", - "title": "Kali Linux 2018: Assuring Security by Penetration Testing, Fourth Edition" - }, - { - "url": "http://docs.kali.org", - "title": "Kali Linux: Professional Penetration-Testing Distribution" - }, - { - "url": "http://www.oreilly.com/openbook/debian/book/index.html", - "title": "Learning Debian GNU/Linux" - }, - { - "url": "http://thegeekstuff.s3.amazonaws.com/files/linux-101-hacks.zip", - "title": "Linux 101 Hacks" - }, - { - "url": "http://www.linuxtopia.org/online_books/linux_administrators_security_guide/index.html", - "title": "Linux Administrator's Security Guide" - }, - { - "url": "http://lartc.org", - "title": "Linux Advanced Routing & Traffic Control HOWTO" - }, - { - "url": "http://librta.org/book.html", - "title": "Linux Appliance Design: A Hands-On Guide to Building Linux Appliances" - }, - { - "url": "https://goalkicker.com/LinuxBook/", - "title": "Linux commands Notes for Professionals" - }, - { - "url": "http://lwn.net/Kernel/LDD3/", - "title": "Linux Device Drivers, Third Edition" - }, - { - "url": "http://www.linuxfromscratch.org/lfs/view/stable/", - "title": "Linux from Scratch" - }, - { - "url": "http://linux-training.be/linuxfun.pdf", - "title": "Linux Fundamentals" - }, - { - "url": "https://0xax.gitbooks.io/linux-insides/content/index.html", - "title": "Linux Inside" - }, - { - "url": "http://www.kroah.com/lkn/", - "title": "Linux Kernel in a Nutshell" - }, - { - "url": "http://lnag.sourceforge.net", - "title": "Linux Newbie Administrator Guide" - }, - { - "url": "http://www.linuxtopia.org/LinuxSecurity/index.html", - "title": "Linux Security for Beginners" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/linux", - "title": "Linux Succinctly, Syncfusion" - }, - { - "url": "http://www.techotopia.com/index.php/Red_Hat_Enterprise_Linux_6_Essentials", - "title": "Red Hat Enterprise Linux 6 Essentials" - }, - { - "url": "http://www.dwheeler.com/secure-programs/", - "title": "Secure Programming HOWTO - Creating Secure Software" - }, - { - "url": "http://dullroar.com/book/TenStepsToLinuxSurvival.html", - "title": "Ten Steps to Linux Survival: Bash for Windows People" - }, - { - "url": "https://debian-handbook.info", - "title": "The Debian Administrator's Handbook" - }, - { - "url": "http://linuxcommand.org/tlcl.php", - "title": "The Linux Command Line" - }, - { - "url": "http://ptgmedia.pearsoncmg.com/imprint_downloads/informit/perens/0130091154.pdf", - "title": "The Linux Development Platform" - }, - { - "url": "https://sysprog21.github.io/lkmpg/", - "title": "The Linux Kernel Module Programming Guide" - }, - { - "url": "http://www.tldp.org/LDP/sag/html/index.html", - "title": "The Linux System Administrator's Guide" - }, - { - "url": "http://www.ubuntupocketguide.com/index_main.html", - "title": "Ubuntu Pocket Guide and Reference" - }, - { - "url": "https://help.ubuntu.com/20.04/serverguide/serverguide.pdf", - "title": "Ubuntu Server Guide" - }, - { - "url": "https://www.kernel.org/doc/gorman/", - "title": "Understanding the Linux Virtual Memory Manager" - }, - { - "url": "http://www.bitsinthewind.com/about-dac/publications/unix-systems-programming", - "title": "UNIX Systems Programming for SVR4" - }, - { - "url": "http://upstart.ubuntu.com/cookbook/", - "title": "Upstart Intro, Cookbook and Best Practises" - }, - { - "url": "http://www.akkadia.org/drepper/cpumemory.pdf", - "title": "What Every Programmer Should Know About Memory" - } - ], - "subsections": [] - }, - { - "section": "Lisp", - "entries": [ - { - "url": "http://franz.com/resources/educational_resources/cooper.book.pdf", - "title": "Basic Lisp Techniques" - }, - { - "url": "http://www.lisperati.com/casting.html", - "title": "Casting Spels in Lisp" - }, - { - "url": "http://www.cs.cmu.edu/~dst/LispBook/", - "title": "Common Lisp: A Gentle Introduction to Symbolic Computation" - }, - { - "url": "http://www.cse.buffalo.edu/~shapiro/Commonlisp/", - "title": "Common Lisp: An Interactive Approach" - }, - { - "url": "http://clqr.boundp.org", - "title": "Common Lisp Quick Reference" - }, - { - "url": "http://www.cs.cmu.edu/Groups/AI/html/cltl/mirrors.html", - "title": "Common Lisp the Language, 2nd Edition" - }, - { - "url": "https://google.github.io/styleguide/lispguide.xml", - "title": "Google's Common Lisp Style Guide" - }, - { - "url": "http://www.civilized.com/files/lispbook.pdf", - "title": "Interpreting LISP" - }, - { - "url": "https://github.com/LispTO/llthw", - "title": "Learn Lisp The Hard Way" - }, - { - "url": "http://letoverlambda.com/index.cl/", - "title": "Let Over Lambda - 50 Years of Lisp" - }, - { - "url": "https://leanpub.com/lisphackers/read", - "title": "Lisp Hackers: Interviews with 100x More Productive Programmers" - }, - { - "url": "https://github.com/google/lisp-koans", - "title": "Lisp Koans" - }, - { - "url": "https://leanpub.com/lispwebtales", - "title": "Lisp Web Tales" - }, - { - "url": "http://www.paulgraham.com/onlisp.html", - "title": "On Lisp" - }, - { - "url": "https://github.com/norvig/paip-lisp", - "title": "Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp" - }, - { - "url": "http://www.gigamonkeys.com/book/", - "title": "Practical Common Lisp" - }, - { - "url": "https://lispcookbook.github.io/cl-cookbook/", - "title": "The Common Lisp Cookbook" - }, - { - "url": "http://www.dreamsongs.com/Files/HOPL2-Uncut.pdf", - "title": "The Evolution of Lisp" - } - ], - "subsections": [] - }, - { - "section": "Livecode", - "entries": [ - { - "url": "http://www.scribd.com/doc/216789127/LiveCode-userguide", - "title": "LiveCode userguide" - } - ], - "subsections": [] - }, - { - "section": "Lua", - "entries": [ - { - "url": "http://www.lua.org/manual/5.3/", - "title": "Lua 5.3 Reference Manual" - }, - { - "url": "https://en.wikibooks.org/wiki/Lua_Programming", - "title": "Lua Programming" - }, - { - "url": "https://www.lua.org/pil/contents.html", - "title": "Programming in Lua (first edition)" - } - ], - "subsections": [] - }, - { - "section": "Make", - "entries": [ - { - "url": "https://makefiletutorial.com", - "title": "Makefile tutorial" - }, - { - "url": "https://www.oreilly.com/openbook/make3/book/index.html", - "title": "Managing Projects with GNU Make" - } - ], - "subsections": [] - }, - { - "section": "Markdown", - "entries": [ - { - "url": "https://www.gitbook.com/book/gitbookio/markdown/details", - "title": "Learn Markdown" - } - ], - "subsections": [] - }, - { - "section": "Mathematica", - "entries": [ - { - "url": "http://www.mathprogramming-intro.org", - "title": "Mathematica® programming: an advanced introduction by Leonid Shifrin" - }, - { - "url": "http://mathematica.stackexchange.com/questions/16485/are-you-interested-in-purchasing-david-wagners-power-programming-with-mathemat/22724", - "title": "Power Programming with Mathematica" - }, - { - "url": "http://reference.wolfram.com/legacy/v5_2/", - "title": "Stephen Wolfram's The Mathematica Book" - }, - { - "url": "http://chortle.ccsu.edu/VectorLessons/index.html", - "title": "Vector Math for 3d Computer Graphics" - }, - { - "url": "https://www.wolfram.com/wolfram-u/catalog/product-training/mathematica/", - "title": "Wolfram Mathematica Product Training: Wolfram U" - } - ], - "subsections": [] - }, - { - "section": "MATLAB", - "entries": [ - { - "url": "http://www.science.smith.edu/~jcardell/Courses/EGR326/Intro-to-MATLAB.pdf", - "title": "An Interactive Introduction to MATLAB" - }, - { - "url": "http://www.maths.dundee.ac.uk/software/MatlabNotes.pdf", - "title": "An Introduction to MATLAB" - }, - { - "url": "http://www.intechopen.com/books/applications-of-matlab-in-science-and-engineering", - "title": "Applications of MATLAB in Science and Engineering" - }, - { - "url": "http://www.mathworks.com/moler/exm/index.html?requestedDomain=www.mathworks.com&nocookie=true", - "title": "Experiments with MATLAB" - }, - { - "url": "https://cnx.org/exports/3a643c1f-c1ba-4c2a-8065-317a1f2b1add@18.1.pdf/freshman-engineering-problem-solving-with-matlab-18.1.pdf", - "title": "Freshman Engineering Problem Solving with MATLAB" - }, - { - "url": "http://www.mathworks.com/tutorials", - "title": "Interactive Tutorials for MATLAB, Simulink, Signal Processing, Controls, and Computational Mathematics" - }, - { - "url": "https://www.mccormick.northwestern.edu/documents/students/undergraduate/introduction-to-matlab.pdf", - "title": "Introduction to MATLAB for Engineering Students" - }, - { - "url": "http://www.intechopen.com/books/matlab-a-fundamental-tool-for-scientific-computing-and-engineering-applications-volume-1", - "title": "MATLAB - A Fundamental Tool for Scientific Computing and Engineering Applications - Volume 1" - }, - { - "url": "http://www.intechopen.com/books/matlab-a-ubiquitous-tool-for-the-practical-engineer", - "title": "MATLAB - A Ubiquitous Tool for the Practical Engineer" - }, - { - "url": "http://www.intechopen.com/books/matlab-for-engineers-applications-in-control-electrical-engineering-it-and-robotics", - "title": "MATLAB for Engineers: Applications in Control, Electrical Engineering, IT and Robotics" - }, - { - "url": "https://goalkicker.com/MATLABBook", - "title": "MATLAB Notes for professionals" - }, - { - "url": "https://en.wikibooks.org/wiki/MATLAB_Programming", - "title": "MATLAB Programming" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/matlab", - "title": "MATLAB Succinctly, Syncfusion" - }, - { - "url": "http://www.mathworks.com/moler/index_ncm.html?requestedDomain=www.mathworks.com&nocookie=true", - "title": "Numerical Computing with MATLAB" - }, - { - "url": "http://greenteapress.com/matlab/index.html", - "title": "Physical Modeling in MATLAB" - }, - { - "url": "https://www.math.ust.hk/~machas/scientific-computing.pdf", - "title": "Scientific Computing" - } - ], - "subsections": [] - }, - { - "section": "Maven", - "entries": [ - { - "url": "https://books.sonatype.com/m2eclipse-book/reference/index.html", - "title": "Developing with Eclipse and Maven" - }, - { - "url": "http://books.sonatype.com/mvnex-book/reference/public-book.html", - "title": "Maven by Example" - }, - { - "url": "http://books.sonatype.com/mvnref-book/reference/public-book.html", - "title": "Maven: The Complete Reference" - }, - { - "url": "http://books.sonatype.com/nexus-book/reference/", - "title": "Repository Management with Nexus" - } - ], - "subsections": [] - }, - { - "section": "Mercurial", - "entries": [ - { - "url": "https://hginit.github.io", - "title": "Hg Init: a Mercurial Tutorial" - }, - { - "url": "http://hgbook.red-bean.com", - "title": "Mercurial: The Definitive Guide" - }, - { - "url": "https://book.mercurial-scm.org", - "title": "Mercurial: The Definitive Guide 2nd edition" - } - ], - "subsections": [] - }, - { - "section": "Mercury", - "entries": [ - { - "url": "http://www.mercurylang.org/information/doc-release/user_guide.pdf", - "title": "The Mercury Users' Guide" - } - ], - "subsections": [] - }, - { - "section": "Modelica", - "entries": [ - { - "url": "http://book.xogeny.com", - "title": "Modelica by Example" - } - ], - "subsections": [] - }, - { - "section": "MySQL", - "entries": [ - { - "url": "https://dev.mysql.com/doc/mysql-tutorial-excerpt/8.0/en/tutorial.html", - "title": "MySQL 8.0 Tutorial Excerpt" - }, - { - "url": "http://www.techotopia.com/index.php/MySQL_Essentials", - "title": "MySQL Essentials" - }, - { - "url": "https://goalkicker.com/MySQLBook/", - "title": "MySQL Notes for Professionals" - } - ], - "subsections": [] - }, - { - "section": "Neo4J", - "entries": [ - { - "url": "https://neo4j.com/fullstack-graphql-applications-with-grandstack/", - "title": "Fullstack GraphQL Applications with GRANDStack – Essential Excerpts" - }, - { - "url": "https://neo4j.com/graph-algorithms-book/", - "title": "Graph Algorithms: Practical Examples in Apache Spark and Neo4j" - }, - { - "url": "http://neo4j.com/books/graph-databases/", - "title": "Graph Databases 2nd edition" - }, - { - "url": "https://neo4j.com/graph-databases-for-dummies/", - "title": "Graph Databases For Dummies" - } - ], - "subsections": [] - }, - { - "section": ".NET Core", - "entries": [ - { - "url": "https://github.com/thangchung/clean-code-dotnet", - "title": "Clean Code .NET" - }, - { - "url": "https://www.syncfusion.com/succinctly-free-ebooks/entity-frame-work-core-succinctly", - "title": "Entity Framework Core Succinctly" - }, - { - "url": "https://docs.microsoft.com/en-us/dotnet/", - "title": ".NET documentation - Microsoft Docs" - }, - { - "url": "https://www.syncfusion.com/ebooks/using-netcore-docker-and-kubernetes-succinctly", - "title": "Using .NET Core, Docker, and Kubernetes Succinctly" - } - ], - "subsections": [] - }, - { - "section": ".NET Framework", - "entries": [ - { - "url": "https://www.syncfusion.com/ebooks/akka_net_succinctly", - "title": "Akka.NET Succinctly" - }, - { - "url": "https://www.syncfusion.com/ebooks/application_security_in_net_succinctly", - "title": "Application Security in .NET Succinctly" - }, - { - "url": "https://www.syncfusion.com/ebooks/cryptography_in_net_succinctly", - "title": "Cryptography in .NET Succinctly" - }, - { - "url": "http://weblogs.asp.net/zeeshanhirani/my-christmas-present-to-the-entity-framework-community", - "title": "Entity Framework" - }, - { - "url": "https://en.wikibooks.org/wiki/Game_Creation_with_XNA", - "title": "Game Creation with XNA" - }, - { - "url": "https://www.syncfusion.com/ebooks/getting-the-most-from-linqpad-succinctly", - "title": "Getting the Most from LINQPad Succinctly" - }, - { - "url": "https://www.syncfusion.com/ebooks/monogame_succinctly", - "title": "MonoGame Succinctly" - }, - { - "url": "http://foxcentral.net/microsoft/NETforVFPDevelopers.htm", - "title": ".NET for Visual FoxPro Developers" - }, - { - "url": "https://goalkicker.com/DotNETFrameworkBook/", - "title": ".NET Framework Notes for Professionals" - }, - { - "url": "https://www.red-gate.com/library/net-performance-testing-and-optimization-the-complete-guide", - "title": ".NET Performance Testing and Optimization - The Complete Guide" - }, - { - "url": "https://www.syncfusion.com/ebooks/nuget-in-house-succinctly", - "title": "NuGet In-House Succinctly" - }, - { - "url": "https://www.syncfusion.com/ebooks/rider-succinctly", - "title": "Rider Succinctly" - }, - { - "url": "https://assets.red-gate.com/community/books/under-the-hood-of-net-memory-management.pdf", - "title": "Under the Hood of .NET Memory Management" - }, - { - "url": "http://www.infoq.com/minibooks/vsnettt", - "title": "Visual Studio .NET Tips and Tricks" - }, - { - "url": "https://www.syncfusion.com/ebooks/visual-studio-2019-succinctly", - "title": "Visual Studio 2019 Succinctly" - } - ], - "subsections": [] - }, - { - "section": "Nim", - "entries": [ - { - "url": "http://ssalewski.de/nimprogramming.html", - "title": "Computer Programming with the Nim Programming Language" - }, - { - "url": "https://narimiran.github.io/nim-basics", - "title": "Nim Basics" - }, - { - "url": "https://nim-by-example.github.io", - "title": "Nim by Example" - }, - { - "url": "https://xmonader.github.io/nimdays", - "title": "Nim Days" - } - ], - "subsections": [] - }, - { - "section": "NoSQL", - "entries": [ - { - "url": "http://guide.couchdb.org", - "title": "CouchDB: The Definitive Guide" - }, - { - "url": "http://publications.lib.chalmers.se/records/fulltext/155048.pdf", - "title": "Extracting Data from NoSQL Databases: A Step towards Interactive Visual Analysis of NoSQL Data" - }, - { - "url": "http://graphdatabases.com", - "title": "Graph Databases" - }, - { - "url": "https://www.tutorialspoint.com/mongodb", - "title": "Introduction to MongoDB" - }, - { - "url": "https://github.com/chicagoruby/MongoDB_Koans", - "title": "MongoDB Koans" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/mongodb", - "title": "MongoDB Succinctly, Syncfusion" - }, - { - "url": "http://www.christof-strauch.de/nosqldbs.pdf", - "title": "NoSQL Databases" - }, - { - "url": "http://openmymind.net/2011/3/28/The-Little-MongoDB-Book/", - "title": "The Little MongoDB Book" - }, - { - "url": "http://openmymind.net/2012/1/23/The-Little-Redis-Book/", - "title": "The Little Redis Book" - } - ], - "subsections": [] - }, - { - "section": "Oberon", - "entries": [ - { - "url": "https://inf.ethz.ch/personal/wirth/AD.pdf", - "title": "Algorithms and Data-Structures" - }, - { - "url": "http://ssw.jku.at/Research/Books/Oberon2.pdf", - "title": "Object-Oriented Programming in Oberon-2" - }, - { - "url": "https://www.inf.ethz.ch/personal/wirth/ProgInOberonWR.pdf", - "title": "Programming in Oberon" - } - ], - "subsections": [] - }, - { - "section": "Objective-C", - "entries": [ - { - "url": "https://github.com/google/styleguide/blob/gh-pages/objcguide.md", - "title": "Google's Objective-C Style Guide" - }, - { - "url": "https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/OOP_ObjC/Introduction/Introduction.html#//apple_ref/doc/uid/TP40005149", - "title": "Object-Oriented Programming with Objective-C" - }, - { - "url": "https://goalkicker.com/ObjectiveCBook/", - "title": "Objective-C Notes for Professionals" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/objective-c", - "title": "Objective-C Succinctly, Syncfusion" - }, - { - "url": "https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html", - "title": "Programming With Objective-C" - } - ], - "subsections": [] - }, - { - "section": "OCaml", - "entries": [ - { - "url": "http://caml.inria.fr/pub/docs/oreilly-book/", - "title": "Developing Applications With Objective Caml" - }, - { - "url": "https://www.cs.cornell.edu/courses/cs3110/2019sp/textbook/", - "title": "Functional Programming in OCaml" - }, - { - "url": "https://ocaml.xyz/book/", - "title": "OCaml Scientific Computing" - }, - { - "url": "https://dev.realworldocaml.org/toc.html", - "title": "Real World OCaml" - }, - { - "url": "http://greenteapress.com/thinkocaml/index.html", - "title": "Think OCaml" - }, - { - "url": "http://ocaml.github.io/ocamlunix/", - "title": "Unix System Programming in OCaml" - }, - { - "url": "http://pauillac.inria.fr/~remy/cours/appsem/", - "title": "Using, Understanding, and Unraveling The OCaml Language: From Practice to Theory and vice versa" - } - ], - "subsections": [] - }, - { - "section": "Octave", - "entries": [ - { - "url": "https://en.wikibooks.org/wiki/Octave_Programming_Tutorial", - "title": "Octave Programming" - } - ], - "subsections": [] - }, - { - "section": "OpenMP", - "entries": [ - { - "url": "http://bisqwit.iki.fi/story/howto/openmp/", - "title": "A Guide To OpenMP" - }, - { - "url": "http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf", - "title": "OpenMP Application Programming Interface Standard Version 4.0" - }, - { - "url": "https://www.openmp.org/wp-content/uploads/OpenMP-API-Specification-5.0.pdf", - "title": "OpenMP Application Programming Interface Standard Version 5.0" - } - ], - "subsections": [] - }, - { - "section": "OpenResty", - "entries": [ - { - "url": "https://www.gitbook.com/book/openresty/programming-openresty/details", - "title": "Programming OpenResty" - } - ], - "subsections": [] - }, - { - "section": "OpenSCAD", - "entries": [ - { - "url": "https://en.wikibooks.org/wiki/OpenSCAD_User_Manual", - "title": "OpenSCAD User Manual" - } - ], - "subsections": [] - }, - { - "section": "TrueOS", - "entries": [ - { - "url": "https://www.trueos.org/handbook/trueos.html", - "title": "TrueOS® Users Handbook" - } - ], - "subsections": [] - }, - { - "section": "Perl", - "entries": [ - { - "url": "https://www.perl.org/books/beginning-perl/", - "title": "Beginning Perl" - }, - { - "url": "https://datamungingwithperl.com", - "title": "Data Munging with Perl" - }, - { - "url": "http://masonbook.houseabsolute.com/book/", - "title": "Embedding Perl in HTML with Mason" - }, - { - "url": "http://cslibrary.stanford.edu/108/EssentialPerl.pdf", - "title": "Essential Perl" - }, - { - "url": "http://www.billhails.net/Book/", - "title": "Exploring Programming Language Architecture in Perl" - }, - { - "url": "http://www.extremeperl.org/bk/home", - "title": "Extreme Perl" - }, - { - "url": "http://hop.perl.plover.com/book/", - "title": "Higher-Order Perl" - }, - { - "url": "https://www.perl.org/books/impatient-perl/", - "title": "Impatient Perl" - }, - { - "url": "http://www.greenteapress.com/perl/", - "title": "Learning Perl The Hard Way" - }, - { - "url": "http://www.onyxneon.com/books/modern_perl/", - "title": "Modern Perl 5" - }, - { - "url": "http://lwp.interglacial.com/index.html", - "title": "Perl & LWP" - }, - { - "url": "http://www.faqs.org/docs/perl5int/", - "title": "Perl 5 Internals" - }, - { - "url": "http://www.globalspin.com/thebook/", - "title": "Perl for the Web" - }, - { - "url": "https://goalkicker.com/PerlBook/", - "title": "Perl Notes for Professionals" - }, - { - "url": "https://learnbyexample.github.io/learn_perl_oneliners/", - "title": "Perl one-liners cookbook" - }, - { - "url": "http://perltraining.com.au/notes.html", - "title": "Perl Training Australia - Course Notes" - }, - { - "url": "http://handbook.plackperl.org", - "title": "Plack Handbook" - }, - { - "url": "https://github.com/PerlGameDev/SDL_Manual", - "title": "SDL::Manual Writing Games in Perl" - }, - { - "url": "http://template-toolkit.org/docs/index.html", - "title": "Template Toolkit Documentation" - }, - { - "url": "https://github.com/castaway/dbix-class-book", - "title": "The DBIx-Class Book" - }, - { - "url": "http://sourceforge.net/projects/pdl/files/PDL_2013/PDL-Book/PDL-Book-20130322.pdf/download", - "title": "The PDL Book" - }, - { - "url": "http://www.oreilly.com/openbook/webclient/", - "title": "Web Client Programming with Perl" - } - ], - "subsections": [] - }, - { - "section": "PHP", - "entries": [ - { - "url": "https://github.com/jupeter/clean-code-php", - "title": "Clean Code PHP" - }, - { - "url": "http://www.informit.com/content/images/013147149X/downloads/013147149X_book.pdf", - "title": "PHP 5 Power Programming" - }, - { - "url": "https://phpbestpractices.org", - "title": "PHP Best Practices" - }, - { - "url": "http://www.phpinternalsbook.com", - "title": "PHP Internals Book" - }, - { - "url": "https://goalkicker.com/PHPBook/", - "title": "PHP Notes for Professionals" - }, - { - "url": "http://daylerees.com/php-pandas/", - "title": "PHP Pandas" - }, - { - "url": "https://en.wikibooks.org/wiki/PHP_Programming", - "title": "PHP Programming" - }, - { - "url": "https://phpreferencebook.com/pdf/download/", - "title": "PHP Reference: Beginner to Intermediate PHP5" - }, - { - "url": "http://phpsec.org/projects/guide/", - "title": "PHP Security Guide" - }, - { - "url": "http://www.phptherightway.com", - "title": "PHP: The Right Way" - }, - { - "url": "https://phpunit.de/manual/current/en/phpunit-book.pdf", - "title": "PHPUnit Manual" - }, - { - "url": "http://www.hackingwithphp.com", - "title": "Practical PHP Programming" - }, - { - "url": "http://www.giorgiosironi.com/2009/12/practical-php-testing-is-here.html", - "title": "Practical PHP Testing" - }, - { - "url": "https://phpsecurity.readthedocs.org/en/latest/", - "title": "Survive The Deep End: PHP Security" - }, - { - "url": "https://paragonie.com/book/pecl-libsodium", - "title": "Using Libsodium in PHP Projects" - } - ], - "subsections": [ - { - "section": "CakePHP", - "entries": [ - { - "url": "http://book.cakephp.org/2.0/_downloads/en/CakePHPCookbook.pdf", - "title": "CakePHP Cookbook 2.x" - } - ] - }, - { - "section": "CodeIgniter", - "entries": [ - { - "url": "https://codeigniter.com/userguide3/index.html", - "title": "CodeIgniter 3 User Guide" - }, - { - "url": "https://codeigniter.com/user_guide/index.html", - "title": "CodeIgniter 4 User Guide" - } - ] - }, - { - "section": "Drupal", - "entries": [ - { - "url": "https://www.drupal.org/files/tiny-book-of-rules.pdf", - "title": "The Tiny Book of Rules" - } - ] - }, - { - "section": "Laravel", - "entries": [ - { - "url": "https://laraveldaily.com/wp-content/uploads/2020/04/laravel-tips-2020-04.pdf", - "title": "100 (and counting) Laravel Quick Tips" - }, - { - "url": "https://leanpub.com/laravel-5", - "title": "Laravel 5.x Official Documentation. Synced Daily" - }, - { - "url": "http://www.laravelbestpractices.com", - "title": "Laravel Best Practices" - }, - { - "url": "http://daylerees.com/codebright", - "title": "Laravel: Code Bright" - }, - { - "url": "http://daylerees.com/codehappy", - "title": "Laravel: Code Happy" - }, - { - "url": "https://daylerees.com/codesmart/", - "title": "Laravel: Code Smart" - }, - { - "url": "https://leanpub.com/laravelcollectionsunraveled", - "title": "Laravel Collections Unraveled" - } - ] - }, - { - "section": "Symfony", - "entries": [ - { - "url": "https://symfony.com/doc/5.0/the-fast-track/en/index.html", - "title": "Symfony 5: The Fast Track" - }, - { - "url": "https://web.archive.org/web/20181017123206/https://symfony.com/pdf/Symfony_best_practices_4.1.pdf", - "title": "The Symfony Best practices 4.1.x" - }, - { - "url": "https://symfony.com/doc/2.8/index.html", - "title": "The Symfony Book 2.8.x" - }, - { - "url": "https://symfony.com/doc/3.4/index.html", - "title": "The Symfony Book 3.4.x" - }, - { - "url": "https://symfony.com/doc/4.4/index.html", - "title": "The Symfony Book 4.4.x" - } - ] - }, - { - "section": "Zend", - "entries": [ - { - "url": "https://olegkrivtsov.github.io/using-zend-framework-3-book/html/", - "title": "Using Zend Framework 3" - } - ] - } - ] - }, - { - "section": "PicoLisp", - "entries": [ - { - "url": "https://github.com/tj64/picolisp-by-example", - "title": "PicoLisp by Example" - }, - { - "url": "https://github.com/tj64/picolisp-works", - "title": "PicoLisp Works" - } - ], - "subsections": [] - }, - { - "section": "PostgreSQL", - "entries": [ - { - "url": "http://www.postgresql.org/docs/", - "title": "Postgres Official Documentation" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/postgres", - "title": "Postgres Succinctly" - }, - { - "url": "https://www.tutorialspoint.com/postgresql", - "title": "PostgreSQL Tutorial" - }, - { - "url": "http://www.faqs.org/docs/ppbook/book1.htm", - "title": "Practical PostgreSQL" - }, - { - "url": "http://www.interdb.jp/pg", - "title": "The Internals of PostgreSQL for database administrators and system developers" - } - ], - "subsections": [] - }, - { - "section": "PowerShell", - "entries": [ - { - "url": "https://leanpub.com/aunixpersonsguidetopowershell", - "title": "A Unix Person's Guide to PowerShell" - }, - { - "url": "https://leanpub.com/creatinghtmlreportsinwindowspowershell", - "title": "Creating HTML Reports in PowerShell" - }, - { - "url": "https://leanpub.com/devopstheopsperspective", - "title": "DevOps: The Ops Perspective" - }, - { - "url": "https://leanpub.com/ditchexcelmakinghistoricalandtrendreportsinpowershell", - "title": "Ditch Excel: Making Historical & Trend Reports in PowerShell" - }, - { - "url": "https://ravichaganti.com/ebooks/AlaymansguidetoPowerShell2remotingv2.pdf", - "title": "Layman’s Guide to PowerShell 2.0 remoting" - }, - { - "url": "https://www.packtpub.com/free-ebooks/learn-powershell-core-60", - "title": "Learn PowerShell Core 6.0" - }, - { - "url": "https://learnxinyminutes.com/docs/powershell/", - "title": "Learn PowerShell in Y Minutes" - }, - { - "url": "http://community.idera.com/powershell/powertips/b/ebookv2#pi619PostSortOrder=Ascending", - "title": "Mastering PowerShell v2" - }, - { - "url": "https://leanpub.com/powershell101", - "title": "PowerShell 101: The No-Nonsense Beginner’s Guide to PowerShell" - }, - { - "url": "http://www.jonathanmedd.net/wp-content/uploads/2010/09/PowerShell_2_One_Cmdlet_at_a_Time.pdf", - "title": "PowerShell 2.0 – One CMDLET At A Time" - }, - { - "url": "http://goalkicker.com/PowerShellBook/", - "title": "PowerShell Notes for Professionals" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/powershell", - "title": "PowerShell Succinctly, Syncfusion" - }, - { - "url": "https://leanpub.com/powershelltips", - "title": "PowerShell Tips to Write By" - }, - { - "url": "https://leanpub.com/secretsofpowershellremoting", - "title": "Secrets of PowerShell Remoting" - }, - { - "url": "https://leanpub.com/thebigbookofpowershellerrorhandling", - "title": "The Big Book of PowerShell Error Handling" - }, - { - "url": "https://leanpub.com/thebigbookofpowershellgotchas", - "title": "The Big Book of PowerShell Gotchas" - }, - { - "url": "https://leanpub.com/themonadmanifestoannotated", - "title": "The Monad Manifesto - Annotated" - }, - { - "url": "https://leanpub.com/windowspowershellnetworkingguide", - "title": "The PowerShell + DevOps Global Summit Manual for Summiteers" - }, - { - "url": "https://leanpub.com/whypowershell", - "title": "Why PowerShell?" - }, - { - "url": "https://leanpub.com/windowspowershellnetworkingguide", - "title": "Windows PowerShell Networking Guide" - } - ], - "subsections": [] - }, - { - "section": "Processing", - "entries": [ - { - "url": "http://natureofcode.com/book/", - "title": "The Nature of Code: Simulating Natural Systems with Processing" - } - ], - "subsections": [] - }, - { - "section": "Prolog", - "entries": [ - { - "url": "http://www.amzi.com/AdventureInProlog/", - "title": "Adventure in Prolog" - }, - { - "url": "http://bookboon.com/en/applications-of-prolog-ebook", - "title": "Applications of Prolog" - }, - { - "url": "http://arxiv.org/abs/0911.2899", - "title": "Coding Guidelines for Prolog" - }, - { - "url": "http://www.cis.upenn.edu/~matuszek/Concise%20Guides/Concise%20Prolog.html", - "title": "Concise Intro to Prolog" - }, - { - "url": "http://www.amzi.com/ExpertSystemsInProlog/", - "title": "Expert Systems in Prolog" - }, - { - "url": "http://www.gprolog.org/manual/gprolog.pdf", - "title": "GNU Prolog Manual" - }, - { - "url": "http://www.j-paine.org/prolog/mathnotes/files/pms/pms.html", - "title": "Introduction to Prolog for Mathematicians" - }, - { - "url": "http://www.learnprolognow.org", - "title": "Learn Prolog Now!" - }, - { - "url": "http://www.ida.liu.se/~ulfni53/lpp/", - "title": "Logic, Programming and Prolog (2ed)" - }, - { - "url": "http://cs.union.edu/~striegnk/courses/nlp-with-prolog/html/", - "title": "Natural Language Processing Techniques in Prolog" - }, - { - "url": "http://www.mtome.com/Publications/PNLA/pnla-digital.html", - "title": "Prolog and Natural - Language Analysis" - }, - { - "url": "https://sites.google.com/site/prologforprogrammers/", - "title": "Prolog for Programmers" - }, - { - "url": "https://sites.google.com/site/prologsite/prolog-problems", - "title": "Prolog Problems" - }, - { - "url": "http://bookboon.com/en/prolog-techniques-applications-of-prolog-ebook", - "title": "Prolog Techniques" - }, - { - "url": "http://www.cpp.edu/~jrfisher/www/prolog_tutorial/contents.html", - "title": "Prolog Tutorial" - }, - { - "url": "https://mitpress.mit.edu/books/art-prolog-second-edition", - "title": "The Art of Prolog, Second Edition" - }, - { - "url": "https://dtai.cs.kuleuven.be/ppcbook/", - "title": "The First 10 Prolog Programming Contests" - }, - { - "url": "http://wambook.sourceforge.net", - "title": "Warren's Abstract Machine: A Tutorial Reconstruction" - } - ], - "subsections": [ - { - "section": "Constraint Logic Programming (extended Prolog)", - "entries": [ - { - "url": "http://anclp.pl", - "title": "A Gentle Guide to Constraint Logic Programming via ECLiPSe" - } - ] - } - ] - }, - { - "section": "PureScript", - "entries": [ - { - "url": "https://leanpub.com/purescript/read", - "title": "PureScript By Example" - } - ], - "subsections": [] - }, - { - "section": "Python", - "entries": [ - { - "url": "https://learnbyexample.github.io/100_page_python_intro/", - "title": "100 Page Python Intro" - }, - { - "url": "https://www.oreilly.com/learning/20-python-libraries-you-arent-using-but-should", - "title": "20 Python Libraries You Aren't Using (But Should)" - }, - { - "url": "https://en.wikibooks.org/wiki/A_Beginner%27s_Python_Tutorial", - "title": "A Beginner's Python Tutorial" - }, - { - "url": "https://python.swaroopch.com", - "title": "A Byte of Python" - }, - { - "url": "https://github.com/RafeKettler/magicmethods", - "title": "A Guide to Python's Magic Methods" - }, - { - "url": "http://www.oreilly.com/programming/free/files/a-whirlwind-tour-of-python.pdf", - "title": "A Whirlwind Tour of Python" - }, - { - "url": "https://www.cosmicpython.com/book/preface.html", - "title": "Architecture Patterns with Python" - }, - { - "url": "https://automatetheboringstuff.com/2e/chapter0/", - "title": "Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total Beginners" - }, - { - "url": "http://beej.us/guide/bgpython/", - "title": "Beej's Guide to Python Programming - For Beginners" - }, - { - "url": "https://inventwithpython.com/beyond/", - "title": "Beyond the Basic Stuff with Python" - }, - { - "url": "https://biopython.org/DIST/docs/tutorial/Tutorial.pdf", - "title": "Biopython Tutorial and Cookbook" - }, - { - "url": "http://github.com/thewhitetulip/build-app-with-python-antitextbook", - "title": "Build applications in Python the antitextbook" - }, - { - "url": "https://slott56.github.io/building-skills-oo-design-book/build/html/", - "title": "Building Skills in Object-Oriented Design, V4" - }, - { - "url": "https://web.archive.org/web/20190918094202/http://www.itmaybeahack.com/book/python-2.6/latex/BuildingSkillsinPython.pdf", - "title": "Building Skills in Python" - }, - { - "url": "https://www.pycabook.com", - "title": "Clean Architectures in Python" - }, - { - "url": "https://web.archive.org/web/20180411011411/http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html", - "title": "Code Like a Pythonista: Idiomatic Python" - }, - { - "url": "https://www.codecademy.com/learn/python", - "title": "CodeCademy Python" - }, - { - "url": "http://composingprograms.com", - "title": "Composing Programs" - }, - { - "url": "https://inventwithpython.com/cracking/", - "title": "Cracking Codes with Python" - }, - { - "url": "https://web.archive.org/web/20161016153130/http://www.brpreiss.com/books/opus7/html/book.html", - "title": "Data Structures and Algorithms in Python" - }, - { - "url": "https://diveintopython3.problemsolving.io", - "title": "Dive into Python 3" - }, - { - "url": "https://www.labri.fr/perso/nrougier/from-python-to-numpy/", - "title": "From Python to NumPy" - }, - { - "url": "https://www.fullstackpython.com", - "title": "Full Stack Python" - }, - { - "url": "https://www.oreilly.com/ideas/functional-programming-in-python", - "title": "Functional Programming in Python" - }, - { - "url": "https://web.archive.org/web/20191005170430/http://python.cs.southern.edu/pythonbook/pythonbook.pdf", - "title": "Fundamentals of Python Programming" - }, - { - "url": "https://developers.google.com/edu/python/", - "title": "Google's Python Class" - }, - { - "url": "https://google.github.io/styleguide/pyguide.html", - "title": "Google's Python Style Guide" - }, - { - "url": "https://www.oreilly.com/learning/hadoop-with-python", - "title": "Hadoop with Python" - }, - { - "url": "https://www.packtpub.com/free-ebook/hands-on-natural-language-processing-with-python/9781789139495", - "title": "Hands-On Natural Language Processing with Python" - }, - { - "url": "http://docs.python-guide.org/en/latest/", - "title": "Hitchhiker's Guide to Python!" - }, - { - "url": "https://assets.digitalocean.com/books/python/how-to-code-in-python.pdf", - "title": "How to Code in Python 3" - }, - { - "url": "http://www.oreilly.com/programming/free/files/how-to-make-mistakes-in-python.pdf", - "title": "How to Make Mistakes in Python" - }, - { - "url": "https://runestone.academy/runestone/books/published/thinkcspy/index.html", - "title": "How to Think Like a Computer Scientist: Learning with Python, Interactive Edition" - }, - { - "url": "https://book.pythontips.com/en/latest/", - "title": "Intermediate Python" - }, - { - "url": "http://opentechschool.github.io/python-beginners/en/", - "title": "Introduction to Programming with Python" - }, - { - "url": "http://kracekumar.com/post/71171551647/introduction-to-python", - "title": "Introduction to Python" - }, - { - "url": "https://www.kevinsheppard.com/files/teaching/python/notes/python_introduction_2020.pdf", - "title": "Introduction to Python for Econometrics, Statistics and Numerical Analysis" - }, - { - "url": "https://inventwithpython.com/invent4thed/", - "title": "Invent Your Own Computer Games With Python" - }, - { - "url": "http://learnpythonbreakpython.com", - "title": "Learn Python, Break Python" - }, - { - "url": "https://www.packtpub.com/free-ebooks/learn-python-programming-second-edition", - "title": "Learn Python Programming, Second Edition" - }, - { - "url": "https://www.ida.liu.se/~732A47/literature/PythonBook.pdf", - "title": "Learn to Program Using Python" - }, - { - "url": "http://www.alan-g.me.uk", - "title": "Learning to Program" - }, - { - "url": "https://github.com/jrjohansson/scientific-python-lectures", - "title": "Lectures on scientific computing with python" - }, - { - "url": "https://inventwithpython.com/pygame/chapters/", - "title": "Making Games with Python & Pygame" - }, - { - "url": "https://akuli.github.io/math-tutorial/", - "title": "Math for programmers (using python)" - }, - { - "url": "https://greenteapress.com/wp/modsimpy/", - "title": "Modeling and Simulation in Python" - }, - { - "url": "http://www.clips.ua.ac.be/sites/default/files/modeling-creativity.pdf", - "title": "Modeling Creativity: Case Studies in Python" - }, - { - "url": "https://medium.com/towards-artificial-intelligence/natural-language-processing-nlp-with-python-tutorial-for-beginners-1f54e610a1a0", - "title": "Natural Language Processing (NLP) with Python — Tutorial" - }, - { - "url": "http://www.nltk.org/book/", - "title": "Natural Language Processing with Python" - }, - { - "url": "https://en.wikibooks.org/wiki/Non-Programmer%27s_Tutorial_for_Python_3", - "title": "Non-Programmer's Tutorial for Python 3" - }, - { - "url": "https://www.oreilly.com/ideas/picking-a-python-version", - "title": "Picking a Python Version: A Manifesto" - }, - { - "url": "http://python3porting.com", - "title": "Porting to Python 3: An In-Depth Guide" - }, - { - "url": "https://launchpadlibrarian.net/165489933/PracticalProgrammingPython2014.pdf", - "title": "Practical Programming in Python" - }, - { - "url": "https://learnbyexample.github.io/practice_python_projects/", - "title": "Practice Python Projects" - }, - { - "url": "https://runestone.academy/runestone/books/published/pythonds3/index.html", - "title": "Problem Solving with Algorithms and Data Structures using Python" - }, - { - "url": "http://programarcadegames.com", - "title": "Program Arcade Games With Python And Pygame" - }, - { - "url": "http://programmingcomputervision.com/downloads/ProgrammingComputerVision_CCdraft.pdf", - "title": "Programming Computer Vision with Python" - }, - { - "url": "https://web.archive.org/web/20180921063136/http://buildingskills.itmaybeahack.com/book/programming-2.6/latex/ProgrammingforNon-Programmers.pdf", - "title": "Programming for Non-Programmers, Release 2.6.2" - }, - { - "url": "https://pysdr.org", - "title": "PySDR: A Guide to SDR and DSP using Python" - }, - { - "url": "https://python101.pythonlibrary.org", - "title": "Python 101" - }, - { - "url": "https://docs.python.org/2/download.html", - "title": "Python 2 Official Documentation" - }, - { - "url": "https://web.archive.org/web/20171013204449/http://infohost.nmt.edu/tcc/help/pubs/python27/python27.pdf", - "title": "Python 2.7 quick reference" - }, - { - "url": "https://docs.python.org/3/download.html", - "title": "Python 3 Official Documentation" - }, - { - "url": "https://github.com/Akuli/python-tutorial", - "title": "Python 3 Tutorial" - }, - { - "url": "https://jakevdp.github.io/PythonDataScienceHandbook", - "title": "Python Data Science Handbook" - }, - { - "url": "http://py4e.com/book", - "title": "Python for Everybody" - }, - { - "url": "http://www.pythonlearn.com/book.php", - "title": "Python for Informatics: Exploring Information" - }, - { - "url": "http://pymbook.readthedocs.org/en/latest/", - "title": "Python for you and me" - }, - { - "url": "http://pymbook.readthedocs.org/en/py3/", - "title": "Python for you and me" - }, - { - "url": "http://safehammad.com/downloads/python-idioms-2014-01-16.pdf", - "title": "Python Idioms" - }, - { - "url": "https://www.oreilly.com/ideas/python-in-education", - "title": "Python in Education" - }, - { - "url": "http://www.greenteapress.com/pythonhydro/pythonhydro.html", - "title": "Python in Hydrology" - }, - { - "url": "https://github.com/gregmalcolm/python_koans", - "title": "Python Koans" - }, - { - "url": "https://www.packtpub.com/free-ebooks/python-machine-learning-example", - "title": "Python Machine Learning By Example" - }, - { - "url": "https://pymotw.com/3/", - "title": "Python Module of the Week" - }, - { - "url": "http://goalkicker.com/PythonBook/", - "title": "Python Notes for Professionals" - }, - { - "url": "http://anandology.com/python-practice-book/index.html", - "title": "Python Practice Book" - }, - { - "url": "http://pythonpracticeprojects.com", - "title": "Python Practice Projects" - }, - { - "url": "https://en.wikibooks.org/wiki/Python_Programming", - "title": "Python Programming" - }, - { - "url": "https://upload.wikimedia.org/wikipedia/commons/9/91/Python_Programming.pdf", - "title": "Python Programming" - }, - { - "url": "https://pythonnumericalmethods.berkeley.edu/notebooks/Index.html", - "title": "Python Programming And Numerical Methods: A Guide For Engineers And Scientists" - }, - { - "url": "https://www.tutorialspoint.com/python", - "title": "Python Tutorial" - }, - { - "url": "http://scipy-lectures.github.io", - "title": "Scipy Lecture Notes" - }, - { - "url": "http://www-inst.eecs.berkeley.edu/~cs61a/sp12/book/", - "title": "SICP in Python" - }, - { - "url": "https://www.slitherintopython.com", - "title": "Slither into Python: An introduction to Python for beginners" - }, - { - "url": "http://python3porting.com", - "title": "Suporting Python 3: An In-Depth Guide" - }, - { - "url": "http://www.obeythetestinggoat.com/pages/book.html", - "title": "Test-Driven Web Development with Python" - }, - { - "url": "http://gnosis.cx/TPiP/", - "title": "Text Processing in Python" - }, - { - "url": "https://inventwithpython.com/bigbookpython/", - "title": "The Big Book of Small Python Projects" - }, - { - "url": "http://www.spronck.net/pythonbook/", - "title": "The Coder's Apprentice: Learning Programming with Python 3" - }, - { - "url": "https://jython.readthedocs.io/en/latest/", - "title": "The Definitive Guide to Jython, Python for the Java Platform" - }, - { - "url": "http://docs.quantifiedcode.com/python-anti-patterns/", - "title": "The Little Book of Python Anti-Patterns" - }, - { - "url": "http://niche-canada.org/research/niche-digital-infrastructure-project/the-programming-historian/", - "title": "The Programming Historian" - }, - { - "url": "http://python-gtk-3-tutorial.readthedocs.org/en/latest/", - "title": "The Python GTK+ 3 Tutorial" - }, - { - "url": "https://web.archive.org/web/20200626001242/http://effbot.org/librarybook/", - "title": "The Standard Python Library" - }, - { - "url": "https://greenteapress.com/wp/think-complexity-2e/", - "title": "Think Complexity" - }, - { - "url": "https://greenteapress.com/wp/think-dsp/", - "title": "Think DSP - Digital Signal Processing in Python" - }, - { - "url": "https://greenteapress.com/wp/think-python-2e/", - "title": "Think Python 2nd Edition" - }, - { - "url": "https://github.com/mattharrison/Tiny-Python-3.6-Notebook", - "title": "Tiny Python 3.6 Notebook" - }, - { - "url": "http://web2py.com/book", - "title": "Web2py: Complete Reference Manual, 6th Edition (pre-release)" - } - ], - "subsections": [ - { - "section": "Django", - "entries": [ - { - "url": "https://tutorial.djangogirls.org/en/", - "title": "Django Girls Tutorial" - }, - { - "url": "https://media.readthedocs.org/pdf/django/1.5.x/django.pdf", - "title": "Django Official Documentation" - }, - { - "url": "https://media.readthedocs.org/pdf/django/1.7.x/django.pdf", - "title": "Django Official Documentation" - }, - { - "url": "https://media.readthedocs.org/pdf/django/1.9.x/django.pdf", - "title": "Django Official Documentation" - }, - { - "url": "https://media.readthedocs.org/pdf/django/1.10.x/django.pdf", - "title": "Django Official Documentation" - }, - { - "url": "https://buildmedia.readthedocs.org/media/pdf/django/2.2.x/django.pdf", - "title": "Django Official Documentation" - }, - { - "url": "https://buildmedia.readthedocs.org/media/pdf/django/3.1.x/django.pdf", - "title": "Django Official Documentation" - }, - { - "url": "https://www.packtpub.com/free-ebooks/django-restful-web-services", - "title": "Django RESTful Web Services" - }, - { - "url": "https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django", - "title": "Django Web Framework (Python)" - }, - { - "url": "http://agiliq.com/books/djenofdjango/", - "title": "Djen of Django" - }, - { - "url": "https://web.archive.org/web/20181130092020/http://www.effectivedjango.com/", - "title": "Effective Django" - }, - { - "url": "http://www.tangowithdjango.com/book17/", - "title": "How to Tango With Django" - }, - { - "url": "http://www.obeythetestinggoat.com/pages/book.html", - "title": "Test-Driven Development With Python And Django" - } - ] - }, - { - "section": "Flask", - "entries": [ - { - "url": "https://exploreflask.com", - "title": "Explore Flask" - }, - { - "url": "https://flask.palletsprojects.com", - "title": "Flask Documentation" - }, - { - "url": "http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world", - "title": "The Flask Mega-Tutorial" - } - ] - }, - { - "section": "Kivy", - "entries": [ - { - "url": "https://kivy.org/docs/guide-index.html", - "title": "Kivy Programming Guide" - } - ] - }, - { - "section": "Pandas", - "entries": [ - { - "url": "https://bitbucket.org/hrojas/learn-pandas", - "title": "Learn Pandas" - }, - { - "url": "https://pandas.pydata.org/docs", - "title": "pandas: powerful Python data analysis toolkit" - } - ] - }, - { - "section": "Pyramid", - "entries": [ - { - "url": "http://docs.pylonsproject.org/projects/pyramid/en/latest/quick_tutorial/index.html#quick-tutorial", - "title": "Quick Tutorial for Pyramid" - } - ] - }, - { - "section": "Tornado", - "entries": [ - { - "url": "https://bitbucket.org/hrojas/learn-web-programming", - "title": "Learn Web Programming" - } - ] - } - ] - }, - { - "section": "QML", - "entries": [ - { - "url": "http://qmlbook.github.io", - "title": "Qt5 Cadaques" - } - ], - "subsections": [] - }, - { - "section": "R", - "entries": [ - { - "url": "http://adv-r.had.co.nz", - "title": "Advanced R Programming" - }, - { - "url": "http://www-bcf.usc.edu/~gareth/ISL/", - "title": "An Introduction to Statistical Learning with Applications in R" - }, - { - "url": "http://www.cookbook-r.com", - "title": "Cookbook for R" - }, - { - "url": "https://rafalab.github.io/dsbook/", - "title": "Data Analysis and Prediction Algorithms with R" - }, - { - "url": "https://leanpub.com/dataanalysisforthelifesciences", - "title": "Data Analysis for the Life Sciences" - }, - { - "url": "https://csgillespie.github.io/efficientR/", - "title": "Efficient R programming" - }, - { - "url": "https://leanpub.com/exdata", - "title": "Exploratory Data Analysis with R" - }, - { - "url": "https://dcl-prog.stanford.edu", - "title": "Functional Programming" - }, - { - "url": "https://github.com/gjkerns/IPSUR", - "title": "Introduction to Probability and Statistics Using R" - }, - { - "url": "https://learningstatisticswithr.com/book/", - "title": "Learning Statistics with R" - }, - { - "url": "https://ismayc.github.io/moderndiver-book/", - "title": "ModernDive" - }, - { - "url": "http://cran.r-project.org/doc/contrib/Faraway-PRA.pdf", - "title": "Practical Regression and Anova using R" - }, - { - "url": "http://r4ds.had.co.nz", - "title": "R for Data Science" - }, - { - "url": "http://www.columbia.edu/~cjd11/charles_dimaggio/DIRE/resources/spatialEpiBook.pdf", - "title": "R for Spatial Analysis" - }, - { - "url": "http://www.johndcook.com/blog/r_language_for_programmers", - "title": "R Language for Programmers" - }, - { - "url": "https://goalkicker.com/RBook/", - "title": "R Notes for Professionals" - }, - { - "url": "http://r-pkgs.had.co.nz", - "title": "R Packages" - }, - { - "url": "http://www.columbia.edu/~cjd11/charles_dimaggio/DIRE/resources/R/practicalsBookNoAns.pdf", - "title": "R Practicals" - }, - { - "url": "https://en.wikibooks.org/wiki/R_Programming", - "title": "R Programming" - }, - { - "url": "https://leanpub.com/rprogramming", - "title": "R Programming for Data Science" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/rsuccinctly", - "title": "R Succinctly, Syncfusion" - }, - { - "url": "https://rcompanion.org/handbook/index.html", - "title": "Summary and Analysis of Extension Program Evaluation in R" - }, - { - "url": "http://topepo.github.io/caret/index.html", - "title": "The caret Package" - }, - { - "url": "http://www.burns-stat.com/pages/Tutor/R_inferno.pdf", - "title": "The R Inferno" - }, - { - "url": "http://stat.ethz.ch/R-manual/R-patched/doc/html", - "title": "The R Language" - }, - { - "url": "http://cran.r-project.org/manuals.html", - "title": "The R Manuals" - }, - { - "url": "http://tidytextmining.com", - "title": "Tidy Text Mining with R" - } - ], - "subsections": [] - }, - { - "section": "Racket", - "entries": [ - { - "url": "https://htdp.org/2019-02-24/", - "title": "How to Design Programs" - }, - { - "url": "http://cs.brown.edu/courses/cs173/2012/book/index.html", - "title": "Programming Languages: Application and Interpretation" - }, - { - "url": "http://docs.racket-lang.org/guide/index.html", - "title": "The Racket Guide" - } - ], - "subsections": [] - }, - { - "section": "Raku", - "entries": [ - { - "url": "https://kyclark.gitbooks.io/metagenomics", - "title": "Metagenomics" - }, - { - "url": "https://andrewshitov.com/wp-content/uploads/2020/01/Perl-6-at-a-Glance.pdf", - "title": "Perl 6 at a Glance" - }, - { - "url": "https://raku.guide", - "title": "Raku Guide" - }, - { - "url": "https://andrewshitov.com/wp-content/uploads/2020/01/Raku-One-Liners.pdf", - "title": "Raku One-Liners" - }, - { - "url": "https://en.wikibooks.org/wiki/Raku_Programming", - "title": "Raku Programming" - }, - { - "url": "https://github.com/LaurentRosenfeld/think_raku/raw/master/PDF/think_raku.pdf", - "title": "Think Raku" - }, - { - "url": "https://github.com/perl6/book/", - "title": "Using Perl 6" - }, - { - "url": "https://learnxinyminutes.com/docs/raku/", - "title": "X=Raku" - } - ], - "subsections": [] - }, - { - "section": "Raspberry Pi", - "entries": [ - { - "url": "https://leanpub.com/RPiMRE/read", - "title": "Raspberry Pi: Measure, Record, Explore" - }, - { - "url": "http://www.cs.unca.edu/~bruce/Fall14/360/RPiUsersGuide.pdf", - "title": "Raspberry Pi Users Guide - (2012)" - }, - { - "url": "https://www.raspberrypi.org/magpi-issues/Projects_Book_v1.pdf", - "title": "The Official Raspberry Pi Project Book" - } - ], - "subsections": [] - }, - { - "section": "REBOL", - "entries": [ - { - "url": "http://www.lulu.com/shop/nick-antonaccio/learn-rebol/ebook/product-17383182.html", - "title": "Learn REBOL" - } - ], - "subsections": [] - }, - { - "section": "Ruby", - "entries": [ - { - "url": "https://github.com/bbatsov/ruby-style-guide", - "title": "A community-driven Ruby style guide" - }, - { - "url": "https://www.codecademy.com/learn/ruby", - "title": "CodeCademy Ruby" - }, - { - "url": "https://leanpub.com/developing-games-with-ruby/read", - "title": "Developing Games With Ruby" - }, - { - "url": "https://i-love-ruby.gitlab.io", - "title": "I Love Ruby" - }, - { - "url": "https://launchschool.com/books/ruby", - "title": "Introduction to Programming with Ruby" - }, - { - "url": "http://jasonkim.ca/projects/just_enough_ruby_to_get_by/", - "title": "Just Enough Ruby to Get By" - }, - { - "url": "https://essenceofchaos.gitbooks.io/learn-ruby-first/content/", - "title": "Learn Ruby First" - }, - { - "url": "http://pine.fm/LearnToProgram/", - "title": "Learn to Program" - }, - { - "url": "https://web.archive.org/web/20180321101922/http://www.humblelittlerubybook.com/book/html/index.html", - "title": "Mr. Neighborly's Humble Little Ruby Book" - }, - { - "url": "https://launchschool.com/books/oo_ruby", - "title": "Object Oriented Programming with Ruby" - }, - { - "url": "https://github.com/elm-city-craftworks/practicing-ruby-manuscripts", - "title": "Practicing Ruby" - }, - { - "url": "http://ruby-doc.com/docs/ProgrammingRuby/", - "title": "Programming Ruby" - }, - { - "url": "https://github.com/practicingruby/rbp-book/tree/gh-pages/pdfs", - "title": "Ruby Best Practices" - }, - { - "url": "http://www.techotopia.com/index.php/Ruby_Essentials", - "title": "Ruby Essentials" - }, - { - "url": "http://ruby-hacking-guide.github.io", - "title": "Ruby Hacking Guide" - }, - { - "url": "https://www.ruby-lang.org/en/documentation/quickstart/", - "title": "Ruby in Twenty Minutes" - }, - { - "url": "http://www.rubykoans.com", - "title": "Ruby Koans" - }, - { - "url": "http://rubylearning.com", - "title": "Ruby Learning" - }, - { - "url": "https://goalkicker.com/RubyBook/", - "title": "Ruby Notes for Professionals" - }, - { - "url": "https://learnbyexample.github.io/learn_ruby_oneliners/", - "title": "Ruby one-liners cookbook" - }, - { - "url": "http://www.linuxtopia.org/online_books/programming_books/ruby_tutorial/", - "title": "Ruby Programming" - }, - { - "url": "https://ruby-doc.org/docs/ruby-doc-bundle/UsersGuide/rg/index.html", - "title": "Ruby User's Guide" - }, - { - "url": "https://leanpub.com/rwdtow/read", - "title": "Ruby Web Dev: The Other Way" - }, - { - "url": "https://rubyfu.net", - "title": "Rubyfu" - }, - { - "url": "http://ruby.bastardsbook.com", - "title": "The Bastards Book of Ruby" - }, - { - "url": "http://www.sapphiresteel.com/ruby-programming/The-Book-Of-Ruby.html", - "title": "The Book Of Ruby" - }, - { - "url": "https://www.rubyguides.com/ruby-tutorial/", - "title": "The Definitive Ruby Tutorial For Complete Beginners" - }, - { - "url": "http://www.sapphiresteel.com/ruby-programming/The-Little-Book-Of-Ruby.html", - "title": "The Little Book Of Ruby" - }, - { - "url": "https://rubyreferences.github.io/rubyref/", - "title": "The Ruby Reference" - }, - { - "url": "http://www.caliban.org/ruby/rubyguide.shtml", - "title": "The Unofficial Ruby Usage Guide (at Google)" - }, - { - "url": "https://www.oreilly.com/programming/free/files/using-blocks-in-ruby.pdf", - "title": "Using Blocks in Ruby" - }, - { - "url": "http://poignant.guide", - "title": "Why's (Poignant) Guide to Ruby" - } - ], - "subsections": [ - { - "section": "RSpec", - "entries": [ - { - "url": "http://betterspecs.org", - "title": "Better Specs (RSpec Guidelines with Ruby)" - } - ] - }, - { - "section": "Ruby on Rails", - "entries": [ - { - "url": "https://github.com/bbatsov/rails-style-guide", - "title": "A community-driven Rails style guide" - }, - { - "url": "https://github.com/madeindjs/api_on_rails", - "title": "Api on Rails 6" - }, - { - "url": "http://apionrails.icalialabs.com/book", - "title": "Building REST APIs with Rails" - }, - { - "url": "https://leanpub.com/combinators/read", - "title": "Kestrels, Quirky Birds, and Hopeless Egocentricity" - }, - { - "url": "http://www.thinkful.com/learn/ruby-on-rails-tutorial/", - "title": "Learn Ruby on Rails as You Modify a Craigslist Clone" - }, - { - "url": "https://leanpub.com/learnrubyonrails", - "title": "Learn Ruby on Rails: Book One" - }, - { - "url": "https://web.archive.org/web/20190319201525/http://objectsonrails.com/", - "title": "Objects on Rails" - }, - { - "url": "http://guides.railsgirls.com", - "title": "Rails Girls Guides" - }, - { - "url": "https://books.goalkicker.com/RubyBook/", - "title": "Ruby Notes for Professionals" - }, - { - "url": "http://www.xyzpub.com/en/ruby-on-rails/3.2/", - "title": "Ruby on Rails 3.2 - Step by Step" - }, - { - "url": "http://www.xyzpub.com/en/ruby-on-rails/4.0/", - "title": "Ruby on Rails 4.0 Guide" - }, - { - "url": "http://guides.rubyonrails.org", - "title": "Ruby on Rails Guides" - }, - { - "url": "https://goalkicker.com/RubyOnRailsBook/", - "title": "Ruby on Rails Notes for Professionals" - }, - { - "url": "https://www.railstutorial.org/book", - "title": "Ruby on Rails Tutorial (Rails 5): Learn Web Development with Rails" - }, - { - "url": "https://github.com/alindeman/upgradingtorails4", - "title": "Upgrading to Rails 4" - } - ] - }, - { - "section": "Sinatra", - "entries": [ - { - "url": "https://github.com/sinatra/sinatra-book", - "title": "Sinatra Book" - } - ] - } - ] - }, - { - "section": "Rust", - "entries": [ - { - "url": "https://stevedonovan.github.io/rust-gentle-intro/", - "title": "A Gentle Introduction To Rust" - }, - { - "url": "https://rust-unofficial.github.io/too-many-lists/", - "title": "Learn Rust With Entirely Too Many Linked Lists" - }, - { - "url": "https://doc.rust-lang.org/stable/rust-by-example/", - "title": "Rust by Example" - }, - { - "url": "https://web.archive.org/web/20190520171322/http://www.rustforrubyists.com/book/index.html", - "title": "Rust for Rubyists" - }, - { - "url": "https://github.com/nrc/r4cppp", - "title": "Rust For Systems Programmers" - }, - { - "url": "https://docs.rust-embedded.org/book/intro/index.html", - "title": "The Embedded Rust Book" - }, - { - "url": "https://github.com/rust-lang/reference", - "title": "The Rust Language Reference" - }, - { - "url": "http://doc.rust-lang.org/book/", - "title": "The Rust Programming Language" - }, - { - "url": "https://doc.rust-lang.org/nomicon/", - "title": "The Rustonomicon" - }, - { - "url": "https://www.oreilly.com/content/why-rust/", - "title": "Why Rust?" - } - ], - "subsections": [] - }, - { - "section": "Sage", - "entries": [ - { - "url": "http://wstein.org/books/sagebook/sagebook.pdf", - "title": "Sage for Power Users" - }, - { - "url": "http://www.sagemath.org/doc/", - "title": "The Sage Manuals" - } - ], - "subsections": [] - }, - { - "section": "Scala", - "entries": [ - { - "url": "https://docs.scala-lang.org/tutorials/scala-for-java-programmers.html", - "title": "A Scala Tutorial for Java programmers" - }, - { - "url": "http://underscore.io/books/advanced-scala/", - "title": "Advanced Scala with Cats" - }, - { - "url": "https://web.archive.org/web/20190629103826/http://naildrivin5.com/scalatour/", - "title": "Another tour of Scala" - }, - { - "url": "http://underscore.io/books/creative-scala/", - "title": "Creative Scala" - }, - { - "url": "https://github.com/alexanderfefelov/eai-patterns-with-actor-model", - "title": "EAI Patterns with Actor Model" - }, - { - "url": "https://twitter.github.io/effectivescala/", - "title": "Effective Scala" - }, - { - "url": "http://underscore.io/books/essential-scala/", - "title": "Essential Scala" - }, - { - "url": "https://leanpub.com/fpmortals/read", - "title": "Functional Programming for Mortals" - }, - { - "url": "https://alvinalexander.com/photos/functional-programming-simplied-free-pdf-preview", - "title": "Functional Programming, Simplified (Scala edition)" - }, - { - "url": "https://alvinalexander.com/photos/hello-scala-free-pdf-preview", - "title": "Hello, Scala" - }, - { - "url": "http://matt.might.net/articles/learning-scala-in-small-bites/", - "title": "Learning Scala in small bites" - }, - { - "url": "http://eed3si9n.com/learning-scalaz/", - "title": "Learning Scalaz" - }, - { - "url": "https://github.com/leithaus/XTrace/tree/monadic/src/main/book/content/", - "title": "Pro Scala: Monadic Design Patterns for the Web" - }, - { - "url": "http://www.artima.com/pins1ed/", - "title": "Programming in Scala, First Edition" - }, - { - "url": "https://leanpub.com/pfhais/read", - "title": "Pure functional HTTP APIs in Scala" - }, - { - "url": "https://wrobstory.gitbooks.io/python-to-scala/content/", - "title": "PythonToScala" - }, - { - "url": "http://aperiodic.net/phil/scala/s-99/", - "title": "S-99: Ninety-Nine Scala Problems" - }, - { - "url": "http://www.scala-lang.org/old/sites/default/files/FrederikThesis.pdf", - "title": "Scala & Design Patterns: Exploring Language Expressivity" - }, - { - "url": "https://www.scala-lang.org/old/sites/default/files/linuxsoft_archives/docu/files/ScalaByExample.pdf", - "title": "Scala By Example" - }, - { - "url": "http://examples.oreilly.com/9781449339616-files/Scala_Cookbook_bonus_chapters.pdf", - "title": "Scala Cookbook: Bonus Chapters" - }, - { - "url": "https://github.com/garu/scala-for-perl5-programmers", - "title": "Scala for Perl 5 Programmers" - }, - { - "url": "http://twitter.github.io/scala_school/", - "title": "Scala School by Twitter" - }, - { - "url": "https://www.syncfusion.com/ebooks/scala_succinctly", - "title": "Scala Succinctly" - }, - { - "url": "https://www.tutorialspoint.com/scala", - "title": "Scala Tutorial" - }, - { - "url": "http://eed3si9n.com/tetrix-in-scala-html5-book", - "title": "tetrix in Scala" - }, - { - "url": "http://danielwestheide.com/scala/neophytes.html", - "title": "The Neophyte's Guide to Scala" - }, - { - "url": "http://underscore.io/books/shapeless-guide/", - "title": "The Type Astronaut's Guide to Shapeless" - }, - { - "url": "https://github.com/leithaus/XTrace/tree/monadic/src/main/book/content/", - "title": "Xtrace" - } - ], - "subsections": [ - { - "section": "Lift", - "entries": [ - { - "url": "http://exploring.liftweb.net", - "title": "Exploring Lift" - }, - { - "url": "https://github.com/tjweir/liftbook", - "title": "Lift" - }, - { - "url": "https://www.oreilly.com/library/view/lift-cookbook/9781449365042/", - "title": "Lift Cookbook" - }, - { - "url": "http://simply.liftweb.net/Simply_Lift.pdf", - "title": "Simply Lift" - } - ] - }, - { - "section": "Play Scala", - "entries": [ - { - "url": "http://underscore.io/books/essential-play/", - "title": "Essential Play" - }, - { - "url": "http://alvinalexander.com/scala/scala-cookbook-play-framework-recipes-pdf-ebook", - "title": "Play Framework Recipes" - } - ] - } - ] - }, - { - "section": "Scheme", - "entries": [ - { - "url": "https://panicz.github.io/pamphlet/", - "title": "A Pamphlet Against R. Computational Intelligence in Guile Scheme" - }, - { - "url": "http://www.cs.rpi.edu/academics/courses/fall00/ai/scheme/reference/schintro-v14/schintro_toc.html", - "title": "An Introduction to Scheme and its Implementation" - }, - { - "url": "https://gustavus.edu/+max/concrete-abstractions.html", - "title": "Concrete Abstractions: An Introduction to Computer Science Using Scheme" - }, - { - "url": "http://www.cs.hut.fi/Studies/T-93.210/schemetutorial/", - "title": "Scheme Tutorial" - }, - { - "url": "http://www.cs.berkeley.edu/~bh/ss-toc2.html", - "title": "Simply Scheme: Introducing Computer Science" - }, - { - "url": "https://ds26gte.github.io/tyscheme/index-Z-H-1.html", - "title": "Teach Yourself Scheme in Fixnum Days" - }, - { - "url": "http://www.scheme.com/tspl3/", - "title": "The Scheme Programming Language: Edition 3" - }, - { - "url": "https://en.wikibooks.org/wiki/Write_Yourself_a_Scheme_in_48_Hours", - "title": "Write Yourself a Scheme in 48 Hours" - } - ], - "subsections": [] - }, - { - "section": "Scilab", - "entries": [ - { - "url": "http://forge.scilab.org/index.php/p/docintrotoscilab/downloads/", - "title": "Introduction to Scilab" - }, - { - "url": "http://forge.scilab.org/index.php/p/docprogscilab/downloads/", - "title": "Programming in Scilab" - }, - { - "url": "http://forge.scilab.org/index.php/p/docsciextensions/downloads/", - "title": "Writing Scilab Extensions" - } - ], - "subsections": [] - }, - { - "section": "Scratch", - "entries": [ - { - "url": "http://scratched.gse.harvard.edu/guide/download.html", - "title": "An Introductory Computing Curriculum Using Scratch" - }, - { - "url": "https://stwww1.weizmann.ac.il/scratch/scratch_en/", - "title": "Computer Science Concepts in Scratch" - }, - { - "url": "https://www.raspberrypi.org/magpi-issues/Essentials_Scratch_v1.pdf", - "title": "Learn to Code with Scratch" - }, - { - "url": "https://inventwithscratch.com/book/", - "title": "Scratch Programming Playground" - } - ], - "subsections": [] - }, - { - "section": "Sed", - "entries": [ - { - "url": "https://learnbyexample.github.io/learn_gnused/", - "title": "GNU sed" - }, - { - "url": "https://www.grymoire.com/Unix/Sed.html", - "title": "Sed - An Introduction and Tutorial" - } - ], - "subsections": [] - }, - { - "section": "Self", - "entries": [ - { - "url": "http://handbook.selflanguage.org", - "title": "The Self Handbook" - } - ], - "subsections": [] - }, - { - "section": "Smalltalk", - "entries": [ - { - "url": "http://books.pharo.org/deep-into-pharo/", - "title": "Deep into Pharo" - }, - { - "url": "http://book.seaside.st/book/table-of-contents", - "title": "Dynamic Web Development with Seaside" - }, - { - "url": "http://books.pharo.org/enterprise-pharo/", - "title": "Enterprise Pharo: a Web Perspective" - }, - { - "url": "http://books.pharo.org/numerical-methods/", - "title": "Numerical Methods with Pharo" - }, - { - "url": "http://books.pharo.org/pharo-by-example/", - "title": "Pharo by Example" - }, - { - "url": "http://stephane.ducasse.free.fr/FreeBooks.html", - "title": "Stef's Free Online Smalltalk Books" - } - ], - "subsections": [] - }, - { - "section": "Snap", - "entries": [ - { - "url": "https://snap.berkeley.edu/snapsource/help/SnapManual.pdf", - "title": "Snap! Reference Manual" - } - ], - "subsections": [] - }, - { - "section": "Spark", - "entries": [ - { - "url": "https://www.gitbook.com/book/databricks/databricks-spark-knowledge-base/details", - "title": "Databricks Spark Knowledge Base" - }, - { - "url": "https://www.gitbook.com/book/databricks/databricks-spark-reference-applications/details", - "title": "Databricks Spark Reference Applications" - }, - { - "url": "https://www.gitbook.com/book/jaceklaskowski/mastering-apache-spark/details", - "title": "Mastering Apache Spark" - } - ], - "subsections": [] - }, - { - "section": "Splunk", - "entries": [ - { - "url": "https://www.packtpub.com/free-ebooks/splunk-7x-quick-start-guide", - "title": "Splunk 7.x Quick Start Guide" - } - ], - "subsections": [] - }, - { - "section": "SQL (implementation agnostic)", - "entries": [ - { - "url": "https://www2.cs.arizona.edu/~rts/tdbbook.pdf", - "title": "Developing Time-Oriented Database Applications in SQL" - }, - { - "url": "https://github.com/bobbyiliev/introduction-to-sql", - "title": "Introduction to SQL" - }, - { - "url": "http://philip.greenspun.com/sql/", - "title": "SQL For Web Nerds" - }, - { - "url": "http://goalkicker.com/SQLBook/", - "title": "SQL Notes for Professionals" - }, - { - "url": "https://www.syncfusion.com/ebooks/sql_queries_succinctly", - "title": "SQL Queries Succinctly" - }, - { - "url": "http://use-the-index-luke.com", - "title": "Use The Index, Luke!: A Guide To SQL Database Performance" - } - ], - "subsections": [] - }, - { - "section": "SQL Server", - "entries": [ - { - "url": "http://www.red-gate.com/community/books/ssc-7", - "title": "Best of SQLServerCentral.com Vol 7" - }, - { - "url": "http://www.red-gate.com/community/books/sql-server-maintenance-plans", - "title": "Brad's Sure Guide to SQL Server Maintenance Plans" - }, - { - "url": "https://www.red-gate.com/library/defensive-database-programming", - "title": "Defensive Database Programming" - }, - { - "url": "https://www.red-gate.com/library/fundamentals-of-sql-server-2012-replication", - "title": "Fundamentals Of SQL Server 2012 Replication" - }, - { - "url": "http://www.red-gate.com/community/books/exceptional-dba-book", - "title": "How to Become an Exceptional DBA, Second edition" - }, - { - "url": "http://www.red-gate.com/products/sql-development/sql-prompt/entrypage/sql-query-optimizer-ebook3", - "title": "Inside the SQL Server Query Optimizer" - }, - { - "url": "http://social.technet.microsoft.com/wiki/contents/articles/11608.e-book-gallery-for-microsoft-technologies-en.aspx#IntroducingMicrosoftSQLServer2008R2", - "title": "Introducing Microsoft SQL Server 2008 R2" - }, - { - "url": "http://social.technet.microsoft.com/wiki/contents/articles/11608.e-book-gallery-for-microsoft-technologies-en.aspx#IntroducingMicrosoftSQLServer2012", - "title": "Introducing Microsoft SQL Server 2012" - }, - { - "url": "http://blogs.msdn.com/b/microsoft_press/archive/2014/04/02/free-ebook-introducing-microsoft-sql-server-2014.aspx", - "title": "Introducing Microsoft SQL Server 2014" - }, - { - "url": "http://www.red-gate.com/community/books/mastering-sql-server-profiler", - "title": "Mastering SQL Server Profiler" - }, - { - "url": "http://goalkicker.com/MicrosoftSQLServerBook/", - "title": "Microsoft SQL Server Notes for Professionals" - }, - { - "url": "http://www.red-gate.com/community/books/dynamic-management-views", - "title": "Performance Tuning with SQL Server Dynamic Management Views" - }, - { - "url": "http://www.red-gate.com/community/books/protecting-data", - "title": "Protecting SQL Server Data" - }, - { - "url": "http://social.technet.microsoft.com/wiki/contents/articles/11608.e-book-gallery-for-microsoft-technologies-en.aspx#SQLServer2012Tutorials%3AReportingServices", - "title": "SQL Server 2012 Tutorials: Reporting Services" - }, - { - "url": "https://www.packtpub.com/free-ebooks/sql-server-2017-administrators-guide", - "title": "SQL Server 2017 Administrator's Guide" - }, - { - "url": "http://www.red-gate.com/community/books/sql-server-backup-and-restore", - "title": "SQL Server Backup and Restore" - }, - { - "url": "https://assets.red-gate.com/community/books/sql-server-execution-plans-3rd-edition.pdf", - "title": "SQL Server Execution Plans, Third Edition" - }, - { - "url": "https://www.syncfusion.com/ebooks/sql_server_for_c_sharp_developers_succinctly", - "title": "SQL Server for C# Developers Succinctly" - }, - { - "url": "http://www.red-gate.com/community/books/sql-server-hardware", - "title": "SQL Server Hardware" - }, - { - "url": "http://www.red-gate.com/library/sql-server-internals-in-memory-oltp", - "title": "SQL Server Internals: In-Memory OLTP" - }, - { - "url": "https://www.syncfusion.com/ebooks/sql-server-metadata-succinctly", - "title": "SQL Server Metadata Succinctly" - }, - { - "url": "https://www.red-gate.com/products/sql-development/sql-source-control/entrypage/sql-server-source-control-basics", - "title": "SQL Server Source Control Basics" - }, - { - "url": "http://www.red-gate.com/community/books/sql-server-statistics", - "title": "SQL Server Statistics" - }, - { - "url": "http://www.red-gate.com/community/books/sql-server-stumpers-v5", - "title": "SQL Server Stumpers Vol.5" - }, - { - "url": "http://www.red-gate.com/community/books/sql-server-tacklebox", - "title": "SQL Server Tacklebox" - }, - { - "url": "http://www.red-gate.com/community/books/sql-server-transaction-log-management", - "title": "SQL Server Transaction Log Management" - }, - { - "url": "http://www.red-gate.com/community/books/art-of-filestream", - "title": "The Art of SQL Server FILESTREAM" - }, - { - "url": "https://www.red-gate.com/library/the-art-of-xsd", - "title": "The Art of XSD" - }, - { - "url": "https://www.red-gate.com/library/the-best-of-sqlservercentral-com-vol-7", - "title": "The Best of SQLServerCentral.com Vol 7" - }, - { - "url": "https://www.red-gate.com/library/the-redgate-guide-to-sql-server-team-based-development", - "title": "The Redgate Guide to SQL Server Team-based Development" - }, - { - "url": "http://www.red-gate.com/community/books/accidental-dba", - "title": "Troubleshooting SQL Server: A Guide for the Accidental DBA" - } - ], - "subsections": [] - }, - { - "section": "Standard ML", - "entries": [ - { - "url": "http://www.pllab.riec.tohoku.ac.jp/smlsharp/smlIntroSlides.pdf", - "title": "Introduction to Standard ML" - }, - { - "url": "https://www.cl.cam.ac.uk/~lp15/MLbook/pub-details.html", - "title": "ML for the Working Programmer, 2nd Edition" - }, - { - "url": "http://homepages.inf.ed.ac.uk/stg/NOTES/", - "title": "Programming in Standard ML '97" - }, - { - "url": "http://www.cs.cmu.edu/~rwh/isml/book.pdf", - "title": "Programming in Standard ML, DRAFT" - }, - { - "url": "http://www.pllab.riec.tohoku.ac.jp/smlsharp/docs/3.0/en/manual.xhtml", - "title": "SML# Document" - }, - { - "url": "http://sml-family.org/sml97-defn.pdf", - "title": "The Definition of Standard ML (Revised)" - } - ], - "subsections": [] - }, - { - "section": "Subversion", - "entries": [ - { - "url": "http://ptgmedia.pearsoncmg.com/images/0131855182/downloads/Nagel_book.pdf", - "title": "Subversion Version Control" - }, - { - "url": "http://svnbook.red-bean.com", - "title": "Version Control with Subversion" - } - ], - "subsections": [] - }, - { - "section": "Swift", - "entries": [ - { - "url": "https://essential-swift.programming-books.io", - "title": "Essential Swift" - }, - { - "url": "https://www.hackingwithswift.com", - "title": "Hacking with Swift" - }, - { - "url": "https://goalkicker.com/SwiftBook/", - "title": "Swift Notes for Professionals" - }, - { - "url": "https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/index.html", - "title": "The Swift Programming Language" - }, - { - "url": "https://developer.apple.com/library/content//documentation/Swift/Conceptual/BuildingCocoaApps/index.html", - "title": "Using Swift with Cocoa and Objective-C" - } - ], - "subsections": [ - { - "section": "Vapor", - "entries": [ - { - "url": "https://theswiftdev.com/2018/04/09/vapor-3-tutorial-for-beginners", - "title": "Vapor 3 Tutorial For Beginners" - }, - { - "url": "https://docs.vapor.codes", - "title": "Vapor Official Docs" - } - ] - } - ] - }, - { - "section": "Tcl", - "entries": [ - { - "url": "https://en.wikibooks.org/wiki/Programming%3ATcl", - "title": "Tcl Programming" - } - ], - "subsections": [] - }, - { - "section": "TEI", - "entries": [ - { - "url": "https://books.openedition.org/oep/426", - "title": "What is the Text Encoding Initiative?" - } - ], - "subsections": [] - }, - { - "section": "Teradata", - "entries": [ - { - "url": "http://www.info.teradata.com", - "title": "Teradata Books" - } - ], - "subsections": [] - }, - { - "section": "Tizen", - "entries": [ - { - "url": "https://developer.tizen.org/sites/default/files/documentation/guide_to_developing_tizen_native_application_en_2.pdf", - "title": "Guide to Developing Tizen Native Application" - } - ], - "subsections": [] - }, - { - "section": "TLA", - "entries": [ - { - "url": "http://research.microsoft.com/en-us/um/people/lamport/tla/book.html", - "title": "Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers" - } - ], - "subsections": [] - }, - { - "section": "TypeScript", - "entries": [ - { - "url": "https://learnxinyminutes.com/docs/typescript/", - "title": "Learn TypeScript in Y Minutes" - }, - { - "url": "https://accelerated.amimetic.co.uk", - "title": "TypeScript Accelerated" - }, - { - "url": "https://basarat.gitbooks.io/typescript/", - "title": "TypeScript Deep Dive" - }, - { - "url": "http://www.infoq.com/minibooks/typescript-c-sharp-programmers", - "title": "TypeScript for C# Programmers" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/typescript", - "title": "TypeScript Succinctly, Syncfusion" - } - ], - "subsections": [ - { - "section": "Angular", - "entries": [ - { - "url": "https://github.com/johnpapa/angular-styleguide/blob/master/a2/README.md", - "title": "Angular 2 Style Guide" - }, - { - "url": "https://goalkicker.com/Angular2Book/", - "title": "Angular 2+ Notes for Professionals" - }, - { - "url": "https://angular.io/docs", - "title": "Angular Docs" - }, - { - "url": "https://material.angular.io/guide", - "title": "Angular Material" - }, - { - "url": "https://angular.io/tutorial", - "title": "Angular Tutorial" - }, - { - "url": "https://www.c-sharpcorner.com/ebooks/build-a-full-stack-web-application-using-angular-and-firebase", - "title": "Build a Full-Stack Web Application Using Angular & Firebase" - } - ] - }, - { - "section": "Deno", - "entries": [ - { - "url": "https://deno.land/manual", - "title": "Deno Manual" - }, - { - "url": "https://flaviocopes.com/deno", - "title": "FlavioCopes Deno Handbook" - } - ] - } - ] - }, - { - "section": "Unix", - "entries": [ - { - "url": "http://www.oliverelliott.org/article/computing/tut_unix/", - "title": "An Introduction to Unix" - }, - { - "url": "http://beej.us/guide/bgipc/", - "title": "Beej's Guide to Unix Interprocess Communication" - }, - { - "url": "http://www.lemis.com/grog/Documentation/Lions/", - "title": "Commentary on the Sixth Edition UNIX Operating System" - }, - { - "url": "https://homepages.uc.edu/~thomam/Intro_Unix_Text/TOC.html", - "title": "INTRODUCTION TO UNIX" - }, - { - "url": "https://github.com/mrzool/unix-as-ide", - "title": "Unix as IDE" - }, - { - "url": "http://www.cs.bu.edu/teaching/unix/reference/", - "title": "UNIX Commands and Concepts" - }, - { - "url": "http://web.stanford.edu/class/cs124/kwc-unix-for-poets.pdf", - "title": "Unix for Poets" - }, - { - "url": "http://cb.vu/unixtoolbox.xhtml", - "title": "Unix Toolbox" - }, - { - "url": "http://www.ee.surrey.ac.uk/Teaching/Unix/", - "title": "UNIX Tutorial for Beginners" - } - ], - "subsections": [] - }, - { - "section": "Verilog", - "entries": [ - { - "url": "https://zipcpu.com/tutorial/", - "title": "Verilog, Formal Verification and Verilator Beginner's Tutorial" - }, - { - "url": "http://sutherland-hdl.com/pdfs/verilog_2001_ref_guide.pdf", - "title": "Verilog Quick Reference Guide - Sutherland HDL" - }, - { - "url": "http://www.asic-world.com/verilog/veritut.html", - "title": "Verilog Tutorial" - } - ], - "subsections": [] - }, - { - "section": "VHDL", - "entries": [ - { - "url": "https://github.com/fabriziotappero/Free-Range-VHDL-book", - "title": "Free Range VHDL" - }, - { - "url": "http://www.seas.upenn.edu/~ese171/vhdl/vhdl_primer.html", - "title": "VHDL Tutorial" - }, - { - "url": "http://esd.cs.ucr.edu/labs/tutorial/", - "title": "VHDL Tutorial: Learn By Example" - } - ], - "subsections": [] - }, - { - "section": "Vim", - "entries": [ - { - "url": "http://www.swaroopch.com/notes/vim/", - "title": "A Byte of Vim" - }, - { - "url": "https://github.com/iggredible/Learn-Vim", - "title": "Learn Vim (the Smart Way)" - }, - { - "url": "http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/", - "title": "Learn Vim Progressively" - }, - { - "url": "http://learnvimscriptthehardway.stevelosh.com", - "title": "Learn Vimscript the Hard Way" - }, - { - "url": "https://leanpub.com/VimLikeAPro", - "title": "Use Vim Like A Pro" - }, - { - "url": "http://www.truth.sk/vim/vimbook-OPL.pdf", - "title": "Vi Improved -- Vim" - }, - { - "url": "https://github.com/mhinz/vim-galore#readme", - "title": "VIM-GALORE - All things Vim!" - }, - { - "url": "https://web.archive.org/web/20130302172911/http://vim.runpaint.org/vim-recipes.pdf", - "title": "Vim Recipes" - }, - { - "url": "http://vimregex.com", - "title": "Vim Regular Expressions 101" - } - ], - "subsections": [] - }, - { - "section": "Visual Basic", - "entries": [ - { - "url": "https://goalkicker.com/VisualBasic_NETBook/", - "title": "Visual Basic .NET Notes for Professionals" - }, - { - "url": "http://www.techotopia.com/index.php/Visual_Basic_Essentials", - "title": "Visual Basic Essentials" - }, - { - "url": "https://docs.microsoft.com/en-us/dotnet/visual-basic", - "title": "Visual Basic Official Docs" - } - ], - "subsections": [] - }, - { - "section": "Visual Prolog", - "entries": [ - { - "url": "http://wiki.visual-prolog.com/index.php?title=A_Beginners_Guide_to_Visual_Prolog", - "title": "A Beginners' Guide to Visual Prolog" - }, - { - "url": "http://wiki.visual-prolog.com/index.php?title=Visual_Prolog_for_Tyros", - "title": "Visual Prolog for Tyros" - } - ], - "subsections": [] - }, - { - "section": "Web Services", - "entries": [ - { - "url": "http://restfulwebapis.org/RESTful_Web_Services.pdf", - "title": "RESTful Web Services" - } - ], - "subsections": [] - }, - { - "section": "Windows 8", - "entries": [ - { - "url": "https://web.archive.org/web/20150624142410/http://download.microsoft.com/download/6/6/5/665AF7A6-2184-45DC-B9DA-C89185B01937/Microsoft_Press_eBook_Programming_Windows_8_Apps_HTML_CSS_JavaScript_2E_PDF.pdf", - "title": "Programming Windows Store Apps with HTML, CSS, and JavaScript, Second Edition" - } - ], - "subsections": [] - }, - { - "section": "Windows Phone", - "entries": [ - { - "url": "http://coolthingoftheday.blogspot.co.uk/2012/05/free-ebook-guidance-advanced-windows.html", - "title": "Developing An Advanced Windows Phone 7.5 App That Connects To The Cloud" - }, - { - "url": "https://www.syncfusion.com/resources/techportal/ebooks/windowsphone8", - "title": "Windows Phone 8 Development Succinctly" - }, - { - "url": "http://channel9.msdn.com/Series/Windows-Phone-8-1-Development-for-Absolute-Beginners", - "title": "Windows Phone 8.1 Development for Absolute Beginners" - }, - { - "url": "http://www.robmiles.com/c-yellow-book/", - "title": "Windows Phone Programming Blue Book" - } - ], - "subsections": [] - }, - { - "section": "Workflow", - "entries": [ - { - "url": "https://leanpub.com/declarepeaceonvms/read", - "title": "Declare Peace on Virtual Machines. A guide to simplifying vm-based development on a Mac" - } - ], - "subsections": [] - }, - { - "section": "xBase (dBase / Clipper / Harbour)", - "entries": [ - { - "url": "https://en.wikibooks.org/wiki/Application_Development_with_Harbour", - "title": "Application Development with Harbour" - }, - { - "url": "https://web.archive.org/web/20190516192814/http://www.ousob.com/ng/clguide/", - "title": "CA-Clipper 5.2 Norton Guide" - }, - { - "url": "https://en.wikibooks.org/wiki/Clipper_Tutorial%3A_a_Guide_to_Open_Source_Clipper(s)", - "title": "Clipper Tutorial: a Guide to Open Source Clipper(s)" - } - ], - "subsections": [] - } - ] - } - ] - } - ] -} \ No newline at end of file