Socket
Socket
Sign inDemoInstall

@vonage/server-sdk

Package Overview
Dependencies
Maintainers
14
Versions
84
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vonage/server-sdk - npm Package Compare versions

Comparing version 2.10.5-beta-2 to 2.10.5

packages/auth/dist/auth.d.ts

39

CHANGELOG.md
# Changelog
All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).
## 2.10.6
### Fixed
* #432 - Fix new issue with host override.
## 2.10.4

@@ -95,37 +100,19 @@

## 2.7.0-beta-1
- ADDED: Change host via the config object, using `apiHost` & `restHost`
## 2.6.0
- ADDED: Change host via the config object, using `apiHost` & `restHost`
* ADDED: Change host via the config object, using `apiHost` & `restHost`
## 2.5.3
- FIXED: URI Encode Signed SMS Message
* FIXED: URI Encode Signed SMS Message
## 2.5.2
- ADDED: Pricing API support
* ADDED: Pricing API support
## 2.5.1
- ADDED: typings for Verify API
- ADDED: Applications API V2 support
## 2.6.0-beta-1
- Added beta2 API version for `get()` methods in `nexmo.users`, `nexmo.users.getConversations`, `nexmo.conversations`, `nexmo.conversations.members` and `nexmo.conversations.events`
- Added cursor pagination methods `next()` and `prev()` for `nexmo.users`, `nexmo.conversations`, `nexmo.conversations.members` and `nexmo.conversations.events`
- Added v1 API version for `nexmo.conversations.record()`
- Added the ability to change host for `nexmo.users`, `nexmo.conversations`, `nexmo.conversations.members` and `nexmo.conversations.events`
- Updated `nexmo.users.getConversations` to accept a query parameter
* ADDED: typings for Verify API
* ADDED: Applications API V2 support
## 2.5.4-beta-1
- Fix `applications.get` to use request query instead of request body
## 2.5.3-beta-3
- Fix application V2 parsing error responses
## 2.5.2-beta-1
- Add Conversation Recording
- Rename `nexmo.conversations.members.add` to `nexmo.conversations.members.create` with backwards compatibility
- Add Member Update and Deletions
- Add Event Creation, Retrieval and Deletion
## 2.4.2

@@ -132,0 +119,0 @@

@@ -8,4 +8,2 @@ "use strict";

var _index = _interopRequireDefault(require("./index"));
var _Utils = _interopRequireDefault(require("./Utils"));

@@ -33,5 +31,3 @@

this.creds = credentials;
this.options = options; // Used to facilitate testing of the call to the underlying object
this._vonage = this.options.vonageOverride || _index.default;
this.options = options;
}

@@ -245,2 +241,2 @@

module.exports = exports.default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9BcHAuanMiXSwibmFtZXMiOlsiQXBwIiwiUEFUSCIsImNvbnN0cnVjdG9yIiwiY3JlZGVudGlhbHMiLCJvcHRpb25zIiwiY3JlZHMiLCJfdm9uYWdlIiwidm9uYWdlT3ZlcnJpZGUiLCJ2b25hZ2UiLCJfY29udmVydE1ldGhvZFNpZ25hdHVyZSIsIm5hbWUiLCJ0eXBlIiwiYW5zd2VyVXJsIiwiZXZlbnRVcmwiLCJjYXBhYmlsaXR5Iiwidm9pY2UiLCJ3ZWJob29rcyIsImFuc3dlcl91cmwiLCJhZGRyZXNzIiwiaHR0cF9tZXRob2QiLCJldmVudF91cmwiLCJtZXNzYWdlcyIsImluYm91bmRfdXJsIiwic3RhdHVzX3VybCIsInJ0YyIsImNhcGFiaWxpdGllcyIsIl9jb252ZXJ0QXBwbGljYXRpb25SZXNwb25zZSIsImFwcGxpY2F0aW9uIiwid2ViaG9vayIsInB1c2giLCJlbmRwb2ludF90eXBlIiwiZW5kcG9pbnQiLCJfY29udmVydEFwcGxpY2F0aW9uTGlzdFJlc3BvbnNlIiwiYXBwbGljYXRpb25SZXNwb25zZUhhbmRsZXIiLCJyZXNwb25zZSIsImNvdW50IiwidG90YWxfaXRlbXMiLCJwYWdlX2luZGV4IiwicGFnZSIsImkiLCJfZW1iZWRkZWQiLCJhcHBsaWNhdGlvbnMiLCJjcmVhdGUiLCJjYWxsYmFjayIsInBhcmFtcyIsInJlc3BvbnNlUGFyc2VyIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiSlNPTiIsInN0cmluZ2lmeSIsImF1dGhvcml6YXRpb24iLCJhcGlLZXkiLCJhcGlTZWNyZXQiLCJjb25maWciLCJob3N0IiwiYXBpSG9zdCIsInBhdGgiLCJtZXRob2QiLCJib2R5IiwiaGVhZGVycyIsIkF1dGhvcml6YXRpb24iLCJCdWZmZXIiLCJmcm9tIiwidG9TdHJpbmciLCJodHRwQ2xpZW50IiwicmVxdWVzdCIsImdldCIsInYyIiwiVXRpbHMiLCJjcmVhdGVQYXRoV2l0aFF1ZXJ5IiwidW5kZWZpbmVkIiwidXBkYXRlIiwiYXBwSWQi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LE1BQUFBLElBQUksWUFBS3hELEdBQUcsQ0FBQ0MsSUFBVCxjQUFpQnVFLEtBQWpCLENBRk87QUFHWGYsTUFBQUEsTUFBTSxFQUFFLFFBSEc7QUFJWEMsTUFBQUEsSUFBSSxFQUFFLElBSks7QUFLWEMsTUFBQUEsT0FBTyxFQUFFO0FBQ1Asd0JBQWdCLGtCQURUO0FBRVBDLFFBQUFBLGFBQWEsa0JBQVdDLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZWixhQUFaLEVBQTJCYSxRQUEzQixDQUFvQyxRQUFwQyxDQUFYO0FBRk47QUFMRSxLQUFiO0FBV0EsU0FBSzNELE9BQUwsQ0FBYTRELFVBQWIsQ0FBd0JDLE9BQXhCLENBQWdDWixNQUFoQyxFQUF3Q1YsUUFBeEM7QUFDRDs7QUFwUE87O2VBdVBLM0MsRyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgdm9uYWdlIGZyb20gXCIuL2luZGV4XCI7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4vVXRpbHNcIjtcblxuY2xhc3MgQXBwIHtcbiAgLyoqXG4gICAqIFByb3ZpZGVzIGFjY2VzcyB0byB0aGUgYGFwcGxpY2F0aW9uc2AgdmVyc2lvbiAyIGVuZHBvaW50LlxuICAgKi9cbiAgc3RhdGljIGdldCBQQVRIKCkge1xuICAgIHJldHVybiBcIi92Mi9hcHBsaWNhdGlvbnNcIjtcbiAgfVxuICAvKipcbiAgICogQHBhcmFtIHtDcmVkZW50aWFsc30gY3JlZGVudGlhbHNcbiAgICogICAgY3JlZGVudGlhbHMgdG8gYmUgdXNlZCB3aGVuIGludGVyYWN0aW5nIHdpdGggdGhlIEFQSS5cbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnNcbiAgICogICAgQWRkaXRpb24gQXBwIG9wdGlvbnMuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihjcmVkZW50aWFscywgb3B0aW9ucyA9IHt9KSB7XG4gICAgdGhpcy5jcmVkcyA9IGNyZWRlbnRpYWxzO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG5cbiAgICAvLyBVc2VkIHRvIGZhY2lsaXRhdGUgdGVzdGluZyBvZiB0aGUgY2FsbCB0byB0aGUgdW5kZXJseWluZyBvYmplY3RcbiAgICB0aGlzLl92b25hZ2UgPSB0aGlzLm9wdGlvbnMudm9uYWdlT3ZlcnJpZGUgfHwgdm9uYWdlO1xuICB9XG5cbiAgX2NvbnZlcnRNZXRob2RTaWduYXR1cmUobmFtZSwgdHlwZSwgYW5zd2VyVXJsLCBldmVudFVybCwgb3B0aW9ucykge1xuICAgIGxldCBjYXBhYmlsaXR5ID0ge307XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFwidm9pY2VcIjpcbiAgICAgICAgY2FwYWJpbGl0eSA9IHtcbiAgICAgICAgICB2b2ljZToge1xuICAgICAgICAgICAgd2ViaG9va3M6IHtcbiAgICAgICAgICAgICAgYW5zd2VyX3VybDoge1xuICAgICAgICAgICAgICAgIGFkZHJlc3M6IGFuc3dlclVybCxcbiAgICAgICAgICAgICAgICBodHRwX21ldGhvZDogXCJHRVRcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBldmVudF91cmw6IHtcbiAgICAgICAgICAgICAgICBhZGRyZXNzOiBldmVudFVybCxcbiAgICAgICAgICAgICAgICBodHRwX21ldGhvZDogXCJQT1NUXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwibWVzc2FnZXNcIjpcbiAgICAgICAgY2FwYWJpbGl0eSA9IHtcbiAgICAgICAgICBtZXNzYWdlczoge1xuICAgICAgICAgICAgd2ViaG9va3M6IHtcbiAgICAgICAgICAgICAgaW5ib3VuZF91cmw6IHtcbiAgICAgICAgICAgICAgICBhZGRyZXNzOiBvcHRpb25zLmluYm91bmRfdXJsLFxuICAgICAgICAgICAgICAgIGh0dHBfbWV0aG9kOiBcIlBPU1RcIlxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBzdGF0dXNfdXJsOiB7XG4gICAgICAgICAgICAgICAgYWRkcmVzczogb3B0aW9ucy5zdGF0dXNfdXJsLFxuICAgICAgICAgICAgICAgIGh0dHBfbWV0aG9kOiBcIlBPU1RcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJydGNcIjpcbiAgICAgICAgY2FwYWJpbGl0eSA9IHtcbiAgICAgICAgICBydGM6IHtcbiAgICAgICAgICAgIHdlYmhvb2tzOiB7XG4gICAgICAgICAgICAgIGV2ZW50X3VybDoge1xuICAgICAgICAgICAgICAgIGFkZHJlc3M6IGV2ZW50VXJsLFxuICAgICAgICAgICAgICAgIGh0dHBfbWV0aG9kOiBcIlBPU1RcIlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmFtZTogbmFtZSxcbiAgICAgIGNhcGFiaWxpdGllczogY2FwYWJpbGl0eVxuICAgIH07XG4gIH1cblxuICBfY29udmVydEFwcGxpY2F0aW9uUmVzcG9uc2UoYXBwbGljYXRpb24pIHtcbiAgICBmb3IgKGxldCBjYXBhYmlsaXR5IGluIGFwcGxpY2F0aW9uLmNhcGFiaWxpdGllcykge1xuICAgICAgYXBwbGljYXRpb25bY2FwYWJpbGl0eV0gPSB7XG4gICAgICAgIHdlYmhvb2tzOiBbXVxuICAgICAgfTtcbiAgICAgIGZvciAobGV0IHdlYmhvb2sgaW4gYXBwbGljYXRpb24uY2FwYWJpbGl0aWVzW2NhcGFiaWxpdHldLndlYmhvb2tzKSB7XG4gICAgICAgIGFwcGxpY2F0aW9uW2NhcGFiaWxpdHldLndlYmhvb2tzLnB1c2goe1xuICAgICAgICAgIGVuZHBvaW50X3R5cGU6IHdlYmhvb2ssXG4gICAgICAgICAgZW5kcG9pbnQ6XG4gICAgICAgICAgICBhcHBsaWNhdGlvbi5jYXBhYmlsaXRpZXNbY2FwYWJpbGl0eV0ud2ViaG9va3Nbd2ViaG9va10uYWRkcmVzcyxcbiAgICAgICAgICBodHRwX21ldGhvZDpcbiAgICAgICAgICAgIGFwcGxpY2F0aW9uLmNhcGFiaWxpdGllc1tjYXBhYmlsaXR5XS53ZWJob29rc1t3ZWJob29rXS5odHRwX21ldGhvZFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkZWxldGUgYXBwbGljYXRpb24uY2FwYWJpbGl0aWVzO1xuICAgIHJldHVybiBhcHBsaWNhdGlvbjtcbiAgfVxuXG4gIF9jb252ZXJ0QXBwbGljYXRpb25MaXN0UmVzcG9uc2UoYXBwbGljYXRpb25SZXNwb25zZUhhbmRsZXIpIHtcbiAgICByZXR1cm4gcmVzcG9uc2UgPT4ge1xuICAgICAgcmVzcG9uc2UuY291bnQgPSByZXNwb25zZS50b3RhbF9pdGVtcztcbiAgICAgIHJlc3BvbnNlLnBhZ2VfaW5kZXggPSByZXNwb25zZS5wYWdlO1xuICAgICAgZm9yIChsZXQgaSBpbiByZXNwb25zZS5fZW1iZWRkZWQuYXBwbGljYXRpb25zKSB7XG4gICAgICAgIHJlc3BvbnNlLl9lbWJlZGRlZC5hcHBsaWNhdGlvbnNbaV0gPSBhcHBsaWNhdGlvblJlc3BvbnNlSGFuZGxlcihcbiAgICAgICAgICByZXNwb25zZS5fZW1iZWRkZWQuYXBwbGljYXRpb25zW2ldXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFRPRE86IGRvY3VtZW50XG4gICAqL1xuICBjcmVhdGUobmFtZSwgdHlwZSwgYW5zd2VyVXJsLCBldmVudFVybCwgb3B0aW9ucywgY2FsbGJhY2spIHtcbiAgICBsZXQgcGFyYW1zID0ge307XG4gICAgbGV0IHJlc3BvbnNlUGFyc2VyID0gbnVsbDtcblxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMikge1xuICAgICAgcGFyYW1zID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHRoaXMuX2NvbnZlcnRNZXRob2RTaWduYXR1cmUobmFtZSwgdHlwZSwgYW5zd2VyVXJsLCBldmVudFVybCwgb3B0aW9ucylcbiAgICAgICk7XG4gICAgICByZXNwb25zZVBhcnNlciA9IHRoaXMuX2NvbnZlcnRBcHBsaWNhdGlvblJlc3BvbnNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJhbXMgPSBKU09OLnN0cmluZ2lmeShuYW1lKTtcbiAgICAgIGNhbGxiYWNrID0gdHlwZTtcbiAgICB9XG5cbiAgICBjb25zdCBhdXRob3JpemF0aW9uID0gYCR7dGhpcy5jcmVkcy5hcGlLZXl9OiR7dGhpcy5jcmVkcy5hcGlTZWNyZXR9YDtcblxuICAgIHZhciBjb25maWcgPSB7XG4gICAgICBob3N0OiB0aGlzLm9wdGlvbnMuYXBpSG9zdCB8fCBcImFwaS5uZXhtby5jb21cIixcbiAgICAgIHBhdGg6IEFwcC5QQVRILFxuICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgIEF1dGhvcml6YXRpb246IGBCYXNpYyAke0J1ZmZlci5mcm9tKGF1dGhvcml6YXRpb24pLnRvU3RyaW5nKFwiYmFzZTY0XCIpfWBcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5vcHRpb25zLmh0dHBDbGllbnQucmVxdWVzdChcbiAgICAgIGNvbmZpZyxcbiAgICAgIGNhbGxiYWNrLFxuICAgICAgY2FsbGJhY2ssXG4gICAgICBmYWxzZSxcbiAgICAgIHJlc3BvbnNlUGFyc2VyXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPOiBkb2N1bWVudFxuICAgKi9cbiAgZ2V0KHBhcmFtcywgY2FsbGJhY2ssIHYyID0gZmFsc2UpIHtcbiAgICBjb25zdCBhdXRob3JpemF0aW9uID0gYCR7dGhpcy5jcmVkcy5hcGlLZXl9OiR7dGhpcy5jcmVkcy5hcGlTZWNyZXR9YDtcbiAgICBsZXQgcmVzcG9uc2VQYXJzZXIgPSBudWxsO1xuXG4gICAgaWYgKHR5cGVvZiBwYXJhbXMgIT09IFwib2JqZWN0XCIpIHtcbiAgICAgIHJlc3BvbnNlUGFyc2VyID0gdGhpcy5fY29udmVydEFwcGxpY2F0aW9uUmVzcG9uc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3BvbnNlUGFyc2VyID0gdGhpcy5fY29udmVydEFwcGxpY2F0aW9uTGlzdFJlc3BvbnNlKFxuICAgICAgICB0aGlzLl9jb252ZXJ0QXBwbGljYXRpb25SZXNwb25zZVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodjIpIHtcbiAgICAgIHJlc3BvbnNlUGFyc2VyID0gbnVsbDtcbiAgICB9XG5cbiAgICB2YXIgY29uZmlnID0ge1xuICAgICAgaG9zdDogdGhpcy5vcHRpb25zLmFwaUhvc3QgfHwgXCJhcGkubmV4bW8uY29tXCIsXG4gICAgICBwYXRoOiBVdGlscy5jcmVhdGVQYXRoV2l0aFF1ZXJ5KEFwcC5QQVRILCBwYXJhbXMpLFxuICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgYm9keTogdW5kZWZpbmVkLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgQXV0aG9yaXphdGlvbjogYEJhc2ljICR7QnVmZmVyLmZyb20oYXV0aG9yaXphdGlvbikudG9TdHJpbmcoXCJiYXNlNjRcIil9YFxuICAgICAgfVxuICAgIH07XG5cbiAgICB0aGlzLm9wdGlvbnMuaHR0cENsaWVudC5yZXF1ZXN0KFxuICAgICAgY29uZmlnLFxuICAgICAgY2FsbGJhY2ssXG4gICAgICBjYWxsYmFjayxcbiAgICAgIGZhbHNlLFxuICAgICAgcmVzcG9uc2VQYXJzZXJcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFRPRE86IGRvY3VtZW50XG4gICAqL1xuICB1cGRhdGUoYXBwSWQsIG5hbWUsIHR5cGUsIGFuc3dlclVybCwgZXZlbnRVcmwsIG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gICAgbGV0IHBhcmFtcyA9IHt9O1xuICAgIGxldCByZXNwb25zZVBhcnNlciA9IG51bGw7XG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPiAzKSB7XG4gICAgICBwYXJhbXMgPSBKU09OLnN0cmluZ2lmeShcbiAgICAgICAgdGhpcy5fY29udmVydE1ldGhvZFNpZ25hdHVyZShuYW1lLCB0eXBlLCBhbnN3ZXJVcmwsIGV2ZW50VXJsLCBvcHRpb25zKVxuICAgICAgKTtcbiAgICAgIHJlc3BvbnNlUGFyc2VyID0gdGhpcy5fY29udmVydEFwcGxpY2F0aW9uUmVzcG9uc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcmFtcyA9IEpTT04uc3RyaW5naWZ5KG5hbWUpO1xuICAgICAgY2FsbGJhY2sgPSB0eXBlO1xuICAgIH1cblxuICAgIGNvbnN0IGF1dGhvcml6YXRpb24gPSBgJHt0aGlzLmNyZWRzLmFwaUtleX06JHt0aGlzLmNyZWRzLmFwaVNlY3JldH1gO1xuXG4gICAgdmFyIGNvbmZpZyA9IHtcbiAgICAgIGhvc3Q6IHRoaXMub3B0aW9ucy5hcGlIb3N0IHx8IFwiYXBpLm5leG1vLmNvbVwiLFxuICAgICAgcGF0aDogYCR7QXBwLlBBVEh9LyR7YXBwSWR9YCxcbiAgICAgIG1ldGhvZDogXCJQVVRcIixcbiAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgIEF1dGhvcml6YXRpb246IGBCYXNpYyAke0J1ZmZlci5mcm9tKGF1dGhvcml6YXRpb24pLnRvU3RyaW5nKFwiYmFzZTY0XCIpfWBcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5vcHRpb25zLmh0dHBDbGllbnQucmVxdWVzdChcbiAgICAgIGNvbmZpZyxcbiAgICAgIGNhbGxiYWNrLFxuICAgICAgY2FsbGJhY2ssXG4gICAgICBmYWxzZSxcbiAgICAgIHJlc3BvbnNlUGFyc2VyXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPOiBkb2N1bWVudFxuICAgKi9cbiAgZGVsZXRlKGFwcElkLCBjYWxsYmFjaykge1xuICAgIGNvbnN0IGF1dGhvcml6YXRpb24gPSBgJHt0aGlzLmNyZWRzLmFwaUtleX06JHt0aGlzLmNyZWRzLmFwaVNlY3JldH1gO1xuXG4gICAgdmFyIGNvbmZpZyA9IHtcbiAgICAgIGhvc3Q6IHRoaXMub3B0aW9ucy5hcGlIb3N0IHx8IFwiYXBpLm5leG1vLmNvbVwiLFxuICAgICAgcGF0aDogYCR7QXBwLlBBVEh9LyR7YXBwSWR9YCxcbiAgICAgIG1ldGhvZDogXCJERUxFVEVcIixcbiAgICAgIGJvZHk6IFwie31cIixcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgIEF1dGhvcml6YXRpb246IGBCYXNpYyAke0J1ZmZlci5mcm9tKGF1dGhvcml6YXRpb24pLnRvU3RyaW5nKFwiYmFzZTY0XCIpfWBcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5vcHRpb25zLmh0dHBDbGllbnQucmVxdWVzdChjb25maWcsIGNhbGxiYWNrKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBBcHA7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9BcHAuanMiXSwibmFtZXMiOlsiQXBwIiwiUEFUSCIsImNvbnN0cnVjdG9yIiwiY3JlZGVudGlhbHMiLCJvcHRpb25zIiwiY3JlZHMiLCJfY29udmVydE1ldGhvZFNpZ25hdHVyZSIsIm5hbWUiLCJ0eXBlIiwiYW5zd2VyVXJsIiwiZXZlbnRVcmwiLCJjYXBhYmlsaXR5Iiwidm9pY2UiLCJ3ZWJob29rcyIsImFuc3dlcl91cmwiLCJhZGRyZXNzIiwiaHR0cF9tZXRob2QiLCJldmVudF91cmwiLCJtZXNzYWdlcyIsImluYm91bmRfdXJsIiwic3RhdHVzX3VybCIsInJ0YyIsImNhcGFiaWxpdGllcyIsIl9jb252ZXJ0QXBwbGljYXRpb25SZXNwb25zZSIsImFwcGxpY2F0aW9uIiwid2ViaG9vayIsInB1c2giLCJlbmRwb2ludF90eXBlIiwiZW5kcG9pbnQiLCJfY29udmVydEFwcGxpY2F0aW9uTGlzdFJlc3BvbnNlIiwiYXBwbGljYXRpb25SZXNwb25zZUhhbmRsZXIiLCJyZXNwb25zZSIsImNvdW50IiwidG90YWxfaXRlbXMiLCJwYWdlX2luZGV4IiwicGFnZSIsImkiLCJfZW1iZWRkZWQiLCJhcHBsaWNhdGlvbnMiLCJjcmVhdGUiLCJjYWxsYmFjayIsInBhcmFtcyIsInJlc3BvbnNlUGFyc2VyIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiSlNPTiIsInN0cmluZ2lmeSIsImF1dGhvcml6YXRpb24iLCJhcGlLZXkiLCJhcGlTZWNyZXQiLCJjb25maWciLCJob3N0IiwiYXBpSG9zdCIsInBhdGgiLCJtZXRob2QiLCJib2R5IiwiaGVhZGVycyIsIkF1dGhvcml6YXRpb24iLCJCdWZmZXIiLCJmcm9tIiwidG9TdHJpbmciLCJodHRwQ2xpZW50IiwicmVxdWVzdCIsImdldCIsInYyIiwiVXRpbHMiLCJjcmVhdGVQYXRoV2l0aFF1ZXJ5IiwidW5kZWZpbmVkIiwidXBkYXRlIiwiYXBwSWQiLCJkZWxldGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0FBRUE7Ozs7QUFFQSxNQUFNQSxHQUFOLENBQVU7QUFDUjtBQUNGO0FBQ0E7QUFDRSxhQUFXQyxJQUFYLEdBQWtCO0FBQ2hCLFdBQU8sa0JBQVA7QUFDRDtBQUNEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0VDLEVBQUFBLFdBQVcsQ0FBQ0MsV0FBRCxFQUE0QjtBQUFBLFFBQWRDLE9BQWMsdUVBQUosRUFBSTtBQUNyQyxTQUFLQyxLQUFMLEdBQWFGLFdBQWI7QUFDQSxTQUFLQyxPQUFMLEdBQWVBLE9BQWY7QUFDRDs7QUFFREUsRUFBQUEsdUJBQXVCLENBQUNDLElBQUQsRUFBT0MsSUFBUCxFQUFhQyxTQUFiLEVBQXdCQyxRQUF4QixFQUFrQ04sT0FBbEMsRUFBMkM7QUFDaEUsUUFBSU8sVUFBVSxHQUFHLEVBQWpCOztBQUNBLFlBQVFILElBQVI7QUFDRSxXQUFLLE9BQUw7QUFDRUcsUUFBQUEsVUFBVSxHQUFHO0FBQ1hDLFVBQUFBLEtBQUssRUFBRTtBQUNMQyxZQUFBQSxRQUFRLEVBQUU7QUFDUkMsY0FBQUEsVUFBVSxFQUFFO0FBQ1ZDLGdCQUFBQSxPQUFPLEVBQUVOLFNBREM7QUFFVk8sZ0JBQUFBLFdBQVcsRUFBRTtBQUZILGVBREo7QUFLUkMsY0FBQUEsU0FBUyxFQUFFO0FBQ1RGLGdCQUFBQSxPQUFPLEVBQUVMLFFBREE7QUFFVE0sZ0JBQUFBLFdBQVcsRUFBRTtBQUZKO0FBTEg7QUFETDtBQURJLFNBQWI7QUFjQTs7QUFDRixXQUFLLFVBQUw7QUFDRUwsUUFBQUEsVUFBVSxHQUFHO0FBQ1hPLFVBQUFBLFFBQVEsRUFBRTtBQUNSTCxZQUFBQSxRQUFRLEVBQUU7QUFDUk0sY0FBQUEsV0FBVyxFQUFFO0FBQ1hKLGdCQUFBQSxPQUFPLEVBQUVYLE9BQU8sQ0FBQ2UsV0FETjtBQUVYSCxnQkFBQUEsV0FBVyxFQUFFO0FBRkYsZUFETDtBQUtSSSxjQUFBQSxVQUFVLEVBQUU7QUFDVkwsZ0JBQUFBLE9BQU8sRUFBRVgsT0FBTyxDQUFDZ0IsVUFEUDtBQUVWSixnQkFBQUEsV0FBVyxFQUFFO0FBRkg7QUFMSjtBQURGO0FBREMsU0FBYjtBQWNBOztBQUNGLFdBQUssS0FBTDtBQUNFTCxRQUFBQSxVQUFVLEdBQUc7QUFDWFUsVUFBQUEsR0FBRyxFQUFFO0FBQ0hSLFlBQUFBLFFBQVEsRUFBRTtBQUNSSSxjQUFBQSxTQUFTLEVBQUU7QUFDVEYsZ0JBQUFBLE9BQU8sRUFBRUwsUUFEQTtBQUVUTSxnQkFBQUEsV0FBVyxFQUFFO0FBRko7QUFESDtBQURQO0FBRE0sU0FBYjtBQVVBO0FBNUNKOztBQStDQSxXQUFPO0FBQ0xULE1BQUFBLElBQUksRUFBRUEsSUFERDtBQUVMZSxNQUFBQSxZQUFZLEVBQUVYO0FBRlQsS0FBUDtBQUlEOztBQUVEWSxFQUFBQSwyQkFBMkIsQ0FBQ0MsV0FBRCxFQUFjO0FBQ3ZDLFNBQUssSUFBSWIsVUFBVCxJQUF1QmEsV0FBVyxDQUFDRixZQUFuQyxFQUFpRDtBQUMvQ0UsTUFBQUEsV0FBVyxDQUFDYixVQUFELENBQVgsR0FBMEI7QUFDeEJFLFFBQUFBLFFBQVEsRUFBRTtBQURjLE9BQTFCOztBQUdBLFdBQUssSUFBSVksT0FBVCxJQUFvQkQsV0FBVyxDQUFDRixZQUFaLENBQXlCWCxVQUF6QixFQUFxQ0UsUUFBekQsRUFBbUU7QUFDakVXLFFBQUFBLFdBQVcsQ0FBQ2IsVUFBRCxDQUFYLENBQXdCRSxRQUF4QixDQUFpQ2EsSUFBakMsQ0FBc0M7QUFDcENDLFVBQUFBLGFBQWEsRUFBRUYsT0FEcUI7QUFFcENHLFVBQUFBLFFBQVEsRUFDTkosV0FBVyxDQUFDRixZQUFaLENBQXlCWCxVQUF6QixFQUFxQ0UsUUFBckMsQ0FBOENZLE9BQTlDLEVBQXVEVixPQUhyQjtBQUlwQ0MsVUFBQUEsV0FBVyxFQUNUUSxXQUFXLENBQUNGLFlBQVosQ0FBeUJYLFVBQXpCLEVBQXFDRSxRQUFyQyxDQUE4Q1ksT0FBOUMsRUFBdURUO0FBTHJCLFNBQXRDO0FBT0Q7QUFDRjs7QUFFRCxXQUFPUSxXQUFXLENBQUNGLFlBQW5CO0FBQ0EsV0FBT0UsV0FBUDtBQUNEOztBQUVESyxFQUFBQSwrQkFBK0IsQ0FBQ0MsMEJBQUQsRUFBNkI7QUFDMUQsV0FBT0MsUUFBUSxJQUFJO0FBQ2pCQSxNQUFBQSxRQUFRLENBQUNDLEtBQVQsR0FBaUJELFFBQVEsQ0FBQ0UsV0FBMUI7QUFDQUYsTUFBQUEsUUFBUSxDQUFDRyxVQUFULEdBQXNCSCxRQUFRLENBQUNJLElBQS9COztBQUNBLFdBQUssSUFBSUMsQ0FBVCxJQUFjTCxRQUFRLENBQUNNLFNBQVQsQ0FBbUJDLFlBQWpDLEVBQStDO0FBQzdDUCxRQUFBQSxRQUFRLENBQUNNLFNBQVQsQ0FBbUJDLFlBQW5CLENBQWdDRixDQUFoQyxJQUFxQ04sMEJBQTBCLENBQzdEQyxRQUFRLENBQUNNLFNBQVQsQ0FBbUJDLFlBQW5CLENBQWdDRixDQUFoQyxDQUQ2RCxDQUEvRDtBQUdEOztBQUVELGFBQU9MLFFBQVA7QUFDRCxLQVZEO0FBV0Q7QUFFRDtBQUNGO0FBQ0E7OztBQUNFUSxFQUFBQSxNQUFNLENBQUNoQyxJQUFELEVBQU9DLElBQVAsRUFBYUMsU0FBYixFQUF3QkMsUUFBeEIsRUFBa0NOLE9BQWxDLEVBQTJDb0MsUUFBM0MsRUFBcUQ7QUFDekQsUUFBSUMsTUFBTSxHQUFHLEVBQWI7QUFDQSxRQUFJQyxjQUFjLEdBQUcsSUFBckI7O0FBRUEsUUFBSUMsU0FBUyxDQUFDQyxNQUFWLEdBQW1CLENBQXZCLEVBQTBCO0FBQ3hCSCxNQUFBQSxNQUFNLEdBQUdJLElBQUksQ0FBQ0MsU0FBTCxDQUNQLEtBQUt4Qyx1QkFBTCxDQUE2QkMsSUFBN0IsRUFBbUNDLElBQW5DLEVBQXlDQyxTQUF6QyxFQUFvREMsUUFBcEQsRUFBOEROLE9BQTlELENBRE8sQ0FBVDtBQUdBc0MsTUFBQUEsY0FBYyxHQUFHLEtBQUtuQiwyQkFBdEI7QUFDRCxLQUxELE1BS087QUFDTGtCLE1BQUFBLE1BQU0sR0FBR0ksSUFBSSxDQUFDQyxTQUFMLENBQWV2QyxJQUFmLENBQVQ7QUFDQWlDLE1BQUFBLFFBQVEsR0FBR2hDLElBQVg7QUFDRDs7QUFFRCxRQUFNdUMsYUFBYSxhQUFNLEtBQUsxQyxLQUFMLENBQVcyQyxNQUFqQixjQUEyQixLQUFLM0MsS0FBTCxDQUFXNEMsU0FBdEMsQ0FBbkI7QUFFQSxRQUFJQyxNQUFNLEdBQUc7QUFDWEMsTUFBQUEsSUFBSSxFQUFFLEtBQUsvQyxPQUFMLENBQWFnRCxPQUFiLElBQXdCLGVBRG5CO0FBRVhDLE1BQUFBLElBQUksRUFBRXJELEdBQUcsQ0FBQ0MsSUFGQztBQUdYcUQsTUFBQUEsTUFBTSxFQUFFLE1BSEc7QUFJWEMsTUFBQUEsSUFBSSxFQUFFZCxNQUpLO0FBS1hlLE1BQUFBLE9BQU8sRUFBRTtBQUNQLHdCQUFnQixrQkFEVDtBQUVQQyxRQUFBQSxhQUFhLGtCQUFXQyxNQUFNLENBQUNDLElBQVAsQ0FBWVosYUFBWixFQUEyQmEsUUFBM0IsQ0FBb0MsUUFBcEMsQ0FBWDtBQUZOO0FBTEUsS0FBYjtBQVdBLFNBQUt4RCxPQUFMLENBQWF5RCxVQUFiLENBQXdCQyxPQUF4QixDQUNFWixNQURGLEVBRUVWLFFBRkYsRUFHRUEsUUFIRixFQUlFLEtBSkYsRUFLRUUsY0FMRjtBQU9EO0FBRUQ7QUFDRjtBQUNBOzs7QUFDRXFCLEVBQUFBLEdBQUcsQ0FBQ3RCLE1BQUQsRUFBU0QsUUFBVCxFQUErQjtBQUFBLFFBQVp3QixFQUFZLHVFQUFQLEtBQU87QUFDaEMsUUFBTWpCLGFBQWEsYUFBTSxLQUFLMUMsS0FBTCxDQUFXMkMsTUFBakIsY0FBMkIsS0FBSzNDLEtBQUwsQ0FBVzRDLFNBQXRDLENBQW5CO0FBQ0EsUUFBSVAsY0FBYyxHQUFHLElBQXJCOztBQUVBLFFBQUksT0FBT0QsTUFBUCxLQUFrQixRQUF0QixFQUFnQztBQUM5QkMsTUFBQUEsY0FBYyxHQUFHLEtBQUtuQiwyQkFBdEI7QUFDRCxLQUZELE1BRU87QUFDTG1CLE1BQUFBLGNBQWMsR0FBRyxLQUFLYiwrQkFBTCxDQUNmLEtBQUtOLDJCQURVLENBQWpCO0FBR0Q7O0FBRUQsUUFBSXlDLEVBQUosRUFBUTtBQUNOdEIsTUFBQUEsY0FBYyxHQUFHLElBQWpCO0FBQ0Q7O0FBRUQsUUFBSVEsTUFBTSxHQUFHO0FBQ1hDLE1BQUFBLElBQUksRUFBRSxLQUFLL0MsT0FBTCxDQUFhZ0QsT0FBYixJQUF3QixlQURuQjtBQUVYQyxNQUFBQSxJQUFJLEVBQUVZLGVBQU1DLG1CQUFOLENBQTBCbEUsR0FBRyxDQUFDQyxJQUE5QixFQUFvQ3dDLE1BQXBDLENBRks7QUFHWGEsTUFBQUEsTUFBTSxFQUFFLEtBSEc7QUFJWEMsTUFBQUEsSUFBSSxFQUFFWSxTQUpLO0FBS1hYLE1BQUFBLE9BQU8sRUFBRTtBQUNQLHdCQUFnQixrQkFEVDtBQUVQQyxRQUFBQSxhQUFhLGtCQUFXQyxNQUFNLENBQUNDLElBQVAsQ0FBWVosYUFBWixFQUEyQmEsUUFBM0IsQ0FBb0MsUUFBcEMsQ0FBWDtBQUZOO0FBTEUsS0FBYjtBQVdBLFNBQUt4RCxPQUFMLENBQWF5RCxVQUFiLENBQXdCQyxPQUF4QixDQUNFWixNQURGLEVBRUVWLFFBRkYsRUFHRUEsUUFIRixFQUlFLEtBSkYsRUFLRUUsY0FMRjtBQU9EO0FBRUQ7QUFDRjtBQUNBOzs7QUFDRTBCLEVBQUFBLE1BQU0sQ0FBQ0MsS0FBRCxFQUFROUQsSUFBUixFQUFjQyxJQUFkLEVBQW9CQyxTQUFwQixFQUErQkMsUUFBL0IsRUFBeUNOLE9BQXpDLEVBQWtEb0MsUUFBbEQsRUFBNEQ7QUFDaEUsUUFBSUMsTUFBTSxHQUFHLEVBQWI7QUFDQSxRQUFJQyxjQUFjLEdBQUcsSUFBckI7O0FBQ0EsUUFBSUMsU0FBUyxDQUFDQyxNQUFWLEdBQW1CLENBQXZCLEVBQTBCO0FBQ3hCSCxNQUFBQSxNQUFNLEdBQUdJLElBQUksQ0FBQ0MsU0FBTCxDQUNQLEtBQUt4Qyx1QkFBTCxDQUE2QkMsSUFBN0IsRUFBbUNDLElBQW5DLEVBQXlDQyxTQUF6QyxFQUFvREMsUUFBcEQsRUFBOEROLE9BQTlELENBRE8sQ0FBVDtBQUdBc0MsTUFBQUEsY0FBYyxHQUFHLEtBQUtuQiwyQkFBdEI7QUFDRCxLQUxELE1BS087QUFDTGtCLE1BQUFBLE1BQU0sR0FBR0ksSUFBSSxDQUFDQyxTQUFMLENBQWV2QyxJQUFmLENBQVQ7QUFDQWlDLE1BQUFBLFFBQVEsR0FBR2hDLElBQVg7QUFDRDs7QUFFRCxRQUFNdUMsYUFBYSxhQUFNLEtBQUsxQyxLQUFMLENBQVcyQyxNQUFqQixjQUEyQixLQUFLM0MsS0FBTCxDQUFXNEMsU0FBdEMsQ0FBbkI7QUFFQSxRQUFJQyxNQUFNLEdBQUc7QUFDWEMsTUFBQUEsSUFBSSxFQUFFLEtBQUsvQyxPQUFMLENBQWFnRCxPQUFiLElBQXdCLGVBRG5CO0FBRVhDLE1BQUFBLElBQUksWUFBS3JELEdBQUcsQ0FBQ0MsSUFBVCxjQUFpQm9FLEtBQWpCLENBRk87QUFHWGYsTUFBQUEsTUFBTSxFQUFFLEtBSEc7QUFJWEMsTUFBQUEsSUFBSSxFQUFFZCxNQUpLO0FBS1hlLE1BQUFBLE9BQU8sRUFBRTtBQUNQLHdCQUFnQixrQkFEVDtBQUVQQyxRQUFBQSxhQUFhLGtCQUFXQyxNQUFNLENBQUNDLElBQVAsQ0FBWVosYUFBWixFQUEyQmEsUUFBM0IsQ0FBb0MsUUFBcEMsQ0FBWDtBQUZOO0FBTEUsS0FBYjtBQVdBLFNBQUt4RCxPQUFMLENBQWF5RCxVQUFiLENBQXdCQyxPQUF4QixDQUNFWixNQURGLEVBRUVWLFFBRkYsRUFHRUEsUUFIRixFQUlFLEtBSkYsRUFLRUUsY0FMRjtBQU9EO0FBRUQ7QUFDRjtBQUNBOzs7QUFDRTRCLEVBQUFBLE1BQU0sQ0FBQ0QsS0FBRCxFQUFRN0IsUUFBUixFQUFrQjtBQUN0QixRQUFNTyxhQUFhLGFBQU0sS0FBSzFDLEtBQUwsQ0FBVzJDLE1BQWpCLGNBQTJCLEtBQUszQyxLQUFMLENBQVc0QyxTQUF0QyxDQUFuQjtBQUVBLFFBQUlDLE1BQU0sR0FBRztBQUNYQyxNQUFBQSxJQUFJLEVBQUUsS0FBSy9DLE9BQUwsQ0FBYWdELE9BQWIsSUFBd0IsZUFEbkI7QUFFWEMsTUFBQUEsSUFBSSxZQUFLckQsR0FBRyxDQUFDQyxJQUFULGNBQWlCb0UsS0FBakIsQ0FGTztBQUdYZixNQUFBQSxNQUFNLEVBQUUsUUFIRztBQUlYQyxNQUFBQSxJQUFJLEVBQUUsSUFKSztBQUtYQyxNQUFBQSxPQUFPLEVBQUU7QUFDUCx3QkFBZ0Isa0JBRFQ7QUFFUEMsUUFBQUEsYUFBYSxrQkFBV0MsTUFBTSxDQUFDQyxJQUFQLENBQVlaLGFBQVosRUFBMkJhLFFBQTNCLENBQW9DLFFBQXBDLENBQVg7QUFGTjtBQUxFLEtBQWI7QUFXQSxTQUFLeEQsT0FBTCxDQUFheUQsVUFBYixDQUF3QkMsT0FBeEIsQ0FBZ0NaLE1BQWhDLEVBQXdDVixRQUF4QztBQUNEOztBQWpQTzs7ZUFvUEt4QyxHIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBVdGlscyBmcm9tIFwiLi9VdGlsc1wiO1xuXG5jbGFzcyBBcHAge1xuICAvKipcbiAgICogUHJvdmlkZXMgYWNjZXNzIHRvIHRoZSBgYXBwbGljYXRpb25zYCB2ZXJzaW9uIDIgZW5kcG9pbnQuXG4gICAqL1xuICBzdGF0aWMgZ2V0IFBBVEgoKSB7XG4gICAgcmV0dXJuIFwiL3YyL2FwcGxpY2F0aW9uc1wiO1xuICB9XG4gIC8qKlxuICAgKiBAcGFyYW0ge0NyZWRlbnRpYWxzfSBjcmVkZW50aWFsc1xuICAgKiAgICBjcmVkZW50aWFscyB0byBiZSB1c2VkIHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgQVBJLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9uc1xuICAgKiAgICBBZGRpdGlvbiBBcHAgb3B0aW9ucy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGNyZWRlbnRpYWxzLCBvcHRpb25zID0ge30pIHtcbiAgICB0aGlzLmNyZWRzID0gY3JlZGVudGlhbHM7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgfVxuXG4gIF9jb252ZXJ0TWV0aG9kU2lnbmF0dXJlKG5hbWUsIHR5cGUsIGFuc3dlclVybCwgZXZlbnRVcmwsIG9wdGlvbnMpIHtcbiAgICBsZXQgY2FwYWJpbGl0eSA9IHt9O1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBcInZvaWNlXCI6XG4gICAgICAgIGNhcGFiaWxpdHkgPSB7XG4gICAgICAgICAgdm9pY2U6IHtcbiAgICAgICAgICAgIHdlYmhvb2tzOiB7XG4gICAgICAgICAgICAgIGFuc3dlcl91cmw6IHtcbiAgICAgICAgICAgICAgICBhZGRyZXNzOiBhbnN3ZXJVcmwsXG4gICAgICAgICAgICAgICAgaHR0cF9tZXRob2Q6IFwiR0VUXCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgZXZlbnRfdXJsOiB7XG4gICAgICAgICAgICAgICAgYWRkcmVzczogZXZlbnRVcmwsXG4gICAgICAgICAgICAgICAgaHR0cF9tZXRob2Q6IFwiUE9TVFwiXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcIm1lc3NhZ2VzXCI6XG4gICAgICAgIGNhcGFiaWxpdHkgPSB7XG4gICAgICAgICAgbWVzc2FnZXM6IHtcbiAgICAgICAgICAgIHdlYmhvb2tzOiB7XG4gICAgICAgICAgICAgIGluYm91bmRfdXJsOiB7XG4gICAgICAgICAgICAgICAgYWRkcmVzczogb3B0aW9ucy5pbmJvdW5kX3VybCxcbiAgICAgICAgICAgICAgICBodHRwX21ldGhvZDogXCJQT1NUXCJcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgc3RhdHVzX3VybDoge1xuICAgICAgICAgICAgICAgIGFkZHJlc3M6IG9wdGlvbnMuc3RhdHVzX3VybCxcbiAgICAgICAgICAgICAgICBodHRwX21ldGhvZDogXCJQT1NUXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwicnRjXCI6XG4gICAgICAgIGNhcGFiaWxpdHkgPSB7XG4gICAgICAgICAgcnRjOiB7XG4gICAgICAgICAgICB3ZWJob29rczoge1xuICAgICAgICAgICAgICBldmVudF91cmw6IHtcbiAgICAgICAgICAgICAgICBhZGRyZXNzOiBldmVudFVybCxcbiAgICAgICAgICAgICAgICBodHRwX21ldGhvZDogXCJQT1NUXCJcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IG5hbWUsXG4gICAgICBjYXBhYmlsaXRpZXM6IGNhcGFiaWxpdHlcbiAgICB9O1xuICB9XG5cbiAgX2NvbnZlcnRBcHBsaWNhdGlvblJlc3BvbnNlKGFwcGxpY2F0aW9uKSB7XG4gICAgZm9yIChsZXQgY2FwYWJpbGl0eSBpbiBhcHBsaWNhdGlvbi5jYXBhYmlsaXRpZXMpIHtcbiAgICAgIGFwcGxpY2F0aW9uW2NhcGFiaWxpdHldID0ge1xuICAgICAgICB3ZWJob29rczogW11cbiAgICAgIH07XG4gICAgICBmb3IgKGxldCB3ZWJob29rIGluIGFwcGxpY2F0aW9uLmNhcGFiaWxpdGllc1tjYXBhYmlsaXR5XS53ZWJob29rcykge1xuICAgICAgICBhcHBsaWNhdGlvbltjYXBhYmlsaXR5XS53ZWJob29rcy5wdXNoKHtcbiAgICAgICAgICBlbmRwb2ludF90eXBlOiB3ZWJob29rLFxuICAgICAgICAgIGVuZHBvaW50OlxuICAgICAgICAgICAgYXBwbGljYXRpb24uY2FwYWJpbGl0aWVzW2NhcGFiaWxpdHldLndlYmhvb2tzW3dlYmhvb2tdLmFkZHJlc3MsXG4gICAgICAgICAgaHR0cF9tZXRob2Q6XG4gICAgICAgICAgICBhcHBsaWNhdGlvbi5jYXBhYmlsaXRpZXNbY2FwYWJpbGl0eV0ud2ViaG9va3Nbd2ViaG9va10uaHR0cF9tZXRob2RcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGVsZXRlIGFwcGxpY2F0aW9uLmNhcGFiaWxpdGllcztcbiAgICByZXR1cm4gYXBwbGljYXRpb247XG4gIH1cblxuICBfY29udmVydEFwcGxpY2F0aW9uTGlzdFJlc3BvbnNlKGFwcGxpY2F0aW9uUmVzcG9uc2VIYW5kbGVyKSB7XG4gICAgcmV0dXJuIHJlc3BvbnNlID0+IHtcbiAgICAgIHJlc3BvbnNlLmNvdW50ID0gcmVzcG9uc2UudG90YWxfaXRlbXM7XG4gICAgICByZXNwb25zZS5wYWdlX2luZGV4ID0gcmVzcG9uc2UucGFnZTtcbiAgICAgIGZvciAobGV0IGkgaW4gcmVzcG9uc2UuX2VtYmVkZGVkLmFwcGxpY2F0aW9ucykge1xuICAgICAgICByZXNwb25zZS5fZW1iZWRkZWQuYXBwbGljYXRpb25zW2ldID0gYXBwbGljYXRpb25SZXNwb25zZUhhbmRsZXIoXG4gICAgICAgICAgcmVzcG9uc2UuX2VtYmVkZGVkLmFwcGxpY2F0aW9uc1tpXVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPOiBkb2N1bWVudFxuICAgKi9cbiAgY3JlYXRlKG5hbWUsIHR5cGUsIGFuc3dlclVybCwgZXZlbnRVcmwsIG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gICAgbGV0IHBhcmFtcyA9IHt9O1xuICAgIGxldCByZXNwb25zZVBhcnNlciA9IG51bGw7XG5cbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDIpIHtcbiAgICAgIHBhcmFtcyA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAgICB0aGlzLl9jb252ZXJ0TWV0aG9kU2lnbmF0dXJlKG5hbWUsIHR5cGUsIGFuc3dlclVybCwgZXZlbnRVcmwsIG9wdGlvbnMpXG4gICAgICApO1xuICAgICAgcmVzcG9uc2VQYXJzZXIgPSB0aGlzLl9jb252ZXJ0QXBwbGljYXRpb25SZXNwb25zZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyYW1zID0gSlNPTi5zdHJpbmdpZnkobmFtZSk7XG4gICAgICBjYWxsYmFjayA9IHR5cGU7XG4gICAgfVxuXG4gICAgY29uc3QgYXV0aG9yaXphdGlvbiA9IGAke3RoaXMuY3JlZHMuYXBpS2V5fToke3RoaXMuY3JlZHMuYXBpU2VjcmV0fWA7XG5cbiAgICB2YXIgY29uZmlnID0ge1xuICAgICAgaG9zdDogdGhpcy5vcHRpb25zLmFwaUhvc3QgfHwgXCJhcGkubmV4bW8uY29tXCIsXG4gICAgICBwYXRoOiBBcHAuUEFUSCxcbiAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICBib2R5OiBwYXJhbXMsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmFzaWMgJHtCdWZmZXIuZnJvbShhdXRob3JpemF0aW9uKS50b1N0cmluZyhcImJhc2U2NFwiKX1gXG4gICAgICB9XG4gICAgfTtcblxuICAgIHRoaXMub3B0aW9ucy5odHRwQ2xpZW50LnJlcXVlc3QoXG4gICAgICBjb25maWcsXG4gICAgICBjYWxsYmFjayxcbiAgICAgIGNhbGxiYWNrLFxuICAgICAgZmFsc2UsXG4gICAgICByZXNwb25zZVBhcnNlclxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVE9ETzogZG9jdW1lbnRcbiAgICovXG4gIGdldChwYXJhbXMsIGNhbGxiYWNrLCB2MiA9IGZhbHNlKSB7XG4gICAgY29uc3QgYXV0aG9yaXphdGlvbiA9IGAke3RoaXMuY3JlZHMuYXBpS2V5fToke3RoaXMuY3JlZHMuYXBpU2VjcmV0fWA7XG4gICAgbGV0IHJlc3BvbnNlUGFyc2VyID0gbnVsbDtcblxuICAgIGlmICh0eXBlb2YgcGFyYW1zICE9PSBcIm9iamVjdFwiKSB7XG4gICAgICByZXNwb25zZVBhcnNlciA9IHRoaXMuX2NvbnZlcnRBcHBsaWNhdGlvblJlc3BvbnNlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXNwb25zZVBhcnNlciA9IHRoaXMuX2NvbnZlcnRBcHBsaWNhdGlvbkxpc3RSZXNwb25zZShcbiAgICAgICAgdGhpcy5fY29udmVydEFwcGxpY2F0aW9uUmVzcG9uc2VcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKHYyKSB7XG4gICAgICByZXNwb25zZVBhcnNlciA9IG51bGw7XG4gICAgfVxuXG4gICAgdmFyIGNvbmZpZyA9IHtcbiAgICAgIGhvc3Q6IHRoaXMub3B0aW9ucy5hcGlIb3N0IHx8IFwiYXBpLm5leG1vLmNvbVwiLFxuICAgICAgcGF0aDogVXRpbHMuY3JlYXRlUGF0aFdpdGhRdWVyeShBcHAuUEFUSCwgcGFyYW1zKSxcbiAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgIGJvZHk6IHVuZGVmaW5lZCxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgIEF1dGhvcml6YXRpb246IGBCYXNpYyAke0J1ZmZlci5mcm9tKGF1dGhvcml6YXRpb24pLnRvU3RyaW5nKFwiYmFzZTY0XCIpfWBcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5vcHRpb25zLmh0dHBDbGllbnQucmVxdWVzdChcbiAgICAgIGNvbmZpZyxcbiAgICAgIGNhbGxiYWNrLFxuICAgICAgY2FsbGJhY2ssXG4gICAgICBmYWxzZSxcbiAgICAgIHJlc3BvbnNlUGFyc2VyXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPOiBkb2N1bWVudFxuICAgKi9cbiAgdXBkYXRlKGFwcElkLCBuYW1lLCB0eXBlLCBhbnN3ZXJVcmwsIGV2ZW50VXJsLCBvcHRpb25zLCBjYWxsYmFjaykge1xuICAgIGxldCBwYXJhbXMgPSB7fTtcbiAgICBsZXQgcmVzcG9uc2VQYXJzZXIgPSBudWxsO1xuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMykge1xuICAgICAgcGFyYW1zID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICAgIHRoaXMuX2NvbnZlcnRNZXRob2RTaWduYXR1cmUobmFtZSwgdHlwZSwgYW5zd2VyVXJsLCBldmVudFVybCwgb3B0aW9ucylcbiAgICAgICk7XG4gICAgICByZXNwb25zZVBhcnNlciA9IHRoaXMuX2NvbnZlcnRBcHBsaWNhdGlvblJlc3BvbnNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJhbXMgPSBKU09OLnN0cmluZ2lmeShuYW1lKTtcbiAgICAgIGNhbGxiYWNrID0gdHlwZTtcbiAgICB9XG5cbiAgICBjb25zdCBhdXRob3JpemF0aW9uID0gYCR7dGhpcy5jcmVkcy5hcGlLZXl9OiR7dGhpcy5jcmVkcy5hcGlTZWNyZXR9YDtcblxuICAgIHZhciBjb25maWcgPSB7XG4gICAgICBob3N0OiB0aGlzLm9wdGlvbnMuYXBpSG9zdCB8fCBcImFwaS5uZXhtby5jb21cIixcbiAgICAgIHBhdGg6IGAke0FwcC5QQVRIfS8ke2FwcElkfWAsXG4gICAgICBtZXRob2Q6IFwiUFVUXCIsXG4gICAgICBib2R5OiBwYXJhbXMsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmFzaWMgJHtCdWZmZXIuZnJvbShhdXRob3JpemF0aW9uKS50b1N0cmluZyhcImJhc2U2NFwiKX1gXG4gICAgICB9XG4gICAgfTtcblxuICAgIHRoaXMub3B0aW9ucy5odHRwQ2xpZW50LnJlcXVlc3QoXG4gICAgICBjb25maWcsXG4gICAgICBjYWxsYmFjayxcbiAgICAgIGNhbGxiYWNrLFxuICAgICAgZmFsc2UsXG4gICAgICByZXNwb25zZVBhcnNlclxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVE9ETzogZG9jdW1lbnRcbiAgICovXG4gIGRlbGV0ZShhcHBJZCwgY2FsbGJhY2spIHtcbiAgICBjb25zdCBhdXRob3JpemF0aW9uID0gYCR7dGhpcy5jcmVkcy5hcGlLZXl9OiR7dGhpcy5jcmVkcy5hcGlTZWNyZXR9YDtcblxuICAgIHZhciBjb25maWcgPSB7XG4gICAgICBob3N0OiB0aGlzLm9wdGlvbnMuYXBpSG9zdCB8fCBcImFwaS5uZXhtby5jb21cIixcbiAgICAgIHBhdGg6IGAke0FwcC5QQVRIfS8ke2FwcElkfWAsXG4gICAgICBtZXRob2Q6IFwiREVMRVRFXCIsXG4gICAgICBib2R5OiBcInt9XCIsXG4gICAgICBoZWFkZXJzOiB7XG4gICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICBBdXRob3JpemF0aW9uOiBgQmFzaWMgJHtCdWZmZXIuZnJvbShhdXRob3JpemF0aW9uKS50b1N0cmluZyhcImJhc2U2NFwiKX1gXG4gICAgICB9XG4gICAgfTtcblxuICAgIHRoaXMub3B0aW9ucy5odHRwQ2xpZW50LnJlcXVlc3QoY29uZmlnLCBjYWxsYmFjayk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQXBwO1xuIl19

@@ -356,3 +356,3 @@ "use strict";

post(path, params, callback, useJwt, headers) {
post(path, params, callback, useJwt) {
var qs = {};

@@ -372,20 +372,5 @@

path = path + joinChar + querystring.stringify(qs);
headers = headers || {};
if (useJwt) {
headers["Authorization"] = "Bearer ".concat(this.credentials.generateJwt());
}
var encodedParams;
if (headers["Content-Type"] == "application/json") {
encodedParams = JSON.stringify(params);
} else {
encodedParams = querystring.stringify(params);
}
this.request({
path,
body: encodedParams,
headers
path: path,
body: querystring.stringify(params)
}, "POST", callback);

@@ -443,2 +428,2 @@ }

module.exports = exports.default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9IdHRwQ2xpZW50LmpzIl0sIm5hbWVzIjpbImh0dHBzIiwicmVxdWlyZSIsImh0dHAiLCJyZXF1ZXN0IiwicXVlcnlzdHJpbmciLCJVUkwiLCJpc1ZhbGlkVXJsIiwicyIsIm8iLCJob3N0IiwiZXJyIiwiSHR0cENsaWVudCIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsImNyZWRlbnRpYWxzIiwiaG9zdE92ZXJyaWRlIiwicG9ydCIsImhlYWRlcnMiLCJBY2NlcHQiLCJsb2dnZXIiLCJ0aW1lb3V0IiwicmVxdWVzdExpYiIsInVzZXJBZ2VudCIsImVuZHBvaW50IiwibWV0aG9kIiwiY2FsbGJhY2siLCJza2lwSnNvblBhcnNpbmciLCJjdXN0b21SZXNwb25zZVBhcnNlciIsInBhdGgiLCJPYmplY3QiLCJhc3NpZ24iLCJ1bmRlZmluZWQiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsInNpZ25hdHVyZVNlY3JldCIsInNpZ25hdHVyZU1ldGhvZCIsInNwbGl0UGF0aCIsInNwbGl0IiwicGFyYW1zIiwiZGVjb2RlIiwidGltZXN0YW1wIiwiRGF0ZSIsImdldFRpbWUiLCJ0b1N0cmluZyIsImFwaV9zZWNyZXQiLCJoYXNoIiwiZ2VuZXJhdGVTaWduYXR1cmUiLCJxdWVyeSIsInNvcnQiLCJlbmNvZGVVUkkiLCJyZXBsYWNlIiwiaW5mbyIsImJvZHkiLCJlbmQiLCJyZXNwb25zZURhdGEiLCJvbiIsInJlc3BvbnNlIiwiaXNCaW5hcnkiLCJzZXRFbmNvZGluZyIsImNodW5rIiwicHVzaCIsInN0YXR1c0NvZGUiLCJCdWZmZXIiLCJjb25jYXQiLCJfX3BhcnNlUmVzcG9uc2UiLCJlIiwiZXJyb3IiLCJodHRwUmVzcG9uc2UiLCJkYXRhIiwiaXNBcnJheU9yQnVmZmVyIiwiQXJyYXkiLCJFcnJvciIsInN0YXR1cyIsIm1lc3NhZ2UiLCJyZXRyeUFmdGVyTWlsbGlzIiwiam9pbiIsIkpTT04iLCJwYXJzZSIsInBhcnNlRXJyb3IiLCJfYWRkTGltaXRlZEFjY2Vzc01lc3NhZ2VUb0Vycm9ycyIsImxpbWl0ZWRBY2Nlc3NTdGF0dXMiLCJfSU5GT18iLCJnZXQiLCJ1c2VKd3QiLCJ1c2VCYXNpY0F1dGgiLCJhcGlLZXkiLCJhcGlTZWNyZXQiLCJzdHJpbmdpZnkiLCJnZW5lcmF0ZUp3dCIsImZyb20iLCJkZWxldGUiLCJwb3N0RmlsZSIsInFzIiwibGVuZ3RoIiwiam9pbkNoYXIiLCJpbmRleE9mIiwiZmlsZSIsImZvcm1EYXRhIiwidmFsdWUiLCJmaWxlbmFtZSIsInVybCIsInByb3RvY29sIiwicG9zdCIsIkF1dGhvcml6YXRpb24iLCJlbmNvZGVkUGFyYW1zIiwicG9zdEpzb24iLCJwb3N0VXNlUXVlcnlTdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFJQSxLQUFLLEdBQUdDLE9BQU8sQ0FBQyxPQUFELENBQW5COztBQUNBLElBQUlDLElBQUksR0FBR0QsT0FBTyxDQUFDLE1BQUQsQ0FBbEI7O0FBQ0EsSUFBSUUsT0FBTyxHQUFHRixPQUFPLENBQUMsU0FBRCxDQUFyQjs7QUFDQSxJQUFJRyxXQUFXLEdBQUdILE9BQU8sQ0FBQyxhQUFELENBQXpCOztBQUNBLElBQUlJLEdBQUcsR0FBR0osT0FBTyxDQUFDLEtBQUQsQ0FBUCxDQUFlSSxHQUF6Qjs7QUFFQSxJQUFNQyxVQUFVLEdBQUdDLENBQUMsSUFBSTtBQUN0QixNQUFJLENBQUNBLENBQUQsSUFBTUEsQ0FBQyxLQUFLLElBQWhCLEVBQXNCLE9BQU8sS0FBUDs7QUFFdEIsTUFBSTtBQUNGLFFBQUlBLENBQUMsS0FBSyxlQUFWLEVBQTJCLE9BQU9BLENBQVA7QUFDM0IsUUFBSUMsQ0FBQyxHQUFHLElBQUlILEdBQUosQ0FBUUUsQ0FBUixDQUFSO0FBQ0EsV0FBT0MsQ0FBQyxDQUFDQyxJQUFUO0FBQ0QsR0FKRCxDQUlFLE9BQU9DLEdBQVAsRUFBWTtBQUNaLFdBQU8sS0FBUDtBQUNEO0FBQ0YsQ0FWRDs7QUFZQSxNQUFNQyxVQUFOLENBQWlCO0FBQ2ZDLEVBQUFBLFdBQVcsQ0FBQ0MsT0FB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LFdBQVcsQ0FBQ29GLFNBQVosQ0FBc0JqRCxNQUF0QixDQUFwQjtBQUVBLFNBQUtwQyxPQUFMLENBQ0U7QUFDRXlCLE1BQUFBLElBQUksRUFBRUE7QUFEUixLQURGLEVBSUUsTUFKRixFQUtFSCxRQUxGO0FBT0Q7O0FBN2JjOztlQWdjRmQsVSIsInNvdXJjZXNDb250ZW50IjpbInZhciBodHRwcyA9IHJlcXVpcmUoXCJodHRwc1wiKTtcbnZhciBodHRwID0gcmVxdWlyZShcImh0dHBcIik7XG52YXIgcmVxdWVzdCA9IHJlcXVpcmUoXCJyZXF1ZXN0XCIpO1xudmFyIHF1ZXJ5c3RyaW5nID0gcmVxdWlyZShcInF1ZXJ5c3RyaW5nXCIpO1xudmFyIFVSTCA9IHJlcXVpcmUoXCJ1cmxcIikuVVJMO1xuXG5jb25zdCBpc1ZhbGlkVXJsID0gcyA9PiB7XG4gIGlmICghcyB8fCBzID09PSBudWxsKSByZXR1cm4gZmFsc2U7XG5cbiAgdHJ5IHtcbiAgICBpZiAocyA9PT0gXCJhcGkubmV4bW8uY29tXCIpIHJldHVybiBzO1xuICAgIGxldCBvID0gbmV3IFVSTChzKTtcbiAgICByZXR1cm4gby5ob3N0O1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG5cbmNsYXNzIEh0dHBDbGllbnQge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zLCBjcmVkZW50aWFscykge1xuICAgIGxldCBob3N0T3ZlcnJpZGUgPSBpc1ZhbGlkVXJsKG9wdGlvbnMuaG9zdCk7XG4gICAgdGhpcy5jcmVkZW50aWFscyA9IGNyZWRlbnRpYWxzO1xuICAgIHRoaXMuaG9zdCA9IGhvc3RPdmVycmlkZSA/IGhvc3RPdmVycmlkZSA6IGByZXN0Lm5leG1vLmNvbWA7XG4gICAgdGhpcy5wb3J0ID0gb3B0aW9ucy5wb3J0IHx8IDQ0MztcbiAgICB0aGlzLmh0dHBzID0gb3B0aW9ucy5odHRwcyB8fCBodHRwcztcbiAgICB0aGlzLmh0dHAgPSBvcHRpb25zLmh0dHAgfHwgaHR0cDtcbiAgICB0aGlzLmhlYWRlcnMgPSB7XG4gICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiLFxuICAgICAgQWNjZXB0OiBcImFwcGxpY2F0aW9uL2pzb25cIlxuICAgIH07XG4gICAgdGhpcy5sb2dnZXIgPSBvcHRpb25zLmxvZ2dlcjtcbiAgICB0aGlzLnRpbWVvdXQgPSBvcHRpb25zLnRpbWVvdXQ7XG4gICAgdGhpcy5yZXF1ZXN0TGliID0gcmVxdWVzdDtcblxuICAgIGlmIChvcHRpb25zLnVzZXJBZ2VudCkge1xuICAgICAgdGhpcy5oZWFkZXJzW1wiVXNlci1BZ2VudFwiXSA9IG9wdGlvbnMudXNlckFnZW50O1xuICAgIH1cbiAgfVxuXG4gIHJlcXVlc3QoXG4gICAgZW5kcG9pbnQsXG4gICAgbWV0aG9kLFxuICAgIGNhbGxiYWNrLFxuICAgIHNraXBKc29uUGFyc2luZyA9IGZhbHNlLFxuICAgIGN1c3RvbVJlc3BvbnNlUGFyc2VyXG4gICkge1xuICAgIGlmICh0eXBlb2YgbWV0aG9kID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIGNhbGxiYWNrID0gbWV0aG9kO1xuICAgICAgZW5kcG9pbnQubWV0aG9kID0gZW5kcG9pbnQubWV0aG9kIHx8IFwiR0VUXCI7XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgbWV0aG9kICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICBlbmRwb2ludC5tZXRob2QgPSBtZXRob2Q7XG4gICAgfVxuXG4gICAgaWYgKGVuZHBvaW50Lm1ldGhvZCA9PT0gXCJQT1NUXCIgfHwgZW5kcG9pbnQubWV0aG9kID09PSBcIkRFTEVURVwiKSB7XG4gICAgICAvLyBUT0RPOiB2ZXJpZnkgdGhlIGZvbGxvd2luZyBmaXggaXMgcmVxdWlyZWRcbiAgICAgIC8vIEZpeCBicm9rZW4gZHVlIG90IDQxMSBDb250ZW50LUxlbmd0aCBlcnJvciBub3cgc2VudCBieSBWb25hZ2UgQVBJXG4gICAgICAvLyBQTCAyMDE2LVNlcHQtNiAtIGNvbW1lbnRlZCBvdXQgQ29udGVudC1MZW5ndGggMFxuICAgICAgLy8gaGVhZGVyc1snQ29udGVudC1MZW5ndGgnXSA9IDA7XG4gICAgfVxuICAgIHZhciBvcHRpb25zID0ge1xuICAgICAgaG9zdDogZW5kcG9pbnQuaG9zdCA/IGVuZHBvaW50Lmhvc3QgOiB0aGlzLmhvc3QsXG4gICAgICBwb3J0OiB0aGlzLnBvcnQsXG4gICAgICBwYXRoOiBlbmRwb2ludC5wYXRoLFxuICAgICAgbWV0aG9kOiBlbmRwb2ludC5tZXRob2QsXG4gICAgICBoZWFkZXJzOiBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmhlYWRlcnMpXG4gICAgfTtcblxuICAgIGlmICh0aGlzLnRpbWVvdXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgb3B0aW9ucy50aW1lb3V0ID0gdGhpcy50aW1lb3V0O1xuICAgIH1cblxuICAgIC8vIEFsbG93IGV4aXN0aW5nIGhlYWRlcnMgdG8gYmUgb3ZlcnJpZGRlblxuICAgIC8vIEFsbG93IG5ldyBoZWFkZXJzIHRvIGJlIGFkZGVkXG4gICAgaWYgKGVuZHBvaW50LmhlYWRlcnMpIHtcbiAgICAgIE9iamVjdC5rZXlzKGVuZHBvaW50LmhlYWRlcnMpLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7XG4gICAgICAgIG9wdGlvbnMuaGVhZGVyc1trZXldID0gZW5kcG9pbnQuaGVhZGVyc1trZXldO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY3JlZGVudGlhbHMuc2lnbmF0dXJlU2VjcmV0ICYmIHRoaXMuY3JlZGVudGlhbHMuc2lnbmF0dXJlTWV0aG9kKSB7XG4gICAgICBjb25zdCBzcGxpdFBhdGggPSBvcHRpb25zLnBhdGguc3BsaXQoL1xcPyguKykvKTtcbiAgICAgIGNvbnN0IHBhdGggPSBzcGxpdFBhdGhbMF07XG5cbiAgICAgIHZhciBwYXJhbXMgPSBxdWVyeXN0cmluZy5kZWNvZGUoc3BsaXRQYXRoWzFdKTtcblxuICAgICAgLy8gYWRkIHRpbWVzdGFtcCBpZiBub3QgYWxyZWFkeSBwcmVzZW50XG4gICAgICBpZiAoIXBhcmFtcy50aW1lc3RhbXApIHtcbiAgICAgICAgcGFyYW1zLnRpbWVzdGFtcCA9IChuZXcgRGF0ZSgpLmdldFRpbWUoKSAvIDEwMDApIHwgMDsgLy8gZmxvb3IgdG8gc2Vjb25kc1xuICAgICAgICBwYXJhbXMudGltZXN0YW1wID0gcGFyYW1zLnRpbWVzdGFtcC50b1N0cmluZygpO1xuICAgICAgfVxuXG4gICAgICAvLyBzdHJpcCBBUEkgU2VjcmV0XG4gICAgICBkZWxldGUgcGFyYW1zLmFwaV9zZWNyZXQ7XG5cbiAgICAgIGNvbnN0IGhhc2ggPSB0aGlzLmNyZWRlbnRpYWxzLmdlbmVyYXRlU2lnbmF0dXJlKHBhcmFtcyk7XG5cbiAgICAgIHZhciBxdWVyeSA9IFwiXCI7XG5cbiAgICAgIC8vIHJlYnVpbGQgcXVlcnlcbiAgICAgIE9iamVjdC5rZXlzKHBhcmFtcylcbiAgICAgICAgLnNvcnQoKVxuICAgICAgICAuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICAgIHF1ZXJ5ICs9IFwiJlwiICsga2V5ICsgXCI9XCIgKyBlbmNvZGVVUkkocGFyYW1zW2tleV0pO1xuICAgICAgICB9KTtcblxuICAgICAgLy8gcmVwbGFjZSB0aGUgZmlyc3QgJiB3aXRoID9cbiAgICAgIHF1ZXJ5ID0gcXVlcnkucmVwbGFjZSgvJi9pLCBcIj9cIik7XG5cbiAgICAgIG9wdGlvbnMucGF0aCA9IGAke3BhdGh9JHtxdWVyeX0mc2lnPSR7aGFzaH1gO1xuICAgIH1cblxuICAgIHRoaXMubG9nZ2VyLmluZm8oXCJSZXF1ZXN0OlwiLCBvcHRpb25zLCBcIlxcbkJvZHk6XCIsIGVuZHBvaW50LmJvZHkpO1xuICAgIHZhciByZXF1ZXN0O1xuXG4gICAgaWYgKG9wdGlvbnMucG9ydCA9PT0gNDQzKSB7XG4gICAgICByZXF1ZXN0ID0gdGhpcy5odHRwcy5yZXF1ZXN0KG9wdGlvbnMpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXF1ZXN0ID0gdGhpcy5odHRwLnJlcXVlc3Qob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcmVxdWVzdC5lbmQoZW5kcG9pbnQuYm9keSk7XG5cbiAgICAvLyBLZWVwIGFuIGFycmF5IG9mIFN0cmluZyBvciBCdWZmZXJzLFxuICAgIC8vIGRlcGVuZGluZyBvbiBjb250ZW50IHR5cGUgKGJpbmFyeSBvciBKU09OKSBvZiByZXNwb25zZVxuICAgIHZhciByZXNwb25zZURhdGEgPSBbXTtcblxuICAgIHJlcXVlc3Qub24oXCJyZXNwb25zZVwiLCByZXNwb25zZSA9PiB7XG4gICAgICB2YXIgaXNCaW5hcnkgPVxuICAgICAgICByZXNwb25zZS5oZWFkZXJzW1wiY29udGVudC10eXBlXCJdID09PSBcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiO1xuICAgICAgaWYgKCFpc0JpbmFyeSkge1xuICAgICAgICByZXNwb25zZS5zZXRFbmNvZGluZyhcInV0ZjhcIik7XG4gICAgICB9XG5cbiAgICAgIHJlc3BvbnNlLm9uKFwiZGF0YVwiLCBjaHVuayA9PiB7XG4gICAgICAgIHJlc3BvbnNlRGF0YS5wdXNoKGNodW5rKTtcbiAgICAgIH0pO1xuXG4gICAgICByZXNwb25zZS5vbihcImVuZFwiLCAoKSA9PiB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oXCJyZXNwb25zZSBlbmRlZDpcIiwgcmVzcG9uc2Uuc3RhdHVzQ29kZSk7XG4gICAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICAgIGlmIChpc0JpbmFyeSkge1xuICAgICAgICAgICAgcmVzcG9uc2VEYXRhID0gQnVmZmVyLmNvbmNhdChyZXNwb25zZURhdGEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuX19wYXJzZVJlc3BvbnNlKFxuICAgICAgICAgICAgcmVzcG9uc2UsXG4gICAgICAgICAgICByZXNwb25zZURhdGEsXG4gICAgICAgICAgICBlbmRwb2ludC5tZXRob2QsXG4gICAgICAgICAgICBjYWxsYmFjayxcbiAgICAgICAgICAgIHNraXBKc29uUGFyc2luZyxcbiAgICAgICAgICAgIGN1c3RvbVJlc3BvbnNlUGFyc2VyXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXNwb25zZS5vbihcImNsb3NlXCIsIGUgPT4ge1xuICAgICAgICBpZiAoZSkge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFxuICAgICAgICAgICAgXCJwcm9ibGVtIHdpdGggQVBJIHJlcXVlc3QgZGV0YWlsZWQgc3RhY2t0cmFjZSBiZWxvdyBcIlxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoZSk7XG4gICAgICAgICAgY2FsbGJhY2soZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJlcXVlc3Qub24oXCJlcnJvclwiLCBlID0+IHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFwicHJvYmxlbSB3aXRoIEFQSSByZXF1ZXN0IGRldGFpbGVkIHN0YWNrdHJhY2UgYmVsb3cgXCIpO1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoZSk7XG4gICAgICBjYWxsYmFjayhlKTtcbiAgICB9KTtcbiAgfVxuXG4gIF9fcGFyc2VSZXNwb25zZShcbiAgICBodHRwUmVzcG9uc2UsXG4gICAgZGF0YSxcbiAgICBtZXRob2QsXG4gICAgY2FsbGJhY2ssXG4gICAgc2tpcEpzb25QYXJzaW5nLFxuICAgIGN1c3RvbVJlc3BvbnNlUGFyc2VyXG4gICkge1xuICAgIGNvbnN0IGlzQXJyYXlPckJ1ZmZlciA9IGRhdGEgaW5zdGFuY2VvZiBBcnJheSB8fCBkYXRhIGluc3RhbmNlb2YgQnVmZmVyO1xuICAgIGlmICghaXNBcnJheU9yQnVmZmVyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJkYXRhIHNob3VsZCBiZSBvZiB0eXBlIEFycmF5IG9yIEJ1ZmZlclwiKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGF0dXMgPSBodHRwUmVzcG9uc2Uuc3RhdHVzQ29kZTtcbiAgICBjb25zdCBoZWFkZXJzID0gaHR0cFJlc3BvbnNlLmhlYWRlcnM7XG5cbiAgICBsZXQgcmVzcG9uc2UgPSBudWxsO1xuICAgIHZhciBlcnJvciA9IG51bGw7XG5cbiAgICB0cnkge1xuICAgICAgaWYgKHN0YXR1cyA+PSA1MDApIHtcbiAgICAgICAgZXJyb3IgPSB7XG4gICAgICAgICAgbWVzc2FnZTogXCJTZXJ2ZXIgRXJyb3JcIixcbiAgICAgICAgICBzdGF0dXNDb2RlOiBzdGF0dXNcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGh0dHBSZXNwb25zZS5oZWFkZXJzW1wiY29udGVudC10eXBlXCJdID09PSBcImFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbVwiXG4gICAgICApIHtcbiAgICAgICAgcmVzcG9uc2UgPSBkYXRhO1xuICAgICAgfSBlbHNlIGlmIChzdGF0dXMgPT09IDQyOSkge1xuICAgICAgICAvLyA0MjkgZG9lcyBub3QgcmV0dXJuIGEgcGFyc2FibGUgYm9keVxuICAgICAgICBpZiAoIWhlYWRlcnNbXCJyZXRyeS1hZnRlclwiXSkge1xuICAgICAgICAgIC8vIHJldHJ5IGJhc2VkIG9uIGFsbG93ZWQgcGVyIHNlY29uZFxuICAgICAgICAgIGNvbnN0IHJldHJ5QWZ0ZXJNaWxsaXMgPSBtZXRob2QgPT09IFwiUE9TVFwiID8gMTAwMCAvIDIgOiAxMDAwIC8gNTtcbiAgICAgICAgICBoZWFkZXJzW1wicmV0cnktYWZ0ZXJcIl0gPSByZXRyeUFmdGVyTWlsbGlzO1xuICAgICAgICB9XG4gICAgICAgIGVycm9yID0ge1xuICAgICAgICAgIGJvZHk6IGRhdGEuam9pbihcIlwiKVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIGlmIChzdGF0dXMgPT09IDIwNCkge1xuICAgICAgICByZXNwb25zZSA9IG51bGw7XG4gICAgICB9IGVsc2UgaWYgKHN0YXR1cyA+PSA0MDAgfHwgc3RhdHVzIDwgMjAwKSB7XG4gICAgICAgIGVycm9yID0ge1xuICAgICAgICAgIGJvZHk6IEpTT04ucGFyc2UoZGF0YS5qb2luKFwiXCIpKSxcbiAgICAgICAgICBoZWFkZXJzXG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKG1ldGhvZCAhPT0gXCJERUxFVEVcIikge1xuICAgICAgICBpZiAoISFza2lwSnNvblBhcnNpbmcpIHtcbiAgICAgICAgICByZXNwb25zZSA9IGRhdGEuam9pbihcIlwiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXNwb25zZSA9IEpTT04ucGFyc2UoZGF0YS5qb2luKFwiXCIpKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzcG9uc2UgPSBkYXRhO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKHBhcnNlRXJyb3IpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKHBhcnNlRXJyb3IpO1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXG4gICAgICAgIFwiY291bGQgbm90IGNvbnZlcnQgQVBJIHJlc3BvbnNlIHRvIEpTT04sIGFib3ZlIGVycm9yIGlzIGlnbm9yZWQgYW5kIHJhdyBBUEkgcmVzcG9uc2UgaXMgcmV0dXJuZWQgdG8gY2xpZW50XCJcbiAgICAgICk7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihcIlJhdyBFcnJvciBtZXNzYWdlIGZyb20gQVBJIFwiKTtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKGBcIiR7ZGF0YX1cImApO1xuXG4gICAgICBlcnJvciA9IHtcbiAgICAgICAgc3RhdHVzOiBzdGF0dXMsXG4gICAgICAgIG1lc3NhZ2U6IFwiVGhlIEFQSSByZXNwb25zZSBjb3VsZCBub3QgYmUgcGFyc2VkLlwiLFxuICAgICAgICBib2R5OiBkYXRhLmpvaW4oXCJcIiksXG4gICAgICAgIHBhcnNlRXJyb3I6IHBhcnNlRXJyb3JcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKGVycm9yKSB7XG4gICAgICBlcnJvci5zdGF0dXNDb2RlID0gc3RhdHVzO1xuICAgICAgZXJyb3IuaGVhZGVycyA9IGhlYWRlcnM7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICBpZiAodHlwZW9mIGN1c3RvbVJlc3BvbnNlUGFyc2VyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgLy8gZG9uJ3QgdHJ5IHRvIHBhcnNlIHRoZSByZXNwb25zZSBvbiBlcnJvcnNcbiAgICAgICAgaWYgKHJlc3BvbnNlKSB7XG4gICAgICAgICAgcmVzcG9uc2UgPSBjdXN0b21SZXNwb25zZVBhcnNlcihyZXNwb25zZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNhbGxiYWNrKGVycm9yLCByZXNwb25zZSk7XG4gICAgfVxuICB9XG5cbiAgX2FkZExpbWl0ZWRBY2Nlc3NNZXNzYWdlVG9FcnJvcnMoY2FsbGJhY2ssIGxpbWl0ZWRBY2Nlc3NTdGF0dXMpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24oZXJyLCBkYXRhKSB7XG4gICAgICBpZiAoZXJyICYmIGVyci5zdGF0dXMgPT0gbGltaXRlZEFjY2Vzc1N0YXR1cykge1xuICAgICAgICBlcnIuX0lORk9fID1cbiAgICAgICAgICBcIlRoaXMgZW5kcG9pbnQgbWF5IG5lZWQgYWN0aXZhdGluZyBvbiB5b3VyIGFjY291bnQuIFBsZWFzZSBlbWFpbCBzdXBwb3J0QG5leG1vLmNvbSBmb3IgbW9yZSBpbmZvcm1hdGlvblwiO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY2FsbGJhY2soZXJyLCBkYXRhKTtcbiAgICB9O1xuICB9XG5cbiAgZ2V0KHBhdGgsIHBhcmFtcywgY2FsbGJhY2ssIHVzZUp3dCA9IGZhbHNlLCB1c2VCYXNpY0F1dGggPSBmYWxzZSkge1xuICAgIGlmICghY2FsbGJhY2spIHtcbiAgICAgIGlmICh0eXBlb2YgcGFyYW1zID09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBjYWxsYmFjayA9IHBhcmFtcztcbiAgICAgICAgcGFyYW1zID0ge307XG4gICAgICB9XG4gICAgfVxuXG4gICAgcGFyYW1zID0gcGFyYW1zIHx8IHt9O1xuICAgIGlmICghdXNlSnd0ICYmICF1c2VCYXNpY0F1dGgpIHtcbiAgICAgIHBhcmFtc1tcImFwaV9rZXlcIl0gPSB0aGlzLmNyZWRlbnRpYWxzLmFwaUtleTtcbiAgICAgIHBhcmFtc1tcImFwaV9zZWNyZXRcIl0gPSB0aGlzLmNyZWRlbnRpYWxzLmFwaVNlY3JldDtcbiAgICB9XG5cbiAgICBwYXRoID0gcGF0aCArIFwiP1wiICsgcXVlcnlzdHJpbmcuc3RyaW5naWZ5KHBhcmFtcyk7XG5cbiAgICBjb25zdCBoZWFkZXJzID0ge1xuICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCJcbiAgICB9O1xuICAgIGlmICh1c2VKd3QpIHtcbiAgICAgIGhlYWRlcnNbXCJBdXRob3JpemF0aW9uXCJdID0gYEJlYXJlciAke3RoaXMuY3JlZGVudGlhbHMuZ2VuZXJhdGVKd3QoKX1gO1xuICAgIH1cbiAgICBpZiAodXNlQmFzaWNBdXRoKSB7XG4gICAgICBoZWFkZXJzW1wiQXV0aG9yaXphdGlvblwiXSA9IGBCYXNpYyAke0J1ZmZlci5mcm9tKFxuICAgICAgICB0aGlzLmNyZWRlbnRpYWxzLmFwaUtleSArIFwiOlwiICsgdGhpcy5jcmVkZW50aWFscy5hcGlTZWNyZXRcbiAgICAgICkudG9TdHJpbmcoXCJiYXNlNjRcIil9YDtcbiAgICB9XG5cbiAgICB0aGlzLnJlcXVlc3QoXG4gICAgICB7XG4gICAgICAgIHBhdGg6IHBhdGgsXG4gICAgICAgIGhlYWRlcnNcbiAgICAgIH0sXG4gICAgICBcIkdFVFwiLFxuICAgICAgY2FsbGJhY2tcbiAgICApO1xuICB9XG5cbiAgZGVsZXRlKHBhdGgsIGNhbGxiYWNrLCB1c2VKd3QsIHVzZUJhc2ljQXV0aCkge1xuICAgIGxldCBwYXJhbXMgPSB7fTtcbiAgICBpZiAoIXVzZUp3dCAmJiAhdXNlQmFzaWNBdXRoKSB7XG4gICAgICBwYXJhbXNbXCJhcGlfa2V5XCJdID0gdGhpcy5jcmVkZW50aWFscy5hcGlLZXk7XG4gICAgICBwYXJhbXNbXCJhcGlfc2VjcmV0XCJdID0gdGhpcy5jcmVkZW50aWFscy5hcGlTZWNyZXQ7XG4gICAgfVxuXG4gICAgbGV0IGhlYWRlcnMgPSB7fTtcblxuICAgIGlmICh1c2VCYXNpY0F1dGgpIHtcbiAgICAgIGhlYWRlcnNbXCJBdXRob3JpemF0aW9uXCJdID0gYEJhc2ljICR7QnVmZmVyLmZyb20oXG4gICAgICAgIHRoaXMuY3JlZGVudGlhbHMuYXBpS2V5ICsgXCI6XCIgKyB0aGlzLmNyZWRlbnRpYWxzLmFwaVNlY3JldFxuICAgICAgKS50b1N0cmluZyhcImJhc2U2NFwiKX1gO1xuICAgIH1cbiAgICBwYXRoID0gcGF0aCArIFwiP1wiICsgcXVlcnlzdHJpbmcuc3RyaW5naWZ5KHBhcmFtcyk7XG5cbiAgICB0aGlzLnJlcXVlc3QoXG4gICAgICB7XG4gICAgICAgIHBhdGg6IHBhdGgsXG4gICAgICAgIGhlYWRlcnNcbiAgICAgIH0sXG4gICAgICBcIkRFTEVURVwiLFxuICAgICAgY2FsbGJhY2tcbiAgICApO1xuICB9XG5cbiAgcG9zdEZpbGUocGF0aCwgb3B0aW9ucywgY2FsbGJhY2ssIHVzZUp3dCkge1xuICAgIGxldCBxcyA9IHt9O1xuICAgIGlmICghdXNlSnd0KSB7XG4gICAgICBxc1tcImFwaV9rZXlcIl0gPSB0aGlzLmNyZWRlbnRpYWxzLmFwaUtleTtcbiAgICAgIHFzW1wiYXBpX3NlY3JldFwiXSA9IHRoaXMuY3JlZGVudGlhbHMuYXBpU2VjcmV0O1xuICAgIH1cblxuICAgIGlmIChPYmplY3Qua2V5cyhxcykubGVuZ3RoKSB7XG4gICAgICBsZXQgam9pbkNoYXIgPSBcIj9cIjtcbiAgICAgIGlmIChwYXRoLmluZGV4T2Yoam9pbkNoYXIpICE9PSAtMSkge1xuICAgICAgICBqb2luQ2hhciA9IFwiJlwiO1xuICAgICAgfVxuICAgICAgcGF0aCA9IHBhdGggKyBqb2luQ2hhciArIHF1ZXJ5c3RyaW5nLnN0cmluZ2lmeShxcyk7XG4gICAgfVxuXG4gICAgY29uc3QgZmlsZSA9IG9wdGlvbnMuZmlsZTtcbiAgICBkZWxldGUgb3B0aW9ucy5maWxlOyAvLyBXZSBkb24ndCBzZW5kIHRoaXMgYXMgbWV0YWRhdGFcblxuICAgIGNvbnN0IGZvcm1EYXRhID0ge307XG5cbiAgICBpZiAoZmlsZSkge1xuICAgICAgZm9ybURhdGFbXCJmaWxlZGF0YVwiXSA9IHtcbiAgICAgICAgdmFsdWU6IGZpbGUsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICBmaWxlbmFtZTogb3B0aW9ucy5maWxlbmFtZSB8fCBudWxsXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuaW5mbykge1xuICAgICAgZm9ybURhdGEuaW5mbyA9IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMuaW5mbyk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMudXJsKSB7XG4gICAgICBmb3JtRGF0YS51cmwgPSBvcHRpb25zLnVybDtcbiAgICB9XG5cbiAgICBsZXQgcHJvdG9jb2wgPSB0aGlzLnBvcnQgPT09IDQ0MyA/IFwiaHR0cHM6Ly9cIiA6IFwiaHR0cDovL1wiO1xuXG4gICAgdGhpcy5yZXF1ZXN0TGliLnBvc3QoXG4gICAgICB7XG4gICAgICAgIHVybDogcHJvdG9jb2wgKyB0aGlzLmhvc3QgKyBwYXRoLFxuICAgICAgICBmb3JtRGF0YTogZm9ybURhdGEsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dGhpcy5jcmVkZW50aWFscy5nZW5lcmF0ZUp3dCgpfWBcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGNhbGxiYWNrXG4gICAgKTtcbiAgfVxuXG4gIHBvc3QocGF0aCwgcGFyYW1zLCBjYWxsYmFjaywgdXNlSnd0LCBoZWFkZXJzKSB7XG4gICAgbGV0IHFzID0ge307XG4gICAgaWYgKCF1c2VKd3QpIHtcbiAgICAgIHFzW1wiYXBpX2tleVwiXSA9IHRoaXMuY3JlZGVudGlhbHMuYXBpS2V5O1xuICAgICAgcXNbXCJhcGlfc2VjcmV0XCJdID0gdGhpcy5jcmVkZW50aWFscy5hcGlTZWNyZXQ7XG4gICAgfVxuXG4gICAgbGV0IGpvaW5DaGFyID0gXCI/XCI7XG4gICAgaWYgKHBhdGguaW5kZXhPZihqb2luQ2hhcikgIT09IC0xKSB7XG4gICAgICBqb2luQ2hhciA9IFwiJlwiO1xuICAgIH1cblxuICAgIHBhdGggPSBwYXRoICsgam9pbkNoYXIgKyBxdWVyeXN0cmluZy5zdHJpbmdpZnkocXMpO1xuXG4gICAgaGVhZGVycyA9IGhlYWRlcnMgfHwge307XG4gICAgaWYgKHVzZUp3dCkge1xuICAgICAgaGVhZGVyc1tcIkF1dGhvcml6YXRpb25cIl0gPSBgQmVhcmVyICR7dGhpcy5jcmVkZW50aWFscy5nZW5lcmF0ZUp3dCgpfWA7XG4gICAgfVxuXG4gICAgbGV0IGVuY29kZWRQYXJhbXM7XG4gICAgaWYgKGhlYWRlcnNbXCJDb250ZW50LVR5cGVcIl0gPT0gXCJhcHBsaWNhdGlvbi9qc29uXCIpIHtcbiAgICAgIGVuY29kZWRQYXJhbXMgPSBKU09OLnN0cmluZ2lmeShwYXJhbXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBlbmNvZGVkUGFyYW1zID0gcXVlcnlzdHJpbmcuc3RyaW5naWZ5KHBhcmFtcyk7XG4gICAgfVxuXG4gICAgdGhpcy5yZXF1ZXN0KHsgcGF0aCwgYm9keTogZW5jb2RlZFBhcmFtcywgaGVhZGVycyB9LCBcIlBPU1RcIiwgY2FsbGJhY2spO1xuICB9XG5cbiAgcG9zdEpzb24ocGF0aCwgcGFyYW1zLCBjYWxsYmFjaywgdXNlSnd0LCB1c2VCYXNpY0F1dGgpIHtcbiAgICBsZXQgcXMgPSB7fTtcbiAgICBpZiAoIXVzZUp3dCAmJiAhdXNlQmFzaWNBdXRoKSB7XG4gICAgICBxc1tcImFwaV9rZXlcIl0gPSB0aGlzLmNyZWRlbnRpYWxzLmFwaUtleTtcbiAgICAgIHFzW1wiYXBpX3NlY3JldFwiXSA9IHRoaXMuY3JlZGVudGlhbHMuYXBpU2VjcmV0O1xuICAgIH1cblxuICAgIGxldCBqb2luQ2hhciA9IFwiP1wiO1xuICAgIGlmIChwYXRoLmluZGV4T2Yoam9pbkNoYXIpICE9PSAtMSkge1xuICAgICAgam9pbkNoYXIgPSBcIiZcIjtcbiAgICB9XG5cbiAgICBwYXRoID0gcGF0aCArIGpvaW5DaGFyICsgcXVlcnlzdHJpbmcuc3RyaW5naWZ5KHFzKTtcblxuICAgIGxldCBoZWFkZXJzID0ge1xuICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCJcbiAgICB9O1xuICAgIGlmICh1c2VCYXNpY0F1dGgpIHtcbiAgICAgIGhlYWRlcnNbXCJBdXRob3JpemF0aW9uXCJdID0gYEJhc2ljICR7QnVmZmVyLmZyb20oXG4gICAgICAgIHRoaXMuY3JlZGVudGlhbHMuYXBpS2V5ICsgXCI6XCIgKyB0aGlzLmNyZWRlbnRpYWxzLmFwaVNlY3JldFxuICAgICAgKS50b1N0cmluZyhcImJhc2U2NFwiKX1gO1xuICAgIH1cblxuICAgIHRoaXMucmVxdWVzdChcbiAgICAgIHtcbiAgICAgICAgcGF0aDogcGF0aCxcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkocGFyYW1zKSxcbiAgICAgICAgaGVhZGVyc1xuICAgICAgfSxcbiAgICAgIFwiUE9TVFwiLFxuICAgICAgY2FsbGJhY2tcbiAgICApO1xuICB9XG5cbiAgcG9zdFVzZVF1ZXJ5U3RyaW5nKHBhdGgsIHBhcmFtcywgY2FsbGJhY2ssIHVzZUp3dCkge1xuICAgIHBhcmFtcyA9IHBhcmFtcyB8fCB7fTtcbiAgICBpZiAoIXVzZUp3dCkge1xuICAgICAgcGFyYW1zW1wiYXBpX2tleVwiXSA9IHRoaXMuY3JlZGVudGlhbHMuYXBpS2V5O1xuICAgICAgcGFyYW1zW1wiYXBpX3NlY3JldFwiXSA9IHRoaXMuY3JlZGVudGlhbHMuYXBpU2VjcmV0O1xuICAgIH1cblxuICAgIHBhdGggPSBwYXRoICsgXCI/XCIgKyBxdWVyeXN0cmluZy5zdHJpbmdpZnkocGFyYW1zKTtcblxuICAgIHRoaXMucmVxdWVzdChcbiAgICAgIHtcbiAgICAgICAgcGF0aDogcGF0aFxuICAgICAgfSxcbiAgICAgIFwiUE9TVFwiLFxuICAgICAgY2FsbGJhY2tcbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IEh0dHBDbGllbnQ7XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9IdHRwQ2xpZW50LmpzIl0sIm5hbWVzIjpbImh0dHBzIiwicmVxdWlyZSIsImh0dHAiLCJyZXF1ZXN0IiwicXVlcnlzdHJpbmciLCJVUkwiLCJpc1ZhbGlkVXJsIiwicyIsIm8iLCJob3N0IiwiZXJyIiwiSHR0cENsaWVudCIsImNvbnN0cnVjdG9yIiwib3B0aW9ucyIsImNyZWRlbnRpYWxzIiwiaG9zdE92ZXJyaWRlIiwicG9ydCIsImhlYWRlcnMiLCJBY2NlcHQiLCJsb2dnZXIiLCJ0aW1lb3V0IiwicmVxdWVzdExpYiIsInVzZXJBZ2VudCIsImVuZHBvaW50IiwibWV0aG9kIiwiY2FsbGJhY2siLCJza2lwSnNvblBhcnNpbmciLCJjdXN0b21SZXNwb25zZVBhcnNlciIsInBhdGgiLCJPYmplY3QiLCJhc3NpZ24iLCJ1bmRlZmluZWQiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsInNpZ25hdHVyZVNlY3JldCIsInNpZ25hdHVyZU1ldGhvZCIsInNwbGl0UGF0aCIsInNwbGl0IiwicGFyYW1zIiwiZGVjb2RlIiwidGltZXN0YW1wIiwiRGF0ZSIsImdldFRpbWUiLCJ0b1N0cmluZyIsImFwaV9zZWNyZXQiLCJoYXNoIiwiZ2VuZXJhdGVTaWduYXR1cmUiLCJxdWVyeSIsInNvcnQiLCJlbmNvZGVVUkkiLCJyZXBsYWNlIiwiaW5mbyIsImJvZHkiLCJlbmQiLCJyZXNwb25zZURhdGEiLCJvbiIsInJlc3BvbnNlIiwiaXNCaW5hcnkiLCJzZXRFbmNvZGluZyIsImNodW5rIiwicHVzaCIsInN0YXR1c0NvZGUiLCJCdWZmZXIiLCJjb25jYXQiLCJfX3BhcnNlUmVzcG9uc2UiLCJlIiwiZXJyb3IiLCJodHRwUmVzcG9uc2UiLCJkYXRhIiwiaXNBcnJheU9yQnVmZmVyIiwiQXJyYXkiLCJFcnJvciIsInN0YXR1cyIsIm1lc3NhZ2UiLCJyZXRyeUFmdGVyTWlsbGlzIiwiam9pbiIsIkpTT04iLCJwYXJzZSIsInBhcnNlRXJyb3IiLCJfYWRkTGltaXRlZEFjY2Vzc01lc3NhZ2VUb0Vycm9ycyIsImxpbWl0ZWRBY2Nlc3NTdGF0dXMiLCJfSU5GT18iLCJnZXQiLCJ1c2VKd3QiLCJ1c2VCYXNpY0F1dGgiLCJhcGlLZXkiLCJhcGlTZWNyZXQiLCJzdHJpbmdpZnkiLCJnZW5lcmF0ZUp3dCIsImZyb20iLCJkZWxldGUiLCJwb3N0RmlsZSIsInFzIiwibGVuZ3RoIiwiam9pbkNoYXIiLCJpbmRleE9mIiwiZmlsZSIsImZvcm1EYXRhIiwidmFsdWUiLCJmaWxlbmFtZSIsInVybCIsInByb3RvY29sIiwicG9zdCIsIkF1dGhvcml6YXRpb24iLCJwb3N0SnNvbiIsInBvc3RVc2VRdWVyeVN0cmluZyJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLElBQUlBLEtBQUssR0FBR0MsT0FBTyxDQUFDLE9BQUQsQ0FBbkI7O0FBQ0EsSUFBSUMsSUFBSSxHQUFHRCxPQUFPLENBQUMsTUFBRCxDQUFsQjs7QUFDQSxJQUFJRSxPQUFPLEdBQUdGLE9BQU8sQ0FBQyxTQUFELENBQXJCOztBQUNBLElBQUlHLFdBQVcsR0FBR0gsT0FBTyxDQUFDLGFBQUQsQ0FBekI7O0FBQ0EsSUFBSUksR0FBRyxHQUFHSixPQUFPLENBQUMsS0FBRCxDQUFQLENBQWVJLEdBQXpCOztBQUVBLElBQU1DLFVBQVUsR0FBR0MsQ0FBQyxJQUFJO0FBQ3RCLE1BQUksQ0FBQ0EsQ0FBRCxJQUFNQSxDQUFDLEtBQUssSUFBaEIsRUFBc0IsT0FBTyxLQUFQOztBQUV0QixNQUFJO0FBQ0YsUUFBSUEsQ0FBQyxLQUFLLGVBQVYsRUFBMkIsT0FBT0EsQ0FBUDtBQUMzQixRQUFJQyxDQUFDLEdBQUcsSUFBSUgsR0FBSixDQUFRRSxDQUFSLENBQVI7QUFDQSxXQUFPQyxDQUFDLENBQUNDLElBQVQ7QUFDRCxHQUpELENBSUUsT0FBT0MsR0FBUCxFQUFZO0FBQ1osV0FBTyxLQUFQO0FBQ0Q7QUFDRixDQVZEOztBQVlBLE1BQU1DLFVBQU4sQ0FBaUI7QUFDZkMsRUFBQUEsV0FBVyxDQUFDQyxPQUFELEVBQVVDLFdBQVYsRUFB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LENBQWlCeUUsU0FEZixFQUVsQzNDLFFBRmtDLENBRXpCLFFBRnlCLENBQXBDO0FBR0Q7O0FBRUQsU0FBS3pDLE9BQUwsQ0FDRTtBQUNFeUIsTUFBQUEsSUFBSSxFQUFFQSxJQURSO0FBRUV5QixNQUFBQSxJQUFJLEVBQUV3QixJQUFJLENBQUNXLFNBQUwsQ0FBZWpELE1BQWYsQ0FGUjtBQUdFdEIsTUFBQUE7QUFIRixLQURGLEVBTUUsTUFORixFQU9FUSxRQVBGO0FBU0Q7O0FBRURpRixFQUFBQSxrQkFBa0IsQ0FBQzlFLElBQUQsRUFBT1csTUFBUCxFQUFlZCxRQUFmLEVBQXlCMkQsTUFBekIsRUFBaUM7QUFDakQ3QyxJQUFBQSxNQUFNLEdBQUdBLE1BQU0sSUFBSSxFQUFuQjs7QUFDQSxRQUFJLENBQUM2QyxNQUFMLEVBQWE7QUFDWDdDLE1BQUFBLE1BQU0sQ0FBQyxTQUFELENBQU4sR0FBb0IsS0FBS3pCLFdBQUwsQ0FBaUJ3RSxNQUFyQztBQUNBL0MsTUFBQUEsTUFBTSxDQUFDLFlBQUQsQ0FBTixHQUF1QixLQUFLekIsV0FBTCxDQUFpQnlFLFNBQXhDO0FBQ0Q7O0FBRUQzRCxJQUFBQSxJQUFJLEdBQUdBLElBQUksR0FBRyxHQUFQLEdBQWF4QixXQUFXLENBQUNvRixTQUFaLENBQXNCakQsTUFBdEIsQ0FBcEI7QUFFQSxTQUFLcEMsT0FBTCxDQUNFO0FBQ0V5QixNQUFBQSxJQUFJLEVBQUVBO0FBRFIsS0FERixFQUlFLE1BSkYsRUFLRUgsUUFMRjtBQU9EOztBQXhiYzs7ZUEyYkZkLFUiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgaHR0cHMgPSByZXF1aXJlKFwiaHR0cHNcIik7XG52YXIgaHR0cCA9IHJlcXVpcmUoXCJodHRwXCIpO1xudmFyIHJlcXVlc3QgPSByZXF1aXJlKFwicmVxdWVzdFwiKTtcbnZhciBxdWVyeXN0cmluZyA9IHJlcXVpcmUoXCJxdWVyeXN0cmluZ1wiKTtcbnZhciBVUkwgPSByZXF1aXJlKFwidXJsXCIpLlVSTDtcblxuY29uc3QgaXNWYWxpZFVybCA9IHMgPT4ge1xuICBpZiAoIXMgfHwgcyA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuXG4gIHRyeSB7XG4gICAgaWYgKHMgPT09IFwiYXBpLm5leG1vLmNvbVwiKSByZXR1cm4gcztcbiAgICBsZXQgbyA9IG5ldyBVUkwocyk7XG4gICAgcmV0dXJuIG8uaG9zdDtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59O1xuXG5jbGFzcyBIdHRwQ2xpZW50IHtcbiAgY29uc3RydWN0b3Iob3B0aW9ucywgY3JlZGVudGlhbHMpIHtcbiAgICBsZXQgaG9zdE92ZXJyaWRlID0gaXNWYWxpZFVybChvcHRpb25zLmhvc3QpO1xuICAgIHRoaXMuY3JlZGVudGlhbHMgPSBjcmVkZW50aWFscztcbiAgICB0aGlzLmhvc3QgPSBob3N0T3ZlcnJpZGUgPyBob3N0T3ZlcnJpZGUgOiBgcmVzdC5uZXhtby5jb21gO1xuICAgIHRoaXMucG9ydCA9IG9wdGlvbnMucG9ydCB8fCA0NDM7XG4gICAgdGhpcy5odHRwcyA9IG9wdGlvbnMuaHR0cHMgfHwgaHR0cHM7XG4gICAgdGhpcy5odHRwID0gb3B0aW9ucy5odHRwIHx8IGh0dHA7XG4gICAgdGhpcy5oZWFkZXJzID0ge1xuICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIixcbiAgICAgIEFjY2VwdDogXCJhcHBsaWNhdGlvbi9qc29uXCJcbiAgICB9O1xuICAgIHRoaXMubG9nZ2VyID0gb3B0aW9ucy5sb2dnZXI7XG4gICAgdGhpcy50aW1lb3V0ID0gb3B0aW9ucy50aW1lb3V0O1xuICAgIHRoaXMucmVxdWVzdExpYiA9IHJlcXVlc3Q7XG5cbiAgICBpZiAob3B0aW9ucy51c2VyQWdlbnQpIHtcbiAgICAgIHRoaXMuaGVhZGVyc1tcIlVzZXItQWdlbnRcIl0gPSBvcHRpb25zLnVzZXJBZ2VudDtcbiAgICB9XG4gIH1cblxuICByZXF1ZXN0KFxuICAgIGVuZHBvaW50LFxuICAgIG1ldGhvZCxcbiAgICBjYWxsYmFjayxcbiAgICBza2lwSnNvblBhcnNpbmcgPSBmYWxzZSxcbiAgICBjdXN0b21SZXNwb25zZVBhcnNlclxuICApIHtcbiAgICBpZiAodHlwZW9mIG1ldGhvZCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICBjYWxsYmFjayA9IG1ldGhvZDtcbiAgICAgIGVuZHBvaW50Lm1ldGhvZCA9IGVuZHBvaW50Lm1ldGhvZCB8fCBcIkdFVFwiO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIG1ldGhvZCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgZW5kcG9pbnQubWV0aG9kID0gbWV0aG9kO1xuICAgIH1cblxuICAgIGlmIChlbmRwb2ludC5tZXRob2QgPT09IFwiUE9TVFwiIHx8IGVuZHBvaW50Lm1ldGhvZCA9PT0gXCJERUxFVEVcIikge1xuICAgICAgLy8gVE9ETzogdmVyaWZ5IHRoZSBmb2xsb3dpbmcgZml4IGlzIHJlcXVpcmVkXG4gICAgICAvLyBGaXggYnJva2VuIGR1ZSBvdCA0MTEgQ29udGVudC1MZW5ndGggZXJyb3Igbm93IHNlbnQgYnkgVm9uYWdlIEFQSVxuICAgICAgLy8gUEwgMjAxNi1TZXB0LTYgLSBjb21tZW50ZWQgb3V0IENvbnRlbnQtTGVuZ3RoIDBcbiAgICAgIC8vIGhlYWRlcnNbJ0NvbnRlbnQtTGVuZ3RoJ10gPSAwO1xuICAgIH1cbiAgICB2YXIgb3B0aW9ucyA9IHtcbiAgICAgIGhvc3Q6IGVuZHBvaW50Lmhvc3QgPyBlbmRwb2ludC5ob3N0IDogdGhpcy5ob3N0LFxuICAgICAgcG9ydDogdGhpcy5wb3J0LFxuICAgICAgcGF0aDogZW5kcG9pbnQucGF0aCxcbiAgICAgIG1ldGhvZDogZW5kcG9pbnQubWV0aG9kLFxuICAgICAgaGVhZGVyczogT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5oZWFkZXJzKVxuICAgIH07XG5cbiAgICBpZiAodGhpcy50aW1lb3V0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9wdGlvbnMudGltZW91dCA9IHRoaXMudGltZW91dDtcbiAgICB9XG5cbiAgICAvLyBBbGxvdyBleGlzdGluZyBoZWFkZXJzIHRvIGJlIG92ZXJyaWRkZW5cbiAgICAvLyBBbGxvdyBuZXcgaGVhZGVycyB0byBiZSBhZGRlZFxuICAgIGlmIChlbmRwb2ludC5oZWFkZXJzKSB7XG4gICAgICBPYmplY3Qua2V5cyhlbmRwb2ludC5oZWFkZXJzKS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkge1xuICAgICAgICBvcHRpb25zLmhlYWRlcnNba2V5XSA9IGVuZHBvaW50LmhlYWRlcnNba2V5XTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNyZWRlbnRpYWxzLnNpZ25hdHVyZVNlY3JldCAmJiB0aGlzLmNyZWRlbnRpYWxzLnNpZ25hdHVyZU1ldGhvZCkge1xuICAgICAgY29uc3Qgc3BsaXRQYXRoID0gb3B0aW9ucy5wYXRoLnNwbGl0KC9cXD8oLispLyk7XG4gICAgICBjb25zdCBwYXRoID0gc3BsaXRQYXRoWzBdO1xuXG4gICAgICB2YXIgcGFyYW1zID0gcXVlcnlzdHJpbmcuZGVjb2RlKHNwbGl0UGF0aFsxXSk7XG5cbiAgICAgIC8vIGFkZCB0aW1lc3RhbXAgaWYgbm90IGFscmVhZHkgcHJlc2VudFxuICAgICAgaWYgKCFwYXJhbXMudGltZXN0YW1wKSB7XG4gICAgICAgIHBhcmFtcy50aW1lc3RhbXAgPSAobmV3IERhdGUoKS5nZXRUaW1lKCkgLyAxMDAwKSB8IDA7IC8vIGZsb29yIHRvIHNlY29uZHNcbiAgICAgICAgcGFyYW1zLnRpbWVzdGFtcCA9IHBhcmFtcy50aW1lc3RhbXAudG9TdHJpbmcoKTtcbiAgICAgIH1cblxuICAgICAgLy8gc3RyaXAgQVBJIFNlY3JldFxuICAgICAgZGVsZXRlIHBhcmFtcy5hcGlfc2VjcmV0O1xuXG4gICAgICBjb25zdCBoYXNoID0gdGhpcy5jcmVkZW50aWFscy5nZW5lcmF0ZVNpZ25hdHVyZShwYXJhbXMpO1xuXG4gICAgICB2YXIgcXVlcnkgPSBcIlwiO1xuXG4gICAgICAvLyByZWJ1aWxkIHF1ZXJ5XG4gICAgICBPYmplY3Qua2V5cyhwYXJhbXMpXG4gICAgICAgIC5zb3J0KClcbiAgICAgICAgLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICBxdWVyeSArPSBcIiZcIiArIGtleSArIFwiPVwiICsgZW5jb2RlVVJJKHBhcmFtc1trZXldKTtcbiAgICAgICAgfSk7XG5cbiAgICAgIC8vIHJlcGxhY2UgdGhlIGZpcnN0ICYgd2l0aCA/XG4gICAgICBxdWVyeSA9IHF1ZXJ5LnJlcGxhY2UoLyYvaSwgXCI/XCIpO1xuXG4gICAgICBvcHRpb25zLnBhdGggPSBgJHtwYXRofSR7cXVlcnl9JnNpZz0ke2hhc2h9YDtcbiAgICB9XG5cbiAgICB0aGlzLmxvZ2dlci5pbmZvKFwiUmVxdWVzdDpcIiwgb3B0aW9ucywgXCJcXG5Cb2R5OlwiLCBlbmRwb2ludC5ib2R5KTtcbiAgICB2YXIgcmVxdWVzdDtcblxuICAgIGlmIChvcHRpb25zLnBvcnQgPT09IDQ0Mykge1xuICAgICAgcmVxdWVzdCA9IHRoaXMuaHR0cHMucmVxdWVzdChvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVxdWVzdCA9IHRoaXMuaHR0cC5yZXF1ZXN0KG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHJlcXVlc3QuZW5kKGVuZHBvaW50LmJvZHkpO1xuXG4gICAgLy8gS2VlcCBhbiBhcnJheSBvZiBTdHJpbmcgb3IgQnVmZmVycyxcbiAgICAvLyBkZXBlbmRpbmcgb24gY29udGVudCB0eXBlIChiaW5hcnkgb3IgSlNPTikgb2YgcmVzcG9uc2VcbiAgICB2YXIgcmVzcG9uc2VEYXRhID0gW107XG5cbiAgICByZXF1ZXN0Lm9uKFwicmVzcG9uc2VcIiwgcmVzcG9uc2UgPT4ge1xuICAgICAgdmFyIGlzQmluYXJ5ID1cbiAgICAgICAgcmVzcG9uc2UuaGVhZGVyc1tcImNvbnRlbnQtdHlwZVwiXSA9PT0gXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIjtcbiAgICAgIGlmICghaXNCaW5hcnkpIHtcbiAgICAgICAgcmVzcG9uc2Uuc2V0RW5jb2RpbmcoXCJ1dGY4XCIpO1xuICAgICAgfVxuXG4gICAgICByZXNwb25zZS5vbihcImRhdGFcIiwgY2h1bmsgPT4ge1xuICAgICAgICByZXNwb25zZURhdGEucHVzaChjaHVuayk7XG4gICAgICB9KTtcblxuICAgICAgcmVzcG9uc2Uub24oXCJlbmRcIiwgKCkgPT4ge1xuICAgICAgICB0aGlzLmxvZ2dlci5pbmZvKFwicmVzcG9uc2UgZW5kZWQ6XCIsIHJlc3BvbnNlLnN0YXR1c0NvZGUpO1xuICAgICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgICBpZiAoaXNCaW5hcnkpIHtcbiAgICAgICAgICAgIHJlc3BvbnNlRGF0YSA9IEJ1ZmZlci5jb25jYXQocmVzcG9uc2VEYXRhKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLl9fcGFyc2VSZXNwb25zZShcbiAgICAgICAgICAgIHJlc3BvbnNlLFxuICAgICAgICAgICAgcmVzcG9uc2VEYXRhLFxuICAgICAgICAgICAgZW5kcG9pbnQubWV0aG9kLFxuICAgICAgICAgICAgY2FsbGJhY2ssXG4gICAgICAgICAgICBza2lwSnNvblBhcnNpbmcsXG4gICAgICAgICAgICBjdXN0b21SZXNwb25zZVBhcnNlclxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgcmVzcG9uc2Uub24oXCJjbG9zZVwiLCBlID0+IHtcbiAgICAgICAgaWYgKGUpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICAgIFwicHJvYmxlbSB3aXRoIEFQSSByZXF1ZXN0IGRldGFpbGVkIHN0YWNrdHJhY2UgYmVsb3cgXCJcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKGUpO1xuICAgICAgICAgIGNhbGxiYWNrKGUpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgICByZXF1ZXN0Lm9uKFwiZXJyb3JcIiwgZSA9PiB7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihcInByb2JsZW0gd2l0aCBBUEkgcmVxdWVzdCBkZXRhaWxlZCBzdGFja3RyYWNlIGJlbG93IFwiKTtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKGUpO1xuICAgICAgY2FsbGJhY2soZSk7XG4gICAgfSk7XG4gIH1cblxuICBfX3BhcnNlUmVzcG9uc2UoXG4gICAgaHR0cFJlc3BvbnNlLFxuICAgIGRhdGEsXG4gICAgbWV0aG9kLFxuICAgIGNhbGxiYWNrLFxuICAgIHNraXBKc29uUGFyc2luZyxcbiAgICBjdXN0b21SZXNwb25zZVBhcnNlclxuICApIHtcbiAgICBjb25zdCBpc0FycmF5T3JCdWZmZXIgPSBkYXRhIGluc3RhbmNlb2YgQXJyYXkgfHwgZGF0YSBpbnN0YW5jZW9mIEJ1ZmZlcjtcbiAgICBpZiAoIWlzQXJyYXlPckJ1ZmZlcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiZGF0YSBzaG91bGQgYmUgb2YgdHlwZSBBcnJheSBvciBCdWZmZXJcIik7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RhdHVzID0gaHR0cFJlc3BvbnNlLnN0YXR1c0NvZGU7XG4gICAgY29uc3QgaGVhZGVycyA9IGh0dHBSZXNwb25zZS5oZWFkZXJzO1xuXG4gICAgbGV0IHJlc3BvbnNlID0gbnVsbDtcbiAgICB2YXIgZXJyb3IgPSBudWxsO1xuXG4gICAgdHJ5IHtcbiAgICAgIGlmIChzdGF0dXMgPj0gNTAwKSB7XG4gICAgICAgIGVycm9yID0ge1xuICAgICAgICAgIG1lc3NhZ2U6IFwiU2VydmVyIEVycm9yXCIsXG4gICAgICAgICAgc3RhdHVzQ29kZTogc3RhdHVzXG4gICAgICAgIH07XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBodHRwUmVzcG9uc2UuaGVhZGVyc1tcImNvbnRlbnQtdHlwZVwiXSA9PT0gXCJhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW1cIlxuICAgICAgKSB7XG4gICAgICAgIHJlc3BvbnNlID0gZGF0YTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSA0MjkpIHtcbiAgICAgICAgLy8gNDI5IGRvZXMgbm90IHJldHVybiBhIHBhcnNhYmxlIGJvZHlcbiAgICAgICAgaWYgKCFoZWFkZXJzW1wicmV0cnktYWZ0ZXJcIl0pIHtcbiAgICAgICAgICAvLyByZXRyeSBiYXNlZCBvbiBhbGxvd2VkIHBlciBzZWNvbmRcbiAgICAgICAgICBjb25zdCByZXRyeUFmdGVyTWlsbGlzID0gbWV0aG9kID09PSBcIlBPU1RcIiA/IDEwMDAgLyAyIDogMTAwMCAvIDU7XG4gICAgICAgICAgaGVhZGVyc1tcInJldHJ5LWFmdGVyXCJdID0gcmV0cnlBZnRlck1pbGxpcztcbiAgICAgICAgfVxuICAgICAgICBlcnJvciA9IHtcbiAgICAgICAgICBib2R5OiBkYXRhLmpvaW4oXCJcIilcbiAgICAgICAgfTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSAyMDQpIHtcbiAgICAgICAgcmVzcG9uc2UgPSBudWxsO1xuICAgICAgfSBlbHNlIGlmIChzdGF0dXMgPj0gNDAwIHx8IHN0YXR1cyA8IDIwMCkge1xuICAgICAgICBlcnJvciA9IHtcbiAgICAgICAgICBib2R5OiBKU09OLnBhcnNlKGRhdGEuam9pbihcIlwiKSksXG4gICAgICAgICAgaGVhZGVyc1xuICAgICAgICB9O1xuICAgICAgfSBlbHNlIGlmIChtZXRob2QgIT09IFwiREVMRVRFXCIpIHtcbiAgICAgICAgaWYgKCEhc2tpcEpzb25QYXJzaW5nKSB7XG4gICAgICAgICAgcmVzcG9uc2UgPSBkYXRhLmpvaW4oXCJcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzcG9uc2UgPSBKU09OLnBhcnNlKGRhdGEuam9pbihcIlwiKSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3BvbnNlID0gZGF0YTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChwYXJzZUVycm9yKSB7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihwYXJzZUVycm9yKTtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFxuICAgICAgICBcImNvdWxkIG5vdCBjb252ZXJ0IEFQSSByZXNwb25zZSB0byBKU09OLCBhYm92ZSBlcnJvciBpcyBpZ25vcmVkIGFuZCByYXcgQVBJIHJlc3BvbnNlIGlzIHJldHVybmVkIHRvIGNsaWVudFwiXG4gICAgICApO1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXCJSYXcgRXJyb3IgbWVzc2FnZSBmcm9tIEFQSSBcIik7XG4gICAgICB0aGlzLmxvZ2dlci5lcnJvcihgXCIke2RhdGF9XCJgKTtcblxuICAgICAgZXJyb3IgPSB7XG4gICAgICAgIHN0YXR1czogc3RhdHVzLFxuICAgICAgICBtZXNzYWdlOiBcIlRoZSBBUEkgcmVzcG9uc2UgY291bGQgbm90IGJlIHBhcnNlZC5cIixcbiAgICAgICAgYm9keTogZGF0YS5qb2luKFwiXCIpLFxuICAgICAgICBwYXJzZUVycm9yOiBwYXJzZUVycm9yXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChlcnJvcikge1xuICAgICAgZXJyb3Iuc3RhdHVzQ29kZSA9IHN0YXR1cztcbiAgICAgIGVycm9yLmhlYWRlcnMgPSBoZWFkZXJzO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgaWYgKHR5cGVvZiBjdXN0b21SZXNwb25zZVBhcnNlciA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIC8vIGRvbid0IHRyeSB0byBwYXJzZSB0aGUgcmVzcG9uc2Ugb24gZXJyb3JzXG4gICAgICAgIGlmIChyZXNwb25zZSkge1xuICAgICAgICAgIHJlc3BvbnNlID0gY3VzdG9tUmVzcG9uc2VQYXJzZXIocmVzcG9uc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjYWxsYmFjayhlcnJvciwgcmVzcG9uc2UpO1xuICAgIH1cbiAgfVxuXG4gIF9hZGRMaW1pdGVkQWNjZXNzTWVzc2FnZVRvRXJyb3JzKGNhbGxiYWNrLCBsaW1pdGVkQWNjZXNzU3RhdHVzKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uKGVyciwgZGF0YSkge1xuICAgICAgaWYgKGVyciAmJiBlcnIuc3RhdHVzID09IGxpbWl0ZWRBY2Nlc3NTdGF0dXMpIHtcbiAgICAgICAgZXJyLl9JTkZPXyA9XG4gICAgICAgICAgXCJUaGlzIGVuZHBvaW50IG1heSBuZWVkIGFjdGl2YXRpbmcgb24geW91ciBhY2NvdW50LiBQbGVhc2UgZW1haWwgc3VwcG9ydEBuZXhtby5jb20gZm9yIG1vcmUgaW5mb3JtYXRpb25cIjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNhbGxiYWNrKGVyciwgZGF0YSk7XG4gICAgfTtcbiAgfVxuXG4gIGdldChwYXRoLCBwYXJhbXMsIGNhbGxiYWNrLCB1c2VKd3QgPSBmYWxzZSwgdXNlQmFzaWNBdXRoID0gZmFsc2UpIHtcbiAgICBpZiAoIWNhbGxiYWNrKSB7XG4gICAgICBpZiAodHlwZW9mIHBhcmFtcyA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgY2FsbGJhY2sgPSBwYXJhbXM7XG4gICAgICAgIHBhcmFtcyA9IHt9O1xuICAgICAgfVxuICAgIH1cblxuICAgIHBhcmFtcyA9IHBhcmFtcyB8fCB7fTtcbiAgICBpZiAoIXVzZUp3dCAmJiAhdXNlQmFzaWNBdXRoKSB7XG4gICAgICBwYXJhbXNbXCJhcGlfa2V5XCJdID0gdGhpcy5jcmVkZW50aWFscy5hcGlLZXk7XG4gICAgICBwYXJhbXNbXCJhcGlfc2VjcmV0XCJdID0gdGhpcy5jcmVkZW50aWFscy5hcGlTZWNyZXQ7XG4gICAgfVxuXG4gICAgcGF0aCA9IHBhdGggKyBcIj9cIiArIHF1ZXJ5c3RyaW5nLnN0cmluZ2lmeShwYXJhbXMpO1xuXG4gICAgY29uc3QgaGVhZGVycyA9IHtcbiAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiXG4gICAgfTtcbiAgICBpZiAodXNlSnd0KSB7XG4gICAgICBoZWFkZXJzW1wiQXV0aG9yaXphdGlvblwiXSA9IGBCZWFyZXIgJHt0aGlzLmNyZWRlbnRpYWxzLmdlbmVyYXRlSnd0KCl9YDtcbiAgICB9XG4gICAgaWYgKHVzZUJhc2ljQXV0aCkge1xuICAgICAgaGVhZGVyc1tcIkF1dGhvcml6YXRpb25cIl0gPSBgQmFzaWMgJHtCdWZmZXIuZnJvbShcbiAgICAgICAgdGhpcy5jcmVkZW50aWFscy5hcGlLZXkgKyBcIjpcIiArIHRoaXMuY3JlZGVudGlhbHMuYXBpU2VjcmV0XG4gICAgICApLnRvU3RyaW5nKFwiYmFzZTY0XCIpfWA7XG4gICAgfVxuXG4gICAgdGhpcy5yZXF1ZXN0KFxuICAgICAge1xuICAgICAgICBwYXRoOiBwYXRoLFxuICAgICAgICBoZWFkZXJzXG4gICAgICB9LFxuICAgICAgXCJHRVRcIixcbiAgICAgIGNhbGxiYWNrXG4gICAgKTtcbiAgfVxuXG4gIGRlbGV0ZShwYXRoLCBjYWxsYmFjaywgdXNlSnd0LCB1c2VCYXNpY0F1dGgpIHtcbiAgICBsZXQgcGFyYW1zID0ge307XG4gICAgaWYgKCF1c2VKd3QgJiYgIXVzZUJhc2ljQXV0aCkge1xuICAgICAgcGFyYW1zW1wiYXBpX2tleVwiXSA9IHRoaXMuY3JlZGVudGlhbHMuYXBpS2V5O1xuICAgICAgcGFyYW1zW1wiYXBpX3NlY3JldFwiXSA9IHRoaXMuY3JlZGVudGlhbHMuYXBpU2VjcmV0O1xuICAgIH1cblxuICAgIGxldCBoZWFkZXJzID0ge307XG5cbiAgICBpZiAodXNlQmFzaWNBdXRoKSB7XG4gICAgICBoZWFkZXJzW1wiQXV0aG9yaXphdGlvblwiXSA9IGBCYXNpYyAke0J1ZmZlci5mcm9tKFxuICAgICAgICB0aGlzLmNyZWRlbnRpYWxzLmFwaUtleSArIFwiOlwiICsgdGhpcy5jcmVkZW50aWFscy5hcGlTZWNyZXRcbiAgICAgICkudG9TdHJpbmcoXCJiYXNlNjRcIil9YDtcbiAgICB9XG4gICAgcGF0aCA9IHBhdGggKyBcIj9cIiArIHF1ZXJ5c3RyaW5nLnN0cmluZ2lmeShwYXJhbXMpO1xuXG4gICAgdGhpcy5yZXF1ZXN0KFxuICAgICAge1xuICAgICAgICBwYXRoOiBwYXRoLFxuICAgICAgICBoZWFkZXJzXG4gICAgICB9LFxuICAgICAgXCJERUxFVEVcIixcbiAgICAgIGNhbGxiYWNrXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RGaWxlKHBhdGgsIG9wdGlvbnMsIGNhbGxiYWNrLCB1c2VKd3QpIHtcbiAgICBsZXQgcXMgPSB7fTtcbiAgICBpZiAoIXVzZUp3dCkge1xuICAgICAgcXNbXCJhcGlfa2V5XCJdID0gdGhpcy5jcmVkZW50aWFscy5hcGlLZXk7XG4gICAgICBxc1tcImFwaV9zZWNyZXRcIl0gPSB0aGlzLmNyZWRlbnRpYWxzLmFwaVNlY3JldDtcbiAgICB9XG5cbiAgICBpZiAoT2JqZWN0LmtleXMocXMpLmxlbmd0aCkge1xuICAgICAgbGV0IGpvaW5DaGFyID0gXCI/XCI7XG4gICAgICBpZiAocGF0aC5pbmRleE9mKGpvaW5DaGFyKSAhPT0gLTEpIHtcbiAgICAgICAgam9pbkNoYXIgPSBcIiZcIjtcbiAgICAgIH1cbiAgICAgIHBhdGggPSBwYXRoICsgam9pbkNoYXIgKyBxdWVyeXN0cmluZy5zdHJpbmdpZnkocXMpO1xuICAgIH1cblxuICAgIGNvbnN0IGZpbGUgPSBvcHRpb25zLmZpbGU7XG4gICAgZGVsZXRlIG9wdGlvbnMuZmlsZTsgLy8gV2UgZG9uJ3Qgc2VuZCB0aGlzIGFzIG1ldGFkYXRhXG5cbiAgICBjb25zdCBmb3JtRGF0YSA9IHt9O1xuXG4gICAgaWYgKGZpbGUpIHtcbiAgICAgIGZvcm1EYXRhW1wiZmlsZWRhdGFcIl0gPSB7XG4gICAgICAgIHZhbHVlOiBmaWxlLFxuICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgZmlsZW5hbWU6IG9wdGlvbnMuZmlsZW5hbWUgfHwgbnVsbFxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmluZm8pIHtcbiAgICAgIGZvcm1EYXRhLmluZm8gPSBKU09OLnN0cmluZ2lmeShvcHRpb25zLmluZm8pO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnVybCkge1xuICAgICAgZm9ybURhdGEudXJsID0gb3B0aW9ucy51cmw7XG4gICAgfVxuXG4gICAgbGV0IHByb3RvY29sID0gdGhpcy5wb3J0ID09PSA0NDMgPyBcImh0dHBzOi8vXCIgOiBcImh0dHA6Ly9cIjtcblxuICAgIHRoaXMucmVxdWVzdExpYi5wb3N0KFxuICAgICAge1xuICAgICAgICB1cmw6IHByb3RvY29sICsgdGhpcy5ob3N0ICsgcGF0aCxcbiAgICAgICAgZm9ybURhdGE6IGZvcm1EYXRhLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3RoaXMuY3JlZGVudGlhbHMuZ2VuZXJhdGVKd3QoKX1gXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBjYWxsYmFja1xuICAgICk7XG4gIH1cblxuICBwb3N0KHBhdGgsIHBhcmFtcywgY2FsbGJhY2ssIHVzZUp3dCkge1xuICAgIGxldCBxcyA9IHt9O1xuICAgIGlmICghdXNlSnd0KSB7XG4gICAgICBxc1tcImFwaV9rZXlcIl0gPSB0aGlzLmNyZWRlbnRpYWxzLmFwaUtleTtcbiAgICAgIHFzW1wiYXBpX3NlY3JldFwiXSA9IHRoaXMuY3JlZGVudGlhbHMuYXBpU2VjcmV0O1xuICAgIH1cblxuICAgIGxldCBqb2luQ2hhciA9IFwiP1wiO1xuICAgIGlmIChwYXRoLmluZGV4T2Yoam9pbkNoYXIpICE9PSAtMSkge1xuICAgICAgam9pbkNoYXIgPSBcIiZcIjtcbiAgICB9XG5cbiAgICBwYXRoID0gcGF0aCArIGpvaW5DaGFyICsgcXVlcnlzdHJpbmcuc3RyaW5naWZ5KHFzKTtcblxuICAgIHRoaXMucmVxdWVzdChcbiAgICAgIHtcbiAgICAgICAgcGF0aDogcGF0aCxcbiAgICAgICAgYm9keTogcXVlcnlzdHJpbmcuc3RyaW5naWZ5KHBhcmFtcylcbiAgICAgIH0sXG4gICAgICBcIlBPU1RcIixcbiAgICAgIGNhbGxiYWNrXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RKc29uKHBhdGgsIHBhcmFtcywgY2FsbGJhY2ssIHVzZUp3dCwgdXNlQmFzaWNBdXRoKSB7XG4gICAgbGV0IHFzID0ge307XG4gICAgaWYgKCF1c2VKd3QgJiYgIXVzZUJhc2ljQXV0aCkge1xuICAgICAgcXNbXCJhcGlfa2V5XCJdID0gdGhpcy5jcmVkZW50aWFscy5hcGlLZXk7XG4gICAgICBxc1tcImFwaV9zZWNyZXRcIl0gPSB0aGlzLmNyZWRlbnRpYWxzLmFwaVNlY3JldDtcbiAgICB9XG5cbiAgICBsZXQgam9pbkNoYXIgPSBcIj9cIjtcbiAgICBpZiAocGF0aC5pbmRleE9mKGpvaW5DaGFyKSAhPT0gLTEpIHtcbiAgICAgIGpvaW5DaGFyID0gXCImXCI7XG4gICAgfVxuXG4gICAgcGF0aCA9IHBhdGggKyBqb2luQ2hhciArIHF1ZXJ5c3RyaW5nLnN0cmluZ2lmeShxcyk7XG5cbiAgICBsZXQgaGVhZGVycyA9IHtcbiAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiXG4gICAgfTtcbiAgICBpZiAodXNlQmFzaWNBdXRoKSB7XG4gICAgICBoZWFkZXJzW1wiQXV0aG9yaXphdGlvblwiXSA9IGBCYXNpYyAke0J1ZmZlci5mcm9tKFxuICAgICAgICB0aGlzLmNyZWRlbnRpYWxzLmFwaUtleSArIFwiOlwiICsgdGhpcy5jcmVkZW50aWFscy5hcGlTZWNyZXRcbiAgICAgICkudG9TdHJpbmcoXCJiYXNlNjRcIil9YDtcbiAgICB9XG5cbiAgICB0aGlzLnJlcXVlc3QoXG4gICAgICB7XG4gICAgICAgIHBhdGg6IHBhdGgsXG4gICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHBhcmFtcyksXG4gICAgICAgIGhlYWRlcnNcbiAgICAgIH0sXG4gICAgICBcIlBPU1RcIixcbiAgICAgIGNhbGxiYWNrXG4gICAgKTtcbiAgfVxuXG4gIHBvc3RVc2VRdWVyeVN0cmluZyhwYXRoLCBwYXJhbXMsIGNhbGxiYWNrLCB1c2VKd3QpIHtcbiAgICBwYXJhbXMgPSBwYXJhbXMgfHwge307XG4gICAgaWYgKCF1c2VKd3QpIHtcbiAgICAgIHBhcmFtc1tcImFwaV9rZXlcIl0gPSB0aGlzLmNyZWRlbnRpYWxzLmFwaUtleTtcbiAgICAgIHBhcmFtc1tcImFwaV9zZWNyZXRcIl0gPSB0aGlzLmNyZWRlbnRpYWxzLmFwaVNlY3JldDtcbiAgICB9XG5cbiAgICBwYXRoID0gcGF0aCArIFwiP1wiICsgcXVlcnlzdHJpbmcuc3RyaW5naWZ5KHBhcmFtcyk7XG5cbiAgICB0aGlzLnJlcXVlc3QoXG4gICAgICB7XG4gICAgICAgIHBhdGg6IHBhdGhcbiAgICAgIH0sXG4gICAgICBcIlBPU1RcIixcbiAgICAgIGNhbGxiYWNrXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBIdHRwQ2xpZW50O1xuIl19

@@ -8,9 +8,20 @@ "use strict";

var _index = _interopRequireDefault(require("./index"));
var _Pricing = _interopRequireDefault(require("./Pricing"));
var _Utils = _interopRequireDefault(require("./Utils"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
class Number {
static get PATH() {
return "/number";
}
static get ERROR_MESSAGES() {
return {
optionsNotAnObject: "Options parameter should be a dictionary. Check the docs for valid properties for options",
countrycode: "Invalid Country Code",
msisdn: "Invalid MSISDN passed"
};
}
/**

@@ -22,2 +33,4 @@ * @param {Credentials} credentials

*/
constructor(credentials) {

@@ -27,7 +40,3 @@ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};

this.options = options;
this._pricing = new _Pricing.default(credentials, options); // Used to facilitate testing of the call to the underlying object
this._vonage = this.options.vonageOverride || _index.default;
this._vonage.initialize(this.creds.apiKey, this.creds.apiSecret, this.options);
this._pricing = new _Pricing.default(credentials, options);
}

@@ -55,4 +64,15 @@ /**

get() {
this._vonage.getNumbers.apply(this._vonage, arguments);
get(options, callback) {
if (typeof options === "function") {
callback = options;
options = {};
} else if (typeof options !== "object") {
_Utils.default.sendError(callback, new Error(Number.ERROR_MESSAGES.optionsNotAnObject));
}
options.api_key = options.api_key || this.creds.apiKey;
options.api_secret = options.api_secret || this.creds.apiSecret;
this.options.httpClient.request({
path: _Utils.default.createPathWithQuery("/account".concat(Number.PATH, "s"), options)
}, callback);
}

@@ -64,4 +84,27 @@ /**

search() {
this._vonage.searchNumbers.apply(this._vonage, arguments);
search(countryCode, pattern, callback) {
var params = {
api_key: this.creds.apiKey,
api_secret: this.creds.apiSecret
};
if (!countryCode || countryCode.length !== 2) {
_Utils.default.sendError(callback, new Error(Number.ERROR_MESSAGES.countrycode));
} else {
params["country"] = countryCode;
if (typeof pattern === "function") {
callback = pattern;
} else if (typeof pattern === "object") {
for (var arg in pattern) {
params[arg] = pattern[arg];
}
} else {
params["pattern"] = pattern;
}
this.options.httpClient.request({
path: _Utils.default.createPathWithQuery("".concat(Number.PATH, "/search"), params)
}, callback);
}
}

@@ -73,4 +116,25 @@ /**

buy() {
this._vonage.buyNumber.apply(this._vonage, arguments);
buy(countryCode, msisdn, targetApiKey, callback) {
if (!countryCode || countryCode.length !== 2) {
_Utils.default.sendError(callback, new Error(Number.ERROR_MESSAGES.countrycode));
} else if (!msisdn) {
_Utils.default.sendError(callback, new Error(Number.ERROR_MESSAGES.msisdn));
} else {
var opts = {
country: countryCode,
msisdn,
api_key: this.creds.apiKey,
api_secret: this.creds.apiSecret
};
if (targetApiKey instanceof Function) {
callback = targetApiKey;
} else {
opts.target_api_key = targetApiKey;
}
this.options.httpClient.request({
path: _Utils.default.createPathWithQuery("".concat(Number.PATH, "/buy"), opts)
}, "POST", callback);
}
}

@@ -82,4 +146,25 @@ /**

cancel() {
this._vonage.cancelNumber.apply(this._vonage, arguments);
cancel(countryCode, msisdn, targetApiKey, callback) {
if (!countryCode || countryCode.length !== 2) {
_Utils.default.sendError(callback, new Error(Number.ERROR_MESSAGES.countrycode));
} else if (!msisdn) {
_Utils.default.sendError(callback, new Error(Number.ERROR_MESSAGES.msisdn));
} else {
var opts = {
country: countryCode,
msisdn,
api_key: this.creds.apiKey,
api_secret: this.creds.apiSecret
};
if (targetApiKey instanceof Function) {
callback = targetApiKey;
} else {
opts.target_api_key = targetApiKey;
}
this.options.httpClient.request({
path: _Utils.default.createPathWithQuery("".concat(Number.PATH, "/cancel"), opts)
}, "POST", callback);
}
}

@@ -91,4 +176,16 @@ /**

update() {
this._vonage.updateNumber.apply(this._vonage, arguments);
update(countryCode, msisdn, params, callback) {
if (!countryCode || countryCode.length !== 2) {
_Utils.default.sendError(callback, new Error(Number.ERROR_MESSAGES.countrycode));
} else if (!msisdn) {
_Utils.default.sendError(callback, new Error(Number.ERROR_MESSAGES.msisdn));
} else {
params["country"] = countryCode;
params["msisdn"] = msisdn;
params["api_key"] = this.creds.apiKey;
params["api_secret"] = this.creds.apiSecret;
this.options.httpClient.request({
path: _Utils.default.createPathWithQuery("".concat(Number.PATH, "/update"), params)
}, "POST", callback);
}
}

@@ -101,2 +198,2 @@

module.exports = exports.default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9OdW1iZXIuanMiXSwibmFtZXMiOlsiTnVtYmVyIiwiY29uc3RydWN0b3IiLCJjcmVkZW50aWFscyIsIm9wdGlvbnMiLCJjcmVkcyIsIl9wcmljaW5nIiwiUHJpY2luZyIsIl92b25hZ2UiLCJ2b25hZ2VPdmVycmlkZSIsInZvbmFnZSIsImluaXRpYWxpemUiLCJhcGlLZXkiLCJhcGlTZWNyZXQiLCJnZXRQcmljaW5nIiwiZ2V0IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJnZXRQaG9uZVByaWNpbmciLCJnZXRQaG9uZSIsImdldE51bWJlcnMiLCJzZWFyY2giLCJzZWFyY2hOdW1iZXJzIiwiYnV5IiwiYnV5TnVtYmVyIiwiY2FuY2VsIiwiY2FuY2VsTnVtYmVyIiwidXBkYXRlIiwidXBkYXRlTnVtYmVyIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7OztBQUVBOztBQUVBOzs7O0FBRUEsTUFBTUEsTUFBTixDQUFhO0FBQ1g7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0VDLEVBQUFBLFdBQVcsQ0FBQ0MsV0FBRCxFQUE0QjtBQUFBLFFBQWRDLE9BQWMsdUVBQUosRUFBSTtBQUNyQyxTQUFLQyxLQUFMLEdBQWFGLFdBQWI7QUFDQSxTQUFLQyxPQUFMLEdBQWVBLE9BQWY7QUFFQSxTQUFLRSxRQUFMLEdBQWdCLElBQUlDLGdCQUFKLENBQVlKLFdBQVosRUFBeUJDLE9BQXpCLENBQWhCLENBSnFDLENBTXJDOztBQUNBLFNBQUtJLE9BQUwsR0FBZSxLQUFLSixPQUFMLENBQWFLLGNBQWIsSUFBK0JDLGNBQTlDOztBQUVBLFNBQUtGLE9BQUwsQ0FBYUcsVUFBYixDQUNFLEtBQUtOLEtBQUwsQ0FBV08sTUFEYixFQUVFLEtBQUtQLEtBQUwsQ0FBV1EsU0FGYixFQUdFLEtBQUtULE9BSFA7QUFLRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQ0VVLEVBQUFBLFVBQVUsR0FBRztBQUNYLFNBQUtSLFFBQUwsQ0FBY1MsR0FBZCxDQUFrQkMsS0FBbEIsQ0FBd0IsSUFBeEIsRUFBOEJDLFNBQTlCO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7OztBQUNFQyxFQUFBQSxlQUFlLEdBQUc7QUFDaEIsU0FBS1osUUFBTCxDQUFjYSxRQUFkLENBQXVCSCxLQUF2QixDQUE2QixJQUE3QixFQUFtQ0MsU0FBbkM7QUFDRDtBQUVEO0FBQ0Y7QUFDQTs7O0FBQ0VGLEVBQUFBLEdBQUcsR0FBRztBQUNKLFNBQUtQLE9BQUwsQ0FBYVksVUFBYixDQUF3QkosS0FBeEIsQ0FBOEIsS0FBS1IsT0FBbkMsRUFBNENTLFNBQTVDO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7OztBQUNFSSxFQUFBQSxNQUFNLEdBQUc7QUFDUCxTQUFLYixPQUFMLENBQWFjLGFBQWIsQ0FBMkJOLEtBQTNCLENBQWlDLEtBQUtSLE9BQXRDLEVBQStDUyxTQUEvQztBQUNEO0FBRUQ7QUFDRjtBQUNBOzs7QUFDRU0sRUFBQUEsR0FBRyxHQUFHO0FBQ0osU0FBS2YsT0FBTCxDQUFhZ0IsU0FBYixDQUF1QlIsS0FBdkIsQ0FBNkIsS0FBS1IsT0FBbEMsRUFBMkNTLFNBQTNDO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7OztBQUNFUSxFQUFBQSxNQUFNLEdBQUc7QUFDUCxTQUFLakIsT0FBTCxDQUFha0IsWUFBYixDQUEwQlYsS0FBMUIsQ0FBZ0MsS0FBS1IsT0FBckMsRUFBOENTLFNBQTlDO0FBQ0Q7QUFFRDtBQUNGO0FBQ0E7OztBQUNFVSxFQUFBQSxNQUFNLEdBQUc7QUFDUCxTQUFLbkIsT0FBTCxDQUFhb0IsWUFBYixDQUEwQlosS0FBMUIsQ0FBZ0MsS0FBS1IsT0FBckMsRUFBOENTLFNBQTlDO0FBQ0Q7O0FBdEVVOztlQXlFRWhCLE0iLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHZvbmFnZSBmcm9tIFwiLi9pbmRleFwiO1xuXG5pbXBvcnQgUHJpY2luZyBmcm9tIFwiLi9QcmljaW5nXCI7XG5cbmNsYXNzIE51bWJlciB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0NyZWRlbnRpYWxzfSBjcmVkZW50aWFsc1xuICAgKiAgICBjcmVkZW50aWFscyB0byBiZSB1c2VkIHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgQVBJLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9uc1xuICAgKiAgICBBZGRpdGlvbiBOdW1iZXIgb3B0aW9ucy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGNyZWRlbnRpYWxzLCBvcHRpb25zID0ge30pIHtcbiAgICB0aGlzLmNyZWRzID0gY3JlZGVudGlhbHM7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcblxuICAgIHRoaXMuX3ByaWNpbmcgPSBuZXcgUHJpY2luZyhjcmVkZW50aWFscywgb3B0aW9ucyk7XG5cbiAgICAvLyBVc2VkIHRvIGZhY2lsaXRhdGUgdGVzdGluZyBvZiB0aGUgY2FsbCB0byB0aGUgdW5kZXJseWluZyBvYmplY3RcbiAgICB0aGlzLl92b25hZ2UgPSB0aGlzLm9wdGlvbnMudm9uYWdlT3ZlcnJpZGUgfHwgdm9uYWdlO1xuXG4gICAgdGhpcy5fdm9uYWdlLmluaXRpYWxpemUoXG4gICAgICB0aGlzLmNyZWRzLmFwaUtleSxcbiAgICAgIHRoaXMuY3JlZHMuYXBpU2VjcmV0LFxuICAgICAgdGhpcy5vcHRpb25zXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPOiByZW1vdmUgd2l0aCBuZXh0IG1ham9yIHJlbGVhc2VcbiAgICovXG4gIGdldFByaWNpbmcoKSB7XG4gICAgdGhpcy5fcHJpY2luZy5nZXQuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPOiByZW1vdmUgd2l0aCBuZXh0IG1ham9yIHJlbGVhc2VcbiAgICovXG4gIGdldFBob25lUHJpY2luZygpIHtcbiAgICB0aGlzLl9wcmljaW5nLmdldFBob25lLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gIH1cblxuICAvKipcbiAgICogVE9ETzogZG9jdW1lbnRcbiAgICovXG4gIGdldCgpIHtcbiAgICB0aGlzLl92b25hZ2UuZ2V0TnVtYmVycy5hcHBseSh0aGlzLl92b25hZ2UsIGFyZ3VtZW50cyk7XG4gIH1cblxuICAvKipcbiAgICogVE9ETzogZG9jdW1lbnRcbiAgICovXG4gIHNlYXJjaCgpIHtcbiAgICB0aGlzLl92b25hZ2Uuc2VhcmNoTnVtYmVycy5hcHBseSh0aGlzLl92b25hZ2UsIGFyZ3VtZW50cyk7XG4gIH1cblxuICAvKipcbiAgICogVE9ETzogZG9jdW1lbnRcbiAgICovXG4gIGJ1eSgpIHtcbiAgICB0aGlzLl92b25hZ2UuYnV5TnVtYmVyLmFwcGx5KHRoaXMuX3ZvbmFnZSwgYXJndW1lbnRzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPOiBkb2N1bWVudFxuICAgKi9cbiAgY2FuY2VsKCkge1xuICAgIHRoaXMuX3ZvbmFnZS5jYW5jZWxOdW1iZXIuYXBwbHkodGhpcy5fdm9uYWdlLCBhcmd1bWVudHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRPRE86IGRvY3VtZW50XG4gICAqL1xuICB1cGRhdGUoKSB7XG4gICAgdGhpcy5fdm9uYWdlLnVwZGF0ZU51bWJlci5hcHBseSh0aGlzLl92b25hZ2UsIGFyZ3VtZW50cyk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTnVtYmVyO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9OdW1iZXIuanMiXSwibmFtZXMiOlsiTnVtYmVyIiwiUEFUSCIsIkVSUk9SX01FU1NBR0VTIiwib3B0aW9uc05vdEFuT2JqZWN0IiwiY291bnRyeWNvZGUiLCJtc2lzZG4iLCJjb25zdHJ1Y3RvciIsImNyZWRlbnRpYWxzIiwib3B0aW9ucyIsImNyZWRzIiwiX3ByaWNpbmciLCJQcmljaW5nIiwiZ2V0UHJpY2luZyIsImdldCIsImFwcGx5IiwiYXJndW1lbnRzIiwiZ2V0UGhvbmVQcmljaW5nIiwiZ2V0UGhvbmUiLCJjYWxsYmFjayIsIlV0aWxzIiwic2VuZEVycm9yIiwiRXJyb3IiLCJhcGlfa2V5IiwiYXBpS2V5IiwiYXBpX3NlY3JldCIsImFwaVNlY3JldCIsImh0dHBDbGllbnQiLCJyZXF1ZXN0IiwicGF0aCIsImNyZWF0ZVBhdGhXaXRoUXVlcnkiLCJzZWFyY2giLCJjb3VudHJ5Q29kZSIsInBhdHRlcm4iLCJwYXJhbXMiLCJsZW5ndGgiLCJhcmciLCJidXkiLCJ0YXJnZXRBcGlLZXkiLCJvcHRzIiwiY291bnRyeSIsIkZ1bmN0aW9uIiwidGFyZ2V0X2FwaV9rZXkiLCJjYW5jZWwiLCJ1cGRhdGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7O0FBRUE7O0FBRUE7Ozs7QUFFQSxNQUFNQSxNQUFOLENBQWE7QUFDWCxhQUFXQyxJQUFYLEdBQWtCO0FBQ2hCLFdBQU8sU0FBUDtBQUNEOztBQUVELGFBQVdDLGNBQVgsR0FBNEI7QUFDMUIsV0FBTztBQUNMQyxNQUFBQSxrQkFBa0IsRUFDaEIsMkZBRkc7QUFHTEMsTUFBQUEsV0FBVyxFQUFFLHNCQUhSO0FBSUxDLE1BQUFBLE1BQU0sRUFBRTtBQUpILEtBQVA7QUFNRDtBQUNEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0VDLEVBQUFBLFdBQVcsQ0FBQ0MsV0FBRCxFQUE0QjtBQUFBLFFBQWRDLE9BQWMsdUVBQUosRUFBSTtBQUNyQyxTQUFLQyxLQUFMLEdBQWFGLFdBQWI7QUFDQSxT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M0MsRUFBOEM7QUFDNUNmLHFCQUFNQyxTQUFOLENBQWdCRixRQUFoQixFQUEwQixJQUFJRyxLQUFKLENBQVVyQixNQUFNLENBQUNFLGNBQVAsQ0FBc0JFLFdBQWhDLENBQTFCO0FBQ0QsS0FGRCxNQUVPLElBQUksQ0FBQ0MsTUFBTCxFQUFhO0FBQ2xCYyxxQkFBTUMsU0FBTixDQUFnQkYsUUFBaEIsRUFBMEIsSUFBSUcsS0FBSixDQUFVckIsTUFBTSxDQUFDRSxjQUFQLENBQXNCRyxNQUFoQyxDQUExQjtBQUNELEtBRk0sTUFFQTtBQUNMNEIsTUFBQUEsTUFBTSxDQUFDLFNBQUQsQ0FBTixHQUFvQkYsV0FBcEI7QUFDQUUsTUFBQUEsTUFBTSxDQUFDLFFBQUQsQ0FBTixHQUFtQjVCLE1BQW5CO0FBQ0E0QixNQUFBQSxNQUFNLENBQUMsU0FBRCxDQUFOLEdBQW9CLEtBQUt4QixLQUFMLENBQVdjLE1BQS9CO0FBQ0FVLE1BQUFBLE1BQU0sQ0FBQyxZQUFELENBQU4sR0FBdUIsS0FBS3hCLEtBQUwsQ0FBV2dCLFNBQWxDO0FBRUEsV0FBS2pCLE9BQUwsQ0FBYWtCLFVBQWIsQ0FBd0JDLE9BQXhCLENBQ0U7QUFDRUMsUUFBQUEsSUFBSSxFQUFFVCxlQUFNVSxtQkFBTixXQUE2QjdCLE1BQU0sQ0FBQ0MsSUFBcEMsY0FBbURnQyxNQUFuRDtBQURSLE9BREYsRUFJRSxNQUpGLEVBS0VmLFFBTEY7QUFPRDtBQUNGOztBQXJMVTs7ZUF3TEVsQixNIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBQcmljaW5nIGZyb20gXCIuL1ByaWNpbmdcIjtcblxuaW1wb3J0IFV0aWxzIGZyb20gXCIuL1V0aWxzXCI7XG5cbmNsYXNzIE51bWJlciB7XG4gIHN0YXRpYyBnZXQgUEFUSCgpIHtcbiAgICByZXR1cm4gXCIvbnVtYmVyXCI7XG4gIH1cblxuICBzdGF0aWMgZ2V0IEVSUk9SX01FU1NBR0VTKCkge1xuICAgIHJldHVybiB7XG4gICAgICBvcHRpb25zTm90QW5PYmplY3Q6XG4gICAgICAgIFwiT3B0aW9ucyBwYXJhbWV0ZXIgc2hvdWxkIGJlIGEgZGljdGlvbmFyeS4gQ2hlY2sgdGhlIGRvY3MgZm9yIHZhbGlkIHByb3BlcnRpZXMgZm9yIG9wdGlvbnNcIixcbiAgICAgIGNvdW50cnljb2RlOiBcIkludmFsaWQgQ291bnRyeSBDb2RlXCIsXG4gICAgICBtc2lzZG46IFwiSW52YWxpZCBNU0lTRE4gcGFzc2VkXCJcbiAgICB9O1xuICB9XG4gIC8qKlxuICAgKiBAcGFyYW0ge0NyZWRlbnRpYWxzfSBjcmVkZW50aWFsc1xuICAgKiAgICBjcmVkZW50aWFscyB0byBiZSB1c2VkIHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgQVBJLlxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9uc1xuICAgKiAgICBBZGRpdGlvbiBOdW1iZXIgb3B0aW9ucy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGNyZWRlbnRpYWxzLCBvcHRpb25zID0ge30pIHtcbiAgICB0aGlzLmNyZWRzID0gY3JlZGVudGlhbHM7XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcblxuICAgIHRoaXMuX3ByaWNpbmcgPSBuZXcgUHJpY2luZyhjcmVkZW50aWFscywgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogVE9ETzogcmVtb3ZlIHdpdGggbmV4dCBtYWpvciByZWxlYXNlXG4gICAqL1xuICBnZXRQcmljaW5nKCkge1xuICAgIHRoaXMuX3ByaWNpbmcuZ2V0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gIH1cblxuICAvKipcbiAgICogVE9ETzogcmVtb3ZlIHdpdGggbmV4dCBtYWpvciByZWxlYXNlXG4gICAqL1xuICBnZXRQaG9uZVByaWNpbmcoKSB7XG4gICAgdGhpcy5fcHJpY2luZy5nZXRQaG9uZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRPRE86IGRvY3VtZW50XG4gICAqL1xuICBnZXQob3B0aW9ucywgY2FsbGJhY2spIHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgY2FsbGJhY2sgPSBvcHRpb25zO1xuICAgICAgb3B0aW9ucyA9IHt9O1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIG9wdGlvbnMgIT09IFwib2JqZWN0XCIpIHtcbiAgICAgIFV0aWxzLnNlbmRFcnJvcihcbiAgICAgICAgY2FsbGJhY2ssXG4gICAgICAgIG5ldyBFcnJvcihOdW1iZXIuRVJST1JfTUVTU0FHRVMub3B0aW9uc05vdEFuT2JqZWN0KVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBvcHRpb25zLmFwaV9rZXkgPSBvcHRpb25zLmFwaV9rZXkgfHwgdGhpcy5jcmVkcy5hcGlLZXk7XG4gICAgb3B0aW9ucy5hcGlfc2VjcmV0ID0gb3B0aW9ucy5hcGlfc2VjcmV0IHx8IHRoaXMuY3JlZHMuYXBpU2VjcmV0O1xuXG4gICAgdGhpcy5vcHRpb25zLmh0dHBDbGllbnQucmVxdWVzdChcbiAgICAgIHtcbiAgICAgICAgcGF0aDogVXRpbHMuY3JlYXRlUGF0aFdpdGhRdWVyeShgL2FjY291bnQke051bWJlci5QQVRIfXNgLCBvcHRpb25zKVxuICAgICAgfSxcbiAgICAgIGNhbGxiYWNrXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPOiBkb2N1bWVudFxuICAgKi9cbiAgc2VhcmNoKGNvdW50cnlDb2RlLCBwYXR0ZXJuLCBjYWxsYmFjaykge1xuICAgIGxldCBwYXJhbXMgPSB7XG4gICAgICBhcGlfa2V5OiB0aGlzLmNyZWRzLmFwaUtleSxcbiAgICAgIGFwaV9zZWNyZXQ6IHRoaXMuY3JlZHMuYXBpU2VjcmV0XG4gICAgfTtcbiAgICBpZiAoIWNvdW50cnlDb2RlIHx8IGNvdW50cnlDb2RlLmxlbmd0aCAhPT0gMikge1xuICAgICAgVXRpbHMuc2VuZEVycm9yKGNhbGxiYWNrLCBuZXcgRXJyb3IoTnVtYmVyLkVSUk9SX01FU1NBR0VTLmNvdW50cnljb2RlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcmFtc1tcImNvdW50cnlcIl0gPSBjb3VudHJ5Q29kZTtcbiAgICAgIGlmICh0eXBlb2YgcGF0dGVybiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGNhbGxiYWNrID0gcGF0dGVybjtcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHBhdHRlcm4gPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgZm9yICh2YXIgYXJnIGluIHBhdHRlcm4pIHtcbiAgICAgICAgICBwYXJhbXNbYXJnXSA9IHBhdHRlcm5bYXJnXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGFyYW1zW1wicGF0dGVyblwiXSA9IHBhdHRlcm47XG4gICAgICB9XG4gICAgICB0aGlzLm9wdGlvbnMuaHR0cENsaWVudC5yZXF1ZXN0KFxuICAgICAgICB7XG4gICAgICAgICAgcGF0aDogVXRpbHMuY3JlYXRlUGF0aFdpdGhRdWVyeShgJHtOdW1iZXIuUEFUSH0vc2VhcmNoYCwgcGFyYW1zKVxuICAgICAgICB9LFxuICAgICAgICBjYWxsYmFja1xuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVE9ETzogZG9jdW1lbnRcbiAgICovXG4gIGJ1eShjb3VudHJ5Q29kZSwgbXNpc2RuLCB0YXJnZXRBcGlLZXksIGNhbGxiYWNrKSB7XG4gICAgaWYgKCFjb3VudHJ5Q29kZSB8fCBjb3VudHJ5Q29kZS5sZW5ndGggIT09IDIpIHtcbiAgICAgIFV0aWxzLnNlbmRFcnJvcihjYWxsYmFjaywgbmV3IEVycm9yKE51bWJlci5FUlJPUl9NRVNTQUdFUy5jb3VudHJ5Y29kZSkpO1xuICAgIH0gZWxzZSBpZiAoIW1zaXNkbikge1xuICAgICAgVXRpbHMuc2VuZEVycm9yKGNhbGxiYWNrLCBuZXcgRXJyb3IoTnVtYmVyLkVSUk9SX01FU1NBR0VTLm1zaXNkbikpO1xuICAgIH0gZWxzZSB7XG4gICAgICBsZXQgb3B0cyA9IHtcbiAgICAgICAgY291bnRyeTogY291bnRyeUNvZGUsXG4gICAgICAgIG1zaXNkbixcbiAgICAgICAgYXBpX2tleTogdGhpcy5jcmVkcy5hcGlLZXksXG4gICAgICAgIGFwaV9zZWNyZXQ6IHRoaXMuY3JlZHMuYXBpU2VjcmV0XG4gICAgICB9O1xuXG4gICAgICBpZiAodGFyZ2V0QXBpS2V5IGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgICAgY2FsbGJhY2sgPSB0YXJnZXRBcGlLZXk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvcHRzLnRhcmdldF9hcGlfa2V5ID0gdGFyZ2V0QXBpS2V5O1xuICAgICAgfVxuXG4gICAgICB0aGlzLm9wdGlvbnMuaHR0cENsaWVudC5yZXF1ZXN0KFxuICAgICAgICB7XG4gICAgICAgICAgcGF0aDogVXRpbHMuY3JlYXRlUGF0aFdpdGhRdWVyeShgJHtOdW1iZXIuUEFUSH0vYnV5YCwgb3B0cylcbiAgICAgICAgfSxcbiAgICAgICAgXCJQT1NUXCIsXG4gICAgICAgIGNhbGxiYWNrXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUT0RPOiBkb2N1bWVudFxuICAgKi9cbiAgY2FuY2VsKGNvdW50cnlDb2RlLCBtc2lzZG4sIHRhcmdldEFwaUtleSwgY2FsbGJhY2spIHtcbiAgICBpZiAoIWNvdW50cnlDb2RlIHx8IGNvdW50cnlDb2RlLmxlbmd0aCAhPT0gMikge1xuICAgICAgVXRpbHMuc2VuZEVycm9yKGNhbGxiYWNrLCBuZXcgRXJyb3IoTnVtYmVyLkVSUk9SX01FU1NBR0VTLmNvdW50cnljb2RlKSk7XG4gICAgfSBlbHNlIGlmICghbXNpc2RuKSB7XG4gICAgICBVdGlscy5zZW5kRXJyb3IoY2FsbGJhY2ssIG5ldyBFcnJvcihOdW1iZXIuRVJST1JfTUVTU0FHRVMubXNpc2RuKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBvcHRzID0ge1xuICAgICAgICBjb3VudHJ5OiBjb3VudHJ5Q29kZSxcbiAgICAgICAgbXNpc2RuLFxuICAgICAgICBhcGlfa2V5OiB0aGlzLmNyZWRzLmFwaUtleSxcbiAgICAgICAgYXBpX3NlY3JldDogdGhpcy5jcmVkcy5hcGlTZWNyZXRcbiAgICAgIH07XG5cbiAgICAgIGlmICh0YXJnZXRBcGlLZXkgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgICAgICBjYWxsYmFjayA9IHRhcmdldEFwaUtleTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9wdHMudGFyZ2V0X2FwaV9rZXkgPSB0YXJnZXRBcGlLZXk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMub3B0aW9ucy5odHRwQ2xpZW50LnJlcXVlc3QoXG4gICAgICAgIHtcbiAgICAgICAgICBwYXRoOiBVdGlscy5jcmVhdGVQYXRoV2l0aFF1ZXJ5KGAke051bWJlci5QQVRIfS9jYW5jZWxgLCBvcHRzKVxuICAgICAgICB9LFxuICAgICAgICBcIlBPU1RcIixcbiAgICAgICAgY2FsbGJhY2tcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRPRE86IGRvY3VtZW50XG4gICAqL1xuICB1cGRhdGUoY291bnRyeUNvZGUsIG1zaXNkbiwgcGFyYW1zLCBjYWxsYmFjaykge1xuICAgIGlmICghY291bnRyeUNvZGUgfHwgY291bnRyeUNvZGUubGVuZ3RoICE9PSAyKSB7XG4gICAgICBVdGlscy5zZW5kRXJyb3IoY2FsbGJhY2ssIG5ldyBFcnJvcihOdW1iZXIuRVJST1JfTUVTU0FHRVMuY291bnRyeWNvZGUpKTtcbiAgICB9IGVsc2UgaWYgKCFtc2lzZG4pIHtcbiAgICAgIFV0aWxzLnNlbmRFcnJvcihjYWxsYmFjaywgbmV3IEVycm9yKE51bWJlci5FUlJPUl9NRVNTQUdFUy5tc2lzZG4pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcGFyYW1zW1wiY291bnRyeVwiXSA9IGNvdW50cnlDb2RlO1xuICAgICAgcGFyYW1zW1wibXNpc2RuXCJdID0gbXNpc2RuO1xuICAgICAgcGFyYW1zW1wiYXBpX2tleVwiXSA9IHRoaXMuY3JlZHMuYXBpS2V5O1xuICAgICAgcGFyYW1zW1wiYXBpX3NlY3JldFwiXSA9IHRoaXMuY3JlZHMuYXBpU2VjcmV0O1xuXG4gICAgICB0aGlzLm9wdGlvbnMuaHR0cENsaWVudC5yZXF1ZXN0KFxuICAgICAgICB7XG4gICAgICAgICAgcGF0aDogVXRpbHMuY3JlYXRlUGF0aFdpdGhRdWVyeShgJHtOdW1iZXIuUEFUSH0vdXBkYXRlYCwgcGFyYW1zKVxuICAgICAgICB9LFxuICAgICAgICBcIlBPU1RcIixcbiAgICAgICAgY2FsbGJhY2tcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IE51bWJlcjtcbiJdfQ==

@@ -23,6 +23,2 @@ "use strict";

exports.getQuery = function (path) {
return querystring.parse(path.split("?")[1]);
};
exports.sendError = function (callback, err, returnData) {

@@ -40,2 +36,2 @@ // Throw the error in case if there is no callback passed

};
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9VdGlscy5qcyJdLCJuYW1lcyI6WyJxdWVyeXN0cmluZyIsInJlcXVpcmUiLCJleHBvcnRzIiwiY3JlYXRlUGF0aFdpdGhRdWVyeSIsInBhdGgiLCJxdWVyeSIsIkVycm9yIiwicGF0aEV4dCIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJzdHJpbmdpZnkiLCJnZXRRdWVyeSIsInBhcnNlIiwic3BsaXQiLCJzZW5kRXJyb3IiLCJjYWxsYmFjayIsImVyciIsInJldHVybkRhdGEiLCJjbG9uZSIsImEiLCJKU09OIl0sIm1hcHBpbmdzIjoiOztBQUFBLElBQUlBLFdBQVcsR0FBR0MsT0FBTyxDQUFDLGFBQUQsQ0FBekI7O0FBRUFDLE9BQU8sQ0FBQ0MsbUJBQVIsR0FBOEIsVUFBU0MsSUFBVCxFQUFlQyxLQUFmLEVBQXNCO0FBQ2xELE1BQUksQ0FBQ0EsS0FBTCxFQUFZO0FBQ1YsVUFBTSxJQUFJQyxLQUFKLENBQVUsaUNBQVYsQ0FBTjtBQUNEOztBQUVELE1BQUlDLE9BQU8sR0FBRyxFQUFkOztBQUNBLE1BQUksT0FBT0YsS0FBUCxLQUFpQixRQUFyQixFQUErQjtBQUM3QjtBQUNBRSxJQUFBQSxPQUFPLGNBQU9GLEtBQVAsQ0FBUDtBQUNELEdBSEQsTUFHTyxJQUFJLE9BQU9BLEtBQVAsS0FBaUIsUUFBakIsSUFBNkJHLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZSixLQUFaLEVBQW1CSyxNQUFuQixHQUE0QixDQUE3RCxFQUFnRTtBQUNyRTtBQUNBSCxJQUFBQSxPQUFPLGNBQU9QLFdBQVcsQ0FBQ1csU0FBWixDQUFzQk4sS0FBdEIsQ0FBUCxDQUFQO0FBQ0Q7O0FBRUQsbUJBQVVELElBQVYsU0FBaUJHLE9BQWpCO0FBQ0QsQ0FmRDs7QUFpQkFMLE9BQU8sQ0FBQ1UsUUFBUixHQUFtQixVQUFTUixJQUFULEVBQWU7QUFDaEMsU0FBT0osV0FBVyxDQUFDYSxLQUFaLENBQWtCVCxJQUFJLENBQUNVLEtBQUwsQ0FBVyxHQUFYLEVBQWdCLENBQWhCLENBQWxCLENBQVA7QUFDRCxDQUZEOztBQUlBWixPQUFPLENBQUNhLFNBQVIsR0FBb0IsVUFBU0MsUUFBVCxFQUFtQkMsR0FBbkIsRUFBd0JDLFVBQXhCLEVBQW9DO0FBQ3REO0FBQ0EsTUFBSUYsUUFBSixFQUFjO0FBQ1pBLElBQUFBLFFBQVEsQ0FBQ0MsR0FBRCxFQUFNQyxVQUFOLENBQVI7QUFDRCxHQUZELE1BRU87QUFDTCxVQUFNRCxHQUFOO0FBQ0Q7QUFDRixDQVBEOztBQVNBZixPQUFPLENBQUNpQixLQUFSLEdBQWdCLFVBQVNDLENBQVQsRUFBWTtBQUMxQixTQUFPQyxJQUFJLENBQUNSLEtBQUwsQ0FBV1EsSUFBSSxDQUFDVixTQUFMLENBQWVTLENBQWYsQ0FBWCxDQUFQO0FBQ0QsQ0FGRCIsInNvdXJjZXNDb250ZW50IjpbInZhciBxdWVyeXN0cmluZyA9IHJlcXVpcmUoXCJxdWVyeXN0cmluZ1wiKTtcblxuZXhwb3J0cy5jcmVhdGVQYXRoV2l0aFF1ZXJ5ID0gZnVuY3Rpb24ocGF0aCwgcXVlcnkpIHtcbiAgaWYgKCFxdWVyeSkge1xuICAgIHRocm93IG5ldyBFcnJvcignXCJxdWVyeVwiIGlzIGEgcmVxdWlyZWQgcGFyYW1ldGVyJyk7XG4gIH1cblxuICB2YXIgcGF0aEV4dCA9IFwiXCI7XG4gIGlmICh0eXBlb2YgcXVlcnkgPT09IFwic3RyaW5nXCIpIHtcbiAgICAvLyBzaW5nbGUgY2FsbCBJZFxuICAgIHBhdGhFeHQgPSBgLyR7cXVlcnl9YDtcbiAgfSBlbHNlIGlmICh0eXBlb2YgcXVlcnkgPT09IFwib2JqZWN0XCIgJiYgT2JqZWN0LmtleXMocXVlcnkpLmxlbmd0aCA+IDApIHtcbiAgICAvLyBmaWx0ZXJcbiAgICBwYXRoRXh0ID0gYD8ke3F1ZXJ5c3RyaW5nLnN0cmluZ2lmeShxdWVyeSl9YDtcbiAgfVxuXG4gIHJldHVybiBgJHtwYXRofSR7cGF0aEV4dH1gO1xufTtcblxuZXhwb3J0cy5nZXRRdWVyeSA9IGZ1bmN0aW9uKHBhdGgpIHtcbiAgcmV0dXJuIHF1ZXJ5c3RyaW5nLnBhcnNlKHBhdGguc3BsaXQoXCI/XCIpWzFdKTtcbn07XG5cbmV4cG9ydHMuc2VuZEVycm9yID0gZnVuY3Rpb24oY2FsbGJhY2ssIGVyciwgcmV0dXJuRGF0YSkge1xuICAvLyBUaHJvdyB0aGUgZXJyb3IgaW4gY2FzZSBpZiB0aGVyZSBpcyBubyBjYWxsYmFjayBwYXNzZWRcbiAgaWYgKGNhbGxiYWNrKSB7XG4gICAgY2FsbGJhY2soZXJyLCByZXR1cm5EYXRhKTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBlcnI7XG4gIH1cbn07XG5cbmV4cG9ydHMuY2xvbmUgPSBmdW5jdGlvbihhKSB7XG4gIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGEpKTtcbn07XG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9VdGlscy5qcyJdLCJuYW1lcyI6WyJxdWVyeXN0cmluZyIsInJlcXVpcmUiLCJleHBvcnRzIiwiY3JlYXRlUGF0aFdpdGhRdWVyeSIsInBhdGgiLCJxdWVyeSIsIkVycm9yIiwicGF0aEV4dCIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJzdHJpbmdpZnkiLCJzZW5kRXJyb3IiLCJjYWxsYmFjayIsImVyciIsInJldHVybkRhdGEiLCJjbG9uZSIsImEiLCJKU09OIiwicGFyc2UiXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBSUEsV0FBVyxHQUFHQyxPQUFPLENBQUMsYUFBRCxDQUF6Qjs7QUFFQUMsT0FBTyxDQUFDQyxtQkFBUixHQUE4QixVQUFTQyxJQUFULEVBQWVDLEtBQWYsRUFBc0I7QUFDbEQsTUFBSSxDQUFDQSxLQUFMLEVBQVk7QUFDVixVQUFNLElBQUlDLEtBQUosQ0FBVSxpQ0FBVixDQUFOO0FBQ0Q7O0FBRUQsTUFBSUMsT0FBTyxHQUFHLEVBQWQ7O0FBQ0EsTUFBSSxPQUFPRixLQUFQLEtBQWlCLFFBQXJCLEVBQStCO0FBQzdCO0FBQ0FFLElBQUFBLE9BQU8sY0FBT0YsS0FBUCxDQUFQO0FBQ0QsR0FIRCxNQUdPLElBQUksT0FBT0EsS0FBUCxLQUFpQixRQUFqQixJQUE2QkcsTUFBTSxDQUFDQyxJQUFQLENBQVlKLEtBQVosRUFBbUJLLE1BQW5CLEdBQTRCLENBQTdELEVBQWdFO0FBQ3JFO0FBQ0FILElBQUFBLE9BQU8sY0FBT1AsV0FBVyxDQUFDVyxTQUFaLENBQXNCTixLQUF0QixDQUFQLENBQVA7QUFDRDs7QUFFRCxtQkFBVUQsSUFBVixTQUFpQkcsT0FBakI7QUFDRCxDQWZEOztBQWlCQUwsT0FBTyxDQUFDVSxTQUFSLEdBQW9CLFVBQVNDLFFBQVQsRUFBbUJDLEdBQW5CLEVBQXdCQyxVQUF4QixFQUFvQztBQUN0RDtBQUNBLE1BQUlGLFFBQUosRUFBYztBQUNaQSxJQUFBQSxRQUFRLENBQUNDLEdBQUQsRUFBTUMsVUFBTixDQUFSO0FBQ0QsR0FGRCxNQUVPO0FBQ0wsVUFBTUQsR0FBTjtBQUNEO0FBQ0YsQ0FQRDs7QUFTQVosT0FBTyxDQUFDYyxLQUFSLEdBQWdCLFVBQVNDLENBQVQsRUFBWTtBQUMxQixTQUFPQyxJQUFJLENBQUNDLEtBQUwsQ0FBV0QsSUFBSSxDQUFDUCxTQUFMLENBQWVNLENBQWYsQ0FBWCxDQUFQO0FBQ0QsQ0FGRCIsInNvdXJjZXNDb250ZW50IjpbInZhciBxdWVyeXN0cmluZyA9IHJlcXVpcmUoXCJxdWVyeXN0cmluZ1wiKTtcblxuZXhwb3J0cy5jcmVhdGVQYXRoV2l0aFF1ZXJ5ID0gZnVuY3Rpb24ocGF0aCwgcXVlcnkpIHtcbiAgaWYgKCFxdWVyeSkge1xuICAgIHRocm93IG5ldyBFcnJvcignXCJxdWVyeVwiIGlzIGEgcmVxdWlyZWQgcGFyYW1ldGVyJyk7XG4gIH1cblxuICB2YXIgcGF0aEV4dCA9IFwiXCI7XG4gIGlmICh0eXBlb2YgcXVlcnkgPT09IFwic3RyaW5nXCIpIHtcbiAgICAvLyBzaW5nbGUgY2FsbCBJZFxuICAgIHBhdGhFeHQgPSBgLyR7cXVlcnl9YDtcbiAgfSBlbHNlIGlmICh0eXBlb2YgcXVlcnkgPT09IFwib2JqZWN0XCIgJiYgT2JqZWN0LmtleXMocXVlcnkpLmxlbmd0aCA+IDApIHtcbiAgICAvLyBmaWx0ZXJcbiAgICBwYXRoRXh0ID0gYD8ke3F1ZXJ5c3RyaW5nLnN0cmluZ2lmeShxdWVyeSl9YDtcbiAgfVxuXG4gIHJldHVybiBgJHtwYXRofSR7cGF0aEV4dH1gO1xufTtcblxuZXhwb3J0cy5zZW5kRXJyb3IgPSBmdW5jdGlvbihjYWxsYmFjaywgZXJyLCByZXR1cm5EYXRhKSB7XG4gIC8vIFRocm93IHRoZSBlcnJvciBpbiBjYXNlIGlmIHRoZXJlIGlzIG5vIGNhbGxiYWNrIHBhc3NlZFxuICBpZiAoY2FsbGJhY2spIHtcbiAgICBjYWxsYmFjayhlcnIsIHJldHVybkRhdGEpO1xuICB9IGVsc2Uge1xuICAgIHRocm93IGVycjtcbiAgfVxufTtcblxuZXhwb3J0cy5jbG9uZSA9IGZ1bmN0aW9uKGEpIHtcbiAgcmV0dXJuIEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoYSkpO1xufTtcbiJdfQ==

@@ -34,6 +34,2 @@ "use strict";

var _Conversations = _interopRequireDefault(require("./Conversations"));
var _Users = _interopRequireDefault(require("./Users"));
var _FilesResource = _interopRequireDefault(require("./FilesResource"));

@@ -47,6 +43,2 @@

var _Channel = _interopRequireDefault(require("./Channel"));
var _Dispatch = _interopRequireDefault(require("./Dispatch"));
var _Pricing = _interopRequireDefault(require("./Pricing"));

@@ -126,4 +118,2 @@

this.calls = new _CallsResource.default(this.credentials, this.options);
this.conversations = new _Conversations.default(this.credentials, this.options);
this.users = new _Users.default(this.credentials, this.options);
this.files = new _FilesResource.default(this.credentials, this.options);

@@ -133,4 +123,2 @@ this.conversion = new _Conversion.default(this.credentials, this.options);

this.redact = new _Redact.default(this.credentials, this.options);
this.channel = new _Channel.default(this.credentials, this.options);
this.dispatch = new _Dispatch.default(this.credentials, this.options);
this.pricing = new _Pricing.default(this.credentials, this.options);

@@ -220,2 +208,2 @@ /**

module.exports = exports.default;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Wb25hZ2UuanMiXSwibmFtZXMiOlsiand0R2VuZXJhdG9ySW5zdGFuY2UiLCJKd3RHZW5lcmF0b3IiLCJoYXNoR2VuZXJhdG9ySW5zdGFuY2UiLCJIYXNoR2VuZXJhdG9yIiwiVm9uYWdlIiwiY29uc3RydWN0b3IiLCJjcmVkZW50aWFscyIsIm9wdGlvbnMiLCJkZWJ1ZyIsIkNyZWRlbnRpYWxzIiwicGFyc2UiLCJPYmplY3QiLCJhc3NpZ24iLCJsb2dnZXIiLCJDb25zb2xlTG9nZ2VyIiwiTnVsbExvZ2dlciIsInVzZXJBZ2VudCIsInBhY2thZ2VEZXRhaWxzIiwicmVxdWlyZSIsInBhdGgiLCJqb2luIiwiX19kaXJuYW1lIiwidmVyc2lvbiIsInByb2Nlc3MiLCJyZXBsYWNlIiwiZSIsImNvbnNvbGUiLCJ3YXJuIiwiYXBwZW5kVG9Vc2VyQWdlbnQiLCJodHRwQ2xpZW50IiwiSHR0cENsaWVudCIsImhvc3QiLCJyZXN0SG9zdCIsImFwaSIsImFwaUhvc3QiLCJyZXN0IiwibWVzc2FnZSIsIk1lc3NhZ2UiLCJ2b2ljZSIsIlZvaWNlIiwibnVtYmVyIiwiTnVtYmVyIiwidmVyaWZ5IiwiVmVyaWZ5IiwibnVtYmVySW5zaWdodCIsIk51bWJlckluc2lnaHQiLCJhcHBsaWNhdGlvbnMiLCJBcHAiLCJhY2NvdW50IiwiQWNjb3VudCIsImNhbGxzIiwiQ2FsbHNSZXNvdXJjZSIsImNvbnZlcnNhdGlvbnMiLCJDb252ZXJzYXRpb25zIiwidXNlcnMiLCJVc2VycyIsImZpbGVzIiwiRmlsZXNSZXNvdXJjZSIsImNvbnZlcnNpb24iLCJDb252ZXJzaW9uIiwibWVkaWEiLCJNZWRpYSIsInJlZGFjdCIsIlJlZGFjdCIsImNoYW5uZWwiLCJDaGFubmVsIiwiZGlzcGF0Y2giLCJEaXNwYXRjaCIsInByaWNpbmciLCJQcmljaW5nIiwiYXBwIiwiZ2VuZXJhdGVKd3QiLCJjbGFpbXMiLCJhcHBsaWNhdGlvbl9pZCIsInVuZGVmaW5lZCIsImFwcGxpY2F0aW9uSWQiLCJwcml2YXRlS2V5IiwiZ2VuZXJhdGVTaWduYXR1cmUiLCJwYXJhbXMiLCJCdWZmZXIiLCJmcyIsImV4aXN0c1N5bmMiLCJFcnJvciIsInJlYWRGaWxlU3luYyIsImdlbmVyYXRlIiwibWV0aG9kIiwic2VjcmV0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFFQSxJQUFNQSxvQkFBb0IsR0FBRyxJQUFJQyxxQkFBSixFQUE3QjtBQUNBLElBQU1DLHFCQUFxQixHQUFHLElBQUlDLHNCQUFKLEVBQTlCOztBQUVBLE1BQU1DLE1BQU4sQ0FBYTtBQUNYO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0VDLEVBQUFBLFdBQVcsQ0FBQ0MsV0FBRCxFQUEwQztBQUFBLFFBQTVCQyxPQUE0Qix1RUFBbEI7QUFBRUMsTUFBQUEsS0FBSyxFQUFFO0FBQVQsS0FBa0I7QUFDbkQsU0FBS0YsV0FBTCxHQUFtQkcscUJBQVlDLEtBQVosQ0FBa0JKLFdBQWxCLENBQW5CO0FBQ0EsU0FBS0MsT0FBTCxHQUFlSSxNQUFNLENBQUNDLE1BQVAsQ0FBYyxFQUFkLEVBQWtCTCxPQUFsQixDQUFmLENBRm1ELENBSW5EO0FBQ0E7O0FBQ0EsUUFBSSxDQUFDLEtBQUtBLE9BQUwsQ0FBYU0sTUFBZCxJQUF3QixLQUFLTixPQUFMLENBQWFDLEtBQXpDLEVBQWdEO0FBQzlDLFdBQUtELE9BQUwsQ0FBYU0sTUFBYixHQUFzQixJQUFJQyxzQkFBSixFQUF0QjtBQUNELEtBRkQsTUFFTyxJQUFJLENBQUMsS0FBS1AsT0FBTCxDQUFhTSxNQUFsQixFQUEwQjtBQUMvQjtBQUNBLFdBQUtOLE9BQUwsQ0FBYU0sTUFBYixHQUFzQixJ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Z0RKLE1BQWhELENBQVA7QUFDRDtBQUVEO0FBQ0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDRUssRUFBQUEsaUJBQWlCLENBQUNDLE1BQUQsRUFBUztBQUN4QixXQUFPLEtBQUt4RSxXQUFMLENBQWlCdUUsaUJBQWpCLENBQW1DQyxNQUFuQyxDQUFQO0FBQ0Q7O0FBcEhVO0FBdUhiO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0ExRSxNQUFNLENBQUNtRSxXQUFQLEdBQXFCLENBQUNLLFVBQUQsRUFBYUosTUFBYixLQUF3QjtBQUMzQyxNQUFJLEVBQUVJLFVBQVUsWUFBWUcsTUFBeEIsQ0FBSixFQUFxQztBQUNuQyxRQUFJLENBQUNDLFlBQUdDLFVBQUgsQ0FBY0wsVUFBZCxDQUFMLEVBQWdDO0FBQzlCLFlBQU0sSUFBSU0sS0FBSixrQkFBbUJOLFVBQW5CLG1CQUFOO0FBQ0QsS0FGRCxNQUVPO0FBQ0xBLE1BQUFBLFVBQVUsR0FBR0ksWUFBR0csWUFBSCxDQUFnQlAsVUFBaEIsQ0FBYjtBQUNEO0FBQ0Y7O0FBQ0QsU0FBTzVFLG9CQUFvQixDQUFDb0YsUUFBckIsQ0FBOEJSLFVBQTlCLEVBQTBDSixNQUExQyxDQUFQO0FBQ0QsQ0FURDtBQVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0FwRSxNQUFNLENBQUN5RSxpQkFBUCxHQUEyQixDQUFDUSxNQUFELEVBQVNDLE1BQVQsRUFBaUJSLE1BQWpCLEtBQTRCO0FBQ3JELFNBQU81RSxxQkFBcUIsQ0FBQ2tGLFFBQXRCLENBQStCQyxNQUEvQixFQUF1Q0MsTUFBdkMsRUFBK0NSLE1BQS9DLENBQVA7QUFDRCxDQUZEOztlQUllMUUsTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCBDcmVkZW50aWFscyBmcm9tIFwiLi9DcmVkZW50aWFsc1wiO1xuaW1wb3J0IEp3dEdlbmVyYXRvciBmcm9tIFwiLi9Kd3RHZW5lcmF0b3JcIjtcbmltcG9ydCBIYXNoR2VuZXJhdG9yIGZyb20gXCIuL0hhc2hHZW5lcmF0b3JcIjtcbmltcG9ydCBNZXNzYWdlIGZyb20gXCIuL01lc3NhZ2VcIjtcbmltcG9ydCBWb2ljZSBmcm9tIFwiLi9Wb2ljZVwiO1xuaW1wb3J0IE51bWJlciBmcm9tIFwiLi9OdW1iZXJcIjtcbmltcG9ydCBWZXJpZnkgZnJvbSBcIi4vVmVyaWZ5XCI7XG5pbXBvcnQgTnVtYmVySW5zaWdodCBmcm9tIFwiLi9OdW1iZXJJbnNpZ2h0XCI7XG5pbXBvcnQgQXBwIGZyb20gXCIuL0FwcFwiO1xuaW1wb3J0IEFjY291bnQgZnJvbSBcIi4vQWNjb3VudFwiO1xuaW1wb3J0IENhbGxzUmVzb3VyY2UgZnJvbSBcIi4vQ2FsbHNSZXNvdXJjZVwiO1xuaW1wb3J0IENvbnZlcnNhdGlvbnMgZnJvbSBcIi4vQ29udmVyc2F0aW9uc1wiO1xuaW1wb3J0IFVzZXJzIGZyb20gXCIuL1VzZXJzXCI7XG5pbXBvcnQgRmlsZXNSZXNvdXJjZSBmcm9tIFwiLi9GaWxlc1Jlc291cmNlXCI7XG5pbXBvcnQgQ29udmVyc2lvbiBmcm9tIFwiLi9Db252ZXJzaW9uXCI7XG5pbXBvcnQgTWVkaWEgZnJvbSBcIi4vTWVkaWFcIjtcbmltcG9ydCBSZWRhY3QgZnJvbSBcIi4vUmVkYWN0XCI7XG5pbXBvcnQgQ2hhbm5lbCBmcm9tIFwiLi9DaGFubmVsXCI7XG5pbXBvcnQgRGlzcGF0Y2ggZnJvbSBcIi4vRGlzcGF0Y2hcIjtcbmltcG9ydCBQcmljaW5nIGZyb20gXCIuL1ByaWNpbmdcIjtcbmltcG9ydCBIdHRwQ2xpZW50IGZyb20gXCIuL0h0dHBDbGllbnRcIjtcbmltcG9ydCBOdWxsTG9nZ2VyIGZyb20gXCIuL051bGxMb2dnZXJcIjtcbmltcG9ydCBDb25zb2xlTG9nZ2VyIGZyb20gXCIuL0NvbnNvbGVMb2dnZXJcIjtcblxuY29uc3Qgand0R2VuZXJhdG9ySW5zdGFuY2UgPSBuZXcgSnd0R2VuZXJhdG9yKCk7XG5jb25zdCBoYXNoR2VuZXJhdG9ySW5zdGFuY2UgPSBuZXcgSGFzaEdlbmVyYXRvcigpO1xuXG5jbGFzcyBWb25hZ2Uge1xuICAvKipcbiAgICogQHBhcmFtIHtDcmVkZW50aWFsc30gY3JlZGVudGlhbHMgLSBWb25hZ2UgQVBJIGNyZWRlbnRpYWxzXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjcmVkZW50aWFscy5hcGlLZXkgLSB0aGUgVm9uYWdlIEFQSSBrZXlcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNyZWRlbnRpYWxzLmFwaVNlY3JldCAtIHRoZSBWb25hZ2UgQVBJIHNlY3JldFxuICAgKiBAcGFyYW0ge09iamVjdH0gb3B0aW9ucyAtIEFkZGl0aW9uYWwgb3B0aW9uc1xuICAgKiBAcGFyYW0ge2Jvb2xlYW59IG9wdGlvbnMuZGVidWcgLSBgdHJ1ZWAgdG8gdHVybiBvbiBkZWJ1ZyBsb2dnaW5nXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zLmxvZ2dlciAtIFNldCBhIGN1c3RvbSBsb2dnZXIuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBvcHRpb25zLmFwcGVuZFRvVXNlckFnZW50IC0gQSB2YWx1ZSB0byBhcHBlbmQgdG8gdGhlIHVzZXIgYWdlbnQuXG4gICAqICAgICAgICAgICAgICAgICAgICBUaGUgdmFsdWUgd2lsbCBiZSBwcmVmaXhlZCB3aXRoIGEgYC9gXG4gICAqL1xuICBjb25zdHJ1Y3RvcihjcmVkZW50aWFscywgb3B0aW9ucyA9IHsgZGVidWc6IGZhbHNlIH0pIHtcbiAgICB0aGlzLmNyZWRlbnRpYWxzID0gQ3JlZGVudGlhbHMucGFyc2UoY3JlZGVudGlhbHMpO1xuICAgIHRoaXMub3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMpO1xuXG4gICAgLy8gSWYgbm8gbG9nZ2VyIGhhcyBiZWVuIHN1cHBsaWVkIGJ1dCBkZWJ1ZyBoYXMgYmVlbiBzZXRcbiAgICAvLyBkZWZhdWx0IHRvIHVzaW5nIHRoZSBDb25zb2xlTG9nZ2VyXG4gICAgaWYgKCF0aGlzLm9wdGlvbnMubG9nZ2VyICYmIHRoaXMub3B0aW9ucy5kZWJ1Zykge1xuICAgICAgdGhpcy5vcHRpb25zLmxvZ2dlciA9IG5ldyBDb25zb2xlTG9nZ2VyKCk7XG4gICAgfSBlbHNlIGlmICghdGhpcy5vcHRpb25zLmxvZ2dlcikge1xuICAgICAgLy8gU3dhbGxvdyB0aGUgbG9nZ2luZ1xuICAgICAgdGhpcy5vcHRpb25zLmxvZ2dlciA9IG5ldyBOdWxsTG9nZ2VyKCk7XG4gICAgfVxuXG4gICAgbGV0IHVzZXJBZ2VudCA9IFwiQHZvbmFnZS9zZXJ2ZXItc2RrL1VOS05PV04gbm9kZS9VTktOT1dOXCI7XG4gICAgdHJ5IHtcbiAgICAgIHZhciBwYWNrYWdlRGV0YWlscyA9IHJlcXVpcmUocGF0aC5qb2luKF9fZGlybmFtZSwgXCIuLlwiLCBcInBhY2thZ2UuanNvblwiKSk7XG4gICAgICB1c2VyQWdlbnQgPSBgQHZvbmFnZS9zZXJ2ZXItc2RrLyR7XG4gICAgICAgIHBhY2thZ2VEZXRhaWxzLnZlcnNpb25cbiAgICAgIH0gbm9kZS8ke3Byb2Nlc3MudmVyc2lvbi5yZXBsYWNlKFwidlwiLCBcIlwiKX1gO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGNvbnNvbGUud2FybihcIkNvdWxkIG5vdCBsb2FkIHBhY2thZ2UgZGV0YWlsc1wiKTtcbiAgICB9XG4gICAgdGhpcy5vcHRpb25zLnVzZXJBZ2VudCA9IHVzZXJBZ2VudDtcbiAgICBpZiAodGhpcy5vcHRpb25zLmFwcGVuZFRvVXNlckFnZW50KSB7XG4gICAgICB0aGlzLm9wdGlvbnMudXNlckFnZW50ICs9IGAgJHt0aGlzLm9wdGlvbnMuYXBwZW5kVG9Vc2VyQWdlbnR9YDtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGlzIGxlZ2FjeSwgZXZlcnl0aGluZyBzaG91bGQgdXNlIHJlc3Qgb3IgYXBpIGdvaW5nIGZvcndhcmRcbiAgICB0aGlzLm9wdGlvbnMuaHR0cENsaWVudCA9IG5ldyBIdHRwQ2xpZW50KFxuICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgeyBob3N0OiB0aGlzLm9wdGlvbnMucmVzdEhvc3QgfHwgXCJyZXN0Lm5leG1vLmNvbVwiIH0sXG4gICAgICAgIHRoaXMub3B0aW9uc1xuICAgICAgKSxcbiAgICAgIHRoaXMuY3JlZGVudGlhbHNcbiAgICApO1xuXG4gICAgLy8gV2UgaGF2ZSB0d28gZGlmZmVyZW50IGhvc3RzLCBzbyB3ZSB1c2UgdHdvIGRpZmZlcmVudCBIdHRwQ2xpZW50c1xuICAgIHRoaXMub3B0aW9ucy5hcGkgPSBuZXcgSHR0cENsaWVudChcbiAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgIHsgaG9zdDogdGhpcy5vcHRpb25zLmFwaUhvc3QgfHwgXCJhcGkubmV4bW8uY29tXCIgfSxcbiAgICAgICAgdGhpcy5vcHRpb25zXG4gICAgICApLFxuICAgICAgdGhpcy5jcmVkZW50aWFsc1xuICAgICk7XG4gICAgdGhpcy5vcHRpb25zLnJlc3QgPSBuZXcgSHR0cENsaWVudChcbiAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgIHsgaG9zdDogdGhpcy5vcHRpb25zLnJlc3RIb3N0IHx8IFwicmVzdC5uZXhtby5jb21cIiB9LFxuICAgICAgICB0aGlzLm9wdGlvbnNcbiAgICAgICksXG4gICAgICB0aGlzLmNyZWRlbnRpYWxzXG4gICAgKTtcblxuICAgIHRoaXMubWVzc2FnZSA9IG5ldyBNZXNzYWdlKHRoaXMuY3JlZGVudGlhbHMsIHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy52b2ljZSA9IG5ldyBWb2ljZSh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMubnVtYmVyID0gbmV3IE51bWJlcih0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMudmVyaWZ5ID0gbmV3IFZlcmlmeSh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMubnVtYmVySW5zaWdodCA9IG5ldyBOdW1iZXJJbnNpZ2h0KHRoaXMuY3JlZGVudGlhbHMsIHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5hcHBsaWNhdGlvbnMgPSBuZXcgQXBwKHRoaXMuY3JlZGVudGlhbHMsIHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5hY2NvdW50ID0gbmV3IEFjY291bnQodGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmNhbGxzID0gbmV3IENhbGxzUmVzb3VyY2UodGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmNvbnZlcnNhdGlvbnMgPSBuZXcgQ29udmVyc2F0aW9ucyh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMudXNlcnMgPSBuZXcgVXNlcnModGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmZpbGVzID0gbmV3IEZpbGVzUmVzb3VyY2UodGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmNvbnZlcnNpb24gPSBuZXcgQ29udmVyc2lvbih0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMubWVkaWEgPSBuZXcgTWVkaWEodGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLnJlZGFjdCA9IG5ldyBSZWRhY3QodGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmNoYW5uZWwgPSBuZXcgQ2hhbm5lbCh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMuZGlzcGF0Y2ggPSBuZXcgRGlzcGF0Y2godGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLnByaWNpbmcgPSBuZXcgUHJpY2luZyh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuXG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSB2b25hZ2UuYXBwbGljYXRpb25zXG4gICAgICovXG4gICAgdGhpcy5hcHAgPSB0aGlzLmFwcGxpY2F0aW9ucztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIEpTT04gV2ViIFRva2VuIChKV1QpLlxuICAgKlxuICAgKiBUaGUgcHJpdmF0ZSBrZXkgdXNlZCB1cG9uIFZvbmFnZSBpbnN0YW5jZSBjb25zdHJ1Y3Rpb24gd2lsbCBiZSB1c2VkIHRvIHNpZ25cbiAgICogdGhlIEpXVC4gVGhlIGFwcGxpY2F0aW9uX2lkIHlvdSB1c2VkIHVwb24gVm9uYWdlIGluc3RhbmNlIGNyZWF0aW9uIHdpbGwgYmVcbiAgICogaW5jbHVkZWQgaW4gdGhlIGNsYWltcyBmb3IgdGhlIEpXVCwgaG93ZXZlciB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHBhc3NpbmdcbiAgICogYW4gYXBwbGljYXRpb25faWQgYXMgcGFydCBvZiB0aGUgY2xhaW1zLlxuICAgKlxuICAgKiBAcGFyYW0ge09iamVjdH0gY2xhaW1zIC0gbmFtZS92YWx1ZSBwYWlyIGNsYWltcyB0byBzaWduIHdpdGhpbiB0aGUgSldUXG4gICAqXG4gICAqIEByZXR1cm5zIHtTdHJpbmd9IHRoZSBnZW5lcmF0ZWQgdG9rZW5cbiAgICovXG5cbiAgZ2VuZXJhdGVKd3QoY2xhaW1zID0ge30pIHtcbiAgICBpZiAoY2xhaW1zLmFwcGxpY2F0aW9uX2lkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNsYWltcy5hcHBsaWNhdGlvbl9pZCA9IHRoaXMuY3JlZGVudGlhbHMuYXBwbGljYXRpb25JZDtcbiAgICB9XG4gICAgcmV0dXJuIFZvbmFnZS5nZW5lcmF0ZUp3dCh0aGlzLmNyZWRlbnRpYWxzLnByaXZhdGVLZXksIGNsYWltcyk7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgYSBTaWduYXR1cmUgSGFzaC5cbiAgICpcbiAgICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIHBhcmFtcyB0byBnZW5lcmF0ZSBoYXNoIGZyb21cbiAgICpcbiAgICogQHJldHVybnMge1N0cmluZ30gdGhlIGdlbmVyYXRlZCB0b2tlblxuICAgKi9cbiAgZ2VuZXJhdGVTaWduYXR1cmUocGFyYW1zKSB7XG4gICAgcmV0dXJuIHRoaXMuY3JlZGVudGlhbHMuZ2VuZXJhdGVTaWduYXR1cmUocGFyYW1zKTtcbiAgfVxufVxuXG4vKipcbiAqIEdlbmVyYXRlIGEgSlNPTiBXZWIgVG9rZW4gKEpXVCkuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd8QnVmZmVyfSBwcml2YXRlS2V5IC0gdGhlIHBhdGggdG8gdGhlIHByaXZhdGUga2V5IGNlcnRpZmljYXRlXG4gKiAgICAgICAgICB0byBiZSB1c2VkIHdoZW4gc2lnbmluZyB0aGUgY2xhaW1zLlxuICogQHBhcmFtIHtPYmplY3R9IGNsYWltcyAtIG5hbWUvdmFsdWUgcGFpciBjbGFpbXMgdG8gc2lnbiB3aXRoaW4gdGhlIEpXVFxuICpcbiAqIEByZXR1cm5zIHtTdHJpbmd9IHRoZSBnZW5lcmF0ZWQgdG9rZW5cbiAqL1xuVm9uYWdlLmdlbmVyYXRlSnd0ID0gKHByaXZhdGVLZXksIGNsYWltcykgPT4ge1xuICBpZiAoIShwcml2YXRlS2V5IGluc3RhbmNlb2YgQnVmZmVyKSkge1xuICAgIGlmICghZnMuZXhpc3RzU3luYyhwcml2YXRlS2V5KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBGaWxlIFwiJHtwcml2YXRlS2V5fVwiIG5vdCBmb3VuZC5gKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcHJpdmF0ZUtleSA9IGZzLnJlYWRGaWxlU3luYyhwcml2YXRlS2V5KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGp3dEdlbmVyYXRvckluc3RhbmNlLmdlbmVyYXRlKHByaXZhdGVLZXksIGNsYWltcyk7XG59O1xuXG4vKipcbiAqIEdlbmVyYXRlIGEgU2lnbmF0dXJlIEhhc2guXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG1ldGhvZCAtIHRoZSBtZXRob2QgdG8gYmUgdXNlZCB3aGVuIGNyZWF0aW5nIHRoZSBoYXNoXG4gKiBAcGFyYW0ge1N0cmluZ30gc2VjcmV0IC0gdGhlIHNlY3JldCB0byBiZSB1c2VkIHdoZW4gY3JlYXRpbmcgdGhlIGhhc2hcbiAqIEBwYXJhbSB7T2JqZWN0fSBwYXJhbXMgLSBwYXJhbXMgdG8gZ2VuZXJhdGUgaGFzaCBmcm9tXG4gKlxuICogQHJldHVybnMge1N0cmluZ30gdGhlIGdlbmVyYXRlZCB0b2tlblxuICovXG5Wb25hZ2UuZ2VuZXJhdGVTaWduYXR1cmUgPSAobWV0aG9kLCBzZWNyZXQsIHBhcmFtcykgPT4ge1xuICByZXR1cm4gaGFzaEdlbmVyYXRvckluc3RhbmNlLmdlbmVyYXRlKG1ldGhvZCwgc2VjcmV0LCBwYXJhbXMpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgVm9uYWdlO1xuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Wb25hZ2UuanMiXSwibmFtZXMiOlsiand0R2VuZXJhdG9ySW5zdGFuY2UiLCJKd3RHZW5lcmF0b3IiLCJoYXNoR2VuZXJhdG9ySW5zdGFuY2UiLCJIYXNoR2VuZXJhdG9yIiwiVm9uYWdlIiwiY29uc3RydWN0b3IiLCJjcmVkZW50aWFscyIsIm9wdGlvbnMiLCJkZWJ1ZyIsIkNyZWRlbnRpYWxzIiwicGFyc2UiLCJPYmplY3QiLCJhc3NpZ24iLCJsb2dnZXIiLCJDb25zb2xlTG9nZ2VyIiwiTnVsbExvZ2dlciIsInVzZXJBZ2VudCIsInBhY2thZ2VEZXRhaWxzIiwicmVxdWlyZSIsInBhdGgiLCJqb2luIiwiX19kaXJuYW1lIiwidmVyc2lvbiIsInByb2Nlc3MiLCJyZXBsYWNlIiwiZSIsImNvbnNvbGUiLCJ3YXJuIiwiYXBwZW5kVG9Vc2VyQWdlbnQiLCJodHRwQ2xpZW50IiwiSHR0cENsaWVudCIsImhvc3QiLCJyZXN0SG9zdCIsImFwaSIsImFwaUhvc3QiLCJyZXN0IiwibWVzc2FnZSIsIk1lc3NhZ2UiLCJ2b2ljZSIsIlZvaWNlIiwibnVtYmVyIiwiTnVtYmVyIiwidmVyaWZ5IiwiVmVyaWZ5IiwibnVtYmVySW5zaWdodCIsIk51bWJlckluc2lnaHQiLCJhcHBsaWNhdGlvbnMiLCJBcHAiLCJhY2NvdW50IiwiQWNjb3VudCIsImNhbGxzIiwiQ2FsbHNSZXNvdXJjZSIsImZpbGVzIiwiRmlsZXNSZXNvdXJjZSIsImNvbnZlcnNpb24iLCJDb252ZXJzaW9uIiwibWVkaWEiLCJNZWRpYSIsInJlZGFjdCIsIlJlZGFjdCIsInByaWNpbmciLCJQcmljaW5nIiwiYXBwIiwiZ2VuZXJhdGVKd3QiLCJjbGFpbXMiLCJhcHBsaWNhdGlvbl9pZCIsInVuZGVmaW5lZCIsImFwcGxpY2F0aW9uSWQiLCJwcml2YXRlS2V5IiwiZ2VuZXJhdGVTaWduYXR1cmUiLCJwYXJhbXMiLCJCdWZmZXIiLCJmcyIsImV4aXN0c1N5bmMiLCJFcnJvciIsInJlYWRGaWxl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O0FBQ0xBLE1BQUFBLFVBQVUsR0FBR0ksWUFBR0csWUFBSCxDQUFnQlAsVUFBaEIsQ0FBYjtBQUNEO0FBQ0Y7O0FBQ0QsU0FBT3BFLG9CQUFvQixDQUFDNEUsUUFBckIsQ0FBOEJSLFVBQTlCLEVBQTBDSixNQUExQyxDQUFQO0FBQ0QsQ0FURDtBQVdBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0E1RCxNQUFNLENBQUNpRSxpQkFBUCxHQUEyQixDQUFDUSxNQUFELEVBQVNDLE1BQVQsRUFBaUJSLE1BQWpCLEtBQTRCO0FBQ3JELFNBQU9wRSxxQkFBcUIsQ0FBQzBFLFFBQXRCLENBQStCQyxNQUEvQixFQUF1Q0MsTUFBdkMsRUFBK0NSLE1BQS9DLENBQVA7QUFDRCxDQUZEOztlQUllbEUsTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmcyBmcm9tIFwiZnNcIjtcbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCI7XG5cbmltcG9ydCBDcmVkZW50aWFscyBmcm9tIFwiLi9DcmVkZW50aWFsc1wiO1xuaW1wb3J0IEp3dEdlbmVyYXRvciBmcm9tIFwiLi9Kd3RHZW5lcmF0b3JcIjtcbmltcG9ydCBIYXNoR2VuZXJhdG9yIGZyb20gXCIuL0hhc2hHZW5lcmF0b3JcIjtcbmltcG9ydCBNZXNzYWdlIGZyb20gXCIuL01lc3NhZ2VcIjtcbmltcG9ydCBWb2ljZSBmcm9tIFwiLi9Wb2ljZVwiO1xuaW1wb3J0IE51bWJlciBmcm9tIFwiLi9OdW1iZXJcIjtcbmltcG9ydCBWZXJpZnkgZnJvbSBcIi4vVmVyaWZ5XCI7XG5pbXBvcnQgTnVtYmVySW5zaWdodCBmcm9tIFwiLi9OdW1iZXJJbnNpZ2h0XCI7XG5pbXBvcnQgQXBwIGZyb20gXCIuL0FwcFwiO1xuaW1wb3J0IEFjY291bnQgZnJvbSBcIi4vQWNjb3VudFwiO1xuaW1wb3J0IENhbGxzUmVzb3VyY2UgZnJvbSBcIi4vQ2FsbHNSZXNvdXJjZVwiO1xuaW1wb3J0IEZpbGVzUmVzb3VyY2UgZnJvbSBcIi4vRmlsZXNSZXNvdXJjZVwiO1xuaW1wb3J0IENvbnZlcnNpb24gZnJvbSBcIi4vQ29udmVyc2lvblwiO1xuaW1wb3J0IE1lZGlhIGZyb20gXCIuL01lZGlhXCI7XG5pbXBvcnQgUmVkYWN0IGZyb20gXCIuL1JlZGFjdFwiO1xuaW1wb3J0IFByaWNpbmcgZnJvbSBcIi4vUHJpY2luZ1wiO1xuaW1wb3J0IEh0dHBDbGllbnQgZnJvbSBcIi4vSHR0cENsaWVudFwiO1xuaW1wb3J0IE51bGxMb2dnZXIgZnJvbSBcIi4vTnVsbExvZ2dlclwiO1xuaW1wb3J0IENvbnNvbGVMb2dnZXIgZnJvbSBcIi4vQ29uc29sZUxvZ2dlclwiO1xuXG5jb25zdCBqd3RHZW5lcmF0b3JJbnN0YW5jZSA9IG5ldyBKd3RHZW5lcmF0b3IoKTtcbmNvbnN0IGhhc2hHZW5lcmF0b3JJbnN0YW5jZSA9IG5ldyBIYXNoR2VuZXJhdG9yKCk7XG5cbmNsYXNzIFZvbmFnZSB7XG4gIC8qKlxuICAgKiBAcGFyYW0ge0NyZWRlbnRpYWxzfSBjcmVkZW50aWFscyAtIFZvbmFnZSBBUEkgY3JlZGVudGlhbHNcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNyZWRlbnRpYWxzLmFwaUtleSAtIHRoZSBWb25hZ2UgQVBJIGtleVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY3JlZGVudGlhbHMuYXBpU2VjcmV0IC0gdGhlIFZvbmFnZSBBUEkgc2VjcmV0XG4gICAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gb3B0aW9ucy5kZWJ1ZyAtIGB0cnVlYCB0byB0dXJuIG9uIGRlYnVnIGxvZ2dpbmdcbiAgICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMubG9nZ2VyIC0gU2V0IGEgY3VzdG9tIGxvZ2dlci5cbiAgICogQHBhcmFtIHtzdHJpbmd9IG9wdGlvbnMuYXBwZW5kVG9Vc2VyQWdlbnQgLSBBIHZhbHVlIHRvIGFwcGVuZCB0byB0aGUgdXNlciBhZ2VudC5cbiAgICogICAgICAgICAgICAgICAgICAgIFRoZSB2YWx1ZSB3aWxsIGJlIHByZWZpeGVkIHdpdGggYSBgL2BcbiAgICovXG4gIGNvbnN0cnVjdG9yKGNyZWRlbnRpYWxzLCBvcHRpb25zID0geyBkZWJ1ZzogZmFsc2UgfSkge1xuICAgIHRoaXMuY3JlZGVudGlhbHMgPSBDcmVkZW50aWFscy5wYXJzZShjcmVkZW50aWFscyk7XG4gICAgdGhpcy5vcHRpb25zID0gT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucyk7XG5cbiAgICAvLyBJZiBubyBsb2dnZXIgaGFzIGJlZW4gc3VwcGxpZWQgYnV0IGRlYnVnIGhhcyBiZWVuIHNldFxuICAgIC8vIGRlZmF1bHQgdG8gdXNpbmcgdGhlIENvbnNvbGVMb2dnZXJcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5sb2dnZXIgJiYgdGhpcy5vcHRpb25zLmRlYnVnKSB7XG4gICAgICB0aGlzLm9wdGlvbnMubG9nZ2VyID0gbmV3IENvbnNvbGVMb2dnZXIoKTtcbiAgICB9IGVsc2UgaWYgKCF0aGlzLm9wdGlvbnMubG9nZ2VyKSB7XG4gICAgICAvLyBTd2FsbG93IHRoZSBsb2dnaW5nXG4gICAgICB0aGlzLm9wdGlvbnMubG9nZ2VyID0gbmV3IE51bGxMb2dnZXIoKTtcbiAgICB9XG5cbiAgICBsZXQgdXNlckFnZW50ID0gXCJAdm9uYWdlL3NlcnZlci1zZGsvVU5LTk9XTiBub2RlL1VOS05PV05cIjtcbiAgICB0cnkge1xuICAgICAgdmFyIHBhY2thZ2VEZXRhaWxzID0gcmVxdWlyZShwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4uXCIsIFwicGFja2FnZS5qc29uXCIpKTtcbiAgICAgIHVzZXJBZ2VudCA9IGBAdm9uYWdlL3NlcnZlci1zZGsvJHtcbiAgICAgICAgcGFja2FnZURldGFpbHMudmVyc2lvblxuICAgICAgfSBub2RlLyR7cHJvY2Vzcy52ZXJzaW9uLnJlcGxhY2UoXCJ2XCIsIFwiXCIpfWA7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgY29uc29sZS53YXJuKFwiQ291bGQgbm90IGxvYWQgcGFja2FnZSBkZXRhaWxzXCIpO1xuICAgIH1cbiAgICB0aGlzLm9wdGlvbnMudXNlckFnZW50ID0gdXNlckFnZW50O1xuICAgIGlmICh0aGlzLm9wdGlvbnMuYXBwZW5kVG9Vc2VyQWdlbnQpIHtcbiAgICAgIHRoaXMub3B0aW9ucy51c2VyQWdlbnQgKz0gYCAke3RoaXMub3B0aW9ucy5hcHBlbmRUb1VzZXJBZ2VudH1gO1xuICAgIH1cblxuICAgIC8vIFRoaXMgaXMgbGVnYWN5LCBldmVyeXRoaW5nIHNob3VsZCB1c2UgcmVzdCBvciBhcGkgZ29pbmcgZm9yd2FyZFxuICAgIHRoaXMub3B0aW9ucy5odHRwQ2xpZW50ID0gbmV3IEh0dHBDbGllbnQoXG4gICAgICBPYmplY3QuYXNzaWduKFxuICAgICAgICB7IGhvc3Q6IHRoaXMub3B0aW9ucy5yZXN0SG9zdCB8fCBcInJlc3QubmV4bW8uY29tXCIgfSxcbiAgICAgICAgdGhpcy5vcHRpb25zXG4gICAgICApLFxuICAgICAgdGhpcy5jcmVkZW50aWFsc1xuICAgICk7XG5cbiAgICAvLyBXZSBoYXZlIHR3byBkaWZmZXJlbnQgaG9zdHMsIHNvIHdlIHVzZSB0d28gZGlmZmVyZW50IEh0dHBDbGllbnRzXG4gICAgdGhpcy5vcHRpb25zLmFwaSA9IG5ldyBIdHRwQ2xpZW50KFxuICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgeyBob3N0OiB0aGlzLm9wdGlvbnMuYXBpSG9zdCB8fCBcImFwaS5uZXhtby5jb21cIiB9LFxuICAgICAgICB0aGlzLm9wdGlvbnNcbiAgICAgICksXG4gICAgICB0aGlzLmNyZWRlbnRpYWxzXG4gICAgKTtcbiAgICB0aGlzLm9wdGlvbnMucmVzdCA9IG5ldyBIdHRwQ2xpZW50KFxuICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgeyBob3N0OiB0aGlzLm9wdGlvbnMucmVzdEhvc3QgfHwgXCJyZXN0Lm5leG1vLmNvbVwiIH0sXG4gICAgICAgIHRoaXMub3B0aW9uc1xuICAgICAgKSxcbiAgICAgIHRoaXMuY3JlZGVudGlhbHNcbiAgICApO1xuXG4gICAgdGhpcy5tZXNzYWdlID0gbmV3IE1lc3NhZ2UodGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLnZvaWNlID0gbmV3IFZvaWNlKHRoaXMuY3JlZGVudGlhbHMsIHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5udW1iZXIgPSBuZXcgTnVtYmVyKHRoaXMuY3JlZGVudGlhbHMsIHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy52ZXJpZnkgPSBuZXcgVmVyaWZ5KHRoaXMuY3JlZGVudGlhbHMsIHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5udW1iZXJJbnNpZ2h0ID0gbmV3IE51bWJlckluc2lnaHQodGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmFwcGxpY2F0aW9ucyA9IG5ldyBBcHAodGhpcy5jcmVkZW50aWFscywgdGhpcy5vcHRpb25zKTtcbiAgICB0aGlzLmFjY291bnQgPSBuZXcgQWNjb3VudCh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMuY2FsbHMgPSBuZXcgQ2FsbHNSZXNvdXJjZSh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMuZmlsZXMgPSBuZXcgRmlsZXNSZXNvdXJjZSh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMuY29udmVyc2lvbiA9IG5ldyBDb252ZXJzaW9uKHRoaXMuY3JlZGVudGlhbHMsIHRoaXMub3B0aW9ucyk7XG4gICAgdGhpcy5tZWRpYSA9IG5ldyBNZWRpYSh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMucmVkYWN0ID0gbmV3IFJlZGFjdCh0aGlzLmNyZWRlbnRpYWxzLCB0aGlzLm9wdGlvbnMpO1xuICAgIHRoaXMucHJpY2luZyA9IG5ldyBQcmljaW5nKHRoaXMuY3JlZGVudGlhbHMsIHRoaXMub3B0aW9ucyk7XG5cbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBQbGVhc2UgdXNlIHZvbmFnZS5hcHBsaWNhdGlvbnNcbiAgICAgKi9cbiAgICB0aGlzLmFwcCA9IHRoaXMuYXBwbGljYXRpb25zO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgSlNPTiBXZWIgVG9rZW4gKEpXVCkuXG4gICAqXG4gICAqIFRoZSBwcml2YXRlIGtleSB1c2VkIHVwb24gVm9uYWdlIGluc3RhbmNlIGNvbnN0cnVjdGlvbiB3aWxsIGJlIHVzZWQgdG8gc2lnblxuICAgKiB0aGUgSldULiBUaGUgYXBwbGljYXRpb25faWQgeW91IHVzZWQgdXBvbiBWb25hZ2UgaW5zdGFuY2UgY3JlYXRpb24gd2lsbCBiZVxuICAgKiBpbmNsdWRlZCBpbiB0aGUgY2xhaW1zIGZvciB0aGUgSldULCBob3dldmVyIHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gYnkgcGFzc2luZ1xuICAgKiBhbiBhcHBsaWNhdGlvbl9pZCBhcyBwYXJ0IG9mIHRoZSBjbGFpbXMuXG4gICAqXG4gICAqIEBwYXJhbSB7T2JqZWN0fSBjbGFpbXMgLSBuYW1lL3ZhbHVlIHBhaXIgY2xhaW1zIHRvIHNpZ24gd2l0aGluIHRoZSBKV1RcbiAgICpcbiAgICogQHJldHVybnMge1N0cmluZ30gdGhlIGdlbmVyYXRlZCB0b2tlblxuICAgKi9cblxuICBnZW5lcmF0ZUp3dChjbGFpbXMgPSB7fSkge1xuICAgIGlmIChjbGFpbXMuYXBwbGljYXRpb25faWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY2xhaW1zLmFwcGxpY2F0aW9uX2lkID0gdGhpcy5jcmVkZW50aWFscy5hcHBsaWNhdGlvbklkO1xuICAgIH1cbiAgICByZXR1cm4gVm9uYWdlLmdlbmVyYXRlSnd0KHRoaXMuY3JlZGVudGlhbHMucHJpdmF0ZUtleSwgY2xhaW1zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSBhIFNpZ25hdHVyZSBIYXNoLlxuICAgKlxuICAgKiBAcGFyYW0ge09iamVjdH0gcGFyYW1zIC0gcGFyYW1zIHRvIGdlbmVyYXRlIGhhc2ggZnJvbVxuICAgKlxuICAgKiBAcmV0dXJucyB7U3RyaW5nfSB0aGUgZ2VuZXJhdGVkIHRva2VuXG4gICAqL1xuICBnZW5lcmF0ZVNpZ25hdHVyZShwYXJhbXMpIHtcbiAgICByZXR1cm4gdGhpcy5jcmVkZW50aWFscy5nZW5lcmF0ZVNpZ25hdHVyZShwYXJhbXMpO1xuICB9XG59XG5cbi8qKlxuICogR2VuZXJhdGUgYSBKU09OIFdlYiBUb2tlbiAoSldUKS5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ3xCdWZmZXJ9IHByaXZhdGVLZXkgLSB0aGUgcGF0aCB0byB0aGUgcHJpdmF0ZSBrZXkgY2VydGlmaWNhdGVcbiAqICAgICAgICAgIHRvIGJlIHVzZWQgd2hlbiBzaWduaW5nIHRoZSBjbGFpbXMuXG4gKiBAcGFyYW0ge09iamVjdH0gY2xhaW1zIC0gbmFtZS92YWx1ZSBwYWlyIGNsYWltcyB0byBzaWduIHdpdGhpbiB0aGUgSldUXG4gKlxuICogQHJldHVybnMge1N0cmluZ30gdGhlIGdlbmVyYXRlZCB0b2tlblxuICovXG5Wb25hZ2UuZ2VuZXJhdGVKd3QgPSAocHJpdmF0ZUtleSwgY2xhaW1zKSA9PiB7XG4gIGlmICghKHByaXZhdGVLZXkgaW5zdGFuY2VvZiBCdWZmZXIpKSB7XG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKHByaXZhdGVLZXkpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEZpbGUgXCIke3ByaXZhdGVLZXl9XCIgbm90IGZvdW5kLmApO1xuICAgIH0gZWxzZSB7XG4gICAgICBwcml2YXRlS2V5ID0gZnMucmVhZEZpbGVTeW5jKHByaXZhdGVLZXkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gand0R2VuZXJhdG9ySW5zdGFuY2UuZ2VuZXJhdGUocHJpdmF0ZUtleSwgY2xhaW1zKTtcbn07XG5cbi8qKlxuICogR2VuZXJhdGUgYSBTaWduYXR1cmUgSGFzaC5cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ30gbWV0aG9kIC0gdGhlIG1ldGhvZCB0byBiZSB1c2VkIHdoZW4gY3JlYXRpbmcgdGhlIGhhc2hcbiAqIEBwYXJhbSB7U3RyaW5nfSBzZWNyZXQgLSB0aGUgc2VjcmV0IHRvIGJlIHVzZWQgd2hlbiBjcmVhdGluZyB0aGUgaGFzaFxuICogQHBhcmFtIHtPYmplY3R9IHBhcmFtcyAtIHBhcmFtcyB0byBnZW5lcmF0ZSBoYXNoIGZyb21cbiAqXG4gKiBAcmV0dXJucyB7U3RyaW5nfSB0aGUgZ2VuZXJhdGVkIHRva2VuXG4gKi9cblZvbmFnZS5nZW5lcmF0ZVNpZ25hdHVyZSA9IChtZXRob2QsIHNlY3JldCwgcGFyYW1zKSA9PiB7XG4gIHJldHVybiBoYXNoR2VuZXJhdG9ySW5zdGFuY2UuZ2VuZXJhdGUobWV0aG9kLCBzZWNyZXQsIHBhcmFtcyk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBWb25hZ2U7XG4iXX0=
{
"name": "@vonage/server-sdk",
"author": "vonage",
"version": "2.10.5-beta-2",
"version": "2.10.5",
"main": "lib/Vonage",

@@ -30,4 +30,3 @@ "types": "./typings/index.d.ts",

"ecwyne",
"https://github.com/backhand",
"alexlakatos"
"https://github.com/backhand"
],

@@ -45,4 +44,3 @@ "scripts": {

"prepublish": "npm run compile",
"pretest": "npm run lint",
"test-e2e": "npm run compile && mocha --compilers ./node_modules/.bin/_mocha --compilers js:babel-register ./e2e/*.spec.js"
"pretest": "npm run lint"
},

@@ -55,4 +53,4 @@ "devDependencies": {

"@babel/register": "^7.10.5",
"babel-plugin-istanbul": "^6.0.0",
"babel-plugin-add-module-exports": "^1.0.4",
"babel-plugin-istanbul": "^6.0.0",
"bluebird": "^3.5.3",

@@ -59,0 +57,0 @@ "body-parser": "^1.18.3",

@@ -36,5 +36,2 @@ # Vonage Server SDK for Node.js

* `apiKey` and `apiSecret` are required for SMS, Verify, Number Insights, Account management APIs
* `applicationId` and `privateKey` are required for Voice / Stitch applications
```js

@@ -41,0 +38,0 @@ const Vonage = require('@vonage/server-sdk');

@@ -584,2 +584,4 @@ /*

call(recipient: To, answerUrl: string, opts: OutboundCallRequest, callback: (data: OutboundCallResponse) => void): void;
__proto__: any;
[key: string]: any;
}

@@ -586,0 +588,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc