UNPKG

ng-devui

Version:

DevUI components based on Angular

75 lines 15.3 kB
import { Component, HostBinding, HostListener, Inject, ViewChild, ViewEncapsulation } from '@angular/core'; import { Router, RouterLinkActive } from '@angular/router'; import { AccordionBaseLinkComponent } from './accordion-base-link-component.class'; import { ACCORDION } from './accordion-token'; import * as i0 from "@angular/core"; import * as i1 from "@angular/router"; import * as i2 from "@angular/common"; export class AccordionItemRouterlinkComponent extends AccordionBaseLinkComponent { get routerLinkActivated() { return !!(this.routerLinkActiveDirective && this.routerLinkActiveDirective.isActive); } set urlTree(urlTree) { if (urlTree) { this.queryParams = urlTree.queryParams; this.fragment = urlTree.fragment; } else { this.queryParams = undefined; this.fragment = undefined; } } onClick(event) { if (!this.disabled) { this.accordion.linkItemClickFn({ item: this.item, parent: this.parent, event: event, }); } } constructor(accordion, router) { super(accordion); this.accordion = accordion; this.router = router; } ngOnChanges(changes) { if (changes.item) { if (this.link) { this.urlTree = this.router.parseUrl(this.link); const handelPath = (url) => { let path = url; const index = url.indexOf('?'); if (index > -1) { path = url.slice(0, index); } return path; }; this.path = handelPath(this.link); } else { this.urlTree = undefined; this.path = undefined; } } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AccordionItemRouterlinkComponent, deps: [{ token: ACCORDION }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AccordionItemRouterlinkComponent, selector: "d-accordion-item-routerlink", host: { listeners: { "click": "onClick($event)" }, properties: { "class.devui-router-active": "this.routerLinkActivated" } }, viewQueries: [{ propertyName: "routerLinkActiveDirective", first: true, predicate: RouterLinkActive, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!disabled\">\n <a\n class=\"devui-over-flow-ellipsis\"\n [routerLink]=\"path\"\n [queryParams]=\"queryParams\"\n [fragment]=\"fragment\"\n [routerLinkActive]=\"'devui-router-active'\"\n target=\"{{ target }}\"\n rel=\"noopener\"\n title=\"{{ title }}\"\n >\n <div\n class=\"devui-accordion-splitter\"\n [ngClass]=\"{ 'devui-parent-list': deepth === 0 }\"\n [ngStyle]=\"{ left: deepth * 20 + 10 + 'px' }\"\n ></div>\n <ng-container *ngIf=\"!itemTemplate\">\n {{ title }}\n </ng-container>\n <ng-template\n *ngIf=\"itemTemplate\"\n [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{\n parent: parent,\n item: item,\n deepth: deepth\n }\"\n ></ng-template>\n </a>\n</ng-container>\n<ng-container *ngIf=\"disabled\">\n <a class=\"devui-over-flow-ellipsis\" title=\"{{ title }}\">\n <div\n class=\"devui-accordion-splitter\"\n [ngClass]=\"{ 'devui-parent-list': deepth === 0 }\"\n [ngStyle]=\"{ left: deepth * 20 + 10 + 'px' }\"\n ></div>\n <ng-container *ngIf=\"!itemTemplate\">\n {{ title }}\n </ng-container>\n <ng-template\n *ngIf=\"itemTemplate\"\n [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{\n parent: parent,\n item: item,\n deepth: deepth\n }\"\n ></ng-template>\n </a>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i1.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }], encapsulation: i0.ViewEncapsulation.None }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AccordionItemRouterlinkComponent, decorators: [{ type: Component, args: [{ selector: 'd-accordion-item-routerlink', encapsulation: ViewEncapsulation.None, preserveWhitespaces: false, template: "<ng-container *ngIf=\"!disabled\">\n <a\n class=\"devui-over-flow-ellipsis\"\n [routerLink]=\"path\"\n [queryParams]=\"queryParams\"\n [fragment]=\"fragment\"\n [routerLinkActive]=\"'devui-router-active'\"\n target=\"{{ target }}\"\n rel=\"noopener\"\n title=\"{{ title }}\"\n >\n <div\n class=\"devui-accordion-splitter\"\n [ngClass]=\"{ 'devui-parent-list': deepth === 0 }\"\n [ngStyle]=\"{ left: deepth * 20 + 10 + 'px' }\"\n ></div>\n <ng-container *ngIf=\"!itemTemplate\">\n {{ title }}\n </ng-container>\n <ng-template\n *ngIf=\"itemTemplate\"\n [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{\n parent: parent,\n item: item,\n deepth: deepth\n }\"\n ></ng-template>\n </a>\n</ng-container>\n<ng-container *ngIf=\"disabled\">\n <a class=\"devui-over-flow-ellipsis\" title=\"{{ title }}\">\n <div\n class=\"devui-accordion-splitter\"\n [ngClass]=\"{ 'devui-parent-list': deepth === 0 }\"\n [ngStyle]=\"{ left: deepth * 20 + 10 + 'px' }\"\n ></div>\n <ng-container *ngIf=\"!itemTemplate\">\n {{ title }}\n </ng-container>\n <ng-template\n *ngIf=\"itemTemplate\"\n [ngTemplateOutlet]=\"itemTemplate\"\n [ngTemplateOutletContext]=\"{\n parent: parent,\n item: item,\n deepth: deepth\n }\"\n ></ng-template>\n </a>\n</ng-container>\n" }] }], ctorParameters: () => [{ type: undefined, decorators: [{ type: Inject, args: [ACCORDION] }] }, { type: i1.Router }], propDecorators: { routerLinkActiveDirective: [{ type: ViewChild, args: [RouterLinkActive] }], routerLinkActivated: [{ type: HostBinding, args: ['class.devui-router-active'] }], onClick: [{ type: HostListener, args: ['click', ['$event']] }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0tcm91dGVybGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9kZXZ1aS9hY2NvcmRpb24vYWNjb3JkaW9uLWl0ZW0tcm91dGVybGluay5jb21wb25lbnQudHMiLCIuLi8uLi8uLi9kZXZ1aS9hY2NvcmRpb24vYWNjb3JkaW9uLWl0ZW0tcm91dGVybGluay5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUE0QixTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckksT0FBTyxFQUFVLE1BQU0sRUFBRSxnQkFBZ0IsRUFBVyxNQUFNLGlCQUFpQixDQUFDO0FBQzVFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7OztBQVE5QyxNQUFNLE9BQU8sZ0NBQWlDLFNBQVEsMEJBQTBCO0lBRTlFLElBQ0ksbUJBQW1CO1FBQ3JCLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLHlCQUF5QixJQUFJLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRUQsSUFBWSxPQUFPLENBQUMsT0FBZ0I7UUFDbEMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztZQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDbkMsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsQ0FBQztZQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLFNBQVMsQ0FBQztRQUM1QixDQUFDO0lBQ0gsQ0FBQztJQUdELE9BQU8sQ0FBQyxLQUFpQjtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDO2dCQUM3QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7Z0JBQ2YsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNuQixLQUFLLEVBQUUsS0FBSzthQUNiLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBTUQsWUFBeUMsU0FBYyxFQUFVLE1BQWM7UUFDN0UsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRHNCLGNBQVMsR0FBVCxTQUFTLENBQUs7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBRS9FLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDakIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQy9DLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBVyxFQUFFLEVBQUU7b0JBQ2pDLElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQztvQkFDZixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUMvQixJQUFJLEtBQUssR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUNmLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDN0IsQ0FBQztvQkFDRCxPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQztnQkFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7WUFDeEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOytHQXREVSxnQ0FBZ0Msa0JBZ0N2QixTQUFTO21HQWhDbEIsZ0NBQWdDLDRQQUNoQyxnQkFBZ0IsNEZDWjdCLG02Q0FtREE7OzRGRHhDYSxnQ0FBZ0M7a0JBTjVDLFNBQVM7K0JBQ0UsNkJBQTZCLGlCQUV4QixpQkFBaUIsQ0FBQyxJQUFJLHVCQUNoQixLQUFLOzswQkFrQ2IsTUFBTTsyQkFBQyxTQUFTOzhEQS9CQSx5QkFBeUI7c0JBQXJELFNBQVM7dUJBQUMsZ0JBQWdCO2dCQUV2QixtQkFBbUI7c0JBRHRCLFdBQVc7dUJBQUMsMkJBQTJCO2dCQWdCeEMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5qZWN0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGFyYW1zLCBSb3V0ZXIsIFJvdXRlckxpbmtBY3RpdmUsIFVybFRyZWUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBY2NvcmRpb25CYXNlTGlua0NvbXBvbmVudCB9IGZyb20gJy4vYWNjb3JkaW9uLWJhc2UtbGluay1jb21wb25lbnQuY2xhc3MnO1xyXG5pbXBvcnQgeyBBQ0NPUkRJT04gfSBmcm9tICcuL2FjY29yZGlvbi10b2tlbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2QtYWNjb3JkaW9uLWl0ZW0tcm91dGVybGluaycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY29yZGlvbi1pdGVtLXJvdXRlcmxpbmsuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2NvcmRpb25JdGVtUm91dGVybGlua0NvbXBvbmVudCBleHRlbmRzIEFjY29yZGlvbkJhc2VMaW5rQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBAVmlld0NoaWxkKFJvdXRlckxpbmtBY3RpdmUpIHJvdXRlckxpbmtBY3RpdmVEaXJlY3RpdmU6IFJvdXRlckxpbmtBY3RpdmU7XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kZXZ1aS1yb3V0ZXItYWN0aXZlJylcclxuICBnZXQgcm91dGVyTGlua0FjdGl2YXRlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhISh0aGlzLnJvdXRlckxpbmtBY3RpdmVEaXJlY3RpdmUgJiYgdGhpcy5yb3V0ZXJMaW5rQWN0aXZlRGlyZWN0aXZlLmlzQWN0aXZlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0IHVybFRyZWUodXJsVHJlZTogVXJsVHJlZSkge1xyXG4gICAgaWYgKHVybFRyZWUpIHtcclxuICAgICAgdGhpcy5xdWVyeVBhcmFtcyA9IHVybFRyZWUucXVlcnlQYXJhbXM7XHJcbiAgICAgIHRoaXMuZnJhZ21lbnQgPSB1cmxUcmVlLmZyYWdtZW50O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5xdWVyeVBhcmFtcyA9IHVuZGVmaW5lZDtcclxuICAgICAgdGhpcy5mcmFnbWVudCA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcclxuICAgICAgdGhpcy5hY2NvcmRpb24ubGlua0l0ZW1DbGlja0ZuKHtcclxuICAgICAgICBpdGVtOiB0aGlzLml0ZW0sXHJcbiAgICAgICAgcGFyZW50OiB0aGlzLnBhcmVudCxcclxuICAgICAgICBldmVudDogZXZlbnQsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcGF0aDogc3RyaW5nO1xyXG4gIHF1ZXJ5UGFyYW1zOiBQYXJhbXM7XHJcbiAgZnJhZ21lbnQ6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChBQ0NPUkRJT04pIHByb3RlY3RlZCBhY2NvcmRpb246IGFueSwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge1xyXG4gICAgc3VwZXIoYWNjb3JkaW9uKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzLml0ZW0pIHtcclxuICAgICAgaWYgKHRoaXMubGluaykge1xyXG4gICAgICAgIHRoaXMudXJsVHJlZSA9IHRoaXMucm91dGVyLnBhcnNlVXJsKHRoaXMubGluayk7XHJcbiAgICAgICAgY29uc3QgaGFuZGVsUGF0aCA9ICh1cmw6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgbGV0IHBhdGggPSB1cmw7XHJcbiAgICAgICAgICBjb25zdCBpbmRleCA9IHVybC5pbmRleE9mKCc/Jyk7XHJcbiAgICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICBwYXRoID0gdXJsLnNsaWNlKDAsIGluZGV4KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBwYXRoO1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgdGhpcy5wYXRoID0gaGFuZGVsUGF0aCh0aGlzLmxpbmspO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudXJsVHJlZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICB0aGlzLnBhdGggPSB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFkaXNhYmxlZFwiPlxuICA8YVxuICAgIGNsYXNzPVwiZGV2dWktb3Zlci1mbG93LWVsbGlwc2lzXCJcbiAgICBbcm91dGVyTGlua109XCJwYXRoXCJcbiAgICBbcXVlcnlQYXJhbXNdPVwicXVlcnlQYXJhbXNcIlxuICAgIFtmcmFnbWVudF09XCJmcmFnbWVudFwiXG4gICAgW3JvdXRlckxpbmtBY3RpdmVdPVwiJ2RldnVpLXJvdXRlci1hY3RpdmUnXCJcbiAgICB0YXJnZXQ9XCJ7eyB0YXJnZXQgfX1cIlxuICAgIHJlbD1cIm5vb3BlbmVyXCJcbiAgICB0aXRsZT1cInt7IHRpdGxlIH19XCJcbiAgPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiZGV2dWktYWNjb3JkaW9uLXNwbGl0dGVyXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgJ2RldnVpLXBhcmVudC1saXN0JzogZGVlcHRoID09PSAwIH1cIlxuICAgICAgW25nU3R5bGVdPVwieyBsZWZ0OiBkZWVwdGggKiAyMCArIDEwICsgJ3B4JyB9XCJcbiAgICA+PC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpdGVtVGVtcGxhdGVcIj5cbiAgICAgIHt7IHRpdGxlIH19XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICAqbmdJZj1cIml0ZW1UZW1wbGF0ZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtVGVtcGxhdGVcIlxuICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntcbiAgICAgICAgcGFyZW50OiBwYXJlbnQsXG4gICAgICAgIGl0ZW06IGl0ZW0sXG4gICAgICAgIGRlZXB0aDogZGVlcHRoXG4gICAgICB9XCJcbiAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgPC9hPlxuPC9uZy1jb250YWluZXI+XG48bmctY29udGFpbmVyICpuZ0lmPVwiZGlzYWJsZWRcIj5cbiAgPGEgY2xhc3M9XCJkZXZ1aS1vdmVyLWZsb3ctZWxsaXBzaXNcIiB0aXRsZT1cInt7IHRpdGxlIH19XCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJkZXZ1aS1hY2NvcmRpb24tc3BsaXR0ZXJcIlxuICAgICAgW25nQ2xhc3NdPVwieyAnZGV2dWktcGFyZW50LWxpc3QnOiBkZWVwdGggPT09IDAgfVwiXG4gICAgICBbbmdTdHlsZV09XCJ7IGxlZnQ6IGRlZXB0aCAqIDIwICsgMTAgKyAncHgnIH1cIlxuICAgID48L2Rpdj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWl0ZW1UZW1wbGF0ZVwiPlxuICAgICAge3sgdGl0bGUgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctdGVtcGxhdGVcbiAgICAgICpuZ0lmPVwiaXRlbVRlbXBsYXRlXCJcbiAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xuICAgICAgICBwYXJlbnQ6IHBhcmVudCxcbiAgICAgICAgaXRlbTogaXRlbSxcbiAgICAgICAgZGVlcHRoOiBkZWVwdGhcbiAgICAgIH1cIlxuICAgID48L25nLXRlbXBsYXRlPlxuICA8L2E+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==