@carbon/icons-angular
Version:
Angular components for icons in digital and software products using the Carbon Design System
174 lines • 39.2 kB
JavaScript
var WatsonHealthWindowPresetDirective_1;
import { __decorate, __metadata } from "tslib";
import { NgModule, Component, Directive, ElementRef, Input, AfterViewInit } from "@angular/core";
import { getAttributes } from "@carbon/icon-helpers";
let WatsonHealthWindowPresetComponent = class WatsonHealthWindowPresetComponent {
constructor() {
this.focusable = false;
}
};
__decorate([
Input(),
__metadata("design:type", String)
], WatsonHealthWindowPresetComponent.prototype, "ariaLabel", void 0);
__decorate([
Input(),
__metadata("design:type", String)
], WatsonHealthWindowPresetComponent.prototype, "ariaLabelledby", void 0);
__decorate([
Input(),
__metadata("design:type", Boolean)
], WatsonHealthWindowPresetComponent.prototype, "ariaHidden", void 0);
__decorate([
Input(),
__metadata("design:type", String)
], WatsonHealthWindowPresetComponent.prototype, "title", void 0);
__decorate([
Input(),
__metadata("design:type", Boolean)
], WatsonHealthWindowPresetComponent.prototype, "focusable", void 0);
__decorate([
Input(),
__metadata("design:type", String)
], WatsonHealthWindowPresetComponent.prototype, "innerClass", void 0);
__decorate([
Input(),
__metadata("design:type", String)
], WatsonHealthWindowPresetComponent.prototype, "size", void 0);
WatsonHealthWindowPresetComponent = __decorate([
Component({
selector: "ibm-icon-watson-health-window-preset",
template: `
<svg
ibmIconWatsonHealthWindowPreset
[size]="size"
[ariaLabel]="ariaLabel"
[ariaLabelledby]="ariaLabelledby"
[ariaHidden]="ariaHidden"
[title]="title"
[isFocusable]="focusable"
[attr.class]="innerClass">
</svg>
`
})
], WatsonHealthWindowPresetComponent);
export { WatsonHealthWindowPresetComponent };
let WatsonHealthWindowPresetDirective = WatsonHealthWindowPresetDirective_1 = class WatsonHealthWindowPresetDirective {
constructor(elementRef) {
this.elementRef = elementRef;
this.isFocusable = false;
this.icons = {
"32": {
metadata: { "moduleName": "WatsonHealthWindowPreset32", "filepath": "watson-health/window--preset/32.js", "descriptor": { "elem": "svg", "attrs": { "xmlns": "http://www.w3.org/2000/svg", "viewBox": "0 0 32 32", "fill": "currentColor", "width": 32, "height": 32 }, "content": [{ "elem": "path", "attrs": { "d": "M15 6H17V8H15zM24 15H26V17H24zM15 24H17V26H15zM6 15H8V17H6z" } }, { "elem": "path", "attrs": { "d": "M8.586 8.586H10.586V10.586H8.586z", "transform": "rotate(-45 9.586 9.586)" } }, { "elem": "path", "attrs": { "d": "M21.414 8.586H23.414V10.586H21.414z", "transform": "rotate(-45 22.414 9.586)" } }, { "elem": "path", "attrs": { "d": "M21.414 21.414H23.414V23.414H21.414z", "transform": "rotate(-45 22.414 22.414)" } }, { "elem": "path", "attrs": { "d": "M8.586 21.414H10.586V23.414H8.586z", "transform": "rotate(-45 9.586 22.414)" } }, { "elem": "path", "attrs": { "d": "M16,22a6,6,0,1,0-6-6A6,6,0,0,0,16,22Zm0-10v8a4,4,0,0,1,0-8Z" } }, { "elem": "path", "attrs": { "d": "M28,30H4a2.0021,2.0021,0,0,1-2-2V4A2.0021,2.0021,0,0,1,4,2H28a2.0021,2.0021,0,0,1,2,2V28A2.0021,2.0021,0,0,1,28,30ZM4,4V28H28V4Z" } }], "name": "window--preset", "size": 32 }, "size": 32 },
svg: `<svg focusable="false" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><path d="M15 6H17V8H15zM24 15H26V17H24zM15 24H17V26H15zM6 15H8V17H6z"></path><path d="M8.586 8.586H10.586V10.586H8.586z" transform="rotate(-45 9.586 9.586)"></path><path d="M21.414 8.586H23.414V10.586H21.414z" transform="rotate(-45 22.414 9.586)"></path><path d="M21.414 21.414H23.414V23.414H21.414z" transform="rotate(-45 22.414 22.414)"></path><path d="M8.586 21.414H10.586V23.414H8.586z" transform="rotate(-45 9.586 22.414)"></path><path d="M16,22a6,6,0,1,0-6-6A6,6,0,0,0,16,22Zm0-10v8a4,4,0,0,1,0-8Z"></path><path d="M28,30H4a2.0021,2.0021,0,0,1-2-2V4A2.0021,2.0021,0,0,1,4,2H28a2.0021,2.0021,0,0,1,2,2V28A2.0021,2.0021,0,0,1,28,30ZM4,4V28H28V4Z"></path></svg>`
},
"24": {
metadata: { "moduleName": "WatsonHealthWindowPreset24", "filepath": "watson-health/window--preset/24.js", "descriptor": { "elem": "svg", "attrs": { "xmlns": "http://www.w3.org/2000/svg", "viewBox": "0 0 32 32", "fill": "currentColor", "width": 24, "height": 24 }, "content": [{ "elem": "path", "attrs": { "d": "M15 6H17V8H15zM24 15H26V17H24zM15 24H17V26H15zM6 15H8V17H6z" } }, { "elem": "path", "attrs": { "d": "M8.586 8.586H10.586V10.586H8.586z", "transform": "rotate(-45 9.586 9.586)" } }, { "elem": "path", "attrs": { "d": "M21.414 8.586H23.414V10.586H21.414z", "transform": "rotate(-45 22.414 9.586)" } }, { "elem": "path", "attrs": { "d": "M21.414 21.414H23.414V23.414H21.414z", "transform": "rotate(-45 22.414 22.414)" } }, { "elem": "path", "attrs": { "d": "M8.586 21.414H10.586V23.414H8.586z", "transform": "rotate(-45 9.586 22.414)" } }, { "elem": "path", "attrs": { "d": "M16,22a6,6,0,1,0-6-6A6,6,0,0,0,16,22Zm0-10v8a4,4,0,0,1,0-8Z" } }, { "elem": "path", "attrs": { "d": "M28,30H4a2.0021,2.0021,0,0,1-2-2V4A2.0021,2.0021,0,0,1,4,2H28a2.0021,2.0021,0,0,1,2,2V28A2.0021,2.0021,0,0,1,28,30ZM4,4V28H28V4Z" } }], "name": "window--preset", "size": 24 }, "size": 24 },
svg: `<svg focusable="false" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="24" height="24" viewBox="0 0 32 32" aria-hidden="true"><path d="M15 6H17V8H15zM24 15H26V17H24zM15 24H17V26H15zM6 15H8V17H6z"></path><path d="M8.586 8.586H10.586V10.586H8.586z" transform="rotate(-45 9.586 9.586)"></path><path d="M21.414 8.586H23.414V10.586H21.414z" transform="rotate(-45 22.414 9.586)"></path><path d="M21.414 21.414H23.414V23.414H21.414z" transform="rotate(-45 22.414 22.414)"></path><path d="M8.586 21.414H10.586V23.414H8.586z" transform="rotate(-45 9.586 22.414)"></path><path d="M16,22a6,6,0,1,0-6-6A6,6,0,0,0,16,22Zm0-10v8a4,4,0,0,1,0-8Z"></path><path d="M28,30H4a2.0021,2.0021,0,0,1-2-2V4A2.0021,2.0021,0,0,1,4,2H28a2.0021,2.0021,0,0,1,2,2V28A2.0021,2.0021,0,0,1,28,30ZM4,4V28H28V4Z"></path></svg>`
},
"20": {
metadata: { "moduleName": "WatsonHealthWindowPreset20", "filepath": "watson-health/window--preset/20.js", "descriptor": { "elem": "svg", "attrs": { "xmlns": "http://www.w3.org/2000/svg", "viewBox": "0 0 32 32", "fill": "currentColor", "width": 20, "height": 20 }, "content": [{ "elem": "path", "attrs": { "d": "M15 6H17V8H15zM24 15H26V17H24zM15 24H17V26H15zM6 15H8V17H6z" } }, { "elem": "path", "attrs": { "d": "M8.586 8.586H10.586V10.586H8.586z", "transform": "rotate(-45 9.586 9.586)" } }, { "elem": "path", "attrs": { "d": "M21.414 8.586H23.414V10.586H21.414z", "transform": "rotate(-45 22.414 9.586)" } }, { "elem": "path", "attrs": { "d": "M21.414 21.414H23.414V23.414H21.414z", "transform": "rotate(-45 22.414 22.414)" } }, { "elem": "path", "attrs": { "d": "M8.586 21.414H10.586V23.414H8.586z", "transform": "rotate(-45 9.586 22.414)" } }, { "elem": "path", "attrs": { "d": "M16,22a6,6,0,1,0-6-6A6,6,0,0,0,16,22Zm0-10v8a4,4,0,0,1,0-8Z" } }, { "elem": "path", "attrs": { "d": "M28,30H4a2.0021,2.0021,0,0,1-2-2V4A2.0021,2.0021,0,0,1,4,2H28a2.0021,2.0021,0,0,1,2,2V28A2.0021,2.0021,0,0,1,28,30ZM4,4V28H28V4Z" } }], "name": "window--preset", "size": 20 }, "size": 20 },
svg: `<svg focusable="false" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="20" height="20" viewBox="0 0 32 32" aria-hidden="true"><path d="M15 6H17V8H15zM24 15H26V17H24zM15 24H17V26H15zM6 15H8V17H6z"></path><path d="M8.586 8.586H10.586V10.586H8.586z" transform="rotate(-45 9.586 9.586)"></path><path d="M21.414 8.586H23.414V10.586H21.414z" transform="rotate(-45 22.414 9.586)"></path><path d="M21.414 21.414H23.414V23.414H21.414z" transform="rotate(-45 22.414 22.414)"></path><path d="M8.586 21.414H10.586V23.414H8.586z" transform="rotate(-45 9.586 22.414)"></path><path d="M16,22a6,6,0,1,0-6-6A6,6,0,0,0,16,22Zm0-10v8a4,4,0,0,1,0-8Z"></path><path d="M28,30H4a2.0021,2.0021,0,0,1-2-2V4A2.0021,2.0021,0,0,1,4,2H28a2.0021,2.0021,0,0,1,2,2V28A2.0021,2.0021,0,0,1,28,30ZM4,4V28H28V4Z"></path></svg>`
},
"16": {
metadata: { "moduleName": "WatsonHealthWindowPreset16", "filepath": "watson-health/window--preset/16.js", "descriptor": { "elem": "svg", "attrs": { "xmlns": "http://www.w3.org/2000/svg", "viewBox": "0 0 32 32", "fill": "currentColor", "width": 16, "height": 16 }, "content": [{ "elem": "path", "attrs": { "d": "M15 6H17V8H15zM24 15H26V17H24zM15 24H17V26H15zM6 15H8V17H6z" } }, { "elem": "path", "attrs": { "d": "M8.586 8.586H10.586V10.586H8.586z", "transform": "rotate(-45 9.586 9.586)" } }, { "elem": "path", "attrs": { "d": "M21.414 8.586H23.414V10.586H21.414z", "transform": "rotate(-45 22.414 9.586)" } }, { "elem": "path", "attrs": { "d": "M21.414 21.414H23.414V23.414H21.414z", "transform": "rotate(-45 22.414 22.414)" } }, { "elem": "path", "attrs": { "d": "M8.586 21.414H10.586V23.414H8.586z", "transform": "rotate(-45 9.586 22.414)" } }, { "elem": "path", "attrs": { "d": "M16,22a6,6,0,1,0-6-6A6,6,0,0,0,16,22Zm0-10v8a4,4,0,0,1,0-8Z" } }, { "elem": "path", "attrs": { "d": "M28,30H4a2.0021,2.0021,0,0,1-2-2V4A2.0021,2.0021,0,0,1,4,2H28a2.0021,2.0021,0,0,1,2,2V28A2.0021,2.0021,0,0,1,28,30ZM4,4V28H28V4Z" } }], "name": "window--preset", "size": 16 }, "size": 16 },
svg: `<svg focusable="false" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg" fill="currentColor" width="16" height="16" viewBox="0 0 32 32" aria-hidden="true"><path d="M15 6H17V8H15zM24 15H26V17H24zM15 24H17V26H15zM6 15H8V17H6z"></path><path d="M8.586 8.586H10.586V10.586H8.586z" transform="rotate(-45 9.586 9.586)"></path><path d="M21.414 8.586H23.414V10.586H21.414z" transform="rotate(-45 22.414 9.586)"></path><path d="M21.414 21.414H23.414V23.414H21.414z" transform="rotate(-45 22.414 22.414)"></path><path d="M8.586 21.414H10.586V23.414H8.586z" transform="rotate(-45 9.586 22.414)"></path><path d="M16,22a6,6,0,1,0-6-6A6,6,0,0,0,16,22Zm0-10v8a4,4,0,0,1,0-8Z"></path><path d="M28,30H4a2.0021,2.0021,0,0,1-2-2V4A2.0021,2.0021,0,0,1,4,2H28a2.0021,2.0021,0,0,1,2,2V28A2.0021,2.0021,0,0,1,28,30ZM4,4V28H28V4Z"></path></svg>`
},
};
}
ngAfterViewInit() {
const svg = this.elementRef.nativeElement;
svg.setAttribute("xmlns", "http://www.w3.org/2000/svg");
const icon = this.icons[this.size];
const domParser = new DOMParser();
const rawSVG = icon.svg;
const svgElement = domParser.parseFromString(rawSVG, "image/svg+xml").documentElement;
let node = svgElement.firstChild;
while (node) {
// importNode makes a clone of the node
// this ensures we keep looping over the nodes in the parsed document
svg.appendChild(svg.ownerDocument.importNode(node, true));
node = node.nextSibling;
}
const attributes = getAttributes({
width: icon.metadata.descriptor.attrs.height,
height: icon.metadata.descriptor.attrs.height,
viewBox: icon.metadata.descriptor.attrs.viewBox,
title: this.title,
"aria-label": this.ariaLabel,
"aria-labelledby": this.ariaLabelledby,
"aria-hidden": this.ariaHidden,
focusable: this.isFocusable.toString()
});
const attrKeys = Object.keys(attributes);
for (let i = 0; i < attrKeys.length; i++) {
const key = attrKeys[i];
const value = attributes[key];
if (key === "title") {
continue;
}
if (value) {
svg.setAttribute(key, value);
}
}
if (attributes.title) {
const title = document.createElement("title");
title.textContent = attributes.title;
WatsonHealthWindowPresetDirective_1.titleIdCounter++;
title.setAttribute("id", `watson-health-window-preset-${WatsonHealthWindowPresetDirective_1.titleIdCounter}`);
svg.appendChild(title);
svg.setAttribute("aria-labelledby", `watson-health-window-preset-${WatsonHealthWindowPresetDirective_1.titleIdCounter}`);
}
}
};
WatsonHealthWindowPresetDirective.titleIdCounter = 0;
WatsonHealthWindowPresetDirective.ctorParameters = () => [
{ type: ElementRef }
];
__decorate([
Input(),
__metadata("design:type", String)
], WatsonHealthWindowPresetDirective.prototype, "ariaLabel", void 0);
__decorate([
Input(),
__metadata("design:type", String)
], WatsonHealthWindowPresetDirective.prototype, "ariaLabelledby", void 0);
__decorate([
Input(),
__metadata("design:type", Boolean)
], WatsonHealthWindowPresetDirective.prototype, "ariaHidden", void 0);
__decorate([
Input(),
__metadata("design:type", String)
], WatsonHealthWindowPresetDirective.prototype, "title", void 0);
__decorate([
Input(),
__metadata("design:type", Boolean)
], WatsonHealthWindowPresetDirective.prototype, "isFocusable", void 0);
__decorate([
Input(),
__metadata("design:type", String)
], WatsonHealthWindowPresetDirective.prototype, "size", void 0);
WatsonHealthWindowPresetDirective = WatsonHealthWindowPresetDirective_1 = __decorate([
Directive({
selector: "[ibmIconWatsonHealthWindowPreset]"
}),
__metadata("design:paramtypes", [ElementRef])
], WatsonHealthWindowPresetDirective);
export { WatsonHealthWindowPresetDirective };
let WatsonHealthWindowPresetModule = class WatsonHealthWindowPresetModule {
};
WatsonHealthWindowPresetModule = __decorate([
NgModule({
declarations: [
WatsonHealthWindowPresetComponent,
WatsonHealthWindowPresetDirective,
],
exports: [
WatsonHealthWindowPresetComponent,
WatsonHealthWindowPresetDirective,
]
})
], WatsonHealthWindowPresetModule);
export { WatsonHealthWindowPresetModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzL3dhdHNvbi1oZWFsdGgvd2luZG93LS1wcmVzZXQvaWNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLE9BQU8sRUFDTCxRQUFRLEVBQ1IsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLGFBQWEsRUFDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFrQnJELElBQWEsaUNBQWlDLEdBQTlDLE1BQWEsaUNBQWlDO0lBQTlDO1FBS1csY0FBUyxHQUFZLEtBQUssQ0FBQztJQUd0QyxDQUFDO0NBQUEsQ0FBQTtBQVBVO0lBQVIsS0FBSyxFQUFFOztvRUFBbUI7QUFDbEI7SUFBUixLQUFLLEVBQUU7O3lFQUF3QjtBQUN2QjtJQUFSLEtBQUssRUFBRTs7cUVBQXFCO0FBQ3BCO0lBQVIsS0FBSyxFQUFFOztnRUFBZTtBQUNkO0lBQVIsS0FBSyxFQUFFOztvRUFBNEI7QUFDM0I7SUFBUixLQUFLLEVBQUU7O3FFQUFvQjtBQUNuQjtJQUFSLEtBQUssRUFBRTs7K0RBQWM7QUFQWCxpQ0FBaUM7SUFmN0MsU0FBUyxDQUFDO1FBQ1YsUUFBUSxFQUFFLHNDQUFzQztRQUMvQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0dBV1Q7S0FDRixDQUFDO0dBQ1csaUNBQWlDLENBUTdDO1NBUlksaUNBQWlDO0FBZTlDLElBQWEsaUNBQWlDLHlDQUE5QyxNQUFhLGlDQUFpQztJQWtDNUMsWUFBc0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQTNCbkMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHNUIsVUFBSyxHQUFHO1lBRWxCLElBQUksRUFBRTtnQkFDSixRQUFRLEVBQUUsRUFBQyxZQUFZLEVBQUMsNEJBQTRCLEVBQUMsVUFBVSxFQUFDLG9DQUFvQyxFQUFDLFlBQVksRUFBQyxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsT0FBTyxFQUFDLEVBQUMsT0FBTyxFQUFDLDRCQUE0QixFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFDLFFBQVEsRUFBQyxFQUFFLEVBQUMsRUFBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEVBQUMsR0FBRyxFQUFDLDZEQUE2RCxFQUFDLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEVBQUMsR0FBRyxFQUFDLG1DQUFtQyxFQUFDLFdBQVcsRUFBQyx5QkFBeUIsRUFBQyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxFQUFDLEdBQUcsRUFBQyxxQ0FBcUMsRUFBQyxXQUFXLEVBQUMsMEJBQTBCLEVBQUMsRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsRUFBQyxHQUFHLEVBQUMsc0NBQXNDLEVBQUMsV0FBVyxFQUFDLDJCQUEyQixFQUFDLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEVBQUMsR0FBRyxFQUFDLG9DQUFvQyxFQUFDLFdBQVcsRUFBQywwQkFBMEIsRUFBQyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxFQUFDLEdBQUcsRUFBQyw2REFBNkQsRUFBQyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxFQUFDLEdBQUcsRUFBQyxrSUFBa0ksRUFBQyxFQUFDLENBQUMsRUFBQyxNQUFNLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBQyxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUM7Z0JBQzlpQyxHQUFHLEVBQUUsMDBCQUEwMEI7YUFDaDFCO1lBRUQsSUFBSSxFQUFFO2dCQUNKLFFBQVEsRUFBRSxFQUFDLFlBQVksRUFBQyw0QkFBNEIsRUFBQyxVQUFVLEVBQUMsb0NBQW9DLEVBQUMsWUFBWSxFQUFDLEVBQUMsTUFBTSxFQUFDLEtBQUssRUFBQyxPQUFPLEVBQUMsRUFBQyxPQUFPLEVBQUMsNEJBQTRCLEVBQUMsU0FBUyxFQUFDLFdBQVcsRUFBQyxNQUFNLEVBQUMsY0FBYyxFQUFDLE9BQU8sRUFBQyxFQUFFLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBQyxFQUFDLFNBQVMsRUFBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsRUFBQyxHQUFHLEVBQUMsNkRBQTZELEVBQUMsRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsRUFBQyxHQUFHLEVBQUMsbUNBQW1DLEVBQUMsV0FBVyxFQUFDLHlCQUF5QixFQUFDLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEVBQUMsR0FBRyxFQUFDLHFDQUFxQyxFQUFDLFdBQVcsRUFBQywwQkFBMEIsRUFBQyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxFQUFDLEdBQUcsRUFBQyxzQ0FBc0MsRUFBQyxXQUFXLEVBQUMsMkJBQTJCLEVBQUMsRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsRUFBQyxHQUFHLEVBQUMsb0NBQW9DLEVBQUMsV0FBVyxFQUFDLDBCQUEwQixFQUFDLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEVBQUMsR0FBRyxFQUFDLDZEQUE2RCxFQUFDLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEVBQUMsR0FBRyxFQUFDLGtJQUFrSSxFQUFDLEVBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLEVBQUMsRUFBRSxFQUFDLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBQztnQkFDOWlDLEdBQUcsRUFBRSwwMEJBQTAwQjthQUNoMUI7WUFFRCxJQUFJLEVBQUU7Z0JBQ0osUUFBUSxFQUFFLEVBQUMsWUFBWSxFQUFDLDRCQUE0QixFQUFDLFVBQVUsRUFBQyxvQ0FBb0MsRUFBQyxZQUFZLEVBQUMsRUFBQyxNQUFNLEVBQUMsS0FBSyxFQUFDLE9BQU8sRUFBQyxFQUFDLE9BQU8sRUFBQyw0QkFBNEIsRUFBQyxTQUFTLEVBQUMsV0FBVyxFQUFDLE1BQU0sRUFBQyxjQUFjLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBQyxRQUFRLEVBQUMsRUFBRSxFQUFDLEVBQUMsU0FBUyxFQUFDLENBQUMsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxFQUFDLEdBQUcsRUFBQyw2REFBNkQsRUFBQyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxFQUFDLEdBQUcsRUFBQyxtQ0FBbUMsRUFBQyxXQUFXLEVBQUMseUJBQXlCLEVBQUMsRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsRUFBQyxHQUFHLEVBQUMscUNBQXFDLEVBQUMsV0FBVyxFQUFDLDBCQUEwQixFQUFDLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEVBQUMsR0FBRyxFQUFDLHNDQUFzQyxFQUFDLFdBQVcsRUFBQywyQkFBMkIsRUFBQyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxFQUFDLEdBQUcsRUFBQyxvQ0FBb0MsRUFBQyxXQUFXLEVBQUMsMEJBQTBCLEVBQUMsRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsRUFBQyxHQUFHLEVBQUMsNkRBQTZELEVBQUMsRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsRUFBQyxHQUFHLEVBQUMsa0lBQWtJLEVBQUMsRUFBQyxDQUFDLEVBQUMsTUFBTSxFQUFDLGdCQUFnQixFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUMsRUFBQyxNQUFNLEVBQUMsRUFBRSxFQUFDO2dCQUM5aUMsR0FBRyxFQUFFLDAwQkFBMDBCO2FBQ2gxQjtZQUVELElBQUksRUFBRTtnQkFDSixRQUFRLEVBQUUsRUFBQyxZQUFZLEVBQUMsNEJBQTRCLEVBQUMsVUFBVSxFQUFDLG9DQUFvQyxFQUFDLFlBQVksRUFBQyxFQUFDLE1BQU0sRUFBQyxLQUFLLEVBQUMsT0FBTyxFQUFDLEVBQUMsT0FBTyxFQUFDLDRCQUE0QixFQUFDLFNBQVMsRUFBQyxXQUFXLEVBQUMsTUFBTSxFQUFDLGNBQWMsRUFBQyxPQUFPLEVBQUMsRUFBRSxFQUFDLFFBQVEsRUFBQyxFQUFFLEVBQUMsRUFBQyxTQUFTLEVBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEVBQUMsR0FBRyxFQUFDLDZEQUE2RCxFQUFDLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEVBQUMsR0FBRyxFQUFDLG1DQUFtQyxFQUFDLFdBQVcsRUFBQyx5QkFBeUIsRUFBQyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxFQUFDLEdBQUcsRUFBQyxxQ0FBcUMsRUFBQyxXQUFXLEVBQUMsMEJBQTBCLEVBQUMsRUFBQyxFQUFDLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsRUFBQyxHQUFHLEVBQUMsc0NBQXNDLEVBQUMsV0FBVyxFQUFDLDJCQUEyQixFQUFDLEVBQUMsRUFBQyxFQUFDLE1BQU0sRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDLEVBQUMsR0FBRyxFQUFDLG9DQUFvQyxFQUFDLFdBQVcsRUFBQywwQkFBMEIsRUFBQyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxFQUFDLEdBQUcsRUFBQyw2REFBNkQsRUFBQyxFQUFDLEVBQUMsRUFBQyxNQUFNLEVBQUMsTUFBTSxFQUFDLE9BQU8sRUFBQyxFQUFDLEdBQUcsRUFBQyxrSUFBa0ksRUFBQyxFQUFDLENBQUMsRUFBQyxNQUFNLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxFQUFDLEVBQUUsRUFBQyxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUM7Z0JBQzlpQyxHQUFHLEVBQUUsMDBCQUEwMEI7YUFDaDFCO1NBRUEsQ0FBQztJQUU2QyxDQUFDO0lBRWpELGVBQWU7UUFDWixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztRQUMxQyxHQUFHLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSw0QkFBNEIsQ0FBQyxDQUFDO1FBRXhELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRWxDLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7UUFDbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztRQUN4QixNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQyxlQUFlLENBQUM7UUFFdEYsSUFBSSxJQUFJLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQztRQUNqQyxPQUFPLElBQUksRUFBRTtZQUNYLHVDQUF1QztZQUN2QyxxRUFBcUU7WUFDckUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMxRCxJQUFJLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztTQUN6QjtRQUVELE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQztZQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE1BQU07WUFDNUMsTUFBTSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNO1lBQzdDLE9BQU8sRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsT0FBTztZQUMvQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsWUFBWSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQzVCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ3RDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUM5QixTQUFTLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUU7U0FDdkMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUN6QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUN4QyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEIsTUFBTSxLQUFLLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLElBQUksR0FBRyxLQUFLLE9BQU8sRUFBRTtnQkFDbkIsU0FBUzthQUNWO1lBQ0QsSUFBSSxLQUFLLEVBQUU7Z0JBQ1QsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7YUFDOUI7U0FDRjtRQUVELElBQUksVUFBVSxDQUFDLEtBQUssRUFBRTtZQUNwQixNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlDLEtBQUssQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUNyQyxtQ0FBaUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuRCxLQUFLLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSwrQkFBK0IsbUNBQWlDLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztZQUM1RyxHQUFHLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZCLEdBQUcsQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsK0JBQStCLG1DQUFpQyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7U0FDeEg7SUFDSixDQUFDO0NBQ0QsQ0FBQTtBQXJGUSxnREFBYyxHQUFHLENBQUMsQ0FBQzs7WUFpQ1EsVUFBVTs7QUEvQm5DO0lBQVIsS0FBSyxFQUFFOztvRUFBbUI7QUFDbEI7SUFBUixLQUFLLEVBQUU7O3lFQUF3QjtBQUN2QjtJQUFSLEtBQUssRUFBRTs7cUVBQXFCO0FBQ3BCO0lBQVIsS0FBSyxFQUFFOztnRUFBZTtBQUNkO0lBQVIsS0FBSyxFQUFFOztzRUFBOEI7QUFDN0I7SUFBUixLQUFLLEVBQUU7OytEQUFjO0FBUlgsaUNBQWlDO0lBSDdDLFNBQVMsQ0FBQztRQUNULFFBQVEsRUFBRSxtQ0FBbUM7S0FDOUMsQ0FBQztxQ0FtQ2tDLFVBQVU7R0FsQ2pDLGlDQUFpQyxDQXNGN0M7U0F0RlksaUNBQWlDO0FBdUc5QyxJQUFhLDhCQUE4QixHQUEzQyxNQUFhLDhCQUE4QjtDQUFHLENBQUE7QUFBakMsOEJBQThCO0lBZDFDLFFBQVEsQ0FBQztRQUNSLFlBQVksRUFBRTtZQUVkLGlDQUFpQztZQUNqQyxpQ0FBaUM7U0FFaEM7UUFDRCxPQUFPLEVBQUU7WUFFVCxpQ0FBaUM7WUFDakMsaUNBQWlDO1NBRWhDO0tBQ0YsQ0FBQztHQUNXLDhCQUE4QixDQUFHO1NBQWpDLDhCQUE4QiIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtcbiAgTmdNb2R1bGUsXG4gIENvbXBvbmVudCxcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgQWZ0ZXJWaWV3SW5pdFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgZ2V0QXR0cmlidXRlcyB9IGZyb20gXCJAY2FyYm9uL2ljb24taGVscGVyc1wiO1xuXG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogXCJpYm0taWNvbi13YXRzb24taGVhbHRoLXdpbmRvdy1wcmVzZXRcIixcbiAgdGVtcGxhdGU6IGBcbiAgICA8c3ZnXG4gICAgICBpYm1JY29uV2F0c29uSGVhbHRoV2luZG93UHJlc2V0XG4gICAgICBbc2l6ZV09XCJzaXplXCJcbiAgICAgIFthcmlhTGFiZWxdPVwiYXJpYUxhYmVsXCJcbiAgICAgIFthcmlhTGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieVwiXG4gICAgICBbYXJpYUhpZGRlbl09XCJhcmlhSGlkZGVuXCJcbiAgICAgIFt0aXRsZV09XCJ0aXRsZVwiXG4gICAgICBbaXNGb2N1c2FibGVdPVwiZm9jdXNhYmxlXCJcbiAgICAgIFthdHRyLmNsYXNzXT1cImlubmVyQ2xhc3NcIj5cbiAgICA8L3N2Zz5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBXYXRzb25IZWFsdGhXaW5kb3dQcmVzZXRDb21wb25lbnQge1xuICBASW5wdXQoKSBhcmlhTGFiZWw6IHN0cmluZztcbiAgQElucHV0KCkgYXJpYUxhYmVsbGVkYnk6IHN0cmluZztcbiAgQElucHV0KCkgYXJpYUhpZGRlbjogYm9vbGVhbjtcbiAgQElucHV0KCkgdGl0bGU6IHN0cmluZztcbiAgQElucHV0KCkgZm9jdXNhYmxlOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlubmVyQ2xhc3M6IHN0cmluZztcbiAgQElucHV0KCkgc2l6ZTogc3RyaW5nO1xufVxuXG5cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIltpYm1JY29uV2F0c29uSGVhbHRoV2luZG93UHJlc2V0XVwiXG59KVxuZXhwb3J0IGNsYXNzIFdhdHNvbkhlYWx0aFdpbmRvd1ByZXNldERpcmVjdGl2ZSBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICBzdGF0aWMgdGl0bGVJZENvdW50ZXIgPSAwO1xuXG4gIEBJbnB1dCgpIGFyaWFMYWJlbDogc3RyaW5nO1xuICBASW5wdXQoKSBhcmlhTGFiZWxsZWRieTogc3RyaW5nO1xuICBASW5wdXQoKSBhcmlhSGlkZGVuOiBib29sZWFuO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBpc0ZvY3VzYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzaXplOiBzdHJpbmc7XG5cbiAgcHJvdGVjdGVkIGljb25zID0ge1xuICAgIFxuICBcIjMyXCI6IHtcbiAgICBtZXRhZGF0YToge1wibW9kdWxlTmFtZVwiOlwiV2F0c29uSGVhbHRoV2luZG93UHJlc2V0MzJcIixcImZpbGVwYXRoXCI6XCJ3YXRzb24taGVhbHRoL3dpbmRvdy0tcHJlc2V0LzMyLmpzXCIsXCJkZXNjcmlwdG9yXCI6e1wiZWxlbVwiOlwic3ZnXCIsXCJhdHRyc1wiOntcInhtbG5zXCI6XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFwidmlld0JveFwiOlwiMCAwIDMyIDMyXCIsXCJmaWxsXCI6XCJjdXJyZW50Q29sb3JcIixcIndpZHRoXCI6MzIsXCJoZWlnaHRcIjozMn0sXCJjb250ZW50XCI6W3tcImVsZW1cIjpcInBhdGhcIixcImF0dHJzXCI6e1wiZFwiOlwiTTE1IDZIMTdWOEgxNXpNMjQgMTVIMjZWMTdIMjR6TTE1IDI0SDE3VjI2SDE1ek02IDE1SDhWMTdINnpcIn19LHtcImVsZW1cIjpcInBhdGhcIixcImF0dHJzXCI6e1wiZFwiOlwiTTguNTg2IDguNTg2SDEwLjU4NlYxMC41ODZIOC41ODZ6XCIsXCJ0cmFuc2Zvcm1cIjpcInJvdGF0ZSgtNDUgOS41ODYgOS41ODYpXCJ9fSx7XCJlbGVtXCI6XCJwYXRoXCIsXCJhdHRyc1wiOntcImRcIjpcIk0yMS40MTQgOC41ODZIMjMuNDE0VjEwLjU4NkgyMS40MTR6XCIsXCJ0cmFuc2Zvcm1cIjpcInJvdGF0ZSgtNDUgMjIuNDE0IDkuNTg2KVwifX0se1wiZWxlbVwiOlwicGF0aFwiLFwiYXR0cnNcIjp7XCJkXCI6XCJNMjEuNDE0IDIxLjQxNEgyMy40MTRWMjMuNDE0SDIxLjQxNHpcIixcInRyYW5zZm9ybVwiOlwicm90YXRlKC00NSAyMi40MTQgMjIuNDE0KVwifX0se1wiZWxlbVwiOlwicGF0aFwiLFwiYXR0cnNcIjp7XCJkXCI6XCJNOC41ODYgMjEuNDE0SDEwLjU4NlYyMy40MTRIOC41ODZ6XCIsXCJ0cmFuc2Zvcm1cIjpcInJvdGF0ZSgtNDUgOS41ODYgMjIuNDE0KVwifX0se1wiZWxlbVwiOlwicGF0aFwiLFwiYXR0cnNcIjp7XCJkXCI6XCJNMTYsMjJhNiw2LDAsMSwwLTYtNkE2LDYsMCwwLDAsMTYsMjJabTAtMTB2OGE0LDQsMCwwLDEsMC04WlwifX0se1wiZWxlbVwiOlwicGF0aFwiLFwiYXR0cnNcIjp7XCJkXCI6XCJNMjgsMzBINGEyLjAwMjEsMi4wMDIxLDAsMCwxLTItMlY0QTIuMDAyMSwyLjAwMjEsMCwwLDEsNCwySDI4YTIuMDAyMSwyLjAwMjEsMCwwLDEsMiwyVjI4QTIuMDAyMSwyLjAwMjEsMCwwLDEsMjgsMzBaTTQsNFYyOEgyOFY0WlwifX1dLFwibmFtZVwiOlwid2luZG93LS1wcmVzZXRcIixcInNpemVcIjozMn0sXCJzaXplXCI6MzJ9LFxuICAgIHN2ZzogYDxzdmcgZm9jdXNhYmxlPVwiZmFsc2VcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCIgdmlld0JveD1cIjAgMCAzMiAzMlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjxwYXRoIGQ9XCJNMTUgNkgxN1Y4SDE1ek0yNCAxNUgyNlYxN0gyNHpNMTUgMjRIMTdWMjZIMTV6TTYgMTVIOFYxN0g2elwiPjwvcGF0aD48cGF0aCBkPVwiTTguNTg2IDguNTg2SDEwLjU4NlYxMC41ODZIOC41ODZ6XCIgdHJhbnNmb3JtPVwicm90YXRlKC00NSA5LjU4NiA5LjU4NilcIj48L3BhdGg+PHBhdGggZD1cIk0yMS40MTQgOC41ODZIMjMuNDE0VjEwLjU4NkgyMS40MTR6XCIgdHJhbnNmb3JtPVwicm90YXRlKC00NSAyMi40MTQgOS41ODYpXCI+PC9wYXRoPjxwYXRoIGQ9XCJNMjEuNDE0IDIxLjQxNEgyMy40MTRWMjMuNDE0SDIxLjQxNHpcIiB0cmFuc2Zvcm09XCJyb3RhdGUoLTQ1IDIyLjQxNCAyMi40MTQpXCI+PC9wYXRoPjxwYXRoIGQ9XCJNOC41ODYgMjEuNDE0SDEwLjU4NlYyMy40MTRIOC41ODZ6XCIgdHJhbnNmb3JtPVwicm90YXRlKC00NSA5LjU4NiAyMi40MTQpXCI+PC9wYXRoPjxwYXRoIGQ9XCJNMTYsMjJhNiw2LDAsMSwwLTYtNkE2LDYsMCwwLDAsMTYsMjJabTAtMTB2OGE0LDQsMCwwLDEsMC04WlwiPjwvcGF0aD48cGF0aCBkPVwiTTI4LDMwSDRhMi4wMDIxLDIuMDAyMSwwLDAsMS0yLTJWNEEyLjAwMjEsMi4wMDIxLDAsMCwxLDQsMkgyOGEyLjAwMjEsMi4wMDIxLDAsMCwxLDIsMlYyOEEyLjAwMjEsMi4wMDIxLDAsMCwxLDI4LDMwWk00LDRWMjhIMjhWNFpcIj48L3BhdGg+PC9zdmc+YFxuICB9LFxuXG4gIFwiMjRcIjoge1xuICAgIG1ldGFkYXRhOiB7XCJtb2R1bGVOYW1lXCI6XCJXYXRzb25IZWFsdGhXaW5kb3dQcmVzZXQyNFwiLFwiZmlsZXBhdGhcIjpcIndhdHNvbi1oZWFsdGgvd2luZG93LS1wcmVzZXQvMjQuanNcIixcImRlc2NyaXB0b3JcIjp7XCJlbGVtXCI6XCJzdmdcIixcImF0dHJzXCI6e1wieG1sbnNcIjpcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXCJ2aWV3Qm94XCI6XCIwIDAgMzIgMzJcIixcImZpbGxcIjpcImN1cnJlbnRDb2xvclwiLFwid2lkdGhcIjoyNCxcImhlaWdodFwiOjI0fSxcImNvbnRlbnRcIjpbe1wiZWxlbVwiOlwicGF0aFwiLFwiYXR0cnNcIjp7XCJkXCI6XCJNMTUgNkgxN1Y4SDE1ek0yNCAxNUgyNlYxN0gyNHpNMTUgMjRIMTdWMjZIMTV6TTYgMTVIOFYxN0g2elwifX0se1wiZWxlbVwiOlwicGF0aFwiLFwiYXR0cnNcIjp7XCJkXCI6XCJNOC41ODYgOC41ODZIMTAuNTg2VjEwLjU4Nkg4LjU4NnpcIixcInRyYW5zZm9ybVwiOlwicm90YXRlKC00NSA5LjU4NiA5LjU4NilcIn19LHtcImVsZW1cIjpcInBhdGhcIixcImF0dHJzXCI6e1wiZFwiOlwiTTIxLjQxNCA4LjU4NkgyMy40MTRWMTAuNTg2SDIxLjQxNHpcIixcInRyYW5zZm9ybVwiOlwicm90YXRlKC00NSAyMi40MTQgOS41ODYpXCJ9fSx7XCJlbGVtXCI6XCJwYXRoXCIsXCJhdHRyc1wiOntcImRcIjpcIk0yMS40MTQgMjEuNDE0SDIzLjQxNFYyMy40MTRIMjEuNDE0elwiLFwidHJhbnNmb3JtXCI6XCJyb3RhdGUoLTQ1IDIyLjQxNCAyMi40MTQpXCJ9fSx7XCJlbGVtXCI6XCJwYXRoXCIsXCJhdHRyc1wiOntcImRcIjpcIk04LjU4NiAyMS40MTRIMTAuNTg2VjIzLjQxNEg4LjU4NnpcIixcInRyYW5zZm9ybVwiOlwicm90YXRlKC00NSA5LjU4NiAyMi40MTQpXCJ9fSx7XCJlbGVtXCI6XCJwYXRoXCIsXCJhdHRyc1wiOntcImRcIjpcIk0xNiwyMmE2LDYsMCwxLDAtNi02QTYsNiwwLDAsMCwxNiwyMlptMC0xMHY4YTQsNCwwLDAsMSwwLThaXCJ9fSx7XCJlbGVtXCI6XCJwYXRoXCIsXCJhdHRyc1wiOntcImRcIjpcIk0yOCwzMEg0YTIuMDAyMSwyLjAwMjEsMCwwLDEtMi0yVjRBMi4wMDIxLDIuMDAyMSwwLDAsMSw0LDJIMjhhMi4wMDIxLDIuMDAyMSwwLDAsMSwyLDJWMjhBMi4wMDIxLDIuMDAyMSwwLDAsMSwyOCwzMFpNNCw0VjI4SDI4VjRaXCJ9fV0sXCJuYW1lXCI6XCJ3aW5kb3ctLXByZXNldFwiLFwic2l6ZVwiOjI0fSxcInNpemVcIjoyNH0sXG4gICAgc3ZnOiBgPHN2ZyBmb2N1c2FibGU9XCJmYWxzZVwiIHByZXNlcnZlQXNwZWN0UmF0aW89XCJ4TWlkWU1pZCBtZWV0XCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDMyIDMyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PHBhdGggZD1cIk0xNSA2SDE3VjhIMTV6TTI0IDE1SDI2VjE3SDI0ek0xNSAyNEgxN1YyNkgxNXpNNiAxNUg4VjE3SDZ6XCI+PC9wYXRoPjxwYXRoIGQ9XCJNOC41ODYgOC41ODZIMTAuNTg2VjEwLjU4Nkg4LjU4NnpcIiB0cmFuc2Zvcm09XCJyb3RhdGUoLTQ1IDkuNTg2IDkuNTg2KVwiPjwvcGF0aD48cGF0aCBkPVwiTTIxLjQxNCA4LjU4NkgyMy40MTRWMTAuNTg2SDIxLjQxNHpcIiB0cmFuc2Zvcm09XCJyb3RhdGUoLTQ1IDIyLjQxNCA5LjU4NilcIj48L3BhdGg+PHBhdGggZD1cIk0yMS40MTQgMjEuNDE0SDIzLjQxNFYyMy40MTRIMjEuNDE0elwiIHRyYW5zZm9ybT1cInJvdGF0ZSgtNDUgMjIuNDE0IDIyLjQxNClcIj48L3BhdGg+PHBhdGggZD1cIk04LjU4NiAyMS40MTRIMTAuNTg2VjIzLjQxNEg4LjU4NnpcIiB0cmFuc2Zvcm09XCJyb3RhdGUoLTQ1IDkuNTg2IDIyLjQxNClcIj48L3BhdGg+PHBhdGggZD1cIk0xNiwyMmE2LDYsMCwxLDAtNi02QTYsNiwwLDAsMCwxNiwyMlptMC0xMHY4YTQsNCwwLDAsMSwwLThaXCI+PC9wYXRoPjxwYXRoIGQ9XCJNMjgsMzBINGEyLjAwMjEsMi4wMDIxLDAsMCwxLTItMlY0QTIuMDAyMSwyLjAwMjEsMCwwLDEsNCwySDI4YTIuMDAyMSwyLjAwMjEsMCwwLDEsMiwyVjI4QTIuMDAyMSwyLjAwMjEsMCwwLDEsMjgsMzBaTTQsNFYyOEgyOFY0WlwiPjwvcGF0aD48L3N2Zz5gXG4gIH0sXG5cbiAgXCIyMFwiOiB7XG4gICAgbWV0YWRhdGE6IHtcIm1vZHVsZU5hbWVcIjpcIldhdHNvbkhlYWx0aFdpbmRvd1ByZXNldDIwXCIsXCJmaWxlcGF0aFwiOlwid2F0c29uLWhlYWx0aC93aW5kb3ctLXByZXNldC8yMC5qc1wiLFwiZGVzY3JpcHRvclwiOntcImVsZW1cIjpcInN2Z1wiLFwiYXR0cnNcIjp7XCJ4bWxuc1wiOlwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcInZpZXdCb3hcIjpcIjAgMCAzMiAzMlwiLFwiZmlsbFwiOlwiY3VycmVudENvbG9yXCIsXCJ3aWR0aFwiOjIwLFwiaGVpZ2h0XCI6MjB9LFwiY29udGVudFwiOlt7XCJlbGVtXCI6XCJwYXRoXCIsXCJhdHRyc1wiOntcImRcIjpcIk0xNSA2SDE3VjhIMTV6TTI0IDE1SDI2VjE3SDI0ek0xNSAyNEgxN1YyNkgxNXpNNiAxNUg4VjE3SDZ6XCJ9fSx7XCJlbGVtXCI6XCJwYXRoXCIsXCJhdHRyc1wiOntcImRcIjpcIk04LjU4NiA4LjU4NkgxMC41ODZWMTAuNTg2SDguNTg2elwiLFwidHJhbnNmb3JtXCI6XCJyb3RhdGUoLTQ1IDkuNTg2IDkuNTg2KVwifX0se1wiZWxlbVwiOlwicGF0aFwiLFwiYXR0cnNcIjp7XCJkXCI6XCJNMjEuNDE0IDguNTg2SDIzLjQxNFYxMC41ODZIMjEuNDE0elwiLFwidHJhbnNmb3JtXCI6XCJyb3RhdGUoLTQ1IDIyLjQxNCA5LjU4NilcIn19LHtcImVsZW1cIjpcInBhdGhcIixcImF0dHJzXCI6e1wiZFwiOlwiTTIxLjQxNCAyMS40MTRIMjMuNDE0VjIzLjQxNEgyMS40MTR6XCIsXCJ0cmFuc2Zvcm1cIjpcInJvdGF0ZSgtNDUgMjIuNDE0IDIyLjQxNClcIn19LHtcImVsZW1cIjpcInBhdGhcIixcImF0dHJzXCI6e1wiZFwiOlwiTTguNTg2IDIxLjQxNEgxMC41ODZWMjMuNDE0SDguNTg2elwiLFwidHJhbnNmb3JtXCI6XCJyb3RhdGUoLTQ1IDkuNTg2IDIyLjQxNClcIn19LHtcImVsZW1cIjpcInBhdGhcIixcImF0dHJzXCI6e1wiZFwiOlwiTTE2LDIyYTYsNiwwLDEsMC02LTZBNiw2LDAsMCwwLDE2LDIyWm0wLTEwdjhhNCw0LDAsMCwxLDAtOFpcIn19LHtcImVsZW1cIjpcInBhdGhcIixcImF0dHJzXCI6e1wiZFwiOlwiTTI4LDMwSDRhMi4wMDIxLDIuMDAyMSwwLDAsMS0yLTJWNEEyLjAwMjEsMi4wMDIxLDAsMCwxLDQsMkgyOGEyLjAwMjEsMi4wMDIxLDAsMCwxLDIsMlYyOEEyLjAwMjEsMi4wMDIxLDAsMCwxLDI4LDMwWk00LDRWMjhIMjhWNFpcIn19XSxcIm5hbWVcIjpcIndpbmRvdy0tcHJlc2V0XCIsXCJzaXplXCI6MjB9LFwic2l6ZVwiOjIwfSxcbiAgICBzdmc6IGA8c3ZnIGZvY3VzYWJsZT1cImZhbHNlXCIgcHJlc2VydmVBc3BlY3RSYXRpbz1cInhNaWRZTWlkIG1lZXRcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMzIgMzJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj48cGF0aCBkPVwiTTE1IDZIMTdWOEgxNXpNMjQgMTVIMjZWMTdIMjR6TTE1IDI0SDE3VjI2SDE1ek02IDE1SDhWMTdINnpcIj48L3BhdGg+PHBhdGggZD1cIk04LjU4NiA4LjU4NkgxMC41ODZWMTAuNTg2SDguNTg2elwiIHRyYW5zZm9ybT1cInJvdGF0ZSgtNDUgOS41ODYgOS41ODYpXCI+PC9wYXRoPjxwYXRoIGQ9XCJNMjEuNDE0IDguNTg2SDIzLjQxNFYxMC41ODZIMjEuNDE0elwiIHRyYW5zZm9ybT1cInJvdGF0ZSgtNDUgMjIuNDE0IDkuNTg2KVwiPjwvcGF0aD48cGF0aCBkPVwiTTIxLjQxNCAyMS40MTRIMjMuNDE0VjIzLjQxNEgyMS40MTR6XCIgdHJhbnNmb3JtPVwicm90YXRlKC00NSAyMi40MTQgMjIuNDE0KVwiPjwvcGF0aD48cGF0aCBkPVwiTTguNTg2IDIxLjQxNEgxMC41ODZWMjMuNDE0SDguNTg2elwiIHRyYW5zZm9ybT1cInJvdGF0ZSgtNDUgOS41ODYgMjIuNDE0KVwiPjwvcGF0aD48cGF0aCBkPVwiTTE2LDIyYTYsNiwwLDEsMC02LTZBNiw2LDAsMCwwLDE2LDIyWm0wLTEwdjhhNCw0LDAsMCwxLDAtOFpcIj48L3BhdGg+PHBhdGggZD1cIk0yOCwzMEg0YTIuMDAyMSwyLjAwMjEsMCwwLDEtMi0yVjRBMi4wMDIxLDIuMDAyMSwwLDAsMSw0LDJIMjhhMi4wMDIxLDIuMDAyMSwwLDAsMSwyLDJWMjhBMi4wMDIxLDIuMDAyMSwwLDAsMSwyOCwzMFpNNCw0VjI4SDI4VjRaXCI+PC9wYXRoPjwvc3ZnPmBcbiAgfSxcblxuICBcIjE2XCI6IHtcbiAgICBtZXRhZGF0YToge1wibW9kdWxlTmFtZVwiOlwiV2F0c29uSGVhbHRoV2luZG93UHJlc2V0MTZcIixcImZpbGVwYXRoXCI6XCJ3YXRzb24taGVhbHRoL3dpbmRvdy0tcHJlc2V0LzE2LmpzXCIsXCJkZXNjcmlwdG9yXCI6e1wiZWxlbVwiOlwic3ZnXCIsXCJhdHRyc1wiOntcInhtbG5zXCI6XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFwidmlld0JveFwiOlwiMCAwIDMyIDMyXCIsXCJmaWxsXCI6XCJjdXJyZW50Q29sb3JcIixcIndpZHRoXCI6MTYsXCJoZWlnaHRcIjoxNn0sXCJjb250ZW50XCI6W3tcImVsZW1cIjpcInBhdGhcIixcImF0dHJzXCI6e1wiZFwiOlwiTTE1IDZIMTdWOEgxNXpNMjQgMTVIMjZWMTdIMjR6TTE1IDI0SDE3VjI2SDE1ek02IDE1SDhWMTdINnpcIn19LHtcImVsZW1cIjpcInBhdGhcIixcImF0dHJzXCI6e1wiZFwiOlwiTTguNTg2IDguNTg2SDEwLjU4NlYxMC41ODZIOC41ODZ6XCIsXCJ0cmFuc2Zvcm1cIjpcInJvdGF0ZSgtNDUgOS41ODYgOS41ODYpXCJ9fSx7XCJlbGVtXCI6XCJwYXRoXCIsXCJhdHRyc1wiOntcImRcIjpcIk0yMS40MTQgOC41ODZIMjMuNDE0VjEwLjU4NkgyMS40MTR6XCIsXCJ0cmFuc2Zvcm1cIjpcInJvdGF0ZSgtNDUgMjIuNDE0IDkuNTg2KVwifX0se1wiZWxlbVwiOlwicGF0aFwiLFwiYXR0cnNcIjp7XCJkXCI6XCJNMjEuNDE0IDIxLjQxNEgyMy40MTRWMjMuNDE0SDIxLjQxNHpcIixcInRyYW5zZm9ybVwiOlwicm90YXRlKC00NSAyMi40MTQgMjIuNDE0KVwifX0se1wiZWxlbVwiOlwicGF0aFwiLFwiYXR0cnNcIjp7XCJkXCI6XCJNOC41ODYgMjEuNDE0SDEwLjU4NlYyMy40MTRIOC41ODZ6XCIsXCJ0cmFuc2Zvcm1cIjpcInJvdGF0ZSgtNDUgOS41ODYgMjIuNDE0KVwifX0se1wiZWxlbVwiOlwicGF0aFwiLFwiYXR0cnNcIjp7XCJkXCI6XCJNMTYsMjJhNiw2LDAsMSwwLTYtNkE2LDYsMCwwLDAsMTYsMjJabTAtMTB2OGE0LDQsMCwwLDEsMC04WlwifX0se1wiZWxlbVwiOlwicGF0aFwiLFwiYXR0cnNcIjp7XCJkXCI6XCJNMjgsMzBINGEyLjAwMjEsMi4wMDIxLDAsMCwxLTItMlY0QTIuMDAyMSwyLjAwMjEsMCwwLDEsNCwySDI4YTIuMDAyMSwyLjAwMjEsMCwwLDEsMiwyVjI4QTIuMDAyMSwyLjAwMjEsMCwwLDEsMjgsMzBaTTQsNFYyOEgyOFY0WlwifX1dLFwibmFtZVwiOlwid2luZG93LS1wcmVzZXRcIixcInNpemVcIjoxNn0sXCJzaXplXCI6MTZ9LFxuICAgIHN2ZzogYDxzdmcgZm9jdXNhYmxlPVwiZmFsc2VcIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPVwieE1pZFlNaWQgbWVldFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAzMiAzMlwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjxwYXRoIGQ9XCJNMTUgNkgxN1Y4SDE1ek0yNCAxNUgyNlYxN0gyNHpNMTUgMjRIMTdWMjZIMTV6TTYgMTVIOFYxN0g2elwiPjwvcGF0aD48cGF0aCBkPVwiTTguNTg2IDguNTg2SDEwLjU4NlYxMC41ODZIOC41ODZ6XCIgdHJhbnNmb3JtPVwicm90YXRlKC00NSA5LjU4NiA5LjU4NilcIj48L3BhdGg+PHBhdGggZD1cIk0yMS40MTQgOC41ODZIMjMuNDE0VjEwLjU4NkgyMS40MTR6XCIgdHJhbnNmb3JtPVwicm90YXRlKC00NSAyMi40MTQgOS41ODYpXCI+PC9wYXRoPjxwYXRoIGQ9XCJNMjEuNDE0IDIxLjQxNEgyMy40MTRWMjMuNDE0SDIxLjQxNHpcIiB0cmFuc2Zvcm09XCJyb3RhdGUoLTQ1IDIyLjQxNCAyMi40MTQpXCI+PC9wYXRoPjxwYXRoIGQ9XCJNOC41ODYgMjEuNDE0SDEwLjU4NlYyMy40MTRIOC41ODZ6XCIgdHJhbnNmb3JtPVwicm90YXRlKC00NSA5LjU4NiAyMi40MTQpXCI+PC9wYXRoPjxwYXRoIGQ9XCJNMTYsMjJhNiw2LDAsMSwwLTYtNkE2LDYsMCwwLDAsMTYsMjJabTAtMTB2OGE0LDQsMCwwLDEsMC04WlwiPjwvcGF0aD48cGF0aCBkPVwiTTI4LDMwSDRhMi4wMDIxLDIuMDAyMSwwLDAsMS0yLTJWNEEyLjAwMjEsMi4wMDIxLDAsMCwxLDQsMkgyOGEyLjAwMjEsMi4wMDIxLDAsMCwxLDIsMlYyOEEyLjAwMjEsMi4wMDIxLDAsMCwxLDI4LDMwWk00LDRWMjhIMjhWNFpcIj48L3BhdGg+PC9zdmc+YFxuICB9LFxuXG4gIH07XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cblx0bmdBZnRlclZpZXdJbml0KCkge1xuICAgIGNvbnN0IHN2ZyA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIHN2Zy5zZXRBdHRyaWJ1dGUoXCJ4bWxuc1wiLCBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIpO1xuXG4gICAgY29uc3QgaWNvbiA9IHRoaXMuaWNvbnNbdGhpcy5zaXplXVxuXG4gICAgY29uc3QgZG9tUGFyc2VyID0gbmV3IERPTVBhcnNlcigpO1xuICAgIGNvbnN0IHJhd1NWRyA9IGljb24uc3ZnO1xuICAgIGNvbnN0IHN2Z0VsZW1lbnQgPSBkb21QYXJzZXIucGFyc2VGcm9tU3RyaW5nKHJhd1NWRywgXCJpbWFnZS9zdmcreG1sXCIpLmRvY3VtZW50RWxlbWVudDtcblxuICAgIGxldCBub2RlID0gc3ZnRWxlbWVudC5maXJzdENoaWxkO1xuICAgIHdoaWxlIChub2RlKSB7XG4gICAgICAvLyBpbXBvcnROb2RlIG1ha2VzIGEgY2xvbmUgb2YgdGhlIG5vZGVcbiAgICAgIC8vIHRoaXMgZW5zdXJlcyB3ZSBrZWVwIGxvb3Bpbmcgb3ZlciB0aGUgbm9kZXMgaW4gdGhlIHBhcnNlZCBkb2N1bWVudFxuICAgICAgc3ZnLmFwcGVuZENoaWxkKHN2Zy5vd25lckRvY3VtZW50LmltcG9ydE5vZGUobm9kZSwgdHJ1ZSkpO1xuICAgICAgbm9kZSA9IG5vZGUubmV4dFNpYmxpbmc7XG4gICAgfVxuXG4gICAgY29uc3QgYXR0cmlidXRlcyA9IGdldEF0dHJpYnV0ZXMoe1xuICAgICAgd2lkdGg6IGljb24ubWV0YWRhdGEuZGVzY3JpcHRvci5hdHRycy5oZWlnaHQsXG4gICAgICBoZWlnaHQ6IGljb24ubWV0YWRhdGEuZGVzY3JpcHRvci5hdHRycy5oZWlnaHQsXG4gICAgICB2aWV3Qm94OiBpY29uLm1ldGFkYXRhLmRlc2NyaXB0b3IuYXR0cnMudmlld0JveCxcbiAgICAgIHRpdGxlOiB0aGlzLnRpdGxlLFxuICAgICAgXCJhcmlhLWxhYmVsXCI6IHRoaXMuYXJpYUxhYmVsLFxuICAgICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogdGhpcy5hcmlhTGFiZWxsZWRieSxcbiAgICAgIFwiYXJpYS1oaWRkZW5cIjogdGhpcy5hcmlhSGlkZGVuLFxuICAgICAgZm9jdXNhYmxlOiB0aGlzLmlzRm9jdXNhYmxlLnRvU3RyaW5nKClcbiAgICB9KTtcblxuICAgIGNvbnN0IGF0dHJLZXlzID0gT2JqZWN0LmtleXMoYXR0cmlidXRlcyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhdHRyS2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3Qga2V5ID0gYXR0cktleXNbaV07XG4gICAgICBjb25zdCB2YWx1ZSA9IGF0dHJpYnV0ZXNba2V5XTtcbiAgICAgIGlmIChrZXkgPT09IFwidGl0bGVcIikge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICBzdmcuc2V0QXR0cmlidXRlKGtleSwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChhdHRyaWJ1dGVzLnRpdGxlKSB7XG4gICAgICBjb25zdCB0aXRsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJ0aXRsZVwiKTtcbiAgICAgIHRpdGxlLnRleHRDb250ZW50ID0gYXR0cmlidXRlcy50aXRsZTtcbiAgICAgIFdhdHNvbkhlYWx0aFdpbmRvd1ByZXNldERpcmVjdGl2ZS50aXRsZUlkQ291bnRlcisrO1xuICAgICAgdGl0bGUuc2V0QXR0cmlidXRlKFwiaWRcIiwgYHdhdHNvbi1oZWFsdGgtd2luZG93LXByZXNldC0ke1dhdHNvbkhlYWx0aFdpbmRvd1ByZXNldERpcmVjdGl2ZS50aXRsZUlkQ291bnRlcn1gKTtcbiAgICAgIHN2Zy5hcHBlbmRDaGlsZCh0aXRsZSk7XG4gICAgICBzdmcuc2V0QXR0cmlidXRlKFwiYXJpYS1sYWJlbGxlZGJ5XCIsIGB3YXRzb24taGVhbHRoLXdpbmRvdy1wcmVzZXQtJHtXYXRzb25IZWFsdGhXaW5kb3dQcmVzZXREaXJlY3RpdmUudGl0bGVJZENvdW50ZXJ9YCk7XG4gICAgfVxuXHR9XG59XG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgXG4gIFdhdHNvbkhlYWx0aFdpbmRvd1ByZXNldENvbXBvbmVudCxcbiAgV2F0c29uSGVhbHRoV2luZG93UHJlc2V0RGlyZWN0aXZlLFxuXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBcbiAgV2F0c29uSGVhbHRoV2luZG93UHJlc2V0Q29tcG9uZW50LFxuICBXYXRzb25IZWFsdGhXaW5kb3dQcmVzZXREaXJlY3RpdmUsXG5cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBXYXRzb25IZWFsdGhXaW5kb3dQcmVzZXRNb2R1bGUge31cbiJdfQ==