@rangertechnologies/ngnxt 2.0.27 → 2.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/esm2022/lib/components/custom-date-picker/custom-date-picker.component.mjs +33 -33
- package/esm2022/lib/components/custom-dropdown/custom-dropdown.component.mjs +82 -73
- package/esm2022/lib/components/custom-input/custom-input.component.mjs +75 -46
- package/esm2022/lib/components/custom-table/custom-table.component.mjs +51 -51
- package/esm2022/lib/components/custom-text-area/custom-text-area.component.mjs +34 -34
- package/esm2022/lib/components/dropdown-with-flag/dropdown-with-flag.component.mjs +34 -34
- package/esm2022/lib/components/pick-location/pick-location.component.mjs +134 -134
- package/esm2022/lib/components/search-box/search-box.component.mjs +84 -84
- package/esm2022/lib/interfaces/actionMeta.mjs +2 -0
- package/esm2022/lib/interfaces/apimeta.mjs +2 -2
- package/esm2022/lib/interfaces/dependencyMeta.mjs +2 -0
- package/esm2022/lib/model/changeWrapper.mjs +8 -0
- package/esm2022/lib/nxt-app.component.mjs +22 -22
- package/esm2022/lib/nxt-app.module.mjs +262 -262
- package/esm2022/lib/nxt-app.service.mjs +14 -14
- package/esm2022/lib/pages/booklet/booklet.component.mjs +89 -79
- package/esm2022/lib/pages/questionnaire/questionnaire.component.mjs +2139 -2131
- package/esm2022/lib/sample.mjs +432 -432
- package/esm2022/lib/services/change.service.mjs +33 -0
- package/esm2022/lib/services/data.service.mjs +40 -40
- package/esm2022/lib/services/salesforce.service.mjs +46 -46
- package/esm2022/lib/wrapper.mjs +165 -165
- package/esm2022/public-api.mjs +10 -10
- package/esm2022/rangertechnologies-ngnxt.mjs +4 -4
- package/fesm2022/rangertechnologies-ngnxt.mjs +3643 -3552
- package/fesm2022/rangertechnologies-ngnxt.mjs.map +1 -1
- package/index.d.ts +5 -5
- package/lib/components/custom-date-picker/custom-date-picker.component.d.ts +14 -14
- package/lib/components/custom-dropdown/custom-dropdown.component.d.ts +26 -23
- package/lib/components/custom-input/custom-input.component.d.ts +26 -18
- package/lib/components/custom-table/custom-table.component.d.ts +23 -23
- package/lib/components/custom-text-area/custom-text-area.component.d.ts +14 -14
- package/lib/components/dropdown-with-flag/dropdown-with-flag.component.d.ts +14 -14
- package/lib/components/pick-location/pick-location.component.d.ts +38 -38
- package/lib/components/search-box/search-box.component.d.ts +34 -34
- package/lib/interfaces/actionMeta.d.ts +5 -0
- package/lib/interfaces/apimeta.d.ts +5 -5
- package/lib/interfaces/dependencyMeta.d.ts +5 -0
- package/lib/model/changeWrapper.d.ts +7 -0
- package/lib/nxt-app.component.d.ts +8 -8
- package/lib/nxt-app.module.d.ts +26 -26
- package/lib/nxt-app.service.d.ts +6 -6
- package/lib/pages/booklet/booklet.component.d.ts +33 -29
- package/lib/pages/questionnaire/questionnaire.component.d.ts +209 -207
- package/lib/sample.d.ts +10 -10
- package/lib/services/change.service.d.ts +13 -0
- package/lib/services/data.service.d.ts +9 -9
- package/lib/services/salesforce.service.d.ts +11 -11
- package/lib/wrapper.d.ts +164 -164
- package/package.json +1 -1
- package/public-api.d.ts +6 -6
- package/rangertechnologies-ngnxt-2.0.28.tgz +0 -0
- package/rangertechnologies-ngnxt-2.0.27.tgz +0 -0
|
@@ -1,79 +1,89 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, } from "@angular/core";
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../services/salesforce.service";
|
|
4
|
-
import * as i2 from "../../services/data.service";
|
|
5
|
-
import * as i3 from "@angular/router";
|
|
6
|
-
import * as i4 from "@angular/platform-browser";
|
|
7
|
-
import * as i5 from "@angular/common";
|
|
8
|
-
import * as i6 from "ngx-spinner";
|
|
9
|
-
import * as i7 from "../questionnaire/questionnaire.component";
|
|
10
|
-
export class BookletComponent {
|
|
11
|
-
sfService;
|
|
12
|
-
dataService;
|
|
13
|
-
route;
|
|
14
|
-
sanitizer;
|
|
15
|
-
bookletId;
|
|
16
|
-
serv;
|
|
17
|
-
tkn;
|
|
18
|
-
|
|
19
|
-
handlePage = new EventEmitter();
|
|
20
|
-
booklet = [];
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
this.
|
|
27
|
-
this.
|
|
28
|
-
this.
|
|
29
|
-
this.
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
1
|
+
import { Component, Input, Output, EventEmitter, } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "../../services/salesforce.service";
|
|
4
|
+
import * as i2 from "../../services/data.service";
|
|
5
|
+
import * as i3 from "@angular/router";
|
|
6
|
+
import * as i4 from "@angular/platform-browser";
|
|
7
|
+
import * as i5 from "@angular/common";
|
|
8
|
+
import * as i6 from "ngx-spinner";
|
|
9
|
+
import * as i7 from "../questionnaire/questionnaire.component";
|
|
10
|
+
export class BookletComponent {
|
|
11
|
+
sfService;
|
|
12
|
+
dataService;
|
|
13
|
+
route;
|
|
14
|
+
sanitizer;
|
|
15
|
+
bookletId;
|
|
16
|
+
serv;
|
|
17
|
+
tkn;
|
|
18
|
+
handleBookletActionEvent = new EventEmitter();
|
|
19
|
+
handlePage = new EventEmitter();
|
|
20
|
+
booklet = [];
|
|
21
|
+
abItem = {};
|
|
22
|
+
actions = [];
|
|
23
|
+
spinnerName;
|
|
24
|
+
spinnerType;
|
|
25
|
+
constructor(sfService, dataService, route, sanitizer, el) {
|
|
26
|
+
this.sfService = sfService;
|
|
27
|
+
this.dataService = dataService;
|
|
28
|
+
this.route = route;
|
|
29
|
+
this.sanitizer = sanitizer;
|
|
30
|
+
this.spinnerName = "sp1";
|
|
31
|
+
this.spinnerType = "ball-spin-clockwise";
|
|
32
|
+
}
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
this.processBooklet();
|
|
35
|
+
}
|
|
36
|
+
ngOnChanges() {
|
|
37
|
+
//console.log('inside Questionnaire ngOnChanges');
|
|
38
|
+
this.processBooklet();
|
|
39
|
+
}
|
|
40
|
+
processBooklet() {
|
|
41
|
+
if (this.bookletId) {
|
|
42
|
+
if (this.bookletId.length == 18) {
|
|
43
|
+
this.readBooklet(this.bookletId);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
readBooklet = (uuid) => {
|
|
48
|
+
if (this.serv == "api") {
|
|
49
|
+
this.dataService.getAPIData(this.tkn, ["Booklet", "read", uuid], this.successReadBooklet, this.failureReadBooklet);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this.sfService.remoteAction("NxtController.process", ["Booklet", "read", uuid], this.successReadBooklet, this.failureReadBooklet);
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
successReadBooklet = (response) => {
|
|
56
|
+
console.log('Inside the successReadBooklet');
|
|
57
|
+
console.log(response);
|
|
58
|
+
if (response != null || response != undefined) {
|
|
59
|
+
this.booklet = response.records;
|
|
60
|
+
this.abItem = response.answerbook;
|
|
61
|
+
if (response.questionbook?.Actions__c != undefined) {
|
|
62
|
+
this.actions = JSON.parse(response.questionbook.Actions__c);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
failureReadBooklet = (response) => {
|
|
67
|
+
};
|
|
68
|
+
handleBookletActionClick(action) {
|
|
69
|
+
console.log(action);
|
|
70
|
+
this.handleBookletActionEvent.emit(action.eventtoemit);
|
|
71
|
+
}
|
|
72
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BookletComponent, deps: [{ token: i1.SalesforceService }, { token: i2.DataService }, { token: i3.ActivatedRoute }, { token: i4.DomSanitizer }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
73
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: BookletComponent, selector: "lib-booklet", inputs: { bookletId: "bookletId", serv: "serv", tkn: "tkn" }, outputs: { handleBookletActionEvent: "handleBookletActionEvent", handlePage: "handlePage" }, usesOnChanges: true, ngImport: i0, template: "<ngx-spinner [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\r\n<!-- Booklet Handling-->\r\n<div *ngFor=\"let qb of booklet\">\r\n <lib-questionnaire [serv]=\"serv\" [qbId]=\"qb.Id\" [tkn]=\"tkn\"></lib-questionnaire>\r\n</div>\r\n\r\n<!-- Group Actions -->\r\n<div class=\"align-edit-submit\" *ngIf=\"abItem.Status__c != 'Completed'\">\r\n <div *ngFor=\"let action of actions\">\r\n <button (click)=\"handleBookletActionClick(action)\">\r\n {{ action.name }}\r\n </button>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.NgxSpinnerComponent, selector: "ngx-spinner", inputs: ["disableAnimation", "bdColor", "zIndex", "color", "type", "size", "fullScreen", "name", "template", "showSpinner"] }, { kind: "component", type: i7.QuestionnaireComponent, selector: "lib-questionnaire", inputs: ["qbId", "insuranceStartDate", "serv", "tkn"], outputs: ["handleEvent", "handlePage"] }] });
|
|
74
|
+
}
|
|
75
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: BookletComponent, decorators: [{
|
|
76
|
+
type: Component,
|
|
77
|
+
args: [{ selector: 'lib-booklet', template: "<ngx-spinner [name]=\"spinnerName\" [type]=\"spinnerType\"></ngx-spinner>\r\n<!-- Booklet Handling-->\r\n<div *ngFor=\"let qb of booklet\">\r\n <lib-questionnaire [serv]=\"serv\" [qbId]=\"qb.Id\" [tkn]=\"tkn\"></lib-questionnaire>\r\n</div>\r\n\r\n<!-- Group Actions -->\r\n<div class=\"align-edit-submit\" *ngIf=\"abItem.Status__c != 'Completed'\">\r\n <div *ngFor=\"let action of actions\">\r\n <button (click)=\"handleBookletActionClick(action)\">\r\n {{ action.name }}\r\n </button>\r\n </div>\r\n</div>\r\n" }]
|
|
78
|
+
}], ctorParameters: function () { return [{ type: i1.SalesforceService }, { type: i2.DataService }, { type: i3.ActivatedRoute }, { type: i4.DomSanitizer }, { type: i0.ElementRef }]; }, propDecorators: { bookletId: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}], serv: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], tkn: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], handleBookletActionEvent: [{
|
|
85
|
+
type: Output
|
|
86
|
+
}], handlePage: [{
|
|
87
|
+
type: Output
|
|
88
|
+
}] } });
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9va2xldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ueHQtYXBwL3NyYy9saWIvcGFnZXMvYm9va2xldC9ib29rbGV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL254dC1hcHAvc3JjL2xpYi9wYWdlcy9ib29rbGV0L2Jvb2tsZXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFJVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FHYixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7O0FBWXZCLE1BQU0sT0FBTyxnQkFBZ0I7SUFlakI7SUFDQTtJQUNBO0lBQ0E7SUFqQkQsU0FBUyxDQUFTO0lBQ2xCLElBQUksQ0FBUztJQUNiLEdBQUcsQ0FBUztJQUNYLHdCQUF3QixHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDOUMsVUFBVSxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO0lBRXRELE9BQU8sR0FBVSxFQUFFLENBQUM7SUFDcEIsTUFBTSxHQUFRLEVBQUUsQ0FBQztJQUNqQixPQUFPLEdBQWlCLEVBQUUsQ0FBQztJQUUzQixXQUFXLENBQVM7SUFDcEIsV0FBVyxDQUFRO0lBRTFCLFlBQ1UsU0FBNEIsRUFDNUIsV0FBd0IsRUFDeEIsS0FBcUIsRUFDckIsU0FBdUIsRUFDL0IsRUFBYztRQUpOLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBQzVCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFHL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQztJQUMzQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsV0FBVztRQUNULGtEQUFrRDtRQUNsRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUU7Z0JBQy9CLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2xDO1NBQ0Y7SUFDSCxDQUFDO0lBRU8sV0FBVyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUU7UUFDckMsSUFBRyxJQUFJLENBQUMsSUFBSSxJQUFJLEtBQUssRUFBRTtZQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FDekIsSUFBSSxDQUFDLEdBQUcsRUFDUixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLEVBQ3pCLElBQUksQ0FBQyxrQkFBa0IsRUFDdkIsSUFBSSxDQUFDLGtCQUFrQixDQUN4QixDQUFDO1NBQ0g7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUN6Qix1QkFBdUIsRUFDdkIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUN6QixJQUFJLENBQUMsa0JBQWtCLEVBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FDeEIsQ0FBQztTQUNIO0lBQ0gsQ0FBQyxDQUFBO0lBRU8sa0JBQWtCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRTtRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDN0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN0QixJQUFHLFFBQVEsSUFBSSxJQUFJLElBQUksUUFBUSxJQUFJLFNBQVMsRUFBRTtZQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDaEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUMsVUFBVSxDQUFDO1lBQ2xDLElBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxVQUFVLElBQUksU0FBUyxFQUFFO2dCQUNqRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUM3RDtTQUNGO0lBQ0gsQ0FBQyxDQUFBO0lBRU8sa0JBQWtCLEdBQUcsQ0FBQyxRQUFRLEVBQUUsRUFBRTtJQUUxQyxDQUFDLENBQUE7SUFFRCx3QkFBd0IsQ0FBQyxNQUFpQjtRQUN4QyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7d0dBL0VVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLG1PQ3RCN0IsbWlCQWNBOzs0RkRRYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYTttTkFLZCxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0ksd0JBQXdCO3NCQUFqQyxNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPdXRwdXQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIEVsZW1lbnRSZWYsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU2FsZXNmb3JjZVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc2FsZXNmb3JjZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFBhcmFtcyB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gXCJAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyXCI7XHJcbmltcG9ydCB7IEFjdGlvbk1ldGEgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2FjdGlvbk1ldGEnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYm9va2xldCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Jvb2tsZXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Jvb2tsZXQuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCb29rbGV0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBib29rbGV0SWQ6IHN0cmluZztcclxuICBASW5wdXQoKSBzZXJ2OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGtuOiBzdHJpbmc7XHJcbiAgQE91dHB1dCgpIGhhbmRsZUJvb2tsZXRBY3Rpb25FdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgaGFuZGxlUGFnZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHB1YmxpYyBib29rbGV0OiBhbnlbXSA9IFtdO1xyXG4gIHB1YmxpYyBhYkl0ZW06IGFueSA9IHt9O1xyXG4gIHB1YmxpYyBhY3Rpb25zOiBBY3Rpb25NZXRhW10gPSBbXTtcclxuXHJcbiAgcHVibGljIHNwaW5uZXJOYW1lOiBzdHJpbmc7XHJcbiAgcHVibGljIHNwaW5uZXJUeXBlOnN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNmU2VydmljZTogU2FsZXNmb3JjZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcixcclxuICAgIGVsOiBFbGVtZW50UmVmXHJcbiAgKSB7IFxyXG4gICAgdGhpcy5zcGlubmVyTmFtZSA9IFwic3AxXCI7XHJcbiAgICB0aGlzLnNwaW5uZXJUeXBlID0gXCJiYWxsLXNwaW4tY2xvY2t3aXNlXCI7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvY2Vzc0Jvb2tsZXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgLy9jb25zb2xlLmxvZygnaW5zaWRlIFF1ZXN0aW9ubmFpcmUgbmdPbkNoYW5nZXMnKTtcclxuICAgIHRoaXMucHJvY2Vzc0Jvb2tsZXQoKTtcclxuICB9XHJcblxyXG4gIHByb2Nlc3NCb29rbGV0KCkge1xyXG4gICAgaWYgKHRoaXMuYm9va2xldElkKSB7XHJcbiAgICAgIGlmICh0aGlzLmJvb2tsZXRJZC5sZW5ndGggPT0gMTgpIHtcclxuICAgICAgICB0aGlzLnJlYWRCb29rbGV0KHRoaXMuYm9va2xldElkKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZWFkQm9va2xldCA9ICh1dWlkOiBzdHJpbmcpID0+IHtcclxuICAgIGlmKHRoaXMuc2VydiA9PSBcImFwaVwiKSB7XHJcbiAgICAgIHRoaXMuZGF0YVNlcnZpY2UuZ2V0QVBJRGF0YShcclxuICAgICAgICB0aGlzLnRrbixcclxuICAgICAgICBbXCJCb29rbGV0XCIsIFwicmVhZFwiLCB1dWlkXSxcclxuICAgICAgICB0aGlzLnN1Y2Nlc3NSZWFkQm9va2xldCxcclxuICAgICAgICB0aGlzLmZhaWx1cmVSZWFkQm9va2xldFxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZlNlcnZpY2UucmVtb3RlQWN0aW9uKFxyXG4gICAgICAgIFwiTnh0Q29udHJvbGxlci5wcm9jZXNzXCIsXHJcbiAgICAgICAgW1wiQm9va2xldFwiLCBcInJlYWRcIiwgdXVpZF0sXHJcbiAgICAgICAgdGhpcy5zdWNjZXNzUmVhZEJvb2tsZXQsXHJcbiAgICAgICAgdGhpcy5mYWlsdXJlUmVhZEJvb2tsZXRcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3VjY2Vzc1JlYWRCb29rbGV0ID0gKHJlc3BvbnNlKSA9PiB7XHJcbiAgICBjb25zb2xlLmxvZygnSW5zaWRlIHRoZSBzdWNjZXNzUmVhZEJvb2tsZXQnKTtcclxuICAgIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcclxuICAgIGlmKHJlc3BvbnNlICE9IG51bGwgfHwgcmVzcG9uc2UgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuYm9va2xldCA9IHJlc3BvbnNlLnJlY29yZHM7XHJcbiAgICAgIHRoaXMuYWJJdGVtID0gcmVzcG9uc2UuYW5zd2VyYm9vaztcclxuICAgICAgaWYocmVzcG9uc2UucXVlc3Rpb25ib29rPy5BY3Rpb25zX19jICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuYWN0aW9ucyA9IEpTT04ucGFyc2UocmVzcG9uc2UucXVlc3Rpb25ib29rLkFjdGlvbnNfX2MpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZhaWx1cmVSZWFkQm9va2xldCA9IChyZXNwb25zZSkgPT4ge1xyXG5cclxuICB9XHJcblxyXG4gIGhhbmRsZUJvb2tsZXRBY3Rpb25DbGljayhhY3Rpb246QWN0aW9uTWV0YSkge1xyXG4gICAgY29uc29sZS5sb2coYWN0aW9uKTtcclxuICAgIHRoaXMuaGFuZGxlQm9va2xldEFjdGlvbkV2ZW50LmVtaXQoYWN0aW9uLmV2ZW50dG9lbWl0KTtcclxuICB9XHJcbn1cclxuIiwiPG5neC1zcGlubmVyIFtuYW1lXT1cInNwaW5uZXJOYW1lXCIgW3R5cGVdPVwic3Bpbm5lclR5cGVcIj48L25neC1zcGlubmVyPlxyXG48IS0tIEJvb2tsZXQgSGFuZGxpbmctLT5cclxuPGRpdiAqbmdGb3I9XCJsZXQgcWIgb2YgYm9va2xldFwiPlxyXG4gICAgPGxpYi1xdWVzdGlvbm5haXJlIFtzZXJ2XT1cInNlcnZcIiBbcWJJZF09XCJxYi5JZFwiIFt0a25dPVwidGtuXCI+PC9saWItcXVlc3Rpb25uYWlyZT5cclxuPC9kaXY+XHJcblxyXG48IS0tIEdyb3VwIEFjdGlvbnMgLS0+XHJcbjxkaXYgY2xhc3M9XCJhbGlnbi1lZGl0LXN1Ym1pdFwiICpuZ0lmPVwiYWJJdGVtLlN0YXR1c19fYyAhPSAnQ29tcGxldGVkJ1wiPlxyXG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGFjdGlvbnNcIj5cclxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJoYW5kbGVCb29rbGV0QWN0aW9uQ2xpY2soYWN0aW9uKVwiPlxyXG4gICAgICAgICAgICB7eyBhY3Rpb24ubmFtZSB9fVxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|