@unipin/angular-applet 17.3.1 → 17.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/esm2022/lib/components/buttons/group/btn-group.component.mjs +3 -3
- package/esm2022/lib/components/containers/list-container/interfaces/list-container-config.interface.mjs +1 -1
- package/esm2022/lib/components/containers/list-container/list-pagination-container/list-pagination-container.component.mjs +6 -5
- package/esm2022/lib/components/containers/list-container/list-snapshot-container/list-snapshot-container.component.mjs +6 -5
- package/esm2022/lib/components/forms/currency-input/form-currency-input.component.mjs +153 -0
- package/esm2022/lib/components/forms/date/form-date.component.mjs +3 -3
- package/esm2022/lib/components/forms/index.mjs +2 -1
- package/esm2022/lib/components/forms/select/form-select.component.mjs +2 -2
- package/esm2022/lib/components/index.mjs +2 -2
- package/esm2022/lib/services/currency/currency.service.mjs +6 -10
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/unipin-angular-applet.mjs +1384 -1244
- package/fesm2022/unipin-angular-applet.mjs.map +1 -1
- package/lib/components/containers/list-container/interfaces/list-container-config.interface.d.ts +2 -3
- package/lib/components/forms/currency-input/form-currency-input.component.d.ts +55 -0
- package/lib/components/forms/index.d.ts +1 -0
- package/lib/components/index.d.ts +1 -1
- package/lib/services/currency/currency.service.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
- package/src/assets/scss/select.scss +1 -1
|
@@ -26,7 +26,7 @@ export class ButtonGroupComponent {
|
|
|
26
26
|
this.popoverCtrl.dismiss();
|
|
27
27
|
}
|
|
28
28
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ButtonGroupComponent, deps: [{ token: 'id', attribute: true }, { token: i1.PopoverController }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ButtonGroupComponent, isStandalone: true, selector: "up-btn-group", inputs: { config: "config" }, host: { properties: { "class.d-none": "this.isHidden" } }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"config.length > 0\">\n <up-btn-loading class=\"flex-grow-1\" [type]=\"config[activeIndex].type\" [disabled]=\"config[activeIndex].disabled\" [form]=\"config[activeIndex].form\" [color]=\"config[activeIndex].color\" (onClick)=\"clickBtn($event);\">\n <ion-icon class=\"me-2\" name=\"{{ config[activeIndex].icon }}\" *ngIf=\"config[activeIndex].icon\" />\n {{ config[activeIndex].label }}\n </up-btn-loading>\n\n <ion-button class=\"flex-shrink-0\" id=\"btn-{{ id }}\" [color]=\"config[activeIndex].color\"
|
|
29
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ButtonGroupComponent, isStandalone: true, selector: "up-btn-group", inputs: { config: "config" }, host: { properties: { "class.d-none": "this.isHidden" } }, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"config.length > 0\">\n <up-btn-loading class=\"flex-grow-1\" [class.multi]=\"config.length > 1\" [type]=\"config[activeIndex].type\" [disabled]=\"config[activeIndex].disabled\" [form]=\"config[activeIndex].form\" [color]=\"config[activeIndex].color\" (onClick)=\"clickBtn($event);\">\n <ion-icon class=\"me-2\" name=\"{{ config[activeIndex].icon }}\" *ngIf=\"config[activeIndex].icon\" />\n {{ config[activeIndex].label }}\n </up-btn-loading>\n\n <ng-container *ngIf=\"config.length > 1\" >\n <ion-button class=\"flex-shrink-0\" id=\"btn-{{ id }}\" [color]=\"config[activeIndex].color\">\n <ion-icon name=\"caret-down-outline\" />\n </ion-button>\n \n <ion-popover trigger=\"btn-{{ id }}\" triggerAction=\"click\">\n <ng-template>\n <div class=\"item px-2 py-3 cursor-pointer border-bottom d-flex gap-2\" *ngFor=\"let c of config; let i = index\" (click)=\"change(i);\">\n <div class=\"icon flex-shrink-0\">\n <ion-icon name=\"checkmark\" *ngIf=\"i === activeIndex\" />\n </div>\n \n <div class=\"flex-grow-1\">\n <div class=\"fw-medium\">{{ c.label }}</div>\n <div class=\"f12 pt-1\" *ngIf=\"c.description\">\n {{ c.description }}\n </div>\n </div>\n </div>\n </ng-template>\n </ion-popover>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex}up-btn-loading.multi ::ng-deep ion-button{--border-radius: 4px 0 0 4px}ion-button::part(native){border-radius:0 4px 4px 0;border-left:1px solid rgba(255,255,255,.3)}.item:hover{color:#ed6b26;background:#fef3ee}.item ion-icon{--ionicon-stroke-width: 64px}.item .icon{width:14px}.item .f12{color:#616161}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "component", type: i1.IonButton, selector: "ion-button", inputs: ["buttonType", "color", "disabled", "download", "expand", "fill", "form", "href", "mode", "rel", "routerAnimation", "routerDirection", "shape", "size", "strong", "target", "type"] }, { kind: "component", type: i1.IonIcon, selector: "ion-icon", inputs: ["color", "flipRtl", "icon", "ios", "lazy", "md", "mode", "name", "sanitize", "size", "src"] }, { kind: "component", type: i1.IonPopover, selector: "ion-popover" }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonLoadingComponent, selector: "up-btn-loading", inputs: ["disabled", "form", "type", "fill", "color"], outputs: ["onClick"] }] }); }
|
|
30
30
|
}
|
|
31
31
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ButtonGroupComponent, decorators: [{
|
|
32
32
|
type: Component,
|
|
@@ -34,7 +34,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
34
34
|
IonicModule,
|
|
35
35
|
CommonModule,
|
|
36
36
|
ButtonLoadingComponent
|
|
37
|
-
], template: "<ng-container *ngIf=\"config.length > 0\">\n <up-btn-loading class=\"flex-grow-1\" [type]=\"config[activeIndex].type\" [disabled]=\"config[activeIndex].disabled\" [form]=\"config[activeIndex].form\" [color]=\"config[activeIndex].color\" (onClick)=\"clickBtn($event);\">\n <ion-icon class=\"me-2\" name=\"{{ config[activeIndex].icon }}\" *ngIf=\"config[activeIndex].icon\" />\n {{ config[activeIndex].label }}\n </up-btn-loading>\n\n <ion-button class=\"flex-shrink-0\" id=\"btn-{{ id }}\" [color]=\"config[activeIndex].color\"
|
|
37
|
+
], template: "<ng-container *ngIf=\"config.length > 0\">\n <up-btn-loading class=\"flex-grow-1\" [class.multi]=\"config.length > 1\" [type]=\"config[activeIndex].type\" [disabled]=\"config[activeIndex].disabled\" [form]=\"config[activeIndex].form\" [color]=\"config[activeIndex].color\" (onClick)=\"clickBtn($event);\">\n <ion-icon class=\"me-2\" name=\"{{ config[activeIndex].icon }}\" *ngIf=\"config[activeIndex].icon\" />\n {{ config[activeIndex].label }}\n </up-btn-loading>\n\n <ng-container *ngIf=\"config.length > 1\" >\n <ion-button class=\"flex-shrink-0\" id=\"btn-{{ id }}\" [color]=\"config[activeIndex].color\">\n <ion-icon name=\"caret-down-outline\" />\n </ion-button>\n \n <ion-popover trigger=\"btn-{{ id }}\" triggerAction=\"click\">\n <ng-template>\n <div class=\"item px-2 py-3 cursor-pointer border-bottom d-flex gap-2\" *ngFor=\"let c of config; let i = index\" (click)=\"change(i);\">\n <div class=\"icon flex-shrink-0\">\n <ion-icon name=\"checkmark\" *ngIf=\"i === activeIndex\" />\n </div>\n \n <div class=\"flex-grow-1\">\n <div class=\"fw-medium\">{{ c.label }}</div>\n <div class=\"f12 pt-1\" *ngIf=\"c.description\">\n {{ c.description }}\n </div>\n </div>\n </div>\n </ng-template>\n </ion-popover>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex}up-btn-loading.multi ::ng-deep ion-button{--border-radius: 4px 0 0 4px}ion-button::part(native){border-radius:0 4px 4px 0;border-left:1px solid rgba(255,255,255,.3)}.item:hover{color:#ed6b26;background:#fef3ee}.item ion-icon{--ionicon-stroke-width: 64px}.item .icon{width:14px}.item .f12{color:#616161}\n"] }]
|
|
38
38
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
39
39
|
type: Attribute,
|
|
40
40
|
args: ['id']
|
|
@@ -45,4 +45,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
45
45
|
type: HostBinding,
|
|
46
46
|
args: ['class.d-none']
|
|
47
47
|
}] } });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnRuLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9idXR0b25zL2dyb3VwL2J0bi1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvYnV0dG9ucy9ncm91cC9idG4tZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDeEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQXFCLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7QUFhMUUsTUFBTSxPQUFPLG9CQUFvQjtJQWtCL0IsWUFNMEIsRUFBVSxFQUNmLFdBQThCO1FBRHpCLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDZixnQkFBVyxHQUFYLFdBQVcsQ0FBbUI7UUFoQlosYUFBUSxHQUFZLEtBQUssQ0FBQztRQU8xRCxnQkFBVyxHQUFXLENBQUMsQ0FBQztJQVUzQixDQUFDO0lBRUUsV0FBVyxDQUFDLE9BQXNCO1FBQ3ZDLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFRTSxRQUFRLENBQUMsQ0FBeUI7UUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFRTSxNQUFNLENBQUMsQ0FBUztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBdERVLG9CQUFvQixrQkF3QmxCLElBQUk7a0dBeEJOLG9CQUFvQixzTENqQmpDLG1pREE2QkEsNFhEakJJLFdBQVcsd2dCQUNYLFlBQVksZ1FBQ1osc0JBQXNCOzsyRkFHYixvQkFBb0I7a0JBWGhDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGNBQWMsV0FHZjt3QkFDUCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osc0JBQXNCO3FCQUN2Qjs7MEJBMEJFLFNBQVM7MkJBQUMsSUFBSTt5RUFoQmlCLE1BQU07c0JBQXZDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNjLFFBQVE7c0JBQTlDLFdBQVc7dUJBQUMsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF0dHJpYnV0ZSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJb25pY01vZHVsZSwgUG9wb3ZlckNvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhcic7XG5pbXBvcnQgeyBCdXR0b25Hcm91cENvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9idG4tZ3JvdXAtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBCdXR0b25Mb2FkaW5nQ29tcG9uZW50IH0gZnJvbSAnLi4vbG9hZGluZy9idG4tbG9hZGluZy5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1cC1idG4tZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vYnRuLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnRuLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXG4gIGltcG9ydHM6IFtcbiAgICBJb25pY01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgQnV0dG9uTG9hZGluZ0NvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkdyb3VwQ29tcG9uZW50IHtcblxuICAvKipcbiAgICogQW4gaW5wdXQgdmFyaWFibGUgdGhhdCB1c2VkIHRvIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciBjdXN0b21pemluZyBidXR0b24gZ3JvdXAgcHJvcGVydGllcy4gVGhpc1xuICAgKiBvYmplY3QgZGVmaW5lZCBieSBCdXR0b25Hcm91cENvbmZpZyBpbnRlcmZhY2UgYWxsb3dzIHNwZWNpZnlpbmcgYnV0dG9uIHN1Y2ggYXMgaWNvbixcbiAgICogY29sb3IsIGRlc2NyaXB0aW9uLCBkaXNhYmxlZCwgZm9ybSwgbGFiZWwsIGFuZCB0eXBlXG4gICAqIEB0eXBlIHtCdXR0b25Hcm91cENvbmZpZ1tdfVxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcHVibGljIGNvbmZpZyE6IEJ1dHRvbkdyb3VwQ29uZmlnW107XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZC1ub25lJykgcHJvdGVjdGVkIGlzSGlkZGVuOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEEgZmxhZyB2YXJpYWJsZSB0aGF0IHVzZWQgdG8gY29udHJvbCBzaG93ZWQgYnV0dG9uLiBXaGVuIHNldCBhIG5ldyB2YWx1ZSwgY3VycmVudCBidXR0b25cbiAgICogaXMgaGlkZGVuIGFuZCBhbmQgYSBuZXcgYnV0dG9uIGlzIHNob3duLiBEZWZhdWx0IHZhbHVlIGlzIDAuXG4gICAqIEB0eXBlIHtudW1iZXJ9XG4gICAqL1xuICBwdWJsaWMgYWN0aXZlSW5kZXg6IG51bWJlciA9IDA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLyoqXG4gICAgICogQW4gaWRlbnRpZmllciB0aGF0IHVzZWQgdG8gdW5pcXVlbHkgaWRlbnRpZnkgYW4gSFRNTCBlbGVtZW50IHN1Y2ggYXMgYSBpb24tYnV0dG9uIGFuZFxuICAgICAqIGEgaW9uLXBvcG92ZXIuXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBAQXR0cmlidXRlKCdpZCcpIHB1YmxpYyBpZDogc3RyaW5nLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBwb3BvdmVyQ3RybDogUG9wb3ZlckNvbnRyb2xsZXJcbiAgKSB7IH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWR7XG4gICAgaWYgKGNoYW5nZXNbJ2NvbmZpZyddKSB7XG4gICAgICB0aGlzLmlzSGlkZGVuID0gdGhpcy5jb25maWcubGVuZ3RoIDw9IDA7XG4gICAgICB0aGlzLmFjdGl2ZUluZGV4ID0gMDtcbiAgICB9IFxuICB9XG5cbiAgLyoqXG4gICAqIEEgbWV0aG9kIHRoYXQgZXhlY3V0ZXMgYW5vdGhlciBtZXRob2QgaW5zaWRlIGFjdGl2ZSBidXR0b24gZGVmaW5lZCB3aXRoaW4gQnV0dG9uR3JvdXBDb25maWdcbiAgICogaW50ZXJmYWNlIGFmdGVyIGEgYnV0dG9uIGlzIGNsaWNrZWQuIEl0IHJlY2VpdmVzIGEgQnV0dG9uTG9hZGluZ0NvbXBvbmVudCBhcyBhIHBhcmFtZXRlclxuICAgKiBhbGxvd2luZyBtb2RpZmljYXRpb24gb2YgdGhlIGFjdGl2ZSBidXR0b24uXG4gICAqIEBwYXJhbSB7QnV0dG9uTG9hZGluZ0NvbXBvbmVudH0gYiAtIENvbnRhaW4gdmFsdWVzIGZyb20gY3VycmVudCBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgY2xpY2tCdG4oYjogQnV0dG9uTG9hZGluZ0NvbXBvbmVudCk6IHZvaWR7XG4gICAgdGhpcy5jb25maWdbdGhpcy5hY3RpdmVJbmRleF0ub25DbGljayhiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBIG1ldGhvZCB0aGF0IGNoYW5nZSB2YXJpYWJsZSBhY3RpdmVJbmRleCB2YWx1ZSB0byBjdXJyZW50IGluZGV4IG9mIHRoZSBhY3RpdmUgYnV0dG9uIGFuZCBkaXNtaXNzXG4gICAqIHBvcG92ZXIuIEl0IHJlY2VpdmVzIGEgbnVtYmVyIHZhcmlhYmxlIGFzIGEgcGFyYW1ldGVyIGFuZCB0aGUgdmFsdWUgb2YgdGhlIHBhcmFtZXRlciB3aWxsIGJlIHNldFxuICAgKiB0byB2YXJpYWJsZSBhY3RpdmVJbmRleC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGkgLSBOZXcgaW5kZXggb2YgdGhlIGFjdGl2ZSBidXR0b24uXG4gICAqL1xuICBwdWJsaWMgY2hhbmdlKGk6IG51bWJlcik6IHZvaWR7XG4gICAgdGhpcy5hY3RpdmVJbmRleCA9IGk7XG4gICAgdGhpcy5wb3BvdmVyQ3RybC5kaXNtaXNzKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcubGVuZ3RoID4gMFwiPlxuICAgIDx1cC1idG4tbG9hZGluZyBjbGFzcz1cImZsZXgtZ3Jvdy0xXCIgW2NsYXNzLm11bHRpXT1cImNvbmZpZy5sZW5ndGggPiAxXCIgW3R5cGVdPVwiY29uZmlnW2FjdGl2ZUluZGV4XS50eXBlXCIgW2Rpc2FibGVkXT1cImNvbmZpZ1thY3RpdmVJbmRleF0uZGlzYWJsZWRcIiBbZm9ybV09XCJjb25maWdbYWN0aXZlSW5kZXhdLmZvcm1cIiBbY29sb3JdPVwiY29uZmlnW2FjdGl2ZUluZGV4XS5jb2xvclwiIChvbkNsaWNrKT1cImNsaWNrQnRuKCRldmVudCk7XCI+XG4gICAgICAgIDxpb24taWNvbiBjbGFzcz1cIm1lLTJcIiBuYW1lPVwie3sgY29uZmlnW2FjdGl2ZUluZGV4XS5pY29uIH19XCIgKm5nSWY9XCJjb25maWdbYWN0aXZlSW5kZXhdLmljb25cIiAvPlxuICAgICAgICB7eyBjb25maWdbYWN0aXZlSW5kZXhdLmxhYmVsIH19XG4gICAgPC91cC1idG4tbG9hZGluZz5cblxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb25maWcubGVuZ3RoID4gMVwiID5cbiAgICAgICAgPGlvbi1idXR0b24gY2xhc3M9XCJmbGV4LXNocmluay0wXCIgaWQ9XCJidG4te3sgaWQgfX1cIiBbY29sb3JdPVwiY29uZmlnW2FjdGl2ZUluZGV4XS5jb2xvclwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjYXJldC1kb3duLW91dGxpbmVcIiAvPlxuICAgICAgICA8L2lvbi1idXR0b24+XG4gICAgXG4gICAgICAgIDxpb24tcG9wb3ZlciB0cmlnZ2VyPVwiYnRuLXt7IGlkIH19XCIgdHJpZ2dlckFjdGlvbj1cImNsaWNrXCI+XG4gICAgICAgICAgICA8bmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0gcHgtMiBweS0zIGN1cnNvci1wb2ludGVyIGJvcmRlci1ib3R0b20gZC1mbGV4IGdhcC0yXCIgKm5nRm9yPVwibGV0IGMgb2YgY29uZmlnOyBsZXQgaSA9IGluZGV4XCIgKGNsaWNrKT1cImNoYW5nZShpKTtcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24gZmxleC1zaHJpbmstMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJjaGVja21hcmtcIiAqbmdJZj1cImkgPT09IGFjdGl2ZUluZGV4XCIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZ3LW1lZGl1bVwiPnt7IGMubGFiZWwgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmMTIgcHQtMVwiICpuZ0lmPVwiYy5kZXNjcmlwdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGMuZGVzY3JpcHRpb24gfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvaW9uLXBvcG92ZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1jb250YWluZXItY29uZmlnLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VuaXBpbi1hbmd1bGFyL3NyYy9saWIvY29tcG9uZW50cy9jb250YWluZXJzL2xpc3QtY29udGFpbmVyL2ludGVyZmFjZXMvbGlzdC1jb250YWluZXItY29uZmlnLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnV0dG9uR3JvdXBDb25maWcgfSBmcm9tICcuLi8uLi8uLi9idXR0b25zJztcbmltcG9ydCB7IEdyaWRDb25maWcgfSBmcm9tICcuLi8uLi8uLi9ncmlkcy9pbnRlcmZhY2VzL2dyaWQtY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWx0ZXJDb25maWcgfSBmcm9tICcuLi8uLi8uLi9maWx0ZXIvaW50ZXJmYWNlcy9maWx0ZXItY29uZmlnLmludGVyZmFjZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdENvbnRhaW5lckNvbmZpZyB7XG4gIGJhc2VVcmw6IGAkeyBzdHJpbmcgfS9gO1xuICBidXR0b25zPzogQnV0dG9uR3JvdXBDb25maWdbXTtcbiAgZ3JpZENvbmZpZzogR3JpZENvbmZpZztcbiAgZmlsdGVyQ29uZmlnPzogRmlsdGVyQ29uZmlnO1xufVxuIl19
|
|
@@ -3,11 +3,11 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import { RouterModule } from '@angular/router';
|
|
4
4
|
import { IonicModule } from '@ionic/angular';
|
|
5
5
|
import { FilterComponent } from '../../../filter';
|
|
6
|
+
import { ButtonGroupComponent } from '../../../buttons';
|
|
6
7
|
import { GridPaginationComponent } from '../../../grids';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "@angular/router";
|
|
9
|
-
import * as i2 from "@
|
|
10
|
-
import * as i3 from "@angular/common";
|
|
10
|
+
import * as i2 from "@angular/common";
|
|
11
11
|
export class ListPaginationContainerComponent {
|
|
12
12
|
constructor(id, router) {
|
|
13
13
|
this.id = id;
|
|
@@ -30,7 +30,7 @@ export class ListPaginationContainerComponent {
|
|
|
30
30
|
this.gridApi.refreshInfiniteCache();
|
|
31
31
|
}
|
|
32
32
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ListPaginationContainerComponent, deps: [{ token: 'id', attribute: true }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ListPaginationContainerComponent, isStandalone: true, selector: "up-list-pagination-container", inputs: { header: "header", config: "config" }, outputs: { onRowClick: "onRowClick", onGridReady: "onGridReady", onSearch: "onSearch" }, host: { classAttribute: "d-flex flex-column h-100 w-100" }, ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">{{ header }}</h3>\n\n <
|
|
33
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ListPaginationContainerComponent, isStandalone: true, selector: "up-list-pagination-container", inputs: { header: "header", config: "config" }, outputs: { onRowClick: "onRowClick", onGridReady: "onGridReady", onSearch: "onSearch" }, host: { classAttribute: "d-flex flex-column h-100 w-100" }, ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">{{ header }}</h3>\n\n <up-btn-group *ngIf=\"config.buttons && config.buttons.length > 0\" id=\"btn-list-snapshot-container\" [config]=\"config.buttons\" />\n </div>\n\n <div class=\"flex-shrink-0 flex-grow-1\" *ngIf=\"config.filterConfig\">\n <up-filter placeholder=\"Type to search\" id=\"filter-{{ id }}\" [config]=\"config.filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-pagination-grid [config]=\"config.gridConfig\" [id]=\"gridId\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" />\n</div>\n", styles: ["up-filter{min-width:300px}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "component", type: FilterComponent, selector: "up-filter", inputs: ["id", "config"], outputs: ["onSearch"] }, { kind: "component", type: ButtonGroupComponent, selector: "up-btn-group", inputs: ["config"] }, { kind: "component", type: GridPaginationComponent, selector: "up-pagination-grid", inputs: ["config", "rowData", "id", "rowModelType", "rowSelection"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }] }); }
|
|
34
34
|
}
|
|
35
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ListPaginationContainerComponent, decorators: [{
|
|
36
36
|
type: Component,
|
|
@@ -41,8 +41,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
41
41
|
CommonModule,
|
|
42
42
|
RouterModule,
|
|
43
43
|
FilterComponent,
|
|
44
|
+
ButtonGroupComponent,
|
|
44
45
|
GridPaginationComponent
|
|
45
|
-
], template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">{{ header }}</h3>\n\n <
|
|
46
|
+
], template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">{{ header }}</h3>\n\n <up-btn-group *ngIf=\"config.buttons && config.buttons.length > 0\" id=\"btn-list-snapshot-container\" [config]=\"config.buttons\" />\n </div>\n\n <div class=\"flex-shrink-0 flex-grow-1\" *ngIf=\"config.filterConfig\">\n <up-filter placeholder=\"Type to search\" id=\"filter-{{ id }}\" [config]=\"config.filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-pagination-grid [config]=\"config.gridConfig\" [id]=\"gridId\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" />\n</div>\n", styles: ["up-filter{min-width:300px}\n"] }]
|
|
46
47
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
47
48
|
type: Attribute,
|
|
48
49
|
args: ['id']
|
|
@@ -59,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
59
60
|
}], onSearch: [{
|
|
60
61
|
type: Output
|
|
61
62
|
}] } });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wYWdpbmF0aW9uLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvY29udGFpbmVycy9saXN0LWNvbnRhaW5lci9saXN0LXBhZ2luYXRpb24tY29udGFpbmVyL2xpc3QtcGFnaW5hdGlvbi1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhaW5lcnMvbGlzdC1jb250YWluZXIvbGlzdC1wYWdpbmF0aW9uLWNvbnRhaW5lci9saXN0LXBhZ2luYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQVUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFrQnpELE1BQU0sT0FBTyxnQ0FBZ0M7SUE2QzNDLFlBQzBCLEVBQVUsRUFDZixNQUFjO1FBRFQsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNmLFdBQU0sR0FBTixNQUFNLENBQVE7UUE1QlQsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBUW5ELGdCQUFXLEdBQWlDLElBQUksWUFBWSxFQUFFLENBQUM7UUFRL0QsYUFBUSxHQUFvQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBT2xGLFdBQU0sR0FBdUIsUUFBUyxJQUFJLENBQUMsRUFBRSxJQUFHLEdBQUksRUFBRSxDQUFDO0lBTTFELENBQUM7SUFXRSxVQUFVLENBQUMsSUFBUztRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFFLEdBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFRLEdBQUksSUFBSSxDQUFDLElBQUssRUFBRSxDQUFFLEVBQUUsRUFBRSxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFVTSxVQUFVLENBQUMsRUFBa0I7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFRTSxNQUFNLENBQUMsQ0FBb0I7UUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQ3RDLENBQUM7OEdBdEZVLGdDQUFnQyxrQkE4QzlCLElBQUk7a0dBOUNOLGdDQUFnQyw2UkMxQjdDLCsxQkFrQkEscUZEQ0ksV0FBVyxraUJBQ1gsWUFBWSxrSUFDWixZQUFZLGdSQUNaLGVBQWUsdUdBQ2YsdUJBQXVCOzsyRkFHZCxnQ0FBZ0M7a0JBaEI1QyxTQUFTO2lDQUNJLElBQUksWUFDTiw4QkFBOEIsUUFHbEM7d0JBQ0osS0FBSyxFQUFFLGdDQUFnQztxQkFDeEMsV0FDUTt3QkFDUCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixlQUFlO3dCQUNmLHVCQUF1QjtxQkFDeEI7OzBCQWdERSxTQUFTOzJCQUFDLElBQUk7OERBeENpQixNQUFNO3NCQUF2QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFNUyxNQUFNO3NCQUF2QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFPQyxVQUFVO3NCQUFuQyxNQUFNO2dCQVFtQixXQUFXO3NCQUFwQyxNQUFNO2dCQVFtQixRQUFRO3NCQUFqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBBdHRyaWJ1dGUsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgR3JpZEFwaSwgR3JpZFJlYWR5RXZlbnQgfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvY29yZSc7XG5pbXBvcnQgeyBMaXN0Q29udGFpbmVyQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9saXN0LWNvbnRhaW5lci1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbHRlclNlYXJjaEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL2ludGVyZmFjZXMvZmlsdGVyLXNlYXJjaC1ldmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyJztcbmltcG9ydCB7IEdyaWRQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZ3JpZHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1cC1saXN0LXBhZ2luYXRpb24tY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QtcGFnaW5hdGlvbi1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LXBhZ2luYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2QtZmxleCBmbGV4LWNvbHVtbiBoLTEwMCB3LTEwMCdcbiAgfSxcbiAgaW1wb3J0czogW1xuICAgIElvbmljTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgRmlsdGVyQ29tcG9uZW50LFxuICAgIEdyaWRQYWdpbmF0aW9uQ29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTGlzdFBhZ2luYXRpb25Db250YWluZXJDb21wb25lbnQge1xuXG4gIC8qKlxuICAgKiBBbiBJbnB1dCB2YXJpYWJsZSB0aGF0IHVzZWQgdG8gc3RyaW5nIGZvciBjdXN0b21pemluZyBoZWFkZXIgdGV4dC5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovIFxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgaGVhZGVyITogc3RyaW5nO1xuICAvKipcbiAgICogQW4gaW5wdXQgdmFyaWFibGUgdGhhdCB1c2VkIHRvIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciBjdXN0b21pemluZyBsaXN0IGNvbnRhaW5lciBjb25maWcgcHJvcGVydGllcy4gVGhpc1xuICAgKiBvYmplY3QgZGVmaW5lZCBieSBMaXN0Q29udGFpbmVyQ29uZmlnIGludGVyZmFjZSBhbGxvd3Mgc3BlY2lmeWluZyBiYXNlVXJsLCBncmlkQ29uZmlnLCBmaWx0ZXJDb25maWcgYW5kIHBlcm1pc3Npb24uXG4gICAqIEB0eXBlIHtMaXN0Q29udGFpbmVyQ29uZmlnfVxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcHVibGljIGNvbmZpZyE6IExpc3RDb250YWluZXJDb25maWc7XG4gIC8qKlxuICAgKiBUaGUgYG9uUm93Q2xpY2tgIEV2ZW50RW1pdHRlciBpcyB1c2VkIHRvIG5vdGlmeSBwYXJlbnQgY29tcG9uZW50cyBvciBsaXN0ZW5lcnNcbiAgICogd2hlbiBhIHJvdyBpcyBjbGlja2VkIHdpdGhpbiB0aGUgY3VycmVudCBjb21wb25lbnQuIEl0IGVtaXRzIGFuIGV2ZW50IGNvbnRhaW5pbmdcbiAgICogaW5mb3JtYXRpb24gcmVsYXRlZCB0byB0aGUgY2xpY2tlZCByb3cuXG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8YW55Pn1cbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgb25Sb3dDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8qKlxuICAgKiBUaGUgYG9uR3JpZFJlYWR5YCBFdmVudEVtaXR0ZXIgaXMgdXNlZCB0byBpbmZvcm0gcGFyZW50IGNvbXBvbmVudHMgb3IgbGlzdGVuZXJzXG4gICAqIHdoZW4gdGhlIGdyaWQgd2l0aGluIHRoZSBjdXJyZW50IGNvbXBvbmVudCBpcyByZWFkeSBmb3IgaW50ZXJhY3Rpb24uIEl0IGVtaXRzIGFuXG4gICAqIGV2ZW50IG9mIHR5cGUgYEdyaWRSZWFkeUV2ZW50YCwgd2hpY2ggbWF5IGNvbnRhaW4gaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdyaWQnc1xuICAgKiByZWFkaW5lc3MgYW5kIGNhcGFiaWxpdGllcy4gICAgIFxuICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPEdyaWRSZWFkeUV2ZW50Pn0gXG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IG9uR3JpZFJlYWR5OiBFdmVudEVtaXR0ZXI8R3JpZFJlYWR5RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvKipcbiAgICogVGhlIGBvblNlYXJjaGAgRXZlbnRFbWl0dGVyIGlzIHVzZWQgdG8gaW5mb3JtIHBhcmVudCBjb21wb25lbnRzIG9yIGxpc3RlbmVyc1xuICAgKiB3aGVuIGEgc2VhcmNoIGV2ZW50IGlzIHRyaWdnZXJlZCB3aXRoaW4gdGhlIGN1cnJlbnQgY29tcG9uZW50LiBJdCBlbWl0cyBhblxuICAgKiBldmVudCBvZiB0eXBlIGBGaWx0ZXJTZWFyY2hFdmVudGAsIHdoaWNoIG1heSBjb250YWluIGluZm9ybWF0aW9uIGFib3V0IHRoZVxuICAgKiBzZWFyY2ggcXVlcnkgYW5kIGFkZGl0aW9uYWwgZGV0YWlscyByZWxhdGVkIHRvIHRoZSBzZWFyY2ggb3BlcmF0aW9uLlxuICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPEZpbHRlclNlYXJjaEV2ZW50Pn1cbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgb25TZWFyY2g6IEV2ZW50RW1pdHRlcjxGaWx0ZXJTZWFyY2hFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8qKlxuICAgKiBUaGUgYGdyaWRJZGAgcHJvcGVydHkgaXMgYSB1bmlxdWUgaWRlbnRpZmllciBmb3IgYSBncmlkIGVsZW1lbnQuIEl0IGlzXG4gICAqIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJhc2VkIG9uIHRoZSBjb21wb25lbnQncyBgaWRgIHByb3BlcnR5LiBJZiB0aGUgYGlkYFxuICAgKiBwcm9wZXJ0eSBpcyBub3Qgc2V0LCBhIGRlZmF1bHQgdmFsdWUgb2YgJ3AnIGlzIHVzZWQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBwdWJsaWMgZ3JpZElkOiBgZ3JpZC0keyBzdHJpbmcgfWAgPSBgZ3JpZC0keyB0aGlzLmlkPz8gJ3AnIH1gO1xuICBwcm90ZWN0ZWQgZ3JpZEFwaSE6IEdyaWRBcGk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEF0dHJpYnV0ZSgnaWQnKSBwdWJsaWMgaWQ6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXJcbiAgKSB7IH1cbiAgXG4gIC8qKlxuICAgKiBUaGUgYG9wZW5EZXRhaWxgIG1ldGhvZCBpcyB1c2VkIHRvIHRyaWdnZXIgYWN0aW9ucyB3aGVuIGEgdXNlciByZXF1ZXN0cyB0byBvcGVuXG4gICAqIHRoZSBkZXRhaWwgdmlldyBmb3IgYSBzcGVjaWZpYyBkYXRhIGl0ZW0uIEl0IGVtaXRzIGEgYGRhdGFgIGV2ZW50IHVzaW5nIHRoZVxuICAgKiBgb25Sb3dDbGlja2AgRXZlbnRFbWl0dGVyLCBwcm92aWRpbmcgZXh0ZXJuYWwgY29tcG9uZW50cyBvciBsaXN0ZW5lcnMgd2l0aFxuICAgKiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY2xpY2tlZCBkYXRhLiBBZGRpdGlvbmFsbHksIGl0IG5hdmlnYXRlcyB0byB0aGUgZGV0YWlsXG4gICAqIHJvdXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGF0YSBpdGVtIHVzaW5nIHRoZSBBbmd1bGFyIFJvdXRlci5cbiAgICogXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgaXRlbSBmb3Igd2hpY2ggdGhlIGRldGFpbCB2aWV3IGlzIHRvIGJlIG9wZW5lZC5cbiAgICovXG4gIHB1YmxpYyBvcGVuRGV0YWlsKGRhdGE6IGFueSk6IHZvaWR7IFxuICAgIHRoaXMub25Sb3dDbGljay5lbWl0KGRhdGEpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsgYCR7IHRoaXMuY29uZmlnLmJhc2VVcmwgfSR7IGRhdGEuZ3VpZCB9YCBdLCB7IHByZXNlcnZlRnJhZ21lbnQ6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGBzZXRHcmlkQXBpYCBtZXRob2QgaXMgdXNlZCB0byBzZXQgdGhlIGdyaWQgQVBJIHdoZW4gdGhlIGdyaWQgaXMgcmVhZHksIHR5cGljYWxseVxuICAgKiBhZnRlciB0aGUgYGdyaWRSZWFkeWAgZXZlbnQgaXMgZmlyZWQuIEl0IGFzc2lnbnMgdGhlIGdyaWQgQVBJIHRvIHRoZSBjb21wb25lbnQnc1xuICAgKiBgZ3JpZEFwaWAgcHJvcGVydHkgYW5kIGVtaXRzIHRoZSBgb25HcmlkUmVhZHlgIGV2ZW50LCBwcm92aWRpbmcgZXh0ZXJuYWwgY29tcG9uZW50c1xuICAgKiBvciBsaXN0ZW5lcnMgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ3JpZCdzIHJlYWRpbmVzcy5cbiAgICogXG4gICAqIEBwYXJhbSB7R3JpZFJlYWR5RXZlbnR9IGV2IC0gVGhlIGBHcmlkUmVhZHlFdmVudGAgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ3JpZCdzIHJlYWRpbmVzcy5cbiAgICovXG4gIHB1YmxpYyBzZXRHcmlkQXBpKGV2OiBHcmlkUmVhZHlFdmVudCk6IHZvaWR7IFxuICAgIHRoaXMuZ3JpZEFwaSA9IGV2LmFwaTsgXG4gICAgdGhpcy5vbkdyaWRSZWFkeS5lbWl0KGV2KTtcbiAgfVxuICAvKipcbiAgICogVGhlIGBzZWFyY2hgIG1ldGhvZCBpcyB1c2VkIHRvIHRyaWdnZXIgYSBzZWFyY2ggb3BlcmF0aW9uIGJhc2VkIG9uIHRoZSBwcm92aWRlZFxuICAgKiBgRmlsdGVyU2VhcmNoRXZlbnRgLiBJdCBlbWl0cyB0aGUgYG9uU2VhcmNoYCBldmVudCwgcHJvdmlkaW5nIGV4dGVybmFsIGNvbXBvbmVudHNcbiAgICogb3IgbGlzdGVuZXJzIHdpdGggaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNlYXJjaCBxdWVyeS4gQWRkaXRpb25hbGx5LCBpdCByZWZyZXNoZXNcbiAgICogdGhlIGdyaWQgY2FjaGUgdXNpbmcgdGhlIGByZWZyZXNoSW5maW5pdGVDYWNoZWAgbWV0aG9kIG9mIHRoZSBncmlkIEFQSS5cbiAgICogQHBhcmFtIHtGaWx0ZXJTZWFyY2hFdmVudH0gayAtIFRoZSBgRmlsdGVyU2VhcmNoRXZlbnRgIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNlYXJjaCBvcGVyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoKGs6IEZpbHRlclNlYXJjaEV2ZW50KTogdm9pZHtcbiAgICB0aGlzLm9uU2VhcmNoLmVtaXQoayk7XG4gICAgdGhpcy5ncmlkQXBpLnJlZnJlc2hJbmZpbml0ZUNhY2hlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGdhcC00IHAtNCBmbGV4LXNocmluay0wIGZsZXgtd3JhcFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgIDxoMyBjbGFzcz1cIm0tMFwiPnt7IGhlYWRlciB9fTwvaDM+XG5cbiAgICAgICAgPGlvbi1idXR0b24gcm91dGVyTGluaz1cInt7IGNvbmZpZy5iYXNlVXJsIH19Y3JlYXRlXCIgKm5nSWY9XCJjb25maWcucGVybWlzc2lvbnMuY2FuQ3JlYXRlXCI+XG4gICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImFkZFwiIHNsb3Q9XCJzdGFydFwiIC8+XG4gICAgICAgICAgICBDcmVhdGVcbiAgICAgICAgPC9pb24tYnV0dG9uPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgZmxleC1ncm93LTFcIiAqbmdJZj1cImNvbmZpZy5maWx0ZXJDb25maWdcIj5cbiAgICAgICAgPHVwLWZpbHRlciBwbGFjZWhvbGRlcj1cIlR5cGUgdG8gc2VhcmNoXCIgaWQ9XCJmaWx0ZXIte3sgaWQgfX1cIiBbY29uZmlnXT1cImNvbmZpZy5maWx0ZXJDb25maWdcIiAob25TZWFyY2gpPVwic2VhcmNoKCRldmVudClcIiAvPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMSBweC0xIHBiLTFcIj5cbiAgICA8dXAtcGFnaW5hdGlvbi1ncmlkIFtjb25maWddPVwiY29uZmlnLmdyaWRDb25maWdcIiBbaWRdPVwiZ3JpZElkXCIgKG9uR3JpZFJlYWR5KT1cInNldEdyaWRBcGkoJGV2ZW50KVwiIChvblJvd0NsaWNrKT1cIm9wZW5EZXRhaWwoJGV2ZW50KVwiIC8+XG48L2Rpdj5cbiJdfQ==
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wYWdpbmF0aW9uLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvY29udGFpbmVycy9saXN0LWNvbnRhaW5lci9saXN0LXBhZ2luYXRpb24tY29udGFpbmVyL2xpc3QtcGFnaW5hdGlvbi1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhaW5lcnMvbGlzdC1jb250YWluZXIvbGlzdC1wYWdpbmF0aW9uLWNvbnRhaW5lci9saXN0LXBhZ2luYXRpb24tY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQVUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBSTdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQW1CekQsTUFBTSxPQUFPLGdDQUFnQztJQTZDM0MsWUFDMEIsRUFBVSxFQUNmLE1BQWM7UUFEVCxPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ2YsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTVCVCxlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFRbkQsZ0JBQVcsR0FBaUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVEvRCxhQUFRLEdBQW9DLElBQUksWUFBWSxFQUFFLENBQUM7UUFPbEYsV0FBTSxHQUF1QixRQUFTLElBQUksQ0FBQyxFQUFFLElBQUcsR0FBSSxFQUFFLENBQUM7SUFNMUQsQ0FBQztJQVdFLFVBQVUsQ0FBQyxJQUFTO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUUsR0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQVEsR0FBSSxJQUFJLENBQUMsSUFBSyxFQUFFLENBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakcsQ0FBQztJQVVNLFVBQVUsQ0FBQyxFQUFrQjtRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQVFNLE1BQU0sQ0FBQyxDQUFvQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDdEMsQ0FBQzs4R0F0RlUsZ0NBQWdDLGtCQThDOUIsSUFBSTtrR0E5Q04sZ0NBQWdDLDZSQzVCN0Msc3lCQWVBLHFGREtJLFdBQVcsOEJBQ1gsWUFBWSxrSUFDWixZQUFZLCtCQUNaLGVBQWUsdUdBQ2Ysb0JBQW9CLDZFQUNwQix1QkFBdUI7OzJGQUdkLGdDQUFnQztrQkFqQjVDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLDhCQUE4QixRQUdsQzt3QkFDSixLQUFLLEVBQUUsZ0NBQWdDO3FCQUN4QyxXQUNRO3dCQUNQLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQix1QkFBdUI7cUJBQ3hCOzswQkFnREUsU0FBUzsyQkFBQyxJQUFJOzhEQXhDaUIsTUFBTTtzQkFBdkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBTVMsTUFBTTtzQkFBdkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBT0MsVUFBVTtzQkFBbkMsTUFBTTtnQkFRbUIsV0FBVztzQkFBcEMsTUFBTTtnQkFRbUIsUUFBUTtzQkFBakMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQXR0cmlidXRlLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEdyaWRBcGksIEdyaWRSZWFkeUV2ZW50IH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHsgTGlzdENvbnRhaW5lckNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvbGlzdC1jb250YWluZXItY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWx0ZXJTZWFyY2hFdmVudCB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9pbnRlcmZhY2VzL2ZpbHRlci1zZWFyY2gtZXZlbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlcic7XG5pbXBvcnQgeyBCdXR0b25Hcm91cENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2J1dHRvbnMnO1xuaW1wb3J0IHsgR3JpZFBhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9ncmlkcyc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ3VwLWxpc3QtcGFnaW5hdGlvbi1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1wYWdpbmF0aW9uLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3QtcGFnaW5hdGlvbi1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZC1mbGV4IGZsZXgtY29sdW1uIGgtMTAwIHctMTAwJ1xuICB9LFxuICBpbXBvcnRzOiBbXG4gICAgSW9uaWNNb2R1bGUsXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgICBGaWx0ZXJDb21wb25lbnQsXG4gICAgQnV0dG9uR3JvdXBDb21wb25lbnQsXG4gICAgR3JpZFBhZ2luYXRpb25Db21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBMaXN0UGFnaW5hdGlvbkNvbnRhaW5lckNvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIEFuIElucHV0IHZhcmlhYmxlIHRoYXQgdXNlZCB0byBzdHJpbmcgZm9yIGN1c3RvbWl6aW5nIGhlYWRlciB0ZXh0LlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi8gXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBoZWFkZXIhOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBBbiBpbnB1dCB2YXJpYWJsZSB0aGF0IHVzZWQgdG8gY29uZmlndXJhdGlvbiBvYmplY3QgZm9yIGN1c3RvbWl6aW5nIGxpc3QgY29udGFpbmVyIGNvbmZpZyBwcm9wZXJ0aWVzLiBUaGlzXG4gICAqIG9iamVjdCBkZWZpbmVkIGJ5IExpc3RDb250YWluZXJDb25maWcgaW50ZXJmYWNlIGFsbG93cyBzcGVjaWZ5aW5nIGJhc2VVcmwsIGdyaWRDb25maWcsIGZpbHRlckNvbmZpZyBhbmQgcGVybWlzc2lvbi5cbiAgICogQHR5cGUge0xpc3RDb250YWluZXJDb25maWd9XG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgY29uZmlnITogTGlzdENvbnRhaW5lckNvbmZpZztcbiAgLyoqXG4gICAqIFRoZSBgb25Sb3dDbGlja2AgRXZlbnRFbWl0dGVyIGlzIHVzZWQgdG8gbm90aWZ5IHBhcmVudCBjb21wb25lbnRzIG9yIGxpc3RlbmVyc1xuICAgKiB3aGVuIGEgcm93IGlzIGNsaWNrZWQgd2l0aGluIHRoZSBjdXJyZW50IGNvbXBvbmVudC4gSXQgZW1pdHMgYW4gZXZlbnQgY29udGFpbmluZ1xuICAgKiBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIHRoZSBjbGlja2VkIHJvdy5cbiAgICogQHR5cGUge0V2ZW50RW1pdHRlcjxhbnk+fVxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBvblJvd0NsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLyoqXG4gICAqIFRoZSBgb25HcmlkUmVhZHlgIEV2ZW50RW1pdHRlciBpcyB1c2VkIHRvIGluZm9ybSBwYXJlbnQgY29tcG9uZW50cyBvciBsaXN0ZW5lcnNcbiAgICogd2hlbiB0aGUgZ3JpZCB3aXRoaW4gdGhlIGN1cnJlbnQgY29tcG9uZW50IGlzIHJlYWR5IGZvciBpbnRlcmFjdGlvbi4gSXQgZW1pdHMgYW5cbiAgICogZXZlbnQgb2YgdHlwZSBgR3JpZFJlYWR5RXZlbnRgLCB3aGljaCBtYXkgY29udGFpbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ3JpZCdzXG4gICAqIHJlYWRpbmVzcyBhbmQgY2FwYWJpbGl0aWVzLiAgICAgXG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8R3JpZFJlYWR5RXZlbnQ+fSBcbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgb25HcmlkUmVhZHk6IEV2ZW50RW1pdHRlcjxHcmlkUmVhZHlFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8qKlxuICAgKiBUaGUgYG9uU2VhcmNoYCBFdmVudEVtaXR0ZXIgaXMgdXNlZCB0byBpbmZvcm0gcGFyZW50IGNvbXBvbmVudHMgb3IgbGlzdGVuZXJzXG4gICAqIHdoZW4gYSBzZWFyY2ggZXZlbnQgaXMgdHJpZ2dlcmVkIHdpdGhpbiB0aGUgY3VycmVudCBjb21wb25lbnQuIEl0IGVtaXRzIGFuXG4gICAqIGV2ZW50IG9mIHR5cGUgYEZpbHRlclNlYXJjaEV2ZW50YCwgd2hpY2ggbWF5IGNvbnRhaW4gaW5mb3JtYXRpb24gYWJvdXQgdGhlXG4gICAqIHNlYXJjaCBxdWVyeSBhbmQgYWRkaXRpb25hbCBkZXRhaWxzIHJlbGF0ZWQgdG8gdGhlIHNlYXJjaCBvcGVyYXRpb24uXG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8RmlsdGVyU2VhcmNoRXZlbnQ+fVxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBvblNlYXJjaDogRXZlbnRFbWl0dGVyPEZpbHRlclNlYXJjaEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLyoqXG4gICAqIFRoZSBgZ3JpZElkYCBwcm9wZXJ0eSBpcyBhIHVuaXF1ZSBpZGVudGlmaWVyIGZvciBhIGdyaWQgZWxlbWVudC4gSXQgaXNcbiAgICogYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYmFzZWQgb24gdGhlIGNvbXBvbmVudCdzIGBpZGAgcHJvcGVydHkuIElmIHRoZSBgaWRgXG4gICAqIHByb3BlcnR5IGlzIG5vdCBzZXQsIGEgZGVmYXVsdCB2YWx1ZSBvZiAncCcgaXMgdXNlZC5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHB1YmxpYyBncmlkSWQ6IGBncmlkLSR7IHN0cmluZyB9YCA9IGBncmlkLSR7IHRoaXMuaWQ/PyAncCcgfWA7XG4gIHByb3RlY3RlZCBncmlkQXBpITogR3JpZEFwaTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAQXR0cmlidXRlKCdpZCcpIHB1YmxpYyBpZDogc3RyaW5nLFxuICAgIHByb3RlY3RlZCByZWFkb25seSByb3V0ZXI6IFJvdXRlclxuICApIHsgfVxuICBcbiAgLyoqXG4gICAqIFRoZSBgb3BlbkRldGFpbGAgbWV0aG9kIGlzIHVzZWQgdG8gdHJpZ2dlciBhY3Rpb25zIHdoZW4gYSB1c2VyIHJlcXVlc3RzIHRvIG9wZW5cbiAgICogdGhlIGRldGFpbCB2aWV3IGZvciBhIHNwZWNpZmljIGRhdGEgaXRlbS4gSXQgZW1pdHMgYSBgZGF0YWAgZXZlbnQgdXNpbmcgdGhlXG4gICAqIGBvblJvd0NsaWNrYCBFdmVudEVtaXR0ZXIsIHByb3ZpZGluZyBleHRlcm5hbCBjb21wb25lbnRzIG9yIGxpc3RlbmVycyB3aXRoXG4gICAqIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjbGlja2VkIGRhdGEuIEFkZGl0aW9uYWxseSwgaXQgbmF2aWdhdGVzIHRvIHRoZSBkZXRhaWxcbiAgICogcm91dGUgYXNzb2NpYXRlZCB3aXRoIHRoZSBkYXRhIGl0ZW0gdXNpbmcgdGhlIEFuZ3VsYXIgUm91dGVyLlxuICAgKiBcbiAgICogQHBhcmFtIGRhdGEgLSBUaGUgZGF0YSBpdGVtIGZvciB3aGljaCB0aGUgZGV0YWlsIHZpZXcgaXMgdG8gYmUgb3BlbmVkLlxuICAgKi9cbiAgcHVibGljIG9wZW5EZXRhaWwoZGF0YTogYW55KTogdm9pZHsgXG4gICAgdGhpcy5vblJvd0NsaWNrLmVtaXQoZGF0YSk7XG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWyBgJHsgdGhpcy5jb25maWcuYmFzZVVybCB9JHsgZGF0YS5ndWlkIH1gIF0sIHsgcHJlc2VydmVGcmFnbWVudDogdHJ1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYHNldEdyaWRBcGlgIG1ldGhvZCBpcyB1c2VkIHRvIHNldCB0aGUgZ3JpZCBBUEkgd2hlbiB0aGUgZ3JpZCBpcyByZWFkeSwgdHlwaWNhbGx5XG4gICAqIGFmdGVyIHRoZSBgZ3JpZFJlYWR5YCBldmVudCBpcyBmaXJlZC4gSXQgYXNzaWducyB0aGUgZ3JpZCBBUEkgdG8gdGhlIGNvbXBvbmVudCdzXG4gICAqIGBncmlkQXBpYCBwcm9wZXJ0eSBhbmQgZW1pdHMgdGhlIGBvbkdyaWRSZWFkeWAgZXZlbnQsIHByb3ZpZGluZyBleHRlcm5hbCBjb21wb25lbnRzXG4gICAqIG9yIGxpc3RlbmVycyB3aXRoIGluZm9ybWF0aW9uIGFib3V0IHRoZSBncmlkJ3MgcmVhZGluZXNzLlxuICAgKiBcbiAgICogQHBhcmFtIHtHcmlkUmVhZHlFdmVudH0gZXYgLSBUaGUgYEdyaWRSZWFkeUV2ZW50YCBjb250YWluaW5nIGluZm9ybWF0aW9uIGFib3V0IHRoZSBncmlkJ3MgcmVhZGluZXNzLlxuICAgKi9cbiAgcHVibGljIHNldEdyaWRBcGkoZXY6IEdyaWRSZWFkeUV2ZW50KTogdm9pZHsgXG4gICAgdGhpcy5ncmlkQXBpID0gZXYuYXBpOyBcbiAgICB0aGlzLm9uR3JpZFJlYWR5LmVtaXQoZXYpO1xuICB9XG4gIC8qKlxuICAgKiBUaGUgYHNlYXJjaGAgbWV0aG9kIGlzIHVzZWQgdG8gdHJpZ2dlciBhIHNlYXJjaCBvcGVyYXRpb24gYmFzZWQgb24gdGhlIHByb3ZpZGVkXG4gICAqIGBGaWx0ZXJTZWFyY2hFdmVudGAuIEl0IGVtaXRzIHRoZSBgb25TZWFyY2hgIGV2ZW50LCBwcm92aWRpbmcgZXh0ZXJuYWwgY29tcG9uZW50c1xuICAgKiBvciBsaXN0ZW5lcnMgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2VhcmNoIHF1ZXJ5LiBBZGRpdGlvbmFsbHksIGl0IHJlZnJlc2hlc1xuICAgKiB0aGUgZ3JpZCBjYWNoZSB1c2luZyB0aGUgYHJlZnJlc2hJbmZpbml0ZUNhY2hlYCBtZXRob2Qgb2YgdGhlIGdyaWQgQVBJLlxuICAgKiBAcGFyYW0ge0ZpbHRlclNlYXJjaEV2ZW50fSBrIC0gVGhlIGBGaWx0ZXJTZWFyY2hFdmVudGAgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2VhcmNoIG9wZXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBzZWFyY2goazogRmlsdGVyU2VhcmNoRXZlbnQpOiB2b2lke1xuICAgIHRoaXMub25TZWFyY2guZW1pdChrKTtcbiAgICB0aGlzLmdyaWRBcGkucmVmcmVzaEluZmluaXRlQ2FjaGUoKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gZ2FwLTQgcC00IGZsZXgtc2hyaW5rLTAgZmxleC13cmFwXCI+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgPGgzIGNsYXNzPVwibS0wXCI+e3sgaGVhZGVyIH19PC9oMz5cblxuICAgICAgICA8dXAtYnRuLWdyb3VwICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMgJiYgY29uZmlnLmJ1dHRvbnMubGVuZ3RoID4gMFwiIGlkPVwiYnRuLWxpc3Qtc25hcHNob3QtY29udGFpbmVyXCIgW2NvbmZpZ109XCJjb25maWcuYnV0dG9uc1wiIC8+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1zaHJpbmstMCBmbGV4LWdyb3ctMVwiICpuZ0lmPVwiY29uZmlnLmZpbHRlckNvbmZpZ1wiPlxuICAgICAgICA8dXAtZmlsdGVyIHBsYWNlaG9sZGVyPVwiVHlwZSB0byBzZWFyY2hcIiBpZD1cImZpbHRlci17eyBpZCB9fVwiIFtjb25maWddPVwiY29uZmlnLmZpbHRlckNvbmZpZ1wiIChvblNlYXJjaCk9XCJzZWFyY2goJGV2ZW50KVwiIC8+XG4gICAgPC9kaXY+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImZsZXgtZ3Jvdy0xIHB4LTEgcGItMVwiPlxuICAgIDx1cC1wYWdpbmF0aW9uLWdyaWQgW2NvbmZpZ109XCJjb25maWcuZ3JpZENvbmZpZ1wiIFtpZF09XCJncmlkSWRcIiAob25HcmlkUmVhZHkpPVwic2V0R3JpZEFwaSgkZXZlbnQpXCIgKG9uUm93Q2xpY2spPVwib3BlbkRldGFpbCgkZXZlbnQpXCIgLz5cbjwvZGl2PlxuIl19
|
|
@@ -4,10 +4,10 @@ import { RouterModule } from '@angular/router';
|
|
|
4
4
|
import { IonicModule } from '@ionic/angular';
|
|
5
5
|
import { FilterComponent } from '../../../filter';
|
|
6
6
|
import { GridSnapshotComponent } from '../../../grids';
|
|
7
|
+
import { ButtonGroupComponent } from '../../../buttons';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "@angular/router";
|
|
9
|
-
import * as i2 from "@
|
|
10
|
-
import * as i3 from "@angular/common";
|
|
10
|
+
import * as i2 from "@angular/common";
|
|
11
11
|
export class ListSnapshotContainerComponent {
|
|
12
12
|
constructor(id, router) {
|
|
13
13
|
this.id = id;
|
|
@@ -31,7 +31,7 @@ export class ListSnapshotContainerComponent {
|
|
|
31
31
|
this.gridApi.purgeInfiniteCache();
|
|
32
32
|
}
|
|
33
33
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ListSnapshotContainerComponent, deps: [{ token: 'id', attribute: true }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ListSnapshotContainerComponent, isStandalone: true, selector: "up-list-snapshot-container", inputs: { header: "header", config: "config" }, outputs: { onRowClick: "onRowClick", onGridReady: "onGridReady", onSearch: "onSearch" }, host: { classAttribute: "d-flex flex-column h-100 w-100" }, ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">{{ header }}</h3>\n\n <
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: ListSnapshotContainerComponent, isStandalone: true, selector: "up-list-snapshot-container", inputs: { header: "header", config: "config" }, outputs: { onRowClick: "onRowClick", onGridReady: "onGridReady", onSearch: "onSearch" }, host: { classAttribute: "d-flex flex-column h-100 w-100" }, ngImport: i0, template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">{{ header }}</h3>\n\n <up-btn-group *ngIf=\"config.buttons && config.buttons.length > 0\" id=\"btn-list-snapshot-container\" [config]=\"config.buttons\" />\n </div>\n\n <div class=\"flex-shrink-0 flex-grow-1\" *ngIf=\"config.filterConfig\">\n <up-filter placeholder=\"Type to search\" id=\"filter-{{ id }}\" [config]=\"config.filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-snapshot-grid [config]=\"config.gridConfig\" [id]=\"gridId\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" />\n</div>\n", styles: ["up-filter{min-width:300px}\n"], dependencies: [{ kind: "ngmodule", type: IonicModule }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "component", type: FilterComponent, selector: "up-filter", inputs: ["id", "config"], outputs: ["onSearch"] }, { kind: "component", type: ButtonGroupComponent, selector: "up-btn-group", inputs: ["config"] }, { kind: "component", type: GridSnapshotComponent, selector: "up-snapshot-grid", inputs: ["id", "config", "rowSelection"], outputs: ["onRowClick", "onGridReady", "onSelectionChanged"] }] }); }
|
|
35
35
|
}
|
|
36
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: ListSnapshotContainerComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
@@ -42,8 +42,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
42
42
|
CommonModule,
|
|
43
43
|
RouterModule,
|
|
44
44
|
FilterComponent,
|
|
45
|
+
ButtonGroupComponent,
|
|
45
46
|
GridSnapshotComponent
|
|
46
|
-
], template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">{{ header }}</h3>\n\n <
|
|
47
|
+
], template: "<div class=\"d-flex align-items-center justify-content-between gap-4 p-4 flex-shrink-0 flex-wrap\">\n <div class=\"flex-grow-1 d-flex align-items-center gap-3\">\n <h3 class=\"m-0\">{{ header }}</h3>\n\n <up-btn-group *ngIf=\"config.buttons && config.buttons.length > 0\" id=\"btn-list-snapshot-container\" [config]=\"config.buttons\" />\n </div>\n\n <div class=\"flex-shrink-0 flex-grow-1\" *ngIf=\"config.filterConfig\">\n <up-filter placeholder=\"Type to search\" id=\"filter-{{ id }}\" [config]=\"config.filterConfig\" (onSearch)=\"search($event)\" />\n </div>\n</div>\n\n<div class=\"flex-grow-1 px-1 pb-1\">\n <up-snapshot-grid [config]=\"config.gridConfig\" [id]=\"gridId\" (onGridReady)=\"setGridApi($event)\" (onRowClick)=\"openDetail($event)\" />\n</div>\n", styles: ["up-filter{min-width:300px}\n"] }]
|
|
47
48
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
48
49
|
type: Attribute,
|
|
49
50
|
args: ['id']
|
|
@@ -60,4 +61,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImpor
|
|
|
60
61
|
}], onSearch: [{
|
|
61
62
|
type: Output
|
|
62
63
|
}] } });
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1zbmFwc2hvdC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhaW5lcnMvbGlzdC1jb250YWluZXIvbGlzdC1zbmFwc2hvdC1jb250YWluZXIvbGlzdC1zbmFwc2hvdC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhaW5lcnMvbGlzdC1jb250YWluZXIvbGlzdC1zbmFwc2hvdC1jb250YWluZXIvbGlzdC1zbmFwc2hvdC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQWtCdkQsTUFBTSxPQUFPLDhCQUE4QjtJQTZDekMsWUFDMEIsRUFBVSxFQUNmLE1BQWM7UUFEVCxPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ2YsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQTVCVCxlQUFVLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFRbkQsZ0JBQVcsR0FBaUMsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVEvRCxhQUFRLEdBQW9DLElBQUksWUFBWSxFQUFFLENBQUM7UUFPbEYsV0FBTSxHQUF1QixRQUFTLElBQUksQ0FBQyxFQUFFLElBQUcsR0FBSSxFQUFFLENBQUM7SUFNMUQsQ0FBQztJQVdFLFVBQVUsQ0FBQyxJQUFTO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUUsR0FBSSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQVEsR0FBSSxJQUFJLENBQUMsSUFBSyxFQUFFLENBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDakcsQ0FBQztJQVVNLFVBQVUsQ0FBQyxFQUFrQjtRQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUM7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQVNNLE1BQU0sQ0FBQyxDQUFvQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUV0QixJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ3BDLENBQUM7OEdBekZVLDhCQUE4QixrQkE4QzVCLElBQUk7a0dBOUNOLDhCQUE4QiwyUkMxQjNDLDYxQkFrQkEscUZEQ0ksV0FBVyxraUJBQ1gsWUFBWSxrSUFDWixZQUFZLGdSQUNaLGVBQWUsdUdBQ2YscUJBQXFCOzsyRkFHWiw4QkFBOEI7a0JBaEIxQyxTQUFTO2lDQUNJLElBQUksWUFDTiw0QkFBNEIsUUFHaEM7d0JBQ0osS0FBSyxFQUFFLGdDQUFnQztxQkFDeEMsV0FDUTt3QkFDUCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osWUFBWTt3QkFDWixlQUFlO3dCQUNmLHFCQUFxQjtxQkFDdEI7OzBCQWdERSxTQUFTOzJCQUFDLElBQUk7OERBeENpQixNQUFNO3NCQUF2QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFNUyxNQUFNO3NCQUF2QyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFPQyxVQUFVO3NCQUFuQyxNQUFNO2dCQVFtQixXQUFXO3NCQUFwQyxNQUFNO2dCQVFtQixRQUFRO3NCQUFqQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBBdHRyaWJ1dGUsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlciwgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgR3JpZEFwaSwgR3JpZFJlYWR5RXZlbnQgfSBmcm9tICdAYWctZ3JpZC1jb21tdW5pdHkvY29yZSc7XG5pbXBvcnQgeyBMaXN0Q29udGFpbmVyQ29uZmlnIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9saXN0LWNvbnRhaW5lci1jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbHRlclNlYXJjaEV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyL2ludGVyZmFjZXMvZmlsdGVyLXNlYXJjaC1ldmVudC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vZmlsdGVyJztcbmltcG9ydCB7IEdyaWRTbmFwc2hvdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2dyaWRzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndXAtbGlzdC1zbmFwc2hvdC1jb250YWluZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1zbmFwc2hvdC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LXNuYXBzaG90LWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkLWZsZXggZmxleC1jb2x1bW4gaC0xMDAgdy0xMDAnXG4gIH0sXG4gIGltcG9ydHM6IFtcbiAgICBJb25pY01vZHVsZSxcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIEZpbHRlckNvbXBvbmVudCxcbiAgICBHcmlkU25hcHNob3RDb21wb25lbnRcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBMaXN0U25hcHNob3RDb250YWluZXJDb21wb25lbnQge1xuXG4gIC8qKlxuICAgKiBBbiBJbnB1dCB2YXJpYWJsZSB0aGF0IHVzZWQgdG8gc3RyaW5nIGZvciBjdXN0b21pemluZyBoZWFkZXIuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqLyBcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcHVibGljIGhlYWRlciE6IHN0cmluZztcbiAgLyoqXG4gICAqIEFuIGlucHV0IHZhcmlhYmxlIHRoYXQgdXNlZCB0byBjb25maWd1cmF0aW9uIG9iamVjdCBmb3IgY3VzdG9taXppbmcgbGlzdCBjb250YWluZXIgY29uZmlnIHByb3BlcnRpZXMuIFRoaXNcbiAgICogb2JqZWN0IGRlZmluZWQgYnkgTGlzdENvbnRhaW5lckNvbmZpZyBpbnRlcmZhY2UgYWxsb3dzIHNwZWNpZnlpbmcgYmFzZVVybCwgZ3JpZENvbmZpZywgZmlsdGVyQ29uZmlnIGFuZCBwZXJtaXNzaW9uLlxuICAgKiBAdHlwZSB7TGlzdENvbnRhaW5lckNvbmZpZ31cbiAgICovXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHB1YmxpYyBjb25maWchOiBMaXN0Q29udGFpbmVyQ29uZmlnO1xuICAvKipcbiAgICogVGhlIGBvblJvd0NsaWNrYCBFdmVudEVtaXR0ZXIgaXMgdXNlZCB0byBub3RpZnkgcGFyZW50IGNvbXBvbmVudHMgb3IgbGlzdGVuZXJzXG4gICAqIHdoZW4gYSByb3cgaXMgY2xpY2tlZCB3aXRoaW4gdGhlIGN1cnJlbnQgY29tcG9uZW50LiBJdCBlbWl0cyBhbiBldmVudCBjb250YWluaW5nXG4gICAqIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gdGhlIGNsaWNrZWQgcm93LlxuICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPGFueT59XG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IG9uUm93Q2xpY2s6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvKipcbiAgICogVGhlIGBvbkdyaWRSZWFkeWAgRXZlbnRFbWl0dGVyIGlzIHVzZWQgdG8gaW5mb3JtIHBhcmVudCBjb21wb25lbnRzIG9yIGxpc3RlbmVyc1xuICAgKiB3aGVuIHRoZSBncmlkIHdpdGhpbiB0aGUgY3VycmVudCBjb21wb25lbnQgaXMgcmVhZHkgZm9yIGludGVyYWN0aW9uLiBJdCBlbWl0cyBhblxuICAgKiBldmVudCBvZiB0eXBlIGBHcmlkUmVhZHlFdmVudGAsIHdoaWNoIG1heSBjb250YWluIGluZm9ybWF0aW9uIGFib3V0IHRoZSBncmlkJ3NcbiAgICogcmVhZGluZXNzIGFuZCBjYXBhYmlsaXRpZXMuICBcbiAgICogQHR5cGUge0V2ZW50RW1pdHRlcjxHcmlkUmVhZHlFdmVudD59ICAgIFxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBvbkdyaWRSZWFkeTogRXZlbnRFbWl0dGVyPEdyaWRSZWFkeUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgLyoqXG4gICAqIFRoZSBgb25TZWFyY2hgIEV2ZW50RW1pdHRlciBpcyB1c2VkIHRvIGluZm9ybSBwYXJlbnQgY29tcG9uZW50cyBvciBsaXN0ZW5lcnNcbiAgICogd2hlbiBhIHNlYXJjaCBldmVudCBpcyB0cmlnZ2VyZWQgd2l0aGluIHRoZSBjdXJyZW50IGNvbXBvbmVudC4gSXQgZW1pdHMgYW5cbiAgICogZXZlbnQgb2YgdHlwZSBgRmlsdGVyU2VhcmNoRXZlbnRgLCB3aGljaCBtYXkgY29udGFpbiBpbmZvcm1hdGlvbiBhYm91dCB0aGVcbiAgICogc2VhcmNoIHF1ZXJ5IGFuZCBhZGRpdGlvbmFsIGRldGFpbHMgcmVsYXRlZCB0byB0aGUgc2VhcmNoIG9wZXJhdGlvbi5cbiAgICogQHR5cGUge0V2ZW50RW1pdHRlcjxGaWx0ZXJTZWFyY2hFdmVudD59XG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IG9uU2VhcmNoOiBFdmVudEVtaXR0ZXI8RmlsdGVyU2VhcmNoRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvKipcbiAgICogVGhlIGBncmlkSWRgIHByb3BlcnR5IGlzIGEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIGEgZ3JpZCBlbGVtZW50LiBJdCBpc1xuICAgKiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBiYXNlZCBvbiB0aGUgY29tcG9uZW50J3MgYGlkYCBwcm9wZXJ0eS4gSWYgdGhlIGBpZGBcbiAgICogcHJvcGVydHkgaXMgbm90IHNldCwgYSBkZWZhdWx0IHZhbHVlIG9mICdwJyBpcyB1c2VkLlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKi9cbiAgcHVibGljIGdyaWRJZDogYGdyaWQtJHsgc3RyaW5nIH1gID0gYGdyaWQtJHsgdGhpcy5pZD8/ICdwJyB9YDtcbiAgcHJvdGVjdGVkIGdyaWRBcGkhOiBHcmlkQXBpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBBdHRyaWJ1dGUoJ2lkJykgcHVibGljIGlkOiBzdHJpbmcsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyXG4gICkgeyB9XG4gIFxuICAvKipcbiAgICogVGhlIGBvcGVuRGV0YWlsYCBtZXRob2QgaXMgdXNlZCB0byB0cmlnZ2VyIGFjdGlvbnMgd2hlbiBhIHVzZXIgcmVxdWVzdHMgdG8gb3BlblxuICAgKiB0aGUgZGV0YWlsIHZpZXcgZm9yIGEgc3BlY2lmaWMgZGF0YSBpdGVtLiBJdCBlbWl0cyBhIGBkYXRhYCBldmVudCB1c2luZyB0aGVcbiAgICogYG9uUm93Q2xpY2tgIEV2ZW50RW1pdHRlciwgcHJvdmlkaW5nIGV4dGVybmFsIGNvbXBvbmVudHMgb3IgbGlzdGVuZXJzIHdpdGhcbiAgICogaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNsaWNrZWQgZGF0YS4gQWRkaXRpb25hbGx5LCBpdCBuYXZpZ2F0ZXMgdG8gdGhlIGRldGFpbFxuICAgKiByb3V0ZSBhc3NvY2lhdGVkIHdpdGggdGhlIGRhdGEgaXRlbSB1c2luZyB0aGUgQW5ndWxhciBSb3V0ZXIuXG4gICAqIFxuICAgKiBAcGFyYW0gZGF0YSAtIFRoZSBkYXRhIGl0ZW0gZm9yIHdoaWNoIHRoZSBkZXRhaWwgdmlldyBpcyB0byBiZSBvcGVuZWQuXG4gICAqL1xuICBwdWJsaWMgb3BlbkRldGFpbChkYXRhOiBhbnkpOiB2b2lkeyBcbiAgICB0aGlzLm9uUm93Q2xpY2suZW1pdChkYXRhKTtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbIGAkeyB0aGlzLmNvbmZpZy5iYXNlVXJsIH0keyBkYXRhLmd1aWQgfWAgXSwgeyBwcmVzZXJ2ZUZyYWdtZW50OiB0cnVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBgc2V0R3JpZEFwaWAgbWV0aG9kIGlzIHVzZWQgdG8gc2V0IHRoZSBncmlkIEFQSSB3aGVuIHRoZSBncmlkIGlzIHJlYWR5LCB0eXBpY2FsbHlcbiAgICogYWZ0ZXIgdGhlIGBncmlkUmVhZHlgIGV2ZW50IGlzIGZpcmVkLiBJdCBhc3NpZ25zIHRoZSBncmlkIEFQSSB0byB0aGUgY29tcG9uZW50J3NcbiAgICogYGdyaWRBcGlgIHByb3BlcnR5IGFuZCBlbWl0cyB0aGUgYG9uR3JpZFJlYWR5YCBldmVudCwgcHJvdmlkaW5nIGV4dGVybmFsIGNvbXBvbmVudHNcbiAgICogb3IgbGlzdGVuZXJzIHdpdGggaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdyaWQncyByZWFkaW5lc3MuXG4gICAqIFxuICAgKiBAcGFyYW0ge0dyaWRSZWFkeUV2ZW50fSBldiAtIFRoZSBgR3JpZFJlYWR5RXZlbnRgIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdyaWQncyByZWFkaW5lc3MuXG4gICAqL1xuICBwdWJsaWMgc2V0R3JpZEFwaShldjogR3JpZFJlYWR5RXZlbnQpOiB2b2lkeyBcbiAgICB0aGlzLmdyaWRBcGkgPSBldi5hcGk7IFxuICAgIHRoaXMub25HcmlkUmVhZHkuZW1pdChldik7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGBzZWFyY2hgIG1ldGhvZCBpcyB1c2VkIHRvIHRyaWdnZXIgYSBzZWFyY2ggb3BlcmF0aW9uIGJhc2VkIG9uIHRoZSBwcm92aWRlZFxuICAgKiBgRmlsdGVyU2VhcmNoRXZlbnRgLiBJdCBlbWl0cyB0aGUgYG9uU2VhcmNoYCBldmVudCwgcHJvdmlkaW5nIGV4dGVybmFsIGNvbXBvbmVudHNcbiAgICogb3IgbGlzdGVuZXJzIHdpdGggaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNlYXJjaCBxdWVyeS4gQWRkaXRpb25hbGx5LCBpdCByZWZyZXNoZXNcbiAgICogdGhlIGdyaWQgY2FjaGUgdXNpbmcgdGhlIGByZWZyZXNoSW5maW5pdGVDYWNoZWAgbWV0aG9kIG9mIHRoZSBncmlkIEFQSS5cbiAgICogQHBhcmFtIHtGaWx0ZXJTZWFyY2hFdmVudH0gayAtIFRoZSBgRmlsdGVyU2VhcmNoRXZlbnRgIGNvbnRhaW5pbmcgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNlYXJjaCBvcGVyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoKGs6IEZpbHRlclNlYXJjaEV2ZW50KTogdm9pZHtcbiAgICB0aGlzLm9uU2VhcmNoLmVtaXQoayk7XG4gICAgXG4gICAgdGhpcy5ncmlkQXBpLnBhZ2luYXRpb25Hb1RvRmlyc3RQYWdlKCk7XG4gICAgdGhpcy5ncmlkQXBpLnB1cmdlSW5maW5pdGVDYWNoZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBnYXAtNCBwLTQgZmxleC1zaHJpbmstMCBmbGV4LXdyYXBcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZmxleC1ncm93LTEgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtM1wiPlxuICAgICAgICA8aDMgY2xhc3M9XCJtLTBcIj57eyBoZWFkZXIgfX08L2gzPlxuXG4gICAgICAgIDxpb24tYnV0dG9uIHJvdXRlckxpbms9XCJ7eyBjb25maWcuYmFzZVVybCB9fWNyZWF0ZVwiICpuZ0lmPVwiY29uZmlnLnBlcm1pc3Npb25zLmNhbkNyZWF0ZVwiPlxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJhZGRcIiBzbG90PVwic3RhcnRcIiAvPlxuICAgICAgICAgICAgQ3JlYXRlXG4gICAgICAgIDwvaW9uLWJ1dHRvbj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LXNocmluay0wIGZsZXgtZ3Jvdy0xXCIgKm5nSWY9XCJjb25maWcuZmlsdGVyQ29uZmlnXCI+XG4gICAgICAgIDx1cC1maWx0ZXIgcGxhY2Vob2xkZXI9XCJUeXBlIHRvIHNlYXJjaFwiIGlkPVwiZmlsdGVyLXt7IGlkIH19XCIgW2NvbmZpZ109XCJjb25maWcuZmlsdGVyQ29uZmlnXCIgKG9uU2VhcmNoKT1cInNlYXJjaCgkZXZlbnQpXCIgLz5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiZmxleC1ncm93LTEgcHgtMSBwYi0xXCI+XG4gICAgPHVwLXNuYXBzaG90LWdyaWQgW2NvbmZpZ109XCJjb25maWcuZ3JpZENvbmZpZ1wiIFtpZF09XCJncmlkSWRcIiAob25HcmlkUmVhZHkpPVwic2V0R3JpZEFwaSgkZXZlbnQpXCIgKG9uUm93Q2xpY2spPVwib3BlbkRldGFpbCgkZXZlbnQpXCIgLz5cbjwvZGl2PlxuIl19
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1zbmFwc2hvdC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhaW5lcnMvbGlzdC1jb250YWluZXIvbGlzdC1zbmFwc2hvdC1jb250YWluZXIvbGlzdC1zbmFwc2hvdC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdW5pcGluLWFuZ3VsYXIvc3JjL2xpYi9jb21wb25lbnRzL2NvbnRhaW5lcnMvbGlzdC1jb250YWluZXIvbGlzdC1zbmFwc2hvdC1jb250YWluZXIvbGlzdC1zbmFwc2hvdC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBbUJ4RCxNQUFNLE9BQU8sOEJBQThCO0lBNkN6QyxZQUMwQixFQUFVLEVBQ2YsTUFBYztRQURULE9BQUUsR0FBRixFQUFFLENBQVE7UUFDZixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBNUJULGVBQVUsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQVFuRCxnQkFBVyxHQUFpQyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBUS9ELGFBQVEsR0FBb0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU9sRixXQUFNLEdBQXVCLFFBQVMsSUFBSSxDQUFDLEVBQUUsSUFBRyxHQUFJLEVBQUUsQ0FBQztJQU0xRCxDQUFDO0lBV0UsVUFBVSxDQUFDLElBQVM7UUFDekIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBRSxHQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBUSxHQUFJLElBQUksQ0FBQyxJQUFLLEVBQUUsQ0FBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBVU0sVUFBVSxDQUFDLEVBQWtCO1FBQ2xDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQztRQUN0QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBU00sTUFBTSxDQUFDLENBQW9CO1FBQ2hDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXRCLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDcEMsQ0FBQzs4R0F6RlUsOEJBQThCLGtCQThDNUIsSUFBSTtrR0E5Q04sOEJBQThCLDJSQzVCM0Msb3lCQWVBLHFGREtJLFdBQVcsOEJBQ1gsWUFBWSxrSUFDWixZQUFZLCtCQUNaLGVBQWUsdUdBQ2Ysb0JBQW9CLDZFQUNwQixxQkFBcUI7OzJGQUdaLDhCQUE4QjtrQkFqQjFDLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLDRCQUE0QixRQUdoQzt3QkFDSixLQUFLLEVBQUUsZ0NBQWdDO3FCQUN4QyxXQUNRO3dCQUNQLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixZQUFZO3dCQUNaLGVBQWU7d0JBQ2Ysb0JBQW9CO3dCQUNwQixxQkFBcUI7cUJBQ3RCOzswQkFnREUsU0FBUzsyQkFBQyxJQUFJOzhEQXhDaUIsTUFBTTtzQkFBdkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBTVMsTUFBTTtzQkFBdkMsS0FBSzt1QkFBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBT0MsVUFBVTtzQkFBbkMsTUFBTTtnQkFRbUIsV0FBVztzQkFBcEMsTUFBTTtnQkFRbUIsUUFBUTtzQkFBakMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQXR0cmlidXRlLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXIsIFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBJb25pY01vZHVsZSB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7IEdyaWRBcGksIEdyaWRSZWFkeUV2ZW50IH0gZnJvbSAnQGFnLWdyaWQtY29tbXVuaXR5L2NvcmUnO1xuaW1wb3J0IHsgTGlzdENvbnRhaW5lckNvbmZpZyB9IGZyb20gJy4uL2ludGVyZmFjZXMvbGlzdC1jb250YWluZXItY29uZmlnLmludGVyZmFjZSc7XG5pbXBvcnQgeyBGaWx0ZXJTZWFyY2hFdmVudCB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlci9pbnRlcmZhY2VzL2ZpbHRlci1zZWFyY2gtZXZlbnQuaW50ZXJmYWNlJztcbmltcG9ydCB7IEZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2ZpbHRlcic7XG5pbXBvcnQgeyBHcmlkU25hcHNob3RDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9ncmlkcyc7XG5pbXBvcnQgeyBCdXR0b25Hcm91cENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2J1dHRvbnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICd1cC1saXN0LXNuYXBzaG90LWNvbnRhaW5lcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LXNuYXBzaG90LWNvbnRhaW5lci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xpc3Qtc25hcHNob3QtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ2QtZmxleCBmbGV4LWNvbHVtbiBoLTEwMCB3LTEwMCdcbiAgfSxcbiAgaW1wb3J0czogW1xuICAgIElvbmljTW9kdWxlLFxuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgRmlsdGVyQ29tcG9uZW50LFxuICAgIEJ1dHRvbkdyb3VwQ29tcG9uZW50LFxuICAgIEdyaWRTbmFwc2hvdENvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIExpc3RTbmFwc2hvdENvbnRhaW5lckNvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIEFuIElucHV0IHZhcmlhYmxlIHRoYXQgdXNlZCB0byBzdHJpbmcgZm9yIGN1c3RvbWl6aW5nIGhlYWRlci5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovIFxuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSBwdWJsaWMgaGVhZGVyITogc3RyaW5nO1xuICAvKipcbiAgICogQW4gaW5wdXQgdmFyaWFibGUgdGhhdCB1c2VkIHRvIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciBjdXN0b21pemluZyBsaXN0IGNvbnRhaW5lciBjb25maWcgcHJvcGVydGllcy4gVGhpc1xuICAgKiBvYmplY3QgZGVmaW5lZCBieSBMaXN0Q29udGFpbmVyQ29uZmlnIGludGVyZmFjZSBhbGxvd3Mgc3BlY2lmeWluZyBiYXNlVXJsLCBncmlkQ29uZmlnLCBmaWx0ZXJDb25maWcgYW5kIHBlcm1pc3Npb24uXG4gICAqIEB0eXBlIHtMaXN0Q29udGFpbmVyQ29uZmlnfVxuICAgKi9cbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgcHVibGljIGNvbmZpZyE6IExpc3RDb250YWluZXJDb25maWc7XG4gIC8qKlxuICAgKiBUaGUgYG9uUm93Q2xpY2tgIEV2ZW50RW1pdHRlciBpcyB1c2VkIHRvIG5vdGlmeSBwYXJlbnQgY29tcG9uZW50cyBvciBsaXN0ZW5lcnNcbiAgICogd2hlbiBhIHJvdyBpcyBjbGlja2VkIHdpdGhpbiB0aGUgY3VycmVudCBjb21wb25lbnQuIEl0IGVtaXRzIGFuIGV2ZW50IGNvbnRhaW5pbmdcbiAgICogaW5mb3JtYXRpb24gcmVsYXRlZCB0byB0aGUgY2xpY2tlZCByb3cuXG4gICAqIEB0eXBlIHtFdmVudEVtaXR0ZXI8YW55Pn1cbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgb25Sb3dDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8qKlxuICAgKiBUaGUgYG9uR3JpZFJlYWR5YCBFdmVudEVtaXR0ZXIgaXMgdXNlZCB0byBpbmZvcm0gcGFyZW50IGNvbXBvbmVudHMgb3IgbGlzdGVuZXJzXG4gICAqIHdoZW4gdGhlIGdyaWQgd2l0aGluIHRoZSBjdXJyZW50IGNvbXBvbmVudCBpcyByZWFkeSBmb3IgaW50ZXJhY3Rpb24uIEl0IGVtaXRzIGFuXG4gICAqIGV2ZW50IG9mIHR5cGUgYEdyaWRSZWFkeUV2ZW50YCwgd2hpY2ggbWF5IGNvbnRhaW4gaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdyaWQnc1xuICAgKiByZWFkaW5lc3MgYW5kIGNhcGFiaWxpdGllcy4gIFxuICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPEdyaWRSZWFkeUV2ZW50Pn0gICAgXG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IG9uR3JpZFJlYWR5OiBFdmVudEVtaXR0ZXI8R3JpZFJlYWR5RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAvKipcbiAgICogVGhlIGBvblNlYXJjaGAgRXZlbnRFbWl0dGVyIGlzIHVzZWQgdG8gaW5mb3JtIHBhcmVudCBjb21wb25lbnRzIG9yIGxpc3RlbmVyc1xuICAgKiB3aGVuIGEgc2VhcmNoIGV2ZW50IGlzIHRyaWdnZXJlZCB3aXRoaW4gdGhlIGN1cnJlbnQgY29tcG9uZW50LiBJdCBlbWl0cyBhblxuICAgKiBldmVudCBvZiB0eXBlIGBGaWx0ZXJTZWFyY2hFdmVudGAsIHdoaWNoIG1heSBjb250YWluIGluZm9ybWF0aW9uIGFib3V0IHRoZVxuICAgKiBzZWFyY2ggcXVlcnkgYW5kIGFkZGl0aW9uYWwgZGV0YWlscyByZWxhdGVkIHRvIHRoZSBzZWFyY2ggb3BlcmF0aW9uLlxuICAgKiBAdHlwZSB7RXZlbnRFbWl0dGVyPEZpbHRlclNlYXJjaEV2ZW50Pn1cbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgcmVhZG9ubHkgb25TZWFyY2g6IEV2ZW50RW1pdHRlcjxGaWx0ZXJTZWFyY2hFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIC8qKlxuICAgKiBUaGUgYGdyaWRJZGAgcHJvcGVydHkgaXMgYSB1bmlxdWUgaWRlbnRpZmllciBmb3IgYSBncmlkIGVsZW1lbnQuIEl0IGlzXG4gICAqIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGJhc2VkIG9uIHRoZSBjb21wb25lbnQncyBgaWRgIHByb3BlcnR5LiBJZiB0aGUgYGlkYFxuICAgKiBwcm9wZXJ0eSBpcyBub3Qgc2V0LCBhIGRlZmF1bHQgdmFsdWUgb2YgJ3AnIGlzIHVzZWQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqL1xuICBwdWJsaWMgZ3JpZElkOiBgZ3JpZC0keyBzdHJpbmcgfWAgPSBgZ3JpZC0keyB0aGlzLmlkPz8gJ3AnIH1gO1xuICBwcm90ZWN0ZWQgZ3JpZEFwaSE6IEdyaWRBcGk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEF0dHJpYnV0ZSgnaWQnKSBwdWJsaWMgaWQ6IHN0cmluZyxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXJcbiAgKSB7IH1cbiAgXG4gIC8qKlxuICAgKiBUaGUgYG9wZW5EZXRhaWxgIG1ldGhvZCBpcyB1c2VkIHRvIHRyaWdnZXIgYWN0aW9ucyB3aGVuIGEgdXNlciByZXF1ZXN0cyB0byBvcGVuXG4gICAqIHRoZSBkZXRhaWwgdmlldyBmb3IgYSBzcGVjaWZpYyBkYXRhIGl0ZW0uIEl0IGVtaXRzIGEgYGRhdGFgIGV2ZW50IHVzaW5nIHRoZVxuICAgKiBgb25Sb3dDbGlja2AgRXZlbnRFbWl0dGVyLCBwcm92aWRpbmcgZXh0ZXJuYWwgY29tcG9uZW50cyBvciBsaXN0ZW5lcnMgd2l0aFxuICAgKiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY2xpY2tlZCBkYXRhLiBBZGRpdGlvbmFsbHksIGl0IG5hdmlnYXRlcyB0byB0aGUgZGV0YWlsXG4gICAqIHJvdXRlIGFzc29jaWF0ZWQgd2l0aCB0aGUgZGF0YSBpdGVtIHVzaW5nIHRoZSBBbmd1bGFyIFJvdXRlci5cbiAgICogXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgaXRlbSBmb3Igd2hpY2ggdGhlIGRldGFpbCB2aWV3IGlzIHRvIGJlIG9wZW5lZC5cbiAgICovXG4gIHB1YmxpYyBvcGVuRGV0YWlsKGRhdGE6IGFueSk6IHZvaWR7IFxuICAgIHRoaXMub25Sb3dDbGljay5lbWl0KGRhdGEpO1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsgYCR7IHRoaXMuY29uZmlnLmJhc2VVcmwgfSR7IGRhdGEuZ3VpZCB9YCBdLCB7IHByZXNlcnZlRnJhZ21lbnQ6IHRydWUgfSk7XG4gIH1cblxuICAvKipcbiAgICogVGhlIGBzZXRHcmlkQXBpYCBtZXRob2QgaXMgdXNlZCB0byBzZXQgdGhlIGdyaWQgQVBJIHdoZW4gdGhlIGdyaWQgaXMgcmVhZHksIHR5cGljYWxseVxuICAgKiBhZnRlciB0aGUgYGdyaWRSZWFkeWAgZXZlbnQgaXMgZmlyZWQuIEl0IGFzc2lnbnMgdGhlIGdyaWQgQVBJIHRvIHRoZSBjb21wb25lbnQnc1xuICAgKiBgZ3JpZEFwaWAgcHJvcGVydHkgYW5kIGVtaXRzIHRoZSBgb25HcmlkUmVhZHlgIGV2ZW50LCBwcm92aWRpbmcgZXh0ZXJuYWwgY29tcG9uZW50c1xuICAgKiBvciBsaXN0ZW5lcnMgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ3JpZCdzIHJlYWRpbmVzcy5cbiAgICogXG4gICAqIEBwYXJhbSB7R3JpZFJlYWR5RXZlbnR9IGV2IC0gVGhlIGBHcmlkUmVhZHlFdmVudGAgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ3JpZCdzIHJlYWRpbmVzcy5cbiAgICovXG4gIHB1YmxpYyBzZXRHcmlkQXBpKGV2OiBHcmlkUmVhZHlFdmVudCk6IHZvaWR7IFxuICAgIHRoaXMuZ3JpZEFwaSA9IGV2LmFwaTsgXG4gICAgdGhpcy5vbkdyaWRSZWFkeS5lbWl0KGV2KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYHNlYXJjaGAgbWV0aG9kIGlzIHVzZWQgdG8gdHJpZ2dlciBhIHNlYXJjaCBvcGVyYXRpb24gYmFzZWQgb24gdGhlIHByb3ZpZGVkXG4gICAqIGBGaWx0ZXJTZWFyY2hFdmVudGAuIEl0IGVtaXRzIHRoZSBgb25TZWFyY2hgIGV2ZW50LCBwcm92aWRpbmcgZXh0ZXJuYWwgY29tcG9uZW50c1xuICAgKiBvciBsaXN0ZW5lcnMgd2l0aCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2VhcmNoIHF1ZXJ5LiBBZGRpdGlvbmFsbHksIGl0IHJlZnJlc2hlc1xuICAgKiB0aGUgZ3JpZCBjYWNoZSB1c2luZyB0aGUgYHJlZnJlc2hJbmZpbml0ZUNhY2hlYCBtZXRob2Qgb2YgdGhlIGdyaWQgQVBJLlxuICAgKiBAcGFyYW0ge0ZpbHRlclNlYXJjaEV2ZW50fSBrIC0gVGhlIGBGaWx0ZXJTZWFyY2hFdmVudGAgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2VhcmNoIG9wZXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBzZWFyY2goazogRmlsdGVyU2VhcmNoRXZlbnQpOiB2b2lke1xuICAgIHRoaXMub25TZWFyY2guZW1pdChrKTtcbiAgICBcbiAgICB0aGlzLmdyaWRBcGkucGFnaW5hdGlvbkdvVG9GaXJzdFBhZ2UoKTtcbiAgICB0aGlzLmdyaWRBcGkucHVyZ2VJbmZpbml0ZUNhY2hlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGdhcC00IHAtNCBmbGV4LXNocmluay0wIGZsZXgtd3JhcFwiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgIDxoMyBjbGFzcz1cIm0tMFwiPnt7IGhlYWRlciB9fTwvaDM+XG5cbiAgICAgICAgPHVwLWJ0bi1ncm91cCAqbmdJZj1cImNvbmZpZy5idXR0b25zICYmIGNvbmZpZy5idXR0b25zLmxlbmd0aCA+IDBcIiBpZD1cImJ0bi1saXN0LXNuYXBzaG90LWNvbnRhaW5lclwiIFtjb25maWddPVwiY29uZmlnLmJ1dHRvbnNcIiAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cImZsZXgtc2hyaW5rLTAgZmxleC1ncm93LTFcIiAqbmdJZj1cImNvbmZpZy5maWx0ZXJDb25maWdcIj5cbiAgICAgICAgPHVwLWZpbHRlciBwbGFjZWhvbGRlcj1cIlR5cGUgdG8gc2VhcmNoXCIgaWQ9XCJmaWx0ZXIte3sgaWQgfX1cIiBbY29uZmlnXT1cImNvbmZpZy5maWx0ZXJDb25maWdcIiAob25TZWFyY2gpPVwic2VhcmNoKCRldmVudClcIiAvPlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cbjxkaXYgY2xhc3M9XCJmbGV4LWdyb3ctMSBweC0xIHBiLTFcIj5cbiAgICA8dXAtc25hcHNob3QtZ3JpZCBbY29uZmlnXT1cImNvbmZpZy5ncmlkQ29uZmlnXCIgW2lkXT1cImdyaWRJZFwiIChvbkdyaWRSZWFkeSk9XCJzZXRHcmlkQXBpKCRldmVudClcIiAob25Sb3dDbGljayk9XCJvcGVuRGV0YWlsKCRldmVudClcIiAvPlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { Attribute, ChangeDetectionStrategy, Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
4
|
+
import { Subject, catchError, concat, debounceTime, distinctUntilChanged, map, of, switchMap, tap } from 'rxjs';
|
|
5
|
+
import { NgSelectModule } from '@ng-select/ng-select';
|
|
6
|
+
import { getFormErrorMessage } from '../../../utils';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../../services";
|
|
9
|
+
import * as i2 from "@angular/common";
|
|
10
|
+
import * as i3 from "@angular/forms";
|
|
11
|
+
import * as i4 from "@ng-select/ng-select";
|
|
12
|
+
export class FormCurrencyInputComponent {
|
|
13
|
+
constructor(numberPlaceholder, ch, currencyService) {
|
|
14
|
+
this.numberPlaceholder = numberPlaceholder;
|
|
15
|
+
this.ch = ch;
|
|
16
|
+
this.currencyService = currencyService;
|
|
17
|
+
this.clearable = true;
|
|
18
|
+
this.isInputNumber = false;
|
|
19
|
+
this.initialItems = [];
|
|
20
|
+
this.numberValue = null;
|
|
21
|
+
this.isNumberDisabled = false;
|
|
22
|
+
this.required = false;
|
|
23
|
+
this.disabled = false;
|
|
24
|
+
this.bindLabel = 'label';
|
|
25
|
+
this.bindValue = 'value';
|
|
26
|
+
this.onChange = new EventEmitter();
|
|
27
|
+
this.typeahead = new Subject();
|
|
28
|
+
this.query$ = this.typeahead.pipe(distinctUntilChanged(), debounceTime(300), tap(() => this.isLoading = true), switchMap((k) => this.queryFunc(k).pipe(map((result) => result.length === 0 ? this.initialItems : result), catchError(() => of(this.initialItems)))), tap(() => this.isLoading = false));
|
|
29
|
+
this.items$ = this.query$;
|
|
30
|
+
this.isLoading = false;
|
|
31
|
+
this.isTouched = false;
|
|
32
|
+
this.value = null;
|
|
33
|
+
this.decimalLimiter = 0;
|
|
34
|
+
this.changed = (_val) => { };
|
|
35
|
+
this.onTouched = () => { };
|
|
36
|
+
}
|
|
37
|
+
ngOnChanges(changes) {
|
|
38
|
+
if (changes['initialItems']) {
|
|
39
|
+
this.items$ = concat(of(this.initialItems), this.query$);
|
|
40
|
+
this.decimalLimiter = this.initialItems[0]?.magnifyValue === 1 ? 0 : Math.floor(Math.log10(this.initialItems[0]?.magnifyValue ?? 1));
|
|
41
|
+
this.numberValue = this.numberValue / this.initialItems[0]?.magnifyValue;
|
|
42
|
+
}
|
|
43
|
+
if (this.isInputNumber)
|
|
44
|
+
this.bindLabel = 'value';
|
|
45
|
+
}
|
|
46
|
+
registerOnChange(fn) { this.changed = fn; }
|
|
47
|
+
registerOnTouched(fn) { this.onTouched = fn; }
|
|
48
|
+
writeValue(val) {
|
|
49
|
+
this.value = val;
|
|
50
|
+
this.ch.markForCheck();
|
|
51
|
+
}
|
|
52
|
+
setDisabledState(d) {
|
|
53
|
+
this.disabled = d;
|
|
54
|
+
this.ch.markForCheck();
|
|
55
|
+
}
|
|
56
|
+
validate(control) {
|
|
57
|
+
this.formControl = control;
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
change(e) {
|
|
61
|
+
if (this.isInputNumber)
|
|
62
|
+
this.numberValue = null;
|
|
63
|
+
this.onChange.emit({ ccy: e, number: this.numberValue });
|
|
64
|
+
this.initialItems = e;
|
|
65
|
+
if (!this.isTouched) {
|
|
66
|
+
this.onTouched();
|
|
67
|
+
this.isTouched = true;
|
|
68
|
+
}
|
|
69
|
+
if (!this.disabled) {
|
|
70
|
+
if (!e)
|
|
71
|
+
this.value = null;
|
|
72
|
+
else
|
|
73
|
+
this.value = e[this.bindValue];
|
|
74
|
+
this.changed(this.value);
|
|
75
|
+
this.errorMsg = getFormErrorMessage(this.formControl.errors, 'Currency');
|
|
76
|
+
}
|
|
77
|
+
if (e?.magnifyValue === 1)
|
|
78
|
+
this.decimalLimiter = 0;
|
|
79
|
+
else
|
|
80
|
+
this.decimalLimiter = Math.floor(Math.log10(e?.magnifyValue));
|
|
81
|
+
}
|
|
82
|
+
numberInput({ value }) {
|
|
83
|
+
this.numberValue = value;
|
|
84
|
+
this.onChange.emit({ ccy: this.initialItems, number: value });
|
|
85
|
+
}
|
|
86
|
+
limitDecimal({ charCode, preventDefault, target: { value } }) {
|
|
87
|
+
const reg = this.decimalLimiter > 0 ? new RegExp(`^\\d*(\\.\\d{0,${this.decimalLimiter}})?$`) : /^\d+$/;
|
|
88
|
+
if (!reg.test(value + String.fromCharCode(charCode)))
|
|
89
|
+
preventDefault();
|
|
90
|
+
}
|
|
91
|
+
queryFunc(keyword) {
|
|
92
|
+
return this.currencyService.query(keyword).pipe(map(({ data: { webConfigMsCurrency: { data } } }) => data.map(({ code, name, magnifyValue }) => ({ label: `[${code}] ${name}`, value: code, magnifyValue }))));
|
|
93
|
+
}
|
|
94
|
+
;
|
|
95
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FormCurrencyInputComponent, deps: [{ token: 'numberPlaceholder', attribute: true }, { token: i0.ChangeDetectorRef }, { token: i1.CurrencyService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
96
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.3", type: FormCurrencyInputComponent, isStandalone: true, selector: "up-currency-input", inputs: { clearable: "clearable", isInputNumber: "isInputNumber", initialItems: "initialItems", numberValue: "numberValue", isNumberDisabled: "isNumberDisabled", required: "required", disabled: "disabled", bindLabel: "bindLabel", bindValue: "bindValue" }, outputs: { onChange: "onChange" }, host: { classAttribute: "d-block" }, providers: [
|
|
97
|
+
{
|
|
98
|
+
multi: true,
|
|
99
|
+
provide: NG_VALUE_ACCESSOR,
|
|
100
|
+
useExisting: FormCurrencyInputComponent
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
multi: true,
|
|
104
|
+
provide: NG_VALIDATORS,
|
|
105
|
+
useExisting: FormCurrencyInputComponent
|
|
106
|
+
}
|
|
107
|
+
], usesOnChanges: true, ngImport: i0, template: "<label class=\"form-label\" [class.required]=\"required\">Currency</label>\n\n<ng-template #selectForm>\n <ng-select \n class=\"flex-shrink-0\"\n [class.number]=\"isInputNumber\"\n appendTo=\"body\"\n typeToSearchText=\"Please enter 3 or more characters\"\n placeholder=\"Currency\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [minTermLength]=\"3\"\n [virtualScroll]=\"true\"\n [editableSearchTerm]=\"true\"\n [ngModel]=\"value\"\n [readonly]=\"disabled\" \n [loading]=\"isLoading\"\n [clearable]=\"clearable\"\n [typeahead]=\"typeahead\"\n [items]=\"items$ | async\"\n (change)=\"change($event);\"\n >\n <ng-template ng-option-tmp let-i=\"item\">\n <span>{{ isInputNumber? i.value : i.label }}</span>\n </ng-template>\n </ng-select>\n</ng-template>\n\n<ng-template #inputNumber>\n <div class=\"d-flex justify-content-between gap-1 align-items-center\">\n <ng-container *ngTemplateOutlet=\"selectForm\" />\n\n <input type=\"number\" [placeholder]=\"numberPlaceholder\" class=\"form-control flex-grow-1\" [disabled]=\"isNumberDisabled\" [value]=\"numberValue\" (keypress)=\"limitDecimal($event)\" (input)=\"numberInput($event.target)\">\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"!isInputNumber else inputNumber\">\n <ng-container *ngTemplateOutlet=\"selectForm\" />\n</ng-container>\n\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n", styles: ["ng-select.number{min-width:105px;max-width:105px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i4.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
108
|
+
}
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.3", ngImport: i0, type: FormCurrencyInputComponent, decorators: [{
|
|
110
|
+
type: Component,
|
|
111
|
+
args: [{ standalone: true, selector: 'up-currency-input', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
112
|
+
class: 'd-block'
|
|
113
|
+
}, imports: [
|
|
114
|
+
CommonModule,
|
|
115
|
+
FormsModule,
|
|
116
|
+
NgSelectModule
|
|
117
|
+
], providers: [
|
|
118
|
+
{
|
|
119
|
+
multi: true,
|
|
120
|
+
provide: NG_VALUE_ACCESSOR,
|
|
121
|
+
useExisting: FormCurrencyInputComponent
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
multi: true,
|
|
125
|
+
provide: NG_VALIDATORS,
|
|
126
|
+
useExisting: FormCurrencyInputComponent
|
|
127
|
+
}
|
|
128
|
+
], template: "<label class=\"form-label\" [class.required]=\"required\">Currency</label>\n\n<ng-template #selectForm>\n <ng-select \n class=\"flex-shrink-0\"\n [class.number]=\"isInputNumber\"\n appendTo=\"body\"\n typeToSearchText=\"Please enter 3 or more characters\"\n placeholder=\"Currency\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [minTermLength]=\"3\"\n [virtualScroll]=\"true\"\n [editableSearchTerm]=\"true\"\n [ngModel]=\"value\"\n [readonly]=\"disabled\" \n [loading]=\"isLoading\"\n [clearable]=\"clearable\"\n [typeahead]=\"typeahead\"\n [items]=\"items$ | async\"\n (change)=\"change($event);\"\n >\n <ng-template ng-option-tmp let-i=\"item\">\n <span>{{ isInputNumber? i.value : i.label }}</span>\n </ng-template>\n </ng-select>\n</ng-template>\n\n<ng-template #inputNumber>\n <div class=\"d-flex justify-content-between gap-1 align-items-center\">\n <ng-container *ngTemplateOutlet=\"selectForm\" />\n\n <input type=\"number\" [placeholder]=\"numberPlaceholder\" class=\"form-control flex-grow-1\" [disabled]=\"isNumberDisabled\" [value]=\"numberValue\" (keypress)=\"limitDecimal($event)\" (input)=\"numberInput($event.target)\">\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"!isInputNumber else inputNumber\">\n <ng-container *ngTemplateOutlet=\"selectForm\" />\n</ng-container>\n\n<label *ngIf=\"errorMsg\" class=\"is-invalid\">{{ errorMsg }}</label>\n", styles: ["ng-select.number{min-width:105px;max-width:105px}\n"] }]
|
|
129
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
130
|
+
type: Attribute,
|
|
131
|
+
args: ['numberPlaceholder']
|
|
132
|
+
}] }, { type: i0.ChangeDetectorRef }, { type: i1.CurrencyService }], propDecorators: { clearable: [{
|
|
133
|
+
type: Input
|
|
134
|
+
}], isInputNumber: [{
|
|
135
|
+
type: Input
|
|
136
|
+
}], initialItems: [{
|
|
137
|
+
type: Input
|
|
138
|
+
}], numberValue: [{
|
|
139
|
+
type: Input
|
|
140
|
+
}], isNumberDisabled: [{
|
|
141
|
+
type: Input
|
|
142
|
+
}], required: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], disabled: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], bindLabel: [{
|
|
147
|
+
type: Input
|
|
148
|
+
}], bindValue: [{
|
|
149
|
+
type: Input
|
|
150
|
+
}], onChange: [{
|
|
151
|
+
type: Output
|
|
152
|
+
}] } });
|
|
153
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jdXJyZW5jeS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY3VycmVuY3ktaW5wdXQvZm9ybS1jdXJyZW5jeS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91bmlwaW4tYW5ndWxhci9zcmMvbGliL2NvbXBvbmVudHMvZm9ybXMvY3VycmVuY3ktaW5wdXQvZm9ybS1jdXJyZW5jeS1pbnB1dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hKLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQXlDLFdBQVcsRUFBRSxhQUFhLEVBQUUsaUJBQWlCLEVBQStCLE1BQU0sZ0JBQWdCLENBQUM7QUFDbkosT0FBTyxFQUFjLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUE4QnJELE1BQU0sT0FBTywwQkFBMEI7SUF1SnJDLFlBQ3lDLGlCQUF5QixFQUM3QyxFQUFxQixFQUNyQixlQUFnQztRQUZaLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUTtRQUM3QyxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUNyQixv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QkFPVSxRQUFRO3NCQUF2QixLQUFLO2dCQU9VLFNBQVM7c0JBQXhCLEtBQUs7Z0JBT1UsU0FBUztzQkFBeEIsS0FBSztnQkFNVyxRQUFRO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXR0cmlidXRlLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QsIGNhdGNoRXJyb3IsIGNvbmNhdCwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBvZiwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5nU2VsZWN0TW9kdWxlIH0gZnJvbSAnQG5nLXNlbGVjdC9uZy1zZWxlY3QnO1xuaW1wb3J0IHsgZ2V0Rm9ybUVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEN1cnJlbmN5U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAndXAtY3VycmVuY3ktaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1jdXJyZW5jeS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Zvcm0tY3VycmVuY3ktaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGhvc3Q6IHsgXG4gICAgY2xhc3M6ICdkLWJsb2NrJyBcbiAgfSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBOZ1NlbGVjdE1vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IEZvcm1DdXJyZW5jeUlucHV0Q29tcG9uZW50XG4gICAgfSxcbiAgICB7XG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogRm9ybUN1cnJlbmN5SW5wdXRDb21wb25lbnRcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRm9ybUN1cnJlbmN5SW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkNoYW5nZXMge1xuICBcbiAgLyoqXG4gICAqIElucHV0IHZhcmlhYmxlIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBzZWxlY3QgaW5wdXQgaXMgY2xlYXJhYmxlLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQGRlZmF1bHQge3RydWV9XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgY2xlYXJhYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogSW5wdXQgdmFyaWFibGUgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhlIG51bWJlciBpbnB1dCBmb3JtIGlzIGhpZGUgb3Igc2hvdy5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IHtmYWxzZX1cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBpc0lucHV0TnVtYmVyOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElucHV0IHZhcmlhYmxlIGZvciB0aGUgaW5pdGlhbCBpdGVtcyB0byBiZSBkaXNwbGF5ZWQgaW4gdGhlIHNlbGVjdCBpbnB1dC5cbiAgICogQHR5cGUge3sgbGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZywgbWFnbmlmeVZhbHVlOiBudW1iZXIgfVtdfVxuICAgKiBAZGVmYXVsdCBbXVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGluaXRpYWxJdGVtczogeyBsYWJlbDogc3RyaW5nLCB2YWx1ZTogc3RyaW5nLCBtYWduaWZ5VmFsdWU6IG51bWJlciB9W10gPSBbXTtcblxuICAvKipcbiAgICogSW5wdXQgdmFyaWFibGUgdG8gc2V0IHRoZSB2YWx1ZSBvZiBpbnB1dCBudW1iZXIgZmllbGQuXG4gICAqIEB0eXBlIHtudW1iZXIgfCBudWxsfVxuICAgKiBAZGVmYXVsdCB7bnVsbH1cbiAgICovXG4gIEBJbnB1dCgpIHB1YmxpYyBudW1iZXJWYWx1ZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIElucHV0IHZhcmlhYmxlIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBudW1iZXIgaW5wdXQgaXMgZGlzYWJsZWQuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCB7ZmFsc2V9XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgaXNOdW1iZXJEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBJbnB1dCB2YXJpYWJsZSB0byBkZXRlcm1pbmUgd2hldGhlciB0aGUgc2VsZWN0IGlucHV0IGlzIHJlcXVpcmVkLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQGRlZmF1bHQge2ZhbHNlfVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIElucHV0IHZhcmlhYmxlIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBzZWxlY3QgaW5wdXQgaXMgZGlzYWJsZWQuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCB7ZmFsc2V9XG4gICAqL1xuICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogSW5wdXQgdmFyaWFibGUgc3BlY2lmeWluZyB0aGUgcHJvcGVydHkgdG8gYmluZCBhcyB0aGUgbGFiZWwgZm9yIGl0ZW1zIGluIHRoZSBzZWxlY3QgaW5wdXQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0IHsnbGFiZWwnfVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGJpbmRMYWJlbDogc3RyaW5nID0gJ2xhYmVsJztcblxuICAvKipcbiAgICogSW5wdXQgdmFyaWFibGUgc3BlY2lmeWluZyB0aGUgcHJvcGVydHkgdG8gYmluZCBhcyB0aGUgdmFsdWUgZm9yIGl0ZW1zIGluIHRoZSBzZWxlY3QgaW5wdXQuXG4gICAqIEB0eXBlIHtzdHJpbmd9XG4gICAqIEBkZWZhdWx0IHsndmFsdWUnfVxuICAgKi9cbiAgQElucHV0KCkgcHVibGljIGJpbmRWYWx1ZTogc3RyaW5nID0gJ3ZhbHVlJztcblxuICAvKipcbiAgICogT3V0cHV0IHZhcmlhYmxlIHRvIGVtaXQgY2hhbmdlcyB3aGVuIHRoZSBzZWxlY3QgaW5wdXQgdmFsdWUgY2hhbmdlcy5cbiAgICogQHR5cGUge0V2ZW50RW1pdHRlcjxhbnk+fVxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPHsgY2N5OiB7IGxhYmVsOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIG1hZ25pZnlWYWx1ZTogbnVtYmVyIH0gfCBhbnksIG51bWJlcjogbnVtYmVyIHwgbnVsbCB9PiA9IG5ldyBFdmVudEVtaXR0ZXI8eyBjY3k6IHsgbGFiZWw6IHN0cmluZywgdmFsdWU6IHN0cmluZywgbWFnbmlmeVZhbHVlOiBudW1iZXIgfSB8IGFueSwgbnVtYmVyOiBudW1iZXIgfCBudWxsIH0+KCk7XG4gIFxuICAvKipcbiAgICogU3ViamVjdCBmb3IgaGFuZGxpbmcgdHlwZWFoZWFkIGV2ZW50cyB0byB0cmlnZ2VyIGl0ZW0gcXVlcmllcyBiYXNlZCBvbiB0aGUgc2VhcmNoIGtleXdvcmQuXG4gICAqIEB0eXBlIHtTdWJqZWN0PHN0cmluZz59XG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgdHlwZWFoZWFkOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG5cbiAgLyoqXG4gICAqIE9ic2VydmFibGUgZm9yIGhhbmRsaW5nIGl0ZW0gcXVlcmllcyBiYXNlZCBvbiB0aGUgc2VhcmNoIGtleXdvcmQuXG4gICAqIEB0eXBlIHtPYnNlcnZhYmxlPGFueVtdPn1cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBxdWVyeSQ6IE9ic2VydmFibGU8YW55W10+ID0gdGhpcy50eXBlYWhlYWQucGlwZShcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIGRlYm91bmNlVGltZSgzMDApLFxuICAgIHRhcCgoKSA9PiB0aGlzLmlzTG9hZGluZyA9IHRydWUpLFxuICAgIHN3aXRjaE1hcCgoazogc3RyaW5nKSA9PiB0aGlzLnF1ZXJ5RnVuYyhrKS5waXBlKFxuICAgICAgbWFwKChyZXN1bHQ6IGFueVtdKSA9PiByZXN1bHQubGVuZ3RoID09PSAwPyB0aGlzLmluaXRpYWxJdGVtcyA6IHJlc3VsdCksXG4gICAgICBjYXRjaEVycm9yKCgpID0+IG9mKHRoaXMuaW5pdGlhbEl0ZW1zKSlcbiAgICApKSxcbiAgICB0YXAoKCkgPT4gdGhpcy5pc0xvYWRpbmcgPSBmYWxzZSlcbiAgKTtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSBmb3IgZGlzcGxheWluZyBpdGVtcyBpbiB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAdHlwZSB7T2JzZXJ2YWJsZTxhbnlbXT59XG4gICAqL1xuICBwdWJsaWMgaXRlbXMkOiBPYnNlcnZhYmxlPGFueVtdPiA9IHRoaXMucXVlcnkkO1xuXG4gIC8qKlxuICAgKiBCb29sZWFuIGZsYWcgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBzZWxlY3QgaW5wdXQgaXMgbG9hZGluZy5cbiAgICogQHR5cGUge2Jvb2xlYW59XG4gICAqIEBkZWZhdWx0IHtmYWxzZX1cbiAgICovXG4gIHB1YmxpYyBpc0xvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKipcbiAgICogQm9vbGVhbiBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgc2VsZWN0IGlucHV0IGhhcyBiZWVuIHRvdWNoZWQuXG4gICAqIEB0eXBlIHtib29sZWFufVxuICAgKiBAZGVmYXVsdCB7ZmFsc2V9XG4gICAqL1xuICBwdWJsaWMgaXNUb3VjaGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSB2YWx1ZSBvZiB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAdHlwZSB7YW55IHwgbnVsbH1cbiAgICogQGRlZmF1bHQge251bGx9XG4gICAqL1xuICBwdWJsaWMgdmFsdWU6IGFueSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBFcnJvciBtZXNzYWdlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAdHlwZSB7c3RyaW5nfVxuICAgKiBAZGVmYXVsdCB7dW5kZWZpbmVkfVxuICAgKi9cbiAgcHVibGljIGVycm9yTXNnITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9ybSBjb250cm9sIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAdHlwZSB7QWJzdHJhY3RDb250cm9sfVxuICAgKi9cbiAgcHJvdGVjdGVkIGZvcm1Db250cm9sITogQWJzdHJhY3RDb250cm9sO1xuXG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIG1heGltdW0gZGlnaXRzIGFsbG93ZWQgYmVoaW5kIHRoZSBjb21tYS5cbiAgICogQHR5cGUge251bWJlcn1cbiAgICogQGRlZmF1bHQgezB9XG4gICAqL1xuICBwcm90ZWN0ZWQgZGVjaW1hbExpbWl0ZXI6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqIENhbGxiYWNrIGZ1bmN0aW9uIHRvIGhhbmRsZSB2YWx1ZSBjaGFuZ2VzIGluIHRoZSBzZWxlY3QgaW5wdXQuXG4gICAqIEB0eXBlIHsoX3ZhbDogYW55KSA9PiB2b2lkfVxuICAgKi9cbiAgcHJvdGVjdGVkIGNoYW5nZWQ6IChfdmFsOiBhbnkpID0+IHZvaWQgPSAoX3ZhbDogYW55KSA9PiB7fTtcblxuICAvKipcbiAgICogQ2FsbGJhY2sgZnVuY3Rpb24gdG8gaGFuZGxlIHRvdWNoIGV2ZW50cyBpbiB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAdHlwZSB7KCkgPT4gdm9pZH1cbiAgICovXG4gIHByb3RlY3RlZCBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAQXR0cmlidXRlKCdudW1iZXJQbGFjZWhvbGRlcicpIHB1YmxpYyBudW1iZXJQbGFjZWhvbGRlcjogc3RyaW5nLFxuICAgIHByb3RlY3RlZCByZWFkb25seSBjaDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGN1cnJlbmN5U2VydmljZTogQ3VycmVuY3lTZXJ2aWNlXG4gICkge31cblxuICAvKipcbiAgICogTGlmZWN5Y2xlIGhvb2sgY2FsbGVkIHdoZW4gY2hhbmdlcyBvY2N1ciB0byBpbnB1dCBwcm9wZXJ0aWVzLlxuICAgKiBVcGRhdGVzIHRoZSBpdGVtcyQgb2JzZXJ2YWJsZSB3aGVuIHRoZSBpbml0aWFsSXRlbXMgaW5wdXQgY2hhbmdlcy5cbiAgICogVXBkYXRlcyB0aGUgZGVjaW1hbExpbWl0ZXIgdGhhdCBpcyB0aGUgbWF4aW11bSBkaWdpdHMgYmVoaW5kIGNvbW1hLlxuICAgKiBDYWxjdWxhdGUgdGhlIHZhbHVlIG9mIGlucHV0IG51bWJlciwgdGhpcyBpcyB0byBjYWxjdWxhdGUgdGhlIGFjdHVhbCB2YWx1ZSBkaXZpZGVkIGJ5IG1hZ25pZnlWYWx1ZS5cbiAgICogQHBhcmFtIHtTaW1wbGVDaGFuZ2VzfSBjaGFuZ2VzIC0gT2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNoYW5nZWQgcHJvcGVydGllcy5cbiAgICovXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZHtcbiAgICBpZiAoY2hhbmdlc1snaW5pdGlhbEl0ZW1zJ10pIHtcbiAgICAgIHRoaXMuaXRlbXMkID0gY29uY2F0KG9mKHRoaXMuaW5pdGlhbEl0ZW1zKSwgdGhpcy5xdWVyeSQpO1xuICAgICAgdGhpcy5kZWNpbWFsTGltaXRlciA9IHRoaXMuaW5pdGlhbEl0ZW1zWzBdPy5tYWduaWZ5VmFsdWUgPT09IDE/IDAgOiBNYXRoLmZsb29yKE1hdGgubG9nMTAodGhpcy5pbml0aWFsSXRlbXNbMF0/Lm1hZ25pZnlWYWx1ZT8/IDEpKTtcbiAgICAgIHRoaXMubnVtYmVyVmFsdWUgPSA8bnVtYmVyPiB0aGlzLm51bWJlclZhbHVlIC8gdGhpcy5pbml0aWFsSXRlbXNbMF0/Lm1hZ25pZnlWYWx1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pc0lucHV0TnVtYmVyKSB0aGlzLmJpbmRMYWJlbCA9ICd2YWx1ZSc7XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBjYWxsYmFjayBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgc2VsZWN0IGlucHV0IHZhbHVlIGNoYW5nZXMuXG4gICAqIEBwYXJhbSB7KF92YWw6IGFueSkgPT4gdm9pZH0gZm4gLSBDYWxsYmFjayBmdW5jdGlvbiBmb3IgdmFsdWUgY2hhbmdlcy5cbiAgICovXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkeyB0aGlzLmNoYW5nZWQgPSBmbjsgfVxuICBcbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBzZWxlY3QgaW5wdXQgaXMgdG91Y2hlZC5cbiAgICogQHBhcmFtIHsoKSA9PiB2b2lkfSBmbiAtIENhbGxiYWNrIGZ1bmN0aW9uIGZvciB0b3VjaCBldmVudHMuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWR7IHRoaXMub25Ub3VjaGVkID0gZm47IH0gXG4gIFxuICAvKipcbiAgICogV3JpdGVzIGEgbmV3IHZhbHVlIHRvIHRoZSBzZWxlY3QgaW5wdXQuXG4gICAqIEBwYXJhbSB7Kn0gdmFsIC0gVGhlIG5ldyB2YWx1ZSB0byBiZSBzZXQuXG4gICAqL1xuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWw6IGFueSk6IHZvaWR7XG4gICAgdGhpcy52YWx1ZSA9IHZhbDtcbiAgICB0aGlzLmNoLm1hcmtGb3JDaGVjaygpO1xuICB9XG4gIFxuICAgLyoqXG4gICAqIFNldHMgdGhlIGRpc2FibGVkIHN0YXRlIG9mIHRoZSBzZWxlY3QgaW5wdXQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gZCAtIFRoZSBuZXcgZGlzYWJsZWQgc3RhdGUuXG4gICAqL1xuICBwdWJsaWMgc2V0RGlzYWJsZWRTdGF0ZT8oZDogYm9vbGVhbik6IHZvaWR7IFxuICAgIHRoaXMuZGlzYWJsZWQgPSBkOyBcbiAgICB0aGlzLmNoLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAcGFyYW0ge0Fic3RyYWN0Q29udHJvbH0gY29udHJvbCAtIFRoZSBhYnN0cmFjdCBjb250cm9sIHJlcHJlc2VudGluZyB0aGUgc2VsZWN0IGlucHV0LlxuICAgKiBAcmV0dXJucyB7KFZhbGlkYXRpb25FcnJvcnMgfCBudWxsKX0gLSBWYWxpZGF0aW9uIGVycm9ycyBpZiBhbnksIG90aGVyd2lzZSBudWxsLlxuICAgKi9cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxseyAgICBcbiAgICB0aGlzLmZvcm1Db250cm9sID0gY29udHJvbDtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBcbiAgLyoqXG4gICAqIEV2ZW50IGhhbmRsZXIgZm9yIGNoYW5nZXMgaW4gdGhlIHNlbGVjdCBpbnB1dC5cbiAgICogU2V0IHRoZSBudW1iZXIgYXMgbnVsbCBpZiBjdXJyZW5jeSBjaGFuZ2VkIHRvIHByZXZlbnQgbWlzbWF0Y2ggYmV0d2VlbiBzZWxlY3RlZCBjdXJyZW5jeSBhbmQgdGhlIG51bWJlciBjb21tYSBhbGxvd2VkIGxpbWl0LlxuICAgKiBFbWl0cyB0aGUgb25DaGFuZ2UgZXZlbnQsIHVwZGF0ZXMgdGhlIGluaXRpYWxJdGVtcywgYW5kIGhhbmRsZXMgdmFsaWRhdGlvbiBiYXNlZCBvbiBmb3JtIGNvbnRyb2wgZXJyb3JzIGFuZCBsYWJlbC5cbiAgICogU2V0IHRoZSBkZWNpbWFsTGltaXRlciBiYXNlZCBvbiBzZWxlY3RlZCBtYWduaWZ5VmFsdWVcbiAgICogQHBhcmFtIHthbnl9IGUgLSBUaGUgZXZlbnQgY29udGFpbmluZyB0aGUgbmV3IHNlbGVjdCBpbnB1dCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBjaGFuZ2UoZT86IGFueSk6IHZvaWR7XG4gICAgaWYgKHRoaXMuaXNJbnB1dE51bWJlcikgdGhpcy5udW1iZXJWYWx1ZSA9IG51bGw7XG4gICAgXG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHsgY2N5OiBlLCBudW1iZXI6IHRoaXMubnVtYmVyVmFsdWUgfSk7XG4gICAgdGhpcy5pbml0aWFsSXRlbXMgPSBlO1xuXG4gICAgaWYgKCF0aGlzLmlzVG91Y2hlZCkge1xuICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgIHRoaXMuaXNUb3VjaGVkID0gdHJ1ZTtcbiAgICB9XG4gICAgXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICBpZiAoIWUpIHRoaXMudmFsdWUgPSBudWxsO1xuICAgICAgZWxzZSB0aGlzLnZhbHVlID0gZVt0aGlzLmJpbmRWYWx1ZV07XG5cbiAgICAgIHRoaXMuY2hhbmdlZCh0aGlzLnZhbHVlKTtcbiAgICAgIHRoaXMuZXJyb3JNc2cgPSBnZXRGb3JtRXJyb3JNZXNzYWdlKHRoaXMuZm9ybUNvbnRyb2wuZXJyb3JzLCAnQ3VycmVuY3knKTtcbiAgICB9XG4gICAgXG4gICAgaWYgKGU/Lm1hZ25pZnlWYWx1ZSA9PT0gMSkgdGhpcy5kZWNpbWFsTGltaXRlciA9IDA7XG4gICAgZWxzZSB0aGlzLmRlY2ltYWxMaW1pdGVyID0gTWF0aC5mbG9vcihNYXRoLmxvZzEwKGU/Lm1hZ25pZnlWYWx1ZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJlZCBvbiBmb3JtIG51bWJlciBpbnB1dC5cbiAgICogU2V0IHRoZSBudW1iZXJWYWx1ZSB3aXRoIGN1cnJlbnQgdmFsdWUuXG4gICAqIEVtaXQgdGhlIHNlbGVjdGVkIGN1cnJlbmN5IGFuZCB0aGUgbnVtYmVyIHZhbHVlIHRvIHRoZSBwYXJlbnQgY29tcG9uZW50LlxuICAgKiBAcGFyYW0ge2FueX0gLSBDb250YWluIGB2YWx1ZWAgdGhlIHZhbHVlIG9mIGlucHV0ZWQgbnVtYmVyLlxuICAgKi9cbiAgcHVibGljIG51bWJlcklucHV0KHsgdmFsdWUgfTogYW55KTogdm9pZHtcbiAgICB0aGlzLm51bWJlclZhbHVlID0gdmFsdWU7XG4gICAgdGhpcy5vbkNoYW5nZS5lbWl0KHsgY2N5OiB0aGlzLmluaXRpYWxJdGVtcywgbnVtYmVyOiB2YWx1ZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VyZWQgb24gZm9ybSBudW1iZXIga2V5cHJlc3MuXG4gICAqIENvbnRyb2xsaW5nIGlucHV0IGluIGEgbnVtYmVyIGZpZWxkLCByZXN0cmljdGluZyB0aGUgbnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzIGFsbG93ZWQuXG4gICAqIEBwYXJhbSB7YW55fSAtIENvbnRhaW5cbiAgICogY2hhckNvZGUgLSB0aGUgY2hhcmFjdGVyIGNvZGUgb2YgdGhlIGtleSBwcmVzc2VkLlxuICAgKiBwcmV2ZW50RGVmYXVsdCAtIHRoZSBmdW5jdGlvbiB0byBwcmV2ZW50IHRoZSBkZWZhdWx0IGJlaGF2aW91ciBvZiB0aGUgZXZlbnQuXG4gICAqIHRhcmdldC52YWx1ZSAtIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBpbnB1dCBmaWVsZC5cbiAgICovXG4gIHB1YmxpYyBsaW1pdERlY2ltYWwoeyBjaGFyQ29kZSwgcHJldmVudERlZmF1bHQsIHRhcmdldDogeyB2YWx1ZSB9fTogYW55KTogdm9pZHtcbiAgICBjb25zdCByZWcgPSB0aGlzLmRlY2ltYWxMaW1pdGVyID4gMD8gbmV3IFJlZ0V4cChgXlxcXFxkKihcXFxcLlxcXFxkezAsJHsgdGhpcy5kZWNpbWFsTGltaXRlciB9fSk/JGApIDogL15cXGQrJC87XG4gICAgaWYgKCFyZWcudGVzdCh2YWx1ZSArIFN0cmluZy5mcm9tQ2hhckNvZGUoY2hhckNvZGUpKSkgcHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQZXJmb3JtcyBhIHF1ZXJ5IG9wZXJhdGlvbiB0byByZXRyaWV2ZSBjdXJyZW5jeSBkYXRhIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBrZXl3b3JkLlxuICAgKiBSZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcXVlcmllZCBjdXJyZW5jeSBkYXRhLlxuICAgKiBAcGFyYW0ge3N0cmluZ30ga2V5d29yZCAtIFRoZSBrZXl3b3JkIHVzZWQgZm9yIHF1ZXJ5aW5nIGN1cnJlbmN5IGRhdGEuXG4gICAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPGFueT59IEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcXVlcmllZCBjdXJyZW5jeSBkYXRhLlxuICAgKi9cbiAgcHJvdGVjdGVkIHF1ZXJ5RnVuYyhrZXl3b3JkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT57XG4gICAgcmV0dXJuIHRoaXMuY3VycmVuY3lTZXJ2aWNlLnF1ZXJ5KGtleXdvcmQpLnBpcGUoXG4gICAgICBtYXAoKHsgZGF0YTogeyB3ZWJDb25maWdNc0N1cnJlbmN5OiB7IGRhdGEgfX19KSA9PiBkYXRhLm1hcCgoeyBjb2RlLCBuYW1lLCBtYWduaWZ5VmFsdWUgfTogYW55KSA9PiAoeyBsYWJlbDogYFskeyBjb2RlIH1dICR7IG5hbWUgfWAsIHZhbHVlOiBjb2RlLCBtYWduaWZ5VmFsdWUgfSkpKVxuICAgICk7XG4gIH07XG59XG4iLCI8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgW2NsYXNzLnJlcXVpcmVkXT1cInJlcXVpcmVkXCI+Q3VycmVuY3k8L2xhYmVsPlxuXG48bmctdGVtcGxhdGUgI3NlbGVjdEZvcm0+XG4gICAgPG5nLXNlbGVjdCBcbiAgICAgICAgY2xhc3M9XCJmbGV4LXNocmluay0wXCJcbiAgICAgICAgW2NsYXNzLm51bWJlcl09XCJpc0lucHV0TnVtYmVyXCJcbiAgICAgICAgYXBwZW5kVG89XCJib2R5XCJcbiAgICAgICAgdHlwZVRvU2VhcmNoVGV4dD1cIlBsZWFzZSBlbnRlciAzIG9yIG1vcmUgY2hhcmFjdGVyc1wiXG4gICAgICAgIHBsYWNlaG9sZGVyPVwiQ3VycmVuY3lcIlxuICAgICAgICBbYmluZExhYmVsXT1cImJpbmRMYWJlbFwiXG4gICAgICAgIFtiaW5kVmFsdWVdPVwiYmluZFZhbHVlXCJcbiAgICAgICAgW21pblRlcm1MZW5ndGhdPVwiM1wiXG4gICAgICAgIFt2aXJ0dWFsU2Nyb2xsXT1cInRydWVcIlxuICAgICAgICBbZWRpdGFibGVTZWFyY2hUZXJtXT1cInRydWVcIlxuICAgICAgICBbbmdNb2RlbF09XCJ2YWx1ZVwiXG4gICAgICAgIFtyZWFkb25seV09XCJkaXNhYmxlZFwiIFxuICAgICAgICBbbG9hZGluZ109XCJpc0xvYWRpbmdcIlxuICAgICAgICBbY2xlYXJhYmxlXT1cImNsZWFyYWJsZVwiXG4gICAgICAgIFt0eXBlYWhlYWRdPVwidHlwZWFoZWFkXCJcbiAgICAgICAgW2l0ZW1zXT1cIml0ZW1zJCB8IGFzeW5jXCJcbiAgICAgICAgKGNoYW5nZSk9XCJjaGFuZ2UoJGV2ZW50KTtcIlxuICAgID5cbiAgICAgICAgPG5nLXRlbXBsYXRlIG5nLW9wdGlvbi10bXAgbGV0LWk9XCJpdGVtXCI+XG4gICAgICAgICAgICA8c3Bhbj57eyBpc0lucHV0TnVtYmVyPyBpLnZhbHVlIDogaS5sYWJlbCB9fTwvc3Bhbj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLXNlbGVjdD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaW5wdXROdW1iZXI+XG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBnYXAtMSBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNlbGVjdEZvcm1cIiAvPlxuXG4gICAgICAgIDxpbnB1dCB0eXBlPVwibnVtYmVyXCIgW3BsYWNlaG9sZGVyXT1cIm51bWJlclBsYWNlaG9sZGVyXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZmxleC1ncm93LTFcIiBbZGlzYWJsZWRdPVwiaXNOdW1iZXJEaXNhYmxlZFwiIFt2YWx1ZV09XCJudW1iZXJWYWx1ZVwiIChrZXlwcmVzcyk9XCJsaW1pdERlY2ltYWwoJGV2ZW50KVwiIChpbnB1dCk9XCJudW1iZXJJbnB1dCgkZXZlbnQudGFyZ2V0KVwiPlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0lucHV0TnVtYmVyIGVsc2UgaW5wdXROdW1iZXJcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VsZWN0Rm9ybVwiIC8+XG48L25nLWNvbnRhaW5lcj5cblxuPGxhYmVsICpuZ0lmPVwiZXJyb3JNc2dcIiBjbGFzcz1cImlzLWludmFsaWRcIj57eyBlcnJvck1zZyB9fTwvbGFiZWw+XG4iXX0=
|