@cqa-lib/cqa-ui 1.1.268 → 1.1.269
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/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2020/lib/test-case-details/ai-agent-step/ai-agent-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/ai-verify-step/ai-verify-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/api-step/api-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/condition-step/condition-step.component.mjs +29 -3
- package/esm2020/lib/test-case-details/custom-code-step/custom-code-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/database-step/database-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/delete-steps/delete-steps.component.mjs +8 -3
- package/esm2020/lib/test-case-details/loop-step/loop-step.component.mjs +34 -3
- package/esm2020/lib/test-case-details/normal-step/normal-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/restore-session-step/restore-session-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/screenshot-step/screenshot-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/scroll-step/scroll-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/step-group/step-group.component.mjs +61 -15
- package/esm2020/lib/test-case-details/upload-step/upload-step.component.mjs +3 -3
- package/esm2020/lib/test-case-details/verify-url-step/verify-url-step.component.mjs +3 -3
- package/fesm2015/cqa-lib-cqa-ui.mjs +158 -44
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +152 -44
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/test-case-details/condition-step/condition-step.component.d.ts +4 -0
- package/lib/test-case-details/delete-steps/delete-steps.component.d.ts +5 -1
- package/lib/test-case-details/loop-step/loop-step.component.d.ts +6 -0
- package/lib/test-case-details/step-group/step-group.component.d.ts +15 -1
- package/package.json +1 -1
- package/styles.css +1 -1
|
@@ -18,13 +18,15 @@ export class DeleteStepsComponent {
|
|
|
18
18
|
this.contextLabel = '';
|
|
19
19
|
/** Optional step images/screenshots map: stepId -> imageUrl */
|
|
20
20
|
this.stepImages = new Map();
|
|
21
|
+
/** Pre-computed display labels from host (e.g. ts-portal-ui), same order as stepsToDelete. */
|
|
22
|
+
this.stepLabels = [];
|
|
21
23
|
this.confirmDelete = new EventEmitter();
|
|
22
24
|
this.cancelled = new EventEmitter();
|
|
23
|
-
// Initialize from dialog data if provided
|
|
24
25
|
if (data) {
|
|
25
26
|
this.stepsToDelete = data.stepsToDelete || [];
|
|
26
27
|
this.contextLabel = data.contextLabel || '';
|
|
27
28
|
this.stepImages = data.stepImages || new Map();
|
|
29
|
+
this.stepLabels = data.stepLabels || [];
|
|
28
30
|
}
|
|
29
31
|
}
|
|
30
32
|
get stepsCount() {
|
|
@@ -37,8 +39,11 @@ export class DeleteStepsComponent {
|
|
|
37
39
|
get selectedStepsSubtitle() {
|
|
38
40
|
return `Selected (${this.stepsCount}) steps for deletion, are you sure you want to delete these steps?`;
|
|
39
41
|
}
|
|
40
|
-
/** Display label
|
|
42
|
+
/** Display label: use stepLabels from host when provided, else compute from step. */
|
|
41
43
|
getStepDisplayLabel(step, index) {
|
|
44
|
+
if (this.stepLabels?.length > index && this.stepLabels[index] != null && this.stepLabels[index] !== '') {
|
|
45
|
+
return this.stepLabels[index];
|
|
46
|
+
}
|
|
42
47
|
if (isNormalStepConfig(step)) {
|
|
43
48
|
return this.getNormalStepLabel(step);
|
|
44
49
|
}
|
|
@@ -129,4 +134,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
129
134
|
}], cancelled: [{
|
|
130
135
|
type: Output
|
|
131
136
|
}] } });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXN0ZXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdGVzdC1jYXNlLWRldGFpbHMvZGVsZXRlLXN0ZXBzL2RlbGV0ZS1zdGVwcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3Rlc3QtY2FzZS1kZXRhaWxzL2RlbGV0ZS1zdGVwcy9kZWxldGUtc3RlcHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVMsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFJTCxrQkFBa0IsR0FDbkIsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUVsQzs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLG9CQUFvQjtJQVUvQixZQUF3RCxJQUl2RDtRQUp1RCxTQUFJLEdBQUosSUFBSSxDQUkzRDtRQWJELHNEQUFzRDtRQUN0RCxrQkFBYSxHQUF5QixFQUFFLENBQUM7UUFFekMsNkVBQTZFO1FBQzdFLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRWxCLCtEQUErRDtRQUMvRCxlQUFVLEdBQWlDLElBQUksR0FBRyxFQUFFLENBQUM7UUFlM0Msa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3pDLGNBQVMsR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBVDdDLDBDQUEwQztRQUMxQyxJQUFJLElBQUksRUFBRTtZQUNSLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsVUFBVSxHQUFHLElB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LENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsYUFBYSxDQUFDLElBQXdCLEVBQUUsS0FBYTtRQUNuRCxNQUFNLE9BQU8sR0FBSSxJQUFZLEVBQUUsVUFBVSxDQUFDO1FBQzFDLElBQUksT0FBTyxJQUFJLElBQUksSUFBSSxPQUFPLEtBQUssRUFBRSxFQUFFO1lBQ3JDLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7O2lIQTFIVSxvQkFBb0Isa0JBVUMsZUFBZTtxR0FWcEMsb0JBQW9CLHNLQ25CakMsczdIQXdFQTsyRkRyRGEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQixRQUV0QixFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7OzBCQVlqQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7NENBYXJDLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtcbiAgVGVzdENhc2VTdGVwQ29uZmlnLFxuICBOb3JtYWxTdGVwQ29uZmlnLFxuICBUZXN0Q2FzZUV2ZW50VHlwZSxcbiAgaXNOb3JtYWxTdGVwQ29uZmlnLFxufSBmcm9tICcuLi90ZXN0LWNhc2Utc3RlcC5tb2RlbHMnO1xuXG4vKipcbiAqIERlbGV0ZSBTdGVwcyBjb25maXJtYXRpb24gbW9kYWwgZm9yIFRlc3QgQ2FzZSBEZXRhaWxzLlxuICogTWF0Y2hlcyB0aGUgZGVzaWduIG9mIENyZWF0ZSBTdGVwIEdyb3VwOiBzaG93cyBzZWxlY3RlZCBzdGVwcyB3aXRoIGNvbnRleHQgKGUuZy4gXCJJRiBsYW5lXCIpLFxuICogd2FybmluZyB0ZXh0LCBhbmQgQ2FuY2VsIC8gRGVsZXRlIGFjdGlvbnMuIFN0ZXBzIGFyZSBzaG93biB3aXRoIHJlZC9kYW5nZXIgc3R5bGluZy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLWRlbGV0ZS1zdGVwcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZWxldGUtc3RlcHMuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7IGNsYXNzOiAnY3FhLXVpLXJvb3QnIH0sXG59KVxuZXhwb3J0IGNsYXNzIERlbGV0ZVN0ZXBzQ29tcG9uZW50IHtcbiAgLyoqIFN0ZXBzIHRoYXQgd2lsbCBiZSBkZWxldGVkIChzaG93biBpbiB0aGUgbGlzdCkuICovXG4gIHN0ZXBzVG9EZWxldGU6IFRlc3RDYXNlU3RlcENvbmZpZ1tdID0gW107XG5cbiAgLyoqIENvbnRleHQgbGFiZWwgZm9yIHRoZSBzdWItaGVhZGluZywgZS5nLiBcIklGIGxhbmVcIiwgXCJFTFNFXCIsIFwiRm9yIGxvb3BcIi4gKi9cbiAgY29udGV4dExhYmVsID0gJyc7XG5cbiAgLyoqIE9wdGlvbmFsIHN0ZXAgaW1hZ2VzL3NjcmVlbnNob3RzIG1hcDogc3RlcElkIC0+IGltYWdlVXJsICovXG4gIHN0ZXBJbWFnZXM6IE1hcDxzdHJpbmcgfCBudW1iZXIsIHN0cmluZz4gPSBuZXcgTWFwKCk7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIHB1YmxpYyBkYXRhPzoge1xuICAgIHN0ZXBzVG9EZWxldGU/OiBUZXN0Q2FzZVN0ZXBDb25maWdbXTtcbiAgICBjb250ZXh0TGFiZWw/OiBzdHJpbmc7XG4gICAgc3RlcEltYWdlcz86IE1hcDxzdHJpbmcgfCBudW1iZXIsIHN0cmluZz47XG4gIH0pIHtcbiAgICAvLyBJbml0aWFsaXplIGZyb20gZGlhbG9nIGRhdGEgaWYgcHJvdmlkZWRcbiAgICBpZiAoZGF0YSkge1xuICAgICAgdGhpcy5zdGVwc1RvRGVsZXRlID0gZGF0YS5zdGVwc1RvRGVsZXRlIHx8IFtdO1xuICAgICAgdGhpcy5jb250ZXh0TGFiZWwgPSBkYXRhLmNvbnRleHRMYWJlbCB8fCAnJztcbiAgICAgIHRoaXMuc3RlcEltYWdlcyA9IGRhdGEuc3RlcEltYWdlcyB8fCBuZXcgTWFwKCk7XG4gICAgfVxuICB9XG5cbiAgQE91dHB1dCgpIGNvbmZpcm1EZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBjYW5jZWxsZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgZ2V0IHN0ZXBzQ291bnQoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5zdGVwc1RvRGVsZXRlPy5sZW5ndGggPz8gMDtcbiAgfVxuXG4gIGdldCB0aXRsZVRleHQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBuID0gdGhpcy5zdGVwc0NvdW50O1xuICAgIHJldHVybiBuID09PSAxID8gJ0RlbGV0ZSAxIHN0ZXA/JyA6IGBEZWxldGUgJHtufSBzdGVwcz9gO1xuICB9XG5cbiAgZ2V0IHNlbGVjdGVkU3RlcHNTdWJ0aXRsZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgU2VsZWN0ZWQgKCR7dGhpcy5zdGVwc0NvdW50fSkgc3RlcHMgZm9yIGRlbGV0aW9uLCBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoZXNlIHN0ZXBzP2A7XG4gIH1cblxuICAvKiogRGlzcGxheSBsYWJlbCBmb3IgYSBzdGVwIGluIHRoZSBsaXN0IChzYW1lIHBhdHRlcm4gYXMgY3JlYXRlLXN0ZXAtZ3JvdXApLiAqL1xuICBnZXRTdGVwRGlzcGxheUxhYmVsKHN0ZXA6IFRlc3RDYXNlU3RlcENvbmZpZywgaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgaWYgKGlzTm9ybWFsU3RlcENvbmZpZyhzdGVwKSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Tm9ybWFsU3RlcExhYmVsKHN0ZXApO1xuICAgIH1cbiAgICBpZiAoJ2dyb3VwTmFtZScgaW4gc3RlcCAmJiBzdGVwLmdyb3VwTmFtZSkge1xuICAgICAgcmV0dXJuIHN0ZXAuZ3JvdXBOYW1lO1xuICAgIH1cbiAgICBpZiAoJ2NvbmRpdGlvbicgaW4gc3RlcCAmJiBzdGVwLmNvbmRpdGlvbikge1xuICAgICAgcmV0dXJuIHN0ZXAuY29uZGl0aW9uO1xuICAgIH1cbiAgICBpZiAoJ2xvb3BUeXBlJyBpbiBzdGVwKSB7XG4gICAgICBjb25zdCBsb29wID0gc3RlcCBhcyB7IGxvb3BUeXBlOiBzdHJpbmc7IHRlc3REYXRhUHJvZmlsZT86IHN0cmluZzsgY29uZGl0aW9uPzogc3RyaW5nIH07XG4gICAgICBpZiAobG9vcC5sb29wVHlwZSA9PT0gJ2ZvcicgJiYgbG9vcC50ZXN0RGF0YVByb2ZpbGUpIHtcbiAgICAgICAgcmV0dXJuIGBGb3IgbG9vcDogJHtsb29wLnRlc3REYXRhUHJvZmlsZX1gO1xuICAgICAgfVxuICAgICAgaWYgKGxvb3AubG9vcFR5cGUgPT09ICd3aGlsZScgJiYgbG9vcC5jb25kaXRpb24pIHtcbiAgICAgICAgcmV0dXJuIGBXaGlsZTogJHtsb29wLmNvbmRpdGlvbn1gO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoc3RlcC5kZXNjcmlwdGlvbikge1xuICAgICAgcmV0dXJuIHN0ZXAuZGVzY3JpcHRpb247XG4gICAgfVxuICAgIHJldHVybiBgU3RlcCAke2luZGV4ICsgMX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXROb3JtYWxTdGVwTGFiZWwoc3RlcDogTm9ybWFsU3RlcENvbmZpZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcGFyYW1zID0gc3RlcC5wYXJhbWV0ZXJzID8/IFtdO1xuICAgIGNvbnN0IGdldFBhcmFtID0gKG5hbWU6IHN0cmluZykgPT5cbiAgICAgIHBhcmFtcy5maW5kKChwKSA9PiBwLm5hbWU/LnRvTG93ZXJDYXNlKCkgPT09IG5hbWUudG9Mb3dlckNhc2UoKSk7XG4gICAgY29uc3QgdmFsID0gKHA6IHsgdmFsdWU/OiBzdHJpbmc7IGRpc3BsYXlWYWx1ZT86IHN0cmluZyB9IHwgdW5kZWZpbmVkKSA9PlxuICAgICAgcD8uZGlzcGxheVZhbHVlID8/IHA/LnZhbHVlID8/ICcnO1xuXG4gICAgc3dpdGNoIChzdGVwLmV2ZW50VHlwZSBhcyBUZXN0Q2FzZUV2ZW50VHlwZSkge1xuICAgICAgY2FzZSAnbmF2aWdhdGUnOiB7XG4gICAgICAgIGNvbnN0IHVybCA9IGdldFBhcmFtKCd1cmwnKTtcbiAgICAgICAgcmV0dXJuIHVybCA/IGBOYXZpZ2F0ZSB0byAke3ZhbCh1cmwpfWAgOiAnTmF2aWdhdGUgdG8nO1xuICAgICAgfVxuICAgICAgY2FzZSAnYWktYWdlbnQnOiB7XG4gICAgICAgIGNvbnN0IGluc3RydWN0aW9ucyA9IGdldFBhcmFtKCdpbnN0cnVjdGlvbnMnKSA/PyBnZXRQYXJhbSgnZGVzY3JpcHRpb24nKTtcbiAgICAgICAgcmV0dXJuIHZhbChpbnN0cnVjdGlvbnMpIHx8ICdBSSBBZ2VudCBzdGVwJztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3R5cGUnOlxuICAgICAgICByZXR1cm4gdmFsKGdldFBhcmFtKCd0ZXh0JykpIHx8ICdUeXBlJztcbiAgICAgIGNhc2UgJ2NsaWNrJzpcbiAgICAgICAgcmV0dXJuIHZhbChnZXRQYXJhbSgnc2VsZWN0b3InKSkgPyBgQ2xpY2sgJHt2YWwoZ2V0UGFyYW0oJ3NlbGVjdG9yJykpfWAgOiAnQ2xpY2snO1xuICAgICAgY2FzZSAndmVyaWZ5JzpcbiAgICAgICAgcmV0dXJuIHZhbChnZXRQYXJhbSgnZGVzY3JpcHRpb24nKSkgfHwgJ1ZlcmlmeSc7XG4gICAgICBjYXNlICdjdXN0b20nOiB7XG4gICAgICAgIGNvbnN0IGRlc2MgPSBnZXRQYXJhbSgnZGVzY3JpcHRpb24nKSA/PyBnZXRQYXJhbSgnYWN0aW9uJyk7XG4gICAgICAgIHJldHVybiB2YWwoZGVzYykgfHwgJ0N1c3RvbSBzdGVwJztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB2YWwoZ2V0UGFyYW0oJ2Rlc2NyaXB0aW9uJykpIHx8IHZhbChwYXJhbXNbMF0pIHx8ICdTdGVwJztcbiAgICB9XG4gIH1cblxuICBvbkNhbmNlbCgpOiB2b2lkIHtcbiAgICB0aGlzLmNhbmNlbGxlZC5lbWl0KCk7XG4gIH1cblxuICBvbkRlbGV0ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpcm1EZWxldGUuZW1pdCgpO1xuICB9XG5cbiAgLyoqIEdldCBzdGVwIGltYWdlIFVSTCBpZiBhdmFpbGFibGUgKi9cbiAgZ2V0U3RlcEltYWdlKHN0ZXA6IFRlc3RDYXNlU3RlcENvbmZpZyk6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICghc3RlcD8uaWQpIHJldHVybiBudWxsO1xuICAgIHJldHVybiB0aGlzLnN0ZXBJbWFnZXMuZ2V0KHN0ZXAuaWQpIHx8IG51bGw7XG4gIH1cblxuICAvKiogQ2hlY2sgaWYgc3RlcCBoYXMgYW4gaW1hZ2UgKi9cbiAgaGFzU3RlcEltYWdlKHN0ZXA6IFRlc3RDYXNlU3RlcENvbmZpZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmdldFN0ZXBJbWFnZShzdGVwKSAhPT0gbnVsbDtcbiAgfVxuXG4gIC8qKiBHZXQgc3RlcCBudW1iZXIgZnJvbSBzdGVwIGRhdGEsIGZhbGxpbmcgYmFjayB0byBpbmRleCArIDEgKi9cbiAgZ2V0U3RlcE51bWJlcihzdGVwOiBUZXN0Q2FzZVN0ZXBDb25maWcsIGluZGV4OiBudW1iZXIpOiBudW1iZXIgfCBzdHJpbmcge1xuICAgIGNvbnN0IHN0ZXBOdW0gPSAoc3RlcCBhcyBhbnkpPy5zdGVwTnVtYmVyO1xuICAgIGlmIChzdGVwTnVtICE9IG51bGwgJiYgc3RlcE51bSAhPT0gJycpIHtcbiAgICAgIHJldHVybiBzdGVwTnVtO1xuICAgIH1cbiAgICByZXR1cm4gaW5kZXggKyAxO1xuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiY3FhLWJnLXdoaXRlIGNxYS1yb3VuZGVkLVsxMnB4XSBjcWEtc2hhZG93LWxnIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjRTVFN0VCXSBjcWEtdy1mdWxsIGNxYS1tYXgtdy1bNTAwcHhdIGNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTQgY3FhLXAtNiBjcWEtYm94LWJvcmRlciBjcWEtbWluLWgtMFwiPlxuICA8IS0tIEhlYWRlcjogdGl0bGUgKyBjbG9zZSAoWCkgLS0+XG4gIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtc3RhcnQgY3FhLWp1c3RpZnktYmV0d2VlbiBjcWEtZ2FwLTJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMSBjcWEtbWluLXctMFwiPlxuICAgICAgPGgyIGNsYXNzPVwiY3FhLWZvbnQtbWVkaXVtIGNxYS10ZXh0LVsyMnB4XSBjcWEtbGVhZGluZy1bMjhweF0gY3FhLXRyYWNraW5nLW5vcm1hbCBjcWEtdGV4dC1bIzEwMTgyOF0gY3FhLW0tMFwiPlxuICAgICAgICB7eyB0aXRsZVRleHQgfX1cbiAgICAgIDwvaDI+XG4gICAgICA8cCBjbGFzcz1cImNxYS1mb250LW5vcm1hbCBjcWEtdGV4dC1bMTRweF0gY3FhLWxlYWRpbmctWzIxcHhdIGNxYS10cmFja2luZy1bLTAuMTVweF0gY3FhLXRleHQtWyM0QTU1NjVdIGNxYS1tLTBcIj5cbiAgICAgICAgVGhpcyBhY3Rpb24gY2Fubm90IGJlIHVuZG9uZSwgYnV0IHlvdSBjYW4gdXNlIHRoZSB1bmRvIGZ1bmN0aW9uIGluIHRoZSB0b29sYmFyLlxuICAgICAgPC9wPlxuICAgIDwvZGl2PlxuICAgIDxidXR0b25cbiAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgKGNsaWNrKT1cIm9uQ2FuY2VsKClcIlxuICAgICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1qdXN0aWZ5LWNlbnRlciBjcWEtbWluLWgtNyBjcWEtbWluLXctNyBjcWEtcm91bmRlZCBjcWEtdGV4dC1bIzZCNzI4MF0gaG92ZXI6Y3FhLWJnLVsjRjNGNEY2XSBjcWEtcC0wIGNxYS1mbGV4LXNocmluay0wXCJcbiAgICAgIHRpdGxlPVwiQ2xvc2VcIlxuICAgICAgYXJpYS1sYWJlbD1cIkNsb3NlXCI+XG4gICAgICA8c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xOCA2TDYgMThNNiA2bDEyIDEyXCIgLz5cbiAgICAgIDwvc3ZnPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8IS0tIFNlbGVjdGVkIHN0ZXBzIGZvciBbY29udGV4dF0gKE4pIOKAkyBzY3JvbGwgd2hlbiBtYW55IHN0ZXBzLCBzY3JvbGxiYXIgaGlkZGVuIChzYW1lIGFzIGNyZWF0ZS1zdGVwLWdyb3VwKSAtLT5cbiAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTIgY3FhLW1pbi1oLTBcIj5cbiAgICA8bGFiZWwgY2xhc3M9XCJjcWEtZm9udC1zZW1pYm9sZCBjcWEtdGV4dC1bMTJweF0gY3FhLWxlYWRpbmctWzEwMCVdIGNxYS10cmFja2luZy1ub3JtYWwgY3FhLXRleHQtWyMwQTBBMEFdIGNxYS1hbGlnbi1taWRkbGVcIj5cbiAgICAgIHt7IHNlbGVjdGVkU3RlcHNTdWJ0aXRsZSB9fVxuICAgIDwvbGFiZWw+XG4gICAgPGRpdiAqbmdJZj1cInN0ZXBzQ291bnQgPT09IDBcIiBjbGFzcz1cImNxYS10ZXh0LVsxNHB4XSBjcWEtdGV4dC1bIzZCNzI4MF0gY3FhLXAtNCBjcWEtdGV4dC1jZW50ZXJcIj5cbiAgICAgIE5vIHN0ZXBzIHNlbGVjdGVkLiBQbGVhc2Ugc2VsZWN0IGF0IGxlYXN0IG9uZSBzdGVwIHRvIGRlbGV0ZS5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwic3RlcHNDb3VudCA+IDBcIiBjbGFzcz1cImNxYS1zY3JvbGxiYXItaGlkZSBjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0yIGNxYS1tYXgtaC1bMjAwcHhdIGNxYS1taW4taC0wIGNxYS1vdmVyZmxvdy15LWF1dG8gY3FhLW92ZXJmbG93LXgtaGlkZGVuIGNxYS1yb3VuZGVkLVs4cHhdIGNxYS1wLVs2cHhdIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVtyZ2JhKDAsMCwwLDAuMSldXCI+XG4gICAgICA8ZGl2XG4gICAgICAgICpuZ0Zvcj1cImxldCBzdGVwIG9mIHN0ZXBzVG9EZWxldGU7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWdhcC1bOHB4XSBjcWEtcm91bmRlZC1bNHB4XSBjcWEtcHQtWzRweF0gY3FhLXBiLVs0cHhdIGNxYS1wbC1bOHB4XSBjcWEtcHItWzhweF0gY3FhLWJnLVtyZ2JhKDIzOCw2Myw2MywwLjEpXVwiPlxuICAgICAgICA8IS0tIE51bWJlcmVkIGJhZGdlIChyZWQpIC0tPlxuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLXctNyBjcWEtaC03IGNxYS1yb3VuZGVkLWZ1bGwgY3FhLWJnLVsjQzYzNTM1XSBjcWEtdGV4dC13aGl0ZSBjcWEtdGV4dC1bMTBweF0gY3FhLWxlYWRpbmctWzE1cHhdIGNxYS1mb250LW1lZGl1bSBjcWEtZmxleC1zaHJpbmstMFwiPlxuICAgICAgICAgIHt7IGdldFN0ZXBOdW1iZXIoc3RlcCwgaSkgfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8IS0tIFN0ZXAgaW1hZ2UgaWYgYXZhaWxhYmxlIC0tPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgKm5nSWY9XCJoYXNTdGVwSW1hZ2Uoc3RlcClcIlxuICAgICAgICAgIFtzcmNdPVwiZ2V0U3RlcEltYWdlKHN0ZXApXCJcbiAgICAgICAgICBbYWx0XT1cIidTdGVwICcgKyBnZXRTdGVwTnVtYmVyKHN0ZXAsIGkpXCJcbiAgICAgICAgICBjbGFzcz1cImNxYS13LTggY3FhLWgtOCBjcWEtcm91bmRlZC1bNHB4XSBjcWEtb2JqZWN0LWNvdmVyIGNxYS1mbGV4LXNocmluay0wIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVtyZ2JhKDIyMCwzOCwzOCwwLjIpXVwiPlxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImdldFN0ZXBEaXNwbGF5TGFiZWwoc3RlcCwgaSlcIiBjbGFzcz1cImNxYS1mb250LW1lZGl1bSBjcWEtdGV4dC1bMTBweF0gY3FhLWxlYWRpbmctWzE1cHhdIGNxYS10cmFja2luZy1bMHB4XSBjcWEtdGV4dC1bI0RDMjYyNl0gY3FhLWZsZXgtMSBjcWEtbWluLXctMCBjcWEtdHJ1bmNhdGVcIj5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PiAgXG5cbiAgPCEtLSBBY3Rpb25zOiBDYW5jZWwgfCBEZWxldGUgKHJpZ2h0LWFsaWduZWQpIC0tPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1lbmQgY3FhLXctZnVsbCBjcWEtZ2FwLTNcIj5cbiAgICA8Y3FhLWJ1dHRvblxuICAgICAgdmFyaWFudD1cIm91dGxpbmVkXCJcbiAgICAgIGJ0blNpemU9XCJsZ1wiXG4gICAgICB0ZXh0PVwiQ2FuY2VsXCJcbiAgICAgIFtjdXN0b21DbGFzc109XCInY3FhLXRleHQtWzE0cHhdIGNxYS1weS1bOXB4XSBjcWEtYmctd2hpdGUgY3FhLWJvcmRlciBjcWEtYm9yZGVyLXNvbGlkIGNxYS1ib3JkZXItWyM0MTQxNDZdIGNxYS10ZXh0LVsjNDE0MTQ2XSdcIlxuICAgICAgKGNsaWNrZWQpPVwib25DYW5jZWwoKVwiPlxuICAgIDwvY3FhLWJ1dHRvbj5cbiAgICA8Y3FhLWJ1dHRvblxuICAgICAgdmFyaWFudD1cImZpbGxlZFwiXG4gICAgICBidG5TaXplPVwibGdcIlxuICAgICAgdGV4dD1cIkRlbGV0ZVwiXG4gICAgICBbY3VzdG9tQ2xhc3NdPVwiJ2NxYS10ZXh0LVsxNHB4XSBjcWEtcHktWzlweF0gY3FhLXJvdW5kZWQtWzhweF0gY3FhLWJvcmRlci0wIGNxYS1iZy1bI0VFM0YzRl0gY3FhLXRleHQtd2hpdGUnXCJcbiAgICAgIFtkaXNhYmxlZF09XCJzdGVwc0NvdW50ID09PSAwXCJcbiAgICAgIChjbGlja2VkKT1cIm9uRGVsZXRlKClcIj5cbiAgICA8L2NxYS1idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsZXRlLXN0ZXBzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvdGVzdC1jYXNlLWRldGFpbHMvZGVsZXRlLXN0ZXBzL2RlbGV0ZS1zdGVwcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3Rlc3QtY2FzZS1kZXRhaWxzL2RlbGV0ZS1zdGVwcy9kZWxldGUtc3RlcHMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQVMsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFJTCxrQkFBa0IsR0FDbkIsTUFBTSwwQkFBMEIsQ0FBQzs7OztBQUVsQzs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLG9CQUFvQjtJQWEvQixZQUF3RCxJQUt2RDtRQUx1RCxTQUFJLEdBQUosSUFBSSxDQUszRDtRQWpCRCxzREFBc0Q7UUFDdEQsa0JBQWEsR0FBeUIsRUFBRSxDQUFDO1FBRXpDLDZFQUE2RTtRQUM3RSxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUVsQiwrREFBK0Q7UUFDL0QsZUFBVSxHQUFpQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBRXJELDhGQUE4RjtRQUM5RixlQUFVLEdBQWEsRUFBRSxDQUFDO1FBZ0JoQixrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDekMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFUN0MsSUFBSSxJQUFJLEVBQUU7WUFDUixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1lBQzlDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7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QzVCLENBQUM7SUFFRCxzQ0FBc0M7SUFDdEMsWUFBWSxDQUFDLElBQXdCO1FBQ25DLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQzNCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQztJQUM5QyxDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLFlBQVksQ0FBQyxJQUF3QjtRQUNuQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDO0lBQzFDLENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsYUFBYSxDQUFDLElBQXdCLEVBQUUsS0FBYTtRQUNuRCxNQUFNLE9BQU8sR0FBSSxJQUFZLEVBQUUsVUFBVSxDQUFDO1FBQzFDLElBQUksT0FBTyxJQUFJLElBQUksSUFBSSxPQUFPLEtBQUssRUFBRSxFQUFFO1lBQ3JDLE9BQU8sT0FBTyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7O2lIQWpJVSxvQkFBb0Isa0JBYUMsZUFBZTtxR0FicEMsb0JBQW9CLHNLQ25CakMsczdIQXdFQTsyRkRyRGEsb0JBQW9CO2tCQUxoQyxTQUFTOytCQUNFLGtCQUFrQixRQUV0QixFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUU7OzBCQWVqQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLGVBQWU7NENBY3JDLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBJbmplY3QsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHtcbiAgVGVzdENhc2VTdGVwQ29uZmlnLFxuICBOb3JtYWxTdGVwQ29uZmlnLFxuICBUZXN0Q2FzZUV2ZW50VHlwZSxcbiAgaXNOb3JtYWxTdGVwQ29uZmlnLFxufSBmcm9tICcuLi90ZXN0LWNhc2Utc3RlcC5tb2RlbHMnO1xuXG4vKipcbiAqIERlbGV0ZSBTdGVwcyBjb25maXJtYXRpb24gbW9kYWwgZm9yIFRlc3QgQ2FzZSBEZXRhaWxzLlxuICogTWF0Y2hlcyB0aGUgZGVzaWduIG9mIENyZWF0ZSBTdGVwIEdyb3VwOiBzaG93cyBzZWxlY3RlZCBzdGVwcyB3aXRoIGNvbnRleHQgKGUuZy4gXCJJRiBsYW5lXCIpLFxuICogd2FybmluZyB0ZXh0LCBhbmQgQ2FuY2VsIC8gRGVsZXRlIGFjdGlvbnMuIFN0ZXBzIGFyZSBzaG93biB3aXRoIHJlZC9kYW5nZXIgc3R5bGluZy5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLWRlbGV0ZS1zdGVwcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9kZWxldGUtc3RlcHMuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7IGNsYXNzOiAnY3FhLXVpLXJvb3QnIH0sXG59KVxuZXhwb3J0IGNsYXNzIERlbGV0ZVN0ZXBzQ29tcG9uZW50IHtcbiAgLyoqIFN0ZXBzIHRoYXQgd2lsbCBiZSBkZWxldGVkIChzaG93biBpbiB0aGUgbGlzdCkuICovXG4gIHN0ZXBzVG9EZWxldGU6IFRlc3RDYXNlU3RlcENvbmZpZ1tdID0gW107XG5cbiAgLyoqIENvbnRleHQgbGFiZWwgZm9yIHRoZSBzdWItaGVhZGluZywgZS5nLiBcIklGIGxhbmVcIiwgXCJFTFNFXCIsIFwiRm9yIGxvb3BcIi4gKi9cbiAgY29udGV4dExhYmVsID0gJyc7XG5cbiAgLyoqIE9wdGlvbmFsIHN0ZXAgaW1hZ2VzL3NjcmVlbnNob3RzIG1hcDogc3RlcElkIC0+IGltYWdlVXJsICovXG4gIHN0ZXBJbWFnZXM6IE1hcDxzdHJpbmcgfCBudW1iZXIsIHN0cmluZz4gPSBuZXcgTWFwKCk7XG5cbiAgLyoqIFByZS1jb21wdXRlZCBkaXNwbGF5IGxhYmVscyBmcm9tIGhvc3QgKGUuZy4gdHMtcG9ydGFsLXVpKSwgc2FtZSBvcmRlciBhcyBzdGVwc1RvRGVsZXRlLiAqL1xuICBzdGVwTGFiZWxzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YT86IHtcbiAgICBzdGVwc1RvRGVsZXRlPzogVGVzdENhc2VTdGVwQ29uZmlnW107XG4gICAgY29udGV4dExhYmVsPzogc3RyaW5nO1xuICAgIHN0ZXBJbWFnZXM/OiBNYXA8c3RyaW5nIHwgbnVtYmVyLCBzdHJpbmc+O1xuICAgIHN0ZXBMYWJlbHM/OiBzdHJpbmdbXTtcbiAgfSkge1xuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLnN0ZXBzVG9EZWxldGUgPSBkYXRhLnN0ZXBzVG9EZWxldGUgfHwgW107XG4gICAgICB0aGlzLmNvbnRleHRMYWJlbCA9IGRhdGEuY29udGV4dExhYmVsIHx8ICcnO1xuICAgICAgdGhpcy5zdGVwSW1hZ2VzID0gZGF0YS5zdGVwSW1hZ2VzIHx8IG5ldyBNYXAoKTtcbiAgICAgIHRoaXMuc3RlcExhYmVscyA9IGRhdGEuc3RlcExhYmVscyB8fCBbXTtcbiAgICB9XG4gIH1cblxuICBAT3V0cHV0KCkgY29uZmlybURlbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQE91dHB1dCgpIGNhbmNlbGxlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBnZXQgc3RlcHNDb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLnN0ZXBzVG9EZWxldGU/Lmxlbmd0aCA/PyAwO1xuICB9XG5cbiAgZ2V0IHRpdGxlVGV4dCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IG4gPSB0aGlzLnN0ZXBzQ291bnQ7XG4gICAgcmV0dXJuIG4gPT09IDEgPyAnRGVsZXRlIDEgc3RlcD8nIDogYERlbGV0ZSAke259IHN0ZXBzP2A7XG4gIH1cblxuICBnZXQgc2VsZWN0ZWRTdGVwc1N1YnRpdGxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIGBTZWxlY3RlZCAoJHt0aGlzLnN0ZXBzQ291bnR9KSBzdGVwcyBmb3IgZGVsZXRpb24sIGFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhlc2Ugc3RlcHM/YDtcbiAgfVxuXG4gIC8qKiBEaXNwbGF5IGxhYmVsOiB1c2Ugc3RlcExhYmVscyBmcm9tIGhvc3Qgd2hlbiBwcm92aWRlZCwgZWxzZSBjb21wdXRlIGZyb20gc3RlcC4gKi9cbiAgZ2V0U3RlcERpc3BsYXlMYWJlbChzdGVwOiBUZXN0Q2FzZVN0ZXBDb25maWcsIGluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLnN0ZXBMYWJlbHM/Lmxlbmd0aCA+IGluZGV4ICYmIHRoaXMuc3RlcExhYmVsc1tpbmRleF0gIT0gbnVsbCAmJiB0aGlzLnN0ZXBMYWJlbHNbaW5kZXhdICE9PSAnJykge1xuICAgICAgcmV0dXJuIHRoaXMuc3RlcExhYmVsc1tpbmRleF07XG4gICAgfVxuICAgIGlmIChpc05vcm1hbFN0ZXBDb25maWcoc3RlcCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmdldE5vcm1hbFN0ZXBMYWJlbChzdGVwKTtcbiAgICB9XG4gICAgaWYgKCdncm91cE5hbWUnIGluIHN0ZXAgJiYgc3RlcC5ncm91cE5hbWUpIHtcbiAgICAgIHJldHVybiBzdGVwLmdyb3VwTmFtZTtcbiAgICB9XG4gICAgaWYgKCdjb25kaXRpb24nIGluIHN0ZXAgJiYgc3RlcC5jb25kaXRpb24pIHtcbiAgICAgIHJldHVybiBzdGVwLmNvbmRpdGlvbjtcbiAgICB9XG4gICAgaWYgKCdsb29wVHlwZScgaW4gc3RlcCkge1xuICAgICAgY29uc3QgbG9vcCA9IHN0ZXAgYXMgeyBsb29wVHlwZTogc3RyaW5nOyB0ZXN0RGF0YVByb2ZpbGU/OiBzdHJpbmc7IGNvbmRpdGlvbj86IHN0cmluZyB9O1xuICAgICAgaWYgKGxvb3AubG9vcFR5cGUgPT09ICdmb3InICYmIGxvb3AudGVzdERhdGFQcm9maWxlKSB7XG4gICAgICAgIHJldHVybiBgRm9yIGxvb3A6ICR7bG9vcC50ZXN0RGF0YVByb2ZpbGV9YDtcbiAgICAgIH1cbiAgICAgIGlmIChsb29wLmxvb3BUeXBlID09PSAnd2hpbGUnICYmIGxvb3AuY29uZGl0aW9uKSB7XG4gICAgICAgIHJldHVybiBgV2hpbGU6ICR7bG9vcC5jb25kaXRpb259YDtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHN0ZXAuZGVzY3JpcHRpb24pIHtcbiAgICAgIHJldHVybiBzdGVwLmRlc2NyaXB0aW9uO1xuICAgIH1cbiAgICByZXR1cm4gYFN0ZXAgJHtpbmRleCArIDF9YDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Tm9ybWFsU3RlcExhYmVsKHN0ZXA6IE5vcm1hbFN0ZXBDb25maWcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHBhcmFtcyA9IHN0ZXAucGFyYW1ldGVycyA/PyBbXTtcbiAgICBjb25zdCBnZXRQYXJhbSA9IChuYW1lOiBzdHJpbmcpID0+XG4gICAgICBwYXJhbXMuZmluZCgocCkgPT4gcC5uYW1lPy50b0xvd2VyQ2FzZSgpID09PSBuYW1lLnRvTG93ZXJDYXNlKCkpO1xuICAgIGNvbnN0IHZhbCA9IChwOiB7IHZhbHVlPzogc3RyaW5nOyBkaXNwbGF5VmFsdWU/OiBzdHJpbmcgfSB8IHVuZGVmaW5lZCkgPT5cbiAgICAgIHA/LmRpc3BsYXlWYWx1ZSA/PyBwPy52YWx1ZSA/PyAnJztcblxuICAgIHN3aXRjaCAoc3RlcC5ldmVudFR5cGUgYXMgVGVzdENhc2VFdmVudFR5cGUpIHtcbiAgICAgIGNhc2UgJ25hdmlnYXRlJzoge1xuICAgICAgICBjb25zdCB1cmwgPSBnZXRQYXJhbSgndXJsJyk7XG4gICAgICAgIHJldHVybiB1cmwgPyBgTmF2aWdhdGUgdG8gJHt2YWwodXJsKX1gIDogJ05hdmlnYXRlIHRvJztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ2FpLWFnZW50Jzoge1xuICAgICAgICBjb25zdCBpbnN0cnVjdGlvbnMgPSBnZXRQYXJhbSgnaW5zdHJ1Y3Rpb25zJykgPz8gZ2V0UGFyYW0oJ2Rlc2NyaXB0aW9uJyk7XG4gICAgICAgIHJldHVybiB2YWwoaW5zdHJ1Y3Rpb25zKSB8fCAnQUkgQWdlbnQgc3RlcCc7XG4gICAgICB9XG4gICAgICBjYXNlICd0eXBlJzpcbiAgICAgICAgcmV0dXJuIHZhbChnZXRQYXJhbSgndGV4dCcpKSB8fCAnVHlwZSc7XG4gICAgICBjYXNlICdjbGljayc6XG4gICAgICAgIHJldHVybiB2YWwoZ2V0UGFyYW0oJ3NlbGVjdG9yJykpID8gYENsaWNrICR7dmFsKGdldFBhcmFtKCdzZWxlY3RvcicpKX1gIDogJ0NsaWNrJztcbiAgICAgIGNhc2UgJ3ZlcmlmeSc6XG4gICAgICAgIHJldHVybiB2YWwoZ2V0UGFyYW0oJ2Rlc2NyaXB0aW9uJykpIHx8ICdWZXJpZnknO1xuICAgICAgY2FzZSAnY3VzdG9tJzoge1xuICAgICAgICBjb25zdCBkZXNjID0gZ2V0UGFyYW0oJ2Rlc2NyaXB0aW9uJykgPz8gZ2V0UGFyYW0oJ2FjdGlvbicpO1xuICAgICAgICByZXR1cm4gdmFsKGRlc2MpIHx8ICdDdXN0b20gc3RlcCc7XG4gICAgICB9XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gdmFsKGdldFBhcmFtKCdkZXNjcmlwdGlvbicpKSB8fCB2YWwocGFyYW1zWzBdKSB8fCAnU3RlcCc7XG4gICAgfVxuICB9XG5cbiAgb25DYW5jZWwoKTogdm9pZCB7XG4gICAgdGhpcy5jYW5jZWxsZWQuZW1pdCgpO1xuICB9XG5cbiAgb25EZWxldGUoKTogdm9pZCB7XG4gICAgdGhpcy5jb25maXJtRGVsZXRlLmVtaXQoKTtcbiAgfVxuXG4gIC8qKiBHZXQgc3RlcCBpbWFnZSBVUkwgaWYgYXZhaWxhYmxlICovXG4gIGdldFN0ZXBJbWFnZShzdGVwOiBUZXN0Q2FzZVN0ZXBDb25maWcpOiBzdHJpbmcgfCBudWxsIHtcbiAgICBpZiAoIXN0ZXA/LmlkKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gdGhpcy5zdGVwSW1hZ2VzLmdldChzdGVwLmlkKSB8fCBudWxsO1xuICB9XG5cbiAgLyoqIENoZWNrIGlmIHN0ZXAgaGFzIGFuIGltYWdlICovXG4gIGhhc1N0ZXBJbWFnZShzdGVwOiBUZXN0Q2FzZVN0ZXBDb25maWcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5nZXRTdGVwSW1hZ2Uoc3RlcCkgIT09IG51bGw7XG4gIH1cblxuICAvKiogR2V0IHN0ZXAgbnVtYmVyIGZyb20gc3RlcCBkYXRhLCBmYWxsaW5nIGJhY2sgdG8gaW5kZXggKyAxICovXG4gIGdldFN0ZXBOdW1iZXIoc3RlcDogVGVzdENhc2VTdGVwQ29uZmlnLCBpbmRleDogbnVtYmVyKTogbnVtYmVyIHwgc3RyaW5nIHtcbiAgICBjb25zdCBzdGVwTnVtID0gKHN0ZXAgYXMgYW55KT8uc3RlcE51bWJlcjtcbiAgICBpZiAoc3RlcE51bSAhPSBudWxsICYmIHN0ZXBOdW0gIT09ICcnKSB7XG4gICAgICByZXR1cm4gc3RlcE51bTtcbiAgICB9XG4gICAgcmV0dXJuIGluZGV4ICsgMTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImNxYS1iZy13aGl0ZSBjcWEtcm91bmRlZC1bMTJweF0gY3FhLXNoYWRvdy1sZyBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bI0U1RTdFQl0gY3FhLXctZnVsbCBjcWEtbWF4LXctWzUwMHB4XSBjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC00IGNxYS1wLTYgY3FhLWJveC1ib3JkZXIgY3FhLW1pbi1oLTBcIj5cbiAgPCEtLSBIZWFkZXI6IHRpdGxlICsgY2xvc2UgKFgpIC0tPlxuICA8ZGl2IGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLXN0YXJ0IGNxYS1qdXN0aWZ5LWJldHdlZW4gY3FhLWdhcC0yXCI+XG4gICAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1mbGV4LWNvbCBjcWEtZ2FwLTEgY3FhLW1pbi13LTBcIj5cbiAgICAgIDxoMiBjbGFzcz1cImNxYS1mb250LW1lZGl1bSBjcWEtdGV4dC1bMjJweF0gY3FhLWxlYWRpbmctWzI4cHhdIGNxYS10cmFja2luZy1ub3JtYWwgY3FhLXRleHQtWyMxMDE4MjhdIGNxYS1tLTBcIj5cbiAgICAgICAge3sgdGl0bGVUZXh0IH19XG4gICAgICA8L2gyPlxuICAgICAgPHAgY2xhc3M9XCJjcWEtZm9udC1ub3JtYWwgY3FhLXRleHQtWzE0cHhdIGNxYS1sZWFkaW5nLVsyMXB4XSBjcWEtdHJhY2tpbmctWy0wLjE1cHhdIGNxYS10ZXh0LVsjNEE1NTY1XSBjcWEtbS0wXCI+XG4gICAgICAgIFRoaXMgYWN0aW9uIGNhbm5vdCBiZSB1bmRvbmUsIGJ1dCB5b3UgY2FuIHVzZSB0aGUgdW5kbyBmdW5jdGlvbiBpbiB0aGUgdG9vbGJhci5cbiAgICAgIDwvcD5cbiAgICA8L2Rpdj5cbiAgICA8YnV0dG9uXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIChjbGljayk9XCJvbkNhbmNlbCgpXCJcbiAgICAgIGNsYXNzPVwiY3FhLWZsZXggY3FhLWl0ZW1zLWNlbnRlciBjcWEtanVzdGlmeS1jZW50ZXIgY3FhLW1pbi1oLTcgY3FhLW1pbi13LTcgY3FhLXJvdW5kZWQgY3FhLXRleHQtWyM2QjcyODBdIGhvdmVyOmNxYS1iZy1bI0YzRjRGNl0gY3FhLXAtMCBjcWEtZmxleC1zaHJpbmstMFwiXG4gICAgICB0aXRsZT1cIkNsb3NlXCJcbiAgICAgIGFyaWEtbGFiZWw9XCJDbG9zZVwiPlxuICAgICAgPHN2ZyB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIiBzdHJva2U9XCJjdXJyZW50Q29sb3JcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgIDxwYXRoIGQ9XCJNMTggNkw2IDE4TTYgNmwxMiAxMlwiIC8+XG4gICAgICA8L3N2Zz5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG5cbiAgPCEtLSBTZWxlY3RlZCBzdGVwcyBmb3IgW2NvbnRleHRdIChOKSDigJMgc2Nyb2xsIHdoZW4gbWFueSBzdGVwcywgc2Nyb2xsYmFyIGhpZGRlbiAoc2FtZSBhcyBjcmVhdGUtc3RlcC1ncm91cCkgLS0+XG4gIDxkaXYgY2xhc3M9XCJjcWEtZmxleCBjcWEtZmxleC1jb2wgY3FhLWdhcC0yIGNxYS1taW4taC0wXCI+XG4gICAgPGxhYmVsIGNsYXNzPVwiY3FhLWZvbnQtc2VtaWJvbGQgY3FhLXRleHQtWzEycHhdIGNxYS1sZWFkaW5nLVsxMDAlXSBjcWEtdHJhY2tpbmctbm9ybWFsIGNxYS10ZXh0LVsjMEEwQTBBXSBjcWEtYWxpZ24tbWlkZGxlXCI+XG4gICAgICB7eyBzZWxlY3RlZFN0ZXBzU3VidGl0bGUgfX1cbiAgICA8L2xhYmVsPlxuICAgIDxkaXYgKm5nSWY9XCJzdGVwc0NvdW50ID09PSAwXCIgY2xhc3M9XCJjcWEtdGV4dC1bMTRweF0gY3FhLXRleHQtWyM2QjcyODBdIGNxYS1wLTQgY3FhLXRleHQtY2VudGVyXCI+XG4gICAgICBObyBzdGVwcyBzZWxlY3RlZC4gUGxlYXNlIHNlbGVjdCBhdCBsZWFzdCBvbmUgc3RlcCB0byBkZWxldGUuXG4gICAgPC9kaXY+XG4gICAgPGRpdiAqbmdJZj1cInN0ZXBzQ291bnQgPiAwXCIgY2xhc3M9XCJjcWEtc2Nyb2xsYmFyLWhpZGUgY3FhLWZsZXggY3FhLWZsZXgtY29sIGNxYS1nYXAtMiBjcWEtbWF4LWgtWzIwMHB4XSBjcWEtbWluLWgtMCBjcWEtb3ZlcmZsb3cteS1hdXRvIGNxYS1vdmVyZmxvdy14LWhpZGRlbiBjcWEtcm91bmRlZC1bOHB4XSBjcWEtcC1bNnB4XSBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bcmdiYSgwLDAsMCwwLjEpXVwiPlxuICAgICAgPGRpdlxuICAgICAgICAqbmdGb3I9XCJsZXQgc3RlcCBvZiBzdGVwc1RvRGVsZXRlOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgY2xhc3M9XCJjcWEtZmxleCBjcWEtaXRlbXMtY2VudGVyIGNxYS1nYXAtWzhweF0gY3FhLXJvdW5kZWQtWzRweF0gY3FhLXB0LVs0cHhdIGNxYS1wYi1bNHB4XSBjcWEtcGwtWzhweF0gY3FhLXByLVs4cHhdIGNxYS1iZy1bcmdiYSgyMzgsNjMsNjMsMC4xKV1cIj5cbiAgICAgICAgPCEtLSBOdW1iZXJlZCBiYWRnZSAocmVkKSAtLT5cbiAgICAgICAgPHNwYW5cbiAgICAgICAgICBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktY2VudGVyIGNxYS13LTcgY3FhLWgtNyBjcWEtcm91bmRlZC1mdWxsIGNxYS1iZy1bI0M2MzUzNV0gY3FhLXRleHQtd2hpdGUgY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtZm9udC1tZWRpdW0gY3FhLWZsZXgtc2hyaW5rLTBcIj5cbiAgICAgICAgICB7eyBnZXRTdGVwTnVtYmVyKHN0ZXAsIGkpIH19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPCEtLSBTdGVwIGltYWdlIGlmIGF2YWlsYWJsZSAtLT5cbiAgICAgICAgPGltZ1xuICAgICAgICAgICpuZ0lmPVwiaGFzU3RlcEltYWdlKHN0ZXApXCJcbiAgICAgICAgICBbc3JjXT1cImdldFN0ZXBJbWFnZShzdGVwKVwiXG4gICAgICAgICAgW2FsdF09XCInU3RlcCAnICsgZ2V0U3RlcE51bWJlcihzdGVwLCBpKVwiXG4gICAgICAgICAgY2xhc3M9XCJjcWEtdy04IGNxYS1oLTggY3FhLXJvdW5kZWQtWzRweF0gY3FhLW9iamVjdC1jb3ZlciBjcWEtZmxleC1zaHJpbmstMCBjcWEtYm9yZGVyIGNxYS1ib3JkZXItc29saWQgY3FhLWJvcmRlci1bcmdiYSgyMjAsMzgsMzgsMC4yKV1cIj5cbiAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJnZXRTdGVwRGlzcGxheUxhYmVsKHN0ZXAsIGkpXCIgY2xhc3M9XCJjcWEtZm9udC1tZWRpdW0gY3FhLXRleHQtWzEwcHhdIGNxYS1sZWFkaW5nLVsxNXB4XSBjcWEtdHJhY2tpbmctWzBweF0gY3FhLXRleHQtWyNEQzI2MjZdIGNxYS1mbGV4LTEgY3FhLW1pbi13LTAgY3FhLXRydW5jYXRlXCI+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj4gIFxuXG4gIDwhLS0gQWN0aW9uczogQ2FuY2VsIHwgRGVsZXRlIChyaWdodC1hbGlnbmVkKSAtLT5cbiAgPGRpdiBjbGFzcz1cImNxYS1mbGV4IGNxYS1pdGVtcy1jZW50ZXIgY3FhLWp1c3RpZnktZW5kIGNxYS13LWZ1bGwgY3FhLWdhcC0zXCI+XG4gICAgPGNxYS1idXR0b25cbiAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lZFwiXG4gICAgICBidG5TaXplPVwibGdcIlxuICAgICAgdGV4dD1cIkNhbmNlbFwiXG4gICAgICBbY3VzdG9tQ2xhc3NdPVwiJ2NxYS10ZXh0LVsxNHB4XSBjcWEtcHktWzlweF0gY3FhLWJnLXdoaXRlIGNxYS1ib3JkZXIgY3FhLWJvcmRlci1zb2xpZCBjcWEtYm9yZGVyLVsjNDE0MTQ2XSBjcWEtdGV4dC1bIzQxNDE0Nl0nXCJcbiAgICAgIChjbGlja2VkKT1cIm9uQ2FuY2VsKClcIj5cbiAgICA8L2NxYS1idXR0b24+XG4gICAgPGNxYS1idXR0b25cbiAgICAgIHZhcmlhbnQ9XCJmaWxsZWRcIlxuICAgICAgYnRuU2l6ZT1cImxnXCJcbiAgICAgIHRleHQ9XCJEZWxldGVcIlxuICAgICAgW2N1c3RvbUNsYXNzXT1cIidjcWEtdGV4dC1bMTRweF0gY3FhLXB5LVs5cHhdIGNxYS1yb3VuZGVkLVs4cHhdIGNxYS1ib3JkZXItMCBjcWEtYmctWyNFRTNGM0ZdIGNxYS10ZXh0LXdoaXRlJ1wiXG4gICAgICBbZGlzYWJsZWRdPVwic3RlcHNDb3VudCA9PT0gMFwiXG4gICAgICAoY2xpY2tlZCk9XCJvbkRlbGV0ZSgpXCI+XG4gICAgPC9jcWEtYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|