ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
212 lines • 19.8 kB
JavaScript
/* eslint-disable */
/**
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
*/
import { NgTemplateOutlet } from '@angular/common';
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
import { NzIconModule } from 'ng-zorro-antd/icon';
import * as i0 from "@angular/core";
import * as i1 from "ng-zorro-antd/icon";
export class NzPaginationItemComponent {
constructor() {
this.active = false;
this.index = null;
this.disabled = false;
this.direction = 'ltr';
this.type = null;
this.itemRender = null;
this.diffIndex = new EventEmitter();
this.gotoIndex = new EventEmitter();
this.title = null;
}
clickItem() {
if (!this.disabled) {
if (this.type === 'page') {
this.gotoIndex.emit(this.index);
}
else {
this.diffIndex.emit({
next: 1,
prev: -1,
prev_5: -5,
next_5: 5
}[this.type]);
}
}
}
ngOnChanges(changes) {
const { locale, index, type } = changes;
if (locale || index || type) {
this.title = {
page: `${this.index}`,
next: this.locale?.next_page,
prev: this.locale?.prev_page,
prev_5: this.locale?.prev_5,
next_5: this.locale?.next_5
}[this.type];
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NzPaginationItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.2", type: NzPaginationItemComponent, isStandalone: true, selector: "li[nz-pagination-item]", inputs: { active: "active", locale: "locale", index: "index", disabled: "disabled", direction: "direction", type: "type", itemRender: "itemRender" }, outputs: { diffIndex: "diffIndex", gotoIndex: "gotoIndex" }, host: { listeners: { "click": "clickItem()" }, properties: { "class.ant-pagination-prev": "type === 'prev'", "class.ant-pagination-next": "type === 'next'", "class.ant-pagination-item": "type === 'page'", "class.ant-pagination-jump-prev": "type === 'prev_5'", "class.ant-pagination-jump-prev-custom-icon": "type === 'prev_5'", "class.ant-pagination-jump-next": "type === 'next_5'", "class.ant-pagination-jump-next-custom-icon": "type === 'next_5'", "class.ant-pagination-disabled": "disabled", "class.ant-pagination-item-active": "active", "attr.title": "title" } }, usesOnChanges: true, ngImport: i0, template: `
<ng-template #renderItemTemplate let-type let-page="page">
(type) {
('page') {
<a>{{ page }}</a>
}
('prev') {
<button type="button" [disabled]="disabled" [attr.title]="locale.prev_page" class="ant-pagination-item-link">
(direction === 'rtl') {
<span nz-icon nzType="right"></span>
} {
<span nz-icon nzType="left"></span>
}
</button>
}
('next') {
<button type="button" [disabled]="disabled" [attr.title]="locale.next_page" class="ant-pagination-item-link">
(direction === 'rtl') {
<span nz-icon nzType="left"></span>
} {
<span nz-icon nzType="right"></span>
}
</button>
}
{
<a class="ant-pagination-item-link">
<div class="ant-pagination-item-container">
(type) {
('prev_5') {
(direction === 'rtl') {
<span
nz-icon
nzType="double-right"
class="ant-pagination-item-link-icon"
></span>
} {
<span nz-icon nzType="double-left" class="ant-pagination-item-link-icon"></span>
}
}
('next_5') {
(direction === 'rtl') {
<span nz-icon nzType="double-left"
class="ant-pagination-item-link-icon"></span>
} {
<span nz-icon nzType="double-right" class="ant-pagination-item-link-icon"></span>
}
}
}
<span class="ant-pagination-item-ellipsis">•••</span>
</div>
</a>
}
}
</ng-template>
<ng-template
[ngTemplateOutlet]="itemRender || renderItemTemplate"
[ngTemplateOutletContext]="{ $implicit: type, page: index }"
/>
`, isInline: true, dependencies: [{ kind: "ngmodule", type: NzIconModule }, { kind: "directive", type: i1.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.2", ngImport: i0, type: NzPaginationItemComponent, decorators: [{
type: Component,
args: [{
selector: 'li[nz-pagination-item]',
preserveWhitespaces: false,
encapsulation: ViewEncapsulation.None,
changeDetection: ChangeDetectionStrategy.OnPush,
template: `
<ng-template #renderItemTemplate let-type let-page="page">
(type) {
('page') {
<a>{{ page }}</a>
}
('prev') {
<button type="button" [disabled]="disabled" [attr.title]="locale.prev_page" class="ant-pagination-item-link">
(direction === 'rtl') {
<span nz-icon nzType="right"></span>
} {
<span nz-icon nzType="left"></span>
}
</button>
}
('next') {
<button type="button" [disabled]="disabled" [attr.title]="locale.next_page" class="ant-pagination-item-link">
(direction === 'rtl') {
<span nz-icon nzType="left"></span>
} {
<span nz-icon nzType="right"></span>
}
</button>
}
{
<a class="ant-pagination-item-link">
<div class="ant-pagination-item-container">
(type) {
('prev_5') {
(direction === 'rtl') {
<span
nz-icon
nzType="double-right"
class="ant-pagination-item-link-icon"
></span>
} {
<span nz-icon nzType="double-left" class="ant-pagination-item-link-icon"></span>
}
}
('next_5') {
(direction === 'rtl') {
<span nz-icon nzType="double-left"
class="ant-pagination-item-link-icon"></span>
} {
<span nz-icon nzType="double-right" class="ant-pagination-item-link-icon"></span>
}
}
}
<span class="ant-pagination-item-ellipsis">•••</span>
</div>
</a>
}
}
</ng-template>
<ng-template
[ngTemplateOutlet]="itemRender || renderItemTemplate"
[ngTemplateOutletContext]="{ $implicit: type, page: index }"
/>
`,
host: {
'[class.ant-pagination-prev]': `type === 'prev'`,
'[class.ant-pagination-next]': `type === 'next'`,
'[class.ant-pagination-item]': `type === 'page'`,
'[class.ant-pagination-jump-prev]': `type === 'prev_5'`,
'[class.ant-pagination-jump-prev-custom-icon]': `type === 'prev_5'`,
'[class.ant-pagination-jump-next]': `type === 'next_5'`,
'[class.ant-pagination-jump-next-custom-icon]': `type === 'next_5'`,
'[class.ant-pagination-disabled]': 'disabled',
'[class.ant-pagination-item-active]': 'active',
'[attr.title]': 'title',
'(click)': 'clickItem()'
},
imports: [NzIconModule, NgTemplateOutlet],
standalone: true
}]
}], propDecorators: { active: [{
type: Input
}], locale: [{
type: Input
}], index: [{
type: Input
}], disabled: [{
type: Input
}], direction: [{
type: Input
}], type: [{
type: Input
}], itemRender: [{
type: Input
}], diffIndex: [{
type: Output
}], gotoIndex: [{
type: Output
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9CQUFvQjtBQUNwQjs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFHTixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFtRmxELE1BQU0sT0FBTyx5QkFBeUI7SUFoRnRDO1FBaUZXLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFFZixVQUFLLEdBQThCLElBQUksQ0FBQztRQUN4QyxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsU0FBSSxHQUFtRCxJQUFJLENBQUM7UUFDNUQsZUFBVSxHQUFvRCxJQUFJLENBQUM7UUFDekQsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDMUQsVUFBSyxHQUFrQixJQUFJLENBQUM7S0FtQzdCO0lBakNDLFNBQVM7UUFDUCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxNQUFNLEVBQUUsQ0FBQztnQkFDekIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQU0sQ0FBQyxDQUFDO1lBQ25DLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FFZjtvQkFDRSxJQUFJLEVBQUUsQ0FBQztvQkFDUCxJQUFJLEVBQUUsQ0FBQyxDQUFDO29CQUNSLE1BQU0sRUFBRSxDQUFDLENBQUM7b0JBQ1YsTUFBTSxFQUFFLENBQUM7aUJBRVosQ0FBQyxJQUFJLENBQUMsSUFBSyxDQUFDLENBQ2QsQ0FBQztZQUNKLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLENBQUM7UUFDeEMsSUFBSSxNQUFNLElBQUksS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxLQUFLLEdBQ1I7Z0JBQ0UsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDckIsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUztnQkFDNUIsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUztnQkFDNUIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTTtnQkFDM0IsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTTthQUU5QixDQUFDLElBQUksQ0FBQyxJQUFLLENBQUMsQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQzs4R0E1Q1UseUJBQXlCO2tHQUF6Qix5QkFBeUIsaTNCQTNFMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwRFQsMkRBY1MsWUFBWSxrTkFBRSxnQkFBZ0I7OzJGQUc3Qix5QkFBeUI7a0JBaEZyQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLG1CQUFtQixFQUFFLEtBQUs7b0JBQzFCLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMERUO29CQUNELElBQUksRUFBRTt3QkFDSiw2QkFBNkIsRUFBRSxpQkFBaUI7d0JBQ2hELDZCQUE2QixFQUFFLGlCQUFpQjt3QkFDaEQsNkJBQTZCLEVBQUUsaUJBQWlCO3dCQUNoRCxrQ0FBa0MsRUFBRSxtQkFBbUI7d0JBQ3ZELDhDQUE4QyxFQUFFLG1CQUFtQjt3QkFDbkUsa0NBQWtDLEVBQUUsbUJBQW1CO3dCQUN2RCw4Q0FBOEMsRUFBRSxtQkFBbUI7d0JBQ25FLGlDQUFpQyxFQUFFLFVBQVU7d0JBQzdDLG9DQUFvQyxFQUFFLFFBQVE7d0JBQzlDLGNBQWMsRUFBRSxPQUFPO3dCQUN2QixTQUFTLEVBQUUsYUFBYTtxQkFDekI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGdCQUFnQixDQUFDO29CQUN6QyxVQUFVLEVBQUUsSUFBSTtpQkFDakI7OEJBRVUsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNhLFNBQVM7c0JBQTNCLE1BQU07Z0JBQ1ksU0FBUztzQkFBM0IsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovXG4vKipcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9ORy1aT1JSTy9uZy16b3Jyby1hbnRkL2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqL1xuXG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBUZW1wbGF0ZVJlZixcbiAgVmlld0VuY2Fwc3VsYXRpb25cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgTnpQYWdpbmF0aW9uSTE4bkludGVyZmFjZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvaTE4bic7XG5pbXBvcnQgeyBOekljb25Nb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL2ljb24nO1xuaW1wb3J0IHsgUGFnaW5hdGlvbkl0ZW1SZW5kZXJDb250ZXh0LCBQYWdpbmF0aW9uSXRlbVR5cGUgfSBmcm9tICcuL3BhZ2luYXRpb24udHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaVtuei1wYWdpbmF0aW9uLWl0ZW1dJyxcbiAgcHJlc2VydmVXaGl0ZXNwYWNlczogZmFsc2UsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZSAjcmVuZGVySXRlbVRlbXBsYXRlIGxldC10eXBlIGxldC1wYWdlPVwicGFnZVwiPlxuICAgICAgQHN3aXRjaCAodHlwZSkge1xuICAgICAgICBAY2FzZSAoJ3BhZ2UnKSB7XG4gICAgICAgICAgPGE+e3sgcGFnZSB9fTwvYT5cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoJ3ByZXYnKSB7XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW2F0dHIudGl0bGVdPVwibG9jYWxlLnByZXZfcGFnZVwiIGNsYXNzPVwiYW50LXBhZ2luYXRpb24taXRlbS1saW5rXCI+XG4gICAgICAgICAgICBAaWYgKGRpcmVjdGlvbiA9PT0gJ3J0bCcpIHtcbiAgICAgICAgICAgICAgPHNwYW4gbnotaWNvbiBuelR5cGU9XCJyaWdodFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8c3BhbiBuei1pY29uIG56VHlwZT1cImxlZnRcIj48L3NwYW4+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKCduZXh0Jykge1xuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFthdHRyLnRpdGxlXT1cImxvY2FsZS5uZXh0X3BhZ2VcIiBjbGFzcz1cImFudC1wYWdpbmF0aW9uLWl0ZW0tbGlua1wiPlxuICAgICAgICAgICAgQGlmIChkaXJlY3Rpb24gPT09ICdydGwnKSB7XG4gICAgICAgICAgICAgIDxzcGFuIG56LWljb24gbnpUeXBlPVwibGVmdFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICA8c3BhbiBuei1pY29uIG56VHlwZT1cInJpZ2h0XCI+PC9zcGFuPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICB9XG4gICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgICA8YSBjbGFzcz1cImFudC1wYWdpbmF0aW9uLWl0ZW0tbGlua1wiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFudC1wYWdpbmF0aW9uLWl0ZW0tY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgIEBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICAgICAgICBAY2FzZSAoJ3ByZXZfNScpIHtcbiAgICAgICAgICAgICAgICAgIEBpZiAoZGlyZWN0aW9uID09PSAncnRsJykge1xuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgIG56LWljb25cbiAgICAgICAgICAgICAgICAgICAgICBuelR5cGU9XCJkb3VibGUtcmlnaHRcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYW50LXBhZ2luYXRpb24taXRlbS1saW5rLWljb25cIlxuICAgICAgICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIG56LWljb24gbnpUeXBlPVwiZG91YmxlLWxlZnRcIiBjbGFzcz1cImFudC1wYWdpbmF0aW9uLWl0ZW0tbGluay1pY29uXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAY2FzZSAoJ25leHRfNScpIHtcbiAgICAgICAgICAgICAgICAgIEBpZiAoZGlyZWN0aW9uID09PSAncnRsJykge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBuei1pY29uIG56VHlwZT1cImRvdWJsZS1sZWZ0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJhbnQtcGFnaW5hdGlvbi1pdGVtLWxpbmstaWNvblwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICA8c3BhbiBuei1pY29uIG56VHlwZT1cImRvdWJsZS1yaWdodFwiIGNsYXNzPVwiYW50LXBhZ2luYXRpb24taXRlbS1saW5rLWljb25cIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYW50LXBhZ2luYXRpb24taXRlbS1lbGxpcHNpc1wiPuKAouKAouKAojwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvYT5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPG5nLXRlbXBsYXRlXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtUmVuZGVyIHx8IHJlbmRlckl0ZW1UZW1wbGF0ZVwiXG4gICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IHR5cGUsIHBhZ2U6IGluZGV4IH1cIlxuICAgIC8+XG4gIGAsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLmFudC1wYWdpbmF0aW9uLXByZXZdJzogYHR5cGUgPT09ICdwcmV2J2AsXG4gICAgJ1tjbGFzcy5hbnQtcGFnaW5hdGlvbi1uZXh0XSc6IGB0eXBlID09PSAnbmV4dCdgLFxuICAgICdbY2xhc3MuYW50LXBhZ2luYXRpb24taXRlbV0nOiBgdHlwZSA9PT0gJ3BhZ2UnYCxcbiAgICAnW2NsYXNzLmFudC1wYWdpbmF0aW9uLWp1bXAtcHJldl0nOiBgdHlwZSA9PT0gJ3ByZXZfNSdgLFxuICAgICdbY2xhc3MuYW50LXBhZ2luYXRpb24tanVtcC1wcmV2LWN1c3RvbS1pY29uXSc6IGB0eXBlID09PSAncHJldl81J2AsXG4gICAgJ1tjbGFzcy5hbnQtcGFnaW5hdGlvbi1qdW1wLW5leHRdJzogYHR5cGUgPT09ICduZXh0XzUnYCxcbiAgICAnW2NsYXNzLmFudC1wYWdpbmF0aW9uLWp1bXAtbmV4dC1jdXN0b20taWNvbl0nOiBgdHlwZSA9PT0gJ25leHRfNSdgLFxuICAgICdbY2xhc3MuYW50LXBhZ2luYXRpb24tZGlzYWJsZWRdJzogJ2Rpc2FibGVkJyxcbiAgICAnW2NsYXNzLmFudC1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlXSc6ICdhY3RpdmUnLFxuICAgICdbYXR0ci50aXRsZV0nOiAndGl0bGUnLFxuICAgICcoY2xpY2spJzogJ2NsaWNrSXRlbSgpJ1xuICB9LFxuICBpbXBvcnRzOiBbTnpJY29uTW9kdWxlLCBOZ1RlbXBsYXRlT3V0bGV0XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZVxufSlcbmV4cG9ydCBjbGFzcyBOelBhZ2luYXRpb25JdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgYWN0aXZlID0gZmFsc2U7XG4gIEBJbnB1dCgpIGxvY2FsZSE6IE56UGFnaW5hdGlvbkkxOG5JbnRlcmZhY2U7XG4gIEBJbnB1dCgpIGluZGV4OiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkID0gbnVsbDtcbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcbiAgQElucHV0KCkgZGlyZWN0aW9uID0gJ2x0cic7XG4gIEBJbnB1dCgpIHR5cGU6IFBhZ2luYXRpb25JdGVtVHlwZSB8IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQgPSBudWxsO1xuICBASW5wdXQoKSBpdGVtUmVuZGVyOiBUZW1wbGF0ZVJlZjxQYWdpbmF0aW9uSXRlbVJlbmRlckNvbnRleHQ+IHwgbnVsbCA9IG51bGw7XG4gIEBPdXRwdXQoKSByZWFkb25seSBkaWZmSW5kZXggPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgQE91dHB1dCgpIHJlYWRvbmx5IGdvdG9JbmRleCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICB0aXRsZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgY2xpY2tJdGVtKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ3BhZ2UnKSB7XG4gICAgICAgIHRoaXMuZ290b0luZGV4LmVtaXQodGhpcy5pbmRleCEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5kaWZmSW5kZXguZW1pdChcbiAgICAgICAgICAoXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5leHQ6IDEsXG4gICAgICAgICAgICAgIHByZXY6IC0xLFxuICAgICAgICAgICAgICBwcmV2XzU6IC01LFxuICAgICAgICAgICAgICBuZXh0XzU6IDVcbiAgICAgICAgICAgIH0gYXMgTnpTYWZlQW55XG4gICAgICAgICAgKVt0aGlzLnR5cGUhXVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zdCB7IGxvY2FsZSwgaW5kZXgsIHR5cGUgfSA9IGNoYW5nZXM7XG4gICAgaWYgKGxvY2FsZSB8fCBpbmRleCB8fCB0eXBlKSB7XG4gICAgICB0aGlzLnRpdGxlID0gKFxuICAgICAgICB7XG4gICAgICAgICAgcGFnZTogYCR7dGhpcy5pbmRleH1gLFxuICAgICAgICAgIG5leHQ6IHRoaXMubG9jYWxlPy5uZXh0X3BhZ2UsXG4gICAgICAgICAgcHJldjogdGhpcy5sb2NhbGU/LnByZXZfcGFnZSxcbiAgICAgICAgICBwcmV2XzU6IHRoaXMubG9jYWxlPy5wcmV2XzUsXG4gICAgICAgICAgbmV4dF81OiB0aGlzLmxvY2FsZT8ubmV4dF81XG4gICAgICAgIH0gYXMgTnpTYWZlQW55XG4gICAgICApW3RoaXMudHlwZSFdO1xuICAgIH1cbiAgfVxufVxuIl19