@cqa-lib/cqa-ui 1.1.364 → 1.1.365
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/test-case-details/ai-agent-step/ai-agent-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/ai-verify-step/ai-verify-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/api-step/api-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/condition-step/condition-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/custom-code-step/custom-code-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/database-step/database-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/loop-step/loop-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/normal-step/normal-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/restore-session-step/restore-session-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/screenshot-step/screenshot-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/scroll-step/scroll-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/step-group/step-group.component.mjs +3 -3
- package/esm2020/lib/test-case-details/upload-step/upload-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/verify-url-step/verify-url-step.component.mjs +3 -3
- package/fesm2015/cqa-lib-cqa-ui.mjs +28 -28
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +28 -28
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/package.json +1 -1
- package/styles.css +1 -1
package/esm2020/lib/test-case-details/restore-session-step/restore-session-step.component.mjs
CHANGED
|
@@ -65,10 +65,10 @@ export class TestCaseRestoreSessionStepComponent {
|
|
|
65
65
|
onSelectionChange(checked) { this.selected = checked; this.selectionChange.emit(checked); }
|
|
66
66
|
}
|
|
67
67
|
TestCaseRestoreSessionStepComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TestCaseRestoreSessionStepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
-
TestCaseRestoreSessionStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: TestCaseRestoreSessionStepComponent, selector: "cqa-test-case-restore-session-step", inputs: { config: "config", stepNumber: "stepNumber", index: "index", action: "action", selected: "selected", disabled: "disabled", isNested: "isNested", isInsideStepGroup: "isInsideStepGroup", isInsideLoop: "isInsideLoop", isReorder: "isReorder", editable: "editable" }, outputs: { edit: "edit", editInDepth: "editInDepth", link: "link", duplicate: "duplicate", delete: "delete", moreOptions: "moreOptions", viewDetails: "viewDetails", selectionChange: "selectionChange" }, host: { classAttribute: "cqa-ui-root" }, viewQueries: [{ propertyName: "viewDetailsTrigger", first: true, predicate: ["viewDetailsTrigger"], descendants: true }], ngImport: i0, template: "<div [class]=\"'step-row cqa-flex cqa-items-center cqa-gap-3 cqa-py-2 ' + (isInsideLoop && isInsideStepGroup ? 'cqa-pl-20 cqa-pr-4' : (isInsideLoop || isInsideStepGroup) ? 'cqa-pl-10 cqa-pr-4' : 'cqa-px-4')\" style=\"border-top: 1px solid #E5E7EB;\">\n <div class=\"cqa-inline-flex cqa-items-center\">\n <!-- Drag Handle Icon (when isReorder is true and not inside step group - steps inside step groups cannot be reordered) -->\n <div *ngIf=\"isReorder && !isInsideStepGroup\" class=\"cqa-mr-2 cqa-cursor-move cqa-text-[#6B7280] hover:cqa-text-[#111827]\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"3\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"3\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"3\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n </svg>\n </div>\n <!-- Checkbox (when isReorder is false and not inside step group - hide for steps inside step groups) -->\n <label *ngIf=\"editable && !isReorder && !isInsideStepGroup\" class=\"cqa-flex cqa-items-center cqa-cursor-pointer cqa-relative cqa-mr-2\">\n <input type=\"checkbox\"\n [ngModel]=\"selected\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"onSelectionChange($event)\"\n class=\"cqa-h-4 cqa-w-4 cqa-cursor-pointer cqa-transition-all cqa-appearance-none cqa-rounded shadow hover:cqa-shadow-md cqa-border cqa-border-solid cqa-border-slate-300 cqa-flex-shrink-0\"\n [class.cqa-bg-[#3F43EE]]=\"selected\"\n [class.cqa-border-[#3F43EE]]=\"selected\"\n id=\"check\" />\n <span class=\"cqa-absolute cqa-text-white cqa-top-1/2 cqa-left-1/2 cqa--translate-x-1/2 cqa--translate-y-1/2 cqa-pointer-events-none cqa-flex cqa-items-center cqa-justify-center\"\n [class.cqa-opacity-0]=\"!selected\"\n [class.cqa-opacity-100]=\"selected\">\n <svg width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10 3.125L4.5 8.625L2 6.125\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </span>\n </label>\n </div>\n <span class=\"cqa-text-[#6B7280] cqa-text-[14px] cqa-leading-[18px] cqa-min-w-[32px]\">{{ stepNumber }}</span>\n <span title=\"Restore Session\" class=\"cqa-w-8 cqa-h-8 cqa-rounded-lg cqa-flex cqa-items-center cqa-justify-center cqa-flex-shrink-0 cqa-bg-[#FFEDD5] cqa-text-[#EA580C]\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M1.75 7C1.75 8.03835 2.05791 9.05339 2.63478 9.91674C3.21166 10.7801 4.0316 11.453 4.99091 11.8504C5.95022 12.2477 7.00582 12.3517 8.02422 12.1491C9.04262 11.9466 9.97808 11.4465 10.7123 10.7123C11.4465 9.97808 11.9466 9.04262 12.1491 8.02422C12.3517 7.00582 12.2477 5.95022 11.8504 4.99091C11.453 4.0316 10.7801 3.21166 9.91674 2.63478C9.05339 2.05791 8.03835 1.75 7 1.75C5.53231 1.75552 4.12357 2.32821 3.06833 3.34833L1.75 4.66667\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M1.75 1.75V4.66667H4.66667\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </span>\n <span class=\"cqa-text-[#111827] cqa-text-[14px] cqa-leading-[18px]\" [innerHTML]=\"getRestoreSessionDescription()\"></span>\n <div class=\"cqa-flex-grow\"></div>\n <div class=\"cqa-flex cqa-items-center cqa-gap-2\">\n <div *ngIf=\"editable && !isInsideStepGroup && !isReorder\" class=\"step-actions cqa-flex cqa-items-center cqa-gap-1.5 cqa-pr-2\">\n <button type=\"button\" (click)=\"onEdit(); $event.stopPropagation()\" title=\"Edit\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 11.6666H12.25\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.55208 2.1128C9.7843 1.88058 10.0993 1.75012 10.4277 1.75012C10.7561 1.75012 11.071 1.88058 11.3033 2.1128C11.5355 2.34502 11.6659 2.65998 11.6659 2.98838C11.6659 3.31679 11.5355 3.63175 11.3033 3.86397L4.29742 10.8704C4.15864 11.0092 3.9871 11.1107 3.79867 11.1656L2.12333 11.6544C2.07314 11.669 2.01993 11.6699 1.96928 11.6569C1.91863 11.6439 1.8724 11.6176 1.83543 11.5806C1.79846 11.5437 1.7721 11.4974 1.75913 11.4468C1.74615 11.3961 1.74703 11.3429 1.76167 11.2927L2.2505 9.61738C2.30546 9.42916 2.40698 9.25783 2.54567 9.11922L9.55208 2.1128Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n <!-- <button type=\"button\" (click)=\"onLink(); $event.stopPropagation()\" title=\"Link\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.00065 9.91671H3.66732C2.78326 9.91671 1.93542 9.60942 1.3103 9.06244C0.685174 8.51545 0.333984 7.77359 0.333984 7.00004C0.333984 6.22649 0.685174 5.48463 1.3103 4.93765C1.93542 4.39066 2.78326 4.08337 3.66732 4.08337H5.00065\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 4.08337H10.3333C11.2174 4.08337 12.0652 4.39066 12.6904 4.93765C13.3155 5.48463 13.6667 6.22649 13.6667 7.00004C13.6667 7.77359 13.3155 8.51545 12.6904 9.06244C12.0652 9.60942 11.2174 9.91671 10.3333 9.91671H9\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.33398 7H9.66732\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button> -->\n <button type=\"button\" (click)=\"onDuplicate(); $event.stopPropagation()\" title=\"Duplicate\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.666 4.66663H5.83268C5.18835 4.66663 4.66602 5.18896 4.66602 5.83329V11.6666C4.66602 12.311 5.18835 12.8333 5.83268 12.8333H11.666C12.3103 12.8333 12.8327 12.311 12.8327 11.6666V5.83329C12.8327 5.18896 12.3103 4.66663 11.666 4.66663Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.33268 9.33329C1.69102 9.33329 1.16602 8.80829 1.16602 8.16663V2.33329C1.16602 1.69163 1.69102 1.16663 2.33268 1.16663H8.16602C8.80768 1.16663 9.33268 1.69163 9.33268 2.33329\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n <button type=\"button\" (click)=\"onDelete(); $event.stopPropagation()\" title=\"Delete\" class=\"cqa-p-0 cqa-text-[#ff6467] hover:cqa-text-[#C63535]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.75 3.5H12.25\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.0827 3.5V11.6667C11.0827 12.25 10.4993 12.8333 9.91602 12.8333H4.08268C3.49935 12.8333 2.91602 12.25 2.91602 11.6667V3.5\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.66602 3.49996V2.33329C4.66602 1.74996 5.24935 1.16663 5.83268 1.16663H8.16602C8.74935 1.16663 9.33268 1.74996 9.33268 2.33329V3.49996\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.83398 6.41663V9.91663\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8.16602 6.41663V9.91663\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n </div>\n <a *ngIf=\"config.description && config.description.trim() !== ''\" #viewDetailsTrigger href=\"#\" (click)=\"onViewDetails($event)\" class=\"cqa-text-[#3F43EE] cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-flex cqa-items-center cqa-gap-1 cqa-no-underline\">View Details<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.03809 6.74329L2.62809 7.33329L5.96142 3.99996L2.62809 0.666626L2.03809 1.25663L4.78142 3.99996L2.03809 6.74329Z\" fill=\"#3F43EE\"/></svg></a>\n <!-- Created Date (from API) - last so aligned across all steps, format: 25 Feb 2026 -->\n <span *ngIf=\"config.createdDate\" class=\"step-date cqa-text-[#6B7280] cqa-text-[12px] cqa-leading-[15px] cqa-ml-auto cqa-flex-shrink-0\">\n {{ config.createdDate | date:'d MMM yyyy' }}\n </span>\n </div>\n</div>\n", styles: [".step-actions{opacity:0;transition:opacity .15s ease}.step-row:hover .step-actions{opacity:1}.step-row{vertical-align:middle;letter-spacing:normal}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "date": i1.DatePipe } });
|
|
68
|
+
TestCaseRestoreSessionStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: TestCaseRestoreSessionStepComponent, selector: "cqa-test-case-restore-session-step", inputs: { config: "config", stepNumber: "stepNumber", index: "index", action: "action", selected: "selected", disabled: "disabled", isNested: "isNested", isInsideStepGroup: "isInsideStepGroup", isInsideLoop: "isInsideLoop", isReorder: "isReorder", editable: "editable" }, outputs: { edit: "edit", editInDepth: "editInDepth", link: "link", duplicate: "duplicate", delete: "delete", moreOptions: "moreOptions", viewDetails: "viewDetails", selectionChange: "selectionChange" }, host: { classAttribute: "cqa-ui-root" }, viewQueries: [{ propertyName: "viewDetailsTrigger", first: true, predicate: ["viewDetailsTrigger"], descendants: true }], ngImport: i0, template: "<div [class]=\"'step-row cqa-flex cqa-items-center cqa-gap-3 cqa-py-2 ' + (isInsideLoop && isInsideStepGroup ? 'cqa-pl-20 cqa-pr-4' : (isInsideLoop || isInsideStepGroup) ? 'cqa-pl-10 cqa-pr-4' : 'cqa-px-4')\" style=\"border-top: 1px solid #E5E7EB;\">\n <div class=\"cqa-inline-flex cqa-items-center\">\n <!-- Drag Handle Icon (when isReorder is true and not inside step group - steps inside step groups cannot be reordered) -->\n <div *ngIf=\"isReorder && !isInsideStepGroup\" class=\"cqa-mr-2 cqa-cursor-move cqa-text-[#6B7280] hover:cqa-text-[#111827]\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"3\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"3\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"3\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n </svg>\n </div>\n <!-- Checkbox (when isReorder is false and not inside step group - hide for steps inside step groups) -->\n <label *ngIf=\"editable && !isReorder && !isInsideStepGroup\" class=\"cqa-flex cqa-items-center cqa-cursor-pointer cqa-relative cqa-mr-2\">\n <input type=\"checkbox\"\n [ngModel]=\"selected\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"onSelectionChange($event)\"\n class=\"cqa-h-4 cqa-w-4 cqa-cursor-pointer cqa-transition-all cqa-appearance-none cqa-rounded shadow hover:cqa-shadow-md cqa-border cqa-border-solid cqa-border-slate-300 cqa-flex-shrink-0\"\n [class.cqa-bg-[#3F43EE]]=\"selected\"\n [class.cqa-border-[#3F43EE]]=\"selected\"\n id=\"check\" />\n <span class=\"cqa-absolute cqa-text-white cqa-top-1/2 cqa-left-1/2 cqa--translate-x-1/2 cqa--translate-y-1/2 cqa-pointer-events-none cqa-flex cqa-items-center cqa-justify-center\"\n [class.cqa-opacity-0]=\"!selected\"\n [class.cqa-opacity-100]=\"selected\">\n <svg width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10 3.125L4.5 8.625L2 6.125\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </span>\n </label>\n </div>\n <span class=\"cqa-text-[#6B7280] cqa-text-[14px] cqa-leading-[18px] cqa-min-w-[32px]\">{{ stepNumber }}</span>\n <span title=\"Restore Session\" class=\"cqa-w-8 cqa-h-8 cqa-rounded-lg cqa-flex cqa-items-center cqa-justify-center cqa-flex-shrink-0 cqa-bg-[#FFEDD5] cqa-text-[#EA580C]\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M1.75 7C1.75 8.03835 2.05791 9.05339 2.63478 9.91674C3.21166 10.7801 4.0316 11.453 4.99091 11.8504C5.95022 12.2477 7.00582 12.3517 8.02422 12.1491C9.04262 11.9466 9.97808 11.4465 10.7123 10.7123C11.4465 9.97808 11.9466 9.04262 12.1491 8.02422C12.3517 7.00582 12.2477 5.95022 11.8504 4.99091C11.453 4.0316 10.7801 3.21166 9.91674 2.63478C9.05339 2.05791 8.03835 1.75 7 1.75C5.53231 1.75552 4.12357 2.32821 3.06833 3.34833L1.75 4.66667\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M1.75 1.75V4.66667H4.66667\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </span>\n <span class=\"cqa-text-[#111827] cqa-text-[14px] cqa-leading-[18px]\" [innerHTML]=\"getRestoreSessionDescription()\"></span>\n <div class=\"cqa-flex-grow\"></div>\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-self-center\">\n <div *ngIf=\"editable && !isInsideStepGroup && !isReorder\" class=\"step-actions cqa-flex cqa-items-center cqa-gap-1.5 cqa-pr-2\">\n <button type=\"button\" (click)=\"onEdit(); $event.stopPropagation()\" title=\"Edit\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 11.6666H12.25\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.55208 2.1128C9.7843 1.88058 10.0993 1.75012 10.4277 1.75012C10.7561 1.75012 11.071 1.88058 11.3033 2.1128C11.5355 2.34502 11.6659 2.65998 11.6659 2.98838C11.6659 3.31679 11.5355 3.63175 11.3033 3.86397L4.29742 10.8704C4.15864 11.0092 3.9871 11.1107 3.79867 11.1656L2.12333 11.6544C2.07314 11.669 2.01993 11.6699 1.96928 11.6569C1.91863 11.6439 1.8724 11.6176 1.83543 11.5806C1.79846 11.5437 1.7721 11.4974 1.75913 11.4468C1.74615 11.3961 1.74703 11.3429 1.76167 11.2927L2.2505 9.61738C2.30546 9.42916 2.40698 9.25783 2.54567 9.11922L9.55208 2.1128Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n <!-- <button type=\"button\" (click)=\"onLink(); $event.stopPropagation()\" title=\"Link\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.00065 9.91671H3.66732C2.78326 9.91671 1.93542 9.60942 1.3103 9.06244C0.685174 8.51545 0.333984 7.77359 0.333984 7.00004C0.333984 6.22649 0.685174 5.48463 1.3103 4.93765C1.93542 4.39066 2.78326 4.08337 3.66732 4.08337H5.00065\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 4.08337H10.3333C11.2174 4.08337 12.0652 4.39066 12.6904 4.93765C13.3155 5.48463 13.6667 6.22649 13.6667 7.00004C13.6667 7.77359 13.3155 8.51545 12.6904 9.06244C12.0652 9.60942 11.2174 9.91671 10.3333 9.91671H9\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.33398 7H9.66732\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button> -->\n <button type=\"button\" (click)=\"onDuplicate(); $event.stopPropagation()\" title=\"Duplicate\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.666 4.66663H5.83268C5.18835 4.66663 4.66602 5.18896 4.66602 5.83329V11.6666C4.66602 12.311 5.18835 12.8333 5.83268 12.8333H11.666C12.3103 12.8333 12.8327 12.311 12.8327 11.6666V5.83329C12.8327 5.18896 12.3103 4.66663 11.666 4.66663Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.33268 9.33329C1.69102 9.33329 1.16602 8.80829 1.16602 8.16663V2.33329C1.16602 1.69163 1.69102 1.16663 2.33268 1.16663H8.16602C8.80768 1.16663 9.33268 1.69163 9.33268 2.33329\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n <button type=\"button\" (click)=\"onDelete(); $event.stopPropagation()\" title=\"Delete\" class=\"cqa-p-0 cqa-text-[#ff6467] hover:cqa-text-[#C63535]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.75 3.5H12.25\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.0827 3.5V11.6667C11.0827 12.25 10.4993 12.8333 9.91602 12.8333H4.08268C3.49935 12.8333 2.91602 12.25 2.91602 11.6667V3.5\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.66602 3.49996V2.33329C4.66602 1.74996 5.24935 1.16663 5.83268 1.16663H8.16602C8.74935 1.16663 9.33268 1.74996 9.33268 2.33329V3.49996\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.83398 6.41663V9.91663\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8.16602 6.41663V9.91663\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n </div>\n <a *ngIf=\"config.description && config.description.trim() !== ''\" #viewDetailsTrigger href=\"#\" (click)=\"onViewDetails($event)\" class=\"cqa-text-[#3F43EE] cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-flex cqa-items-center cqa-gap-1 cqa-no-underline\">View Details<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.03809 6.74329L2.62809 7.33329L5.96142 3.99996L2.62809 0.666626L2.03809 1.25663L4.78142 3.99996L2.03809 6.74329Z\" fill=\"#3F43EE\"/></svg></a>\n <!-- Created Date (from API) - last so aligned across all steps, format: 25 Feb 2026 -->\n <span *ngIf=\"config.createdDate\" class=\"step-date cqa-text-[#6B7280] cqa-text-[12px] cqa-leading-[15px] cqa-ml-auto cqa-flex-shrink-0\">\n {{ config.createdDate | date:'d MMM yyyy' }}\n </span>\n </div>\n</div>\n", styles: [".step-actions{opacity:0;transition:opacity .15s ease}.step-row:hover .step-actions{opacity:1}.step-row{vertical-align:middle;letter-spacing:normal}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "date": i1.DatePipe } });
|
|
69
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TestCaseRestoreSessionStepComponent, decorators: [{
|
|
70
70
|
type: Component,
|
|
71
|
-
args: [{ selector: 'cqa-test-case-restore-session-step', host: { class: 'cqa-ui-root' }, styles: [STEP_ROW_ACTIONS_STYLES], template: "<div [class]=\"'step-row cqa-flex cqa-items-center cqa-gap-3 cqa-py-2 ' + (isInsideLoop && isInsideStepGroup ? 'cqa-pl-20 cqa-pr-4' : (isInsideLoop || isInsideStepGroup) ? 'cqa-pl-10 cqa-pr-4' : 'cqa-px-4')\" style=\"border-top: 1px solid #E5E7EB;\">\n <div class=\"cqa-inline-flex cqa-items-center\">\n <!-- Drag Handle Icon (when isReorder is true and not inside step group - steps inside step groups cannot be reordered) -->\n <div *ngIf=\"isReorder && !isInsideStepGroup\" class=\"cqa-mr-2 cqa-cursor-move cqa-text-[#6B7280] hover:cqa-text-[#111827]\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"3\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"3\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"3\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n </svg>\n </div>\n <!-- Checkbox (when isReorder is false and not inside step group - hide for steps inside step groups) -->\n <label *ngIf=\"editable && !isReorder && !isInsideStepGroup\" class=\"cqa-flex cqa-items-center cqa-cursor-pointer cqa-relative cqa-mr-2\">\n <input type=\"checkbox\"\n [ngModel]=\"selected\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"onSelectionChange($event)\"\n class=\"cqa-h-4 cqa-w-4 cqa-cursor-pointer cqa-transition-all cqa-appearance-none cqa-rounded shadow hover:cqa-shadow-md cqa-border cqa-border-solid cqa-border-slate-300 cqa-flex-shrink-0\"\n [class.cqa-bg-[#3F43EE]]=\"selected\"\n [class.cqa-border-[#3F43EE]]=\"selected\"\n id=\"check\" />\n <span class=\"cqa-absolute cqa-text-white cqa-top-1/2 cqa-left-1/2 cqa--translate-x-1/2 cqa--translate-y-1/2 cqa-pointer-events-none cqa-flex cqa-items-center cqa-justify-center\"\n [class.cqa-opacity-0]=\"!selected\"\n [class.cqa-opacity-100]=\"selected\">\n <svg width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10 3.125L4.5 8.625L2 6.125\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </span>\n </label>\n </div>\n <span class=\"cqa-text-[#6B7280] cqa-text-[14px] cqa-leading-[18px] cqa-min-w-[32px]\">{{ stepNumber }}</span>\n <span title=\"Restore Session\" class=\"cqa-w-8 cqa-h-8 cqa-rounded-lg cqa-flex cqa-items-center cqa-justify-center cqa-flex-shrink-0 cqa-bg-[#FFEDD5] cqa-text-[#EA580C]\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M1.75 7C1.75 8.03835 2.05791 9.05339 2.63478 9.91674C3.21166 10.7801 4.0316 11.453 4.99091 11.8504C5.95022 12.2477 7.00582 12.3517 8.02422 12.1491C9.04262 11.9466 9.97808 11.4465 10.7123 10.7123C11.4465 9.97808 11.9466 9.04262 12.1491 8.02422C12.3517 7.00582 12.2477 5.95022 11.8504 4.99091C11.453 4.0316 10.7801 3.21166 9.91674 2.63478C9.05339 2.05791 8.03835 1.75 7 1.75C5.53231 1.75552 4.12357 2.32821 3.06833 3.34833L1.75 4.66667\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M1.75 1.75V4.66667H4.66667\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </span>\n <span class=\"cqa-text-[#111827] cqa-text-[14px] cqa-leading-[18px]\" [innerHTML]=\"getRestoreSessionDescription()\"></span>\n <div class=\"cqa-flex-grow\"></div>\n <div class=\"cqa-flex cqa-items-center cqa-gap-2\">\n <div *ngIf=\"editable && !isInsideStepGroup && !isReorder\" class=\"step-actions cqa-flex cqa-items-center cqa-gap-1.5 cqa-pr-2\">\n <button type=\"button\" (click)=\"onEdit(); $event.stopPropagation()\" title=\"Edit\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 11.6666H12.25\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.55208 2.1128C9.7843 1.88058 10.0993 1.75012 10.4277 1.75012C10.7561 1.75012 11.071 1.88058 11.3033 2.1128C11.5355 2.34502 11.6659 2.65998 11.6659 2.98838C11.6659 3.31679 11.5355 3.63175 11.3033 3.86397L4.29742 10.8704C4.15864 11.0092 3.9871 11.1107 3.79867 11.1656L2.12333 11.6544C2.07314 11.669 2.01993 11.6699 1.96928 11.6569C1.91863 11.6439 1.8724 11.6176 1.83543 11.5806C1.79846 11.5437 1.7721 11.4974 1.75913 11.4468C1.74615 11.3961 1.74703 11.3429 1.76167 11.2927L2.2505 9.61738C2.30546 9.42916 2.40698 9.25783 2.54567 9.11922L9.55208 2.1128Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n <!-- <button type=\"button\" (click)=\"onLink(); $event.stopPropagation()\" title=\"Link\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.00065 9.91671H3.66732C2.78326 9.91671 1.93542 9.60942 1.3103 9.06244C0.685174 8.51545 0.333984 7.77359 0.333984 7.00004C0.333984 6.22649 0.685174 5.48463 1.3103 4.93765C1.93542 4.39066 2.78326 4.08337 3.66732 4.08337H5.00065\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 4.08337H10.3333C11.2174 4.08337 12.0652 4.39066 12.6904 4.93765C13.3155 5.48463 13.6667 6.22649 13.6667 7.00004C13.6667 7.77359 13.3155 8.51545 12.6904 9.06244C12.0652 9.60942 11.2174 9.91671 10.3333 9.91671H9\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.33398 7H9.66732\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button> -->\n <button type=\"button\" (click)=\"onDuplicate(); $event.stopPropagation()\" title=\"Duplicate\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.666 4.66663H5.83268C5.18835 4.66663 4.66602 5.18896 4.66602 5.83329V11.6666C4.66602 12.311 5.18835 12.8333 5.83268 12.8333H11.666C12.3103 12.8333 12.8327 12.311 12.8327 11.6666V5.83329C12.8327 5.18896 12.3103 4.66663 11.666 4.66663Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.33268 9.33329C1.69102 9.33329 1.16602 8.80829 1.16602 8.16663V2.33329C1.16602 1.69163 1.69102 1.16663 2.33268 1.16663H8.16602C8.80768 1.16663 9.33268 1.69163 9.33268 2.33329\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n <button type=\"button\" (click)=\"onDelete(); $event.stopPropagation()\" title=\"Delete\" class=\"cqa-p-0 cqa-text-[#ff6467] hover:cqa-text-[#C63535]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.75 3.5H12.25\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.0827 3.5V11.6667C11.0827 12.25 10.4993 12.8333 9.91602 12.8333H4.08268C3.49935 12.8333 2.91602 12.25 2.91602 11.6667V3.5\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.66602 3.49996V2.33329C4.66602 1.74996 5.24935 1.16663 5.83268 1.16663H8.16602C8.74935 1.16663 9.33268 1.74996 9.33268 2.33329V3.49996\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.83398 6.41663V9.91663\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8.16602 6.41663V9.91663\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n </div>\n <a *ngIf=\"config.description && config.description.trim() !== ''\" #viewDetailsTrigger href=\"#\" (click)=\"onViewDetails($event)\" class=\"cqa-text-[#3F43EE] cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-flex cqa-items-center cqa-gap-1 cqa-no-underline\">View Details<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.03809 6.74329L2.62809 7.33329L5.96142 3.99996L2.62809 0.666626L2.03809 1.25663L4.78142 3.99996L2.03809 6.74329Z\" fill=\"#3F43EE\"/></svg></a>\n <!-- Created Date (from API) - last so aligned across all steps, format: 25 Feb 2026 -->\n <span *ngIf=\"config.createdDate\" class=\"step-date cqa-text-[#6B7280] cqa-text-[12px] cqa-leading-[15px] cqa-ml-auto cqa-flex-shrink-0\">\n {{ config.createdDate | date:'d MMM yyyy' }}\n </span>\n </div>\n</div>\n" }]
|
|
71
|
+
args: [{ selector: 'cqa-test-case-restore-session-step', host: { class: 'cqa-ui-root' }, styles: [STEP_ROW_ACTIONS_STYLES], template: "<div [class]=\"'step-row cqa-flex cqa-items-center cqa-gap-3 cqa-py-2 ' + (isInsideLoop && isInsideStepGroup ? 'cqa-pl-20 cqa-pr-4' : (isInsideLoop || isInsideStepGroup) ? 'cqa-pl-10 cqa-pr-4' : 'cqa-px-4')\" style=\"border-top: 1px solid #E5E7EB;\">\n <div class=\"cqa-inline-flex cqa-items-center\">\n <!-- Drag Handle Icon (when isReorder is true and not inside step group - steps inside step groups cannot be reordered) -->\n <div *ngIf=\"isReorder && !isInsideStepGroup\" class=\"cqa-mr-2 cqa-cursor-move cqa-text-[#6B7280] hover:cqa-text-[#111827]\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"3\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"3\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"3\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n </svg>\n </div>\n <!-- Checkbox (when isReorder is false and not inside step group - hide for steps inside step groups) -->\n <label *ngIf=\"editable && !isReorder && !isInsideStepGroup\" class=\"cqa-flex cqa-items-center cqa-cursor-pointer cqa-relative cqa-mr-2\">\n <input type=\"checkbox\"\n [ngModel]=\"selected\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"onSelectionChange($event)\"\n class=\"cqa-h-4 cqa-w-4 cqa-cursor-pointer cqa-transition-all cqa-appearance-none cqa-rounded shadow hover:cqa-shadow-md cqa-border cqa-border-solid cqa-border-slate-300 cqa-flex-shrink-0\"\n [class.cqa-bg-[#3F43EE]]=\"selected\"\n [class.cqa-border-[#3F43EE]]=\"selected\"\n id=\"check\" />\n <span class=\"cqa-absolute cqa-text-white cqa-top-1/2 cqa-left-1/2 cqa--translate-x-1/2 cqa--translate-y-1/2 cqa-pointer-events-none cqa-flex cqa-items-center cqa-justify-center\"\n [class.cqa-opacity-0]=\"!selected\"\n [class.cqa-opacity-100]=\"selected\">\n <svg width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10 3.125L4.5 8.625L2 6.125\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </span>\n </label>\n </div>\n <span class=\"cqa-text-[#6B7280] cqa-text-[14px] cqa-leading-[18px] cqa-min-w-[32px]\">{{ stepNumber }}</span>\n <span title=\"Restore Session\" class=\"cqa-w-8 cqa-h-8 cqa-rounded-lg cqa-flex cqa-items-center cqa-justify-center cqa-flex-shrink-0 cqa-bg-[#FFEDD5] cqa-text-[#EA580C]\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M1.75 7C1.75 8.03835 2.05791 9.05339 2.63478 9.91674C3.21166 10.7801 4.0316 11.453 4.99091 11.8504C5.95022 12.2477 7.00582 12.3517 8.02422 12.1491C9.04262 11.9466 9.97808 11.4465 10.7123 10.7123C11.4465 9.97808 11.9466 9.04262 12.1491 8.02422C12.3517 7.00582 12.2477 5.95022 11.8504 4.99091C11.453 4.0316 10.7801 3.21166 9.91674 2.63478C9.05339 2.05791 8.03835 1.75 7 1.75C5.53231 1.75552 4.12357 2.32821 3.06833 3.34833L1.75 4.66667\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M1.75 1.75V4.66667H4.66667\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </span>\n <span class=\"cqa-text-[#111827] cqa-text-[14px] cqa-leading-[18px]\" [innerHTML]=\"getRestoreSessionDescription()\"></span>\n <div class=\"cqa-flex-grow\"></div>\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-self-center\">\n <div *ngIf=\"editable && !isInsideStepGroup && !isReorder\" class=\"step-actions cqa-flex cqa-items-center cqa-gap-1.5 cqa-pr-2\">\n <button type=\"button\" (click)=\"onEdit(); $event.stopPropagation()\" title=\"Edit\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 11.6666H12.25\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.55208 2.1128C9.7843 1.88058 10.0993 1.75012 10.4277 1.75012C10.7561 1.75012 11.071 1.88058 11.3033 2.1128C11.5355 2.34502 11.6659 2.65998 11.6659 2.98838C11.6659 3.31679 11.5355 3.63175 11.3033 3.86397L4.29742 10.8704C4.15864 11.0092 3.9871 11.1107 3.79867 11.1656L2.12333 11.6544C2.07314 11.669 2.01993 11.6699 1.96928 11.6569C1.91863 11.6439 1.8724 11.6176 1.83543 11.5806C1.79846 11.5437 1.7721 11.4974 1.75913 11.4468C1.74615 11.3961 1.74703 11.3429 1.76167 11.2927L2.2505 9.61738C2.30546 9.42916 2.40698 9.25783 2.54567 9.11922L9.55208 2.1128Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n <!-- <button type=\"button\" (click)=\"onLink(); $event.stopPropagation()\" title=\"Link\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.00065 9.91671H3.66732C2.78326 9.91671 1.93542 9.60942 1.3103 9.06244C0.685174 8.51545 0.333984 7.77359 0.333984 7.00004C0.333984 6.22649 0.685174 5.48463 1.3103 4.93765C1.93542 4.39066 2.78326 4.08337 3.66732 4.08337H5.00065\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 4.08337H10.3333C11.2174 4.08337 12.0652 4.39066 12.6904 4.93765C13.3155 5.48463 13.6667 6.22649 13.6667 7.00004C13.6667 7.77359 13.3155 8.51545 12.6904 9.06244C12.0652 9.60942 11.2174 9.91671 10.3333 9.91671H9\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.33398 7H9.66732\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button> -->\n <button type=\"button\" (click)=\"onDuplicate(); $event.stopPropagation()\" title=\"Duplicate\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.666 4.66663H5.83268C5.18835 4.66663 4.66602 5.18896 4.66602 5.83329V11.6666C4.66602 12.311 5.18835 12.8333 5.83268 12.8333H11.666C12.3103 12.8333 12.8327 12.311 12.8327 11.6666V5.83329C12.8327 5.18896 12.3103 4.66663 11.666 4.66663Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.33268 9.33329C1.69102 9.33329 1.16602 8.80829 1.16602 8.16663V2.33329C1.16602 1.69163 1.69102 1.16663 2.33268 1.16663H8.16602C8.80768 1.16663 9.33268 1.69163 9.33268 2.33329\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n <button type=\"button\" (click)=\"onDelete(); $event.stopPropagation()\" title=\"Delete\" class=\"cqa-p-0 cqa-text-[#ff6467] hover:cqa-text-[#C63535]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.75 3.5H12.25\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.0827 3.5V11.6667C11.0827 12.25 10.4993 12.8333 9.91602 12.8333H4.08268C3.49935 12.8333 2.91602 12.25 2.91602 11.6667V3.5\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.66602 3.49996V2.33329C4.66602 1.74996 5.24935 1.16663 5.83268 1.16663H8.16602C8.74935 1.16663 9.33268 1.74996 9.33268 2.33329V3.49996\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.83398 6.41663V9.91663\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8.16602 6.41663V9.91663\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n </div>\n <a *ngIf=\"config.description && config.description.trim() !== ''\" #viewDetailsTrigger href=\"#\" (click)=\"onViewDetails($event)\" class=\"cqa-text-[#3F43EE] cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-flex cqa-items-center cqa-gap-1 cqa-no-underline\">View Details<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.03809 6.74329L2.62809 7.33329L5.96142 3.99996L2.62809 0.666626L2.03809 1.25663L4.78142 3.99996L2.03809 6.74329Z\" fill=\"#3F43EE\"/></svg></a>\n <!-- Created Date (from API) - last so aligned across all steps, format: 25 Feb 2026 -->\n <span *ngIf=\"config.createdDate\" class=\"step-date cqa-text-[#6B7280] cqa-text-[12px] cqa-leading-[15px] cqa-ml-auto cqa-flex-shrink-0\">\n {{ config.createdDate | date:'d MMM yyyy' }}\n </span>\n </div>\n</div>\n" }]
|
|
72
72
|
}], ctorParameters: function () { return []; }, propDecorators: { config: [{
|
|
73
73
|
type: Input
|
|
74
74
|
}], stepNumber: [{
|
|
@@ -111,4 +111,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
111
111
|
}], selectionChange: [{
|
|
112
112
|
type: Output
|
|
113
113
|
}] } });
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdG9yZS1zZXNzaW9uLXN0ZXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi90ZXN0LWNhc2UtZGV0YWlscy9yZXN0b3JlLXNlc3Npb24tc3RlcC9yZXN0b3JlLXNlc3Npb24tc3RlcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3Rlc3QtY2FzZS1kZXRhaWxzL3Jlc3RvcmUtc2Vzc2lvbi1zdGVwL3Jlc3RvcmUtc2Vzc2lvbi1zdGVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBRXRHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBU3JFLE1BQU0sT0FBTyxtQ0FBbUM7SUF3QjlDO1FBbkJTLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFJeEIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBK0MsQ0FBQztRQUM5RSxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNoQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNyQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNsQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkMsZ0JBQVcsR0FBRyxJQUFJLFlBQVks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QztvSEFBbkMsbUNBQW1DLHdzQkNYaEQsZ2dTQXdEQTsyRkQ3Q2EsbUNBQW1DO2tCQU4vQyxTQUFTOytCQUNFLG9DQUFvQyxRQUV4QyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsVUFDdEIsQ0FBQyx1QkFBdUIsQ0FBQzswRUFHeEIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRThDLGtCQUFrQjtzQkFBckUsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRXhDLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzdG9yZVNlc3Npb25TdGVwQ29uZmlnLCBUZXN0Q2FzZVN0ZXBDb25maWcgfSBmcm9tICcuLi90ZXN0LWNhc2Utc3RlcC5tb2RlbHMnO1xuaW1wb3J0IHsgU1RFUF9ST1dfQUNUSU9OU19TVFlMRVMgfSBmcm9tICcuLi9zdGVwLXJvdy1hY3Rpb25zLnN0eWxlcyc7XG5pbXBvcnQgeyBWaWV3RGV0YWlsc1BheWxvYWQgfSBmcm9tICcuLi9zdGVwLWRldGFpbHMtbW9kYWwvc3RlcC1kZXRhaWxzLW1vZGFsLWRhdGEnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtdGVzdC1jYXNlLXJlc3RvcmUtc2Vzc2lvbi1zdGVwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc3RvcmUtc2Vzc2lvbi1zdGVwLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDogeyBjbGFzczogJ2NxYS11aS1yb290JyB9LFxuICBzdHlsZXM6IFtTVEVQX1JPV19BQ1RJT05TX1NUWUxFU10sXG59KVxuZXhwb3J0IGNsYXNzIFRlc3RDYXNlUmVzdG9yZVNlc3Npb25TdGVwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgY29uZmlnITogUmVzdG9yZVNlc3Npb25TdGVwQ29uZmlnO1xuICBASW5wdXQoKSBzdGVwTnVtYmVyITogbnVtYmVyIHwgc3RyaW5nO1xuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcbiAgQElucHV0KCkgYWN0aW9uPzogc3RyaW5nO1xuICBASW5wdXQoKSBzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBpc05lc3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBpc0luc2lkZVN0ZXBHcm91cDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBpc0luc2lkZUxvb3A6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaXNSZW9yZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVkaXRhYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICBAVmlld0NoaWxkKCd2aWV3RGV0YWlsc1RyaWdnZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgdmlld0RldGFpbHNUcmlnZ2VyPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQE91dHB1dCgpIGVkaXQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBlZGl0SW5EZXB0aCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBzdGVwOiBUZXN0Q2FzZVN0ZXBDb25maWc7IGluZGV4OiBudW1iZXIgfT4oKTtcbiAgQE91dHB1dCgpIGxpbmsgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBkdXBsaWNhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBkZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBtb3JlT3B0aW9ucyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHZpZXdEZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcjxWaWV3RGV0YWlsc1BheWxvYWQ+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbmZpZykge1xuICAgICAgdGhpcy5zdGVwTnVtYmVyID0gdGhpcy5jb25maWcuc3RlcE51bWJlcjtcbiAgICAgIHRoaXMuYWN0aW9uID0gdGhpcy5jb25maWcuYWN0aW9uO1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuY29uZmlnLnNlbGVjdGVkIHx8IGZhbHNlO1xuICAgICAgdGhpcy5kaXNhYmxlZCA9IHRoaXMuY29uZmlnLmRpc2FibGVkIHx8IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGdldFJlc3RvcmVTZXNzaW9uRGVzY3JpcHRpb24oKTogc3RyaW5nIHtcbiAgICAvLyBSZXR1cm4gdGhlIGFjdGlvbiBjb250ZW50LCB3aGljaCBtYXkgY29udGFpbiBIVE1MXG4gICAgaWYgKHRoaXMuYWN0aW9uKSB7XG4gICAgICByZXR1cm4gdGhpcy5hY3Rpb247XG4gICAgfVxuICAgIC8vIEZhbGxiYWNrOiBpZiBubyBhY3Rpb24gaXMgcHJvdmlkZWRcbiAgICByZXR1cm4gJ1Jlc3RvcmUgU2Vzc2lvbic7XG4gIH1cblxuICBvbkVkaXQoKTogdm9pZCB7XG4gICAgY29uc3QgaWR4ID0gdHlwZW9mIHRoaXMuaW5kZXggPT09ICdudW1iZXInID8gdGhpcy5pbmRleCA6ICh0eXBlb2YgdGhpcy5zdGVwTnVtYmVyID09PSAnbnVtYmVyJyA/IHRoaXMuc3RlcE51bWJlciAtIDEgOiAodHlwZW9mIHRoaXMuc3RlcE51bWJlciA9PT0gJ3N0cmluZycgPyBwYXJzZUludCh0aGlzLnN0ZXBOdW1iZXIsIDEwKSAtIDEgOiAwKSk7XG4gICAgdGhpcy5lZGl0SW5EZXB0aC5lbWl0KHsgc3RlcDogdGhpcy5jb25maWcgYXMgVGVzdENhc2VTdGVwQ29uZmlnLCBpbmRleDogaXNOYU4oaWR4IGFzIG51bWJlcikgPyAwIDogKGlkeCBhcyBudW1iZXIpIH0pO1xuICAgIHRoaXMuZWRpdC5lbWl0KCk7XG4gIH1cbiAgb25MaW5rKCk6IHZvaWQgeyB0aGlzLmxpbmsuZW1pdCgpOyB9XG4gIG9uRHVwbGljYXRlKCk6IHZvaWQgeyB0aGlzLmR1cGxpY2F0ZS5lbWl0KCk7IH1cbiAgb25EZWxldGUoKTogdm9pZCB7IHRoaXMuZGVsZXRlLmVtaXQoKTsgfVxuICBvbk1vcmVPcHRpb25zKCk6IHZvaWQgeyB0aGlzLm1vcmVPcHRpb25zLmVtaXQoKTsgfVxuICBvblZpZXdEZXRhaWxzKGV2ZW50PzogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgICBcbiAgICBpZiAoIXRoaXMuY29uZmlnLmRlc2NyaXB0aW9uIHx8IHRoaXMuY29uZmlnLmRlc2NyaXB0aW9uLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIHRoaXMudmlld0RldGFpbHMuZW1pdCh7XG4gICAgICAgIGV2ZW50LFxuICAgICAgICB0aXRsZTogJ1Jlc3RvcmUgU2Vzc2lvbiBTdGVwIERldGFpbHMnLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5jb25maWcuZGVzY3JpcHRpb24sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgb25TZWxlY3Rpb25DaGFuZ2UoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQgeyB0aGlzLnNlbGVjdGVkID0gY2hlY2tlZDsgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChjaGVja2VkKTsgfVxufVxuIiwiPGRpdiBbY2xhc3NdPVwiJ3N0ZXAtcm93IGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0zIGNxYS1weS0yICcgKyAoaXNJbnNpZGVMb29wICYmIGlzSW5zaWRlU3RlcEdyb3VwID8gJ2NxYS1wbC0yMCBjcWEtcHItNCcgOiAoaXNJbnNpZGVMb29wIHx8IGlzSW5zaWRlU3RlcEdyb3VwKSA/ICdjcWEtcGwtMTAgY3FhLXByLTQnIDogJ2NxYS1weC00JylcIiBzdHlsZT1cImJvcmRlci10b3A6IDFweCBzb2xpZCAjRTVFN0VCO1wiPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWlubGluZS1mbGV4IGNxYS1pdGVtcy1jZW50ZXJcIj5cbiAgICA8IS0tIERyYWcgSGFuZGxlIEljb24gKHdoZW4gaXNSZW9yZGVyIGlzIHRydWUgYW5kIG5vdCBpbnNpZGUgc3RlcCBncm91cCAtIHN0ZXBzIGluc2lkZSBzdGVwIGdyb3VwcyBjYW5ub3QgYmUgcmVvcmRlcmVkKSAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiaXNSZW9yZGVyICYmICFpc0luc2lkZVN0ZXBHcm91cFwiIGNsYXNzPVwiY3FhLW1yLTIgY3FhLWN1cnNvci1tb3ZlIGNxYS10ZXh0LVsjNkI3MjgwXSBob3ZlcjpjcWEtdGV4dC1bIzExMTgyN11cIj5cbiAgICAgIDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICA8Y2lyY2xlIGN4PVwiM1wiIGN5PVwiM1wiIHI9XCIxLjVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxuICAgICAgICA8Y2lyY2xlIGN4PVwiOFwiIGN5PVwiM1wiIHI9XCIxLjVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxuICAgICAgICA8Y2lyY2xlIGN4PVwiMTNcIiBjeT1cIjNcIiByPVwiMS41XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjNcIiBjeT1cIjhcIiByPVwiMS41XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjhcIiBjeT1cIjhcIiByPVwiMS41XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjEzXCIgY3k9XCI4XCIgcj1cIjEuNVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XG4gICAgICAgIDxjaXJjbGUgY3g9XCIzXCIgY3k9XCIxM1wiIHI9XCIxLjVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxuICAgICAgICA8Y2lyY2xlIGN4PVwiOFwiIGN5PVwiMTNcIiByPVwiMS41XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjEzXCIgY3k9XCIxM1wiIHI9XCIxLjVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBDaGVja2JveCAod2hlbiBpc1Jlb3JkZXIgaXMgZmFsc2UgYW5kIG5vdCBpbnNpZGUgc3RlcCBncm91cCAtIGhpZGUgZm9yIHN0ZXBzIGluc2lkZSBzdGVwIGdyb3VwcykgLS0+XG4gICAgPGxhYmVsICpuZ0lmPVwiZWRpdGFibGUgJiYgIWlzUmVvcmRlciAmJiAhaXNJbnNpZGVTdGVwR3JvdXBcIiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWN1cnNvci1wb2ludGVyIGNxYS1yZWxhdGl2ZSBjcWEtbXItMlwiPlxuICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIFtuZ01vZGVsXT1cInNlbGVjdGVkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIGNsYXNzPVwiY3FhLWgtNCBjcWEtdy00IGNxYS1jdXJzb3ItcG9pbnRlciBjcWEtdHJhbnNpdGlvbi1hbGwgY3FhLWFwcGVhcmFuY2Utbm9uZSBjcWEtcm91bmRlZCBzaGFkb3cgaG92ZXI6Y3FhLXNoYWRvdy1tZCBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1zbGF0ZS0zMDAgY3FhLWZsZXgtc2hyaW5rLTBcIlxuICAgICAgICBbY2xhc3MuY3FhLWJnLVsjM0Y0M0VFXV09XCJzZWxlY3RlZFwiXG4gICAgICAgIFtjbGFzcy5jcWEtYm9yZGVyLVsjM0Y0M0VFXV09XCJzZWxlY3RlZFwiXG4gICAgICAgIGlkPVwiY2hlY2tcIiAvPlxuICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtYWJzb2x1dGUgY3FhLXRleHQtd2hpdGUgY3FhLXRvcC0xLzIgY3FhLWxlZnQtMS8yIGNxYS0tdHJhbnNsYXRlLXgtMS8yIGNxYS0tdHJhbnNsYXRlLXktMS8yIGNxYS1wb2ludGVyLWV2ZW50cy1ub25lIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgW2NsYXNzLmNxYS1vcGFjaXR5LTBdPVwiIXNlbGVjdGVkXCJcbiAgICAgICAgW2NsYXNzLmNxYS1vcGFjaXR5LTEwMF09XCJzZWxlY3RlZFwiPlxuICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTIgMTNcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTEwIDMuMTI1TDQuNSA4LjYyNUwyIDYuMTI1XCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+XG4gICAgICA8L3NwYW4+XG4gICAgPC9sYWJlbD5cbiAgPC9kaXY+XG4gIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWyM2QjcyODBdIGNxYS10ZXh0LVsxNHB4XSBjcWEtbGVhZGluZy1bMThweF0gY3FhLW1pbi13LVszMnB4XVwiPnt7IHN0ZXBOdW1iZXIgfX08L3NwYW4+XG4gIDxzcGFuIHRpdGxlPVwiUmVzdG9yZSBTZXNzaW9uXCIgY2xhc3M9XCJjcWEtdy04IGNxYS1oLTggY3FhLXJvdW5kZWQtbGcgY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLWZsZXgtc2hyaW5rLTAgY3FhLWJnLVsjRkZFREQ1XSBjcWEtdGV4dC1bI0VBNTgwQ11cIj5cbiAgICA8c3ZnIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTQgMTRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgIDxwYXRoIGQ9XCJNMS43NSA3QzEuNzUgOC4wMzgzNSAyLjA1NzkxIDkuMDUzMzkgMi42MzQ3OCA5LjkxNjc0QzMuMjExNjYgMTAuNzgwMSA0LjAzMTYgMTEuNDUzIDQuOTkwOTEgMTEuODUwNEM1Ljk1MDIyIDEyLjI0NzcgNy4wMDU4MiAxMi4zNTE3IDguMDI0MjIgMTIuMTQ5MUM5LjA0MjYyIDExLjk0NjYgOS45NzgwOCAxMS40NDY1IDEwLjcxMjMgMTAuNzEyM0MxMS40NDY1IDkuOTc4MDggMTEuOTQ2NiA5LjA0MjYyIDEyLjE0OTEgOC4wMjQyMkMxMi4zNTE3IDcuMDA1ODIgMTIuMjQ3NyA1Ljk1MDIyIDExLjg1MDQgNC45OTA5MUMxMS40NTMgNC4wMzE2IDEwLjc4MDEgMy4yMTE2NiA5LjkxNjc0IDIuNjM0NzhDOS4wNTMzOSAyLjA1NzkxIDguMDM4MzUgMS43NSA3IDEuNzVDNS41MzIzMSAxLjc1NTUyIDQuMTIzNTcgMi4zMjgyMSAzLjA2ODMzIDMuMzQ4MzNMMS43NSA0LjY2NjY3XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgIDxwYXRoIGQ9XCJNMS43NSAxLjc1VjQuNjY2NjdINC42NjY2N1wiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG4gICAgPC9zdmc+XG4gIDwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bIzExMTgyN10gY3FhLXRleHQtWzE0cHhdIGNxYS1sZWFkaW5nLVsxOHB4XVwiIFtpbm5lckhUTUxdPVwiZ2V0UmVzdG9yZVNlc3Npb25EZXNjcmlwdGlvbigpXCI+PC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXgtZ3Jvd1wiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTJcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiZWRpdGFibGUgJiYgIWlzSW5zaWRlU3RlcEdyb3VwICYmICFpc1Jlb3JkZXJcIiBjbGFzcz1cInN0ZXAtYWN0aW9ucyBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMS41IGNxYS1wci0yXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uRWRpdCgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiB0aXRsZT1cIkVkaXRcIiBjbGFzcz1cImNxYS1wLTAgY3FhLXRleHQtWyM5OUExQWZdIGhvdmVyOmNxYS10ZXh0LVsjMTQ0N0U2XVwiPjxzdmcgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxNCAxNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNNyAxMS42NjY2SDEyLjI1XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTkuNTUyMDggMi4xMTI4QzkuNzg0MyAxLjg4MDU4IDEwLjA5OTMgMS43NTAxMiAxMC40Mjc3IDEuNzUwMTJDMTAuNzU2MSAxLjc1MDEyIDExLjA3MSAxLjg4MDU4IDExLjMwMzMgMi4xMTI4QzExLjUzNTUgMi4zNDUwMiAxMS42NjU5IDIuNjU5OTggMTEuNjY1OSAyLjk4ODM4QzExLjY2NTkgMy4zMTY3OSAxMS41MzU1IDMuNjMxNzUgMTEuMzAzMyAzLjg2Mzk3TDQuMjk3NDIgMTAuODcwNEM0LjE1ODY0IDExLjAwOTIgMy45ODcxIDExLjExMDcgMy43OTg2NyAxMS4xNjU2TDIuMTIzMzMgMTEuNjU0NEMyLjA3MzE0IDExLjY2OSAyLjAxOTkzIDExLjY2OTkgMS45NjkyOCAxMS42NTY5QzEuOTE4NjMgMTEuNjQzOSAxLjg3MjQgMTEuNjE3NiAxLjgzNTQzIDExLjU4MDZDMS43OTg0NiAxMS41NDM3IDEuNzcyMSAxMS40OTc0IDEuNzU5MTMgMTEuNDQ2OEMxLjc0NjE1IDExLjM5NjEgMS43NDcwMyAxMS4zNDI5IDEuNzYxNjcgMTEuMjkyN0wyLjI1MDUgOS42MTczOEMyLjMwNTQ2IDkuNDI5MTYgMi40MDY5OCA5LjI1NzgzIDIuNTQ1NjcgOS4xMTkyMkw5LjU1MjA4IDIuMTEyOFpcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPjwvYnV0dG9uPlxuICAgIDwhLS0gPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uTGluaygpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiB0aXRsZT1cIkxpbmtcIiBjbGFzcz1cImNxYS1wLTAgY3FhLXRleHQtWyM5OUExQWZdIGhvdmVyOmNxYS10ZXh0LVsjMTQ0N0U2XVwiPjxzdmcgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxNCAxNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNNS4wMDA2NSA5LjkxNjcxSDMuNjY3MzJDMi43ODMyNiA5LjkxNjcxIDEuOTM1NDIgOS42MDk0MiAxLjMxMDMgOS4wNjI0NEMwLjY4NTE3NCA4LjUxNTQ1IDAuMzMzOTg0IDcuNzczNTkgMC4zMzM5ODQgNy4wMDAwNEMwLjMzMzk4NCA2LjIyNjQ5IDAuNjg1MTc0IDUuNDg0NjMgMS4zMTAzIDQuOTM3NjVDMS45MzU0MiA0LjM5MDY2IDIuNzgzMjYgNC4wODMzNyAzLjY2NzMyIDQuMDgzMzdINS4wMDA2NVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk05IDQuMDgzMzdIMTAuMzMzM0MxMS4yMTc0IDQuMDgzMzcgMTIuMDY1MiA0LjM5MDY2IDEyLjY5MDQgNC45Mzc2NUMxMy4zMTU1IDUuNDg0NjMgMTMuNjY2NyA2LjIyNjQ5IDEzLjY2NjcgNy4wMDAwNEMxMy42NjY3IDcuNzczNTkgMTMuMzE1NSA4LjUxNTQ1IDEyLjY5MDQgOS4wNjI0NEMxMi4wNjUyIDkuNjA5NDIgMTEuMjE3NCA5LjkxNjcxIDEwLjMzMzMgOS45MTY3MUg5XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTQuMzMzOTggN0g5LjY2NzMyXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz48L2J1dHRvbj4gLS0+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uRHVwbGljYXRlKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIHRpdGxlPVwiRHVwbGljYXRlXCIgY2xhc3M9XCJjcWEtcC0wIGNxYS10ZXh0LVsjOTlBMUFmXSBob3ZlcjpjcWEtdGV4dC1bIzE0NDdFNl1cIj48c3ZnIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTQgMTRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTExLjY2NiA0LjY2NjYzSDUuODMyNjhDNS4xODgzNSA0LjY2NjYzIDQuNjY2MDIgNS4xODg5NiA0LjY2NjAyIDUuODMzMjlWMTEuNjY2NkM0LjY2NjAyIDEyLjMxMSA1LjE4ODM1IDEyLjgzMzMgNS44MzI2OCAxMi44MzMzSDExLjY2NkMxMi4zMTAzIDEyLjgzMzMgMTIuODMyNyAxMi4zMTEgMTIuODMyNyAxMS42NjY2VjUuODMzMjlDMTIuODMyNyA1LjE4ODk2IDEyLjMxMDMgNC42NjY2MyAxMS42NjYgNC42NjY2M1pcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNMi4zMzI2OCA5LjMzMzI5QzEuNjkxMDIgOS4zMzMyOSAxLjE2NjAyIDguODA4MjkgMS4xNjYwMiA4LjE2NjYzVjIuMzMzMjlDMS4xNjYwMiAxLjY5MTYzIDEuNjkxMDIgMS4xNjY2MyAyLjMzMjY4IDEuMTY2NjNIOC4xNjYwMkM4LjgwNzY4IDEuMTY2NjMgOS4zMzI2OCAxLjY5MTYzIDkuMzMyNjggMi4zMzMyOVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+PC9idXR0b24+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uRGVsZXRlKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIHRpdGxlPVwiRGVsZXRlXCIgY2xhc3M9XCJjcWEtcC0wIGNxYS10ZXh0LVsjZmY2NDY3XSBob3ZlcjpjcWEtdGV4dC1bI0M2MzUzNV1cIj48c3ZnIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTQgMTRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTEuNzUgMy41SDEyLjI1XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTExLjA4MjcgMy41VjExLjY2NjdDMTEuMDgyNyAxMi4yNSAxMC40OTkzIDEyLjgzMzMgOS45MTYwMiAxMi44MzMzSDQuMDgyNjhDMy40OTkzNSAxMi44MzMzIDIuOTE2MDIgMTIuMjUgMi45MTYwMiAxMS42NjY3VjMuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk00LjY2NjAyIDMuNDk5OTZWMi4zMzMyOUM0LjY2NjAyIDEuNzQ5OTYgNS4yNDkzNSAxLjE2NjYzIDUuODMyNjggMS4xNjY2M0g4LjE2NjAyQzguNzQ5MzUgMS4xNjY2MyA5LjMzMjY4IDEuNzQ5OTYgOS4zMzI2OCAyLjMzMzI5VjMuNDk5OTZcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNNS44MzM5OCA2LjQxNjYzVjkuOTE2NjNcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNOC4xNjYwMiA2LjQxNjYzVjkuOTE2NjNcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxhICpuZ0lmPVwiY29uZmlnLmRlc2NyaXB0aW9uICYmIGNvbmZpZy5kZXNjcmlwdGlvbi50cmltKCkgIT09ICcnXCIgI3ZpZXdEZXRhaWxzVHJpZ2dlciBocmVmPVwiI1wiIChjbGljayk9XCJvblZpZXdEZXRhaWxzKCRldmVudClcIiBjbGFzcz1cImNxYS10ZXh0LVsjM0Y0M0VFXSBjcWEtdGV4dC1bMTBweF0gY3FhLWxlYWRpbmctWzE1cHhdIGNxYS1mb250LW1lZGl1bSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMSBjcWEtbm8tdW5kZXJsaW5lXCI+VmlldyBEZXRhaWxzPHN2ZyB3aWR0aD1cIjhcIiBoZWlnaHQ9XCI4XCIgdmlld0JveD1cIjAgMCA4IDhcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTIuMDM4MDkgNi43NDMyOUwyLjYyODA5IDcuMzMzMjlMNS45NjE0MiAzLjk5OTk2TDIuNjI4MDkgMC42NjY2MjZMMi4wMzgwOSAxLjI1NjYzTDQuNzgxNDIgMy45OTk5NkwyLjAzODA5IDYuNzQzMjlaXCIgZmlsbD1cIiMzRjQzRUVcIi8+PC9zdmc+PC9hPlxuICAgIDwhLS0gQ3JlYXRlZCBEYXRlIChmcm9tIEFQSSkgLSBsYXN0IHNvIGFsaWduZWQgYWNyb3NzIGFsbCBzdGVwcywgZm9ybWF0OiAyNSBGZWIgMjAyNiAtLT5cbiAgICA8c3BhbiAqbmdJZj1cImNvbmZpZy5jcmVhdGVkRGF0ZVwiIGNsYXNzPVwic3RlcC1kYXRlIGNxYS10ZXh0LVsjNkI3MjgwXSBjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctWzE1cHhdIGNxYS1tbC1hdXRvIGNxYS1mbGV4LXNocmluay0wXCI+XG4gICAgICB7eyBjb25maWcuY3JlYXRlZERhdGUgfCBkYXRlOidkIE1NTSB5eXl5JyB9fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdG9yZS1zZXNzaW9uLXN0ZXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi90ZXN0LWNhc2UtZGV0YWlscy9yZXN0b3JlLXNlc3Npb24tc3RlcC9yZXN0b3JlLXNlc3Npb24tc3RlcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3Rlc3QtY2FzZS1kZXRhaWxzL3Jlc3RvcmUtc2Vzc2lvbi1zdGVwL3Jlc3RvcmUtc2Vzc2lvbi1zdGVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBRXRHLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBU3JFLE1BQU0sT0FBTyxtQ0FBbUM7SUF3QjlDO1FBbkJTLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLHNCQUFpQixHQUFZLEtBQUssQ0FBQztRQUNuQyxpQkFBWSxHQUFZLEtBQUssQ0FBQztRQUM5QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFJeEIsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDaEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBK0MsQ0FBQztRQUM5RSxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNoQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNyQyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUNsQyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDdkMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztRQUNyRCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUFFekMsQ0FBQztJQUVoQixRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUN6QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDO1lBQzlDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQztJQUVELDRCQUE0QjtRQUMxQixvREFBb0Q7UUFDcEQsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3BCO1FBQ0QscUNBQXFDO1FBQ3JDLE9BQU8saUJBQWlCLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU07UUFDSixNQUFNLEdBQUcsR0FBRyxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0TSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsTUFBNEIsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLEdBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFFLEdBQWMsRUFBRSxDQUFDLENBQUM7UUFDdEgsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxLQUFXLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3BDLFdBQVcsS0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM5QyxRQUFRLEtBQVcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDeEMsYUFBYSxLQUFXLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xELGFBQWEsQ0FBQyxLQUFrQjtRQUM5QixJQUFJLEtBQUssRUFBRTtZQUNULEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7U0FDekI7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO1lBQ3JFLE9BQU87U0FDUjtRQUVELElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7Z0JBQ3BCLEtBQUs7Z0JBQ0wsS0FBSyxFQUFFLDhCQUE4QjtnQkFDckMsV0FBVyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVzthQUNyQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFDRCxpQkFBaUIsQ0FBQyxPQUFnQixJQUFVLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDOztnSUF2RS9GLG1DQUFtQztvSEFBbkMsbUNBQW1DLHdzQkNYaEQsZ2hTQXdEQTsyRkQ3Q2EsbUNBQW1DO2tCQU4vQyxTQUFTOytCQUNFLG9DQUFvQyxRQUV4QyxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsVUFDdEIsQ0FBQyx1QkFBdUIsQ0FBQzswRUFHeEIsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRThDLGtCQUFrQjtzQkFBckUsU0FBUzt1QkFBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRXhDLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVzdG9yZVNlc3Npb25TdGVwQ29uZmlnLCBUZXN0Q2FzZVN0ZXBDb25maWcgfSBmcm9tICcuLi90ZXN0LWNhc2Utc3RlcC5tb2RlbHMnO1xuaW1wb3J0IHsgU1RFUF9ST1dfQUNUSU9OU19TVFlMRVMgfSBmcm9tICcuLi9zdGVwLXJvdy1hY3Rpb25zLnN0eWxlcyc7XG5pbXBvcnQgeyBWaWV3RGV0YWlsc1BheWxvYWQgfSBmcm9tICcuLi9zdGVwLWRldGFpbHMtbW9kYWwvc3RlcC1kZXRhaWxzLW1vZGFsLWRhdGEnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtdGVzdC1jYXNlLXJlc3RvcmUtc2Vzc2lvbi1zdGVwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Jlc3RvcmUtc2Vzc2lvbi1zdGVwLmNvbXBvbmVudC5odG1sJyxcbiAgaG9zdDogeyBjbGFzczogJ2NxYS11aS1yb290JyB9LFxuICBzdHlsZXM6IFtTVEVQX1JPV19BQ1RJT05TX1NUWUxFU10sXG59KVxuZXhwb3J0IGNsYXNzIFRlc3RDYXNlUmVzdG9yZVNlc3Npb25TdGVwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgY29uZmlnITogUmVzdG9yZVNlc3Npb25TdGVwQ29uZmlnO1xuICBASW5wdXQoKSBzdGVwTnVtYmVyITogbnVtYmVyIHwgc3RyaW5nO1xuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcbiAgQElucHV0KCkgYWN0aW9uPzogc3RyaW5nO1xuICBASW5wdXQoKSBzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBpc05lc3RlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBpc0luc2lkZVN0ZXBHcm91cDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBpc0luc2lkZUxvb3A6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgaXNSZW9yZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGVkaXRhYmxlOiBib29sZWFuID0gdHJ1ZTtcblxuICBAVmlld0NoaWxkKCd2aWV3RGV0YWlsc1RyaWdnZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgdmlld0RldGFpbHNUcmlnZ2VyPzogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG5cbiAgQE91dHB1dCgpIGVkaXQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBlZGl0SW5EZXB0aCA9IG5ldyBFdmVudEVtaXR0ZXI8eyBzdGVwOiBUZXN0Q2FzZVN0ZXBDb25maWc7IGluZGV4OiBudW1iZXIgfT4oKTtcbiAgQE91dHB1dCgpIGxpbmsgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBkdXBsaWNhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBkZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBtb3JlT3B0aW9ucyA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIHZpZXdEZXRhaWxzID0gbmV3IEV2ZW50RW1pdHRlcjxWaWV3RGV0YWlsc1BheWxvYWQ+KCk7XG4gIEBPdXRwdXQoKSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbmZpZykge1xuICAgICAgdGhpcy5zdGVwTnVtYmVyID0gdGhpcy5jb25maWcuc3RlcE51bWJlcjtcbiAgICAgIHRoaXMuYWN0aW9uID0gdGhpcy5jb25maWcuYWN0aW9uO1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IHRoaXMuY29uZmlnLnNlbGVjdGVkIHx8IGZhbHNlO1xuICAgICAgdGhpcy5kaXNhYmxlZCA9IHRoaXMuY29uZmlnLmRpc2FibGVkIHx8IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGdldFJlc3RvcmVTZXNzaW9uRGVzY3JpcHRpb24oKTogc3RyaW5nIHtcbiAgICAvLyBSZXR1cm4gdGhlIGFjdGlvbiBjb250ZW50LCB3aGljaCBtYXkgY29udGFpbiBIVE1MXG4gICAgaWYgKHRoaXMuYWN0aW9uKSB7XG4gICAgICByZXR1cm4gdGhpcy5hY3Rpb247XG4gICAgfVxuICAgIC8vIEZhbGxiYWNrOiBpZiBubyBhY3Rpb24gaXMgcHJvdmlkZWRcbiAgICByZXR1cm4gJ1Jlc3RvcmUgU2Vzc2lvbic7XG4gIH1cblxuICBvbkVkaXQoKTogdm9pZCB7XG4gICAgY29uc3QgaWR4ID0gdHlwZW9mIHRoaXMuaW5kZXggPT09ICdudW1iZXInID8gdGhpcy5pbmRleCA6ICh0eXBlb2YgdGhpcy5zdGVwTnVtYmVyID09PSAnbnVtYmVyJyA/IHRoaXMuc3RlcE51bWJlciAtIDEgOiAodHlwZW9mIHRoaXMuc3RlcE51bWJlciA9PT0gJ3N0cmluZycgPyBwYXJzZUludCh0aGlzLnN0ZXBOdW1iZXIsIDEwKSAtIDEgOiAwKSk7XG4gICAgdGhpcy5lZGl0SW5EZXB0aC5lbWl0KHsgc3RlcDogdGhpcy5jb25maWcgYXMgVGVzdENhc2VTdGVwQ29uZmlnLCBpbmRleDogaXNOYU4oaWR4IGFzIG51bWJlcikgPyAwIDogKGlkeCBhcyBudW1iZXIpIH0pO1xuICAgIHRoaXMuZWRpdC5lbWl0KCk7XG4gIH1cbiAgb25MaW5rKCk6IHZvaWQgeyB0aGlzLmxpbmsuZW1pdCgpOyB9XG4gIG9uRHVwbGljYXRlKCk6IHZvaWQgeyB0aGlzLmR1cGxpY2F0ZS5lbWl0KCk7IH1cbiAgb25EZWxldGUoKTogdm9pZCB7IHRoaXMuZGVsZXRlLmVtaXQoKTsgfVxuICBvbk1vcmVPcHRpb25zKCk6IHZvaWQgeyB0aGlzLm1vcmVPcHRpb25zLmVtaXQoKTsgfVxuICBvblZpZXdEZXRhaWxzKGV2ZW50PzogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgICBcbiAgICBpZiAoIXRoaXMuY29uZmlnLmRlc2NyaXB0aW9uIHx8IHRoaXMuY29uZmlnLmRlc2NyaXB0aW9uLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIHRoaXMudmlld0RldGFpbHMuZW1pdCh7XG4gICAgICAgIGV2ZW50LFxuICAgICAgICB0aXRsZTogJ1Jlc3RvcmUgU2Vzc2lvbiBTdGVwIERldGFpbHMnLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5jb25maWcuZGVzY3JpcHRpb24sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgb25TZWxlY3Rpb25DaGFuZ2UoY2hlY2tlZDogYm9vbGVhbik6IHZvaWQgeyB0aGlzLnNlbGVjdGVkID0gY2hlY2tlZDsgdGhpcy5zZWxlY3Rpb25DaGFuZ2UuZW1pdChjaGVja2VkKTsgfVxufVxuIiwiPGRpdiBbY2xhc3NdPVwiJ3N0ZXAtcm93IGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0zIGNxYS1weS0yICcgKyAoaXNJbnNpZGVMb29wICYmIGlzSW5zaWRlU3RlcEdyb3VwID8gJ2NxYS1wbC0yMCBjcWEtcHItNCcgOiAoaXNJbnNpZGVMb29wIHx8IGlzSW5zaWRlU3RlcEdyb3VwKSA/ICdjcWEtcGwtMTAgY3FhLXByLTQnIDogJ2NxYS1weC00JylcIiBzdHlsZT1cImJvcmRlci10b3A6IDFweCBzb2xpZCAjRTVFN0VCO1wiPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWlubGluZS1mbGV4IGNxYS1pdGVtcy1jZW50ZXJcIj5cbiAgICA8IS0tIERyYWcgSGFuZGxlIEljb24gKHdoZW4gaXNSZW9yZGVyIGlzIHRydWUgYW5kIG5vdCBpbnNpZGUgc3RlcCBncm91cCAtIHN0ZXBzIGluc2lkZSBzdGVwIGdyb3VwcyBjYW5ub3QgYmUgcmVvcmRlcmVkKSAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiaXNSZW9yZGVyICYmICFpc0luc2lkZVN0ZXBHcm91cFwiIGNsYXNzPVwiY3FhLW1yLTIgY3FhLWN1cnNvci1tb3ZlIGNxYS10ZXh0LVsjNkI3MjgwXSBob3ZlcjpjcWEtdGV4dC1bIzExMTgyN11cIj5cbiAgICAgIDxzdmcgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxuICAgICAgICA8Y2lyY2xlIGN4PVwiM1wiIGN5PVwiM1wiIHI9XCIxLjVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxuICAgICAgICA8Y2lyY2xlIGN4PVwiOFwiIGN5PVwiM1wiIHI9XCIxLjVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxuICAgICAgICA8Y2lyY2xlIGN4PVwiMTNcIiBjeT1cIjNcIiByPVwiMS41XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjNcIiBjeT1cIjhcIiByPVwiMS41XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjhcIiBjeT1cIjhcIiByPVwiMS41XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjEzXCIgY3k9XCI4XCIgcj1cIjEuNVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XG4gICAgICAgIDxjaXJjbGUgY3g9XCIzXCIgY3k9XCIxM1wiIHI9XCIxLjVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxuICAgICAgICA8Y2lyY2xlIGN4PVwiOFwiIGN5PVwiMTNcIiByPVwiMS41XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjEzXCIgY3k9XCIxM1wiIHI9XCIxLjVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxuICAgICAgPC9zdmc+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBDaGVja2JveCAod2hlbiBpc1Jlb3JkZXIgaXMgZmFsc2UgYW5kIG5vdCBpbnNpZGUgc3RlcCBncm91cCAtIGhpZGUgZm9yIHN0ZXBzIGluc2lkZSBzdGVwIGdyb3VwcykgLS0+XG4gICAgPGxhYmVsICpuZ0lmPVwiZWRpdGFibGUgJiYgIWlzUmVvcmRlciAmJiAhaXNJbnNpZGVTdGVwR3JvdXBcIiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWN1cnNvci1wb2ludGVyIGNxYS1yZWxhdGl2ZSBjcWEtbXItMlwiPlxuICAgICAgPGlucHV0IHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAgIFtuZ01vZGVsXT1cInNlbGVjdGVkXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25TZWxlY3Rpb25DaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIGNsYXNzPVwiY3FhLWgtNCBjcWEtdy00IGNxYS1jdXJzb3ItcG9pbnRlciBjcWEtdHJhbnNpdGlvbi1hbGwgY3FhLWFwcGVhcmFuY2Utbm9uZSBjcWEtcm91bmRlZCBzaGFkb3cgaG92ZXI6Y3FhLXNoYWRvdy1tZCBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1zbGF0ZS0zMDAgY3FhLWZsZXgtc2hyaW5rLTBcIlxuICAgICAgICBbY2xhc3MuY3FhLWJnLVsjM0Y0M0VFXV09XCJzZWxlY3RlZFwiXG4gICAgICAgIFtjbGFzcy5jcWEtYm9yZGVyLVsjM0Y0M0VFXV09XCJzZWxlY3RlZFwiXG4gICAgICAgIGlkPVwiY2hlY2tcIiAvPlxuICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtYWJzb2x1dGUgY3FhLXRleHQtd2hpdGUgY3FhLXRvcC0xLzIgY3FhLWxlZnQtMS8yIGNxYS0tdHJhbnNsYXRlLXgtMS8yIGNxYS0tdHJhbnNsYXRlLXktMS8yIGNxYS1wb2ludGVyLWV2ZW50cy1ub25lIGNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyXCJcbiAgICAgICAgW2NsYXNzLmNxYS1vcGFjaXR5LTBdPVwiIXNlbGVjdGVkXCJcbiAgICAgICAgW2NsYXNzLmNxYS1vcGFjaXR5LTEwMF09XCJzZWxlY3RlZFwiPlxuICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxM1wiIHZpZXdCb3g9XCIwIDAgMTIgMTNcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTEwIDMuMTI1TDQuNSA4LjYyNUwyIDYuMTI1XCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+XG4gICAgICA8L3NwYW4+XG4gICAgPC9sYWJlbD5cbiAgPC9kaXY+XG4gIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWyM2QjcyODBdIGNxYS10ZXh0LVsxNHB4XSBjcWEtbGVhZGluZy1bMThweF0gY3FhLW1pbi13LVszMnB4XVwiPnt7IHN0ZXBOdW1iZXIgfX08L3NwYW4+XG4gIDxzcGFuIHRpdGxlPVwiUmVzdG9yZSBTZXNzaW9uXCIgY2xhc3M9XCJjcWEtdy04IGNxYS1oLTggY3FhLXJvdW5kZWQtbGcgY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLWZsZXgtc2hyaW5rLTAgY3FhLWJnLVsjRkZFREQ1XSBjcWEtdGV4dC1bI0VBNTgwQ11cIj5cbiAgICA8c3ZnIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTQgMTRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgIDxwYXRoIGQ9XCJNMS43NSA3QzEuNzUgOC4wMzgzNSAyLjA1NzkxIDkuMDUzMzkgMi42MzQ3OCA5LjkxNjc0QzMuMjExNjYgMTAuNzgwMSA0LjAzMTYgMTEuNDUzIDQuOTkwOTEgMTEuODUwNEM1Ljk1MDIyIDEyLjI0NzcgNy4wMDU4MiAxMi4zNTE3IDguMDI0MjIgMTIuMTQ5MUM5LjA0MjYyIDExLjk0NjYgOS45NzgwOCAxMS40NDY1IDEwLjcxMjMgMTAuNzEyM0MxMS40NDY1IDkuOTc4MDggMTEuOTQ2NiA5LjA0MjYyIDEyLjE0OTEgOC4wMjQyMkMxMi4zNTE3IDcuMDA1ODIgMTIuMjQ3NyA1Ljk1MDIyIDExLjg1MDQgNC45OTA5MUMxMS40NTMgNC4wMzE2IDEwLjc4MDEgMy4yMTE2NiA5LjkxNjc0IDIuNjM0NzhDOS4wNTMzOSAyLjA1NzkxIDguMDM4MzUgMS43NSA3IDEuNzVDNS41MzIzMSAxLjc1NTUyIDQuMTIzNTcgMi4zMjgyMSAzLjA2ODMzIDMuMzQ4MzNMMS43NSA0LjY2NjY3XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cbiAgICAgIDxwYXRoIGQ9XCJNMS43NSAxLjc1VjQuNjY2NjdINC42NjY2N1wiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XG4gICAgPC9zdmc+XG4gIDwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bIzExMTgyN10gY3FhLXRleHQtWzE0cHhdIGNxYS1sZWFkaW5nLVsxOHB4XVwiIFtpbm5lckhUTUxdPVwiZ2V0UmVzdG9yZVNlc3Npb25EZXNjcmlwdGlvbigpXCI+PC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXgtZ3Jvd1wiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTIgY3FhLXNlbGYtY2VudGVyXCI+XG4gICAgPGRpdiAqbmdJZj1cImVkaXRhYmxlICYmICFpc0luc2lkZVN0ZXBHcm91cCAmJiAhaXNSZW9yZGVyXCIgY2xhc3M9XCJzdGVwLWFjdGlvbnMgY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTEuNSBjcWEtcHItMlwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkVkaXQoKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgdGl0bGU9XCJFZGl0XCIgY2xhc3M9XCJjcWEtcC0wIGNxYS10ZXh0LVsjOTlBMUFmXSBob3ZlcjpjcWEtdGV4dC1bIzE0NDdFNl1cIj48c3ZnIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTQgMTRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTcgMTEuNjY2NkgxMi4yNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk05LjU1MjA4IDIuMTEyOEM5Ljc4NDMgMS44ODA1OCAxMC4wOTkzIDEuNzUwMTIgMTAuNDI3NyAxLjc1MDEyQzEwLjc1NjEgMS43NTAxMiAxMS4wNzEgMS44ODA1OCAxMS4zMDMzIDIuMTEyOEMxMS41MzU1IDIuMzQ1MDIgMTEuNjY1OSAyLjY1OTk4IDExLjY2NTkgMi45ODgzOEMxMS42NjU5IDMuMzE2NzkgMTEuNTM1NSAzLjYzMTc1IDExLjMwMzMgMy44NjM5N0w0LjI5NzQyIDEwLjg3MDRDNC4xNTg2NCAxMS4wMDkyIDMuOTg3MSAxMS4xMTA3IDMuNzk4NjcgMTEuMTY1NkwyLjEyMzMzIDExLjY1NDRDMi4wNzMxNCAxMS42NjkgMi4wMTk5MyAxMS42Njk5IDEuOTY5MjggMTEuNjU2OUMxLjkxODYzIDExLjY0MzkgMS44NzI0IDExLjYxNzYgMS44MzU0MyAxMS41ODA2QzEuNzk4NDYgMTEuNTQzNyAxLjc3MjEgMTEuNDk3NCAxLjc1OTEzIDExLjQ0NjhDMS43NDYxNSAxMS4zOTYxIDEuNzQ3MDMgMTEuMzQyOSAxLjc2MTY3IDExLjI5MjdMMi4yNTA1IDkuNjE3MzhDMi4zMDU0NiA5LjQyOTE2IDIuNDA2OTggOS4yNTc4MyAyLjU0NTY3IDkuMTE5MjJMOS41NTIwOCAyLjExMjhaXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz48L2J1dHRvbj5cbiAgICA8IS0tIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkxpbmsoKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgdGl0bGU9XCJMaW5rXCIgY2xhc3M9XCJjcWEtcC0wIGNxYS10ZXh0LVsjOTlBMUFmXSBob3ZlcjpjcWEtdGV4dC1bIzE0NDdFNl1cIj48c3ZnIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTQgMTRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTUuMDAwNjUgOS45MTY3MUgzLjY2NzMyQzIuNzgzMjYgOS45MTY3MSAxLjkzNTQyIDkuNjA5NDIgMS4zMTAzIDkuMDYyNDRDMC42ODUxNzQgOC41MTU0NSAwLjMzMzk4NCA3Ljc3MzU5IDAuMzMzOTg0IDcuMDAwMDRDMC4zMzM5ODQgNi4yMjY0OSAwLjY4NTE3NCA1LjQ4NDYzIDEuMzEwMyA0LjkzNzY1QzEuOTM1NDIgNC4zOTA2NiAyLjc4MzI2IDQuMDgzMzcgMy42NjczMiA0LjA4MzM3SDUuMDAwNjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNOSA0LjA4MzM3SDEwLjMzMzNDMTEuMjE3NCA0LjA4MzM3IDEyLjA2NTIgNC4zOTA2NiAxMi42OTA0IDQuOTM3NjVDMTMuMzE1NSA1LjQ4NDYzIDEzLjY2NjcgNi4yMjY0OSAxMy42NjY3IDcuMDAwMDRDMTMuNjY2NyA3Ljc3MzU5IDEzLjMxNTUgOC41MTU0NSAxMi42OTA0IDkuMDYyNDRDMTIuMDY1MiA5LjYwOTQyIDExLjIxNzQgOS45MTY3MSAxMC4zMzMzIDkuOTE2NzFIOVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk00LjMzMzk4IDdIOS42NjczMlwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+PC9idXR0b24+IC0tPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkR1cGxpY2F0ZSgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiB0aXRsZT1cIkR1cGxpY2F0ZVwiIGNsYXNzPVwiY3FhLXAtMCBjcWEtdGV4dC1bIzk5QTFBZl0gaG92ZXI6Y3FhLXRleHQtWyMxNDQ3RTZdXCI+PHN2ZyB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDE0IDE0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMS42NjYgNC42NjY2M0g1LjgzMjY4QzUuMTg4MzUgNC42NjY2MyA0LjY2NjAyIDUuMTg4OTYgNC42NjYwMiA1LjgzMzI5VjExLjY2NjZDNC42NjYwMiAxMi4zMTEgNS4xODgzNSAxMi44MzMzIDUuODMyNjggMTIuODMzM0gxMS42NjZDMTIuMzEwMyAxMi44MzMzIDEyLjgzMjcgMTIuMzExIDEyLjgzMjcgMTEuNjY2NlY1LjgzMzI5QzEyLjgzMjcgNS4xODg5NiAxMi4zMTAzIDQuNjY2NjMgMTEuNjY2IDQuNjY2NjNaXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTIuMzMyNjggOS4zMzMyOUMxLjY5MTAyIDkuMzMzMjkgMS4xNjYwMiA4LjgwODI5IDEuMTY2MDIgOC4xNjY2M1YyLjMzMzI5QzEuMTY2MDIgMS42OTE2MyAxLjY5MTAyIDEuMTY2NjMgMi4zMzI2OCAxLjE2NjYzSDguMTY2MDJDOC44MDc2OCAxLjE2NjYzIDkuMzMyNjggMS42OTE2MyA5LjMzMjY4IDIuMzMzMjlcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPjwvYnV0dG9uPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkRlbGV0ZSgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiB0aXRsZT1cIkRlbGV0ZVwiIGNsYXNzPVwiY3FhLXAtMCBjcWEtdGV4dC1bI2ZmNjQ2N10gaG92ZXI6Y3FhLXRleHQtWyNDNjM1MzVdXCI+PHN2ZyB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDE0IDE0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xLjc1IDMuNUgxMi4yNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk0xMS4wODI3IDMuNVYxMS42NjY3QzExLjA4MjcgMTIuMjUgMTAuNDk5MyAxMi44MzMzIDkuOTE2MDIgMTIuODMzM0g0LjA4MjY4QzMuNDk5MzUgMTIuODMzMyAyLjkxNjAyIDEyLjI1IDIuOTE2MDIgMTEuNjY2N1YzLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNNC42NjYwMiAzLjQ5OTk2VjIuMzMzMjlDNC42NjYwMiAxLjc0OTk2IDUuMjQ5MzUgMS4xNjY2MyA1LjgzMjY4IDEuMTY2NjNIOC4xNjYwMkM4Ljc0OTM1IDEuMTY2NjMgOS4zMzI2OCAxLjc0OTk2IDkuMzMyNjggMi4zMzMyOVYzLjQ5OTk2XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTUuODMzOTggNi40MTY2M1Y5LjkxNjYzXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTguMTY2MDIgNi40MTY2M1Y5LjkxNjYzXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8YSAqbmdJZj1cImNvbmZpZy5kZXNjcmlwdGlvbiAmJiBjb25maWcuZGVzY3JpcHRpb24udHJpbSgpICE9PSAnJ1wiICN2aWV3RGV0YWlsc1RyaWdnZXIgaHJlZj1cIiNcIiAoY2xpY2spPVwib25WaWV3RGV0YWlscygkZXZlbnQpXCIgY2xhc3M9XCJjcWEtdGV4dC1bIzNGNDNFRV0gY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1tZWRpdW0gY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTEgY3FhLW5vLXVuZGVybGluZVwiPlZpZXcgRGV0YWlsczxzdmcgd2lkdGg9XCI4XCIgaGVpZ2h0PVwiOFwiIHZpZXdCb3g9XCIwIDAgOCA4XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0yLjAzODA5IDYuNzQzMjlMMi42MjgwOSA3LjMzMzI5TDUuOTYxNDIgMy45OTk5NkwyLjYyODA5IDAuNjY2NjI2TDIuMDM4MDkgMS4yNTY2M0w0Ljc4MTQyIDMuOTk5OTZMMi4wMzgwOSA2Ljc0MzI5WlwiIGZpbGw9XCIjM0Y0M0VFXCIvPjwvc3ZnPjwvYT5cbiAgICA8IS0tIENyZWF0ZWQgRGF0ZSAoZnJvbSBBUEkpIC0gbGFzdCBzbyBhbGlnbmVkIGFjcm9zcyBhbGwgc3RlcHMsIGZvcm1hdDogMjUgRmViIDIwMjYgLS0+XG4gICAgPHNwYW4gKm5nSWY9XCJjb25maWcuY3JlYXRlZERhdGVcIiBjbGFzcz1cInN0ZXAtZGF0ZSBjcWEtdGV4dC1bIzZCNzI4MF0gY3FhLXRleHQtWzEycHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtbWwtYXV0byBjcWEtZmxleC1zaHJpbmstMFwiPlxuICAgICAge3sgY29uZmlnLmNyZWF0ZWREYXRlIHwgZGF0ZTonZCBNTU0geXl5eScgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -68,10 +68,10 @@ export class TestCaseScreenshotStepComponent {
|
|
|
68
68
|
onSelectionChange(checked) { this.selected = checked; this.selectionChange.emit(checked); }
|
|
69
69
|
}
|
|
70
70
|
TestCaseScreenshotStepComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TestCaseScreenshotStepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
71
|
-
TestCaseScreenshotStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: TestCaseScreenshotStepComponent, selector: "cqa-test-case-screenshot-step", inputs: { config: "config", stepNumber: "stepNumber", index: "index", name: "name", fullPage: "fullPage", selector: "selector", description: "description", selected: "selected", disabled: "disabled", isNested: "isNested", isInsideStepGroup: "isInsideStepGroup", isInsideLoop: "isInsideLoop", isReorder: "isReorder", editable: "editable" }, outputs: { edit: "edit", editInDepth: "editInDepth", link: "link", duplicate: "duplicate", delete: "delete", moreOptions: "moreOptions", viewDetails: "viewDetails", selectionChange: "selectionChange" }, host: { classAttribute: "cqa-ui-root" }, viewQueries: [{ propertyName: "viewDetailsTrigger", first: true, predicate: ["viewDetailsTrigger"], descendants: true }], ngImport: i0, template: "<div [class]=\"'step-row cqa-flex cqa-items-center cqa-gap-3 cqa-py-2 ' + (isInsideLoop && isInsideStepGroup ? 'cqa-pl-20 cqa-pr-4' : (isInsideLoop || isInsideStepGroup) ? 'cqa-pl-10 cqa-pr-4' : 'cqa-px-4')\" style=\"border-top: 1px solid #E5E7EB;\">\n <div class=\"cqa-inline-flex cqa-items-center\">\n <!-- Drag Handle Icon (when isReorder is true and not inside step group - steps inside step groups cannot be reordered) -->\n <div *ngIf=\"isReorder && !isInsideStepGroup\" class=\"cqa-mr-2 cqa-cursor-move cqa-text-[#6B7280] hover:cqa-text-[#111827]\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"3\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"3\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"3\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n </svg>\n </div>\n <!-- Checkbox (when isReorder is false and not inside step group - hide for steps inside step groups) -->\n <label *ngIf=\"editable && !isReorder && !isInsideStepGroup\" class=\"cqa-flex cqa-items-center cqa-cursor-pointer cqa-relative cqa-mr-2\">\n <input type=\"checkbox\"\n [ngModel]=\"selected\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"onSelectionChange($event)\"\n class=\"cqa-h-4 cqa-w-4 cqa-cursor-pointer cqa-transition-all cqa-appearance-none cqa-rounded shadow hover:cqa-shadow-md cqa-border cqa-border-solid cqa-border-slate-300 cqa-flex-shrink-0\"\n [class.cqa-bg-[#3F43EE]]=\"selected\"\n [class.cqa-border-[#3F43EE]]=\"selected\"\n id=\"check\" />\n <span class=\"cqa-absolute cqa-text-white cqa-top-1/2 cqa-left-1/2 cqa--translate-x-1/2 cqa--translate-y-1/2 cqa-pointer-events-none cqa-flex cqa-items-center cqa-justify-center\"\n [class.cqa-opacity-0]=\"!selected\"\n [class.cqa-opacity-100]=\"selected\">\n <svg width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10 3.125L4.5 8.625L2 6.125\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </span>\n </label>\n </div>\n <span class=\"cqa-text-[#6B7280] cqa-text-[14px] cqa-leading-[18px] cqa-min-w-[32px]\">{{ stepNumber }}</span>\n <span title=\"Screenshot\" class=\"cqa-w-8 cqa-h-8 cqa-rounded-lg cqa-flex cqa-items-center cqa-justify-center cqa-flex-shrink-0 cqa-bg-[#FCE7F3] cqa-text-[#DB2777]\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.0833 2.33333H2.91667C2.27233 2.33333 1.75 2.85567 1.75 3.5V10.5C1.75 11.1443 2.27233 11.6667 2.91667 11.6667H11.0833C11.7277 11.6667 12.25 11.1443 12.25 10.5V3.5C12.25 2.85567 11.7277 2.33333 11.0833 2.33333Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.25 5.83333C5.73325 5.83333 6.125 5.44158 6.125 4.95833C6.125 4.47508 5.73325 4.08333 5.25 4.08333C4.76675 4.08333 4.375 4.47508 4.375 4.95833C4.375 5.44158 4.76675 5.83333 5.25 5.83333Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12.25 8.75L9.33333 5.83333L2.91667 11.6667\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </span>\n <span class=\"cqa-text-[#111827] cqa-text-[14px] cqa-leading-[18px]\">{{ getScreenshotDescription() }}</span>\n <span *ngIf=\"name\" class=\"cqa-py-0.5 cqa-px-2 cqa-text-[#DB2777] cqa-text-[14px] cqa-leading-[17px] cqa-font-semibold cqa-border cqa-border-solid cqa-border-[#F9A8D4] cqa-rounded cqa-bg-[#FCE7F3]\">{{ name }}</span>\n <div class=\"cqa-flex-grow\"></div>\n <div class=\"cqa-flex cqa-items-center cqa-gap-2\">\n <div *ngIf=\"editable && !isInsideStepGroup && !isReorder\" class=\"step-actions cqa-flex cqa-items-center cqa-gap-1.5 cqa-pr-2\">\n <button type=\"button\" (click)=\"onEdit(); $event.stopPropagation()\" title=\"Edit\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 11.6666H12.25\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.55208 2.1128C9.7843 1.88058 10.0993 1.75012 10.4277 1.75012C10.7561 1.75012 11.071 1.88058 11.3033 2.1128C11.5355 2.34502 11.6659 2.65998 11.6659 2.98838C11.6659 3.31679 11.5355 3.63175 11.3033 3.86397L4.29742 10.8704C4.15864 11.0092 3.9871 11.1107 3.79867 11.1656L2.12333 11.6544C2.07314 11.669 2.01993 11.6699 1.96928 11.6569C1.91863 11.6439 1.8724 11.6176 1.83543 11.5806C1.79846 11.5437 1.7721 11.4974 1.75913 11.4468C1.74615 11.3961 1.74703 11.3429 1.76167 11.2927L2.2505 9.61738C2.30546 9.42916 2.40698 9.25783 2.54567 9.11922L9.55208 2.1128Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n <!-- <button type=\"button\" (click)=\"onLink(); $event.stopPropagation()\" title=\"Link\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.00065 9.91671H3.66732C2.78326 9.91671 1.93542 9.60942 1.3103 9.06244C0.685174 8.51545 0.333984 7.77359 0.333984 7.00004C0.333984 6.22649 0.685174 5.48463 1.3103 4.93765C1.93542 4.39066 2.78326 4.08337 3.66732 4.08337H5.00065\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 4.08337H10.3333C11.2174 4.08337 12.0652 4.39066 12.6904 4.93765C13.3155 5.48463 13.6667 6.22649 13.6667 7.00004C13.6667 7.77359 13.3155 8.51545 12.6904 9.06244C12.0652 9.60942 11.2174 9.91671 10.3333 9.91671H9\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.33398 7H9.66732\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button> -->\n <button type=\"button\" (click)=\"onDuplicate(); $event.stopPropagation()\" title=\"Duplicate\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.666 4.66663H5.83268C5.18835 4.66663 4.66602 5.18896 4.66602 5.83329V11.6666C4.66602 12.311 5.18835 12.8333 5.83268 12.8333H11.666C12.3103 12.8333 12.8327 12.311 12.8327 11.6666V5.83329C12.8327 5.18896 12.3103 4.66663 11.666 4.66663Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.33268 9.33329C1.69102 9.33329 1.16602 8.80829 1.16602 8.16663V2.33329C1.16602 1.69163 1.69102 1.16663 2.33268 1.16663H8.16602C8.80768 1.16663 9.33268 1.69163 9.33268 2.33329\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n <button type=\"button\" (click)=\"onDelete(); $event.stopPropagation()\" title=\"Delete\" class=\"cqa-p-0 cqa-text-[#ff6467] hover:cqa-text-[#C63535]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.75 3.5H12.25\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.0827 3.5V11.6667C11.0827 12.25 10.4993 12.8333 9.91602 12.8333H4.08268C3.49935 12.8333 2.91602 12.25 2.91602 11.6667V3.5\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.66602 3.49996V2.33329C4.66602 1.74996 5.24935 1.16663 5.83268 1.16663H8.16602C8.74935 1.16663 9.33268 1.74996 9.33268 2.33329V3.49996\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.83398 6.41663V9.91663\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8.16602 6.41663V9.91663\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n </div>\n <a *ngIf=\"config.description && config.description.trim() !== ''\" #viewDetailsTrigger href=\"#\" (click)=\"onViewDetails($event)\" class=\"cqa-text-[#3F43EE] cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-flex cqa-items-center cqa-gap-1 cqa-no-underline\">View Details<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.03809 6.74329L2.62809 7.33329L5.96142 3.99996L2.62809 0.666626L2.03809 1.25663L4.78142 3.99996L2.03809 6.74329Z\" fill=\"#3F43EE\"/></svg></a>\n <!-- Created Date (from API) - last so aligned across all steps, format: 25 Feb 2026 -->\n <span *ngIf=\"config.createdDate\" class=\"step-date cqa-text-[#6B7280] cqa-text-[12px] cqa-leading-[15px] cqa-ml-auto cqa-flex-shrink-0\">\n {{ config.createdDate | date:'d MMM yyyy' }}\n </span>\n </div>\n</div>\n", styles: [".step-actions{opacity:0;transition:opacity .15s ease}.step-row:hover .step-actions{opacity:1}.step-row{vertical-align:middle;letter-spacing:normal}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "date": i1.DatePipe } });
|
|
71
|
+
TestCaseScreenshotStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: TestCaseScreenshotStepComponent, selector: "cqa-test-case-screenshot-step", inputs: { config: "config", stepNumber: "stepNumber", index: "index", name: "name", fullPage: "fullPage", selector: "selector", description: "description", selected: "selected", disabled: "disabled", isNested: "isNested", isInsideStepGroup: "isInsideStepGroup", isInsideLoop: "isInsideLoop", isReorder: "isReorder", editable: "editable" }, outputs: { edit: "edit", editInDepth: "editInDepth", link: "link", duplicate: "duplicate", delete: "delete", moreOptions: "moreOptions", viewDetails: "viewDetails", selectionChange: "selectionChange" }, host: { classAttribute: "cqa-ui-root" }, viewQueries: [{ propertyName: "viewDetailsTrigger", first: true, predicate: ["viewDetailsTrigger"], descendants: true }], ngImport: i0, template: "<div [class]=\"'step-row cqa-flex cqa-items-center cqa-gap-3 cqa-py-2 ' + (isInsideLoop && isInsideStepGroup ? 'cqa-pl-20 cqa-pr-4' : (isInsideLoop || isInsideStepGroup) ? 'cqa-pl-10 cqa-pr-4' : 'cqa-px-4')\" style=\"border-top: 1px solid #E5E7EB;\">\n <div class=\"cqa-inline-flex cqa-items-center\">\n <!-- Drag Handle Icon (when isReorder is true and not inside step group - steps inside step groups cannot be reordered) -->\n <div *ngIf=\"isReorder && !isInsideStepGroup\" class=\"cqa-mr-2 cqa-cursor-move cqa-text-[#6B7280] hover:cqa-text-[#111827]\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"3\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"3\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"3\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n </svg>\n </div>\n <!-- Checkbox (when isReorder is false and not inside step group - hide for steps inside step groups) -->\n <label *ngIf=\"editable && !isReorder && !isInsideStepGroup\" class=\"cqa-flex cqa-items-center cqa-cursor-pointer cqa-relative cqa-mr-2\">\n <input type=\"checkbox\"\n [ngModel]=\"selected\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"onSelectionChange($event)\"\n class=\"cqa-h-4 cqa-w-4 cqa-cursor-pointer cqa-transition-all cqa-appearance-none cqa-rounded shadow hover:cqa-shadow-md cqa-border cqa-border-solid cqa-border-slate-300 cqa-flex-shrink-0\"\n [class.cqa-bg-[#3F43EE]]=\"selected\"\n [class.cqa-border-[#3F43EE]]=\"selected\"\n id=\"check\" />\n <span class=\"cqa-absolute cqa-text-white cqa-top-1/2 cqa-left-1/2 cqa--translate-x-1/2 cqa--translate-y-1/2 cqa-pointer-events-none cqa-flex cqa-items-center cqa-justify-center\"\n [class.cqa-opacity-0]=\"!selected\"\n [class.cqa-opacity-100]=\"selected\">\n <svg width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10 3.125L4.5 8.625L2 6.125\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </span>\n </label>\n </div>\n <span class=\"cqa-text-[#6B7280] cqa-text-[14px] cqa-leading-[18px] cqa-min-w-[32px]\">{{ stepNumber }}</span>\n <span title=\"Screenshot\" class=\"cqa-w-8 cqa-h-8 cqa-rounded-lg cqa-flex cqa-items-center cqa-justify-center cqa-flex-shrink-0 cqa-bg-[#FCE7F3] cqa-text-[#DB2777]\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.0833 2.33333H2.91667C2.27233 2.33333 1.75 2.85567 1.75 3.5V10.5C1.75 11.1443 2.27233 11.6667 2.91667 11.6667H11.0833C11.7277 11.6667 12.25 11.1443 12.25 10.5V3.5C12.25 2.85567 11.7277 2.33333 11.0833 2.33333Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.25 5.83333C5.73325 5.83333 6.125 5.44158 6.125 4.95833C6.125 4.47508 5.73325 4.08333 5.25 4.08333C4.76675 4.08333 4.375 4.47508 4.375 4.95833C4.375 5.44158 4.76675 5.83333 5.25 5.83333Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12.25 8.75L9.33333 5.83333L2.91667 11.6667\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </span>\n <span class=\"cqa-text-[#111827] cqa-text-[14px] cqa-leading-[18px]\">{{ getScreenshotDescription() }}</span>\n <span *ngIf=\"name\" class=\"cqa-py-0.5 cqa-px-2 cqa-text-[#DB2777] cqa-text-[14px] cqa-leading-[17px] cqa-font-semibold cqa-border cqa-border-solid cqa-border-[#F9A8D4] cqa-rounded cqa-bg-[#FCE7F3]\">{{ name }}</span>\n <div class=\"cqa-flex-grow\"></div>\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-self-center\">\n <div *ngIf=\"editable && !isInsideStepGroup && !isReorder\" class=\"step-actions cqa-flex cqa-items-center cqa-gap-1.5 cqa-pr-2\">\n <button type=\"button\" (click)=\"onEdit(); $event.stopPropagation()\" title=\"Edit\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 11.6666H12.25\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.55208 2.1128C9.7843 1.88058 10.0993 1.75012 10.4277 1.75012C10.7561 1.75012 11.071 1.88058 11.3033 2.1128C11.5355 2.34502 11.6659 2.65998 11.6659 2.98838C11.6659 3.31679 11.5355 3.63175 11.3033 3.86397L4.29742 10.8704C4.15864 11.0092 3.9871 11.1107 3.79867 11.1656L2.12333 11.6544C2.07314 11.669 2.01993 11.6699 1.96928 11.6569C1.91863 11.6439 1.8724 11.6176 1.83543 11.5806C1.79846 11.5437 1.7721 11.4974 1.75913 11.4468C1.74615 11.3961 1.74703 11.3429 1.76167 11.2927L2.2505 9.61738C2.30546 9.42916 2.40698 9.25783 2.54567 9.11922L9.55208 2.1128Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n <!-- <button type=\"button\" (click)=\"onLink(); $event.stopPropagation()\" title=\"Link\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.00065 9.91671H3.66732C2.78326 9.91671 1.93542 9.60942 1.3103 9.06244C0.685174 8.51545 0.333984 7.77359 0.333984 7.00004C0.333984 6.22649 0.685174 5.48463 1.3103 4.93765C1.93542 4.39066 2.78326 4.08337 3.66732 4.08337H5.00065\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 4.08337H10.3333C11.2174 4.08337 12.0652 4.39066 12.6904 4.93765C13.3155 5.48463 13.6667 6.22649 13.6667 7.00004C13.6667 7.77359 13.3155 8.51545 12.6904 9.06244C12.0652 9.60942 11.2174 9.91671 10.3333 9.91671H9\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.33398 7H9.66732\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button> -->\n <button type=\"button\" (click)=\"onDuplicate(); $event.stopPropagation()\" title=\"Duplicate\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.666 4.66663H5.83268C5.18835 4.66663 4.66602 5.18896 4.66602 5.83329V11.6666C4.66602 12.311 5.18835 12.8333 5.83268 12.8333H11.666C12.3103 12.8333 12.8327 12.311 12.8327 11.6666V5.83329C12.8327 5.18896 12.3103 4.66663 11.666 4.66663Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.33268 9.33329C1.69102 9.33329 1.16602 8.80829 1.16602 8.16663V2.33329C1.16602 1.69163 1.69102 1.16663 2.33268 1.16663H8.16602C8.80768 1.16663 9.33268 1.69163 9.33268 2.33329\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n <button type=\"button\" (click)=\"onDelete(); $event.stopPropagation()\" title=\"Delete\" class=\"cqa-p-0 cqa-text-[#ff6467] hover:cqa-text-[#C63535]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.75 3.5H12.25\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.0827 3.5V11.6667C11.0827 12.25 10.4993 12.8333 9.91602 12.8333H4.08268C3.49935 12.8333 2.91602 12.25 2.91602 11.6667V3.5\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.66602 3.49996V2.33329C4.66602 1.74996 5.24935 1.16663 5.83268 1.16663H8.16602C8.74935 1.16663 9.33268 1.74996 9.33268 2.33329V3.49996\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.83398 6.41663V9.91663\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8.16602 6.41663V9.91663\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n </div>\n <a *ngIf=\"config.description && config.description.trim() !== ''\" #viewDetailsTrigger href=\"#\" (click)=\"onViewDetails($event)\" class=\"cqa-text-[#3F43EE] cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-flex cqa-items-center cqa-gap-1 cqa-no-underline\">View Details<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.03809 6.74329L2.62809 7.33329L5.96142 3.99996L2.62809 0.666626L2.03809 1.25663L4.78142 3.99996L2.03809 6.74329Z\" fill=\"#3F43EE\"/></svg></a>\n <!-- Created Date (from API) - last so aligned across all steps, format: 25 Feb 2026 -->\n <span *ngIf=\"config.createdDate\" class=\"step-date cqa-text-[#6B7280] cqa-text-[12px] cqa-leading-[15px] cqa-ml-auto cqa-flex-shrink-0\">\n {{ config.createdDate | date:'d MMM yyyy' }}\n </span>\n </div>\n</div>\n", styles: [".step-actions{opacity:0;transition:opacity .15s ease}.step-row:hover .step-actions{opacity:1}.step-row{vertical-align:middle;letter-spacing:normal}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], pipes: { "date": i1.DatePipe } });
|
|
72
72
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: TestCaseScreenshotStepComponent, decorators: [{
|
|
73
73
|
type: Component,
|
|
74
|
-
args: [{ selector: 'cqa-test-case-screenshot-step', host: { class: 'cqa-ui-root' }, styles: [STEP_ROW_ACTIONS_STYLES], template: "<div [class]=\"'step-row cqa-flex cqa-items-center cqa-gap-3 cqa-py-2 ' + (isInsideLoop && isInsideStepGroup ? 'cqa-pl-20 cqa-pr-4' : (isInsideLoop || isInsideStepGroup) ? 'cqa-pl-10 cqa-pr-4' : 'cqa-px-4')\" style=\"border-top: 1px solid #E5E7EB;\">\n <div class=\"cqa-inline-flex cqa-items-center\">\n <!-- Drag Handle Icon (when isReorder is true and not inside step group - steps inside step groups cannot be reordered) -->\n <div *ngIf=\"isReorder && !isInsideStepGroup\" class=\"cqa-mr-2 cqa-cursor-move cqa-text-[#6B7280] hover:cqa-text-[#111827]\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"3\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"3\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"3\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n </svg>\n </div>\n <!-- Checkbox (when isReorder is false and not inside step group - hide for steps inside step groups) -->\n <label *ngIf=\"editable && !isReorder && !isInsideStepGroup\" class=\"cqa-flex cqa-items-center cqa-cursor-pointer cqa-relative cqa-mr-2\">\n <input type=\"checkbox\"\n [ngModel]=\"selected\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"onSelectionChange($event)\"\n class=\"cqa-h-4 cqa-w-4 cqa-cursor-pointer cqa-transition-all cqa-appearance-none cqa-rounded shadow hover:cqa-shadow-md cqa-border cqa-border-solid cqa-border-slate-300 cqa-flex-shrink-0\"\n [class.cqa-bg-[#3F43EE]]=\"selected\"\n [class.cqa-border-[#3F43EE]]=\"selected\"\n id=\"check\" />\n <span class=\"cqa-absolute cqa-text-white cqa-top-1/2 cqa-left-1/2 cqa--translate-x-1/2 cqa--translate-y-1/2 cqa-pointer-events-none cqa-flex cqa-items-center cqa-justify-center\"\n [class.cqa-opacity-0]=\"!selected\"\n [class.cqa-opacity-100]=\"selected\">\n <svg width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10 3.125L4.5 8.625L2 6.125\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </span>\n </label>\n </div>\n <span class=\"cqa-text-[#6B7280] cqa-text-[14px] cqa-leading-[18px] cqa-min-w-[32px]\">{{ stepNumber }}</span>\n <span title=\"Screenshot\" class=\"cqa-w-8 cqa-h-8 cqa-rounded-lg cqa-flex cqa-items-center cqa-justify-center cqa-flex-shrink-0 cqa-bg-[#FCE7F3] cqa-text-[#DB2777]\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.0833 2.33333H2.91667C2.27233 2.33333 1.75 2.85567 1.75 3.5V10.5C1.75 11.1443 2.27233 11.6667 2.91667 11.6667H11.0833C11.7277 11.6667 12.25 11.1443 12.25 10.5V3.5C12.25 2.85567 11.7277 2.33333 11.0833 2.33333Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.25 5.83333C5.73325 5.83333 6.125 5.44158 6.125 4.95833C6.125 4.47508 5.73325 4.08333 5.25 4.08333C4.76675 4.08333 4.375 4.47508 4.375 4.95833C4.375 5.44158 4.76675 5.83333 5.25 5.83333Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12.25 8.75L9.33333 5.83333L2.91667 11.6667\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </span>\n <span class=\"cqa-text-[#111827] cqa-text-[14px] cqa-leading-[18px]\">{{ getScreenshotDescription() }}</span>\n <span *ngIf=\"name\" class=\"cqa-py-0.5 cqa-px-2 cqa-text-[#DB2777] cqa-text-[14px] cqa-leading-[17px] cqa-font-semibold cqa-border cqa-border-solid cqa-border-[#F9A8D4] cqa-rounded cqa-bg-[#FCE7F3]\">{{ name }}</span>\n <div class=\"cqa-flex-grow\"></div>\n <div class=\"cqa-flex cqa-items-center cqa-gap-2\">\n <div *ngIf=\"editable && !isInsideStepGroup && !isReorder\" class=\"step-actions cqa-flex cqa-items-center cqa-gap-1.5 cqa-pr-2\">\n <button type=\"button\" (click)=\"onEdit(); $event.stopPropagation()\" title=\"Edit\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 11.6666H12.25\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.55208 2.1128C9.7843 1.88058 10.0993 1.75012 10.4277 1.75012C10.7561 1.75012 11.071 1.88058 11.3033 2.1128C11.5355 2.34502 11.6659 2.65998 11.6659 2.98838C11.6659 3.31679 11.5355 3.63175 11.3033 3.86397L4.29742 10.8704C4.15864 11.0092 3.9871 11.1107 3.79867 11.1656L2.12333 11.6544C2.07314 11.669 2.01993 11.6699 1.96928 11.6569C1.91863 11.6439 1.8724 11.6176 1.83543 11.5806C1.79846 11.5437 1.7721 11.4974 1.75913 11.4468C1.74615 11.3961 1.74703 11.3429 1.76167 11.2927L2.2505 9.61738C2.30546 9.42916 2.40698 9.25783 2.54567 9.11922L9.55208 2.1128Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n <!-- <button type=\"button\" (click)=\"onLink(); $event.stopPropagation()\" title=\"Link\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.00065 9.91671H3.66732C2.78326 9.91671 1.93542 9.60942 1.3103 9.06244C0.685174 8.51545 0.333984 7.77359 0.333984 7.00004C0.333984 6.22649 0.685174 5.48463 1.3103 4.93765C1.93542 4.39066 2.78326 4.08337 3.66732 4.08337H5.00065\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 4.08337H10.3333C11.2174 4.08337 12.0652 4.39066 12.6904 4.93765C13.3155 5.48463 13.6667 6.22649 13.6667 7.00004C13.6667 7.77359 13.3155 8.51545 12.6904 9.06244C12.0652 9.60942 11.2174 9.91671 10.3333 9.91671H9\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.33398 7H9.66732\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button> -->\n <button type=\"button\" (click)=\"onDuplicate(); $event.stopPropagation()\" title=\"Duplicate\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.666 4.66663H5.83268C5.18835 4.66663 4.66602 5.18896 4.66602 5.83329V11.6666C4.66602 12.311 5.18835 12.8333 5.83268 12.8333H11.666C12.3103 12.8333 12.8327 12.311 12.8327 11.6666V5.83329C12.8327 5.18896 12.3103 4.66663 11.666 4.66663Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.33268 9.33329C1.69102 9.33329 1.16602 8.80829 1.16602 8.16663V2.33329C1.16602 1.69163 1.69102 1.16663 2.33268 1.16663H8.16602C8.80768 1.16663 9.33268 1.69163 9.33268 2.33329\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n <button type=\"button\" (click)=\"onDelete(); $event.stopPropagation()\" title=\"Delete\" class=\"cqa-p-0 cqa-text-[#ff6467] hover:cqa-text-[#C63535]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.75 3.5H12.25\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.0827 3.5V11.6667C11.0827 12.25 10.4993 12.8333 9.91602 12.8333H4.08268C3.49935 12.8333 2.91602 12.25 2.91602 11.6667V3.5\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.66602 3.49996V2.33329C4.66602 1.74996 5.24935 1.16663 5.83268 1.16663H8.16602C8.74935 1.16663 9.33268 1.74996 9.33268 2.33329V3.49996\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.83398 6.41663V9.91663\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8.16602 6.41663V9.91663\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n </div>\n <a *ngIf=\"config.description && config.description.trim() !== ''\" #viewDetailsTrigger href=\"#\" (click)=\"onViewDetails($event)\" class=\"cqa-text-[#3F43EE] cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-flex cqa-items-center cqa-gap-1 cqa-no-underline\">View Details<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.03809 6.74329L2.62809 7.33329L5.96142 3.99996L2.62809 0.666626L2.03809 1.25663L4.78142 3.99996L2.03809 6.74329Z\" fill=\"#3F43EE\"/></svg></a>\n <!-- Created Date (from API) - last so aligned across all steps, format: 25 Feb 2026 -->\n <span *ngIf=\"config.createdDate\" class=\"step-date cqa-text-[#6B7280] cqa-text-[12px] cqa-leading-[15px] cqa-ml-auto cqa-flex-shrink-0\">\n {{ config.createdDate | date:'d MMM yyyy' }}\n </span>\n </div>\n</div>\n" }]
|
|
74
|
+
args: [{ selector: 'cqa-test-case-screenshot-step', host: { class: 'cqa-ui-root' }, styles: [STEP_ROW_ACTIONS_STYLES], template: "<div [class]=\"'step-row cqa-flex cqa-items-center cqa-gap-3 cqa-py-2 ' + (isInsideLoop && isInsideStepGroup ? 'cqa-pl-20 cqa-pr-4' : (isInsideLoop || isInsideStepGroup) ? 'cqa-pl-10 cqa-pr-4' : 'cqa-px-4')\" style=\"border-top: 1px solid #E5E7EB;\">\n <div class=\"cqa-inline-flex cqa-items-center\">\n <!-- Drag Handle Icon (when isReorder is true and not inside step group - steps inside step groups cannot be reordered) -->\n <div *ngIf=\"isReorder && !isInsideStepGroup\" class=\"cqa-mr-2 cqa-cursor-move cqa-text-[#6B7280] hover:cqa-text-[#111827]\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle cx=\"3\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"3\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"3\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"8\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"3\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"8\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n <circle cx=\"13\" cy=\"13\" r=\"1.5\" fill=\"currentColor\"/>\n </svg>\n </div>\n <!-- Checkbox (when isReorder is false and not inside step group - hide for steps inside step groups) -->\n <label *ngIf=\"editable && !isReorder && !isInsideStepGroup\" class=\"cqa-flex cqa-items-center cqa-cursor-pointer cqa-relative cqa-mr-2\">\n <input type=\"checkbox\"\n [ngModel]=\"selected\"\n [disabled]=\"disabled\"\n (ngModelChange)=\"onSelectionChange($event)\"\n class=\"cqa-h-4 cqa-w-4 cqa-cursor-pointer cqa-transition-all cqa-appearance-none cqa-rounded shadow hover:cqa-shadow-md cqa-border cqa-border-solid cqa-border-slate-300 cqa-flex-shrink-0\"\n [class.cqa-bg-[#3F43EE]]=\"selected\"\n [class.cqa-border-[#3F43EE]]=\"selected\"\n id=\"check\" />\n <span class=\"cqa-absolute cqa-text-white cqa-top-1/2 cqa-left-1/2 cqa--translate-x-1/2 cqa--translate-y-1/2 cqa-pointer-events-none cqa-flex cqa-items-center cqa-justify-center\"\n [class.cqa-opacity-0]=\"!selected\"\n [class.cqa-opacity-100]=\"selected\">\n <svg width=\"12\" height=\"13\" viewBox=\"0 0 12 13\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10 3.125L4.5 8.625L2 6.125\" stroke=\"white\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </span>\n </label>\n </div>\n <span class=\"cqa-text-[#6B7280] cqa-text-[14px] cqa-leading-[18px] cqa-min-w-[32px]\">{{ stepNumber }}</span>\n <span title=\"Screenshot\" class=\"cqa-w-8 cqa-h-8 cqa-rounded-lg cqa-flex cqa-items-center cqa-justify-center cqa-flex-shrink-0 cqa-bg-[#FCE7F3] cqa-text-[#DB2777]\">\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.0833 2.33333H2.91667C2.27233 2.33333 1.75 2.85567 1.75 3.5V10.5C1.75 11.1443 2.27233 11.6667 2.91667 11.6667H11.0833C11.7277 11.6667 12.25 11.1443 12.25 10.5V3.5C12.25 2.85567 11.7277 2.33333 11.0833 2.33333Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.25 5.83333C5.73325 5.83333 6.125 5.44158 6.125 4.95833C6.125 4.47508 5.73325 4.08333 5.25 4.08333C4.76675 4.08333 4.375 4.47508 4.375 4.95833C4.375 5.44158 4.76675 5.83333 5.25 5.83333Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12.25 8.75L9.33333 5.83333L2.91667 11.6667\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>\n </span>\n <span class=\"cqa-text-[#111827] cqa-text-[14px] cqa-leading-[18px]\">{{ getScreenshotDescription() }}</span>\n <span *ngIf=\"name\" class=\"cqa-py-0.5 cqa-px-2 cqa-text-[#DB2777] cqa-text-[14px] cqa-leading-[17px] cqa-font-semibold cqa-border cqa-border-solid cqa-border-[#F9A8D4] cqa-rounded cqa-bg-[#FCE7F3]\">{{ name }}</span>\n <div class=\"cqa-flex-grow\"></div>\n <div class=\"cqa-flex cqa-items-center cqa-gap-2 cqa-self-center\">\n <div *ngIf=\"editable && !isInsideStepGroup && !isReorder\" class=\"step-actions cqa-flex cqa-items-center cqa-gap-1.5 cqa-pr-2\">\n <button type=\"button\" (click)=\"onEdit(); $event.stopPropagation()\" title=\"Edit\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 11.6666H12.25\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.55208 2.1128C9.7843 1.88058 10.0993 1.75012 10.4277 1.75012C10.7561 1.75012 11.071 1.88058 11.3033 2.1128C11.5355 2.34502 11.6659 2.65998 11.6659 2.98838C11.6659 3.31679 11.5355 3.63175 11.3033 3.86397L4.29742 10.8704C4.15864 11.0092 3.9871 11.1107 3.79867 11.1656L2.12333 11.6544C2.07314 11.669 2.01993 11.6699 1.96928 11.6569C1.91863 11.6439 1.8724 11.6176 1.83543 11.5806C1.79846 11.5437 1.7721 11.4974 1.75913 11.4468C1.74615 11.3961 1.74703 11.3429 1.76167 11.2927L2.2505 9.61738C2.30546 9.42916 2.40698 9.25783 2.54567 9.11922L9.55208 2.1128Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n <!-- <button type=\"button\" (click)=\"onLink(); $event.stopPropagation()\" title=\"Link\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.00065 9.91671H3.66732C2.78326 9.91671 1.93542 9.60942 1.3103 9.06244C0.685174 8.51545 0.333984 7.77359 0.333984 7.00004C0.333984 6.22649 0.685174 5.48463 1.3103 4.93765C1.93542 4.39066 2.78326 4.08337 3.66732 4.08337H5.00065\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 4.08337H10.3333C11.2174 4.08337 12.0652 4.39066 12.6904 4.93765C13.3155 5.48463 13.6667 6.22649 13.6667 7.00004C13.6667 7.77359 13.3155 8.51545 12.6904 9.06244C12.0652 9.60942 11.2174 9.91671 10.3333 9.91671H9\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.33398 7H9.66732\" stroke=\"currentColor\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button> -->\n <button type=\"button\" (click)=\"onDuplicate(); $event.stopPropagation()\" title=\"Duplicate\" class=\"cqa-p-0 cqa-text-[#99A1Af] hover:cqa-text-[#1447E6]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.666 4.66663H5.83268C5.18835 4.66663 4.66602 5.18896 4.66602 5.83329V11.6666C4.66602 12.311 5.18835 12.8333 5.83268 12.8333H11.666C12.3103 12.8333 12.8327 12.311 12.8327 11.6666V5.83329C12.8327 5.18896 12.3103 4.66663 11.666 4.66663Z\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.33268 9.33329C1.69102 9.33329 1.16602 8.80829 1.16602 8.16663V2.33329C1.16602 1.69163 1.69102 1.16663 2.33268 1.16663H8.16602C8.80768 1.16663 9.33268 1.69163 9.33268 2.33329\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n <button type=\"button\" (click)=\"onDelete(); $event.stopPropagation()\" title=\"Delete\" class=\"cqa-p-0 cqa-text-[#ff6467] hover:cqa-text-[#C63535]\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.75 3.5H12.25\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.0827 3.5V11.6667C11.0827 12.25 10.4993 12.8333 9.91602 12.8333H4.08268C3.49935 12.8333 2.91602 12.25 2.91602 11.6667V3.5\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.66602 3.49996V2.33329C4.66602 1.74996 5.24935 1.16663 5.83268 1.16663H8.16602C8.74935 1.16663 9.33268 1.74996 9.33268 2.33329V3.49996\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.83398 6.41663V9.91663\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8.16602 6.41663V9.91663\" stroke=\"currentColor\" stroke-width=\"1.16667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg></button>\n </div>\n <a *ngIf=\"config.description && config.description.trim() !== ''\" #viewDetailsTrigger href=\"#\" (click)=\"onViewDetails($event)\" class=\"cqa-text-[#3F43EE] cqa-text-[10px] cqa-leading-[15px] cqa-font-medium cqa-flex cqa-items-center cqa-gap-1 cqa-no-underline\">View Details<svg width=\"8\" height=\"8\" viewBox=\"0 0 8 8\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.03809 6.74329L2.62809 7.33329L5.96142 3.99996L2.62809 0.666626L2.03809 1.25663L4.78142 3.99996L2.03809 6.74329Z\" fill=\"#3F43EE\"/></svg></a>\n <!-- Created Date (from API) - last so aligned across all steps, format: 25 Feb 2026 -->\n <span *ngIf=\"config.createdDate\" class=\"step-date cqa-text-[#6B7280] cqa-text-[12px] cqa-leading-[15px] cqa-ml-auto cqa-flex-shrink-0\">\n {{ config.createdDate | date:'d MMM yyyy' }}\n </span>\n </div>\n</div>\n" }]
|
|
75
75
|
}], ctorParameters: function () { return []; }, propDecorators: { config: [{
|
|
76
76
|
type: Input
|
|
77
77
|
}], stepNumber: [{
|
|
@@ -120,4 +120,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
120
120
|
}], selectionChange: [{
|
|
121
121
|
type: Output
|
|
122
122
|
}] } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuc2hvdC1zdGVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdGVzdC1jYXNlLWRldGFpbHMvc2NyZWVuc2hvdC1zdGVwL3NjcmVlbnNob3Qtc3RlcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3Rlc3QtY2FzZS1kZXRhaWxzL3NjcmVlbnNob3Qtc3RlcC9zY3JlZW5zaG90LXN0ZXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFFdEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFTckUsTUFBTSxPQUFPLCtCQUErQjtJQTJCMUM7UUF0QlMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbkMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixhQUFRLEdBQVksSUFBSSxDQUFDO1FBSXhCLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2hDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQStDLENBQUM7UUFDOUUsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDaEMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDckMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDbEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3ZDLGdCQUFXLEdBQUcsSUFBSSxZQUFZ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QixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2NyZWVuc2hvdFN0ZXBDb25maWcsIFRlc3RDYXNlU3RlcENvbmZpZyB9IGZyb20gJy4uL3Rlc3QtY2FzZS1zdGVwLm1vZGVscyc7XG5pbXBvcnQgeyBTVEVQX1JPV19BQ1RJT05TX1NUWUxFUyB9IGZyb20gJy4uL3N0ZXAtcm93LWFjdGlvbnMuc3R5bGVzJztcbmltcG9ydCB7IFZpZXdEZXRhaWxzUGF5bG9hZCB9IGZyb20gJy4uL3N0ZXAtZGV0YWlscy1tb2RhbC9zdGVwLWRldGFpbHMtbW9kYWwtZGF0YSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS10ZXN0LWNhc2Utc2NyZWVuc2hvdC1zdGVwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NjcmVlbnNob3Qtc3RlcC5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHsgY2xhc3M6ICdjcWEtdWktcm9vdCcgfSxcbiAgc3R5bGVzOiBbU1RFUF9ST1dfQUNUSU9OU19TVFlMRVNdLFxufSlcbmV4cG9ydCBjbGFzcyBUZXN0Q2FzZVNjcmVlbnNob3RTdGVwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgY29uZmlnITogU2NyZWVuc2hvdFN0ZXBDb25maWc7XG4gIEBJbnB1dCgpIHN0ZXBOdW1iZXIhOiBudW1iZXIgfCBzdHJpbmc7XG4gIEBJbnB1dCgpIGluZGV4PzogbnVtYmVyO1xuICBASW5wdXQoKSBuYW1lPzogc3RyaW5nO1xuICBASW5wdXQoKSBmdWxsUGFnZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWxlY3Rvcj86IHN0cmluZztcbiAgQElucHV0KCkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzTmVzdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzSW5zaWRlU3RlcEdyb3VwOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzSW5zaWRlTG9vcDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBpc1Jlb3JkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZWRpdGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBWaWV3Q2hpbGQoJ3ZpZXdEZXRhaWxzVHJpZ2dlcicsIHsgc3RhdGljOiBmYWxzZSB9KSB2aWV3RGV0YWlsc1RyaWdnZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAT3V0cHV0KCkgZWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGVkaXRJbkRlcHRoID0gbmV3IEV2ZW50RW1pdHRlcjx7IHN0ZXA6IFRlc3RDYXNlU3RlcENvbmZpZzsgaW5kZXg6IG51bWJlciB9PigpO1xuICBAT3V0cHV0KCkgbGluayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGR1cGxpY2F0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGRlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIG1vcmVPcHRpb25zID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgdmlld0RldGFpbHMgPSBuZXcgRXZlbnRFbWl0dGVyPFZpZXdEZXRhaWxzUGF5bG9hZD4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29uZmlnKSB7XG4gICAgICB0aGlzLnN0ZXBOdW1iZXIgPSB0aGlzLmNvbmZpZy5zdGVwTnVtYmVyO1xuICAgICAgdGhpcy5uYW1lID0gdGhpcy5jb25maWcubmFtZTtcbiAgICAgIHRoaXMuZnVsbFBhZ2UgPSB0aGlzLmNvbmZpZy5mdWxsUGFnZSB8fCBmYWxzZTtcbiAgICAgIHRoaXMuc2VsZWN0b3IgPSB0aGlzLmNvbmZpZy5zZWxlY3RvcjtcbiAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSB0aGlzLmNvbmZpZy5kZXNjcmlwdGlvbjtcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLmNvbmZpZy5zZWxlY3RlZCB8fCBmYWxzZTtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLmNvbmZpZy5kaXNhYmxlZCB8fCBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBnZXRTY3JlZW5zaG90RGVzY3JpcHRpb24oKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5kZXNjcmlwdGlvbikgcmV0dXJuIHRoaXMuZGVzY3JpcHRpb247XG4gICAgY29uc3Qgc2NvcGUgPSB0aGlzLmZ1bGxQYWdlID8gJ2Z1bGwgcGFnZScgOiAndmlld3BvcnQnO1xuICAgIGNvbnN0IGZpbGUgPSB0aGlzLm5hbWUgPyBgJHt0aGlzLm5hbWV9LnBuZ2AgOiBgc2NyZWVuc2hvdC17e3RpbWVzdGFtcH19LnBuZ2A7XG4gICAgcmV0dXJuIGBDYXB0dXJlICR7c2NvcGV9IHNjcmVlbnNob3QgJHtmaWxlfWA7XG4gIH1cblxuICBvbkVkaXQoKTogdm9pZCB7XG4gICAgY29uc3QgaWR4ID0gdHlwZW9mIHRoaXMuaW5kZXggPT09ICdudW1iZXInID8gdGhpcy5pbmRleCA6ICh0eXBlb2YgdGhpcy5zdGVwTnVtYmVyID09PSAnbnVtYmVyJyA/IHRoaXMuc3RlcE51bWJlciAtIDEgOiAodHlwZW9mIHRoaXMuc3RlcE51bWJlciA9PT0gJ3N0cmluZycgPyBwYXJzZUludCh0aGlzLnN0ZXBOdW1iZXIsIDEwKSAtIDEgOiAwKSk7XG4gICAgdGhpcy5lZGl0SW5EZXB0aC5lbWl0KHsgc3RlcDogdGhpcy5jb25maWcgYXMgVGVzdENhc2VTdGVwQ29uZmlnLCBpbmRleDogaXNOYU4oaWR4IGFzIG51bWJlcikgPyAwIDogKGlkeCBhcyBudW1iZXIpIH0pO1xuICAgIHRoaXMuZWRpdC5lbWl0KCk7XG4gIH1cbiAgb25MaW5rKCk6IHZvaWQgeyB0aGlzLmxpbmsuZW1pdCgpOyB9XG4gIG9uRHVwbGljYXRlKCk6IHZvaWQgeyB0aGlzLmR1cGxpY2F0ZS5lbWl0KCk7IH1cbiAgb25EZWxldGUoKTogdm9pZCB7IHRoaXMuZGVsZXRlLmVtaXQoKTsgfVxuICBvbk1vcmVPcHRpb25zKCk6IHZvaWQgeyB0aGlzLm1vcmVPcHRpb25zLmVtaXQoKTsgfVxuICBvblZpZXdEZXRhaWxzKGV2ZW50PzogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgICBcbiAgICBpZiAoIXRoaXMuY29uZmlnLmRlc2NyaXB0aW9uIHx8IHRoaXMuY29uZmlnLmRlc2NyaXB0aW9uLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIHRoaXMudmlld0RldGFpbHMuZW1pdCh7XG4gICAgICAgIGV2ZW50LFxuICAgICAgICB0aXRsZTogJ1NjcmVlbnNob3QgU3RlcCBEZXRhaWxzJyxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuY29uZmlnLmRlc2NyaXB0aW9uLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIG9uU2VsZWN0aW9uQ2hhbmdlKGNoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkIHsgdGhpcy5zZWxlY3RlZCA9IGNoZWNrZWQ7IHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoY2hlY2tlZCk7IH1cbn1cbiIsIjxkaXYgW2NsYXNzXT1cIidzdGVwLXJvdyBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMyBjcWEtcHktMiAnICsgKGlzSW5zaWRlTG9vcCAmJiBpc0luc2lkZVN0ZXBHcm91cCA/ICdjcWEtcGwtMjAgY3FhLXByLTQnIDogKGlzSW5zaWRlTG9vcCB8fCBpc0luc2lkZVN0ZXBHcm91cCkgPyAnY3FhLXBsLTEwIGNxYS1wci00JyA6ICdjcWEtcHgtNCcpXCIgc3R5bGU9XCJib3JkZXItdG9wOiAxcHggc29saWQgI0U1RTdFQjtcIj5cbiAgPGRpdiBjbGFzcz1cImNxYS1pbmxpbmUtZmxleCBjcWEtaXRlbXMtY2VudGVyXCI+XG4gICAgPCEtLSBEcmFnIEhhbmRsZSBJY29uICh3aGVuIGlzUmVvcmRlciBpcyB0cnVlIGFuZCBub3QgaW5zaWRlIHN0ZXAgZ3JvdXAgLSBzdGVwcyBpbnNpZGUgc3RlcCBncm91cHMgY2Fubm90IGJlIHJlb3JkZXJlZCkgLS0+XG4gICAgPGRpdiAqbmdJZj1cImlzUmVvcmRlciAmJiAhaXNJbnNpZGVTdGVwR3JvdXBcIiBjbGFzcz1cImNxYS1tci0yIGNxYS1jdXJzb3ItbW92ZSBjcWEtdGV4dC1bIzZCNzI4MF0gaG92ZXI6Y3FhLXRleHQtWyMxMTE4MjddXCI+XG4gICAgICA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjNcIiBjeT1cIjNcIiByPVwiMS41XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjhcIiBjeT1cIjNcIiByPVwiMS41XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjEzXCIgY3k9XCIzXCIgcj1cIjEuNVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XG4gICAgICAgIDxjaXJjbGUgY3g9XCIzXCIgY3k9XCI4XCIgcj1cIjEuNVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XG4gICAgICAgIDxjaXJjbGUgY3g9XCI4XCIgY3k9XCI4XCIgcj1cIjEuNVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XG4gICAgICAgIDxjaXJjbGUgY3g9XCIxM1wiIGN5PVwiOFwiIHI9XCIxLjVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxuICAgICAgICA8Y2lyY2xlIGN4PVwiM1wiIGN5PVwiMTNcIiByPVwiMS41XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjhcIiBjeT1cIjEzXCIgcj1cIjEuNVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XG4gICAgICAgIDxjaXJjbGUgY3g9XCIxM1wiIGN5PVwiMTNcIiByPVwiMS41XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gQ2hlY2tib3ggKHdoZW4gaXNSZW9yZGVyIGlzIGZhbHNlIGFuZCBub3QgaW5zaWRlIHN0ZXAgZ3JvdXAgLSBoaWRlIGZvciBzdGVwcyBpbnNpZGUgc3RlcCBncm91cHMpIC0tPlxuICAgIDxsYWJlbCAqbmdJZj1cImVkaXRhYmxlICYmICFpc1Jlb3JkZXIgJiYgIWlzSW5zaWRlU3RlcEdyb3VwXCIgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1jdXJzb3ItcG9pbnRlciBjcWEtcmVsYXRpdmUgY3FhLW1yLTJcIj5cbiAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBjbGFzcz1cImNxYS1oLTQgY3FhLXctNCBjcWEtY3Vyc29yLXBvaW50ZXIgY3FhLXRyYW5zaXRpb24tYWxsIGNxYS1hcHBlYXJhbmNlLW5vbmUgY3FhLXJvdW5kZWQgc2hhZG93IGhvdmVyOmNxYS1zaGFkb3ctbWQgY3FhLWJvcmRlciBjcWEtYm9yZGVyLXNvbGlkIGNxYS1ib3JkZXItc2xhdGUtMzAwIGNxYS1mbGV4LXNocmluay0wXCJcbiAgICAgICAgW2NsYXNzLmNxYS1iZy1bIzNGNDNFRV1dPVwic2VsZWN0ZWRcIlxuICAgICAgICBbY2xhc3MuY3FhLWJvcmRlci1bIzNGNDNFRV1dPVwic2VsZWN0ZWRcIlxuICAgICAgICBpZD1cImNoZWNrXCIgLz5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLWFic29sdXRlIGNxYS10ZXh0LXdoaXRlIGNxYS10b3AtMS8yIGNxYS1sZWZ0LTEvMiBjcWEtLXRyYW5zbGF0ZS14LTEvMiBjcWEtLXRyYW5zbGF0ZS15LTEvMiBjcWEtcG9pbnRlci1ldmVudHMtbm9uZSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgIFtjbGFzcy5jcWEtb3BhY2l0eS0wXT1cIiFzZWxlY3RlZFwiXG4gICAgICAgIFtjbGFzcy5jcWEtb3BhY2l0eS0xMDBdPVwic2VsZWN0ZWRcIj5cbiAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEyIDEzXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMCAzLjEyNUw0LjUgOC42MjVMMiA2LjEyNVwiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPlxuICAgICAgPC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsjNkI3MjgwXSBjcWEtdGV4dC1bMTRweF0gY3FhLWxlYWRpbmctWzE4cHhdIGNxYS1taW4tdy1bMzJweF1cIj57eyBzdGVwTnVtYmVyIH19PC9zcGFuPlxuICA8c3BhbiB0aXRsZT1cIlNjcmVlbnNob3RcIiBjbGFzcz1cImNxYS13LTggY3FhLWgtOCBjcWEtcm91bmRlZC1sZyBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtZmxleC1zaHJpbmstMCBjcWEtYmctWyNGQ0U3RjNdIGNxYS10ZXh0LVsjREIyNzc3XVwiPlxuICAgIDxzdmcgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxNCAxNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMTEuMDgzMyAyLjMzMzMzSDIuOTE2NjdDMi4yNzIzMyAyLjMzMzMzIDEuNzUgMi44NTU2NyAxLjc1IDMuNVYxMC41QzEuNzUgMTEuMTQ0MyAyLjI3MjMzIDExLjY2NjcgMi45MTY2NyAxMS42NjY3SDExLjA4MzNDMTEuNzI3NyAxMS42NjY3IDEyLjI1IDExLjE0NDMgMTIuMjUgMTAuNVYzLjVDMTIuMjUgMi44NTU2NyAxMS43Mjc3IDIuMzMzMzMgMTEuMDgzMyAyLjMzMzMzWlwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk01LjI1IDUuODMzMzNDNS43MzMyNSA1LjgzMzMzIDYuMTI1IDUuNDQxNTggNi4xMjUgNC45NTgzM0M2LjEyNSA0LjQ3NTA4IDUuNzMzMjUgNC4wODMzMyA1LjI1IDQuMDgzMzNDNC43NjY3NSA0LjA4MzMzIDQuMzc1IDQuNDc1MDggNC4zNzUgNC45NTgzM0M0LjM3NSA1LjQ0MTU4IDQuNzY2NzUgNS44MzMzMyA1LjI1IDUuODMzMzNaXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTEyLjI1IDguNzVMOS4zMzMzMyA1LjgzMzMzTDIuOTE2NjcgMTEuNjY2N1wiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+XG4gIDwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bIzExMTgyN10gY3FhLXRleHQtWzE0cHhdIGNxYS1sZWFkaW5nLVsxOHB4XVwiPnt7IGdldFNjcmVlbnNob3REZXNjcmlwdGlvbigpIH19PC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cIm5hbWVcIiBjbGFzcz1cImNxYS1weS0wLjUgY3FhLXB4LTIgY3FhLXRleHQtWyNEQjI3NzddIGNxYS10ZXh0LVsxNHB4XSBjcWEtbGVhZGluZy1bMTdweF0gY3FhLWZvbnQtc2VtaWJvbGQgY3FhLWJvcmRlciBjcWEtYm9yZGVyLXNvbGlkIGNxYS1ib3JkZXItWyNGOUE4RDRdIGNxYS1yb3VuZGVkIGNxYS1iZy1bI0ZDRTdGM11cIj57eyBuYW1lIH19PC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXgtZ3Jvd1wiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTJcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiZWRpdGFibGUgJiYgIWlzSW5zaWRlU3RlcEdyb3VwICYmICFpc1Jlb3JkZXJcIiBjbGFzcz1cInN0ZXAtYWN0aW9ucyBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMS41IGNxYS1wci0yXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uRWRpdCgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiB0aXRsZT1cIkVkaXRcIiBjbGFzcz1cImNxYS1wLTAgY3FhLXRleHQtWyM5OUExQWZdIGhvdmVyOmNxYS10ZXh0LVsjMTQ0N0U2XVwiPjxzdmcgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxNCAxNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNNyAxMS42NjY2SDEyLjI1XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTkuNTUyMDggMi4xMTI4QzkuNzg0MyAxLjg4MDU4IDEwLjA5OTMgMS43NTAxMiAxMC40Mjc3IDEuNzUwMTJDMTAuNzU2MSAxLjc1MDEyIDExLjA3MSAxLjg4MDU4IDExLjMwMzMgMi4xMTI4QzExLjUzNTUgMi4zNDUwMiAxMS42NjU5IDIuNjU5OTggMTEuNjY1OSAyLjk4ODM4QzExLjY2NTkgMy4zMTY3OSAxMS41MzU1IDMuNjMxNzUgMTEuMzAzMyAzLjg2Mzk3TDQuMjk3NDIgMTAuODcwNEM0LjE1ODY0IDExLjAwOTIgMy45ODcxIDExLjExMDcgMy43OTg2NyAxMS4xNjU2TDIuMTIzMzMgMTEuNjU0NEMyLjA3MzE0IDExLjY2OSAyLjAxOTkzIDExLjY2OTkgMS45NjkyOCAxMS42NTY5QzEuOTE4NjMgMTEuNjQzOSAxLjg3MjQgMTEuNjE3NiAxLjgzNTQzIDExLjU4MDZDMS43OTg0NiAxMS41NDM3IDEuNzcyMSAxMS40OTc0IDEuNzU5MTMgMTEuNDQ2OEMxLjc0NjE1IDExLjM5NjEgMS43NDcwMyAxMS4zNDI5IDEuNzYxNjcgMTEuMjkyN0wyLjI1MDUgOS42MTczOEMyLjMwNTQ2IDkuNDI5MTYgMi40MDY5OCA5LjI1NzgzIDIuNTQ1NjcgOS4xMTkyMkw5LjU1MjA4IDIuMTEyOFpcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPjwvYnV0dG9uPlxuICAgIDwhLS0gPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uTGluaygpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiB0aXRsZT1cIkxpbmtcIiBjbGFzcz1cImNxYS1wLTAgY3FhLXRleHQtWyM5OUExQWZdIGhvdmVyOmNxYS10ZXh0LVsjMTQ0N0U2XVwiPjxzdmcgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxNCAxNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNNS4wMDA2NSA5LjkxNjcxSDMuNjY3MzJDMi43ODMyNiA5LjkxNjcxIDEuOTM1NDIgOS42MDk0MiAxLjMxMDMgOS4wNjI0NEMwLjY4NTE3NCA4LjUxNTQ1IDAuMzMzOTg0IDcuNzczNTkgMC4zMzM5ODQgNy4wMDAwNEMwLjMzMzk4NCA2LjIyNjQ5IDAuNjg1MTc0IDUuNDg0NjMgMS4zMTAzIDQuOTM3NjVDMS45MzU0MiA0LjM5MDY2IDIuNzgzMjYgNC4wODMzNyAzLjY2NzMyIDQuMDgzMzdINS4wMDA2NVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk05IDQuMDgzMzdIMTAuMzMzM0MxMS4yMTc0IDQuMDgzMzcgMTIuMDY1MiA0LjM5MDY2IDEyLjY5MDQgNC45Mzc2NUMxMy4zMTU1IDUuNDg0NjMgMTMuNjY2NyA2LjIyNjQ5IDEzLjY2NjcgNy4wMDAwNEMxMy42NjY3IDcuNzczNTkgMTMuMzE1NSA4LjUxNTQ1IDEyLjY5MDQgOS4wNjI0NEMxMi4wNjUyIDkuNjA5NDIgMTEuMjE3NCA5LjkxNjcxIDEwLjMzMzMgOS45MTY3MUg5XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTQuMzMzOTggN0g5LjY2NzMyXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz48L2J1dHRvbj4gLS0+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uRHVwbGljYXRlKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIHRpdGxlPVwiRHVwbGljYXRlXCIgY2xhc3M9XCJjcWEtcC0wIGNxYS10ZXh0LVsjOTlBMUFmXSBob3ZlcjpjcWEtdGV4dC1bIzE0NDdFNl1cIj48c3ZnIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTQgMTRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTExLjY2NiA0LjY2NjYzSDUuODMyNjhDNS4xODgzNSA0LjY2NjYzIDQuNjY2MDIgNS4xODg5NiA0LjY2NjAyIDUuODMzMjlWMTEuNjY2NkM0LjY2NjAyIDEyLjMxMSA1LjE4ODM1IDEyLjgzMzMgNS44MzI2OCAxMi44MzMzSDExLjY2NkMxMi4zMTAzIDEyLjgzMzMgMTIuODMyNyAxMi4zMTEgMTIuODMyNyAxMS42NjY2VjUuODMzMjlDMTIuODMyNyA1LjE4ODk2IDEyLjMxMDMgNC42NjY2MyAxMS42NjYgNC42NjY2M1pcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNMi4zMzI2OCA5LjMzMzI5QzEuNjkxMDIgOS4zMzMyOSAxLjE2NjAyIDguODA4MjkgMS4xNjYwMiA4LjE2NjYzVjIuMzMzMjlDMS4xNjYwMiAxLjY5MTYzIDEuNjkxMDIgMS4xNjY2MyAyLjMzMjY4IDEuMTY2NjNIOC4xNjYwMkM4LjgwNzY4IDEuMTY2NjMgOS4zMzI2OCAxLjY5MTYzIDkuMzMyNjggMi4zMzMyOVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+PC9idXR0b24+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9uRGVsZXRlKCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiIHRpdGxlPVwiRGVsZXRlXCIgY2xhc3M9XCJjcWEtcC0wIGNxYS10ZXh0LVsjZmY2NDY3XSBob3ZlcjpjcWEtdGV4dC1bI0M2MzUzNV1cIj48c3ZnIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTQgMTRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTEuNzUgMy41SDEyLjI1XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTExLjA4MjcgMy41VjExLjY2NjdDMTEuMDgyNyAxMi4yNSAxMC40OTkzIDEyLjgzMzMgOS45MTYwMiAxMi44MzMzSDQuMDgyNjhDMy40OTkzNSAxMi44MzMzIDIuOTE2MDIgMTIuMjUgMi45MTYwMiAxMS42NjY3VjMuNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk00LjY2NjAyIDMuNDk5OTZWMi4zMzMyOUM0LjY2NjAyIDEuNzQ5OTYgNS4yNDkzNSAxLjE2NjYzIDUuODMyNjggMS4xNjY2M0g4LjE2NjAyQzguNzQ5MzUgMS4xNjY2MyA5LjMzMjY4IDEuNzQ5OTYgOS4zMzI2OCAyLjMzMzI5VjMuNDk5OTZcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNNS44MzM5OCA2LjQxNjYzVjkuOTE2NjNcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNOC4xNjYwMiA2LjQxNjYzVjkuOTE2NjNcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPjwvYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxhICpuZ0lmPVwiY29uZmlnLmRlc2NyaXB0aW9uICYmIGNvbmZpZy5kZXNjcmlwdGlvbi50cmltKCkgIT09ICcnXCIgI3ZpZXdEZXRhaWxzVHJpZ2dlciBocmVmPVwiI1wiIChjbGljayk9XCJvblZpZXdEZXRhaWxzKCRldmVudClcIiBjbGFzcz1cImNxYS10ZXh0LVsjM0Y0M0VFXSBjcWEtdGV4dC1bMTBweF0gY3FhLWxlYWRpbmctWzE1cHhdIGNxYS1mb250LW1lZGl1bSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMSBjcWEtbm8tdW5kZXJsaW5lXCI+VmlldyBEZXRhaWxzPHN2ZyB3aWR0aD1cIjhcIiBoZWlnaHQ9XCI4XCIgdmlld0JveD1cIjAgMCA4IDhcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTIuMDM4MDkgNi43NDMyOUwyLjYyODA5IDcuMzMzMjlMNS45NjE0MiAzLjk5OTk2TDIuNjI4MDkgMC42NjY2MjZMMi4wMzgwOSAxLjI1NjYzTDQuNzgxNDIgMy45OTk5NkwyLjAzODA5IDYuNzQzMjlaXCIgZmlsbD1cIiMzRjQzRUVcIi8+PC9zdmc+PC9hPlxuICAgIDwhLS0gQ3JlYXRlZCBEYXRlIChmcm9tIEFQSSkgLSBsYXN0IHNvIGFsaWduZWQgYWNyb3NzIGFsbCBzdGVwcywgZm9ybWF0OiAyNSBGZWIgMjAyNiAtLT5cbiAgICA8c3BhbiAqbmdJZj1cImNvbmZpZy5jcmVhdGVkRGF0ZVwiIGNsYXNzPVwic3RlcC1kYXRlIGNxYS10ZXh0LVsjNkI3MjgwXSBjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctWzE1cHhdIGNxYS1tbC1hdXRvIGNxYS1mbGV4LXNocmluay0wXCI+XG4gICAgICB7eyBjb25maWcuY3JlYXRlZERhdGUgfCBkYXRlOidkIE1NTSB5eXl5JyB9fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuc2hvdC1zdGVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdGVzdC1jYXNlLWRldGFpbHMvc2NyZWVuc2hvdC1zdGVwL3NjcmVlbnNob3Qtc3RlcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3Rlc3QtY2FzZS1kZXRhaWxzL3NjcmVlbnNob3Qtc3RlcC9zY3JlZW5zaG90LXN0ZXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBVSxTQUFTLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFFdEcsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFTckUsTUFBTSxPQUFPLCtCQUErQjtJQTJCMUM7UUF0QlMsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUcxQixhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQixzQkFBaUIsR0FBWSxLQUFLLENBQUM7UUFDbkMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixhQUFRLEdBQVksSUFBSSxDQUFDO1FBSXhCLFNBQUksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2hDLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQStDLENBQUM7UUFDOUUsU0FBSSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDaEMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDckMsV0FBTSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDbEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3ZDLGdCQUFXLEdBQUcsSUFBSSxZQUFZ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QixNQUFNO2dCQUNHLElBQUk7c0JBQWIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2NyZWVuc2hvdFN0ZXBDb25maWcsIFRlc3RDYXNlU3RlcENvbmZpZyB9IGZyb20gJy4uL3Rlc3QtY2FzZS1zdGVwLm1vZGVscyc7XG5pbXBvcnQgeyBTVEVQX1JPV19BQ1RJT05TX1NUWUxFUyB9IGZyb20gJy4uL3N0ZXAtcm93LWFjdGlvbnMuc3R5bGVzJztcbmltcG9ydCB7IFZpZXdEZXRhaWxzUGF5bG9hZCB9IGZyb20gJy4uL3N0ZXAtZGV0YWlscy1tb2RhbC9zdGVwLWRldGFpbHMtbW9kYWwtZGF0YSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS10ZXN0LWNhc2Utc2NyZWVuc2hvdC1zdGVwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NjcmVlbnNob3Qtc3RlcC5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHsgY2xhc3M6ICdjcWEtdWktcm9vdCcgfSxcbiAgc3R5bGVzOiBbU1RFUF9ST1dfQUNUSU9OU19TVFlMRVNdLFxufSlcbmV4cG9ydCBjbGFzcyBUZXN0Q2FzZVNjcmVlbnNob3RTdGVwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgY29uZmlnITogU2NyZWVuc2hvdFN0ZXBDb25maWc7XG4gIEBJbnB1dCgpIHN0ZXBOdW1iZXIhOiBudW1iZXIgfCBzdHJpbmc7XG4gIEBJbnB1dCgpIGluZGV4PzogbnVtYmVyO1xuICBASW5wdXQoKSBuYW1lPzogc3RyaW5nO1xuICBASW5wdXQoKSBmdWxsUGFnZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzZWxlY3Rvcj86IHN0cmluZztcbiAgQElucHV0KCkgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzTmVzdGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzSW5zaWRlU3RlcEdyb3VwOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGlzSW5zaWRlTG9vcDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBpc1Jlb3JkZXI6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgZWRpdGFibGU6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBWaWV3Q2hpbGQoJ3ZpZXdEZXRhaWxzVHJpZ2dlcicsIHsgc3RhdGljOiBmYWxzZSB9KSB2aWV3RGV0YWlsc1RyaWdnZXI/OiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBAT3V0cHV0KCkgZWRpdCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGVkaXRJbkRlcHRoID0gbmV3IEV2ZW50RW1pdHRlcjx7IHN0ZXA6IFRlc3RDYXNlU3RlcENvbmZpZzsgaW5kZXg6IG51bWJlciB9PigpO1xuICBAT3V0cHV0KCkgbGluayA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGR1cGxpY2F0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGRlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIG1vcmVPcHRpb25zID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICBAT3V0cHV0KCkgdmlld0RldGFpbHMgPSBuZXcgRXZlbnRFbWl0dGVyPFZpZXdEZXRhaWxzUGF5bG9hZD4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29uZmlnKSB7XG4gICAgICB0aGlzLnN0ZXBOdW1iZXIgPSB0aGlzLmNvbmZpZy5zdGVwTnVtYmVyO1xuICAgICAgdGhpcy5uYW1lID0gdGhpcy5jb25maWcubmFtZTtcbiAgICAgIHRoaXMuZnVsbFBhZ2UgPSB0aGlzLmNvbmZpZy5mdWxsUGFnZSB8fCBmYWxzZTtcbiAgICAgIHRoaXMuc2VsZWN0b3IgPSB0aGlzLmNvbmZpZy5zZWxlY3RvcjtcbiAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSB0aGlzLmNvbmZpZy5kZXNjcmlwdGlvbjtcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLmNvbmZpZy5zZWxlY3RlZCB8fCBmYWxzZTtcbiAgICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLmNvbmZpZy5kaXNhYmxlZCB8fCBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBnZXRTY3JlZW5zaG90RGVzY3JpcHRpb24oKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5kZXNjcmlwdGlvbikgcmV0dXJuIHRoaXMuZGVzY3JpcHRpb247XG4gICAgY29uc3Qgc2NvcGUgPSB0aGlzLmZ1bGxQYWdlID8gJ2Z1bGwgcGFnZScgOiAndmlld3BvcnQnO1xuICAgIGNvbnN0IGZpbGUgPSB0aGlzLm5hbWUgPyBgJHt0aGlzLm5hbWV9LnBuZ2AgOiBgc2NyZWVuc2hvdC17e3RpbWVzdGFtcH19LnBuZ2A7XG4gICAgcmV0dXJuIGBDYXB0dXJlICR7c2NvcGV9IHNjcmVlbnNob3QgJHtmaWxlfWA7XG4gIH1cblxuICBvbkVkaXQoKTogdm9pZCB7XG4gICAgY29uc3QgaWR4ID0gdHlwZW9mIHRoaXMuaW5kZXggPT09ICdudW1iZXInID8gdGhpcy5pbmRleCA6ICh0eXBlb2YgdGhpcy5zdGVwTnVtYmVyID09PSAnbnVtYmVyJyA/IHRoaXMuc3RlcE51bWJlciAtIDEgOiAodHlwZW9mIHRoaXMuc3RlcE51bWJlciA9PT0gJ3N0cmluZycgPyBwYXJzZUludCh0aGlzLnN0ZXBOdW1iZXIsIDEwKSAtIDEgOiAwKSk7XG4gICAgdGhpcy5lZGl0SW5EZXB0aC5lbWl0KHsgc3RlcDogdGhpcy5jb25maWcgYXMgVGVzdENhc2VTdGVwQ29uZmlnLCBpbmRleDogaXNOYU4oaWR4IGFzIG51bWJlcikgPyAwIDogKGlkeCBhcyBudW1iZXIpIH0pO1xuICAgIHRoaXMuZWRpdC5lbWl0KCk7XG4gIH1cbiAgb25MaW5rKCk6IHZvaWQgeyB0aGlzLmxpbmsuZW1pdCgpOyB9XG4gIG9uRHVwbGljYXRlKCk6IHZvaWQgeyB0aGlzLmR1cGxpY2F0ZS5lbWl0KCk7IH1cbiAgb25EZWxldGUoKTogdm9pZCB7IHRoaXMuZGVsZXRlLmVtaXQoKTsgfVxuICBvbk1vcmVPcHRpb25zKCk6IHZvaWQgeyB0aGlzLm1vcmVPcHRpb25zLmVtaXQoKTsgfVxuICBvblZpZXdEZXRhaWxzKGV2ZW50PzogTW91c2VFdmVudCk6IHZvaWQge1xuICAgIGlmIChldmVudCkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cbiAgICBcbiAgICBpZiAoIXRoaXMuY29uZmlnLmRlc2NyaXB0aW9uIHx8IHRoaXMuY29uZmlnLmRlc2NyaXB0aW9uLnRyaW0oKSA9PT0gJycpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQpIHtcbiAgICAgIHRoaXMudmlld0RldGFpbHMuZW1pdCh7XG4gICAgICAgIGV2ZW50LFxuICAgICAgICB0aXRsZTogJ1NjcmVlbnNob3QgU3RlcCBEZXRhaWxzJyxcbiAgICAgICAgZGVzY3JpcHRpb246IHRoaXMuY29uZmlnLmRlc2NyaXB0aW9uLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIG9uU2VsZWN0aW9uQ2hhbmdlKGNoZWNrZWQ6IGJvb2xlYW4pOiB2b2lkIHsgdGhpcy5zZWxlY3RlZCA9IGNoZWNrZWQ7IHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoY2hlY2tlZCk7IH1cbn1cbiIsIjxkaXYgW2NsYXNzXT1cIidzdGVwLXJvdyBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtMyBjcWEtcHktMiAnICsgKGlzSW5zaWRlTG9vcCAmJiBpc0luc2lkZVN0ZXBHcm91cCA/ICdjcWEtcGwtMjAgY3FhLXByLTQnIDogKGlzSW5zaWRlTG9vcCB8fCBpc0luc2lkZVN0ZXBHcm91cCkgPyAnY3FhLXBsLTEwIGNxYS1wci00JyA6ICdjcWEtcHgtNCcpXCIgc3R5bGU9XCJib3JkZXItdG9wOiAxcHggc29saWQgI0U1RTdFQjtcIj5cbiAgPGRpdiBjbGFzcz1cImNxYS1pbmxpbmUtZmxleCBjcWEtaXRlbXMtY2VudGVyXCI+XG4gICAgPCEtLSBEcmFnIEhhbmRsZSBJY29uICh3aGVuIGlzUmVvcmRlciBpcyB0cnVlIGFuZCBub3QgaW5zaWRlIHN0ZXAgZ3JvdXAgLSBzdGVwcyBpbnNpZGUgc3RlcCBncm91cHMgY2Fubm90IGJlIHJlb3JkZXJlZCkgLS0+XG4gICAgPGRpdiAqbmdJZj1cImlzUmVvcmRlciAmJiAhaXNJbnNpZGVTdGVwR3JvdXBcIiBjbGFzcz1cImNxYS1tci0yIGNxYS1jdXJzb3ItbW92ZSBjcWEtdGV4dC1bIzZCNzI4MF0gaG92ZXI6Y3FhLXRleHQtWyMxMTE4MjddXCI+XG4gICAgICA8c3ZnIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjNcIiBjeT1cIjNcIiByPVwiMS41XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjhcIiBjeT1cIjNcIiByPVwiMS41XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjEzXCIgY3k9XCIzXCIgcj1cIjEuNVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XG4gICAgICAgIDxjaXJjbGUgY3g9XCIzXCIgY3k9XCI4XCIgcj1cIjEuNVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XG4gICAgICAgIDxjaXJjbGUgY3g9XCI4XCIgY3k9XCI4XCIgcj1cIjEuNVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XG4gICAgICAgIDxjaXJjbGUgY3g9XCIxM1wiIGN5PVwiOFwiIHI9XCIxLjVcIiBmaWxsPVwiY3VycmVudENvbG9yXCIvPlxuICAgICAgICA8Y2lyY2xlIGN4PVwiM1wiIGN5PVwiMTNcIiByPVwiMS41XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgICAgPGNpcmNsZSBjeD1cIjhcIiBjeT1cIjEzXCIgcj1cIjEuNVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIi8+XG4gICAgICAgIDxjaXJjbGUgY3g9XCIxM1wiIGN5PVwiMTNcIiByPVwiMS41XCIgZmlsbD1cImN1cnJlbnRDb2xvclwiLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICAgIDwhLS0gQ2hlY2tib3ggKHdoZW4gaXNSZW9yZGVyIGlzIGZhbHNlIGFuZCBub3QgaW5zaWRlIHN0ZXAgZ3JvdXAgLSBoaWRlIGZvciBzdGVwcyBpbnNpZGUgc3RlcCBncm91cHMpIC0tPlxuICAgIDxsYWJlbCAqbmdJZj1cImVkaXRhYmxlICYmICFpc1Jlb3JkZXIgJiYgIWlzSW5zaWRlU3RlcEdyb3VwXCIgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1jdXJzb3ItcG9pbnRlciBjcWEtcmVsYXRpdmUgY3FhLW1yLTJcIj5cbiAgICAgIDxpbnB1dCB0eXBlPVwiY2hlY2tib3hcIlxuICAgICAgICBbbmdNb2RlbF09XCJzZWxlY3RlZFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICBjbGFzcz1cImNxYS1oLTQgY3FhLXctNCBjcWEtY3Vyc29yLXBvaW50ZXIgY3FhLXRyYW5zaXRpb24tYWxsIGNxYS1hcHBlYXJhbmNlLW5vbmUgY3FhLXJvdW5kZWQgc2hhZG93IGhvdmVyOmNxYS1zaGFkb3ctbWQgY3FhLWJvcmRlciBjcWEtYm9yZGVyLXNvbGlkIGNxYS1ib3JkZXItc2xhdGUtMzAwIGNxYS1mbGV4LXNocmluay0wXCJcbiAgICAgICAgW2NsYXNzLmNxYS1iZy1bIzNGNDNFRV1dPVwic2VsZWN0ZWRcIlxuICAgICAgICBbY2xhc3MuY3FhLWJvcmRlci1bIzNGNDNFRV1dPVwic2VsZWN0ZWRcIlxuICAgICAgICBpZD1cImNoZWNrXCIgLz5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLWFic29sdXRlIGNxYS10ZXh0LXdoaXRlIGNxYS10b3AtMS8yIGNxYS1sZWZ0LTEvMiBjcWEtLXRyYW5zbGF0ZS14LTEvMiBjcWEtLXRyYW5zbGF0ZS15LTEvMiBjcWEtcG9pbnRlci1ldmVudHMtbm9uZSBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlclwiXG4gICAgICAgIFtjbGFzcy5jcWEtb3BhY2l0eS0wXT1cIiFzZWxlY3RlZFwiXG4gICAgICAgIFtjbGFzcy5jcWEtb3BhY2l0eS0xMDBdPVwic2VsZWN0ZWRcIj5cbiAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTNcIiB2aWV3Qm94PVwiMCAwIDEyIDEzXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMCAzLjEyNUw0LjUgOC42MjVMMiA2LjEyNVwiIHN0cm9rZT1cIndoaXRlXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPlxuICAgICAgPC9zcGFuPlxuICAgIDwvbGFiZWw+XG4gIDwvZGl2PlxuICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsjNkI3MjgwXSBjcWEtdGV4dC1bMTRweF0gY3FhLWxlYWRpbmctWzE4cHhdIGNxYS1taW4tdy1bMzJweF1cIj57eyBzdGVwTnVtYmVyIH19PC9zcGFuPlxuICA8c3BhbiB0aXRsZT1cIlNjcmVlbnNob3RcIiBjbGFzcz1cImNxYS13LTggY3FhLWgtOCBjcWEtcm91bmRlZC1sZyBjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtZmxleC1zaHJpbmstMCBjcWEtYmctWyNGQ0U3RjNdIGNxYS10ZXh0LVsjREIyNzc3XVwiPlxuICAgIDxzdmcgd2lkdGg9XCIxNFwiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxNCAxNFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPjxwYXRoIGQ9XCJNMTEuMDgzMyAyLjMzMzMzSDIuOTE2NjdDMi4yNzIzMyAyLjMzMzMzIDEuNzUgMi44NTU2NyAxLjc1IDMuNVYxMC41QzEuNzUgMTEuMTQ0MyAyLjI3MjMzIDExLjY2NjcgMi45MTY2NyAxMS42NjY3SDExLjA4MzNDMTEuNzI3NyAxMS42NjY3IDEyLjI1IDExLjE0NDMgMTIuMjUgMTAuNVYzLjVDMTIuMjUgMi44NTU2NyAxMS43Mjc3IDIuMzMzMzMgMTEuMDgzMyAyLjMzMzMzWlwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk01LjI1IDUuODMzMzNDNS43MzMyNSA1LjgzMzMzIDYuMTI1IDUuNDQxNTggNi4xMjUgNC45NTgzM0M2LjEyNSA0LjQ3NTA4IDUuNzMzMjUgNC4wODMzMyA1LjI1IDQuMDgzMzNDNC43NjY3NSA0LjA4MzMzIDQuMzc1IDQuNDc1MDggNC4zNzUgNC45NTgzM0M0LjM3NSA1LjQ0MTU4IDQuNzY2NzUgNS44MzMzMyA1LjI1IDUuODMzMzNaXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTEyLjI1IDguNzVMOS4zMzMzMyA1LjgzMzMzTDIuOTE2NjcgMTEuNjY2N1wiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+XG4gIDwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bIzExMTgyN10gY3FhLXRleHQtWzE0cHhdIGNxYS1sZWFkaW5nLVsxOHB4XVwiPnt7IGdldFNjcmVlbnNob3REZXNjcmlwdGlvbigpIH19PC9zcGFuPlxuICA8c3BhbiAqbmdJZj1cIm5hbWVcIiBjbGFzcz1cImNxYS1weS0wLjUgY3FhLXB4LTIgY3FhLXRleHQtWyNEQjI3NzddIGNxYS10ZXh0LVsxNHB4XSBjcWEtbGVhZGluZy1bMTdweF0gY3FhLWZvbnQtc2VtaWJvbGQgY3FhLWJvcmRlciBjcWEtYm9yZGVyLXNvbGlkIGNxYS1ib3JkZXItWyNGOUE4RDRdIGNxYS1yb3VuZGVkIGNxYS1iZy1bI0ZDRTdGM11cIj57eyBuYW1lIH19PC9zcGFuPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXgtZ3Jvd1wiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTIgY3FhLXNlbGYtY2VudGVyXCI+XG4gICAgPGRpdiAqbmdJZj1cImVkaXRhYmxlICYmICFpc0luc2lkZVN0ZXBHcm91cCAmJiAhaXNSZW9yZGVyXCIgY2xhc3M9XCJzdGVwLWFjdGlvbnMgY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTEuNSBjcWEtcHItMlwiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkVkaXQoKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgdGl0bGU9XCJFZGl0XCIgY2xhc3M9XCJjcWEtcC0wIGNxYS10ZXh0LVsjOTlBMUFmXSBob3ZlcjpjcWEtdGV4dC1bIzE0NDdFNl1cIj48c3ZnIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTQgMTRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTcgMTEuNjY2NkgxMi4yNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk05LjU1MjA4IDIuMTEyOEM5Ljc4NDMgMS44ODA1OCAxMC4wOTkzIDEuNzUwMTIgMTAuNDI3NyAxLjc1MDEyQzEwLjc1NjEgMS43NTAxMiAxMS4wNzEgMS44ODA1OCAxMS4zMDMzIDIuMTEyOEMxMS41MzU1IDIuMzQ1MDIgMTEuNjY1OSAyLjY1OTk4IDExLjY2NTkgMi45ODgzOEMxMS42NjU5IDMuMzE2NzkgMTEuNTM1NSAzLjYzMTc1IDExLjMwMzMgMy44NjM5N0w0LjI5NzQyIDEwLjg3MDRDNC4xNTg2NCAxMS4wMDkyIDMuOTg3MSAxMS4xMTA3IDMuNzk4NjcgMTEuMTY1NkwyLjEyMzMzIDExLjY1NDRDMi4wNzMxNCAxMS42NjkgMi4wMTk5MyAxMS42Njk5IDEuOTY5MjggMTEuNjU2OUMxLjkxODYzIDExLjY0MzkgMS44NzI0IDExLjYxNzYgMS44MzU0MyAxMS41ODA2QzEuNzk4NDYgMTEuNTQzNyAxLjc3MjEgMTEuNDk3NCAxLjc1OTEzIDExLjQ0NjhDMS43NDYxNSAxMS4zOTYxIDEuNzQ3MDMgMTEuMzQyOSAxLjc2MTY3IDExLjI5MjdMMi4yNTA1IDkuNjE3MzhDMi4zMDU0NiA5LjQyOTE2IDIuNDA2OTggOS4yNTc4MyAyLjU0NTY3IDkuMTE5MjJMOS41NTIwOCAyLjExMjhaXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz48L2J1dHRvbj5cbiAgICA8IS0tIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkxpbmsoKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCIgdGl0bGU9XCJMaW5rXCIgY2xhc3M9XCJjcWEtcC0wIGNxYS10ZXh0LVsjOTlBMUFmXSBob3ZlcjpjcWEtdGV4dC1bIzE0NDdFNl1cIj48c3ZnIHdpZHRoPVwiMTRcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTQgMTRcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj48cGF0aCBkPVwiTTUuMDAwNjUgOS45MTY3MUgzLjY2NzMyQzIuNzgzMjYgOS45MTY3MSAxLjkzNTQyIDkuNjA5NDIgMS4zMTAzIDkuMDYyNDRDMC42ODUxNzQgOC41MTU0NSAwLjMzMzk4NCA3Ljc3MzU5IDAuMzMzOTg0IDcuMDAwMDRDMC4zMzM5ODQgNi4yMjY0OSAwLjY4NTE3NCA1LjQ4NDYzIDEuMzEwMyA0LjkzNzY1QzEuOTM1NDIgNC4zOTA2NiAyLjc4MzI2IDQuMDgzMzcgMy42NjczMiA0LjA4MzM3SDUuMDAwNjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNOSA0LjA4MzM3SDEwLjMzMzNDMTEuMjE3NCA0LjA4MzM3IDEyLjA2NTIgNC4zOTA2NiAxMi42OTA0IDQuOTM3NjVDMTMuMzE1NSA1LjQ4NDYzIDEzLjY2NjcgNi4yMjY0OSAxMy42NjY3IDcuMDAwMDRDMTMuNjY2NyA3Ljc3MzU5IDEzLjMxNTUgOC41MTU0NSAxMi42OTA0IDkuMDYyNDRDMTIuMDY1MiA5LjYwOTQyIDExLjIxNzQgOS45MTY3MSAxMC4zMzMzIDkuOTE2NzFIOVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk00LjMzMzk4IDdIOS42NjczMlwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PC9zdmc+PC9idXR0b24+IC0tPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkR1cGxpY2F0ZSgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiB0aXRsZT1cIkR1cGxpY2F0ZVwiIGNsYXNzPVwiY3FhLXAtMCBjcWEtdGV4dC1bIzk5QTFBZl0gaG92ZXI6Y3FhLXRleHQtWyMxNDQ3RTZdXCI+PHN2ZyB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDE0IDE0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xMS42NjYgNC42NjY2M0g1LjgzMjY4QzUuMTg4MzUgNC42NjY2MyA0LjY2NjAyIDUuMTg4OTYgNC42NjYwMiA1LjgzMzI5VjExLjY2NjZDNC42NjYwMiAxMi4zMTEgNS4xODgzNSAxMi44MzMzIDUuODMyNjggMTIuODMzM0gxMS42NjZDMTIuMzEwMyAxMi44MzMzIDEyLjgzMjcgMTIuMzExIDEyLjgzMjcgMTEuNjY2NlY1LjgzMzI5QzEyLjgzMjcgNS4xODg5NiAxMi4zMTAzIDQuNjY2NjMgMTEuNjY2IDQuNjY2NjNaXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTIuMzMyNjggOS4zMzMyOUMxLjY5MTAyIDkuMzMzMjkgMS4xNjYwMiA4LjgwODI5IDEuMTY2MDIgOC4xNjY2M1YyLjMzMzI5QzEuMTY2MDIgMS42OTE2MyAxLjY5MTAyIDEuMTY2NjMgMi4zMzI2OCAxLjE2NjYzSDguMTY2MDJDOC44MDc2OCAxLjE2NjYzIDkuMzMyNjggMS42OTE2MyA5LjMzMjY4IDIuMzMzMjlcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjwvc3ZnPjwvYnV0dG9uPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvbkRlbGV0ZSgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIiB0aXRsZT1cIkRlbGV0ZVwiIGNsYXNzPVwiY3FhLXAtMCBjcWEtdGV4dC1bI2ZmNjQ2N10gaG92ZXI6Y3FhLXRleHQtWyNDNjM1MzVdXCI+PHN2ZyB3aWR0aD1cIjE0XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDE0IDE0XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0xLjc1IDMuNUgxMi4yNVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjEuMTY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+PHBhdGggZD1cIk0xMS4wODI3IDMuNVYxMS42NjY3QzExLjA4MjcgMTIuMjUgMTAuNDk5MyAxMi44MzMzIDkuOTE2MDIgMTIuODMzM0g0LjA4MjY4QzMuNDk5MzUgMTIuODMzMyAyLjkxNjAyIDEyLjI1IDIuOTE2MDIgMTEuNjY2N1YzLjVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIxLjE2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPjxwYXRoIGQ9XCJNNC42NjYwMiAzLjQ5OTk2VjIuMzMzMjlDNC42NjYwMiAxLjc0OTk2IDUuMjQ5MzUgMS4xNjY2MyA1LjgzMjY4IDEuMTY2NjNIOC4xNjYwMkM4Ljc0OTM1IDEuMTY2NjMgOS4zMzI2OCAxLjc0OTk2IDkuMzMyNjggMi4zMzMyOVYzLjQ5OTk2XCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTUuODMzOTggNi40MTY2M1Y5LjkxNjYzXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48cGF0aCBkPVwiTTguMTY2MDIgNi40MTY2M1Y5LjkxNjYzXCIgc3Ryb2tlPVwiY3VycmVudENvbG9yXCIgc3Ryb2tlLXdpZHRoPVwiMS4xNjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz48L3N2Zz48L2J1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8YSAqbmdJZj1cImNvbmZpZy5kZXNjcmlwdGlvbiAmJiBjb25maWcuZGVzY3JpcHRpb24udHJpbSgpICE9PSAnJ1wiICN2aWV3RGV0YWlsc1RyaWdnZXIgaHJlZj1cIiNcIiAoY2xpY2spPVwib25WaWV3RGV0YWlscygkZXZlbnQpXCIgY2xhc3M9XCJjcWEtdGV4dC1bIzNGNDNFRV0gY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1tZWRpdW0gY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtZ2FwLTEgY3FhLW5vLXVuZGVybGluZVwiPlZpZXcgRGV0YWlsczxzdmcgd2lkdGg9XCI4XCIgaGVpZ2h0PVwiOFwiIHZpZXdCb3g9XCIwIDAgOCA4XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+PHBhdGggZD1cIk0yLjAzODA5IDYuNzQzMjlMMi42MjgwOSA3LjMzMzI5TDUuOTYxNDIgMy45OTk5NkwyLjYyODA5IDAuNjY2NjI2TDIuMDM4MDkgMS4yNTY2M0w0Ljc4MTQyIDMuOTk5OTZMMi4wMzgwOSA2Ljc0MzI5WlwiIGZpbGw9XCIjM0Y0M0VFXCIvPjwvc3ZnPjwvYT5cbiAgICA8IS0tIENyZWF0ZWQgRGF0ZSAoZnJvbSBBUEkpIC0gbGFzdCBzbyBhbGlnbmVkIGFjcm9zcyBhbGwgc3RlcHMsIGZvcm1hdDogMjUgRmViIDIwMjYgLS0+XG4gICAgPHNwYW4gKm5nSWY9XCJjb25maWcuY3JlYXRlZERhdGVcIiBjbGFzcz1cInN0ZXAtZGF0ZSBjcWEtdGV4dC1bIzZCNzI4MF0gY3FhLXRleHQtWzEycHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtbWwtYXV0byBjcWEtZmxleC1zaHJpbmstMFwiPlxuICAgICAge3sgY29uZmlnLmNyZWF0ZWREYXRlIHwgZGF0ZTonZCBNTU0geXl5eScgfX1cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|