From 92c9bdf1fcaaf924ee3898cbf8e9d720a319a631 Mon Sep 17 00:00:00 2001 From: Kris89 Date: Wed, 19 May 2021 14:16:49 +0300 Subject: [PATCH] All tasks --- .gitignore | 1 + README.md | 12 - .../my-app-backand}/.foreveignore | 0 task-1/my-app-backand/address.json | 1 + task-1/my-app-backand/package-lock.json | 1948 + task-1/my-app-backand/package.json | 24 + task-1/my-app-backand/server.js | 203 + task-1/my-app-react/README.md | 70 + task-1/my-app-react/build/asset-manifest.json | 22 + task-1/my-app-react/build/index.html | 1 + .../build/static/css/main.695d92eb.chunk.css | 2 + .../static/css/main.695d92eb.chunk.css.map | 1 + .../build/static/js/2.5ace98cc.chunk.js | 3 + .../static/js/2.5ace98cc.chunk.js.LICENSE.txt | 41 + .../build/static/js/2.5ace98cc.chunk.js.map | 1 + .../build/static/js/3.7c12e863.chunk.js | 2 + .../build/static/js/3.7c12e863.chunk.js.map | 1 + .../build/static/js/main.772daaf4.chunk.js | 2 + .../static/js/main.772daaf4.chunk.js.map | 1 + .../build/static/js/runtime-main.706c7909.js | 2 + .../static/js/runtime-main.706c7909.js.map | 1 + task-1/my-app-react/package-lock.json | 35907 +++++++++++++++ task-1/my-app-react/package.json | 54 + task-1/my-app-react/public/index.html | 40 + task-1/my-app-react/src/App.js | 13 + task-1/my-app-react/src/App.test.js | 8 + task-1/my-app-react/src/components/Card.jsx | 39 + .../src/components/CardContext.jsx | 21 + .../my-app-react/src/components/CardLabel.jsx | 22 + .../src/components/Description.jsx | 15 + task-1/my-app-react/src/components/List.jsx | 19 + task-1/my-app-react/src/components/Title.jsx | 15 + task-1/my-app-react/src/index.css | 13 + task-1/my-app-react/src/index.js | 25 + task-1/my-app-react/src/pages/PageCards.jsx | 41 + task-1/my-app-react/src/reportWebVitals.js | 13 + task-1/my-app-react/src/setupTests.js | 5 + task-1/my-app-react/src/style/Card.scss | 76 + task-1/my-app-react/src/style/PageCards.scss | 30 + .../my-app-react/src/style/all-ie-only.scss | 26 + .../my-app-react/src/utils/browser-utils.js | 9 + task-1/my-app-react/yarn.lock | 12336 +++++ task-2/backend/.foreveignore | 2 + task-2/backend/package-lock.json | 873 + {test 2 => task-2}/backend/package.json | 4 +- {test 2 => task-2}/backend/server.js | 7 +- task-2/my-app/README.md | 70 + task-2/my-app/build/asset-manifest.json | 24 + task-2/my-app/build/index.html | 1 + .../build/static/css/main.835d8417.chunk.css | 2 + .../static/css/main.835d8417.chunk.css.map | 1 + .../build/static/js/2.94222820.chunk.js | 3 + .../static/js/2.94222820.chunk.js.LICENSE.txt | 58 + .../build/static/js/2.94222820.chunk.js.map | 1 + .../build/static/js/3.71dcf447.chunk.js | 2 + .../build/static/js/3.71dcf447.chunk.js.map | 1 + .../build/static/js/main.5acc7b6c.chunk.js | 2 + .../static/js/main.5acc7b6c.chunk.js.map | 1 + .../build/static/js/runtime-main.e37524f0.js | 2 + .../static/js/runtime-main.e37524f0.js.map | 1 + .../build/static/media/icon2.2be7fa75.svg | 70 + .../build/static/media/phone.20bb9dd6.jpg | Bin 0 -> 1258197 bytes task-2/my-app/package-lock.json | 37824 ++++++++++++++++ task-2/my-app/package.json | 62 + task-2/my-app/public/index.html | 17 + task-2/my-app/src/App.js | 22 + task-2/my-app/src/App.test.js | 8 + task-2/my-app/src/actions/index.js | 14 + task-2/my-app/src/components/Button.js | 21 + task-2/my-app/src/components/Error.js | 53 + task-2/my-app/src/components/ItemDetail.js | 36 + task-2/my-app/src/components/ItemList.js | 27 + task-2/my-app/src/components/Progress.js | 29 + task-2/my-app/src/components/Router.js | 23 + task-2/my-app/src/components/ServicesList.js | 30 + task-2/my-app/src/index.css | 13 + task-2/my-app/src/index.js | 56 + task-2/my-app/src/media/image/icon.png | Bin 0 -> 126301 bytes task-2/my-app/src/media/image/icon2.svg | 70 + task-2/my-app/src/media/image/phone.jpg | Bin 0 -> 1258197 bytes task-2/my-app/src/pages/DetailsPage.js | 50 + task-2/my-app/src/pages/ServicesPage.js | 39 + task-2/my-app/src/reducers/index.js | 11 + task-2/my-app/src/reducers/reducers.js | 25 + task-2/my-app/src/reportWebVitals.js | 13 + task-2/my-app/src/sagas/index.js | 48 + task-2/my-app/src/setupTests.js | 5 + task-2/my-app/src/style/App.scss | 21 + task-2/my-app/src/style/CardDetail.scss | 112 + task-2/my-app/src/style/DetailsPage.scss | 18 + task-2/my-app/src/style/Error.scss | 28 + task-2/my-app/src/style/ItemList.scss | 59 + task-2/my-app/src/style/ServicesPage.scss | 16 + task-2/my-app/yarn.lock | 12655 ++++++ task-3/my-app/.babelrc | 7 + task-3/my-app/README.md | 70 + task-3/my-app/package-lock.json | 37401 +++++++++++++++ task-3/my-app/package.json | 71 + task-3/my-app/public/index.html | 43 + task-3/my-app/public/manifest.json | 25 + task-3/my-app/public/robots.txt | 3 + task-3/my-app/src/App.js | 15 + task-3/my-app/src/App.test.js | 8 + task-3/my-app/src/components/Calendar.js | 80 + task-3/my-app/src/components/DayCard.js | 44 + task-3/my-app/src/components/DaysList.js | 61 + task-3/my-app/src/components/EventCard.js | 33 + task-3/my-app/src/components/Events.js | 43 + task-3/my-app/src/components/FormEvent.js | 62 + .../my-app/src/components/InputTimeField.js | 36 + task-3/my-app/src/components/Notification.js | 23 + .../src/components/NotificationForTime.js | 31 + task-3/my-app/src/components/Router.js | 55 + task-3/my-app/src/components/SelectList.js | 58 + task-3/my-app/src/index.js | 30 + task-3/my-app/src/pages/AddEventPage.js | 83 + task-3/my-app/src/pages/BasicPage.js | 33 + task-3/my-app/src/pages/CalendarPage.js | 26 + task-3/my-app/src/pages/EditEventPage.js | 101 + task-3/my-app/src/pages/EventsOfDayPage.js | 38 + task-3/my-app/src/pages/EventsPage.js | 31 + task-3/my-app/src/reportWebVitals.js | 13 + task-3/my-app/src/setupTests.js | 5 + task-3/my-app/src/store/EventsStore.js | 128 + task-3/my-app/src/styles/AddEventPage.scss | 7 + task-3/my-app/src/styles/App.scss | 26 + task-3/my-app/src/styles/Calendar.scss | 15 + .../my-app/src/styles/CommonEventsPage.scss | 21 + task-3/my-app/src/styles/DayCard.scss | 40 + task-3/my-app/src/styles/DaysList.scss | 25 + task-3/my-app/src/styles/EventCard.scss | 13 + task-3/my-app/src/styles/Events.scss | 17 + task-3/my-app/src/styles/FormEvent.scss | 11 + task-3/my-app/src/styles/Notification.scss | 22 + task-3/my-app/src/utils/Date.js | 55 + task-3/my-app/src/utils/WrapedLocalStorage.js | 33 + task-3/my-app/yarn.lock | 12257 +++++ test 1/README.md | 23 - test 1/pic/Blocks.PNG | Bin 31006 -> 0 bytes test 1/pic/old interface.PNG | Bin 640104 -> 0 bytes test 2/README.md | 15 - .../B13CC99F-A588-40A3-BAB3-EDF25B140F3D.png | Bin 1890 -> 0 bytes .../D2446DA8-9A38-46DC-8B11-58846898BCA2.png | Bin 6129 -> 0 bytes test 3/README.md | 18 - .../34E95629-487A-4F0F-A6F6-43FAAE7F1741.png | Bin 111661 -> 0 bytes .../79FDBA3D-C51B-42A3-9D5A-9F2D114ACE39.png | Bin 62502 -> 0 bytes .../80208702-DD80-45BB-B998-BDA5071590C2.png | Bin 33933 -> 0 bytes .../8DC8ACE1-F479-4DF1-BE09-1A4848B01908.png | Bin 57885 -> 0 bytes .../A5C4EEE2-2714-49E8-AB9E-A6060DEEC49F.jpeg | Bin 11431 -> 0 bytes .../BC04AA0E-C198-454A-9DA1-9EFEC03822BF.png | Bin 45459 -> 0 bytes 150 files changed, 154778 insertions(+), 73 deletions(-) create mode 100644 .gitignore delete mode 100644 README.md rename {test 2/backend => task-1/my-app-backand}/.foreveignore (100%) create mode 100644 task-1/my-app-backand/address.json create mode 100644 task-1/my-app-backand/package-lock.json create mode 100644 task-1/my-app-backand/package.json create mode 100644 task-1/my-app-backand/server.js create mode 100644 task-1/my-app-react/README.md create mode 100644 task-1/my-app-react/build/asset-manifest.json create mode 100644 task-1/my-app-react/build/index.html create mode 100644 task-1/my-app-react/build/static/css/main.695d92eb.chunk.css create mode 100644 task-1/my-app-react/build/static/css/main.695d92eb.chunk.css.map create mode 100644 task-1/my-app-react/build/static/js/2.5ace98cc.chunk.js create mode 100644 task-1/my-app-react/build/static/js/2.5ace98cc.chunk.js.LICENSE.txt create mode 100644 task-1/my-app-react/build/static/js/2.5ace98cc.chunk.js.map create mode 100644 task-1/my-app-react/build/static/js/3.7c12e863.chunk.js create mode 100644 task-1/my-app-react/build/static/js/3.7c12e863.chunk.js.map create mode 100644 task-1/my-app-react/build/static/js/main.772daaf4.chunk.js create mode 100644 task-1/my-app-react/build/static/js/main.772daaf4.chunk.js.map create mode 100644 task-1/my-app-react/build/static/js/runtime-main.706c7909.js create mode 100644 task-1/my-app-react/build/static/js/runtime-main.706c7909.js.map create mode 100644 task-1/my-app-react/package-lock.json create mode 100644 task-1/my-app-react/package.json create mode 100644 task-1/my-app-react/public/index.html create mode 100644 task-1/my-app-react/src/App.js create mode 100644 task-1/my-app-react/src/App.test.js create mode 100644 task-1/my-app-react/src/components/Card.jsx create mode 100644 task-1/my-app-react/src/components/CardContext.jsx create mode 100644 task-1/my-app-react/src/components/CardLabel.jsx create mode 100644 task-1/my-app-react/src/components/Description.jsx create mode 100644 task-1/my-app-react/src/components/List.jsx create mode 100644 task-1/my-app-react/src/components/Title.jsx create mode 100644 task-1/my-app-react/src/index.css create mode 100644 task-1/my-app-react/src/index.js create mode 100644 task-1/my-app-react/src/pages/PageCards.jsx create mode 100644 task-1/my-app-react/src/reportWebVitals.js create mode 100644 task-1/my-app-react/src/setupTests.js create mode 100644 task-1/my-app-react/src/style/Card.scss create mode 100644 task-1/my-app-react/src/style/PageCards.scss create mode 100644 task-1/my-app-react/src/style/all-ie-only.scss create mode 100644 task-1/my-app-react/src/utils/browser-utils.js create mode 100644 task-1/my-app-react/yarn.lock create mode 100644 task-2/backend/.foreveignore create mode 100644 task-2/backend/package-lock.json rename {test 2 => task-2}/backend/package.json (76%) rename {test 2 => task-2}/backend/server.js (96%) create mode 100644 task-2/my-app/README.md create mode 100644 task-2/my-app/build/asset-manifest.json create mode 100644 task-2/my-app/build/index.html create mode 100644 task-2/my-app/build/static/css/main.835d8417.chunk.css create mode 100644 task-2/my-app/build/static/css/main.835d8417.chunk.css.map create mode 100644 task-2/my-app/build/static/js/2.94222820.chunk.js create mode 100644 task-2/my-app/build/static/js/2.94222820.chunk.js.LICENSE.txt create mode 100644 task-2/my-app/build/static/js/2.94222820.chunk.js.map create mode 100644 task-2/my-app/build/static/js/3.71dcf447.chunk.js create mode 100644 task-2/my-app/build/static/js/3.71dcf447.chunk.js.map create mode 100644 task-2/my-app/build/static/js/main.5acc7b6c.chunk.js create mode 100644 task-2/my-app/build/static/js/main.5acc7b6c.chunk.js.map create mode 100644 task-2/my-app/build/static/js/runtime-main.e37524f0.js create mode 100644 task-2/my-app/build/static/js/runtime-main.e37524f0.js.map create mode 100644 task-2/my-app/build/static/media/icon2.2be7fa75.svg create mode 100644 task-2/my-app/build/static/media/phone.20bb9dd6.jpg create mode 100644 task-2/my-app/package-lock.json create mode 100644 task-2/my-app/package.json create mode 100644 task-2/my-app/public/index.html create mode 100644 task-2/my-app/src/App.js create mode 100644 task-2/my-app/src/App.test.js create mode 100644 task-2/my-app/src/actions/index.js create mode 100644 task-2/my-app/src/components/Button.js create mode 100644 task-2/my-app/src/components/Error.js create mode 100644 task-2/my-app/src/components/ItemDetail.js create mode 100644 task-2/my-app/src/components/ItemList.js create mode 100644 task-2/my-app/src/components/Progress.js create mode 100644 task-2/my-app/src/components/Router.js create mode 100644 task-2/my-app/src/components/ServicesList.js create mode 100644 task-2/my-app/src/index.css create mode 100644 task-2/my-app/src/index.js create mode 100644 task-2/my-app/src/media/image/icon.png create mode 100644 task-2/my-app/src/media/image/icon2.svg create mode 100644 task-2/my-app/src/media/image/phone.jpg create mode 100644 task-2/my-app/src/pages/DetailsPage.js create mode 100644 task-2/my-app/src/pages/ServicesPage.js create mode 100644 task-2/my-app/src/reducers/index.js create mode 100644 task-2/my-app/src/reducers/reducers.js create mode 100644 task-2/my-app/src/reportWebVitals.js create mode 100644 task-2/my-app/src/sagas/index.js create mode 100644 task-2/my-app/src/setupTests.js create mode 100644 task-2/my-app/src/style/App.scss create mode 100644 task-2/my-app/src/style/CardDetail.scss create mode 100644 task-2/my-app/src/style/DetailsPage.scss create mode 100644 task-2/my-app/src/style/Error.scss create mode 100644 task-2/my-app/src/style/ItemList.scss create mode 100644 task-2/my-app/src/style/ServicesPage.scss create mode 100644 task-2/my-app/yarn.lock create mode 100644 task-3/my-app/.babelrc create mode 100644 task-3/my-app/README.md create mode 100644 task-3/my-app/package-lock.json create mode 100644 task-3/my-app/package.json create mode 100644 task-3/my-app/public/index.html create mode 100644 task-3/my-app/public/manifest.json create mode 100644 task-3/my-app/public/robots.txt create mode 100644 task-3/my-app/src/App.js create mode 100644 task-3/my-app/src/App.test.js create mode 100644 task-3/my-app/src/components/Calendar.js create mode 100644 task-3/my-app/src/components/DayCard.js create mode 100644 task-3/my-app/src/components/DaysList.js create mode 100644 task-3/my-app/src/components/EventCard.js create mode 100644 task-3/my-app/src/components/Events.js create mode 100644 task-3/my-app/src/components/FormEvent.js create mode 100644 task-3/my-app/src/components/InputTimeField.js create mode 100644 task-3/my-app/src/components/Notification.js create mode 100644 task-3/my-app/src/components/NotificationForTime.js create mode 100644 task-3/my-app/src/components/Router.js create mode 100644 task-3/my-app/src/components/SelectList.js create mode 100644 task-3/my-app/src/index.js create mode 100644 task-3/my-app/src/pages/AddEventPage.js create mode 100644 task-3/my-app/src/pages/BasicPage.js create mode 100644 task-3/my-app/src/pages/CalendarPage.js create mode 100644 task-3/my-app/src/pages/EditEventPage.js create mode 100644 task-3/my-app/src/pages/EventsOfDayPage.js create mode 100644 task-3/my-app/src/pages/EventsPage.js create mode 100644 task-3/my-app/src/reportWebVitals.js create mode 100644 task-3/my-app/src/setupTests.js create mode 100644 task-3/my-app/src/store/EventsStore.js create mode 100644 task-3/my-app/src/styles/AddEventPage.scss create mode 100644 task-3/my-app/src/styles/App.scss create mode 100644 task-3/my-app/src/styles/Calendar.scss create mode 100644 task-3/my-app/src/styles/CommonEventsPage.scss create mode 100644 task-3/my-app/src/styles/DayCard.scss create mode 100644 task-3/my-app/src/styles/DaysList.scss create mode 100644 task-3/my-app/src/styles/EventCard.scss create mode 100644 task-3/my-app/src/styles/Events.scss create mode 100644 task-3/my-app/src/styles/FormEvent.scss create mode 100644 task-3/my-app/src/styles/Notification.scss create mode 100644 task-3/my-app/src/utils/Date.js create mode 100644 task-3/my-app/src/utils/WrapedLocalStorage.js create mode 100644 task-3/my-app/yarn.lock delete mode 100644 test 1/README.md delete mode 100644 test 1/pic/Blocks.PNG delete mode 100644 test 1/pic/old interface.PNG delete mode 100644 test 2/README.md delete mode 100644 test 2/pic/B13CC99F-A588-40A3-BAB3-EDF25B140F3D.png delete mode 100644 test 2/pic/D2446DA8-9A38-46DC-8B11-58846898BCA2.png delete mode 100644 test 3/README.md delete mode 100644 test 3/pic/34E95629-487A-4F0F-A6F6-43FAAE7F1741.png delete mode 100644 test 3/pic/79FDBA3D-C51B-42A3-9D5A-9F2D114ACE39.png delete mode 100644 test 3/pic/80208702-DD80-45BB-B998-BDA5071590C2.png delete mode 100644 test 3/pic/8DC8ACE1-F479-4DF1-BE09-1A4848B01908.png delete mode 100644 test 3/pic/A5C4EEE2-2714-49E8-AB9E-A6060DEEC49F.jpeg delete mode 100644 test 3/pic/BC04AA0E-C198-454A-9DA1-9EFEC03822BF.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..40b878d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +node_modules/ \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index ba8505b..0000000 --- a/README.md +++ /dev/null @@ -1,12 +0,0 @@ -# Тестовые задания по React - -Каждое задание оценивается звездочкой. - -1. [Задание 1 (*)](https://github.com/GPB-COS/test-work-react/tree/master/test%201) -2. [Задание 2 (**)](https://github.com/GPB-COS/test-work-react/tree/master/test%202) -3. [Задание 3 (***)](https://github.com/GPB-COS/test-work-react/tree/master/test%203) - -По всем вопросам писать на почту: - -* [Мокин Роман](mailto:roman.mokin@gazprombank.ru?subject=[GPB_COS]%20Test%20GPB) -* [Иванов Алексей](mailto:alex.ivanov_DITOP@gazprombank.ru?subject=[GPB_COS]%20Test%20GPB) diff --git a/test 2/backend/.foreveignore b/task-1/my-app-backand/.foreveignore similarity index 100% rename from test 2/backend/.foreveignore rename to task-1/my-app-backand/.foreveignore diff --git a/task-1/my-app-backand/address.json b/task-1/my-app-backand/address.json new file mode 100644 index 0000000..3ead45f --- /dev/null +++ b/task-1/my-app-backand/address.json @@ -0,0 +1 @@ +{"country":"Vereinigtes Konigreich","short":"GB","state":"England","city":"London","street":"Aylmer Parade","number":"33","zip":"N2 0PE"} \ No newline at end of file diff --git a/task-1/my-app-backand/package-lock.json b/task-1/my-app-backand/package-lock.json new file mode 100644 index 0000000..8043078 --- /dev/null +++ b/task-1/my-app-backand/package-lock.json @@ -0,0 +1,1948 @@ +{ + "name": "backend", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "backend", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "body-parser": "^1.19.0", + "express": "^4.17.1", + "fakerator": "^0.3.2", + "random-birthday": "^1.0.1", + "random-names": "^1.1.0", + "real-random-address": "^1.1.0", + "uuid": "^3.3.3" + } + }, + "node_modules/accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dependencies": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dependencies": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "node_modules/clamp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", + "integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ=" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dependencies": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fakerator": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/fakerator/-/fakerator-0.3.2.tgz", + "integrity": "sha512-Yw2ilaImRDctUsXJaIaHIIwsCzqNHIRPzdqkHNeGJl14kswt48QT3s8Df8i8pyL7f3X0MiMfp36v8OaNoOsG3g==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + }, + "node_modules/is-nil": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-nil/-/is-nil-1.0.1.tgz", + "integrity": "sha1-LauingtYUGOHXntTnQcfWxWTeWk=" + }, + "node_modules/is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "dependencies": { + "has-symbols": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "node_modules/json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "node_modules/jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "node_modules/latinize": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/latinize/-/latinize-0.4.1.tgz", + "integrity": "sha512-A4miz97dNF+EbNgQdayPAEtud5eRpCGPwJy7JQFD1hBQcOzOgBS4m721zoREuPqpz1yKm8hYT2ANlh7pirapsA==" + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/max-safe-int": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/max-safe-int/-/max-safe-int-1.0.0.tgz", + "integrity": "sha1-RPuo7Jk97ZH7LFo15xz5yfNpzlI=" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", + "dependencies": { + "mime-db": "1.47.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "node_modules/negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==", + "engines": { + "node": "4.x || >=6.0.0" + } + }, + "node_modules/node-geocoder": { + "version": "3.27.0", + "resolved": "https://registry.npmjs.org/node-geocoder/-/node-geocoder-3.27.0.tgz", + "integrity": "sha512-fNMi9smx56wFhG+2sd0qVsq5RgNlkUuQQ7UWqPwynoMb0GjxSP9joAn8wah4YDv6UzZu3b41cNmd0BglEPkC+Q==", + "dependencies": { + "bluebird": "^3.5.2", + "node-fetch": "^2.6.0", + "request": "^2.88.0", + "request-promise": "^4.2.2" + } + }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "engines": { + "node": "*" + } + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "node_modules/proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "dependencies": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/random-age": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/random-age/-/random-age-1.0.2.tgz", + "integrity": "sha1-GaXW0gxOtnhLwoPbKW7CZk6zFDs=", + "dependencies": { + "random-natural": "^1.0.3" + } + }, + "node_modules/random-birthday": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/random-birthday/-/random-birthday-1.0.1.tgz", + "integrity": "sha1-3ieJp6QS7HWhiMX/9fxWWndzspE=", + "dependencies": { + "random-age": "^1.0.2", + "random-natural": "^1.0.3" + } + }, + "node_modules/random-integral": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/random-integral/-/random-integral-1.0.3.tgz", + "integrity": "sha1-j/PBF1ZcmgS2bd1VnzrtKb0PD2w=", + "dependencies": { + "clamp": "^1.0.1", + "max-safe-int": "^1.0.0", + "to-integer": "^1.0.1" + } + }, + "node_modules/random-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/random-names/-/random-names-1.1.0.tgz", + "integrity": "sha1-886s0NWDp/DLR4SzEuYnFBzYD+k=", + "dependencies": { + "unique-random-array": "1.0.0" + } + }, + "node_modules/random-natural": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/random-natural/-/random-natural-1.0.3.tgz", + "integrity": "sha1-7yhhWwPCy3Gq6/fyT0hyZqRDxcA=", + "dependencies": { + "max-safe-int": "^1.0.0", + "random-integral": "^1.0.3" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/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==", + "dependencies": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/real-random-address": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/real-random-address/-/real-random-address-1.1.0.tgz", + "integrity": "sha512-+Jhrm/cR77y4/7QtvkMwofeZyFitgMPGpqA0wZ6RVfaTc+B4BT1za7ymhr+YeXGhJrvdLWEuYkVjdbv/b1BrVg==", + "dependencies": { + "latinize": "^0.4.0", + "node-geocoder": "^3.22.0" + } + }, + "node_modules/request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/request-promise": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.6.tgz", + "integrity": "sha512-HCHI3DJJUakkOr8fNoCc73E5nU5bqITjOYFMDrKHYOXWXrgD/SBaC7LjwuPymUprRyuF06UK7hd/lMHkmUXglQ==", + "deprecated": "request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142", + "dependencies": { + "bluebird": "^3.5.0", + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dependencies": { + "lodash": "^4.17.19" + }, + "engines": { + "node": ">=0.10.0" + }, + "peerDependencies": { + "request": "^2.34" + } + }, + "node_modules/request/node_modules/qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/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==" + }, + "node_modules/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==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "node_modules/sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-integer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-integer/-/to-integer-1.0.1.tgz", + "integrity": "sha1-URrUHc5qk3MKjztuNaFk/YKUZNo=", + "dependencies": { + "is-function": "^1.0.1", + "is-nil": "^1.0.0", + "is-object": "^1.0.1", + "is-symbol": "^1.0.1" + } + }, + "node_modules/toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unique-random": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-random/-/unique-random-1.0.0.tgz", + "integrity": "sha1-zj4iTIJCzTOg53sNcYDXfmti0MQ=", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unique-random-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-random-array/-/unique-random-array-1.0.0.tgz", + "integrity": "sha1-QrNyHFeTiNi2Z8k8Lb3j1dgakTY=", + "dependencies": { + "unique-random": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + } + }, + "dependencies": { + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + } + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "clamp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", + "integrity": "sha1-ZqDmQBGBbjcZaCj9yMjBRzEshjQ=" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "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" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fakerator": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/fakerator/-/fakerator-0.3.2.tgz", + "integrity": "sha512-Yw2ilaImRDctUsXJaIaHIIwsCzqNHIRPzdqkHNeGJl14kswt48QT3s8Df8i8pyL7f3X0MiMfp36v8OaNoOsG3g==" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "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==" + }, + "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==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.2.tgz", + "integrity": "sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==" + }, + "is-nil": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-nil/-/is-nil-1.0.1.tgz", + "integrity": "sha1-LauingtYUGOHXntTnQcfWxWTeWk=" + }, + "is-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.2.tgz", + "integrity": "sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==" + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "latinize": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/latinize/-/latinize-0.4.1.tgz", + "integrity": "sha512-A4miz97dNF+EbNgQdayPAEtud5eRpCGPwJy7JQFD1hBQcOzOgBS4m721zoREuPqpz1yKm8hYT2ANlh7pirapsA==" + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "max-safe-int": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/max-safe-int/-/max-safe-int-1.0.0.tgz", + "integrity": "sha1-RPuo7Jk97ZH7LFo15xz5yfNpzlI=" + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.47.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.47.0.tgz", + "integrity": "sha512-QBmA/G2y+IfeS4oktet3qRZ+P5kPhCKRXxXnQEudYqUaEioAU1/Lq2us3D/t1Jfo4hE9REQPrbB7K5sOczJVIw==" + }, + "mime-types": { + "version": "2.1.30", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.30.tgz", + "integrity": "sha512-crmjA4bLtR8m9qLpHvgxSChT+XoSlZi8J4n/aIdn3z92e/U47Z0V/yl+Wh9W046GgFVAmoNR/fmdbZYcSSIUeg==", + "requires": { + "mime-db": "1.47.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "node-fetch": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" + }, + "node-geocoder": { + "version": "3.27.0", + "resolved": "https://registry.npmjs.org/node-geocoder/-/node-geocoder-3.27.0.tgz", + "integrity": "sha512-fNMi9smx56wFhG+2sd0qVsq5RgNlkUuQQ7UWqPwynoMb0GjxSP9joAn8wah4YDv6UzZu3b41cNmd0BglEPkC+Q==", + "requires": { + "bluebird": "^3.5.2", + "node-fetch": "^2.6.0", + "request": "^2.88.0", + "request-promise": "^4.2.2" + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "random-age": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/random-age/-/random-age-1.0.2.tgz", + "integrity": "sha1-GaXW0gxOtnhLwoPbKW7CZk6zFDs=", + "requires": { + "random-natural": "^1.0.3" + } + }, + "random-birthday": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/random-birthday/-/random-birthday-1.0.1.tgz", + "integrity": "sha1-3ieJp6QS7HWhiMX/9fxWWndzspE=", + "requires": { + "random-age": "^1.0.2", + "random-natural": "^1.0.3" + } + }, + "random-integral": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/random-integral/-/random-integral-1.0.3.tgz", + "integrity": "sha1-j/PBF1ZcmgS2bd1VnzrtKb0PD2w=", + "requires": { + "clamp": "^1.0.1", + "max-safe-int": "^1.0.0", + "to-integer": "^1.0.1" + } + }, + "random-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/random-names/-/random-names-1.1.0.tgz", + "integrity": "sha1-886s0NWDp/DLR4SzEuYnFBzYD+k=", + "requires": { + "unique-random-array": "1.0.0" + } + }, + "random-natural": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/random-natural/-/random-natural-1.0.3.tgz", + "integrity": "sha1-7yhhWwPCy3Gq6/fyT0hyZqRDxcA=", + "requires": { + "max-safe-int": "^1.0.0", + "random-integral": "^1.0.3" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "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==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "real-random-address": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/real-random-address/-/real-random-address-1.1.0.tgz", + "integrity": "sha512-+Jhrm/cR77y4/7QtvkMwofeZyFitgMPGpqA0wZ6RVfaTc+B4BT1za7ymhr+YeXGhJrvdLWEuYkVjdbv/b1BrVg==", + "requires": { + "latinize": "^0.4.0", + "node-geocoder": "^3.22.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + } + } + }, + "request-promise": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/request-promise/-/request-promise-4.2.6.tgz", + "integrity": "sha512-HCHI3DJJUakkOr8fNoCc73E5nU5bqITjOYFMDrKHYOXWXrgD/SBaC7LjwuPymUprRyuF06UK7hd/lMHkmUXglQ==", + "requires": { + "bluebird": "^3.5.0", + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "requires": { + "lodash": "^4.17.19" + } + }, + "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==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "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==" + } + } + }, + "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==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=" + }, + "to-integer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-integer/-/to-integer-1.0.1.tgz", + "integrity": "sha1-URrUHc5qk3MKjztuNaFk/YKUZNo=", + "requires": { + "is-function": "^1.0.1", + "is-nil": "^1.0.0", + "is-object": "^1.0.1", + "is-symbol": "^1.0.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "unique-random": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-random/-/unique-random-1.0.0.tgz", + "integrity": "sha1-zj4iTIJCzTOg53sNcYDXfmti0MQ=" + }, + "unique-random-array": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unique-random-array/-/unique-random-array-1.0.0.tgz", + "integrity": "sha1-QrNyHFeTiNi2Z8k8Lb3j1dgakTY=", + "requires": { + "unique-random": "^1.0.0" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + } + } +} diff --git a/task-1/my-app-backand/package.json b/task-1/my-app-backand/package.json new file mode 100644 index 0000000..39c570a --- /dev/null +++ b/task-1/my-app-backand/package.json @@ -0,0 +1,24 @@ +{ + "name": "backend", + "version": "1.0.0", + "description": "", + "main": "server.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "server": "node server.js" + }, + "author": "", + "license": "ISC", + "dependencies": { + "body-parser": "^1.19.0", + "express": "^4.17.1", + "fakerator": "^0.3.2", + "random-birthday": "^1.0.1", + "random-names": "^1.1.0", + "real-random-address": "^1.1.0", + "uuid": "^3.3.3" + }, + "config": { + "port": "7070" + } +} diff --git a/task-1/my-app-backand/server.js b/task-1/my-app-backand/server.js new file mode 100644 index 0000000..1ff7480 --- /dev/null +++ b/task-1/my-app-backand/server.js @@ -0,0 +1,203 @@ +const express = require('express'); +const bodyParser = require("body-parser"); +const uuidv1 = require('uuid/v1'); +const fakerator = require("fakerator"); + +const app = express(); +const port = process.env.npm_package_config_port || 7070; +const random = fakerator("de-DE"); +const fs = require('fs'); + + +const services = [ + { id: uuidv1(), name: 'Замена стекла', price: 21000, content: 'Стекло оригинал от Apple'}, + { id: uuidv1(), name: 'Замена дисплея', price: 25000, content: 'Дисплей оригинал от Foxconn'}, + { id: uuidv1(), name: 'Замена аккумулятора', price: 4000, content: 'Новый на 4000 mAh'}, + { id: uuidv1(), name: 'Замена микрофона', price: 2500, content: 'Оригинальный от Apple'}, + { id: uuidv1(), name: 'Замена стекла1', price: 21000, content: 'Стекло оригинал от Apple'}, + { id: uuidv1(), name: 'Замена дисплея1', price: 25001, content: 'Дисплей оригинал от Foxconn'}, + { id: uuidv1(), name: 'Замена аккумулятора1', price: 4001, content: 'Новый на 4000 mAh'}, + { id: uuidv1(), name: 'Замена микрофона1', price: 2501, content: 'Оригинальный от Apple'}, + { id: uuidv1(), name: 'Замена стекла2', price: 21000, content: 'Стекло оригинал от Apple'}, + { id: uuidv1(), name: 'Замена дисплея2', price: 25001, content: 'Дисплей оригинал от Foxconn'}, + { id: uuidv1(), name: 'Замена аккумулятора2', price: 4001, content: 'Новый на 4000 mAh'}, + { id: uuidv1(), name: 'Замена микрофона2', price: 2501, content: 'Оригинальный от Apple'}, +]; + +app.use(function(req, res, next) { + res.header("Access-Control-Allow-Origin", "*"); + res.header("Access-Control-Allow-Headers", "*"); + res.header("Access-Control-Allow-Methods", "*"); + next(); +}); + +app.use(bodyParser.urlencoded({ extended: false })); +app.use(bodyParser.json()); + +function getRandomListAddresses() { + let length = Math.floor(Math.random() * 5) + 1; + let list = []; + + for (let i=0; i < length; i++) { + list.push(`${random.address.country()} ${random.address.city()} ${random.address.street()}`); + } + + return list; +} + +function getRandomPerson() { + const name = random.names.name(); + + return { + "fullName": name, + "listAddresses": getRandomListAddresses(), + "description": `${random.lorem.paragraph()}` + } +} + +function getRandomList() { + let length = Math.floor(Math.random() * 6) + 2; + let list = []; + + for (let i=0; i < length; i++) { + list.push(getRandomPerson()); + } + + return list; +} + +app.get('/api/cards', async function (req, res) { + res.send( + getRandomList() + ); +}) + +function getRandomInt(min, max) { + let result = Math.floor(Math.random() * (max - min)) + min; + return result; +} + +function theErrorIsComing(res){ + if (!(getRandomInt(0, 666) % 13)){ + console.log(`theErrorIsComing`); + res.statusMessage = "The error is coming."; + res.statusCode = 500; + res.end() + return true; + } + return false; + +} + +async function theDelayIsComing(process,delay){ + + let isDelayed = false; + if (!(getRandomInt(0, 9) % getRandomInt(0, 9)) || delay ){ + await new Promise(resolve => { + const timeout = delay || getRandomInt(1, 1 * 1000); + console.log(`theDelayIsComing ${timeout}`); + setTimeout(() => { + resolve(); + }, timeout); + }) + isDelayed = true; + } + process(); + return isDelayed; +} + +function getContentType(path) +{ + if (path.match(/\.js$/)) + return 'text/javascript'; + if (path.match(/\.css$/)) + return 'text/css'; + if (path.match(/\.html$/)) + return 'text/html'; + + return 'text/plain'; + +} + +function setHeaders(res, path, stat) +{ + const _path = '../my-app-react/build' +( req.path.match(/\/$/) ? '/index.html':path); + + res.append('Access-Control-Allow-Origin', '*'); + res.append('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE'); + res.append('Access-Control-Allow-Headers', 'Content-Type'); + + res.setHeader('Content-Type', getContentType(_path)); +} + +app.use(express.static('../my-app-react/build')); + +app.get(/\/^|\.(js|css|html)$/, async function (req, res) { + const path = '../my-app-react/build' +( req.path.match(/\/$/) ? '/index.html':req.path); + const data = fs.readFileSync(path, 'utf8'); + + res.setHeader('Content-Type', getContentType(path)); + res.send(data); + +}); + +; + +app.get('/api/services', async function (req,res) { + theErrorIsComing(res) || theDelayIsComing( () => { + res.send(services.map( o => { return {...o, content: undefined } })); + }); +}); + +app.post('/api/services/:serviceId',function (req,res) { + const {serviceId} = req.params; + theErrorIsComing(res) || theDelayIsComing( () => { + const {id = serviceId, name, price, content} = req.body; + console.log(`saveing:${id}`); + services = [ + ...services.filter( o => o.id !== id ), + { + id: services.filter( o => o.id !== id ).length > 0 ? id : uuidv1() , + name, + price, + content + } + ]; + res.send({ + 'code': 0, + 'message': 'Successfully complete', + }); + }); + +}); + +app.get('/api/services/:serviceId', async function (req,res) { + theErrorIsComing(res) || theDelayIsComing( () => { + console.log(`getting...`); + const {serviceId} = req.params; + res.send(services.filter( o => o.id === serviceId )[0] || {}); + }); +}); + +app.delete('/api/services/:serviceId', function (req,res) { + + theErrorIsComing(res) || theDelayIsComing( () => { + const {serviceId} = req.params; + console.log(`deleting:${serviceId}`); + + services = [ + ...services.filter( o => o.id !== serviceId ), + ]; + + res.send({ + 'code': 0, + 'message': 'Successfully complete', + }); + + }, 3000); +}); + + +app.listen(port, function () { + console.log(`Notes server running on http://localhost:${port}`); +}); diff --git a/task-1/my-app-react/README.md b/task-1/my-app-react/README.md new file mode 100644 index 0000000..02aac3f --- /dev/null +++ b/task-1/my-app-react/README.md @@ -0,0 +1,70 @@ +# Getting Started with Create React App + +This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app). + +## Available Scripts + +In the project directory, you can run: + +### `yarn start` + +Runs the app in the development mode.\ +Open [http://localhost:3000](http://localhost:3000) to view it in the browser. + +The page will reload if you make edits.\ +You will also see any lint errors in the console. + +### `yarn test` + +Launches the test runner in the interactive watch mode.\ +See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information. + +### `yarn build` + +Builds the app for production to the `build` folder.\ +It correctly bundles React in production mode and optimizes the build for the best performance. + +The build is minified and the filenames include the hashes.\ +Your app is ready to be deployed! + +See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information. + +### `yarn eject` + +**Note: this is a one-way operation. Once you `eject`, you can’t go back!** + +If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project. + +Instead, it will copy all the configuration files and the transitive dependencies (webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own. + +You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it. + +## Learn More + +You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started). + +To learn React, check out the [React documentation](https://reactjs.org/). + +### Code Splitting + +This section has moved here: [https://facebook.github.io/create-react-app/docs/code-splitting](https://facebook.github.io/create-react-app/docs/code-splitting) + +### Analyzing the Bundle Size + +This section has moved here: [https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size](https://facebook.github.io/create-react-app/docs/analyzing-the-bundle-size) + +### Making a Progressive Web App + +This section has moved here: [https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app](https://facebook.github.io/create-react-app/docs/making-a-progressive-web-app) + +### Advanced Configuration + +This section has moved here: [https://facebook.github.io/create-react-app/docs/advanced-configuration](https://facebook.github.io/create-react-app/docs/advanced-configuration) + +### Deployment + +This section has moved here: [https://facebook.github.io/create-react-app/docs/deployment](https://facebook.github.io/create-react-app/docs/deployment) + +### `yarn build` fails to minify + +This section has moved here: [https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify](https://facebook.github.io/create-react-app/docs/troubleshooting#npm-run-build-fails-to-minify) diff --git a/task-1/my-app-react/build/asset-manifest.json b/task-1/my-app-react/build/asset-manifest.json new file mode 100644 index 0000000..fa0bfcf --- /dev/null +++ b/task-1/my-app-react/build/asset-manifest.json @@ -0,0 +1,22 @@ +{ + "files": { + "main.css": "/static/css/main.695d92eb.chunk.css", + "main.js": "/static/js/main.772daaf4.chunk.js", + "main.js.map": "/static/js/main.772daaf4.chunk.js.map", + "runtime-main.js": "/static/js/runtime-main.706c7909.js", + "runtime-main.js.map": "/static/js/runtime-main.706c7909.js.map", + "static/js/2.5ace98cc.chunk.js": "/static/js/2.5ace98cc.chunk.js", + "static/js/2.5ace98cc.chunk.js.map": "/static/js/2.5ace98cc.chunk.js.map", + "static/js/3.7c12e863.chunk.js": "/static/js/3.7c12e863.chunk.js", + "static/js/3.7c12e863.chunk.js.map": "/static/js/3.7c12e863.chunk.js.map", + "index.html": "/index.html", + "static/css/main.695d92eb.chunk.css.map": "/static/css/main.695d92eb.chunk.css.map", + "static/js/2.5ace98cc.chunk.js.LICENSE.txt": "/static/js/2.5ace98cc.chunk.js.LICENSE.txt" + }, + "entrypoints": [ + "static/js/runtime-main.706c7909.js", + "static/js/2.5ace98cc.chunk.js", + "static/css/main.695d92eb.chunk.css", + "static/js/main.772daaf4.chunk.js" + ] +} \ No newline at end of file diff --git a/task-1/my-app-react/build/index.html b/task-1/my-app-react/build/index.html new file mode 100644 index 0000000..58aa67c --- /dev/null +++ b/task-1/my-app-react/build/index.html @@ -0,0 +1 @@ +React App
\ No newline at end of file diff --git a/task-1/my-app-react/build/static/css/main.695d92eb.chunk.css b/task-1/my-app-react/build/static/css/main.695d92eb.chunk.css new file mode 100644 index 0000000..45c7012 --- /dev/null +++ b/task-1/my-app-react/build/static/css/main.695d92eb.chunk.css @@ -0,0 +1,2 @@ +.card-ie .card-label-ie{display:block!important;padding:.5em .5em .5em .7em!important;min-height:20px!important;line-height:33px!important;text-align:center}.card-ie .card-label-ie:after{content:""!important}.card-ie .card-content-ie{overflow:hidden}.card-ie input:checked .card-content-ie{max-height:100%}input{position:absolute;opacity:0;z-index:-1}.card{width:100%;color:#fff;overflow:hidden;margin:0;padding:0}.card-label{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;padding:1em;background:#667a81;font-weight:700;cursor:pointer}.card-label:hover{background:#54646a}.card-label:after{content:"❯";width:1em;height:1em;text-align:center;transition:all .5s}.card-content{max-height:0;padding:0 1em;font-size:1em;color:#667a81;background:#fff;transition:all .15s}input:checked+.card-label{background:#4f5f65}input:checked+.card-label:after{-ms-transform:rotate(90deg);transform:rotate(90deg)}input:checked~.card-content{max-height:100vh;padding:1em}ul{list-style-position:inside;text-align:left}body,html,ul{margin:0;padding:0}body{height:100%;width:100%}.container{margin:0 auto;padding:5%;min-width:20%;max-width:70%;min-height:100%;text-align:left}.container .cardsList{width:60%;margin:0 auto;border-radius:8px;overflow:hidden;box-shadow:0 4px 4px -2px rgba(0,0,0,.568)}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace} +/*# sourceMappingURL=main.695d92eb.chunk.css.map */ \ No newline at end of file diff --git a/task-1/my-app-react/build/static/css/main.695d92eb.chunk.css.map b/task-1/my-app-react/build/static/css/main.695d92eb.chunk.css.map new file mode 100644 index 0000000..a1f46b5 --- /dev/null +++ b/task-1/my-app-react/build/static/css/main.695d92eb.chunk.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack://src/style/all-ie-only.scss","webpack://src/style/Card.scss","webpack://src/style/PageCards.scss","webpack://src/index.css"],"names":[],"mappings":"AAGI,wBACI,uBAAA,CAEA,qCAAA,CACA,yBAAA,CACA,0BAAA,CACA,iBAAA,CAEA,8BACI,oBAAA,CAIR,0BACI,eAAA,CAIA,wCACI,eAAA,CCtBZ,MAGA,iBACI,CAAA,SACA,CAAA,UACA,CAAA,MAGJ,UACI,CAAA,UACA,CAAA,eACA,CAAA,QACA,CAAA,SACA,CAAA,YAEA,mBACI,CADJ,YACI,CAAA,qBACA,CADA,6BACA,CAAA,WACA,CAAA,kBAnBG,CAAA,eAqBH,CAAA,cACA,CAAA,kBAEA,kBACI,CAAA,kBAGJ,WACI,CAAA,SACA,CAAA,UACA,CAAA,iBACA,CAIA,kBACA,CAAA,cAIR,YACI,CAAA,aACA,CAAA,aACA,CAAA,aA5CG,CAAA,eA8CH,CAIA,mBACA,CAAA,0BAKJ,kBACI,CAAA,gCAEA,2BAAA,CAAA,uBACI,CAAA,4BAIR,gBACI,CAAA,WACA,CAAA,GAIR,0BACI,CAAA,eAGA,CCxEJ,aDsEI,QACA,CAAA,SCpEF,CAGF,KACE,WAAA,CACA,UAAA,CAGF,WACE,aAAA,CACA,UAAA,CACA,aAAA,CACA,aAAA,CACA,eAAA,CACA,eAAA,CAGA,sBACE,SAAA,CACA,aAAA,CACA,iBAAA,CACA,eAAA,CACA,0CAAA,CC3BJ,KACE,QAAS,CACT,mJAEY,CACZ,kCAAmC,CACnC,iCACF,CAEA,KACE,yEAEF","file":"main.695d92eb.chunk.css","sourcesContent":["$midnight: #667a81;\r\n\r\n.card-ie {\r\n .card-label-ie {\r\n display: block !important;\r\n //position: relative !important;\r\n padding: .5em .5em .5em .7em !important;\r\n min-height: 20px !important;\r\n line-height: 33px !important;\r\n text-align: center;\r\n\r\n &::after {\r\n content: \"\" !important;\r\n }\r\n }\r\n\r\n .card-content-ie {\r\n overflow: hidden;\r\n }\r\n\r\n input:checked {\r\n .card-content-ie {\r\n max-height: 100%;\r\n }\r\n }\r\n}","input{position:absolute;opacity:0;z-index:-1}.card{width:100%;color:#fff;overflow:hidden;margin:0;padding:0}.card-label{display:flex;justify-content:space-between;padding:1em;background:#667a81;font-weight:bold;cursor:pointer}.card-label:hover{background:#54646a}.card-label::after{content:\"❯\";width:1em;height:1em;text-align:center;-webkit-transition:all .5s;-moz-transition:all .5s;-o-transition:all .5s;-ms-transition:all .5s;transition:all .5s}.card-content{max-height:0;padding:0 1em;font-size:1em;color:#667a81;background:#fff;-webkit-transition:all .15s;-moz-transition:all .15s;-o-transition:all .15s;-ms-transition:all .15s;transition:all .15s}input:checked+.card-label{background:#4f5f65}input:checked+.card-label::after{transform:rotate(90deg)}input:checked~.card-content{max-height:100vh;padding:1em}ul{list-style-position:inside;text-align:left;margin:0;padding:0}","//$container: #f4f4f542;\r\n\r\nhtml,\r\nbody {\r\n margin: 0;\r\n padding: 0;\r\n}\r\n\r\nbody {\r\n height: 100%;\r\n width: 100%;\r\n}\r\n\r\n.container {\r\n margin: 0 auto;\r\n padding: 5%;\r\n min-width: 20%;\r\n max-width: 70%;\r\n min-height: 100%;\r\n text-align: left;\r\n //background-color: $container;\r\n\r\n .cardsList {\r\n width: 60%;\r\n margin: 0 auto;\r\n border-radius: 8px;\r\n overflow: hidden;\r\n box-shadow: 0 4px 4px -2px rgba(0, 0, 0, 0.568);\r\n }\r\n}\r\n","body {\n margin: 0;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',\n 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',\n sans-serif;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\ncode {\n font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',\n monospace;\n}\n"]} \ No newline at end of file diff --git a/task-1/my-app-react/build/static/js/2.5ace98cc.chunk.js b/task-1/my-app-react/build/static/js/2.5ace98cc.chunk.js new file mode 100644 index 0000000..d17cf40 --- /dev/null +++ b/task-1/my-app-react/build/static/js/2.5ace98cc.chunk.js @@ -0,0 +1,3 @@ +/*! For license information please see 2.5ace98cc.chunk.js.LICENSE.txt */ +(this["webpackJsonpweb-app"]=this["webpackJsonpweb-app"]||[]).push([[2],[function(e,t,n){var r=n(9),o=n(40).f,i=n(23),a=n(26),u=n(43),l=n(62),c=n(66);e.exports=function(e,t){var n,s,f,d,p,h=e.target,v=e.global,y=e.stat;if(n=v?r:y?r[h]||u(h,{}):(r[h]||{}).prototype)for(s in t){if(d=t[s],f=e.noTargetGet?(p=o(n,s))&&p.value:n[s],!c(v?s:h+(y?".":"#")+s,e.forced)&&void 0!==f){if(typeof d===typeof f)continue;l(d,f)}(e.sham||f&&f.sham)&&i(d,"sham",!0),a(n,s,d,e)}}},function(e,t,n){var r=n(18);e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},function(e,t,n){"use strict";e.exports=n(96)},function(e,t){e.exports=!1},function(e,t,n){var r=n(1),o=n(68),i=n(31),a=n(8),u=n(50),l=n(71),c=function(e,t){this.stopped=e,this.result=t};e.exports=function(e,t,n){var s,f,d,p,h,v,y,m=n&&n.that,g=!(!n||!n.AS_ENTRIES),b=!(!n||!n.IS_ITERATOR),w=!(!n||!n.INTERRUPTED),k=a(t,m,1+g+w),S=function(e){return s&&l(s),new c(!0,e)},E=function(e){return g?(r(e),w?k(e[0],e[1],S):k(e[0],e[1])):w?k(e,S):k(e)};if(b)s=e;else{if("function"!=typeof(f=u(e)))throw TypeError("Target is not iterable");if(o(f)){for(d=0,p=i(e.length);p>d;d++)if((h=E(e[d]))&&h instanceof c)return h;return new c(!1)}s=f.call(e)}for(v=s.next;!(y=v.call(s)).done;){try{h=E(y.value)}catch(x){throw l(s),x}if("object"==typeof h&&h&&h instanceof c)return h}return new c(!1)}},function(e,t){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},function(e,t,n){"use strict";e.exports=n(91)},function(e,t,n){var r=n(9),o=n(45),i=n(16),a=n(37),u=n(49),l=n(69),c=o("wks"),s=r.Symbol,f=l?s:s&&s.withoutSetter||a;e.exports=function(e){return i(c,e)||(u&&i(s,e)?c[e]=s[e]:c[e]=f("Symbol."+e)),c[e]}},function(e,t,n){var r=n(5);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,o){return e.call(t,n,r,o)}}return function(){return e.apply(t,arguments)}}},function(e,t,n){(function(t){var n=function(e){return e&&e.Math==Math&&e};e.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof t&&t)||function(){return this}()||Function("return this")()}).call(this,n(39))},function(e,t,n){var r=n(63),o=n(16),i=n(84),a=n(19).f;e.exports=function(e){var t=r.Symbol||(r.Symbol={});o(t,e)||a(t,e,{value:i.f(e)})}},function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.d(t,"a",(function(){return r}))},function(e,t,n){"use strict";function r(e,t){for(var n=0;n0?o(r(e),9007199254740991):0}},function(e,t){e.exports={}},function(e,t,n){var r=n(42);e.exports=function(e){return Object(r(e))}},function(e,t,n){"use strict";var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;function a(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach((function(e){r[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(o){return!1}}()?Object.assign:function(e,t){for(var n,u,l=a(e),c=1;c"+e+""},h=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(t){}h=r?function(e){e.write(p("")),e.close();var t=e.parentWindow.Object;return e=null,t}(r):function(){var e,t=c("iframe");return t.style.display="none",l.appendChild(t),t.src=String("javascript:"),(e=t.contentWindow.document).open(),e.write(p("document.F=Object")),e.close(),e.F}();for(var e=a.length;e--;)delete h.prototype[a[e]];return h()};u[f]=!0,e.exports=Object.create||function(e,t){var n;return null!==e?(d.prototype=o(e),n=new d,d.prototype=null,n[f]=e):n=h(),void 0===t?n:i(n,t)}},function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(r){"object"===typeof window&&(n=window)}e.exports=n},function(e,t,n){var r=n(21),o=n(57),i=n(28),a=n(25),u=n(35),l=n(16),c=n(59),s=Object.getOwnPropertyDescriptor;t.f=r?s:function(e,t){if(e=a(e),t=u(t,!0),c)try{return s(e,t)}catch(n){}if(l(e,t))return i(!o.f.call(e,t),e[t])}},function(e,t){var n={}.toString;e.exports=function(e){return n.call(e).slice(8,-1)}},function(e,t){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,t,n){var r=n(9),o=n(23);e.exports=function(e,t){try{o(r,e,t)}catch(n){r[e]=t}return t}},function(e,t,n){var r=n(9),o=n(43),i="__core-js_shared__",a=r[i]||o(i,{});e.exports=a},function(e,t,n){var r=n(3),o=n(44);(e.exports=function(e,t){return o[e]||(o[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.9.0",mode:r?"pure":"global",copyright:"\xa9 2021 Denis Pushkarev (zloirock.ru)"})},function(e,t,n){var r=n(64),o=n(48).concat("length","prototype");t.f=Object.getOwnPropertyNames||function(e){return r(e,o)}},function(e,t){var n=Math.ceil,r=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?r:n)(e)}},function(e,t){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},function(e,t,n){var r=n(17);e.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},function(e,t,n){var r=n(70),o=n(32),i=n(7)("iterator");e.exports=function(e){if(void 0!=e)return e[i]||e["@@iterator"]||o[r(e)]}},function(e,t,n){var r={};r[n(7)("toStringTag")]="z",e.exports="[object z]"===String(r)},function(e,t,n){"use strict";var r=n(0),o=n(112),i=n(78),a=n(74),u=n(27),l=n(23),c=n(26),s=n(7),f=n(3),d=n(32),p=n(77),h=p.IteratorPrototype,v=p.BUGGY_SAFARI_ITERATORS,y=s("iterator"),m="keys",g="values",b="entries",w=function(){return this};e.exports=function(e,t,n,s,p,k,S){o(n,t,s);var E,x,_,T=function(e){if(e===p&&N)return N;if(!v&&e in C)return C[e];switch(e){case m:case g:case b:return function(){return new n(this,e)}}return function(){return new n(this)}},O=t+" Iterator",P=!1,C=e.prototype,R=C[y]||C["@@iterator"]||p&&C[p],N=!v&&R||T(p),L="Array"==t&&C.entries||R;if(L&&(E=i(L.call(new e)),h!==Object.prototype&&E.next&&(f||i(E)===h||(a?a(E,h):"function"!=typeof E[y]&&l(E,y,w)),u(E,O,!0,!0),f&&(d[O]=w))),p==g&&R&&R.name!==g&&(P=!0,N=function(){return R.call(this)}),f&&!S||C[y]===N||l(C,y,N),d[t]=N,p)if(x={values:T(g),keys:k?N:T(m),entries:T(b)},S)for(_ in x)(v||P||!(_ in C))&&c(C,_,x[_]);else r({target:t,proto:!0,forced:v||P},x);return x}},function(e,t,n){var r=n(1),o=n(50);e.exports=function(e){var t=o(e);if("function"!=typeof t)throw TypeError(String(e)+" is not iterable");return r(t.call(e))}},function(e,t,n){var r=n(41);e.exports=Array.isArray||function(e){return"Array"==r(e)}},function(e,t,n){e.exports=n(95)},function(e,t,n){"use strict";var r=n(0),o=n(9),i=n(66),a=n(26),u=n(67),l=n(4),c=n(72),s=n(18),f=n(17),d=n(73),p=n(27),h=n(107);e.exports=function(e,t,n){var v=-1!==e.indexOf("Map"),y=-1!==e.indexOf("Weak"),m=v?"set":"add",g=o[e],b=g&&g.prototype,w=g,k={},S=function(e){var t=b[e];a(b,e,"add"==e?function(e){return t.call(this,0===e?0:e),this}:"delete"==e?function(e){return!(y&&!s(e))&&t.call(this,0===e?0:e)}:"get"==e?function(e){return y&&!s(e)?void 0:t.call(this,0===e?0:e)}:"has"==e?function(e){return!(y&&!s(e))&&t.call(this,0===e?0:e)}:function(e,n){return t.call(this,0===e?0:e,n),this})};if(i(e,"function"!=typeof g||!(y||b.forEach&&!f((function(){(new g).entries().next()})))))w=n.getConstructor(t,e,v,m),u.REQUIRED=!0;else if(i(e,!0)){var E=new w,x=E[m](y?{}:-0,1)!=E,_=f((function(){E.has(1)})),T=d((function(e){new g(e)})),O=!y&&f((function(){for(var e=new g,t=5;t--;)e[m](t,t);return!e.has(-0)}));T||((w=t((function(t,n){c(t,w,e);var r=h(new g,t,w);return void 0!=n&&l(n,r[m],{that:r,AS_ENTRIES:v}),r}))).prototype=b,b.constructor=w),(_||O)&&(S("delete"),S("has"),v&&S("get")),(O||x)&&S(m),y&&b.clear&&delete b.clear}return k[e]=w,r({global:!0,forced:w!=g},k),p(w,e),y||n.setStrong(w,e,v),w}},function(e,t,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);t.f=i?function(e){var t=o(this,e);return!!t&&t.enumerable}:r},function(e,t,n){var r=n(17),o=n(41),i="".split;e.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==o(e)?i.call(e,""):Object(e)}:Object},function(e,t,n){var r=n(21),o=n(17),i=n(60);e.exports=!r&&!o((function(){return 7!=Object.defineProperty(i("div"),"a",{get:function(){return 7}}).a}))},function(e,t,n){var r=n(9),o=n(18),i=r.document,a=o(i)&&o(i.createElement);e.exports=function(e){return a?i.createElement(e):{}}},function(e,t,n){var r=n(44),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(e){return o.call(e)}),e.exports=r.inspectSource},function(e,t,n){var r=n(16),o=n(103),i=n(40),a=n(19);e.exports=function(e,t){for(var n=o(t),u=a.f,l=i.f,c=0;cl;)r(u,n=t[l++])&&(~i(c,n)||c.push(n));return c}},function(e,t){t.f=Object.getOwnPropertySymbols},function(e,t,n){var r=n(17),o=/#|\.prototype\./,i=function(e,t){var n=u[a(e)];return n==c||n!=l&&("function"==typeof t?r(t):!!t)},a=i.normalize=function(e){return String(e).replace(o,".").toLowerCase()},u=i.data={},l=i.NATIVE="N",c=i.POLYFILL="P";e.exports=i},function(e,t,n){var r=n(30),o=n(18),i=n(16),a=n(19).f,u=n(37),l=n(106),c=u("meta"),s=0,f=Object.isExtensible||function(){return!0},d=function(e){a(e,c,{value:{objectID:"O"+ ++s,weakData:{}}})},p=e.exports={REQUIRED:!1,fastKey:function(e,t){if(!o(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!i(e,c)){if(!f(e))return"F";if(!t)return"E";d(e)}return e[c].objectID},getWeakData:function(e,t){if(!i(e,c)){if(!f(e))return!0;if(!t)return!1;d(e)}return e[c].weakData},onFreeze:function(e){return l&&p.REQUIRED&&f(e)&&!i(e,c)&&d(e),e}};r[c]=!0},function(e,t,n){var r=n(7),o=n(32),i=r("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(o.Array===e||a[i]===e)}},function(e,t,n){var r=n(49);e.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},function(e,t,n){var r=n(51),o=n(41),i=n(7)("toStringTag"),a="Arguments"==o(function(){return arguments}());e.exports=r?o:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(n){}}(t=Object(e),i))?n:a?o(t):"Object"==(r=o(t))&&"function"==typeof t.callee?"Arguments":r}},function(e,t,n){var r=n(1);e.exports=function(e){var t=e.return;if(void 0!==t)return r(t.call(e)).value}},function(e,t){e.exports=function(e,t,n){if(!(e instanceof t))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return e}},function(e,t,n){var r=n(7)("iterator"),o=!1;try{var i=0,a={next:function(){return{done:!!i++}},return:function(){o=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(u){}e.exports=function(e,t){if(!t&&!o)return!1;var n=!1;try{var i={};i[r]=function(){return{next:function(){return{done:n=!0}}}},e(i)}catch(u){}return n}},function(e,t,n){var r=n(1),o=n(108);e.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,n={};try{(e=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set).call(n,[]),t=n instanceof Array}catch(i){}return function(n,i){return r(n),o(i),t?e.call(n,i):n.__proto__=i,n}}():void 0)},function(e,t,n){"use strict";var r=n(19).f,o=n(38),i=n(111),a=n(8),u=n(72),l=n(4),c=n(52),s=n(114),f=n(21),d=n(67).fastKey,p=n(29),h=p.set,v=p.getterFor;e.exports={getConstructor:function(e,t,n,c){var s=e((function(e,r){u(e,s,t),h(e,{type:t,index:o(null),first:void 0,last:void 0,size:0}),f||(e.size=0),void 0!=r&&l(r,e[c],{that:e,AS_ENTRIES:n})})),p=v(t),y=function(e,t,n){var r,o,i=p(e),a=m(e,t);return a?a.value=n:(i.last=a={index:o=d(t,!0),key:t,value:n,previous:r=i.last,next:void 0,removed:!1},i.first||(i.first=a),r&&(r.next=a),f?i.size++:e.size++,"F"!==o&&(i.index[o]=a)),e},m=function(e,t){var n,r=p(e),o=d(t);if("F"!==o)return r.index[o];for(n=r.first;n;n=n.next)if(n.key==t)return n};return i(s.prototype,{clear:function(){for(var e=p(this),t=e.index,n=e.first;n;)n.removed=!0,n.previous&&(n.previous=n.previous.next=void 0),delete t[n.index],n=n.next;e.first=e.last=void 0,f?e.size=0:this.size=0},delete:function(e){var t=this,n=p(t),r=m(t,e);if(r){var o=r.next,i=r.previous;delete n.index[r.index],r.removed=!0,i&&(i.next=o),o&&(o.previous=i),n.first==r&&(n.first=o),n.last==r&&(n.last=i),f?n.size--:t.size--}return!!r},forEach:function(e){for(var t,n=p(this),r=a(e,arguments.length>1?arguments[1]:void 0,3);t=t?t.next:n.first;)for(r(t.value,t.key,this);t&&t.removed;)t=t.previous},has:function(e){return!!m(this,e)}}),i(s.prototype,n?{get:function(e){var t=m(this,e);return t&&t.value},set:function(e,t){return y(this,0===e?0:e,t)}}:{add:function(e){return y(this,e=0===e?0:e,e)}}),f&&r(s.prototype,"size",{get:function(){return p(this).size}}),s},setStrong:function(e,t,n){var r=t+" Iterator",o=v(t),i=v(r);c(e,t,(function(e,t){h(this,{type:r,target:e,state:o(e),kind:t,last:void 0})}),(function(){for(var e=i(this),t=e.kind,n=e.last;n&&n.removed;)n=n.previous;return e.target&&(e.last=n=n?n.next:e.state.first)?"keys"==t?{value:n.key,done:!1}:"values"==t?{value:n.value,done:!1}:{value:[n.key,n.value],done:!1}:(e.target=void 0,{value:void 0,done:!0})}),n?"entries":"values",!n,!0),s(t)}}},function(e,t,n){var r=n(64),o=n(48);e.exports=Object.keys||function(e){return r(e,o)}},function(e,t,n){"use strict";var r,o,i,a=n(17),u=n(78),l=n(23),c=n(16),s=n(7),f=n(3),d=s("iterator"),p=!1;[].keys&&("next"in(i=[].keys())?(o=u(u(i)))!==Object.prototype&&(r=o):p=!0);var h=void 0==r||a((function(){var e={};return r[d].call(e)!==e}));h&&(r={}),f&&!h||c(r,d)||l(r,d,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},function(e,t,n){var r=n(16),o=n(33),i=n(36),a=n(113),u=i("IE_PROTO"),l=Object.prototype;e.exports=a?Object.getPrototypeOf:function(e){return e=o(e),r(e,u)?e[u]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?l:null}},function(e,t,n){var r=n(51),o=n(26),i=n(115);r||o(Object.prototype,"toString",i,{unsafe:!0})},function(e,t,n){"use strict";var r=n(117).charAt,o=n(29),i=n(52),a="String Iterator",u=o.set,l=o.getterFor(a);i(String,"String",(function(e){u(this,{type:a,string:String(e),index:0})}),(function(){var e,t=l(this),n=t.string,o=t.index;return o>=n.length?{value:void 0,done:!0}:(e=r(n,o),t.index+=e.length,{value:e,done:!1})}))},function(e,t,n){"use strict";var r=n(1),o=n(5);e.exports=function(){for(var e,t=r(this),n=o(t.delete),i=!0,a=0,u=arguments.length;a1?arguments[1]:void 0;return r(this),(t=void 0!==c)&&r(c),void 0==e?new this:(n=[],t?(a=0,u=o(c,l>2?arguments[2]:void 0,2),i(e,(function(e){n.push(u(e,a++))}))):i(e,n.push,{that:n}),new this(n))}},function(e,t,n){"use strict";e.exports=function(){for(var e=arguments.length,t=new Array(e);e--;)t[e]=arguments[e];return new this(t)}},function(e,t,n){var r=n(7);t.f=r},function(e,t,n){var r=n(18),o=n(54),i=n(7)("species");e.exports=function(e,t){var n;return o(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!o(n.prototype)?r(n)&&null===(n=n[i])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===t?0:t)}},function(e,t,n){"use strict";var r=n(35),o=n(19),i=n(28);e.exports=function(e,t,n){var a=r(t);a in e?o.f(e,a,i(0,n)):e[a]=n}},function(e,t,n){var r,o,i=n(9),a=n(178),u=i.process,l=u&&u.versions,c=l&&l.v8;c?o=(r=c.split("."))[0]+r[1]:a&&(!(r=a.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/))&&(o=r[1]),e.exports=o&&+o},function(e,t,n){"use strict";var r=n(188);function o(){}var i=null,a={};function u(e){if("object"!==typeof this)throw new TypeError("Promises must be constructed via new");if("function"!==typeof e)throw new TypeError("Promise constructor's argument is not a function");this._U=0,this._V=0,this._W=null,this._X=null,e!==o&&p(e,this)}function l(e,t){for(;3===e._V;)e=e._W;if(u._Y&&u._Y(e),0===e._V)return 0===e._U?(e._U=1,void(e._X=t)):1===e._U?(e._U=2,void(e._X=[e._X,t])):void e._X.push(t);!function(e,t){r((function(){var n=1===e._V?t.onFulfilled:t.onRejected;if(null!==n){var r=function(e,t){try{return e(t)}catch(n){return i=n,a}}(n,e._W);r===a?s(t.promise,i):c(t.promise,r)}else 1===e._V?c(t.promise,e._W):s(t.promise,e._W)}))}(e,t)}function c(e,t){if(t===e)return s(e,new TypeError("A promise cannot be resolved with itself."));if(t&&("object"===typeof t||"function"===typeof t)){var n=function(e){try{return e.then}catch(t){return i=t,a}}(t);if(n===a)return s(e,i);if(n===e.then&&t instanceof u)return e._V=3,e._W=t,void f(e);if("function"===typeof n)return void p(n.bind(t),e)}e._V=1,e._W=t,f(e)}function s(e,t){e._V=2,e._W=t,u._Z&&u._Z(e,t),f(e)}function f(e){if(1===e._U&&(l(e,e._X),e._X=null),2===e._U){for(var t=0;t