From 37ce50bc88274ad112e61967f25a714863b443c7 Mon Sep 17 00:00:00 2001 From: Abhishek Sinha Date: Mon, 30 Jul 2018 23:16:09 +0530 Subject: [PATCH] Initial setup done --- .gitignore | 3 + Readme.md | 1 + index.js | 52 + package-lock.json | 3239 ++++++++++++++++++++++++++++++++++ package.json | 31 + public/css/main.css | 0 public/images/Diwali2018.jpg | Bin 0 -> 20172 bytes public/images/hbd.jpg | Bin 0 -> 25343 bytes public/js/bundle.js | 14 + public/js/main.js | 12 + routes.js | 66 + server.example.js | 5 + templates/test.html | 15 + views/index.ejs | 23 + views/partials/footer.ejs | 4 + views/partials/header.ejs | 22 + views/write.ejs | 32 + 17 files changed, 3519 insertions(+) create mode 100644 .gitignore create mode 100644 Readme.md create mode 100644 index.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/css/main.css create mode 100644 public/images/Diwali2018.jpg create mode 100644 public/images/hbd.jpg create mode 100644 public/js/bundle.js create mode 100644 public/js/main.js create mode 100644 routes.js create mode 100644 server.example.js create mode 100644 templates/test.html create mode 100644 views/index.ejs create mode 100644 views/partials/footer.ejs create mode 100644 views/partials/header.ejs create mode 100644 views/write.ejs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0d86795 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +node_modules/ +playground/ +server.js diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..2bc1e8f --- /dev/null +++ b/Readme.md @@ -0,0 +1 @@ +#FLO Greeting Cards diff --git a/index.js b/index.js new file mode 100644 index 0000000..99644de --- /dev/null +++ b/index.js @@ -0,0 +1,52 @@ +const path = require('path'); +const express = require('express'); +const bodyParser = require('body-parser'); + +const Client = require('bitcoin-core'); +const client = require('./server') + +const crypto = require('crypto'); +const routes = require('./routes'); + +const cookieParser = require('cookie-parser'); +const session = require('express-session'); +const flash = require('connect-flash'); +const validator = require('express-validator'); + +const port = process.env.PORT || 3001; + +const app = express(); + +app.set('view engine', 'ejs'); + +const middleware = [ + express.static(path.join(__dirname, 'public')), + bodyParser.urlencoded({extended:true}), + cookieParser(), + session({ + secret: 'super-secret-key', + key: 'super-secret-cookie', + resave: false, + saveUninitialized: false, + cookie: { maxAge: 60000 } + }), + validator(), + flash() +] + +app.use(middleware); + +app.use('/', routes); + +app.use((req, res,next)=>{ + res.status(404).send("Page Not Found"); +}); + +app.use((err, req, res, next)=>{ + console.log(err); + res.status(500).send("Page Broke!"); +}); + +app.listen(port, ()=>{ + console.log("Greetings app running on port "+port); +}); diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..3064b1e --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3239 @@ +{ + "name": "flocards", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@uphold/request-logger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@uphold/request-logger/-/request-logger-2.0.0.tgz", + "integrity": "sha1-xYXAvblCEBmJRcZZfk/iPW5j4IQ=", + "requires": { + "uuid": "^3.0.1" + } + }, + "JSONStream": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.3.tgz", + "integrity": "sha512-3Sp6WZZ/lXl+nTDoGpGWHEpTnnC6X5fnkolYZR6nwIfzbxxvA8utPWe1gCt7i0m9uVGsSz2IS8K8mJ7HmlduMg==", + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "accepts": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", + "requires": { + "mime-types": "~2.1.18", + "negotiator": "0.6.1" + } + }, + "acorn": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.1.tgz", + "integrity": "sha512-d+nbxBUGKg7Arpsvbnlq61mc12ek3EY8EQldM3GPAhWJ1UVxC6TDGbIvUMNU6obBX3i1+ptCIzV4vq0gFPEGVQ==" + }, + "acorn-dynamic-import": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz", + "integrity": "sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==", + "requires": { + "acorn": "^5.0.0" + } + }, + "acorn-node": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.5.2.tgz", + "integrity": "sha512-krFKvw/d1F17AN3XZbybIUzEY4YEPNiGo05AfP3dBlfVKrMHETKpgjpuZkSF8qDNt9UkQcqj7am8yJLseklCMg==", + "requires": { + "acorn": "^5.7.1", + "acorn-dynamic-import": "^3.0.0", + "xtend": "^4.0.1" + } + }, + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "requires": { + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" + } + }, + "arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", + "requires": { + "arr-flatten": "^1.0.1" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "array-filter": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz", + "integrity": "sha1-fajPLiZijtcygDWB/SH2fKzS7uw=" + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "array-map": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz", + "integrity": "sha1-iKK6tz0c97zVwbEYoAP2b2ZfpmI=" + }, + "array-reduce": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", + "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" + }, + "array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=" + }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=" + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", + "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz", + "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", + "requires": { + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "async-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz", + "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "aws4": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz", + "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w==" + }, + "axios": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz", + "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=", + "requires": { + "follow-redirects": "^1.3.0", + "is-buffer": "^1.1.5" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base64-js": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.0.tgz", + "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bignumber.js": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-4.1.0.tgz", + "integrity": "sha512-eJzYkFYy9L4JzXsbymsFn3p54D+llV27oTQ+ziJG7WFRheJcNZilgVXMG0LoZtlQSKBsJdWtLFqOD0u+U0jZKA==" + }, + "binary-extensions": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.11.0.tgz", + "integrity": "sha1-RqoXUftqL5PuXmibsQh9SxTGwgU=" + }, + "bitcoin-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/bitcoin-core/-/bitcoin-core-2.0.0.tgz", + "integrity": "sha512-I6I7ejzbXfyMtR5/z0BhfjTeN8PMQGD+1B1rpu6IoLcwqoybaSa+P4zYnja/p2xdqjdctmgbOtAaCaaqyVCycQ==", + "requires": { + "@uphold/request-logger": "^2.0.0", + "bluebird": "^3.4.1", + "debugnyan": "^1.0.0", + "json-bigint": "^0.2.0", + "lodash": "^4.0.0", + "request": "^2.53.0", + "semver": "^5.1.0", + "standard-error": "^1.1.0" + } + }, + "bluebird": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz", + "integrity": "sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==" + }, + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, + "body-parser": { + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", + "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=", + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "~1.6.3", + "iconv-lite": "0.4.23", + "on-finished": "~2.3.0", + "qs": "6.5.2", + "raw-body": "2.3.3", + "type-is": "~1.6.16" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", + "requires": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browser-pack": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-6.1.0.tgz", + "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==", + "requires": { + "JSONStream": "^1.0.3", + "combine-source-map": "~0.8.0", + "defined": "^1.0.0", + "safe-buffer": "^5.1.1", + "through2": "^2.0.0", + "umd": "^3.0.0" + } + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" + } + } + }, + "browserify": { + "version": "16.2.2", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-16.2.2.tgz", + "integrity": "sha512-fMES05wq1Oukts6ksGUU2TMVHHp06LyQt0SIwbXIHm7waSrQmNBZePsU0iM/4f94zbvb/wHma+D1YrdzWYnF/A==", + "requires": { + "JSONStream": "^1.0.3", + "assert": "^1.4.0", + "browser-pack": "^6.0.1", + "browser-resolve": "^1.11.0", + "browserify-zlib": "~0.2.0", + "buffer": "^5.0.2", + "cached-path-relative": "^1.0.0", + "concat-stream": "^1.6.0", + "console-browserify": "^1.1.0", + "constants-browserify": "~1.0.0", + "crypto-browserify": "^3.0.0", + "defined": "^1.0.0", + "deps-sort": "^2.0.0", + "domain-browser": "^1.2.0", + "duplexer2": "~0.1.2", + "events": "^2.0.0", + "glob": "^7.1.0", + "has": "^1.0.0", + "htmlescape": "^1.1.0", + "https-browserify": "^1.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "^7.0.0", + "labeled-stream-splicer": "^2.0.0", + "mkdirp": "^0.5.0", + "module-deps": "^6.0.0", + "os-browserify": "~0.3.0", + "parents": "^1.0.1", + "path-browserify": "~0.0.0", + "process": "~0.11.0", + "punycode": "^1.3.2", + "querystring-es3": "~0.2.0", + "read-only-stream": "^2.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.1.4", + "shasum": "^1.0.0", + "shell-quote": "^1.6.1", + "stream-browserify": "^2.0.0", + "stream-http": "^2.0.0", + "string_decoder": "^1.1.1", + "subarg": "^1.0.0", + "syntax-error": "^1.1.1", + "through2": "^2.0.0", + "timers-browserify": "^1.0.1", + "tty-browserify": "0.0.1", + "url": "~0.11.0", + "util": "~0.10.1", + "vm-browserify": "^1.0.0", + "xtend": "^4.0.0" + }, + "dependencies": { + "glob": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", + "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "requires": { + "pako": "~1.0.5" + } + }, + "buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.2.0.tgz", + "integrity": "sha512-nUJyfChH7PMJy75eRDCCKtszSEFokUNXC1hNVSe+o+VdcgvDPLs20k3v8UXI8ruRYAJiYtyRea8mYyqPxoHWDw==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "buffer-from": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz", + "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ==" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "bunyan": { + "version": "1.8.12", + "resolved": "https://registry.npmjs.org/bunyan/-/bunyan-1.8.12.tgz", + "integrity": "sha1-8VDw9nSKvdcq6uhPBEA74u8RN5c=", + "requires": { + "dtrace-provider": "~0.8", + "moment": "^2.10.6", + "mv": "~2", + "safe-json-stringify": "~1" + } + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "cached-path-relative": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.1.tgz", + "integrity": "sha1-0JxLUoAKpMB44t2BqGmqyQ0uVOc=" + }, + "camelize": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.0.tgz", + "integrity": "sha1-FkpUg+Yw+kMh5a8HAg5TGDGyYJs=" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha1-eY5ol3gVHIB2tLNg5e3SjNortGg=", + "requires": { + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "fsevents": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "combine-source-map": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.8.0.tgz", + "integrity": "sha1-pY0N8ELBhvz4IqjoAV9UUNLXmos=", + "requires": { + "convert-source-map": "~1.1.0", + "inline-source-map": "~0.6.0", + "lodash.memoize": "~3.0.3", + "source-map": "~0.5.3" + } + }, + "combined-stream": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz", + "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "connect-flash": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz", + "integrity": "sha1-2GMPJtlaf4UfmVax6MxnMvO2qjA=" + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "requires": { + "date-now": "^0.1.4" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=" + }, + "content-security-policy-builder": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/content-security-policy-builder/-/content-security-policy-builder-2.0.0.tgz", + "integrity": "sha512-j+Nhmj1yfZAikJLImCvPJFE29x/UuBi+/MWqggGGc515JKaZrjuei2RhULJmy0MsstW3E3htl002bwmBNMKr7w==" + }, + "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==" + }, + "convert-source-map": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz", + "integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=" + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "cookie-parser": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.3.tgz", + "integrity": "sha1-D+MfoZ0AC5X0qt8fU/3CuKIDuqU=", + "requires": { + "cookie": "0.3.1", + "cookie-signature": "1.0.6" + } + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "crc": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.4.4.tgz", + "integrity": "sha1-naHpgOO9RPxck79as9ozeNheRms=" + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", + "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "dasherize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dasherize/-/dasherize-2.0.0.tgz", + "integrity": "sha1-bYCcnNDPe7iVLYD8hPoT1H3bEwg=" + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "debugnyan": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/debugnyan/-/debugnyan-1.0.0.tgz", + "integrity": "sha1-kDhtXrwsY1iPF/Jyvlwqk7dmXYM=", + "requires": { + "bunyan": "^1.8.1", + "debug": "^2.2.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "deps-sort": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz", + "integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=", + "requires": { + "JSONStream": "^1.0.3", + "shasum": "^1.0.0", + "subarg": "^1.0.0", + "through2": "^2.0.0" + } + }, + "des.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", + "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detective": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.1.0.tgz", + "integrity": "sha512-TFHMqfOvxlgrfVzTEkNBSh9SvSNX/HfF4OFI2QFGCyPm02EsyILqnUeb5P6q7JZ3SFNTBL5t2sePRgrN4epUWQ==", + "requires": { + "acorn-node": "^1.3.0", + "defined": "^1.0.0", + "minimist": "^1.1.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dns-prefetch-control": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/dns-prefetch-control/-/dns-prefetch-control-0.1.0.tgz", + "integrity": "sha1-YN20V3dOF48flBXwyrsOhbCzALI=" + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + }, + "dont-sniff-mimetype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dont-sniff-mimetype/-/dont-sniff-mimetype-1.0.0.tgz", + "integrity": "sha1-WTKJDcn04vGeXrAqIAJuXl78j1g=" + }, + "dtrace-provider": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.8.7.tgz", + "integrity": "sha1-3JObTT4GIM/gwc2APQ0tftBP/QQ=", + "optional": true, + "requires": { + "nan": "^2.10.0" + } + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "requires": { + "readable-stream": "^2.0.2" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "optional": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.6.1.tgz", + "integrity": "sha512-0xy4A/twfrRCnkhfk8ErDi5DqdAsAqeGxht4xkCUrsvhhbQNs7E+4jV0CN7+NKIY0aHE72+XvqtBIXzD31ZbXQ==" + }, + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "es6-promise": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.4.tgz", + "integrity": "sha512-/NdNZVJg+uZgtm9eS3O6lrOLYmQag2DjdEXuPaHlZ6RuVqgqaVZfgYCepEIKsLqwdQArOPtC3XzRLqGGfT8KQQ==", + "optional": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "events": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/events/-/events-2.1.0.tgz", + "integrity": "sha512-3Zmiobend8P9DjmKAty0Era4jV8oJ0yGYe2nJJAxgymF9+N8F2m0hhZiMoWtcfepExzNKZumFU3ksdQbInGWCg==" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", + "requires": { + "is-posix-bracket": "^0.1.0" + } + }, + "expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", + "requires": { + "fill-range": "^2.1.0" + } + }, + "expect-ct": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/expect-ct/-/expect-ct-0.1.1.tgz", + "integrity": "sha512-ngXzTfoRGG7fYens3/RMb6yYoVLvLMfmsSllP/mZPxNHgFq41TmPSLF/nLY7fwoclI2vElvAmILFWGUYqdjfCg==" + }, + "express": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", + "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", + "requires": { + "accepts": "~1.3.5", + "array-flatten": "1.1.1", + "body-parser": "1.18.2", + "content-disposition": "0.5.2", + "content-type": "~1.0.4", + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.1.1", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.3", + "qs": "6.5.1", + "range-parser": "~1.2.0", + "safe-buffer": "5.1.1", + "send": "0.16.2", + "serve-static": "1.13.2", + "setprototypeof": "1.1.0", + "statuses": "~1.4.0", + "type-is": "~1.6.16", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "body-parser": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "requires": { + "bytes": "3.0.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.1", + "http-errors": "~1.6.2", + "iconv-lite": "0.4.19", + "on-finished": "~2.3.0", + "qs": "6.5.1", + "raw-body": "2.3.2", + "type-is": "~1.6.15" + } + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.19", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz", + "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ==" + }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" + }, + "raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.2", + "iconv-lite": "0.4.19", + "unpipe": "1.0.0" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" + }, + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "requires": { + "depd": "1.1.1", + "inherits": "2.0.3", + "setprototypeof": "1.0.3", + "statuses": ">= 1.3.1 < 2" + } + }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=" + } + } + }, + "safe-buffer": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", + "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==" + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + } + } + }, + "express-layout": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/express-layout/-/express-layout-0.1.0.tgz", + "integrity": "sha1-gydvJEO27QEQGyl03N0addWlmAY=", + "requires": { + "obj-extend": "~0.1.0" + } + }, + "express-session": { + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.15.6.tgz", + "integrity": "sha512-r0nrHTCYtAMrFwZ0kBzZEXa1vtPVrw0dKvGSrKP4dahwBQ1BJpF2/y1Pp4sCD/0kvxV4zZeclyvfmw0B4RMJQA==", + "requires": { + "cookie": "0.3.1", + "cookie-signature": "1.0.6", + "crc": "3.4.4", + "debug": "2.6.9", + "depd": "~1.1.1", + "on-headers": "~1.0.1", + "parseurl": "~1.3.2", + "uid-safe": "~2.1.5", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "express-validator": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/express-validator/-/express-validator-5.3.0.tgz", + "integrity": "sha512-HYVtPt21zp2bHS4+xwxYNF63dlq/23kh+ZRVfyo7SBObhOpRyZ0vWolm/v9KPUfCyLqX8j7ZP42dbB0MWjCCcA==", + "requires": { + "lodash": "^4.17.10", + "validator": "^10.4.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "extract-zip": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz", + "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=", + "optional": true, + "requires": { + "concat-stream": "1.6.2", + "debug": "2.6.9", + "mkdirp": "0.5.1", + "yauzl": "2.4.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "optional": true, + "requires": { + "ms": "2.0.0" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", + "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=" + }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "optional": true, + "requires": { + "pend": "~1.2.0" + } + }, + "filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=" + }, + "fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "requires": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + } + }, + "finalhandler": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.4.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + } + } + }, + "follow-redirects": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.1.tgz", + "integrity": "sha512-v9GI1hpaqq1ZZR6pBD1+kI7O24PhDvNGNodjS3MdcEqyrahCp8zbtpv+2B/krUnSmUH80lbAS7MrdeK5IylgKg==", + "requires": { + "debug": "^3.1.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "form-data": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz", + "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "frameguard": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/frameguard/-/frameguard-3.0.0.tgz", + "integrity": "sha1-e8rUae57lukdEs6zlZx4I1qScuk=" + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "optional": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", + "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", + "optional": true, + "requires": { + "nan": "^2.9.2", + "node-pre-gyp": "^0.10.0" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "bundled": true, + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true + }, + "concat-map": { + "version": "0.0.1", + "bundled": true + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "debug": { + "version": "2.6.9", + "bundled": true, + "optional": true, + "requires": { + "ms": "2.0.0" + } + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "optional": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.21", + "bundled": true, + "optional": true, + "requires": { + "safer-buffer": "^2.1.0" + } + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true + }, + "minipass": { + "version": "2.2.4", + "bundled": true, + "requires": { + "safe-buffer": "^5.1.1", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "optional": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "needle": { + "version": "2.2.0", + "bundled": true, + "optional": true, + "requires": { + "debug": "^2.1.2", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.10.0", + "bundled": true, + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.0", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.1.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4" + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.0.3", + "bundled": true, + "optional": true + }, + "npm-packlist": { + "version": "1.1.10", + "bundled": true, + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "optional": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "optional": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "optional": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "optional": true, + "requires": { + "glob": "^7.0.5" + } + }, + "safe-buffer": { + "version": "5.1.1", + "bundled": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "optional": true + }, + "sax": { + "version": "1.2.4", + "bundled": true, + "optional": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "optional": true + }, + "string-width": { + "version": "1.0.2", + "bundled": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "optional": true + }, + "tar": { + "version": "4.4.1", + "bundled": true, + "optional": true, + "requires": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.2.4", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.1", + "yallist": "^3.0.2" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "optional": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "optional": true, + "requires": { + "string-width": "^1.0.2" + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true + }, + "yallist": { + "version": "3.0.2", + "bundled": true + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "get-assigned-identifiers": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz", + "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "optional": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", + "requires": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + } + }, + "glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", + "requires": { + "is-glob": "^2.0.0" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=" + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "requires": { + "ajv": "^5.1.0", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.5.tgz", + "integrity": "sha512-eWI5HG9Np+eHV1KQhisXWwM+4EPPYe5dFX1UZZH7k/E3JzDEazVH+VGlZi6R94ZqImq+A3D1mCEtrFIfg/E7sA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hasha": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", + "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", + "optional": true, + "requires": { + "is-stream": "^1.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "helmet": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/helmet/-/helmet-3.13.0.tgz", + "integrity": "sha512-rCYnlbOBkeP6fCo4sXZNu91vIAWlbVgolwnUANtnzPANRf2kJZ2a6yjRnCqG23Tyl2/ExvJ8bDg4xUdNCIWnrw==", + "requires": { + "dns-prefetch-control": "0.1.0", + "dont-sniff-mimetype": "1.0.0", + "expect-ct": "0.1.1", + "frameguard": "3.0.0", + "helmet-crossdomain": "0.3.0", + "helmet-csp": "2.7.1", + "hide-powered-by": "1.0.0", + "hpkp": "2.0.0", + "hsts": "2.1.0", + "ienoopen": "1.0.0", + "nocache": "2.0.0", + "referrer-policy": "1.1.0", + "x-xss-protection": "1.1.0" + } + }, + "helmet-crossdomain": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/helmet-crossdomain/-/helmet-crossdomain-0.3.0.tgz", + "integrity": "sha512-YiXhj0E35nC4Na5EPE4mTfoXMf9JTGpN4OtB4aLqShKuH9d2HNaJX5MQoglO6STVka0uMsHyG5lCut5Kzsy7Lg==" + }, + "helmet-csp": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/helmet-csp/-/helmet-csp-2.7.1.tgz", + "integrity": "sha512-sCHwywg4daQ2mY0YYwXSZRsgcCeerUwxMwNixGA7aMLkVmPTYBl7gJoZDHOZyXkqPrtuDT3s2B1A+RLI7WxSdQ==", + "requires": { + "camelize": "1.0.0", + "content-security-policy-builder": "2.0.0", + "dasherize": "2.0.0", + "platform": "1.3.5" + } + }, + "hide-powered-by": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hide-powered-by/-/hide-powered-by-1.0.0.tgz", + "integrity": "sha1-SoWtZYgfYoV/xwr3F0oRhNzM4ys=" + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hpkp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hpkp/-/hpkp-2.0.0.tgz", + "integrity": "sha1-EOFCJk52IVpdMMROxD3mTe5tFnI=" + }, + "hsts": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hsts/-/hsts-2.1.0.tgz", + "integrity": "sha512-zXhh/DqgrTXJ7erTN6Fh5k/xjMhDGXCqdYN3wvxUvGUQvnxcFfUd8E+6vLg/nk3ss1TYMb+DhRl25fYABioTvA==" + }, + "html-pdf": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/html-pdf/-/html-pdf-2.2.0.tgz", + "integrity": "sha1-S8+Rwky1YOR6o/rP0DPg4b8kG5E=", + "requires": { + "phantomjs-prebuilt": "^2.1.4" + } + }, + "htmlescape": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz", + "integrity": "sha1-OgPtwiFLyjtmQko+eVk0lQnLA1E=" + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "iconv-lite": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", + "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==" + }, + "ienoopen": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ienoopen/-/ienoopen-1.0.0.tgz", + "integrity": "sha1-NGpCj0dKrI9QzzeE6i0PFvYr2ms=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "inline-source-map": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz", + "integrity": "sha1-+Tk0ccGKedFyT4Y/o4tYY3Ct4qU=", + "requires": { + "source-map": "~0.5.3" + } + }, + "insert-module-globals": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.2.0.tgz", + "integrity": "sha512-VE6NlW+WGn2/AeOMd496AHFYmE7eLKkUY6Ty31k4og5vmA3Fjuwe9v6ifH6Xx/Hz27QvdoMoviw1/pqWRB09Sw==", + "requires": { + "JSONStream": "^1.0.3", + "acorn-node": "^1.5.2", + "combine-source-map": "^0.8.0", + "concat-stream": "^1.6.1", + "is-buffer": "^1.1.0", + "path-is-absolute": "^1.0.1", + "process": "~0.11.0", + "through2": "^2.0.0", + "undeclared-identifiers": "^1.1.2", + "xtend": "^4.0.0" + } + }, + "ipaddr.js": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.8.0.tgz", + "integrity": "sha1-6qM9bd16zo9/b+DJygRA5wZzix4=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=" + }, + "is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", + "requires": { + "is-primitive": "^2.0.0" + } + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=" + }, + "is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", + "requires": { + "is-extglob": "^1.0.0" + } + }, + "is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=" + }, + "is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "optional": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "optional": true + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "optional": true + }, + "json-bigint": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-0.2.3.tgz", + "integrity": "sha1-EY1/b/HThlnxn5TPc+ZKdaP5iKg=", + "requires": { + "bignumber.js": "^4.0.0" + } + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, + "json-stable-stringify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz", + "integrity": "sha1-YRwj6BTbN1Un34URk9tZ3Sryf0U=", + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "optional": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "kew": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=", + "optional": true + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "optional": true, + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "labeled-stream-splicer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.1.tgz", + "integrity": "sha512-MC94mHZRvJ3LfykJlTUipBqenZz1pacOZEMhhQ8dMGcDHs0SBE5GbsavUXV7YtP3icBW17W0Zy1I0lfASmo9Pg==", + "requires": { + "inherits": "^2.0.1", + "isarray": "^2.0.4", + "stream-splicer": "^2.0.0" + }, + "dependencies": { + "isarray": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.4.tgz", + "integrity": "sha512-GMxXOiUirWg1xTKRipM0Ek07rX+ubx4nNVElTJdNLYmNO/2YrDkgJGw9CljXn+r4EWiDQg/8lsRdHyg2PJuUaA==" + } + } + }, + "lodash": { + "version": "4.17.10", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", + "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" + }, + "lodash.memoize": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz", + "integrity": "sha1-LcvSwofLwKVcxCMovQxzYVDVPj8=" + }, + "math-random": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.1.tgz", + "integrity": "sha1-izqsWIuKZuSXXjzepn97sylgH6w=" + }, + "md5.js": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", + "integrity": "sha1-6b296UogpawYsENA/Fdk1bCdkB0=", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", + "requires": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==" + }, + "mime-db": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.35.0.tgz", + "integrity": "sha512-JWT/IcCTsB0Io3AhWUMjRqucrHSPsSf2xKLaRldJVULioggvkJvggZ3VXNNSRkCddE6D+BUI4HEIZIA2OjwIvg==" + }, + "mime-types": { + "version": "2.1.19", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.19.tgz", + "integrity": "sha512-P1tKYHVSZ6uFo26mtnve4HQFE3koh1UWVkp8YUC+ESBHe945xWSoXuHHiGarDqcEZ+whpCDnlNw5LON0kLo+sw==", + "requires": { + "mime-db": "~1.35.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "module-deps": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-6.1.0.tgz", + "integrity": "sha512-NPs5N511VD1rrVJihSso/LiBShRbJALYBKzDW91uZYy7BpjnO4bGnZL3HjZ9yKcFdZUWwaYjDz9zxbuP7vKMuQ==", + "requires": { + "JSONStream": "^1.0.3", + "browser-resolve": "^1.7.0", + "cached-path-relative": "^1.0.0", + "concat-stream": "~1.6.0", + "defined": "^1.0.0", + "detective": "^5.0.2", + "duplexer2": "^0.1.2", + "inherits": "^2.0.1", + "parents": "^1.0.0", + "readable-stream": "^2.0.2", + "resolve": "^1.4.0", + "stream-combiner2": "^1.1.1", + "subarg": "^1.0.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "moment": { + "version": "2.22.2", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz", + "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y=", + "optional": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "mv": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz", + "integrity": "sha1-rmzg1vbV4KT32JN5jQPB6pVZtqI=", + "optional": true, + "requires": { + "mkdirp": "~0.5.1", + "ncp": "~2.0.0", + "rimraf": "~2.4.0" + } + }, + "nan": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", + "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", + "optional": true + }, + "ncp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", + "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", + "optional": true + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=" + }, + "nocache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nocache/-/nocache-2.0.0.tgz", + "integrity": "sha1-ICtIAhoMTL3i34DeFaF0Q8i0OYA=" + }, + "node-fetch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.2.0.tgz", + "integrity": "sha512-OayFWziIxiHY8bCUyLX6sTpDH8Jsbp4FfYd1j1f7vZyfgkcOnAyM4oQR16f8a0s7Gl/viMGRey8eScYk4V4EZA==" + }, + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" + }, + "obj-extend": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/obj-extend/-/obj-extend-0.1.0.tgz", + "integrity": "sha1-u0SKR3X7les0p4H5CLusLfI9u1s=" + }, + "object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", + "requires": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz", + "integrity": "sha1-ko9dD0cNSTQmUepnlLCFfBAGk/c=" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "outpipe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/outpipe/-/outpipe-1.1.1.tgz", + "integrity": "sha1-UM+GFjZeh+Ax4ppeyTOaPaRyX6I=", + "requires": { + "shell-quote": "^1.4.2" + } + }, + "pako": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.6.tgz", + "integrity": "sha512-lQe48YPsMJAig+yngZ87Lus+NF+3mtu7DVOBu6b/gHO1YpKwIj5AWjZ/TOS7i46HD/UixzWb1zeWDZfGZ3iYcg==" + }, + "parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", + "requires": { + "path-platform": "~0.11.15" + } + }, + "parse-asn1": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.1.tgz", + "integrity": "sha512-KPx7flKXg775zZpnp9SxJlz00gTd4BmJ2yJufSc44gMCRrRQ7NSzAcSJQfifuOLgW6bEi+ftrALtsgALeB2Adw==", + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3" + } + }, + "parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", + "requires": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + } + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=" + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", + "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=" + }, + "path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "pbkdf2": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.16.tgz", + "integrity": "sha512-y4CXP3thSxqf7c0qmOF+9UeOTrifiVTIM+u7NWlq+PRsHbr7r7dpCmvzrZxa96JJUNi0Y5w9VqG5ZNeCVMoDcA==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "optional": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "phantomjs-prebuilt": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", + "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=", + "optional": true, + "requires": { + "es6-promise": "^4.0.3", + "extract-zip": "^1.6.5", + "fs-extra": "^1.0.0", + "hasha": "^2.2.0", + "kew": "^0.7.0", + "progress": "^1.1.8", + "request": "^2.81.0", + "request-progress": "^2.0.1", + "which": "^1.2.10" + } + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "optional": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "optional": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "platform": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.5.tgz", + "integrity": "sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==" + }, + "preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==" + }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=", + "optional": true + }, + "proxy-addr": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.4.tgz", + "integrity": "sha512-5erio2h9jp5CHGwcybmxmVqHmnCBZeewlfJ0pex+UW7Qny7OOZXTtH56TGNyBizkgiOwhJtMKrVzDTeKcySZwA==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.8.0" + } + }, + "public-encrypt": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.2.tgz", + "integrity": "sha512-4kJ5Esocg8X3h8YgJsKAuoesBgB7mqH3eowiDzMUPKiRDDE7E/BqqZD1hnTByIaAFiwAw246YEltSq7tdrOH0Q==", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "random-bytes": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", + "integrity": "sha1-T2ih3Arli9P7lYSMMDJNt11kNgs=" + }, + "randomatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.0.0.tgz", + "integrity": "sha512-VdxFOIEY3mNO5PtSRkkle/hPJDHvQhK21oa73K4yAc9qmp6N429gAyF1gZMOTMeS0/AYzaV/2Trcef+NaIonSA==", + "requires": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==" + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" + } + } + }, + "randombytes": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", + "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=" + }, + "raw-body": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz", + "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==", + "requires": { + "bytes": "3.0.0", + "http-errors": "1.6.3", + "iconv-lite": "0.4.23", + "unpipe": "1.0.0" + } + }, + "read-only-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz", + "integrity": "sha1-JyT9aoET1zdkrCiNQ4YnDB2/F/A=", + "requires": { + "readable-stream": "^2.0.2" + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdirp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz", + "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", + "requires": { + "graceful-fs": "^4.1.2", + "minimatch": "^3.0.2", + "readable-stream": "^2.0.2", + "set-immediate-shim": "^1.0.1" + } + }, + "referrer-policy": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/referrer-policy/-/referrer-policy-1.1.0.tgz", + "integrity": "sha1-NXdOtzW/UPtsB46DM0tHI1AgfXk=" + }, + "regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "requires": { + "is-equal-shallow": "^0.1.3" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "repeat-element": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", + "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "request": { + "version": "2.87.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz", + "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.6.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.1", + "forever-agent": "~0.6.1", + "form-data": "~2.3.1", + "har-validator": "~5.0.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.17", + "oauth-sign": "~0.8.2", + "performance-now": "^2.1.0", + "qs": "~6.5.1", + "safe-buffer": "^5.1.1", + "tough-cookie": "~2.3.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.1.0" + } + }, + "request-progress": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", + "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", + "optional": true, + "requires": { + "throttleit": "^1.0.0" + } + }, + "resolve": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.8.1.tgz", + "integrity": "sha512-AicPrAC7Qu1JxPCZ9ZgCZlY35QgFnNqc+0LtbRNxnVw4TXvjQ72wnuL9JQcEBgXkI9JM8MsT9kaQoHcpCRJOYA==", + "requires": { + "path-parse": "^1.0.5" + } + }, + "rimraf": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz", + "integrity": "sha1-7nEM5dk6j9uFb7Xqj/Di11k0sto=", + "optional": true, + "requires": { + "glob": "^6.0.1" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "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==" + }, + "safe-json-stringify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz", + "integrity": "sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==", + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-4SJ3dm0WAwWy/NVeioZh5AntkdJoWKxHxcmyP622fOkgHa4z3R0TdBJICINyaSDE6uNwVc8gZr+ZinwZAH4xIA==" + }, + "send": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==" + } + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shasum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz", + "integrity": "sha1-5wEjENj0F/TetXEhUOVni4euVl8=", + "requires": { + "json-stable-stringify": "~0.0.0", + "sha.js": "~2.4.4" + } + }, + "shell-quote": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.1.tgz", + "integrity": "sha1-9HgZSczkAmlxJ0MOo7PFR29IF2c=", + "requires": { + "array-filter": "~0.0.0", + "array-map": "~0.0.0", + "array-reduce": "~0.0.0", + "jsonify": "~0.0.0" + } + }, + "simple-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "sshpk": { + "version": "1.14.2", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz", + "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "standard-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/standard-error/-/standard-error-1.1.0.tgz", + "integrity": "sha1-I+UWj6HAggGJ5YEnAaeQWFENDTQ=" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stream-browserify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", + "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", + "requires": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-splicer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz", + "integrity": "sha1-G2O+Q4oTPktnHMGTUZdgAXWRDYM=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.2" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "subarg": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz", + "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=", + "requires": { + "minimist": "^1.1.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "requires": { + "acorn-node": "^1.2.0" + } + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=", + "optional": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + }, + "timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", + "requires": { + "process": "~0.11.0" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz", + "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==", + "requires": { + "punycode": "^1.4.1" + } + }, + "tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "optional": true + }, + "type-is": { + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.18" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "uid-safe": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", + "integrity": "sha512-KPHm4VL5dDXKz01UuEd88Df+KzynaohSL9fBh096KWAxSKZQDI2uBrVqtvRM4rwrIrRRKsdLNML/lnaaVSRioA==", + "requires": { + "random-bytes": "~1.0.0" + } + }, + "umd": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/umd/-/umd-3.0.3.tgz", + "integrity": "sha512-4IcGSufhFshvLNcMCV80UnQVlZ5pMOC8mvNPForqwA4+lzYQuetTESLDQkeLmihq8bRcnpbQa48Wb8Lh16/xow==" + }, + "undeclared-identifiers": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/undeclared-identifiers/-/undeclared-identifiers-1.1.2.tgz", + "integrity": "sha512-13EaeocO4edF/3JKime9rD7oB6QI8llAGhgn5fKOPyfkJbRb6NFv9pYV6dFEmpa4uRjKeBqLZP8GpuzqHlKDMQ==", + "requires": { + "acorn-node": "^1.3.0", + "get-assigned-identifiers": "^1.2.0", + "simple-concat": "^1.0.0", + "xtend": "^4.0.1" + } + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "requires": { + "inherits": "2.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + }, + "validator": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-10.4.0.tgz", + "integrity": "sha512-Q/wBy3LB1uOyssgNlXSRmaf22NxjvDNZM2MtIQ4jaEOAB61xsh1TQxsq1CgzUMBV1lDrVMogIh8GjG1DYW0zLg==" + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vm-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.0.tgz", + "integrity": "sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw==" + }, + "watchify": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/watchify/-/watchify-3.11.0.tgz", + "integrity": "sha512-7jWG0c3cKKm2hKScnSAMUEUjRJKXUShwMPk0ASVhICycQhwND3IMAdhJYmc1mxxKzBUJTSF5HZizfrKrS6BzkA==", + "requires": { + "anymatch": "^1.3.0", + "browserify": "^16.1.0", + "chokidar": "^1.0.0", + "defined": "^1.0.0", + "outpipe": "^1.1.0", + "through2": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "optional": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "x-xss-protection": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/x-xss-protection/-/x-xss-protection-1.1.0.tgz", + "integrity": "sha512-rx3GzJlgEeZ08MIcDsU2vY2B1QEriUKJTSiNHHUIem6eg9pzVOr2TL3Y4Pd6TMAM5D5azGjcxqI62piITBDHVg==" + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=" + }, + "yauzl": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz", + "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=", + "optional": true, + "requires": { + "fd-slicer": "~1.0.1" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..280a241 --- /dev/null +++ b/package.json @@ -0,0 +1,31 @@ +{ + "name": "flocards", + "version": "1.0.0", + "description": "A greeting card generating app based on FLO Blockchain", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "browserify": "browserify public/js/main.js -o public/js/bundle.js", + "watch": "watchify public/js/main.js -o public/js/bundle.js" + }, + "author": "Abhishek Sinha", + "license": "ISC", + "dependencies": { + "axios": "^0.18.0", + "bitcoin-core": "^2.0.0", + "body-parser": "^1.18.3", + "browserify": "^16.2.2", + "connect-flash": "^0.1.1", + "cookie-parser": "^1.4.3", + "ejs": "^2.6.1", + "express": "^4.16.3", + "express-layout": "^0.1.0", + "express-session": "^1.15.6", + "express-validator": "^5.3.0", + "helmet": "^3.13.0", + "html-pdf": "^2.2.0", + "lodash": "^4.17.10", + "node-fetch": "^2.2.0", + "watchify": "^3.11.0" + } +} diff --git a/public/css/main.css b/public/css/main.css new file mode 100644 index 0000000..e69de29 diff --git a/public/images/Diwali2018.jpg b/public/images/Diwali2018.jpg new file mode 100644 index 0000000000000000000000000000000000000000..33cad78ca63ba691a20eb0e3c6d6436833596211 GIT binary patch literal 20172 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 OMFcBSC<3v+X8sG}A?GXr literal 0 HcmV?d00001 diff --git a/public/images/hbd.jpg b/public/images/hbd.jpg new file mode 100644 index 0000000000000000000000000000000000000000..be5a0903e13dec71b9ba6b3a20612b521a6ae2af GIT binary patch literal 25343 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 O1}U;~jgGjg1OM3$t}2QE literal 0 HcmV?d00001 diff --git a/public/js/bundle.js b/public/js/bundle.js new file mode 100644 index 0000000..4de3311 --- /dev/null +++ b/public/js/bundle.js @@ -0,0 +1,14 @@ +(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i{ + res.render('index.ejs', { + data: {}, + errors: {}, + title: 'Welcome! Select a card of your choice.' + }) +}) + +router.get('/write/:card_id', (req, res)=>{ + res.render('write.ejs', { + data: {card_id: req.params.card_id}, + errors: {}, + title: 'Write your message' + }) +}) + +router.post('/write', [check('_bdata').isLength({min:1}).withMessage('Please write some remarks!').trim(), +check('_cardid').isLength({min:1}).withMessage('Could not find the card id!').trim()], + (req,res)=>{ + const errors = validationResult(req) + if(!errors.isEmpty()) { + return res.render('write', { + data: req.body, + errors: errors.mapped(), + title: 'Please Write your message' + }) + } + + const data = matchedData(req) + + let remarks = data._bdata; + let card_id = data._cardid; + + var toaddress = "oXCsMUyX3mLJEdnn8SXoH6gyPW9Jd6kjYu"; + var amount = 1; + + res.json({"txnid":"zdfjhdzjfhzhfjhzekjhfjhf", "card_id":card_id}) + // try { + // client.sendToAddress(toaddress, amount, "Greetings App", "REBC", false, false, 1, 'UNSET', remarks) + // .then((txnid) => { + // console.log(txnid) + // res.json({"txnid":txnid, "card_id":card_id}) + // }); + // }catch(err){ + // console.log("Unable to send FLO." + err.message); + // } + + // req.flash('success', 'Your remarks was successfully entered.') + // res.redirect('/') + + } +) + +module.exports = router diff --git a/server.example.js b/server.example.js new file mode 100644 index 0000000..78a758e --- /dev/null +++ b/server.example.js @@ -0,0 +1,5 @@ +const Client = require('bitcoin-core'); +const client = new Client({host: 'localhost', network: 'testnet', username: 'yourusername', password: 'yourpassword', port: 17313 +}); + +module.exports = client; diff --git a/templates/test.html b/templates/test.html new file mode 100644 index 0000000..66e8a6c --- /dev/null +++ b/templates/test.html @@ -0,0 +1,15 @@ + + + + + + + Happy Diwali + + +

+ Happy Diwali to me +

+ + + \ No newline at end of file diff --git a/views/index.ejs b/views/index.ejs new file mode 100644 index 0000000..759c786 --- /dev/null +++ b/views/index.ejs @@ -0,0 +1,23 @@ +<% include partials/header.ejs %> + +
+
+ Card image cap +
+
Card title
+

This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.

+

Last updated 3 mins ago

+
+
+
+ <Card image cap +
+
Card title
+

This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit longer.

+

Last updated 3 mins ago

+
+
+
+ + +<% include partials/footer.ejs %> \ No newline at end of file diff --git a/views/partials/footer.ejs b/views/partials/footer.ejs new file mode 100644 index 0000000..4f88bf8 --- /dev/null +++ b/views/partials/footer.ejs @@ -0,0 +1,4 @@ + + + + diff --git a/views/partials/header.ejs b/views/partials/header.ejs new file mode 100644 index 0000000..05ae113 --- /dev/null +++ b/views/partials/header.ejs @@ -0,0 +1,22 @@ + + + + + + + + + + + <%=title%> + + + + + + diff --git a/views/write.ejs b/views/write.ejs new file mode 100644 index 0000000..25cc979 --- /dev/null +++ b/views/write.ejs @@ -0,0 +1,32 @@ +<% include partials/header.ejs %> + +
+
+ <% if (Object.keys(errors).length === 0) { %> +

Please write a review about your experience here:

+ <% } else { %> +

Oops, please correct the following:

+
    + <% Object.values(errors).forEach(error => { %> +
  • <%= error.msg %>
  • + <% }) %> +
+ <% } %> +
+ +<% if(data.card_id) { %> + +
+ + + + +
+ +
+ +<%}%> + +
+ +<% include partials/footer.ejs %>