@stemy/backend 3.4.4 → 3.4.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.
@@ -69,6 +69,13 @@ let Assets = class Assets {
69
69
  }
70
70
  writeUrl(url, metadata = null) {
71
71
  return __awaiter(this, void 0, void 0, function* () {
72
+ metadata = metadata || {};
73
+ metadata.filename = url;
74
+ metadata.uploadTime = new Date().getTime();
75
+ const oneWeek = 1000 * 3600 * 24 * 7;
76
+ const asset = yield this.find({ filename: url, "metadata.uploadTime": { $gt: metadata.uploadTime - oneWeek } });
77
+ if (asset)
78
+ return asset;
72
79
  const buffer = (yield axios({ url, responseType: "arraybuffer" })).data;
73
80
  return this.writeBuffer(buffer, metadata);
74
81
  });
@@ -170,4 +177,4 @@ Assets = __decorate([
170
177
  __metadata("design:paramtypes", [MongoConnector, AssetProcessor])
171
178
  ], Assets);
172
179
  export { Assets };
173
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2Fzc2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFdkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUc5QixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXBFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztJQUluQyxNQUFNLFNBQU4sTUFBTTtJQUtmLFlBQXFCLFNBQXlCLEVBQVcsY0FBOEI7O1FBQWxFLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQVcsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ25GLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQUEsU0FBUyxDQUFDLFFBQVEsMENBQUUsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFSyxLQUFLLENBQUMsTUFBZ0IsRUFBRSxjQUFzQixJQUFJLEVBQUUsV0FBdUIsSUFBSTs7WUFDakYsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUks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YyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN2RSxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztxQkFDdEIsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRTtvQkFDakIsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLENBQUM7Z0JBQ25DLENBQUMsQ0FBQztxQkFDRCxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtvQkFDZixNQUFNLEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsRUFBYyxFQUFFO3dCQUNuRCxRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7d0JBQzNCLFdBQVc7d0JBQ1gsUUFBUTtxQkFDWCxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNqQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTt3QkFDbkIsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNuQixDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUU7d0JBQ1AsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLENBQUM7b0JBQ25DLENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUMsQ0FBQyxDQUFDO1lBQ1gsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUM7S0FBQTtDQUNKLENBQUE7QUE3SFksTUFBTTtJQUZsQixVQUFVLEVBQUU7SUFDWixNQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztxQ0FNRSxjQUFjLEVBQTJCLGNBQWM7R0FMOUUsTUFBTSxDQTZIbEI7U0E3SFksTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0YWJsZSwgTGlmZWN5Y2xlLCBzY29wZWR9IGZyb20gXCJ0c3lyaW5nZVwiO1xyXG5pbXBvcnQge1JlYWRhYmxlfSBmcm9tIFwic3RyZWFtXCI7XHJcbmltcG9ydCB7T2JqZWN0SWR9IGZyb20gXCJic29uXCI7XHJcbmltcG9ydCB7Q29sbGVjdGlvbiwgR3JpZEZTQnVja2V0fSBmcm9tIFwibW9uZ29kYlwiO1xyXG5pbXBvcnQge0ZpbHRlclF1ZXJ5fSBmcm9tIFwibW9uZ29vc2VcIjtcclxuaW1wb3J0IGF4aW9zIGZyb20gXCJheGlvc1wiO1xyXG5cclxuaW1wb3J0IHtidWZmZXJUb1N0cmVhbSwgY29weVN0cmVhbSwgc3RyZWFtVG9CdWZmZXJ9IGZyb20gXCIuLi91dGlsc1wiO1xyXG5pbXBvcnQge0lBc3NldCwgSUFzc2V0TWV0YSwgSUZpbGVUeXBlfSBmcm9tIFwiLi4vY29tbW9uLXR5cGVzXCI7XHJcbmltcG9ydCB7TW9uZ29Db25uZWN0b3J9IGZyb20gXCIuL21vbmdvLWNvbm5lY3RvclwiO1xyXG5pbXBvcnQge0Fzc2V0UHJvY2Vzc29yfSBmcm9tIFwiLi9hc3NldC1wcm9jZXNzb3JcIjtcclxuaW1wb3J0IHtBc3NldH0gZnJvbSBcIi4vZW50aXRpZXMvYXNzZXRcIjtcclxuaW1wb3J0IHtUZW1wQXNzZXR9IGZyb20gXCIuL2VudGl0aWVzL3RlbXAtYXNzZXRcIjtcclxuXHJcbkBpbmplY3RhYmxlKClcclxuQHNjb3BlZChMaWZlY3ljbGUuQ29udGFpbmVyU2NvcGVkKVxyXG5leHBvcnQgY2xhc3MgQXNzZXRzIHtcclxuXHJcbiAgICByZWFkb25seSBidWNrZXQ6IEdyaWRGU0J1Y2tldDtcclxuICAgIHJlYWRvbmx5IGNvbGxlY3Rpb246IENvbGxlY3Rpb248UGFydGlhbDxJQXNzZXQ+PjtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb25uZWN0b3I6IE1vbmdvQ29ubmVjdG9yLCByZWFkb25seSBhc3NldFByb2Nlc3NvcjogQXNzZXRQcm9jZXNzb3IpIHtcclxuICAgICAgICB0aGlzLmJ1Y2tldCA9IGNvbm5lY3Rvci5idWNrZXQ7XHJcbiAgICAgICAgdGhpcy5jb2xsZWN0aW9uID0gY29ubmVjdG9yLmRhdGFiYXNlPy5jb2xsZWN0aW9uKFwiYXNzZXRzLmZpbGVzXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHdyaXRlKHN0cmVhbTogUmVhZGFibGUsIGNvbnRlbnRUeXBlOiBzdHJpbmcgPSBudWxsLCBtZXRhZGF0YTogSUFzc2V0TWV0YSA9IG51bGwpOiBQcm9taXNlPElBc3NldD4ge1xyXG4gICAgICAgIGNvbnN0IHVwbG9hZFN0cmVhbSA9IGNvcHlTdHJlYW0oc3RyZWFtKTtcclxuICAgICAgICBjb25zdCBidWZmZXIgPSBhd2FpdCBzdHJlYW1Ub0J1ZmZlcihzdHJlYW0pO1xyXG4gICAgICAgIGxldCBmaWxlVHlwZSA9IHtleHQ6IFwiXCIsIG1pbWU6IGNvbnRlbnRUeXBlfSBhcyBJRmlsZVR5cGU7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgZmlsZVR5cGUgPSBhd2FpdCBBc3NldFByb2Nlc3Nvci5maWxlVHlwZUZyb21CdWZmZXIoYnVmZmVyKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGlmICghZmlsZVR5cGUubWltZSkge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgYENhbid0IGRldGVybWluZSBtaW1lIHR5cGVgO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDYW4ndCBkZXRlcm1pbmUgbWltZSB0eXBlYCwgZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG1ldGFkYXRhID0gbWV0YWRhdGEgfHwge307XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudXBsb2FkKHVwbG9hZFN0cmVhbSwgZmlsZVR5cGUsIG1ldGFkYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB3cml0ZUJ1ZmZlcihidWZmZXI6IEJ1ZmZlciwgbWV0YWRhdGE6IElBc3NldE1ldGEgPSBudWxsLCBjb250ZW50VHlwZTogc3RyaW5nID0gbnVsbCk6IFByb21pc2U8SUFzc2V0PiB7XHJcbiAgICAgICAgbGV0IGZpbGVUeXBlID0ge2V4dDogXCJcIiwgbWltZTogY29udGVudFR5cGV9IGFzIElGaWxlVHlwZTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBmaWxlVHlwZSA9IGF3YWl0IEFzc2V0UHJvY2Vzc29yLmZpbGVUeXBlRnJvbUJ1ZmZlcihidWZmZXIpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgaWYgKCFmaWxlVHlwZS5taW1lKSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBgQ2FuJ3QgZGV0ZXJtaW5lIG1pbWUgdHlwZWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc29sZS5sb2coYENhbid0IGRldGVybWluZSBtaW1lIHR5cGVgLCBlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbWV0YWRhdGEgPSBtZXRhZGF0YSB8fCB7fTtcclxuICAgICAgICBidWZmZXIgPSBhd2FpdCB0aGlzLmFzc2V0UHJvY2Vzc29yLnByb2Nlc3MoYnVmZmVyLCBtZXRhZGF0YSwgZmlsZVR5cGUpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLnVwbG9hZChidWZmZXJUb1N0cmVhbShidWZmZXIpLCBmaWxlVHlwZSwgbWV0YWRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHdyaXRlVXJsKHVybDogc3RyaW5nLCBtZXRhZGF0YTogSUFzc2V0TWV0YSA9IG51bGwpOiBQcm9taXNlPElBc3NldD4ge1xyXG4gICAgICAgIGNvbnN0IGJ1ZmZlciA9IChhd2FpdCBheGlvcyh7IHVybCwgcmVzcG9uc2VUeXBlOiBcImFycmF5YnVmZmVyXCIgfSkpLmRhdGEgYXMgQnVmZmVyO1xyXG4gICAgICAgIHJldHVybiB0aGlzLndyaXRlQnVmZmVyKGJ1ZmZlciwgbWV0YWRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGRvd25sb2FkKHVybDogc3RyaW5nLCBjb250ZW50VHlwZTogc3RyaW5nID0gbnVsbCk6IFByb21pc2U8SUFzc2V0PiB7XHJcbiAgICAgICAgbGV0IGJ1ZmZlciA9IChhd2FpdCBheGlvcyh7IHVybCwgcmVzcG9uc2VUeXBlOiBcImFycmF5YnVmZmVyXCIgfSkpLmRhdGEgYXMgQnVmZmVyO1xyXG4gICAgICAgIGxldCBmaWxlVHlwZSA9IHtleHQ6IFwiXCIsIG1pbWU6IGNvbnRlbnRUeXBlfSBhcyBJRmlsZVR5cGU7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgZmlsZVR5cGUgPSBhd2FpdCBBc3NldFByb2Nlc3Nvci5maWxlVHlwZUZyb21CdWZmZXIoYnVmZmVyKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGlmICghZmlsZVR5cGUubWltZSkge1xyXG4gICAgICAgICAgICAgICAgdGhyb3cgYENhbid0IGRldGVybWluZSBtaW1lIHR5cGVgO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGBDYW4ndCBkZXRlcm1pbmUgbWltZSB0eXBlYCwgZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IG1ldGFkYXRhOiBJQXNzZXRNZXRhID0ge1xyXG4gICAgICAgICAgICBmaWxlbmFtZTogdXJsLFxyXG4gICAgICAgICAgICBleHRlbnNpb246IChmaWxlVHlwZS5leHQgfHwgXCJcIikudHJpbSgpXHJcbiAgICAgICAgfTtcclxuICAgICAgICBidWZmZXIgPSBhd2FpdCB0aGlzLmFzc2V0UHJvY2Vzc29yLnByb2Nlc3MoYnVmZmVyLCBtZXRhZGF0YSwgZmlsZVR5cGUpO1xyXG4gICAgICAgIHJldHVybiBuZXcgVGVtcEFzc2V0KGJ1ZmZlciwgdXJsLCBmaWxlVHlwZS5taW1lLCBtZXRhZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcmVhZChpZDogc3RyaW5nKTogUHJvbWlzZTxJQXNzZXQ+IHtcclxuICAgICAgICByZXR1cm4gIWlkID8gbnVsbCA6IHRoaXMuZmluZCh7X2lkOiBuZXcgT2JqZWN0SWQoaWQpfSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZmluZCh3aGVyZTogRmlsdGVyUXVlcnk8SUFzc2V0Pik6IFByb21pc2U8SUFzc2V0PiB7XHJcbiAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbi5maW5kT25lKHdoZXJlKTtcclxuICAgICAgICByZXR1cm4gIWRhdGEgPyBudWxsIDogbmV3IEFzc2V0KGRhdGEuX2lkLCBkYXRhLCB0aGlzLmNvbGxlY3Rpb24sIHRoaXMuYnVja2V0KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBmaW5kTWFueSh3aGVyZTogRmlsdGVyUXVlcnk8SUFzc2V0Pik6IFByb21pc2U8UmVhZG9ubHlBcnJheTxJQXNzZXQ+PiB7XHJcbiAgICAgICAgY29uc3QgY3Vyc29yID0gdGhpcy5jb2xsZWN0aW9uLmZpbmQod2hlcmUpO1xyXG4gICAgICAgIGNvbnN0IGl0ZW1zID0gYXdhaXQgY3Vyc29yLnRvQXJyYXkoKSB8fCBbXTtcclxuICAgICAgICBjb25zdCByZXN1bHQ6IElBc3NldFtdID0gW107XHJcbiAgICAgICAgZm9yIChsZXQgaXRlbSBvZiBpdGVtcykge1xyXG4gICAgICAgICAgICBpZiAoIWl0ZW0pIGNvbnRpbnVlO1xyXG4gICAgICAgICAgICByZXN1bHQucHVzaChuZXcgQXNzZXQoaXRlbS5faWQsIGl0ZW0sIHRoaXMuY29sbGVjdGlvbiwgdGhpcy5idWNrZXQpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBkZWxldGVNYW55KHdoZXJlOiBGaWx0ZXJRdWVyeTxJQXNzZXQ+KTogUHJvbWlzZTxSZWFkb25seUFycmF5PHN0cmluZz4+IHtcclxuICAgICAgICBjb25zdCBhc3NldHMgPSBhd2FpdCB0aGlzLmZpbmRNYW55KHdoZXJlKTtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZS5hbGwoYXNzZXRzLm1hcChhID0+IGEudW5saW5rKCkpKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB1bmxpbmsoaWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgY29uc3QgYXNzZXQgPSBhd2FpdCB0aGlzLnJlYWQoaWQpO1xyXG4gICAgICAgIGlmICghYXNzZXQpIHJldHVybiBudWxsO1xyXG4gICAgICAgIHJldHVybiBhc3NldC51bmxpbmsoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcm90ZWN0ZWQgYXN5bmMgdXBsb2FkKHN0cmVhbTogUmVhZGFibGUsIGZpbGVUeXBlOiBJRmlsZVR5cGUsIG1ldGFkYXRhOiBJQXNzZXRNZXRhKTogUHJvbWlzZTxJQXNzZXQ+IHtcclxuICAgICAgICBjb25zdCBjb250ZW50VHlwZSA9IGZpbGVUeXBlLm1pbWUudHJpbSgpO1xyXG4gICAgICAgIG1ldGFkYXRhID0gT2JqZWN0LmFzc2lnbih7XHJcbiAgICAgICAgICAgIGRvd25sb2FkQ291bnQ6IDAsXHJcbiAgICAgICAgICAgIGZpcnN0RG93bmxvYWQ6IG51bGwsXHJcbiAgICAgICAgICAgIGxhc3REb3dubG9hZDogbnVsbFxyXG4gICAgICAgIH0sIG1ldGFkYXRhIHx8IHt9KTtcclxuICAgICAgICBtZXRhZGF0YS5maWxlbmFtZSA9IG1ldGFkYXRhLmZpbGVuYW1lIHx8IG5ldyBPYmplY3RJZCgpLnRvSGV4U3RyaW5nKCk7XHJcbiAgICAgICAgbWV0YWRhdGEuZXh0ZW5zaW9uID0gKGZpbGVUeXBlLmV4dCB8fCBcIlwiKS50cmltKCk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPElBc3NldD4oKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgY29uc3QgdXBsb2FkZXJTdHJlYW0gPSB0aGlzLmJ1Y2tldC5vcGVuVXBsb2FkU3RyZWFtKG1ldGFkYXRhLmZpbGVuYW1lKTtcclxuICAgICAgICAgICAgc3RyZWFtLnBpcGUodXBsb2FkZXJTdHJlYW0pXHJcbiAgICAgICAgICAgICAgICAub24oXCJlcnJvclwiLCBlcnJvciA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yLm1lc3NhZ2UgfHwgZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIC5vbihcImZpbmlzaFwiLCAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYXNzZXQgPSBuZXcgQXNzZXQodXBsb2FkZXJTdHJlYW0uaWQgYXMgT2JqZWN0SWQsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZW5hbWU6IG1ldGFkYXRhLmZpbGVuYW1lLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50VHlwZSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWV0YWRhdGFcclxuICAgICAgICAgICAgICAgICAgICB9LCB0aGlzLmNvbGxlY3Rpb24sIHRoaXMuYnVja2V0KTtcclxuICAgICAgICAgICAgICAgICAgICBhc3NldC5zYXZlKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoYXNzZXQpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sIGVycm9yID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycm9yLm1lc3NhZ2UgfHwgZXJyb3IpO1xyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2Fzc2V0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxVQUFVLENBQUM7QUFFdkQsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUc5QixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFFMUIsT0FBTyxFQUFDLGNBQWMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBRXBFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztJQUluQyxNQUFNLFNBQU4sTUFBTTtJQUtmLFlBQXFCLFNBQXlCLEVBQVcsY0FBOEI7O1FBQWxFLGNBQVMsR0FBVCxTQUFTLENBQWdCO1FBQVcsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ25GLElBQUksQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQUEsU0FBUyxDQUFDLFFBQVEsMENBQUUsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFSyxLQUFLLENBQUMsTUFBZ0IsRUFBRSxjQUFzQixJQUFJLEVBQUUsV0FBdUIsSUFBSTs7WUFDakYsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3hDLE1BQU0sTUFBTSxHQUFHLE1BQU0sY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUksUUFBUSxHQUFHLEVBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFjLENBQUM7WUFDekQsSUFBSTtnQkFDQSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDOUQ7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtvQkFDaEIsTUFBTSwyQkFBMkIsQ0FBQztpQkFDckM7Z0JBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMvQztZQUNELFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pELENBQUM7S0FBQTtJQUVLLFdBQVcsQ0FBQyxNQUFjLEVBQUUsV0FBdUIsSUFBSSxFQUFFLGNBQXNCLElBQUk7O1lBQ3JGLElBQUksUUFBUSxHQUFHLEVBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFjLENBQUM7WUFDekQsSUFBSTtnQkFDQSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDOUQ7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDUixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRTtvQkFDaEIsTUFBTSwyQkFBMkIsQ0FBQztpQkFDckM7Z0JBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLENBQUMsQ0FBQzthQUMvQztZQUNELFFBQVEsR0FBRyxRQUFRLElBQUksRUFBRSxDQUFDO1lBQzFCLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDdkUsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbkUsQ0FBQztLQUFBO0lBRUssUUFBUSxDQUFDLEdBQVcsRUFBRSxXQUF1QixJQUFJOztZQUNuRCxRQUFRLEdBQUcsUUFBUSxJQUFJLEVBQUUsQ0FBQztZQUMxQixRQUFRLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQztZQUN4QixRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDM0MsTUFBTSxPQUFPLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUscUJBQXFCLEVBQUUsRUFBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLFVBQVUsR0FBRyxPQUFPLEVBQUMsRUFBQyxDQUFDLENBQUM7WUFDNUcsSUFBSSxLQUFLO2dCQUFFLE9BQU8sS0FBSyxDQUFDO1lBQ3hCLE1BQU0sTUFBTSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFjLENBQUM7WUFDbEYsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUM5QyxDQUFDO0tBQUE7SUFFSyxRQUFRLENBQUMsR0FBVyxFQUFFLGNBQXNCLElBQUk7O1lBQ2xELElBQUksTUFBTSxHQUFHLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxHQUFHLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFjLENBQUM7WUFDaEYsSUFBSSxRQUFRLEdBQUcsRUFBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQWMsQ0FBQztZQUN6RCxJQUFJO2dCQUNBLFFBQVEsR0FBRyxNQUFNLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQzthQUM5RDtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO29CQUNoQixNQUFNLDJCQUEyQixDQUFDO2lCQUNyQztnQkFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLDJCQUEyQixFQUFFLENBQUMsQ0FBQyxDQUFDO2FBQy9DO1lBQ0QsTUFBTSxRQUFRLEdBQWU7Z0JBQ3pCLFFBQVEsRUFBRSxHQUFHO2dCQUNiLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFO2FBQ3pDLENBQUM7WUFDRixNQUFNLEdBQUcsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZFLE9BQU8sSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQy9ELENBQUM7S0FBQTtJQUVLLElBQUksQ0FBQyxFQUFVOztZQUNqQixPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQyxHQUFHLEVBQUUsSUFBSSxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDO1FBQzNELENBQUM7S0FBQTtJQUVLLElBQUksQ0FBQyxLQUEwQjs7WUFDakMsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNsRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xGLENBQUM7S0FBQTtJQUVLLFFBQVEsQ0FBQyxLQUEwQjs7WUFDckMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDM0MsTUFBTSxLQUFLLEdBQUcsQ0FBQSxNQUFNLE1BQU0sQ0FBQyxPQUFPLEVBQUUsS0FBSSxFQUFFLENBQUM7WUFDM0MsTUFBTSxNQUFNLEdBQWEsRUFBRSxDQUFDO1lBQzVCLEtBQUssSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFO2dCQUNwQixJQUFJLENBQUMsSUFBSTtvQkFBRSxTQUFTO2dCQUNwQixNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7YUFDeEU7WUFDRCxPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDO0tBQUE7SUFFSyxVQUFVLENBQUMsS0FBMEI7O1lBQ3ZDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUMxQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEQsQ0FBQztLQUFBO0lBRUssTUFBTSxDQUFDLEVBQVU7O1lBQ25CLE1BQU0sS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsS0FBSztnQkFBRSxPQUFPLElBQUksQ0FBQztZQUN4QixPQUFPLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixDQUFDO0tBQUE7SUFFZSxNQUFNLENBQUMsTUFBZ0IsRUFBRSxRQUFtQixFQUFFLFFBQW9COztZQUM5RSxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ3pDLFFBQVEsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO2dCQUNyQixhQUFhLEVBQUUsQ0FBQztnQkFDaEIsYUFBYSxFQUFFLElBQUk7Z0JBQ25CLFlBQVksRUFBRSxJQUFJO2FBQ3JCLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ25CLFFBQVEsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLFFBQVEsSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RFLFFBQVEsQ0FBQyxTQUFTLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2pELE9BQU8sSUFBSSxPQUFPLENBQVMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtnQkFDNUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3ZFLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO3FCQUN0QixFQUFFLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFO29CQUNqQixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQztnQkFDbkMsQ0FBQyxDQUFDO3FCQUNELEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO29CQUNmLE1BQU0sS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLGNBQWMsQ0FBQyxFQUFjLEVBQUU7d0JBQ25ELFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUTt3QkFDM0IsV0FBVzt3QkFDWCxRQUFRO3FCQUNYLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ2pDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO3dCQUNuQixPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7b0JBQ25CLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRTt3QkFDUCxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsQ0FBQztvQkFDbkMsQ0FBQyxDQUFDLENBQUM7Z0JBQ1AsQ0FBQyxDQUFDLENBQUM7WUFDWCxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1IsQ0FBQztLQUFBO0NBQ0osQ0FBQTtBQW5JWSxNQUFNO0lBRmxCLFVBQVUsRUFBRTtJQUNaLE1BQU0sQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDO3FDQU1FLGNBQWMsRUFBMkIsY0FBYztHQUw5RSxNQUFNLENBbUlsQjtTQW5JWSxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpbmplY3RhYmxlLCBMaWZlY3ljbGUsIHNjb3BlZH0gZnJvbSBcInRzeXJpbmdlXCI7XHJcbmltcG9ydCB7UmVhZGFibGV9IGZyb20gXCJzdHJlYW1cIjtcclxuaW1wb3J0IHtPYmplY3RJZH0gZnJvbSBcImJzb25cIjtcclxuaW1wb3J0IHtDb2xsZWN0aW9uLCBHcmlkRlNCdWNrZXR9IGZyb20gXCJtb25nb2RiXCI7XHJcbmltcG9ydCB7RmlsdGVyUXVlcnl9IGZyb20gXCJtb25nb29zZVwiO1xyXG5pbXBvcnQgYXhpb3MgZnJvbSBcImF4aW9zXCI7XHJcblxyXG5pbXBvcnQge2J1ZmZlclRvU3RyZWFtLCBjb3B5U3RyZWFtLCBzdHJlYW1Ub0J1ZmZlcn0gZnJvbSBcIi4uL3V0aWxzXCI7XHJcbmltcG9ydCB7SUFzc2V0LCBJQXNzZXRNZXRhLCBJRmlsZVR5cGV9IGZyb20gXCIuLi9jb21tb24tdHlwZXNcIjtcclxuaW1wb3J0IHtNb25nb0Nvbm5lY3Rvcn0gZnJvbSBcIi4vbW9uZ28tY29ubmVjdG9yXCI7XHJcbmltcG9ydCB7QXNzZXRQcm9jZXNzb3J9IGZyb20gXCIuL2Fzc2V0LXByb2Nlc3NvclwiO1xyXG5pbXBvcnQge0Fzc2V0fSBmcm9tIFwiLi9lbnRpdGllcy9hc3NldFwiO1xyXG5pbXBvcnQge1RlbXBBc3NldH0gZnJvbSBcIi4vZW50aXRpZXMvdGVtcC1hc3NldFwiO1xyXG5cclxuQGluamVjdGFibGUoKVxyXG5Ac2NvcGVkKExpZmVjeWNsZS5Db250YWluZXJTY29wZWQpXHJcbmV4cG9ydCBjbGFzcyBBc3NldHMge1xyXG5cclxuICAgIHJlYWRvbmx5IGJ1Y2tldDogR3JpZEZTQnVja2V0O1xyXG4gICAgcmVhZG9ubHkgY29sbGVjdGlvbjogQ29sbGVjdGlvbjxQYXJ0aWFsPElBc3NldD4+O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbm5lY3RvcjogTW9uZ29Db25uZWN0b3IsIHJlYWRvbmx5IGFzc2V0UHJvY2Vzc29yOiBBc3NldFByb2Nlc3Nvcikge1xyXG4gICAgICAgIHRoaXMuYnVja2V0ID0gY29ubmVjdG9yLmJ1Y2tldDtcclxuICAgICAgICB0aGlzLmNvbGxlY3Rpb24gPSBjb25uZWN0b3IuZGF0YWJhc2U/LmNvbGxlY3Rpb24oXCJhc3NldHMuZmlsZXNcIik7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgd3JpdGUoc3RyZWFtOiBSZWFkYWJsZSwgY29udGVudFR5cGU6IHN0cmluZyA9IG51bGwsIG1ldGFkYXRhOiBJQXNzZXRNZXRhID0gbnVsbCk6IFByb21pc2U8SUFzc2V0PiB7XHJcbiAgICAgICAgY29uc3QgdXBsb2FkU3RyZWFtID0gY29weVN0cmVhbShzdHJlYW0pO1xyXG4gICAgICAgIGNvbnN0IGJ1ZmZlciA9IGF3YWl0IHN0cmVhbVRvQnVmZmVyKHN0cmVhbSk7XHJcbiAgICAgICAgbGV0IGZpbGVUeXBlID0ge2V4dDogXCJcIiwgbWltZTogY29udGVudFR5cGV9IGFzIElGaWxlVHlwZTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBmaWxlVHlwZSA9IGF3YWl0IEFzc2V0UHJvY2Vzc29yLmZpbGVUeXBlRnJvbUJ1ZmZlcihidWZmZXIpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgaWYgKCFmaWxlVHlwZS5taW1lKSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBgQ2FuJ3QgZGV0ZXJtaW5lIG1pbWUgdHlwZWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc29sZS5sb2coYENhbid0IGRldGVybWluZSBtaW1lIHR5cGVgLCBlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgbWV0YWRhdGEgPSBtZXRhZGF0YSB8fCB7fTtcclxuICAgICAgICByZXR1cm4gdGhpcy51cGxvYWQodXBsb2FkU3RyZWFtLCBmaWxlVHlwZSwgbWV0YWRhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHdyaXRlQnVmZmVyKGJ1ZmZlcjogQnVmZmVyLCBtZXRhZGF0YTogSUFzc2V0TWV0YSA9IG51bGwsIGNvbnRlbnRUeXBlOiBzdHJpbmcgPSBudWxsKTogUHJvbWlzZTxJQXNzZXQ+IHtcclxuICAgICAgICBsZXQgZmlsZVR5cGUgPSB7ZXh0OiBcIlwiLCBtaW1lOiBjb250ZW50VHlwZX0gYXMgSUZpbGVUeXBlO1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGZpbGVUeXBlID0gYXdhaXQgQXNzZXRQcm9jZXNzb3IuZmlsZVR5cGVGcm9tQnVmZmVyKGJ1ZmZlcik7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBpZiAoIWZpbGVUeXBlLm1pbWUpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IGBDYW4ndCBkZXRlcm1pbmUgbWltZSB0eXBlYDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgQ2FuJ3QgZGV0ZXJtaW5lIG1pbWUgdHlwZWAsIGUpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBtZXRhZGF0YSA9IG1ldGFkYXRhIHx8IHt9O1xyXG4gICAgICAgIGJ1ZmZlciA9IGF3YWl0IHRoaXMuYXNzZXRQcm9jZXNzb3IucHJvY2VzcyhidWZmZXIsIG1ldGFkYXRhLCBmaWxlVHlwZSk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudXBsb2FkKGJ1ZmZlclRvU3RyZWFtKGJ1ZmZlciksIGZpbGVUeXBlLCBtZXRhZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgd3JpdGVVcmwodXJsOiBzdHJpbmcsIG1ldGFkYXRhOiBJQXNzZXRNZXRhID0gbnVsbCk6IFByb21pc2U8SUFzc2V0PiB7XHJcbiAgICAgICAgbWV0YWRhdGEgPSBtZXRhZGF0YSB8fCB7fTtcclxuICAgICAgICBtZXRhZGF0YS5maWxlbmFtZSA9IHVybDtcclxuICAgICAgICBtZXRhZGF0YS51cGxvYWRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgICAgY29uc3Qgb25lV2VlayA9IDEwMDAgKiAzNjAwICogMjQgKiA3O1xyXG4gICAgICAgIGNvbnN0IGFzc2V0ID0gYXdhaXQgdGhpcy5maW5kKHtmaWxlbmFtZTogdXJsLCBcIm1ldGFkYXRhLnVwbG9hZFRpbWVcIjogeyRndDogbWV0YWRhdGEudXBsb2FkVGltZSAtIG9uZVdlZWt9fSk7XHJcbiAgICAgICAgaWYgKGFzc2V0KSByZXR1cm4gYXNzZXQ7XHJcbiAgICAgICAgY29uc3QgYnVmZmVyID0gKGF3YWl0IGF4aW9zKHsgdXJsLCByZXNwb25zZVR5cGU6IFwiYXJyYXlidWZmZXJcIiB9KSkuZGF0YSBhcyBCdWZmZXI7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMud3JpdGVCdWZmZXIoYnVmZmVyLCBtZXRhZGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZG93bmxvYWQodXJsOiBzdHJpbmcsIGNvbnRlbnRUeXBlOiBzdHJpbmcgPSBudWxsKTogUHJvbWlzZTxJQXNzZXQ+IHtcclxuICAgICAgICBsZXQgYnVmZmVyID0gKGF3YWl0IGF4aW9zKHsgdXJsLCByZXNwb25zZVR5cGU6IFwiYXJyYXlidWZmZXJcIiB9KSkuZGF0YSBhcyBCdWZmZXI7XHJcbiAgICAgICAgbGV0IGZpbGVUeXBlID0ge2V4dDogXCJcIiwgbWltZTogY29udGVudFR5cGV9IGFzIElGaWxlVHlwZTtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBmaWxlVHlwZSA9IGF3YWl0IEFzc2V0UHJvY2Vzc29yLmZpbGVUeXBlRnJvbUJ1ZmZlcihidWZmZXIpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgaWYgKCFmaWxlVHlwZS5taW1lKSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBgQ2FuJ3QgZGV0ZXJtaW5lIG1pbWUgdHlwZWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc29sZS5sb2coYENhbid0IGRldGVybWluZSBtaW1lIHR5cGVgLCBlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgbWV0YWRhdGE6IElBc3NldE1ldGEgPSB7XHJcbiAgICAgICAgICAgIGZpbGVuYW1lOiB1cmwsXHJcbiAgICAgICAgICAgIGV4dGVuc2lvbjogKGZpbGVUeXBlLmV4dCB8fCBcIlwiKS50cmltKClcclxuICAgICAgICB9O1xyXG4gICAgICAgIGJ1ZmZlciA9IGF3YWl0IHRoaXMuYXNzZXRQcm9jZXNzb3IucHJvY2VzcyhidWZmZXIsIG1ldGFkYXRhLCBmaWxlVHlwZSk7XHJcbiAgICAgICAgcmV0dXJuIG5ldyBUZW1wQXNzZXQoYnVmZmVyLCB1cmwsIGZpbGVUeXBlLm1pbWUsIG1ldGFkYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZWFkKGlkOiBzdHJpbmcpOiBQcm9taXNlPElBc3NldD4ge1xyXG4gICAgICAgIHJldHVybiAhaWQgPyBudWxsIDogdGhpcy5maW5kKHtfaWQ6IG5ldyBPYmplY3RJZChpZCl9KTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBmaW5kKHdoZXJlOiBGaWx0ZXJRdWVyeTxJQXNzZXQ+KTogUHJvbWlzZTxJQXNzZXQ+IHtcclxuICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5jb2xsZWN0aW9uLmZpbmRPbmUod2hlcmUpO1xyXG4gICAgICAgIHJldHVybiAhZGF0YSA/IG51bGwgOiBuZXcgQXNzZXQoZGF0YS5faWQsIGRhdGEsIHRoaXMuY29sbGVjdGlvbiwgdGhpcy5idWNrZXQpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGZpbmRNYW55KHdoZXJlOiBGaWx0ZXJRdWVyeTxJQXNzZXQ+KTogUHJvbWlzZTxSZWFkb25seUFycmF5PElBc3NldD4+IHtcclxuICAgICAgICBjb25zdCBjdXJzb3IgPSB0aGlzLmNvbGxlY3Rpb24uZmluZCh3aGVyZSk7XHJcbiAgICAgICAgY29uc3QgaXRlbXMgPSBhd2FpdCBjdXJzb3IudG9BcnJheSgpIHx8IFtdO1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdDogSUFzc2V0W10gPSBbXTtcclxuICAgICAgICBmb3IgKGxldCBpdGVtIG9mIGl0ZW1zKSB7XHJcbiAgICAgICAgICAgIGlmICghaXRlbSkgY29udGludWU7XHJcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKG5ldyBBc3NldChpdGVtLl9pZCwgaXRlbSwgdGhpcy5jb2xsZWN0aW9uLCB0aGlzLmJ1Y2tldCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0O1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGRlbGV0ZU1hbnkod2hlcmU6IEZpbHRlclF1ZXJ5PElBc3NldD4pOiBQcm9taXNlPFJlYWRvbmx5QXJyYXk8c3RyaW5nPj4ge1xyXG4gICAgICAgIGNvbnN0IGFzc2V0cyA9IGF3YWl0IHRoaXMuZmluZE1hbnkod2hlcmUpO1xyXG4gICAgICAgIHJldHVybiBQcm9taXNlLmFsbChhc3NldHMubWFwKGEgPT4gYS51bmxpbmsoKSkpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHVubGluayhpZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcclxuICAgICAgICBjb25zdCBhc3NldCA9IGF3YWl0IHRoaXMucmVhZChpZCk7XHJcbiAgICAgICAgaWYgKCFhc3NldCkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgcmV0dXJuIGFzc2V0LnVubGluaygpO1xyXG4gICAgfVxyXG5cclxuICAgIHByb3RlY3RlZCBhc3luYyB1cGxvYWQoc3RyZWFtOiBSZWFkYWJsZSwgZmlsZVR5cGU6IElGaWxlVHlwZSwgbWV0YWRhdGE6IElBc3NldE1ldGEpOiBQcm9taXNlPElBc3NldD4ge1xyXG4gICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gZmlsZVR5cGUubWltZS50cmltKCk7XHJcbiAgICAgICAgbWV0YWRhdGEgPSBPYmplY3QuYXNzaWduKHtcclxuICAgICAgICAgICAgZG93bmxvYWRDb3VudDogMCxcclxuICAgICAgICAgICAgZmlyc3REb3dubG9hZDogbnVsbCxcclxuICAgICAgICAgICAgbGFzdERvd25sb2FkOiBudWxsXHJcbiAgICAgICAgfSwgbWV0YWRhdGEgfHwge30pO1xyXG4gICAgICAgIG1ldGFkYXRhLmZpbGVuYW1lID0gbWV0YWRhdGEuZmlsZW5hbWUgfHwgbmV3IE9iamVjdElkKCkudG9IZXhTdHJpbmcoKTtcclxuICAgICAgICBtZXRhZGF0YS5leHRlbnNpb24gPSAoZmlsZVR5cGUuZXh0IHx8IFwiXCIpLnRyaW0oKTtcclxuICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8SUFzc2V0PigoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCB1cGxvYWRlclN0cmVhbSA9IHRoaXMuYnVja2V0Lm9wZW5VcGxvYWRTdHJlYW0obWV0YWRhdGEuZmlsZW5hbWUpO1xyXG4gICAgICAgICAgICBzdHJlYW0ucGlwZSh1cGxvYWRlclN0cmVhbSlcclxuICAgICAgICAgICAgICAgIC5vbihcImVycm9yXCIsIGVycm9yID0+IHtcclxuICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IubWVzc2FnZSB8fCBlcnJvcik7XHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgLm9uKFwiZmluaXNoXCIsICgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhc3NldCA9IG5ldyBBc3NldCh1cGxvYWRlclN0cmVhbS5pZCBhcyBPYmplY3RJZCwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlbmFtZTogbWV0YWRhdGEuZmlsZW5hbWUsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUeXBlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRhZGF0YVxyXG4gICAgICAgICAgICAgICAgICAgIH0sIHRoaXMuY29sbGVjdGlvbiwgdGhpcy5idWNrZXQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGFzc2V0LnNhdmUoKS50aGVuKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZShhc3NldCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSwgZXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyb3IubWVzc2FnZSB8fCBlcnJvcik7XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICB9KSk7XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1228,6 +1228,13 @@ let Assets = class Assets {
1228
1228
  }
1229
1229
  writeUrl(url, metadata = null) {
1230
1230
  return __awaiter$r(this, void 0, void 0, function* () {
1231
+ metadata = metadata || {};
1232
+ metadata.filename = url;
1233
+ metadata.uploadTime = new Date().getTime();
1234
+ const oneWeek = 1000 * 3600 * 24 * 7;
1235
+ const asset = yield this.find({ filename: url, "metadata.uploadTime": { $gt: metadata.uploadTime - oneWeek } });
1236
+ if (asset)
1237
+ return asset;
1231
1238
  const buffer = (yield axios({ url, responseType: "arraybuffer" })).data;
1232
1239
  return this.writeBuffer(buffer, metadata);
1233
1240
  });