com.phloxui
Version:
PhloxUI Ng2+ Framework
246 lines (245 loc) • 19.6 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, ElementRef, Input, Output, EventEmitter } from '@angular/core';
import { DialogService } from '../../../service/DialogService.service';
import { ComponentDataLangSelector } from '../../../component/ComponentDataLangSelector.component';
import { Option } from '../../../decorator/Option.decorator';
import { I18N } from '../../../decorator/I18N.decorator';
import { ComponentDataLangSelectorModel } from '../../../component/model/ComponentDataLangSelectorModel';
const /** @type {?} */ TYPE_NAME = "material-component-lang-selector";
export class MaterialComponentDataLangSelector extends ComponentDataLangSelector {
/**
* @param {?} elementRef
* @param {?} dialogService
*/
constructor(elementRef, dialogService) {
super(elementRef, dialogService);
}
/**
* @return {?}
*/
ngOnInit() {
super.ngOnInit();
}
}
MaterialComponentDataLangSelector.TYPE_NAME = TYPE_NAME;
MaterialComponentDataLangSelector.decorators = [
{ type: Component, args: [{
moduleId: module.id,
selector: TYPE_NAME,
template: `<div class="material-component-lang-selector disabled-overlay" [style.width]="getWidth()" [style.height]="getHeight()">
<div class="wrapper left" [class.expand]="!hasLanguage()">
<div class="component-pane">
<!-- default -->
<div class="component-wrapper" [class.show]="_isSelectedLanguageByIndex(null)">
<phx-component-wrapper *ngIf="hasModel()" [type]="getModel().componentType" [model]="getModel().componentModel"
[]="getDefaultComponentHandler()" [data]="_getDefaultData()" [dataParent]="this"
[]="getModel().componentOptions"></phx-component-wrapper>
</div>
<!-- by lang -->
<ng-template ngFor let-item [ngForOf]="_getDataLangList()" let-i="index">
<div class="component-wrapper" [class.show]="_isSelectedLanguageByIndex(i)">
<phx-component-wrapper *ngIf="hasModel()" [type]="getModel().componentType" [model]="getModel().componentModel"
[]="getComponentHandler()" [setting]="getComponentSetting(i)" [data]="item" [dataParent]="this"
[]="getModel().componentOptions"></phx-component-wrapper>
</div>
</ng-template>
</div>
</div>
<div class="wrapper right" [class.hide]="!hasLanguage()">
<div class="lang-pane">
<div class="language-btn default data" [class.selected]="isSelectedLanguage(null)" [class.dirty]="_isDataDirtyByIndex(null)"
(click)="onActionBtnClicked($event, null, null)">
<div class="table-wrapper fluid">
<div class="table-cell-wrapper middle">
Default
</div>
</div>
</div>
<div *ngFor="let item of getMergedLanguageList(); let i = index" class="language-btn" [class.data]="_langHasDataByIndex(i)"
[]="_isDataDirtyByIndex(i)"
[]="isSelectedLanguage(item)" (click)="onActionBtnClicked($event, item, i)">
<div class="table-wrapper fluid">
<div class="table-cell-wrapper middle">
<div *ngIf="!_hasButtonIcon(item)">{{item.label}}</div>
<div *ngIf="_hasButtonIcon(item)">
<img src="{{item.iconURL}}">
</div>
</div>
</div>
</div>
<div class="mocking-btn"></div>
</div>
</div>
</div>
`
},] },
];
/** @nocollapse */
MaterialComponentDataLangSelector.ctorParameters = () => [
{ type: ElementRef, },
{ type: DialogService, },
];
MaterialComponentDataLangSelector.propDecorators = {
"model": [{ type: Input },],
"controller": [{ type: Input },],
"dataParent": [{ type: Input },],
"ignoreParentData": [{ type: Input },],
"data": [{ type: Input },],
"ignoreParentDisabled": [{ type: Input },],
"delegateHistory": [{ type: Input },],
"onDisabled": [{ type: Input },],
"onEnabled": [{ type: Input },],
"loadingEnabled": [{ type: Input },],
"i18nKey": [{ type: Input },],
"bypass": [{ type: Input, args: ['i18nBypass',] },],
"options": [{ type: Input },],
"disabled": [{ type: Input },],
"help": [{ type: Input },],
"width": [{ type: Input },],
"height": [{ type: Input },],
"loadEvent": [{ type: Output, args: ['phxLoad',] },],
"langClickEvent": [{ type: Output, args: ['phxLangClick',] },],
"langAddEvent": [{ type: Output, args: ['phxLangAdd',] },],
"langRemoveEvent": [{ type: Output, args: ['phxLangRemove',] },],
};
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", ComponentDataLangSelectorModel)
], MaterialComponentDataLangSelector.prototype, "model", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], MaterialComponentDataLangSelector.prototype, "controller", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], MaterialComponentDataLangSelector.prototype, "dataParent", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialComponentDataLangSelector.prototype, "ignoreParentData", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Object)
], MaterialComponentDataLangSelector.prototype, "data", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialComponentDataLangSelector.prototype, "ignoreParentDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialComponentDataLangSelector.prototype, "delegateHistory", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], MaterialComponentDataLangSelector.prototype, "onDisabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Function)
], MaterialComponentDataLangSelector.prototype, "onEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialComponentDataLangSelector.prototype, "loadingEnabled", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialComponentDataLangSelector.prototype, "i18nKey", void 0);
tslib_1.__decorate([
Option('i18nBypass'),
tslib_1.__metadata("design:type", Boolean)
], MaterialComponentDataLangSelector.prototype, "bypass", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", Boolean)
], MaterialComponentDataLangSelector.prototype, "disabled", void 0);
tslib_1.__decorate([
I18N(),
Option(),
tslib_1.__metadata("design:type", Object)
], MaterialComponentDataLangSelector.prototype, "help", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialComponentDataLangSelector.prototype, "width", void 0);
tslib_1.__decorate([
Option(),
tslib_1.__metadata("design:type", String)
], MaterialComponentDataLangSelector.prototype, "height", void 0);
tslib_1.__decorate([
Option('load'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentDataLangSelector.prototype, "loadEvent", void 0);
tslib_1.__decorate([
Option('langClick'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentDataLangSelector.prototype, "langClickEvent", void 0);
tslib_1.__decorate([
Option('langAdd'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentDataLangSelector.prototype, "langAddEvent", void 0);
tslib_1.__decorate([
Option('langRemove'),
tslib_1.__metadata("design:type", EventEmitter)
], MaterialComponentDataLangSelector.prototype, "langRemoveEvent", void 0);
function MaterialComponentDataLangSelector_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
MaterialComponentDataLangSelector.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
MaterialComponentDataLangSelector.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
MaterialComponentDataLangSelector.propDecorators;
/** @type {?} */
MaterialComponentDataLangSelector.TYPE_NAME;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.model;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.controller;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.dataParent;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.ignoreParentData;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.data;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.ignoreParentDisabled;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.delegateHistory;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.onDisabled;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.onEnabled;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.loadingEnabled;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.i18nKey;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.bypass;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.options;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.disabled;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.help;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.width;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.height;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.loadEvent;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.langClickEvent;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.langAddEvent;
/** @type {?} */
MaterialComponentDataLangSelector.prototype.langRemoveEvent;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWF0ZXJpYWxDb21wb25lbnREYXRhTGFuZ1NlbGVjdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NvbS5waGxveHVpLyIsInNvdXJjZXMiOlsibGliL3RoZW1lL21hdGVyaWFsL2NvbXBvbmVudC9NYXRlcmlhbENvbXBvbmVudERhdGFMYW5nU2VsZWN0b3IuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBMkIsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV2RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUluRyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDN0QsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBRXpELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBSXpHLHVCQUFNLFNBQVMsR0FBVyxrQ0FBa0MsQ0FBQztBQW9EN0QsTUFBTSx3Q0FBeUMsU0FBUSx5QkFBeUI7Ozs7O0lBNEU5RSxZQUFZLFVBQXNCLEVBQUUsYUFBNEI7UUFDOUQsS0FBSyxDQUFDLFVBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztLQUNsQzs7OztJQUVNLFFBQVE7UUFDYixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7Ozs4Q0EvRXdCLFNBQVM7O1lBcERyRCxTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFO2dCQUNuQixRQUFRLEVBQUUsU0FBUztnQkFDbkIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E2Q1g7YUFDQTs7OztZQWpFMkIsVUFBVTtZQUM3QixhQUFhOzs7c0JBdUVuQixLQUFLOzJCQUdMLEtBQUs7MkJBR0wsS0FBSztpQ0FHTCxLQUFLO3FCQUdMLEtBQUs7cUNBR0wsS0FBSztnQ0FHTCxLQUFLOzJCQUdMLEtBQUs7MEJBR0wsS0FBSzsrQkFHTCxLQUFLO3dCQUdMLEtBQUs7dUJBR0wsS0FBSyxTQUFDLFlBQVk7d0JBR2xCLEtBQUs7eUJBRUwsS0FBSztxQkFJTCxLQUFLO3NCQUtMLEtBQUs7dUJBR0wsS0FBSzswQkFNTCxNQUFNLFNBQUMsU0FBUzsrQkFJaEIsTUFBTSxTQUFDLGNBQWM7NkJBR3JCLE1BQU0sU0FBQyxZQUFZO2dDQUduQixNQUFNLFNBQUMsZUFBZTs7O0lBakV0QixNQUFNLEVBQUU7c0NBQ1EsOEJBQThCOzs7SUFFOUMsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFO3NDQUNhLFFBQVE7OztJQUU3QixNQUFNLEVBQUU7c0NBQ1ksUUFBUTs7O0lBRTVCLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sRUFBRTs7OztJQUdSLE1BQU0sQ0FBQyxZQUFZLENBQUM7Ozs7SUFLcEIsTUFBTSxFQUFFOzs7O0lBSVIsSUFBSSxFQUFFO0lBQ04sTUFBTSxFQUFFOzs7O0lBSVIsTUFBTSxFQUFFOzs7O0lBR1IsTUFBTSxFQUFFOzs7O0lBTVIsTUFBTSxDQUFDLE1BQU0sQ0FBQztzQ0FDTSxZQUFZOzs7SUFHaEMsTUFBTSxDQUFDLFdBQVcsQ0FBQztzQ0FDTSxZQUFZOzs7SUFFckMsTUFBTSxDQUFDLFNBQVMsQ0FBQztzQ0FDTSxZQUFZOzs7SUFFbkMsTUFBTSxDQUFDLFlBQVksQ0FBQztzQ0FDTSxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIEVsZW1lbnRSZWYsIElucHV0LCBPdXRwdXQsIEhvc3RMaXN0ZW5lciwgVmlld0NoaWxkLCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlL0RpYWxvZ1NlcnZpY2Uuc2VydmljZSc7XG5pbXBvcnQgeyBQaGxveEFwcEluZm8gfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnQvbW9kZWwvUGhsb3hBcHBJbmZvJztcbmltcG9ydCB7IENvbXBvbmVudERhdGFMYW5nU2VsZWN0b3IgfSBmcm9tICcuLi8uLi8uLi9jb21wb25lbnQvQ29tcG9uZW50RGF0YUxhbmdTZWxlY3Rvci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSUhhc01vZGVsIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50L0lIYXNNb2RlbCc7XG5pbXBvcnQgeyBJSGFzSGVscCB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudC9JSGFzSGVscCc7XG5pbXBvcnQgeyBJSGFzRGF0YSB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudC9JSGFzRGF0YSc7XG5pbXBvcnQgeyBPcHRpb24gfSBmcm9tICcuLi8uLi8uLi9kZWNvcmF0b3IvT3B0aW9uLmRlY29yYXRvcic7XG5pbXBvcnQgeyBJMThOIH0gZnJvbSAnLi4vLi4vLi4vZGVjb3JhdG9yL0kxOE4uZGVjb3JhdG9yJztcbmltcG9ydCB7IElEYXRhTGFuZ1NlbGVjdG9yQ29udHJvbGxlciB9IGZyb20gJy4uLy4uLy4uL2NvbXBvbmVudC9JRGF0YUxhbmdTZWxlY3RvckNvbnRyb2xsZXInO1xuaW1wb3J0IHsgQ29tcG9uZW50RGF0YUxhbmdTZWxlY3Rvck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50L21vZGVsL0NvbXBvbmVudERhdGFMYW5nU2VsZWN0b3JNb2RlbCc7XG5cbmRlY2xhcmUgdmFyICQ6IGFueTtcblxuY29uc3QgVFlQRV9OQU1FOiBzdHJpbmcgPSBcIm1hdGVyaWFsLWNvbXBvbmVudC1sYW5nLXNlbGVjdG9yXCI7XG5cbkBDb21wb25lbnQoe1xuICBtb2R1bGVJZDogbW9kdWxlLmlkLFxuICBzZWxlY3RvcjogVFlQRV9OQU1FLFxuICB0ZW1wbGF0ZTogYDxkaXYgY2xhc3M9XCJtYXRlcmlhbC1jb21wb25lbnQtbGFuZy1zZWxlY3RvciBkaXNhYmxlZC1vdmVybGF5XCIgW3N0eWxlLndpZHRoXT1cImdldFdpZHRoKClcIiBbc3R5bGUuaGVpZ2h0XT1cImdldEhlaWdodCgpXCI+XG5cdDxkaXYgY2xhc3M9XCJ3cmFwcGVyIGxlZnRcIiBbY2xhc3MuZXhwYW5kXT1cIiFoYXNMYW5ndWFnZSgpXCI+XG5cdFx0PGRpdiBjbGFzcz1cImNvbXBvbmVudC1wYW5lXCI+XG5cdFx0XHQ8IS0tIGRlZmF1bHQgLS0+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiY29tcG9uZW50LXdyYXBwZXJcIiBbY2xhc3Muc2hvd109XCJfaXNTZWxlY3RlZExhbmd1YWdlQnlJbmRleChudWxsKVwiPlxuXHRcdFx0XHQ8cGh4LWNvbXBvbmVudC13cmFwcGVyICpuZ0lmPVwiaGFzTW9kZWwoKVwiIFt0eXBlXT1cImdldE1vZGVsKCkuY29tcG9uZW50VHlwZVwiIFttb2RlbF09XCJnZXRNb2RlbCgpLmNvbXBvbmVudE1vZGVsXCJcblx0XHRcdFx0XHRbaGFuZGxlcl09XCJnZXREZWZhdWx0Q29tcG9uZW50SGFuZGxlcigpXCIgW2RhdGFdPVwiX2dldERlZmF1bHREYXRhKClcIiBbZGF0YVBhcmVudF09XCJ0aGlzXCJcblx0XHRcdFx0XHRbb3B0aW9uc109XCJnZXRNb2RlbCgpLmNvbXBvbmVudE9wdGlvbnNcIj48L3BoeC1jb21wb25lbnQtd3JhcHBlcj5cblx0XHRcdDwvZGl2PlxuXHRcdFx0PCEtLSBieSBsYW5nIC0tPlxuXHRcdFx0PG5nLXRlbXBsYXRlIG5nRm9yIGxldC1pdGVtIFtuZ0Zvck9mXT1cIl9nZXREYXRhTGFuZ0xpc3QoKVwiIGxldC1pPVwiaW5kZXhcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbXBvbmVudC13cmFwcGVyXCIgW2NsYXNzLnNob3ddPVwiX2lzU2VsZWN0ZWRMYW5ndWFnZUJ5SW5kZXgoaSlcIj5cblx0XHRcdFx0XHQ8cGh4LWNvbXBvbmVudC13cmFwcGVyICpuZ0lmPVwiaGFzTW9kZWwoKVwiIFt0eXBlXT1cImdldE1vZGVsKCkuY29tcG9uZW50VHlwZVwiIFttb2RlbF09XCJnZXRNb2RlbCgpLmNvbXBvbmVudE1vZGVsXCJcblx0XHRcdFx0XHRcdFtoYW5kbGVyXT1cImdldENvbXBvbmVudEhhbmRsZXIoKVwiIFtzZXR0aW5nXT1cImdldENvbXBvbmVudFNldHRpbmcoaSlcIiBbZGF0YV09XCJpdGVtXCIgW2RhdGFQYXJlbnRdPVwidGhpc1wiXG5cdFx0XHRcdFx0XHRbb3B0aW9uc109XCJnZXRNb2RlbCgpLmNvbXBvbmVudE9wdGlvbnNcIj48L3BoeC1jb21wb25lbnQtd3JhcHBlcj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L25nLXRlbXBsYXRlPlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cblx0PGRpdiBjbGFzcz1cIndyYXBwZXIgcmlnaHRcIiBbY2xhc3MuaGlkZV09XCIhaGFzTGFuZ3VhZ2UoKVwiPlxuXHRcdDxkaXYgY2xhc3M9XCJsYW5nLXBhbmVcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJsYW5ndWFnZS1idG4gZGVmYXVsdCBkYXRhXCIgW2NsYXNzLnNlbGVjdGVkXT1cImlzU2VsZWN0ZWRMYW5ndWFnZShudWxsKVwiIFtjbGFzcy5kaXJ0eV09XCJfaXNEYXRhRGlydHlCeUluZGV4KG51bGwpXCJcblx0XHRcdFx0KGNsaWNrKT1cIm9uQWN0aW9uQnRuQ2xpY2tlZCgkZXZlbnQsIG51bGwsIG51bGwpXCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJ0YWJsZS13cmFwcGVyIGZsdWlkXCI+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cInRhYmxlLWNlbGwtd3JhcHBlciBtaWRkbGVcIj5cblx0XHRcdFx0XHRcdERlZmF1bHRcblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0TWVyZ2VkTGFuZ3VhZ2VMaXN0KCk7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cImxhbmd1YWdlLWJ0blwiIFtjbGFzcy5kYXRhXT1cIl9sYW5nSGFzRGF0YUJ5SW5kZXgoaSlcIlxuXHRcdFx0XHRbY2xhc3MuZGlydHldPVwiX2lzRGF0YURpcnR5QnlJbmRleChpKVwiXG5cdFx0XHRcdFtjbGFzcy5zZWxlY3RlZF09XCJpc1NlbGVjdGVkTGFuZ3VhZ2UoaXRlbSlcIiAoY2xpY2spPVwib25BY3Rpb25CdG5DbGlja2VkKCRldmVudCwgaXRlbSwgaSlcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cInRhYmxlLXdyYXBwZXIgZmx1aWRcIj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGFibGUtY2VsbC13cmFwcGVyIG1pZGRsZVwiPlxuXHRcdFx0XHRcdFx0PGRpdiAqbmdJZj1cIiFfaGFzQnV0dG9uSWNvbihpdGVtKVwiPnt7aXRlbS5sYWJlbH19PC9kaXY+XG5cdFx0XHRcdFx0XHQ8ZGl2ICpuZ0lmPVwiX2hhc0J1dHRvbkljb24oaXRlbSlcIj5cblx0XHRcdFx0XHRcdFx0PGltZyBzcmM9XCJ7e2l0ZW0uaWNvblVSTH19XCI+XG5cdFx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHRcdDxkaXYgY2xhc3M9XCJtb2NraW5nLWJ0blwiPjwvZGl2PlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cbjwvZGl2PlxuYFxufSlcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbENvbXBvbmVudERhdGFMYW5nU2VsZWN0b3IgZXh0ZW5kcyBDb21wb25lbnREYXRhTGFuZ1NlbGVjdG9yIGltcGxlbWVudHMgT25Jbml0LCBJSGFzSGVscCB7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBUWVBFX05BTUU6IHN0cmluZyA9IFRZUEVfTkFNRTtcblxuICAvLyBSZS1kZWNsYXJlIGZpZWxkIHRvIGRlY2xhcmUgbmcgQElucHV0LlxuICAvLyAtLS0gZnJvbSBBYnN0cmFjdEhhc0RhdGFcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBtb2RlbDogQ29tcG9uZW50RGF0YUxhbmdTZWxlY3Rvck1vZGVsO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGNvbnRyb2xsZXI6IElEYXRhTGFuZ1NlbGVjdG9yQ29udHJvbGxlcjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBkYXRhUGFyZW50OiBJSGFzRGF0YTtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpZ25vcmVQYXJlbnREYXRhOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGRhdGE6IGFueTtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpZ25vcmVQYXJlbnREaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBkZWxlZ2F0ZUhpc3Rvcnk6IGJvb2xlYW47XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgb25EaXNhYmxlZDogRnVuY3Rpb247XG4gIEBJbnB1dCgpXG4gIEBPcHRpb24oKVxuICBwcm90ZWN0ZWQgb25FbmFibGVkOiBGdW5jdGlvbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBsb2FkaW5nRW5hYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBpMThuS2V5OiBzdHJpbmc7XG4gIEBJbnB1dCgnaTE4bkJ5cGFzcycpXG4gIEBPcHRpb24oJ2kxOG5CeXBhc3MnKVxuICBwcm90ZWN0ZWQgYnlwYXNzOiBib29sZWFuO1xuICBASW5wdXQoKVxuICBwcm90ZWN0ZWQgb3B0aW9uczogYW55O1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGRpc2FibGVkOiBib29sZWFuO1xuICAvLyAtLS0gZnJvbSBBYnN0cmFjdEhhc0RhdGFIZWxwXG4gIEBJbnB1dCgpXG4gIEBJMThOKClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCBoZWxwOiBhbnk7XG4gIC8vIC0tLSBmcm9tIENvbXBvbmVudERhdGFMYW5nU2VsZWN0b3JcbiAgQElucHV0KClcbiAgQE9wdGlvbigpXG4gIHByb3RlY3RlZCB3aWR0aDogc3RyaW5nO1xuICBASW5wdXQoKVxuICBAT3B0aW9uKClcbiAgcHJvdGVjdGVkIGhlaWdodDogc3RyaW5nO1xuXG4gIC8vIFJlLWRlY2xhcmUgZmllbGQgdG8gZGVjbGFyZSBuZyBAT3V0cHV0LlxuICAvLyAtLS0gZnJvbSBBYnN0cmFjdEhhc0RhdGFcbiAgQE91dHB1dCgncGh4TG9hZCcpXG4gIEBPcHRpb24oJ2xvYWQnKVxuICBwcm90ZWN0ZWQgbG9hZEV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PjtcbiAgLy8gLS0tIGZyb20gQWJzdHJhY3REYXRhTGFuZ1NlbGVjdG9yXG4gIEBPdXRwdXQoJ3BoeExhbmdDbGljaycpXG4gIEBPcHRpb24oJ2xhbmdDbGljaycpXG4gIHByb3RlY3RlZCBsYW5nQ2xpY2tFdmVudDogRXZlbnRFbWl0dGVyPGFueT47XG4gIEBPdXRwdXQoJ3BoeExhbmdBZGQnKVxuICBAT3B0aW9uKCdsYW5nQWRkJylcbiAgcHJvdGVjdGVkIGxhbmdBZGRFdmVudDogRXZlbnRFbWl0dGVyPGFueT47XG4gIEBPdXRwdXQoJ3BoeExhbmdSZW1vdmUnKVxuICBAT3B0aW9uKCdsYW5nUmVtb3ZlJylcbiAgcHJvdGVjdGVkIGxhbmdSZW1vdmVFdmVudDogRXZlbnRFbWl0dGVyPGFueT47XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYsIGRpYWxvZ1NlcnZpY2UpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gIH1cblxufVxuIl19