ad-custom-lib
Version:
This is an UI custom library based on Adminlte library with purpose for personal use, if you need a full template of Primeng please visit https://github.com/mledour/angular-admin-lte
251 lines • 19.3 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, ContentChild, ElementRef, Input, NgZone, Renderer2, TemplateRef, ViewChild } from '@angular/core';
import { removeListeners, removeSubscriptions } from '../../helpers';
import { LayoutStore } from '../layout.store';
import { HeaderService } from './header.service';
/**
* Header Logo
*/
var HeaderLogoComponent = /** @class */ (function () {
function HeaderLogoComponent() {
}
HeaderLogoComponent.decorators = [
{ type: Component, args: [{
selector: 'mk-layout-header-logo',
template: '<ng-template #templateRef><ng-content></ng-content></ng-template>'
}] }
];
HeaderLogoComponent.propDecorators = {
templateRef: [{ type: ViewChild, args: ['templateRef', { static: true },] }]
};
return HeaderLogoComponent;
}());
export { HeaderLogoComponent };
if (false) {
/** @type {?} */
HeaderLogoComponent.prototype.templateRef;
}
/**
* Header Logo Mini
*/
var HeaderLogoMiniComponent = /** @class */ (function () {
function HeaderLogoMiniComponent() {
}
HeaderLogoMiniComponent.decorators = [
{ type: Component, args: [{
selector: 'mk-layout-header-logo-mini',
template: '<ng-template #templateRef><ng-content></ng-content></ng-template>'
}] }
];
HeaderLogoMiniComponent.propDecorators = {
templateRef: [{ type: ViewChild, args: ['templateRef', { static: true },] }]
};
return HeaderLogoMiniComponent;
}());
export { HeaderLogoMiniComponent };
if (false) {
/** @type {?} */
HeaderLogoMiniComponent.prototype.templateRef;
}
/**
* Header
*/
var HeaderComponent = /** @class */ (function () {
/**
* @method constructor
* @param layoutStore [description]
* @param ngZone [description]
* @param renderer2 [description]
* @param elementRef [description]
* @param headerService [description]
*/
function HeaderComponent(layoutStore, ngZone, renderer2, elementRef, headerService) {
this.layoutStore = layoutStore;
this.ngZone = ngZone;
this.renderer2 = renderer2;
this.elementRef = elementRef;
this.headerService = headerService;
this.listeners = [];
this.subscriptions = [];
this.isSidebarLeftToggle = true;
this.isSidebarRightToggle = true;
this.logoLink = '/';
}
/**
* @method ngAfterViewInit
*/
/**
* \@method ngAfterViewInit
* @return {?}
*/
HeaderComponent.prototype.ngAfterViewInit = /**
* \@method ngAfterViewInit
* @return {?}
*/
function () {
var _this = this;
this.headerService.elementRef = this.headerElement;
if (this.sidebarLeftToggleElement) {
this.subscriptions.push(this.layoutStore.isSidebarLeftCollapsed.subscribe((/**
* @param {?} value
* @return {?}
*/
function (value) {
_this.isSidebarLeftCollapsed = value;
})));
this.ngZone.runOutsideAngular((/**
* @return {?}
*/
function () {
_this.listeners.push(_this.renderer2.listen(_this.sidebarLeftToggleElement.nativeElement, 'click', (/**
* @param {?} event
* @return {?}
*/
function (event) {
event.preventDefault();
_this.layoutStore.sidebarLeftCollapsed(!_this.isSidebarLeftCollapsed);
})));
}));
}
if (this.sidebarRightToggleElement) {
this.subscriptions.push(this.layoutStore.isSidebarRightCollapsed.subscribe((/**
* @param {?} value
* @return {?}
*/
function (value) {
_this.isSidebarRightCollapsed = value;
})));
this.ngZone.runOutsideAngular((/**
* @return {?}
*/
function () {
_this.listeners.push(_this.renderer2.listen(_this.sidebarRightToggleElement.nativeElement, 'click', (/**
* @param {?} event
* @return {?}
*/
function (event) {
event.preventDefault();
_this.layoutStore.sidebarRightCollapsed(!_this.isSidebarRightCollapsed);
})));
}));
}
};
/**
* @method ngOnDestroy
*/
/**
* \@method ngOnDestroy
* @return {?}
*/
HeaderComponent.prototype.ngOnDestroy = /**
* \@method ngOnDestroy
* @return {?}
*/
function () {
this.listeners = removeListeners(this.listeners);
this.subscriptions = removeSubscriptions(this.subscriptions);
};
HeaderComponent.decorators = [
{ type: Component, args: [{
selector: 'mk-layout-header',
template: "<header #headerElement class=\"main-header\">\r\n <a [routerLink]=\"logoLink\" class=\"logo\">\r\n <span class=\"logo-mini\">\r\n <ng-template [ngTemplateOutlet]=\"headerLogoMiniComponent?.templateRef\"></ng-template>\r\n </span>\r\n <span class=\"logo-lg\">\r\n <ng-template [ngTemplateOutlet]=\"headerLogoComponent?.templateRef\"></ng-template>\r\n </span>\r\n </a>\r\n <nav class=\"navbar navbar-static-top\">\r\n <a *ngIf=\"isSidebarLeftToggle\" #sidebarLeftToggleElement href=\"#\" class=\"sidebar-toggle\">\r\n <span class=\"sr-only\">Toggle navigation</span>\r\n <span class=\"icon-bar\"></span>\r\n <span class=\"icon-bar\"></span>\r\n <span class=\"icon-bar\"></span>\r\n </a>\r\n <div *ngIf=\"isSidebarRightToggle\" class=\"sidebar-right-toggle\">\r\n <a #sidebarRightToggleElement href=\"#\"><i class=\"fa fa-gears\"></i></a>\r\n </div>\r\n <ng-content></ng-content>\r\n </nav>\r\n</header>",
styles: [":host{display:block}.sidebar-right-toggle{float:right}.sidebar-right-toggle a{padding:15px;display:block;line-height:20px;cursor:pointer}"]
}] }
];
/** @nocollapse */
HeaderComponent.ctorParameters = function () { return [
{ type: LayoutStore },
{ type: NgZone },
{ type: Renderer2 },
{ type: ElementRef },
{ type: HeaderService }
]; };
HeaderComponent.propDecorators = {
isSidebarLeftToggle: [{ type: Input }],
isSidebarRightToggle: [{ type: Input }],
logoLink: [{ type: Input }],
headerLogoComponent: [{ type: ContentChild, args: [HeaderLogoComponent, { static: true },] }],
headerLogoMiniComponent: [{ type: ContentChild, args: [HeaderLogoMiniComponent, { static: true },] }],
headerElement: [{ type: ViewChild, args: ['headerElement', { static: true },] }],
sidebarLeftToggleElement: [{ type: ViewChild, args: ['sidebarLeftToggleElement', { static: false },] }],
sidebarRightToggleElement: [{ type: ViewChild, args: ['sidebarRightToggleElement', { static: false },] }]
};
return HeaderComponent;
}());
export { HeaderComponent };
if (false) {
/**
* @type {?}
* @private
*/
HeaderComponent.prototype.isSidebarLeftCollapsed;
/**
* @type {?}
* @private
*/
HeaderComponent.prototype.isSidebarRightCollapsed;
/**
* @type {?}
* @private
*/
HeaderComponent.prototype.listeners;
/**
* @type {?}
* @private
*/
HeaderComponent.prototype.subscriptions;
/** @type {?} */
HeaderComponent.prototype.isSidebarLeftToggle;
/** @type {?} */
HeaderComponent.prototype.isSidebarRightToggle;
/** @type {?} */
HeaderComponent.prototype.logoLink;
/** @type {?} */
HeaderComponent.prototype.headerLogoComponent;
/** @type {?} */
HeaderComponent.prototype.headerLogoMiniComponent;
/**
* @type {?}
* @private
*/
HeaderComponent.prototype.headerElement;
/**
* @type {?}
* @private
*/
HeaderComponent.prototype.sidebarLeftToggleElement;
/**
* @type {?}
* @private
*/
HeaderComponent.prototype.sidebarRightToggleElement;
/**
* @type {?}
* @private
*/
HeaderComponent.prototype.layoutStore;
/**
* @type {?}
* @private
*/
HeaderComponent.prototype.ngZone;
/**
* @type {?}
* @private
*/
HeaderComponent.prototype.renderer2;
/**
* @type {?}
* @private
*/
HeaderComponent.prototype.elementRef;
/**
* @type {?}
* @private
*/
HeaderComponent.prototype.headerService;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FkLWN1c3RvbS1saWIvIiwic291cmNlcyI6WyJsaWIvbGF5b3V0L2hlYWRlci9oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQ1ksU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBYSxTQUFTLEVBQ3ZGLFdBQVcsRUFBRSxTQUFTLEVBQ3pCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUtqRDtJQUFBO0lBTUEsQ0FBQzs7Z0JBTkEsU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxtRUFBbUU7aUJBQ2hGOzs7OEJBRUksU0FBUyxTQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0lBQzlDLDBCQUFDO0NBQUEsQUFORCxJQU1DO1NBRlksbUJBQW1COzs7SUFDNUIsMENBQWlGOzs7OztBQU1yRjtJQUFBO0lBTUEsQ0FBQzs7Z0JBTkEsU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLFFBQVEsRUFBRSxtRUFBbUU7aUJBQ2hGOzs7OEJBRUksU0FBUyxTQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0lBQzlDLDhCQUFDO0NBQUEsQUFORCxJQU1DO1NBRlksdUJBQXVCOzs7SUFDaEMsOENBQWlGOzs7OztBQU1yRjtJQXNCSTs7Ozs7OztPQU9HO0lBQ0gseUJBQ1ksV0FBd0IsRUFDeEIsTUFBYyxFQUNkLFNBQW9CLEVBQ3BCLFVBQXNCLEVBQ3RCLGFB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WSxTQUFDLHVCQUF1QixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQ0FFdEQsU0FBUyxTQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7MkNBQzNDLFNBQVMsU0FBQywwQkFBMEIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7NENBQ3ZELFNBQVMsU0FBQywyQkFBMkIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7O0lBdUQ3RCxzQkFBQztDQUFBLEFBM0VELElBMkVDO1NBdEVZLGVBQWU7Ozs7OztJQUN4QixpREFBd0M7Ozs7O0lBQ3hDLGtEQUF5Qzs7Ozs7SUFDekMsb0NBQXVCOzs7OztJQUN2Qix3Q0FBMkI7O0lBRTNCLDhDQUFvQzs7SUFDcEMsK0NBQXFDOztJQUNyQyxtQ0FBd0M7O0lBRXhDLDhDQUFxRzs7SUFDckcsa0RBQWlIOzs7OztJQUVqSCx3Q0FBZ0Y7Ozs7O0lBQ2hGLG1EQUF1Rzs7Ozs7SUFDdkcsb0RBQXlHOzs7OztJQVdyRyxzQ0FBZ0M7Ozs7O0lBQ2hDLGlDQUFzQjs7Ozs7SUFDdEIsb0NBQTRCOzs7OztJQUM1QixxQ0FBOEI7Ozs7O0lBQzlCLHdDQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgICBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIENvbnRlbnRDaGlsZCwgRWxlbWVudFJlZiwgSW5wdXQsIE5nWm9uZSwgT25EZXN0cm95LCBSZW5kZXJlcjIsXHJcbiAgICBUZW1wbGF0ZVJlZiwgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyByZW1vdmVMaXN0ZW5lcnMsIHJlbW92ZVN1YnNjcmlwdGlvbnMgfSBmcm9tICcuLi8uLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgTGF5b3V0U3RvcmUgfSBmcm9tICcuLi9sYXlvdXQuc3RvcmUnO1xyXG5pbXBvcnQgeyBIZWFkZXJTZXJ2aWNlIH0gZnJvbSAnLi9oZWFkZXIuc2VydmljZSc7XHJcblxyXG4vKipcclxuICogSGVhZGVyIExvZ29cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdtay1sYXlvdXQtaGVhZGVyLWxvZ28nLFxyXG4gICAgdGVtcGxhdGU6ICc8bmctdGVtcGxhdGUgI3RlbXBsYXRlUmVmPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L25nLXRlbXBsYXRlPidcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlckxvZ29Db21wb25lbnQge1xyXG4gICAgQFZpZXdDaGlsZCgndGVtcGxhdGVSZWYnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT47XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBIZWFkZXIgTG9nbyBNaW5pXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbWstbGF5b3V0LWhlYWRlci1sb2dvLW1pbmknLFxyXG4gICAgdGVtcGxhdGU6ICc8bmctdGVtcGxhdGUgI3RlbXBsYXRlUmVmPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L25nLXRlbXBsYXRlPidcclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlckxvZ29NaW5pQ29tcG9uZW50IHtcclxuICAgIEBWaWV3Q2hpbGQoJ3RlbXBsYXRlUmVmJywgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG59XHJcblxyXG4vKipcclxuICogSGVhZGVyXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnbWstbGF5b3V0LWhlYWRlcicsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vaGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgICBwcml2YXRlIGlzU2lkZWJhckxlZnRDb2xsYXBzZWQ6IGJvb2xlYW47XHJcbiAgICBwcml2YXRlIGlzU2lkZWJhclJpZ2h0Q29sbGFwc2VkOiBib29sZWFuO1xyXG4gICAgcHJpdmF0ZSBsaXN0ZW5lcnMgPSBbXTtcclxuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9ucyA9IFtdO1xyXG5cclxuICAgIEBJbnB1dCgpIGlzU2lkZWJhckxlZnRUb2dnbGUgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgaXNTaWRlYmFyUmlnaHRUb2dnbGUgPSB0cnVlO1xyXG4gICAgQElucHV0KCkgbG9nb0xpbms6IHN0cmluZyB8IGFueVtdID0gJy8nO1xyXG5cclxuICAgIEBDb250ZW50Q2hpbGQoSGVhZGVyTG9nb0NvbXBvbmVudCwgeyBzdGF0aWM6IHRydWUgfSkgcHVibGljIGhlYWRlckxvZ29Db21wb25lbnQ6IEhlYWRlckxvZ29Db21wb25lbnQ7XHJcbiAgICBAQ29udGVudENoaWxkKEhlYWRlckxvZ29NaW5pQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBwdWJsaWMgaGVhZGVyTG9nb01pbmlDb21wb25lbnQ6IEhlYWRlckxvZ29NaW5pQ29tcG9uZW50O1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2hlYWRlckVsZW1lbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBwcml2YXRlIGhlYWRlckVsZW1lbnQ6IEVsZW1lbnRSZWY7XHJcbiAgICBAVmlld0NoaWxkKCdzaWRlYmFyTGVmdFRvZ2dsZUVsZW1lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSkgcHJpdmF0ZSBzaWRlYmFyTGVmdFRvZ2dsZUVsZW1lbnQ6IEVsZW1lbnRSZWY7XHJcbiAgICBAVmlld0NoaWxkKCdzaWRlYmFyUmlnaHRUb2dnbGVFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pIHByaXZhdGUgc2lkZWJhclJpZ2h0VG9nZ2xlRWxlbWVudDogRWxlbWVudFJlZjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBtZXRob2QgY29uc3RydWN0b3JcclxuICAgICAqIEBwYXJhbSBsYXlvdXRTdG9yZSBbZGVzY3JpcHRpb25dXHJcbiAgICAgKiBAcGFyYW0gbmdab25lICAgICAgW2Rlc2NyaXB0aW9uXVxyXG4gICAgICogQHBhcmFtIHJlbmRlcmVyMiAgIFtkZXNjcmlwdGlvbl1cclxuICAgICAqIEBwYXJhbSBlbGVtZW50UmVmICAgW2Rlc2NyaXB0aW9uXVxyXG4gICAgICogQHBhcmFtIGhlYWRlclNlcnZpY2UgICBbZGVzY3JpcHRpb25dXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgbGF5b3V0U3RvcmU6IExheW91dFN0b3JlLFxyXG4gICAgICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXHJcbiAgICAgICAgcHJpdmF0ZSByZW5kZXJlcjI6IFJlbmRlcmVyMixcclxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBoZWFkZXJTZXJ2aWNlOiBIZWFkZXJTZXJ2aWNlXHJcbiAgICApIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQG1ldGhvZCBuZ0FmdGVyVmlld0luaXRcclxuICAgICAqL1xyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIHRoaXMuaGVhZGVyU2VydmljZS5lbGVtZW50UmVmID0gdGhpcy5oZWFkZXJFbGVtZW50O1xyXG5cclxuICAgICAgICBpZiAodGhpcy5zaWRlYmFyTGVmdFRvZ2dsZUVsZW1lbnQpIHtcclxuICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5sYXlvdXRTdG9yZS5pc1NpZGViYXJMZWZ0Q29sbGFwc2VkLnN1YnNjcmliZSgodmFsdWU6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNTaWRlYmFyTGVmdENvbGxhcHNlZCA9IHZhbHVlO1xyXG4gICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzLnB1c2godGhpcy5yZW5kZXJlcjIubGlzdGVuKHRoaXMuc2lkZWJhckxlZnRUb2dnbGVFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdjbGljaycsIChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGF5b3V0U3RvcmUuc2lkZWJhckxlZnRDb2xsYXBzZWQoIXRoaXMuaXNTaWRlYmFyTGVmdENvbGxhcHNlZCk7XHJcbiAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5zaWRlYmFyUmlnaHRUb2dnbGVFbGVtZW50KSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMubGF5b3V0U3RvcmUuaXNTaWRlYmFyUmlnaHRDb2xsYXBzZWQuc3Vic2NyaWJlKCh2YWx1ZTogYm9vbGVhbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc1NpZGViYXJSaWdodENvbGxhcHNlZCA9IHZhbHVlO1xyXG4gICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgIHRoaXMubmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMubGlzdGVuZXJzLnB1c2godGhpcy5yZW5kZXJlcjIubGlzdGVuKHRoaXMuc2lkZWJhclJpZ2h0VG9nZ2xlRWxlbWVudC5uYXRpdmVFbGVtZW50LCAnY2xpY2snLCAoZXZlbnQ6IEV2ZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmxheW91dFN0b3JlLnNpZGViYXJSaWdodENvbGxhcHNlZCghdGhpcy5pc1NpZGViYXJSaWdodENvbGxhcHNlZCk7XHJcbiAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBtZXRob2QgbmdPbkRlc3Ryb3lcclxuICAgICAqL1xyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5saXN0ZW5lcnMgPSByZW1vdmVMaXN0ZW5lcnModGhpcy5saXN0ZW5lcnMpO1xyXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucyA9IHJlbW92ZVN1YnNjcmlwdGlvbnModGhpcy5zdWJzY3JpcHRpb25zKTtcclxuICAgIH1cclxufVxyXG4iXX0=