com.phloxui
Version:
PhloxUI Ng2+ Framework
319 lines (318 loc) • 22.3 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Injectable, InjectionToken, Inject } from '@angular/core';
import { Http } from '@angular/http';
import { BackgroundProcessManager } from './BackgroundProcessManager.service';
import { DefaultConnectionManager } from '../share/DefaultConnectionManager';
export const /** @type {?} */ APP_BASE_URLS = new InjectionToken("APP_BASE_URLS");
/**
* <p style="text-indent: 2em;">
* A <code>ng</code> service class implementing [[IConnectionManager]] service interface. Please see [[IConnectionManager]] for more details.
* </p>
*
* @author shiorin, tee4cute
*/
export class ConnectionManager {
/**
* @param {?} APP_BASE_URLS
* @param {?} http
* @param {?} bgProcessMgr
*/
constructor(APP_BASE_URLS, http, bgProcessMgr) {
this.defConnectionManager = new DefaultConnectionManager(APP_BASE_URLS, http, bgProcessMgr);
}
/**
* @return {?}
*/
getPhloxAppInfo() {
return this.defConnectionManager.getPhloxAppInfo();
}
/**
* @param {?} phloxAppInfo
* @return {?}
*/
setPhloxAppInfo(phloxAppInfo) {
this.defConnectionManager.setPhloxAppInfo(phloxAppInfo);
}
/**
* @param {?} url
* @param {?} requestOptionsArgs
* @return {?}
*/
get(url, requestOptionsArgs) {
return this.defConnectionManager.get(url, requestOptionsArgs);
}
/**
* @param {?} url
* @param {?} requestOptionsArgs
* @return {?}
*/
getWithHttpInfo(url, requestOptionsArgs) {
return this.defConnectionManager.getWithHttpInfo(url, requestOptionsArgs);
}
/**
* @param {?} url
* @param {?} body
* @param {?} requestOptionsArgs
* @return {?}
*/
post(url, body, requestOptionsArgs) {
return this.defConnectionManager.post(url, body, requestOptionsArgs);
}
/**
* @param {?} url
* @param {?} body
* @param {?} requestOptionsArgs
* @return {?}
*/
postWithHttpInfo(url, body, requestOptionsArgs) {
return this.defConnectionManager.postWithHttpInfo(url, body, requestOptionsArgs);
}
/**
* @param {?} url
* @param {?} body
* @param {?} requestOptionsArgs
* @return {?}
*/
put(url, body, requestOptionsArgs) {
return this.defConnectionManager.put(url, body, requestOptionsArgs);
}
/**
* @param {?} url
* @param {?} body
* @param {?} requestOptionsArgs
* @return {?}
*/
putWithHttpInfo(url, body, requestOptionsArgs) {
return this.defConnectionManager.putWithHttpInfo(url, body, requestOptionsArgs);
}
/**
* @param {?} url
* @param {?} requestOptionsArgs
* @return {?}
*/
delete(url, requestOptionsArgs) {
return this.defConnectionManager.delete(url, requestOptionsArgs);
}
/**
* @param {?} url
* @param {?} requestOptionsArgs
* @return {?}
*/
deleteWithHttpInfo(url, requestOptionsArgs) {
return this.defConnectionManager.deleteWithHttpInfo(url, requestOptionsArgs);
}
/**
* @param {?} url
* @param {?} body
* @param {?} requestOptionsArgs
* @return {?}
*/
patch(url, body, requestOptionsArgs) {
return this.defConnectionManager.patch(url, body, requestOptionsArgs);
}
/**
* @param {?} url
* @param {?} body
* @param {?} requestOptionsArgs
* @return {?}
*/
patchWithHttpInfo(url, body, requestOptionsArgs) {
return this.defConnectionManager.patchWithHttpInfo(url, body, requestOptionsArgs);
}
/**
* @param {?} url
* @param {?} requestOptionsArgs
* @return {?}
*/
head(url, requestOptionsArgs) {
return this.defConnectionManager.head(url, requestOptionsArgs);
}
/**
* @param {?} url
* @param {?} requestOptionsArgs
* @return {?}
*/
headWithHttpInfo(url, requestOptionsArgs) {
return this.defConnectionManager.headWithHttpInfo(url, requestOptionsArgs);
}
/**
* @param {?} url
* @param {?} requestOptionsArgs
* @return {?}
*/
options(url, requestOptionsArgs) {
return this.defConnectionManager.options(url, requestOptionsArgs);
}
/**
* @param {?} url
* @param {?} requestOptionsArgs
* @return {?}
*/
optionsWithHttpInfo(url, requestOptionsArgs) {
return this.defConnectionManager.optionsWithHttpInfo(url, requestOptionsArgs);
}
/**
* @param {?} url
* @param {?} requestOptionsArgs
* @return {?}
*/
request(url, requestOptionsArgs) {
return this.defConnectionManager.request(url, requestOptionsArgs);
}
/**
* @param {?} url
* @param {?} requestOptionsArgs
* @return {?}
*/
requestWithHttpInfo(url, requestOptionsArgs) {
return this.defConnectionManager.requestWithHttpInfo(url, requestOptionsArgs);
}
/**
* @param {?=} option
* @return {?}
*/
getRunningProcessesCount(option) {
return this.defConnectionManager.getRunningProcessesCount(option);
}
/**
* @param {?=} option
* @return {?}
*/
getRunningProcesses(option) {
return this.defConnectionManager.getRunningProcesses(option);
}
/**
* @return {?}
*/
getConnectionQuality() {
return this.defConnectionManager.getConnectionQuality();
}
/**
* @param {?} url
* @return {?}
*/
addBaseURLs(url) {
return this.defConnectionManager.addBaseURLs(url);
}
/**
* @param {?} urls
* @return {?}
*/
setBaseURLs(urls) {
this.defConnectionManager.setBaseURLs(urls);
}
/**
* @return {?}
*/
resetBaseURLs() {
this.defConnectionManager.resetBaseURLs();
}
/**
* @param {?} key
* @param {?} value
* @return {?}
*/
setDefaultHeader(key, value) {
this.defConnectionManager.setDefaultHeader(key, value);
}
/**
* @param {?} key
* @return {?}
*/
removeDefaultHeader(key) {
this.defConnectionManager.removeDefaultHeader(key);
}
/**
* @return {?}
*/
resetDefaultHeaders() {
this.defConnectionManager.resetDefaultHeaders();
}
/**
* @param {?} key
* @param {?} value
* @return {?}
*/
setSearch(key, value) {
this.defConnectionManager.setSearch(key, value);
}
/**
* @param {?} key
* @return {?}
*/
removeSearch(key) {
this.defConnectionManager.removeSearch(key);
}
/**
* @return {?}
*/
resetSearch() {
this.defConnectionManager.resetSearch();
}
/**
* @param {?} key
* @param {?} value
* @return {?}
*/
setParam(key, value) {
this.defConnectionManager.setParam(key, value);
}
/**
* @param {?} key
* @return {?}
*/
removeParam(key) {
this.defConnectionManager.removeParam(key);
}
/**
* @return {?}
*/
resetParams() {
this.defConnectionManager.resetParams();
}
/**
* @return {?}
*/
getName() {
return this.defConnectionManager.getName();
}
/**
* @param {?} name
* @return {?}
*/
setName(name) {
this.defConnectionManager.setName(name);
}
/**
* @template R
* @param {?} type
* @return {?}
*/
createResource(type) {
return this.defConnectionManager.createResource(type);
}
}
ConnectionManager.decorators = [
{ type: Injectable },
];
/** @nocollapse */
ConnectionManager.ctorParameters = () => [
{ type: undefined, decorators: [{ type: Inject, args: [APP_BASE_URLS,] },] },
{ type: Http, },
{ type: BackgroundProcessManager, },
];
function ConnectionManager_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
ConnectionManager.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
ConnectionManager.ctorParameters;
/** @type {?} */
ConnectionManager.prototype.defConnectionManager;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29ubmVjdGlvbk1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2UvQ29ubmVjdGlvbk1hbmFnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxJQUFJLEVBQXlELE1BQU0sZUFBZSxDQUFDO0FBSTVGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBRTlFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRTdFLE1BQU0sQ0FBQyx1QkFBTSxhQUFhLEdBQUcsSUFBSSxjQUFjLENBQW9CLGVBQWUsQ0FBQyxDQUFDOzs7Ozs7OztBQVVwRixNQUFNOzs7Ozs7SUFJSixZQUFrQyxhQUFhLEVBQUUsSUFBVSxFQUFFLFlBQXNDO1FBQ2pHLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLHdCQUF3QixDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7S0FDN0Y7Ozs7SUFFTSxlQUFlO1FBQ3BCLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsZUFBZSxFQUFFLENBQUM7Ozs7OztJQUc5QyxlQUFlLENBQUMsWUFBMEI7UUFDL0MsSUFBSSxDQUFDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQzs7Ozs7OztJQUduRCxHQUFHLENBQUMsR0FBVyxFQUFFLGtCQUF1QjtRQUM3QyxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsa0JBQWtCLENBQUMsQ0FBQzs7Ozs7OztJQUd6RCxlQUFlLENBQUMsR0FBVyxFQUFFLGtCQUF1QjtRQUN6RCxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixD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Ozs7SUFHdkMsV0FBVztRQUNoQixJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUM7Ozs7Ozs7SUFHbkMsUUFBUSxDQUFDLEdBQVcsRUFBRSxLQUFVO1FBQ3JDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDOzs7Ozs7SUFHMUMsV0FBVyxDQUFDLEdBQVc7UUFDNUIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQzs7Ozs7SUFHdEMsV0FBVztRQUNoQixJQUFJLENBQUMsb0JBQW9CLENBQUMsV0FBVyxFQUFFLENBQUM7Ozs7O0lBR25DLE9BQU87UUFDWixNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sRUFBRSxDQUFDOzs7Ozs7SUFHdEMsT0FBTyxDQUFDLElBQVk7UUFDekIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzs7Ozs7OztJQUduQyxjQUFjLENBQW1DLElBQTJDO1FBQ2pHLE1BQU0sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDOzs7O1lBdEp6RCxVQUFVOzs7OzRDQUtJLE1BQU0sU0FBQyxhQUFhO1lBdEIxQixJQUFJO1lBSUosd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSHR0cCwgUmVzcG9uc2UsIEhlYWRlcnMsIFJlcXVlc3RPcHRpb25zLCBSZXF1ZXN0T3B0aW9uc0FyZ3MgfSBmcm9tICdAYW5ndWxhci9odHRwJztcbmltcG9ydCB7IElDb25uZWN0aW9uTWFuYWdlciB9IGZyb20gJy4uL3NoYXJlL0lDb25uZWN0aW9uTWFuYWdlcic7XG5pbXBvcnQgeyBQaGxveEFwcEluZm8gfSBmcm9tICcuLi9jb21wb25lbnQvbW9kZWwvUGhsb3hBcHBJbmZvJztcbmltcG9ydCB7IEJhY2tncm91bmRQcm9jZXNzIH0gZnJvbSAnLi4vc2hhcmUvbW9kZWwvQmFja2dyb3VuZFByb2Nlc3MnO1xuaW1wb3J0IHsgQmFja2dyb3VuZFByb2Nlc3NNYW5hZ2VyIH0gZnJvbSAnLi9CYWNrZ3JvdW5kUHJvY2Vzc01hbmFnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFNlcnZlclJlc291cmNlIH0gZnJvbSAnLi4vc2hhcmUvQWJzdHJhY3RTZXJ2ZXJSZXNvdXJjZSc7XG5pbXBvcnQgeyBEZWZhdWx0Q29ubmVjdGlvbk1hbmFnZXIgfSBmcm9tICcuLi9zaGFyZS9EZWZhdWx0Q29ubmVjdGlvbk1hbmFnZXInO1xuXG5leHBvcnQgY29uc3QgQVBQX0JBU0VfVVJMUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmcgfCBzdHJpbmdbXT4oXCJBUFBfQkFTRV9VUkxTXCIpO1xuXG4vKipcbiAqIDxwIHN0eWxlPVwidGV4dC1pbmRlbnQ6IDJlbTtcIj5cbiAqIEEgPGNvZGU+bmc8L2NvZGU+IHNlcnZpY2UgY2xhc3MgaW1wbGVtZW50aW5nIFtbSUNvbm5lY3Rpb25NYW5hZ2VyXV0gc2VydmljZSBpbnRlcmZhY2UuIFBsZWFzZSBzZWUgW1tJQ29ubmVjdGlvbk1hbmFnZXJdXSBmb3IgbW9yZSBkZXRhaWxzLlxuICogPC9wPlxuICpcbiAqIEBhdXRob3Igc2hpb3JpbiwgdGVlNGN1dGVcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbm5lY3Rpb25NYW5hZ2VyIGltcGxlbWVudHMgSUNvbm5lY3Rpb25NYW5hZ2VyIHtcblxuICBwcm90ZWN0ZWQgZGVmQ29ubmVjdGlvbk1hbmFnZXI6IERlZmF1bHRDb25uZWN0aW9uTWFuYWdlcjtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KEFQUF9CQVNFX1VSTFMpQVBQX0JBU0VfVVJMUywgaHR0cDogSHR0cCwgYmdQcm9jZXNzTWdyOiBCYWNrZ3JvdW5kUHJvY2Vzc01hbmFnZXIpIHtcbiAgICB0aGlzLmRlZkNvbm5lY3Rpb25NYW5hZ2VyID0gbmV3IERlZmF1bHRDb25uZWN0aW9uTWFuYWdlcihBUFBfQkFTRV9VUkxTLCBodHRwLCBiZ1Byb2Nlc3NNZ3IpO1xuICB9XG5cbiAgcHVibGljIGdldFBobG94QXBwSW5mbygpOiBQaGxveEFwcEluZm8ge1xuICAgIHJldHVybiB0aGlzLmRlZkNvbm5lY3Rpb25NYW5hZ2VyLmdldFBobG94QXBwSW5mbygpO1xuICB9XG5cbiAgcHVibGljIHNldFBobG94QXBwSW5mbyhwaGxveEFwcEluZm86IFBobG94QXBwSW5mbyk6IHZvaWQge1xuICAgIHRoaXMuZGVmQ29ubmVjdGlvbk1hbmFnZXIuc2V0UGhsb3hBcHBJbmZvKHBobG94QXBwSW5mbyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0KHVybDogc3RyaW5nLCByZXF1ZXN0T3B0aW9uc0FyZ3M6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZGVmQ29ubmVjdGlvbk1hbmFnZXIuZ2V0KHVybCwgcmVxdWVzdE9wdGlvbnNBcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXRXaXRoSHR0cEluZm8odXJsOiBzdHJpbmcsIHJlcXVlc3RPcHRpb25zQXJnczogYW55KTogUHJvbWlzZTxSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmRlZkNvbm5lY3Rpb25NYW5hZ2VyLmdldFdpdGhIdHRwSW5mbyh1cmwsIHJlcXVlc3RPcHRpb25zQXJncyk7XG4gIH1cblxuICBwdWJsaWMgcG9zdCh1cmw6IHN0cmluZywgYm9keTogYW55LCByZXF1ZXN0T3B0aW9uc0FyZ3M6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZGVmQ29ubmVjdGlvbk1hbmFnZXIucG9zdCh1cmwsIGJvZHksIHJlcXVlc3RPcHRpb25zQXJncyk7XG4gIH1cblxuICBwdWJsaWMgcG9zdFdpdGhIdHRwSW5mbyh1cmw6IHN0cmluZywgYm9keTogYW55LCByZXF1ZXN0T3B0aW9uc0FyZ3M6IGFueSk6IFByb21pc2U8UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5kZWZDb25uZWN0aW9uTWFuYWdlci5wb3N0V2l0aEh0dHBJbmZvKHVybCwgYm9keSwgcmVxdWVzdE9wdGlvbnNBcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyBwdXQodXJsOiBzdHJpbmcsIGJvZHk6IGFueSwgcmVxdWVzdE9wdGlvbnNBcmdzOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmRlZkNvbm5lY3Rpb25NYW5hZ2VyLnB1dCh1cmwsIGJvZHksIHJlcXVlc3RPcHRpb25zQXJncyk7XG4gIH1cblxuICBwdWJsaWMgcHV0V2l0aEh0dHBJbmZvKHVybDogc3RyaW5nLCBib2R5OiBhbnksIHJlcXVlc3RPcHRpb25zQXJnczogYW55KTogUHJvbWlzZTxSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmRlZkNvbm5lY3Rpb25NYW5hZ2VyLnB1dFdpdGhIdHRwSW5mbyh1cmwsIGJvZHksIHJlcXVlc3RPcHRpb25zQXJncyk7XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlKHVybDogc3RyaW5nLCByZXF1ZXN0T3B0aW9uc0FyZ3M6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZGVmQ29ubmVjdGlvbk1hbmFnZXIuZGVsZXRlKHVybCwgcmVxdWVzdE9wdGlvbnNBcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyBkZWxldGVXaXRoSHR0cEluZm8odXJsOiBzdHJpbmcsIHJlcXVlc3RPcHRpb25zQXJnczogYW55KTogUHJvbWlzZTxSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmRlZkNvbm5lY3Rpb25NYW5hZ2VyLmRlbGV0ZVdpdGhIdHRwSW5mbyh1cmwsIHJlcXVlc3RPcHRpb25zQXJncyk7XG4gIH1cblxuICBwdWJsaWMgcGF0Y2godXJsOiBzdHJpbmcsIGJvZHk6IGFueSwgcmVxdWVzdE9wdGlvbnNBcmdzOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmRlZkNvbm5lY3Rpb25NYW5hZ2VyLnBhdGNoKHVybCwgYm9keSwgcmVxdWVzdE9wdGlvbnNBcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXRjaFdpdGhIdHRwSW5mbyh1cmw6IHN0cmluZywgYm9keTogYW55LCByZXF1ZXN0T3B0aW9uc0FyZ3M6IGFueSk6IFByb21pc2U8UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5kZWZDb25uZWN0aW9uTWFuYWdlci5wYXRjaFdpdGhIdHRwSW5mbyh1cmwsIGJvZHksIHJlcXVlc3RPcHRpb25zQXJncyk7XG4gIH1cblxuICBwdWJsaWMgaGVhZCh1cmw6IHN0cmluZywgcmVxdWVzdE9wdGlvbnNBcmdzOiBhbnkpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmRlZkNvbm5lY3Rpb25NYW5hZ2VyLmhlYWQodXJsLCByZXF1ZXN0T3B0aW9uc0FyZ3MpO1xuICB9XG5cbiAgcHVibGljIGhlYWRXaXRoSHR0cEluZm8odXJsOiBzdHJpbmcsIHJlcXVlc3RPcHRpb25zQXJnczogYW55KTogUHJvbWlzZTxSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLmRlZkNvbm5lY3Rpb25NYW5hZ2VyLmhlYWRXaXRoSHR0cEluZm8odXJsLCByZXF1ZXN0T3B0aW9uc0FyZ3MpO1xuICB9XG5cbiAgcHVibGljIG9wdGlvbnModXJsOiBzdHJpbmcsIHJlcXVlc3RPcHRpb25zQXJnczogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gdGhpcy5kZWZDb25uZWN0aW9uTWFuYWdlci5vcHRpb25zKHVybCwgcmVxdWVzdE9wdGlvbnNBcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyBvcHRpb25zV2l0aEh0dHBJbmZvKHVybDogc3RyaW5nLCByZXF1ZXN0T3B0aW9uc0FyZ3M6IGFueSk6IFByb21pc2U8UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5kZWZDb25uZWN0aW9uTWFuYWdlci5vcHRpb25zV2l0aEh0dHBJbmZvKHVybCwgcmVxdWVzdE9wdGlvbnNBcmdzKTtcbiAgfVxuXG4gIHB1YmxpYyByZXF1ZXN0KHVybDogc3RyaW5nLCByZXF1ZXN0T3B0aW9uc0FyZ3M6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuZGVmQ29ubmVjdGlvbk1hbmFnZXIucmVxdWVzdCh1cmwsIHJlcXVlc3RPcHRpb25zQXJncyk7XG4gIH1cblxuICBwdWJsaWMgcmVxdWVzdFdpdGhIdHRwSW5mbyh1cmw6IHN0cmluZywgcmVxdWVzdE9wdGlvbnNBcmdzOiBhbnkpOiBQcm9taXNlPFJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuZGVmQ29ubmVjdGlvbk1hbmFnZXIucmVxdWVzdFdpdGhIdHRwSW5mbyh1cmwsIHJlcXVlc3RPcHRpb25zQXJncyk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UnVubmluZ1Byb2Nlc3Nlc0NvdW50KG9wdGlvbj86IGFueSk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuZGVmQ29ubmVjdGlvbk1hbmFnZXIuZ2V0UnVubmluZ1Byb2Nlc3Nlc0NvdW50KG9wdGlvbik7XG4gIH1cblxuICBwdWJsaWMgZ2V0UnVubmluZ1Byb2Nlc3NlcyhvcHRpb24/OiBhbnkpOiBCYWNrZ3JvdW5kUHJvY2Vzc1tdIHtcbiAgICByZXR1cm4gdGhpcy5kZWZDb25uZWN0aW9uTWFuYWdlci5nZXRSdW5uaW5nUHJvY2Vzc2VzKG9wdGlvbik7XG4gIH1cblxuICBwdWJsaWMgZ2V0Q29ubmVjdGlvblF1YWxpdHkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5kZWZDb25uZWN0aW9uTWFuYWdlci5nZXRDb25uZWN0aW9uUXVhbGl0eSgpO1xuICB9XG5cbiAgcHVibGljIGFkZEJhc2VVUkxzKHVybDogc3RyaW5nKTogdm9pZCB7XG4gICAgcmV0dXJuIHRoaXMuZGVmQ29ubmVjdGlvbk1hbmFnZXIuYWRkQmFzZVVSTHModXJsKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXRCYXNlVVJMcyh1cmxzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMuZGVmQ29ubmVjdGlvbk1hbmFnZXIuc2V0QmFzZVVSTHModXJscyk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRCYXNlVVJMcygpOiB2b2lkIHtcbiAgICB0aGlzLmRlZkNvbm5lY3Rpb25NYW5hZ2VyLnJlc2V0QmFzZVVSTHMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXREZWZhdWx0SGVhZGVyKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kZWZDb25uZWN0aW9uTWFuYWdlci5zZXREZWZhdWx0SGVhZGVyKGtleSwgdmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZURlZmF1bHRIZWFkZXIoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmRlZkNvbm5lY3Rpb25NYW5hZ2VyLnJlbW92ZURlZmF1bHRIZWFkZXIoa2V5KTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldERlZmF1bHRIZWFkZXJzKCk6IHZvaWQge1xuICAgIHRoaXMuZGVmQ29ubmVjdGlvbk1hbmFnZXIucmVzZXREZWZhdWx0SGVhZGVycygpO1xuICB9XG5cbiAgcHVibGljIHNldFNlYXJjaChrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuZGVmQ29ubmVjdGlvbk1hbmFnZXIuc2V0U2VhcmNoKGtleSwgdmFsdWUpO1xuICB9XG5cbiAgcHVibGljIHJlbW92ZVNlYXJjaChrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZGVmQ29ubmVjdGlvbk1hbmFnZXIucmVtb3ZlU2VhcmNoKGtleSk7XG4gIH1cblxuICBwdWJsaWMgcmVzZXRTZWFyY2goKTogdm9pZCB7XG4gICAgdGhpcy5kZWZDb25uZWN0aW9uTWFuYWdlci5yZXNldFNlYXJjaCgpO1xuICB9XG5cbiAgcHVibGljIHNldFBhcmFtKGtleTogc3RyaW5nLCB2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy5kZWZDb25uZWN0aW9uTWFuYWdlci5zZXRQYXJhbShrZXksIHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyByZW1vdmVQYXJhbShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZGVmQ29ubmVjdGlvbk1hbmFnZXIucmVtb3ZlUGFyYW0oa2V5KTtcbiAgfVxuXG4gIHB1YmxpYyByZXNldFBhcmFtcygpOiB2b2lkIHtcbiAgICB0aGlzLmRlZkNvbm5lY3Rpb25NYW5hZ2VyLnJlc2V0UGFyYW1zKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmRlZkNvbm5lY3Rpb25NYW5hZ2VyLmdldE5hbWUoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXROYW1lKG5hbWU6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuZGVmQ29ubmVjdGlvbk1hbmFnZXIuc2V0TmFtZShuYW1lKTtcbiAgfVxuXG4gIHB1YmxpYyBjcmVhdGVSZXNvdXJjZTxSIGV4dGVuZHMgQWJzdHJhY3RTZXJ2ZXJSZXNvdXJjZT4odHlwZTogbmV3IChjb25NZ3I6IElDb25uZWN0aW9uTWFuYWdlcikgPT4gUik6IFIge1xuICAgIHJldHVybiB0aGlzLmRlZkNvbm5lY3Rpb25NYW5hZ2VyLmNyZWF0ZVJlc291cmNlKHR5cGUpO1xuICB9XG59XG4iXX0=