Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

otel-cli

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

otel-cli - npm Package Compare versions

Comparing version
0.0.5
to
1.0.0
+7
-0
CHANGELOG.md

@@ -5,1 +5,8 @@ # Change Log

See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
<a name="0.0.1"></a>
# 0.0.1 (2023-07-09)
### Features
* Initial release
+2
-3

@@ -241,3 +241,2 @@ "use strict";

async _exportTraceRequest(traceRequest) {
console.log(JSON.stringify(traceRequest));
const resolvedExporterOTLPEndpoint = this._resolveExporterOTLPEndpoint();

@@ -250,3 +249,3 @@ const traceExporter = (0, export_1.createTraceExporter)(this.exporterOTLPProtocol, this._resolveExporterOTLPEndpoint(), this.exporterOTLPHeaders);

await traceExporter.export(traceRequest);
logger.info('Exported trace request');
logger.debug('Exported trace request');
}

@@ -345,2 +344,2 @@ catch (err) {

exports.ExportCommandExecutor = ExportCommandExecutor;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhwb3J0Q29tbWFuZEV4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmQvZXhwb3J0L0V4cG9ydENvbW1hbmRFeGVjdXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLHlDQUFxQztBQUNyQyxxQ0FBa0M7QUFDbEMsNENBQStFO0FBQy9FLHVDQVFxQjtBQUlyQiwrQ0FJeUI7QUFFekIseUNBQXlGO0FBQ3pGLHFEQUF1QztBQUN2QyxvQ0FBb0M7QUFFcEMseUNBQTBEO0FBRTFELE1BQWEscUJBQXFCO0lBMEJ0QixjQUFjLENBQUMsYUFBdUI7UUFDMUMsT0FBTyxJQUFJLEdBQUcsQ0FDVixDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUN2QyxNQUFNLEtBQUssR0FBYSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hDLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7Z0JBQ25CLElBQUEsY0FBSyxFQUNELGlEQUFpRCxJQUFJLEVBQUUsQ0FDMUQsQ0FBQztnQkFDRixJQUFBLFdBQUksRUFBQyxDQUFDLENBQUMsQ0FBQzthQUNYO1lBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVPLCtCQUErQixDQUFDLE9BQXFCO1FBQ3pELE1BQU0sV0FBVyxHQUFXLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7UUFDM0UsSUFBSSxXQUFXLEVBQUU7WUFDYixPQUFPLElBQUEscUNBQTZCLEVBQUMsV0FBVyxDQUFDLENBQUM7U0FDckQ7UUFDRCxPQUFPLFNBQVMsQ0FBQztJ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bW1hbmRFeGVjdXRvcic7XG5pbXBvcnQgeyBlcnJvciB9IGZyb20gJy4uLy4uL2xvZ2dlcic7XG5pbXBvcnQgeyBleGl0IH0gZnJvbSAnLi4vLi4vZXhpdCc7XG5pbXBvcnQgeyBTcGFuLCBTcGFuS2luZCwgU3BhblN0YXR1cywgU3BhblN0YXR1c0NvZGUgfSBmcm9tICcuLi8uLi9kb21haW4vU3Bhbic7XG5pbXBvcnQge1xuICAgIGV4dHJhY3RTcGFuSWRGcm9tVHJhY2VQYXJlbnQsXG4gICAgZXh0cmFjdFRyYWNlSWRGcm9tVHJhY2VQYXJlbnQsXG4gICAgZmxhdHRlbkF0dHJpYnV0ZXMsXG4gICAgZ2VuZXJhdGVTcGFuSWQsXG4gICAgdmFsaWRhdGVTcGFuSWQsXG4gICAgdmFsaWRhdGVUcmFjZUlkLFxuICAgIHZhbGlkYXRlVHJhY2VQYXJlbnQsXG59IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2RvbWFpbi9BdHRyaWJ1dGUnO1xuaW1wb3J0IHsgU2NvcGVTcGFucyB9IGZyb20gJy4uLy4uL2RvbWFpbi9TY29wZVNwYW5zJztcbmltcG9ydCB7IFJlc291cmNlU3BhbnMgfSBmcm9tICcuLi8uLi9kb21haW4vUmVzb3VyY2VTcGFucyc7XG5pbXBvcnQge1xuICAgIE9URUxfQ0xJX05BTUUsXG4gICAgT1RFTF9DTElfVkVSU0lPTixcbiAgICBSRVNPVVJDRV9BVFRSSUJVVEVTLFxufSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVHJhY2VSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZG9tYWluL1RyYWNlUmVxdWVzdCc7XG5pbXBvcnQgeyBjcmVhdGVUcmFjZUV4cG9ydGVyLCBFeHBvcnRlck9UTFBQcm90b2NvbHMsIFRyYWNlRXhwb3J0ZXIgfSBmcm9tICcuLi8uLi9leHBvcnQnO1xuaW1wb3J0ICogYXMgbG9nZ2VyIGZyb20gJy4uLy4uL2xvZ2dlcic7XG5pbXBvcnQgeyBDb21tYW5kcyB9IGZyb20gJy4uL2luZGV4JztcblxuaW1wb3J0IHsgQ29tbWFuZCwgT3B0aW9uLCBPcHRpb25WYWx1ZXMgfSBmcm9tICdjb21tYW5kZXInO1xuXG5leHBvcnQgY2xhc3MgRXhwb3J0Q29tbWFuZEV4ZWN1dG9yIGltcGxlbWVudHMgQ29tbWFuZEV4ZWN1dG9yIHtcbiAgICBwcml2YXRlIHZlcmJvc2VFbmFibGVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgZXhwb3J0ZXJPVExQRW5kcG9pbnQ6IHN0cmluZztcbiAgICBwcml2YXRlIGV4cG9ydGVyT1RMUFRyYWNlc0VuZHBvaW50OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBleHBvcnRlck9UTFBQcm90b2NvbDogc3RyaW5nO1xuICAgIHByaXZhdGUgZXhwb3J0ZXJPVExQSGVhZGVyczogTWFwPHN0cmluZywgc3RyaW5nPjtcbiAgICBwcml2YXRlIHRyYWNlUGFyZW50OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSB0cmFjZVBhcmVudFByaW50OiBib29sZWFuO1xuICAgIHByaXZhdGUgdHJhY2VJZDogc3RyaW5nO1xuICAgIHByaXZhdGUgc3BhbklkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBwYXJlbnRTcGFuSWQ6IHN0cmluZztcbiAgICBwcml2YXRlIHNwYW5OYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgc3BhbktpbmQ6IHN0cmluZztcbiAgICBwcml2YXRlIHNwYW5TdGFydFRpbWVOYW5vczogbnVtYmVyO1xuICAgIHByaXZhdGUgc3BhblN0YXJ0VGltZU1pY3JvczogbnVtYmVyO1xuICAgIHByaXZhdGUgc3BhblN0YXJ0VGltZU1pbGxpczogbnVtYmVyO1xuICAgIHByaXZhdGUgc3BhblN0YXJ0VGltZVNlY3M6IG51bWJlcjtcbiAgICBwcml2YXRlIHNwYW5FbmRUaW1lTmFub3M6IG51bWJlcjtcbiAgICBwcml2YXRlIHNwYW5FbmRUaW1lTWljcm9zOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBzcGFuRW5kVGltZU1pbGxpczogbnVtYmVyO1xuICAgIHByaXZhdGUgc3BhbkVuZFRpbWVTZWNzOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBzcGFuU3RhdHVzQ29kZTogc3RyaW5nO1xuICAgIHByaXZhdGUgc3BhblN0YXR1c01lc3NhZ2U6IHN0cmluZztcbiAgICBwcml2YXRlIHNwYW5BdHRyaWJ1dGVzOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuXG4gICAgcHJpdmF0ZSBfcGFyc2VLZXlWYWx1ZShrZXlWYWx1ZVBhaXJzOiBzdHJpbmdbXSk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gbmV3IE1hcChcbiAgICAgICAgICAgIChrZXlWYWx1ZVBhaXJzIHx8IFtdKS5tYXAoKHBhaXI6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IHBhaXIuc3BsaXQoJz0nKTtcbiAgICAgICAgICAgICAgICBpZiAocGFydHMubGVuZ3RoICE9IDIpIHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBgS2V5LXZhbHVlIHBhaXIgbXVzdCBiZSBpbiBcImtleT12YWx1ZVwiIGZvcm1hdDogJHtwYWlyfWBcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgZXhpdCgxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtwYXJ0c1swXSwgcGFydHNbMV1dO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF90cnlUb0dldFRyYWNlSWRGcm9tVHJhY2VQYXJlbnQob3B0aW9uczogT3B0aW9uVmFsdWVzKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgdHJhY2VQYXJlbnQ6IHN0cmluZyA9IG9wdGlvbnMudHJhY2VQYXJlbnQgfHwgcHJvY2Vzcy5lbnYuVFJBQ0VQQVJFTlQ7XG4gICAgICAgIGlmICh0cmFjZVBhcmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGV4dHJhY3RUcmFjZUlkRnJvbVRyYWNlUGFyZW50KHRyYWNlUGFyZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3RyeVRvR2V0UGFyZW50U3BhbklkRnJvbVRyYWNlUGFyZW50KG9wdGlvbnM6IE9wdGlvblZhbHVlcyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHRyYWNlUGFyZW50OiBzdHJpbmcgPSBvcHRpb25zLnRyYWNlUGFyZW50IHx8IHByb2Nlc3MuZW52LlRSQUNFUEFSRU5UO1xuICAgICAgICBpZiAodHJhY2VQYXJlbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBleHRyYWN0U3BhbklkRnJvbVRyYWNlUGFyZW50KHRyYWNlUGFyZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3BhcnNlT3B0aW9ucyhvcHRpb25zOiBPcHRpb25WYWx1ZXMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52ZXJib3NlRW5hYmxlZCA9IG9wdGlvbnMudmVyYm9zZTtcbiAgICAgICAgbG9nZ2VyLnNldERlYnVnRW5hYmxlZCh0aGlzLnZlcmJvc2VFbmFibGVkKTtcblxuICAgICAgICB0aGlzLmV4cG9ydGVyT1RMUEVuZHBvaW50ID0gb3B0aW9ucy5lbmRwb2ludDtcbiAgICAgICAgdGhpcy5leHBvcnRlck9UTFBUcmFjZXNFbmRwb2ludCA9IG9wdGlvbnMudHJhY2VzRW5kcG9pbnQ7XG4gICAgICAgIHRoaXMuZXhwb3J0ZXJPVExQUHJvdG9jb2wgPSBvcHRpb25zLnByb3RvY29sO1xuICAgICAgICB0aGlzLmV4cG9ydGVyT1RMUEhlYWRlcnMgPSB0aGlzLl9wYXJzZUtleVZhbHVlKG9wdGlvbnMuaGVhZGVycyk7XG5cbiAgICAgICAgdGhpcy50cmFjZVBhcmVudCA9IG9wdGlvbnMudHJhY2VwYXJlbnQgfHwgcHJvY2Vzcy5lbnYuVFJBQ0VQQVJFTlQ7XG4gICAgICAgIHRoaXMudHJhY2VQYXJlbnRQcmludCA9IG9wdGlvbnMudHJhY2VwYXJlbnRQcmludDtcbiAgICAgICAgdGhpcy50cmFjZUlkID0gb3B0aW9ucy50cmFjZUlkIHx8IHRoaXMuX3RyeVRvR2V0VHJhY2VJZEZyb21UcmFjZVBhcmVudChvcHRpb25zKTtcbiAgICAgICAgdGhpcy5zcGFuSWQgPSBvcHRpb25zLnNwYW5JZDtcbiAgICAgICAgdGhpcy5wYXJlbnRTcGFuSWQgPSBvcHRpb25zLnBhcmVudFNwYW5JZCB8fCB0aGlzLl90cnlUb0dldFBhcmVudFNwYW5JZEZyb21UcmFjZVBhcmVudChvcHRpb25zKTtcbiAgICAgICAgdGhpcy5zcGFuTmFtZSA9IG9wdGlvbnMubmFtZTtcbiAgICAgICAgdGhpcy5zZXJ2aWNlTmFtZSA9IG9wdGlvbnMuc2VydmljZU5hbWU7XG4gICAgICAgIHRoaXMuc3BhbktpbmQgPSBvcHRpb25zLmtpbmQ7XG4gICAgICAgIHRoaXMuc3BhblN0YXJ0VGltZU5hbm9zID0gcGFyc2VJbnQob3B0aW9ucy5zdGFydFRpbWVOYW5vcyk7XG4gICAgICAgIHRoaXMuc3BhblN0YXJ0VGltZU1pY3JvcyA9IHBhcnNlSW50KG9wdGlvbnMuc3RhcnRUaW1lTWljcm9zKTtcbiAgICAgICAgdGhpcy5zcGFuU3RhcnRUaW1lTWlsbGlzID0gcGFyc2VJbnQob3B0aW9ucy5zdGFydFRpbWVNaWxsaXMpO1xuICAgICAgICB0aGlzLnNwYW5TdGFydFRpbWVTZWNzID0gcGFyc2VJbnQob3B0aW9ucy5zdGFydFRpbWVTZWNzKTtcbiAgICAgICAgdGhpcy5zcGFuRW5kVGltZU5hbm9zID0gcGFyc2VJbnQob3B0aW9ucy5lbmRUaW1lTmFub3MpO1xuICAgICAgICB0aGlzLnNwYW5FbmRUaW1lTWljcm9zID0gcGFyc2VJbnQob3B0aW9ucy5lbmRUaW1lTWljcm9zKTtcbiAgICAgICAgdGhpcy5zcGFuRW5kVGltZU1pbGxpcyA9IHBhcnNlSW50KG9wdGlvbnMuZW5kVGltZU1pbGxpcyk7XG4gICAgICAgIHRoaXMuc3BhbkVuZFRpbWVTZWNzID0gcGFyc2VJbnQob3B0aW9ucy5lbmRUaW1lU2Vjcyk7XG4gICAgICAgIHRoaXMuc3BhblN0YXR1c0NvZGUgPSBvcHRpb25zLnN0YXR1c0NvZGU7XG4gICAgICAgIHRoaXMuc3BhblN0YXR1c01lc3NhZ2UgPSBvcHRpb25zLnN0YXR1c01lc3NhZ2U7XG4gICAgICAgIHRoaXMuc3BhbkF0dHJpYnV0ZXMgPSB0aGlzLl9wYXJzZUtleVZhbHVlKG9wdGlvbnMuYXR0cmlidXRlcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY2hlY2tPcHRpb25zKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZXhwb3J0ZXJPVExQRW5kcG9pbnQgJiYgIXRoaXMuZXhwb3J0ZXJPVExQVHJhY2VzRW5kcG9pbnQpIHtcbiAgICAgICAgICAgIGVycm9yKFxuICAgICAgICAgICAgICAgICdPbmUgb2YgdGhlIE9URUwgRXhwb3J0ZXIgT1RMUCBlbmRwb2ludCAnICtcbiAgICAgICAgICAgICAgICAgICAgJ29yIE9URUwgRXhwb3J0ZXIgT1RMUCB0cmFjZXMgZW5kcG9pbnQgY29uZmlndXJhdGlvbnMgbXVzdCBiZSBzcGVjaWZpZWQhJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGV4aXQoMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudHJhY2VQYXJlbnQgJiYgIXZhbGlkYXRlVHJhY2VQYXJlbnQodGhpcy50cmFjZVBhcmVudCkpIHtcbiAgICAgICAgICAgIGVycm9yKGBJbnZhbGlkIHRyYWNlIHBhcmVudDogJHt0aGlzLnRyYWNlUGFyZW50fSFgKTtcbiAgICAgICAgICAgIGV4aXQoMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLnRyYWNlSWQpIHtcbiAgICAgICAgICAgIGVycm9yKGBUcmFjZSBpZCBpcyBub3Qgc3BlY2lmaWVkOiAke3RoaXMudHJhY2VJZH0hYCk7XG4gICAgICAgICAgICBleGl0KDEpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdmFsaWRhdGVUcmFjZUlkKHRoaXMudHJhY2VJZCkpIHtcbiAgICAgICAgICAgIGVycm9yKGBJbnZhbGlkIHRyYWNlIGlkOiAke3RoaXMudHJhY2VJZH0hYCk7XG4gICAgICAgICAgICBleGl0KDEpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdmFsaWRhdGVTcGFuSWQodGhpcy5zcGFuSWQpKSB7XG4gICAgICAgICAgICBlcnJvcihgSW52YWxpZCBzcGFuIGlkOiAke3RoaXMuc3BhbklkfSFgKTtcbiAgICAgICAgICAgIGV4aXQoMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucGFyZW50U3BhbklkICYmICF2YWxpZGF0ZVNwYW5JZCh0aGlzLnBhcmVudFNwYW5JZCkpIHtcbiAgICAgICAgICAgIGVycm9yKGBJbnZhbGlkIHBhcmVudCBzcGFuIGlkOiAke3RoaXMucGFyZW50U3BhbklkfSFgKTtcbiAgICAgICAgICAgIGV4aXQoMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMuc3BhblN0YXJ0VGltZU5hbm9zICYmXG4gICAgICAgICAgICAhdGhpcy5zcGFuRW5kVGltZU1pY3JvcyAmJlxuICAgICAgICAgICAgIXRoaXMuc3BhblN0YXJ0VGltZU1pbGxpcyAmJlxuICAgICAgICAgICAgIXRoaXMuc3BhblN0YXJ0VGltZVNlY3NcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBlcnJvcihcbiAgICAgICAgICAgICAgICAnU3BhbiBzdGFydCB0aW1lIG11c3QgYmUgc3BlY2lmaWVkIGluIG9uZSBvZiB0aGUgc3VwcG9ydGVkIGZvcm1hdHMgJyArXG4gICAgICAgICAgICAgICAgICAgICcobmFub3NlY29uZHMsIG1pY3Jvc2Vjb25kcywgbWlsbGlzZWNvbmRzLCBvciBzZWNvbmRzKSEnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZXhpdCgxKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5zcGFuRW5kVGltZU5hbm9zICYmXG4gICAgICAgICAgICAhdGhpcy5zcGFuRW5kVGltZU1pY3JvcyAmJlxuICAgICAgICAgICAgIXRoaXMuc3BhbkVuZFRpbWVNaWxsaXMgJiZcbiAgICAgICAgICAgICF0aGlzLnNwYW5FbmRUaW1lU2Vjc1xuICAgICAgICApIHtcbiAgICAgICAgICAgIGVycm9yKFxuICAgICAgICAgICAgICAgICdTcGFuIGVuZCB0aW1lIG11c3QgYmUgc3BlY2lmaWVkIGluIG9uZSBvZiB0aGUgc3VwcG9ydGVkIGZvcm1hdHMgJyArXG4gICAgICAgICAgICAgICAgICAgICcobmFub3NlY29uZHMsIG1pY3Jvc2Vjb25kcywgbWlsbGlzZWNvbmRzLCBvciBzZWNvbmRzKSEnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZXhpdCgxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3Jlc29sdmVFeHBvcnRlck9UTFBFbmRwb2ludCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZXhwb3J0ZXJPVExQVHJhY2VzRW5kcG9pbnQgfHxcbiAgICAgICAgICAgIHRoaXMuZXhwb3J0ZXJPVExQRW5kcG9pbnQgKyAnL3YxL3RyYWNlcydcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZXNvbHZlU3BhblN0YXJ0VGltZU5hbm9zKCk6IG51bWJlciB7XG4gICAgICAgIGlmICh0aGlzLnNwYW5TdGFydFRpbWVOYW5vcykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3BhblN0YXJ0VGltZU5hbm9zO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3BhblN0YXJ0VGltZU1pY3Jvcykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3BhblN0YXJ0VGltZU1pY3JvcyAqIDEwMDA7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zcGFuU3RhcnRUaW1lTWlsbGlzKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zcGFuU3RhcnRUaW1lTWlsbGlzICogMTAwMDAwMDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNwYW5TdGFydFRpbWVTZWNzKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zcGFuU3RhcnRUaW1lU2VjcyAqIDEwMDAwMDAwMDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHNwYW4gc3RhcnQgdGltZSBpcyBzcGVjaWZpZWQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3Jlc29sdmVTcGFuRW5kVGltZU5hbm9zKCk6IG51bWJlciB7XG4gICAgICAgIGlmICh0aGlzLnNwYW5FbmRUaW1lTmFub3MpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNwYW5FbmRUaW1lTmFub3M7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zcGFuRW5kVGltZU1pY3Jvcykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3BhbkVuZFRpbWVNaWNyb3MgKiAxMDAwO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3BhbkVuZFRpbWVNaWxsaXMpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNwYW5FbmRUaW1lTWlsbGlzICogMTAwMDAwMDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNwYW5FbmRUaW1lU2Vjcykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3BhbkVuZFRpbWVTZWNzICogMTAwMDAwMDAwMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gc3BhbiBlbmQgdGltZSBpcyBzcGVjaWZpZWQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX25vcm1hbGl6ZUlkKGlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoaWQgJiYgaWQuc3RhcnRzV2l0aCgnMHgnKSkge1xuICAgICAgICAgICAgaWQgPSBpZC5zdWJzdHJpbmcoJzB4Jy5sZW5ndGgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVTcGFuKCk6IFNwYW4ge1xuICAgICAgICBjb25zdCB0cmFjZUlkOiBzdHJpbmcgPSB0aGlzLl9ub3JtYWxpemVJZCh0aGlzLnRyYWNlSWQpO1xuICAgICAgICBjb25zdCBzcGFuSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuX25vcm1hbGl6ZUlkKHRoaXMuc3BhbklkKTtcbiAgICAgICAgY29uc3QgdHJhY2VTdGF0ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGNvbnN0IHBhcmVudFNwYW5JZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5fbm9ybWFsaXplSWQodGhpcy5wYXJlbnRTcGFuSWQpO1xuICAgICAgICBjb25zdCBuYW1lOiBzdHJpbmcgPSB0aGlzLnNwYW5OYW1lO1xuICAgICAgICBjb25zdCBraW5kOiBTcGFuS2luZCA9IFNwYW5LaW5kW3RoaXMuc3BhbktpbmQgYXMga2V5b2YgdHlwZW9mIFNwYW5LaW5kXTtcbiAgICAgICAgY29uc3Qgc3RhcnRUaW1lVW5peE5hbm86IG51bWJlciA9IHRoaXMuX3Jlc29sdmVTcGFuU3RhcnRUaW1lTmFub3MoKTtcbiAgICAgICAgY29uc3QgZW5kVGltZVVuaXhOYW5vOiBudW1iZXIgPSB0aGlzLl9yZXNvbHZlU3BhbkVuZFRpbWVOYW5vcygpO1xuICAgICAgICBjb25zdCBzdGF0dXNDb2RlOiBTcGFuU3RhdHVzQ29kZSA9XG4gICAgICAgICAgICBTcGFuU3RhdHVzQ29kZVt0aGlzLnNwYW5TdGF0dXNDb2RlIGFzIGtleW9mIHR5cGVvZiBTcGFuU3RhdHVzQ29kZV07XG4gICAgICAgIGNvbnN0IHN0YXR1c01lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuc3BhblN0YXR1c01lc3NhZ2U7XG4gICAgICAgIGNvbnN0IHN0YXR1czogU3BhblN0YXR1cyA9IHtcbiAgICAgICAgICAgIGNvZGU6IHN0YXR1c0NvZGUgfHwgU3BhblN0YXR1c0NvZGUuVU5TRVQsXG4gICAgICAgICAgICBtZXNzYWdlOiBzdGF0dXNNZXNzYWdlLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVbXSA9IGZsYXR0ZW5BdHRyaWJ1dGVzKHRoaXMuc3BhbkF0dHJpYnV0ZXMpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0cmFjZUlkLFxuICAgICAgICAgICAgc3BhbklkLFxuICAgICAgICAgICAgdHJhY2VTdGF0ZSxcbiAgICAgICAgICAgIHBhcmVudFNwYW5JZCxcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBraW5kLFxuICAgICAgICAgICAgc3RhcnRUaW1lVW5peE5hbm8sXG4gICAgICAgICAgICBlbmRUaW1lVW5peE5hbm8sXG4gICAgICAgICAgICBzdGF0dXMsXG4gICAgICAgICAgICBhdHRyaWJ1dGVzLFxuICAgICAgICAgICAgZHJvcHBlZEF0dHJpYnV0ZXNDb3VudDogMCxcbiAgICAgICAgfSBhcyBTcGFuO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZVNjb3BlU3BhbnMoKTogU2NvcGVTcGFuc1tdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzY29wZToge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBPVEVMX0NMSV9OQU1FLFxuICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOiBPVEVMX0NMSV9WRVJTSU9OLFxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHNwYW5zOiBbdGhpcy5fY3JlYXRlU3BhbigpXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlUmVzb3VyY2VTcGFucygpOiBSZXNvdXJjZVNwYW5zW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJlc291cmNlOiB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFJFU09VUkNFX0FUVFJJQlVURVMuU0VSVklDRV9OQU1FLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ1ZhbHVlOiB0aGlzLnNlcnZpY2VOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBkcm9wcGVkQXR0cmlidXRlc0NvdW50OiAwLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc2NvcGVTcGFuczogdGhpcy5fY3JlYXRlU2NvcGVTcGFucygpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVUcmFjZVJlcXVlc3QoKTogVHJhY2VSZXF1ZXN0IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlc291cmNlU3BhbnM6IHRoaXMuX2NyZWF0ZVJlc291cmNlU3BhbnMoKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9leHBvcnRUcmFjZVJlcXVlc3QoXG4gICAgICAgIHRyYWNlUmVxdWVzdDogVHJhY2VSZXF1ZXN0XG4gICAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnNvbGUubG9nKEpTT04uc3RyaW5naWZ5KHRyYWNlUmVxdWVzdCkpO1xuICAgICAgICBjb25zdCByZXNvbHZlZEV4cG9ydGVyT1RMUEVuZHBvaW50ID1cbiAgICAgICAgICAgIHRoaXMuX3Jlc29sdmVFeHBvcnRlck9UTFBFbmRwb2ludCgpO1xuICAgICAgICBjb25zdCB0cmFjZUV4cG9ydGVyOiBUcmFjZUV4cG9ydGVyID0gY3JlYXRlVHJhY2VFeHBvcnRlcihcbiAgICAgICAgICAgIHRoaXMuZXhwb3J0ZXJPVExQUHJvdG9jb2wsXG4gICAgICAgICAgICB0aGlzLl9yZXNvbHZlRXhwb3J0ZXJPVExQRW5kcG9pbnQoKSxcbiAgICAgICAgICAgIHRoaXMuZXhwb3J0ZXJPVExQSGVhZGVyc1xuICAgICAgICApO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKGxvZ2dlci5pc0RlYnVnRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgICAgICAgICBgRXhwb3J0aW5nIHRyYWNlIHJlcXVlc3QgdG8gOiAke3Jlc29sdmVkRXhwb3J0ZXJPVExQRW5kcG9pbnR9YCxcbiAgICAgICAgICAgICAgICAgICAgdHJhY2VSZXF1ZXN0XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF3YWl0IHRyYWNlRXhwb3J0ZXIuZXhwb3J0KHRyYWNlUmVxdWVzdCk7XG4gICAgICAgICAgICBsb2dnZXIuaW5mbygnRXhwb3J0ZWQgdHJhY2UgcmVxdWVzdCcpO1xuICAgICAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gZXhwb3J0IHRyYWNlIHJlcXVlc3QnLCBlcnIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2VuZXJhdGVUcmFjZVBhcmVudCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYDAwLSR7dGhpcy50cmFjZUlkfS0ke3RoaXMuc3BhbklkfS0wMWA7XG4gICAgfVxuXG4gICAgY29tbWFuZE5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIENvbW1hbmRzLkVYUE9SVDtcbiAgICB9XG5cbiAgICBkZWZpbmVPcHRpb25zKGNvbW1hbmQ6IENvbW1hbmQpIHtcbiAgICAgICAgY29tbWFuZFxuICAgICAgICAgICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctdiwgLS12ZXJib3NlJywgJ0VuYWJsZSB2ZXJib3NlIG1vZGUnKVxuICAgICAgICAgICAgICAgIC5tYWtlT3B0aW9uTWFuZGF0b3J5KGZhbHNlKVxuICAgICAgICAgICAgICAgIC5kZWZhdWx0KHByb2Nlc3MuZW52Lk9URUxfQ0xJX1ZFUkJPU0UgJiZcbiAgICAgICAgICAgICAgICAgICAgcHJvY2Vzcy5lbnYuT1RFTF9DTElfVkVSQk9TRS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScpKVxuICAgICAgICAgICAgLmFkZE9wdGlvbihcbiAgICAgICAgICAgICAgICBuZXcgT3B0aW9uKCctZSwgLS1lbmRwb2ludCA8dXJsPicsICdPVEVMIEV4cG9ydGVyIE9UTFAgZW5kcG9pbnQnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgLmRlZmF1bHQocHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX0VORFBPSU5UKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmFkZE9wdGlvbihcbiAgICAgICAgICAgICAgICBuZXcgT3B0aW9uKCctdGUsIC0tdHJhY2VzLWVuZHBvaW50IDx1cmw+JywgJ09URUwgRXhwb3J0ZXIgT1RMUCB0cmFjZXMgZW5kcG9pbnQnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgLmRlZmF1bHQocHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX1RSQUNFU19FTkRQT0lOVClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRPcHRpb24oXG4gICAgICAgICAgICAgICAgbmV3IE9wdGlvbignLXAsIC0tcHJvdG9jb2wgPHByb3RvY29sPicsICdPVEVMIEV4cG9ydGVyIE9UTFAgcHJvdG9jb2wnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgLmRlZmF1bHQoXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzLmVudi5PVEVMX0VYUE9SVEVSX09UTFBfUFJPVE9DT0wgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIEV4cG9ydGVyT1RMUFByb3RvY29scy5IVFRQX0pTT05cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAuY2hvaWNlcyhPYmplY3QudmFsdWVzKEV4cG9ydGVyT1RMUFByb3RvY29scykpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy1oLCAtLWhlYWRlcnMgPGtleS12YWx1ZS1wYWlycy4uLj4nLCAnT1RFTCBFeHBvcnRlciBPVExQIGhlYWRlcnMnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgLmRlZmF1bHQocHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX0hFQURFUlMgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3MuZW52Lk9URUxfRVhQT1JURVJfT1RMUF9IRUFERVJTLnNwbGl0KCcsJykpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy10cCwgLS10cmFjZXBhcmVudCA8aGVhZGVyPicsICdUcmFjZXBhcmVudCBoZWFkZXIgaW4gVzNDIHRyYWNlIGNvbnRleHQgZm9ybWF0JylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkoZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgIC5kZWZhdWx0KHByb2Nlc3MuZW52LlRSQUNFUEFSRU5UKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmFkZE9wdGlvbihcbiAgICAgICAgICAgICAgICBuZXcgT3B0aW9uKCctdHBwLCAtLXRyYWNlcGFyZW50LXByaW50JywgJ1ByaW50IHRyYWNlcGFyZW50IGhlYWRlciBpbiBXM0MgdHJhY2UgY29udGV4dCBmb3JtYXQgZm9yIHRoZSBleHBvcnRlZCBzcGFuJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkoZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgIC5kZWZhdWx0KHByb2Nlc3MuZW52Lk9URUxfQ0xJX1RSQUNFUEFSRU5UX1BSSU5UICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzLmVudi5PVEVMX0NMSV9UUkFDRVBBUkVOVF9QUklOVC50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy10LCAtLXRyYWNlLWlkIDxpZD4nLCAnVHJhY2UgaWQnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgLmRlZmF1bHQocHJvY2Vzcy5lbnYuT1RFTF9DTElfVFJBQ0VfSUQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy1zLCAtLXNwYW4taWQgPGlkPicsICdTcGFuIGlkJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkoZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgIC5kZWZhdWx0KGdlbmVyYXRlU3BhbklkKCkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy1wLCAtLXBhcmVudC1zcGFuLWlkIDxpZD4nLCAnUGFyZW50IHNwYW4gaWQnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRPcHRpb24oXG4gICAgICAgICAgICAgICAgbmV3IE9wdGlvbignLW4sIC0tbmFtZSA8bmFtZT4nLCAnU3BhbiBuYW1lJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkodHJ1ZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRPcHRpb24oXG4gICAgICAgICAgICAgICAgbmV3IE9wdGlvbignLXNuLCAtLXNlcnZpY2UtbmFtZSA8bmFtZT4nLCAnU2VydmljZSBuYW1lJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkodHJ1ZSlcbiAgICAgICAgICAgICAgICAgICAgLmRlZmF1bHQocHJvY2Vzcy5lbnYuT1RFTF9DTElfU0VSVklDRV9OQU1FIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzLmVudi5PVEVMX1NFUlZJQ0VfTkFNRSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRPcHRpb24oXG4gICAgICAgICAgICAgICAgbmV3IE9wdGlvbignLWssIC0ta2luZCA8a2luZD4nLCAnU3BhbiBraW5kJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkoZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgIC5kZWZhdWx0KFNwYW5LaW5kW1NwYW5LaW5kLklOVEVSTkFMXSlcbiAgICAgICAgICAgICAgICAgICAgLmNob2ljZXMoT2JqZWN0LmtleXMoU3BhbktpbmQpLmZpbHRlcigobykgPT4gaXNOYU4oTnVtYmVyKG8pKSkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy0tc3RhcnQtdGltZS1uYW5vcyA8bmFub3M+JywgJ1N0YXJ0IHRpbWUgaW4gbmFub3NlY29uZHMnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRPcHRpb24oXG4gICAgICAgICAgICAgICAgbmV3IE9wdGlvbignLS1zdGFydC10aW1lLW1pY3JvcyA8bWljcm9zPicsICdTdGFydCB0aW1lIGluIG1pY3Jvc2Vjb25kcycpXG4gICAgICAgICAgICAgICAgICAgIC5tYWtlT3B0aW9uTWFuZGF0b3J5KGZhbHNlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmFkZE9wdGlvbihcbiAgICAgICAgICAgICAgICBuZXcgT3B0aW9uKCctLXN0YXJ0LXRpbWUtbWlsbGlzIDxtaWxsaXM+JywgJ1N0YXJ0IHRpbWUgaW4gbWlsbGlzZWNvbmRzJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkoZmFsc2UpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy0tc3RhcnQtdGltZS1zZWNzIDxzZWNzPicsICdTdGFydCB0aW1lIGluIHNlY29uZHMnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRPcHRpb24oXG4gICAgICAgICAgICAgICAgbmV3IE9wdGlvbignLS1lbmQtdGltZS1uYW5vcyA8bmFub3M+JywgJ0VuZCB0aW1lIGluIG5hbm9zZWNvbmRzJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkoZmFsc2UpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy0tZW5kLXRpbWUtbWljcm9zIDxtaWNyb3M+JywgJ0VuZCB0aW1lIGluIG1pY3Jvc2Vjb25kcycpXG4gICAgICAgICAgICAgICAgICAgIC5tYWtlT3B0aW9uTWFuZGF0b3J5KGZhbHNlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmFkZE9wdGlvbihcbiAgICAgICAgICAgICAgICBuZXcgT3B0aW9uKCctLWVuZC10aW1lLW1pbGxpcyA8bWlsbGlzPicsICdFbmQgdGltZSBpbiBtaWxsaXNlY29uZHMnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRPcHRpb24oXG4gICAgICAgICAgICAgICAgbmV3IE9wdGlvbignLS1lbmQtdGltZS1zZWNzIDxzZWNzPicsICdFbmQgdGltZSBpbiBzZWNvbmRzJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkoZmFsc2UpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy1zYyAtLXN0YXR1cy1jb2RlIDxjb2RlPicsICdTdGF0dXMgY29kZScpXG4gICAgICAgICAgICAgICAgICAgIC5tYWtlT3B0aW9uTWFuZGF0b3J5KGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICAuZGVmYXVsdChTcGFuU3RhdHVzQ29kZVtTcGFuU3RhdHVzQ29kZS5VTlNFVF0pXG4gICAgICAgICAgICAgICAgICAgIC5jaG9pY2VzKFxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoU3BhblN0YXR1c0NvZGUpLmZpbHRlcigobykgPT4gaXNOYU4oTnVtYmVyKG8pKSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmFkZE9wdGlvbihcbiAgICAgICAgICAgICAgICBuZXcgT3B0aW9uKCctc20gLS1zdGF0dXMtbWVzc2FnZSA8bWVzc2FnZT4nLCAnU3RhdHVzIG1lc3NhZ2UnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRPcHRpb24oXG4gICAgICAgICAgICAgICAgbmV3IE9wdGlvbihcbiAgICAgICAgICAgICAgICAgICAgJy1hIC0tYXR0cmlidXRlcyA8a2V5LXZhbHVlLXBhaXJzLi4uPicsXG4gICAgICAgICAgICAgICAgICAgICdTcGFuIGF0dHJpYnV0ZXMgYXMgc3BhY2Ugc2VwZXJhdGVkIGtleS12YWx1ZSBwYWlycyAoa2V5MT12YWx1ZTEga2V5Mj12YWx1ZTIga2V5Mz12YWx1ZTMpJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkoZmFsc2UpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGFzeW5jIGV4ZWN1dGUob3B0aW9uczogT3B0aW9uVmFsdWVzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuX3BhcnNlT3B0aW9ucyhvcHRpb25zKTtcblxuICAgICAgICB0aGlzLl9jaGVja09wdGlvbnMoKTtcblxuICAgICAgICBjb25zdCB0cmFjZVJlcXVlc3Q6IFRyYWNlUmVxdWVzdCA9IHRoaXMuX2NyZWF0ZVRyYWNlUmVxdWVzdCgpO1xuICAgICAgICBhd2FpdCB0aGlzLl9leHBvcnRUcmFjZVJlcXVlc3QodHJhY2VSZXF1ZXN0KTtcbiAgICAgICAgaWYgKHRoaXMudHJhY2VQYXJlbnRQcmludCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5fZ2VuZXJhdGVUcmFjZVBhcmVudCgpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhwb3J0Q29tbWFuZEV4ZWN1dG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbW1hbmQvZXhwb3J0L0V4cG9ydENvbW1hbmRFeGVjdXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUNBLHlDQUFxQztBQUNyQyxxQ0FBa0M7QUFDbEMsNENBQStFO0FBQy9FLHVDQVFxQjtBQUlyQiwrQ0FJeUI7QUFFekIseUNBQXlGO0FBQ3pGLHFEQUF1QztBQUN2QyxvQ0FBb0M7QUFFcEMseUNBQTBEO0FBRTFELE1BQWEscUJBQXFCO0lBMEJ0QixjQUFjLENBQUMsYUFBdUI7UUFDMUMsT0FBTyxJQUFJLEdBQUcsQ0FDVixDQUFDLGFBQWEsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRTtZQUN2QyxNQUFNLEtBQUssR0FBYSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hDLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7Z0JBQ25CLElBQUEsY0FBSyxFQUNELGlEQUFpRCxJQUFJLEVBQUUsQ0FDMUQsQ0FBQztnQkFDRixJQUFBLFdBQUksRUFBQyxDQUFDLENBQUMsQ0FBQzthQUNYO1lBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoQyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVPLCtCQUErQixDQUFDLE9BQXFCO1FBQ3pELE1BQU0sV0FBVyxHQUFXLE9BQU8sQ0FBQyxXQUFXLElBQUksT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7UUFDM0UsSUFBSSxXQUFXLEVBQUU7WUFDYixPQUFPLElBQUEscUNBQTZCLEVBQUMsV0FBVyxDQUFDLENBQUM7U0FDckQ7UUFDRCxPQUFPLFNBQVMsQ0FBQztJ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SUFBSSxrQkFBTSxDQUFDLDBCQUEwQixFQUFFLGFBQWEsQ0FBQzthQUNoRCxtQkFBbUIsQ0FBQyxLQUFLLENBQUM7YUFDMUIsT0FBTyxDQUFDLHFCQUFjLENBQUMscUJBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM3QyxPQUFPLENBQ0osTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBYyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDOUQsQ0FDUjthQUNBLFNBQVMsQ0FDTixJQUFJLGtCQUFNLENBQUMsZ0NBQWdDLEVBQUUsZ0JBQWdCLENBQUM7YUFDekQsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQ2xDO2FBQ0EsU0FBUyxDQUNOLElBQUksa0JBQU0sQ0FDTixzQ0FBc0MsRUFDdEMsMEZBQTBGLENBQUM7YUFDMUYsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQ2xDLENBQUM7SUFDVixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFxQjtRQUMvQixJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTVCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVyQixNQUFNLFlBQVksR0FBaUIsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDOUQsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDN0MsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO1NBQzVDO0lBQ0wsQ0FBQztDQUNKO0FBcmFELHNEQXFhQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1hbmRFeGVjdXRvciB9IGZyb20gJy4uL0NvbW1hbmRFeGVjdXRvcic7XG5pbXBvcnQgeyBlcnJvciB9IGZyb20gJy4uLy4uL2xvZ2dlcic7XG5pbXBvcnQgeyBleGl0IH0gZnJvbSAnLi4vLi4vZXhpdCc7XG5pbXBvcnQgeyBTcGFuLCBTcGFuS2luZCwgU3BhblN0YXR1cywgU3BhblN0YXR1c0NvZGUgfSBmcm9tICcuLi8uLi9kb21haW4vU3Bhbic7XG5pbXBvcnQge1xuICAgIGV4dHJhY3RTcGFuSWRGcm9tVHJhY2VQYXJlbnQsXG4gICAgZXh0cmFjdFRyYWNlSWRGcm9tVHJhY2VQYXJlbnQsXG4gICAgZmxhdHRlbkF0dHJpYnV0ZXMsXG4gICAgZ2VuZXJhdGVTcGFuSWQsXG4gICAgdmFsaWRhdGVTcGFuSWQsXG4gICAgdmFsaWRhdGVUcmFjZUlkLFxuICAgIHZhbGlkYXRlVHJhY2VQYXJlbnQsXG59IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEF0dHJpYnV0ZSB9IGZyb20gJy4uLy4uL2RvbWFpbi9BdHRyaWJ1dGUnO1xuaW1wb3J0IHsgU2NvcGVTcGFucyB9IGZyb20gJy4uLy4uL2RvbWFpbi9TY29wZVNwYW5zJztcbmltcG9ydCB7IFJlc291cmNlU3BhbnMgfSBmcm9tICcuLi8uLi9kb21haW4vUmVzb3VyY2VTcGFucyc7XG5pbXBvcnQge1xuICAgIE9URUxfQ0xJX05BTUUsXG4gICAgT1RFTF9DTElfVkVSU0lPTixcbiAgICBSRVNPVVJDRV9BVFRSSUJVVEVTLFxufSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgVHJhY2VSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vZG9tYWluL1RyYWNlUmVxdWVzdCc7XG5pbXBvcnQgeyBjcmVhdGVUcmFjZUV4cG9ydGVyLCBFeHBvcnRlck9UTFBQcm90b2NvbHMsIFRyYWNlRXhwb3J0ZXIgfSBmcm9tICcuLi8uLi9leHBvcnQnO1xuaW1wb3J0ICogYXMgbG9nZ2VyIGZyb20gJy4uLy4uL2xvZ2dlcic7XG5pbXBvcnQgeyBDb21tYW5kcyB9IGZyb20gJy4uL2luZGV4JztcblxuaW1wb3J0IHsgQ29tbWFuZCwgT3B0aW9uLCBPcHRpb25WYWx1ZXMgfSBmcm9tICdjb21tYW5kZXInO1xuXG5leHBvcnQgY2xhc3MgRXhwb3J0Q29tbWFuZEV4ZWN1dG9yIGltcGxlbWVudHMgQ29tbWFuZEV4ZWN1dG9yIHtcbiAgICBwcml2YXRlIHZlcmJvc2VFbmFibGVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgZXhwb3J0ZXJPVExQRW5kcG9pbnQ6IHN0cmluZztcbiAgICBwcml2YXRlIGV4cG9ydGVyT1RMUFRyYWNlc0VuZHBvaW50OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBleHBvcnRlck9UTFBQcm90b2NvbDogc3RyaW5nO1xuICAgIHByaXZhdGUgZXhwb3J0ZXJPVExQSGVhZGVyczogTWFwPHN0cmluZywgc3RyaW5nPjtcbiAgICBwcml2YXRlIHRyYWNlUGFyZW50OiBzdHJpbmc7XG4gICAgcHJpdmF0ZSB0cmFjZVBhcmVudFByaW50OiBib29sZWFuO1xuICAgIHByaXZhdGUgdHJhY2VJZDogc3RyaW5nO1xuICAgIHByaXZhdGUgc3BhbklkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBwYXJlbnRTcGFuSWQ6IHN0cmluZztcbiAgICBwcml2YXRlIHNwYW5OYW1lOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzZXJ2aWNlTmFtZTogc3RyaW5nO1xuICAgIHByaXZhdGUgc3BhbktpbmQ6IHN0cmluZztcbiAgICBwcml2YXRlIHNwYW5TdGFydFRpbWVOYW5vczogbnVtYmVyO1xuICAgIHByaXZhdGUgc3BhblN0YXJ0VGltZU1pY3JvczogbnVtYmVyO1xuICAgIHByaXZhdGUgc3BhblN0YXJ0VGltZU1pbGxpczogbnVtYmVyO1xuICAgIHByaXZhdGUgc3BhblN0YXJ0VGltZVNlY3M6IG51bWJlcjtcbiAgICBwcml2YXRlIHNwYW5FbmRUaW1lTmFub3M6IG51bWJlcjtcbiAgICBwcml2YXRlIHNwYW5FbmRUaW1lTWljcm9zOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBzcGFuRW5kVGltZU1pbGxpczogbnVtYmVyO1xuICAgIHByaXZhdGUgc3BhbkVuZFRpbWVTZWNzOiBudW1iZXI7XG4gICAgcHJpdmF0ZSBzcGFuU3RhdHVzQ29kZTogc3RyaW5nO1xuICAgIHByaXZhdGUgc3BhblN0YXR1c01lc3NhZ2U6IHN0cmluZztcbiAgICBwcml2YXRlIHNwYW5BdHRyaWJ1dGVzOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuXG4gICAgcHJpdmF0ZSBfcGFyc2VLZXlWYWx1ZShrZXlWYWx1ZVBhaXJzOiBzdHJpbmdbXSk6IE1hcDxzdHJpbmcsIHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gbmV3IE1hcChcbiAgICAgICAgICAgIChrZXlWYWx1ZVBhaXJzIHx8IFtdKS5tYXAoKHBhaXI6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IHBhaXIuc3BsaXQoJz0nKTtcbiAgICAgICAgICAgICAgICBpZiAocGFydHMubGVuZ3RoICE9IDIpIHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBgS2V5LXZhbHVlIHBhaXIgbXVzdCBiZSBpbiBcImtleT12YWx1ZVwiIGZvcm1hdDogJHtwYWlyfWBcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgZXhpdCgxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIFtwYXJ0c1swXSwgcGFydHNbMV1dO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF90cnlUb0dldFRyYWNlSWRGcm9tVHJhY2VQYXJlbnQob3B0aW9uczogT3B0aW9uVmFsdWVzKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgY29uc3QgdHJhY2VQYXJlbnQ6IHN0cmluZyA9IG9wdGlvbnMudHJhY2VQYXJlbnQgfHwgcHJvY2Vzcy5lbnYuVFJBQ0VQQVJFTlQ7XG4gICAgICAgIGlmICh0cmFjZVBhcmVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGV4dHJhY3RUcmFjZUlkRnJvbVRyYWNlUGFyZW50KHRyYWNlUGFyZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3RyeVRvR2V0UGFyZW50U3BhbklkRnJvbVRyYWNlUGFyZW50KG9wdGlvbnM6IE9wdGlvblZhbHVlcyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGNvbnN0IHRyYWNlUGFyZW50OiBzdHJpbmcgPSBvcHRpb25zLnRyYWNlUGFyZW50IHx8IHByb2Nlc3MuZW52LlRSQUNFUEFSRU5UO1xuICAgICAgICBpZiAodHJhY2VQYXJlbnQpIHtcbiAgICAgICAgICAgIHJldHVybiBleHRyYWN0U3BhbklkRnJvbVRyYWNlUGFyZW50KHRyYWNlUGFyZW50KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgX3BhcnNlT3B0aW9ucyhvcHRpb25zOiBPcHRpb25WYWx1ZXMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy52ZXJib3NlRW5hYmxlZCA9IG9wdGlvbnMudmVyYm9zZTtcbiAgICAgICAgbG9nZ2VyLnNldERlYnVnRW5hYmxlZCh0aGlzLnZlcmJvc2VFbmFibGVkKTtcblxuICAgICAgICB0aGlzLmV4cG9ydGVyT1RMUEVuZHBvaW50ID0gb3B0aW9ucy5lbmRwb2ludDtcbiAgICAgICAgdGhpcy5leHBvcnRlck9UTFBUcmFjZXNFbmRwb2ludCA9IG9wdGlvbnMudHJhY2VzRW5kcG9pbnQ7XG4gICAgICAgIHRoaXMuZXhwb3J0ZXJPVExQUHJvdG9jb2wgPSBvcHRpb25zLnByb3RvY29sO1xuICAgICAgICB0aGlzLmV4cG9ydGVyT1RMUEhlYWRlcnMgPSB0aGlzLl9wYXJzZUtleVZhbHVlKG9wdGlvbnMuaGVhZGVycyk7XG5cbiAgICAgICAgdGhpcy50cmFjZVBhcmVudCA9IG9wdGlvbnMudHJhY2VwYXJlbnQgfHwgcHJvY2Vzcy5lbnYuVFJBQ0VQQVJFTlQ7XG4gICAgICAgIHRoaXMudHJhY2VQYXJlbnRQcmludCA9IG9wdGlvbnMudHJhY2VwYXJlbnRQcmludDtcbiAgICAgICAgdGhpcy50cmFjZUlkID0gb3B0aW9ucy50cmFjZUlkIHx8IHRoaXMuX3RyeVRvR2V0VHJhY2VJZEZyb21UcmFjZVBhcmVudChvcHRpb25zKTtcbiAgICAgICAgdGhpcy5zcGFuSWQgPSBvcHRpb25zLnNwYW5JZDtcbiAgICAgICAgdGhpcy5wYXJlbnRTcGFuSWQgPSBvcHRpb25zLnBhcmVudFNwYW5JZCB8fCB0aGlzLl90cnlUb0dldFBhcmVudFNwYW5JZEZyb21UcmFjZVBhcmVudChvcHRpb25zKTtcbiAgICAgICAgdGhpcy5zcGFuTmFtZSA9IG9wdGlvbnMubmFtZTtcbiAgICAgICAgdGhpcy5zZXJ2aWNlTmFtZSA9IG9wdGlvbnMuc2VydmljZU5hbWU7XG4gICAgICAgIHRoaXMuc3BhbktpbmQgPSBvcHRpb25zLmtpbmQ7XG4gICAgICAgIHRoaXMuc3BhblN0YXJ0VGltZU5hbm9zID0gcGFyc2VJbnQob3B0aW9ucy5zdGFydFRpbWVOYW5vcyk7XG4gICAgICAgIHRoaXMuc3BhblN0YXJ0VGltZU1pY3JvcyA9IHBhcnNlSW50KG9wdGlvbnMuc3RhcnRUaW1lTWljcm9zKTtcbiAgICAgICAgdGhpcy5zcGFuU3RhcnRUaW1lTWlsbGlzID0gcGFyc2VJbnQob3B0aW9ucy5zdGFydFRpbWVNaWxsaXMpO1xuICAgICAgICB0aGlzLnNwYW5TdGFydFRpbWVTZWNzID0gcGFyc2VJbnQob3B0aW9ucy5zdGFydFRpbWVTZWNzKTtcbiAgICAgICAgdGhpcy5zcGFuRW5kVGltZU5hbm9zID0gcGFyc2VJbnQob3B0aW9ucy5lbmRUaW1lTmFub3MpO1xuICAgICAgICB0aGlzLnNwYW5FbmRUaW1lTWljcm9zID0gcGFyc2VJbnQob3B0aW9ucy5lbmRUaW1lTWljcm9zKTtcbiAgICAgICAgdGhpcy5zcGFuRW5kVGltZU1pbGxpcyA9IHBhcnNlSW50KG9wdGlvbnMuZW5kVGltZU1pbGxpcyk7XG4gICAgICAgIHRoaXMuc3BhbkVuZFRpbWVTZWNzID0gcGFyc2VJbnQob3B0aW9ucy5lbmRUaW1lU2Vjcyk7XG4gICAgICAgIHRoaXMuc3BhblN0YXR1c0NvZGUgPSBvcHRpb25zLnN0YXR1c0NvZGU7XG4gICAgICAgIHRoaXMuc3BhblN0YXR1c01lc3NhZ2UgPSBvcHRpb25zLnN0YXR1c01lc3NhZ2U7XG4gICAgICAgIHRoaXMuc3BhbkF0dHJpYnV0ZXMgPSB0aGlzLl9wYXJzZUtleVZhbHVlKG9wdGlvbnMuYXR0cmlidXRlcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY2hlY2tPcHRpb25zKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZXhwb3J0ZXJPVExQRW5kcG9pbnQgJiYgIXRoaXMuZXhwb3J0ZXJPVExQVHJhY2VzRW5kcG9pbnQpIHtcbiAgICAgICAgICAgIGVycm9yKFxuICAgICAgICAgICAgICAgICdPbmUgb2YgdGhlIE9URUwgRXhwb3J0ZXIgT1RMUCBlbmRwb2ludCAnICtcbiAgICAgICAgICAgICAgICAgICAgJ29yIE9URUwgRXhwb3J0ZXIgT1RMUCB0cmFjZXMgZW5kcG9pbnQgY29uZmlndXJhdGlvbnMgbXVzdCBiZSBzcGVjaWZpZWQhJ1xuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGV4aXQoMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudHJhY2VQYXJlbnQgJiYgIXZhbGlkYXRlVHJhY2VQYXJlbnQodGhpcy50cmFjZVBhcmVudCkpIHtcbiAgICAgICAgICAgIGVycm9yKGBJbnZhbGlkIHRyYWNlIHBhcmVudDogJHt0aGlzLnRyYWNlUGFyZW50fSFgKTtcbiAgICAgICAgICAgIGV4aXQoMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLnRyYWNlSWQpIHtcbiAgICAgICAgICAgIGVycm9yKGBUcmFjZSBpZCBpcyBub3Qgc3BlY2lmaWVkOiAke3RoaXMudHJhY2VJZH0hYCk7XG4gICAgICAgICAgICBleGl0KDEpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdmFsaWRhdGVUcmFjZUlkKHRoaXMudHJhY2VJZCkpIHtcbiAgICAgICAgICAgIGVycm9yKGBJbnZhbGlkIHRyYWNlIGlkOiAke3RoaXMudHJhY2VJZH0hYCk7XG4gICAgICAgICAgICBleGl0KDEpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdmFsaWRhdGVTcGFuSWQodGhpcy5zcGFuSWQpKSB7XG4gICAgICAgICAgICBlcnJvcihgSW52YWxpZCBzcGFuIGlkOiAke3RoaXMuc3BhbklkfSFgKTtcbiAgICAgICAgICAgIGV4aXQoMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucGFyZW50U3BhbklkICYmICF2YWxpZGF0ZVNwYW5JZCh0aGlzLnBhcmVudFNwYW5JZCkpIHtcbiAgICAgICAgICAgIGVycm9yKGBJbnZhbGlkIHBhcmVudCBzcGFuIGlkOiAke3RoaXMucGFyZW50U3BhbklkfSFgKTtcbiAgICAgICAgICAgIGV4aXQoMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgIXRoaXMuc3BhblN0YXJ0VGltZU5hbm9zICYmXG4gICAgICAgICAgICAhdGhpcy5zcGFuRW5kVGltZU1pY3JvcyAmJlxuICAgICAgICAgICAgIXRoaXMuc3BhblN0YXJ0VGltZU1pbGxpcyAmJlxuICAgICAgICAgICAgIXRoaXMuc3BhblN0YXJ0VGltZVNlY3NcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBlcnJvcihcbiAgICAgICAgICAgICAgICAnU3BhbiBzdGFydCB0aW1lIG11c3QgYmUgc3BlY2lmaWVkIGluIG9uZSBvZiB0aGUgc3VwcG9ydGVkIGZvcm1hdHMgJyArXG4gICAgICAgICAgICAgICAgICAgICcobmFub3NlY29uZHMsIG1pY3Jvc2Vjb25kcywgbWlsbGlzZWNvbmRzLCBvciBzZWNvbmRzKSEnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZXhpdCgxKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5zcGFuRW5kVGltZU5hbm9zICYmXG4gICAgICAgICAgICAhdGhpcy5zcGFuRW5kVGltZU1pY3JvcyAmJlxuICAgICAgICAgICAgIXRoaXMuc3BhbkVuZFRpbWVNaWxsaXMgJiZcbiAgICAgICAgICAgICF0aGlzLnNwYW5FbmRUaW1lU2Vjc1xuICAgICAgICApIHtcbiAgICAgICAgICAgIGVycm9yKFxuICAgICAgICAgICAgICAgICdTcGFuIGVuZCB0aW1lIG11c3QgYmUgc3BlY2lmaWVkIGluIG9uZSBvZiB0aGUgc3VwcG9ydGVkIGZvcm1hdHMgJyArXG4gICAgICAgICAgICAgICAgICAgICcobmFub3NlY29uZHMsIG1pY3Jvc2Vjb25kcywgbWlsbGlzZWNvbmRzLCBvciBzZWNvbmRzKSEnXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgZXhpdCgxKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3Jlc29sdmVFeHBvcnRlck9UTFBFbmRwb2ludCgpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMuZXhwb3J0ZXJPVExQVHJhY2VzRW5kcG9pbnQgfHxcbiAgICAgICAgICAgIHRoaXMuZXhwb3J0ZXJPVExQRW5kcG9pbnQgKyAnL3YxL3RyYWNlcydcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZXNvbHZlU3BhblN0YXJ0VGltZU5hbm9zKCk6IG51bWJlciB7XG4gICAgICAgIGlmICh0aGlzLnNwYW5TdGFydFRpbWVOYW5vcykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3BhblN0YXJ0VGltZU5hbm9zO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3BhblN0YXJ0VGltZU1pY3Jvcykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3BhblN0YXJ0VGltZU1pY3JvcyAqIDEwMDA7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zcGFuU3RhcnRUaW1lTWlsbGlzKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zcGFuU3RhcnRUaW1lTWlsbGlzICogMTAwMDAwMDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNwYW5TdGFydFRpbWVTZWNzKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zcGFuU3RhcnRUaW1lU2VjcyAqIDEwMDAwMDAwMDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIHNwYW4gc3RhcnQgdGltZSBpcyBzcGVjaWZpZWQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX3Jlc29sdmVTcGFuRW5kVGltZU5hbm9zKCk6IG51bWJlciB7XG4gICAgICAgIGlmICh0aGlzLnNwYW5FbmRUaW1lTmFub3MpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNwYW5FbmRUaW1lTmFub3M7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5zcGFuRW5kVGltZU1pY3Jvcykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3BhbkVuZFRpbWVNaWNyb3MgKiAxMDAwO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc3BhbkVuZFRpbWVNaWxsaXMpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNwYW5FbmRUaW1lTWlsbGlzICogMTAwMDAwMDtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNwYW5FbmRUaW1lU2Vjcykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3BhbkVuZFRpbWVTZWNzICogMTAwMDAwMDAwMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignTm8gc3BhbiBlbmQgdGltZSBpcyBzcGVjaWZpZWQnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgX25vcm1hbGl6ZUlkKGlkOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgICBpZiAoaWQgJiYgaWQuc3RhcnRzV2l0aCgnMHgnKSkge1xuICAgICAgICAgICAgaWQgPSBpZC5zdWJzdHJpbmcoJzB4Jy5sZW5ndGgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVTcGFuKCk6IFNwYW4ge1xuICAgICAgICBjb25zdCB0cmFjZUlkOiBzdHJpbmcgPSB0aGlzLl9ub3JtYWxpemVJZCh0aGlzLnRyYWNlSWQpO1xuICAgICAgICBjb25zdCBzcGFuSWQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuX25vcm1hbGl6ZUlkKHRoaXMuc3BhbklkKTtcbiAgICAgICAgY29uc3QgdHJhY2VTdGF0ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGNvbnN0IHBhcmVudFNwYW5JZDogc3RyaW5nIHwgdW5kZWZpbmVkID0gdGhpcy5fbm9ybWFsaXplSWQodGhpcy5wYXJlbnRTcGFuSWQpO1xuICAgICAgICBjb25zdCBuYW1lOiBzdHJpbmcgPSB0aGlzLnNwYW5OYW1lO1xuICAgICAgICBjb25zdCBraW5kOiBTcGFuS2luZCA9IFNwYW5LaW5kW3RoaXMuc3BhbktpbmQgYXMga2V5b2YgdHlwZW9mIFNwYW5LaW5kXTtcbiAgICAgICAgY29uc3Qgc3RhcnRUaW1lVW5peE5hbm86IG51bWJlciA9IHRoaXMuX3Jlc29sdmVTcGFuU3RhcnRUaW1lTmFub3MoKTtcbiAgICAgICAgY29uc3QgZW5kVGltZVVuaXhOYW5vOiBudW1iZXIgPSB0aGlzLl9yZXNvbHZlU3BhbkVuZFRpbWVOYW5vcygpO1xuICAgICAgICBjb25zdCBzdGF0dXNDb2RlOiBTcGFuU3RhdHVzQ29kZSA9XG4gICAgICAgICAgICBTcGFuU3RhdHVzQ29kZVt0aGlzLnNwYW5TdGF0dXNDb2RlIGFzIGtleW9mIHR5cGVvZiBTcGFuU3RhdHVzQ29kZV07XG4gICAgICAgIGNvbnN0IHN0YXR1c01lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZCA9IHRoaXMuc3BhblN0YXR1c01lc3NhZ2U7XG4gICAgICAgIGNvbnN0IHN0YXR1czogU3BhblN0YXR1cyA9IHtcbiAgICAgICAgICAgIGNvZGU6IHN0YXR1c0NvZGUgfHwgU3BhblN0YXR1c0NvZGUuVU5TRVQsXG4gICAgICAgICAgICBtZXNzYWdlOiBzdGF0dXNNZXNzYWdlLFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVbXSA9IGZsYXR0ZW5BdHRyaWJ1dGVzKHRoaXMuc3BhbkF0dHJpYnV0ZXMpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0cmFjZUlkLFxuICAgICAgICAgICAgc3BhbklkLFxuICAgICAgICAgICAgdHJhY2VTdGF0ZSxcbiAgICAgICAgICAgIHBhcmVudFNwYW5JZCxcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBraW5kLFxuICAgICAgICAgICAgc3RhcnRUaW1lVW5peE5hbm8sXG4gICAgICAgICAgICBlbmRUaW1lVW5peE5hbm8sXG4gICAgICAgICAgICBzdGF0dXMsXG4gICAgICAgICAgICBhdHRyaWJ1dGVzLFxuICAgICAgICAgICAgZHJvcHBlZEF0dHJpYnV0ZXNDb3VudDogMCxcbiAgICAgICAgfSBhcyBTcGFuO1xuICAgIH1cblxuICAgIHByaXZhdGUgX2NyZWF0ZVNjb3BlU3BhbnMoKTogU2NvcGVTcGFuc1tdIHtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzY29wZToge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBPVEVMX0NMSV9OQU1FLFxuICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uOiBPVEVMX0NMSV9WRVJTSU9OLFxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzOiBbXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHNwYW5zOiBbdGhpcy5fY3JlYXRlU3BhbigpXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfY3JlYXRlUmVzb3VyY2VTcGFucygpOiBSZXNvdXJjZVNwYW5zW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJlc291cmNlOiB7XG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IFJFU09VUkNFX0FUVFJJQlVURVMuU0VSVklDRV9OQU1FLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmluZ1ZhbHVlOiB0aGlzLnNlcnZpY2VOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICBkcm9wcGVkQXR0cmlidXRlc0NvdW50OiAwLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc2NvcGVTcGFuczogdGhpcy5fY3JlYXRlU2NvcGVTcGFucygpLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9jcmVhdGVUcmFjZVJlcXVlc3QoKTogVHJhY2VSZXF1ZXN0IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlc291cmNlU3BhbnM6IHRoaXMuX2NyZWF0ZVJlc291cmNlU3BhbnMoKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIF9leHBvcnRUcmFjZVJlcXVlc3QoXG4gICAgICAgIHRyYWNlUmVxdWVzdDogVHJhY2VSZXF1ZXN0XG4gICAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGNvbnN0IHJlc29sdmVkRXhwb3J0ZXJPVExQRW5kcG9pbnQgPVxuICAgICAgICAgICAgdGhpcy5fcmVzb2x2ZUV4cG9ydGVyT1RMUEVuZHBvaW50KCk7XG4gICAgICAgIGNvbnN0IHRyYWNlRXhwb3J0ZXI6IFRyYWNlRXhwb3J0ZXIgPSBjcmVhdGVUcmFjZUV4cG9ydGVyKFxuICAgICAgICAgICAgdGhpcy5leHBvcnRlck9UTFBQcm90b2NvbCxcbiAgICAgICAgICAgIHRoaXMuX3Jlc29sdmVFeHBvcnRlck9UTFBFbmRwb2ludCgpLFxuICAgICAgICAgICAgdGhpcy5leHBvcnRlck9UTFBIZWFkZXJzXG4gICAgICAgICk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAobG9nZ2VyLmlzRGVidWdFbmFibGVkKCkpIHtcbiAgICAgICAgICAgICAgICBsb2dnZXIuZGVidWcoXG4gICAgICAgICAgICAgICAgICAgIGBFeHBvcnRpbmcgdHJhY2UgcmVxdWVzdCB0byA6ICR7cmVzb2x2ZWRFeHBvcnRlck9UTFBFbmRwb2ludH1gLFxuICAgICAgICAgICAgICAgICAgICB0cmFjZVJlcXVlc3RcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYXdhaXQgdHJhY2VFeHBvcnRlci5leHBvcnQodHJhY2VSZXF1ZXN0KTtcbiAgICAgICAgICAgIGxvZ2dlci5kZWJ1ZygnRXhwb3J0ZWQgdHJhY2UgcmVxdWVzdCcpO1xuICAgICAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCdVbmFibGUgdG8gZXhwb3J0IHRyYWNlIHJlcXVlc3QnLCBlcnIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZ2VuZXJhdGVUcmFjZVBhcmVudCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYDAwLSR7dGhpcy50cmFjZUlkfS0ke3RoaXMuc3BhbklkfS0wMWA7XG4gICAgfVxuXG4gICAgY29tbWFuZE5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIENvbW1hbmRzLkVYUE9SVDtcbiAgICB9XG5cbiAgICBkZWZpbmVPcHRpb25zKGNvbW1hbmQ6IENvbW1hbmQpIHtcbiAgICAgICAgY29tbWFuZFxuICAgICAgICAgICAgLmFkZE9wdGlvbihuZXcgT3B0aW9uKCctdiwgLS12ZXJib3NlJywgJ0VuYWJsZSB2ZXJib3NlIG1vZGUnKVxuICAgICAgICAgICAgICAgIC5tYWtlT3B0aW9uTWFuZGF0b3J5KGZhbHNlKVxuICAgICAgICAgICAgICAgIC5kZWZhdWx0KHByb2Nlc3MuZW52Lk9URUxfQ0xJX1ZFUkJPU0UgJiZcbiAgICAgICAgICAgICAgICAgICAgcHJvY2Vzcy5lbnYuT1RFTF9DTElfVkVSQk9TRS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScpKVxuICAgICAgICAgICAgLmFkZE9wdGlvbihcbiAgICAgICAgICAgICAgICBuZXcgT3B0aW9uKCctZSwgLS1lbmRwb2ludCA8dXJsPicsICdPVEVMIEV4cG9ydGVyIE9UTFAgZW5kcG9pbnQnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgLmRlZmF1bHQocHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX0VORFBPSU5UKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmFkZE9wdGlvbihcbiAgICAgICAgICAgICAgICBuZXcgT3B0aW9uKCctdGUsIC0tdHJhY2VzLWVuZHBvaW50IDx1cmw+JywgJ09URUwgRXhwb3J0ZXIgT1RMUCB0cmFjZXMgZW5kcG9pbnQnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgLmRlZmF1bHQocHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX1RSQUNFU19FTkRQT0lOVClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRPcHRpb24oXG4gICAgICAgICAgICAgICAgbmV3IE9wdGlvbignLXAsIC0tcHJvdG9jb2wgPHByb3RvY29sPicsICdPVEVMIEV4cG9ydGVyIE9UTFAgcHJvdG9jb2wnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgLmRlZmF1bHQoXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzLmVudi5PVEVMX0VYUE9SVEVSX09UTFBfUFJPVE9DT0wgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIEV4cG9ydGVyT1RMUFByb3RvY29scy5IVFRQX0pTT05cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAuY2hvaWNlcyhPYmplY3QudmFsdWVzKEV4cG9ydGVyT1RMUFByb3RvY29scykpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy1oLCAtLWhlYWRlcnMgPGtleS12YWx1ZS1wYWlycy4uLj4nLCAnT1RFTCBFeHBvcnRlciBPVExQIGhlYWRlcnMnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgLmRlZmF1bHQocHJvY2Vzcy5lbnYuT1RFTF9FWFBPUlRFUl9PVExQX0hFQURFUlMgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3MuZW52Lk9URUxfRVhQT1JURVJfT1RMUF9IRUFERVJTLnNwbGl0KCcsJykpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy10cCwgLS10cmFjZXBhcmVudCA8aGVhZGVyPicsICdUcmFjZXBhcmVudCBoZWFkZXIgaW4gVzNDIHRyYWNlIGNvbnRleHQgZm9ybWF0JylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkoZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgIC5kZWZhdWx0KHByb2Nlc3MuZW52LlRSQUNFUEFSRU5UKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmFkZE9wdGlvbihcbiAgICAgICAgICAgICAgICBuZXcgT3B0aW9uKCctdHBwLCAtLXRyYWNlcGFyZW50LXByaW50JywgJ1ByaW50IHRyYWNlcGFyZW50IGhlYWRlciBpbiBXM0MgdHJhY2UgY29udGV4dCBmb3JtYXQgZm9yIHRoZSBleHBvcnRlZCBzcGFuJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkoZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgIC5kZWZhdWx0KHByb2Nlc3MuZW52Lk9URUxfQ0xJX1RSQUNFUEFSRU5UX1BSSU5UICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzLmVudi5PVEVMX0NMSV9UUkFDRVBBUkVOVF9QUklOVC50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy10LCAtLXRyYWNlLWlkIDxpZD4nLCAnVHJhY2UgaWQnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgICAgICAgICAgLmRlZmF1bHQocHJvY2Vzcy5lbnYuT1RFTF9DTElfVFJBQ0VfSUQpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy1zLCAtLXNwYW4taWQgPGlkPicsICdTcGFuIGlkJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkoZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgIC5kZWZhdWx0KGdlbmVyYXRlU3BhbklkKCkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy1wLCAtLXBhcmVudC1zcGFuLWlkIDxpZD4nLCAnUGFyZW50IHNwYW4gaWQnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRPcHRpb24oXG4gICAgICAgICAgICAgICAgbmV3IE9wdGlvbignLW4sIC0tbmFtZSA8bmFtZT4nLCAnU3BhbiBuYW1lJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkodHJ1ZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRPcHRpb24oXG4gICAgICAgICAgICAgICAgbmV3IE9wdGlvbignLXNuLCAtLXNlcnZpY2UtbmFtZSA8bmFtZT4nLCAnU2VydmljZSBuYW1lJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkodHJ1ZSlcbiAgICAgICAgICAgICAgICAgICAgLmRlZmF1bHQocHJvY2Vzcy5lbnYuT1RFTF9DTElfU0VSVklDRV9OQU1FIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzLmVudi5PVEVMX1NFUlZJQ0VfTkFNRSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRPcHRpb24oXG4gICAgICAgICAgICAgICAgbmV3IE9wdGlvbignLWssIC0ta2luZCA8a2luZD4nLCAnU3BhbiBraW5kJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkoZmFsc2UpXG4gICAgICAgICAgICAgICAgICAgIC5kZWZhdWx0KFNwYW5LaW5kW1NwYW5LaW5kLklOVEVSTkFMXSlcbiAgICAgICAgICAgICAgICAgICAgLmNob2ljZXMoT2JqZWN0LmtleXMoU3BhbktpbmQpLmZpbHRlcigobykgPT4gaXNOYU4oTnVtYmVyKG8pKSkpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy0tc3RhcnQtdGltZS1uYW5vcyA8bmFub3M+JywgJ1N0YXJ0IHRpbWUgaW4gbmFub3NlY29uZHMnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRPcHRpb24oXG4gICAgICAgICAgICAgICAgbmV3IE9wdGlvbignLS1zdGFydC10aW1lLW1pY3JvcyA8bWljcm9zPicsICdTdGFydCB0aW1lIGluIG1pY3Jvc2Vjb25kcycpXG4gICAgICAgICAgICAgICAgICAgIC5tYWtlT3B0aW9uTWFuZGF0b3J5KGZhbHNlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmFkZE9wdGlvbihcbiAgICAgICAgICAgICAgICBuZXcgT3B0aW9uKCctLXN0YXJ0LXRpbWUtbWlsbGlzIDxtaWxsaXM+JywgJ1N0YXJ0IHRpbWUgaW4gbWlsbGlzZWNvbmRzJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkoZmFsc2UpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy0tc3RhcnQtdGltZS1zZWNzIDxzZWNzPicsICdTdGFydCB0aW1lIGluIHNlY29uZHMnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRPcHRpb24oXG4gICAgICAgICAgICAgICAgbmV3IE9wdGlvbignLS1lbmQtdGltZS1uYW5vcyA8bmFub3M+JywgJ0VuZCB0aW1lIGluIG5hbm9zZWNvbmRzJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkoZmFsc2UpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy0tZW5kLXRpbWUtbWljcm9zIDxtaWNyb3M+JywgJ0VuZCB0aW1lIGluIG1pY3Jvc2Vjb25kcycpXG4gICAgICAgICAgICAgICAgICAgIC5tYWtlT3B0aW9uTWFuZGF0b3J5KGZhbHNlKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmFkZE9wdGlvbihcbiAgICAgICAgICAgICAgICBuZXcgT3B0aW9uKCctLWVuZC10aW1lLW1pbGxpcyA8bWlsbGlzPicsICdFbmQgdGltZSBpbiBtaWxsaXNlY29uZHMnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRPcHRpb24oXG4gICAgICAgICAgICAgICAgbmV3IE9wdGlvbignLS1lbmQtdGltZS1zZWNzIDxzZWNzPicsICdFbmQgdGltZSBpbiBzZWNvbmRzJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkoZmFsc2UpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuYWRkT3B0aW9uKFxuICAgICAgICAgICAgICAgIG5ldyBPcHRpb24oJy1zYyAtLXN0YXR1cy1jb2RlIDxjb2RlPicsICdTdGF0dXMgY29kZScpXG4gICAgICAgICAgICAgICAgICAgIC5tYWtlT3B0aW9uTWFuZGF0b3J5KGZhbHNlKVxuICAgICAgICAgICAgICAgICAgICAuZGVmYXVsdChTcGFuU3RhdHVzQ29kZVtTcGFuU3RhdHVzQ29kZS5VTlNFVF0pXG4gICAgICAgICAgICAgICAgICAgIC5jaG9pY2VzKFxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXMoU3BhblN0YXR1c0NvZGUpLmZpbHRlcigobykgPT4gaXNOYU4oTnVtYmVyKG8pKSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmFkZE9wdGlvbihcbiAgICAgICAgICAgICAgICBuZXcgT3B0aW9uKCctc20gLS1zdGF0dXMtbWVzc2FnZSA8bWVzc2FnZT4nLCAnU3RhdHVzIG1lc3NhZ2UnKVxuICAgICAgICAgICAgICAgICAgICAubWFrZU9wdGlvbk1hbmRhdG9yeShmYWxzZSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5hZGRPcHRpb24oXG4gICAgICAgICAgICAgICAgbmV3IE9wdGlvbihcbiAgICAgICAgICAgICAgICAgICAgJy1hIC0tYXR0cmlidXRlcyA8a2V5LXZhbHVlLXBhaXJzLi4uPicsXG4gICAgICAgICAgICAgICAgICAgICdTcGFuIGF0dHJpYnV0ZXMgYXMgc3BhY2Ugc2VwZXJhdGVkIGtleS12YWx1ZSBwYWlycyAoa2V5MT12YWx1ZTEga2V5Mj12YWx1ZTIga2V5Mz12YWx1ZTMpJylcbiAgICAgICAgICAgICAgICAgICAgLm1ha2VPcHRpb25NYW5kYXRvcnkoZmFsc2UpXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIGFzeW5jIGV4ZWN1dGUob3B0aW9uczogT3B0aW9uVmFsdWVzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIHRoaXMuX3BhcnNlT3B0aW9ucyhvcHRpb25zKTtcblxuICAgICAgICB0aGlzLl9jaGVja09wdGlvbnMoKTtcblxuICAgICAgICBjb25zdCB0cmFjZVJlcXVlc3Q6IFRyYWNlUmVxdWVzdCA9IHRoaXMuX2NyZWF0ZVRyYWNlUmVxdWVzdCgpO1xuICAgICAgICBhd2FpdCB0aGlzLl9leHBvcnRUcmFjZVJlcXVlc3QodHJhY2VSZXF1ZXN0KTtcbiAgICAgICAgaWYgKHRoaXMudHJhY2VQYXJlbnRQcmludCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5fZ2VuZXJhdGVUcmFjZVBhcmVudCgpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
+1
-1
{
"name": "otel-cli",
"version": "0.0.5",
"version": "1.0.0",
"description": "OTEL CLI is a command-line tool for sending OpenTelemetry traces.",

@@ -5,0 +5,0 @@ "author": "Serkan Ozal <serkanozal86@gmail.com> (https://github.com/serkan-ozal)",