@rosoftlab/core 1.0.0-alpha-4 → 1.0.0-alpha-6

Sign up to get free protection for your applications and to get access to all the features.
@@ -333,10 +333,10 @@ export class BaseDatastore {
333
333
  _toQueryString(params) {
334
334
  return qs.stringify(params, { arrayFormat: 'brackets' });
335
335
  }
336
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BaseDatastore, deps: [{ token: i1.HttpClient }, { token: i2.CacheService }], target: i0.ɵɵFactoryTarget.Injectable }); }
337
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BaseDatastore }); }
336
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseDatastore, deps: [{ token: i1.HttpClient }, { token: i2.CacheService }], target: i0.ɵɵFactoryTarget.Injectable }); }
337
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseDatastore }); }
338
338
  }
339
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BaseDatastore, decorators: [{
339
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseDatastore, decorators: [{
340
340
  type: Injectable
341
341
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.CacheService }]; } });
342
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhc3RvcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvc2VydmljZXMvYmFzZS1kYXRhc3RvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFxQixXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLFVBQVUsRUFBWSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBSS9DLE1BQU0sT0FBTyxhQUFhO0lBU3hCLGdDQUFnQztJQUVoQyxJQUFZLGtCQUFrQjtRQUM1QixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUztlQUM3QixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRTtZQUN0RCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDO1NBQzFEO2FBQU07WUFDTCxPQUFPLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUztlQUM3QixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxn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LEtBQUssQ0FBQyxDQUFDO1NBQy9EO2FBQU07WUFDTCxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ2pFO1FBQ0QsNENBQTRDO1FBQzVDLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFDTyxjQUFjLENBQUMsTUFBVztRQUNoQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQzs4R0E5Y1UsYUFBYTtrSEFBYixhQUFhOzsyRkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNvbXBhcmUgfSBmcm9tICdmYXN0LWpzb24tcGF0Y2gnO1xyXG5pbXBvcnQgKiBhcyBxcyBmcm9tICdxcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIE9ic2VydmVyLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRGF0YXN0b3JlQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9kYXRhc3RvcmUtY29uZmlnLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE1vZGVsQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9tb2RlbC1jb25maWcuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQmFzZVF1ZXJ5RGF0YSB9IGZyb20gJy4uL21vZGVscy9iYXNlLXF1ZXJ5LWRhdGEnO1xyXG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvYmFzZS5tb2RlbCc7XHJcbmltcG9ydCB7IENhY2hlU2VydmljZSB9IGZyb20gJy4vY2FjaGUuc2VydmljZSc7XHJcbmV4cG9ydCB0eXBlIE1vZGVsVHlwZTxUIGV4dGVuZHMgQmFzZU1vZGVsPiA9IG5ldyAoZGF0YXN0b3JlOiBCYXNlRGF0YXN0b3JlLCBkYXRhOiBhbnkpID0+IFQ7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBCYXNlRGF0YXN0b3JlIHtcclxuICBwcm90ZWN0ZWQgY29uZmlnITogRGF0YXN0b3JlQ29uZmlnO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXHJcbiAgcHJpdmF0ZSBfc3RvcmU6IHsgW3R5cGU6IHN0cmluZ106IHsgW2lkOiBzdHJpbmddOiBCYXNlTW9kZWwgfSB9ID0ge307XHJcbiAgLy8gdHNsaW50OmVuYWJsZTptYXgtbGluZS1sZW5ndGhcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6YmFuLXR5cGVzXHJcbiAgcHJpdmF0ZSB0b1F1ZXJ5U3RyaW5nOiBGdW5jdGlvbiA9IHRoaXMuZGF0YXN0b3JlQ29uZmlnLm92ZXJyaWRlc1xyXG4gICAgJiYgdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLnRvUXVlcnlTdHJpbmcgP1xyXG4gICAgdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLnRvUXVlcnlTdHJpbmcgOiB0aGlzLl90b1F1ZXJ5U3RyaW5nO1xyXG4gIC8vIHRzbGludDplbmFibGU6bWF4LWxpbmUtbGVuZ3RoXHJcblxyXG4gIHByaXZhdGUgZ2V0IGdldERpcnR5QXR0cmlidXRlcygpIHtcclxuICAgIGlmICh0aGlzLmRhdGFzdG9yZUNvbmZpZy5vdmVycmlkZXNcclxuICAgICAgJiYgdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLmdldERpcnR5QXR0cmlidXRlcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLmdldERpcnR5QXR0cmlidXRlcztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBCYXNlRGF0YXN0b3JlLmdldERpcnR5QXR0cmlidXRlcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0QWxsQXR0cmlidXRlcygpIHtcclxuICAgIGlmICh0aGlzLmRhdGFzdG9yZUNvbmZpZy5vdmVycmlkZXNcclxuICAgICAgJiYgdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLmdldEFsbEF0dHJpYnV0ZXMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0YXN0b3JlQ29uZmlnLm92ZXJyaWRlcy5nZXRBbGxBdHRyaWJ1dGVzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIEJhc2VEYXRhc3RvcmUuZ2V0QWxsQXR0cmlidXRlcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHByb3RlY3RlZCBjb25maWc6IERhdGFzdG9yZUNvbmZpZztcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0RGlydHlBdHRyaWJ1dGVzKGF0dHJpYnV0ZXNNZXRhZGF0YTogYW55KTogeyBzdHJpbmc6IGFueSB9IHtcclxuICAgIGNvbnN0IGRpcnR5RGF0YTogYW55ID0ge307XHJcblxyXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eU5hbWUgaW4gYXR0cmlidXRlc01ldGFkYXRhKSB7XHJcbiAgICAgIGlmIChhdHRyaWJ1dGVzTWV0YWRhdGEuaGFzT3duUHJvcGVydHkocHJvcGVydHlOYW1lKSkge1xyXG4gICAgICAgIGNvbnN0IG1ldGFkYXRhOiBhbnkgPSBhdHRyaWJ1dGVzTWV0YWRhdGFbcHJvcGVydHlOYW1lXTtcclxuXHJcbiAgICAgICAgaWYgKG1ldGFkYXRhLmhhc0RpcnR5QXR0cmlidXRlcykge1xyXG4gICAgICAgICAgY29uc3QgYXR0cmlidXRlTmFtZSA9IG1ldGFkYXRhLnNlcmlhbGl6ZWROYW1lICE9IG51bGwgPyBtZXRhZGF0YS5zZXJpYWxpemVkTmFtZSA6IHByb3BlcnR5TmFtZTtcclxuICAgICAgICAgIGRpcnR5RGF0YVthdHRyaWJ1dGVOYW1lXSA9IG1ldGFkYXRhLnNlcmlhbGlzYXRpb25WYWx1ZSA/IG1ldGFkYXRhLnNlcmlhbGlzYXRpb25WYWx1ZSA6IG1ldGFkYXRhLm5ld1ZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRpcnR5RGF0YTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGdldEFsbEF0dHJpYnV0ZXMoYXR0cmlidXRlc01ldGFkYXRhOiBhbnkpOiB7IHN0cmluZzogYW55IH0ge1xyXG4gICAgY29uc3QgZGlydHlEYXRhOiBhbnkgPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBpbiBhdHRyaWJ1dGVzTWV0YWRhdGEpIHtcclxuICAgICAgaWYgKGF0dHJpYnV0ZXNNZXRhZGF0YS5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eU5hbWUpKSB7XHJcbiAgICAgICAgY29uc3QgbWV0YWRhdGE6IGFueSA9IGF0dHJpYnV0ZXNNZXRhZGF0YVtwcm9wZXJ0eU5hbWVdO1xyXG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBtZXRhZGF0YS5zZXJpYWxpemVkTmFtZSAhPSBudWxsID8gbWV0YWRhdGEuc2VyaWFsaXplZE5hbWUgOiBwcm9wZXJ0eU5hbWU7XHJcbiAgICAgICAgZGlydHlEYXRhW2F0dHJpYnV0ZU5hbWVdID0gbWV0YWRhdGEuc2VyaWFsaXNhdGlvblZhbHVlID8gbWV0YWRhdGEuc2VyaWFsaXNhdGlvblZhbHVlIDogbWV0YWRhdGEubmV3VmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkaXJ0eURhdGE7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgcHJvdGVjdGVkIGNhY2hlU2VydmljZTogQ2FjaGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBmaW5kQWxsPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KFxyXG4gICAgbW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPEJhc2VRdWVyeURhdGE8VD4+IHtcclxuICAgIGNvbnN0IGN1c3RvbUhlYWRoZXJzOiBIdHRwSGVhZGVycyA9IHRoaXMuYnVpbGRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG4gICAgY29uc3QgdXJsOiBzdHJpbmcgPSB0aGlzLmJ1aWxkVXJsKG1vZGVsVHlwZSwgY3VzdG9tVXJsKTtcclxuXHJcbiAgICBjb25zdCByZXNwb25zZSA9IHRoaXMuaHR0cENsaWVudC5nZXQodXJsLFxyXG4gICAgICB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAocmVzID0+IHRoaXMuZXh0cmFjdFF1ZXJ5RGF0YShyZXMsIG1vZGVsVHlwZSkpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICAgIHJldHVybiByZXNwb25zZTtcclxuXHJcbiAgfVxyXG5cclxuICBmaW5kUmVjb3JkPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KFxyXG4gICAgbW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sXHJcbiAgICBpZD86IHN0cmluZyxcclxuICAgIHBhcmFtcz86IGFueSxcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcclxuICAgIGN1c3RvbVVybD86IHN0cmluZ1xyXG4gICk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBsZXQgdXJsOiBzdHJpbmcgPSB0aGlzLmJ1aWxkVXJsKG1vZGVsVHlwZSwgY3VzdG9tVXJsKTtcclxuICAgIGlmIChpZCkge1xyXG4gICAgICB1cmwgKz0gJy8nICsgaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSB0aGlzLmh0dHBDbGllbnQuZ2V0KHVybCwgeyBoZWFkZXJzOiBjdXN0b21IZWFkaGVycywgcGFyYW1zOiBodG1sUGFyYW1zLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSlcclxuICAgICAgLnBpcGUobWFwKHJlcyA9PiB0aGlzLmVudGl0eVRvTW9kZWwocmVzLCBtb2RlbFR5cGUsIHVuZGVmaW5lZCkpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICAgIHJldHVybiByZXNwb25zZTtcclxuXHJcbiAgfVxyXG4gIGdldEN1c3RvbTxVLCBUIGV4dGVuZHMgQmFzZU1vZGVsPihtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPixcclxuICAgIHBhcmFtcz86IGFueSxcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcclxuICAgIGN1c3RvbVVybD86IHN0cmluZyxcclxuICAgIGN1c3RvbVJlc3BvbnNlVHlwZT86IGFueSk6IE9ic2VydmFibGU8VT4ge1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG4gICAgaWYgKCFjdXN0b21SZXNwb25zZVR5cGUpXHJcbiAgICAgIGN1c3RvbVJlc3BvbnNlVHlwZSA9ICdqc29uJztcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFU+KHVybCwgeyBoZWFkZXJzOiBjdXN0b21IZWFkaGVycywgcGFyYW1zOiBodG1sUGFyYW1zLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUsIHJlc3BvbnNlVHlwZTogY3VzdG9tUmVzcG9uc2VUeXBlIH0pO1xyXG4gIH1cclxuXHJcbiAgcG9zdEN1c3RvbTxVLCBUIGV4dGVuZHMgQmFzZU1vZGVsPihtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPixcclxuICAgIGJvZHk6IGFueSxcclxuICAgIHBhcmFtcz86IGFueSxcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcclxuICAgIGN1c3RvbVVybD86IHN0cmluZyk6IE9ic2VydmFibGU8VT4ge1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFU+KHVybCwgYm9keSwgeyBoZWFkZXJzOiBjdXN0b21IZWFkaGVycywgcGFyYW1zOiBodG1sUGFyYW1zLCByZXBvcnRQcm9ncmVzczogdHJ1ZSwgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xyXG4gIH1cclxuXHJcbiAgcGF0Y2hDdXN0b208VSwgVCBleHRlbmRzIEJhc2VNb2RlbD4obW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sXHJcbiAgICBib2R5OiBhbnksXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFU+IHtcclxuICAgIGNvbnN0IGN1c3RvbUhlYWRoZXJzOiBIdHRwSGVhZGVycyA9IHRoaXMuYnVpbGRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgY29uc3QgdXJsOiBzdHJpbmcgPSB0aGlzLmJ1aWxkVXJsKG1vZGVsVHlwZSwgY3VzdG9tVXJsKTtcclxuICAgIGNvbnN0IGh0bWxQYXJhbXMgPSB0aGlzLmJ1aWxkUGFyYW1zKG1vZGVsVHlwZSwgcGFyYW1zKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucGF0Y2g8VT4odXJsLCBib2R5LCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuICB9XHJcbiAgY3JlYXRlUmVjb3JkPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KG1vZGVsVHlwZTogTW9kZWxUeXBlPFQ+LCBkYXRhPzogYW55KTogVCB7XHJcbiAgICByZXR1cm4gbmV3IG1vZGVsVHlwZSh0aGlzLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIHNhdmVSZWNvcmQ8VCBleHRlbmRzIEJhc2VNb2RlbD4oXHJcbiAgICBhdHRyaWJ1dGVzTWV0YWRhdGE6IGFueSwgbW9kZWw6IFQsXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmcsXHJcbiAgICBjdXN0b21Cb2R5PzogYW55XHJcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICBjb25zdCBtb2RlbFR5cGUgPSBtb2RlbC5jb25zdHJ1Y3RvciBhcyBNb2RlbFR5cGU8VD47XHJcbiAgICBjb25zdCBtb2RlbENvbmZpZzogTW9kZWxDb25maWcgPSBtb2RlbC5tb2RlbENvbmZpZztcclxuICAgIGNvbnN0IGN1c3RvbUhlYWRoZXJzOiBIdHRwSGVhZGVycyA9IHRoaXMuYnVpbGRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgY29uc3QgdXJsOiBzdHJpbmcgPSB0aGlzLmJ1aWxkVXJsKG1vZGVsVHlwZSwgY3VzdG9tVXJsKTtcclxuICAgIGNvbnN0IGh0bWxQYXJhbXMgPSB0aGlzLmJ1aWxkUGFyYW1zKG1vZGVsVHlwZSwgcGFyYW1zKTtcclxuXHJcbiAgICBsZXQgaHR0cENhbGw6IE9ic2VydmFibGU8YW55PjtcclxuXHJcbiAgICBjb25zdCBib2R5ID0gY3VzdG9tQm9keSB8fCB0aGlzLm1vZGVsVG9FbnRpdHkobW9kZWwsIGF0dHJpYnV0ZXNNZXRhZGF0YSk7XHJcblxyXG4gICAgaWYgKG1vZGVsLmlkKSB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcclxuICAgICAgaHR0cENhbGwgPSB0aGlzLmh0dHBDbGllbnQucGF0Y2godXJsICsgJy8nICsgbW9kZWwuaWQsIGJvZHksIHsgaGVhZGVyczogY3VzdG9tSGVhZGhlcnMsIHBhcmFtczogaHRtbFBhcmFtcywgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaHR0cENhbGwgPSB0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwsIGJvZHksIHsgaGVhZGVyczogY3VzdG9tSGVhZGhlcnMsIHBhcmFtczogaHRtbFBhcmFtcywgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBodHRwQ2FsbFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAocmVzID0+IHtcclxuICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLmNsZWFyQ2FjaGVDb250YWluaW5nS2V5d29yZCh1cmwpO1xyXG4gICAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMucmVzZXRNZXRhZGF0YUF0dHJpYnV0ZXMocmVzLCBhdHRyaWJ1dGVzTWV0YWRhdGEsIG1vZGVsVHlwZSk7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5lbnRpdHlUb01vZGVsKGRhdGEsIG1vZGVsVHlwZSk7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcGF0Y2hSZWNvcmQ8VCBleHRlbmRzIEJhc2VNb2RlbD4oXHJcbiAgICBhdHRyaWJ1dGVzTWV0YWRhdGE6IGFueSwgbW9kZWw6IFQsXHJcbiAgICBvcmlnTW9kZWw6IFQsXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIGNvbnN0IG1vZGVsVHlwZSA9IG1vZGVsLmNvbnN0cnVjdG9yIGFzIE1vZGVsVHlwZTxUPjtcclxuICAgIGNvbnN0IG1vZGVsQ29uZmlnOiBNb2RlbENvbmZpZyA9IG1vZGVsLm1vZGVsQ29uZmlnO1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG5cclxuICAgIGxldCBodHRwQ2FsbDogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgbGV0IG9yaWdEYXRhID0geyBpZDogJycgfTtcclxuICAgIGlmIChvcmlnTW9kZWwpXHJcbiAgICAgIG9yaWdEYXRhID0gdGhpcy5tb2RlbFRvRW50aXR5KG9yaWdNb2RlbCwgb3JpZ01vZGVsLmF0dHJpYnV0ZU1ldGFkYXRhLCB0cnVlKTtcclxuICAgIGNvbnN0IG5ld0RhdGEgPSB0aGlzLm1vZGVsVG9FbnRpdHkobW9kZWwsIGF0dHJpYnV0ZXNNZXRhZGF0YSwgdHJ1ZSk7XHJcbiAgICBuZXdEYXRhLmlkID0gb3JpZ0RhdGEuaWQ7XHJcbiAgICBjb25zdCBwYXRjaCA9IGNvbXBhcmUob3JpZ0RhdGEsIG5ld0RhdGEpO1xyXG4gICAgaWYgKHBhdGNoLmxlbmd0aCA+IDApIHtcclxuICAgICAgaHR0cENhbGwgPSB0aGlzLmh0dHBDbGllbnQucGF0Y2godXJsICsgJy8nICsgbW9kZWwuaWQsIHBhdGNoLCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuXHJcbiAgICAgIHJldHVybiBodHRwQ2FsbFxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgbWFwKHJlcyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLmNsZWFyQ2FjaGVDb250YWluaW5nS2V5d29yZCh1cmwpO1xyXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5yZXNldE1ldGFkYXRhQXR0cmlidXRlcyhyZXMsIGF0dHJpYnV0ZXNNZXRhZGF0YSwgbW9kZWxUeXBlKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZW50aXR5VG9Nb2RlbChkYXRhLCBtb2RlbFR5cGUpO1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPFQ+KSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZXIubmV4dChtb2RlbCk7XHJcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIGdldFBhdGNoPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KFxyXG4gIC8vICAgbW9kZWw6IFQsXHJcbiAgLy8gICBvcmlnTW9kZWw6IFQpOiBhbnkge1xyXG5cclxuICAvLyB9XHJcbiAgcmVwbGFjZVJlY29yZDxUIGV4dGVuZHMgQmFzZU1vZGVsPihcclxuICAgIGF0dHJpYnV0ZXNNZXRhZGF0YTogYW55LCBtb2RlbDogVCxcclxuICAgIHBhcmFtcz86IGFueSxcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcclxuICAgIGN1c3RvbVVybD86IHN0cmluZyxcclxuICAgIGN1c3RvbUJvZHk/OiBhbnlcclxuICApOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIGNvbnN0IG1vZGVsVHlwZSA9IG1vZGVsLmNvbnN0cnVjdG9yIGFzIE1vZGVsVHlwZTxUPjtcclxuICAgIGNvbnN0IG1vZGVsQ29uZmlnOiBNb2RlbENvbmZpZyA9IG1vZGVsLm1vZGVsQ29uZmlnO1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG5cclxuICAgIGxldCBodHRwQ2FsbDogT2JzZXJ2YWJsZTxhbnk+O1xyXG5cclxuICAgIGNvbnN0IGJvZHkgPSBjdXN0b21Cb2R5IHx8IHRoaXMubW9kZWxUb0VudGl0eShtb2RlbCwgYXR0cmlidXRlc01ldGFkYXRhLCB0cnVlKTtcclxuXHJcbiAgICBpZiAobW9kZWwuaWQpIHtcclxuICAgICAgaHR0cENhbGwgPSB0aGlzLmh0dHBDbGllbnQucHV0KHVybCArICcvJyArIG1vZGVsLmlkLCBib2R5LCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGh0dHBDYWxsID0gdGhpcy5odHRwQ2xpZW50LnBvc3QodXJsLCBib2R5LCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gaHR0cENhbGxcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHJlcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNhY2hlU2VydmljZS5jbGVhckNhY2hlQ29udGFpbmluZ0tleXdvcmQodXJsKTtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLnJlc2V0TWV0YWRhdGFBdHRyaWJ1dGVzKHJlcywgYXR0cmlidXRlc01ldGFkYXRhLCBtb2RlbFR5cGUpO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZW50aXR5VG9Nb2RlbChkYXRhLCBtb2RlbFR5cGUpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICB9XHJcblxyXG5cclxuICBkZWxldGVSZWNvcmQ8VCBleHRlbmRzIEJhc2VNb2RlbD4oXHJcbiAgICBtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPixcclxuICAgIGlkOiBzdHJpbmcsXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPHt9PiB7XHJcbiAgICBjb25zdCBjdXN0b21IZWFkaGVyczogSHR0cEhlYWRlcnMgPSB0aGlzLmJ1aWxkSGVhZGVycyhoZWFkZXJzKTtcclxuICAgIGxldCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgaWYgKCF1cmwuaW5jbHVkZXMoJ3NoYXJlJykpIHtcclxuICAgICAgdXJsID0gdXJsICsgJy8nICsgaWQ7XHJcbiAgICB9XHJcbiAgICAvLyBjb25zdCBpZFBhcmFtID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2lkJywgaWQpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGUodXJsLCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHJlcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNhY2hlU2VydmljZS5jbGVhckNhY2hlQ29udGFpbmluZ0tleXdvcmQodXJsKTtcclxuICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICksXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJ1aWxkVXJsPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KFxyXG4gICAgbW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBzdHJpbmcge1xyXG5cclxuICAgIGlmIChjdXN0b21VcmwpIHtcclxuICAgICAgcmV0dXJuIGN1c3RvbVVybDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtb2RlbENvbmZpZzogTW9kZWxDb25maWcgPSBSZWZsZWN0LmdldE1ldGFkYXRhKCdCYXNlTW9kZWxDb25maWcnLCBtb2RlbFR5cGUpO1xyXG5cclxuICAgIGNvbnN0IGJhc2VVcmwgPSBtb2RlbENvbmZpZy5iYXNlVXJsIHx8IHRoaXMuZGF0YXN0b3JlQ29uZmlnLmJhc2VVcmw7XHJcbiAgICBjb25zdCBhcGlWZXJzaW9uID0gbW9kZWxDb25maWcuYXBpVmVyc2lvbiB8fCB0aGlzLmRhdGFzdG9yZUNvbmZpZy5hcGlWZXJzaW9uO1xyXG4gICAgY29uc3QgbW9kZWxFbmRwb2ludFVybDogc3RyaW5nID0gbW9kZWxDb25maWcubW9kZWxFbmRwb2ludFVybCB8fCBtb2RlbENvbmZpZy50eXBlO1xyXG5cclxuICAgIGNvbnN0IHVybDogc3RyaW5nID0gW2Jhc2VVcmwsIGFwaVZlcnNpb24sIG1vZGVsRW5kcG9pbnRVcmxdLmZpbHRlcigoeCkgPT4geCkuam9pbignLycpO1xyXG5cclxuICAgIHJldHVybiB1cmw7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZXh0cmFjdFF1ZXJ5RGF0YTxUIGV4dGVuZHMgQmFzZU1vZGVsPihcclxuICAgIHJlczogYW55LFxyXG4gICAgbW9kZWxUeXBlOiBNb2RlbFR5cGU8VD5cclxuICApOiBCYXNlUXVlcnlEYXRhPFQ+IHtcclxuICAgIGxldCByZXN1bHQ7XHJcbiAgICBjb25zdCBib2R5OiBhbnkgPSByZXM7XHJcbiAgICBjb25zdCBtb2RlbHM6IFRbXSA9IFtdO1xyXG5cclxuICAgIGZvciAoY29uc3QgZGF0YSBvZiBib2R5LmRhdGEpIHtcclxuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLmVudGl0eVRvTW9kZWwoZGF0YSwgbW9kZWxUeXBlLCB1bmRlZmluZWQpO1xyXG4gICAgICBtb2RlbHMucHVzaChtb2RlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzdWx0ID0gbmV3IEJhc2VRdWVyeURhdGEobW9kZWxzLCB0aGlzLnBhcnNlTWV0YShib2R5LCBtb2RlbFR5cGUpKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZGVzZXJpYWxpemVNb2RlbDxUIGV4dGVuZHMgQmFzZU1vZGVsPihtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPiwgZGF0YTogYW55KSB7XHJcbiAgICBkYXRhID0gdGhpcy50cmFuc2Zvcm1TZXJpYWxpemVkTmFtZXNUb1Byb3BlcnR5TmFtZXMobW9kZWxUeXBlLCBkYXRhKTtcclxuICAgIHJldHVybiBuZXcgbW9kZWxUeXBlKHRoaXMsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGhhbmRsZUVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgaWYgKGVycm9yLmVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCkge1xyXG4gICAgICAvLyBBIGNsaWVudC1zaWRlIG9yIG5ldHdvcmsgZXJyb3Igb2NjdXJyZWQuIEhhbmRsZSBpdCBhY2NvcmRpbmdseS5cclxuICAgICAgLy8gY29uc29sZS5lcnJvcignQW4gZXJyb3Igb2NjdXJyZWQ6JywgZXJyb3IuZXJyb3IubWVzc2FnZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBUaGUgYmFja2VuZCByZXR1cm5lZCBhbiB1bnN1Y2Nlc3NmdWwgcmVzcG9uc2UgY29kZS5cclxuICAgICAgLy8gVGhlIHJlc3BvbnNlIGJvZHkgbWF5IGNvbnRhaW4gY2x1ZXMgYXMgdG8gd2hhdCB3ZW50IHdyb25nLFxyXG4gICAgICAvLyBjb25zb2xlLmVycm9yKFxyXG4gICAgICAvLyAgICdCYWNrZW5kIHJldHVybmVkIGNvZGUgJHtlcnJvci5zdGF0dXN9LCAnICtcclxuICAgICAgLy8gICAnYm9keSB3YXM6ICR7ZXJyb3IuZXJyb3J9Jyk7XHJcbiAgICB9XHJcbiAgICAvLyByZXR1cm4gYW4gb2JzZXJ2YWJsZSB3aXRoIGEgdXNlci1mYWNpbmcgZXJyb3IgbWVzc2FnZVxyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHBhcnNlTWV0YShib2R5OiBhbnksIG1vZGVsVHlwZTogTW9kZWxUeXBlPEJhc2VNb2RlbD4pOiBhbnkge1xyXG4gICAgY29uc3QgbWV0YU1vZGVsOiBhbnkgPSBSZWZsZWN0LmdldE1ldGFkYXRhKCdCYXNlTW9kZWxDb25maWcnLCBtb2RlbFR5cGUpLm1ldGE7XHJcbiAgICByZXR1cm4gbmV3IG1ldGFNb2RlbChib2R5KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZXNldE1ldGFkYXRhQXR0cmlidXRlczxUIGV4dGVuZHMgQmFzZU1vZGVsPihyZXM6IFQsIGF0dHJpYnV0ZXNNZXRhZGF0YTogYW55LCBtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPikge1xyXG4gICAgLy8gVE9ETyBjaGVjayB3aHkgaXMgYXR0cmlidXRlc01ldGFkYXRhIGZyb20gdGhlIGFyZ3VtZW50cyBuZXZlciB1c2VkXHJcblxyXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eU5hbWUgaW4gYXR0cmlidXRlc01ldGFkYXRhKSB7XHJcbiAgICAgIGlmIChhdHRyaWJ1dGVzTWV0YWRhdGEuaGFzT3duUHJvcGVydHkocHJvcGVydHlOYW1lKSkge1xyXG4gICAgICAgIGNvbnN0IG1ldGFkYXRhOiBhbnkgPSBhdHRyaWJ1dGVzTWV0YWRhdGFbcHJvcGVydHlOYW1lXTtcclxuXHJcbiAgICAgICAgaWYgKG1ldGFkYXRhLmhhc0RpcnR5QXR0cmlidXRlcykge1xyXG4gICAgICAgICAgbWV0YWRhdGEuaGFzRGlydHlBdHRyaWJ1dGVzID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJlcykge1xyXG4gICAgICByZXMuYXR0cmlidXRlTWV0YWRhdGEgPSBhdHRyaWJ1dGVzTWV0YWRhdGE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBkYXRhc3RvcmVDb25maWcoKTogRGF0YXN0b3JlQ29uZmlnIHtcclxuICAgIGNvbnN0IGNvbmZpZ0Zyb21EZWNvcmF0b3I6IERhdGFzdG9yZUNvbmZpZyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0Jhc2VEYXRhc3RvcmVDb25maWcnLCB0aGlzLmNvbnN0cnVjdG9yKTtcclxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKGNvbmZpZ0Zyb21EZWNvcmF0b3IsIHRoaXMuY29uZmlnKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCB0cmFuc2Zvcm1TZXJpYWxpemVkTmFtZXNUb1Byb3BlcnR5TmFtZXM8VCBleHRlbmRzIEJhc2VNb2RlbD4obW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sIGF0dHJpYnV0ZXM6IGFueSkge1xyXG4gICAgY29uc3Qgc2VyaWFsaXplZE5hbWVUb1Byb3BlcnR5TmFtZSA9IHRoaXMuZ2V0TW9kZWxQcm9wZXJ0eU5hbWVzKG1vZGVsVHlwZS5wcm90b3R5cGUpO1xyXG4gICAgY29uc3QgcHJvcGVydGllczogYW55ID0ge307XHJcblxyXG4gICAgT2JqZWN0LmtleXMoc2VyaWFsaXplZE5hbWVUb1Byb3BlcnR5TmFtZSkuZm9yRWFjaCgoc2VyaWFsaXplZE5hbWUpID0+IHtcclxuICAgICAgaWYgKGF0dHJpYnV0ZXNbc2VyaWFsaXplZE5hbWVdICE9PSBudWxsICYmIGF0dHJpYnV0ZXNbc2VyaWFsaXplZE5hbWVdICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBwcm9wZXJ0aWVzW3NlcmlhbGl6ZWROYW1lVG9Qcm9wZXJ0eU5hbWVbc2VyaWFsaXplZE5hbWVdXSA9IGF0dHJpYnV0ZXNbc2VyaWFsaXplZE5hbWVdO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gcHJvcGVydGllcztcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRNb2RlbFByb3BlcnR5TmFtZXMobW9kZWw6IEJhc2VNb2RlbCkge1xyXG4gICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0F0dHJpYnV0ZU1hcHBpbmcnLCBtb2RlbCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYnVpbGRIZWFkZXJzKGN1c3RvbUhlYWRlcnM/OiBIdHRwSGVhZGVycyk6IEh0dHBIZWFkZXJzIHtcclxuICAgIGNvbnN0IGhlYWRlcnM6IGFueSA9IHtcclxuICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbi1wYXRjaCtqc29uJyxcclxuICAgICAgLy8gJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi92bmQuYXBpK2pzb24nLFxyXG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24tcGF0Y2granNvbidcclxuICAgIH07XHJcbiAgICBpZiAoY3VzdG9tSGVhZGVycyAmJiBjdXN0b21IZWFkZXJzLmtleXMoKS5sZW5ndGgpIHtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcclxuICAgICAgT2JqZWN0LmFzc2lnbih7fSwgaGVhZGVycywgY3VzdG9tSGVhZGVycy5rZXlzKCkubWFwKGhlYWRlcl9uYW1lID0+IHtcclxuICAgICAgICBoZWFkZXJzWycnICsgaGVhZGVyX25hbWVdID0gY3VzdG9tSGVhZGVycy5nZXQoaGVhZGVyX25hbWUpO1xyXG4gICAgICB9KSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJ1aWxkUGFyYW1zPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KG1vZGVsVHlwZTogTW9kZWxUeXBlPFQ+LFxyXG4gICAgcGFyYW1zOiBhbnkpOiBIdHRwUGFyYW1zIHtcclxuICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIGlmIChwYXJhbXMpIHtcclxuICAgICAgT2JqZWN0LmtleXMocGFyYW1zKVxyXG4gICAgICAgIC5maWx0ZXIoa2V5ID0+IHtcclxuICAgICAgICAgIGNvbnN0IHYgPSBwYXJhbXNba2V5XTtcclxuICAgICAgICAgIHJldHVybiAoQXJyYXkuaXNBcnJheSh2KSB8fCB0eXBlb2YgdiA9PT0gJ3N0cmluZycpID9cclxuICAgICAgICAgICAgKHYubGVuZ3RoID4gMCkgOlxyXG4gICAgICAgICAgICAodiAhPT0gbnVsbCAmJiB2ICE9PSB1bmRlZmluZWQpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldChrZXksIHBhcmFtc1trZXldKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGNvbnN0IG1vZGVsQ29uZmlnOiBNb2RlbENvbmZpZyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0Jhc2VNb2RlbENvbmZpZycsIG1vZGVsVHlwZSk7XHJcbiAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5zZXQoJ2J5cGFzc0NhY2hlJywgbW9kZWxDb25maWcuYnlwYXNzQ2FjaGUgfHwgZmFsc2UpO1xyXG4gICAgcmV0dXJuIGh0dHBQYXJhbXM7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJvdGVjdGVkIGVudGl0eVRvTW9kZWw8VCBleHRlbmRzIEJhc2VNb2RlbD4oXHJcbiAgICByZXM6IGFueSxcclxuICAgIG1vZGVsVHlwZTogTW9kZWxUeXBlPFQ+LFxyXG4gICAgbW9kZWw/OiBUXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdGhpcy5leHRyYWN0UmVjb3JkRGF0YUpzb24ocmVzLCBtb2RlbFR5cGUsIG1vZGVsKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RSZWNvcmREYXRhSnNvbjxUIGV4dGVuZHMgQmFzZU1vZGVsPihcclxuICAgIHJlczogUmVzcG9uc2UsXHJcbiAgICBtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPixcclxuICAgIG1vZGVsPzogVFxyXG4gICk6IFQge1xyXG4gICAgY29uc3QgYm9keTogYW55ID0gcmVzO1xyXG4gICAgaWYgKCFib2R5KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignbm8gYm9keSBpbiByZXNwb25zZScpO1xyXG4gICAgfVxyXG4gICAgaWYgKG1vZGVsKSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24obW9kZWwsIGJvZHkpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZGVzZXJpYWxpemVkTW9kZWwgPSBtb2RlbCB8fCB0aGlzLmRlc2VyaWFsaXplTW9kZWwobW9kZWxUeXBlLCBib2R5LmRhdGEgfHwgYm9keSk7XHJcbiAgICByZXR1cm4gZGVzZXJpYWxpemVkTW9kZWw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbW9kZWxUb0VudGl0eTxUIGV4dGVuZHMgQmFzZU1vZGVsPihcclxuICAgIG1vZGVsOiBULFxyXG4gICAgYXR0cmlidXRlc01ldGFkYXRhOiBhbnksXHJcbiAgICBhbGxBdHRyaWJ1dGVzOiBib29sZWFuID0gZmFsc2VcclxuICApOiBhbnkge1xyXG4gICAgbGV0IGF0dHJpYnV0ZXM7XHJcbiAgICBpZiAoYWxsQXR0cmlidXRlcykge1xyXG4gICAgICBhdHRyaWJ1dGVzID0gdGhpcy5nZXRBbGxBdHRyaWJ1dGVzKGF0dHJpYnV0ZXNNZXRhZGF0YSwgbW9kZWwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYXR0cmlidXRlcyA9IHRoaXMuZ2V0RGlydHlBdHRyaWJ1dGVzKGF0dHJpYnV0ZXNNZXRhZGF0YSwgbW9kZWwpO1xyXG4gICAgfVxyXG4gICAgLy8gdGhpcy5nZXRSZWxhdGlvbnNoaXBzKG1vZGVsLCBhdHRyaWJ1dGVzKTtcclxuICAgIHJldHVybiBhdHRyaWJ1dGVzO1xyXG4gIH1cclxuICBwcml2YXRlIF90b1F1ZXJ5U3RyaW5nKHBhcmFtczogYW55KTogc3RyaW5nIHtcclxuICAgIHJldHVybiBxcy5zdHJpbmdpZnkocGFyYW1zLCB7IGFycmF5Rm9ybWF0OiAnYnJhY2tldHMnIH0pO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
342
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS1kYXRhc3RvcmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvc2VydmljZXMvYmFzZS1kYXRhc3RvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFxQixXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDOUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxLQUFLLEVBQUUsTUFBTSxJQUFJLENBQUM7QUFDekIsT0FBTyxFQUFFLFVBQVUsRUFBWSxVQUFVLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdqRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBSS9DLE1BQU0sT0FBTyxhQUFhO0lBU3hCLGdDQUFnQztJQUVoQyxJQUFZLGtCQUFrQjtRQUM1QixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUztlQUM3QixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRTtZQUN0RCxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLGtCQUFrQixDQUFDO1NBQzFEO2FBQU07WUFDTCxPQUFPLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQztTQUN6QztJQUNILENBQUM7SUFFRCxJQUFXLGdCQUFnQjtRQUN6QixJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUztlQUM3QixJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxn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LEtBQUssQ0FBQyxDQUFDO1NBQy9EO2FBQU07WUFDTCxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGtCQUFrQixFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ2pFO1FBQ0QsNENBQTRDO1FBQzVDLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFDTyxjQUFjLENBQUMsTUFBVztRQUNoQyxPQUFPLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQzsrR0E5Y1UsYUFBYTttSEFBYixhQUFhOzs0RkFBYixhQUFhO2tCQUR6QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UsIEh0dHBIZWFkZXJzLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGNvbXBhcmUgfSBmcm9tICdmYXN0LWpzb24tcGF0Y2gnO1xyXG5pbXBvcnQgKiBhcyBxcyBmcm9tICdxcyc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIE9ic2VydmVyLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgRGF0YXN0b3JlQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9kYXRhc3RvcmUtY29uZmlnLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IE1vZGVsQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9tb2RlbC1jb25maWcuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgQmFzZVF1ZXJ5RGF0YSB9IGZyb20gJy4uL21vZGVscy9iYXNlLXF1ZXJ5LWRhdGEnO1xyXG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tICcuLi9tb2RlbHMvYmFzZS5tb2RlbCc7XHJcbmltcG9ydCB7IENhY2hlU2VydmljZSB9IGZyb20gJy4vY2FjaGUuc2VydmljZSc7XHJcbmV4cG9ydCB0eXBlIE1vZGVsVHlwZTxUIGV4dGVuZHMgQmFzZU1vZGVsPiA9IG5ldyAoZGF0YXN0b3JlOiBCYXNlRGF0YXN0b3JlLCBkYXRhOiBhbnkpID0+IFQ7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBCYXNlRGF0YXN0b3JlIHtcclxuICBwcm90ZWN0ZWQgY29uZmlnITogRGF0YXN0b3JlQ29uZmlnO1xyXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTp2YXJpYWJsZS1uYW1lXHJcbiAgcHJpdmF0ZSBfc3RvcmU6IHsgW3R5cGU6IHN0cmluZ106IHsgW2lkOiBzdHJpbmddOiBCYXNlTW9kZWwgfSB9ID0ge307XHJcbiAgLy8gdHNsaW50OmVuYWJsZTptYXgtbGluZS1sZW5ndGhcclxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6YmFuLXR5cGVzXHJcbiAgcHJpdmF0ZSB0b1F1ZXJ5U3RyaW5nOiBGdW5jdGlvbiA9IHRoaXMuZGF0YXN0b3JlQ29uZmlnLm92ZXJyaWRlc1xyXG4gICAgJiYgdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLnRvUXVlcnlTdHJpbmcgP1xyXG4gICAgdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLnRvUXVlcnlTdHJpbmcgOiB0aGlzLl90b1F1ZXJ5U3RyaW5nO1xyXG4gIC8vIHRzbGludDplbmFibGU6bWF4LWxpbmUtbGVuZ3RoXHJcblxyXG4gIHByaXZhdGUgZ2V0IGdldERpcnR5QXR0cmlidXRlcygpIHtcclxuICAgIGlmICh0aGlzLmRhdGFzdG9yZUNvbmZpZy5vdmVycmlkZXNcclxuICAgICAgJiYgdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLmdldERpcnR5QXR0cmlidXRlcykge1xyXG4gICAgICByZXR1cm4gdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLmdldERpcnR5QXR0cmlidXRlcztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBCYXNlRGF0YXN0b3JlLmdldERpcnR5QXR0cmlidXRlcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0QWxsQXR0cmlidXRlcygpIHtcclxuICAgIGlmICh0aGlzLmRhdGFzdG9yZUNvbmZpZy5vdmVycmlkZXNcclxuICAgICAgJiYgdGhpcy5kYXRhc3RvcmVDb25maWcub3ZlcnJpZGVzLmdldEFsbEF0dHJpYnV0ZXMpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuZGF0YXN0b3JlQ29uZmlnLm92ZXJyaWRlcy5nZXRBbGxBdHRyaWJ1dGVzO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIEJhc2VEYXRhc3RvcmUuZ2V0QWxsQXR0cmlidXRlcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIHByb3RlY3RlZCBjb25maWc6IERhdGFzdG9yZUNvbmZpZztcclxuXHJcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0RGlydHlBdHRyaWJ1dGVzKGF0dHJpYnV0ZXNNZXRhZGF0YTogYW55KTogeyBzdHJpbmc6IGFueSB9IHtcclxuICAgIGNvbnN0IGRpcnR5RGF0YTogYW55ID0ge307XHJcblxyXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eU5hbWUgaW4gYXR0cmlidXRlc01ldGFkYXRhKSB7XHJcbiAgICAgIGlmIChhdHRyaWJ1dGVzTWV0YWRhdGEuaGFzT3duUHJvcGVydHkocHJvcGVydHlOYW1lKSkge1xyXG4gICAgICAgIGNvbnN0IG1ldGFkYXRhOiBhbnkgPSBhdHRyaWJ1dGVzTWV0YWRhdGFbcHJvcGVydHlOYW1lXTtcclxuXHJcbiAgICAgICAgaWYgKG1ldGFkYXRhLmhhc0RpcnR5QXR0cmlidXRlcykge1xyXG4gICAgICAgICAgY29uc3QgYXR0cmlidXRlTmFtZSA9IG1ldGFkYXRhLnNlcmlhbGl6ZWROYW1lICE9IG51bGwgPyBtZXRhZGF0YS5zZXJpYWxpemVkTmFtZSA6IHByb3BlcnR5TmFtZTtcclxuICAgICAgICAgIGRpcnR5RGF0YVthdHRyaWJ1dGVOYW1lXSA9IG1ldGFkYXRhLnNlcmlhbGlzYXRpb25WYWx1ZSA/IG1ldGFkYXRhLnNlcmlhbGlzYXRpb25WYWx1ZSA6IG1ldGFkYXRhLm5ld1ZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGRpcnR5RGF0YTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3RhdGljIGdldEFsbEF0dHJpYnV0ZXMoYXR0cmlidXRlc01ldGFkYXRhOiBhbnkpOiB7IHN0cmluZzogYW55IH0ge1xyXG4gICAgY29uc3QgZGlydHlEYXRhOiBhbnkgPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBpbiBhdHRyaWJ1dGVzTWV0YWRhdGEpIHtcclxuICAgICAgaWYgKGF0dHJpYnV0ZXNNZXRhZGF0YS5oYXNPd25Qcm9wZXJ0eShwcm9wZXJ0eU5hbWUpKSB7XHJcbiAgICAgICAgY29uc3QgbWV0YWRhdGE6IGFueSA9IGF0dHJpYnV0ZXNNZXRhZGF0YVtwcm9wZXJ0eU5hbWVdO1xyXG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWUgPSBtZXRhZGF0YS5zZXJpYWxpemVkTmFtZSAhPSBudWxsID8gbWV0YWRhdGEuc2VyaWFsaXplZE5hbWUgOiBwcm9wZXJ0eU5hbWU7XHJcbiAgICAgICAgZGlydHlEYXRhW2F0dHJpYnV0ZU5hbWVdID0gbWV0YWRhdGEuc2VyaWFsaXNhdGlvblZhbHVlID8gbWV0YWRhdGEuc2VyaWFsaXNhdGlvblZhbHVlIDogbWV0YWRhdGEubmV3VmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBkaXJ0eURhdGE7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByb3RlY3RlZCBodHRwQ2xpZW50OiBIdHRwQ2xpZW50LFxyXG4gICAgcHJvdGVjdGVkIGNhY2hlU2VydmljZTogQ2FjaGVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBmaW5kQWxsPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KFxyXG4gICAgbW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPEJhc2VRdWVyeURhdGE8VD4+IHtcclxuICAgIGNvbnN0IGN1c3RvbUhlYWRoZXJzOiBIdHRwSGVhZGVycyA9IHRoaXMuYnVpbGRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG4gICAgY29uc3QgdXJsOiBzdHJpbmcgPSB0aGlzLmJ1aWxkVXJsKG1vZGVsVHlwZSwgY3VzdG9tVXJsKTtcclxuXHJcbiAgICBjb25zdCByZXNwb25zZSA9IHRoaXMuaHR0cENsaWVudC5nZXQodXJsLFxyXG4gICAgICB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAocmVzID0+IHRoaXMuZXh0cmFjdFF1ZXJ5RGF0YShyZXMsIG1vZGVsVHlwZSkpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICAgIHJldHVybiByZXNwb25zZTtcclxuXHJcbiAgfVxyXG5cclxuICBmaW5kUmVjb3JkPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KFxyXG4gICAgbW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sXHJcbiAgICBpZD86IHN0cmluZyxcclxuICAgIHBhcmFtcz86IGFueSxcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcclxuICAgIGN1c3RvbVVybD86IHN0cmluZ1xyXG4gICk6IE9ic2VydmFibGU8VD4ge1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBsZXQgdXJsOiBzdHJpbmcgPSB0aGlzLmJ1aWxkVXJsKG1vZGVsVHlwZSwgY3VzdG9tVXJsKTtcclxuICAgIGlmIChpZCkge1xyXG4gICAgICB1cmwgKz0gJy8nICsgaWQ7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG4gICAgY29uc3QgcmVzcG9uc2UgPSB0aGlzLmh0dHBDbGllbnQuZ2V0KHVybCwgeyBoZWFkZXJzOiBjdXN0b21IZWFkaGVycywgcGFyYW1zOiBodG1sUGFyYW1zLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSlcclxuICAgICAgLnBpcGUobWFwKHJlcyA9PiB0aGlzLmVudGl0eVRvTW9kZWwocmVzLCBtb2RlbFR5cGUsIHVuZGVmaW5lZCkpLFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICAgIHJldHVybiByZXNwb25zZTtcclxuXHJcbiAgfVxyXG4gIGdldEN1c3RvbTxVLCBUIGV4dGVuZHMgQmFzZU1vZGVsPihtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPixcclxuICAgIHBhcmFtcz86IGFueSxcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcclxuICAgIGN1c3RvbVVybD86IHN0cmluZyxcclxuICAgIGN1c3RvbVJlc3BvbnNlVHlwZT86IGFueSk6IE9ic2VydmFibGU8VT4ge1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG4gICAgaWYgKCFjdXN0b21SZXNwb25zZVR5cGUpXHJcbiAgICAgIGN1c3RvbVJlc3BvbnNlVHlwZSA9ICdqc29uJztcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQuZ2V0PFU+KHVybCwgeyBoZWFkZXJzOiBjdXN0b21IZWFkaGVycywgcGFyYW1zOiBodG1sUGFyYW1zLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUsIHJlc3BvbnNlVHlwZTogY3VzdG9tUmVzcG9uc2VUeXBlIH0pO1xyXG4gIH1cclxuXHJcbiAgcG9zdEN1c3RvbTxVLCBUIGV4dGVuZHMgQmFzZU1vZGVsPihtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPixcclxuICAgIGJvZHk6IGFueSxcclxuICAgIHBhcmFtcz86IGFueSxcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcclxuICAgIGN1c3RvbVVybD86IHN0cmluZyk6IE9ic2VydmFibGU8VT4ge1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5wb3N0PFU+KHVybCwgYm9keSwgeyBoZWFkZXJzOiBjdXN0b21IZWFkaGVycywgcGFyYW1zOiBodG1sUGFyYW1zLCByZXBvcnRQcm9ncmVzczogdHJ1ZSwgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xyXG4gIH1cclxuXHJcbiAgcGF0Y2hDdXN0b208VSwgVCBleHRlbmRzIEJhc2VNb2RlbD4obW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sXHJcbiAgICBib2R5OiBhbnksXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFU+IHtcclxuICAgIGNvbnN0IGN1c3RvbUhlYWRoZXJzOiBIdHRwSGVhZGVycyA9IHRoaXMuYnVpbGRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgY29uc3QgdXJsOiBzdHJpbmcgPSB0aGlzLmJ1aWxkVXJsKG1vZGVsVHlwZSwgY3VzdG9tVXJsKTtcclxuICAgIGNvbnN0IGh0bWxQYXJhbXMgPSB0aGlzLmJ1aWxkUGFyYW1zKG1vZGVsVHlwZSwgcGFyYW1zKTtcclxuICAgIHJldHVybiB0aGlzLmh0dHBDbGllbnQucGF0Y2g8VT4odXJsLCBib2R5LCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuICB9XHJcbiAgY3JlYXRlUmVjb3JkPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KG1vZGVsVHlwZTogTW9kZWxUeXBlPFQ+LCBkYXRhPzogYW55KTogVCB7XHJcbiAgICByZXR1cm4gbmV3IG1vZGVsVHlwZSh0aGlzLCBkYXRhKTtcclxuICB9XHJcblxyXG4gIHNhdmVSZWNvcmQ8VCBleHRlbmRzIEJhc2VNb2RlbD4oXHJcbiAgICBhdHRyaWJ1dGVzTWV0YWRhdGE6IGFueSwgbW9kZWw6IFQsXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmcsXHJcbiAgICBjdXN0b21Cb2R5PzogYW55XHJcbiAgKTogT2JzZXJ2YWJsZTxUPiB7XHJcbiAgICBjb25zdCBtb2RlbFR5cGUgPSBtb2RlbC5jb25zdHJ1Y3RvciBhcyBNb2RlbFR5cGU8VD47XHJcbiAgICBjb25zdCBtb2RlbENvbmZpZzogTW9kZWxDb25maWcgPSBtb2RlbC5tb2RlbENvbmZpZztcclxuICAgIGNvbnN0IGN1c3RvbUhlYWRoZXJzOiBIdHRwSGVhZGVycyA9IHRoaXMuYnVpbGRIZWFkZXJzKGhlYWRlcnMpO1xyXG4gICAgY29uc3QgdXJsOiBzdHJpbmcgPSB0aGlzLmJ1aWxkVXJsKG1vZGVsVHlwZSwgY3VzdG9tVXJsKTtcclxuICAgIGNvbnN0IGh0bWxQYXJhbXMgPSB0aGlzLmJ1aWxkUGFyYW1zKG1vZGVsVHlwZSwgcGFyYW1zKTtcclxuXHJcbiAgICBsZXQgaHR0cENhbGw6IE9ic2VydmFibGU8YW55PjtcclxuXHJcbiAgICBjb25zdCBib2R5ID0gY3VzdG9tQm9keSB8fCB0aGlzLm1vZGVsVG9FbnRpdHkobW9kZWwsIGF0dHJpYnV0ZXNNZXRhZGF0YSk7XHJcblxyXG4gICAgaWYgKG1vZGVsLmlkKSB7XHJcbiAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTptYXgtbGluZS1sZW5ndGhcclxuICAgICAgaHR0cENhbGwgPSB0aGlzLmh0dHBDbGllbnQucGF0Y2godXJsICsgJy8nICsgbW9kZWwuaWQsIGJvZHksIHsgaGVhZGVyczogY3VzdG9tSGVhZGhlcnMsIHBhcmFtczogaHRtbFBhcmFtcywgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaHR0cENhbGwgPSB0aGlzLmh0dHBDbGllbnQucG9zdCh1cmwsIGJvZHksIHsgaGVhZGVyczogY3VzdG9tSGVhZGhlcnMsIHBhcmFtczogaHRtbFBhcmFtcywgd2l0aENyZWRlbnRpYWxzOiB0cnVlIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBodHRwQ2FsbFxyXG4gICAgICAucGlwZShcclxuICAgICAgICBtYXAocmVzID0+IHtcclxuICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLmNsZWFyQ2FjaGVDb250YWluaW5nS2V5d29yZCh1cmwpO1xyXG4gICAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMucmVzZXRNZXRhZGF0YUF0dHJpYnV0ZXMocmVzLCBhdHRyaWJ1dGVzTWV0YWRhdGEsIG1vZGVsVHlwZSk7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5lbnRpdHlUb01vZGVsKGRhdGEsIG1vZGVsVHlwZSk7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcGF0Y2hSZWNvcmQ8VCBleHRlbmRzIEJhc2VNb2RlbD4oXHJcbiAgICBhdHRyaWJ1dGVzTWV0YWRhdGE6IGFueSwgbW9kZWw6IFQsXHJcbiAgICBvcmlnTW9kZWw6IFQsXHJcbiAgICBwYXJhbXM/OiBhbnksXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIGNvbnN0IG1vZGVsVHlwZSA9IG1vZGVsLmNvbnN0cnVjdG9yIGFzIE1vZGVsVHlwZTxUPjtcclxuICAgIGNvbnN0IG1vZGVsQ29uZmlnOiBNb2RlbENvbmZpZyA9IG1vZGVsLm1vZGVsQ29uZmlnO1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG5cclxuICAgIGxldCBodHRwQ2FsbDogT2JzZXJ2YWJsZTxhbnk+O1xyXG4gICAgbGV0IG9yaWdEYXRhID0geyBpZDogJycgfTtcclxuICAgIGlmIChvcmlnTW9kZWwpXHJcbiAgICAgIG9yaWdEYXRhID0gdGhpcy5tb2RlbFRvRW50aXR5KG9yaWdNb2RlbCwgb3JpZ01vZGVsLmF0dHJpYnV0ZU1ldGFkYXRhLCB0cnVlKTtcclxuICAgIGNvbnN0IG5ld0RhdGEgPSB0aGlzLm1vZGVsVG9FbnRpdHkobW9kZWwsIGF0dHJpYnV0ZXNNZXRhZGF0YSwgdHJ1ZSk7XHJcbiAgICBuZXdEYXRhLmlkID0gb3JpZ0RhdGEuaWQ7XHJcbiAgICBjb25zdCBwYXRjaCA9IGNvbXBhcmUob3JpZ0RhdGEsIG5ld0RhdGEpO1xyXG4gICAgaWYgKHBhdGNoLmxlbmd0aCA+IDApIHtcclxuICAgICAgaHR0cENhbGwgPSB0aGlzLmh0dHBDbGllbnQucGF0Y2godXJsICsgJy8nICsgbW9kZWwuaWQsIHBhdGNoLCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuXHJcbiAgICAgIHJldHVybiBodHRwQ2FsbFxyXG4gICAgICAgIC5waXBlKFxyXG4gICAgICAgICAgbWFwKHJlcyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuY2FjaGVTZXJ2aWNlLmNsZWFyQ2FjaGVDb250YWluaW5nS2V5d29yZCh1cmwpO1xyXG4gICAgICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5yZXNldE1ldGFkYXRhQXR0cmlidXRlcyhyZXMsIGF0dHJpYnV0ZXNNZXRhZGF0YSwgbW9kZWxUeXBlKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZW50aXR5VG9Nb2RlbChkYXRhLCBtb2RlbFR5cGUpO1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgob2JzZXJ2ZXI6IE9ic2VydmVyPFQ+KSA9PiB7XHJcbiAgICAgICAgb2JzZXJ2ZXIubmV4dChtb2RlbCk7XHJcbiAgICAgICAgb2JzZXJ2ZXIuY29tcGxldGUoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIGdldFBhdGNoPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KFxyXG4gIC8vICAgbW9kZWw6IFQsXHJcbiAgLy8gICBvcmlnTW9kZWw6IFQpOiBhbnkge1xyXG5cclxuICAvLyB9XHJcbiAgcmVwbGFjZVJlY29yZDxUIGV4dGVuZHMgQmFzZU1vZGVsPihcclxuICAgIGF0dHJpYnV0ZXNNZXRhZGF0YTogYW55LCBtb2RlbDogVCxcclxuICAgIHBhcmFtcz86IGFueSxcclxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcclxuICAgIGN1c3RvbVVybD86IHN0cmluZyxcclxuICAgIGN1c3RvbUJvZHk/OiBhbnlcclxuICApOiBPYnNlcnZhYmxlPFQ+IHtcclxuICAgIGNvbnN0IG1vZGVsVHlwZSA9IG1vZGVsLmNvbnN0cnVjdG9yIGFzIE1vZGVsVHlwZTxUPjtcclxuICAgIGNvbnN0IG1vZGVsQ29uZmlnOiBNb2RlbENvbmZpZyA9IG1vZGVsLm1vZGVsQ29uZmlnO1xyXG4gICAgY29uc3QgY3VzdG9tSGVhZGhlcnM6IEh0dHBIZWFkZXJzID0gdGhpcy5idWlsZEhlYWRlcnMoaGVhZGVycyk7XHJcbiAgICBjb25zdCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgY29uc3QgaHRtbFBhcmFtcyA9IHRoaXMuYnVpbGRQYXJhbXMobW9kZWxUeXBlLCBwYXJhbXMpO1xyXG5cclxuICAgIGxldCBodHRwQ2FsbDogT2JzZXJ2YWJsZTxhbnk+O1xyXG5cclxuICAgIGNvbnN0IGJvZHkgPSBjdXN0b21Cb2R5IHx8IHRoaXMubW9kZWxUb0VudGl0eShtb2RlbCwgYXR0cmlidXRlc01ldGFkYXRhLCB0cnVlKTtcclxuXHJcbiAgICBpZiAobW9kZWwuaWQpIHtcclxuICAgICAgaHR0cENhbGwgPSB0aGlzLmh0dHBDbGllbnQucHV0KHVybCArICcvJyArIG1vZGVsLmlkLCBib2R5LCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGh0dHBDYWxsID0gdGhpcy5odHRwQ2xpZW50LnBvc3QodXJsLCBib2R5LCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCBwYXJhbXM6IGh0bWxQYXJhbXMsIHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gaHR0cENhbGxcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHJlcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNhY2hlU2VydmljZS5jbGVhckNhY2hlQ29udGFpbmluZ0tleXdvcmQodXJsKTtcclxuICAgICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLnJlc2V0TWV0YWRhdGFBdHRyaWJ1dGVzKHJlcywgYXR0cmlidXRlc01ldGFkYXRhLCBtb2RlbFR5cGUpO1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZW50aXR5VG9Nb2RlbChkYXRhLCBtb2RlbFR5cGUpO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICAgKTtcclxuICB9XHJcblxyXG5cclxuICBkZWxldGVSZWNvcmQ8VCBleHRlbmRzIEJhc2VNb2RlbD4oXHJcbiAgICBtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPixcclxuICAgIGlkOiBzdHJpbmcsXHJcbiAgICBoZWFkZXJzPzogSHR0cEhlYWRlcnMsXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBPYnNlcnZhYmxlPHt9PiB7XHJcbiAgICBjb25zdCBjdXN0b21IZWFkaGVyczogSHR0cEhlYWRlcnMgPSB0aGlzLmJ1aWxkSGVhZGVycyhoZWFkZXJzKTtcclxuICAgIGxldCB1cmw6IHN0cmluZyA9IHRoaXMuYnVpbGRVcmwobW9kZWxUeXBlLCBjdXN0b21VcmwpO1xyXG4gICAgaWYgKCF1cmwuaW5jbHVkZXMoJ3NoYXJlJykpIHtcclxuICAgICAgdXJsID0gdXJsICsgJy8nICsgaWQ7XHJcbiAgICB9XHJcbiAgICAvLyBjb25zdCBpZFBhcmFtID0gbmV3IEh0dHBQYXJhbXMoKS5zZXQoJ2lkJywgaWQpO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cENsaWVudC5kZWxldGUodXJsLCB7IGhlYWRlcnM6IGN1c3RvbUhlYWRoZXJzLCB3aXRoQ3JlZGVudGlhbHM6IHRydWUgfSlcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgbWFwKHJlcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNhY2hlU2VydmljZS5jbGVhckNhY2hlQ29udGFpbmluZ0tleXdvcmQodXJsKTtcclxuICAgICAgICAgIHJldHVybiByZXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICksXHJcbiAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJ1aWxkVXJsPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KFxyXG4gICAgbW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sXHJcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmdcclxuICApOiBzdHJpbmcge1xyXG5cclxuICAgIGlmIChjdXN0b21VcmwpIHtcclxuICAgICAgcmV0dXJuIGN1c3RvbVVybDtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBtb2RlbENvbmZpZzogTW9kZWxDb25maWcgPSBSZWZsZWN0LmdldE1ldGFkYXRhKCdCYXNlTW9kZWxDb25maWcnLCBtb2RlbFR5cGUpO1xyXG5cclxuICAgIGNvbnN0IGJhc2VVcmwgPSBtb2RlbENvbmZpZy5iYXNlVXJsIHx8IHRoaXMuZGF0YXN0b3JlQ29uZmlnLmJhc2VVcmw7XHJcbiAgICBjb25zdCBhcGlWZXJzaW9uID0gbW9kZWxDb25maWcuYXBpVmVyc2lvbiB8fCB0aGlzLmRhdGFzdG9yZUNvbmZpZy5hcGlWZXJzaW9uO1xyXG4gICAgY29uc3QgbW9kZWxFbmRwb2ludFVybDogc3RyaW5nID0gbW9kZWxDb25maWcubW9kZWxFbmRwb2ludFVybCB8fCBtb2RlbENvbmZpZy50eXBlO1xyXG5cclxuICAgIGNvbnN0IHVybDogc3RyaW5nID0gW2Jhc2VVcmwsIGFwaVZlcnNpb24sIG1vZGVsRW5kcG9pbnRVcmxdLmZpbHRlcigoeCkgPT4geCkuam9pbignLycpO1xyXG5cclxuICAgIHJldHVybiB1cmw7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZXh0cmFjdFF1ZXJ5RGF0YTxUIGV4dGVuZHMgQmFzZU1vZGVsPihcclxuICAgIHJlczogYW55LFxyXG4gICAgbW9kZWxUeXBlOiBNb2RlbFR5cGU8VD5cclxuICApOiBCYXNlUXVlcnlEYXRhPFQ+IHtcclxuICAgIGxldCByZXN1bHQ7XHJcbiAgICBjb25zdCBib2R5OiBhbnkgPSByZXM7XHJcbiAgICBjb25zdCBtb2RlbHM6IFRbXSA9IFtdO1xyXG5cclxuICAgIGZvciAoY29uc3QgZGF0YSBvZiBib2R5LmRhdGEpIHtcclxuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLmVudGl0eVRvTW9kZWwoZGF0YSwgbW9kZWxUeXBlLCB1bmRlZmluZWQpO1xyXG4gICAgICBtb2RlbHMucHVzaChtb2RlbCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmVzdWx0ID0gbmV3IEJhc2VRdWVyeURhdGEobW9kZWxzLCB0aGlzLnBhcnNlTWV0YShib2R5LCBtb2RlbFR5cGUpKTtcclxuICAgIHJldHVybiByZXN1bHQ7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgZGVzZXJpYWxpemVNb2RlbDxUIGV4dGVuZHMgQmFzZU1vZGVsPihtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPiwgZGF0YTogYW55KSB7XHJcbiAgICBkYXRhID0gdGhpcy50cmFuc2Zvcm1TZXJpYWxpemVkTmFtZXNUb1Byb3BlcnR5TmFtZXMobW9kZWxUeXBlLCBkYXRhKTtcclxuICAgIHJldHVybiBuZXcgbW9kZWxUeXBlKHRoaXMsIGRhdGEpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGhhbmRsZUVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkge1xyXG4gICAgaWYgKGVycm9yLmVycm9yIGluc3RhbmNlb2YgRXJyb3JFdmVudCkge1xyXG4gICAgICAvLyBBIGNsaWVudC1zaWRlIG9yIG5ldHdvcmsgZXJyb3Igb2NjdXJyZWQuIEhhbmRsZSBpdCBhY2NvcmRpbmdseS5cclxuICAgICAgLy8gY29uc29sZS5lcnJvcignQW4gZXJyb3Igb2NjdXJyZWQ6JywgZXJyb3IuZXJyb3IubWVzc2FnZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBUaGUgYmFja2VuZCByZXR1cm5lZCBhbiB1bnN1Y2Nlc3NmdWwgcmVzcG9uc2UgY29kZS5cclxuICAgICAgLy8gVGhlIHJlc3BvbnNlIGJvZHkgbWF5IGNvbnRhaW4gY2x1ZXMgYXMgdG8gd2hhdCB3ZW50IHdyb25nLFxyXG4gICAgICAvLyBjb25zb2xlLmVycm9yKFxyXG4gICAgICAvLyAgICdCYWNrZW5kIHJldHVybmVkIGNvZGUgJHtlcnJvci5zdGF0dXN9LCAnICtcclxuICAgICAgLy8gICAnYm9keSB3YXM6ICR7ZXJyb3IuZXJyb3J9Jyk7XHJcbiAgICB9XHJcbiAgICAvLyByZXR1cm4gYW4gb2JzZXJ2YWJsZSB3aXRoIGEgdXNlci1mYWNpbmcgZXJyb3IgbWVzc2FnZVxyXG4gICAgcmV0dXJuIHRocm93RXJyb3IoZXJyb3IpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHBhcnNlTWV0YShib2R5OiBhbnksIG1vZGVsVHlwZTogTW9kZWxUeXBlPEJhc2VNb2RlbD4pOiBhbnkge1xyXG4gICAgY29uc3QgbWV0YU1vZGVsOiBhbnkgPSBSZWZsZWN0LmdldE1ldGFkYXRhKCdCYXNlTW9kZWxDb25maWcnLCBtb2RlbFR5cGUpLm1ldGE7XHJcbiAgICByZXR1cm4gbmV3IG1ldGFNb2RlbChib2R5KTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCByZXNldE1ldGFkYXRhQXR0cmlidXRlczxUIGV4dGVuZHMgQmFzZU1vZGVsPihyZXM6IFQsIGF0dHJpYnV0ZXNNZXRhZGF0YTogYW55LCBtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPikge1xyXG4gICAgLy8gVE9ETyBjaGVjayB3aHkgaXMgYXR0cmlidXRlc01ldGFkYXRhIGZyb20gdGhlIGFyZ3VtZW50cyBuZXZlciB1c2VkXHJcblxyXG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eU5hbWUgaW4gYXR0cmlidXRlc01ldGFkYXRhKSB7XHJcbiAgICAgIGlmIChhdHRyaWJ1dGVzTWV0YWRhdGEuaGFzT3duUHJvcGVydHkocHJvcGVydHlOYW1lKSkge1xyXG4gICAgICAgIGNvbnN0IG1ldGFkYXRhOiBhbnkgPSBhdHRyaWJ1dGVzTWV0YWRhdGFbcHJvcGVydHlOYW1lXTtcclxuXHJcbiAgICAgICAgaWYgKG1ldGFkYXRhLmhhc0RpcnR5QXR0cmlidXRlcykge1xyXG4gICAgICAgICAgbWV0YWRhdGEuaGFzRGlydHlBdHRyaWJ1dGVzID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJlcykge1xyXG4gICAgICByZXMuYXR0cmlidXRlTWV0YWRhdGEgPSBhdHRyaWJ1dGVzTWV0YWRhdGE7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBkYXRhc3RvcmVDb25maWcoKTogRGF0YXN0b3JlQ29uZmlnIHtcclxuICAgIGNvbnN0IGNvbmZpZ0Zyb21EZWNvcmF0b3I6IERhdGFzdG9yZUNvbmZpZyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0Jhc2VEYXRhc3RvcmVDb25maWcnLCB0aGlzLmNvbnN0cnVjdG9yKTtcclxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKGNvbmZpZ0Zyb21EZWNvcmF0b3IsIHRoaXMuY29uZmlnKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCB0cmFuc2Zvcm1TZXJpYWxpemVkTmFtZXNUb1Byb3BlcnR5TmFtZXM8VCBleHRlbmRzIEJhc2VNb2RlbD4obW9kZWxUeXBlOiBNb2RlbFR5cGU8VD4sIGF0dHJpYnV0ZXM6IGFueSkge1xyXG4gICAgY29uc3Qgc2VyaWFsaXplZE5hbWVUb1Byb3BlcnR5TmFtZSA9IHRoaXMuZ2V0TW9kZWxQcm9wZXJ0eU5hbWVzKG1vZGVsVHlwZS5wcm90b3R5cGUpO1xyXG4gICAgY29uc3QgcHJvcGVydGllczogYW55ID0ge307XHJcblxyXG4gICAgT2JqZWN0LmtleXMoc2VyaWFsaXplZE5hbWVUb1Byb3BlcnR5TmFtZSkuZm9yRWFjaCgoc2VyaWFsaXplZE5hbWUpID0+IHtcclxuICAgICAgaWYgKGF0dHJpYnV0ZXNbc2VyaWFsaXplZE5hbWVdICE9PSBudWxsICYmIGF0dHJpYnV0ZXNbc2VyaWFsaXplZE5hbWVdICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBwcm9wZXJ0aWVzW3NlcmlhbGl6ZWROYW1lVG9Qcm9wZXJ0eU5hbWVbc2VyaWFsaXplZE5hbWVdXSA9IGF0dHJpYnV0ZXNbc2VyaWFsaXplZE5hbWVdO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuXHJcbiAgICByZXR1cm4gcHJvcGVydGllcztcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXRNb2RlbFByb3BlcnR5TmFtZXMobW9kZWw6IEJhc2VNb2RlbCkge1xyXG4gICAgcmV0dXJuIFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0F0dHJpYnV0ZU1hcHBpbmcnLCBtb2RlbCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYnVpbGRIZWFkZXJzKGN1c3RvbUhlYWRlcnM/OiBIdHRwSGVhZGVycyk6IEh0dHBIZWFkZXJzIHtcclxuICAgIGNvbnN0IGhlYWRlcnM6IGFueSA9IHtcclxuICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbi1wYXRjaCtqc29uJyxcclxuICAgICAgLy8gJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi92bmQuYXBpK2pzb24nLFxyXG4gICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24tcGF0Y2granNvbidcclxuICAgIH07XHJcbiAgICBpZiAoY3VzdG9tSGVhZGVycyAmJiBjdXN0b21IZWFkZXJzLmtleXMoKS5sZW5ndGgpIHtcclxuICAgICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnZhcmlhYmxlLW5hbWVcclxuICAgICAgT2JqZWN0LmFzc2lnbih7fSwgaGVhZGVycywgY3VzdG9tSGVhZGVycy5rZXlzKCkubWFwKGhlYWRlcl9uYW1lID0+IHtcclxuICAgICAgICBoZWFkZXJzWycnICsgaGVhZGVyX25hbWVdID0gY3VzdG9tSGVhZGVycy5nZXQoaGVhZGVyX25hbWUpO1xyXG4gICAgICB9KSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IEh0dHBIZWFkZXJzKGhlYWRlcnMpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGJ1aWxkUGFyYW1zPFQgZXh0ZW5kcyBCYXNlTW9kZWw+KG1vZGVsVHlwZTogTW9kZWxUeXBlPFQ+LFxyXG4gICAgcGFyYW1zOiBhbnkpOiBIdHRwUGFyYW1zIHtcclxuICAgIGxldCBodHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcclxuICAgIGlmIChwYXJhbXMpIHtcclxuICAgICAgT2JqZWN0LmtleXMocGFyYW1zKVxyXG4gICAgICAgIC5maWx0ZXIoa2V5ID0+IHtcclxuICAgICAgICAgIGNvbnN0IHYgPSBwYXJhbXNba2V5XTtcclxuICAgICAgICAgIHJldHVybiAoQXJyYXkuaXNBcnJheSh2KSB8fCB0eXBlb2YgdiA9PT0gJ3N0cmluZycpID9cclxuICAgICAgICAgICAgKHYubGVuZ3RoID4gMCkgOlxyXG4gICAgICAgICAgICAodiAhPT0gbnVsbCAmJiB2ICE9PSB1bmRlZmluZWQpO1xyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZvckVhY2goa2V5ID0+IHtcclxuICAgICAgICAgIGh0dHBQYXJhbXMgPSBodHRwUGFyYW1zLnNldChrZXksIHBhcmFtc1trZXldKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIGNvbnN0IG1vZGVsQ29uZmlnOiBNb2RlbENvbmZpZyA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoJ0Jhc2VNb2RlbENvbmZpZycsIG1vZGVsVHlwZSk7XHJcbiAgICBodHRwUGFyYW1zID0gaHR0cFBhcmFtcy5zZXQoJ2J5cGFzc0NhY2hlJywgbW9kZWxDb25maWcuYnlwYXNzQ2FjaGUgfHwgZmFsc2UpO1xyXG4gICAgcmV0dXJuIGh0dHBQYXJhbXM7XHJcbiAgfVxyXG5cclxuXHJcbiAgcHJvdGVjdGVkIGVudGl0eVRvTW9kZWw8VCBleHRlbmRzIEJhc2VNb2RlbD4oXHJcbiAgICByZXM6IGFueSxcclxuICAgIG1vZGVsVHlwZTogTW9kZWxUeXBlPFQ+LFxyXG4gICAgbW9kZWw/OiBUXHJcbiAgKSB7XHJcbiAgICByZXR1cm4gdGhpcy5leHRyYWN0UmVjb3JkRGF0YUpzb24ocmVzLCBtb2RlbFR5cGUsIG1vZGVsKTtcclxuICB9XHJcblxyXG5cclxuICBwcml2YXRlIGV4dHJhY3RSZWNvcmREYXRhSnNvbjxUIGV4dGVuZHMgQmFzZU1vZGVsPihcclxuICAgIHJlczogUmVzcG9uc2UsXHJcbiAgICBtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPixcclxuICAgIG1vZGVsPzogVFxyXG4gICk6IFQge1xyXG4gICAgY29uc3QgYm9keTogYW55ID0gcmVzO1xyXG4gICAgaWYgKCFib2R5KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignbm8gYm9keSBpbiByZXNwb25zZScpO1xyXG4gICAgfVxyXG4gICAgaWYgKG1vZGVsKSB7XHJcbiAgICAgIE9iamVjdC5hc3NpZ24obW9kZWwsIGJvZHkpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZGVzZXJpYWxpemVkTW9kZWwgPSBtb2RlbCB8fCB0aGlzLmRlc2VyaWFsaXplTW9kZWwobW9kZWxUeXBlLCBib2R5LmRhdGEgfHwgYm9keSk7XHJcbiAgICByZXR1cm4gZGVzZXJpYWxpemVkTW9kZWw7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbW9kZWxUb0VudGl0eTxUIGV4dGVuZHMgQmFzZU1vZGVsPihcclxuICAgIG1vZGVsOiBULFxyXG4gICAgYXR0cmlidXRlc01ldGFkYXRhOiBhbnksXHJcbiAgICBhbGxBdHRyaWJ1dGVzOiBib29sZWFuID0gZmFsc2VcclxuICApOiBhbnkge1xyXG4gICAgbGV0IGF0dHJpYnV0ZXM7XHJcbiAgICBpZiAoYWxsQXR0cmlidXRlcykge1xyXG4gICAgICBhdHRyaWJ1dGVzID0gdGhpcy5nZXRBbGxBdHRyaWJ1dGVzKGF0dHJpYnV0ZXNNZXRhZGF0YSwgbW9kZWwpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYXR0cmlidXRlcyA9IHRoaXMuZ2V0RGlydHlBdHRyaWJ1dGVzKGF0dHJpYnV0ZXNNZXRhZGF0YSwgbW9kZWwpO1xyXG4gICAgfVxyXG4gICAgLy8gdGhpcy5nZXRSZWxhdGlvbnNoaXBzKG1vZGVsLCBhdHRyaWJ1dGVzKTtcclxuICAgIHJldHVybiBhdHRyaWJ1dGVzO1xyXG4gIH1cclxuICBwcml2YXRlIF90b1F1ZXJ5U3RyaW5nKHBhcmFtczogYW55KTogc3RyaW5nIHtcclxuICAgIHJldHVybiBxcy5zdHJpbmdpZnkocGFyYW1zLCB7IGFycmF5Rm9ybWF0OiAnYnJhY2tldHMnIH0pO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiJdfQ==
@@ -87,13 +87,13 @@ export class BaseService {
87
87
  getSelectValues(property) {
88
88
  return null;
89
89
  }
90
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BaseService, deps: [{ token: i1.BaseDatastore }], target: i0.ɵɵFactoryTarget.Injectable }); }
91
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BaseService, providedIn: 'root' }); }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseService, deps: [{ token: i1.BaseDatastore }], target: i0.ɵɵFactoryTarget.Injectable }); }
91
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseService, providedIn: 'root' }); }
92
92
  }
93
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: BaseService, decorators: [{
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: BaseService, decorators: [{
94
94
  type: Injectable,
95
95
  args: [{
96
96
  providedIn: 'root'
97
97
  }]
98
98
  }], ctorParameters: function () { return [{ type: i1.BaseDatastore }]; } });
99
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9iYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXNCLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJdEUsT0FBTyxFQUFFLGFBQWEsRUFBYSxNQUFNLDBCQUEwQixDQUFDOzs7QUFNcEUsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFBbUIsU0FBd0I7UUFBeEIsY0FBUyxHQUFULFNBQVMsQ0FBZTtJQUMzQyxDQUFDO0lBQ0QsWUFBWSxDQUFDLFNBQXVCO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxHQUFHLENBQUMsRUFBUSxFQUFFLGdCQUF3QixFQUFFO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUNsRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVksRUFDakIsUUFBZ0IsRUFDaEIsT0FBZSxFQUFFLEVBQ2pCLFVBQWtCLEVBQUUsRUFDcEIsZ0JBQXdCLEVBQUU7UUFDMUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFDcEQ7WUFDRSxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLEtBQUssRUFBRSxJQUFJO1lBQ1gsT0FBTyxFQUFFLE9BQU87WUFDaEIsYUFBYTtTQUNkLENBQUMsQ0FBQztRQUNMLE9BQU8sUUFBUSxDQUFDO0lB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RCxpQ0FBaUM7UUFDakMsb0JBQW9CO1FBQ3BCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQyxTQUFTLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDMUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzlCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxlQUFlLENBQUMsUUFBZ0I7UUFDOUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzhHQXhHVSxXQUFXO2tIQUFYLFdBQVcsY0FGVixNQUFNOzsyRkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmFzZVF1ZXJ5RGF0YSB9IGZyb20gJy4uL21vZGVscy9iYXNlLXF1ZXJ5LWRhdGEnO1xuaW1wb3J0IHsgQmFzZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2Jhc2UubW9kZWwnO1xuaW1wb3J0IHsgQmFzZURhdGFzdG9yZSwgTW9kZWxUeXBlIH0gZnJvbSAnLi9iYXNlLWRhdGFzdG9yZS5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYXNlU2VydmljZTxUIGV4dGVuZHMgQmFzZU1vZGVsPiB7XG4gIHB1YmxpYyBtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPjtcbiAgY29uc3RydWN0b3IocHVibGljIGRhdGFzdG9yZTogQmFzZURhdGFzdG9yZSkge1xuICB9XG4gIHNldE1vZGVsVHlwZShtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPikge1xuICAgIHRoaXMubW9kZWxUeXBlID0gbW9kZWxUeXBlO1xuICB9XG5cbiAgZ2V0KGlkPzogYW55LCBjdXN0b21JbmNsdWRlOiBzdHJpbmcgPSAnJyk6IE9ic2VydmFibGU8VD4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gdGhpcy5kYXRhc3RvcmUuZmluZFJlY29yZCh0aGlzLm1vZGVsVHlwZSwgaWQsIHsgY3VzdG9tSW5jbHVkZSB9KTtcbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICBnZXRBbGwocGFnZTogbnVtYmVyLFxuICAgIHBhZ2VTaXplOiBudW1iZXIsXG4gICAgc29ydDogc3RyaW5nID0gJycsXG4gICAgZmlsdGVyczogc3RyaW5nID0gJycsXG4gICAgY3VzdG9tSW5jbHVkZTogc3RyaW5nID0gJycpOiBPYnNlcnZhYmxlPEJhc2VRdWVyeURhdGE8VD4+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IHRoaXMuZGF0YXN0b3JlLmZpbmRBbGwodGhpcy5tb2RlbFR5cGUsXG4gICAgICB7XG4gICAgICAgIFBhZ2U6IHBhZ2UsXG4gICAgICAgIFBhZ2VTaXplOiBwYWdlU2l6ZSxcbiAgICAgICAgU29ydHM6IHNvcnQsXG4gICAgICAgIEZpbHRlcnM6IGZpbHRlcnMsXG4gICAgICAgIGN1c3RvbUluY2x1ZGVcbiAgICAgIH0pO1xuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuICBkZWxldGUoaWQ6IGFueSk6IE9ic2VydmFibGU8e30+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IHRoaXMuZGF0YXN0b3JlLmRlbGV0ZVJlY29yZCh0aGlzLm1vZGVsVHlwZSwgaWQpO1xuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuICBnZXRDdXN0b208VT4ocGFyYW1zPzogYW55LFxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmcsXG4gICAgY3VzdG9tUmVzcG9uc2VUeXBlPzogYW55KTogT2JzZXJ2YWJsZTxVPiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YXN0b3JlLmdldEN1c3RvbTxVLCBUPih0aGlzLm1vZGVsVHlwZSwgcGFyYW1zLCBoZWFkZXJzLCBjdXN0b21VcmwsIGN1c3RvbVJlc3BvbnNlVHlwZSk7XG4gIH1cbiAgcG9zdEN1c3RvbTxVPihcbiAgICBib2R5OiBhbnksXG4gICAgcGFyYW1zPzogYW55LFxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFU+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhc3RvcmUucG9zdEN1c3RvbTxVLCBUPih0aGlzLm1vZGVsVHlwZSwgYm9keSwgcGFyYW1zLCBoZWFkZXJzLCBjdXN0b21VcmwpO1xuICB9XG4gIHBhdGNoQ3VzdG9tPFU+KFxuICAgIGJvZHk6IGFueSxcbiAgICBwYXJhbXM/OiBhbnksXG4gICAgaGVhZGVycz86IEh0dHBIZWFkZXJzLFxuICAgIGN1c3RvbVVybD86IHN0cmluZyk6IE9ic2VydmFibGU8VT4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFzdG9yZS5wYXRjaEN1c3RvbTxVLCBUPih0aGlzLm1vZGVsVHlwZSwgYm9keSwgcGFyYW1zLCBoZWFkZXJzLCBjdXN0b21VcmwpO1xuICB9XG4gIC8vIGNoZWNrSWZQcm9wZXJ0eVVuaXF1ZShwcm9wZXJ0eTogc3RyaW5nLCB2YWx1ZTogYW55KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG5cbiAgLy8gfVxuXG4gIHNhdmUoZG9jVHlwZU9yRm9ybUdyb3VwOiBUIHwgVW50eXBlZEZvcm1Hcm91cCwgaWQ/OiBhbnksIG9yaWdNb2RlbD86IFQpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBpZiAoaWQgPT0gbnVsbCkge1xuICAgICAgbGV0IGZyb21Nb2RlbDogVDtcbiAgICAgIGlmIChkb2NUeXBlT3JGb3JtR3JvdXAgaW5zdGFuY2VvZiBVbnR5cGVkRm9ybUdyb3VwKSB7XG4gICAgICAgIGZyb21Nb2RlbCA9IHRoaXMuZnJvbUZvcm1Hcm91cChkb2NUeXBlT3JGb3JtR3JvdXAsIGlkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZyb21Nb2RlbCA9IGRvY1R5cGVPckZvcm1Hcm91cDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmRhdGFzdG9yZS5jcmVhdGVSZWNvcmQodGhpcy5tb2RlbFR5cGUsIGZyb21Nb2RlbCk7XG4gICAgICByZXR1cm4gZGF0YS5zYXZlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnBhdGNoKGRvY1R5cGVPckZvcm1Hcm91cCwgb3JpZ01vZGVsLCBpZCk7XG4gICAgfVxuICB9XG5cbiAgcGF0Y2goZG9jVHlwZU9yRm9ybUdyb3VwOiBUIHwgVW50eXBlZEZvcm1Hcm91cCwgb3JpZ01vZGVsOiBULCBpZD86IGFueSk6IE9ic2VydmFibGU8VD4ge1xuICAgIGxldCBmcm9tTW9kZWw6IFQ7XG4gICAgaWYgKGRvY1R5cGVPckZvcm1Hcm91cCBpbnN0YW5jZW9mIFVudHlwZWRGb3JtR3JvdXApIHtcbiAgICAgIGZyb21Nb2RlbCA9IHRoaXMuZnJvbUZvcm1Hcm91cChkb2NUeXBlT3JGb3JtR3JvdXAsIGlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZnJvbU1vZGVsID0gZG9jVHlwZU9yRm9ybUdyb3VwO1xuICAgIH1cbiAgICBjb25zdCBkYXRhID0gdGhpcy5kYXRhc3RvcmUuY3JlYXRlUmVjb3JkKHRoaXMubW9kZWxUeXBlLCBmcm9tTW9kZWwpO1xuICAgIHJldHVybiBkYXRhLnBhdGNoKG9yaWdNb2RlbCk7XG4gIH1cblxuICBuZXdNb2RlbChkYXRhPzogYW55KTogVCB7XG4gICAgcmV0dXJuIG5ldyB0aGlzLm1vZGVsVHlwZSh0aGlzLmRhdGFzdG9yZSwgZGF0YSk7XG4gIH1cblxuICB0b0Zvcm1Hcm91cChmYjogVW50eXBlZEZvcm1CdWlsZGVyLCBmcm9tTW9kZWw/OiBUKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgaWYgKGZyb21Nb2RlbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBmcm9tTW9kZWwgPSB0aGlzLm5ld01vZGVsKCk7XG4gICAgfVxuICAgIHJldHVybiBmcm9tTW9kZWwuZ2V0RnJvbUdyb3VwKGZiKTtcbiAgfVxuXG4gIGZyb21Gb3JtR3JvdXAoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwLCBpZD86IGFueSk6IFQge1xuICAgIC8vIGNvbnN0IHNhdmVNb2RlbCA9IHRoaXMubmV3TW9kZWwoZm9ybUdyb3VwLmdldFJhd1ZhbHVlKCkpO1xuICAgIC8vIHNhdmVNb2RlbC5pZCA9IGlkID8gaWQgOiBudWxsO1xuICAgIC8vIHJldHVybiBzYXZlTW9kZWw7XG4gICAgY29uc3Qgc2F2ZU1vZGVsID0gdGhpcy5uZXdNb2RlbCgpO1xuICAgIHNhdmVNb2RlbC5nZXRNb2RlbEZyb21Gb3JtR3JvdXAoZm9ybUdyb3VwKVxuICAgIHNhdmVNb2RlbC5pZCA9IGlkID8gaWQgOiBudWxsO1xuICAgIHJldHVybiBzYXZlTW9kZWw7XG4gIH1cbiAgZ2V0U2VsZWN0VmFsdWVzKHByb3BlcnR5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn0iXX0=
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy9iYXNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQXNCLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJdEUsT0FBTyxFQUFFLGFBQWEsRUFBYSxNQUFNLDBCQUEwQixDQUFDOzs7QUFNcEUsTUFBTSxPQUFPLFdBQVc7SUFFdEIsWUFBbUIsU0FBd0I7UUFBeEIsY0FBUyxHQUFULFNBQVMsQ0FBZTtJQUMzQyxDQUFDO0lBQ0QsWUFBWSxDQUFDLFNBQXVCO1FBQ2xDLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO0lBQzdCLENBQUM7SUFFRCxHQUFHLENBQUMsRUFBUSxFQUFFLGdCQUF3QixFQUFFO1FBQ3RDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUNsRixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVksRUFDakIsUUFBZ0IsRUFDaEIsT0FBZSxFQUFFLEVBQ2pCLFVBQWtCLEVBQUUsRUFDcEIsZ0JBQXdCLEVBQUU7UUFDMUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFDcEQ7WUFDRSxJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLEtBQUssRUFBRSxJQUFJO1lBQ1gsT0FBTyxFQUFFLE9BQU87WUFDaEIsYUFBYTtTQUNkLENBQUMsQ0FBQztRQUNMLE9BQU8sUUFBUSxDQUFDO0lB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RCxpQ0FBaUM7UUFDakMsb0JBQW9CO1FBQ3BCLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQyxTQUFTLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDMUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzlCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFDRCxlQUFlLENBQUMsUUFBZ0I7UUFDOUIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOytHQXhHVSxXQUFXO21IQUFYLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQmFzZVF1ZXJ5RGF0YSB9IGZyb20gJy4uL21vZGVscy9iYXNlLXF1ZXJ5LWRhdGEnO1xuaW1wb3J0IHsgQmFzZU1vZGVsIH0gZnJvbSAnLi4vbW9kZWxzL2Jhc2UubW9kZWwnO1xuaW1wb3J0IHsgQmFzZURhdGFzdG9yZSwgTW9kZWxUeXBlIH0gZnJvbSAnLi9iYXNlLWRhdGFzdG9yZS5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBCYXNlU2VydmljZTxUIGV4dGVuZHMgQmFzZU1vZGVsPiB7XG4gIHB1YmxpYyBtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPjtcbiAgY29uc3RydWN0b3IocHVibGljIGRhdGFzdG9yZTogQmFzZURhdGFzdG9yZSkge1xuICB9XG4gIHNldE1vZGVsVHlwZShtb2RlbFR5cGU6IE1vZGVsVHlwZTxUPikge1xuICAgIHRoaXMubW9kZWxUeXBlID0gbW9kZWxUeXBlO1xuICB9XG5cbiAgZ2V0KGlkPzogYW55LCBjdXN0b21JbmNsdWRlOiBzdHJpbmcgPSAnJyk6IE9ic2VydmFibGU8VD4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gdGhpcy5kYXRhc3RvcmUuZmluZFJlY29yZCh0aGlzLm1vZGVsVHlwZSwgaWQsIHsgY3VzdG9tSW5jbHVkZSB9KTtcbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICBnZXRBbGwocGFnZTogbnVtYmVyLFxuICAgIHBhZ2VTaXplOiBudW1iZXIsXG4gICAgc29ydDogc3RyaW5nID0gJycsXG4gICAgZmlsdGVyczogc3RyaW5nID0gJycsXG4gICAgY3VzdG9tSW5jbHVkZTogc3RyaW5nID0gJycpOiBPYnNlcnZhYmxlPEJhc2VRdWVyeURhdGE8VD4+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IHRoaXMuZGF0YXN0b3JlLmZpbmRBbGwodGhpcy5tb2RlbFR5cGUsXG4gICAgICB7XG4gICAgICAgIFBhZ2U6IHBhZ2UsXG4gICAgICAgIFBhZ2VTaXplOiBwYWdlU2l6ZSxcbiAgICAgICAgU29ydHM6IHNvcnQsXG4gICAgICAgIEZpbHRlcnM6IGZpbHRlcnMsXG4gICAgICAgIGN1c3RvbUluY2x1ZGVcbiAgICAgIH0pO1xuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuICBkZWxldGUoaWQ6IGFueSk6IE9ic2VydmFibGU8e30+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IHRoaXMuZGF0YXN0b3JlLmRlbGV0ZVJlY29yZCh0aGlzLm1vZGVsVHlwZSwgaWQpO1xuICAgIHJldHVybiByZXNwb25zZTtcbiAgfVxuICBnZXRDdXN0b208VT4ocGFyYW1zPzogYW55LFxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmcsXG4gICAgY3VzdG9tUmVzcG9uc2VUeXBlPzogYW55KTogT2JzZXJ2YWJsZTxVPiB7XG4gICAgcmV0dXJuIHRoaXMuZGF0YXN0b3JlLmdldEN1c3RvbTxVLCBUPih0aGlzLm1vZGVsVHlwZSwgcGFyYW1zLCBoZWFkZXJzLCBjdXN0b21VcmwsIGN1c3RvbVJlc3BvbnNlVHlwZSk7XG4gIH1cbiAgcG9zdEN1c3RvbTxVPihcbiAgICBib2R5OiBhbnksXG4gICAgcGFyYW1zPzogYW55LFxuICAgIGhlYWRlcnM/OiBIdHRwSGVhZGVycyxcbiAgICBjdXN0b21Vcmw/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFU+IHtcbiAgICByZXR1cm4gdGhpcy5kYXRhc3RvcmUucG9zdEN1c3RvbTxVLCBUPih0aGlzLm1vZGVsVHlwZSwgYm9keSwgcGFyYW1zLCBoZWFkZXJzLCBjdXN0b21VcmwpO1xuICB9XG4gIHBhdGNoQ3VzdG9tPFU+KFxuICAgIGJvZHk6IGFueSxcbiAgICBwYXJhbXM/OiBhbnksXG4gICAgaGVhZGVycz86IEh0dHBIZWFkZXJzLFxuICAgIGN1c3RvbVVybD86IHN0cmluZyk6IE9ic2VydmFibGU8VT4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFzdG9yZS5wYXRjaEN1c3RvbTxVLCBUPih0aGlzLm1vZGVsVHlwZSwgYm9keSwgcGFyYW1zLCBoZWFkZXJzLCBjdXN0b21VcmwpO1xuICB9XG4gIC8vIGNoZWNrSWZQcm9wZXJ0eVVuaXF1ZShwcm9wZXJ0eTogc3RyaW5nLCB2YWx1ZTogYW55KTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG5cbiAgLy8gfVxuXG4gIHNhdmUoZG9jVHlwZU9yRm9ybUdyb3VwOiBUIHwgVW50eXBlZEZvcm1Hcm91cCwgaWQ/OiBhbnksIG9yaWdNb2RlbD86IFQpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICBpZiAoaWQgPT0gbnVsbCkge1xuICAgICAgbGV0IGZyb21Nb2RlbDogVDtcbiAgICAgIGlmIChkb2NUeXBlT3JGb3JtR3JvdXAgaW5zdGFuY2VvZiBVbnR5cGVkRm9ybUdyb3VwKSB7XG4gICAgICAgIGZyb21Nb2RlbCA9IHRoaXMuZnJvbUZvcm1Hcm91cChkb2NUeXBlT3JGb3JtR3JvdXAsIGlkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZyb21Nb2RlbCA9IGRvY1R5cGVPckZvcm1Hcm91cDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmRhdGFzdG9yZS5jcmVhdGVSZWNvcmQodGhpcy5tb2RlbFR5cGUsIGZyb21Nb2RlbCk7XG4gICAgICByZXR1cm4gZGF0YS5zYXZlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLnBhdGNoKGRvY1R5cGVPckZvcm1Hcm91cCwgb3JpZ01vZGVsLCBpZCk7XG4gICAgfVxuICB9XG5cbiAgcGF0Y2goZG9jVHlwZU9yRm9ybUdyb3VwOiBUIHwgVW50eXBlZEZvcm1Hcm91cCwgb3JpZ01vZGVsOiBULCBpZD86IGFueSk6IE9ic2VydmFibGU8VD4ge1xuICAgIGxldCBmcm9tTW9kZWw6IFQ7XG4gICAgaWYgKGRvY1R5cGVPckZvcm1Hcm91cCBpbnN0YW5jZW9mIFVudHlwZWRGb3JtR3JvdXApIHtcbiAgICAgIGZyb21Nb2RlbCA9IHRoaXMuZnJvbUZvcm1Hcm91cChkb2NUeXBlT3JGb3JtR3JvdXAsIGlkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZnJvbU1vZGVsID0gZG9jVHlwZU9yRm9ybUdyb3VwO1xuICAgIH1cbiAgICBjb25zdCBkYXRhID0gdGhpcy5kYXRhc3RvcmUuY3JlYXRlUmVjb3JkKHRoaXMubW9kZWxUeXBlLCBmcm9tTW9kZWwpO1xuICAgIHJldHVybiBkYXRhLnBhdGNoKG9yaWdNb2RlbCk7XG4gIH1cblxuICBuZXdNb2RlbChkYXRhPzogYW55KTogVCB7XG4gICAgcmV0dXJuIG5ldyB0aGlzLm1vZGVsVHlwZSh0aGlzLmRhdGFzdG9yZSwgZGF0YSk7XG4gIH1cblxuICB0b0Zvcm1Hcm91cChmYjogVW50eXBlZEZvcm1CdWlsZGVyLCBmcm9tTW9kZWw/OiBUKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgaWYgKGZyb21Nb2RlbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBmcm9tTW9kZWwgPSB0aGlzLm5ld01vZGVsKCk7XG4gICAgfVxuICAgIHJldHVybiBmcm9tTW9kZWwuZ2V0RnJvbUdyb3VwKGZiKTtcbiAgfVxuXG4gIGZyb21Gb3JtR3JvdXAoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwLCBpZD86IGFueSk6IFQge1xuICAgIC8vIGNvbnN0IHNhdmVNb2RlbCA9IHRoaXMubmV3TW9kZWwoZm9ybUdyb3VwLmdldFJhd1ZhbHVlKCkpO1xuICAgIC8vIHNhdmVNb2RlbC5pZCA9IGlkID8gaWQgOiBudWxsO1xuICAgIC8vIHJldHVybiBzYXZlTW9kZWw7XG4gICAgY29uc3Qgc2F2ZU1vZGVsID0gdGhpcy5uZXdNb2RlbCgpO1xuICAgIHNhdmVNb2RlbC5nZXRNb2RlbEZyb21Gb3JtR3JvdXAoZm9ybUdyb3VwKVxuICAgIHNhdmVNb2RlbC5pZCA9IGlkID8gaWQgOiBudWxsO1xuICAgIHJldHVybiBzYXZlTW9kZWw7XG4gIH1cbiAgZ2V0U2VsZWN0VmFsdWVzKHByb3BlcnR5OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueVtdPiB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn0iXX0=
@@ -23,13 +23,13 @@ export class CacheService {
23
23
  const keysToDelete = Object.keys(this.cache).filter(key => key.includes(keyword));
24
24
  keysToDelete.forEach(key => this.delete(key));
25
25
  }
26
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
27
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CacheService, providedIn: 'root' }); }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: CacheService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
27
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: CacheService, providedIn: 'root' }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: CacheService, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: CacheService, decorators: [{
30
30
  type: Injectable,
31
31
  args: [{
32
32
  providedIn: 'root'
33
33
  }]
34
34
  }], ctorParameters: function () { return []; } });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvc2VydmljZXMvY2FjaGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sWUFBWTtJQUd2QjtRQUZRLFVBQUssR0FBeUQsRUFBRSxDQUFDO0lBRTFELENBQUM7SUFFaEIsR0FBRyxDQUFDLEdBQVc7UUFDYixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3BELE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQztTQUN4QjtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxJQUFTLEVBQUUsV0FBbUI7UUFDN0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLFdBQVcsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELDJCQUEyQixDQUFDLE9BQWU7UUFDekMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQzs4R0ExQlUsWUFBWTtrSEFBWixZQUFZLGNBRlgsTUFBTTs7MkZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENhY2hlU2VydmljZSB7XG4gIHByaXZhdGUgY2FjaGU6IHsgW2tleTogc3RyaW5nXTogeyBkYXRhOiBhbnksIGV4cGlyYXRpb246IG51bWJlciB9IH0gPSB7fTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZ2V0KGtleTogc3RyaW5nKTogYW55IHtcbiAgICBjb25zdCBjYWNoZWRJdGVtID0gdGhpcy5jYWNoZVtrZXldO1xuICAgIGlmIChjYWNoZWRJdGVtICYmIGNhY2hlZEl0ZW0uZXhwaXJhdGlvbiA+IERhdGUubm93KCkpIHtcbiAgICAgIHJldHVybiBjYWNoZWRJdGVtLmRhdGE7XG4gICAgfVxuICAgIHRoaXMuZGVsZXRlKGtleSk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzZXQoa2V5OiBzdHJpbmcsIGRhdGE6IGFueSwgZXhwaXJlc0luTXM6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGV4cGlyYXRpb24gPSBEYXRlLm5vdygpICsgZXhwaXJlc0luTXM7XG4gICAgdGhpcy5jYWNoZVtrZXldID0geyBkYXRhLCBleHBpcmF0aW9uIH07XG4gIH1cblxuICBkZWxldGUoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBkZWxldGUgdGhpcy5jYWNoZVtrZXldO1xuICB9XG5cbiAgY2xlYXJDYWNoZUNvbnRhaW5pbmdLZXl3b3JkKGtleXdvcmQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGtleXNUb0RlbGV0ZSA9IE9iamVjdC5rZXlzKHRoaXMuY2FjaGUpLmZpbHRlcihrZXkgPT4ga2V5LmluY2x1ZGVzKGtleXdvcmQpKTtcbiAgICBrZXlzVG9EZWxldGUuZm9yRWFjaChrZXkgPT4gdGhpcy5kZWxldGUoa2V5KSk7XG4gIH1cbn1cbiJdfQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Jvc29mdGxhYi9jb3JlL3NyYy9saWIvc2VydmljZXMvY2FjaGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sWUFBWTtJQUd2QjtRQUZRLFVBQUssR0FBeUQsRUFBRSxDQUFDO0lBRTFELENBQUM7SUFFaEIsR0FBRyxDQUFDLEdBQVc7UUFDYixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25DLElBQUksVUFBVSxJQUFJLFVBQVUsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3BELE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQztTQUN4QjtRQUNELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxJQUFTLEVBQUUsV0FBbUI7UUFDN0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLFdBQVcsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBVztRQUNoQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUVELDJCQUEyQixDQUFDLE9BQWU7UUFDekMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2xGLFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQzsrR0ExQlUsWUFBWTttSEFBWixZQUFZLGNBRlgsTUFBTTs7NEZBRVAsWUFBWTtrQkFIeEIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIENhY2hlU2VydmljZSB7XG4gIHByaXZhdGUgY2FjaGU6IHsgW2tleTogc3RyaW5nXTogeyBkYXRhOiBhbnksIGV4cGlyYXRpb246IG51bWJlciB9IH0gPSB7fTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgZ2V0KGtleTogc3RyaW5nKTogYW55IHtcbiAgICBjb25zdCBjYWNoZWRJdGVtID0gdGhpcy5jYWNoZVtrZXldO1xuICAgIGlmIChjYWNoZWRJdGVtICYmIGNhY2hlZEl0ZW0uZXhwaXJhdGlvbiA+IERhdGUubm93KCkpIHtcbiAgICAgIHJldHVybiBjYWNoZWRJdGVtLmRhdGE7XG4gICAgfVxuICAgIHRoaXMuZGVsZXRlKGtleSk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBzZXQoa2V5OiBzdHJpbmcsIGRhdGE6IGFueSwgZXhwaXJlc0luTXM6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IGV4cGlyYXRpb24gPSBEYXRlLm5vdygpICsgZXhwaXJlc0luTXM7XG4gICAgdGhpcy5jYWNoZVtrZXldID0geyBkYXRhLCBleHBpcmF0aW9uIH07XG4gIH1cblxuICBkZWxldGUoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBkZWxldGUgdGhpcy5jYWNoZVtrZXldO1xuICB9XG5cbiAgY2xlYXJDYWNoZUNvbnRhaW5pbmdLZXl3b3JkKGtleXdvcmQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGtleXNUb0RlbGV0ZSA9IE9iamVjdC5rZXlzKHRoaXMuY2FjaGUpLmZpbHRlcihrZXkgPT4ga2V5LmluY2x1ZGVzKGtleXdvcmQpKTtcbiAgICBrZXlzVG9EZWxldGUuZm9yRWFjaChrZXkgPT4gdGhpcy5kZWxldGUoa2V5KSk7XG4gIH1cbn1cbiJdfQ==
@@ -19,14 +19,14 @@ export let DatastoreCore = class DatastoreCore extends BaseDatastore {
19
19
  };
20
20
  this.config = this.customConfig;
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: DatastoreCore, deps: [{ token: i1.HttpClient }, { token: i2.CacheService }, { token: i3.Configurations }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: DatastoreCore }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: DatastoreCore, deps: [{ token: i1.HttpClient }, { token: i2.CacheService }, { token: i3.Configurations }], target: i0.ɵɵFactoryTarget.Injectable }); }
23
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: DatastoreCore }); }
24
24
  };
25
25
  DatastoreCore = __decorate([
26
26
  BaseDatastoreConfig({ apiVersion: '', baseUrl: '' }),
27
27
  __metadata("design:paramtypes", [HttpClient, CacheService, Configurations])
28
28
  ], DatastoreCore);
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: DatastoreCore, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: DatastoreCore, decorators: [{
30
30
  type: Injectable
31
31
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.CacheService }, { type: i3.Configurations }]; } });
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXN0b3JlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL3NlcnZpY2VzL2RhdGFzdG9yZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFtQixNQUFNLFNBQVMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUt4QyxXQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFjLFNBQVEsYUFBYTtJQUU1QyxZQUFZLElBQWdCLEVBQUUsWUFBMEIsRUFBVSxTQUF5QjtRQUN2RixLQUFLLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRG9DLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBRXZGLElBQUksQ0FBQyxZQUFZLEdBQUc7WUFDaEIsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVTtZQUNyQyxPQUFPLEVBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPO1NBQ25DLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDcEMsQ0FBQzs4R0FUUSxhQUFhO2tIQUFiLGFBQWE7O0FBQWIsYUFBYTtJQUR6QixtQkFBbUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO3FDQUcvQixVQUFVLEVBQWdCLFlBQVksRUFBcUIsY0FBYztHQUZsRixhQUFhLENBVXpCOzJGQVZZLGFBQWE7a0JBRnpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbnMnO1xyXG5pbXBvcnQgeyBCYXNlRGF0YXN0b3JlQ29uZmlnLCBEYXRhc3RvcmVDb25maWcgfSBmcm9tICcuLi9jb3JlJztcclxuaW1wb3J0IHsgQmFzZURhdGFzdG9yZSB9IGZyb20gJy4vYmFzZS1kYXRhc3RvcmUuc2VydmljZSc7XHJcbmltcG9ydCB7IENhY2hlU2VydmljZSB9IGZyb20gJy4vY2FjaGUuc2VydmljZSc7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5AQmFzZURhdGFzdG9yZUNvbmZpZyh7IGFwaVZlcnNpb246ICcnLCBiYXNlVXJsOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgRGF0YXN0b3JlQ29yZSBleHRlbmRzIEJhc2VEYXRhc3RvcmUge1xyXG4gICAgcHJpdmF0ZSBjdXN0b21Db25maWc6IERhdGFzdG9yZUNvbmZpZ1xyXG4gICAgY29uc3RydWN0b3IoaHR0cDogSHR0cENsaWVudCwgY2FjaGVTZXJ2aWNlOiBDYWNoZVNlcnZpY2UsIHByaXZhdGUgY29uZmlnRXh0OiBDb25maWd1cmF0aW9ucykge1xyXG4gICAgICAgIHN1cGVyKGh0dHAsIGNhY2hlU2VydmljZSk7XHJcbiAgICAgICAgdGhpcy5jdXN0b21Db25maWcgPSB7XHJcbiAgICAgICAgICAgIGFwaVZlcnNpb246IHRoaXMuY29uZmlnRXh0LmFwaVZlcnNpb24sXHJcbiAgICAgICAgICAgIGJhc2VVcmw6ICB0aGlzLmNvbmZpZ0V4dC5iYXNlVXJsXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmNvbmZpZyA9IHRoaXMuY3VzdG9tQ29uZmlnO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXN0b3JlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL3NlcnZpY2VzL2RhdGFzdG9yZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLG1CQUFtQixFQUFtQixNQUFNLFNBQVMsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztBQUt4QyxXQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFjLFNBQVEsYUFBYTtJQUU1QyxZQUFZLElBQWdCLEVBQUUsWUFBMEIsRUFBVSxTQUF5QjtRQUN2RixLQUFLLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRG9DLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBRXZGLElBQUksQ0FBQyxZQUFZLEdBQUc7WUFDaEIsVUFBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVTtZQUNyQyxPQUFPLEVBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPO1NBQ25DLENBQUM7UUFDRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDcEMsQ0FBQzsrR0FUUSxhQUFhO21IQUFiLGFBQWE7O0FBQWIsYUFBYTtJQUR6QixtQkFBbUIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxDQUFDO3FDQUcvQixVQUFVLEVBQWdCLFlBQVksRUFBcUIsY0FBYztHQUZsRixhQUFhLENBVXpCOzRGQVZZLGFBQWE7a0JBRnpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbnMnO1xyXG5pbXBvcnQgeyBCYXNlRGF0YXN0b3JlQ29uZmlnLCBEYXRhc3RvcmVDb25maWcgfSBmcm9tICcuLi9jb3JlJztcclxuaW1wb3J0IHsgQmFzZURhdGFzdG9yZSB9IGZyb20gJy4vYmFzZS1kYXRhc3RvcmUuc2VydmljZSc7XHJcbmltcG9ydCB7IENhY2hlU2VydmljZSB9IGZyb20gJy4vY2FjaGUuc2VydmljZSc7XHJcblxyXG5cclxuQEluamVjdGFibGUoKVxyXG5AQmFzZURhdGFzdG9yZUNvbmZpZyh7IGFwaVZlcnNpb246ICcnLCBiYXNlVXJsOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgRGF0YXN0b3JlQ29yZSBleHRlbmRzIEJhc2VEYXRhc3RvcmUge1xyXG4gICAgcHJpdmF0ZSBjdXN0b21Db25maWc6IERhdGFzdG9yZUNvbmZpZ1xyXG4gICAgY29uc3RydWN0b3IoaHR0cDogSHR0cENsaWVudCwgY2FjaGVTZXJ2aWNlOiBDYWNoZVNlcnZpY2UsIHByaXZhdGUgY29uZmlnRXh0OiBDb25maWd1cmF0aW9ucykge1xyXG4gICAgICAgIHN1cGVyKGh0dHAsIGNhY2hlU2VydmljZSk7XHJcbiAgICAgICAgdGhpcy5jdXN0b21Db25maWcgPSB7XHJcbiAgICAgICAgICAgIGFwaVZlcnNpb246IHRoaXMuY29uZmlnRXh0LmFwaVZlcnNpb24sXHJcbiAgICAgICAgICAgIGJhc2VVcmw6ICB0aGlzLmNvbmZpZ0V4dC5iYXNlVXJsXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLmNvbmZpZyA9IHRoaXMuY3VzdG9tQ29uZmlnO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,150 +1,2 @@
1
- import { HttpErrorResponse } from '@angular/common/http';
2
- import { Injectable } from '@angular/core';
3
- import { from } from 'rxjs';
4
- import Swal from 'sweetalert2';
5
- import * as i0 from "@angular/core";
6
- /**
7
- * Async modal dialog service
8
- * DialogService makes this app easier to test by faking this service.
9
- * TODO: better modal implementation that doesn't use window.confirm
10
- */
11
- export class DialogService {
12
- /**
13
- * Ask user to confirm an action. `message` explains the action and choices.
14
- * Returns observable resolving to `true`=confirm or `false`=cancel
15
- */
16
- constructor() { }
17
- confirm(message, text, confirmButtonText = 'Delete', cancelButtonText = 'Cancel') {
18
- const confirmation = Swal.fire({
19
- title: message || 'Are you sure?',
20
- icon: 'warning',
21
- text: text || '',
22
- showCancelButton: true,
23
- confirmButtonText: confirmButtonText,
24
- cancelButtonText: cancelButtonText,
25
- customClass: {
26
- confirmButton: 'btn btn-red btn-fill btn-wd',
27
- cancelButton: 'btn btn-grey btn-fill btn-wd',
28
- },
29
- buttonsStyling: false,
30
- reverseButtons: true
31
- })
32
- .then((result) => {
33
- if (result.value) {
34
- return true;
35
- }
36
- else {
37
- return false;
38
- }
39
- }).catch();
40
- return from(confirmation);
41
- }
42
- showSaveMessage(message, title) {
43
- const confirmation = Swal.fire({
44
- icon: 'success',
45
- title: message,
46
- timer: 2000,
47
- showConfirmButton: false,
48
- // customClass: 'overflow-hidden',
49
- buttonsStyling: false
50
- }).then(() => {
51
- return true;
52
- }, () => {
53
- return false;
54
- }).catch();
55
- return from(confirmation);
56
- }
57
- showRegisteredMessage(message, title) {
58
- const confirmation = Swal.fire({
59
- icon: 'success',
60
- title: message,
61
- showConfirmButton: true,
62
- customClass: {
63
- confirmButton: 'btn btn-success',
64
- },
65
- buttonsStyling: false
66
- }).then(() => {
67
- return true;
68
- }, () => {
69
- return false;
70
- }).catch();
71
- return from(confirmation);
72
- }
73
- // notification(message?: string, type?: NotificationType, fromPosition?: NotificationFrom, align?: NotificationAlign, timer?: number) {
74
- // if (!type) {
75
- // type = NotificationType.success;
76
- // }
77
- // if (!fromPosition) {
78
- // fromPosition = NotificationFrom.bottom;
79
- // }
80
- // if (!align) {
81
- // align = NotificationAlign.center;
82
- // }
83
- // if (!timer) {
84
- // timer = 3000;
85
- // }
86
- // $.notify({
87
- // icon: 'notifications',
88
- // message: message
89
- // }, {
90
- // type: type,
91
- // timer: 3000,
92
- // placement: {
93
- // from: from,
94
- // align: align
95
- // }
96
- // });
97
- // }
98
- showErrorMessage(e, message) {
99
- if (!message) {
100
- message = 'Validation errors';
101
- }
102
- if (e instanceof HttpErrorResponse) {
103
- // Validation errors
104
- if (e.status === 400) {
105
- const errors = e.error.errors;
106
- if (errors) {
107
- errors.forEach(error => {
108
- message += error.field + ' ' + error.detail + '\n';
109
- });
110
- // message = errors.detail;
111
- // if (detail.relationships) {
112
- // detail.relationships.forEach(relation => {
113
- // console.log(relation);
114
- // });
115
- // }
116
- }
117
- }
118
- }
119
- const confirmation = Swal.fire({
120
- icon: 'error',
121
- title: message,
122
- // timer: 2000,
123
- showConfirmButton: true,
124
- customClass: {
125
- confirmButton: 'btn btn-success',
126
- },
127
- buttonsStyling: false
128
- }).then(() => {
129
- return true;
130
- }, () => {
131
- return false;
132
- }).catch();
133
- return from(confirmation);
134
- }
135
- getTextTranslation(translationKey) {
136
- // // const result = await promise;
137
- // // return result;
138
- // const result = this.translate.instant(translationKey);
139
- // if (result === translationKey) {
140
- return translationKey;
141
- // }
142
- // return result;
143
- }
144
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: DialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
145
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: DialogService }); }
146
- }
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: DialogService, decorators: [{
148
- type: Injectable
149
- }], ctorParameters: function () { return []; } });
150
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLElBQUksTUFBTSxhQUFhLENBQUM7O0FBRy9COzs7O0dBSUc7QUFFSCxNQUFNLE9BQU8sYUFBYTtJQUN4Qjs7O09BR0c7SUFDSCxnQkFBZ0IsQ0FBQztJQUNqQixPQUFPLENBQUMsT0FBZ0IsRUFBRSxJQUFhLEVBQ3JDLG9CQUE0QixRQUFRLEVBQ3BDLG1CQUEyQixRQUFRO1FBQ25DLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDN0IsS0FBSyxFQUFFLE9BQU8sSUFBSSxlQUFlO1lBQ2pDLElBQUksRUFBRSxTQUFTO1lBQ2YsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ2hCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsaUJBQWlCLEVBQUUsaUJBQWlCO1lBQ3BDLGdCQUFnQixFQUFFLGdCQUFnQjtZQUNsQyxXQUFXLEVBQUU7Z0JBQ1gsYUFBYSxFQUFFLDZCQUE2QjtnQkFDNUMsWUFBWSxFQUFFLDhCQUE4QjthQUM3QztZQUNELGNBQWMsRUFBRSxLQUFLO1lBQ3JCLGNBQWMsRUFBRSxJQUFJO1NBQ3JCLENBQUM7YUFFQyxJQUFJLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUNwQixJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUU7Z0JBQ2hCLE9BQU8sSUFBSSxDQUFDO2FBQ2I7aUJBQU07Z0JBQ0wsT0FBTyxLQUFLLENBQUM7YUFD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U0FDdEIsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsRUFBRSxHQUFHLEVBQUU7WUFDTixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNELGtCQUFrQixDQUFDLGNBQXNCO1FBQ3ZDLG1DQUFtQztRQUNuQyxvQkFBb0I7UUFDcEIseURBQXlEO1FBQ3pELG1DQUFtQztRQUNuQyxPQUFPLGNBQWMsQ0FBQztRQUN0QixJQUFJO1FBQ0osaUJBQWlCO0lBQ25CLENBQUM7OEdBeklVLGFBQWE7a0hBQWIsYUFBYTs7MkZBQWIsYUFBYTtrQkFEekIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZyb20sIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IFN3YWwgZnJvbSAnc3dlZXRhbGVydDInO1xyXG5kZWNsYXJlIHZhciAkOiBhbnk7XHJcblxyXG4vKipcclxuICogQXN5bmMgbW9kYWwgZGlhbG9nIHNlcnZpY2VcclxuICogRGlhbG9nU2VydmljZSBtYWtlcyB0aGlzIGFwcCBlYXNpZXIgdG8gdGVzdCBieSBmYWtpbmcgdGhpcyBzZXJ2aWNlLlxyXG4gKiBUT0RPOiBiZXR0ZXIgbW9kYWwgaW1wbGVtZW50YXRpb24gdGhhdCBkb2Vzbid0IHVzZSB3aW5kb3cuY29uZmlybVxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgRGlhbG9nU2VydmljZSB7XHJcbiAgLyoqXHJcbiAgICogQXNrIHVzZXIgdG8gY29uZmlybSBhbiBhY3Rpb24uIGBtZXNzYWdlYCBleHBsYWlucyB0aGUgYWN0aW9uIGFuZCBjaG9pY2VzLlxyXG4gICAqIFJldHVybnMgb2JzZXJ2YWJsZSByZXNvbHZpbmcgdG8gYHRydWVgPWNvbmZpcm0gb3IgYGZhbHNlYD1jYW5jZWxcclxuICAgKi9cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG4gIGNvbmZpcm0obWVzc2FnZT86IHN0cmluZywgdGV4dD86IHN0cmluZyxcclxuICAgIGNvbmZpcm1CdXR0b25UZXh0OiBzdHJpbmcgPSAnRGVsZXRlJyxcclxuICAgIGNhbmNlbEJ1dHRvblRleHQ6IHN0cmluZyA9ICdDYW5jZWwnKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XHJcbiAgICBjb25zdCBjb25maXJtYXRpb24gPSBTd2FsLmZpcmUoe1xyXG4gICAgICB0aXRsZTogbWVzc2FnZSB8fCAnQXJlIHlvdSBzdXJlPycsXHJcbiAgICAgIGljb246ICd3YXJuaW5nJyxcclxuICAgICAgdGV4dDogdGV4dCB8fCAnJyxcclxuICAgICAgc2hvd0NhbmNlbEJ1dHRvbjogdHJ1ZSxcclxuICAgICAgY29uZmlybUJ1dHRvblRleHQ6IGNvbmZpcm1CdXR0b25UZXh0LFxyXG4gICAgICBjYW5jZWxCdXR0b25UZXh0OiBjYW5jZWxCdXR0b25UZXh0LFxyXG4gICAgICBjdXN0b21DbGFzczoge1xyXG4gICAgICAgIGNvbmZpcm1CdXR0b246ICdidG4gYnRuLXJlZCBidG4tZmlsbCBidG4td2QnLFxyXG4gICAgICAgIGNhbmNlbEJ1dHRvbjogJ2J0biBidG4tZ3JleSBidG4tZmlsbCBidG4td2QnLFxyXG4gICAgICB9LFxyXG4gICAgICBidXR0b25zU3R5bGluZzogZmFsc2UsXHJcbiAgICAgIHJldmVyc2VCdXR0b25zOiB0cnVlXHJcbiAgICB9KVxyXG5cclxuICAgICAgLnRoZW4oKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3VsdC52YWx1ZSkge1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pLmNhdGNoKCk7XHJcbiAgICByZXR1cm4gZnJvbShjb25maXJtYXRpb24pO1xyXG4gIH1cclxuICBzaG93U2F2ZU1lc3NhZ2UobWVzc2FnZT86IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IGNvbmZpcm1hdGlvbiA9IFN3YWwuZmlyZSh7XHJcbiAgICAgIGljb246ICdzdWNjZXNzJyxcclxuICAgICAgdGl0bGU6IG1lc3NhZ2UsXHJcbiAgICAgIHRpbWVyOiAyMDAwLFxyXG4gICAgICBzaG93Q29uZmlybUJ1dHRvbjogZmFsc2UsXHJcbiAgICAgIC8vIGN1c3RvbUNsYXNzOiAnb3ZlcmZsb3ctaGlkZGVuJyxcclxuICAgICAgYnV0dG9uc1N0eWxpbmc6IGZhbHNlXHJcbiAgICB9KS50aGVuKCgpID0+IHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9LCAoKSA9PiB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0pLmNhdGNoKCk7XHJcbiAgICByZXR1cm4gZnJvbShjb25maXJtYXRpb24pO1xyXG4gIH1cclxuICBzaG93UmVnaXN0ZXJlZE1lc3NhZ2UobWVzc2FnZT86IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IGNvbmZpcm1hdGlvbiA9IFN3YWwuZmlyZSh7XHJcbiAgICAgIGljb246ICdzdWNjZXNzJyxcclxuICAgICAgdGl0bGU6IG1lc3NhZ2UsXHJcbiAgICAgIHNob3dDb25maXJtQnV0dG9uOiB0cnVlLFxyXG4gICAgICBjdXN0b21DbGFzczoge1xyXG4gICAgICAgIGNvbmZpcm1CdXR0b246ICdidG4gYnRuLXN1Y2Nlc3MnLFxyXG4gICAgICB9LFxyXG4gICAgICBidXR0b25zU3R5bGluZzogZmFsc2VcclxuICAgIH0pLnRoZW4oKCkgPT4ge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0sICgpID0+IHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfSkuY2F0Y2goKTtcclxuICAgIHJldHVybiBmcm9tKGNvbmZpcm1hdGlvbik7XHJcbiAgfVxyXG5cclxuICAvLyBub3RpZmljYXRpb24obWVzc2FnZT86IHN0cmluZywgdHlwZT86IE5vdGlmaWNhdGlvblR5cGUsIGZyb21Qb3NpdGlvbj86IE5vdGlmaWNhdGlvbkZyb20sIGFsaWduPzogTm90aWZpY2F0aW9uQWxpZ24sIHRpbWVyPzogbnVtYmVyKSB7XHJcblxyXG4gIC8vICAgaWYgKCF0eXBlKSB7XHJcbiAgLy8gICAgIHR5cGUgPSBOb3RpZmljYXRpb25UeXBlLnN1Y2Nlc3M7XHJcbiAgLy8gICB9XHJcbiAgLy8gICBpZiAoIWZyb21Qb3NpdGlvbikge1xyXG4gIC8vICAgICBmcm9tUG9zaXRpb24gPSBOb3RpZmljYXRpb25Gcm9tLmJvdHRvbTtcclxuICAvLyAgIH1cclxuICAvLyAgIGlmICghYWxpZ24pIHtcclxuICAvLyAgICAgYWxpZ24gPSBOb3RpZmljYXRpb25BbGlnbi5jZW50ZXI7XHJcbiAgLy8gICB9XHJcbiAgLy8gICBpZiAoIXRpbWVyKSB7XHJcbiAgLy8gICAgIHRpbWVyID0gMzAwMDtcclxuICAvLyAgIH1cclxuXHJcbiAgLy8gICAkLm5vdGlmeSh7XHJcbiAgLy8gICAgIGljb246ICdub3RpZmljYXRpb25zJyxcclxuICAvLyAgICAgbWVzc2FnZTogbWVzc2FnZVxyXG4gIC8vICAgfSwge1xyXG4gIC8vICAgICAgIHR5cGU6IHR5cGUsXHJcbiAgLy8gICAgICAgdGltZXI6IDMwMDAsXHJcbiAgLy8gICAgICAgcGxhY2VtZW50OiB7XHJcbiAgLy8gICAgICAgICBmcm9tOiBmcm9tLFxyXG4gIC8vICAgICAgICAgYWxpZ246IGFsaWduXHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9KTtcclxuICAvLyB9XHJcbiAgc2hvd0Vycm9yTWVzc2FnZShlOiBhbnksIG1lc3NhZ2U/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIGlmICghbWVzc2FnZSkge1xyXG4gICAgICBtZXNzYWdlID0gJ1ZhbGlkYXRpb24gZXJyb3JzJztcclxuICAgIH1cclxuICAgIGlmIChlIGluc3RhbmNlb2YgSHR0cEVycm9yUmVzcG9uc2UpIHtcclxuICAgICAgLy8gVmFsaWRhdGlvbiBlcnJvcnNcclxuICAgICAgaWYgKGUuc3RhdHVzID09PSA0MDApIHtcclxuICAgICAgICBjb25zdCBlcnJvcnMgPSBlLmVycm9yLmVycm9ycztcclxuICAgICAgICBpZiAoZXJyb3JzKSB7XHJcbiAgICAgICAgICBlcnJvcnMuZm9yRWFjaChlcnJvciA9PiB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2UgKz0gZXJyb3IuZmllbGQgKyAnICcgKyBlcnJvci5kZXRhaWwgKyAnXFxuJztcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgLy8gbWVzc2FnZSA9IGVycm9ycy5kZXRhaWw7XHJcbiAgICAgICAgICAvLyBpZiAoZGV0YWlsLnJlbGF0aW9uc2hpcHMpIHtcclxuICAgICAgICAgIC8vICAgZGV0YWlsLnJlbGF0aW9uc2hpcHMuZm9yRWFjaChyZWxhdGlvbiA9PiB7XHJcbiAgICAgICAgICAvLyAgICAgY29uc29sZS5sb2cocmVsYXRpb24pO1xyXG4gICAgICAgICAgLy8gICB9KTtcclxuICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGNvbnN0IGNvbmZpcm1hdGlvbiA9IFN3YWwuZmlyZSh7XHJcbiAgICAgIGljb246ICdlcnJvcicsXHJcbiAgICAgIHRpdGxlOiBtZXNzYWdlLFxyXG4gICAgICAvLyB0aW1lcjogMjAwMCxcclxuICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsXHJcbiAgICAgIGN1c3RvbUNsYXNzOiB7XHJcbiAgICAgICAgY29uZmlybUJ1dHRvbjogJ2J0biBidG4tc3VjY2VzcycsXHJcbiAgICAgIH0sXHJcbiAgICAgIGJ1dHRvbnNTdHlsaW5nOiBmYWxzZVxyXG4gICAgfSkudGhlbigoKSA9PiB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSwgKCkgPT4ge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9KS5jYXRjaCgpO1xyXG4gICAgcmV0dXJuIGZyb20oY29uZmlybWF0aW9uKTtcclxuICB9XHJcbiAgZ2V0VGV4dFRyYW5zbGF0aW9uKHRyYW5zbGF0aW9uS2V5OiBzdHJpbmcpIHtcclxuICAgIC8vIC8vIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHByb21pc2U7XHJcbiAgICAvLyAvLyByZXR1cm4gcmVzdWx0O1xyXG4gICAgLy8gY29uc3QgcmVzdWx0ID0gdGhpcy50cmFuc2xhdGUuaW5zdGFudCh0cmFuc2xhdGlvbktleSk7XHJcbiAgICAvLyBpZiAocmVzdWx0ID09PSB0cmFuc2xhdGlvbktleSkge1xyXG4gICAgcmV0dXJuIHRyYW5zbGF0aW9uS2V5O1xyXG4gICAgLy8gfVxyXG4gICAgLy8gcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yb3NvZnRsYWIvY29yZS9zcmMvbGliL3NlcnZpY2VzL2RpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nU2VydmljZSB7XHJcbiAgY29uZmlybShtZXNzYWdlPzogc3RyaW5nLCB0ZXh0Pzogc3RyaW5nLCBjb25maXJtQnV0dG9uVGV4dD86IHN0cmluZywgY2FuY2VsQnV0dG9uVGV4dD86IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj47XHJcbiAgc2hvd1NhdmVNZXNzYWdlKG1lc3NhZ2U/OiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxuICBzaG93UmVnaXN0ZXJlZE1lc3NhZ2UobWVzc2FnZT86IHN0cmluZywgdGl0bGU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xyXG4gIHNob3dFcnJvck1lc3NhZ2UoZTogYW55LCBtZXNzYWdlPzogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPjtcclxufVxyXG5cclxuIl19
@@ -20,10 +20,10 @@ export class TranslateloaderService {
20
20
  const url = this._apiUrl + '/api/v1/language/' + lang + '/translationlist';
21
21
  return this.httpClient.get(url, { headers: this.headers });
22
22
  }
23
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TranslateloaderService, deps: [{ token: i1.HttpClient }, { token: i2.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TranslateloaderService, providedIn: 'root' }); }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TranslateloaderService, deps: [{ token: i1.HttpClient }, { token: i2.Configurations, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
24
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TranslateloaderService, providedIn: 'root' }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImport: i0, type: TranslateloaderService, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: TranslateloaderService, decorators: [{
27
27
  type: Injectable,
28
28
  args: [{
29
29
  providedIn: 'root'
@@ -31,4 +31,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.1", ngImpor
31
31
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.Configurations, decorators: [{
32
32
  type: Optional
33
33
  }] }]; } });
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy90cmFuc2xhdGUtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFJbkQsTUFBTSxPQUFPLHNCQUFzQjtJQU1qQyxZQUFvQixVQUFzQixFQUM1QixNQUF1QjtRQURqQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBTGxDLFlBQU8sR0FBRyxVQUFVLENBQUM7UUFDckIsWUFBTyxHQUFRLElBQUksV0FBVyxDQUFDO1lBQ3JDLE1BQU0sRUFBRSxrQkFBa0I7WUFDMUIsY0FBYyxFQUFFLGtCQUFrQjtTQUNuQyxDQUFDLENBQUM7UUFHRCxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztTQUMvQjtJQUNILENBQUM7SUFDRCxjQUFjLENBQUMsSUFBWTtRQUN6QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLG1CQUFtQixHQUFHLElBQUksR0FBRyxrQkFBa0IsQ0FBQztRQUMzRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDOzhHQWZVLHNCQUFzQjtrSEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07OzJGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbnMnO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlbG9hZGVyU2VydmljZSBpbXBsZW1lbnRzIFRyYW5zbGF0ZUxvYWRlciB7XG4gIHByaXZhdGUgX2FwaVVybCA9ICdObyBWYWx1ZSc7XG4gIHByaXZhdGUgaGVhZGVyczogYW55ID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gIH0pO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnMpIHtcbiAgICBpZiAoY29uZmlnKSB7XG4gICAgICB0aGlzLl9hcGlVcmwgPSBjb25maWcuYmFzZVVybDtcbiAgICB9XG4gIH1cbiAgZ2V0VHJhbnNsYXRpb24obGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLl9hcGlVcmwgKyAnL2FwaS92MS9sYW5ndWFnZS8nICsgbGFuZyArICcvdHJhbnNsYXRpb25saXN0JztcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh1cmwsIHsgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pO1xuICB9XG5cbn1cbiJdfQ==
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcm9zb2Z0bGFiL2NvcmUvc3JjL2xpYi9zZXJ2aWNlcy90cmFuc2xhdGUtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFJbkQsTUFBTSxPQUFPLHNCQUFzQjtJQU1qQyxZQUFvQixVQUFzQixFQUM1QixNQUF1QjtRQURqQixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBTGxDLFlBQU8sR0FBRyxVQUFVLENBQUM7UUFDckIsWUFBTyxHQUFRLElBQUksV0FBVyxDQUFDO1lBQ3JDLE1BQU0sRUFBRSxrQkFBa0I7WUFDMUIsY0FBYyxFQUFFLGtCQUFrQjtTQUNuQyxDQUFDLENBQUM7UUFHRCxJQUFJLE1BQU0sRUFBRTtZQUNWLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQztTQUMvQjtJQUNILENBQUM7SUFDRCxjQUFjLENBQUMsSUFBWTtRQUN6QixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLG1CQUFtQixHQUFHLElBQUksR0FBRyxrQkFBa0IsQ0FBQztRQUMzRSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUM3RCxDQUFDOytHQWZVLHNCQUFzQjttSEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07OzRGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbmZpZ3VyYXRpb25zIH0gZnJvbSAnLi4vY29uZmlndXJhdGlvbnMnO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlbG9hZGVyU2VydmljZSBpbXBsZW1lbnRzIFRyYW5zbGF0ZUxvYWRlciB7XG4gIHByaXZhdGUgX2FwaVVybCA9ICdObyBWYWx1ZSc7XG4gIHByaXZhdGUgaGVhZGVyczogYW55ID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nXG4gIH0pO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgQE9wdGlvbmFsKCkgY29uZmlnPzogQ29uZmlndXJhdGlvbnMpIHtcbiAgICBpZiAoY29uZmlnKSB7XG4gICAgICB0aGlzLl9hcGlVcmwgPSBjb25maWcuYmFzZVVybDtcbiAgICB9XG4gIH1cbiAgZ2V0VHJhbnNsYXRpb24obGFuZzogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICBjb25zdCB1cmwgPSB0aGlzLl9hcGlVcmwgKyAnL2FwaS92MS9sYW5ndWFnZS8nICsgbGFuZyArICcvdHJhbnNsYXRpb25saXN0JztcbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50LmdldCh1cmwsIHsgaGVhZGVyczogdGhpcy5oZWFkZXJzIH0pO1xuICB9XG5cbn1cbiJdfQ==