New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@cloudbase/oauth

Package Overview
Dependencies
Maintainers
17
Versions
156
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cloudbase/oauth - npm Package Compare versions

Comparing version 0.0.1-alpha.0 to 0.0.2-alpha.0

dist/captcha/captcha.d.ts

6

dist/auth/apis.d.ts
import { GetVerificationRequest, GetVerificationResponse, UserProfile, UserInfo, SignInRequest, SignUpRequest, VerifyRequest, VerifyResponse, GenProviderRedirectUriRequest, GenProviderRedirectUriResponse, GrantProviderTokenRequest, GrantProviderTokenResponse, PatchProviderTokenRequest, PatchProviderTokenResponse, SignInWithProviderRequest, BindWithProviderRequest, TransByProviderRequest, GrantTokenRequest, UserProfileProvider, UnbindProviderRequest, CheckPasswordrRequest, BindPhoneRequest, SetPasswordRequest, ChangeBindedProviderRequest, ChangeBindedProviderResponse, QueryUserProfileReq } from './models';
import { SimpleStorage } from '../oauth2client/interface';
import { SimpleStorage, RequestFunction } from '../oauth2client/interface';
import { OAuth2Client } from '../oauth2client/oauth2client';

@@ -9,3 +9,3 @@ import { Credentials } from '../oauth2client/models';

credentialsClient?: OAuth2Client;
request?: <T>(url: string, options?: any) => Promise<T>;
request?: RequestFunction;
storage?: SimpleStorage;

@@ -17,2 +17,3 @@ }

signIn(params: SignInRequest): Promise<Credentials>;
signInAnonymously(): Promise<Credentials>;
protected signUp(params: SignUpRequest): Promise<Credentials>;

@@ -29,2 +30,3 @@ signOut(): Promise<void>;

getUserInfo(): Promise<UserInfo>;
hasLoginState(): Promise<boolean>;
transByProvider(params: TransByProviderRequest): Promise<Credentials>;

@@ -31,0 +33,0 @@ grantToken(params: GrantTokenRequest): Promise<Credentials>;

@@ -42,2 +42,3 @@ 'use strict';

var oauth2client_1 = require("../oauth2client/oauth2client");
var captcha_1 = require("../captcha/captcha");
var Auth = (function () {

@@ -47,3 +48,3 @@ function Auth(opts) {

var oAuth2Client = opts.credentialsClient;
if (!request) {
if (!oAuth2Client) {
var initOptions = {

@@ -55,4 +56,12 @@ apiOrigin: opts.apiOrigin,

oAuth2Client = new oauth2client_1.OAuth2Client(initOptions);
request = oAuth2Client.request.bind(oAuth2Client);
}
if (!request) {
var baseRequest = oAuth2Client.request.bind(oAuth2Client);
var captcha = new captcha_1.Captcha({
clientId: opts.clientId,
request: baseRequest,
storage: opts.storage,
});
request = captcha.request.bind(captcha);
}
this._config = {

@@ -68,21 +77,10 @@ apiOrigin: opts.apiOrigin,

return __awaiter(this, void 0, void 0, function () {
var captchaMeta, credentials;
var credentials;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
captchaMeta = {};
if (params.username.startsWith('+')) {
captchaMeta.phone_number = params.username;
}
else if (params.username.includes('@')) {
captchaMeta.email = params.username;
}
else {
captchaMeta.username = params.username;
}
params.client_id = this._config.clientId;
return [4, this._config.request(consts_1.ApiUrls.AUTH_SIGN_IN_URL, {
method: 'POST',
body: params,
withCaptchaMeta: captchaMeta,
body: params
})];

@@ -99,2 +97,23 @@ case 1:

};
Auth.prototype.signInAnonymously = function () {
return __awaiter(this, void 0, void 0, function () {
var credentials;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4, this._config.request(consts_1.ApiUrls.AUTH_SIGN_IN_ANONYMOUSLY_URL, {
method: 'POST',
body: {
client_id: this._config.clientId
}
})];
case 1:
credentials = _a.sent();
return [4, this._config.credentialsClient.setCredentials(credentials)];
case 2:
_a.sent();
return [2, Promise.resolve(credentials)];
}
});
});
};
Auth.prototype.signUp = function (params) {

@@ -148,11 +167,3 @@ return __awaiter(this, void 0, void 0, function () {

return __awaiter(this, void 0, void 0, function () {
var captchaMeta;
return __generator(this, function (_a) {
captchaMeta = {};
if (params.phone_number) {
captchaMeta.phone_number = params.phone_number;
}
else {
captchaMeta.email = params.email;
}
params.client_id = this._config.clientId;

@@ -162,4 +173,3 @@ return [2, this._config.request(consts_1.ApiUrls.VERIFICATION_URL, {

body: params,
withCaptcha: true,
withCaptchaMeta: captchaMeta,
withCaptcha: true
})];

@@ -270,2 +280,21 @@ });

};
Auth.prototype.hasLoginState = function () {
return __awaiter(this, void 0, void 0, function () {
var error_1;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
_a.trys.push([0, 2, , 3]);
return [4, this._config.credentialsClient.getAccessToken()];
case 1:
_a.sent();
return [2, true];
case 2:
error_1 = _a.sent();
return [2, false];
case 3: return [2];
}
});
});
};
Auth.prototype.transByProvider = function (params) {

@@ -349,5 +378,3 @@ return __awaiter(this, void 0, void 0, function () {

return __awaiter(this, void 0, void 0, function () {
var captchaMeta;
return __generator(this, function (_a) {
captchaMeta = {};
params.client_id = this._config.clientId;

@@ -359,4 +386,3 @@ params.target = 'CUR_USER';

withCredentials: true,
withCaptcha: true,
withCaptchaMeta: captchaMeta,
withCaptcha: true
})];

@@ -406,2 +432,2 @@ });

exports.Auth = Auth;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdXRoL2FwaXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsWUFBWSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFYixtQ0FBbUM7QUE4Qm5DLDZEQUE0RTtBQWM1RTtJQU1JLGNBQVksSUFBaUI7UUFDM0IsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMzQixJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDMUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNaLElBQUksV0FBVyxHQUFHO2dCQUNoQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7Z0JBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO2FBQ3RCLENBQUM7WUFDRixZQUFZLEdBQUcsSUFBSSwyQkFBWSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzdDLE9BQU8sR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUNuRDtRQUNELElBQUksQ0FBQyxPQUFPLEdBQUc7WUFDYixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDekIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLGlCQUFpQixFQUFFLFlBQVk7WUFDL0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLElBQUksNkJBQWM7U0FDeEMsQ0FBQztJQUNKLENBQUM7SUFPWSxxQkFBTSxHQUFuQixVQUFvQixNQUFxQjs7Ozs7O3dCQUNqQyxXQUFXLEdBQVEsRUFBRSxDQUFDO3dCQUM1QixJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFOzRCQUNuQyxXQUFXLENBQUMsWUFBWSxHQUFHLE1BQU0s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dC9tZW1iZXItb3JkZXJpbmcgKi9cbid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHsgQXBpVXJscyB9IGZyb20gJy4vY29uc3RzJztcbmltcG9ydCB7XG4gIEdldFZlcmlmaWNhdGlvblJlcXVlc3QsXG4gIEdldFZlcmlmaWNhdGlvblJlc3BvbnNlLFxuICBVc2VyUHJvZmlsZSxcbiAgVXNlckluZm8sXG4gIFNpZ25JblJlcXVlc3QsXG4gIFNpZ25VcFJlcXVlc3QsXG4gIFZlcmlmeVJlcXVlc3QsXG4gIFZlcmlmeVJlc3BvbnNlLFxuICBHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVxdWVzdCxcbiAgR2VuUHJvdmlkZXJSZWRpcmVjdFVyaVJlc3BvbnNlLFxuICBHcmFudFByb3ZpZGVyVG9rZW5SZXF1ZXN0LFxuICBHcmFudFByb3ZpZGVyVG9rZW5SZXNwb25zZSxcbiAgUGF0Y2hQcm92aWRlclRva2VuUmVxdWVzdCxcbiAgUGF0Y2hQcm92aWRlclRva2VuUmVzcG9uc2UsXG4gIFNpZ25JbldpdGhQcm92aWRlclJlcXVlc3QsXG4gIEJpbmRXaXRoUHJvdmlkZXJSZXF1ZXN0LFxuICBUcmFuc0J5UHJvdmlkZXJSZXF1ZXN0LFxuICBHcmFudFRva2VuUmVxdWVzdCxcbiAgVXNlclByb2ZpbGVQcm92aWRlcixcbiAgVW5iaW5kUHJvdmlkZXJSZXF1ZXN0LFxuICBDaGVja1Bhc3N3b3JkclJlcXVlc3QsXG4gIEJpbmRQaG9uZVJlcXVlc3QsXG4gIFNldFBhc3N3b3JkUmVxdWVzdCxcbiAgQ2hhbmdlQmluZGVkUHJvdmlkZXJSZXF1ZXN0LFxuICBDaGFuZ2VCaW5kZWRQcm92aWRlclJlc3BvbnNlLFxuICBRdWVyeVVzZXJQcm9maWxlUmVxLFxufSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQgeyBTaW1wbGVTdG9yYWdlIH0gZnJvbSAnLi4vb2F1dGgyY2xpZW50L2ludGVyZmFjZSc7XG5pbXBvcnQgeyBPQXV0aDJDbGllbnQsIGRlZmF1bHRTdG9yYWdlIH0gZnJvbSAnLi4vb2F1dGgyY2xpZW50L29hdXRoMmNsaWVudCc7XG5pbXBvcnQgeyBDcmVkZW50aWFscyB9IGZyb20gJy4uL29hdXRoMmNsaWVudC9tb2RlbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhPcHRpb25zIHtcbiAgICBhcGlPcmlnaW46IHN0cmluZztcbiAgICBjbGllbnRJZDogc3RyaW5nO1xuICAgIGNyZWRlbnRpYWxzQ2xpZW50PzogT0F1dGgyQ2xpZW50O1xuICAgIHJlcXVlc3Q/OiA8VD4odXJsOiBzdHJpbmcsIG9wdGlvbnM/OiBhbnkpID0+IFByb21pc2U8VD47XG4gICAgc3RvcmFnZT86IFNpbXBsZVN0b3JhZ2U7XG59XG5cbi8qKlxuICogQXV0aFxuICovXG5leHBvcnQgY2xhc3MgQXV0aCB7XG4gICAgcHJpdmF0ZSBfY29uZmlnOiBBdXRoT3B0aW9ucztcbiAgICAvKipcbiAgICAgKiBjb25zdHJ1Y3RvclxuICAgICAqIEBwYXJhbSB7QXV0aE9wdGlvbnN9IG9wdHNcbiAgICAgKi9cbiAgICBjb25zdHJ1Y3RvcihvcHRzOiBBdXRoT3B0aW9ucykge1xuICAgICAgbGV0IHJlcXVlc3QgPSBvcHRzLnJlcXVlc3Q7XG4gICAgICBsZXQgb0F1dGgyQ2xpZW50ID0gb3B0cy5jcmVkZW50aWFsc0NsaWVudDtcbiAgICAgIGlmICghcmVxdWVzdCkge1xuICAgICAgICBsZXQgaW5pdE9wdGlvbnMgPSB7XG4gICAgICAgICAgYXBpT3JpZ2luOiBvcHRzLmFwaU9yaWdpbixcbiAgICAgICAgICBjbGllbnRJZDogb3B0cy5jbGllbnRJZCxcbiAgICAgICAgICBzdG9yYWdlOiBvcHRzLnN0b3JhZ2UsXG4gICAgICAgIH07XG4gICAgICAgIG9BdXRoMkNsaWVudCA9IG5ldyBPQXV0aDJDbGllbnQoaW5pdE9wdGlvbnMpO1xuICAgICAgICByZXF1ZXN0ID0gb0F1dGgyQ2xpZW50LnJlcXVlc3QuYmluZChvQXV0aDJDbGllbnQpO1xuICAgICAgfVxuICAgICAgdGhpcy5fY29uZmlnID0ge1xuICAgICAgICBhcGlPcmlnaW46IG9wdHMuYXBpT3JpZ2luLFxuICAgICAgICBjbGllbnRJZDogb3B0cy5jbGllbnRJZCxcbiAgICAgICAgcmVxdWVzdDogcmVxdWVzdCxcbiAgICAgICAgY3JlZGVudGlhbHNDbGllbnQ6IG9BdXRoMkNsaWVudCxcbiAgICAgICAgc3RvcmFnZTogb3B0cy5zdG9yYWdlIHx8IGRlZmF1bHRTdG9yYWdlLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaWduIGluLlxuICAgICAqIEBwYXJhbSB7U2lnbkluUmVxdWVzdH0gcGFyYW1zIEEgU2lnbkluUmVxdWVzdCBPYmplY3QuXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxDcmVkZW50aWFscz59IEEgUHJvbWlzZTxDcmVkZW50aWFscz4gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBzaWduSW4ocGFyYW1zOiBTaWduSW5SZXF1ZXN0KTogUHJvbWlzZTxDcmVkZW50aWFscz4ge1xuICAgICAgY29uc3QgY2FwdGNoYU1ldGE6IGFueSA9IHt9O1xuICAgICAgaWYgKHBhcmFtcy51c2VybmFtZS5zdGFydHNXaXRoKCcrJykpIHtcbiAgICAgICAgY2FwdGNoYU1ldGEucGhvbmVfbnVtYmVyID0gcGFyYW1zLnVzZXJuYW1lO1xuICAgICAgfSBlbHNlIGlmIChwYXJhbXMudXNlcm5hbWUuaW5jbHVkZXMoJ0AnKSkge1xuICAgICAgICBjYXB0Y2hhTWV0YS5lbWFpbCA9IHBhcmFtcy51c2VybmFtZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNhcHRjaGFNZXRhLnVzZXJuYW1lID0gcGFyYW1zLnVzZXJuYW1lO1xuICAgICAgfVxuICAgICAgcGFyYW1zLmNsaWVudF9pZCA9IHRoaXMuX2NvbmZpZy5jbGllbnRJZDtcbiAgICAgIGNvbnN0IGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscyA9IGF3YWl0IHRoaXMuX2NvbmZpZy5yZXF1ZXN0PENyZWRlbnRpYWxzPihcbiAgICAgICAgQXBpVXJscy5BVVRIX1NJR05fSU5fVVJMLFxuICAgICAgICB7XG4gICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgYm9keTogcGFyYW1zLFxuICAgICAgICAgIHdpdGhDYXB0Y2hhTWV0YTogY2FwdGNoYU1ldGEsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgICAgYXdhaXQgdGhpcy5fY29uZmlnLmNyZWRlbnRpYWxzQ2xpZW50LnNldENyZWRlbnRpYWxzKGNyZWRlbnRpYWxzKTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoY3JlZGVudGlhbHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNpZ24gdXAuXG4gICAgICogQHBhcmFtIHtTaWduVXBSZXF1ZXN0fSBwYXJhbXMgQSBTaWduVXBSZXF1ZXN0IE9iamVjdC5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPENyZWRlbnRpYWxzPn0gQSBQcm9taXNlPENyZWRlbnRpYWxzPiBvYmplY3QuXG4gICAgICovXG4gICAgcHJvdGVjdGVkIGFzeW5jIHNpZ25VcChwYXJhbXM6IFNpZ25VcFJlcXVlc3QpOiBQcm9taXNlPENyZWRlbnRpYWxzPiB7XG4gICAgICBwYXJhbXMuY2xpZW50X2lkID0gdGhpcy5fY29uZmlnLmNsaWVudElkO1xuICAgICAgY29uc3QgZGF0YTogQ3JlZGVudGlhbHMgPSBhd2FpdCB0aGlzLl9jb25maWcucmVxdWVzdDxDcmVkZW50aWFscz4oXG4gICAgICAgIEFwaVVybHMuQVVUSF9TSUdOX1VQX1VSTCxcbiAgICAgICAge1xuICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgICBhd2FpdCB0aGlzLl9jb25maWcuY3JlZGVudGlhbHNDbGllbnQuc2V0Q3JlZGVudGlhbHMoZGF0YSk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGRhdGEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNpZ24gb3V0LlxuICAgICAqIEByZXR1cm4ge09iamVjdH0gQSBQcm9taXNlPHZvaWQ+IG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgc2lnbk91dCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgIGNvbnN0IGFjY2Vzc1Rva2VuOiBzdHJpbmcgPSBhd2FpdCB0aGlzLl9jb25maWcuY3JlZGVudGlhbHNDbGllbnQuZ2V0QWNjZXNzVG9rZW4oKTtcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLl9jb25maWcucmVxdWVzdDx2b2lkPihBcGlVcmxzLkFVVEhfUkVWT0tFX1VSTCwge1xuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgYm9keToge1xuICAgICAgICAgIGNsaWVudF9pZDogdGhpcy5fY29uZmlnLmNsaWVudElkLFxuICAgICAgICAgIHRva2VuOiBhY2Nlc3NUb2tlbixcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgICAgYXdhaXQgdGhpcy5fY29uZmlnLmNyZWRlbnRpYWxzQ2xpZW50LnNldENyZWRlbnRpYWxzKCk7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGRhdGEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgdmVyaWZpY2F0aW9uLlxuICAgICAqIEBwYXJhbSB7R2V0VmVyaWZpY2F0aW9uUmVxdWVzdH0gcGFyYW1zIEEgR2V0VmVyaWZpY2F0aW9uUmVxdWVzdCBPYmplY3QuXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxHZXRWZXJpZmljYXRpb25SZXNwb25zZT59IEEgUHJvbWlzZTxHZXRWZXJpZmljYXRpb25SZXNwb25zZT4gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBnZXRWZXJpZmljYXRpb24oXG4gICAgICBwYXJhbXM6IEdldFZlcmlmaWNhdGlvblJlcXVlc3QsXG4gICAgKTogUHJvbWlzZTxHZXRWZXJpZmljYXRpb25SZXNwb25zZT4ge1xuICAgICAgY29uc3QgY2FwdGNoYU1ldGE6IGFueSA9IHt9O1xuICAgICAgaWYgKHBhcmFtcy5waG9uZV9udW1iZXIpIHtcbiAgICAgICAgY2FwdGNoYU1ldGEucGhvbmVfbnVtYmVyID0gcGFyYW1zLnBob25lX251bWJlcjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNhcHRjaGFNZXRhLmVtYWlsID0gcGFyYW1zLmVtYWlsO1xuICAgICAgfVxuICAgICAgcGFyYW1zLmNsaWVudF9pZCA9IHRoaXMuX2NvbmZpZy5jbGllbnRJZDtcbiAgICAgIHJldHVybiB0aGlzLl9jb25maWcucmVxdWVzdDxHZXRWZXJpZmljYXRpb25SZXNwb25zZT4oXG4gICAgICAgIEFwaVVybHMuVkVSSUZJQ0FUSU9OX1VSTCxcbiAgICAgICAge1xuICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgICAgICB3aXRoQ2FwdGNoYTogdHJ1ZSxcbiAgICAgICAgICB3aXRoQ2FwdGNoYU1ldGE6IGNhcHRjaGFNZXRhLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgVmVyaWZ5IHRoZSBjb2RlXG4gICAgICogQHBhcmFtIHtWZXJpZnlSZXF1ZXN0fSBwYXJhbXMgQSBWZXJpZnlSZXF1ZXN0IE9iamVjdC5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPFZlcmlmeVJlc3BvbnNlPn0gQSBQcm9taXNlPFZlcmlmeVJlc3BvbnNlPiBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHZlcmlmeShwYXJhbXM6IFZlcmlmeVJlcXVlc3QpOiBQcm9taXNlPFZlcmlmeVJlc3BvbnNlPiB7XG4gICAgICBwYXJhbXMuY2xpZW50X2lkID0gdGhpcy5fY29uZmlnLmNsaWVudElkO1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZXF1ZXN0PFZlcmlmeVJlc3BvbnNlPihBcGlVcmxzLlZFUklGWV9VUkwsIHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlbiBwcm92aWRlciByZWRpcmVjdCB1cmkuXG4gICAgICogQHBhcmFtIHtHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVxdWVzdH0gcGFyYW1zIEEgR2VuUHJvdmlkZXJSZWRpcmVjdFVyaVJlcXVlc3Qgb2JqZWN0LlxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8R2VuUHJvdmlkZXJSZWRpcmVjdFVyaVJlc3BvbnNlPn0gQSBQcm9taXNlPEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXNwb25zZT4gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBnZW5Qcm92aWRlclJlZGlyZWN0VXJpKFxuICAgICAgcGFyYW1zOiBHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVxdWVzdCxcbiAgICApOiBQcm9taXNlPEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXNwb25zZT4ge1xuICAgICAgbGV0IHVybCA9IGAke0FwaVVybHMuUFJPVklERVJfVVJJX1VSTH0/Y2xpZW50X2lkPSR7dGhpcy5fY29uZmlnLmNsaWVudElkXG4gICAgICB9JnByb3ZpZGVyX2lkPSR7cGFyYW1zLnByb3ZpZGVyX2lkfSZyZWRpcmVjdF91cmk9JHtlbmNvZGVVUklDb21wb25lbnQoXG4gICAgICAgIHBhcmFtcy5wcm92aWRlcl9yZWRpcmVjdF91cmksXG4gICAgICApfSZzdGF0ZT0ke3BhcmFtcy5zdGF0ZX1gO1xuICAgICAgY29uc3Qgb3RoZXJfcGFyYW1zID0gcGFyYW1zLm90aGVyX3BhcmFtcztcbiAgICAgIGlmIChvdGhlcl9wYXJhbXMpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHR5cGVvZiBvdGhlcl9wYXJhbXMuc2lnbl9vdXRfdXJpID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAgICAgICAgIG90aGVyX3BhcmFtcy5zaWduX291dF91cmkubGVuZ3RoID4gMFxuICAgICAgICApIHtcbiAgICAgICAgICB1cmwgKz0gYCZvdGhlcl9wYXJhbXNbc2lnbl9vdXRfdXJpXT0ke290aGVyX3BhcmFtcy5zaWduX291dF91cml9YDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZXF1ZXN0PEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXNwb25zZT4odXJsLCB7XG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHcmFudCBwcm92aWRlciB0b2tlbi5cbiAgICAgKiBAcGFyYW0ge0dyYW50UHJvdmlkZXJUb2tlblJlcXVlc3R9IHBhcmFtcyBBIEdyYW50UHJvdmlkZXJUb2tlblJlcXVlc3Qgb2JqZWN0LlxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8R3JhbnRQcm92aWRlclRva2VuUmVzcG9uc2U+fSBBIFByb21pc2U8R3JhbnRQcm92aWRlclRva2VuUmVzcG9uc2U+IG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgZ3JhbnRQcm92aWRlclRva2VuKFxuICAgICAgcGFyYW1zOiBHcmFudFByb3ZpZGVyVG9rZW5SZXF1ZXN0LFxuICAgICk6IFByb21pc2U8R3JhbnRQcm92aWRlclRva2VuUmVzcG9uc2U+IHtcbiAgICAgIHBhcmFtcy5jbGllbnRfaWQgPSB0aGlzLl9jb25maWcuY2xpZW50SWQ7XG4gICAgICByZXR1cm4gdGhpcy5fY29uZmlnLnJlcXVlc3Q8R3JhbnRQcm92aWRlclRva2VuUmVzcG9uc2U+KFxuICAgICAgICBBcGlVcmxzLlBST1ZJREVSX1RPS0VOX1VSTCxcbiAgICAgICAge1xuICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR3JhbnQgcHJvdmlkZXIgdG9rZW4uXG4gICAgICogQHBhcmFtIHtQYXRjaFByb3ZpZGVyVG9rZW5SZXF1ZXN0fSBwYXJhbXMgQSBQYXRjaFByb3ZpZGVyVG9rZW5SZXF1ZXN0IG9iamVjdC5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPFBhdGNoUHJvdmlkZXJUb2tlblJlc3BvbnNlPn0gQSBQcm9taXNlPFBhdGNoUHJvdmlkZXJUb2tlblJlc3BvbnNlPiBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHBhdGNoUHJvdmlkZXJUb2tlbihcbiAgICAgIHBhcmFtczogUGF0Y2hQcm92aWRlclRva2VuUmVxdWVzdCxcbiAgICApOiBQcm9taXNlPFBhdGNoUHJvdmlkZXJUb2tlblJlc3BvbnNlPiB7XG4gICAgICBwYXJhbXMuY2xpZW50X2lkID0gdGhpcy5fY29uZmlnLmNsaWVudElkO1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZXF1ZXN0PFBhdGNoUHJvdmlkZXJUb2tlblJlc3BvbnNlPihcbiAgICAgICAgQXBpVXJscy5QUk9WSURFUl9UT0tFTl9VUkwsXG4gICAgICAgIHtcbiAgICAgICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICAgICAgYm9keTogcGFyYW1zLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaWduaW4gd2l0aCBwcm92aWRlciByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB7U2lnbkluV2l0aFByb3ZpZGVyUmVxdWVzdH0gcGFyYW1zIEEgU2lnbkluV2l0aFByb3ZpZGVyUmVxdWVzdCBvYmplY3QuXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxDcmVkZW50aWFscz59IEEgUHJvbWlzZTxDcmVkZW50aWFscz4gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBzaWduSW5XaXRoUHJvdmlkZXIoXG4gICAgICBwYXJhbXM6IFNpZ25JbldpdGhQcm92aWRlclJlcXVlc3QsXG4gICAgKTogUHJvbWlzZTxDcmVkZW50aWFscz4ge1xuICAgICAgcGFyYW1zLmNsaWVudF9pZCA9IHRoaXMuX2NvbmZpZy5jbGllbnRJZDtcbiAgICAgIGNvbnN0IGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscyA9IGF3YWl0IHRoaXMuX2NvbmZpZy5yZXF1ZXN0PENyZWRlbnRpYWxzPihcbiAgICAgICAgQXBpVXJscy5BVVRIX1NJR05fSU5fV0lUSF9QUk9WSURFUl9VUkwsXG4gICAgICAgIHtcbiAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICBib2R5OiBwYXJhbXMsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgICAgYXdhaXQgdGhpcy5fY29uZmlnLmNyZWRlbnRpYWxzQ2xpZW50LnNldENyZWRlbnRpYWxzKGNyZWRlbnRpYWxzKTtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoY3JlZGVudGlhbHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEJpbmQgd2l0aCBwcm92aWRlclxuICAgICAqIEBwYXJhbSB7QmluZFdpdGhQcm92aWRlclJlcXVlc3R9IHBhcmFtcyBBIEJpbmRXaXRoUHJvdmlkZXJSZXF1ZXN0IG9iamVjdC5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIFByb21pc2U8YW55PiBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIGJpbmRXaXRoUHJvdmlkZXIoXG4gICAgICBwYXJhbXM6IEJpbmRXaXRoUHJvdmlkZXJSZXF1ZXN0LFxuICAgICk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgcGFyYW1zLmNsaWVudF9pZCA9IHRoaXMuX2NvbmZpZy5jbGllbnRJZDtcbiAgICAgIHJldHVybiB0aGlzLl9jb25maWcucmVxdWVzdDxhbnk+KEFwaVVybHMuUFJPVklERVJfQklORF9VUkwsIHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSB1c2VyIHByb2ZpbGUuXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxVc2VyUHJvZmlsZT59IEEgUHJvbWlzZTxVc2VyUHJvZmlsZT4gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBnZXRVc2VyUHJvZmlsZSgpOiBQcm9taXNlPFVzZXJQcm9maWxlPiB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRVc2VySW5mbygpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgdXNlciBpbmZvLlxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8VXNlckluZm8+fSBBIFByb21pc2U8VXNlclByb2ZpbGU+IG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgZ2V0VXNlckluZm8oKTogUHJvbWlzZTxVc2VySW5mbz4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZXF1ZXN0PFVzZXJJbmZvPihBcGlVcmxzLlVTRVJfTUVfVVJMLCB7XG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFRyYW5zIGJ5IHByb3ZpZGVyLlxuICAgICAqIEBwYXJhbSB7VHJhbnNCeVByb3ZpZGVyUmVxdWVzdH0gcGFyYW1zIEEgVHJhbnNCeVByb3ZpZGVyUmVxdWVzdCBvYmplY3QuXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxDcmVkZW50aWFscz59IEEgUHJvbWlzZTxDcmVkZW50aWFscz4gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyB0cmFuc0J5UHJvdmlkZXIoXG4gICAgICBwYXJhbXM6IFRyYW5zQnlQcm92aWRlclJlcXVlc3QsXG4gICAgKTogUHJvbWlzZTxDcmVkZW50aWFscz4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZXF1ZXN0PENyZWRlbnRpYWxzPihcbiAgICAgICAgQXBpVXJscy5VU0VSX1RSQU5TX0JZX1BST1ZJREVSX1VSTCxcbiAgICAgICAge1xuICAgICAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICAgICAgICBib2R5OiBwYXJhbXMsXG4gICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHcmFudCB0b2tlbi5cbiAgICAgKiBAcGFyYW0ge0dyYW50VG9rZW5SZXF1ZXN0fSBwYXJhbXMgQSBHcmFudFRva2VuUmVxdWVzdCBvYmplY3QuXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxDcmVkZW50aWFscz59IEEgUHJvbWlzZTxDcmVkZW50aWFscz4gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBncmFudFRva2VuKHBhcmFtczogR3JhbnRUb2tlblJlcXVlc3QpOiBQcm9taXNlPENyZWRlbnRpYWxzPiB7XG4gICAgICBwYXJhbXMuY2xpZW50X2lkID0gdGhpcy5fY29uZmlnLmNsaWVudElkO1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZXF1ZXN0PENyZWRlbnRpYWxzPihBcGlVcmxzLkFVVEhfVE9LRU5fVVJMLCB7XG4gICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICBib2R5OiBwYXJhbXMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIHByb3ZpZGUgbGlzdC5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPFVzZXJQcm9maWxlUHJvdmlkZXI+fSBBIFByb21pc2U8VXNlclByb2ZpbGVQcm92aWRlcj4gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBnZXRQcm92aWRlcnMoKTogUHJvbWlzZTxVc2VyUHJvZmlsZVByb3ZpZGVyPiB7XG4gICAgICByZXR1cm4gdGhpcy5fY29uZmlnLnJlcXVlc3Q8VXNlclByb2ZpbGVQcm92aWRlcj4oQXBpVXJscy5QUk9WSURFUl9MSVNULCB7XG4gICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIHVuYmluZCBwcm92aWRlci5cbiAgICAgKiBAcGFyYW0ge1VuYmluZFByb3ZpZGVyUmVxdWVzdH0gcGFyYW1zXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxhbnk+fVxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyB1bmJpbmRQcm92aWRlcihwYXJhbXM6IFVuYmluZFByb3ZpZGVyUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgcGFyYW1zLmNsaWVudF9pZCA9IHRoaXMuX2NvbmZpZy5jbGllbnRJZDtcbiAgICAgIHJldHVybiB0aGlzLl9jb25maWcucmVxdWVzdDxhbnk+KFxuICAgICAgICBgJHtBcGlVcmxzLlBST1ZJREVSX1VOQklORF9VUkx9LyR7cGFyYW1zLnByb3ZpZGVyX2lkfWAsXG4gICAgICAgIHtcbiAgICAgICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2hlY2sgUGFzc3dvcmQuXG4gICAgICogQHBhcmFtIHtDaGVja1Bhc3N3b3JkclJlcXVlc3R9IHBhcmFtc1xuICAgICAqIEByZXR1cm4ge1Byb21pc2U8YW55Pn1cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgY2hlY2tQYXNzd29yZChwYXJhbXM6IENoZWNrUGFzc3dvcmRyUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZXF1ZXN0PGFueT4oYCR7QXBpVXJscy5DSEVDS19QV0RfVVJMfWAsIHtcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgYm9keTogcGFyYW1zLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2hlY2sgUGFzc3dvcmQuXG4gICAgICogQHBhcmFtIHtDaGVja1Bhc3N3b3JkclJlcXVlc3R9IHBhcmFtc1xuICAgICAqIEByZXR1cm4ge1Byb21pc2U8YW55Pn1cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgYmluZFBob25lKHBhcmFtczogQmluZFBob25lUmVxdWVzdCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZXF1ZXN0PGFueT4oYCR7QXBpVXJscy5CSU5EX1BIT05FX1VSTH1gLCB7XG4gICAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICBib2R5OiBwYXJhbXMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgUGFzc3dvcmQuXG4gICAgICogQHBhcmFtIHtTZXRQYXNzd29yZHJSZXF1ZXN0fSBwYXJhbXNcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPGFueT59XG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHNldFBhc3N3b3JkKHBhcmFtczogU2V0UGFzc3dvcmRSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICByZXR1cm4gdGhpcy5fY29uZmlnLnJlcXVlc3Q8YW55PihgJHtBcGlVcmxzLkFVVEhfU0VUX1BBU1NXT1JEfWAsIHtcbiAgICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgY3VycmVudCB1c2VyIHZlcmlmaWNhdGlvbi5cbiAgICAgKiBAcGFyYW0ge0dldFZlcmlmaWNhdGlvblJlcXVlc3R9IHBhcmFtcyBBIEdldFZlcmlmaWNhdGlvblJlcXVlc3QgT2JqZWN0LlxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8R2V0VmVyaWZpY2F0aW9uUmVzcG9uc2U+fSBBIFByb21pc2U8R2V0VmVyaWZpY2F0aW9uUmVzcG9uc2U+IG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgZ2V0Q3VyVXNlclZlcmlmaWNhdGlvbihcbiAgICAgIHBhcmFtczogR2V0VmVyaWZpY2F0aW9uUmVxdWVzdCxcbiAgICApOiBQcm9taXNlPEdldFZlcmlmaWNhdGlvblJlc3BvbnNlPiB7XG4gICAgICBjb25zdCBjYXB0Y2hhTWV0YTogYW55ID0ge307XG4gICAgICBwYXJhbXMuY2xpZW50X2lkID0gdGhpcy5fY29uZmlnLmNsaWVudElkO1xuICAgICAgcGFyYW1zLnRhcmdldCA9ICdDVVJfVVNFUic7XG4gICAgICByZXR1cm4gdGhpcy5fY29uZmlnLnJlcXVlc3Q8R2V0VmVyaWZpY2F0aW9uUmVzcG9uc2U+KFxuICAgICAgICBBcGlVcmxzLlZFUklGSUNBVElPTl9VUkwsXG4gICAgICAgIHtcbiAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICBib2R5OiBwYXJhbXMsXG4gICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICAgIHdpdGhDYXB0Y2hhOiB0cnVlLFxuICAgICAgICAgIHdpdGhDYXB0Y2hhTWV0YTogY2FwdGNoYU1ldGEsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoYW5nZSBiaW5kZWQgcHJvdmlkZXIuXG4gICAgICogQHBhcmFtIHtHZXRWZXJpZmljYXRpb25SZXF1ZXN0fSBwYXJhbXMgQSBHZXRWZXJpZmljYXRpb25SZXF1ZXN0IE9iamVjdC5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPEdldFZlcmlmaWNhdGlvblJlc3BvbnNlPn0gQSBQcm9taXNlPEdldFZlcmlmaWNhdGlvblJlc3BvbnNlPiBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIGNoYW5nZUJpbmRlZFByb3ZpZGVyKFxuICAgICAgcGFyYW1zOiBDaGFuZ2VCaW5kZWRQcm92aWRlclJlcXVlc3QsXG4gICAgKTogUHJvbWlzZTxDaGFuZ2VCaW5kZWRQcm92aWRlclJlc3BvbnNlPiB7XG4gICAgICBwYXJhbXMuY2xpZW50X2lkID0gdGhpcy5fY29uZmlnLmNsaWVudElkO1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZXF1ZXN0PENoYW5nZUJpbmRlZFByb3ZpZGVyUmVzcG9uc2U+KFxuICAgICAgICBgJHtBcGlVcmxzLlBST1ZJREVSX0xJU1R9LyR7cGFyYW1zLnByb3ZpZGVyX2lkfS90cmFuc2AsXG4gICAgICAgIHtcbiAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICBwcm92aWRlcl90cmFuc190b2tlbjogcGFyYW1zLnRyYW5zX3Rva2VuLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXRjaCB0aGUgdXNlciBwcm9maWxlLlxuICAgICAqIEBwYXJhbSB7VXNlclByb2ZpbGV9IHBhcmFtcyBBIFVzZXJQcm9maWxlIE9iamVjdC5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPFVzZXJQcm9maWxlPn0gQSBQcm9taXNlPFVzZXJQcm9maWxlPiBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHNldFVzZXJQcm9maWxlKHBhcmFtczogVXNlclByb2ZpbGUpOiBQcm9taXNlPFVzZXJQcm9maWxlPiB7XG4gICAgICByZXR1cm4gdGhpcy5fY29uZmlnLnJlcXVlc3Q8VXNlclByb2ZpbGU+KEFwaVVybHMuVVNFUl9QUklGSUxFX1VSTCwge1xuICAgICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGF0Y2ggdGhlIHVzZXIgcHJvZmlsZS5cbiAgICAgKiBAcGFyYW0ge1F1ZXJ5VXNlclByb2ZpbGVSZXF9IGFwcGVuZGVkX3BhcmFtcyBBIFF1ZXJ5VXNlclByb2ZpbGVSZXEgT2JqZWN0LlxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8VXNlclByb2ZpbGU+fSBBIFByb21pc2U8VXNlclByb2ZpbGU+IG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgcXVlcnlVc2VyUHJvZmlsZShcbiAgICAgIGFwcGVuZGVkX3BhcmFtczogUXVlcnlVc2VyUHJvZmlsZVJlcSxcbiAgICApOiBQcm9taXNlPFVzZXJQcm9maWxlPiB7XG4gICAgICBjb25zdCB1cmwgPSBgJHtBcGlVcmxzLlVTRVJfUVVFUllfVVJMfSR7YXBwZW5kZWRfcGFyYW1zfWA7XG4gICAgICByZXR1cm4gdGhpcy5fY29uZmlnLnJlcXVlc3Q8VXNlclByb2ZpbGU+KHVybCwge1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hdXRoL2FwaXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFYixtQ0FBaUM7QUE4QmpDLDZEQUEwRTtBQUUxRSw4Q0FBMkM7QUFhM0M7SUFPSSxjQUFZLElBQWlCO1FBQ3pCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDM0IsSUFBSSxZQUFZLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQzFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDZixJQUFNLFdBQVcsR0FBRztnQkFDaEIsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO2dCQUN6QixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7Z0JBQ3ZCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUN4QixDQUFDO1lBQ0YsWUFBWSxHQUFHLElBQUksMkJBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUNoRDtRQUNELElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDVixJQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM1RCxJQUFNLE9BQU8sR0FBRyxJQUFJLGlCQUFPLENBQUM7Z0JBQ3hCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtnQkFDdkIsT0FBTyxFQUFFLFdBQVc7Z0JBQ3BCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzthQUN4QixDQUFDLENBQUE7WUFDRixPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUE7U0FDMUM7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHO1lBQ1gsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixPQUFP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LE9BQU8sQ0FBYyxHQUFHLEVBQUU7d0JBQzFDLE1BQU0sRUFBRSxLQUFLO3dCQUNiLGVBQWUsRUFBRSxJQUFJO3FCQUN4QixDQUFDLEVBQUM7OztLQUNOO0lBQ0wsV0FBQztBQUFELENBQUMsQUFwYkQsSUFvYkM7QUFwYlksb0JBQUkiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB7QXBpVXJsc30gZnJvbSAnLi9jb25zdHMnO1xuaW1wb3J0IHtcbiAgICBHZXRWZXJpZmljYXRpb25SZXF1ZXN0LFxuICAgIEdldFZlcmlmaWNhdGlvblJlc3BvbnNlLFxuICAgIFVzZXJQcm9maWxlLFxuICAgIFVzZXJJbmZvLFxuICAgIFNpZ25JblJlcXVlc3QsXG4gICAgU2lnblVwUmVxdWVzdCxcbiAgICBWZXJpZnlSZXF1ZXN0LFxuICAgIFZlcmlmeVJlc3BvbnNlLFxuICAgIEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXF1ZXN0LFxuICAgIEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXNwb25zZSxcbiAgICBHcmFudFByb3ZpZGVyVG9rZW5SZXF1ZXN0LFxuICAgIEdyYW50UHJvdmlkZXJUb2tlblJlc3BvbnNlLFxuICAgIFBhdGNoUHJvdmlkZXJUb2tlblJlcXVlc3QsXG4gICAgUGF0Y2hQcm92aWRlclRva2VuUmVzcG9uc2UsXG4gICAgU2lnbkluV2l0aFByb3ZpZGVyUmVxdWVzdCxcbiAgICBCaW5kV2l0aFByb3ZpZGVyUmVxdWVzdCxcbiAgICBUcmFuc0J5UHJvdmlkZXJSZXF1ZXN0LFxuICAgIEdyYW50VG9rZW5SZXF1ZXN0LFxuICAgIFVzZXJQcm9maWxlUHJvdmlkZXIsXG4gICAgVW5iaW5kUHJvdmlkZXJSZXF1ZXN0LFxuICAgIENoZWNrUGFzc3dvcmRyUmVxdWVzdCxcbiAgICBCaW5kUGhvbmVSZXF1ZXN0LFxuICAgIFNldFBhc3N3b3JkUmVxdWVzdCxcbiAgICBDaGFuZ2VCaW5kZWRQcm92aWRlclJlcXVlc3QsXG4gICAgQ2hhbmdlQmluZGVkUHJvdmlkZXJSZXNwb25zZSxcbiAgICBRdWVyeVVzZXJQcm9maWxlUmVxLFxufSBmcm9tICcuL21vZGVscyc7XG5pbXBvcnQge1NpbXBsZVN0b3JhZ2UsIFJlcXVlc3RGdW5jdGlvbn0gZnJvbSAnLi4vb2F1dGgyY2xpZW50L2ludGVyZmFjZSc7XG5pbXBvcnQge09BdXRoMkNsaWVudCwgZGVmYXVsdFN0b3JhZ2V9IGZyb20gJy4uL29hdXRoMmNsaWVudC9vYXV0aDJjbGllbnQnO1xuaW1wb3J0IHtDcmVkZW50aWFsc30gZnJvbSAnLi4vb2F1dGgyY2xpZW50L21vZGVscyc7XG5pbXBvcnQge0NhcHRjaGF9IGZyb20gJy4uL2NhcHRjaGEvY2FwdGNoYSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aE9wdGlvbnMge1xuICAgIGFwaU9yaWdpbjogc3RyaW5nO1xuICAgIGNsaWVudElkOiBzdHJpbmc7XG4gICAgY3JlZGVudGlhbHNDbGllbnQ/OiBPQXV0aDJDbGllbnQ7XG4gICAgcmVxdWVzdD86IFJlcXVlc3RGdW5jdGlvbjtcbiAgICBzdG9yYWdlPzogU2ltcGxlU3RvcmFnZTtcbn1cblxuLyoqXG4gKiBBdXRoXG4gKi9cbmV4cG9ydCBjbGFzcyBBdXRoIHtcbiAgICBwcml2YXRlIF9jb25maWc6IEF1dGhPcHRpb25zO1xuXG4gICAgLyoqXG4gICAgICogY29uc3RydWN0b3JcbiAgICAgKiBAcGFyYW0ge0F1dGhPcHRpb25zfSBvcHRzXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob3B0czogQXV0aE9wdGlvbnMpIHtcbiAgICAgICAgbGV0IHJlcXVlc3QgPSBvcHRzLnJlcXVlc3Q7XG4gICAgICAgIGxldCBvQXV0aDJDbGllbnQgPSBvcHRzLmNyZWRlbnRpYWxzQ2xpZW50O1xuICAgICAgICBpZiAoIW9BdXRoMkNsaWVudCkge1xuICAgICAgICAgICAgY29uc3QgaW5pdE9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgYXBpT3JpZ2luOiBvcHRzLmFwaU9yaWdpbixcbiAgICAgICAgICAgICAgICBjbGllbnRJZDogb3B0cy5jbGllbnRJZCxcbiAgICAgICAgICAgICAgICBzdG9yYWdlOiBvcHRzLnN0b3JhZ2UsXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgb0F1dGgyQ2xpZW50ID0gbmV3IE9BdXRoMkNsaWVudChpbml0T3B0aW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFyZXF1ZXN0KSB7XG4gICAgICAgICAgICBjb25zdCBiYXNlUmVxdWVzdCA9IG9BdXRoMkNsaWVudC5yZXF1ZXN0LmJpbmQob0F1dGgyQ2xpZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGNhcHRjaGEgPSBuZXcgQ2FwdGNoYSh7XG4gICAgICAgICAgICAgICAgY2xpZW50SWQ6IG9wdHMuY2xpZW50SWQsXG4gICAgICAgICAgICAgICAgcmVxdWVzdDogYmFzZVJlcXVlc3QsXG4gICAgICAgICAgICAgICAgc3RvcmFnZTogb3B0cy5zdG9yYWdlLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIHJlcXVlc3QgPSBjYXB0Y2hhLnJlcXVlc3QuYmluZChjYXB0Y2hhKVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2NvbmZpZyA9IHtcbiAgICAgICAgICAgIGFwaU9yaWdpbjogb3B0cy5hcGlPcmlnaW4sXG4gICAgICAgICAgICBjbGllbnRJZDogb3B0cy5jbGllbnRJZCxcbiAgICAgICAgICAgIHJlcXVlc3Q6IHJlcXVlc3QsXG4gICAgICAgICAgICBjcmVkZW50aWFsc0NsaWVudDogb0F1dGgyQ2xpZW50LFxuICAgICAgICAgICAgc3RvcmFnZTogb3B0cy5zdG9yYWdlIHx8IGRlZmF1bHRTdG9yYWdlLFxuICAgICAgICB9O1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNpZ24gaW4uXG4gICAgICogQHBhcmFtIHtTaWduSW5SZXF1ZXN0fSBwYXJhbXMgQSBTaWduSW5SZXF1ZXN0IE9iamVjdC5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPENyZWRlbnRpYWxzPn0gQSBQcm9taXNlPENyZWRlbnRpYWxzPiBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHNpZ25JbihwYXJhbXM6IFNpZ25JblJlcXVlc3QpOiBQcm9taXNlPENyZWRlbnRpYWxzPiB7XG4gICAgICAgIHBhcmFtcy5jbGllbnRfaWQgPSB0aGlzLl9jb25maWcuY2xpZW50SWQ7XG4gICAgICAgIGNvbnN0IGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscyA9IGF3YWl0IHRoaXMuX2NvbmZpZy5yZXF1ZXN0PENyZWRlbnRpYWxzPihcbiAgICAgICAgICAgIEFwaVVybHMuQVVUSF9TSUdOX0lOX1VSTCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICAgICAgICBib2R5OiBwYXJhbXNcbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICAgIGF3YWl0IHRoaXMuX2NvbmZpZy5jcmVkZW50aWFsc0NsaWVudC5zZXRDcmVkZW50aWFscyhjcmVkZW50aWFscyk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoY3JlZGVudGlhbHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNpZ24gaW4gQW5vbnltb3VzbHlcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPENyZWRlbnRpYWxzPn0gQSBQcm9taXNlPENyZWRlbnRpYWxzPiBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHNpZ25JbkFub255bW91c2x5KCk6IFByb21pc2U8Q3JlZGVudGlhbHM+IHtcbiAgICAgICAgY29uc3QgY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzID0gYXdhaXQgdGhpcy5fY29uZmlnLnJlcXVlc3Q8Q3JlZGVudGlhbHM+KFxuICAgICAgICAgICAgQXBpVXJscy5BVVRIX1NJR05fSU5fQU5PTllNT1VTTFlfVVJMLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICAgICAgY2xpZW50X2lkOiB0aGlzLl9jb25maWcuY2xpZW50SWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgICBhd2FpdCB0aGlzLl9jb25maWcuY3JlZGVudGlhbHNDbGllbnQuc2V0Q3JlZGVudGlhbHMoY3JlZGVudGlhbHMpO1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNyZWRlbnRpYWxzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaWduIHVwLlxuICAgICAqIEBwYXJhbSB7U2lnblVwUmVxdWVzdH0gcGFyYW1zIEEgU2lnblVwUmVxdWVzdCBPYmplY3QuXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxDcmVkZW50aWFscz59IEEgUHJvbWlzZTxDcmVkZW50aWFscz4gb2JqZWN0LlxuICAgICAqL1xuICAgIHByb3RlY3RlZCBhc3luYyBzaWduVXAocGFyYW1zOiBTaWduVXBSZXF1ZXN0KTogUHJvbWlzZTxDcmVkZW50aWFscz4ge1xuICAgICAgICBwYXJhbXMuY2xpZW50X2lkID0gdGhpcy5fY29uZmlnLmNsaWVudElkO1xuICAgICAgICBjb25zdCBkYXRhOiBDcmVkZW50aWFscyA9IGF3YWl0IHRoaXMuX2NvbmZpZy5yZXF1ZXN0PENyZWRlbnRpYWxzPihcbiAgICAgICAgICAgIEFwaVVybHMuQVVUSF9TSUdOX1VQX1VSTCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICAgICAgICBib2R5OiBwYXJhbXMsXG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgICBhd2FpdCB0aGlzLl9jb25maWcuY3JlZGVudGlhbHNDbGllbnQuc2V0Q3JlZGVudGlhbHMoZGF0YSk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZGF0YSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2lnbiBvdXQuXG4gICAgICogQHJldHVybiB7T2JqZWN0fSBBIFByb21pc2U8dm9pZD4gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBzaWduT3V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgICAgICBjb25zdCBhY2Nlc3NUb2tlbjogc3RyaW5nID0gYXdhaXQgdGhpcy5fY29uZmlnLmNyZWRlbnRpYWxzQ2xpZW50LmdldEFjY2Vzc1Rva2VuKCk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLl9jb25maWcucmVxdWVzdDx2b2lkPihBcGlVcmxzLkFVVEhfUkVWT0tFX1VSTCwge1xuICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICAgICAgY2xpZW50X2lkOiB0aGlzLl9jb25maWcuY2xpZW50SWQsXG4gICAgICAgICAgICAgICAgdG9rZW46IGFjY2Vzc1Rva2VuLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIGF3YWl0IHRoaXMuX2NvbmZpZy5jcmVkZW50aWFsc0NsaWVudC5zZXRDcmVkZW50aWFscygpO1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGRhdGEpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgdmVyaWZpY2F0aW9uLlxuICAgICAqIEBwYXJhbSB7R2V0VmVyaWZpY2F0aW9uUmVxdWVzdH0gcGFyYW1zIEEgR2V0VmVyaWZpY2F0aW9uUmVxdWVzdCBPYmplY3QuXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxHZXRWZXJpZmljYXRpb25SZXNwb25zZT59IEEgUHJvbWlzZTxHZXRWZXJpZmljYXRpb25SZXNwb25zZT4gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBnZXRWZXJpZmljYXRpb24oXG4gICAgICAgIHBhcmFtczogR2V0VmVyaWZpY2F0aW9uUmVxdWVzdCxcbiAgICApOiBQcm9taXNlPEdldFZlcmlmaWNhdGlvblJlc3BvbnNlPiB7XG4gICAgICAgIHBhcmFtcy5jbGllbnRfaWQgPSB0aGlzLl9jb25maWcuY2xpZW50SWQ7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcucmVxdWVzdDxHZXRWZXJpZmljYXRpb25SZXNwb25zZT4oXG4gICAgICAgICAgICBBcGlVcmxzLlZFUklGSUNBVElPTl9VUkwsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICAgICAgYm9keTogcGFyYW1zLFxuICAgICAgICAgICAgICAgIHdpdGhDYXB0Y2hhOiB0cnVlXG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqICBWZXJpZnkgdGhlIGNvZGVcbiAgICAgKiBAcGFyYW0ge1ZlcmlmeVJlcXVlc3R9IHBhcmFtcyBBIFZlcmlmeVJlcXVlc3QgT2JqZWN0LlxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8VmVyaWZ5UmVzcG9uc2U+fSBBIFByb21pc2U8VmVyaWZ5UmVzcG9uc2U+IG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgdmVyaWZ5KHBhcmFtczogVmVyaWZ5UmVxdWVzdCk6IFByb21pc2U8VmVyaWZ5UmVzcG9uc2U+IHtcbiAgICAgICAgcGFyYW1zLmNsaWVudF9pZCA9IHRoaXMuX2NvbmZpZy5jbGllbnRJZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZXF1ZXN0PFZlcmlmeVJlc3BvbnNlPihBcGlVcmxzLlZFUklGWV9VUkwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgICAgYm9keTogcGFyYW1zLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZW4gcHJvdmlkZXIgcmVkaXJlY3QgdXJpLlxuICAgICAqIEBwYXJhbSB7R2VuUHJvdmlkZXJSZWRpcmVjdFVyaVJlcXVlc3R9IHBhcmFtcyBBIEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXF1ZXN0IG9iamVjdC5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXNwb25zZT59IEEgUHJvbWlzZTxHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVzcG9uc2U+IG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgZ2VuUHJvdmlkZXJSZWRpcmVjdFVyaShcbiAgICAgICAgcGFyYW1zOiBHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVxdWVzdCxcbiAgICApOiBQcm9taXNlPEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXNwb25zZT4ge1xuICAgICAgICBsZXQgdXJsID0gYCR7QXBpVXJscy5QUk9WSURFUl9VUklfVVJMfT9jbGllbnRfaWQ9JHtcbiAgICAgICAgICAgIHRoaXMuX2NvbmZpZy5jbGllbnRJZFxuICAgICAgICB9JnByb3ZpZGVyX2lkPSR7cGFyYW1zLnByb3ZpZGVyX2lkfSZyZWRpcmVjdF91cmk9JHtlbmNvZGVVUklDb21wb25lbnQoXG4gICAgICAgICAgICBwYXJhbXMucHJvdmlkZXJfcmVkaXJlY3RfdXJpLFxuICAgICAgICApfSZzdGF0ZT0ke3BhcmFtcy5zdGF0ZX1gO1xuICAgICAgICBjb25zdCBvdGhlcl9wYXJhbXMgPSBwYXJhbXMub3RoZXJfcGFyYW1zO1xuICAgICAgICBpZiAob3RoZXJfcGFyYW1zKSB7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdHlwZW9mIG90aGVyX3BhcmFtcy5zaWduX291dF91cmkgPT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICAgICAgb3RoZXJfcGFyYW1zLnNpZ25fb3V0X3VyaS5sZW5ndGggPiAwXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB1cmwgKz0gYCZvdGhlcl9wYXJhbXNbc2lnbl9vdXRfdXJpXT0ke290aGVyX3BhcmFtcy5zaWduX291dF91cml9YDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLnJlcXVlc3Q8R2VuUHJvdmlkZXJSZWRpcmVjdFVyaVJlc3BvbnNlPih1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdyYW50IHByb3ZpZGVyIHRva2VuLlxuICAgICAqIEBwYXJhbSB7R3JhbnRQcm92aWRlclRva2VuUmVxdWVzdH0gcGFyYW1zIEEgR3JhbnRQcm92aWRlclRva2VuUmVxdWVzdCBvYmplY3QuXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxHcmFudFByb3ZpZGVyVG9rZW5SZXNwb25zZT59IEEgUHJvbWlzZTxHcmFudFByb3ZpZGVyVG9rZW5SZXNwb25zZT4gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBncmFudFByb3ZpZGVyVG9rZW4oXG4gICAgICAgIHBhcmFtczogR3JhbnRQcm92aWRlclRva2VuUmVxdWVzdCxcbiAgICApOiBQcm9taXNlPEdyYW50UHJvdmlkZXJUb2tlblJlc3BvbnNlPiB7XG4gICAgICAgIHBhcmFtcy5jbGllbnRfaWQgPSB0aGlzLl9jb25maWcuY2xpZW50SWQ7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcucmVxdWVzdDxHcmFudFByb3ZpZGVyVG9rZW5SZXNwb25zZT4oXG4gICAgICAgICAgICBBcGlVcmxzLlBST1ZJREVSX1RPS0VOX1VSTCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICAgICAgICBib2R5OiBwYXJhbXMsXG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdyYW50IHByb3ZpZGVyIHRva2VuLlxuICAgICAqIEBwYXJhbSB7UGF0Y2hQcm92aWRlclRva2VuUmVxdWVzdH0gcGFyYW1zIEEgUGF0Y2hQcm92aWRlclRva2VuUmVxdWVzdCBvYmplY3QuXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxQYXRjaFByb3ZpZGVyVG9rZW5SZXNwb25zZT59IEEgUHJvbWlzZTxQYXRjaFByb3ZpZGVyVG9rZW5SZXNwb25zZT4gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBwYXRjaFByb3ZpZGVyVG9rZW4oXG4gICAgICAgIHBhcmFtczogUGF0Y2hQcm92aWRlclRva2VuUmVxdWVzdCxcbiAgICApOiBQcm9taXNlPFBhdGNoUHJvdmlkZXJUb2tlblJlc3BvbnNlPiB7XG4gICAgICAgIHBhcmFtcy5jbGllbnRfaWQgPSB0aGlzLl9jb25maWcuY2xpZW50SWQ7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcucmVxdWVzdDxQYXRjaFByb3ZpZGVyVG9rZW5SZXNwb25zZT4oXG4gICAgICAgICAgICBBcGlVcmxzLlBST1ZJREVSX1RPS0VOX1VSTCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICAgICAgICAgICAgYm9keTogcGFyYW1zLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaWduaW4gd2l0aCBwcm92aWRlciByZXF1ZXN0LlxuICAgICAqIEBwYXJhbSB7U2lnbkluV2l0aFByb3ZpZGVyUmVxdWVzdH0gcGFyYW1zIEEgU2lnbkluV2l0aFByb3ZpZGVyUmVxdWVzdCBvYmplY3QuXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxDcmVkZW50aWFscz59IEEgUHJvbWlzZTxDcmVkZW50aWFscz4gb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBzaWduSW5XaXRoUHJvdmlkZXIoXG4gICAgICAgIHBhcmFtczogU2lnbkluV2l0aFByb3ZpZGVyUmVxdWVzdCxcbiAgICApOiBQcm9taXNlPENyZWRlbnRpYWxzPiB7XG4gICAgICAgIHBhcmFtcy5jbGllbnRfaWQgPSB0aGlzLl9jb25maWcuY2xpZW50SWQ7XG4gICAgICAgIGNvbnN0IGNyZWRlbnRpYWxzOiBDcmVkZW50aWFscyA9IGF3YWl0IHRoaXMuX2NvbmZpZy5yZXF1ZXN0PENyZWRlbnRpYWxzPihcbiAgICAgICAgICAgIEFwaVVybHMuQVVUSF9TSUdOX0lOX1dJVEhfUFJPVklERVJfVVJMLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgICAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICAgIGF3YWl0IHRoaXMuX2NvbmZpZy5jcmVkZW50aWFsc0NsaWVudC5zZXRDcmVkZW50aWFscyhjcmVkZW50aWFscyk7XG4gICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoY3JlZGVudGlhbHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEJpbmQgd2l0aCBwcm92aWRlclxuICAgICAqIEBwYXJhbSB7QmluZFdpdGhQcm92aWRlclJlcXVlc3R9IHBhcmFtcyBBIEJpbmRXaXRoUHJvdmlkZXJSZXF1ZXN0IG9iamVjdC5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fSBBIFByb21pc2U8YW55PiBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIGJpbmRXaXRoUHJvdmlkZXIoXG4gICAgICAgIHBhcmFtczogQmluZFdpdGhQcm92aWRlclJlcXVlc3QsXG4gICAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHBhcmFtcy5jbGllbnRfaWQgPSB0aGlzLl9jb25maWcuY2xpZW50SWQ7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcucmVxdWVzdDxhbnk+KEFwaVVybHMuUFJPVklERVJfQklORF9VUkwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgICAgYm9keTogcGFyYW1zLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIHVzZXIgcHJvZmlsZS5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPFVzZXJQcm9maWxlPn0gQSBQcm9taXNlPFVzZXJQcm9maWxlPiBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIGdldFVzZXJQcm9maWxlKCk6IFByb21pc2U8VXNlclByb2ZpbGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VXNlckluZm8oKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIHVzZXIgaW5mby5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPFVzZXJJbmZvPn0gQSBQcm9taXNlPFVzZXJQcm9maWxlPiBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIGdldFVzZXJJbmZvKCk6IFByb21pc2U8VXNlckluZm8+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZXF1ZXN0PFVzZXJJbmZvPihBcGlVcmxzLlVTRVJfTUVfVVJMLCB7XG4gICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBoYXNMb2dpblN0YXRlIGNoZWNrIGlmIGhhcyBsb2dpbiBzdGF0ZVxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8Ym9vbGVhbj59IEEgUHJvbWlzZTxib29sZWFuPiBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIGhhc0xvZ2luU3RhdGUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBhd2FpdCB0aGlzLl9jb25maWcuY3JlZGVudGlhbHNDbGllbnQuZ2V0QWNjZXNzVG9rZW4oKVxuICAgICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVHJhbnMgYnkgcHJvdmlkZXIuXG4gICAgICogQHBhcmFtIHtUcmFuc0J5UHJvdmlkZXJSZXF1ZXN0fSBwYXJhbXMgQSBUcmFuc0J5UHJvdmlkZXJSZXF1ZXN0IG9iamVjdC5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPENyZWRlbnRpYWxzPn0gQSBQcm9taXNlPENyZWRlbnRpYWxzPiBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHRyYW5zQnlQcm92aWRlcihcbiAgICAgICAgcGFyYW1zOiBUcmFuc0J5UHJvdmlkZXJSZXF1ZXN0LFxuICAgICk6IFByb21pc2U8Q3JlZGVudGlhbHM+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZXF1ZXN0PENyZWRlbnRpYWxzPihcbiAgICAgICAgICAgIEFwaVVybHMuVVNFUl9UUkFOU19CWV9QUk9WSURFUl9VUkwsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgICAgICAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdyYW50IHRva2VuLlxuICAgICAqIEBwYXJhbSB7R3JhbnRUb2tlblJlcXVlc3R9IHBhcmFtcyBBIEdyYW50VG9rZW5SZXF1ZXN0IG9iamVjdC5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPENyZWRlbnRpYWxzPn0gQSBQcm9taXNlPENyZWRlbnRpYWxzPiBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIGdyYW50VG9rZW4ocGFyYW1zOiBHcmFudFRva2VuUmVxdWVzdCk6IFByb21pc2U8Q3JlZGVudGlhbHM+IHtcbiAgICAgICAgcGFyYW1zLmNsaWVudF9pZCA9IHRoaXMuX2NvbmZpZy5jbGllbnRJZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZXF1ZXN0PENyZWRlbnRpYWxzPihBcGlVcmxzLkFVVEhfVE9LRU5fVVJMLCB7XG4gICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBwcm92aWRlIGxpc3QuXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxVc2VyUHJvZmlsZVByb3ZpZGVyPn0gQSBQcm9taXNlPFVzZXJQcm9maWxlUHJvdmlkZXI+IG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgZ2V0UHJvdmlkZXJzKCk6IFByb21pc2U8VXNlclByb2ZpbGVQcm92aWRlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLnJlcXVlc3Q8VXNlclByb2ZpbGVQcm92aWRlcj4oQXBpVXJscy5QUk9WSURFUl9MSVNULCB7XG4gICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiB1bmJpbmQgcHJvdmlkZXIuXG4gICAgICogQHBhcmFtIHtVbmJpbmRQcm92aWRlclJlcXVlc3R9IHBhcmFtc1xuICAgICAqIEByZXR1cm4ge1Byb21pc2U8YW55Pn1cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgdW5iaW5kUHJvdmlkZXIocGFyYW1zOiBVbmJpbmRQcm92aWRlclJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcGFyYW1zLmNsaWVudF9pZCA9IHRoaXMuX2NvbmZpZy5jbGllbnRJZDtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZXF1ZXN0PGFueT4oXG4gICAgICAgICAgICBgJHtBcGlVcmxzLlBST1ZJREVSX1VOQklORF9VUkx9LyR7cGFyYW1zLnByb3ZpZGVyX2lkfWAsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiAnREVMRVRFJyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIGNoZWNrIFBhc3N3b3JkLlxuICAgICAqIEBwYXJhbSB7Q2hlY2tQYXNzd29yZHJSZXF1ZXN0fSBwYXJhbXNcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPGFueT59XG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIGNoZWNrUGFzc3dvcmQocGFyYW1zOiBDaGVja1Bhc3N3b3JkclJlcXVlc3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZXF1ZXN0PGFueT4oYCR7QXBpVXJscy5DSEVDS19QV0RfVVJMfWAsIHtcbiAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICAgICAgYm9keTogcGFyYW1zLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBjaGVjayBQYXNzd29yZC5cbiAgICAgKiBAcGFyYW0ge0NoZWNrUGFzc3dvcmRyUmVxdWVzdH0gcGFyYW1zXG4gICAgICogQHJldHVybiB7UHJvbWlzZTxhbnk+fVxuICAgICAqL1xuICAgIHB1YmxpYyBhc3luYyBiaW5kUGhvbmUocGFyYW1zOiBCaW5kUGhvbmVSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcucmVxdWVzdDxhbnk+KGAke0FwaVVybHMuQklORF9QSE9ORV9VUkx9YCwge1xuICAgICAgICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICAgICAgYm9keTogcGFyYW1zLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZXQgUGFzc3dvcmQuXG4gICAgICogQHBhcmFtIHtTZXRQYXNzd29yZHJSZXF1ZXN0fSBwYXJhbXNcbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPGFueT59XG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHNldFBhc3N3b3JkKHBhcmFtczogU2V0UGFzc3dvcmRSZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcucmVxdWVzdDxhbnk+KGAke0FwaVVybHMuQVVUSF9TRVRfUEFTU1dPUkR9YCwge1xuICAgICAgICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICAgICAgYm9keTogcGFyYW1zLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIGN1cnJlbnQgdXNlciB2ZXJpZmljYXRpb24uXG4gICAgICogQHBhcmFtIHtHZXRWZXJpZmljYXRpb25SZXF1ZXN0fSBwYXJhbXMgQSBHZXRWZXJpZmljYXRpb25SZXF1ZXN0IE9iamVjdC5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPEdldFZlcmlmaWNhdGlvblJlc3BvbnNlPn0gQSBQcm9taXNlPEdldFZlcmlmaWNhdGlvblJlc3BvbnNlPiBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIGdldEN1clVzZXJWZXJpZmljYXRpb24oXG4gICAgICAgIHBhcmFtczogR2V0VmVyaWZpY2F0aW9uUmVxdWVzdCxcbiAgICApOiBQcm9taXNlPEdldFZlcmlmaWNhdGlvblJlc3BvbnNlPiB7XG4gICAgICAgIHBhcmFtcy5jbGllbnRfaWQgPSB0aGlzLl9jb25maWcuY2xpZW50SWQ7XG4gICAgICAgIHBhcmFtcy50YXJnZXQgPSAnQ1VSX1VTRVInO1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLnJlcXVlc3Q8R2V0VmVyaWZpY2F0aW9uUmVzcG9uc2U+KFxuICAgICAgICAgICAgQXBpVXJscy5WRVJJRklDQVRJT05fVVJMLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgICAgICAgICAgICAgIGJvZHk6IHBhcmFtcyxcbiAgICAgICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgICAgICAgICAgd2l0aENhcHRjaGE6IHRydWVcbiAgICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogY2hhbmdlIGJpbmRlZCBwcm92aWRlci5cbiAgICAgKiBAcGFyYW0ge0dldFZlcmlmaWNhdGlvblJlcXVlc3R9IHBhcmFtcyBBIEdldFZlcmlmaWNhdGlvblJlcXVlc3QgT2JqZWN0LlxuICAgICAqIEByZXR1cm4ge1Byb21pc2U8R2V0VmVyaWZpY2F0aW9uUmVzcG9uc2U+fSBBIFByb21pc2U8R2V0VmVyaWZpY2F0aW9uUmVzcG9uc2U+IG9iamVjdC5cbiAgICAgKi9cbiAgICBwdWJsaWMgYXN5bmMgY2hhbmdlQmluZGVkUHJvdmlkZXIoXG4gICAgICAgIHBhcmFtczogQ2hhbmdlQmluZGVkUHJvdmlkZXJSZXF1ZXN0LFxuICAgICk6IFByb21pc2U8Q2hhbmdlQmluZGVkUHJvdmlkZXJSZXNwb25zZT4ge1xuICAgICAgICBwYXJhbXMuY2xpZW50X2lkID0gdGhpcy5fY29uZmlnLmNsaWVudElkO1xuICAgICAgICByZXR1cm4gdGhpcy5fY29uZmlnLnJlcXVlc3Q8Q2hhbmdlQmluZGVkUHJvdmlkZXJSZXNwb25zZT4oXG4gICAgICAgICAgICBgJHtBcGlVcmxzLlBST1ZJREVSX0xJU1R9LyR7cGFyYW1zLnByb3ZpZGVyX2lkfS90cmFuc2AsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICAgICAgYm9keToge1xuICAgICAgICAgICAgICAgICAgICBwcm92aWRlcl90cmFuc190b2tlbjogcGFyYW1zLnRyYW5zX3Rva2VuLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXRjaCB0aGUgdXNlciBwcm9maWxlLlxuICAgICAqIEBwYXJhbSB7VXNlclByb2ZpbGV9IHBhcmFtcyBBIFVzZXJQcm9maWxlIE9iamVjdC5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPFVzZXJQcm9maWxlPn0gQSBQcm9taXNlPFVzZXJQcm9maWxlPiBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHNldFVzZXJQcm9maWxlKHBhcmFtczogVXNlclByb2ZpbGUpOiBQcm9taXNlPFVzZXJQcm9maWxlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jb25maWcucmVxdWVzdDxVc2VyUHJvZmlsZT4oQXBpVXJscy5VU0VSX1BSSUZJTEVfVVJMLCB7XG4gICAgICAgICAgICBtZXRob2Q6ICdQQVRDSCcsXG4gICAgICAgICAgICBib2R5OiBwYXJhbXMsXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhdGNoIHRoZSB1c2VyIHByb2ZpbGUuXG4gICAgICogQHBhcmFtIHtRdWVyeVVzZXJQcm9maWxlUmVxfSBhcHBlbmRlZF9wYXJhbXMgQSBRdWVyeVVzZXJQcm9maWxlUmVxIE9iamVjdC5cbiAgICAgKiBAcmV0dXJuIHtQcm9taXNlPFVzZXJQcm9maWxlPn0gQSBQcm9taXNlPFVzZXJQcm9maWxlPiBvYmplY3QuXG4gICAgICovXG4gICAgcHVibGljIGFzeW5jIHF1ZXJ5VXNlclByb2ZpbGUoXG4gICAgICAgIGFwcGVuZGVkX3BhcmFtczogUXVlcnlVc2VyUHJvZmlsZVJlcSxcbiAgICApOiBQcm9taXNlPFVzZXJQcm9maWxlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGAke0FwaVVybHMuVVNFUl9RVUVSWV9VUkx9JHthcHBlbmRlZF9wYXJhbXN9YDtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5yZXF1ZXN0PFVzZXJQcm9maWxlPih1cmwsIHtcbiAgICAgICAgICAgIG1ldGhvZDogJ0dFVCcsXG4gICAgICAgICAgICB3aXRoQ3JlZGVudGlhbHM6IHRydWUsXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbiJdfQ==
export declare enum ApiUrls {
AUTH_SIGN_IN_URL = "/auth/v1/signin",
AUTH_SIGN_IN_ANONYMOUSLY_URL = "/auth/v1/signin/anonymously",
AUTH_SIGN_IN_WITH_PROVIDER_URL = "/auth/v1/signin/with/provider",

@@ -4,0 +5,0 @@ AUTH_SIGN_UP_URL = "/auth/v1/signup",

@@ -7,2 +7,3 @@ "use strict";

ApiUrls["AUTH_SIGN_IN_URL"] = "/auth/v1/signin";
ApiUrls["AUTH_SIGN_IN_ANONYMOUSLY_URL"] = "/auth/v1/signin/anonymously";
ApiUrls["AUTH_SIGN_IN_WITH_PROVIDER_URL"] = "/auth/v1/signin/with/provider";

@@ -35,2 +36,2 @@ ApiUrls["AUTH_SIGN_UP_URL"] = "/auth/v1/signup";

})(VerificationUsages = exports.VerificationUsages || (exports.VerificationUsages = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F1dGgvY29uc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksT0FvQlg7QUFwQkQsV0FBWSxPQUFPO0lBQ2pCLCtDQUFvQyxDQUFBO0lBQ3BDLDJFQUFnRSxDQUFBO0lBQ2hFLCtDQUFvQyxDQUFBO0lBQ3BDLDRDQUFpQyxDQUFBO0lBQ2pDLDhDQUFtQyxDQUFBO0lBQ25DLDREQUFpRCxDQUFBO0lBQ2pELHlEQUE4QyxDQUFBO0lBQzlDLHFEQUEwQyxDQUFBO0lBQzFDLDJDQUFnQyxDQUFBO0lBQ2hDLGlEQUFzQyxDQUFBO0lBQ3RDLHFEQUEwQyxDQUFBO0lBQzFDLHlFQUE4RCxDQUFBO0lBQzlELHFEQUEwQyxDQUFBO0lBQzFDLHNEQUEyQyxDQUFBO0lBQzNDLG1EQUF3QyxDQUFBO0lBQ3hDLHlEQUE4QyxDQUFBO0lBQzlDLCtDQUFvQyxDQUFBO0lBQ3BDLG1EQUF3QyxDQUFBO0lBQ3hDLHVEQUE0QyxDQUFBO0FBQzlDLENBQUMsRUFwQlcsT0FBTyxHQUFQLGVBQU8sS0FBUCxlQUFPLFFBb0JsQjtBQUVELElBQVksa0JBTVg7QUFORCxXQUFZLGtCQUFrQjtJQUM1QiwyQ0FBcUIsQ0FBQTtJQUNyQix5Q0FBbUIsQ0FBQTtJQUNuQix1REFBaUMsQ0FBQTtJQUNqQyxtRUFBNkMsQ0FBQTtJQUM3QyxpRUFBMkMsQ0FBQTtBQUM3QyxDQUFDLEVBTlcsa0JBQWtCLEdBQWxCLDBCQUFrQixLQUFsQiwwQkFBa0IsUUFNN0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBBcGlVcmxzIHtcbiAgQVVUSF9TSUdOX0lOX1VSTCA9ICcvYXV0aC92MS9zaWduaW4nLFxuICBBVVRIX1NJR05fSU5fV0lUSF9QUk9WSURFUl9VUkwgPSAnL2F1dGgvdjEvc2lnbmluL3dpdGgvcHJvdmlkZXInLFxuICBBVVRIX1NJR05fVVBfVVJMID0gJy9hdXRoL3YxL3NpZ251cCcsXG4gIEFVVEhfVE9LRU5fVVJMID0gJy9hdXRoL3YxL3Rva2VuJyxcbiAgQVVUSF9SRVZPS0VfVVJMID0gJy9hdXRoL3YxL3Jldm9rZScsXG4gIFBST1ZJREVSX0JJTkRfVVJMID0gJy9hdXRoL3YxL3VzZXIvcHJvdmlkZXIvYmluZCcsXG4gIFBST1ZJREVSX1RPS0VOX1VSTCA9ICcvYXV0aC92MS9wcm92aWRlci90b2tlbicsXG4gIFBST1ZJREVSX1VSSV9VUkwgPSAnL2F1dGgvdjEvcHJvdmlkZXIvdXJpJyxcbiAgVVNFUl9NRV9VUkwgPSAnL2F1dGgvdjEvdXNlci9tZScsXG4gIFVTRVJfUVVFUllfVVJMID0gJy9hdXRoL3YxL3VzZXIvcXVlcnknLFxuICBVU0VSX1BSSUZJTEVfVVJMID0gJy9hdXRoL3YxL3VzZXIvcHJvZmlsZScsXG4gIFVTRVJfVFJBTlNfQllfUFJPVklERVJfVVJMID0gJy9hdXRoL3YxL3VzZXIvdHJhbnMvYnkvcHJvdmlkZXInLFxuICBWRVJJRklDQVRJT05fVVJMID0gJy9hdXRoL3YxL3ZlcmlmaWNhdGlvbicsXG4gIFZFUklGWV9VUkwgPSAnL2F1dGgvdjEvdmVyaWZpY2F0aW9uL3ZlcmlmeScsXG4gIFBST1ZJREVSX0xJU1QgPSAnL2F1dGgvdjEvdXNlci9wcm92aWRlcicsXG4gIFBST1ZJREVSX1VOQklORF9VUkwgPSAnL2F1dGgvdjEvdXNlci9wcm92aWRlcicsXG4gIENIRUNLX1BXRF9VUkwgPSAnL2F1dGgvdjEvdXNlci9zdWRvJyxcbiAgQklORF9QSE9ORV9VUkwgPSAnL2F1dGgvdjEvdXNlci9jb250YWN0JyxcbiAgQVVUSF9TRVRfUEFTU1dPUkQgPSAnL2F1dGgvdjEvdXNlci9wYXNzd29yZCcsXG59XG5cbmV4cG9ydCBlbnVtIFZlcmlmaWNhdGlvblVzYWdlcyB7XG4gIFJFR0lTVEVSID0gJ1JFR0lTVEVSJyxcbiAgU0lHTl9JTiA9ICdTSUdOX0lOJyxcbiAgUEFTU1dPUkRfUkVTRVQgPSAnUEFTU1dPUkRfUkVTRVQnLFxuICBFTUFJTF9BRERSRVNTX0NIQU5HRSA9ICdFTUFJTF9BRERSRVNTX0NIQU5HRScsXG4gIFBIT05FX05VTUJFUl9DSEFOR0UgPSAnUEhPTkVfTlVNQkVSX0NIQU5HRScsXG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F1dGgvY29uc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLElBQVksT0FxQlg7QUFyQkQsV0FBWSxPQUFPO0lBQ2pCLCtDQUFvQyxDQUFBO0lBQ3BDLHVFQUE0RCxDQUFBO0lBQzVELDJFQUFnRSxDQUFBO0lBQ2hFLCtDQUFvQyxDQUFBO0lBQ3BDLDRDQUFpQyxDQUFBO0lBQ2pDLDhDQUFtQyxDQUFBO0lBQ25DLDREQUFpRCxDQUFBO0lBQ2pELHlEQUE4QyxDQUFBO0lBQzlDLHFEQUEwQyxDQUFBO0lBQzFDLDJDQUFnQyxDQUFBO0lBQ2hDLGlEQUFzQyxDQUFBO0lBQ3RDLHFEQUEwQyxDQUFBO0lBQzFDLHlFQUE4RCxDQUFBO0lBQzlELHFEQUEwQyxDQUFBO0lBQzFDLHNEQUEyQyxDQUFBO0lBQzNDLG1EQUF3QyxDQUFBO0lBQ3hDLHlEQUE4QyxDQUFBO0lBQzlDLCtDQUFvQyxDQUFBO0lBQ3BDLG1EQUF3QyxDQUFBO0lBQ3hDLHVEQUE0QyxDQUFBO0FBQzlDLENBQUMsRUFyQlcsT0FBTyxHQUFQLGVBQU8sS0FBUCxlQUFPLFFBcUJsQjtBQUVELElBQVksa0JBTVg7QUFORCxXQUFZLGtCQUFrQjtJQUM1QiwyQ0FBcUIsQ0FBQTtJQUNyQix5Q0FBbUIsQ0FBQTtJQUNuQix1REFBaUMsQ0FBQTtJQUNqQyxtRUFBNkMsQ0FBQTtJQUM3QyxpRUFBMkMsQ0FBQTtBQUM3QyxDQUFDLEVBTlcsa0JBQWtCLEdBQWxCLDBCQUFrQixLQUFsQiwwQkFBa0IsUUFNN0IiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBBcGlVcmxzIHtcbiAgQVVUSF9TSUdOX0lOX1VSTCA9ICcvYXV0aC92MS9zaWduaW4nLFxuICBBVVRIX1NJR05fSU5fQU5PTllNT1VTTFlfVVJMID0gJy9hdXRoL3YxL3NpZ25pbi9hbm9ueW1vdXNseScsXG4gIEFVVEhfU0lHTl9JTl9XSVRIX1BST1ZJREVSX1VSTCA9ICcvYXV0aC92MS9zaWduaW4vd2l0aC9wcm92aWRlcicsXG4gIEFVVEhfU0lHTl9VUF9VUkwgPSAnL2F1dGgvdjEvc2lnbnVwJyxcbiAgQVVUSF9UT0tFTl9VUkwgPSAnL2F1dGgvdjEvdG9rZW4nLFxuICBBVVRIX1JFVk9LRV9VUkwgPSAnL2F1dGgvdjEvcmV2b2tlJyxcbiAgUFJPVklERVJfQklORF9VUkwgPSAnL2F1dGgvdjEvdXNlci9wcm92aWRlci9iaW5kJyxcbiAgUFJPVklERVJfVE9LRU5fVVJMID0gJy9hdXRoL3YxL3Byb3ZpZGVyL3Rva2VuJyxcbiAgUFJPVklERVJfVVJJX1VSTCA9ICcvYXV0aC92MS9wcm92aWRlci91cmknLFxuICBVU0VSX01FX1VSTCA9ICcvYXV0aC92MS91c2VyL21lJyxcbiAgVVNFUl9RVUVSWV9VUkwgPSAnL2F1dGgvdjEvdXNlci9xdWVyeScsXG4gIFVTRVJfUFJJRklMRV9VUkwgPSAnL2F1dGgvdjEvdXNlci9wcm9maWxlJyxcbiAgVVNFUl9UUkFOU19CWV9QUk9WSURFUl9VUkwgPSAnL2F1dGgvdjEvdXNlci90cmFucy9ieS9wcm92aWRlcicsXG4gIFZFUklGSUNBVElPTl9VUkwgPSAnL2F1dGgvdjEvdmVyaWZpY2F0aW9uJyxcbiAgVkVSSUZZX1VSTCA9ICcvYXV0aC92MS92ZXJpZmljYXRpb24vdmVyaWZ5JyxcbiAgUFJPVklERVJfTElTVCA9ICcvYXV0aC92MS91c2VyL3Byb3ZpZGVyJyxcbiAgUFJPVklERVJfVU5CSU5EX1VSTCA9ICcvYXV0aC92MS91c2VyL3Byb3ZpZGVyJyxcbiAgQ0hFQ0tfUFdEX1VSTCA9ICcvYXV0aC92MS91c2VyL3N1ZG8nLFxuICBCSU5EX1BIT05FX1VSTCA9ICcvYXV0aC92MS91c2VyL2NvbnRhY3QnLFxuICBBVVRIX1NFVF9QQVNTV09SRCA9ICcvYXV0aC92MS91c2VyL3Bhc3N3b3JkJyxcbn1cblxuZXhwb3J0IGVudW0gVmVyaWZpY2F0aW9uVXNhZ2VzIHtcbiAgUkVHSVNURVIgPSAnUkVHSVNURVInLFxuICBTSUdOX0lOID0gJ1NJR05fSU4nLFxuICBQQVNTV09SRF9SRVNFVCA9ICdQQVNTV09SRF9SRVNFVCcsXG4gIEVNQUlMX0FERFJFU1NfQ0hBTkdFID0gJ0VNQUlMX0FERFJFU1NfQ0hBTkdFJyxcbiAgUEhPTkVfTlVNQkVSX0NIQU5HRSA9ICdQSE9ORV9OVU1CRVJfQ0hBTkdFJyxcbn1cbiJdfQ==

@@ -141,4 +141,3 @@ interface BaseRequest {

}
export interface ChangeBindedProviderResponse extends BaseRequest {
}
export declare type ChangeBindedProviderResponse = BaseRequest;
export interface QueryUserProfileReq extends BaseRequest {

@@ -145,0 +144,0 @@ appended_params: string;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F1dGgvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgQmFzZVJlcXVlc3Qge1xuICBjbGllbnRfaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbkluUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICB2ZXJpZmljYXRpb25fY29kZT86IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uX3Rva2VuPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25JbldpdGhQcm92aWRlclJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIHByb3ZpZGVyX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnblVwUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcblxuICB2ZXJpZmljYXRpb25fY29kZT86IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uX3Rva2VuPzogc3RyaW5nO1xuICBwcm92aWRlcl90b2tlbj86IHN0cmluZztcblxuICBwYXNzd29yZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZ2VuZGVyPzogc3RyaW5nO1xuICBwaWN0dXJlPzogc3RyaW5nO1xuICBsb2NhbGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VmVyaWZpY2F0aW9uUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcbiAgdGFyZ2V0Pzogc3RyaW5nIHwgJ0FOWSc7XG4gIHVzYWdlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFZlcmlmaWNhdGlvblJlc3BvbnNlIHtcbiAgdmVyaWZpY2F0aW9uX2lkPzogc3RyaW5nO1xuICBpc191c2VyPzogYm9vbGVhbiB8IGZhbHNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVJlc3BvbnNlIHtcbiAgdmVyaWZpY2F0aW9uX3Rva2VuPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIHZlcmlmaWNhdGlvbl9jb2RlOiBzdHJpbmc7XG4gIHZlcmlmaWNhdGlvbl9pZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlckJpbmRSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmFudFByb3ZpZGVyVG9rZW5SZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBwcm92aWRlcl9pZDogc3RyaW5nO1xuICBwcm92aWRlcl9yZWRpcmVjdF91cmk/OiBzdHJpbmc7XG4gIHByb3ZpZGVyX2NvZGU/OiBzdHJpbmc7XG4gIHByb3ZpZGVyX2FjY2Vzc190b2tlbj86IHN0cmluZztcbiAgcHJvdmlkZXJfaWRfdG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JhbnRQcm92aWRlclRva2VuUmVzcG9uc2Uge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xuICBleHBpcmVzX2luOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF0Y2hQcm92aWRlclRva2VuUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbiAgcHJvdmlkZXJfcGFyYW1zOiB7XG4gICAgZW5jcnlwdGVkRGF0YTogc3RyaW5nO1xuICAgIGl2OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF0Y2hQcm92aWRlclRva2VuUmVzcG9uc2Uge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xuICBleHBpcmVzX2luOiBudW1iZXI7XG4gIHByb3ZpZGVyX3Byb2ZpbGU6IFByb3ZpZGVyUHJvZmlsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVxdWVzdCB7XG4gIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG4gIHByb3ZpZGVyX3JlZGlyZWN0X3VyaTogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICBvdGhlcl9wYXJhbXM/OiB7XG4gICAgc2lnbl9vdXRfdXJpPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXNwb25zZSB7XG4gIHVyaTogc3RyaW5nO1xuICBzaWdub3V0X3VyaT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaW5kV2l0aFByb3ZpZGVyUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaW5kV2l0aFByb3ZpZGVyUmVxdWVzdCB7XG4gIHByb3ZpZGVyX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclByb2ZpbGVQcm92aWRlciB7XG4gIGlkPzogc3RyaW5nO1xuICBwcm92aWRlcl91c2VyX2lkPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJQcm9maWxlIHtcbiAgbmFtZT86IHN0cmluZztcbiAgcGljdHVyZT86IHN0cmluZztcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBlbWFpbF92ZXJpZmllZD86IGJvb2xlYW47XG4gIHBob25lX251bWJlcj86IHN0cmluZztcbiAgcHJvdmlkZXJzPzogW1VzZXJQcm9maWxlUHJvdmlkZXJdO1xuICBnZW5kZXI/OiBzdHJpbmc7XG4gIGJpcnRoZGF0ZT86IHN0cmluZztcbiAgem9uZWluZm8/OiBzdHJpbmc7XG4gIGxvY2FsZT86IHN0cmluZztcbiAgY3JlYXRlZF9mcm9tPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBVc2VySW5mbyA9IFVzZXJQcm9maWxlO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyUHJvZmlsZSB7XG4gIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG4gIHBob25lX251bWJlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc0J5UHJvdmlkZXJSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmFudFRva2VuUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgY2xpZW50X3NlY3JldD86IHN0cmluZztcbiAgY29kZT86IHN0cmluZztcbiAgZ3JhbnRfdHlwZT86IHN0cmluZztcbiAgcmVkaXJlY3RfdXJpPzogc3RyaW5nO1xuICBub25jZT86IHN0cmluZztcbiAgcmVmcmVzaF90b2tlbj86IHN0cmluZztcbiAgc2NvcGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5iaW5kUHJvdmlkZXJSZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBwcm92aWRlcl9pZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrUGFzc3dvcmRyUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcGFzc3dvcmQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaW5kUGhvbmVSZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBwaG9uZV9udW1iZXI6IHN0cmluZztcbiAgc3Vkb190b2tlbjogc3RyaW5nO1xuICB2ZXJpZmljYXRpb25fdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXRQYXNzd29yZFJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIG5ld19wYXNzd29yZDogc3RyaW5nO1xuICBzdWRvX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlQmluZGVkUHJvdmlkZXJSZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICB0cmFuc190b2tlbjogc3RyaW5nO1xuICBwcm92aWRlcl9pZDogc3RyaW5nO1xufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBDaGFuZ2VCaW5kZWRQcm92aWRlclJlc3BvbnNlIGV4dGVuZHMgQmFzZVJlcXVlc3QgeyB9XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVlcnlVc2VyUHJvZmlsZVJlcSBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgYXBwZW5kZWRfcGFyYW1zOiBzdHJpbmc7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F1dGgvbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbnRlcmZhY2UgQmFzZVJlcXVlc3Qge1xuICBjbGllbnRfaWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbkluUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICB2ZXJpZmljYXRpb25fY29kZT86IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uX3Rva2VuPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25JbldpdGhQcm92aWRlclJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIHByb3ZpZGVyX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnblVwUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcblxuICB2ZXJpZmljYXRpb25fY29kZT86IHN0cmluZztcbiAgdmVyaWZpY2F0aW9uX3Rva2VuPzogc3RyaW5nO1xuICBwcm92aWRlcl90b2tlbj86IHN0cmluZztcblxuICBwYXNzd29yZD86IHN0cmluZztcbiAgbmFtZT86IHN0cmluZztcbiAgZ2VuZGVyPzogc3RyaW5nO1xuICBwaWN0dXJlPzogc3RyaW5nO1xuICBsb2NhbGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0VmVyaWZpY2F0aW9uUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcGhvbmVfbnVtYmVyPzogc3RyaW5nO1xuICBlbWFpbD86IHN0cmluZztcbiAgdGFyZ2V0Pzogc3RyaW5nIHwgJ0FOWSc7XG4gIHVzYWdlPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdldFZlcmlmaWNhdGlvblJlc3BvbnNlIHtcbiAgdmVyaWZpY2F0aW9uX2lkPzogc3RyaW5nO1xuICBpc191c2VyPzogYm9vbGVhbiB8IGZhbHNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVJlc3BvbnNlIHtcbiAgdmVyaWZpY2F0aW9uX3Rva2VuPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeVJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIHZlcmlmaWNhdGlvbl9jb2RlOiBzdHJpbmc7XG4gIHZlcmlmaWNhdGlvbl9pZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQcm92aWRlckJpbmRSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmFudFByb3ZpZGVyVG9rZW5SZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBwcm92aWRlcl9pZDogc3RyaW5nO1xuICBwcm92aWRlcl9yZWRpcmVjdF91cmk/OiBzdHJpbmc7XG4gIHByb3ZpZGVyX2NvZGU/OiBzdHJpbmc7XG4gIHByb3ZpZGVyX2FjY2Vzc190b2tlbj86IHN0cmluZztcbiAgcHJvdmlkZXJfaWRfdG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JhbnRQcm92aWRlclRva2VuUmVzcG9uc2Uge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xuICBleHBpcmVzX2luOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF0Y2hQcm92aWRlclRva2VuUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbiAgcHJvdmlkZXJfcGFyYW1zOiB7XG4gICAgZW5jcnlwdGVkRGF0YTogc3RyaW5nO1xuICAgIGl2OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGF0Y2hQcm92aWRlclRva2VuUmVzcG9uc2Uge1xuICBwcm92aWRlcl90b2tlbjogc3RyaW5nO1xuICBleHBpcmVzX2luOiBudW1iZXI7XG4gIHByb3ZpZGVyX3Byb2ZpbGU6IFByb3ZpZGVyUHJvZmlsZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZW5Qcm92aWRlclJlZGlyZWN0VXJpUmVxdWVzdCB7XG4gIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG4gIHByb3ZpZGVyX3JlZGlyZWN0X3VyaTogc3RyaW5nO1xuICBzdGF0ZTogc3RyaW5nO1xuICBvdGhlcl9wYXJhbXM/OiB7XG4gICAgc2lnbl9vdXRfdXJpPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdlblByb3ZpZGVyUmVkaXJlY3RVcmlSZXNwb25zZSB7XG4gIHVyaTogc3RyaW5nO1xuICBzaWdub3V0X3VyaT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaW5kV2l0aFByb3ZpZGVyUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaW5kV2l0aFByb3ZpZGVyUmVxdWVzdCB7XG4gIHByb3ZpZGVyX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclByb2ZpbGVQcm92aWRlciB7XG4gIGlkPzogc3RyaW5nO1xuICBwcm92aWRlcl91c2VyX2lkPzogc3RyaW5nO1xuICBuYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJQcm9maWxlIHtcbiAgbmFtZT86IHN0cmluZztcbiAgcGljdHVyZT86IHN0cmluZztcbiAgdXNlcm5hbWU/OiBzdHJpbmc7XG4gIGVtYWlsPzogc3RyaW5nO1xuICBlbWFpbF92ZXJpZmllZD86IGJvb2xlYW47XG4gIHBob25lX251bWJlcj86IHN0cmluZztcbiAgcHJvdmlkZXJzPzogW1VzZXJQcm9maWxlUHJvdmlkZXJdO1xuICBnZW5kZXI/OiBzdHJpbmc7XG4gIGJpcnRoZGF0ZT86IHN0cmluZztcbiAgem9uZWluZm8/OiBzdHJpbmc7XG4gIGxvY2FsZT86IHN0cmluZztcbiAgY3JlYXRlZF9mcm9tPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBVc2VySW5mbyA9IFVzZXJQcm9maWxlO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb3ZpZGVyUHJvZmlsZSB7XG4gIHByb3ZpZGVyX2lkOiBzdHJpbmc7XG4gIHBob25lX251bWJlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc0J5UHJvdmlkZXJSZXF1ZXN0IHtcbiAgcHJvdmlkZXJfdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHcmFudFRva2VuUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgY2xpZW50X3NlY3JldD86IHN0cmluZztcbiAgY29kZT86IHN0cmluZztcbiAgZ3JhbnRfdHlwZT86IHN0cmluZztcbiAgcmVkaXJlY3RfdXJpPzogc3RyaW5nO1xuICBub25jZT86IHN0cmluZztcbiAgcmVmcmVzaF90b2tlbj86IHN0cmluZztcbiAgc2NvcGU/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5iaW5kUHJvdmlkZXJSZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBwcm92aWRlcl9pZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrUGFzc3dvcmRyUmVxdWVzdCBleHRlbmRzIEJhc2VSZXF1ZXN0IHtcbiAgcGFzc3dvcmQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCaW5kUGhvbmVSZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBwaG9uZV9udW1iZXI6IHN0cmluZztcbiAgc3Vkb190b2tlbjogc3RyaW5nO1xuICB2ZXJpZmljYXRpb25fdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXRQYXNzd29yZFJlcXVlc3QgZXh0ZW5kcyBCYXNlUmVxdWVzdCB7XG4gIG5ld19wYXNzd29yZDogc3RyaW5nO1xuICBzdWRvX3Rva2VuOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlQmluZGVkUHJvdmlkZXJSZXF1ZXN0IGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICB0cmFuc190b2tlbjogc3RyaW5nO1xuICBwcm92aWRlcl9pZDogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBDaGFuZ2VCaW5kZWRQcm92aWRlclJlc3BvbnNlID0gQmFzZVJlcXVlc3RcblxuZXhwb3J0IGludGVyZmFjZSBRdWVyeVVzZXJQcm9maWxlUmVxIGV4dGVuZHMgQmFzZVJlcXVlc3Qge1xuICBhcHBlbmRlZF9wYXJhbXM6IHN0cmluZztcbn1cbiJdfQ==

@@ -73,2 +73,2 @@ "use strict";

})(ErrorType = exports.ErrorType || (exports.ErrorType = {}));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29hdXRoMmNsaWVudC9jb25zdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxNQWtCWDtBQWxCRCxXQUFZLE1BQU07SUFDaEIsaUNBQXVCLENBQUE7SUFDdkIseUNBQStCLENBQUE7SUFDL0IseUNBQStCLENBQUE7SUFDL0IseUJBQWUsQ0FBQTtJQUNmLHlCQUFlLENBQUE7SUFDZix1Q0FBNkIsQ0FBQTtJQUM3Qix5QkFBZSxDQUFBO0lBQ2YsaURBQXVDLENBQUE7SUFDdkMsaUNBQXVCLENBQUE7SUFDdkIsbUNBQXlCLENBQUE7SUFDekIsdUJBQWEsQ0FBQTtJQUNiLHVDQUE2QixDQUFBO0lBQzdCLG1DQUF5QixDQUFBO0lBQ3pCLG1DQUF5QixDQUFBO0lBQ3pCLCtCQUFxQixDQUFBO0lBQ3JCLCtCQUFxQixDQUFBO0lBQ3JCLHlDQUErQixDQUFBO0FBQ2pDLENBQUMsRUFsQlcsTUFBTSxHQUFOLGNBQU0sS0FBTixjQUFNLFFBa0JqQjtBQUVELElBQVksU0FpRFg7QUFqREQsV0FBWSxTQUFTO0lBQ25CLHdDQUEyQixDQUFBO0lBQzNCLDRCQUFlLENBQUE7SUFFZixvQ0FBdUIsQ0FBQTtJQUN2QixnQ0FBbUIsQ0FBQTtJQUNuQixrREFBcUMsQ0FBQTtJQUNyQyxvREFBdUMsQ0FBQTtJQUN2QyxvQ0FBdUIsQ0FBQTtJQUN2Qiw4Q0FBaUMsQ0FBQTtJQUNqQyxvREFBdUMsQ0FBQTtJQUN2QyxnREFBbUMsQ0FBQTtJQUNuQyxzREFBeUMsQ0FBQTtJQUN6Qyx3REFBMkMsQ0FBQTtJQUMzQyxnQ0FBbUIsQ0FBQTtJQUNuQiwwQ0FBNkIsQ0FBQTtJQUM3Qiw0Q0FBK0IsQ0FBQTtJQUMvQixrQ0FBcUIsQ0FBQTtJQUNyQix3Q0FBMkIsQ0FBQTtJQUMzQixvQ0FBdUIsQ0FBQTtJQUV2QixrREFBcUMsQ0FBQTtJQUNyQyxnREFBbUMsQ0FBQTtJQUNuQyxrREFBcUMsQ0FBQTtJQUNyQyw4Q0FBaUMsQ0FBQTtJQUNqQywwQ0FBNkIsQ0FBQTtJQUM3QiwwQ0FBNkIsQ0FBQTtJQUM3QixvRUFBdUQsQ0FBQTtJQUN2RCx3REFBMkMsQ0FBQTtJQUMzQyxzREFBeUMsQ0FBQTtJQUN6Qyx3RUFBMkQsQ0FBQTtJQUMzRCwwQ0FBNkIsQ0FBQTtJQUM3QixnREFBbUMsQ0FBQTtJQUNuQyx3REFBMkMsQ0FBQTtJQUMzQyw0Q0FBK0IsQ0FBQTtJQUMvQixvRUFBdUQsQ0FBQTtJQUN2RCw0Q0FBK0IsQ0FBQTtJQUMvQiw0Q0FBK0IsQ0FBQTtJQUMvQiwwQ0FBNkIsQ0FBQTtJQUM3QixnRUFBbUQsQ0FBQTtJQUNuRCwwREFBNkMsQ0FBQTtJQUM3Qyw4Q0FBaUMsQ0FBQTtJQUNqQyxzRUFBeUQsQ0FBQTtJQUN6RCxrREFBcUMsQ0FBQTtJQUNyQyx3REFBMkMsQ0FBQTtJQUMzQyw4REFBaUQsQ0FBQTtJQUNqRCw0REFBK0MsQ0FBQTtJQUMvQyxvRUFBdUQsQ0FBQTtJQUN2RCxzRUFBeUQsQ0FBQTtBQUMzRCxDQUFDLEVBakRXLFNBQVMsR0FBVCxpQkFBUyxLQUFULGlCQUFTLFFBaURwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFN5bnRheCB7XG4gIENMSUVOVF9JRCA9ICdjbGllbnRfaWQnLFxuICBDTElFTlRfU0VDUkVUID0gJ2NsaWVudF9zZWNyZXQnLFxuICBSRVNQT05TRV9UWVBFID0gJ3Jlc3BvbnNlX3R5cGUnLFxuICBTQ09QRSA9ICdzY29wZScsXG4gIFNUQVRFID0gJ3N0YXRlJyxcbiAgUkVESVJFQ1RfVVJJID0gJ3JlZGlyZWN0X3VyaScsXG4gIEVSUk9SID0gJ2Vycm9yJyxcbiAgRVJST1JfREVTQ1JJUFRJT04gPSAnZXJyb3JfZGVzY3JpcHRpb24nLFxuICBFUlJPUl9VUkkgPSAnZXJyb3JfdXJpJyxcbiAgR1JBTlRfVFlQRSA9ICdncmFudF90eXBlJyxcbiAgQ09ERSA9ICdjb2RlJyxcbiAgQUNDRVNTX1RPS0VOID0gJ2FjY2Vzc190b2tlbicsXG4gIFRPS0VOX1RZUEUgPSAndG9rZW5fdHlwZScsXG4gIEVYUElSRVNfSU4gPSAnZXhwaXJlc19pbicsXG4gIFVTRVJOQU1FID0gJ3VzZXJuYW1lJyxcbiAgUEFTU1dPUkQgPSAncGFzc3dvcmQnLFxuICBSRUZSRVNIX1RPS0VOID0gJ3JlZnJlc2hfdG9rZW4nLFxufVxuXG5leHBvcnQgZW51bSBFcnJvclR5cGUge1xuICBVTlJFQUNIQUJMRSA9ICd1bnJlYWNoYWJsZScsXG4gIExPQ0FMID0gJ2xvY2FsJyxcbiAgLy8gUmV1c2UgZ3JwYyBzdGF0dXMgY29kZXNcbiAgQ0FOQ0VMTEVEID0gJ2NhbmNlbGxlZCcsXG4gIFVOS05PV04gPSAndW5rbm93bicsXG4gIElOVkFMSURfQVJHVU1FTlQgPSAnaW52YWxpZF9hcmd1bWVudCcsXG4gIERFQURMSU5FX0VYQ0VFREVEID0gJ2RlYWRsaW5lX2V4Y2VlZGVkJyxcbiAgTk9UX0ZPVU5EID0gJ25vdF9mb3VuZCcsXG4gIEFMUkVBRFlfRVhJU1RTID0gJ2FscmVhZHlfZXhpc3RzJyxcbiAgUEVSTUlTU0lPTl9ERU5JRUQgPSAncGVybWlzc2lvbl9kZW5pZWQnLFxuICBVTkFVVEhFTlRJQ0FURUQgPSAndW5hdXRoZW50aWNhdGVkJyxcbiAgUkVTT1VSQ0VfRVhIQVVTVEVEID0gJ3Jlc291cmNlX2V4aGF1c3RlZCcsXG4gIEZBSUxFRF9QUkVDT05ESVRJT04gPSAnZmFpbGVkX3ByZWNvbmRpdGlvbicsXG4gIEFCT1JURUQgPSAnYWJvcnRlZCcsXG4gIE9VVF9PRl9SQU5HRSA9ICdvdXRfb2ZfcmFuZ2UnLFxuICBVTklNUExFTUVOVEVEID0gJ3VuaW1wbGVtZW50ZWQnLFxuICBJTlRFUk5BTCA9ICdpbnRlcm5hbCcsXG4gIFVOQVZBSUxBQkxFID0gJ3VuYXZhaWxhYmxlJyxcbiAgREFUQV9MT1NTID0gJ2RhdGFfbG9zcycsXG4gIC8vIENvbW1vbkVycm9yXG4gIENBUFRDSEFfUkVRVUlSRUQgPSAnY2FwdGNoYV9yZXF1aXJlZCcsXG4gIENBUFRDSEFfSU5WQUxJRCA9ICdjYXB0Y2hhX2ludmFsaWQnLFxuICBJTlZBTElEX1BBU1NXT1JEID0gJ2ludmFsaWRfcGFzc3dvcmQnLFxuICBJTlZBTElEX1NUQVRVUyA9ICdpbnZhbGlkX3N0YXR1cycsXG4gIFVTRVJfUEVORElORyA9ICd1c2VyX3BlbmRpbmcnLFxuICBVU0VSX0JMT0NLRUQgPSAndXNlcl9ibG9ja2VkJyxcbiAgSU5WQUxJRF9WRVJJRklDQVRJT05fQ09ERSA9ICdpbnZhbGlkX3ZlcmlmaWNhdGlvbl9jb2RlJyxcbiAgVFdPX0ZBQ1RPUl9SRVFVSVJFRCA9ICd0d29fZmFjdG9yX3JlcXVpcmVkJyxcbiAgSU5WQUxJRF9UV09fRkFDVE9SID0gJ2ludmFsaWRfdHdvX2ZhY3RvcicsXG4gIElOVkFMSURfVFdPX0ZBQ1RPUl9SRUNPVkVSWSA9ICdpbnZhbGlkX3R3b19mYWN0b3JfcmVjb3ZlcnknLFxuICBVTkRFUl9SRVZJRVcgPSAndW5kZXJfcmV2aWV3JyxcbiAgSU5WQUxJRF9SRVFVRVNUID0gJ2ludmFsaWRfcmVxdWVzdCcsXG4gIFVOQVVUSE9SSVpFRF9DTElFTlQgPSAndW5hdXRob3JpemVkX2NsaWVudCcsXG4gIEFDQ0VTU19ERU5JRUQgPSAnYWNjZXNzX2RlbmllZCcsXG4gIFVOU1VQUE9SVEVEX1JFU1BPTlNFX1RZUEUgPSAndW5zdXBwb3J0ZWRfcmVzcG9uc2VfdHlwZScsXG4gIElOVkFMSURfU0NPUEUgPSAnaW52YWxpZF9zY29wZScsXG4gIElOVkFMSURfR1JBTlQgPSAnaW52YWxpZF9ncmFudCcsXG4gIFNFUlZFUl9FUlJPUiA9ICdzZXJ2ZXJfZXJyb3InLFxuICBURU1QT1JBUklMWV9VTkFWQUlMQUJMRSA9ICd0ZW1wb3JhcmlseV91bmF2YWlsYWJsZScsXG4gIElOVEVSQUNUSU9OX1JFUVVJUkVEID0gJ2ludGVyYWN0aW9uX3JlcXVpcmVkJyxcbiAgTE9HSU5fUkVRVUlSRUQgPSAnbG9naW5fcmVxdWlyZWQnLFxuICBBQ0NPVU5UX1NFTEVDVElPTl9SRVFVSVJFRCA9ICdhY2NvdW50X3NlbGVjdGlvbl9yZXF1aXJlZCcsXG4gIENPTlNFTlRfUkVRVUlSRUQgPSAnY29uc2VudF9yZXF1aXJlZCcsXG4gIElOVkFMSURfUkVRVUVTVF9VUkkgPSAnaW52YWxpZF9yZXF1ZXN0X3VyaScsXG4gIElOVkFMSURfUkVRVUVTVF9PQkpFQ1QgPSAnaW52YWxpZF9yZXF1ZXN0X29iamVjdCcsXG4gIFJFUVVFU1RfTk9UX1NVUFBPUlRFRCA9ICdyZXF1ZXN0X25vdF9zdXBwb3J0ZWQnLFxuICBSRVFVRVNUX1VSSV9OT1RfU1VQUE9SVEVEID0gJ3JlcXVlc3RfdXJpX25vdF9zdXBwb3J0ZWQnLFxuICBSRUdJU1RSQVRJT05fTk9UX1NVUFBPUlRFRCA9ICdyZWdpc3RyYXRpb25fbm90X3N1cHBvcnRlZCcsXG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29hdXRoMmNsaWVudC9jb25zdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxNQWtCWDtBQWxCRCxXQUFZLE1BQU07SUFDaEIsaUNBQXVCLENBQUE7SUFDdkIseUNBQStCLENBQUE7SUFDL0IseUNBQStCLENBQUE7SUFDL0IseUJBQWUsQ0FBQTtJQUNmLHlCQUFlLENBQUE7SUFDZix1Q0FBNkIsQ0FBQTtJQUM3Qix5QkFBZSxDQUFBO0lBQ2YsaURBQXVDLENBQUE7SUFDdkMsaUNBQXVCLENBQUE7SUFDdkIsbUNBQXlCLENBQUE7SUFDekIsdUJBQWEsQ0FBQTtJQUNiLHVDQUE2QixDQUFBO0lBQzdCLG1DQUF5QixDQUFBO0lBQ3pCLG1DQUF5QixDQUFBO0lBQ3pCLCtCQUFxQixDQUFBO0lBQ3JCLCtCQUFxQixDQUFBO0lBQ3JCLHlDQUErQixDQUFBO0FBQ2pDLENBQUMsRUFsQlcsTUFBTSxHQUFOLGNBQU0sS0FBTixjQUFNLFFBa0JqQjtBQUVELElBQVksU0FnRFg7QUFoREQsV0FBWSxTQUFTO0lBQ25CLHdDQUEyQixDQUFBO0lBQzNCLDRCQUFlLENBQUE7SUFDZixvQ0FBdUIsQ0FBQTtJQUN2QixnQ0FBbUIsQ0FBQTtJQUNuQixrREFBcUMsQ0FBQTtJQUNyQyxvREFBdUMsQ0FBQTtJQUN2QyxvQ0FBdUIsQ0FBQTtJQUN2Qiw4Q0FBaUMsQ0FBQTtJQUNqQyxvREFBdUMsQ0FBQTtJQUN2QyxnREFBbUMsQ0FBQTtJQUNuQyxzREFBeUMsQ0FBQTtJQUN6Qyx3REFBMkMsQ0FBQTtJQUMzQyxnQ0FBbUIsQ0FBQTtJQUNuQiwwQ0FBNkIsQ0FBQTtJQUM3Qiw0Q0FBK0IsQ0FBQTtJQUMvQixrQ0FBcUIsQ0FBQTtJQUNyQix3Q0FBMkIsQ0FBQTtJQUMzQixvQ0FBdUIsQ0FBQTtJQUV2QixrREFBcUMsQ0FBQTtJQUNyQyxnREFBbUMsQ0FBQTtJQUNuQyxrREFBcUMsQ0FBQTtJQUNyQyw4Q0FBaUMsQ0FBQTtJQUNqQywwQ0FBNkIsQ0FBQTtJQUM3QiwwQ0FBNkIsQ0FBQTtJQUM3QixvRUFBdUQsQ0FBQTtJQUN2RCx3REFBMkMsQ0FBQTtJQUMzQyxzREFBeUMsQ0FBQTtJQUN6Qyx3RUFBMkQsQ0FBQTtJQUMzRCwwQ0FBNkIsQ0FBQTtJQUM3QixnREFBbUMsQ0FBQTtJQUNuQyx3REFBMkMsQ0FBQTtJQUMzQyw0Q0FBK0IsQ0FBQTtJQUMvQixvRUFBdUQsQ0FBQTtJQUN2RCw0Q0FBK0IsQ0FBQTtJQUMvQiw0Q0FBK0IsQ0FBQTtJQUMvQiwwQ0FBNkIsQ0FBQTtJQUM3QixnRUFBbUQsQ0FBQTtJQUNuRCwwREFBNkMsQ0FBQTtJQUM3Qyw4Q0FBaUMsQ0FBQTtJQUNqQyxzRUFBeUQsQ0FBQTtJQUN6RCxrREFBcUMsQ0FBQTtJQUNyQyx3REFBMkMsQ0FBQTtJQUMzQyw4REFBaUQsQ0FBQTtJQUNqRCw0REFBK0MsQ0FBQTtJQUMvQyxvRUFBdUQsQ0FBQTtJQUN2RCxzRUFBeUQsQ0FBQTtBQUMzRCxDQUFDLEVBaERXLFNBQVMsR0FBVCxpQkFBUyxLQUFULGlCQUFTLFFBZ0RwQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFN5bnRheCB7XG4gIENMSUVOVF9JRCA9ICdjbGllbnRfaWQnLFxuICBDTElFTlRfU0VDUkVUID0gJ2NsaWVudF9zZWNyZXQnLFxuICBSRVNQT05TRV9UWVBFID0gJ3Jlc3BvbnNlX3R5cGUnLFxuICBTQ09QRSA9ICdzY29wZScsXG4gIFNUQVRFID0gJ3N0YXRlJyxcbiAgUkVESVJFQ1RfVVJJID0gJ3JlZGlyZWN0X3VyaScsXG4gIEVSUk9SID0gJ2Vycm9yJyxcbiAgRVJST1JfREVTQ1JJUFRJT04gPSAnZXJyb3JfZGVzY3JpcHRpb24nLFxuICBFUlJPUl9VUkkgPSAnZXJyb3JfdXJpJyxcbiAgR1JBTlRfVFlQRSA9ICdncmFudF90eXBlJyxcbiAgQ09ERSA9ICdjb2RlJyxcbiAgQUNDRVNTX1RPS0VOID0gJ2FjY2Vzc190b2tlbicsXG4gIFRPS0VOX1RZUEUgPSAndG9rZW5fdHlwZScsXG4gIEVYUElSRVNfSU4gPSAnZXhwaXJlc19pbicsXG4gIFVTRVJOQU1FID0gJ3VzZXJuYW1lJyxcbiAgUEFTU1dPUkQgPSAncGFzc3dvcmQnLFxuICBSRUZSRVNIX1RPS0VOID0gJ3JlZnJlc2hfdG9rZW4nLFxufVxuXG5leHBvcnQgZW51bSBFcnJvclR5cGUge1xuICBVTlJFQUNIQUJMRSA9ICd1bnJlYWNoYWJsZScsXG4gIExPQ0FMID0gJ2xvY2FsJyxcbiAgQ0FOQ0VMTEVEID0gJ2NhbmNlbGxlZCcsXG4gIFVOS05PV04gPSAndW5rbm93bicsXG4gIElOVkFMSURfQVJHVU1FTlQgPSAnaW52YWxpZF9hcmd1bWVudCcsXG4gIERFQURMSU5FX0VYQ0VFREVEID0gJ2RlYWRsaW5lX2V4Y2VlZGVkJyxcbiAgTk9UX0ZPVU5EID0gJ25vdF9mb3VuZCcsXG4gIEFMUkVBRFlfRVhJU1RTID0gJ2FscmVhZHlfZXhpc3RzJyxcbiAgUEVSTUlTU0lPTl9ERU5JRUQgPSAncGVybWlzc2lvbl9kZW5pZWQnLFxuICBVTkFVVEhFTlRJQ0FURUQgPSAndW5hdXRoZW50aWNhdGVkJyxcbiAgUkVTT1VSQ0VfRVhIQVVTVEVEID0gJ3Jlc291cmNlX2V4aGF1c3RlZCcsXG4gIEZBSUxFRF9QUkVDT05ESVRJT04gPSAnZmFpbGVkX3ByZWNvbmRpdGlvbicsXG4gIEFCT1JURUQgPSAnYWJvcnRlZCcsXG4gIE9VVF9PRl9SQU5HRSA9ICdvdXRfb2ZfcmFuZ2UnLFxuICBVTklNUExFTUVOVEVEID0gJ3VuaW1wbGVtZW50ZWQnLFxuICBJTlRFUk5BTCA9ICdpbnRlcm5hbCcsXG4gIFVOQVZBSUxBQkxFID0gJ3VuYXZhaWxhYmxlJyxcbiAgREFUQV9MT1NTID0gJ2RhdGFfbG9zcycsXG4gIC8vIENvbW1vbkVycm9yXG4gIENBUFRDSEFfUkVRVUlSRUQgPSAnY2FwdGNoYV9yZXF1aXJlZCcsXG4gIENBUFRDSEFfSU5WQUxJRCA9ICdjYXB0Y2hhX2ludmFsaWQnLFxuICBJTlZBTElEX1BBU1NXT1JEID0gJ2ludmFsaWRfcGFzc3dvcmQnLFxuICBJTlZBTElEX1NUQVRVUyA9ICdpbnZhbGlkX3N0YXR1cycsXG4gIFVTRVJfUEVORElORyA9ICd1c2VyX3BlbmRpbmcnLFxuICBVU0VSX0JMT0NLRUQgPSAndXNlcl9ibG9ja2VkJyxcbiAgSU5WQUxJRF9WRVJJRklDQVRJT05fQ09ERSA9ICdpbnZhbGlkX3ZlcmlmaWNhdGlvbl9jb2RlJyxcbiAgVFdPX0ZBQ1RPUl9SRVFVSVJFRCA9ICd0d29fZmFjdG9yX3JlcXVpcmVkJyxcbiAgSU5WQUxJRF9UV09fRkFDVE9SID0gJ2ludmFsaWRfdHdvX2ZhY3RvcicsXG4gIElOVkFMSURfVFdPX0ZBQ1RPUl9SRUNPVkVSWSA9ICdpbnZhbGlkX3R3b19mYWN0b3JfcmVjb3ZlcnknLFxuICBVTkRFUl9SRVZJRVcgPSAndW5kZXJfcmV2aWV3JyxcbiAgSU5WQUxJRF9SRVFVRVNUID0gJ2ludmFsaWRfcmVxdWVzdCcsXG4gIFVOQVVUSE9SSVpFRF9DTElFTlQgPSAndW5hdXRob3JpemVkX2NsaWVudCcsXG4gIEFDQ0VTU19ERU5JRUQgPSAnYWNjZXNzX2RlbmllZCcsXG4gIFVOU1VQUE9SVEVEX1JFU1BPTlNFX1RZUEUgPSAndW5zdXBwb3J0ZWRfcmVzcG9uc2VfdHlwZScsXG4gIElOVkFMSURfU0NPUEUgPSAnaW52YWxpZF9zY29wZScsXG4gIElOVkFMSURfR1JBTlQgPSAnaW52YWxpZF9ncmFudCcsXG4gIFNFUlZFUl9FUlJPUiA9ICdzZXJ2ZXJfZXJyb3InLFxuICBURU1QT1JBUklMWV9VTkFWQUlMQUJMRSA9ICd0ZW1wb3JhcmlseV91bmF2YWlsYWJsZScsXG4gIElOVEVSQUNUSU9OX1JFUVVJUkVEID0gJ2ludGVyYWN0aW9uX3JlcXVpcmVkJyxcbiAgTE9HSU5fUkVRVUlSRUQgPSAnbG9naW5fcmVxdWlyZWQnLFxuICBBQ0NPVU5UX1NFTEVDVElPTl9SRVFVSVJFRCA9ICdhY2NvdW50X3NlbGVjdGlvbl9yZXF1aXJlZCcsXG4gIENPTlNFTlRfUkVRVUlSRUQgPSAnY29uc2VudF9yZXF1aXJlZCcsXG4gIElOVkFMSURfUkVRVUVTVF9VUkkgPSAnaW52YWxpZF9yZXF1ZXN0X3VyaScsXG4gIElOVkFMSURfUkVRVUVTVF9PQkpFQ1QgPSAnaW52YWxpZF9yZXF1ZXN0X29iamVjdCcsXG4gIFJFUVVFU1RfTk9UX1NVUFBPUlRFRCA9ICdyZXF1ZXN0X25vdF9zdXBwb3J0ZWQnLFxuICBSRVFVRVNUX1VSSV9OT1RfU1VQUE9SVEVEID0gJ3JlcXVlc3RfdXJpX25vdF9zdXBwb3J0ZWQnLFxuICBSRUdJU1RSQVRJT05fTk9UX1NVUFBPUlRFRCA9ICdyZWdpc3RyYXRpb25fbm90X3N1cHBvcnRlZCcsXG59XG4iXX0=
import { Credentials, AuthClientRequestOptions } from './models';
export declare abstract class AuthClient {
abstract setCredentials(credentials?: Credentials): void;
abstract request<T>(url: string, options?: AuthClientRequestOptions): Promise<T>;
abstract request: RequestFunction;
abstract getAccessToken(): Promise<string>;
}
export declare type RequestFunction = <T>(url: string, options?: AuthClientRequestOptions) => Promise<T>;
export interface SimpleStorage {
getItem: (key: string) => Promise<string | null>;
removeItem: (key: string) => Promise<void>;
setItem: (key: string, value: string) => Promise<void>;
getItem(key: string): Promise<string | null>;
removeItem(key: string): Promise<void>;
setItem(key: string, value: string): Promise<void>;
}

@@ -10,2 +10,2 @@ "use strict";

exports.AuthClient = AuthClient;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29hdXRoMmNsaWVudC9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0E7SUFBQTtJQXVCQSxDQUFDO0lBQUQsaUJBQUM7QUFBRCxDQUFDLEFBdkJELElBdUJDO0FBdkJxQixnQ0FBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENyZWRlbnRpYWxzLCBBdXRoQ2xpZW50UmVxdWVzdE9wdGlvbnMgfSBmcm9tICcuL21vZGVscyc7XG5cbi8qKlxuICogdGhlIGludGVyZmFjZSBmb3IgdGhlIE9hdXRoMkNsaWVudFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQXV0aENsaWVudCB7XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhdXRoIGNyZWRlbnRpYWxzLlxuICAgKi9cbiAgYWJzdHJhY3Qgc2V0Q3JlZGVudGlhbHMoY3JlZGVudGlhbHM/OiBDcmVkZW50aWFscyk6IHZvaWQ7XG4gIC8qKlxuICAgKiBQcm92aWRlcyBhbiBhbHRlcm5hdGl2ZSBmZXRjaCBhcGkgcmVxdWVzdCBpbXBsZW1lbnRhdGlvbiB3aXRoIGF1dGggY3JlZGVudGlhbHNcbiAgICogaWYgb3B0aW9ucy53aXRoQ3JlZGVudGlhbHM6dHJ1ZSwgdGhlIHJlcXVlc3Qgd2lsbCBhdXRvIGFkZCBBdXRob3JpemF0aW9uOiBCZWFyZXIgPEFjY2Vzc1Rva2VuPiBpbiB0aGUgcmVxdWVzdFxuICAgKiBlcnJvcjpcbiAgICogICAgIC0gdW5yZWFjaGFibGUsIHRoZSBuZXR3b3JrIGVycm9yIG9yIHJlc3BvbnNlIGlzIG5vdCBqc29uXG4gICAqICAgICAtIHVuYXV0aGVudGljYXRlZDogaGFzIG5vIHZhbGlkYXRlIGFjY2VzcyB0b2tlblxuICAgKi9cbiAgYWJzdHJhY3QgcmVxdWVzdDxUPihcbiAgICB1cmw6IHN0cmluZyxcbiAgICBvcHRpb25zPzogQXV0aENsaWVudFJlcXVlc3RPcHRpb25zLFxuICApOiBQcm9taXNlPFQ+O1xuXG4gIC8qKlxuICAgKiBnZXQgdGhlIGN1cnJlbnQgYWNjZXNzVG9rZW4gZnJvbSBBdXRoQ2xpZW50LCB5b3UgY2FuIHVzZSB0aGlzIHRvIGRldGVjdCBsb2dpbiBzdGF0dXNcbiAgICogZXJyb3I6XG4gICAqICAgIC0gIHVuYXV0aGVudGljYXRlZDogaGFzIG5vIHZhbGlkYXRlIGFjY2VzcyB0b2tlblxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0QWNjZXNzVG9rZW4oKTogUHJvbWlzZTxzdHJpbmc+O1xufVxuXG4vKiogQW4gaW50ZXJmYWNlIG9mIHRoZSBTaW1wbGUgIFdlYiBTdG9yYWdlIEFQSSAgKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2ltcGxlU3RvcmFnZSB7XG4gIC8qKlxuICAgKiB2YWx1ZSA9IHN0b3JhZ2Vba2V5XVxuICAgKi9cbiAgZ2V0SXRlbTogKGtleTogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZyB8IG51bGw+O1xuICAvKipcbiAgICogZGVsZXRlIHN0b3JhZ2Vba2V5XVxuICAgKi9cbiAgcmVtb3ZlSXRlbTogKGtleTogc3RyaW5nKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAvKipcbiAgICogc3RvcmFnZVtrZXldID0gdmFsdWVcbiAgICovXG4gIHNldEl0ZW06IChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT4gUHJvbWlzZTx2b2lkPjtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29hdXRoMmNsaWVudC9pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBS0E7SUFBQTtJQW9CQSxDQUFDO0lBQUQsaUJBQUM7QUFBRCxDQUFDLEFBcEJELElBb0JDO0FBcEJxQixnQ0FBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q3JlZGVudGlhbHMsIEF1dGhDbGllbnRSZXF1ZXN0T3B0aW9uc30gZnJvbSAnLi9tb2RlbHMnO1xuXG4vKipcbiAqIHRoZSBpbnRlcmZhY2UgZm9yIHRoZSBPYXV0aDJDbGllbnRcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEF1dGhDbGllbnQge1xuICAvKipcbiAgICogU2V0cyB0aGUgYXV0aCBjcmVkZW50aWFscy5cbiAgICovXG4gIGFic3RyYWN0IHNldENyZWRlbnRpYWxzKGNyZWRlbnRpYWxzPzogQ3JlZGVudGlhbHMpOiB2b2lkO1xuICAvKipcbiAgICogUHJvdmlkZXMgYW4gYWx0ZXJuYXRpdmUgZmV0Y2ggYXBpIHJlcXVlc3QgaW1wbGVtZW50YXRpb24gd2l0aCBhdXRoIGNyZWRlbnRpYWxzXG4gICAqIGlmIG9wdGlvbnMud2l0aENyZWRlbnRpYWxzOnRydWUsIHRoZSByZXF1ZXN0IHdpbGwgYXV0byBhZGQgQXV0aG9yaXphdGlvbjogQmVhcmVyIDxBY2Nlc3NUb2tlbj4gaW4gdGhlIHJlcXVlc3RcbiAgICogZXJyb3I6XG4gICAqICAgICAtIHVucmVhY2hhYmxlLCB0aGUgbmV0d29yayBlcnJvciBvciByZXNwb25zZSBpcyBub3QganNvblxuICAgKiAgICAgLSB1bmF1dGhlbnRpY2F0ZWQ6IGhhcyBubyB2YWxpZGF0ZSBhY2Nlc3MgdG9rZW5cbiAgICovXG4gIGFic3RyYWN0IHJlcXVlc3Q6IFJlcXVlc3RGdW5jdGlvbjtcblxuICAvKipcbiAgICogZ2V0IHRoZSBjdXJyZW50IGFjY2Vzc1Rva2VuIGZyb20gQXV0aENsaWVudCwgeW91IGNhbiB1c2UgdGhpcyB0byBkZXRlY3QgbG9naW4gc3RhdHVzXG4gICAqIGVycm9yOlxuICAgKiAgICAtICB1bmF1dGhlbnRpY2F0ZWQ6IGhhcyBubyB2YWxpZGF0ZSBhY2Nlc3MgdG9rZW5cbiAgICovXG4gIGFic3RyYWN0IGdldEFjY2Vzc1Rva2VuKCk6IFByb21pc2U8c3RyaW5nPjtcbn1cblxuZXhwb3J0IHR5cGUgUmVxdWVzdEZ1bmN0aW9uID0gPFQ+KHVybDogc3RyaW5nLG9wdGlvbnM/OiBBdXRoQ2xpZW50UmVxdWVzdE9wdGlvbnMpID0+IFByb21pc2U8VD47XG5cbi8qKiBBbiBpbnRlcmZhY2Ugb2YgdGhlIFNpbXBsZSAgV2ViIFN0b3JhZ2UgQVBJICAqL1xuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVTdG9yYWdlIHtcbiAgLyoqXG4gICAqIHZhbHVlID0gc3RvcmFnZVtrZXldXG4gICAqL1xuICBnZXRJdGVtKGtleTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPjtcbiAgLyoqXG4gICAqIGRlbGV0ZSBzdG9yYWdlW2tleV1cbiAgICovXG4gIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xuICAvKipcbiAgICogc3RvcmFnZVtrZXldID0gdmFsdWVcbiAgICovXG4gIHNldEl0ZW0oa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+O1xufVxuIl19

@@ -7,5 +7,6 @@ import { SimpleStorage } from './interface';

refresh_token?: string | null;
scope?: string | null;
expires_in?: number | null;
expires_at?: Date | null;
user_id?: string | null;
sub?: string | null;
}

@@ -12,0 +13,0 @@ export interface ResponseError {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29hdXRoMmNsaWVudC9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2ltcGxlU3RvcmFnZX0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHtFcnJvclR5cGV9IGZyb20gJy4vY29uc3RzJztcblxuLyoqIENyZWRlbnRpYWxzICoqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVkZW50aWFscyB7XG4gIHRva2VuX3R5cGU/OiBzdHJpbmcgfCBudWxsO1xuICBhY2Nlc3NfdG9rZW4/OiBzdHJpbmcgfCBudWxsO1xuICByZWZyZXNoX3Rva2VuPzogc3RyaW5nIHwgbnVsbDtcbiAgZXhwaXJlc19pbj86IG51bWJlciB8IG51bGw7XG4gIGV4cGlyZXNfYXQ/OiBEYXRlIHwgbnVsbDtcbiAgdXNlcl9pZD86IHN0cmluZyB8IG51bGw7XG59XG5cbi8qKiBBbiBFcnJvciBGb3IgYWxsIGNvbmNlcm4gKiovXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlRXJyb3Ige1xuICBlcnJvcjogRXJyb3JUeXBlO1xuICBlcnJvcl9kZXNjcmlwdGlvbj86IHN0cmluZyB8IG51bGw7XG4gIGVycm9yX3VyaT86IHN0cmluZyB8IG51bGw7XG4gIGRldGFpbHM/OiBhbnkgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RPcHRpb25zIHtcbiAgYm9keT86IGFueSB8IG51bGw7XG4gIGhlYWRlcnM/OiBhbnkgfCBudWxsO1xuICBtZXRob2Q/OiBzdHJpbmc7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgUmVxdWVzdEZ1bmN0aW9uID0gPFQ+KFxuICB1cmw6IHN0cmluZyxcbiAgb3B0aW9ucz86IFJlcXVlc3RPcHRpb25zLFxuKSA9PiBQcm9taXNlPFQ+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhDbGllbnRSZXF1ZXN0T3B0aW9ucyBleHRlbmRzIFJlcXVlc3RPcHRpb25zIHtcbiAgaGVhZGVycz86IHtcbiAgICAneC1yZXF1ZXN0LWlkJz86IHN0cmluZztcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gIH0gfCBudWxsO1xuICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuICByZXRyeT86IG51bWJlcjtcbiAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9BdXRoMkNsaWVudE9wdGlvbnMge1xuICBkZXZNb2RlPzogYm9vbGVhbjtcbiAgYXBpT3JpZ2luOiBzdHJpbmc7XG4gIGNsaWVudElkOiBzdHJpbmc7XG4gIC8vIGRlZmF1bHQgdmFsdWUgaXMgMSxtaW4gdmFsdWUgaXMgMCwgbWF4IHZhbHVlIGlzIDVcbiAgcmV0cnk/OiBudW1iZXI7XG4gIGJhc2VSZXF1ZXN0PzogPFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzogUmVxdWVzdE9wdGlvbnMpID0+IFByb21pc2U8VD47XG4gIC8vIFN0b3JhZ2UsIGRlZmF1bHQgaXMgbG9jYWxTdG9yYWdlLCBzZXRJdGVtKGssIHYpLCBnZXRJdGVtKGspLHJlbW92ZUl0ZW0oaylcbiAgc3RvcmFnZT86IFNpbXBsZVN0b3JhZ2U7XG4gIGNsaWVudFNlY3JldD86IHN0cmluZztcbiAgcmVmcmVzaFRva2VuRnVuYz86IChyZWZyZXNoVG9rZW4/OiBzdHJpbmcpID0+IFByb21pc2U8Q3JlZGVudGlhbHM+O1xuICAvLyBzZXQgdGhlIHRva2VuIGluIHVybCBxdWVyeSBpbnN0ZWFkIG9mIGhlYWRlclxuICB0b2tlbkluVVJMPzogYm9vbGVhbjtcbiAgaGVhZGVycz86IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9O1xufVxuIl19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL29hdXRoMmNsaWVudC9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7U2ltcGxlU3RvcmFnZX0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuaW1wb3J0IHtFcnJvclR5cGV9IGZyb20gJy4vY29uc3RzJztcblxuLyoqIENyZWRlbnRpYWxzICoqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVkZW50aWFscyB7XG4gICAgdG9rZW5fdHlwZT86IHN0cmluZyB8IG51bGw7XG4gICAgYWNjZXNzX3Rva2VuPzogc3RyaW5nIHwgbnVsbDtcbiAgICByZWZyZXNoX3Rva2VuPzogc3RyaW5nIHwgbnVsbDtcbiAgICBzY29wZT86IHN0cmluZyB8IG51bGw7XG4gICAgZXhwaXJlc19pbj86IG51bWJlciB8IG51bGw7XG4gICAgZXhwaXJlc19hdD86IERhdGUgfCBudWxsO1xuICAgIHN1Yj86IHN0cmluZyB8IG51bGw7XG59XG5cbi8qKiBBbiBFcnJvciBGb3IgYWxsIGNvbmNlcm4gKiovXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlRXJyb3Ige1xuICAgIGVycm9yOiBFcnJvclR5cGU7XG4gICAgZXJyb3JfZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xuICAgIGVycm9yX3VyaT86IHN0cmluZyB8IG51bGw7XG4gICAgZGV0YWlscz86IGFueSB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdE9wdGlvbnMge1xuICAgIGJvZHk/OiBhbnkgfCBudWxsO1xuICAgIGhlYWRlcnM/OiBhbnkgfCBudWxsO1xuICAgIG1ldGhvZD86IHN0cmluZztcblxuICAgIFtrZXk6IHN0cmluZ106IGFueTtcbn1cblxuZXhwb3J0IHR5cGUgUmVxdWVzdEZ1bmN0aW9uID0gPFQ+KFxuICAgIHVybDogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBSZXF1ZXN0T3B0aW9ucyxcbikgPT4gUHJvbWlzZTxUPjtcblxuZXhwb3J0IGludGVyZmFjZSBBdXRoQ2xpZW50UmVxdWVzdE9wdGlvbnMgZXh0ZW5kcyBSZXF1ZXN0T3B0aW9ucyB7XG4gICAgaGVhZGVycz86IHtcbiAgICAgICAgJ3gtcmVxdWVzdC1pZCc/OiBzdHJpbmc7XG4gICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICB9IHwgbnVsbDtcbiAgICB3aXRoQ3JlZGVudGlhbHM/OiBib29sZWFuO1xuICAgIHJldHJ5PzogbnVtYmVyO1xuXG4gICAgW2tleTogc3RyaW5nXTogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9BdXRoMkNsaWVudE9wdGlvbnMge1xuICAgIGRldk1vZGU/OiBib29sZWFuO1xuICAgIGFwaU9yaWdpbjogc3RyaW5nO1xuICAgIGNsaWVudElkOiBzdHJpbmc7XG4gICAgLy8gZGVmYXVsdCB2YWx1ZSBpcyAxLG1pbiB2YWx1ZSBpcyAwLCBtYXggdmFsdWUgaXMgNVxuICAgIHJldHJ5PzogbnVtYmVyO1xuICAgIGJhc2VSZXF1ZXN0PzogPFQ+KHVybDogc3RyaW5nLCBvcHRpb25zPzogUmVxdWVzdE9wdGlvbnMpID0+IFByb21pc2U8VD47XG4gICAgLy8gU3RvcmFnZSwgZGVmYXVsdCBpcyBsb2NhbFN0b3JhZ2UsIHNldEl0ZW0oaywgdiksIGdldEl0ZW0oaykscmVtb3ZlSXRlbShrKVxuICAgIHN0b3JhZ2U/OiBTaW1wbGVTdG9yYWdlO1xuICAgIGNsaWVudFNlY3JldD86IHN0cmluZztcbiAgICByZWZyZXNoVG9rZW5GdW5jPzogKHJlZnJlc2hUb2tlbj86IHN0cmluZykgPT4gUHJvbWlzZTxDcmVkZW50aWFscz47XG4gICAgLy8gc2V0IHRoZSB0b2tlbiBpbiB1cmwgcXVlcnkgaW5zdGVhZCBvZiBoZWFkZXJcbiAgICB0b2tlbkluVVJMPzogYm9vbGVhbjtcbiAgICBoZWFkZXJzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cbiJdfQ==

@@ -58,2 +58,3 @@ import { ErrorType } from './consts';

private _refreshToken;
private _anonymousSignIn;
private _defaultRefreshTokenFunc;

@@ -60,0 +61,0 @@ private _getCredentials;

@@ -89,2 +89,2 @@ "use strict";

exports.SinglePromise = SinglePromise;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXByb21pc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZnVuY3Rpb24vc2luZ2xlLXByb21pc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0E7SUFBQTtRQW1DVSxrQkFBYSxHQUE4QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUE3Qk8sMkJBQUcsR0FBVCxVQUFhLEdBQVcsRUFBRSxFQUFvQjs7Ozs7Z0JBQ3hDLE1BQU0sR0FBaUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3ZELElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ1gsTUFBTSxHQUFHLElBQUksT0FBTyxDQUFNLFVBQU8sT0FBTyxFQUFFLE1BQU07Ozs7OztvQ0FJNUMsV0FBTSxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUE7O29DQUE1QixTQUE0QixDQUFDO29DQUN2QixRQUFRLEdBQWUsRUFBRSxFQUFFLENBQUM7b0NBQ2xDLEtBQUEsT0FBTyxDQUFBO29DQUFDLFdBQU0sUUFBUSxFQUFBOztvQ0FBdEIsa0JBQVEsU0FBYyxFQUFDLENBQUM7Ozs7b0NBRXhCLE1BQU0sQ0FBQyxPQUFLLENBQUMsQ0FBQzs7O29DQUVkLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDOzs7Ozt5QkFFbEMsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztpQkFDckM7Z0JBQ0QsV0FBTyxNQUFNLEVBQUM7OztLQUNmO0lBS08sdUNBQWUsR0FBdkI7UUFDRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBR0gsb0JBQUM7QUFBRCxDQUFDLEFBcENELElBb0NDO0FBcENZLHNDQUFhIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTaW5nbGUgUHJvbWlzZVxuICovXG5leHBvcnQgY2xhc3MgU2luZ2xlUHJvbWlzZSB7XG4gIC8qKlxuICogUnVuIHNpbmdsZSBwcm9taXNlLlxuICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZm5cbiAqIEByZXR1cm4ge1Byb21pc2U8VD59XG4gKi9cbiAgYXN5bmMgcnVuPFQ+KGtleTogc3RyaW5nLCBmbjogKCkgPT4gUHJvbWlzZTxUPik6IFByb21pc2U8VD4ge1xuICAgIGxldCByZXN1bHQ6IFByb21pc2U8YW55PiA9IHRoaXMuX2ZuUHJvbWlzZU1hcC5nZXQoa2V5KTtcbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgcmVzdWx0ID0gbmV3IFByb21pc2U8YW55Pihhc3luYyAocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgLy8gVGhlIGlkbGUgcHJvbWlzZSBtdXN0IGJlIHJ1biB0byBwcmV2ZW50IF9mblByb21pc2VNYXAgZnJvbVxuICAgICAgICAgIC8vIHN0b3JpbmcgdGhlIGN1cnJlbnQgcHJvbWlzZSBmdW5jdGlvbi5cbiAgICAgICAgICBhd2FpdCB0aGlzLl9ydW5JZGxlUHJvbWlzZSgpO1xuICAgICAgICAgIGNvbnN0IGZuUmVzdWx0OiBQcm9taXNlPFQ+ID0gZm4oKTtcbiAgICAgICAgICByZXNvbHZlKGF3YWl0IGZuUmVzdWx0KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIHRoaXMuX2ZuUHJvbWlzZU1hcC5kZWxldGUoa2V5KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICB0aGlzLl9mblByb21pc2VNYXAuc2V0KGtleSwgcmVzdWx0KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICAvKipcbiAqIFJ1biBpZGxlIHByb21pc2UuXG4gKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxuICovXG4gIHByaXZhdGUgX3J1bklkbGVQcm9taXNlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZuUHJvbWlzZU1hcDogTWFwPHN0cmluZywgUHJvbWlzZTxhbnk+PiA9IG5ldyBNYXAoKTtcbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLXByb21pc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbHMvZnVuY3Rpb24vc2luZ2xlLXByb21pc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBR0E7SUFBQTtRQW1DVSxrQkFBYSxHQUE4QixJQUFJLEdBQUcsRUFBRSxDQUFDO0lBQy9ELENBQUM7SUE3Qk8sMkJBQUcsR0FBVCxVQUFhLEdBQVcsRUFBRSxFQUFvQjs7Ozs7Z0JBQ3hDLE1BQU0sR0FBaUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3ZELElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ1gsTUFBTSxHQUFHLElBQUksT0FBTyxDQUFNLFVBQU8sT0FBTyxFQUFFLE1BQU07Ozs7OztvQ0FJNUMsV0FBTSxJQUFJLENBQUMsZUFBZSxFQUFFLEVBQUE7O29DQUE1QixTQUE0QixDQUFDO29DQUN2QixRQUFRLEdBQWUsRUFBRSxFQUFFLENBQUM7b0NBQ2xDLEtBQUEsT0FBTyxDQUFBO29DQUFDLFdBQU0sUUFBUSxFQUFBOztvQ0FBdEIsa0JBQVEsU0FBYyxFQUFDLENBQUM7Ozs7b0NBRXhCLE1BQU0sQ0FBQyxPQUFLLENBQUMsQ0FBQzs7O29DQUVkLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDOzs7Ozt5QkFFbEMsQ0FBQyxDQUFDO29CQUNILElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztpQkFDckM7Z0JBQ0QsV0FBTyxNQUFNLEVBQUM7OztLQUNmO0lBS08sdUNBQWUsR0FBdkI7UUFDRSxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBR0gsb0JBQUM7QUFBRCxDQUFDLEFBcENELElBb0NDO0FBcENZLHNDQUFhIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTaW5nbGUgUHJvbWlzZVxuICovXG5leHBvcnQgY2xhc3MgU2luZ2xlUHJvbWlzZSB7XG4gIC8qKlxuICAgKiBSdW4gc2luZ2xlIHByb21pc2UuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXlcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gZm5cbiAgICogQHJldHVybiB7UHJvbWlzZTxUPn1cbiAgICovXG4gIGFzeW5jIHJ1bjxUPihrZXk6IHN0cmluZywgZm46ICgpID0+IFByb21pc2U8VD4pOiBQcm9taXNlPFQ+IHtcbiAgICBsZXQgcmVzdWx0OiBQcm9taXNlPGFueT4gPSB0aGlzLl9mblByb21pc2VNYXAuZ2V0KGtleSk7XG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIHJlc3VsdCA9IG5ldyBQcm9taXNlPGFueT4oYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIFRoZSBpZGxlIHByb21pc2UgbXVzdCBiZSBydW4gdG8gcHJldmVudCBfZm5Qcm9taXNlTWFwIGZyb21cbiAgICAgICAgICAvLyBzdG9yaW5nIHRoZSBjdXJyZW50IHByb21pc2UgZnVuY3Rpb24uXG4gICAgICAgICAgYXdhaXQgdGhpcy5fcnVuSWRsZVByb21pc2UoKTtcbiAgICAgICAgICBjb25zdCBmblJlc3VsdDogUHJvbWlzZTxUPiA9IGZuKCk7XG4gICAgICAgICAgcmVzb2x2ZShhd2FpdCBmblJlc3VsdCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICB0aGlzLl9mblByb21pc2VNYXAuZGVsZXRlKGtleSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5fZm5Qcm9taXNlTWFwLnNldChrZXksIHJlc3VsdCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgLyoqXG4gICAqIFJ1biBpZGxlIHByb21pc2UuXG4gICAqIEByZXR1cm4ge1Byb21pc2U8dm9pZD59XG4gICAqL1xuICBwcml2YXRlIF9ydW5JZGxlUHJvbWlzZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCk7XG4gIH1cblxuICBwcml2YXRlIF9mblByb21pc2VNYXA6IE1hcDxzdHJpbmcsIFByb21pc2U8YW55Pj4gPSBuZXcgTWFwKCk7XG59XG4iXX0=
{
"name": "@cloudbase/oauth",
"version": "0.0.1-alpha.0",
"version": "0.0.2-alpha.0",
"description": "cloudbase javascript sdk auth componets",

@@ -28,3 +28,4 @@ "main": "./dist/index.js",

"typescript": "^3.8.3"
}
},
"gitHead": "c462902b6702463670d27acb88ebccf93dbd51cd"
}

@@ -1,36 +0,36 @@

/* eslint-disable @typescript-eslint/member-ordering */
'use strict';
import { ApiUrls } from './consts';
import {ApiUrls} from './consts';
import {
GetVerificationRequest,
GetVerificationResponse,
UserProfile,
UserInfo,
SignInRequest,
SignUpRequest,
VerifyRequest,
VerifyResponse,
GenProviderRedirectUriRequest,
GenProviderRedirectUriResponse,
GrantProviderTokenRequest,
GrantProviderTokenResponse,
PatchProviderTokenRequest,
PatchProviderTokenResponse,
SignInWithProviderRequest,
BindWithProviderRequest,
TransByProviderRequest,
GrantTokenRequest,
UserProfileProvider,
UnbindProviderRequest,
CheckPasswordrRequest,
BindPhoneRequest,
SetPasswordRequest,
ChangeBindedProviderRequest,
ChangeBindedProviderResponse,
QueryUserProfileReq,
GetVerificationRequest,
GetVerificationResponse,
UserProfile,
UserInfo,
SignInRequest,
SignUpRequest,
VerifyRequest,
VerifyResponse,
GenProviderRedirectUriRequest,
GenProviderRedirectUriResponse,
GrantProviderTokenRequest,
GrantProviderTokenResponse,
PatchProviderTokenRequest,
PatchProviderTokenResponse,
SignInWithProviderRequest,
BindWithProviderRequest,
TransByProviderRequest,
GrantTokenRequest,
UserProfileProvider,
UnbindProviderRequest,
CheckPasswordrRequest,
BindPhoneRequest,
SetPasswordRequest,
ChangeBindedProviderRequest,
ChangeBindedProviderResponse,
QueryUserProfileReq,
} from './models';
import { SimpleStorage } from '../oauth2client/interface';
import { OAuth2Client, defaultStorage } from '../oauth2client/oauth2client';
import { Credentials } from '../oauth2client/models';
import {SimpleStorage, RequestFunction} from '../oauth2client/interface';
import {OAuth2Client, defaultStorage} from '../oauth2client/oauth2client';
import {Credentials} from '../oauth2client/models';
import {Captcha} from '../captcha/captcha';

@@ -41,3 +41,3 @@ export interface AuthOptions {

credentialsClient?: OAuth2Client;
request?: <T>(url: string, options?: any) => Promise<T>;
request?: RequestFunction;
storage?: SimpleStorage;

@@ -51,2 +51,3 @@ }

private _config: AuthOptions;
/**

@@ -57,20 +58,28 @@ * constructor

constructor(opts: AuthOptions) {
let request = opts.request;
let oAuth2Client = opts.credentialsClient;
if (!request) {
let initOptions = {
apiOrigin: opts.apiOrigin,
clientId: opts.clientId,
storage: opts.storage,
let request = opts.request;
let oAuth2Client = opts.credentialsClient;
if (!oAuth2Client) {
const initOptions = {
apiOrigin: opts.apiOrigin,
clientId: opts.clientId,
storage: opts.storage,
};
oAuth2Client = new OAuth2Client(initOptions);
}
if (!request) {
const baseRequest = oAuth2Client.request.bind(oAuth2Client);
const captcha = new Captcha({
clientId: opts.clientId,
request: baseRequest,
storage: opts.storage,
})
request = captcha.request.bind(captcha)
}
this._config = {
apiOrigin: opts.apiOrigin,
clientId: opts.clientId,
request: request,
credentialsClient: oAuth2Client,
storage: opts.storage || defaultStorage,
};
oAuth2Client = new OAuth2Client(initOptions);
request = oAuth2Client.request.bind(oAuth2Client);
}
this._config = {
apiOrigin: opts.apiOrigin,
clientId: opts.clientId,
request: request,
credentialsClient: oAuth2Client,
storage: opts.storage || defaultStorage,
};
}

@@ -84,24 +93,33 @@

public async signIn(params: SignInRequest): Promise<Credentials> {
const captchaMeta: any = {};
if (params.username.startsWith('+')) {
captchaMeta.phone_number = params.username;
} else if (params.username.includes('@')) {
captchaMeta.email = params.username;
} else {
captchaMeta.username = params.username;
}
params.client_id = this._config.clientId;
const credentials: Credentials = await this._config.request<Credentials>(
ApiUrls.AUTH_SIGN_IN_URL,
{
method: 'POST',
body: params,
withCaptchaMeta: captchaMeta,
},
);
await this._config.credentialsClient.setCredentials(credentials);
return Promise.resolve(credentials);
params.client_id = this._config.clientId;
const credentials: Credentials = await this._config.request<Credentials>(
ApiUrls.AUTH_SIGN_IN_URL,
{
method: 'POST',
body: params
},
);
await this._config.credentialsClient.setCredentials(credentials);
return Promise.resolve(credentials);
}
/**
* Sign in Anonymously
* @return {Promise<Credentials>} A Promise<Credentials> object.
*/
public async signInAnonymously(): Promise<Credentials> {
const credentials: Credentials = await this._config.request<Credentials>(
ApiUrls.AUTH_SIGN_IN_ANONYMOUSLY_URL,
{
method: 'POST',
body: {
client_id: this._config.clientId
}
},
);
await this._config.credentialsClient.setCredentials(credentials);
return Promise.resolve(credentials);
}
/**
* Sign up.

@@ -112,12 +130,12 @@ * @param {SignUpRequest} params A SignUpRequest Object.

protected async signUp(params: SignUpRequest): Promise<Credentials> {
params.client_id = this._config.clientId;
const data: Credentials = await this._config.request<Credentials>(
ApiUrls.AUTH_SIGN_UP_URL,
{
method: 'POST',
body: params,
},
);
await this._config.credentialsClient.setCredentials(data);
return Promise.resolve(data);
params.client_id = this._config.clientId;
const data: Credentials = await this._config.request<Credentials>(
ApiUrls.AUTH_SIGN_UP_URL,
{
method: 'POST',
body: params,
},
);
await this._config.credentialsClient.setCredentials(data);
return Promise.resolve(data);
}

@@ -130,12 +148,12 @@

public async signOut(): Promise<void> {
const accessToken: string = await this._config.credentialsClient.getAccessToken();
const data = await this._config.request<void>(ApiUrls.AUTH_REVOKE_URL, {
method: 'POST',
body: {
client_id: this._config.clientId,
token: accessToken,
},
});
await this._config.credentialsClient.setCredentials();
return Promise.resolve(data);
const accessToken: string = await this._config.credentialsClient.getAccessToken();
const data = await this._config.request<void>(ApiUrls.AUTH_REVOKE_URL, {
method: 'POST',
body: {
client_id: this._config.clientId,
token: accessToken,
},
});
await this._config.credentialsClient.setCredentials();
return Promise.resolve(data);
}

@@ -149,20 +167,13 @@

public async getVerification(
params: GetVerificationRequest,
params: GetVerificationRequest,
): Promise<GetVerificationResponse> {
const captchaMeta: any = {};
if (params.phone_number) {
captchaMeta.phone_number = params.phone_number;
} else {
captchaMeta.email = params.email;
}
params.client_id = this._config.clientId;
return this._config.request<GetVerificationResponse>(
ApiUrls.VERIFICATION_URL,
{
method: 'POST',
body: params,
withCaptcha: true,
withCaptchaMeta: captchaMeta,
},
);
params.client_id = this._config.clientId;
return this._config.request<GetVerificationResponse>(
ApiUrls.VERIFICATION_URL,
{
method: 'POST',
body: params,
withCaptcha: true
},
);
}

@@ -176,7 +187,7 @@

public async verify(params: VerifyRequest): Promise<VerifyResponse> {
params.client_id = this._config.clientId;
return this._config.request<VerifyResponse>(ApiUrls.VERIFY_URL, {
method: 'POST',
body: params,
});
params.client_id = this._config.clientId;
return this._config.request<VerifyResponse>(ApiUrls.VERIFY_URL, {
method: 'POST',
body: params,
});
}

@@ -190,20 +201,21 @@

public async genProviderRedirectUri(
params: GenProviderRedirectUriRequest,
params: GenProviderRedirectUriRequest,
): Promise<GenProviderRedirectUriResponse> {
let url = `${ApiUrls.PROVIDER_URI_URL}?client_id=${this._config.clientId
}&provider_id=${params.provider_id}&redirect_uri=${encodeURIComponent(
params.provider_redirect_uri,
)}&state=${params.state}`;
const other_params = params.other_params;
if (other_params) {
if (
typeof other_params.sign_out_uri === 'string' &&
let url = `${ApiUrls.PROVIDER_URI_URL}?client_id=${
this._config.clientId
}&provider_id=${params.provider_id}&redirect_uri=${encodeURIComponent(
params.provider_redirect_uri,
)}&state=${params.state}`;
const other_params = params.other_params;
if (other_params) {
if (
typeof other_params.sign_out_uri === 'string' &&
other_params.sign_out_uri.length > 0
) {
url += `&other_params[sign_out_uri]=${other_params.sign_out_uri}`;
) {
url += `&other_params[sign_out_uri]=${other_params.sign_out_uri}`;
}
}
}
return this._config.request<GenProviderRedirectUriResponse>(url, {
method: 'GET',
});
return this._config.request<GenProviderRedirectUriResponse>(url, {
method: 'GET',
});
}

@@ -217,12 +229,12 @@

public async grantProviderToken(
params: GrantProviderTokenRequest,
params: GrantProviderTokenRequest,
): Promise<GrantProviderTokenResponse> {
params.client_id = this._config.clientId;
return this._config.request<GrantProviderTokenResponse>(
ApiUrls.PROVIDER_TOKEN_URL,
{
method: 'POST',
body: params,
},
);
params.client_id = this._config.clientId;
return this._config.request<GrantProviderTokenResponse>(
ApiUrls.PROVIDER_TOKEN_URL,
{
method: 'POST',
body: params,
},
);
}

@@ -236,12 +248,12 @@

public async patchProviderToken(
params: PatchProviderTokenRequest,
params: PatchProviderTokenRequest,
): Promise<PatchProviderTokenResponse> {
params.client_id = this._config.clientId;
return this._config.request<PatchProviderTokenResponse>(
ApiUrls.PROVIDER_TOKEN_URL,
{
method: 'PATCH',
body: params,
},
);
params.client_id = this._config.clientId;
return this._config.request<PatchProviderTokenResponse>(
ApiUrls.PROVIDER_TOKEN_URL,
{
method: 'PATCH',
body: params,
},
);
}

@@ -255,14 +267,14 @@

public async signInWithProvider(
params: SignInWithProviderRequest,
params: SignInWithProviderRequest,
): Promise<Credentials> {
params.client_id = this._config.clientId;
const credentials: Credentials = await this._config.request<Credentials>(
ApiUrls.AUTH_SIGN_IN_WITH_PROVIDER_URL,
{
method: 'POST',
body: params,
},
);
await this._config.credentialsClient.setCredentials(credentials);
return Promise.resolve(credentials);
params.client_id = this._config.clientId;
const credentials: Credentials = await this._config.request<Credentials>(
ApiUrls.AUTH_SIGN_IN_WITH_PROVIDER_URL,
{
method: 'POST',
body: params,
},
);
await this._config.credentialsClient.setCredentials(credentials);
return Promise.resolve(credentials);
}

@@ -276,10 +288,10 @@

public async bindWithProvider(
params: BindWithProviderRequest,
params: BindWithProviderRequest,
): Promise<void> {
params.client_id = this._config.clientId;
return this._config.request<any>(ApiUrls.PROVIDER_BIND_URL, {
method: 'POST',
body: params,
withCredentials: true,
});
params.client_id = this._config.clientId;
return this._config.request<any>(ApiUrls.PROVIDER_BIND_URL, {
method: 'POST',
body: params,
withCredentials: true,
});
}

@@ -292,3 +304,3 @@

public async getUserProfile(): Promise<UserProfile> {
return this.getUserInfo();
return this.getUserInfo();
}

@@ -301,9 +313,22 @@

public async getUserInfo(): Promise<UserInfo> {
return this._config.request<UserInfo>(ApiUrls.USER_ME_URL, {
method: 'GET',
withCredentials: true,
});
return this._config.request<UserInfo>(ApiUrls.USER_ME_URL, {
method: 'GET',
withCredentials: true,
});
}
/**
* hasLoginState check if has login state
* @return {Promise<boolean>} A Promise<boolean> object.
*/
public async hasLoginState(): Promise<boolean> {
try {
await this._config.credentialsClient.getAccessToken()
return true
} catch (error) {
return false
}
}
/**
* Trans by provider.

@@ -314,12 +339,12 @@ * @param {TransByProviderRequest} params A TransByProviderRequest object.

public async transByProvider(
params: TransByProviderRequest,
params: TransByProviderRequest,
): Promise<Credentials> {
return this._config.request<Credentials>(
ApiUrls.USER_TRANS_BY_PROVIDER_URL,
{
method: 'PATCH',
body: params,
withCredentials: true,
},
);
return this._config.request<Credentials>(
ApiUrls.USER_TRANS_BY_PROVIDER_URL,
{
method: 'PATCH',
body: params,
withCredentials: true,
},
);
}

@@ -333,7 +358,7 @@

public async grantToken(params: GrantTokenRequest): Promise<Credentials> {
params.client_id = this._config.clientId;
return this._config.request<Credentials>(ApiUrls.AUTH_TOKEN_URL, {
method: 'POST',
body: params,
});
params.client_id = this._config.clientId;
return this._config.request<Credentials>(ApiUrls.AUTH_TOKEN_URL, {
method: 'POST',
body: params,
});
}

@@ -346,6 +371,6 @@

public async getProviders(): Promise<UserProfileProvider> {
return this._config.request<UserProfileProvider>(ApiUrls.PROVIDER_LIST, {
method: 'GET',
withCredentials: true,
});
return this._config.request<UserProfileProvider>(ApiUrls.PROVIDER_LIST, {
method: 'GET',
withCredentials: true,
});
}

@@ -359,10 +384,10 @@

public async unbindProvider(params: UnbindProviderRequest): Promise<void> {
params.client_id = this._config.clientId;
return this._config.request<any>(
`${ApiUrls.PROVIDER_UNBIND_URL}/${params.provider_id}`,
{
method: 'DELETE',
withCredentials: true,
},
);
params.client_id = this._config.clientId;
return this._config.request<any>(
`${ApiUrls.PROVIDER_UNBIND_URL}/${params.provider_id}`,
{
method: 'DELETE',
withCredentials: true,
},
);
}

@@ -376,7 +401,7 @@

public async checkPassword(params: CheckPasswordrRequest): Promise<void> {
return this._config.request<any>(`${ApiUrls.CHECK_PWD_URL}`, {
method: 'POST',
withCredentials: true,
body: params,
});
return this._config.request<any>(`${ApiUrls.CHECK_PWD_URL}`, {
method: 'POST',
withCredentials: true,
body: params,
});
}

@@ -390,7 +415,7 @@

public async bindPhone(params: BindPhoneRequest): Promise<void> {
return this._config.request<any>(`${ApiUrls.BIND_PHONE_URL}`, {
method: 'PATCH',
withCredentials: true,
body: params,
});
return this._config.request<any>(`${ApiUrls.BIND_PHONE_URL}`, {
method: 'PATCH',
withCredentials: true,
body: params,
});
}

@@ -404,7 +429,7 @@

public async setPassword(params: SetPasswordRequest): Promise<void> {
return this._config.request<any>(`${ApiUrls.AUTH_SET_PASSWORD}`, {
method: 'PATCH',
withCredentials: true,
body: params,
});
return this._config.request<any>(`${ApiUrls.AUTH_SET_PASSWORD}`, {
method: 'PATCH',
withCredentials: true,
body: params,
});
}

@@ -418,17 +443,15 @@

public async getCurUserVerification(
params: GetVerificationRequest,
params: GetVerificationRequest,
): Promise<GetVerificationResponse> {
const captchaMeta: any = {};
params.client_id = this._config.clientId;
params.target = 'CUR_USER';
return this._config.request<GetVerificationResponse>(
ApiUrls.VERIFICATION_URL,
{
method: 'POST',
body: params,
withCredentials: true,
withCaptcha: true,
withCaptchaMeta: captchaMeta,
},
);
params.client_id = this._config.clientId;
params.target = 'CUR_USER';
return this._config.request<GetVerificationResponse>(
ApiUrls.VERIFICATION_URL,
{
method: 'POST',
body: params,
withCredentials: true,
withCaptcha: true
},
);
}

@@ -442,15 +465,15 @@

public async changeBindedProvider(
params: ChangeBindedProviderRequest,
params: ChangeBindedProviderRequest,
): Promise<ChangeBindedProviderResponse> {
params.client_id = this._config.clientId;
return this._config.request<ChangeBindedProviderResponse>(
`${ApiUrls.PROVIDER_LIST}/${params.provider_id}/trans`,
{
method: 'POST',
body: {
provider_trans_token: params.trans_token,
},
withCredentials: true,
},
);
params.client_id = this._config.clientId;
return this._config.request<ChangeBindedProviderResponse>(
`${ApiUrls.PROVIDER_LIST}/${params.provider_id}/trans`,
{
method: 'POST',
body: {
provider_trans_token: params.trans_token,
},
withCredentials: true,
},
);
}

@@ -464,7 +487,7 @@

public async setUserProfile(params: UserProfile): Promise<UserProfile> {
return this._config.request<UserProfile>(ApiUrls.USER_PRIFILE_URL, {
method: 'PATCH',
body: params,
withCredentials: true,
});
return this._config.request<UserProfile>(ApiUrls.USER_PRIFILE_URL, {
method: 'PATCH',
body: params,
withCredentials: true,
});
}

@@ -478,10 +501,10 @@

public async queryUserProfile(
appended_params: QueryUserProfileReq,
appended_params: QueryUserProfileReq,
): Promise<UserProfile> {
const url = `${ApiUrls.USER_QUERY_URL}${appended_params}`;
return this._config.request<UserProfile>(url, {
method: 'GET',
withCredentials: true,
});
const url = `${ApiUrls.USER_QUERY_URL}${appended_params}`;
return this._config.request<UserProfile>(url, {
method: 'GET',
withCredentials: true,
});
}
}
export enum ApiUrls {
AUTH_SIGN_IN_URL = '/auth/v1/signin',
AUTH_SIGN_IN_ANONYMOUSLY_URL = '/auth/v1/signin/anonymously',
AUTH_SIGN_IN_WITH_PROVIDER_URL = '/auth/v1/signin/with/provider',

@@ -4,0 +5,0 @@ AUTH_SIGN_UP_URL = '/auth/v1/signup',

@@ -171,4 +171,3 @@ interface BaseRequest {

// eslint-disable-next-line @typescript-eslint/no-empty-interface
export interface ChangeBindedProviderResponse extends BaseRequest { }
export type ChangeBindedProviderResponse = BaseRequest

@@ -175,0 +174,0 @@ export interface QueryUserProfileReq extends BaseRequest {

@@ -24,3 +24,2 @@ export enum Syntax {

LOCAL = 'local',
// Reuse grpc status codes
CANCELLED = 'cancelled',

@@ -27,0 +26,0 @@ UNKNOWN = 'unknown',

@@ -1,2 +0,2 @@

import { Credentials, AuthClientRequestOptions } from './models';
import {Credentials, AuthClientRequestOptions} from './models';

@@ -18,6 +18,3 @@ /**

*/
abstract request<T>(
url: string,
options?: AuthClientRequestOptions,
): Promise<T>;
abstract request: RequestFunction;

@@ -32,2 +29,4 @@ /**

export type RequestFunction = <T>(url: string,options?: AuthClientRequestOptions) => Promise<T>;
/** An interface of the Simple Web Storage API */

@@ -38,11 +37,11 @@ export interface SimpleStorage {

*/
getItem: (key: string) => Promise<string | null>;
getItem(key: string): Promise<string | null>;
/**
* delete storage[key]
*/
removeItem: (key: string) => Promise<void>;
removeItem(key: string): Promise<void>;
/**
* storage[key] = value
*/
setItem: (key: string, value: string) => Promise<void>;
setItem(key: string, value: string): Promise<void>;
}

@@ -6,8 +6,9 @@ import {SimpleStorage} from './interface';

export interface Credentials {
token_type?: string | null;
access_token?: string | null;
refresh_token?: string | null;
expires_in?: number | null;
expires_at?: Date | null;
user_id?: string | null;
token_type?: string | null;
access_token?: string | null;
refresh_token?: string | null;
scope?: string | null;
expires_in?: number | null;
expires_at?: Date | null;
sub?: string | null;
}

@@ -17,44 +18,46 @@

export interface ResponseError {
error: ErrorType;
error_description?: string | null;
error_uri?: string | null;
details?: any | null;
error: ErrorType;
error_description?: string | null;
error_uri?: string | null;
details?: any | null;
}
export interface RequestOptions {
body?: any | null;
headers?: any | null;
method?: string;
[key: string]: any;
body?: any | null;
headers?: any | null;
method?: string;
[key: string]: any;
}
export type RequestFunction = <T>(
url: string,
options?: RequestOptions,
url: string,
options?: RequestOptions,
) => Promise<T>;
export interface AuthClientRequestOptions extends RequestOptions {
headers?: {
'x-request-id'?: string;
headers?: {
'x-request-id'?: string;
[key: string]: any;
} | null;
withCredentials?: boolean;
retry?: number;
[key: string]: any;
} | null;
withCredentials?: boolean;
retry?: number;
[key: string]: any;
}
export interface OAuth2ClientOptions {
devMode?: boolean;
apiOrigin: string;
clientId: string;
// default value is 1,min value is 0, max value is 5
retry?: number;
baseRequest?: <T>(url: string, options?: RequestOptions) => Promise<T>;
// Storage, default is localStorage, setItem(k, v), getItem(k),removeItem(k)
storage?: SimpleStorage;
clientSecret?: string;
refreshTokenFunc?: (refreshToken?: string) => Promise<Credentials>;
// set the token in url query instead of header
tokenInURL?: boolean;
headers?: {[key: string]: string};
devMode?: boolean;
apiOrigin: string;
clientId: string;
// default value is 1,min value is 0, max value is 5
retry?: number;
baseRequest?: <T>(url: string, options?: RequestOptions) => Promise<T>;
// Storage, default is localStorage, setItem(k, v), getItem(k),removeItem(k)
storage?: SimpleStorage;
clientSecret?: string;
refreshTokenFunc?: (refreshToken?: string) => Promise<Credentials>;
// set the token in url query instead of header
tokenInURL?: boolean;
headers?: { [key: string]: string };
}

@@ -1,4 +0,4 @@

import { ErrorType } from './consts';
import {ErrorType} from './consts';
import { AuthClient, SimpleStorage } from './interface';
import {AuthClient, SimpleStorage} from './interface';

@@ -14,5 +14,5 @@ import {

import { uuidv4 } from '../utils/uuid';
import {uuidv4} from '../utils/uuid';
import { SinglePromise } from '../utils/function/single-promise';
import {SinglePromise} from '../utils/function/single-promise';

@@ -47,3 +47,3 @@ const RequestIdHeaderName = 'x-request-id';

const jsonResponse = await responseResult.json();
if (jsonResponse?.error) {
if (jsonResponse && jsonResponse.error) {
responseError = jsonResponse as ResponseError;

@@ -147,3 +147,3 @@ responseError.error_uri = new URL(url).pathname;

let isExpired = true;
if (credentials?.expires_at && credentials.access_token) {
if (credentials && credentials.expires_at && credentials.access_token) {
isExpired = credentials.expires_at < new Date();

@@ -182,3 +182,3 @@ }

public async setCredentials(credentials?: Credentials): Promise<void> {
if (credentials?.expires_in) {
if (credentials && credentials.expires_in) {
credentials.expires_at = new Date(

@@ -225,3 +225,3 @@ Date.now() + (credentials.expires_in - 30) * 1000,

credentials = JSON.parse(tokenStr);
if (credentials?.expires_at) {
if (credentials && credentials.expires_at) {
credentials.expires_at = new Date(credentials.expires_at);

@@ -243,3 +243,3 @@ }

export class OAuth2Client implements AuthClient {
private static _defaultRetry = 1;
private static _defaultRetry = 2;
private static _minRetry = 0;

@@ -305,6 +305,6 @@ private static _maxRetry = 5;

const credentials: Credentials = await this._getCredentials();
if (credentials?.access_token) {
if (credentials && credentials.access_token) {
return Promise.resolve(credentials.access_token);
}
return Promise.reject({ error: ErrorType.UNAUTHENTICATED } as ResponseError);
return Promise.reject({error: ErrorType.UNAUTHENTICATED} as ResponseError);
}

@@ -336,5 +336,6 @@

if (!options.headers[DeviceIdHeaderName]) {
options.headers[DeviceIdHeaderName] = this._getDeviceId();
const deviceId = await this._getDeviceId();
options.headers[DeviceIdHeaderName] = deviceId;
}
if (options?.withCredentials) {
if (options && options.withCredentials) {
const credentials = await this._getCredentials();

@@ -443,3 +444,3 @@ if (credentials) {

if (!credentials || !credentials.refresh_token) {
return this._unAuthenticatedError('no refresh token found');
return this._unAuthenticatedError('no refresh token found in credentials');
}

@@ -451,2 +452,3 @@ try {

await this._localCredentials.setCredentials(newCredentials);
return newCredentials
} catch (error) {

@@ -459,3 +461,2 @@ if (error.error === ErrorType.INVALID_GRANT) {

}
return this._localCredentials.getCredentials();
});

@@ -465,2 +466,32 @@ }

/**
* anonymous signIn
* @param {Credentials} credentials
* @return {Promise<Credentials>}
*/
private async _anonymousSignIn(credentials: Credentials): Promise<Credentials> {
return this._singlePromise.run('_anonymous', async () => {
if (!credentials || credentials.scope !== 'anonymous') {
return this._unAuthenticatedError('no anonymous in credentials');
}
try {
const newCredentials: Credentials = await this.request('/auth/v1/signin/anonymously', {
method: 'POST',
body: {
client_id: this._clientId,
client_secret: this._clientSecret,
},
});
await this._localCredentials.setCredentials(newCredentials);
return newCredentials
} catch (error) {
if (error.error === ErrorType.INVALID_GRANT) {
await this._localCredentials.setCredentials(null);
return this._unAuthenticatedError(error.error_description);
}
return Promise.reject(error);
}
});
}
/**
* Default refresh token function.

@@ -493,3 +524,7 @@ * @param {string} refreshToken

if (isCredentialsExpired(credentials)) {
credentials = await this._refreshToken(credentials);
if (credentials && credentials.scope === 'anonymous') {
credentials = await this. _anonymousSignIn(credentials)
} else {
credentials = await this._refreshToken(credentials);
}
}

@@ -496,0 +531,0 @@ return credentials;

@@ -6,7 +6,7 @@ /**

/**
* Run single promise.
* @param {string} key
* @param {Function} fn
* @return {Promise<T>}
*/
* Run single promise.
* @param {string} key
* @param {Function} fn
* @return {Promise<T>}
*/
async run<T>(key: string, fn: () => Promise<T>): Promise<T> {

@@ -33,5 +33,5 @@ let result: Promise<any> = this._fnPromiseMap.get(key);

/**
* Run idle promise.
* @return {Promise<void>}
*/
* Run idle promise.
* @return {Promise<void>}
*/
private _runIdlePromise(): Promise<void> {

@@ -38,0 +38,0 @@ return Promise.resolve();

Sorry, the diff of this file is too big to display

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