From b00c3a701420438abcefd82cc8aba29255696efd Mon Sep 17 00:00:00 2001 From: Denis Date: Mon, 13 Mar 2023 08:57:26 +0400 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B2=D0=B0=D1=8F=20=D0=BB?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=80=D0=B0=D1=82=D0=BE=D1=80=D0=BD=D0=B0?= =?UTF-8?q?=D1=8F=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 22 - .../is/ulstu/ru/Application/Application.java | 21 - src/main/resources/application.properties | 1 - .../ru/Application/ApplicationTests.java | 13 - website/css/style.css | 197 + website/data.js | 11 + website/fonts/iviSans/iviSans-Black.otf | Bin 0 -> 32064 bytes website/fonts/iviSans/iviSans-Bold.otf | Bin 0 -> 35448 bytes website/fonts/iviSans/iviSans-Medium.otf | Bin 0 -> 35320 bytes website/fonts/iviSans/iviSans-Regular.otf | Bin 0 -> 33488 bytes website/handlebars/items-select.html | 3 + website/handlebars/items-table.html | 10 + website/index.html | 58 + website/js2.js | 59 + website/package-lock.json | 4219 +++++++++++++++++ website/package.json | 20 + website/start.bat | 1 + 17 files changed, 4578 insertions(+), 57 deletions(-) delete mode 100644 build.gradle delete mode 100644 src/main/java/is/ulstu/ru/Application/Application.java delete mode 100644 src/main/resources/application.properties delete mode 100644 src/test/java/is/ulstu/ru/Application/ApplicationTests.java create mode 100644 website/css/style.css create mode 100644 website/data.js create mode 100644 website/fonts/iviSans/iviSans-Black.otf create mode 100644 website/fonts/iviSans/iviSans-Bold.otf create mode 100644 website/fonts/iviSans/iviSans-Medium.otf create mode 100644 website/fonts/iviSans/iviSans-Regular.otf create mode 100644 website/handlebars/items-select.html create mode 100644 website/handlebars/items-table.html create mode 100644 website/index.html create mode 100644 website/js2.js create mode 100644 website/package-lock.json create mode 100644 website/package.json create mode 100644 website/start.bat diff --git a/build.gradle b/build.gradle deleted file mode 100644 index d70bdf7..0000000 --- a/build.gradle +++ /dev/null @@ -1,22 +0,0 @@ -plugins { - id 'java' - id 'org.springframework.boot' version '3.0.2' - id 'io.spring.dependency-management' version '1.1.0' -} - -group = 'is.ulstu.ru' -version = '0.0.1-SNAPSHOT' -sourceCompatibility = '17' - -repositories { - mavenCentral() -} - -dependencies { - implementation 'org.springframework.boot:spring-boot-starter-web' - testImplementation 'org.springframework.boot:spring-boot-starter-test' -} - -tasks.named('test') { - useJUnitPlatform() -} diff --git a/src/main/java/is/ulstu/ru/Application/Application.java b/src/main/java/is/ulstu/ru/Application/Application.java deleted file mode 100644 index 8d5817a..0000000 --- a/src/main/java/is/ulstu/ru/Application/Application.java +++ /dev/null @@ -1,21 +0,0 @@ -package is.ulstu.ru.Application; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -@SpringBootApplication -@RestController -public class Application { - - public static void main(String[] args) { - SpringApplication.run(Application.class, args); - } - @GetMapping("/hello") - public String hello(@RequestParam(value = "name", defaultValue = "World") String name) { - return String.format("Hello %s!", name); - } - -} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties deleted file mode 100644 index 8b13789..0000000 --- a/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/test/java/is/ulstu/ru/Application/ApplicationTests.java b/src/test/java/is/ulstu/ru/Application/ApplicationTests.java deleted file mode 100644 index 6b431f1..0000000 --- a/src/test/java/is/ulstu/ru/Application/ApplicationTests.java +++ /dev/null @@ -1,13 +0,0 @@ -package is.ulstu.ru.Application; - -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - -@SpringBootTest -class ApplicationTests { - - @Test - void contextLoads() { - } - -} diff --git a/website/css/style.css b/website/css/style.css new file mode 100644 index 0000000..395844b --- /dev/null +++ b/website/css/style.css @@ -0,0 +1,197 @@ +@font-face { + font-family: 'iviSans bold'; + src: url(../fonts/iviSans/iviSans-Bold.otf); +} +@font-face { + font-family: 'iviSans Medium'; + src: url(../fonts/iviSans/iviSans-Medium.otf); +} +@font-face { + font-family: 'iviSans Regular'; + src: url(../fonts/iviSans/iviSans-Regular.otf); +} +label.error { + color: red; +} +input.error { + border: 1px dashed red; + color: red; +} +.bg-rose { + --bs-bg-opacity: 1; + background-color: rgb(225, 30, 157) !important; +} +.bg-red { + --bs-bg-opacity: 1; + background-color: rgb(225, 30, 30) !important; +} +a.nav-link{ + color: rgb(146, 138, 138) !important; + font-size: 20px; + font-family: 'iviSans Medium'; +} +.custom-toggler .navbar-toggler-icon { + background-image: url( +"data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.8)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E"); +} +.custom-toggler.navbar-toggler { + border-color: rgb(255, 255, 255); +} +.navbar-brand.bg-red{ + justify-content: flex-start; + width: 120px; +} +#collapsibleNavId{ + /* padding-right: 10%; + margin-right: 7%; */ + justify-content: center; +} +.container.text-truncate.p-0{ + width: 100%; + font-size: 1.6em; +} +@media(max-width: 2000px){ + li.nav-item{ + text-align: center; + margin-left: 0%; + } + #collapsibleNavId{ + padding-right: 0%; + } + .size-text-title{ + font-size: 30px; + } + .container.text-truncate.p-0{ + width: 100%; + font-size: 1.4em; + } + .page-name-text-width{ + font-size: 33px; + } + .category-text-width{ + font-size: 26px; + } + .description-text-width{ + font-size: 15px; + } + div#name-page{ + font-size: 30px; + } +} +@media(max-width: 992px){ + li.nav-item{ + text-align: center; + margin-left: 0%; + } + #collapsibleNavId{ + padding-right: 0%; + } + .size-text-title{ + font-size: 25px; + } + .container.text-truncate.p-0{ + width: 100%; + font-size:1.2em; + } + .page-name-text-width{ + font-size: 28px; + } + .category-text-width{ + font-size: 23px; + } + .description-text-width{ + font-size: 13px; + } + div#name-page{ + font-size: 25px; + } +} +@media(max-width: 768px){ + li.nav-item{ + text-align: center; + margin-left: 0%; + } + #collapsibleNavId{ + padding-right: 0%; + } + .size-text-title{ + font-size: 20px; + } + .size-image{ + width: 200px; + } + .container.text-truncate.p-0{ + width: 100%; + font-size:1em; + } + .page-name-text-width{ + font-size: 23px; + } + .category-text-width{ + font-size: 17px; + } + .description-text-width{ + font-size: 10px; + } + div#name-page{ + font-size: 20px; + } +} +@media(max-width: 576px){ + li.nav-item{ + text-align: center; + margin-left: 0%; + } + #collapsibleNavId{ + padding-right: 0%; + } + .size-text-title{ + font-size: 20px; + } + .size-image{ + width: 100px; + } + .container.text-truncate.p-0{ + width: 100%; + font-size: 0.8em; + } + .page-name-text-width{ + font-size: 17px; + } + .category-text-width{ + font-size: 13px; + } + .description-text-width{ + font-size: 10px; + } + div#name-page{ + font-size: 15px; + } +} +body{ + overflow-x: hidden; +} +#banner { + margin: 15px; + display: flex; + align-items: center; + flex-direction: column; + } + + #banner img { + border-radius: 5px; + } + + #banner img.show { + width: 95%; + opacity: 1; + transition: opacity 1s, visibility 0s; + } + + #banner img.hide { + height: 0; + width: 0; + opacity: 0; + visibility: hidden; + transition: opacity 1s, visibility 0s 1s; + } \ No newline at end of file diff --git a/website/data.js b/website/data.js new file mode 100644 index 0000000..7483410 --- /dev/null +++ b/website/data.js @@ -0,0 +1,11 @@ +module.exports = function () { + return { + img: [ + + ], + year: [ + "2021", + "2022" + ] + } +} \ No newline at end of file diff --git a/website/fonts/iviSans/iviSans-Black.otf b/website/fonts/iviSans/iviSans-Black.otf new file mode 100644 index 0000000000000000000000000000000000000000..b6e49241e5eafcde7c87821d1bddfaab55f7c851 GIT binary patch literal 32064 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

INiW>B3NNG{ASm$h3|#A}h7 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 +{{/each}} \ No newline at end of file diff --git a/website/handlebars/items-table.html b/website/handlebars/items-table.html new file mode 100644 index 0000000..02b8264 --- /dev/null +++ b/website/handlebars/items-table.html @@ -0,0 +1,10 @@ +{{#each items}} + +{{/each}} \ No newline at end of file diff --git a/website/index.html b/website/index.html new file mode 100644 index 0000000..04a96a5 --- /dev/null +++ b/website/index.html @@ -0,0 +1,58 @@ + + + + + ivi + + + + + + + + +
+
+
+
+ +
Введите первое число
+ + +
Введите второе число
+ + +
Результат
+ + +
+ +
+
+ +
+
Введите текст
+ + +
+ + + +
+ + + \ No newline at end of file diff --git a/website/js2.js b/website/js2.js new file mode 100644 index 0000000..cd23c9b --- /dev/null +++ b/website/js2.js @@ -0,0 +1,59 @@ +// let text1 = document.getElementById("text"); +// let button = document.getElementById("button"); +// let result = document.getElementById("result"); + +// button.onclick = function(){ +// method(); +// } +// function method() { +// console.log("получилось"); +// let text = text1.value; +// console.log(text); +// fetch(`http://localhost:8080/hello?name=${text}`) +// .then(response => response.text()) +// .then(res => result.value = res); +// } + + +let firstDig = document.getElementById("firstDig"); +let secondDig = document.getElementById("secondDig"); +let operation = document.getElementById("operation"); +let calcButton = document.getElementById("startCalc"); +let result = document.getElementById("result"); + +calcButton.onclick = function(){ + let adress = ""; + operationValue = operation.value; + if (operationValue == 'Умножение'){ + adress = 'mult' + } + else if (operationValue == 'Деление'){ + adress = 'div' + } + else if (operationValue == 'Сложение'){ + adress = 'sum' + } + else if (operationValue == 'Вычитание'){ + adress = 'sub' + } + calc(adress); +} +function calc(adress) { + console.log(firstDig, secondDig) + fetch(`http://localhost:8080/${adress}?firstDig=${firstDig.value}&secondDig=${secondDig.value}`) + .then(response => response.text()) + .then(res => result.value = res); +} + + +let text = document.getElementById("text"); +let start = document.getElementById("start"); + +start.onclick = function(){ + let result1 = ''; + + fetch(`http://localhost:8080/text?text=${text.value}`) + .then(response => response.text()) + .then(res => alert(res)); + +} \ No newline at end of file diff --git a/website/package-lock.json b/website/package-lock.json new file mode 100644 index 0000000..ee725fe --- /dev/null +++ b/website/package-lock.json @@ -0,0 +1,4219 @@ +{ + "name": "int-prog", + "version": "1.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "int-prog", + "version": "1.0.0", + "dependencies": { + "@fortawesome/fontawesome-free": "6.2.0", + "bootstrap": "5.2.1", + "handlebars": "4.7.7" + }, + "devDependencies": { + "http-server": "14.1.1", + "json-server": "^0.17.1", + "npm-run-all": "^4.1.5" + } + }, + "node_modules/@fortawesome/fontawesome-free": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.2.0.tgz", + "integrity": "sha512-CNR7qRIfCwWHNN7FnKUniva94edPdyQzil/zCwk3v6k4R6rR2Fr8i4s3PM7n/lyfPA6Zfko9z5WDzFxG9SW1uQ==", + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==", + "peer": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/bootstrap": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.1.tgz", + "integrity": "sha512-UQi3v2NpVPEi1n35dmRRzBJFlgvWHYwyem6yHhuT6afYF+sziEt46McRbT//kVXZ7b1YUYEVGdXEH74Nx3xzGA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/twbs" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + } + ], + "peerDependencies": { + "@popperjs/core": "^2.11.6" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/connect-pause": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/connect-pause/-/connect-pause-0.1.1.tgz", + "integrity": "sha512-a1gSWQBQD73krFXdUEYJom2RTFrWUL3YvXDCRkyv//GVXc79cdW9MngtRuN9ih4FDKBtfJAJId+BbDuX+1rh2w==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "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": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "dev": true, + "dependencies": { + "accepts": "~1.3.7", + "escape-html": "~1.0.3" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-abstract": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", + "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express-urlrewrite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/express-urlrewrite/-/express-urlrewrite-1.4.0.tgz", + "integrity": "sha512-PI5h8JuzoweS26vFizwQl6UTF25CAHSggNv0J25Dn/IKZscJHWZzPrI5z2Y2jgOzIaw2qh8l6+/jUcig23Z2SA==", + "dev": true, + "dependencies": { + "debug": "*", + "path-to-regexp": "^1.0.3" + } + }, + "node_modules/express-urlrewrite/node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dev": true, + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-server": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", + "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", + "dev": true, + "dependencies": { + "basic-auth": "^2.0.1", + "chalk": "^4.1.2", + "corser": "^2.0.1", + "he": "^1.2.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy": "^1.18.1", + "mime": "^1.6.0", + "minimist": "^1.2.6", + "opener": "^1.5.1", + "portfinder": "^1.0.28", + "secure-compare": "3.0.1", + "union": "~0.5.0", + "url-join": "^4.0.1" + }, + "bin": { + "http-server": "bin/http-server" + }, + "engines": { + "node": ">=12" + } + }, + "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==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", + "dev": true + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-parse-helpfulerror": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz", + "integrity": "sha512-XgP0FGR77+QhUxjXkwOMkC94k3WtqEBfcnjWqhRd82qTat4SWKRE+9kUnynz/shm3I4ea2+qISvTIeGTNU7kJg==", + "dev": true, + "dependencies": { + "jju": "^1.1.0" + } + }, + "node_modules/json-server": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/json-server/-/json-server-0.17.1.tgz", + "integrity": "sha512-2cR/IAL9xX4M1Y5ONMpnvRvJ5o9gJH5GsSQs7fQHdTKTKoN4YRZu1ApQKg/4P0XzwlLyUDqTlwhPq9nsvJ9acw==", + "dev": true, + "dependencies": { + "body-parser": "^1.19.0", + "chalk": "^4.1.2", + "compression": "^1.7.4", + "connect-pause": "^0.1.1", + "cors": "^2.8.5", + "errorhandler": "^1.5.1", + "express": "^4.17.1", + "express-urlrewrite": "^1.4.0", + "json-parse-helpfulerror": "^1.0.3", + "lodash": "^4.17.21", + "lodash-id": "^0.14.1", + "lowdb": "^1.0.0", + "method-override": "^3.0.0", + "morgan": "^1.10.0", + "nanoid": "^3.1.23", + "please-upgrade-node": "^3.2.0", + "pluralize": "^8.0.0", + "server-destroy": "^1.0.1", + "yargs": "^17.0.1" + }, + "bin": { + "json-server": "lib/cli/bin.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash-id": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/lodash-id/-/lodash-id-0.14.1.tgz", + "integrity": "sha512-ikQPBTiq/d5m6dfKQlFdIXFzvThPi2Be9/AHxktOnDSfSxE1j9ICbBT5Elk1ke7HSTgM38LHTpmJovo9/klnLg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/lowdb": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz", + "integrity": "sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.3", + "is-promise": "^2.1.0", + "lodash": "4", + "pify": "^3.0.0", + "steno": "^0.4.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "node_modules/method-override": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/method-override/-/method-override-3.0.0.tgz", + "integrity": "sha512-IJ2NNN/mSl9w3kzWB92rcdHpz+HjkxhDJWNDBqSlas+zQdP8wBiJzITPg08M/k2uVvMow7Sk41atndNtt/PHSA==", + "dev": true, + "dependencies": { + "debug": "3.1.0", + "methods": "~1.1.2", + "parseurl": "~1.3.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/method-override/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "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==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "dev": true, + "dependencies": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/morgan/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm-run-all/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/npm-run-all/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/npm-run-all/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "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": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "dependencies": { + "semver-compare": "^1.0.0" + } + }, + "node_modules/pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/portfinder": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", + "dev": true, + "dependencies": { + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/portfinder/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true + }, + "node_modules/safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "dev": true + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/server-destroy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", + "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shell-quote": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", + "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/steno": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz", + "integrity": "sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.3" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.padend": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz", + "integrity": "sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "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==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "dev": true, + "dependencies": { + "qs": "^6.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + } + }, + "dependencies": { + "@fortawesome/fontawesome-free": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-6.2.0.tgz", + "integrity": "sha512-CNR7qRIfCwWHNN7FnKUniva94edPdyQzil/zCwk3v6k4R6rR2Fr8i4s3PM7n/lyfPA6Zfko9z5WDzFxG9SW1uQ==" + }, + "@popperjs/core": { + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==", + "peer": true + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + } + }, + "bootstrap": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.1.tgz", + "integrity": "sha512-UQi3v2NpVPEi1n35dmRRzBJFlgvWHYwyem6yHhuT6afYF+sziEt46McRbT//kVXZ7b1YUYEVGdXEH74Nx3xzGA==", + "requires": {} + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "connect-pause": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/connect-pause/-/connect-pause-0.1.1.tgz", + "integrity": "sha512-a1gSWQBQD73krFXdUEYJom2RTFrWUL3YvXDCRkyv//GVXc79cdW9MngtRuN9ih4FDKBtfJAJId+BbDuX+1rh2w==", + "dev": true + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "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==", + "dev": true + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", + "dev": true + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "errorhandler": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/errorhandler/-/errorhandler-1.5.1.tgz", + "integrity": "sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "escape-html": "~1.0.3" + } + }, + "es-abstract": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.4.tgz", + "integrity": "sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.3", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.2", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.4.3", + "safe-regex-test": "^1.0.0", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dev": true, + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "express-urlrewrite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/express-urlrewrite/-/express-urlrewrite-1.4.0.tgz", + "integrity": "sha512-PI5h8JuzoweS26vFizwQl6UTF25CAHSggNv0J25Dn/IKZscJHWZzPrI5z2Y2jgOzIaw2qh8l6+/jUcig23Z2SA==", + "dev": true, + "requires": { + "debug": "*", + "path-to-regexp": "^1.0.3" + }, + "dependencies": { + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dev": true, + "requires": { + "isarray": "0.0.1" + } + } + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + } + }, + "follow-redirects": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", + "dev": true + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz", + "integrity": "sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "requires": { + "whatwg-encoding": "^2.0.0" + } + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-server": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", + "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", + "dev": true, + "requires": { + "basic-auth": "^2.0.1", + "chalk": "^4.1.2", + "corser": "^2.0.1", + "he": "^1.2.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy": "^1.18.1", + "mime": "^1.6.0", + "minimist": "^1.2.6", + "opener": "^1.5.1", + "portfinder": "^1.0.28", + "secure-compare": "3.0.1", + "union": "~0.5.0", + "url-join": "^4.0.1" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "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==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-helpfulerror": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz", + "integrity": "sha512-XgP0FGR77+QhUxjXkwOMkC94k3WtqEBfcnjWqhRd82qTat4SWKRE+9kUnynz/shm3I4ea2+qISvTIeGTNU7kJg==", + "dev": true, + "requires": { + "jju": "^1.1.0" + } + }, + "json-server": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/json-server/-/json-server-0.17.1.tgz", + "integrity": "sha512-2cR/IAL9xX4M1Y5ONMpnvRvJ5o9gJH5GsSQs7fQHdTKTKoN4YRZu1ApQKg/4P0XzwlLyUDqTlwhPq9nsvJ9acw==", + "dev": true, + "requires": { + "body-parser": "^1.19.0", + "chalk": "^4.1.2", + "compression": "^1.7.4", + "connect-pause": "^0.1.1", + "cors": "^2.8.5", + "errorhandler": "^1.5.1", + "express": "^4.17.1", + "express-urlrewrite": "^1.4.0", + "json-parse-helpfulerror": "^1.0.3", + "lodash": "^4.17.21", + "lodash-id": "^0.14.1", + "lowdb": "^1.0.0", + "method-override": "^3.0.0", + "morgan": "^1.10.0", + "nanoid": "^3.1.23", + "please-upgrade-node": "^3.2.0", + "pluralize": "^8.0.0", + "server-destroy": "^1.0.1", + "yargs": "^17.0.1" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash-id": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/lodash-id/-/lodash-id-0.14.1.tgz", + "integrity": "sha512-ikQPBTiq/d5m6dfKQlFdIXFzvThPi2Be9/AHxktOnDSfSxE1j9ICbBT5Elk1ke7HSTgM38LHTpmJovo9/klnLg==", + "dev": true + }, + "lowdb": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowdb/-/lowdb-1.0.0.tgz", + "integrity": "sha512-2+x8esE/Wb9SQ1F9IHaYWfsC9FIecLOPrK4g17FGEayjUWH172H6nwicRovGvSE2CPZouc2MCIqCI7h9d+GftQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.3", + "is-promise": "^2.1.0", + "lodash": "4", + "pify": "^3.0.0", + "steno": "^0.4.1" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true + }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "method-override": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/method-override/-/method-override-3.0.0.tgz", + "integrity": "sha512-IJ2NNN/mSl9w3kzWB92rcdHpz+HjkxhDJWNDBqSlas+zQdP8wBiJzITPg08M/k2uVvMow7Sk41atndNtt/PHSA==", + "dev": true, + "requires": { + "debug": "3.1.0", + "methods": "~1.1.2", + "parseurl": "~1.3.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==" + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "morgan": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", + "dev": true, + "requires": { + "basic-auth": "~2.0.1", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-finished": "~2.3.0", + "on-headers": "~1.0.2" + }, + "dependencies": { + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + } + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", + "dev": true + }, + "please-upgrade-node": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", + "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", + "dev": true, + "requires": { + "semver-compare": "^1.0.0" + } + }, + "pluralize": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", + "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", + "dev": true + }, + "portfinder": { + "version": "1.0.32", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.32.tgz", + "integrity": "sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==", + "dev": true, + "requires": { + "async": "^2.6.4", + "debug": "^3.2.7", + "mkdirp": "^0.5.6" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + } + }, + "qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "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==", + "dev": true + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex-test": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", + "integrity": "sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "is-regex": "^1.1.4" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "dev": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "server-destroy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", + "integrity": "sha512-rb+9B5YBIEzYcD6x2VKidaa+cqYBJQKnU4oe4E3ANwRRN56yk/ua1YCJT1n21NTS8w6CcOclAKNP3PhdCXKYtQ==", + "dev": true + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true + }, + "shell-quote": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.4.tgz", + "integrity": "sha512-8o/QEhSSRb1a5i7TFR0iM4G16Z0vYB2OQVs4G3aAFXjn3T6yEx8AZxy1PgDF7I00LZHYA3WxaSYIf5e5sAX8Rw==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.12", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz", + "integrity": "sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + }, + "steno": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/steno/-/steno-0.4.4.tgz", + "integrity": "sha512-EEHMVYHNXFHfGtgjNITnka0aHhiAlo93F7z2/Pwd+g0teG9CnM3JIINM7hVVB5/rhw9voufD7Wukwgtw2uqh6w==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.3" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "string.prototype.padend": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.4.tgz", + "integrity": "sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimend": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz", + "integrity": "sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "string.prototype.trimstart": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz", + "integrity": "sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.20.4" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "optional": true + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "dev": true, + "requires": { + "qs": "^6.4.0" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true + }, + "url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true + }, + "whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "requires": { + "iconv-lite": "0.6.3" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==" + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yargs": { + "version": "17.6.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.6.2.tgz", + "integrity": "sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==", + "dev": true, + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + } + } +} diff --git a/website/package.json b/website/package.json new file mode 100644 index 0000000..7c526cc --- /dev/null +++ b/website/package.json @@ -0,0 +1,20 @@ +{ + "name": "int-prog", + "version": "1.0.0", + "main": "1.html", + "scripts": { + "web-server": "http-server -p 3000 ./", + "start": "npm-run-all --parallel web-server", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "dependencies": { + "@fortawesome/fontawesome-free": "6.2.0", + "bootstrap": "5.2.1", + "handlebars": "4.7.7" + }, + "devDependencies": { + "http-server": "14.1.1", + "json-server": "^0.17.1", + "npm-run-all": "^4.1.5" + } +} diff --git a/website/start.bat b/website/start.bat new file mode 100644 index 0000000..7512a7e --- /dev/null +++ b/website/start.bat @@ -0,0 +1 @@ +npm start \ No newline at end of file