@ui5/webcomponents-ngx 0.0.1-rc.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/README.md +3 -0
- package/esm2020/fiori/directives/bar.mjs +36 -0
- package/esm2020/fiori/directives/barcode-scanner-dialog.mjs +35 -0
- package/esm2020/fiori/directives/dynamic-side-content.mjs +80 -0
- package/esm2020/fiori/directives/filter-item-option.mjs +38 -0
- package/esm2020/fiori/directives/filter-item.mjs +33 -0
- package/esm2020/fiori/directives/flexible-column-layout.mjs +107 -0
- package/esm2020/fiori/directives/illustrated-message.mjs +68 -0
- package/esm2020/fiori/directives/media-gallery-item.mjs +49 -0
- package/esm2020/fiori/directives/media-gallery.mjs +72 -0
- package/esm2020/fiori/directives/notification-action.mjs +54 -0
- package/esm2020/fiori/directives/notification-list-group-item.mjs +104 -0
- package/esm2020/fiori/directives/notification-list-item-base.mjs +85 -0
- package/esm2020/fiori/directives/notification-list-item.mjs +99 -0
- package/esm2020/fiori/directives/page.mjs +60 -0
- package/esm2020/fiori/directives/product-switch-item.mjs +66 -0
- package/esm2020/fiori/directives/product-switch.mjs +22 -0
- package/esm2020/fiori/directives/shell-bar-item.mjs +50 -0
- package/esm2020/fiori/directives/shell-bar.mjs +171 -0
- package/esm2020/fiori/directives/side-navigation-item.mjs +62 -0
- package/esm2020/fiori/directives/side-navigation-sub-item.mjs +46 -0
- package/esm2020/fiori/directives/side-navigation.mjs +40 -0
- package/esm2020/fiori/directives/sort-item.mjs +38 -0
- package/esm2020/fiori/directives/timeline-item.mjs +66 -0
- package/esm2020/fiori/directives/timeline.mjs +38 -0
- package/esm2020/fiori/directives/upload-collection-item.mjs +124 -0
- package/esm2020/fiori/directives/upload-collection.mjs +75 -0
- package/esm2020/fiori/directives/view-settings-dialog.mjs +52 -0
- package/esm2020/fiori/directives/wizard-step.mjs +70 -0
- package/esm2020/fiori/directives/wizard.mjs +26 -0
- package/esm2020/fiori/ui5-fiori.module.mjs +134 -0
- package/esm2020/generic-cva.mjs +41 -0
- package/esm2020/index.mjs +114 -0
- package/esm2020/main/directives/avatar-group.mjs +56 -0
- package/esm2020/main/directives/avatar.mjs +81 -0
- package/esm2020/main/directives/badge.mjs +33 -0
- package/esm2020/main/directives/breadcrumbs-item.mjs +46 -0
- package/esm2020/main/directives/breadcrumbs.mjs +42 -0
- package/esm2020/main/directives/busy-indicator.mjs +54 -0
- package/esm2020/main/directives/button.mjs +98 -0
- package/esm2020/main/directives/calendar-date.mjs +30 -0
- package/esm2020/main/directives/calendar.mjs +88 -0
- package/esm2020/main/directives/card-header.mjs +64 -0
- package/esm2020/main/directives/card.mjs +41 -0
- package/esm2020/main/directives/carousel.mjs +85 -0
- package/esm2020/main/directives/check-box.mjs +154 -0
- package/esm2020/main/directives/color-palette-item.mjs +30 -0
- package/esm2020/main/directives/color-palette-popover.mjs +67 -0
- package/esm2020/main/directives/color-palette.mjs +26 -0
- package/esm2020/main/directives/color-picker.mjs +34 -0
- package/esm2020/main/directives/combo-box-group-item.mjs +30 -0
- package/esm2020/main/directives/combo-box-item.mjs +38 -0
- package/esm2020/main/directives/combo-box.mjs +158 -0
- package/esm2020/main/directives/custom-list-item.mjs +53 -0
- package/esm2020/main/directives/date-picker.mjs +242 -0
- package/esm2020/main/directives/date-range-picker.mjs +274 -0
- package/esm2020/main/directives/date-time-picker.mjs +242 -0
- package/esm2020/main/directives/day-picker.mjs +111 -0
- package/esm2020/main/directives/dialog.mjs +160 -0
- package/esm2020/main/directives/file-uploader.mjs +141 -0
- package/esm2020/main/directives/group-header-list-item.mjs +38 -0
- package/esm2020/main/directives/icon.mjs +62 -0
- package/esm2020/main/directives/input.mjs +210 -0
- package/esm2020/main/directives/label.mjs +54 -0
- package/esm2020/main/directives/link.mjs +98 -0
- package/esm2020/main/directives/list.mjs +146 -0
- package/esm2020/main/directives/menu-item.mjs +70 -0
- package/esm2020/main/directives/menu.mjs +40 -0
- package/esm2020/main/directives/message-strip.mjs +53 -0
- package/esm2020/main/directives/month-picker.mjs +95 -0
- package/esm2020/main/directives/multi-combo-box-group-item.mjs +30 -0
- package/esm2020/main/directives/multi-combo-box-item.mjs +46 -0
- package/esm2020/main/directives/multi-combo-box.mjs +177 -0
- package/esm2020/main/directives/multi-input.mjs +227 -0
- package/esm2020/main/directives/option.mjs +62 -0
- package/esm2020/main/directives/panel.mjs +85 -0
- package/esm2020/main/directives/popover.mjs +192 -0
- package/esm2020/main/directives/progress-indicator.mjs +62 -0
- package/esm2020/main/directives/radio-button.mjs +154 -0
- package/esm2020/main/directives/range-slider.mjs +195 -0
- package/esm2020/main/directives/rating-indicator.mjs +66 -0
- package/esm2020/main/directives/responsive-popover.mjs +192 -0
- package/esm2020/main/directives/segmented-button-item.mjs +106 -0
- package/esm2020/main/directives/segmented-button.mjs +42 -0
- package/esm2020/main/directives/select.mjs +85 -0
- package/esm2020/main/directives/slider-base.mjs +135 -0
- package/esm2020/main/directives/slider.mjs +183 -0
- package/esm2020/main/directives/split-button.mjs +69 -0
- package/esm2020/main/directives/standard-list-item.mjs +101 -0
- package/esm2020/main/directives/step-input.mjs +133 -0
- package/esm2020/main/directives/suggestion-group-item.mjs +30 -0
- package/esm2020/main/directives/suggestion-item.mjs +86 -0
- package/esm2020/main/directives/switch.mjs +130 -0
- package/esm2020/main/directives/tab-container.mjs +96 -0
- package/esm2020/main/directives/tab-separator.mjs +25 -0
- package/esm2020/main/directives/tab.mjs +76 -0
- package/esm2020/main/directives/table-cell.mjs +22 -0
- package/esm2020/main/directives/table-column.mjs +46 -0
- package/esm2020/main/directives/table-group-row.mjs +22 -0
- package/esm2020/main/directives/table-row.mjs +46 -0
- package/esm2020/main/directives/table.mjs +126 -0
- package/esm2020/main/directives/text-area.mjs +144 -0
- package/esm2020/main/directives/time-picker.mjs +143 -0
- package/esm2020/main/directives/title.mjs +38 -0
- package/esm2020/main/directives/toast.mjs +41 -0
- package/esm2020/main/directives/toggle-button.mjs +106 -0
- package/esm2020/main/directives/token.mjs +53 -0
- package/esm2020/main/directives/tree-item-custom.mjs +115 -0
- package/esm2020/main/directives/tree-item.mjs +120 -0
- package/esm2020/main/directives/tree.mjs +104 -0
- package/esm2020/main/directives/wheel-slider.mjs +62 -0
- package/esm2020/main/directives/year-picker.mjs +95 -0
- package/esm2020/main/ui5-main.module.mjs +376 -0
- package/esm2020/main/ui5-webcomponents-theming.module.mjs +21 -0
- package/esm2020/main/ui5-webcomponents-theming.service.mjs +34 -0
- package/esm2020/ui5-angular.module.mjs +22 -0
- package/esm2020/ui5-webcomponents-ngx.mjs +5 -0
- package/fesm2015/ui5-webcomponents-ngx.mjs +9375 -0
- package/fesm2015/ui5-webcomponents-ngx.mjs.map +1 -0
- package/fesm2020/ui5-webcomponents-ngx.mjs +9368 -0
- package/fesm2020/ui5-webcomponents-ngx.mjs.map +1 -0
- package/fiori/directives/bar.d.ts +20 -0
- package/fiori/directives/barcode-scanner-dialog.d.ts +33 -0
- package/fiori/directives/dynamic-side-content.d.ts +49 -0
- package/fiori/directives/filter-item-option.d.ts +19 -0
- package/fiori/directives/filter-item.d.ts +19 -0
- package/fiori/directives/flexible-column-layout.d.ts +63 -0
- package/fiori/directives/illustrated-message.d.ts +32 -0
- package/fiori/directives/media-gallery-item.d.ts +24 -0
- package/fiori/directives/media-gallery.d.ts +43 -0
- package/fiori/directives/notification-action.d.ts +25 -0
- package/fiori/directives/notification-list-group-item.d.ts +54 -0
- package/fiori/directives/notification-list-item-base.d.ts +46 -0
- package/fiori/directives/notification-list-item.d.ts +54 -0
- package/fiori/directives/page.d.ts +30 -0
- package/fiori/directives/product-switch-item.d.ts +37 -0
- package/fiori/directives/product-switch.d.ts +13 -0
- package/fiori/directives/shell-bar-item.d.ts +33 -0
- package/fiori/directives/shell-bar.d.ts +106 -0
- package/fiori/directives/side-navigation-item.d.ts +28 -0
- package/fiori/directives/side-navigation-sub-item.d.ts +22 -0
- package/fiori/directives/side-navigation.d.ts +32 -0
- package/fiori/directives/sort-item.d.ts +19 -0
- package/fiori/directives/timeline-item.d.ts +37 -0
- package/fiori/directives/timeline.d.ts +19 -0
- package/fiori/directives/upload-collection-item.d.ts +65 -0
- package/fiori/directives/upload-collection.d.ts +49 -0
- package/fiori/directives/view-settings-dialog.d.ts +51 -0
- package/fiori/directives/wizard-step.d.ts +31 -0
- package/fiori/directives/wizard.d.ts +26 -0
- package/fiori/ui5-fiori.module.d.ts +36 -0
- package/generic-cva.d.ts +27 -0
- package/index.d.ts +113 -0
- package/main/directives/avatar-group.d.ts +38 -0
- package/main/directives/avatar.d.ts +36 -0
- package/main/directives/badge.d.ts +19 -0
- package/main/directives/breadcrumbs-item.d.ts +22 -0
- package/main/directives/breadcrumbs.d.ts +34 -0
- package/main/directives/busy-indicator.d.ts +25 -0
- package/main/directives/button.d.ts +53 -0
- package/main/directives/calendar-date.d.ts +16 -0
- package/main/directives/calendar.d.ts +50 -0
- package/main/directives/card-header.d.ts +38 -0
- package/main/directives/card.d.ts +21 -0
- package/main/directives/carousel.d.ts +47 -0
- package/main/directives/check-box.d.ts +62 -0
- package/main/directives/color-palette-item.d.ts +16 -0
- package/main/directives/color-palette-popover.d.ts +42 -0
- package/main/directives/color-palette.d.ts +24 -0
- package/main/directives/color-picker.d.ts +25 -0
- package/main/directives/combo-box-group-item.d.ts +16 -0
- package/main/directives/combo-box-item.d.ts +19 -0
- package/main/directives/combo-box.d.ts +70 -0
- package/main/directives/custom-list-item.d.ts +34 -0
- package/main/directives/date-picker.d.ts +115 -0
- package/main/directives/date-range-picker.d.ts +127 -0
- package/main/directives/date-time-picker.d.ts +115 -0
- package/main/directives/day-picker.d.ts +60 -0
- package/main/directives/dialog.d.ts +90 -0
- package/main/directives/file-uploader.d.ts +60 -0
- package/main/directives/group-header-list-item.d.ts +19 -0
- package/main/directives/icon.d.ts +28 -0
- package/main/directives/input.d.ts +98 -0
- package/main/directives/label.d.ts +25 -0
- package/main/directives/link.d.ts +57 -0
- package/main/directives/list.d.ts +85 -0
- package/main/directives/menu-item.d.ts +31 -0
- package/main/directives/menu.d.ts +32 -0
- package/main/directives/message-strip.d.ts +34 -0
- package/main/directives/month-picker.d.ts +54 -0
- package/main/directives/multi-combo-box-group-item.d.ts +16 -0
- package/main/directives/multi-combo-box-item.d.ts +22 -0
- package/main/directives/multi-combo-box.d.ts +78 -0
- package/main/directives/multi-input.d.ts +110 -0
- package/main/directives/option.d.ts +28 -0
- package/main/directives/panel.d.ts +45 -0
- package/main/directives/popover.d.ts +102 -0
- package/main/directives/progress-indicator.d.ts +28 -0
- package/main/directives/radio-button.d.ts +62 -0
- package/main/directives/range-slider.d.ts +89 -0
- package/main/directives/rating-indicator.d.ts +37 -0
- package/main/directives/responsive-popover.d.ts +102 -0
- package/main/directives/segmented-button-item.d.ts +52 -0
- package/main/directives/segmented-button.d.ts +31 -0
- package/main/directives/select.d.ts +48 -0
- package/main/directives/slider-base.d.ts +76 -0
- package/main/directives/slider.d.ts +86 -0
- package/main/directives/split-button.d.ts +39 -0
- package/main/directives/standard-list-item.d.ts +52 -0
- package/main/directives/step-input.d.ts +63 -0
- package/main/directives/suggestion-group-item.d.ts +16 -0
- package/main/directives/suggestion-item.d.ts +37 -0
- package/main/directives/switch.d.ts +53 -0
- package/main/directives/tab-container.d.ts +56 -0
- package/main/directives/tab-separator.d.ts +15 -0
- package/main/directives/tab.d.ts +36 -0
- package/main/directives/table-cell.d.ts +13 -0
- package/main/directives/table-column.d.ts +22 -0
- package/main/directives/table-group-row.d.ts +13 -0
- package/main/directives/table-row.d.ts +22 -0
- package/main/directives/table.d.ts +71 -0
- package/main/directives/text-area.d.ts +68 -0
- package/main/directives/time-picker.d.ts +64 -0
- package/main/directives/title.d.ts +19 -0
- package/main/directives/toast.d.ts +21 -0
- package/main/directives/toggle-button.d.ts +52 -0
- package/main/directives/token.d.ts +34 -0
- package/main/directives/tree-item-custom.d.ts +59 -0
- package/main/directives/tree-item.d.ts +60 -0
- package/main/directives/tree.d.ts +74 -0
- package/main/directives/wheel-slider.d.ts +28 -0
- package/main/directives/year-picker.d.ts +54 -0
- package/main/ui5-main.module.d.ts +86 -0
- package/main/ui5-webcomponents-theming.module.d.ts +9 -0
- package/main/ui5-webcomponents-theming.service.d.ts +16 -0
- package/package.json +51 -0
- package/schematics/add-dependencies/index.d.ts +3 -0
- package/schematics/add-dependencies/index.js +31 -0
- package/schematics/add-dependencies/index.js.map +1 -0
- package/schematics/add-dependencies/index.ts +24 -0
- package/schematics/add-dependencies/schema.json +15 -0
- package/schematics/add-styles/index.d.ts +3 -0
- package/schematics/add-styles/index.js +38 -0
- package/schematics/add-styles/index.js.map +1 -0
- package/schematics/add-styles/index.ts +34 -0
- package/schematics/add-styles/schema.json +15 -0
- package/schematics/add-theming/index.d.ts +5 -0
- package/schematics/add-theming/index.js +91 -0
- package/schematics/add-theming/index.js.map +1 -0
- package/schematics/add-theming/index.ts +116 -0
- package/schematics/add-theming/schema.json +15 -0
- package/schematics/collection.json +34 -0
- package/schematics/ng-add/available-themes.d.ts +4 -0
- package/schematics/ng-add/available-themes.js +38 -0
- package/schematics/ng-add/available-themes.js.map +1 -0
- package/schematics/ng-add/available-themes.ts +34 -0
- package/schematics/ng-add/common-css-parts.d.ts +4 -0
- package/schematics/ng-add/common-css-parts.js +46 -0
- package/schematics/ng-add/common-css-parts.js.map +1 -0
- package/schematics/ng-add/common-css-parts.ts +42 -0
- package/schematics/ng-add/index.d.ts +4 -0
- package/schematics/ng-add/index.js +93 -0
- package/schematics/ng-add/index.js.map +1 -0
- package/schematics/ng-add/index.ts +92 -0
- package/schematics/ng-add/schema.json +16 -0
- package/schematics/schema.d.ts +6 -0
- package/schematics/schema.js +3 -0
- package/schematics/schema.js.map +1 -0
- package/schematics/schema.ts +6 -0
- package/schematics/types.d.ts +1 -0
- package/schematics/utils/package-config.d.ts +5 -0
- package/schematics/utils/package-config.js +45 -0
- package/schematics/utils/package-config.js.map +1 -0
- package/schematics/utils/package-config.ts +55 -0
- package/schematics/utils/promt.d.ts +1 -0
- package/schematics/utils/promt.js +22 -0
- package/schematics/utils/promt.js.map +1 -0
- package/schematics/utils/promt.ts +6 -0
- package/ui5-angular.module.d.ts +10 -0
- package/ui5-webcomponents-ngx-v0.0.1-rc.0.tgz +0 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Directive, ElementRef, Input, Output } from '@angular/core';
|
|
2
|
+
import '@ui5/webcomponents/dist/CustomListItem.js';
|
|
3
|
+
import { Observable, NEVER } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
class CustomListItemDirective {
|
|
6
|
+
constructor(elementRef) {
|
|
7
|
+
this.elementRef = elementRef;
|
|
8
|
+
this.detailClick = NEVER;
|
|
9
|
+
}
|
|
10
|
+
set selected(val) {
|
|
11
|
+
this.elementRef.nativeElement.selected = val;
|
|
12
|
+
}
|
|
13
|
+
get selected() {
|
|
14
|
+
return this.elementRef.nativeElement.selected;
|
|
15
|
+
}
|
|
16
|
+
set type(val) {
|
|
17
|
+
this.elementRef.nativeElement.type = val;
|
|
18
|
+
}
|
|
19
|
+
get type() {
|
|
20
|
+
return this.elementRef.nativeElement.type;
|
|
21
|
+
}
|
|
22
|
+
set accessibleName(val) {
|
|
23
|
+
this.elementRef.nativeElement.accessibleName = val;
|
|
24
|
+
}
|
|
25
|
+
get accessibleName() {
|
|
26
|
+
return this.elementRef.nativeElement.accessibleName;
|
|
27
|
+
}
|
|
28
|
+
get element() {
|
|
29
|
+
return this.elementRef.nativeElement;
|
|
30
|
+
}
|
|
31
|
+
get deleteButton() {
|
|
32
|
+
return this.elementRef.nativeElement.deleteButton;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
CustomListItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CustomListItemDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
36
|
+
CustomListItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: CustomListItemDirective, selector: "ui5-li-custom", inputs: { selected: "selected", type: "type", accessibleName: "accessibleName" }, outputs: { detailClick: "detailClick" }, exportAs: ["ui5LiCustom"], ngImport: i0 });
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CustomListItemDirective, decorators: [{
|
|
38
|
+
type: Directive,
|
|
39
|
+
args: [{
|
|
40
|
+
selector: 'ui5-li-custom',
|
|
41
|
+
exportAs: 'ui5LiCustom',
|
|
42
|
+
}]
|
|
43
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { selected: [{
|
|
44
|
+
type: Input
|
|
45
|
+
}], type: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], accessibleName: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], detailClick: [{
|
|
50
|
+
type: Output
|
|
51
|
+
}] } });
|
|
52
|
+
export { CustomListItemDirective, };
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWxpc3QtaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWk1LWFuZ3VsYXIvc3JjL21haW4vZGlyZWN0aXZlcy9jdXN0b20tbGlzdC1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTywyQ0FBMkMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUErQ3pDLE1BSU0sdUJBQXVCO0lBMkIzQixZQUFvQixVQUFzRDtRQUF0RCxlQUFVLEdBQVYsVUFBVSxDQUE0QztRQUhoRSxnQkFBVyxHQUVqQixLQUFZLENBQUM7SUFDNEQsQ0FBQztJQTFCOUUsSUFDSSxRQUFRLENBQUMsR0FBK0M7UUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztJQUMvQyxDQUFDO0lBQ0QsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQ0ksSUFBSSxDQUFDLEdBQTJDO1FBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7SUFDM0MsQ0FBQztJQUNELElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUNJLGNBQWMsQ0FBQyxHQUFxRDtRQUN0RSxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxjQUFjLEdBQUcsR0FBRyxDQUFDO0lBQ3JELENBQUM7SUFDRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxjQUFjLENBQUM7SUFDdEQsQ0FBQztJQU1ELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO0lBQ3BELENBQUM7O29IQW5DRyx1QkFBdUI7d0dBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUsYUFBYTtpQkFDeEI7aUdBR0ssUUFBUTtzQkFEWCxLQUFLO2dCQVNGLElBQUk7c0JBRFAsS0FBSztnQkFTRixjQUFjO3NCQURqQixLQUFLO2dCQU9JLFdBQVc7c0JBQXBCLE1BQU07O0FBY1QsT0FBTyxFQUNMLHVCQUF1QixHQUd4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgJ0B1aTUvd2ViY29tcG9uZW50cy9kaXN0L0N1c3RvbUxpc3RJdGVtLmpzJztcbmltcG9ydCB7IE9ic2VydmFibGUsIE5FVkVSIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2J1dHRvbic7XG5cbmludGVyZmFjZSBDdXN0b21MaXN0SXRlbURpcmVjdGl2ZUV2ZW50c01hcFxuICBleHRlbmRzIE9taXQ8SFRNTEVsZW1lbnRFdmVudE1hcCwgJ2RldGFpbENsaWNrJz4ge1xuICBkZXRhaWxDbGljazogQ3VzdG9tRXZlbnQ8dm9pZD47XG59XG5cbmludGVyZmFjZSBDdXN0b21MaXN0SXRlbURpcmVjdGl2ZUVsZW1lbnRcbiAgZXh0ZW5kcyBPbWl0PFxuICAgIEhUTUxFbGVtZW50LFxuICAgICdzZWxlY3RlZCcgfCAndHlwZScgfCAnYWNjZXNzaWJsZU5hbWUnIHwgJ2RldGFpbENsaWNrJyB8ICdkZWxldGVCdXR0b24nXG4gID4ge1xuICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgdHlwZTogJ0FjdGl2ZScgfCAnRGV0YWlsJyB8ICdJbmFjdGl2ZSc7XG4gIGFjY2Vzc2libGVOYW1lOiBzdHJpbmc7XG5cbiAgZGVsZXRlQnV0dG9uOiBCdXR0b25EaXJlY3RpdmVbJ2VsZW1lbnQnXTtcblxuICBhZGRFdmVudExpc3RlbmVyPEsgZXh0ZW5kcyBrZXlvZiBDdXN0b21MaXN0SXRlbURpcmVjdGl2ZUV2ZW50c01hcD4oXG4gICAgdHlwZTogSyxcbiAgICBsaXN0ZW5lcjogKFxuICAgICAgdGhpczogQ3VzdG9tTGlzdEl0ZW1EaXJlY3RpdmVFbGVtZW50LFxuICAgICAgZXY6IEN1c3RvbUxpc3RJdGVtRGlyZWN0aXZlRXZlbnRzTWFwW0tdXG4gICAgKSA9PiBhbnksXG4gICAgb3B0aW9ucz86IGJvb2xlYW4gfCBBZGRFdmVudExpc3RlbmVyT3B0aW9uc1xuICApOiB2b2lkO1xuICBhZGRFdmVudExpc3RlbmVyKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBsaXN0ZW5lcjogRXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdCxcbiAgICBvcHRpb25zPzogYm9vbGVhbiB8IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zXG4gICk6IHZvaWQ7XG4gIHJlbW92ZUV2ZW50TGlzdGVuZXI8SyBleHRlbmRzIGtleW9mIEN1c3RvbUxpc3RJdGVtRGlyZWN0aXZlRXZlbnRzTWFwPihcbiAgICB0eXBlOiBLLFxuICAgIGxpc3RlbmVyOiAoXG4gICAgICB0aGlzOiBDdXN0b21MaXN0SXRlbURpcmVjdGl2ZUVsZW1lbnQsXG4gICAgICBldjogQ3VzdG9tTGlzdEl0ZW1EaXJlY3RpdmVFdmVudHNNYXBbS11cbiAgICApID0+IGFueSxcbiAgICBvcHRpb25zPzogYm9vbGVhbiB8IEV2ZW50TGlzdGVuZXJPcHRpb25zXG4gICk6IHZvaWQ7XG4gIHJlbW92ZUV2ZW50TGlzdGVuZXIoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGxpc3RlbmVyOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0LFxuICAgIG9wdGlvbnM/OiBib29sZWFuIHwgRXZlbnRMaXN0ZW5lck9wdGlvbnNcbiAgKTogdm9pZDtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAndWk1LWxpLWN1c3RvbScsXG4gIGV4cG9ydEFzOiAndWk1TGlDdXN0b20nLFxufSlcbmNsYXNzIEN1c3RvbUxpc3RJdGVtRGlyZWN0aXZlIHtcbiAgQElucHV0KClcbiAgc2V0IHNlbGVjdGVkKHZhbDogQ3VzdG9tTGlzdEl0ZW1EaXJlY3RpdmVFbGVtZW50WydzZWxlY3RlZCddKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2VsZWN0ZWQgPSB2YWw7XG4gIH1cbiAgZ2V0IHNlbGVjdGVkKCk6IEN1c3RvbUxpc3RJdGVtRGlyZWN0aXZlRWxlbWVudFsnc2VsZWN0ZWQnXSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNlbGVjdGVkO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHR5cGUodmFsOiBDdXN0b21MaXN0SXRlbURpcmVjdGl2ZUVsZW1lbnRbJ3R5cGUnXSkge1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnR5cGUgPSB2YWw7XG4gIH1cbiAgZ2V0IHR5cGUoKTogQ3VzdG9tTGlzdEl0ZW1EaXJlY3RpdmVFbGVtZW50Wyd0eXBlJ10ge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC50eXBlO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGFjY2Vzc2libGVOYW1lKHZhbDogQ3VzdG9tTGlzdEl0ZW1EaXJlY3RpdmVFbGVtZW50WydhY2Nlc3NpYmxlTmFtZSddKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYWNjZXNzaWJsZU5hbWUgPSB2YWw7XG4gIH1cbiAgZ2V0IGFjY2Vzc2libGVOYW1lKCk6IEN1c3RvbUxpc3RJdGVtRGlyZWN0aXZlRWxlbWVudFsnYWNjZXNzaWJsZU5hbWUnXSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFjY2Vzc2libGVOYW1lO1xuICB9XG4gIEBPdXRwdXQoKSBkZXRhaWxDbGljazogT2JzZXJ2YWJsZTxcbiAgICBDdXN0b21MaXN0SXRlbURpcmVjdGl2ZUV2ZW50c01hcFsnZGV0YWlsQ2xpY2snXVxuICA+ID0gTkVWRVIgYXMgYW55O1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8Q3VzdG9tTGlzdEl0ZW1EaXJlY3RpdmVFbGVtZW50Pikge31cblxuICBnZXQgZWxlbWVudCgpOiB0eXBlb2YgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGdldCBkZWxldGVCdXR0b24oKTogQnV0dG9uRGlyZWN0aXZlWydlbGVtZW50J10ge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5kZWxldGVCdXR0b247XG4gIH1cbn1cblxuZXhwb3J0IHtcbiAgQ3VzdG9tTGlzdEl0ZW1EaXJlY3RpdmUsXG4gIEN1c3RvbUxpc3RJdGVtRGlyZWN0aXZlRXZlbnRzTWFwLFxuICBDdXN0b21MaXN0SXRlbURpcmVjdGl2ZUVsZW1lbnQsXG59O1xuIl19
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
import { Directive, ElementRef, forwardRef, Input, Output, } from '@angular/core';
|
|
2
|
+
import '@ui5/webcomponents/dist/DatePicker.js';
|
|
3
|
+
import { Observable, fromEvent, merge, NEVER } from 'rxjs';
|
|
4
|
+
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
5
|
+
import { GenericControlValueAccessor } from '../../generic-cva';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
class DatePickerDirective {
|
|
8
|
+
constructor(elementRef) {
|
|
9
|
+
this.elementRef = elementRef;
|
|
10
|
+
this.change = NEVER;
|
|
11
|
+
this.input = NEVER;
|
|
12
|
+
}
|
|
13
|
+
set formatPattern(val) {
|
|
14
|
+
this.elementRef.nativeElement.formatPattern = val;
|
|
15
|
+
}
|
|
16
|
+
get formatPattern() {
|
|
17
|
+
return this.elementRef.nativeElement.formatPattern;
|
|
18
|
+
}
|
|
19
|
+
set maxDate(val) {
|
|
20
|
+
this.elementRef.nativeElement.maxDate = val;
|
|
21
|
+
}
|
|
22
|
+
get maxDate() {
|
|
23
|
+
return this.elementRef.nativeElement.maxDate;
|
|
24
|
+
}
|
|
25
|
+
set minDate(val) {
|
|
26
|
+
this.elementRef.nativeElement.minDate = val;
|
|
27
|
+
}
|
|
28
|
+
get minDate() {
|
|
29
|
+
return this.elementRef.nativeElement.minDate;
|
|
30
|
+
}
|
|
31
|
+
set primaryCalendarType(val) {
|
|
32
|
+
this.elementRef.nativeElement.primaryCalendarType = val;
|
|
33
|
+
}
|
|
34
|
+
get primaryCalendarType() {
|
|
35
|
+
return this.elementRef.nativeElement.primaryCalendarType;
|
|
36
|
+
}
|
|
37
|
+
set secondaryCalendarType(val) {
|
|
38
|
+
this.elementRef.nativeElement.secondaryCalendarType = val;
|
|
39
|
+
}
|
|
40
|
+
get secondaryCalendarType() {
|
|
41
|
+
return this.elementRef.nativeElement.secondaryCalendarType;
|
|
42
|
+
}
|
|
43
|
+
set accessibleName(val) {
|
|
44
|
+
this.elementRef.nativeElement.accessibleName = val;
|
|
45
|
+
}
|
|
46
|
+
get accessibleName() {
|
|
47
|
+
return this.elementRef.nativeElement.accessibleName;
|
|
48
|
+
}
|
|
49
|
+
set accessibleNameRef(val) {
|
|
50
|
+
this.elementRef.nativeElement.accessibleNameRef = val;
|
|
51
|
+
}
|
|
52
|
+
get accessibleNameRef() {
|
|
53
|
+
return this.elementRef.nativeElement.accessibleNameRef;
|
|
54
|
+
}
|
|
55
|
+
set dateValue(val) {
|
|
56
|
+
this.elementRef.nativeElement.dateValue = val;
|
|
57
|
+
}
|
|
58
|
+
get dateValue() {
|
|
59
|
+
return this.elementRef.nativeElement.dateValue;
|
|
60
|
+
}
|
|
61
|
+
set disabled(val) {
|
|
62
|
+
this.elementRef.nativeElement.disabled = val;
|
|
63
|
+
}
|
|
64
|
+
get disabled() {
|
|
65
|
+
return this.elementRef.nativeElement.disabled;
|
|
66
|
+
}
|
|
67
|
+
set hideWeekNumbers(val) {
|
|
68
|
+
this.elementRef.nativeElement.hideWeekNumbers = val;
|
|
69
|
+
}
|
|
70
|
+
get hideWeekNumbers() {
|
|
71
|
+
return this.elementRef.nativeElement.hideWeekNumbers;
|
|
72
|
+
}
|
|
73
|
+
set name(val) {
|
|
74
|
+
this.elementRef.nativeElement.name = val;
|
|
75
|
+
}
|
|
76
|
+
get name() {
|
|
77
|
+
return this.elementRef.nativeElement.name;
|
|
78
|
+
}
|
|
79
|
+
set placeholder(val) {
|
|
80
|
+
this.elementRef.nativeElement.placeholder = val;
|
|
81
|
+
}
|
|
82
|
+
get placeholder() {
|
|
83
|
+
return this.elementRef.nativeElement.placeholder;
|
|
84
|
+
}
|
|
85
|
+
set readonly(val) {
|
|
86
|
+
this.elementRef.nativeElement.readonly = val;
|
|
87
|
+
}
|
|
88
|
+
get readonly() {
|
|
89
|
+
return this.elementRef.nativeElement.readonly;
|
|
90
|
+
}
|
|
91
|
+
set required(val) {
|
|
92
|
+
this.elementRef.nativeElement.required = val;
|
|
93
|
+
}
|
|
94
|
+
get required() {
|
|
95
|
+
return this.elementRef.nativeElement.required;
|
|
96
|
+
}
|
|
97
|
+
set value(val) {
|
|
98
|
+
this.elementRef.nativeElement.value = val;
|
|
99
|
+
}
|
|
100
|
+
get value() {
|
|
101
|
+
return this.elementRef.nativeElement.value;
|
|
102
|
+
}
|
|
103
|
+
set valueState(val) {
|
|
104
|
+
this.elementRef.nativeElement.valueState = val;
|
|
105
|
+
}
|
|
106
|
+
get valueState() {
|
|
107
|
+
return this.elementRef.nativeElement.valueState;
|
|
108
|
+
}
|
|
109
|
+
get element() {
|
|
110
|
+
return this.elementRef.nativeElement;
|
|
111
|
+
}
|
|
112
|
+
get valueStateMessage() {
|
|
113
|
+
return this.elementRef.nativeElement.valueStateMessage;
|
|
114
|
+
}
|
|
115
|
+
_checkValueValidity() {
|
|
116
|
+
return this.elementRef.nativeElement._checkValueValidity();
|
|
117
|
+
}
|
|
118
|
+
_modifyDateValue(amount, unit) {
|
|
119
|
+
return this.elementRef.nativeElement._modifyDateValue(amount, unit);
|
|
120
|
+
}
|
|
121
|
+
_onInputChange() {
|
|
122
|
+
return this.elementRef.nativeElement._onInputChange();
|
|
123
|
+
}
|
|
124
|
+
_onInputInput() {
|
|
125
|
+
return this.elementRef.nativeElement._onInputInput();
|
|
126
|
+
}
|
|
127
|
+
_onInputSubmit() {
|
|
128
|
+
return this.elementRef.nativeElement._onInputSubmit();
|
|
129
|
+
}
|
|
130
|
+
closePicker() {
|
|
131
|
+
return this.elementRef.nativeElement.closePicker();
|
|
132
|
+
}
|
|
133
|
+
formatValue(date) {
|
|
134
|
+
return this.elementRef.nativeElement.formatValue(date);
|
|
135
|
+
}
|
|
136
|
+
isInValidRange(value) {
|
|
137
|
+
return this.elementRef.nativeElement.isInValidRange(value);
|
|
138
|
+
}
|
|
139
|
+
isOpen() {
|
|
140
|
+
return this.elementRef.nativeElement.isOpen();
|
|
141
|
+
}
|
|
142
|
+
isValid(value) {
|
|
143
|
+
return this.elementRef.nativeElement.isValid(value);
|
|
144
|
+
}
|
|
145
|
+
normalizeValue() {
|
|
146
|
+
return this.elementRef.nativeElement.normalizeValue();
|
|
147
|
+
}
|
|
148
|
+
onResponsivePopoverAfterClose() {
|
|
149
|
+
return this.elementRef.nativeElement.onResponsivePopoverAfterClose();
|
|
150
|
+
}
|
|
151
|
+
onSelectedDatesChange(event) {
|
|
152
|
+
return this.elementRef.nativeElement.onSelectedDatesChange(event);
|
|
153
|
+
}
|
|
154
|
+
openPicker() {
|
|
155
|
+
return this.elementRef.nativeElement.openPicker();
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
DatePickerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
159
|
+
DatePickerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DatePickerDirective, selector: "ui5-date-picker", inputs: { formatPattern: "formatPattern", maxDate: "maxDate", minDate: "minDate", primaryCalendarType: "primaryCalendarType", secondaryCalendarType: "secondaryCalendarType", accessibleName: "accessibleName", accessibleNameRef: "accessibleNameRef", dateValue: "dateValue", disabled: "disabled", hideWeekNumbers: "hideWeekNumbers", name: "name", placeholder: "placeholder", readonly: "readonly", required: "required", value: "value", valueState: "valueState" }, outputs: { change: "change", input: "input" }, exportAs: ["ui5DatePicker"], ngImport: i0 });
|
|
160
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerDirective, decorators: [{
|
|
161
|
+
type: Directive,
|
|
162
|
+
args: [{
|
|
163
|
+
selector: 'ui5-date-picker',
|
|
164
|
+
exportAs: 'ui5DatePicker',
|
|
165
|
+
}]
|
|
166
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { formatPattern: [{
|
|
167
|
+
type: Input
|
|
168
|
+
}], maxDate: [{
|
|
169
|
+
type: Input
|
|
170
|
+
}], minDate: [{
|
|
171
|
+
type: Input
|
|
172
|
+
}], primaryCalendarType: [{
|
|
173
|
+
type: Input
|
|
174
|
+
}], secondaryCalendarType: [{
|
|
175
|
+
type: Input
|
|
176
|
+
}], accessibleName: [{
|
|
177
|
+
type: Input
|
|
178
|
+
}], accessibleNameRef: [{
|
|
179
|
+
type: Input
|
|
180
|
+
}], dateValue: [{
|
|
181
|
+
type: Input
|
|
182
|
+
}], disabled: [{
|
|
183
|
+
type: Input
|
|
184
|
+
}], hideWeekNumbers: [{
|
|
185
|
+
type: Input
|
|
186
|
+
}], name: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], placeholder: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], readonly: [{
|
|
191
|
+
type: Input
|
|
192
|
+
}], required: [{
|
|
193
|
+
type: Input
|
|
194
|
+
}], value: [{
|
|
195
|
+
type: Input
|
|
196
|
+
}], valueState: [{
|
|
197
|
+
type: Input
|
|
198
|
+
}], change: [{
|
|
199
|
+
type: Output
|
|
200
|
+
}], input: [{
|
|
201
|
+
type: Output
|
|
202
|
+
}] } });
|
|
203
|
+
class DatePickerDirectiveCva extends GenericControlValueAccessor {
|
|
204
|
+
constructor(elementRef) {
|
|
205
|
+
super({
|
|
206
|
+
get value() {
|
|
207
|
+
return elementRef.nativeElement.value;
|
|
208
|
+
},
|
|
209
|
+
set value(val) {
|
|
210
|
+
elementRef.nativeElement.value = val;
|
|
211
|
+
},
|
|
212
|
+
valueUpdatedNotifier$: merge(fromEvent(elementRef.nativeElement, 'change'), fromEvent(elementRef.nativeElement, 'input')),
|
|
213
|
+
setDisabledState: (isDisabled) => {
|
|
214
|
+
elementRef.nativeElement.disabled = isDisabled;
|
|
215
|
+
},
|
|
216
|
+
});
|
|
217
|
+
this.elementRef = elementRef;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
DatePickerDirectiveCva.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerDirectiveCva, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
221
|
+
DatePickerDirectiveCva.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DatePickerDirectiveCva, selector: "ui5-date-picker", providers: [
|
|
222
|
+
{
|
|
223
|
+
provide: NG_VALUE_ACCESSOR,
|
|
224
|
+
useExisting: forwardRef(() => DatePickerDirectiveCva),
|
|
225
|
+
multi: true,
|
|
226
|
+
},
|
|
227
|
+
], usesInheritance: true, ngImport: i0 });
|
|
228
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DatePickerDirectiveCva, decorators: [{
|
|
229
|
+
type: Directive,
|
|
230
|
+
args: [{
|
|
231
|
+
selector: 'ui5-date-picker',
|
|
232
|
+
providers: [
|
|
233
|
+
{
|
|
234
|
+
provide: NG_VALUE_ACCESSOR,
|
|
235
|
+
useExisting: forwardRef(() => DatePickerDirectiveCva),
|
|
236
|
+
multi: true,
|
|
237
|
+
},
|
|
238
|
+
],
|
|
239
|
+
}]
|
|
240
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
|
|
241
|
+
export { DatePickerDirective, DatePickerDirectiveCva, };
|
|
242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3VpNS1hbmd1bGFyL3NyYy9tYWluL2RpcmVjdGl2ZXMvZGF0ZS1waWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyx1Q0FBdUMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQW9IaEUsTUFJTSxtQkFBbUI7SUF3SXZCLFlBQW9CLFVBQWtEO1FBQWxELGVBQVUsR0FBVixVQUFVLENBQXdDO1FBSjVELFdBQU0sR0FDZCxLQUFZLENBQUM7UUFDTCxVQUFLLEdBQ2IsS0FBWSxDQUFDO0lBQzBELENBQUM7SUF2STFFLElBQ0ksYUFBYSxDQUFDLEdBQWdEO1FBQ2hFLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUM7SUFDcEQsQ0FBQztJQUNELElBQUksYUFBYTtRQUNmLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO0lBQ3JELENBQUM7SUFFRCxJQUNJLE9BQU8sQ0FBQyxHQUEwQztRQUNwRCxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO0lBQzlDLENBQUM7SUFDRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFD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LENBQzFCLFNBQVMsQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLFFBQVEsQ0FBQyxFQUM3QyxTQUFTLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FDN0M7WUFDRCxnQkFBZ0IsRUFBRSxDQUFDLFVBQW1CLEVBQVEsRUFBRTtnQkFDOUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1lBQ2pELENBQUM7U0FDRixDQUFDLENBQUM7UUFmZSxlQUFVLEdBQVYsVUFBVSxDQUE0QztJQWdCMUUsQ0FBQzs7bUhBakJHLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDBDQVJmO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUM7WUFDckQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGOzJGQUVHLHNCQUFzQjtrQkFWM0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7NEJBQ3JELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGO2lCQUNGOztBQXFCRCxPQUFPLEVBQ0wsbUJBQW1CLEVBQ25CLHNCQUFzQixHQUd2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCAnQHVpNS93ZWJjb21wb25lbnRzL2Rpc3QvRGF0ZVBpY2tlci5qcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmcm9tRXZlbnQsIG1lcmdlLCBORVZFUiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBHZW5lcmljQ29udHJvbFZhbHVlQWNjZXNzb3IgfSBmcm9tICcuLi8uLi9nZW5lcmljLWN2YSc7XG5cbmludGVyZmFjZSBEYXRlUGlja2VyRGlyZWN0aXZlRXZlbnRzTWFwXG4gIGV4dGVuZHMgT21pdDxIVE1MRWxlbWVudEV2ZW50TWFwLCAnY2hhbmdlJyB8ICdpbnB1dCc+IHtcbiAgY2hhbmdlOiBDdXN0b21FdmVudDx7IHZhbHVlOiBzdHJpbmc7IHZhbGlkOiBib29sZWFuIH0+O1xuICBpbnB1dDogQ3VzdG9tRXZlbnQ8eyB2YWx1ZTogc3RyaW5nOyB2YWxpZDogYm9vbGVhbiB9Pjtcbn1cblxuaW50ZXJmYWNlIERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50XG4gIGV4dGVuZHMgT21pdDxcbiAgICBIVE1MRWxlbWVudCxcbiAgICB8ICdmb3JtYXRQYXR0ZXJuJ1xuICAgIHwgJ21heERhdGUnXG4gICAgfCAnbWluRGF0ZSdcbiAgICB8ICdwcmltYXJ5Q2FsZW5kYXJUeXBlJ1xuICAgIHwgJ3NlY29uZGFyeUNhbGVuZGFyVHlwZSdcbiAgICB8ICdhY2Nlc3NpYmxlTmFtZSdcbiAgICB8ICdhY2Nlc3NpYmxlTmFtZVJlZidcbiAgICB8ICdkYXRlVmFsdWUnXG4gICAgfCAnZGlzYWJsZWQnXG4gICAgfCAnaGlkZVdlZWtOdW1iZXJzJ1xuICAgIHwgJ25hbWUnXG4gICAgfCAncGxhY2Vob2xkZXInXG4gICAgfCAncmVhZG9ubHknXG4gICAgfCAncmVxdWlyZWQnXG4gICAgfCAndmFsdWUnXG4gICAgfCAndmFsdWVTdGF0ZSdcbiAgICB8ICdjaGFuZ2UnXG4gICAgfCAnaW5wdXQnXG4gICAgfCAndmFsdWVTdGF0ZU1lc3NhZ2UnXG4gID4ge1xuICBmb3JtYXRQYXR0ZXJuOiBzdHJpbmc7XG4gIG1heERhdGU6IHN0cmluZztcbiAgbWluRGF0ZTogc3RyaW5nO1xuICBwcmltYXJ5Q2FsZW5kYXJUeXBlOlxuICAgIHwgJ0J1ZGRoaXN0J1xuICAgIHwgJ0dyZWdvcmlhbidcbiAgICB8ICdJc2xhbWljJ1xuICAgIHwgJ0phcGFuZXNlJ1xuICAgIHwgJ1BlcnNpYW4nO1xuICBzZWNvbmRhcnlDYWxlbmRhclR5cGU6XG4gICAgfCAnQnVkZGhpc3QnXG4gICAgfCAnR3JlZ29yaWFuJ1xuICAgIHwgJ0lzbGFtaWMnXG4gICAgfCAnSmFwYW5lc2UnXG4gICAgfCAnUGVyc2lhbic7XG4gIGFjY2Vzc2libGVOYW1lOiBzdHJpbmc7XG4gIGFjY2Vzc2libGVOYW1lUmVmOiBzdHJpbmc7XG4gIGRhdGVWYWx1ZTogYW55O1xuICBkaXNhYmxlZDogYm9vbGVhbjtcbiAgaGlkZVdlZWtOdW1iZXJzOiBib29sZWFuO1xuICBuYW1lOiBzdHJpbmc7XG4gIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIHJlYWRvbmx5OiBib29sZWFuO1xuICByZXF1aXJlZDogYm9vbGVhbjtcbiAgdmFsdWU6IHN0cmluZztcbiAgdmFsdWVTdGF0ZTogJ0Vycm9yJyB8ICdJbmZvcm1hdGlvbicgfCAnTm9uZScgfCAnU3VjY2VzcycgfCAnV2FybmluZyc7XG5cbiAgdmFsdWVTdGF0ZU1lc3NhZ2U6IEhUTUxFbGVtZW50O1xuXG4gIGFkZEV2ZW50TGlzdGVuZXI8SyBleHRlbmRzIGtleW9mIERhdGVQaWNrZXJEaXJlY3RpdmVFdmVudHNNYXA+KFxuICAgIHR5cGU6IEssXG4gICAgbGlzdGVuZXI6IChcbiAgICAgIHRoaXM6IERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50LFxuICAgICAgZXY6IERhdGVQaWNrZXJEaXJlY3RpdmVFdmVudHNNYXBbS11cbiAgICApID0+IGFueSxcbiAgICBvcHRpb25zPzogYm9vbGVhbiB8IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zXG4gICk6IHZvaWQ7XG4gIGFkZEV2ZW50TGlzdGVuZXIoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGxpc3RlbmVyOiBFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0LFxuICAgIG9wdGlvbnM/OiBib29sZWFuIHwgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnNcbiAgKTogdm9pZDtcbiAgcmVtb3ZlRXZlbnRMaXN0ZW5lcjxLIGV4dGVuZHMga2V5b2YgRGF0ZVBpY2tlckRpcmVjdGl2ZUV2ZW50c01hcD4oXG4gICAgdHlwZTogSyxcbiAgICBsaXN0ZW5lcjogKFxuICAgICAgdGhpczogRGF0ZVBpY2tlckRpcmVjdGl2ZUVsZW1lbnQsXG4gICAgICBldjogRGF0ZVBpY2tlckRpcmVjdGl2ZUV2ZW50c01hcFtLXVxuICAgICkgPT4gYW55LFxuICAgIG9wdGlvbnM/OiBib29sZWFuIHwgRXZlbnRMaXN0ZW5lck9wdGlvbnNcbiAgKTogdm9pZDtcbiAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgbGlzdGVuZXI6IEV2ZW50TGlzdGVuZXJPckV2ZW50TGlzdGVuZXJPYmplY3QsXG4gICAgb3B0aW9ucz86IGJvb2xlYW4gfCBFdmVudExpc3RlbmVyT3B0aW9uc1xuICApOiB2b2lkO1xuXG4gIF9jaGVja1ZhbHVlVmFsaWRpdHkoKTogYW55O1xuXG4gIF9tb2RpZnlEYXRlVmFsdWUoYW1vdW50OiBhbnksIHVuaXQ6IGFueSk6IGFueTtcblxuICBfb25JbnB1dENoYW5nZSgpOiBhbnk7XG5cbiAgX29uSW5wdXRJbnB1dCgpOiBhbnk7XG5cbiAgX29uSW5wdXRTdWJtaXQoKTogYW55O1xuXG4gIGNsb3NlUGlja2VyKCk6IGFueTtcblxuICBmb3JtYXRWYWx1ZShkYXRlOiBSZWNvcmQ8c3RyaW5nLCBhbnk+KTogc3RyaW5nO1xuXG4gIGlzSW5WYWxpZFJhbmdlKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuO1xuXG4gIGlzT3BlbigpOiBib29sZWFuO1xuXG4gIGlzVmFsaWQodmFsdWU6IHN0cmluZyk6IGJvb2xlYW47XG5cbiAgbm9ybWFsaXplVmFsdWUoKTogYW55O1xuXG4gIG9uUmVzcG9uc2l2ZVBvcG92ZXJBZnRlckNsb3NlKCk6IGFueTtcblxuICBvblNlbGVjdGVkRGF0ZXNDaGFuZ2UoZXZlbnQ6IGFueSk6IGFueTtcblxuICBvcGVuUGlja2VyKCk6IGFueTtcbn1cblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAndWk1LWRhdGUtcGlja2VyJyxcbiAgZXhwb3J0QXM6ICd1aTVEYXRlUGlja2VyJyxcbn0pXG5jbGFzcyBEYXRlUGlja2VyRGlyZWN0aXZlIHtcbiAgQElucHV0KClcbiAgc2V0IGZvcm1hdFBhdHRlcm4odmFsOiBEYXRlUGlja2VyRGlyZWN0aXZlRWxlbWVudFsnZm9ybWF0UGF0dGVybiddKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9ybWF0UGF0dGVybiA9IHZhbDtcbiAgfVxuICBnZXQgZm9ybWF0UGF0dGVybigpOiBEYXRlUGlja2VyRGlyZWN0aXZlRWxlbWVudFsnZm9ybWF0UGF0dGVybiddIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZm9ybWF0UGF0dGVybjtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBtYXhEYXRlKHZhbDogRGF0ZVBpY2tlckRpcmVjdGl2ZUVsZW1lbnRbJ21heERhdGUnXSkge1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm1heERhdGUgPSB2YWw7XG4gIH1cbiAgZ2V0IG1heERhdGUoKTogRGF0ZVBpY2tlckRpcmVjdGl2ZUVsZW1lbnRbJ21heERhdGUnXSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm1heERhdGU7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgbWluRGF0ZSh2YWw6IERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50WydtaW5EYXRlJ10pIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5taW5EYXRlID0gdmFsO1xuICB9XG4gIGdldCBtaW5EYXRlKCk6IERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50WydtaW5EYXRlJ10ge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5taW5EYXRlO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHByaW1hcnlDYWxlbmRhclR5cGUoXG4gICAgdmFsOiBEYXRlUGlja2VyRGlyZWN0aXZlRWxlbWVudFsncHJpbWFyeUNhbGVuZGFyVHlwZSddXG4gICkge1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnByaW1hcnlDYWxlbmRhclR5cGUgPSB2YWw7XG4gIH1cbiAgZ2V0IHByaW1hcnlDYWxlbmRhclR5cGUoKTogRGF0ZVBpY2tlckRpcmVjdGl2ZUVsZW1lbnRbJ3ByaW1hcnlDYWxlbmRhclR5cGUnXSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnByaW1hcnlDYWxlbmRhclR5cGU7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgc2Vjb25kYXJ5Q2FsZW5kYXJUeXBlKFxuICAgIHZhbDogRGF0ZVBpY2tlckRpcmVjdGl2ZUVsZW1lbnRbJ3NlY29uZGFyeUNhbGVuZGFyVHlwZSddXG4gICkge1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNlY29uZGFyeUNhbGVuZGFyVHlwZSA9IHZhbDtcbiAgfVxuICBnZXQgc2Vjb25kYXJ5Q2FsZW5kYXJUeXBlKCk6IERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50WydzZWNvbmRhcnlDYWxlbmRhclR5cGUnXSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNlY29uZGFyeUNhbGVuZGFyVHlwZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBhY2Nlc3NpYmxlTmFtZSh2YWw6IERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50WydhY2Nlc3NpYmxlTmFtZSddKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYWNjZXNzaWJsZU5hbWUgPSB2YWw7XG4gIH1cbiAgZ2V0IGFjY2Vzc2libGVOYW1lKCk6IERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50WydhY2Nlc3NpYmxlTmFtZSddIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuYWNjZXNzaWJsZU5hbWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgYWNjZXNzaWJsZU5hbWVSZWYodmFsOiBEYXRlUGlja2VyRGlyZWN0aXZlRWxlbWVudFsnYWNjZXNzaWJsZU5hbWVSZWYnXSkge1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFjY2Vzc2libGVOYW1lUmVmID0gdmFsO1xuICB9XG4gIGdldCBhY2Nlc3NpYmxlTmFtZVJlZigpOiBEYXRlUGlja2VyRGlyZWN0aXZlRWxlbWVudFsnYWNjZXNzaWJsZU5hbWVSZWYnXSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFjY2Vzc2libGVOYW1lUmVmO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRhdGVWYWx1ZSh2YWw6IERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50WydkYXRlVmFsdWUnXSkge1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRhdGVWYWx1ZSA9IHZhbDtcbiAgfVxuICBnZXQgZGF0ZVZhbHVlKCk6IERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50WydkYXRlVmFsdWUnXSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmRhdGVWYWx1ZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBkaXNhYmxlZCh2YWw6IERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50WydkaXNhYmxlZCddKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQgPSB2YWw7XG4gIH1cbiAgZ2V0IGRpc2FibGVkKCk6IERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50WydkaXNhYmxlZCddIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQ7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgaGlkZVdlZWtOdW1iZXJzKHZhbDogRGF0ZVBpY2tlckRpcmVjdGl2ZUVsZW1lbnRbJ2hpZGVXZWVrTnVtYmVycyddKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaGlkZVdlZWtOdW1iZXJzID0gdmFsO1xuICB9XG4gIGdldCBoaWRlV2Vla051bWJlcnMoKTogRGF0ZVBpY2tlckRpcmVjdGl2ZUVsZW1lbnRbJ2hpZGVXZWVrTnVtYmVycyddIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuaGlkZVdlZWtOdW1iZXJzO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IG5hbWUodmFsOiBEYXRlUGlja2VyRGlyZWN0aXZlRWxlbWVudFsnbmFtZSddKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubmFtZSA9IHZhbDtcbiAgfVxuICBnZXQgbmFtZSgpOiBEYXRlUGlja2VyRGlyZWN0aXZlRWxlbWVudFsnbmFtZSddIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubmFtZTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBwbGFjZWhvbGRlcih2YWw6IERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50WydwbGFjZWhvbGRlciddKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGxhY2Vob2xkZXIgPSB2YWw7XG4gIH1cbiAgZ2V0IHBsYWNlaG9sZGVyKCk6IERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50WydwbGFjZWhvbGRlciddIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucGxhY2Vob2xkZXI7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgcmVhZG9ubHkodmFsOiBEYXRlUGlja2VyRGlyZWN0aXZlRWxlbWVudFsncmVhZG9ubHknXSkge1xuICAgIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlYWRvbmx5ID0gdmFsO1xuICB9XG4gIGdldCByZWFkb25seSgpOiBEYXRlUGlja2VyRGlyZWN0aXZlRWxlbWVudFsncmVhZG9ubHknXSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnJlYWRvbmx5O1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHJlcXVpcmVkKHZhbDogRGF0ZVBpY2tlckRpcmVjdGl2ZUVsZW1lbnRbJ3JlcXVpcmVkJ10pIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yZXF1aXJlZCA9IHZhbDtcbiAgfVxuICBnZXQgcmVxdWlyZWQoKTogRGF0ZVBpY2tlckRpcmVjdGl2ZUVsZW1lbnRbJ3JlcXVpcmVkJ10ge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5yZXF1aXJlZDtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCB2YWx1ZSh2YWw6IERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50Wyd2YWx1ZSddKSB7XG4gICAgdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWw7XG4gIH1cbiAgZ2V0IHZhbHVlKCk6IERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50Wyd2YWx1ZSddIHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgdmFsdWVTdGF0ZSh2YWw6IERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50Wyd2YWx1ZVN0YXRlJ10pIHtcbiAgICB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZVN0YXRlID0gdmFsO1xuICB9XG4gIGdldCB2YWx1ZVN0YXRlKCk6IERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50Wyd2YWx1ZVN0YXRlJ10ge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC52YWx1ZVN0YXRlO1xuICB9XG4gIEBPdXRwdXQoKSBjaGFuZ2U6IE9ic2VydmFibGU8RGF0ZVBpY2tlckRpcmVjdGl2ZUV2ZW50c01hcFsnY2hhbmdlJ10+ID1cbiAgICBORVZFUiBhcyBhbnk7XG4gIEBPdXRwdXQoKSBpbnB1dDogT2JzZXJ2YWJsZTxEYXRlUGlja2VyRGlyZWN0aXZlRXZlbnRzTWFwWydpbnB1dCddPiA9XG4gICAgTkVWRVIgYXMgYW55O1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8RGF0ZVBpY2tlckRpcmVjdGl2ZUVsZW1lbnQ+KSB7fVxuXG4gIGdldCBlbGVtZW50KCk6IHR5cGVvZiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgZ2V0IHZhbHVlU3RhdGVNZXNzYWdlKCk6IEhUTUxFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWVTdGF0ZU1lc3NhZ2U7XG4gIH1cblxuICBfY2hlY2tWYWx1ZVZhbGlkaXR5KCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Ll9jaGVja1ZhbHVlVmFsaWRpdHkoKTtcbiAgfVxuXG4gIF9tb2RpZnlEYXRlVmFsdWUoYW1vdW50OiBhbnksIHVuaXQ6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Ll9tb2RpZnlEYXRlVmFsdWUoYW1vdW50LCB1bml0KTtcbiAgfVxuXG4gIF9vbklucHV0Q2hhbmdlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Ll9vbklucHV0Q2hhbmdlKCk7XG4gIH1cblxuICBfb25JbnB1dElucHV0KCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Ll9vbklucHV0SW5wdXQoKTtcbiAgfVxuXG4gIF9vbklucHV0U3VibWl0KCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Ll9vbklucHV0U3VibWl0KCk7XG4gIH1cblxuICBjbG9zZVBpY2tlcigpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbG9zZVBpY2tlcigpO1xuICB9XG5cbiAgZm9ybWF0VmFsdWUoZGF0ZTogUmVjb3JkPHN0cmluZywgYW55Pik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZvcm1hdFZhbHVlKGRhdGUpO1xuICB9XG5cbiAgaXNJblZhbGlkUmFuZ2UodmFsdWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5pc0luVmFsaWRSYW5nZSh2YWx1ZSk7XG4gIH1cblxuICBpc09wZW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlzT3BlbigpO1xuICB9XG5cbiAgaXNWYWxpZCh2YWx1ZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmlzVmFsaWQodmFsdWUpO1xuICB9XG5cbiAgbm9ybWFsaXplVmFsdWUoKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubm9ybWFsaXplVmFsdWUoKTtcbiAgfVxuXG4gIG9uUmVzcG9uc2l2ZVBvcG92ZXJBZnRlckNsb3NlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9uUmVzcG9uc2l2ZVBvcG92ZXJBZnRlckNsb3NlKCk7XG4gIH1cblxuICBvblNlbGVjdGVkRGF0ZXNDaGFuZ2UoZXZlbnQ6IGFueSk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9uU2VsZWN0ZWREYXRlc0NoYW5nZShldmVudCk7XG4gIH1cblxuICBvcGVuUGlja2VyKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50Lm9wZW5QaWNrZXIoKTtcbiAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICd1aTUtZGF0ZS1waWNrZXInLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVQaWNrZXJEaXJlY3RpdmVDdmEpLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSxcbiAgXSxcbn0pXG5jbGFzcyBEYXRlUGlja2VyRGlyZWN0aXZlQ3ZhIGV4dGVuZHMgR2VuZXJpY0NvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPERhdGVQaWNrZXJEaXJlY3RpdmVbJ2VsZW1lbnQnXT4pIHtcbiAgICBzdXBlcih7XG4gICAgICBnZXQgdmFsdWUoKSB7XG4gICAgICAgIHJldHVybiBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICB9LFxuICAgICAgc2V0IHZhbHVlKHZhbCkge1xuICAgICAgICBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB2YWw7XG4gICAgICB9LFxuICAgICAgdmFsdWVVcGRhdGVkTm90aWZpZXIkOiBtZXJnZShcbiAgICAgICAgZnJvbUV2ZW50KGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NoYW5nZScpLFxuICAgICAgICBmcm9tRXZlbnQoZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaW5wdXQnKVxuICAgICAgKSxcbiAgICAgIHNldERpc2FibGVkU3RhdGU6IChpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCA9PiB7XG4gICAgICAgIGVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCB7XG4gIERhdGVQaWNrZXJEaXJlY3RpdmUsXG4gIERhdGVQaWNrZXJEaXJlY3RpdmVDdmEsXG4gIERhdGVQaWNrZXJEaXJlY3RpdmVFdmVudHNNYXAsXG4gIERhdGVQaWNrZXJEaXJlY3RpdmVFbGVtZW50LFxufTtcbiJdfQ==
|