@ecodev/natural 50.0.0 → 50.0.2

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.
@@ -67,4 +67,4 @@ export class NaturalDataSource extends DataSource {
67
67
  }
68
68
  }
69
69
  }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvY2xhc3Nlcy9kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFXOUM7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8saUJBQTZFLFNBQVEsVUFFakc7SUFLRyxZQUFtQixLQUF3QjtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQUxLLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU9qRCxJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGVBQWUsQ0FBVyxJQUFJLENBQUMsQ0FBQztZQUN4RCxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNqRjthQUFNO1lBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGVBQWUsQ0FBVyxLQUFLLENBQUMsQ0FBQztTQUM1RDtJQUNMLENBQUM7SUFFRCxJQUFXLHNCQUFzQjtRQUM3QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxJQUFJLENBQUMsSUFBYztRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sT0FBTztRQUNWLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3pCLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQzdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN4QyxDQUFDO0lBQ04sQ0FBQztJQUVNLFVBQVU7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsd0JBQXdCO1FBQ25ELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyx3REFBd0Q7SUFDM0YsQ0FBQztJQUVNLElBQUksQ0FBQyxJQUFtQjtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNaLE9BQU87U0FDVjtRQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFDLENBQUM7SUFDekUsQ0FBQztJQUVNLEdBQUc7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNaLE9BQU87U0FDVjtRQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUMsQ0FBQztRQUVyRSxPQUFPLGNBQWMsQ0FBQztJQUMxQixDQUFDO0lBRU0sTUFBTSxDQUFDLElBQW1CO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1osT0FBTztTQUNWO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ1osTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFDLENBQUM7U0FDeEU7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGFTb3VyY2V9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0xpdGVyYWx9IGZyb20gJy4uL3R5cGVzL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0ZWREYXRhPFQ+IHtcbiAgICByZWFkb25seSBpdGVtczogcmVhZG9ubHkgVFtdO1xuICAgIHJlYWRvbmx5IG9mZnNldD86IG51bWJlcjtcbiAgICByZWFkb25seSBwYWdlU2l6ZTogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHBhZ2VJbmRleDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IGxlbmd0aDogbnVtYmVyO1xufVxuXG4vKipcbiAqIEEgTmF0dXJhbERhdGFTb3VyY2Ugd2lsbCBjb25uZWN0IGltbWVkaWF0ZWx5LCBpbiBvcmRlciB0byBrbm93IGFzIHNvb24gYXMgcG9zc2libGUgaWZcbiAqIHdlIG5lZWQgdG8gc2hvdyBhIHRlbXBsYXRlIGF0IGFsbCAoYXMgc2VlbiBpbiBteS1pY2h0dXMpXG4gKlxuICogSXQgYWxzbyBhbGxvdyBzb21lIGV4dHJhIGRhdGEgbWFuaXB1bGF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBOYXR1cmFsRGF0YVNvdXJjZTxUIGV4dGVuZHMgUGFnaW5hdGVkRGF0YTxMaXRlcmFsPiA9IFBhZ2luYXRlZERhdGE8TGl0ZXJhbD4+IGV4dGVuZHMgRGF0YVNvdXJjZTxcbiAgICBUWydpdGVtcyddWzBdXG4+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG5nVW5zdWJzY3JpYmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnRlcm5hbERhdGE6IEJlaGF2aW9yU3ViamVjdDxUIHwgbnVsbD47XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IodmFsdWU6IE9ic2VydmFibGU8VD4gfCBUKSB7XG4gICAgICAgIHN1cGVyKCk7XG5cbiAgICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbERhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFQgfCBudWxsPihudWxsKTtcbiAgICAgICAgICAgIHZhbHVlLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpLnN1YnNjcmliZShyZXMgPT4gKHRoaXMuZGF0YSA9IHJlcykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5pbnRlcm5hbERhdGEgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFQgfCBudWxsPih2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGludGVybmFsRGF0YU9ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxUIHwgbnVsbD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbERhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQXJyYXkgb2YgZGF0YSB0aGF0IHNob3VsZCBiZSByZW5kZXJlZCBieSB0aGUgdGFibGUsIHdoZXJlIGVhY2ggb2JqZWN0IHJlcHJlc2VudHMgb25lIHJvdy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IGRhdGEoKTogVCB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbERhdGEudmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBkYXRhKGRhdGE6IFQgfCBudWxsKSB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxEYXRhLm5leHQoZGF0YSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbm5lY3QoKTogT2JzZXJ2YWJsZTxUWydpdGVtcyddPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmludGVybmFsRGF0YS5waXBlKFxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgICBtYXAoZGF0YSA9PiAoZGF0YSA/IGRhdGEuaXRlbXMgOiBbXSkpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBkaXNjb25uZWN0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm5nVW5zdWJzY3JpYmUubmV4dCgpOyAvLyB1bnN1YnNjcmliZSBldmVyeWJvZHlcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7IC8vIGNvbXBsZXRlIHRoZSBzdHJlYW0sIGJlY2F1c2Ugd2Ugd2lsbCBuZXZlciBlbWl0IGFnYWluXG4gICAgfVxuXG4gICAgcHVibGljIHB1c2goaXRlbTogVFsnaXRlbXMnXVswXSk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZnVsbExpc3QgPSBbLi4udGhpcy5kYXRhLml0ZW1zXTtcbiAgICAgICAgZnVsbExpc3QucHVzaChpdGVtKTtcbiAgICAgICAgdGhpcy5kYXRhID0gey4uLnRoaXMuZGF0YSwgaXRlbXM6IGZ1bGxMaXN0LCBsZW5ndGg6IGZ1bGxMaXN0Lmxlbmd0aH07XG4gICAgfVxuXG4gICAgcHVibGljIHBvcCgpOiBUWydpdGVtcyddWzBdIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZ1bGxMaXN0ID0gWy4uLnRoaXMuZGF0YS5pdGVtc107XG4gICAgICAgIGNvbnN0IHJlbW92ZWRFbGVtZW50ID0gZnVsbExpc3QucG9wKCk7XG4gICAgICAgIHRoaXMuZGF0YSA9IHsuLi50aGlzLmRhdGEsIGl0ZW1zOiBmdWxsTGlzdCwgbGVuZ3RoOiBmdWxsTGlzdC5sZW5ndGh9O1xuXG4gICAgICAgIHJldHVybiByZW1vdmVkRWxlbWVudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlKGl0ZW06IFRbJ2l0ZW1zJ11bMF0pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5kYXRhLml0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICBjb25zdCBmdWxsTGlzdCA9IFsuLi50aGlzLmRhdGEuaXRlbXNdO1xuICAgICAgICAgICAgZnVsbExpc3Quc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IHsuLi50aGlzLmRhdGEsIGl0ZW1zOiBmdWxsTGlzdCwgbGVuZ3RoOiBmdWxsTGlzdC5sZW5ndGh9O1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
70
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1zb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvY2xhc3Nlcy9kYXRhLXNvdXJjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGVBQWUsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQzFELE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFXOUM7Ozs7O0dBS0c7QUFDSCxNQUFNLE9BQU8saUJBQTZFLFNBQVEsVUFFakc7SUFLRyxZQUFtQixLQUF3QjtRQUN2QyxLQUFLLEVBQUUsQ0FBQztRQUxLLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQU9qRCxJQUFJLEtBQUssWUFBWSxVQUFVLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGVBQWUsQ0FBVyxJQUFJLENBQUMsQ0FBQztZQUN4RCxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNqRjthQUFNO1lBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLGVBQWUsQ0FBVyxLQUFLLENBQUMsQ0FBQztTQUM1RDtJQUNMLENBQUM7SUFFRCxJQUFXLHNCQUFzQjtRQUM3QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxJQUFJO1FBQ1gsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxJQUFJLENBQUMsSUFBYztRQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRU0sT0FBTztRQUNWLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQ3pCLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEVBQzdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUN4QyxDQUFDO0lBQ04sQ0FBQztJQUVNLFVBQVU7UUFDYixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsd0JBQXdCO1FBQ25ELElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyx3REFBd0Q7SUFDM0YsQ0FBQztJQUVNLElBQUksQ0FBQyxJQUFtQjtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNaLE9BQU87U0FDVjtRQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFDLENBQUM7SUFDekUsQ0FBQztJQUVNLEdBQUc7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNaLE9BQU87U0FDVjtRQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUN0QyxJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNLEVBQUMsQ0FBQztRQUVyRSxPQUFPLGNBQWMsQ0FBQztJQUMxQixDQUFDO0lBRU0sTUFBTSxDQUFDLElBQW1CO1FBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1osT0FBTztTQUNWO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ1osTUFBTSxRQUFRLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDdEMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFDLENBQUM7U0FDeEU7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RhdGFTb3VyY2V9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XG5pbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0xpdGVyYWx9IGZyb20gJy4uL3R5cGVzL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBQYWdpbmF0ZWREYXRhPFQ+IHtcbiAgICByZWFkb25seSBpdGVtczogcmVhZG9ubHkgVFtdO1xuICAgIHJlYWRvbmx5IG9mZnNldD86IG51bWJlciB8IG51bGw7XG4gICAgcmVhZG9ubHkgcGFnZVNpemU6IG51bWJlcjtcbiAgICByZWFkb25seSBwYWdlSW5kZXg6IG51bWJlcjtcbiAgICByZWFkb25seSBsZW5ndGg6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBBIE5hdHVyYWxEYXRhU291cmNlIHdpbGwgY29ubmVjdCBpbW1lZGlhdGVseSwgaW4gb3JkZXIgdG8ga25vdyBhcyBzb29uIGFzIHBvc3NpYmxlIGlmXG4gKiB3ZSBuZWVkIHRvIHNob3cgYSB0ZW1wbGF0ZSBhdCBhbGwgKGFzIHNlZW4gaW4gbXktaWNodHVzKVxuICpcbiAqIEl0IGFsc28gYWxsb3cgc29tZSBleHRyYSBkYXRhIG1hbmlwdWxhdGlvblxuICovXG5leHBvcnQgY2xhc3MgTmF0dXJhbERhdGFTb3VyY2U8VCBleHRlbmRzIFBhZ2luYXRlZERhdGE8TGl0ZXJhbD4gPSBQYWdpbmF0ZWREYXRhPExpdGVyYWw+PiBleHRlbmRzIERhdGFTb3VyY2U8XG4gICAgVFsnaXRlbXMnXVswXVxuPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW50ZXJuYWxEYXRhOiBCZWhhdmlvclN1YmplY3Q8VCB8IG51bGw+O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHZhbHVlOiBPYnNlcnZhYmxlPFQ+IHwgVCkge1xuICAgICAgICBzdXBlcigpO1xuXG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE9ic2VydmFibGUpIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxEYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUIHwgbnVsbD4obnVsbCk7XG4gICAgICAgICAgICB2YWx1ZS5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKS5zdWJzY3JpYmUocmVzID0+ICh0aGlzLmRhdGEgPSByZXMpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaW50ZXJuYWxEYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUIHwgbnVsbD4odmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBpbnRlcm5hbERhdGFPYnNlcnZhYmxlKCk6IE9ic2VydmFibGU8VCB8IG51bGw+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxEYXRhO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFycmF5IG9mIGRhdGEgdGhhdCBzaG91bGQgYmUgcmVuZGVyZWQgYnkgdGhlIHRhYmxlLCB3aGVyZSBlYWNoIG9iamVjdCByZXByZXNlbnRzIG9uZSByb3cuXG4gICAgICovXG4gICAgcHVibGljIGdldCBkYXRhKCk6IFQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW50ZXJuYWxEYXRhLnZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgZGF0YShkYXRhOiBUIHwgbnVsbCkge1xuICAgICAgICB0aGlzLmludGVybmFsRGF0YS5uZXh0KGRhdGEpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb25uZWN0KCk6IE9ic2VydmFibGU8VFsnaXRlbXMnXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pbnRlcm5hbERhdGEucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgbWFwKGRhdGEgPT4gKGRhdGEgPyBkYXRhLml0ZW1zIDogW10pKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZGlzY29ubmVjdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTsgLy8gdW5zdWJzY3JpYmUgZXZlcnlib2R5XG4gICAgICAgIHRoaXMubmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpOyAvLyBjb21wbGV0ZSB0aGUgc3RyZWFtLCBiZWNhdXNlIHdlIHdpbGwgbmV2ZXIgZW1pdCBhZ2FpblxuICAgIH1cblxuICAgIHB1YmxpYyBwdXNoKGl0ZW06IFRbJ2l0ZW1zJ11bMF0pOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZ1bGxMaXN0ID0gWy4uLnRoaXMuZGF0YS5pdGVtc107XG4gICAgICAgIGZ1bGxMaXN0LnB1c2goaXRlbSk7XG4gICAgICAgIHRoaXMuZGF0YSA9IHsuLi50aGlzLmRhdGEsIGl0ZW1zOiBmdWxsTGlzdCwgbGVuZ3RoOiBmdWxsTGlzdC5sZW5ndGh9O1xuICAgIH1cblxuICAgIHB1YmxpYyBwb3AoKTogVFsnaXRlbXMnXVswXSB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICghdGhpcy5kYXRhKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmdWxsTGlzdCA9IFsuLi50aGlzLmRhdGEuaXRlbXNdO1xuICAgICAgICBjb25zdCByZW1vdmVkRWxlbWVudCA9IGZ1bGxMaXN0LnBvcCgpO1xuICAgICAgICB0aGlzLmRhdGEgPSB7Li4udGhpcy5kYXRhLCBpdGVtczogZnVsbExpc3QsIGxlbmd0aDogZnVsbExpc3QubGVuZ3RofTtcblxuICAgICAgICByZXR1cm4gcmVtb3ZlZEVsZW1lbnQ7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZShpdGVtOiBUWydpdGVtcyddWzBdKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5kYXRhKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBpbmRleCA9IHRoaXMuZGF0YS5pdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgY29uc3QgZnVsbExpc3QgPSBbLi4udGhpcy5kYXRhLml0ZW1zXTtcbiAgICAgICAgICAgIGZ1bGxMaXN0LnNwbGljZShpbmRleCwgMSk7XG4gICAgICAgICAgICB0aGlzLmRhdGEgPSB7Li4udGhpcy5kYXRhLCBpdGVtczogZnVsbExpc3QsIGxlbmd0aDogZnVsbExpc3QubGVuZ3RofTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==