@pepperi-addons/ngx-lib 0.4.2-beta.9 → 0.4.2-beta.91
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/attachment/attachment.component.d.ts +11 -2
- package/button/button.component.d.ts +8 -8
- package/core/common/services/color.service.d.ts +1 -0
- package/core/common/services/file.service.d.ts +7 -2
- package/dialog/dialog.service.d.ts +1 -0
- package/draggable-items/draggable-items.component.d.ts +3 -3
- package/draggable-items/draggable-items.module.d.ts +1 -1
- package/esm2020/address/address.component.mjs +1 -1
- package/esm2020/attachment/attachment.component.mjs +38 -18
- package/esm2020/button/button.component.mjs +7 -7
- package/esm2020/chips/chips.component.mjs +2 -2
- package/esm2020/color/color-picker.component.mjs +1 -1
- package/esm2020/core/common/services/color.service.mjs +27 -1
- package/esm2020/core/common/services/file.service.mjs +57 -20
- package/esm2020/core/common/services/session.service.mjs +2 -1
- package/esm2020/core/customization/customization.model.mjs +7 -6
- package/esm2020/core/customization/customization.service.mjs +13 -4
- package/esm2020/core/http/services/http.service.mjs +1 -1
- package/esm2020/dialog/dialog.component.mjs +3 -3
- package/esm2020/dialog/dialog.service.mjs +22 -1
- package/esm2020/draggable-items/draggable-items.component.mjs +7 -7
- package/esm2020/draggable-items/draggable-items.module.mjs +6 -6
- package/esm2020/files-uploader/files-uploader.component.mjs +50 -45
- package/esm2020/form/field-generator.component.mjs +3 -3
- package/esm2020/form/form.component.mjs +4 -3
- package/esm2020/form/internal-field-generator.component.mjs +1 -1
- package/esm2020/form/internal-form.component.mjs +1 -1
- package/esm2020/form/internal-list.component.mjs +2 -2
- package/esm2020/image/image.component.mjs +32 -16
- package/esm2020/image/image.service.mjs +2 -4
- package/esm2020/images-filmstrip/images-filmstrip.component.mjs +2 -2
- package/esm2020/link/link.component.mjs +33 -58
- package/esm2020/list/list.component.mjs +109 -18
- package/esm2020/list/list.model.mjs +1 -1
- package/esm2020/menu/menu.component.mjs +3 -3
- package/esm2020/profile-data-views-list/profile-data-views-list.component.mjs +1 -1
- package/esm2020/quantity-selector/quantity-selector.component.mjs +20 -25
- package/esm2020/query-builder/common/model/operator.mjs +2 -2
- package/esm2020/query-builder/query-builder-item/query-builder-item.component.mjs +1 -1
- package/esm2020/select/select.component.mjs +66 -40
- package/esm2020/select-panel/select-panel.component.mjs +2 -2
- package/esm2020/signature/public-api.mjs +2 -1
- package/esm2020/signature/signature-dialog.component.mjs +78 -0
- package/esm2020/signature/signature.component.mjs +117 -89
- package/esm2020/signature/signature.module.mjs +6 -5
- package/esm2020/skeleton-loader/pepperi-addons-ngx-lib-skeleton-loader.mjs +5 -0
- package/esm2020/skeleton-loader/public-api.mjs +6 -0
- package/esm2020/skeleton-loader/skeleton-loader.component.mjs +44 -0
- package/esm2020/skeleton-loader/skeleton-loader.module.mjs +24 -0
- package/esm2020/smart-filters/boolean-filter/boolean-filter.component.mjs +3 -3
- package/esm2020/smart-filters/date-filter/date-filter.component.mjs +1 -1
- package/esm2020/smart-filters/multi-select-filter/multi-select-filter.component.mjs +1 -1
- package/esm2020/smart-filters/number-filter/number-filter.component.mjs +3 -3
- package/esm2020/smart-filters/text-filter/text-filter.component.mjs +1 -1
- package/esm2020/textbox/textbox.component.mjs +9 -3
- package/esm2020/top-bar/top-bar.component.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-address.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-address.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs +37 -17
- package/fesm2015/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-button.mjs +6 -6
- package/fesm2015/pepperi-addons-ngx-lib-button.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-chips.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-color.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs +23 -2
- package/fesm2015/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs +11 -11
- package/fesm2015/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs +49 -44
- package/fesm2015/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-form.mjs +8 -7
- package/fesm2015/pepperi-addons-ngx-lib-form.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-image.mjs +32 -18
- package/fesm2015/pepperi-addons-ngx-lib-image.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-link.mjs +32 -57
- package/fesm2015/pepperi-addons-ngx-lib-link.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs +108 -18
- package/fesm2015/pepperi-addons-ngx-lib-list.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-menu.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs +19 -24
- package/fesm2015/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs +64 -38
- package/fesm2015/pepperi-addons-ngx-lib-select.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs +205 -102
- package/fesm2015/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs +78 -0
- package/fesm2015/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -0
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs +7 -7
- package/fesm2015/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs +8 -2
- package/fesm2015/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs +2 -2
- package/fesm2015/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
- package/fesm2015/pepperi-addons-ngx-lib.mjs +101 -27
- package/fesm2015/pepperi-addons-ngx-lib.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-address.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-address.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs +37 -17
- package/fesm2020/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-button.mjs +6 -6
- package/fesm2020/pepperi-addons-ngx-lib-button.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-chips.mjs +2 -2
- package/fesm2020/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-color.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs +23 -2
- package/fesm2020/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs +11 -11
- package/fesm2020/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs +49 -44
- package/fesm2020/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-form.mjs +8 -7
- package/fesm2020/pepperi-addons-ngx-lib-form.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-image.mjs +32 -18
- package/fesm2020/pepperi-addons-ngx-lib-image.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-link.mjs +32 -57
- package/fesm2020/pepperi-addons-ngx-lib-link.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-list.mjs +108 -17
- package/fesm2020/pepperi-addons-ngx-lib-list.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-menu.mjs +2 -2
- package/fesm2020/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs +19 -24
- package/fesm2020/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs +2 -2
- package/fesm2020/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs +2 -2
- package/fesm2020/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-select.mjs +64 -38
- package/fesm2020/pepperi-addons-ngx-lib-select.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-signature.mjs +201 -102
- package/fesm2020/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs +76 -0
- package/fesm2020/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -0
- package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs +7 -7
- package/fesm2020/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs +8 -2
- package/fesm2020/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs +2 -2
- package/fesm2020/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
- package/fesm2020/pepperi-addons-ngx-lib.mjs +101 -27
- package/fesm2020/pepperi-addons-ngx-lib.mjs.map +1 -1
- package/files-uploader/files-uploader.component.d.ts +7 -4
- package/image/image.component.d.ts +11 -3
- package/link/link.component.d.ts +23 -27
- package/list/list.component.d.ts +10 -2
- package/list/list.model.d.ts +3 -1
- package/menu/menu.component.d.ts +1 -1
- package/package.json +10 -2
- package/quantity-selector/quantity-selector.component.d.ts +0 -2
- package/select/select.component.d.ts +10 -2
- package/signature/public-api.d.ts +1 -0
- package/signature/signature-dialog.component.d.ts +29 -0
- package/signature/signature.component.d.ts +7 -16
- package/signature/signature.module.d.ts +16 -15
- package/skeleton-loader/index.d.ts +5 -0
- package/skeleton-loader/public-api.d.ts +2 -0
- package/skeleton-loader/skeleton-loader.component.d.ts +20 -0
- package/skeleton-loader/skeleton-loader.component.theme.scss +15 -0
- package/skeleton-loader/skeleton-loader.module.d.ts +9 -0
- package/src/core/style/abstracts/AbstractsIntro.stories.mdx +7 -0
- package/src/core/style/abstracts/functions.scss +11 -11
- package/src/core/style/abstracts/mixins.scss +9 -6
- package/src/core/style/abstracts/variables.scss +38 -18
- package/src/core/style/base/BorderRadius.stories.mdx +59 -0
- package/src/core/style/base/Breakpoints.stories.mdx +36 -0
- package/src/core/style/base/Colors.stories.mdx +128 -0
- package/src/core/style/base/Shadows.stories.mdx +69 -0
- package/src/core/style/base/Spacing.stories.mdx +75 -0
- package/src/core/style/base/States.stories.mdx +62 -0
- package/src/core/style/base/Typography.stories.mdx +89 -0
- package/src/core/style/base/ZIndex.stories.mdx +47 -0
- package/src/core/style/base/base.scss +8 -10
- package/src/core/style/base/borderRadius.component.ts +27 -0
- package/src/core/style/base/breakpoints.component.ts +14 -0
- package/src/core/style/base/colors.component.ts +174 -0
- package/src/core/style/base/shadows.component.ts +90 -0
- package/src/core/style/base/spacing.component.ts +71 -0
- package/src/core/style/base/states.component.ts +84 -0
- package/src/core/style/base/typography.component.ts +94 -0
- package/src/core/style/base/typography.scss +52 -50
- package/src/core/style/base/zIndex.component.ts +25 -0
- package/src/core/style/components/file.scss +4 -4
- package/src/core/style/components/general.scss +5 -1
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { Component, Inject, ViewChild } from '@angular/core';
|
|
2
|
+
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/material/dialog";
|
|
5
|
+
import * as i2 from "@angular/material/button";
|
|
6
|
+
import * as i3 from "ngx-signaturepad";
|
|
7
|
+
import * as i4 from "@pepperi-addons/ngx-lib/dialog";
|
|
8
|
+
import * as i5 from "@ngx-translate/core";
|
|
9
|
+
export class PepSignatureDialogComponent {
|
|
10
|
+
constructor(dialogRef, data) {
|
|
11
|
+
this.dialogRef = dialogRef;
|
|
12
|
+
this.data = data;
|
|
13
|
+
this.signatureURL = '';
|
|
14
|
+
this.acceptSignatureType = 'png';
|
|
15
|
+
this.signaturePadOptions = {
|
|
16
|
+
// passed through to szimek/signature_pad constructor
|
|
17
|
+
minWidth: 2,
|
|
18
|
+
canvasWidth: 500,
|
|
19
|
+
canvasHeight: 300,
|
|
20
|
+
penColor: 'rgb(151, 151, 151)',
|
|
21
|
+
};
|
|
22
|
+
if (data) {
|
|
23
|
+
this.signatureURL = data.value ?? '';
|
|
24
|
+
this.data.showActionBtn = data.showActionBtn ?? true;
|
|
25
|
+
this.data.disabled = data.disabled ?? false;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
}
|
|
30
|
+
ngAfterViewInit() {
|
|
31
|
+
if (this.signatureURL && this.signatureURL !== '') {
|
|
32
|
+
this.signaturePad.fromDataURL(this.signatureURL);
|
|
33
|
+
this.signaturePad.off();
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
drawComplete() {
|
|
37
|
+
// will be notified of szimek/signature_pad's onEnd event
|
|
38
|
+
}
|
|
39
|
+
drawStart() {
|
|
40
|
+
// will be notified of szimek/signature_pad's onBegin event
|
|
41
|
+
}
|
|
42
|
+
clearSignModal() {
|
|
43
|
+
this.signatureURL = '';
|
|
44
|
+
this.signaturePad.clear();
|
|
45
|
+
this.signaturePad.on();
|
|
46
|
+
}
|
|
47
|
+
saveSignModal(event) {
|
|
48
|
+
let value;
|
|
49
|
+
if (!this.signaturePad.isEmpty()) {
|
|
50
|
+
this.signatureURL = this.signaturePad.toDataURL('image/png');
|
|
51
|
+
value = {
|
|
52
|
+
acceptedExtensions: this.acceptSignatureType,
|
|
53
|
+
fileStr: this.signatureURL,
|
|
54
|
+
fileExt: this.acceptSignatureType,
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
value = '';
|
|
59
|
+
}
|
|
60
|
+
this.dialogRef.close(value);
|
|
61
|
+
}
|
|
62
|
+
closeDialog(event) {
|
|
63
|
+
this.dialogRef.close(event);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
PepSignatureDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepSignatureDialogComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
+
PepSignatureDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.2", type: PepSignatureDialogComponent, selector: "ng-component", viewQueries: [{ propertyName: "signaturePad", first: true, predicate: ["signaturePad"], descendants: true }], ngImport: i0, template: "<pep-dialog [title]=\"data.title || ('SIGNATURE.DIALOG_TITLE' | translate)\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>", styles: [""], dependencies: [{ kind: "component", type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i3.SignaturePad, selector: "signature-pad", inputs: ["options"], outputs: ["onBeginEvent", "onEndEvent"] }, { kind: "component", type: i4.PepDialogComponent, selector: "pep-dialog", inputs: ["title", "showClose", "showHeader", "showFooter"], outputs: ["close"] }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] });
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.2", ngImport: i0, type: PepSignatureDialogComponent, decorators: [{
|
|
69
|
+
type: Component,
|
|
70
|
+
args: [{ template: "<pep-dialog [title]=\"data.title || ('SIGNATURE.DIALOG_TITLE' | translate)\" [showFooter]=\"data.showActionBtn\" [showClose]=\"true\" (close)=\"closeDialog($event)\">\n <ng-container pep-dialog-content>\n <signature-pad #signaturePad [options]=\"signaturePadOptions\" (onBeginEvent)=\"drawStart()\"\n (onEndEvent)=\"drawComplete()\">\n </signature-pad>\n </ng-container>\n <div pep-dialog-actions class=\"pep-spacing-element-negative\">\n <button mat-button class=\"pep-spacing-element pep-button md weak\" [disabled]=\"data.disabled\"\n (click)=\"clearSignModal()\">\n {{ 'ACTIONS.CLEAR' | translate }}\n </button>\n <button mat-button class=\"pep-spacing-element pep-button md strong\" [disabled]=\"data.disabled\"\n (click)=\"saveSignModal($event)\">\n {{ 'ACTIONS.DONE' | translate }}\n </button>\n </div>\n</pep-dialog>" }]
|
|
71
|
+
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
|
|
72
|
+
type: Inject,
|
|
73
|
+
args: [MAT_DIALOG_DATA]
|
|
74
|
+
}] }]; }, propDecorators: { signaturePad: [{
|
|
75
|
+
type: ViewChild,
|
|
76
|
+
args: ['signaturePad']
|
|
77
|
+
}] } });
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmF0dXJlLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtbGliL3NpZ25hdHVyZS9zaWduYXR1cmUtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvc2lnbmF0dXJlL3NpZ25hdHVyZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLEVBQUUsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQWdCLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7O0FBZXpFLE1BQU0sT0FBTywyQkFBMkI7SUFjcEMsWUFDWSxTQUFvRCxFQUM1QixJQUE2QjtRQURyRCxjQUFTLEdBQVQsU0FBUyxDQUEyQztRQUM1QixTQUFJLEdBQUosSUFBSSxDQUF5QjtRQWZ6RCxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFFMUIsd0JBQW1CLEdBQVE7WUFDakMscURBQXFEO1lBQ3JELFFBQVEsRUFBRSxDQUFDO1lBQ1gsV0FBVyxFQUFFLEdBQUc7WUFDaEIsWUFBWSxFQUFFLEdBQUc7WUFDakIsUUFBUSxFQUFFLG9CQUFvQjtTQUNqQyxDQUFDO1FBUUUsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDO1lBQ3JELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDO1NBQy9DO0lBQ0wsQ0FBQztJQUVELFFBQVE7SUFFUixDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLEVBQUUsRUFBRTtZQUMvQyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDakQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQztTQUMzQjtJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1IseURBQXlEO0lBQzdELENBQUM7SUFFRCxTQUFTO1FBQ0wsMkRBQTJEO0lBQy9ELENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBVTtRQUNwQixJQUFJLEtBQVUsQ0FBQztRQUVmLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzlCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDN0QsS0FBSyxHQUFHO2dCQUNKLGtCQUFrQixFQUFFLElBQUksQ0FBQyxtQkFBbUI7Z0JBQzVDLE9BQU8sRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDMUIsT0FBTyxFQUFFLElBQUksQ0FBQyxtQkFBbUI7YUFDcEMsQ0FBQztTQUNMO2FBQU07WUFDSCxLQUFLLEdBQUcsRUFBRSxDQUFDO1NBQ2Q7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQUs7UUFDYixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDOzt3SEFyRVEsMkJBQTJCLDhDQWdCeEIsZUFBZTs0R0FoQmxCLDJCQUEyQixrS0NoQnhDLHU2QkFnQmE7MkZEQUEsMkJBQTJCO2tCQUp2QyxTQUFTOzs7MEJBb0JELE1BQU07MkJBQUMsZUFBZTs0Q0FKQSxZQUFZO3NCQUF0QyxTQUFTO3VCQUFDLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0LCBWaWV3Q2hpbGQsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IFNpZ25hdHVyZVBhZCB9IGZyb20gJ25neC1zaWduYXR1cmVwYWQnO1xuXG5cbmludGVyZmFjZSBJUGVwU2lnbmF0dXJlRGlhbG9nRGF0YSB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICB2YWx1ZTogc3RyaW5nO1xuICAgIHNob3dBY3Rpb25CdG46IGJvb2xlYW47XG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi9zaWduYXR1cmUtZGlhbG9nLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zaWduYXR1cmUtZGlhbG9nLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFBlcFNpZ25hdHVyZURpYWxvZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgcHJpdmF0ZSBzaWduYXR1cmVVUkwgPSAnJztcbiAgICBwcml2YXRlIGFjY2VwdFNpZ25hdHVyZVR5cGUgPSAncG5nJztcblxuICAgIHByb3RlY3RlZCBzaWduYXR1cmVQYWRPcHRpb25zOiBhbnkgPSB7XG4gICAgICAgIC8vIHBhc3NlZCB0aHJvdWdoIHRvIHN6aW1lay9zaWduYXR1cmVfcGFkIGNvbnN0cnVjdG9yXG4gICAgICAgIG1pbldpZHRoOiAyLFxuICAgICAgICBjYW52YXNXaWR0aDogNTAwLFxuICAgICAgICBjYW52YXNIZWlnaHQ6IDMwMCxcbiAgICAgICAgcGVuQ29sb3I6ICdyZ2IoMTUxLCAxNTEsIDE1MSknLFxuICAgIH07XG5cbiAgICBAVmlld0NoaWxkKCdzaWduYXR1cmVQYWQnKSBzaWduYXR1cmVQYWQ6IFNpZ25hdHVyZVBhZDtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFBlcFNpZ25hdHVyZURpYWxvZ0NvbXBvbmVudD4sXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogSVBlcFNpZ25hdHVyZURpYWxvZ0RhdGFcbiAgICApIHtcbiAgICAgICAgaWYgKGRhdGEpIHtcbiAgICAgICAgICAgIHRoaXMuc2lnbmF0dXJlVVJMID0gZGF0YS52YWx1ZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuZGF0YS5zaG93QWN0aW9uQnRuID0gZGF0YS5zaG93QWN0aW9uQnRuID8/IHRydWU7XG4gICAgICAgICAgICB0aGlzLmRhdGEuZGlzYWJsZWQgPSBkYXRhLmRpc2FibGVkID8/IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIFxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2lnbmF0dXJlVVJMICYmIHRoaXMuc2lnbmF0dXJlVVJMICE9PSAnJykge1xuICAgICAgICAgICAgdGhpcy5zaWduYXR1cmVQYWQuZnJvbURhdGFVUkwodGhpcy5zaWduYXR1cmVVUkwpO1xuICAgICAgICAgICAgdGhpcy5zaWduYXR1cmVQYWQub2ZmKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkcmF3Q29tcGxldGUoKTogdm9pZCB7XG4gICAgICAgIC8vIHdpbGwgYmUgbm90aWZpZWQgb2Ygc3ppbWVrL3NpZ25hdHVyZV9wYWQncyBvbkVuZCBldmVudFxuICAgIH1cblxuICAgIGRyYXdTdGFydCgpOiB2b2lkIHtcbiAgICAgICAgLy8gd2lsbCBiZSBub3RpZmllZCBvZiBzemltZWsvc2lnbmF0dXJlX3BhZCdzIG9uQmVnaW4gZXZlbnRcbiAgICB9XG5cbiAgICBjbGVhclNpZ25Nb2RhbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaWduYXR1cmVVUkwgPSAnJztcbiAgICAgICAgdGhpcy5zaWduYXR1cmVQYWQuY2xlYXIoKTtcbiAgICAgICAgdGhpcy5zaWduYXR1cmVQYWQub24oKTtcbiAgICB9XG5cbiAgICBzYXZlU2lnbk1vZGFsKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgbGV0IHZhbHVlOiBhbnk7XG5cbiAgICAgICAgaWYgKCF0aGlzLnNpZ25hdHVyZVBhZC5pc0VtcHR5KCkpIHtcbiAgICAgICAgICAgIHRoaXMuc2lnbmF0dXJlVVJMID0gdGhpcy5zaWduYXR1cmVQYWQudG9EYXRhVVJMKCdpbWFnZS9wbmcnKTtcbiAgICAgICAgICAgIHZhbHVlID0ge1xuICAgICAgICAgICAgICAgIGFjY2VwdGVkRXh0ZW5zaW9uczogdGhpcy5hY2NlcHRTaWduYXR1cmVUeXBlLFxuICAgICAgICAgICAgICAgIGZpbGVTdHI6IHRoaXMuc2lnbmF0dXJlVVJMLFxuICAgICAgICAgICAgICAgIGZpbGVFeHQ6IHRoaXMuYWNjZXB0U2lnbmF0dXJlVHlwZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YWx1ZSA9ICcnO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodmFsdWUpO1xuICAgIH1cblxuICAgIGNsb3NlRGlhbG9nKGV2ZW50KSB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGV2ZW50KTtcbiAgICB9XG59XG4iLCI8cGVwLWRpYWxvZyBbdGl0bGVdPVwiZGF0YS50aXRsZSB8fCAoJ1NJR05BVFVSRS5ESUFMT0dfVElUTEUnIHwgdHJhbnNsYXRlKVwiIFtzaG93Rm9vdGVyXT1cImRhdGEuc2hvd0FjdGlvbkJ0blwiIFtzaG93Q2xvc2VdPVwidHJ1ZVwiIChjbG9zZSk9XCJjbG9zZURpYWxvZygkZXZlbnQpXCI+XG4gICAgPG5nLWNvbnRhaW5lciBwZXAtZGlhbG9nLWNvbnRlbnQ+XG4gICAgICAgIDxzaWduYXR1cmUtcGFkICNzaWduYXR1cmVQYWQgW29wdGlvbnNdPVwic2lnbmF0dXJlUGFkT3B0aW9uc1wiIChvbkJlZ2luRXZlbnQpPVwiZHJhd1N0YXJ0KClcIlxuICAgICAgICAgICAgKG9uRW5kRXZlbnQpPVwiZHJhd0NvbXBsZXRlKClcIj5cbiAgICAgICAgPC9zaWduYXR1cmUtcGFkPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDxkaXYgcGVwLWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwicGVwLXNwYWNpbmctZWxlbWVudC1uZWdhdGl2ZVwiPlxuICAgICAgICA8YnV0dG9uIG1hdC1idXR0b24gY2xhc3M9XCJwZXAtc3BhY2luZy1lbGVtZW50IHBlcC1idXR0b24gbWQgd2Vha1wiIFtkaXNhYmxlZF09XCJkYXRhLmRpc2FibGVkXCJcbiAgICAgICAgICAgIChjbGljayk9XCJjbGVhclNpZ25Nb2RhbCgpXCI+XG4gICAgICAgICAgICB7eyAnQUNUSU9OUy5DTEVBUicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxidXR0b24gbWF0LWJ1dHRvbiBjbGFzcz1cInBlcC1zcGFjaW5nLWVsZW1lbnQgcGVwLWJ1dHRvbiBtZCBzdHJvbmdcIiBbZGlzYWJsZWRdPVwiZGF0YS5kaXNhYmxlZFwiXG4gICAgICAgICAgICAoY2xpY2spPVwic2F2ZVNpZ25Nb2RhbCgkZXZlbnQpXCI+XG4gICAgICAgICAgICB7eyAnQUNUSU9OUy5ET05FJyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICA8L2Rpdj5cbjwvcGVwLWRpYWxvZz4iXX0=
|