@sapphire-ion/framework 1.2.11 → 1.2.12

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.
@@ -105,6 +105,9 @@ export class StorageService {
105
105
  * lista de respostas dos arquivos, como promise, quando todos estiverem completos ou deram erro, é retornada
106
106
  */
107
107
  async GetBlobBatchLiveReponse(lstFiles, onUpdate) {
108
+ if (!lstFiles || lstFiles.length === 0) {
109
+ return Promise.resolve([]);
110
+ }
108
111
  const lst = lstFiles.map(p => ({
109
112
  path: p,
110
113
  observable: this.GetFile(p),
@@ -175,4 +178,4 @@ function DownloadFile(data, fileUrl) {
175
178
  });
176
179
  linkElement.dispatchEvent(me);
177
180
  }
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy93ZWIvc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsYUFBYSxFQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQTBDLE1BQU0sTUFBTSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7OztBQVFwRCxNQUFNLE9BQU8sY0FBYztJQUV6QixZQUNRLElBQWlCLEVBQ2pCLHFCQUE0QyxFQUM1QyxjQUE4QjtRQUY5QixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBRzlCLHlCQUFvQixHQUFlLEVBQUUsQ0FBQztJQUYxQyxDQUFDO0lBSUUsV0FBVyxDQUFDLElBQVk7UUFDN0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUE7UUFDcEUsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sYUFBYSxDQUFDLElBQVksRUFBRSxNQUFZLEVBQUUsT0FBZ0IsS0FBSztRQUNwRSxJQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJ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LE1BQU07aUJBQ25COztBQW9LRCxNQUFNLE9BQU8sUUFBUTtJQUduQixZQUFtQixJQUFZO1FBQVosU0FBSSxHQUFKLElBQUksQ0FBUTtRQUQvQixhQUFRLEdBQWlCLE9BQU8sQ0FBQztJQUNBLENBQUM7Q0FDbkM7QUFFRCxTQUFTLFlBQVksQ0FBQyxJQUF3QixFQUFFLE9BQU87SUFDckQsTUFBTSxjQUFjLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXZFLElBQUksT0FBTyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDbEQsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNoRCxXQUFXLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxQyxXQUFXLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM3QyxXQUFXLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxjQUFjLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUUvRSxJQUFJLEVBQUUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxPQUFPLEVBQUU7UUFDN0IsSUFBSSxFQUFFLE1BQU07UUFDWixPQUFPLEVBQUUsSUFBSTtRQUNiLFVBQVUsRUFBRSxLQUFLO0tBQ3BCLENBQUMsQ0FBQztJQUVILFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFdmVudCwgSHR0cEV2ZW50VHlwZSwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGxhc3RWYWx1ZUZyb20sIG1hcCwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEFwaVVybFByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4vYXBpLXVybC1wcm92aWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2VuZXJpY1NlcnZpY2UgfSBmcm9tICcuLi9nZW5lcmljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uL3V0aWxzLnNlcnZpY2UnO1xyXG5cclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9yYWdlU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gIHByaXZhdGUgaHR0cCA6IEh0dHBDbGllbnQsXHJcbiAgcHJpdmF0ZSBhcGlVcmxQcm92aWRlclNlcnZpY2U6IEFwaVVybFByb3ZpZGVyU2VydmljZSxcclxuICBwcml2YXRlIGdlbmVyaWNTZXJ2aWNlOiBHZW5lcmljU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIHByaXZhdGUgY3VycmVudGx5RG93bmxvYWRpbmc6IERvd25sb2FkW10gPSBbXTtcclxuXHJcbiAgcHVibGljIEdldFByb2dyZXNzKGZpbGU6IHN0cmluZyk6IG51bWJlcntcclxuICAgIGNvbnN0IERvd25sb2FkID0gdGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5maW5kKHAgPT4gcC5maWxlID09IGZpbGUpXHJcbiAgICByZXR1cm4gRG93bmxvYWQgPyBEb3dubG9hZC5wcm9ncmVzcyA6IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU3RhcnREb3dubG9hZChmaWxlOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgcG9zdDogYm9vbGVhbiA9IGZhbHNlKTogRG93bmxvYWQge1xyXG4gICAgaWYoIXRoaXMuY3VycmVudGx5RG93bmxvYWRpbmcuZmluZChwID0+IHAuZmlsZSA9PSBmaWxlKSl7XHJcbiAgICAgIGNvbnN0IGRvd25sb2FkID0gbmV3IERvd25sb2FkKGZpbGUpO1xyXG4gICAgICB0aGlzLmN1cnJlbnRseURvd25sb2FkaW5nLnB1c2goZG93bmxvYWQpO1xyXG4gICAgICB0aGlzLkhhbmRsZURvd25sb2FkKGRvd25sb2FkLCBwYXJhbXMsIHBvc3QpO1xyXG4gICAgICByZXR1cm4gZG93bmxvYWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5maW5kKHAgPT4gcC5maWxlID09IGZpbGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBIYW5kbGVEb3dubG9hZChkb3dubG9hZDogRG93bmxvYWQsIHBhcmFtcz86IGFueSwgcG9zdDogYm9vbGVhbiA9IGZhbHNlKXtcclxuICAgIHZhciByZXF1ZXN0OiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLkdldEZpbGUoZG93bmxvYWQuZmlsZSwgcGFyYW1zLCBwb3N0KTtcclxuXHJcbiAgICBjb25zdCByZXF1ZXN0UHJvZ2VzcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICAgIGRvd25sb2FkLnJlcXVlc3RQcm9nZXNzID0gcmVxdWVzdFByb2dlc3M7XHJcbiAgICByZXF1ZXN0LnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChldmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3MpIHsgXHJcbiAgICAgICAgICBkb3dubG9hZC5wcm9ncmVzcyA9IGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsOyBcclxuICAgICAgICAgIHJlcXVlc3RQcm9nZXNzLm5leHQoZG93bmxvYWQucHJvZ3Jlc3MpO1xyXG4gICAgICAgIH0gZWxzZSBcclxuICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5SZXNwb25zZSkge1xyXG4gICAgICAgICAgRG93bmxvYWRGaWxlKGV2ZW50LCBkb3dubG9hZC5maWxlKTtcclxuICAgICAgICAgIHRoaXMuY3VycmVudGx5RG93bmxvYWRpbmcuc3BsaWNlKHRoaXMuY3VycmVudGx5RG93bmxvYWRpbmcuaW5kZXhPZihkb3dubG9hZCksIDEpO1xyXG4gICAgICAgICAgcmVxdWVzdFByb2dlc3MuY29tcGxldGUoKTsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGV2ZW50LnN0YXR1cyA9PSA0MDQpe1xyXG4gICAgICAgICAgdGhpcy5nZW5lcmljU2VydmljZS5QcmVzZW50VG9hc3QoXCJBcnF1aXZvIG7Do28gZW5jb250cmFkbyAvIFVybCBpbnbDoWxpZGFcIilcclxuICAgICAgICAgIHJlcXVlc3RQcm9nZXNzLmVycm9yKGV2ZW50KTsgXHJcbiAgICAgICAgICByZXF1ZXN0UHJvZ2Vzcy5jb21wbGV0ZSgpOyBcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5zcGxpY2UodGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5pbmRleE9mKGRvd25sb2FkKSwgMSlcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcmVxdWVzdDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgU2FuaXRpemVGaWxlTmFtZSh2OiBzdHJpbmcpOiBzdHJpbmd7XHJcbiAgICB0cnl7XHJcbiAgICAgIHZhciBmaWxlbmFtZUVuZDogc3RyaW5nICA9IHYuc3BsaXQoJy8nKS5hdCgtMSk7XHJcbiAgICAgIFxyXG4gICAgICBpZihmaWxlbmFtZUVuZC5zcGxpdCgnLicpLmxlbmd0aCA8PSAyKXtcclxuICAgICAgICByZXR1cm4gZmlsZW5hbWVFbmQ7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHZhciBsc3QgPSBmaWxlbmFtZUVuZC5zcGxpdCgnLicpO1xyXG4gICAgICAgIGxzdFswXSA9ICcnO1xyXG4gICAgICAgIHJldHVybiBsc3Quam9pbignLicpLnJlcGxhY2UoJy4nLCAnJyk7XHJcbiAgICAgIH1cclxuICAgIH1jYXRjaHtcclxuICAgICAgcmV0dXJuIHY7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIEdldEZpbGUoZmlsZVVybDogc3RyaW5nLCBwYXJhbXM/OiBhbnksIHBvc3Q6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8SHR0cEV2ZW50PEJsb2I+PiB7XHJcbiAgICB2YXIgdXJsOiBzdHJpbmc7XHJcbiAgICBpZihmaWxlVXJsWzBdID09ICcvJyl7IFxyXG4gICAgICB1cmwgPSBmaWxlVXJsLnNsaWNlKDEsIGZpbGVVcmwubGVuZ3RoIC0gMSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdXJsID0gYCR7dGhpcy5hcGlVcmxQcm92aWRlclNlcnZpY2UuYXBpVXJsfSR7ZmlsZVVybH1gO1xyXG4gICAgfVxyXG4gICAgdXJsID0gZW5jb2RlVVJJKHVybCkucmVwbGFjZSgvIy9nLCAnJTIzJylcclxuXHJcbiAgICBpZighcG9zdCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwge1xyXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxyXG4gICAgICAgIG9ic2VydmU6ICdldmVudHMnLFxyXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxyXG4gICAgICAgIHBhcmFtczogcGFyYW1zXHJcbiAgICAgIH0pO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIHBhcmFtcywge1xyXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxyXG4gICAgICAgIG9ic2VydmU6ICdldmVudHMnLFxyXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHBhcmFtIGxzdEZpbGVzIFxyXG4gICAqIGxpc3RhIGRlIGFycXVpdm9zIGEgc2VyZW0gYmFpeGFkb3MgXHJcbiAgICogQHBhcmFtIG9uVXBkYXRlIFxyXG4gICAqIGZ1bmNhbyBjaGFtYWRhIGEgY2FkYSBwcm9ncmVzc28gZGUgZG93bmxvYWRcclxuICAgKiBAcmV0dXJucyBcclxuICAgKiBsaXN0YSBkZSByZXNwb3N0YXMgZG9zIGFycXVpdm9zLCBjb21vIHByb21pc2UsIHF1YW5kbyB0b2RvcyBlc3RpdmVyZW0gY29tcGxldG9zIG91IGRlcmFtIGVycm8sIMOpIHJldG9ybmFkYVxyXG4gICAqL1xyXG4gIHB1YmxpYyBhc3luYyBHZXRCbG9iQmF0Y2hMaXZlUmVwb25zZShsc3RGaWxlczogc3RyaW5nW10sIG9uVXBkYXRlOiAodG90YWxQcm9ncmVzczogbnVtYmVyLCBsc3RSZXNwb25zZT86IExpdmVSZXNwb25zZVtdLCBldmVudFR5cGU/OiBIdHRwRXZlbnRUeXBlKSA9PiB2b2lkKTogUHJvbWlzZTxMaXZlUmVzcG9uc2VbXT4ge1xyXG4gICAgY29uc3QgbHN0OiBMaXZlUmVzcG9uc2VbXSA9IGxzdEZpbGVzLm1hcChwID0+ICh7XHJcbiAgICAgIHBhdGggICAgICA6IHAsXHJcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuR2V0RmlsZShwKSxcclxuICAgICAgcHJvZ3Jlc3MgIDogMCxcclxuICAgICAgc3VjY2VzcyAgIDogdW5kZWZpbmVkLFxyXG4gICAgICBibG9iICAgICAgOiB1bmRlZmluZWRcclxuICAgIH0pKTtcclxuXHJcbiAgICBjb25zdCBpc0FsbENvbXBsZXRlID0gKCkgPT4gbHN0LmV2ZXJ5KG9icyA9PiBvYnMucHJvZ3Jlc3MgPj0gMSk7XHJcbiAgICBjb25zdCBnZXRUb3RhbFByb2dyZXNzQXZnID0gKCkgPT4gbHN0LnJlZHVjZSgoYWNjLCBvYnMpID0+IGFjYyArIG9icy5wcm9ncmVzcywgMCkgLyBsc3QubGVuZ3RoO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKGxzdCk7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8TGl2ZVJlc3BvbnNlW10+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIGZvciAoY29uc3Qgb2JzIG9mIGxzdCkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKG9icyk7XHJcbiAgICAgICAgb2JzLm9ic2VydmFibGUuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhldmVudCk7XHJcbiAgICAgICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3MpIHtcclxuICAgICAgICAgICAgICBvYnMucHJvZ3Jlc3MgPSBldmVudC5sb2FkZWQgLyBldmVudC50b3RhbDtcclxuICAgICAgICAgICAgICBvblVwZGF0ZShnZXRUb3RhbFByb2dyZXNzQXZnKCksIGxzdCwgZXZlbnQudHlwZSk7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuUmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgICBvYnMuYmxvYiA9IG5ldyBCbG9iKFtldmVudC5ib2R5XSwgeyB0eXBlOiBldmVudC5ib2R5LnR5cGUgfSk7XHJcbiAgICAgICAgICAgICAgb2JzLnN1Y2Nlc3MgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIGlmKGlzQWxsQ29tcGxldGUoKSl7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKGxzdCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIG9uVXBkYXRlKGdldFRvdGFsUHJvZ3Jlc3NBdmcoKSwgbHN0LCBldmVudC50eXBlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgIG9icy5zdWNjZXNzID0gZmFsc2U7XHJcbiAgICAgICAgICAgIG9icy5wcm9ncmVzcyA9IDE7XHJcbiAgICAgICAgICAgIG9uVXBkYXRlKGdldFRvdGFsUHJvZ3Jlc3NBdmcoKSwgbHN0KTtcclxuICAgICAgICAgICAgaWYoaXNBbGxDb21wbGV0ZSgpKXtcclxuICAgICAgICAgICAgICByZXNvbHZlKGxzdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2V0RmlsZVJlc3BvbnNle1xyXG4gIHBhdGg6IHN0cmluZztcclxuICBibG9iPzogQmxvYjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaXZlUmVzcG9uc2V7XHJcbiAgcGF0aDogc3RyaW5nO1xyXG4gIG9ic2VydmFibGU6IE9ic2VydmFibGU8SHR0cEV2ZW50PEJsb2I+PjtcclxuICBwcm9ncmVzczogbnVtYmVyO1xyXG4gIGJsb2I/OiBCbG9iO1xyXG4gIHN1Y2Nlc3M/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRG93bmxvYWQge1xyXG4gIHJlcXVlc3RQcm9nZXNzOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgcHJvZ3Jlc3MgICAgICA6IG51bWJlciA9IDAuMDAwMDE7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGZpbGU6IHN0cmluZyl7fVxyXG59XHJcblxyXG5mdW5jdGlvbiBEb3dubG9hZEZpbGUoZGF0YTogSHR0cFJlc3BvbnNlPEJsb2I+LCBmaWxlVXJsKSB7XHJcbiAgY29uc3QgZG93bmxvYWRlZEZpbGUgPSBuZXcgQmxvYihbZGF0YS5ib2R5XSwgeyB0eXBlOiBkYXRhLmJvZHkudHlwZSB9KTtcclxuXHJcbiAgdmFyIGZpbGVVUkwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGRvd25sb2FkZWRGaWxlKTtcclxuICBjb25zdCBsaW5rRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcImhyZWZcIiwgZmlsZVVSTCk7XHJcbiAgbGlua0VsZW1lbnQuc2V0QXR0cmlidXRlKFwidGFyZ2V0XCIsIFwiX2JsYW5rXCIpO1xyXG4gIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcImRvd25sb2FkXCIsIFN0b3JhZ2VTZXJ2aWNlLlNhbml0aXplRmlsZU5hbWUoZmlsZVVybCkpO1xyXG5cclxuICBsZXQgbWUgPSBuZXcgTW91c2VFdmVudChcImNsaWNrXCIsIHtcclxuICAgICAgdmlldzogd2luZG93LFxyXG4gICAgICBidWJibGVzOiB0cnVlLFxyXG4gICAgICBjYW5jZWxhYmxlOiBmYWxzZSxcclxuICB9KTtcclxuXHJcbiAgbGlua0VsZW1lbnQuZGlzcGF0Y2hFdmVudChtZSk7XHJcbn0iXX0=
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy93ZWIvc3RvcmFnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsYUFBYSxFQUFnQixNQUFNLHNCQUFzQixDQUFDO0FBQzFGLE9BQU8sRUFBRSxlQUFlLEVBQTBDLE1BQU0sTUFBTSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7OztBQVFwRCxNQUFNLE9BQU8sY0FBYztJQUV6QixZQUNRLElBQWlCLEVBQ2pCLHFCQUE0QyxFQUM1QyxjQUE4QjtRQUY5QixTQUFJLEdBQUosSUFBSSxDQUFhO1FBQ2pCLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFDNUMsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBRzlCLHlCQUFvQixHQUFlLEVBQUUsQ0FBQztJQUYxQyxDQUFDO0lBSUUsV0FBVyxDQUFDLElBQVk7UUFDN0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLENBQUE7UUFDcEUsT0FBTyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sYUFBYSxDQUFDLElBQVksRUFBRSxNQUFZLEVBQUUsT0FBZ0IsS0FBSztRQUNwRSxJQUFHLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJ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IEh0dHBFdmVudCwgSHR0cEV2ZW50VHlwZSwgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGxhc3RWYWx1ZUZyb20sIG1hcCwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IEFwaVVybFByb3ZpZGVyU2VydmljZSB9IGZyb20gJy4vYXBpLXVybC1wcm92aWRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgR2VuZXJpY1NlcnZpY2UgfSBmcm9tICcuLi9nZW5lcmljLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlscyB9IGZyb20gJy4uL3V0aWxzLnNlcnZpY2UnO1xyXG5cclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTdG9yYWdlU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gIHByaXZhdGUgaHR0cCA6IEh0dHBDbGllbnQsXHJcbiAgcHJpdmF0ZSBhcGlVcmxQcm92aWRlclNlcnZpY2U6IEFwaVVybFByb3ZpZGVyU2VydmljZSxcclxuICBwcml2YXRlIGdlbmVyaWNTZXJ2aWNlOiBHZW5lcmljU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIHByaXZhdGUgY3VycmVudGx5RG93bmxvYWRpbmc6IERvd25sb2FkW10gPSBbXTtcclxuXHJcbiAgcHVibGljIEdldFByb2dyZXNzKGZpbGU6IHN0cmluZyk6IG51bWJlcntcclxuICAgIGNvbnN0IERvd25sb2FkID0gdGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5maW5kKHAgPT4gcC5maWxlID09IGZpbGUpXHJcbiAgICByZXR1cm4gRG93bmxvYWQgPyBEb3dubG9hZC5wcm9ncmVzcyA6IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgU3RhcnREb3dubG9hZChmaWxlOiBzdHJpbmcsIHBhcmFtcz86IGFueSwgcG9zdDogYm9vbGVhbiA9IGZhbHNlKTogRG93bmxvYWQge1xyXG4gICAgaWYoIXRoaXMuY3VycmVudGx5RG93bmxvYWRpbmcuZmluZChwID0+IHAuZmlsZSA9PSBmaWxlKSl7XHJcbiAgICAgIGNvbnN0IGRvd25sb2FkID0gbmV3IERvd25sb2FkKGZpbGUpO1xyXG4gICAgICB0aGlzLmN1cnJlbnRseURvd25sb2FkaW5nLnB1c2goZG93bmxvYWQpO1xyXG4gICAgICB0aGlzLkhhbmRsZURvd25sb2FkKGRvd25sb2FkLCBwYXJhbXMsIHBvc3QpO1xyXG4gICAgICByZXR1cm4gZG93bmxvYWQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5maW5kKHAgPT4gcC5maWxlID09IGZpbGUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBIYW5kbGVEb3dubG9hZChkb3dubG9hZDogRG93bmxvYWQsIHBhcmFtcz86IGFueSwgcG9zdDogYm9vbGVhbiA9IGZhbHNlKXtcclxuICAgIHZhciByZXF1ZXN0OiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLkdldEZpbGUoZG93bmxvYWQuZmlsZSwgcGFyYW1zLCBwb3N0KTtcclxuXHJcbiAgICBjb25zdCByZXF1ZXN0UHJvZ2VzcyA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICAgIGRvd25sb2FkLnJlcXVlc3RQcm9nZXNzID0gcmVxdWVzdFByb2dlc3M7XHJcbiAgICByZXF1ZXN0LnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChldmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3MpIHsgXHJcbiAgICAgICAgICBkb3dubG9hZC5wcm9ncmVzcyA9IGV2ZW50LmxvYWRlZCAvIGV2ZW50LnRvdGFsOyBcclxuICAgICAgICAgIHJlcXVlc3RQcm9nZXNzLm5leHQoZG93bmxvYWQucHJvZ3Jlc3MpO1xyXG4gICAgICAgIH0gZWxzZSBcclxuICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gSHR0cEV2ZW50VHlwZS5SZXNwb25zZSkge1xyXG4gICAgICAgICAgRG93bmxvYWRGaWxlKGV2ZW50LCBkb3dubG9hZC5maWxlKTtcclxuICAgICAgICAgIHRoaXMuY3VycmVudGx5RG93bmxvYWRpbmcuc3BsaWNlKHRoaXMuY3VycmVudGx5RG93bmxvYWRpbmcuaW5kZXhPZihkb3dubG9hZCksIDEpO1xyXG4gICAgICAgICAgcmVxdWVzdFByb2dlc3MuY29tcGxldGUoKTsgXHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGV2ZW50LnN0YXR1cyA9PSA0MDQpe1xyXG4gICAgICAgICAgdGhpcy5nZW5lcmljU2VydmljZS5QcmVzZW50VG9hc3QoXCJBcnF1aXZvIG7Do28gZW5jb250cmFkbyAvIFVybCBpbnbDoWxpZGFcIilcclxuICAgICAgICAgIHJlcXVlc3RQcm9nZXNzLmVycm9yKGV2ZW50KTsgXHJcbiAgICAgICAgICByZXF1ZXN0UHJvZ2Vzcy5jb21wbGV0ZSgpOyBcclxuICAgICAgICB9XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgdGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5zcGxpY2UodGhpcy5jdXJyZW50bHlEb3dubG9hZGluZy5pbmRleE9mKGRvd25sb2FkKSwgMSlcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcmVxdWVzdDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgU2FuaXRpemVGaWxlTmFtZSh2OiBzdHJpbmcpOiBzdHJpbmd7XHJcbiAgICB0cnl7XHJcbiAgICAgIHZhciBmaWxlbmFtZUVuZDogc3RyaW5nICA9IHYuc3BsaXQoJy8nKS5hdCgtMSk7XHJcbiAgICAgIFxyXG4gICAgICBpZihmaWxlbmFtZUVuZC5zcGxpdCgnLicpLmxlbmd0aCA8PSAyKXtcclxuICAgICAgICByZXR1cm4gZmlsZW5hbWVFbmQ7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHZhciBsc3QgPSBmaWxlbmFtZUVuZC5zcGxpdCgnLicpO1xyXG4gICAgICAgIGxzdFswXSA9ICcnO1xyXG4gICAgICAgIHJldHVybiBsc3Quam9pbignLicpLnJlcGxhY2UoJy4nLCAnJyk7XHJcbiAgICAgIH1cclxuICAgIH1jYXRjaHtcclxuICAgICAgcmV0dXJuIHY7XHJcbiAgICB9XHJcbiAgfTtcclxuXHJcbiAgcHVibGljIEdldEZpbGUoZmlsZVVybDogc3RyaW5nLCBwYXJhbXM/OiBhbnksIHBvc3Q6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8SHR0cEV2ZW50PEJsb2I+PiB7XHJcbiAgICB2YXIgdXJsOiBzdHJpbmc7XHJcbiAgICBpZihmaWxlVXJsWzBdID09ICcvJyl7IFxyXG4gICAgICB1cmwgPSBmaWxlVXJsLnNsaWNlKDEsIGZpbGVVcmwubGVuZ3RoIC0gMSk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdXJsID0gYCR7dGhpcy5hcGlVcmxQcm92aWRlclNlcnZpY2UuYXBpVXJsfSR7ZmlsZVVybH1gO1xyXG4gICAgfVxyXG4gICAgdXJsID0gZW5jb2RlVVJJKHVybCkucmVwbGFjZSgvIy9nLCAnJTIzJylcclxuXHJcbiAgICBpZighcG9zdCl7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KHVybCwge1xyXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxyXG4gICAgICAgIG9ic2VydmU6ICdldmVudHMnLFxyXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxyXG4gICAgICAgIHBhcmFtczogcGFyYW1zXHJcbiAgICAgIH0pO1xyXG4gICAgfWVsc2V7XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdCh1cmwsIHBhcmFtcywge1xyXG4gICAgICAgIHJlcG9ydFByb2dyZXNzOiB0cnVlLFxyXG4gICAgICAgIG9ic2VydmU6ICdldmVudHMnLFxyXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQHBhcmFtIGxzdEZpbGVzIFxyXG4gICAqIGxpc3RhIGRlIGFycXVpdm9zIGEgc2VyZW0gYmFpeGFkb3MgXHJcbiAgICogQHBhcmFtIG9uVXBkYXRlIFxyXG4gICAqIGZ1bmNhbyBjaGFtYWRhIGEgY2FkYSBwcm9ncmVzc28gZGUgZG93bmxvYWRcclxuICAgKiBAcmV0dXJucyBcclxuICAgKiBsaXN0YSBkZSByZXNwb3N0YXMgZG9zIGFycXVpdm9zLCBjb21vIHByb21pc2UsIHF1YW5kbyB0b2RvcyBlc3RpdmVyZW0gY29tcGxldG9zIG91IGRlcmFtIGVycm8sIMOpIHJldG9ybmFkYVxyXG4gICAqL1xyXG4gIHB1YmxpYyBhc3luYyBHZXRCbG9iQmF0Y2hMaXZlUmVwb25zZShsc3RGaWxlczogc3RyaW5nW10sIG9uVXBkYXRlOiAodG90YWxQcm9ncmVzczogbnVtYmVyLCBsc3RSZXNwb25zZT86IExpdmVSZXNwb25zZVtdLCBldmVudFR5cGU/OiBIdHRwRXZlbnRUeXBlKSA9PiB2b2lkKTogUHJvbWlzZTxMaXZlUmVzcG9uc2VbXT4ge1xyXG4gICAgaWYoIWxzdEZpbGVzIHx8IGxzdEZpbGVzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKFtdKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgY29uc3QgbHN0OiBMaXZlUmVzcG9uc2VbXSA9IGxzdEZpbGVzLm1hcChwID0+ICh7XHJcbiAgICAgIHBhdGggICAgICA6IHAsXHJcbiAgICAgIG9ic2VydmFibGU6IHRoaXMuR2V0RmlsZShwKSxcclxuICAgICAgcHJvZ3Jlc3MgIDogMCxcclxuICAgICAgc3VjY2VzcyAgIDogdW5kZWZpbmVkLFxyXG4gICAgICBibG9iICAgICAgOiB1bmRlZmluZWRcclxuICAgIH0pKTtcclxuXHJcbiAgICBjb25zdCBpc0FsbENvbXBsZXRlID0gKCkgPT4gbHN0LmV2ZXJ5KG9icyA9PiBvYnMucHJvZ3Jlc3MgPj0gMSk7XHJcbiAgICBjb25zdCBnZXRUb3RhbFByb2dyZXNzQXZnID0gKCkgPT4gbHN0LnJlZHVjZSgoYWNjLCBvYnMpID0+IGFjYyArIG9icy5wcm9ncmVzcywgMCkgLyBsc3QubGVuZ3RoO1xyXG5cclxuICAgIGNvbnNvbGUubG9nKGxzdCk7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2U8TGl2ZVJlc3BvbnNlW10+KChyZXNvbHZlKSA9PiB7XHJcbiAgICAgIGZvciAoY29uc3Qgb2JzIG9mIGxzdCkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKG9icyk7XHJcbiAgICAgICAgb2JzLm9ic2VydmFibGUuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhldmVudCk7XHJcbiAgICAgICAgICAgIGlmIChldmVudC50eXBlID09PSBIdHRwRXZlbnRUeXBlLkRvd25sb2FkUHJvZ3Jlc3MpIHtcclxuICAgICAgICAgICAgICBvYnMucHJvZ3Jlc3MgPSBldmVudC5sb2FkZWQgLyBldmVudC50b3RhbDtcclxuICAgICAgICAgICAgICBvblVwZGF0ZShnZXRUb3RhbFByb2dyZXNzQXZnKCksIGxzdCwgZXZlbnQudHlwZSk7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIGVsc2VcclxuICAgICAgICAgICAgaWYgKGV2ZW50LnR5cGUgPT09IEh0dHBFdmVudFR5cGUuUmVzcG9uc2UpIHtcclxuICAgICAgICAgICAgICBvYnMuYmxvYiA9IG5ldyBCbG9iKFtldmVudC5ib2R5XSwgeyB0eXBlOiBldmVudC5ib2R5LnR5cGUgfSk7XHJcbiAgICAgICAgICAgICAgb2JzLnN1Y2Nlc3MgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIGlmKGlzQWxsQ29tcGxldGUoKSl7XHJcbiAgICAgICAgICAgICAgICByZXNvbHZlKGxzdCk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIG9uVXBkYXRlKGdldFRvdGFsUHJvZ3Jlc3NBdmcoKSwgbHN0LCBldmVudC50eXBlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgICAgIG9icy5zdWNjZXNzID0gZmFsc2U7XHJcbiAgICAgICAgICAgIG9icy5wcm9ncmVzcyA9IDE7XHJcbiAgICAgICAgICAgIG9uVXBkYXRlKGdldFRvdGFsUHJvZ3Jlc3NBdmcoKSwgbHN0KTtcclxuICAgICAgICAgICAgaWYoaXNBbGxDb21wbGV0ZSgpKXtcclxuICAgICAgICAgICAgICByZXNvbHZlKGxzdCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2V0RmlsZVJlc3BvbnNle1xyXG4gIHBhdGg6IHN0cmluZztcclxuICBibG9iPzogQmxvYjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaXZlUmVzcG9uc2V7XHJcbiAgcGF0aDogc3RyaW5nO1xyXG4gIG9ic2VydmFibGU6IE9ic2VydmFibGU8SHR0cEV2ZW50PEJsb2I+PjtcclxuICBwcm9ncmVzczogbnVtYmVyO1xyXG4gIGJsb2I/OiBCbG9iO1xyXG4gIHN1Y2Nlc3M/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgRG93bmxvYWQge1xyXG4gIHJlcXVlc3RQcm9nZXNzOiBPYnNlcnZhYmxlPGFueT47XHJcbiAgcHJvZ3Jlc3MgICAgICA6IG51bWJlciA9IDAuMDAwMDE7XHJcbiAgY29uc3RydWN0b3IocHVibGljIGZpbGU6IHN0cmluZyl7fVxyXG59XHJcblxyXG5mdW5jdGlvbiBEb3dubG9hZEZpbGUoZGF0YTogSHR0cFJlc3BvbnNlPEJsb2I+LCBmaWxlVXJsKSB7XHJcbiAgY29uc3QgZG93bmxvYWRlZEZpbGUgPSBuZXcgQmxvYihbZGF0YS5ib2R5XSwgeyB0eXBlOiBkYXRhLmJvZHkudHlwZSB9KTtcclxuXHJcbiAgdmFyIGZpbGVVUkwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGRvd25sb2FkZWRGaWxlKTtcclxuICBjb25zdCBsaW5rRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcImhyZWZcIiwgZmlsZVVSTCk7XHJcbiAgbGlua0VsZW1lbnQuc2V0QXR0cmlidXRlKFwidGFyZ2V0XCIsIFwiX2JsYW5rXCIpO1xyXG4gIGxpbmtFbGVtZW50LnNldEF0dHJpYnV0ZShcImRvd25sb2FkXCIsIFN0b3JhZ2VTZXJ2aWNlLlNhbml0aXplRmlsZU5hbWUoZmlsZVVybCkpO1xyXG5cclxuICBsZXQgbWUgPSBuZXcgTW91c2VFdmVudChcImNsaWNrXCIsIHtcclxuICAgICAgdmlldzogd2luZG93LFxyXG4gICAgICBidWJibGVzOiB0cnVlLFxyXG4gICAgICBjYW5jZWxhYmxlOiBmYWxzZSxcclxuICB9KTtcclxuXHJcbiAgbGlua0VsZW1lbnQuZGlzcGF0Y2hFdmVudChtZSk7XHJcbn0iXX0=
@@ -2406,6 +2406,9 @@ class StorageService {
2406
2406
  * lista de respostas dos arquivos, como promise, quando todos estiverem completos ou deram erro, é retornada
2407
2407
  */
2408
2408
  async GetBlobBatchLiveReponse(lstFiles, onUpdate) {
2409
+ if (!lstFiles || lstFiles.length === 0) {
2410
+ return Promise.resolve([]);
2411
+ }
2409
2412
  const lst = lstFiles.map(p => ({
2410
2413
  path: p,
2411
2414
  observable: this.GetFile(p),