@kirbydesign/designsystem 7.3.0 → 7.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/avatar/avatar.component.mjs +12 -3
- package/esm2020/lib/components/button/button.component.mjs +2 -2
- package/esm2020/lib/components/charts/chart-config/chart-bar-config/chart-bar-config.mjs +43 -0
- package/esm2020/lib/components/charts/chart-config/chart-base-config.mjs +4 -0
- package/esm2020/lib/components/charts/chart-config/chart-stock-config/chart-stock-config.mjs +155 -0
- package/esm2020/lib/components/charts/chart-config/chart-stock-config/data-label-position/data-label-position.mjs +49 -0
- package/esm2020/lib/components/charts/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.mjs +37 -0
- package/esm2020/lib/components/charts/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.model.mjs +2 -0
- package/esm2020/lib/components/charts/chart-config/index.mjs +3 -0
- package/esm2020/lib/components/charts/shared/base-chart/base-chart.component.mjs +4 -1
- package/esm2020/lib/components/charts/shared/chart-js-service/chart-js.service.mjs +4 -1
- package/esm2020/lib/components/grid/grid.component.mjs +3 -1
- package/esm2020/lib/components/icon/kirby-icon-settings.mjs +2 -1
- package/esm2020/lib/components/list/list-item/list-item.component.mjs +2 -2
- package/esm2020/lib/components/list/list.component.mjs +12 -7
- package/esm2020/lib/components/page/page.component.mjs +47 -28
- package/esm2020/lib/components/slide-button/slide-button.component.mjs +2 -2
- package/esm2020/lib/components/tabs/tabs.component.mjs +4 -1
- package/esm2020/lib/components/tabs/tabs.service.mjs +5 -2
- package/esm2020/lib/index.mjs +3 -1
- package/esm2020/lib/kirby-experimental.module.mjs +2 -1
- package/esm2020/testing-base/lib/components/mock.avatar.component.mjs +4 -2
- package/fesm2015/kirbydesign-designsystem-testing-base.mjs +3 -1
- package/fesm2015/kirbydesign-designsystem-testing-base.mjs.map +1 -1
- package/fesm2015/kirbydesign-designsystem.mjs +396 -70
- package/fesm2015/kirbydesign-designsystem.mjs.map +1 -1
- package/fesm2020/kirbydesign-designsystem-testing-base.mjs +3 -1
- package/fesm2020/kirbydesign-designsystem-testing-base.mjs.map +1 -1
- package/fesm2020/kirbydesign-designsystem.mjs +395 -69
- package/fesm2020/kirbydesign-designsystem.mjs.map +1 -1
- package/icons/svg/add-bank.svg +2 -0
- package/lib/components/avatar/avatar.component.d.ts +5 -2
- package/lib/components/charts/chart-config/chart-bar-config/chart-bar-config.d.ts +9 -0
- package/lib/components/charts/chart-config/chart-base-config.d.ts +6 -0
- package/lib/components/charts/chart-config/chart-stock-config/chart-stock-config.d.ts +20 -0
- package/lib/components/charts/chart-config/chart-stock-config/data-label-position/data-label-position.d.ts +4 -0
- package/lib/components/charts/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.d.ts +2 -0
- package/lib/components/charts/chart-config/chart-stock-config/vertical-line-plugin/vertical-line-plugin.model.d.ts +12 -0
- package/lib/components/charts/chart-config/index.d.ts +2 -0
- package/lib/components/charts/shared/base-chart/base-chart.component.d.ts +1 -0
- package/lib/components/charts/shared/chart-js-service/chart-js.service.d.ts +1 -0
- package/lib/components/list/list.component.d.ts +1 -1
- package/lib/components/page/page.component.d.ts +11 -11
- package/lib/components/tabs/tabs.component.d.ts +3 -2
- package/lib/components/tabs/tabs.service.d.ts +1 -0
- package/lib/index.d.ts +2 -0
- package/lib/kirby-experimental.module.d.ts +1 -0
- package/package.json +2 -3
- package/scss/_global-styles.scss +1 -1
- package/scss/_utils.scss +1 -1
- package/scss/base/_functions.scss +1 -1
- package/scss/base/_html-list.scss +1 -1
- package/scss/base/_include-media.scss +1 -0
- package/scss/base/_ionic.scss +1 -1
- package/scss/base/_line-clamp.scss +1 -1
- package/scss/base/_link.scss +1 -1
- package/scss/base/_list.scss +1 -1
- package/scss/base/_typography.scss +1 -1
- package/scss/base/_variables.scss +1 -1
- package/scss/components/_grid.scss +1 -0
- package/scss/interaction-state/_active.scss +1 -1
- package/scss/interaction-state/_focus.scss +1 -1
- package/scss/interaction-state/_hover.scss +1 -1
- package/scss/interaction-state/_index.scss +1 -1
- package/scss/interaction-state/_interaction-state.utilities.scss +1 -1
- package/scss/interaction-state/_layer.scss +1 -1
- package/scss/opt-out/_index.scss +1 -1
- package/scss/opt-out/_link.scss +1 -1
- package/scss/print/_index.scss +1 -1
- package/scss/print/components/_index.scss +1 -1
- package/scss/print/components/_kirby-app.scss +1 -1
- package/scss/print/components/_kirby-fab-sheet.scss +1 -1
- package/scss/print/components/_kirby-list.scss +1 -1
- package/scss/print/components/_kirby-modal-wrapper.scss +1 -1
- package/scss/print/components/_kirby-page.scss +1 -1
- package/scss/print/components/_kirby-router-outlet.scss +1 -1
- package/scss/print/components/_kirby-tab-bar.scss +1 -1
- package/scss/print/elements/_button.scss +1 -1
- package/scss/print/elements/_index.scss +1 -1
- package/scss/print/elements/_page.scss +1 -1
- package/scss/print/elements/_preformatted-text.scss +1 -1
- package/scss/print/generic/_colors.scss +1 -1
- package/scss/print/generic/_index.scss +1 -1
- package/scss/print/generic/_page.scss +1 -1
- package/scss/print/generic/_reset.scss +1 -1
- package/scss/print/generic/_typography.scss +1 -1
- package/scss/themes/_colors.scss +1 -1
- package/testing-base/lib/components/mock.avatar.component.d.ts +2 -1
|
@@ -113,21 +113,26 @@ export class ListComponent {
|
|
|
113
113
|
args.event.stopPropagation();
|
|
114
114
|
}
|
|
115
115
|
_getBoundaryClass(index, section) {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
116
|
+
if (index === 0) {
|
|
117
|
+
if (this.headerTemplate)
|
|
118
|
+
return null;
|
|
119
|
+
else
|
|
120
|
+
return section.length === 1 ? ['first', 'last'] : 'first';
|
|
121
|
+
}
|
|
122
|
+
if (index === section.length - 1) {
|
|
120
123
|
return this.footerTemplate ? null : 'last';
|
|
124
|
+
}
|
|
125
|
+
return null;
|
|
121
126
|
}
|
|
122
127
|
standAloneClass() {
|
|
123
128
|
return this._isStandAloneEnabled ? `stand-alone-bottom-margin-${this.standAloneSpacing}` : '';
|
|
124
129
|
}
|
|
125
130
|
}
|
|
126
131
|
/** @nocollapse */ ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ListComponent, deps: [{ token: i1.ListHelper }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
127
|
-
/** @nocollapse */ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ListComponent, selector: "kirby-list", inputs: { items: "items", getItemColor: "getItemColor", getSectionName: "getSectionName", trackBy: "trackBy", getStandAloneByProperty: "getStandAloneByProperty", standAloneSpacing: "standAloneSpacing", noMoreItemsText: "noMoreItemsText", showDivider: "showDivider", markSelectedRow: "markSelectedRow", shape: "shape", hasItemSpacing: "hasItemSpacing", isLoadOnDemandEnabled: "isLoadOnDemandEnabled", swipeActions: "swipeActions", disableSelectionHighlight: "disableSelectionHighlight" }, outputs: { loadOnDemand: "loadOnDemand", itemSelect: "itemSelect" }, host: { properties: { "class.shape-rounded": "this.isShapeRounded", "class.shape-none": "this.isShapeNone", "class.item-spacing": "this.hasItemSpacing", "class.has-sections": "this._isSectionsEnabled", "class.has-stand-alone": "this._isStandAloneEnabled" } }, providers: [ListHelper], queries: [{ propertyName: "headerTemplate", first: true, predicate: ListHeaderDirective, descendants: true, read: TemplateRef }, { propertyName: "sectionHeaderTemplate", first: true, predicate: ListSectionHeaderDirective, descendants: true, read: TemplateRef }, { propertyName: "footerTemplate", first: true, predicate: ListFooterDirective, descendants: true, read: TemplateRef }, { propertyName: "itemTemplate", first: true, predicate: ListItemTemplateDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "kirbyItems", predicate: ItemComponent }], viewQueries: [{ propertyName: "list", first: true, predicate: ["list"], descendants: true, static: true }, { propertyName: "scrollDirective", first: true, predicate: InfiniteScrollDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ion-list\n #list\n kirbyInfiniteScroll\n (scrollEnd)=\"_onLoadOnDemand()\"\n [disabled]=\"!isLoadOnDemandEnabled\"\n class=\"list\"\n [class.has-header]=\"headerTemplate\"\n [class.has-footer]=\"footerTemplate\"\n [class.has-divider]=\"showDivider\"\n>\n <ion-list-header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </ion-list-header>\n\n <ng-container\n *ngTemplateOutlet=\"\n _isSectionsEnabled || _isStandAloneEnabled ? groupedListTemplate : itemsTemplate;\n context: { $implicit: items }\n \"\n ></ng-container>\n\n <div *ngIf=\"footerTemplate\" class=\"footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n</ion-list>\n\n<p *ngIf=\"!isLoadOnDemandEnabled && noMoreItemsText\" class=\"no-more-items\">\n {{ noMoreItemsText }}\n</p>\n<div *ngIf=\"_isLoading\" class=\"loading\">\n <kirby-spinner></kirby-spinner>\n</div>\n\n<ng-template #groupedListTemplate>\n <ion-item-group\n *ngFor=\"let section of _groupedItems; trackBy: sectionTrackBy\"\n [ngClass]=\"standAloneClass()\"\n >\n <ion-item-divider *ngIf=\"_isSectionsEnabled\">\n <ng-container\n *ngTemplateOutlet=\"sectionHeaderTemplate; context: { $implicit: section.name }\"\n ></ng-container>\n </ion-item-divider>\n\n <ng-container *ngIf=\"_isSectionsEnabled && _isStandAloneEnabled; else groupedFlatList\">\n <div class=\"list-items\" [ngClass]=\"standAloneClass()\" *ngFor=\"let list of section.lists\">\n <ng-container\n *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: list }\"\n ></ng-container>\n </div>\n </ng-container>\n\n <ng-template #groupedFlatList>\n <div class=\"list-items\" [ngClass]=\"standAloneClass()\">\n <ng-container\n *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: section.items }\"\n ></ng-container>\n </div>\n </ng-template>\n </ion-item-group>\n</ng-template>\n\n<ng-template #itemsTemplate let-items>\n <kirby-list-item\n *ngFor=\"let item of items; let i = index; trackBy: trackBy || defaultTrackBy\"\n [item]=\"item\"\n [itemTemplate]=\"itemTemplate\"\n [swipeActions]=\"swipeActions\"\n [boundaryClass]=\"_getBoundaryClass(i, items)\"\n [isSelectable]=\"_isSelectable\"\n [getItemColor]=\"getItemColor\"\n [isSelected]=\"_isSelectable && item === _selectedItem\"\n (itemSelect)=\"onItemSelect($event)\"\n (swipeActionSelect)=\"onSwipeActionSelect($event)\"\n [class.is-single]=\"items.length === 1\"\n >\n </kirby-list-item>\n</ng-template>\n", styles: ["ion-item-option.primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}ion-item-option.secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}ion-item-option.tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}ion-item-option.success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}ion-item-option.warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}ion-item-option.danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}ion-item-option.light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}ion-item-option.medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}ion-item-option.dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}:host{display:block}.list{box-shadow:0 5px 10px -10px #1c1c1c4d,0 0 5px #1c1c1c14;background:transparent;contain:inherit;padding:0}ion-list-header{background-color:var(--kirby-white);border-bottom:1px solid var(--kirby-background-color);padding:0;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;font-size:inherit;min-height:0;overflow:inherit}ion-item{--background: var(--kirby-white);--background-activated: var(--kirby-white-shade);--background-hover: var(--kirby-background-color);--background-focused: var(--kirby-background-color);--inner-border-width: 0;--ion-safe-area-right: 0;--min-height: 56px;--padding-bottom: 8px;--padding-end: 16px;--padding-start: 16px;--padding-top: 8px;display:flex;font-size:14px;min-height:56px;overflow:visible;width:100%}ion-item-sliding.item-sliding-active-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translate(0)}ion-item-sliding.light{--kirby-item-background: var(--kirby-light);--kirby-item-background-activated: var(--kirby-light-shade);--kirby-item-background-focused: var(--kirby-light-shade);--kirby-item-background-hover: var(--kirby-light-tint)}ion-item-sliding.light ion-item{--background: var(--kirby-light);--color: var(--kirby-light-contrast);--background-activated: var(--kirby-light-shade);--background-focused: var(--kirby-light-shade);--background-hover: var(--kirby-light-tint)}ion-item-group{margin-bottom:24px}ion-item-group:last-of-type{margin-bottom:0}ion-item-divider{--inner-padding-end: 0;--color: unset;background-color:transparent;border-color:transparent;min-height:0;padding:0 16px 8px;font-weight:inherit}.footer{background-color:var(--kirby-white);border-top:1px solid var(--kirby-background-color);display:flex;align-items:center;justify-content:space-between;width:100%}.no-more-items,.loading{width:100%;padding:24px 0;text-align:center}.swipe-action{display:flex;color:var(--kirby-black);background-color:transparent}.swipe-action ion-item-option{height:100%;display:inline-block;text-align:center}.swipe-action .item-content{display:inline-grid;min-width:70px;flex-direction:column}.swipe-action .item-content ion-label{--background: unset;--color: unset}ion-item-options[side=end]{border-bottom-width:0}:host-context(.has-sections) .list,:host-context(.has-stand-alone) .list{box-shadow:none}:host-context(.has-sections) .list-items,:host-context(.has-stand-alone) .list-items{box-shadow:0 5px 10px -10px #1c1c1c4d,0 0 5px #1c1c1c14;border-radius:16px}:host-context(.has-sections) .footer,:host-context(.has-stand-alone) .footer{background-color:transparent;border-top:none}:host-context(.has-sections) ion-list-header,:host-context(.has-stand-alone) ion-list-header{background-color:transparent;border-bottom:none}:host-context(.shape-rounded) .list,:host-context(.shape-rounded) .list-items{border-radius:16px}:host-context(.shape-rounded) ion-item.first,:host-context(.shape-rounded) ion-item-sliding.first,:host-context(.shape-rounded) ion-list-header{border-top-left-radius:16px;border-top-right-radius:16px;-webkit-mask-image:radial-gradient(white,black);mask-image:radial-gradient(white,black)}:host-context(.shape-rounded) ion-item-sliding>ion-item,:host-context(.shape-rounded):not(.has-sections) .has-header ion-item,:host-context(.shape-rounded):not(.has-sections) .has-header ion-item-sliding{border-top-left-radius:0;border-top-right-radius:0}:host-context(.shape-rounded) ion-item.last,:host-context(.shape-rounded) ion-item-sliding.last,:host-context(.shape-rounded) .footer{border-bottom-left-radius:16px;border-bottom-right-radius:16px;-webkit-mask-image:radial-gradient(white,black);mask-image:radial-gradient(white,black)}:host-context(.shape-rounded) ion-item-sliding>ion-item,:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item,:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item-sliding{border-bottom-left-radius:0;border-bottom-right-radius:0}:host-context(.shape-none) .list,:host-context(.shape-none) .list-items{box-shadow:none;border-radius:unset}:host-context(.shape-none) .list ion-item,:host-context(.shape-none) .list ion-item-sliding{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;--inner-padding-start: 0;--inner-padding-end: 0;--inner-padding-top: 0;--inner-padding-bottom: 0;--background: none;--background-activated: none;--background-hover: none;--background-focused: none;overflow:visible}:host-context(.item-spacing) .list kirby-list-item{margin-bottom:16px}:host-context(.item-spacing) .list kirby-list-item>ion-item,:host-context(.item-spacing) .list kirby-list-item:last-child{margin-bottom:0}.stand-alone-bottom-margin-xxxl{margin-bottom:56px}.stand-alone-bottom-margin-xxl{margin-bottom:48px}.stand-alone-bottom-margin-xl{margin-bottom:40px}.stand-alone-bottom-margin-l{margin-bottom:32px}.stand-alone-bottom-margin-m{margin-bottom:24px}.stand-alone-bottom-margin-s{margin-bottom:16px}.stand-alone-bottom-margin-xs{margin-bottom:12px}.stand-alone-bottom-margin-xxs{margin-bottom:8px}.stand-alone-bottom-margin-xxxs{margin-bottom:4px}.stand-alone-bottom-margin-xxxxs{margin-bottom:2px}\n"], components: [{ type: i2.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { type: i2.IonListHeader, selector: "ion-list-header", inputs: ["color", "lines", "mode"] }, { type: i3.SpinnerComponent, selector: "kirby-spinner" }, { type: i2.IonItemGroup, selector: "ion-item-group" }, { type: i2.IonItemDivider, selector: "ion-item-divider", inputs: ["color", "mode", "sticky"] }, { type: i4.ListItemComponent, selector: "kirby-list-item", inputs: ["item", "boundaryClass", "swipeActions", "itemTemplate", "isSelected", "isSelectable", "getItemColor"], outputs: ["itemSelect", "swipeActionSelect"] }], directives: [{ type: i5.InfiniteScrollDirective, selector: "[kirbyInfiniteScroll]", inputs: ["disabled"], outputs: ["scrollEnd"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
132
|
+
/** @nocollapse */ ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.9", type: ListComponent, selector: "kirby-list", inputs: { items: "items", getItemColor: "getItemColor", getSectionName: "getSectionName", trackBy: "trackBy", getStandAloneByProperty: "getStandAloneByProperty", standAloneSpacing: "standAloneSpacing", noMoreItemsText: "noMoreItemsText", showDivider: "showDivider", markSelectedRow: "markSelectedRow", shape: "shape", hasItemSpacing: "hasItemSpacing", isLoadOnDemandEnabled: "isLoadOnDemandEnabled", swipeActions: "swipeActions", disableSelectionHighlight: "disableSelectionHighlight" }, outputs: { loadOnDemand: "loadOnDemand", itemSelect: "itemSelect" }, host: { properties: { "class.shape-rounded": "this.isShapeRounded", "class.shape-none": "this.isShapeNone", "class.item-spacing": "this.hasItemSpacing", "class.has-sections": "this._isSectionsEnabled", "class.has-stand-alone": "this._isStandAloneEnabled" } }, providers: [ListHelper], queries: [{ propertyName: "headerTemplate", first: true, predicate: ListHeaderDirective, descendants: true, read: TemplateRef }, { propertyName: "sectionHeaderTemplate", first: true, predicate: ListSectionHeaderDirective, descendants: true, read: TemplateRef }, { propertyName: "footerTemplate", first: true, predicate: ListFooterDirective, descendants: true, read: TemplateRef }, { propertyName: "itemTemplate", first: true, predicate: ListItemTemplateDirective, descendants: true, read: TemplateRef, static: true }, { propertyName: "kirbyItems", predicate: ItemComponent }], viewQueries: [{ propertyName: "list", first: true, predicate: ["list"], descendants: true, static: true }, { propertyName: "scrollDirective", first: true, predicate: InfiniteScrollDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ion-list\n #list\n kirbyInfiniteScroll\n (scrollEnd)=\"_onLoadOnDemand()\"\n [disabled]=\"!isLoadOnDemandEnabled\"\n class=\"list\"\n [class.has-header]=\"headerTemplate\"\n [class.has-footer]=\"footerTemplate\"\n [class.has-divider]=\"showDivider\"\n>\n <ion-list-header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </ion-list-header>\n\n <ng-container\n *ngTemplateOutlet=\"\n _isSectionsEnabled || _isStandAloneEnabled ? groupedListTemplate : itemsTemplate;\n context: { $implicit: items }\n \"\n ></ng-container>\n\n <div *ngIf=\"footerTemplate\" class=\"footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n</ion-list>\n\n<p *ngIf=\"!isLoadOnDemandEnabled && noMoreItemsText\" class=\"no-more-items\">\n {{ noMoreItemsText }}\n</p>\n<div *ngIf=\"_isLoading\" class=\"loading\">\n <kirby-spinner></kirby-spinner>\n</div>\n\n<ng-template #groupedListTemplate>\n <ion-item-group\n *ngFor=\"let section of _groupedItems; trackBy: sectionTrackBy\"\n [ngClass]=\"standAloneClass()\"\n >\n <ion-item-divider *ngIf=\"_isSectionsEnabled\">\n <ng-container\n *ngTemplateOutlet=\"sectionHeaderTemplate; context: { $implicit: section.name }\"\n ></ng-container>\n </ion-item-divider>\n\n <ng-container *ngIf=\"_isSectionsEnabled && _isStandAloneEnabled; else groupedFlatList\">\n <div class=\"list-items\" [ngClass]=\"standAloneClass()\" *ngFor=\"let list of section.lists\">\n <ng-container\n *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: list }\"\n ></ng-container>\n </div>\n </ng-container>\n\n <ng-template #groupedFlatList>\n <div class=\"list-items\" [ngClass]=\"standAloneClass()\">\n <ng-container\n *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: section.items }\"\n ></ng-container>\n </div>\n </ng-template>\n </ion-item-group>\n</ng-template>\n\n<ng-template #itemsTemplate let-items>\n <kirby-list-item\n *ngFor=\"let item of items; let i = index; trackBy: trackBy || defaultTrackBy\"\n [item]=\"item\"\n [itemTemplate]=\"itemTemplate\"\n [swipeActions]=\"swipeActions\"\n [boundaryClass]=\"_getBoundaryClass(i, items)\"\n [isSelectable]=\"_isSelectable\"\n [getItemColor]=\"getItemColor\"\n [isSelected]=\"_isSelectable && item === _selectedItem\"\n (itemSelect)=\"onItemSelect($event)\"\n (swipeActionSelect)=\"onSwipeActionSelect($event)\"\n [class.is-single]=\"items.length === 1\"\n >\n </kirby-list-item>\n</ng-template>\n", styles: ["ion-item-option.primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}ion-item-option.secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}ion-item-option.tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}ion-item-option.success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}ion-item-option.warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}ion-item-option.danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}ion-item-option.light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}ion-item-option.medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}ion-item-option.dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}:host{display:block}.list{box-shadow:0 5px 10px -10px #1c1c1c4d,0 0 5px #1c1c1c14;background:transparent;contain:inherit;padding:0}ion-list-header{background-color:var(--kirby-white);border-bottom:1px solid var(--kirby-background-color);padding:0;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;font-size:inherit;min-height:0;overflow:inherit}ion-item{--background: var(--kirby-white);--background-activated: var(--kirby-white-shade);--background-hover: var(--kirby-background-color);--background-focused: var(--kirby-background-color);--inner-border-width: 0;--ion-safe-area-right: 0;--min-height: 56px;--padding-bottom: 8px;--padding-end: 16px;--padding-start: 16px;--padding-top: 8px;display:flex;font-size:14px;min-height:56px;overflow:visible;width:100%}ion-item-sliding.item-sliding-active-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translate(0)}ion-item-sliding.light{--kirby-item-background: var(--kirby-light);--kirby-item-background-activated: var(--kirby-light-shade);--kirby-item-background-focused: var(--kirby-light-shade);--kirby-item-background-hover: var(--kirby-light-tint)}ion-item-sliding.light ion-item{--background: var(--kirby-light);--color: var(--kirby-light-contrast);--background-activated: var(--kirby-light-shade);--background-focused: var(--kirby-light-shade);--background-hover: var(--kirby-light-tint)}ion-item-group{margin-bottom:24px}ion-item-group:last-of-type{margin-bottom:0}ion-item-divider{--inner-padding-end: 0;--color: unset;background-color:transparent;border-color:transparent;min-height:0;padding:0 16px 8px;font-weight:inherit}.footer{background-color:var(--kirby-white);border-top:1px solid var(--kirby-background-color);display:flex;align-items:center;justify-content:space-between;width:100%}.no-more-items,.loading{width:100%;padding:24px 0;text-align:center}.swipe-action{display:flex;color:var(--kirby-black);background-color:transparent}.swipe-action ion-item-option{height:100%;display:inline-block;text-align:center}.swipe-action .item-content{display:inline-grid;min-width:70px;flex-direction:column}.swipe-action .item-content ion-label{--background: unset;--color: unset}ion-item-options[side=end]{border-bottom-width:0}:host-context(.has-sections) .list,:host-context(.has-stand-alone) .list{box-shadow:none}:host-context(.has-sections) .list-items,:host-context(.has-stand-alone) .list-items{box-shadow:0 5px 10px -10px #1c1c1c4d,0 0 5px #1c1c1c14;border-radius:16px}:host-context(.has-sections) .footer,:host-context(.has-stand-alone) .footer{background-color:transparent;border-top:none}:host-context(.has-sections) ion-list-header,:host-context(.has-stand-alone) ion-list-header{background-color:transparent;border-bottom:none}:host-context(.shape-rounded) .list,:host-context(.shape-rounded) .list-items{border-radius:16px}:host-context(.shape-rounded) ion-item.first,:host-context(.shape-rounded) ion-item-sliding.first,:host-context(.shape-rounded) ion-list-header{border-top-left-radius:16px;border-top-right-radius:16px;-webkit-mask-image:radial-gradient(white,black);mask-image:radial-gradient(white,black)}:host-context(.shape-rounded) ion-item-sliding>ion-item,:host-context(.shape-rounded):not(.has-sections) .has-header ion-item,:host-context(.shape-rounded):not(.has-sections) .has-header ion-item-sliding{border-top-left-radius:0;border-top-right-radius:0}:host-context(.shape-rounded) ion-item.last,:host-context(.shape-rounded) ion-item-sliding.last,:host-context(.shape-rounded) .footer{border-bottom-left-radius:16px;border-bottom-right-radius:16px;-webkit-mask-image:radial-gradient(white,black);mask-image:radial-gradient(white,black)}:host-context(.shape-rounded) ion-item-sliding>ion-item,:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item,:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item-sliding{border-bottom-left-radius:0;border-bottom-right-radius:0}:host-context(.shape-none) .list,:host-context(.shape-none) .list-items{box-shadow:none;border-radius:unset}:host-context(.shape-none) .list ion-item,:host-context(.shape-none) .list ion-item-sliding{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;--inner-padding-start: 0;--inner-padding-end: 0;--inner-padding-top: 0;--inner-padding-bottom: 0;--background: none;--background-activated: none;--background-hover: none;--background-focused: none;overflow:visible}:host-context(.item-spacing) .list kirby-list-item{margin-bottom:16px}:host-context(.item-spacing) .list kirby-list-item>ion-item,:host-context(.item-spacing) .list kirby-list-item:last-child{margin-bottom:0}.stand-alone-bottom-margin-xxxxl{margin-bottom:64px}.stand-alone-bottom-margin-xxxl{margin-bottom:56px}.stand-alone-bottom-margin-xxl{margin-bottom:48px}.stand-alone-bottom-margin-xl{margin-bottom:40px}.stand-alone-bottom-margin-l{margin-bottom:32px}.stand-alone-bottom-margin-m{margin-bottom:24px}.stand-alone-bottom-margin-s{margin-bottom:16px}.stand-alone-bottom-margin-xs{margin-bottom:12px}.stand-alone-bottom-margin-xxs{margin-bottom:8px}.stand-alone-bottom-margin-xxxs{margin-bottom:4px}.stand-alone-bottom-margin-xxxxs{margin-bottom:2px}\n"], components: [{ type: i2.IonList, selector: "ion-list", inputs: ["inset", "lines", "mode"] }, { type: i2.IonListHeader, selector: "ion-list-header", inputs: ["color", "lines", "mode"] }, { type: i3.SpinnerComponent, selector: "kirby-spinner" }, { type: i2.IonItemGroup, selector: "ion-item-group" }, { type: i2.IonItemDivider, selector: "ion-item-divider", inputs: ["color", "mode", "sticky"] }, { type: i4.ListItemComponent, selector: "kirby-list-item", inputs: ["item", "boundaryClass", "swipeActions", "itemTemplate", "isSelected", "isSelectable", "getItemColor"], outputs: ["itemSelect", "swipeActionSelect"] }], directives: [{ type: i5.InfiniteScrollDirective, selector: "[kirbyInfiniteScroll]", inputs: ["disabled"], outputs: ["scrollEnd"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
128
133
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImport: i0, type: ListComponent, decorators: [{
|
|
129
134
|
type: Component,
|
|
130
|
-
args: [{ selector: 'kirby-list', providers: [ListHelper], template: "<ion-list\n #list\n kirbyInfiniteScroll\n (scrollEnd)=\"_onLoadOnDemand()\"\n [disabled]=\"!isLoadOnDemandEnabled\"\n class=\"list\"\n [class.has-header]=\"headerTemplate\"\n [class.has-footer]=\"footerTemplate\"\n [class.has-divider]=\"showDivider\"\n>\n <ion-list-header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </ion-list-header>\n\n <ng-container\n *ngTemplateOutlet=\"\n _isSectionsEnabled || _isStandAloneEnabled ? groupedListTemplate : itemsTemplate;\n context: { $implicit: items }\n \"\n ></ng-container>\n\n <div *ngIf=\"footerTemplate\" class=\"footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n</ion-list>\n\n<p *ngIf=\"!isLoadOnDemandEnabled && noMoreItemsText\" class=\"no-more-items\">\n {{ noMoreItemsText }}\n</p>\n<div *ngIf=\"_isLoading\" class=\"loading\">\n <kirby-spinner></kirby-spinner>\n</div>\n\n<ng-template #groupedListTemplate>\n <ion-item-group\n *ngFor=\"let section of _groupedItems; trackBy: sectionTrackBy\"\n [ngClass]=\"standAloneClass()\"\n >\n <ion-item-divider *ngIf=\"_isSectionsEnabled\">\n <ng-container\n *ngTemplateOutlet=\"sectionHeaderTemplate; context: { $implicit: section.name }\"\n ></ng-container>\n </ion-item-divider>\n\n <ng-container *ngIf=\"_isSectionsEnabled && _isStandAloneEnabled; else groupedFlatList\">\n <div class=\"list-items\" [ngClass]=\"standAloneClass()\" *ngFor=\"let list of section.lists\">\n <ng-container\n *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: list }\"\n ></ng-container>\n </div>\n </ng-container>\n\n <ng-template #groupedFlatList>\n <div class=\"list-items\" [ngClass]=\"standAloneClass()\">\n <ng-container\n *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: section.items }\"\n ></ng-container>\n </div>\n </ng-template>\n </ion-item-group>\n</ng-template>\n\n<ng-template #itemsTemplate let-items>\n <kirby-list-item\n *ngFor=\"let item of items; let i = index; trackBy: trackBy || defaultTrackBy\"\n [item]=\"item\"\n [itemTemplate]=\"itemTemplate\"\n [swipeActions]=\"swipeActions\"\n [boundaryClass]=\"_getBoundaryClass(i, items)\"\n [isSelectable]=\"_isSelectable\"\n [getItemColor]=\"getItemColor\"\n [isSelected]=\"_isSelectable && item === _selectedItem\"\n (itemSelect)=\"onItemSelect($event)\"\n (swipeActionSelect)=\"onSwipeActionSelect($event)\"\n [class.is-single]=\"items.length === 1\"\n >\n </kirby-list-item>\n</ng-template>\n", styles: ["ion-item-option.primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}ion-item-option.secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}ion-item-option.tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}ion-item-option.success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}ion-item-option.warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}ion-item-option.danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}ion-item-option.light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}ion-item-option.medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}ion-item-option.dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}:host{display:block}.list{box-shadow:0 5px 10px -10px #1c1c1c4d,0 0 5px #1c1c1c14;background:transparent;contain:inherit;padding:0}ion-list-header{background-color:var(--kirby-white);border-bottom:1px solid var(--kirby-background-color);padding:0;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;font-size:inherit;min-height:0;overflow:inherit}ion-item{--background: var(--kirby-white);--background-activated: var(--kirby-white-shade);--background-hover: var(--kirby-background-color);--background-focused: var(--kirby-background-color);--inner-border-width: 0;--ion-safe-area-right: 0;--min-height: 56px;--padding-bottom: 8px;--padding-end: 16px;--padding-start: 16px;--padding-top: 8px;display:flex;font-size:14px;min-height:56px;overflow:visible;width:100%}ion-item-sliding.item-sliding-active-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translate(0)}ion-item-sliding.light{--kirby-item-background: var(--kirby-light);--kirby-item-background-activated: var(--kirby-light-shade);--kirby-item-background-focused: var(--kirby-light-shade);--kirby-item-background-hover: var(--kirby-light-tint)}ion-item-sliding.light ion-item{--background: var(--kirby-light);--color: var(--kirby-light-contrast);--background-activated: var(--kirby-light-shade);--background-focused: var(--kirby-light-shade);--background-hover: var(--kirby-light-tint)}ion-item-group{margin-bottom:24px}ion-item-group:last-of-type{margin-bottom:0}ion-item-divider{--inner-padding-end: 0;--color: unset;background-color:transparent;border-color:transparent;min-height:0;padding:0 16px 8px;font-weight:inherit}.footer{background-color:var(--kirby-white);border-top:1px solid var(--kirby-background-color);display:flex;align-items:center;justify-content:space-between;width:100%}.no-more-items,.loading{width:100%;padding:24px 0;text-align:center}.swipe-action{display:flex;color:var(--kirby-black);background-color:transparent}.swipe-action ion-item-option{height:100%;display:inline-block;text-align:center}.swipe-action .item-content{display:inline-grid;min-width:70px;flex-direction:column}.swipe-action .item-content ion-label{--background: unset;--color: unset}ion-item-options[side=end]{border-bottom-width:0}:host-context(.has-sections) .list,:host-context(.has-stand-alone) .list{box-shadow:none}:host-context(.has-sections) .list-items,:host-context(.has-stand-alone) .list-items{box-shadow:0 5px 10px -10px #1c1c1c4d,0 0 5px #1c1c1c14;border-radius:16px}:host-context(.has-sections) .footer,:host-context(.has-stand-alone) .footer{background-color:transparent;border-top:none}:host-context(.has-sections) ion-list-header,:host-context(.has-stand-alone) ion-list-header{background-color:transparent;border-bottom:none}:host-context(.shape-rounded) .list,:host-context(.shape-rounded) .list-items{border-radius:16px}:host-context(.shape-rounded) ion-item.first,:host-context(.shape-rounded) ion-item-sliding.first,:host-context(.shape-rounded) ion-list-header{border-top-left-radius:16px;border-top-right-radius:16px;-webkit-mask-image:radial-gradient(white,black);mask-image:radial-gradient(white,black)}:host-context(.shape-rounded) ion-item-sliding>ion-item,:host-context(.shape-rounded):not(.has-sections) .has-header ion-item,:host-context(.shape-rounded):not(.has-sections) .has-header ion-item-sliding{border-top-left-radius:0;border-top-right-radius:0}:host-context(.shape-rounded) ion-item.last,:host-context(.shape-rounded) ion-item-sliding.last,:host-context(.shape-rounded) .footer{border-bottom-left-radius:16px;border-bottom-right-radius:16px;-webkit-mask-image:radial-gradient(white,black);mask-image:radial-gradient(white,black)}:host-context(.shape-rounded) ion-item-sliding>ion-item,:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item,:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item-sliding{border-bottom-left-radius:0;border-bottom-right-radius:0}:host-context(.shape-none) .list,:host-context(.shape-none) .list-items{box-shadow:none;border-radius:unset}:host-context(.shape-none) .list ion-item,:host-context(.shape-none) .list ion-item-sliding{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;--inner-padding-start: 0;--inner-padding-end: 0;--inner-padding-top: 0;--inner-padding-bottom: 0;--background: none;--background-activated: none;--background-hover: none;--background-focused: none;overflow:visible}:host-context(.item-spacing) .list kirby-list-item{margin-bottom:16px}:host-context(.item-spacing) .list kirby-list-item>ion-item,:host-context(.item-spacing) .list kirby-list-item:last-child{margin-bottom:0}.stand-alone-bottom-margin-xxxl{margin-bottom:56px}.stand-alone-bottom-margin-xxl{margin-bottom:48px}.stand-alone-bottom-margin-xl{margin-bottom:40px}.stand-alone-bottom-margin-l{margin-bottom:32px}.stand-alone-bottom-margin-m{margin-bottom:24px}.stand-alone-bottom-margin-s{margin-bottom:16px}.stand-alone-bottom-margin-xs{margin-bottom:12px}.stand-alone-bottom-margin-xxs{margin-bottom:8px}.stand-alone-bottom-margin-xxxs{margin-bottom:4px}.stand-alone-bottom-margin-xxxxs{margin-bottom:2px}\n"] }]
|
|
135
|
+
args: [{ selector: 'kirby-list', providers: [ListHelper], template: "<ion-list\n #list\n kirbyInfiniteScroll\n (scrollEnd)=\"_onLoadOnDemand()\"\n [disabled]=\"!isLoadOnDemandEnabled\"\n class=\"list\"\n [class.has-header]=\"headerTemplate\"\n [class.has-footer]=\"footerTemplate\"\n [class.has-divider]=\"showDivider\"\n>\n <ion-list-header *ngIf=\"headerTemplate\">\n <ng-container *ngTemplateOutlet=\"headerTemplate\"></ng-container>\n </ion-list-header>\n\n <ng-container\n *ngTemplateOutlet=\"\n _isSectionsEnabled || _isStandAloneEnabled ? groupedListTemplate : itemsTemplate;\n context: { $implicit: items }\n \"\n ></ng-container>\n\n <div *ngIf=\"footerTemplate\" class=\"footer\">\n <ng-container *ngTemplateOutlet=\"footerTemplate\"></ng-container>\n </div>\n</ion-list>\n\n<p *ngIf=\"!isLoadOnDemandEnabled && noMoreItemsText\" class=\"no-more-items\">\n {{ noMoreItemsText }}\n</p>\n<div *ngIf=\"_isLoading\" class=\"loading\">\n <kirby-spinner></kirby-spinner>\n</div>\n\n<ng-template #groupedListTemplate>\n <ion-item-group\n *ngFor=\"let section of _groupedItems; trackBy: sectionTrackBy\"\n [ngClass]=\"standAloneClass()\"\n >\n <ion-item-divider *ngIf=\"_isSectionsEnabled\">\n <ng-container\n *ngTemplateOutlet=\"sectionHeaderTemplate; context: { $implicit: section.name }\"\n ></ng-container>\n </ion-item-divider>\n\n <ng-container *ngIf=\"_isSectionsEnabled && _isStandAloneEnabled; else groupedFlatList\">\n <div class=\"list-items\" [ngClass]=\"standAloneClass()\" *ngFor=\"let list of section.lists\">\n <ng-container\n *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: list }\"\n ></ng-container>\n </div>\n </ng-container>\n\n <ng-template #groupedFlatList>\n <div class=\"list-items\" [ngClass]=\"standAloneClass()\">\n <ng-container\n *ngTemplateOutlet=\"itemsTemplate; context: { $implicit: section.items }\"\n ></ng-container>\n </div>\n </ng-template>\n </ion-item-group>\n</ng-template>\n\n<ng-template #itemsTemplate let-items>\n <kirby-list-item\n *ngFor=\"let item of items; let i = index; trackBy: trackBy || defaultTrackBy\"\n [item]=\"item\"\n [itemTemplate]=\"itemTemplate\"\n [swipeActions]=\"swipeActions\"\n [boundaryClass]=\"_getBoundaryClass(i, items)\"\n [isSelectable]=\"_isSelectable\"\n [getItemColor]=\"getItemColor\"\n [isSelected]=\"_isSelectable && item === _selectedItem\"\n (itemSelect)=\"onItemSelect($event)\"\n (swipeActionSelect)=\"onSwipeActionSelect($event)\"\n [class.is-single]=\"items.length === 1\"\n >\n </kirby-list-item>\n</ng-template>\n", styles: ["ion-item-option.primary{background-color:var(--kirby-primary);color:var(--kirby-primary-contrast)}ion-item-option.secondary{background-color:var(--kirby-secondary);color:var(--kirby-secondary-contrast)}ion-item-option.tertiary{background-color:var(--kirby-tertiary);color:var(--kirby-tertiary-contrast)}ion-item-option.success{background-color:var(--kirby-success);color:var(--kirby-success-contrast)}ion-item-option.warning{background-color:var(--kirby-warning);color:var(--kirby-warning-contrast)}ion-item-option.danger{background-color:var(--kirby-danger);color:var(--kirby-danger-contrast)}ion-item-option.light{background-color:var(--kirby-light);color:var(--kirby-light-contrast)}ion-item-option.medium{background-color:var(--kirby-medium);color:var(--kirby-medium-contrast)}ion-item-option.dark{background-color:var(--kirby-dark);color:var(--kirby-dark-contrast)}:host{display:block}.list{box-shadow:0 5px 10px -10px #1c1c1c4d,0 0 5px #1c1c1c14;background:transparent;contain:inherit;padding:0}ion-list-header{background-color:var(--kirby-white);border-bottom:1px solid var(--kirby-background-color);padding:0;text-transform:inherit;letter-spacing:inherit;font-weight:inherit;font-size:inherit;min-height:0;overflow:inherit}ion-item{--background: var(--kirby-white);--background-activated: var(--kirby-white-shade);--background-hover: var(--kirby-background-color);--background-focused: var(--kirby-background-color);--inner-border-width: 0;--ion-safe-area-right: 0;--min-height: 56px;--padding-bottom: 8px;--padding-end: 16px;--padding-start: 16px;--padding-top: 8px;display:flex;font-size:14px;min-height:56px;overflow:visible;width:100%}ion-item-sliding.item-sliding-active-slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translate(0)}ion-item-sliding.light{--kirby-item-background: var(--kirby-light);--kirby-item-background-activated: var(--kirby-light-shade);--kirby-item-background-focused: var(--kirby-light-shade);--kirby-item-background-hover: var(--kirby-light-tint)}ion-item-sliding.light ion-item{--background: var(--kirby-light);--color: var(--kirby-light-contrast);--background-activated: var(--kirby-light-shade);--background-focused: var(--kirby-light-shade);--background-hover: var(--kirby-light-tint)}ion-item-group{margin-bottom:24px}ion-item-group:last-of-type{margin-bottom:0}ion-item-divider{--inner-padding-end: 0;--color: unset;background-color:transparent;border-color:transparent;min-height:0;padding:0 16px 8px;font-weight:inherit}.footer{background-color:var(--kirby-white);border-top:1px solid var(--kirby-background-color);display:flex;align-items:center;justify-content:space-between;width:100%}.no-more-items,.loading{width:100%;padding:24px 0;text-align:center}.swipe-action{display:flex;color:var(--kirby-black);background-color:transparent}.swipe-action ion-item-option{height:100%;display:inline-block;text-align:center}.swipe-action .item-content{display:inline-grid;min-width:70px;flex-direction:column}.swipe-action .item-content ion-label{--background: unset;--color: unset}ion-item-options[side=end]{border-bottom-width:0}:host-context(.has-sections) .list,:host-context(.has-stand-alone) .list{box-shadow:none}:host-context(.has-sections) .list-items,:host-context(.has-stand-alone) .list-items{box-shadow:0 5px 10px -10px #1c1c1c4d,0 0 5px #1c1c1c14;border-radius:16px}:host-context(.has-sections) .footer,:host-context(.has-stand-alone) .footer{background-color:transparent;border-top:none}:host-context(.has-sections) ion-list-header,:host-context(.has-stand-alone) ion-list-header{background-color:transparent;border-bottom:none}:host-context(.shape-rounded) .list,:host-context(.shape-rounded) .list-items{border-radius:16px}:host-context(.shape-rounded) ion-item.first,:host-context(.shape-rounded) ion-item-sliding.first,:host-context(.shape-rounded) ion-list-header{border-top-left-radius:16px;border-top-right-radius:16px;-webkit-mask-image:radial-gradient(white,black);mask-image:radial-gradient(white,black)}:host-context(.shape-rounded) ion-item-sliding>ion-item,:host-context(.shape-rounded):not(.has-sections) .has-header ion-item,:host-context(.shape-rounded):not(.has-sections) .has-header ion-item-sliding{border-top-left-radius:0;border-top-right-radius:0}:host-context(.shape-rounded) ion-item.last,:host-context(.shape-rounded) ion-item-sliding.last,:host-context(.shape-rounded) .footer{border-bottom-left-radius:16px;border-bottom-right-radius:16px;-webkit-mask-image:radial-gradient(white,black);mask-image:radial-gradient(white,black)}:host-context(.shape-rounded) ion-item-sliding>ion-item,:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item,:host-context(.shape-rounded):not(.has-sections) .has-footer ion-item-sliding{border-bottom-left-radius:0;border-bottom-right-radius:0}:host-context(.shape-none) .list,:host-context(.shape-none) .list-items{box-shadow:none;border-radius:unset}:host-context(.shape-none) .list ion-item,:host-context(.shape-none) .list ion-item-sliding{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;--inner-padding-start: 0;--inner-padding-end: 0;--inner-padding-top: 0;--inner-padding-bottom: 0;--background: none;--background-activated: none;--background-hover: none;--background-focused: none;overflow:visible}:host-context(.item-spacing) .list kirby-list-item{margin-bottom:16px}:host-context(.item-spacing) .list kirby-list-item>ion-item,:host-context(.item-spacing) .list kirby-list-item:last-child{margin-bottom:0}.stand-alone-bottom-margin-xxxxl{margin-bottom:64px}.stand-alone-bottom-margin-xxxl{margin-bottom:56px}.stand-alone-bottom-margin-xxl{margin-bottom:48px}.stand-alone-bottom-margin-xl{margin-bottom:40px}.stand-alone-bottom-margin-l{margin-bottom:32px}.stand-alone-bottom-margin-m{margin-bottom:24px}.stand-alone-bottom-margin-s{margin-bottom:16px}.stand-alone-bottom-margin-xs{margin-bottom:12px}.stand-alone-bottom-margin-xxs{margin-bottom:8px}.stand-alone-bottom-margin-xxxs{margin-bottom:4px}.stand-alone-bottom-margin-xxxxs{margin-bottom:2px}\n"] }]
|
|
131
136
|
}], ctorParameters: function () { return [{ type: i1.ListHelper }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { list: [{
|
|
132
137
|
type: ViewChild,
|
|
133
138
|
args: ['list', { static: true }]
|
|
@@ -197,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.9", ngImpor
|
|
|
197
202
|
type: HostBinding,
|
|
198
203
|
args: ['class.has-stand-alone']
|
|
199
204
|
}] } });
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Rlc2lnbnN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvbGlzdC9saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9saXN0L2xpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBQ04sV0FBVyxFQUVYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR25ELE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QiwwQkFBMEIsR0FDM0IsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7QUFzQjFCLE1BQU0sT0FBTyxhQUFhO0lBMEh4QixZQUFvQixVQUFzQixFQUFVLEdBQXNCO1FBQXRELGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXRIMUU7O1dBRUc7UUFFSCxVQUFLLEdBQVUsRUFBRSxDQUFDO1FBbUJsQjs7V0FFRztRQUNNLHNCQUFpQixHQUFzQixLQUFLLENBQUM7UUFPdEQ7O1dBRUc7UUFDTSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUU3Qjs7V0FFRztRQUNNLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBRWpDOzs7Ozs7V0FNRztRQUNNLFVBQUss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LEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFO2dCQVF2RSxZQUFZO3NCQURYLFlBQVk7dUJBQUMseUJBQXlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBR3pDLGtCQUFrQjtzQkFBcEQsV0FBVzt1QkFBQyxvQkFBb0I7Z0JBQ0ssb0JBQW9CO3NCQUF6RCxXQUFXO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIFRyYWNrQnlGdW5jdGlvbixcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVGhlbWVDb2xvciB9IGZyb20gJ0BraXJieWRlc2lnbi9jb3JlJztcblxuaW1wb3J0IHsgSXRlbUNvbXBvbmVudCB9IGZyb20gJy4uL2l0ZW0vaXRlbS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9pbmZpbml0ZS1zY3JvbGwuZGlyZWN0aXZlJztcbmltcG9ydCB7IExpc3RIZWxwZXIgfSBmcm9tICcuL2hlbHBlcnMvbGlzdC1oZWxwZXInO1xuaW1wb3J0IHsgQm91bmRhcnlDbGFzcyB9IGZyb20gJy4vbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTGlzdFN3aXBlQWN0aW9uIH0gZnJvbSAnLi9saXN0LXN3aXBlLWFjdGlvbi50eXBlJztcbmltcG9ydCB7XG4gIExpc3RGb290ZXJEaXJlY3RpdmUsXG4gIExpc3RIZWFkZXJEaXJlY3RpdmUsXG4gIExpc3RJdGVtVGVtcGxhdGVEaXJlY3RpdmUsXG4gIExpc3RTZWN0aW9uSGVhZGVyRGlyZWN0aXZlLFxufSBmcm9tICcuL2xpc3QuZGlyZWN0aXZlJztcbmltcG9ydCB7IExvYWRPbkRlbWFuZEV2ZW50LCBMb2FkT25EZW1hbmRFdmVudERhdGEgfSBmcm9tICcuL2xpc3QuZXZlbnQnO1xuXG5leHBvcnQgdHlwZSBMaXN0U2hhcGUgPSAnc3F1YXJlJyB8ICdyb3VuZGVkJyB8ICdub25lJztcblxuZXhwb3J0IHR5cGUgU3RhbmRBbG9uZVNwYWNpbmcgPVxuICB8ICd4eHh4cydcbiAgfCAneHh4cydcbiAgfCAneHhzJ1xuICB8ICd4cydcbiAgfCAnc20nXG4gIHwgJ21kJ1xuICB8ICdsZydcbiAgfCAneGwnXG4gIHwgJ3h4bCdcbiAgfCAneHh4bCc7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdraXJieS1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LmNvbXBvbmVudC5zY3NzJ10sXG4gIHByb3ZpZGVyczogW0xpc3RIZWxwZXJdLFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBAVmlld0NoaWxkKCdsaXN0JywgeyBzdGF0aWM6IHRydWUgfSkgbGlzdDogYW55O1xuICBAVmlld0NoaWxkKEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlKSBzY3JvbGxEaXJlY3RpdmU6IEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlIGl0ZW1zIGZvciB0aGUgbGlzdCB0byByZW5kZXIuIEl0ZW1zIG11c3QgYmUgcHJvdmlkZWQgaW4gdGhlIG9yZGVyIHlvdSBleHBlY3QgdGhlbSB0byBiZSByZW5kZXJlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGl0ZW1zOiBhbnlbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIGdldEl0ZW1Db2xvcjogKGl0ZW06IGFueSkgPT4gVGhlbWVDb2xvcjtcblxuICAvKipcbiAgICogQ2FsbGJhY2sgdG8gZGV0ZXJtaW5lIG5hbWUgb2Ygc2VjdGlvbi4gU2VjdGlvbnMgd2lsbCBiZSBvcmRlcmVkIGFscGhhYmV0aWNhbGx5LlxuICAgKi9cbiAgQElucHV0KCkgZ2V0U2VjdGlvbk5hbWU6IChpdGVtOiBhbnkpID0+IHN0cmluZztcblxuICAvKipcbiAgICogQ2FsbGJhY2sgdGhhdCBkZWZpbmVzIGhvdyB0byB0cmFjayBjaGFuZ2VzIGZvciBpdGVtcyBpbiB0aGUgaXRlcmFibGUuXG4gICAqL1xuICBASW5wdXQoKSB0cmFja0J5OiBUcmFja0J5RnVuY3Rpb248YW55PjtcblxuICAvKipcbiAgICogUHJvcGVydHkgbmFtZSB0byBkZWNpZGUgd2hpY2ggaXRlbXMgc2hvdWxkIGJlIHN0YW5kIGFsb25lXG4gICAqL1xuICBASW5wdXQoKSBnZXRTdGFuZEFsb25lQnlQcm9wZXJ0eTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBCb3R0b20gbWFyZ2luIGZvciBzdGFuZCBhbG9uZSBpdGVtc1xuICAgKi9cbiAgQElucHV0KCkgc3RhbmRBbG9uZVNwYWNpbmc6IFN0YW5kQWxvbmVTcGFjaW5nID0gJ3h4cyc7XG5cbiAgLyoqXG4gICAqIFRleHQgdG8gZGlzcGxheSB3aGVuIG5vIG1vcmUgaXRlbXMgY2FuIGJlIGxvYWRlZCAodXNlZCBmb3IgXCJvbiBkZW1hbmRcIi1sb2FkaW5nKS5cbiAgICovXG4gIEBJbnB1dCgpIG5vTW9yZUl0ZW1zVGV4dDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIGRpdmlkZXJzIChib3R0b20tYm9yZGVyIG9uIGxpc3QgaXRlbXMpIHNob3VsZCBiZSBzaG93biBvciBub3QuXG4gICAqL1xuICBASW5wdXQoKSBzaG93RGl2aWRlciA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIGxpc3Qgcm93IHRleHQgc2hvdWxkIHR1cm4gYm9sZCBvbiBzZWxlY3Rpb25cbiAgICovXG4gIEBJbnB1dCgpIG1hcmtTZWxlY3RlZFJvdyA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmUgb3V0bGluZSBzaGFwZSBvZjpcbiAgICogLSBsaXN0LCBpZiB7QGxpbmsgI2lzU2VjdGlvbnNFbmFibGVkfSBpcyBgZmFsc2VgXG4gICAqIC0gc2VjdGlvbiwgaWYge0BsaW5rICNpc1NlY3Rpb25zRW5hYmxlZH0gaXMgYHRydWVgXG4gICAqXG4gICAqIGBzcXVhcmVgIG1lYW5zICoqd2l0aG91dCoqIHJvdW5kZWQgY29ybmVycywgYHJvdW5kZWRgIG1lYW5zICoqd2l0aCoqIHJvdW5kZWQgY29ybmVycy4sICBgbm9uZWAgbWVhbnMgKip3aXRob3V0KiogcGFkZGluZywgYm9yZGVyLCBib3gtc2hhZG93IGFuZCBiYWNrZ3JvdW5kLlxuICAgKi9cbiAgQElucHV0KCkgc2hhcGU6IExpc3RTaGFwZSA9ICdyb3VuZGVkJztcblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNoYXBlLXJvdW5kZWQnKVxuICBwdWJsaWMgZ2V0IGlzU2hhcGVSb3VuZGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNoYXBlID09PSAncm91bmRlZCc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNoYXBlLW5vbmUnKVxuICBwdWJsaWMgZ2V0IGlzU2hhcGVOb25lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNoYXBlID09PSAnbm9uZSc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLml0ZW0tc3BhY2luZycpXG4gIEBJbnB1dCgpXG4gIGhhc0l0ZW1TcGFjaW5nOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBsb2FkT25EZW1hbmQgZXZlbnQgc2hvdWxkIGJlIGVtaXR0ZWQuXG4gICAqIFdpbGwgZGVmYXVsdCB0byB0cnVlIGlmIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBzdWJzY3JpYmVyIHRvIHRoZSBsb2FkT25EZW1hbmQgZXZlbnRcbiAgICovXG4gIEBJbnB1dCgpIGlzTG9hZE9uRGVtYW5kRW5hYmxlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogRW1pdHRpbmcgZXZlbnQgd2hlbiBtb3JlIGl0ZW1zIGFyZSB0byBiZSBsb2FkZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgbG9hZE9uRGVtYW5kID0gbmV3IEV2ZW50RW1pdHRlcjxMb2FkT25EZW1hbmRFdmVudD4oKTtcblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyBpZiBsaXN0IGl0ZW1zIHNob3VsZCBoYXZlIHN3aXBlIGFjdGlvbnMgb3Igbm90XG4gICAqIC0gdGhlIG9yZGVyIG9mIHN3aXBlIGFjdGlvbnMgaXMgdXNlZCB0byBkZXRlcm1pbmUgZWRnZSBhY3Rpb25zLFxuICAgKiBhcyB3ZWxsIGFzIHRoZWlyIG9yZGVyIG9mIGFwcGVhcmFuY2Ugb24gdGhlIHNjcmVlbi5cbiAgICovXG4gIEBJbnB1dCgpIHN3aXBlQWN0aW9uczogTGlzdFN3aXBlQWN0aW9uW10gPSBbXTtcblxuICAvKipcbiAgICogRW1pdHRpbmcgZXZlbnQgd2hlbiBhbiBpdGVtIGlzIHNlbGVjdGVkICh0YXBwZWQgb24gbW9iaWxlLCBjbGlja2VkIG9uIHdlYilcbiAgICovXG4gIEBPdXRwdXQoKSBpdGVtU2VsZWN0ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgQElucHV0KCkgZGlzYWJsZVNlbGVjdGlvbkhpZ2hsaWdodDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oSXRlbUNvbXBvbmVudClcbiAga2lyYnlJdGVtczogSXRlbUNvbXBvbmVudFtdO1xuXG4gIEBDb250ZW50Q2hpbGQoTGlzdEhlYWRlckRpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKExpc3RTZWN0aW9uSGVhZGVyRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIHNlY3Rpb25IZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAQ29udGVudENoaWxkKExpc3RGb290ZXJEaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgZm9vdGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgLyoqXG4gICAqIFRoZSBmaXJzdCBlbGVtZW50IHRoYXQgbWF0Y2hlcyBMaXN0SXRlbURpcmVjdGl2ZS5cbiAgICogQXMgYSBzdHJ1Y3R1cmFsIGRpcmVjdGl2ZSBpdCB1bmZvbGRzIGludG8gYSB0ZW1wbGF0ZS4gVGhpcyBpcyBhIHJlZmVyZW5jZSB0byB0aGF0LlxuICAgKi9cbiAgQENvbnRlbnRDaGlsZChMaXN0SXRlbVRlbXBsYXRlRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgaXRlbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLXNlY3Rpb25zJykgX2lzU2VjdGlvbnNFbmFibGVkOiBib29sZWFuO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmhhcy1zdGFuZC1hbG9uZScpIF9pc1N0YW5kQWxvbmVFbmFibGVkOiBib29sZWFuO1xuXG4gIF9pc1NlbGVjdGFibGU6IGJvb2xlYW47XG4gIF9pc0xvYWRpbmc6IGJvb2xlYW47XG4gIF9ncm91cGVkSXRlbXM6IGFueVtdO1xuICBfc2VsZWN0ZWRJdGVtOiBhbnk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsaXN0SGVscGVyOiBMaXN0SGVscGVyLCBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5faXNTZWxlY3RhYmxlID0gdGhpcy5pdGVtU2VsZWN0Lm9ic2VydmVycy5sZW5ndGggPiAwO1xuXG4gICAgaWYgKHRoaXMuaXNMb2FkT25EZW1hbmRFbmFibGVkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuaXNMb2FkT25EZW1hbmRFbmFibGVkID0gdGhpcy5sb2FkT25EZW1hbmQub2JzZXJ2ZXJzLmxlbmd0aCA+IDA7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9pc1NlbGVjdGFibGUpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLmtpcmJ5SXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgIGl0ZW0uc2VsZWN0YWJsZSA9IHRydWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFdlIGFyZSBtdXRhdGluZyB0aGUgaXRlbXMgZGlyZWN0bHksIGFmdGVyIHRoZXkgaGF2ZSBiZWVuIHJlbmRlcmVkIGluIHRoZSB0ZW1wbGF0ZS5cbiAgICAgICAgLy8gVGhlcmVmb3JlLCB3ZSBtYWtlIHN1cmUgdG8gZGV0ZWN0Q2hhbmdlcy5cbiAgICAgICAgLy8ga2lyYnktaXRlbSBoYW5kbGVzIG1hcmtpbmcgaXRzZWxmIGZvciBjaGVjayB3aGVuIHNlbGVjdGFibGUgaXMgc2V0LlxuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLl9pc1NlY3Rpb25zRW5hYmxlZCA9ICEhdGhpcy5nZXRTZWN0aW9uTmFtZTtcbiAgICB0aGlzLl9pc1N0YW5kQWxvbmVFbmFibGVkID0gISF0aGlzLmdldFN0YW5kQWxvbmVCeVByb3BlcnR5O1xuXG4gICAgaWYgKHRoaXMuX2lzU2VjdGlvbnNFbmFibGVkICYmIHRoaXMuX2lzU3RhbmRBbG9uZUVuYWJsZWQpIHtcbiAgICAgIHRoaXMuX2dyb3VwZWRJdGVtcyA9IHRoaXMubGlzdEhlbHBlci5ncm91cFNlY3Rpb25zV2l0aFN0YW5kQWxvbmVJdGVtcyhcbiAgICAgICAgdGhpcy5pdGVtcyxcbiAgICAgICAgdGhpcy5nZXRTZWN0aW9uTmFtZSxcbiAgICAgICAgdGhpcy5nZXRTdGFuZEFsb25lQnlQcm9wZXJ0eVxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2lzU2VjdGlvbnNFbmFibGVkKSB7XG4gICAgICB0aGlzLl9ncm91cGVkSXRlbXMgPSB0aGlzLmxpc3RIZWxwZXIuZ3JvdXBTZWN0aW9ucyh0aGlzLml0ZW1zLCB0aGlzLmdldFNlY3Rpb25OYW1lKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2lzU3RhbmRBbG9uZUVuYWJsZWQpIHtcbiAgICAgIHRoaXMuX2dyb3VwZWRJdGVtcyA9IHRoaXMubGlzdEhlbHBlci5ncm91cFN0YW5kQWxvbmVJdGVtcyhcbiAgICAgICAgdGhpcy5pdGVtcyxcbiAgICAgICAgdGhpcy5nZXRTdGFuZEFsb25lQnlQcm9wZXJ0eVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBfb25Mb2FkT25EZW1hbmQoZXZlbnQ/OiBMb2FkT25EZW1hbmRFdmVudERhdGEpIHtcbiAgICB0aGlzLmxpc3RIZWxwZXIub25Mb2FkT25EZW1hbmQodGhpcywgZXZlbnQpO1xuICB9XG5cbiAgZGVmYXVsdFRyYWNrQnkoaW5kZXg6IG51bWJlcik6IGFueSB7XG4gICAgcmV0dXJuIGluZGV4O1xuICB9XG5cbiAgc2VjdGlvblRyYWNrQnkoXzogbnVtYmVyLCBzZWN0aW9uOiB7IG5hbWU6IHN0cmluZyB9KTogc3RyaW5nIHtcbiAgICByZXR1cm4gc2VjdGlvbi5uYW1lO1xuICB9XG5cbiAgb25JdGVtU2VsZWN0KGl0ZW06IGFueSkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlU2VsZWN0aW9uSGlnaGxpZ2h0KSB7XG4gICAgICB0aGlzLl9zZWxlY3RlZEl0ZW0gPSBpdGVtO1xuICAgIH1cbiAgICB0aGlzLml0ZW1TZWxlY3QuZW1pdChpdGVtKTtcbiAgfVxuXG4gIG9uU3dpcGVBY3Rpb25TZWxlY3QoYXJnczogYW55KTogdm9pZCB7XG4gICAgYXJncy5zd2lwZUFjdGlvbi5vblNlbGVjdGVkKGFyZ3MuaXRlbSk7XG4gICAgdGhpcy5saXN0LmNsb3NlU2xpZGluZ0l0ZW1zKCk7XG4gICAgYXJncy5ldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuXG4gIF9nZXRCb3VuZGFyeUNsYXNzKGluZGV4OiBudW1iZXIsIHNlY3Rpb24/OiBhbnlbXSk6IEJvdW5kYXJ5Q2xhc3Mge1xuICAgIGNvbnN0IF9pdGVtcyA9IHNlY3Rpb24gfHwgdGhpcy5pdGVtcztcblxuICAgIGlmIChpbmRleCA9PT0gMCB8fCBfaXRlbXNbaW5kZXggLSAxXT8uaGVhZGluZ05hbWUpIHJldHVybiB0aGlzLmhlYWRlclRlbXBsYXRlID8gbnVsbCA6ICdmaXJzdCc7XG5cbiAgICBpZiAoaW5kZXggPT09IF9pdGVtcy5sZW5ndGggLSAxIHx8IF9pdGVtc1tpbmRleCArIDFdPy5oZWFkaW5nTmFtZSlcbiAgICAgIHJldHVybiB0aGlzLmZvb3RlclRlbXBsYXRlID8gbnVsbCA6ICdsYXN0JztcbiAgfVxuXG4gIHN0YW5kQWxvbmVDbGFzcygpIHtcbiAgICByZXR1cm4gdGhpcy5faXNTdGFuZEFsb25lRW5hYmxlZCA/IGBzdGFuZC1hbG9uZS1ib3R0b20tbWFyZ2luLSR7dGhpcy5zdGFuZEFsb25lU3BhY2luZ31gIDogJyc7XG4gIH1cbn1cbiIsIjxpb24tbGlzdFxuICAjbGlzdFxuICBraXJieUluZmluaXRlU2Nyb2xsXG4gIChzY3JvbGxFbmQpPVwiX29uTG9hZE9uRGVtYW5kKClcIlxuICBbZGlzYWJsZWRdPVwiIWlzTG9hZE9uRGVtYW5kRW5hYmxlZFwiXG4gIGNsYXNzPVwibGlzdFwiXG4gIFtjbGFzcy5oYXMtaGVhZGVyXT1cImhlYWRlclRlbXBsYXRlXCJcbiAgW2NsYXNzLmhhcy1mb290ZXJdPVwiZm9vdGVyVGVtcGxhdGVcIlxuICBbY2xhc3MuaGFzLWRpdmlkZXJdPVwic2hvd0RpdmlkZXJcIlxuPlxuICA8aW9uLWxpc3QtaGVhZGVyICpuZ0lmPVwiaGVhZGVyVGVtcGxhdGVcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaGVhZGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9pb24tbGlzdC1oZWFkZXI+XG5cbiAgPG5nLWNvbnRhaW5lclxuICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiXG4gICAgICBfaXNTZWN0aW9uc0VuYWJsZWQgfHwgX2lzU3RhbmRBbG9uZUVuYWJsZWQgPyBncm91cGVkTGlzdFRlbXBsYXRlIDogaXRlbXNUZW1wbGF0ZTtcbiAgICAgIGNvbnRleHQ6IHsgJGltcGxpY2l0OiBpdGVtcyB9XG4gICAgXCJcbiAgPjwvbmctY29udGFpbmVyPlxuXG4gIDxkaXYgKm5nSWY9XCJmb290ZXJUZW1wbGF0ZVwiIGNsYXNzPVwiZm9vdGVyXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImZvb3RlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9pb24tbGlzdD5cblxuPHAgKm5nSWY9XCIhaXNMb2FkT25EZW1hbmRFbmFibGVkICYmIG5vTW9yZUl0ZW1zVGV4dFwiIGNsYXNzPVwibm8tbW9yZS1pdGVtc1wiPlxuICB7eyBub01vcmVJdGVtc1RleHQgfX1cbjwvcD5cbjxkaXYgKm5nSWY9XCJfaXNMb2FkaW5nXCIgY2xhc3M9XCJsb2FkaW5nXCI+XG4gIDxraXJieS1zcGlubmVyPjwva2lyYnktc3Bpbm5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2dyb3VwZWRMaXN0VGVtcGxhdGU+XG4gIDxpb24taXRlbS1ncm91cFxuICAgICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIF9ncm91cGVkSXRlbXM7IHRyYWNrQnk6IHNlY3Rpb25UcmFja0J5XCJcbiAgICBbbmdDbGFzc109XCJzdGFuZEFsb25lQ2xhc3MoKVwiXG4gID5cbiAgICA8aW9uLWl0ZW0tZGl2aWRlciAqbmdJZj1cIl9pc1NlY3Rpb25zRW5hYmxlZFwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInNlY3Rpb25IZWFkZXJUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IHNlY3Rpb24ubmFtZSB9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICA8L2lvbi1pdGVtLWRpdmlkZXI+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiX2lzU2VjdGlvbnNFbmFibGVkICYmIF9pc1N0YW5kQWxvbmVFbmFibGVkOyBlbHNlIGdyb3VwZWRGbGF0TGlzdFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImxpc3QtaXRlbXNcIiBbbmdDbGFzc109XCJzdGFuZEFsb25lQ2xhc3MoKVwiICpuZ0Zvcj1cImxldCBsaXN0IG9mIHNlY3Rpb24ubGlzdHNcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbXNUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IGxpc3QgfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNncm91cGVkRmxhdExpc3Q+XG4gICAgICA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtc1wiIFtuZ0NsYXNzXT1cInN0YW5kQWxvbmVDbGFzcygpXCI+XG4gICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIml0ZW1zVGVtcGxhdGU7IGNvbnRleHQ6IHsgJGltcGxpY2l0OiBzZWN0aW9uLml0ZW1zIH1cIlxuICAgICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2lvbi1pdGVtLWdyb3VwPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNpdGVtc1RlbXBsYXRlIGxldC1pdGVtcz5cbiAgPGtpcmJ5LWxpc3QtaXRlbVxuICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaSA9IGluZGV4OyB0cmFja0J5OiB0cmFja0J5IHx8IGRlZmF1bHRUcmFja0J5XCJcbiAgICBbaXRlbV09XCJpdGVtXCJcbiAgICBbaXRlbVRlbXBsYXRlXT1cIml0ZW1UZW1wbGF0ZVwiXG4gICAgW3N3aXBlQWN0aW9uc109XCJzd2lwZUFjdGlvbnNcIlxuICAgIFtib3VuZGFyeUNsYXNzXT1cIl9nZXRCb3VuZGFyeUNsYXNzKGksIGl0ZW1zKVwiXG4gICAgW2lzU2VsZWN0YWJsZV09XCJfaXNTZWxlY3RhYmxlXCJcbiAgICBbZ2V0SXRlbUNvbG9yXT1cImdldEl0ZW1Db2xvclwiXG4gICAgW2lzU2VsZWN0ZWRdPVwiX2lzU2VsZWN0YWJsZSAmJiBpdGVtID09PSBfc2VsZWN0ZWRJdGVtXCJcbiAgICAoaXRlbVNlbGVjdCk9XCJvbkl0ZW1TZWxlY3QoJGV2ZW50KVwiXG4gICAgKHN3aXBlQWN0aW9uU2VsZWN0KT1cIm9uU3dpcGVBY3Rpb25TZWxlY3QoJGV2ZW50KVwiXG4gICAgW2NsYXNzLmlzLXNpbmdsZV09XCJpdGVtcy5sZW5ndGggPT09IDFcIlxuICA+XG4gIDwva2lyYnktbGlzdC1pdGVtPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Rlc2lnbnN5c3RlbS9zcmMvbGliL2NvbXBvbmVudHMvbGlzdC9saXN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvZGVzaWduc3lzdGVtL3NyYy9saWIvY29tcG9uZW50cy9saXN0L2xpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBQ04sV0FBVyxFQUVYLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDakYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR25ELE9BQU8sRUFDTCxtQkFBbUIsRUFDbkIsbUJBQW1CLEVBQ25CLHlCQUF5QixFQUN6QiwwQkFBMEIsR0FDM0IsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7QUFzQjFCLE1BQU0sT0FBTyxhQUFhO0lBMEh4QixZQUFvQixVQUFzQixFQUFVLEdBQXNCO1FBQXRELGVBQVUsR0FBVixVQUFVLENBQVk7UUFBVSxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQXRIMUU7O1dBRUc7UUFFSCxVQUFLLEdBQVUsRUFBRSxDQUFDO1FBbUJsQjs7V0FFRztRQUNNLHNCQUFpQixHQUFzQixLQUFLLENBQUM7UUFPdEQ7O1dBRUc7UUFDTSxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUU3Qjs7V0FFRztRQUNNLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBRWpDOzs7Ozs7V0FNRztRQUNNLFVBQUss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QUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBUXZFLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyx5QkFBeUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFHekMsa0JBQWtCO3NCQUFwRCxXQUFXO3VCQUFDLG9CQUFvQjtnQkFDSyxvQkFBb0I7c0JBQXpELFdBQVc7dUJBQUMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBUZW1wbGF0ZVJlZixcbiAgVHJhY2tCeUZ1bmN0aW9uLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBUaGVtZUNvbG9yIH0gZnJvbSAnQGtpcmJ5ZGVzaWduL2NvcmUnO1xuXG5pbXBvcnQgeyBJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi4vaXRlbS9pdGVtLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL2luZmluaXRlLXNjcm9sbC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTGlzdEhlbHBlciB9IGZyb20gJy4vaGVscGVycy9saXN0LWhlbHBlcic7XG5pbXBvcnQgeyBCb3VuZGFyeUNsYXNzIH0gZnJvbSAnLi9saXN0LWl0ZW0vbGlzdC1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0U3dpcGVBY3Rpb24gfSBmcm9tICcuL2xpc3Qtc3dpcGUtYWN0aW9uLnR5cGUnO1xuaW1wb3J0IHtcbiAgTGlzdEZvb3RlckRpcmVjdGl2ZSxcbiAgTGlzdEhlYWRlckRpcmVjdGl2ZSxcbiAgTGlzdEl0ZW1UZW1wbGF0ZURpcmVjdGl2ZSxcbiAgTGlzdFNlY3Rpb25IZWFkZXJEaXJlY3RpdmUsXG59IGZyb20gJy4vbGlzdC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTG9hZE9uRGVtYW5kRXZlbnQsIExvYWRPbkRlbWFuZEV2ZW50RGF0YSB9IGZyb20gJy4vbGlzdC5ldmVudCc7XG5cbmV4cG9ydCB0eXBlIExpc3RTaGFwZSA9ICdzcXVhcmUnIHwgJ3JvdW5kZWQnIHwgJ25vbmUnO1xuXG5leHBvcnQgdHlwZSBTdGFuZEFsb25lU3BhY2luZyA9XG4gIHwgJ3h4eHhzJ1xuICB8ICd4eHhzJ1xuICB8ICd4eHMnXG4gIHwgJ3hzJ1xuICB8ICdzbSdcbiAgfCAnbWQnXG4gIHwgJ2xnJ1xuICB8ICd4bCdcbiAgfCAneHhsJ1xuICB8ICd4eHhsJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2tpcmJ5LWxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3QuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbTGlzdEhlbHBlcl0sXG59KVxuZXhwb3J0IGNsYXNzIExpc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIEBWaWV3Q2hpbGQoJ2xpc3QnLCB7IHN0YXRpYzogdHJ1ZSB9KSBsaXN0OiBhbnk7XG4gIEBWaWV3Q2hpbGQoSW5maW5pdGVTY3JvbGxEaXJlY3RpdmUpIHNjcm9sbERpcmVjdGl2ZTogSW5maW5pdGVTY3JvbGxEaXJlY3RpdmU7XG5cbiAgLyoqXG4gICAqIFByb3ZpZGUgaXRlbXMgZm9yIHRoZSBsaXN0IHRvIHJlbmRlci4gSXRlbXMgbXVzdCBiZSBwcm92aWRlZCBpbiB0aGUgb3JkZXIgeW91IGV4cGVjdCB0aGVtIHRvIGJlIHJlbmRlcmVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgaXRlbXM6IGFueVtdID0gW107XG5cbiAgQElucHV0KCkgZ2V0SXRlbUNvbG9yOiAoaXRlbTogYW55KSA9PiBUaGVtZUNvbG9yO1xuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB0byBkZXRlcm1pbmUgbmFtZSBvZiBzZWN0aW9uLiBTZWN0aW9ucyB3aWxsIGJlIG9yZGVyZWQgYWxwaGFiZXRpY2FsbHkuXG4gICAqL1xuICBASW5wdXQoKSBnZXRTZWN0aW9uTmFtZTogKGl0ZW06IGFueSkgPT4gc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDYWxsYmFjayB0aGF0IGRlZmluZXMgaG93IHRvIHRyYWNrIGNoYW5nZXMgZm9yIGl0ZW1zIGluIHRoZSBpdGVyYWJsZS5cbiAgICovXG4gIEBJbnB1dCgpIHRyYWNrQnk6IFRyYWNrQnlGdW5jdGlvbjxhbnk+O1xuXG4gIC8qKlxuICAgKiBQcm9wZXJ0eSBuYW1lIHRvIGRlY2lkZSB3aGljaCBpdGVtcyBzaG91bGQgYmUgc3RhbmQgYWxvbmVcbiAgICovXG4gIEBJbnB1dCgpIGdldFN0YW5kQWxvbmVCeVByb3BlcnR5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEJvdHRvbSBtYXJnaW4gZm9yIHN0YW5kIGFsb25lIGl0ZW1zXG4gICAqL1xuICBASW5wdXQoKSBzdGFuZEFsb25lU3BhY2luZzogU3RhbmRBbG9uZVNwYWNpbmcgPSAneHhzJztcblxuICAvKipcbiAgICogVGV4dCB0byBkaXNwbGF5IHdoZW4gbm8gbW9yZSBpdGVtcyBjYW4gYmUgbG9hZGVkICh1c2VkIGZvciBcIm9uIGRlbWFuZFwiLWxvYWRpbmcpLlxuICAgKi9cbiAgQElucHV0KCkgbm9Nb3JlSXRlbXNUZXh0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgZGl2aWRlcnMgKGJvdHRvbS1ib3JkZXIgb24gbGlzdCBpdGVtcykgc2hvdWxkIGJlIHNob3duIG9yIG5vdC5cbiAgICovXG4gIEBJbnB1dCgpIHNob3dEaXZpZGVyID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgbGlzdCByb3cgdGV4dCBzaG91bGQgdHVybiBib2xkIG9uIHNlbGVjdGlvblxuICAgKi9cbiAgQElucHV0KCkgbWFya1NlbGVjdGVkUm93ID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIERldGVybWluZSBvdXRsaW5lIHNoYXBlIG9mOlxuICAgKiAtIGxpc3QsIGlmIHtAbGluayAjaXNTZWN0aW9uc0VuYWJsZWR9IGlzIGBmYWxzZWBcbiAgICogLSBzZWN0aW9uLCBpZiB7QGxpbmsgI2lzU2VjdGlvbnNFbmFibGVkfSBpcyBgdHJ1ZWBcbiAgICpcbiAgICogYHNxdWFyZWAgbWVhbnMgKip3aXRob3V0Kiogcm91bmRlZCBjb3JuZXJzLCBgcm91bmRlZGAgbWVhbnMgKip3aXRoKiogcm91bmRlZCBjb3JuZXJzLiwgIGBub25lYCBtZWFucyAqKndpdGhvdXQqKiBwYWRkaW5nLCBib3JkZXIsIGJveC1zaGFkb3cgYW5kIGJhY2tncm91bmQuXG4gICAqL1xuICBASW5wdXQoKSBzaGFwZTogTGlzdFNoYXBlID0gJ3JvdW5kZWQnO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2hhcGUtcm91bmRlZCcpXG4gIHB1YmxpYyBnZXQgaXNTaGFwZVJvdW5kZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcGUgPT09ICdyb3VuZGVkJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2hhcGUtbm9uZScpXG4gIHB1YmxpYyBnZXQgaXNTaGFwZU5vbmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcGUgPT09ICdub25lJztcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaXRlbS1zcGFjaW5nJylcbiAgQElucHV0KClcbiAgaGFzSXRlbVNwYWNpbmc6IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIERldGVybWluZXMgaWYgdGhlIGxvYWRPbkRlbWFuZCBldmVudCBzaG91bGQgYmUgZW1pdHRlZC5cbiAgICogV2lsbCBkZWZhdWx0IHRvIHRydWUgaWYgdGhlcmUgaXMgYXQgbGVhc3Qgb25lIHN1YnNjcmliZXIgdG8gdGhlIGxvYWRPbkRlbWFuZCBldmVudFxuICAgKi9cbiAgQElucHV0KCkgaXNMb2FkT25EZW1hbmRFbmFibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBFbWl0dGluZyBldmVudCB3aGVuIG1vcmUgaXRlbXMgYXJlIHRvIGJlIGxvYWRlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBsb2FkT25EZW1hbmQgPSBuZXcgRXZlbnRFbWl0dGVyPExvYWRPbkRlbWFuZEV2ZW50PigpO1xuXG4gIC8qKlxuICAgKiBEZXRlcm1pbmVzIGlmIGxpc3QgaXRlbXMgc2hvdWxkIGhhdmUgc3dpcGUgYWN0aW9ucyBvciBub3RcbiAgICogLSB0aGUgb3JkZXIgb2Ygc3dpcGUgYWN0aW9ucyBpcyB1c2VkIHRvIGRldGVybWluZSBlZGdlIGFjdGlvbnMsXG4gICAqIGFzIHdlbGwgYXMgdGhlaXIgb3JkZXIgb2YgYXBwZWFyYW5jZSBvbiB0aGUgc2NyZWVuLlxuICAgKi9cbiAgQElucHV0KCkgc3dpcGVBY3Rpb25zOiBMaXN0U3dpcGVBY3Rpb25bXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBFbWl0dGluZyBldmVudCB3aGVuIGFuIGl0ZW0gaXMgc2VsZWN0ZWQgKHRhcHBlZCBvbiBtb2JpbGUsIGNsaWNrZWQgb24gd2ViKVxuICAgKi9cbiAgQE91dHB1dCgpIGl0ZW1TZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBASW5wdXQoKSBkaXNhYmxlU2VsZWN0aW9uSGlnaGxpZ2h0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihJdGVtQ29tcG9uZW50KVxuICBraXJieUl0ZW1zOiBJdGVtQ29tcG9uZW50W107XG5cbiAgQENvbnRlbnRDaGlsZChMaXN0SGVhZGVyRGlyZWN0aXZlLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IFRlbXBsYXRlUmVmIH0pXG4gIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoTGlzdFNlY3Rpb25IZWFkZXJEaXJlY3RpdmUsIHsgc3RhdGljOiBmYWxzZSwgcmVhZDogVGVtcGxhdGVSZWYgfSlcbiAgc2VjdGlvbkhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBDb250ZW50Q2hpbGQoTGlzdEZvb3RlckRpcmVjdGl2ZSwgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBmb290ZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICAvKipcbiAgICogVGhlIGZpcnN0IGVsZW1lbnQgdGhhdCBtYXRjaGVzIExpc3RJdGVtRGlyZWN0aXZlLlxuICAgKiBBcyBhIHN0cnVjdHVyYWwgZGlyZWN0aXZlIGl0IHVuZm9sZHMgaW50byBhIHRlbXBsYXRlLiBUaGlzIGlzIGEgcmVmZXJlbmNlIHRvIHRoYXQuXG4gICAqL1xuICBAQ29udGVudENoaWxkKExpc3RJdGVtVGVtcGxhdGVEaXJlY3RpdmUsIHsgc3RhdGljOiB0cnVlLCByZWFkOiBUZW1wbGF0ZVJlZiB9KVxuICBpdGVtVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtc2VjdGlvbnMnKSBfaXNTZWN0aW9uc0VuYWJsZWQ6IGJvb2xlYW47XG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLXN0YW5kLWFsb25lJykgX2lzU3RhbmRBbG9uZUVuYWJsZWQ6IGJvb2xlYW47XG5cbiAgX2lzU2VsZWN0YWJsZTogYm9vbGVhbjtcbiAgX2lzTG9hZGluZzogYm9vbGVhbjtcbiAgX2dyb3VwZWRJdGVtczogYW55W107XG4gIF9zZWxlY3RlZEl0ZW06IGFueTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxpc3RIZWxwZXI6IExpc3RIZWxwZXIsIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLl9pc1NlbGVjdGFibGUgPSB0aGlzLml0ZW1TZWxlY3Qub2JzZXJ2ZXJzLmxlbmd0aCA+IDA7XG5cbiAgICBpZiAodGhpcy5pc0xvYWRPbkRlbWFuZEVuYWJsZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5pc0xvYWRPbkRlbWFuZEVuYWJsZWQgPSB0aGlzLmxvYWRPbkRlbWFuZC5vYnNlcnZlcnMubGVuZ3RoID4gMDtcbiAgICB9XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2lzU2VsZWN0YWJsZSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMua2lyYnlJdGVtcy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgaXRlbS5zZWxlY3RhYmxlID0gdHJ1ZTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gV2UgYXJlIG11dGF0aW5nIHRoZSBpdGVtcyBkaXJlY3RseSwgYWZ0ZXIgdGhleSBoYXZlIGJlZW4gcmVuZGVyZWQgaW4gdGhlIHRlbXBsYXRlLlxuICAgICAgICAvLyBUaGVyZWZvcmUsIHdlIG1ha2Ugc3VyZSB0byBkZXRlY3RDaGFuZ2VzLlxuICAgICAgICAvLyBraXJieS1pdGVtIGhhbmRsZXMgbWFya2luZyBpdHNlbGYgZm9yIGNoZWNrIHdoZW4gc2VsZWN0YWJsZSBpcyBzZXQuXG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIHRoaXMuX2lzU2VjdGlvbnNFbmFibGVkID0gISF0aGlzLmdldFNlY3Rpb25OYW1lO1xuICAgIHRoaXMuX2lzU3RhbmRBbG9uZUVuYWJsZWQgPSAhIXRoaXMuZ2V0U3RhbmRBbG9uZUJ5UHJvcGVydHk7XG5cbiAgICBpZiAodGhpcy5faXNTZWN0aW9uc0VuYWJsZWQgJiYgdGhpcy5faXNTdGFuZEFsb25lRW5hYmxlZCkge1xuICAgICAgdGhpcy5fZ3JvdXBlZEl0ZW1zID0gdGhpcy5saXN0SGVscGVyLmdyb3VwU2VjdGlvbnNXaXRoU3RhbmRBbG9uZUl0ZW1zKFxuICAgICAgICB0aGlzLml0ZW1zLFxuICAgICAgICB0aGlzLmdldFNlY3Rpb25OYW1lLFxuICAgICAgICB0aGlzLmdldFN0YW5kQWxvbmVCeVByb3BlcnR5XG4gICAgICApO1xuICAgIH0gZWxzZSBpZiAodGhpcy5faXNTZWN0aW9uc0VuYWJsZWQpIHtcbiAgICAgIHRoaXMuX2dyb3VwZWRJdGVtcyA9IHRoaXMubGlzdEhlbHBlci5ncm91cFNlY3Rpb25zKHRoaXMuaXRlbXMsIHRoaXMuZ2V0U2VjdGlvbk5hbWUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5faXNTdGFuZEFsb25lRW5hYmxlZCkge1xuICAgICAgdGhpcy5fZ3JvdXBlZEl0ZW1zID0gdGhpcy5saXN0SGVscGVyLmdyb3VwU3RhbmRBbG9uZUl0ZW1zKFxuICAgICAgICB0aGlzLml0ZW1zLFxuICAgICAgICB0aGlzLmdldFN0YW5kQWxvbmVCeVByb3BlcnR5XG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIF9vbkxvYWRPbkRlbWFuZChldmVudD86IExvYWRPbkRlbWFuZEV2ZW50RGF0YSkge1xuICAgIHRoaXMubGlzdEhlbHBlci5vbkxvYWRPbkRlbWFuZCh0aGlzLCBldmVudCk7XG4gIH1cblxuICBkZWZhdWx0VHJhY2tCeShpbmRleDogbnVtYmVyKTogYW55IHtcbiAgICByZXR1cm4gaW5kZXg7XG4gIH1cblxuICBzZWN0aW9uVHJhY2tCeShfOiBudW1iZXIsIHNlY3Rpb246IHsgbmFtZTogc3RyaW5nIH0pOiBzdHJpbmcge1xuICAgIHJldHVybiBzZWN0aW9uLm5hbWU7XG4gIH1cblxuICBvbkl0ZW1TZWxlY3QoaXRlbTogYW55KSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVTZWxlY3Rpb25IaWdobGlnaHQpIHtcbiAgICAgIHRoaXMuX3NlbGVjdGVkSXRlbSA9IGl0ZW07XG4gICAgfVxuICAgIHRoaXMuaXRlbVNlbGVjdC5lbWl0KGl0ZW0pO1xuICB9XG5cbiAgb25Td2lwZUFjdGlvblNlbGVjdChhcmdzOiBhbnkpOiB2b2lkIHtcbiAgICBhcmdzLnN3aXBlQWN0aW9uLm9uU2VsZWN0ZWQoYXJncy5pdGVtKTtcbiAgICB0aGlzLmxpc3QuY2xvc2VTbGlkaW5nSXRlbXMoKTtcbiAgICBhcmdzLmV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG5cbiAgX2dldEJvdW5kYXJ5Q2xhc3MoaW5kZXg6IG51bWJlciwgc2VjdGlvbj86IGFueVtdKTogQm91bmRhcnlDbGFzc1tdIHwgQm91bmRhcnlDbGFzcyB7XG4gICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICBpZiAodGhpcy5oZWFkZXJUZW1wbGF0ZSkgcmV0dXJuIG51bGw7XG4gICAgICBlbHNlIHJldHVybiBzZWN0aW9uLmxlbmd0aCA9PT0gMSA/IFsnZmlyc3QnLCAnbGFzdCddIDogJ2ZpcnN0JztcbiAgICB9XG5cbiAgICBpZiAoaW5kZXggPT09IHNlY3Rpb24ubGVuZ3RoIC0gMSkge1xuICAgICAgcmV0dXJuIHRoaXMuZm9vdGVyVGVtcGxhdGUgPyBudWxsIDogJ2xhc3QnO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgc3RhbmRBbG9uZUNsYXNzKCkge1xuICAgIHJldHVybiB0aGlzLl9pc1N0YW5kQWxvbmVFbmFibGVkID8gYHN0YW5kLWFsb25lLWJvdHRvbS1tYXJnaW4tJHt0aGlzLnN0YW5kQWxvbmVTcGFjaW5nfWAgOiAnJztcbiAgfVxufVxuIiwiPGlvbi1saXN0XG4gICNsaXN0XG4gIGtpcmJ5SW5maW5pdGVTY3JvbGxcbiAgKHNjcm9sbEVuZCk9XCJfb25Mb2FkT25EZW1hbmQoKVwiXG4gIFtkaXNhYmxlZF09XCIhaXNMb2FkT25EZW1hbmRFbmFibGVkXCJcbiAgY2xhc3M9XCJsaXN0XCJcbiAgW2NsYXNzLmhhcy1oZWFkZXJdPVwiaGVhZGVyVGVtcGxhdGVcIlxuICBbY2xhc3MuaGFzLWZvb3Rlcl09XCJmb290ZXJUZW1wbGF0ZVwiXG4gIFtjbGFzcy5oYXMtZGl2aWRlcl09XCJzaG93RGl2aWRlclwiXG4+XG4gIDxpb24tbGlzdC1oZWFkZXIgKm5nSWY9XCJoZWFkZXJUZW1wbGF0ZVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJoZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICA8L2lvbi1saXN0LWhlYWRlcj5cblxuICA8bmctY29udGFpbmVyXG4gICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgIF9pc1NlY3Rpb25zRW5hYmxlZCB8fCBfaXNTdGFuZEFsb25lRW5hYmxlZCA/IGdyb3VwZWRMaXN0VGVtcGxhdGUgOiBpdGVtc1RlbXBsYXRlO1xuICAgICAgY29udGV4dDogeyAkaW1wbGljaXQ6IGl0ZW1zIH1cbiAgICBcIlxuICA+PC9uZy1jb250YWluZXI+XG5cbiAgPGRpdiAqbmdJZj1cImZvb3RlclRlbXBsYXRlXCIgY2xhc3M9XCJmb290ZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZm9vdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG48L2lvbi1saXN0PlxuXG48cCAqbmdJZj1cIiFpc0xvYWRPbkRlbWFuZEVuYWJsZWQgJiYgbm9Nb3JlSXRlbXNUZXh0XCIgY2xhc3M9XCJuby1tb3JlLWl0ZW1zXCI+XG4gIHt7IG5vTW9yZUl0ZW1zVGV4dCB9fVxuPC9wPlxuPGRpdiAqbmdJZj1cIl9pc0xvYWRpbmdcIiBjbGFzcz1cImxvYWRpbmdcIj5cbiAgPGtpcmJ5LXNwaW5uZXI+PC9raXJieS1zcGlubmVyPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZ3JvdXBlZExpc3RUZW1wbGF0ZT5cbiAgPGlvbi1pdGVtLWdyb3VwXG4gICAgKm5nRm9yPVwibGV0IHNlY3Rpb24gb2YgX2dyb3VwZWRJdGVtczsgdHJhY2tCeTogc2VjdGlvblRyYWNrQnlcIlxuICAgIFtuZ0NsYXNzXT1cInN0YW5kQWxvbmVDbGFzcygpXCJcbiAgPlxuICAgIDxpb24taXRlbS1kaXZpZGVyICpuZ0lmPVwiX2lzU2VjdGlvbnNFbmFibGVkXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VjdGlvbkhlYWRlclRlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogc2VjdGlvbi5uYW1lIH1cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvaW9uLWl0ZW0tZGl2aWRlcj5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJfaXNTZWN0aW9uc0VuYWJsZWQgJiYgX2lzU3RhbmRBbG9uZUVuYWJsZWQ7IGVsc2UgZ3JvdXBlZEZsYXRMaXN0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibGlzdC1pdGVtc1wiIFtuZ0NsYXNzXT1cInN0YW5kQWxvbmVDbGFzcygpXCIgKm5nRm9yPVwibGV0IGxpc3Qgb2Ygc2VjdGlvbi5saXN0c1wiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpdGVtc1RlbXBsYXRlOyBjb250ZXh0OiB7ICRpbXBsaWNpdDogbGlzdCB9XCJcbiAgICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI2dyb3VwZWRGbGF0TGlzdD5cbiAgICAgIDxkaXYgY2xhc3M9XCJsaXN0LWl0ZW1zXCIgW25nQ2xhc3NdPVwic3RhbmRBbG9uZUNsYXNzKClcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXRlbXNUZW1wbGF0ZTsgY29udGV4dDogeyAkaW1wbGljaXQ6IHNlY3Rpb24uaXRlbXMgfVwiXG4gICAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvaW9uLWl0ZW0tZ3JvdXA+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2l0ZW1zVGVtcGxhdGUgbGV0LWl0ZW1zPlxuICA8a2lyYnktbGlzdC1pdGVtXG4gICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgaXRlbXM7IGxldCBpID0gaW5kZXg7IHRyYWNrQnk6IHRyYWNrQnkgfHwgZGVmYXVsdFRyYWNrQnlcIlxuICAgIFtpdGVtXT1cIml0ZW1cIlxuICAgIFtpdGVtVGVtcGxhdGVdPVwiaXRlbVRlbXBsYXRlXCJcbiAgICBbc3dpcGVBY3Rpb25zXT1cInN3aXBlQWN0aW9uc1wiXG4gICAgW2JvdW5kYXJ5Q2xhc3NdPVwiX2dldEJvdW5kYXJ5Q2xhc3MoaSwgaXRlbXMpXCJcbiAgICBbaXNTZWxlY3RhYmxlXT1cIl9pc1NlbGVjdGFibGVcIlxuICAgIFtnZXRJdGVtQ29sb3JdPVwiZ2V0SXRlbUNvbG9yXCJcbiAgICBbaXNTZWxlY3RlZF09XCJfaXNTZWxlY3RhYmxlICYmIGl0ZW0gPT09IF9zZWxlY3RlZEl0ZW1cIlxuICAgIChpdGVtU2VsZWN0KT1cIm9uSXRlbVNlbGVjdCgkZXZlbnQpXCJcbiAgICAoc3dpcGVBY3Rpb25TZWxlY3QpPVwib25Td2lwZUFjdGlvblNlbGVjdCgkZXZlbnQpXCJcbiAgICBbY2xhc3MuaXMtc2luZ2xlXT1cIml0ZW1zLmxlbmd0aCA9PT0gMVwiXG4gID5cbiAgPC9raXJieS1saXN0LWl0ZW0+XG48L25nLXRlbXBsYXRlPlxuIl19
|