@kushki/ng-suka
Version:
<p align="center"> <h1 align="center">Suka Components Angular</h1> <p align="center"> An Angular implementation of the Suka Design System </p> </p>
412 lines • 26.1 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Directive, Input, ElementRef } from '@angular/core';
var PaddingDirective = /** @class */ (function () {
function PaddingDirective(elementRef) {
this.p = {};
this.elementRef = elementRef;
}
/**
* @return {?}
*/
PaddingDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
try {
/** @type {?} */
var paddingKeys = Object.keys(this.p);
paddingKeys.forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
if (key === 'all') {
_this.elementRef.nativeElement.classList.add("p-" + _this.p[key]);
}
else {
_this.elementRef.nativeElement.classList.add("p-" + key + "-" + _this.p[key]);
}
}));
}
catch (err) {
console.error("Malformed paddings`: " + err);
}
};
PaddingDirective.decorators = [
{ type: Directive, args: [{
// tslint:disable-next-line: directive-selector
selector: '[p]'
},] }
];
/** @nocollapse */
PaddingDirective.ctorParameters = function () { return [
{ type: ElementRef }
]; };
PaddingDirective.propDecorators = {
p: [{ type: Input }]
};
return PaddingDirective;
}());
export { PaddingDirective };
if (false) {
/** @type {?} */
PaddingDirective.prototype.p;
/**
* @type {?}
* @private
*/
PaddingDirective.prototype.elementRef;
}
var PaddingTopDirective = /** @class */ (function () {
function PaddingTopDirective(elementRef) {
this.pt = {};
this.elementRef = elementRef;
}
/**
* @return {?}
*/
PaddingTopDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
try {
/** @type {?} */
var paddingKeys = Object.keys(this.pt);
paddingKeys.forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
if (key === 'all') {
_this.elementRef.nativeElement.classList.add("pt-" + _this.pt[key]);
}
else {
_this.elementRef.nativeElement.classList.add("pt-" + key + "-" + _this.pt[key]);
}
}));
}
catch (err) {
console.error("Malformed paddings`: " + err);
}
};
PaddingTopDirective.decorators = [
{ type: Directive, args: [{
// tslint:disable-next-line: directive-selector
selector: '[pt]'
},] }
];
/** @nocollapse */
PaddingTopDirective.ctorParameters = function () { return [
{ type: ElementRef }
]; };
PaddingTopDirective.propDecorators = {
pt: [{ type: Input }]
};
return PaddingTopDirective;
}());
export { PaddingTopDirective };
if (false) {
/** @type {?} */
PaddingTopDirective.prototype.pt;
/**
* @type {?}
* @private
*/
PaddingTopDirective.prototype.elementRef;
}
var PaddingBottomDirective = /** @class */ (function () {
function PaddingBottomDirective(elementRef) {
this.pb = {};
this.elementRef = elementRef;
}
/**
* @return {?}
*/
PaddingBottomDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
try {
/** @type {?} */
var paddingKeys = Object.keys(this.pb);
paddingKeys.forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
if (key === 'all') {
_this.elementRef.nativeElement.classList.add("pb-" + _this.pb[key]);
}
else {
_this.elementRef.nativeElement.classList.add("pb-" + key + "-" + _this.pb[key]);
}
}));
}
catch (err) {
console.error("Malformed paddings`: " + err);
}
};
PaddingBottomDirective.decorators = [
{ type: Directive, args: [{
// tslint:disable-next-line: directive-selector
selector: '[pb]'
},] }
];
/** @nocollapse */
PaddingBottomDirective.ctorParameters = function () { return [
{ type: ElementRef }
]; };
PaddingBottomDirective.propDecorators = {
pb: [{ type: Input }]
};
return PaddingBottomDirective;
}());
export { PaddingBottomDirective };
if (false) {
/** @type {?} */
PaddingBottomDirective.prototype.pb;
/**
* @type {?}
* @private
*/
PaddingBottomDirective.prototype.elementRef;
}
var PaddingLeftDirective = /** @class */ (function () {
function PaddingLeftDirective(elementRef) {
this.pl = {};
this.elementRef = elementRef;
}
/**
* @return {?}
*/
PaddingLeftDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
try {
/** @type {?} */
var paddingKeys = Object.keys(this.pl);
paddingKeys.forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
if (key === 'all') {
_this.elementRef.nativeElement.classList.add("pl-" + _this.pl[key]);
}
else {
_this.elementRef.nativeElement.classList.add("pl-" + key + "-" + _this.pl[key]);
}
}));
}
catch (err) {
console.error("Malformed paddings`: " + err);
}
};
PaddingLeftDirective.decorators = [
{ type: Directive, args: [{
// tslint:disable-next-line: directive-selector
selector: '[pl]'
},] }
];
/** @nocollapse */
PaddingLeftDirective.ctorParameters = function () { return [
{ type: ElementRef }
]; };
PaddingLeftDirective.propDecorators = {
pl: [{ type: Input }]
};
return PaddingLeftDirective;
}());
export { PaddingLeftDirective };
if (false) {
/** @type {?} */
PaddingLeftDirective.prototype.pl;
/**
* @type {?}
* @private
*/
PaddingLeftDirective.prototype.elementRef;
}
var PaddingRightDirective = /** @class */ (function () {
function PaddingRightDirective(elementRef) {
this.pr = {};
this.elementRef = elementRef;
}
/**
* @return {?}
*/
PaddingRightDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
try {
/** @type {?} */
var paddingKeys = Object.keys(this.pr);
paddingKeys.forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
if (key === 'all') {
_this.elementRef.nativeElement.classList.add("pr-" + _this.pr[key]);
}
else {
_this.elementRef.nativeElement.classList.add("pr-" + key + "-" + _this.pr[key]);
}
}));
}
catch (err) {
console.error("Malformed paddings`: " + err);
}
};
PaddingRightDirective.decorators = [
{ type: Directive, args: [{
// tslint:disable-next-line: directive-selector
selector: '[pr]'
},] }
];
/** @nocollapse */
PaddingRightDirective.ctorParameters = function () { return [
{ type: ElementRef }
]; };
PaddingRightDirective.propDecorators = {
pr: [{ type: Input }]
};
return PaddingRightDirective;
}());
export { PaddingRightDirective };
if (false) {
/** @type {?} */
PaddingRightDirective.prototype.pr;
/**
* @type {?}
* @private
*/
PaddingRightDirective.prototype.elementRef;
}
var PaddingHorizontalDirective = /** @class */ (function () {
function PaddingHorizontalDirective(elementRef) {
this.px = {};
this.elementRef = elementRef;
}
/**
* @return {?}
*/
PaddingHorizontalDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
try {
/** @type {?} */
var paddingKeys = Object.keys(this.px);
paddingKeys.forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
if (key === 'all') {
_this.elementRef.nativeElement.classList.add("px-" + _this.px[key]);
}
else {
_this.elementRef.nativeElement.classList.add("px-" + key + "-" + _this.px[key]);
}
}));
}
catch (err) {
console.error("Malformed paddings`: " + err);
}
};
PaddingHorizontalDirective.decorators = [
{ type: Directive, args: [{
// tslint:disable-next-line: directive-selector
selector: '[px]'
},] }
];
/** @nocollapse */
PaddingHorizontalDirective.ctorParameters = function () { return [
{ type: ElementRef }
]; };
PaddingHorizontalDirective.propDecorators = {
px: [{ type: Input }]
};
return PaddingHorizontalDirective;
}());
export { PaddingHorizontalDirective };
if (false) {
/** @type {?} */
PaddingHorizontalDirective.prototype.px;
/**
* @type {?}
* @private
*/
PaddingHorizontalDirective.prototype.elementRef;
}
var PaddingVerticalDirective = /** @class */ (function () {
function PaddingVerticalDirective(elementRef) {
this.py = {};
this.elementRef = elementRef;
}
/**
* @return {?}
*/
PaddingVerticalDirective.prototype.ngOnInit = /**
* @return {?}
*/
function () {
var _this = this;
try {
/** @type {?} */
var paddingKeys = Object.keys(this.py);
paddingKeys.forEach((/**
* @param {?} key
* @return {?}
*/
function (key) {
if (key === 'all') {
_this.elementRef.nativeElement.classList.add("py-" + _this.py[key]);
}
else {
_this.elementRef.nativeElement.classList.add("py-" + key + "-" + _this.py[key]);
}
}));
}
catch (err) {
console.error("Malformed paddings`: " + err);
}
};
PaddingVerticalDirective.decorators = [
{ type: Directive, args: [{
// tslint:disable-next-line: directive-selector
selector: '[py]'
},] }
];
/** @nocollapse */
PaddingVerticalDirective.ctorParameters = function () { return [
{ type: ElementRef }
]; };
PaddingVerticalDirective.propDecorators = {
py: [{ type: Input }]
};
return PaddingVerticalDirective;
}());
export { PaddingVerticalDirective };
if (false) {
/** @type {?} */
PaddingVerticalDirective.prototype.py;
/**
* @type {?}
* @private
*/
PaddingVerticalDirective.prototype.elementRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFkZGluZy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Aa3VzaGtpL25nLXN1a2EvIiwic291cmNlcyI6WyJsaWIvc3BhY2luZy9wYWRkaW5nLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJFO0lBU0UsMEJBQVksVUFBc0I7UUFKekIsTUFBQyxHQUFHLEVBQUUsQ0FBQztRQUtkLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7Ozs7SUFFRCxtQ0FBUTs7O0lBQVI7UUFBQSxpQkFjQztRQWJDLElBQUk7O2dCQUNJLFdBQVcsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFFdkMsV0FBVyxDQUFDLE9BQU87Ozs7WUFBQyxVQUFBLEdBQUc7Z0JBQ3JCLElBQUksR0FBRyxLQUFLLEtBQUssRUFBRTtvQkFDakIsS0FBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFLLEtBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFHLENBQUMsQ0FBQztpQkFDakU7cUJBQU07b0JBQ0wsS0FBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFLLEdBQUcsU0FBSSxLQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBRyxDQUFDLENBQUM7aUJBQ3hFO1lBQ0gsQ0FBQyxFQUFDLENBQUM7U0FDSjtRQUFDLE9BQU8sR0FBRyxFQUFFO1lBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQywwQkFBeUIsR0FBSyxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDOztnQkEzQkYsU0FBUyxTQUFDOztvQkFFVCxRQUFRLEVBQUUsS0FBSztpQkFDaEI7Ozs7Z0JBTGtDLFVBQVU7OztvQkFPMUMsS0FBSzs7SUF1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Qzs7b0JBRVQsUUFBUSxFQUFFLE1BQU07aUJBQ2pCOzs7O2dCQXpMa0MsVUFBVTs7O3FCQTJMMUMsS0FBSzs7SUF1QlIsK0JBQUM7Q0FBQSxBQTVCRCxJQTRCQztTQXhCWSx3QkFBd0I7OztJQUNuQyxzQ0FBaUI7Ozs7O0lBRWpCLDhDQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbcF0nXG59KVxuZXhwb3J0IGNsYXNzIFBhZGRpbmdEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwID0ge307XG5cbiAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYgPSBlbGVtZW50UmVmO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHBhZGRpbmdLZXlzID0gT2JqZWN0LmtleXModGhpcy5wKTtcblxuICAgICAgcGFkZGluZ0tleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBpZiAoa2V5ID09PSAnYWxsJykge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYHAtJHt0aGlzLnBba2V5XX1gKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKGBwLSR7a2V5fS0ke3RoaXMucFtrZXldfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1hbGZvcm1lZCBwYWRkaW5nc1xcYDogJHtlcnJ9YCk7XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1twdF0nXG59KVxuZXhwb3J0IGNsYXNzIFBhZGRpbmdUb3BEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwdCA9IHt9O1xuXG4gIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYWRkaW5nS2V5cyA9IE9iamVjdC5rZXlzKHRoaXMucHQpO1xuXG4gICAgICBwYWRkaW5nS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09ICdhbGwnKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgcHQtJHt0aGlzLnB0W2tleV19YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgcHQtJHtrZXl9LSR7dGhpcy5wdFtrZXldfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1hbGZvcm1lZCBwYWRkaW5nc1xcYDogJHtlcnJ9YCk7XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1twYl0nXG59KVxuZXhwb3J0IGNsYXNzIFBhZGRpbmdCb3R0b21EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwYiA9IHt9O1xuXG4gIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYWRkaW5nS2V5cyA9IE9iamVjdC5rZXlzKHRoaXMucGIpO1xuXG4gICAgICBwYWRkaW5nS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09ICdhbGwnKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgcGItJHt0aGlzLnBiW2tleV19YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgcGItJHtrZXl9LSR7dGhpcy5wYltrZXldfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1hbGZvcm1lZCBwYWRkaW5nc1xcYDogJHtlcnJ9YCk7XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1twbF0nXG59KVxuZXhwb3J0IGNsYXNzIFBhZGRpbmdMZWZ0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcGwgPSB7fTtcblxuICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHRoaXMuZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFkZGluZ0tleXMgPSBPYmplY3Qua2V5cyh0aGlzLnBsKTtcblxuICAgICAgcGFkZGluZ0tleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBpZiAoa2V5ID09PSAnYWxsJykge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYHBsLSR7dGhpcy5wbFtrZXldfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYHBsLSR7a2V5fS0ke3RoaXMucGxba2V5XX1gKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBNYWxmb3JtZWQgcGFkZGluZ3NcXGA6ICR7ZXJyfWApO1xuICAgIH1cbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbcHJdJ1xufSlcbmV4cG9ydCBjbGFzcyBQYWRkaW5nUmlnaHREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBwciA9IHt9O1xuXG4gIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYWRkaW5nS2V5cyA9IE9iamVjdC5rZXlzKHRoaXMucHIpO1xuXG4gICAgICBwYWRkaW5nS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09ICdhbGwnKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgcHItJHt0aGlzLnByW2tleV19YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgcHItJHtrZXl9LSR7dGhpcy5wcltrZXldfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1hbGZvcm1lZCBwYWRkaW5nc1xcYDogJHtlcnJ9YCk7XG4gICAgfVxuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGRpcmVjdGl2ZS1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1tweF0nXG59KVxuZXhwb3J0IGNsYXNzIFBhZGRpbmdIb3Jpem9udGFsRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHggPSB7fTtcblxuICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xuICAgIHRoaXMuZWxlbWVudFJlZiA9IGVsZW1lbnRSZWY7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFkZGluZ0tleXMgPSBPYmplY3Qua2V5cyh0aGlzLnB4KTtcblxuICAgICAgcGFkZGluZ0tleXMuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBpZiAoa2V5ID09PSAnYWxsJykge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYHB4LSR7dGhpcy5weFtrZXldfWApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoYHB4LSR7a2V5fS0ke3RoaXMucHhba2V5XX1gKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBNYWxmb3JtZWQgcGFkZGluZ3NcXGA6ICR7ZXJyfWApO1xuICAgIH1cbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBkaXJlY3RpdmUtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbcHldJ1xufSlcbmV4cG9ydCBjbGFzcyBQYWRkaW5nVmVydGljYWxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBweSA9IHt9O1xuXG4gIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjtcblxuICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmID0gZWxlbWVudFJlZjtcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBwYWRkaW5nS2V5cyA9IE9iamVjdC5rZXlzKHRoaXMucHkpO1xuXG4gICAgICBwYWRkaW5nS2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGlmIChrZXkgPT09ICdhbGwnKSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgcHktJHt0aGlzLnB5W2tleV19YCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChgcHktJHtrZXl9LSR7dGhpcy5weVtrZXldfWApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoYE1hbGZvcm1lZCBwYWRkaW5nc1xcYDogJHtlcnJ9YCk7XG4gICAgfVxuICB9XG59XG4iXX0=