simpo-component-library 1.6.122 → 1.6.125

Sign up to get free protection for your applications and to get access to all the features.
@@ -46,7 +46,7 @@ export class CustomerReviewComponent {
46
46
  return (value / this.customerReviews?.length) * 100;
47
47
  }
48
48
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: CustomerReviewComponent, deps: [{ token: i1.ActivatedRoute }, { token: i2.RestService }], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: CustomerReviewComponent, isStandalone: true, selector: "simpo-customer-review", inputs: { data: "data", index: "index", edit: "edit", delete: "delete" }, ngImport: i0, template: "<section class=\"mainContainer\" style=\"gap: 20px;\">\r\n <div class=\"left-panel\">\r\n <h3 [style.color]=\"data?.styles?.background?.accentColor\">Customer Reviews</h3>\r\n <p-rating [(ngModel)]=\"totalRating\" [cancel]=\"false\" [readonly]=\"true\" />\r\n <div class=\"stars\">\r\n <ng-container *ngFor=\"let rating of overallRatingCount | keyvalue; let idx = index\">\r\n <div class=\"d-flex\" style=\"gap: 5px; margin: 10px 0px\">\r\n <div class=\"count\">{{rating.key}}</div>\r\n <div class=\"rating-bar\">\r\n <p-progressBar [value]=\"getPercentage(rating?.value)\" [ngStyle]=\"{'background-color': data?.styles?.background?.accentColor}\" [showValue]=\"false\" />\r\n </div>\r\n <div class=\"count\">{{getPercentage(rating?.value)}}%</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"right-panel\">\r\n <h3 [style.color]=\"data?.styles?.background?.accentColor\">Top Reviews</h3>\r\n <div class=\"customer-reviews\">\r\n <ng-container *ngFor=\"let review of customerReviews\">\r\n <div class=\"d-flex align-item-center\">\r\n <img loading=\"lazy\" alt=\"\" style=\"height: 30px; width: fit-content;border-radius: 50%;margin-right: 10px;\">\r\n <span>{{review.userName | titlecase}}</span>\r\n </div>\r\n <div class=\"d-flex my-2\" style=\"width: fit-content; height: 20px; gap: 10px;\"> \r\n <p-rating [(ngModel)]=\"review.rating\" [cancel]=\"false\" [readonly]=\"true\" />\r\n <div>{{review.title | titlecase}}</div>\r\n </div>\r\n <div class=\"date\">{{ review.createdTimeStamp | date }}</div>\r\n <div class=\"description\">{{review.review | titlecase}}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</section>", styles: [".mainContainer{display:flex;justify-content:space-around}.rating-bar{width:300px}h3{margin-bottom:20px}.count{width:20px}.left-panel{width:20%}.right-panel{width:70%}.description{width:80%}.customer-reviews{border-bottom:1px solid lightgray;padding-bottom:10px;padding-left:10px}@media screen and (max-width: 475px){.mainContainer{flex-direction:column!important}.left-panel{width:95%;margin:auto}.right-panel{width:95%;margin:auto}.right-panel .description{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: RatingModule }, { kind: "component", type: i3.Rating, selector: "p-rating", inputs: ["disabled", "readonly", "stars", "cancel", "iconOnClass", "iconOnStyle", "iconOffClass", "iconOffStyle", "iconCancelClass", "iconCancelStyle", "autofocus"], outputs: ["onRate", "onCancel", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i5.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i5.DatePipe, name: "date" }, { kind: "pipe", type: i5.KeyValuePipe, name: "keyvalue" }, { kind: "ngmodule", type: ProgressBarModule }, { kind: "component", type: i6.ProgressBar, selector: "p-progressBar", inputs: ["value", "showValue", "styleClass", "style", "unit", "mode", "color"] }] }); }
49
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: CustomerReviewComponent, isStandalone: true, selector: "simpo-customer-review", inputs: { data: "data", index: "index", edit: "edit", delete: "delete" }, ngImport: i0, template: "<section class=\"mainContainer\" style=\"gap: 20px;\" *ngIf=\"customerReviews.length\">\r\n <div class=\"left-panel\">\r\n <h3 [style.color]=\"data?.styles?.background?.accentColor\">Customer Reviews</h3>\r\n <p-rating [(ngModel)]=\"totalRating\" [cancel]=\"false\" [readonly]=\"true\" />\r\n <div class=\"stars\">\r\n <ng-container *ngFor=\"let rating of overallRatingCount | keyvalue; let idx = index\">\r\n <div class=\"d-flex\" style=\"gap: 5px; margin: 10px 0px\">\r\n <div class=\"count\">{{rating.key}}</div>\r\n <div class=\"rating-bar\">\r\n <p-progressBar [value]=\"getPercentage(rating?.value)\" [ngStyle]=\"{'background-color': data?.styles?.background?.accentColor}\" [showValue]=\"false\" />\r\n </div>\r\n <div class=\"count\">{{getPercentage(rating?.value)}}%</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"right-panel\">\r\n <h3 [style.color]=\"data?.styles?.background?.accentColor\">Top Reviews</h3>\r\n <div class=\"customer-reviews\">\r\n <ng-container *ngFor=\"let review of customerReviews\">\r\n <div class=\"d-flex align-item-center\">\r\n <img loading=\"lazy\" alt=\"\" style=\"height: 30px; width: fit-content;border-radius: 50%;margin-right: 10px;\">\r\n <span>{{review.userName | titlecase}}</span>\r\n </div>\r\n <div class=\"d-flex my-2\" style=\"width: fit-content; height: 20px; gap: 10px;\"> \r\n <p-rating [(ngModel)]=\"review.rating\" [cancel]=\"false\" [readonly]=\"true\" />\r\n <div>{{review.title | titlecase}}</div>\r\n </div>\r\n <div class=\"date\">{{ review.createdTimeStamp | date }}</div>\r\n <div class=\"description\">{{review.review | titlecase}}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</section>", styles: [".mainContainer{display:flex;justify-content:space-around}.rating-bar{width:300px}h3{margin-bottom:20px}.count{width:20px}.left-panel{width:20%}.right-panel{width:70%}.description{width:80%}.customer-reviews{border-bottom:1px solid lightgray;padding-bottom:10px;padding-left:10px}@media screen and (max-width: 475px){.mainContainer{flex-direction:column!important}.left-panel{width:95%;margin:auto}.right-panel{width:95%;margin:auto}.right-panel .description{width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: RatingModule }, { kind: "component", type: i3.Rating, selector: "p-rating", inputs: ["disabled", "readonly", "stars", "cancel", "iconOnClass", "iconOnStyle", "iconOffClass", "iconOffStyle", "iconCancelClass", "iconCancelStyle", "autofocus"], outputs: ["onRate", "onCancel", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i5.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i5.DatePipe, name: "date" }, { kind: "pipe", type: i5.KeyValuePipe, name: "keyvalue" }, { kind: "ngmodule", type: ProgressBarModule }, { kind: "component", type: i6.ProgressBar, selector: "p-progressBar", inputs: ["value", "showValue", "styleClass", "style", "unit", "mode", "color"] }] }); }
50
50
  }
51
51
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: CustomerReviewComponent, decorators: [{
52
52
  type: Component,
@@ -55,7 +55,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
55
55
  FormsModule,
56
56
  CommonModule,
57
57
  ProgressBarModule
58
- ], template: "<section class=\"mainContainer\" style=\"gap: 20px;\">\r\n <div class=\"left-panel\">\r\n <h3 [style.color]=\"data?.styles?.background?.accentColor\">Customer Reviews</h3>\r\n <p-rating [(ngModel)]=\"totalRating\" [cancel]=\"false\" [readonly]=\"true\" />\r\n <div class=\"stars\">\r\n <ng-container *ngFor=\"let rating of overallRatingCount | keyvalue; let idx = index\">\r\n <div class=\"d-flex\" style=\"gap: 5px; margin: 10px 0px\">\r\n <div class=\"count\">{{rating.key}}</div>\r\n <div class=\"rating-bar\">\r\n <p-progressBar [value]=\"getPercentage(rating?.value)\" [ngStyle]=\"{'background-color': data?.styles?.background?.accentColor}\" [showValue]=\"false\" />\r\n </div>\r\n <div class=\"count\">{{getPercentage(rating?.value)}}%</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"right-panel\">\r\n <h3 [style.color]=\"data?.styles?.background?.accentColor\">Top Reviews</h3>\r\n <div class=\"customer-reviews\">\r\n <ng-container *ngFor=\"let review of customerReviews\">\r\n <div class=\"d-flex align-item-center\">\r\n <img loading=\"lazy\" alt=\"\" style=\"height: 30px; width: fit-content;border-radius: 50%;margin-right: 10px;\">\r\n <span>{{review.userName | titlecase}}</span>\r\n </div>\r\n <div class=\"d-flex my-2\" style=\"width: fit-content; height: 20px; gap: 10px;\"> \r\n <p-rating [(ngModel)]=\"review.rating\" [cancel]=\"false\" [readonly]=\"true\" />\r\n <div>{{review.title | titlecase}}</div>\r\n </div>\r\n <div class=\"date\">{{ review.createdTimeStamp | date }}</div>\r\n <div class=\"description\">{{review.review | titlecase}}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</section>", styles: [".mainContainer{display:flex;justify-content:space-around}.rating-bar{width:300px}h3{margin-bottom:20px}.count{width:20px}.left-panel{width:20%}.right-panel{width:70%}.description{width:80%}.customer-reviews{border-bottom:1px solid lightgray;padding-bottom:10px;padding-left:10px}@media screen and (max-width: 475px){.mainContainer{flex-direction:column!important}.left-panel{width:95%;margin:auto}.right-panel{width:95%;margin:auto}.right-panel .description{width:100%}}\n"] }]
58
+ ], template: "<section class=\"mainContainer\" style=\"gap: 20px;\" *ngIf=\"customerReviews.length\">\r\n <div class=\"left-panel\">\r\n <h3 [style.color]=\"data?.styles?.background?.accentColor\">Customer Reviews</h3>\r\n <p-rating [(ngModel)]=\"totalRating\" [cancel]=\"false\" [readonly]=\"true\" />\r\n <div class=\"stars\">\r\n <ng-container *ngFor=\"let rating of overallRatingCount | keyvalue; let idx = index\">\r\n <div class=\"d-flex\" style=\"gap: 5px; margin: 10px 0px\">\r\n <div class=\"count\">{{rating.key}}</div>\r\n <div class=\"rating-bar\">\r\n <p-progressBar [value]=\"getPercentage(rating?.value)\" [ngStyle]=\"{'background-color': data?.styles?.background?.accentColor}\" [showValue]=\"false\" />\r\n </div>\r\n <div class=\"count\">{{getPercentage(rating?.value)}}%</div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"right-panel\">\r\n <h3 [style.color]=\"data?.styles?.background?.accentColor\">Top Reviews</h3>\r\n <div class=\"customer-reviews\">\r\n <ng-container *ngFor=\"let review of customerReviews\">\r\n <div class=\"d-flex align-item-center\">\r\n <img loading=\"lazy\" alt=\"\" style=\"height: 30px; width: fit-content;border-radius: 50%;margin-right: 10px;\">\r\n <span>{{review.userName | titlecase}}</span>\r\n </div>\r\n <div class=\"d-flex my-2\" style=\"width: fit-content; height: 20px; gap: 10px;\"> \r\n <p-rating [(ngModel)]=\"review.rating\" [cancel]=\"false\" [readonly]=\"true\" />\r\n <div>{{review.title | titlecase}}</div>\r\n </div>\r\n <div class=\"date\">{{ review.createdTimeStamp | date }}</div>\r\n <div class=\"description\">{{review.review | titlecase}}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n</section>", styles: [".mainContainer{display:flex;justify-content:space-around}.rating-bar{width:300px}h3{margin-bottom:20px}.count{width:20px}.left-panel{width:20%}.right-panel{width:70%}.description{width:80%}.customer-reviews{border-bottom:1px solid lightgray;padding-bottom:10px;padding-left:10px}@media screen and (max-width: 475px){.mainContainer{flex-direction:column!important}.left-panel{width:95%;margin:auto}.right-panel{width:95%;margin:auto}.right-panel .description{width:100%}}\n"] }]
59
59
  }], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i2.RestService }], propDecorators: { data: [{
60
60
  type: Input
61
61
  }], index: [{
@@ -65,4 +65,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
65
65
  }], delete: [{
66
66
  type: Input
67
67
  }] } });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWNvbW1lcmNlL3NlY3Rpb25zL2N1c3RvbWVyLXJldmlldy9jdXN0b21lci1yZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvY3VzdG9tZXItcmV2aWV3L2N1c3RvbWVyLXJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7QUFtQnhELE1BQU0sT0FBTyx1QkFBdUI7SUFZbEMsWUFDbUIsY0FBOEIsRUFDOUIsV0FBd0I7UUFEeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBUHBDLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLG9CQUFlLEdBQWEsRUFBRSxDQUFDO1FBQy9CLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQWNwQyx1QkFBa0IsR0FBK0IsSUFBSSxDQUFDO0lBVG5ELENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFDLEVBQUU7WUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUdELGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFDakIsT0FBTztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFhLEVBQUMsRUFBRTtZQUN4RSxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDO1lBQ2xELElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxhQUFhLENBQUM7WUFDaEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUM7WUFDNUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFrQztRQUN4QyxJQUFJLENBQUMsTUFBTTtZQUNULE9BQU8sRUFBRSxDQUFDO1FBQ1osT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxhQUFhLENBQUMsS0FBa0M7UUFDOUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLENBQUM7UUFDN0IsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUN0RCxDQUFDOzhHQTVDVSx1QkFBdUI7a0dBQXZCLHVCQUF1QiwySkN2QnBDLG9oRUFpQ1UsaWhCRGxCTixZQUFZLHdUQUNaLFdBQVcsOFZBQ1gsWUFBWSwyWkFDWixpQkFBaUI7OzJGQUtSLHVCQUF1QjtrQkFabkMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGlCQUFpQjtxQkFDbEI7NkdBTVEsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSYXRpbmdNb2R1bGUgfSBmcm9tICdwcmltZW5nL3JhdGluZyc7XHJcbmltcG9ydCB7IFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wcm9ncmVzc2Jhcic7XHJcbmltcG9ydCB7IEN1c3RvbWVyUmV2aWV3TW9kZWwgfSBmcm9tICcuL2N1c3RvbWVyLXJldmlldy5tb2RlbCc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSZXZpZXcgfSBmcm9tICcuLi8uLi9zdHlsZXMvcmV2aWV3Lm1vZGFsJztcclxuaW1wb3J0IHsgUHJvZHVjdERlc2NNb2RhbCB9IGZyb20gJy4uL3Byb2R1Y3QtZGVzYy9wcm9kdWN0LWRlc2MubW9kYWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby1jdXN0b21lci1yZXZpZXcnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgUmF0aW5nTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBQcm9ncmVzc0Jhck1vZHVsZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbWVyLXJldmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2N1c3RvbWVyLXJldmlldy5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tZXJSZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBkYXRhPzogUHJvZHVjdERlc2NNb2RhbDtcclxuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcclxuICBASW5wdXQoKSBlZGl0PzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkZWxldGU/OiBib29sZWFuO1xyXG5cclxuICBwdWJsaWMgcHJvZHVjdElkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwdWJsaWMgY3VzdG9tZXJSZXZpZXdzOiBSZXZpZXdbXSA9IFtdO1xyXG4gIHB1YmxpYyB0b3RhbFJhdGluZzogbnVtYmVyID0gNDtcclxuICBwdWJsaWMgdG90YWxSYXRpbnNDb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChxUGFyYW0pPT4ge1xyXG4gICAgICB0aGlzLnByb2R1Y3RJZCA9IHFQYXJhbVtcImlkXCJdO1xyXG4gICAgICB0aGlzLmdldEFsbFJldmlld3MoKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBvdmVyYWxsUmF0aW5nQ291bnQ6IE1hcDxzdHJpbmcsIHN0cmluZz4gfCBudWxsID0gbnVsbDtcclxuICBnZXRBbGxSZXZpZXdzKCkge1xyXG4gICAgaWYgKCF0aGlzLnByb2R1Y3RJZClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgdGhpcy5yZXN0U2VydmljZS5nZXRBbGxSZXZpZXdzKHRoaXMucHJvZHVjdElkKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgICB0aGlzLmN1c3RvbWVyUmV2aWV3cyA9IHJlc3BvbnNlLmRhdGE/LnVzZXJSZXZpZXdzO1xyXG4gICAgICB0aGlzLnRvdGFsUmF0aW5nID0gcmVzcG9uc2UuZGF0YT8uYXZlcmFnZVJhdGluZztcclxuICAgICAgdGhpcy5vdmVyYWxsUmF0aW5nQ291bnQgPSByZXNwb25zZS5kYXRhPy5vdmVyYWxsUmF0aW5nQ291bnQ7XHJcbiAgICAgIHRoaXMudG90YWxSYXRpbnNDb3VudCA9IHRoaXMuY3VzdG9tZXJSZXZpZXdzPy5sZW5ndGg7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0S2V5cyhvYmplY3Q6IE1hcDxzdHJpbmcsIHN0cmluZz4gfCBudWxsKTogc3RyaW5nW10ge1xyXG4gICAgaWYgKCFvYmplY3QpXHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIHJldHVybiBPYmplY3Qua2V5cyhvYmplY3QpO1xyXG4gIH1cclxuICBnZXRQZXJjZW50YWdlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQpIHtcclxuICAgIHZhbHVlID0gTnVtYmVyKHZhbHVlID8/ICcxJyk7XHJcbiAgICByZXR1cm4gKHZhbHVlIC8gdGhpcy5jdXN0b21lclJldmlld3M/Lmxlbmd0aCkgKiAxMDA7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1haW5Db250YWluZXJcIiBzdHlsZT1cImdhcDogMjBweDtcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXBhbmVsXCI+XHJcbiAgICAgICAgPGgzIFtzdHlsZS5jb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCI+Q3VzdG9tZXIgUmV2aWV3czwvaDM+XHJcbiAgICAgICAgPHAtcmF0aW5nIFsobmdNb2RlbCldPVwidG90YWxSYXRpbmdcIiBbY2FuY2VsXT1cImZhbHNlXCIgW3JlYWRvbmx5XT1cInRydWVcIiAvPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGFyc1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByYXRpbmcgb2Ygb3ZlcmFsbFJhdGluZ0NvdW50IHwga2V5dmFsdWU7IGxldCBpZHggPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIHN0eWxlPVwiZ2FwOiA1cHg7IG1hcmdpbjogMTBweCAwcHhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291bnRcIj57e3JhdGluZy5rZXl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyYXRpbmctYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwLXByb2dyZXNzQmFyIFt2YWx1ZV09XCJnZXRQZXJjZW50YWdlKHJhdGluZz8udmFsdWUpXCIgIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IGRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3J9XCIgW3Nob3dWYWx1ZV09XCJmYWxzZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50XCI+e3tnZXRQZXJjZW50YWdlKHJhdGluZz8udmFsdWUpfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJyaWdodC1wYW5lbFwiPlxyXG4gICAgICAgIDxoMyBbc3R5bGUuY29sb3JdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPlRvcCBSZXZpZXdzPC9oMz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tZXItcmV2aWV3c1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByZXZpZXcgb2YgY3VzdG9tZXJSZXZpZXdzXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW0tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiICBhbHQ9XCJcIiBzdHlsZT1cImhlaWdodDogMzBweDsgd2lkdGg6IGZpdC1jb250ZW50O2JvcmRlci1yYWRpdXM6IDUwJTttYXJnaW4tcmlnaHQ6IDEwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tyZXZpZXcudXNlck5hbWUgfCB0aXRsZWNhc2V9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBteS0yXCIgc3R5bGU9XCJ3aWR0aDogZml0LWNvbnRlbnQ7IGhlaWdodDogMjBweDsgZ2FwOiAxMHB4O1wiPiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxwLXJhdGluZyBbKG5nTW9kZWwpXT1cInJldmlldy5yYXRpbmdcIiBbY2FuY2VsXT1cImZhbHNlXCIgW3JlYWRvbmx5XT1cInRydWVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3tyZXZpZXcudGl0bGUgfCB0aXRsZWNhc2V9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiPnt7IHJldmlldy5jcmVhdGVkVGltZVN0YW1wIHwgZGF0ZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+e3tyZXZpZXcucmV2aWV3IHwgdGl0bGVjYXNlfX08L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9zZWN0aW9uPiJdfQ==
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZXItcmV2aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWNvbW1lcmNlL3NlY3Rpb25zL2N1c3RvbWVyLXJldmlldy9jdXN0b21lci1yZXZpZXcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc2VjdGlvbnMvY3VzdG9tZXItcmV2aWV3L2N1c3RvbWVyLXJldmlldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7QUFtQnhELE1BQU0sT0FBTyx1QkFBdUI7SUFZbEMsWUFDbUIsY0FBOEIsRUFDOUIsV0FBd0I7UUFEeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQzlCLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBUHBDLGNBQVMsR0FBa0IsSUFBSSxDQUFDO1FBQ2hDLG9CQUFlLEdBQWEsRUFBRSxDQUFDO1FBQy9CLGdCQUFXLEdBQVcsQ0FBQyxDQUFDO1FBQ3hCLHFCQUFnQixHQUFXLENBQUMsQ0FBQztRQWNwQyx1QkFBa0IsR0FBK0IsSUFBSSxDQUFDO0lBVG5ELENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFDLEVBQUU7WUFDbEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUdELGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFDakIsT0FBTztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFhLEVBQUMsRUFBRTtZQUN4RSxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsV0FBVyxDQUFDO1lBQ2xELElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxhQUFhLENBQUM7WUFDaEQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUM7WUFDNUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFrQztRQUN4QyxJQUFJLENBQUMsTUFBTTtZQUNULE9BQU8sRUFBRSxDQUFDO1FBQ1osT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRCxhQUFhLENBQUMsS0FBa0M7UUFDOUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLENBQUM7UUFDN0IsT0FBTyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUN0RCxDQUFDOzhHQTVDVSx1QkFBdUI7a0dBQXZCLHVCQUF1QiwySkN2QnBDLHFqRUFpQ1UsaWhCRGxCTixZQUFZLHdUQUNaLFdBQVcsOFZBQ1gsWUFBWSwrZkFDWixpQkFBaUI7OzJGQUtSLHVCQUF1QjtrQkFabkMsU0FBUzsrQkFDRSx1QkFBdUIsY0FDckIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxZQUFZO3dCQUNaLGlCQUFpQjtxQkFDbEI7NkdBTVEsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBSYXRpbmdNb2R1bGUgfSBmcm9tICdwcmltZW5nL3JhdGluZyc7XHJcbmltcG9ydCB7IFByb2dyZXNzQmFyTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wcm9ncmVzc2Jhcic7XHJcbmltcG9ydCB7IEN1c3RvbWVyUmV2aWV3TW9kZWwgfSBmcm9tICcuL2N1c3RvbWVyLXJldmlldy5tb2RlbCc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBSZXZpZXcgfSBmcm9tICcuLi8uLi9zdHlsZXMvcmV2aWV3Lm1vZGFsJztcclxuaW1wb3J0IHsgUHJvZHVjdERlc2NNb2RhbCB9IGZyb20gJy4uL3Byb2R1Y3QtZGVzYy9wcm9kdWN0LWRlc2MubW9kYWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzaW1wby1jdXN0b21lci1yZXZpZXcnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgUmF0aW5nTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBQcm9ncmVzc0Jhck1vZHVsZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbWVyLXJldmlldy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2N1c3RvbWVyLXJldmlldy5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tZXJSZXZpZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBkYXRhPzogUHJvZHVjdERlc2NNb2RhbDtcclxuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcclxuICBASW5wdXQoKSBlZGl0PzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkZWxldGU/OiBib29sZWFuO1xyXG5cclxuICBwdWJsaWMgcHJvZHVjdElkOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBwdWJsaWMgY3VzdG9tZXJSZXZpZXdzOiBSZXZpZXdbXSA9IFtdO1xyXG4gIHB1YmxpYyB0b3RhbFJhdGluZzogbnVtYmVyID0gNDtcclxuICBwdWJsaWMgdG90YWxSYXRpbnNDb3VudDogbnVtYmVyID0gMDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChxUGFyYW0pPT4ge1xyXG4gICAgICB0aGlzLnByb2R1Y3RJZCA9IHFQYXJhbVtcImlkXCJdO1xyXG4gICAgICB0aGlzLmdldEFsbFJldmlld3MoKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBvdmVyYWxsUmF0aW5nQ291bnQ6IE1hcDxzdHJpbmcsIHN0cmluZz4gfCBudWxsID0gbnVsbDtcclxuICBnZXRBbGxSZXZpZXdzKCkge1xyXG4gICAgaWYgKCF0aGlzLnByb2R1Y3RJZClcclxuICAgICAgcmV0dXJuO1xyXG4gICAgdGhpcy5yZXN0U2VydmljZS5nZXRBbGxSZXZpZXdzKHRoaXMucHJvZHVjdElkKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgICB0aGlzLmN1c3RvbWVyUmV2aWV3cyA9IHJlc3BvbnNlLmRhdGE/LnVzZXJSZXZpZXdzO1xyXG4gICAgICB0aGlzLnRvdGFsUmF0aW5nID0gcmVzcG9uc2UuZGF0YT8uYXZlcmFnZVJhdGluZztcclxuICAgICAgdGhpcy5vdmVyYWxsUmF0aW5nQ291bnQgPSByZXNwb25zZS5kYXRhPy5vdmVyYWxsUmF0aW5nQ291bnQ7XHJcbiAgICAgIHRoaXMudG90YWxSYXRpbnNDb3VudCA9IHRoaXMuY3VzdG9tZXJSZXZpZXdzPy5sZW5ndGg7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0S2V5cyhvYmplY3Q6IE1hcDxzdHJpbmcsIHN0cmluZz4gfCBudWxsKTogc3RyaW5nW10ge1xyXG4gICAgaWYgKCFvYmplY3QpXHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIHJldHVybiBPYmplY3Qua2V5cyhvYmplY3QpO1xyXG4gIH1cclxuICBnZXRQZXJjZW50YWdlKHZhbHVlOiBzdHJpbmcgfCBudW1iZXIgfCB1bmRlZmluZWQpIHtcclxuICAgIHZhbHVlID0gTnVtYmVyKHZhbHVlID8/ICcxJyk7XHJcbiAgICByZXR1cm4gKHZhbHVlIC8gdGhpcy5jdXN0b21lclJldmlld3M/Lmxlbmd0aCkgKiAxMDA7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1haW5Db250YWluZXJcIiBzdHlsZT1cImdhcDogMjBweDtcIiAqbmdJZj1cImN1c3RvbWVyUmV2aWV3cy5sZW5ndGhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXBhbmVsXCI+XHJcbiAgICAgICAgPGgzIFtzdHlsZS5jb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCI+Q3VzdG9tZXIgUmV2aWV3czwvaDM+XHJcbiAgICAgICAgPHAtcmF0aW5nIFsobmdNb2RlbCldPVwidG90YWxSYXRpbmdcIiBbY2FuY2VsXT1cImZhbHNlXCIgW3JlYWRvbmx5XT1cInRydWVcIiAvPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGFyc1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByYXRpbmcgb2Ygb3ZlcmFsbFJhdGluZ0NvdW50IHwga2V5dmFsdWU7IGxldCBpZHggPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiIHN0eWxlPVwiZ2FwOiA1cHg7IG1hcmdpbjogMTBweCAwcHhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY291bnRcIj57e3JhdGluZy5rZXl9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyYXRpbmctYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwLXByb2dyZXNzQmFyIFt2YWx1ZV09XCJnZXRQZXJjZW50YWdlKHJhdGluZz8udmFsdWUpXCIgIFtuZ1N0eWxlXT1cInsnYmFja2dyb3VuZC1jb2xvcic6IGRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3J9XCIgW3Nob3dWYWx1ZV09XCJmYWxzZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvdW50XCI+e3tnZXRQZXJjZW50YWdlKHJhdGluZz8udmFsdWUpfX0lPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJyaWdodC1wYW5lbFwiPlxyXG4gICAgICAgIDxoMyBbc3R5bGUuY29sb3JdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPlRvcCBSZXZpZXdzPC9oMz5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3VzdG9tZXItcmV2aWV3c1wiPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCByZXZpZXcgb2YgY3VzdG9tZXJSZXZpZXdzXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW0tY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBsb2FkaW5nPVwibGF6eVwiICBhbHQ9XCJcIiBzdHlsZT1cImhlaWdodDogMzBweDsgd2lkdGg6IGZpdC1jb250ZW50O2JvcmRlci1yYWRpdXM6IDUwJTttYXJnaW4tcmlnaHQ6IDEwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3tyZXZpZXcudXNlck5hbWUgfCB0aXRsZWNhc2V9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBteS0yXCIgc3R5bGU9XCJ3aWR0aDogZml0LWNvbnRlbnQ7IGhlaWdodDogMjBweDsgZ2FwOiAxMHB4O1wiPiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxwLXJhdGluZyBbKG5nTW9kZWwpXT1cInJldmlldy5yYXRpbmdcIiBbY2FuY2VsXT1cImZhbHNlXCIgW3JlYWRvbmx5XT1cInRydWVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+e3tyZXZpZXcudGl0bGUgfCB0aXRsZWNhc2V9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZGF0ZVwiPnt7IHJldmlldy5jcmVhdGVkVGltZVN0YW1wIHwgZGF0ZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRlc2NyaXB0aW9uXCI+e3tyZXZpZXcucmV2aWV3IHwgdGl0bGVjYXNlfX08L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9zZWN0aW9uPiJdfQ==