├── .gitignore
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── dialogflow-agent.zip
├── dialogflow-agent
├── agent.json
├── intents
│ ├── Default Fallback Intent.json
│ ├── Default Welcome Intent.json
│ ├── Default Welcome Intent_usersays_en.json
│ ├── ReadFromFirestore.json
│ ├── ReadFromFirestore_usersays_en.json
│ ├── WriteToFirestore.json
│ └── WriteToFirestore_usersays_en.json
└── package.json
├── firebase.json
└── functions
├── .eslintrc
├── index.js
├── package-lock.json
└── package.json
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # How to become a contributor and submit your own code
2 |
3 | ## Contributor License Agreements
4 |
5 | We'd love to accept your sample apps and patches! Before we can take them, we
6 | have to jump a couple of legal hurdles.
7 |
8 | Please fill out either the individual or corporate Contributor License Agreement
9 | (CLA).
10 |
11 | * If you are an individual writing original source code and you're sure you
12 | own the intellectual property, then you'll need to sign an [individual CLA](https://developers.google.com/open-source/cla/individual).
13 | * If you work for a company that wants to allow you to contribute your work,
14 | then you'll need to sign a [corporate CLA](https://developers.google.com/open-source/cla/corporate).
15 |
16 | Follow either of the two links above to access the appropriate CLA and
17 | instructions for how to sign and return it. Once we receive it, we'll be able to
18 | accept your pull requests.
19 |
20 | ## Contributing A Patch
21 |
22 | 1. Submit an issue describing your proposed change to the repo in question.
23 | 1. The repo owner will respond to your issue promptly.
24 | 1. If your proposed change is accepted, and you haven't already done so, sign a
25 | Contributor License Agreement (see details above).
26 | 1. Fork the desired repo, develop and test your code changes.
27 | 1. Ensure that your code adheres to the existing style in the sample to which
28 | you are contributing. Refer to the
29 | [Google Cloud Platform Samples Style Guide](https://github.com/GoogleCloudPlatform/Template/wiki/style.html) for the
30 | recommended coding standards for this organization.
31 | 1. Ensure that your code has an appropriate set of unit tests which all pass.
32 | 1. Submit a pull request.
33 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "{}"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright {yyyy} {name of copyright owner}
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
203 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Dialogflow Firestore Sample
2 | + This sample demonstrates how to connect Dialogflow to the Firestore database.
3 | + Dialogflow parses users' requests and sends requests to Firebase function indicating whether it should add or retrieve an entry from the Firestore database. The Firebase function queries the database to add or retrieve the entry and then compiles the proper response to the user. You can speak to your Dialogflow agent and tell it to write something to the database or retrieve it.
4 | + The sample will save what you tell it to save into the database as well as retrieve the value you store previously.
5 | + When you speak to your Dialogflow agent a webhook call is sent to Firebase functions which talks to the Firestore database to retrieve or add a entry as see below:
6 |
7 | This sample is meant to be a starting point for anyone looking to connect a database to their Dialogflow agent and can be expanded to store users preferences, retrieve relevant data from your systems or enable your users to collaborate via chat/voice.
8 |
9 | ```
10 | Dialogflow → Webhook Request → Firebase Function → Firestore Database
11 | ```
12 |
13 | ## Setup
14 |
15 | ### Dialogflow and Fulfillment Setup
16 | To create this agent from our template:
17 |
18 |
19 |
20 |
21 |
22 | ### Firestore Setup
23 | 1. In Dialogflow's console, in the left menu > go to **Fulfillment** > **Enable Inline Editor** > **Deploy**.
24 | 2. At the bottom, go to **View execution logs in the Firebase console**.
25 | 3. In the Firebase console, go to **Database** > **Create database**.
26 | 4. Select **Start in locked mode** > **Enable**.
27 |
28 | ## Running the sample
29 | 1. In [Dialogflow's console](https://console.dialogflow.com), in the Dialogflow simulator on the right, query your Dialogflow agent with `Write Buzz Aldrin to the database` and then query `What's in the database?` to get the response "Buzz Aldrin".
30 |
31 | ## Related Samples
32 | | Name | Language |
33 | | ------------- |:-------------:|
34 | | [Fulfillment & Regex Validation](https://github.com/dialogflow/fulfillment-regex-nodejs) | Node.js |
35 | | [Weather: Fulfillment & WWO API](https://github.com/dialogflow/fulfillment-weather-nodejs) | Node.js |
36 | | [Bike Shop: Fulfillment & Google Calendar API](https://github.com/dialogflow/fulfillment-bike-shop-nodejs)| Node.js |
37 | | [Temperature Trivia: Fulfillment & Actions on Google](https://github.com/dialogflow/fulfillment-temperature-converter-nodejs) | Node.js |
38 | | [Fulfillment & Actions on Google](https://github.com/dialogflow/fulfillment-actions-library-nodejs) | Node.js |
39 | | [Fulfillment & Firestore Database](https://github.com/dialogflow/fulfillment-firestore-nodejs) | Node.js |
40 | | [Multi-language/locale](https://github.com/dialogflow/fulfillment-multi-locale-nodejs) | Node.js |
41 | | [Basic Slot Filling](https://github.com/dialogflow/fulfillment-slot-filling-nodejs) | Node.js |
42 |
43 | For Fulfillment Webhook [JSON Requests & Responses](https://github.com/dialogflow/fulfillment-webhook-json).
44 |
45 | ## References & Issues
46 | + Questions? Try [StackOverflow](https://stackoverflow.com/questions/tagged/dialogflow) or [Dialogflow Developer Community](https://plus.google.com/communities/103318168784860581977).
47 | + Find a bug? Report it on [GitHub](https://github.com/dialogflow/fulfillment-webhook-json/issues).
48 | + Dialogflow [Documentation](https://dialogflow.com/docs/getting-started/basics).
49 | + [Dialogflow's console](https://console.dialogflow.com).
50 |
51 | ## How to make contributions?
52 | Please read and follow the steps in the CONTRIBUTING.md.
53 |
54 | ## License
55 | See [LICENSE](LICENSE).
56 |
57 | ## Terms
58 | Your use of this sample is subject to, and by using or downloading the sample files you agree to comply with, the [Google APIs Terms of Service](https://developers.google.com/terms/).
59 |
--------------------------------------------------------------------------------
/dialogflow-agent.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dialogflow/fulfillment-firestore-nodejs/56a11b5fc3b74cf75ca5bbed35035c323c9c4fb9/dialogflow-agent.zip
--------------------------------------------------------------------------------
/dialogflow-agent/agent.json:
--------------------------------------------------------------------------------
1 | {
2 | "description": "",
3 | "language": "en",
4 | "disableInteractionLogs": false,
5 | "disableStackdriverLogs": true,
6 | "googleAssistant": {
7 | "googleAssistantCompatible": true,
8 | "project": "agent52-3e1ea",
9 | "welcomeIntentSignInRequired": false,
10 | "startIntents": [],
11 | "systemIntents": [],
12 | "endIntentIds": [],
13 | "oAuthLinking": {
14 | "required": false,
15 | "grantType": "AUTH_CODE_GRANT"
16 | },
17 | "voiceType": "MALE_1",
18 | "capabilities": [],
19 | "protocolVersion": "V2",
20 | "autoPreviewEnabled": true,
21 | "isDeviceAgent": false
22 | },
23 | "defaultTimezone": "America/Denver",
24 | "webhook": {
25 | "url": "https://us-central1-agent52-3e1ea.cloudfunctions.net/dialogflowFirebaseFulfillment",
26 | "headers": {
27 | "": ""
28 | },
29 | "available": true,
30 | "useForDomains": false,
31 | "cloudFunctionsEnabled": true,
32 | "cloudFunctionsInitialized": true
33 | },
34 | "isPrivate": true,
35 | "customClassifierMode": "use.after",
36 | "mlMinConfidence": 0.3,
37 | "supportedLanguages": [],
38 | "onePlatformApiVersion": "v2"
39 | }
--------------------------------------------------------------------------------
/dialogflow-agent/intents/Default Fallback Intent.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "39617656-10b2-4bf9-9aff-5b17057b27d7",
3 | "name": "Default Fallback Intent",
4 | "auto": false,
5 | "contexts": [],
6 | "responses": [
7 | {
8 | "resetContexts": false,
9 | "action": "input.unknown",
10 | "affectedContexts": [],
11 | "parameters": [],
12 | "messages": [
13 | {
14 | "type": 0,
15 | "lang": "en",
16 | "speech": "I didn\u0027t understand. I can write or read to the Firestore database"
17 | }
18 | ],
19 | "defaultResponsePlatforms": {},
20 | "speech": []
21 | }
22 | ],
23 | "priority": 500000,
24 | "webhookUsed": false,
25 | "webhookForSlotFilling": false,
26 | "lastUpdate": 1528910064,
27 | "fallbackIntent": true,
28 | "events": []
29 | }
--------------------------------------------------------------------------------
/dialogflow-agent/intents/Default Welcome Intent.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "ad263feb-3dbc-4b9e-943b-011032839ad2",
3 | "name": "Default Welcome Intent",
4 | "auto": true,
5 | "contexts": [],
6 | "responses": [
7 | {
8 | "resetContexts": false,
9 | "action": "input.welcome",
10 | "affectedContexts": [],
11 | "parameters": [],
12 | "messages": [
13 | {
14 | "type": 0,
15 | "lang": "en",
16 | "speech": "Hello! I can read or write to the Firestore database."
17 | }
18 | ],
19 | "defaultResponsePlatforms": {},
20 | "speech": []
21 | }
22 | ],
23 | "priority": 500000,
24 | "webhookUsed": false,
25 | "webhookForSlotFilling": false,
26 | "lastUpdate": 1528910082,
27 | "fallbackIntent": false,
28 | "events": [
29 | {
30 | "name": "WELCOME"
31 | }
32 | ]
33 | }
--------------------------------------------------------------------------------
/dialogflow-agent/intents/Default Welcome Intent_usersays_en.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "id": "ead3c758-7e2c-458b-af2b-c31f31beccde",
4 | "data": [
5 | {
6 | "text": "hi",
7 | "userDefined": false
8 | }
9 | ],
10 | "isTemplate": false,
11 | "count": 0,
12 | "updated": 1523079353
13 | }
14 | ]
--------------------------------------------------------------------------------
/dialogflow-agent/intents/ReadFromFirestore.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "f05f5b86-e03c-43ac-860b-ab324216ddd9",
3 | "name": "ReadFromFirestore",
4 | "auto": true,
5 | "contexts": [],
6 | "responses": [
7 | {
8 | "resetContexts": false,
9 | "affectedContexts": [],
10 | "parameters": [],
11 | "messages": [
12 | {
13 | "type": 0,
14 | "lang": "en",
15 | "speech": "Whoops! Looks like you haven\u0027t setup the Firestore database yet."
16 | }
17 | ],
18 | "defaultResponsePlatforms": {},
19 | "speech": []
20 | }
21 | ],
22 | "priority": 500000,
23 | "webhookUsed": true,
24 | "webhookForSlotFilling": false,
25 | "lastUpdate": 1528910329,
26 | "fallbackIntent": false,
27 | "events": []
28 | }
--------------------------------------------------------------------------------
/dialogflow-agent/intents/ReadFromFirestore_usersays_en.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "id": "9e9b2976-6e3b-4a0e-8a7a-5ed6fe764265",
4 | "data": [
5 | {
6 | "text": "what is in the database?",
7 | "userDefined": false
8 | }
9 | ],
10 | "isTemplate": false,
11 | "count": 0,
12 | "updated": 1528910329
13 | },
14 | {
15 | "id": "ef2f2ca7-c157-4567-a18a-6039a13a8399",
16 | "data": [
17 | {
18 | "text": "read from the Firestore database",
19 | "userDefined": false
20 | }
21 | ],
22 | "isTemplate": false,
23 | "count": 0,
24 | "updated": 1528910329
25 | },
26 | {
27 | "id": "5501e1c7-e0dc-4085-b6d3-b0c399450405",
28 | "data": [
29 | {
30 | "text": "read from the database",
31 | "userDefined": false
32 | }
33 | ],
34 | "isTemplate": false,
35 | "count": 0,
36 | "updated": 1528910329
37 | },
38 | {
39 | "id": "e011db50-03bb-401f-813d-9d7abe8e5f0b",
40 | "data": [
41 | {
42 | "text": "read from Firestore",
43 | "userDefined": false
44 | }
45 | ],
46 | "isTemplate": false,
47 | "count": 0,
48 | "updated": 1528910329
49 | },
50 | {
51 | "id": "79409546-d291-4920-b00a-9499e48a839a",
52 | "data": [
53 | {
54 | "text": "read",
55 | "userDefined": false
56 | }
57 | ],
58 | "isTemplate": false,
59 | "count": 0,
60 | "updated": 1528910329
61 | }
62 | ]
--------------------------------------------------------------------------------
/dialogflow-agent/intents/WriteToFirestore.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "fe1c6877-341e-4276-9a0e-674ce038cf37",
3 | "name": "WriteToFirestore",
4 | "auto": true,
5 | "contexts": [],
6 | "responses": [
7 | {
8 | "resetContexts": false,
9 | "affectedContexts": [],
10 | "parameters": [
11 | {
12 | "id": "a32bdf6c-99ce-4efc-9f09-30f43d3c8e2e",
13 | "required": true,
14 | "dataType": "@sys.any",
15 | "name": "databaseEntry",
16 | "value": "$databaseEntry",
17 | "prompts": [
18 | {
19 | "lang": "en",
20 | "value": "What would you like to write to the Firestore database?"
21 | }
22 | ],
23 | "isList": false
24 | }
25 | ],
26 | "messages": [
27 | {
28 | "type": 0,
29 | "lang": "en",
30 | "speech": "Whoops, looks like you haven\u0027t setup the Firestore database yet."
31 | }
32 | ],
33 | "defaultResponsePlatforms": {},
34 | "speech": []
35 | }
36 | ],
37 | "priority": 500000,
38 | "webhookUsed": true,
39 | "webhookForSlotFilling": false,
40 | "lastUpdate": 1528921324,
41 | "fallbackIntent": false,
42 | "events": []
43 | }
--------------------------------------------------------------------------------
/dialogflow-agent/intents/WriteToFirestore_usersays_en.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "id": "4f23d2c5-e0dd-4333-b36e-9c9c9d5e0ef9",
4 | "data": [
5 | {
6 | "text": "Write \"",
7 | "userDefined": false
8 | },
9 | {
10 | "text": "Dialogflow rules",
11 | "alias": "databaseEntry",
12 | "meta": "@sys.any",
13 | "userDefined": true
14 | },
15 | {
16 | "text": "\" to the database",
17 | "userDefined": false
18 | }
19 | ],
20 | "isTemplate": false,
21 | "count": 0,
22 | "updated": 1528921324
23 | },
24 | {
25 | "id": "5fe03720-13e5-4ddc-af93-b0fc6301b610",
26 | "data": [
27 | {
28 | "text": "write",
29 | "userDefined": false
30 | }
31 | ],
32 | "isTemplate": false,
33 | "count": 1,
34 | "updated": 1528921324
35 | },
36 | {
37 | "id": "3d986d80-b7fb-44e4-8d41-5dba47245923",
38 | "data": [
39 | {
40 | "text": "Can I write to the Firestore database?",
41 | "userDefined": false
42 | }
43 | ],
44 | "isTemplate": false,
45 | "count": 0,
46 | "updated": 1528921324
47 | },
48 | {
49 | "id": "ff76cf2e-f665-4729-9e13-e82982f60e98",
50 | "data": [
51 | {
52 | "text": "I want to write to Firestore",
53 | "userDefined": false
54 | }
55 | ],
56 | "isTemplate": false,
57 | "count": 0,
58 | "updated": 1528921324
59 | },
60 | {
61 | "id": "08079921-47a8-4d51-872b-71d1aae79521",
62 | "data": [
63 | {
64 | "text": "I want to write to the database",
65 | "userDefined": false
66 | }
67 | ],
68 | "isTemplate": false,
69 | "count": 0,
70 | "updated": 1528921324
71 | },
72 | {
73 | "id": "18d2aadd-549e-4193-8cff-adc3e370ec74",
74 | "data": [
75 | {
76 | "text": "Write ",
77 | "userDefined": false
78 | },
79 | {
80 | "text": "anything",
81 | "alias": "databaseEntry",
82 | "meta": "@sys.any",
83 | "userDefined": true
84 | }
85 | ],
86 | "isTemplate": false,
87 | "count": 0,
88 | "updated": 1528921324
89 | },
90 | {
91 | "id": "2967f145-5f73-4932-b0d4-ee13ad21217f",
92 | "data": [
93 | {
94 | "text": "Please write this to the database: ",
95 | "userDefined": false
96 | },
97 | {
98 | "text": "anything",
99 | "alias": "databaseEntry",
100 | "meta": "@sys.any",
101 | "userDefined": true
102 | }
103 | ],
104 | "isTemplate": false,
105 | "count": 0,
106 | "updated": 1528921324
107 | },
108 | {
109 | "id": "c086e054-dd25-4e15-b052-4f96c6cc1eb8",
110 | "data": [
111 | {
112 | "text": "Write ",
113 | "userDefined": false
114 | },
115 | {
116 | "text": "anything",
117 | "alias": "databaseEntry",
118 | "meta": "@sys.any",
119 | "userDefined": true
120 | },
121 | {
122 | "text": " to the database",
123 | "userDefined": false
124 | }
125 | ],
126 | "isTemplate": false,
127 | "count": 0,
128 | "updated": 1528921324
129 | }
130 | ]
--------------------------------------------------------------------------------
/dialogflow-agent/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.0.0"
3 | }
--------------------------------------------------------------------------------
/firebase.json:
--------------------------------------------------------------------------------
1 | {}
--------------------------------------------------------------------------------
/functions/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "plugins": ["promise"],
3 | "extends": ["plugin:promise/recommended"],
4 | "parserOptions": {
5 | "ecmaVersion": 6
6 | }
7 | }
--------------------------------------------------------------------------------
/functions/index.js:
--------------------------------------------------------------------------------
1 | /**
2 | * Copyright 2017 Google Inc. All Rights Reserved.
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | 'use strict';
18 |
19 | const functions = require('firebase-functions');
20 | const admin = require('firebase-admin');
21 | const {WebhookClient} = require('dialogflow-fulfillment');
22 |
23 | process.env.DEBUG = 'dialogflow:*'; // enables lib debugging statements
24 | admin.initializeApp(functions.config().firebase);
25 | const db = admin.firestore();
26 |
27 | exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
28 | const agent = new WebhookClient({ request, response });
29 |
30 | function writeToDb (agent) {
31 | // Get parameter from Dialogflow with the string to add to the database
32 | const databaseEntry = agent.parameters.databaseEntry;
33 |
34 | // Get the database collection 'dialogflow' and document 'agent' and store
35 | // the document {entry: ""} in the 'agent' document
36 | const dialogflowAgentRef = db.collection('dialogflow').doc('agent');
37 | return db.runTransaction(t => {
38 | t.set(dialogflowAgentRef, {entry: databaseEntry});
39 | return Promise.resolve('Write complete');
40 | }).then(doc => {
41 | agent.add(`Wrote "${databaseEntry}" to the Firestore database.`);
42 | }).catch(err => {
43 | console.log(`Error writing to Firestore: ${err}`);
44 | agent.add(`Failed to write "${databaseEntry}" to the Firestore database.`);
45 | });
46 | }
47 |
48 | function readFromDb (agent) {
49 | // Get the database collection 'dialogflow' and document 'agent'
50 | const dialogflowAgentDoc = db.collection('dialogflow').doc('agent');
51 |
52 | // Get the value of 'entry' in the document and send it to the user
53 | return dialogflowAgentDoc.get()
54 | .then(doc => {
55 | if (!doc.exists) {
56 | agent.add('No data found in the database!');
57 | } else {
58 | agent.add(doc.data().entry);
59 | }
60 | return Promise.resolve('Read complete');
61 | }).catch(() => {
62 | agent.add('Error reading entry from the Firestore database.');
63 | agent.add('Please add a entry to the database first by saying, "Write to the database"');
64 | });
65 | }
66 |
67 | // Map from Dialogflow intent names to functions to be run when the intent is matched
68 | let intentMap = new Map();
69 | intentMap.set('ReadFromFirestore', readFromDb);
70 | intentMap.set('WriteToFirestore', writeToDb);
71 | agent.handleRequest(intentMap);
72 | });
73 |
--------------------------------------------------------------------------------
/functions/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "dialogflowFirebaseFulfillment",
3 | "version": "0.0.1",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@firebase/app": {
8 | "version": "0.1.10",
9 | "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.1.10.tgz",
10 | "integrity": "sha512-2GTXt3b2QZXkmx6/5nNJq+pEN/VTjAG55MFJS1WMoLVZkwKuNpWNk65QVyPaoL88x1iHtuLqAMFgJUOnhOg+Pw==",
11 | "requires": {
12 | "@firebase/app-types": "0.1.2",
13 | "@firebase/util": "0.1.10",
14 | "tslib": "^1.9.0"
15 | }
16 | },
17 | "@firebase/app-types": {
18 | "version": "0.1.2",
19 | "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.1.2.tgz",
20 | "integrity": "sha512-bCIZGeMtP0ibrXNNaU214/1tRNw0jHnir/cfiAao1gjUyIS7RzOTQoH+zbwPJNEwUqJ0T3ykw/Tv4/khGqbVBg=="
21 | },
22 | "@firebase/database": {
23 | "version": "0.2.2",
24 | "resolved": "https://registry.npmjs.org/@firebase/database/-/database-0.2.2.tgz",
25 | "integrity": "sha512-iTNEN33D3V0hAG2hdx+guFBXaN4hcFS2k2EGp/bzNviAG7n2AotMscdbkS6xDS2e3Uk2/D3lfibHQO4zgJ3LIg==",
26 | "requires": {
27 | "@firebase/database-types": "0.2.1",
28 | "@firebase/logger": "0.1.1",
29 | "@firebase/util": "0.1.11",
30 | "faye-websocket": "0.11.1",
31 | "tslib": "1.9.0"
32 | },
33 | "dependencies": {
34 | "@firebase/util": {
35 | "version": "0.1.11",
36 | "resolved": "https://registry.npmjs.org/@firebase/util/-/util-0.1.11.tgz",
37 | "integrity": "sha512-xUMugOJBSKVKOjrKJIVeIr4Z/6iDxSuOlOJRdz0xsOBJ9+lZVxGZs0U4oZmszWhQER1zzR+EQWIYFYePt6/QMQ==",
38 | "requires": {
39 | "tslib": "1.9.0"
40 | }
41 | },
42 | "tslib": {
43 | "version": "1.9.0",
44 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.0.tgz",
45 | "integrity": "sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ=="
46 | }
47 | }
48 | },
49 | "@firebase/database-types": {
50 | "version": "0.2.1",
51 | "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-0.2.1.tgz",
52 | "integrity": "sha512-LyvTpLImnhSTyHfPGcBxhD0tHw+R7FUb+als23Ad5hPCcGxlRgLhA+ukrhFIGA8Mt8FYHWgFm7TCX4YDRDxK6w=="
53 | },
54 | "@firebase/logger": {
55 | "version": "0.1.1",
56 | "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.1.1.tgz",
57 | "integrity": "sha512-5jn3HHbEfdOwychyIEIkP1cik+MW/vvoOavTOzwDkH+fv6Bx+HBUOzh09M7sCYzXFtKzjbUax9+g39mJNBLklQ=="
58 | },
59 | "@firebase/util": {
60 | "version": "0.1.10",
61 | "resolved": "https://registry.npmjs.org/@firebase/util/-/util-0.1.10.tgz",
62 | "integrity": "sha512-XEogRfUQBZ4T37TMq/3ZbuiTdRAKX8hF3TgJglUZNCJf/6QnQ+jlupCuMAXBqCGfw2Mw0m2matoCUBWpsyevOA==",
63 | "requires": {
64 | "tslib": "^1.9.0"
65 | }
66 | },
67 | "@google-cloud/common": {
68 | "version": "0.18.9",
69 | "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.18.9.tgz",
70 | "integrity": "sha512-P5jtyfOCF84fzVcT/36XKARRrbCOqozYBliDd7btQ96GuEqKzjPVjxeE4EzdeRQ8QChBpHLrbONsU63Jprw73A==",
71 | "requires": {
72 | "@types/duplexify": "^3.5.0",
73 | "@types/request": "^2.47.0",
74 | "arrify": "^1.0.1",
75 | "axios": "^0.18.0",
76 | "duplexify": "^3.5.4",
77 | "ent": "^2.2.0",
78 | "extend": "^3.0.1",
79 | "google-auth-library": "^1.4.0",
80 | "is": "^3.2.1",
81 | "pify": "^3.0.0",
82 | "request": "^2.85.0",
83 | "retry-request": "^3.3.1",
84 | "split-array-stream": "^2.0.0",
85 | "stream-events": "^1.0.4"
86 | }
87 | },
88 | "@google-cloud/firestore": {
89 | "version": "0.14.1",
90 | "resolved": "https://registry.npmjs.org/@google-cloud/firestore/-/firestore-0.14.1.tgz",
91 | "integrity": "sha512-azZ4LIUDxI2Tc0Tamt/+ksme6Q9iwwxYt7PePxSlrEnO28NUZ4a+n6oEXAtfzDvcbtimI6gAL58cTWdvebMQFg==",
92 | "requires": {
93 | "@google-cloud/common": "^0.18.7",
94 | "bun": "^0.0.12",
95 | "deep-equal": "^1.0.1",
96 | "extend": "^3.0.1",
97 | "functional-red-black-tree": "^1.0.1",
98 | "google-gax": "^0.16.1",
99 | "google-proto-files": "^0.15.1",
100 | "is": "^3.2.1",
101 | "safe-buffer": "^5.1.2",
102 | "through2": "^2.0.3"
103 | }
104 | },
105 | "@google-cloud/storage": {
106 | "version": "1.7.0",
107 | "resolved": "https://registry.npmjs.org/@google-cloud/storage/-/storage-1.7.0.tgz",
108 | "integrity": "sha512-QaAxzCkbhspwajoaEnT0GcnQcpjPRcBrHYuQsXtD05BtOJgVnHCLXSsfUiRdU0nVpK+Thp7+sTkQ0fvk5PanKg==",
109 | "requires": {
110 | "@google-cloud/common": "^0.17.0",
111 | "arrify": "^1.0.0",
112 | "async": "^2.0.1",
113 | "compressible": "^2.0.12",
114 | "concat-stream": "^1.5.0",
115 | "create-error-class": "^3.0.2",
116 | "duplexify": "^3.5.0",
117 | "extend": "^3.0.0",
118 | "gcs-resumable-upload": "^0.10.2",
119 | "hash-stream-validation": "^0.2.1",
120 | "is": "^3.0.1",
121 | "mime": "^2.2.0",
122 | "mime-types": "^2.0.8",
123 | "once": "^1.3.1",
124 | "pumpify": "^1.5.1",
125 | "request": "^2.85.0",
126 | "safe-buffer": "^5.1.1",
127 | "snakeize": "^0.1.0",
128 | "stream-events": "^1.0.1",
129 | "through2": "^2.0.0",
130 | "xdg-basedir": "^3.0.0"
131 | },
132 | "dependencies": {
133 | "@google-cloud/common": {
134 | "version": "0.17.0",
135 | "resolved": "https://registry.npmjs.org/@google-cloud/common/-/common-0.17.0.tgz",
136 | "integrity": "sha512-HRZLSU762E6HaKoGfJGa8W95yRjb9rY7LePhjaHK9ILAnFacMuUGVamDbTHu1csZomm1g3tZTtXfX/aAhtie/Q==",
137 | "requires": {
138 | "array-uniq": "^1.0.3",
139 | "arrify": "^1.0.1",
140 | "concat-stream": "^1.6.0",
141 | "create-error-class": "^3.0.2",
142 | "duplexify": "^3.5.0",
143 | "ent": "^2.2.0",
144 | "extend": "^3.0.1",
145 | "google-auto-auth": "^0.10.0",
146 | "is": "^3.2.0",
147 | "log-driver": "1.2.7",
148 | "methmeth": "^1.1.0",
149 | "modelo": "^4.2.0",
150 | "request": "^2.79.0",
151 | "retry-request": "^3.0.0",
152 | "split-array-stream": "^1.0.0",
153 | "stream-events": "^1.0.1",
154 | "string-format-obj": "^1.1.0",
155 | "through2": "^2.0.3"
156 | }
157 | },
158 | "split-array-stream": {
159 | "version": "1.0.3",
160 | "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-1.0.3.tgz",
161 | "integrity": "sha1-0rdajl4Ngk1S/eyLgiWDncLjXfo=",
162 | "requires": {
163 | "async": "^2.4.0",
164 | "is-stream-ended": "^0.1.0"
165 | }
166 | }
167 | }
168 | },
169 | "@mrmlnc/readdir-enhanced": {
170 | "version": "2.2.1",
171 | "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
172 | "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==",
173 | "requires": {
174 | "call-me-maybe": "^1.0.1",
175 | "glob-to-regexp": "^0.3.0"
176 | }
177 | },
178 | "@nodelib/fs.stat": {
179 | "version": "1.1.0",
180 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.0.tgz",
181 | "integrity": "sha512-LAQ1d4OPfSJ/BMbI2DuizmYrrkD9JMaTdi2hQTlI53lQ4kRQPyZQRS4CYQ7O66bnBBnP/oYdRxbk++X0xuFU6A=="
182 | },
183 | "@protobufjs/aspromise": {
184 | "version": "1.1.2",
185 | "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
186 | "integrity": "sha1-m4sMxmPWaafY9vXQiToU00jzD78="
187 | },
188 | "@protobufjs/base64": {
189 | "version": "1.1.2",
190 | "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
191 | "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
192 | },
193 | "@protobufjs/codegen": {
194 | "version": "2.0.4",
195 | "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
196 | "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
197 | },
198 | "@protobufjs/eventemitter": {
199 | "version": "1.1.0",
200 | "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
201 | "integrity": "sha1-NVy8mLr61ZePntCV85diHx0Ga3A="
202 | },
203 | "@protobufjs/fetch": {
204 | "version": "1.1.0",
205 | "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
206 | "integrity": "sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=",
207 | "requires": {
208 | "@protobufjs/aspromise": "^1.1.1",
209 | "@protobufjs/inquire": "^1.1.0"
210 | }
211 | },
212 | "@protobufjs/float": {
213 | "version": "1.0.2",
214 | "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
215 | "integrity": "sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E="
216 | },
217 | "@protobufjs/inquire": {
218 | "version": "1.1.0",
219 | "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
220 | "integrity": "sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik="
221 | },
222 | "@protobufjs/path": {
223 | "version": "1.1.2",
224 | "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
225 | "integrity": "sha1-bMKyDFya1q0NzP0hynZz2Nf79o0="
226 | },
227 | "@protobufjs/pool": {
228 | "version": "1.1.0",
229 | "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
230 | "integrity": "sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q="
231 | },
232 | "@protobufjs/utf8": {
233 | "version": "1.1.0",
234 | "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
235 | "integrity": "sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA="
236 | },
237 | "@types/body-parser": {
238 | "version": "1.17.0",
239 | "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.17.0.tgz",
240 | "integrity": "sha512-a2+YeUjPkztKJu5aIF2yArYFQQp8d51wZ7DavSHjFuY1mqVgidGyzEQ41JIVNy82fXj8yPgy2vJmfIywgESW6w==",
241 | "requires": {
242 | "@types/connect": "*",
243 | "@types/node": "*"
244 | }
245 | },
246 | "@types/caseless": {
247 | "version": "0.12.1",
248 | "resolved": "https://registry.npmjs.org/@types/caseless/-/caseless-0.12.1.tgz",
249 | "integrity": "sha512-FhlMa34NHp9K5MY1Uz8yb+ZvuX0pnvn3jScRSNAb75KHGB8d3rEU6hqMs3Z2vjuytcMfRg6c5CHMc3wtYyD2/A=="
250 | },
251 | "@types/connect": {
252 | "version": "3.4.32",
253 | "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.32.tgz",
254 | "integrity": "sha512-4r8qa0quOvh7lGD0pre62CAb1oni1OO6ecJLGCezTmhQ8Fz50Arx9RUszryR8KlgK6avuSXvviL6yWyViQABOg==",
255 | "requires": {
256 | "@types/node": "*"
257 | }
258 | },
259 | "@types/duplexify": {
260 | "version": "3.5.0",
261 | "resolved": "https://registry.npmjs.org/@types/duplexify/-/duplexify-3.5.0.tgz",
262 | "integrity": "sha512-+aZCCdxuR/Q6n58CBkXyqGqimIqpYUcFLfBXagXv7e9TdJUevqkKhzopBuRz3RB064sQxnJnhttHOkK/O93Ouw==",
263 | "requires": {
264 | "@types/node": "*"
265 | }
266 | },
267 | "@types/events": {
268 | "version": "1.2.0",
269 | "resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
270 | "integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA=="
271 | },
272 | "@types/express": {
273 | "version": "4.16.0",
274 | "resolved": "https://registry.npmjs.org/@types/express/-/express-4.16.0.tgz",
275 | "integrity": "sha512-TtPEYumsmSTtTetAPXlJVf3kEqb6wZK0bZojpJQrnD/djV4q1oB6QQ8aKvKqwNPACoe02GNiy5zDzcYivR5Z2w==",
276 | "requires": {
277 | "@types/body-parser": "*",
278 | "@types/express-serve-static-core": "*",
279 | "@types/serve-static": "*"
280 | }
281 | },
282 | "@types/express-serve-static-core": {
283 | "version": "4.16.0",
284 | "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.16.0.tgz",
285 | "integrity": "sha512-lTeoCu5NxJU4OD9moCgm0ESZzweAx0YqsAcab6OB0EB3+As1OaHtKnaGJvcngQxYsi9UNv0abn4/DRavrRxt4w==",
286 | "requires": {
287 | "@types/events": "*",
288 | "@types/node": "*",
289 | "@types/range-parser": "*"
290 | }
291 | },
292 | "@types/form-data": {
293 | "version": "2.2.1",
294 | "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz",
295 | "integrity": "sha512-JAMFhOaHIciYVh8fb5/83nmuO/AHwmto+Hq7a9y8FzLDcC1KCU344XDOMEmahnrTFlHjgh4L0WJFczNIX2GxnQ==",
296 | "requires": {
297 | "@types/node": "*"
298 | }
299 | },
300 | "@types/google-cloud__storage": {
301 | "version": "1.1.7",
302 | "resolved": "https://registry.npmjs.org/@types/google-cloud__storage/-/google-cloud__storage-1.1.7.tgz",
303 | "integrity": "sha512-010Llp+5ze+XWWmZuLDxs0pZgFjOgtJQVt9icJ0Ed67ZFLq7PnXkYx8x/k9nwDojR5/X4XoLPNqB1F627TScdQ==",
304 | "requires": {
305 | "@types/node": "*"
306 | }
307 | },
308 | "@types/jsonwebtoken": {
309 | "version": "7.2.7",
310 | "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-7.2.7.tgz",
311 | "integrity": "sha512-lq9X76APpxGJDUe1VptL1P5GrogqhPCH+SDy94+gaBJw7Hhj6hwrVC6zuxAx2GrgktkBuwydESZBvPfrdBoOEg==",
312 | "requires": {
313 | "@types/node": "*"
314 | }
315 | },
316 | "@types/lodash": {
317 | "version": "4.14.109",
318 | "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.109.tgz",
319 | "integrity": "sha512-hop8SdPUEzbcJm6aTsmuwjIYQo1tqLseKCM+s2bBqTU2gErwI4fE+aqUVOlscPSQbKHKgtMMPoC+h4AIGOJYvw=="
320 | },
321 | "@types/long": {
322 | "version": "3.0.32",
323 | "resolved": "https://registry.npmjs.org/@types/long/-/long-3.0.32.tgz",
324 | "integrity": "sha512-ZXyOOm83p7X8p3s0IYM3VeueNmHpkk/yMlP8CLeOnEcu6hIwPH7YjZBvhQkR0ZFS2DqZAxKtJ/M5fcuv3OU5BA=="
325 | },
326 | "@types/mime": {
327 | "version": "2.0.0",
328 | "resolved": "https://registry.npmjs.org/@types/mime/-/mime-2.0.0.tgz",
329 | "integrity": "sha512-A2TAGbTFdBw9azHbpVd+/FkdW2T6msN1uct1O9bH3vTerEHKZhTXJUQXy+hNq1B0RagfU8U+KBdqiZpxjhOUQA=="
330 | },
331 | "@types/node": {
332 | "version": "8.10.20",
333 | "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.20.tgz",
334 | "integrity": "sha512-M7x8+5D1k/CuA6jhiwuSCmE8sbUWJF0wYsjcig9WrXvwUI5ArEoUBdOXpV4JcEMrLp02/QbDjw+kI+vQeKyQgg=="
335 | },
336 | "@types/range-parser": {
337 | "version": "1.2.2",
338 | "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.2.tgz",
339 | "integrity": "sha512-HtKGu+qG1NPvYe1z7ezLsyIaXYyi8SoAVqWDZgDQ8dLrsZvSzUNCwZyfX33uhWxL/SU0ZDQZ3nwZ0nimt507Kw=="
340 | },
341 | "@types/request": {
342 | "version": "2.47.0",
343 | "resolved": "https://registry.npmjs.org/@types/request/-/request-2.47.0.tgz",
344 | "integrity": "sha512-/KXM5oev+nNCLIgBjkwbk8VqxmzI56woD4VUxn95O+YeQ8hJzcSmIZ1IN3WexiqBb6srzDo2bdMbsXxgXNkz5Q==",
345 | "requires": {
346 | "@types/caseless": "*",
347 | "@types/form-data": "*",
348 | "@types/node": "*",
349 | "@types/tough-cookie": "*"
350 | }
351 | },
352 | "@types/serve-static": {
353 | "version": "1.13.2",
354 | "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.2.tgz",
355 | "integrity": "sha512-/BZ4QRLpH/bNYgZgwhKEh+5AsboDBcUdlBYgzoLX0fpj3Y2gp6EApyOlM3bK53wQS/OE1SrdSYBAbux2D1528Q==",
356 | "requires": {
357 | "@types/express-serve-static-core": "*",
358 | "@types/mime": "*"
359 | }
360 | },
361 | "@types/sha1": {
362 | "version": "1.1.1",
363 | "resolved": "https://registry.npmjs.org/@types/sha1/-/sha1-1.1.1.tgz",
364 | "integrity": "sha512-Yrz4TPsm/xaw7c39aTISskNirnRJj2W9OVeHv8ooOR9SG8NHEfh4lwvGeN9euzxDyPfBdFkvL/VHIY3kM45OpQ==",
365 | "requires": {
366 | "@types/node": "*"
367 | }
368 | },
369 | "@types/tough-cookie": {
370 | "version": "2.3.3",
371 | "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-2.3.3.tgz",
372 | "integrity": "sha512-MDQLxNFRLasqS4UlkWMSACMKeSm1x4Q3TxzUC7KQUsh6RK1ZrQ0VEyE3yzXcBu+K8ejVj4wuX32eUG02yNp+YQ=="
373 | },
374 | "accepts": {
375 | "version": "1.3.5",
376 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
377 | "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
378 | "requires": {
379 | "mime-types": "~2.1.18",
380 | "negotiator": "0.6.1"
381 | }
382 | },
383 | "acorn": {
384 | "version": "5.6.2",
385 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.6.2.tgz",
386 | "integrity": "sha512-zUzo1E5dI2Ey8+82egfnttyMlMZ2y0D8xOCO3PNPPlYXpl8NZvF6Qk9L9BEtJs+43FqEmfBViDqc5d1ckRDguw=="
387 | },
388 | "acorn-es7-plugin": {
389 | "version": "1.1.7",
390 | "resolved": "https://registry.npmjs.org/acorn-es7-plugin/-/acorn-es7-plugin-1.1.7.tgz",
391 | "integrity": "sha1-8u4fMiipDurRJF+asZIusucdM2s="
392 | },
393 | "ajv": {
394 | "version": "5.5.2",
395 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
396 | "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
397 | "requires": {
398 | "co": "^4.6.0",
399 | "fast-deep-equal": "^1.0.0",
400 | "fast-json-stable-stringify": "^2.0.0",
401 | "json-schema-traverse": "^0.3.0"
402 | }
403 | },
404 | "ansi-regex": {
405 | "version": "2.1.1",
406 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
407 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
408 | },
409 | "arr-diff": {
410 | "version": "4.0.0",
411 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
412 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
413 | },
414 | "arr-flatten": {
415 | "version": "1.1.0",
416 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
417 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
418 | },
419 | "arr-union": {
420 | "version": "3.1.0",
421 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
422 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
423 | },
424 | "array-filter": {
425 | "version": "1.0.0",
426 | "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz",
427 | "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM="
428 | },
429 | "array-flatten": {
430 | "version": "1.1.1",
431 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
432 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
433 | },
434 | "array-union": {
435 | "version": "1.0.2",
436 | "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
437 | "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
438 | "requires": {
439 | "array-uniq": "^1.0.1"
440 | }
441 | },
442 | "array-uniq": {
443 | "version": "1.0.3",
444 | "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
445 | "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY="
446 | },
447 | "array-unique": {
448 | "version": "0.3.2",
449 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
450 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
451 | },
452 | "arrify": {
453 | "version": "1.0.1",
454 | "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
455 | "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0="
456 | },
457 | "ascli": {
458 | "version": "1.0.1",
459 | "resolved": "https://registry.npmjs.org/ascli/-/ascli-1.0.1.tgz",
460 | "integrity": "sha1-vPpZdKYvGOgcq660lzKrSoj5Brw=",
461 | "requires": {
462 | "colour": "~0.7.1",
463 | "optjs": "~3.2.2"
464 | }
465 | },
466 | "asn1": {
467 | "version": "0.2.3",
468 | "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
469 | "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
470 | },
471 | "assert-plus": {
472 | "version": "1.0.0",
473 | "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
474 | "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
475 | },
476 | "assign-symbols": {
477 | "version": "1.0.0",
478 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
479 | "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
480 | },
481 | "async": {
482 | "version": "2.6.1",
483 | "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
484 | "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
485 | "requires": {
486 | "lodash": "^4.17.10"
487 | }
488 | },
489 | "asynckit": {
490 | "version": "0.4.0",
491 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
492 | "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
493 | },
494 | "atob": {
495 | "version": "2.1.1",
496 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.1.tgz",
497 | "integrity": "sha1-ri1acpR38onWDdf5amMUoi3Wwio="
498 | },
499 | "aws-sign2": {
500 | "version": "0.7.0",
501 | "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
502 | "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
503 | },
504 | "aws4": {
505 | "version": "1.7.0",
506 | "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.7.0.tgz",
507 | "integrity": "sha512-32NDda82rhwD9/JBCCkB+MRYDp0oSvlo2IL6rQWA10PQi7tDUM3eqMSltXmY+Oyl/7N3P3qNtAlv7X0d9bI28w=="
508 | },
509 | "axios": {
510 | "version": "0.18.0",
511 | "resolved": "https://registry.npmjs.org/axios/-/axios-0.18.0.tgz",
512 | "integrity": "sha1-MtU+SFHv3AoRmTts0AB4nXDAUQI=",
513 | "requires": {
514 | "follow-redirects": "^1.3.0",
515 | "is-buffer": "^1.1.5"
516 | }
517 | },
518 | "balanced-match": {
519 | "version": "1.0.0",
520 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
521 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
522 | },
523 | "base": {
524 | "version": "0.11.2",
525 | "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
526 | "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
527 | "requires": {
528 | "cache-base": "^1.0.1",
529 | "class-utils": "^0.3.5",
530 | "component-emitter": "^1.2.1",
531 | "define-property": "^1.0.0",
532 | "isobject": "^3.0.1",
533 | "mixin-deep": "^1.2.0",
534 | "pascalcase": "^0.1.1"
535 | },
536 | "dependencies": {
537 | "define-property": {
538 | "version": "1.0.0",
539 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
540 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
541 | "requires": {
542 | "is-descriptor": "^1.0.0"
543 | }
544 | },
545 | "is-accessor-descriptor": {
546 | "version": "1.0.0",
547 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
548 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
549 | "requires": {
550 | "kind-of": "^6.0.0"
551 | }
552 | },
553 | "is-data-descriptor": {
554 | "version": "1.0.0",
555 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
556 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
557 | "requires": {
558 | "kind-of": "^6.0.0"
559 | }
560 | },
561 | "is-descriptor": {
562 | "version": "1.0.2",
563 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
564 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
565 | "requires": {
566 | "is-accessor-descriptor": "^1.0.0",
567 | "is-data-descriptor": "^1.0.0",
568 | "kind-of": "^6.0.2"
569 | }
570 | }
571 | }
572 | },
573 | "bcrypt-pbkdf": {
574 | "version": "1.0.1",
575 | "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
576 | "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
577 | "optional": true,
578 | "requires": {
579 | "tweetnacl": "^0.14.3"
580 | }
581 | },
582 | "body-parser": {
583 | "version": "1.18.2",
584 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz",
585 | "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=",
586 | "requires": {
587 | "bytes": "3.0.0",
588 | "content-type": "~1.0.4",
589 | "debug": "2.6.9",
590 | "depd": "~1.1.1",
591 | "http-errors": "~1.6.2",
592 | "iconv-lite": "0.4.19",
593 | "on-finished": "~2.3.0",
594 | "qs": "6.5.1",
595 | "raw-body": "2.3.2",
596 | "type-is": "~1.6.15"
597 | },
598 | "dependencies": {
599 | "debug": {
600 | "version": "2.6.9",
601 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
602 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
603 | "requires": {
604 | "ms": "2.0.0"
605 | }
606 | },
607 | "qs": {
608 | "version": "6.5.1",
609 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
610 | "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
611 | }
612 | }
613 | },
614 | "brace-expansion": {
615 | "version": "1.1.11",
616 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
617 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
618 | "requires": {
619 | "balanced-match": "^1.0.0",
620 | "concat-map": "0.0.1"
621 | }
622 | },
623 | "braces": {
624 | "version": "2.3.2",
625 | "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
626 | "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
627 | "requires": {
628 | "arr-flatten": "^1.1.0",
629 | "array-unique": "^0.3.2",
630 | "extend-shallow": "^2.0.1",
631 | "fill-range": "^4.0.0",
632 | "isobject": "^3.0.1",
633 | "repeat-element": "^1.1.2",
634 | "snapdragon": "^0.8.1",
635 | "snapdragon-node": "^2.0.1",
636 | "split-string": "^3.0.2",
637 | "to-regex": "^3.0.1"
638 | },
639 | "dependencies": {
640 | "extend-shallow": {
641 | "version": "2.0.1",
642 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
643 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
644 | "requires": {
645 | "is-extendable": "^0.1.0"
646 | }
647 | }
648 | }
649 | },
650 | "buffer-equal-constant-time": {
651 | "version": "1.0.1",
652 | "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
653 | "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
654 | },
655 | "buffer-from": {
656 | "version": "1.1.0",
657 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.0.tgz",
658 | "integrity": "sha512-c5mRlguI/Pe2dSZmpER62rSCu0ryKmWddzRYsuXc50U2/g8jMOulc31VZMa4mYx31U5xsmSOpDCgH88Vl9cDGQ=="
659 | },
660 | "bun": {
661 | "version": "0.0.12",
662 | "resolved": "https://registry.npmjs.org/bun/-/bun-0.0.12.tgz",
663 | "integrity": "sha512-Toms18J9DqnT+IfWkwxVTB2EaBprHvjlMWrTIsfX4xbu3ZBqVBwrERU0em1IgtRe04wT+wJxMlKHZok24hrcSQ==",
664 | "requires": {
665 | "readable-stream": "~1.0.32"
666 | },
667 | "dependencies": {
668 | "isarray": {
669 | "version": "0.0.1",
670 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
671 | "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
672 | },
673 | "readable-stream": {
674 | "version": "1.0.34",
675 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
676 | "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
677 | "requires": {
678 | "core-util-is": "~1.0.0",
679 | "inherits": "~2.0.1",
680 | "isarray": "0.0.1",
681 | "string_decoder": "~0.10.x"
682 | }
683 | },
684 | "string_decoder": {
685 | "version": "0.10.31",
686 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
687 | "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
688 | }
689 | }
690 | },
691 | "bytebuffer": {
692 | "version": "5.0.1",
693 | "resolved": "https://registry.npmjs.org/bytebuffer/-/bytebuffer-5.0.1.tgz",
694 | "integrity": "sha1-WC7qSxqHO20CCkjVjfhfC7ps/d0=",
695 | "requires": {
696 | "long": "~3"
697 | },
698 | "dependencies": {
699 | "long": {
700 | "version": "3.2.0",
701 | "resolved": "https://registry.npmjs.org/long/-/long-3.2.0.tgz",
702 | "integrity": "sha1-2CG3E4yhy1gcFymQ7xTbIAtcR0s="
703 | }
704 | }
705 | },
706 | "bytes": {
707 | "version": "3.0.0",
708 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
709 | "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg="
710 | },
711 | "cache-base": {
712 | "version": "1.0.1",
713 | "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
714 | "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
715 | "requires": {
716 | "collection-visit": "^1.0.0",
717 | "component-emitter": "^1.2.1",
718 | "get-value": "^2.0.6",
719 | "has-value": "^1.0.0",
720 | "isobject": "^3.0.1",
721 | "set-value": "^2.0.0",
722 | "to-object-path": "^0.3.0",
723 | "union-value": "^1.0.0",
724 | "unset-value": "^1.0.0"
725 | }
726 | },
727 | "call-me-maybe": {
728 | "version": "1.0.1",
729 | "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
730 | "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms="
731 | },
732 | "call-signature": {
733 | "version": "0.0.2",
734 | "resolved": "https://registry.npmjs.org/call-signature/-/call-signature-0.0.2.tgz",
735 | "integrity": "sha1-qEq8glpV70yysCi9dOIFpluaSZY="
736 | },
737 | "camelcase": {
738 | "version": "2.1.1",
739 | "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
740 | "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
741 | },
742 | "capture-stack-trace": {
743 | "version": "1.0.0",
744 | "resolved": "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz",
745 | "integrity": "sha1-Sm+gc5nCa7pH8LJJa00PtAjFVQ0="
746 | },
747 | "caseless": {
748 | "version": "0.12.0",
749 | "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
750 | "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
751 | },
752 | "charenc": {
753 | "version": "0.0.2",
754 | "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
755 | "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc="
756 | },
757 | "class-utils": {
758 | "version": "0.3.6",
759 | "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
760 | "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
761 | "requires": {
762 | "arr-union": "^3.1.0",
763 | "define-property": "^0.2.5",
764 | "isobject": "^3.0.0",
765 | "static-extend": "^0.1.1"
766 | },
767 | "dependencies": {
768 | "define-property": {
769 | "version": "0.2.5",
770 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
771 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
772 | "requires": {
773 | "is-descriptor": "^0.1.0"
774 | }
775 | }
776 | }
777 | },
778 | "cliui": {
779 | "version": "3.2.0",
780 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz",
781 | "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=",
782 | "requires": {
783 | "string-width": "^1.0.1",
784 | "strip-ansi": "^3.0.1",
785 | "wrap-ansi": "^2.0.0"
786 | }
787 | },
788 | "co": {
789 | "version": "4.6.0",
790 | "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
791 | "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
792 | },
793 | "code-point-at": {
794 | "version": "1.1.0",
795 | "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
796 | "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
797 | },
798 | "collection-visit": {
799 | "version": "1.0.0",
800 | "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
801 | "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
802 | "requires": {
803 | "map-visit": "^1.0.0",
804 | "object-visit": "^1.0.0"
805 | }
806 | },
807 | "colour": {
808 | "version": "0.7.1",
809 | "resolved": "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz",
810 | "integrity": "sha1-nLFpkX7F0SwHNtPoaFdG3xyt93g="
811 | },
812 | "combined-stream": {
813 | "version": "1.0.6",
814 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
815 | "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
816 | "requires": {
817 | "delayed-stream": "~1.0.0"
818 | }
819 | },
820 | "component-emitter": {
821 | "version": "1.2.1",
822 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
823 | "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
824 | },
825 | "compressible": {
826 | "version": "2.0.14",
827 | "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz",
828 | "integrity": "sha1-MmxfUH+7BV9UEWeCuWmoG2einac=",
829 | "requires": {
830 | "mime-db": ">= 1.34.0 < 2"
831 | },
832 | "dependencies": {
833 | "mime-db": {
834 | "version": "1.34.0",
835 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.34.0.tgz",
836 | "integrity": "sha1-RS0Oz/XDA0am3B5kseruDTcZ/5o="
837 | }
838 | }
839 | },
840 | "concat-map": {
841 | "version": "0.0.1",
842 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
843 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
844 | },
845 | "concat-stream": {
846 | "version": "1.6.2",
847 | "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
848 | "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
849 | "requires": {
850 | "buffer-from": "^1.0.0",
851 | "inherits": "^2.0.3",
852 | "readable-stream": "^2.2.2",
853 | "typedarray": "^0.0.6"
854 | }
855 | },
856 | "configstore": {
857 | "version": "3.1.2",
858 | "resolved": "https://registry.npmjs.org/configstore/-/configstore-3.1.2.tgz",
859 | "integrity": "sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw==",
860 | "requires": {
861 | "dot-prop": "^4.1.0",
862 | "graceful-fs": "^4.1.2",
863 | "make-dir": "^1.0.0",
864 | "unique-string": "^1.0.0",
865 | "write-file-atomic": "^2.0.0",
866 | "xdg-basedir": "^3.0.0"
867 | }
868 | },
869 | "content-disposition": {
870 | "version": "0.5.2",
871 | "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
872 | "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
873 | },
874 | "content-type": {
875 | "version": "1.0.4",
876 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
877 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
878 | },
879 | "cookie": {
880 | "version": "0.3.1",
881 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
882 | "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
883 | },
884 | "cookie-signature": {
885 | "version": "1.0.6",
886 | "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
887 | "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
888 | },
889 | "copy-descriptor": {
890 | "version": "0.1.1",
891 | "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
892 | "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
893 | },
894 | "core-js": {
895 | "version": "2.5.7",
896 | "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.7.tgz",
897 | "integrity": "sha512-RszJCAxg/PP6uzXVXL6BsxSXx/B05oJAQ2vkJRjyjrEcNVycaqOmNb5OTxZPE3xa5gwZduqza6L9JOCenh/Ecw=="
898 | },
899 | "core-util-is": {
900 | "version": "1.0.2",
901 | "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
902 | "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
903 | },
904 | "create-error-class": {
905 | "version": "3.0.2",
906 | "resolved": "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz",
907 | "integrity": "sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y=",
908 | "requires": {
909 | "capture-stack-trace": "^1.0.0"
910 | }
911 | },
912 | "crypt": {
913 | "version": "0.0.2",
914 | "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
915 | "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs="
916 | },
917 | "crypto-random-string": {
918 | "version": "1.0.0",
919 | "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz",
920 | "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4="
921 | },
922 | "dashdash": {
923 | "version": "1.14.1",
924 | "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
925 | "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
926 | "requires": {
927 | "assert-plus": "^1.0.0"
928 | }
929 | },
930 | "debug": {
931 | "version": "3.1.0",
932 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
933 | "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
934 | "requires": {
935 | "ms": "2.0.0"
936 | }
937 | },
938 | "decamelize": {
939 | "version": "1.2.0",
940 | "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
941 | "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
942 | },
943 | "decode-uri-component": {
944 | "version": "0.2.0",
945 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
946 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
947 | },
948 | "deep-equal": {
949 | "version": "1.0.1",
950 | "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
951 | "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
952 | },
953 | "define-properties": {
954 | "version": "1.1.2",
955 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.2.tgz",
956 | "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
957 | "requires": {
958 | "foreach": "^2.0.5",
959 | "object-keys": "^1.0.8"
960 | }
961 | },
962 | "define-property": {
963 | "version": "2.0.2",
964 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
965 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
966 | "requires": {
967 | "is-descriptor": "^1.0.2",
968 | "isobject": "^3.0.1"
969 | },
970 | "dependencies": {
971 | "is-accessor-descriptor": {
972 | "version": "1.0.0",
973 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
974 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
975 | "requires": {
976 | "kind-of": "^6.0.0"
977 | }
978 | },
979 | "is-data-descriptor": {
980 | "version": "1.0.0",
981 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
982 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
983 | "requires": {
984 | "kind-of": "^6.0.0"
985 | }
986 | },
987 | "is-descriptor": {
988 | "version": "1.0.2",
989 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
990 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
991 | "requires": {
992 | "is-accessor-descriptor": "^1.0.0",
993 | "is-data-descriptor": "^1.0.0",
994 | "kind-of": "^6.0.2"
995 | }
996 | }
997 | }
998 | },
999 | "delayed-stream": {
1000 | "version": "1.0.0",
1001 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
1002 | "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
1003 | },
1004 | "depd": {
1005 | "version": "1.1.2",
1006 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
1007 | "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
1008 | },
1009 | "destroy": {
1010 | "version": "1.0.4",
1011 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
1012 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
1013 | },
1014 | "dialogflow-fulfillment": {
1015 | "version": "0.4.1",
1016 | "resolved": "https://registry.npmjs.org/dialogflow-fulfillment/-/dialogflow-fulfillment-0.4.1.tgz",
1017 | "integrity": "sha512-Wv0DvHLawvxm5VSrmaKCkoU4+87/bTpESudBqS8n6ALYR6bMtOE9RD/VTpHHKUImeLl01BB0Go31Apr1GBnccg==",
1018 | "requires": {
1019 | "debug": "^3.1.0"
1020 | }
1021 | },
1022 | "diff-match-patch": {
1023 | "version": "1.0.1",
1024 | "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.1.tgz",
1025 | "integrity": "sha512-A0QEhr4PxGUMEtKxd6X+JLnOTFd3BfIPSDpsc4dMvj+CbSaErDwTpoTo/nFJDMSrjxLW4BiNq+FbNisAAHhWeQ=="
1026 | },
1027 | "dir-glob": {
1028 | "version": "2.0.0",
1029 | "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz",
1030 | "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==",
1031 | "requires": {
1032 | "arrify": "^1.0.1",
1033 | "path-type": "^3.0.0"
1034 | }
1035 | },
1036 | "dot-prop": {
1037 | "version": "4.2.0",
1038 | "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz",
1039 | "integrity": "sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ==",
1040 | "requires": {
1041 | "is-obj": "^1.0.0"
1042 | }
1043 | },
1044 | "duplexify": {
1045 | "version": "3.6.0",
1046 | "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.6.0.tgz",
1047 | "integrity": "sha512-fO3Di4tBKJpYTFHAxTU00BcfWMY9w24r/x21a6rZRbsD/ToUgGxsMbiGRmB7uVAXeGKXD9MwiLZa5E97EVgIRQ==",
1048 | "requires": {
1049 | "end-of-stream": "^1.0.0",
1050 | "inherits": "^2.0.1",
1051 | "readable-stream": "^2.0.0",
1052 | "stream-shift": "^1.0.0"
1053 | }
1054 | },
1055 | "eastasianwidth": {
1056 | "version": "0.2.0",
1057 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
1058 | "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA=="
1059 | },
1060 | "ecc-jsbn": {
1061 | "version": "0.1.1",
1062 | "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
1063 | "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
1064 | "optional": true,
1065 | "requires": {
1066 | "jsbn": "~0.1.0"
1067 | }
1068 | },
1069 | "ecdsa-sig-formatter": {
1070 | "version": "1.0.10",
1071 | "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.10.tgz",
1072 | "integrity": "sha1-HFlQAPBKiJffuFAAiSoPTDOvhsM=",
1073 | "requires": {
1074 | "safe-buffer": "^5.0.1"
1075 | }
1076 | },
1077 | "ee-first": {
1078 | "version": "1.1.1",
1079 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
1080 | "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
1081 | },
1082 | "empower": {
1083 | "version": "1.3.0",
1084 | "resolved": "https://registry.npmjs.org/empower/-/empower-1.3.0.tgz",
1085 | "integrity": "sha512-tP2WqM7QzrPguCCQEQfFFDF+6Pw6YWLQal3+GHQaV+0uIr0S+jyREQPWljE02zFCYPFYLZ3LosiRV+OzTrxPpQ==",
1086 | "requires": {
1087 | "core-js": "^2.0.0",
1088 | "empower-core": "^1.2.0"
1089 | }
1090 | },
1091 | "empower-core": {
1092 | "version": "1.2.0",
1093 | "resolved": "https://registry.npmjs.org/empower-core/-/empower-core-1.2.0.tgz",
1094 | "integrity": "sha512-g6+K6Geyc1o6FdXs9HwrXleCFan7d66G5xSCfSF7x1mJDCes6t0om9lFQG3zOrzh3Bkb/45N0cZ5Gqsf7YrzGQ==",
1095 | "requires": {
1096 | "call-signature": "0.0.2",
1097 | "core-js": "^2.0.0"
1098 | }
1099 | },
1100 | "encodeurl": {
1101 | "version": "1.0.2",
1102 | "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
1103 | "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k="
1104 | },
1105 | "end-of-stream": {
1106 | "version": "1.4.1",
1107 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
1108 | "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
1109 | "requires": {
1110 | "once": "^1.4.0"
1111 | }
1112 | },
1113 | "ent": {
1114 | "version": "2.2.0",
1115 | "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
1116 | "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0="
1117 | },
1118 | "escape-html": {
1119 | "version": "1.0.3",
1120 | "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
1121 | "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
1122 | },
1123 | "espurify": {
1124 | "version": "1.8.0",
1125 | "resolved": "https://registry.npmjs.org/espurify/-/espurify-1.8.0.tgz",
1126 | "integrity": "sha512-jdkJG9jswjKCCDmEridNUuIQei9algr+o66ZZ19610ZoBsiWLRsQGNYS4HGez3Z/DsR0lhANGAqiwBUclPuNag==",
1127 | "requires": {
1128 | "core-js": "^2.0.0"
1129 | }
1130 | },
1131 | "estraverse": {
1132 | "version": "4.2.0",
1133 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
1134 | "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM="
1135 | },
1136 | "etag": {
1137 | "version": "1.8.1",
1138 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
1139 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
1140 | },
1141 | "expand-brackets": {
1142 | "version": "2.1.4",
1143 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
1144 | "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
1145 | "requires": {
1146 | "debug": "^2.3.3",
1147 | "define-property": "^0.2.5",
1148 | "extend-shallow": "^2.0.1",
1149 | "posix-character-classes": "^0.1.0",
1150 | "regex-not": "^1.0.0",
1151 | "snapdragon": "^0.8.1",
1152 | "to-regex": "^3.0.1"
1153 | },
1154 | "dependencies": {
1155 | "debug": {
1156 | "version": "2.6.9",
1157 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1158 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1159 | "requires": {
1160 | "ms": "2.0.0"
1161 | }
1162 | },
1163 | "define-property": {
1164 | "version": "0.2.5",
1165 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1166 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1167 | "requires": {
1168 | "is-descriptor": "^0.1.0"
1169 | }
1170 | },
1171 | "extend-shallow": {
1172 | "version": "2.0.1",
1173 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1174 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1175 | "requires": {
1176 | "is-extendable": "^0.1.0"
1177 | }
1178 | }
1179 | }
1180 | },
1181 | "express": {
1182 | "version": "4.16.3",
1183 | "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz",
1184 | "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=",
1185 | "requires": {
1186 | "accepts": "~1.3.5",
1187 | "array-flatten": "1.1.1",
1188 | "body-parser": "1.18.2",
1189 | "content-disposition": "0.5.2",
1190 | "content-type": "~1.0.4",
1191 | "cookie": "0.3.1",
1192 | "cookie-signature": "1.0.6",
1193 | "debug": "2.6.9",
1194 | "depd": "~1.1.2",
1195 | "encodeurl": "~1.0.2",
1196 | "escape-html": "~1.0.3",
1197 | "etag": "~1.8.1",
1198 | "finalhandler": "1.1.1",
1199 | "fresh": "0.5.2",
1200 | "merge-descriptors": "1.0.1",
1201 | "methods": "~1.1.2",
1202 | "on-finished": "~2.3.0",
1203 | "parseurl": "~1.3.2",
1204 | "path-to-regexp": "0.1.7",
1205 | "proxy-addr": "~2.0.3",
1206 | "qs": "6.5.1",
1207 | "range-parser": "~1.2.0",
1208 | "safe-buffer": "5.1.1",
1209 | "send": "0.16.2",
1210 | "serve-static": "1.13.2",
1211 | "setprototypeof": "1.1.0",
1212 | "statuses": "~1.4.0",
1213 | "type-is": "~1.6.16",
1214 | "utils-merge": "1.0.1",
1215 | "vary": "~1.1.2"
1216 | },
1217 | "dependencies": {
1218 | "debug": {
1219 | "version": "2.6.9",
1220 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1221 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1222 | "requires": {
1223 | "ms": "2.0.0"
1224 | }
1225 | },
1226 | "qs": {
1227 | "version": "6.5.1",
1228 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz",
1229 | "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A=="
1230 | },
1231 | "safe-buffer": {
1232 | "version": "5.1.1",
1233 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
1234 | "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg=="
1235 | }
1236 | }
1237 | },
1238 | "extend": {
1239 | "version": "3.0.1",
1240 | "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
1241 | "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
1242 | },
1243 | "extend-shallow": {
1244 | "version": "3.0.2",
1245 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
1246 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
1247 | "requires": {
1248 | "assign-symbols": "^1.0.0",
1249 | "is-extendable": "^1.0.1"
1250 | },
1251 | "dependencies": {
1252 | "is-extendable": {
1253 | "version": "1.0.1",
1254 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1255 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1256 | "requires": {
1257 | "is-plain-object": "^2.0.4"
1258 | }
1259 | }
1260 | }
1261 | },
1262 | "extglob": {
1263 | "version": "2.0.4",
1264 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
1265 | "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
1266 | "requires": {
1267 | "array-unique": "^0.3.2",
1268 | "define-property": "^1.0.0",
1269 | "expand-brackets": "^2.1.4",
1270 | "extend-shallow": "^2.0.1",
1271 | "fragment-cache": "^0.2.1",
1272 | "regex-not": "^1.0.0",
1273 | "snapdragon": "^0.8.1",
1274 | "to-regex": "^3.0.1"
1275 | },
1276 | "dependencies": {
1277 | "define-property": {
1278 | "version": "1.0.0",
1279 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
1280 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
1281 | "requires": {
1282 | "is-descriptor": "^1.0.0"
1283 | }
1284 | },
1285 | "extend-shallow": {
1286 | "version": "2.0.1",
1287 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1288 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1289 | "requires": {
1290 | "is-extendable": "^0.1.0"
1291 | }
1292 | },
1293 | "is-accessor-descriptor": {
1294 | "version": "1.0.0",
1295 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
1296 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
1297 | "requires": {
1298 | "kind-of": "^6.0.0"
1299 | }
1300 | },
1301 | "is-data-descriptor": {
1302 | "version": "1.0.0",
1303 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
1304 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
1305 | "requires": {
1306 | "kind-of": "^6.0.0"
1307 | }
1308 | },
1309 | "is-descriptor": {
1310 | "version": "1.0.2",
1311 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
1312 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
1313 | "requires": {
1314 | "is-accessor-descriptor": "^1.0.0",
1315 | "is-data-descriptor": "^1.0.0",
1316 | "kind-of": "^6.0.2"
1317 | }
1318 | }
1319 | }
1320 | },
1321 | "extsprintf": {
1322 | "version": "1.3.0",
1323 | "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
1324 | "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
1325 | },
1326 | "fast-deep-equal": {
1327 | "version": "1.1.0",
1328 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
1329 | "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ="
1330 | },
1331 | "fast-glob": {
1332 | "version": "2.2.2",
1333 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz",
1334 | "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==",
1335 | "requires": {
1336 | "@mrmlnc/readdir-enhanced": "^2.2.1",
1337 | "@nodelib/fs.stat": "^1.0.1",
1338 | "glob-parent": "^3.1.0",
1339 | "is-glob": "^4.0.0",
1340 | "merge2": "^1.2.1",
1341 | "micromatch": "^3.1.10"
1342 | }
1343 | },
1344 | "fast-json-stable-stringify": {
1345 | "version": "2.0.0",
1346 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
1347 | "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
1348 | },
1349 | "faye-websocket": {
1350 | "version": "0.11.1",
1351 | "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.1.tgz",
1352 | "integrity": "sha1-8O/hjE9W5PQK/H4Gxxn9XuYYjzg=",
1353 | "requires": {
1354 | "websocket-driver": ">=0.5.1"
1355 | }
1356 | },
1357 | "fill-range": {
1358 | "version": "4.0.0",
1359 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
1360 | "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
1361 | "requires": {
1362 | "extend-shallow": "^2.0.1",
1363 | "is-number": "^3.0.0",
1364 | "repeat-string": "^1.6.1",
1365 | "to-regex-range": "^2.1.0"
1366 | },
1367 | "dependencies": {
1368 | "extend-shallow": {
1369 | "version": "2.0.1",
1370 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1371 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1372 | "requires": {
1373 | "is-extendable": "^0.1.0"
1374 | }
1375 | }
1376 | }
1377 | },
1378 | "finalhandler": {
1379 | "version": "1.1.1",
1380 | "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz",
1381 | "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==",
1382 | "requires": {
1383 | "debug": "2.6.9",
1384 | "encodeurl": "~1.0.2",
1385 | "escape-html": "~1.0.3",
1386 | "on-finished": "~2.3.0",
1387 | "parseurl": "~1.3.2",
1388 | "statuses": "~1.4.0",
1389 | "unpipe": "~1.0.0"
1390 | },
1391 | "dependencies": {
1392 | "debug": {
1393 | "version": "2.6.9",
1394 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1395 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1396 | "requires": {
1397 | "ms": "2.0.0"
1398 | }
1399 | }
1400 | }
1401 | },
1402 | "firebase-admin": {
1403 | "version": "5.12.1",
1404 | "resolved": "https://registry.npmjs.org/firebase-admin/-/firebase-admin-5.12.1.tgz",
1405 | "integrity": "sha1-qBX0pRrahen9mQLDZZ0BdZ5fhVY=",
1406 | "requires": {
1407 | "@firebase/app": "^0.1.10",
1408 | "@firebase/database": "^0.2.0",
1409 | "@google-cloud/firestore": "^0.14.0",
1410 | "@google-cloud/storage": "^1.6.0",
1411 | "@types/google-cloud__storage": "^1.1.7",
1412 | "@types/node": "^8.0.53",
1413 | "jsonwebtoken": "8.1.0",
1414 | "node-forge": "0.7.4"
1415 | }
1416 | },
1417 | "firebase-functions": {
1418 | "version": "0.6.3",
1419 | "resolved": "https://registry.npmjs.org/firebase-functions/-/firebase-functions-0.6.3.tgz",
1420 | "integrity": "sha1-K403tjgzlfWRl0uvls1pLsQpvYU=",
1421 | "requires": {
1422 | "@types/express": "^4.0.33",
1423 | "@types/jsonwebtoken": "^7.1.32",
1424 | "@types/lodash": "^4.14.34",
1425 | "@types/sha1": "^1.1.0",
1426 | "express": "^4.0.33",
1427 | "jsonwebtoken": "^7.1.9",
1428 | "lodash": "^4.6.1",
1429 | "sha1": "^1.1.1"
1430 | },
1431 | "dependencies": {
1432 | "jsonwebtoken": {
1433 | "version": "7.4.3",
1434 | "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-7.4.3.tgz",
1435 | "integrity": "sha1-d/UCHeBYtgWheD+hKD6ZgS5kVjg=",
1436 | "requires": {
1437 | "joi": "^6.10.1",
1438 | "jws": "^3.1.4",
1439 | "lodash.once": "^4.0.0",
1440 | "ms": "^2.0.0",
1441 | "xtend": "^4.0.1"
1442 | }
1443 | }
1444 | }
1445 | },
1446 | "follow-redirects": {
1447 | "version": "1.5.0",
1448 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.0.tgz",
1449 | "integrity": "sha512-fdrt472/9qQ6Kgjvb935ig6vJCuofpBUD14f9Vb+SLlm7xIe4Qva5gey8EKtv8lp7ahE1wilg3xL1znpVGtZIA==",
1450 | "requires": {
1451 | "debug": "^3.1.0"
1452 | }
1453 | },
1454 | "for-in": {
1455 | "version": "1.0.2",
1456 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
1457 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
1458 | },
1459 | "foreach": {
1460 | "version": "2.0.5",
1461 | "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
1462 | "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k="
1463 | },
1464 | "forever-agent": {
1465 | "version": "0.6.1",
1466 | "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
1467 | "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
1468 | },
1469 | "form-data": {
1470 | "version": "2.3.2",
1471 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
1472 | "integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
1473 | "requires": {
1474 | "asynckit": "^0.4.0",
1475 | "combined-stream": "1.0.6",
1476 | "mime-types": "^2.1.12"
1477 | }
1478 | },
1479 | "forwarded": {
1480 | "version": "0.1.2",
1481 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
1482 | "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ="
1483 | },
1484 | "fragment-cache": {
1485 | "version": "0.2.1",
1486 | "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
1487 | "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
1488 | "requires": {
1489 | "map-cache": "^0.2.2"
1490 | }
1491 | },
1492 | "fresh": {
1493 | "version": "0.5.2",
1494 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
1495 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac="
1496 | },
1497 | "fs.realpath": {
1498 | "version": "1.0.0",
1499 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1500 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
1501 | },
1502 | "functional-red-black-tree": {
1503 | "version": "1.0.1",
1504 | "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
1505 | "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc="
1506 | },
1507 | "gcp-metadata": {
1508 | "version": "0.6.3",
1509 | "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-0.6.3.tgz",
1510 | "integrity": "sha512-MSmczZctbz91AxCvqp9GHBoZOSbJKAICV7Ow/AIWSJZRrRchUd5NL1b2P4OfP+4m490BEUPhhARfpHdqCxuCvg==",
1511 | "requires": {
1512 | "axios": "^0.18.0",
1513 | "extend": "^3.0.1",
1514 | "retry-axios": "0.3.2"
1515 | }
1516 | },
1517 | "gcs-resumable-upload": {
1518 | "version": "0.10.2",
1519 | "resolved": "https://registry.npmjs.org/gcs-resumable-upload/-/gcs-resumable-upload-0.10.2.tgz",
1520 | "integrity": "sha1-fymz7iPc7EFwNnwHEUGCScZgVF8=",
1521 | "requires": {
1522 | "configstore": "^3.1.2",
1523 | "google-auto-auth": "^0.10.0",
1524 | "pumpify": "^1.4.0",
1525 | "request": "^2.85.0",
1526 | "stream-events": "^1.0.3"
1527 | }
1528 | },
1529 | "get-value": {
1530 | "version": "2.0.6",
1531 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
1532 | "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
1533 | },
1534 | "getpass": {
1535 | "version": "0.1.7",
1536 | "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
1537 | "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
1538 | "requires": {
1539 | "assert-plus": "^1.0.0"
1540 | }
1541 | },
1542 | "glob": {
1543 | "version": "7.1.2",
1544 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz",
1545 | "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==",
1546 | "requires": {
1547 | "fs.realpath": "^1.0.0",
1548 | "inflight": "^1.0.4",
1549 | "inherits": "2",
1550 | "minimatch": "^3.0.4",
1551 | "once": "^1.3.0",
1552 | "path-is-absolute": "^1.0.0"
1553 | }
1554 | },
1555 | "glob-parent": {
1556 | "version": "3.1.0",
1557 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
1558 | "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
1559 | "requires": {
1560 | "is-glob": "^3.1.0",
1561 | "path-dirname": "^1.0.0"
1562 | },
1563 | "dependencies": {
1564 | "is-glob": {
1565 | "version": "3.1.0",
1566 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
1567 | "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
1568 | "requires": {
1569 | "is-extglob": "^2.1.0"
1570 | }
1571 | }
1572 | }
1573 | },
1574 | "glob-to-regexp": {
1575 | "version": "0.3.0",
1576 | "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
1577 | "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs="
1578 | },
1579 | "globby": {
1580 | "version": "8.0.1",
1581 | "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz",
1582 | "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==",
1583 | "requires": {
1584 | "array-union": "^1.0.1",
1585 | "dir-glob": "^2.0.0",
1586 | "fast-glob": "^2.0.2",
1587 | "glob": "^7.1.2",
1588 | "ignore": "^3.3.5",
1589 | "pify": "^3.0.0",
1590 | "slash": "^1.0.0"
1591 | }
1592 | },
1593 | "google-auth-library": {
1594 | "version": "1.6.1",
1595 | "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-1.6.1.tgz",
1596 | "integrity": "sha512-jYiWC8NA9n9OtQM7ANn0Tk464do9yhKEtaJ72pKcaBiEwn4LwcGYIYOfwtfsSm3aur/ed3tlSxbmg24IAT6gAg==",
1597 | "requires": {
1598 | "axios": "^0.18.0",
1599 | "gcp-metadata": "^0.6.3",
1600 | "gtoken": "^2.3.0",
1601 | "jws": "^3.1.5",
1602 | "lodash.isstring": "^4.0.1",
1603 | "lru-cache": "^4.1.3",
1604 | "retry-axios": "^0.3.2"
1605 | }
1606 | },
1607 | "google-auto-auth": {
1608 | "version": "0.10.1",
1609 | "resolved": "https://registry.npmjs.org/google-auto-auth/-/google-auto-auth-0.10.1.tgz",
1610 | "integrity": "sha512-iIqSbY7Ypd32mnHGbYctp80vZzXoDlvI9gEfvtl3kmyy5HzOcrZCIGCBdSlIzRsg7nHpQiHE3Zl6Ycur6TSodQ==",
1611 | "requires": {
1612 | "async": "^2.3.0",
1613 | "gcp-metadata": "^0.6.1",
1614 | "google-auth-library": "^1.3.1",
1615 | "request": "^2.79.0"
1616 | }
1617 | },
1618 | "google-gax": {
1619 | "version": "0.16.1",
1620 | "resolved": "https://registry.npmjs.org/google-gax/-/google-gax-0.16.1.tgz",
1621 | "integrity": "sha512-eP7UUkKvaHmmvCrr+rxzkIOeEKOnXmoib7/AkENDAuqlC9T2+lWlzwpthDRnitQcV8SblDMzsk73YPMPCDwPyQ==",
1622 | "requires": {
1623 | "duplexify": "^3.5.4",
1624 | "extend": "^3.0.0",
1625 | "globby": "^8.0.0",
1626 | "google-auto-auth": "^0.10.0",
1627 | "google-proto-files": "^0.15.0",
1628 | "grpc": "^1.10.0",
1629 | "is-stream-ended": "^0.1.0",
1630 | "lodash": "^4.17.2",
1631 | "protobufjs": "^6.8.0",
1632 | "through2": "^2.0.3"
1633 | }
1634 | },
1635 | "google-p12-pem": {
1636 | "version": "1.0.2",
1637 | "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-1.0.2.tgz",
1638 | "integrity": "sha512-+EuKr4CLlGsnXx4XIJIVkcKYrsa2xkAmCvxRhX2HsazJzUBAJ35wARGeApHUn4nNfPD03Vl057FskNr20VaCyg==",
1639 | "requires": {
1640 | "node-forge": "^0.7.4",
1641 | "pify": "^3.0.0"
1642 | }
1643 | },
1644 | "google-proto-files": {
1645 | "version": "0.15.1",
1646 | "resolved": "https://registry.npmjs.org/google-proto-files/-/google-proto-files-0.15.1.tgz",
1647 | "integrity": "sha512-ebtmWgi/ooR5Nl63qRVZZ6VLM6JOb5zTNxTT/ZAU8yfMOdcauoOZNNMOVg0pCmTjqWXeuuVbgPP0CwO5UHHzBQ==",
1648 | "requires": {
1649 | "globby": "^7.1.1",
1650 | "power-assert": "^1.4.4",
1651 | "protobufjs": "^6.8.0"
1652 | },
1653 | "dependencies": {
1654 | "globby": {
1655 | "version": "7.1.1",
1656 | "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
1657 | "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
1658 | "requires": {
1659 | "array-union": "^1.0.1",
1660 | "dir-glob": "^2.0.0",
1661 | "glob": "^7.1.2",
1662 | "ignore": "^3.3.5",
1663 | "pify": "^3.0.0",
1664 | "slash": "^1.0.0"
1665 | }
1666 | }
1667 | }
1668 | },
1669 | "graceful-fs": {
1670 | "version": "4.1.11",
1671 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
1672 | "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg="
1673 | },
1674 | "grpc": {
1675 | "version": "1.12.3",
1676 | "resolved": "https://registry.npmjs.org/grpc/-/grpc-1.12.3.tgz",
1677 | "integrity": "sha512-QPwbAXRXd8IyXAhTdUVgjEqSdvXoTq5uFWSo+eGMTcra12PBJUkAceD+1AUVOx1GqBY74/7T7eB7BB+UOcOY8w==",
1678 | "requires": {
1679 | "lodash": "^4.17.5",
1680 | "nan": "^2.0.0",
1681 | "node-pre-gyp": "^0.10.0",
1682 | "protobufjs": "^5.0.3"
1683 | },
1684 | "dependencies": {
1685 | "abbrev": {
1686 | "version": "1.1.1",
1687 | "bundled": true
1688 | },
1689 | "ansi-regex": {
1690 | "version": "2.1.1",
1691 | "bundled": true
1692 | },
1693 | "aproba": {
1694 | "version": "1.2.0",
1695 | "bundled": true
1696 | },
1697 | "are-we-there-yet": {
1698 | "version": "1.1.4",
1699 | "bundled": true,
1700 | "requires": {
1701 | "delegates": "^1.0.0",
1702 | "readable-stream": "^2.0.6"
1703 | }
1704 | },
1705 | "balanced-match": {
1706 | "version": "1.0.0",
1707 | "bundled": true
1708 | },
1709 | "brace-expansion": {
1710 | "version": "1.1.11",
1711 | "bundled": true,
1712 | "requires": {
1713 | "balanced-match": "^1.0.0",
1714 | "concat-map": "0.0.1"
1715 | }
1716 | },
1717 | "chownr": {
1718 | "version": "1.0.1",
1719 | "bundled": true
1720 | },
1721 | "code-point-at": {
1722 | "version": "1.1.0",
1723 | "bundled": true
1724 | },
1725 | "concat-map": {
1726 | "version": "0.0.1",
1727 | "bundled": true
1728 | },
1729 | "console-control-strings": {
1730 | "version": "1.1.0",
1731 | "bundled": true
1732 | },
1733 | "core-util-is": {
1734 | "version": "1.0.2",
1735 | "bundled": true
1736 | },
1737 | "debug": {
1738 | "version": "2.6.9",
1739 | "bundled": true,
1740 | "requires": {
1741 | "ms": "2.0.0"
1742 | }
1743 | },
1744 | "deep-extend": {
1745 | "version": "0.5.1",
1746 | "bundled": true
1747 | },
1748 | "delegates": {
1749 | "version": "1.0.0",
1750 | "bundled": true
1751 | },
1752 | "detect-libc": {
1753 | "version": "1.0.3",
1754 | "bundled": true
1755 | },
1756 | "fs-minipass": {
1757 | "version": "1.2.5",
1758 | "bundled": true,
1759 | "requires": {
1760 | "minipass": "^2.2.1"
1761 | }
1762 | },
1763 | "fs.realpath": {
1764 | "version": "1.0.0",
1765 | "bundled": true
1766 | },
1767 | "gauge": {
1768 | "version": "2.7.4",
1769 | "bundled": true,
1770 | "requires": {
1771 | "aproba": "^1.0.3",
1772 | "console-control-strings": "^1.0.0",
1773 | "has-unicode": "^2.0.0",
1774 | "object-assign": "^4.1.0",
1775 | "signal-exit": "^3.0.0",
1776 | "string-width": "^1.0.1",
1777 | "strip-ansi": "^3.0.1",
1778 | "wide-align": "^1.1.0"
1779 | }
1780 | },
1781 | "glob": {
1782 | "version": "7.1.2",
1783 | "bundled": true,
1784 | "requires": {
1785 | "fs.realpath": "^1.0.0",
1786 | "inflight": "^1.0.4",
1787 | "inherits": "2",
1788 | "minimatch": "^3.0.4",
1789 | "once": "^1.3.0",
1790 | "path-is-absolute": "^1.0.0"
1791 | }
1792 | },
1793 | "has-unicode": {
1794 | "version": "2.0.1",
1795 | "bundled": true
1796 | },
1797 | "iconv-lite": {
1798 | "version": "0.4.23",
1799 | "bundled": true,
1800 | "requires": {
1801 | "safer-buffer": ">= 2.1.2 < 3"
1802 | }
1803 | },
1804 | "ignore-walk": {
1805 | "version": "3.0.1",
1806 | "bundled": true,
1807 | "requires": {
1808 | "minimatch": "^3.0.4"
1809 | }
1810 | },
1811 | "inflight": {
1812 | "version": "1.0.6",
1813 | "bundled": true,
1814 | "requires": {
1815 | "once": "^1.3.0",
1816 | "wrappy": "1"
1817 | }
1818 | },
1819 | "inherits": {
1820 | "version": "2.0.3",
1821 | "bundled": true
1822 | },
1823 | "ini": {
1824 | "version": "1.3.5",
1825 | "bundled": true
1826 | },
1827 | "is-fullwidth-code-point": {
1828 | "version": "1.0.0",
1829 | "bundled": true,
1830 | "requires": {
1831 | "number-is-nan": "^1.0.0"
1832 | }
1833 | },
1834 | "isarray": {
1835 | "version": "1.0.0",
1836 | "bundled": true
1837 | },
1838 | "minimatch": {
1839 | "version": "3.0.4",
1840 | "bundled": true,
1841 | "requires": {
1842 | "brace-expansion": "^1.1.7"
1843 | }
1844 | },
1845 | "minimist": {
1846 | "version": "1.2.0",
1847 | "bundled": true
1848 | },
1849 | "minipass": {
1850 | "version": "2.3.0",
1851 | "bundled": true,
1852 | "requires": {
1853 | "safe-buffer": "^5.1.1",
1854 | "yallist": "^3.0.0"
1855 | }
1856 | },
1857 | "minizlib": {
1858 | "version": "1.1.0",
1859 | "bundled": true,
1860 | "requires": {
1861 | "minipass": "^2.2.1"
1862 | }
1863 | },
1864 | "mkdirp": {
1865 | "version": "0.5.1",
1866 | "bundled": true,
1867 | "requires": {
1868 | "minimist": "0.0.8"
1869 | },
1870 | "dependencies": {
1871 | "minimist": {
1872 | "version": "0.0.8",
1873 | "bundled": true
1874 | }
1875 | }
1876 | },
1877 | "ms": {
1878 | "version": "2.0.0",
1879 | "bundled": true
1880 | },
1881 | "needle": {
1882 | "version": "2.2.1",
1883 | "bundled": true,
1884 | "requires": {
1885 | "debug": "^2.1.2",
1886 | "iconv-lite": "^0.4.4",
1887 | "sax": "^1.2.4"
1888 | }
1889 | },
1890 | "node-pre-gyp": {
1891 | "version": "0.10.0",
1892 | "bundled": true,
1893 | "requires": {
1894 | "detect-libc": "^1.0.2",
1895 | "mkdirp": "^0.5.1",
1896 | "needle": "^2.2.0",
1897 | "nopt": "^4.0.1",
1898 | "npm-packlist": "^1.1.6",
1899 | "npmlog": "^4.0.2",
1900 | "rc": "^1.1.7",
1901 | "rimraf": "^2.6.1",
1902 | "semver": "^5.3.0",
1903 | "tar": "^4"
1904 | }
1905 | },
1906 | "nopt": {
1907 | "version": "4.0.1",
1908 | "bundled": true,
1909 | "requires": {
1910 | "abbrev": "1",
1911 | "osenv": "^0.1.4"
1912 | }
1913 | },
1914 | "npm-bundled": {
1915 | "version": "1.0.3",
1916 | "bundled": true
1917 | },
1918 | "npm-packlist": {
1919 | "version": "1.1.10",
1920 | "bundled": true,
1921 | "requires": {
1922 | "ignore-walk": "^3.0.1",
1923 | "npm-bundled": "^1.0.1"
1924 | }
1925 | },
1926 | "npmlog": {
1927 | "version": "4.1.2",
1928 | "bundled": true,
1929 | "requires": {
1930 | "are-we-there-yet": "~1.1.2",
1931 | "console-control-strings": "~1.1.0",
1932 | "gauge": "~2.7.3",
1933 | "set-blocking": "~2.0.0"
1934 | }
1935 | },
1936 | "number-is-nan": {
1937 | "version": "1.0.1",
1938 | "bundled": true
1939 | },
1940 | "object-assign": {
1941 | "version": "4.1.1",
1942 | "bundled": true
1943 | },
1944 | "once": {
1945 | "version": "1.4.0",
1946 | "bundled": true,
1947 | "requires": {
1948 | "wrappy": "1"
1949 | }
1950 | },
1951 | "os-homedir": {
1952 | "version": "1.0.2",
1953 | "bundled": true
1954 | },
1955 | "os-tmpdir": {
1956 | "version": "1.0.2",
1957 | "bundled": true
1958 | },
1959 | "osenv": {
1960 | "version": "0.1.5",
1961 | "bundled": true,
1962 | "requires": {
1963 | "os-homedir": "^1.0.0",
1964 | "os-tmpdir": "^1.0.0"
1965 | }
1966 | },
1967 | "path-is-absolute": {
1968 | "version": "1.0.1",
1969 | "bundled": true
1970 | },
1971 | "process-nextick-args": {
1972 | "version": "2.0.0",
1973 | "bundled": true
1974 | },
1975 | "protobufjs": {
1976 | "version": "5.0.3",
1977 | "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-5.0.3.tgz",
1978 | "integrity": "sha512-55Kcx1MhPZX0zTbVosMQEO5R6/rikNXd9b6RQK4KSPcrSIIwoXTtebIczUrXlwaSrbz4x8XUVThGPob1n8I4QA==",
1979 | "requires": {
1980 | "ascli": "~1",
1981 | "bytebuffer": "~5",
1982 | "glob": "^7.0.5",
1983 | "yargs": "^3.10.0"
1984 | }
1985 | },
1986 | "rc": {
1987 | "version": "1.2.7",
1988 | "bundled": true,
1989 | "requires": {
1990 | "deep-extend": "^0.5.1",
1991 | "ini": "~1.3.0",
1992 | "minimist": "^1.2.0",
1993 | "strip-json-comments": "~2.0.1"
1994 | }
1995 | },
1996 | "readable-stream": {
1997 | "version": "2.3.6",
1998 | "bundled": true,
1999 | "requires": {
2000 | "core-util-is": "~1.0.0",
2001 | "inherits": "~2.0.3",
2002 | "isarray": "~1.0.0",
2003 | "process-nextick-args": "~2.0.0",
2004 | "safe-buffer": "~5.1.1",
2005 | "string_decoder": "~1.1.1",
2006 | "util-deprecate": "~1.0.1"
2007 | }
2008 | },
2009 | "rimraf": {
2010 | "version": "2.6.2",
2011 | "bundled": true,
2012 | "requires": {
2013 | "glob": "^7.0.5"
2014 | }
2015 | },
2016 | "safe-buffer": {
2017 | "version": "5.1.2",
2018 | "bundled": true
2019 | },
2020 | "safer-buffer": {
2021 | "version": "2.1.2",
2022 | "bundled": true
2023 | },
2024 | "sax": {
2025 | "version": "1.2.4",
2026 | "bundled": true
2027 | },
2028 | "semver": {
2029 | "version": "5.5.0",
2030 | "bundled": true
2031 | },
2032 | "set-blocking": {
2033 | "version": "2.0.0",
2034 | "bundled": true
2035 | },
2036 | "signal-exit": {
2037 | "version": "3.0.2",
2038 | "bundled": true
2039 | },
2040 | "string-width": {
2041 | "version": "1.0.2",
2042 | "bundled": true,
2043 | "requires": {
2044 | "code-point-at": "^1.0.0",
2045 | "is-fullwidth-code-point": "^1.0.0",
2046 | "strip-ansi": "^3.0.0"
2047 | }
2048 | },
2049 | "string_decoder": {
2050 | "version": "1.1.1",
2051 | "bundled": true,
2052 | "requires": {
2053 | "safe-buffer": "~5.1.0"
2054 | }
2055 | },
2056 | "strip-ansi": {
2057 | "version": "3.0.1",
2058 | "bundled": true,
2059 | "requires": {
2060 | "ansi-regex": "^2.0.0"
2061 | }
2062 | },
2063 | "strip-json-comments": {
2064 | "version": "2.0.1",
2065 | "bundled": true
2066 | },
2067 | "tar": {
2068 | "version": "4.4.2",
2069 | "bundled": true,
2070 | "requires": {
2071 | "chownr": "^1.0.1",
2072 | "fs-minipass": "^1.2.5",
2073 | "minipass": "^2.2.4",
2074 | "minizlib": "^1.1.0",
2075 | "mkdirp": "^0.5.0",
2076 | "safe-buffer": "^5.1.2",
2077 | "yallist": "^3.0.2"
2078 | }
2079 | },
2080 | "util-deprecate": {
2081 | "version": "1.0.2",
2082 | "bundled": true
2083 | },
2084 | "wide-align": {
2085 | "version": "1.1.2",
2086 | "bundled": true,
2087 | "requires": {
2088 | "string-width": "^1.0.2"
2089 | }
2090 | },
2091 | "wrappy": {
2092 | "version": "1.0.2",
2093 | "bundled": true
2094 | },
2095 | "yallist": {
2096 | "version": "3.0.2",
2097 | "bundled": true
2098 | }
2099 | }
2100 | },
2101 | "gtoken": {
2102 | "version": "2.3.0",
2103 | "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-2.3.0.tgz",
2104 | "integrity": "sha512-Jc9/8mV630cZE9FC5tIlJCZNdUjwunvlwOtCz6IDlaiB4Sz68ki29a1+q97sWTnTYroiuF9B135rod9zrQdHLw==",
2105 | "requires": {
2106 | "axios": "^0.18.0",
2107 | "google-p12-pem": "^1.0.0",
2108 | "jws": "^3.1.4",
2109 | "mime": "^2.2.0",
2110 | "pify": "^3.0.0"
2111 | }
2112 | },
2113 | "har-schema": {
2114 | "version": "2.0.0",
2115 | "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
2116 | "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
2117 | },
2118 | "har-validator": {
2119 | "version": "5.0.3",
2120 | "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz",
2121 | "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=",
2122 | "requires": {
2123 | "ajv": "^5.1.0",
2124 | "har-schema": "^2.0.0"
2125 | }
2126 | },
2127 | "has-value": {
2128 | "version": "1.0.0",
2129 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
2130 | "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
2131 | "requires": {
2132 | "get-value": "^2.0.6",
2133 | "has-values": "^1.0.0",
2134 | "isobject": "^3.0.0"
2135 | }
2136 | },
2137 | "has-values": {
2138 | "version": "1.0.0",
2139 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
2140 | "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
2141 | "requires": {
2142 | "is-number": "^3.0.0",
2143 | "kind-of": "^4.0.0"
2144 | },
2145 | "dependencies": {
2146 | "kind-of": {
2147 | "version": "4.0.0",
2148 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
2149 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
2150 | "requires": {
2151 | "is-buffer": "^1.1.5"
2152 | }
2153 | }
2154 | }
2155 | },
2156 | "hash-stream-validation": {
2157 | "version": "0.2.1",
2158 | "resolved": "https://registry.npmjs.org/hash-stream-validation/-/hash-stream-validation-0.2.1.tgz",
2159 | "integrity": "sha1-7Mm5l7IYvluzEphii7gHhptz3NE=",
2160 | "requires": {
2161 | "through2": "^2.0.0"
2162 | }
2163 | },
2164 | "hoek": {
2165 | "version": "2.16.3",
2166 | "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
2167 | "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
2168 | },
2169 | "http-errors": {
2170 | "version": "1.6.3",
2171 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
2172 | "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
2173 | "requires": {
2174 | "depd": "~1.1.2",
2175 | "inherits": "2.0.3",
2176 | "setprototypeof": "1.1.0",
2177 | "statuses": ">= 1.4.0 < 2"
2178 | }
2179 | },
2180 | "http-parser-js": {
2181 | "version": "0.4.13",
2182 | "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz",
2183 | "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc="
2184 | },
2185 | "http-signature": {
2186 | "version": "1.2.0",
2187 | "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
2188 | "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
2189 | "requires": {
2190 | "assert-plus": "^1.0.0",
2191 | "jsprim": "^1.2.2",
2192 | "sshpk": "^1.7.0"
2193 | }
2194 | },
2195 | "iconv-lite": {
2196 | "version": "0.4.19",
2197 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.19.tgz",
2198 | "integrity": "sha512-oTZqweIP51xaGPI4uPa56/Pri/480R+mo7SeU+YETByQNhDG55ycFyNLIgta9vXhILrxXDmF7ZGhqZIcuN0gJQ=="
2199 | },
2200 | "ignore": {
2201 | "version": "3.3.8",
2202 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.8.tgz",
2203 | "integrity": "sha512-pUh+xUQQhQzevjRHHFqqcTy0/dP/kS9I8HSrUydhihjuD09W6ldVWFtIrwhXdUJHis3i2rZNqEHpZH/cbinFbg=="
2204 | },
2205 | "imurmurhash": {
2206 | "version": "0.1.4",
2207 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
2208 | "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
2209 | },
2210 | "indexof": {
2211 | "version": "0.0.1",
2212 | "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
2213 | "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10="
2214 | },
2215 | "inflight": {
2216 | "version": "1.0.6",
2217 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
2218 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
2219 | "requires": {
2220 | "once": "^1.3.0",
2221 | "wrappy": "1"
2222 | }
2223 | },
2224 | "inherits": {
2225 | "version": "2.0.3",
2226 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
2227 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
2228 | },
2229 | "invert-kv": {
2230 | "version": "1.0.0",
2231 | "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz",
2232 | "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY="
2233 | },
2234 | "ipaddr.js": {
2235 | "version": "1.6.0",
2236 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz",
2237 | "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs="
2238 | },
2239 | "is": {
2240 | "version": "3.2.1",
2241 | "resolved": "https://registry.npmjs.org/is/-/is-3.2.1.tgz",
2242 | "integrity": "sha1-0Kwq1V63sL7JJqUmb2xmKqqD3KU="
2243 | },
2244 | "is-accessor-descriptor": {
2245 | "version": "0.1.6",
2246 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
2247 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
2248 | "requires": {
2249 | "kind-of": "^3.0.2"
2250 | },
2251 | "dependencies": {
2252 | "kind-of": {
2253 | "version": "3.2.2",
2254 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2255 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2256 | "requires": {
2257 | "is-buffer": "^1.1.5"
2258 | }
2259 | }
2260 | }
2261 | },
2262 | "is-buffer": {
2263 | "version": "1.1.6",
2264 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
2265 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
2266 | },
2267 | "is-data-descriptor": {
2268 | "version": "0.1.4",
2269 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
2270 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
2271 | "requires": {
2272 | "kind-of": "^3.0.2"
2273 | },
2274 | "dependencies": {
2275 | "kind-of": {
2276 | "version": "3.2.2",
2277 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2278 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2279 | "requires": {
2280 | "is-buffer": "^1.1.5"
2281 | }
2282 | }
2283 | }
2284 | },
2285 | "is-descriptor": {
2286 | "version": "0.1.6",
2287 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
2288 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
2289 | "requires": {
2290 | "is-accessor-descriptor": "^0.1.6",
2291 | "is-data-descriptor": "^0.1.4",
2292 | "kind-of": "^5.0.0"
2293 | },
2294 | "dependencies": {
2295 | "kind-of": {
2296 | "version": "5.1.0",
2297 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
2298 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
2299 | }
2300 | }
2301 | },
2302 | "is-extendable": {
2303 | "version": "0.1.1",
2304 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
2305 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
2306 | },
2307 | "is-extglob": {
2308 | "version": "2.1.1",
2309 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
2310 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
2311 | },
2312 | "is-fullwidth-code-point": {
2313 | "version": "1.0.0",
2314 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
2315 | "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
2316 | "requires": {
2317 | "number-is-nan": "^1.0.0"
2318 | }
2319 | },
2320 | "is-glob": {
2321 | "version": "4.0.0",
2322 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
2323 | "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
2324 | "requires": {
2325 | "is-extglob": "^2.1.1"
2326 | }
2327 | },
2328 | "is-number": {
2329 | "version": "3.0.0",
2330 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
2331 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
2332 | "requires": {
2333 | "kind-of": "^3.0.2"
2334 | },
2335 | "dependencies": {
2336 | "kind-of": {
2337 | "version": "3.2.2",
2338 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2339 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2340 | "requires": {
2341 | "is-buffer": "^1.1.5"
2342 | }
2343 | }
2344 | }
2345 | },
2346 | "is-obj": {
2347 | "version": "1.0.1",
2348 | "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
2349 | "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
2350 | },
2351 | "is-odd": {
2352 | "version": "2.0.0",
2353 | "resolved": "https://registry.npmjs.org/is-odd/-/is-odd-2.0.0.tgz",
2354 | "integrity": "sha512-OTiixgpZAT1M4NHgS5IguFp/Vz2VI3U7Goh4/HA1adtwyLtSBrxYlcSYkhpAE07s4fKEcjrFxyvtQBND4vFQyQ==",
2355 | "requires": {
2356 | "is-number": "^4.0.0"
2357 | },
2358 | "dependencies": {
2359 | "is-number": {
2360 | "version": "4.0.0",
2361 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
2362 | "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ=="
2363 | }
2364 | }
2365 | },
2366 | "is-plain-object": {
2367 | "version": "2.0.4",
2368 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
2369 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
2370 | "requires": {
2371 | "isobject": "^3.0.1"
2372 | }
2373 | },
2374 | "is-stream-ended": {
2375 | "version": "0.1.4",
2376 | "resolved": "https://registry.npmjs.org/is-stream-ended/-/is-stream-ended-0.1.4.tgz",
2377 | "integrity": "sha512-xj0XPvmr7bQFTvirqnFr50o0hQIh6ZItDqloxt5aJrR4NQsYeSsyFQERYGCAzfindAcnKjINnwEEgLx4IqVzQw=="
2378 | },
2379 | "is-typedarray": {
2380 | "version": "1.0.0",
2381 | "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
2382 | "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
2383 | },
2384 | "is-windows": {
2385 | "version": "1.0.2",
2386 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
2387 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
2388 | },
2389 | "isarray": {
2390 | "version": "1.0.0",
2391 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
2392 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
2393 | },
2394 | "isemail": {
2395 | "version": "1.2.0",
2396 | "resolved": "https://registry.npmjs.org/isemail/-/isemail-1.2.0.tgz",
2397 | "integrity": "sha1-vgPfjMPineTSxd9lASY/H6RZXpo="
2398 | },
2399 | "isobject": {
2400 | "version": "3.0.1",
2401 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
2402 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
2403 | },
2404 | "isstream": {
2405 | "version": "0.1.2",
2406 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
2407 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
2408 | },
2409 | "joi": {
2410 | "version": "6.10.1",
2411 | "resolved": "https://registry.npmjs.org/joi/-/joi-6.10.1.tgz",
2412 | "integrity": "sha1-TVDDGAeRIgAP5fFq8f+OGRe3fgY=",
2413 | "requires": {
2414 | "hoek": "2.x.x",
2415 | "isemail": "1.x.x",
2416 | "moment": "2.x.x",
2417 | "topo": "1.x.x"
2418 | }
2419 | },
2420 | "jsbn": {
2421 | "version": "0.1.1",
2422 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
2423 | "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
2424 | "optional": true
2425 | },
2426 | "json-schema": {
2427 | "version": "0.2.3",
2428 | "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
2429 | "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
2430 | },
2431 | "json-schema-traverse": {
2432 | "version": "0.3.1",
2433 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
2434 | "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A="
2435 | },
2436 | "json-stringify-safe": {
2437 | "version": "5.0.1",
2438 | "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
2439 | "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
2440 | },
2441 | "jsonwebtoken": {
2442 | "version": "8.1.0",
2443 | "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.1.0.tgz",
2444 | "integrity": "sha1-xjl80uX9WD1lwAeoPce7eOaYK4M=",
2445 | "requires": {
2446 | "jws": "^3.1.4",
2447 | "lodash.includes": "^4.3.0",
2448 | "lodash.isboolean": "^3.0.3",
2449 | "lodash.isinteger": "^4.0.4",
2450 | "lodash.isnumber": "^3.0.3",
2451 | "lodash.isplainobject": "^4.0.6",
2452 | "lodash.isstring": "^4.0.1",
2453 | "lodash.once": "^4.0.0",
2454 | "ms": "^2.0.0",
2455 | "xtend": "^4.0.1"
2456 | }
2457 | },
2458 | "jsprim": {
2459 | "version": "1.4.1",
2460 | "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
2461 | "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
2462 | "requires": {
2463 | "assert-plus": "1.0.0",
2464 | "extsprintf": "1.3.0",
2465 | "json-schema": "0.2.3",
2466 | "verror": "1.10.0"
2467 | }
2468 | },
2469 | "jwa": {
2470 | "version": "1.1.6",
2471 | "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.1.6.tgz",
2472 | "integrity": "sha512-tBO/cf++BUsJkYql/kBbJroKOgHWEigTKBAjjBEmrMGYd1QMBC74Hr4Wo2zCZw6ZrVhlJPvoMrkcOnlWR/DJfw==",
2473 | "requires": {
2474 | "buffer-equal-constant-time": "1.0.1",
2475 | "ecdsa-sig-formatter": "1.0.10",
2476 | "safe-buffer": "^5.0.1"
2477 | }
2478 | },
2479 | "jws": {
2480 | "version": "3.1.5",
2481 | "resolved": "https://registry.npmjs.org/jws/-/jws-3.1.5.tgz",
2482 | "integrity": "sha512-GsCSexFADNQUr8T5HPJvayTjvPIfoyJPtLQBwn5a4WZQchcrPMPMAWcC1AzJVRDKyD6ZPROPAxgv6rfHViO4uQ==",
2483 | "requires": {
2484 | "jwa": "^1.1.5",
2485 | "safe-buffer": "^5.0.1"
2486 | }
2487 | },
2488 | "kind-of": {
2489 | "version": "6.0.2",
2490 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
2491 | "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
2492 | },
2493 | "lcid": {
2494 | "version": "1.0.0",
2495 | "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz",
2496 | "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=",
2497 | "requires": {
2498 | "invert-kv": "^1.0.0"
2499 | }
2500 | },
2501 | "lodash": {
2502 | "version": "4.17.10",
2503 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz",
2504 | "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg=="
2505 | },
2506 | "lodash.includes": {
2507 | "version": "4.3.0",
2508 | "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
2509 | "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8="
2510 | },
2511 | "lodash.isboolean": {
2512 | "version": "3.0.3",
2513 | "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
2514 | "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY="
2515 | },
2516 | "lodash.isinteger": {
2517 | "version": "4.0.4",
2518 | "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
2519 | "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M="
2520 | },
2521 | "lodash.isnumber": {
2522 | "version": "3.0.3",
2523 | "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
2524 | "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w="
2525 | },
2526 | "lodash.isplainobject": {
2527 | "version": "4.0.6",
2528 | "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
2529 | "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs="
2530 | },
2531 | "lodash.isstring": {
2532 | "version": "4.0.1",
2533 | "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
2534 | "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE="
2535 | },
2536 | "lodash.once": {
2537 | "version": "4.1.1",
2538 | "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
2539 | "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w="
2540 | },
2541 | "log-driver": {
2542 | "version": "1.2.7",
2543 | "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz",
2544 | "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg=="
2545 | },
2546 | "long": {
2547 | "version": "4.0.0",
2548 | "resolved": "https://registry.npmjs.org/long/-/long-4.0.0.tgz",
2549 | "integrity": "sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA=="
2550 | },
2551 | "lru-cache": {
2552 | "version": "4.1.3",
2553 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.3.tgz",
2554 | "integrity": "sha512-fFEhvcgzuIoJVUF8fYr5KR0YqxD238zgObTps31YdADwPPAp82a4M8TrckkWyx7ekNlf9aBcVn81cFwwXngrJA==",
2555 | "requires": {
2556 | "pseudomap": "^1.0.2",
2557 | "yallist": "^2.1.2"
2558 | }
2559 | },
2560 | "make-dir": {
2561 | "version": "1.3.0",
2562 | "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
2563 | "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
2564 | "requires": {
2565 | "pify": "^3.0.0"
2566 | }
2567 | },
2568 | "map-cache": {
2569 | "version": "0.2.2",
2570 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
2571 | "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
2572 | },
2573 | "map-visit": {
2574 | "version": "1.0.0",
2575 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
2576 | "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
2577 | "requires": {
2578 | "object-visit": "^1.0.0"
2579 | }
2580 | },
2581 | "media-typer": {
2582 | "version": "0.3.0",
2583 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
2584 | "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
2585 | },
2586 | "merge-descriptors": {
2587 | "version": "1.0.1",
2588 | "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
2589 | "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
2590 | },
2591 | "merge2": {
2592 | "version": "1.2.2",
2593 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz",
2594 | "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg=="
2595 | },
2596 | "methmeth": {
2597 | "version": "1.1.0",
2598 | "resolved": "https://registry.npmjs.org/methmeth/-/methmeth-1.1.0.tgz",
2599 | "integrity": "sha1-6AomYY5S9cQiKGG7dIUQvRDikIk="
2600 | },
2601 | "methods": {
2602 | "version": "1.1.2",
2603 | "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
2604 | "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
2605 | },
2606 | "micromatch": {
2607 | "version": "3.1.10",
2608 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
2609 | "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
2610 | "requires": {
2611 | "arr-diff": "^4.0.0",
2612 | "array-unique": "^0.3.2",
2613 | "braces": "^2.3.1",
2614 | "define-property": "^2.0.2",
2615 | "extend-shallow": "^3.0.2",
2616 | "extglob": "^2.0.4",
2617 | "fragment-cache": "^0.2.1",
2618 | "kind-of": "^6.0.2",
2619 | "nanomatch": "^1.2.9",
2620 | "object.pick": "^1.3.0",
2621 | "regex-not": "^1.0.0",
2622 | "snapdragon": "^0.8.1",
2623 | "to-regex": "^3.0.2"
2624 | }
2625 | },
2626 | "mime": {
2627 | "version": "2.3.1",
2628 | "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz",
2629 | "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg=="
2630 | },
2631 | "mime-db": {
2632 | "version": "1.33.0",
2633 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
2634 | "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ=="
2635 | },
2636 | "mime-types": {
2637 | "version": "2.1.18",
2638 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
2639 | "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
2640 | "requires": {
2641 | "mime-db": "~1.33.0"
2642 | }
2643 | },
2644 | "minimatch": {
2645 | "version": "3.0.4",
2646 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
2647 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
2648 | "requires": {
2649 | "brace-expansion": "^1.1.7"
2650 | }
2651 | },
2652 | "mixin-deep": {
2653 | "version": "1.3.1",
2654 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
2655 | "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
2656 | "requires": {
2657 | "for-in": "^1.0.2",
2658 | "is-extendable": "^1.0.1"
2659 | },
2660 | "dependencies": {
2661 | "is-extendable": {
2662 | "version": "1.0.1",
2663 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
2664 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
2665 | "requires": {
2666 | "is-plain-object": "^2.0.4"
2667 | }
2668 | }
2669 | }
2670 | },
2671 | "modelo": {
2672 | "version": "4.2.3",
2673 | "resolved": "https://registry.npmjs.org/modelo/-/modelo-4.2.3.tgz",
2674 | "integrity": "sha512-9DITV2YEMcw7XojdfvGl3gDD8J9QjZTJ7ZOUuSAkP+F3T6rDbzMJuPktxptsdHYEvZcmXrCD3LMOhdSAEq6zKA=="
2675 | },
2676 | "moment": {
2677 | "version": "2.22.2",
2678 | "resolved": "https://registry.npmjs.org/moment/-/moment-2.22.2.tgz",
2679 | "integrity": "sha1-PCV/mDn8DpP/UxSWMiOeuQeD/2Y="
2680 | },
2681 | "ms": {
2682 | "version": "2.0.0",
2683 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
2684 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
2685 | },
2686 | "nan": {
2687 | "version": "2.10.0",
2688 | "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz",
2689 | "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA=="
2690 | },
2691 | "nanomatch": {
2692 | "version": "1.2.9",
2693 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz",
2694 | "integrity": "sha512-n8R9bS8yQ6eSXaV6jHUpKzD8gLsin02w1HSFiegwrs9E098Ylhw5jdyKPaYqvHknHaSCKTPp7C8dGCQ0q9koXA==",
2695 | "requires": {
2696 | "arr-diff": "^4.0.0",
2697 | "array-unique": "^0.3.2",
2698 | "define-property": "^2.0.2",
2699 | "extend-shallow": "^3.0.2",
2700 | "fragment-cache": "^0.2.1",
2701 | "is-odd": "^2.0.0",
2702 | "is-windows": "^1.0.2",
2703 | "kind-of": "^6.0.2",
2704 | "object.pick": "^1.3.0",
2705 | "regex-not": "^1.0.0",
2706 | "snapdragon": "^0.8.1",
2707 | "to-regex": "^3.0.1"
2708 | }
2709 | },
2710 | "negotiator": {
2711 | "version": "0.6.1",
2712 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
2713 | "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
2714 | },
2715 | "node-forge": {
2716 | "version": "0.7.4",
2717 | "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.7.4.tgz",
2718 | "integrity": "sha512-8Df0906+tq/omxuCZD6PqhPaQDYuyJ1d+VITgxoIA8zvQd1ru+nMJcDChHH324MWitIgbVkAkQoGEEVJNpn/PA=="
2719 | },
2720 | "number-is-nan": {
2721 | "version": "1.0.1",
2722 | "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
2723 | "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
2724 | },
2725 | "oauth-sign": {
2726 | "version": "0.8.2",
2727 | "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
2728 | "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
2729 | },
2730 | "object-copy": {
2731 | "version": "0.1.0",
2732 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
2733 | "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
2734 | "requires": {
2735 | "copy-descriptor": "^0.1.0",
2736 | "define-property": "^0.2.5",
2737 | "kind-of": "^3.0.3"
2738 | },
2739 | "dependencies": {
2740 | "define-property": {
2741 | "version": "0.2.5",
2742 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
2743 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
2744 | "requires": {
2745 | "is-descriptor": "^0.1.0"
2746 | }
2747 | },
2748 | "kind-of": {
2749 | "version": "3.2.2",
2750 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2751 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2752 | "requires": {
2753 | "is-buffer": "^1.1.5"
2754 | }
2755 | }
2756 | }
2757 | },
2758 | "object-keys": {
2759 | "version": "1.0.11",
2760 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz",
2761 | "integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0="
2762 | },
2763 | "object-visit": {
2764 | "version": "1.0.1",
2765 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
2766 | "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
2767 | "requires": {
2768 | "isobject": "^3.0.0"
2769 | }
2770 | },
2771 | "object.pick": {
2772 | "version": "1.3.0",
2773 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
2774 | "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
2775 | "requires": {
2776 | "isobject": "^3.0.1"
2777 | }
2778 | },
2779 | "on-finished": {
2780 | "version": "2.3.0",
2781 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
2782 | "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
2783 | "requires": {
2784 | "ee-first": "1.1.1"
2785 | }
2786 | },
2787 | "once": {
2788 | "version": "1.4.0",
2789 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
2790 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
2791 | "requires": {
2792 | "wrappy": "1"
2793 | }
2794 | },
2795 | "optjs": {
2796 | "version": "3.2.2",
2797 | "resolved": "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz",
2798 | "integrity": "sha1-aabOicRCpEQDFBrS+bNwvVu29O4="
2799 | },
2800 | "os-locale": {
2801 | "version": "1.4.0",
2802 | "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz",
2803 | "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=",
2804 | "requires": {
2805 | "lcid": "^1.0.0"
2806 | }
2807 | },
2808 | "parseurl": {
2809 | "version": "1.3.2",
2810 | "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
2811 | "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M="
2812 | },
2813 | "pascalcase": {
2814 | "version": "0.1.1",
2815 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
2816 | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
2817 | },
2818 | "path-dirname": {
2819 | "version": "1.0.2",
2820 | "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
2821 | "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
2822 | },
2823 | "path-is-absolute": {
2824 | "version": "1.0.1",
2825 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
2826 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
2827 | },
2828 | "path-to-regexp": {
2829 | "version": "0.1.7",
2830 | "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
2831 | "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
2832 | },
2833 | "path-type": {
2834 | "version": "3.0.0",
2835 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
2836 | "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
2837 | "requires": {
2838 | "pify": "^3.0.0"
2839 | }
2840 | },
2841 | "performance-now": {
2842 | "version": "2.1.0",
2843 | "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
2844 | "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
2845 | },
2846 | "pify": {
2847 | "version": "3.0.0",
2848 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
2849 | "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
2850 | },
2851 | "posix-character-classes": {
2852 | "version": "0.1.1",
2853 | "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
2854 | "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
2855 | },
2856 | "power-assert": {
2857 | "version": "1.6.0",
2858 | "resolved": "https://registry.npmjs.org/power-assert/-/power-assert-1.6.0.tgz",
2859 | "integrity": "sha512-nDb6a+p2C7Wj8Y2zmFtLpuv+xobXz4+bzT5s7dr0nn71tLozn7nRMQqzwbefzwZN5qOm0N7Cxhw4kXP75xboKA==",
2860 | "requires": {
2861 | "define-properties": "^1.1.2",
2862 | "empower": "^1.3.0",
2863 | "power-assert-formatter": "^1.4.1",
2864 | "universal-deep-strict-equal": "^1.2.1",
2865 | "xtend": "^4.0.0"
2866 | }
2867 | },
2868 | "power-assert-context-formatter": {
2869 | "version": "1.2.0",
2870 | "resolved": "https://registry.npmjs.org/power-assert-context-formatter/-/power-assert-context-formatter-1.2.0.tgz",
2871 | "integrity": "sha512-HLNEW8Bin+BFCpk/zbyKwkEu9W8/zThIStxGo7weYcFkKgMuGCHUJhvJeBGXDZf0Qm2xis4pbnnciGZiX0EpSg==",
2872 | "requires": {
2873 | "core-js": "^2.0.0",
2874 | "power-assert-context-traversal": "^1.2.0"
2875 | }
2876 | },
2877 | "power-assert-context-reducer-ast": {
2878 | "version": "1.2.0",
2879 | "resolved": "https://registry.npmjs.org/power-assert-context-reducer-ast/-/power-assert-context-reducer-ast-1.2.0.tgz",
2880 | "integrity": "sha512-EgOxmZ/Lb7tw4EwSKX7ZnfC0P/qRZFEG28dx/690qvhmOJ6hgThYFm5TUWANDLK5NiNKlPBi5WekVGd2+5wPrw==",
2881 | "requires": {
2882 | "acorn": "^5.0.0",
2883 | "acorn-es7-plugin": "^1.0.12",
2884 | "core-js": "^2.0.0",
2885 | "espurify": "^1.6.0",
2886 | "estraverse": "^4.2.0"
2887 | }
2888 | },
2889 | "power-assert-context-traversal": {
2890 | "version": "1.2.0",
2891 | "resolved": "https://registry.npmjs.org/power-assert-context-traversal/-/power-assert-context-traversal-1.2.0.tgz",
2892 | "integrity": "sha512-NFoHU6g2umNajiP2l4qb0BRWD773Aw9uWdWYH9EQsVwIZnog5bd2YYLFCVvaxWpwNzWeEfZIon2xtyc63026pQ==",
2893 | "requires": {
2894 | "core-js": "^2.0.0",
2895 | "estraverse": "^4.1.0"
2896 | }
2897 | },
2898 | "power-assert-formatter": {
2899 | "version": "1.4.1",
2900 | "resolved": "https://registry.npmjs.org/power-assert-formatter/-/power-assert-formatter-1.4.1.tgz",
2901 | "integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=",
2902 | "requires": {
2903 | "core-js": "^2.0.0",
2904 | "power-assert-context-formatter": "^1.0.7",
2905 | "power-assert-context-reducer-ast": "^1.0.7",
2906 | "power-assert-renderer-assertion": "^1.0.7",
2907 | "power-assert-renderer-comparison": "^1.0.7",
2908 | "power-assert-renderer-diagram": "^1.0.7",
2909 | "power-assert-renderer-file": "^1.0.7"
2910 | }
2911 | },
2912 | "power-assert-renderer-assertion": {
2913 | "version": "1.2.0",
2914 | "resolved": "https://registry.npmjs.org/power-assert-renderer-assertion/-/power-assert-renderer-assertion-1.2.0.tgz",
2915 | "integrity": "sha512-3F7Q1ZLmV2ZCQv7aV7NJLNK9G7QsostrhOU7U0RhEQS/0vhEqrRg2jEJl1jtUL4ZyL2dXUlaaqrmPv5r9kRvIg==",
2916 | "requires": {
2917 | "power-assert-renderer-base": "^1.1.1",
2918 | "power-assert-util-string-width": "^1.2.0"
2919 | }
2920 | },
2921 | "power-assert-renderer-base": {
2922 | "version": "1.1.1",
2923 | "resolved": "https://registry.npmjs.org/power-assert-renderer-base/-/power-assert-renderer-base-1.1.1.tgz",
2924 | "integrity": "sha1-lqZQxv0F7hvB9mtUrWFELIs/Y+s="
2925 | },
2926 | "power-assert-renderer-comparison": {
2927 | "version": "1.2.0",
2928 | "resolved": "https://registry.npmjs.org/power-assert-renderer-comparison/-/power-assert-renderer-comparison-1.2.0.tgz",
2929 | "integrity": "sha512-7c3RKPDBKK4E3JqdPtYRE9cM8AyX4LC4yfTvvTYyx8zSqmT5kJnXwzR0yWQLOavACllZfwrAGQzFiXPc5sWa+g==",
2930 | "requires": {
2931 | "core-js": "^2.0.0",
2932 | "diff-match-patch": "^1.0.0",
2933 | "power-assert-renderer-base": "^1.1.1",
2934 | "stringifier": "^1.3.0",
2935 | "type-name": "^2.0.1"
2936 | }
2937 | },
2938 | "power-assert-renderer-diagram": {
2939 | "version": "1.2.0",
2940 | "resolved": "https://registry.npmjs.org/power-assert-renderer-diagram/-/power-assert-renderer-diagram-1.2.0.tgz",
2941 | "integrity": "sha512-JZ6PC+DJPQqfU6dwSmpcoD7gNnb/5U77bU5KgNwPPa+i1Pxiz6UuDeM3EUBlhZ1HvH9tMjI60anqVyi5l2oNdg==",
2942 | "requires": {
2943 | "core-js": "^2.0.0",
2944 | "power-assert-renderer-base": "^1.1.1",
2945 | "power-assert-util-string-width": "^1.2.0",
2946 | "stringifier": "^1.3.0"
2947 | }
2948 | },
2949 | "power-assert-renderer-file": {
2950 | "version": "1.2.0",
2951 | "resolved": "https://registry.npmjs.org/power-assert-renderer-file/-/power-assert-renderer-file-1.2.0.tgz",
2952 | "integrity": "sha512-/oaVrRbeOtGoyyd7e4IdLP/jIIUFJdqJtsYzP9/88R39CMnfF/S/rUc8ZQalENfUfQ/wQHu+XZYRMaCEZmEesg==",
2953 | "requires": {
2954 | "power-assert-renderer-base": "^1.1.1"
2955 | }
2956 | },
2957 | "power-assert-util-string-width": {
2958 | "version": "1.2.0",
2959 | "resolved": "https://registry.npmjs.org/power-assert-util-string-width/-/power-assert-util-string-width-1.2.0.tgz",
2960 | "integrity": "sha512-lX90G0igAW0iyORTILZ/QjZWsa1MZ6VVY3L0K86e2eKun3S4LKPH4xZIl8fdeMYLfOjkaszbNSzf1uugLeAm2A==",
2961 | "requires": {
2962 | "eastasianwidth": "^0.2.0"
2963 | }
2964 | },
2965 | "process-nextick-args": {
2966 | "version": "2.0.0",
2967 | "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
2968 | "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
2969 | },
2970 | "protobufjs": {
2971 | "version": "6.8.6",
2972 | "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-6.8.6.tgz",
2973 | "integrity": "sha512-eH2OTP9s55vojr3b7NBaF9i4WhWPkv/nq55nznWNp/FomKrLViprUcqnBjHph2tFQ+7KciGPTPsVWGz0SOhL0Q==",
2974 | "requires": {
2975 | "@protobufjs/aspromise": "^1.1.2",
2976 | "@protobufjs/base64": "^1.1.2",
2977 | "@protobufjs/codegen": "^2.0.4",
2978 | "@protobufjs/eventemitter": "^1.1.0",
2979 | "@protobufjs/fetch": "^1.1.0",
2980 | "@protobufjs/float": "^1.0.2",
2981 | "@protobufjs/inquire": "^1.1.0",
2982 | "@protobufjs/path": "^1.1.2",
2983 | "@protobufjs/pool": "^1.1.0",
2984 | "@protobufjs/utf8": "^1.1.0",
2985 | "@types/long": "^3.0.32",
2986 | "@types/node": "^8.9.4",
2987 | "long": "^4.0.0"
2988 | }
2989 | },
2990 | "proxy-addr": {
2991 | "version": "2.0.3",
2992 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz",
2993 | "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==",
2994 | "requires": {
2995 | "forwarded": "~0.1.2",
2996 | "ipaddr.js": "1.6.0"
2997 | }
2998 | },
2999 | "pseudomap": {
3000 | "version": "1.0.2",
3001 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
3002 | "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM="
3003 | },
3004 | "pump": {
3005 | "version": "2.0.1",
3006 | "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
3007 | "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
3008 | "requires": {
3009 | "end-of-stream": "^1.1.0",
3010 | "once": "^1.3.1"
3011 | }
3012 | },
3013 | "pumpify": {
3014 | "version": "1.5.1",
3015 | "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
3016 | "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
3017 | "requires": {
3018 | "duplexify": "^3.6.0",
3019 | "inherits": "^2.0.3",
3020 | "pump": "^2.0.0"
3021 | }
3022 | },
3023 | "punycode": {
3024 | "version": "1.4.1",
3025 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
3026 | "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
3027 | },
3028 | "qs": {
3029 | "version": "6.5.2",
3030 | "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
3031 | "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
3032 | },
3033 | "range-parser": {
3034 | "version": "1.2.0",
3035 | "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
3036 | "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
3037 | },
3038 | "raw-body": {
3039 | "version": "2.3.2",
3040 | "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz",
3041 | "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=",
3042 | "requires": {
3043 | "bytes": "3.0.0",
3044 | "http-errors": "1.6.2",
3045 | "iconv-lite": "0.4.19",
3046 | "unpipe": "1.0.0"
3047 | },
3048 | "dependencies": {
3049 | "depd": {
3050 | "version": "1.1.1",
3051 | "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz",
3052 | "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
3053 | },
3054 | "http-errors": {
3055 | "version": "1.6.2",
3056 | "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz",
3057 | "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
3058 | "requires": {
3059 | "depd": "1.1.1",
3060 | "inherits": "2.0.3",
3061 | "setprototypeof": "1.0.3",
3062 | "statuses": ">= 1.3.1 < 2"
3063 | }
3064 | },
3065 | "setprototypeof": {
3066 | "version": "1.0.3",
3067 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz",
3068 | "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
3069 | }
3070 | }
3071 | },
3072 | "readable-stream": {
3073 | "version": "2.3.6",
3074 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
3075 | "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
3076 | "requires": {
3077 | "core-util-is": "~1.0.0",
3078 | "inherits": "~2.0.3",
3079 | "isarray": "~1.0.0",
3080 | "process-nextick-args": "~2.0.0",
3081 | "safe-buffer": "~5.1.1",
3082 | "string_decoder": "~1.1.1",
3083 | "util-deprecate": "~1.0.1"
3084 | }
3085 | },
3086 | "regex-not": {
3087 | "version": "1.0.2",
3088 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
3089 | "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
3090 | "requires": {
3091 | "extend-shallow": "^3.0.2",
3092 | "safe-regex": "^1.1.0"
3093 | }
3094 | },
3095 | "repeat-element": {
3096 | "version": "1.1.2",
3097 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz",
3098 | "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo="
3099 | },
3100 | "repeat-string": {
3101 | "version": "1.6.1",
3102 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
3103 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
3104 | },
3105 | "request": {
3106 | "version": "2.87.0",
3107 | "resolved": "https://registry.npmjs.org/request/-/request-2.87.0.tgz",
3108 | "integrity": "sha512-fcogkm7Az5bsS6Sl0sibkbhcKsnyon/jV1kF3ajGmF0c8HrttdKTPRT9hieOaQHA5HEq6r8OyWOo/o781C1tNw==",
3109 | "requires": {
3110 | "aws-sign2": "~0.7.0",
3111 | "aws4": "^1.6.0",
3112 | "caseless": "~0.12.0",
3113 | "combined-stream": "~1.0.5",
3114 | "extend": "~3.0.1",
3115 | "forever-agent": "~0.6.1",
3116 | "form-data": "~2.3.1",
3117 | "har-validator": "~5.0.3",
3118 | "http-signature": "~1.2.0",
3119 | "is-typedarray": "~1.0.0",
3120 | "isstream": "~0.1.2",
3121 | "json-stringify-safe": "~5.0.1",
3122 | "mime-types": "~2.1.17",
3123 | "oauth-sign": "~0.8.2",
3124 | "performance-now": "^2.1.0",
3125 | "qs": "~6.5.1",
3126 | "safe-buffer": "^5.1.1",
3127 | "tough-cookie": "~2.3.3",
3128 | "tunnel-agent": "^0.6.0",
3129 | "uuid": "^3.1.0"
3130 | }
3131 | },
3132 | "resolve-url": {
3133 | "version": "0.2.1",
3134 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
3135 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
3136 | },
3137 | "ret": {
3138 | "version": "0.1.15",
3139 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
3140 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
3141 | },
3142 | "retry-axios": {
3143 | "version": "0.3.2",
3144 | "resolved": "https://registry.npmjs.org/retry-axios/-/retry-axios-0.3.2.tgz",
3145 | "integrity": "sha512-jp4YlI0qyDFfXiXGhkCOliBN1G7fRH03Nqy8YdShzGqbY5/9S2x/IR6C88ls2DFkbWuL3ASkP7QD3pVrNpPgwQ=="
3146 | },
3147 | "retry-request": {
3148 | "version": "3.3.2",
3149 | "resolved": "https://registry.npmjs.org/retry-request/-/retry-request-3.3.2.tgz",
3150 | "integrity": "sha512-WIiGp37XXDC6e7ku3LFoi7LCL/Gs9luGeeqvbPRb+Zl6OQMw4RCRfSaW+aLfE6lhz1R941UavE6Svl3Dm5xGIQ==",
3151 | "requires": {
3152 | "request": "^2.81.0",
3153 | "through2": "^2.0.0"
3154 | }
3155 | },
3156 | "safe-buffer": {
3157 | "version": "5.1.2",
3158 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
3159 | "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
3160 | },
3161 | "safe-regex": {
3162 | "version": "1.1.0",
3163 | "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
3164 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
3165 | "requires": {
3166 | "ret": "~0.1.10"
3167 | }
3168 | },
3169 | "safer-buffer": {
3170 | "version": "2.1.2",
3171 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
3172 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
3173 | },
3174 | "send": {
3175 | "version": "0.16.2",
3176 | "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz",
3177 | "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==",
3178 | "requires": {
3179 | "debug": "2.6.9",
3180 | "depd": "~1.1.2",
3181 | "destroy": "~1.0.4",
3182 | "encodeurl": "~1.0.2",
3183 | "escape-html": "~1.0.3",
3184 | "etag": "~1.8.1",
3185 | "fresh": "0.5.2",
3186 | "http-errors": "~1.6.2",
3187 | "mime": "1.4.1",
3188 | "ms": "2.0.0",
3189 | "on-finished": "~2.3.0",
3190 | "range-parser": "~1.2.0",
3191 | "statuses": "~1.4.0"
3192 | },
3193 | "dependencies": {
3194 | "debug": {
3195 | "version": "2.6.9",
3196 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
3197 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
3198 | "requires": {
3199 | "ms": "2.0.0"
3200 | }
3201 | },
3202 | "mime": {
3203 | "version": "1.4.1",
3204 | "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz",
3205 | "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ=="
3206 | }
3207 | }
3208 | },
3209 | "serve-static": {
3210 | "version": "1.13.2",
3211 | "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz",
3212 | "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==",
3213 | "requires": {
3214 | "encodeurl": "~1.0.2",
3215 | "escape-html": "~1.0.3",
3216 | "parseurl": "~1.3.2",
3217 | "send": "0.16.2"
3218 | }
3219 | },
3220 | "set-value": {
3221 | "version": "2.0.0",
3222 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
3223 | "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
3224 | "requires": {
3225 | "extend-shallow": "^2.0.1",
3226 | "is-extendable": "^0.1.1",
3227 | "is-plain-object": "^2.0.3",
3228 | "split-string": "^3.0.1"
3229 | },
3230 | "dependencies": {
3231 | "extend-shallow": {
3232 | "version": "2.0.1",
3233 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
3234 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
3235 | "requires": {
3236 | "is-extendable": "^0.1.0"
3237 | }
3238 | }
3239 | }
3240 | },
3241 | "setprototypeof": {
3242 | "version": "1.1.0",
3243 | "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
3244 | "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
3245 | },
3246 | "sha1": {
3247 | "version": "1.1.1",
3248 | "resolved": "https://registry.npmjs.org/sha1/-/sha1-1.1.1.tgz",
3249 | "integrity": "sha1-rdqnqTFo85PxnrKxUJFhjicA+Eg=",
3250 | "requires": {
3251 | "charenc": ">= 0.0.1",
3252 | "crypt": ">= 0.0.1"
3253 | }
3254 | },
3255 | "signal-exit": {
3256 | "version": "3.0.2",
3257 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
3258 | "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
3259 | },
3260 | "slash": {
3261 | "version": "1.0.0",
3262 | "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
3263 | "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
3264 | },
3265 | "snakeize": {
3266 | "version": "0.1.0",
3267 | "resolved": "https://registry.npmjs.org/snakeize/-/snakeize-0.1.0.tgz",
3268 | "integrity": "sha1-EMCI2LWOsHazIpu1oE4jLOEmQi0="
3269 | },
3270 | "snapdragon": {
3271 | "version": "0.8.2",
3272 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
3273 | "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
3274 | "requires": {
3275 | "base": "^0.11.1",
3276 | "debug": "^2.2.0",
3277 | "define-property": "^0.2.5",
3278 | "extend-shallow": "^2.0.1",
3279 | "map-cache": "^0.2.2",
3280 | "source-map": "^0.5.6",
3281 | "source-map-resolve": "^0.5.0",
3282 | "use": "^3.1.0"
3283 | },
3284 | "dependencies": {
3285 | "debug": {
3286 | "version": "2.6.9",
3287 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
3288 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
3289 | "requires": {
3290 | "ms": "2.0.0"
3291 | }
3292 | },
3293 | "define-property": {
3294 | "version": "0.2.5",
3295 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
3296 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
3297 | "requires": {
3298 | "is-descriptor": "^0.1.0"
3299 | }
3300 | },
3301 | "extend-shallow": {
3302 | "version": "2.0.1",
3303 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
3304 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
3305 | "requires": {
3306 | "is-extendable": "^0.1.0"
3307 | }
3308 | }
3309 | }
3310 | },
3311 | "snapdragon-node": {
3312 | "version": "2.1.1",
3313 | "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
3314 | "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
3315 | "requires": {
3316 | "define-property": "^1.0.0",
3317 | "isobject": "^3.0.0",
3318 | "snapdragon-util": "^3.0.1"
3319 | },
3320 | "dependencies": {
3321 | "define-property": {
3322 | "version": "1.0.0",
3323 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
3324 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
3325 | "requires": {
3326 | "is-descriptor": "^1.0.0"
3327 | }
3328 | },
3329 | "is-accessor-descriptor": {
3330 | "version": "1.0.0",
3331 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
3332 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
3333 | "requires": {
3334 | "kind-of": "^6.0.0"
3335 | }
3336 | },
3337 | "is-data-descriptor": {
3338 | "version": "1.0.0",
3339 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
3340 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
3341 | "requires": {
3342 | "kind-of": "^6.0.0"
3343 | }
3344 | },
3345 | "is-descriptor": {
3346 | "version": "1.0.2",
3347 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
3348 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
3349 | "requires": {
3350 | "is-accessor-descriptor": "^1.0.0",
3351 | "is-data-descriptor": "^1.0.0",
3352 | "kind-of": "^6.0.2"
3353 | }
3354 | }
3355 | }
3356 | },
3357 | "snapdragon-util": {
3358 | "version": "3.0.1",
3359 | "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
3360 | "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
3361 | "requires": {
3362 | "kind-of": "^3.2.0"
3363 | },
3364 | "dependencies": {
3365 | "kind-of": {
3366 | "version": "3.2.2",
3367 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3368 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3369 | "requires": {
3370 | "is-buffer": "^1.1.5"
3371 | }
3372 | }
3373 | }
3374 | },
3375 | "source-map": {
3376 | "version": "0.5.7",
3377 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
3378 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
3379 | },
3380 | "source-map-resolve": {
3381 | "version": "0.5.2",
3382 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
3383 | "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
3384 | "requires": {
3385 | "atob": "^2.1.1",
3386 | "decode-uri-component": "^0.2.0",
3387 | "resolve-url": "^0.2.1",
3388 | "source-map-url": "^0.4.0",
3389 | "urix": "^0.1.0"
3390 | }
3391 | },
3392 | "source-map-url": {
3393 | "version": "0.4.0",
3394 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
3395 | "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
3396 | },
3397 | "split-array-stream": {
3398 | "version": "2.0.0",
3399 | "resolved": "https://registry.npmjs.org/split-array-stream/-/split-array-stream-2.0.0.tgz",
3400 | "integrity": "sha512-hmMswlVY91WvGMxs0k8MRgq8zb2mSen4FmDNc5AFiTWtrBpdZN6nwD6kROVe4vNL+ywrvbCKsWVCnEd4riELIg==",
3401 | "requires": {
3402 | "is-stream-ended": "^0.1.4"
3403 | }
3404 | },
3405 | "split-string": {
3406 | "version": "3.1.0",
3407 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
3408 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
3409 | "requires": {
3410 | "extend-shallow": "^3.0.0"
3411 | }
3412 | },
3413 | "sshpk": {
3414 | "version": "1.14.2",
3415 | "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.2.tgz",
3416 | "integrity": "sha1-xvxhZIo9nE52T9P8306hBeSSupg=",
3417 | "requires": {
3418 | "asn1": "~0.2.3",
3419 | "assert-plus": "^1.0.0",
3420 | "bcrypt-pbkdf": "^1.0.0",
3421 | "dashdash": "^1.12.0",
3422 | "ecc-jsbn": "~0.1.1",
3423 | "getpass": "^0.1.1",
3424 | "jsbn": "~0.1.0",
3425 | "safer-buffer": "^2.0.2",
3426 | "tweetnacl": "~0.14.0"
3427 | }
3428 | },
3429 | "static-extend": {
3430 | "version": "0.1.2",
3431 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
3432 | "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
3433 | "requires": {
3434 | "define-property": "^0.2.5",
3435 | "object-copy": "^0.1.0"
3436 | },
3437 | "dependencies": {
3438 | "define-property": {
3439 | "version": "0.2.5",
3440 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
3441 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
3442 | "requires": {
3443 | "is-descriptor": "^0.1.0"
3444 | }
3445 | }
3446 | }
3447 | },
3448 | "statuses": {
3449 | "version": "1.4.0",
3450 | "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
3451 | "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew=="
3452 | },
3453 | "stream-events": {
3454 | "version": "1.0.4",
3455 | "resolved": "https://registry.npmjs.org/stream-events/-/stream-events-1.0.4.tgz",
3456 | "integrity": "sha512-D243NJaYs/xBN2QnoiMDY7IesJFIK7gEhnvAYqJa5JvDdnh2dC4qDBwlCf0ohPpX2QRlA/4gnbnPd3rs3KxVcA==",
3457 | "requires": {
3458 | "stubs": "^3.0.0"
3459 | }
3460 | },
3461 | "stream-shift": {
3462 | "version": "1.0.0",
3463 | "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
3464 | "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
3465 | },
3466 | "string-format-obj": {
3467 | "version": "1.1.1",
3468 | "resolved": "https://registry.npmjs.org/string-format-obj/-/string-format-obj-1.1.1.tgz",
3469 | "integrity": "sha512-Mm+sROy+pHJmx0P/0Bs1uxIX6UhGJGj6xDGQZ5zh9v/SZRmLGevp+p0VJxV7lirrkAmQ2mvva/gHKpnF/pTb+Q=="
3470 | },
3471 | "string-width": {
3472 | "version": "1.0.2",
3473 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
3474 | "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
3475 | "requires": {
3476 | "code-point-at": "^1.0.0",
3477 | "is-fullwidth-code-point": "^1.0.0",
3478 | "strip-ansi": "^3.0.0"
3479 | }
3480 | },
3481 | "string_decoder": {
3482 | "version": "1.1.1",
3483 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
3484 | "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
3485 | "requires": {
3486 | "safe-buffer": "~5.1.0"
3487 | }
3488 | },
3489 | "stringifier": {
3490 | "version": "1.3.0",
3491 | "resolved": "https://registry.npmjs.org/stringifier/-/stringifier-1.3.0.tgz",
3492 | "integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=",
3493 | "requires": {
3494 | "core-js": "^2.0.0",
3495 | "traverse": "^0.6.6",
3496 | "type-name": "^2.0.1"
3497 | }
3498 | },
3499 | "strip-ansi": {
3500 | "version": "3.0.1",
3501 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
3502 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
3503 | "requires": {
3504 | "ansi-regex": "^2.0.0"
3505 | }
3506 | },
3507 | "stubs": {
3508 | "version": "3.0.0",
3509 | "resolved": "https://registry.npmjs.org/stubs/-/stubs-3.0.0.tgz",
3510 | "integrity": "sha1-6NK6H6nJBXAwPAMLaQD31fiavls="
3511 | },
3512 | "through2": {
3513 | "version": "2.0.3",
3514 | "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz",
3515 | "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=",
3516 | "requires": {
3517 | "readable-stream": "^2.1.5",
3518 | "xtend": "~4.0.1"
3519 | }
3520 | },
3521 | "to-object-path": {
3522 | "version": "0.3.0",
3523 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
3524 | "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
3525 | "requires": {
3526 | "kind-of": "^3.0.2"
3527 | },
3528 | "dependencies": {
3529 | "kind-of": {
3530 | "version": "3.2.2",
3531 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
3532 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
3533 | "requires": {
3534 | "is-buffer": "^1.1.5"
3535 | }
3536 | }
3537 | }
3538 | },
3539 | "to-regex": {
3540 | "version": "3.0.2",
3541 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
3542 | "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
3543 | "requires": {
3544 | "define-property": "^2.0.2",
3545 | "extend-shallow": "^3.0.2",
3546 | "regex-not": "^1.0.2",
3547 | "safe-regex": "^1.1.0"
3548 | }
3549 | },
3550 | "to-regex-range": {
3551 | "version": "2.1.1",
3552 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
3553 | "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
3554 | "requires": {
3555 | "is-number": "^3.0.0",
3556 | "repeat-string": "^1.6.1"
3557 | }
3558 | },
3559 | "topo": {
3560 | "version": "1.1.0",
3561 | "resolved": "https://registry.npmjs.org/topo/-/topo-1.1.0.tgz",
3562 | "integrity": "sha1-6ddRYV0buH3IZdsYL6HKCl71NtU=",
3563 | "requires": {
3564 | "hoek": "2.x.x"
3565 | }
3566 | },
3567 | "tough-cookie": {
3568 | "version": "2.3.4",
3569 | "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.4.tgz",
3570 | "integrity": "sha512-TZ6TTfI5NtZnuyy/Kecv+CnoROnyXn2DN97LontgQpCwsX2XyLYCC0ENhYkehSOwAp8rTQKc/NUIF7BkQ5rKLA==",
3571 | "requires": {
3572 | "punycode": "^1.4.1"
3573 | }
3574 | },
3575 | "traverse": {
3576 | "version": "0.6.6",
3577 | "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz",
3578 | "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc="
3579 | },
3580 | "tslib": {
3581 | "version": "1.9.2",
3582 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.9.2.tgz",
3583 | "integrity": "sha512-AVP5Xol3WivEr7hnssHDsaM+lVrVXWUvd1cfXTRkTj80b//6g2wIFEH6hZG0muGZRnHGrfttpdzRk3YlBkWjKw=="
3584 | },
3585 | "tunnel-agent": {
3586 | "version": "0.6.0",
3587 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
3588 | "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
3589 | "requires": {
3590 | "safe-buffer": "^5.0.1"
3591 | }
3592 | },
3593 | "tweetnacl": {
3594 | "version": "0.14.5",
3595 | "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
3596 | "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
3597 | "optional": true
3598 | },
3599 | "type-is": {
3600 | "version": "1.6.16",
3601 | "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
3602 | "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
3603 | "requires": {
3604 | "media-typer": "0.3.0",
3605 | "mime-types": "~2.1.18"
3606 | }
3607 | },
3608 | "type-name": {
3609 | "version": "2.0.2",
3610 | "resolved": "https://registry.npmjs.org/type-name/-/type-name-2.0.2.tgz",
3611 | "integrity": "sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q="
3612 | },
3613 | "typedarray": {
3614 | "version": "0.0.6",
3615 | "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
3616 | "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
3617 | },
3618 | "union-value": {
3619 | "version": "1.0.0",
3620 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
3621 | "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
3622 | "requires": {
3623 | "arr-union": "^3.1.0",
3624 | "get-value": "^2.0.6",
3625 | "is-extendable": "^0.1.1",
3626 | "set-value": "^0.4.3"
3627 | },
3628 | "dependencies": {
3629 | "extend-shallow": {
3630 | "version": "2.0.1",
3631 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
3632 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
3633 | "requires": {
3634 | "is-extendable": "^0.1.0"
3635 | }
3636 | },
3637 | "set-value": {
3638 | "version": "0.4.3",
3639 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
3640 | "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
3641 | "requires": {
3642 | "extend-shallow": "^2.0.1",
3643 | "is-extendable": "^0.1.1",
3644 | "is-plain-object": "^2.0.1",
3645 | "to-object-path": "^0.3.0"
3646 | }
3647 | }
3648 | }
3649 | },
3650 | "unique-string": {
3651 | "version": "1.0.0",
3652 | "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
3653 | "integrity": "sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo=",
3654 | "requires": {
3655 | "crypto-random-string": "^1.0.0"
3656 | }
3657 | },
3658 | "universal-deep-strict-equal": {
3659 | "version": "1.2.2",
3660 | "resolved": "https://registry.npmjs.org/universal-deep-strict-equal/-/universal-deep-strict-equal-1.2.2.tgz",
3661 | "integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=",
3662 | "requires": {
3663 | "array-filter": "^1.0.0",
3664 | "indexof": "0.0.1",
3665 | "object-keys": "^1.0.0"
3666 | }
3667 | },
3668 | "unpipe": {
3669 | "version": "1.0.0",
3670 | "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
3671 | "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
3672 | },
3673 | "unset-value": {
3674 | "version": "1.0.0",
3675 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
3676 | "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
3677 | "requires": {
3678 | "has-value": "^0.3.1",
3679 | "isobject": "^3.0.0"
3680 | },
3681 | "dependencies": {
3682 | "has-value": {
3683 | "version": "0.3.1",
3684 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
3685 | "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
3686 | "requires": {
3687 | "get-value": "^2.0.3",
3688 | "has-values": "^0.1.4",
3689 | "isobject": "^2.0.0"
3690 | },
3691 | "dependencies": {
3692 | "isobject": {
3693 | "version": "2.1.0",
3694 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
3695 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
3696 | "requires": {
3697 | "isarray": "1.0.0"
3698 | }
3699 | }
3700 | }
3701 | },
3702 | "has-values": {
3703 | "version": "0.1.4",
3704 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
3705 | "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
3706 | }
3707 | }
3708 | },
3709 | "urix": {
3710 | "version": "0.1.0",
3711 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
3712 | "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
3713 | },
3714 | "use": {
3715 | "version": "3.1.0",
3716 | "resolved": "https://registry.npmjs.org/use/-/use-3.1.0.tgz",
3717 | "integrity": "sha512-6UJEQM/L+mzC3ZJNM56Q4DFGLX/evKGRg15UJHGB9X5j5Z3AFbgZvjUh2yq/UJUY4U5dh7Fal++XbNg1uzpRAw==",
3718 | "requires": {
3719 | "kind-of": "^6.0.2"
3720 | }
3721 | },
3722 | "util-deprecate": {
3723 | "version": "1.0.2",
3724 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
3725 | "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
3726 | },
3727 | "utils-merge": {
3728 | "version": "1.0.1",
3729 | "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
3730 | "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
3731 | },
3732 | "uuid": {
3733 | "version": "3.2.1",
3734 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz",
3735 | "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA=="
3736 | },
3737 | "vary": {
3738 | "version": "1.1.2",
3739 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
3740 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw="
3741 | },
3742 | "verror": {
3743 | "version": "1.10.0",
3744 | "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
3745 | "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
3746 | "requires": {
3747 | "assert-plus": "^1.0.0",
3748 | "core-util-is": "1.0.2",
3749 | "extsprintf": "^1.2.0"
3750 | }
3751 | },
3752 | "websocket-driver": {
3753 | "version": "0.7.0",
3754 | "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
3755 | "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
3756 | "requires": {
3757 | "http-parser-js": ">=0.4.0",
3758 | "websocket-extensions": ">=0.1.1"
3759 | }
3760 | },
3761 | "websocket-extensions": {
3762 | "version": "0.1.3",
3763 | "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
3764 | "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg=="
3765 | },
3766 | "window-size": {
3767 | "version": "0.1.4",
3768 | "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz",
3769 | "integrity": "sha1-+OGqHuWlPsW/FR/6CXQqatdpeHY="
3770 | },
3771 | "wrap-ansi": {
3772 | "version": "2.1.0",
3773 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
3774 | "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
3775 | "requires": {
3776 | "string-width": "^1.0.1",
3777 | "strip-ansi": "^3.0.1"
3778 | }
3779 | },
3780 | "wrappy": {
3781 | "version": "1.0.2",
3782 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
3783 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
3784 | },
3785 | "write-file-atomic": {
3786 | "version": "2.3.0",
3787 | "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.3.0.tgz",
3788 | "integrity": "sha512-xuPeK4OdjWqtfi59ylvVL0Yn35SF3zgcAcv7rBPFHVaEapaDr4GdGgm3j7ckTwH9wHL7fGmgfAnb0+THrHb8tA==",
3789 | "requires": {
3790 | "graceful-fs": "^4.1.11",
3791 | "imurmurhash": "^0.1.4",
3792 | "signal-exit": "^3.0.2"
3793 | }
3794 | },
3795 | "xdg-basedir": {
3796 | "version": "3.0.0",
3797 | "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
3798 | "integrity": "sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ="
3799 | },
3800 | "xtend": {
3801 | "version": "4.0.1",
3802 | "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
3803 | "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68="
3804 | },
3805 | "y18n": {
3806 | "version": "3.2.1",
3807 | "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz",
3808 | "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE="
3809 | },
3810 | "yallist": {
3811 | "version": "2.1.2",
3812 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
3813 | "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI="
3814 | },
3815 | "yargs": {
3816 | "version": "3.32.0",
3817 | "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz",
3818 | "integrity": "sha1-AwiOnr+edWtpdRYR0qXvWRSCyZU=",
3819 | "requires": {
3820 | "camelcase": "^2.0.1",
3821 | "cliui": "^3.0.3",
3822 | "decamelize": "^1.1.1",
3823 | "os-locale": "^1.4.0",
3824 | "string-width": "^1.0.1",
3825 | "window-size": "^0.1.4",
3826 | "y18n": "^3.2.0"
3827 | }
3828 | }
3829 | }
3830 | }
3831 |
--------------------------------------------------------------------------------
/functions/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "dialogflowFirebaseFulfillment",
3 | "description": "Sample showing how to connect Dialogflow to Firebase's Firestore database",
4 | "version": "0.0.1",
5 | "private": true,
6 | "license": "Apache Version 2.0",
7 | "author": "Google Inc.",
8 | "engines": {
9 | "node": "6"
10 | },
11 | "scripts": {
12 | "lint": "semistandard --fix \"**/*.js\"",
13 | "start": "firebase deploy --only functions",
14 | "deploy": "firebase deploy --only functions"
15 | },
16 | "dependencies": {
17 | "firebase-admin": "^6.0.0",
18 | "firebase-functions": "^2.0.5",
19 | "dialogflow-fulfillment": "0.5.0",
20 | "actions-on-google": "2.3.0"
21 | }
22 | }
23 |
--------------------------------------------------------------------------------