@hmcts/ccd-case-ui-toolkit 7.1.74 → 7.1.75-inputmode-numeric

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -260,7 +260,7 @@ export class DateInputComponent {
260
260
  useExisting: forwardRef(() => DateInputComponent),
261
261
  multi: true
262
262
  }
263
- ])], decls: 22, vars: 33, consts: [["dayInput", ""], ["monthInput", ""], ["yearInput", ""], ["hourInput", ""], ["minuteInput", ""], ["secondInput", ""], [1, "form-date"], [1, "form-group", "form-group-day"], [1, "form-label", 3, "for"], ["type", "text", "pattern", "[0-9]*", "inputmode", "numeric", 1, "form-control", 3, "change", "keyup", "focus", "id", "name", "value", "ngClass"], [1, "form-group", "form-group-month"], [1, "form-group", "form-group-year"], ["class", "form-group form-group-hour", 4, "ngIf"], ["class", "form-group form-group-minute", 4, "ngIf"], ["class", "form-group form-group-second", 4, "ngIf"], [1, "form-group", "form-group-hour"], ["type", "number", 1, "form-control", 3, "input", "keyup", "focus", "id", "name", "value", "ngClass"], [1, "form-group", "form-group-minute"], [1, "form-group", "form-group-second"]], template: function DateInputComponent_Template(rf, ctx) { if (rf & 1) {
263
+ ])], decls: 22, vars: 33, consts: [["dayInput", ""], ["monthInput", ""], ["yearInput", ""], ["hourInput", ""], ["minuteInput", ""], ["secondInput", ""], [1, "form-date"], [1, "form-group", "form-group-day"], [1, "form-label", 3, "for"], ["type", "text", "pattern", "[0-9]*", "inputmode", "numeric", 1, "form-control", 3, "change", "keyup", "focus", "id", "name", "value", "ngClass"], [1, "form-group", "form-group-month"], [1, "form-group", "form-group-year"], ["class", "form-group form-group-hour", 4, "ngIf"], ["class", "form-group form-group-minute", 4, "ngIf"], ["class", "form-group form-group-second", 4, "ngIf"], [1, "form-group", "form-group-hour"], ["type", "text", "pattern", "[0-9]*", "inputmode", "numeric", 1, "form-control", 3, "input", "keyup", "focus", "id", "name", "value", "ngClass"], [1, "form-group", "form-group-minute"], [1, "form-group", "form-group-second"]], template: function DateInputComponent_Template(rf, ctx) { if (rf & 1) {
264
264
  const _r1 = i0.ɵɵgetCurrentView();
265
265
  i0.ɵɵelementStart(0, "div", 6)(1, "div", 7)(2, "label", 8);
266
266
  i0.ɵɵtext(3);
@@ -325,7 +325,7 @@ export class DateInputComponent {
325
325
  useExisting: forwardRef(() => DateInputComponent),
326
326
  multi: true
327
327
  }
328
- ], template: "<div class=\"form-date\">\n <div class=\"form-group form-group-day\">\n <label class=\"form-label\" [for]=\"dayId()\">{{'Day' | rpxTranslate}}</label>\n <input #dayInput\n class=\"form-control\"\n [id]=\"dayId()\"\n [name]=\"dayId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [value]=\"displayDay\"\n (change)=\"dayChange(dayInput.value)\"\n (keyup)=\"dayChange(dayInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-month\">\n <label class=\"form-label\" [for]=\"monthId()\">{{'Month' | rpxTranslate}}</label>\n <input #monthInput\n class=\"form-control\"\n [id]=\"monthId()\"\n [name]=\"monthId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [value]=\"displayMonth\"\n (change)=\"monthChange(monthInput.value)\"\n (keyup)=\"monthChange(monthInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-year\">\n <label class=\"form-label\" [for]=\"yearId()\">{{'Year' | rpxTranslate}}</label>\n <input #yearInput\n class=\"form-control\"\n [id]=\"yearId()\"\n [name]=\"yearId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [value]=\"displayYear\"\n (change)=\"yearChange(yearInput.value)\"\n (keyup)=\"yearChange(yearInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-hour\" *ngIf=\"isDateTime\">\n <label class=\"form-label\" [for]=\"hourId()\">{{'Hour' | rpxTranslate}}</label>\n <input #hourInput\n class=\"form-control\"\n [id]=\"hourId()\"\n [name]=\"hourId()\"\n type=\"number\"\n [value]=\"displayHour\"\n (input)=\"hourChange(hourInput.value)\"\n (keyup)=\"hourChange(hourInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-minute\" *ngIf=\"isDateTime\">\n <label class=\"form-label\" [for]=\"minuteId()\">{{'Minute' | rpxTranslate}}</label>\n <input #minuteInput\n class=\"form-control\"\n [id]=\"minuteId()\"\n [name]=\"minuteId()\"\n type=\"number\"\n [value]=\"displayMinute\"\n (input)=\"minuteChange(minuteInput.value)\"\n (keyup)=\"minuteChange(minuteInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-second\" *ngIf=\"isDateTime\">\n <label class=\"form-label\" [for]=\"secondId()\">{{'Second' | rpxTranslate}}</label>\n <input #secondInput\n class=\"form-control\"\n [id]=\"secondId()\"\n [name]=\"secondId()\"\n type=\"number\"\n [value]=\"displaySecond\"\n (input)=\"secondChange(secondInput.value)\"\n (keyup)=\"secondChange(secondInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n</div>\n" }]
328
+ ], template: "<div class=\"form-date\">\n <div class=\"form-group form-group-day\">\n <label class=\"form-label\" [for]=\"dayId()\">{{'Day' | rpxTranslate}}</label>\n <input #dayInput\n class=\"form-control\"\n [id]=\"dayId()\"\n [name]=\"dayId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [value]=\"displayDay\"\n (change)=\"dayChange(dayInput.value)\"\n (keyup)=\"dayChange(dayInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-month\">\n <label class=\"form-label\" [for]=\"monthId()\">{{'Month' | rpxTranslate}}</label>\n <input #monthInput\n class=\"form-control\"\n [id]=\"monthId()\"\n [name]=\"monthId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [value]=\"displayMonth\"\n (change)=\"monthChange(monthInput.value)\"\n (keyup)=\"monthChange(monthInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-year\">\n <label class=\"form-label\" [for]=\"yearId()\">{{'Year' | rpxTranslate}}</label>\n <input #yearInput\n class=\"form-control\"\n [id]=\"yearId()\"\n [name]=\"yearId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [value]=\"displayYear\"\n (change)=\"yearChange(yearInput.value)\"\n (keyup)=\"yearChange(yearInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-hour\" *ngIf=\"isDateTime\">\n <label class=\"form-label\" [for]=\"hourId()\">{{'Hour' | rpxTranslate}}</label>\n <input #hourInput\n class=\"form-control\"\n [id]=\"hourId()\"\n [name]=\"hourId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [value]=\"displayHour\"\n (input)=\"hourChange(hourInput.value)\"\n (keyup)=\"hourChange(hourInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-minute\" *ngIf=\"isDateTime\">\n <label class=\"form-label\" [for]=\"minuteId()\">{{'Minute' | rpxTranslate}}</label>\n <input #minuteInput\n class=\"form-control\"\n [id]=\"minuteId()\"\n [name]=\"minuteId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [value]=\"displayMinute\"\n (input)=\"minuteChange(minuteInput.value)\"\n (keyup)=\"minuteChange(minuteInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n\n <div class=\"form-group form-group-second\" *ngIf=\"isDateTime\">\n <label class=\"form-label\" [for]=\"secondId()\">{{'Second' | rpxTranslate}}</label>\n <input #secondInput\n class=\"form-control\"\n [id]=\"secondId()\"\n [name]=\"secondId()\"\n type=\"text\"\n pattern=\"[0-9]*\"\n inputmode=\"numeric\"\n [value]=\"displaySecond\"\n (input)=\"secondChange(secondInput.value)\"\n (keyup)=\"secondChange(secondInput.value)\"\n (focus)=\"inputFocus()\"\n [ngClass]=\"{'govuk-input--error': isInvalid}\">\n </div>\n</div>\n" }]
329
329
  }], null, { id: [{
330
330
  type: Input
331
331
  }], mandatory: [{
@@ -338,4 +338,4 @@ export class DateInputComponent {
338
338
  type: Input
339
339
  }] }); })();
340
340
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DateInputComponent, { className: "DateInputComponent", filePath: "lib/components/form/date-input/date-input.component.ts", lineNumber: 20 }); })();
341
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUF5QyxXQUFXLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUErQixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0lDaUQvSSxBQURGLCtCQUEyRCxlQUNkO0lBQUEsWUFBeUI7O0lBQUEsaUJBQVE7SUFDNUUsb0NBU3FEO0lBRDlDLEFBREEsQUFEQSxzTkFBUyxxQ0FBMkIsS0FBQyx5TUFDNUIscUNBQTJCLEtBQUMsaUtBQzVCLG1CQUFZLEtBQUM7SUFFL0IsQUFWRSxpQkFTcUQsRUFDakQ7OztJQVhzQixjQUFnQjtJQUFoQixxQ0FBZ0I7SUFBQyxjQUF5QjtJQUF6QixrREFBeUI7SUFHN0QsZUFBZTtJQU9mLEFBSkEsQUFGQSxBQURBLG9DQUFlLHlCQUNFLDZCQUVJLHlEQUl3Qjs7OztJQUlwRCxBQURGLCtCQUE2RCxlQUNkO0lBQUEsWUFBMkI7O0lBQUEsaUJBQVE7SUFDaEYsb0NBU3FEO0lBRDlDLEFBREEsQUFEQSx3TkFBUyx5Q0FBK0IsS0FBQywyTUFDaEMseUNBQStCLEtBQUMsaUtBQ2hDLG1CQUFZLEtBQUM7SUFFL0IsQUFWRSxpQkFTcUQsRUFDakQ7OztJQVhzQixjQUFrQjtJQUFsQix1Q0FBa0I7SUFBQyxjQUEy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QUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQWE7UUFDOUIsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWpDLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV0QyxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWE7UUFDN0IsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWxCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWpDLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWE7UUFDN0IsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWxCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWpDLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWE7UUFDL0IsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXBCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWpDLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV0QyxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWE7UUFDL0IsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcs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Y2QsY0FBZ0I7WUFBaEIscUNBQWdCO1lBY2hCLGNBQWdCO1lBQWhCLHFDQUFnQjs7O2lGRDFEaEQsa0JBQWtCO2NBaEI5QixTQUFTOzJCQUNFLGdCQUFnQixhQUVmO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDO3dCQUNqRCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7d0JBQ2pELEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGO2dCQUlNLEVBQUU7a0JBRFIsS0FBSztZQUlDLFNBQVM7a0JBRGYsS0FBSztZQUlDLFVBQVU7a0JBRGhCLEtBQUs7WUFJQyxXQUFXO2tCQURqQixLQUFLO1lBSUMsU0FBUztrQkFEZixLQUFLOztrRkFiSyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N1dC1kYXRlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtaW5wdXQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZUlucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZUlucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYW5kYXRvcnk6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlzRGF0ZVRpbWU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNJbnZhbGlkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBpc1RvdWNoZWQgPSBmYWxzZTtcbiAgcHVibGljIGRpc3BsYXlEYXk6IHN0cmluZyA9IG51bGw7XG4gIHB1YmxpYyBkaXNwbGF5TW9udGg6IHN0cmluZyA9IG51bGw7XG4gIHB1YmxpYyBkaXNwbGF5WWVhcjogc3RyaW5nID0gbnVsbDtcblxuICBwdWJsaWMgZGlzcGxheUhvdXI6IHN0cmluZyA9IG51bGw7XG4gIHB1YmxpYyBkaXNwbGF5TWludXRlOiBzdHJpbmcgPSBudWxsO1xuICBwdWJsaWMgZGlzcGxheVNlY29uZDogc3RyaW5nID0gbnVsbDtcbiAgLy8gV29ya3Mgd2l0aFxuICAvLyAyMDE4LTA0LTA5VDA4OjAyOjI3LjU0MlxuICAvLyAyMDE4LTA0LTA5VDA4OjAyOjI3LjU0MlpcbiAgLy8gMjAxOC0wNC0wOVQwODowMjoyNy41NDIrMDE6MDBcbiAgcHJpdmF0ZSByZWFkb25seSBEQVRFX0ZPUk1BVCA9XG4gICAgL14oMTl8MjApXFxkezJ9LT8oXFxkXFxkKS0/KFxcZFxcZCkoPzpUKFxcZFxcZCkoPzo6PyhcXGRcXGQpKD86Oj8oXFxkXFxkKSg/OlxcLihcXGQrKSk/KT8pPyhafChbKy1dKShcXGRcXGQpOj8oXFxkXFxkKSk/fFopPyQvO1xuICAvLyAgICB5ZWFyIC0gbW9udGggLSAgZGF5ICAgICBUICAgSEggICAgIDogICBNTSAgICAgIDogIFNTICAgICAgIC4wMDAgICAgICAgIFogb3IgKyAgICAgMDEgOiAgIDAwXG4gIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlOiAoXzogYW55KSA9PiB7fTtcbiAgcHJpdmF0ZSByYXdWYWx1ZSA9ICcnO1xuICBwcml2YXRlIGRheTogc3RyaW5nO1xuICBwcml2YXRlIG1vbnRoOiBzdHJpbmc7XG4gIHByaXZhdGUgeWVhcjogc3RyaW5nO1xuICBwcml2YXRlIGhvdXI6IHN0cmluZztcbiAgcHJpdmF0ZSBtaW51dGU6IHN0cmluZztcbiAgcHJpdmF0ZSBzZWNvbmQ6IHN0cmluZztcblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMubWFuZGF0b3J5ICYmIHRoaXMuaXNEYXRlVGltZSkge1xuICAgICAgdGhpcy5kaXNwbGF5SG91ciA9ICcwMCc7XG4gICAgICB0aGlzLmRpc3BsYXlNaW51dGUgPSAnMDAnO1xuICAgICAgdGhpcy5kaXNwbGF5U2Vjb25kID0gJzAwJztcbiAgICAgIHRoaXMuaG91ciA9ICcwMCc7XG4gICAgICB0aGlzLm1pbnV0ZSA9ICcwMCc7XG4gICAgICB0aGlzLnNlY29uZCA9ICcwMCc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUob2JqOiBzdHJpbmcpOiB2b2lkIHsgLy8gMjAxOC0wNC0wOVQwODowMjoyNy41NDJcbiAgICBpZiAob2JqKSB7XG4gICAgICB0aGlzLnJhd1ZhbHVlID0gdGhpcy5yZW1vdmVNaWxsaXNlY29uZHMob2JqKTtcbiAgICAgIC8vIG5lZWRzIHRvIGhhbmRsZSBhbHNvIHBhcnRpYWwgZGF0ZXMsIGUuZy4gLTA1LTIwMTYgKG1pc3NpbmcgZGF5KVxuICAgICAgY29uc3QgW2RhdGVQYXJ0LCB0aW1lUGFydF0gPSB0aGlzLnJhd1ZhbHVlLnNwbGl0KCdUJyk7XG4gICAgICBjb25zdCBkYXRlVmFsdWVzID0gZGF0ZVBhcnQuc3BsaXQoJy0nKTtcbiAgICAgIHRoaXMueWVhciA9IHRoaXMuZGlzcGxheVllYXIgPSBkYXRlVmFsdWVzWzBdIHx8ICcnO1xuICAgICAgdGhpcy5tb250aCA9IHRoaXMuZGlzcGxheU1vbnRoID0gZGF0ZVZhbHVlc1sxXSB8fCAnJztcbiAgICAgIHRoaXMuZGF5ID0gdGhpcy5kaXNwbGF5RGF5ID0gZGF0ZVZhbHVlc1syXSB8fCAnJztcbiAgICAgIGlmICh0aW1lUGFydCkge1xuICAgICAgICBjb25zdCB0aW1lUGFydHMgPSB0aW1lUGFydC5zcGxpdCgnOicpO1xuICAgICAgICB0aGlzLmhvdXIgPSB0aGlzLmRpc3BsYXlIb3VyID0gdGltZVBhcnRzWzBdIHx8ICcnO1xuICAgICAgICB0aGlzLm1pbnV0ZSA9IHRoaXMuZGlzcGxheU1pbnV0ZSA9IHRpbWVQYXJ0c1sxXSB8fCAnJztcbiAgICAgICAgdGhpcy5zZWNvbmQgPSB0aGlzLmRpc3BsYXlTZWNvbmQgPSB0aW1lUGFydHNbMl0gfHwgJyc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGlmICh0aGlzLm1hbmRhdG9yeSAmJiAhdGhpcy52aWV3VmFsdWUoKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcmVxdWlyZWQ6ICdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkJ1xuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKGNvbnRyb2wudmFsdWUgJiYgIXRoaXMuaXNEYXRlRm9ybWF0KHRoaXMuZ2V0VmFsdWVGb3JWYWxpZGF0aW9uKGNvbnRyb2wpKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGF0dGVybjogJ0RhdGUgaXMgbm90IHZhbGlkJ1xuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAvLyBEbyBub3RoaW5nLlxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudmFsaWRhdGUgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyA9PiB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZGF5Q2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAvLyBnZXQgdmFsdWUgZnJvbSBpbnB1dFxuICAgIHRoaXMuZGF5ID0gdmFsdWU7XG5cbiAgICB0aGlzLnJhd1ZhbHVlID0gdGhpcy52aWV3VmFsdWUoKTtcblxuICAgIC8vIHVwZGF0ZSB0aGUgZm9ybVxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMucmF3VmFsdWUpO1xuICB9XG5cbiAgcHVibGljIG1vbnRoQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAvLyBnZXQgdmFsdWUgZnJvbSBpbnB1dFxuICAgIHRoaXMubW9udGggPSB2YWx1ZTtcblxuICAgIHRoaXMucmF3VmFsdWUgPSB0aGlzLnZpZXdWYWx1ZSgpO1xuXG4gICAgLy8gdXBkYXRlIHRoZSBmb3JtXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5yYXdWYWx1ZSk7XG5cbiAgfVxuXG4gIHB1YmxpYyB5ZWFyQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAvLyBnZXQgdmFsdWUgZnJvbSBpbnB1dFxuICAgIHRoaXMueWVhciA9IHZhbHVlO1xuXG4gICAgdGhpcy5yYXdWYWx1ZSA9IHRoaXMudmlld1ZhbHVlKCk7XG5cbiAgICAvLyB1cGRhdGUgdGhlIGZvcm1cbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnJhd1ZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBob3VyQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAvLyBnZXQgdmFsdWUgZnJvbSBpbnB1dFxuICAgIHRoaXMuaG91ciA9IHZhbHVlO1xuXG4gICAgdGhpcy5yYXdWYWx1ZSA9IHRoaXMudmlld1ZhbHVlKCk7XG5cbiAgICAvLyB1cGRhdGUgdGhlIGZvcm1cbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnJhd1ZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBtaW51dGVDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgIC8vIGdldCB2YWx1ZSBmcm9tIGlucHV0XG4gICAgdGhpcy5taW51dGUgPSB2YWx1ZTtcblxuICAgIHRoaXMucmF3VmFsdWUgPSB0aGlzLnZpZXdWYWx1ZSgpO1xuXG4gICAgLy8gdXBkYXRlIHRoZSBmb3JtXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5yYXdWYWx1ZSk7XG5cbiAgfVxuXG4gIHB1YmxpYyBzZWNvbmRDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgIC8vIGdldCB2YWx1ZSBmcm9tIGlucHV0XG4gICAgdGhpcy5zZWNvbmQgPSB2YWx1ZTtcblxuICAgIHRoaXMucmF3VmFsdWUgPSB0aGlzLnZpZXdWYWx1ZSgpO1xuXG4gICAgLy8gdXBkYXRlIHRoZSBmb3JtXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5yYXdWYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgaW5wdXRGb2N1cygpIHtcbiAgICB0aGlzLmlzVG91Y2hlZCA9IGZhbHNlO1xuICAgIHRoaXMudG91Y2goKTtcbiAgfVxuXG4gIHB1YmxpYyB0b3VjaCgpIHtcbiAgICBpZiAodGhpcy5pc1RvdWNoZWQpIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5yYXdWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzVW50b3VjaGVkKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRheUlkKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmlkfS1kYXlgO1xuICB9XG5cbiAgcHVibGljIG1vbnRoSWQoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuaWR9LW1vbnRoYDtcbiAgfVxuXG4gIHB1YmxpYyB5ZWFySWQoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuaWR9LXllYXJgO1xuICB9XG5cbiAgcHVibGljIGhvdXJJZCgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5pZH0taG91cmA7XG4gIH1cblxuICBwdWJsaWMgbWludXRlSWQoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuaWR9LW1pbnV0ZWA7XG4gIH1cblxuICBwdWJsaWMgc2Vjb25kSWQoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuaWR9LXNlY29uZGA7XG4gIH1cblxuICBwcml2YXRlIHZpZXdWYWx1ZSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmRheSB8fCB0aGlzLm1vbnRoIHx8IHRoaXMueWVhciB8fCB0aGlzLmhvdXIgfHwgdGhpcy5taW51dGUgfHwgdGhpcy5zZWNvbmQpIHtcbiAgICAgIGNvbnN0IGRhdGUgPSBbXG4gICAgICAgIHRoaXMueWVhciA/IHRoaXMueWVhciA6ICcnLFxuICAgICAgICB0aGlzLm1vbnRoID8gdGhpcy5wYWQodGhpcy5tb250aCkgOiAnJyxcbiAgICAgICAgdGhpcy5kYXkgPyB0aGlzLnBhZCh0aGlzLmRheSkgOiAnJ1xuICAgICAgXS5qb2luKCctJyk7XG4gICAgICBpZiAodGhpcy5pc0RhdGVUaW1lKSB7XG4gICAgICAgIGNvbnN0IHRpbWUgPSBbXG4gICAgICAgICAgdGhpcy5ob3VyID8gdGhpcy5wYWQodGhpcy5ob3VyKSA6ICcnLFxuICAgICAgICAgIHRoaXMubWludXRlID8gdGhpcy5wYWQodGhpcy5taW51dGUpIDogJycsXG4gICAgICAgICAgdGhpcy5zZWNvbmQgPyB0aGlzLnBhZCh0aGlzLnNlY29uZCkgOiAnJ1xuICAgICAgICBdLmpvaW4oJzonKTtcbiAgICAgICAgcmV0dXJuIGAke2RhdGV9VCR7dGltZX0uMDAwYDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkYXRlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgaXNEYXRlRm9ybWF0KHZhbDogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuREFURV9GT1JNQVQudGVzdCh2YWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYWQobnVtOiBhbnksIHBhZE51bSA9IDIpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbCA9IG51bSAhPT0gdW5kZWZpbmVkID8gbnVtLnRvU3RyaW5nKCkgOiAnJztcbiAgICByZXR1cm4gdmFsLmxlbmd0aCA+PSBwYWROdW0gPyB2YWwgOiBuZXcgQXJyYXkocGFkTnVtIC0gdmFsLmxlbmd0aCArIDEpLmpvaW4oJzAnKSArIHZhbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmFsdWVGb3JWYWxpZGF0aW9uKGNvbnRyb2w6IGFueSkge1xuICAgIGlmICh0aGlzLmlzRGF0ZVRpbWUpIHtcbiAgICAgIHJldHVybiBjb250cm9sLnZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY29udHJvbC52YWx1ZS5yZXBsYWNlKC9aLiovLCAnVDAwOjAwOjAwWicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTWlsbGlzZWNvbmRzKGRhdGVUaW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBkYXRlVGltZS5yZXBsYWNlKC9cXC4uKi8sICcnKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZGF0ZVwiPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBmb3JtLWdyb3VwLWRheVwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBbZm9yXT1cImRheUlkKClcIj57eydEYXknIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgIDxpbnB1dCAjZGF5SW5wdXRcbiAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICBbaWRdPVwiZGF5SWQoKVwiXG4gICAgICAgICAgIFtuYW1lXT1cImRheUlkKClcIlxuICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgIHBhdHRlcm49XCJbMC05XSpcIlxuICAgICAgICAgICBpbnB1dG1vZGU9XCJudW1lcmljXCJcbiAgICAgICAgICAgW3ZhbHVlXT1cImRpc3BsYXlEYXlcIlxuICAgICAgICAgICAoY2hhbmdlKT1cImRheUNoYW5nZShkYXlJbnB1dC52YWx1ZSlcIlxuICAgICAgICAgICAoa2V5dXApPVwiZGF5Q2hhbmdlKGRheUlucHV0LnZhbHVlKVwiXG4gICAgICAgICAgIChmb2N1cyk9XCJpbnB1dEZvY3VzKClcIlxuICAgICAgICAgICBbbmdDbGFzc109XCJ7J2dvdnVrLWlucHV0LS1lcnJvcic6IGlzSW52YWxpZH1cIj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZm9ybS1ncm91cC1tb250aFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBbZm9yXT1cIm1vbnRoSWQoKVwiPnt7J01vbnRoJyB8IHJweFRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICA8aW5wdXQgI21vbnRoSW5wdXRcbiAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICBbaWRdPVwibW9udGhJZCgpXCJcbiAgICAgICAgICAgW25hbWVdPVwibW9udGhJZCgpXCJcbiAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICBwYXR0ZXJuPVwiWzAtOV0qXCJcbiAgICAgICAgICAgaW5wdXRtb2RlPVwibnVtZXJpY1wiXG4gICAgICAgICAgIFt2YWx1ZV09XCJkaXNwbGF5TW9udGhcIlxuICAgICAgICAgICAoY2hhbmdlKT1cIm1vbnRoQ2hhbmdlKG1vbnRoSW5wdXQudmFsdWUpXCJcbiAgICAgICAgICAgKGtleXVwKT1cIm1vbnRoQ2hhbmdlKG1vbnRoSW5wdXQudmFsdWUpXCJcbiAgICAgICAgICAgKGZvY3VzKT1cImlucHV0Rm9jdXMoKVwiXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZ292dWstaW5wdXQtLWVycm9yJzogaXNJbnZhbGlkfVwiPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBmb3JtLWdyb3VwLXllYXJcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgW2Zvcl09XCJ5ZWFySWQoKVwiPnt7J1llYXInIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgIDxpbnB1dCAjeWVhcklucHV0XG4gICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgW2lkXT1cInllYXJJZCgpXCJcbiAgICAgICAgICAgW25hbWVdPVwieWVhcklkKClcIlxuICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgIHBhdHRlcm49XCJbMC05XSpcIlxuICAgICAgICAgICBpbnB1dG1vZGU9XCJudW1lcmljXCJcbiAgICAgICAgICAgW3ZhbHVlXT1cImRpc3BsYXlZZWFyXCJcbiAgICAgICAgICAgKGNoYW5nZSk9XCJ5ZWFyQ2hhbmdlKHllYXJJbnB1dC52YWx1ZSlcIlxuICAgICAgICAgICAoa2V5dXApPVwieWVhckNoYW5nZSh5ZWFySW5wdXQudmFsdWUpXCJcbiAgICAgICAgICAgKGZvY3VzKT1cImlucHV0Rm9jdXMoKVwiXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZ292dWstaW5wdXQtLWVycm9yJzogaXNJbnZhbGlkfVwiPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBmb3JtLWdyb3VwLWhvdXJcIiAqbmdJZj1cImlzRGF0ZVRpbWVcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgW2Zvcl09XCJob3VySWQoKVwiPnt7J0hvdXInIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgIDxpbnB1dCAjaG91cklucHV0XG4gICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgW2lkXT1cImhvdXJJZCgpXCJcbiAgICAgICAgICAgW25hbWVdPVwiaG91cklkKClcIlxuICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgW3ZhbHVlXT1cImRpc3BsYXlIb3VyXCJcbiAgICAgICAgICAgKGlucHV0KT1cImhvdXJDaGFuZ2UoaG91cklucHV0LnZhbHVlKVwiXG4gICAgICAgICAgIChrZXl1cCk9XCJob3VyQ2hhbmdlKGhvdXJJbnB1dC52YWx1ZSlcIlxuICAgICAgICAgICAoZm9jdXMpPVwiaW5wdXRGb2N1cygpXCJcbiAgICAgICAgICAgW25nQ2xhc3NdPVwieydnb3Z1ay1pbnB1dC0tZXJyb3InOiBpc0ludmFsaWR9XCI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGZvcm0tZ3JvdXAtbWludXRlXCIgKm5nSWY9XCJpc0RhdGVUaW1lXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIFtmb3JdPVwibWludXRlSWQoKVwiPnt7J01pbnV0ZScgfCBycHhUcmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgPGlucHV0ICNtaW51dGVJbnB1dFxuICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgIFtpZF09XCJtaW51dGVJZCgpXCJcbiAgICAgICAgICAgW25hbWVdPVwibWludXRlSWQoKVwiXG4gICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICBbdmFsdWVdPVwiZGlzcGxheU1pbnV0ZVwiXG4gICAgICAgICAgIChpbnB1dCk9XCJtaW51dGVDaGFuZ2UobWludXRlSW5wdXQudmFsdWUpXCJcbiAgICAgICAgICAgKGtleXVwKT1cIm1pbnV0ZUNoYW5nZShtaW51dGVJbnB1dC52YWx1ZSlcIlxuICAgICAgICAgICAoZm9jdXMpPVwiaW5wdXRGb2N1cygpXCJcbiAgICAgICAgICAgW25nQ2xhc3NdPVwieydnb3Z1ay1pbnB1dC0tZXJyb3InOiBpc0ludmFsaWR9XCI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGZvcm0tZ3JvdXAtc2Vjb25kXCIgKm5nSWY9XCJpc0RhdGVUaW1lXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIFtmb3JdPVwic2Vjb25kSWQoKVwiPnt7J1NlY29uZCcgfCBycHhUcmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgPGlucHV0ICNzZWNvbmRJbnB1dFxuICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgIFtpZF09XCJzZWNvbmRJZCgpXCJcbiAgICAgICAgICAgW25hbWVdPVwic2Vjb25kSWQoKVwiXG4gICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICBbdmFsdWVdPVwiZGlzcGxheVNlY29uZFwiXG4gICAgICAgICAgIChpbnB1dCk9XCJzZWNvbmRDaGFuZ2Uoc2Vjb25kSW5wdXQudmFsdWUpXCJcbiAgICAgICAgICAgKGtleXVwKT1cInNlY29uZENoYW5nZShzZWNvbmRJbnB1dC52YWx1ZSlcIlxuICAgICAgICAgICAoZm9jdXMpPVwiaW5wdXRGb2N1cygpXCJcbiAgICAgICAgICAgW25nQ2xhc3NdPVwieydnb3Z1ay1pbnB1dC0tZXJyb3InOiBpc0ludmFsaWR9XCI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
341
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvY29tcG9uZW50cy9mb3JtL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDaEYsT0FBTyxFQUF5QyxXQUFXLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUErQixNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0lDaUQvSSxBQURGLCtCQUEyRCxlQUNkO0lBQUEsWUFBeUI7O0lBQUEsaUJBQVE7SUFDNUUsb0NBV3FEO0lBRDlDLEFBREEsQUFEQSxzTkFBUyxxQ0FBMkIsS0FBQyx5TUFDNUIscUNBQTJCLEtBQUMsaUtBQzVCLG1CQUFZLEtBQUM7SUFFL0IsQUFaRSxpQkFXcUQsRUFDakQ7OztJQWJzQixjQUFnQjtJQUFoQixxQ0FBZ0I7SUFBQyxjQUF5QjtJQUF6QixrREFBeUI7SUFHN0QsZUFBZTtJQVNmLEFBSkEsQUFKQSxBQURBLG9DQUFlLHlCQUNFLDZCQUlJLHlEQUl3Qjs7OztJQUlwRCxBQURGLCtCQUE2RCxlQUNkO0lBQUEsWUFBMkI7O0lBQUEsaUJBQVE7SUFDaEYsb0NBV3FEO0lBRDlDLEFBREEsQUFEQSx3TkFBUyx5Q0FBK0IsS0FBQywyTUFDaEMseUNBQStCLEtBQUMsaUtBQ2hDLG1CQUFZLEtBQUM7SUFFL0IsQUFaRSxpQkFXcUQsRUFDakQ7OztJQWJzQixjQUFrQjtJQUFsQix1Q0FBa0I7SUFBQyxjQUEy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QUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sV0FBVyxDQUFDLEtBQWE7UUFDOUIsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBRW5CLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWpDLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV0QyxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWE7UUFDN0IsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWxCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWpDLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sVUFBVSxDQUFDLEtBQWE7UUFDN0IsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBRWxCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWpDLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWE7UUFDL0IsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBRXBCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBRWpDLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV0QyxDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWE7UUFDL0IsdUJBQXVCO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcs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QjtZQWdCZCxjQUFnQjtZQUFoQixxQ0FBZ0I7WUFnQmhCLGNBQWdCO1lBQWhCLHFDQUFnQjs7O2lGRDlEaEQsa0JBQWtCO2NBaEI5QixTQUFTOzJCQUNFLGdCQUFnQixhQUVmO29CQUNUO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLG1CQUFtQixDQUFDO3dCQUNqRCxLQUFLLEVBQUUsSUFBSTtxQkFDWjtvQkFDRDt3QkFDRSxPQUFPLEVBQUUsYUFBYTt3QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsbUJBQW1CLENBQUM7d0JBQ2pELEtBQUssRUFBRSxJQUFJO3FCQUNaO2lCQUNGO2dCQUlNLEVBQUU7a0JBRFIsS0FBSztZQUlDLFNBQVM7a0JBRGYsS0FBSztZQUlDLFVBQVU7a0JBRGhCLEtBQUs7WUFJQyxXQUFXO2tCQURqQixLQUFLO1lBSUMsU0FBUztrQkFEZixLQUFLOztrRkFiSyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5HX1ZBTElEQVRPUlMsIE5HX1ZBTFVFX0FDQ0VTU09SLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2N1dC1kYXRlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtaW5wdXQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZUlucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxJREFUT1JTLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZUlucHV0Q29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYXRlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBpZDogc3RyaW5nO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBtYW5kYXRvcnk6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGlzRGF0ZVRpbWU6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaXNJbnZhbGlkOiBib29sZWFuO1xuXG4gIHB1YmxpYyBpc1RvdWNoZWQgPSBmYWxzZTtcbiAgcHVibGljIGRpc3BsYXlEYXk6IHN0cmluZyA9IG51bGw7XG4gIHB1YmxpYyBkaXNwbGF5TW9udGg6IHN0cmluZyA9IG51bGw7XG4gIHB1YmxpYyBkaXNwbGF5WWVhcjogc3RyaW5nID0gbnVsbDtcblxuICBwdWJsaWMgZGlzcGxheUhvdXI6IHN0cmluZyA9IG51bGw7XG4gIHB1YmxpYyBkaXNwbGF5TWludXRlOiBzdHJpbmcgPSBudWxsO1xuICBwdWJsaWMgZGlzcGxheVNlY29uZDogc3RyaW5nID0gbnVsbDtcbiAgLy8gV29ya3Mgd2l0aFxuICAvLyAyMDE4LTA0LTA5VDA4OjAyOjI3LjU0MlxuICAvLyAyMDE4LTA0LTA5VDA4OjAyOjI3LjU0MlpcbiAgLy8gMjAxOC0wNC0wOVQwODowMjoyNy41NDIrMDE6MDBcbiAgcHJpdmF0ZSByZWFkb25seSBEQVRFX0ZPUk1BVCA9XG4gICAgL14oMTl8MjApXFxkezJ9LT8oXFxkXFxkKS0/KFxcZFxcZCkoPzpUKFxcZFxcZCkoPzo6PyhcXGRcXGQpKD86Oj8oXFxkXFxkKSg/OlxcLihcXGQrKSk/KT8pPyhafChbKy1dKShcXGRcXGQpOj8oXFxkXFxkKSk/fFopPyQvO1xuICAvLyAgICB5ZWFyIC0gbW9udGggLSAgZGF5ICAgICBUICAgSEggICAgIDogICBNTSAgICAgIDogIFNTICAgICAgIC4wMDAgICAgICAgIFogb3IgKyAgICAgMDEgOiAgIDAwXG4gIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlOiAoXzogYW55KSA9PiB7fTtcbiAgcHJpdmF0ZSByYXdWYWx1ZSA9ICcnO1xuICBwcml2YXRlIGRheTogc3RyaW5nO1xuICBwcml2YXRlIG1vbnRoOiBzdHJpbmc7XG4gIHByaXZhdGUgeWVhcjogc3RyaW5nO1xuICBwcml2YXRlIGhvdXI6IHN0cmluZztcbiAgcHJpdmF0ZSBtaW51dGU6IHN0cmluZztcbiAgcHJpdmF0ZSBzZWNvbmQ6IHN0cmluZztcblxuICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMubWFuZGF0b3J5ICYmIHRoaXMuaXNEYXRlVGltZSkge1xuICAgICAgdGhpcy5kaXNwbGF5SG91ciA9ICcwMCc7XG4gICAgICB0aGlzLmRpc3BsYXlNaW51dGUgPSAnMDAnO1xuICAgICAgdGhpcy5kaXNwbGF5U2Vjb25kID0gJzAwJztcbiAgICAgIHRoaXMuaG91ciA9ICcwMCc7XG4gICAgICB0aGlzLm1pbnV0ZSA9ICcwMCc7XG4gICAgICB0aGlzLnNlY29uZCA9ICcwMCc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUob2JqOiBzdHJpbmcpOiB2b2lkIHsgLy8gMjAxOC0wNC0wOVQwODowMjoyNy41NDJcbiAgICBpZiAob2JqKSB7XG4gICAgICB0aGlzLnJhd1ZhbHVlID0gdGhpcy5yZW1vdmVNaWxsaXNlY29uZHMob2JqKTtcbiAgICAgIC8vIG5lZWRzIHRvIGhhbmRsZSBhbHNvIHBhcnRpYWwgZGF0ZXMsIGUuZy4gLTA1LTIwMTYgKG1pc3NpbmcgZGF5KVxuICAgICAgY29uc3QgW2RhdGVQYXJ0LCB0aW1lUGFydF0gPSB0aGlzLnJhd1ZhbHVlLnNwbGl0KCdUJyk7XG4gICAgICBjb25zdCBkYXRlVmFsdWVzID0gZGF0ZVBhcnQuc3BsaXQoJy0nKTtcbiAgICAgIHRoaXMueWVhciA9IHRoaXMuZGlzcGxheVllYXIgPSBkYXRlVmFsdWVzWzBdIHx8ICcnO1xuICAgICAgdGhpcy5tb250aCA9IHRoaXMuZGlzcGxheU1vbnRoID0gZGF0ZVZhbHVlc1sxXSB8fCAnJztcbiAgICAgIHRoaXMuZGF5ID0gdGhpcy5kaXNwbGF5RGF5ID0gZGF0ZVZhbHVlc1syXSB8fCAnJztcbiAgICAgIGlmICh0aW1lUGFydCkge1xuICAgICAgICBjb25zdCB0aW1lUGFydHMgPSB0aW1lUGFydC5zcGxpdCgnOicpO1xuICAgICAgICB0aGlzLmhvdXIgPSB0aGlzLmRpc3BsYXlIb3VyID0gdGltZVBhcnRzWzBdIHx8ICcnO1xuICAgICAgICB0aGlzLm1pbnV0ZSA9IHRoaXMuZGlzcGxheU1pbnV0ZSA9IHRpbWVQYXJ0c1sxXSB8fCAnJztcbiAgICAgICAgdGhpcy5zZWNvbmQgPSB0aGlzLmRpc3BsYXlTZWNvbmQgPSB0aW1lUGFydHNbMl0gfHwgJyc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHZhbGlkYXRlKGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCk6IFZhbGlkYXRpb25FcnJvcnMge1xuICAgIGlmICh0aGlzLm1hbmRhdG9yeSAmJiAhdGhpcy52aWV3VmFsdWUoKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcmVxdWlyZWQ6ICdUaGlzIGZpZWxkIGlzIHJlcXVpcmVkJ1xuICAgICAgfTtcbiAgICB9XG4gICAgaWYgKGNvbnRyb2wudmFsdWUgJiYgIXRoaXMuaXNEYXRlRm9ybWF0KHRoaXMuZ2V0VmFsdWVGb3JWYWxpZGF0aW9uKGNvbnRyb2wpKSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcGF0dGVybjogJ0RhdGUgaXMgbm90IHZhbGlkJ1xuICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAvLyBEbyBub3RoaW5nLlxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMudmFsaWRhdGUgPSAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyA9PiB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH07XG4gIH1cblxuICBwdWJsaWMgZGF5Q2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAvLyBnZXQgdmFsdWUgZnJvbSBpbnB1dFxuICAgIHRoaXMuZGF5ID0gdmFsdWU7XG5cbiAgICB0aGlzLnJhd1ZhbHVlID0gdGhpcy52aWV3VmFsdWUoKTtcblxuICAgIC8vIHVwZGF0ZSB0aGUgZm9ybVxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMucmF3VmFsdWUpO1xuICB9XG5cbiAgcHVibGljIG1vbnRoQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAvLyBnZXQgdmFsdWUgZnJvbSBpbnB1dFxuICAgIHRoaXMubW9udGggPSB2YWx1ZTtcblxuICAgIHRoaXMucmF3VmFsdWUgPSB0aGlzLnZpZXdWYWx1ZSgpO1xuXG4gICAgLy8gdXBkYXRlIHRoZSBmb3JtXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5yYXdWYWx1ZSk7XG5cbiAgfVxuXG4gIHB1YmxpYyB5ZWFyQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAvLyBnZXQgdmFsdWUgZnJvbSBpbnB1dFxuICAgIHRoaXMueWVhciA9IHZhbHVlO1xuXG4gICAgdGhpcy5yYXdWYWx1ZSA9IHRoaXMudmlld1ZhbHVlKCk7XG5cbiAgICAvLyB1cGRhdGUgdGhlIGZvcm1cbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnJhd1ZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBob3VyQ2hhbmdlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAvLyBnZXQgdmFsdWUgZnJvbSBpbnB1dFxuICAgIHRoaXMuaG91ciA9IHZhbHVlO1xuXG4gICAgdGhpcy5yYXdWYWx1ZSA9IHRoaXMudmlld1ZhbHVlKCk7XG5cbiAgICAvLyB1cGRhdGUgdGhlIGZvcm1cbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnJhd1ZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBtaW51dGVDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgIC8vIGdldCB2YWx1ZSBmcm9tIGlucHV0XG4gICAgdGhpcy5taW51dGUgPSB2YWx1ZTtcblxuICAgIHRoaXMucmF3VmFsdWUgPSB0aGlzLnZpZXdWYWx1ZSgpO1xuXG4gICAgLy8gdXBkYXRlIHRoZSBmb3JtXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5yYXdWYWx1ZSk7XG5cbiAgfVxuXG4gIHB1YmxpYyBzZWNvbmRDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgIC8vIGdldCB2YWx1ZSBmcm9tIGlucHV0XG4gICAgdGhpcy5zZWNvbmQgPSB2YWx1ZTtcblxuICAgIHRoaXMucmF3VmFsdWUgPSB0aGlzLnZpZXdWYWx1ZSgpO1xuXG4gICAgLy8gdXBkYXRlIHRoZSBmb3JtXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5yYXdWYWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgaW5wdXRGb2N1cygpIHtcbiAgICB0aGlzLmlzVG91Y2hlZCA9IGZhbHNlO1xuICAgIHRoaXMudG91Y2goKTtcbiAgfVxuXG4gIHB1YmxpYyB0b3VjaCgpIHtcbiAgICBpZiAodGhpcy5pc1RvdWNoZWQpIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzVG91Y2hlZCgpO1xuICAgICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5yYXdWYWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wubWFya0FzVW50b3VjaGVkKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGRheUlkKCkge1xuICAgIHJldHVybiBgJHt0aGlzLmlkfS1kYXlgO1xuICB9XG5cbiAgcHVibGljIG1vbnRoSWQoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuaWR9LW1vbnRoYDtcbiAgfVxuXG4gIHB1YmxpYyB5ZWFySWQoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuaWR9LXllYXJgO1xuICB9XG5cbiAgcHVibGljIGhvdXJJZCgpIHtcbiAgICByZXR1cm4gYCR7dGhpcy5pZH0taG91cmA7XG4gIH1cblxuICBwdWJsaWMgbWludXRlSWQoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuaWR9LW1pbnV0ZWA7XG4gIH1cblxuICBwdWJsaWMgc2Vjb25kSWQoKSB7XG4gICAgcmV0dXJuIGAke3RoaXMuaWR9LXNlY29uZGA7XG4gIH1cblxuICBwcml2YXRlIHZpZXdWYWx1ZSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmRheSB8fCB0aGlzLm1vbnRoIHx8IHRoaXMueWVhciB8fCB0aGlzLmhvdXIgfHwgdGhpcy5taW51dGUgfHwgdGhpcy5zZWNvbmQpIHtcbiAgICAgIGNvbnN0IGRhdGUgPSBbXG4gICAgICAgIHRoaXMueWVhciA/IHRoaXMueWVhciA6ICcnLFxuICAgICAgICB0aGlzLm1vbnRoID8gdGhpcy5wYWQodGhpcy5tb250aCkgOiAnJyxcbiAgICAgICAgdGhpcy5kYXkgPyB0aGlzLnBhZCh0aGlzLmRheSkgOiAnJ1xuICAgICAgXS5qb2luKCctJyk7XG4gICAgICBpZiAodGhpcy5pc0RhdGVUaW1lKSB7XG4gICAgICAgIGNvbnN0IHRpbWUgPSBbXG4gICAgICAgICAgdGhpcy5ob3VyID8gdGhpcy5wYWQodGhpcy5ob3VyKSA6ICcnLFxuICAgICAgICAgIHRoaXMubWludXRlID8gdGhpcy5wYWQodGhpcy5taW51dGUpIDogJycsXG4gICAgICAgICAgdGhpcy5zZWNvbmQgPyB0aGlzLnBhZCh0aGlzLnNlY29uZCkgOiAnJ1xuICAgICAgICBdLmpvaW4oJzonKTtcbiAgICAgICAgcmV0dXJuIGAke2RhdGV9VCR7dGltZX0uMDAwYDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBkYXRlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgaXNEYXRlRm9ybWF0KHZhbDogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuREFURV9GT1JNQVQudGVzdCh2YWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBwYWQobnVtOiBhbnksIHBhZE51bSA9IDIpOiBzdHJpbmcge1xuICAgIGNvbnN0IHZhbCA9IG51bSAhPT0gdW5kZWZpbmVkID8gbnVtLnRvU3RyaW5nKCkgOiAnJztcbiAgICByZXR1cm4gdmFsLmxlbmd0aCA+PSBwYWROdW0gPyB2YWwgOiBuZXcgQXJyYXkocGFkTnVtIC0gdmFsLmxlbmd0aCArIDEpLmpvaW4oJzAnKSArIHZhbDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmFsdWVGb3JWYWxpZGF0aW9uKGNvbnRyb2w6IGFueSkge1xuICAgIGlmICh0aGlzLmlzRGF0ZVRpbWUpIHtcbiAgICAgIHJldHVybiBjb250cm9sLnZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gY29udHJvbC52YWx1ZS5yZXBsYWNlKC9aLiovLCAnVDAwOjAwOjAwWicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlTWlsbGlzZWNvbmRzKGRhdGVUaW1lOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBkYXRlVGltZS5yZXBsYWNlKC9cXC4uKi8sICcnKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImZvcm0tZGF0ZVwiPlxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBmb3JtLWdyb3VwLWRheVwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBbZm9yXT1cImRheUlkKClcIj57eydEYXknIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgIDxpbnB1dCAjZGF5SW5wdXRcbiAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICBbaWRdPVwiZGF5SWQoKVwiXG4gICAgICAgICAgIFtuYW1lXT1cImRheUlkKClcIlxuICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgIHBhdHRlcm49XCJbMC05XSpcIlxuICAgICAgICAgICBpbnB1dG1vZGU9XCJudW1lcmljXCJcbiAgICAgICAgICAgW3ZhbHVlXT1cImRpc3BsYXlEYXlcIlxuICAgICAgICAgICAoY2hhbmdlKT1cImRheUNoYW5nZShkYXlJbnB1dC52YWx1ZSlcIlxuICAgICAgICAgICAoa2V5dXApPVwiZGF5Q2hhbmdlKGRheUlucHV0LnZhbHVlKVwiXG4gICAgICAgICAgIChmb2N1cyk9XCJpbnB1dEZvY3VzKClcIlxuICAgICAgICAgICBbbmdDbGFzc109XCJ7J2dvdnVrLWlucHV0LS1lcnJvcic6IGlzSW52YWxpZH1cIj5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZm9ybS1ncm91cC1tb250aFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBbZm9yXT1cIm1vbnRoSWQoKVwiPnt7J01vbnRoJyB8IHJweFRyYW5zbGF0ZX19PC9sYWJlbD5cbiAgICA8aW5wdXQgI21vbnRoSW5wdXRcbiAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIlxuICAgICAgICAgICBbaWRdPVwibW9udGhJZCgpXCJcbiAgICAgICAgICAgW25hbWVdPVwibW9udGhJZCgpXCJcbiAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICBwYXR0ZXJuPVwiWzAtOV0qXCJcbiAgICAgICAgICAgaW5wdXRtb2RlPVwibnVtZXJpY1wiXG4gICAgICAgICAgIFt2YWx1ZV09XCJkaXNwbGF5TW9udGhcIlxuICAgICAgICAgICAoY2hhbmdlKT1cIm1vbnRoQ2hhbmdlKG1vbnRoSW5wdXQudmFsdWUpXCJcbiAgICAgICAgICAgKGtleXVwKT1cIm1vbnRoQ2hhbmdlKG1vbnRoSW5wdXQudmFsdWUpXCJcbiAgICAgICAgICAgKGZvY3VzKT1cImlucHV0Rm9jdXMoKVwiXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZ292dWstaW5wdXQtLWVycm9yJzogaXNJbnZhbGlkfVwiPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBmb3JtLWdyb3VwLXllYXJcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgW2Zvcl09XCJ5ZWFySWQoKVwiPnt7J1llYXInIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgIDxpbnB1dCAjeWVhcklucHV0XG4gICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgW2lkXT1cInllYXJJZCgpXCJcbiAgICAgICAgICAgW25hbWVdPVwieWVhcklkKClcIlxuICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgIHBhdHRlcm49XCJbMC05XSpcIlxuICAgICAgICAgICBpbnB1dG1vZGU9XCJudW1lcmljXCJcbiAgICAgICAgICAgW3ZhbHVlXT1cImRpc3BsYXlZZWFyXCJcbiAgICAgICAgICAgKGNoYW5nZSk9XCJ5ZWFyQ2hhbmdlKHllYXJJbnB1dC52YWx1ZSlcIlxuICAgICAgICAgICAoa2V5dXApPVwieWVhckNoYW5nZSh5ZWFySW5wdXQudmFsdWUpXCJcbiAgICAgICAgICAgKGZvY3VzKT1cImlucHV0Rm9jdXMoKVwiXG4gICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZ292dWstaW5wdXQtLWVycm9yJzogaXNJbnZhbGlkfVwiPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBmb3JtLWdyb3VwLWhvdXJcIiAqbmdJZj1cImlzRGF0ZVRpbWVcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWxhYmVsXCIgW2Zvcl09XCJob3VySWQoKVwiPnt7J0hvdXInIHwgcnB4VHJhbnNsYXRlfX08L2xhYmVsPlxuICAgIDxpbnB1dCAjaG91cklucHV0XG4gICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgW2lkXT1cImhvdXJJZCgpXCJcbiAgICAgICAgICAgW25hbWVdPVwiaG91cklkKClcIlxuICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgIHBhdHRlcm49XCJbMC05XSpcIlxuICAgICAgICAgICBpbnB1dG1vZGU9XCJudW1lcmljXCJcbiAgICAgICAgICAgW3ZhbHVlXT1cImRpc3BsYXlIb3VyXCJcbiAgICAgICAgICAgKGlucHV0KT1cImhvdXJDaGFuZ2UoaG91cklucHV0LnZhbHVlKVwiXG4gICAgICAgICAgIChrZXl1cCk9XCJob3VyQ2hhbmdlKGhvdXJJbnB1dC52YWx1ZSlcIlxuICAgICAgICAgICAoZm9jdXMpPVwiaW5wdXRGb2N1cygpXCJcbiAgICAgICAgICAgW25nQ2xhc3NdPVwieydnb3Z1ay1pbnB1dC0tZXJyb3InOiBpc0ludmFsaWR9XCI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGZvcm0tZ3JvdXAtbWludXRlXCIgKm5nSWY9XCJpc0RhdGVUaW1lXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIFtmb3JdPVwibWludXRlSWQoKVwiPnt7J01pbnV0ZScgfCBycHhUcmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgPGlucHV0ICNtaW51dGVJbnB1dFxuICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgIFtpZF09XCJtaW51dGVJZCgpXCJcbiAgICAgICAgICAgW25hbWVdPVwibWludXRlSWQoKVwiXG4gICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgcGF0dGVybj1cIlswLTldKlwiXG4gICAgICAgICAgIGlucHV0bW9kZT1cIm51bWVyaWNcIlxuICAgICAgICAgICBbdmFsdWVdPVwiZGlzcGxheU1pbnV0ZVwiXG4gICAgICAgICAgIChpbnB1dCk9XCJtaW51dGVDaGFuZ2UobWludXRlSW5wdXQudmFsdWUpXCJcbiAgICAgICAgICAgKGtleXVwKT1cIm1pbnV0ZUNoYW5nZShtaW51dGVJbnB1dC52YWx1ZSlcIlxuICAgICAgICAgICAoZm9jdXMpPVwiaW5wdXRGb2N1cygpXCJcbiAgICAgICAgICAgW25nQ2xhc3NdPVwieydnb3Z1ay1pbnB1dC0tZXJyb3InOiBpc0ludmFsaWR9XCI+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGZvcm0tZ3JvdXAtc2Vjb25kXCIgKm5nSWY9XCJpc0RhdGVUaW1lXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1sYWJlbFwiIFtmb3JdPVwic2Vjb25kSWQoKVwiPnt7J1NlY29uZCcgfCBycHhUcmFuc2xhdGV9fTwvbGFiZWw+XG4gICAgPGlucHV0ICNzZWNvbmRJbnB1dFxuICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgIFtpZF09XCJzZWNvbmRJZCgpXCJcbiAgICAgICAgICAgW25hbWVdPVwic2Vjb25kSWQoKVwiXG4gICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgcGF0dGVybj1cIlswLTldKlwiXG4gICAgICAgICAgIGlucHV0bW9kZT1cIm51bWVyaWNcIlxuICAgICAgICAgICBbdmFsdWVdPVwiZGlzcGxheVNlY29uZFwiXG4gICAgICAgICAgIChpbnB1dCk9XCJzZWNvbmRDaGFuZ2Uoc2Vjb25kSW5wdXQudmFsdWUpXCJcbiAgICAgICAgICAgKGtleXVwKT1cInNlY29uZENoYW5nZShzZWNvbmRJbnB1dC52YWx1ZSlcIlxuICAgICAgICAgICAoZm9jdXMpPVwiaW5wdXRGb2N1cygpXCJcbiAgICAgICAgICAgW25nQ2xhc3NdPVwieydnb3Z1ay1pbnB1dC0tZXJyb3InOiBpc0ludmFsaWR9XCI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -45,7 +45,7 @@ export class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
45
45
  this.numberControl = this.registerControl(new FormControl(this.caseField.value));
46
46
  }
47
47
  static ɵfac = /*@__PURE__*/ (() => { let ɵWriteNumberFieldComponent_BaseFactory; return function WriteNumberFieldComponent_Factory(t) { return (ɵWriteNumberFieldComponent_BaseFactory || (ɵWriteNumberFieldComponent_BaseFactory = i0.ɵɵgetInheritedFactory(WriteNumberFieldComponent)))(t || WriteNumberFieldComponent); }; })();
48
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteNumberFieldComponent, selectors: [["ccd-write-number-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 12, consts: [[1, "form-group", 3, "ngClass"], [3, "for"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], ["type", "number", 1, "form-control", "bottom-30", 3, "ngClass", "id", "formControl"], [1, "form-label"], [1, "form-hint"], [1, "error-message"]], template: function WriteNumberFieldComponent_Template(rf, ctx) { if (rf & 1) {
48
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteNumberFieldComponent, selectors: [["ccd-write-number-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 6, vars: 12, consts: [[1, "form-group", 3, "ngClass"], [3, "for"], ["class", "form-label", 4, "ngIf"], ["class", "form-hint", 4, "ngIf"], ["class", "error-message", 4, "ngIf"], ["type", "text", "inputmode", "numeric", "pattern", "[0-9]*", 1, "form-control", "bottom-30", 3, "ngClass", "id", "formControl"], [1, "form-label"], [1, "form-hint"], [1, "error-message"]], template: function WriteNumberFieldComponent_Template(rf, ctx) { if (rf & 1) {
49
49
  i0.ɵɵelementStart(0, "div", 0)(1, "label", 1);
50
50
  i0.ɵɵtemplate(2, WriteNumberFieldComponent_span_2_Template, 3, 3, "span", 2);
51
51
  i0.ɵɵelementEnd();
@@ -64,11 +64,11 @@ export class WriteNumberFieldComponent extends AbstractFieldWriteComponent {
64
64
  i0.ɵɵproperty("ngIf", ctx.numberControl.errors && ctx.numberControl.dirty);
65
65
  i0.ɵɵadvance();
66
66
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(10, _c1, ctx.numberControl.errors && ctx.numberControl.dirty))("id", ctx.id())("formControl", ctx.numberControl);
67
- } }, dependencies: [i1.NgClass, i1.NgIf, i2.DefaultValueAccessor, i2.NumberValueAccessor, i2.NgControlStatus, i2.FormControlDirective, i3.FieldLabelPipe, i4.FirstErrorPipe, i5.RpxTranslatePipe], encapsulation: 2 });
67
+ } }, dependencies: [i1.NgClass, i1.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.PatternValidator, i2.FormControlDirective, i3.FieldLabelPipe, i4.FirstErrorPipe, i5.RpxTranslatePipe], encapsulation: 2 });
68
68
  }
69
69
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteNumberFieldComponent, [{
70
70
  type: Component,
71
- args: [{ selector: 'ccd-write-number-field', template: "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !numberControl.valid && numberControl.dirty}\">\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text | rpxTranslate}}</span>\n <span class=\"error-message\" *ngIf=\"numberControl.errors && numberControl.dirty\">\n {{numberControl.errors | ccdFirstError:caseField.label}}\n </span>\n\n <input class=\"form-control bottom-30\" [ngClass]=\"{'govuk-input--error': numberControl.errors && numberControl.dirty}\"\n [id]=\"id()\" type=\"number\" [formControl]=\"numberControl\">\n</div>\n" }]
71
+ args: [{ selector: 'ccd-write-number-field', template: "<div class=\"form-group\" [ngClass]=\"{'form-group-error': !numberControl.valid && numberControl.dirty}\">\n <label [for]=\"id()\">\n <span class=\"form-label\" *ngIf=\"caseField.label\">{{caseField | ccdFieldLabel}}</span>\n </label>\n <span class=\"form-hint\" *ngIf=\"caseField.hint_text\">{{caseField.hint_text | rpxTranslate}}</span>\n <span class=\"error-message\" *ngIf=\"numberControl.errors && numberControl.dirty\">\n {{numberControl.errors | ccdFirstError:caseField.label}}\n </span>\n\n <input class=\"form-control bottom-30\" [ngClass]=\"{'govuk-input--error': numberControl.errors && numberControl.dirty}\"\n [id]=\"id()\" type=\"text\" inputmode=\"numeric\" pattern=\"[0-9]*\" [formControl]=\"numberControl\">\n</div>\n" }]
72
72
  }], null, null); })();
73
73
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteNumberFieldComponent, { className: "WriteNumberFieldComponent", filePath: "lib/shared/components/palette/number/write-number-field.component.ts", lineNumber: 9 }); })();
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtbnVtYmVyLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL251bWJlci93cml0ZS1udW1iZXItZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbnVtYmVyL3dyaXRlLW51bWJlci1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7Ozs7O0lDQXZGLCtCQUFpRDtJQUFBLFlBQTZCOztJQUFBLGlCQUFPOzs7SUFBcEMsY0FBNkI7SUFBN0IsNERBQTZCOzs7SUFFaEYsK0JBQW9EO0lBQUEsWUFBc0M7O0lBQUEsaUJBQU87OztJQUE3QyxjQUFzQztJQUF0QyxzRUFBc0M7OztJQUMxRiwrQkFBZ0Y7SUFDOUUsWUFDRjs7SUFBQSxpQkFBTzs7O0lBREwsY0FDRjtJQURFLDBHQUNGOztBRENGLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSwyQkFBMkI7SUFFakUsYUFBYSxDQUFjO0lBRTNCLFFBQVE7UUFDYixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBZ0IsQ0FBQztJQUNsRyxDQUFDO2lRQU5VLHlCQUF5QixTQUF6Qix5QkFBeUI7NkRBQXpCLHlCQUF5QjtZQ1BwQyxBQURGLDhCQUFzRyxlQUNoRjtZQUNsQiw0RUFBaUQ7WUFDbkQsaUJBQVE7WUFFUixBQURBLDRFQUFvRCwrREFDNEI7WUFJaEYsMkJBQ3lEO1lBQzNELGlCQUFNOztZQVhrQix5R0FBNkU7WUFDNUYsY0FBWTtZQUFaLDhCQUFZO1lBQ1MsY0FBcUI7WUFBckIsMENBQXFCO1lBRXhCLGNBQXlCO1lBQXpCLDhDQUF5QjtZQUNyQixjQUFpRDtZQUFqRCwwRUFBaUQ7WUFJeEMsY0FBK0U7WUFDMUYsQUFBMUIsQUFEcUMsMEdBQStFLGdCQUN6RyxrQ0FBNEM7OztpRkRGN0MseUJBQXlCO2NBSnJDLFNBQVM7MkJBQ0Usd0JBQXdCOztrRkFHdkIseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC13cml0ZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtbnVtYmVyLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dyaXRlLW51bWJlci1maWVsZC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXcml0ZU51bWJlckZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgbnVtYmVyQ29udHJvbDogRm9ybUNvbnRyb2w7XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMubnVtYmVyQ29udHJvbCA9IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtQ29udHJvbCh0aGlzLmNhc2VGaWVsZC52YWx1ZSkpIGFzIEZvcm1Db250cm9sO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6ICFudW1iZXJDb250cm9sLnZhbGlkICYmIG51bWJlckNvbnRyb2wuZGlydHl9XCI+XG4gIDxsYWJlbCBbZm9yXT1cImlkKClcIj5cbiAgICA8c3BhbiBjbGFzcz1cImZvcm0tbGFiZWxcIiAqbmdJZj1cImNhc2VGaWVsZC5sYWJlbFwiPnt7Y2FzZUZpZWxkIHwgY2NkRmllbGRMYWJlbH19PC9zcGFuPlxuICA8L2xhYmVsPlxuICA8c3BhbiBjbGFzcz1cImZvcm0taGludFwiICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dFwiPnt7Y2FzZUZpZWxkLmhpbnRfdGV4dCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cIm51bWJlckNvbnRyb2wuZXJyb3JzICYmIG51bWJlckNvbnRyb2wuZGlydHlcIj5cbiAgICB7e251bWJlckNvbnRyb2wuZXJyb3JzIHwgY2NkRmlyc3RFcnJvcjpjYXNlRmllbGQubGFiZWx9fVxuICA8L3NwYW4+XG5cbiAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIGJvdHRvbS0zMFwiIFtuZ0NsYXNzXT1cInsnZ292dWstaW5wdXQtLWVycm9yJzogbnVtYmVyQ29udHJvbC5lcnJvcnMgJiYgbnVtYmVyQ29udHJvbC5kaXJ0eX1cIlxuICAgW2lkXT1cImlkKClcIiB0eXBlPVwibnVtYmVyXCIgW2Zvcm1Db250cm9sXT1cIm51bWJlckNvbnRyb2xcIj5cbjwvZGl2PlxuIl19
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtbnVtYmVyLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL251bWJlci93cml0ZS1udW1iZXItZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvbnVtYmVyL3dyaXRlLW51bWJlci1maWVsZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7Ozs7O0lDQXZGLCtCQUFpRDtJQUFBLFlBQTZCOztJQUFBLGlCQUFPOzs7SUFBcEMsY0FBNkI7SUFBN0IsNERBQTZCOzs7SUFFaEYsK0JBQW9EO0lBQUEsWUFBc0M7O0lBQUEsaUJBQU87OztJQUE3QyxjQUFzQztJQUF0QyxzRUFBc0M7OztJQUMxRiwrQkFBZ0Y7SUFDOUUsWUFDRjs7SUFBQSxpQkFBTzs7O0lBREwsY0FDRjtJQURFLDBHQUNGOztBRENGLE1BQU0sT0FBTyx5QkFBMEIsU0FBUSwyQkFBMkI7SUFFakUsYUFBYSxDQUFjO0lBRTNCLFFBQVE7UUFDYixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBZ0IsQ0FBQztJQUNsRyxDQUFDO2lRQU5VLHlCQUF5QixTQUF6Qix5QkFBeUI7NkRBQXpCLHlCQUF5QjtZQ1BwQyxBQURGLDhCQUFzRyxlQUNoRjtZQUNsQiw0RUFBaUQ7WUFDbkQsaUJBQVE7WUFFUixBQURBLDRFQUFvRCwrREFDNEI7WUFJaEYsMkJBQzRGO1lBQzlGLGlCQUFNOztZQVhrQix5R0FBNkU7WUFDNUYsY0FBWTtZQUFaLDhCQUFZO1lBQ1MsY0FBcUI7WUFBckIsMENBQXFCO1lBRXhCLGNBQXlCO1lBQXpCLDhDQUF5QjtZQUNyQixjQUFpRDtZQUFqRCwwRUFBaUQ7WUFJeEMsY0FBK0U7WUFDdkQsQUFBN0QsQUFEcUMsMEdBQStFLGdCQUN6RyxrQ0FBK0U7OztpRkRGaEYseUJBQXlCO2NBSnJDLFNBQVM7MkJBQ0Usd0JBQXdCOztrRkFHdkIseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1maWVsZC13cml0ZS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtbnVtYmVyLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dyaXRlLW51bWJlci1maWVsZC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBXcml0ZU51bWJlckZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgbnVtYmVyQ29udHJvbDogRm9ybUNvbnRyb2w7XG5cbiAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIHRoaXMubnVtYmVyQ29udHJvbCA9IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtQ29udHJvbCh0aGlzLmNhc2VGaWVsZC52YWx1ZSkpIGFzIEZvcm1Db250cm9sO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtuZ0NsYXNzXT1cInsnZm9ybS1ncm91cC1lcnJvcic6ICFudW1iZXJDb250cm9sLnZhbGlkICYmIG51bWJlckNvbnRyb2wuZGlydHl9XCI+XG4gIDxsYWJlbCBbZm9yXT1cImlkKClcIj5cbiAgICA8c3BhbiBjbGFzcz1cImZvcm0tbGFiZWxcIiAqbmdJZj1cImNhc2VGaWVsZC5sYWJlbFwiPnt7Y2FzZUZpZWxkIHwgY2NkRmllbGRMYWJlbH19PC9zcGFuPlxuICA8L2xhYmVsPlxuICA8c3BhbiBjbGFzcz1cImZvcm0taGludFwiICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dFwiPnt7Y2FzZUZpZWxkLmhpbnRfdGV4dCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIiAqbmdJZj1cIm51bWJlckNvbnRyb2wuZXJyb3JzICYmIG51bWJlckNvbnRyb2wuZGlydHlcIj5cbiAgICB7e251bWJlckNvbnRyb2wuZXJyb3JzIHwgY2NkRmlyc3RFcnJvcjpjYXNlRmllbGQubGFiZWx9fVxuICA8L3NwYW4+XG5cbiAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sIGJvdHRvbS0zMFwiIFtuZ0NsYXNzXT1cInsnZ292dWstaW5wdXQtLWVycm9yJzogbnVtYmVyQ29udHJvbC5lcnJvcnMgJiYgbnVtYmVyQ29udHJvbC5kaXJ0eX1cIlxuICAgW2lkXT1cImlkKClcIiB0eXBlPVwidGV4dFwiIGlucHV0bW9kZT1cIm51bWVyaWNcIiBwYXR0ZXJuPVwiWzAtOV0qXCIgW2Zvcm1Db250cm9sXT1cIm51bWJlckNvbnRyb2xcIj5cbjwvZGl2PlxuIl19
@@ -346,6 +346,7 @@ export class QueryDetailsComponent {
346
346
  showItem = true;
347
347
  message;
348
348
  static QUERY_ITEM_RESPOND = '3';
349
+ static QUERY_ITEM_FOLLOW_UP = '4';
349
350
  queryItemId;
350
351
  constructor(sessionStorageService, route, router) {
351
352
  this.sessionStorageService = sessionStorageService;
@@ -364,18 +365,25 @@ export class QueryDetailsComponent {
364
365
  }
365
366
  toggleLinkVisibility() {
366
367
  this.queryItemId = this.route.snapshot.params.qid;
367
- this.showItem = this.queryItemId !== QueryDetailsComponent.QUERY_ITEM_RESPOND;
368
+ if (this.queryItemId === QueryDetailsComponent.QUERY_ITEM_RESPOND || this.queryItemId === QueryDetailsComponent.QUERY_ITEM_FOLLOW_UP) {
369
+ this.showItem = false;
370
+ }
368
371
  }
369
372
  hasRespondedToQuery() {
370
- if (this.queryResponseStatus === undefined || this.queryResponseStatus === QueryItemResponseStatus.AWAITING) {
371
- this.hasResponded.emit(false);
372
- return false;
373
- }
374
- if (this.isInternalUser() && this.queryResponseStatus !== QueryItemResponseStatus.AWAITING) {
373
+ const isAwaiting = this.queryResponseStatus === undefined || this.queryResponseStatus === QueryItemResponseStatus.AWAITING;
374
+ if (this.isInternalUser()) {
375
+ if (isAwaiting) {
376
+ this.hasResponded.emit(false);
377
+ return false;
378
+ }
375
379
  this.message = Constants.TASK_COMPLETION_ERROR;
376
380
  this.hasResponded.emit(true);
377
381
  return true;
378
382
  }
383
+ if (isAwaiting) {
384
+ this.hasResponded.emit(true);
385
+ return false; // Don't show message
386
+ }
379
387
  this.hasResponded.emit(false);
380
388
  return false;
381
389
  }
@@ -401,4 +409,4 @@ export class QueryDetailsComponent {
401
409
  type: Output
402
410
  }] }); })();
403
411
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryDetailsComponent, { className: "QueryDetailsComponent", filePath: "lib/shared/components/palette/query-management/components/query-details/query-details.component.ts", lineNumber: 15 }); })();
404
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvcXVlcnktZGV0YWlscy9xdWVyeS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS1kZXRhaWxzL3F1ZXJ5LWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7O0lDTjNDLHFDQUFtRTtJQUNqRSw2QkFBYztJQUFBLFlBQVc7O0lBQzNCLGlCQUFZOzs7SUFESSxlQUFXO0lBQVgsb0NBQVc7Ozs7SUFLekIsQUFERix5QkFBb0IsWUFDaUQ7SUFBbkIsMExBQVMsZUFBUSxLQUFDO0lBQUMsWUFBeUM7O0lBQzlHLEFBRDhHLGlCQUFJLEVBQzlHOztJQURpRSxlQUF5QztJQUF6QyxnRUFBeUM7OztJQWdDeEcsQUFERiw4QkFBeUcsWUFDM0Q7SUFBQSxZQUF1RDs7SUFBQSxpQkFBSztJQUN4Ryw2QkFBOEI7SUFBQSxZQUE2Qzs7SUFDN0UsQUFENkUsaUJBQUssRUFDN0U7OztJQUZ5QyxlQUF1RDtJQUF2RCw4RUFBdUQ7SUFDckUsZUFBNkM7SUFBN0MsbUZBQTZDOzs7SUFLekUsaURBSTZCOzs7SUFGM0Isc0RBQWlDOzs7SUFKckMsQUFERiw2QkFBa0UsWUFDcEI7SUFBQSxZQUFrQzs7SUFBQSxpQkFBSztJQUNuRiw2QkFBOEI7SUFDNUIsMElBR0M7SUFHTCxBQURFLGlCQUFLLEVBQ0Y7OztJQVJ5QyxlQUFrQztJQUFsQyx5REFBa0M7SUFHekUsZUFBdUI7SUFBdkIsK0NBQXVCOzs7SUF1QnRCLEFBREYsNkJBQXNELFlBQ1I7SUFBQSxZQUFzQzs7SUFBQSxpQkFBSztJQUN2Riw2QkFBOEI7SUFBQSxZQUFnQjtJQUNoRCxBQURnRCxpQkFBSyxFQUNoRDs7O0lBRnlDLGVBQXNDO0lBQXRDLDZEQUFzQztJQUNwRCxlQUFnQjtJQUFoQixtQ0FBZ0I7OztJQVc5QyxpREFJNkI7OztJQUYzQixrREFBaUM7OztJQUpyQyxBQURGLDZCQUFrRSxZQUNwQjtJQUFBLFlBQWtDOztJQUFBLGlCQUFLO0lBQ25GLDZCQUE4QjtJQUM1Qix3TEFHQztJQUdMLEFBREUsaUJBQUssRUFDRjs7O0lBUnlDLGVBQWtDO0lBQWxDLHlEQUFrQztJQUd6RSxlQUF1QjtJQUF2QiwyQ0FBdUI7OztJQXpCbEMsNkJBQXdEO0lBQ3RELGdDQUFnSDs7SUFFNUcsQUFERixrQ0FBOEQsVUFDdkQ7SUFBQSxZQUErQjs7SUFDdEMsQUFEc0MsaUJBQU0sRUFDbEM7SUFHUixBQURGLEFBREEsZ0NBQWlDLFlBQ0osWUFDaUI7SUFBQSxhQUF5Qzs7SUFBQSxpQkFBSztJQUMxRiw4QkFBOEI7SUFBQSxhQUEyQzs7SUFDM0UsQUFEMkUsaUJBQUssRUFDM0U7SUFFSCxvSUFBc0Q7SUFNcEQsQUFERiw4QkFBNkIsYUFDaUI7SUFBQSxhQUFzQzs7SUFBQSxpQkFBSztJQUN2Riw4QkFBOEI7SUFBQSxhQUFnQjtJQUNoRCxBQURnRCxpQkFBSyxFQUNoRDtJQUVQLG9JQUFrRTtJQVdwRSxBQURFLGlCQUFRLEVBQ0Y7Ozs7O0lBL0J1QyxjQUFnRTs7SUFFdEcsZUFBK0I7SUFBL0IsdURBQStCO0lBSVEsZUFBeUM7SUFBekMsa0VBQXlDO0lBQ3ZELGVBQTJDO0lBQTNDLCtFQUEyQztJQUdwRSxlQUFzQjtJQUF0Qiw4Q0FBc0I7SUFNbUIsZUFBc0M7SUFBdEMsK0RBQXNDO0lBQ3BELGVBQWdCO0lBQWhCLG1DQUFnQjtJQUdwQixjQUFrQztJQUFsQyxzREFBa0M7OztJQXdDMUQsaURBSTZCOzs7SUFGM0Isa0RBQWlDOzs7SUFKckMsQUFERiw2QkFBa0UsWUFDcEI7SUFBQSxZQUFrQzs7SUFBQSxpQkFBSztJQUNuRiw2QkFBOEI7SUFDNUIsdUxBR0M7SUFHTCxBQURFLGlCQUFLLEVBQ0Y7OztJQVJ5QyxlQUFrQztJQUFsQyx5REFBa0M7SUFHekUsZUFBdUI7SUFBdkIsMkNBQXVCOzs7SUF6QmxDLGdDQUM0RTs7SUFFeEUsQUFERixrQ0FBOEQsVUFDdkQ7SUFBQSxZQUFzQzs7SUFDN0MsQUFENkMsaUJBQU0sRUFDekM7SUFHUixBQURGLEFBREEsZ0NBQWlDLFlBQ0osWUFDaUI7SUFBQSxZQUEyQzs7SUFBQSxpQkFBSztJQUM1Riw4QkFBOEI7SUFBQSxhQUEyQzs7SUFDM0UsQUFEMkUsaUJBQUssRUFDM0U7SUFHSCxBQURGLDhCQUE2QixhQUNpQjtJQUFBLGFBQXdDOztJQUFBLGlCQUFLO0lBQ3pGLDhCQUE4QjtJQUFBLGFBQWdCO0lBQ2hELEFBRGdELGlCQUFLLEVBQ2hEO0lBR0QsQUFERiw4QkFBNkIsYUFDaUI7SUFBQSxhQUFtQzs7SUFBQSxpQkFBSztJQUNwRiw4QkFBOEI7SUFBQSxhQUFnQjtJQUNoRCxBQURnRCxpQkFBSyxFQUNoRDtJQUVMLG1JQUFrRTtJQVd0RSxBQURFLGlCQUFRLEVBQ0Y7Ozs7SUE3QkMsZUFBc0M7SUFBdEMsOERBQXNDO0lBSUMsZUFBMkM7SUFBM0Msb0VBQTJDO0lBQ3pELGVBQTJDO0lBQTNDLCtFQUEyQztJQUk3QixlQUF3QztJQUF4QyxpRUFBd0M7SUFDdEQsZUFBZ0I7SUFBaEIsbUNBQWdCO0lBSUEsZUFBbUM7SUFBbkMsNERBQW1DO0lBQ2pELGVBQWdCO0lBQWhCLG1DQUFnQjtJQUdsQixjQUFrQztJQUFsQyxzREFBa0M7OztJQTNEeEUsNkJBQW1FO0lBb0NqRSxBQW5DQSx5SUFBd0QsMEpBbUMxQjs7Ozs7SUFuQ2YsY0FBbUI7SUFBQSxBQUFuQixxQ0FBbUIsZ0NBQW9COzs7SUFGMUQsNkJBQWlEO0lBQy9DLHdIQUFtRTs7OztJQUFuQyxjQUFtQjtJQUFuQiwrQ0FBbUI7OztJQXhEdkQsNkJBQTRCO0lBQzFCLGlHQUFtRTtJQUluRSxxQkFBSztJQUNMLGlGQUFvQjtJQUlsQixBQURGLDJCQUFLLGVBQzRHOztJQUUzRyxBQURGLGtDQUE4RCxVQUN2RDtJQUFBLFlBQW9DOztJQUMzQyxBQUQyQyxpQkFBTSxFQUN2QztJQUdSLEFBREYsQUFEQSxpQ0FBaUMsYUFDSixhQUNpQjtJQUFBLGFBQXdDOztJQUFBLGlCQUFLO0lBQ3pGLDhCQUE4QjtJQUFBLGFBQTJCO0lBQzNELEFBRDJELGlCQUFLLEVBQzNEO0lBRUgsQUFERiw4QkFBNkIsYUFDaUI7SUFBQSxhQUFzQzs7SUFBQSxpQkFBSztJQUN2Riw4QkFBOEI7SUFBQSxhQUEyQzs7SUFDM0UsQUFEMkUsaUJBQUssRUFDM0U7SUFFSCxBQURGLDhCQUE2QixhQUNpQjtJQUFBLGFBQW9DOztJQUFBLGlCQUFLO0lBQ3JGLDhCQUE4QjtJQUFBLGFBQW1CO0lBQ25ELEFBRG1ELGlCQUFLLEVBQ25EO0lBRUgsQUFERiw4QkFBNkIsYUFDaUI7SUFBQSxhQUFpQzs7SUFBQSxpQkFBSztJQUNsRiw4QkFBOEI7SUFBQSxhQUFnQjtJQUNoRCxBQURnRCxpQkFBSyxFQUNoRDtJQUVILEFBREYsOEJBQTZCLGFBQ2lGO0lBQzFHLGFBQ0Y7O0lBQUEsaUJBQUs7SUFDTCw4QkFBNEY7SUFDMUYsYUFBcUY7O0lBQ3pGLEFBRHlGLGlCQUFLLEVBQ3pGO0lBS0wsQUFKQSxxRkFBeUcseUVBSXZDO0lBWXRFLEFBREUsQUFERSxpQkFBUSxFQUNGLEVBQ0o7SUFDTix5R0FBaUQ7Ozs7SUF0RHhCLGNBQXdDO0lBQXhDLHVFQUF3QztJQUs3RCxlQUFjO0lBQWQsc0NBQWM7SUFJK0IsZUFBK0Q7O0lBRXJHLGVBQW9DO0lBQXBDLDZEQUFvQztJQUlHLGVBQXdDO0lBQXhDLGlFQUF3QztJQUN0RCxlQUEyQjtJQUEzQixrREFBMkI7SUFHYixlQUFzQztJQUF0QywrREFBc0M7SUFDcEQsZUFBMkM7SUFBM0MsbUZBQTJDO0lBRzdCLGVBQW9DO0lBQXBDLDZEQUFvQztJQUNsRCxlQUFtQjtJQUFuQiwwQ0FBbUI7SUFHTCxlQUFpQztJQUFqQywwREFBaUM7SUFDL0MsZUFBZ0I7SUFBaEIsdUNBQWdCO0lBR0YsZUFBK0Q7SUFBL0QsK0VBQStEO0lBQ3pHLGNBQ0Y7SUFERSx3RkFDRjtJQUM4QixlQUE2RDtJQUE3RCw2RUFBNkQ7SUFDekYsY0FBcUY7SUFBckYsNEhBQXFGO0lBRXhCLGVBQXNDO0lBQXRDLDhEQUFzQztJQUl6RSxjQUFrQztJQUFsQywwREFBa0M7SUFhckQsY0FBZ0M7SUFBaEMsZ0dBQWdDOztBRHpDakQsTUFBTSxPQUFPLHFCQUFxQjtJQWViO0lBQ0E7SUFDQTtJQWhCSCxLQUFLLENBQWdCO0lBQ3JCLE1BQU0sQ0FBUztJQUNmLG1CQUFtQixDQUFTO0lBRTNCLFdBQVcsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUN4RCxZQUFZLEdBQTBCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFbkUsUUFBUSxHQUFZLElBQUksQ0FBQztJQUN6QixPQUFPLENBQVM7SUFFZixNQUFNLENBQVUsa0JBQWtCLEdBQUcsR0FBRyxDQUFDO0lBQ3pDLFdBQVcsQ0FBUztJQUU1QixZQUNtQixxQkFBNEMsRUFDNUMsS0FBcUIsRUFDckIsTUFBYztRQUZkLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtJQUFJLENBQUM7SUFFL0IsTUFBTTtRQUNYLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sY0FBYyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFTSxvQkFBb0I7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsS0FBSyxxQkFBcUIsQ0FBQyxrQkFBa0IsQ0FBQztJQUNoRixDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLElBQUksSUFBSSxDQUFDLG1CQUFtQixLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEtBQUssdUJBQXVCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDOUIsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksSUFBSSxDQUFDLG1CQUFtQixLQUFLLHVCQUF1QixDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzNGLElBQUksQ0FBQyxPQUFPLEdBQUcsU0FBUyxDQUFDLHFCQUFxQixDQUFDO1lBQy9DLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzsrRUFuRFUscUJBQXFCOzZEQUFyQixxQkFBcUI7WUNkbEMsMEZBQTRCOztZQUFiLGdDQUFXOzs7aUZEY2IscUJBQXFCO2NBTGpDLFNBQVM7MkJBQ0UsbUJBQW1CO3dHQUtiLEtBQUs7a0JBQXBCLEtBQUs7WUFDVSxNQUFNO2tCQUFyQixLQUFLO1lBQ1UsbUJBQW1CO2tCQUFsQyxLQUFLO1lBRVcsV0FBVztrQkFBM0IsTUFBTTtZQUNVLFlBQVk7a0JBQTVCLE1BQU07O2tGQU5JLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBDb25zdGFudHMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb21tb25zL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBTZXNzaW9uU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBpc0ludGVybmFsVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgUXVlcnlMaXN0SXRlbSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1xdWVyeS1kZXRhaWxzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXJ5LWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9xdWVyeS1kZXRhaWxzLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUXVlcnlEZXRhaWxzQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2Vze1xuICBASW5wdXQoKSBwdWJsaWMgcXVlcnk6IFF1ZXJ5TGlzdEl0ZW07XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcbiAgQElucHV0KCkgcHVibGljIHF1ZXJ5UmVzcG9uc2VTdGF0dXM6IHN0cmluZztcblxuICBAT3V0cHV0KCkgcHVibGljIGJhY2tDbGlja2VkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBwdWJsaWMgaGFzUmVzcG9uZGVkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHNob3dJdGVtOiBib29sZWFuID0gdHJ1ZTtcbiAgcHVibGljIG1lc3NhZ2U6IHN0cmluZztcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBRVUVSWV9JVEVNX1JFU1BPTkQgPSAnMyc7XG4gIHByaXZhdGUgcXVlcnlJdGVtSWQ6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNlc3Npb25TdG9yYWdlU2VydmljZTogU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIpIHsgfVxuXG4gIHB1YmxpYyBvbkJhY2soKTogdm9pZCB7XG4gICAgdGhpcy5iYWNrQ2xpY2tlZC5lbWl0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIGlzSW50ZXJuYWxVc2VyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0ludGVybmFsVXNlcih0aGlzLnNlc3Npb25TdG9yYWdlU2VydmljZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgdGhpcy50b2dnbGVMaW5rVmlzaWJpbGl0eSgpO1xuICAgIHRoaXMuaGFzUmVzcG9uZGVkVG9RdWVyeSgpO1xuICB9XG5cbiAgcHVibGljIHRvZ2dsZUxpbmtWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgIHRoaXMucXVlcnlJdGVtSWQgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcy5xaWQ7XG4gICAgdGhpcy5zaG93SXRlbSA9IHRoaXMucXVlcnlJdGVtSWQgIT09IFF1ZXJ5RGV0YWlsc0NvbXBvbmVudC5RVUVSWV9JVEVNX1JFU1BPTkQ7XG4gIH1cblxuICBwdWJsaWMgaGFzUmVzcG9uZGVkVG9RdWVyeSgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5xdWVyeVJlc3BvbnNlU3RhdHVzID09PSB1bmRlZmluZWQgfHwgdGhpcy5xdWVyeVJlc3BvbnNlU3RhdHVzID09PSBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cy5BV0FJVElORykge1xuICAgICAgdGhpcy5oYXNSZXNwb25kZWQuZW1pdChmYWxzZSk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNJbnRlcm5hbFVzZXIoKSAmJiB0aGlzLnF1ZXJ5UmVzcG9uc2VTdGF0dXMgIT09IFF1ZXJ5SXRlbVJlc3BvbnNlU3RhdHVzLkFXQUlUSU5HKSB7XG4gICAgICB0aGlzLm1lc3NhZ2UgPSBDb25zdGFudHMuVEFTS19DT01QTEVUSU9OX0VSUk9SO1xuICAgICAgdGhpcy5oYXNSZXNwb25kZWQuZW1pdCh0cnVlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHRoaXMuaGFzUmVzcG9uZGVkLmVtaXQoZmFsc2UpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInF1ZXJ5XCI+XG4gIDxjdXQtYWxlcnQgdHlwZT1cImVycm9yXCIgKm5nSWY9XCJoYXNSZXNwb25kZWRUb1F1ZXJ5KCkgJiYgIXNob3dJdGVtXCI+XG4gICAgPG5nLWNvbnRhaW5lcj57e21lc3NhZ2V9fTwvbmctY29udGFpbmVyPlxuICA8L2N1dC1hbGVydD5cblxuICA8YnIvPlxuICA8cCAqbmdJZj1cInNob3dJdGVtXCI+XG4gICAgPGEgY2xhc3M9XCJnb3Z1ay1saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJvbkJhY2soKVwiPnt7ICdCYWNrIHRvIHF1ZXJ5IGxpc3QnIHwgcnB4VHJhbnNsYXRlIH19PC9hPlxuICA8L3A+XG4gIDxkaXY+XG4gICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGUgcXVlcnktZGV0YWlscy10YWJsZVwiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ0RldGFpbHMgb2YgdGhlIHF1ZXJ5JyB8IHJweFRyYW5zbGF0ZVwiPlxuICAgICAgPGNhcHRpb24gY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2FwdGlvbiBnb3Z1ay10YWJsZV9fY2FwdGlvbi0tbFwiPlxuICAgICAgICA8ZGl2Pnt7ICdRdWVyeSBkZXRhaWxzJyB8IHJweFRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPC9jYXB0aW9uPlxuICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0xhc3Qgc3VibWl0dGVkIGJ5JyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgcXVlcnkubGFzdFN1Ym1pdHRlZEJ5IH19PC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdTdWJtaXNzaW9uIGRhdGUnIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBxdWVyeS5jcmVhdGVkT24gfCBkYXRlOiAnZGQgTU1NIHl5eXknIH19PC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdRdWVyeSBzdWJqZWN0JyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgcXVlcnkuc3ViamVjdCB9fTwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnUXVlcnkgYm9keScgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IHF1ZXJ5LmJvZHkgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCIgW2NsYXNzLmdvdnVrLXRhYmxlX19oZWFkZXItLW5vLWJvcmRlcl09XCJxdWVyeS5pc0hlYXJpbmdSZWxhdGVkXCI+XG4gICAgICAgICAge3sgJ0lzIHRoZSBxdWVyeSBoZWFyaW5nIHJlbGF0ZWQ/JyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICA8L3RoPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiIFtjbGFzcy5nb3Z1ay10YWJsZV9fY2VsbC0tbm8tYm9yZGVyXT1cInF1ZXJ5LmlzSGVhcmluZ1JlbGF0ZWRcIj5cbiAgICAgICAgICB7eyAnSXMgdGhlIHF1ZXJ5IGhlYXJpbmcgcmVsYXRlZD8nIHwgcnB4VHJhbnNsYXRlOiBudWxsIDogKHF1ZXJ5LmlzSGVhcmluZ1JlbGF0ZWQpIH19PC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93IGdvdnVrLXRhYmxlX19yb3ctLWlzSGVhcmluZ1JlbGF0ZWRcIiAqbmdJZj1cInF1ZXJ5LmlzSGVhcmluZ1JlbGF0ZWQgPT09ICdZZXMnXCI+XG4gICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdXaGF0IGlzIHRoZSBkYXRlIG9mIHRoZSBoZWFyaW5nPycgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IHF1ZXJ5LmhlYXJpbmdEYXRlIHwgZGF0ZTogJ2RkIE1NTSB5eXl5JyB9fTwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0lmPVwicXVlcnkuYXR0YWNobWVudHMubGVuZ3RoID4gMFwiPlxuICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnQXR0YWNobWVudHMnIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgICA8Y2NkLXF1ZXJ5LWF0dGFjaG1lbnRzLXJlYWRcbiAgICAgICAgICAgICpuZ0lmPVwicXVlcnkuYXR0YWNobWVudHNcIlxuICAgICAgICAgICAgW2F0dGFjaG1lbnRzXT1cInF1ZXJ5LmF0dGFjaG1lbnRzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgPC9jY2QtcXVlcnktYXR0YWNobWVudHMtcmVhZD5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8L3Rib2R5PlxuICAgIDwvdGFibGU+XG4gIDwvZGl2PlxuICA8bmctY29udGFpbmVyICpuZ0lmPVwicXVlcnkuY2hpbGRyZW4/Lmxlbmd0aCA+IDBcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjaGlsZCBvZiBxdWVyeS5jaGlsZHJlbjsgbGV0IGkgPSBpbmRleDtcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpICUgMiA9PT0gMDsgZWxzZSBmb2xsb3dVcE1lc3NhZ2VcIj5cbiAgICAgICAgPHRhYmxlIGNsYXNzPVwiZ292dWstdGFibGUgcXVlcnktZGV0YWlscy10YWJsZVwiIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ1Jlc3BvbnNlIG9mIHRoZSBxdWVyeScgfCBycHhUcmFuc2xhdGVcIj5cbiAgICAgICAgICA8Y2FwdGlvbiBjbGFzcz1cImdvdnVrLXRhYmxlX19jYXB0aW9uIGdvdnVrLXRhYmxlX19jYXB0aW9uLS1sXCI+XG4gICAgICAgICAgICA8ZGl2Pnt7ICdSZXNwb25zZScgfCBycHhUcmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgICAgICA8L2NhcHRpb24+XG4gICAgICAgICAgPHRib2R5IGNsYXNzPVwiZ292dWstdGFibGVfX2JvZHlcIj5cbiAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnTGFzdCByZXNwb25zZSBkYXRlJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGNoaWxkLmNyZWF0ZWRPbiB8IGRhdGU6ICdkZCBNTU0geXl5eScgfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG5cbiAgICAgICAgICAgIDx0ciAqbmdJZj1cImlzSW50ZXJuYWxVc2VyKClcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0Nhc2V3b3JrZXIgbmFtZScgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGNoaWxkLm5hbWUgfX08L3RkPlxuICAgICAgICAgICAgPC90cj5cblxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnUmVzcG9uc2UgZGV0YWlsJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgY2hpbGQuYm9keSB9fTwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0lmPVwiY2hpbGQuYXR0YWNobWVudHMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0F0dGFjaG1lbnRzJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPlxuICAgICAgICAgICAgICA8Y2NkLXF1ZXJ5LWF0dGFjaG1lbnRzLXJlYWRcbiAgICAgICAgICAgICAgICAqbmdJZj1cImNoaWxkLmF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgICAgICBbYXR0YWNobWVudHNdPVwiY2hpbGQuYXR0YWNobWVudHNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDwvY2NkLXF1ZXJ5LWF0dGFjaG1lbnRzLXJlYWQ+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8bmctdGVtcGxhdGUgI2ZvbGxvd1VwTWVzc2FnZT5cbiAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwicXVlcnlfZGV0YWlsc19jYXB0aW9uXCI+e3sgJ0ZvbGxvdy11cCcgfCBycHhUcmFuc2xhdGUgfX08L2Rpdj4gLS0+XG4gICAgICAgIDx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlIHF1ZXJ5LWRldGFpbHMtdGFibGVcIlxuICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCInRm9sbG93LXVwIG9mIHRoZSByZXNwb25zZScgfCBycHhUcmFuc2xhdGVcIj5cbiAgICAgICAgICA8Y2FwdGlvbiBjbGFzcz1cImdvdnVrLXRhYmxlX19jYXB0aW9uIGdvdnVrLXRhYmxlX19jYXB0aW9uLS1sXCI+XG4gICAgICAgICAgICA8ZGl2Pnt7ICdGb2xsb3cgdXAgcXVlcnknIHwgcnB4VHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9jYXB0aW9uPlxuICAgICAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0xhc3Qgc3VibWlzc2lvbiBkYXRlJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGNoaWxkLmNyZWF0ZWRPbiB8IGRhdGU6ICdkZCBNTU0geXl5eScgfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG5cbiAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnTGFzdCBzdWJtaXR0ZWQgYnknIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgY2hpbGQubmFtZSB9fTwvdGQ+XG4gICAgICAgICAgPC90cj5cblxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnUXVlcnkgZGV0YWlsJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgY2hpbGQuYm9keSB9fTwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCIgKm5nSWY9XCJjaGlsZC5hdHRhY2htZW50cy5sZW5ndGggPiAwXCI+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdBdHRhY2htZW50cycgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPlxuICAgICAgICAgICAgICAgIDxjY2QtcXVlcnktYXR0YWNobWVudHMtcmVhZFxuICAgICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZC5hdHRhY2htZW50c1wiXG4gICAgICAgICAgICAgICAgICBbYXR0YWNobWVudHNdPVwiY2hpbGQuYXR0YWNobWVudHNcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8L2NjZC1xdWVyeS1hdHRhY2htZW50cy1yZWFkPlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
412
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktZGV0YWlscy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvcXVlcnktZGV0YWlscy9xdWVyeS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS1kZXRhaWxzL3F1ZXJ5LWRldGFpbHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUM3RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUM7Ozs7O0lDTjNDLHFDQUFtRTtJQUNqRSw2QkFBYztJQUFBLFlBQVc7O0lBQzNCLGlCQUFZOzs7SUFESSxlQUFXO0lBQVgsb0NBQVc7Ozs7SUFLekIsQUFERix5QkFBb0IsWUFDaUQ7SUFBbkIsMExBQVMsZUFBUSxLQUFDO0lBQUMsWUFB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QUFTLENBQUMscUJBQXFCLENBQUM7WUFDL0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzdCLE9BQU8sS0FBSyxDQUFDLENBQUMscUJBQXFCO1FBQ3JDLENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5QixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7K0VBN0RVLHFCQUFxQjs2REFBckIscUJBQXFCO1lDZGxDLDBGQUE0Qjs7WUFBYixnQ0FBVzs7O2lGRGNiLHFCQUFxQjtjQUxqQyxTQUFTOzJCQUNFLG1CQUFtQjt3R0FLYixLQUFLO2tCQUFwQixLQUFLO1lBQ1UsTUFBTTtrQkFBckIsS0FBSztZQUNVLG1CQUFtQjtrQkFBbEMsS0FBSztZQUVXLFdBQVc7a0JBQTNCLE1BQU07WUFDVSxZQUFZO2tCQUE1QixNQUFNOztrRkFOSSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29tbW9ucy9jb25zdGFudHMnO1xuaW1wb3J0IHsgU2Vzc2lvblN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vc2VydmljZXMnO1xuaW1wb3J0IHsgaXNJbnRlcm5hbFVzZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlscyc7XG5pbXBvcnQgeyBRdWVyeUl0ZW1SZXNwb25zZVN0YXR1cyB9IGZyb20gJy4uLy4uL2VudW1zJztcbmltcG9ydCB7IFF1ZXJ5TGlzdEl0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcXVlcnktZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9xdWVyeS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcXVlcnktZGV0YWlscy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFF1ZXJ5RGV0YWlsc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlc3tcbiAgQElucHV0KCkgcHVibGljIHF1ZXJ5OiBRdWVyeUxpc3RJdGVtO1xuICBASW5wdXQoKSBwdWJsaWMgY2FzZUlkOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBxdWVyeVJlc3BvbnNlU3RhdHVzOiBzdHJpbmc7XG5cbiAgQE91dHB1dCgpIHB1YmxpYyBiYWNrQ2xpY2tlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgcHVibGljIGhhc1Jlc3BvbmRlZDogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIHB1YmxpYyBzaG93SXRlbTogYm9vbGVhbiA9IHRydWU7XG4gIHB1YmxpYyBtZXNzYWdlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUVVFUllfSVRFTV9SRVNQT05EID0gJzMnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBRVUVSWV9JVEVNX0ZPTExPV19VUCA9ICc0JztcbiAgcHJpdmF0ZSBxdWVyeUl0ZW1JZDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcikgeyB9XG5cbiAgcHVibGljIG9uQmFjaygpOiB2b2lkIHtcbiAgICB0aGlzLmJhY2tDbGlja2VkLmVtaXQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgaXNJbnRlcm5hbFVzZXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzSW50ZXJuYWxVc2VyKHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLnRvZ2dsZUxpbmtWaXNpYmlsaXR5KCk7XG4gICAgdGhpcy5oYXNSZXNwb25kZWRUb1F1ZXJ5KCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlTGlua1Zpc2liaWxpdHkoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeUl0ZW1JZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLnFpZCBhcyBzdHJpbmc7XG4gICAgaWYgKHRoaXMucXVlcnlJdGVtSWQgPT09IFF1ZXJ5RGV0YWlsc0NvbXBvbmVudC5RVUVSWV9JVEVNX1JFU1BPTkQgfHwgdGhpcy5xdWVyeUl0ZW1JZCA9PT0gUXVlcnlEZXRhaWxzQ29tcG9uZW50LlFVRVJZX0lURU1fRk9MTE9XX1VQKSB7XG4gICAgICB0aGlzLnNob3dJdGVtID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhc1Jlc3BvbmRlZFRvUXVlcnkoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaXNBd2FpdGluZyA9IHRoaXMucXVlcnlSZXNwb25zZVN0YXR1cyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMucXVlcnlSZXNwb25zZVN0YXR1cyA9PT0gUXVlcnlJdGVtUmVzcG9uc2VTdGF0dXMuQVdBSVRJTkc7XG5cbiAgICBpZiAodGhpcy5pc0ludGVybmFsVXNlcigpKSB7XG4gICAgICBpZiAoaXNBd2FpdGluZykge1xuICAgICAgICB0aGlzLmhhc1Jlc3BvbmRlZC5lbWl0KGZhbHNlKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLm1lc3NhZ2UgPSBDb25zdGFudHMuVEFTS19DT01QTEVUSU9OX0VSUk9SO1xuICAgICAgdGhpcy5oYXNSZXNwb25kZWQuZW1pdCh0cnVlKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIGlmIChpc0F3YWl0aW5nKSB7XG4gICAgICB0aGlzLmhhc1Jlc3BvbmRlZC5lbWl0KHRydWUpO1xuICAgICAgcmV0dXJuIGZhbHNlOyAvLyBEb24ndCBzaG93IG1lc3NhZ2VcbiAgICB9XG5cbiAgICB0aGlzLmhhc1Jlc3BvbmRlZC5lbWl0KGZhbHNlKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJxdWVyeVwiPlxuICA8Y3V0LWFsZXJ0IHR5cGU9XCJlcnJvclwiICpuZ0lmPVwiaGFzUmVzcG9uZGVkVG9RdWVyeSgpICYmICFzaG93SXRlbVwiPlxuICAgIDxuZy1jb250YWluZXI+e3ttZXNzYWdlfX08L25nLWNvbnRhaW5lcj5cbiAgPC9jdXQtYWxlcnQ+XG5cbiAgPGJyLz5cbiAgPHAgKm5nSWY9XCJzaG93SXRlbVwiPlxuICAgIDxhIGNsYXNzPVwiZ292dWstbGlua1wiIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIiAoY2xpY2spPVwib25CYWNrKClcIj57eyAnQmFjayB0byBxdWVyeSBsaXN0JyB8IHJweFRyYW5zbGF0ZSB9fTwvYT5cbiAgPC9wPlxuICA8ZGl2PlxuICAgIDx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlIHF1ZXJ5LWRldGFpbHMtdGFibGVcIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidEZXRhaWxzIG9mIHRoZSBxdWVyeScgfCBycHhUcmFuc2xhdGVcIj5cbiAgICAgIDxjYXB0aW9uIGNsYXNzPVwiZ292dWstdGFibGVfX2NhcHRpb24gZ292dWstdGFibGVfX2NhcHRpb24tLWxcIj5cbiAgICAgICAgPGRpdj57eyAnUXVlcnkgZGV0YWlscycgfCBycHhUcmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDwvY2FwdGlvbj5cbiAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdMYXN0IHN1Ym1pdHRlZCBieScgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IHF1ZXJ5Lmxhc3RTdWJtaXR0ZWRCeSB9fTwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnU3VibWlzc2lvbiBkYXRlJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+e3sgcXVlcnkuY3JlYXRlZE9uIHwgZGF0ZTogJ2RkIE1NTSB5eXl5JyB9fTwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnUXVlcnkgc3ViamVjdCcgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IHF1ZXJ5LnN1YmplY3QgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ1F1ZXJ5IGJvZHknIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBxdWVyeS5ib2R5IH19PC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8dHIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiIFtjbGFzcy5nb3Z1ay10YWJsZV9faGVhZGVyLS1uby1ib3JkZXJdPVwicXVlcnkuaXNIZWFyaW5nUmVsYXRlZFwiPlxuICAgICAgICAgIHt7ICdJcyB0aGUgcXVlcnkgaGVhcmluZyByZWxhdGVkPycgfCBycHhUcmFuc2xhdGUgfX1cbiAgICAgICAgPC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIiBbY2xhc3MuZ292dWstdGFibGVfX2NlbGwtLW5vLWJvcmRlcl09XCJxdWVyeS5pc0hlYXJpbmdSZWxhdGVkXCI+XG4gICAgICAgICAge3sgJ0lzIHRoZSBxdWVyeSBoZWFyaW5nIHJlbGF0ZWQ/JyB8IHJweFRyYW5zbGF0ZTogbnVsbCA6IChxdWVyeS5pc0hlYXJpbmdSZWxhdGVkKSB9fTwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3JvdyBnb3Z1ay10YWJsZV9fcm93LS1pc0hlYXJpbmdSZWxhdGVkXCIgKm5nSWY9XCJxdWVyeS5pc0hlYXJpbmdSZWxhdGVkID09PSAnWWVzJ1wiPlxuICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnV2hhdCBpcyB0aGUgZGF0ZSBvZiB0aGUgaGVhcmluZz8nIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBxdWVyeS5oZWFyaW5nRGF0ZSB8IGRhdGU6ICdkZCBNTU0geXl5eScgfX08L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdJZj1cInF1ZXJ5LmF0dGFjaG1lbnRzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0F0dGFjaG1lbnRzJyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgIDx0ZCBjbGFzcz1cImdvdnVrLXRhYmxlX19jZWxsXCI+XG4gICAgICAgICAgPGNjZC1xdWVyeS1hdHRhY2htZW50cy1yZWFkXG4gICAgICAgICAgICAqbmdJZj1cInF1ZXJ5LmF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgIFthdHRhY2htZW50c109XCJxdWVyeS5hdHRhY2htZW50c1wiXG4gICAgICAgICAgPlxuICAgICAgICAgIDwvY2NkLXF1ZXJ5LWF0dGFjaG1lbnRzLXJlYWQ+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPC90Ym9keT5cbiAgICA8L3RhYmxlPlxuICA8L2Rpdj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInF1ZXJ5LmNoaWxkcmVuPy5sZW5ndGggPiAwXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgY2hpbGQgb2YgcXVlcnkuY2hpbGRyZW47IGxldCBpID0gaW5kZXg7XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaSAlIDIgPT09IDA7IGVsc2UgZm9sbG93VXBNZXNzYWdlXCI+XG4gICAgICAgIDx0YWJsZSBjbGFzcz1cImdvdnVrLXRhYmxlIHF1ZXJ5LWRldGFpbHMtdGFibGVcIiBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIidSZXNwb25zZSBvZiB0aGUgcXVlcnknIHwgcnB4VHJhbnNsYXRlXCI+XG4gICAgICAgICAgPGNhcHRpb24gY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2FwdGlvbiBnb3Z1ay10YWJsZV9fY2FwdGlvbi0tbFwiPlxuICAgICAgICAgICAgPGRpdj57eyAnUmVzcG9uc2UnIHwgcnB4VHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9jYXB0aW9uPlxuICAgICAgICAgIDx0Ym9keSBjbGFzcz1cImdvdnVrLXRhYmxlX19ib2R5XCI+XG4gICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0xhc3QgcmVzcG9uc2UgZGF0ZScgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBjaGlsZC5jcmVhdGVkT24gfCBkYXRlOiAnZGQgTU1NIHl5eXknIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgICA8dHIgKm5nSWY9XCJpc0ludGVybmFsVXNlcigpXCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9fcm93XCI+XG4gICAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdDYXNld29ya2VyIG5hbWUnIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBjaGlsZC5uYW1lIH19PC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ1Jlc3BvbnNlIGRldGFpbCcgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGNoaWxkLmJvZHkgfX08L3RkPlxuICAgICAgICAgICAgPC90cj5cblxuICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIiAqbmdJZj1cImNoaWxkLmF0dGFjaG1lbnRzLmxlbmd0aCA+IDBcIj5cbiAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdBdHRhY2htZW50cycgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgICAgICAgPGNjZC1xdWVyeS1hdHRhY2htZW50cy1yZWFkXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJjaGlsZC5hdHRhY2htZW50c1wiXG4gICAgICAgICAgICAgICAgW2F0dGFjaG1lbnRzXT1cImNoaWxkLmF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2NjZC1xdWVyeS1hdHRhY2htZW50cy1yZWFkPlxuICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgPG5nLXRlbXBsYXRlICNmb2xsb3dVcE1lc3NhZ2U+XG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInF1ZXJ5X2RldGFpbHNfY2FwdGlvblwiPnt7ICdGb2xsb3ctdXAnIHwgcnB4VHJhbnNsYXRlIH19PC9kaXY+IC0tPlxuICAgICAgICA8dGFibGUgY2xhc3M9XCJnb3Z1ay10YWJsZSBxdWVyeS1kZXRhaWxzLXRhYmxlXCJcbiAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiJ0ZvbGxvdy11cCBvZiB0aGUgcmVzcG9uc2UnIHwgcnB4VHJhbnNsYXRlXCI+XG4gICAgICAgICAgPGNhcHRpb24gY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2FwdGlvbiBnb3Z1ay10YWJsZV9fY2FwdGlvbi0tbFwiPlxuICAgICAgICAgICAgPGRpdj57eyAnRm9sbG93IHVwIHF1ZXJ5JyB8IHJweFRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgICAgIDwvY2FwdGlvbj5cbiAgICAgICAgICA8dGJvZHkgY2xhc3M9XCJnb3Z1ay10YWJsZV9fYm9keVwiPlxuICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgIDx0aCBzY29wZT1cInJvd1wiIGNsYXNzPVwiZ292dWstdGFibGVfX2hlYWRlclwiPnt7ICdMYXN0IHN1Ym1pc3Npb24gZGF0ZScgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj57eyBjaGlsZC5jcmVhdGVkT24gfCBkYXRlOiAnZGQgTU1NIHl5eXknIH19PC90ZD5cbiAgICAgICAgICA8L3RyPlxuXG4gICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiPlxuICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ0xhc3Qgc3VibWl0dGVkIGJ5JyB8IHJweFRyYW5zbGF0ZSB9fTwvdGg+XG4gICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGNoaWxkLm5hbWUgfX08L3RkPlxuICAgICAgICAgIDwvdHI+XG5cbiAgICAgICAgICAgIDx0ciBjbGFzcz1cImdvdnVrLXRhYmxlX19yb3dcIj5cbiAgICAgICAgICAgICAgPHRoIHNjb3BlPVwicm93XCIgY2xhc3M9XCJnb3Z1ay10YWJsZV9faGVhZGVyXCI+e3sgJ1F1ZXJ5IGRldGFpbCcgfCBycHhUcmFuc2xhdGUgfX08L3RoPlxuICAgICAgICAgICAgICA8dGQgY2xhc3M9XCJnb3Z1ay10YWJsZV9fY2VsbFwiPnt7IGNoaWxkLmJvZHkgfX08L3RkPlxuICAgICAgICAgICAgPC90cj5cblxuICAgICAgICAgICAgPHRyIGNsYXNzPVwiZ292dWstdGFibGVfX3Jvd1wiICpuZ0lmPVwiY2hpbGQuYXR0YWNobWVudHMubGVuZ3RoID4gMFwiPlxuICAgICAgICAgICAgICA8dGggc2NvcGU9XCJyb3dcIiBjbGFzcz1cImdvdnVrLXRhYmxlX19oZWFkZXJcIj57eyAnQXR0YWNobWVudHMnIHwgcnB4VHJhbnNsYXRlIH19PC90aD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwiZ292dWstdGFibGVfX2NlbGxcIj5cbiAgICAgICAgICAgICAgICA8Y2NkLXF1ZXJ5LWF0dGFjaG1lbnRzLXJlYWRcbiAgICAgICAgICAgICAgICAgICpuZ0lmPVwiY2hpbGQuYXR0YWNobWVudHNcIlxuICAgICAgICAgICAgICAgICAgW2F0dGFjaG1lbnRzXT1cImNoaWxkLmF0dGFjaG1lbnRzXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPC9jY2QtcXVlcnktYXR0YWNobWVudHMtcmVhZD5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
@@ -101,8 +101,7 @@ export class QueryWriteRespondToQueryComponent {
101
101
  });
102
102
  }
103
103
  ngOnChanges() {
104
- if (this.queryItemId === QueryWriteRespondToQueryComponent.QUERY_ITEM_RESPOND
105
- && this.caseQueriesCollections?.length > 0) {
104
+ if (this.caseQueriesCollections?.length > 0) {
106
105
  if (!this.caseQueriesCollections[0]) {
107
106
  console.error('caseQueriesCollections[0] is undefined!', this.caseQueriesCollections);
108
107
  return;
@@ -119,13 +118,19 @@ export class QueryWriteRespondToQueryComponent {
119
118
  .filter((message) => message?.value?.id === messageId); // Safe access
120
119
  if (filteredMessages.length > 0) {
121
120
  const matchingMessage = filteredMessages[0]?.value;
122
- const filteredQuery = queryWithChildren?.queries.filter((message) => filteredMessages[0]?.value?.parentId === message?.id);
123
- this.queryResponseStatus = filteredQuery[0]?.responseStatus;
124
- if (matchingMessage) {
125
- this.queryItemDisplay = new QueryListItem();
126
- Object.assign(this.queryItemDisplay, matchingMessage);
127
- this.queryItem = this.queryItemDisplay;
121
+ let filteredQuery = [];
122
+ if (this.queryItemId === QueryWriteRespondToQueryComponent.QUERY_ITEM_RESPOND) {
123
+ filteredQuery = queryWithChildren?.queries.filter((message) => filteredMessages[0]?.value?.parentId === message?.id);
124
+ if (matchingMessage) {
125
+ this.queryItemDisplay = new QueryListItem();
126
+ Object.assign(this.queryItemDisplay, matchingMessage);
127
+ this.queryItem = this.queryItemDisplay;
128
+ }
129
+ }
130
+ else {
131
+ filteredQuery = queryWithChildren?.queries.filter((message) => filteredMessages[0]?.value?.id === message?.id);
128
132
  }
133
+ this.queryResponseStatus = filteredQuery[0]?.responseStatus;
129
134
  }
130
135
  }
131
136
  }
@@ -182,4 +187,4 @@ export class QueryWriteRespondToQueryComponent {
182
187
  type: Output
183
188
  }] }); })();
184
189
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QueryWriteRespondToQueryComponent, { className: "QueryWriteRespondToQueryComponent", filePath: "lib/shared/components/palette/query-management/components/query-write/query-write-respond-to-query/query-write-respond-to-query.component.ts", lineNumber: 14 }); })();
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktd3JpdGUtcmVzcG9uZC10by1xdWVyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvcXVlcnktd3JpdGUvcXVlcnktd3JpdGUtcmVzcG9uZC10by1xdWVyeS9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS13cml0ZS9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5L3F1ZXJ5LXdyaXRlLXJlc3BvbmQtdG8tcXVlcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBeUIsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztJQzBCaEcs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cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMnO1xuaW1wb3J0IHsgUmFpc2VRdWVyeUVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zJztcbmltcG9ydCB7IENhc2VRdWVyaWVzQ29sbGVjdGlvbiwgUXVlcnlDcmVhdGVDb250ZXh0LCBRdWVyeUxpc3REYXRhLCBRdWVyeUxpc3RJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXJ5LXdyaXRlLXJlc3BvbmQtdG8tcXVlcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbmV4cG9ydCBjbGFzcyBRdWVyeVdyaXRlUmVzcG9uZFRvUXVlcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHB1YmxpYyBxdWVyeUl0ZW06IFF1ZXJ5TGlzdEl0ZW07XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIHF1ZXJ5Q3JlYXRlQ29udGV4dDogUXVlcnlDcmVhdGVDb250ZXh0O1xuICBASW5wdXQoKSBwdWJsaWMgc3VibWl0dGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlUXVlcmllc0NvbGxlY3Rpb25zOiBDYXNlUXVlcmllc0NvbGxlY3Rpb25bXTtcbiAgQElucHV0KCkgcHVibGljIHNob3dGb3JtO1xuICBAT3V0cHV0KCkgcHVibGljIGhhc1Jlc3BvbmRlZFRvUXVlcnlUYXNrOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0gPSBRdWVyeUNyZWF0ZUNvbnRleHQ7XG4gIHB1YmxpYyByZWFkb25seSByYWlzZVF1ZXJ5RXJyb3JNZXNzYWdlcyA9IFJhaXNlUXVlcnlFcnJvck1lc3NhZ2U7XG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcbiAgcHVibGljIHF1ZXJ5SXRlbUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlRGV0YWlscztcbiAgcHVibGljIHF1ZXJ5UmVzcG9uc2VTdGF0dXM6IHN0cmluZztcbiAgcHVibGljIHF1ZXJ5SXRlbURpc3BsYXk6IFF1ZXJ5TGlzdEl0ZW07XG5cbiAgcHVibGljIGhhc1Jlc3BvbmRlZFRvUXVlcnk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBRVUVSWV9JVEVNX1JFU1BPTkQgPSAnMyc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFFVRVJZX0lURU1fRk9MTE9XVVAgPSAnNCc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeUl0ZW1JZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLnFpZDtcbiAgICB0aGlzLmNhc2VOb3RpZmllci5jYXNlVmlldy5waXBlKHRha2UoMSkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoY2FzZURldGFpbHMpID0+IHtcbiAgICAgICAgdGhpcy5jYXNlSWQgPSBjYXNlRGV0YWlscz8uY2FzZV9pZCA/PyAnJztcbiAgICAgICAgdGhpcy5jYXNlRGV0YWlscyA9IGNhc2VEZXRhaWxzO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHJldHJpZXZpbmcgY2FzZSBkZXRhaWxzOicsIGVycik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucXVlcnlJdGVtSWQgPT09IFF1ZXJ5V3JpdGVSZXNwb25kVG9RdWVyeUNvbXBvbmVudC5RVUVSWV9JVEVNX1JFU1BPTkRcbiAgICAgICYmIHRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9ucz8ubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgaWYgKCF0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnNbMF0pIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignY2FzZVF1ZXJpZXNDb2xsZWN0aW9uc1swXSBpcyB1bmRlZmluZWQhJywgdGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBxdWVyeVdpdGhDaGlsZHJlbiA9IG5ldyBRdWVyeUxpc3REYXRhKHRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9uc1swXSk7XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLmRhdGFpZDtcbiAgICAgIGlmICghbWVzc2FnZUlkKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignTm8gbWVzc2FnZUlkIGZvdW5kIGluIHJvdXRlIHBhcmFtczonLCB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlsdGVyZWRNZXNzYWdlcyA9IHRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9uc1xuICAgICAgICAubWFwKChjYXNlRGF0YSkgPT4gY2FzZURhdGE/LmNhc2VNZXNzYWdlcyB8fCBbXSkgLy8gRW5zdXJlIGNhc2VNZXNzYWdlcyBpcyBhbHdheXMgYW4gYXJyYXlcbiAgICAgICAgLmZsYXQoKSAvLyBGbGF0dGVuIGludG8gYSBzaW5nbGUgYXJyYXkgb2YgbWVzc2FnZXNcbiAgICAgICAgLmZpbHRlcigobWVzc2FnZSkgPT4gbWVzc2FnZT8udmFsdWU/LmlkID09PSBtZXNzYWdlSWQpOyAvLyBTYWZlIGFjY2Vzc1xuXG4gICAgICBpZiAoZmlsdGVyZWRNZXNzYWdlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoaW5nTWVzc2FnZSA9IGZpbHRlcmVkTWVzc2FnZXNbMF0/LnZhbHVlO1xuXG4gICAgICAgIGNvbnN0IGZpbHRlcmVkUXVlcnkgPSBxdWVyeVdpdGhDaGlsZHJlbj8ucXVlcmllcy5maWx0ZXIoKG1lc3NhZ2UpID0+IGZpbHRlcmVkTWVzc2FnZXNbMF0/LnZhbHVlPy5wYXJlbnRJZCA9PT0gbWVzc2FnZT8uaWQpO1xuICAgICAgICB0aGlzLnF1ZXJ5UmVzcG9uc2VTdGF0dXMgPSBmaWx0ZXJlZFF1ZXJ5WzBdPy5yZXNwb25zZVN0YXR1cztcblxuICAgICAgICBpZiAobWF0Y2hpbmdNZXNzYWdlKSB7XG4gICAgICAgICAgdGhpcy5xdWVyeUl0ZW1EaXNwbGF5ID0gbmV3IFF1ZXJ5TGlzdEl0ZW0oKTtcbiAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMucXVlcnlJdGVtRGlzcGxheSwgbWF0Y2hpbmdNZXNzYWdlKTtcbiAgICAgICAgICB0aGlzLnF1ZXJ5SXRlbSA9IHRoaXMucXVlcnlJdGVtRGlzcGxheTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYXNSZXNwb25kZWQodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmhhc1Jlc3BvbmRlZFRvUXVlcnkgPSB2YWx1ZTtcbiAgICB0aGlzLmhhc1Jlc3BvbmRlZFRvUXVlcnlUYXNrLmVtaXQodmFsdWUpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstIS1tYXJnaW4tYm90dG9tLTZcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLWJvdHRvbS02XCI+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWNhcHRpb24tbFwiPnt7ICdSZXNwb25kIHRvIGEgcXVlcnknIHwgcnB4VHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPGgxIGNsYXNzPVwiZ292dWstaGVhZGluZy1sIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0wXCI+e3sgJ1F1ZXJ5IGRldGFpbHMnIHwgcnB4VHJhbnNsYXRlIH19PC9oMT5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLWJvdHRvbS00XCI+XG4gICAgPGNjZC1xdWVyeS1jYXNlLWRldGFpbHMtaGVhZGVyIFtjYXNlRGV0YWlsc109XCJjYXNlRGV0YWlsc1wiPjwvY2NkLXF1ZXJ5LWNhc2UtZGV0YWlscy1oZWFkZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXY+XG4gICAgPGNjZC1xdWVyeS1kZXRhaWxzIFtxdWVyeV09XCJxdWVyeUl0ZW1cIlxuICAgICAgW3F1ZXJ5UmVzcG9uc2VTdGF0dXNdPVwicXVlcnlSZXNwb25zZVN0YXR1c1wiXG4gICAgICAoaGFzUmVzcG9uZGVkKT1cImhhc1Jlc3BvbmRlZCgkZXZlbnQpXCI+PC9jY2QtcXVlcnktZGV0YWlscz5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJxdWVyeS1yZXNwb25kXCIgKm5nSWY9XCJzaG93Rm9ybVwiPlxuICA8ZGl2ICpuZ0lmPVwiIWhhc1Jlc3BvbmRlZFRvUXVlcnlcIj5cbiAgICA8aDEgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLW1cIj5cbiAgICAgIHt7IHF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gcXVlcnlDcmVhdGVDb250ZXh0RW51bS5SRVNQT05EID8gJ1Jlc3BvbmQgdG8gYSBxdWVyeScgOiAnQXNrIGEgZm9sbG93LXVwIHF1ZXN0aW9uJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgIDwvaDE+XG5cbiAgICA8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cCBib2R5LXRleHRhcmVhXCJcbiAgICAgICAgICAgW2NsYXNzLmdvdnVrLWZvcm0tZ3JvdXAtLWVycm9yXT1cInN1Ym1pdHRlZCAmJiBmb3JtR3JvdXAuZ2V0KCdib2R5Jyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1sYWJlbC13cmFwcGVyXCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstbGFiZWwtLW0gZ292dWstIS1mb250LXdlaWdodC1ib2xkXCIgZm9yPVwiYm9keVwiPlxuICAgICAgICAgICAge3sgcXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLlJFU1BPTkQgPyAnUmVzcG9uc2UgZGV0YWlsJyA6ICdRdWVyeSBCb2R5JyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cCBpZD1cImJvZHktZXJyb3JcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAqbmdJZj1cInN1Ym1pdHRlZCAmJiBmb3JtR3JvdXAuZ2V0KCdib2R5Jyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eyAnRXJyb3I6JyB8IHJweFRyYW5zbGF0ZSB9fSA8L3NwYW4+e3sgcXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLlJFU1BPTkQgPyByYWlzZVF1ZXJ5RXJyb3JNZXNzYWdlcy5SRVNQT05EX1FVRVJZX0JPRFkgOiByYWlzZVF1ZXJ5RXJyb3JNZXNzYWdlcy5RVUVSWV9CT0RZIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPHRleHRhcmVhIFtmb3JtQ29udHJvbE5hbWVdPVwiJ2JvZHknXCIgY2xhc3M9XCJnb3Z1ay10ZXh0YXJlYVwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuZ292dWstdGV4dGFyZWEtLWVycm9yXT1cInN1Ym1pdHRlZCAmJiBmb3JtR3JvdXAuZ2V0KCdib2R5Jyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgaWQ9XCJib2R5XCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJib2R5XCIgcm93cz1cIjVcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiYm9keS1oaW50IGJvZHktZXJyb3JcIj5cbiAgICAgIDwvdGV4dGFyZWE+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
190
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktd3JpdGUtcmVzcG9uZC10by1xdWVyeS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9xdWVyeS1tYW5hZ2VtZW50L2NvbXBvbmVudHMvcXVlcnktd3JpdGUvcXVlcnktd3JpdGUtcmVzcG9uZC10by1xdWVyeS9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWVyeS13cml0ZS9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5L3F1ZXJ5LXdyaXRlLXJlc3BvbmQtdG8tcXVlcnkuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBeUIsa0JBQWtCLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7OztJQzBCaEcs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Ozs7aUZESDdCLGlDQUFpQztjQU43QyxTQUFTOzJCQUNFLGtDQUFrQzswRUFNNUIsU0FBUztrQkFBeEIsS0FBSztZQUNVLFNBQVM7a0JBQXhCLEtBQUs7WUFDVSxrQkFBa0I7a0JBQWpDLEtBQUs7WUFDVSxTQUFTO2tCQUF4QixLQUFLO1lBQ1Usc0JBQXNCO2tCQUFyQyxLQUFLO1lBQ1UsUUFBUTtrQkFBdkIsS0FBSztZQUNXLHVCQUF1QjtrQkFBdkMsTUFBTTs7a0ZBUEksaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2FzZU5vdGlmaWVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY2FzZS1lZGl0b3Ivc2VydmljZXMnO1xuaW1wb3J0IHsgUmFpc2VRdWVyeUVycm9yTWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL2VudW1zJztcbmltcG9ydCB7IENhc2VRdWVyaWVzQ29sbGVjdGlvbiwgUXVlcnlDcmVhdGVDb250ZXh0LCBRdWVyeUxpc3REYXRhLCBRdWVyeUxpc3RJdGVtIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3F1ZXJ5LXdyaXRlLXJlc3BvbmQtdG8tcXVlcnkuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9xdWVyeS13cml0ZS1yZXNwb25kLXRvLXF1ZXJ5LmNvbXBvbmVudC5zY3NzJ11cbn0pXG5cbmV4cG9ydCBjbGFzcyBRdWVyeVdyaXRlUmVzcG9uZFRvUXVlcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIHB1YmxpYyBxdWVyeUl0ZW06IFF1ZXJ5TGlzdEl0ZW07XG4gIEBJbnB1dCgpIHB1YmxpYyBmb3JtR3JvdXA6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgcHVibGljIHF1ZXJ5Q3JlYXRlQ29udGV4dDogUXVlcnlDcmVhdGVDb250ZXh0O1xuICBASW5wdXQoKSBwdWJsaWMgc3VibWl0dGVkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHB1YmxpYyBjYXNlUXVlcmllc0NvbGxlY3Rpb25zOiBDYXNlUXVlcmllc0NvbGxlY3Rpb25bXTtcbiAgQElucHV0KCkgcHVibGljIHNob3dGb3JtO1xuICBAT3V0cHV0KCkgcHVibGljIGhhc1Jlc3BvbmRlZFRvUXVlcnlUYXNrOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHVibGljIHJlYWRvbmx5IHF1ZXJ5Q3JlYXRlQ29udGV4dEVudW0gPSBRdWVyeUNyZWF0ZUNvbnRleHQ7XG4gIHB1YmxpYyByZWFkb25seSByYWlzZVF1ZXJ5RXJyb3JNZXNzYWdlcyA9IFJhaXNlUXVlcnlFcnJvck1lc3NhZ2U7XG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcbiAgcHVibGljIHF1ZXJ5SXRlbUlkOiBzdHJpbmc7XG4gIHB1YmxpYyBjYXNlRGV0YWlscztcbiAgcHVibGljIHF1ZXJ5UmVzcG9uc2VTdGF0dXM6IHN0cmluZztcbiAgcHVibGljIHF1ZXJ5SXRlbURpc3BsYXk6IFF1ZXJ5TGlzdEl0ZW07XG5cbiAgcHVibGljIGhhc1Jlc3BvbmRlZFRvUXVlcnk6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBRVUVSWV9JVEVNX1JFU1BPTkQgPSAnMyc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFFVRVJZX0lURU1fRk9MTE9XVVAgPSAnNCc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBjYXNlTm90aWZpZXI6IENhc2VOb3RpZmllcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge31cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5xdWVyeUl0ZW1JZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLnFpZDtcbiAgICB0aGlzLmNhc2VOb3RpZmllci5jYXNlVmlldy5waXBlKHRha2UoMSkpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAoY2FzZURldGFpbHMpID0+IHtcbiAgICAgICAgdGhpcy5jYXNlSWQgPSBjYXNlRGV0YWlscz8uY2FzZV9pZCA/PyAnJztcbiAgICAgICAgdGhpcy5jYXNlRGV0YWlscyA9IGNhc2VEZXRhaWxzO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHJldHJpZXZpbmcgY2FzZSBkZXRhaWxzOicsIGVycik7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9ucz8ubGVuZ3RoID4gMFxuICAgICkge1xuICAgICAgaWYgKCF0aGlzLmNhc2VRdWVyaWVzQ29sbGVjdGlvbnNbMF0pIHtcbiAgICAgICAgY29uc29sZS5lcnJvcignY2FzZVF1ZXJpZXNDb2xsZWN0aW9uc1swXSBpcyB1bmRlZmluZWQhJywgdGhpcy5jYXNlUXVlcmllc0NvbGxlY3Rpb25zKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBxdWVyeVdpdGhDaGlsZHJlbiA9IG5ldyBRdWVyeUxpc3REYXRhKHRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9uc1swXSk7XG5cbiAgICAgIGNvbnN0IG1lc3NhZ2VJZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1zLmRhdGFpZDtcbiAgICAgIGlmICghbWVzc2FnZUlkKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignTm8gbWVzc2FnZUlkIGZvdW5kIGluIHJvdXRlIHBhcmFtczonLCB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlsdGVyZWRNZXNzYWdlcyA9IHRoaXMuY2FzZVF1ZXJpZXNDb2xsZWN0aW9uc1xuICAgICAgICAubWFwKChjYXNlRGF0YSkgPT4gY2FzZURhdGE/LmNhc2VNZXNzYWdlcyB8fCBbXSkgLy8gRW5zdXJlIGNhc2VNZXNzYWdlcyBpcyBhbHdheXMgYW4gYXJyYXlcbiAgICAgICAgLmZsYXQoKSAvLyBGbGF0dGVuIGludG8gYSBzaW5nbGUgYXJyYXkgb2YgbWVzc2FnZXNcbiAgICAgICAgLmZpbHRlcigobWVzc2FnZSkgPT4gbWVzc2FnZT8udmFsdWU/LmlkID09PSBtZXNzYWdlSWQpOyAvLyBTYWZlIGFjY2Vzc1xuXG4gICAgICBpZiAoZmlsdGVyZWRNZXNzYWdlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoaW5nTWVzc2FnZSA9IGZpbHRlcmVkTWVzc2FnZXNbMF0/LnZhbHVlO1xuICAgICAgICBsZXQgZmlsdGVyZWRRdWVyeSA9IFtdO1xuICAgICAgICBpZiAodGhpcy5xdWVyeUl0ZW1JZCA9PT0gUXVlcnlXcml0ZVJlc3BvbmRUb1F1ZXJ5Q29tcG9uZW50LlFVRVJZX0lURU1fUkVTUE9ORCkge1xuICAgICAgICAgIGZpbHRlcmVkUXVlcnkgPSBxdWVyeVdpdGhDaGlsZHJlbj8ucXVlcmllcy5maWx0ZXIoKG1lc3NhZ2UpID0+IGZpbHRlcmVkTWVzc2FnZXNbMF0/LnZhbHVlPy5wYXJlbnRJZCA9PT0gbWVzc2FnZT8uaWQpO1xuICAgICAgICAgIGlmIChtYXRjaGluZ01lc3NhZ2UpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlJdGVtRGlzcGxheSA9IG5ldyBRdWVyeUxpc3RJdGVtKCk7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMucXVlcnlJdGVtRGlzcGxheSwgbWF0Y2hpbmdNZXNzYWdlKTtcbiAgICAgICAgICAgIHRoaXMucXVlcnlJdGVtID0gdGhpcy5xdWVyeUl0ZW1EaXNwbGF5O1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBmaWx0ZXJlZFF1ZXJ5ID0gcXVlcnlXaXRoQ2hpbGRyZW4/LnF1ZXJpZXMuZmlsdGVyKChtZXNzYWdlKSA9PiBmaWx0ZXJlZE1lc3NhZ2VzWzBdPy52YWx1ZT8uaWQgPT09IG1lc3NhZ2U/LmlkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucXVlcnlSZXNwb25zZVN0YXR1cyA9IGZpbHRlcmVkUXVlcnlbMF0/LnJlc3BvbnNlU3RhdHVzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYXNSZXNwb25kZWQodmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmhhc1Jlc3BvbmRlZFRvUXVlcnkgPSB2YWx1ZTtcbiAgICB0aGlzLmhhc1Jlc3BvbmRlZFRvUXVlcnlUYXNrLmVtaXQodmFsdWUpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZ292dWstIS1tYXJnaW4tYm90dG9tLTZcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLWJvdHRvbS02XCI+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWNhcHRpb24tbFwiPnt7ICdSZXNwb25kIHRvIGEgcXVlcnknIHwgcnB4VHJhbnNsYXRlIH19PC9kaXY+XG4gICAgPGgxIGNsYXNzPVwiZ292dWstaGVhZGluZy1sIGdvdnVrLSEtbWFyZ2luLWJvdHRvbS0wXCI+e3sgJ1F1ZXJ5IGRldGFpbHMnIHwgcnB4VHJhbnNsYXRlIH19PC9oMT5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLSEtbWFyZ2luLWJvdHRvbS00XCI+XG4gICAgPGNjZC1xdWVyeS1jYXNlLWRldGFpbHMtaGVhZGVyIFtjYXNlRGV0YWlsc109XCJjYXNlRGV0YWlsc1wiPjwvY2NkLXF1ZXJ5LWNhc2UtZGV0YWlscy1oZWFkZXI+XG4gIDwvZGl2PlxuXG4gIDxkaXY+XG4gICAgPGNjZC1xdWVyeS1kZXRhaWxzIFtxdWVyeV09XCJxdWVyeUl0ZW1cIlxuICAgICAgW3F1ZXJ5UmVzcG9uc2VTdGF0dXNdPVwicXVlcnlSZXNwb25zZVN0YXR1c1wiXG4gICAgICAoaGFzUmVzcG9uZGVkKT1cImhhc1Jlc3BvbmRlZCgkZXZlbnQpXCI+PC9jY2QtcXVlcnktZGV0YWlscz5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJxdWVyeS1yZXNwb25kXCIgKm5nSWY9XCJzaG93Rm9ybVwiPlxuICA8ZGl2ICpuZ0lmPVwiIWhhc1Jlc3BvbmRlZFRvUXVlcnlcIj5cbiAgICA8aDEgY2xhc3M9XCJnb3Z1ay1oZWFkaW5nLW1cIj5cbiAgICAgIHt7IHF1ZXJ5Q3JlYXRlQ29udGV4dCA9PT0gcXVlcnlDcmVhdGVDb250ZXh0RW51bS5SRVNQT05EID8gJ1Jlc3BvbmQgdG8gYSBxdWVyeScgOiAnQXNrIGEgZm9sbG93LXVwIHF1ZXN0aW9uJyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgIDwvaDE+XG5cbiAgICA8ZGl2IFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cCBib2R5LXRleHRhcmVhXCJcbiAgICAgICAgICAgW2NsYXNzLmdvdnVrLWZvcm0tZ3JvdXAtLWVycm9yXT1cInN1Ym1pdHRlZCAmJiBmb3JtR3JvdXAuZ2V0KCdib2R5Jyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1sYWJlbC13cmFwcGVyXCI+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWwgZ292dWstbGFiZWwtLW0gZ292dWstIS1mb250LXdlaWdodC1ib2xkXCIgZm9yPVwiYm9keVwiPlxuICAgICAgICAgICAge3sgcXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLlJFU1BPTkQgPyAnUmVzcG9uc2UgZGV0YWlsJyA6ICdRdWVyeSBCb2R5JyB8IHJweFRyYW5zbGF0ZSB9fVxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8cCBpZD1cImJvZHktZXJyb3JcIiBjbGFzcz1cImdvdnVrLWVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAqbmdJZj1cInN1Ym1pdHRlZCAmJiBmb3JtR3JvdXAuZ2V0KCdib2R5Jyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJnb3Z1ay12aXN1YWxseS1oaWRkZW5cIj57eyAnRXJyb3I6JyB8IHJweFRyYW5zbGF0ZSB9fSA8L3NwYW4+e3sgcXVlcnlDcmVhdGVDb250ZXh0ID09PSBxdWVyeUNyZWF0ZUNvbnRleHRFbnVtLlJFU1BPTkQgPyByYWlzZVF1ZXJ5RXJyb3JNZXNzYWdlcy5SRVNQT05EX1FVRVJZX0JPRFkgOiByYWlzZVF1ZXJ5RXJyb3JNZXNzYWdlcy5RVUVSWV9CT0RZIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvcD5cbiAgICAgICAgPHRleHRhcmVhIFtmb3JtQ29udHJvbE5hbWVdPVwiJ2JvZHknXCIgY2xhc3M9XCJnb3Z1ay10ZXh0YXJlYVwiXG4gICAgICAgICAgICAgICAgICBbY2xhc3MuZ292dWstdGV4dGFyZWEtLWVycm9yXT1cInN1Ym1pdHRlZCAmJiBmb3JtR3JvdXAuZ2V0KCdib2R5Jyk/Lmhhc0Vycm9yKCdyZXF1aXJlZCcpXCIgaWQ9XCJib2R5XCJcbiAgICAgICAgICAgICAgICAgIG5hbWU9XCJib2R5XCIgcm93cz1cIjVcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiYm9keS1oaW50IGJvZHktZXJyb3JcIj5cbiAgICAgIDwvdGV4dGFyZWE+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==