Socket
Socket
Sign inDemoInstall

@avidian/extras

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@avidian/extras - npm Package Compare versions

Comparing version 0.0.8 to 1.0.0

0

.eslintrc.js

@@ -0,0 +0,0 @@ module.exports = {

@@ -0,0 +0,0 @@ module.exports = {

19

dist/Array.js

@@ -38,2 +38,19 @@ "use strict";

if (typeof Array.prototype.limit === 'undefined') {
Object.defineProperty(Array.prototype, 'limit', {
enumerable: false,
configurable: false,
writable: false,
value: function value(length) {
if (this.length > length) {
this.length = length;
}
return this;
}
});
} else {
errors.push('limit');
}
if (typeof Array.prototype.first === 'undefined') {

@@ -189,2 +206,2 @@ Object.defineProperty(Array.prototype, 'first', {

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9BcnJheS50cyJdLCJuYW1lcyI6WyJlcnJvcnMiLCJBcnJheSIsInByb3RvdHlwZSIsInJhbmRvbSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwidmFsdWUiLCJNYXRoIiwiZmxvb3IiLCJsZW5ndGgiLCJwdXNoIiwiZmlyc3QiLCJsYXN0IiwiZmxhdHRlbiIsImdyb3VwQnkiLCJrZXkiLCJ0ZW1wIiwiZm9yRWFjaCIsIml0ZW0iLCJwcm9wZXJ0eSIsImtleXMiLCJtYXAiLCJleGNlcHQiLCJjb3B5IiwiaW5jbHVkZXMiLCJvbmx5IiwiaGFzIiwicHJlZGljYXRlIiwiY29uc29sZSIsImVycm9yIiwiam9pbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTs7Ozs7Ozs7Ozs7Ozs7QUFlQSxJQUFNQSxNQUFnQixHQUFHLEVBQXpCOztBQUVBLElBQUksT0FBT0MsS0FBSyxDQUFDQyxTQUFOLENBQWdCQyxNQUF2QixLQUFrQyxXQUF0QyxFQUFtRDtBQUMvQ0MsRUFBQUEsTUFBTSxDQUFDQyxjQUFQLENBQXNCSixLQUFLLENBQUNDLFNBQTVCLEVBQXVDLFFBQXZDLEVBQWlEO0FBQzdDSSxJQUFBQSxVQUFVLEVBQUUsS0FEaUM7QUFFN0NDLElBQUFBLFlBQVksRUFBRSxLQUYrQjtBQUc3Q0MsSUFBQUEsUUFBUSxFQUFFLEtBSG1DO0FBSTdDQyxJQUFBQSxLQUFLLEVBQUUsaUJBQVk7QUFDZixhQUFPLEtBQUtDLElBQUksQ0FBQ0MsS0FBTCxDQUFXRCxJQUFJLENBQUNQLE1BQUwsS0FBZ0IsS0FBS1MsTUFBaEMsQ0FBTCxDQUFQO0FBQ0g7QUFONEMsR0FBakQ7QUFRSCxDQVRELE1BU087QUFDSFosRUFBQUEsTUFBTSxDQUFDYSxJQUFQLENBQVksUUFBWjtBQUNIOztBQUVELElBQUksT0FBT1osS0FBSyxDQUFDQyxTQUFOLENBQWdCWSxLQUF2QixLQUFpQyxXQUFyQyxFQUFrRDtBQUM5Q1YsRUFBQUEsTUFBTSxDQUFDQyxjQUFQLENBQXNCSixLQUFLLENBQUNDLFNBQTVCLEVBQXVDLE9BQXZDLEVBQWdEO0FBQzVDSSxJQUFBQSxVQUFVLEVBQUUsS0FEZ0M7QUFFNUNDLElBQUFBLFlBQVksRUFBRSxLQUY4QjtBQUc1Q0MsSUFBQUEsUUFBUSxFQUFFLEtBSGtDO0FBSTVDQyxJQUFBQSxLQUFLLEVBQUUsaUJBQVk7QUFDZixVQUFJLEtBQUtHLE1BQUwsR0FBYyxDQUFsQixFQUFxQjtBQUNqQixlQUFPLEtBQUssQ0FBTCxDQUFQO0FBQ0g7O0FBQ0QsYUFBTyxJQUFQO0FBQ0g7QUFUMkMsR0FBaEQ7QUFXSCxDQVpELE1BWU87QUFDSFosRUFBQUEsTUFBTSxDQUFDYSxJQUFQLENBQVksT0FBWjtBQUNIOztBQUVELElBQUksT0FBT1osS0FBSyxDQUFDQyxTQUFOLENBQWdCYSxJQUF2QixLQUFnQyxXQUFwQyxFQUFpRDtBQUM3Q1gsRUFBQUEsTUFBTSxDQUFDQyxjQUFQLENBQXNCSixLQUFLLENBQUNDLFNBQTVCLEVBQXVDLE1BQXZDLEVBQStDO0FBQzNDSSxJQUFBQSxVQUFVLEVBQUUsS0FEK0I7QUFFM0NDLElBQUFBLFlBQVksRUFBRSxLQUY2QjtBQUczQ0MsSUFBQUEsUUFBUSxFQUFFLEtBSGlDO0FBSTNDQyxJQUFBQSxLQUFLLEVBQUUsaUJBQVk7QUFDZixVQUFJLEtBQUtHLE1BQUwsR0FBYyxDQUFsQixFQUFxQjtBQUNqQixlQUFPLEtBQUssS0FBS0EsTUFBTCxHQUFjLENBQW5CLENBQVA7QUFDSDs7QUFDRCxhQUFPLElBQVA7QUFDSDtBQVQwQyxHQUEvQztBQVdILENBWkQsTUFZTztBQUNIWixFQUFBQSxNQUFNLENBQUNhLElBQVAsQ0FBWSxNQUFaO0FBQ0g7O0FBRUQsSUFBSSxPQUFPWixLQUFLLENBQUNDLFNBQU4sQ0FBZ0JjLE9BQXZCLEtBQW1DLFdBQXZDLEVBQW9EO0FBQ2hEWixFQUFBQSxNQUFNLENBQUNDLGNBQVAsQ0FBc0JKLEtBQUssQ0FBQ0MsU0FBNUIsRUFBdUMsU0FBdkMsRUFBa0Q7QUFDOUNJLElBQUFBLFVBQVUsRUFBRSxLQURrQztBQUU5Q0MsSUFBQUEsWUFBWSxFQUFFLEtBRmdDO0FBRzlDQyxJQUFBQSxRQUFRLEVBQUUsS0FIb0M7QUFJOUNDLElBQUFBLEtBQUssRUFBRSxpQkFBWTtBQUNmLGFBQU8seUJBQVksSUFBWixDQUFQO0FBQ0g7QUFONkMsR0FBbEQ7QUFRSCxDQVRELE1BU087QUFDSFQsRUFBQUEsTUFBTSxDQUFDYSxJQUFQLENBQVksU0FBWjtBQUNIOztBQUVELElBQUksT0FBT1osS0FBSyxDQUFDQyxTQUFOLENBQWdCZSxPQUF2QixLQUFtQyxXQUF2QyxFQUFvRDtBQUNoRGIsRUFBQUEsTUFBTSxDQUFDQyxjQUFQLENBQXNCSixLQUFLLENBQUNDLFNBQTVCLEVBQXVDLFNBQXZDLEVBQWtEO0FBQzlDSSxJQUFBQSxVQUFVLEVBQUUsS0FEa0M7QUFFOUNDLElBQUFBLFlBQVksRUFBRSxLQUZnQztBQUc5Q0MsSUFBQUEsUUFBUSxFQUFFLEtBSG9DO0FBSTlDQyxJQUFBQSxLQUFLLEVBQUUsZUFBZ0NTLEdBQWhDLEVBQXdDO0FBQzNDLFVBQU1DLElBQWlDLEdBQUcsRUFBMUM7QUFFQSxXQUFLQyxPQUFMLENBQWEsVUFBQ0MsSUFBRCxFQUFlO0FBQ3hCLFlBQU1DLFFBQWEsR0FBR0QsSUFBSSxDQUFDSCxHQUFELENBQTFCOztBQUNBLFlBQUksRUFBRUksUUFBUSxJQUFJSCxJQUFkLENBQUosRUFBeUI7QUFDckJBLFVBQUFBLElBQUksQ0FBQ0csUUFBRCxDQUFKLEdBQWlCLEVBQWpCO0FBQ0g7O0FBQ0RILFFBQUFBLElBQUksQ0FBQ0csUUFBRCxDQUFKLENBQWVULElBQWYsQ0FBb0JRLElBQXBCO0FBQ0gsT0FORDtBQU9BLGFBQU9qQixNQUFNLENBQUNtQixJQUFQLENBQVlKLElBQVosRUFBa0JLLEdBQWxCLENBQXNCLFVBQUNOLEdBQUQ7QUFBQSxlQUFTQyxJQUFJLENBQUNELEdBQUQsQ0FBYjtBQUFBLE9BQXRCLENBQVA7QUFDSDtBQWY2QyxHQUFsRDtBQWlCSCxDQWxCRCxNQWtCTztBQUNIbEIsRUFBQUEsTUFBTSxDQUFDYSxJQUFQLENBQVksU0FBWjtBQUNIOztBQUVNLFNBQVNZLE1BQVQsQ0FBc0NKLElBQXRDLEVBQStDRSxJQUEvQyxFQUEwRDtBQUM3RCxNQUFNRyxJQUFTLEdBQUcsRUFBbEI7O0FBRUEsT0FBSyxJQUFNUixJQUFYLElBQWtCRyxJQUFsQixFQUF3QjtBQUNwQixRQUFJLENBQUNFLElBQUksQ0FBQ0ksUUFBTCxDQUFjVCxJQUFkLENBQUwsRUFBZ0M7QUFDNUJRLE1BQUFBLElBQUksQ0FBQ1IsSUFBRCxDQUFKLEdBQVlHLElBQUksQ0FBQ0gsSUFBRCxDQUFoQjtBQUNIO0FBQ0o7O0FBRUQsU0FBT1EsSUFBUDtBQUNIOztBQUVNLFNBQVNFLElBQVQsQ0FBb0NQLElBQXBDLEVBQTZDRSxJQUE3QyxFQUF3RDtBQUMzRCxNQUFNRyxJQUFTLEdBQUcsRUFBbEI7O0FBRUEsT0FBSyxJQUFNUixLQUFYLElBQWtCRyxJQUFsQixFQUF3QjtBQUNwQixRQUFJRSxJQUFJLENBQUNJLFFBQUwsQ0FBY1QsS0FBZCxDQUFKLEVBQStCO0FBQzNCUSxNQUFBQSxJQUFJLENBQUNSLEtBQUQsQ0FBSixHQUFZRyxJQUFJLENBQUNILEtBQUQsQ0FBaEI7QUFDSDtBQUNKOztBQUVELFNBQU9RLElBQVA7QUFDSDs7QUFFRCxJQUFJLE9BQU96QixLQUFLLENBQUNDLFNBQU4sQ0FBZ0J1QixNQUF2QixLQUFrQyxXQUF0QyxFQUFtRDtBQUMvQ3JCLEVBQUFBLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkosS0FBSyxDQUFDQyxTQUE1QixFQUF1QyxRQUF2QyxFQUFpRDtBQUM3Q0ksSUFBQUEsVUFBVSxFQUFFLEtBRGlDO0FBRTdDQyxJQUFBQSxZQUFZLEVBQUUsS0FGK0I7QUFHN0NDLElBQUFBLFFBQVEsRUFBRSxLQUhtQztBQUk3Q0MsSUFBQUEsS0FBSyxFQUFFLGVBQWdDYyxJQUFoQyxFQUEyQztBQUM5QyxhQUFPLG1CQUFJLElBQUosRUFBVUMsR0FBVixDQUFjLFVBQUNILElBQUQ7QUFBQSxlQUFrQkksTUFBTSxDQUFDSixJQUFELEVBQU9FLElBQVAsQ0FBeEI7QUFBQSxPQUFkLENBQVA7QUFDSDtBQU40QyxHQUFqRDtBQVFILENBVEQsTUFTTztBQUNIdkIsRUFBQUEsTUFBTSxDQUFDYSxJQUFQLENBQVksUUFBWjtBQUNIOztBQUVELElBQUksT0FBT1osS0FBSyxDQUFDQyxTQUFOLENBQWdCMEIsSUFBdkIsS0FBZ0MsV0FBcEMsRUFBaUQ7QUFDN0N4QixFQUFBQSxNQUFNLENBQUNDLGNBQVAsQ0FBc0JKLEtBQUssQ0FBQ0MsU0FBNUIsRUFBdUMsTUFBdkMsRUFBK0M7QUFDM0NJLElBQUFBLFVBQVUsRUFBRSxLQUQrQjtBQUUzQ0MsSUFBQUEsWUFBWSxFQUFFLEtBRjZCO0FBRzNDQyxJQUFBQSxRQUFRLEVBQUUsS0FIaUM7QUFJM0NDLElBQUFBLEtBQUssRUFBRSxlQUFnQ2MsSUFBaEMsRUFBMkM7QUFDOUMsYUFBTyxtQkFBSSxJQUFKLEVBQVVDLEdBQVYsQ0FBYyxVQUFDSCxJQUFEO0FBQUEsZUFBa0JPLElBQUksQ0FBQ1AsSUFBRCxFQUFPRSxJQUFQLENBQXRCO0FBQUEsT0FBZCxDQUFQO0FBQ0g7QUFOMEMsR0FBL0M7QUFRSCxDQVRELE1BU087QUFDSHZCLEVBQUFBLE1BQU0sQ0FBQ2EsSUFBUCxDQUFZLE1BQVo7QUFDSDs7QUFFRCxJQUFJLE9BQU9aLEtBQUssQ0FBQ0MsU0FBTixDQUFnQjJCLEdBQXZCLEtBQStCLFdBQW5DLEVBQWdEO0FBQzVDekIsRUFBQUEsTUFBTSxDQUFDQyxjQUFQLENBQXNCSixLQUFLLENBQUNDLFNBQTVCLEVBQXVDLEtBQXZDLEVBQThDO0FBQzFDSSxJQUFBQSxVQUFVLEVBQUUsS0FEOEI7QUFFMUNDLElBQUFBLFlBQVksRUFBRSxLQUY0QjtBQUcxQ0MsSUFBQUEsUUFBUSxFQUFFLEtBSGdDO0FBSTFDQyxJQUFBQSxLQUFLLEVBQUUsZUFBYXFCLFNBQWIsRUFBMkU7QUFDOUUsV0FBSyxJQUFNWixLQUFYLElBQWtCLElBQWxCLEVBQXdCO0FBQ3BCLFlBQU1HLEtBQUksR0FBRyxLQUFLSCxLQUFMLENBQWI7O0FBQ0EsWUFBSVksU0FBUyxDQUFDVCxLQUFELEVBQU9ILEtBQVAsRUFBbUIsSUFBbkIsQ0FBYixFQUF1QztBQUNuQyxpQkFBTyxJQUFQO0FBQ0g7QUFDSjs7QUFDRCxhQUFPLEtBQVA7QUFDSDtBQVp5QyxHQUE5QztBQWNILENBZkQsTUFlTztBQUNIbEIsRUFBQUEsTUFBTSxDQUFDYSxJQUFQLENBQVksS0FBWjtBQUNIOztBQUVELElBQUliLE1BQU0sQ0FBQ1ksTUFBUCxHQUFnQixDQUFwQixFQUF1QjtBQUNuQm1CLEVBQUFBLE9BQU8sQ0FBQ0MsS0FBUiwwRUFBZ0ZoQyxNQUFNLENBQUNpQyxJQUFQLENBQVksSUFBWixDQUFoRjtBQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmxhdHRlbkRlZXAgfSBmcm9tICdsb2Rhc2gnO1xyXG5cclxuZGVjbGFyZSBnbG9iYWwge1xyXG4gICAgaW50ZXJmYWNlIEFycmF5PFQ+IHtcclxuICAgICAgICByYW5kb20oKTogVDtcclxuICAgICAgICBmaXJzdCgpOiBUIHwgbnVsbDtcclxuICAgICAgICBsYXN0KCk6IFQgfCBudWxsO1xyXG4gICAgICAgIGZsYXR0ZW4oKTogVFtdO1xyXG4gICAgICAgIGdyb3VwQnk8SyBleHRlbmRzIGtleW9mIFQ+KGtleTogSyk6IFRbXVtdO1xyXG4gICAgICAgIGV4Y2VwdDxLIGV4dGVuZHMga2V5b2YgVD4oa2V5czogS1tdKTogVFtdO1xyXG4gICAgICAgIG9ubHk8SyBleHRlbmRzIGtleW9mIFQ+KGtleXM6IEtbXSk6IFRbXTtcclxuICAgICAgICBoYXMocHJlZGljYXRlOiAoaXRlbTogVCwgaW5kZXg6IG51bWJlciwgdGhpc0FyZzogdGhpcykgPT4gYm9vbGVhbik6IGJvb2xlYW47XHJcbiAgICB9XHJcbn1cclxuXHJcbmNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcclxuXHJcbmlmICh0eXBlb2YgQXJyYXkucHJvdG90eXBlLnJhbmRvbSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICdyYW5kb20nLCB7XHJcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXHJcbiAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcclxuICAgICAgICB3cml0YWJsZTogZmFsc2UsXHJcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXNbTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogdGhpcy5sZW5ndGgpXTtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbn0gZWxzZSB7XHJcbiAgICBlcnJvcnMucHVzaCgncmFuZG9tJyk7XHJcbn1cclxuXHJcbmlmICh0eXBlb2YgQXJyYXkucHJvdG90eXBlLmZpcnN0ID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgJ2ZpcnN0Jywge1xyXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxyXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXHJcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxyXG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzWzBdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH0sXHJcbiAgICB9KTtcclxufSBlbHNlIHtcclxuICAgIGVycm9ycy5wdXNoKCdmaXJzdCcpO1xyXG59XHJcblxyXG5pZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5sYXN0ID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgJ2xhc3QnLCB7XHJcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXHJcbiAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcclxuICAgICAgICB3cml0YWJsZTogZmFsc2UsXHJcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXNbdGhpcy5sZW5ndGggLSAxXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbn0gZWxzZSB7XHJcbiAgICBlcnJvcnMucHVzaCgnbGFzdCcpO1xyXG59XHJcblxyXG5pZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5mbGF0dGVuID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgJ2ZsYXR0ZW4nLCB7XHJcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXHJcbiAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcclxuICAgICAgICB3cml0YWJsZTogZmFsc2UsXHJcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZsYXR0ZW5EZWVwKHRoaXMpO1xyXG4gICAgICAgIH0sXHJcbiAgICB9KTtcclxufSBlbHNlIHtcclxuICAgIGVycm9ycy5wdXNoKCdmbGF0dGVuJyk7XHJcbn1cclxuXHJcbmlmICh0eXBlb2YgQXJyYXkucHJvdG90eXBlLmdyb3VwQnkgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAnZ3JvdXBCeScsIHtcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxyXG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcclxuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPihrZXk6IEspIHtcclxuICAgICAgICAgICAgY29uc3QgdGVtcDogeyBba2V5OiBzdHJpbmddOiBBcnJheTxUPiB9ID0ge307XHJcblxyXG4gICAgICAgICAgICB0aGlzLmZvckVhY2goKGl0ZW06IGFueSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgcHJvcGVydHk6IGFueSA9IGl0ZW1ba2V5XTtcclxuICAgICAgICAgICAgICAgIGlmICghKHByb3BlcnR5IGluIHRlbXApKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGVtcFtwcm9wZXJ0eV0gPSBbXTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHRlbXBbcHJvcGVydHldLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModGVtcCkubWFwKChrZXkpID0+IHRlbXBba2V5XSk7XHJcbiAgICAgICAgfSxcclxuICAgIH0pO1xyXG59IGVsc2Uge1xyXG4gICAgZXJyb3JzLnB1c2goJ2dyb3VwQnknKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGV4Y2VwdDxULCBLIGV4dGVuZHMga2V5b2YgVD4oaXRlbTogVCwga2V5czogS1tdKSB7XHJcbiAgICBjb25zdCBjb3B5OiBhbnkgPSB7fTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBpdGVtKSB7XHJcbiAgICAgICAgaWYgKCFrZXlzLmluY2x1ZGVzKGtleSBhcyBhbnkpKSB7XHJcbiAgICAgICAgICAgIGNvcHlba2V5XSA9IGl0ZW1ba2V5XTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGNvcHk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBvbmx5PFQsIEsgZXh0ZW5kcyBrZXlvZiBUPihpdGVtOiBULCBrZXlzOiBLW10pIHtcclxuICAgIGNvbnN0IGNvcHk6IGFueSA9IHt9O1xyXG5cclxuICAgIGZvciAoY29uc3Qga2V5IGluIGl0ZW0pIHtcclxuICAgICAgICBpZiAoa2V5cy5pbmNsdWRlcyhrZXkgYXMgYW55KSkge1xyXG4gICAgICAgICAgICBjb3B5W2tleV0gPSBpdGVtW2tleV07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBjb3B5O1xyXG59XHJcblxyXG5pZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5leGNlcHQgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAnZXhjZXB0Jywge1xyXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxyXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXHJcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxyXG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiA8VCwgSyBleHRlbmRzIGtleW9mIFQ+KGtleXM6IEtbXSkge1xyXG4gICAgICAgICAgICByZXR1cm4gWy4uLnRoaXNdLm1hcCgoaXRlbTogb2JqZWN0KSA9PiBleGNlcHQoaXRlbSwga2V5cyBhcyBhbnkpKTtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbn0gZWxzZSB7XHJcbiAgICBlcnJvcnMucHVzaCgnZXhjZXB0Jyk7XHJcbn1cclxuXHJcbmlmICh0eXBlb2YgQXJyYXkucHJvdG90eXBlLm9ubHkgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAnb25seScsIHtcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxyXG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcclxuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPihrZXlzOiBLW10pIHtcclxuICAgICAgICAgICAgcmV0dXJuIFsuLi50aGlzXS5tYXAoKGl0ZW06IE9iamVjdCkgPT4gb25seShpdGVtLCBrZXlzIGFzIGFueSkpO1xyXG4gICAgICAgIH0sXHJcbiAgICB9KTtcclxufSBlbHNlIHtcclxuICAgIGVycm9ycy5wdXNoKCdvbmx5Jyk7XHJcbn1cclxuXHJcbmlmICh0eXBlb2YgQXJyYXkucHJvdG90eXBlLmhhcyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICdoYXMnLCB7XHJcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXHJcbiAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcclxuICAgICAgICB3cml0YWJsZTogZmFsc2UsXHJcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIDxUPihwcmVkaWNhdGU6IChpdGVtOiBULCBpbmRleDogbnVtYmVyLCB0aGlzQXJnOiBhbnkpID0+IGJvb2xlYW4pIHtcclxuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcykge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXNba2V5XTtcclxuICAgICAgICAgICAgICAgIGlmIChwcmVkaWNhdGUoaXRlbSwga2V5IGFzIGFueSwgdGhpcykpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgIH0pO1xyXG59IGVsc2Uge1xyXG4gICAgZXJyb3JzLnB1c2goJ2hhcycpO1xyXG59XHJcblxyXG5pZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoYEBhdmlkaWFuL2V4dHJhczpBcnJheTogVW5hYmxlIHRvIHBhdGNoIHRoZSBmb2xsb3dpbmcgbWV0aG9kcyAtICR7ZXJyb3JzLmpvaW4oJywgJyl9YCk7XHJcbn1cclxuXHJcbmV4cG9ydCB7fTtcclxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9BcnJheS50cyJdLCJuYW1lcyI6WyJlcnJvcnMiLCJBcnJheSIsInByb3RvdHlwZSIsInJhbmRvbSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwidmFsdWUiLCJNYXRoIiwiZmxvb3IiLCJsZW5ndGgiLCJwdXNoIiwibGltaXQiLCJmaXJzdCIsImxhc3QiLCJmbGF0dGVuIiwiZ3JvdXBCeSIsImtleSIsInRlbXAiLCJmb3JFYWNoIiwiaXRlbSIsInByb3BlcnR5Iiwia2V5cyIsIm1hcCIsImV4Y2VwdCIsImNvcHkiLCJpbmNsdWRlcyIsIm9ubHkiLCJoYXMiLCJwcmVkaWNhdGUiLCJjb25zb2xlIiwiZXJyb3IiLCJqb2luIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBOzs7Ozs7Ozs7Ozs7OztBQWdCQSxJQUFNQSxNQUFnQixHQUFHLEVBQXpCOztBQUVBLElBQUksT0FBT0MsS0FBSyxDQUFDQyxTQUFOLENBQWdCQyxNQUF2QixLQUFrQyxXQUF0QyxFQUFtRDtBQUMvQ0MsRUFBQUEsTUFBTSxDQUFDQyxjQUFQLENBQXNCSixLQUFLLENBQUNDLFNBQTVCLEVBQXVDLFFBQXZDLEVBQWlEO0FBQzdDSSxJQUFBQSxVQUFVLEVBQUUsS0FEaUM7QUFFN0NDLElBQUFBLFlBQVksRUFBRSxLQUYrQjtBQUc3Q0MsSUFBQUEsUUFBUSxFQUFFLEtBSG1DO0FBSTdDQyxJQUFBQSxLQUFLLEVBQUUsaUJBQVk7QUFDZixhQUFPLEtBQUtDLElBQUksQ0FBQ0MsS0FBTCxDQUFXRCxJQUFJLENBQUNQLE1BQUwsS0FBZ0IsS0FBS1MsTUFBaEMsQ0FBTCxDQUFQO0FBQ0g7QUFONEMsR0FBakQ7QUFRSCxDQVRELE1BU087QUFDSFosRUFBQUEsTUFBTSxDQUFDYSxJQUFQLENBQVksUUFBWjtBQUNIOztBQUVELElBQUksT0FBT1osS0FBSyxDQUFDQyxTQUFOLENBQWdCWSxLQUF2QixLQUFpQyxXQUFy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QWtCTyxJQUFJLENBQUNQLElBQUQsRUFBT0UsSUFBUCxDQUF0QjtBQUFBLE9BQWQsQ0FBUDtBQUNIO0FBTjBDLEdBQS9DO0FBUUgsQ0FURCxNQVNPO0FBQ0h4QixFQUFBQSxNQUFNLENBQUNhLElBQVAsQ0FBWSxNQUFaO0FBQ0g7O0FBRUQsSUFBSSxPQUFPWixLQUFLLENBQUNDLFNBQU4sQ0FBZ0I0QixHQUF2QixLQUErQixXQUFuQyxFQUFnRDtBQUM1QzFCLEVBQUFBLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkosS0FBSyxDQUFDQyxTQUE1QixFQUF1QyxLQUF2QyxFQUE4QztBQUMxQ0ksSUFBQUEsVUFBVSxFQUFFLEtBRDhCO0FBRTFDQyxJQUFBQSxZQUFZLEVBQUUsS0FGNEI7QUFHMUNDLElBQUFBLFFBQVEsRUFBRSxLQUhnQztBQUkxQ0MsSUFBQUEsS0FBSyxFQUFFLGVBQWFzQixTQUFiLEVBQTJFO0FBQzlFLFdBQUssSUFBTVosS0FBWCxJQUFrQixJQUFsQixFQUF3QjtBQUNwQixZQUFNRyxLQUFJLEdBQUcsS0FBS0gsS0FBTCxDQUFiOztBQUNBLFlBQUlZLFNBQVMsQ0FBQ1QsS0FBRCxFQUFPSCxLQUFQLEVBQW1CLElBQW5CLENBQWIsRUFBdUM7QUFDbkMsaUJBQU8sSUFBUDtBQUNIO0FBQ0o7O0FBQ0QsYUFBTyxLQUFQO0FBQ0g7QUFaeUMsR0FBOUM7QUFjSCxDQWZELE1BZU87QUFDSG5CLEVBQUFBLE1BQU0sQ0FBQ2EsSUFBUCxDQUFZLEtBQVo7QUFDSDs7QUFFRCxJQUFJYixNQUFNLENBQUNZLE1BQVAsR0FBZ0IsQ0FBcEIsRUFBdUI7QUFDbkJvQixFQUFBQSxPQUFPLENBQUNDLEtBQVIsMEVBQWdGakMsTUFBTSxDQUFDa0MsSUFBUCxDQUFZLElBQVosQ0FBaEY7QUFDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZsYXR0ZW5EZWVwIH0gZnJvbSAnbG9kYXNoJztcblxuZGVjbGFyZSBnbG9iYWwge1xuICAgIGludGVyZmFjZSBBcnJheTxUPiB7XG4gICAgICAgIHJhbmRvbSgpOiBUO1xuICAgICAgICBmaXJzdCgpOiBUIHwgbnVsbDtcbiAgICAgICAgbGFzdCgpOiBUIHwgbnVsbDtcbiAgICAgICAgZmxhdHRlbigpOiBUW107XG4gICAgICAgIGdyb3VwQnk8SyBleHRlbmRzIGtleW9mIFQ+KGtleTogSyk6IFRbXVtdO1xuICAgICAgICBleGNlcHQ8SyBleHRlbmRzIGtleW9mIFQ+KGtleXM6IEtbXSk6IFRbXTtcbiAgICAgICAgb25seTxLIGV4dGVuZHMga2V5b2YgVD4oa2V5czogS1tdKTogVFtdO1xuICAgICAgICBoYXMocHJlZGljYXRlOiAoaXRlbTogVCwgaW5kZXg6IG51bWJlciwgdGhpc0FyZzogdGhpcykgPT4gYm9vbGVhbik6IGJvb2xlYW47XG4gICAgICAgIGxpbWl0KGxlbmd0aDogbnVtYmVyKTogdGhpcztcbiAgICB9XG59XG5cbmNvbnN0IGVycm9yczogc3RyaW5nW10gPSBbXTtcblxuaWYgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUucmFuZG9tID09PSAndW5kZWZpbmVkJykge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICdyYW5kb20nLCB7XG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpc1tNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiB0aGlzLmxlbmd0aCldO1xuICAgICAgICB9LFxuICAgIH0pO1xufSBlbHNlIHtcbiAgICBlcnJvcnMucHVzaCgncmFuZG9tJyk7XG59XG5cbmlmICh0eXBlb2YgQXJyYXkucHJvdG90eXBlLmxpbWl0ID09PSAndW5kZWZpbmVkJykge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICdsaW1pdCcsIHtcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIChsZW5ndGg6IG51bWJlcikge1xuICAgICAgICAgICAgaWYgKHRoaXMubGVuZ3RoID4gbGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sZW5ndGggPSBsZW5ndGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9LFxuICAgIH0pO1xufSBlbHNlIHtcbiAgICBlcnJvcnMucHVzaCgnbGltaXQnKTtcbn1cblxuaWYgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUuZmlyc3QgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgJ2ZpcnN0Jywge1xuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzWzBdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0sXG4gICAgfSk7XG59IGVsc2Uge1xuICAgIGVycm9ycy5wdXNoKCdmaXJzdCcpO1xufVxuXG5pZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5sYXN0ID09PSAndW5kZWZpbmVkJykge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICdsYXN0Jywge1xuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKHRoaXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzW3RoaXMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfSxcbiAgICB9KTtcbn0gZWxzZSB7XG4gICAgZXJyb3JzLnB1c2goJ2xhc3QnKTtcbn1cblxuaWYgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUuZmxhdHRlbiA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAnZmxhdHRlbicsIHtcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBmbGF0dGVuRGVlcCh0aGlzKTtcbiAgICAgICAgfSxcbiAgICB9KTtcbn0gZWxzZSB7XG4gICAgZXJyb3JzLnB1c2goJ2ZsYXR0ZW4nKTtcbn1cblxuaWYgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUuZ3JvdXBCeSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQXJyYXkucHJvdG90eXBlLCAnZ3JvdXBCeScsIHtcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIDxULCBLIGV4dGVuZHMga2V5b2YgVD4oa2V5OiBLKSB7XG4gICAgICAgICAgICBjb25zdCB0ZW1wOiB7IFtrZXk6IHN0cmluZ106IEFycmF5PFQ+IH0gPSB7fTtcblxuICAgICAgICAgICAgdGhpcy5mb3JFYWNoKChpdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9wZXJ0eTogYW55ID0gaXRlbVtrZXldO1xuICAgICAgICAgICAgICAgIGlmICghKHByb3BlcnR5IGluIHRlbXApKSB7XG4gICAgICAgICAgICAgICAgICAgIHRlbXBbcHJvcGVydHldID0gW107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRlbXBbcHJvcGVydHldLnB1c2goaXRlbSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBPYmplY3Qua2V5cyh0ZW1wKS5tYXAoKGtleSkgPT4gdGVtcFtrZXldKTtcbiAgICAgICAgfSxcbiAgICB9KTtcbn0gZWxzZSB7XG4gICAgZXJyb3JzLnB1c2goJ2dyb3VwQnknKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4Y2VwdDxULCBLIGV4dGVuZHMga2V5b2YgVD4oaXRlbTogVCwga2V5czogS1tdKSB7XG4gICAgY29uc3QgY29weTogYW55ID0ge307XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiBpdGVtKSB7XG4gICAgICAgIGlmICgha2V5cy5pbmNsdWRlcyhrZXkgYXMgYW55KSkge1xuICAgICAgICAgICAgY29weVtrZXldID0gaXRlbVtrZXldO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvcHk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvbmx5PFQsIEsgZXh0ZW5kcyBrZXlvZiBUPihpdGVtOiBULCBrZXlzOiBLW10pIHtcbiAgICBjb25zdCBjb3B5OiBhbnkgPSB7fTtcblxuICAgIGZvciAoY29uc3Qga2V5IGluIGl0ZW0pIHtcbiAgICAgICAgaWYgKGtleXMuaW5jbHVkZXMoa2V5IGFzIGFueSkpIHtcbiAgICAgICAgICAgIGNvcHlba2V5XSA9IGl0ZW1ba2V5XTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBjb3B5O1xufVxuXG5pZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5leGNlcHQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFycmF5LnByb3RvdHlwZSwgJ2V4Y2VwdCcsIHtcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIDxULCBLIGV4dGVuZHMga2V5b2YgVD4oa2V5czogS1tdKSB7XG4gICAgICAgICAgICByZXR1cm4gWy4uLnRoaXNdLm1hcCgoaXRlbTogb2JqZWN0KSA9PiBleGNlcHQoaXRlbSwga2V5cyBhcyBhbnkpKTtcbiAgICAgICAgfSxcbiAgICB9KTtcbn0gZWxzZSB7XG4gICAgZXJyb3JzLnB1c2goJ2V4Y2VwdCcpO1xufVxuXG5pZiAodHlwZW9mIEFycmF5LnByb3RvdHlwZS5vbmx5ID09PSAndW5kZWZpbmVkJykge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICdvbmx5Jywge1xuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gPFQsIEsgZXh0ZW5kcyBrZXlvZiBUPihrZXlzOiBLW10pIHtcbiAgICAgICAgICAgIHJldHVybiBbLi4udGhpc10ubWFwKChpdGVtOiBPYmplY3QpID0+IG9ubHkoaXRlbSwga2V5cyBhcyBhbnkpKTtcbiAgICAgICAgfSxcbiAgICB9KTtcbn0gZWxzZSB7XG4gICAgZXJyb3JzLnB1c2goJ29ubHknKTtcbn1cblxuaWYgKHR5cGVvZiBBcnJheS5wcm90b3R5cGUuaGFzID09PSAndW5kZWZpbmVkJykge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShBcnJheS5wcm90b3R5cGUsICdoYXMnLCB7XG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiA8VD4ocHJlZGljYXRlOiAoaXRlbTogVCwgaW5kZXg6IG51bWJlciwgdGhpc0FyZzogYW55KSA9PiBib29sZWFuKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IHRoaXNba2V5XTtcbiAgICAgICAgICAgICAgICBpZiAocHJlZGljYXRlKGl0ZW0sIGtleSBhcyBhbnksIHRoaXMpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSxcbiAgICB9KTtcbn0gZWxzZSB7XG4gICAgZXJyb3JzLnB1c2goJ2hhcycpO1xufVxuXG5pZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcbiAgICBjb25zb2xlLmVycm9yKGBAYXZpZGlhbi9leHRyYXM6QXJyYXk6IFVuYWJsZSB0byBwYXRjaCB0aGUgZm9sbG93aW5nIG1ldGhvZHMgLSAke2Vycm9ycy5qb2luKCcsICcpfWApO1xufVxuXG5leHBvcnQge307XG4iXX0=

2

dist/Date.js

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

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9EYXRlLnRzIl0sIm5hbWVzIjpbImRheWpzIiwiZXh0ZW5kIiwicmVsYXRpdmVUaW1lIiwiZXJyb3JzIiwiRGF0ZSIsInByb3RvdHlwZSIsInRvRGF5SlMiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsInZhbHVlIiwicHVzaCIsImZyb21Ob3ciLCJsZW5ndGgiLCJjb25zb2xlIiwiZXJyb3IiLCJqb2luIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7OztBQVNBQSxrQkFBTUMsTUFBTixDQUFhQyx3QkFBYjs7QUFFQSxJQUFNQyxNQUFnQixHQUFHLEVBQXpCOztBQUVBLElBQUksT0FBT0MsSUFBSSxDQUFDQyxTQUFMLENBQWVDLE9BQXRCLEtBQWtDLFdBQXRDLEVBQW1EO0FBQy9DQyxFQUFBQSxNQUFNLENBQUNDLGNBQVAsQ0FBc0JKLElBQUksQ0FBQ0MsU0FBM0IsRUFBc0MsU0FBdEMsRUFBaUQ7QUFDN0NJLElBQUFBLFVBQVUsRUFBRSxLQURpQztBQUU3Q0MsSUFBQUEsWUFBWSxFQUFFLEtBRitCO0FBRzdDQyxJQUFBQSxRQUFRLEVBQUUsS0FIbUM7QUFJN0NDLElBQUFBLEtBQUssRUFBRSxpQkFBWTtBQUNmLGFBQU8sdUJBQU0sSUFBTixDQUFQO0FBQ0g7QUFONEMsR0FBakQ7QUFRSCxDQVRELE1BU087QUFDSFQsRUFBQUEsTUFBTSxDQUFDVSxJQUFQLENBQVksU0FBWjtBQUNIOztBQUVELElBQUksT0FBT1QsSUFBSSxDQUFDQyxTQUFMLENBQWVTLE9BQXRCLEtBQWtDLFdBQXRDLEVBQW1EO0FBQy9DUCxFQUFBQSxNQUFNLENBQUNDLGNBQVAsQ0FBc0JKLElBQUksQ0FBQ0MsU0FBM0IsRUFBc0MsU0FBdEMsRUFBaUQ7QUFDN0NJLElBQUFBLFVBQVUsRUFBRSxLQURpQztBQUU3Q0MsSUFBQUEsWUFBWSxFQUFFLEtBRitCO0FBRzdDQyxJQUFBQSxRQUFRLEVBQUUsS0FIbUM7QUFJN0NDLElBQUFBLEtBQUssRUFBRSxpQkFBWTtBQUNmLGFBQU8sdUJBQU0sSUFBTixFQUFZRSxPQUFaLEVBQVA7QUFDSDtBQU40QyxHQUFqRDtBQVFILENBVEQsTUFTTztBQUNIWCxFQUFBQSxNQUFNLENBQUNVLElBQVAsQ0FBWSxTQUFaO0FBQ0g7O0FBRUQsSUFBSVYsTUFBTSxDQUFDWSxNQUFQLEdBQWdCLENBQXBCLEVBQXVCO0FBQ25CQyxFQUFBQSxPQUFPLENBQUNDLEtBQVIseUVBQStFZCxNQUFNLENBQUNlLElBQVAsQ0FBWSxJQUFaLENBQS9FO0FBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGF5anMsIHsgRGF5anMgfSBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCByZWxhdGl2ZVRpbWUgZnJvbSAnZGF5anMvcGx1Z2luL3JlbGF0aXZlVGltZSc7XHJcblxyXG5kZWNsYXJlIGdsb2JhbCB7XHJcbiAgICBpbnRlcmZhY2UgRGF0ZSB7XHJcbiAgICAgICAgdG9EYXlKUygpOiBEYXlqcztcclxuICAgICAgICBmcm9tTm93KCk6IHN0cmluZztcclxuICAgIH1cclxufVxyXG5cclxuZGF5anMuZXh0ZW5kKHJlbGF0aXZlVGltZSk7XHJcblxyXG5jb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XHJcblxyXG5pZiAodHlwZW9mIERhdGUucHJvdG90eXBlLnRvRGF5SlMgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0ZS5wcm90b3R5cGUsICd0b0RheUpTJywge1xyXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxyXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXHJcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxyXG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBkYXlqcyh0aGlzKTtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbn0gZWxzZSB7XHJcbiAgICBlcnJvcnMucHVzaCgndG9EYXlKUycpO1xyXG59XHJcblxyXG5pZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmZyb21Ob3cgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0ZS5wcm90b3R5cGUsICdmcm9tTm93Jywge1xyXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxyXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXHJcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxyXG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBkYXlqcyh0aGlzKS5mcm9tTm93KCk7XHJcbiAgICAgICAgfSxcclxuICAgIH0pO1xyXG59IGVsc2Uge1xyXG4gICAgZXJyb3JzLnB1c2goJ2Zyb21Ob3cnKTtcclxufVxyXG5cclxuaWYgKGVycm9ycy5sZW5ndGggPiAwKSB7XHJcbiAgICBjb25zb2xlLmVycm9yKGBAYXZpZGlhbi9leHRyYXM6RGF0ZTogVW5hYmxlIHRvIHBhdGNoIHRoZSBmb2xsb3dpbmcgbWV0aG9kcyAtICR7ZXJyb3JzLmpvaW4oJywgJyl9YCk7XHJcbn1cclxuXHJcbmV4cG9ydCB7fTtcclxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9EYXRlLnRzIl0sIm5hbWVzIjpbImRheWpzIiwiZXh0ZW5kIiwicmVsYXRpdmVUaW1lIiwiZXJyb3JzIiwiRGF0ZSIsInByb3RvdHlwZSIsInRvRGF5SlMiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsInZhbHVlIiwicHVzaCIsImZyb21Ob3ciLCJsZW5ndGgiLCJjb25zb2xlIiwiZXJyb3IiLCJqb2luIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7OztBQVNBQSxrQkFBTUMsTUFBTixDQUFhQyx3QkFBYjs7QUFFQSxJQUFNQyxNQUFnQixHQUFHLEVBQXpCOztBQUVBLElBQUksT0FBT0MsSUFBSSxDQUFDQyxTQUFMLENBQWVDLE9BQXRCLEtBQWtDLFdBQXRDLEVBQW1EO0FBQy9DQyxFQUFBQSxNQUFNLENBQUNDLGNBQVAsQ0FBc0JKLElBQUksQ0FBQ0MsU0FBM0IsRUFBc0MsU0FBdEMsRUFBaUQ7QUFDN0NJLElBQUFBLFVBQVUsRUFBRSxLQURpQztBQUU3Q0MsSUFBQUEsWUFBWSxFQUFFLEtBRitCO0FBRzdDQyxJQUFBQSxRQUFRLEVBQUUsS0FIbUM7QUFJN0NDLElBQUFBLEtBQUssRUFBRSxpQkFBWTtBQUNmLGFBQU8sdUJBQU0sSUFBTixDQUFQO0FBQ0g7QUFONEMsR0FBakQ7QUFRSCxDQVRELE1BU087QUFDSFQsRUFBQUEsTUFBTSxDQUFDVSxJQUFQLENBQVksU0FBWjtBQUNIOztBQUVELElBQUksT0FBT1QsSUFBSSxDQUFDQyxTQUFMLENBQWVTLE9BQXRCLEtBQWtDLFdBQXRDLEVBQW1EO0FBQy9DUCxFQUFBQSxNQUFNLENBQUNDLGNBQVAsQ0FBc0JKLElBQUksQ0FBQ0MsU0FBM0IsRUFBc0MsU0FBdEMsRUFBaUQ7QUFDN0NJLElBQUFBLFVBQVUsRUFBRSxLQURpQztBQUU3Q0MsSUFBQUEsWUFBWSxFQUFFLEtBRitCO0FBRzdDQyxJQUFBQSxRQUFRLEVBQUUsS0FIbUM7QUFJN0NDLElBQUFBLEtBQUssRUFBRSxpQkFBWTtBQUNmLGFBQU8sdUJBQU0sSUFBTixFQUFZRSxPQUFaLEVBQVA7QUFDSDtBQU40QyxHQUFqRDtBQVFILENBVEQsTUFTTztBQUNIWCxFQUFBQSxNQUFNLENBQUNVLElBQVAsQ0FBWSxTQUFaO0FBQ0g7O0FBRUQsSUFBSVYsTUFBTSxDQUFDWSxNQUFQLEdBQWdCLENBQXBCLEVBQXVCO0FBQ25CQyxFQUFBQSxPQUFPLENBQUNDLEtBQVIseUVBQStFZCxNQUFNLENBQUNlLElBQVAsQ0FBWSxJQUFaLENBQS9FO0FBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZGF5anMsIHsgRGF5anMgfSBmcm9tICdkYXlqcyc7XG5pbXBvcnQgcmVsYXRpdmVUaW1lIGZyb20gJ2RheWpzL3BsdWdpbi9yZWxhdGl2ZVRpbWUnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gICAgaW50ZXJmYWNlIERhdGUge1xuICAgICAgICB0b0RheUpTKCk6IERheWpzO1xuICAgICAgICBmcm9tTm93KCk6IHN0cmluZztcbiAgICB9XG59XG5cbmRheWpzLmV4dGVuZChyZWxhdGl2ZVRpbWUpO1xuXG5jb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbmlmICh0eXBlb2YgRGF0ZS5wcm90b3R5cGUudG9EYXlKUyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRGF0ZS5wcm90b3R5cGUsICd0b0RheUpTJywge1xuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgcmV0dXJuIGRheWpzKHRoaXMpO1xuICAgICAgICB9LFxuICAgIH0pO1xufSBlbHNlIHtcbiAgICBlcnJvcnMucHVzaCgndG9EYXlKUycpO1xufVxuXG5pZiAodHlwZW9mIERhdGUucHJvdG90eXBlLmZyb21Ob3cgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KERhdGUucHJvdG90eXBlLCAnZnJvbU5vdycsIHtcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXlqcyh0aGlzKS5mcm9tTm93KCk7XG4gICAgICAgIH0sXG4gICAgfSk7XG59IGVsc2Uge1xuICAgIGVycm9ycy5wdXNoKCdmcm9tTm93Jyk7XG59XG5cbmlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIGNvbnNvbGUuZXJyb3IoYEBhdmlkaWFuL2V4dHJhczpEYXRlOiBVbmFibGUgdG8gcGF0Y2ggdGhlIGZvbGxvd2luZyBtZXRob2RzIC0gJHtlcnJvcnMuam9pbignLCAnKX1gKTtcbn1cblxuZXhwb3J0IHt9O1xuIl19

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

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9FcnJvci50cyJdLCJuYW1lcyI6WyJlcnJvcnMiLCJFcnJvciIsInByb3RvdHlwZSIsInRvT2JqZWN0IiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJ3cml0YWJsZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ2YWx1ZSIsImFsdCIsIl90aGlzIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImZvckVhY2giLCJrZXkiLCJzdGFjayIsInNwbGl0IiwibWFwIiwic3RyaW5nIiwidHJpbSIsImZpbHRlciIsIl8iLCJpIiwicHVzaCIsImxlbmd0aCIsImNvbnNvbGUiLCJlcnJvciIsImpvaW4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBTUEsSUFBTUEsTUFBZ0IsR0FBRyxFQUF6Qjs7QUFFQSxJQUFJLE9BQU9DLEtBQUssQ0FBQ0MsU0FBTixDQUFnQkMsUUFBdkIsS0FBb0MsV0FBeEMsRUFBcUQ7QUFDakRDLEVBQUFBLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkosS0FBSyxDQUFDQyxTQUE1QixFQUF1QyxVQUF2QyxFQUFtRDtBQUMvQ0ksSUFBQUEsUUFBUSxFQUFFLEtBRHFDO0FBRS9DQyxJQUFBQSxVQUFVLEVBQUUsS0FGbUM7QUFHL0NDLElBQUFBLFlBQVksRUFBRSxLQUhpQztBQUkvQ0MsSUFBQUEsS0FBSyxFQUFFLGlCQUFZO0FBQ2YsVUFBTUMsR0FBRyxHQUFHLEVBQVo7O0FBRUEsVUFBTUMsS0FBSyxHQUFHLElBQWQ7O0FBQ0FQLE1BQUFBLE1BQU0sQ0FBQ1EsbUJBQVAsQ0FBMkJELEtBQTNCLEVBQWtDRSxPQUFsQyxDQUEwQyxVQUFVQyxHQUFWLEVBQWU7QUFDckRKLFFBQUFBLEdBQUcsQ0FBQ0ksR0FBRCxDQUFILEdBQVdILEtBQUssQ0FBQ0csR0FBRCxDQUFoQjtBQUNILE9BRkQsRUFFR0gsS0FGSDs7QUFJQSxVQUFJLFdBQVdELEdBQWYsRUFBb0I7QUFDaEJBLFFBQUFBLEdBQUcsQ0FBQ0ssS0FBSixHQUFZTCxHQUFHLENBQUNLLEtBQUosQ0FDUEMsS0FETyxDQUNELE9BREMsRUFFUEMsR0FGTyxDQUVILFVBQUNDLE1BQUQ7QUFBQSxpQkFBb0JBLE1BQU0sQ0FBQ0MsSUFBUCxFQUFwQjtBQUFBLFNBRkcsRUFHUEMsTUFITyxDQUdBLFVBQUNDLENBQUQsRUFBU0MsQ0FBVDtBQUFBLGlCQUF1QkEsQ0FBQyxLQUFLLENBQTdCO0FBQUEsU0FIQSxDQUFaO0FBSUg7O0FBRUQsYUFBT1osR0FBUDtBQUNIO0FBcEI4QyxHQUFuRDtBQXNCSCxDQXZCRCxNQXVCTztBQUNIVixFQUFBQSxNQUFNLENBQUN1QixJQUFQLENBQVksVUFBWjtBQUNIOztBQUVELElBQUl2QixNQUFNLENBQUN3QixNQUFQLEdBQWdCLENBQXBCLEVBQXVCO0FBQ25CQyxFQUFBQSxPQUFPLENBQUNDLEtBQVIsMEVBQWdGMUIsTUFBTSxDQUFDMkIsSUFBUCxDQUFZLElBQVosQ0FBaEY7QUFDSCIsInNvdXJjZXNDb250ZW50IjpbImRlY2xhcmUgZ2xvYmFsIHtcclxuICAgIGludGVyZmFjZSBFcnJvciB7XHJcbiAgICAgICAgdG9PYmplY3QoKTogUmVjb3JkPHN0cmluZywgYW55PjtcclxuICAgIH1cclxufVxyXG5cclxuY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuaWYgKHR5cGVvZiBFcnJvci5wcm90b3R5cGUudG9PYmplY3QgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IucHJvdG90eXBlLCAndG9PYmplY3QnLCB7XHJcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxyXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxyXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXHJcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgY29uc3QgYWx0ID0ge30gYXMgYW55O1xyXG5cclxuICAgICAgICAgICAgY29uc3QgX3RoaXMgPSB0aGlzIGFzIGFueTtcclxuICAgICAgICAgICAgT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoX3RoaXMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xyXG4gICAgICAgICAgICAgICAgYWx0W2tleV0gPSBfdGhpc1trZXldO1xyXG4gICAgICAgICAgICB9LCBfdGhpcyk7XHJcblxyXG4gICAgICAgICAgICBpZiAoJ3N0YWNrJyBpbiBhbHQpIHtcclxuICAgICAgICAgICAgICAgIGFsdC5zdGFjayA9IGFsdC5zdGFja1xyXG4gICAgICAgICAgICAgICAgICAgIC5zcGxpdCgvXFxyP1xcbi8pXHJcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoc3RyaW5nOiBzdHJpbmcpID0+IHN0cmluZy50cmltKCkpXHJcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoXzogYW55LCBpOiBudW1iZXIpID0+IGkgIT09IDApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICByZXR1cm4gYWx0O1xyXG4gICAgICAgIH0sXHJcbiAgICB9KTtcclxufSBlbHNlIHtcclxuICAgIGVycm9ycy5wdXNoKCd0b09iamVjdCcpO1xyXG59XHJcblxyXG5pZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoYEBhdmlkaWFuL2V4dHJhczpFcnJvcjogVW5hYmxlIHRvIHBhdGNoIHRoZSBmb2xsb3dpbmcgbWV0aG9kcyAtICR7ZXJyb3JzLmpvaW4oJywgJyl9YCk7XHJcbn1cclxuXHJcbmV4cG9ydCB7fTtcclxuIl19
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9FcnJvci50cyJdLCJuYW1lcyI6WyJlcnJvcnMiLCJFcnJvciIsInByb3RvdHlwZSIsInRvT2JqZWN0IiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJ3cml0YWJsZSIsImVudW1lcmFibGUiLCJjb25maWd1cmFibGUiLCJ2YWx1ZSIsImFsdCIsIl90aGlzIiwiZ2V0T3duUHJvcGVydHlOYW1lcyIsImZvckVhY2giLCJrZXkiLCJzdGFjayIsInNwbGl0IiwibWFwIiwic3RyaW5nIiwidHJpbSIsImZpbHRlciIsIl8iLCJpIiwicHVzaCIsImxlbmd0aCIsImNvbnNvbGUiLCJlcnJvciIsImpvaW4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBTUEsSUFBTUEsTUFBZ0IsR0FBRyxFQUF6Qjs7QUFFQSxJQUFJLE9BQU9DLEtBQUssQ0FBQ0MsU0FBTixDQUFnQkMsUUFBdkIsS0FBb0MsV0FBeEMsRUFBcUQ7QUFDakRDLEVBQUFBLE1BQU0sQ0FBQ0MsY0FBUCxDQUFzQkosS0FBSyxDQUFDQyxTQUE1QixFQUF1QyxVQUF2QyxFQUFtRDtBQUMvQ0ksSUFBQUEsUUFBUSxFQUFFLEtBRHFDO0FBRS9DQyxJQUFBQSxVQUFVLEVBQUUsS0FGbUM7QUFHL0NDLElBQUFBLFlBQVksRUFBRSxLQUhpQztBQUkvQ0MsSUFBQUEsS0FBSyxFQUFFLGlCQUFZO0FBQ2YsVUFBTUMsR0FBRyxHQUFHLEVBQVo7O0FBRUEsVUFBTUMsS0FBSyxHQUFHLElBQWQ7O0FBQ0FQLE1BQUFBLE1BQU0sQ0FBQ1EsbUJBQVAsQ0FBMkJELEtBQTNCLEVBQWtDRSxPQUFsQyxDQUEwQyxVQUFVQyxHQUFWLEVBQWU7QUFDckRKLFFBQUFBLEdBQUcsQ0FBQ0ksR0FBRCxDQUFILEdBQVdILEtBQUssQ0FBQ0csR0FBRCxDQUFoQjtBQUNILE9BRkQsRUFFR0gsS0FGSDs7QUFJQSxVQUFJLFdBQVdELEdBQWYsRUFBb0I7QUFDaEJBLFFBQUFBLEdBQUcsQ0FBQ0ssS0FBSixHQUFZTCxHQUFHLENBQUNLLEtBQUosQ0FDUEMsS0FETyxDQUNELE9BREMsRUFFUEMsR0FGTyxDQUVILFVBQUNDLE1BQUQ7QUFBQSxpQkFBb0JBLE1BQU0sQ0FBQ0MsSUFBUCxFQUFwQjtBQUFBLFNBRkcsRUFHUEMsTUFITyxDQUdBLFVBQUNDLENBQUQsRUFBU0MsQ0FBVDtBQUFBLGlCQUF1QkEsQ0FBQyxLQUFLLENBQTdCO0FBQUEsU0FIQSxDQUFaO0FBSUg7O0FBRUQsYUFBT1osR0FBUDtBQUNIO0FBcEI4QyxHQUFuRDtBQXNCSCxDQXZCRCxNQXVCTztBQUNIVixFQUFBQSxNQUFNLENBQUN1QixJQUFQLENBQVksVUFBWjtBQUNIOztBQUVELElBQUl2QixNQUFNLENBQUN3QixNQUFQLEdBQWdCLENBQXBCLEVBQXVCO0FBQ25CQyxFQUFBQSxPQUFPLENBQUNDLEtBQVIsMEVBQWdGMUIsTUFBTSxDQUFDMkIsSUFBUCxDQUFZLElBQVosQ0FBaEY7QUFDSCIsInNvdXJjZXNDb250ZW50IjpbImRlY2xhcmUgZ2xvYmFsIHtcbiAgICBpbnRlcmZhY2UgRXJyb3Ige1xuICAgICAgICB0b09iamVjdCgpOiBSZWNvcmQ8c3RyaW5nLCBhbnk+O1xuICAgIH1cbn1cblxuY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuXG5pZiAodHlwZW9mIEVycm9yLnByb3RvdHlwZS50b09iamVjdCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXJyb3IucHJvdG90eXBlLCAndG9PYmplY3QnLCB7XG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjb25zdCBhbHQgPSB7fSBhcyBhbnk7XG5cbiAgICAgICAgICAgIGNvbnN0IF90aGlzID0gdGhpcyBhcyBhbnk7XG4gICAgICAgICAgICBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhfdGhpcykuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgICAgICAgICAgYWx0W2tleV0gPSBfdGhpc1trZXldO1xuICAgICAgICAgICAgfSwgX3RoaXMpO1xuXG4gICAgICAgICAgICBpZiAoJ3N0YWNrJyBpbiBhbHQpIHtcbiAgICAgICAgICAgICAgICBhbHQuc3RhY2sgPSBhbHQuc3RhY2tcbiAgICAgICAgICAgICAgICAgICAgLnNwbGl0KC9cXHI/XFxuLylcbiAgICAgICAgICAgICAgICAgICAgLm1hcCgoc3RyaW5nOiBzdHJpbmcpID0+IHN0cmluZy50cmltKCkpXG4gICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKF86IGFueSwgaTogbnVtYmVyKSA9PiBpICE9PSAwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGFsdDtcbiAgICAgICAgfSxcbiAgICB9KTtcbn0gZWxzZSB7XG4gICAgZXJyb3JzLnB1c2goJ3RvT2JqZWN0Jyk7XG59XG5cbmlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIGNvbnNvbGUuZXJyb3IoYEBhdmlkaWFuL2V4dHJhczpFcnJvcjogVW5hYmxlIHRvIHBhdGNoIHRoZSBmb2xsb3dpbmcgbWV0aG9kcyAtICR7ZXJyb3JzLmpvaW4oJywgJyl9YCk7XG59XG5cbmV4cG9ydCB7fTtcbiJdfQ==

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

});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vQXJyYXknO1xyXG5leHBvcnQgKiBmcm9tICcuL0RhdGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL0Vycm9yJztcclxuZXhwb3J0ICogZnJvbSAnLi9TdHJpbmcnO1xyXG4iXX0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vQXJyYXknO1xuZXhwb3J0ICogZnJvbSAnLi9EYXRlJztcbmV4cG9ydCAqIGZyb20gJy4vRXJyb3InO1xuZXhwb3J0ICogZnJvbSAnLi9TdHJpbmcnO1xuIl19

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

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9TdHJpbmcudHMiXSwibmFtZXMiOlsiZGF5anMiLCJleHRlbmQiLCJyZWxhdGl2ZVRpbWUiLCJlcnJvcnMiLCJTdHJpbmciLCJwcm90b3R5cGUiLCJ0b051bWJlciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwidmFsdWUiLCJwYXJ0cyIsInNwbGl0IiwibGVuZ3RoIiwid2hvbGUiLCJtYXRjaCIsImpvaW4iLCJkZWNpbWFscyIsIk51bWJlciIsInB1c2giLCJ0b0RheUpTIiwiaW5zdGFuY2UiLCJ0b1N0cmluZyIsImlzVmFsaWQiLCJFcnJvciIsInRvRGF0ZSIsImZyb21Ob3ciLCJyYW5kb20iLCJzaXplIiwiY2hhcmFjdGVycyIsInJlc3VsdHMiLCJ4IiwiY2hhckF0IiwiTWF0aCIsImZsb29yIiwiY29uc29sZSIsImVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7OztBQWNBQSxrQkFBTUMsTUFBTixDQUFhQyx3QkFBYjs7QUFFQSxJQUFNQyxNQUFnQixHQUFHLEVBQXpCOztBQUVBLElBQUksT0FBT0MsTUFBTSxDQUFDQyxTQUFQLENBQWlCQyxRQUF4QixLQUFxQyxXQUF6QyxFQUFzRDtBQUNsREMsRUFBQUEsTUFBTSxDQUFDQyxjQUFQLENBQXNCSixNQUFNLENBQUNDLFNBQTdCLEVBQXdDLFVBQXhDLEVBQW9EO0FBQ2hESSxJQUFBQSxVQUFVLEVBQUUsS0FEb0M7QUFFaERDLElBQUFBLFlBQVksRUFBRSxLQUZrQztBQUdoREMsSUFBQUEsUUFBUSxFQUFFLEtBSHNDO0FBSWhEQyxJQUFBQSxLQUFLLEVBQUUsaUJBQVk7QUFDZixVQUFNQyxLQUFLLEdBQUcsS0FBS0MsS0FBTCxDQUFXLEdBQVgsQ0FBZDs7QUFDQSxVQUFJRCxLQUFLLENBQUNFLE1BQU4sR0FBZSxDQUFuQixFQUFzQjtBQUNsQixZQUFNQyxLQUFLLEdBQUcsQ0FBQ0gsS0FBSyxDQUFD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Y2VzQ29udGVudCI6WyJpbXBvcnQgZGF5anMsIHsgRGF5anMgfSBmcm9tICdkYXlqcyc7XHJcbmltcG9ydCByZWxhdGl2ZVRpbWUgZnJvbSAnZGF5anMvcGx1Z2luL3JlbGF0aXZlVGltZSc7XHJcblxyXG5kZWNsYXJlIGdsb2JhbCB7XHJcbiAgICBpbnRlcmZhY2UgU3RyaW5nIHtcclxuICAgICAgICB0b051bWJlcigpOiBudW1iZXI7XHJcbiAgICAgICAgdG9EYXRlKCk6IERhdGU7XHJcbiAgICAgICAgdG9EYXlKUygpOiBEYXlqcztcclxuICAgICAgICBmcm9tTm93KCk6IHN0cmluZztcclxuICAgIH1cclxuICAgIGludGVyZmFjZSBTdHJpbmdDb25zdHJ1Y3RvciB7XHJcbiAgICAgICAgcmFuZG9tKHNpemU/OiBudW1iZXIpOiBzdHJpbmc7XHJcbiAgICB9XHJcbn1cclxuXHJcbmRheWpzLmV4dGVuZChyZWxhdGl2ZVRpbWUpO1xyXG5cclxuY29uc3QgZXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xyXG5cclxuaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnRvTnVtYmVyID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFN0cmluZy5wcm90b3R5cGUsICd0b051bWJlcicsIHtcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxyXG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcclxuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBjb25zdCBwYXJ0cyA9IHRoaXMuc3BsaXQoJy4nKTtcclxuICAgICAgICAgICAgaWYgKHBhcnRzLmxlbmd0aCA+IDEpIHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IHdob2xlID0gKHBhcnRzWzBdLm1hdGNoKC9cXGQvZykgfHwgW10pLmpvaW4oJycpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZGVjaW1hbHMgPSAocGFydHNbMV0ubWF0Y2goL1xcZC9nKSB8fCBbXSkuam9pbignJyk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gTnVtYmVyKGAke3dob2xlfS4ke2RlY2ltYWxzfWApIHx8IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgbWF0Y2ggPSB0aGlzLm1hdGNoKC9cXGQvZyk7XHJcbiAgICAgICAgICAgIGlmICghbWF0Y2gpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBOdW1iZXIobWF0Y2guam9pbignJykpIHx8IDA7XHJcbiAgICAgICAgfSxcclxuICAgIH0pO1xyXG59IGVsc2Uge1xyXG4gICAgZXJyb3JzLnB1c2goJ3RvTnVtYmVyJyk7XHJcbn1cclxuXHJcbmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS50b0RheUpTID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFN0cmluZy5wcm90b3R5cGUsICd0b0RheUpTJywge1xyXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxyXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXHJcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxyXG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gZGF5anModGhpcy50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgaWYgKCFpbnN0YW5jZS5pc1ZhbGlkKCkpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBEYXRlJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlO1xyXG4gICAgICAgIH0sXHJcbiAgICB9KTtcclxufSBlbHNlIHtcclxuICAgIGVycm9ycy5wdXNoKCd0b0RheUpTJyk7XHJcbn1cclxuXHJcbmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS50b0RhdGUgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgJ3RvRGF0ZScsIHtcclxuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcclxuICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxyXG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcclxuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICBjb25zdCBpbnN0YW5jZSA9IGRheWpzKHRoaXMudG9TdHJpbmcoKSk7XHJcbiAgICAgICAgICAgIGlmICghaW5zdGFuY2UuaXNWYWxpZCgpKSB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgRGF0ZScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBpbnN0YW5jZS50b0RhdGUoKTtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbn0gZWxzZSB7XHJcbiAgICBlcnJvcnMucHVzaCgndG9EYXRlJyk7XHJcbn1cclxuXHJcbmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS5mcm9tTm93ID09PSAndW5kZWZpbmVkJykge1xyXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFN0cmluZy5wcm90b3R5cGUsICdmcm9tTm93Jywge1xyXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxyXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXHJcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxyXG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gZGF5anModGhpcy50b1N0cmluZygpKTtcclxuICAgICAgICAgICAgaWYgKCFpbnN0YW5jZS5pc1ZhbGlkKCkpIHtcclxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBEYXRlJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlLmZyb21Ob3coKTtcclxuICAgICAgICB9LFxyXG4gICAgfSk7XHJcbn0gZWxzZSB7XHJcbiAgICBlcnJvcnMucHVzaCgnZnJvbU5vdycpO1xyXG59XHJcblxyXG5pZiAodHlwZW9mIFN0cmluZy5yYW5kb20gPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLCAncmFuZG9tJywge1xyXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxyXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXHJcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxyXG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoc2l6ZTogbnVtYmVyKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNoYXJhY3RlcnMgPSAnMTIzNDU2Nzg5MHF3ZXJ0eXVpb3Bhc2RmZ2hqa2x6eGN2Ym5tUVdFUlRZVUlPUEFTREZHSEpLTFpYQ1ZCTk0nO1xyXG4gICAgICAgICAgICBsZXQgcmVzdWx0cyA9ICcnO1xyXG5cclxuICAgICAgICAgICAgZm9yIChsZXQgeCA9IDA7IHggPCBzaXplOyB4KyspIHtcclxuICAgICAgICAgICAgICAgIHJlc3VsdHMgKz0gY2hhcmFjdGVycy5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogY2hhcmFjdGVycy5sZW5ndGgpKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdHM7XHJcbiAgICAgICAgfSxcclxuICAgIH0pO1xyXG59IGVsc2Uge1xyXG4gICAgZXJyb3JzLnB1c2goJ3JhbmRvbScpO1xyXG59XHJcblxyXG5pZiAoZXJyb3JzLmxlbmd0aCA+IDApIHtcclxuICAgIGNvbnNvbGUuZXJyb3IoYEBhdmlkaWFuL2V4dHJhczpTdHJpbmc6IFVuYWJsZSB0byBwYXRjaCB0aGUgZm9sbG93aW5nIG1ldGhvZHMgLSAke2Vycm9ycy5qb2luKCcsICcpfWApO1xyXG59XHJcblxyXG5leHBvcnQge307XHJcbiJdfQ==
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9TdHJpbmcudHMiXSwibmFtZXMiOlsiZGF5anMiLCJleHRlbmQiLCJyZWxhdGl2ZVRpbWUiLCJlcnJvcnMiLCJTdHJpbmciLCJwcm90b3R5cGUiLCJ0b051bWJlciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSIsIndyaXRhYmxlIiwidmFsdWUiLCJwYXJ0cyIsInNwbGl0IiwibGVuZ3RoIiwid2hvbGUiLCJtYXRjaCIsImpvaW4iLCJkZWNpbWFscyIsIk51bWJlciIsInB1c2giLCJ0b0RheUpTIiwiaW5zdGFuY2UiLCJ0b1N0cmluZyIsImlzVmFsaWQiLCJFcnJvciIsInRvRGF0ZSIsImZyb21Ob3ciLCJyYW5kb20iLCJzaXplIiwiY2hhcmFjdGVycyIsInJlc3VsdHMiLCJ4IiwiY2hhckF0IiwiTWF0aCIsImZsb29yIiwiY29uc29sZSIsImVycm9yIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTs7QUFDQTs7OztBQWNBQSxrQkFBTUMsTUFBTixDQUFhQyx3QkFBYjs7QUFFQSxJQUFNQyxNQUFnQixHQUFHLEVBQXpCOztBQUVBLElBQUksT0FBT0MsTUFBTSxDQUFDQyxTQUFQLENBQWlCQyxRQUF4QixLQUFxQyxXQUF6QyxFQUFzRDtBQUNsREMsRUFBQUEsTUFBTSxDQUFDQyxjQUFQLENBQXNCSixNQUFNLENBQUNDLFNBQTdCLEVBQXdDLFVBQXhDLEVBQW9EO0FBQ2hESSxJQUFBQSxVQUFVLEVBQUUsS0FEb0M7QUFFaERDLElBQUFBLFlBQVksRUFBRSxLQUZrQztBQUdoREMsSUFBQUEsUUFBUSxFQUFFLEtBSHNDO0FBSWhEQyxJQUFBQSxLQUFLLEVBQUUsaUJBQVk7QUFDZixVQUFNQyxLQUFLLEdBQUcsS0FBS0MsS0FBTCxDQUFXLEdBQVgsQ0FBZDs7QUFDQSxVQUFJRCxLQUFLLENBQUNFLE1BQU4sR0FBZSxDQUFuQixFQUFzQjtBQUNsQixZQUFNQyxLQUFLLEdBQUcsQ0FBQ0gsS0FBSyxDQUFD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Y2VzQ29udGVudCI6WyJpbXBvcnQgZGF5anMsIHsgRGF5anMgfSBmcm9tICdkYXlqcyc7XG5pbXBvcnQgcmVsYXRpdmVUaW1lIGZyb20gJ2RheWpzL3BsdWdpbi9yZWxhdGl2ZVRpbWUnO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gICAgaW50ZXJmYWNlIFN0cmluZyB7XG4gICAgICAgIHRvTnVtYmVyKCk6IG51bWJlcjtcbiAgICAgICAgdG9EYXRlKCk6IERhdGU7XG4gICAgICAgIHRvRGF5SlMoKTogRGF5anM7XG4gICAgICAgIGZyb21Ob3coKTogc3RyaW5nO1xuICAgIH1cbiAgICBpbnRlcmZhY2UgU3RyaW5nQ29uc3RydWN0b3Ige1xuICAgICAgICByYW5kb20oc2l6ZT86IG51bWJlcik6IHN0cmluZztcbiAgICB9XG59XG5cbmRheWpzLmV4dGVuZChyZWxhdGl2ZVRpbWUpO1xuXG5jb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS50b051bWJlciA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgJ3RvTnVtYmVyJywge1xuICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiBmYWxzZSxcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlLFxuICAgICAgICB2YWx1ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgY29uc3QgcGFydHMgPSB0aGlzLnNwbGl0KCcuJyk7XG4gICAgICAgICAgICBpZiAocGFydHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHdob2xlID0gKHBhcnRzWzBdLm1hdGNoKC9cXGQvZykgfHwgW10pLmpvaW4oJycpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRlY2ltYWxzID0gKHBhcnRzWzFdLm1hdGNoKC9cXGQvZykgfHwgW10pLmpvaW4oJycpO1xuICAgICAgICAgICAgICAgIHJldHVybiBOdW1iZXIoYCR7d2hvbGV9LiR7ZGVjaW1hbHN9YCkgfHwgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gdGhpcy5tYXRjaCgvXFxkL2cpO1xuICAgICAgICAgICAgaWYgKCFtYXRjaCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIE51bWJlcihtYXRjaC5qb2luKCcnKSkgfHwgMDtcbiAgICAgICAgfSxcbiAgICB9KTtcbn0gZWxzZSB7XG4gICAgZXJyb3JzLnB1c2goJ3RvTnVtYmVyJyk7XG59XG5cbmlmICh0eXBlb2YgU3RyaW5nLnByb3RvdHlwZS50b0RheUpTID09PSAndW5kZWZpbmVkJykge1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShTdHJpbmcucHJvdG90eXBlLCAndG9EYXlKUycsIHtcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gZGF5anModGhpcy50b1N0cmluZygpKTtcbiAgICAgICAgICAgIGlmICghaW5zdGFuY2UuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIERhdGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICAgICAgfSxcbiAgICB9KTtcbn0gZWxzZSB7XG4gICAgZXJyb3JzLnB1c2goJ3RvRGF5SlMnKTtcbn1cblxuaWYgKHR5cGVvZiBTdHJpbmcucHJvdG90eXBlLnRvRGF0ZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgJ3RvRGF0ZScsIHtcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGNvbnN0IGluc3RhbmNlID0gZGF5anModGhpcy50b1N0cmluZygpKTtcbiAgICAgICAgICAgIGlmICghaW5zdGFuY2UuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIERhdGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpbnN0YW5jZS50b0RhdGUoKTtcbiAgICAgICAgfSxcbiAgICB9KTtcbn0gZWxzZSB7XG4gICAgZXJyb3JzLnB1c2goJ3RvRGF0ZScpO1xufVxuXG5pZiAodHlwZW9mIFN0cmluZy5wcm90b3R5cGUuZnJvbU5vdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgJ2Zyb21Ob3cnLCB7XG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgIHZhbHVlOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjb25zdCBpbnN0YW5jZSA9IGRheWpzKHRoaXMudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICBpZiAoIWluc3RhbmNlLmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBEYXRlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaW5zdGFuY2UuZnJvbU5vdygpO1xuICAgICAgICB9LFxuICAgIH0pO1xufSBlbHNlIHtcbiAgICBlcnJvcnMucHVzaCgnZnJvbU5vdycpO1xufVxuXG5pZiAodHlwZW9mIFN0cmluZy5yYW5kb20gPT09ICd1bmRlZmluZWQnKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFN0cmluZywgJ3JhbmRvbScsIHtcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIChzaXplOiBudW1iZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IGNoYXJhY3RlcnMgPSAnMTIzNDU2Nzg5MHF3ZXJ0eXVpb3Bhc2RmZ2hqa2x6eGN2Ym5tUVdFUlRZVUlPUEFTREZHSEpLTFpYQ1ZCTk0nO1xuICAgICAgICAgICAgbGV0IHJlc3VsdHMgPSAnJztcblxuICAgICAgICAgICAgZm9yIChsZXQgeCA9IDA7IHggPCBzaXplOyB4KyspIHtcbiAgICAgICAgICAgICAgICByZXN1bHRzICs9IGNoYXJhY3RlcnMuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJhY3RlcnMubGVuZ3RoKSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHRzO1xuICAgICAgICB9LFxuICAgIH0pO1xufSBlbHNlIHtcbiAgICBlcnJvcnMucHVzaCgncmFuZG9tJyk7XG59XG5cbmlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgIGNvbnNvbGUuZXJyb3IoYEBhdmlkaWFuL2V4dHJhczpTdHJpbmc6IFVuYWJsZSB0byBwYXRjaCB0aGUgZm9sbG93aW5nIG1ldGhvZHMgLSAke2Vycm9ycy5qb2luKCcsICcpfWApO1xufVxuXG5leHBvcnQge307XG4iXX0=
{
"name": "@avidian/extras",
"version": "0.0.8",
"version": "1.0.0",
"private": false,

@@ -5,0 +5,0 @@ "description": "Extra features on native objects.",

@@ -0,0 +0,0 @@ # @avidianity/extras

@@ -13,2 +13,3 @@ import { flattenDeep } from 'lodash';

has(predicate: (item: T, index: number, thisArg: this) => boolean): boolean;
limit(length: number): this;
}

@@ -32,2 +33,19 @@ }

if (typeof Array.prototype.limit === 'undefined') {
Object.defineProperty(Array.prototype, 'limit', {
enumerable: false,
configurable: false,
writable: false,
value: function (length: number) {
if (this.length > length) {
this.length = length;
}
return this;
},
});
} else {
errors.push('limit');
}
if (typeof Array.prototype.first === 'undefined') {

@@ -34,0 +52,0 @@ Object.defineProperty(Array.prototype, 'first', {

@@ -0,0 +0,0 @@ import dayjs, { Dayjs } from 'dayjs';

@@ -0,0 +0,0 @@ declare global {

@@ -0,0 +0,0 @@ export * from './Array';

@@ -0,0 +0,0 @@ import dayjs, { Dayjs } from 'dayjs';

@@ -14,2 +14,12 @@ import '../src/index';

it('limits the amount of elements', () => {
const limit = 5;
const data = [1, 2, 3, 4, 5, 6, 7, 8];
data.limit(limit);
assert(data.length <= limit);
});
it('gets the first element', () => {

@@ -16,0 +26,0 @@ const data = [1, 2, 3];

@@ -0,0 +0,0 @@ import { assert } from 'chai';

@@ -0,0 +0,0 @@ import '../src/index';

@@ -0,0 +0,0 @@ import '../src/index';

@@ -0,0 +0,0 @@ {

@@ -11,2 +11,3 @@ declare global {

has(predicate: (item: T, index: number, thisArg: this) => boolean): boolean;
limit(length: number): this;
}

@@ -13,0 +14,0 @@ }

@@ -0,0 +0,0 @@ import { Dayjs } from 'dayjs';

@@ -0,0 +0,0 @@ declare global {

@@ -0,0 +0,0 @@ export * from './Array';

@@ -0,0 +0,0 @@ import { Dayjs } from 'dayjs';

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