├── .angular-cli.json
├── .editorconfig
├── .firebaserc
├── .gitignore
├── README.md
├── e2e
├── app.e2e-spec.ts
├── app.po.ts
└── tsconfig.e2e.json
├── firebase.json
├── functions
├── index.js
├── package-lock.json
└── package.json
├── karma.conf.js
├── package-lock.json
├── package.json
├── protractor.conf.js
├── src
├── app
│ ├── app.component.html
│ ├── app.component.scss
│ ├── app.component.spec.ts
│ ├── app.component.ts
│ ├── app.module.ts
│ ├── chat
│ │ ├── chat-dialog
│ │ │ ├── chat-dialog.component.html
│ │ │ ├── chat-dialog.component.scss
│ │ │ ├── chat-dialog.component.spec.ts
│ │ │ └── chat-dialog.component.ts
│ │ ├── chat.module.ts
│ │ ├── chat.service.spec.ts
│ │ ├── chat.service.ts
│ │ ├── markdown.service.spec.ts
│ │ └── markdown.service.ts
│ ├── core
│ │ └── material.module.ts
│ └── shared
│ │ ├── md-to-html.pipe.spec.ts
│ │ ├── md-to-html.pipe.ts
│ │ └── shared.module.ts
├── assets
│ ├── .gitkeep
│ └── logo.png
├── environments
│ └── environment.prod.ts
├── favicon.ico
├── index.html
├── main.ts
├── polyfills.ts
├── styles.scss
├── test.ts
├── tsconfig.app.json
├── tsconfig.spec.json
└── typings.d.ts
├── tsconfig.json
└── tslint.json
/.angular-cli.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
3 | "project": {
4 | "name": "chatbot"
5 | },
6 | "apps": [
7 | {
8 | "root": "src",
9 | "outDir": "dist",
10 | "assets": [
11 | "assets",
12 | "favicon.ico"
13 | ],
14 | "index": "index.html",
15 | "main": "main.ts",
16 | "polyfills": "polyfills.ts",
17 | "test": "test.ts",
18 | "tsconfig": "tsconfig.app.json",
19 | "testTsconfig": "tsconfig.spec.json",
20 | "prefix": "",
21 | "styles": [
22 | "styles.scss"
23 | ],
24 | "scripts": [],
25 | "environmentSource": "environments/environment.ts",
26 | "environments": {
27 | "dev": "environments/environment.ts",
28 | "prod": "environments/environment.prod.ts"
29 | }
30 | }
31 | ],
32 | "e2e": {
33 | "protractor": {
34 | "config": "./protractor.conf.js"
35 | }
36 | },
37 | "lint": [
38 | {
39 | "project": "src/tsconfig.app.json",
40 | "exclude": "**/node_modules/**"
41 | },
42 | {
43 | "project": "src/tsconfig.spec.json",
44 | "exclude": "**/node_modules/**"
45 | },
46 | {
47 | "project": "e2e/tsconfig.e2e.json",
48 | "exclude": "**/node_modules/**"
49 | }
50 | ],
51 | "test": {
52 | "karma": {
53 | "config": "./karma.conf.js"
54 | }
55 | },
56 | "defaults": {
57 | "styleExt": "scss",
58 | "class": {
59 | "spec": false
60 | },
61 | "component": {}
62 | }
63 | }
64 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | # Editor configuration, see http://editorconfig.org
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | insert_final_newline = true
9 | trim_trailing_whitespace = true
10 |
11 | [*.md]
12 | max_line_length = off
13 | trim_trailing_whitespace = false
14 |
--------------------------------------------------------------------------------
/.firebaserc:
--------------------------------------------------------------------------------
1 | {
2 | "projects": {
3 | "default": "angularchatbot"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See http://help.github.com/ignore-files/ for more about ignoring files.
2 |
3 | /src/environments/environment.prod.ts
4 | /src/environments/environment.ts
5 |
6 | # compiled output
7 | /dist
8 | /tmp
9 | /out-tsc
10 |
11 | # dependencies
12 | /node_modules
13 | /functions/node_modules
14 |
15 | # IDEs and editors
16 | /.idea
17 | .project
18 | .classpath
19 | .c9/
20 | *.launch
21 | .settings/
22 | *.sublime-workspace
23 |
24 | # IDE - VSCode
25 | .vscode/*
26 | !.vscode/settings.json
27 | !.vscode/tasks.json
28 | !.vscode/launch.json
29 | !.vscode/extensions.json
30 |
31 | # misc
32 | /.sass-cache
33 | /connect.lock
34 | /coverage
35 | /libpeerconnection.log
36 | npm-debug.log
37 | testem.log
38 | /typings
39 |
40 | # e2e
41 | /e2e/*.js
42 | /e2e/*.map
43 |
44 | # System Files
45 | .DS_Store
46 | Thumbs.db
47 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | [](https://join.slack.com/angularfirebase/shared_invite/MjA2NTgxMTI0MTk2LTE0OTg4NTQ4MDAtMjhhZDIzMjc0Mg)
3 |
4 | [](https://opensource.org/licenses/MIT)
5 |
6 | # AngularChatbot
7 |
8 | Status: Pre-alpha
9 |
10 | A Dialogflow chatbot with profound knowledge of the Angular Framework.
11 |
12 | ## Contribute?
13 |
14 | Join the slack team and check into the #chatbot-dev channel if you want to help make it better.
15 |
--------------------------------------------------------------------------------
/e2e/app.e2e-spec.ts:
--------------------------------------------------------------------------------
1 | import { AppPage } from './app.po';
2 |
3 | describe('chatbot App', () => {
4 | let page: AppPage;
5 |
6 | beforeEach(() => {
7 | page = new AppPage();
8 | });
9 |
10 | it('should display welcome message', () => {
11 | page.navigateTo();
12 | expect(page.getParagraphText()).toEqual('Welcome to app!');
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/e2e/app.po.ts:
--------------------------------------------------------------------------------
1 | import { browser, by, element } from 'protractor';
2 |
3 | export class AppPage {
4 | navigateTo() {
5 | return browser.get('/');
6 | }
7 |
8 | getParagraphText() {
9 | return element(by.css('app-root h1')).getText();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/e2e/tsconfig.e2e.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../tsconfig.json",
3 | "compilerOptions": {
4 | "outDir": "../out-tsc/e2e",
5 | "baseUrl": "./",
6 | "module": "commonjs",
7 | "target": "es5",
8 | "types": [
9 | "jasmine",
10 | "jasminewd2",
11 | "node"
12 | ]
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/firebase.json:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/functions/index.js:
--------------------------------------------------------------------------------
1 | const functions = require('firebase-functions');
2 |
3 | // const admin = require('firebase-admin');
4 | // admin.initializeApp(functions.config().firebase);
5 |
6 |
7 | exports.dialogflowFirebaseFulfillment = functions.https.onRequest((req, res) => {
8 |
9 | console.log('Request headers: ' + JSON.stringify(req.headers));
10 | console.log('Request body: ' + JSON.stringify(req.body));
11 | // An action is a string used to identify what needs to be done in fulfillment
12 | let action = req.body.result.action;
13 | // Parameters are any entites that Dialogflow has extracted from the request.
14 | const parameters = req.body.result.parameters;
15 |
16 | // Contexts are objects used to track and store conversation state
17 | const inputContexts = req.body.result.contexts;
18 |
19 | // Get the request source slack/facebook/et
20 | const requestSource = (req.body.originalRequest) ? req.body.originalRequest.source : undefined;
21 |
22 |
23 | const actionHandlers = {
24 |
25 | 'learn.component': () => {
26 | // todo
27 |
28 | },
29 | 'default': () => {
30 | const data = formatResponse('Hi. I am the default response from the Cloud Function')
31 | }
32 |
33 | }
34 |
35 | if (!actionHandlers[action]) {
36 | action = 'default';
37 | }
38 |
39 | // Call the handler with action type
40 | actionHandlers[action]();
41 |
42 | });
43 |
44 |
45 | function formatResponse(text) {
46 | return {
47 | speech: text,
48 | displayText: text,
49 | data: {},
50 | contextOut: [],
51 | source: '',
52 | followupEvent: {}
53 | }
54 | }
--------------------------------------------------------------------------------
/functions/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "functions",
3 | "requires": true,
4 | "lockfileVersion": 1,
5 | "dependencies": {
6 | "@types/express": {
7 | "version": "4.0.37",
8 | "resolved": "https://registry.npmjs.org/@types/express/-/express-4.0.37.tgz",
9 | "integrity": "sha512-tIULTLzQpFFs5/PKnFIAFOsXQxss76glppbVKR3/jddPK26SBsD5HF5grn5G2jOGtpRWSBvYmDYoduVv+3wOXg==",
10 | "requires": {
11 | "@types/express-serve-static-core": "4.0.53",
12 | "@types/serve-static": "1.7.32"
13 | }
14 | },
15 | "@types/express-serve-static-core": {
16 | "version": "4.0.53",
17 | "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.0.53.tgz",
18 | "integrity": "sha512-zaGeOpEYp5G2EhjaUFdVwysDrfEYc6Q6iPhd3Kl4ip30x0tvVv7SuJvY3yzCUSuFlzAG8N5KsyY6BJg93/cn+Q==",
19 | "requires": {
20 | "@types/node": "8.0.46"
21 | }
22 | },
23 | "@types/jsonwebtoken": {
24 | "version": "7.2.3",
25 | "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-7.2.3.tgz",
26 | "integrity": "sha512-cVhxZfVCyTZd1P+2a+xXSR9to7hZTulNRLLCQMVfAevUqx2Ee+EgsiD/7pX8qvdXWP3nWgSoTjKRLMrIpdPVjQ==",
27 | "requires": {
28 | "@types/node": "8.0.46"
29 | }
30 | },
31 | "@types/lodash": {
32 | "version": "4.14.78",
33 | "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.78.tgz",
34 | "integrity": "sha512-AflcpYyLyf/VIgSJbG/WMx7Bk00UejtSjYUW176K7erXChVcZENFdgOKOKfOXX9MmcXKoZW1QVFbqYapkhn1rA=="
35 | },
36 | "@types/mime": {
37 | "version": "2.0.0",
38 | "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.0.tgz",
39 | "integrity": "sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA=="
40 | },
41 | "@types/node": {
42 | "version": "8.0.46",
43 | "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.46.tgz",
44 | "integrity": "sha512-rRkP4kb5JYIfAoRKaDbcdPZBcTNOgzSApyzhPN9e6rhViSJAWQGlSXIX5gc75iR02jikhpzy3usu31wMHllfFw=="
45 | },
46 | "@types/serve-static": {
47 | "version": "1.7.32",
48 | "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.7.32.tgz",
49 | "integrity": "sha512-WpI0g7M1FiOmJ/a97Qrjafq2I938tjAZ3hZr9O7sXyA6oUhH3bqUNZIt7r1KZg8TQAKxcvxt6JjQ5XuLfIBFvg==",
50 | "requires": {
51 | "@types/express-serve-static-core": "4.0.53",
52 | "@types/mime": "2.0.0"
53 | }
54 | },
55 | "@types/sha1": {
56 | "version": "1.1.0",
57 | "resolved": "https://registry.npmjs.org/@types/sha1/-/sha1-1.1.0.tgz",
58 | "integrity": "sha1-Rh6xiQbSXo0HxGeKDtT5ygfkbdk=",
59 | "requires": {
60 | "@types/node": "8.0.46"
61 | }
62 | },
63 | "accepts": {
64 | "version": "1.3.4",
65 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz",
66 | "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=",
67 | "requires": {
68 | "mime-types": "2.1.17",
69 | "negotiator": "0.6.1"
70 | }
71 | },
72 | "array-flatten": {
73 | "version": "1.1.1",
74 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
75 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
76 | },
77 | "base64url": {
78 | "version": "2.0.0",
79 | "resolved": "https://registry.npmjs.org/base64url/-/base64url-2.0.0.tgz",
80 | "integrity": "sha1-6sFuA+oUOO/5Qj1puqNiYu0fcLs="
81 | },
82 | "body-parser": {
83 | "version": "1.18.2",
84 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
85 | "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=",
86 | "requires": {
87 | "bytes": "3.0.0",
88 | "content-type": "1.0.4",
89 | "debug": "2.6.9",
90 | "depd": "1.1.1",
91 | "http-errors": "1.6.2",
92 | "iconv-lite": "0.4.19",
93 | "on-finished": "2.3.0",
94 | "qs": "6.5.1",
95 | "raw-body": "2.3.2",
96 | "type-is": "1.6.15"
97 | }
98 | },
99 | "buffer-equal-constant-time": {
100 | "version": "1.0.1",
101 | "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
102 | "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
103 | },
104 | "bytes": {
105 | "version": "3.0.0",
106 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
107 | "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
108 | },
109 | "charenc": {
110 | "version": "0.0.2",
111 | "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
112 | "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc="
113 | },
114 | "content-disposition": {
115 | "version": "0.5.2",
116 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
117 | "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
118 | },
119 | "content-type": {
120 | "version": "1.0.4",
121 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
122 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
123 | },
124 | "cookie": {
125 | "version": "0.3.1",
126 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
127 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
128 | },
129 | "cookie-signature": {
130 | "version": "1.0.6",
131 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
132 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
133 | },
134 | "crypt": {
135 | "version": "0.0.2",
136 | "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
137 | "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs="
138 | },
139 | "debug": {
140 | "version": "2.6.9",
141 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
142 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
143 | "requires": {
144 | "ms": "2.0.0"
145 | }
146 | },
147 | "depd": {
148 | "version": "1.1.1",
149 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
150 | "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
151 | },
152 | "destroy": {
153 | "version": "1.0.4",
154 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
155 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
156 | },
157 | "ecdsa-sig-formatter": {
158 | "version": "1.0.9",
159 | "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.9.tgz",
160 | "integrity": "sha1-S8kmJ07Dtau1AW5+HWCSGsJisqE=",
161 | "requires": {
162 | "base64url": "2.0.0",
163 | "safe-buffer": "5.1.1"
164 | }
165 | },
166 | "ee-first": {
167 | "version": "1.1.1",
168 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
169 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
170 | },
171 | "encodeurl": {
172 | "version": "1.0.1",
173 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz",
174 | "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA="
175 | },
176 | "escape-html": {
177 | "version": "1.0.3",
178 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
179 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
180 | },
181 | "etag": {
182 | "version": "1.8.1",
183 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
184 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
185 | },
186 | "express": {
187 | "version": "4.16.2",
188 | "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz",
189 | "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=",
190 | "requires": {
191 | "accepts": "1.3.4",
192 | "array-flatten": "1.1.1",
193 | "body-parser": "1.18.2",
194 | "content-disposition": "0.5.2",
195 | "content-type": "1.0.4",
196 | "cookie": "0.3.1",
197 | "cookie-signature": "1.0.6",
198 | "debug": "2.6.9",
199 | "depd": "1.1.1",
200 | "encodeurl": "1.0.1",
201 | "escape-html": "1.0.3",
202 | "etag": "1.8.1",
203 | "finalhandler": "1.1.0",
204 | "fresh": "0.5.2",
205 | "merge-descriptors": "1.0.1",
206 | "methods": "1.1.2",
207 | "on-finished": "2.3.0",
208 | "parseurl": "1.3.2",
209 | "path-to-regexp": "0.1.7",
210 | "proxy-addr": "2.0.2",
211 | "qs": "6.5.1",
212 | "range-parser": "1.2.0",
213 | "safe-buffer": "5.1.1",
214 | "send": "0.16.1",
215 | "serve-static": "1.13.1",
216 | "setprototypeof": "1.1.0",
217 | "statuses": "1.3.1",
218 | "type-is": "1.6.15",
219 | "utils-merge": "1.0.1",
220 | "vary": "1.1.2"
221 | }
222 | },
223 | "finalhandler": {
224 | "version": "1.1.0",
225 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
226 | "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
227 | "requires": {
228 | "debug": "2.6.9",
229 | "encodeurl": "1.0.1",
230 | "escape-html": "1.0.3",
231 | "on-finished": "2.3.0",
232 | "parseurl": "1.3.2",
233 | "statuses": "1.3.1",
234 | "unpipe": "1.0.0"
235 | }
236 | },
237 | "firebase-admin": {
238 | "version": "5.4.2",
239 | "resolved": "https://registry.npmjs.org/firebase-admin/-/firebase-admin-5.4.2.tgz",
240 | "integrity": "sha1-AC9YvirYkBIp5SXsVfpybRL5BOs=",
241 | "requires": {
242 | "@google-cloud/firestore": "0.8.2",
243 | "@google-cloud/storage": "1.3.1",
244 | "@types/google-cloud__storage": "1.1.5",
245 | "@types/jsonwebtoken": "7.2.3",
246 | "@types/node": "8.0.33",
247 | "faye-websocket": "0.9.3",
248 | "google-auth-library": "0.10.0",
249 | "jsonwebtoken": "7.1.9",
250 | "lodash": "4.17.4",
251 | "node-forge": "0.7.1"
252 | },
253 | "dependencies": {
254 | "@google-cloud/common": {
255 | "version": "0.13.6",
256 | "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.13.6.tgz",
257 | "integrity": "sha1-qdjhN7xCmkSrqWif5qDkMxeE+FM=",
258 | "requires": {
259 | "array-uniq": "1.0.3",
260 | "arrify": "1.0.1",
261 | "concat-stream": "1.6.0",
262 | "create-error-class": "3.0.2",
263 | "duplexify": "3.5.1",
264 | "ent": "2.2.0",
265 | "extend": "3.0.1",
266 | "google-auto-auth": "0.7.2",
267 | "is": "3.2.1",
268 | "log-driver": "1.2.5",
269 | "methmeth": "1.1.0",
270 | "modelo": "4.2.0",
271 | "request": "2.83.0",
272 | "retry-request": "3.0.0",
273 | "split-array-stream": "1.0.3",
274 | "stream-events": "1.0.2",
275 | "string-format-obj": "1.1.0",
276 | "through2": "2.0.3"
277 | }
278 | },
279 | "@google-cloud/common-grpc": {
280 | "version": "0.4.1",
281 | "resolved": "https://registry.npmjs.org/@google-cloud/common-grpc/-/common-grpc-0.4.1.tgz",
282 | "integrity": "sha1-CSZGB++4k0MJr/1jhJmG+7gPkhg=",
283 | "requires": {
284 | "@google-cloud/common": "0.13.6",
285 | "dot-prop": "2.4.0",
286 | "duplexify": "3.5.1",
287 | "extend": "3.0.1",
288 | "grpc": "1.6.6",
289 | "is": "3.2.1",
290 | "modelo": "4.2.0",
291 | "retry-request": "3.0.0",
292 | "through2": "2.0.3"
293 | }
294 | },
295 | "@google-cloud/firestore": {
296 | "version": "0.8.2",
297 | "resolved": "https://registry.npmjs.org/@google-cloud/firestore/-/firestore-0.8.2.tgz",
298 | "integrity": "sha512-Z9hoiZIIn1MN7lUZE0pStvkrTdzJnSyFyxDJ4VojkzF/lL4EAUr9USyWXol6HZYcERPjXIasHSXXTYwuXx8tmA==",
299 | "requires": {
300 | "@google-cloud/common": "0.13.6",
301 | "@google-cloud/common-grpc": "0.4.1",
302 | "bun": "0.0.12",
303 | "extend": "3.0.1",
304 | "functional-red-black-tree": "1.0.1",
305 | "google-gax": "0.14.1",
306 | "grpc": "1.6.6",
307 | "is": "3.2.1",
308 | "through2": "2.0.3"
309 | }
310 | },
311 | "@google-cloud/storage": {
312 | "version": "1.3.1",
313 | "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-1.3.1.tgz",
314 | "integrity": "sha512-tN2YttvQ33KwXuG2tpP3lEtxkZWV1yifc84YOusMjBCDoAal5GWXDPuCeFBI7cMs5LW+V2o3I9ZusOJZwYA8ug==",
315 | "requires": {
316 | "@google-cloud/common": "0.13.6",
317 | "arrify": "1.0.1",
318 | "async": "2.5.0",
319 | "concat-stream": "1.6.0",
320 | "create-error-class": "3.0.2",
321 | "duplexify": "3.5.1",
322 | "extend": "3.0.1",
323 | "gcs-resumable-upload": "0.8.2",
324 | "hash-stream-validation": "0.2.1",
325 | "is": "3.2.1",
326 | "mime-types": "2.1.17",
327 | "once": "1.4.0",
328 | "pumpify": "1.3.5",
329 | "safe-buffer": "5.1.1",
330 | "stream-events": "1.0.2",
331 | "string-format-obj": "1.1.0",
332 | "through2": "2.0.3"
333 | }
334 | },
335 | "@protobufjs/aspromise": {
336 | "version": "1.1.2",
337 | "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
338 | "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78="
339 | },
340 | "@protobufjs/base64": {
341 | "version": "1.1.2",
342 | "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
343 | "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
344 | },
345 | "@protobufjs/codegen": {
346 | "version": "2.0.4",
347 | "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
348 | "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
349 | },
350 | "@protobufjs/eventemitter": {
351 | "version": "1.1.0",
352 | "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
353 | "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A="
354 | },
355 | "@protobufjs/fetch": {
356 | "version": "1.1.0",
357 | "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
358 | "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=",
359 | "requires": {
360 | "@protobufjs/aspromise": "1.1.2",
361 | "@protobufjs/inquire": "1.1.0"
362 | }
363 | },
364 | "@protobufjs/float": {
365 | "version": "1.0.2",
366 | "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
367 | "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E="
368 | },
369 | "@protobufjs/inquire": {
370 | "version": "1.1.0",
371 | "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
372 | "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik="
373 | },
374 | "@protobufjs/path": {
375 | "version": "1.1.2",
376 | "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
377 | "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0="
378 | },
379 | "@protobufjs/pool": {
380 | "version": "1.1.0",
381 | "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
382 | "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q="
383 | },
384 | "@protobufjs/utf8": {
385 | "version": "1.1.0",
386 | "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
387 | "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA="
388 | },
389 | "@types/google-cloud__storage": {
390 | "version": "1.1.5",
391 | "resolved": "https://registry.npmjs.org/@types/google-cloud__storage/-/google-cloud__storage-1.1.5.tgz",
392 | "integrity": "sha512-c82GoxSyQZASfOTpyMx8nvpIwySR+vXnkzymya9MQR7L+60ckLQVzn6yUMnOWgTDFM7EUzk79X5p8uSDx9jDVw==",
393 | "requires": {
394 | "@types/node": "8.0.33"
395 | }
396 | },
397 | "@types/jsonwebtoken": {
398 | "version": "7.2.3",
399 | "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-7.2.3.tgz",
400 | "integrity": "sha512-cVhxZfVCyTZd1P+2a+xXSR9to7hZTulNRLLCQMVfAevUqx2Ee+EgsiD/7pX8qvdXWP3nWgSoTjKRLMrIpdPVjQ==",
401 | "requires": {
402 | "@types/node": "8.0.33"
403 | }
404 | },
405 | "@types/long": {
406 | "version": "3.0.32",
407 | "resolved": "https://registry.npmjs.org/@types/long/-/long-3.0.32.tgz",
408 | "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA=="
409 | },
410 | "@types/node": {
411 | "version": "8.0.33",
412 | "resolved": "https://registry.npmjs.org/@types/node/-/node-8.0.33.tgz",
413 | "integrity": "sha512-vmCdO8Bm1ExT+FWfC9sd9r4jwqM7o97gGy2WBshkkXbf/2nLAJQUrZfIhw27yVOtLUev6kSZc4cav/46KbDd8A=="
414 | },
415 | "ajv": {
416 | "version": "5.2.3",
417 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.3.tgz",
418 | "integrity": "sha1-wG9Zh3jETGsWGrr+NGa4GtGBTtI=",
419 | "requires": {
420 | "co": "4.6.0",
421 | "fast-deep-equal": "1.0.0",
422 | "json-schema-traverse": "0.3.1",
423 | "json-stable-stringify": "1.0.1"
424 | }
425 | },
426 | "ansi-regex": {
427 | "version": "2.1.1",
428 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
429 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
430 | },
431 | "arguejs": {
432 | "version": "0.2.3",
433 | "resolved": "https://registry.npmjs.org/arguejs/-/arguejs-0.2.3.tgz",
434 | "integrity": "sha1-tvk59f4OPNHz+T4qqSYkJL8xKvc="
435 | },
436 | "array-union": {
437 | "version": "1.0.2",
438 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
439 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
440 | "requires": {
441 | "array-uniq": "1.0.3"
442 | }
443 | },
444 | "array-uniq": {
445 | "version": "1.0.3",
446 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
447 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY="
448 | },
449 | "arrify": {
450 | "version": "1.0.1",
451 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
452 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0="
453 | },
454 | "ascli": {
455 | "version": "1.0.1",
456 | "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz",
457 | "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=",
458 | "requires": {
459 | "colour": "0.7.1",
460 | "optjs": "3.2.2"
461 | }
462 | },
463 | "asn1": {
464 | "version": "0.2.3",
465 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
466 | "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
467 | },
468 | "assert-plus": {
469 | "version": "1.0.0",
470 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
471 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
472 | },
473 | "async": {
474 | "version": "2.5.0",
475 | "resolved": "https://registry.npmjs.org/async/-/async-2.5.0.tgz",
476 | "integrity": "sha512-e+lJAJeNWuPCNyxZKOBdaJGyLGHugXVQtrAwtuAe2vhxTYxFTKE73p8JuTmdH0qdQZtDvI4dhJwjZc5zsfIsYw==",
477 | "requires": {
478 | "lodash": "4.17.4"
479 | }
480 | },
481 | "asynckit": {
482 | "version": "0.4.0",
483 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
484 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
485 | },
486 | "aws-sign2": {
487 | "version": "0.7.0",
488 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
489 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
490 | },
491 | "aws4": {
492 | "version": "1.6.0",
493 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
494 | "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4="
495 | },
496 | "balanced-match": {
497 | "version": "1.0.0",
498 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
499 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
500 | },
501 | "base64url": {
502 | "version": "2.0.0",
503 | "resolved": "https://registry.npmjs.org/base64url/-/base64url-2.0.0.tgz",
504 | "integrity": "sha1-6sFuA+oUOO/5Qj1puqNiYu0fcLs="
505 | },
506 | "bcrypt-pbkdf": {
507 | "version": "1.0.1",
508 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
509 | "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
510 | "optional": true,
511 | "requires": {
512 | "tweetnacl": "0.14.5"
513 | }
514 | },
515 | "boom": {
516 | "version": "4.3.1",
517 | "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz",
518 | "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=",
519 | "requires": {
520 | "hoek": "4.2.0"
521 | }
522 | },
523 | "brace-expansion": {
524 | "version": "1.1.8",
525 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
526 | "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
527 | "requires": {
528 | "balanced-match": "1.0.0",
529 | "concat-map": "0.0.1"
530 | }
531 | },
532 | "buffer-equal": {
533 | "version": "1.0.0",
534 | "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
535 | "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74="
536 | },
537 | "buffer-equal-constant-time": {
538 | "version": "1.0.1",
539 | "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
540 | "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
541 | },
542 | "bun": {
543 | "version": "0.0.12",
544 | "resolved": "https://registry.npmjs.org/bun/-/bun-0.0.12.tgz",
545 | "integrity": "sha512-Toms18J9DqnT+IfWkwxVTB2EaBprHvjlMWrTIsfX4xbu3ZBqVBwrERU0em1IgtRe04wT+wJxMlKHZok24hrcSQ==",
546 | "requires": {
547 | "readable-stream": "1.0.34"
548 | },
549 | "dependencies": {
550 | "isarray": {
551 | "version": "0.0.1",
552 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
553 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
554 | },
555 | "readable-stream": {
556 | "version": "1.0.34",
557 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
558 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
559 | "requires": {
560 | "core-util-is": "1.0.2",
561 | "inherits": "2.0.3",
562 | "isarray": "0.0.1",
563 | "string_decoder": "0.10.31"
564 | }
565 | },
566 | "string_decoder": {
567 | "version": "0.10.31",
568 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
569 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
570 | }
571 | }
572 | },
573 | "bytebuffer": {
574 | "version": "5.0.1",
575 | "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz",
576 | "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=",
577 | "requires": {
578 | "long": "3.2.0"
579 | }
580 | },
581 | "camelcase": {
582 | "version": "2.1.1",
583 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
584 | "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
585 | },
586 | "capture-stack-trace": {
587 | "version": "1.0.0",
588 | "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz",
589 | "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0="
590 | },
591 | "caseless": {
592 | "version": "0.12.0",
593 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
594 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
595 | },
596 | "cliui": {
597 | "version": "3.2.0",
598 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
599 | "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
600 | "requires": {
601 | "string-width": "1.0.2",
602 | "strip-ansi": "3.0.1",
603 | "wrap-ansi": "2.1.0"
604 | }
605 | },
606 | "co": {
607 | "version": "4.6.0",
608 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
609 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
610 | },
611 | "code-point-at": {
612 | "version": "1.1.0",
613 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
614 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
615 | },
616 | "colour": {
617 | "version": "0.7.1",
618 | "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz",
619 | "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g="
620 | },
621 | "combined-stream": {
622 | "version": "1.0.5",
623 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
624 | "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
625 | "requires": {
626 | "delayed-stream": "1.0.0"
627 | }
628 | },
629 | "concat-map": {
630 | "version": "0.0.1",
631 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
632 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
633 | },
634 | "concat-stream": {
635 | "version": "1.6.0",
636 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
637 | "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
638 | "requires": {
639 | "inherits": "2.0.3",
640 | "readable-stream": "2.3.3",
641 | "typedarray": "0.0.6"
642 | }
643 | },
644 | "configstore": {
645 | "version": "3.1.1",
646 | "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz",
647 | "integrity": "sha512-5oNkD/L++l0O6xGXxb1EWS7SivtjfGQlRyxJsYgE0Z495/L81e2h4/d3r969hoPXuFItzNOKMtsXgYG4c7dYvw==",
648 | "requires": {
649 | "dot-prop": "4.2.0",
650 | "graceful-fs": "4.1.11",
651 | "make-dir": "1.0.0",
652 | "unique-string": "1.0.0",
653 | "write-file-atomic": "2.3.0",
654 | "xdg-basedir": "3.0.0"
655 | },
656 | "dependencies": {
657 | "dot-prop": {
658 | "version": "4.2.0",
659 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
660 | "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
661 | "requires": {
662 | "is-obj": "1.0.1"
663 | }
664 | }
665 | }
666 | },
667 | "core-util-is": {
668 | "version": "1.0.2",
669 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
670 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
671 | },
672 | "create-error-class": {
673 | "version": "3.0.2",
674 | "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
675 | "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
676 | "requires": {
677 | "capture-stack-trace": "1.0.0"
678 | }
679 | },
680 | "cryptiles": {
681 | "version": "3.1.2",
682 | "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz",
683 | "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=",
684 | "requires": {
685 | "boom": "5.2.0"
686 | },
687 | "dependencies": {
688 | "boom": {
689 | "version": "5.2.0",
690 | "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz",
691 | "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==",
692 | "requires": {
693 | "hoek": "4.2.0"
694 | }
695 | }
696 | }
697 | },
698 | "crypto-random-string": {
699 | "version": "1.0.0",
700 | "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
701 | "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4="
702 | },
703 | "dashdash": {
704 | "version": "1.14.1",
705 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
706 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
707 | "requires": {
708 | "assert-plus": "1.0.0"
709 | }
710 | },
711 | "decamelize": {
712 | "version": "1.2.0",
713 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
714 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
715 | },
716 | "delayed-stream": {
717 | "version": "1.0.0",
718 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
719 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
720 | },
721 | "dot-prop": {
722 | "version": "2.4.0",
723 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-2.4.0.tgz",
724 | "integrity": "sha1-hI4o9/HVB0DGdHqzywdnBGK2+Jw=",
725 | "requires": {
726 | "is-obj": "1.0.1"
727 | }
728 | },
729 | "duplexify": {
730 | "version": "3.5.1",
731 | "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz",
732 | "integrity": "sha512-j5goxHTwVED1Fpe5hh3q9R93Kip0Bg2KVAt4f8CEYM3UEwYcPSvWbXaUQOzdX/HtiNomipv+gU7ASQPDbV7pGQ==",
733 | "requires": {
734 | "end-of-stream": "1.4.0",
735 | "inherits": "2.0.3",
736 | "readable-stream": "2.3.3",
737 | "stream-shift": "1.0.0"
738 | }
739 | },
740 | "ecc-jsbn": {
741 | "version": "0.1.1",
742 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
743 | "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
744 | "optional": true,
745 | "requires": {
746 | "jsbn": "0.1.1"
747 | }
748 | },
749 | "ecdsa-sig-formatter": {
750 | "version": "1.0.9",
751 | "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.9.tgz",
752 | "integrity": "sha1-S8kmJ07Dtau1AW5+HWCSGsJisqE=",
753 | "requires": {
754 | "base64url": "2.0.0",
755 | "safe-buffer": "5.1.1"
756 | }
757 | },
758 | "end-of-stream": {
759 | "version": "1.4.0",
760 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz",
761 | "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=",
762 | "requires": {
763 | "once": "1.4.0"
764 | }
765 | },
766 | "ent": {
767 | "version": "2.2.0",
768 | "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
769 | "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0="
770 | },
771 | "extend": {
772 | "version": "3.0.1",
773 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
774 | "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
775 | },
776 | "extsprintf": {
777 | "version": "1.3.0",
778 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
779 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
780 | },
781 | "fast-deep-equal": {
782 | "version": "1.0.0",
783 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz",
784 | "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8="
785 | },
786 | "faye-websocket": {
787 | "version": "0.9.3",
788 | "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.9.3.tgz",
789 | "integrity": "sha1-SCpQWw3wrmJrlphm0710DNuWLoM=",
790 | "requires": {
791 | "websocket-driver": "0.7.0"
792 | }
793 | },
794 | "forever-agent": {
795 | "version": "0.6.1",
796 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
797 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
798 | },
799 | "form-data": {
800 | "version": "2.3.1",
801 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz",
802 | "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=",
803 | "requires": {
804 | "asynckit": "0.4.0",
805 | "combined-stream": "1.0.5",
806 | "mime-types": "2.1.17"
807 | }
808 | },
809 | "fs.realpath": {
810 | "version": "1.0.0",
811 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
812 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
813 | },
814 | "functional-red-black-tree": {
815 | "version": "1.0.1",
816 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
817 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc="
818 | },
819 | "gcp-metadata": {
820 | "version": "0.3.1",
821 | "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.3.1.tgz",
822 | "integrity": "sha512-5kJPX/RXuqoLmHiOOgkSDk/LI0QaXpEvZ3pvQP4ifjGGDKZKVSOjL/GcDjXA5kLxppFCOjmmsu0Uoop9d1upaQ==",
823 | "requires": {
824 | "extend": "3.0.1",
825 | "retry-request": "3.0.0"
826 | }
827 | },
828 | "gcs-resumable-upload": {
829 | "version": "0.8.2",
830 | "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-0.8.2.tgz",
831 | "integrity": "sha512-PBl1OFABYxubxfYPh000I0+JLbQzBRtNqxzgxYboIQk2tdw7BvjJ2dVukk3YH4QM6GiUwqItyNqWBuxjLH8GhA==",
832 | "requires": {
833 | "buffer-equal": "1.0.0",
834 | "configstore": "3.1.1",
835 | "google-auto-auth": "0.7.2",
836 | "pumpify": "1.3.5",
837 | "request": "2.83.0",
838 | "stream-events": "1.0.2",
839 | "through2": "2.0.3"
840 | }
841 | },
842 | "getpass": {
843 | "version": "0.1.7",
844 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
845 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
846 | "requires": {
847 | "assert-plus": "1.0.0"
848 | }
849 | },
850 | "glob": {
851 | "version": "7.1.2",
852 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
853 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
854 | "requires": {
855 | "fs.realpath": "1.0.0",
856 | "inflight": "1.0.6",
857 | "inherits": "2.0.3",
858 | "minimatch": "3.0.4",
859 | "once": "1.4.0",
860 | "path-is-absolute": "1.0.1"
861 | }
862 | },
863 | "globby": {
864 | "version": "6.1.0",
865 | "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
866 | "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
867 | "requires": {
868 | "array-union": "1.0.2",
869 | "glob": "7.1.2",
870 | "object-assign": "4.1.1",
871 | "pify": "2.3.0",
872 | "pinkie-promise": "2.0.1"
873 | }
874 | },
875 | "google-auth-library": {
876 | "version": "0.10.0",
877 | "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-0.10.0.tgz",
878 | "integrity": "sha1-bhW6vuhf0d0U2NEoopW2g41SE24=",
879 | "requires": {
880 | "gtoken": "1.2.2",
881 | "jws": "3.1.4",
882 | "lodash.noop": "3.0.1",
883 | "request": "2.83.0"
884 | }
885 | },
886 | "google-auto-auth": {
887 | "version": "0.7.2",
888 | "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.7.2.tgz",
889 | "integrity": "sha512-ux2n2AE2g3+vcLXwL4dP/M12SFMRX5dzCzBfhAEkTeAB7dpyGdOIEj7nmUx0BHKaCcUQrRWg9kT63X/Mmtk1+A==",
890 | "requires": {
891 | "async": "2.5.0",
892 | "gcp-metadata": "0.3.1",
893 | "google-auth-library": "0.10.0",
894 | "request": "2.83.0"
895 | }
896 | },
897 | "google-gax": {
898 | "version": "0.14.1",
899 | "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.14.1.tgz",
900 | "integrity": "sha1-/oj7nVAw0mJ3xjUIp5r3s3F54Tk=",
901 | "requires": {
902 | "extend": "3.0.1",
903 | "globby": "6.1.0",
904 | "google-auto-auth": "0.5.4",
905 | "google-proto-files": "0.13.1",
906 | "grpc": "1.6.6",
907 | "is-stream-ended": "0.1.3",
908 | "lodash": "4.17.4",
909 | "process-nextick-args": "1.0.7",
910 | "protobufjs": "6.8.0",
911 | "readable-stream": "2.3.3",
912 | "through2": "2.0.3"
913 | },
914 | "dependencies": {
915 | "@types/node": {
916 | "version": "7.0.43",
917 | "resolved": "https://registry.npmjs.org/@types/node/-/node-7.0.43.tgz",
918 | "integrity": "sha512-7scYwwfHNppXvH/9JzakbVxk0o0QUILVk1Lv64GRaxwPuGpnF1QBiwdvhDpLcymb8BpomQL3KYoWKq3wUdDMhQ=="
919 | },
920 | "google-auto-auth": {
921 | "version": "0.5.4",
922 | "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.5.4.tgz",
923 | "integrity": "sha1-HYbHko1jPnWpwasDSlJ+/M5KQLE=",
924 | "requires": {
925 | "async": "2.5.0",
926 | "google-auth-library": "0.10.0",
927 | "object-assign": "3.0.0",
928 | "request": "2.83.0"
929 | }
930 | },
931 | "object-assign": {
932 | "version": "3.0.0",
933 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz",
934 | "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I="
935 | },
936 | "protobufjs": {
937 | "version": "6.8.0",
938 | "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.0.tgz",
939 | "integrity": "sha512-47Y49f5JN5Qsbxas2TyI2zFO8j9GpQAQm5thf54fr2O8qcP/jkIXYxmYx1hN2WQFAhESU1xpVn5NWVDBB8WFnw==",
940 | "requires": {
941 | "@protobufjs/aspromise": "1.1.2",
942 | "@protobufjs/base64": "1.1.2",
943 | "@protobufjs/codegen": "2.0.4",
944 | "@protobufjs/eventemitter": "1.1.0",
945 | "@protobufjs/fetch": "1.1.0",
946 | "@protobufjs/float": "1.0.2",
947 | "@protobufjs/inquire": "1.1.0",
948 | "@protobufjs/path": "1.1.2",
949 | "@protobufjs/pool": "1.1.0",
950 | "@protobufjs/utf8": "1.1.0",
951 | "@types/long": "3.0.32",
952 | "@types/node": "7.0.43",
953 | "long": "3.2.0"
954 | }
955 | }
956 | }
957 | },
958 | "google-p12-pem": {
959 | "version": "0.1.2",
960 | "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-0.1.2.tgz",
961 | "integrity": "sha1-M8RqsCGqc0+gMys5YKmj/8svMXc=",
962 | "requires": {
963 | "node-forge": "0.7.1"
964 | }
965 | },
966 | "google-proto-files": {
967 | "version": "0.13.1",
968 | "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.13.1.tgz",
969 | "integrity": "sha512-CivI3rZ85dMPTCAyxq6lq9s7vDkeWEIFxweopC1vEjjRmFMJwOX/MOmFZ90a0BGal/Dsb63vq7Ael9ryeokz0g=="
970 | },
971 | "graceful-fs": {
972 | "version": "4.1.11",
973 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
974 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
975 | },
976 | "grpc": {
977 | "version": "1.6.6",
978 | "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.6.6.tgz",
979 | "integrity": "sha1-IFF4T2vWE0aB+ixLXnXcgsbCP/o=",
980 | "requires": {
981 | "arguejs": "0.2.3",
982 | "lodash": "4.17.4",
983 | "nan": "2.7.0",
984 | "node-pre-gyp": "0.6.38",
985 | "protobufjs": "5.0.2"
986 | },
987 | "dependencies": {
988 | "abbrev": {
989 | "version": "1.1.1",
990 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
991 | "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
992 | },
993 | "ajv": {
994 | "version": "4.11.8",
995 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
996 | "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
997 | "requires": {
998 | "co": "4.6.0",
999 | "json-stable-stringify": "1.0.1"
1000 | }
1001 | },
1002 | "ansi-regex": {
1003 | "version": "2.1.1",
1004 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
1005 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
1006 | },
1007 | "aproba": {
1008 | "version": "1.2.0",
1009 | "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
1010 | "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
1011 | },
1012 | "are-we-there-yet": {
1013 | "version": "1.1.4",
1014 | "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz",
1015 | "integrity": "sha1-u13KOCu5TwXhUZQ3PRb9O6HKEQ0=",
1016 | "requires": {
1017 | "delegates": "1.0.0",
1018 | "readable-stream": "2.3.3"
1019 | }
1020 | },
1021 | "asn1": {
1022 | "version": "0.2.3",
1023 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
1024 | "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
1025 | },
1026 | "assert-plus": {
1027 | "version": "0.2.0",
1028 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
1029 | "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ="
1030 | },
1031 | "asynckit": {
1032 | "version": "0.4.0",
1033 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
1034 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
1035 | },
1036 | "aws-sign2": {
1037 | "version": "0.6.0",
1038 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
1039 | "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8="
1040 | },
1041 | "aws4": {
1042 | "version": "1.6.0",
1043 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
1044 | "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4="
1045 | },
1046 | "balanced-match": {
1047 | "version": "1.0.0",
1048 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
1049 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
1050 | },
1051 | "bcrypt-pbkdf": {
1052 | "version": "1.0.1",
1053 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
1054 | "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
1055 | "optional": true,
1056 | "requires": {
1057 | "tweetnacl": "0.14.5"
1058 | }
1059 | },
1060 | "block-stream": {
1061 | "version": "0.0.9",
1062 | "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz",
1063 | "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=",
1064 | "requires": {
1065 | "inherits": "2.0.3"
1066 | }
1067 | },
1068 | "boom": {
1069 | "version": "2.10.1",
1070 | "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
1071 | "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
1072 | "requires": {
1073 | "hoek": "2.16.3"
1074 | }
1075 | },
1076 | "brace-expansion": {
1077 | "version": "1.1.8",
1078 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
1079 | "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
1080 | "requires": {
1081 | "balanced-match": "1.0.0",
1082 | "concat-map": "0.0.1"
1083 | }
1084 | },
1085 | "caseless": {
1086 | "version": "0.12.0",
1087 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
1088 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
1089 | },
1090 | "co": {
1091 | "version": "4.6.0",
1092 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
1093 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
1094 | },
1095 | "code-point-at": {
1096 | "version": "1.1.0",
1097 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
1098 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
1099 | },
1100 | "combined-stream": {
1101 | "version": "1.0.5",
1102 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
1103 | "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
1104 | "requires": {
1105 | "delayed-stream": "1.0.0"
1106 | }
1107 | },
1108 | "concat-map": {
1109 | "version": "0.0.1",
1110 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1111 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
1112 | },
1113 | "console-control-strings": {
1114 | "version": "1.1.0",
1115 | "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
1116 | "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4="
1117 | },
1118 | "core-util-is": {
1119 | "version": "1.0.2",
1120 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
1121 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
1122 | },
1123 | "cryptiles": {
1124 | "version": "2.0.5",
1125 | "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
1126 | "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
1127 | "requires": {
1128 | "boom": "2.10.1"
1129 | }
1130 | },
1131 | "dashdash": {
1132 | "version": "1.14.1",
1133 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
1134 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
1135 | "requires": {
1136 | "assert-plus": "1.0.0"
1137 | },
1138 | "dependencies": {
1139 | "assert-plus": {
1140 | "version": "1.0.0",
1141 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
1142 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
1143 | }
1144 | }
1145 | },
1146 | "debug": {
1147 | "version": "2.6.9",
1148 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1149 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1150 | "requires": {
1151 | "ms": "2.0.0"
1152 | }
1153 | },
1154 | "deep-extend": {
1155 | "version": "0.4.2",
1156 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.2.tgz",
1157 | "integrity": "sha1-SLaZwn4zS/ifEIkr5DL25MfTSn8="
1158 | },
1159 | "delayed-stream": {
1160 | "version": "1.0.0",
1161 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
1162 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
1163 | },
1164 | "delegates": {
1165 | "version": "1.0.0",
1166 | "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
1167 | "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o="
1168 | },
1169 | "ecc-jsbn": {
1170 | "version": "0.1.1",
1171 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
1172 | "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
1173 | "optional": true,
1174 | "requires": {
1175 | "jsbn": "0.1.1"
1176 | }
1177 | },
1178 | "extend": {
1179 | "version": "3.0.1",
1180 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
1181 | "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
1182 | },
1183 | "extsprintf": {
1184 | "version": "1.3.0",
1185 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
1186 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
1187 | },
1188 | "forever-agent": {
1189 | "version": "0.6.1",
1190 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
1191 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
1192 | },
1193 | "form-data": {
1194 | "version": "2.1.4",
1195 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
1196 | "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
1197 | "requires": {
1198 | "asynckit": "0.4.0",
1199 | "combined-stream": "1.0.5",
1200 | "mime-types": "2.1.17"
1201 | }
1202 | },
1203 | "fs.realpath": {
1204 | "version": "1.0.0",
1205 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1206 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
1207 | },
1208 | "fstream": {
1209 | "version": "1.0.11",
1210 | "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz",
1211 | "integrity": "sha1-XB+x8RdHcRTwYyoOtLcbPLD9MXE=",
1212 | "requires": {
1213 | "graceful-fs": "4.1.11",
1214 | "inherits": "2.0.3",
1215 | "mkdirp": "0.5.1",
1216 | "rimraf": "2.6.2"
1217 | }
1218 | },
1219 | "fstream-ignore": {
1220 | "version": "1.0.5",
1221 | "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz",
1222 | "integrity": "sha1-nDHa40dnAY/h0kmyTa2mfQktoQU=",
1223 | "requires": {
1224 | "fstream": "1.0.11",
1225 | "inherits": "2.0.3",
1226 | "minimatch": "3.0.4"
1227 | }
1228 | },
1229 | "gauge": {
1230 | "version": "2.7.4",
1231 | "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz",
1232 | "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=",
1233 | "requires": {
1234 | "aproba": "1.2.0",
1235 | "console-control-strings": "1.1.0",
1236 | "has-unicode": "2.0.1",
1237 | "object-assign": "4.1.1",
1238 | "signal-exit": "3.0.2",
1239 | "string-width": "1.0.2",
1240 | "strip-ansi": "3.0.1",
1241 | "wide-align": "1.1.2"
1242 | }
1243 | },
1244 | "getpass": {
1245 | "version": "0.1.7",
1246 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
1247 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
1248 | "requires": {
1249 | "assert-plus": "1.0.0"
1250 | },
1251 | "dependencies": {
1252 | "assert-plus": {
1253 | "version": "1.0.0",
1254 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
1255 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
1256 | }
1257 | }
1258 | },
1259 | "glob": {
1260 | "version": "7.1.2",
1261 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
1262 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
1263 | "requires": {
1264 | "fs.realpath": "1.0.0",
1265 | "inflight": "1.0.6",
1266 | "inherits": "2.0.3",
1267 | "minimatch": "3.0.4",
1268 | "once": "1.4.0",
1269 | "path-is-absolute": "1.0.1"
1270 | }
1271 | },
1272 | "graceful-fs": {
1273 | "version": "4.1.11",
1274 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
1275 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
1276 | },
1277 | "har-schema": {
1278 | "version": "1.0.5",
1279 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
1280 | "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4="
1281 | },
1282 | "har-validator": {
1283 | "version": "4.2.1",
1284 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
1285 | "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
1286 | "requires": {
1287 | "ajv": "4.11.8",
1288 | "har-schema": "1.0.5"
1289 | }
1290 | },
1291 | "has-unicode": {
1292 | "version": "2.0.1",
1293 | "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
1294 | "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk="
1295 | },
1296 | "hawk": {
1297 | "version": "3.1.3",
1298 | "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
1299 | "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
1300 | "requires": {
1301 | "boom": "2.10.1",
1302 | "cryptiles": "2.0.5",
1303 | "hoek": "2.16.3",
1304 | "sntp": "1.0.9"
1305 | }
1306 | },
1307 | "hoek": {
1308 | "version": "2.16.3",
1309 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
1310 | "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
1311 | },
1312 | "http-signature": {
1313 | "version": "1.1.1",
1314 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
1315 | "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
1316 | "requires": {
1317 | "assert-plus": "0.2.0",
1318 | "jsprim": "1.4.1",
1319 | "sshpk": "1.13.1"
1320 | }
1321 | },
1322 | "inflight": {
1323 | "version": "1.0.6",
1324 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1325 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1326 | "requires": {
1327 | "once": "1.4.0",
1328 | "wrappy": "1.0.2"
1329 | }
1330 | },
1331 | "inherits": {
1332 | "version": "2.0.3",
1333 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
1334 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
1335 | },
1336 | "ini": {
1337 | "version": "1.3.4",
1338 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz",
1339 | "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4="
1340 | },
1341 | "is-fullwidth-code-point": {
1342 | "version": "1.0.0",
1343 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
1344 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
1345 | "requires": {
1346 | "number-is-nan": "1.0.1"
1347 | }
1348 | },
1349 | "is-typedarray": {
1350 | "version": "1.0.0",
1351 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
1352 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
1353 | },
1354 | "isarray": {
1355 | "version": "1.0.0",
1356 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1357 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
1358 | },
1359 | "isstream": {
1360 | "version": "0.1.2",
1361 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
1362 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
1363 | },
1364 | "jsbn": {
1365 | "version": "0.1.1",
1366 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
1367 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
1368 | "optional": true
1369 | },
1370 | "json-schema": {
1371 | "version": "0.2.3",
1372 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
1373 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
1374 | },
1375 | "json-stable-stringify": {
1376 | "version": "1.0.1",
1377 | "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
1378 | "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
1379 | "requires": {
1380 | "jsonify": "0.0.0"
1381 | }
1382 | },
1383 | "json-stringify-safe": {
1384 | "version": "5.0.1",
1385 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
1386 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
1387 | },
1388 | "jsonify": {
1389 | "version": "0.0.0",
1390 | "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
1391 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
1392 | },
1393 | "jsprim": {
1394 | "version": "1.4.1",
1395 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
1396 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
1397 | "requires": {
1398 | "assert-plus": "1.0.0",
1399 | "extsprintf": "1.3.0",
1400 | "json-schema": "0.2.3",
1401 | "verror": "1.10.0"
1402 | },
1403 | "dependencies": {
1404 | "assert-plus": {
1405 | "version": "1.0.0",
1406 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
1407 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
1408 | }
1409 | }
1410 | },
1411 | "mime-db": {
1412 | "version": "1.30.0",
1413 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz",
1414 | "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE="
1415 | },
1416 | "mime-types": {
1417 | "version": "2.1.17",
1418 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
1419 | "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
1420 | "requires": {
1421 | "mime-db": "1.30.0"
1422 | }
1423 | },
1424 | "minimatch": {
1425 | "version": "3.0.4",
1426 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
1427 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1428 | "requires": {
1429 | "brace-expansion": "1.1.8"
1430 | }
1431 | },
1432 | "minimist": {
1433 | "version": "1.2.0",
1434 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
1435 | "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
1436 | },
1437 | "mkdirp": {
1438 | "version": "0.5.1",
1439 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
1440 | "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
1441 | "requires": {
1442 | "minimist": "0.0.8"
1443 | },
1444 | "dependencies": {
1445 | "minimist": {
1446 | "version": "0.0.8",
1447 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
1448 | "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
1449 | }
1450 | }
1451 | },
1452 | "ms": {
1453 | "version": "2.0.0",
1454 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1455 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
1456 | },
1457 | "node-pre-gyp": {
1458 | "version": "0.6.38",
1459 | "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.38.tgz",
1460 | "integrity": "sha1-6Sog+DQWQVu0CG9tH7eLPac9ET0=",
1461 | "requires": {
1462 | "hawk": "3.1.3",
1463 | "mkdirp": "0.5.1",
1464 | "nopt": "4.0.1",
1465 | "npmlog": "4.1.2",
1466 | "rc": "1.2.1",
1467 | "request": "2.81.0",
1468 | "rimraf": "2.6.2",
1469 | "semver": "5.4.1",
1470 | "tar": "2.2.1",
1471 | "tar-pack": "3.4.0"
1472 | }
1473 | },
1474 | "nopt": {
1475 | "version": "4.0.1",
1476 | "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
1477 | "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
1478 | "requires": {
1479 | "abbrev": "1.1.1",
1480 | "osenv": "0.1.4"
1481 | }
1482 | },
1483 | "npmlog": {
1484 | "version": "4.1.2",
1485 | "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz",
1486 | "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==",
1487 | "requires": {
1488 | "are-we-there-yet": "1.1.4",
1489 | "console-control-strings": "1.1.0",
1490 | "gauge": "2.7.4",
1491 | "set-blocking": "2.0.0"
1492 | }
1493 | },
1494 | "number-is-nan": {
1495 | "version": "1.0.1",
1496 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
1497 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
1498 | },
1499 | "oauth-sign": {
1500 | "version": "0.8.2",
1501 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
1502 | "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
1503 | },
1504 | "object-assign": {
1505 | "version": "4.1.1",
1506 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
1507 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
1508 | },
1509 | "once": {
1510 | "version": "1.4.0",
1511 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1512 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1513 | "requires": {
1514 | "wrappy": "1.0.2"
1515 | }
1516 | },
1517 | "os-homedir": {
1518 | "version": "1.0.2",
1519 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
1520 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
1521 | },
1522 | "os-tmpdir": {
1523 | "version": "1.0.2",
1524 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
1525 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
1526 | },
1527 | "osenv": {
1528 | "version": "0.1.4",
1529 | "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.4.tgz",
1530 | "integrity": "sha1-Qv5tWVPfBsgGS+bxdsPQWqqjRkQ=",
1531 | "requires": {
1532 | "os-homedir": "1.0.2",
1533 | "os-tmpdir": "1.0.2"
1534 | }
1535 | },
1536 | "path-is-absolute": {
1537 | "version": "1.0.1",
1538 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1539 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
1540 | },
1541 | "performance-now": {
1542 | "version": "0.2.0",
1543 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
1544 | "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU="
1545 | },
1546 | "process-nextick-args": {
1547 | "version": "1.0.7",
1548 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
1549 | "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
1550 | },
1551 | "punycode": {
1552 | "version": "1.4.1",
1553 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
1554 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
1555 | },
1556 | "qs": {
1557 | "version": "6.4.0",
1558 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
1559 | "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM="
1560 | },
1561 | "rc": {
1562 | "version": "1.2.1",
1563 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.1.tgz",
1564 | "integrity": "sha1-LgPo5C7kULjLPc5lvhv4l04d/ZU=",
1565 | "requires": {
1566 | "deep-extend": "0.4.2",
1567 | "ini": "1.3.4",
1568 | "minimist": "1.2.0",
1569 | "strip-json-comments": "2.0.1"
1570 | }
1571 | },
1572 | "readable-stream": {
1573 | "version": "2.3.3",
1574 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
1575 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
1576 | "requires": {
1577 | "core-util-is": "1.0.2",
1578 | "inherits": "2.0.3",
1579 | "isarray": "1.0.0",
1580 | "process-nextick-args": "1.0.7",
1581 | "safe-buffer": "5.1.1",
1582 | "string_decoder": "1.0.3",
1583 | "util-deprecate": "1.0.2"
1584 | }
1585 | },
1586 | "request": {
1587 | "version": "2.81.0",
1588 | "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
1589 | "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
1590 | "requires": {
1591 | "aws-sign2": "0.6.0",
1592 | "aws4": "1.6.0",
1593 | "caseless": "0.12.0",
1594 | "combined-stream": "1.0.5",
1595 | "extend": "3.0.1",
1596 | "forever-agent": "0.6.1",
1597 | "form-data": "2.1.4",
1598 | "har-validator": "4.2.1",
1599 | "hawk": "3.1.3",
1600 | "http-signature": "1.1.1",
1601 | "is-typedarray": "1.0.0",
1602 | "isstream": "0.1.2",
1603 | "json-stringify-safe": "5.0.1",
1604 | "mime-types": "2.1.17",
1605 | "oauth-sign": "0.8.2",
1606 | "performance-now": "0.2.0",
1607 | "qs": "6.4.0",
1608 | "safe-buffer": "5.1.1",
1609 | "stringstream": "0.0.5",
1610 | "tough-cookie": "2.3.3",
1611 | "tunnel-agent": "0.6.0",
1612 | "uuid": "3.1.0"
1613 | }
1614 | },
1615 | "rimraf": {
1616 | "version": "2.6.2",
1617 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
1618 | "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
1619 | "requires": {
1620 | "glob": "7.1.2"
1621 | }
1622 | },
1623 | "safe-buffer": {
1624 | "version": "5.1.1",
1625 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
1626 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
1627 | },
1628 | "semver": {
1629 | "version": "5.4.1",
1630 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz",
1631 | "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg=="
1632 | },
1633 | "set-blocking": {
1634 | "version": "2.0.0",
1635 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
1636 | "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
1637 | },
1638 | "signal-exit": {
1639 | "version": "3.0.2",
1640 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
1641 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
1642 | },
1643 | "sntp": {
1644 | "version": "1.0.9",
1645 | "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
1646 | "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
1647 | "requires": {
1648 | "hoek": "2.16.3"
1649 | }
1650 | },
1651 | "sshpk": {
1652 | "version": "1.13.1",
1653 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
1654 | "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
1655 | "requires": {
1656 | "asn1": "0.2.3",
1657 | "assert-plus": "1.0.0",
1658 | "bcrypt-pbkdf": "1.0.1",
1659 | "dashdash": "1.14.1",
1660 | "ecc-jsbn": "0.1.1",
1661 | "getpass": "0.1.7",
1662 | "jsbn": "0.1.1",
1663 | "tweetnacl": "0.14.5"
1664 | },
1665 | "dependencies": {
1666 | "assert-plus": {
1667 | "version": "1.0.0",
1668 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
1669 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
1670 | }
1671 | }
1672 | },
1673 | "string-width": {
1674 | "version": "1.0.2",
1675 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
1676 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
1677 | "requires": {
1678 | "code-point-at": "1.1.0",
1679 | "is-fullwidth-code-point": "1.0.0",
1680 | "strip-ansi": "3.0.1"
1681 | }
1682 | },
1683 | "string_decoder": {
1684 | "version": "1.0.3",
1685 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
1686 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
1687 | "requires": {
1688 | "safe-buffer": "5.1.1"
1689 | }
1690 | },
1691 | "stringstream": {
1692 | "version": "0.0.5",
1693 | "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
1694 | "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg="
1695 | },
1696 | "strip-ansi": {
1697 | "version": "3.0.1",
1698 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
1699 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
1700 | "requires": {
1701 | "ansi-regex": "2.1.1"
1702 | }
1703 | },
1704 | "strip-json-comments": {
1705 | "version": "2.0.1",
1706 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
1707 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
1708 | },
1709 | "tar": {
1710 | "version": "2.2.1",
1711 | "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz",
1712 | "integrity": "sha1-jk0qJWwOIYXGsYrWlK7JaLg8sdE=",
1713 | "requires": {
1714 | "block-stream": "0.0.9",
1715 | "fstream": "1.0.11",
1716 | "inherits": "2.0.3"
1717 | }
1718 | },
1719 | "tar-pack": {
1720 | "version": "3.4.0",
1721 | "resolved": "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz",
1722 | "integrity": "sha1-I74tf2cagzk3bL2wuP4/3r8xeYQ=",
1723 | "requires": {
1724 | "debug": "2.6.9",
1725 | "fstream": "1.0.11",
1726 | "fstream-ignore": "1.0.5",
1727 | "once": "1.4.0",
1728 | "readable-stream": "2.3.3",
1729 | "rimraf": "2.6.2",
1730 | "tar": "2.2.1",
1731 | "uid-number": "0.0.6"
1732 | }
1733 | },
1734 | "tough-cookie": {
1735 | "version": "2.3.3",
1736 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz",
1737 | "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=",
1738 | "requires": {
1739 | "punycode": "1.4.1"
1740 | }
1741 | },
1742 | "tunnel-agent": {
1743 | "version": "0.6.0",
1744 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
1745 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
1746 | "requires": {
1747 | "safe-buffer": "5.1.1"
1748 | }
1749 | },
1750 | "tweetnacl": {
1751 | "version": "0.14.5",
1752 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
1753 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
1754 | "optional": true
1755 | },
1756 | "uid-number": {
1757 | "version": "0.0.6",
1758 | "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz",
1759 | "integrity": "sha1-DqEOgDXo61uOREnwbaHHMGY7qoE="
1760 | },
1761 | "util-deprecate": {
1762 | "version": "1.0.2",
1763 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1764 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
1765 | },
1766 | "uuid": {
1767 | "version": "3.1.0",
1768 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
1769 | "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g=="
1770 | },
1771 | "verror": {
1772 | "version": "1.10.0",
1773 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
1774 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
1775 | "requires": {
1776 | "assert-plus": "1.0.0",
1777 | "core-util-is": "1.0.2",
1778 | "extsprintf": "1.3.0"
1779 | },
1780 | "dependencies": {
1781 | "assert-plus": {
1782 | "version": "1.0.0",
1783 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
1784 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
1785 | }
1786 | }
1787 | },
1788 | "wide-align": {
1789 | "version": "1.1.2",
1790 | "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz",
1791 | "integrity": "sha512-ijDLlyQ7s6x1JgCLur53osjm/UXUYD9+0PbYKrBsYisYXzCxN+HC3mYDNy/dWdmf3AwqwU3CXwDCvsNgGK1S0w==",
1792 | "requires": {
1793 | "string-width": "1.0.2"
1794 | }
1795 | },
1796 | "wrappy": {
1797 | "version": "1.0.2",
1798 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1799 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
1800 | }
1801 | }
1802 | },
1803 | "gtoken": {
1804 | "version": "1.2.2",
1805 | "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-1.2.2.tgz",
1806 | "integrity": "sha1-Fyd2oanZasCfwioA9b6DzubeiCA=",
1807 | "requires": {
1808 | "google-p12-pem": "0.1.2",
1809 | "jws": "3.1.4",
1810 | "mime": "1.4.1",
1811 | "request": "2.83.0"
1812 | }
1813 | },
1814 | "har-schema": {
1815 | "version": "2.0.0",
1816 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
1817 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
1818 | },
1819 | "har-validator": {
1820 | "version": "5.0.3",
1821 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
1822 | "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
1823 | "requires": {
1824 | "ajv": "5.2.3",
1825 | "har-schema": "2.0.0"
1826 | }
1827 | },
1828 | "hash-stream-validation": {
1829 | "version": "0.2.1",
1830 | "resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.1.tgz",
1831 | "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=",
1832 | "requires": {
1833 | "through2": "2.0.3"
1834 | }
1835 | },
1836 | "hawk": {
1837 | "version": "6.0.2",
1838 | "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz",
1839 | "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==",
1840 | "requires": {
1841 | "boom": "4.3.1",
1842 | "cryptiles": "3.1.2",
1843 | "hoek": "4.2.0",
1844 | "sntp": "2.0.2"
1845 | }
1846 | },
1847 | "hoek": {
1848 | "version": "4.2.0",
1849 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz",
1850 | "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ=="
1851 | },
1852 | "http-parser-js": {
1853 | "version": "0.4.9",
1854 | "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.9.tgz",
1855 | "integrity": "sha1-6hoE+2St/wJC6ZdPKX3Uw8rSceE="
1856 | },
1857 | "http-signature": {
1858 | "version": "1.2.0",
1859 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
1860 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
1861 | "requires": {
1862 | "assert-plus": "1.0.0",
1863 | "jsprim": "1.4.1",
1864 | "sshpk": "1.13.1"
1865 | }
1866 | },
1867 | "imurmurhash": {
1868 | "version": "0.1.4",
1869 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
1870 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
1871 | },
1872 | "inflight": {
1873 | "version": "1.0.6",
1874 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1875 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1876 | "requires": {
1877 | "once": "1.4.0",
1878 | "wrappy": "1.0.2"
1879 | }
1880 | },
1881 | "inherits": {
1882 | "version": "2.0.3",
1883 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
1884 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
1885 | },
1886 | "invert-kv": {
1887 | "version": "1.0.0",
1888 | "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
1889 | "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
1890 | },
1891 | "is": {
1892 | "version": "3.2.1",
1893 | "resolved": "https://registry.npmjs.org/is/-/is-3.2.1.tgz",
1894 | "integrity": "sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU="
1895 | },
1896 | "is-fullwidth-code-point": {
1897 | "version": "1.0.0",
1898 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
1899 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
1900 | "requires": {
1901 | "number-is-nan": "1.0.1"
1902 | }
1903 | },
1904 | "is-obj": {
1905 | "version": "1.0.1",
1906 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
1907 | "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
1908 | },
1909 | "is-stream-ended": {
1910 | "version": "0.1.3",
1911 | "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.3.tgz",
1912 | "integrity": "sha1-oEc7Jnx1ZjVIa+7cfjNE5UnRUqw="
1913 | },
1914 | "is-typedarray": {
1915 | "version": "1.0.0",
1916 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
1917 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
1918 | },
1919 | "isarray": {
1920 | "version": "1.0.0",
1921 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1922 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
1923 | },
1924 | "isemail": {
1925 | "version": "1.2.0",
1926 | "resolved": "https://registry.npmjs.org/isemail/-/isemail-1.2.0.tgz",
1927 | "integrity": "sha1-vgPfjMPineTSxd9lASY/H6RZXpo="
1928 | },
1929 | "isstream": {
1930 | "version": "0.1.2",
1931 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
1932 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
1933 | },
1934 | "joi": {
1935 | "version": "6.10.1",
1936 | "resolved": "https://registry.npmjs.org/joi/-/joi-6.10.1.tgz",
1937 | "integrity": "sha1-TVDDGAeRIgAP5fFq8f+OGRe3fgY=",
1938 | "requires": {
1939 | "hoek": "2.16.3",
1940 | "isemail": "1.2.0",
1941 | "moment": "2.18.1",
1942 | "topo": "1.1.0"
1943 | },
1944 | "dependencies": {
1945 | "hoek": {
1946 | "version": "2.16.3",
1947 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
1948 | "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
1949 | }
1950 | }
1951 | },
1952 | "jsbn": {
1953 | "version": "0.1.1",
1954 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
1955 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
1956 | "optional": true
1957 | },
1958 | "json-schema": {
1959 | "version": "0.2.3",
1960 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
1961 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
1962 | },
1963 | "json-schema-traverse": {
1964 | "version": "0.3.1",
1965 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
1966 | "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
1967 | },
1968 | "json-stable-stringify": {
1969 | "version": "1.0.1",
1970 | "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
1971 | "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
1972 | "requires": {
1973 | "jsonify": "0.0.0"
1974 | }
1975 | },
1976 | "json-stringify-safe": {
1977 | "version": "5.0.1",
1978 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
1979 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
1980 | },
1981 | "jsonify": {
1982 | "version": "0.0.0",
1983 | "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
1984 | "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
1985 | },
1986 | "jsonwebtoken": {
1987 | "version": "7.1.9",
1988 | "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-7.1.9.tgz",
1989 | "integrity": "sha1-hHgE5SWL7FqUmajcSl56O64I1Yo=",
1990 | "requires": {
1991 | "joi": "6.10.1",
1992 | "jws": "3.1.4",
1993 | "lodash.once": "4.1.1",
1994 | "ms": "0.7.3",
1995 | "xtend": "4.0.1"
1996 | }
1997 | },
1998 | "jsprim": {
1999 | "version": "1.4.1",
2000 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
2001 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
2002 | "requires": {
2003 | "assert-plus": "1.0.0",
2004 | "extsprintf": "1.3.0",
2005 | "json-schema": "0.2.3",
2006 | "verror": "1.10.0"
2007 | }
2008 | },
2009 | "jwa": {
2010 | "version": "1.1.5",
2011 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.5.tgz",
2012 | "integrity": "sha1-oFUs4CIHQs1S4VN3SjKQXDDnVuU=",
2013 | "requires": {
2014 | "base64url": "2.0.0",
2015 | "buffer-equal-constant-time": "1.0.1",
2016 | "ecdsa-sig-formatter": "1.0.9",
2017 | "safe-buffer": "5.1.1"
2018 | }
2019 | },
2020 | "jws": {
2021 | "version": "3.1.4",
2022 | "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.4.tgz",
2023 | "integrity": "sha1-+ei5M46KhHJ31kRLFGT2GIDgUKI=",
2024 | "requires": {
2025 | "base64url": "2.0.0",
2026 | "jwa": "1.1.5",
2027 | "safe-buffer": "5.1.1"
2028 | }
2029 | },
2030 | "lcid": {
2031 | "version": "1.0.0",
2032 | "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
2033 | "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
2034 | "requires": {
2035 | "invert-kv": "1.0.0"
2036 | }
2037 | },
2038 | "lodash": {
2039 | "version": "4.17.4",
2040 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
2041 | "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
2042 | },
2043 | "lodash.noop": {
2044 | "version": "3.0.1",
2045 | "resolved": "https://registry.npmjs.org/lodash.noop/-/lodash.noop-3.0.1.tgz",
2046 | "integrity": "sha1-OBiPTWUKOkdCWEObluxFsyYXEzw="
2047 | },
2048 | "lodash.once": {
2049 | "version": "4.1.1",
2050 | "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
2051 | "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w="
2052 | },
2053 | "log-driver": {
2054 | "version": "1.2.5",
2055 | "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.5.tgz",
2056 | "integrity": "sha1-euTsJXMC/XkNVXyxDJcQDYV7AFY="
2057 | },
2058 | "long": {
2059 | "version": "3.2.0",
2060 | "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz",
2061 | "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s="
2062 | },
2063 | "make-dir": {
2064 | "version": "1.0.0",
2065 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.0.0.tgz",
2066 | "integrity": "sha1-l6ARdR6R3YfPre9Ygy67BJNt6Xg=",
2067 | "requires": {
2068 | "pify": "2.3.0"
2069 | }
2070 | },
2071 | "methmeth": {
2072 | "version": "1.1.0",
2073 | "resolved": "https://registry.npmjs.org/methmeth/-/methmeth-1.1.0.tgz",
2074 | "integrity": "sha1-6AomYY5S9cQiKGG7dIUQvRDikIk="
2075 | },
2076 | "mime": {
2077 | "version": "1.4.1",
2078 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
2079 | "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
2080 | },
2081 | "mime-db": {
2082 | "version": "1.30.0",
2083 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz",
2084 | "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE="
2085 | },
2086 | "mime-types": {
2087 | "version": "2.1.17",
2088 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
2089 | "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
2090 | "requires": {
2091 | "mime-db": "1.30.0"
2092 | }
2093 | },
2094 | "minimatch": {
2095 | "version": "3.0.4",
2096 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
2097 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
2098 | "requires": {
2099 | "brace-expansion": "1.1.8"
2100 | }
2101 | },
2102 | "modelo": {
2103 | "version": "4.2.0",
2104 | "resolved": "https://registry.npmjs.org/modelo/-/modelo-4.2.0.tgz",
2105 | "integrity": "sha1-O0tCACOmbKfjK9uhbnEJN+FNGws="
2106 | },
2107 | "moment": {
2108 | "version": "2.18.1",
2109 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz",
2110 | "integrity": "sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8="
2111 | },
2112 | "ms": {
2113 | "version": "0.7.3",
2114 | "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.3.tgz",
2115 | "integrity": "sha1-cIFVpeROM/X9D8U+gdDUCpG+H/8="
2116 | },
2117 | "nan": {
2118 | "version": "2.7.0",
2119 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.7.0.tgz",
2120 | "integrity": "sha1-2Vv3IeyHfgjbJ27T/G63j5CDrUY="
2121 | },
2122 | "node-forge": {
2123 | "version": "0.7.1",
2124 | "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.1.tgz",
2125 | "integrity": "sha1-naYR6giYL0uUIGs760zJZl8gwwA="
2126 | },
2127 | "number-is-nan": {
2128 | "version": "1.0.1",
2129 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
2130 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
2131 | },
2132 | "oauth-sign": {
2133 | "version": "0.8.2",
2134 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
2135 | "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
2136 | },
2137 | "object-assign": {
2138 | "version": "4.1.1",
2139 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
2140 | "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
2141 | },
2142 | "once": {
2143 | "version": "1.4.0",
2144 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2145 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
2146 | "requires": {
2147 | "wrappy": "1.0.2"
2148 | }
2149 | },
2150 | "optjs": {
2151 | "version": "3.2.2",
2152 | "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz",
2153 | "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4="
2154 | },
2155 | "os-locale": {
2156 | "version": "1.4.0",
2157 | "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
2158 | "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
2159 | "requires": {
2160 | "lcid": "1.0.0"
2161 | }
2162 | },
2163 | "path-is-absolute": {
2164 | "version": "1.0.1",
2165 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2166 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
2167 | },
2168 | "performance-now": {
2169 | "version": "2.1.0",
2170 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
2171 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
2172 | },
2173 | "pify": {
2174 | "version": "2.3.0",
2175 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
2176 | "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
2177 | },
2178 | "pinkie": {
2179 | "version": "2.0.4",
2180 | "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
2181 | "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
2182 | },
2183 | "pinkie-promise": {
2184 | "version": "2.0.1",
2185 | "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
2186 | "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
2187 | "requires": {
2188 | "pinkie": "2.0.4"
2189 | }
2190 | },
2191 | "process-nextick-args": {
2192 | "version": "1.0.7",
2193 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
2194 | "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
2195 | },
2196 | "protobufjs": {
2197 | "version": "5.0.2",
2198 | "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.2.tgz",
2199 | "integrity": "sha1-WXSNfc8D0tsiwT2p/rAk4Wq4DJE=",
2200 | "requires": {
2201 | "ascli": "1.0.1",
2202 | "bytebuffer": "5.0.1",
2203 | "glob": "7.1.2",
2204 | "yargs": "3.32.0"
2205 | }
2206 | },
2207 | "pump": {
2208 | "version": "1.0.2",
2209 | "resolved": "https://registry.npmjs.org/pump/-/pump-1.0.2.tgz",
2210 | "integrity": "sha1-Oz7mUS+U8OV1U4wXmV+fFpkKXVE=",
2211 | "requires": {
2212 | "end-of-stream": "1.4.0",
2213 | "once": "1.4.0"
2214 | }
2215 | },
2216 | "pumpify": {
2217 | "version": "1.3.5",
2218 | "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.3.5.tgz",
2219 | "integrity": "sha1-G2ccYZlAq8rqwK0OOjwWS+dgmTs=",
2220 | "requires": {
2221 | "duplexify": "3.5.1",
2222 | "inherits": "2.0.3",
2223 | "pump": "1.0.2"
2224 | }
2225 | },
2226 | "punycode": {
2227 | "version": "1.4.1",
2228 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
2229 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
2230 | },
2231 | "qs": {
2232 | "version": "6.5.1",
2233 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
2234 | "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
2235 | },
2236 | "readable-stream": {
2237 | "version": "2.3.3",
2238 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz",
2239 | "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==",
2240 | "requires": {
2241 | "core-util-is": "1.0.2",
2242 | "inherits": "2.0.3",
2243 | "isarray": "1.0.0",
2244 | "process-nextick-args": "1.0.7",
2245 | "safe-buffer": "5.1.1",
2246 | "string_decoder": "1.0.3",
2247 | "util-deprecate": "1.0.2"
2248 | }
2249 | },
2250 | "request": {
2251 | "version": "2.83.0",
2252 | "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz",
2253 | "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==",
2254 | "requires": {
2255 | "aws-sign2": "0.7.0",
2256 | "aws4": "1.6.0",
2257 | "caseless": "0.12.0",
2258 | "combined-stream": "1.0.5",
2259 | "extend": "3.0.1",
2260 | "forever-agent": "0.6.1",
2261 | "form-data": "2.3.1",
2262 | "har-validator": "5.0.3",
2263 | "hawk": "6.0.2",
2264 | "http-signature": "1.2.0",
2265 | "is-typedarray": "1.0.0",
2266 | "isstream": "0.1.2",
2267 | "json-stringify-safe": "5.0.1",
2268 | "mime-types": "2.1.17",
2269 | "oauth-sign": "0.8.2",
2270 | "performance-now": "2.1.0",
2271 | "qs": "6.5.1",
2272 | "safe-buffer": "5.1.1",
2273 | "stringstream": "0.0.5",
2274 | "tough-cookie": "2.3.3",
2275 | "tunnel-agent": "0.6.0",
2276 | "uuid": "3.1.0"
2277 | }
2278 | },
2279 | "retry-request": {
2280 | "version": "3.0.0",
2281 | "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.0.0.tgz",
2282 | "integrity": "sha1-i60rHc8Ek4uyEeLO2GLlkbgvGRc=",
2283 | "requires": {
2284 | "request": "2.83.0",
2285 | "through2": "2.0.3"
2286 | }
2287 | },
2288 | "safe-buffer": {
2289 | "version": "5.1.1",
2290 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
2291 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
2292 | },
2293 | "signal-exit": {
2294 | "version": "3.0.2",
2295 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
2296 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
2297 | },
2298 | "sntp": {
2299 | "version": "2.0.2",
2300 | "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.0.2.tgz",
2301 | "integrity": "sha1-UGQRDwr4X3z9t9a2ekACjOUrSys=",
2302 | "requires": {
2303 | "hoek": "4.2.0"
2304 | }
2305 | },
2306 | "split-array-stream": {
2307 | "version": "1.0.3",
2308 | "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-1.0.3.tgz",
2309 | "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=",
2310 | "requires": {
2311 | "async": "2.5.0",
2312 | "is-stream-ended": "0.1.3"
2313 | }
2314 | },
2315 | "sshpk": {
2316 | "version": "1.13.1",
2317 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
2318 | "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
2319 | "requires": {
2320 | "asn1": "0.2.3",
2321 | "assert-plus": "1.0.0",
2322 | "bcrypt-pbkdf": "1.0.1",
2323 | "dashdash": "1.14.1",
2324 | "ecc-jsbn": "0.1.1",
2325 | "getpass": "0.1.7",
2326 | "jsbn": "0.1.1",
2327 | "tweetnacl": "0.14.5"
2328 | }
2329 | },
2330 | "stream-events": {
2331 | "version": "1.0.2",
2332 | "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.2.tgz",
2333 | "integrity": "sha1-q/OfZsCJCk63lbyNXoWbJhW1kLI=",
2334 | "requires": {
2335 | "stubs": "3.0.0"
2336 | }
2337 | },
2338 | "stream-shift": {
2339 | "version": "1.0.0",
2340 | "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
2341 | "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
2342 | },
2343 | "string-format-obj": {
2344 | "version": "1.1.0",
2345 | "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.0.tgz",
2346 | "integrity": "sha1-djVhCx7zlwE+hHi+mKFw4EmD0Gg="
2347 | },
2348 | "string-width": {
2349 | "version": "1.0.2",
2350 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
2351 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
2352 | "requires": {
2353 | "code-point-at": "1.1.0",
2354 | "is-fullwidth-code-point": "1.0.0",
2355 | "strip-ansi": "3.0.1"
2356 | }
2357 | },
2358 | "string_decoder": {
2359 | "version": "1.0.3",
2360 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
2361 | "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
2362 | "requires": {
2363 | "safe-buffer": "5.1.1"
2364 | }
2365 | },
2366 | "stringstream": {
2367 | "version": "0.0.5",
2368 | "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
2369 | "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg="
2370 | },
2371 | "strip-ansi": {
2372 | "version": "3.0.1",
2373 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
2374 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
2375 | "requires": {
2376 | "ansi-regex": "2.1.1"
2377 | }
2378 | },
2379 | "stubs": {
2380 | "version": "3.0.0",
2381 | "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz",
2382 | "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls="
2383 | },
2384 | "through2": {
2385 | "version": "2.0.3",
2386 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
2387 | "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
2388 | "requires": {
2389 | "readable-stream": "2.3.3",
2390 | "xtend": "4.0.1"
2391 | }
2392 | },
2393 | "topo": {
2394 | "version": "1.1.0",
2395 | "resolved": "https://registry.npmjs.org/topo/-/topo-1.1.0.tgz",
2396 | "integrity": "sha1-6ddRYV0buH3IZdsYL6HKCl71NtU=",
2397 | "requires": {
2398 | "hoek": "2.16.3"
2399 | },
2400 | "dependencies": {
2401 | "hoek": {
2402 | "version": "2.16.3",
2403 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
2404 | "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
2405 | }
2406 | }
2407 | },
2408 | "tough-cookie": {
2409 | "version": "2.3.3",
2410 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz",
2411 | "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=",
2412 | "requires": {
2413 | "punycode": "1.4.1"
2414 | }
2415 | },
2416 | "tunnel-agent": {
2417 | "version": "0.6.0",
2418 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
2419 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
2420 | "requires": {
2421 | "safe-buffer": "5.1.1"
2422 | }
2423 | },
2424 | "tweetnacl": {
2425 | "version": "0.14.5",
2426 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
2427 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
2428 | "optional": true
2429 | },
2430 | "typedarray": {
2431 | "version": "0.0.6",
2432 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
2433 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
2434 | },
2435 | "unique-string": {
2436 | "version": "1.0.0",
2437 | "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
2438 | "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
2439 | "requires": {
2440 | "crypto-random-string": "1.0.0"
2441 | }
2442 | },
2443 | "util-deprecate": {
2444 | "version": "1.0.2",
2445 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
2446 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
2447 | },
2448 | "uuid": {
2449 | "version": "3.1.0",
2450 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
2451 | "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g=="
2452 | },
2453 | "verror": {
2454 | "version": "1.10.0",
2455 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
2456 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
2457 | "requires": {
2458 | "assert-plus": "1.0.0",
2459 | "core-util-is": "1.0.2",
2460 | "extsprintf": "1.3.0"
2461 | }
2462 | },
2463 | "websocket-driver": {
2464 | "version": "0.7.0",
2465 | "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
2466 | "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
2467 | "requires": {
2468 | "http-parser-js": "0.4.9",
2469 | "websocket-extensions": "0.1.2"
2470 | }
2471 | },
2472 | "websocket-extensions": {
2473 | "version": "0.1.2",
2474 | "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.2.tgz",
2475 | "integrity": "sha1-Dhh4HeYpoYMIzhSBZQ9n/6JpOl0="
2476 | },
2477 | "window-size": {
2478 | "version": "0.1.4",
2479 | "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
2480 | "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY="
2481 | },
2482 | "wrap-ansi": {
2483 | "version": "2.1.0",
2484 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
2485 | "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
2486 | "requires": {
2487 | "string-width": "1.0.2",
2488 | "strip-ansi": "3.0.1"
2489 | }
2490 | },
2491 | "wrappy": {
2492 | "version": "1.0.2",
2493 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2494 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
2495 | },
2496 | "write-file-atomic": {
2497 | "version": "2.3.0",
2498 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz",
2499 | "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==",
2500 | "requires": {
2501 | "graceful-fs": "4.1.11",
2502 | "imurmurhash": "0.1.4",
2503 | "signal-exit": "3.0.2"
2504 | }
2505 | },
2506 | "xdg-basedir": {
2507 | "version": "3.0.0",
2508 | "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
2509 | "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ="
2510 | },
2511 | "xtend": {
2512 | "version": "4.0.1",
2513 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
2514 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
2515 | },
2516 | "y18n": {
2517 | "version": "3.2.1",
2518 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
2519 | "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
2520 | },
2521 | "yargs": {
2522 | "version": "3.32.0",
2523 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
2524 | "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
2525 | "requires": {
2526 | "camelcase": "2.1.1",
2527 | "cliui": "3.2.0",
2528 | "decamelize": "1.2.0",
2529 | "os-locale": "1.4.0",
2530 | "string-width": "1.0.2",
2531 | "window-size": "0.1.4",
2532 | "y18n": "3.2.1"
2533 | }
2534 | }
2535 | }
2536 | },
2537 | "firebase-functions": {
2538 | "version": "0.7.1",
2539 | "resolved": "https://registry.npmjs.org/firebase-functions/-/firebase-functions-0.7.1.tgz",
2540 | "integrity": "sha1-EluVD5V2nOJaRLV2tc2t3DJGtMo=",
2541 | "requires": {
2542 | "@types/express": "4.0.37",
2543 | "@types/jsonwebtoken": "7.2.3",
2544 | "@types/lodash": "4.14.78",
2545 | "@types/sha1": "1.1.0",
2546 | "express": "4.16.2",
2547 | "jsonwebtoken": "7.4.3",
2548 | "lodash": "4.17.4",
2549 | "sha1": "1.1.1"
2550 | }
2551 | },
2552 | "forwarded": {
2553 | "version": "0.1.2",
2554 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
2555 | "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
2556 | },
2557 | "fresh": {
2558 | "version": "0.5.2",
2559 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
2560 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
2561 | },
2562 | "hoek": {
2563 | "version": "2.16.3",
2564 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
2565 | "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
2566 | },
2567 | "http-errors": {
2568 | "version": "1.6.2",
2569 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
2570 | "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
2571 | "requires": {
2572 | "depd": "1.1.1",
2573 | "inherits": "2.0.3",
2574 | "setprototypeof": "1.0.3",
2575 | "statuses": "1.3.1"
2576 | },
2577 | "dependencies": {
2578 | "setprototypeof": {
2579 | "version": "1.0.3",
2580 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
2581 | "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
2582 | }
2583 | }
2584 | },
2585 | "iconv-lite": {
2586 | "version": "0.4.19",
2587 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
2588 | "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ=="
2589 | },
2590 | "inherits": {
2591 | "version": "2.0.3",
2592 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
2593 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
2594 | },
2595 | "ipaddr.js": {
2596 | "version": "1.5.2",
2597 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz",
2598 | "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A="
2599 | },
2600 | "isemail": {
2601 | "version": "1.2.0",
2602 | "resolved": "https://registry.npmjs.org/isemail/-/isemail-1.2.0.tgz",
2603 | "integrity": "sha1-vgPfjMPineTSxd9lASY/H6RZXpo="
2604 | },
2605 | "joi": {
2606 | "version": "6.10.1",
2607 | "resolved": "https://registry.npmjs.org/joi/-/joi-6.10.1.tgz",
2608 | "integrity": "sha1-TVDDGAeRIgAP5fFq8f+OGRe3fgY=",
2609 | "requires": {
2610 | "hoek": "2.16.3",
2611 | "isemail": "1.2.0",
2612 | "moment": "2.19.1",
2613 | "topo": "1.1.0"
2614 | }
2615 | },
2616 | "jsonwebtoken": {
2617 | "version": "7.4.3",
2618 | "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-7.4.3.tgz",
2619 | "integrity": "sha1-d/UCHeBYtgWheD+hKD6ZgS5kVjg=",
2620 | "requires": {
2621 | "joi": "6.10.1",
2622 | "jws": "3.1.4",
2623 | "lodash.once": "4.1.1",
2624 | "ms": "2.0.0",
2625 | "xtend": "4.0.1"
2626 | }
2627 | },
2628 | "jwa": {
2629 | "version": "1.1.5",
2630 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.5.tgz",
2631 | "integrity": "sha1-oFUs4CIHQs1S4VN3SjKQXDDnVuU=",
2632 | "requires": {
2633 | "base64url": "2.0.0",
2634 | "buffer-equal-constant-time": "1.0.1",
2635 | "ecdsa-sig-formatter": "1.0.9",
2636 | "safe-buffer": "5.1.1"
2637 | }
2638 | },
2639 | "jws": {
2640 | "version": "3.1.4",
2641 | "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.4.tgz",
2642 | "integrity": "sha1-+ei5M46KhHJ31kRLFGT2GIDgUKI=",
2643 | "requires": {
2644 | "base64url": "2.0.0",
2645 | "jwa": "1.1.5",
2646 | "safe-buffer": "5.1.1"
2647 | }
2648 | },
2649 | "lodash": {
2650 | "version": "4.17.4",
2651 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
2652 | "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4="
2653 | },
2654 | "lodash.once": {
2655 | "version": "4.1.1",
2656 | "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
2657 | "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w="
2658 | },
2659 | "media-typer": {
2660 | "version": "0.3.0",
2661 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
2662 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
2663 | },
2664 | "merge-descriptors": {
2665 | "version": "1.0.1",
2666 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
2667 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
2668 | },
2669 | "methods": {
2670 | "version": "1.1.2",
2671 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
2672 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
2673 | },
2674 | "mime": {
2675 | "version": "1.4.1",
2676 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
2677 | "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
2678 | },
2679 | "mime-db": {
2680 | "version": "1.30.0",
2681 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz",
2682 | "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE="
2683 | },
2684 | "mime-types": {
2685 | "version": "2.1.17",
2686 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz",
2687 | "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=",
2688 | "requires": {
2689 | "mime-db": "1.30.0"
2690 | }
2691 | },
2692 | "moment": {
2693 | "version": "2.19.1",
2694 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.19.1.tgz",
2695 | "integrity": "sha1-VtoaLRy/AdOLfhr8McELz6GSkWc="
2696 | },
2697 | "ms": {
2698 | "version": "2.0.0",
2699 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2700 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
2701 | },
2702 | "negotiator": {
2703 | "version": "0.6.1",
2704 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
2705 | "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
2706 | },
2707 | "on-finished": {
2708 | "version": "2.3.0",
2709 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
2710 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
2711 | "requires": {
2712 | "ee-first": "1.1.1"
2713 | }
2714 | },
2715 | "parseurl": {
2716 | "version": "1.3.2",
2717 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
2718 | "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
2719 | },
2720 | "path-to-regexp": {
2721 | "version": "0.1.7",
2722 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
2723 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
2724 | },
2725 | "proxy-addr": {
2726 | "version": "2.0.2",
2727 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz",
2728 | "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=",
2729 | "requires": {
2730 | "forwarded": "0.1.2",
2731 | "ipaddr.js": "1.5.2"
2732 | }
2733 | },
2734 | "qs": {
2735 | "version": "6.5.1",
2736 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
2737 | "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
2738 | },
2739 | "range-parser": {
2740 | "version": "1.2.0",
2741 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
2742 | "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
2743 | },
2744 | "raw-body": {
2745 | "version": "2.3.2",
2746 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
2747 | "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
2748 | "requires": {
2749 | "bytes": "3.0.0",
2750 | "http-errors": "1.6.2",
2751 | "iconv-lite": "0.4.19",
2752 | "unpipe": "1.0.0"
2753 | }
2754 | },
2755 | "safe-buffer": {
2756 | "version": "5.1.1",
2757 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
2758 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
2759 | },
2760 | "send": {
2761 | "version": "0.16.1",
2762 | "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz",
2763 | "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==",
2764 | "requires": {
2765 | "debug": "2.6.9",
2766 | "depd": "1.1.1",
2767 | "destroy": "1.0.4",
2768 | "encodeurl": "1.0.1",
2769 | "escape-html": "1.0.3",
2770 | "etag": "1.8.1",
2771 | "fresh": "0.5.2",
2772 | "http-errors": "1.6.2",
2773 | "mime": "1.4.1",
2774 | "ms": "2.0.0",
2775 | "on-finished": "2.3.0",
2776 | "range-parser": "1.2.0",
2777 | "statuses": "1.3.1"
2778 | }
2779 | },
2780 | "serve-static": {
2781 | "version": "1.13.1",
2782 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz",
2783 | "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==",
2784 | "requires": {
2785 | "encodeurl": "1.0.1",
2786 | "escape-html": "1.0.3",
2787 | "parseurl": "1.3.2",
2788 | "send": "0.16.1"
2789 | }
2790 | },
2791 | "setprototypeof": {
2792 | "version": "1.1.0",
2793 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
2794 | "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
2795 | },
2796 | "sha1": {
2797 | "version": "1.1.1",
2798 | "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz",
2799 | "integrity": "sha1-rdqnqTFo85PxnrKxUJFhjicA+Eg=",
2800 | "requires": {
2801 | "charenc": "0.0.2",
2802 | "crypt": "0.0.2"
2803 | }
2804 | },
2805 | "statuses": {
2806 | "version": "1.3.1",
2807 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
2808 | "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
2809 | },
2810 | "topo": {
2811 | "version": "1.1.0",
2812 | "resolved": "https://registry.npmjs.org/topo/-/topo-1.1.0.tgz",
2813 | "integrity": "sha1-6ddRYV0buH3IZdsYL6HKCl71NtU=",
2814 | "requires": {
2815 | "hoek": "2.16.3"
2816 | }
2817 | },
2818 | "type-is": {
2819 | "version": "1.6.15",
2820 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz",
2821 | "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
2822 | "requires": {
2823 | "media-typer": "0.3.0",
2824 | "mime-types": "2.1.17"
2825 | }
2826 | },
2827 | "unpipe": {
2828 | "version": "1.0.0",
2829 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
2830 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
2831 | },
2832 | "utils-merge": {
2833 | "version": "1.0.1",
2834 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
2835 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
2836 | },
2837 | "vary": {
2838 | "version": "1.1.2",
2839 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
2840 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
2841 | },
2842 | "xtend": {
2843 | "version": "4.0.1",
2844 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
2845 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
2846 | }
2847 | }
2848 | }
2849 |
--------------------------------------------------------------------------------
/functions/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "functions",
3 | "description": "Cloud Functions for Firebase",
4 | "dependencies": {
5 | "firebase-admin": "^5.4.2",
6 | "firebase-functions": "^0.7.1"
7 | },
8 | "private": true
9 | }
10 |
--------------------------------------------------------------------------------
/karma.conf.js:
--------------------------------------------------------------------------------
1 | // Karma configuration file, see link for more information
2 | // https://karma-runner.github.io/1.0/config/configuration-file.html
3 |
4 | module.exports = function (config) {
5 | config.set({
6 | basePath: '',
7 | frameworks: ['jasmine', '@angular/cli'],
8 | plugins: [
9 | require('karma-jasmine'),
10 | require('karma-chrome-launcher'),
11 | require('karma-jasmine-html-reporter'),
12 | require('karma-coverage-istanbul-reporter'),
13 | require('@angular/cli/plugins/karma')
14 | ],
15 | client:{
16 | clearContext: false // leave Jasmine Spec Runner output visible in browser
17 | },
18 | coverageIstanbulReporter: {
19 | reports: [ 'html', 'lcovonly' ],
20 | fixWebpackSourcePaths: true
21 | },
22 | angularCli: {
23 | environment: 'dev'
24 | },
25 | reporters: ['progress', 'kjhtml'],
26 | port: 9876,
27 | colors: true,
28 | logLevel: config.LOG_INFO,
29 | autoWatch: true,
30 | browsers: ['Chrome'],
31 | singleRun: false
32 | });
33 | };
34 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "chatbot",
3 | "version": "0.0.0",
4 | "license": "MIT",
5 | "scripts": {
6 | "ng": "ng",
7 | "start": "ng serve",
8 | "build": "ng build",
9 | "test": "ng test",
10 | "lint": "ng lint",
11 | "e2e": "ng e2e"
12 | },
13 | "private": true,
14 | "dependencies": {
15 | "@angular/animations": "^5.0.2",
16 | "@angular/cdk": "^2.0.0-beta.12",
17 | "@angular/common": "^5.0.2",
18 | "@angular/compiler": "^5.0.2",
19 | "@angular/core": "^5.0.2",
20 | "@angular/forms": "^5.0.2",
21 | "@angular/http": "^5.0.2",
22 | "@angular/material": "^2.0.0-beta.12",
23 | "@angular/platform-browser": "^5.0.2",
24 | "@angular/platform-browser-dynamic": "^5.0.2",
25 | "@angular/platform-server": "^5.0.2",
26 | "@angular/router": "^5.0.2",
27 | "core-js": "^2.4.1",
28 | "marked": "^0.3.6",
29 | "rxjs": "^5.5.2",
30 | "zone.js": "^0.8.14"
31 | },
32 | "devDependencies": {
33 | "@angular/cli": "1.4.9",
34 | "@angular/compiler-cli": "^5.0.2",
35 | "@angular/language-service": "^4.4.6",
36 | "@types/jasmine": "~2.5.53",
37 | "@types/jasminewd2": "~2.0.2",
38 | "@types/node": "~6.0.60",
39 | "angular-cli": "^1.0.0-beta.28.3",
40 | "api-ai-javascript": "^2.0.0-beta.21",
41 | "codelyzer": "~3.2.0",
42 | "jasmine-core": "~2.6.2",
43 | "jasmine-spec-reporter": "~4.1.0",
44 | "karma": "~1.7.0",
45 | "karma-chrome-launcher": "~2.1.1",
46 | "karma-cli": "~1.0.1",
47 | "karma-coverage-istanbul-reporter": "^1.2.1",
48 | "karma-jasmine": "~1.1.0",
49 | "karma-jasmine-html-reporter": "^0.2.2",
50 | "protractor": "~5.1.2",
51 | "ts-node": "~3.2.0",
52 | "tslint": "~5.7.0",
53 | "typescript": "^2.6.1"
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/protractor.conf.js:
--------------------------------------------------------------------------------
1 | // Protractor configuration file, see link for more information
2 | // https://github.com/angular/protractor/blob/master/lib/config.ts
3 |
4 | const { SpecReporter } = require('jasmine-spec-reporter');
5 |
6 | exports.config = {
7 | allScriptsTimeout: 11000,
8 | specs: [
9 | './e2e/**/*.e2e-spec.ts'
10 | ],
11 | capabilities: {
12 | 'browserName': 'chrome'
13 | },
14 | directConnect: true,
15 | baseUrl: 'http://localhost:4200/',
16 | framework: 'jasmine',
17 | jasmineNodeOpts: {
18 | showColors: true,
19 | defaultTimeoutInterval: 30000,
20 | print: function() {}
21 | },
22 | onPrepare() {
23 | require('ts-node').register({
24 | project: 'e2e/tsconfig.e2e.json'
25 | });
26 | jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
27 | }
28 | };
29 |
--------------------------------------------------------------------------------
/src/app/app.component.html:
--------------------------------------------------------------------------------
1 |