Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@aws-cdk/aws-autoscaling-common

Package Overview
Dependencies
Maintainers
5
Versions
272
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-cdk/aws-autoscaling-common - npm Package Compare versions

Comparing version 1.19.0 to 1.20.0

16

lib/interval-utils.js

@@ -34,3 +34,3 @@ "use strict";

// Make a copy
intervals = intervals.map(x => (Object.assign({}, x)));
intervals = intervals.map(x => ({ ...x }));
// Sort by whatever number we have for each interval

@@ -43,6 +43,6 @@ intervals.sort(comparatorFromKey((x) => x.lower !== undefined ? x.lower : x.upper));

if (intervals[0].lower === undefined) {
intervals[0] = Object.assign(Object.assign({}, intervals[0]), { lower: 0 });
intervals[0] = { ...intervals[0], lower: 0 };
}
if (intervals[lastIndex].upper === undefined) {
intervals[lastIndex] = Object.assign(Object.assign({}, intervals[lastIndex]), { upper: Infinity });
intervals[lastIndex] = { ...intervals[lastIndex], upper: Infinity };
}

@@ -115,3 +115,3 @@ for (const interval of intervals) {

if (interval.change === 0) {
intervals[i] = Object.assign(Object.assign({}, interval), { change: undefined });
intervals[i] = { ...interval, change: undefined };
}

@@ -127,3 +127,3 @@ }

if (intervals[i].change === undefined && intervals[i + 1].change === undefined) {
intervals[i] = Object.assign(Object.assign({}, intervals[i]), { upper: intervals[i + 1].upper });
intervals[i] = { ...intervals[i], upper: intervals[i + 1].upper };
intervals.splice(i + 1, 1);

@@ -160,3 +160,3 @@ }

if (intervals[i].upper !== undefined && intervals[i + 1].lower === undefined) {
intervals[i + 1] = Object.assign(Object.assign({}, intervals[i + 1]), { lower: intervals[i].upper });
intervals[i + 1] = { ...intervals[i + 1], lower: intervals[i].upper };
ret = true;

@@ -168,3 +168,3 @@ }

if (intervals[i].lower !== undefined && intervals[i - 1].upper === undefined) {
intervals[i - 1] = Object.assign(Object.assign({}, intervals[i - 1]), { upper: intervals[i].lower });
intervals[i - 1] = { ...intervals[i - 1], upper: intervals[i].lower };
ret = true;

@@ -208,2 +208,2 @@ }

exports.findAlarmThresholds = findAlarmThresholds;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJ2YWwtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlcnZhbC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVFBOztHQUVHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQUMsU0FBNEIsRUFBRSxrQkFBMkI7SUFDMUYsdUNBQXVDO0lBQ3ZDLE1BQU0sSUFBSSxHQUFHLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELHlEQUF5RDtJQUN6RCxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV4Qix1RkFBdUY7SUFDdkYsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1FBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7S0FBRTtJQUV0RCx1RUFBdUU7SUFDdkUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFakMsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBZEQsZ0RBY0M7QUFFRDs7R0FFRztBQUNILFNBQVMseUJBQXlCLENBQUMsU0FBNEI7SUFDN0QsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7S0FDakQ7SUFFRCxLQUFLLE1BQU0sUUFBUSxJQUFJLFNBQVMsRUFBRTtRQUNoQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ2hFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3JHO0tBQ0Y7SUFFRCxjQUFjO0lBQ2QsU0FBUyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxtQkFBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXpDLG9EQUFvRDtJ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QUFDLENBQUM7QUFDM0IsQ0FBQztBQU9EOzs7OztHQUtHO0FBQ0gsU0FBZ0IsbUJBQW1CLENBQUMsU0FBb0M7SUFDdEUsTUFBTSxRQUFRLEdBQUcsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUM7SUFFbEUsSUFBSSxRQUFRLEtBQUssQ0FBQyxDQUFDLEVBQUU7UUFDbkIsT0FBTztZQUNMLHVCQUF1QixFQUFFLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDaEUsdUJBQXVCLEVBQUUsUUFBUSxHQUFHLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1NBQ3BGLENBQUM7S0FDSDtJQUVELElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7UUFDMUIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLENBQUMsRUFBRSxDQUFDO0tBQ3ZDO0lBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRXJELE9BQU87UUFDTCx1QkFBdUIsRUFBRSxXQUFXLEdBQUcsQ0FBQztRQUN4Qyx1QkFBdUIsRUFBRSxXQUFXO0tBQ3JDLENBQUM7QUFDSixDQUFDO0FBcEJELGtEQW9CQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjYWxpbmdJbnRlcnZhbCB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWwge1xuICByZWFkb25seSBsb3dlcjogbnVtYmVyO1xuICByZWFkb25seSB1cHBlcjogbnVtYmVyO1xuICByZWFkb25seSBjaGFuZ2U/OiBudW1iZXI7XG59XG5cbi8qKlxuICogTm9ybWFsaXplIHRoZSBnaXZlbiBpbnRlcnZhbCBzZXQgdG8gY292ZXIgdGhlIGNvbXBsZXRlIG51bWJlciBsaW5lIGFuZCBtYWtlIHN1cmUgaXQgaGFzIGF0IG1vc3Qgb25lIGdhcFxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplSW50ZXJ2YWxzKGludGVydmFsczogU2NhbGluZ0ludGVydmFsW10sIGNoYW5nZXNBcmVBYnNvbHV0ZTogYm9vbGVhbik6IENvbXBsZXRlU2NhbGluZ0ludGVydmFsW10ge1xuICAvLyBNYWtlIGludGVydmFscyBhIGNvbXBsZXRlIG51bWJlcmxpbmVcbiAgY29uc3QgZnVsbCA9IG9yZGVyQW5kQ29tcGxldGVJbnRlcnZhbHMoaW50ZXJ2YWxzKTtcbiAgLy8gQWRkICd1bmRlZmluZWQncyBpbiB1bmNvdmVyZWQgYXJlYXMgb2YgdGhlIG51bWJlciBsaW5lXG4gIG1ha2VHYXBzVW5kZWZpbmVkKGZ1bGwpO1xuXG4gIC8vIEluIGNhc2Ugb2YgcmVsYXRpdmUgY2hhbmdlcywgdHJlYXQgMC1jaGFuZ2UgYWxzbyBhcyAndW5kZWZpbmVkJyAoPSBubyBjaGFuZ2UgYWN0aW9uKVxuICBpZiAoIWNoYW5nZXNBcmVBYnNvbHV0ZSkgeyBtYWtlWmVyb3NVbmRlZmluZWQoZnVsbCk7IH1cblxuICAvLyBDb21iaW5lIGFkamFjZW50IHVuZGVmaW5lcyBhbmQgbWFrZSBzdXJlIHRoZXJlJ3MgYXQgbW9zdCBvbmUgb2YgdGhlbVxuICBjb21iaW5lVW5kZWZpbmVkcyhmdWxsKTtcbiAgdmFsaWRhdGVBdE1vc3RPbmVVbmRlZmluZWQoZnVsbCk7XG5cbiAgcmV0dXJuIGZ1bGw7XG59XG5cbi8qKlxuICogQ29tcGxldGVseSBvcmRlciBzY2FsaW5nIGludGVydmFscywgbWFraW5nIHRoZWlyIGxvd2VyIGFuZCB1cHBlciBib3VuZHMgY29uY3JldGUuXG4gKi9cbmZ1bmN0aW9uIG9yZGVyQW5kQ29tcGxldGVJbnRlcnZhbHMoaW50ZXJ2YWxzOiBTY2FsaW5nSW50ZXJ2YWxbXSk6IENvbXBsZXRlU2NhbGluZ0ludGVydmFsW10ge1xuICBpZiAoaW50ZXJ2YWxzLmxlbmd0aCA8IDIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlcXVpcmUgYXQgbGVhc3QgMiBpbnRlcnZhbHMnKTtcbiAgfVxuXG4gIGZvciAoY29uc3QgaW50ZXJ2YWwgb2YgaW50ZXJ2YWxzKSB7XG4gICAgaWYgKGludGVydmFsLmxvd2VyID09PSB1bmRlZmluZWQgJiYgaW50ZXJ2YWwudXBwZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBNdXN0IHN1cHBseSBhdCBsZWFzdCBvbmUgb2YgJ3VwcGVyJyBvciAnbG93ZXInLCBnb3Q6ICR7SlNPTi5zdHJpbmdpZnkoaW50ZXJ2YWwpfWApO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBjb3B5XG4gIGludGVydmFscyA9IGludGVydmFscy5tYXAoeCA9PiAoey4uLnh9KSk7XG5cbiAgLy8gU29ydCBieSB3aGF0ZXZlciBudW1iZXIgd2UgaGF2ZSBmb3IgZWFjaCBpbnRlcnZhbFxuICBpbnRlcnZhbHMuc29ydChjb21wYXJhdG9yRnJvbUtleSgoeDogU2NhbGluZ0ludGVydmFsKSA9PiB4Lmxvd2VyICE9PSB1bmRlZmluZWQgPyB4Lmxvd2VyIDogeC51cHBlcikpO1xuXG4gIC8vIFByb3BhZ2F0ZSBib3VuZGFyaWVzIHVudGlsIG5vIG1vcmUgY2hhbmdlXG4gIHdoaWxlIChwcm9wYWdhdGVCb3VuZHMoaW50ZXJ2YWxzKSkgeyAvKiBSZXBlYXQgKi8gfVxuXG4gIGNvbnN0IGxhc3RJbmRleCA9IGludGVydmFscy5sZW5ndGggLSAxO1xuXG4gIC8vIFZhbGlkYXRlIHRoYXQgbm8gaW50ZXJ2YWxzIGhhdmUgdW5kZWZpbmVkIGJvdW5kcyBub3csIHdoaWNoIG11c3QgbWVhbiB0aGV5J3JlIGNvbXBsZXRlLlxuICBpZiAoaW50ZXJ2YWxzWzBdLmxvd2VyID09PSB1bmRlZmluZWQpIHsgaW50ZXJ2YWxzWzBdID0geyAuLi5pbnRlcnZhbHNbMF0sIGxvd2VyOiAwIH07IH1cbiAgaWYgKGludGVydmFsc1tsYXN0SW5kZXhdLnVwcGVyID09PSB1bmRlZmluZWQpIHsgaW50ZXJ2YWxzW2xhc3RJbmRleF0gPSB7IC4uLmludGVydmFsc1tsYXN0SW5kZXhdLCB1cHBlcjogSW5maW5pdHkgfTsgfVxuICBmb3IgKGNvbnN0IGludGVydmFsIG9mIGludGVydmFscykge1xuICAgIGlmIChpbnRlcnZhbC5sb3dlciA9PT0gdW5kZWZpbmVkIHx8IGludGVydmFsLnVwcGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGRldGVybWluZSB0aGUgbG93ZXIgYW5kIHVwcGVyIGJvdW5kcyBmb3IgJHtKU09OLnN0cmluZ2lmeShpbnRlcnZhbCl9YCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgY29tcGxldGVJbnRlcnZhbHMgPSBpbnRlcnZhbHMgYXMgQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWxbXTtcblxuICAvLyBWYWxpZGF0ZSB0aGF0IHdlIGhhdmUgbm9ub3ZlcmxhcHBpbmcgaW50ZXJ2YWxzIG5vdy5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb21wbGV0ZUludGVydmFscy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICBpZiAob3ZlcmxhcChjb21wbGV0ZUludGVydmFsc1tpXSwgY29tcGxldGVJbnRlcnZhbHNbaSArIDFdKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBUd28gaW50ZXJ2YWxzIG92ZXJsYXA6ICR7SlNPTi5zdHJpbmdpZnkoY29tcGxldGVJbnRlcnZhbHNbaV0pfSBhbmQgJHtKU09OLnN0cmluZ2lmeShjb21wbGV0ZUludGVydmFsc1tpICsgMV0pfWApO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZpbGwgdXAgdGhlIGdhcHNcblxuICByZXR1cm4gY29tcGxldGVJbnRlcnZhbHM7XG59XG5cbi8qKlxuICogTWFrZSB0aGUgaW50ZXJ2YWxzIGNvdmVyIHRoZSBjb21wbGV0ZSBudW1iZXIgbGluZVxuICpcbiAqIFRoaXMgZW50YWlscyBhZGRpbmcgaW50ZXJ2YWxzIHdpdGggYW4gJ3VuZGVmaW5lZCcgY2hhbmdlIHRvIGZpbGwgdXAgdGhlIGdhcHMuXG4gKlxuICogU2luY2UgbWV0cmljcyBoYXZlIGEgaGFsZm9wZW4gaW50ZXJ2YWwsIHRoZSBmaXJzdCBvbmUgd2lsbCBnZXQgYSBsb3dlciBib3VuZFxuICogb2YgMCwgdGhlIGxhc3Qgb25lIHdpbGwgZ2V0IGFuIHVwcGVyIGJvdW5kIG9mICtJbmZpbml0eS5cbiAqXG4gKiBJbiBjYXNlIG9mIGFic29sdXRlIGFkanVzdG1lbnRzLCB0aGUgbG93ZXIgbnVtYmVyIG9mIHRoZSBhZGphY2VudCBib3VuZCB3aWxsXG4gKiBiZSB1c2VkLCB3aGljaCBtZWFucyBjb25zZXJ2YXRpdmUgY2hhbmdlLiBJbiBjYXNlIG9mIHJlbGF0aXZlIGFkanVzdG1lbnRzLFxuICogd2UnbGwgdXNlIHJlbGF0aXZlIGFkanVzbWVudCAwICh3aGljaCBtZWFucyBubyBjaGFuZ2UpLlxuICovXG5mdW5jdGlvbiBtYWtlR2Fwc1VuZGVmaW5lZChpbnRlcnZhbHM6IENvbXBsZXRlU2NhbGluZ0ludGVydmFsW10pIHtcbiAgLy8gQWRkIGVkZ2UgaW50ZXJ2YWxzIGlmIG5lY2Vzc2FyeSwgYnV0IG9ubHkgZm9yIHJlbGF0aXZlIGFkanVzdG1lbnRzLiBTaW5jZSB3ZSdyZVxuICAvLyBnb2luZyB0byBtYWtlIHNjYWxpbmcgaW50ZXJ2YWxzIGV4dGVuZCBhbGwgdGhlIHdheSBvdXQgdG8gaW5maW5pdHkgb24gZWl0aGVyIHNpZGUsXG4gIC8vIHRoZSByZXN1bHQgaXMgdGhlIHNhbWUgZm9yIGFic29sdXRlIGFkanVzdG1lbnRzIGFueXdheS5cbiAgaWYgKGludGVydmFsc1swXS5sb3dlciAhPT0gMCkge1xuICAgIGludGVydmFscy5zcGxpY2UoMCwgMSwge1xuICAgICAgbG93ZXI6IDAsXG4gICAgICB1cHBlcjogaW50ZXJ2YWxzWzBdLmxvd2VyLFxuICAgICAgY2hhbmdlOiB1bmRlZmluZWQsXG4gICAgfSk7XG4gIH1cbiAgaWYgKGxhc3QoaW50ZXJ2YWxzKS51cHBlciAhPT0gSW5maW5pdHkpIHtcbiAgICBpbnRlcnZhbHMucHVzaCh7XG4gICAgICBsb3dlcjogbGFzdChpbnRlcnZhbHMpLnVwcGVyLFxuICAgICAgdXBwZXI6IEluZmluaXR5LFxuICAgICAgY2hhbmdlOiB1bmRlZmluZWRcbiAgICB9KTtcbiAgfVxuXG4gIGxldCBpID0gMTtcbiAgd2hpbGUgKGkgPCBpbnRlcnZhbHMubGVuZ3RoKSB7XG4gICAgaWYgKGludGVydmFsc1tpIC0gMV0udXBwZXIgPCBpbnRlcnZhbHNbaV0ubG93ZXIpIHtcbiAgICAgIGludGVydmFscy5zcGxpY2UoaSwgMCwge1xuICAgICAgICBsb3dlcjogaW50ZXJ2YWxzW2kgLSAxXS51cHBlcixcbiAgICAgICAgdXBwZXI6IGludGVydmFsc1tpXS5sb3dlcixcbiAgICAgICAgY2hhbmdlOiB1bmRlZmluZWRcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBpKys7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVHVybiB6ZXJvIGNoYW5nZXMgaW50byB1bmRlZmluZWQsIGluLXBsYWNlXG4gKi9cbmZ1bmN0aW9uIG1ha2VaZXJvc1VuZGVmaW5lZChpbnRlcnZhbHM6IENvbXBsZXRlU2NhbGluZ0ludGVydmFsW10pIHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbnRlcnZhbHMubGVuZ3RoOyArK2kpIHtcbiAgICBjb25zdCBpbnRlcnZhbCA9IGludGVydmFsc1tpXTtcbiAgICBpZiAoaW50ZXJ2YWwuY2hhbmdlID09PSAwKSB7XG4gICAgICBpbnRlcnZhbHNbaV0gPSB7IC4uLmludGVydmFsLCBjaGFuZ2U6IHVuZGVmaW5lZCB9O1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIElmIHRoZXJlIGFyZSBhZGphY2VudCBcInVuZGVmaW5lZFwiIGludGVydmFscywgY29tYmluZSB0aGVtXG4gKi9cbmZ1bmN0aW9uIGNvbWJpbmVVbmRlZmluZWRzKGludGVydmFsczogQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWxbXSkge1xuICBsZXQgaSA9IDA7XG4gIHdoaWxlIChpIDwgaW50ZXJ2YWxzLmxlbmd0aCAtIDEpIHtcbiAgICBpZiAoaW50ZXJ2YWxzW2ldLmNoYW5nZSA9PT0gdW5kZWZpbmVkICYmIGludGVydmFsc1tpICsgMV0uY2hhbmdlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGludGVydmFsc1tpXSA9IHsgLi4uaW50ZXJ2YWxzW2ldLCB1cHBlcjogaW50ZXJ2YWxzW2kgKyAxXS51cHBlciB9O1xuICAgICAgaW50ZXJ2YWxzLnNwbGljZShpICsgMSwgMSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGkrKztcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVBdE1vc3RPbmVVbmRlZmluZWQoaW50ZXJ2YWxzOiBDb21wbGV0ZVNjYWxpbmdJbnRlcnZhbFtdKSB7XG4gIGNvbnN0IHVuZGVmID0gaW50ZXJ2YWxzLmZpbHRlcih4ID0+IHguY2hhbmdlID09PSB1bmRlZmluZWQpO1xuICBpZiAodW5kZWYubGVuZ3RoID4gMSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQ2FuIGhhdmUgYXQgbW9zdCBvbmUgbm8tY2hhbmdlIGludGVydmFsLCBnb3QgJHtKU09OLnN0cmluZ2lmeSh1bmRlZil9YCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gY29tcGFyYXRvckZyb21LZXk8VCwgVT4oa2V5Rm46ICh4OiBUKSA9PiBVKSB7XG4gIHJldHVybiAoYTogVCwgYjogVCkgPT4ge1xuICAgIGNvbnN0IGtleUEgPSBrZXlGbihhKTtcbiAgICBjb25zdCBrZXlCID0ga2V5Rm4oYik7XG5cbiAgICBpZiAoa2V5QSA8IGtleUIpIHsgcmV0dXJuIC0xOyB9XG4gICAgaWYgKGtleUEgPT09IGtleUIpIHsgcmV0dXJuIDA7IH1cbiAgICByZXR1cm4gMTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gcHJvcGFnYXRlQm91bmRzKGludGVydmFsczogU2NhbGluZ0ludGVydmFsW10pIHtcbiAgbGV0IHJldCA9IGZhbHNlO1xuXG4gIC8vIFByb3BhZ2F0ZSB1cHBlciBib3VuZHMgdXB3YXJkc1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGludGVydmFscy5sZW5ndGggLSAxOyBpKyspIHtcbiAgICBpZiAoaW50ZXJ2YWxzW2ldLnVwcGVyICE9PSB1bmRlZmluZWQgJiYgaW50ZXJ2YWxzW2kgKyAxXS5sb3dlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpbnRlcnZhbHNbaSArIDFdID0geyAuLi5pbnRlcnZhbHNbaSArIDFdLCBsb3dlcjogaW50ZXJ2YWxzW2ldLnVwcGVyIH07XG4gICAgICByZXQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByb3BhZ2F0ZSBsb3dlciBib3VuZHMgZG93bndhcmRzXG4gIGZvciAobGV0IGkgPSBpbnRlcnZhbHMubGVuZ3RoIC0gMTsgaSA+PSAxOyBpLS0pIHtcbiAgICBpZiAoaW50ZXJ2YWxzW2ldLmxvd2VyICE9PSB1bmRlZmluZWQgJiYgaW50ZXJ2YWxzW2kgLSAxXS51cHBlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBpbnRlcnZhbHNbaSAtIDFdID0geyAuLi5pbnRlcnZhbHNbaSAtIDFdLCB1cHBlcjogaW50ZXJ2YWxzW2ldLmxvd2VyIH07XG4gICAgICByZXQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXQ7XG59XG5cbi8qKlxuICogV2hldGhlciB0d28gaW50ZXJ2YWxzIG92ZXJsYXBcbiAqL1xuZnVuY3Rpb24gb3ZlcmxhcChhOiBDb21wbGV0ZVNjYWxpbmdJbnRlcnZhbCwgYjogQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWwpIHtcbiAgcmV0dXJuIGEubG93ZXIgPCBiLnVwcGVyICYmIGEudXBwZXIgPiBiLmxvd2VyO1xufVxuXG5mdW5jdGlvbiBsYXN0PFQ+KHhzOiBUW10pIHtcbiAgcmV0dXJuIHhzW3hzLmxlbmd0aCAtIDFdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFsYXJtcyB7XG4gIHJlYWRvbmx5IGxvd2VyQWxhcm1JbnRlcnZhbEluZGV4PzogbnVtYmVyO1xuICByZWFkb25seSB1cHBlckFsYXJtSW50ZXJ2YWxJbmRleD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBMb2NhdGUgdGhlIGludGVydmFscyB0aGF0IHNob3VsZCBoYXZlIHRoZSBhbGFybSB0aHJlc2hvbGRzLCBieSBpbmRleC5cbiAqXG4gKiBQaWNrIHRoZSBpbnRlcnZhbHMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIHNpbmdsZXRvbiBcInVuZGVmaW5lZFwiIGludGVydmFsLCBvclxuICogcGljayB0aGUgbWlkZGxlIGludGVydmFsIGlmIHRoZXJlJ3Mgbm8gc3VjaCBpbnRlcnZhbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmRBbGFybVRocmVzaG9sZHMoaW50ZXJ2YWxzOiBDb21wbGV0ZVNjYWxpbmdJbnRlcnZhbFtdKTogQWxhcm1zIHtcbiAgY29uc3QgZ2FwSW5kZXggPSBpbnRlcnZhbHMuZmluZEluZGV4KHggPT4geC5jaGFuZ2UgPT09IHVuZGVmaW5lZCk7XG5cbiAgaWYgKGdhcEluZGV4ICE9PSAtMSkge1xuICAgIHJldHVybiB7XG4gICAgICBsb3dlckFsYXJtSW50ZXJ2YWxJbmRleDogZ2FwSW5kZXggPiAwID8gZ2FwSW5kZXggLSAxIDogdW5kZWZpbmVkLFxuICAgICAgdXBwZXJBbGFybUludGVydmFsSW5kZXg6IGdhcEluZGV4IDwgaW50ZXJ2YWxzLmxlbmd0aCAtIDEgPyBnYXBJbmRleCArIDEgOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxuXG4gIGlmIChpbnRlcnZhbHMubGVuZ3RoID09PSAxKSB7XG4gICAgcmV0dXJuIHsgdXBwZXJBbGFybUludGVydmFsSW5kZXg6IDAgfTtcbiAgfVxuXG4gIGNvbnN0IG1pZGRsZUluZGV4ID0gTWF0aC5mbG9vcihpbnRlcnZhbHMubGVuZ3RoIC8gMik7XG5cbiAgcmV0dXJuIHtcbiAgICBsb3dlckFsYXJtSW50ZXJ2YWxJbmRleDogbWlkZGxlSW5kZXggLSAxLFxuICAgIHVwcGVyQWxhcm1JbnRlcnZhbEluZGV4OiBtaWRkbGVJbmRleFxuICB9O1xufSJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJ2YWwtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbnRlcnZhbC11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVFBOztHQUVHO0FBQ0gsU0FBZ0Isa0JBQWtCLENBQUMsU0FBNEIsRUFBRSxrQkFBMkI7SUFDMUYsdUNBQXVDO0lBQ3ZDLE1BQU0sSUFBSSxHQUFHLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2xELHlEQUF5RDtJQUN6RCxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUV4Qix1RkFBdUY7SUFDdkYsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1FBQUUsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7S0FBRTtJQUV0RCx1RUFBdUU7SUFDdkUsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFakMsT0FBTyxJQUFJLENBQUM7QUFDZCxDQUFDO0FBZEQsZ0RBY0M7QUFFRDs7R0FFRztBQUNILFNBQVMseUJBQXlCLENBQUMsU0FBNEI7SUFDN0QsSUFBSSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtRQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7S0FDakQ7SUFFRCxLQUFLLE1BQU0sUUFBUSxJQUFJLFNBQVMsRUFBRTtRQUNoQyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLFFBQVEsQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFO1lBQ2hFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQ3JHO0tBQ0Y7SUFFRCxjQUFjO0lBQ2QsU0FBUyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUMsR0FBRyxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUM7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LFNBQVMsSUFBSSxDQUFJLEVBQU87SUFDdEIsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztBQUMzQixDQUFDO0FBT0Q7Ozs7O0dBS0c7QUFDSCxTQUFnQixtQkFBbUIsQ0FBQyxTQUFvQztJQUN0RSxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQztJQUVsRSxJQUFJLFFBQVEsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUNuQixPQUFPO1lBQ0wsdUJBQXVCLEVBQUUsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUNoRSx1QkFBdUIsRUFBRSxRQUFRLEdBQUcsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDcEYsQ0FBQztLQUNIO0lBRUQsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUMxQixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxFQUFFLENBQUM7S0FDdkM7SUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFckQsT0FBTztRQUNMLHVCQUF1QixFQUFFLFdBQVcsR0FBRyxDQUFDO1FBQ3hDLHVCQUF1QixFQUFFLFdBQVc7S0FDckMsQ0FBQztBQUNKLENBQUM7QUFwQkQsa0RBb0JDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NhbGluZ0ludGVydmFsIH0gZnJvbSBcIi4vdHlwZXNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBDb21wbGV0ZVNjYWxpbmdJbnRlcnZhbCB7XG4gIHJlYWRvbmx5IGxvd2VyOiBudW1iZXI7XG4gIHJlYWRvbmx5IHVwcGVyOiBudW1iZXI7XG4gIHJlYWRvbmx5IGNoYW5nZT86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBOb3JtYWxpemUgdGhlIGdpdmVuIGludGVydmFsIHNldCB0byBjb3ZlciB0aGUgY29tcGxldGUgbnVtYmVyIGxpbmUgYW5kIG1ha2Ugc3VyZSBpdCBoYXMgYXQgbW9zdCBvbmUgZ2FwXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBub3JtYWxpemVJbnRlcnZhbHMoaW50ZXJ2YWxzOiBTY2FsaW5nSW50ZXJ2YWxbXSwgY2hhbmdlc0FyZUFic29sdXRlOiBib29sZWFuKTogQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWxbXSB7XG4gIC8vIE1ha2UgaW50ZXJ2YWxzIGEgY29tcGxldGUgbnVtYmVybGluZVxuICBjb25zdCBmdWxsID0gb3JkZXJBbmRDb21wbGV0ZUludGVydmFscyhpbnRlcnZhbHMpO1xuICAvLyBBZGQgJ3VuZGVmaW5lZCdzIGluIHVuY292ZXJlZCBhcmVhcyBvZiB0aGUgbnVtYmVyIGxpbmVcbiAgbWFrZUdhcHNVbmRlZmluZWQoZnVsbCk7XG5cbiAgLy8gSW4gY2FzZSBvZiByZWxhdGl2ZSBjaGFuZ2VzLCB0cmVhdCAwLWNoYW5nZSBhbHNvIGFzICd1bmRlZmluZWQnICg9IG5vIGNoYW5nZSBhY3Rpb24pXG4gIGlmICghY2hhbmdlc0FyZUFic29sdXRlKSB7IG1ha2VaZXJvc1VuZGVmaW5lZChmdWxsKTsgfVxuXG4gIC8vIENvbWJpbmUgYWRqYWNlbnQgdW5kZWZpbmVzIGFuZCBtYWtlIHN1cmUgdGhlcmUncyBhdCBtb3N0IG9uZSBvZiB0aGVtXG4gIGNvbWJpbmVVbmRlZmluZWRzKGZ1bGwpO1xuICB2YWxpZGF0ZUF0TW9zdE9uZVVuZGVmaW5lZChmdWxsKTtcblxuICByZXR1cm4gZnVsbDtcbn1cblxuLyoqXG4gKiBDb21wbGV0ZWx5IG9yZGVyIHNjYWxpbmcgaW50ZXJ2YWxzLCBtYWtpbmcgdGhlaXIgbG93ZXIgYW5kIHVwcGVyIGJvdW5kcyBjb25jcmV0ZS5cbiAqL1xuZnVuY3Rpb24gb3JkZXJBbmRDb21wbGV0ZUludGVydmFscyhpbnRlcnZhbHM6IFNjYWxpbmdJbnRlcnZhbFtdKTogQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWxbXSB7XG4gIGlmIChpbnRlcnZhbHMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZSBhdCBsZWFzdCAyIGludGVydmFscycpO1xuICB9XG5cbiAgZm9yIChjb25zdCBpbnRlcnZhbCBvZiBpbnRlcnZhbHMpIHtcbiAgICBpZiAoaW50ZXJ2YWwubG93ZXIgPT09IHVuZGVmaW5lZCAmJiBpbnRlcnZhbC51cHBlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE11c3Qgc3VwcGx5IGF0IGxlYXN0IG9uZSBvZiAndXBwZXInIG9yICdsb3dlcicsIGdvdDogJHtKU09OLnN0cmluZ2lmeShpbnRlcnZhbCl9YCk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIGNvcHlcbiAgaW50ZXJ2YWxzID0gaW50ZXJ2YWxzLm1hcCh4ID0+ICh7Li4ueH0pKTtcblxuICAvLyBTb3J0IGJ5IHdoYXRldmVyIG51bWJlciB3ZSBoYXZlIGZvciBlYWNoIGludGVydmFsXG4gIGludGVydmFscy5zb3J0KGNvbXBhcmF0b3JGcm9tS2V5KCh4OiBTY2FsaW5nSW50ZXJ2YWwpID0+IHgubG93ZXIgIT09IHVuZGVmaW5lZCA/IHgubG93ZXIgOiB4LnVwcGVyKSk7XG5cbiAgLy8gUHJvcGFnYXRlIGJvdW5kYXJpZXMgdW50aWwgbm8gbW9yZSBjaGFuZ2VcbiAgd2hpbGUgKHByb3BhZ2F0ZUJvdW5kcyhpbnRlcnZhbHMpKSB7IC8qIFJlcGVhdCAqLyB9XG5cbiAgY29uc3QgbGFzdEluZGV4ID0gaW50ZXJ2YWxzLmxlbmd0aCAtIDE7XG5cbiAgLy8gVmFsaWRhdGUgdGhhdCBubyBpbnRlcnZhbHMgaGF2ZSB1bmRlZmluZWQgYm91bmRzIG5vdywgd2hpY2ggbXVzdCBtZWFuIHRoZXkncmUgY29tcGxldGUuXG4gIGlmIChpbnRlcnZhbHNbMF0ubG93ZXIgPT09IHVuZGVmaW5lZCkgeyBpbnRlcnZhbHNbMF0gPSB7IC4uLmludGVydmFsc1swXSwgbG93ZXI6IDAgfTsgfVxuICBpZiAoaW50ZXJ2YWxzW2xhc3RJbmRleF0udXBwZXIgPT09IHVuZGVmaW5lZCkgeyBpbnRlcnZhbHNbbGFzdEluZGV4XSA9IHsgLi4uaW50ZXJ2YWxzW2xhc3RJbmRleF0sIHVwcGVyOiBJbmZpbml0eSB9OyB9XG4gIGZvciAoY29uc3QgaW50ZXJ2YWwgb2YgaW50ZXJ2YWxzKSB7XG4gICAgaWYgKGludGVydmFsLmxvd2VyID09PSB1bmRlZmluZWQgfHwgaW50ZXJ2YWwudXBwZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBsb3dlciBhbmQgdXBwZXIgYm91bmRzIGZvciAke0pTT04uc3RyaW5naWZ5KGludGVydmFsKX1gKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBjb21wbGV0ZUludGVydmFscyA9IGludGVydmFscyBhcyBDb21wbGV0ZVNjYWxpbmdJbnRlcnZhbFtdO1xuXG4gIC8vIFZhbGlkYXRlIHRoYXQgd2UgaGF2ZSBub25vdmVybGFwcGluZyBpbnRlcnZhbHMgbm93LlxuICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbXBsZXRlSW50ZXJ2YWxzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgIGlmIChvdmVybGFwKGNvbXBsZXRlSW50ZXJ2YWxzW2ldLCBjb21wbGV0ZUludGVydmFsc1tpICsgMV0pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFR3byBpbnRlcnZhbHMgb3ZlcmxhcDogJHtKU09OLnN0cmluZ2lmeShjb21wbGV0ZUludGVydmFsc1tpXSl9IGFuZCAke0pTT04uc3RyaW5naWZ5KGNvbXBsZXRlSW50ZXJ2YWxzW2kgKyAxXSl9YCk7XG4gICAgfVxuICB9XG5cbiAgLy8gRmlsbCB1cCB0aGUgZ2Fwc1xuXG4gIHJldHVybiBjb21wbGV0ZUludGVydmFscztcbn1cblxuLyoqXG4gKiBNYWtlIHRoZSBpbnRlcnZhbHMgY292ZXIgdGhlIGNvbXBsZXRlIG51bWJlciBsaW5lXG4gKlxuICogVGhpcyBlbnRhaWxzIGFkZGluZyBpbnRlcnZhbHMgd2l0aCBhbiAndW5kZWZpbmVkJyBjaGFuZ2UgdG8gZmlsbCB1cCB0aGUgZ2Fwcy5cbiAqXG4gKiBTaW5jZSBtZXRyaWNzIGhhdmUgYSBoYWxmb3BlbiBpbnRlcnZhbCwgdGhlIGZpcnN0IG9uZSB3aWxsIGdldCBhIGxvd2VyIGJvdW5kXG4gKiBvZiAwLCB0aGUgbGFzdCBvbmUgd2lsbCBnZXQgYW4gdXBwZXIgYm91bmQgb2YgK0luZmluaXR5LlxuICpcbiAqIEluIGNhc2Ugb2YgYWJzb2x1dGUgYWRqdXN0bWVudHMsIHRoZSBsb3dlciBudW1iZXIgb2YgdGhlIGFkamFjZW50IGJvdW5kIHdpbGxcbiAqIGJlIHVzZWQsIHdoaWNoIG1lYW5zIGNvbnNlcnZhdGl2ZSBjaGFuZ2UuIEluIGNhc2Ugb2YgcmVsYXRpdmUgYWRqdXN0bWVudHMsXG4gKiB3ZSdsbCB1c2UgcmVsYXRpdmUgYWRqdXNtZW50IDAgKHdoaWNoIG1lYW5zIG5vIGNoYW5nZSkuXG4gKi9cbmZ1bmN0aW9uIG1ha2VHYXBzVW5kZWZpbmVkKGludGVydmFsczogQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWxbXSkge1xuICAvLyBBZGQgZWRnZSBpbnRlcnZhbHMgaWYgbmVjZXNzYXJ5LCBidXQgb25seSBmb3IgcmVsYXRpdmUgYWRqdXN0bWVudHMuIFNpbmNlIHdlJ3JlXG4gIC8vIGdvaW5nIHRvIG1ha2Ugc2NhbGluZyBpbnRlcnZhbHMgZXh0ZW5kIGFsbCB0aGUgd2F5IG91dCB0byBpbmZpbml0eSBvbiBlaXRoZXIgc2lkZSxcbiAgLy8gdGhlIHJlc3VsdCBpcyB0aGUgc2FtZSBmb3IgYWJzb2x1dGUgYWRqdXN0bWVudHMgYW55d2F5LlxuICBpZiAoaW50ZXJ2YWxzWzBdLmxvd2VyICE9PSAwKSB7XG4gICAgaW50ZXJ2YWxzLnNwbGljZSgwLCAxLCB7XG4gICAgICBsb3dlcjogMCxcbiAgICAgIHVwcGVyOiBpbnRlcnZhbHNbMF0ubG93ZXIsXG4gICAgICBjaGFuZ2U6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgfVxuICBpZiAobGFzdChpbnRlcnZhbHMpLnVwcGVyICE9PSBJbmZpbml0eSkge1xuICAgIGludGVydmFscy5wdXNoKHtcbiAgICAgIGxvd2VyOiBsYXN0KGludGVydmFscykudXBwZXIsXG4gICAgICB1cHBlcjogSW5maW5pdHksXG4gICAgICBjaGFuZ2U6IHVuZGVmaW5lZFxuICAgIH0pO1xuICB9XG5cbiAgbGV0IGkgPSAxO1xuICB3aGlsZSAoaSA8IGludGVydmFscy5sZW5ndGgpIHtcbiAgICBpZiAoaW50ZXJ2YWxzW2kgLSAxXS51cHBlciA8IGludGVydmFsc1tpXS5sb3dlcikge1xuICAgICAgaW50ZXJ2YWxzLnNwbGljZShpLCAwLCB7XG4gICAgICAgIGxvd2VyOiBpbnRlcnZhbHNbaSAtIDFdLnVwcGVyLFxuICAgICAgICB1cHBlcjogaW50ZXJ2YWxzW2ldLmxvd2VyLFxuICAgICAgICBjaGFuZ2U6IHVuZGVmaW5lZFxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGkrKztcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBUdXJuIHplcm8gY2hhbmdlcyBpbnRvIHVuZGVmaW5lZCwgaW4tcGxhY2VcbiAqL1xuZnVuY3Rpb24gbWFrZVplcm9zVW5kZWZpbmVkKGludGVydmFsczogQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWxbXSkge1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGludGVydmFscy5sZW5ndGg7ICsraSkge1xuICAgIGNvbnN0IGludGVydmFsID0gaW50ZXJ2YWxzW2ldO1xuICAgIGlmIChpbnRlcnZhbC5jaGFuZ2UgPT09IDApIHtcbiAgICAgIGludGVydmFsc1tpXSA9IHsgLi4uaW50ZXJ2YWwsIGNoYW5nZTogdW5kZWZpbmVkIH07XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogSWYgdGhlcmUgYXJlIGFkamFjZW50IFwidW5kZWZpbmVkXCIgaW50ZXJ2YWxzLCBjb21iaW5lIHRoZW1cbiAqL1xuZnVuY3Rpb24gY29tYmluZVVuZGVmaW5lZHMoaW50ZXJ2YWxzOiBDb21wbGV0ZVNjYWxpbmdJbnRlcnZhbFtdKSB7XG4gIGxldCBpID0gMDtcbiAgd2hpbGUgKGkgPCBpbnRlcnZhbHMubGVuZ3RoIC0gMSkge1xuICAgIGlmIChpbnRlcnZhbHNbaV0uY2hhbmdlID09PSB1bmRlZmluZWQgJiYgaW50ZXJ2YWxzW2kgKyAxXS5jaGFuZ2UgPT09IHVuZGVmaW5lZCkge1xuICAgICAgaW50ZXJ2YWxzW2ldID0geyAuLi5pbnRlcnZhbHNbaV0sIHVwcGVyOiBpbnRlcnZhbHNbaSArIDFdLnVwcGVyIH07XG4gICAgICBpbnRlcnZhbHMuc3BsaWNlKGkgKyAxLCAxKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaSsrO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUF0TW9zdE9uZVVuZGVmaW5lZChpbnRlcnZhbHM6IENvbXBsZXRlU2NhbGluZ0ludGVydmFsW10pIHtcbiAgY29uc3QgdW5kZWYgPSBpbnRlcnZhbHMuZmlsdGVyKHggPT4geC5jaGFuZ2UgPT09IHVuZGVmaW5lZCk7XG4gIGlmICh1bmRlZi5sZW5ndGggPiAxKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDYW4gaGF2ZSBhdCBtb3N0IG9uZSBuby1jaGFuZ2UgaW50ZXJ2YWwsIGdvdCAke0pTT04uc3RyaW5naWZ5KHVuZGVmKX1gKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb21wYXJhdG9yRnJvbUtleTxULCBVPihrZXlGbjogKHg6IFQpID0+IFUpIHtcbiAgcmV0dXJuIChhOiBULCBiOiBUKSA9PiB7XG4gICAgY29uc3Qga2V5QSA9IGtleUZuKGEpO1xuICAgIGNvbnN0IGtleUIgPSBrZXlGbihiKTtcblxuICAgIGlmIChrZXlBIDwga2V5QikgeyByZXR1cm4gLTE7IH1cbiAgICBpZiAoa2V5QSA9PT0ga2V5QikgeyByZXR1cm4gMDsgfVxuICAgIHJldHVybiAxO1xuICB9O1xufVxuXG5mdW5jdGlvbiBwcm9wYWdhdGVCb3VuZHMoaW50ZXJ2YWxzOiBTY2FsaW5nSW50ZXJ2YWxbXSkge1xuICBsZXQgcmV0ID0gZmFsc2U7XG5cbiAgLy8gUHJvcGFnYXRlIHVwcGVyIGJvdW5kcyB1cHdhcmRzXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgaW50ZXJ2YWxzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgIGlmIChpbnRlcnZhbHNbaV0udXBwZXIgIT09IHVuZGVmaW5lZCAmJiBpbnRlcnZhbHNbaSArIDFdLmxvd2VyID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGludGVydmFsc1tpICsgMV0gPSB7IC4uLmludGVydmFsc1tpICsgMV0sIGxvd2VyOiBpbnRlcnZhbHNbaV0udXBwZXIgfTtcbiAgICAgIHJldCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgLy8gUHJvcGFnYXRlIGxvd2VyIGJvdW5kcyBkb3dud2FyZHNcbiAgZm9yIChsZXQgaSA9IGludGVydmFscy5sZW5ndGggLSAxOyBpID49IDE7IGktLSkge1xuICAgIGlmIChpbnRlcnZhbHNbaV0ubG93ZXIgIT09IHVuZGVmaW5lZCAmJiBpbnRlcnZhbHNbaSAtIDFdLnVwcGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGludGVydmFsc1tpIC0gMV0gPSB7IC4uLmludGVydmFsc1tpIC0gMV0sIHVwcGVyOiBpbnRlcnZhbHNbaV0ubG93ZXIgfTtcbiAgICAgIHJldCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJldDtcbn1cblxuLyoqXG4gKiBXaGV0aGVyIHR3byBpbnRlcnZhbHMgb3ZlcmxhcFxuICovXG5mdW5jdGlvbiBvdmVybGFwKGE6IENvbXBsZXRlU2NhbGluZ0ludGVydmFsLCBiOiBDb21wbGV0ZVNjYWxpbmdJbnRlcnZhbCkge1xuICByZXR1cm4gYS5sb3dlciA8IGIudXBwZXIgJiYgYS51cHBlciA+IGIubG93ZXI7XG59XG5cbmZ1bmN0aW9uIGxhc3Q8VD4oeHM6IFRbXSkge1xuICByZXR1cm4geHNbeHMubGVuZ3RoIC0gMV07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWxhcm1zIHtcbiAgcmVhZG9ubHkgbG93ZXJBbGFybUludGVydmFsSW5kZXg/OiBudW1iZXI7XG4gIHJlYWRvbmx5IHVwcGVyQWxhcm1JbnRlcnZhbEluZGV4PzogbnVtYmVyO1xufVxuXG4vKipcbiAqIExvY2F0ZSB0aGUgaW50ZXJ2YWxzIHRoYXQgc2hvdWxkIGhhdmUgdGhlIGFsYXJtIHRocmVzaG9sZHMsIGJ5IGluZGV4LlxuICpcbiAqIFBpY2sgdGhlIGludGVydmFscyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgc2luZ2xldG9uIFwidW5kZWZpbmVkXCIgaW50ZXJ2YWwsIG9yXG4gKiBwaWNrIHRoZSBtaWRkbGUgaW50ZXJ2YWwgaWYgdGhlcmUncyBubyBzdWNoIGludGVydmFsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZEFsYXJtVGhyZXNob2xkcyhpbnRlcnZhbHM6IENvbXBsZXRlU2NhbGluZ0ludGVydmFsW10pOiBBbGFybXMge1xuICBjb25zdCBnYXBJbmRleCA9IGludGVydmFscy5maW5kSW5kZXgoeCA9PiB4LmNoYW5nZSA9PT0gdW5kZWZpbmVkKTtcblxuICBpZiAoZ2FwSW5kZXggIT09IC0xKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxvd2VyQWxhcm1JbnRlcnZhbEluZGV4OiBnYXBJbmRleCA+IDAgPyBnYXBJbmRleCAtIDEgOiB1bmRlZmluZWQsXG4gICAgICB1cHBlckFsYXJtSW50ZXJ2YWxJbmRleDogZ2FwSW5kZXggPCBpbnRlcnZhbHMubGVuZ3RoIC0gMSA/IGdhcEluZGV4ICsgMSA6IHVuZGVmaW5lZCxcbiAgICB9O1xuICB9XG5cbiAgaWYgKGludGVydmFscy5sZW5ndGggPT09IDEpIHtcbiAgICByZXR1cm4geyB1cHBlckFsYXJtSW50ZXJ2YWxJbmRleDogMCB9O1xuICB9XG5cbiAgY29uc3QgbWlkZGxlSW5kZXggPSBNYXRoLmZsb29yKGludGVydmFscy5sZW5ndGggLyAyKTtcblxuICByZXR1cm4ge1xuICAgIGxvd2VyQWxhcm1JbnRlcnZhbEluZGV4OiBtaWRkbGVJbmRleCAtIDEsXG4gICAgdXBwZXJBbGFybUludGVydmFsSW5kZXg6IG1pZGRsZUluZGV4XG4gIH07XG59Il19

@@ -1,2 +0,2 @@

import appscaling = require('../lib');
import * as appscaling from '../lib';
/**

@@ -3,0 +3,0 @@ * Arbitrary (valid) array of intervals

@@ -36,3 +36,3 @@ "use strict";

else {
noChanges[0] = Object.assign(Object.assign({}, noChanges[0]), { change: -1 * factor + bias });
noChanges[0] = { ...noChanges[0], change: -1 * factor + bias };
}

@@ -45,3 +45,3 @@ }

else {
noChanges[1] = Object.assign(Object.assign({}, noChanges[1]), { change: 1 * factor + bias });
noChanges[1] = { ...noChanges[1], change: 1 * factor + bias };
}

@@ -58,4 +58,4 @@ }

else {
noChanges[0] = Object.assign(Object.assign({}, noChanges[0]), { change: -1 * factor + bias });
noChanges[1] = Object.assign(Object.assign({}, noChanges[1]), { change: 1 * factor + bias });
noChanges[0] = { ...noChanges[0], change: -1 * factor + bias };
noChanges[1] = { ...noChanges[1], change: 1 * factor + bias };
}

@@ -80,3 +80,3 @@ }

if (ret[i].upper !== undefined && (i === 0 || ret[i - 1].upper !== undefined)) {
ret[i] = Object.assign(Object.assign({}, ret[i]), { lower: undefined });
ret[i] = { ...ret[i], lower: undefined };
}

@@ -88,3 +88,3 @@ }

if (ret[i].lower !== undefined && (i === ret.length - 1 || ret[i + 1].lower !== undefined)) {
ret[i] = Object.assign(Object.assign({}, ret[i]), { upper: undefined });
ret[i] = { ...ret[i], upper: undefined };
}

@@ -96,2 +96,2 @@ }

exports.generateArbitraryIntervals = generateArbitraryIntervals;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQTs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBZ0IsMEJBQTBCLENBQUMsSUFBc0I7SUFDN0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQThCLENBQUM7SUFFcEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRXBDLGtDQUFrQztJQUNsQyxNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFL0IsNkJBQTZCO0lBQzdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVB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QUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsRUFBRTtnQkFDMUYsR0FBRyxDQUFDLENBQUMsQ0FBQyxtQ0FBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUUsS0FBSyxFQUFFLFNBQVMsR0FBRSxDQUFDO2FBQzFDO1NBQ0Y7S0FDRjtJQUVELE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ3hDLENBQUM7QUE5RUQsZ0VBOEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGFwcHNjYWxpbmcgPSByZXF1aXJlKCcuLi9saWInKTtcblxuLyoqXG4gKiBBcmJpdHJhcnkgKHZhbGlkKSBhcnJheSBvZiBpbnRlcnZhbHNcbiAqXG4gKiBUaGVyZSBhcmUgbWFueSBpbnZhbGlkIGNvbWJpbmF0aW9ucyBvZiBpbnRlcnZhbCBhcnJheXMsIHNvIHdlIGhhdmVcbiAqIHRvIGJlIHZlcnkgc3BlY2lmaWMgYWJvdXQgZ2VuZXJhdGluZyBhcnJheXMgdGhhdCBhcmUgdmFsaWQuIFdlIGRvIHRoaXNcbiAqIGJ5IHRha2luZyBhIGZ1bGwsIHZhbGlkIGludGVydmFsIHNjaGVkdWxlIGFuZCBwcm9ncmVzc2l2ZWx5IHN0cmlwcGluZyBwYXJ0c1xuICogYXdheSBmcm9tIGl0LlxuICpcbiAqIFNvbWUgb2YgdGhlIGNoYW5nZXMgbWF5IGNoYW5nZSBpdHMgbWVhbmluZywgYnV0IHdlIHRha2UgY2FyZSB0byBuZXZlciBsZWF2ZVxuICogYSBzY2hlZHVsZSB3aXRoIGluc3VmZmljaWVudCBpbmZvcm1hdGlvbiBzbyB0aGF0IHRoZSBwYXJzZXIgd2lsbCBlcnJvciBvdXQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZUFyYml0cmFyeUludGVydmFscyhtcm5nOiBJUmFuZG9tR2VuZXJhdG9yKTogQXJiaXRyYXJ5SW50ZXJ2YWxzIHtcbiAgICBjb25zdCByZXQgPSBuZXcgQXJyYXk8YXBwc2NhbGluZy5TY2FsaW5nSW50ZXJ2YWw+KCk7XG5cbiAgICBjb25zdCBhYnNvbHV0ZSA9IG1ybmcubmV4dEJvb2xlYW4oKTtcblxuICAgIC8vIEFzY2VuZGluZyBvciBkZXNjZW5kaW5nIHNjYWxpbmdcbiAgICBjb25zdCBmYWN0b3IgPSAobXJuZy5uZXh0Qm9vbGVhbigpID8gMSA6IC0xKSAqIChhYnNvbHV0ZSA/IDEwIDogMSk7XG4gICAgY29uc3QgYmlhcyA9IGFic29sdXRlID8gNTAgOiAwO1xuXG4gICAgLy8gQmVnaW4gd2l0aCBhIGZ1bGwgc2NoZWR1bGVcbiAgICByZXQucHVzaCh7IGxvd2VyOiAwLCB1cHBlcjogMTAsIGNoYW5nZTogLTIgKiBmYWN0b3IgKyBiaWFzIH0pO1xuICAgIHJldC5wdXNoKHsgbG93ZXI6IDEwLCB1cHBlcjogMjAsIGNoYW5nZTogLTEgKiBmYWN0b3IgKyBiaWFzIH0pO1xuICAgIHJldC5wdXNoKHsgbG93ZXI6IDIwLCB1cHBlcjogNjAsIGNoYW5nZTogMCArIGJpYXMgfSk7XG4gICAgcmV0LnB1c2goeyBsb3dlcjogNjAsIHVwcGVyOiA4MCwgY2hhbmdlOiAwICsgYmlhcyB9KTtcbiAgICByZXQucHVzaCh7IGxvd2VyOiA4MCwgdXBwZXI6IDkwLCBjaGFuZ2U6IDEgKiBmYWN0b3IgKyBiaWFzIH0pO1xuICAgIHJldC5wdXNoKHsgbG93ZXI6IDkwLCB1cHBlcjogSW5maW5pdHksIGNoYW5nZTogMiAqIGZhY3RvciArIGJpYXN9KTtcblxuICAgIC8vIFRha2UgYXdheSBwYXJ0cyBmcm9tIHRoaXMuIEZpcnN0IHdlIHNlZSBpZiB3ZSBkbyBzb21ldGhpbmcgdG8gdGhlIDAtY2hhbmdlIGFsYXJtcy5cbiAgICAvLyBUaGUgYWN0aW9ucyBjYW4gYmU6IHJlbW92ZSBpdCBPUiB0dXJuIGl0IGludG8gYSByZWd1bGFyIGNoYW5nZSB2YWx1ZS5cbiAgICBjb25zdCBub0NoYW5nZXMgPSByZXQuZmlsdGVyKHggPT4geC5jaGFuZ2UgPT09IGJpYXMpO1xuXG4gICAgaWYgKCFhYnNvbHV0ZSkge1xuICAgICAgaWYgKG1ybmcubmV4dEJvb2xlYW4oKSkge1xuICAgICAgICBpZiAobXJuZy5uZXh0Qm9vbGVhbigpKSB7XG4gICAgICAgICAgcmV0LnNwbGljZShyZXQuaW5kZXhPZihub0NoYW5nZXNbMF0pLCAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBub0NoYW5nZXNbMF0gPSB7IC4uLm5vQ2hhbmdlc1swXSwgY2hhbmdlOiAtMSAqIGZhY3RvciArIGJpYXMgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKG1ybmcubmV4dEJvb2xlYW4oKSkge1xuICAgICAgICBpZiAobXJuZy5uZXh0Qm9vbGVhbigpKSB7XG4gICAgICAgICAgcmV0LnNwbGljZShyZXQuaW5kZXhPZihub0NoYW5nZXNbMV0pLCAxKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBub0NoYW5nZXNbMV0gPSB7IC4uLm5vQ2hhbmdlc1sxXSwgY2hhbmdlOiAxICogZmFjdG9yICsgYmlhcyB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEluIGFic29sdXRlIG1vZGUgYm90aCBoYXZlIHRvIGdldCB0aGUgc2FtZSB0cmVhdG1lbnQgYXQgdGhlIHNhbWUgdGltZVxuICAgICAgLy8gb3RoZXJ3aXNlIHdlJ2xsIGVuZCB1cCB3aXRoIGEgdGltZWxpbmUgd2l0aCB0d28gZ2Fwc1xuICAgICAgaWYgKG1ybmcubmV4dEJvb2xlYW4oKSkge1xuICAgICAgICByZXQuc3BsaWNlKHJldC5pbmRleE9mKG5vQ2hhbmdlc1swXSksIDEpO1xuICAgICAgICByZXQuc3BsaWNlKHJldC5pbmRleE9mKG5vQ2hhbmdlc1sxXSksIDEpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9DaGFuZ2VzWzBdID0geyAuLi5ub0NoYW5nZXNbMF0sIGNoYW5nZTogLTEgKiBmYWN0b3IgKyBiaWFzIH07XG4gICAgICAgIG5vQ2hhbmdlc1sxXSA9IHsgLi4ubm9DaGFuZ2VzWzFdLCBjaGFuZ2U6IDEgKiBmYWN0b3IgKyBiaWFzIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gV2UgbWlnaHQgYWxzbyB0YWtlIGF3YXkgZWl0aGVyIHRoZSBib3R0b20gb3IgdGhlIHVwcGVyIGhhbGZcbiAgICBpZiAobXJuZy5uZXh0SW50KDAsIDIpID09PSAwKSB7XG4gICAgICBjb25zdCBzaWduVG9TdHJpcCA9IG1ybmcubmV4dEJvb2xlYW4oKSA/IC0xIDogMTtcbiAgICAgIGxldCBpeCA9IHJldC5maW5kSW5kZXgoeCA9PiBNYXRoLnNpZ24oeC5jaGFuZ2UgLSBiaWFzKSA9PT0gc2lnblRvU3RyaXApO1xuICAgICAgd2hpbGUgKGl4ID49IDApIHtcbiAgICAgICAgcmV0LnNwbGljZShpeCwgMSk7XG4gICAgICAgIGl4ID0gcmV0LmZpbmRJbmRleCh4ID0+IE1hdGguc2lnbih4LmNoYW5nZSAtIGJpYXMpID09PSBzaWduVG9TdHJpcCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhlbiB3ZSdyZSBnb2luZyB0byBhcmJpdHJhcmlseSBnZXQgcmlkIG9mIGJvdW5kcyBpbiB0aGUgbW9zdCBuYWl2ZSB3YXkgcG9zc2libGVcbiAgICBjb25zdCBpdGVyYXRpb25zID0gbXJuZy5uZXh0SW50KDAsIDEwKTtcbiAgICBmb3IgKGxldCBpdGVyID0gMDsgaXRlciA8IGl0ZXJhdGlvbnM7IGl0ZXIrKykge1xuICAgICAgY29uc3QgaSA9IG1ybmcubmV4dEludCgwLCByZXQubGVuZ3RoIC0gMSk7XG4gICAgICBpZiAobXJuZy5uZXh0Qm9vbGVhbigpKSB7XG4gICAgICAgIC8vIHNjcmFwIGxvd2VyIGJvdW5kXG4gICAgICAgIC8vIG9rYXkgaWYgY3VycmVudCBpbnRlcnZhbCBoYXMgYW4gdXBwZXIgYm91bmQgQU5EIHRoZSBwcmVjZWRpbmcgaW50ZXJ2YWwgaGFzIGFuIHVwcGVyIGJvdW5kXG4gICAgICAgIGlmIChyZXRbaV0udXBwZXIgIT09IHVuZGVmaW5lZCAmJiAoaSA9PT0gMCB8fCByZXRbaSAtIDFdLnVwcGVyICE9PSB1bmRlZmluZWQpKSB7XG4gICAgICAgICAgcmV0W2ldID0geyAuLi5yZXRbaV0sIGxvd2VyOiB1bmRlZmluZWQgfTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gc2NyYXAgdXBwZXIgYm91bmRcbiAgICAgICAgLy8gb2theSBpZiBjdXJyZW50IGludGVydmFsIGhhcyBhIGxvd2VyIGJvdW5kIEFORCB0aGUgc3VjY2VlZGluZyBpbnRlcnZhbCBoYXMgYSBsb3dlciBib3VuZFxuICAgICAgICBpZiAocmV0W2ldLmxvd2VyICE9PSB1bmRlZmluZWQgJiYgKGkgPT09IHJldC5sZW5ndGggLSAxIHx8IHJldFtpICsgMV0ubG93ZXIgIT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgICByZXRbaV0gPSB7IC4uLnJldFtpXSwgdXBwZXI6IHVuZGVmaW5lZCB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHsgYWJzb2x1dGUsIGludGVydmFsczogcmV0IH07XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJhbmRvbUdlbmVyYXRvciB7XG4gIG5leHRCb29sZWFuKCk6IGJvb2xlYW47XG4gIG5leHRJbnQobWluOiBudW1iZXIsIG1heDogbnVtYmVyKTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFyYml0cmFyeUludGVydmFscyB7XG4gIHJlYWRvbmx5IGFic29sdXRlOiBib29sZWFuO1xuICByZWFkb25seSBpbnRlcnZhbHM6IGFwcHNjYWxpbmcuU2NhbGluZ0ludGVydmFsW107XG59Il19
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInRlc3QtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQTs7Ozs7Ozs7OztHQVVHO0FBQ0gsU0FBZ0IsMEJBQTBCLENBQUMsSUFBc0I7SUFDN0QsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLEVBQThCLENBQUM7SUFFcEQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBRXBDLGtDQUFrQztJQUNsQyxNQUFNLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ25FLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFL0IsNkJBQTZCO0lBQzdCLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxHQUFHLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ3JELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVB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QVMsSUFBSSxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxTQUFTLENBQUMsRUFBRTtnQkFDMUYsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDO2FBQzFDO1NBQ0Y7S0FDRjtJQUVELE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQ3hDLENBQUM7QUE5RUQsZ0VBOEVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgYXBwc2NhbGluZyBmcm9tICcuLi9saWInO1xuXG4vKipcbiAqIEFyYml0cmFyeSAodmFsaWQpIGFycmF5IG9mIGludGVydmFsc1xuICpcbiAqIFRoZXJlIGFyZSBtYW55IGludmFsaWQgY29tYmluYXRpb25zIG9mIGludGVydmFsIGFycmF5cywgc28gd2UgaGF2ZVxuICogdG8gYmUgdmVyeSBzcGVjaWZpYyBhYm91dCBnZW5lcmF0aW5nIGFycmF5cyB0aGF0IGFyZSB2YWxpZC4gV2UgZG8gdGhpc1xuICogYnkgdGFraW5nIGEgZnVsbCwgdmFsaWQgaW50ZXJ2YWwgc2NoZWR1bGUgYW5kIHByb2dyZXNzaXZlbHkgc3RyaXBwaW5nIHBhcnRzXG4gKiBhd2F5IGZyb20gaXQuXG4gKlxuICogU29tZSBvZiB0aGUgY2hhbmdlcyBtYXkgY2hhbmdlIGl0cyBtZWFuaW5nLCBidXQgd2UgdGFrZSBjYXJlIHRvIG5ldmVyIGxlYXZlXG4gKiBhIHNjaGVkdWxlIHdpdGggaW5zdWZmaWNpZW50IGluZm9ybWF0aW9uIHNvIHRoYXQgdGhlIHBhcnNlciB3aWxsIGVycm9yIG91dC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlQXJiaXRyYXJ5SW50ZXJ2YWxzKG1ybmc6IElSYW5kb21HZW5lcmF0b3IpOiBBcmJpdHJhcnlJbnRlcnZhbHMge1xuICAgIGNvbnN0IHJldCA9IG5ldyBBcnJheTxhcHBzY2FsaW5nLlNjYWxpbmdJbnRlcnZhbD4oKTtcblxuICAgIGNvbnN0IGFic29sdXRlID0gbXJuZy5uZXh0Qm9vbGVhbigpO1xuXG4gICAgLy8gQXNjZW5kaW5nIG9yIGRlc2NlbmRpbmcgc2NhbGluZ1xuICAgIGNvbnN0IGZhY3RvciA9IChtcm5nLm5leHRCb29sZWFuKCkgPyAxIDogLTEpICogKGFic29sdXRlID8gMTAgOiAxKTtcbiAgICBjb25zdCBiaWFzID0gYWJzb2x1dGUgPyA1MCA6IDA7XG5cbiAgICAvLyBCZWdpbiB3aXRoIGEgZnVsbCBzY2hlZHVsZVxuICAgIHJldC5wdXNoKHsgbG93ZXI6IDAsIHVwcGVyOiAxMCwgY2hhbmdlOiAtMiAqIGZhY3RvciArIGJpYXMgfSk7XG4gICAgcmV0LnB1c2goeyBsb3dlcjogMTAsIHVwcGVyOiAyMCwgY2hhbmdlOiAtMSAqIGZhY3RvciArIGJpYXMgfSk7XG4gICAgcmV0LnB1c2goeyBsb3dlcjogMjAsIHVwcGVyOiA2MCwgY2hhbmdlOiAwICsgYmlhcyB9KTtcbiAgICByZXQucHVzaCh7IGxvd2VyOiA2MCwgdXBwZXI6IDgwLCBjaGFuZ2U6IDAgKyBiaWFzIH0pO1xuICAgIHJldC5wdXNoKHsgbG93ZXI6IDgwLCB1cHBlcjogOTAsIGNoYW5nZTogMSAqIGZhY3RvciArIGJpYXMgfSk7XG4gICAgcmV0LnB1c2goeyBsb3dlcjogOTAsIHVwcGVyOiBJbmZpbml0eSwgY2hhbmdlOiAyICogZmFjdG9yICsgYmlhc30pO1xuXG4gICAgLy8gVGFrZSBhd2F5IHBhcnRzIGZyb20gdGhpcy4gRmlyc3Qgd2Ugc2VlIGlmIHdlIGRvIHNvbWV0aGluZyB0byB0aGUgMC1jaGFuZ2UgYWxhcm1zLlxuICAgIC8vIFRoZSBhY3Rpb25zIGNhbiBiZTogcmVtb3ZlIGl0IE9SIHR1cm4gaXQgaW50byBhIHJlZ3VsYXIgY2hhbmdlIHZhbHVlLlxuICAgIGNvbnN0IG5vQ2hhbmdlcyA9IHJldC5maWx0ZXIoeCA9PiB4LmNoYW5nZSA9PT0gYmlhcyk7XG5cbiAgICBpZiAoIWFic29sdXRlKSB7XG4gICAgICBpZiAobXJuZy5uZXh0Qm9vbGVhbigpKSB7XG4gICAgICAgIGlmIChtcm5nLm5leHRCb29sZWFuKCkpIHtcbiAgICAgICAgICByZXQuc3BsaWNlKHJldC5pbmRleE9mKG5vQ2hhbmdlc1swXSksIDEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vQ2hhbmdlc1swXSA9IHsgLi4ubm9DaGFuZ2VzWzBdLCBjaGFuZ2U6IC0xICogZmFjdG9yICsgYmlhcyB9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAobXJuZy5uZXh0Qm9vbGVhbigpKSB7XG4gICAgICAgIGlmIChtcm5nLm5leHRCb29sZWFuKCkpIHtcbiAgICAgICAgICByZXQuc3BsaWNlKHJldC5pbmRleE9mKG5vQ2hhbmdlc1sxXSksIDEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vQ2hhbmdlc1sxXSA9IHsgLi4ubm9DaGFuZ2VzWzFdLCBjaGFuZ2U6IDEgKiBmYWN0b3IgKyBiaWFzIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSW4gYWJzb2x1dGUgbW9kZSBib3RoIGhhdmUgdG8gZ2V0IHRoZSBzYW1lIHRyZWF0bWVudCBhdCB0aGUgc2FtZSB0aW1lXG4gICAgICAvLyBvdGhlcndpc2Ugd2UnbGwgZW5kIHVwIHdpdGggYSB0aW1lbGluZSB3aXRoIHR3byBnYXBzXG4gICAgICBpZiAobXJuZy5uZXh0Qm9vbGVhbigpKSB7XG4gICAgICAgIHJldC5zcGxpY2UocmV0LmluZGV4T2Yobm9DaGFuZ2VzWzBdKSwgMSk7XG4gICAgICAgIHJldC5zcGxpY2UocmV0LmluZGV4T2Yobm9DaGFuZ2VzWzFdKSwgMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub0NoYW5nZXNbMF0gPSB7IC4uLm5vQ2hhbmdlc1swXSwgY2hhbmdlOiAtMSAqIGZhY3RvciArIGJpYXMgfTtcbiAgICAgICAgbm9DaGFuZ2VzWzFdID0geyAuLi5ub0NoYW5nZXNbMV0sIGNoYW5nZTogMSAqIGZhY3RvciArIGJpYXMgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXZSBtaWdodCBhbHNvIHRha2UgYXdheSBlaXRoZXIgdGhlIGJvdHRvbSBvciB0aGUgdXBwZXIgaGFsZlxuICAgIGlmIChtcm5nLm5leHRJbnQoMCwgMikgPT09IDApIHtcbiAgICAgIGNvbnN0IHNpZ25Ub1N0cmlwID0gbXJuZy5uZXh0Qm9vbGVhbigpID8gLTEgOiAxO1xuICAgICAgbGV0IGl4ID0gcmV0LmZpbmRJbmRleCh4ID0+IE1hdGguc2lnbih4LmNoYW5nZSAtIGJpYXMpID09PSBzaWduVG9TdHJpcCk7XG4gICAgICB3aGlsZSAoaXggPj0gMCkge1xuICAgICAgICByZXQuc3BsaWNlKGl4LCAxKTtcbiAgICAgICAgaXggPSByZXQuZmluZEluZGV4KHggPT4gTWF0aC5zaWduKHguY2hhbmdlIC0gYmlhcykgPT09IHNpZ25Ub1N0cmlwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGVuIHdlJ3JlIGdvaW5nIHRvIGFyYml0cmFyaWx5IGdldCByaWQgb2YgYm91bmRzIGluIHRoZSBtb3N0IG5haXZlIHdheSBwb3NzaWJsZVxuICAgIGNvbnN0IGl0ZXJhdGlvbnMgPSBtcm5nLm5leHRJbnQoMCwgMTApO1xuICAgIGZvciAobGV0IGl0ZXIgPSAwOyBpdGVyIDwgaXRlcmF0aW9uczsgaXRlcisrKSB7XG4gICAgICBjb25zdCBpID0gbXJuZy5uZXh0SW50KDAsIHJldC5sZW5ndGggLSAxKTtcbiAgICAgIGlmIChtcm5nLm5leHRCb29sZWFuKCkpIHtcbiAgICAgICAgLy8gc2NyYXAgbG93ZXIgYm91bmRcbiAgICAgICAgLy8gb2theSBpZiBjdXJyZW50IGludGVydmFsIGhhcyBhbiB1cHBlciBib3VuZCBBTkQgdGhlIHByZWNlZGluZyBpbnRlcnZhbCBoYXMgYW4gdXBwZXIgYm91bmRcbiAgICAgICAgaWYgKHJldFtpXS51cHBlciAhPT0gdW5kZWZpbmVkICYmIChpID09PSAwIHx8IHJldFtpIC0gMV0udXBwZXIgIT09IHVuZGVmaW5lZCkpIHtcbiAgICAgICAgICByZXRbaV0gPSB7IC4uLnJldFtpXSwgbG93ZXI6IHVuZGVmaW5lZCB9O1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBzY3JhcCB1cHBlciBib3VuZFxuICAgICAgICAvLyBva2F5IGlmIGN1cnJlbnQgaW50ZXJ2YWwgaGFzIGEgbG93ZXIgYm91bmQgQU5EIHRoZSBzdWNjZWVkaW5nIGludGVydmFsIGhhcyBhIGxvd2VyIGJvdW5kXG4gICAgICAgIGlmIChyZXRbaV0ubG93ZXIgIT09IHVuZGVmaW5lZCAmJiAoaSA9PT0gcmV0Lmxlbmd0aCAtIDEgfHwgcmV0W2kgKyAxXS5sb3dlciAhPT0gdW5kZWZpbmVkKSkge1xuICAgICAgICAgIHJldFtpXSA9IHsgLi4ucmV0W2ldLCB1cHBlcjogdW5kZWZpbmVkIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geyBhYnNvbHV0ZSwgaW50ZXJ2YWxzOiByZXQgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJUmFuZG9tR2VuZXJhdG9yIHtcbiAgbmV4dEJvb2xlYW4oKTogYm9vbGVhbjtcbiAgbmV4dEludChtaW46IG51bWJlciwgbWF4OiBudW1iZXIpOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXJiaXRyYXJ5SW50ZXJ2YWxzIHtcbiAgcmVhZG9ubHkgYWJzb2x1dGU6IGJvb2xlYW47XG4gIHJlYWRvbmx5IGludGVydmFsczogYXBwc2NhbGluZy5TY2FsaW5nSW50ZXJ2YWxbXTtcbn1cbiJdfQ==
{
"name": "@aws-cdk/aws-autoscaling-common",
"version": "1.19.0",
"version": "1.20.0",
"description": "Common implementation package for @aws-cdk/aws-autoscaling and @aws-cdk/aws-applicationautoscaling",

@@ -61,16 +61,18 @@ "main": "lib/index.js",

"devDependencies": {
"@aws-cdk/assert": "1.19.0",
"cdk-build-tools": "1.19.0",
"cdk-integ-tools": "1.19.0",
"fast-check": "^1.20.1",
"pkglint": "1.19.0"
"@aws-cdk/assert": "1.20.0",
"@types/nodeunit": "^0.0.30",
"cdk-build-tools": "1.20.0",
"cdk-integ-tools": "1.20.0",
"fast-check": "^1.21.0",
"nodeunit": "^0.11.3",
"pkglint": "1.20.0"
},
"dependencies": {
"@aws-cdk/aws-iam": "1.19.0",
"@aws-cdk/core": "1.19.0"
"@aws-cdk/aws-iam": "1.20.0",
"@aws-cdk/core": "1.20.0"
},
"homepage": "https://github.com/aws/aws-cdk",
"peerDependencies": {
"@aws-cdk/aws-iam": "1.19.0",
"@aws-cdk/core": "1.19.0"
"@aws-cdk/aws-iam": "1.20.0",
"@aws-cdk/core": "1.20.0"
},

@@ -77,0 +79,0 @@ "awslint": {

@@ -79,2 +79,2 @@ "use strict";

};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5pbnRlcnZhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0LmludGVydmFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaUNBQWtDO0FBR2xDLDBEQUFnRjtBQUNoRixpQ0FBc0Q7QUFzR3RELFNBQVMsMEJBQTBCO0lBQ2pDLG1EQUFtRDtJQUNuRCxPQUFRO1FBQ04sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRTtRQUN6QixFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFO1FBQ3pCLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUU7UUFDekIsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRTtLQUMxQixDQUFDO0FBQ0osQ0FBQztBQTVHRCxpQkFBUztJQUNQLHlCQUF5QixDQUFDLElBQVU7UUFDbEMsTUFBTSxTQUFTLEdBQUcsbUNBQWtCLENBQUMsMEJBQTBCLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUxRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRTtZQUN4QixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDbkMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ3BDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7WUFDM0MsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ3BDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFB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QUFNLE1BQU0sR0FBRyxvQ0FBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsS0FBSyxTQUFTLENBQUMsQ0FBQztZQUVyRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsdUJBQXdCLENBQUMsQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDO1FBQ3ZFLENBQUMsQ0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsMENBQTBDLENBQUMsSUFBVTtRQUNuRCxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQ25CLG1DQUE0QixFQUFFLEVBQzlCLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDWixNQUFNLE1BQU0sR0FBRyxvQ0FBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsS0FBSyxTQUFTLENBQUMsQ0FBQztZQUVyRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsdUJBQXdCLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBmYyA9IHJlcXVpcmUoJ2Zhc3QtY2hlY2snKTtcbmltcG9ydCB7IFRlc3QgfSBmcm9tICdub2RldW5pdCc7XG5pbXBvcnQgYXBwc2NhbGluZyA9IHJlcXVpcmUoJy4uL2xpYicpO1xuaW1wb3J0IHsgZmluZEFsYXJtVGhyZXNob2xkcywgbm9ybWFsaXplSW50ZXJ2YWxzIH0gZnJvbSAnLi4vbGliL2ludGVydmFsLXV0aWxzJztcbmltcG9ydCB7IGFyYml0cmFyeV9jb21wbGV0ZV9pbnRlcnZhbHMgfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgPSB7XG4gICd0ZXN0IGJvdW5kcyBwcm9wYWdhdGlvbicodGVzdDogVGVzdCkge1xuICAgIGNvbnN0IGludGVydmFscyA9IG5vcm1hbGl6ZUludGVydmFscyhyZWFsaXN0aWNSZWxhdGl2ZUludGVydmFscygpLCBmYWxzZSk7XG5cbiAgICB0ZXN0LmRlZXBFcXVhbChpbnRlcnZhbHMsIFtcbiAgICAgIHsgbG93ZXI6IDAsIHVwcGVyOiAxMCwgY2hhbmdlOiAtMiB9LFxuICAgICAgeyBsb3dlcjogMTAsIHVwcGVyOiAyMCwgY2hhbmdlOiAtMSB9LFxuICAgICAgeyBsb3dlcjogMjAsIHVwcGVyOiA4MCwgY2hhbmdlOiB1bmRlZmluZWQgfSxcbiAgICAgIHsgbG93ZXI6IDgwLCB1cHBlcjogOTAsIGNoYW5nZTogKzEgfSxcbiAgICAgIHsgbG93ZXI6IDkwLCB1cHBlcjogSW5maW5pdHksIGNoYW5nZTogKzIgfSxcbiAgICBdKTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdib3VuZHMgcHJvcGFnYXRpb24gZmFpbHMgaWYgbWlkZGxlIGJvdW5kYXJ5IG1pc3NpbmcnKHRlc3Q6IFRlc3QpIHtcbiAgICB0ZXN0LnRocm93cygoKSA9PiB7XG4gICAgICBub3JtYWxpemVJbnRlcnZhbHMoW1xuICAgICAgICB7IGxvd2VyOiAwLCBjaGFuZ2U6IC0yIH0sXG4gICAgICAgIHsgdXBwZXI6IDIwLCBjaGFuZ2U6IC0xIH0sXG4gICAgICBdLCBmYWxzZSk7XG4gICAgfSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnbG93ZXIgYWxhcm0gaW5kZXggaXMgbG93ZXIgdGhhbiBoaWdoZXIgYWxhcm0gaW5kZXgnKHRlc3Q6IFRlc3QpIHtcbiAgICBmYy5hc3NlcnQoZmMucHJvcGVydHkoXG4gICAgICBhcmJpdHJhcnlfY29tcGxldGVfaW50ZXJ2YWxzKCksXG4gICAgICAoaW50ZXJ2YWxzKSA9PiB7XG4gICAgICAgIGNvbnN0IGFsYXJtcyA9IGZpbmRBbGFybVRocmVzaG9sZHMoaW50ZXJ2YWxzKTtcblxuICAgICAgICByZXR1cm4gKGFsYXJtcy5sb3dlckFsYXJtSW50ZXJ2YWxJbmRleCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgfHwgYWxhcm1zLnVwcGVyQWxhcm1JbnRlcnZhbEluZGV4ID09PSB1bmRlZmluZWRcbiAgICAgICAgICB8fCBhbGFybXMubG93ZXJBbGFybUludGVydmFsSW5kZXggPCBhbGFybXMudXBwZXJBbGFybUludGVydmFsSW5kZXgpO1xuICAgICAgfVxuICAgICkpO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ25ldmVyIHBpY2sgdW5kZWZpbmVkIGludGVydmFscyBmb3IgcmVsYXRpdmUgYWxhcm1zJyh0ZXN0OiBUZXN0KSB7XG4gICAgZmMuYXNzZXJ0KGZjLnByb3BlcnR5KFxuICAgICAgYXJiaXRyYXJ5X2NvbXBsZXRlX2ludGVydmFscygpLFxuICAgICAgKGludGVydmFscykgPT4ge1xuICAgICAgICBjb25zdCBhbGFybXMgPSBmaW5kQWxhcm1UaHJlc2hvbGRzKGludGVydmFscyk7XG5cbiAgICAgICAgcmV0dXJuIChhbGFybXMubG93ZXJBbGFybUludGVydmFsSW5kZXggPT09IHVuZGVmaW5lZCB8fCBpbnRlcnZhbHNbYWxhcm1zLmxvd2VyQWxhcm1JbnRlcnZhbEluZGV4XS5jaGFuZ2UgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAmJiAoYWxhcm1zLnVwcGVyQWxhcm1JbnRlcnZhbEluZGV4ID09PSB1bmRlZmluZWQgfHwgaW50ZXJ2YWxzW2FsYXJtcy51cHBlckFsYXJtSW50ZXJ2YWxJbmRleF0uY2hhbmdlICE9PSB1bmRlZmluZWQpO1xuICAgICAgfVxuICAgICkpO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ3BpY2sgaW50ZXJ2YWxzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSB1bmRlZmluZWQgaW50ZXJ2YWwsIGlmIHByZXNlbnQnKHRlc3Q6IFRlc3QpIHtcbiAgICBmYy5hc3NlcnQoZmMucHJvcGVydHkoXG4gICAgICBhcmJpdHJhcnlfY29tcGxldGVfaW50ZXJ2YWxzKCksXG4gICAgICAoaW50ZXJ2YWxzKSA9PiB7XG4gICAgICAgIC8vIFRoZXJlIG11c3QgYmUgYW4gdW5kZWZpbmVkIGludGVydmFsIGFuZCBpdCBtdXN0IG5vdCBiZSBhdCB0aGUgZWRnZXNcbiAgICAgICAgY29uc3QgaSA9IGludGVydmFscy5maW5kSW5kZXgoeCA9PiB4LmNoYW5nZSA9PT0gdW5kZWZpbmVkKTtcbiAgICAgICAgZmMucHJlKGkgPiAwICYmIGkgPCBpbnRlcnZhbHMubGVuZ3RoIC0gMSk7XG5cbiAgICAgICAgY29uc3QgYWxhcm1zID0gZmluZEFsYXJtVGhyZXNob2xkcyhpbnRlcnZhbHMpO1xuICAgICAgICByZXR1cm4gKGFsYXJtcy5sb3dlckFsYXJtSW50ZXJ2YWxJbmRleCA9PT0gaSAtIDEgJiYgYWxhcm1zLnVwcGVyQWxhcm1JbnRlcnZhbEluZGV4ID09PSBpICsgMSk7XG4gICAgICB9XG4gICAgKSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnbm8gcGlja2luZyB1cHBlciBib3VuZCBpbmZpbml0eSBmb3IgbG93ZXIgYWxhcm0nKHRlc3Q6IFRlc3QpIHtcbiAgICBmYy5hc3NlcnQoZmMucHJvcGVydHkoXG4gICAgICBhcmJpdHJhcnlfY29tcGxldGVfaW50ZXJ2YWxzKCksXG4gICAgICAoaW50ZXJ2YWxzKSA9PiB7XG4gICAgICAgIGNvbnN0IGFsYXJtcyA9IGZpbmRBbGFybVRocmVzaG9sZHMoaW50ZXJ2YWxzKTtcbiAgICAgICAgZmMucHJlKGFsYXJtcy5sb3dlckFsYXJtSW50ZXJ2YWxJbmRleCAhPT0gdW5kZWZpbmVkKTtcblxuICAgICAgICByZXR1cm4gaW50ZXJ2YWxzW2FsYXJtcy5sb3dlckFsYXJtSW50ZXJ2YWxJbmRleCFdLnVwcGVyICE9PSBJbmZpbml0eTtcbiAgICAgIH1cbiAgICApKTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdubyBwaWNraW5nIGxvd2VyIGJvdW5kIDAgZm9yIHVwcGVyIGFsYXJtJyh0ZXN0OiBUZXN0KSB7XG4gICAgZmMuYXNzZXJ0KGZjLnByb3BlcnR5KFxuICAgICAgYXJiaXRyYXJ5X2NvbXBsZXRlX2ludGVydmFscygpLFxuICAgICAgKGludGVydmFscykgPT4ge1xuICAgICAgICBjb25zdCBhbGFybXMgPSBmaW5kQWxhcm1UaHJlc2hvbGRzKGludGVydmFscyk7XG4gICAgICAgIGZjLnByZShhbGFybXMudXBwZXJBbGFybUludGVydmFsSW5kZXggIT09IHVuZGVmaW5lZCk7XG5cbiAgICAgICAgcmV0dXJuIGludGVydmFsc1thbGFybXMudXBwZXJBbGFybUludGVydmFsSW5kZXghXS5sb3dlciAhPT0gMDtcbiAgICAgIH1cbiAgICApKTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxufTtcblxuZnVuY3Rpb24gcmVhbGlzdGljUmVsYXRpdmVJbnRlcnZhbHMoKTogYXBwc2NhbGluZy5TY2FsaW5nSW50ZXJ2YWxbXSB7XG4gIC8vIEZ1bmN0aW9uIHNvIHdlIGRvbid0IGhhdmUgdG8gd29ycnkgYWJvdXQgY2xvbmluZ1xuICByZXR1cm4gIFtcbiAgICB7IHVwcGVyOiAxMCwgY2hhbmdlOiAtMiB9LFxuICAgIHsgdXBwZXI6IDIwLCBjaGFuZ2U6IC0xIH0sXG4gICAgeyBsb3dlcjogODAsIGNoYW5nZTogKzEgfSxcbiAgICB7IGxvd2VyOiA5MCwgY2hhbmdlOiArMiB9LFxuICBdO1xufSJdfQ==
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5pbnRlcnZhbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ0ZXN0LmludGVydmFscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaUNBQWlDO0FBR2pDLDBEQUFnRjtBQUNoRixpQ0FBc0Q7QUFzR3RELFNBQVMsMEJBQTBCO0lBQ2pDLG1EQUFtRDtJQUNuRCxPQUFRO1FBQ04sRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRTtRQUN6QixFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFO1FBQ3pCLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUU7UUFDekIsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRTtLQUMxQixDQUFDO0FBQ0osQ0FBQztBQTVHRCxpQkFBUztJQUNQLHlCQUF5QixDQUFDLElBQVU7UUFDbEMsTUFBTSxTQUFTLEdBQUcsbUNBQWtCLENBQUMsMEJBQTBCLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUUxRSxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRTtZQUN4QixFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUU7WUFDbkMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ3BDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUU7WUFDM0MsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFO1lBQ3BDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFB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QUFNLE1BQU0sR0FBRyxvQ0FBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsS0FBSyxTQUFTLENBQUMsQ0FBQztZQUVyRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsdUJBQXdCLENBQUMsQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDO1FBQ3ZFLENBQUMsQ0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0lBRUQsMENBQTBDLENBQUMsSUFBVTtRQUNuRCxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQ25CLG1DQUE0QixFQUFFLEVBQzlCLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDWixNQUFNLE1BQU0sR0FBRyxvQ0FBbUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5QyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyx1QkFBdUIsS0FBSyxTQUFTLENBQUMsQ0FBQztZQUVyRCxPQUFPLFNBQVMsQ0FBQyxNQUFNLENBQUMsdUJBQXdCLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDO1FBQ2hFLENBQUMsQ0FDRixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDZCxDQUFDO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGZjIGZyb20gJ2Zhc3QtY2hlY2snO1xuaW1wb3J0IHsgVGVzdCB9IGZyb20gJ25vZGV1bml0JztcbmltcG9ydCAqIGFzIGFwcHNjYWxpbmcgZnJvbSAnLi4vbGliJztcbmltcG9ydCB7IGZpbmRBbGFybVRocmVzaG9sZHMsIG5vcm1hbGl6ZUludGVydmFscyB9IGZyb20gJy4uL2xpYi9pbnRlcnZhbC11dGlscyc7XG5pbXBvcnQgeyBhcmJpdHJhcnlfY29tcGxldGVfaW50ZXJ2YWxzIH0gZnJvbSAnLi91dGlsJztcblxuZXhwb3J0ID0ge1xuICAndGVzdCBib3VuZHMgcHJvcGFnYXRpb24nKHRlc3Q6IFRlc3QpIHtcbiAgICBjb25zdCBpbnRlcnZhbHMgPSBub3JtYWxpemVJbnRlcnZhbHMocmVhbGlzdGljUmVsYXRpdmVJbnRlcnZhbHMoKSwgZmFsc2UpO1xuXG4gICAgdGVzdC5kZWVwRXF1YWwoaW50ZXJ2YWxzLCBbXG4gICAgICB7IGxvd2VyOiAwLCB1cHBlcjogMTAsIGNoYW5nZTogLTIgfSxcbiAgICAgIHsgbG93ZXI6IDEwLCB1cHBlcjogMjAsIGNoYW5nZTogLTEgfSxcbiAgICAgIHsgbG93ZXI6IDIwLCB1cHBlcjogODAsIGNoYW5nZTogdW5kZWZpbmVkIH0sXG4gICAgICB7IGxvd2VyOiA4MCwgdXBwZXI6IDkwLCBjaGFuZ2U6ICsxIH0sXG4gICAgICB7IGxvd2VyOiA5MCwgdXBwZXI6IEluZmluaXR5LCBjaGFuZ2U6ICsyIH0sXG4gICAgXSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnYm91bmRzIHByb3BhZ2F0aW9uIGZhaWxzIGlmIG1pZGRsZSBib3VuZGFyeSBtaXNzaW5nJyh0ZXN0OiBUZXN0KSB7XG4gICAgdGVzdC50aHJvd3MoKCkgPT4ge1xuICAgICAgbm9ybWFsaXplSW50ZXJ2YWxzKFtcbiAgICAgICAgeyBsb3dlcjogMCwgY2hhbmdlOiAtMiB9LFxuICAgICAgICB7IHVwcGVyOiAyMCwgY2hhbmdlOiAtMSB9LFxuICAgICAgXSwgZmFsc2UpO1xuICAgIH0pO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ2xvd2VyIGFsYXJtIGluZGV4IGlzIGxvd2VyIHRoYW4gaGlnaGVyIGFsYXJtIGluZGV4Jyh0ZXN0OiBUZXN0KSB7XG4gICAgZmMuYXNzZXJ0KGZjLnByb3BlcnR5KFxuICAgICAgYXJiaXRyYXJ5X2NvbXBsZXRlX2ludGVydmFscygpLFxuICAgICAgKGludGVydmFscykgPT4ge1xuICAgICAgICBjb25zdCBhbGFybXMgPSBmaW5kQWxhcm1UaHJlc2hvbGRzKGludGVydmFscyk7XG5cbiAgICAgICAgcmV0dXJuIChhbGFybXMubG93ZXJBbGFybUludGVydmFsSW5kZXggPT09IHVuZGVmaW5lZFxuICAgICAgICAgIHx8IGFsYXJtcy51cHBlckFsYXJtSW50ZXJ2YWxJbmRleCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgfHwgYWxhcm1zLmxvd2VyQWxhcm1JbnRlcnZhbEluZGV4IDwgYWxhcm1zLnVwcGVyQWxhcm1JbnRlcnZhbEluZGV4KTtcbiAgICAgIH1cbiAgICApKTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICduZXZlciBwaWNrIHVuZGVmaW5lZCBpbnRlcnZhbHMgZm9yIHJlbGF0aXZlIGFsYXJtcycodGVzdDogVGVzdCkge1xuICAgIGZjLmFzc2VydChmYy5wcm9wZXJ0eShcbiAgICAgIGFyYml0cmFyeV9jb21wbGV0ZV9pbnRlcnZhbHMoKSxcbiAgICAgIChpbnRlcnZhbHMpID0+IHtcbiAgICAgICAgY29uc3QgYWxhcm1zID0gZmluZEFsYXJtVGhyZXNob2xkcyhpbnRlcnZhbHMpO1xuXG4gICAgICAgIHJldHVybiAoYWxhcm1zLmxvd2VyQWxhcm1JbnRlcnZhbEluZGV4ID09PSB1bmRlZmluZWQgfHwgaW50ZXJ2YWxzW2FsYXJtcy5sb3dlckFsYXJtSW50ZXJ2YWxJbmRleF0uY2hhbmdlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgJiYgKGFsYXJtcy51cHBlckFsYXJtSW50ZXJ2YWxJbmRleCA9PT0gdW5kZWZpbmVkIHx8IGludGVydmFsc1thbGFybXMudXBwZXJBbGFybUludGVydmFsSW5kZXhdLmNoYW5nZSAhPT0gdW5kZWZpbmVkKTtcbiAgICAgIH1cbiAgICApKTtcblxuICAgIHRlc3QuZG9uZSgpO1xuICB9LFxuXG4gICdwaWNrIGludGVydmFscyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgdW5kZWZpbmVkIGludGVydmFsLCBpZiBwcmVzZW50Jyh0ZXN0OiBUZXN0KSB7XG4gICAgZmMuYXNzZXJ0KGZjLnByb3BlcnR5KFxuICAgICAgYXJiaXRyYXJ5X2NvbXBsZXRlX2ludGVydmFscygpLFxuICAgICAgKGludGVydmFscykgPT4ge1xuICAgICAgICAvLyBUaGVyZSBtdXN0IGJlIGFuIHVuZGVmaW5lZCBpbnRlcnZhbCBhbmQgaXQgbXVzdCBub3QgYmUgYXQgdGhlIGVkZ2VzXG4gICAgICAgIGNvbnN0IGkgPSBpbnRlcnZhbHMuZmluZEluZGV4KHggPT4geC5jaGFuZ2UgPT09IHVuZGVmaW5lZCk7XG4gICAgICAgIGZjLnByZShpID4gMCAmJiBpIDwgaW50ZXJ2YWxzLmxlbmd0aCAtIDEpO1xuXG4gICAgICAgIGNvbnN0IGFsYXJtcyA9IGZpbmRBbGFybVRocmVzaG9sZHMoaW50ZXJ2YWxzKTtcbiAgICAgICAgcmV0dXJuIChhbGFybXMubG93ZXJBbGFybUludGVydmFsSW5kZXggPT09IGkgLSAxICYmIGFsYXJtcy51cHBlckFsYXJtSW50ZXJ2YWxJbmRleCA9PT0gaSArIDEpO1xuICAgICAgfVxuICAgICkpO1xuXG4gICAgdGVzdC5kb25lKCk7XG4gIH0sXG5cbiAgJ25vIHBpY2tpbmcgdXBwZXIgYm91bmQgaW5maW5pdHkgZm9yIGxvd2VyIGFsYXJtJyh0ZXN0OiBUZXN0KSB7XG4gICAgZmMuYXNzZXJ0KGZjLnByb3BlcnR5KFxuICAgICAgYXJiaXRyYXJ5X2NvbXBsZXRlX2ludGVydmFscygpLFxuICAgICAgKGludGVydmFscykgPT4ge1xuICAgICAgICBjb25zdCBhbGFybXMgPSBmaW5kQWxhcm1UaHJlc2hvbGRzKGludGVydmFscyk7XG4gICAgICAgIGZjLnByZShhbGFybXMubG93ZXJBbGFybUludGVydmFsSW5kZXggIT09IHVuZGVmaW5lZCk7XG5cbiAgICAgICAgcmV0dXJuIGludGVydmFsc1thbGFybXMubG93ZXJBbGFybUludGVydmFsSW5kZXghXS51cHBlciAhPT0gSW5maW5pdHk7XG4gICAgICB9XG4gICAgKSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcblxuICAnbm8gcGlja2luZyBsb3dlciBib3VuZCAwIGZvciB1cHBlciBhbGFybScodGVzdDogVGVzdCkge1xuICAgIGZjLmFzc2VydChmYy5wcm9wZXJ0eShcbiAgICAgIGFyYml0cmFyeV9jb21wbGV0ZV9pbnRlcnZhbHMoKSxcbiAgICAgIChpbnRlcnZhbHMpID0+IHtcbiAgICAgICAgY29uc3QgYWxhcm1zID0gZmluZEFsYXJtVGhyZXNob2xkcyhpbnRlcnZhbHMpO1xuICAgICAgICBmYy5wcmUoYWxhcm1zLnVwcGVyQWxhcm1JbnRlcnZhbEluZGV4ICE9PSB1bmRlZmluZWQpO1xuXG4gICAgICAgIHJldHVybiBpbnRlcnZhbHNbYWxhcm1zLnVwcGVyQWxhcm1JbnRlcnZhbEluZGV4IV0ubG93ZXIgIT09IDA7XG4gICAgICB9XG4gICAgKSk7XG5cbiAgICB0ZXN0LmRvbmUoKTtcbiAgfSxcbn07XG5cbmZ1bmN0aW9uIHJlYWxpc3RpY1JlbGF0aXZlSW50ZXJ2YWxzKCk6IGFwcHNjYWxpbmcuU2NhbGluZ0ludGVydmFsW10ge1xuICAvLyBGdW5jdGlvbiBzbyB3ZSBkb24ndCBoYXZlIHRvIHdvcnJ5IGFib3V0IGNsb25pbmdcbiAgcmV0dXJuICBbXG4gICAgeyB1cHBlcjogMTAsIGNoYW5nZTogLTIgfSxcbiAgICB7IHVwcGVyOiAyMCwgY2hhbmdlOiAtMSB9LFxuICAgIHsgbG93ZXI6IDgwLCBjaGFuZ2U6ICsxIH0sXG4gICAgeyBsb3dlcjogOTAsIGNoYW5nZTogKzIgfSxcbiAgXTtcbn1cbiJdfQ==

@@ -1,3 +0,3 @@

import fc = require('fast-check');
import scalingcommon = require('../lib');
import * as fc from 'fast-check';
import * as scalingcommon from '../lib';
export declare class ArbitraryCompleteIntervals extends fc.Arbitrary<scalingcommon.CompleteScalingInterval[]> {

@@ -4,0 +4,0 @@ generate(mrng: fc.Random): fc.Shrinkable<scalingcommon.CompleteScalingInterval[]>;

@@ -16,2 +16,2 @@ "use strict";

exports.arbitrary_complete_intervals = arbitrary_complete_intervals;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQ0FBa0M7QUFDbEMsd0NBQXlDO0FBRXpDLE1BQWEsMEJBQTJCLFNBQVEsRUFBRSxDQUFDLFNBQWtEO0lBQzVGLFFBQVEsQ0FBQyxJQUFlO1FBQzdCLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDO0NBQ0Y7QUFMRCxnRUFLQztBQUVELFNBQWdCLDRCQUE0QjtJQUMxQyxPQUFPLElBQUksMEJBQTBCLEVBQUUsQ0FBQztBQUMxQyxDQUFDO0FBRkQsb0VBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZmMgPSByZXF1aXJlKCdmYXN0LWNoZWNrJyk7XG5pbXBvcnQgc2NhbGluZ2NvbW1vbiA9IHJlcXVpcmUoJy4uL2xpYicpO1xuXG5leHBvcnQgY2xhc3MgQXJiaXRyYXJ5Q29tcGxldGVJbnRlcnZhbHMgZXh0ZW5kcyBmYy5BcmJpdHJhcnk8c2NhbGluZ2NvbW1vbi5Db21wbGV0ZVNjYWxpbmdJbnRlcnZhbFtdPiB7XG4gIHB1YmxpYyBnZW5lcmF0ZShtcm5nOiBmYy5SYW5kb20pOiBmYy5TaHJpbmthYmxlPHNjYWxpbmdjb21tb24uQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWxbXT4ge1xuICAgIGNvbnN0IHJldCA9IHNjYWxpbmdjb21tb24uZ2VuZXJhdGVBcmJpdHJhcnlJbnRlcnZhbHMobXJuZyk7XG4gICAgcmV0dXJuIG5ldyBmYy5TaHJpbmthYmxlKHNjYWxpbmdjb21tb24ubm9ybWFsaXplSW50ZXJ2YWxzKHJldC5pbnRlcnZhbHMsIHJldC5hYnNvbHV0ZSkpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcmJpdHJhcnlfY29tcGxldGVfaW50ZXJ2YWxzKCkge1xuICByZXR1cm4gbmV3IEFyYml0cmFyeUNvbXBsZXRlSW50ZXJ2YWxzKCk7XG59XG4iXX0=
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbInV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpQ0FBaUM7QUFDakMsd0NBQXdDO0FBRXhDLE1BQWEsMEJBQTJCLFNBQVEsRUFBRSxDQUFDLFNBQWtEO0lBQzVGLFFBQVEsQ0FBQyxJQUFlO1FBQzdCLE1BQU0sR0FBRyxHQUFHLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzRCxPQUFPLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMxRixDQUFDO0NBQ0Y7QUFMRCxnRUFLQztBQUVELFNBQWdCLDRCQUE0QjtJQUMxQyxPQUFPLElBQUksMEJBQTBCLEVBQUUsQ0FBQztBQUMxQyxDQUFDO0FBRkQsb0VBRUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmYyBmcm9tICdmYXN0LWNoZWNrJztcbmltcG9ydCAqIGFzIHNjYWxpbmdjb21tb24gZnJvbSAnLi4vbGliJztcblxuZXhwb3J0IGNsYXNzIEFyYml0cmFyeUNvbXBsZXRlSW50ZXJ2YWxzIGV4dGVuZHMgZmMuQXJiaXRyYXJ5PHNjYWxpbmdjb21tb24uQ29tcGxldGVTY2FsaW5nSW50ZXJ2YWxbXT4ge1xuICBwdWJsaWMgZ2VuZXJhdGUobXJuZzogZmMuUmFuZG9tKTogZmMuU2hyaW5rYWJsZTxzY2FsaW5nY29tbW9uLkNvbXBsZXRlU2NhbGluZ0ludGVydmFsW10+IHtcbiAgICBjb25zdCByZXQgPSBzY2FsaW5nY29tbW9uLmdlbmVyYXRlQXJiaXRyYXJ5SW50ZXJ2YWxzKG1ybmcpO1xuICAgIHJldHVybiBuZXcgZmMuU2hyaW5rYWJsZShzY2FsaW5nY29tbW9uLm5vcm1hbGl6ZUludGVydmFscyhyZXQuaW50ZXJ2YWxzLCByZXQuYWJzb2x1dGUpKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXJiaXRyYXJ5X2NvbXBsZXRlX2ludGVydmFscygpIHtcbiAgcmV0dXJuIG5ldyBBcmJpdHJhcnlDb21wbGV0ZUludGVydmFscygpO1xufVxuIl19

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc