@annalib/anna-core 30.3.4 → 30.3.5

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.
@@ -65,6 +65,8 @@ export class GTTableRelatedCommonFunctionsService {
65
65
  return result.join(", ");
66
66
  }
67
67
  static convertToCommaSeperatedString(arrList) {
68
+ if (!arrList || !arrList?.length)
69
+ return null;
68
70
  let nameList = "";
69
71
  for (let i = 0; i < arrList.length; i++) {
70
72
  if (i !== arrList.length - 1) {
@@ -85,4 +87,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
85
87
  providedIn: "root",
86
88
  }]
87
89
  }] });
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3QtdGFibGUtcmVsYXRlZC1jb21tb24tZnVuY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWdlbmVyaWMtdGFibGUtbGliL3NlcnZpY2VzL2d0LXRhYmxlLXJlbGF0ZWQtY29tbW9uLWZ1bmN0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxvQ0FBb0M7SUFDN0MsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFVBQWtCLEVBQUUseUJBQXlCLEdBQUcsQ0FBQztRQUMxRSxNQUFNLFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUMvQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNoRSxJQUFJLEtBQUssR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsSUFBSSx5QkFBeUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSx5QkFBeUIsQ0FBQztRQUMvRixPQUFPLFVBQVUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQ2hELENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLFVBQWtCO1FBQzVDLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNkLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQztRQUN0QixNQUFNLE9BQU8sR0FBRyxPQUFP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QUMsT0FBYztRQUMvQyxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLEtBQUssT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzFCLFFBQVEsR0FBRyxHQUFHLFFBQVEsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQzthQUM5QztpQkFBTTtnQkFDSCxRQUFRLEdBQUcsR0FBRyxRQUFRLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDN0M7U0FDSjtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7K0dBOUVRLG9DQUFvQzttSEFBcEMsb0NBQW9DLGNBRmpDLE1BQU07OzRGQUVULG9DQUFvQztrQkFIaEQsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR1RUYWJsZVJlbGF0ZWRDb21tb25GdW5jdGlvbnNTZXJ2aWNlIHtcclxuICAgIHN0YXRpYyBHZXREb2xsYXJSb3VuZGVkVmFsdWUoaW5wdXRWYWx1ZTogbnVtYmVyLCBkaWdpdHNUb1JvdW5kRGVjaW1hbFBvaW50ID0gMikge1xyXG4gICAgICAgIGNvbnN0IGRvbGxhclNpZ24gPSBpbnB1dFZhbHVlIDwgMCA/IFwiLSRcIiA6IFwiJFwiO1xyXG4gICAgICAgIGNvbnN0IHZhbHVlVW5pdEFyciA9IHRoaXMuR2V0VmFsdWVJblVuaXRzKE1hdGguYWJzKGlucHV0VmFsdWUpKTtcclxuICAgICAgICBsZXQgdmFsdWUgPSB2YWx1ZVVuaXRBcnJbMF07XHJcbiAgICAgICAgY29uc3QgdW5pdCA9IHZhbHVlVW5pdEFyclsxXTtcclxuICAgICAgICB2YWx1ZSA9IE1hdGgucm91bmQoK3ZhbHVlICogMTAgKiogZGlnaXRzVG9Sb3VuZERlY2ltYWxQb2ludCkgLyAxMCAqKiBkaWdpdHNUb1JvdW5kRGVjaW1hbFBvaW50O1xyXG4gICAgICAgIHJldHVybiBkb2xsYXJTaWduICsgdmFsdWUudG9TdHJpbmcoKSArIHVuaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBHZXRWYWx1ZUluVW5pdHMoaW5wdXRWYWx1ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgbGV0IHVuaXQgPSBcIlwiO1xyXG4gICAgICAgIGNvbnN0IHRob3VzYW5kID0gMTAwMDtcclxuICAgICAgICBjb25zdCBtaWxsaW9uID0gMTAwMDAwMDtcclxuICAgICAgICBjb25zdCBiaWxsaW9uID0gMTAwMDAwMDAwMDtcclxuXHJcbiAgICAgICAgbGV0IHVwZGF0ZWRJbnB1dFZhbHVlID0gaW5wdXRWYWx1ZTtcclxuICAgICAgICBpZiAoaW5wdXRWYWx1ZSA+PSB0aG91c2FuZCAmJiBpbnB1dFZhbHVlIDwgbWlsbGlvbikge1xyXG4gICAgICAgICAgICB1cGRhdGVkSW5wdXRWYWx1ZSA9IGlucHV0VmFsdWUgLyB0aG91c2FuZDtcclxuICAgICAgICAgICAgdW5pdCA9IFwiS1wiO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaW5wdXRWYWx1ZSA+PSBtaWxsaW9uICYmIGlucHV0VmFsdWUgPCBiaWxsaW9uKSB7XHJcbiAgICAgICAgICAgIHVwZGF0ZWRJbnB1dFZhbHVlID0gaW5wdXRWYWx1ZSAvIG1pbGxpb247XHJcbiAgICAgICAgICAgIHVuaXQgPSBcIk1cIjtcclxuICAgICAgICB9IGVsc2UgaWYgKGlucHV0VmFsdWUgPj0gYmlsbGlvbikge1xyXG4gICAgICAgICAgICB1cGRhdGVkSW5wdXRWYWx1ZSA9IGlucHV0VmFsdWUgLyBiaWxsaW9uO1xyXG4gICAgICAgICAgICB1bml0ID0gXCJCXCI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gW3VwZGF0ZWRJbnB1dFZhbHVlLCB1bml0XTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgcmV0dXJuVG9vbHRpcHNBc0h0bWxMaVRhZ0xpc3Qoc3ZnT3JJY29uVG9vbHRpcE1zZ3M6IHN0cmluZ1tdKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIXN2Z09ySWNvblRvb2x0aXBNc2dzIHx8ICFzdmdPckljb25Ub29sdGlwTXNncz8ubGVuZ3RoKSByZXR1cm4gbnVsbDtcclxuICAgICAgICBpZiAoc3ZnT3JJY29uVG9vbHRpcE1zZ3MubGVuZ3RoID09PSAxKSByZXR1cm4gc3ZnT3JJY29uVG9vbHRpcE1zZ3NbMF07XHJcblxyXG4gICAgICAgIGxldCBsaXN0SXRlbXM6IHN0cmluZyA9IGA8dWw+YDtcclxuICAgICAgICBzdmdPckljb25Ub29sdGlwTXNncy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGxpc3RJdGVtcyArPSBgPGxpPiR7aXRlbX08L2xpPmA7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgbGlzdEl0ZW1zICs9IGA8L3VsPmA7XHJcbiAgICAgICAgcmV0dXJuIGxpc3RJdGVtcztcclxuICAgIH1cclxuXHJcbiAgICAvLyBnZW5lcmljIGZ1bmN0aW9uIHRvIGZvcm1hdCBhbiBhcnJheSBvZiBudW1iZXJzIGFzIHJhbmdlc1xyXG4gICAgLy8gIGlucHV0IFsxLDIsMyw0LDldID0+IG91dHB1dCBbMS00LCA5XVxyXG4gICAgc3RhdGljIGZvcm1hdEFycmF5QXNSYW5nZXNXaXRoSHlwaGVuVmFsdWUoYXJyOiBudW1iZXJbXSk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKGFyci5sZW5ndGggPT09IDApIHJldHVybiBcIi1cIjtcclxuXHJcbiAgICAgICAgYXJyLnNvcnQoKGEsIGIpID0+IGEgLSBiKTsgLy8gRW5zdXJlIHRoZSBhcnJheSBpcyBzb3J0ZWRcclxuICAgICAgICBjb25zdCByZXN1bHQ6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgbGV0IHN0YXJ0ID0gYXJyWzBdO1xyXG4gICAgICAgIGxldCBlbmQgPSBhcnJbMF07XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChhcnJbaV0gPT09IGVuZCArIDEpIHtcclxuICAgICAgICAgICAgICAgIGVuZCA9IGFycltpXTsgLy8gRXh0ZW5kIHRoZSByYW5nZVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goc3RhcnQgPT09IGVuZCA/IGAke3N0YXJ0fWAgOiBgJHtzdGFydH0tJHtlbmR9YCk7XHJcbiAgICAgICAgICAgICAgICBzdGFydCA9IGFycltpXTtcclxuICAgICAgICAgICAgICAgIGVuZCA9IGFycltpXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBQdXNoIHRoZSBsYXN0IHJhbmdlXHJcbiAgICAgICAgcmVzdWx0LnB1c2goc3RhcnQgPT09IGVuZCA/IGAke3N0YXJ0fWAgOiBgJHtzdGFydH0tJHtlbmR9YCk7XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHQuam9pbihcIiwgXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBjb252ZXJ0VG9Db21tYVNlcGVyYXRlZFN0cmluZyhhcnJMaXN0OiBhbnlbXSk6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IG5hbWVMaXN0ID0gXCJcIjtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyckxpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgaWYgKGkgIT09IGFyckxpc3QubGVuZ3RoIC0gMSkge1xyXG4gICAgICAgICAgICAgICAgbmFtZUxpc3QgPSBgJHtuYW1lTGlzdH0g4oCYJHthcnJMaXN0W2ldfeKAmSwgYDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIG5hbWVMaXN0ID0gYCR7bmFtZUxpc3R9IOKAmCR7YXJyTGlzdFtpXX3igJkgYDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmFtZUxpc3Q7XHJcbiAgICB9XHJcbn1cclxuIl19
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3QtdGFibGUtcmVsYXRlZC1jb21tb24tZnVuY3Rpb25zLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWdlbmVyaWMtdGFibGUtbGliL3NlcnZpY2VzL2d0LXRhYmxlLXJlbGF0ZWQtY29tbW9uLWZ1bmN0aW9ucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxvQ0FBb0M7SUFDN0MsTUFBTSxDQUFDLHFCQUFxQixDQUFDLFVBQWtCLEVBQUUseUJBQXlCLEdBQUcsQ0FBQztRQUMxRSxNQUFNLFVBQVUsR0FBRyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUMvQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUNoRSxJQUFJLEtBQUssR0FBRyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUIsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzdCLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsSUFBSSx5QkFBeUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSx5QkFBeUIsQ0FBQztRQUMvRixPQUFPLFVBQVUsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDO0lBQ2hELENBQUM7SUFFTSxNQUFNLENBQUMsZUFBZSxDQUFDLFVBQWtCO1FBQzVDLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNkLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQztRQUN0QixNQUFNLE9BQU8sR0FBRyxPQUFP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QUMsT0FBYztRQUMvQyxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQztRQUM5QyxJQUFJLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDbEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLEtBQUssT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzFCLFFBQVEsR0FBRyxHQUFHLFFBQVEsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQzthQUM5QztpQkFBTTtnQkFDSCxRQUFRLEdBQUcsR0FBRyxRQUFRLEtBQUssT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7YUFDN0M7U0FDSjtRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7K0dBL0VRLG9DQUFvQzttSEFBcEMsb0NBQW9DLGNBRmpDLE1BQU07OzRGQUVULG9DQUFvQztrQkFIaEQsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR1RUYWJsZVJlbGF0ZWRDb21tb25GdW5jdGlvbnNTZXJ2aWNlIHtcclxuICAgIHN0YXRpYyBHZXREb2xsYXJSb3VuZGVkVmFsdWUoaW5wdXRWYWx1ZTogbnVtYmVyLCBkaWdpdHNUb1JvdW5kRGVjaW1hbFBvaW50ID0gMikge1xyXG4gICAgICAgIGNvbnN0IGRvbGxhclNpZ24gPSBpbnB1dFZhbHVlIDwgMCA/IFwiLSRcIiA6IFwiJFwiO1xyXG4gICAgICAgIGNvbnN0IHZhbHVlVW5pdEFyciA9IHRoaXMuR2V0VmFsdWVJblVuaXRzKE1hdGguYWJzKGlucHV0VmFsdWUpKTtcclxuICAgICAgICBsZXQgdmFsdWUgPSB2YWx1ZVVuaXRBcnJbMF07XHJcbiAgICAgICAgY29uc3QgdW5pdCA9IHZhbHVlVW5pdEFyclsxXTtcclxuICAgICAgICB2YWx1ZSA9IE1hdGgucm91bmQoK3ZhbHVlICogMTAgKiogZGlnaXRzVG9Sb3VuZERlY2ltYWxQb2ludCkgLyAxMCAqKiBkaWdpdHNUb1JvdW5kRGVjaW1hbFBvaW50O1xyXG4gICAgICAgIHJldHVybiBkb2xsYXJTaWduICsgdmFsdWUudG9TdHJpbmcoKSArIHVuaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIHN0YXRpYyBHZXRWYWx1ZUluVW5pdHMoaW5wdXRWYWx1ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgbGV0IHVuaXQgPSBcIlwiO1xyXG4gICAgICAgIGNvbnN0IHRob3VzYW5kID0gMTAwMDtcclxuICAgICAgICBjb25zdCBtaWxsaW9uID0gMTAwMDAwMDtcclxuICAgICAgICBjb25zdCBiaWxsaW9uID0gMTAwMDAwMDAwMDtcclxuXHJcbiAgICAgICAgbGV0IHVwZGF0ZWRJbnB1dFZhbHVlID0gaW5wdXRWYWx1ZTtcclxuICAgICAgICBpZiAoaW5wdXRWYWx1ZSA+PSB0aG91c2FuZCAmJiBpbnB1dFZhbHVlIDwgbWlsbGlvbikge1xyXG4gICAgICAgICAgICB1cGRhdGVkSW5wdXRWYWx1ZSA9IGlucHV0VmFsdWUgLyB0aG91c2FuZDtcclxuICAgICAgICAgICAgdW5pdCA9IFwiS1wiO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaW5wdXRWYWx1ZSA+PSBtaWxsaW9uICYmIGlucHV0VmFsdWUgPCBiaWxsaW9uKSB7XHJcbiAgICAgICAgICAgIHVwZGF0ZWRJbnB1dFZhbHVlID0gaW5wdXRWYWx1ZSAvIG1pbGxpb247XHJcbiAgICAgICAgICAgIHVuaXQgPSBcIk1cIjtcclxuICAgICAgICB9IGVsc2UgaWYgKGlucHV0VmFsdWUgPj0gYmlsbGlvbikge1xyXG4gICAgICAgICAgICB1cGRhdGVkSW5wdXRWYWx1ZSA9IGlucHV0VmFsdWUgLyBiaWxsaW9uO1xyXG4gICAgICAgICAgICB1bml0ID0gXCJCXCI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gW3VwZGF0ZWRJbnB1dFZhbHVlLCB1bml0XTtcclxuICAgIH1cclxuXHJcbiAgICBzdGF0aWMgcmV0dXJuVG9vbHRpcHNBc0h0bWxMaVRhZ0xpc3Qoc3ZnT3JJY29uVG9vbHRpcE1zZ3M6IHN0cmluZ1tdKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIXN2Z09ySWNvblRvb2x0aXBNc2dzIHx8ICFzdmdPckljb25Ub29sdGlwTXNncz8ubGVuZ3RoKSByZXR1cm4gbnVsbDtcclxuICAgICAgICBpZiAoc3ZnT3JJY29uVG9vbHRpcE1zZ3MubGVuZ3RoID09PSAxKSByZXR1cm4gc3ZnT3JJY29uVG9vbHRpcE1zZ3NbMF07XHJcblxyXG4gICAgICAgIGxldCBsaXN0SXRlbXM6IHN0cmluZyA9IGA8dWw+YDtcclxuICAgICAgICBzdmdPckljb25Ub29sdGlwTXNncy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGxpc3RJdGVtcyArPSBgPGxpPiR7aXRlbX08L2xpPmA7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgbGlzdEl0ZW1zICs9IGA8L3VsPmA7XHJcbiAgICAgICAgcmV0dXJuIGxpc3RJdGVtcztcclxuICAgIH1cclxuXHJcbiAgICAvLyBnZW5lcmljIGZ1bmN0aW9uIHRvIGZvcm1hdCBhbiBhcnJheSBvZiBudW1iZXJzIGFzIHJhbmdlc1xyXG4gICAgLy8gIGlucHV0IFsxLDIsMyw0LDldID0+IG91dHB1dCBbMS00LCA5XVxyXG4gICAgc3RhdGljIGZvcm1hdEFycmF5QXNSYW5nZXNXaXRoSHlwaGVuVmFsdWUoYXJyOiBudW1iZXJbXSk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKGFyci5sZW5ndGggPT09IDApIHJldHVybiBcIi1cIjtcclxuXHJcbiAgICAgICAgYXJyLnNvcnQoKGEsIGIpID0+IGEgLSBiKTsgLy8gRW5zdXJlIHRoZSBhcnJheSBpcyBzb3J0ZWRcclxuICAgICAgICBjb25zdCByZXN1bHQ6IHN0cmluZ1tdID0gW107XHJcbiAgICAgICAgbGV0IHN0YXJ0ID0gYXJyWzBdO1xyXG4gICAgICAgIGxldCBlbmQgPSBhcnJbMF07XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgYXJyLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChhcnJbaV0gPT09IGVuZCArIDEpIHtcclxuICAgICAgICAgICAgICAgIGVuZCA9IGFycltpXTsgLy8gRXh0ZW5kIHRoZSByYW5nZVxyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2goc3RhcnQgPT09IGVuZCA/IGAke3N0YXJ0fWAgOiBgJHtzdGFydH0tJHtlbmR9YCk7XHJcbiAgICAgICAgICAgICAgICBzdGFydCA9IGFycltpXTtcclxuICAgICAgICAgICAgICAgIGVuZCA9IGFycltpXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBQdXNoIHRoZSBsYXN0IHJhbmdlXHJcbiAgICAgICAgcmVzdWx0LnB1c2goc3RhcnQgPT09IGVuZCA/IGAke3N0YXJ0fWAgOiBgJHtzdGFydH0tJHtlbmR9YCk7XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHQuam9pbihcIiwgXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHN0YXRpYyBjb252ZXJ0VG9Db21tYVNlcGVyYXRlZFN0cmluZyhhcnJMaXN0OiBhbnlbXSk6IHN0cmluZyB7XHJcbiAgICAgICAgaWYgKCFhcnJMaXN0IHx8ICFhcnJMaXN0Py5sZW5ndGgpIHJldHVybiBudWxsO1xyXG4gICAgICAgIGxldCBuYW1lTGlzdCA9IFwiXCI7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJMaXN0Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChpICE9PSBhcnJMaXN0Lmxlbmd0aCAtIDEpIHtcclxuICAgICAgICAgICAgICAgIG5hbWVMaXN0ID0gYCR7bmFtZUxpc3R9IOKAmCR7YXJyTGlzdFtpXX3igJksIGA7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICBuYW1lTGlzdCA9IGAke25hbWVMaXN0fSDigJgke2Fyckxpc3RbaV194oCZIGA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5hbWVMaXN0O1xyXG4gICAgfVxyXG59XHJcbiJdfQ==