From 63c8d394cc1338ee0bee04dab3cbfcb3bf67744d Mon Sep 17 00:00:00 2001 From: 3zachm <3zachm2@gmail.com> Date: Sat, 10 Dec 2022 02:49:13 -0800 Subject: [PATCH 1/6] add sharp for images --- package-lock.json | 682 +++++++++++++++++++++++++++++++++++++++++++++- package.json | 1 + 2 files changed, 679 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 523725a..841dc3b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,6 +15,7 @@ "next": "13.0.4", "react": "18.2.0", "react-dom": "18.2.0", + "sharp": "^0.31.2", "typescript": "4.9.3" }, "devDependencies": { @@ -900,6 +901,25 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -909,6 +929,16 @@ "node": ">=8" } }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -957,6 +987,29 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -1055,6 +1108,11 @@ "node": ">= 6" } }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -1105,6 +1163,18 @@ "node": ">=0.10.0" } }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1121,6 +1191,15 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, "node_modules/colorette": { "version": "2.0.19", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", @@ -1203,6 +1282,28 @@ } } }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -1248,6 +1349,14 @@ "node": ">=0.10" } }, + "node_modules/detect-libc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==", + "engines": { + "node": ">=8" + } + }, "node_modules/detective": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", @@ -1316,6 +1425,14 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, "node_modules/enhanced-resolve": { "version": "5.10.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", @@ -1863,6 +1980,14 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "engines": { + "node": ">=6" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -2016,6 +2141,11 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2113,6 +2243,11 @@ "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + }, "node_modules/glob": { "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", @@ -2288,6 +2423,25 @@ "url": "https://github.com/sponsors/typicode" } }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -2342,6 +2496,11 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, "node_modules/internal-slot": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", @@ -2388,6 +2547,11 @@ "node": ">=6" } }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, "node_modules/is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", @@ -3039,6 +3203,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -3058,6 +3233,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -3074,6 +3254,11 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -3154,6 +3339,22 @@ "node": "^10 || ^12 || >=14" } }, + "node_modules/node-abi": { + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.30.0.tgz", + "integrity": "sha512-qWO5l3SCqbwQavymOmtTVuCWZE23++S+rxyoHjXqUmPyzRcaoI4lA2gO55/drddGnedAyjA7sk76SfQ5lfUMnw==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz", + "integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==" + }, "node_modules/node-releases": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", @@ -3622,6 +3823,31 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, + "node_modules/prebuild-install": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -3667,6 +3893,15 @@ "react-is": "^16.13.1" } }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -3706,6 +3941,28 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/react": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", @@ -3743,6 +4000,19 @@ "pify": "^2.3.0" } }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -3932,6 +4202,25 @@ "tslib": "^2.1.0" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/safe-regex-test": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", @@ -3967,6 +4256,28 @@ "node": ">=10" } }, + "node_modules/sharp": { + "version": "0.31.2", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.31.2.tgz", + "integrity": "sha512-DUdNVEXgS5A97cTagSLIIp8dUZ/lZtk78iNVZgHdHbx1qnQR7JAHY0BnXnwwH39Iw+VKhO08CTYhIg0p98vQ5Q==", + "hasInstallScript": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.1", + "node-addon-api": "^5.0.0", + "prebuild-install": "^7.1.1", + "semver": "^7.3.8", + "simple-get": "^4.0.1", + "tar-fs": "^2.1.1", + "tunnel-agent": "^0.6.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -4005,6 +4316,57 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -4054,6 +4416,14 @@ "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==" }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/string-argv": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", @@ -4315,6 +4685,32 @@ "node": ">=6" } }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -4381,6 +4777,17 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -4474,8 +4881,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/which": { "version": "2.0.2", @@ -5175,12 +5581,27 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, "binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -5210,6 +5631,15 @@ "update-browserslist-db": "^1.0.9" } }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -5271,6 +5701,11 @@ } } }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, "clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -5306,6 +5741,15 @@ "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==" }, + "color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "requires": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + } + }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -5319,6 +5763,15 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, "colorette": { "version": "2.0.19", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", @@ -5376,6 +5829,19 @@ "ms": "2.1.2" } }, + "decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "requires": { + "mimic-response": "^3.1.0" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==" + }, "deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -5406,6 +5872,11 @@ "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz", "integrity": "sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==" }, + "detect-libc": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", + "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==" + }, "detective": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", @@ -5462,6 +5933,14 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, "enhanced-resolve": { "version": "5.10.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", @@ -5868,6 +6347,11 @@ "strip-final-newline": "^3.0.0" } }, + "expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -5993,6 +6477,11 @@ } } }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -6056,6 +6545,11 @@ "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.2.0.tgz", "integrity": "sha512-X8u8fREiYOE6S8hLbq99PeykTDoLVnxvF4DjWKJmz9xy2nNRdUcV8ZN9tniJFeKyTU3qnC9lL8n4Chd6LmVKHg==" }, + "github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + }, "glob": { "version": "7.1.7", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", @@ -6174,6 +6668,11 @@ "integrity": "sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==", "dev": true }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, "ignore": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", @@ -6213,6 +6712,11 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, "internal-slot": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", @@ -6248,6 +6752,11 @@ } } }, + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, "is-bigint": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", @@ -6701,6 +7210,11 @@ "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true }, + "mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==" + }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -6714,6 +7228,11 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -6724,6 +7243,11 @@ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==" }, + "napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + }, "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", @@ -6767,6 +7291,19 @@ } } }, + "node-abi": { + "version": "3.30.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.30.0.tgz", + "integrity": "sha512-qWO5l3SCqbwQavymOmtTVuCWZE23++S+rxyoHjXqUmPyzRcaoI4lA2gO55/drddGnedAyjA7sk76SfQ5lfUMnw==", + "requires": { + "semver": "^7.3.5" + } + }, + "node-addon-api": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.0.0.tgz", + "integrity": "sha512-CvkDw2OEnme7ybCykJpVcKH+uAOLV2qLqiyla128dN9TkEWfrYmxG6C2boDe5KcNQqZF3orkqzGgOMvZ/JNekA==" + }, "node-releases": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", @@ -7059,6 +7596,25 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, + "prebuild-install": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "requires": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + } + }, "prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -7087,6 +7643,15 @@ "react-is": "^16.13.1" } }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, "punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", @@ -7103,6 +7668,24 @@ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "dev": true }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==" + } + } + }, "react": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", @@ -7134,6 +7717,16 @@ "pify": "^2.3.0" } }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, "readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -7259,6 +7852,11 @@ "tslib": "^2.1.0" } }, + "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==" + }, "safe-regex-test": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", @@ -7285,6 +7883,21 @@ "lru-cache": "^6.0.0" } }, + "sharp": { + "version": "0.31.2", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.31.2.tgz", + "integrity": "sha512-DUdNVEXgS5A97cTagSLIIp8dUZ/lZtk78iNVZgHdHbx1qnQR7JAHY0BnXnwwH39Iw+VKhO08CTYhIg0p98vQ5Q==", + "requires": { + "color": "^4.2.3", + "detect-libc": "^2.0.1", + "node-addon-api": "^5.0.0", + "prebuild-install": "^7.1.1", + "semver": "^7.3.8", + "simple-get": "^4.0.1", + "tar-fs": "^2.1.1", + "tunnel-agent": "^0.6.0" + } + }, "shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -7314,6 +7927,29 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, + "simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==" + }, + "simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "requires": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "requires": { + "is-arrayish": "^0.3.1" + } + }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -7347,6 +7983,14 @@ "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==" }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, "string-argv": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", @@ -7522,6 +8166,29 @@ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==" }, + "tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + } + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -7581,6 +8248,14 @@ } } }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "requires": { + "safe-buffer": "^5.0.1" + } + }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -7637,8 +8312,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "which": { "version": "2.0.2", diff --git a/package.json b/package.json index 45a5157..51afc68 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "next": "13.0.4", "react": "18.2.0", "react-dom": "18.2.0", + "sharp": "^0.31.2", "typescript": "4.9.3" }, "devDependencies": { From d2d4ee58138201e9f6c2b8533e4b2afbec9ff0aa Mon Sep 17 00:00:00 2001 From: 3zachm <3zachm2@gmail.com> Date: Sat, 10 Dec 2022 02:54:00 -0800 Subject: [PATCH 2/6] head metadata and team init --- layouts/HomeLayout.tsx | 17 +++++-- layouts/NavTemplates.tsx | 3 +- pages/about.tsx | 11 +++-- pages/contact.tsx | 11 +++-- pages/index.tsx | 96 ++++++++++++++++++++++------------------ pages/team.tsx | 23 ++++++++++ 6 files changed, 107 insertions(+), 54 deletions(-) create mode 100644 pages/team.tsx diff --git a/layouts/HomeLayout.tsx b/layouts/HomeLayout.tsx index 129586d..8d87cff 100644 --- a/layouts/HomeLayout.tsx +++ b/layouts/HomeLayout.tsx @@ -20,16 +20,27 @@ function HomeLayout(props: HomeLayoutProps) { <> <Head> <title>InvestBot</title> - <meta name="description" content="Temporary home :)" /> + <meta name="description" content="Serving anny's community est. 2022" /> <link rel="icon" href="/favicon.ico" /> + <meta name="theme-color" content="#c084fc" /> + <meta property="og:title" content="InvestBot" /> + <meta + property="og:description" + content="Serving anny's community est. 2022" + /> + <meta property="og:image" content="/img/logo.webp" /> + <meta property="og:type" content="website" /> + <meta property="og:site_name" content="InvestBot" /> </Head> + <LazyMotion features={domAnimation}> - <AnimatePresence exitBeforeEnter> + <AnimatePresence mode="wait"> <NavBar options={navOptions} /> </AnimatePresence> </LazyMotion> + <LazyMotion features={domAnimation}> - <AnimatePresence exitBeforeEnter> + <AnimatePresence mode="wait"> <m.div key={router.route.concat("layout-fade")} className="h-screen w-screen" diff --git a/layouts/NavTemplates.tsx b/layouts/NavTemplates.tsx index b0ba0c3..1f2fe5e 100644 --- a/layouts/NavTemplates.tsx +++ b/layouts/NavTemplates.tsx @@ -27,7 +27,7 @@ const DefaultNavOption = ({ }} > <Link href={href} key={label}> - <p className="pointer-events-auto relative select-none pl-3 pr-3 text-white md:pl-5 md:pr-5"> + <p className="pointer-events-auto relative select-none pl-3 pr-3 font-plusJakarta text-white md:pl-5 md:pr-5"> {label} </p> </Link> @@ -42,6 +42,7 @@ interface NavTemplate { const homeMain: NavTemplate[] = [ { content: <DefaultNavOption label="Home" href="/" /> }, { content: <DefaultNavOption label="About" href="/about" /> }, + { content: <DefaultNavOption label="Team" href="/team" /> }, { content: <DefaultNavOption label="Contact" href="/contact" /> }, ]; diff --git a/pages/about.tsx b/pages/about.tsx index e42f884..31ac4db 100644 --- a/pages/about.tsx +++ b/pages/about.tsx @@ -5,9 +5,14 @@ import { homeMain } from "../layouts/NavTemplates"; function About() { return ( - <div className="flex min-h-screen flex-col items-center justify-center py-2"> - <p>about</p> - </div> + <> + <Head> + <title>About - InvestBot</title> + </Head> + <div className="flex min-h-screen flex-col items-center justify-center py-2"> + <p>about</p> + </div> + </> ); } diff --git a/pages/contact.tsx b/pages/contact.tsx index 407bd17..1440cf4 100644 --- a/pages/contact.tsx +++ b/pages/contact.tsx @@ -5,9 +5,14 @@ import { homeMain } from "../layouts/NavTemplates"; function About() { return ( - <div className="flex min-h-screen flex-col items-center justify-center py-2"> - <p>contact</p> - </div> + <> + <Head> + <title>Contact - InvestBot</title> + </Head> + <div className="flex min-h-screen flex-col items-center justify-center py-2"> + <p>contact</p> + </div> + </> ); } diff --git a/pages/index.tsx b/pages/index.tsx index 28a0349..94389f8 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -4,11 +4,13 @@ import HomeLayout from "../layouts/HomeLayout"; import { homeMain } from "../layouts/NavTemplates"; import type { NextPageWithLayout } from "./_app"; import Image from "next/image"; +import Head from "next/head"; const Home: NextPageWithLayout = () => { let api7tvEmotes = `/api/7tv/emotes?c=61ad997effa9aba101bcfddf`; const [emotesUrls, setEmotes] = useState([]); const [currentEmote, setCurrentEmote] = useState(0); + useEffect(() => { fetch(api7tvEmotes) .then((res) => res.json()) @@ -40,6 +42,7 @@ const Home: NextPageWithLayout = () => { // eslint-disable-next-line react-hooks/exhaustive-deps }, []); + // change emote every 5 seconds, separated from the fetch call so it only initializes once when the emotes are loaded useEffect(() => { const interval = setInterval(() => { // choose a random emote @@ -72,55 +75,60 @@ const Home: NextPageWithLayout = () => { } return ( - <div className="flex h-full w-full flex-col items-center justify-center"> - <div className="inline-grid grid-cols-1 gap-10 text-white md:grid-cols-3"> - <m.div - className="flex flex-col font-plusJakarta font-semibold md:col-span-2" - initial={{ opacity: 0, y: -100 }} - animate={{ opacity: 1, y: 0 }} - transition={{ - delay: 0.5, - duration: 2.5, - type: "spring", - bounce: 0.5, - stiffness: 150, - }} - > + <> + <Head> + <title>Home - InvestBot</title> + </Head> + <div className="flex h-full w-full flex-col items-center justify-center"> + <div className="inline-grid grid-cols-1 gap-10 text-white md:grid-cols-3"> <m.div - className="bg-gradient-to-r from-purple-400 to-pink-600 bg-clip-text text-transparent" - initial={{ opacity: 0 }} - animate={{ opacity: 1 }} - transition={{ delay: 0.5, staggerChildren: 0.2, duration: 1.0 }} + className="flex flex-col font-plusJakarta font-semibold md:col-span-2" + initial={{ opacity: 0, y: -100 }} + animate={{ opacity: 1, y: 0 }} + transition={{ + delay: 0.5, + duration: 2.5, + type: "spring", + bounce: 0.5, + stiffness: 150, + }} > - <m.h1 className="text-8xl">Buy high</m.h1> - <m.h1 className="text-8xl">Sell low</m.h1> + <m.div + className="bg-gradient-to-r from-purple-400 to-pink-600 bg-clip-text text-transparent" + initial={{ opacity: 0 }} + animate={{ opacity: 1 }} + transition={{ delay: 0.5, staggerChildren: 0.2, duration: 1.0 }} + > + <m.h1 className="text-8xl">Buy high</m.h1> + <m.h1 className="text-8xl">Sell low</m.h1> + </m.div> + <m.h2 + className="pt-2 font-medium italic text-gray-200" + initial={{ opacity: 0 }} + animate={{ opacity: 1 }} + transition={{ delay: 2.5, duration: 1.0 }} + > + ...or something like that + </m.h2> </m.div> - <m.h2 - className="pt-2 font-medium italic text-gray-200" - initial={{ opacity: 0 }} - animate={{ opacity: 1 }} - transition={{ delay: 2.5, duration: 1.0 }} + <m.div + className="flex items-center justify-center" + initial={{ + opacity: 0, + }} + animate={{ + opacity: 1, + }} + transition={{ + delay: 1.5, + staggerChildren: 0.2, + }} > - ...or something like that - </m.h2> - </m.div> - <m.div - className="flex items-center justify-center" - initial={{ - opacity: 0, - }} - animate={{ - opacity: 1, - }} - transition={{ - delay: 1.5, - staggerChildren: 0.2, - }} - > - {slideShow} - </m.div> + {slideShow} + </m.div> + </div> </div> - </div> + </> ); }; diff --git a/pages/team.tsx b/pages/team.tsx new file mode 100644 index 0000000..686ad63 --- /dev/null +++ b/pages/team.tsx @@ -0,0 +1,23 @@ +import Head from "next/head"; +import { ReactElement } from "react"; +import HomeLayout from "../layouts/HomeLayout"; +import { homeMain } from "../layouts/NavTemplates"; + +function Team() { + return ( + <> + <Head> + <title>Team - InvestBot</title> + </Head> + <div className="flex min-h-screen flex-col items-center justify-center py-2"> + <p>Team</p> + </div> + </> + ); +} + +Team.getLayout = function getLayout(page: ReactElement) { + return <HomeLayout navOptions={homeMain}>{page}</HomeLayout>; +}; + +export default Team; From 1bf530a6ccd6fb4d9e911739ca78315df3f4d428 Mon Sep 17 00:00:00 2001 From: 3zachm <3zachm2@gmail.com> Date: Sat, 10 Dec 2022 03:04:52 -0800 Subject: [PATCH 3/6] NavBar responsive init --- components/common/NavBar.tsx | 102 +++++++++++++++++++++++++---------- 1 file changed, 75 insertions(+), 27 deletions(-) diff --git a/components/common/NavBar.tsx b/components/common/NavBar.tsx index aab2666..e524e45 100644 --- a/components/common/NavBar.tsx +++ b/components/common/NavBar.tsx @@ -37,6 +37,7 @@ const itemAnimation: Variants = { function NavBar({ options }: NavProps) { const [navList, setNavList] = useState(options); + const [active, setActive] = useState(false); return ( <m.div className="pointer-events-none fixed inline-grid w-screen grid-cols-2 p-2 pt-7 font-plusJakarta text-2xl sm:p-7 lg:grid-cols-3" @@ -44,26 +45,30 @@ function NavBar({ options }: NavProps) { animate="animate" variants={containerAnimation} > - <m.div className="mr-auto" variants={itemAnimation}> - <Link - key="InvestBot" - href="/" - className="flex flex-row items-center justify-center" + <m.div + className="mr-auto flex flex-row items-center justify-center" + variants={itemAnimation} + > + <m.div + className="ml-4 mr-4 sm:m-0" + initial={{ + scale: 1, + rotate: 0, + }} + animate={{ + scale: 1, + rotate: 360, + transition: { + duration: 4, + type: "spring", + stiffness: 20, + }, + }} > - <m.div - initial={{ - scale: 1, - rotate: 0, - }} - animate={{ - scale: 1, - rotate: 360, - transition: { - duration: 4, - type: "spring", - stiffness: 20, - }, - }} + <Link + key="InvestBotImg" + href="/" + className="pointer-events-auto flex flex-row items-center justify-center" > <Image src="/img/logo.webp" @@ -72,14 +77,45 @@ function NavBar({ options }: NavProps) { height={64} className="mr-8 rounded-b-full" /> - </m.div> - <div className="pointer-events-auto flex select-none flex-col items-start justify-center pr-5 font-plusJakarta text-white"> - <p>InvestBot</p> - <p className="text-xs text-gray-400"> - Serving anny's community est. 2022 - </p> - </div> - </Link> + </Link> + </m.div> + <div className="pointer-events-auto flex select-none flex-col items-start justify-center pr-5 font-plusJakarta text-white"> + <Link + key="InvestBot" + href="/" + className="hidden flex-row items-center justify-center sm:flex" + > + InvestBot + </Link> + <h1 className="flex flex-row items-center justify-center sm:hidden"> + InvestBot + </h1> + <p className="hidden text-xs text-gray-400 sm:block"> + Serving anny's community est. 2022 + </p> + </div> + <m.svg + className="pointer-events-auto cursor-pointer lg:hidden" + origin="center" + width="25" + height="26" + viewBox="0 0 330 330" + x={0} + y={0} + animate={{ rotate: active ? 180 : 0 }} + onClick={() => { + setActive(!active); + console.log(active); + }} + > + <m.path + d="M325.607,79.393c-5.857-5.857-15.355-5.858-21.213,0.001l-139.39,139.393L25.607,79.393 c-5.857-5.857-15.355-5.858-21.213,0.001c-5.858,5.858-5.858,15.355,0,21.213l150.004,150c2.813,2.813,6.628,4.393,10.606,4.393 s7.794-1.581,10.606-4.394l149.996-150C331.465,94.749,331.465,85.251,325.607,79.393z" + fill="white" + stroke="white" + strokeWidth="15" + strokeLinecap="round" + /> + </m.svg> </m.div> <m.div className="mr-auto ml-auto hidden flex-row items-center justify-center lg:flex" @@ -98,6 +134,18 @@ function NavBar({ options }: NavProps) { </p> <div className="h-10 w-10 rounded-full bg-white"></div> </m.div> + <m.div + // hiddden by default, when active is true, animate in + className="pointer-events-auto z-10 mt-5 bg-zinc-800 md:max-w-[75%] lg:hidden" + initial={{ opacity: 0 }} + animate={{ opacity: active ? 1 : 0 }} + transition={{ duration: 0.5 }} + > + {navList.map((nav, index) => ( + // TODO: stylize -- I have a flight in 4 hours and its 3:04 am + <Fragment key={index}>{nav.content}</Fragment> + ))} + </m.div> </m.div> ); } From ff575b3d64f4ff8f4dcf924477066f0bd662e3b0 Mon Sep 17 00:00:00 2001 From: 3zachm <3zachn4@gmail.com> Date: Mon, 12 Dec 2022 01:19:17 -0800 Subject: [PATCH 4/6] fix emote array load --- pages/index.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pages/index.tsx b/pages/index.tsx index 94389f8..c90faec 100644 --- a/pages/index.tsx +++ b/pages/index.tsx @@ -62,7 +62,8 @@ const Home: NextPageWithLayout = () => { className="ml-4 mr-6" /> ); - if (emotesUrls) { + // if the emotes are loaded, show the slideshow + if (emotesUrls.length > 0) { slideShow = ( <Image src={emotesUrls[currentEmote]} From 0a6b969902ef4b93c95aaaf839c52fdfdedf8796 Mon Sep 17 00:00:00 2001 From: 3zachm <3zachn4@gmail.com> Date: Mon, 12 Dec 2022 04:25:11 -0800 Subject: [PATCH 5/6] navbar good enough --- components/common/NavBar.tsx | 60 +++++++++++++++++++++++------------- layouts/NavTemplates.tsx | 39 +++++++++++------------ 2 files changed, 59 insertions(+), 40 deletions(-) diff --git a/components/common/NavBar.tsx b/components/common/NavBar.tsx index e524e45..01a3d52 100644 --- a/components/common/NavBar.tsx +++ b/components/common/NavBar.tsx @@ -2,7 +2,7 @@ import Link from "next/link"; import { useState, Fragment } from "react"; import { NavTemplate } from "../../layouts/NavTemplates"; import Image from "next/image"; -import { m, Variants } from "framer-motion"; +import { AnimatePresence, m, Variants } from "framer-motion"; interface NavProps { options: NavTemplate[]; @@ -37,16 +37,16 @@ const itemAnimation: Variants = { function NavBar({ options }: NavProps) { const [navList, setNavList] = useState(options); - const [active, setActive] = useState(false); + const [isActive, setActive] = useState(false); return ( <m.div - className="pointer-events-none fixed inline-grid w-screen grid-cols-2 p-2 pt-7 font-plusJakarta text-2xl sm:p-7 lg:grid-cols-3" + className="pointer-events-none fixed inline-grid w-screen grid-cols-2 font-plusJakarta text-2xl lg:grid-cols-3" initial="initial" animate="animate" variants={containerAnimation} > <m.div - className="mr-auto flex flex-row items-center justify-center" + className="mr-auto flex flex-row items-center justify-center p-2 sm:p-7" variants={itemAnimation} > <m.div @@ -102,10 +102,9 @@ function NavBar({ options }: NavProps) { viewBox="0 0 330 330" x={0} y={0} - animate={{ rotate: active ? 180 : 0 }} + animate={{ rotate: isActive ? 180 : 0 }} onClick={() => { - setActive(!active); - console.log(active); + setActive(!isActive); }} > <m.path @@ -126,26 +125,45 @@ function NavBar({ options }: NavProps) { ))} </m.div> <m.div - className="ml-auto flex flex-row items-center justify-center" + className="ml-auto flex flex-row items-center justify-center p-2 sm:p-7" variants={itemAnimation} > <p className="pointer-events-auto select-none pr-5 text-white"> - Login blah + Login WIP </p> <div className="h-10 w-10 rounded-full bg-white"></div> </m.div> - <m.div - // hiddden by default, when active is true, animate in - className="pointer-events-auto z-10 mt-5 bg-zinc-800 md:max-w-[75%] lg:hidden" - initial={{ opacity: 0 }} - animate={{ opacity: active ? 1 : 0 }} - transition={{ duration: 0.5 }} - > - {navList.map((nav, index) => ( - // TODO: stylize -- I have a flight in 4 hours and its 3:04 am - <Fragment key={index}>{nav.content}</Fragment> - ))} - </m.div> + <AnimatePresence mode="wait"> + {isActive && ( + <m.div + // hiddden by default, when active is true, animate in + className="pointer-events-auto z-10 flex w-screen flex-col items-center overflow-hidden bg-zinc-800 bg-opacity-70 pt-5 backdrop-blur lg:hidden" + // have it take up the entire screen, animate in by expanding from the bottom of the nav bar to the bottom of the screen + // TODO: struggled with getting children staggers/delays to work + initial={{ height: 0 }} + animate={{ height: "100vh" }} + exit={{ height: 0 }} + transition={{ duration: 0.5 }} + > + {navList.map((nav, index) => ( + <m.div + key={index} + custom={index} + className="pointer-events-auto flex w-[90%] flex-row items-center justify-center border-t-[1px] border-b-[1px] border-zinc-700 p-4" + initial={{ opacity: 0 }} + animate={{ opacity: 1 }} + whileHover={{ backgroundColor: "rgba(0, 0, 0, 0.4)" }} + transition={{ duration: 0.3 }} + onClick={() => { + setActive(false); + }} + > + {nav.content} + </m.div> + ))} + </m.div> + )} + </AnimatePresence> </m.div> ); } diff --git a/layouts/NavTemplates.tsx b/layouts/NavTemplates.tsx index 1f2fe5e..63e888c 100644 --- a/layouts/NavTemplates.tsx +++ b/layouts/NavTemplates.tsx @@ -10,28 +10,29 @@ const DefaultNavOption = ({ href: string; }): ReactElement => { return ( - <m.div - initial={{ - scale: 1, - }} - whileHover={{ - transition: { - duration: 0.2, - }, - }} - whileTap={{ - scale: 0.95, - transition: { - duration: 0.2, - }, - }} - > - <Link href={href} key={label}> + <Link href={href} key={label} className="w-full text-center"> + <m.div + initial={{ + scale: 1, + }} + whileHover={{ + scale: 1.05, + transition: { + duration: 0.2, + }, + }} + whileTap={{ + scale: 0.95, + transition: { + duration: 0.2, + }, + }} + > <p className="pointer-events-auto relative select-none pl-3 pr-3 font-plusJakarta text-white md:pl-5 md:pr-5"> {label} </p> - </Link> - </m.div> + </m.div> + </Link> ); }; From a8337a34d844193b18d44786dee129a5eedaa16c Mon Sep 17 00:00:00 2001 From: 3zachm <3zachn4@gmail.com> Date: Mon, 12 Dec 2022 06:18:03 -0800 Subject: [PATCH 6/6] team placeholder profiles --- components/common/NavBar.tsx | 2 +- layouts/NavTemplates.tsx | 4 +- pages/team.tsx | 116 ++++++++++++++++++++++++++++++++++- public/img/team/ente.webp | Bin 0 -> 13926 bytes public/img/team/force.webp | Bin 0 -> 4688 bytes public/img/team/oh.webp | Bin 0 -> 9512 bytes public/img/team/sock.webp | Bin 0 -> 10134 bytes public/img/team/zach.webp | Bin 0 -> 11752 bytes 8 files changed, 118 insertions(+), 4 deletions(-) create mode 100644 public/img/team/ente.webp create mode 100644 public/img/team/force.webp create mode 100644 public/img/team/oh.webp create mode 100644 public/img/team/sock.webp create mode 100644 public/img/team/zach.webp diff --git a/components/common/NavBar.tsx b/components/common/NavBar.tsx index 01a3d52..89f6f4f 100644 --- a/components/common/NavBar.tsx +++ b/components/common/NavBar.tsx @@ -40,7 +40,7 @@ function NavBar({ options }: NavProps) { const [isActive, setActive] = useState(false); return ( <m.div - className="pointer-events-none fixed inline-grid w-screen grid-cols-2 font-plusJakarta text-2xl lg:grid-cols-3" + className="pointer-events-none fixed inline-grid w-screen grid-cols-2 bg-zinc-900 font-plusJakarta text-2xl lg:grid-cols-3" initial="initial" animate="animate" variants={containerAnimation} diff --git a/layouts/NavTemplates.tsx b/layouts/NavTemplates.tsx index 63e888c..612c26c 100644 --- a/layouts/NavTemplates.tsx +++ b/layouts/NavTemplates.tsx @@ -42,9 +42,9 @@ interface NavTemplate { const homeMain: NavTemplate[] = [ { content: <DefaultNavOption label="Home" href="/" /> }, - { content: <DefaultNavOption label="About" href="/about" /> }, + // { content: <DefaultNavOption label="About" href="/about" /> }, { content: <DefaultNavOption label="Team" href="/team" /> }, - { content: <DefaultNavOption label="Contact" href="/contact" /> }, + // { content: <DefaultNavOption label="Contact" href="/contact" /> }, ]; export { type NavTemplate, homeMain }; diff --git a/pages/team.tsx b/pages/team.tsx index 686ad63..d65c784 100644 --- a/pages/team.tsx +++ b/pages/team.tsx @@ -1,4 +1,6 @@ +import { m, Variants } from "framer-motion"; import Head from "next/head"; +import Image from "next/image"; import { ReactElement } from "react"; import HomeLayout from "../layouts/HomeLayout"; import { homeMain } from "../layouts/NavTemplates"; @@ -10,12 +12,124 @@ function Team() { <title>Team - InvestBot</title> </Head> <div className="flex min-h-screen flex-col items-center justify-center py-2"> - <p>Team</p> + <m.div + className="grid w-[90vw] grid-cols-1 py-2 sm:grid-cols-2 md:grid-cols-4 lg:w-[75vw]" + initial="initial" + animate="animate" + variants={containerVariants} + transition={{ + delay: 0.5, + duration: 1.0, + staggerChildren: 0.25, + type: "spring", + bounce: 0.5, + stiffness: 80, + }} + > + <m.div + className="col-span-1 flex w-full items-center justify-center bg-gradient-to-r from-purple-400 to-pink-600 bg-clip-text pt-[200px] pb-[100px] font-plusJakarta text-transparent sm:col-span-2 md:col-span-4" + initial={{ opacity: 0, y: 100 }} + animate={{ opacity: 1, y: 0 }} + transition={{ + delay: 0.5, + duration: 1.0, + type: "spring", + bounce: 0.5, + stiffness: 80, + }} + > + <m.h1 className="text-6xl">people</m.h1> + </m.div> + {/* Person 1 */} + <PersonLeftCard name="ModulatingForce" img="/img/team/force.webp" /> + <PersonRightCard>TBW</PersonRightCard> + + {/* Person 2 */} + <PersonLeftCard name="Second Sock" img="/img/team/sock.webp" /> + <PersonRightCard>TBW</PersonRightCard> + {/* Person 3 */} + <PersonLeftCard name="Ente" img="/img/team/ente.webp" /> + <PersonRightCard>TBW</PersonRightCard> + {/* Person 4 */} + <PersonLeftCard name="notohh" img="/img/team/oh.webp" /> + <PersonRightCard>TBW</PersonRightCard> + {/* Person 5 */} + <PersonLeftCard name="3zachm" img="/img/team/zach.webp" /> + <PersonRightCard>TBW</PersonRightCard> + </m.div> </div> </> ); } +const PersonLeftCard = (props: { name: string; img: string }) => { + return ( + <m.div + className="mb-5 flex flex-col items-center justify-center" + variants={leftCardVariants} + > + <Image + className="rounded-full p-3" + src={props.img} + width={200} + height={200} + alt={"Picture of " + props.name} + /> + <m.h1 className="font-plusJakarta text-2xl font-semibold"> + {props.name} + </m.h1> + </m.div> + ); +}; + +// takes in children +const PersonRightCard = (props: { children: React.ReactNode }) => { + return ( + <m.div + variants={rightCardVariants} + className="mb-5 flex flex-col items-center justify-center" + > + {props.children} + </m.div> + ); +}; + +const containerVariants: Variants = { + initial: { + opacity: 1, + }, + animate: { + opacity: 1, + transition: { + duration: 2, + delayChildren: 0.5, + staggerChildren: 0.25, + }, + }, +}; + +const leftCardVariants: Variants = { + initial: { + opacity: 0, + x: 100, + }, + animate: { + opacity: 1, + x: 0, + }, +}; + +const rightCardVariants: Variants = { + initial: { + opacity: 0, + x: -100, + }, + animate: { + opacity: 1, + x: 0, + }, +}; + Team.getLayout = function getLayout(page: ReactElement) { return <HomeLayout navOptions={homeMain}>{page}</HomeLayout>; }; diff --git a/public/img/team/ente.webp b/public/img/team/ente.webp new file mode 100644 index 0000000000000000000000000000000000000000..b61610a69c14e48dd52522f45d7613c47ffb5f08 GIT binary patch literal 13926 zcmV-sHkrv%Nk&FqHUI!uMM6+kP&il$0000G000300093006|PpNURG000Hnu|Nr7N z{{OvRGm``e4uyKVbyw={?(6POY1enDzU$tV?rB-AyO*xi_4opH_ZGJhWRlG5d7&_t z;q|=qJ|`k3fc(F2L9*Lzk|+ukU4rC@?J#!YkI7f>q#WL{@`o8;eDKQX0bN?wi*ed0 zZUmbnw!_$oKO|qxc9k(ut9Z(aiwbhHAMa1>9WJ4S+G9J6oA|??t68ox28J^C-F2^5 z5s)E<^_qGt%T>m}tn!WNO+_?Nd+isKuDcnSTuGl9OHm+H|0Fp>2EX*48*S%5vEG!M zUhrSns(xW2*V&pcc;ExSX6}m%`-O?T=IFRQQvv^H?hA|G=oICk+-2{&CYOOlGLP%Q zu5bIr*eORzt&(yXSgYc`zxk8aPJxfa`tzPJuwrlCiRrz<DF0Ob=C%(kTXCIyFGk>; z2K&8W?Q&{-HGyXu9#p{c<qPAh3cNy_9aNw)lvCc1rd%R)|Bpc>S$5+25Du}8yThRJ zbZ_tJ;0ht6(dhYEP^q%)9~%k0AcVC0`e1g60+p@r+J_Nb5YX(4gSkGaoJ*5?+A2FS z_PKTGUZ}iT`t+)_5);BY&Aw0qmAvOrUt1+*i|s%2Xr2O<KTA)Hu6$_FGcT>URHOhW zmhEaMR4PJPn}lr-OBrw^yZ%x@r6ET5n07eV1KgQ6vr464uQqhi*+L(1sl2TzwKy77 z@1>+G#SFMrIon6HGO1<4)(52wxR%{{#co};mmYe6gR>_(tx9+{1NhkWzc7oEwgE4f zERM9O72E`+KSx^<ZFkzoOHh^+ZAFCE`R;hG!becHEYgYy5yN|YmUQS=hRZ7#W~Tdi z2FezPS`r~dum{Js8T!^MgL*A1<r*lS8e~xwM=x>%=N5iyv$Wc)WZ>S6v4VwF-{Aue zzTTNyR^WUu@Gv`4$Et)E3V@HjzlK^=%PYXk?oTC4irT`s3GR2N7G(cM27YGyVy%Y` z$^@R4r`Rl~-YMYgC*7?kBuU{cwkyI~r1#yx+a>P_Rzkbp2mVg0V<j~YG7j@jk*veH z)CW9%yNP8;ZxsQT`{vp#f_A$HoPM{FMbtVByzZMUT7q+#!fkM=x)n(8xPjlx-lqOX zJKY1GPj>oW)L!8F+)jQcyeadYGDGyYn&*M@&qnx}^tF%oTz&nl@g3lOWv=K~w%LsP zASK$bn%)Qgm%o<$$TpiH04_xNQIq?CLH9uavCm^DV2dPwp+j>3hZm##rEwY{(LK;l z!Z$K3u*H&J*uRwljTgiHK^T(<c+79^5AALOB1=Y?kG4O>FyTuuoizL^15|!5n#}oW z1|Tyz&{VYfIyYeRTBw<V-o35>I&<oqN9wTN4G4AjH%rjKwNDfP0G5vo@B4;D{1`uM z*s!<%%~#-Q&$gAwfO&#Jws}6UEXy7S<>n<ePQ}I+he6H*pw@G8m}8t58>ztt(N38a zxs#uZrOq9I&CFPXh&b}rQ_7v+dWQ;xw0EH+zlBjmZ1LOn?Y}=?&p`<x(n3I|yPsi% zNH&{9Nx4<8;X{7O1ZwF>A3l@`rgE$Vgw7VsROc~9{;-*dzQr)IH^4+ey8xsAIZf2G z03}yL%p-gO7?mf8<_SBBl7cqGydBC=;{Cup;vB%~W`}8_FCgVn4byb@A*Jkjvj~#` zt1BdvIR8e=^>CBa%0^3Jdvnl{3@!3&<`9<xUKfj|2s?$CGeM?kRDzhi=4PO80%ARH zo58jcGw_>af~c#gxfW`I_CD0OIvYp70MshujdN_p4J?-oi@JuKLji_0_8{j$m{Iga zKyH2uqlCrSDIH~$b3b;J&y0$Ff*n{c8q|`Z=di;VItI}DAjF_A@snG}7-2bnTpf%F z+>4)*p~gg9#E<t)W2)xk2fj8YJOx2Z1ViZC3_t5_hLET<{2X!^<2-<$tAWNea^oj6 z(h!;e_|0o%h;tu;in<%p$c><~u}07YK(O+G5zc)Wg3pX-<VMk#2G9gR@wZgJpnceD zRE(oU{pbY1@ihH{_G7P6F_Nb1M#lq^=LmX<zhTd|2}`qd3)qXLX;d%gF)StO7Mg-2 zmO%6lzlkKztGY#{BdKJtZZSnjDr~P?RRu{owe<re-wMXwN(p(Mw+QmG8>tAW*85v^ z3XZnf%dy9H`C{|U5}&H@8z?FnO^B^Z`}nn&i+un9s-z?oov+vGz28$@UZ_wN9gCt{ zX9_%^S{13Dg(2<g0=8j~4k$q$ar}Zk(&!=f!~_L-B=QLMXxwe&5n*UH+5+n}tm>ph zddH12+U%=c_tR7UUb}krrW}+79`pjzE2vuv$QuR7qf^oM1Ns(XkMxzX7nqDa(qG12 z;2!MJelqe%&>rm3elqe%&>k$YD+!A(F+FI%ViWn?`Z1TnH^t|UuW2qwt#0W-?1>&j zyg90_PA=6+PWkgP*Le4hj&RrrA;Q?pB{~r24~i<EtRa898s&$`?Yb2F^~P)G72w#S z1u>MAFV-43<3x!j61iTDYfHL@2MLObyxuhKq9*nrsc+Q}A28t9{11YNYB6%ujsh*D z#%^DEo+G0_Ry17covGqbC=t3}R41n-ws6EQaRJY=BnQz-oxPK^keG>g0pthAKZyz3 z2O3XTKU<L}fe<2eJ5^Re;eS7mt0B@>$ue+lRvgjOriqA+2M*}nG+dxPN;I(Dw%JMr zcbgDGh)}ENu(8jN8##Pn=U5vhLccTxxR$N3>tdjN1!z>3lRBr%E1M}j^)#iFlrN6F z#ei?K;)uEHKhffwOz80Zr+n)ph>p@r4}f!7lHFXwM9}Jei;%zt3IID?m*{AJF9Uct zD~^~u^0cPXA%u|HE0%rzVtt}x;KW?uU6y1w7ai=;l+&3ILM2J0M91LCg}}X8am3sK zYe4h;MnwP6`NhDE>`}f>EXiTA#yQ%qRM9VNaVhX3yEmuxRIff+am3uhccA^WO_jal z_}};bG4rF5U7A#hT3iae=vmg>M(U*K!d5s;7M-e%?ItSi-B)IM6{h&Sa{m2`sinY; z^817k;r&uQ(&LD^=_sEzWw{FB#Y_eGlx++oghU_E!8^rfvcS!t-8V@^=w9H~`;7=8 zwEgx{E$m<nF?sVs9lUR;=$_9nW$zL~2n~Pvj87H2)Sa44oB=u(52z^cSK!y8*PbFo zc;>Vkc~(7vm^|jH9uJ#V)a((zcz+5mkBCzh6`llvn4G?#=#ds$QP@UqVgJ@775B(f z0V&nY=G+ZBvK^#i+V&2wT#q9v!%wP_;{}toE!IPsS&^e=r&XNdNwldErz$ESwVJu4 z1)!(=LOD{~>8EdJm2nDtys#myh;+|WBgYG-s(MG4N6iQ!Lfe%YKHypJjc=<}6n;Vt zq*gT(eUs^O#7;=f84nfUT{-3b@bbi|iW)gyFj4S+&{LU4Xpi$=;Ng-Z;{u-|J@V8* zYE=_;D$}K~uQ>cRa58i4>MIdK!cVI5#0#d8ega*uRC_HQ_?hMW*;XLpR7DM>RW(hG zN4l_06Y_zpmB$O~)9!hyJn@1_=!c-sWjFA)@76a>PO5^mswN3Jt`9KaaQR}II#0Y{ zj-FnfIGw43v=~#^egnM9Z&NcolZ_ZS9Bcw{CSbN`pb6@vqlT?@7$(jH+-A2itadtb zl=-4T;tas<otg&K&OncMJT*j|3HUu7YDn!21Qm}kLYxB_-e@<VZZ?W?TInaw2Nbi} zqHc9_a0EAF^%Ca;l0ENGo$BOZ362EmBg_Rf7xmSrRyLksnW%>_8xVafQjZ$hnDO|u zlnmEFm<*Urd!hxFiQ1wbqUMitnr=mCqVd4N?zAnlUhTBeALLK|(Nr>AQ}8tol3xq5 zQ6hfg4+R}JYJ#6dEw3>S^1M%;?q2K%sa2D--Hy-@a1J=w`&~J8ulm8t!1>xrhie$l zc*wV?oWNb?^Cr+lZLmyK1y)cvAdD&i0I-k%odGHU0RRC$Z7z~VBqE`qEE8P#fDMUd zZv1?EB^dMy8o`(K?Z3Na`Nz4(t$n~#Q#k@YP5#sAC*nVw|8@S|`(Nju<3Be2uloP( zm-oMCKlJ<t^#7V)$9~!VllwRB&#>R~KfidZ@b~;*?>@mFkbgP<Fa6v1Bm76lzt{FF z+pj=heSXRRBm95(?=5fkJrVmu|6|+-`WN;;`Ch*N*6^<LUtk~Szu~`VecJ!H|Ka}I z^E=!()SvtR*Zc?nIsWVaZ~TvH@7>R3pV>eC$+|5>=|sT9QvG(w`_NIfTzKeOJ<Blb zSmQdkJuCsh?p4aUDXP8wyk#W3SDXDf_UQFCX<5X8Byon~$b>htwW(*d?1GF?J{5T| zFci+!URd;#_g;}@%eg_OS8MCWfrGPh0I66sT`Fcc6!e47eXwDIB$bpepOs}i$4X$8 z*)fbl87r1j(Tfy(`7N_E-U%+2;?4G;(>Wdim$f@^L?RpPFlki|t)2eec&4CA@5^MK z-fSY4T40^JA^3+Nv^nP$VfRPnx@DmcF^yn6L&qps|J2D55j)EMw5sykb&6K(3SiQ4 ze%wP$IC$t8d8M+9V68EHK|z!ru5BV;V*5*9zx~8(dNcWs=56u_&4(AOK&xVI4K&3S zbxFAA&oUQW1i4F_E))Y+yr-QP4OHtDl_^X3kqD?%U>plPX+QiGtbrUoRSr{C5h)#0 z*ETrTDL$Nzc(bRY5NFtJXIINjQJA}1>E-#H@f_TsKKa@mbAbh=wGuBf6r)XL%9#~p z^b$pZp4?mV_8?7wwGQe%TrED#Z~x#&3)I3){<Wl#qR{n-a4f6_H)P&l1MGG^@-1Ou zUkMK`gM0dUKs11WOy6mMn02+qZ}ph6JAxdO2JAL@t(9&Cl$%R6F8yNc@mUYF%ME#1 zNgIr2nRR`cJbsR3zx9+9;iu3($fsFIsq4xl=jf0Ou_4Y2|Hip`uc`PaSLnlNvbroV zRKu0gG1v<G4*K^@)$P!q{1~<`bFXe$C%@x`7^r<6(8QAk^QY&vHyS@VucVL24;DS_ zLxywU$Eo?Kw%`%mO$0WbsDqpAuQ)`X*@V1Xu5U}f5sXbSRwL+Ccq#p(<RMh-Y?INN z=cQcf<ZSw8aLRM?F|@2UsJSzd7GlcJ|K>04(ULujC9&GtKFj}GeK*E{(LB3W{1-cZ z6CIBIfoN&xP=ifZ&7*wzM?7hLF^AXawQN0WOF$hD)WlnyxOH}=ie~n{;H<JnWfikD zJ5Di1FZn2CK3CZx-yKlbtq@R<S>X#``CpsbyiTdPM`iIFm+n;=cj63o#+5t9I;qC4 zdT?NcRck>-4|QuCnK(?U){00L@*7+FArtja-SM+yU`iQ?qyO!2VA*?4ehc1j{YnQv z|Ky23o$&^rv4o;FOV?!P#m@8V=}ZKBExj8Cb3vb{%3J-jj+gG@7t98T_l3~9cl%Bl zW=gCJAtUs-?_PiRGBK=EyErNmy})+SDR15lYLejHNpJyYJhXF+=>Q5Zphv&}{@(_G zRB4)!N*9-74IHw2VoXAp87GEQJF=LnGq@r}ZHlbuJic+^yW68RVSdXUtCN7kAaSPx zzu{12q$P00mUZwCrJVF+1mwpmrgC{LOS*^<;4;j_80R#|X&bz>v;X24WerhwR+t9r z`SD|~>>`Gsig@KU>kMM(t1zs6+trmC1zOK}<SNR^tM~{aB8FsrPJ2-AGR^rUrle7& zeyP5eX3C4mds7tX)M6TT!zqzUTD?#5+LbA1(=1gj3scsTT~<}u06GFf_JBb}SD@Dd zWh1KQfCN_mo?#MoyCwU;Ni;!m%i)H6lQqy=e3}cuy{>R&v-Huknf?U6J#liDGitu6 z=jDc?6w5yE9N!rnpm)RgCC$e}IciIy59B|JPNu;^uyW?2!_ofb+@p7o3j~ZH{JK0O zj299vgxe4i7QJQQiituMPmDc|Wh_i|xsq(27LygN*480QQTW}(ksjMmiiZL35yU-e z$vZxuMrok`mgH%YxT>y&-KaXgEwblh*XI^|gfLk{P?ExbnHy?b;L^0z*v*I!xu+Am z20$G`?Kx|2Gq4PbjA`5GM_X}~$wvJ^+yYgIAI72g?fGBvm#}O|;@#axK<zRRR4I0I zL}vU6>E$an@#U=~X9J~OIbbV&Mf0>|ORvUx3Pq4;caC$ApVX~Seg?@JyQGTf07BZS z93|GAn=`TCd&6Gvc7*n%Q#Xv%TLB@<b@Gyc!n{)>;TS!w;aqw!v$iyJ1Z;Z~Xj`y} z-?+$7#fQA&lem%I$8}VDh@FV_tmH)~3Cu8#{2j)WYT{e<+pw&*8HK2Xz&@7xg}Crk z0Vf0liz0H%X>@s!T6w#K2a5C;wCWz+j2lp{Af5H!)p#K!c-SW4CV`8Cbpoz)*Kv#8 zdg|mR!}|fOLP)7~$(kn3YB*<>DOAf#CzuLkNfv+r0y6KG6f-kT@2|wlOz%%|nitgP zAXuGwsf1g5mW6@~M5Yq|9hTU4%K6=piYeJ>hF=K)y>F^97BZKnX=O!?-Ptg?II5?> zAsUHXLDE4V-OyWUfx+FkO6pv>`zC$XGDsPK06ECMC*db48e3uIq{Ep-Pv+=&i%f_B z=iSm0rsNP4DsHJS!_!R|^&Gx{Leh}&%Mf#ypdU(}u@+fNgP4RDQ`7axdUjY#>H}b= zLCv+qA+oZS(ulgx&*XfU<GZD8b1ed}Jn50j1!$|;R3AG%&nukX$!F18A#k@Trhyy_ zCpi2ZTxU*zsumE?@X#sT?Z;BP9;}WiWCvm0X~T~0Lvbd6w+3o?mKL<hiB_0z*#7^P zSrI8U)f@sV(n$#{MrOkpSM=H2YrGp<PcDLV1k=(Zy@}eqUU-VvbcQ66R_ouN5CB-v zZ@pH~GyK-~%ki6Y2wQkm{aRz){4`c-vzXjigX~4|mc}tF0saUNfZ&-6gIv}7ox7Q) zbSzZVH#M}t8=^G*19b?;5f<#0$4aRL?^eezkO2e+^sL0i|Mhz8=#T;FD<XKk>T&th z+YCle=2!h?QqPoSf#2LIoh85~jxD9L(nP2M^#?5orxMJ^|Mo7Q{!_&yel=S30#YT8 zRfR&FAhMP>SW+Oeo?&eN&WDnBWiy`5M!2b&|FCGclK`ECG1CHz5<Ze`H}}6Pva4PH z54WWdOk7Qn(y?4Xm4Gf?odK2V)mFUi^xB64XR>EBhA<W}H83^RI<>N8+$FhhIhi9S zYsI{m-wsZ9XmZGKqz$?{$Zh8XEJUcLOmMBDu@RH=^Y3pgY@VAl{aOK-O|{RXp8b@! zkoQeq4^g*`9&~b_#t<7V)E4driSkyQBwi;s)dtj(-`8^+2MdeC8{^j)5fVSDEZ}G7 zBoytx$IcA6eO+k8@K7>uG3RhkIUO4dnR(lXI+Lo%wpb(PbmpCpb_+d0qu*pfA(P&E zx#hi^WgWcCJkMgr4W0QgiqcT(Og1hL@~oICjb4*O_pt9F)*3`tLpF31eaIq9B644N zsh&!d3ce|7R#XKbx!ik@+-0d{mB&){3;FMiP`;Fc6983wt3wvSm<EhfPyLp4_UzMT z1g+%O!Diu?5sa)nPs6vDI|)^ei9g}IhR*aSUA4IAW8zj!xr<H`T08%(qhWY~T>-o} z*RNhKmZG$r5KrzjJDxuw`{&u$0lv^|p#?F#G%&?@{}tl6Lw9(&_U86#_`xuGD4a{q z3mNJ!B)2m2no^B|(TXRhf2$k$N!N8a8aL{(65oLfRM|#YLfmQ6@2dKDZ<4p|=RA7; z>P5X=AIL?X6T6;K%>@fPmv*CxTKnimf}qR46-}ke0$Q?kMOQv45RQ}kFQ7mkmt{LP zhDk>h{wQ{gwSuYh52CiELMW%UrE)@Y13hQ!ck7@YS;a>l@|iGJ<N`a;9J6c@2|6J$ z%rYOwnvUOFrX=_iPyY(^Xam|pCz$1Q>g8soCl+t-uqbg~d~H6mQ#PX%t7QHH(4tPp zkZqe%^E+msi|qBhO6@x&W&<aM7f(}4z)X($`ueh3wcZ%?VCKXWs2yBL;7nTTON-;A zKfSLq7JidrNNYXG%V+H>__~)7TRJ$go8D{~&PUc5AB2Gm=ygbOQZ>8ACoCS7So0#M z*2pKHy;d9>bj)`85XKbe%;CuID3$}VmCQPF6uWLQI_pxFuay7jauGDEY*y&&=GQkF zRah;U`ZtRdK6xolX1yU#+FpaEoC@3XICE&J)*C+&h^Zwe`2MGyY=OWY-69f92E4Bi zmuUlx<L!6q0}g5+{^z+WMdLj;l7w<|yihEzb~ryFfM4zD4{q&?d&ba;OBg}#v)JDS zIk1+Jik`~?TV>-E0T)HRS(L*7lTer&DBQ)bTws0qsAr8?0LeM`5<Jd_hka6{OugTd zE$`6K%%z3KgUK2YT=I5ooFhl?ryVg2Z&CE;i?{$}(LqL#)m4H{%Bu5Ljou3FO|{J9 z;LaQDN*kZCGhT|e<L5V1w000(MAbPX4((KQMdZ?3l=CT<bu<kXn%vR}+CiiYIa8V( z*bOO5cVI+&e;CV>D>FTv!FDUud{vB=G!W1<14f1s2ztpW724ys0{X{KW+lC9CWo|e zH;O7s18D9Q`qz{0;J43FE^L7w0CH}khCfnhOnYJUjJ*$@-y424(c-}Q-I}%A%U*qh z!2@=5)a1@hlp{`-Q|n256y!+Ro>8ypfTt9WdeQY2Pr2ms!om`{ovQ%@pAIT`ZFhd` zp<MLEnFknr!Y1%b09ubnnun8I>lt3V&-?HNrI_1ZR4HA;{Z3Fi&4>E$z6(E2YB?$e z-E=oU%Yl+<>_h&4mtuHV<iy<hxN%38({;Op3&DNKEQq%qbb4FTpgDVViVu$eR@WZ` z{J|0}UuUXxL3(s!Cg<AzzZh2J#ot%_K;$CI$=)awTz<vhPC@bVp8dOQ*_)2C(}9m* zM-TS61vB#yelGuZr&D3{r1C@i|JI5W8>>ao3906I4C$fA)GiIaewBgcUCt-fbzpqk z_D>FjcXfo-pB8`v1I)uQ(bYzTBq8pd!mrpKiwrTueSk}($LbbK<US&XL=C_%$BnFC z`-X|e&5izdlV@k(mqvb?ZE#Gy^eiW8u$hbDb889%l_5Bsl?OBJW}O7+HgRGQRsYXq z(_T*kilHlm^eCLi#Os6?K}Ic+YyZunRaTO#GfKe~ux;mey8lmGwrAYe`)lXLGJZF@ ztX?8v;B9XnOtf$hJ1fgp#V|7T=$_EFoa}i_0TZfZnyp*l>ISnSu%U&(AZ>Q^w#1p4 zMVj`1V?^ueOu`lFxZAsCi$lv*&~)mIU^bPWemNIJIgu%07Jbu$+)PhxRXDW&>Bstb zD9$M_+RyCP)aqA@=`9R8f&@}BXQx{-r%)-*CExg&QkK45W``hO^wi!cxRTqJy?Ux? z<~kvU%g*P#Tr*5U+ygbR<T!VyR&DX!u2Y$L)&CvAE!1t6XmG`YOT=E5SP3LSZqdB} zHo*O&S<9x;5Dy`fetMWO*Gy^9;TMdz=u@sQdUhd12O~$iHrdV#-U+kXnJflHnCv9g zr-cB=3UX96*sv%=w0Z1+N3%v@9zNq3YMvN4*p0K7g$d`L1Zu6s9VU0cC*d7&dSM<N zW$r!<#NqM72y9!|)%bM=R@{Rl;RLo+1<tJZbi$525(hDvGBlpkfY%-FEYTkY96+H^ z(G`Th^(h=e^`=lv>}^U<9?vz9liU%ad?(Ew=_V5@$du22E&_Ms!19GcB9dSi%a#&x z1xE%%z<xCypenE+^vaFVH<kb@_9!uIJ8QI@?RD*{%VGv^7;c~%{5$`=LEhEB{8oHT zO6Nj!qf-MWV;Loo^-O7MUEbDIOvU*M(@j?<@6z%Zfz>%fJ2SH*l(J1YA#+pSPW(K- z_y!!g%hb|?wZK#EQER^)`)hH-HtcnkE-hLlYiS$d2&Ot#EzDFu=0@#$XmEm&0!`p0 z{9amR2_OCNr`kE{=N2b68dtx7e6-YD51Rr%@zfATb%u5^r$%jqLTd{skak<x@KB=} zm^{P=o@E{}Ict(qtp2ed=Hw$pVC_n~G?2%Aa2}se;~h<9x~eaqbW?x(Q4&S{`h>M< zkKb*8>y>A!=F|);xH6E`x;YE7I9pWTmhSZ&mwFBw(B6jn`lbw?aVj!<mnzB(*Oxku zEb(c;f~YqQ;#%H*IeClVQS=-Ze1zYy6rV-}80K<YJO_y!@xtdS{0w5a$o*KUy}KNV zIAOnuIh320GRhxz0pe#TL?aa}okibL6`yAm?5#XrIXP-N=dBKCBs!$RmTRZfUS;v{ zKt@$7L0+7HVPCMp{@6~!D%FLFo^vFEr2svHs+dZhxDtYW3Ge%|l{|upZjtY~#!&a_ z#Dv=<1Z_7Vvj|g4QG+Ntr5b0cTY|o#vM*>;>$uWKZ?t}O?k4-jsZ}X(v_`z6{d2EZ z#6YI~ELq!LU%46Vps}g(#4?E96;%*^+l(sAz5}T%Q=)whYCDtxk9q~4y|NZ*E)Z7# z9_DoF+S5^Cq%l0rs1JQ4i~Y4t^I8h;E4kWMu{<)!fJtqsWwp_y!8MWs6N>3)Gv9)3 z;djcU*u+~~CZ(yA$(lU)$QD5E;0xHV$q59N<)++6D|D!EeyABC-59*xIy(69X290V z=DvhMC;|?3iq!vfo>J=^PMjYw=+Kw^IIZ{kXS-woA{MB?N^J4-C6nEe+BXXLa!0?A zq0K&T0Fx~pL>*dbxclk({pp4Jhm#8GM$|Q#iN7aqlaH+XHwDC`YEqOOnwiK`N@vI6 znEs(-Rct`EToV(lvrilOR5#u?++meXD!-;mg}c=62a<#ebhgJP$f||NNXo6&QP({g z&>0$N3naQ%UC&gxQm}{IfB-#<nz1(1kCAxS`Um^{4vyS`MS%Z%+?QYVeoY#USqCTZ z#1Y9=;xh2WBL4+T`~Azc+GR8p#XOcjYAz8)9E_fKi4A|{)H!NxkaxzN<>ynNcd1wp zQsrp<Unor3K#y+`AAlS7Reb_5{3P-u_PCl1VLF@_pd6BHS<_5(%8i5$Zu&G%PZ$v! z0-wu`1&MMkLHGQZQ8pn%bv}pJnLtptgy@NnYk?zy*%q{X;OPgURCaR}e1iA<74=!i z#PLTKxa66*{;_cx@v_WTL9kohSkKV*^1t1>@^)1I5TQ9i9~^GKFNHLxt|(q$cm|Z& zC!8lujH<MjT5D=$mD#x_)S1>c`h|3zYpTlTffOWh&kM%JxtirD8LXJt+U;c?Z4RYC zPx2lC^NHb%9QWqU(24l7rD@&Dk<^#7z;l8sAct0$M8u;pkjfIi)G#ZiWd~t5e>pO3 z)yN2v+=Br2CI5&}K#2?p94uEa)NegMV%jKg&Lib38AvXeg)1WF^4l24y6L}g!p;U+ zd~n9a=FrU&W+U693xgljeA~a-IAouas0rb(>5S04We!?k;g`HRk@*&zn6~f;@-CxH zb|Z*pn21ACvtx!kLC0R)#N8PZ{2K2wC5--`U?994s4MV8l=o40zt5qz6_LqGaq9df z^+5eiNxyMne_R)la*Y3m_Ll75d37{K52lr}-{DZ8u<h;|#_mO5dKEzH@i4|WX~|a% z0GSiX`7x0B`GLvVnyd}aW&G(ce@?3soEBrgJ0Yu;dj6ztW#TPfVFYwIv+v>IgFtLs zLeipg5(WHPDwx13wM!-pa+r5IXNHT&L!6a~_RSWECVmu%nk<3j;1dB@<t0}A=$`%! zodx?!$n5^HOP1G=&VBr{^Lc3@i(o)cJaNA|CggV~z7;k?2|p<X>;z;-o2N##5PLtN zv+tdfHzWXn$C>W!?bPDy9E@0F6vr1-N=6#8p=kc>B%h9N)Ks5Ai*x62k1tk=lP&#^ z6q9B_nelwa+%vXZKIye7L_VlSH48586Knn@<`s=A$ets#vk#qkKt&x$LNpfj6uGS^ zWzjQavdd5QimSijIMh(efj-1-7rh=lI_QTV-Cw;j+>tq(&;<Skrwj!#M<kXD9Q+|J z|AZIExPyH#%NJOgA~LxTxdekhCZpbeSF0J)K96ycHh}QXTsE!*My#1!_E0G^a4(Ez z2d-+i<6_Xx-*DG0=Po$g|JMi9?D4|AngHpcOCSG)A2{zR6<bo@=Kn)$0sO2>-%~q) z;*yKr^kPb{J{pw0HDFs0&ci^Hr&k7hKq$b^`Za?Hqto0d2jBsc&r?VUuKY^L2gp(F zgM~Y9GS9AQ$!gd}8GSi#Ue>u)W6+<cX<#aw!(4cGd={v)A|GIBQld8=HY$BRhpm)j zP=|cP^b<yuQpf+$%aeP)B2$<Ld*6Rdh-uaHT9t(S#t1tbhRaONtAJqCftJ#_;lcr% zB98qhss<H@-1@dsk-3P6vC3G?yc%ZF9Mkuk2m|zpw!NHY>mu8!uoWmI_9(GjHR>^v zFLw;H>yi=u?=zsx(`QGbA~TWKpF5H9MAuZ9n%{|8AeTZ2E$gnwP7#uMtJYY&zmFd! ziTl9KDfkc%Z+>iqCLK8z5AV9{Ic^k`sqK=QS0D?i{jlil)Kv+<HKiHlk2bR4dAvIm zNsbbK-OAV<sj)zh-@#FT-`C4LFwT~=5#$DCh0<m>XDZ|UU|sB`Fn1i5WEbao&tMJX zmb^=}6iVjQb<1g)n3q<}3nY^TUlz_*RF*bD2?5KbV}EXoVc>@iOSP-ijCCX0eZa(J zEE>-9V`WVksw&q|Ko3QQ+&?)i;wyBk!1#6%xPmRGI=6d=Ho3Z;U{hC>Nkojb0XL_E z--W<Pf-}0m5LqE?(>Td8=Spk}A0Z4khMpBYNiZqnDsRJrNAldQmwNgu&PxLMz7-&9 zq2(94-Zv!YwFRTt-ZVw4zvItq5ZSl7K(&y^THvx+h#R774I?|Nw4i0~=n?(<I9?YB zE?sW(3FFwHi)D+%$op7u6yTGu^Z3fNWvtp}^L55<7jU11sIhXhaP@$oYr!-(G3cJW z9$(&$$C5j_q##^42HO^yZ?<38G8i*=cNwS0qiit;zL+2?%B9ANVi!gx<ow?frdV1~ zoLGQFS>N)&4FMl?!Tq+`pTY|w_G|A($nkPEKWTl9XQ7#pOLf_h_fpJqN8wuM|6Jl` zJutw1{325DgkwOp{4G?DnmuI;!~O=4Hv8j^b!8@JDe98=x)kbFuoBe=Et}v(1GgWz zO=?o-FLRQCAgS)R$Qf=~Oz@ryHHEYdjFscWaifdJ^Cx4d`klex@b>_(#TRn7=_IT5 z7$dKkT^a#bZk53bX(1E_e<9^{Y#M=^4|e?qSIitcehzL#LGO^*CUR}_Pg`Hxa#00g zJ%%QfqNU6lf2hicY_8D@UG>AV>qQ*6aYc^<XRRSWS;YGzk^OXt4>FC?Th6p9sw%e0 z53I+#{LAoO3}uQU+8Ww$OS~~ap!j@og-dU-DPrFFrob8pXK3L15%@2BM>EK4n{6f* zY?0%{(+J$U-&Cd-zO`B64Sr&ITx6b+1>`v-j{1h`eH1(1dm5x;`6y9Z$A;ZD13a!i z^EGKLGnSr5VJtvdEp6nZmD6S>%`Bt$uy3w)&B6v!Bttc_&V!vjPD?DDV15vMxPG_T zn!aQzXJHqu^!>jJrM9IUH#eP`BJ<9it~yhoeO-qKly(9wAp%Yxk*@i+Fh@DBOEDI$ zrl|v%UFe9Uo<Y%M!*XID1n>O{R`=dPa=|bw6rr=--~q8g_<xpdH87~EQ?2D0a_Udb zzTN~5TmED4N%YC0LJv{A_)_*sdR8jFc1zxW@53sK6+;aOO#7ayR0(9}+O!1Ff>V3e zj>(V2qRYFF<(Q;qJOb!AHlBLmjjZmjLGI7qZPnF$P9zu*O*ltTFkQ+{LLUuwtp9HG zPC#CQ+E(QeI9Toj7^_);xc*ZV5isFckMldSoo<JR8Ze}TpWzI_1MgG(sYxN+s4%vh z<0EXkG!k$h!v^Ix>}P-uF6XC~L=iAcEf?$hf<y73C3J)A&N@zx);fvLd5PhC7}@^4 zF~rDOB*F-F=~F4z94Xn>?F{XHfA+~;5pMsBr^`R<c~VH`G0EQjeJ?at8Pw_PyU)_4 z6fW|>yts2)k(7wkkDvgCB2Ik>n;`gi@g3DS`}>8Xzj(HF?16R6>NWA$uO1F#fo$1$ z&T&2L25!IwoDb#-`&EV~UqXz=+pZ18KJ`&pAfNip>j-BrDp8Jner6+9U}D5bgvP@L zG>PgMmOUGrhU#30d$Mjki1*cbF0n)&kio^Y6Um-SPWMX^*h3*1xh+t!7R0Za&A-p0 z49kBTV+5^pZ@(^IV#=E<0#(#)y<^kA1j;{(=&eR$+{^_sVL)o1;=p`BK$mpD;=-qw z2YHv4`kh>zK5#`w2Vsn>2Y_>i`WqoQxu34BJ^-NsC2j6Qz78T;?^L9#?H9X)yK#g8 zz-yrT8={1XmLU9P|6itEsxN%9(=<Uv6XxD^Pzu@RU5im~tqmBi(}iB~-rnOl1|+XA zm^K*vqHDURoA%bnHE|6LxVJRY=XSoX)BwP#0&`9I)&rKQnXC=t?5Nf%+4m#2Pr`-U z81kL{t>_}6ga+|Mkza;9IxAstXy9ETx)755FFwU;0RPdP^>*Q-6~5#H0FC4pH(crn z?DLZh)Wu}dGpG4zRqRYH*P5%<hu#N3?>+*Zv?05w;iN>!Uf;7n#Os}5B^<E2;|bya zYshD&1i=tXD@sUUOw)(~)tj!{dCcXzmm6KLxibtE#W$(&R2Ui*3bVicI$|oWQf{2z zo?liBDQ_&}>3ipycj2Vd10}5)-=>de#91|Xx@1~xWIgD!df0o@YOsYM2N~A0)x$ao zH=5YL6BBSVRpJdtqvS{ZssD3*okw|O1jT;7yFfqz!Y`!wo7@ScB6~ApOqZBlTqb!s zSazo>KZ6hHJCi)PcXwT{GnVZ~qSZen%?GlVz6xfSiNy<@8q;TcECgYViCo2Rxmlm! zrDiVl7-}s2XUb$`9tdfnh0IIiDuv@&B1j6SaZp|B0aA0{dhHk?V<k-6zOOfUx`X~A z!Y^HP-@C7KPgcyvTUJQyT~5j6OCja}Tj4bVp-<MSMFbvtS@Rd*5(6!lcdA;5!_>u7 zc;5|cTO;SkLR0KydXq#3c+1x9iK=}$kLVUNpzxkpj6p!#9o!{_(tad-6%vK&1}=&X z2`U=aW5p2BLXtIRu6)t9dRwL**r<asC4wXyDcK2gb{KQUq%ao{oeYaAAlIa3-Xb86 z*`lRM{_@3x+Q!m{qz#}wCHetOHaw;E5_YG)h+DN%%}`@E%d5m?(;W>#J(AxJO$F&- zOe{EIWh?i9ua=kX7uA&YIVK&bwDfSyF(<g<ICwn5cXZn-+tX7RM%zG?iLPcztTMi$ z`F$3g8UyC5cG0+kN-x649z;S#YO}dm0uoElgPw2ot47(XNy`I=)J6ST)9wwt{h2md z(^4J?oA{>p@sYBnPt0>+VMo>6Ueog*j-v9uVmMUr0eqY5(8iF`8a%7o2!M)CJu+;k zB$LcrkAq<*fp%(l=a!;g*T(;@tj&SbwpEg{!){Naa`8PaX)IeqQ+{C|LolPrCKCuh zqD6!Y6^~I*RR#5p9;?Bs+_+7LE`AkVBn5>GaD{tCz@U`sYchH>v4b~txDI{sV?C*? z-G#74s`jy0+TDEpxAh<9m&LQ4zc3)axmp{snZl8_KPBM^O;2&E9bDW?2e4t=%t5u& z_PA+f<FP$@n?tZ;^@S-urOF<Ta=&Lf&;-3&^u(sw#--A+SoHh3?SX#`fY!x0gG4mX zrK6A48jPGUY$ANieTG%^*x<-@WRbiC7{Da<-g{%DsMEb`eD~Y9v=y3TA|17C&bfBr z8l^A`lnKT~B+4cwnd60BrTmZbG-aW@0di5R9pDDMvEi;m(45_uwt-qr?%2ywID6M- ztq2$Vb5-U+1R%(JUnniMRxyeK?SWj$J<TErs10yBK?O1srQ>7$xOo-N(^}+E-v=fY zyvz#p^TS+V1G#^u!#NVWtfaaX9YHi>ETt|wu|;LC!F`a1%u~ErRlAa$bEAfUioy1| zKU6@QWqcOi#fpB94?t-IT$9-IJEORDTJbJp(uFy*Yqb?NVykctzc+y$Xpg7AdZZ5V z)Myp&=O{yBotk-t6+tfCR6;$<#b~jR?{(Jmlf{_9v#fBn>~@%KU7h?uxbOnyZ%Z;8 z+m(-4ZlCd_?Qan7yGHlbvJ>`RL$rnXyAzgDAl}G4&^HaIF0w-=SmZJctrCYA^7C)I z<>{)N>ZiBH#RT|keAI^3=(m<xJubJt0D$-y>RBzkdjD6TUv94fh)>Y)lQE?1Xr&Dc z#UseuMMJCOE4-5-ghP*mcr%XQq~|Xa5mW@SA5!06%gut=OU4T_$v}}7=!By((C9W! zRyTH41rOEvCI`mfejG^n7Tvj#(=O4|IO4?8(iiQ55e6KA`sLnoNVSvrM+k(i`LbS8 zKY>DKp(*Y33$lXTZ0x2hvqT6CVk=P(hK5IY2=S^3=+dmLjI~4>))|TwH-QEvChD0Q zusK+TXa}-0{?D8-gtJZ(Ih)i%Sy9+kgefY;H5N{z6bLan%77{7l`O~+J#5L5rCuHQ zvKc#W%Y)A>Po)Fhr%4Q)u<tA42$BwF={4IWfk>InhG~HmcOA&8?ggVkE`ATaImZ;3 zj|OA_X7^TzNW<Ay<C?CQ$kq3O5*7Jn)LbG4o>FhpH&pvN8$?Xbv7pDG9M(5t5a}QX z1E~n)l#q7Nyn5~nh2lQ8c_xJWSoe``xTMF`XfMDJ)u68LURTe}D7=znc5XMTSDB~} zxU$WE662CPw$X=oqo704E_yGpym9n^(ECzjF%;ExG#$RqU`vZp*o7n8)mMIzFUDbx z^Z#SI?HX|JgyCnX2Ds=q{AUczZt)Jfl%4?>gUPc{x4)oXsad>o)bzIz4TC526R;}@ zxo~Pr%?=uTXi|GgFa077^8Gi4+Qo-?CGX>~vgc7LE+RYkc3GSQnU;U^lV0MGzbY6& ztS*${?u?&Z-70Keiw2#x?I+*yeeKEN3H^kO*3=Y6K3*L0DKHsHkEPXI^6DQSOc9SQ zH~M>WJaG_Vv(|i+fjFT1WA9-ctFsvVTN(D`Nb#5^OOuQeU3?-Du7SE(k<@8&HZmwf z=SCSuV9`AET?VlhgOh(?3-GO}=>*S%lBAdx94&{(3Vs2Ue#?)7HiD!k{kt?G3{Pvp z?(djORU{hs+%<H@4_GaDzRfMK=6jELHA%>ME{r|mH4E+RZ{!>O9Hb2*Ky>R**uO>~ zrzD>|21iP9={8WU@VIFRst$gkbjB{wa#R1PS}q?nAN+4^YtxIqi8X4`Pndh1g&+rh z2P~%hnP!2qn2d4V+3^~ybo>ucr)5Y3dWy21D%EZv3L+_P1l%wBFtTs@B_bWb5DTGd z7cthz?AqK^-S{w~FgoikhjA?Apiz%IClQTdNUR`J+B|7vh#gJS?pIW`q0A0=Mn@13 z=OHB(ln_)IGY3Ku2Dh_RN#rzcl?;z)FsrhOC@5E2N^NRhER0f=Ms(DWgj;qEEcqJ9 z?Z;jcH9doL9W4d;w2}by+@8(MMPGhtZei5Xn*Bf76W_=QAVNa_rNt|-{f}!Ff6K|~ zR}dsC%%!qWa0*$(z&^f((Sc6(HZ)lFAfG>S^vpXphK!fCSmB_vj>!4KM}DW@q8mBX z>ypJxZD7dapvGoO_;HuS=?8CIcNh0ML~yTJPS6s-<pJ^=dS1h=@3gCNFDkE~iGRdn ze(L9()i)vQc7g7Hlu=J0Gg%}-L145B!T1t$$g<eUZ9#*?1fea6gSguL+;L(VmJ6)E zE%5v7MIn~2jsF->IJAn$t$B9T!OgOYaU3|09GjO|Ph;apiI!{U<qX!pFYj8xBch1s zvc5ssXY@qtzjAmRi(*64u1>|m=d?pEZD2T}p`>s8)vG4kk1OWV&3_Ah7oqFHn?pwy zCmr#T(0MX&JP={g^*3%5Ejnm}zQRJ=q`@CjL&w`<apOZ_^(2h3VeJ2~R!G1w1y^}K zs6NJ_2suHK5L_f2RWg*2O1)K;Lf5q@3OWode9IC#9i967WZ={Ch7nYf!bn^!F?&z( z$(uJFvb-M*gvFd3E;lT5EC|um<ubWUt@j0)y9;3oXfTutJ~Vu+3y7~#UFB2xK=iBO z`DfkzOc2eiUjB-!C8^^q@9{MZa@*UwzUennX}7fP&AaWYs<Vf{)UzH@#=yy#*Byyj zZltH-(!|XRn-lkH;Nv=)$WMVGH6BbZWNv3--s3SBtA;^R>rf*P0zw4Sh?ZCY0Eay* AcK`qY literal 0 HcmV?d00001 diff --git a/public/img/team/force.webp b/public/img/team/force.webp new file mode 100644 index 0000000000000000000000000000000000000000..72495ade079d93fdfae3e5b647e87d12be451fea GIT binary patch literal 4688 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 S9ZYveR!l)3Qq$v<MF0R{utW?1 literal 0 HcmV?d00001 diff --git a/public/img/team/oh.webp b/public/img/team/oh.webp new file mode 100644 index 0000000000000000000000000000000000000000..4f944ee090733589b23fd5340ff146d541d2c692 GIT binary patch literal 9512 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 GnqUAHf0nKQ literal 0 HcmV?d00001 diff --git a/public/img/team/sock.webp b/public/img/team/sock.webp new file mode 100644 index 0000000000000000000000000000000000000000..1594ac26c1d5bd017d53e75779a24e9d69bad93d GIT binary patch literal 10134 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 E01wXEuK)l5 literal 0 HcmV?d00001 diff --git a/public/img/team/zach.webp b/public/img/team/zach.webp new file mode 100644 index 0000000000000000000000000000000000000000..4998b0963daeed7be3d340b2b53d1b30aa93e0d1 GIT binary patch literal 11752 zcmV<EEf>;KNk&HCEdT&lMM6+kP&gpeEdT%zvjCj|DgXfh0X}UmlSZT>A)zah%}9U^ zi9rqkFNB`ASJ!`F5%<WxDu4d#dC|WQ{a;(3+dV~pxq4po`Q~fQFaGDRkMI7WzIGn6 z|J%JtdTIZ=WA)0Tmw(Fe-^`E6G(5~-Yg(Lq>+*he|GDsY=02i6==AaW?(0s={l}p1 zf4l*{rS+HWhwM+l7nq;-JaNAX|1;Pd`ak&J{eIB@>UnJY2iRYwU!zlue=gqjeWru* z!M-jzw%JP<amJjWj*6qWdfu`$*WVdYZufWhe^ujGwQw>UH?m~fT%{bEm816jEZdR) z>QT79L9Uta8+GTLDCw~~tO1VUuOhr^wk?Ap)95+Hkx^ZWGk#@+>jP&#wN`oZEnd5# z6cWt5XV>Jv>C`KT%>@XJx$oSg*8H32#nrj$4t&1aP2Wpe+p%%T7OjOBw}*=&w!!F? zm2aIny*JFrteA@cfJ}#3g(iw$EOVa~{NUFsL08&DG(@lI%FAE%3DR^}PU-_{mPzK4 zK4}CK@{fynH}k74*w;%tAO<k;@c~+J6P<&OcNe7^Dkp$9(tfKZdDiZMHd8HizIud( zjGkpJ?@MR)RidtDtUcR*wqGD8vJlS`49go)AiRAfZs}0wA$rsKpT-X+IE*Wi@Kz=m zq0hE{NZpSONyWbgqpo#+BKJhM%<(Td*0iv(bFjw)giXQ3q`AZpr?j&Lg-mB-0;aih z&*>={=0))!=iWGMa#}5U%hp^?Gb15aP^0QyY0>2)EX6YIvx~b5erZy>0QZd=fIA6! zg;wdjd+zO36T{PpEwvkH@^w2)leobWfPXvDlU(5Mb<jwvZn91ec0gJ8-rr2t-Dgl; zQ5*~Xl!4)V#~<K#vsEIjr{yBRYEEXk#I8Ry88}Uu&eq@`gjY!ses6a<zBKK!>kT<X zM)(DO=M!Tw`6Qpw4?Wse@S?Qw3^-7jmn|4pk9Se!Wt$rQDjUK$R!K#Cq&jaTmy89* zCSry9(%qr6!{Tt<a5%5;;r#z9C%tew1>OW3`WzJYFI4>*q;Oln;2!{=+^>3Y-^-tp z%AR@k351)p1h(3jJS()$AT`z$oHwh5FF5rbA^|?+#WmIpM>1tAG8Ehu&2x8D*3A1Y ziM%8ci>Fe=T4HbnxH=zIg!JL(2z)yNMA!Mny>ut%X7mCLxlP0#C<YEAl%6Mf({6$E zIo#Vtn1<BDZ{`7MO_<z8m=tdPjyk-GB<RWv+>Mq9@s2qMD5Wyei1vpl%I#Z!EOk`I zai?z?jrXDm#<@5ip7Z&dyndWiE^qV_8kG-ff4hey2qE&#aAMRJV3r>d?i9`pq8Xt+ z&&YRA%>_4(4PW8jR_SoRyqun4siJSIRf6JBy+`If*!r5ir&J}HbI+pFe}UNAE7>Ac z0HtY*X8j~qd;Vt?9R8zGO%Eo|K<clXFoK=RicW_^`;@<q2ObUFh2sXpB2p@{yHq-v zTnfI4(jS;Jl~>YC_TKTv1nasct!xc$?IXgz!f-?qD{<IaogT4It-43==MkIHXaeJe zdlI`MGspGsq&X4<=(Xgu3&I9jYPYlEy1;*-6�R7ANM62dTyx!>Ibrdodu`S#_N$ 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 KPEy|JKmY*moY%Pk literal 0 HcmV?d00001