@csmart/ngc-smart-victim 1.18.26 → 1.18.28

Sign up to get free protection for your applications and to get access to all the features.
@@ -26,7 +26,8 @@ import * as i14 from "@angular/cdk/text-field";
26
26
  import * as i15 from "@angular/material/datepicker";
27
27
  import * as i16 from "@angular/material/select";
28
28
  import * as i17 from "@angular/material/core";
29
- import * as i18 from "@angular/material/table";
29
+ import * as i18 from "@angular/material/tooltip";
30
+ import * as i19 from "@angular/material/table";
30
31
  export class CaseNoteComponent {
31
32
  constructor(formBuilder, _victimServicesComponent, commonDialogService, snackBar, route, router, smartAuthService, emailService) {
32
33
  this.formBuilder = formBuilder;
@@ -185,10 +186,10 @@ export class CaseNoteComponent {
185
186
  //email
186
187
  }
187
188
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CaseNoteComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.NgcSmartVictimService }, { token: i3.CommonDialogService }, { token: i4.MatSnackBar }, { token: i5.ActivatedRoute }, { token: i5.Router }, { token: i6.SmartAuthService }, { token: i7.EmailService }], target: i0.ɵɵFactoryTarget.Component }); }
188
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: CaseNoteComponent, selector: "ng-component", providers: [CommonDialogService], ngImport: i0, template: "\r\n <mat-card>\r\n <mat-card-header>\r\n\r\n </mat-card-header>\r\n <mat-card-content>\r\n\r\n <mat-toolbar color=\"primary\">\r\n <h4 class=\"card-header\" >Case Note</h4>\r\n </mat-toolbar>\r\n <br>\r\n <div class=\"row\" >\r\n <div [hidden]=\"hiddenAddNewFlag\">\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"onAddNew()\" [disabled]=\"addDisableFlag\">Add Case Note</button>\r\n\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"back()\">Back</button>\r\n </div>\r\n </div>\r\n\r\n <div [hidden]=\"hiddenDetailFlag\" >\r\n <mat-card>\r\n <div class='container'>\r\n <form [formGroup]=\"caseNoteForm\" #caseNoteDetailForm=\"ngForm\" >\r\n\r\n <div>\r\n <mat-label>Victim Name:</mat-label>\r\n {{victimName}}\r\n </div>\r\n\r\n\r\n <div>\r\n <mat-form-field>\r\n <mat-label>Date of Case Note: </mat-label>\r\n <input matInput formControlName=\"caseNoteDate\"\r\n (click)=\"caseNoteDate.open()\"\r\n [matDatepicker]=\"caseNoteDate\"\r\n placeholder=\"Choose a start date\"\r\n [(ngModel)]=\"editCaseNote.caseNoteDate\" required>\r\n <mat-datepicker-toggle matSuffix [for]=\"caseNoteDate\"></mat-datepicker-toggle>\r\n <mat-datepicker #caseNoteDate></mat-datepicker>\r\n\r\n <div class=\"help-block\" *ngIf=\"caseNoteForm.get('caseNoteDate').errors\r\n && (caseNoteForm.get('caseNoteDate').dirty || caseNoteForm.get('caseNoteDate').touched)\">\r\n <mat-error>case note date is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n <div class=\"help-block\"\r\n *ngIf=\"caseNoteForm.get('caseNoteDate').hasError('date')\r\n && (caseNoteForm.get('caseNoteDate').dirty || caseNoteForm.get('caseNoteDate').touched)\">\r\n <mat-error>future case note Date is <strong>not allowed</strong></mat-error>\r\n </div>\r\n\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n\r\n\r\n <div>\r\n <mat-form-field>\r\n <mat-label>Contact Type:</mat-label>\r\n <mat-select placeholder=\"contactType\" formControlName=\"contactType\" required [(ngModel)]=\"editCaseNote.contactTypeId\">\r\n <mat-option *ngFor=\" let contactType of contactTypes\" [value]=\"contactType.contactTypeId\" >{{contactType.name}}</mat-option>\r\n </mat-select>\r\n\r\n <div class=\"help-block\" *ngIf=\"caseNoteForm.get('contactType').errors\r\n && (caseNoteForm.get('contactType').dirty || caseNoteForm.get('contactType').touched)\">\r\n <mat-error>comment is <strong>required</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <mat-form-field class=\"mat-select-content\">\r\n <mat-label>Contact Purpose:</mat-label>\r\n <mat-select formControlName=\"contactPurpose\" required [(ngModel)]=\"editCaseNote.victimContactPurposeId\" class=\"mat-select-inner\">\r\n <mat-option *ngFor=\" let contactPurpose of contactPurposes\" [value]=\"contactPurpose.victimContactPurposeId\" >{{contactPurpose.name}}</mat-option>\r\n </mat-select>\r\n\r\n <div class=\"help-block\" *ngIf=\"caseNoteForm.get('contactPurpose').errors\r\n && (caseNoteForm.get('contactPurpose').dirty || caseNoteForm.get('contactPurpose').touched)\">\r\n <mat-error>comment is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n\r\n <mat-form-field style=\"width: 400px;\">\r\n <mat-label>Comment:</mat-label>\r\n <textarea\r\n class=\"textarea-content\"\r\n matInput\r\n placeholder=\"\"\r\n required formControlName=\"comment\"\r\n [(ngModel)]=\"editCaseNote.comment\"\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"8\"\r\n cdkAutosizeMaxRows=\"12\">\r\n </textarea>\r\n\r\n <div class=\"help-block\" *ngIf=\"caseNoteForm.get('comment').errors\r\n && (caseNoteForm.get('comment').dirty || caseNoteForm.get('comment').touched)\">\r\n <mat-error>comment is <strong>required</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <button mat-stroked-button color=\"primary\" (click)=\"saveCaseNote()\" [disabled]=\"!caseNoteDetailForm.form.valid\" >Save</button>\r\n\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"hiddenDetailFlag = true;addDisableFlag = false; this.hiddenAddNewFlag = false;\">Cancel</button>\r\n </div>\r\n\r\n </form>\r\n </div>\r\n </mat-card>\r\n\r\n </div>\r\n <br>\r\n <mat-table #table [dataSource]=\"caseNoteDataSource\" class=\"example-table\">\r\n <ng-container matColumnDef=\"caseNoteDate\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Case Note Date</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.caseNoteDate | date}} </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"contactType\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Contact Type</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.contactType}} </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"contactPurpose\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Contact Purpose</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.contactPurpose}} </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"comment\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Comment</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.comment}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"victimCaseNoteId\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\"></mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\">\r\n\r\n <button\r\n class=\"sac-cso-read sac-vsp-read\"\r\n mat-icon-button\r\n color=\"primary\"\r\n matTooltip=\"Edit Case Note\"\r\n (click)=\"onEditCaseNote(row.victimCaseNoteId)\">\r\n <i class=\"material-icons\">mode_edit</i>\r\n </button>\r\n\r\n &nbsp;&nbsp;\r\n\r\n\r\n\r\n <button\r\n class=\"sac-vsp-read\"\r\n matTooltip=\"Delete Case Note\"\r\n mat-icon-button\r\n color=\"primary\"\r\n (click)=\"onDeleteCaseNote(row.victimCaseNoteId)\">\r\n <i class=\"material-icons\">delete</i>\r\n </button>\r\n\r\n\r\n\r\n\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"['caseNoteDate', 'contactType', 'contactPurpose', 'comment', 'victimCaseNoteId']\" class=\"example-header-row\"></mat-header-row>\r\n <mat-row *matRowDef=\"let row; columns:['caseNoteDate', 'contactType', 'contactPurpose', 'comment', 'victimCaseNoteId'];\" class=\"example-row\"></mat-row>\r\n </mat-table>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n</mat-card-content>\r\n</mat-card>\r\n", styles: [".container{width:800px;margin:16px;display:grid;grid-template-columns:repeat(1,1fr);grid-gap:10px;grid-auto-rows:minmax(50px,auto);justify-items:stretch}.mat-select-content{width:300px}.mat-select-inner{width:290px}.textarea-content{width:500px}\n"], dependencies: [{ kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i9.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i10.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i10.MatCardHeader, selector: "mat-card-header" }, { kind: "component", type: i11.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i12.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i13.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i13.MatLabel, selector: "mat-label" }, { kind: "directive", type: i13.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i13.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i14.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "component", type: i15.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i15.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i15.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i16.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i17.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i18.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i18.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i18.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i18.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i18.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i18.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i18.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i18.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i18.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i18.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "pipe", type: i8.DatePipe, name: "date" }] }); }
189
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: CaseNoteComponent, selector: "ng-component", providers: [CommonDialogService], ngImport: i0, template: "\r\n <mat-card>\r\n <mat-card-header>\r\n\r\n </mat-card-header>\r\n <mat-card-content>\r\n\r\n <mat-toolbar color=\"primary\">\r\n <h4 class=\"card-header\" >Case Note</h4>\r\n </mat-toolbar>\r\n <br>\r\n <div class=\"row\" >\r\n <div [hidden]=\"hiddenAddNewFlag\">\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"onAddNew()\" [disabled]=\"addDisableFlag\">Add Case Note</button>\r\n\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"back()\">Back</button>\r\n </div>\r\n </div>\r\n\r\n <div [hidden]=\"hiddenDetailFlag\" >\r\n <mat-card>\r\n <div class='container'>\r\n <form [formGroup]=\"caseNoteForm\" #caseNoteDetailForm=\"ngForm\" >\r\n\r\n <div>\r\n <mat-label>Victim Name:</mat-label>\r\n {{victimName}}\r\n </div>\r\n\r\n\r\n <div>\r\n <mat-form-field>\r\n <mat-label>Date of Case Note: </mat-label>\r\n <input matInput formControlName=\"caseNoteDate\"\r\n (click)=\"caseNoteDate.open()\"\r\n [matDatepicker]=\"caseNoteDate\"\r\n placeholder=\"Choose a start date\"\r\n [(ngModel)]=\"editCaseNote.caseNoteDate\" required>\r\n <mat-datepicker-toggle matSuffix [for]=\"caseNoteDate\"></mat-datepicker-toggle>\r\n <mat-datepicker #caseNoteDate></mat-datepicker>\r\n\r\n <div class=\"help-block\" *ngIf=\"caseNoteForm.get('caseNoteDate').errors\r\n && (caseNoteForm.get('caseNoteDate').dirty || caseNoteForm.get('caseNoteDate').touched)\">\r\n <mat-error>case note date is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n <div class=\"help-block\"\r\n *ngIf=\"caseNoteForm.get('caseNoteDate').hasError('date')\r\n && (caseNoteForm.get('caseNoteDate').dirty || caseNoteForm.get('caseNoteDate').touched)\">\r\n <mat-error>future case note Date is <strong>not allowed</strong></mat-error>\r\n </div>\r\n\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n\r\n\r\n <div>\r\n <mat-form-field>\r\n <mat-label>Contact Type:</mat-label>\r\n <mat-select placeholder=\"contactType\" formControlName=\"contactType\" required [(ngModel)]=\"editCaseNote.contactTypeId\">\r\n <mat-option *ngFor=\" let contactType of contactTypes\" [value]=\"contactType.contactTypeId\" >{{contactType.name}}</mat-option>\r\n </mat-select>\r\n\r\n <div class=\"help-block\" *ngIf=\"caseNoteForm.get('contactType').errors\r\n && (caseNoteForm.get('contactType').dirty || caseNoteForm.get('contactType').touched)\">\r\n <mat-error>comment is <strong>required</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <mat-form-field class=\"mat-select-content\">\r\n <mat-label>Contact Purpose:</mat-label>\r\n <mat-select formControlName=\"contactPurpose\" required [(ngModel)]=\"editCaseNote.victimContactPurposeId\" class=\"mat-select-inner\">\r\n <mat-option *ngFor=\" let contactPurpose of contactPurposes\" [value]=\"contactPurpose.victimContactPurposeId\" >{{contactPurpose.name}}</mat-option>\r\n </mat-select>\r\n\r\n <div class=\"help-block\" *ngIf=\"caseNoteForm.get('contactPurpose').errors\r\n && (caseNoteForm.get('contactPurpose').dirty || caseNoteForm.get('contactPurpose').touched)\">\r\n <mat-error>comment is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n\r\n <mat-form-field style=\"width: 400px;\">\r\n <mat-label>Comment:</mat-label>\r\n <textarea\r\n class=\"textarea-content\"\r\n matInput\r\n placeholder=\"\"\r\n required formControlName=\"comment\"\r\n [(ngModel)]=\"editCaseNote.comment\"\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"8\"\r\n cdkAutosizeMaxRows=\"12\">\r\n </textarea>\r\n\r\n <div class=\"help-block\" *ngIf=\"caseNoteForm.get('comment').errors\r\n && (caseNoteForm.get('comment').dirty || caseNoteForm.get('comment').touched)\">\r\n <mat-error>comment is <strong>required</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <button mat-stroked-button color=\"primary\" (click)=\"saveCaseNote()\" [disabled]=\"!caseNoteDetailForm.form.valid\" >Save</button>\r\n\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"hiddenDetailFlag = true;addDisableFlag = false; this.hiddenAddNewFlag = false;\">Cancel</button>\r\n </div>\r\n\r\n </form>\r\n </div>\r\n </mat-card>\r\n\r\n </div>\r\n <br>\r\n <mat-table #table [dataSource]=\"caseNoteDataSource\" class=\"example-table\">\r\n <ng-container matColumnDef=\"caseNoteDate\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Case Note Date</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.caseNoteDate | date}} </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"contactType\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Contact Type</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.contactType}} </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"contactPurpose\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Contact Purpose</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.contactPurpose}} </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"comment\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Comment</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.comment}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"victimCaseNoteId\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\"></mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\">\r\n\r\n <button\r\n class=\"sac-cso-read sac-vsp-read\"\r\n mat-icon-button\r\n color=\"primary\"\r\n matTooltip=\"Edit Case Note\"\r\n (click)=\"onEditCaseNote(row.victimCaseNoteId)\">\r\n <i class=\"material-icons\">mode_edit</i>\r\n </button>\r\n\r\n &nbsp;&nbsp;\r\n\r\n\r\n\r\n <button\r\n class=\"sac-vsp-read\"\r\n matTooltip=\"Delete Case Note\"\r\n mat-icon-button\r\n color=\"primary\"\r\n (click)=\"onDeleteCaseNote(row.victimCaseNoteId)\">\r\n <i class=\"material-icons\">delete</i>\r\n </button>\r\n\r\n\r\n\r\n\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"['caseNoteDate', 'contactType', 'contactPurpose', 'comment', 'victimCaseNoteId']\" class=\"example-header-row\"></mat-header-row>\r\n <mat-row *matRowDef=\"let row; columns:['caseNoteDate', 'contactType', 'contactPurpose', 'comment', 'victimCaseNoteId'];\" class=\"example-row\"></mat-row>\r\n </mat-table>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n</mat-card-content>\r\n</mat-card>\r\n", styles: [".container{width:800px;margin:16px;display:grid;grid-template-columns:repeat(1,1fr);grid-gap:10px;grid-auto-rows:minmax(50px,auto);justify-items:stretch}.mat-select-content{width:300px}.mat-select-inner{width:290px}.textarea-content{width:500px}\n"], dependencies: [{ kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i9.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i10.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i10.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i10.MatCardHeader, selector: "mat-card-header" }, { kind: "component", type: i11.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i12.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i13.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i13.MatLabel, selector: "mat-label" }, { kind: "directive", type: i13.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i13.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i14.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "component", type: i15.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i15.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i15.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i16.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i17.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i18.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i19.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i19.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i19.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i19.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i19.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i19.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i19.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i19.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i19.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i19.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "pipe", type: i8.DatePipe, name: "date" }] }); }
189
190
  }
190
191
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: CaseNoteComponent, decorators: [{
191
192
  type: Component,
192
193
  args: [{ providers: [CommonDialogService], template: "\r\n <mat-card>\r\n <mat-card-header>\r\n\r\n </mat-card-header>\r\n <mat-card-content>\r\n\r\n <mat-toolbar color=\"primary\">\r\n <h4 class=\"card-header\" >Case Note</h4>\r\n </mat-toolbar>\r\n <br>\r\n <div class=\"row\" >\r\n <div [hidden]=\"hiddenAddNewFlag\">\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"onAddNew()\" [disabled]=\"addDisableFlag\">Add Case Note</button>\r\n\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"back()\">Back</button>\r\n </div>\r\n </div>\r\n\r\n <div [hidden]=\"hiddenDetailFlag\" >\r\n <mat-card>\r\n <div class='container'>\r\n <form [formGroup]=\"caseNoteForm\" #caseNoteDetailForm=\"ngForm\" >\r\n\r\n <div>\r\n <mat-label>Victim Name:</mat-label>\r\n {{victimName}}\r\n </div>\r\n\r\n\r\n <div>\r\n <mat-form-field>\r\n <mat-label>Date of Case Note: </mat-label>\r\n <input matInput formControlName=\"caseNoteDate\"\r\n (click)=\"caseNoteDate.open()\"\r\n [matDatepicker]=\"caseNoteDate\"\r\n placeholder=\"Choose a start date\"\r\n [(ngModel)]=\"editCaseNote.caseNoteDate\" required>\r\n <mat-datepicker-toggle matSuffix [for]=\"caseNoteDate\"></mat-datepicker-toggle>\r\n <mat-datepicker #caseNoteDate></mat-datepicker>\r\n\r\n <div class=\"help-block\" *ngIf=\"caseNoteForm.get('caseNoteDate').errors\r\n && (caseNoteForm.get('caseNoteDate').dirty || caseNoteForm.get('caseNoteDate').touched)\">\r\n <mat-error>case note date is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n <div class=\"help-block\"\r\n *ngIf=\"caseNoteForm.get('caseNoteDate').hasError('date')\r\n && (caseNoteForm.get('caseNoteDate').dirty || caseNoteForm.get('caseNoteDate').touched)\">\r\n <mat-error>future case note Date is <strong>not allowed</strong></mat-error>\r\n </div>\r\n\r\n </mat-form-field>\r\n\r\n </div>\r\n\r\n\r\n\r\n <div>\r\n <mat-form-field>\r\n <mat-label>Contact Type:</mat-label>\r\n <mat-select placeholder=\"contactType\" formControlName=\"contactType\" required [(ngModel)]=\"editCaseNote.contactTypeId\">\r\n <mat-option *ngFor=\" let contactType of contactTypes\" [value]=\"contactType.contactTypeId\" >{{contactType.name}}</mat-option>\r\n </mat-select>\r\n\r\n <div class=\"help-block\" *ngIf=\"caseNoteForm.get('contactType').errors\r\n && (caseNoteForm.get('contactType').dirty || caseNoteForm.get('contactType').touched)\">\r\n <mat-error>comment is <strong>required</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <mat-form-field class=\"mat-select-content\">\r\n <mat-label>Contact Purpose:</mat-label>\r\n <mat-select formControlName=\"contactPurpose\" required [(ngModel)]=\"editCaseNote.victimContactPurposeId\" class=\"mat-select-inner\">\r\n <mat-option *ngFor=\" let contactPurpose of contactPurposes\" [value]=\"contactPurpose.victimContactPurposeId\" >{{contactPurpose.name}}</mat-option>\r\n </mat-select>\r\n\r\n <div class=\"help-block\" *ngIf=\"caseNoteForm.get('contactPurpose').errors\r\n && (caseNoteForm.get('contactPurpose').dirty || caseNoteForm.get('contactPurpose').touched)\">\r\n <mat-error>comment is <strong>required</strong></mat-error>\r\n </div>\r\n\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n\r\n <mat-form-field style=\"width: 400px;\">\r\n <mat-label>Comment:</mat-label>\r\n <textarea\r\n class=\"textarea-content\"\r\n matInput\r\n placeholder=\"\"\r\n required formControlName=\"comment\"\r\n [(ngModel)]=\"editCaseNote.comment\"\r\n cdkTextareaAutosize\r\n #autosize=\"cdkTextareaAutosize\"\r\n cdkAutosizeMinRows=\"8\"\r\n cdkAutosizeMaxRows=\"12\">\r\n </textarea>\r\n\r\n <div class=\"help-block\" *ngIf=\"caseNoteForm.get('comment').errors\r\n && (caseNoteForm.get('comment').dirty || caseNoteForm.get('comment').touched)\">\r\n <mat-error>comment is <strong>required</strong></mat-error>\r\n </div>\r\n </mat-form-field>\r\n </div>\r\n\r\n <div>\r\n <button mat-stroked-button color=\"primary\" (click)=\"saveCaseNote()\" [disabled]=\"!caseNoteDetailForm.form.valid\" >Save</button>\r\n\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"hiddenDetailFlag = true;addDisableFlag = false; this.hiddenAddNewFlag = false;\">Cancel</button>\r\n </div>\r\n\r\n </form>\r\n </div>\r\n </mat-card>\r\n\r\n </div>\r\n <br>\r\n <mat-table #table [dataSource]=\"caseNoteDataSource\" class=\"example-table\">\r\n <ng-container matColumnDef=\"caseNoteDate\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Case Note Date</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.caseNoteDate | date}} </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"contactType\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Contact Type</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.contactType}} </mat-cell>\r\n </ng-container>\r\n\r\n\r\n <ng-container matColumnDef=\"contactPurpose\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Contact Purpose</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.contactPurpose}} </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"comment\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Comment</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.comment}} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"victimCaseNoteId\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\"></mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\">\r\n\r\n <button\r\n class=\"sac-cso-read sac-vsp-read\"\r\n mat-icon-button\r\n color=\"primary\"\r\n matTooltip=\"Edit Case Note\"\r\n (click)=\"onEditCaseNote(row.victimCaseNoteId)\">\r\n <i class=\"material-icons\">mode_edit</i>\r\n </button>\r\n\r\n &nbsp;&nbsp;\r\n\r\n\r\n\r\n <button\r\n class=\"sac-vsp-read\"\r\n matTooltip=\"Delete Case Note\"\r\n mat-icon-button\r\n color=\"primary\"\r\n (click)=\"onDeleteCaseNote(row.victimCaseNoteId)\">\r\n <i class=\"material-icons\">delete</i>\r\n </button>\r\n\r\n\r\n\r\n\r\n </mat-cell>\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"['caseNoteDate', 'contactType', 'contactPurpose', 'comment', 'victimCaseNoteId']\" class=\"example-header-row\"></mat-header-row>\r\n <mat-row *matRowDef=\"let row; columns:['caseNoteDate', 'contactType', 'contactPurpose', 'comment', 'victimCaseNoteId'];\" class=\"example-row\"></mat-row>\r\n </mat-table>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n</mat-card-content>\r\n</mat-card>\r\n", styles: [".container{width:800px;margin:16px;display:grid;grid-template-columns:repeat(1,1fr);grid-gap:10px;grid-auto-rows:minmax(50px,auto);justify-items:stretch}.mat-select-content{width:300px}.mat-select-inner{width:290px}.textarea-content{width:500px}\n"] }]
193
194
  }], ctorParameters: () => [{ type: i1.UntypedFormBuilder }, { type: i2.NgcSmartVictimService }, { type: i3.CommonDialogService }, { type: i4.MatSnackBar }, { type: i5.ActivatedRoute }, { type: i5.Router }, { type: i6.SmartAuthService }, { type: i7.EmailService }] });
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZU5vdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdjLXNtYXJ0LXZpY3RpbS9zcmMvbGliL2Nhc2VOb3RlL2Nhc2VOb3RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nYy1zbWFydC12aWN0aW0vc3JjL2xpYi9jYXNlTm90ZS9jYXNlTm90ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF1RSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLGtCQUFrQixFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxtQkFBbUIsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVdqRCxNQUFNLE9BQU8saUJBQWlCO0lBdUI1QixZQUNVLFdBQStCLEVBQy9CLHdCQUErQyxFQUMvQyxtQkFBd0MsRUFDekMsUUFBcUIsRUFDcEIsS0FBcUIsRUFDckIsTUFBYyxFQUNkLGdCQUFrQyxFQUNsQyxZQUEwQjtRQVAxQixnQkFBVyxHQUFYLFdBQVcs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LEVBQUU7b0JBQzlDLFFBQVEsRUFBRSxJQUFJO2lCQUNqQixDQUFDLENBQUM7Z0JBQ0gsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztnQkFDN0IsSUFBSSxDQUFDLGdCQUFnQixHQUFJLEtBQUssQ0FBQztnQkFDL0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7Z0JBQzVCLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FDbEUsWUFBWSxDQUFDLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7b0JBQ2pDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztnQkFDbkQsQ0FBQyxDQUNGLENBQUM7WUFDQSxDQUFDLENBQ0osQ0FBQztRQUNBLENBQUM7UUFFTCxPQUFPO0lBRUwsQ0FBQztpSUFoUFUsaUJBQWlCO3FIQUFqQixpQkFBaUIsdUNBSGpCLENBQUMsbUJBQW1CLENBQUMsMEJDbkJsQywraWFBNExBOzsyRkR0S2EsaUJBQWlCO2tCQVA3QixTQUFTO2dDQUlHLENBQUMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCxJbmplY3QsT25DaGFuZ2VzLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsQWZ0ZXJWaWV3SW5pdCAgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdjU21hcnRWaWN0aW1TZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtdmljdGltLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAsIFVudHlwZWRGb3JtQnVpbGRlcixWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENvbW1vbkRpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4vY29tbW9uLWRpYWxvZy9jb21tb24tZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcbmltcG9ydCB7IFNlbGVjdGVkT2ZmZW5kZXIsIExvZ2luU3RhZmYgfSBmcm9tICdAY3NtYXJ0L25nYy1zbWFydC1jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENhc2VOb3RlfSBmcm9tICcuLi9zbWFydC12aWN0aW0ubW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydEF1dGhTZXJ2aWNlIH0gZnJvbSAnQGNzbWFydC9uZ2Mtc21hcnQtY29yZSc7XHJcbmltcG9ydCB7IGRhdGVWYWxpZGF0b3IsIHBhc3NEYXRlVmFsaWRhdG9yIH0gZnJvbSAnLi4vc2hhcmVkL3ZhbGlkYXRvcnMnO1xyXG5pbXBvcnQgeyBNYXRUYWJsZURhdGFTb3VyY2UgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90YWJsZSc7XHJcbmltcG9ydCB7IEVtYWlsU2VydmljZSB9IGZyb20gJy4uL2VtYWlsLnNlcnZpY2VzJztcclxuXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiBcclxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZU5vdGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2Nhc2VOb3RlLmNvbXBvbmVudC5jc3MnXSxcclxuICBwcm92aWRlcnM6IFtDb21tb25EaWFsb2dTZXJ2aWNlXVxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIENhc2VOb3RlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LEFmdGVyVmlld0luaXQgIHtcclxuXHJcbiAvLyBASW5wdXQoKSBpc0ludGFrZTogYm9vbGVhbjtcclxuICBvZmZlbmRlcklkOiBudW1iZXI7XHJcbiAgbG9naW5TdGFmZjogTG9naW5TdGFmZjtcclxuICBcclxuICBoaWRkZW5EZXRhaWxGbGFnOmJvb2xlYW47XHJcbiAgY2FzZU5vdGVMaXN0OiBDYXNlTm90ZVtdO1xyXG4gIGNhc2VOb3RlOiBDYXNlTm90ZTtcclxuICBlZGl0Q2FzZU5vdGU6IENhc2VOb3RlID0gPENhc2VOb3RlPnt9O1xyXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG4gIGNvbnRhY3RUeXBlczogYW55W107XHJcbiAgY29udGFjdFB1cnBvc2VzOiBhbnlbXTtcclxuICByZXN1bHQ6IGFueTtcclxuICB2aWN0aW1OYW1lOiBzdHJpbmc7XHJcbiAgc3RhZmZJZDogbnVtYmVyO1xyXG4gIHZpY3RpbUlkOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBzdWI6IGFueTtcclxuICBjYXNlTm90ZURhdGFTb3VyY2U9IG5ldyAgTWF0VGFibGVEYXRhU291cmNlKCk7XHJcbiAgYWRkRGlzYWJsZUZsYWc6IGJvb2xlYW47XHJcbiAgaGlkZGVuQWRkTmV3RmxhZzogYm9vbGVhbjtcclxuICBjYXNlTm90ZUZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLCBcclxuICAgIHByaXZhdGUgX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50OiBOZ2NTbWFydFZpY3RpbVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvbW1vbkRpYWxvZ1NlcnZpY2U6IENvbW1vbkRpYWxvZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBzbWFydEF1dGhTZXJ2aWNlOiBTbWFydEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBlbWFpbFNlcnZpY2U6IEVtYWlsU2VydmljZVxyXG4gICAgIFxyXG4gICkge1xyXG4gICAgICB0aGlzLmluaXRGb3JtKCk7XHJcbiAgICAgfVxyXG4gICBwcml2YXRlIGluaXRGb3JtKCkge1xyXG4gICB0aGlzLmNhc2VOb3RlRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgY2FzZU5vdGVEYXRlOiAgbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtcclxuICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxkYXRlVmFsaWRhdG9yKCldKSksXHJcbiAgICBjb250YWN0VHlwZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyxWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIGNvbnRhY3RQdXJwb3NlOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnLFZhbGlkYXRvcnMucmVxdWlyZWQpLFxyXG4gICAgY29tbWVudDogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyxWYWxpZGF0b3JzLnJlcXVpcmVkKVxyXG4gIH0pO1xyXG5cclxuICAgdGhpcy5jYXNlTm90ZUZvcm0ubWFya0FzUHJpc3RpbmUoKTtcclxuICAgdGhpcy5jYXNlTm90ZUZvcm0ubWFya0FzVW50b3VjaGVkKCk7XHJcblxyXG4gICB9XHJcbiAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc21hcnRBdXRoU2VydmljZS5zZXRQZXJtaXNzaW9uKCdWaWN0aW0nLCB0aGlzLnJvdXRlLnNuYXBzaG90KTtcclxuICB9XHJcbiBcclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHZhciBkYXRhID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhO1xyXG4gICAgdGhpcy5sb2dpblN0YWZmID0gZGF0YS5sb2dpblN0YWZmO1xyXG4gICAgdGhpcy5zdGFmZklkID0gIHRoaXMubG9naW5TdGFmZi5zdGFmZklkO1xyXG5cclxuXHJcbiAgICB0aGlzLnN1YiA9IHRoaXMucm91dGUucGFyYW1zLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICB0aGlzLnZpY3RpbUlkID0gcGFyYW1zWyd2aWN0aW1JZCddO1xyXG4gICAgICB0aGlzLm9mZmVuZGVySWQgPSBwYXJhbXNbJ29mZmVuZGVySWQnXTtcclxuIFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5hZGREaXNhYmxlRmxhZz0gZmFsc2U7XHJcbiAgICB0aGlzLmhpZGRlbkRldGFpbEZsYWcgPSB0cnVlO1xyXG4gICAgdGhpcy5oaWRkZW5BZGROZXdGbGFnID0gZmFsc2U7XHJcblxyXG5cclxuICAgIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmdldFZpY3RpbSh0aGlzLnZpY3RpbUlkKS5zdWJzY3JpYmUoXHJcbiAgICAgIChpdGVtczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy52aWN0aW1OYW1lID0gaXRlbXMuZmlyc3ROYW1lICsgJywgJyArIGl0ZW1zLmxhc3ROYW1lO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmdldENvbnRhY3RUeXBlcygpLnN1YnNjcmliZShcclxuICAgICAgKGl0ZW1zOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmNvbnRhY3RUeXBlcyA9IGl0ZW1zO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmdldFZpY3RpbUNvbnRhY3RQdXJwb3NlcygpLnN1YnNjcmliZShcclxuICAgICAgKGl0ZW1zOiBhbnkpID0+IHtcclxuICAgICAgICB0aGlzLmNvbnRhY3RQdXJwb3NlcyA9IGl0ZW1zO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIFxyXG4gICAgdGhpcy5fdmljdGltU2VydmljZXNDb21wb25lbnQuZ2V0Q2FzZXROb3Rlcyh0aGlzLnZpY3RpbUlkKS5zdWJzY3JpYmUoXHJcbiAgICAgIGNhc2VOb3RlTGlzdCA9PiB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ2Nhc2VOb3RlTGlzdCcpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGNhc2VOb3RlTGlzdCk7XHJcbiAgICAgICAgdGhpcy5jYXNlTm90ZUxpc3QgPSBjYXNlTm90ZUxpc3Q7IFxyXG4gICAgICAgIHRoaXMuY2FzZU5vdGVEYXRhU291cmNlLmRhdGEgPSB0aGlzLmNhc2VOb3RlTGlzdDtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcblxyXG4gICAgXHJcblxyXG4gICAgLy8gdGhpcy5fdmljdGltU2VydmljZXNDb21wb25lbnQuZ2V0Q2FzZXROb3Rlcyh0aGlzLnZpY3RpbUlkKS5zdWJzY3JpYmUoXHJcbiAgICAvLyAgIChpdG1zOiBhbnkpID0+IHtcclxuICAgIC8vICAgY29uc3QgRUxFTUVOVF9EQVRBOiBFbGVtZW50W10gPSBpdG1zO1xyXG4gICAgLy8gICB0aGlzLmNhc2VOb3RlRGF0YVNvdXJjZS5kYXRhID0gIEVMRU1FTlRfREFUQTtcclxuICAgIC8vICAgfSlcclxuICB9XHJcbiAgb25FZGl0Q2FzZU5vdGUodmljdGltQ2FzZU5vdGVJZDogbnVtYmVyKXtcclxuICBcclxuICAgIHRoaXMuaGlkZGVuRGV0YWlsRmxhZyA9ZmFsc2U7XHJcbiAgICB0aGlzLmhpZGRlbkFkZE5ld0ZsYWcgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuYWRkRGlzYWJsZUZsYWcgPSB0cnVlO1xyXG4gICAgdGhpcy5lZGl0Q2FzZU5vdGUgPSB0aGlzLmNhc2VOb3RlTGlzdC5maW5kKHggPT4geC52aWN0aW1DYXNlTm90ZUlkID09PSB2aWN0aW1DYXNlTm90ZUlkKTtcclxuXHJcbiAgfVxyXG4gXHJcbiAgb25EZWxldGVDYXNlTm90ZSh2aWN0aW1DYXNlTm90ZUlkOiBudW1iZXIpe1xyXG4gICAgIHRoaXMuY29tbW9uRGlhbG9nU2VydmljZVxyXG4gICAgLmNvbmZpcm0oJycsICdEbyB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBjYXNlIG5vdGU/JywgJ1llcycsICdObycpXHJcbiAgICAuc3Vic2NyaWJlKHJlcyA9PiB7dGhpcy5yZXN1bHQgPSAgcmVzO1xyXG4gICAgICAgIGlmICh0aGlzLnJlc3VsdCkge1xyXG4gICAgICAgICAgICB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5kZWxldGVDYXNlTm90ZSh2aWN0aW1DYXNlTm90ZUlkLCB0aGlzLnN0YWZmSWQpXHJcbiAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ2RlbGV0ZSBTdWNjZXNzZnVsbHkgIScsICcnLCB7IGR1cmF0aW9uOiAzMDAwLH0pO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5fdmljdGltU2VydmljZXNDb21wb25lbnQuZ2V0Q2FzZXROb3Rlcyh0aGlzLnZpY3RpbUlkKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgICAgICAgY2FzZU5vdGVMaXN0ID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuY2FzZU5vdGVMaXN0ID0gY2FzZU5vdGVMaXN0OyBcclxuICAgICAgICAgICAgICAgIHRoaXMuY2FzZU5vdGVEYXRhU291cmNlLmRhdGEgPSB0aGlzLmNhc2VOb3RlTGlzdDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICB9KTtcclxuICB9XHJcbiAgb25BZGROZXcoKXtcclxuXHJcbiAgICB0aGlzLmhpZGRlbkRldGFpbEZsYWcgPSBmYWxzZTtcclxuICAgIHRoaXMuZWRpdENhc2VOb3RlLnZpY3RpbUNhc2VOb3RlSWQgPSAwO1xyXG5cclxuICAgIGNvbnN0IGNhc2VOb3RlRGF0ZUNvbnRyb2wgPSB0aGlzLmNhc2VOb3RlRm9ybS5nZXQoJ2Nhc2VOb3RlRGF0ZScpO1xyXG4gICAgY2FzZU5vdGVEYXRlQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcclxuICAgIGNhc2VOb3RlRGF0ZUNvbnRyb2wuc2V0RXJyb3JzKG51bGwpO1xyXG4gICAgY2FzZU5vdGVEYXRlQ29udHJvbC5tYXJrQXNQcmlzdGluZSgpO1xyXG4gICAgY2FzZU5vdGVEYXRlQ29udHJvbC5tYXJrQXNQcmlzdGluZSgpO1xyXG5cclxuXHJcbiAgICBjb25zdCBjb250YWN0VHlwZUNvbnRyb2wgPSB0aGlzLmNhc2VOb3RlRm9ybS5nZXQoJ2NvbnRhY3RUeXBlJyk7XHJcbiAgICBjb250YWN0VHlwZUNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgICBjb250YWN0VHlwZUNvbnRyb2wuc2V0RXJyb3JzKG51bGwpO1xyXG4gICAgY29udGFjdFR5cGVDb250cm9sLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgICBjb250YWN0VHlwZUNvbnRyb2wubWFya0FzVW50b3VjaGVkKCk7XHJcblxyXG5cclxuICAgIGNvbnN0IGNvbnRhY3RQdXJwb3NlQ29udHJvbCA9IHRoaXMuY2FzZU5vdGVGb3JtLmdldCgnY29udGFjdFB1cnBvc2UnKTtcclxuICAgIGNvbnRhY3RQdXJwb3NlQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcclxuICAgIGNvbnRhY3RQdXJwb3NlQ29udHJvbC5zZXRFcnJvcnMobnVsbCk7XHJcbiAgICBjb250YWN0UHVycG9zZUNvbnRyb2wubWFya0FzUHJpc3RpbmUoKTtcclxuICAgIGNvbnRhY3RQdXJwb3NlQ29udHJvbC5tYXJrQXNVbnRvdWNoZWQoKTtcclxuXHJcblxyXG4gICAgY29uc3QgY29tbWVudENvbnRyb2wgPSB0aGlzLmNhc2VOb3RlRm9ybS5nZXQoJ2NvbW1lbnQnKTtcclxuICAgIGNvbW1lbnRDb250cm9sLnNldFZhbHVlKG51bGwpO1xyXG4gICAgY29tbWVudENvbnRyb2wuc2V0RXJyb3JzKG51bGwpO1xyXG4gICAgY29tbWVudENvbnRyb2wubWFya0FzUHJpc3RpbmUoKTtcclxuICAgIGNvbW1lbnRDb250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xyXG4gICBcclxuICB9XHJcbiAgYmFjaygpe1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWyd2aWN0aW1Ib21lJ10pO1xyXG4gIH1cclxuIFxyXG4gIHNhdmVDYXNlTm90ZSgpe1xyXG4gICAgdGhpcy5lbWFpbFNlcnZpY2VcclxuICAgIC5jcmVhdGVDYXNlTm90ZUVtYWlsKFxyXG4gICAgICBcIlZpY3RpbUNhc2VOb3RlUmVtaW5kZXJzXCIsXHJcbiAgICB0aGlzLm9mZmVuZGVySWQsXHJcbiAgICB0aGlzLnN0YWZmSWRcclxuICAgIClcclxuICAgIC5zdWJzY3JpYmUoKTtcclxuXHJcbiAgICBpZiAodGhpcy5lZGl0Q2FzZU5vdGUudmljdGltQ2FzZU5vdGVJZCA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuZWRpdENhc2VOb3RlLnZpY3RpbUNhc2VOb3RlSWQgPT09IDApIHtcclxuXHJcbiAgICAgIGNvbnN0IGNhc3ROb3RlOiBDYXNlTm90ZSA9IHtcclxuICAgICAgICB2aWN0aW1JZDp0aGlzLnZpY3RpbUlkLFxyXG4gICAgICAgIHZpY3RpbUNhc2VOb3RlSWQ6IDAsXHJcbiAgICAgICAgY2FzZU5vdGVEYXRlOiB0aGlzLmVkaXRDYXNlTm90ZS5jYXNlTm90ZURhdGUsXHJcbiAgICAgICAgY29udGFjdFR5cGVJZDogdGhpcy5lZGl0Q2FzZU5vdGUuY29udGFjdFR5cGVJZCxcclxuICAgICAgICBjb250YWN0VHlwZTogbnVsbCxcclxuICAgICAgICB2aWN0aW1Db250YWN0UHVycG9zZUlkOiB0aGlzLmVkaXRDYXNlTm90ZS52aWN0aW1Db250YWN0UHVycG9zZUlkLFxyXG4gICAgICAgIHZpY3RpbUNvbnRhY3RQdXJwb3NlOiBudWxsLFxyXG4gICAgICAgIGNvbW1lbnQ6IHRoaXMuZWRpdENhc2VOb3RlLmNvbW1lbnQsXHJcbiAgICAgICAgbW9kaWZpZWRCeTogdGhpcy5zdGFmZklkLFxyXG4gICAgICAgIHZpY3RpbUZpcnN0TmFtZTogbnVsbCxcclxuICAgICAgICB2aWN0aW1MYXN0TmFtZTogbnVsbFxyXG5cclxuICAgIH07XHJcbiAgICB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5hZGRDYXNlTm90ZShjYXN0Tm90ZSkuc3Vic2NyaWJlKFxyXG4gICAgICByZXN1bHQgPT4ge1xyXG4gICAgICAgIHRoaXMuc25hY2tCYXIub3BlbignU2F2ZWQgU3VjY2Vzc2Z1bGx5ICEnLCAnJywge1xyXG4gICAgICAgICAgZHVyYXRpb246IDMwMDAsXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAvLyB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5zZW5kRW1haWwoJycsIHtyZWZlcnJhbElkOiAgMCwgb2ZmZW5kZXJJZDogdGhpcy5vZmZlbmRlcklkIH0sIHRoaXMubG9naW5TdGFmZi5zdGFmZklkKTtcclxuXHJcblxyXG5cclxuICAgICAgdGhpcy5oaWRkZW5EZXRhaWxGbGFnID0gdHJ1ZTtcclxuICAgICAgdGhpcy5fdmljdGltU2VydmljZXNDb21wb25lbnQuZ2V0Q2FzZXROb3Rlcyh0aGlzLnZpY3RpbUlkKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgY2FzZU5vdGVMaXN0ID0+IHtcclxuICAgICAgICAgIHRoaXMuY2FzZU5vdGVMaXN0ID0gY2FzZU5vdGVMaXN0OyBcclxuICAgICAgICAgIHRoaXMuY2FzZU5vdGVEYXRhU291cmNlLmRhdGEgPSB0aGlzLmNhc2VOb3RlTGlzdDtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgKTtcclxuIH0gZWxzZSB7XHJcbiAgdGhpcy5fdmljdGltU2VydmljZXNDb21wb25lbnQudXBkYXRlQ2FzZU5vdGUodGhpcy5lZGl0Q2FzZU5vdGUpLnN1YnNjcmliZShcclxuICAgIHJlc3VsdCA9PiB7XHJcbiAgICAgIHRoaXMuc25hY2tCYXIub3BlbignVXBkYXRlIFN1Y2Nlc3NmdWxseSAhJywgJycsIHtcclxuICAgICAgICBkdXJhdGlvbjogMzAwMCxcclxuICAgIH0pO1xyXG4gICAgdGhpcy5oaWRkZW5EZXRhaWxGbGFnID0gdHJ1ZTtcclxuICAgIHRoaXMuaGlkZGVuQWRkTmV3RmxhZyA9ICBmYWxzZTtcclxuICAgIHRoaXMuYWRkRGlzYWJsZUZsYWcgPSBmYWxzZTtcclxuICAgIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmdldENhc2V0Tm90ZXModGhpcy52aWN0aW1JZCkuc3Vic2NyaWJlKFxyXG4gICAgICBjYXNlTm90ZUxpc3QgPT4ge1xyXG4gICAgICAgIHRoaXMuY2FzZU5vdGVMaXN0ID0gY2FzZU5vdGVMaXN0OyBcclxuICAgICAgICB0aGlzLmNhc2VOb3RlRGF0YVNvdXJjZS5kYXRhID0gdGhpcy5jYXNlTm90ZUxpc3Q7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgICAgIH1cclxuICApO1xyXG4gICAgfSBcclxuXHJcbi8vZW1haWxcclxuXHJcbiAgfVxyXG5cclxufVxyXG4iLCJcclxuIDxtYXQtY2FyZD5cclxuICAgICAgICA8bWF0LWNhcmQtaGVhZGVyPlxyXG5cclxuICAgICAgICA8L21hdC1jYXJkLWhlYWRlcj5cclxuICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXRvb2xiYXIgIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPVwiY2FyZC1oZWFkZXJcIiA+Q2FzZSBOb3RlPC9oND5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtdG9vbGJhcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2hpZGRlbl09XCJoaWRkZW5BZGROZXdGbGFnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7Jm5ic3A7PGJ1dHRvbiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9uQWRkTmV3KClcIiBbZGlzYWJsZWRdPVwiYWRkRGlzYWJsZUZsYWdcIj5BZGQgQ2FzZSBOb3RlPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOyZuYnNwOzxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiICAoY2xpY2spPVwiYmFjaygpXCI+QmFjazwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbaGlkZGVuXT1cImhpZGRlbkRldGFpbEZsYWdcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNhcmQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdjb250YWluZXInPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJjYXNlTm90ZUZvcm1cIiAjY2FzZU5vdGVEZXRhaWxGb3JtPVwibmdGb3JtXCIgPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPlZpY3RpbSBOYW1lOjwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3t2aWN0aW1OYW1lfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkRhdGUgb2YgQ2FzZSBOb3RlOiA8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwiY2FzZU5vdGVEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2FzZU5vdGVEYXRlLm9wZW4oKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwiY2FzZU5vdGVEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkNob29zZSBhIHN0YXJ0IGRhdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZWRpdENhc2VOb3RlLmNhc2VOb3RlRGF0ZVwiIHJlcXVpcmVkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJjYXNlTm90ZURhdGVcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlciAjY2FzZU5vdGVEYXRlPjwvbWF0LWRhdGVwaWNrZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlbHAtYmxvY2tcIiAqbmdJZj1cImNhc2VOb3RlRm9ybS5nZXQoJ2Nhc2VOb3RlRGF0ZScpLmVycm9yc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgKGNhc2VOb3RlRm9ybS5nZXQoJ2Nhc2VOb3RlRGF0ZScpLmRpcnR5IHx8IGNhc2VOb3RlRm9ybS5nZXQoJ2Nhc2VOb3RlRGF0ZScpLnRvdWNoZWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yPmNhc2Ugbm90ZSBkYXRlIGlzIDxzdHJvbmc+cmVxdWlyZWQ8L3N0cm9uZz48L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWxwLWJsb2NrXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2FzZU5vdGVGb3JtLmdldCgnY2FzZU5vdGVEYXRlJykuaGFzRXJyb3IoJ2RhdGUnKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgKGNhc2VOb3RlRm9ybS5nZXQoJ2Nhc2VOb3RlRGF0ZScpLmRpcnR5IHx8IGNhc2VOb3RlRm9ybS5nZXQoJ2Nhc2VOb3RlRGF0ZScpLnRvdWNoZWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yPmZ1dHVyZSBjYXNlIG5vdGUgRGF0ZSBpcyA8c3Ryb25nPm5vdCBhbGxvd2VkPC9zdHJvbmc+PC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+Q29udGFjdCBUeXBlOjwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgIHBsYWNlaG9sZGVyPVwiY29udGFjdFR5cGVcIiBmb3JtQ29udHJvbE5hbWU9XCJjb250YWN0VHlwZVwiICByZXF1aXJlZCAgIFsobmdNb2RlbCldPVwiZWRpdENhc2VOb3RlLmNvbnRhY3RUeXBlSWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwiIGxldCBjb250YWN0VHlwZSBvZiBjb250YWN0VHlwZXNcIiBbdmFsdWVdPVwiY29udGFjdFR5cGUuY29udGFjdFR5cGVJZFwiID57e2NvbnRhY3RUeXBlLm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVscC1ibG9ja1wiICpuZ0lmPVwiY2FzZU5vdGVGb3JtLmdldCgnY29udGFjdFR5cGUnKS5lcnJvcnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIChjYXNlTm90ZUZvcm0uZ2V0KCdjb250YWN0VHlwZScpLmRpcnR5IHx8IGNhc2VOb3RlRm9ybS5nZXQoJ2NvbnRhY3RUeXBlJykudG91Y2hlZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+Y29tbWVudCBpcyA8c3Ryb25nPnJlcXVpcmVkPC9zdHJvbmc+PC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBjbGFzcz1cIm1hdC1zZWxlY3QtY29udGVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5Db250YWN0IFB1cnBvc2U6PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXNlbGVjdCAgZm9ybUNvbnRyb2xOYW1lPVwiY29udGFjdFB1cnBvc2VcIiAgIHJlcXVpcmVkIFsobmdNb2RlbCldPVwiZWRpdENhc2VOb3RlLnZpY3RpbUNvbnRhY3RQdXJwb3NlSWRcIiBjbGFzcz1cIm1hdC1zZWxlY3QtaW5uZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gKm5nRm9yPVwiIGxldCBjb250YWN0UHVycG9zZSBvZiBjb250YWN0UHVycG9zZXNcIiBbdmFsdWVdPVwiY29udGFjdFB1cnBvc2UudmljdGltQ29udGFjdFB1cnBvc2VJZFwiID57e2NvbnRhY3RQdXJwb3NlLm5hbWV9fTwvbWF0LW9wdGlvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXNlbGVjdD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVscC1ibG9ja1wiICpuZ0lmPVwiY2FzZU5vdGVGb3JtLmdldCgnY29udGFjdFB1cnBvc2UnKS5lcnJvcnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIChjYXNlTm90ZUZvcm0uZ2V0KCdjb250YWN0UHVycG9zZScpLmRpcnR5IHx8IGNhc2VOb3RlRm9ybS5nZXQoJ2NvbnRhY3RQdXJwb3NlJykudG91Y2hlZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+Y29tbWVudCBpcyA8c3Ryb25nPnJlcXVpcmVkPC9zdHJvbmc+PC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgc3R5bGU9XCJ3aWR0aDogNDAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkNvbW1lbnQ6PC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGV4dGFyZWFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dGFyZWEtY29udGVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQgZm9ybUNvbnRyb2xOYW1lPVwiY29tbWVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVkaXRDYXNlTm90ZS5jb21tZW50XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNka1RleHRhcmVhQXV0b3NpemVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNhdXRvc2l6ZT1cImNka1RleHRhcmVhQXV0b3NpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2RrQXV0b3NpemVNaW5Sb3dzPVwiOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZGtBdXRvc2l6ZU1heFJvd3M9XCIxMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZXh0YXJlYT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVscC1ibG9ja1wiICpuZ0lmPVwiY2FzZU5vdGVGb3JtLmdldCgnY29tbWVudCcpLmVycm9yc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYgKGNhc2VOb3RlRm9ybS5nZXQoJ2NvbW1lbnQnKS5kaXJ0eSB8fCBjYXNlTm90ZUZvcm0uZ2V0KCdjb21tZW50JykudG91Y2hlZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3I+Y29tbWVudCBpcyA8c3Ryb25nPnJlcXVpcmVkPC9zdHJvbmc+PC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJzYXZlQ2FzZU5vdGUoKVwiICBbZGlzYWJsZWRdPVwiIWNhc2VOb3RlRGV0YWlsRm9ybS5mb3JtLnZhbGlkXCIgPlNhdmU8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7Jm5ic3A7PGJ1dHRvbiAgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiICAoY2xpY2spPVwiaGlkZGVuRGV0YWlsRmxhZyA9IHRydWU7YWRkRGlzYWJsZUZsYWcgPSBmYWxzZTsgdGhpcy5oaWRkZW5BZGROZXdGbGFnID0gZmFsc2U7XCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jYXJkPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtdGFibGUgI3RhYmxlIFtkYXRhU291cmNlXT1cImNhc2VOb3RlRGF0YVNvdXJjZVwiIGNsYXNzPVwiZXhhbXBsZS10YWJsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjYXNlTm90ZURhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPVwiZXhhbXBsZS1oZWFkZXItY2VsbFwiPkNhc2UgTm90ZSBEYXRlPC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiIGNsYXNzPVwiZXhhbXBsZS1jZWxsXCI+IHt7cm93LmNhc2VOb3RlRGF0ZSB8IGRhdGV9fSA8L21hdC1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY29udGFjdFR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz1cImV4YW1wbGUtaGVhZGVyLWNlbGxcIj5Db250YWN0IFR5cGU8L21hdC1oZWFkZXItY2VsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiIGNsYXNzPVwiZXhhbXBsZS1jZWxsXCI+IHt7cm93LmNvbnRhY3RUeXBlfX0gPC9tYXQtY2VsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNvbnRhY3RQdXJwb3NlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJleGFtcGxlLWhlYWRlci1jZWxsXCI+Q29udGFjdCBQdXJwb3NlPC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBjbGFzcz1cImV4YW1wbGUtY2VsbFwiPiB7e3Jvdy5jb250YWN0UHVycG9zZX19IDwvbWF0LWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY29tbWVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJleGFtcGxlLWhlYWRlci1jZWxsXCI+Q29tbWVudDwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBjbGFzcz1cImV4YW1wbGUtY2VsbFwiPiB7e3Jvdy5jb21tZW50fX0gPC9tYXQtY2VsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ2aWN0aW1DYXNlTm90ZUlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJleGFtcGxlLWhlYWRlci1jZWxsXCI+PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiIGNsYXNzPVwiZXhhbXBsZS1jZWxsXCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2FjLWNzby1yZWFkIHNhYy12c3AtcmVhZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiRWRpdCBDYXNlIE5vdGVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25FZGl0Q2FzZU5vdGUocm93LnZpY3RpbUNhc2VOb3RlSWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPm1vZGVfZWRpdDwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDtcclxuXHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2FjLXZzcC1yZWFkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdFRvb2x0aXA9XCJEZWxldGUgQ2FzZSBOb3RlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZUNhc2VOb3RlKHJvdy52aWN0aW1DYXNlTm90ZUlkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPmRlbGV0ZTwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuXHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1oZWFkZXItcm93ICptYXRIZWFkZXJSb3dEZWY9XCJbJ2Nhc2VOb3RlRGF0ZScsICdjb250YWN0VHlwZScsICdjb250YWN0UHVycG9zZScsICdjb21tZW50JywgJ3ZpY3RpbUNhc2VOb3RlSWQnXVwiIGNsYXNzPVwiZXhhbXBsZS1oZWFkZXItcm93XCI+PC9tYXQtaGVhZGVyLXJvdz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtcm93ICptYXRSb3dEZWY9XCJsZXQgcm93OyBjb2x1bW5zOlsnY2FzZU5vdGVEYXRlJywgJ2NvbnRhY3RUeXBlJywgJ2NvbnRhY3RQdXJwb3NlJywgJ2NvbW1lbnQnLCAndmljdGltQ2FzZU5vdGVJZCddO1wiIGNsYXNzPVwiZXhhbXBsZS1yb3dcIj48L21hdC1yb3c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC10YWJsZT5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbjwvbWF0LWNhcmQtY29udGVudD5cclxuPC9tYXQtY2FyZD5cclxuIl19
195
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZU5vdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdjLXNtYXJ0LXZpY3RpbS9zcmMvbGliL2Nhc2VOb3RlL2Nhc2VOb3RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nYy1zbWFydC12aWN0aW0vc3JjL2xpYi9jYXNlTm90ZS9jYXNlTm90ZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUF1RSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLGtCQUFrQixFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxtQkFBbUIsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQXFCLE1BQU0sc0JBQXNCLENBQUM7QUFDeEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXakQsTUFBTSxPQUFPLGlCQUFpQjtJQXVCNUIsWUFDVSxXQUErQixFQUMvQix3QkFBK0MsRUFDL0MsbUJBQXdDLEVBQ3pDLFFBQXFCLEVBQ3BCLEtBQXFCLEVBQ3JCLE1BQWMsRUFDZCxnQkFBa0MsRUFDbEMsWUFBMEI7UUFQMUIsZ0JBQVcsR0FBWCxXQUFXLENBQW9CO1FBQy9CLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBdUI7UUFDL0Msd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN6QyxhQUFRLEdBQVIsUUFBUSxDQUFhO1FBQ3BCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQ2xDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBdEJwQyxpQkFBWSxHQUF1QixFQUFFLENBQUM7UUFTdEMsdUJBQWtCLEdBQUUsSUFBSyxrQkFBa0IsRUFBRSxDQUFDO1FBZ0IxQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUNLLFFBQVE7UUFDaEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQztZQUMxQyxZQUFZLEVBQUcsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLE9BQU8sQ0FBQztnQkFDM0QsVUFBVSxDQUFDLFFBQVEsRUFBQyxhQUFhLEVBQUU7YUFBQyxDQUFDLENBQUM7WUFDeEMsV0FBVyxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxFQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDM0QsY0FBYyxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxFQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDOUQsT0FBTyxFQUFFLElBQUksa0JBQWtCLENBQUMsRUFBRSxFQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDeEQsQ0FBQyxDQUFDO1FBRUYsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBRXBDLENBQUM7SUFDRCxlQUFlO1FBQ2QsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztRQUNwQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQztRQUd4QyxJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV6QyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxjQUFjLEdBQUUsS0FBSyxDQUFDO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFDN0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztRQUc5QixJQUFJLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQzlELENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUM7UUFDNUQsQ0FBQyxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsd0JBQXdCLENBQUMsZUFBZSxFQUFFLENBQUMsU0FBUyxDQUN2RCxDQUFDLEtBQVUsRUFBRSxFQUFFO1lBQ2IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7UUFDNUIsQ0FBQyxDQUNGLENBQUM7UUFFRixJQUFJLENBQUMsd0JBQXdCLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxTQUFTLENBQ2hFLENBQUMsS0FBVSxFQUFFLEVBQUU7WUFDYixJQUFJLENBQUMsZUFBZSxHQUFHLEtBQUssQ0FBQztRQUMvQixDQUFDLENBQ0YsQ0FBQztRQUdGLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FDbEUsWUFBWSxDQUFDLEVBQUU7WUFDYixPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7WUFDakMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ25ELENBQUMsQ0FDRixDQUFDO1FBS0Ysd0VBQXdFO1FBQ3hFLHFCQUFxQjtRQUNyQiwwQ0FBMEM7UUFDMUMsa0RBQWtEO1FBQ2xELE9BQU87SUFDVCxDQUFDO0lBQ0QsY0FBYyxDQUFDLGdCQUF3QjtRQUVyQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUUsS0FBSyxDQUFDO1FBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7UUFFN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7UUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTNGLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxnQkFBd0I7UUFDdEMsSUFBSSxDQUFDLG1CQUFtQjthQUN4QixPQUFPLENBQUMsRUFBRSxFQUFFLHVDQUF1QyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUM7YUFDakUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQUUsSUFBSSxDQUFDLE1BQU0sR0FBSSxHQUFHLENBQUM7WUFDbEMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO3FCQUMxRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7b0JBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLHVCQUF1QixFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEdBQUUsQ0FBQyxDQUFDO29CQUV4RSxJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQ2xFLFlBQVksQ0FBQyxFQUFFO3dCQUNiLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO3dCQUNqQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7b0JBQ25ELENBQUMsQ0FDRixDQUFDO2dCQUNDLENBQUMsQ0FDRixDQUFDO1lBQ1AsQ0FBQztRQUVKLENBQUMsQ0FBQyxDQUFDO0lBQ04sQ0FBQztJQUNELFFBQVE7UUFFTixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDO1FBRXZDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEUsbUJBQW1CLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLG1CQUFtQixDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNyQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUdyQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hFLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbkMsa0JBQWtCLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEMsa0JBQWtCLENBQUMsZUFBZSxFQUFFLENBQUM7UUFHckMsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3RFLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMscUJBQXFCLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkMscUJBQXFCLENBQUMsZUFBZSxFQUFFLENBQUM7UUFHeEMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDeEQsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNoQyxjQUFjLENBQUMsZUFBZSxFQUFFLENBQUM7SUFFbkMsQ0FBQztJQUNELElBQUk7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsWUFBWTthQUNoQixtQkFBbUIsQ0FDbEIseUJBQXlCLEVBQzNCLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLE9BQU8sQ0FDWDthQUNBLFNBQVMsRUFBRSxDQUFDO1FBRWIsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixLQUFLLENBQUMsRUFBRSxDQUFDO1lBRWpHLE1BQU0sUUFBUSxHQUFhO2dCQUN6QixRQUFRLEVBQUMsSUFBSSxDQUFDLFFBQVE7Z0JBQ3RCLGdCQUFnQixFQUFFLENBQUM7Z0JBQ25CLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVk7Z0JBQzVDLGFBQWEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWE7Z0JBQzlDLFdBQVcsRUFBRSxJQUFJO2dCQUNqQixzQkFBc0IsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQjtnQkFDaEUsb0JBQW9CLEVBQUUsSUFBSTtnQkFDMUIsT0FBTyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTztnQkFDbEMsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPO2dCQUN4QixlQUFlLEVBQUUsSUFBSTtnQkFDckIsY0FBYyxFQUFFLElBQUk7YUFFdkIsQ0FBQztZQUNGLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUMzRCxNQUFNLENBQUMsRUFBRTtnQkFDUCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxFQUFFLEVBQUU7b0JBQzdDLFFBQVEsRUFBRSxJQUFJO2lCQUNqQixDQUFDLENBQUM7Z0JBRUosd0hBQXdIO2dCQUl2SCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO2dCQUM3QixJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQ2xFLFlBQVksQ0FBQyxFQUFFO29CQUNiLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO29CQUNqQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7Z0JBQ25ELENBQUMsQ0FDRixDQUFDO1lBQ0EsQ0FBQyxDQUNKLENBQUM7UUFDTCxDQUFDO2FBQU0sQ0FBQztZQUNQLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVMsQ0FDdkUsTUFBTSxDQUFDLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLEVBQUUsRUFBRSxFQUFFO29CQUM5QyxRQUFRLEVBQUUsSUFBSTtpQkFDakIsQ0FBQyxDQUFDO2dCQUNILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxnQkFBZ0IsR0FBSSxLQUFLLENBQUM7Z0JBQy9CLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO2dCQUM1QixJQUFJLENBQUMsd0JBQXdCLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLENBQ2xFLFlBQVksQ0FBQyxFQUFFO29CQUNiLElBQUksQ0FBQyxZQUFZLEdBQUcsWUFBWSxDQUFDO29CQUNqQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7Z0JBQ25ELENBQUMsQ0FDRixDQUFDO1lBQ0EsQ0FBQyxDQUNKLENBQUM7UUFDQSxDQUFDO1FBRUwsT0FBTztJQUVMLENBQUM7aUlBaFBVLGlCQUFpQjtxSEFBakIsaUJBQWlCLHVDQUhqQixDQUFDLG1CQUFtQixDQUFDLDBCQ25CbEMsK2lhQTRMQTs7MkZEdEthLGlCQUFpQjtrQkFQN0IsU0FBUztnQ0FJRyxDQUFDLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsSW5qZWN0LE9uQ2hhbmdlcywgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLEFmdGVyVmlld0luaXQgIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nY1NtYXJ0VmljdGltU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LXZpY3RpbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBVbnR5cGVkRm9ybUJ1aWxkZXIsVmFsaWRhdG9yc30gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDb21tb25EaWFsb2dTZXJ2aWNlfSBmcm9tICcuLi8uL2NvbW1vbi1kaWFsb2cvY29tbW9uLWRpYWxvZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5pbXBvcnQgeyBTZWxlY3RlZE9mZmVuZGVyLCBMb2dpblN0YWZmIH0gZnJvbSAnQGNzbWFydC9uZ2Mtc21hcnQtY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDYXNlTm90ZX0gZnJvbSAnLi4vc21hcnQtdmljdGltLm1vZGVsJztcclxuaW1wb3J0IHsgU21hcnRBdXRoU2VydmljZSB9IGZyb20gJ0Bjc21hcnQvbmdjLXNtYXJ0LWNvcmUnO1xyXG5pbXBvcnQgeyBkYXRlVmFsaWRhdG9yLCBwYXNzRGF0ZVZhbGlkYXRvciB9IGZyb20gJy4uL3NoYXJlZC92YWxpZGF0b3JzJztcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBFbWFpbFNlcnZpY2UgfSBmcm9tICcuLi9lbWFpbC5zZXJ2aWNlcyc7XHJcblxyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Nhc2VOb3RlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jYXNlTm90ZS5jb21wb25lbnQuY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbQ29tbW9uRGlhbG9nU2VydmljZV1cclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXNlTm90ZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxBZnRlclZpZXdJbml0ICB7XHJcblxyXG4gLy8gQElucHV0KCkgaXNJbnRha2U6IGJvb2xlYW47XHJcbiAgb2ZmZW5kZXJJZDogbnVtYmVyO1xyXG4gIGxvZ2luU3RhZmY6IExvZ2luU3RhZmY7XHJcbiAgXHJcbiAgaGlkZGVuRGV0YWlsRmxhZzpib29sZWFuO1xyXG4gIGNhc2VOb3RlTGlzdDogQ2FzZU5vdGVbXTtcclxuICBjYXNlTm90ZTogQ2FzZU5vdGU7XHJcbiAgZWRpdENhc2VOb3RlOiBDYXNlTm90ZSA9IDxDYXNlTm90ZT57fTtcclxuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcclxuICBjb250YWN0VHlwZXM6IGFueVtdO1xyXG4gIGNvbnRhY3RQdXJwb3NlczogYW55W107XHJcbiAgcmVzdWx0OiBhbnk7XHJcbiAgdmljdGltTmFtZTogc3RyaW5nO1xyXG4gIHN0YWZmSWQ6IG51bWJlcjtcclxuICB2aWN0aW1JZDogbnVtYmVyO1xyXG4gIHByaXZhdGUgc3ViOiBhbnk7XHJcbiAgY2FzZU5vdGVEYXRhU291cmNlPSBuZXcgIE1hdFRhYmxlRGF0YVNvdXJjZSgpO1xyXG4gIGFkZERpc2FibGVGbGFnOiBib29sZWFuO1xyXG4gIGhpZGRlbkFkZE5ld0ZsYWc6IGJvb2xlYW47XHJcbiAgY2FzZU5vdGVGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlciwgXHJcbiAgICBwcml2YXRlIF92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudDogTmdjU21hcnRWaWN0aW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb21tb25EaWFsb2dTZXJ2aWNlOiBDb21tb25EaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHVibGljIHNuYWNrQmFyOiBNYXRTbmFja0JhcixcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgc21hcnRBdXRoU2VydmljZTogU21hcnRBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgZW1haWxTZXJ2aWNlOiBFbWFpbFNlcnZpY2VcclxuICAgICBcclxuICApIHtcclxuICAgICAgdGhpcy5pbml0Rm9ybSgpO1xyXG4gICAgIH1cclxuICAgcHJpdmF0ZSBpbml0Rm9ybSgpIHtcclxuICAgdGhpcy5jYXNlTm90ZUZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgIGNhc2VOb3RlRGF0ZTogIG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsIFZhbGlkYXRvcnMuY29tcG9zZShbXHJcbiAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsZGF0ZVZhbGlkYXRvcigpXSkpLFxyXG4gICAgY29udGFjdFR5cGU6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsVmFsaWRhdG9ycy5yZXF1aXJlZCksXHJcbiAgICBjb250YWN0UHVycG9zZTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyxWYWxpZGF0b3JzLnJlcXVpcmVkKSxcclxuICAgIGNvbW1lbnQ6IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycsVmFsaWRhdG9ycy5yZXF1aXJlZClcclxuICB9KTtcclxuXHJcbiAgIHRoaXMuY2FzZU5vdGVGb3JtLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgIHRoaXMuY2FzZU5vdGVGb3JtLm1hcmtBc1VudG91Y2hlZCgpO1xyXG5cclxuICAgfVxyXG4gICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNtYXJ0QXV0aFNlcnZpY2Uuc2V0UGVybWlzc2lvbignVmljdGltJywgdGhpcy5yb3V0ZS5zbmFwc2hvdCk7XHJcbiAgfVxyXG4gXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB2YXIgZGF0YSA9IHRoaXMucm91dGUuc25hcHNob3QuZGF0YTtcclxuICAgIHRoaXMubG9naW5TdGFmZiA9IGRhdGEubG9naW5TdGFmZjtcclxuICAgIHRoaXMuc3RhZmZJZCA9ICB0aGlzLmxvZ2luU3RhZmYuc3RhZmZJZDtcclxuXHJcblxyXG4gICAgdGhpcy5zdWIgPSB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgdGhpcy52aWN0aW1JZCA9IHBhcmFtc1sndmljdGltSWQnXTtcclxuICAgICAgdGhpcy5vZmZlbmRlcklkID0gcGFyYW1zWydvZmZlbmRlcklkJ107XHJcbiBcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuYWRkRGlzYWJsZUZsYWc9IGZhbHNlO1xyXG4gICAgdGhpcy5oaWRkZW5EZXRhaWxGbGFnID0gdHJ1ZTtcclxuICAgIHRoaXMuaGlkZGVuQWRkTmV3RmxhZyA9IGZhbHNlO1xyXG5cclxuXHJcbiAgICB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5nZXRWaWN0aW0odGhpcy52aWN0aW1JZCkuc3Vic2NyaWJlKFxyXG4gICAgICAoaXRlbXM6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMudmljdGltTmFtZSA9IGl0ZW1zLmZpcnN0TmFtZSArICcsICcgKyBpdGVtcy5sYXN0TmFtZTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5nZXRDb250YWN0VHlwZXMoKS5zdWJzY3JpYmUoXHJcbiAgICAgIChpdGVtczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb250YWN0VHlwZXMgPSBpdGVtcztcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5nZXRWaWN0aW1Db250YWN0UHVycG9zZXMoKS5zdWJzY3JpYmUoXHJcbiAgICAgIChpdGVtczogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5jb250YWN0UHVycG9zZXMgPSBpdGVtcztcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICBcclxuICAgIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmdldENhc2V0Tm90ZXModGhpcy52aWN0aW1JZCkuc3Vic2NyaWJlKFxyXG4gICAgICBjYXNlTm90ZUxpc3QgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdjYXNlTm90ZUxpc3QnKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhjYXNlTm90ZUxpc3QpO1xyXG4gICAgICAgIHRoaXMuY2FzZU5vdGVMaXN0ID0gY2FzZU5vdGVMaXN0OyBcclxuICAgICAgICB0aGlzLmNhc2VOb3RlRGF0YVNvdXJjZS5kYXRhID0gdGhpcy5jYXNlTm90ZUxpc3Q7XHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG5cclxuICAgIFxyXG5cclxuICAgIC8vIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmdldENhc2V0Tm90ZXModGhpcy52aWN0aW1JZCkuc3Vic2NyaWJlKFxyXG4gICAgLy8gICAoaXRtczogYW55KSA9PiB7XHJcbiAgICAvLyAgIGNvbnN0IEVMRU1FTlRfREFUQTogRWxlbWVudFtdID0gaXRtcztcclxuICAgIC8vICAgdGhpcy5jYXNlTm90ZURhdGFTb3VyY2UuZGF0YSA9ICBFTEVNRU5UX0RBVEE7XHJcbiAgICAvLyAgIH0pXHJcbiAgfVxyXG4gIG9uRWRpdENhc2VOb3RlKHZpY3RpbUNhc2VOb3RlSWQ6IG51bWJlcil7XHJcbiAgXHJcbiAgICB0aGlzLmhpZGRlbkRldGFpbEZsYWcgPWZhbHNlO1xyXG4gICAgdGhpcy5oaWRkZW5BZGROZXdGbGFnID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmFkZERpc2FibGVGbGFnID0gdHJ1ZTtcclxuICAgIHRoaXMuZWRpdENhc2VOb3RlID0gdGhpcy5jYXNlTm90ZUxpc3QuZmluZCh4ID0+IHgudmljdGltQ2FzZU5vdGVJZCA9PT0gdmljdGltQ2FzZU5vdGVJZCk7XHJcblxyXG4gIH1cclxuIFxyXG4gIG9uRGVsZXRlQ2FzZU5vdGUodmljdGltQ2FzZU5vdGVJZDogbnVtYmVyKXtcclxuICAgICB0aGlzLmNvbW1vbkRpYWxvZ1NlcnZpY2VcclxuICAgIC5jb25maXJtKCcnLCAnRG8geW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgY2FzZSBub3RlPycsICdZZXMnLCAnTm8nKVxyXG4gICAgLnN1YnNjcmliZShyZXMgPT4ge3RoaXMucmVzdWx0ID0gIHJlcztcclxuICAgICAgICBpZiAodGhpcy5yZXN1bHQpIHtcclxuICAgICAgICAgICAgdGhpcy5fdmljdGltU2VydmljZXNDb21wb25lbnQuZGVsZXRlQ2FzZU5vdGUodmljdGltQ2FzZU5vdGVJZCwgdGhpcy5zdGFmZklkKVxyXG4gICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdkZWxldGUgU3VjY2Vzc2Z1bGx5ICEnLCAnJywgeyBkdXJhdGlvbjogMzAwMCx9KTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmdldENhc2V0Tm90ZXModGhpcy52aWN0aW1JZCkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgIGNhc2VOb3RlTGlzdCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNhc2VOb3RlTGlzdCA9IGNhc2VOb3RlTGlzdDsgXHJcbiAgICAgICAgICAgICAgICB0aGlzLmNhc2VOb3RlRGF0YVNvdXJjZS5kYXRhID0gdGhpcy5jYXNlTm90ZUxpc3Q7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgfSk7XHJcbiAgfVxyXG4gIG9uQWRkTmV3KCl7XHJcblxyXG4gICAgdGhpcy5oaWRkZW5EZXRhaWxGbGFnID0gZmFsc2U7XHJcbiAgICB0aGlzLmVkaXRDYXNlTm90ZS52aWN0aW1DYXNlTm90ZUlkID0gMDtcclxuXHJcbiAgICBjb25zdCBjYXNlTm90ZURhdGVDb250cm9sID0gdGhpcy5jYXNlTm90ZUZvcm0uZ2V0KCdjYXNlTm90ZURhdGUnKTtcclxuICAgIGNhc2VOb3RlRGF0ZUNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgICBjYXNlTm90ZURhdGVDb250cm9sLnNldEVycm9ycyhudWxsKTtcclxuICAgIGNhc2VOb3RlRGF0ZUNvbnRyb2wubWFya0FzUHJpc3RpbmUoKTtcclxuICAgIGNhc2VOb3RlRGF0ZUNvbnRyb2wubWFya0FzUHJpc3RpbmUoKTtcclxuXHJcblxyXG4gICAgY29uc3QgY29udGFjdFR5cGVDb250cm9sID0gdGhpcy5jYXNlTm90ZUZvcm0uZ2V0KCdjb250YWN0VHlwZScpO1xyXG4gICAgY29udGFjdFR5cGVDb250cm9sLnNldFZhbHVlKG51bGwpO1xyXG4gICAgY29udGFjdFR5cGVDb250cm9sLnNldEVycm9ycyhudWxsKTtcclxuICAgIGNvbnRhY3RUeXBlQ29udHJvbC5tYXJrQXNQcmlzdGluZSgpO1xyXG4gICAgY29udGFjdFR5cGVDb250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xyXG5cclxuXHJcbiAgICBjb25zdCBjb250YWN0UHVycG9zZUNvbnRyb2wgPSB0aGlzLmNhc2VOb3RlRm9ybS5nZXQoJ2NvbnRhY3RQdXJwb3NlJyk7XHJcbiAgICBjb250YWN0UHVycG9zZUNvbnRyb2wuc2V0VmFsdWUobnVsbCk7XHJcbiAgICBjb250YWN0UHVycG9zZUNvbnRyb2wuc2V0RXJyb3JzKG51bGwpO1xyXG4gICAgY29udGFjdFB1cnBvc2VDb250cm9sLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgICBjb250YWN0UHVycG9zZUNvbnRyb2wubWFya0FzVW50b3VjaGVkKCk7XHJcblxyXG5cclxuICAgIGNvbnN0IGNvbW1lbnRDb250cm9sID0gdGhpcy5jYXNlTm90ZUZvcm0uZ2V0KCdjb21tZW50Jyk7XHJcbiAgICBjb21tZW50Q29udHJvbC5zZXRWYWx1ZShudWxsKTtcclxuICAgIGNvbW1lbnRDb250cm9sLnNldEVycm9ycyhudWxsKTtcclxuICAgIGNvbW1lbnRDb250cm9sLm1hcmtBc1ByaXN0aW5lKCk7XHJcbiAgICBjb21tZW50Q29udHJvbC5tYXJrQXNVbnRvdWNoZWQoKTtcclxuICAgXHJcbiAgfVxyXG4gIGJhY2soKXtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsndmljdGltSG9tZSddKTtcclxuICB9XHJcbiBcclxuICBzYXZlQ2FzZU5vdGUoKXtcclxuICAgIHRoaXMuZW1haWxTZXJ2aWNlXHJcbiAgICAuY3JlYXRlQ2FzZU5vdGVFbWFpbChcclxuICAgICAgXCJWaWN0aW1DYXNlTm90ZVJlbWluZGVyc1wiLFxyXG4gICAgdGhpcy5vZmZlbmRlcklkLFxyXG4gICAgdGhpcy5zdGFmZklkXHJcbiAgICApXHJcbiAgICAuc3Vic2NyaWJlKCk7XHJcblxyXG4gICAgaWYgKHRoaXMuZWRpdENhc2VOb3RlLnZpY3RpbUNhc2VOb3RlSWQgPT09IHVuZGVmaW5lZCB8fCB0aGlzLmVkaXRDYXNlTm90ZS52aWN0aW1DYXNlTm90ZUlkID09PSAwKSB7XHJcblxyXG4gICAgICBjb25zdCBjYXN0Tm90ZTogQ2FzZU5vdGUgPSB7XHJcbiAgICAgICAgdmljdGltSWQ6dGhpcy52aWN0aW1JZCxcclxuICAgICAgICB2aWN0aW1DYXNlTm90ZUlkOiAwLFxyXG4gICAgICAgIGNhc2VOb3RlRGF0ZTogdGhpcy5lZGl0Q2FzZU5vdGUuY2FzZU5vdGVEYXRlLFxyXG4gICAgICAgIGNvbnRhY3RUeXBlSWQ6IHRoaXMuZWRpdENhc2VOb3RlLmNvbnRhY3RUeXBlSWQsXHJcbiAgICAgICAgY29udGFjdFR5cGU6IG51bGwsXHJcbiAgICAgICAgdmljdGltQ29udGFjdFB1cnBvc2VJZDogdGhpcy5lZGl0Q2FzZU5vdGUudmljdGltQ29udGFjdFB1cnBvc2VJZCxcclxuICAgICAgICB2aWN0aW1Db250YWN0UHVycG9zZTogbnVsbCxcclxuICAgICAgICBjb21tZW50OiB0aGlzLmVkaXRDYXNlTm90ZS5jb21tZW50LFxyXG4gICAgICAgIG1vZGlmaWVkQnk6IHRoaXMuc3RhZmZJZCxcclxuICAgICAgICB2aWN0aW1GaXJzdE5hbWU6IG51bGwsXHJcbiAgICAgICAgdmljdGltTGFzdE5hbWU6IG51bGxcclxuXHJcbiAgICB9O1xyXG4gICAgdGhpcy5fdmljdGltU2VydmljZXNDb21wb25lbnQuYWRkQ2FzZU5vdGUoY2FzdE5vdGUpLnN1YnNjcmliZShcclxuICAgICAgcmVzdWx0ID0+IHtcclxuICAgICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ1NhdmVkIFN1Y2Nlc3NmdWxseSAhJywgJycsIHtcclxuICAgICAgICAgIGR1cmF0aW9uOiAzMDAwLFxyXG4gICAgICB9KTtcclxuXHJcbiAgICAgLy8gdGhpcy5fdmljdGltU2VydmljZXNDb21wb25lbnQuc2VuZEVtYWlsKCcnLCB7cmVmZXJyYWxJZDogIDAsIG9mZmVuZGVySWQ6IHRoaXMub2ZmZW5kZXJJZCB9LCB0aGlzLmxvZ2luU3RhZmYuc3RhZmZJZCk7XHJcblxyXG5cclxuXHJcbiAgICAgIHRoaXMuaGlkZGVuRGV0YWlsRmxhZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmdldENhc2V0Tm90ZXModGhpcy52aWN0aW1JZCkuc3Vic2NyaWJlKFxyXG4gICAgICAgIGNhc2VOb3RlTGlzdCA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNhc2VOb3RlTGlzdCA9IGNhc2VOb3RlTGlzdDsgXHJcbiAgICAgICAgICB0aGlzLmNhc2VOb3RlRGF0YVNvdXJjZS5kYXRhID0gdGhpcy5jYXNlTm90ZUxpc3Q7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICk7XHJcbiB9IGVsc2Uge1xyXG4gIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LnVwZGF0ZUNhc2VOb3RlKHRoaXMuZWRpdENhc2VOb3RlKS5zdWJzY3JpYmUoXHJcbiAgICByZXN1bHQgPT4ge1xyXG4gICAgICB0aGlzLnNuYWNrQmFyLm9wZW4oJ1VwZGF0ZSBTdWNjZXNzZnVsbHkgIScsICcnLCB7XHJcbiAgICAgICAgZHVyYXRpb246IDMwMDAsXHJcbiAgICB9KTtcclxuICAgIHRoaXMuaGlkZGVuRGV0YWlsRmxhZyA9IHRydWU7XHJcbiAgICB0aGlzLmhpZGRlbkFkZE5ld0ZsYWcgPSAgZmFsc2U7XHJcbiAgICB0aGlzLmFkZERpc2FibGVGbGFnID0gZmFsc2U7XHJcbiAgICB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5nZXRDYXNldE5vdGVzKHRoaXMudmljdGltSWQpLnN1YnNjcmliZShcclxuICAgICAgY2FzZU5vdGVMaXN0ID0+IHtcclxuICAgICAgICB0aGlzLmNhc2VOb3RlTGlzdCA9IGNhc2VOb3RlTGlzdDsgXHJcbiAgICAgICAgdGhpcy5jYXNlTm90ZURhdGFTb3VyY2UuZGF0YSA9IHRoaXMuY2FzZU5vdGVMaXN0O1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgICB9XHJcbiAgKTtcclxuICAgIH0gXHJcblxyXG4vL2VtYWlsXHJcblxyXG4gIH1cclxuXHJcbn1cclxuIiwiXHJcbiA8bWF0LWNhcmQ+XHJcbiAgICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cclxuXHJcbiAgICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC10b29sYmFyICBjb2xvcj1cInByaW1hcnlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cImNhcmQtaGVhZGVyXCIgPkNhc2UgTm90ZTwvaDQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LXRvb2xiYXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IFtoaWRkZW5dPVwiaGlkZGVuQWRkTmV3RmxhZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOyZuYnNwOzxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvbkFkZE5ldygpXCIgW2Rpc2FibGVkXT1cImFkZERpc2FibGVGbGFnXCI+QWRkIENhc2UgTm90ZTwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDs8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAgKGNsaWNrKT1cImJhY2soKVwiPkJhY2s8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2hpZGRlbl09XCJoaWRkZW5EZXRhaWxGbGFnXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jYXJkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nY29udGFpbmVyJz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiY2FzZU5vdGVGb3JtXCIgI2Nhc2VOb3RlRGV0YWlsRm9ybT1cIm5nRm9ybVwiID5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5WaWN0aW0gTmFtZTo8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7dmljdGltTmFtZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5EYXRlIG9mIENhc2UgTm90ZTogPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IGZvcm1Db250cm9sTmFtZT1cImNhc2VOb3RlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhc2VOb3RlRGF0ZS5vcGVuKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cImNhc2VOb3RlRGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJDaG9vc2UgYSBzdGFydCBkYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImVkaXRDYXNlTm90ZS5jYXNlTm90ZURhdGVcIiByZXF1aXJlZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwiY2FzZU5vdGVEYXRlXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWRhdGVwaWNrZXIgI2Nhc2VOb3RlRGF0ZT48L21hdC1kYXRlcGlja2VyPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoZWxwLWJsb2NrXCIgKm5nSWY9XCJjYXNlTm90ZUZvcm0uZ2V0KCdjYXNlTm90ZURhdGUnKS5lcnJvcnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIChjYXNlTm90ZUZvcm0uZ2V0KCdjYXNlTm90ZURhdGUnKS5kaXJ0eSB8fCBjYXNlTm90ZUZvcm0uZ2V0KCdjYXNlTm90ZURhdGUnKS50b3VjaGVkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvcj5jYXNlIG5vdGUgZGF0ZSBpcyA8c3Ryb25nPnJlcXVpcmVkPC9zdHJvbmc+PC9tYXQtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGVscC1ibG9ja1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImNhc2VOb3RlRm9ybS5nZXQoJ2Nhc2VOb3RlRGF0ZScpLmhhc0Vycm9yKCdkYXRlJylcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIChjYXNlTm90ZUZvcm0uZ2V0KCdjYXNlTm90ZURhdGUnKS5kaXJ0eSB8fCBjYXNlTm90ZUZvcm0uZ2V0KCdjYXNlTm90ZURhdGUnKS50b3VjaGVkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1lcnJvcj5mdXR1cmUgY2FzZSBub3RlIERhdGUgaXMgPHN0cm9uZz5ub3QgYWxsb3dlZDwvc3Ryb25nPjwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsPkNvbnRhY3QgVHlwZTo8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtc2VsZWN0ICBwbGFjZWhvbGRlcj1cImNvbnRhY3RUeXBlXCIgZm9ybUNvbnRyb2xOYW1lPVwiY29udGFjdFR5cGVcIiAgcmVxdWlyZWQgICBbKG5nTW9kZWwpXT1cImVkaXRDYXNlTm90ZS5jb250YWN0VHlwZUlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cIiBsZXQgY29udGFjdFR5cGUgb2YgY29udGFjdFR5cGVzXCIgW3ZhbHVlXT1cImNvbnRhY3RUeXBlLmNvbnRhY3RUeXBlSWRcIiA+e3tjb250YWN0VHlwZS5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlbHAtYmxvY2tcIiAqbmdJZj1cImNhc2VOb3RlRm9ybS5nZXQoJ2NvbnRhY3RUeXBlJykuZXJyb3JzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAoY2FzZU5vdGVGb3JtLmdldCgnY29udGFjdFR5cGUnKS5kaXJ0eSB8fCBjYXNlTm90ZUZvcm0uZ2V0KCdjb250YWN0VHlwZScpLnRvdWNoZWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yPmNvbW1lbnQgaXMgPHN0cm9uZz5yZXF1aXJlZDwvc3Ryb25nPjwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJtYXQtc2VsZWN0LWNvbnRlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWw+Q29udGFjdCBQdXJwb3NlOjwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1zZWxlY3QgIGZvcm1Db250cm9sTmFtZT1cImNvbnRhY3RQdXJwb3NlXCIgICByZXF1aXJlZCBbKG5nTW9kZWwpXT1cImVkaXRDYXNlTm90ZS52aWN0aW1Db250YWN0UHVycG9zZUlkXCIgY2xhc3M9XCJtYXQtc2VsZWN0LWlubmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uICpuZ0Zvcj1cIiBsZXQgY29udGFjdFB1cnBvc2Ugb2YgY29udGFjdFB1cnBvc2VzXCIgW3ZhbHVlXT1cImNvbnRhY3RQdXJwb3NlLnZpY3RpbUNvbnRhY3RQdXJwb3NlSWRcIiA+e3tjb250YWN0UHVycG9zZS5uYW1lfX08L21hdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlbHAtYmxvY2tcIiAqbmdJZj1cImNhc2VOb3RlRm9ybS5nZXQoJ2NvbnRhY3RQdXJwb3NlJykuZXJyb3JzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmJiAoY2FzZU5vdGVGb3JtLmdldCgnY29udGFjdFB1cnBvc2UnKS5kaXJ0eSB8fCBjYXNlTm90ZUZvcm0uZ2V0KCdjb250YWN0UHVycG9zZScpLnRvdWNoZWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yPmNvbW1lbnQgaXMgPHN0cm9uZz5yZXF1aXJlZDwvc3Ryb25nPjwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIHN0eWxlPVwid2lkdGg6IDQwMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbD5Db21tZW50OjwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRleHRhcmVhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInRleHRhcmVhLWNvbnRlbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0SW5wdXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkIGZvcm1Db250cm9sTmFtZT1cImNvbW1lbnRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlZGl0Q2FzZU5vdGUuY29tbWVudFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZGtUZXh0YXJlYUF1dG9zaXplXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYXV0b3NpemU9XCJjZGtUZXh0YXJlYUF1dG9zaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNka0F1dG9zaXplTWluUm93cz1cIjhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2RrQXV0b3NpemVNYXhSb3dzPVwiMTJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGV4dGFyZWE+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlbHAtYmxvY2tcIiAqbmdJZj1cImNhc2VOb3RlRm9ybS5nZXQoJ2NvbW1lbnQnKS5lcnJvcnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYmIChjYXNlTm90ZUZvcm0uZ2V0KCdjb21tZW50JykuZGlydHkgfHwgY2FzZU5vdGVGb3JtLmdldCgnY29tbWVudCcpLnRvdWNoZWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWVycm9yPmNvbW1lbnQgaXMgPHN0cm9uZz5yZXF1aXJlZDwvc3Ryb25nPjwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwic2F2ZUNhc2VOb3RlKClcIiAgW2Rpc2FibGVkXT1cIiFjYXNlTm90ZURldGFpbEZvcm0uZm9ybS52YWxpZFwiID5TYXZlPC9idXR0b24+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOyZuYnNwOzxidXR0b24gIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAgKGNsaWNrKT1cImhpZGRlbkRldGFpbEZsYWcgPSB0cnVlO2FkZERpc2FibGVGbGFnID0gZmFsc2U7IHRoaXMuaGlkZGVuQWRkTmV3RmxhZyA9IGZhbHNlO1wiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2FyZD5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXRhYmxlICN0YWJsZSBbZGF0YVNvdXJjZV09XCJjYXNlTm90ZURhdGFTb3VyY2VcIiBjbGFzcz1cImV4YW1wbGUtdGFibGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY2FzZU5vdGVEYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz1cImV4YW1wbGUtaGVhZGVyLWNlbGxcIj5DYXNlIE5vdGUgRGF0ZTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBjbGFzcz1cImV4YW1wbGUtY2VsbFwiPiB7e3Jvdy5jYXNlTm90ZURhdGUgfCBkYXRlfX0gPC9tYXQtY2VsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNvbnRhY3RUeXBlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJleGFtcGxlLWhlYWRlci1jZWxsXCI+Q29udGFjdCBUeXBlPC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBjbGFzcz1cImV4YW1wbGUtY2VsbFwiPiB7e3Jvdy5jb250YWN0VHlwZX19IDwvbWF0LWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjb250YWN0UHVycG9zZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPVwiZXhhbXBsZS1oZWFkZXItY2VsbFwiPkNvbnRhY3QgUHVycG9zZTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgY2xhc3M9XCJleGFtcGxlLWNlbGxcIj4ge3tyb3cuY29udGFjdFB1cnBvc2V9fSA8L21hdC1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImNvbW1lbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPVwiZXhhbXBsZS1oZWFkZXItY2VsbFwiPkNvbW1lbnQ8L21hdC1oZWFkZXItY2VsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgY2xhc3M9XCJleGFtcGxlLWNlbGxcIj4ge3tyb3cuY29tbWVudH19IDwvbWF0LWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidmljdGltQ2FzZU5vdGVJZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPVwiZXhhbXBsZS1oZWFkZXItY2VsbFwiPjwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBjbGFzcz1cImV4YW1wbGUtY2VsbFwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNhYy1jc28tcmVhZCBzYWMtdnNwLXJlYWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkVkaXQgQ2FzZSBOb3RlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uRWRpdENhc2VOb3RlKHJvdy52aWN0aW1DYXNlTm90ZUlkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5tb2RlX2VkaXQ8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm5ic3A7Jm5ic3A7XHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInNhYy12c3AtcmVhZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiRGVsZXRlIENhc2UgTm90ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EZWxldGVDYXNlTm90ZShyb3cudmljdGltQ2FzZU5vdGVJZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5kZWxldGU8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2VsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiWydjYXNlTm90ZURhdGUnLCAnY29udGFjdFR5cGUnLCAnY29udGFjdFB1cnBvc2UnLCAnY29tbWVudCcsICd2aWN0aW1DYXNlTm90ZUlkJ11cIiBjbGFzcz1cImV4YW1wbGUtaGVhZGVyLXJvd1wiPjwvbWF0LWhlYWRlci1yb3c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczpbJ2Nhc2VOb3RlRGF0ZScsICdjb250YWN0VHlwZScsICdjb250YWN0UHVycG9zZScsICdjb21tZW50JywgJ3ZpY3RpbUNhc2VOb3RlSWQnXTtcIiBjbGFzcz1cImV4YW1wbGUtcm93XCI+PC9tYXQtcm93PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtdGFibGU+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG48L21hdC1jYXJkLWNvbnRlbnQ+XHJcbjwvbWF0LWNhcmQ+XHJcbiJdfQ==
@@ -18,8 +18,9 @@ import * as i7 from "@csmart/ngc-smart-core";
18
18
  import * as i8 from "@angular/material/button";
19
19
  import * as i9 from "@angular/material/card";
20
20
  import * as i10 from "@angular/material/toolbar";
21
- import * as i11 from "@angular/material/table";
22
- import * as i12 from "@angular/common";
21
+ import * as i11 from "@angular/material/tooltip";
22
+ import * as i12 from "@angular/material/table";
23
+ import * as i13 from "@angular/common";
23
24
  export class VictimSafetyPlanComponent {
24
25
  constructor(_victimServicesComponent, commonDialogService, http, dialog, route, router, snackBar, smartAuthService) {
25
26
  this._victimServicesComponent = _victimServicesComponent;
@@ -107,10 +108,10 @@ export class VictimSafetyPlanComponent {
107
108
  this.router.navigate(['victimHome']);
108
109
  }
109
110
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: VictimSafetyPlanComponent, deps: [{ token: i1.NgcSmartVictimService }, { token: i2.CommonDialogService }, { token: i3.HttpClient }, { token: i4.MatDialog }, { token: i5.ActivatedRoute }, { token: i5.Router }, { token: i6.MatSnackBar }, { token: i7.SmartAuthService }], target: i0.ɵɵFactoryTarget.Component }); }
110
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: VictimSafetyPlanComponent, selector: "ng-component", providers: [CommonDialogService], ngImport: i0, template: "\r\n <mat-card>\r\n <mat-card-header>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <mat-toolbar color=\"primary\">\r\n <h4 class=\"card-header\" style=\"display: inline-block;\">Safety Plan</h4>\r\n </mat-toolbar>\r\n <br>\r\n <button mat-stroked-button color=\"primary\" (click)=\"goToSafetyPlanDetail(0)\" >Add Goal</button>\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"back()\">Back</button>\r\n <br>\r\n <br>\r\n <mat-table #table [dataSource]=\"safetyPlanDataSource\" class=\"example-table\">\r\n <ng-container matColumnDef=\"startDate\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Start Date</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.startDate | date}} </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"goal\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Goal</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.goal }} </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"victimServiceStatus\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Status</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.victimServiceStatus }} </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"comment\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Comment</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.comment }} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"victimServiceId\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\"></mat-header-cell>\r\n <!-- <mat-cell *matCellDef=\"let row\" class=\"example-cell\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"goToSafetyPlanDetail(row.victimServiceId)\">\r\n <span class=\"glyphicon glyphicon-pencil\" ></span>&nbsp;\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n &nbsp;&nbsp;\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"onDeleteSafetyPlan(row.victimServiceId)\">\r\n <span class=\"glyphicon glyphicon-trash\" ></span>&nbsp;Delete\r\n </button>\r\n </mat-cell> -->\r\n\r\n <mat-cell *matCellDef=\"let element\">\r\n\r\n <button class=\"edit-btn\" mat-icon-button color=\"primary\" matTooltip=\"Edit Safety Plan\" (click)=\"goToSafetyPlanDetail(element.victimServiceId)\">\r\n <i class=\"material-icons\">mode_edit</i>\r\n </button>\r\n\r\n &nbsp;&nbsp;\r\n\r\n <button\r\n class=\"delete-btn\"\r\n matTooltip=\"Delete Safety Plan\"\r\n mat-icon-button\r\n color=\"primary\"\r\n (click)=\"onDeleteSafetyPlan(element.victimServiceId)\">\r\n <i class=\"material-icons\">delete</i>\r\n </button>\r\n\r\n\r\n\r\n\r\n\r\n </mat-cell>\r\n\r\n\r\n\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"['startDate', 'goal', 'victimServiceStatus', 'comment', 'victimServiceId']\" class=\"example-header-row\"></mat-header-row>\r\n <mat-row *matRowDef=\"let row; columns:['startDate', 'goal', 'victimServiceStatus', 'comment', 'victimServiceId'];\" class=\"example-row\"></mat-row>\r\n </mat-table>\r\n\r\n\r\n</mat-card-content>\r\n</mat-card>\r\n", dependencies: [{ kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i9.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i9.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i9.MatCardHeader, selector: "mat-card-header" }, { kind: "component", type: i10.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "component", type: i11.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i11.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i11.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i11.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i11.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i11.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i11.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i11.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i11.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i11.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "pipe", type: i12.DatePipe, name: "date" }] }); }
111
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: VictimSafetyPlanComponent, selector: "ng-component", providers: [CommonDialogService], ngImport: i0, template: "\r\n <mat-card>\r\n <mat-card-header>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <mat-toolbar color=\"primary\">\r\n <h4 class=\"card-header\" style=\"display: inline-block;\">Safety Plan</h4>\r\n </mat-toolbar>\r\n <br>\r\n <button mat-stroked-button color=\"primary\" (click)=\"goToSafetyPlanDetail(0)\" >Add Goal</button>\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"back()\">Back</button>\r\n <br>\r\n <br>\r\n <mat-table #table [dataSource]=\"safetyPlanDataSource\" class=\"example-table\">\r\n <ng-container matColumnDef=\"startDate\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Start Date</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.startDate | date}} </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"goal\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Goal</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.goal }} </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"victimServiceStatus\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Status</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.victimServiceStatus }} </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"comment\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Comment</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.comment }} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"victimServiceId\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\"></mat-header-cell>\r\n <!-- <mat-cell *matCellDef=\"let row\" class=\"example-cell\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"goToSafetyPlanDetail(row.victimServiceId)\">\r\n <span class=\"glyphicon glyphicon-pencil\" ></span>&nbsp;\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n &nbsp;&nbsp;\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"onDeleteSafetyPlan(row.victimServiceId)\">\r\n <span class=\"glyphicon glyphicon-trash\" ></span>&nbsp;Delete\r\n </button>\r\n </mat-cell> -->\r\n\r\n <mat-cell *matCellDef=\"let element\">\r\n\r\n <button class=\"edit-btn\" mat-icon-button color=\"primary\" matTooltip=\"Edit Safety Plan\" (click)=\"goToSafetyPlanDetail(element.victimServiceId)\">\r\n <i class=\"material-icons\">mode_edit</i>\r\n </button>\r\n\r\n &nbsp;&nbsp;\r\n\r\n <button\r\n class=\"delete-btn\"\r\n matTooltip=\"Delete Safety Plan\"\r\n mat-icon-button\r\n color=\"primary\"\r\n (click)=\"onDeleteSafetyPlan(element.victimServiceId)\">\r\n <i class=\"material-icons\">delete</i>\r\n </button>\r\n\r\n\r\n\r\n\r\n\r\n </mat-cell>\r\n\r\n\r\n\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"['startDate', 'goal', 'victimServiceStatus', 'comment', 'victimServiceId']\" class=\"example-header-row\"></mat-header-row>\r\n <mat-row *matRowDef=\"let row; columns:['startDate', 'goal', 'victimServiceStatus', 'comment', 'victimServiceId'];\" class=\"example-row\"></mat-row>\r\n </mat-table>\r\n\r\n\r\n</mat-card-content>\r\n</mat-card>\r\n", dependencies: [{ kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i9.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i9.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i9.MatCardHeader, selector: "mat-card-header" }, { kind: "component", type: i10.MatToolbar, selector: "mat-toolbar", inputs: ["color"], exportAs: ["matToolbar"] }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i12.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i12.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i12.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i12.MatColumnDef, selector: "[matColumnDef]", inputs: ["matColumnDef"] }, { kind: "directive", type: i12.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i12.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i12.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i12.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i12.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i12.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }, { kind: "pipe", type: i13.DatePipe, name: "date" }] }); }
111
112
  }
112
113
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: VictimSafetyPlanComponent, decorators: [{
113
114
  type: Component,
114
115
  args: [{ providers: [CommonDialogService], template: "\r\n <mat-card>\r\n <mat-card-header>\r\n </mat-card-header>\r\n <mat-card-content>\r\n <mat-toolbar color=\"primary\">\r\n <h4 class=\"card-header\" style=\"display: inline-block;\">Safety Plan</h4>\r\n </mat-toolbar>\r\n <br>\r\n <button mat-stroked-button color=\"primary\" (click)=\"goToSafetyPlanDetail(0)\" >Add Goal</button>\r\n &nbsp;&nbsp;<button mat-stroked-button color=\"primary\" (click)=\"back()\">Back</button>\r\n <br>\r\n <br>\r\n <mat-table #table [dataSource]=\"safetyPlanDataSource\" class=\"example-table\">\r\n <ng-container matColumnDef=\"startDate\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Start Date</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.startDate | date}} </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"goal\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Goal</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.goal }} </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"victimServiceStatus\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Status</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.victimServiceStatus }} </mat-cell>\r\n </ng-container>\r\n <ng-container matColumnDef=\"comment\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\">Comment</mat-header-cell>\r\n <mat-cell *matCellDef=\"let row\" class=\"example-cell\"> {{row.comment }} </mat-cell>\r\n </ng-container>\r\n\r\n <ng-container matColumnDef=\"victimServiceId\">\r\n <mat-header-cell *matHeaderCellDef class=\"example-header-cell\"></mat-header-cell>\r\n <!-- <mat-cell *matCellDef=\"let row\" class=\"example-cell\">\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"goToSafetyPlanDetail(row.victimServiceId)\">\r\n <span class=\"glyphicon glyphicon-pencil\" ></span>&nbsp;\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n &nbsp;&nbsp;\r\n <button type=\"button\" mat-stroked-button color=\"primary\" (click)=\"onDeleteSafetyPlan(row.victimServiceId)\">\r\n <span class=\"glyphicon glyphicon-trash\" ></span>&nbsp;Delete\r\n </button>\r\n </mat-cell> -->\r\n\r\n <mat-cell *matCellDef=\"let element\">\r\n\r\n <button class=\"edit-btn\" mat-icon-button color=\"primary\" matTooltip=\"Edit Safety Plan\" (click)=\"goToSafetyPlanDetail(element.victimServiceId)\">\r\n <i class=\"material-icons\">mode_edit</i>\r\n </button>\r\n\r\n &nbsp;&nbsp;\r\n\r\n <button\r\n class=\"delete-btn\"\r\n matTooltip=\"Delete Safety Plan\"\r\n mat-icon-button\r\n color=\"primary\"\r\n (click)=\"onDeleteSafetyPlan(element.victimServiceId)\">\r\n <i class=\"material-icons\">delete</i>\r\n </button>\r\n\r\n\r\n\r\n\r\n\r\n </mat-cell>\r\n\r\n\r\n\r\n </ng-container>\r\n\r\n <mat-header-row *matHeaderRowDef=\"['startDate', 'goal', 'victimServiceStatus', 'comment', 'victimServiceId']\" class=\"example-header-row\"></mat-header-row>\r\n <mat-row *matRowDef=\"let row; columns:['startDate', 'goal', 'victimServiceStatus', 'comment', 'victimServiceId'];\" class=\"example-row\"></mat-row>\r\n </mat-table>\r\n\r\n\r\n</mat-card-content>\r\n</mat-card>\r\n" }]
115
116
  }], ctorParameters: () => [{ type: i1.NgcSmartVictimService }, { type: i2.CommonDialogService }, { type: i3.HttpClient }, { type: i4.MatDialog }, { type: i5.ActivatedRoute }, { type: i5.Router }, { type: i6.MatSnackBar }, { type: i7.SmartAuthService }] });
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmljdGltU2FmZXR5UGxhbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ2Mtc21hcnQtdmljdGltL3NyYy9saWIvc2FmZXR5UGxhbi92aWN0aW1TYWZldHlQbGFuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nYy1zbWFydC12aWN0aW0vc3JjL2xpYi9zYWZldHlQbGFuL3ZpY3RpbVNhZmV0eVBsYW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7QUFPMUQsTUFBTSxPQUFPLHlCQUF5QjtJQTRCcEMsWUFFVSx3QkFBK0MsRUFDL0MsbUJBQXdDLEVBQ3hDLElBQWdCLEVBQ2pCLE1BQWlCLEVBQ2hCLEtBQXFCLEVBQ3JCLE1BQWMsRUFDZixRQUFxQixFQUNwQixnQkFBa0M7UUFQbEMsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF1QjtRQUMvQyx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hD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LENBQUMsRUFBRTtZQUFFLElBQUksQ0FBQyxNQUFNLEdBQUksR0FBRyxDQUFDO1lBQ2xDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUVkLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztxQkFDMUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUVuQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxHQUFFLENBQUMsQ0FBQztvQkFFaEYsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsU0FBUyxDQUNuRSxpQkFBaUIsQ0FBQyxFQUFFO3dCQUNsQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUM7d0JBQzNDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO29CQUMxRCxDQUFDLENBQ0YsQ0FBQztnQkFFRCxDQUFDLENBQ0YsQ0FBQztZQUlQLENBQUM7UUFFSixDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBRXZDLENBQUM7aUlBdEpVLHlCQUF5QjtxSEFBekIseUJBQXlCLHVDQUh6QixDQUFDLG1CQUFtQixDQUFDLDBCQ2pCbEMsa3hJQXFGQTs7MkZEakVhLHlCQUF5QjtrQkFMckMsU0FBUztnQ0FFRyxDQUFDLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsSW5qZWN0LEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmdjU21hcnRWaWN0aW1TZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtdmljdGltLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3JtQnVpbGRlciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVmljdGltU2FmZXR5UGxhbixWaWN0aW1TZXJ2aWNlRGV0YWlsLFZpY3RpbVNlcnZpY2VTdGF0dXNIaXN0b3J5IH0gZnJvbSAnLi4vc21hcnQtdmljdGltLm1vZGVsJztcclxuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHsgQ29tbW9uRGlhbG9nU2VydmljZX0gZnJvbSAnLi4vLi9jb21tb24tZGlhbG9nL2NvbW1vbi1kaWFsb2cuc2VydmljZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuLy9pbXBvcnQgeyBWaWN0aW1TYWZldHlQbGFuRGV0YWlsQ29tcG9uZW50IH0gZnJvbSAnLi92aWN0aW1TYWZldHlQbGFuRGV0YWlsLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNlbGVjdGVkT2ZmZW5kZXIsIExvZ2luU3RhZmYgfSBmcm9tICdAY3NtYXJ0L25nYy1zbWFydC1jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyLCBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFNtYXJ0QXV0aFNlcnZpY2UgfSBmcm9tICdAY3NtYXJ0L25nYy1zbWFydC1jb3JlJztcclxuaW1wb3J0IHsgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBNYXRTbmFja0JhciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICB0ZW1wbGF0ZVVybDogJy4vdmljdGltU2FmZXR5UGxhbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbQ29tbW9uRGlhbG9nU2VydmljZV1cclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBWaWN0aW1TYWZldHlQbGFuQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LEFmdGVyVmlld0luaXQge1xyXG4gIC8vc2VsZWN0ZWRPZmZlbmRlcjogU2VsZWN0ZWRPZmZlbmRlcjtcclxuICBsb2dpblN0YWZmOiBMb2dpblN0YWZmO1xyXG4gIG9mZmVuZGVySWQ6IG51bWJlcjtcclxuXHJcblxyXG4gIGhpZGRlbkRldGFpbEZsYWc6Ym9vbGVhbjtcclxuICBoaWRkZW5BZGROZXdGbGFnOiBib29sZWFuO1xyXG4gIHNhZmV0eVBsYW5zOiBWaWN0aW1TYWZldHlQbGFuW107XHJcbiAgc2FmZXR5UGxhbjogVmljdGltU2FmZXR5UGxhbjtcclxuICBlZGl0U2FmZXR5UGxhbjogVmljdGltU2FmZXR5UGxhbiA9IDxWaWN0aW1TYWZldHlQbGFuPnt9O1xyXG4gIGVycm9yTWVzc2FnZTogc3RyaW5nO1xyXG4gIGNvbnRhY3RUeXBlczogYW55W107XHJcbiAgY29udGFjdFB1cnBvc2VzOiBhbnlbXTtcclxuICB2aWN0aW1TZXJ2aWNlVHlwZXM6IGFueVtdO1xyXG4gIHZpY3RpbVNhZmV0eVBsYW5zOiBWaWN0aW1TYWZldHlQbGFuW107XHJcbiAgdmljdGltU2VydmljZVN0YXR1czogYW55W107XHJcbiAgdmljdGltU2VydmljZVN0YXR1c0hpc3RvcmllczogVmljdGltU2VydmljZVN0YXR1c0hpc3RvcnlbXTtcclxuICBxdWVyeVN0cmluZzogc3RyaW5nO1xyXG4gIHZpY3RpbVNlcnZpY2VEZXRhaWw6IFZpY3RpbVNlcnZpY2VEZXRhaWxbXTtcclxuICBteVZpY3RpbVNlcnZpY2VJZDogbnVtYmVyO1xyXG4gIHJlc3VsdDogYW55O1xyXG4gIHZpY3RpbU5hbWU6IHN0cmluZztcclxuICBzdGFmZklkOiBudW1iZXI7XHJcbiAgdmljdGltSWQ6IG51bWJlcjtcclxuICBwcml2YXRlIHN1YjogYW55O1xyXG4gIHNhZmV0eVBsYW5EYXRhU291cmNlID0gbmV3ICBNYXRUYWJsZURhdGFTb3VyY2UoKTtcclxuIFxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gXHJcbiAgICBwcml2YXRlIF92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudDogTmdjU21hcnRWaWN0aW1TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBjb21tb25EaWFsb2dTZXJ2aWNlOiBDb21tb25EaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHVibGljIGRpYWxvZzogTWF0RGlhbG9nLFxyXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHVibGljIHNuYWNrQmFyOiBNYXRTbmFja0JhcixcclxuICAgIHByaXZhdGUgc21hcnRBdXRoU2VydmljZTogU21hcnRBdXRoU2VydmljZSxcclxuICAgICBcclxuICApIHtcclxuICAgIFxyXG5cclxuICAgfVxyXG4gICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICB0aGlzLnNtYXJ0QXV0aFNlcnZpY2Uuc2V0UGVybWlzc2lvbignVmljdGltJywgdGhpcy5yb3V0ZS5zbmFwc2hvdCk7XHJcbiAgfVxyXG4gXHJcbiAgbmdPbkluaXQoKSB7XHJcblxyXG4gICAgdmFyIGRhdGEgPSB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGE7XHJcbiAgICB0aGlzLmxvZ2luU3RhZmYgPSBkYXRhLmxvZ2luU3RhZmY7XHJcbiAgICB0aGlzLnN0YWZmSWQgPSAgdGhpcy5sb2dpblN0YWZmLnN0YWZmSWQ7XHJcblxyXG4gICAgdGhpcy5zdWIgPSB0aGlzLnJvdXRlLnBhcmFtcy5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgdGhpcy52aWN0aW1JZCA9IHBhcmFtc1sndmljdGltSWQnXTtcclxuXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmhpZGRlbkFkZE5ld0ZsYWcgPSBmYWxzZTtcclxuICAgIHRoaXMudmljdGltTmFtZT0gdGhpcy52aWN0aW1OYW1lO1xyXG4gIFxyXG4gICAgdGhpcy5fdmljdGltU2VydmljZXNDb21wb25lbnQuZ2V0U2FmZXR5UGxhbnModGhpcy52aWN0aW1JZCkuc3Vic2NyaWJlKFxyXG4gICAgICB2aWN0aW1TYWZldHlQbGFucyA9PiB7XHJcbiAgICAgICAgdGhpcy52aWN0aW1TYWZldHlQbGFucyA9IHZpY3RpbVNhZmV0eVBsYW5zOyBcclxuICAgICAgICB0aGlzLnNhZmV0eVBsYW5EYXRhU291cmNlLmRhdGEgPSB0aGlzLnZpY3RpbVNhZmV0eVBsYW5zO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCd0aGlzLnZpY3RpbVNhZmV0eVBsYW5zJyk7XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcy52aWN0aW1TYWZldHlQbGFucyk7XHJcblxyXG4gIFxyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgICBcclxuICAgIC8vICB0aGlzLm15VmljdGltU2VydmljZUlkID0xO1xyXG4gICAgLy8gdGhpcy5fdmljdGltU2VydmljZXNDb21wb25lbnQuZ2V0VmljdGltU2VydmljZURldGFpbCh0aGlzLm15VmljdGltU2VydmljZUlkKS5zdWJzY3JpYmUoXHJcbiAgICAvLyAgIHZpY3RpbVNlcnZpY2VEZXRhaWwgPT4ge1xyXG4gICAgLy8gICAgIHRoaXMudmljdGltU2VydmljZURldGFpbCA9IHZpY3RpbVNlcnZpY2VEZXRhaWw7XHJcbiAgICAvLyAgICAgY29uc29sZS5sb2coJ3NlcnZpY2UgZGV0YWlsJyk7XHJcbiAgICAvLyAgICAgY29uc29sZS5sb2codGhpcy52aWN0aW1TZXJ2aWNlRGV0YWlsKTsgXHJcbiAgICAvLyAgIH1cclxuICAgIC8vICk7XHJcblxyXG4gICAgdGhpcy5fdmljdGltU2VydmljZXNDb21wb25lbnQuZ2V0U2VydmljZVN0YXR1c0hpc3RvcmllcygxKS5zdWJzY3JpYmUoXHJcbiAgICAgIHZpY3RpbVNlcnZpY2VTdGF0dXNIaXN0b3JpZXMgPT4ge1xyXG4gICAgICAgLy8gdGhpcy52aWN0aW1TZXJ2aWNlU3RhdHVzSGlzdG9yaWVzID0gdmljdGltU2VydmljZVN0YXR1c0hpc3RvcmllczsgXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG4gIFxyXG4vLy0tLS0tLS0tLS0tLS0tLWdyYXBoUUwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vLyAgIGdldFZpY3RpbVNlcnZpY2VUeXBlUHJvZ3JhbVByb3ZpZGVycygpOiBPYnNlcnZhYmxlPFZpY3RpbVNlcnZpY2VUeXBlUHJvZ3JhbVByb3ZpZGVyTW9kZWxbXT4ge1xyXG4vLyAgICAgY29uc3QgcXVlcnlTdHJpbmcgPSBgXHJcbi8vICAgICAgICAge1xyXG4vLyAgICAgICAgICAgZmluZFZpY3RpbVNlcnZpY2VUeXBlUHJvZ3JhbVByb3ZpZGVycyB7XHJcbi8vICAgICAgICAgICAgICAgICBkYXRhIHtcclxuLy8gICAgICAgICAgICAgICAgICAgdmljdGltU2VydmljZVR5cGVQcm9ncmFtUHJvdmlkZXJJZFxyXG4vLyAgICAgICAgICAgICAgICAgICB2aWN0aW1TZXJ2aWNlVHlwZVxyXG4vLyAgICAgICAgICAgICAgICAgICB2aWN0aW1Qcm9ncmFtUHJvdmlkZXJcclxuLy8gICAgICAgICAgICAgICAgIH1cclxuLy8gICAgICAgICAgICAgICB9XHJcbi8vICAgICAgICAgfWA7XHJcblxyXG4gXHJcbi8vICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihlbnZpcm9ubWVudC5zbWFydEFwaVVybCwgeyBxdWVyeTogcXVlcnlTdHJpbmcgfSlcclxuLy8gICAgICAgICAubWFwKHJlc3VsdCA9PiB7XHJcbi8vICAgICAgICAgcmV0dXJuIHJlc3VsdC5kYXRhLmZpbmRWaWN0aW1TZXJ2aWNlVHlwZVByb2dyYW1Qcm92aWRlcnMuZGF0YTtcclxuLy8gICAgIH0pO1xyXG4vLyB9XHJcblxyXG4gIGdvVG9TYWZldHlQbGFuRGV0YWlsKHZpY3RpbVNlcnZpY2VJZDogbnVtYmVyKXtcclxuICBcclxuICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydzYWZ0eVBsYW5EZXRhaWwnLCB2aWN0aW1TZXJ2aWNlSWQsICB0aGlzLnZpY3RpbUlkIF0pOyBcclxuXHJcbiAgfVxyXG4gIG9uQWRkTmV3KCl7XHJcbiAgICB0aGlzLmhpZGRlbkRldGFpbEZsYWcgPSBmYWxzZTtcclxuXHJcbiAgfVxyXG4gIG9uRGVsZXRlU2FmZXR5UGxhbih2aWN0aW1TZXJ2aWNlSWQ6IG51bWJlcil7XHJcblxyXG4gICAgdGhpcy5jb21tb25EaWFsb2dTZXJ2aWNlXHJcbiAgICAuY29uZmlybSgnJywgJ0RvIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIHNhZmV0eSBwbGFuPycsICdZZXMnLCAnTm8nKVxyXG4gICAgLnN1YnNjcmliZShyZXMgPT4ge3RoaXMucmVzdWx0ID0gIHJlcztcclxuICAgICAgICBpZiAodGhpcy5yZXN1bHQpIHtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmRlbGV0ZVNhZmV0eVBsYW4odmljdGltU2VydmljZUlkLHRoaXMuc3RhZmZJZClcclxuICAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy5zbmFja0Jhci5vcGVuKCdkZWxldGUgc2FmZXR5IHBsYW4gU3VjY2Vzc2Z1bGx5ICEnLCAnJywgeyBkdXJhdGlvbjogMzAwMCx9KTtcclxuXHJcbiAgICAgICAgICAgICAgdGhpcy5fdmljdGltU2VydmljZXNDb21wb25lbnQuZ2V0U2FmZXR5UGxhbnModGhpcy52aWN0aW1JZCkuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgICAgICAgdmljdGltU2FmZXR5UGxhbnMgPT4ge1xyXG4gICAgICAgICAgICAgICAgICB0aGlzLnZpY3RpbVNhZmV0eVBsYW5zID0gdmljdGltU2FmZXR5UGxhbnM7IFxyXG4gICAgICAgICAgICAgICAgICB0aGlzLnNhZmV0eVBsYW5EYXRhU291cmNlLmRhdGEgPSB0aGlzLnZpY3RpbVNhZmV0eVBsYW5zO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgXHJcblxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYmFjaygpe1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWyd2aWN0aW1Ib21lJ10pO1xyXG4gIFxyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG59XHJcblxyXG4iLCJcclxuIDxtYXQtY2FyZD5cclxuICAgICAgICA8bWF0LWNhcmQtaGVhZGVyPlxyXG4gICAgICAgIDwvbWF0LWNhcmQtaGVhZGVyPlxyXG4gICAgICAgICA8bWF0LWNhcmQtY29udGVudD5cclxuICAgICAgICAgICAgICAgIDxtYXQtdG9vbGJhciAgY29sb3I9XCJwcmltYXJ5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cImNhcmQtaGVhZGVyXCIgc3R5bGU9XCJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XCI+U2FmZXR5IFBsYW48L2g0PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LXRvb2xiYXI+XHJcbiAgICAgICAgPGJyPlxyXG4gICAgICAgIDxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJnb1RvU2FmZXR5UGxhbkRldGFpbCgwKVwiID5BZGQgR29hbDwvYnV0dG9uPlxyXG4gICAgICAgICZuYnNwOyZuYnNwOzxidXR0b24gbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiICAoY2xpY2spPVwiYmFjaygpXCI+QmFjazwvYnV0dG9uPlxyXG4gICAgICAgIDxicj5cclxuICAgICAgICA8YnI+XHJcbiAgICAgICAgPG1hdC10YWJsZSAjdGFibGUgW2RhdGFTb3VyY2VdPVwic2FmZXR5UGxhbkRhdGFTb3VyY2VcIiBjbGFzcz1cImV4YW1wbGUtdGFibGVcIj5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwic3RhcnREYXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz1cImV4YW1wbGUtaGVhZGVyLWNlbGxcIj5TdGFydCBEYXRlPC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiIGNsYXNzPVwiZXhhbXBsZS1jZWxsXCI+IHt7cm93LnN0YXJ0RGF0ZSB8IGRhdGV9fSA8L21hdC1jZWxsPlxyXG4gICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cImdvYWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZiBjbGFzcz1cImV4YW1wbGUtaGVhZGVyLWNlbGxcIj5Hb2FsPC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBjbGFzcz1cImV4YW1wbGUtY2VsbFwiPiB7e3Jvdy5nb2FsIH19IDwvbWF0LWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJ2aWN0aW1TZXJ2aWNlU3RhdHVzXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJleGFtcGxlLWhlYWRlci1jZWxsXCI+U3RhdHVzPC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBjbGFzcz1cImV4YW1wbGUtY2VsbFwiPiB7e3Jvdy52aWN0aW1TZXJ2aWNlU3RhdHVzIH19IDwvbWF0LWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJjb21tZW50XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJleGFtcGxlLWhlYWRlci1jZWxsXCI+Q29tbWVudDwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgY2xhc3M9XCJleGFtcGxlLWNlbGxcIj4ge3tyb3cuY29tbWVudCB9fSA8L21hdC1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidmljdGltU2VydmljZUlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJleGFtcGxlLWhlYWRlci1jZWxsXCI+PC9tYXQtaGVhZGVyLWNlbGw+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgY2xhc3M9XCJleGFtcGxlLWNlbGxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJnb1RvU2FmZXR5UGxhbkRldGFpbChyb3cudmljdGltU2VydmljZUlkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImdseXBoaWNvbiBnbHlwaGljb24tcGVuY2lsXCIgPjwvc3Bhbj4mbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uPmVkaXQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOyZuYnNwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgKGNsaWNrKT1cIm9uRGVsZXRlU2FmZXR5UGxhbihyb3cudmljdGltU2VydmljZUlkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnbHlwaGljb24gZ2x5cGhpY29uLXRyYXNoXCIgPjwvc3Bhbj4mbmJzcDtEZWxldGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2VsbD4gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImVkaXQtYnRuXCIgIG1hdC1pY29uLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAgbWF0VG9vbHRpcD1cIkVkaXQgU2FmZXR5IFBsYW5cIiAoY2xpY2spPVwiZ29Ub1NhZmV0eVBsYW5EZXRhaWwoZWxlbWVudC52aWN0aW1TZXJ2aWNlSWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPm1vZGVfZWRpdDwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOyZuYnNwO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZGVsZXRlLWJ0blwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiRGVsZXRlIFNhZmV0eSBQbGFuXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkRlbGV0ZVNhZmV0eVBsYW4oZWxlbWVudC52aWN0aW1TZXJ2aWNlSWQpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCI+ZGVsZXRlPC9pPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG5cclxuXHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtY2VsbD5cclxuXHJcblxyXG5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgICAgICAgIDxtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiWydzdGFydERhdGUnLCAnZ29hbCcsICd2aWN0aW1TZXJ2aWNlU3RhdHVzJywgJ2NvbW1lbnQnLCAndmljdGltU2VydmljZUlkJ11cIiBjbGFzcz1cImV4YW1wbGUtaGVhZGVyLXJvd1wiPjwvbWF0LWhlYWRlci1yb3c+XHJcbiAgICAgICAgICAgICAgICA8bWF0LXJvdyAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczpbJ3N0YXJ0RGF0ZScsICdnb2FsJywgJ3ZpY3RpbVNlcnZpY2VTdGF0dXMnLCAnY29tbWVudCcsICd2aWN0aW1TZXJ2aWNlSWQnXTtcIiBjbGFzcz1cImV4YW1wbGUtcm93XCI+PC9tYXQtcm93PlxyXG4gICAgICAgICAgICAgICAgPC9tYXQtdGFibGU+XHJcblxyXG5cclxuPC9tYXQtY2FyZC1jb250ZW50PlxyXG48L21hdC1jYXJkPlxyXG4iXX0=
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmljdGltU2FmZXR5UGxhbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ2Mtc21hcnQtdmljdGltL3NyYy9saWIvc2FmZXR5UGxhbi92aWN0aW1TYWZldHlQbGFuLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nYy1zbWFydC12aWN0aW0vc3JjL2xpYi9zYWZldHlQbGFuL3ZpY3RpbVNhZmV0eVBsYW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBK0IsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBQyxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUlsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBTzFELE1BQU0sT0FBTyx5QkFBeUI7SUE0QnBDLFlBRVUsd0JBQStDLEVBQy9DLG1CQUF3QyxFQUN4QyxJQUFnQixFQUNqQixNQUFpQixFQUNoQixLQUFxQixFQUNyQixNQUFjLEVBQ2YsUUFBcUIsRUFDcEIsZ0JBQWtDO1FBUGxDLDZCQUF3QixHQUF4Qix3QkFBd0IsQ0FBdUI7UUFDL0Msd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFxQjtRQUN4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RyxDQUFDLEVBQUU7WUFBRSxJQUFJLENBQUMsTUFBTSxHQUFJLEdBQUcsQ0FBQztZQUNsQyxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFFZCxJQUFJLENBQUMsd0JBQXdCLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7cUJBQzFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtvQkFFbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsbUNBQW1DLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksR0FBRSxDQUFDLENBQUM7b0JBRWhGLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FDbkUsaUJBQWlCLENBQUMsRUFBRTt3QkFDbEIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLGlCQUFpQixDQUFDO3dCQUMzQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQztvQkFDMUQsQ0FBQyxDQUNGLENBQUM7Z0JBRUQsQ0FBQyxDQUNGLENBQUM7WUFJUCxDQUFDO1FBRUosQ0FBQyxDQUFDLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztJQUV2QyxDQUFDO2lJQXRKVSx5QkFBeUI7cUhBQXpCLHlCQUF5Qix1Q0FIekIsQ0FBQyxtQkFBbUIsQ0FBQywwQkNqQmxDLGt4SUFxRkE7OzJGRGpFYSx5QkFBeUI7a0JBTHJDLFNBQVM7Z0NBRUcsQ0FBQyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LEluamVjdCxBZnRlclZpZXdJbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nY1NtYXJ0VmljdGltU2VydmljZSB9IGZyb20gJy4uL3NtYXJ0LXZpY3RpbS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFZpY3RpbVNhZmV0eVBsYW4sVmljdGltU2VydmljZURldGFpbCxWaWN0aW1TZXJ2aWNlU3RhdHVzSGlzdG9yeSB9IGZyb20gJy4uL3NtYXJ0LXZpY3RpbS5tb2RlbCc7XHJcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IENvbW1vbkRpYWxvZ1NlcnZpY2V9IGZyb20gJy4uLy4vY29tbW9uLWRpYWxvZy9jb21tb24tZGlhbG9nLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbi8vaW1wb3J0IHsgVmljdGltU2FmZXR5UGxhbkRldGFpbENvbXBvbmVudCB9IGZyb20gJy4vdmljdGltU2FmZXR5UGxhbkRldGFpbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTZWxlY3RlZE9mZmVuZGVyLCBMb2dpblN0YWZmIH0gZnJvbSAnQGNzbWFydC9uZ2Mtc21hcnQtY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlciwgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTbWFydEF1dGhTZXJ2aWNlIH0gZnJvbSAnQGNzbWFydC9uZ2Mtc21hcnQtY29yZSc7XHJcbmltcG9ydCB7IE1hdFRhYmxlRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3RhYmxlJztcclxuaW1wb3J0IHsgTWF0U25hY2tCYXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ZpY3RpbVNhZmV0eVBsYW4uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHByb3ZpZGVyczogW0NvbW1vbkRpYWxvZ1NlcnZpY2VdXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgVmljdGltU2FmZXR5UGxhbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxBZnRlclZpZXdJbml0IHtcclxuICAvL3NlbGVjdGVkT2ZmZW5kZXI6IFNlbGVjdGVkT2ZmZW5kZXI7XHJcbiAgbG9naW5TdGFmZjogTG9naW5TdGFmZjtcclxuICBvZmZlbmRlcklkOiBudW1iZXI7XHJcblxyXG5cclxuICBoaWRkZW5EZXRhaWxGbGFnOmJvb2xlYW47XHJcbiAgaGlkZGVuQWRkTmV3RmxhZzogYm9vbGVhbjtcclxuICBzYWZldHlQbGFuczogVmljdGltU2FmZXR5UGxhbltdO1xyXG4gIHNhZmV0eVBsYW46IFZpY3RpbVNhZmV0eVBsYW47XHJcbiAgZWRpdFNhZmV0eVBsYW46IFZpY3RpbVNhZmV0eVBsYW4gPSA8VmljdGltU2FmZXR5UGxhbj57fTtcclxuICBlcnJvck1lc3NhZ2U6IHN0cmluZztcclxuICBjb250YWN0VHlwZXM6IGFueVtdO1xyXG4gIGNvbnRhY3RQdXJwb3NlczogYW55W107XHJcbiAgdmljdGltU2VydmljZVR5cGVzOiBhbnlbXTtcclxuICB2aWN0aW1TYWZldHlQbGFuczogVmljdGltU2FmZXR5UGxhbltdO1xyXG4gIHZpY3RpbVNlcnZpY2VTdGF0dXM6IGFueVtdO1xyXG4gIHZpY3RpbVNlcnZpY2VTdGF0dXNIaXN0b3JpZXM6IFZpY3RpbVNlcnZpY2VTdGF0dXNIaXN0b3J5W107XHJcbiAgcXVlcnlTdHJpbmc6IHN0cmluZztcclxuICB2aWN0aW1TZXJ2aWNlRGV0YWlsOiBWaWN0aW1TZXJ2aWNlRGV0YWlsW107XHJcbiAgbXlWaWN0aW1TZXJ2aWNlSWQ6IG51bWJlcjtcclxuICByZXN1bHQ6IGFueTtcclxuICB2aWN0aW1OYW1lOiBzdHJpbmc7XHJcbiAgc3RhZmZJZDogbnVtYmVyO1xyXG4gIHZpY3RpbUlkOiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBzdWI6IGFueTtcclxuICBzYWZldHlQbGFuRGF0YVNvdXJjZSA9IG5ldyAgTWF0VGFibGVEYXRhU291cmNlKCk7XHJcbiBcclxuICBjb25zdHJ1Y3RvcihcclxuIFxyXG4gICAgcHJpdmF0ZSBfdmljdGltU2VydmljZXNDb21wb25lbnQ6IE5nY1NtYXJ0VmljdGltU2VydmljZSxcclxuICAgIHByaXZhdGUgY29tbW9uRGlhbG9nU2VydmljZTogQ29tbW9uRGlhbG9nU2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHB1YmxpYyBzbmFja0JhcjogTWF0U25hY2tCYXIsXHJcbiAgICBwcml2YXRlIHNtYXJ0QXV0aFNlcnZpY2U6IFNtYXJ0QXV0aFNlcnZpY2UsXHJcbiAgICAgXHJcbiAgKSB7XHJcbiAgICBcclxuXHJcbiAgIH1cclxuICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5zbWFydEF1dGhTZXJ2aWNlLnNldFBlcm1pc3Npb24oJ1ZpY3RpbScsIHRoaXMucm91dGUuc25hcHNob3QpO1xyXG4gIH1cclxuIFxyXG4gIG5nT25Jbml0KCkge1xyXG5cclxuICAgIHZhciBkYXRhID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5kYXRhO1xyXG4gICAgdGhpcy5sb2dpblN0YWZmID0gZGF0YS5sb2dpblN0YWZmO1xyXG4gICAgdGhpcy5zdGFmZklkID0gIHRoaXMubG9naW5TdGFmZi5zdGFmZklkO1xyXG5cclxuICAgIHRoaXMuc3ViID0gdGhpcy5yb3V0ZS5wYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgIHRoaXMudmljdGltSWQgPSBwYXJhbXNbJ3ZpY3RpbUlkJ107XHJcblxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5oaWRkZW5BZGROZXdGbGFnID0gZmFsc2U7XHJcbiAgICB0aGlzLnZpY3RpbU5hbWU9IHRoaXMudmljdGltTmFtZTtcclxuICBcclxuICAgIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmdldFNhZmV0eVBsYW5zKHRoaXMudmljdGltSWQpLnN1YnNjcmliZShcclxuICAgICAgdmljdGltU2FmZXR5UGxhbnMgPT4ge1xyXG4gICAgICAgIHRoaXMudmljdGltU2FmZXR5UGxhbnMgPSB2aWN0aW1TYWZldHlQbGFuczsgXHJcbiAgICAgICAgdGhpcy5zYWZldHlQbGFuRGF0YVNvdXJjZS5kYXRhID0gdGhpcy52aWN0aW1TYWZldHlQbGFucztcclxuICAgICAgICBjb25zb2xlLmxvZygndGhpcy52aWN0aW1TYWZldHlQbGFucycpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMudmljdGltU2FmZXR5UGxhbnMpO1xyXG5cclxuICBcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICAgXHJcbiAgICAvLyAgdGhpcy5teVZpY3RpbVNlcnZpY2VJZCA9MTtcclxuICAgIC8vIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmdldFZpY3RpbVNlcnZpY2VEZXRhaWwodGhpcy5teVZpY3RpbVNlcnZpY2VJZCkuc3Vic2NyaWJlKFxyXG4gICAgLy8gICB2aWN0aW1TZXJ2aWNlRGV0YWlsID0+IHtcclxuICAgIC8vICAgICB0aGlzLnZpY3RpbVNlcnZpY2VEZXRhaWwgPSB2aWN0aW1TZXJ2aWNlRGV0YWlsO1xyXG4gICAgLy8gICAgIGNvbnNvbGUubG9nKCdzZXJ2aWNlIGRldGFpbCcpO1xyXG4gICAgLy8gICAgIGNvbnNvbGUubG9nKHRoaXMudmljdGltU2VydmljZURldGFpbCk7IFxyXG4gICAgLy8gICB9XHJcbiAgICAvLyApO1xyXG5cclxuICAgIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmdldFNlcnZpY2VTdGF0dXNIaXN0b3JpZXMoMSkuc3Vic2NyaWJlKFxyXG4gICAgICB2aWN0aW1TZXJ2aWNlU3RhdHVzSGlzdG9yaWVzID0+IHtcclxuICAgICAgIC8vIHRoaXMudmljdGltU2VydmljZVN0YXR1c0hpc3RvcmllcyA9IHZpY3RpbVNlcnZpY2VTdGF0dXNIaXN0b3JpZXM7IFxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuICBcclxuLy8tLS0tLS0tLS0tLS0tLS1ncmFwaFFMLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy8gICBnZXRWaWN0aW1TZXJ2aWNlVHlwZVByb2dyYW1Qcm92aWRlcnMoKTogT2JzZXJ2YWJsZTxWaWN0aW1TZXJ2aWNlVHlwZVByb2dyYW1Qcm92aWRlck1vZGVsW10+IHtcclxuLy8gICAgIGNvbnN0IHF1ZXJ5U3RyaW5nID0gYFxyXG4vLyAgICAgICAgIHtcclxuLy8gICAgICAgICAgIGZpbmRWaWN0aW1TZXJ2aWNlVHlwZVByb2dyYW1Qcm92aWRlcnMge1xyXG4vLyAgICAgICAgICAgICAgICAgZGF0YSB7XHJcbi8vICAgICAgICAgICAgICAgICAgIHZpY3RpbVNlcnZpY2VUeXBlUHJvZ3JhbVByb3ZpZGVySWRcclxuLy8gICAgICAgICAgICAgICAgICAgdmljdGltU2VydmljZVR5cGVcclxuLy8gICAgICAgICAgICAgICAgICAgdmljdGltUHJvZ3JhbVByb3ZpZGVyXHJcbi8vICAgICAgICAgICAgICAgICB9XHJcbi8vICAgICAgICAgICAgICAgfVxyXG4vLyAgICAgICAgIH1gO1xyXG5cclxuIFxyXG4vLyAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oZW52aXJvbm1lbnQuc21hcnRBcGlVcmwsIHsgcXVlcnk6IHF1ZXJ5U3RyaW5nIH0pXHJcbi8vICAgICAgICAgLm1hcChyZXN1bHQgPT4ge1xyXG4vLyAgICAgICAgIHJldHVybiByZXN1bHQuZGF0YS5maW5kVmljdGltU2VydmljZVR5cGVQcm9ncmFtUHJvdmlkZXJzLmRhdGE7XHJcbi8vICAgICB9KTtcclxuLy8gfVxyXG5cclxuICBnb1RvU2FmZXR5UGxhbkRldGFpbCh2aWN0aW1TZXJ2aWNlSWQ6IG51bWJlcil7XHJcbiAgXHJcbiAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnc2FmdHlQbGFuRGV0YWlsJywgdmljdGltU2VydmljZUlkLCAgdGhpcy52aWN0aW1JZCBdKTsgXHJcblxyXG4gIH1cclxuICBvbkFkZE5ldygpe1xyXG4gICAgdGhpcy5oaWRkZW5EZXRhaWxGbGFnID0gZmFsc2U7XHJcblxyXG4gIH1cclxuICBvbkRlbGV0ZVNhZmV0eVBsYW4odmljdGltU2VydmljZUlkOiBudW1iZXIpe1xyXG5cclxuICAgIHRoaXMuY29tbW9uRGlhbG9nU2VydmljZVxyXG4gICAgLmNvbmZpcm0oJycsICdEbyB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBzYWZldHkgcGxhbj8nLCAnWWVzJywgJ05vJylcclxuICAgIC5zdWJzY3JpYmUocmVzID0+IHt0aGlzLnJlc3VsdCA9ICByZXM7XHJcbiAgICAgICAgaWYgKHRoaXMucmVzdWx0KSB7XHJcblxyXG4gICAgICAgICAgICB0aGlzLl92aWN0aW1TZXJ2aWNlc0NvbXBvbmVudC5kZWxldGVTYWZldHlQbGFuKHZpY3RpbVNlcnZpY2VJZCx0aGlzLnN0YWZmSWQpXHJcbiAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMuc25hY2tCYXIub3BlbignZGVsZXRlIHNhZmV0eSBwbGFuIFN1Y2Nlc3NmdWxseSAhJywgJycsIHsgZHVyYXRpb246IDMwMDAsfSk7XHJcblxyXG4gICAgICAgICAgICAgIHRoaXMuX3ZpY3RpbVNlcnZpY2VzQ29tcG9uZW50LmdldFNhZmV0eVBsYW5zKHRoaXMudmljdGltSWQpLnN1YnNjcmliZShcclxuICAgICAgICAgICAgICAgIHZpY3RpbVNhZmV0eVBsYW5zID0+IHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy52aWN0aW1TYWZldHlQbGFucyA9IHZpY3RpbVNhZmV0eVBsYW5zOyBcclxuICAgICAgICAgICAgICAgICAgdGhpcy5zYWZldHlQbGFuRGF0YVNvdXJjZS5kYXRhID0gdGhpcy52aWN0aW1TYWZldHlQbGFucztcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICApO1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIFxyXG5cclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICB9KTtcclxuICB9XHJcblxyXG4gIGJhY2soKXtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsndmljdGltSG9tZSddKTtcclxuICBcclxuICB9XHJcblxyXG5cclxuXHJcblxyXG5cclxufVxyXG5cclxuIiwiXHJcbiA8bWF0LWNhcmQ+XHJcbiAgICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cclxuICAgICAgICA8L21hdC1jYXJkLWhlYWRlcj5cclxuICAgICAgICAgPG1hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgICAgICAgICAgICAgICA8bWF0LXRvb2xiYXIgIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJjYXJkLWhlYWRlclwiIHN0eWxlPVwiZGlzcGxheTogaW5saW5lLWJsb2NrO1wiPlNhZmV0eSBQbGFuPC9oND5cclxuICAgICAgICAgICAgICAgICAgICA8L21hdC10b29sYmFyPlxyXG4gICAgICAgIDxicj5cclxuICAgICAgICA8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZ29Ub1NhZmV0eVBsYW5EZXRhaWwoMClcIiA+QWRkIEdvYWw8L2J1dHRvbj5cclxuICAgICAgICAmbmJzcDsmbmJzcDs8YnV0dG9uIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAgKGNsaWNrKT1cImJhY2soKVwiPkJhY2s8L2J1dHRvbj5cclxuICAgICAgICA8YnI+XHJcbiAgICAgICAgPGJyPlxyXG4gICAgICAgIDxtYXQtdGFibGUgI3RhYmxlIFtkYXRhU291cmNlXT1cInNhZmV0eVBsYW5EYXRhU291cmNlXCIgY2xhc3M9XCJleGFtcGxlLXRhYmxlXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInN0YXJ0RGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJleGFtcGxlLWhlYWRlci1jZWxsXCI+U3RhcnQgRGF0ZTwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDxtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCByb3dcIiBjbGFzcz1cImV4YW1wbGUtY2VsbFwiPiB7e3Jvdy5zdGFydERhdGUgfCBkYXRlfX0gPC9tYXQtY2VsbD5cclxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJnb2FsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWYgY2xhc3M9XCJleGFtcGxlLWhlYWRlci1jZWxsXCI+R29hbDwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgY2xhc3M9XCJleGFtcGxlLWNlbGxcIj4ge3tyb3cuZ29hbCB9fSA8L21hdC1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidmljdGltU2VydmljZVN0YXR1c1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPVwiZXhhbXBsZS1oZWFkZXItY2VsbFwiPlN0YXR1czwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgcm93XCIgY2xhc3M9XCJleGFtcGxlLWNlbGxcIj4ge3tyb3cudmljdGltU2VydmljZVN0YXR1cyB9fSA8L21hdC1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiY29tbWVudFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPVwiZXhhbXBsZS1oZWFkZXItY2VsbFwiPkNvbW1lbnQ8L21hdC1oZWFkZXItY2VsbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiIGNsYXNzPVwiZXhhbXBsZS1jZWxsXCI+IHt7cm93LmNvbW1lbnQgfX0gPC9tYXQtY2VsbD5cclxuICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInZpY3RpbVNlcnZpY2VJZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGNsYXNzPVwiZXhhbXBsZS1oZWFkZXItY2VsbFwiPjwvbWF0LWhlYWRlci1jZWxsPlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IHJvd1wiIGNsYXNzPVwiZXhhbXBsZS1jZWxsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIG1hdC1zdHJva2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwiZ29Ub1NhZmV0eVBsYW5EZXRhaWwocm93LnZpY3RpbVNlcnZpY2VJZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJnbHlwaGljb24gZ2x5cGhpY29uLXBlbmNpbFwiID48L3NwYW4+Jm5ic3A7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgbWF0LXN0cm9rZWQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvbkRlbGV0ZVNhZmV0eVBsYW4ocm93LnZpY3RpbVNlcnZpY2VJZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ2x5cGhpY29uIGdseXBoaWNvbi10cmFzaFwiID48L3NwYW4+Jm5ic3A7RGVsZXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWNlbGw+IC0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8bWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJlZGl0LWJ0blwiICBtYXQtaWNvbi1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgIG1hdFRvb2x0aXA9XCJFZGl0IFNhZmV0eSBQbGFuXCIgKGNsaWNrKT1cImdvVG9TYWZldHlQbGFuRGV0YWlsKGVsZW1lbnQudmljdGltU2VydmljZUlkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5tb2RlX2VkaXQ8L2k+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImRlbGV0ZS1idG5cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkRlbGV0ZSBTYWZldHkgUGxhblwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25EZWxldGVTYWZldHlQbGFuKGVsZW1lbnQudmljdGltU2VydmljZUlkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPmRlbGV0ZTwvaT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuXHJcblxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvbWF0LWNlbGw+XHJcblxyXG5cclxuXHJcbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICAgICAgICA8bWF0LWhlYWRlci1yb3cgKm1hdEhlYWRlclJvd0RlZj1cIlsnc3RhcnREYXRlJywgJ2dvYWwnLCAndmljdGltU2VydmljZVN0YXR1cycsICdjb21tZW50JywgJ3ZpY3RpbVNlcnZpY2VJZCddXCIgY2xhc3M9XCJleGFtcGxlLWhlYWRlci1yb3dcIj48L21hdC1oZWFkZXItcm93PlxyXG4gICAgICAgICAgICAgICAgPG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6WydzdGFydERhdGUnLCAnZ29hbCcsICd2aWN0aW1TZXJ2aWNlU3RhdHVzJywgJ2NvbW1lbnQnLCAndmljdGltU2VydmljZUlkJ107XCIgY2xhc3M9XCJleGFtcGxlLXJvd1wiPjwvbWF0LXJvdz5cclxuICAgICAgICAgICAgICAgIDwvbWF0LXRhYmxlPlxyXG5cclxuXHJcbjwvbWF0LWNhcmQtY29udGVudD5cclxuPC9tYXQtY2FyZD5cclxuIl19
@@ -14,31 +14,31 @@ export class SmartVictimDeleteConfirmComponent {
14
14
  ngOnInit() {
15
15
  }
16
16
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SmartVictimDeleteConfirmComponent, deps: [{ token: i1.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
17
- /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: SmartVictimDeleteConfirmComponent, selector: "csmart-victim-delete-confirm", ngImport: i0, template: `
18
- <h1 mat-dialog-title>Delete Confirmation</h1>
19
- <div mat-dialog-content>
20
- <p>Are you sure you want to delete this item?</p>
21
- </div>
22
- <div mat-dialog-actions class="actions">
23
- <button mat-flat-button color="primary" (click)="onNoClick()">No</button>
24
- <button mat-flat-button color="warn" [mat-dialog-close]='"YES"' cdkFocusInitial>Yes</button>
25
- </div>
17
+ /** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.0", type: SmartVictimDeleteConfirmComponent, selector: "csmart-victim-delete-confirm", ngImport: i0, template: `
18
+ <h1 mat-dialog-title>Delete Confirmation</h1>
19
+ <div mat-dialog-content>
20
+ <p>Are you sure you want to delete this item?</p>
21
+ </div>
22
+ <div mat-dialog-actions class="actions">
23
+ <button mat-flat-button color="primary" (click)="onNoClick()">No</button>
24
+ <button mat-flat-button color="warn" [mat-dialog-close]='"YES"' cdkFocusInitial>Yes</button>
25
+ </div>
26
26
  `, isInline: true, styles: [".actions{display:flex;justify-content:space-between}\n"], dependencies: [{ kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i1.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
27
27
  }
28
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SmartVictimDeleteConfirmComponent, decorators: [{
29
29
  type: Component,
30
- args: [{ selector: 'csmart-victim-delete-confirm', template: `
31
- <h1 mat-dialog-title>Delete Confirmation</h1>
32
- <div mat-dialog-content>
33
- <p>Are you sure you want to delete this item?</p>
34
- </div>
35
- <div mat-dialog-actions class="actions">
36
- <button mat-flat-button color="primary" (click)="onNoClick()">No</button>
37
- <button mat-flat-button color="warn" [mat-dialog-close]='"YES"' cdkFocusInitial>Yes</button>
38
- </div>
30
+ args: [{ selector: 'csmart-victim-delete-confirm', template: `
31
+ <h1 mat-dialog-title>Delete Confirmation</h1>
32
+ <div mat-dialog-content>
33
+ <p>Are you sure you want to delete this item?</p>
34
+ </div>
35
+ <div mat-dialog-actions class="actions">
36
+ <button mat-flat-button color="primary" (click)="onNoClick()">No</button>
37
+ <button mat-flat-button color="warn" [mat-dialog-close]='"YES"' cdkFocusInitial>Yes</button>
38
+ </div>
39
39
  `, styles: [".actions{display:flex;justify-content:space-between}\n"] }]
40
40
  }], ctorParameters: () => [{ type: i1.MatDialogRef }, { type: undefined, decorators: [{
41
41
  type: Inject,
42
42
  args: [MAT_DIALOG_DATA]
43
43
  }] }] });
44
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmljdGltLWRlbGV0ZS1jb25maXJtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nYy1zbWFydC12aWN0aW0vc3JjL2xpYi9zbWFydC12aWN0aW0tZGVsZXRlLWNvbmZpcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBWSxZQUFZLEVBQUUsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFxQmxGLE1BQU0sT0FBTyxpQ0FBaUM7SUFFNUMsWUFBb0IsU0FBMEQsRUFDNUMsSUFBUztRQUR2QixjQUFTLEdBQVQsU0FBUyxDQUFpRDtRQUM1QyxTQUFJLEdBQUosSUFBSSxDQUFLO0lBQUksQ0FBQztJQUVoRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7aUlBVlUsaUNBQWlDLDhDQUdsQyxlQUFlO3FIQUhkLGlDQUFpQyxvRUFqQmxDOzs7Ozs7Ozs7R0FTVDs7MkZBUVUsaUNBQWlDO2tCQW5CN0MsU0FBUzsrQkFDRSw4QkFBOEIsWUFDOUI7Ozs7Ozs7OztHQVNUOzswQkFXRSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3NtYXJ0LXZpY3RpbS1kZWxldGUtY29uZmlybScsXHJcbiAgdGVtcGxhdGU6IGBcclxuICA8aDEgbWF0LWRpYWxvZy10aXRsZT5EZWxldGUgQ29uZmlybWF0aW9uPC9oMT5cclxuICA8ZGl2IG1hdC1kaWFsb2ctY29udGVudD5cclxuICAgIDxwPkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBpdGVtPzwvcD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IG1hdC1kaWFsb2ctYWN0aW9ucyBjbGFzcz1cImFjdGlvbnNcIj5cclxuICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvbk5vQ2xpY2soKVwiPk5vPC9idXR0b24+XHJcbiAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cIndhcm5cIiBbbWF0LWRpYWxvZy1jbG9zZV09J1wiWUVTXCInIGNka0ZvY3VzSW5pdGlhbD5ZZXM8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICBgLFxyXG4gIHN0eWxlczogW2BcclxuICAgICAuYWN0aW9uc3tcclxuICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47ICBcclxuICAgICAgfVxyXG4gIGBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydFZpY3RpbURlbGV0ZUNvbmZpcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBjb25zdHJ1Y3RvciggcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFNtYXJ0VmljdGltRGVsZXRlQ29uZmlybUNvbXBvbmVudD4sXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSkgeyB9XHJcblxyXG4gIG9uTm9DbGljaygpOiB2b2lkIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmljdGltLWRlbGV0ZS1jb25maXJtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nYy1zbWFydC12aWN0aW0vc3JjL2xpYi9zbWFydC12aWN0aW0tZGVsZXRlLWNvbmZpcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBWSxZQUFZLEVBQUUsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFxQmxGLE1BQU0sT0FBTyxpQ0FBaUM7SUFFNUMsWUFBb0IsU0FBMEQsRUFDNUMsSUFBUztRQUR2QixjQUFTLEdBQVQsU0FBUyxDQUFpRDtRQUM1QyxTQUFJLEdBQUosSUFBSSxDQUFLO0lBQUksQ0FBQztJQUVoRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsUUFBUTtJQUNSLENBQUM7aUlBVlUsaUNBQWlDLDhDQUdsQyxlQUFlO3FIQUhkLGlDQUFpQyxvRUFqQmxDOzs7Ozs7Ozs7R0FTVDs7MkZBUVUsaUNBQWlDO2tCQW5CN0MsU0FBUzsrQkFDRSw4QkFBOEIsWUFDOUI7Ozs7Ozs7OztHQVNUOzswQkFXRSxNQUFNOzJCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7TWF0RGlhbG9nLCBNYXREaWFsb2dSZWYsIE1BVF9ESUFMT0dfREFUQX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY3NtYXJ0LXZpY3RpbS1kZWxldGUtY29uZmlybScsXHJcbiAgdGVtcGxhdGU6IGBcbiAgPGgxIG1hdC1kaWFsb2ctdGl0bGU+RGVsZXRlIENvbmZpcm1hdGlvbjwvaDE+XG4gIDxkaXYgbWF0LWRpYWxvZy1jb250ZW50PlxuICAgIDxwPkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBpdGVtPzwvcD5cbiAgPC9kaXY+XG4gIDxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwiYWN0aW9uc1wiPlxuICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiIChjbGljayk9XCJvbk5vQ2xpY2soKVwiPk5vPC9idXR0b24+XG4gICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJ3YXJuXCIgW21hdC1kaWFsb2ctY2xvc2VdPSdcIllFU1wiJyBjZGtGb2N1c0luaXRpYWw+WWVzPC9idXR0b24+XG4gIDwvZGl2PlxuICBgLFxyXG4gIHN0eWxlczogW2BcbiAgICAgLmFjdGlvbnN7XG4gICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47ICBcbiAgICAgIH1cbiAgYF1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0VmljdGltRGVsZXRlQ29uZmlybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCBwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8U21hcnRWaWN0aW1EZWxldGVDb25maXJtQ29tcG9uZW50PixcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55KSB7IH1cclxuXHJcbiAgb25Ob0NsaWNrKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gIH1cclxuXHJcbn1cclxuIl19