@blokjs/trigger-worker 1.0.0 → 1.2.0
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/dist/WorkerTrigger.js +4 -5
- package/dist/adapters/KafkaAdapter.d.ts +17 -4
- package/dist/adapters/KafkaAdapter.js +79 -22
- package/dist/adapters/NATSAdapter.d.ts +11 -0
- package/dist/adapters/NATSAdapter.js +58 -8
- package/dist/adapters/PgBossAdapter.d.ts +1 -0
- package/dist/adapters/PgBossAdapter.js +37 -10
- package/dist/adapters/RabbitMQAdapter.d.ts +3 -2
- package/dist/adapters/RabbitMQAdapter.js +36 -8
- package/dist/adapters/RedisStreamsAdapter.d.ts +55 -7
- package/dist/adapters/RedisStreamsAdapter.js +269 -64
- package/dist/adapters/SQSAdapter.js +7 -1
- package/package.json +4 -4
|
@@ -217,6 +217,12 @@ export class SQSAdapter {
|
|
|
217
217
|
params.MessageDeduplicationId = messageId;
|
|
218
218
|
}
|
|
219
219
|
if (typeof opts?.delay === "number" && opts.delay > 0) {
|
|
220
|
+
// SQS rejects per-message DelaySeconds on FIFO queues (they only
|
|
221
|
+
// support a queue-level delay). Fail fast with a clear message
|
|
222
|
+
// instead of letting the SDK surface a cryptic AWS validation error.
|
|
223
|
+
if (isFifo) {
|
|
224
|
+
throw new Error("[blok][sqs] per-message delay is not supported on FIFO queues; set a queue-level DelaySeconds attribute instead.");
|
|
225
|
+
}
|
|
220
226
|
params.DelaySeconds = Math.min(900, Math.ceil(opts.delay / 1000));
|
|
221
227
|
}
|
|
222
228
|
const result = await this.client.send(new this.commands.SendMessageCommand(params));
|
|
@@ -266,4 +272,4 @@ export class SQSAdapter {
|
|
|
266
272
|
};
|
|
267
273
|
}
|
|
268
274
|
}
|
|
269
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1FTQWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGFwdGVycy9TUVNBZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQkc7QUFHSCxPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQTZCbEMsTUFBTSxPQUFPLFVBQVU7SUFDYixRQUFRLEdBQUcsS0FBYyxDQUFDO0lBQ2xCLE1BQU0sQ0FBWTtJQUNuQyxvR0FBb0c7SUFDNUYsTUFBTSxHQUFRLElBQUksQ0FBQztJQUMzQiw2REFBNkQ7SUFDckQsUUFBUSxHQUFRLElBQUksQ0FBQztJQUNyQixPQUFPLEdBQTZCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDOUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixLQUFLLEdBQW9DLElBQUksR0FBRyxFQUFFLENBQUM7SUFFM0QsWUFBWSxNQUEyQjtRQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ2IsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksV0FBVztZQUMvRCxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQjtZQUMxRCxlQUFlLEVBQUUsTUFBTSxFQUFFLGVBQWUsSUFBSSxFQUFFO1lBQzlDLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxtQkFBbUIsSUFBSSxFQUFFO1NBQ3RELENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUMzQixJQUFJLENBQUM7WUFDSix1REFBdUQ7WUFDdkQsTUFBTSxHQUFHLEdBQVEsTUFBTSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUks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O1FBQzdGLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDUixZQUFZO1FBQ2IsQ0FBQztRQUNELE9BQU87WUFDTixPQUFPO1lBQ1AsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO1lBQ3ZCLFNBQVMsRUFBRSxRQUFRLENBQUMsU0FBUztZQUM3QixNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07WUFDdkIsT0FBTztTQUNQLENBQUM7SUFDSCxDQUFDO0NBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNRU0FkYXB0ZXIg4oCUIHYwLjcgUFIgNSDigJQgV29ya2VyIGFkYXB0ZXIgYmFja2VkIGJ5IEFXUyBTUVMgdmlhXG4gKiBgQGF3cy1zZGsvY2xpZW50LXNxc2AuIFBvbGxzIGEgcXVldWUgVVJMICh0aGUgYHF1ZXVlYCBmaWVsZCkgd2l0aFxuICogbG9uZy1wb2xsaW5nOyBwcm9jZXNzZXMgbWVzc2FnZXMgd2l0aCBtYW51YWwgZGVsZXRlIChBQ0spLlxuICpcbiAqIFNlbWFudGljczpcbiAqICAgLSAqKkxvbmcgcG9sbGluZyoqOiBgV2FpdFRpbWVTZWNvbmRzPTIwYCBieSBkZWZhdWx0IOKAlCBtaW5pbWlzZXNcbiAqICAgICBwb2xsIGNvc3QuIGBjb25jdXJyZW5jeWAgY29udHJvbHMgaG93IG1hbnkgcGFyYWxsZWxcbiAqICAgICBgUmVjZWl2ZU1lc3NhZ2VgIGxvb3BzIHJ1bi5cbiAqICAgLSAqKlZpc2liaWxpdHkgdGltZW91dCoqOiBjb25maWd1cmVkIHZpYSBgdGltZW91dGAgKG1zIOKGkiBzKS5cbiAqICAgICBNZXNzYWdlcyByZWFwcGVhciBhZnRlciB0aGlzIGlmIHRoZSB3b3JrZXIgZG9lc24ndCBkZWxldGUgdGhlbS5cbiAqICAgLSAqKlJldHJpZXMqKjogU1FTIGhhbmRsZXMgcmV0cmllcyBhdXRvbWF0aWNhbGx5IHZpYSByZWRyaXZlXG4gKiAgICAgcG9saWN5IG9uIHRoZSBxdWV1ZSBpdHNlbGYuIFRoZSBhZGFwdGVyIGRvZXNuJ3Qgc2ltdWxhdGVcbiAqICAgICByZXRyaWVzIGNsaWVudC1zaWRlIOKAlCBzZXQgYE1heFJlY2VpdmVDb3VudGAgb24gdGhlIHF1ZXVlJ3NcbiAqICAgICByZWRyaXZlIHBvbGljeSBhbmQgYSBETFEgdmlhIGBkZWFkTGV0dGVyUXVldWVgLlxuICogICAtICoqRklGTyBzdXBwb3J0Kio6IHdoZW4gdGhlIHF1ZXVlIFVSTCBlbmRzIHdpdGggYC5maWZvYCwgdGhlXG4gKiAgICAgYWRhcHRlciBwYXNzZXMgYE1lc3NhZ2VHcm91cElkYCBmcm9tIGBkZWR1cElkYCBvciBhIGRlZmF1bHQuXG4gKlxuICogUmVxdWlyZXMgYEBhd3Mtc2RrL2NsaWVudC1zcXNgIGFzIGEgcGVlciBkZXBlbmRlbmN5OlxuICpcbiAqICAgICBidW4gYWRkIEBhd3Mtc2RrL2NsaWVudC1zcXNcbiAqXG4gKiBFbnZpcm9ubWVudCB2YXJpYWJsZXMgKHN0YW5kYXJkIEFXUyBTREspOlxuICogICAtIGBBV1NfUkVHSU9OYCAgICAgICAgICAgICAg4oCUIGRlZmF1bHQgYHVzLWVhc3QtMWAuXG4gKiAgIC0gYEFXU19BQ0NFU1NfS0VZX0lEYCAgICAgICDigJQgY3JlZGVudGlhbHMgKG9yIHVzZSBhIHByb2ZpbGUpLlxuICogICAtIGBBV1NfU0VDUkVUX0FDQ0VTU19LRVlgXG4gKiAgIC0gYFNRU19FTkRQT0lOVF9VUkxgICAgICAgICDigJQgZm9yIGxvY2FsIFNRUyAoTG9jYWxTdGFjayAvIEVsYXN0aWNNUSkuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBXb3JrZXJUcmlnZ2VyT3B0cyB9IGZyb20gXCJAYmxva2pzL2hlbHBlclwiO1xuaW1wb3J0IHsgdjQgYXMgdXVpZCB9IGZyb20gXCJ1dWlkXCI7XG5pbXBvcnQgdHlwZSB7IFdvcmtlckFkYXB0ZXIsIFdvcmtlckpvYiwgV29ya2VyUXVldWVTdGF0cyB9IGZyb20gXCIuLi9Xb3JrZXJUcmlnZ2VyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU1FTQ29uZmlnIHtcblx0cmVnaW9uOiBzdHJpbmc7XG5cdGVuZHBvaW50Pzogc3RyaW5nO1xuXHR3YWl0VGltZVNlY29uZHM6IG51bWJlcjtcblx0bWF4TnVtYmVyT2ZNZXNzYWdlczogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgU3FzTWVzc2FnZSB7XG5cdE1lc3NhZ2VJZD86IHN0cmluZztcblx0UmVjZWlwdEhhbmRsZT86IHN0cmluZztcblx0Qm9keT86IHN0cmluZztcblx0QXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG5cdE1lc3NhZ2VBdHRyaWJ1dGVzPzogUmVjb3JkPHN0cmluZywgeyBTdHJpbmdWYWx1ZT86IHN0cmluZyB9Pjtcbn1cblxuaW50ZXJmYWNlIFF1ZXVlUnVubmVyIHtcblx0c3RvcDogYm9vbGVhbjtcblx0bG9vcHM6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFF1ZXVlU3RhdHNDb3VudGVycyB7XG5cdGNvbXBsZXRlZDogbnVtYmVyO1xuXHRmYWlsZWQ6IG51bWJlcjtcblx0YWN0aXZlOiBudW1iZXI7XG59XG5cbmV4cG9ydCBjbGFzcyBTUVNBZGFwdGVyIGltcGxlbWVudHMgV29ya2VyQWRhcHRlciB7XG5cdHJlYWRvbmx5IHByb3ZpZGVyID0gXCJzcXNcIiBhcyBjb25zdDtcblx0cHJpdmF0ZSByZWFkb25seSBjb25maWc6IFNRU0NvbmZpZztcblx0Ly8gYmlvbWUtaWdub3JlIGxpbnQvc3VzcGljaW91cy9ub0V4cGxpY2l0QW55OiBAYXdzLXNkay9jbGllbnQtc3FzIGNsaWVudCArIGNvbW1hbmQgdHlwZXMgYXJlIGxvb3NlLlxuXHRwcml2YXRlIGNsaWVudDogYW55ID0gbnVsbDtcblx0Ly8gYmlvbWUtaWdub3JlIGxpbnQvc3VzcGljaW91cy9ub0V4cGxpY2l0QW55OiBzYW1lIGFzIGFib3ZlLlxuXHRwcml2YXRlIGNvbW1hbmRzOiBhbnkgPSBudWxsO1xuXHRwcml2YXRlIHJ1bm5lcnM6IE1hcDxzdHJpbmcsIFF1ZXVlUnVubmVyPiA9IG5ldyBNYXAoKTtcblx0cHJpdmF0ZSBjb25uZWN0ZWQgPSBmYWxzZTtcblx0cHJpdmF0ZSBzdGF0czogTWFwPHN0cmluZywgUXVldWVTdGF0c0NvdW50ZXJzPiA9IG5ldyBNYXAoKTtcblxuXHRjb25zdHJ1Y3Rvcihjb25maWc/OiBQYXJ0aWFsPFNRU0NvbmZpZz4pIHtcblx0XHR0aGlzLmNvbmZpZyA9IHtcblx0XHRcdHJlZ2lvbjogY29uZmlnPy5yZWdpb24gPz8gcHJvY2Vzcy5lbnYuQVdTX1JFR0lPTiA/PyBcInVzLWVhc3QtMVwiLFxuXHRcdFx0ZW5kcG9pbnQ6IGNvbmZpZz8uZW5kcG9pbnQgPz8gcHJvY2Vzcy5lbnYuU1FTX0VORFBPSU5UX1VSTCxcblx0XHRcdHdhaXRUaW1lU2Vjb25kczogY29uZmlnPy53YWl0VGltZVNlY29uZHMgPz8gMjAsXG5cdFx0XHRtYXhOdW1iZXJPZk1lc3NhZ2VzOiBjb25maWc/Lm1heE51bWJlck9mTWVzc2FnZXMgPz8gMTAsXG5cdFx0fTtcblx0fVxuXG5cdGFzeW5jIGNvbm5lY3QoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKHRoaXMuY29ubmVjdGVkKSByZXR1cm47XG5cdFx0dHJ5IHtcblx0XHRcdC8vIGJpb21lLWlnbm9yZSBsaW50L3N1c3BpY2lvdXMvbm9FeHBsaWNpdEFueTogcGVlciBkZXBcblx0XHRcdGNvbnN0IHNkazogYW55ID0gYXdhaXQgaW1wb3J0KFwiQGF3cy1zZGsvY2xpZW50LXNxc1wiKTtcblx0XHRcdHRoaXMuY2xpZW50ID0gbmV3IHNkay5TUVNDbGllbnQoeyByZWdpb246IHRoaXMuY29uZmlnLnJlZ2lvbiwgZW5kcG9pbnQ6IHRoaXMuY29uZmlnLmVuZHBvaW50IH0pO1xuXHRcdFx0dGhpcy5jb21tYW5kcyA9IHNkaztcblx0XHRcdHRoaXMuY29ubmVjdGVkID0gdHJ1ZTtcblx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihcblx0XHRcdFx0YFtibG9rXVtzcXNdIGNvbm5lY3QgZmFpbGVkOiAkeyhlcnIgYXMgRXJyb3IpLm1lc3NhZ2V9LiBJbnN0YWxsIEBhd3Mtc2RrL2NsaWVudC1zcXMgYXMgYSBwZWVyIGRlcGVuZGVuY3k6IGJ1biBhZGQgQGF3cy1zZGsvY2xpZW50LXNxc2AsXG5cdFx0XHQpO1xuXHRcdH1cblx0fVxuXG5cdGFzeW5jIGRpc2Nvbm5lY3QoKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKCF0aGlzLmNvbm5lY3RlZCkgcmV0dXJuO1xuXHRcdGZvciAoY29uc3QgcnVubmVyIG9mIHRoaXMucnVubmVycy52YWx1ZXMoKSkgcnVubmVyLnN0b3AgPSB0cnVlO1xuXHRcdC8vIFdhaXQgZm9yIGluLWZsaWdodCBsb29wcyB0byBkcmFpbiDigJQgdXAgdG8gNTAwbXMgZWFjaC5cblx0XHRjb25zdCBkcmFpbkRlYWRsaW5lID0gRGF0ZS5ub3coKSArIDIwMDA7XG5cdFx0d2hpbGUgKERhdGUubm93KCkgPCBkcmFpbkRlYWRsaW5lKSB7XG5cdFx0XHRsZXQgYWN0aXZlID0gMDtcblx0XHRcdGZvciAoY29uc3QgciBvZiB0aGlzLnJ1bm5lcnMudmFsdWVzKCkpIGFjdGl2ZSArPSByLmxvb3BzO1xuXHRcdFx0aWYgKGFjdGl2ZSA9PT0gMCkgYnJlYWs7XG5cdFx0XHRhd2FpdCBuZXcgUHJvbWlzZSgocikgPT4gc2V0VGltZW91dChyLCA1MCkpO1xuXHRcdH1cblx0XHR0aGlzLnJ1bm5lcnMuY2xlYXIoKTtcblx0XHR0cnkge1xuXHRcdFx0dGhpcy5jbGllbnQ/LmRlc3Ryb3k/LigpO1xuXHRcdH0gY2F0Y2gge1xuXHRcdFx0LyogaWdub3JlICovXG5cdFx0fVxuXHRcdHRoaXMuY2xpZW50ID0gbnVsbDtcblx0XHR0aGlzLmNvbm5lY3RlZCA9IGZhbHNlO1xuXHR9XG5cblx0YXN5bmMgcHJvY2Vzcyhjb25maWc6IFdvcmtlclRyaWdnZXJPcHRzLCBoYW5kbGVyOiAoam9iOiBXb3JrZXJKb2IpID0+IFByb21pc2U8dm9pZD4pOiBQcm9taXNlPHZvaWQ+IHtcblx0XHRpZiAoIXRoaXMuY29ubmVjdGVkKSB0aHJvdyBuZXcgRXJyb3IoXCJbYmxva11bc3FzXSBub3QgY29ubmVjdGVkLiBDYWxsIGNvbm5lY3QoKSBmaXJzdC5cIik7XG5cdFx0Y29uc3QgcnVubmVyOiBRdWV1ZVJ1bm5lciA9IHsgc3RvcDogZmFsc2UsIGxvb3BzOiAwIH07XG5cdFx0dGhpcy5ydW5uZXJzLnNldChjb25maWcucXVldWUsIHJ1bm5lcik7XG5cdFx0dGhpcy5zdGF0cy5zZXQoY29uZmlnLnF1ZXVlLCB7IGNvbXBsZXRlZDogMCwgZmFpbGVkOiAwLCBhY3RpdmU6IDAgfSk7XG5cdFx0Y29uc3Qgc3RhdHMgPSB0aGlzLnN0YXRzLmdldChjb25maWcucXVldWUpIGFzIFF1ZXVlU3RhdHNDb3VudGVycztcblxuXHRcdGNvbnN0IGNvbmN1cnJlbmN5ID0gTWF0aC5tYXgoMSwgY29uZmlnLmNvbmN1cnJlbmN5ID8/IDEpO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgY29uY3VycmVuY3k7IGkgKz0gMSkge1xuXHRcdFx0dm9pZCB0aGlzLnJ1bkNvbnN1bWVyTG9vcChjb25maWcsIGhhbmRsZXIsIHJ1bm5lciwgc3RhdHMpO1xuXHRcdH1cblx0fVxuXG5cdHByaXZhdGUgYXN5bmMgcnVuQ29uc3VtZXJMb29wKFxuXHRcdGNvbmZpZzogV29ya2VyVHJpZ2dlck9wdHMsXG5cdFx0aGFuZGxlcjogKGpvYjogV29ya2VySm9iKSA9PiBQcm9taXNlPHZvaWQ+LFxuXHRcdHJ1bm5lcjogUXVldWVSdW5uZXIsXG5cdFx0c3RhdHM6IFF1ZXVlU3RhdHNDb3VudGVycyxcblx0KTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0cnVubmVyLmxvb3BzICs9IDE7XG5cdFx0dHJ5IHtcblx0XHRcdHdoaWxlICghcnVubmVyLnN0b3ApIHtcblx0XHRcdFx0bGV0IHJlc3BvbnNlOiB7IE1lc3NhZ2VzPzogU3FzTWVzc2FnZVtdIH0gPSB7fTtcblx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHRyZXNwb25zZSA9IGF3YWl0IHRoaXMuY2xpZW50LnNlbmQoXG5cdFx0XHRcdFx0XHRuZXcgdGhpcy5jb21tYW5kcy5SZWNlaXZlTWVzc2FnZUNvbW1hbmQoe1xuXHRcdFx0XHRcdFx0XHRRdWV1ZVVybDogY29uZmlnLnF1ZXVlLFxuXHRcdFx0XHRcdFx0XHRNYXhOdW1iZXJPZk1lc3NhZ2VzOiBNYXRoLm1pbigxMCwgdGhpcy5jb25maWcubWF4TnVtYmVyT2ZNZXNzYWdlcyksXG5cdFx0XHRcdFx0XHRcdFdhaXRUaW1lU2Vjb25kczogdGhpcy5jb25maWcud2FpdFRpbWVTZWNvbmRzLFxuXHRcdFx0XHRcdFx0XHRWaXNpYmlsaXR5VGltZW91dDogdHlwZW9mIGNvbmZpZy50aW1lb3V0ID09PSBcIm51bWJlclwiID8gTWF0aC5jZWlsKGNvbmZpZy50aW1lb3V0IC8gMTAwMCkgOiAzMCxcblx0XHRcdFx0XHRcdFx0QXR0cmlidXRlTmFtZXM6IFtcIkFsbFwiXSxcblx0XHRcdFx0XHRcdFx0TWVzc2FnZUF0dHJpYnV0ZU5hbWVzOiBbXCJBbGxcIl0sXG5cdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHQpO1xuXHRcdFx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdFx0XHQvLyBUcmFuc2llbnQg4oCUIGJhY2sgb2ZmIGJyaWVmbHkgdGhlbiByZXRyeS5cblx0XHRcdFx0XHRhd2FpdCBuZXcgUHJvbWlzZSgocikgPT4gc2V0VGltZW91dChyLCAxMDAwKSk7XG5cdFx0XHRcdFx0Y29udGludWU7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3QgbWVzc2FnZXMgPSByZXNwb25zZS5NZXNzYWdlcyA/PyBbXTtcblx0XHRcdFx0Zm9yIChjb25zdCBtIG9mIG1lc3NhZ2VzKSB7XG5cdFx0XHRcdFx0aWYgKHJ1bm5lci5zdG9wKSBicmVhaztcblx0XHRcdFx0XHRzdGF0cy5hY3RpdmUgKz0gMTtcblx0XHRcdFx0XHQvLyBUcmFja3Mgd2hldGhlciB0aGUgbWVzc2FnZSBoYXMgYWxyZWFkeSBiZWVuIHNldHRsZWQgdmlhXG5cdFx0XHRcdFx0Ly8gdGhlIFdvcmtlckpvYiBBUEkgKGBjb21wbGV0ZWAgLyBgZmFpbGApLiBEZWNsYXJlZCBPVVRTSURFXG5cdFx0XHRcdFx0Ly8gdGhlIHRyeSBzbyB0aGUgY2F0Y2ggYXJtIGNhbiByZWFkIGl0IGFuZCBza2lwIGl0cyBvd25cblx0XHRcdFx0XHQvLyBuYWNrL2ZhaWwgYm9va2tlZXBpbmcgd2hlbiB0aGUgaGFuZGxlciBleHBsaWNpdGx5XG5cdFx0XHRcdFx0Ly8gc2V0dGxlZC4gV2l0aG91dCB0aGlzIGZsYWcgd2UnZCBkb3VibGUtZGVsZXRlIHRoZVxuXHRcdFx0XHRcdC8vIHJlY2VpcHQgaGFuZGxlIEFORCBhIGBmYWlsKClgIGNhbGwgd291bGQgYmUgc2lsZW50bHlcblx0XHRcdFx0XHQvLyBvdmVycnVsZWQgYnkgdGhlIHdyYXBwZXIgZGVsZXRpbmcgdGhlIG1lc3NhZ2UgYW55d2F5LlxuXHRcdFx0XHRcdC8vIENhdWdodCBieSB0aGUgcmVhbC1icm9rZXIgaW50ZWdyYXRpb24gdGVzdCBpblxuXHRcdFx0XHRcdC8vIGBfX3Rlc3RzX18vaW50ZWdyYXRpb24vc3FzLWFkYXB0ZXIucmVhbC1zcXMudGVzdC50c2AuXG5cdFx0XHRcdFx0bGV0IHNldHRsZWQgPSBmYWxzZTtcblx0XHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdFx0Y29uc3QgcGF5bG9hZFN0cmluZyA9IG0uQm9keSA/PyBcIlwiO1xuXHRcdFx0XHRcdFx0bGV0IGRhdGE6IHVua25vd247XG5cdFx0XHRcdFx0XHR0cnkge1xuXHRcdFx0XHRcdFx0XHRkYXRhID0gcGF5bG9hZFN0cmluZy5sZW5ndGggPiAwID8gSlNPTi5wYXJzZShwYXlsb2FkU3RyaW5nKSA6IG51bGw7XG5cdFx0XHRcdFx0XHR9IGNhdGNoIHtcblx0XHRcdFx0XHRcdFx0ZGF0YSA9IHBheWxvYWRTdHJpbmc7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRjb25zdCBoZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cdFx0XHRcdFx0XHRmb3IgKGNvbnN0IFtrLCB2XSBvZiBPYmplY3QuZW50cmllcyhtLk1lc3NhZ2VBdHRyaWJ1dGVzID8/IHt9KSkge1xuXHRcdFx0XHRcdFx0XHRpZiAodHlwZW9mIHYuU3RyaW5nVmFsdWUgPT09IFwic3RyaW5nXCIpIGhlYWRlcnNba10gPSB2LlN0cmluZ1ZhbHVlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Y29uc3Qgam9iOiBXb3JrZXJKb2IgPSB7XG5cdFx0XHRcdFx0XHRcdGlkOiBtLk1lc3NhZ2VJZCA/PyBgJHtjb25maWcucXVldWV9OiR7dXVpZCgpfWAsXG5cdFx0XHRcdFx0XHRcdGRhdGEsXG5cdFx0XHRcdFx0XHRcdGhlYWRlcnMsXG5cdFx0XHRcdFx0XHRcdHF1ZXVlOiBjb25maWcucXVldWUsXG5cdFx0XHRcdFx0XHRcdHByaW9yaXR5OiBjb25maWcucHJpb3JpdHkgPz8gMCxcblx0XHRcdFx0XHRcdFx0YXR0ZW1wdHM6IE51bWJlci5wYXJzZUludChtLkF0dHJpYnV0ZXM/LkFwcHJveGltYXRlUmVjZWl2ZUNvdW50ID8/IFwiMVwiLCAxMCkgLSAxLFxuXHRcdFx0XHRcdFx0XHRtYXhSZXRyaWVzOiBjb25maWcucmV0cmllcyA/PyAwLFxuXHRcdFx0XHRcdFx0XHRjcmVhdGVkQXQ6IG5ldyBEYXRlKCksXG5cdFx0XHRcdFx0XHRcdHRpbWVvdXQ6IGNvbmZpZy50aW1lb3V0LFxuXHRcdFx0XHRcdFx0XHRyYXc6IG0sXG5cdFx0XHRcdFx0XHRcdGNvbXBsZXRlOiBhc3luYyAoKSA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0aWYgKHNldHRsZWQpIHJldHVybjtcblx0XHRcdFx0XHRcdFx0XHRpZiAobS5SZWNlaXB0SGFuZGxlKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRhd2FpdCB0aGlzLmNsaWVudC5zZW5kKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRuZXcgdGhpcy5jb21tYW5kcy5EZWxldGVNZXNzYWdlQ29tbWFuZCh7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0UXVldWVVcmw6IGNvbmZpZy5xdWV1ZSxcblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRSZWNlaXB0SGFuZGxlOiBtLlJlY2VpcHRIYW5kbGUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0c3RhdHMuY29tcGxldGVkICs9IDE7XG5cdFx0XHRcdFx0XHRcdFx0c2V0dGxlZCA9IHRydWU7XG5cdFx0XHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0XHRcdGZhaWw6IGFzeW5jIChfZXJyOiBFcnJvcikgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdGlmIChzZXR0bGVkKSByZXR1cm47XG5cdFx0XHRcdFx0XHRcdFx0c3RhdHMuZmFpbGVkICs9IDE7XG5cdFx0XHRcdFx0XHRcdFx0Ly8gTm8gRGVsZXRlTWVzc2FnZSBjYWxsIOKAlCB2aXNpYmlsaXR5IHRpbWVvdXRcblx0XHRcdFx0XHRcdFx0XHQvLyBleHBpcmVzIGFuZCBTUVMgcmV0dXJucyB0aGUgbWVzc2FnZSB0byB0aGVcblx0XHRcdFx0XHRcdFx0XHQvLyBxdWV1ZSBhdXRvbWF0aWNhbGx5LiBETFEgdGFrZW92ZXIgaGFwcGVucyB2aWFcblx0XHRcdFx0XHRcdFx0XHQvLyB0aGUgcXVldWUncyBSZWRyaXZlUG9saWN5ICsgTWF4UmVjZWl2ZUNvdW50LlxuXHRcdFx0XHRcdFx0XHRcdHNldHRsZWQgPSB0cnVlO1xuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0fTtcblx0XHRcdFx0XHRcdGF3YWl0IGhhbmRsZXIoam9iKTtcblx0XHRcdFx0XHRcdGlmICghc2V0dGxlZCAmJiBjb25maWcuYWNrICE9PSBmYWxzZSAmJiBtLlJlY2VpcHRIYW5kbGUpIHtcblx0XHRcdFx0XHRcdFx0YXdhaXQgdGhpcy5jbGllbnQuc2VuZChcblx0XHRcdFx0XHRcdFx0XHRuZXcgdGhpcy5jb21tYW5kcy5EZWxldGVNZXNzYWdlQ29tbWFuZCh7IFF1ZXVlVXJsOiBjb25maWcucXVldWUsIFJlY2VpcHRIYW5kbGU6IG0uUmVjZWlwdEhhbmRsZSB9KSxcblx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0c3RhdHMuY29tcGxldGVkICs9IDE7XG5cdFx0XHRcdFx0XHRcdHNldHRsZWQgPSB0cnVlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0gY2F0Y2gge1xuXHRcdFx0XHRcdFx0aWYgKCFzZXR0bGVkKSB7XG5cdFx0XHRcdFx0XHRcdHN0YXRzLmZhaWxlZCArPSAxO1xuXHRcdFx0XHRcdFx0XHQvLyBMZWF2ZSB0aGUgbWVzc2FnZSBpbiBmbGlnaHQg4oCUIFNRUyB2aXNpYmlsaXR5XG5cdFx0XHRcdFx0XHRcdC8vIHRpbWVvdXQgZXhwaXJ5IHJldHVybnMgaXQgdG8gdGhlIHF1ZXVlLlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0gZmluYWxseSB7XG5cdFx0XHRcdFx0XHRzdGF0cy5hY3RpdmUgPSBNYXRoLm1heCgwLCBzdGF0cy5hY3RpdmUgLSAxKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9IGZpbmFsbHkge1xuXHRcdFx0cnVubmVyLmxvb3BzIC09IDE7XG5cdFx0fVxuXHR9XG5cblx0YXN5bmMgYWRkSm9iKFxuXHRcdHF1ZXVlOiBzdHJpbmcsXG5cdFx0ZGF0YTogdW5rbm93bixcblx0XHRvcHRzPzogeyBwcmlvcml0eT86IG51bWJlcjsgZGVsYXk/OiBudW1iZXI7IHJldHJpZXM/OiBudW1iZXI7IHRpbWVvdXQ/OiBudW1iZXI7IGpvYklkPzogc3RyaW5nIH0sXG5cdCk6IFByb21pc2U8c3RyaW5nPiB7XG5cdFx0aWYgKCF0aGlzLmNvbm5lY3RlZCkgdGhyb3cgbmV3IEVycm9yKFwiW2Jsb2tdW3Nxc10gbm90IGNvbm5lY3RlZC4gQ2FsbCBjb25uZWN0KCkgZmlyc3QuXCIpO1xuXHRcdGNvbnN0IG1lc3NhZ2VJZCA9IG9wdHM/LmpvYklkID8/IHV1aWQoKTtcblx0XHRjb25zdCBpc0ZpZm8gPSBxdWV1ZS5lbmRzV2l0aChcIi5maWZvXCIpO1xuXHRcdGNvbnN0IHBhcmFtczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7XG5cdFx0XHRRdWV1ZVVybDogcXVldWUsXG5cdFx0XHRNZXNzYWdlQm9keTogdHlwZW9mIGRhdGEgPT09IFwic3RyaW5nXCIgPyBkYXRhIDogSlNPTi5zdHJpbmdpZnkoZGF0YSksXG5cdFx0fTtcblx0XHRpZiAoaXNGaWZvKSB7XG5cdFx0XHRwYXJhbXMuTWVzc2FnZUdyb3VwSWQgPSBvcHRzPy5qb2JJZCA/PyBcImRlZmF1bHRcIjtcblx0XHRcdHBhcmFtcy5NZXNzYWdlRGVkdXBsaWNhdGlvbklkID0gbWVzc2FnZUlkO1xuXHRcdH1cblx0XHRpZiAodHlwZW9mIG9wdHM/LmRlbGF5ID09PSBcIm51bWJlclwiICYmIG9wdHMuZGVsYXkgPiAwKSB7XG5cdFx0XHRwYXJhbXMuRGVsYXlTZWNvbmRzID0gTWF0aC5taW4oOTAwLCBNYXRoLmNlaWwob3B0cy5kZWxheSAvIDEwMDApKTtcblx0XHR9XG5cdFx0Y29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jbGllbnQuc2VuZChuZXcgdGhpcy5jb21tYW5kcy5TZW5kTWVzc2FnZUNvbW1hbmQocGFyYW1zKSk7XG5cdFx0cmV0dXJuIChyZXN1bHQuTWVzc2FnZUlkIGFzIHN0cmluZykgPz8gbWVzc2FnZUlkO1xuXHR9XG5cblx0YXN5bmMgc3RvcFByb2Nlc3NpbmcocXVldWU6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGNvbnN0IHJ1bm5lciA9IHRoaXMucnVubmVycy5nZXQocXVldWUpO1xuXHRcdGlmIChydW5uZXIpIHJ1bm5lci5zdG9wID0gdHJ1ZTtcblx0fVxuXG5cdGlzQ29ubmVjdGVkKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmNvbm5lY3RlZDtcblx0fVxuXG5cdGFzeW5jIGhlYWx0aENoZWNrKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuXHRcdGlmICghdGhpcy5jb25uZWN0ZWQpIHJldHVybiBmYWxzZTtcblx0XHR0cnkge1xuXHRcdFx0Ly8gTGlzdFF1ZXVlcyBpcyBhIGNoZWFwIHBlcm1pc3Npb24gcHJvYmUuXG5cdFx0XHRhd2FpdCB0aGlzLmNsaWVudC5zZW5kKG5ldyB0aGlzLmNvbW1hbmRzLkxpc3RRdWV1ZXNDb21tYW5kKHsgTWF4UmVzdWx0czogMSB9KSk7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9IGNhdGNoIHtcblx0XHRcdHJldHVybiBmYWxzZTtcblx0XHR9XG5cdH1cblxuXHRhc3luYyBnZXRRdWV1ZVN0YXRzKHF1ZXVlOiBzdHJpbmcpOiBQcm9taXNlPFdvcmtlclF1ZXVlU3RhdHM+IHtcblx0XHRjb25zdCBjb3VudGVycyA9IHRoaXMuc3RhdHMuZ2V0KHF1ZXVlKSA/PyB7IGNvbXBsZXRlZDogMCwgZmFpbGVkOiAwLCBhY3RpdmU6IDAgfTtcblx0XHRsZXQgd2FpdGluZyA9IDA7XG5cdFx0bGV0IGRlbGF5ZWQgPSAwO1xuXHRcdHRyeSB7XG5cdFx0XHRjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNsaWVudC5zZW5kKFxuXHRcdFx0XHRuZXcgdGhpcy5jb21tYW5kcy5HZXRRdWV1ZUF0dHJpYnV0ZXNDb21tYW5kKHtcblx0XHRcdFx0XHRRdWV1ZVVybDogcXVldWUsXG5cdFx0XHRcdFx0QXR0cmlidXRlTmFtZXM6IFtcIkFwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc1wiLCBcIkFwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlc0RlbGF5ZWRcIl0sXG5cdFx0XHRcdH0pLFxuXHRcdFx0KTtcblx0XHRcdHdhaXRpbmcgPSBOdW1iZXIucGFyc2VJbnQocmVzdWx0LkF0dHJpYnV0ZXM/LkFwcHJveGltYXRlTnVtYmVyT2ZNZXNzYWdlcyA/PyBcIjBcIiwgMTApO1xuXHRcdFx0ZGVsYXllZCA9IE51bWJlci5wYXJzZUludChyZXN1bHQuQXR0cmlidXRlcz8uQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzRGVsYXllZCA/PyBcIjBcIiwgMTApO1xuXHRcdH0gY2F0Y2gge1xuXHRcdFx0LyogaWdub3JlICovXG5cdFx0fVxuXHRcdHJldHVybiB7XG5cdFx0XHR3YWl0aW5nLFxuXHRcdFx0YWN0aXZlOiBjb3VudGVycy5hY3RpdmUsXG5cdFx0XHRjb21wbGV0ZWQ6IGNvdW50ZXJzLmNvbXBsZXRlZCxcblx0XHRcdGZhaWxlZDogY291bnRlcnMuZmFpbGVkLFxuXHRcdFx0ZGVsYXllZCxcblx0XHR9O1xuXHR9XG59XG4iXX0=
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU1FTQWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZGFwdGVycy9TUVNBZGFwdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EyQkc7QUFHSCxPQUFPLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQTZCbEMsTUFBTSxPQUFPLFVBQVU7SUFDYixRQUFRLEdBQUcsS0FBYyxDQUFDO0lBQ2xCLE1BQU0sQ0FBWTtJQUNuQyxvR0FBb0c7SUFDNUYsTUFBTSxHQUFRLElBQUksQ0FBQztJQUMzQiw2REFBNkQ7SUFDckQsUUFBUSxHQUFRLElBQUksQ0FBQztJQUNyQixPQUFPLEdBQTZCLElBQUksR0FBRyxFQUFFLENBQUM7SUFDOUMsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixLQUFLLEdBQW9DLElBQUksR0FBRyxFQUFFLENBQUM7SUFFM0QsWUFBWSxNQUEyQjtRQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHO1lBQ2IsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLElBQUksV0FBVztZQUMvRCxRQUFRLEVBQUUsTUFBTSxFQUFFLFFBQVEsSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLGdCQUFnQjtZQUMxRCxlQUFlLEVBQUUsTUFBTSxFQUFFLGVBQWUsSUFBSSxFQUFFO1lBQzlDLG1CQUFtQixFQUFFLE1BQU0sRUFBRSxtQkFBbUIsSUFBSSxFQUFFO1NBQ3RELENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU87UUFDWixJQUFJLElBQUksQ0FBQyxTQUFTO1lBQUUsT0FBTztRQUMzQixJQUFJLENBQUM7WUFDSix1REFBdUQ7WUFDdkQsTUFBTSxHQUFHLEdBQVEsTUFBTSxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUks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LEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNyRixPQUFPLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFLGtDQUFrQyxJQUFJLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3RixDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1IsWUFBWTtRQUNiLENBQUM7UUFDRCxPQUFPO1lBQ04sT0FBTztZQUNQLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTTtZQUN2QixTQUFTLEVBQUUsUUFBUSxDQUFDLFNBQVM7WUFDN0IsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO1lBQ3ZCLE9BQU87U0FDUCxDQUFDO0lBQ0gsQ0FBQztDQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBTUVNBZGFwdGVyIOKAlCB2MC43IFBSIDUg4oCUIFdvcmtlciBhZGFwdGVyIGJhY2tlZCBieSBBV1MgU1FTIHZpYVxuICogYEBhd3Mtc2RrL2NsaWVudC1zcXNgLiBQb2xscyBhIHF1ZXVlIFVSTCAodGhlIGBxdWV1ZWAgZmllbGQpIHdpdGhcbiAqIGxvbmctcG9sbGluZzsgcHJvY2Vzc2VzIG1lc3NhZ2VzIHdpdGggbWFudWFsIGRlbGV0ZSAoQUNLKS5cbiAqXG4gKiBTZW1hbnRpY3M6XG4gKiAgIC0gKipMb25nIHBvbGxpbmcqKjogYFdhaXRUaW1lU2Vjb25kcz0yMGAgYnkgZGVmYXVsdCDigJQgbWluaW1pc2VzXG4gKiAgICAgcG9sbCBjb3N0LiBgY29uY3VycmVuY3lgIGNvbnRyb2xzIGhvdyBtYW55IHBhcmFsbGVsXG4gKiAgICAgYFJlY2VpdmVNZXNzYWdlYCBsb29wcyBydW4uXG4gKiAgIC0gKipWaXNpYmlsaXR5IHRpbWVvdXQqKjogY29uZmlndXJlZCB2aWEgYHRpbWVvdXRgIChtcyDihpIgcykuXG4gKiAgICAgTWVzc2FnZXMgcmVhcHBlYXIgYWZ0ZXIgdGhpcyBpZiB0aGUgd29ya2VyIGRvZXNuJ3QgZGVsZXRlIHRoZW0uXG4gKiAgIC0gKipSZXRyaWVzKio6IFNRUyBoYW5kbGVzIHJldHJpZXMgYXV0b21hdGljYWxseSB2aWEgcmVkcml2ZVxuICogICAgIHBvbGljeSBvbiB0aGUgcXVldWUgaXRzZWxmLiBUaGUgYWRhcHRlciBkb2Vzbid0IHNpbXVsYXRlXG4gKiAgICAgcmV0cmllcyBjbGllbnQtc2lkZSDigJQgc2V0IGBNYXhSZWNlaXZlQ291bnRgIG9uIHRoZSBxdWV1ZSdzXG4gKiAgICAgcmVkcml2ZSBwb2xpY3kgYW5kIGEgRExRIHZpYSBgZGVhZExldHRlclF1ZXVlYC5cbiAqICAgLSAqKkZJRk8gc3VwcG9ydCoqOiB3aGVuIHRoZSBxdWV1ZSBVUkwgZW5kcyB3aXRoIGAuZmlmb2AsIHRoZVxuICogICAgIGFkYXB0ZXIgcGFzc2VzIGBNZXNzYWdlR3JvdXBJZGAgZnJvbSBgZGVkdXBJZGAgb3IgYSBkZWZhdWx0LlxuICpcbiAqIFJlcXVpcmVzIGBAYXdzLXNkay9jbGllbnQtc3FzYCBhcyBhIHBlZXIgZGVwZW5kZW5jeTpcbiAqXG4gKiAgICAgYnVuIGFkZCBAYXdzLXNkay9jbGllbnQtc3FzXG4gKlxuICogRW52aXJvbm1lbnQgdmFyaWFibGVzIChzdGFuZGFyZCBBV1MgU0RLKTpcbiAqICAgLSBgQVdTX1JFR0lPTmAgICAgICAgICAgICAgIOKAlCBkZWZhdWx0IGB1cy1lYXN0LTFgLlxuICogICAtIGBBV1NfQUNDRVNTX0tFWV9JRGAgICAgICAg4oCUIGNyZWRlbnRpYWxzIChvciB1c2UgYSBwcm9maWxlKS5cbiAqICAgLSBgQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZYFxuICogICAtIGBTUVNfRU5EUE9JTlRfVVJMYCAgICAgICAg4oCUIGZvciBsb2NhbCBTUVMgKExvY2FsU3RhY2sgLyBFbGFzdGljTVEpLlxuICovXG5cbmltcG9ydCB0eXBlIHsgV29ya2VyVHJpZ2dlck9wdHMgfSBmcm9tIFwiQGJsb2tqcy9oZWxwZXJcIjtcbmltcG9ydCB7IHY0IGFzIHV1aWQgfSBmcm9tIFwidXVpZFwiO1xuaW1wb3J0IHR5cGUgeyBXb3JrZXJBZGFwdGVyLCBXb3JrZXJKb2IsIFdvcmtlclF1ZXVlU3RhdHMgfSBmcm9tIFwiLi4vV29ya2VyVHJpZ2dlclwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNRU0NvbmZpZyB7XG5cdHJlZ2lvbjogc3RyaW5nO1xuXHRlbmRwb2ludD86IHN0cmluZztcblx0d2FpdFRpbWVTZWNvbmRzOiBudW1iZXI7XG5cdG1heE51bWJlck9mTWVzc2FnZXM6IG51bWJlcjtcbn1cblxuaW50ZXJmYWNlIFNxc01lc3NhZ2Uge1xuXHRNZXNzYWdlSWQ/OiBzdHJpbmc7XG5cdFJlY2VpcHRIYW5kbGU/OiBzdHJpbmc7XG5cdEJvZHk/OiBzdHJpbmc7XG5cdEF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuXHRNZXNzYWdlQXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHsgU3RyaW5nVmFsdWU/OiBzdHJpbmcgfT47XG59XG5cbmludGVyZmFjZSBRdWV1ZVJ1bm5lciB7XG5cdHN0b3A6IGJvb2xlYW47XG5cdGxvb3BzOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBRdWV1ZVN0YXRzQ291bnRlcnMge1xuXHRjb21wbGV0ZWQ6IG51bWJlcjtcblx0ZmFpbGVkOiBudW1iZXI7XG5cdGFjdGl2ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgU1FTQWRhcHRlciBpbXBsZW1lbnRzIFdvcmtlckFkYXB0ZXIge1xuXHRyZWFkb25seSBwcm92aWRlciA9IFwic3FzXCIgYXMgY29uc3Q7XG5cdHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBTUVNDb25maWc7XG5cdC8vIGJpb21lLWlnbm9yZSBsaW50L3N1c3BpY2lvdXMvbm9FeHBsaWNpdEFueTogQGF3cy1zZGsvY2xpZW50LXNxcyBjbGllbnQgKyBjb21tYW5kIHR5cGVzIGFyZSBsb29zZS5cblx0cHJpdmF0ZSBjbGllbnQ6IGFueSA9IG51bGw7XG5cdC8vIGJpb21lLWlnbm9yZSBsaW50L3N1c3BpY2lvdXMvbm9FeHBsaWNpdEFueTogc2FtZSBhcyBhYm92ZS5cblx0cHJpdmF0ZSBjb21tYW5kczogYW55ID0gbnVsbDtcblx0cHJpdmF0ZSBydW5uZXJzOiBNYXA8c3RyaW5nLCBRdWV1ZVJ1bm5lcj4gPSBuZXcgTWFwKCk7XG5cdHByaXZhdGUgY29ubmVjdGVkID0gZmFsc2U7XG5cdHByaXZhdGUgc3RhdHM6IE1hcDxzdHJpbmcsIFF1ZXVlU3RhdHNDb3VudGVycz4gPSBuZXcgTWFwKCk7XG5cblx0Y29uc3RydWN0b3IoY29uZmlnPzogUGFydGlhbDxTUVNDb25maWc+KSB7XG5cdFx0dGhpcy5jb25maWcgPSB7XG5cdFx0XHRyZWdpb246IGNvbmZpZz8ucmVnaW9uID8/IHByb2Nlc3MuZW52LkFXU19SRUdJT04gPz8gXCJ1cy1lYXN0LTFcIixcblx0XHRcdGVuZHBvaW50OiBjb25maWc/LmVuZHBvaW50ID8/IHByb2Nlc3MuZW52LlNRU19FTkRQT0lOVF9VUkwsXG5cdFx0XHR3YWl0VGltZVNlY29uZHM6IGNvbmZpZz8ud2FpdFRpbWVTZWNvbmRzID8/IDIwLFxuXHRcdFx0bWF4TnVtYmVyT2ZNZXNzYWdlczogY29uZmlnPy5tYXhOdW1iZXJPZk1lc3NhZ2VzID8/IDEwLFxuXHRcdH07XG5cdH1cblxuXHRhc3luYyBjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICh0aGlzLmNvbm5lY3RlZCkgcmV0dXJuO1xuXHRcdHRyeSB7XG5cdFx0XHQvLyBiaW9tZS1pZ25vcmUgbGludC9zdXNwaWNpb3VzL25vRXhwbGljaXRBbnk6IHBlZXIgZGVwXG5cdFx0XHRjb25zdCBzZGs6IGFueSA9IGF3YWl0IGltcG9ydChcIkBhd3Mtc2RrL2NsaWVudC1zcXNcIik7XG5cdFx0XHR0aGlzLmNsaWVudCA9IG5ldyBzZGsuU1FTQ2xpZW50KHsgcmVnaW9uOiB0aGlzLmNvbmZpZy5yZWdpb24sIGVuZHBvaW50OiB0aGlzLmNvbmZpZy5lbmRwb2ludCB9KTtcblx0XHRcdHRoaXMuY29tbWFuZHMgPSBzZGs7XG5cdFx0XHR0aGlzLmNvbm5lY3RlZCA9IHRydWU7XG5cdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRcdGBbYmxva11bc3FzXSBjb25uZWN0IGZhaWxlZDogJHsoZXJyIGFzIEVycm9yKS5tZXNzYWdlfS4gSW5zdGFsbCBAYXdzLXNkay9jbGllbnQtc3FzIGFzIGEgcGVlciBkZXBlbmRlbmN5OiBidW4gYWRkIEBhd3Mtc2RrL2NsaWVudC1zcXNgLFxuXHRcdFx0KTtcblx0XHR9XG5cdH1cblxuXHRhc3luYyBkaXNjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdGlmICghdGhpcy5jb25uZWN0ZWQpIHJldHVybjtcblx0XHRmb3IgKGNvbnN0IHJ1bm5lciBvZiB0aGlzLnJ1bm5lcnMudmFsdWVzKCkpIHJ1bm5lci5zdG9wID0gdHJ1ZTtcblx0XHQvLyBXYWl0IGZvciBpbi1mbGlnaHQgbG9vcHMgdG8gZHJhaW4g4oCUIHVwIHRvIDUwMG1zIGVhY2guXG5cdFx0Y29uc3QgZHJhaW5EZWFkbGluZSA9IERhdGUubm93KCkgKyAyMDAwO1xuXHRcdHdoaWxlIChEYXRlLm5vdygpIDwgZHJhaW5EZWFkbGluZSkge1xuXHRcdFx0bGV0IGFjdGl2ZSA9IDA7XG5cdFx0XHRmb3IgKGNvbnN0IHIgb2YgdGhpcy5ydW5uZXJzLnZhbHVlcygpKSBhY3RpdmUgKz0gci5sb29wcztcblx0XHRcdGlmIChhY3RpdmUgPT09IDApIGJyZWFrO1xuXHRcdFx0YXdhaXQgbmV3IFByb21pc2UoKHIpID0+IHNldFRpbWVvdXQociwgNTApKTtcblx0XHR9XG5cdFx0dGhpcy5ydW5uZXJzLmNsZWFyKCk7XG5cdFx0dHJ5IHtcblx0XHRcdHRoaXMuY2xpZW50Py5kZXN0cm95Py4oKTtcblx0XHR9IGNhdGNoIHtcblx0XHRcdC8qIGlnbm9yZSAqL1xuXHRcdH1cblx0XHR0aGlzLmNsaWVudCA9IG51bGw7XG5cdFx0dGhpcy5jb25uZWN0ZWQgPSBmYWxzZTtcblx0fVxuXG5cdGFzeW5jIHByb2Nlc3MoY29uZmlnOiBXb3JrZXJUcmlnZ2VyT3B0cywgaGFuZGxlcjogKGpvYjogV29ya2VySm9iKSA9PiBQcm9taXNlPHZvaWQ+KTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0aWYgKCF0aGlzLmNvbm5lY3RlZCkgdGhyb3cgbmV3IEVycm9yKFwiW2Jsb2tdW3Nxc10gbm90IGNvbm5lY3RlZC4gQ2FsbCBjb25uZWN0KCkgZmlyc3QuXCIpO1xuXHRcdGNvbnN0IHJ1bm5lcjogUXVldWVSdW5uZXIgPSB7IHN0b3A6IGZhbHNlLCBsb29wczogMCB9O1xuXHRcdHRoaXMucnVubmVycy5zZXQoY29uZmlnLnF1ZXVlLCBydW5uZXIpO1xuXHRcdHRoaXMuc3RhdHMuc2V0KGNvbmZpZy5xdWV1ZSwgeyBjb21wbGV0ZWQ6IDAsIGZhaWxlZDogMCwgYWN0aXZlOiAwIH0pO1xuXHRcdGNvbnN0IHN0YXRzID0gdGhpcy5zdGF0cy5nZXQoY29uZmlnLnF1ZXVlKSBhcyBRdWV1ZVN0YXRzQ291bnRlcnM7XG5cblx0XHRjb25zdCBjb25jdXJyZW5jeSA9IE1hdGgubWF4KDEsIGNvbmZpZy5jb25jdXJyZW5jeSA/PyAxKTtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGNvbmN1cnJlbmN5OyBpICs9IDEpIHtcblx0XHRcdHZvaWQgdGhpcy5ydW5Db25zdW1lckxvb3AoY29uZmlnLCBoYW5kbGVyLCBydW5uZXIsIHN0YXRzKTtcblx0XHR9XG5cdH1cblxuXHRwcml2YXRlIGFzeW5jIHJ1bkNvbnN1bWVyTG9vcChcblx0XHRjb25maWc6IFdvcmtlclRyaWdnZXJPcHRzLFxuXHRcdGhhbmRsZXI6IChqb2I6IFdvcmtlckpvYikgPT4gUHJvbWlzZTx2b2lkPixcblx0XHRydW5uZXI6IFF1ZXVlUnVubmVyLFxuXHRcdHN0YXRzOiBRdWV1ZVN0YXRzQ291bnRlcnMsXG5cdCk6IFByb21pc2U8dm9pZD4ge1xuXHRcdHJ1bm5lci5sb29wcyArPSAxO1xuXHRcdHRyeSB7XG5cdFx0XHR3aGlsZSAoIXJ1bm5lci5zdG9wKSB7XG5cdFx0XHRcdGxldCByZXNwb25zZTogeyBNZXNzYWdlcz86IFNxc01lc3NhZ2VbXSB9ID0ge307XG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0cmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNsaWVudC5zZW5kKFxuXHRcdFx0XHRcdFx0bmV3IHRoaXMuY29tbWFuZHMuUmVjZWl2ZU1lc3NhZ2VDb21tYW5kKHtcblx0XHRcdFx0XHRcdFx0UXVldWVVcmw6IGNvbmZpZy5xdWV1ZSxcblx0XHRcdFx0XHRcdFx0TWF4TnVtYmVyT2ZNZXNzYWdlczogTWF0aC5taW4oMTAsIHRoaXMuY29uZmlnLm1heE51bWJlck9mTWVzc2FnZXMpLFxuXHRcdFx0XHRcdFx0XHRXYWl0VGltZVNlY29uZHM6IHRoaXMuY29uZmlnLndhaXRUaW1lU2Vjb25kcyxcblx0XHRcdFx0XHRcdFx0VmlzaWJpbGl0eVRpbWVvdXQ6IHR5cGVvZiBjb25maWcudGltZW91dCA9PT0gXCJudW1iZXJcIiA/IE1hdGguY2VpbChjb25maWcudGltZW91dCAvIDEwMDApIDogMzAsXG5cdFx0XHRcdFx0XHRcdEF0dHJpYnV0ZU5hbWVzOiBbXCJBbGxcIl0sXG5cdFx0XHRcdFx0XHRcdE1lc3NhZ2VBdHRyaWJ1dGVOYW1lczogW1wiQWxsXCJdLFxuXHRcdFx0XHRcdFx0fSksXG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHRcdFx0Ly8gVHJhbnNpZW50IOKAlCBiYWNrIG9mZiBicmllZmx5IHRoZW4gcmV0cnkuXG5cdFx0XHRcdFx0YXdhaXQgbmV3IFByb21pc2UoKHIpID0+IHNldFRpbWVvdXQociwgMTAwMCkpO1xuXHRcdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGNvbnN0IG1lc3NhZ2VzID0gcmVzcG9uc2UuTWVzc2FnZXMgPz8gW107XG5cdFx0XHRcdGZvciAoY29uc3QgbSBvZiBtZXNzYWdlcykge1xuXHRcdFx0XHRcdGlmIChydW5uZXIuc3RvcCkgYnJlYWs7XG5cdFx0XHRcdFx0c3RhdHMuYWN0aXZlICs9IDE7XG5cdFx0XHRcdFx0Ly8gVHJhY2tzIHdoZXRoZXIgdGhlIG1lc3NhZ2UgaGFzIGFscmVhZHkgYmVlbiBzZXR0bGVkIHZpYVxuXHRcdFx0XHRcdC8vIHRoZSBXb3JrZXJKb2IgQVBJIChgY29tcGxldGVgIC8gYGZhaWxgKS4gRGVjbGFyZWQgT1VUU0lERVxuXHRcdFx0XHRcdC8vIHRoZSB0cnkgc28gdGhlIGNhdGNoIGFybSBjYW4gcmVhZCBpdCBhbmQgc2tpcCBpdHMgb3duXG5cdFx0XHRcdFx0Ly8gbmFjay9mYWlsIGJvb2trZWVwaW5nIHdoZW4gdGhlIGhhbmRsZXIgZXhwbGljaXRseVxuXHRcdFx0XHRcdC8vIHNldHRsZWQuIFdpdGhvdXQgdGhpcyBmbGFnIHdlJ2QgZG91YmxlLWRlbGV0ZSB0aGVcblx0XHRcdFx0XHQvLyByZWNlaXB0IGhhbmRsZSBBTkQgYSBgZmFpbCgpYCBjYWxsIHdvdWxkIGJlIHNpbGVudGx5XG5cdFx0XHRcdFx0Ly8gb3ZlcnJ1bGVkIGJ5IHRoZSB3cmFwcGVyIGRlbGV0aW5nIHRoZSBtZXNzYWdlIGFueXdheS5cblx0XHRcdFx0XHQvLyBDYXVnaHQgYnkgdGhlIHJlYWwtYnJva2VyIGludGVncmF0aW9uIHRlc3QgaW5cblx0XHRcdFx0XHQvLyBgX190ZXN0c19fL2ludGVncmF0aW9uL3Nxcy1hZGFwdGVyLnJlYWwtc3FzLnRlc3QudHNgLlxuXHRcdFx0XHRcdGxldCBzZXR0bGVkID0gZmFsc2U7XG5cdFx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHRcdGNvbnN0IHBheWxvYWRTdHJpbmcgPSBtLkJvZHkgPz8gXCJcIjtcblx0XHRcdFx0XHRcdGxldCBkYXRhOiB1bmtub3duO1xuXHRcdFx0XHRcdFx0dHJ5IHtcblx0XHRcdFx0XHRcdFx0ZGF0YSA9IHBheWxvYWRTdHJpbmcubGVuZ3RoID4gMCA/IEpTT04ucGFyc2UocGF5bG9hZFN0cmluZykgOiBudWxsO1xuXHRcdFx0XHRcdFx0fSBjYXRjaCB7XG5cdFx0XHRcdFx0XHRcdGRhdGEgPSBwYXlsb2FkU3RyaW5nO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0Y29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXHRcdFx0XHRcdFx0Zm9yIChjb25zdCBbaywgdl0gb2YgT2JqZWN0LmVudHJpZXMobS5NZXNzYWdlQXR0cmlidXRlcyA/PyB7fSkpIHtcblx0XHRcdFx0XHRcdFx0aWYgKHR5cGVvZiB2LlN0cmluZ1ZhbHVlID09PSBcInN0cmluZ1wiKSBoZWFkZXJzW2tdID0gdi5TdHJpbmdWYWx1ZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdGNvbnN0IGpvYjogV29ya2VySm9iID0ge1xuXHRcdFx0XHRcdFx0XHRpZDogbS5NZXNzYWdlSWQgPz8gYCR7Y29uZmlnLnF1ZXVlfToke3V1aWQoKX1gLFxuXHRcdFx0XHRcdFx0XHRkYXRhLFxuXHRcdFx0XHRcdFx0XHRoZWFkZXJzLFxuXHRcdFx0XHRcdFx0XHRxdWV1ZTogY29uZmlnLnF1ZXVlLFxuXHRcdFx0XHRcdFx0XHRwcmlvcml0eTogY29uZmlnLnByaW9yaXR5ID8/IDAsXG5cdFx0XHRcdFx0XHRcdGF0dGVtcHRzOiBOdW1iZXIucGFyc2VJbnQobS5BdHRyaWJ1dGVzPy5BcHByb3hpbWF0ZVJlY2VpdmVDb3VudCA/PyBcIjFcIiwgMTApIC0gMSxcblx0XHRcdFx0XHRcdFx0bWF4UmV0cmllczogY29uZmlnLnJldHJpZXMgPz8gMCxcblx0XHRcdFx0XHRcdFx0Y3JlYXRlZEF0OiBuZXcgRGF0ZSgpLFxuXHRcdFx0XHRcdFx0XHR0aW1lb3V0OiBjb25maWcudGltZW91dCxcblx0XHRcdFx0XHRcdFx0cmF3OiBtLFxuXHRcdFx0XHRcdFx0XHRjb21wbGV0ZTogYXN5bmMgKCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdGlmIChzZXR0bGVkKSByZXR1cm47XG5cdFx0XHRcdFx0XHRcdFx0aWYgKG0uUmVjZWlwdEhhbmRsZSkge1xuXHRcdFx0XHRcdFx0XHRcdFx0YXdhaXQgdGhpcy5jbGllbnQuc2VuZChcblx0XHRcdFx0XHRcdFx0XHRcdFx0bmV3IHRoaXMuY29tbWFuZHMuRGVsZXRlTWVzc2FnZUNvbW1hbmQoe1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFF1ZXVlVXJsOiBjb25maWcucXVldWUsXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0UmVjZWlwdEhhbmRsZTogbS5SZWNlaXB0SGFuZGxlLFxuXHRcdFx0XHRcdFx0XHRcdFx0XHR9KSxcblx0XHRcdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHRcdHN0YXRzLmNvbXBsZXRlZCArPSAxO1xuXHRcdFx0XHRcdFx0XHRcdHNldHRsZWQgPSB0cnVlO1xuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRmYWlsOiBhc3luYyAoX2VycjogRXJyb3IpID0+IHtcblx0XHRcdFx0XHRcdFx0XHRpZiAoc2V0dGxlZCkgcmV0dXJuO1xuXHRcdFx0XHRcdFx0XHRcdHN0YXRzLmZhaWxlZCArPSAxO1xuXHRcdFx0XHRcdFx0XHRcdC8vIE5vIERlbGV0ZU1lc3NhZ2UgY2FsbCDigJQgdmlzaWJpbGl0eSB0aW1lb3V0XG5cdFx0XHRcdFx0XHRcdFx0Ly8gZXhwaXJlcyBhbmQgU1FTIHJldHVybnMgdGhlIG1lc3NhZ2UgdG8gdGhlXG5cdFx0XHRcdFx0XHRcdFx0Ly8gcXVldWUgYXV0b21hdGljYWxseS4gRExRIHRha2VvdmVyIGhhcHBlbnMgdmlhXG5cdFx0XHRcdFx0XHRcdFx0Ly8gdGhlIHF1ZXVlJ3MgUmVkcml2ZVBvbGljeSArIE1heFJlY2VpdmVDb3VudC5cblx0XHRcdFx0XHRcdFx0XHRzZXR0bGVkID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHRhd2FpdCBoYW5kbGVyKGpvYik7XG5cdFx0XHRcdFx0XHRpZiAoIXNldHRsZWQgJiYgY29uZmlnLmFjayAhPT0gZmFsc2UgJiYgbS5SZWNlaXB0SGFuZGxlKSB7XG5cdFx0XHRcdFx0XHRcdGF3YWl0IHRoaXMuY2xpZW50LnNlbmQoXG5cdFx0XHRcdFx0XHRcdFx0bmV3IHRoaXMuY29tbWFuZHMuRGVsZXRlTWVzc2FnZUNvbW1hbmQoeyBRdWV1ZVVybDogY29uZmlnLnF1ZXVlLCBSZWNlaXB0SGFuZGxlOiBtLlJlY2VpcHRIYW5kbGUgfSksXG5cdFx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0XHRcdHN0YXRzLmNvbXBsZXRlZCArPSAxO1xuXHRcdFx0XHRcdFx0XHRzZXR0bGVkID0gdHJ1ZTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9IGNhdGNoIHtcblx0XHRcdFx0XHRcdGlmICghc2V0dGxlZCkge1xuXHRcdFx0XHRcdFx0XHRzdGF0cy5mYWlsZWQgKz0gMTtcblx0XHRcdFx0XHRcdFx0Ly8gTGVhdmUgdGhlIG1lc3NhZ2UgaW4gZmxpZ2h0IOKAlCBTUVMgdmlzaWJpbGl0eVxuXHRcdFx0XHRcdFx0XHQvLyB0aW1lb3V0IGV4cGlyeSByZXR1cm5zIGl0IHRvIHRoZSBxdWV1ZS5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9IGZpbmFsbHkge1xuXHRcdFx0XHRcdFx0c3RhdHMuYWN0aXZlID0gTWF0aC5tYXgoMCwgc3RhdHMuYWN0aXZlIC0gMSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBmaW5hbGx5IHtcblx0XHRcdHJ1bm5lci5sb29wcyAtPSAxO1xuXHRcdH1cblx0fVxuXG5cdGFzeW5jIGFkZEpvYihcblx0XHRxdWV1ZTogc3RyaW5nLFxuXHRcdGRhdGE6IHVua25vd24sXG5cdFx0b3B0cz86IHsgcHJpb3JpdHk/OiBudW1iZXI7IGRlbGF5PzogbnVtYmVyOyByZXRyaWVzPzogbnVtYmVyOyB0aW1lb3V0PzogbnVtYmVyOyBqb2JJZD86IHN0cmluZyB9LFxuXHQpOiBQcm9taXNlPHN0cmluZz4ge1xuXHRcdGlmICghdGhpcy5jb25uZWN0ZWQpIHRocm93IG5ldyBFcnJvcihcIltibG9rXVtzcXNdIG5vdCBjb25uZWN0ZWQuIENhbGwgY29ubmVjdCgpIGZpcnN0LlwiKTtcblx0XHRjb25zdCBtZXNzYWdlSWQgPSBvcHRzPy5qb2JJZCA/PyB1dWlkKCk7XG5cdFx0Y29uc3QgaXNGaWZvID0gcXVldWUuZW5kc1dpdGgoXCIuZmlmb1wiKTtcblx0XHRjb25zdCBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuXHRcdFx0UXVldWVVcmw6IHF1ZXVlLFxuXHRcdFx0TWVzc2FnZUJvZHk6IHR5cGVvZiBkYXRhID09PSBcInN0cmluZ1wiID8gZGF0YSA6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuXHRcdH07XG5cdFx0aWYgKGlzRmlmbykge1xuXHRcdFx0cGFyYW1zLk1lc3NhZ2VHcm91cElkID0gb3B0cz8uam9iSWQgPz8gXCJkZWZhdWx0XCI7XG5cdFx0XHRwYXJhbXMuTWVzc2FnZURlZHVwbGljYXRpb25JZCA9IG1lc3NhZ2VJZDtcblx0XHR9XG5cdFx0aWYgKHR5cGVvZiBvcHRzPy5kZWxheSA9PT0gXCJudW1iZXJcIiAmJiBvcHRzLmRlbGF5ID4gMCkge1xuXHRcdFx0Ly8gU1FTIHJlamVjdHMgcGVyLW1lc3NhZ2UgRGVsYXlTZWNvbmRzIG9uIEZJRk8gcXVldWVzICh0aGV5IG9ubHlcblx0XHRcdC8vIHN1cHBvcnQgYSBxdWV1ZS1sZXZlbCBkZWxheSkuIEZhaWwgZmFzdCB3aXRoIGEgY2xlYXIgbWVzc2FnZVxuXHRcdFx0Ly8gaW5zdGVhZCBvZiBsZXR0aW5nIHRoZSBTREsgc3VyZmFjZSBhIGNyeXB0aWMgQVdTIHZhbGlkYXRpb24gZXJyb3IuXG5cdFx0XHRpZiAoaXNGaWZvKSB7XG5cdFx0XHRcdHRocm93IG5ldyBFcnJvcihcblx0XHRcdFx0XHRcIltibG9rXVtzcXNdIHBlci1tZXNzYWdlIGRlbGF5IGlzIG5vdCBzdXBwb3J0ZWQgb24gRklGTyBxdWV1ZXM7IHNldCBhIHF1ZXVlLWxldmVsIERlbGF5U2Vjb25kcyBhdHRyaWJ1dGUgaW5zdGVhZC5cIixcblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHRcdHBhcmFtcy5EZWxheVNlY29uZHMgPSBNYXRoLm1pbig5MDAsIE1hdGguY2VpbChvcHRzLmRlbGF5IC8gMTAwMCkpO1xuXHRcdH1cblx0XHRjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNsaWVudC5zZW5kKG5ldyB0aGlzLmNvbW1hbmRzLlNlbmRNZXNzYWdlQ29tbWFuZChwYXJhbXMpKTtcblx0XHRyZXR1cm4gKHJlc3VsdC5NZXNzYWdlSWQgYXMgc3RyaW5nKSA/PyBtZXNzYWdlSWQ7XG5cdH1cblxuXHRhc3luYyBzdG9wUHJvY2Vzc2luZyhxdWV1ZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0Y29uc3QgcnVubmVyID0gdGhpcy5ydW5uZXJzLmdldChxdWV1ZSk7XG5cdFx0aWYgKHJ1bm5lcikgcnVubmVyLnN0b3AgPSB0cnVlO1xuXHR9XG5cblx0aXNDb25uZWN0ZWQoKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuY29ubmVjdGVkO1xuXHR9XG5cblx0YXN5bmMgaGVhbHRoQ2hlY2soKTogUHJvbWlzZTxib29sZWFuPiB7XG5cdFx0aWYgKCF0aGlzLmNvbm5lY3RlZCkgcmV0dXJuIGZhbHNlO1xuXHRcdHRyeSB7XG5cdFx0XHQvLyBMaXN0UXVldWVzIGlzIGEgY2hlYXAgcGVybWlzc2lvbiBwcm9iZS5cblx0XHRcdGF3YWl0IHRoaXMuY2xpZW50LnNlbmQobmV3IHRoaXMuY29tbWFuZHMuTGlzdFF1ZXVlc0NvbW1hbmQoeyBNYXhSZXN1bHRzOiAxIH0pKTtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH0gY2F0Y2gge1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0fVxuXG5cdGFzeW5jIGdldFF1ZXVlU3RhdHMocXVldWU6IHN0cmluZyk6IFByb21pc2U8V29ya2VyUXVldWVTdGF0cz4ge1xuXHRcdGNvbnN0IGNvdW50ZXJzID0gdGhpcy5zdGF0cy5nZXQocXVldWUpID8/IHsgY29tcGxldGVkOiAwLCBmYWlsZWQ6IDAsIGFjdGl2ZTogMCB9O1xuXHRcdGxldCB3YWl0aW5nID0gMDtcblx0XHRsZXQgZGVsYXllZCA9IDA7XG5cdFx0dHJ5IHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2xpZW50LnNlbmQoXG5cdFx0XHRcdG5ldyB0aGlzLmNvbW1hbmRzLkdldFF1ZXVlQXR0cmlidXRlc0NvbW1hbmQoe1xuXHRcdFx0XHRcdFF1ZXVlVXJsOiBxdWV1ZSxcblx0XHRcdFx0XHRBdHRyaWJ1dGVOYW1lczogW1wiQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzXCIsIFwiQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzRGVsYXllZFwiXSxcblx0XHRcdFx0fSksXG5cdFx0XHQpO1xuXHRcdFx0d2FpdGluZyA9IE51bWJlci5wYXJzZUludChyZXN1bHQuQXR0cmlidXRlcz8uQXBwcm94aW1hdGVOdW1iZXJPZk1lc3NhZ2VzID8/IFwiMFwiLCAxMCk7XG5cdFx0XHRkZWxheWVkID0gTnVtYmVyLnBhcnNlSW50KHJlc3VsdC5BdHRyaWJ1dGVzPy5BcHByb3hpbWF0ZU51bWJlck9mTWVzc2FnZXNEZWxheWVkID8/IFwiMFwiLCAxMCk7XG5cdFx0fSBjYXRjaCB7XG5cdFx0XHQvKiBpZ25vcmUgKi9cblx0XHR9XG5cdFx0cmV0dXJuIHtcblx0XHRcdHdhaXRpbmcsXG5cdFx0XHRhY3RpdmU6IGNvdW50ZXJzLmFjdGl2ZSxcblx0XHRcdGNvbXBsZXRlZDogY291bnRlcnMuY29tcGxldGVkLFxuXHRcdFx0ZmFpbGVkOiBjb3VudGVycy5mYWlsZWQsXG5cdFx0XHRkZWxheWVkLFxuXHRcdH07XG5cdH1cbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@blokjs/trigger-worker",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"files": ["dist"],
|
|
5
5
|
"description": "Worker-based trigger for Blok workflows - supports background job processing with concurrency, retries, and scheduling",
|
|
6
6
|
"type": "module",
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
"author": "Deskree Technologies Inc.",
|
|
16
16
|
"license": "Apache-2.0",
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@blokjs/helper": "^1.
|
|
19
|
-
"@blokjs/runner": "^1.
|
|
20
|
-
"@blokjs/shared": "^1.
|
|
18
|
+
"@blokjs/helper": "^1.2.0",
|
|
19
|
+
"@blokjs/runner": "^1.2.0",
|
|
20
|
+
"@blokjs/shared": "^1.2.0",
|
|
21
21
|
"@opentelemetry/api": "^1.9.0",
|
|
22
22
|
"uuid": "^11.1.0"
|
|
23
23
|
},
|