UNPKG

solar-ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

289 lines (288 loc) 21.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Component, EventEmitter, Input, Output, TemplateRef } from '@angular/core'; import { fadeAnimation } from '../core/animation/fade-animations'; import { toBoolean } from '../core/util/convert'; var NzAlertComponent = /** @class */ (function () { function NzAlertComponent() { this._banner = false; this._closeable = false; this._showIcon = false; this._type = 'info'; this.display = true; this.isTypeSet = false; this.isShowIconSet = false; this.prefixClass = 'ant-alert'; this.nzOnClose = new EventEmitter(); } Object.defineProperty(NzAlertComponent.prototype, "nzDescription", { get: /** * @return {?} */ function () { return this._description; }, set: /** * @param {?} value * @return {?} */ function (value) { this.isDescriptionString = !(value instanceof TemplateRef); this._description = value; this.updateOuterClassMap(); this.updateIconClassMap(); }, enumerable: true, configurable: true }); Object.defineProperty(NzAlertComponent.prototype, "nzCloseText", { get: /** * @return {?} */ function () { return this._closeText; }, set: /** * @param {?} value * @return {?} */ function (value) { this.isCloseTextString = !(value instanceof TemplateRef); this._closeText = value; }, enumerable: true, configurable: true }); Object.defineProperty(NzAlertComponent.prototype, "nzMessage", { get: /** * @return {?} */ function () { return this._message; }, set: /** * @param {?} value * @return {?} */ function (value) { this.isMessageString = !(value instanceof TemplateRef); this._message = value; }, enumerable: true, configurable: true }); Object.defineProperty(NzAlertComponent.prototype, "nzType", { get: /** * @return {?} */ function () { return this._type; }, set: /** * @param {?} value * @return {?} */ function (value) { this._type = value; this.isTypeSet = true; this.updateOuterClassMap(); this.updateIconClassMap(); }, enumerable: true, configurable: true }); Object.defineProperty(NzAlertComponent.prototype, "nzBanner", { get: /** * @return {?} */ function () { return this._banner; }, set: /** * @param {?} value * @return {?} */ function (value) { this._banner = toBoolean(value); if (!this.isTypeSet) { this.nzType = 'warning'; } if (!this.isShowIconSet) { this.nzShowIcon = true; } this.updateOuterClassMap(); }, enumerable: true, configurable: true }); Object.defineProperty(NzAlertComponent.prototype, "nzCloseable", { get: /** * @return {?} */ function () { return this._closeable; }, set: /** * @param {?} value * @return {?} */ function (value) { this._closeable = toBoolean(value); }, enumerable: true, configurable: true }); Object.defineProperty(NzAlertComponent.prototype, "nzShowIcon", { get: /** * @return {?} */ function () { return this._showIcon; }, set: /** * @param {?} value * @return {?} */ function (value) { this._showIcon = toBoolean(value); this.isShowIconSet = true; this.updateOuterClassMap(); }, enumerable: true, configurable: true }); /** * @return {?} */ NzAlertComponent.prototype.closeAlert = /** * @return {?} */ function () { this.display = false; }; /** * @return {?} */ NzAlertComponent.prototype.onFadeAnimationDone = /** * @return {?} */ function () { if (!this.display) { this.nzOnClose.emit(true); } }; /** * @return {?} */ NzAlertComponent.prototype.updateOuterClassMap = /** * @return {?} */ function () { var _a; this.outerClassMap = (_a = {}, _a["" + this.prefixClass] = true, _a[this.prefixClass + "-" + this.nzType] = true, _a[this.prefixClass + "-no-icon"] = !this.nzShowIcon, _a[this.prefixClass + "-banner"] = this.nzBanner, _a[this.prefixClass + "-with-description"] = !!this.nzDescription, _a); }; /** * @return {?} */ NzAlertComponent.prototype.updateIconClassMap = /** * @return {?} */ function () { var _this = this; /** @type {?} */ var iconType = { 'close-circle-o': this.nzDescription && this.nzType === 'error', 'check-circle-o': this.nzDescription && this.nzType === 'success', 'info-circle-o': this.nzDescription && this.nzType === 'info', 'exclamation-circle-o': this.nzDescription && this.nzType === 'warning', 'close-circle-fill': (!this.nzDescription) && this.nzType === 'error', 'check-circle-fill': (!this.nzDescription) && this.nzType === 'success', 'info-circle-fill': (!this.nzDescription) && this.nzType === 'info', 'exclamation-circle-fill': (!this.nzDescription) && this.nzType === 'warning' }; Object.keys(iconType).forEach(function (key) { if (iconType[key]) { _this.iconType = key; } }); }; /** * @return {?} */ NzAlertComponent.prototype.ngOnInit = /** * @return {?} */ function () { this.updateIconClassMap(); this.updateOuterClassMap(); }; NzAlertComponent.decorators = [ { type: Component, args: [{ selector: 'nz-alert', animations: [fadeAnimation], preserveWhitespaces: false, template: "<div [ngClass]=\"outerClassMap\" *ngIf=\"display\" [@fadeAnimation] (@fadeAnimation.done)=\"onFadeAnimationDone()\">\n <ng-container *ngIf=\"nzShowIcon\">\n <i class=\"ant-alert-icon\" [ngClass]=\"nzIconType\" *ngIf=\"nzIconType; else iconTemplate\"></i>\n <ng-template #iconTemplate>\n <i nz-icon class=\"ant-alert-icon\" [type]=\"iconType\"></i>\n </ng-template>\n </ng-container>\n <span class=\"ant-alert-message\" *ngIf=\"nzMessage\">\n <ng-container *ngIf=\"isMessageString; else messageTemplate\">{{ nzMessage }}</ng-container>\n <ng-template #messageTemplate>\n <ng-template [ngTemplateOutlet]=\"nzMessage\"></ng-template>\n </ng-template>\n </span>\n <span class=\"ant-alert-description\" *ngIf=\"nzDescription\">\n <ng-container *ngIf=\"isDescriptionString; else descriptionTemplate\">{{ nzDescription }}</ng-container>\n <ng-template #descriptionTemplate>\n <ng-template [ngTemplateOutlet]=\"nzDescription\"></ng-template>\n </ng-template>\n </span>\n <a\n *ngIf=\"nzCloseable || nzCloseText\"\n (click)=\"closeAlert()\"\n class=\"ant-alert-close-icon\">\n <ng-template #closeDefaultTemplate>\n <i nz-icon type=\"close\" class=\"anticon-close\"></i>\n </ng-template>\n <ng-container *ngIf=\"nzCloseText; else closeDefaultTemplate\">\n <ng-container *ngIf=\"isCloseTextString; else closeTextTemplate\">{{ nzCloseText }}</ng-container>\n <ng-template #closeTextTemplate>\n <ng-template [ngTemplateOutlet]=\"nzCloseText\"></ng-template>\n </ng-template>\n </ng-container>\n </a>\n</div>", styles: [":host {\n display: block;\n }"] }] } ]; NzAlertComponent.propDecorators = { nzOnClose: [{ type: Output }], nzIconType: [{ type: Input }], nzDescription: [{ type: Input }], nzCloseText: [{ type: Input }], nzMessage: [{ type: Input }], nzType: [{ type: Input }], nzBanner: [{ type: Input }], nzCloseable: [{ type: Input }], nzShowIcon: [{ type: Input }] }; return NzAlertComponent; }()); export { NzAlertComponent }; function NzAlertComponent_tsickle_Closure_declarations() { /** @type {?} */ NzAlertComponent.prototype._banner; /** @type {?} */ NzAlertComponent.prototype._closeable; /** @type {?} */ NzAlertComponent.prototype._showIcon; /** @type {?} */ NzAlertComponent.prototype._type; /** @type {?} */ NzAlertComponent.prototype._description; /** @type {?} */ NzAlertComponent.prototype._message; /** @type {?} */ NzAlertComponent.prototype._closeText; /** @type {?} */ NzAlertComponent.prototype.display; /** @type {?} */ NzAlertComponent.prototype.isTypeSet; /** @type {?} */ NzAlertComponent.prototype.isShowIconSet; /** @type {?} */ NzAlertComponent.prototype.prefixClass; /** @type {?} */ NzAlertComponent.prototype.isDescriptionString; /** @type {?} */ NzAlertComponent.prototype.isMessageString; /** @type {?} */ NzAlertComponent.prototype.isCloseTextString; /** @type {?} */ NzAlertComponent.prototype.outerClassMap; /** @type {?} */ NzAlertComponent.prototype.iconType; /** @type {?} */ NzAlertComponent.prototype.nzOnClose; /** @type {?} */ NzAlertComponent.prototype.nzIconType; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnotYWxlcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vc29sYXItbmctem9ycm8tYW50ZC8iLCJzb3VyY2VzIjpbImFsZXJ0L256LWFsZXJ0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFLdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7O3VCQWM3QixLQUFLOzBCQUNGLEtBQUs7eUJBQ04sS0FBSztxQkFDVCxNQUFNO3VCQUlaLElBQUk7eUJBQ0YsS0FBSzs2QkFDRCxLQUFLOzJCQUNQLFdBQVc7eUJBTW9CLElBQUksWUFBWSxFQUFFOztJQUcvRCxzQkFDSSwyQ0FBYTs7OztRQU9qQjtZQUNFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztTQUMxQjs7Ozs7UUFWRCxVQUNrQixLQUFpQztZQUNqRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLEtBQUssWUFBWSxXQUFXLENBQUMsQ0FBQztZQUMzRCxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUMxQixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztTQUMzQjs7O09BQUE7SUFNRCxzQkFDSSx5Q0FBVzs7OztRQUtmO1lBQ0UsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1NBQ3hCOzs7OztRQVJELFVBQ2dCLEtBQWlDO1lBQy9DLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsS0FBSyxZQUFZLFdBQVcsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1NBQ3pCOzs7T0FBQTtJQU1ELHNCQUNJ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Szs4QkFnQkwsS0FBSzs2QkFTTCxLQUFLOzsyQkFuSFI7O1NBMEJhLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XG5leHBvcnQgdHlwZSBOZ0NsYXNzVHlwZSA9IHN0cmluZyB8IHN0cmluZ1tdIHwgU2V0PHN0cmluZz4gfCB7IFsga2xhc3M6IHN0cmluZyBdOiBhbnk7IH07XG5cbmltcG9ydCB7IGZhZGVBbmltYXRpb24gfSBmcm9tICcuLi9jb3JlL2FuaW1hdGlvbi9mYWRlLWFuaW1hdGlvbnMnO1xuaW1wb3J0IHsgdG9Cb29sZWFuIH0gZnJvbSAnLi4vY29yZS91dGlsL2NvbnZlcnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3IgICAgICAgICAgIDogJ256LWFsZXJ0JyxcbiAgYW5pbWF0aW9ucyAgICAgICAgIDogWyBmYWRlQW5pbWF0aW9uIF0sXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxuICB0ZW1wbGF0ZVVybCAgICAgICAgOiAnLi9uei1hbGVydC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlcyAgICAgICAgICAgICA6IFtcbiAgICAgIGA6aG9zdCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9YFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE56QWxlcnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwcml2YXRlIF9iYW5uZXIgPSBmYWxzZTtcbiAgcHJpdmF0ZSBfY2xvc2VhYmxlID0gZmFsc2U7XG4gIHByaXZhdGUgX3Nob3dJY29uID0gZmFsc2U7XG4gIHByaXZhdGUgX3R5cGUgPSAnaW5mbyc7XG4gIHByaXZhdGUgX2Rlc2NyaXB0aW9uOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPjtcbiAgcHJpdmF0ZSBfbWVzc2FnZTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD47XG4gIHByaXZhdGUgX2Nsb3NlVGV4dDogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD47XG4gIGRpc3BsYXkgPSB0cnVlO1xuICBpc1R5cGVTZXQgPSBmYWxzZTtcbiAgaXNTaG93SWNvblNldCA9IGZhbHNlO1xuICBwcmVmaXhDbGFzcyA9ICdhbnQtYWxlcnQnO1xuICBpc0Rlc2NyaXB0aW9uU3RyaW5nOiBib29sZWFuO1xuICBpc01lc3NhZ2VTdHJpbmc6IGJvb2xlYW47XG4gIGlzQ2xvc2VUZXh0U3RyaW5nOiBib29sZWFuO1xuICBvdXRlckNsYXNzTWFwO1xuICBpY29uVHlwZTtcbiAgQE91dHB1dCgpIG56T25DbG9zZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBASW5wdXQoKSBuekljb25UeXBlOiBOZ0NsYXNzVHlwZTtcblxuICBASW5wdXQoKVxuICBzZXQgbnpEZXNjcmlwdGlvbih2YWx1ZTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD4pIHtcbiAgICB0aGlzLmlzRGVzY3JpcHRpb25TdHJpbmcgPSAhKHZhbHVlIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpO1xuICAgIHRoaXMuX2Rlc2NyaXB0aW9uID0gdmFsdWU7XG4gICAgdGhpcy51cGRhdGVPdXRlckNsYXNzTWFwKCk7XG4gICAgdGhpcy51cGRhdGVJY29uQ2xhc3NNYXAoKTtcbiAgfVxuXG4gIGdldCBuekRlc2NyaXB0aW9uKCk6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVzY3JpcHRpb247XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgbnpDbG9zZVRleHQodmFsdWU6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+KSB7XG4gICAgdGhpcy5pc0Nsb3NlVGV4dFN0cmluZyA9ICEodmFsdWUgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZik7XG4gICAgdGhpcy5fY2xvc2VUZXh0ID0gdmFsdWU7XG4gIH1cblxuICBnZXQgbnpDbG9zZVRleHQoKTogc3RyaW5nIHwgVGVtcGxhdGVSZWY8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLl9jbG9zZVRleHQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgbnpNZXNzYWdlKHZhbHVlOiBzdHJpbmcgfCBUZW1wbGF0ZVJlZjx2b2lkPikge1xuICAgIHRoaXMuaXNNZXNzYWdlU3RyaW5nID0gISh2YWx1ZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKTtcbiAgICB0aGlzLl9tZXNzYWdlID0gdmFsdWU7XG4gIH1cblxuICBnZXQgbnpNZXNzYWdlKCk6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fbWVzc2FnZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBuelR5cGUodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3R5cGUgPSB2YWx1ZTtcbiAgICB0aGlzLmlzVHlwZVNldCA9IHRydWU7XG4gICAgdGhpcy51cGRhdGVPdXRlckNsYXNzTWFwKCk7XG4gICAgdGhpcy51cGRhdGVJY29uQ2xhc3NNYXAoKTtcbiAgfVxuXG4gIGdldCBuelR5cGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5fdHlwZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBuekJhbm5lcih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2Jhbm5lciA9IHRvQm9vbGVhbih2YWx1ZSk7XG4gICAgaWYgKCF0aGlzLmlzVHlwZVNldCkge1xuICAgICAgdGhpcy5uelR5cGUgPSAnd2FybmluZyc7XG4gICAgfVxuICAgIGlmICghdGhpcy5pc1Nob3dJY29uU2V0KSB7XG4gICAgICB0aGlzLm56U2hvd0ljb24gPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLnVwZGF0ZU91dGVyQ2xhc3NNYXAoKTtcbiAgfVxuXG4gIGdldCBuekJhbm5lcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fYmFubmVyO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IG56Q2xvc2VhYmxlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fY2xvc2VhYmxlID0gdG9Cb29sZWFuKHZhbHVlKTtcbiAgfVxuXG4gIGdldCBuekNsb3NlYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fY2xvc2VhYmxlO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IG56U2hvd0ljb24odmFsdWU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zaG93SWNvbiA9IHRvQm9vbGVhbih2YWx1ZSk7XG4gICAgdGhpcy5pc1Nob3dJY29uU2V0ID0gdHJ1ZTtcbiAgICB0aGlzLnVwZGF0ZU91dGVyQ2xhc3NNYXAoKTtcbiAgfVxuXG4gIGdldCBuelNob3dJY29uKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zaG93SWNvbjtcbiAgfVxuXG4gIGNsb3NlQWxlcnQoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5ID0gZmFsc2U7XG4gIH1cblxuICBvbkZhZGVBbmltYXRpb25Eb25lKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNwbGF5KSB7XG4gICAgICB0aGlzLm56T25DbG9zZS5lbWl0KHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZU91dGVyQ2xhc3NNYXAoKTogdm9pZCB7XG4gICAgdGhpcy5vdXRlckNsYXNzTWFwID0ge1xuICAgICAgWyBgJHt0aGlzLnByZWZpeENsYXNzfWAgXSAgICAgICAgICAgICAgICAgOiB0cnVlLFxuICAgICAgWyBgJHt0aGlzLnByZWZpeENsYXNzfS0ke3RoaXMubnpUeXBlfWAgXSAgOiB0cnVlLFxuICAgICAgWyBgJHt0aGlzLnByZWZpeENsYXNzfS1uby1pY29uYCBdICAgICAgICAgOiAhdGhpcy5uelNob3dJY29uLFxuICAgICAgWyBgJHt0aGlzLnByZWZpeENsYXNzfS1iYW5uZXJgIF0gICAgICAgICAgOiB0aGlzLm56QmFubmVyLFxuICAgICAgWyBgJHt0aGlzLnByZWZpeENsYXNzfS13aXRoLWRlc2NyaXB0aW9uYCBdOiAhIXRoaXMubnpEZXNjcmlwdGlvblxuICAgIH07XG4gIH1cblxuICB1cGRhdGVJY29uQ2xhc3NNYXAoKTogdm9pZCB7XG4gICAgY29uc3QgaWNvblR5cGUgPSB7XG4gICAgICAnY2xvc2UtY2lyY2xlLW8nICAgICAgICAgOiB0aGlzLm56RGVzY3JpcHRpb24gJiYgdGhpcy5uelR5cGUgPT09ICdlcnJvcicsXG4gICAgICAnY2hlY2stY2lyY2xlLW8nICAgICAgICAgOiB0aGlzLm56RGVzY3JpcHRpb24gJiYgdGhpcy5uelR5cGUgPT09ICdzdWNjZXNzJyxcbiAgICAgICdpbmZvLWNpcmNsZS1vJyAgICAgICAgICA6IHRoaXMubnpEZXNjcmlwdGlvbiAmJiB0aGlzLm56VHlwZSA9PT0gJ2luZm8nLFxuICAgICAgJ2V4Y2xhbWF0aW9uLWNpcmNsZS1vJyAgIDogdGhpcy5uekRlc2NyaXB0aW9uICYmIHRoaXMubnpUeXBlID09PSAnd2FybmluZycsXG4gICAgICAnY2xvc2UtY2lyY2xlLWZpbGwnICAgICAgOiAoIXRoaXMubnpEZXNjcmlwdGlvbikgJiYgdGhpcy5uelR5cGUgPT09ICdlcnJvcicsXG4gICAgICAnY2hlY2stY2lyY2xlLWZpbGwnICAgICAgOiAoIXRoaXMubnpEZXNjcmlwdGlvbikgJiYgdGhpcy5uelR5cGUgPT09ICdzdWNjZXNzJyxcbiAgICAgICdpbmZvLWNpcmNsZS1maWxsJyAgICAgICA6ICghdGhpcy5uekRlc2NyaXB0aW9uKSAmJiB0aGlzLm56VHlwZSA9PT0gJ2luZm8nLFxuICAgICAgJ2V4Y2xhbWF0aW9uLWNpcmNsZS1maWxsJzogKCF0aGlzLm56RGVzY3JpcHRpb24pICYmIHRoaXMubnpUeXBlID09PSAnd2FybmluZydcbiAgICB9O1xuXG4gICAgT2JqZWN0LmtleXMoaWNvblR5cGUpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmIChpY29uVHlwZVsga2V5IF0pIHtcbiAgICAgICAgdGhpcy5pY29uVHlwZSA9IGtleTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlSWNvbkNsYXNzTWFwKCk7XG4gICAgdGhpcy51cGRhdGVPdXRlckNsYXNzTWFwKCk7XG4gIH1cbn1cbiJdfQ==