@datarailsshared/datarailsshared 1.6.109 → 1.6.113

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.
@@ -78,7 +78,7 @@ function DialogModalWrapperComponent_form_7_div_2_dr_select_3_Template(rf, ctx)
78
78
  } if (rf & 2) {
79
79
  const field_r11 = i0.ɵɵnextContext().$implicit;
80
80
  const ctx_r13 = i0.ɵɵnextContext(2);
81
- i0.ɵɵproperty("searchable", ctx_r13.dialogData.searchable)("clearable", ctx_r13.dialogData.clearable)("formControlName", field_r11.name)("addTag", field_r11.addTag)("bindLabel", field_r11.bindLabel || null)("bindValue", field_r11.bindValue || null)("selectedItem", field_r11.default)("items", field_r11.items || i0.ɵɵpipeBind1(1, 12, field_r11.items$))("loading", i0.ɵɵpipeBind1(2, 14, ctx_r13.fieldsItemsLoading[field_r11.name]))("required", true)("placeholder", field_r11.placeholder);
81
+ i0.ɵɵproperty("searchable", ctx_r13.dialogData.searchable)("clearable", ctx_r13.dialogData.clearable)("formControlName", field_r11.name)("addTag", field_r11.addTag)("bindLabel", field_r11.bindLabel || null)("bindValue", field_r11.bindValue || null)("selectedItem", field_r11.default)("items", field_r11.items || i0.ɵɵpipeBind1(1, 12, field_r11.items$))("loading", i0.ɵɵpipeBind1(2, 14, ctx_r13.fieldsItemsLoading[field_r11.name]))("required", !field_r11.isOptional)("placeholder", field_r11.placeholder);
82
82
  i0.ɵɵadvance(3);
83
83
  i0.ɵɵproperty("ngIf", ctx_r13.dialogData == null ? null : ctx_r13.dialogData.footerTemplateData);
84
84
  } }
@@ -334,7 +334,7 @@ export class DialogModalWrapperComponent {
334
334
  }
335
335
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DialogModalWrapperComponent, [{
336
336
  type: Component,
337
- args: [{ selector: 'dr-dialog-modal-wrapper', template: "<div header class=\"header-dialog\">\n <h1 class=\"title-dialog\" data-test=\"modalTitle\">\n <i\n *ngIf=\"dialogData.headerIconClass\"\n (click)=\"closeDialog()\"\n class=\"title-dialog__icon\"\n [class]=\"dialogData.headerIconClass\"\n data-test=\"dialogTitleIcon\"></i>\n <span class=\"title-dialog__text\">{{ dialogData.title }}</span>\n </h1>\n <i *ngIf=\"!dialogData.hideCloseBtn\" (click)=\"closeDialog()\" class=\"dr-icon-exit icon-close\" data-test=\"xBtn\"></i>\n</div>\n<div *ngIf=\"dialogData.content\" class=\"content-dialog\" [innerHTML]=\"dialogData.content\">\n <span #content class=\"content-anchor\"></span>\n</div>\n<form *ngIf=\"dialogData.fields\" [formGroup]=\"form\" class=\"dr-smart-from\">\n <div [class]=\"dialogData.formWrapperClass || 'dr-smart-form_wrapper'\">\n <div\n *ngFor=\"let field of dialogData.fields\"\n class=\"dr-smart-form_group\"\n [class]=\"field.formGroupClass\"\n [ngStyle]=\"{ display: field.isLabelFullWidth ? 'block' : 'flex' }\">\n <label\n *ngIf=\"field.label && field.type !== dialogFieldType.CHECKBOX\"\n [ngClass]=\"field.isLabelFullWidth ? 'col-md-12 mb-2' : 'col-md-2'\"\n class=\"label p-0 d-flex align-items-center\"\n >{{ field.label }}</label\n >\n <div\n class=\"input-group p-0\"\n [ngClass]=\"{\n 'col-md-10': field.label && !field.isLabelFullWidth,\n 'col-md-12': !field.label || field.isLabelFullWidth,\n }\">\n <dr-select\n *ngIf=\"field.type === dialogFieldType.SELECT\"\n [searchable]=\"dialogData.searchable\"\n [clearable]=\"dialogData.clearable\"\n [formControlName]=\"field.name\"\n [addTag]=\"field.addTag\"\n [bindLabel]=\"field.bindLabel || null\"\n [bindValue]=\"field.bindValue || null\"\n [selectedItem]=\"field.default\"\n [items]=\"field.items || (field.items$ | async)\"\n [loading]=\"fieldsItemsLoading[field.name] | async\"\n [required]=\"true\"\n [placeholder]=\"field.placeholder\">\n <ng-template *ngIf=\"dialogData?.footerTemplateData\" #optionFooterTemplate let-item=\"item\" let-close=\"close\">\n <button (click)=\"footerAction(); close()\" class=\"dr-select-footer__btn\">\n <i *ngIf=\"dialogData.footerTemplateData.icon\" class=\"{{ dialogData.footerTemplateData.icon }}\"></i>\n {{ dialogData.footerTemplateData.label }}\n </button>\n </ng-template>\n </dr-select>\n <dr-input\n *ngIf=\"field.type === dialogFieldType.INPUT\"\n data-test=\"modalInput\"\n class=\"form-control\"\n [formControlName]=\"field.name\"\n [placeholder]=\"field.placeholder\"></dr-input>\n <dr-date-picker\n *ngIf=\"field.type === dialogFieldType.DATE_PICKER\"\n [formControlName]=\"field.name\"\n [format]=\"field.datePickerFormat\"\n [placeholder]=\"field.placeholder\"></dr-date-picker>\n <dr-checkbox *ngIf=\"field.type === dialogFieldType.CHECKBOX\" [formControlName]=\"field.name\">\n {{ field.label }}\n </dr-checkbox>\n <label\n class=\"form-field-error-alert\"\n *ngIf=\"form.invalid && form.controls[field.name]?.dirty && form.controls[field.name]?.errors\">\n {{ form.controls[field.name].errors.errorString }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"dialogData.errorMessage && !form.pristine && form.invalid\">\n {{ dialogData.errorMessage }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"form.valid && showServerErrorMessage && dialogData.serverErrorMessage\">\n {{ dialogData.serverErrorMessage }}\n </label>\n </div>\n </div>\n </div>\n</form>\n\n<div footer class=\"footer-dialog\">\n <div class=\"buttons-wrapper\" *ngIf=\"dialogData.cancelButton || dialogData.acceptButton\">\n <dr-button\n (click)=\"onDecline()\"\n *ngIf=\"dialogData.customButton\"\n [theme]=\"dialogData.customButton?.theme || 'secondary'\"\n class=\"buttons-wrapper--custom-btn\"\n data-test=\"declineBtn\"\n >{{ dialogData.customButton.label }}</dr-button\n >\n <dr-button *ngIf=\"dialogData.cancelButton\" data-test=\"modalCloseBtn\" (click)=\"onCancel()\" [theme]=\"'secondary'\">{{\n dialogData.cancelButton.label\n }}</dr-button>\n <dr-button\n *ngIf=\"dialogData.acceptButton\"\n data-test=\"modalAddBtn\"\n (click)=\"onAccept()\"\n [theme]=\"'primary'\"\n [isLoading]=\"isLoading\"\n [disabled]=\"form.invalid\"\n >{{ dialogData.acceptButton.label }}</dr-button\n >\n </div>\n</div>\n", styles: [":host{display:flex;justify-content:space-between;flex-direction:column}:host.small-modal,:host.small-modal-max-height{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal,:host.medium-modal-max-height{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height,:host.small-modal-max-height{max-height:80vh}.header-dialog{position:relative;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 56px 16px 32px;border-bottom:1px solid #dfe0e3}.header-dialog>.icon-close{position:absolute;right:32px;top:16px;cursor:pointer}.title-dialog{display:flex;color:#333;position:static;font-weight:600;font-size:16px;line-height:24px;margin-top:0;margin-bottom:0}.title-dialog__icon{font-size:32px;margin-right:8px;line-height:24px;color:#6d6e6f}.content-dialog{font-weight:400;font-size:14px;padding:16px 32px 5px;white-space:pre-line;overflow:auto}.icon-close{color:#6d6e6f;cursor:pointer}.dr-smart-from{font-size:14px;font-weight:400;line-height:22px;padding:8px 32px 24px}.dr-smart-from dr-checkbox{font-weight:400}.content-dialog{padding:16px 32px 0;font-weight:400;font-size:14px;line-height:22px}.content-anchor{display:none}.footer-dialog{border-top:1px solid #dfe0e3}.buttons-wrapper{display:flex;justify-content:flex-end;padding:10px 32px 11px}.buttons-wrapper dr-button:nth-of-type(n+2){margin-left:12px}.buttons-wrapper--custom-btn{margin-right:auto}.form-field-error-alert{font-size:12px;color:#bf1d30;line-height:20px}.form-error-alert{position:absolute;margin-top:5px;font-size:12px;color:#bf1d30}.dr-select-footer__btn{background-color:transparent;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}\n"] }]
337
+ args: [{ selector: 'dr-dialog-modal-wrapper', template: "<div header class=\"header-dialog\">\n <h1 class=\"title-dialog\" data-test=\"modalTitle\">\n <i\n *ngIf=\"dialogData.headerIconClass\"\n (click)=\"closeDialog()\"\n class=\"title-dialog__icon\"\n [class]=\"dialogData.headerIconClass\"\n data-test=\"dialogTitleIcon\"></i>\n <span class=\"title-dialog__text\">{{ dialogData.title }}</span>\n </h1>\n <i *ngIf=\"!dialogData.hideCloseBtn\" (click)=\"closeDialog()\" class=\"dr-icon-exit icon-close\" data-test=\"xBtn\"></i>\n</div>\n<div *ngIf=\"dialogData.content\" class=\"content-dialog\" [innerHTML]=\"dialogData.content\">\n <span #content class=\"content-anchor\"></span>\n</div>\n<form *ngIf=\"dialogData.fields\" [formGroup]=\"form\" class=\"dr-smart-from\">\n <div [class]=\"dialogData.formWrapperClass || 'dr-smart-form_wrapper'\">\n <div\n *ngFor=\"let field of dialogData.fields\"\n class=\"dr-smart-form_group\"\n [class]=\"field.formGroupClass\"\n [ngStyle]=\"{ display: field.isLabelFullWidth ? 'block' : 'flex' }\">\n <label\n *ngIf=\"field.label && field.type !== dialogFieldType.CHECKBOX\"\n [ngClass]=\"field.isLabelFullWidth ? 'col-md-12 mb-2' : 'col-md-2'\"\n class=\"label p-0 d-flex align-items-center\"\n >{{ field.label }}</label\n >\n <div\n class=\"input-group p-0\"\n [ngClass]=\"{\n 'col-md-10': field.label && !field.isLabelFullWidth,\n 'col-md-12': !field.label || field.isLabelFullWidth,\n }\">\n <dr-select\n *ngIf=\"field.type === dialogFieldType.SELECT\"\n [searchable]=\"dialogData.searchable\"\n [clearable]=\"dialogData.clearable\"\n [formControlName]=\"field.name\"\n [addTag]=\"field.addTag\"\n [bindLabel]=\"field.bindLabel || null\"\n [bindValue]=\"field.bindValue || null\"\n [selectedItem]=\"field.default\"\n [items]=\"field.items || (field.items$ | async)\"\n [loading]=\"fieldsItemsLoading[field.name] | async\"\n [required]=\"!field.isOptional\"\n [placeholder]=\"field.placeholder\">\n <ng-template *ngIf=\"dialogData?.footerTemplateData\" #optionFooterTemplate let-item=\"item\" let-close=\"close\">\n <button (click)=\"footerAction(); close()\" class=\"dr-select-footer__btn\">\n <i *ngIf=\"dialogData.footerTemplateData.icon\" class=\"{{ dialogData.footerTemplateData.icon }}\"></i>\n {{ dialogData.footerTemplateData.label }}\n </button>\n </ng-template>\n </dr-select>\n <dr-input\n *ngIf=\"field.type === dialogFieldType.INPUT\"\n data-test=\"modalInput\"\n class=\"form-control\"\n [formControlName]=\"field.name\"\n [placeholder]=\"field.placeholder\"></dr-input>\n <dr-date-picker\n *ngIf=\"field.type === dialogFieldType.DATE_PICKER\"\n [formControlName]=\"field.name\"\n [format]=\"field.datePickerFormat\"\n [placeholder]=\"field.placeholder\"></dr-date-picker>\n <dr-checkbox *ngIf=\"field.type === dialogFieldType.CHECKBOX\" [formControlName]=\"field.name\">\n {{ field.label }}\n </dr-checkbox>\n <label\n class=\"form-field-error-alert\"\n *ngIf=\"form.invalid && form.controls[field.name]?.dirty && form.controls[field.name]?.errors\">\n {{ form.controls[field.name].errors.errorString }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"dialogData.errorMessage && !form.pristine && form.invalid\">\n {{ dialogData.errorMessage }}\n </label>\n <label class=\"form-error-alert\" *ngIf=\"form.valid && showServerErrorMessage && dialogData.serverErrorMessage\">\n {{ dialogData.serverErrorMessage }}\n </label>\n </div>\n </div>\n </div>\n</form>\n\n<div footer class=\"footer-dialog\">\n <div class=\"buttons-wrapper\" *ngIf=\"dialogData.cancelButton || dialogData.acceptButton\">\n <dr-button\n (click)=\"onDecline()\"\n *ngIf=\"dialogData.customButton\"\n [theme]=\"dialogData.customButton?.theme || 'secondary'\"\n class=\"buttons-wrapper--custom-btn\"\n data-test=\"declineBtn\"\n >{{ dialogData.customButton.label }}</dr-button\n >\n <dr-button *ngIf=\"dialogData.cancelButton\" data-test=\"modalCloseBtn\" (click)=\"onCancel()\" [theme]=\"'secondary'\">{{\n dialogData.cancelButton.label\n }}</dr-button>\n <dr-button\n *ngIf=\"dialogData.acceptButton\"\n data-test=\"modalAddBtn\"\n (click)=\"onAccept()\"\n [theme]=\"'primary'\"\n [isLoading]=\"isLoading\"\n [disabled]=\"form.invalid\"\n >{{ dialogData.acceptButton.label }}</dr-button\n >\n </div>\n</div>\n", styles: [":host{display:flex;justify-content:space-between;flex-direction:column}:host.small-modal,:host.small-modal-max-height{min-height:188px;max-height:467px;min-width:400px;max-width:400px}:host.medium-modal,:host.medium-modal-max-height{min-height:188px;max-height:467px;min-width:632px;max-width:632px}:host.medium-small-modal{min-height:188px;max-height:345px;min-width:460px;max-width:460px}:host.medium-modal-max-height,:host.small-modal-max-height{max-height:80vh}.header-dialog{position:relative;display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 56px 16px 32px;border-bottom:1px solid #dfe0e3}.header-dialog>.icon-close{position:absolute;right:32px;top:16px;cursor:pointer}.title-dialog{display:flex;color:#333;position:static;font-weight:600;font-size:16px;line-height:24px;margin-top:0;margin-bottom:0}.title-dialog__icon{font-size:32px;margin-right:8px;line-height:24px;color:#6d6e6f}.content-dialog{font-weight:400;font-size:14px;padding:16px 32px 5px;white-space:pre-line;overflow:auto}.icon-close{color:#6d6e6f;cursor:pointer}.dr-smart-from{font-size:14px;font-weight:400;line-height:22px;padding:8px 32px 24px}.dr-smart-from dr-checkbox{font-weight:400}.content-dialog{padding:16px 32px 0;font-weight:400;font-size:14px;line-height:22px}.content-anchor{display:none}.footer-dialog{border-top:1px solid #dfe0e3}.buttons-wrapper{display:flex;justify-content:flex-end;padding:10px 32px 11px}.buttons-wrapper dr-button:nth-of-type(n+2){margin-left:12px}.buttons-wrapper--custom-btn{margin-right:auto}.form-field-error-alert{font-size:12px;color:#bf1d30;line-height:20px}.form-error-alert{position:absolute;margin-top:5px;font-size:12px;color:#bf1d30}.dr-select-footer__btn{background-color:transparent;display:flex;align-items:center;justify-content:flex-start;cursor:pointer;min-width:15rem;font-style:normal;font-weight:400;font-size:14px;line-height:24px;clear:both;width:100%;white-space:nowrap;padding:0 12px;height:36px;flex-shrink:0}\n"] }]
338
338
  }], function () { return [{ type: i1.MatLegacyDialogRef }, { type: undefined, decorators: [{
339
339
  type: Inject,
340
340
  args: [MAT_DIALOG_DATA]
@@ -342,4 +342,4 @@ export class DialogModalWrapperComponent {
342
342
  type: HostBinding,
343
343
  args: ['class']
344
344
  }] }); })();
345
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxlQUFlLEVBQUUsa0JBQWtCLElBQUksWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEksT0FBTyxFQUFZLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0lDSDlELDRCQUtnQztJQUg1QixpS0FBUyxlQUFBLG9CQUFhLENBQUEsSUFBQztJQUdLLGlCQUFJOzs7SUFEaEMsZ0RBQW9DOzs7O0lBSTVDLDZCQUE2RztJQUF6RSxpS0FBUyxlQUFBLG9CQUFhLENBQUEsSUFBQztJQUFrRCxpQkFBSTs7O0lBRXJILCtCQUF3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SSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOytHQTVGUSwyQkFBMkIsb0VBY3hCLGVBQWU7bUdBZGxCLDJCQUEyQjs7O1lDWnhDLDhCQUFrQyxZQUFBO1lBRTFCLHdFQUtvQztZQUNwQywrQkFBaUM7WUFBQSxZQUFzQjtZQUFBLGlCQUFPLEVBQUE7WUFFbEUsd0VBQWlIO1lBQ3JILGlCQUFNO1lBQ04sNEVBRU07WUFDTiw4RUFtRU87WUFFUCw4QkFBa0M7WUFDOUIsNEVBcUJNO1lBQ1YsaUJBQU07O1lBeEdPLGVBQWdDO1lBQWhDLHFEQUFnQztZQUtKLGVBQXNCO1lBQXRCLDBDQUFzQjtZQUV2RCxlQUE4QjtZQUE5QixtREFBOEI7WUFFaEMsZUFBd0I7WUFBeEIsNkNBQXdCO1lBR3ZCLGVBQXVCO1lBQXZCLDRDQUF1QjtZQXNFSSxlQUF3RDtZQUF4RCxpRkFBd0Q7Ozt1RkR6RTdFLDJCQUEyQjtjQUx2QyxTQUFTOzJCQUNJLHlCQUF5Qjs7c0JBa0I5QixNQUFNO3VCQUFDLGVBQWU7d0JBSkwsS0FBSztrQkFBMUIsV0FBVzttQkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1BVF9MRUdBQ1lfRElBTE9HX0RBVEEgYXMgTUFUX0RJQUxPR19EQVRBLCBNYXRMZWdhY3lEaWFsb2dSZWYgYXMgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBEYXRhUHJvcCwgRElBTE9HX0ZJRUxEX1RZUEUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RpYWxvZy1kYXRhJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWRpYWxvZy1tb2RhbC13cmFwcGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RpYWxvZy1tb2RhbC13cmFwcGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ01vZGFsV3JhcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICByZWFkb25seSBkaWFsb2dGaWVsZFR5cGUgPSBESUFMT0dfRklFTERfVFlQRTtcbiAgICByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBmb3JtOiBGb3JtR3JvdXA7XG4gICAgc2F2aW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIGlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHNob3dTZXJ2ZXJFcnJvck1lc3NhZ2UgPSBmYWxzZTtcbiAgICBmaWVsZHNJdGVtc0xvYWRpbmc6IFJlY29yZDxzdHJpbmcsIEJlaGF2aW9yU3ViamVjdDxib29sZWFuPj4gPSB7fTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzcyA9IHRoaXM/LmRpYWxvZ0RhdGE/LnRoZW1lPy50aGVtZVNpemU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERpYWxvZ01vZGFsV3JhcHBlckNvbXBvbmVudD4sXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGlhbG9nRGF0YTogRGF0YVByb3AsXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaWFsb2dEYXRhLmZpZWxkcykgdGhpcy5kaWFsb2dEYXRhLmZpZWxkcyA9IFtdO1xuXG4gICAgICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0RhdGEuZmllbGRzLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUuaXRlbXMkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGRzSXRlbXNMb2FkaW5nW2N1cnJlbnRWYWx1ZS5uYW1lXSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZS5pdGVtcyQgPSAoY3VycmVudFZhbHVlLml0ZW1zJCBhcyBhbnkpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkc0l0ZW1zTG9hZGluZ1tjdXJyZW50VmFsdWUubmFtZV0ubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMuZmllbGRzSXRlbXNMb2FkaW5nW2N1cnJlbnRWYWx1ZS5uYW1lXS5uZXh0KGZhbHNlKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmZpZWxkc0l0ZW1zTG9hZGluZ1tjdXJyZW50VmFsdWUubmFtZV0ubmV4dChmYWxzZSkpLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRGb3JtQ29udHJvbCA9IHt9O1xuICAgICAgICAgICAgICAgIGN1cnJlbnRGb3JtQ29udHJvbFtjdXJyZW50VmFsdWUubmFtZV0gPSBuZXcgRm9ybUNvbnRyb2woXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZS5kZWZhdWx0IHx8IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZS52YWxpZGF0b3JzIHx8IFtdLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oYWNjdW11bGF0b3IsIGN1cnJlbnRGb3JtQ29udHJvbCk7XG4gICAgICAgICAgICB9LCB7fSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25BY2NlcHQoKSB7XG4gICAgICAgIGlmICghdGhpcy5kaWFsb2dEYXRhLmNvbmZpcm1GbikgcmV0dXJuIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuZm9ybS52YWx1ZSB8fCB0cnVlKTtcblxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuc2F2aW5nJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRpYWxvZ0RhdGFcbiAgICAgICAgICAgIC5jb25maXJtRm4odGhpcy5mb3JtLnZhbHVlKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNhdmluZyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTZXJ2ZXJFcnJvck1lc3NhZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNhdmluZyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycik7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNhdmluZyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5mb3JtLnZhbHVlIHx8IHRydWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EZWNsaW5lKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIG9uQ2FuY2VsKCkge1xuICAgICAgICBjb25zdCBmdW5jdGlvbnMgPSB0aGlzLmRpYWxvZ0RhdGE/LmNhbmNlbEJ1dHRvbj8uZnVuY3Rpb25zO1xuICAgICAgICBpZiAoZnVuY3Rpb25zKSBmdW5jdGlvbnMoKTtcblxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShmYWxzZSk7XG4gICAgfVxuXG4gICAgZm9vdGVyQWN0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZ0RhdGEuZm9vdGVyVGVtcGxhdGVEYXRhLmFjdGlvbih0aGlzLmZvcm0udmFsdWUpO1xuICAgIH1cblxuICAgIGNsb3NlRGlhbG9nKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShmYWxzZSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPGRpdiBoZWFkZXIgY2xhc3M9XCJoZWFkZXItZGlhbG9nXCI+XG4gICAgPGgxIGNsYXNzPVwidGl0bGUtZGlhbG9nXCIgZGF0YS10ZXN0PVwibW9kYWxUaXRsZVwiPlxuICAgICAgICA8aVxuICAgICAgICAgICAgKm5nSWY9XCJkaWFsb2dEYXRhLmhlYWRlckljb25DbGFzc1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VEaWFsb2coKVwiXG4gICAgICAgICAgICBjbGFzcz1cInRpdGxlLWRpYWxvZ19faWNvblwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiZGlhbG9nRGF0YS5oZWFkZXJJY29uQ2xhc3NcIlxuICAgICAgICAgICAgZGF0YS10ZXN0PVwiZGlhbG9nVGl0bGVJY29uXCI+PC9pPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLWRpYWxvZ19fdGV4dFwiPnt7IGRpYWxvZ0RhdGEudGl0bGUgfX08L3NwYW4+XG4gICAgPC9oMT5cbiAgICA8aSAqbmdJZj1cIiFkaWFsb2dEYXRhLmhpZGVDbG9zZUJ0blwiIChjbGljayk9XCJjbG9zZURpYWxvZygpXCIgY2xhc3M9XCJkci1pY29uLWV4aXQgaWNvbi1jbG9zZVwiIGRhdGEtdGVzdD1cInhCdG5cIj48L2k+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJkaWFsb2dEYXRhLmNvbnRlbnRcIiBjbGFzcz1cImNvbnRlbnQtZGlhbG9nXCIgW2lubmVySFRNTF09XCJkaWFsb2dEYXRhLmNvbnRlbnRcIj5cbiAgICA8c3BhbiAjY29udGVudCBjbGFzcz1cImNvbnRlbnQtYW5jaG9yXCI+PC9zcGFuPlxuPC9kaXY+XG48Zm9ybSAqbmdJZj1cImRpYWxvZ0RhdGEuZmllbGRzXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJkci1zbWFydC1mcm9tXCI+XG4gICAgPGRpdiBbY2xhc3NdPVwiZGlhbG9nRGF0YS5mb3JtV3JhcHBlckNsYXNzIHx8ICdkci1zbWFydC1mb3JtX3dyYXBwZXInXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBkaWFsb2dEYXRhLmZpZWxkc1wiXG4gICAgICAgICAgICBjbGFzcz1cImRyLXNtYXJ0LWZvcm1fZ3JvdXBcIlxuICAgICAgICAgICAgW2NsYXNzXT1cImZpZWxkLmZvcm1Hcm91cENsYXNzXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgZGlzcGxheTogZmllbGQuaXNMYWJlbEZ1bGxXaWR0aCA/ICdibG9jaycgOiAnZmxleCcgfVwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJmaWVsZC5sYWJlbCAmJiBmaWVsZC50eXBlICE9PSBkaWFsb2dGaWVsZFR5cGUuQ0hFQ0tCT1hcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmlzTGFiZWxGdWxsV2lkdGggPyAnY29sLW1kLTEyIG1iLTInIDogJ2NvbC1tZC0yJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJsYWJlbCBwLTAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPnt7IGZpZWxkLmxhYmVsIH19PC9sYWJlbFxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAgcC0wXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICdjb2wtbWQtMTAnOiBmaWVsZC5sYWJlbCAmJiAhZmllbGQuaXNMYWJlbEZ1bGxXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgJ2NvbC1tZC0xMic6ICFmaWVsZC5sYWJlbCB8fCBmaWVsZC5pc0xhYmVsRnVsbFdpZHRoLFxuICAgICAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAgICA8ZHItc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gZGlhbG9nRmllbGRUeXBlLlNFTEVDVFwiXG4gICAgICAgICAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImRpYWxvZ0RhdGEuc2VhcmNoYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGVhcmFibGVdPVwiZGlhbG9nRGF0YS5jbGVhcmFibGVcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbYWRkVGFnXT1cImZpZWxkLmFkZFRhZ1wiXG4gICAgICAgICAgICAgICAgICAgIFtiaW5kTGFiZWxdPVwiZmllbGQuYmluZExhYmVsIHx8IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbYmluZFZhbHVlXT1cImZpZWxkLmJpbmRWYWx1ZSB8fCBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkSXRlbV09XCJmaWVsZC5kZWZhdWx0XCJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cImZpZWxkLml0ZW1zIHx8IChmaWVsZC5pdGVtcyQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJmaWVsZHNJdGVtc0xvYWRpbmdbZmllbGQubmFtZV0gfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cImRpYWxvZ0RhdGE/LmZvb3RlclRlbXBsYXRlRGF0YVwiICNvcHRpb25Gb290ZXJUZW1wbGF0ZSBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtY2xvc2U9XCJjbG9zZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZm9vdGVyQWN0aW9uKCk7IGNsb3NlKClcIiBjbGFzcz1cImRyLXNlbGVjdC1mb290ZXJfX2J0blwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwiZGlhbG9nRGF0YS5mb290ZXJUZW1wbGF0ZURhdGEuaWNvblwiIGNsYXNzPVwie3sgZGlhbG9nRGF0YS5mb290ZXJUZW1wbGF0ZURhdGEuaWNvbiB9fVwiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7eyBkaWFsb2dEYXRhLmZvb3RlclRlbXBsYXRlRGF0YS5sYWJlbCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgPC9kci1zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPGRyLWlucHV0XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gZGlhbG9nRmllbGRUeXBlLklOUFVUXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0PVwibW9kYWxJbnB1dFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCI+PC9kci1pbnB1dD5cbiAgICAgICAgICAgICAgICA8ZHItZGF0ZS1waWNrZXJcbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJmaWVsZC50eXBlID09PSBkaWFsb2dGaWVsZFR5cGUuREFURV9QSUNLRVJcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybWF0XT1cImZpZWxkLmRhdGVQaWNrZXJGb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIj48L2RyLWRhdGUtcGlja2VyPlxuICAgICAgICAgICAgICAgIDxkci1jaGVja2JveCAqbmdJZj1cImZpZWxkLnR5cGUgPT09IGRpYWxvZ0ZpZWxkVHlwZS5DSEVDS0JPWFwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQubmFtZVwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBmaWVsZC5sYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvZHItY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1maWVsZC1lcnJvci1hbGVydFwiXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZm9ybS5pbnZhbGlkICYmIGZvcm0uY29udHJvbHNbZmllbGQubmFtZV0/LmRpcnR5ICYmIGZvcm0uY29udHJvbHNbZmllbGQubmFtZV0/LmVycm9yc1wiPlxuICAgICAgICAgICAgICAgICAgICB7eyBmb3JtLmNvbnRyb2xzW2ZpZWxkLm5hbWVdLmVycm9ycy5lcnJvclN0cmluZyB9fVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1lcnJvci1hbGVydFwiICpuZ0lmPVwiZGlhbG9nRGF0YS5lcnJvck1lc3NhZ2UgJiYgIWZvcm0ucHJpc3RpbmUgJiYgZm9ybS5pbnZhbGlkXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGRpYWxvZ0RhdGEuZXJyb3JNZXNzYWdlIH19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWVycm9yLWFsZXJ0XCIgKm5nSWY9XCJmb3JtLnZhbGlkICYmIHNob3dTZXJ2ZXJFcnJvck1lc3NhZ2UgJiYgZGlhbG9nRGF0YS5zZXJ2ZXJFcnJvck1lc3NhZ2VcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZGlhbG9nRGF0YS5zZXJ2ZXJFcnJvck1lc3NhZ2UgfX1cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9mb3JtPlxuXG48ZGl2IGZvb3RlciBjbGFzcz1cImZvb3Rlci1kaWFsb2dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYnV0dG9ucy13cmFwcGVyXCIgKm5nSWY9XCJkaWFsb2dEYXRhLmNhbmNlbEJ1dHRvbiB8fCBkaWFsb2dEYXRhLmFjY2VwdEJ1dHRvblwiPlxuICAgICAgICA8ZHItYnV0dG9uXG4gICAgICAgICAgICAoY2xpY2spPVwib25EZWNsaW5lKClcIlxuICAgICAgICAgICAgKm5nSWY9XCJkaWFsb2dEYXRhLmN1c3RvbUJ1dHRvblwiXG4gICAgICAgICAgICBbdGhlbWVdPVwiZGlhbG9nRGF0YS5jdXN0b21CdXR0b24/LnRoZW1lIHx8ICdzZWNvbmRhcnknXCJcbiAgICAgICAgICAgIGNsYXNzPVwiYnV0dG9ucy13cmFwcGVyLS1jdXN0b20tYnRuXCJcbiAgICAgICAgICAgIGRhdGEtdGVzdD1cImRlY2xpbmVCdG5cIlxuICAgICAgICAgICAgPnt7IGRpYWxvZ0RhdGEuY3VzdG9tQnV0dG9uLmxhYmVsIH19PC9kci1idXR0b25cbiAgICAgICAgPlxuICAgICAgICA8ZHItYnV0dG9uICpuZ0lmPVwiZGlhbG9nRGF0YS5jYW5jZWxCdXR0b25cIiBkYXRhLXRlc3Q9XCJtb2RhbENsb3NlQnRuXCIgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIiBbdGhlbWVdPVwiJ3NlY29uZGFyeSdcIj57e1xuICAgICAgICAgICAgZGlhbG9nRGF0YS5jYW5jZWxCdXR0b24ubGFiZWxcbiAgICAgICAgfX08L2RyLWJ1dHRvbj5cbiAgICAgICAgPGRyLWJ1dHRvblxuICAgICAgICAgICAgKm5nSWY9XCJkaWFsb2dEYXRhLmFjY2VwdEJ1dHRvblwiXG4gICAgICAgICAgICBkYXRhLXRlc3Q9XCJtb2RhbEFkZEJ0blwiXG4gICAgICAgICAgICAoY2xpY2spPVwib25BY2NlcHQoKVwiXG4gICAgICAgICAgICBbdGhlbWVdPVwiJ3ByaW1hcnknXCJcbiAgICAgICAgICAgIFtpc0xvYWRpbmddPVwiaXNMb2FkaW5nXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJmb3JtLmludmFsaWRcIlxuICAgICAgICAgICAgPnt7IGRpYWxvZ0RhdGEuYWNjZXB0QnV0dG9uLmxhYmVsIH19PC9kci1idXR0b25cbiAgICAgICAgPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=
345
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZGlhbG9nL2NvbXBvbmVudHMvZGlhbG9nLW1vZGFsLXdyYXBwZXIvZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxzQkFBc0IsSUFBSSxlQUFlLEVBQUUsa0JBQWtCLElBQUksWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDaEksT0FBTyxFQUFZLGlCQUFpQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7O0lDSDlELDRCQUtnQztJQUg1QixpS0FBUyxlQUFBLG9CQUFhLENBQUEsSUFBQztJQUdLLGlCQUFJOzs7SUFEaEMsZ0RBQW9DOzs7O0lBSTVDLDZCQUE2RztJQUF6RSxpS0FBUyxlQUFBLG9CQUFhLENBQUEsSUFBQztJQUFrRCxpQkFBSTs7O0lBRXJILCtCQUF3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SSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOytHQTVGUSwyQkFBMkIsb0VBY3hCLGVBQWU7bUdBZGxCLDJCQUEyQjs7O1lDWnhDLDhCQUFrQyxZQUFBO1lBRTFCLHdFQUtvQztZQUNwQywrQkFBaUM7WUFBQSxZQUFzQjtZQUFBLGlCQUFPLEVBQUE7WUFFbEUsd0VBQWlIO1lBQ3JILGlCQUFNO1lBQ04sNEVBRU07WUFDTiw4RUFtRU87WUFFUCw4QkFBa0M7WUFDOUIsNEVBcUJNO1lBQ1YsaUJBQU07O1lBeEdPLGVBQWdDO1lBQWhDLHFEQUFnQztZQUtKLGVBQXNCO1lBQXRCLDBDQUFzQjtZQUV2RCxlQUE4QjtZQUE5QixtREFBOEI7WUFFaEMsZUFBd0I7WUFBeEIsNkNBQXdCO1lBR3ZCLGVBQXVCO1lBQXZCLDRDQUF1QjtZQXNFSSxlQUF3RDtZQUF4RCxpRkFBd0Q7Ozt1RkR6RTdFLDJCQUEyQjtjQUx2QyxTQUFTOzJCQUNJLHlCQUF5Qjs7c0JBa0I5QixNQUFNO3VCQUFDLGVBQWU7d0JBSkwsS0FBSztrQkFBMUIsV0FBVzttQkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1BVF9MRUdBQ1lfRElBTE9HX0RBVEEgYXMgTUFUX0RJQUxPR19EQVRBLCBNYXRMZWdhY3lEaWFsb2dSZWYgYXMgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBEYXRhUHJvcCwgRElBTE9HX0ZJRUxEX1RZUEUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RpYWxvZy1kYXRhJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgU3ViamVjdCwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmluYWxpemUsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWRpYWxvZy1tb2RhbC13cmFwcGVyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9nLW1vZGFsLXdyYXBwZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RpYWxvZy1tb2RhbC13cmFwcGVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIERpYWxvZ01vZGFsV3JhcHBlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICByZWFkb25seSBkaWFsb2dGaWVsZFR5cGUgPSBESUFMT0dfRklFTERfVFlQRTtcbiAgICByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgICBmb3JtOiBGb3JtR3JvdXA7XG4gICAgc2F2aW5nJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xuICAgIGlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHNob3dTZXJ2ZXJFcnJvck1lc3NhZ2UgPSBmYWxzZTtcbiAgICBmaWVsZHNJdGVtc0xvYWRpbmc6IFJlY29yZDxzdHJpbmcsIEJlaGF2aW9yU3ViamVjdDxib29sZWFuPj4gPSB7fTtcblxuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzcyA9IHRoaXM/LmRpYWxvZ0RhdGE/LnRoZW1lPy50aGVtZVNpemU7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERpYWxvZ01vZGFsV3JhcHBlckNvbXBvbmVudD4sXG4gICAgICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGlhbG9nRGF0YTogRGF0YVByb3AsXG4gICAgKSB7fVxuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kaWFsb2dEYXRhLmZpZWxkcykgdGhpcy5kaWFsb2dEYXRhLmZpZWxkcyA9IFtdO1xuXG4gICAgICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ0RhdGEuZmllbGRzLnJlZHVjZSgoYWNjdW11bGF0b3IsIGN1cnJlbnRWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChjdXJyZW50VmFsdWUuaXRlbXMkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmllbGRzSXRlbXNMb2FkaW5nW2N1cnJlbnRWYWx1ZS5uYW1lXSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZS5pdGVtcyQgPSAoY3VycmVudFZhbHVlLml0ZW1zJCBhcyBhbnkpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpZWxkc0l0ZW1zTG9hZGluZ1tjdXJyZW50VmFsdWUubmFtZV0ubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMuZmllbGRzSXRlbXNMb2FkaW5nW2N1cnJlbnRWYWx1ZS5uYW1lXS5uZXh0KGZhbHNlKSksXG4gICAgICAgICAgICAgICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB0aGlzLmZpZWxkc0l0ZW1zTG9hZGluZ1tjdXJyZW50VmFsdWUubmFtZV0ubmV4dChmYWxzZSkpLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRGb3JtQ29udHJvbCA9IHt9O1xuICAgICAgICAgICAgICAgIGN1cnJlbnRGb3JtQ29udHJvbFtjdXJyZW50VmFsdWUubmFtZV0gPSBuZXcgRm9ybUNvbnRyb2woXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZS5kZWZhdWx0IHx8IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGN1cnJlbnRWYWx1ZS52YWxpZGF0b3JzIHx8IFtdLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oYWNjdW11bGF0b3IsIGN1cnJlbnRGb3JtQ29udHJvbCk7XG4gICAgICAgICAgICB9LCB7fSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgb25BY2NlcHQoKSB7XG4gICAgICAgIGlmICghdGhpcy5kaWFsb2dEYXRhLmNvbmZpcm1GbikgcmV0dXJuIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuZm9ybS52YWx1ZSB8fCB0cnVlKTtcblxuICAgICAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XG4gICAgICAgIHRoaXMuc2F2aW5nJC5uZXh0KHRydWUpO1xuICAgICAgICB0aGlzLmRpYWxvZ0RhdGFcbiAgICAgICAgICAgIC5jb25maXJtRm4odGhpcy5mb3JtLnZhbHVlKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNhdmluZyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dTZXJ2ZXJFcnJvck1lc3NhZ2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNhdmluZyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycik7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnNhdmluZyQubmV4dChmYWxzZSk7XG4gICAgICAgICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5mb3JtLnZhbHVlIHx8IHRydWUpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EZWNsaW5lKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIG9uQ2FuY2VsKCkge1xuICAgICAgICBjb25zdCBmdW5jdGlvbnMgPSB0aGlzLmRpYWxvZ0RhdGE/LmNhbmNlbEJ1dHRvbj8uZnVuY3Rpb25zO1xuICAgICAgICBpZiAoZnVuY3Rpb25zKSBmdW5jdGlvbnMoKTtcblxuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShmYWxzZSk7XG4gICAgfVxuXG4gICAgZm9vdGVyQWN0aW9uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpYWxvZ0RhdGEuZm9vdGVyVGVtcGxhdGVEYXRhLmFjdGlvbih0aGlzLmZvcm0udmFsdWUpO1xuICAgIH1cblxuICAgIGNsb3NlRGlhbG9nKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShmYWxzZSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgfVxufVxuIiwiPGRpdiBoZWFkZXIgY2xhc3M9XCJoZWFkZXItZGlhbG9nXCI+XG4gICAgPGgxIGNsYXNzPVwidGl0bGUtZGlhbG9nXCIgZGF0YS10ZXN0PVwibW9kYWxUaXRsZVwiPlxuICAgICAgICA8aVxuICAgICAgICAgICAgKm5nSWY9XCJkaWFsb2dEYXRhLmhlYWRlckljb25DbGFzc1wiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2VEaWFsb2coKVwiXG4gICAgICAgICAgICBjbGFzcz1cInRpdGxlLWRpYWxvZ19faWNvblwiXG4gICAgICAgICAgICBbY2xhc3NdPVwiZGlhbG9nRGF0YS5oZWFkZXJJY29uQ2xhc3NcIlxuICAgICAgICAgICAgZGF0YS10ZXN0PVwiZGlhbG9nVGl0bGVJY29uXCI+PC9pPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLWRpYWxvZ19fdGV4dFwiPnt7IGRpYWxvZ0RhdGEudGl0bGUgfX08L3NwYW4+XG4gICAgPC9oMT5cbiAgICA8aSAqbmdJZj1cIiFkaWFsb2dEYXRhLmhpZGVDbG9zZUJ0blwiIChjbGljayk9XCJjbG9zZURpYWxvZygpXCIgY2xhc3M9XCJkci1pY29uLWV4aXQgaWNvbi1jbG9zZVwiIGRhdGEtdGVzdD1cInhCdG5cIj48L2k+XG48L2Rpdj5cbjxkaXYgKm5nSWY9XCJkaWFsb2dEYXRhLmNvbnRlbnRcIiBjbGFzcz1cImNvbnRlbnQtZGlhbG9nXCIgW2lubmVySFRNTF09XCJkaWFsb2dEYXRhLmNvbnRlbnRcIj5cbiAgICA8c3BhbiAjY29udGVudCBjbGFzcz1cImNvbnRlbnQtYW5jaG9yXCI+PC9zcGFuPlxuPC9kaXY+XG48Zm9ybSAqbmdJZj1cImRpYWxvZ0RhdGEuZmllbGRzXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJkci1zbWFydC1mcm9tXCI+XG4gICAgPGRpdiBbY2xhc3NdPVwiZGlhbG9nRGF0YS5mb3JtV3JhcHBlckNsYXNzIHx8ICdkci1zbWFydC1mb3JtX3dyYXBwZXInXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBkaWFsb2dEYXRhLmZpZWxkc1wiXG4gICAgICAgICAgICBjbGFzcz1cImRyLXNtYXJ0LWZvcm1fZ3JvdXBcIlxuICAgICAgICAgICAgW2NsYXNzXT1cImZpZWxkLmZvcm1Hcm91cENsYXNzXCJcbiAgICAgICAgICAgIFtuZ1N0eWxlXT1cInsgZGlzcGxheTogZmllbGQuaXNMYWJlbEZ1bGxXaWR0aCA/ICdibG9jaycgOiAnZmxleCcgfVwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJmaWVsZC5sYWJlbCAmJiBmaWVsZC50eXBlICE9PSBkaWFsb2dGaWVsZFR5cGUuQ0hFQ0tCT1hcIlxuICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImZpZWxkLmlzTGFiZWxGdWxsV2lkdGggPyAnY29sLW1kLTEyIG1iLTInIDogJ2NvbC1tZC0yJ1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJsYWJlbCBwLTAgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiXG4gICAgICAgICAgICAgICAgPnt7IGZpZWxkLmxhYmVsIH19PC9sYWJlbFxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtZ3JvdXAgcC0wXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICdjb2wtbWQtMTAnOiBmaWVsZC5sYWJlbCAmJiAhZmllbGQuaXNMYWJlbEZ1bGxXaWR0aCxcbiAgICAgICAgICAgICAgICAgICAgJ2NvbC1tZC0xMic6ICFmaWVsZC5sYWJlbCB8fCBmaWVsZC5pc0xhYmVsRnVsbFdpZHRoLFxuICAgICAgICAgICAgICAgIH1cIj5cbiAgICAgICAgICAgICAgICA8ZHItc2VsZWN0XG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gZGlhbG9nRmllbGRUeXBlLlNFTEVDVFwiXG4gICAgICAgICAgICAgICAgICAgIFtzZWFyY2hhYmxlXT1cImRpYWxvZ0RhdGEuc2VhcmNoYWJsZVwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGVhcmFibGVdPVwiZGlhbG9nRGF0YS5jbGVhcmFibGVcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLm5hbWVcIlxuICAgICAgICAgICAgICAgICAgICBbYWRkVGFnXT1cImZpZWxkLmFkZFRhZ1wiXG4gICAgICAgICAgICAgICAgICAgIFtiaW5kTGFiZWxdPVwiZmllbGQuYmluZExhYmVsIHx8IG51bGxcIlxuICAgICAgICAgICAgICAgICAgICBbYmluZFZhbHVlXT1cImZpZWxkLmJpbmRWYWx1ZSB8fCBudWxsXCJcbiAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkSXRlbV09XCJmaWVsZC5kZWZhdWx0XCJcbiAgICAgICAgICAgICAgICAgICAgW2l0ZW1zXT1cImZpZWxkLml0ZW1zIHx8IChmaWVsZC5pdGVtcyQgfCBhc3luYylcIlxuICAgICAgICAgICAgICAgICAgICBbbG9hZGluZ109XCJmaWVsZHNJdGVtc0xvYWRpbmdbZmllbGQubmFtZV0gfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCIhZmllbGQuaXNPcHRpb25hbFwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nSWY9XCJkaWFsb2dEYXRhPy5mb290ZXJUZW1wbGF0ZURhdGFcIiAjb3B0aW9uRm9vdGVyVGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCIgbGV0LWNsb3NlPVwiY2xvc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImZvb3RlckFjdGlvbigpOyBjbG9zZSgpXCIgY2xhc3M9XCJkci1zZWxlY3QtZm9vdGVyX19idG5cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImRpYWxvZ0RhdGEuZm9vdGVyVGVtcGxhdGVEYXRhLmljb25cIiBjbGFzcz1cInt7IGRpYWxvZ0RhdGEuZm9vdGVyVGVtcGxhdGVEYXRhLmljb24gfX1cIj48L2k+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgZGlhbG9nRGF0YS5mb290ZXJUZW1wbGF0ZURhdGEubGFiZWwgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDwvZHItc2VsZWN0PlxuICAgICAgICAgICAgICAgIDxkci1pbnB1dFxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZpZWxkLnR5cGUgPT09IGRpYWxvZ0ZpZWxkVHlwZS5JTlBVVFwiXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdD1cIm1vZGFsSW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbFwiXG4gICAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZmllbGQubmFtZVwiXG4gICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJmaWVsZC5wbGFjZWhvbGRlclwiPjwvZHItaW5wdXQ+XG4gICAgICAgICAgICAgICAgPGRyLWRhdGUtcGlja2VyXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiZmllbGQudHlwZSA9PT0gZGlhbG9nRmllbGRUeXBlLkRBVEVfUElDS0VSXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJmaWVsZC5uYW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW2Zvcm1hdF09XCJmaWVsZC5kYXRlUGlja2VyRm9ybWF0XCJcbiAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCI+PC9kci1kYXRlLXBpY2tlcj5cbiAgICAgICAgICAgICAgICA8ZHItY2hlY2tib3ggKm5nSWY9XCJmaWVsZC50eXBlID09PSBkaWFsb2dGaWVsZFR5cGUuQ0hFQ0tCT1hcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImZpZWxkLm5hbWVcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZmllbGQubGFiZWwgfX1cbiAgICAgICAgICAgICAgICA8L2RyLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tZmllbGQtZXJyb3ItYWxlcnRcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImZvcm0uaW52YWxpZCAmJiBmb3JtLmNvbnRyb2xzW2ZpZWxkLm5hbWVdPy5kaXJ0eSAmJiBmb3JtLmNvbnRyb2xzW2ZpZWxkLm5hbWVdPy5lcnJvcnNcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZm9ybS5jb250cm9sc1tmaWVsZC5uYW1lXS5lcnJvcnMuZXJyb3JTdHJpbmcgfX1cbiAgICAgICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tZXJyb3ItYWxlcnRcIiAqbmdJZj1cImRpYWxvZ0RhdGEuZXJyb3JNZXNzYWdlICYmICFmb3JtLnByaXN0aW5lICYmIGZvcm0uaW52YWxpZFwiPlxuICAgICAgICAgICAgICAgICAgICB7eyBkaWFsb2dEYXRhLmVycm9yTWVzc2FnZSB9fVxuICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1lcnJvci1hbGVydFwiICpuZ0lmPVwiZm9ybS52YWxpZCAmJiBzaG93U2VydmVyRXJyb3JNZXNzYWdlICYmIGRpYWxvZ0RhdGEuc2VydmVyRXJyb3JNZXNzYWdlXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IGRpYWxvZ0RhdGEuc2VydmVyRXJyb3JNZXNzYWdlIH19XG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZm9ybT5cblxuPGRpdiBmb290ZXIgY2xhc3M9XCJmb290ZXItZGlhbG9nXCI+XG4gICAgPGRpdiBjbGFzcz1cImJ1dHRvbnMtd3JhcHBlclwiICpuZ0lmPVwiZGlhbG9nRGF0YS5jYW5jZWxCdXR0b24gfHwgZGlhbG9nRGF0YS5hY2NlcHRCdXR0b25cIj5cbiAgICAgICAgPGRyLWJ1dHRvblxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uRGVjbGluZSgpXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZGlhbG9nRGF0YS5jdXN0b21CdXR0b25cIlxuICAgICAgICAgICAgW3RoZW1lXT1cImRpYWxvZ0RhdGEuY3VzdG9tQnV0dG9uPy50aGVtZSB8fCAnc2Vjb25kYXJ5J1wiXG4gICAgICAgICAgICBjbGFzcz1cImJ1dHRvbnMtd3JhcHBlci0tY3VzdG9tLWJ0blwiXG4gICAgICAgICAgICBkYXRhLXRlc3Q9XCJkZWNsaW5lQnRuXCJcbiAgICAgICAgICAgID57eyBkaWFsb2dEYXRhLmN1c3RvbUJ1dHRvbi5sYWJlbCB9fTwvZHItYnV0dG9uXG4gICAgICAgID5cbiAgICAgICAgPGRyLWJ1dHRvbiAqbmdJZj1cImRpYWxvZ0RhdGEuY2FuY2VsQnV0dG9uXCIgZGF0YS10ZXN0PVwibW9kYWxDbG9zZUJ0blwiIChjbGljayk9XCJvbkNhbmNlbCgpXCIgW3RoZW1lXT1cIidzZWNvbmRhcnknXCI+e3tcbiAgICAgICAgICAgIGRpYWxvZ0RhdGEuY2FuY2VsQnV0dG9uLmxhYmVsXG4gICAgICAgIH19PC9kci1idXR0b24+XG4gICAgICAgIDxkci1idXR0b25cbiAgICAgICAgICAgICpuZ0lmPVwiZGlhbG9nRGF0YS5hY2NlcHRCdXR0b25cIlxuICAgICAgICAgICAgZGF0YS10ZXN0PVwibW9kYWxBZGRCdG5cIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uQWNjZXB0KClcIlxuICAgICAgICAgICAgW3RoZW1lXT1cIidwcmltYXJ5J1wiXG4gICAgICAgICAgICBbaXNMb2FkaW5nXT1cImlzTG9hZGluZ1wiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZm9ybS5pbnZhbGlkXCJcbiAgICAgICAgICAgID57eyBkaWFsb2dEYXRhLmFjY2VwdEJ1dHRvbi5sYWJlbCB9fTwvZHItYnV0dG9uXG4gICAgICAgID5cbiAgICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -24,4 +24,4 @@ export var DIALOG_FIELD_TYPE;
24
24
  DIALOG_FIELD_TYPE["DATE_PICKER"] = "date_picker";
25
25
  DIALOG_FIELD_TYPE["CHECKBOX"] = "checkbox";
26
26
  })(DIALOG_FIELD_TYPE || (DIALOG_FIELD_TYPE = {}));
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1kaWFsb2cvaW50ZXJmYWNlcy9kaWFsb2ctZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE0SUEsTUFBTSxDQUFOLElBQVksV0FXWDtBQVhELFdBQVksV0FBVztJQUNuQixvQ0FBcUIsQ0FBQTtJQUNyQiwwREFBMkMsQ0FBQTtJQUMzQyxzQ0FBdUIsQ0FBQTtJQUN2QixrREFBbUMsQ0FBQTtJQUNuQyw0REFBNkMsQ0FBQTtJQUM3QyxrREFBbUMsQ0FBQTtJQUNuQyxvQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBb0IsQ0FBQTtJQUNwQixpREFBa0MsQ0FBQTtJQUNsQywyQ0FBNEIsQ0FBQTtBQUNoQyxDQUFDLEVBWFcsV0FBVyxLQUFYLFdBQVcsUUFXdEI7QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFJWDtBQUpELFdBQVksbUJBQW1CO0lBQzNCLG9DQUFhLENBQUE7SUFDYix3Q0FBaUIsQ0FBQTtJQUNqQixzQ0FBZSxDQUFBO0FBQ25CLENBQUMsRUFKVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBSTlCO0FBRUQsTUFBTSxDQUFOLElBQVksaUJBS1g7QUFMRCxXQUFZLGlCQUFpQjtJQUN6QixvQ0FBZSxDQUFBO0lBQ2Ysc0NBQWlCLENBQUE7SUFDakIsZ0RBQTJCLENBQUE7SUFDM0IsMENBQXFCLENBQUE7QUFDekIsQ0FBQyxFQUxXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFLNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUaW1lZnJhbWVPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0ZVBpY2tlcic7XG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2dDb25maWcgYXMgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBCdXR0b25UeXBlIH0gZnJvbSAnLi4vLi4vZHItaW5wdXRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcblxudHlwZSBEaWFsb2dDb25maWcgPSBPbWl0PE1hdERpYWxvZ0NvbmZpZywgJ2RhdGEnPjtcblxuLy8gRGF0YSBPYmogZm9yIG9wZW5EaWFsb2dXcmFwcGVyKClcbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRGF0YTxUID0gYW55PiBleHRlbmRzIERpYWxvZ0NvbmZpZyB7XG4gICAgZGF0YToge1xuICAgICAgICB0aXRsZT86IHN0cmluZztcbiAgICAgICAgc2VhcmNoYWJsZT86IGJvb2xlYW47XG4gICAgICAgIGNsZWFyYWJsZT86IGJvb2xlYW47XG4gICAgICAgIHNob3dNYXhpbWl6ZUJ0bj86IGJvb2xlYW47XG4gICAgICAgIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgICAgICBjb250ZW50PzogYW55O1xuICAgICAgICBjb250ZW50SWNvbj86IHtcbiAgICAgICAgICAgIGNsYXNzPzogc3RyaW5nO1xuICAgICAgICAgICAgY29sb3I/OiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICAgIGFjY2VwdEJ1dHRvbj86IERpYWxvZ0Zvb3RlckJ1dHRvbjtcbiAgICAgICAgY2FuY2VsQnV0dG9uPzogRGlhbG9nRm9vdGVyQnV0dG9uO1xuICAgICAgICBjdXN0b21CdXR0b24/OiBEaWFsb2dGb290ZXJCdXR0b247XG4gICAgICAgIHRvb2x0aXBzPzogYW55O1xuICAgICAgICBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgICAgIHNlcnZlckVycm9yTWVzc2FnZT86IHN0cmluZztcbiAgICAgICAgY2hpbGQ/OiBDb21wb25lbnRUeXBlPFQ+O1xuICAgICAgICBjaGlsZERhdGE/OiBQYXJ0aWFsPFQ+O1xuICAgICAgICB0aGVtZT86IHtcbiAgICAgICAgICAgIHRoZW1lU2l6ZT86IFNpemVNb2RhbDtcbiAgICAgICAgICAgIHR5cGU/OiAnc3VjY2Vzc2Z1bCc7XG4gICAgICAgICAgICBjb250ZW50Tm9QYWRkaW5nPzogYm9vbGVhbjtcbiAgICAgICAgICAgIGlzQ29uZmlybWF0aW9uPzogYm9vbGVhbjtcbiAgICAgICAgICAgIG5vVGhlbWVTaXplQ2xhc3M/OiBib29sZWFuO1xuICAgICAgICB9O1xuICAgICAgICBjb25maXJtRm4/OiBhbnk7XG4gICAgICAgIGZpZWxkcz86IE1vZGFsRm9ybUZpZWxkW107XG4gICAgICAgIGhpZGVDbG9zZUJ0bj86IGJvb2xlYW47XG4gICAgICAgIGZvb3RlclRlbXBsYXRlRGF0YT86IEZvb3RlclRlbXBsYXRlRGF0YTtcbiAgICAgICAgZGV0YWlscz86IHtcbiAgICAgICAgICAgIHRpdGxlPzogc3RyaW5nO1xuICAgICAgICAgICAgaXRlbXM/OiBzdHJpbmdbXSB8IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICAgICAgICAgICAgY29sbGFwc2U/OiBib29sZWFuO1xuICAgICAgICB9O1xuICAgICAgICBoZWFkZXJJY29uQ2xhc3M/OiBzdHJpbmc7XG4gICAgICAgIGZvcm1XcmFwcGVyQ2xhc3M/OiBzdHJpbmc7XG4gICAgfTtcbn1cblxuLy8gRGF0YSBPYmogZm9yIG9wZW5Db25maXJtRGlhbG9nKClcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlybURpYWxvZ0RhdGEge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHNlYXJjaGFibGU/OiBib29sZWFuO1xuICAgIGNsZWFyYWJsZT86IGJvb2xlYW47XG4gICAgY29udGVudD86IHN0cmluZztcbiAgICBjb250ZW50SWNvbj86IHtcbiAgICAgICAgY2xhc3M/OiBzdHJpbmc7XG4gICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIH07XG4gICAgYWNjZXB0QnV0dG9uPzogRGlhbG9nRm9vdGVyQnV0dG9uO1xuICAgIGNhbmNlbEJ1dHRvbj86IERpYWxvZ0Zvb3RlckJ1dHRvbjtcbiAgICBjdXN0b21CdXR0b24/OiBEaWFsb2dGb290ZXJCdXR0b247XG4gICAgdG9vbHRpcHM/OiBhbnk7XG4gICAgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICAgIHNlcnZlckVycm9yTWVzc2FnZT86IHN0cmluZztcbiAgICBoaWRlQ2xvc2VCdG4/OiBib29sZWFuO1xuICAgIGNvbmZpcm1Gbj86IChyZXNwb25zZT86IGFueSkgPT4gT2JzZXJ2YWJsZTxhbnk+O1xuICAgIGZpZWxkcz86IE1vZGFsRm9ybUZpZWxkW107XG4gICAgZm9vdGVyVGVtcGxhdGVEYXRhPzogRm9vdGVyVGVtcGxhdGVEYXRhO1xuICAgIGRldGFpbHM/OiB7XG4gICAgICAgIHRpdGxlPzogc3RyaW5nO1xuICAgICAgICBpdGVtcz86IHN0cmluZ1tdIHwgT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gICAgfTtcbiAgICB0aGVtZT86IHtcbiAgICAgICAgdGhlbWVTaXplPzogU2l6ZU1vZGFsO1xuICAgIH07XG4gICAgaGVhZGVySWNvbkNsYXNzPzogc3RyaW5nO1xuICAgIGZvcm1XcmFwcGVyQ2xhc3M/OiBzdHJpbmc7XG59XG5cbi8vIERhdGEgT2JqIGZvciBvcGVuQ29uZmlybURpYWxvZ01vZGFsKClcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlybURpYWxvZ01vZGFsRGF0YSBleHRlbmRzIENvbmZpcm1EaWFsb2dEYXRhIHtcbiAgICBjb25maXJtRm4/OiBhbnk7XG4gICAgaGlkZUNsb3NlQnRuPzogYm9vbGVhbjtcbiAgICBmb290ZXJUZW1wbGF0ZURhdGE/OiBGb290ZXJUZW1wbGF0ZURhdGE7XG4gICAgZmllbGRzPzogTW9kYWxGb3JtRmllbGRbXTtcbiAgICBoZWFkZXJJY29uQ2xhc3M/OiBzdHJpbmc7XG4gICAgZm9ybVdyYXBwZXJDbGFzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb290ZXJUZW1wbGF0ZURhdGEge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgaWNvbj86IHN0cmluZztcbiAgICBhY3Rpb246IChvYmpUb1NhdmU/OiBhbnkpID0+IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2RhbEZvcm1GaWVsZCB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IFREaWFsb2dGaWVsZFR5cGU7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgaXNMYWJlbEZ1bGxXaWR0aD86IGJvb2xlYW47XG4gICAgaXRlbXM/OiBhbnlbXTtcbiAgICBpdGVtcyQ/OiBPYnNlcnZhYmxlPGFueVtdPiB8IE9ic2VydmFibGU8YW55PjtcbiAgICBkZWZhdWx0PzogYW55O1xuICAgIGFkZFRhZz86IGJvb2xlYW47XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgYmluZExhYmVsPzogc3RyaW5nO1xuICAgIGJpbmRWYWx1ZT86IHN0cmluZztcbiAgICB2YWxpZGF0b3JzPzogYW55W107XG4gICAgZGF0ZVBpY2tlckZvcm1hdD86IFRpbWVmcmFtZU9wdGlvbjtcbiAgICBmb3JtR3JvdXBDbGFzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgU2l6ZU1vZGFsID1cbiAgICB8ICdzbWFsbC1tb2RhbCdcbiAgICB8ICdzbWFsbC1tb2RhbC1tYXgtaGVpZ2h0J1xuICAgIHwgJ21lZGl1bS1zbWFsbC1tb2RhbCdcbiAgICB8ICdtZWRpdW0tbW9kYWwnXG4gICAgfCAnbWVkaXVtLW1vZGFsLW1heC1oZWlnaHQnXG4gICAgfCAnbWVkaXVtLWxhcmdlLW1vZGFsJ1xuICAgIHwgJ2xhcmdlLW1vZGFsJ1xuICAgIHwgJ3hsLW1vZGFsJ1xuICAgIHwgJ3hsLWN1c3RvbS1tb2RhbCdcbiAgICB8ICd4bC1tZWRpdW0tbW9kYWwnO1xuXG5leHBvcnQgdHlwZSBEYXRhUHJvcDxUID0gYW55PiA9IERpYWxvZ0RhdGE8VD5bJ2RhdGEnXTtcblxuZXhwb3J0IHR5cGUgRGlhbG9nVGhlbWUgPSBEYXRhUHJvcFsndGhlbWUnXTtcblxuZXhwb3J0IHR5cGUgRGlhbG9nRm9vdGVyQnV0dG9uID0ge1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIGxvYWRpbmdMYWJlbD86IHN0cmluZztcbiAgICBmdW5jdGlvbnM/OiBhbnk7XG4gICAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gICAgYWN0aW9uRm4/OiB2b2lkO1xuICAgIGxvYWRpbmc/OiBhbnk7XG4gICAgdGhlbWU/OiBCdXR0b25UeXBlO1xufTtcblxuZXhwb3J0IGVudW0gRElBTE9HX1NJWkUge1xuICAgIFNNQUxMID0gJ3NtYWxsLW1vZGFsJyxcbiAgICBTTUFMTF9NQVhfSEVJR0hUID0gJ3NtYWxsLW1vZGFsLW1heC1oZWlnaHQnLFxuICAgIE1FRElVTSA9ICdtZWRpdW0tbW9kYWwnLFxuICAgIE1FRElVTV9TTUFMTCA9ICdtZWRpdW0tc21hbGwtbW9kYWwnLFxuICAgIE1FRElVTV9NQVhfSEVJR0hUID0gJ21lZGl1bS1tb2RhbC1tYXgtaGVpZ2h0JyxcbiAgICBNRURJVU1fTEFSR0UgPSAnbWVkaXVtLWxhcmdlLW1vZGFsJyxcbiAgICBMQVJHRSA9ICdsYXJnZS1tb2RhbCcsXG4gICAgWF9MQVJHRSA9ICd4bC1tb2RhbCcsXG4gICAgWF9DVVNUT01fTEFSR0UgPSAneGwtY3VzdG9tLW1vZGFsJyxcbiAgICBYX01FRElVTSA9ICd4bC1tZWRpdW0tbW9kYWwnLFxufVxuXG5leHBvcnQgZW51bSBESUFMT0dfQlVUVE9OX0xBQkVMIHtcbiAgICBTQVZFID0gJ1NhdmUnLFxuICAgIENBTkNFTCA9ICdDYW5jZWwnLFxuICAgIENMT1NFID0gJ0Nsb3NlJyxcbn1cblxuZXhwb3J0IGVudW0gRElBTE9HX0ZJRUxEX1RZUEUge1xuICAgIElOUFVUID0gJ2lucHV0JyxcbiAgICBTRUxFQ1QgPSAnc2VsZWN0JyxcbiAgICBEQVRFX1BJQ0tFUiA9ICdkYXRlX3BpY2tlcicsXG4gICAgQ0hFQ0tCT1ggPSAnY2hlY2tib3gnLFxufVxuXG5leHBvcnQgdHlwZSBURGlhbG9nRmllbGRUeXBlID0gRElBTE9HX0ZJRUxEX1RZUEU7XG4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLWRhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1kaWFsb2cvaW50ZXJmYWNlcy9kaWFsb2ctZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2SUEsTUFBTSxDQUFOLElBQVksV0FXWDtBQVhELFdBQVksV0FBVztJQUNuQixvQ0FBcUIsQ0FBQTtJQUNyQiwwREFBMkMsQ0FBQTtJQUMzQyxzQ0FBdUIsQ0FBQTtJQUN2QixrREFBbUMsQ0FBQTtJQUNuQyw0REFBNkMsQ0FBQTtJQUM3QyxrREFBbUMsQ0FBQTtJQUNuQyxvQ0FBcUIsQ0FBQTtJQUNyQixtQ0FBb0IsQ0FBQTtJQUNwQixpREFBa0MsQ0FBQTtJQUNsQywyQ0FBNEIsQ0FBQTtBQUNoQyxDQUFDLEVBWFcsV0FBVyxLQUFYLFdBQVcsUUFXdEI7QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFJWDtBQUpELFdBQVksbUJBQW1CO0lBQzNCLG9DQUFhLENBQUE7SUFDYix3Q0FBaUIsQ0FBQTtJQUNqQixzQ0FBZSxDQUFBO0FBQ25CLENBQUMsRUFKVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBSTlCO0FBRUQsTUFBTSxDQUFOLElBQVksaUJBS1g7QUFMRCxXQUFZLGlCQUFpQjtJQUN6QixvQ0FBZSxDQUFBO0lBQ2Ysc0NBQWlCLENBQUE7SUFDakIsZ0RBQTJCLENBQUE7SUFDM0IsMENBQXFCLENBQUE7QUFDekIsQ0FBQyxFQUxXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFLNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUaW1lZnJhbWVPcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0ZVBpY2tlcic7XG5pbXBvcnQgeyBNYXRMZWdhY3lEaWFsb2dDb25maWcgYXMgTWF0RGlhbG9nQ29uZmlnIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5pbXBvcnQgeyBCdXR0b25UeXBlIH0gZnJvbSAnLi4vLi4vZHItaW5wdXRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcblxudHlwZSBEaWFsb2dDb25maWcgPSBPbWl0PE1hdERpYWxvZ0NvbmZpZywgJ2RhdGEnPjtcblxuLy8gRGF0YSBPYmogZm9yIG9wZW5EaWFsb2dXcmFwcGVyKClcbmV4cG9ydCBpbnRlcmZhY2UgRGlhbG9nRGF0YTxUID0gYW55PiBleHRlbmRzIERpYWxvZ0NvbmZpZyB7XG4gICAgZGF0YToge1xuICAgICAgICB0aXRsZT86IHN0cmluZztcbiAgICAgICAgc2VhcmNoYWJsZT86IGJvb2xlYW47XG4gICAgICAgIGNsZWFyYWJsZT86IGJvb2xlYW47XG4gICAgICAgIHNob3dNYXhpbWl6ZUJ0bj86IGJvb2xlYW47XG4gICAgICAgIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgICAgICBjb250ZW50PzogYW55O1xuICAgICAgICBjb250ZW50SWNvbj86IHtcbiAgICAgICAgICAgIGNsYXNzPzogc3RyaW5nO1xuICAgICAgICAgICAgY29sb3I/OiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICAgIGFjY2VwdEJ1dHRvbj86IERpYWxvZ0Zvb3RlckJ1dHRvbjtcbiAgICAgICAgY2FuY2VsQnV0dG9uPzogRGlhbG9nRm9vdGVyQnV0dG9uO1xuICAgICAgICBjdXN0b21CdXR0b24/OiBEaWFsb2dGb290ZXJCdXR0b247XG4gICAgICAgIHRvb2x0aXBzPzogYW55O1xuICAgICAgICBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgICAgIHNlcnZlckVycm9yTWVzc2FnZT86IHN0cmluZztcbiAgICAgICAgY2hpbGQ/OiBDb21wb25lbnRUeXBlPFQ+O1xuICAgICAgICBjaGlsZERhdGE/OiBQYXJ0aWFsPFQ+O1xuICAgICAgICB0aGVtZT86IHtcbiAgICAgICAgICAgIHRoZW1lU2l6ZT86IFNpemVNb2RhbDtcbiAgICAgICAgICAgIHR5cGU/OiAnc3VjY2Vzc2Z1bCc7XG4gICAgICAgICAgICBjb250ZW50Tm9QYWRkaW5nPzogYm9vbGVhbjtcbiAgICAgICAgICAgIGlzQ29uZmlybWF0aW9uPzogYm9vbGVhbjtcbiAgICAgICAgICAgIG5vVGhlbWVTaXplQ2xhc3M/OiBib29sZWFuO1xuICAgICAgICB9O1xuICAgICAgICBjb25maXJtRm4/OiBhbnk7XG4gICAgICAgIGZpZWxkcz86IE1vZGFsRm9ybUZpZWxkW107XG4gICAgICAgIGhpZGVDbG9zZUJ0bj86IGJvb2xlYW47XG4gICAgICAgIGZvb3RlclRlbXBsYXRlRGF0YT86IEZvb3RlclRlbXBsYXRlRGF0YTtcbiAgICAgICAgZGV0YWlscz86IHtcbiAgICAgICAgICAgIHRpdGxlPzogc3RyaW5nO1xuICAgICAgICAgICAgaXRlbXM/OiBzdHJpbmdbXSB8IE9ic2VydmFibGU8c3RyaW5nW10+O1xuICAgICAgICAgICAgY29sbGFwc2U/OiBib29sZWFuO1xuICAgICAgICB9O1xuICAgICAgICBoZWFkZXJJY29uQ2xhc3M/OiBzdHJpbmc7XG4gICAgICAgIGZvcm1XcmFwcGVyQ2xhc3M/OiBzdHJpbmc7XG4gICAgfTtcbn1cblxuLy8gRGF0YSBPYmogZm9yIG9wZW5Db25maXJtRGlhbG9nKClcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlybURpYWxvZ0RhdGEge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHNlYXJjaGFibGU/OiBib29sZWFuO1xuICAgIGNsZWFyYWJsZT86IGJvb2xlYW47XG4gICAgY29udGVudD86IHN0cmluZztcbiAgICBjb250ZW50SWNvbj86IHtcbiAgICAgICAgY2xhc3M/OiBzdHJpbmc7XG4gICAgICAgIGNvbG9yPzogc3RyaW5nO1xuICAgIH07XG4gICAgYWNjZXB0QnV0dG9uPzogRGlhbG9nRm9vdGVyQnV0dG9uO1xuICAgIGNhbmNlbEJ1dHRvbj86IERpYWxvZ0Zvb3RlckJ1dHRvbjtcbiAgICBjdXN0b21CdXR0b24/OiBEaWFsb2dGb290ZXJCdXR0b247XG4gICAgdG9vbHRpcHM/OiBhbnk7XG4gICAgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICAgIHNlcnZlckVycm9yTWVzc2FnZT86IHN0cmluZztcbiAgICBoaWRlQ2xvc2VCdG4/OiBib29sZWFuO1xuICAgIGNvbmZpcm1Gbj86IChyZXNwb25zZT86IGFueSkgPT4gT2JzZXJ2YWJsZTxhbnk+O1xuICAgIGZpZWxkcz86IE1vZGFsRm9ybUZpZWxkW107XG4gICAgZm9vdGVyVGVtcGxhdGVEYXRhPzogRm9vdGVyVGVtcGxhdGVEYXRhO1xuICAgIGRldGFpbHM/OiB7XG4gICAgICAgIHRpdGxlPzogc3RyaW5nO1xuICAgICAgICBpdGVtcz86IHN0cmluZ1tdIHwgT2JzZXJ2YWJsZTxzdHJpbmdbXT47XG4gICAgfTtcbiAgICB0aGVtZT86IHtcbiAgICAgICAgdGhlbWVTaXplPzogU2l6ZU1vZGFsO1xuICAgIH07XG4gICAgaGVhZGVySWNvbkNsYXNzPzogc3RyaW5nO1xuICAgIGZvcm1XcmFwcGVyQ2xhc3M/OiBzdHJpbmc7XG59XG5cbi8vIERhdGEgT2JqIGZvciBvcGVuQ29uZmlybURpYWxvZ01vZGFsKClcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlybURpYWxvZ01vZGFsRGF0YSBleHRlbmRzIENvbmZpcm1EaWFsb2dEYXRhIHtcbiAgICBjb25maXJtRm4/OiBhbnk7XG4gICAgaGlkZUNsb3NlQnRuPzogYm9vbGVhbjtcbiAgICBmb290ZXJUZW1wbGF0ZURhdGE/OiBGb290ZXJUZW1wbGF0ZURhdGE7XG4gICAgZmllbGRzPzogTW9kYWxGb3JtRmllbGRbXTtcbiAgICBoZWFkZXJJY29uQ2xhc3M/OiBzdHJpbmc7XG4gICAgZm9ybVdyYXBwZXJDbGFzcz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb290ZXJUZW1wbGF0ZURhdGEge1xuICAgIGxhYmVsOiBzdHJpbmc7XG4gICAgaWNvbj86IHN0cmluZztcbiAgICBhY3Rpb246IChvYmpUb1NhdmU/OiBhbnkpID0+IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2RhbEZvcm1GaWVsZCB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHR5cGU6IFREaWFsb2dGaWVsZFR5cGU7XG4gICAgbGFiZWw/OiBzdHJpbmc7XG4gICAgaXNMYWJlbEZ1bGxXaWR0aD86IGJvb2xlYW47XG4gICAgaXRlbXM/OiBhbnlbXTtcbiAgICBpdGVtcyQ/OiBPYnNlcnZhYmxlPGFueVtdPiB8IE9ic2VydmFibGU8YW55PjtcbiAgICBkZWZhdWx0PzogYW55O1xuICAgIGFkZFRhZz86IGJvb2xlYW47XG4gICAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gICAgYmluZExhYmVsPzogc3RyaW5nO1xuICAgIGJpbmRWYWx1ZT86IHN0cmluZztcbiAgICB2YWxpZGF0b3JzPzogYW55W107XG4gICAgZGF0ZVBpY2tlckZvcm1hdD86IFRpbWVmcmFtZU9wdGlvbjtcbiAgICBmb3JtR3JvdXBDbGFzcz86IHN0cmluZztcbiAgICBpc09wdGlvbmFsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgU2l6ZU1vZGFsID1cbiAgICB8ICdzbWFsbC1tb2RhbCdcbiAgICB8ICdzbWFsbC1tb2RhbC1tYXgtaGVpZ2h0J1xuICAgIHwgJ21lZGl1bS1zbWFsbC1tb2RhbCdcbiAgICB8ICdtZWRpdW0tbW9kYWwnXG4gICAgfCAnbWVkaXVtLW1vZGFsLW1heC1oZWlnaHQnXG4gICAgfCAnbWVkaXVtLWxhcmdlLW1vZGFsJ1xuICAgIHwgJ2xhcmdlLW1vZGFsJ1xuICAgIHwgJ3hsLW1vZGFsJ1xuICAgIHwgJ3hsLWN1c3RvbS1tb2RhbCdcbiAgICB8ICd4bC1tZWRpdW0tbW9kYWwnO1xuXG5leHBvcnQgdHlwZSBEYXRhUHJvcDxUID0gYW55PiA9IERpYWxvZ0RhdGE8VD5bJ2RhdGEnXTtcblxuZXhwb3J0IHR5cGUgRGlhbG9nVGhlbWUgPSBEYXRhUHJvcFsndGhlbWUnXTtcblxuZXhwb3J0IHR5cGUgRGlhbG9nRm9vdGVyQnV0dG9uID0ge1xuICAgIGxhYmVsPzogc3RyaW5nO1xuICAgIGxvYWRpbmdMYWJlbD86IHN0cmluZztcbiAgICBmdW5jdGlvbnM/OiBhbnk7XG4gICAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gICAgYWN0aW9uRm4/OiB2b2lkO1xuICAgIGxvYWRpbmc/OiBhbnk7XG4gICAgdGhlbWU/OiBCdXR0b25UeXBlO1xufTtcblxuZXhwb3J0IGVudW0gRElBTE9HX1NJWkUge1xuICAgIFNNQUxMID0gJ3NtYWxsLW1vZGFsJyxcbiAgICBTTUFMTF9NQVhfSEVJR0hUID0gJ3NtYWxsLW1vZGFsLW1heC1oZWlnaHQnLFxuICAgIE1FRElVTSA9ICdtZWRpdW0tbW9kYWwnLFxuICAgIE1FRElVTV9TTUFMTCA9ICdtZWRpdW0tc21hbGwtbW9kYWwnLFxuICAgIE1FRElVTV9NQVhfSEVJR0hUID0gJ21lZGl1bS1tb2RhbC1tYXgtaGVpZ2h0JyxcbiAgICBNRURJVU1fTEFSR0UgPSAnbWVkaXVtLWxhcmdlLW1vZGFsJyxcbiAgICBMQVJHRSA9ICdsYXJnZS1tb2RhbCcsXG4gICAgWF9MQVJHRSA9ICd4bC1tb2RhbCcsXG4gICAgWF9DVVNUT01fTEFSR0UgPSAneGwtY3VzdG9tLW1vZGFsJyxcbiAgICBYX01FRElVTSA9ICd4bC1tZWRpdW0tbW9kYWwnLFxufVxuXG5leHBvcnQgZW51bSBESUFMT0dfQlVUVE9OX0xBQkVMIHtcbiAgICBTQVZFID0gJ1NhdmUnLFxuICAgIENBTkNFTCA9ICdDYW5jZWwnLFxuICAgIENMT1NFID0gJ0Nsb3NlJyxcbn1cblxuZXhwb3J0IGVudW0gRElBTE9HX0ZJRUxEX1RZUEUge1xuICAgIElOUFVUID0gJ2lucHV0JyxcbiAgICBTRUxFQ1QgPSAnc2VsZWN0JyxcbiAgICBEQVRFX1BJQ0tFUiA9ICdkYXRlX3BpY2tlcicsXG4gICAgQ0hFQ0tCT1ggPSAnY2hlY2tib3gnLFxufVxuXG5leHBvcnQgdHlwZSBURGlhbG9nRmllbGRUeXBlID0gRElBTE9HX0ZJRUxEX1RZUEU7XG4iXX0=
@@ -0,0 +1,169 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { Component, forwardRef, ChangeDetectionStrategy, inject, Input, HostBinding, DestroyRef } from '@angular/core';
3
+ import { FormBuilder, FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
4
+ import { LOCAL_TIME_ZONE_OFFSET, TimePickerComponent } from '../time-picker/time-picker.component';
5
+ import { distinctUntilChanged, map, Subject, takeUntil } from 'rxjs';
6
+ import { cloneDeep, isEqual, isNil } from 'lodash';
7
+ import { DrInputsModule } from '../../dr-inputs.module';
8
+ import moment from 'moment';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/common";
11
+ import * as i2 from "../dr-date-picker/dr-date-picker.component";
12
+ import * as i3 from "@angular/forms";
13
+ const DEFAULT_FORM_VALUE = {
14
+ date: null,
15
+ time: {
16
+ hour: 12,
17
+ minute: 0,
18
+ timePeriod: 'AM',
19
+ timeZone: LOCAL_TIME_ZONE_OFFSET,
20
+ },
21
+ };
22
+ export class DateTimePickerComponent {
23
+ constructor() {
24
+ this.fb = inject(FormBuilder);
25
+ this.destroy$ = new Subject();
26
+ this.hostId = null;
27
+ this.LOCAL_TIME_ZONE_OFFSET = LOCAL_TIME_ZONE_OFFSET;
28
+ this.dateTimeForm = this.fb.group({
29
+ date: this.fb.control(null),
30
+ time: this.fb.control({
31
+ hour: 12,
32
+ minute: 0,
33
+ timePeriod: 'AM',
34
+ timeZone: this.LOCAL_TIME_ZONE_OFFSET,
35
+ }),
36
+ });
37
+ this.innerTime = null;
38
+ this.onChange = () => { };
39
+ this.onTouched = () => { };
40
+ inject(DestroyRef).onDestroy(() => {
41
+ this.destroy$.next();
42
+ this.destroy$.complete();
43
+ });
44
+ this.dateTimeForm.valueChanges
45
+ .pipe(map((value) => ({
46
+ value: this.getCombinedTimestamp(value),
47
+ timezone: value.time?.timeZone || null,
48
+ })), distinctUntilChanged((a, b) => isEqual(a, b)), takeUntil(this.destroy$))
49
+ .subscribe((value) => {
50
+ this.innerTime = value.value;
51
+ this.onChange(value);
52
+ });
53
+ }
54
+ writeValue(value) {
55
+ if (this.innerTime === value?.value)
56
+ return;
57
+ if (value && typeof value === 'object' && !isNil(value.value) && typeof value.value === 'number') {
58
+ const formValue = this.getFormValueFromTimestamp(value.value, value.timezone || null);
59
+ this.dateTimeForm.setValue(formValue);
60
+ return;
61
+ }
62
+ this.dateTimeForm.setValue(cloneDeep(DEFAULT_FORM_VALUE), { emitEvent: false });
63
+ }
64
+ getFormValueFromTimestamp(timestamp, _timezone = this.LOCAL_TIME_ZONE_OFFSET) {
65
+ const dateMoment = moment.unix(timestamp).utc();
66
+ const timezone = _timezone || 0;
67
+ const adjustedDate = dateMoment.clone().utcOffset(-(timezone || 0));
68
+ let hours = adjustedDate.hours();
69
+ let timePeriod = 'AM';
70
+ if (hours >= 12) {
71
+ timePeriod = 'PM';
72
+ if (hours > 12) {
73
+ hours -= 12;
74
+ }
75
+ }
76
+ else if (hours === 0) {
77
+ hours = 12;
78
+ }
79
+ return {
80
+ date: dateMoment.clone().add({ hours: -timezone }).unix(),
81
+ time: {
82
+ hour: hours,
83
+ minute: adjustedDate.minutes(),
84
+ timePeriod,
85
+ timeZone: timezone,
86
+ },
87
+ };
88
+ }
89
+ getCombinedTimestamp({ date, time }) {
90
+ if (!date || !time) {
91
+ return null;
92
+ }
93
+ let hours = time.hour;
94
+ if (time.timePeriod === 'PM' && hours < 12) {
95
+ hours += 12;
96
+ }
97
+ else if (time.timePeriod === 'AM' && hours === 12) {
98
+ hours = 0;
99
+ }
100
+ const dateObj = moment.unix(date).utc();
101
+ const combinedDate = dateObj.startOf('day').add({ hour: hours, minute: time.minute });
102
+ return combinedDate.unix();
103
+ }
104
+ registerOnChange(fn) {
105
+ this.onChange = fn;
106
+ }
107
+ registerOnTouched(fn) {
108
+ this.onTouched = fn;
109
+ }
110
+ setDisabledState(isDisabled) {
111
+ if (isDisabled) {
112
+ this.dateTimeForm.disable();
113
+ }
114
+ else {
115
+ this.dateTimeForm.enable();
116
+ }
117
+ }
118
+ /** @nocollapse */ static { this.ɵfac = function DateTimePickerComponent_Factory(t) { return new (t || DateTimePickerComponent)(); }; }
119
+ /** @nocollapse */ static { this.ɵcmp = /** @pureOrBreakMyCode */ i0.ɵɵdefineComponent({ type: DateTimePickerComponent, selectors: [["dr-date-time-picker"]], hostVars: 1, hostBindings: function DateTimePickerComponent_HostBindings(rf, ctx) { if (rf & 2) {
120
+ i0.ɵɵattribute("id", ctx.hostId);
121
+ } }, inputs: { id: "id", min: "min", max: "max" }, standalone: true, features: [i0.ɵɵProvidersFeature([
122
+ {
123
+ provide: NG_VALUE_ACCESSOR,
124
+ useExisting: forwardRef((() => DateTimePickerComponent)),
125
+ multi: true,
126
+ },
127
+ ]), i0.ɵɵStandaloneFeature], decls: 8, vars: 10, consts: [[1, "dr-date-time-picker"], ["type", "hidden", 3, "value"], [1, "dr-date-time-picker__date", 3, "id", "formControl", "min", "max", "ngModelChange"], [1, "dr-date-time-picker__time"], [1, "dr-date-time-picker__at"], ["data-testid", "date-time-picker-time-picker", 1, "dr-date-time-picker__time-picker", 3, "formControl", "ngModelChange"]], template: function DateTimePickerComponent_Template(rf, ctx) { if (rf & 1) {
128
+ i0.ɵɵelementStart(0, "div", 0);
129
+ i0.ɵɵelement(1, "input", 1);
130
+ i0.ɵɵpipe(2, "date");
131
+ i0.ɵɵelementStart(3, "dr-date-picker", 2);
132
+ i0.ɵɵlistener("ngModelChange", function DateTimePickerComponent_Template_dr_date_picker_ngModelChange_3_listener() { return ctx.onTouched(); });
133
+ i0.ɵɵelementEnd();
134
+ i0.ɵɵelementStart(4, "div", 3)(5, "span", 4);
135
+ i0.ɵɵtext(6, "At");
136
+ i0.ɵɵelementEnd();
137
+ i0.ɵɵelementStart(7, "dr-time-picker", 5);
138
+ i0.ɵɵlistener("ngModelChange", function DateTimePickerComponent_Template_dr_time_picker_ngModelChange_7_listener() { return ctx.onTouched(); });
139
+ i0.ɵɵelementEnd()()();
140
+ } if (rf & 2) {
141
+ i0.ɵɵadvance(1);
142
+ i0.ɵɵproperty("value", i0.ɵɵpipeBind2(2, 7, ctx.innerTime, "DD-MM-YYYY HH:mm"));
143
+ i0.ɵɵattribute("id", ctx.id);
144
+ i0.ɵɵadvance(2);
145
+ i0.ɵɵproperty("id", ctx.id)("formControl", ctx.dateTimeForm.controls.date)("min", ctx.min)("max", ctx.max);
146
+ i0.ɵɵadvance(4);
147
+ i0.ɵɵproperty("formControl", ctx.dateTimeForm.controls.time);
148
+ } }, dependencies: [CommonModule, i1.DatePipe, DrInputsModule, i2.DrDatePickerComponent, FormsModule, i3.NgControlStatus, ReactiveFormsModule, i3.FormControlDirective, TimePickerComponent], styles: ["[_nghost-%COMP%] .dr-date-time-picker[_ngcontent-%COMP%]{display:flex;flex-direction:column}[_nghost-%COMP%] .dr-date-time-picker__date[_ngcontent-%COMP%]{margin-bottom:8px}[_nghost-%COMP%] .dr-date-time-picker__time[_ngcontent-%COMP%]{display:flex;align-items:center}[_nghost-%COMP%] .dr-date-time-picker__time-picker[_ngcontent-%COMP%]{flex-grow:1}[_nghost-%COMP%] .dr-date-time-picker__at[_ngcontent-%COMP%]{margin-right:4px}"], changeDetection: 0 }); }
149
+ }
150
+ (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DateTimePickerComponent, [{
151
+ type: Component,
152
+ args: [{ selector: 'dr-date-time-picker', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, DrInputsModule, FormsModule, ReactiveFormsModule, TimePickerComponent], providers: [
153
+ {
154
+ provide: NG_VALUE_ACCESSOR,
155
+ useExisting: forwardRef((() => DateTimePickerComponent)),
156
+ multi: true,
157
+ },
158
+ ], template: "<div class=\"dr-date-time-picker\">\n <input [attr.id]=\"id\" type=\"hidden\" [value]=\"innerTime | date: 'DD-MM-YYYY HH:mm'\" />\n <dr-date-picker\n [id]=\"id\"\n [formControl]=\"dateTimeForm.controls.date\"\n [min]=\"min\"\n [max]=\"max\"\n (ngModelChange)=\"onTouched()\"\n class=\"dr-date-time-picker__date\" />\n\n <div class=\"dr-date-time-picker__time\">\n <span class=\"dr-date-time-picker__at\">At</span>\n <dr-time-picker\n class=\"dr-date-time-picker__time-picker\"\n [formControl]=\"dateTimeForm.controls.time\"\n (ngModelChange)=\"onTouched()\"\n data-testid=\"date-time-picker-time-picker\" />\n </div>\n</div>\n", styles: [":host .dr-date-time-picker{display:flex;flex-direction:column}:host .dr-date-time-picker__date{margin-bottom:8px}:host .dr-date-time-picker__time{display:flex;align-items:center}:host .dr-date-time-picker__time-picker{flex-grow:1}:host .dr-date-time-picker__at{margin-right:4px}\n"] }]
159
+ }], function () { return []; }, { id: [{
160
+ type: Input
161
+ }], hostId: [{
162
+ type: HostBinding,
163
+ args: ['attr.id']
164
+ }], min: [{
165
+ type: Input
166
+ }], max: [{
167
+ type: Input
168
+ }] }); })();
169
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RhdGUtdGltZS1waWNrZXIvZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZILE9BQU8sRUFBd0IsV0FBVyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxtQkFBbUIsRUFBbUIsTUFBTSxzQ0FBc0MsQ0FBQztBQUNwSCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7Ozs7O0FBTzVCLE1BQU0sa0JBQWtCLEdBQWtCO0lBQ3RDLElBQUksRUFBRSxJQUFJO0lBQ1Ys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aUIsZUFBVyxJQUFDO1lBTGpDLGlCQU13QztZQUV4Qyw4QkFBdUMsY0FBQTtZQUNHLGtCQUFFO1lBQUEsaUJBQU87WUFDL0MseUNBSWlEO1lBRDdDLDRIQUFpQixlQUFXLElBQUM7WUFIakMsaUJBSWlELEVBQUEsRUFBQTs7WUFmakIsZUFBOEM7WUFBOUMsK0VBQThDO1lBQTNFLDRCQUFjO1lBRWpCLGVBQVM7WUFBVCwyQkFBUywrQ0FBQSxnQkFBQSxnQkFBQTtZQVdMLGVBQTBDO1lBQTFDLDREQUEwQzs0QkRjeEMsWUFBWSxlQUFFLGNBQWMsNEJBQUUsV0FBVyxzQkFBRSxtQkFBbUIsMkJBQUUsbUJBQW1COzt1RkFXcEYsdUJBQXVCO2NBZm5DLFNBQVM7MkJBQ0kscUJBQXFCLG1CQUNkLHVCQUF1QixDQUFDLE1BQU0sY0FDbkMsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsbUJBQW1CLENBQUMsYUFHbkY7b0JBQ1A7d0JBQ0ksT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsV0FBVyxFQUFFLFVBQVUsRUFBQyxHQUFHLEVBQUUsd0JBQXdCLEVBQUM7d0JBQ3RELEtBQUssRUFBRSxJQUFJO3FCQUNkO2lCQUNKO3NDQU9ELEVBQUU7a0JBREQsS0FBSztZQUdOLE1BQU07a0JBREwsV0FBVzttQkFBQyxTQUFTO1lBR3RCLEdBQUc7a0JBREYsS0FBSztZQUdOLEdBQUc7a0JBREYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBpbmplY3QsIElucHV0LCBIb3N0QmluZGluZywgRGVzdHJveVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1CdWlsZGVyLCBGb3Jtc01vZHVsZSwgTkdfVkFMVUVfQUNDRVNTT1IsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBMT0NBTF9USU1FX1pPTkVfT0ZGU0VULCBUaW1lUGlja2VyQ29tcG9uZW50LCBUaW1lcGlja2VyTW9kZWwgfSBmcm9tICcuLi90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjbG9uZURlZXAsIGlzRXF1YWwsIGlzTmlsIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IERySW5wdXRzTW9kdWxlIH0gZnJvbSAnLi4vLi4vZHItaW5wdXRzLm1vZHVsZSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5cbmV4cG9ydCB0eXBlIERhdGVUaW1lTW9kZWwgPSB7XG4gICAgZGF0ZTogbnVtYmVyIHwgbnVsbDsgLy8gVVRDIHRpbWVzdGFtcFxuICAgIHRpbWU6IFRpbWVwaWNrZXJNb2RlbCB8IG51bGw7XG59O1xuXG5jb25zdCBERUZBVUxUX0ZPUk1fVkFMVUU6IERhdGVUaW1lTW9kZWwgPSB7XG4gICAgZGF0ZTogbnVsbCxcbiAgICB0aW1lOiB7XG4gICAgICAgIGhvdXI6IDEyLFxuICAgICAgICBtaW51dGU6IDAsXG4gICAgICAgIHRpbWVQZXJpb2Q6ICdBTScsXG4gICAgICAgIHRpbWVab25lOiBMT0NBTF9USU1FX1pPTkVfT0ZGU0VULFxuICAgIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2RyLWRhdGUtdGltZS1waWNrZXInLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRHJJbnB1dHNNb2R1bGUsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBUaW1lUGlja2VyQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGF0ZS10aW1lLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVUaW1lUGlja2VyQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgIF0sXG59KVxuZXhwb3J0IGNsYXNzIERhdGVUaW1lUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgQElucHV0KClcbiAgICBpZD86IHN0cmluZztcbiAgICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKVxuICAgIGhvc3RJZCA9IG51bGw7XG4gICAgQElucHV0KClcbiAgICBtaW4hOiBudW1iZXI7XG4gICAgQElucHV0KClcbiAgICBtYXghOiBudW1iZXI7XG5cbiAgICByZWFkb25seSBMT0NBTF9USU1FX1pPTkVfT0ZGU0VUID0gTE9DQUxfVElNRV9aT05FX09GRlNFVDtcblxuICAgIHJlYWRvbmx5IGRhdGVUaW1lRm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICBkYXRlOiB0aGlzLmZiLmNvbnRyb2w8bnVtYmVyIHwgbnVsbD4obnVsbCksXG4gICAgICAgIHRpbWU6IHRoaXMuZmIuY29udHJvbDxEYXRlVGltZU1vZGVsWyd0aW1lJ10gfCBudWxsPih7XG4gICAgICAgICAgICBob3VyOiAxMixcbiAgICAgICAgICAgIG1pbnV0ZTogMCxcbiAgICAgICAgICAgIHRpbWVQZXJpb2Q6ICdBTScsXG4gICAgICAgICAgICB0aW1lWm9uZTogdGhpcy5MT0NBTF9USU1FX1pPTkVfT0ZGU0VULFxuICAgICAgICB9KSxcbiAgICB9KTtcblxuICAgIHByb3RlY3RlZCBpbm5lclRpbWU6IG51bWJlciB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuZGF0ZVRpbWVGb3JtLnZhbHVlQ2hhbmdlc1xuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCh2YWx1ZSkgPT4gKHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuZ2V0Q29tYmluZWRUaW1lc3RhbXAodmFsdWUpLFxuICAgICAgICAgICAgICAgICAgICB0aW1lem9uZTogdmFsdWUudGltZT8udGltZVpvbmUgfHwgbnVsbCxcbiAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGlzRXF1YWwoYSwgYikpLFxuICAgICAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbm5lclRpbWUgPSB2YWx1ZS52YWx1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogeyB2YWx1ZTogbnVtYmVyIHwgbnVsbDsgdGltZXpvbmU6IG51bWJlciB8IG51bGwgfSkgPT4gdm9pZCA9ICgpID0+IHt9O1xuICAgIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZT86IHsgdmFsdWU6IG51bWJlciB8IG51bGw7IHRpbWV6b25lOiBudW1iZXIgfSB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaW5uZXJUaW1lID09PSB2YWx1ZT8udmFsdWUpIHJldHVybjtcblxuICAgICAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiAhaXNOaWwodmFsdWUudmFsdWUpICYmIHR5cGVvZiB2YWx1ZS52YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZ2V0Rm9ybVZhbHVlRnJvbVRpbWVzdGFtcCh2YWx1ZS52YWx1ZSwgdmFsdWUudGltZXpvbmUgfHwgbnVsbCk7XG4gICAgICAgICAgICB0aGlzLmRhdGVUaW1lRm9ybS5zZXRWYWx1ZShmb3JtVmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5kYXRlVGltZUZvcm0uc2V0VmFsdWUoY2xvbmVEZWVwKERFRkFVTFRfRk9STV9WQUxVRSksIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEZvcm1WYWx1ZUZyb21UaW1lc3RhbXAodGltZXN0YW1wOiBudW1iZXIsIF90aW1lem9uZTogbnVtYmVyIHwgbnVsbCA9IHRoaXMuTE9DQUxfVElNRV9aT05FX09GRlNFVCk6IERhdGVUaW1lTW9kZWwge1xuICAgICAgICBjb25zdCBkYXRlTW9tZW50ID0gbW9tZW50LnVuaXgodGltZXN0YW1wKS51dGMoKTtcbiAgICAgICAgY29uc3QgdGltZXpvbmUgPSBfdGltZXpvbmUgfHwgMDtcbiAgICAgICAgY29uc3QgYWRqdXN0ZWREYXRlID0gZGF0ZU1vbWVudC5jbG9uZSgpLnV0Y09mZnNldCgtKHRpbWV6b25lIHx8IDApKTtcblxuICAgICAgICBsZXQgaG91cnMgPSBhZGp1c3RlZERhdGUuaG91cnMoKTtcbiAgICAgICAgbGV0IHRpbWVQZXJpb2Q6ICdBTScgfCAnUE0nID0gJ0FNJztcblxuICAgICAgICBpZiAoaG91cnMgPj0gMTIpIHtcbiAgICAgICAgICAgIHRpbWVQZXJpb2QgPSAnUE0nO1xuICAgICAgICAgICAgaWYgKGhvdXJzID4gMTIpIHtcbiAgICAgICAgICAgICAgICBob3VycyAtPSAxMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChob3VycyA9PT0gMCkge1xuICAgICAgICAgICAgaG91cnMgPSAxMjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkYXRlOiBkYXRlTW9tZW50LmNsb25lKCkuYWRkKHsgaG91cnM6IC10aW1lem9uZSB9KS51bml4KCksXG4gICAgICAgICAgICB0aW1lOiB7XG4gICAgICAgICAgICAgICAgaG91cjogaG91cnMsXG4gICAgICAgICAgICAgICAgbWludXRlOiBhZGp1c3RlZERhdGUubWludXRlcygpLFxuICAgICAgICAgICAgICAgIHRpbWVQZXJpb2QsXG4gICAgICAgICAgICAgICAgdGltZVpvbmU6IHRpbWV6b25lLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENvbWJpbmVkVGltZXN0YW1wKHsgZGF0ZSwgdGltZSB9OiBQYXJ0aWFsPERhdGVUaW1lTW9kZWw+KTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGlmICghZGF0ZSB8fCAhdGltZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgaG91cnMgPSB0aW1lLmhvdXI7XG5cbiAgICAgICAgaWYgKHRpbWUudGltZVBlcmlvZCA9PT0gJ1BNJyAmJiBob3VycyA8IDEyKSB7XG4gICAgICAgICAgICBob3VycyArPSAxMjtcbiAgICAgICAgfSBlbHNlIGlmICh0aW1lLnRpbWVQZXJpb2QgPT09ICdBTScgJiYgaG91cnMgPT09IDEyKSB7XG4gICAgICAgICAgICBob3VycyA9IDA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRlT2JqID0gbW9tZW50LnVuaXgoZGF0ZSkudXRjKCk7XG4gICAgICAgIGNvbnN0IGNvbWJpbmVkRGF0ZSA9IGRhdGVPYmouc3RhcnRPZignZGF5JykuYWRkKHsgaG91cjogaG91cnMsIG1pbnV0ZTogdGltZS5taW51dGUgfSk7XG4gICAgICAgIHJldHVybiBjb21iaW5lZERhdGUudW5peCgpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICAgIH1cblxuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5kYXRlVGltZUZvcm0uZGlzYWJsZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kYXRlVGltZUZvcm0uZW5hYmxlKCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZHItZGF0ZS10aW1lLXBpY2tlclwiPlxuICAgIDxpbnB1dCBbYXR0ci5pZF09XCJpZFwiIHR5cGU9XCJoaWRkZW5cIiBbdmFsdWVdPVwiaW5uZXJUaW1lIHwgZGF0ZTogJ0RELU1NLVlZWVkgSEg6bW0nXCIgLz5cbiAgICA8ZHItZGF0ZS1waWNrZXJcbiAgICAgICAgW2lkXT1cImlkXCJcbiAgICAgICAgW2Zvcm1Db250cm9sXT1cImRhdGVUaW1lRm9ybS5jb250cm9scy5kYXRlXCJcbiAgICAgICAgW21pbl09XCJtaW5cIlxuICAgICAgICBbbWF4XT1cIm1heFwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVG91Y2hlZCgpXCJcbiAgICAgICAgY2xhc3M9XCJkci1kYXRlLXRpbWUtcGlja2VyX19kYXRlXCIgLz5cblxuICAgIDxkaXYgY2xhc3M9XCJkci1kYXRlLXRpbWUtcGlja2VyX190aW1lXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZHItZGF0ZS10aW1lLXBpY2tlcl9fYXRcIj5BdDwvc3Bhbj5cbiAgICAgICAgPGRyLXRpbWUtcGlja2VyXG4gICAgICAgICAgICBjbGFzcz1cImRyLWRhdGUtdGltZS1waWNrZXJfX3RpbWUtcGlja2VyXCJcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJkYXRlVGltZUZvcm0uY29udHJvbHMudGltZVwiXG4gICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJvblRvdWNoZWQoKVwiXG4gICAgICAgICAgICBkYXRhLXRlc3RpZD1cImRhdGUtdGltZS1waWNrZXItdGltZS1waWNrZXJcIiAvPlxuICAgIDwvZGl2PlxuPC9kaXY+XG4iXX0=