@cqa-lib/cqa-ui 1.1.5 → 1.1.7
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/badge/badge.component.mjs +19 -5
- package/esm2020/lib/compare-runs/compare-runs.component.mjs +5 -4
- package/esm2020/lib/custom-input/custom-input.component.mjs +137 -0
- package/esm2020/lib/failed-step-card/failed-step-card.component.mjs +4 -36
- package/esm2020/lib/run-history-card/run-history-card.component.mjs +5 -4
- package/esm2020/lib/table/dynamic-table/dynamic-table.component.mjs +3 -3
- package/esm2020/lib/ui-kit.module.mjs +10 -5
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/cqa-lib-cqa-ui.mjs +173 -47
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +171 -47
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/badge/badge.component.d.ts +1 -1
- package/lib/compare-runs/compare-runs.component.d.ts +2 -0
- package/lib/custom-input/custom-input.component.d.ts +39 -0
- package/lib/failed-step-card/failed-step-card.component.d.ts +1 -12
- package/lib/table/dynamic-table/dynamic-table.component.d.ts +1 -0
- package/lib/ui-kit.module.d.ts +17 -16
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/styles.css +1 -1
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
export class CustomInputComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.label = '';
|
|
7
|
+
this.type = 'text';
|
|
8
|
+
this.placeholder = '';
|
|
9
|
+
this.value = '';
|
|
10
|
+
this.disabled = false;
|
|
11
|
+
this.errors = [];
|
|
12
|
+
this.required = false;
|
|
13
|
+
this.ariaLabel = '';
|
|
14
|
+
this.size = 'md';
|
|
15
|
+
this.fullWidth = false;
|
|
16
|
+
this.showCharCount = false;
|
|
17
|
+
this.valueChange = new EventEmitter();
|
|
18
|
+
this.blurred = new EventEmitter();
|
|
19
|
+
this.focused = new EventEmitter();
|
|
20
|
+
this.enterPressed = new EventEmitter();
|
|
21
|
+
this.inputValue = '';
|
|
22
|
+
this.isFocused = false;
|
|
23
|
+
}
|
|
24
|
+
ngOnChanges(changes) {
|
|
25
|
+
if (changes['value'] && changes['value'].currentValue !== undefined) {
|
|
26
|
+
let newValue = changes['value'].currentValue ?? '';
|
|
27
|
+
if (this.maxLength && newValue.length > this.maxLength) {
|
|
28
|
+
newValue = newValue.substring(0, this.maxLength);
|
|
29
|
+
}
|
|
30
|
+
if (newValue !== this.inputValue) {
|
|
31
|
+
this.inputValue = newValue;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
get hasError() {
|
|
36
|
+
return this.errors && this.errors.length > 0;
|
|
37
|
+
}
|
|
38
|
+
get inputSizeClasses() {
|
|
39
|
+
switch (this.size) {
|
|
40
|
+
case 'sm':
|
|
41
|
+
return 'cqa-px-3 cqa-py-2 cqa-text-xs';
|
|
42
|
+
case 'md':
|
|
43
|
+
return 'cqa-px-4 cqa-py-2.5 cqa-text-sm';
|
|
44
|
+
case 'lg':
|
|
45
|
+
return 'cqa-px-5 cqa-py-3 cqa-text-base';
|
|
46
|
+
default:
|
|
47
|
+
return 'cqa-px-4 cqa-py-2.5 cqa-text-sm';
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
get labelSizeClasses() {
|
|
51
|
+
switch (this.size) {
|
|
52
|
+
case 'sm':
|
|
53
|
+
return 'cqa-text-xs cqa-mb-1';
|
|
54
|
+
case 'md':
|
|
55
|
+
return 'cqa-text-sm cqa-mb-1.5';
|
|
56
|
+
case 'lg':
|
|
57
|
+
return 'cqa-text-base cqa-mb-2';
|
|
58
|
+
default:
|
|
59
|
+
return 'cqa-text-sm cqa-mb-1.5';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
onInput(event) {
|
|
63
|
+
const target = event.target;
|
|
64
|
+
let nextValue = target?.value ?? '';
|
|
65
|
+
if (this.showCharCount && this.maxLength && nextValue.length > this.maxLength) {
|
|
66
|
+
nextValue = nextValue.substring(0, this.maxLength);
|
|
67
|
+
if (target) {
|
|
68
|
+
target.value = nextValue;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
this.inputValue = nextValue;
|
|
72
|
+
this.valueChange.emit(this.inputValue);
|
|
73
|
+
}
|
|
74
|
+
onFocus(event) {
|
|
75
|
+
this.isFocused = true;
|
|
76
|
+
this.focused.emit(event);
|
|
77
|
+
}
|
|
78
|
+
onBlur(event) {
|
|
79
|
+
this.isFocused = false;
|
|
80
|
+
this.blurred.emit(event);
|
|
81
|
+
}
|
|
82
|
+
onKeyDown(event) {
|
|
83
|
+
if (event.key === 'Enter') {
|
|
84
|
+
event.preventDefault();
|
|
85
|
+
this.enterPressed.emit(this.inputValue.trim());
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
get inputStyles() {
|
|
89
|
+
return this.inputInlineStyle || '';
|
|
90
|
+
}
|
|
91
|
+
get labelStyles() {
|
|
92
|
+
return this.labelInlineStyle || '';
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
CustomInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CustomInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
96
|
+
CustomInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: CustomInputComponent, selector: "cqa-custom-input", inputs: { label: "label", type: "type", placeholder: "placeholder", value: "value", disabled: "disabled", errors: "errors", required: "required", ariaLabel: "ariaLabel", size: "size", fullWidth: "fullWidth", maxLength: "maxLength", showCharCount: "showCharCount", inputInlineStyle: "inputInlineStyle", labelInlineStyle: "labelInlineStyle" }, outputs: { valueChange: "valueChange", blurred: "blurred", focused: "focused", enterPressed: "enterPressed" }, host: { classAttribute: "cqa-ui-root" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"cqa-ui-root\" [style.display]=\"'block'\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <div class=\"cqa-flex cqa-flex-col\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <label \n *ngIf=\"label\"\n class=\"cqa-font-medium cqa-text-[#374151]\"\n [ngClass]=\"labelSizeClasses\"\n [style]=\"labelStyles\">\n {{ label }}\n <span *ngIf=\"required\" class=\"cqa-text-[#EF4444] cqa-ml-0.5\">*</span>\n </label>\n\n <div class=\"cqa-relative\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <input\n [type]=\"type\"\n class=\"cqa-w-full !cqa-border !cqa-border-solid !cqa-border-gray-200 cqa-rounded-md cqa-bg-white cqa-font-['SF_Pro_Text'] cqa-font-normal cqa-leading-normal cqa-tracking-normal cqa-text-[#0A0A0A] placeholder:cqa-text-[#9CA3AF] cqa-transition-all cqa-duration-200 cqa-outline-none\"\n [ngClass]=\"{\n 'cqa-border-[#D1D5DB] focus:cqa-border-[#3B82F6] focus:cqa-ring-1 focus:cqa-ring-[#3B82F6]': !hasError,\n 'cqa-border-[#EF4444] focus:cqa-border-[#EF4444] focus:cqa-ring-1 focus:cqa-ring-[#EF4444]': hasError,\n 'cqa-bg-[#F9FAFB] cqa-cursor-not-allowed cqa-text-[#9CA3AF]': disabled,\n 'cqa-outline-none': true\n }\"\n [ngClass]=\"inputSizeClasses\"\n [style]=\"inputStyles\"\n [placeholder]=\"placeholder\"\n [value]=\"inputValue\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel || label\"\n [attr.aria-invalid]=\"hasError\"\n [attr.aria-required]=\"required\"\n autocomplete=\"off\"\n />\n </div>\n\n <div *ngIf=\"showCharCount && maxLength\" class=\"cqa-flex cqa-justify-end cqa-mt-1\">\n <span class=\"cqa-text-xs cqa-text-[#6B7280]\">\n {{ inputValue.length }}/{{ maxLength }}\n </span>\n </div>\n\n <div *ngIf=\"hasError\" class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-mt-1.5\">\n <div *ngFor=\"let error of errors\" class=\"cqa-flex cqa-items-start cqa-gap-1.5\">\n <svg \n xmlns=\"http://www.w3.org/2000/svg\" \n width=\"14\" \n height=\"14\" \n viewBox=\"0 0 14 14\" \n fill=\"none\"\n class=\"cqa-flex-shrink-0 cqa-mt-0.5\">\n <path d=\"M7 1.75C4.1 1.75 1.75 4.1 1.75 7C1.75 9.9 4.1 12.25 7 12.25C9.9 12.25 12.25 9.9 12.25 7C12.25 4.1 9.9 1.75 7 1.75ZM7 9.625C6.65625 9.625 6.375 9.34375 6.375 9V7C6.375 6.65625 6.65625 6.375 7 6.375C7.34375 6.375 7.625 6.65625 7.625 7V9C7.625 9.34375 7.34375 9.625 7 9.625ZM7.625 5.25H6.375V4H7.625V5.25Z\" fill=\"#EF4444\"/>\n </svg>\n <span class=\"cqa-text-xs cqa-text-[#EF4444] cqa-font-medium cqa-leading-[18px]\">\n {{ error }}\n </span>\n </div>\n </div>\n </div>\n</div>\n\n", directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: CustomInputComponent, decorators: [{
|
|
98
|
+
type: Component,
|
|
99
|
+
args: [{ selector: 'cqa-custom-input', host: { class: 'cqa-ui-root' }, template: "<div class=\"cqa-ui-root\" [style.display]=\"'block'\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <div class=\"cqa-flex cqa-flex-col\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <label \n *ngIf=\"label\"\n class=\"cqa-font-medium cqa-text-[#374151]\"\n [ngClass]=\"labelSizeClasses\"\n [style]=\"labelStyles\">\n {{ label }}\n <span *ngIf=\"required\" class=\"cqa-text-[#EF4444] cqa-ml-0.5\">*</span>\n </label>\n\n <div class=\"cqa-relative\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <input\n [type]=\"type\"\n class=\"cqa-w-full !cqa-border !cqa-border-solid !cqa-border-gray-200 cqa-rounded-md cqa-bg-white cqa-font-['SF_Pro_Text'] cqa-font-normal cqa-leading-normal cqa-tracking-normal cqa-text-[#0A0A0A] placeholder:cqa-text-[#9CA3AF] cqa-transition-all cqa-duration-200 cqa-outline-none\"\n [ngClass]=\"{\n 'cqa-border-[#D1D5DB] focus:cqa-border-[#3B82F6] focus:cqa-ring-1 focus:cqa-ring-[#3B82F6]': !hasError,\n 'cqa-border-[#EF4444] focus:cqa-border-[#EF4444] focus:cqa-ring-1 focus:cqa-ring-[#EF4444]': hasError,\n 'cqa-bg-[#F9FAFB] cqa-cursor-not-allowed cqa-text-[#9CA3AF]': disabled,\n 'cqa-outline-none': true\n }\"\n [ngClass]=\"inputSizeClasses\"\n [style]=\"inputStyles\"\n [placeholder]=\"placeholder\"\n [value]=\"inputValue\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus($event)\"\n (blur)=\"onBlur($event)\"\n (keydown)=\"onKeyDown($event)\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel || label\"\n [attr.aria-invalid]=\"hasError\"\n [attr.aria-required]=\"required\"\n autocomplete=\"off\"\n />\n </div>\n\n <div *ngIf=\"showCharCount && maxLength\" class=\"cqa-flex cqa-justify-end cqa-mt-1\">\n <span class=\"cqa-text-xs cqa-text-[#6B7280]\">\n {{ inputValue.length }}/{{ maxLength }}\n </span>\n </div>\n\n <div *ngIf=\"hasError\" class=\"cqa-flex cqa-flex-col cqa-gap-1 cqa-mt-1.5\">\n <div *ngFor=\"let error of errors\" class=\"cqa-flex cqa-items-start cqa-gap-1.5\">\n <svg \n xmlns=\"http://www.w3.org/2000/svg\" \n width=\"14\" \n height=\"14\" \n viewBox=\"0 0 14 14\" \n fill=\"none\"\n class=\"cqa-flex-shrink-0 cqa-mt-0.5\">\n <path d=\"M7 1.75C4.1 1.75 1.75 4.1 1.75 7C1.75 9.9 4.1 12.25 7 12.25C9.9 12.25 12.25 9.9 12.25 7C12.25 4.1 9.9 1.75 7 1.75ZM7 9.625C6.65625 9.625 6.375 9.34375 6.375 9V7C6.375 6.65625 6.65625 6.375 7 6.375C7.34375 6.375 7.625 6.65625 7.625 7V9C7.625 9.34375 7.34375 9.625 7 9.625ZM7.625 5.25H6.375V4H7.625V5.25Z\" fill=\"#EF4444\"/>\n </svg>\n <span class=\"cqa-text-xs cqa-text-[#EF4444] cqa-font-medium cqa-leading-[18px]\">\n {{ error }}\n </span>\n </div>\n </div>\n </div>\n</div>\n\n", styles: [] }]
|
|
100
|
+
}], propDecorators: { label: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], type: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], placeholder: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], value: [{
|
|
107
|
+
type: Input
|
|
108
|
+
}], disabled: [{
|
|
109
|
+
type: Input
|
|
110
|
+
}], errors: [{
|
|
111
|
+
type: Input
|
|
112
|
+
}], required: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], ariaLabel: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], size: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}], fullWidth: [{
|
|
119
|
+
type: Input
|
|
120
|
+
}], maxLength: [{
|
|
121
|
+
type: Input
|
|
122
|
+
}], showCharCount: [{
|
|
123
|
+
type: Input
|
|
124
|
+
}], inputInlineStyle: [{
|
|
125
|
+
type: Input
|
|
126
|
+
}], labelInlineStyle: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], valueChange: [{
|
|
129
|
+
type: Output
|
|
130
|
+
}], blurred: [{
|
|
131
|
+
type: Output
|
|
132
|
+
}], focused: [{
|
|
133
|
+
type: Output
|
|
134
|
+
}], enterPressed: [{
|
|
135
|
+
type: Output
|
|
136
|
+
}] } });
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY3VzdG9tLWlucHV0L2N1c3RvbS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2N1c3RvbS1pbnB1dC9jdXN0b20taW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7OztBQVdqRyxNQUFNLE9BQU8sb0JBQW9CO0lBTmpDO1FBUVcsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLFNBQUksR0FBYyxNQUFNLENBQUM7UUFFekIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFFakIsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVYLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFFakIsV0FBTSxHQUFhLEVBQUUsQ0FBQztRQUV0QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRWpCLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZixTQUFJLEdBQWMsSUFBSSxDQUFDO1FBRXZCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFJbEIsa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFNckIsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXpDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBRXpDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBRXpDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVwRCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGNBQVMsR0FBRyxLQUFLLENBQUM7S0FxRm5CO0lBbkZDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENB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QUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixJQUFJLEVBQUUsQ0FBQztJQUNyQyxDQUFDOztpSEEzSFUsb0JBQW9CO3FHQUFwQixvQkFBb0IsMmpCQ1hqQyw0M0ZBOERBOzJGRG5EYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0Usa0JBQWtCLFFBR3RCLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRTs4QkFJckIsS0FBSztzQkFBYixLQUFLO2dCQUVHLElBQUk7c0JBQVosS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLEtBQUs7c0JBQWIsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLE1BQU07c0JBQWQsS0FBSztnQkFFRyxRQUFRO3NCQUFoQixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsSUFBSTtzQkFBWixLQUFLO2dCQUVHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsU0FBUztzQkFBakIsS0FBSztnQkFFRyxhQUFhO3NCQUFyQixLQUFLO2dCQUVHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFFRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUksV0FBVztzQkFBcEIsTUFBTTtnQkFFRyxPQUFPO3NCQUFoQixNQUFNO2dCQUVHLE9BQU87c0JBQWhCLE1BQU07Z0JBRUcsWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxudHlwZSBJbnB1dFR5cGUgPSAndGV4dCcgfCAncGFzc3dvcmQnIHwgJ2VtYWlsJyB8ICdudW1iZXInIHwgJ3RlbCcgfCAndXJsJztcbnR5cGUgSW5wdXRTaXplID0gJ3NtJyB8ICdtZCcgfCAnbGcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtY3VzdG9tLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIGhvc3Q6IHsgY2xhc3M6ICdjcWEtdWktcm9vdCcgfVxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21JbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgbGFiZWwgPSAnJztcblxuICBASW5wdXQoKSB0eXBlOiBJbnB1dFR5cGUgPSAndGV4dCc7XG5cbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcblxuICBASW5wdXQoKSB2YWx1ZSA9ICcnO1xuXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIEBJbnB1dCgpIHJlcXVpcmVkID0gZmFsc2U7XG5cbiAgQElucHV0KCkgYXJpYUxhYmVsID0gJyc7XG5cbiAgQElucHV0KCkgc2l6ZTogSW5wdXRTaXplID0gJ21kJztcblxuICBASW5wdXQoKSBmdWxsV2lkdGggPSBmYWxzZTtcblxuICBASW5wdXQoKSBtYXhMZW5ndGg/OiBudW1iZXI7XG5cbiAgQElucHV0KCkgc2hvd0NoYXJDb3VudCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGlucHV0SW5saW5lU3R5bGU/OiBzdHJpbmc7XG5cbiAgQElucHV0KCkgbGFiZWxJbmxpbmVTdHlsZT86IHN0cmluZztcblxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcblxuICBAT3V0cHV0KCkgYmx1cnJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcblxuICBAT3V0cHV0KCkgZm9jdXNlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9jdXNFdmVudD4oKTtcblxuICBAT3V0cHV0KCkgZW50ZXJQcmVzc2VkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgaW5wdXRWYWx1ZSA9ICcnO1xuICBpc0ZvY3VzZWQgPSBmYWxzZTtcblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3ZhbHVlJ10gJiYgY2hhbmdlc1sndmFsdWUnXS5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgbGV0IG5ld1ZhbHVlID0gY2hhbmdlc1sndmFsdWUnXS5jdXJyZW50VmFsdWUgPz8gJyc7XG4gICAgICBcbiAgICAgIGlmICh0aGlzLm1heExlbmd0aCAmJiBuZXdWYWx1ZS5sZW5ndGggPiB0aGlzLm1heExlbmd0aCkge1xuICAgICAgICBuZXdWYWx1ZSA9IG5ld1ZhbHVlLnN1YnN0cmluZygwLCB0aGlzLm1heExlbmd0aCk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5pbnB1dFZhbHVlKSB7XG4gICAgICAgIHRoaXMuaW5wdXRWYWx1ZSA9IG5ld1ZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldCBoYXNFcnJvcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5lcnJvcnMgJiYgdGhpcy5lcnJvcnMubGVuZ3RoID4gMDtcbiAgfVxuXG4gIGdldCBpbnB1dFNpemVDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnNpemUpIHtcbiAgICAgIGNhc2UgJ3NtJzpcbiAgICAgICAgcmV0dXJuICdjcWEtcHgtMyBjcWEtcHktMiBjcWEtdGV4dC14cyc7XG4gICAgICBjYXNlICdtZCc6XG4gICAgICAgIHJldHVybiAnY3FhLXB4LTQgY3FhLXB5LTIuNSBjcWEtdGV4dC1zbSc7XG4gICAgICBjYXNlICdsZyc6XG4gICAgICAgIHJldHVybiAnY3FhLXB4LTUgY3FhLXB5LTMgY3FhLXRleHQtYmFzZSc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ2NxYS1weC00IGNxYS1weS0yLjUgY3FhLXRleHQtc20nO1xuICAgIH1cbiAgfVxuXG4gIGdldCBsYWJlbFNpemVDbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnNpemUpIHtcbiAgICAgIGNhc2UgJ3NtJzpcbiAgICAgICAgcmV0dXJuICdjcWEtdGV4dC14cyBjcWEtbWItMSc7XG4gICAgICBjYXNlICdtZCc6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtc20gY3FhLW1iLTEuNSc7XG4gICAgICBjYXNlICdsZyc6XG4gICAgICAgIHJldHVybiAnY3FhLXRleHQtYmFzZSBjcWEtbWItMic7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ2NxYS10ZXh0LXNtIGNxYS1tYi0xLjUnO1xuICAgIH1cbiAgfVxuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsO1xuICAgIGxldCBuZXh0VmFsdWUgPSB0YXJnZXQ/LnZhbHVlID8/ICcnO1xuICAgIFxuICAgIGlmICh0aGlzLnNob3dDaGFyQ291bnQgJiYgdGhpcy5tYXhMZW5ndGggJiYgbmV4dFZhbHVlLmxlbmd0aCA+IHRoaXMubWF4TGVuZ3RoKSB7XG4gICAgICBuZXh0VmFsdWUgPSBuZXh0VmFsdWUuc3Vic3RyaW5nKDAsIHRoaXMubWF4TGVuZ3RoKTtcbiAgICAgIGlmICh0YXJnZXQpIHtcbiAgICAgICAgdGFyZ2V0LnZhbHVlID0gbmV4dFZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICB0aGlzLmlucHV0VmFsdWUgPSBuZXh0VmFsdWU7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMuaW5wdXRWYWx1ZSk7XG4gIH1cblxuICBvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pc0ZvY3VzZWQgPSB0cnVlO1xuICAgIHRoaXMuZm9jdXNlZC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIG9uQmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgdGhpcy5ibHVycmVkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuZW50ZXJQcmVzc2VkLmVtaXQodGhpcy5pbnB1dFZhbHVlLnRyaW0oKSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGlucHV0U3R5bGVzKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXRJbmxpbmVTdHlsZSB8fCAnJztcbiAgfVxuXG4gIGdldCBsYWJlbFN0eWxlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmxhYmVsSW5saW5lU3R5bGUgfHwgJyc7XG4gIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cImNxYS11aS1yb290XCIgW3N0eWxlLmRpc3BsYXldPVwiJ2Jsb2NrJ1wiIFtzdHlsZS53aWR0aF09XCJmdWxsV2lkdGggPyAnMTAwJScgOiAnYXV0bydcIj5cbiAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiIFtzdHlsZS53aWR0aF09XCJmdWxsV2lkdGggPyAnMTAwJScgOiAnYXV0bydcIj5cbiAgICA8bGFiZWwgXG4gICAgICAqbmdJZj1cImxhYmVsXCJcbiAgICAgIGNsYXNzPVwiY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsjMzc0MTUxXVwiXG4gICAgICBbbmdDbGFzc109XCJsYWJlbFNpemVDbGFzc2VzXCJcbiAgICAgIFtzdHlsZV09XCJsYWJlbFN0eWxlc1wiPlxuICAgICAge3sgbGFiZWwgfX1cbiAgICAgIDxzcGFuICpuZ0lmPVwicmVxdWlyZWRcIiBjbGFzcz1cImNxYS10ZXh0LVsjRUY0NDQ0XSBjcWEtbWwtMC41XCI+Kjwvc3Bhbj5cbiAgICA8L2xhYmVsPlxuXG4gICAgPGRpdiBjbGFzcz1cImNxYS1yZWxhdGl2ZVwiIFtzdHlsZS53aWR0aF09XCJmdWxsV2lkdGggPyAnMTAwJScgOiAnYXV0bydcIj5cbiAgICAgIDxpbnB1dFxuICAgICAgICBbdHlwZV09XCJ0eXBlXCJcbiAgICAgICAgY2xhc3M9XCJjcWEtdy1mdWxsICFjcWEtYm9yZGVyICFjcWEtYm9yZGVyLXNvbGlkICFjcWEtYm9yZGVyLWdyYXktMjAwIGNxYS1yb3VuZGVkLW1kIGNxYS1iZy13aGl0ZSBjcWEtZm9udC1bJ1NGX1Byb19UZXh0J10gY3FhLWZvbnQtbm9ybWFsIGNxYS1sZWFkaW5nLW5vcm1hbCBjcWEtdHJhY2tpbmctbm9ybWFsIGNxYS10ZXh0LVsjMEEwQTBBXSBwbGFjZWhvbGRlcjpjcWEtdGV4dC1bIzlDQTNBRl0gY3FhLXRyYW5zaXRpb24tYWxsIGNxYS1kdXJhdGlvbi0yMDAgY3FhLW91dGxpbmUtbm9uZVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnY3FhLWJvcmRlci1bI0QxRDVEQl0gZm9jdXM6Y3FhLWJvcmRlci1bIzNCODJGNl0gZm9jdXM6Y3FhLXJpbmctMSBmb2N1czpjcWEtcmluZy1bIzNCODJGNl0nOiAhaGFzRXJyb3IsXG4gICAgICAgICAgJ2NxYS1ib3JkZXItWyNFRjQ0NDRdIGZvY3VzOmNxYS1ib3JkZXItWyNFRjQ0NDRdIGZvY3VzOmNxYS1yaW5nLTEgZm9jdXM6Y3FhLXJpbmctWyNFRjQ0NDRdJzogaGFzRXJyb3IsXG4gICAgICAgICAgJ2NxYS1iZy1bI0Y5RkFGQl0gY3FhLWN1cnNvci1ub3QtYWxsb3dlZCBjcWEtdGV4dC1bIzlDQTNBRl0nOiBkaXNhYmxlZCxcbiAgICAgICAgICAnY3FhLW91dGxpbmUtbm9uZSc6IHRydWVcbiAgICAgICAgfVwiXG4gICAgICAgIFtuZ0NsYXNzXT1cImlucHV0U2l6ZUNsYXNzZXNcIlxuICAgICAgICBbc3R5bGVdPVwiaW5wdXRTdHlsZXNcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbdmFsdWVdPVwiaW5wdXRWYWx1ZVwiXG4gICAgICAgIChpbnB1dCk9XCJvbklucHV0KCRldmVudClcIlxuICAgICAgICAoZm9jdXMpPVwib25Gb2N1cygkZXZlbnQpXCJcbiAgICAgICAgKGJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgICAgICAoa2V5ZG93bik9XCJvbktleURvd24oJGV2ZW50KVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsIHx8IGxhYmVsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cImhhc0Vycm9yXCJcbiAgICAgICAgW2F0dHIuYXJpYS1yZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXG4gICAgICAvPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cInNob3dDaGFyQ291bnQgJiYgbWF4TGVuZ3RoXCIgY2xhc3M9XCJjcWEtZmxleCBjcWEtanVzdGlmeS1lbmQgY3FhLW10LTFcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQteHMgY3FhLXRleHQtWyM2QjcyODBdXCI+XG4gICAgICAgIHt7IGlucHV0VmFsdWUubGVuZ3RoIH19L3t7IG1heExlbmd0aCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiAqbmdJZj1cImhhc0Vycm9yXCIgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0xIGNxYS1tdC0xLjVcIj5cbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGVycm9yIG9mIGVycm9yc1wiIGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLXN0YXJ0IGNxYS1nYXAtMS41XCI+XG4gICAgICAgIDxzdmcgXG4gICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIFxuICAgICAgICAgIHdpZHRoPVwiMTRcIiBcbiAgICAgICAgICBoZWlnaHQ9XCIxNFwiIFxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMTQgMTRcIiBcbiAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgY2xhc3M9XCJjcWEtZmxleC1zaHJpbmstMCBjcWEtbXQtMC41XCI+XG4gICAgICAgICAgPHBhdGggZD1cIk03IDEuNzVDNC4xIDEuNzUgMS43NSA0LjEgMS43NSA3QzEuNzUgOS45IDQuMSAxMi4yNSA3IDEyLjI1QzkuOSAxMi4yNSAxMi4yNSA5LjkgMTIuMjUgN0MxMi4yNSA0LjEgOS45IDEuNzUgNyAxLjc1Wk03IDkuNjI1QzYuNjU2MjUgOS42MjUgNi4zNzUgOS4zNDM3NSA2LjM3NSA5VjdDNi4zNzUgNi42NTYyNSA2LjY1NjI1IDYuMzc1IDcgNi4zNzVDNy4zNDM3NSA2LjM3NSA3LjYyNSA2LjY1NjI1IDcuNjI1IDdWOUM3LjYyNSA5LjM0Mzc1IDcuMzQzNzUgOS42MjUgNyA5LjYyNVpNNy42MjUgNS4yNUg2LjM3NVY0SDcuNjI1VjUuMjVaXCIgZmlsbD1cIiNFRjQ0NDRcIi8+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LXhzIGNxYS10ZXh0LVsjRUY0NDQ0XSBjcWEtZm9udC1tZWRpdW0gY3FhLWxlYWRpbmctWzE4cHhdXCI+XG4gICAgICAgICAge3sgZXJyb3IgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbiJdfQ==
|
|
@@ -1,14 +1,6 @@
|
|
|
1
|
-
import { Component, Input
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../button/button.component";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
3
|
export class FailedStepCardComponent {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.jumpToStep = new EventEmitter();
|
|
8
|
-
this.openInVideo = new EventEmitter();
|
|
9
|
-
this.showExpectedMore = false;
|
|
10
|
-
this.showActualMore = false;
|
|
11
|
-
}
|
|
12
4
|
get headerTitle() {
|
|
13
5
|
if (this.failedStepData?.stepTitle) {
|
|
14
6
|
return `Failed at Step ${this.failedStepData.failed_step_index}: ${this.failedStepData.stepTitle}`;
|
|
@@ -36,26 +28,6 @@ export class FailedStepCardComponent {
|
|
|
36
28
|
get hasSuggestions() {
|
|
37
29
|
return !!this.failedStepData?.suggestions && this.failedStepData.suggestions.trim().length > 0;
|
|
38
30
|
}
|
|
39
|
-
toggleExpectedMore() {
|
|
40
|
-
this.showExpectedMore = !this.showExpectedMore;
|
|
41
|
-
}
|
|
42
|
-
toggleActualMore() {
|
|
43
|
-
this.showActualMore = !this.showActualMore;
|
|
44
|
-
}
|
|
45
|
-
onJumpToStep() {
|
|
46
|
-
this.jumpToStep.emit(this.failedStepData);
|
|
47
|
-
}
|
|
48
|
-
onOpenInVideo() {
|
|
49
|
-
this.openInVideo.emit(this.failedStepData);
|
|
50
|
-
}
|
|
51
|
-
shouldShowViewMore(text, maxLength = 100) {
|
|
52
|
-
return !!(text && text.length > maxLength);
|
|
53
|
-
}
|
|
54
|
-
getTruncatedText(text, maxLength = 100) {
|
|
55
|
-
if (!text)
|
|
56
|
-
return '';
|
|
57
|
-
return text.length > maxLength ? text.substring(0, maxLength) + '...' : text;
|
|
58
|
-
}
|
|
59
31
|
getFormattedSuggestions() {
|
|
60
32
|
if (!this.suggestions)
|
|
61
33
|
return [];
|
|
@@ -63,15 +35,11 @@ export class FailedStepCardComponent {
|
|
|
63
35
|
}
|
|
64
36
|
}
|
|
65
37
|
FailedStepCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FailedStepCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
-
FailedStepCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FailedStepCardComponent, selector: "cqa-failed-step-card", inputs: { failedStepData: "failedStepData" },
|
|
38
|
+
FailedStepCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: FailedStepCardComponent, selector: "cqa-failed-step-card", inputs: { failedStepData: "failedStepData" }, ngImport: i0, template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%;\">\n <div class=\"cqa-bg-[#FEF2F2] cqa-p-[17px] cqa-rounded-lg cqa-overflow-hidden cqa-flex cqa-flex-col cqa-gap-3\" style=\"border: 1px solid #FECACA;\">\n <div>\n <h3 class=\"cqa-text-sm cqa-leading-[18px] cqa-text-[#111827] cqa-mb-1\">{{ headerTitle }}</h3>\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-3 cqa-text-xs\">\n <span class=\"cqa-text-[12px] cqa-text-[#B91C1C]\">Error: {{ errorText }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Video timestamp: {{ videoTimestamp }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Duration: {{ durationText }}</span>\n </div>\n </div>\n\n <div class=\"cqa-grid cqa-grid-cols-2 cqa-gap-0 cqa-rounded-[4px] cqa-overflow-hidden\" style=\"border: 1px solid #E5E7EB\">\n <div class=\"cqa-bg-white cqa-px-2 cqa-py-1 md:cqa-border-r cqa-flex cqa-flex-col cqa-h-[114px]\" style=\"border-right: 1px solid #E5E7EB\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">EXPECTED</span>\n <div class=\"cqa-text-[10px] cqa-text-[#0B0B0B] cqa-leading-relaxed cqa-h-[91px] cqa-max-h-[91px] cqa-overflow-y-auto cqa-font-medium\">\n {{ expectedResult }}\n </div>\n </div>\n </div>\n\n <div class=\"cqa-bg-[#FFF9F9] cqa-px-2 cqa-py-1 cqa-flex cqa-flex-col\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">ACTUAL</span>\n <div class=\"cqa-text-[10px] cqa-text-[#C10007] cqa-leading-relaxed cqa-h-[91px] cqa-max-h-[91px] cqa-overflow-y-auto cqa-font-medium\">\n {{ actualResult }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n" });
|
|
67
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: FailedStepCardComponent, decorators: [{
|
|
68
40
|
type: Component,
|
|
69
|
-
args: [{ selector: 'cqa-failed-step-card', template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%;\">\n <div class=\"cqa-bg-[#FEF2F2] cqa-p-[17px] cqa-rounded-lg cqa-overflow-hidden cqa-flex cqa-flex-col cqa-gap-3\" style=\"border: 1px solid #FECACA;\">\n <div>\n <h3 class=\"cqa-text-sm cqa-leading-[18px] cqa-text-[#111827] cqa-mb-1\">{{ headerTitle }}</h3>\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-3 cqa-text-xs\">\n <span class=\"cqa-text-[12px] cqa-text-[#B91C1C]\">Error: {{ errorText }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Video timestamp: {{ videoTimestamp }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Duration: {{ durationText }}</span>\n </div>\n </div>\n\n <div class=\"cqa-grid cqa-grid-cols-2 cqa-gap-0 cqa-rounded-[4px] cqa-overflow-hidden\" style=\"border: 1px solid #E5E7EB\">\n <div class=\"cqa-bg-white cqa-px-2 cqa-py-1 md:cqa-border-r cqa-flex cqa-flex-col\" style=\"border-right: 1px solid #E5E7EB\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">EXPECTED</span>\n <div class=\"cqa-text-[10px] cqa-text-[#0B0B0B] cqa-leading-relaxed
|
|
41
|
+
args: [{ selector: 'cqa-failed-step-card', template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%;\">\n <div class=\"cqa-bg-[#FEF2F2] cqa-p-[17px] cqa-rounded-lg cqa-overflow-hidden cqa-flex cqa-flex-col cqa-gap-3\" style=\"border: 1px solid #FECACA;\">\n <div>\n <h3 class=\"cqa-text-sm cqa-leading-[18px] cqa-text-[#111827] cqa-mb-1\">{{ headerTitle }}</h3>\n <div class=\"cqa-flex cqa-flex-wrap cqa-items-center cqa-gap-3 cqa-text-xs\">\n <span class=\"cqa-text-[12px] cqa-text-[#B91C1C]\">Error: {{ errorText }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Video timestamp: {{ videoTimestamp }}</span>\n <span class=\"cqa-text-[#636363]\">\u2022</span>\n <span class=\"cqa-text-[#636363]\">Duration: {{ durationText }}</span>\n </div>\n </div>\n\n <div class=\"cqa-grid cqa-grid-cols-2 cqa-gap-0 cqa-rounded-[4px] cqa-overflow-hidden\" style=\"border: 1px solid #E5E7EB\">\n <div class=\"cqa-bg-white cqa-px-2 cqa-py-1 md:cqa-border-r cqa-flex cqa-flex-col cqa-h-[114px]\" style=\"border-right: 1px solid #E5E7EB\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">EXPECTED</span>\n <div class=\"cqa-text-[10px] cqa-text-[#0B0B0B] cqa-leading-relaxed cqa-h-[91px] cqa-max-h-[91px] cqa-overflow-y-auto cqa-font-medium\">\n {{ expectedResult }}\n </div>\n </div>\n </div>\n\n <div class=\"cqa-bg-[#FFF9F9] cqa-px-2 cqa-py-1 cqa-flex cqa-flex-col\">\n <div class=\"cqa-flex cqa-flex-col cqa-gap-1\">\n <span class=\"cqa-text-[10px] cqa-font-semibold cqa-text-[#9CA3AF] cqa-uppercase cqa-tracking-wide\">ACTUAL</span>\n <div class=\"cqa-text-[10px] cqa-text-[#C10007] cqa-leading-relaxed cqa-h-[91px] cqa-max-h-[91px] cqa-overflow-y-auto cqa-font-medium\">\n {{ actualResult }}\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n", styles: [] }]
|
|
70
42
|
}], propDecorators: { failedStepData: [{
|
|
71
43
|
type: Input
|
|
72
|
-
}], jumpToStep: [{
|
|
73
|
-
type: Output
|
|
74
|
-
}], openInVideo: [{
|
|
75
|
-
type: Output
|
|
76
44
|
}] } });
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhaWxlZC1zdGVwLWNhcmQvZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhaWxlZC1zdGVwLWNhcmQvZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBdUJ2RSxNQUFNLE9BQU8sdUJBQXVCO0lBTHBDO1FBT1ksZUFBVSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO1FBQ2hELGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7UUFFM0QscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO0tBa0V4QjtJQWhFQyxJQUFJLFdBQVc7UUFDYixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxFQUFFO1lBQ2xDLE9BQU8sa0JBQWtCLElBQUksQ0FBQyxjQUFjLENBQUMsaUJBQWlCLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztTQUNwRztRQUNELE9BQU8sa0JBQWtCLElBQUksQ0FBQyxjQUFjLEVBQUUsaUJBQWlCLElBQUksRUFBRSxFQUFFLENBQUM7SUFDMUUsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLElBQUksbUJBQW1CLENBQUM7SUFDakcsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsU0FBUyxJQUFJLE9BQU8sQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsZUFBZSxJQUFJLEVBQUUsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLGFBQWEsSUFBSSxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQztJQUNqRCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0MsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGtCQUFrQixDQUFDLElBQVksRUFBRSxZQUFvQixHQUFHO1FBQ3RELE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLENBQUM7SUFDN0MsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQVksRUFBRSxZQUFvQixHQUFHO1FBQ3BELElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDckIsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDL0UsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNqQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdkUsQ0FBQzs7b0hBdkVVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCLDZLQ3ZCcEMsOGpJQXNGQTsyRkQvRGEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHNCQUFzQjs4QkFLdkIsY0FBYztzQkFBdEIsS0FBSztnQkFDSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZhaWxlZFN0ZXBEYXRhIHtcbiAgZXhwZWN0ZWRfcmVzdWx0OiBzdHJpbmc7XG4gIGFjdHVhbF9yZXN1bHQ6IHN0cmluZztcbiAgZmFpbGVkX3N0ZXBfaWQ6IHN0cmluZztcbiAgaXNUaW1lb3V0ZXJyb3I6IGJvb2xlYW47XG4gIGZhaWxlZF9zdGVwX2luZGV4OiBzdHJpbmc7XG4gIHN0ZXBzOiBhbnlbXTtcbiAgdGltZXN0YW1wOiBzdHJpbmc7XG4gIGR1cmF0aW9uOiBzdHJpbmc7XG4gIHN0ZXBTY3JlZW5zaG90VXJsOiBzdHJpbmcgfCBudWxsO1xuICBzdWdnZXN0aW9uczogc3RyaW5nO1xuICByZWFzb246IHN0cmluZztcbiAgc3RlcFRpdGxlPzogc3RyaW5nO1xuICBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS1mYWlsZWQtc3RlcC1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZhaWxlZC1zdGVwLWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEZhaWxlZFN0ZXBDYXJkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZmFpbGVkU3RlcERhdGEhOiBGYWlsZWRTdGVwRGF0YTtcbiAgQE91dHB1dCgpIGp1bXBUb1N0ZXAgPSBuZXcgRXZlbnRFbWl0dGVyPEZhaWxlZFN0ZXBEYXRhPigpO1xuICBAT3V0cHV0KCkgb3BlbkluVmlkZW8gPSBuZXcgRXZlbnRFbWl0dGVyPEZhaWxlZFN0ZXBEYXRhPigpO1xuXG4gIHNob3dFeHBlY3RlZE1vcmUgPSBmYWxzZTtcbiAgc2hvd0FjdHVhbE1vcmUgPSBmYWxzZTtcblxuICBnZXQgaGVhZGVyVGl0bGUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5mYWlsZWRTdGVwRGF0YT8uc3RlcFRpdGxlKSB7XG4gICAgICByZXR1cm4gYEZhaWxlZCBhdCBTdGVwICR7dGhpcy5mYWlsZWRTdGVwRGF0YS5mYWlsZWRfc3RlcF9pbmRleH06ICR7dGhpcy5mYWlsZWRTdGVwRGF0YS5zdGVwVGl0bGV9YDtcbiAgICB9XG4gICAgcmV0dXJuIGBGYWlsZWQgYXQgU3RlcCAke3RoaXMuZmFpbGVkU3RlcERhdGE/LmZhaWxlZF9zdGVwX2luZGV4IHx8ICcnfWA7XG4gIH1cblxuICBnZXQgZXJyb3JUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmFpbGVkU3RlcERhdGE/LmVycm9yTWVzc2FnZSB8fCB0aGlzLmZhaWxlZFN0ZXBEYXRhPy5yZWFzb24gfHwgJ0FuIGVycm9yIG9jY3VycmVkJztcbiAgfVxuXG4gIGdldCB2aWRlb1RpbWVzdGFtcCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZhaWxlZFN0ZXBEYXRhPy50aW1lc3RhbXAgfHwgJzAwOjAwJztcbiAgfVxuXG4gIGdldCBkdXJhdGlvblRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mYWlsZWRTdGVwRGF0YT8uZHVyYXRpb24gfHwgJzBzJztcbiAgfVxuXG4gIGdldCBleHBlY3RlZFJlc3VsdCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZhaWxlZFN0ZXBEYXRhPy5leHBlY3RlZF9yZXN1bHQgfHwgJyc7XG4gIH1cblxuICBnZXQgYWN0dWFsUmVzdWx0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmFpbGVkU3RlcERhdGE/LmFjdHVhbF9yZXN1bHQgfHwgJyc7XG4gIH1cblxuICBnZXQgc3VnZ2VzdGlvbnMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mYWlsZWRTdGVwRGF0YT8uc3VnZ2VzdGlvbnMgfHwgJyc7XG4gIH1cblxuICBnZXQgaGFzU3VnZ2VzdGlvbnMoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5mYWlsZWRTdGVwRGF0YT8uc3VnZ2VzdGlvbnMgJiYgdGhpcy5mYWlsZWRTdGVwRGF0YS5zdWdnZXN0aW9ucy50cmltKCkubGVuZ3RoID4gMDtcbiAgfVxuXG4gIHRvZ2dsZUV4cGVjdGVkTW9yZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dFeHBlY3RlZE1vcmUgPSAhdGhpcy5zaG93RXhwZWN0ZWRNb3JlO1xuICB9XG5cbiAgdG9nZ2xlQWN0dWFsTW9yZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dBY3R1YWxNb3JlID0gIXRoaXMuc2hvd0FjdHVhbE1vcmU7XG4gIH1cblxuICBvbkp1bXBUb1N0ZXAoKTogdm9pZCB7XG4gICAgdGhpcy5qdW1wVG9TdGVwLmVtaXQodGhpcy5mYWlsZWRTdGVwRGF0YSk7XG4gIH1cblxuICBvbk9wZW5JblZpZGVvKCk6IHZvaWQge1xuICAgIHRoaXMub3BlbkluVmlkZW8uZW1pdCh0aGlzLmZhaWxlZFN0ZXBEYXRhKTtcbiAgfVxuXG4gIHNob3VsZFNob3dWaWV3TW9yZSh0ZXh0OiBzdHJpbmcsIG1heExlbmd0aDogbnVtYmVyID0gMTAwKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhKHRleHQgJiYgdGV4dC5sZW5ndGggPiBtYXhMZW5ndGgpO1xuICB9XG5cbiAgZ2V0VHJ1bmNhdGVkVGV4dCh0ZXh0OiBzdHJpbmcsIG1heExlbmd0aDogbnVtYmVyID0gMTAwKTogc3RyaW5nIHtcbiAgICBpZiAoIXRleHQpIHJldHVybiAnJztcbiAgICByZXR1cm4gdGV4dC5sZW5ndGggPiBtYXhMZW5ndGggPyB0ZXh0LnN1YnN0cmluZygwLCBtYXhMZW5ndGgpICsgJy4uLicgOiB0ZXh0O1xuICB9XG5cbiAgZ2V0Rm9ybWF0dGVkU3VnZ2VzdGlvbnMoKTogc3RyaW5nW10ge1xuICAgIGlmICghdGhpcy5zdWdnZXN0aW9ucykgcmV0dXJuIFtdO1xuICAgIHJldHVybiB0aGlzLnN1Z2dlc3Rpb25zLnNwbGl0KCdcXG4nKS5maWx0ZXIocyA9PiBzLnRyaW0oKS5sZW5ndGggPiAwKTtcbiAgfVxufVxuXG4iLCI8ZGl2IGNsYXNzPVwiY3FhLXVpLXJvb3RcIiBzdHlsZT1cImRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTtcIj5cbiAgPGRpdiBjbGFzcz1cImNxYS1iZy1bI0ZFRjJGMl0gY3FhLXAtWzE3cHhdIGNxYS1yb3VuZGVkLWxnIGNxYS1vdmVyZmxvdy1oaWRkZW4gY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtM1wiIHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgI0ZFQ0FDQTtcIj5cbiAgICA8ZGl2PlxuICAgICAgPGgzIGNsYXNzPVwiY3FhLXRleHQtc20gY3FhLWxlYWRpbmctWzE4cHhdIGNxYS10ZXh0LVsjMTExODI3XSBjcWEtbWItMVwiPnt7IGhlYWRlclRpdGxlIH19PC9oMz5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC13cmFwIGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0zIGNxYS10ZXh0LXhzXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWzEycHhdIGNxYS10ZXh0LVsjQjkxQzFDXVwiPkVycm9yOiB7eyBlcnJvclRleHQgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWyM2MzYzNjNdXCI+4oCiPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsjNjM2MzYzXVwiPlZpZGVvIHRpbWVzdGFtcDoge3sgdmlkZW9UaW1lc3RhbXAgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWyM2MzYzNjNdXCI+4oCiPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsjNjM2MzYzXVwiPkR1cmF0aW9uOiB7eyBkdXJhdGlvblRleHQgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZ3JpZCBjcWEtZ3JpZC1jb2xzLTIgY3FhLWdhcC0wIGNxYS1yb3VuZGVkLVs0cHhdIGNxYS1vdmVyZmxvdy1oaWRkZW5cIiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICNFNUU3RUJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtYmctd2hpdGUgY3FhLXB4LTIgY3FhLXB5LTEgbWQ6Y3FhLWJvcmRlci1yIGNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI0U1RTdFQlwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS1mb250LXNlbWlib2xkIGNxYS10ZXh0LVsjOUNBM0FGXSBjcWEtdXBwZXJjYXNlIGNxYS10cmFja2luZy13aWRlXCI+RVhQRUNURUQ8L3NwYW4+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtdGV4dC1bIzBCMEIwQl0gY3FhLWxlYWRpbmctcmVsYXhlZFwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFzaG93RXhwZWN0ZWRNb3JlICYmIHNob3VsZFNob3dWaWV3TW9yZShleHBlY3RlZFJlc3VsdClcIj5cbiAgICAgICAgICAgICAge3sgZ2V0VHJ1bmNhdGVkVGV4dChleHBlY3RlZFJlc3VsdCkgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dFeHBlY3RlZE1vcmUgfHwgIXNob3VsZFNob3dWaWV3TW9yZShleHBlY3RlZFJlc3VsdClcIj5cbiAgICAgICAgICAgICAge3sgZXhwZWN0ZWRSZXN1bHQgfX1cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cInNob3VsZFNob3dWaWV3TW9yZShleHBlY3RlZFJlc3VsdClcIiBjbGFzcz1cImNxYS1tbC1hdXRvIGNxYS1tdC1hdXRvIGNxYS1wdC0xXCI+XG4gICAgICAgICAgPGNxYS1idXR0b25cbiAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgIGJ0blNpemU9XCJzbVwiXG4gICAgICAgICAgICBpY29uPVwiY2hldnJvbl9yaWdodFwiXG4gICAgICAgICAgICBpY29uUG9zaXRpb249XCJlbmRcIlxuICAgICAgICAgICAgW3RleHRdPVwic2hvd0V4cGVjdGVkTW9yZSA/ICdWaWV3IExlc3MnIDogJ1ZpZXcgTW9yZSdcIlxuICAgICAgICAgICAgW2lubGluZVN0eWxlc109XCJzaG93RXhwZWN0ZWRNb3JlID8gJ3RyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7JyA6ICd0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlOydcIlxuICAgICAgICAgICAgKGNsaWNrZWQpPVwidG9nZ2xlRXhwZWN0ZWRNb3JlKClcIj5cbiAgICAgICAgICA8L2NxYS1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtYmctWyNGRkY5RjldIGNxYS1weC0yIGNxYS1weS0xIGNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS1mb250LXNlbWlib2xkIGNxYS10ZXh0LVsjOUNBM0FGXSBjcWEtdXBwZXJjYXNlIGNxYS10cmFja2luZy13aWRlXCI+QUNUVUFMPC9zcGFuPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtdGV4dC1bMTBweF0gY3FhLXRleHQtWyNDMTAwMDddIGNxYS1sZWFkaW5nLXJlbGF4ZWQgY3FhLWZvbnQtbWVkaXVtXCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXNob3dBY3R1YWxNb3JlICYmIHNob3VsZFNob3dWaWV3TW9yZShhY3R1YWxSZXN1bHQpXCI+XG4gICAgICAgICAgICAgIHt7IGdldFRydW5jYXRlZFRleHQoYWN0dWFsUmVzdWx0KSB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0FjdHVhbE1vcmUgfHwgIXNob3VsZFNob3dWaWV3TW9yZShhY3R1YWxSZXN1bHQpXCI+XG4gICAgICAgICAgICAgIHt7IGFjdHVhbFJlc3VsdCB9fVxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvdWxkU2hvd1ZpZXdNb3JlKGFjdHVhbFJlc3VsdClcIiBjbGFzcz1cImNxYS1tbC1hdXRvIGNxYS1tdC1hdXRvIGNxYS1wdC0xXCI+XG4gICAgICAgICAgPGNxYS1idXR0b25cbiAgICAgICAgICAgIHZhcmlhbnQ9XCJ0ZXh0XCJcbiAgICAgICAgICAgIGJ0blNpemU9XCJzbVwiXG4gICAgICAgICAgICBpY29uPVwiY2hldnJvbl9yaWdodFwiXG4gICAgICAgICAgICBpY29uUG9zaXRpb249XCJlbmRcIlxuICAgICAgICAgICAgW3RleHRdPVwic2hvd0FjdHVhbE1vcmUgPyAnVmlldyBMZXNzJyA6ICdWaWV3IE1vcmUnXCJcbiAgICAgICAgICAgIFtpbmxpbmVTdHlsZXNdPVwic2hvd0FjdHVhbE1vcmUgPyAndHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTsnIDogJ3RyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7J1wiXG4gICAgICAgICAgICAoY2xpY2tlZCk9XCJ0b2dnbGVBY3R1YWxNb3JlKClcIj5cbiAgICAgICAgICA8L2NxYS1idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWJvcmRlci10IGNxYS1ib3JkZXItWyNFNEU0RTRdIGNxYS1mbGV4IGNxYS1mbGV4LXdyYXAgY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1lbmQgY3FhLWdhcC0yXCI+XG4gICAgICA8Y3FhLWJ1dHRvblxuICAgICAgICB2YXJpYW50PVwib3V0bGluZWRcIlxuICAgICAgICBpY29uPVwicGxheV9hcnJvd1wiXG4gICAgICAgIGljb25MaWJyYXJ5PVwibWF0XCJcbiAgICAgICAgW3RleHRdPVwiJ0p1bXAgdG8gc3RlcCdcIlxuICAgICAgICBidG5TaXplPVwibGdcIlxuICAgICAgICAoY2xpY2tlZCk9XCJvbkp1bXBUb1N0ZXAoKVwiPlxuICAgICAgPC9jcWEtYnV0dG9uPlxuICAgICAgPGNxYS1idXR0b25cbiAgICAgICAgdmFyaWFudD1cIm91dGxpbmVkXCJcbiAgICAgICAgaWNvbj1cInZpZGVvY2FtXCJcbiAgICAgICAgaWNvbkxpYnJhcnk9XCJtYXRcIlxuICAgICAgICBbdGV4dF09XCInT3BlbiBJbiBWaWRlbydcIlxuICAgICAgICBidG5TaXplPVwibGdcIlxuICAgICAgICAoY2xpY2tlZCk9XCJvbk9wZW5JblZpZGVvKClcIj5cbiAgICAgIDwvY3FhLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuIl19
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhaWxlZC1zdGVwLWNhcmQvZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2ZhaWxlZC1zdGVwLWNhcmQvZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBd0IsTUFBTSxlQUFlLENBQUM7O0FBdUJ2RSxNQUFNLE9BQU8sdUJBQXVCO0lBR2xDLElBQUksV0FBVztRQUNiLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUU7WUFDbEMsT0FBTyxrQkFBa0IsSUFBSSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ3BHO1FBQ0QsT0FBTyxrQkFBa0IsSUFBSSxDQUFDLGNBQWMsRUFBRSxpQkFBaUIsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUMxRSxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sSUFBSSxtQkFBbUIsQ0FBQztJQUNqRyxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLElBQUksT0FBTyxDQUFDO0lBQ25ELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsUUFBUSxJQUFJLElBQUksQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxlQUFlLElBQUksRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQyxjQUFjLEVBQUUsYUFBYSxJQUFJLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksY0FBYztRQUNoQixPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ2pHLENBQUM7SUFFRCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDakMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7O29IQXpDVSx1QkFBdUI7d0dBQXZCLHVCQUF1QiwwR0N2QnBDLDYvREFtQ0E7MkZEWmEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHNCQUFzQjs4QkFLdkIsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmFpbGVkU3RlcERhdGEge1xuICBleHBlY3RlZF9yZXN1bHQ6IHN0cmluZztcbiAgYWN0dWFsX3Jlc3VsdDogc3RyaW5nO1xuICBmYWlsZWRfc3RlcF9pZDogc3RyaW5nO1xuICBpc1RpbWVvdXRlcnJvcjogYm9vbGVhbjtcbiAgZmFpbGVkX3N0ZXBfaW5kZXg6IHN0cmluZztcbiAgc3RlcHM6IGFueVtdO1xuICB0aW1lc3RhbXA6IHN0cmluZztcbiAgZHVyYXRpb246IHN0cmluZztcbiAgc3RlcFNjcmVlbnNob3RVcmw6IHN0cmluZyB8IG51bGw7XG4gIHN1Z2dlc3Rpb25zOiBzdHJpbmc7XG4gIHJlYXNvbjogc3RyaW5nO1xuICBzdGVwVGl0bGU/OiBzdHJpbmc7XG4gIGVycm9yTWVzc2FnZT86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLWZhaWxlZC1zdGVwLWNhcmQnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmFpbGVkLXN0ZXAtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW11cbn0pXG5leHBvcnQgY2xhc3MgRmFpbGVkU3RlcENhcmRDb21wb25lbnQge1xuICBASW5wdXQoKSBmYWlsZWRTdGVwRGF0YSE6IEZhaWxlZFN0ZXBEYXRhO1xuXG4gIGdldCBoZWFkZXJUaXRsZSgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmZhaWxlZFN0ZXBEYXRhPy5zdGVwVGl0bGUpIHtcbiAgICAgIHJldHVybiBgRmFpbGVkIGF0IFN0ZXAgJHt0aGlzLmZhaWxlZFN0ZXBEYXRhLmZhaWxlZF9zdGVwX2luZGV4fTogJHt0aGlzLmZhaWxlZFN0ZXBEYXRhLnN0ZXBUaXRsZX1gO1xuICAgIH1cbiAgICByZXR1cm4gYEZhaWxlZCBhdCBTdGVwICR7dGhpcy5mYWlsZWRTdGVwRGF0YT8uZmFpbGVkX3N0ZXBfaW5kZXggfHwgJyd9YDtcbiAgfVxuXG4gIGdldCBlcnJvclRleHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mYWlsZWRTdGVwRGF0YT8uZXJyb3JNZXNzYWdlIHx8IHRoaXMuZmFpbGVkU3RlcERhdGE/LnJlYXNvbiB8fCAnQW4gZXJyb3Igb2NjdXJyZWQnO1xuICB9XG5cbiAgZ2V0IHZpZGVvVGltZXN0YW1wKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmFpbGVkU3RlcERhdGE/LnRpbWVzdGFtcCB8fCAnMDA6MDAnO1xuICB9XG5cbiAgZ2V0IGR1cmF0aW9uVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZhaWxlZFN0ZXBEYXRhPy5kdXJhdGlvbiB8fCAnMHMnO1xuICB9XG5cbiAgZ2V0IGV4cGVjdGVkUmVzdWx0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmFpbGVkU3RlcERhdGE/LmV4cGVjdGVkX3Jlc3VsdCB8fCAnJztcbiAgfVxuXG4gIGdldCBhY3R1YWxSZXN1bHQoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5mYWlsZWRTdGVwRGF0YT8uYWN0dWFsX3Jlc3VsdCB8fCAnJztcbiAgfVxuXG4gIGdldCBzdWdnZXN0aW9ucygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZhaWxlZFN0ZXBEYXRhPy5zdWdnZXN0aW9ucyB8fCAnJztcbiAgfVxuXG4gIGdldCBoYXNTdWdnZXN0aW9ucygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmZhaWxlZFN0ZXBEYXRhPy5zdWdnZXN0aW9ucyAmJiB0aGlzLmZhaWxlZFN0ZXBEYXRhLnN1Z2dlc3Rpb25zLnRyaW0oKS5sZW5ndGggPiAwO1xuICB9XG5cbiAgZ2V0Rm9ybWF0dGVkU3VnZ2VzdGlvbnMoKTogc3RyaW5nW10ge1xuICAgIGlmICghdGhpcy5zdWdnZXN0aW9ucykgcmV0dXJuIFtdO1xuICAgIHJldHVybiB0aGlzLnN1Z2dlc3Rpb25zLnNwbGl0KCdcXG4nKS5maWx0ZXIocyA9PiBzLnRyaW0oKS5sZW5ndGggPiAwKTtcbiAgfVxufVxuXG4iLCI8ZGl2IGNsYXNzPVwiY3FhLXVpLXJvb3RcIiBzdHlsZT1cImRpc3BsYXk6IGJsb2NrOyB3aWR0aDogMTAwJTtcIj5cbiAgPGRpdiBjbGFzcz1cImNxYS1iZy1bI0ZFRjJGMl0gY3FhLXAtWzE3cHhdIGNxYS1yb3VuZGVkLWxnIGNxYS1vdmVyZmxvdy1oaWRkZW4gY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtM1wiIHN0eWxlPVwiYm9yZGVyOiAxcHggc29saWQgI0ZFQ0FDQTtcIj5cbiAgICA8ZGl2PlxuICAgICAgPGgzIGNsYXNzPVwiY3FhLXRleHQtc20gY3FhLWxlYWRpbmctWzE4cHhdIGNxYS10ZXh0LVsjMTExODI3XSBjcWEtbWItMVwiPnt7IGhlYWRlclRpdGxlIH19PC9oMz5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC13cmFwIGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC0zIGNxYS10ZXh0LXhzXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWzEycHhdIGNxYS10ZXh0LVsjQjkxQzFDXVwiPkVycm9yOiB7eyBlcnJvclRleHQgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWyM2MzYzNjNdXCI+4oCiPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsjNjM2MzYzXVwiPlZpZGVvIHRpbWVzdGFtcDoge3sgdmlkZW9UaW1lc3RhbXAgfX08L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLXRleHQtWyM2MzYzNjNdXCI+4oCiPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsjNjM2MzYzXVwiPkR1cmF0aW9uOiB7eyBkdXJhdGlvblRleHQgfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZ3JpZCBjcWEtZ3JpZC1jb2xzLTIgY3FhLWdhcC0wIGNxYS1yb3VuZGVkLVs0cHhdIGNxYS1vdmVyZmxvdy1oaWRkZW5cIiBzdHlsZT1cImJvcmRlcjogMXB4IHNvbGlkICNFNUU3RUJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjcWEtYmctd2hpdGUgY3FhLXB4LTIgY3FhLXB5LTEgbWQ6Y3FhLWJvcmRlci1yIGNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtaC1bMTE0cHhdXCIgc3R5bGU9XCJib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjRTVFN0VCXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0xXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtdGV4dC1bMTBweF0gY3FhLWZvbnQtc2VtaWJvbGQgY3FhLXRleHQtWyM5Q0EzQUZdIGNxYS11cHBlcmNhc2UgY3FhLXRyYWNraW5nLXdpZGVcIj5FWFBFQ1RFRDwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS10ZXh0LVsjMEIwQjBCXSBjcWEtbGVhZGluZy1yZWxheGVkIGNxYS1oLVs5MXB4XSBjcWEtbWF4LWgtWzkxcHhdIGNxYS1vdmVyZmxvdy15LWF1dG8gY3FhLWZvbnQtbWVkaXVtXCI+XG4gICAgICAgICAgICB7eyBleHBlY3RlZFJlc3VsdCB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWJnLVsjRkZGOUY5XSBjcWEtcHgtMiBjcWEtcHktMSBjcWEtZmxleCBjcWEtZmxleC1jb2xcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTFcIj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtZm9udC1zZW1pYm9sZCBjcWEtdGV4dC1bIzlDQTNBRl0gY3FhLXVwcGVyY2FzZSBjcWEtdHJhY2tpbmctd2lkZVwiPkFDVFVBTDwvc3Bhbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY3FhLXRleHQtWzEwcHhdIGNxYS10ZXh0LVsjQzEwMDA3XSBjcWEtbGVhZGluZy1yZWxheGVkIGNxYS1oLVs5MXB4XSBjcWEtbWF4LWgtWzkxcHhdIGNxYS1vdmVyZmxvdy15LWF1dG8gY3FhLWZvbnQtbWVkaXVtXCI+XG4gICAgICAgICAgICB7eyBhY3R1YWxSZXN1bHQgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG4iXX0=
|
|
@@ -132,7 +132,8 @@ export class RunHistoryCardComponent {
|
|
|
132
132
|
'background-color': '#ecedfe',
|
|
133
133
|
'padding': this.isSmall ? '2px 6px' : '2px 8px',
|
|
134
134
|
'border-radius': this.isSmall ? '5px' : '4px',
|
|
135
|
-
'font-size': this.isSmall ? '8px' : '10px'
|
|
135
|
+
'font-size': this.isSmall ? '8px' : '10px',
|
|
136
|
+
'line-height': this.isSmall ? '12px' : '15px'
|
|
136
137
|
};
|
|
137
138
|
}
|
|
138
139
|
get cardPadding() {
|
|
@@ -143,10 +144,10 @@ export class RunHistoryCardComponent {
|
|
|
143
144
|
}
|
|
144
145
|
}
|
|
145
146
|
RunHistoryCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: RunHistoryCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
146
|
-
RunHistoryCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: RunHistoryCardComponent, selector: "cqa-run-history-card", inputs: { id: "id", status: "status", type: "type", timestamp: "timestamp", duration: "duration", runLabel: "runLabel", errorMessage: "errorMessage", size: "size", durationTooltip: "durationTooltip" }, ngImport: i0, template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; min-width: 180px;\">\n <div class=\"cqa-bg-white cqa-rounded-lg cqa-shadow-sm cqa-flex cqa-flex-col\" [ngStyle]=\"{\n padding: cardPadding,\n border: '1px solid #E4E4E4',\n 'border-left-color': statusColor,\n 'border-left-width': borderLeftWidth\n }\">\n\n <!-- Header: Run ID and Status Badge -->\n <div class=\"cqa-flex cqa-items-start cqa-justify-between cqa-gap-2 cqa-flex-wrap\" [ngClass]=\"{\n 'cqa-mb-[10px]': isSmall,\n 'cqa-mb-2': !isSmall\n }\">\n <div class=\"cqa-flex cqa-items-center\" [ngClass]=\"{ 'cqa-gap-[6px]': isSmall, 'cqa-gap-2': !isSmall }\">\n <span [ngStyle]=\"statusIconContainerStyles\">\n <mat-icon [ngStyle]=\"statusIconStyles\">\n {{ statusIcon }}\n </mat-icon>\n </span>\n <span class=\"cqa-font-semibold cqa-text-[#3f43ee]\" [ngClass]=\"{\n 'cqa-text-xs': isSmall,\n 'cqa-text-sm': !isSmall\n }\">\n #{{ id }}\n </span>\n </div>\n\n <!-- Status Badge -->\n <span class=\"cqa-inline-flex cqa-items-center cqa-justify-center cqa-rounded-md cqa-font-medium cqa-text-white cqa-px-2\"\n [ngClass]=\"{\n 'cqa-py-[2px] cqa-text-[10px]': isSmall,\n 'cqa-py-1 cqa-text-xs': !isSmall\n }\" [ngStyle]=\"statusBadgeStyles\">\n {{ statusLabel }}\n </span>\n </div>\n\n <!-- Type and Timestamp -->\n <div class=\"cqa-flex cqa-items-center cqa-text-[#636363]\" [ngClass]=\"{\n 'cqa-gap-1': isSmall,\n 'cqa-gap-[6px]': !isSmall,\n 'cqa-mb-2': isSmall,\n 'cqa-mb-[6px]': !isSmall\n }\">\n <mat-icon [ngClass]=\"{\n 'cqa-text-[12px] cqa-w-3 cqa-h-3': isSmall,\n 'cqa-text-[14px] cqa-w-[14px] cqa-h-[14px]': !isSmall }\">\n {{ typeIcon }}\n </mat-icon>\n <span [ngClass]=\"{ 'cqa-text-[10px]': isSmall, 'cqa-text-xs': !isSmall }\">\n {{ typeLabel }}\n </span>\n </div>\n\n <!-- Timestamp -->\n <div class=\"cqa-font-normal cqa-text-[#0B0B0B]\" [ngClass]=\"{\n 'cqa-text-sm': !isSmall,\n 'cqa-text-[11px]': isSmall,\n 'cqa-mb-2': isSmall,\n 'cqa-mb-[6px]': !isSmall\n }\">\n {{ timestamp }}\n </div>\n\n <!-- Duration and Run Label -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-between cqa-gap-2\">\n <div class=\"cqa-flex cqa-items-center cqa-text-[#636363]\" [ngClass]=\"{\n 'cqa-gap-1': isSmall,\n 'cqa-gap-[6px]': !isSmall\n }\" [title]=\"durationTooltip\">\n <mat-icon [ngClass]=\"{\n 'cqa-text-[12px] cqa-w-3 cqa-h-3': isSmall,\n 'cqa-text-[14px] cqa-w-[14px] cqa-h-[14px]': !isSmall }\" style=\"flex-shrink: 0;\">\n schedule\n </mat-icon>\n <span [ngClass]=\"{\n 'cqa-text-[8px]': isSmall,\n 'cqa-text-[10px]': !isSmall\n }\">\n {{ duration }}\n </span>\n </div>\n\n <span *ngIf=\"runLabel\" class=\"cqa-text-[#3F43EE] cqa-rounded-md cqa-whitespace-nowrap\"\n [ngStyle]=\"runLabelStyles\"\n [ngClass]=\"{ 'cqa-font-medium': !isSmall }\">\n {{ runLabel }}\n </span>\n </div>\n\n <!-- Error Message (only for failed status and normal size) -->\n <div *ngIf=\"errorMessage && status === 'failed' && !isSmall\" class=\"cqa-mt-2 cqa-pt-2\"\n style=\"border-top: 1px solid #E4E4E4;\">\n <p class=\"cqa-text-[10px] cqa-text-[#E7000B]\">\n {{ errorMessage }}\n </p>\n </div>\n </div>\n</div>", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
147
|
+
RunHistoryCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: RunHistoryCardComponent, selector: "cqa-run-history-card", inputs: { id: "id", status: "status", type: "type", timestamp: "timestamp", duration: "duration", runLabel: "runLabel", errorMessage: "errorMessage", size: "size", durationTooltip: "durationTooltip" }, ngImport: i0, template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; min-width: 180px;\">\n <div class=\"cqa-bg-white cqa-rounded-lg cqa-shadow-sm cqa-flex cqa-flex-col\" [ngStyle]=\"{\n padding: cardPadding,\n border: '1px solid #E4E4E4',\n 'border-left-color': statusColor,\n 'border-left-width': borderLeftWidth\n }\">\n\n <!-- Header: Run ID and Status Badge -->\n <div class=\"cqa-flex cqa-items-start cqa-justify-between cqa-gap-2 cqa-flex-wrap\" [ngClass]=\"{\n 'cqa-mb-[10px]': isSmall,\n 'cqa-mb-2': !isSmall\n }\">\n <div class=\"cqa-flex cqa-items-center\" [ngClass]=\"{ 'cqa-gap-[6px]': isSmall, 'cqa-gap-2': !isSmall }\">\n <span [ngStyle]=\"statusIconContainerStyles\">\n <mat-icon [ngStyle]=\"statusIconStyles\">\n {{ statusIcon }}\n </mat-icon>\n </span>\n <span class=\"cqa-font-semibold cqa-text-[#3f43ee]\" [ngClass]=\"{\n 'cqa-text-xs': isSmall,\n 'cqa-text-sm': !isSmall\n }\">\n #{{ id }}\n </span>\n </div>\n\n <!-- Status Badge -->\n <span class=\"cqa-inline-flex cqa-items-center cqa-justify-center cqa-rounded-md cqa-font-medium cqa-text-white cqa-px-2\"\n [ngClass]=\"{\n 'cqa-py-[2px] cqa-text-[10px]': isSmall,\n 'cqa-py-1 cqa-text-xs': !isSmall\n }\" [ngStyle]=\"statusBadgeStyles\">\n {{ statusLabel }}\n </span>\n </div>\n\n <!-- Type and Timestamp -->\n <div class=\"cqa-flex cqa-items-center cqa-text-[#636363]\" [ngClass]=\"{\n 'cqa-gap-1': isSmall,\n 'cqa-gap-[6px]': !isSmall,\n 'cqa-mb-2': isSmall,\n 'cqa-mb-[6px]': !isSmall\n }\">\n <mat-icon [ngClass]=\"{\n 'cqa-text-[12px] cqa-w-3 cqa-h-3': isSmall,\n 'cqa-text-[14px] cqa-w-[14px] cqa-h-[14px]': !isSmall }\">\n {{ typeIcon }}\n </mat-icon>\n <span [ngClass]=\"{ 'cqa-text-[10px]': isSmall, 'cqa-text-xs': !isSmall }\">\n {{ typeLabel }}\n </span>\n </div>\n\n <!-- Timestamp -->\n <div class=\"cqa-font-normal cqa-text-[#0B0B0B] cqa-leading-normal\" [ngClass]=\"{\n 'cqa-text-sm': !isSmall,\n 'cqa-text-[11px]': isSmall,\n 'cqa-mb-2': isSmall,\n 'cqa-mb-[6px]': !isSmall\n }\">\n {{ timestamp }}\n </div>\n\n <!-- Duration and Run Label -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-between cqa-gap-2\">\n <div class=\"cqa-flex cqa-items-center cqa-text-[#636363]\" [ngClass]=\"{\n 'cqa-gap-1': isSmall,\n 'cqa-gap-[6px]': !isSmall\n }\" [title]=\"durationTooltip\">\n <mat-icon [ngClass]=\"{\n 'cqa-text-[12px] cqa-w-3 cqa-h-3': isSmall,\n 'cqa-text-[14px] cqa-w-[14px] cqa-h-[14px]': !isSmall }\" style=\"flex-shrink: 0;\">\n schedule\n </mat-icon>\n <span [ngClass]=\"{\n 'cqa-text-[8px]': isSmall,\n 'cqa-text-[10px]': !isSmall\n }\">\n {{ duration }}\n </span>\n </div>\n\n <span *ngIf=\"runLabel\" class=\"cqa-text-[#3F43EE] cqa-rounded-md cqa-whitespace-nowrap\"\n [ngStyle]=\"runLabelStyles\"\n [ngClass]=\"{ 'cqa-font-medium': !isSmall }\">\n {{ runLabel }}\n </span>\n </div>\n\n <!-- Error Message (only for failed status and normal size) -->\n <div *ngIf=\"errorMessage && status === 'failed' && !isSmall\" class=\"cqa-mt-2 cqa-pt-2\"\n style=\"border-top: 1px solid #E4E4E4;\">\n <p class=\"cqa-text-[10px] cqa-text-[#E7000B]\">\n {{ errorMessage }}\n </p>\n </div>\n </div>\n</div>", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
147
148
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: RunHistoryCardComponent, decorators: [{
|
|
148
149
|
type: Component,
|
|
149
|
-
args: [{ selector: 'cqa-run-history-card', template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; min-width: 180px;\">\n <div class=\"cqa-bg-white cqa-rounded-lg cqa-shadow-sm cqa-flex cqa-flex-col\" [ngStyle]=\"{\n padding: cardPadding,\n border: '1px solid #E4E4E4',\n 'border-left-color': statusColor,\n 'border-left-width': borderLeftWidth\n }\">\n\n <!-- Header: Run ID and Status Badge -->\n <div class=\"cqa-flex cqa-items-start cqa-justify-between cqa-gap-2 cqa-flex-wrap\" [ngClass]=\"{\n 'cqa-mb-[10px]': isSmall,\n 'cqa-mb-2': !isSmall\n }\">\n <div class=\"cqa-flex cqa-items-center\" [ngClass]=\"{ 'cqa-gap-[6px]': isSmall, 'cqa-gap-2': !isSmall }\">\n <span [ngStyle]=\"statusIconContainerStyles\">\n <mat-icon [ngStyle]=\"statusIconStyles\">\n {{ statusIcon }}\n </mat-icon>\n </span>\n <span class=\"cqa-font-semibold cqa-text-[#3f43ee]\" [ngClass]=\"{\n 'cqa-text-xs': isSmall,\n 'cqa-text-sm': !isSmall\n }\">\n #{{ id }}\n </span>\n </div>\n\n <!-- Status Badge -->\n <span class=\"cqa-inline-flex cqa-items-center cqa-justify-center cqa-rounded-md cqa-font-medium cqa-text-white cqa-px-2\"\n [ngClass]=\"{\n 'cqa-py-[2px] cqa-text-[10px]': isSmall,\n 'cqa-py-1 cqa-text-xs': !isSmall\n }\" [ngStyle]=\"statusBadgeStyles\">\n {{ statusLabel }}\n </span>\n </div>\n\n <!-- Type and Timestamp -->\n <div class=\"cqa-flex cqa-items-center cqa-text-[#636363]\" [ngClass]=\"{\n 'cqa-gap-1': isSmall,\n 'cqa-gap-[6px]': !isSmall,\n 'cqa-mb-2': isSmall,\n 'cqa-mb-[6px]': !isSmall\n }\">\n <mat-icon [ngClass]=\"{\n 'cqa-text-[12px] cqa-w-3 cqa-h-3': isSmall,\n 'cqa-text-[14px] cqa-w-[14px] cqa-h-[14px]': !isSmall }\">\n {{ typeIcon }}\n </mat-icon>\n <span [ngClass]=\"{ 'cqa-text-[10px]': isSmall, 'cqa-text-xs': !isSmall }\">\n {{ typeLabel }}\n </span>\n </div>\n\n <!-- Timestamp -->\n <div class=\"cqa-font-normal cqa-text-[#0B0B0B]\" [ngClass]=\"{\n 'cqa-text-sm': !isSmall,\n 'cqa-text-[11px]': isSmall,\n 'cqa-mb-2': isSmall,\n 'cqa-mb-[6px]': !isSmall\n }\">\n {{ timestamp }}\n </div>\n\n <!-- Duration and Run Label -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-between cqa-gap-2\">\n <div class=\"cqa-flex cqa-items-center cqa-text-[#636363]\" [ngClass]=\"{\n 'cqa-gap-1': isSmall,\n 'cqa-gap-[6px]': !isSmall\n }\" [title]=\"durationTooltip\">\n <mat-icon [ngClass]=\"{\n 'cqa-text-[12px] cqa-w-3 cqa-h-3': isSmall,\n 'cqa-text-[14px] cqa-w-[14px] cqa-h-[14px]': !isSmall }\" style=\"flex-shrink: 0;\">\n schedule\n </mat-icon>\n <span [ngClass]=\"{\n 'cqa-text-[8px]': isSmall,\n 'cqa-text-[10px]': !isSmall\n }\">\n {{ duration }}\n </span>\n </div>\n\n <span *ngIf=\"runLabel\" class=\"cqa-text-[#3F43EE] cqa-rounded-md cqa-whitespace-nowrap\"\n [ngStyle]=\"runLabelStyles\"\n [ngClass]=\"{ 'cqa-font-medium': !isSmall }\">\n {{ runLabel }}\n </span>\n </div>\n\n <!-- Error Message (only for failed status and normal size) -->\n <div *ngIf=\"errorMessage && status === 'failed' && !isSmall\" class=\"cqa-mt-2 cqa-pt-2\"\n style=\"border-top: 1px solid #E4E4E4;\">\n <p class=\"cqa-text-[10px] cqa-text-[#E7000B]\">\n {{ errorMessage }}\n </p>\n </div>\n </div>\n</div>", styles: [] }]
|
|
150
|
+
args: [{ selector: 'cqa-run-history-card', template: "<div class=\"cqa-ui-root\" style=\"display: block; width: 100%; height: 100%; min-width: 180px;\">\n <div class=\"cqa-bg-white cqa-rounded-lg cqa-shadow-sm cqa-flex cqa-flex-col\" [ngStyle]=\"{\n padding: cardPadding,\n border: '1px solid #E4E4E4',\n 'border-left-color': statusColor,\n 'border-left-width': borderLeftWidth\n }\">\n\n <!-- Header: Run ID and Status Badge -->\n <div class=\"cqa-flex cqa-items-start cqa-justify-between cqa-gap-2 cqa-flex-wrap\" [ngClass]=\"{\n 'cqa-mb-[10px]': isSmall,\n 'cqa-mb-2': !isSmall\n }\">\n <div class=\"cqa-flex cqa-items-center\" [ngClass]=\"{ 'cqa-gap-[6px]': isSmall, 'cqa-gap-2': !isSmall }\">\n <span [ngStyle]=\"statusIconContainerStyles\">\n <mat-icon [ngStyle]=\"statusIconStyles\">\n {{ statusIcon }}\n </mat-icon>\n </span>\n <span class=\"cqa-font-semibold cqa-text-[#3f43ee]\" [ngClass]=\"{\n 'cqa-text-xs': isSmall,\n 'cqa-text-sm': !isSmall\n }\">\n #{{ id }}\n </span>\n </div>\n\n <!-- Status Badge -->\n <span class=\"cqa-inline-flex cqa-items-center cqa-justify-center cqa-rounded-md cqa-font-medium cqa-text-white cqa-px-2\"\n [ngClass]=\"{\n 'cqa-py-[2px] cqa-text-[10px]': isSmall,\n 'cqa-py-1 cqa-text-xs': !isSmall\n }\" [ngStyle]=\"statusBadgeStyles\">\n {{ statusLabel }}\n </span>\n </div>\n\n <!-- Type and Timestamp -->\n <div class=\"cqa-flex cqa-items-center cqa-text-[#636363]\" [ngClass]=\"{\n 'cqa-gap-1': isSmall,\n 'cqa-gap-[6px]': !isSmall,\n 'cqa-mb-2': isSmall,\n 'cqa-mb-[6px]': !isSmall\n }\">\n <mat-icon [ngClass]=\"{\n 'cqa-text-[12px] cqa-w-3 cqa-h-3': isSmall,\n 'cqa-text-[14px] cqa-w-[14px] cqa-h-[14px]': !isSmall }\">\n {{ typeIcon }}\n </mat-icon>\n <span [ngClass]=\"{ 'cqa-text-[10px]': isSmall, 'cqa-text-xs': !isSmall }\">\n {{ typeLabel }}\n </span>\n </div>\n\n <!-- Timestamp -->\n <div class=\"cqa-font-normal cqa-text-[#0B0B0B] cqa-leading-normal\" [ngClass]=\"{\n 'cqa-text-sm': !isSmall,\n 'cqa-text-[11px]': isSmall,\n 'cqa-mb-2': isSmall,\n 'cqa-mb-[6px]': !isSmall\n }\">\n {{ timestamp }}\n </div>\n\n <!-- Duration and Run Label -->\n <div class=\"cqa-flex cqa-items-center cqa-justify-between cqa-gap-2\">\n <div class=\"cqa-flex cqa-items-center cqa-text-[#636363]\" [ngClass]=\"{\n 'cqa-gap-1': isSmall,\n 'cqa-gap-[6px]': !isSmall\n }\" [title]=\"durationTooltip\">\n <mat-icon [ngClass]=\"{\n 'cqa-text-[12px] cqa-w-3 cqa-h-3': isSmall,\n 'cqa-text-[14px] cqa-w-[14px] cqa-h-[14px]': !isSmall }\" style=\"flex-shrink: 0;\">\n schedule\n </mat-icon>\n <span [ngClass]=\"{\n 'cqa-text-[8px]': isSmall,\n 'cqa-text-[10px]': !isSmall\n }\">\n {{ duration }}\n </span>\n </div>\n\n <span *ngIf=\"runLabel\" class=\"cqa-text-[#3F43EE] cqa-rounded-md cqa-whitespace-nowrap\"\n [ngStyle]=\"runLabelStyles\"\n [ngClass]=\"{ 'cqa-font-medium': !isSmall }\">\n {{ runLabel }}\n </span>\n </div>\n\n <!-- Error Message (only for failed status and normal size) -->\n <div *ngIf=\"errorMessage && status === 'failed' && !isSmall\" class=\"cqa-mt-2 cqa-pt-2\"\n style=\"border-top: 1px solid #E4E4E4;\">\n <p class=\"cqa-text-[10px] cqa-text-[#E7000B]\">\n {{ errorMessage }}\n </p>\n </div>\n </div>\n</div>", styles: [] }]
|
|
150
151
|
}], propDecorators: { id: [{
|
|
151
152
|
type: Input
|
|
152
153
|
}], status: [{
|
|
@@ -166,4 +167,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
166
167
|
}], durationTooltip: [{
|
|
167
168
|
type: Input
|
|
168
169
|
}] } });
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLWhpc3RvcnktY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3J1bi1oaXN0b3J5LWNhcmQvcnVuLWhpc3RvcnktY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3J1bi1oaXN0b3J5LWNhcmQvcnVuLWhpc3RvcnktY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVdqRCxNQUFNLE9BQU8sdUJBQXVCO0lBTHBDO1FBYVcsU0FBSSxHQUFhLFFBQVEsQ0FBQztLQXVKcEM7SUFwSkMsSUFBSSxXQUFXO1FBQ2IsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ25CLEtBQUssUUFBUTtnQkFDWCxPQUFPLFFBQVEsQ0FBQztZQUNsQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxRQUFRLENBQUM7WUFDbEIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sU0FBUyxDQUFDO1lBQ25CLEtBQUssU0FBUztnQkFDWixPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLEtBQUssY0FBYztnQkFDakIsT0FBTyxjQUFjLENBQUM7WUFDeEIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sU0FBUyxDQUFDO1lBQ25CO2dCQUNFLE9BQU8sRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ25CLEtBQUssUUFBUTtnQkFDWCxPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sU0FBUyxDQUFDO1lBQ25CLEtBQUssU0FBUztnQkFDWixPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sU0FBUyxDQUFDO1lBQ25CLEtBQUssY0FBYztnQkFDakIsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sU0FBUyxDQUFDO1lBQ25CO2dCQUNFLE9BQU8sU0FBUyxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNqQixLQUFLLFFBQVE7Z0JBQ1QsT0FBTyxTQUFTLENBQUM7WUFDckIsS0FBSyxRQUFRO2dCQUNULE9BQU8sU0FBUyxDQUFDO1lBQ3JCLEtBQUssU0FBUztnQkFDVixPQUFPLFNBQVMsQ0FBQztZQUNyQixLQUFLLFNBQVM7Z0JBQ1YsT0FBTyxTQUFTLENBQUM7WUFDckIsS0FBSyxTQUFTO2dCQUNWLE9BQU8sU0FBUyxDQUFDO1lBQ3JCLEtBQUssUUFBUTtnQkFDVCxPQUFPLFNBQVMsQ0FBQztZQUNyQixLQUFLLGNBQWM7Z0JBQ2YsT0FBTyxTQUFTLENBQUM7WUFDckIsS0FBSyxTQUFTO2dCQUNWLE9BQU8sU0FBUyxDQUFDO1lBQ3JCO2dCQUNJLE9BQU8sU0FBUyxDQUFDO1NBQ3hCO0lBQ0gsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLFFBQVEsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNuQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxPQUFPLENBQUM7WUFDakIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sT0FBTyxDQUFDO1lBQ2pCLEtBQUssU0FBUztnQkFDWixPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxVQUFVLENBQUM7WUFDcEIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sTUFBTSxDQUFDO1lBQ2hCLEtBQUssUUFBUTtnQkFDWCxPQUFPLGlCQUFpQixDQUFDO1lBQzNCLEtBQUssY0FBYztnQkFDakIsT0FBTyx1QkFBdUIsQ0FBQztZQUNqQyxLQUFLLFNBQVM7Z0JBQ1osT0FBTyxjQUFjLENBQUM7WUFDeEI7Z0JBQ0UsT0FBTyxjQUFjLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDM0QsQ0FBQztJQUVELElBQUksU0FBUztRQUNYLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQzVELENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLHlCQUF5QjtRQUMzQixPQUFPO1lBQ0wsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGlCQUFpQjtZQUMxQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNO1lBQ3ZDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU07WUFDeEMsZUFBZSxFQUFFLEtBQUs7WUFDdEIsU0FBUyxFQUFFLGFBQWE7WUFDeEIsYUFBYSxFQUFFLFFBQVE7WUFDdkIsaUJBQWlCLEVBQUUsUUFBUTtTQUM1QixDQUFDO0lBQ0osQ0FBQztJQUVELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU87WUFDTCxPQUFPLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDekIsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTTtZQUMzQyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNO1lBQ3ZDLFFBQVEsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU07U0FDekMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNuQixPQUFPO1lBQ0wsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLFdBQVc7U0FDckMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLGNBQWM7UUFDaEIsT0FBTztZQUNMLGtCQUFrQixFQUFFLFNBQVM7WUFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUMvQyxlQUFlLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLO1lBQzdDLFdBQVcsRUFBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU07U0FDNUMsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLGVBQWU7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN0QyxDQUFDOztvSEE3SlUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsc1FDWHBDLDJqSEFrR007MkZEdkZPLHVCQUF1QjtrQkFMbkMsU0FBUzsrQkFDRSxzQkFBc0I7OEJBS3ZCLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IHR5cGUgUnVuU3RhdHVzID0gJ3Bhc3NlZCcgfCAnZmFpbGVkJyB8ICdhYm9ydGVkJyB8ICdydW5uaW5nJyB8ICdzdG9wcGVkJyB8ICdxdWV1ZWQnIHwgJ25vdC1leGVjdXRlZCcgfCAndW5rbm93bic7XG5leHBvcnQgdHlwZSBSdW5UeXBlID0gJ2F1dG9tYXRlZCcgfCAnbWFudWFsJztcbmV4cG9ydCB0eXBlIENhcmRTaXplID0gJ25vcm1hbCcgfCAnc21hbGwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtcnVuLWhpc3RvcnktY2FyZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9ydW4taGlzdG9yeS1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBSdW5IaXN0b3J5Q2FyZENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGlkITogbnVtYmVyO1xuICBASW5wdXQoKSBzdGF0dXMhOiBSdW5TdGF0dXM7XG4gIEBJbnB1dCgpIHR5cGUhOiBSdW5UeXBlO1xuICBASW5wdXQoKSB0aW1lc3RhbXAhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGR1cmF0aW9uITogc3RyaW5nO1xuICBASW5wdXQoKSBydW5MYWJlbD86IHN0cmluZztcbiAgQElucHV0KCkgZXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICBASW5wdXQoKSBzaXplOiBDYXJkU2l6ZSA9ICdub3JtYWwnO1xuICBASW5wdXQoKSBkdXJhdGlvblRvb2x0aXA/OiBzdHJpbmc7XG5cbiAgZ2V0IHN0YXR1c0xhYmVsKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnN0YXR1cykge1xuICAgICAgY2FzZSAncGFzc2VkJzpcbiAgICAgICAgcmV0dXJuICdQYXNzZWQnO1xuICAgICAgY2FzZSAnZmFpbGVkJzpcbiAgICAgICAgcmV0dXJuICdGYWlsZWQnO1xuICAgICAgY2FzZSAnYWJvcnRlZCc6XG4gICAgICAgIHJldHVybiAnQWJvcnRlZCc7XG4gICAgICBjYXNlICdydW5uaW5nJzpcbiAgICAgICAgcmV0dXJuICdSdW5uaW5nJztcbiAgICAgIGNhc2UgJ3N0b3BwZWQnOlxuICAgICAgICByZXR1cm4gJ1N0b3BwZWQnO1xuICAgICAgY2FzZSAncXVldWVkJzpcbiAgICAgICAgcmV0dXJuICdRdWV1ZWQnO1xuICAgICAgY2FzZSAnbm90LWV4ZWN1dGVkJzpcbiAgICAgICAgcmV0dXJuICdOb3QgRXhlY3V0ZWQnO1xuICAgICAgY2FzZSAndW5rbm93bic6XG4gICAgICAgIHJldHVybiAnVW5rbm93bic7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHN0YXR1c0NvbG9yKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnN0YXR1cykge1xuICAgICAgY2FzZSAncGFzc2VkJzpcbiAgICAgICAgcmV0dXJuICcjMDBDOTUwJztcbiAgICAgIGNhc2UgJ2ZhaWxlZCc6XG4gICAgICAgIHJldHVybiAnI0ZCMkMzNic7XG4gICAgICBjYXNlICdhYm9ydGVkJzpcbiAgICAgICAgcmV0dXJuICcjRjk3MzE2JztcbiAgICAgIGNhc2UgJ3J1bm5pbmcnOlxuICAgICAgICByZXR1cm4gJyMzQjgyRjYnO1xuICAgICAgY2FzZSAnc3RvcHBlZCc6XG4gICAgICAgIHJldHVybiAnI0VGNDQ0NCc7XG4gICAgICBjYXNlICdxdWV1ZWQnOlxuICAgICAgICByZXR1cm4gJyM4QjVDRjYnO1xuICAgICAgY2FzZSAnbm90LWV4ZWN1dGVkJzpcbiAgICAgICAgcmV0dXJuICcjNkI3MjgwJztcbiAgICAgIGNhc2UgJ3Vua25vd24nOlxuICAgICAgICByZXR1cm4gJyM5Q0EzQUYnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICcjNkI3MjgwJztcbiAgICB9XG4gIH1cblxuICBnZXQgc3RhdHVzSWNvbkJnQ29sb3IoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuc3RhdHVzKSB7XG4gICAgICAgIGNhc2UgJ3Bhc3NlZCc6XG4gICAgICAgICAgICByZXR1cm4gJyNEQ0ZDRTcnO1xuICAgICAgICBjYXNlICdmYWlsZWQnOlxuICAgICAgICAgICAgcmV0dXJuICcjZmZlMmUyJztcbiAgICAgICAgY2FzZSAnYWJvcnRlZCc6XG4gICAgICAgICAgICByZXR1cm4gJyNGRkVERDUnOyBcbiAgICAgICAgY2FzZSAncnVubmluZyc6XG4gICAgICAgICAgICByZXR1cm4gJyNEQkVBRkUnO1xuICAgICAgICBjYXNlICdzdG9wcGVkJzpcbiAgICAgICAgICAgIHJldHVybiAnI0ZFRTJFMic7XG4gICAgICAgIGNhc2UgJ3F1ZXVlZCc6XG4gICAgICAgICAgICByZXR1cm4gJyNFREU5RkUnO1xuICAgICAgICBjYXNlICdub3QtZXhlY3V0ZWQnOlxuICAgICAgICAgICAgcmV0dXJuICcjRjNGNEY2JztcbiAgICAgICAgY2FzZSAndW5rbm93bic6XG4gICAgICAgICAgICByZXR1cm4gJyNGM0Y0RjYnO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuICcjRTVFN0VCJztcbiAgICB9XG4gIH1cblxuICBnZXQgc3RhdHVzSWNvbigpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy5zdGF0dXMpIHtcbiAgICAgIGNhc2UgJ3Bhc3NlZCc6XG4gICAgICAgIHJldHVybiAnY2hlY2snO1xuICAgICAgY2FzZSAnZmFpbGVkJzpcbiAgICAgICAgcmV0dXJuICdjbG9zZSc7XG4gICAgICBjYXNlICdhYm9ydGVkJzpcbiAgICAgICAgcmV0dXJuICd3YXJuaW5nJztcbiAgICAgIGNhc2UgJ3J1bm5pbmcnOlxuICAgICAgICByZXR1cm4gJ3NjaGVkdWxlJztcbiAgICAgIGNhc2UgJ3N0b3BwZWQnOlxuICAgICAgICByZXR1cm4gJ3N0b3AnO1xuICAgICAgY2FzZSAncXVldWVkJzpcbiAgICAgICAgcmV0dXJuICdob3VyZ2xhc3NfZW1wdHknO1xuICAgICAgY2FzZSAnbm90LWV4ZWN1dGVkJzpcbiAgICAgICAgcmV0dXJuICdyZW1vdmVfY2lyY2xlX291dGxpbmUnO1xuICAgICAgY2FzZSAndW5rbm93bic6XG4gICAgICAgIHJldHVybiAnaGVscF9vdXRsaW5lJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnaGVscF9vdXRsaW5lJztcbiAgICB9XG4gIH1cblxuICBnZXQgdHlwZUljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSAnYXV0b21hdGVkJyA/ICdzZXR0aW5ncycgOiAncGVyc29uJztcbiAgfVxuXG4gIGdldCB0eXBlTGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSAnYXV0b21hdGVkJyA/ICdBdXRvbWF0ZWQnIDogJ01hbnVhbCc7XG4gIH1cblxuICBnZXQgaXNTbWFsbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zaXplID09PSAnc21hbGwnO1xuICB9XG5cbiAgZ2V0IHN0YXR1c0ljb25Db250YWluZXJTdHlsZXMoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogdGhpcy5zdGF0dXNJY29uQmdDb2xvcixcbiAgICAgICd3aWR0aCc6IHRoaXMuaXNTbWFsbCA/ICcxNnB4JyA6ICcyMHB4JyxcbiAgICAgICdoZWlnaHQnOiB0aGlzLmlzU21hbGwgPyAnMTZweCcgOiAnMjBweCcsXG4gICAgICAnYm9yZGVyLXJhZGl1cyc6ICc0cHgnLFxuICAgICAgJ2Rpc3BsYXknOiAnaW5saW5lLWZsZXgnLFxuICAgICAgJ2FsaWduLWl0ZW1zJzogJ2NlbnRlcicsXG4gICAgICAnanVzdGlmeS1jb250ZW50JzogJ2NlbnRlcidcbiAgICB9O1xuICB9XG5cbiAgZ2V0IHN0YXR1c0ljb25TdHlsZXMoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdjb2xvcic6IHRoaXMuc3RhdHVzQ29sb3IsXG4gICAgICAnZm9udC1zaXplJzogdGhpcy5pc1NtYWxsID8gJzEwcHgnIDogJzEycHgnLFxuICAgICAgJ3dpZHRoJzogdGhpcy5pc1NtYWxsID8gJzEwcHgnIDogJzEycHgnLFxuICAgICAgJ2hlaWdodCc6IHRoaXMuaXNTbWFsbCA/ICcxMHB4JyA6ICcxMnB4J1xuICAgIH07XG4gIH1cblxuICBnZXQgc3RhdHVzQmFkZ2VTdHlsZXMoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogdGhpcy5zdGF0dXNDb2xvclxuICAgIH07XG4gIH1cblxuICBnZXQgcnVuTGFiZWxTdHlsZXMoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogJyNlY2VkZmUnLFxuICAgICAgJ3BhZGRpbmcnOiB0aGlzLmlzU21hbGwgPyAnMnB4IDZweCcgOiAnMnB4IDhweCcsXG4gICAgICAnYm9yZGVyLXJhZGl1cyc6IHRoaXMuaXNTbWFsbCA/ICc1cHgnIDogJzRweCcsXG4gICAgICAnZm9udC1zaXplJyA6IHRoaXMuaXNTbWFsbCA/ICc4cHgnIDogJzEwcHgnXG4gICAgfTtcbiAgfVxuXG4gIGdldCBjYXJkUGFkZGluZygpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmlzU21hbGwgPyAnMTBweCcgOiAnMTJweCc7XG4gIH1cblxuICBnZXQgYm9yZGVyTGVmdFdpZHRoKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNTbWFsbCA/ICczcHgnIDogJzRweCc7XG4gIH1cblxufSIsIjxkaXYgY2xhc3M9XCJjcWEtdWktcm9vdFwiIHN0eWxlPVwiZGlzcGxheTogYmxvY2s7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7IG1pbi13aWR0aDogMTgwcHg7XCI+XG4gIDxkaXYgY2xhc3M9XCJjcWEtYmctd2hpdGUgY3FhLXJvdW5kZWQtbGcgY3FhLXNoYWRvdy1zbSBjcWEtZmxleCBjcWEtZmxleC1jb2xcIiBbbmdTdHlsZV09XCJ7XG4gICAgICBwYWRkaW5nOiBjYXJkUGFkZGluZyxcbiAgICAgIGJvcmRlcjogJzFweCBzb2xpZCAjRTRFNEU0JyxcbiAgICAgICdib3JkZXItbGVmdC1jb2xvcic6IHN0YXR1c0NvbG9yLFxuICAgICAgJ2JvcmRlci1sZWZ0LXdpZHRoJzogYm9yZGVyTGVmdFdpZHRoXG4gICAgfVwiPlxuXG4gICAgPCEtLSBIZWFkZXI6IFJ1biBJRCBhbmQgU3RhdHVzIEJhZGdlIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtc3RhcnQgY3FhLWp1c3RpZnktYmV0d2VlbiBjcWEtZ2FwLTIgY3FhLWZsZXgtd3JhcFwiIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2NxYS1tYi1bMTBweF0nOiBpc1NtYWxsLFxuICAgICAgICAnY3FhLW1iLTInOiAhaXNTbWFsbFxuICAgICAgfVwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXJcIiBbbmdDbGFzc109XCJ7ICdjcWEtZ2FwLVs2cHhdJzogaXNTbWFsbCwgJ2NxYS1nYXAtMic6ICFpc1NtYWxsIH1cIj5cbiAgICAgICAgPHNwYW4gW25nU3R5bGVdPVwic3RhdHVzSWNvbkNvbnRhaW5lclN0eWxlc1wiPlxuICAgICAgICAgIDxtYXQtaWNvbiBbbmdTdHlsZV09XCJzdGF0dXNJY29uU3R5bGVzXCI+XG4gICAgICAgICAgICB7eyBzdGF0dXNJY29uIH19XG4gICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNxYS1mb250LXNlbWlib2xkIGNxYS10ZXh0LVsjM2Y0M2VlXVwiIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdjcWEtdGV4dC14cyc6IGlzU21hbGwsXG4gICAgICAgICAgICAnY3FhLXRleHQtc20nOiAhaXNTbWFsbFxuICAgICAgICAgIH1cIj5cbiAgICAgICAgICAje3sgaWQgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDwhLS0gU3RhdHVzIEJhZGdlIC0tPlxuICAgICAgPHNwYW4gY2xhc3M9XCJjcWEtaW5saW5lLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXJvdW5kZWQtbWQgY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LXdoaXRlIGNxYS1weC0yXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdjcWEtcHktWzJweF0gY3FhLXRleHQtWzEwcHhdJzogaXNTbWFsbCxcbiAgICAgICAgICAnY3FhLXB5LTEgY3FhLXRleHQteHMnOiAhaXNTbWFsbFxuICAgICAgICB9XCIgW25nU3R5bGVdPVwic3RhdHVzQmFkZ2VTdHlsZXNcIj5cbiAgICAgICAge3sgc3RhdHVzTGFiZWwgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gVHlwZSBhbmQgVGltZXN0YW1wIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS10ZXh0LVsjNjM2MzYzXVwiIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAnY3FhLWdhcC0xJzogaXNTbWFsbCxcbiAgICAgICAgICAnY3FhLWdhcC1bNnB4XSc6ICFpc1NtYWxsLFxuICAgICAgICAgICdjcWEtbWItMic6IGlzU21hbGwsXG4gICAgICAgICAgJ2NxYS1tYi1bNnB4XSc6ICFpc1NtYWxsXG4gICAgICAgIH1cIj5cbiAgICAgIDxtYXQtaWNvbiBbbmdDbGFzc109XCJ7XG4gICAgICAgICdjcWEtdGV4dC1bMTJweF0gY3FhLXctMyBjcWEtaC0zJzogaXNTbWFsbCxcbiAgICAgICAgJ2NxYS10ZXh0LVsxNHB4XSBjcWEtdy1bMTRweF0gY3FhLWgtWzE0cHhdJzogIWlzU21hbGwgfVwiPlxuICAgICAgICB7eyB0eXBlSWNvbiB9fVxuICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIDxzcGFuIFtuZ0NsYXNzXT1cInsgJ2NxYS10ZXh0LVsxMHB4XSc6IGlzU21hbGwsICdjcWEtdGV4dC14cyc6ICFpc1NtYWxsIH1cIj5cbiAgICAgICAge3sgdHlwZUxhYmVsIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIFRpbWVzdGFtcCAtLT5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWZvbnQtbm9ybWFsIGNxYS10ZXh0LVsjMEIwQjBCXVwiIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2NxYS10ZXh0LXNtJzogIWlzU21hbGwsXG4gICAgICAgICdjcWEtdGV4dC1bMTFweF0nOiBpc1NtYWxsLFxuICAgICAgICAnY3FhLW1iLTInOiBpc1NtYWxsLFxuICAgICAgICAnY3FhLW1iLVs2cHhdJzogIWlzU21hbGxcbiAgICAgIH1cIj5cbiAgICAgIHt7IHRpbWVzdGFtcCB9fVxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBEdXJhdGlvbiBhbmQgUnVuIExhYmVsIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWJldHdlZW4gY3FhLWdhcC0yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtdGV4dC1bIzYzNjM2M11cIiBbbmdDbGFzc109XCJ7XG4gICAgICAgICdjcWEtZ2FwLTEnOiBpc1NtYWxsLFxuICAgICAgICAnY3FhLWdhcC1bNnB4XSc6ICFpc1NtYWxsXG4gICAgICB9XCIgW3RpdGxlXT1cImR1cmF0aW9uVG9vbHRpcFwiPlxuICAgICAgICA8bWF0LWljb24gW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdjcWEtdGV4dC1bMTJweF0gY3FhLXctMyBjcWEtaC0zJzogaXNTbWFsbCxcbiAgICAgICAgICAnY3FhLXRleHQtWzE0cHhdIGNxYS13LVsxNHB4XSBjcWEtaC1bMTRweF0nOiAhaXNTbWFsbCB9XCIgc3R5bGU9XCJmbGV4LXNocmluazogMDtcIj5cbiAgICAgICAgICBzY2hlZHVsZVxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ2NxYS10ZXh0LVs4cHhdJzogaXNTbWFsbCxcbiAgICAgICAgICAnY3FhLXRleHQtWzEwcHhdJzogIWlzU21hbGxcbiAgICAgICAgfVwiPlxuICAgICAgICAgIHt7IGR1cmF0aW9uIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8c3BhbiAqbmdJZj1cInJ1bkxhYmVsXCIgY2xhc3M9XCJjcWEtdGV4dC1bIzNGNDNFRV0gY3FhLXJvdW5kZWQtbWQgY3FhLXdoaXRlc3BhY2Utbm93cmFwXCJcbiAgICAgICAgW25nU3R5bGVdPVwicnVuTGFiZWxTdHlsZXNcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdjcWEtZm9udC1tZWRpdW0nOiAhaXNTbWFsbCB9XCI+XG4gICAgICAgIHt7IHJ1bkxhYmVsIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEVycm9yIE1lc3NhZ2UgKG9ubHkgZm9yIGZhaWxlZCBzdGF0dXMgYW5kIG5vcm1hbCBzaXplKSAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JNZXNzYWdlICYmIHN0YXR1cyA9PT0gJ2ZhaWxlZCcgJiYgIWlzU21hbGxcIiBjbGFzcz1cImNxYS1tdC0yIGNxYS1wdC0yXCJcbiAgICAgIHN0eWxlPVwiYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFNEU0RTQ7XCI+XG4gICAgICA8cCBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtdGV4dC1bI0U3MDAwQl1cIj5cbiAgICAgICAge3sgZXJyb3JNZXNzYWdlIH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+Il19
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLWhpc3RvcnktY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3J1bi1oaXN0b3J5LWNhcmQvcnVuLWhpc3RvcnktY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3J1bi1oaXN0b3J5LWNhcmQvcnVuLWhpc3RvcnktY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVdqRCxNQUFNLE9BQU8sdUJBQXVCO0lBTHBDO1FBYVcsU0FBSSxHQUFhLFFBQVEsQ0FBQztLQXdKcEM7SUFySkMsSUFBSSxXQUFXO1FBQ2IsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ25CLEtBQUssUUFBUTtnQkFDWCxPQUFPLFFBQVEsQ0FBQztZQUNsQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxRQUFRLENBQUM7WUFDbEIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sU0FBUyxDQUFDO1lBQ25CLEtBQUssU0FBUztnQkFDWixPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLFNBQVM7Z0JBQ1osT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLEtBQUssY0FBYztnQkFDakIsT0FBTyxjQUFjLENBQUM7WUFDeEIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sU0FBUyxDQUFDO1lBQ25CO2dCQUNFLE9BQU8sRUFBRSxDQUFDO1NBQ2I7SUFDSCxDQUFDO0lBRUQsSUFBSSxXQUFXO1FBQ2IsUUFBUSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ25CLEtBQUssUUFBUTtnQkFDWCxPQUFPLFNBQVMsQ0FBQztZQUNuQixLQUFLLFFBQVE7Z0JBQ1gsT0FBTyxTQUFTLENBQUM7WUFDbkIsS0FBSyxTQUFTO2dCQUNaLE9BQU8sU0FBUyxD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O3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5leHBvcnQgdHlwZSBSdW5TdGF0dXMgPSAncGFzc2VkJyB8ICdmYWlsZWQnIHwgJ2Fib3J0ZWQnIHwgJ3J1bm5pbmcnIHwgJ3N0b3BwZWQnIHwgJ3F1ZXVlZCcgfCAnbm90LWV4ZWN1dGVkJyB8ICd1bmtub3duJztcbmV4cG9ydCB0eXBlIFJ1blR5cGUgPSAnYXV0b21hdGVkJyB8ICdtYW51YWwnO1xuZXhwb3J0IHR5cGUgQ2FyZFNpemUgPSAnbm9ybWFsJyB8ICdzbWFsbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NxYS1ydW4taGlzdG9yeS1jYXJkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3J1bi1oaXN0b3J5LWNhcmQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIFJ1bkhpc3RvcnlDYXJkQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaWQhOiBudW1iZXI7XG4gIEBJbnB1dCgpIHN0YXR1cyE6IFJ1blN0YXR1cztcbiAgQElucHV0KCkgdHlwZSE6IFJ1blR5cGU7XG4gIEBJbnB1dCgpIHRpbWVzdGFtcCE6IHN0cmluZztcbiAgQElucHV0KCkgZHVyYXRpb24hOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHJ1bkxhYmVsPzogc3RyaW5nO1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNpemU6IENhcmRTaXplID0gJ25vcm1hbCc7XG4gIEBJbnB1dCgpIGR1cmF0aW9uVG9vbHRpcD86IHN0cmluZztcblxuICBnZXQgc3RhdHVzTGFiZWwoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuc3RhdHVzKSB7XG4gICAgICBjYXNlICdwYXNzZWQnOlxuICAgICAgICByZXR1cm4gJ1Bhc3NlZCc7XG4gICAgICBjYXNlICdmYWlsZWQnOlxuICAgICAgICByZXR1cm4gJ0ZhaWxlZCc7XG4gICAgICBjYXNlICdhYm9ydGVkJzpcbiAgICAgICAgcmV0dXJuICdBYm9ydGVkJztcbiAgICAgIGNhc2UgJ3J1bm5pbmcnOlxuICAgICAgICByZXR1cm4gJ1J1bm5pbmcnO1xuICAgICAgY2FzZSAnc3RvcHBlZCc6XG4gICAgICAgIHJldHVybiAnU3RvcHBlZCc7XG4gICAgICBjYXNlICdxdWV1ZWQnOlxuICAgICAgICByZXR1cm4gJ1F1ZXVlZCc7XG4gICAgICBjYXNlICdub3QtZXhlY3V0ZWQnOlxuICAgICAgICByZXR1cm4gJ05vdCBFeGVjdXRlZCc7XG4gICAgICBjYXNlICd1bmtub3duJzpcbiAgICAgICAgcmV0dXJuICdVbmtub3duJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBnZXQgc3RhdHVzQ29sb3IoKTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKHRoaXMuc3RhdHVzKSB7XG4gICAgICBjYXNlICdwYXNzZWQnOlxuICAgICAgICByZXR1cm4gJyMwMEM5NTAnO1xuICAgICAgY2FzZSAnZmFpbGVkJzpcbiAgICAgICAgcmV0dXJuICcjRkIyQzM2JztcbiAgICAgIGNhc2UgJ2Fib3J0ZWQnOlxuICAgICAgICByZXR1cm4gJyNGOTczMTYnO1xuICAgICAgY2FzZSAncnVubmluZyc6XG4gICAgICAgIHJldHVybiAnIzNCODJGNic7XG4gICAgICBjYXNlICdzdG9wcGVkJzpcbiAgICAgICAgcmV0dXJuICcjRUY0NDQ0JztcbiAgICAgIGNhc2UgJ3F1ZXVlZCc6XG4gICAgICAgIHJldHVybiAnIzhCNUNGNic7XG4gICAgICBjYXNlICdub3QtZXhlY3V0ZWQnOlxuICAgICAgICByZXR1cm4gJyM2QjcyODAnO1xuICAgICAgY2FzZSAndW5rbm93bic6XG4gICAgICAgIHJldHVybiAnIzlDQTNBRic7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyM2QjcyODAnO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzdGF0dXNJY29uQmdDb2xvcigpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAodGhpcy5zdGF0dXMpIHtcbiAgICAgICAgY2FzZSAncGFzc2VkJzpcbiAgICAgICAgICAgIHJldHVybiAnI0RDRkNFNyc7XG4gICAgICAgIGNhc2UgJ2ZhaWxlZCc6XG4gICAgICAgICAgICByZXR1cm4gJyNmZmUyZTInO1xuICAgICAgICBjYXNlICdhYm9ydGVkJzpcbiAgICAgICAgICAgIHJldHVybiAnI0ZGRURENSc7IFxuICAgICAgICBjYXNlICdydW5uaW5nJzpcbiAgICAgICAgICAgIHJldHVybiAnI0RCRUFGRSc7XG4gICAgICAgIGNhc2UgJ3N0b3BwZWQnOlxuICAgICAgICAgICAgcmV0dXJuICcjRkVFMkUyJztcbiAgICAgICAgY2FzZSAncXVldWVkJzpcbiAgICAgICAgICAgIHJldHVybiAnI0VERTlGRSc7XG4gICAgICAgIGNhc2UgJ25vdC1leGVjdXRlZCc6XG4gICAgICAgICAgICByZXR1cm4gJyNGM0Y0RjYnO1xuICAgICAgICBjYXNlICd1bmtub3duJzpcbiAgICAgICAgICAgIHJldHVybiAnI0YzRjRGNic7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gJyNFNUU3RUInO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzdGF0dXNJY29uKCk6IHN0cmluZyB7XG4gICAgc3dpdGNoICh0aGlzLnN0YXR1cykge1xuICAgICAgY2FzZSAncGFzc2VkJzpcbiAgICAgICAgcmV0dXJuICdjaGVjayc7XG4gICAgICBjYXNlICdmYWlsZWQnOlxuICAgICAgICByZXR1cm4gJ2Nsb3NlJztcbiAgICAgIGNhc2UgJ2Fib3J0ZWQnOlxuICAgICAgICByZXR1cm4gJ3dhcm5pbmcnO1xuICAgICAgY2FzZSAncnVubmluZyc6XG4gICAgICAgIHJldHVybiAnc2NoZWR1bGUnO1xuICAgICAgY2FzZSAnc3RvcHBlZCc6XG4gICAgICAgIHJldHVybiAnc3RvcCc7XG4gICAgICBjYXNlICdxdWV1ZWQnOlxuICAgICAgICByZXR1cm4gJ2hvdXJnbGFzc19lbXB0eSc7XG4gICAgICBjYXNlICdub3QtZXhlY3V0ZWQnOlxuICAgICAgICByZXR1cm4gJ3JlbW92ZV9jaXJjbGVfb3V0bGluZSc7XG4gICAgICBjYXNlICd1bmtub3duJzpcbiAgICAgICAgcmV0dXJuICdoZWxwX291dGxpbmUnO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuICdoZWxwX291dGxpbmUnO1xuICAgIH1cbiAgfVxuXG4gIGdldCB0eXBlSWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09ICdhdXRvbWF0ZWQnID8gJ3NldHRpbmdzJyA6ICdwZXJzb24nO1xuICB9XG5cbiAgZ2V0IHR5cGVMYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09ICdhdXRvbWF0ZWQnID8gJ0F1dG9tYXRlZCcgOiAnTWFudWFsJztcbiAgfVxuXG4gIGdldCBpc1NtYWxsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnNpemUgPT09ICdzbWFsbCc7XG4gIH1cblxuICBnZXQgc3RhdHVzSWNvbkNvbnRhaW5lclN0eWxlcygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2JhY2tncm91bmQtY29sb3InOiB0aGlzLnN0YXR1c0ljb25CZ0NvbG9yLFxuICAgICAgJ3dpZHRoJzogdGhpcy5pc1NtYWxsID8gJzE2cHgnIDogJzIwcHgnLFxuICAgICAgJ2hlaWdodCc6IHRoaXMuaXNTbWFsbCA/ICcxNnB4JyA6ICcyMHB4JyxcbiAgICAgICdib3JkZXItcmFkaXVzJzogJzRweCcsXG4gICAgICAnZGlzcGxheSc6ICdpbmxpbmUtZmxleCcsXG4gICAgICAnYWxpZ24taXRlbXMnOiAnY2VudGVyJyxcbiAgICAgICdqdXN0aWZ5LWNvbnRlbnQnOiAnY2VudGVyJ1xuICAgIH07XG4gIH1cblxuICBnZXQgc3RhdHVzSWNvblN0eWxlcygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2NvbG9yJzogdGhpcy5zdGF0dXNDb2xvcixcbiAgICAgICdmb250LXNpemUnOiB0aGlzLmlzU21hbGwgPyAnMTBweCcgOiAnMTJweCcsXG4gICAgICAnd2lkdGgnOiB0aGlzLmlzU21hbGwgPyAnMTBweCcgOiAnMTJweCcsXG4gICAgICAnaGVpZ2h0JzogdGhpcy5pc1NtYWxsID8gJzEwcHgnIDogJzEycHgnXG4gICAgfTtcbiAgfVxuXG4gIGdldCBzdGF0dXNCYWRnZVN0eWxlcygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2JhY2tncm91bmQtY29sb3InOiB0aGlzLnN0YXR1c0NvbG9yXG4gICAgfTtcbiAgfVxuXG4gIGdldCBydW5MYWJlbFN0eWxlcygpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9IHtcbiAgICByZXR1cm4ge1xuICAgICAgJ2JhY2tncm91bmQtY29sb3InOiAnI2VjZWRmZScsXG4gICAgICAncGFkZGluZyc6IHRoaXMuaXNTbWFsbCA/ICcycHggNnB4JyA6ICcycHggOHB4JyxcbiAgICAgICdib3JkZXItcmFkaXVzJzogdGhpcy5pc1NtYWxsID8gJzVweCcgOiAnNHB4JyxcbiAgICAgICdmb250LXNpemUnIDogdGhpcy5pc1NtYWxsID8gJzhweCcgOiAnMTBweCcsXG4gICAgICAnbGluZS1oZWlnaHQnOiB0aGlzLmlzU21hbGwgPyAnMTJweCcgOiAnMTVweCdcbiAgICB9O1xuICB9XG5cbiAgZ2V0IGNhcmRQYWRkaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXNTbWFsbCA/ICcxMHB4JyA6ICcxMnB4JztcbiAgfVxuXG4gIGdldCBib3JkZXJMZWZ0V2lkdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc1NtYWxsID8gJzNweCcgOiAnNHB4JztcbiAgfVxuXG59IiwiPGRpdiBjbGFzcz1cImNxYS11aS1yb290XCIgc3R5bGU9XCJkaXNwbGF5OiBibG9jazsgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTsgbWluLXdpZHRoOiAxODBweDtcIj5cbiAgPGRpdiBjbGFzcz1cImNxYS1iZy13aGl0ZSBjcWEtcm91bmRlZC1sZyBjcWEtc2hhZG93LXNtIGNxYS1mbGV4IGNxYS1mbGV4LWNvbFwiIFtuZ1N0eWxlXT1cIntcbiAgICAgIHBhZGRpbmc6IGNhcmRQYWRkaW5nLFxuICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICNFNEU0RTQnLFxuICAgICAgJ2JvcmRlci1sZWZ0LWNvbG9yJzogc3RhdHVzQ29sb3IsXG4gICAgICAnYm9yZGVyLWxlZnQtd2lkdGgnOiBib3JkZXJMZWZ0V2lkdGhcbiAgICB9XCI+XG5cbiAgICA8IS0tIEhlYWRlcjogUnVuIElEIGFuZCBTdGF0dXMgQmFkZ2UgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1zdGFydCBjcWEtanVzdGlmeS1iZXR3ZWVuIGNxYS1nYXAtMiBjcWEtZmxleC13cmFwXCIgW25nQ2xhc3NdPVwie1xuICAgICAgICAnY3FhLW1iLVsxMHB4XSc6IGlzU21hbGwsXG4gICAgICAgICdjcWEtbWItMic6ICFpc1NtYWxsXG4gICAgICB9XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlclwiIFtuZ0NsYXNzXT1cInsgJ2NxYS1nYXAtWzZweF0nOiBpc1NtYWxsLCAnY3FhLWdhcC0yJzogIWlzU21hbGwgfVwiPlxuICAgICAgICA8c3BhbiBbbmdTdHlsZV09XCJzdGF0dXNJY29uQ29udGFpbmVyU3R5bGVzXCI+XG4gICAgICAgICAgPG1hdC1pY29uIFtuZ1N0eWxlXT1cInN0YXR1c0ljb25TdHlsZXNcIj5cbiAgICAgICAgICAgIHt7IHN0YXR1c0ljb24gfX1cbiAgICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY3FhLWZvbnQtc2VtaWJvbGQgY3FhLXRleHQtWyMzZjQzZWVdXCIgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2NxYS10ZXh0LXhzJzogaXNTbWFsbCxcbiAgICAgICAgICAgICdjcWEtdGV4dC1zbSc6ICFpc1NtYWxsXG4gICAgICAgICAgfVwiPlxuICAgICAgICAgICN7eyBpZCB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPCEtLSBTdGF0dXMgQmFkZ2UgLS0+XG4gICAgICA8c3BhbiBjbGFzcz1cImNxYS1pbmxpbmUtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtcm91bmRlZC1tZCBjcWEtZm9udC1tZWRpdW0gY3FhLXRleHQtd2hpdGUgY3FhLXB4LTJcIlxuICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ2NxYS1weS1bMnB4XSBjcWEtdGV4dC1bMTBweF0nOiBpc1NtYWxsLFxuICAgICAgICAgICdjcWEtcHktMSBjcWEtdGV4dC14cyc6ICFpc1NtYWxsXG4gICAgICAgIH1cIiBbbmdTdHlsZV09XCJzdGF0dXNCYWRnZVN0eWxlc1wiPlxuICAgICAgICB7eyBzdGF0dXNMYWJlbCB9fVxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBUeXBlIGFuZCBUaW1lc3RhbXAgLS0+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLXRleHQtWyM2MzYzNjNdXCIgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdjcWEtZ2FwLTEnOiBpc1NtYWxsLFxuICAgICAgICAgICdjcWEtZ2FwLVs2cHhdJzogIWlzU21hbGwsXG4gICAgICAgICAgJ2NxYS1tYi0yJzogaXNTbWFsbCxcbiAgICAgICAgICAnY3FhLW1iLVs2cHhdJzogIWlzU21hbGxcbiAgICAgICAgfVwiPlxuICAgICAgPG1hdC1pY29uIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2NxYS10ZXh0LVsxMnB4XSBjcWEtdy0zIGNxYS1oLTMnOiBpc1NtYWxsLFxuICAgICAgICAnY3FhLXRleHQtWzE0cHhdIGNxYS13LVsxNHB4XSBjcWEtaC1bMTRweF0nOiAhaXNTbWFsbCB9XCI+XG4gICAgICAgIHt7IHR5cGVJY29uIH19XG4gICAgICA8L21hdC1pY29uPlxuICAgICAgPHNwYW4gW25nQ2xhc3NdPVwieyAnY3FhLXRleHQtWzEwcHhdJzogaXNTbWFsbCwgJ2NxYS10ZXh0LXhzJzogIWlzU21hbGwgfVwiPlxuICAgICAgICB7eyB0eXBlTGFiZWwgfX1cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDwhLS0gVGltZXN0YW1wIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZm9udC1ub3JtYWwgY3FhLXRleHQtWyMwQjBCMEJdIGNxYS1sZWFkaW5nLW5vcm1hbFwiIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgJ2NxYS10ZXh0LXNtJzogIWlzU21hbGwsXG4gICAgICAgICdjcWEtdGV4dC1bMTFweF0nOiBpc1NtYWxsLFxuICAgICAgICAnY3FhLW1iLTInOiBpc1NtYWxsLFxuICAgICAgICAnY3FhLW1iLVs2cHhdJzogIWlzU21hbGxcbiAgICAgIH1cIj5cbiAgICAgIHt7IHRpbWVzdGFtcCB9fVxuICAgIDwvZGl2PlxuXG4gICAgPCEtLSBEdXJhdGlvbiBhbmQgUnVuIExhYmVsIC0tPlxuICAgIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWJldHdlZW4gY3FhLWdhcC0yXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtdGV4dC1bIzYzNjM2M11cIiBbbmdDbGFzc109XCJ7XG4gICAgICAgICdjcWEtZ2FwLTEnOiBpc1NtYWxsLFxuICAgICAgICAnY3FhLWdhcC1bNnB4XSc6ICFpc1NtYWxsXG4gICAgICB9XCIgW3RpdGxlXT1cImR1cmF0aW9uVG9vbHRpcFwiPlxuICAgICAgICA8bWF0LWljb24gW25nQ2xhc3NdPVwie1xuICAgICAgICAgICdjcWEtdGV4dC1bMTJweF0gY3FhLXctMyBjcWEtaC0zJzogaXNTbWFsbCxcbiAgICAgICAgICAnY3FhLXRleHQtWzE0cHhdIGNxYS13LVsxNHB4XSBjcWEtaC1bMTRweF0nOiAhaXNTbWFsbCB9XCIgc3R5bGU9XCJmbGV4LXNocmluazogMDtcIj5cbiAgICAgICAgICBzY2hlZHVsZVxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgICA8c3BhbiBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgJ2NxYS10ZXh0LVs4cHhdJzogaXNTbWFsbCxcbiAgICAgICAgICAnY3FhLXRleHQtWzEwcHhdJzogIWlzU21hbGxcbiAgICAgICAgfVwiPlxuICAgICAgICAgIHt7IGR1cmF0aW9uIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8c3BhbiAqbmdJZj1cInJ1bkxhYmVsXCIgY2xhc3M9XCJjcWEtdGV4dC1bIzNGNDNFRV0gY3FhLXJvdW5kZWQtbWQgY3FhLXdoaXRlc3BhY2Utbm93cmFwXCJcbiAgICAgICAgW25nU3R5bGVdPVwicnVuTGFiZWxTdHlsZXNcIlxuICAgICAgICBbbmdDbGFzc109XCJ7ICdjcWEtZm9udC1tZWRpdW0nOiAhaXNTbWFsbCB9XCI+XG4gICAgICAgIHt7IHJ1bkxhYmVsIH19XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG5cbiAgICA8IS0tIEVycm9yIE1lc3NhZ2UgKG9ubHkgZm9yIGZhaWxlZCBzdGF0dXMgYW5kIG5vcm1hbCBzaXplKSAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JNZXNzYWdlICYmIHN0YXR1cyA9PT0gJ2ZhaWxlZCcgJiYgIWlzU21hbGxcIiBjbGFzcz1cImNxYS1tdC0yIGNxYS1wdC0yXCJcbiAgICAgIHN0eWxlPVwiYm9yZGVyLXRvcDogMXB4IHNvbGlkICNFNEU0RTQ7XCI+XG4gICAgICA8cCBjbGFzcz1cImNxYS10ZXh0LVsxMHB4XSBjcWEtdGV4dC1bI0U3MDAwQl1cIj5cbiAgICAgICAge3sgZXJyb3JNZXNzYWdlIH19XG4gICAgICA8L3A+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+Il19
|