partial.lenses
Advanced tools
Comparing version 3.6.2 to 3.6.3
@@ -300,3 +300,3 @@ "use strict"; | ||
var define = exports.define = function define(v) { | ||
return R.compose(required(v), defaults(v)); | ||
return compose(required(v), defaults(v)); | ||
}; | ||
@@ -488,2 +488,2 @@ | ||
exports.default = compose; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJ0aWFsLmxlbnNlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztJQUFZLEM7Ozs7Ozs7Ozs7QUFJWixTQUFTLFFBQVQsQ0FBa0IsS0FBbEIsRUFBeUI7QUFBQyxPQUFLLEtBQUwsR0FBYSxLQUFiO0FBQW1CO0FBQzdDLElBQU0sUUFBUSxTQUFSLEtBQVE7QUFBQSxTQUFLLElBQUksUUFBSixDQUFhLENBQWIsQ0FBTDtBQUFBLENBQWQ7QUFDQSxTQUFTLFNBQVQsQ0FBbUIsR0FBbkIsR0FBeUIsVUFBVSxHQUFWLEVBQWU7QUFBQyxTQUFPLElBQUksUUFBSixDQUFhLElBQUksS0FBSyxLQUFULENBQWIsQ0FBUDtBQUFxQyxDQUE5RTtBQUNBLFNBQVMsU0FBVCxDQUFtQixFQUFuQixHQUF3QixLQUF4QjtBQUNBLFNBQVMsU0FBVCxDQUFtQixFQUFuQixHQUF3QixVQUFVLENBQVYsRUFBYTtBQUFDLFNBQU8sSUFBSSxRQUFKLENBQWEsS0FBSyxLQUFMLENBQVcsRUFBRSxLQUFiLENBQWIsQ0FBUDtBQUF5QyxDQUEvRTs7OztBQUlBLFNBQVMsUUFBVCxDQUFrQixLQUFsQixFQUF5QjtBQUFDLE9BQUssS0FBTCxHQUFhLEtBQWI7QUFBbUI7QUFDN0MsSUFBTSxRQUFRLFNBQVIsS0FBUTtBQUFBLFNBQUssSUFBSSxRQUFKLENBQWEsQ0FBYixDQUFMO0FBQUEsQ0FBZDtBQUNBLFNBQVMsU0FBVCxDQUFtQixHQUFuQixHQUF5QixZQUFZO0FBQUMsU0FBTyxJQUFQO0FBQVksQ0FBbEQ7QUFDQSxTQUFTLFNBQVQsQ0FBbUIsRUFBbkIsR0FBd0IsS0FBeEI7QUFDQSxTQUFTLFNBQVQsQ0FBbUIsRUFBbkIsR0FBd0IsVUFBVSxDQUFWLEVBQWE7QUFBQyxTQUFPLElBQUksS0FBSixDQUFVLEVBQUUsTUFBRixDQUFTLEtBQUssS0FBZCxFQUFxQixFQUFFLEtBQXZCLENBQVYsQ0FBUDtBQUFnRCxDQUF0Rjs7OztBQUlBLElBQU0sU0FBUyxFQUFmOztBQUVBLElBQU0sT0FBTyxTQUFQLElBQU8sVUFBVztBQUN0QixNQUFJLEVBQUUsV0FBVyxNQUFiLENBQUosRUFBMEI7QUFDeEIsV0FBTyxPQUFQLElBQWtCLE9BQWxCO0FBQ0EsWUFBUSxJQUFSLENBQWEsaUJBQWIsRUFBZ0MsT0FBaEM7QUFDRDtBQUNGLENBTEQ7Ozs7QUFTQSxJQUFNLFVBQVcsU0FBWCxPQUFXO0FBQUEsU0FBSyxLQUFLLEVBQUUsV0FBRixLQUFrQixLQUE1QjtBQUFBLENBQWpCO0FBQ0EsSUFBTSxXQUFXLFNBQVgsUUFBVztBQUFBLFNBQUssS0FBSyxFQUFFLFdBQUYsS0FBa0IsTUFBNUI7QUFBQSxDQUFqQjs7QUFFQSxJQUFNLFVBQVcsU0FBWCxPQUFXO0FBQUEsU0FBTSxRQUFRLENBQVIsSUFBYSxDQUFiLEdBQWlCLFNBQXZCO0FBQUEsQ0FBakI7QUFDQSxJQUFNLFdBQVcsU0FBWCxRQUFXO0FBQUEsU0FBSyxTQUFTLENBQVQsSUFBYyxDQUFkLEdBQWtCLFNBQXZCO0FBQUEsQ0FBakI7O0FBRUEsSUFBTSxVQUFVLFNBQVYsT0FBVTtBQUFBLFNBQUssUUFBUSxDQUFSLElBQWEsQ0FBYixHQUFpQixFQUF0QjtBQUFBLENBQWhCOzs7O0FBSUEsSUFBTSxLQUFLLFNBQUwsRUFBSztBQUFBLFNBQUssQ0FBTDtBQUFBLENBQVg7QUFDQSxJQUFNLE1BQU0sU0FBTixHQUFNLENBQUMsQ0FBRCxFQUFJLENBQUo7QUFBQSxTQUFVLENBQVY7QUFBQSxDQUFaOzs7O0FBSUEsSUFBTSxRQUFRLFNBQVIsS0FBUSxDQUFDLFFBQUQsRUFBVyxTQUFYO0FBQUEsU0FBeUIsYUFBSztBQUMxQyxRQUFJLFVBQVUsQ0FBVixDQUFKLEVBQ0UsT0FBTyxDQUFQLENBREYsS0FHRSxNQUFNLElBQUksS0FBSixlQUFzQixRQUF0QixrQkFBMkMsQ0FBM0MsT0FBTjtBQUNILEdBTGE7QUFBQSxDQUFkOztBQU9BLElBQU0sU0FBUyxRQUFRLEdBQVIsQ0FBWSxRQUFaLEtBQXlCLFlBQXpCLEdBQXdDO0FBQUEsU0FBTSxFQUFOO0FBQUEsQ0FBeEMsR0FBbUQsS0FBbEU7Ozs7QUFJQSxJQUFNLFFBQVEsRUFBZDs7QUFFQSxJQUFNLFlBQVksU0FBWixTQUFZLENBQUMsQ0FBRCxFQUFlO0FBQUEsTUFBWCxDQUFXLHlEQUFQLEVBQU87O0FBQy9CLE1BQUksVUFBSjtBQUNBLE9BQUssSUFBTSxDQUFYLElBQWdCLENBQWhCLEVBQW1CO0FBQ2pCLFFBQUksTUFBTSxDQUFWLEVBQWE7QUFDWCxVQUFJLGNBQWMsQ0FBbEIsRUFDRSxJQUFJLEVBQUo7QUFDRixRQUFFLENBQUYsSUFBTyxFQUFFLENBQUYsQ0FBUDtBQUNEO0FBQ0Y7QUFDRCxTQUFPLENBQVA7QUFDRCxDQVZEOztBQVlBLElBQU0sU0FBUyxTQUFULE1BQVMsQ0FBQyxDQUFELEVBQUksQ0FBSixFQUFrQjtBQUFBLE1BQVgsQ0FBVyx5REFBUCxFQUFPOztBQUMvQixNQUFJLEtBQUssQ0FBTCxJQUFVLEVBQUUsTUFBRixDQUFTLENBQVQsRUFBWSxFQUFFLENBQUYsQ0FBWixDQUFkLEVBQ0UsT0FBTyxDQUFQO0FBQ0YsTUFBTSx3QkFBTSxDQUFOLEVBQVUsQ0FBVixDQUFOO0FBQ0EsT0FBSyxJQUFNLENBQVgsSUFBZ0IsQ0FBaEI7QUFDRSxRQUFJLE1BQU0sQ0FBVixFQUNFLEVBQUUsQ0FBRixJQUFPLEVBQUUsQ0FBRixDQUFQO0FBRkosR0FHQSxPQUFPLENBQVA7QUFDRCxDQVJEOzs7O0FBWUEsSUFBTSxVQUFVLFNBQVYsT0FBVTtBQUFBLFNBQU0sT0FBTyxJQUFQLENBQVksRUFBWixFQUFnQixNQUFoQixLQUEyQixDQUEzQixHQUErQixTQUEvQixHQUEyQyxFQUFqRDtBQUFBLENBQWhCOzs7O0FBSUEsSUFBTSxZQUFZLFNBQVosU0FBWTtBQUFBLFNBQWE7QUFBQSxXQUFLLGNBQWMsQ0FBZCxHQUFrQixDQUFsQixHQUFzQixVQUFVLENBQVYsQ0FBM0I7QUFBQSxHQUFiO0FBQUEsQ0FBbEI7Ozs7QUFJQSxJQUFNLFdBQ0osVUFBVSxFQUFFLElBQUYsQ0FBTyxFQUFFLE1BQUYsQ0FBUztBQUFBLFNBQUssTUFBTSxTQUFYO0FBQUEsQ0FBVCxDQUFQLEVBQXVDLE9BQXZDLENBQVYsQ0FERjs7OztBQUtBLElBQU0sV0FBVyxTQUFYLFFBQVcsQ0FBQyxFQUFELEVBQUssRUFBTDtBQUFBLFNBQVksRUFBRSxNQUFGLENBQVMsRUFBVCxFQUFhLEVBQWIsSUFBbUIsRUFBbkIsR0FBd0IsRUFBcEM7QUFBQSxDQUFqQjs7QUFFQSxJQUFNLGFBQWEsU0FBYixVQUFhO0FBQUEsU0FBSyxVQUFDLENBQUQsRUFBSSxFQUFKO0FBQUEsV0FBVyxTQUFTLEVBQUUsQ0FBRixFQUFLLEVBQUwsQ0FBVCxFQUFtQixFQUFuQixDQUFYO0FBQUEsR0FBTDtBQUFBLENBQW5COzs7O0FBSUEsSUFBTSxZQUFZLFNBQVosU0FBWTtBQUFBLFNBQUssT0FBTyxDQUFQLEtBQWEsVUFBYixJQUEyQixFQUFFLE1BQUYsS0FBYSxDQUE3QztBQUFBLENBQWxCOztBQUVBLElBQU0sU0FBUyxPQUFPLFFBQVAsRUFBaUIsU0FBakIsQ0FBZjs7QUFFQSxJQUFNLE9BQU8sU0FBUCxJQUFPLElBQUs7QUFDaEIsTUFBSSxPQUFPLENBQVAsQ0FBSixFQUFnQixPQUFPLFNBQVMsQ0FBVCxDQUFQO0FBQ2hCLE1BQUksUUFBUSxDQUFSLENBQUosRUFBZ0IsT0FBTyxVQUFVLENBQVYsQ0FBUDtBQUNoQixTQUFPLE9BQU8sQ0FBUCxDQUFQO0FBQ0QsQ0FKRDs7QUFNTyxJQUFNLDRCQUFVLFNBQVYsT0FBVTtBQUFBLG9DQUFJLEVBQUo7QUFBSSxNQUFKO0FBQUE7O0FBQUEsU0FDckIsR0FBRyxNQUFILEtBQWMsQ0FBZCxHQUFrQixRQUFsQixHQUNBLEdBQUcsTUFBSCxLQUFjLENBQWQsR0FBa0IsR0FBRyxDQUFILENBQWxCLEdBQ0M7QUFBQSxXQUFTLEVBQUUsT0FBRiw2QkFBYSxHQUFHLEdBQUgsQ0FBTztBQUFBLGFBQUssS0FBSyxDQUFMLEVBQVEsS0FBUixDQUFMO0FBQUEsS0FBUCxDQUFiLEVBQVQ7QUFBQSxHQUhvQjtBQUFBLENBQWhCOztBQUtBLElBQU0sMEJBQVMsRUFBRSxLQUFGLENBQVEsVUFBQyxDQUFELEVBQUksQ0FBSjtBQUFBLFNBQVUsS0FBSyxLQUFLLENBQUwsQ0FBTCxFQUFjLFNBQWQsRUFBeUIsQ0FBekIsQ0FBVjtBQUFBLENBQVIsQ0FBZjs7QUFFQSxJQUFNLGdDQUFZLEVBQUUsS0FBRixDQUFRLFVBQUMsSUFBRCxFQUFPLElBQVAsRUFBZ0I7QUFDL0MsT0FBSyxtR0FBTDtBQUNBLFNBQU8sSUFBSSxJQUFKLEVBQVUsSUFBVixNQUFvQixTQUEzQjtBQUNFLFdBQU8sT0FBTyxJQUFQLEVBQWEsSUFBYixDQUFQO0FBREYsR0FFQSxPQUFPLElBQVA7QUFDRCxDQUx3QixDQUFsQjs7QUFPUCxJQUFNLE9BQU8sU0FBUCxJQUFPLENBQUMsQ0FBRCxFQUFJLENBQUosRUFBTyxDQUFQO0FBQUEsU0FBYSxFQUFFLEtBQUYsRUFBUztBQUFBLFdBQU0sTUFBTSxDQUFOLENBQU47QUFBQSxHQUFULEVBQXlCLENBQXpCLEVBQTRCLEtBQXpDO0FBQUEsQ0FBYjtBQUNBLElBQU0sT0FBTyxTQUFQLElBQU8sQ0FBQyxDQUFELEVBQUksQ0FBSjtBQUFBLFNBQVUsRUFBRSxLQUFGLEVBQVMsS0FBVCxFQUFnQixDQUFoQixFQUFtQixLQUE3QjtBQUFBLENBQWI7QUFDQSxJQUFNLFVBQVUsU0FBVixPQUFVLENBQUMsQ0FBRCxFQUFJLEdBQUosRUFBUyxDQUFUO0FBQUEsU0FBZSxFQUFFLEtBQUYsRUFBUztBQUFBLFdBQUssTUFBTSxJQUFJLENBQUosQ0FBTixDQUFMO0FBQUEsR0FBVCxFQUE2QixDQUE3QixFQUFnQyxLQUEvQztBQUFBLENBQWhCO0FBQ0EsSUFBTSxRQUFRLFNBQVIsS0FBUSxDQUFDLE1BQUQsRUFBUyxNQUFUO0FBQUEsU0FBb0I7QUFBQSxXQUFnQjtBQUFBLGFBQVM7QUFBQSxlQUN6RCxNQUFNLE9BQU8sTUFBUCxDQUFOLEVBQXNCLEdBQXRCLENBQTBCO0FBQUEsaUJBQVMsT0FBTyxLQUFQLEVBQWMsTUFBZCxDQUFUO0FBQUEsU0FBMUIsQ0FEeUQ7QUFBQSxPQUFUO0FBQUEsS0FBaEI7QUFBQSxHQUFwQjtBQUFBLENBQWQ7QUFFQSxJQUFNLFdBQVcsU0FBWCxRQUFXLENBQUMsQ0FBRCxFQUFJLENBQUo7QUFBQSxTQUFVLEVBQUUsS0FBRixFQUFTO0FBQUEsV0FBSyxNQUFNLENBQUMsQ0FBRCxDQUFOLENBQUw7QUFBQSxHQUFULEVBQTBCLENBQTFCLEVBQTZCLEtBQXZDO0FBQUEsQ0FBakI7O0FBRU8sSUFBTSxzQkFBTyxFQUFFLEtBQUYsQ0FBUSxLQUFSLENBQWI7QUFDQSxJQUFNLDBCQUFTLEVBQUUsS0FBRixDQUFRLFVBQUMsQ0FBRCxFQUFJLEdBQUosRUFBUyxDQUFUO0FBQUEsU0FBZSxRQUFRLEtBQUssQ0FBTCxDQUFSLEVBQWlCLEdBQWpCLEVBQXNCLENBQXRCLENBQWY7QUFBQSxDQUFSLENBQWY7QUFDQSxJQUFNLG9CQUFNLEVBQUUsS0FBRixDQUFRLFVBQUMsQ0FBRCxFQUFJLENBQUosRUFBTyxDQUFQO0FBQUEsU0FBYSxLQUFLLEtBQUssQ0FBTCxDQUFMLEVBQWMsQ0FBZCxFQUFpQixDQUFqQixDQUFiO0FBQUEsQ0FBUixDQUFaO0FBQ0EsSUFBTSxvQkFBTSxFQUFFLEtBQUYsQ0FBUSxVQUFDLENBQUQsRUFBSSxDQUFKO0FBQUEsU0FBVSxLQUFLLEtBQUssQ0FBTCxDQUFMLEVBQWMsQ0FBZCxDQUFWO0FBQUEsQ0FBUixDQUFaO0FBQ0EsSUFBTSw0QkFBVSxFQUFFLEtBQUYsQ0FBUSxVQUFDLENBQUQsRUFBSSxDQUFKO0FBQUEsU0FDN0IsS0FBSywyR0FBTCxLQUNBLFFBQVEsU0FBUyxTQUFTLEtBQUssQ0FBTCxDQUFULEVBQWtCLENBQWxCLENBQVQsQ0FBUixDQUY2QjtBQUFBLENBQVIsQ0FBaEI7O0FBSUEsSUFBTSx3QkFBUSxFQUFFLEtBQUYsQ0FBUSxVQUFDLElBQUQsRUFBTyxFQUFQO0FBQUEsU0FDM0IsUUFBUSxFQUFSLEVBQVksT0FBTztBQUFBLFdBQU0sT0FBTyxTQUFQLEdBQW1CLE9BQW5CLEdBQTZCLEtBQUssRUFBTCxDQUFuQztBQUFBLEdBQVAsQ0FBWixDQUQyQjtBQUFBLENBQVIsQ0FBZDs7QUFHQSxJQUFNLHNCQUFPLFNBQVAsSUFBTztBQUFBLFNBQUssTUFBTSxFQUFFLE1BQUYsQ0FBUyxDQUFULENBQU4sRUFBbUIsR0FBbkIsQ0FBTDtBQUFBLENBQWI7O0FBRUEsSUFBTSwwQkFBUyxTQUFULE1BQVM7QUFBQSxTQUFRO0FBQUEsV0FBZTtBQUFBLGFBQVM7QUFBQSxlQUNwRCxLQUFLLEtBQUssTUFBTCxDQUFMLEVBQW1CLFdBQW5CLEVBQWdDLEtBQWhDLEVBQXVDLE1BQXZDLENBRG9EO0FBQUEsT0FBVDtBQUFBLEtBQWY7QUFBQSxHQUFSO0FBQUEsQ0FBZjs7QUFHQSxJQUFNLDRCQUFVLE1BQU0sR0FBTixFQUFXLEdBQVgsQ0FBaEI7O0FBRUEsSUFBTSwwQkFDWCxFQUFFLEtBQUYsQ0FBUSxVQUFDLENBQUQsRUFBSSxDQUFKO0FBQUEsU0FBVSxPQUFPO0FBQUEsV0FBSyxLQUFLLEtBQUssQ0FBTCxDQUFMLEVBQWMsQ0FBZCxNQUFxQixTQUFyQixHQUFpQyxDQUFqQyxHQUFxQyxDQUExQztBQUFBLEdBQVAsQ0FBVjtBQUFBLENBQVIsQ0FESzs7QUFHQSxJQUFNLDBCQUFTLFNBQVQsTUFBUztBQUFBLHFDQUFJLEVBQUo7QUFBSSxNQUFKO0FBQUE7O0FBQUEsU0FBVyxPQUFPLGFBQUs7QUFDM0MsUUFBTSxJQUFJLEdBQUcsU0FBSCxDQUFhO0FBQUEsYUFBSyxLQUFLLEtBQUssQ0FBTCxDQUFMLEVBQWMsQ0FBZCxNQUFxQixTQUExQjtBQUFBLEtBQWIsQ0FBVjtBQUNBLFdBQU8sS0FBSyxDQUFMLEdBQVMsR0FBRyxDQUFILENBQVQsR0FBaUIsT0FBeEI7QUFDRCxHQUhnQyxDQUFYO0FBQUEsQ0FBZjs7QUFLQSxJQUFNLDRCQUFVLEVBQUUsS0FBRixDQUFRLFVBQUMsR0FBRCxFQUFNLEdBQU47QUFBQSxTQUM3QixNQUFNO0FBQUEsV0FBSyxFQUFFLE1BQUYsQ0FBUyxDQUFULEVBQVksR0FBWixJQUFtQixHQUFuQixHQUF5QixDQUE5QjtBQUFBLEdBQU4sRUFDTSxXQUFXO0FBQUEsV0FBSyxFQUFFLE1BQUYsQ0FBUyxDQUFULEVBQVksR0FBWixJQUFtQixHQUFuQixHQUF5QixDQUE5QjtBQUFBLEdBQVgsQ0FETixDQUQ2QjtBQUFBLENBQVIsQ0FBaEI7O0FBSUEsSUFBTSw4QkFBVyxRQUFRLFNBQVIsQ0FBakI7QUFDQSxJQUFNLDhCQUFXLFNBQVgsUUFBVztBQUFBLFNBQU8sUUFBUSxHQUFSLEVBQWEsU0FBYixDQUFQO0FBQUEsQ0FBakI7QUFDQSxJQUFNLDBCQUFTLFNBQVQsTUFBUztBQUFBLFNBQUssRUFBRSxPQUFGLENBQVUsU0FBUyxDQUFULENBQVYsRUFBdUIsU0FBUyxDQUFULENBQXZCLENBQUw7QUFBQSxDQUFmOztBQUVBLElBQU0sNEJBQVUsU0FBVixPQUFVO0FBQUEsU0FDckIsTUFBTTtBQUFBLFdBQUssTUFBTSxTQUFOLElBQW1CLE1BQU0sSUFBekIsR0FBZ0MsQ0FBaEMsR0FBb0MsQ0FBekM7QUFBQSxHQUFOLEVBQWtELFFBQWxELENBRHFCO0FBQUEsQ0FBaEI7O0FBR0EsSUFBTSxnQ0FBWSxTQUFaLFNBQVk7QUFBQSxTQUN2QixNQUFNLFVBQVUsU0FBVixDQUFOLEVBQTRCLFdBQVcsVUFBVSxTQUFWLENBQVgsQ0FBNUIsQ0FEdUI7QUFBQSxDQUFsQjs7QUFHUCxJQUFNLFNBQVMsU0FBVCxNQUFTO0FBQUEsU0FBSyxPQUFPLENBQVAsS0FBYSxRQUFsQjtBQUFBLENBQWY7O0FBRU8sSUFBTSxzQkFBTyxPQUFPLFVBQVAsRUFBbUIsTUFBbkIsQ0FBYjs7QUFFUCxJQUFNLFdBQVcsU0FBWCxRQUFXO0FBQUEsU0FBSyxNQUFNO0FBQUEsV0FBSyxTQUFTLENBQVQsS0FBZSxFQUFFLENBQUYsQ0FBcEI7QUFBQSxHQUFOLEVBQWdDLFVBQUMsQ0FBRCxFQUFJLEdBQUosRUFBWTtBQUNoRSxRQUFNLElBQUksU0FBUyxHQUFULENBQVY7QUFDQSxXQUFPLE1BQU0sU0FBTixHQUFrQixVQUFVLENBQVYsRUFBYSxDQUFiLENBQWxCLEdBQW9DLE9BQU8sQ0FBUCxFQUFVLENBQVYsRUFBYSxDQUFiLENBQTNDO0FBQ0QsR0FIcUIsQ0FBTDtBQUFBLENBQWpCOztBQUtPLElBQU0sc0JBQU8sU0FBUCxJQUFPO0FBQUEsU0FBYSxPQUFPLGNBQU07QUFDNUMsUUFBSSxRQUFRLEVBQVIsQ0FBSixFQUFpQjtBQUNmLFVBQU0sSUFBSSxHQUFHLFNBQUgsQ0FBYSxTQUFiLENBQVY7QUFDQSxhQUFPLElBQUksQ0FBSixHQUFRLE1BQVIsR0FBaUIsQ0FBeEI7QUFDRCxLQUhELE1BR087QUFDTCxhQUFPLE1BQVA7QUFDRDtBQUNGLEdBUGdDLENBQWI7QUFBQSxDQUFiOztBQVNBLElBQU0sOEJBQVcsU0FBWCxRQUFXLEdBQVc7QUFDakMsTUFBTSxNQUFNLEtBQUssbUNBQUwsQ0FBWjtBQUNBLFNBQU8sUUFBUSxLQUFLO0FBQUEsV0FBSyxLQUFLLEdBQUwsRUFBVSxDQUFWLE1BQWlCLFNBQXRCO0FBQUEsR0FBTCxDQUFSLEVBQStDLEdBQS9DLENBQVA7QUFDRCxDQUhNOztBQUtQLElBQU0sVUFBVSxTQUFWLE9BQVU7QUFBQSxTQUFLLE9BQU8sU0FBUCxDQUFpQixDQUFqQixLQUF1QixLQUFLLENBQWpDO0FBQUEsQ0FBaEI7O0FBRU8sSUFBTSx3QkFBUSxPQUFPLHdCQUFQLEVBQWlDLE9BQWpDLENBQWQ7O0FBRVAsSUFBTSxZQUFZLFNBQVosU0FBWTtBQUFBLFNBQUssTUFBTTtBQUFBLFdBQU0sUUFBUSxFQUFSLEtBQWUsR0FBRyxDQUFILENBQXJCO0FBQUEsR0FBTixFQUFrQyxVQUFDLENBQUQsRUFBSSxFQUFKLEVBQVc7QUFDbEUsUUFBSSxNQUFNLFNBQVYsRUFBcUI7QUFDbkIsVUFBSSxDQUFDLFFBQVEsRUFBUixDQUFMLEVBQ0UsT0FBTyxTQUFQO0FBQ0YsVUFBSSxJQUFJLEdBQUcsTUFBWCxFQUNFLE9BQU8sUUFBUSxHQUFHLEtBQUgsQ0FBUyxDQUFULEVBQVksQ0FBWixFQUFlLE1BQWYsQ0FBc0IsR0FBRyxLQUFILENBQVMsSUFBRSxDQUFYLENBQXRCLENBQVIsQ0FBUDtBQUNGLGFBQU8sUUFBUSxFQUFSLENBQVA7QUFDRCxLQU5ELE1BTU87QUFDTCxVQUFJLENBQUMsUUFBUSxFQUFSLENBQUwsRUFDRSxPQUFPLE1BQU0sQ0FBTixFQUFTLE1BQVQsQ0FBZ0IsQ0FBQyxDQUFELENBQWhCLENBQVA7QUFDRixVQUFJLEdBQUcsTUFBSCxJQUFhLENBQWpCLEVBQ0UsT0FBTyxHQUFHLE1BQUgsQ0FBVSxNQUFNLElBQUksR0FBRyxNQUFiLENBQVYsRUFBZ0MsQ0FBQyxDQUFELENBQWhDLENBQVA7QUFDRixVQUFJLEVBQUUsTUFBRixDQUFTLENBQVQsRUFBWSxHQUFHLENBQUgsQ0FBWixDQUFKLEVBQ0UsT0FBTyxFQUFQO0FBQ0YsYUFBTyxHQUFHLEtBQUgsQ0FBUyxDQUFULEVBQVksQ0FBWixFQUFlLE1BQWYsQ0FBc0IsQ0FBQyxDQUFELENBQXRCLEVBQTJCLEdBQUcsS0FBSCxDQUFTLElBQUUsQ0FBWCxDQUEzQixDQUFQO0FBQ0Q7QUFDRixHQWhCc0IsQ0FBTDtBQUFBLENBQWxCOztBQWtCTyxJQUFNLDBCQUFTLE1BQU0sR0FBTixFQUFXLFVBQUMsQ0FBRCxFQUFJLEVBQUo7QUFBQSxTQUMvQixNQUFNLFNBQU4sR0FBa0IsUUFBUSxFQUFSLENBQWxCLEdBQWdDLFFBQVEsRUFBUixJQUFjLEdBQUcsTUFBSCxDQUFVLENBQUMsQ0FBRCxDQUFWLENBQWQsR0FBK0IsQ0FBQyxDQUFELENBRGhDO0FBQUEsQ0FBWCxDQUFmOztBQUdBLElBQU0sMEJBQVMsU0FBVCxNQUFTO0FBQUEsU0FBSyxNQUFNO0FBQUEsV0FBTSxRQUFRLEVBQVIsS0FBZSxHQUFHLE1BQUgsQ0FBVSxDQUFWLENBQXJCO0FBQUEsR0FBTixFQUF5QyxVQUFDLEVBQUQsRUFBSyxFQUFMO0FBQUEsV0FDbEUsU0FBUyxRQUFRLEVBQUUsTUFBRixDQUFTLFFBQVEsRUFBUixDQUFULEVBQXNCLFFBQVEsRUFBUixFQUFZLE1BQVosQ0FBbUIsRUFBRSxVQUFGLENBQWEsQ0FBYixDQUFuQixDQUF0QixDQUFSLENBQVQsRUFBOEUsRUFBOUUsQ0FEa0U7QUFBQSxHQUF6QyxDQUFMO0FBQUEsQ0FBZjs7QUFHQSxJQUFNLDRCQUFVLFNBQVYsT0FBVTtBQUFBLFNBQVksTUFDakMsYUFBSztBQUNILFFBQUksU0FBUyxDQUFULENBQUosRUFBaUI7QUFDZixVQUFNLGlCQUFRLENBQVIsQ0FBTjtBQUNBLFdBQUssSUFBTSxDQUFYLElBQWdCLFFBQWhCO0FBQ0UsVUFBRSxDQUFGLElBQU8sU0FBUyxDQUFULEVBQVksQ0FBWixDQUFQO0FBREYsT0FFQSxPQUFPLENBQVA7QUFDRCxLQUxELE1BS087QUFDTCxhQUFPLFNBQVA7QUFDRDtBQUNGLEdBVmdDLEVBV2pDLFdBQVcsVUFBQyxDQUFELEVBQUksR0FBSixFQUFZO0FBQ3JCLFFBQUksU0FBUyxDQUFULENBQUosRUFBaUI7QUFBQTtBQUNmLFlBQU0sSUFBSSxTQUFTLEdBQVQsS0FBaUIsRUFBM0I7QUFDQSxZQUFJLFVBQUo7QUFDQSxZQUFNLE1BQU0sU0FBTixHQUFNLENBQUMsQ0FBRCxFQUFJLENBQUosRUFBVTtBQUNwQixjQUFJLGNBQWMsQ0FBbEIsRUFDRSxJQUFJLEVBQUo7QUFDRixZQUFFLENBQUYsSUFBTyxDQUFQO0FBQ0QsU0FKRDtBQUtBLGFBQUssSUFBTSxDQUFYLElBQWdCLENBQWhCLEVBQW1CO0FBQ2pCLGNBQUksRUFBRSxLQUFLLFFBQVAsQ0FBSixFQUNFLElBQUksQ0FBSixFQUFPLEVBQUUsQ0FBRixDQUFQLEVBREYsS0FHRSxJQUFJLEtBQUssQ0FBVCxFQUNFLElBQUksQ0FBSixFQUFPLEVBQUUsQ0FBRixDQUFQO0FBQ0w7QUFDRDtBQUFBLGFBQU87QUFBUDtBQWZlOztBQUFBO0FBZ0JoQixLQWhCRCxNQWdCTztBQUNMLGFBQU8sU0FBUDtBQUNEO0FBQ0YsR0FwQkQsQ0FYaUMsQ0FBWjtBQUFBLENBQWhCOztBQWlDQSxJQUFNLHNCQUFPLFNBQVAsSUFBTztBQUFBLFNBQVksTUFDOUIsYUFBSztBQUNILFFBQUksVUFBSjtBQUNBLFNBQUssSUFBTSxDQUFYLElBQWdCLFFBQWhCLEVBQTBCO0FBQ3hCLFVBQU0sSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFULENBQUwsQ0FBTCxFQUF3QixDQUF4QixDQUFWO0FBQ0EsVUFBSSxNQUFNLFNBQVYsRUFBcUI7QUFDbkIsWUFBSSxNQUFNLFNBQVYsRUFDRSxJQUFJLEVBQUo7QUFDRixVQUFFLENBQUYsSUFBTyxDQUFQO0FBQ0Q7QUFDRjtBQUNELFdBQU8sQ0FBUDtBQUNELEdBWjZCLEVBYTlCLFlBQW9CO0FBQUEsUUFBbkIsQ0FBbUIseURBQWYsS0FBZTtBQUFBLFFBQVIsR0FBUTs7QUFDbEIsUUFBSSxJQUFJLEdBQVI7QUFDQSxTQUFLLElBQU0sQ0FBWCxJQUFnQixRQUFoQjtBQUNFLFVBQUksS0FBSyxLQUFLLFNBQVMsQ0FBVCxDQUFMLENBQUwsRUFBd0IsRUFBRSxDQUFGLENBQXhCLEVBQThCLENBQTlCLENBQUo7QUFERixLQUVBLE9BQU8sQ0FBUDtBQUNELEdBbEI2QixDQUFaO0FBQUEsQ0FBYjs7QUFvQkEsSUFBTSw4QkFBVyxNQUFNLEVBQU4sRUFBVSxRQUFWLENBQWpCOztBQUVBLElBQU0sd0JBQVEsU0FBUixLQUFRO0FBQUEscUNBQUksRUFBSjtBQUFJLE1BQUo7QUFBQTs7QUFBQSxTQUFXLEtBQUssRUFBRSxNQUFGLENBQVMsRUFBVCxFQUFhLEVBQWIsQ0FBTCxDQUFYO0FBQUEsQ0FBZDs7QUFFUCxJQUFNLE9BQU8sU0FBUCxJQUFPO0FBQUEscUNBQUksTUFBSjtBQUFJLFVBQUo7QUFBQTs7QUFBQSxTQUFlO0FBQUE7O0FBQUEsV0FBSyxxQkFBUSxHQUFSLGlCQUFlLE1BQWYsU0FBdUIsQ0FBdkIsT0FBNkIsQ0FBbEM7QUFBQSxHQUFmO0FBQUEsQ0FBYjs7QUFFTyxJQUFNLG9CQUFNLFNBQU4sR0FBTTtBQUFBLHFDQUFJLE1BQUo7QUFBSSxVQUFKO0FBQUE7O0FBQUEsU0FDakIsTUFBTSxzQkFBUSxNQUFSLFNBQWdCLEtBQWhCLEdBQU4sRUFBOEIsc0JBQVEsTUFBUixTQUFnQixLQUFoQixHQUE5QixDQURpQjtBQUFBLENBQVo7O0FBR0EsSUFBTSw4QkFBVyxTQUFYLFFBQVc7QUFBQSxTQUFlO0FBQUEsV0FBUztBQUFBLGFBQzlDLEtBQUssNEdBQUwsS0FDQSxFQUFFLFFBQUYsQ0FBVyxXQUFYLEVBQXdCLEtBQXhCLEVBQStCLFFBQVEsTUFBUixDQUEvQixFQUNDLEdBREQsQ0FDSyxRQURMLENBRjhDO0FBQUEsS0FBVDtBQUFBLEdBQWY7QUFBQSxDQUFqQjs7QUFLQSxJQUFNLGdDQUFZLFNBQVosU0FBWTtBQUFBLFNBQUs7QUFBQSxXQUFnQixDQUFoQjtBQUFBLEdBQUw7QUFBQSxDQUFsQjtBQUNBLElBQU0sNEJBQVUsU0FBVixPQUFVO0FBQUEsU0FDckIsS0FBSyxDQUFMLEVBQVEsWUFBTTtBQUFDLFVBQU0sSUFBSSxLQUFKLENBQVUsbUNBQVYsQ0FBTjtBQUFxRCxHQUFwRSxDQURxQjtBQUFBLENBQWhCOztrQkFHUSxPIiwiZmlsZSI6InBhcnRpYWwubGVuc2VzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgUiBmcm9tIFwicmFtZGFcIlxuXG4vL1xuXG5mdW5jdGlvbiBJZGVudGl0eSh2YWx1ZSkge3RoaXMudmFsdWUgPSB2YWx1ZX1cbmNvbnN0IElkZW50ID0geCA9PiBuZXcgSWRlbnRpdHkoeClcbklkZW50aXR5LnByb3RvdHlwZS5tYXAgPSBmdW5jdGlvbiAoeDJ5KSB7cmV0dXJuIG5ldyBJZGVudGl0eSh4MnkodGhpcy52YWx1ZSkpfVxuSWRlbnRpdHkucHJvdG90eXBlLm9mID0gSWRlbnRcbklkZW50aXR5LnByb3RvdHlwZS5hcCA9IGZ1bmN0aW9uICh4KSB7cmV0dXJuIG5ldyBJZGVudGl0eSh0aGlzLnZhbHVlKHgudmFsdWUpKX1cblxuLy9cblxuZnVuY3Rpb24gQ29uc3RhbnQodmFsdWUpIHt0aGlzLnZhbHVlID0gdmFsdWV9XG5jb25zdCBDb25zdCA9IHggPT4gbmV3IENvbnN0YW50KHgpXG5Db25zdGFudC5wcm90b3R5cGUubWFwID0gZnVuY3Rpb24gKCkge3JldHVybiB0aGlzfVxuQ29uc3RhbnQucHJvdG90eXBlLm9mID0gQ29uc3RcbkNvbnN0YW50LnByb3RvdHlwZS5hcCA9IGZ1bmN0aW9uICh4KSB7cmV0dXJuIG5ldyBDb25zdChSLmNvbmNhdCh0aGlzLnZhbHVlLCB4LnZhbHVlKSl9XG5cbi8vXG5cbmNvbnN0IHdhcm5lZCA9IHt9XG5cbmNvbnN0IHdhcm4gPSBtZXNzYWdlID0+IHtcbiAgaWYgKCEobWVzc2FnZSBpbiB3YXJuZWQpKSB7XG4gICAgd2FybmVkW21lc3NhZ2VdID0gbWVzc2FnZVxuICAgIGNvbnNvbGUud2FybihcInBhcnRpYWwubGVuc2VzOlwiLCBtZXNzYWdlKVxuICB9XG59XG5cbi8vXG5cbmNvbnN0IGlzQXJyYXkgID0geCA9PiB4ICYmIHguY29uc3RydWN0b3IgPT09IEFycmF5XG5jb25zdCBpc09iamVjdCA9IHggPT4geCAmJiB4LmNvbnN0cnVjdG9yID09PSBPYmplY3RcblxuY29uc3QgdW5BcnJheSAgPSB4ID0+ICBpc0FycmF5KHgpID8geCA6IHVuZGVmaW5lZFxuY29uc3QgdW5PYmplY3QgPSB4ID0+IGlzT2JqZWN0KHgpID8geCA6IHVuZGVmaW5lZFxuXG5jb25zdCBta0FycmF5ID0geCA9PiBpc0FycmF5KHgpID8geCA6IFtdXG5cbi8vXG5cbmNvbnN0IGlkID0geCA9PiB4XG5jb25zdCBzbmQgPSAoXywgYykgPT4gY1xuXG4vL1xuXG5jb25zdCBjaGVjayA9IChleHBlY3RlZCwgcHJlZGljYXRlKSA9PiB4ID0+IHtcbiAgaWYgKHByZWRpY2F0ZSh4KSlcbiAgICByZXR1cm4geFxuICBlbHNlXG4gICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCAke2V4cGVjdGVkfSwgYnV0IGdvdCAke3h9LmApXG59XG5cbmNvbnN0IGFzc2VydCA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/ICgpID0+IGlkIDogY2hlY2tcblxuLy9cblxuY29uc3QgZW1wdHkgPSB7fVxuXG5jb25zdCBkZWxldGVLZXkgPSAoaywgbyA9IHt9KSA9PiB7XG4gIGxldCByXG4gIGZvciAoY29uc3QgcCBpbiBvKSB7XG4gICAgaWYgKHAgIT09IGspIHtcbiAgICAgIGlmICh1bmRlZmluZWQgPT09IHIpXG4gICAgICAgIHIgPSB7fVxuICAgICAgcltwXSA9IG9bcF1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJcbn1cblxuY29uc3Qgc2V0S2V5ID0gKGssIHYsIG8gPSB7fSkgPT4ge1xuICBpZiAoayBpbiBvICYmIFIuZXF1YWxzKHYsIG9ba10pKVxuICAgIHJldHVybiBvXG4gIGNvbnN0IHIgPSB7W2tdOiB2fVxuICBmb3IgKGNvbnN0IHAgaW4gbylcbiAgICBpZiAocCAhPT0gaylcbiAgICAgIHJbcF0gPSBvW3BdXG4gIHJldHVybiByXG59XG5cbi8vXG5cbmNvbnN0IGRyb3BwZWQgPSB4cyA9PiBPYmplY3Qua2V5cyh4cykubGVuZ3RoID09PSAwID8gdW5kZWZpbmVkIDogeHNcblxuLy9cblxuY29uc3QgdG9QYXJ0aWFsID0gdHJhbnNmb3JtID0+IHggPT4gdW5kZWZpbmVkID09PSB4ID8geCA6IHRyYW5zZm9ybSh4KVxuXG4vL1xuXG5jb25zdCBmaWx0ZXJlZCA9XG4gIHRvUGFydGlhbChSLnBpcGUoUi5maWx0ZXIoeCA9PiB4ICE9PSB1bmRlZmluZWQpLCBkcm9wcGVkKSlcblxuLy9cblxuY29uc3QgY29uc2VydmUgPSAoYzEsIGMwKSA9PiBSLmVxdWFscyhjMSwgYzApID8gYzAgOiBjMVxuXG5jb25zdCB0b0NvbnNlcnZlID0gZiA9PiAoeSwgYzApID0+IGNvbnNlcnZlKGYoeSwgYzApLCBjMClcblxuLy9cblxuY29uc3Qgc2VlbXNMZW5zID0geCA9PiB0eXBlb2YgeCA9PT0gXCJmdW5jdGlvblwiICYmIHgubGVuZ3RoID09PSAxXG5cbmNvbnN0IGxpZnRlZCA9IGFzc2VydChcImEgbGVuc1wiLCBzZWVtc0xlbnMpXG5cbmNvbnN0IGxpZnQgPSBsID0+IHtcbiAgaWYgKGlzUHJvcChsKSkgIHJldHVybiBsaWZ0UHJvcChsKVxuICBpZiAoaXNJbmRleChsKSkgcmV0dXJuIGxpZnRJbmRleChsKVxuICByZXR1cm4gbGlmdGVkKGwpXG59XG5cbmV4cG9ydCBjb25zdCBjb21wb3NlID0gKC4uLmxzKSA9PlxuICBscy5sZW5ndGggPT09IDAgPyBpZGVudGl0eSA6XG4gIGxzLmxlbmd0aCA9PT0gMSA/IGxzWzBdIDpcbiAgKHRvQ2F0ID0+IFIuY29tcG9zZSguLi5scy5tYXAobCA9PiBsaWZ0KGwpKHRvQ2F0KSkpKVxuXG5leHBvcnQgY29uc3QgcmVtb3ZlID0gUi5jdXJyeSgobCwgcykgPT4gc2V0SShsaWZ0KGwpLCB1bmRlZmluZWQsIHMpKVxuXG5leHBvcnQgY29uc3QgcmVtb3ZlQWxsID0gUi5jdXJyeSgobGVucywgZGF0YSkgPT4ge1xuICB3YXJuKFwiYHJlbW92ZUFsbGAgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgbWFqb3IgdmVyc2lvbiAtLS0gdXNlIGEgZGlmZmVyZW50IGFwcHJvYWNoLlwiKVxuICB3aGlsZSAoZ2V0KGxlbnMsIGRhdGEpICE9PSB1bmRlZmluZWQpXG4gICAgZGF0YSA9IHJlbW92ZShsZW5zLCBkYXRhKVxuICByZXR1cm4gZGF0YVxufSlcblxuY29uc3Qgc2V0SSA9IChsLCB4LCBzKSA9PiBsKElkZW50KSgoKSA9PiBJZGVudCh4KSkocykudmFsdWVcbmNvbnN0IGdldEkgPSAobCwgcykgPT4gbChDb25zdCkoQ29uc3QpKHMpLnZhbHVlXG5jb25zdCBtb2RpZnlJID0gKGwsIHgyeCwgcykgPT4gbChJZGVudCkoeSA9PiBJZGVudCh4MngoeSkpKShzKS52YWx1ZVxuY29uc3QgbGVuc0kgPSAoZ2V0dGVyLCBzZXR0ZXIpID0+IF9jb25zdHJ1Y3RvciA9PiBpbm5lciA9PiB0YXJnZXQgPT5cbiAgaW5uZXIoZ2V0dGVyKHRhcmdldCkpLm1hcChmb2N1cyA9PiBzZXR0ZXIoZm9jdXMsIHRhcmdldCkpXG5jb25zdCBjb2xsZWN0SSA9IChsLCBzKSA9PiBsKENvbnN0KSh4ID0+IENvbnN0KFt4XSkpKHMpLnZhbHVlXG5cbmV4cG9ydCBjb25zdCBsZW5zID0gUi5jdXJyeShsZW5zSSlcbmV4cG9ydCBjb25zdCBtb2RpZnkgPSBSLmN1cnJ5KChsLCB4MngsIHMpID0+IG1vZGlmeUkobGlmdChsKSwgeDJ4LCBzKSlcbmV4cG9ydCBjb25zdCBzZXQgPSBSLmN1cnJ5KChsLCB4LCBzKSA9PiBzZXRJKGxpZnQobCksIHgsIHMpKVxuZXhwb3J0IGNvbnN0IGdldCA9IFIuY3VycnkoKGwsIHMpID0+IGdldEkobGlmdChsKSwgcykpXG5leHBvcnQgY29uc3QgY29sbGVjdCA9IFIuY3VycnkoKGwsIHMpID0+XG4gIHdhcm4oXCJgY29sbGVjdGAgaXMgZXhwZXJpbWVudGFsIGFuZCBtaWdodCBiZSByZW1vdmVkLCByZW5hbWVkIG9yIGNoYW5nZWQgc2VtYW50aWNhbGx5IGJlZm9yZSBuZXh0IG1ham9yIHJlbGVhc2VcIikgfHxcbiAgbWtBcnJheShmaWx0ZXJlZChjb2xsZWN0SShsaWZ0KGwpLCBzKSkpKVxuXG5leHBvcnQgY29uc3QgY2hhaW4gPSBSLmN1cnJ5KCh4MnlMLCB4TCkgPT5cbiAgY29tcG9zZSh4TCwgY2hvb3NlKHhPID0+IHhPID09PSB1bmRlZmluZWQgPyBub3RoaW5nIDogeDJ5TCh4TykpKSlcblxuZXhwb3J0IGNvbnN0IGp1c3QgPSB4ID0+IGxlbnNJKFIuYWx3YXlzKHgpLCBzbmQpXG5cbmV4cG9ydCBjb25zdCBjaG9vc2UgPSB4MnlMID0+IGNvbnN0cnVjdG9yID0+IGlubmVyID0+IHRhcmdldCA9PlxuICBsaWZ0KHgyeUwodGFyZ2V0KSkoY29uc3RydWN0b3IpKGlubmVyKSh0YXJnZXQpXG5cbmV4cG9ydCBjb25zdCBub3RoaW5nID0gbGVuc0koc25kLCBzbmQpXG5cbmV4cG9ydCBjb25zdCBvckVsc2UgPVxuICBSLmN1cnJ5KChkLCBsKSA9PiBjaG9vc2UoeCA9PiBnZXRJKGxpZnQobCksIHgpICE9PSB1bmRlZmluZWQgPyBsIDogZCkpXG5cbmV4cG9ydCBjb25zdCBjaG9pY2UgPSAoLi4ubHMpID0+IGNob29zZSh4ID0+IHtcbiAgY29uc3QgaSA9IGxzLmZpbmRJbmRleChsID0+IGdldEkobGlmdChsKSwgeCkgIT09IHVuZGVmaW5lZClcbiAgcmV0dXJuIDAgPD0gaSA/IGxzW2ldIDogbm90aGluZ1xufSlcblxuZXhwb3J0IGNvbnN0IHJlcGxhY2UgPSBSLmN1cnJ5KChpbm4sIG91dCkgPT5cbiAgbGVuc0koeCA9PiBSLmVxdWFscyh4LCBpbm4pID8gb3V0IDogeCxcbiAgICAgICAgdG9Db25zZXJ2ZSh5ID0+IFIuZXF1YWxzKHksIG91dCkgPyBpbm4gOiB5KSkpXG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0cyA9IHJlcGxhY2UodW5kZWZpbmVkKVxuZXhwb3J0IGNvbnN0IHJlcXVpcmVkID0gaW5uID0+IHJlcGxhY2UoaW5uLCB1bmRlZmluZWQpXG5leHBvcnQgY29uc3QgZGVmaW5lID0gdiA9PiBSLmNvbXBvc2UocmVxdWlyZWQodiksIGRlZmF1bHRzKHYpKVxuXG5leHBvcnQgY29uc3QgdmFsdWVPciA9IHYgPT5cbiAgbGVuc0koeCA9PiB4ID09PSB1bmRlZmluZWQgfHwgeCA9PT0gbnVsbCA/IHYgOiB4LCBjb25zZXJ2ZSlcblxuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZSA9IHRyYW5zZm9ybSA9PlxuICBsZW5zSSh0b1BhcnRpYWwodHJhbnNmb3JtKSwgdG9Db25zZXJ2ZSh0b1BhcnRpYWwodHJhbnNmb3JtKSkpXG5cbmNvbnN0IGlzUHJvcCA9IHggPT4gdHlwZW9mIHggPT09IFwic3RyaW5nXCJcblxuZXhwb3J0IGNvbnN0IHByb3AgPSBhc3NlcnQoXCJhIHN0cmluZ1wiLCBpc1Byb3ApXG5cbmNvbnN0IGxpZnRQcm9wID0gayA9PiBsZW5zSShvID0+IHVuT2JqZWN0KG8pICYmIG9ba10sICh2LCBvSW4pID0+IHtcbiAgY29uc3QgbyA9IHVuT2JqZWN0KG9JbilcbiAgcmV0dXJuIHYgPT09IHVuZGVmaW5lZCA/IGRlbGV0ZUtleShrLCBvKSA6IHNldEtleShrLCB2LCBvKVxufSlcblxuZXhwb3J0IGNvbnN0IGZpbmQgPSBwcmVkaWNhdGUgPT4gY2hvb3NlKHhzID0+IHtcbiAgaWYgKGlzQXJyYXkoeHMpKSB7XG4gICAgY29uc3QgaSA9IHhzLmZpbmRJbmRleChwcmVkaWNhdGUpXG4gICAgcmV0dXJuIGkgPCAwID8gYXBwZW5kIDogaVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBhcHBlbmRcbiAgfVxufSlcblxuZXhwb3J0IGNvbnN0IGZpbmRXaXRoID0gKC4uLmxzKSA9PiB7XG4gIGNvbnN0IGxscyA9IGxpZnQoY29tcG9zZSguLi5scykpXG4gIHJldHVybiBjb21wb3NlKGZpbmQoeCA9PiBnZXRJKGxscywgeCkgIT09IHVuZGVmaW5lZCksIGxscylcbn1cblxuY29uc3QgaXNJbmRleCA9IHggPT4gTnVtYmVyLmlzSW50ZWdlcih4KSAmJiAwIDw9IHhcblxuZXhwb3J0IGNvbnN0IGluZGV4ID0gYXNzZXJ0KFwiYSBub24tbmVnYXRpdmUgaW50ZWdlclwiLCBpc0luZGV4KVxuXG5jb25zdCBsaWZ0SW5kZXggPSBpID0+IGxlbnNJKHhzID0+IHVuQXJyYXkoeHMpICYmIHhzW2ldLCAoeCwgeHMpID0+IHtcbiAgaWYgKHggPT09IHVuZGVmaW5lZCkge1xuICAgIGlmICghaXNBcnJheSh4cykpXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgaWYgKGkgPCB4cy5sZW5ndGgpXG4gICAgICByZXR1cm4gZHJvcHBlZCh4cy5zbGljZSgwLCBpKS5jb25jYXQoeHMuc2xpY2UoaSsxKSkpXG4gICAgcmV0dXJuIGRyb3BwZWQoeHMpXG4gIH0gZWxzZSB7XG4gICAgaWYgKCFpc0FycmF5KHhzKSlcbiAgICAgIHJldHVybiBBcnJheShpKS5jb25jYXQoW3hdKVxuICAgIGlmICh4cy5sZW5ndGggPD0gaSlcbiAgICAgIHJldHVybiB4cy5jb25jYXQoQXJyYXkoaSAtIHhzLmxlbmd0aCksIFt4XSlcbiAgICBpZiAoUi5lcXVhbHMoeCwgeHNbaV0pKVxuICAgICAgcmV0dXJuIHhzXG4gICAgcmV0dXJuIHhzLnNsaWNlKDAsIGkpLmNvbmNhdChbeF0sIHhzLnNsaWNlKGkrMSkpXG4gIH1cbn0pXG5cbmV4cG9ydCBjb25zdCBhcHBlbmQgPSBsZW5zSShzbmQsICh4LCB4cykgPT5cbiAgeCA9PT0gdW5kZWZpbmVkID8gdW5BcnJheSh4cykgOiBpc0FycmF5KHhzKSA/IHhzLmNvbmNhdChbeF0pIDogW3hdKVxuXG5leHBvcnQgY29uc3QgZmlsdGVyID0gcCA9PiBsZW5zSSh4cyA9PiB1bkFycmF5KHhzKSAmJiB4cy5maWx0ZXIocCksICh5cywgeHMpID0+XG4gIGNvbnNlcnZlKGRyb3BwZWQoUi5jb25jYXQobWtBcnJheSh5cyksIG1rQXJyYXkoeHMpLmZpbHRlcihSLmNvbXBsZW1lbnQocCkpKSksIHhzKSlcblxuZXhwb3J0IGNvbnN0IGF1Z21lbnQgPSB0ZW1wbGF0ZSA9PiBsZW5zSShcbiAgeCA9PiB7XG4gICAgaWYgKGlzT2JqZWN0KHgpKSB7XG4gICAgICBjb25zdCB6ID0gey4uLnh9XG4gICAgICBmb3IgKGNvbnN0IGsgaW4gdGVtcGxhdGUpXG4gICAgICAgIHpba10gPSB0ZW1wbGF0ZVtrXSh4KVxuICAgICAgcmV0dXJuIHpcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cbiAgfSxcbiAgdG9Db25zZXJ2ZSgoeSwgY0luKSA9PiB7XG4gICAgaWYgKGlzT2JqZWN0KHkpKSB7XG4gICAgICBjb25zdCBjID0gdW5PYmplY3QoY0luKSB8fCB7fVxuICAgICAgbGV0IHpcbiAgICAgIGNvbnN0IHNldCA9IChrLCB2KSA9PiB7XG4gICAgICAgIGlmICh1bmRlZmluZWQgPT09IHopXG4gICAgICAgICAgeiA9IHt9XG4gICAgICAgIHpba10gPSB2XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IGsgaW4geSkge1xuICAgICAgICBpZiAoIShrIGluIHRlbXBsYXRlKSlcbiAgICAgICAgICBzZXQoaywgeVtrXSlcbiAgICAgICAgZWxzZVxuICAgICAgICAgIGlmIChrIGluIGMpXG4gICAgICAgICAgICBzZXQoaywgY1trXSlcbiAgICAgIH1cbiAgICAgIHJldHVybiB6XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG4gIH0pKVxuXG5leHBvcnQgY29uc3QgcGljayA9IHRlbXBsYXRlID0+IGxlbnNJKFxuICBjID0+IHtcbiAgICBsZXQgclxuICAgIGZvciAoY29uc3QgayBpbiB0ZW1wbGF0ZSkge1xuICAgICAgY29uc3QgdiA9IGdldEkobGlmdCh0ZW1wbGF0ZVtrXSksIGMpXG4gICAgICBpZiAodiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChyID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgciA9IHt9XG4gICAgICAgIHJba10gPSB2XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByXG4gIH0sXG4gIChvID0gZW1wdHksIGNJbikgPT4ge1xuICAgIGxldCBjID0gY0luXG4gICAgZm9yIChjb25zdCBrIGluIHRlbXBsYXRlKVxuICAgICAgYyA9IHNldEkobGlmdCh0ZW1wbGF0ZVtrXSksIG9ba10sIGMpXG4gICAgcmV0dXJuIGNcbiAgfSlcblxuZXhwb3J0IGNvbnN0IGlkZW50aXR5ID0gbGVuc0koaWQsIGNvbnNlcnZlKVxuXG5leHBvcnQgY29uc3QgcHJvcHMgPSAoLi4ua3MpID0+IHBpY2soUi56aXBPYmooa3MsIGtzKSlcblxuY29uc3Qgc2hvdyA9ICguLi5sYWJlbHMpID0+IHggPT4gY29uc29sZS5sb2coLi4ubGFiZWxzLCB4KSB8fCB4XG5cbmV4cG9ydCBjb25zdCBsb2cgPSAoLi4ubGFiZWxzKSA9PlxuICBsZW5zSShzaG93KC4uLmxhYmVscywgXCJnZXRcIiksIHNob3coLi4ubGFiZWxzLCBcInNldFwiKSlcblxuZXhwb3J0IGNvbnN0IHNlcXVlbmNlID0gY29uc3RydWN0b3IgPT4gaW5uZXIgPT4gdGFyZ2V0ID0+XG4gIHdhcm4oXCJgc2VxdWVuY2VgIGlzIGV4cGVyaW1lbnRhbCBhbmQgbWlnaHQgYmUgcmVtb3ZlZCwgcmVuYW1lZCBvciBjaGFuZ2VkIHNlbWFudGljYWxseSBiZWZvcmUgbmV4dCBtYWpvciByZWxlYXNlXCIpIHx8XG4gIFIudHJhdmVyc2UoY29uc3RydWN0b3IsIGlubmVyLCBta0FycmF5KHRhcmdldCkpXG4gIC5tYXAoZmlsdGVyZWQpXG5cbmV4cG9ydCBjb25zdCBmcm9tUmFtZGEgPSBsID0+IF9jb25zdHJ1Y3RvciA9PiBsXG5leHBvcnQgY29uc3QgdG9SYW1kYSA9IGwgPT5cbiAgbGlmdChsKSgoKSA9PiB7dGhyb3cgbmV3IEVycm9yKFwiU29ycnksIGB0b1JhbWRhYCBpcyBvbmx5IGZhbnRhc3khXCIpfSlcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9zZVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJ0aWFsLmxlbnNlcy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztJQUFZLEM7Ozs7Ozs7Ozs7QUFJWixTQUFTLFFBQVQsQ0FBa0IsS0FBbEIsRUFBeUI7QUFBQyxPQUFLLEtBQUwsR0FBYSxLQUFiO0FBQW1CO0FBQzdDLElBQU0sUUFBUSxTQUFSLEtBQVE7QUFBQSxTQUFLLElBQUksUUFBSixDQUFhLENBQWIsQ0FBTDtBQUFBLENBQWQ7QUFDQSxTQUFTLFNBQVQsQ0FBbUIsR0FBbkIsR0FBeUIsVUFBVSxHQUFWLEVBQWU7QUFBQyxTQUFPLElBQUksUUFBSixDQUFhLElBQUksS0FBSyxLQUFULENBQWIsQ0FBUDtBQUFxQyxDQUE5RTtBQUNBLFNBQVMsU0FBVCxDQUFtQixFQUFuQixHQUF3QixLQUF4QjtBQUNBLFNBQVMsU0FBVCxDQUFtQixFQUFuQixHQUF3QixVQUFVLENBQVYsRUFBYTtBQUFDLFNBQU8sSUFBSSxRQUFKLENBQWEsS0FBSyxLQUFMLENBQVcsRUFBRSxLQUFiLENBQWIsQ0FBUDtBQUF5QyxDQUEvRTs7OztBQUlBLFNBQVMsUUFBVCxDQUFrQixLQUFsQixFQUF5QjtBQUFDLE9BQUssS0FBTCxHQUFhLEtBQWI7QUFBbUI7QUFDN0MsSUFBTSxRQUFRLFNBQVIsS0FBUTtBQUFBLFNBQUssSUFBSSxRQUFKLENBQWEsQ0FBYixDQUFMO0FBQUEsQ0FBZDtBQUNBLFNBQVMsU0FBVCxDQUFtQixHQUFuQixHQUF5QixZQUFZO0FBQUMsU0FBTyxJQUFQO0FBQVksQ0FBbEQ7QUFDQSxTQUFTLFNBQVQsQ0FBbUIsRUFBbkIsR0FBd0IsS0FBeEI7QUFDQSxTQUFTLFNBQVQsQ0FBbUIsRUFBbkIsR0FBd0IsVUFBVSxDQUFWLEVBQWE7QUFBQyxTQUFPLElBQUksS0FBSixDQUFVLEVBQUUsTUFBRixDQUFTLEtBQUssS0FBZCxFQUFxQixFQUFFLEtBQXZCLENBQVYsQ0FBUDtBQUFnRCxDQUF0Rjs7OztBQUlBLElB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QWdCLEtBQWhCLEdBQTlCLENBRGlCO0FBQUEsQ0FBWjs7QUFHQSxJQUFNLDhCQUFXLFNBQVgsUUFBVztBQUFBLFNBQWU7QUFBQSxXQUFTO0FBQUEsYUFDOUMsS0FBSyw0R0FBTCxLQUNBLEVBQUUsUUFBRixDQUFXLFdBQVgsRUFBd0IsS0FBeEIsRUFBK0IsUUFBUSxNQUFSLENBQS9CLEVBQ0MsR0FERCxDQUNLLFFBREwsQ0FGOEM7QUFBQSxLQUFUO0FBQUEsR0FBZjtBQUFBLENBQWpCOztBQUtBLElBQU0sZ0NBQVksU0FBWixTQUFZO0FBQUEsU0FBSztBQUFBLFdBQWdCLENBQWhCO0FBQUEsR0FBTDtBQUFBLENBQWxCO0FBQ0EsSUFBTSw0QkFBVSxTQUFWLE9BQVU7QUFBQSxTQUNyQixLQUFLLENBQUwsRUFBUSxZQUFNO0FBQUMsVUFBTSxJQUFJLEtBQUosQ0FBVSxtQ0FBVixDQUFOO0FBQXFELEdBQXBFLENBRHFCO0FBQUEsQ0FBaEI7O2tCQUdRLE8iLCJmaWxlIjoicGFydGlhbC5sZW5zZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBSIGZyb20gXCJyYW1kYVwiXG5cbi8vXG5cbmZ1bmN0aW9uIElkZW50aXR5KHZhbHVlKSB7dGhpcy52YWx1ZSA9IHZhbHVlfVxuY29uc3QgSWRlbnQgPSB4ID0+IG5ldyBJZGVudGl0eSh4KVxuSWRlbnRpdHkucHJvdG90eXBlLm1hcCA9IGZ1bmN0aW9uICh4MnkpIHtyZXR1cm4gbmV3IElkZW50aXR5KHgyeSh0aGlzLnZhbHVlKSl9XG5JZGVudGl0eS5wcm90b3R5cGUub2YgPSBJZGVudFxuSWRlbnRpdHkucHJvdG90eXBlLmFwID0gZnVuY3Rpb24gKHgpIHtyZXR1cm4gbmV3IElkZW50aXR5KHRoaXMudmFsdWUoeC52YWx1ZSkpfVxuXG4vL1xuXG5mdW5jdGlvbiBDb25zdGFudCh2YWx1ZSkge3RoaXMudmFsdWUgPSB2YWx1ZX1cbmNvbnN0IENvbnN0ID0geCA9PiBuZXcgQ29uc3RhbnQoeClcbkNvbnN0YW50LnByb3RvdHlwZS5tYXAgPSBmdW5jdGlvbiAoKSB7cmV0dXJuIHRoaXN9XG5Db25zdGFudC5wcm90b3R5cGUub2YgPSBDb25zdFxuQ29uc3RhbnQucHJvdG90eXBlLmFwID0gZnVuY3Rpb24gKHgpIHtyZXR1cm4gbmV3IENvbnN0KFIuY29uY2F0KHRoaXMudmFsdWUsIHgudmFsdWUpKX1cblxuLy9cblxuY29uc3Qgd2FybmVkID0ge31cblxuY29uc3Qgd2FybiA9IG1lc3NhZ2UgPT4ge1xuICBpZiAoIShtZXNzYWdlIGluIHdhcm5lZCkpIHtcbiAgICB3YXJuZWRbbWVzc2FnZV0gPSBtZXNzYWdlXG4gICAgY29uc29sZS53YXJuKFwicGFydGlhbC5sZW5zZXM6XCIsIG1lc3NhZ2UpXG4gIH1cbn1cblxuLy9cblxuY29uc3QgaXNBcnJheSAgPSB4ID0+IHggJiYgeC5jb25zdHJ1Y3RvciA9PT0gQXJyYXlcbmNvbnN0IGlzT2JqZWN0ID0geCA9PiB4ICYmIHguY29uc3RydWN0b3IgPT09IE9iamVjdFxuXG5jb25zdCB1bkFycmF5ICA9IHggPT4gIGlzQXJyYXkoeCkgPyB4IDogdW5kZWZpbmVkXG5jb25zdCB1bk9iamVjdCA9IHggPT4gaXNPYmplY3QoeCkgPyB4IDogdW5kZWZpbmVkXG5cbmNvbnN0IG1rQXJyYXkgPSB4ID0+IGlzQXJyYXkoeCkgPyB4IDogW11cblxuLy9cblxuY29uc3QgaWQgPSB4ID0+IHhcbmNvbnN0IHNuZCA9IChfLCBjKSA9PiBjXG5cbi8vXG5cbmNvbnN0IGNoZWNrID0gKGV4cGVjdGVkLCBwcmVkaWNhdGUpID0+IHggPT4ge1xuICBpZiAocHJlZGljYXRlKHgpKVxuICAgIHJldHVybiB4XG4gIGVsc2VcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkICR7ZXhwZWN0ZWR9LCBidXQgZ290ICR7eH0uYClcbn1cblxuY29uc3QgYXNzZXJ0ID0gcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiID8gKCkgPT4gaWQgOiBjaGVja1xuXG4vL1xuXG5jb25zdCBlbXB0eSA9IHt9XG5cbmNvbnN0IGRlbGV0ZUtleSA9IChrLCBvID0ge30pID0+IHtcbiAgbGV0IHJcbiAgZm9yIChjb25zdCBwIGluIG8pIHtcbiAgICBpZiAocCAhPT0gaykge1xuICAgICAgaWYgKHVuZGVmaW5lZCA9PT0gcilcbiAgICAgICAgciA9IHt9XG4gICAgICByW3BdID0gb1twXVxuICAgIH1cbiAgfVxuICByZXR1cm4gclxufVxuXG5jb25zdCBzZXRLZXkgPSAoaywgdiwgbyA9IHt9KSA9PiB7XG4gIGlmIChrIGluIG8gJiYgUi5lcXVhbHModiwgb1trXSkpXG4gICAgcmV0dXJuIG9cbiAgY29uc3QgciA9IHtba106IHZ9XG4gIGZvciAoY29uc3QgcCBpbiBvKVxuICAgIGlmIChwICE9PSBrKVxuICAgICAgcltwXSA9IG9bcF1cbiAgcmV0dXJuIHJcbn1cblxuLy9cblxuY29uc3QgZHJvcHBlZCA9IHhzID0+IE9iamVjdC5rZXlzKHhzKS5sZW5ndGggPT09IDAgPyB1bmRlZmluZWQgOiB4c1xuXG4vL1xuXG5jb25zdCB0b1BhcnRpYWwgPSB0cmFuc2Zvcm0gPT4geCA9PiB1bmRlZmluZWQgPT09IHggPyB4IDogdHJhbnNmb3JtKHgpXG5cbi8vXG5cbmNvbnN0IGZpbHRlcmVkID1cbiAgdG9QYXJ0aWFsKFIucGlwZShSLmZpbHRlcih4ID0+IHggIT09IHVuZGVmaW5lZCksIGRyb3BwZWQpKVxuXG4vL1xuXG5jb25zdCBjb25zZXJ2ZSA9IChjMSwgYzApID0+IFIuZXF1YWxzKGMxLCBjMCkgPyBjMCA6IGMxXG5cbmNvbnN0IHRvQ29uc2VydmUgPSBmID0+ICh5LCBjMCkgPT4gY29uc2VydmUoZih5LCBjMCksIGMwKVxuXG4vL1xuXG5jb25zdCBzZWVtc0xlbnMgPSB4ID0+IHR5cGVvZiB4ID09PSBcImZ1bmN0aW9uXCIgJiYgeC5sZW5ndGggPT09IDFcblxuY29uc3QgbGlmdGVkID0gYXNzZXJ0KFwiYSBsZW5zXCIsIHNlZW1zTGVucylcblxuY29uc3QgbGlmdCA9IGwgPT4ge1xuICBpZiAoaXNQcm9wKGwpKSAgcmV0dXJuIGxpZnRQcm9wKGwpXG4gIGlmIChpc0luZGV4KGwpKSByZXR1cm4gbGlmdEluZGV4KGwpXG4gIHJldHVybiBsaWZ0ZWQobClcbn1cblxuZXhwb3J0IGNvbnN0IGNvbXBvc2UgPSAoLi4ubHMpID0+XG4gIGxzLmxlbmd0aCA9PT0gMCA/IGlkZW50aXR5IDpcbiAgbHMubGVuZ3RoID09PSAxID8gbHNbMF0gOlxuICAodG9DYXQgPT4gUi5jb21wb3NlKC4uLmxzLm1hcChsID0+IGxpZnQobCkodG9DYXQpKSkpXG5cbmV4cG9ydCBjb25zdCByZW1vdmUgPSBSLmN1cnJ5KChsLCBzKSA9PiBzZXRJKGxpZnQobCksIHVuZGVmaW5lZCwgcykpXG5cbmV4cG9ydCBjb25zdCByZW1vdmVBbGwgPSBSLmN1cnJ5KChsZW5zLCBkYXRhKSA9PiB7XG4gIHdhcm4oXCJgcmVtb3ZlQWxsYCBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gbmV4dCBtYWpvciB2ZXJzaW9uIC0tLSB1c2UgYSBkaWZmZXJlbnQgYXBwcm9hY2guXCIpXG4gIHdoaWxlIChnZXQobGVucywgZGF0YSkgIT09IHVuZGVmaW5lZClcbiAgICBkYXRhID0gcmVtb3ZlKGxlbnMsIGRhdGEpXG4gIHJldHVybiBkYXRhXG59KVxuXG5jb25zdCBzZXRJID0gKGwsIHgsIHMpID0+IGwoSWRlbnQpKCgpID0+IElkZW50KHgpKShzKS52YWx1ZVxuY29uc3QgZ2V0SSA9IChsLCBzKSA9PiBsKENvbnN0KShDb25zdCkocykudmFsdWVcbmNvbnN0IG1vZGlmeUkgPSAobCwgeDJ4LCBzKSA9PiBsKElkZW50KSh5ID0+IElkZW50KHgyeCh5KSkpKHMpLnZhbHVlXG5jb25zdCBsZW5zSSA9IChnZXR0ZXIsIHNldHRlcikgPT4gX2NvbnN0cnVjdG9yID0+IGlubmVyID0+IHRhcmdldCA9PlxuICBpbm5lcihnZXR0ZXIodGFyZ2V0KSkubWFwKGZvY3VzID0+IHNldHRlcihmb2N1cywgdGFyZ2V0KSlcbmNvbnN0IGNvbGxlY3RJID0gKGwsIHMpID0+IGwoQ29uc3QpKHggPT4gQ29uc3QoW3hdKSkocykudmFsdWVcblxuZXhwb3J0IGNvbnN0IGxlbnMgPSBSLmN1cnJ5KGxlbnNJKVxuZXhwb3J0IGNvbnN0IG1vZGlmeSA9IFIuY3VycnkoKGwsIHgyeCwgcykgPT4gbW9kaWZ5SShsaWZ0KGwpLCB4MngsIHMpKVxuZXhwb3J0IGNvbnN0IHNldCA9IFIuY3VycnkoKGwsIHgsIHMpID0+IHNldEkobGlmdChsKSwgeCwgcykpXG5leHBvcnQgY29uc3QgZ2V0ID0gUi5jdXJyeSgobCwgcykgPT4gZ2V0SShsaWZ0KGwpLCBzKSlcbmV4cG9ydCBjb25zdCBjb2xsZWN0ID0gUi5jdXJyeSgobCwgcykgPT5cbiAgd2FybihcImBjb2xsZWN0YCBpcyBleHBlcmltZW50YWwgYW5kIG1pZ2h0IGJlIHJlbW92ZWQsIHJlbmFtZWQgb3IgY2hhbmdlZCBzZW1hbnRpY2FsbHkgYmVmb3JlIG5leHQgbWFqb3IgcmVsZWFzZVwiKSB8fFxuICBta0FycmF5KGZpbHRlcmVkKGNvbGxlY3RJKGxpZnQobCksIHMpKSkpXG5cbmV4cG9ydCBjb25zdCBjaGFpbiA9IFIuY3VycnkoKHgyeUwsIHhMKSA9PlxuICBjb21wb3NlKHhMLCBjaG9vc2UoeE8gPT4geE8gPT09IHVuZGVmaW5lZCA/IG5vdGhpbmcgOiB4MnlMKHhPKSkpKVxuXG5leHBvcnQgY29uc3QganVzdCA9IHggPT4gbGVuc0koUi5hbHdheXMoeCksIHNuZClcblxuZXhwb3J0IGNvbnN0IGNob29zZSA9IHgyeUwgPT4gY29uc3RydWN0b3IgPT4gaW5uZXIgPT4gdGFyZ2V0ID0+XG4gIGxpZnQoeDJ5TCh0YXJnZXQpKShjb25zdHJ1Y3RvcikoaW5uZXIpKHRhcmdldClcblxuZXhwb3J0IGNvbnN0IG5vdGhpbmcgPSBsZW5zSShzbmQsIHNuZClcblxuZXhwb3J0IGNvbnN0IG9yRWxzZSA9XG4gIFIuY3VycnkoKGQsIGwpID0+IGNob29zZSh4ID0+IGdldEkobGlmdChsKSwgeCkgIT09IHVuZGVmaW5lZCA/IGwgOiBkKSlcblxuZXhwb3J0IGNvbnN0IGNob2ljZSA9ICguLi5scykgPT4gY2hvb3NlKHggPT4ge1xuICBjb25zdCBpID0gbHMuZmluZEluZGV4KGwgPT4gZ2V0SShsaWZ0KGwpLCB4KSAhPT0gdW5kZWZpbmVkKVxuICByZXR1cm4gMCA8PSBpID8gbHNbaV0gOiBub3RoaW5nXG59KVxuXG5leHBvcnQgY29uc3QgcmVwbGFjZSA9IFIuY3VycnkoKGlubiwgb3V0KSA9PlxuICBsZW5zSSh4ID0+IFIuZXF1YWxzKHgsIGlubikgPyBvdXQgOiB4LFxuICAgICAgICB0b0NvbnNlcnZlKHkgPT4gUi5lcXVhbHMoeSwgb3V0KSA/IGlubiA6IHkpKSlcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRzID0gcmVwbGFjZSh1bmRlZmluZWQpXG5leHBvcnQgY29uc3QgcmVxdWlyZWQgPSBpbm4gPT4gcmVwbGFjZShpbm4sIHVuZGVmaW5lZClcbmV4cG9ydCBjb25zdCBkZWZpbmUgPSB2ID0+IGNvbXBvc2UocmVxdWlyZWQodiksIGRlZmF1bHRzKHYpKVxuXG5leHBvcnQgY29uc3QgdmFsdWVPciA9IHYgPT5cbiAgbGVuc0koeCA9PiB4ID09PSB1bmRlZmluZWQgfHwgeCA9PT0gbnVsbCA/IHYgOiB4LCBjb25zZXJ2ZSlcblxuZXhwb3J0IGNvbnN0IG5vcm1hbGl6ZSA9IHRyYW5zZm9ybSA9PlxuICBsZW5zSSh0b1BhcnRpYWwodHJhbnNmb3JtKSwgdG9Db25zZXJ2ZSh0b1BhcnRpYWwodHJhbnNmb3JtKSkpXG5cbmNvbnN0IGlzUHJvcCA9IHggPT4gdHlwZW9mIHggPT09IFwic3RyaW5nXCJcblxuZXhwb3J0IGNvbnN0IHByb3AgPSBhc3NlcnQoXCJhIHN0cmluZ1wiLCBpc1Byb3ApXG5cbmNvbnN0IGxpZnRQcm9wID0gayA9PiBsZW5zSShvID0+IHVuT2JqZWN0KG8pICYmIG9ba10sICh2LCBvSW4pID0+IHtcbiAgY29uc3QgbyA9IHVuT2JqZWN0KG9JbilcbiAgcmV0dXJuIHYgPT09IHVuZGVmaW5lZCA/IGRlbGV0ZUtleShrLCBvKSA6IHNldEtleShrLCB2LCBvKVxufSlcblxuZXhwb3J0IGNvbnN0IGZpbmQgPSBwcmVkaWNhdGUgPT4gY2hvb3NlKHhzID0+IHtcbiAgaWYgKGlzQXJyYXkoeHMpKSB7XG4gICAgY29uc3QgaSA9IHhzLmZpbmRJbmRleChwcmVkaWNhdGUpXG4gICAgcmV0dXJuIGkgPCAwID8gYXBwZW5kIDogaVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBhcHBlbmRcbiAgfVxufSlcblxuZXhwb3J0IGNvbnN0IGZpbmRXaXRoID0gKC4uLmxzKSA9PiB7XG4gIGNvbnN0IGxscyA9IGxpZnQoY29tcG9zZSguLi5scykpXG4gIHJldHVybiBjb21wb3NlKGZpbmQoeCA9PiBnZXRJKGxscywgeCkgIT09IHVuZGVmaW5lZCksIGxscylcbn1cblxuY29uc3QgaXNJbmRleCA9IHggPT4gTnVtYmVyLmlzSW50ZWdlcih4KSAmJiAwIDw9IHhcblxuZXhwb3J0IGNvbnN0IGluZGV4ID0gYXNzZXJ0KFwiYSBub24tbmVnYXRpdmUgaW50ZWdlclwiLCBpc0luZGV4KVxuXG5jb25zdCBsaWZ0SW5kZXggPSBpID0+IGxlbnNJKHhzID0+IHVuQXJyYXkoeHMpICYmIHhzW2ldLCAoeCwgeHMpID0+IHtcbiAgaWYgKHggPT09IHVuZGVmaW5lZCkge1xuICAgIGlmICghaXNBcnJheSh4cykpXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgaWYgKGkgPCB4cy5sZW5ndGgpXG4gICAgICByZXR1cm4gZHJvcHBlZCh4cy5zbGljZSgwLCBpKS5jb25jYXQoeHMuc2xpY2UoaSsxKSkpXG4gICAgcmV0dXJuIGRyb3BwZWQoeHMpXG4gIH0gZWxzZSB7XG4gICAgaWYgKCFpc0FycmF5KHhzKSlcbiAgICAgIHJldHVybiBBcnJheShpKS5jb25jYXQoW3hdKVxuICAgIGlmICh4cy5sZW5ndGggPD0gaSlcbiAgICAgIHJldHVybiB4cy5jb25jYXQoQXJyYXkoaSAtIHhzLmxlbmd0aCksIFt4XSlcbiAgICBpZiAoUi5lcXVhbHMoeCwgeHNbaV0pKVxuICAgICAgcmV0dXJuIHhzXG4gICAgcmV0dXJuIHhzLnNsaWNlKDAsIGkpLmNvbmNhdChbeF0sIHhzLnNsaWNlKGkrMSkpXG4gIH1cbn0pXG5cbmV4cG9ydCBjb25zdCBhcHBlbmQgPSBsZW5zSShzbmQsICh4LCB4cykgPT5cbiAgeCA9PT0gdW5kZWZpbmVkID8gdW5BcnJheSh4cykgOiBpc0FycmF5KHhzKSA/IHhzLmNvbmNhdChbeF0pIDogW3hdKVxuXG5leHBvcnQgY29uc3QgZmlsdGVyID0gcCA9PiBsZW5zSSh4cyA9PiB1bkFycmF5KHhzKSAmJiB4cy5maWx0ZXIocCksICh5cywgeHMpID0+XG4gIGNvbnNlcnZlKGRyb3BwZWQoUi5jb25jYXQobWtBcnJheSh5cyksIG1rQXJyYXkoeHMpLmZpbHRlcihSLmNvbXBsZW1lbnQocCkpKSksIHhzKSlcblxuZXhwb3J0IGNvbnN0IGF1Z21lbnQgPSB0ZW1wbGF0ZSA9PiBsZW5zSShcbiAgeCA9PiB7XG4gICAgaWYgKGlzT2JqZWN0KHgpKSB7XG4gICAgICBjb25zdCB6ID0gey4uLnh9XG4gICAgICBmb3IgKGNvbnN0IGsgaW4gdGVtcGxhdGUpXG4gICAgICAgIHpba10gPSB0ZW1wbGF0ZVtrXSh4KVxuICAgICAgcmV0dXJuIHpcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cbiAgfSxcbiAgdG9Db25zZXJ2ZSgoeSwgY0luKSA9PiB7XG4gICAgaWYgKGlzT2JqZWN0KHkpKSB7XG4gICAgICBjb25zdCBjID0gdW5PYmplY3QoY0luKSB8fCB7fVxuICAgICAgbGV0IHpcbiAgICAgIGNvbnN0IHNldCA9IChrLCB2KSA9PiB7XG4gICAgICAgIGlmICh1bmRlZmluZWQgPT09IHopXG4gICAgICAgICAgeiA9IHt9XG4gICAgICAgIHpba10gPSB2XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IGsgaW4geSkge1xuICAgICAgICBpZiAoIShrIGluIHRlbXBsYXRlKSlcbiAgICAgICAgICBzZXQoaywgeVtrXSlcbiAgICAgICAgZWxzZVxuICAgICAgICAgIGlmIChrIGluIGMpXG4gICAgICAgICAgICBzZXQoaywgY1trXSlcbiAgICAgIH1cbiAgICAgIHJldHVybiB6XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG4gIH0pKVxuXG5leHBvcnQgY29uc3QgcGljayA9IHRlbXBsYXRlID0+IGxlbnNJKFxuICBjID0+IHtcbiAgICBsZXQgclxuICAgIGZvciAoY29uc3QgayBpbiB0ZW1wbGF0ZSkge1xuICAgICAgY29uc3QgdiA9IGdldEkobGlmdCh0ZW1wbGF0ZVtrXSksIGMpXG4gICAgICBpZiAodiAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChyID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgciA9IHt9XG4gICAgICAgIHJba10gPSB2XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByXG4gIH0sXG4gIChvID0gZW1wdHksIGNJbikgPT4ge1xuICAgIGxldCBjID0gY0luXG4gICAgZm9yIChjb25zdCBrIGluIHRlbXBsYXRlKVxuICAgICAgYyA9IHNldEkobGlmdCh0ZW1wbGF0ZVtrXSksIG9ba10sIGMpXG4gICAgcmV0dXJuIGNcbiAgfSlcblxuZXhwb3J0IGNvbnN0IGlkZW50aXR5ID0gbGVuc0koaWQsIGNvbnNlcnZlKVxuXG5leHBvcnQgY29uc3QgcHJvcHMgPSAoLi4ua3MpID0+IHBpY2soUi56aXBPYmooa3MsIGtzKSlcblxuY29uc3Qgc2hvdyA9ICguLi5sYWJlbHMpID0+IHggPT4gY29uc29sZS5sb2coLi4ubGFiZWxzLCB4KSB8fCB4XG5cbmV4cG9ydCBjb25zdCBsb2cgPSAoLi4ubGFiZWxzKSA9PlxuICBsZW5zSShzaG93KC4uLmxhYmVscywgXCJnZXRcIiksIHNob3coLi4ubGFiZWxzLCBcInNldFwiKSlcblxuZXhwb3J0IGNvbnN0IHNlcXVlbmNlID0gY29uc3RydWN0b3IgPT4gaW5uZXIgPT4gdGFyZ2V0ID0+XG4gIHdhcm4oXCJgc2VxdWVuY2VgIGlzIGV4cGVyaW1lbnRhbCBhbmQgbWlnaHQgYmUgcmVtb3ZlZCwgcmVuYW1lZCBvciBjaGFuZ2VkIHNlbWFudGljYWxseSBiZWZvcmUgbmV4dCBtYWpvciByZWxlYXNlXCIpIHx8XG4gIFIudHJhdmVyc2UoY29uc3RydWN0b3IsIGlubmVyLCBta0FycmF5KHRhcmdldCkpXG4gIC5tYXAoZmlsdGVyZWQpXG5cbmV4cG9ydCBjb25zdCBmcm9tUmFtZGEgPSBsID0+IF9jb25zdHJ1Y3RvciA9PiBsXG5leHBvcnQgY29uc3QgdG9SYW1kYSA9IGwgPT5cbiAgbGlmdChsKSgoKSA9PiB7dGhyb3cgbmV3IEVycm9yKFwiU29ycnksIGB0b1JhbWRhYCBpcyBvbmx5IGZhbnRhc3khXCIpfSlcblxuZXhwb3J0IGRlZmF1bHQgY29tcG9zZVxuIl19 |
{ | ||
"name": "partial.lenses", | ||
"version": "3.6.2", | ||
"version": "3.6.3", | ||
"description": "Partial lenses", | ||
@@ -5,0 +5,0 @@ "main": "lib/partial.lenses.js", |
@@ -880,3 +880,4 @@ [ [Tutorial](#tutorial) | [Reference](#reference) | [Background](#background) ] | ||
`L.toRamda(plens)` converts the given partial lens to a Ramda lens. Note that | ||
this does not change the behavior of the lens on undefined values. | ||
this does not change the behavior of the lens on undefined values. Also note | ||
that traverals are not compatible with Ramda. | ||
@@ -883,0 +884,0 @@ ### Traversal combinators and operations |
@@ -166,3 +166,3 @@ import * as R from "ramda" | ||
export const required = inn => replace(inn, undefined) | ||
export const define = v => R.compose(required(v), defaults(v)) | ||
export const define = v => compose(required(v), defaults(v)) | ||
@@ -169,0 +169,0 @@ export const valueOr = v => |
@@ -154,2 +154,6 @@ import * as R from "ramda" | ||
describe("L.define", () => { | ||
testEq('L.get(P("related", L.define([])), {})', []) | ||
}) | ||
describe("L.valueOr", () => { | ||
@@ -156,0 +160,0 @@ for (const v of [0, false, true, "", [], {}]) { |
Deprecated
MaintenanceThe maintainer of the package marked it as deprecated. This could indicate that a single version should not be used, or that the package is no longer maintained and any new vulnerabilities will not be fixed.
Found 1 instance in 1 package
186138
949
0
1067