ax-common-ui-lib 1.0.1-beta.34-testing → 1.0.1-beta.34-testing1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/app-create-dialog-component/app-create-dialog-component.component.mjs +52 -28
- package/esm2020/lib/app-list/app-list.component.mjs +3 -3
- package/esm2020/lib/core/icons/icons.module.mjs +3 -1
- package/esm2020/lib/filters/choice-list-filter/choice-list-filter.component.mjs +9 -2
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-map-view/image-map-view.component.mjs +33 -35
- package/esm2020/lib/form-object/form-object-view/form-object-widgets/image-widget-view/image-widget-lightbox-view/image-widget-lightbox-view.component.mjs +2 -2
- package/esm2020/lib/sculptor/form-builder-master/form-builder-master.service.mjs +17 -3
- package/esm2020/lib/sculptor-lib/widgets/subform/subform.component.mjs +6 -7
- package/esm2020/lib/sculptor-lib/widgets/widgets.service.mjs +7 -3
- package/esm2020/lib/shared/comfirmation-modal/confirmation-modal.component.mjs +18 -22
- package/fesm2015/ax-common-ui-lib.mjs +241 -189
- package/fesm2015/ax-common-ui-lib.mjs.map +1 -1
- package/fesm2020/ax-common-ui-lib.mjs +237 -189
- package/fesm2020/ax-common-ui-lib.mjs.map +1 -1
- package/lib/app-create-dialog-component/app-create-dialog-component.component.d.ts +8 -0
- package/lib/sculptor/form-builder-master/form-builder-master.service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -2,14 +2,25 @@ import { Component } from '@angular/core';
|
|
|
2
2
|
import { MatDialogRef } from '@angular/material/dialog';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/material/dialog";
|
|
5
|
-
import * as i2 from "@angular/
|
|
6
|
-
import * as i3 from "@angular/
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
import * as i2 from "@angular/forms";
|
|
6
|
+
import * as i3 from "@angular/common";
|
|
7
|
+
function AppCreateDialogComponentComponent_span_10_Template(rf, ctx) { if (rf & 1) {
|
|
8
|
+
i0.ɵɵelementStart(0, "span", 12);
|
|
9
|
+
i0.ɵɵtext(1);
|
|
10
|
+
i0.ɵɵelementEnd();
|
|
11
|
+
} if (rf & 2) {
|
|
12
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
13
|
+
i0.ɵɵadvance(1);
|
|
14
|
+
i0.ɵɵtextInterpolate(ctx_r0.errMessage.name);
|
|
15
|
+
} }
|
|
16
|
+
const _c0 = function (a0) { return { "invalid-input": a0 }; };
|
|
9
17
|
export class AppCreateDialogComponentComponent {
|
|
10
18
|
constructor(dialogRef) {
|
|
11
19
|
this.dialogRef = dialogRef;
|
|
20
|
+
this.name = '';
|
|
12
21
|
this.description = '';
|
|
22
|
+
this.errMessage = { name: '' };
|
|
23
|
+
this.showErrMessge = { name: false };
|
|
13
24
|
}
|
|
14
25
|
onCancel() {
|
|
15
26
|
this.dialogRef.close();
|
|
@@ -19,56 +30,69 @@ export class AppCreateDialogComponentComponent {
|
|
|
19
30
|
this.dialogRef.close({ name: this.name, description: this.description });
|
|
20
31
|
}
|
|
21
32
|
else {
|
|
33
|
+
this.onBlur();
|
|
22
34
|
// Optional: Display an error message if name is empty
|
|
23
35
|
}
|
|
24
36
|
}
|
|
37
|
+
onBlur() {
|
|
38
|
+
this.showErrMessge.name = true;
|
|
39
|
+
this.onInput();
|
|
40
|
+
}
|
|
41
|
+
onInput() {
|
|
42
|
+
this.name.trim() ? this.errMessage.name = "" : this.errMessage.name = "App name should not be empty";
|
|
43
|
+
}
|
|
25
44
|
}
|
|
26
45
|
AppCreateDialogComponentComponent.ɵfac = function AppCreateDialogComponentComponent_Factory(t) { return new (t || AppCreateDialogComponentComponent)(i0.ɵɵdirectiveInject(i1.MatDialogRef)); };
|
|
27
|
-
AppCreateDialogComponentComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AppCreateDialogComponentComponent, selectors: [["app-app-create-dialog-component"]], decls:
|
|
46
|
+
AppCreateDialogComponentComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AppCreateDialogComponentComponent, selectors: [["app-app-create-dialog-component"]], decls: 20, vars: 6, consts: [[1, "popup-container", "create-app-popup"], [1, "close-icon", 3, "click"], [1, "flex", "flex-col", "gap-2"], ["for", "app-name"], ["type", "text", "id", "app-name", "required", "", 1, "", 3, "ngModel", "ngClass", "ngModelChange", "blur", "input"], [1, "err-message-container"], ["class", "error-message", 4, "ngIf"], ["for", "app-desc"], ["id", "app-desc", "placeholder", "Please provide a detailed description of your app so that our AI can assist you in building your apps faster.", "rows", "5", 1, "", 3, "ngModel", "ngModelChange"], [1, "action-btn-container"], [1, "stroke-btn", 3, "click"], [1, "fill-btn", 3, "click"], [1, "error-message"]], template: function AppCreateDialogComponentComponent_Template(rf, ctx) { if (rf & 1) {
|
|
28
47
|
i0.ɵɵelementStart(0, "div", 0);
|
|
29
|
-
i0.ɵɵelementStart(1, "
|
|
30
|
-
i0.ɵɵlistener("click", function
|
|
48
|
+
i0.ɵɵelementStart(1, "button", 1);
|
|
49
|
+
i0.ɵɵlistener("click", function AppCreateDialogComponentComponent_Template_button_click_1_listener() { return ctx.onCancel(); });
|
|
31
50
|
i0.ɵɵelementEnd();
|
|
32
|
-
i0.ɵɵelementStart(2, "
|
|
51
|
+
i0.ɵɵelementStart(2, "h1");
|
|
33
52
|
i0.ɵɵtext(3, "Create a New App");
|
|
34
53
|
i0.ɵɵelementEnd();
|
|
35
|
-
i0.ɵɵelementStart(4, "
|
|
36
|
-
i0.ɵɵelementStart(5, "
|
|
37
|
-
i0.ɵɵelementStart(6, "
|
|
54
|
+
i0.ɵɵelementStart(4, "div", 2);
|
|
55
|
+
i0.ɵɵelementStart(5, "div");
|
|
56
|
+
i0.ɵɵelementStart(6, "label", 3);
|
|
38
57
|
i0.ɵɵtext(7, "App Name");
|
|
39
58
|
i0.ɵɵelementEnd();
|
|
40
59
|
i0.ɵɵelementStart(8, "input", 4);
|
|
41
|
-
i0.ɵɵlistener("ngModelChange", function AppCreateDialogComponentComponent_Template_input_ngModelChange_8_listener($event) { return ctx.name = $event; });
|
|
60
|
+
i0.ɵɵlistener("ngModelChange", function AppCreateDialogComponentComponent_Template_input_ngModelChange_8_listener($event) { return ctx.name = $event; })("blur", function AppCreateDialogComponentComponent_Template_input_blur_8_listener() { return ctx.onBlur(); })("input", function AppCreateDialogComponentComponent_Template_input_input_8_listener() { return ctx.onInput(); });
|
|
61
|
+
i0.ɵɵelementEnd();
|
|
62
|
+
i0.ɵɵelementStart(9, "div", 5);
|
|
63
|
+
i0.ɵɵtemplate(10, AppCreateDialogComponentComponent_span_10_Template, 2, 1, "span", 6);
|
|
42
64
|
i0.ɵɵelementEnd();
|
|
43
65
|
i0.ɵɵelementEnd();
|
|
44
|
-
i0.ɵɵelementStart(
|
|
45
|
-
i0.ɵɵelementStart(
|
|
46
|
-
i0.ɵɵtext(
|
|
66
|
+
i0.ɵɵelementStart(11, "div");
|
|
67
|
+
i0.ɵɵelementStart(12, "label", 7);
|
|
68
|
+
i0.ɵɵtext(13, "Description");
|
|
47
69
|
i0.ɵɵelementEnd();
|
|
48
|
-
i0.ɵɵelementStart(
|
|
49
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
70
|
+
i0.ɵɵelementStart(14, "textarea", 8);
|
|
71
|
+
i0.ɵɵlistener("ngModelChange", function AppCreateDialogComponentComponent_Template_textarea_ngModelChange_14_listener($event) { return ctx.description = $event; });
|
|
50
72
|
i0.ɵɵelementEnd();
|
|
51
73
|
i0.ɵɵelementEnd();
|
|
52
74
|
i0.ɵɵelementEnd();
|
|
53
|
-
i0.ɵɵelementStart(
|
|
54
|
-
i0.ɵɵelementStart(
|
|
55
|
-
i0.ɵɵlistener("click", function
|
|
56
|
-
i0.ɵɵtext(
|
|
75
|
+
i0.ɵɵelementStart(15, "div", 9);
|
|
76
|
+
i0.ɵɵelementStart(16, "button", 10);
|
|
77
|
+
i0.ɵɵlistener("click", function AppCreateDialogComponentComponent_Template_button_click_16_listener() { return ctx.onCancel(); });
|
|
78
|
+
i0.ɵɵtext(17, "Cancel");
|
|
57
79
|
i0.ɵɵelementEnd();
|
|
58
|
-
i0.ɵɵelementStart(
|
|
59
|
-
i0.ɵɵlistener("click", function
|
|
60
|
-
i0.ɵɵtext(
|
|
80
|
+
i0.ɵɵelementStart(18, "button", 11);
|
|
81
|
+
i0.ɵɵlistener("click", function AppCreateDialogComponentComponent_Template_button_click_18_listener() { return ctx.onSubmit(); });
|
|
82
|
+
i0.ɵɵtext(19, "Create");
|
|
61
83
|
i0.ɵɵelementEnd();
|
|
62
84
|
i0.ɵɵelementEnd();
|
|
63
85
|
i0.ɵɵelementEnd();
|
|
64
86
|
} if (rf & 2) {
|
|
65
87
|
i0.ɵɵadvance(8);
|
|
66
|
-
i0.ɵɵproperty("ngModel", ctx.name);
|
|
88
|
+
i0.ɵɵproperty("ngModel", ctx.name)("ngClass", i0.ɵɵpureFunction1(4, _c0, ctx.showErrMessge.name && ctx.errMessage.name));
|
|
89
|
+
i0.ɵɵadvance(2);
|
|
90
|
+
i0.ɵɵproperty("ngIf", ctx.showErrMessge.name && ctx.errMessage.name);
|
|
67
91
|
i0.ɵɵadvance(4);
|
|
68
92
|
i0.ɵɵproperty("ngModel", ctx.description);
|
|
69
|
-
} }, directives: [i2.
|
|
93
|
+
} }, directives: [i2.DefaultValueAccessor, i2.RequiredValidator, i2.NgControlStatus, i2.NgModel, i3.NgClass, i3.NgIf], styles: [".create-app-popup[_ngcontent-%COMP%]{min-width:30vw}", ".popup-container[_ngcontent-%COMP%]{min-width:20vw;min-height:fit-content;width:fit-content;height:fit-content;max-width:75vw;max-height:75vh;font-family:Inter var,Roboto;font-size:.875rem;position:relative}.popup-container[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{font-family:Inter var,Roboto!important;color:var(--black-color);font-size:1.125rem;font-weight:500;line-height:28px;margin:0 0 1rem;text-transform:capitalize;width:fit-content}.popup-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{color:var(--popup-text-color);font-weight:400;margin:0;line-height:20px}.popup-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{display:block;color:var(--black-color);font-weight:500;margin:0 0 .2rem}.popup-container[_ngcontent-%COMP%] .close-icon[_ngcontent-%COMP%]{height:24px;width:24px;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M18 6L6 18M6 6L18 18%22 stroke%3D%22%23667085%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\");background-position:center;background-size:100%;position:absolute;top:0;right:0}.popup-container[_ngcontent-%COMP%] .action-btn-container[_ngcontent-%COMP%]{display:flex;justify-content:right;gap:.5rem;margin:1.5rem 0 0}.popup-container[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%], .popup-container[_ngcontent-%COMP%] input[type=number][_ngcontent-%COMP%], .popup-container[_ngcontent-%COMP%] input[type=email][_ngcontent-%COMP%], .popup-container[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{display:block;border:1px solid var(--input-border-color);border-radius:.375rem;width:100%;padding:.5rem 1rem;color:var(--black-color);resize:none}.popup-container[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%]::placeholder, .popup-container[_ngcontent-%COMP%] input[type=number][_ngcontent-%COMP%]::placeholder, .popup-container[_ngcontent-%COMP%] input[type=email][_ngcontent-%COMP%]::placeholder, .popup-container[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]::placeholder{color:var(--input-placeholder-color)}.popup-container[_ngcontent-%COMP%] input[type=text][_ngcontent-%COMP%]:focus, .popup-container[_ngcontent-%COMP%] input[type=number][_ngcontent-%COMP%]:focus, .popup-container[_ngcontent-%COMP%] input[type=email][_ngcontent-%COMP%]:focus, .popup-container[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus{border:1px solid var(--primary-bg-color)}.popup-container[_ngcontent-%COMP%] .err-message-container[_ngcontent-%COMP%]{height:14px;line-height:12px;width:100%;margin-top:2px}.popup-container[_ngcontent-%COMP%] .err-message-container[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%]{color:#dc2626;font-size:12px;float:right}.popup-container[_ngcontent-%COMP%] .invalid-input[_ngcontent-%COMP%]{border:1px solid #dc2626!important}.popup-container[_ngcontent-%COMP%] .checkbox-container[_ngcontent-%COMP%]{display:flex;justify-content:start;align-items:center}.popup-container[_ngcontent-%COMP%] .checkbox-container[_ngcontent-%COMP%] input[type=checkbox][_ngcontent-%COMP%]{width:fit-content;margin:0 .5rem 0 0}"] });
|
|
70
94
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AppCreateDialogComponentComponent, [{
|
|
71
95
|
type: Component,
|
|
72
|
-
args: [{ selector: 'app-app-create-dialog-component', template: "<div class=\"create-app-
|
|
96
|
+
args: [{ selector: 'app-app-create-dialog-component', template: "<div class=\"popup-container create-app-popup\">\n <button class=\"close-icon\" (click)=\"onCancel()\"></button>\n <h1>Create a New App</h1>\n <div class=\"flex flex-col gap-2\">\n <div>\n <label for=\"app-name\">App Name</label>\n <input type=\"text\" [(ngModel)]=\"name\" id=\"app-name\" class=\"\" (blur)=\"onBlur()\" (input)=\"onInput()\" [ngClass]=\"{'invalid-input': showErrMessge.name && errMessage.name}\" required />\n <div class=\"err-message-container\"><span *ngIf=\"showErrMessge.name && errMessage.name\" class=\"error-message\">{{ errMessage.name }}</span></div>\n </div>\n <div>\n <label for=\"app-desc\">Description</label>\n <textarea [(ngModel)]=\"description\" id=\"app-desc\" placeholder=\"Please provide a detailed description of your app so that our AI can assist you in building your apps faster.\" class=\"\" rows=\"5\"></textarea>\n </div>\n </div>\n <div class=\"action-btn-container\">\n <button (click)=\"onCancel()\" class=\"stroke-btn\">Cancel</button>\n <button (click)=\"onSubmit()\" class=\"fill-btn\">Create</button>\n </div>\n</div>", styles: [".create-app-popup{min-width:30vw}\n", ".popup-container{min-width:20vw;min-height:fit-content;width:fit-content;height:fit-content;max-width:75vw;max-height:75vh;font-family:Inter var,Roboto;font-size:.875rem;position:relative}.popup-container h1{font-family:Inter var,Roboto!important;color:var(--black-color);font-size:1.125rem;font-weight:500;line-height:28px;margin:0 0 1rem;text-transform:capitalize;width:fit-content}.popup-container p{color:var(--popup-text-color);font-weight:400;margin:0;line-height:20px}.popup-container label{display:block;color:var(--black-color);font-weight:500;margin:0 0 .2rem}.popup-container .close-icon{height:24px;width:24px;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2224%22 height%3D%2224%22 viewBox%3D%220 0 24 24%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath d%3D%22M18 6L6 18M6 6L18 18%22 stroke%3D%22%23667085%22 stroke-width%3D%222%22 stroke-linecap%3D%22round%22 stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E\");background-position:center;background-size:100%;position:absolute;top:0;right:0}.popup-container .action-btn-container{display:flex;justify-content:right;gap:.5rem;margin:1.5rem 0 0}.popup-container input[type=text],.popup-container input[type=number],.popup-container input[type=email],.popup-container textarea{display:block;border:1px solid var(--input-border-color);border-radius:.375rem;width:100%;padding:.5rem 1rem;color:var(--black-color);resize:none}.popup-container input[type=text]::placeholder,.popup-container input[type=number]::placeholder,.popup-container input[type=email]::placeholder,.popup-container textarea::placeholder{color:var(--input-placeholder-color)}.popup-container input[type=text]:focus,.popup-container input[type=number]:focus,.popup-container input[type=email]:focus,.popup-container textarea:focus{border:1px solid var(--primary-bg-color)}.popup-container .err-message-container{height:14px;line-height:12px;width:100%;margin-top:2px}.popup-container .err-message-container .error-message{color:#dc2626;font-size:12px;float:right}.popup-container .invalid-input{border:1px solid #dc2626!important}.popup-container .checkbox-container{display:flex;justify-content:start;align-items:center}.popup-container .checkbox-container input[type=checkbox]{width:fit-content;margin:0 .5rem 0 0}\n"] }]
|
|
73
97
|
}], function () { return [{ type: i1.MatDialogRef }]; }, null); })();
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNyZWF0ZS1kaWFsb2ctY29tcG9uZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9heC1jb21tb24tdWktbGliL3NyYy9saWIvYXBwLWNyZWF0ZS1kaWFsb2ctY29tcG9uZW50L2FwcC1jcmVhdGUtZGlhbG9nLWNvbXBvbmVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvYXgtY29tbW9uLXVpLWxpYi9zcmMvbGliL2FwcC1jcmVhdGUtZGlhbG9nLWNvbXBvbmVudC9hcHAtY3JlYXRlLWRpYWxvZy1jb21wb25lbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7OztJQ01mLGdDQUEwRTtJQUFBLFlBQXFCO0lBQUEsaUJBQU87OztJQUE1QixlQUFxQjtJQUFyQiw0Q0FBcUI7OztBREN4SSxNQUFNLE9BQU8saUNBQWlDO0lBTzVDLFlBQW1CLFNBQTBEO1FBQTFELGNBQVMsR0FBVCxTQUFTLENBQWlEO1FBTDdFLFNBQUksR0FBVyxFQUFFLENBQUM7UUFDbEIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsZUFBVSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQzFCLGtCQUFhLEdBQUcsRUFBQyxJQUFJLEVBQUUsS0FBSyxFQUFDLENBQUM7SUFFa0QsQ0FBQztJQUVqRixRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztTQUMxRTthQUFNO1lBQ0wsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2Qsc0RBQXNEO1NBQ3ZEO0lBQ0gsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyw4QkFBOEIsQ0FBQztJQUN2RyxDQUFDOztrSEE3QlUsaUNBQWlDO29GQUFqQyxpQ0FBaUM7UUNSOUMsOEJBQThDO1FBQzNDLGlDQUFnRDtRQUFyQiw4R0FBUyxjQUFVLElBQUM7UUFBQyxpQkFBUztRQUMxRCwwQkFBSTtRQUFBLGdDQUFnQjtRQUFBLGlCQUFLO1FBQ3pCLDhCQUFpQztRQUMvQiwyQkFBSztRQUNILGdDQUFzQjtRQUFBLHdCQUFRO1FBQUEsaUJBQVE7UUFDdEMsZ0NBQW1MO1FBQWhLLHdKQUFrQiw4RkFBZ0MsWUFBUSxJQUF4QyxnR0FBbUQsYUFBUyxJQUE1RDtRQUFyQyxpQkFBbUw7UUFDbkwsOEJBQW1DO1FBQUEsc0ZBQXNHO1FBQUEsaUJBQU07UUFDakosaUJBQU07UUFDTiw0QkFBSztRQUNILGlDQUFzQjtRQUFBLDRCQUFXO1FBQUEsaUJBQVE7UUFDekMsb0NBQWdNO1FBQXRMLG1LQUF5QjtRQUE2SixpQkFBVztRQUM3TSxpQkFBTTtRQUNSLGlCQUFNO1FBQ04sK0JBQWtDO1FBQ2hDLG1DQUFnRDtRQUF4QywrR0FBUyxjQUFVLElBQUM7UUFBb0IsdUJBQU07UUFBQSxpQkFBUztRQUMvRCxtQ0FBK0M7UUFBdkMsK0dBQVMsY0FBVSxJQUFDO1FBQW1CLHVCQUFNO1FBQUEsaUJBQVM7UUFDaEUsaUJBQU07UUFDUixpQkFBTTs7UUFabUIsZUFBa0I7UUFBbEIsa0NBQWtCLHNGQUFBO1FBQ0ssZUFBMkM7UUFBM0Msb0VBQTJDO1FBSTNFLGVBQXlCO1FBQXpCLHlDQUF5Qjs7dUZESDVCLGlDQUFpQztjQUw3QyxTQUFTOzJCQUNFLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtYXBwLWNyZWF0ZS1kaWFsb2ctY29tcG9uZW50JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FwcC1jcmVhdGUtZGlhbG9nLWNvbXBvbmVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2FwcC1jcmVhdGUtZGlhbG9nLWNvbXBvbmVudC5jb21wb25lbnQuc2NzcycsIFwiLi4vLi4vc3R5bGVzL3N0eWxlcy5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIEFwcENyZWF0ZURpYWxvZ0NvbXBvbmVudENvbXBvbmVudCB7XG5cbiAgbmFtZTogc3RyaW5nID0gJyc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgPSAnJztcbiAgZXJyTWVzc2FnZSA9IHsgbmFtZTogJycgfTtcbiAgc2hvd0Vyck1lc3NnZSA9IHtuYW1lOiBmYWxzZX07XG5cbiAgY29uc3RydWN0b3IocHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEFwcENyZWF0ZURpYWxvZ0NvbXBvbmVudENvbXBvbmVudD4pIHt9XG5cbiAgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcbiAgfVxuXG4gIG9uU3VibWl0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5hbWUudHJpbSgpKSB7XG4gICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7IG5hbWU6IHRoaXMubmFtZSwgZGVzY3JpcHRpb246IHRoaXMuZGVzY3JpcHRpb24gfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub25CbHVyKCk7XG4gICAgICAvLyBPcHRpb25hbDogRGlzcGxheSBhbiBlcnJvciBtZXNzYWdlIGlmIG5hbWUgaXMgZW1wdHlcbiAgICB9XG4gIH1cblxuICBvbkJsdXIoKXtcbiAgICB0aGlzLnNob3dFcnJNZXNzZ2UubmFtZSA9IHRydWU7XG4gICAgdGhpcy5vbklucHV0KCk7XG4gIH1cblxuICBvbklucHV0KCl7XG4gICAgdGhpcy5uYW1lLnRyaW0oKSA/IHRoaXMuZXJyTWVzc2FnZS5uYW1lID0gXCJcIiA6IHRoaXMuZXJyTWVzc2FnZS5uYW1lID0gXCJBcHAgbmFtZSBzaG91bGQgbm90IGJlIGVtcHR5XCI7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwb3B1cC1jb250YWluZXIgY3JlYXRlLWFwcC1wb3B1cFwiPlxuICAgPGJ1dHRvbiBjbGFzcz1cImNsb3NlLWljb25cIiAoY2xpY2spPVwib25DYW5jZWwoKVwiPjwvYnV0dG9uPlxuICA8aDE+Q3JlYXRlIGEgTmV3IEFwcDwvaDE+XG4gIDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sIGdhcC0yXCI+XG4gICAgPGRpdj5cbiAgICAgIDxsYWJlbCBmb3I9XCJhcHAtbmFtZVwiPkFwcCBOYW1lPC9sYWJlbD5cbiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIFsobmdNb2RlbCldPVwibmFtZVwiIGlkPVwiYXBwLW5hbWVcIiBjbGFzcz1cIlwiIChibHVyKT1cIm9uQmx1cigpXCIgKGlucHV0KT1cIm9uSW5wdXQoKVwiIFtuZ0NsYXNzXT1cInsnaW52YWxpZC1pbnB1dCc6IHNob3dFcnJNZXNzZ2UubmFtZSAmJiBlcnJNZXNzYWdlLm5hbWV9XCIgcmVxdWlyZWQgLz5cbiAgICAgIDxkaXYgY2xhc3M9XCJlcnItbWVzc2FnZS1jb250YWluZXJcIj48c3BhbiAqbmdJZj1cInNob3dFcnJNZXNzZ2UubmFtZSAmJiBlcnJNZXNzYWdlLm5hbWVcIiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIj57eyBlcnJNZXNzYWdlLm5hbWUgfX08L3NwYW4+PC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxsYWJlbCBmb3I9XCJhcHAtZGVzY1wiPkRlc2NyaXB0aW9uPC9sYWJlbD5cbiAgICAgIDx0ZXh0YXJlYSBbKG5nTW9kZWwpXT1cImRlc2NyaXB0aW9uXCIgaWQ9XCJhcHAtZGVzY1wiIHBsYWNlaG9sZGVyPVwiUGxlYXNlIHByb3ZpZGUgYSBkZXRhaWxlZCBkZXNjcmlwdGlvbiBvZiB5b3VyIGFwcCBzbyB0aGF0IG91ciBBSSBjYW4gYXNzaXN0IHlvdSBpbiBidWlsZGluZyB5b3VyIGFwcHMgZmFzdGVyLlwiIGNsYXNzPVwiXCIgcm93cz1cIjVcIj48L3RleHRhcmVhPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cImFjdGlvbi1idG4tY29udGFpbmVyXCI+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwib25DYW5jZWwoKVwiIGNsYXNzPVwic3Ryb2tlLWJ0blwiPkNhbmNlbDwvYnV0dG9uPlxuICAgIDxidXR0b24gKGNsaWNrKT1cIm9uU3VibWl0KClcIiAgY2xhc3M9XCJmaWxsLWJ0blwiPkNyZWF0ZTwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|