necessary 11.1.2 → 11.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -31,8 +31,8 @@ exports.prune = prune;
31
31
  exports.patch = patch;
32
32
  exports.augment = augment;
33
33
  exports.separate = separate;
34
- exports.forwardsFine = forwardsFine;
35
- exports.backwardsFine = backwardsFine;
34
+ exports.forwardsFind = forwardsFind;
35
+ exports.backwardsFind = backwardsFind;
36
36
  exports.forwardsSome = forwardsSome;
37
37
  exports.backwardsSome = backwardsSome;
38
38
  exports.forwardsEvery = forwardsEvery;
@@ -117,7 +117,7 @@ function back(array) {
117
117
  return array.slice(array.length - 1);
118
118
  }
119
119
  function front(array) {
120
- return array.slice(0, array.length - 1);
120
+ return array.slice(0, Math.min(1, array.length - 1));
121
121
  }
122
122
  function push(array1, array2) {
123
123
  Array.prototype.push.apply(array1, array2);
@@ -224,7 +224,7 @@ function separate(array, array1, array2, test) {
224
224
  passed ? array1.push(element) : array2.push(element);
225
225
  });
226
226
  }
227
- function forwardsFine(array, callback) {
227
+ function forwardsFind(array, callback) {
228
228
  var arrayLength = array.length;
229
229
  for(var index = 0; index < arrayLength; index++){
230
230
  var element = array[index], result = callback(element, index);
@@ -234,7 +234,7 @@ function forwardsFine(array, callback) {
234
234
  }
235
235
  return false;
236
236
  }
237
- function backwardsFine(array, callback) {
237
+ function backwardsFind(array, callback) {
238
238
  var arrayLength = array.length;
239
239
  for(var index = arrayLength - 1; index >= 0; index--){
240
240
  var element = array[index], result = callback(element, index);
@@ -359,4 +359,4 @@ var _default = {
359
359
  };
360
360
  exports.default = _default;
361
361
 
362
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbMF07fVxuXG5leHBvcnQgZnVuY3Rpb24gc2Vjb25kKGFycmF5KSB7IHJldHVybiBhcnJheVsxXTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gdGhpcmQoYXJyYXkpIHsgcmV0dXJuIGFycmF5WzJdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3VydGgoYXJyYXkpIHsgcmV0dXJuIGFycmF5WzNdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWZ0aChhcnJheSkgeyByZXR1cm4gYXJyYXlbNF07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZnRoTGFzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbYXJyYXkubGVuZ3RoIC0gNV07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvdXJ0aExhc3QoYXJyYXkpIHsgcmV0dXJuIGFycmF5W2FycmF5Lmxlbmd0aCAtIDRdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiB0aGlyZExhc3QoYXJyYXkpIHsgcmV0dXJuIGFycmF5W2FycmF5Lmxlbmd0aCAtIDNdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWNvbmRMYXN0KGFycmF5KSB7IHJldHVybiBhcnJheVthcnJheS5sZW5ndGggLSAyXTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gZmlyc3RMYXN0KGFycmF5KSB7IHJldHVybiBhcnJheVthcnJheS5sZW5ndGggLSAxXTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gbGFzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbYXJyYXkubGVuZ3RoIC0gMV07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGhlYWQoYXJyYXkpIHsgcmV0dXJuIGFycmF5LnNsaWNlKDAsIDEpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWlsKGFycmF5KSB7IHJldHVybiBhcnJheS5zbGljZSgxKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gYmFjayhhcnJheSkgeyByZXR1cm4gYXJyYXkuc2xpY2UoYXJyYXkubGVuZ3RoIC0gMSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb250KGFycmF5KSB7IHJldHVybiBhcnJheS5zbGljZSgwLCBhcnJheS5sZW5ndGggLSAxKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gcHVzaChhcnJheTEsIGFycmF5MikgeyBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShhcnJheTEsIGFycmF5Mik7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuc2hpZnQoYXJyYXkxLCBhcnJheTIpIHsgQXJyYXkucHJvdG90eXBlLnVuc2hpZnQuYXBwbHkoYXJyYXkxLCBhcnJheTIpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25jYXQoYXJyYXkxLCBlbGVtZW50T3JBcnJheTIpIHtcbiAgY29uc3QgYXJyYXkyID0gKGVsZW1lbnRPckFycmF5MiBpbnN0YW5jZW9mIEFycmF5KSA/XG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnRPckFycmF5MiA6XG4gICAgICAgICAgICAgICAgICAgICBbZWxlbWVudE9yQXJyYXkyXTtcbiAgXG4gIHB1c2goYXJyYXkxLCBhcnJheTIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYXIoYXJyYXkpIHtcbiAgY29uc3Qgc3RhcnQgPSAwO1xuICBcbiAgcmV0dXJuIGFycmF5LnNwbGljZShzdGFydCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb3B5KGFycmF5MSwgYXJyYXkyKSB7XG4gIGNvbnN0IHN0YXJ0ID0gMCxcbiAgICAgICAgZGVsZXRlQ291bnQgPSBhcnJheTIubGVuZ3RoOyAgLy8vXG4gIFxuICBzcGxpY2UoYXJyYXkxLCBzdGFydCwgZGVsZXRlQ291bnQsIGFycmF5Mik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZShhcnJheTEsIGFycmF5MikgeyBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShhcnJheTEsIGFycmF5Mik7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIHNwbGljZShhcnJheTEsIHN0YXJ0LCBkZWxldGVDb3VudCA9IEluZmluaXR5LCBhcnJheTIgPSBbXSkge1xuICBjb25zdCBhcmdzID0gW3N0YXJ0LCBkZWxldGVDb3VudCwgLi4uYXJyYXkyXSxcbiAgICAgICAgZGVsZXRlZEl0ZW1zQXJyYXkgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmFwcGx5KGFycmF5MSwgYXJncyk7XG5cbiAgcmV0dXJuIGRlbGV0ZWRJdGVtc0FycmF5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZShhcnJheSwgZWxlbWVudCwgdGVzdCkge1xuICBsZXQgc3RhcnQ7XG4gIFxuICBjb25zdCBmb3VuZCA9IGFycmF5LnNvbWUoKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgcGFzc2VkID0gdGVzdChlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAocGFzc2VkKSB7XG4gICAgICBzdGFydCA9IGluZGV4OyAgLy8vXG4gICAgICBcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG4gIFxuICBpZiAoZm91bmQpIHtcbiAgICBjb25zdCBkZWxldGVDb3VudCA9IDE7XG5cbiAgICBhcnJheS5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50LCBlbGVtZW50KTtcbiAgfVxuXG4gIHJldHVybiBmb3VuZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlcihhcnJheSwgdGVzdCkge1xuICBjb25zdCBmaWx0ZXJlZEVsZW1lbnRzID0gW107XG4gIFxuICBiYWNrd2FyZHNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBwYXNzZWQgPSB0ZXN0KGVsZW1lbnQsIGluZGV4KTtcblxuICAgIGlmICghcGFzc2VkKSB7XG4gICAgICBjb25zdCBzdGFydCA9IGluZGV4LCAgLy8vXG4gICAgICAgICAgICBkZWxldGVDb3VudCA9IDEsXG4gICAgICAgICAgICBkZWxldGVkRWxlbWVudHMgPSBhcnJheS5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50KSxcbiAgICAgICAgICAgIGZpcnN0RGVsZXRlZEVsZW1lbnQgPSBmaXJzdChkZWxldGVkRWxlbWVudHMpO1xuICAgICAgXG4gICAgICBmaWx0ZXJlZEVsZW1lbnRzLnVuc2hpZnQoZmlyc3REZWxldGVkRWxlbWVudCk7ICAvLy9cbiAgICB9XG4gIH0pO1xuICBcbiAgcmV0dXJuIGZpbHRlcmVkRWxlbWVudHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kKGFycmF5LCB0ZXN0KSB7XG4gIGNvbnN0IGVsZW1lbnRzID0gW107XG5cbiAgZm9yd2FyZHNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBwYXNzZWQgPSB0ZXN0KGVsZW1lbnQsIGluZGV4KTtcblxuICAgIGlmIChwYXNzZWQpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2goZWxlbWVudCk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZWxlbWVudHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcnVuZShhcnJheSwgdGVzdCkge1xuICBsZXQgcHJ1bmVkRWxlbWVudCA9IHVuZGVmaW5lZDtcbiAgXG4gIGFycmF5LnNvbWUoKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgcGFzc2VkID0gdGVzdChlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAoIXBhc3NlZCkge1xuICAgICAgY29uc3Qgc3RhcnQgPSBpbmRleCwgIC8vL1xuICAgICAgICAgICAgZGVsZXRlQ291bnQgPSAxLFxuICAgICAgICAgICAgZGVsZXRlZEVsZW1lbnRzID0gYXJyYXkuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCksXG4gICAgICAgICAgICBmaXJzdERlbGV0ZWRFbGVtZW50ID0gZmlyc3QoZGVsZXRlZEVsZW1lbnRzKTtcbiAgICAgIFxuICAgICAgcHJ1bmVkRWxlbWVudCA9IGZpcnN0RGVsZXRlZEVsZW1lbnQ7ICAvLy9cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcbiAgXG4gIHJldHVybiBwcnVuZWRFbGVtZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2goYXJyYXksIGVsZW1lbnQsIHRlc3QpIHtcbiAgY29uc3QgZm91bmQgPSBhcnJheS5zb21lKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRlc3QoZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHBhc3NlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuXG4gIGlmIChmb3VuZCkge1xuICAgIGFycmF5LnB1c2goZWxlbWVudCk7XG4gIH1cblxuICByZXR1cm4gZm91bmQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhdWdtZW50KGFycmF5MSwgYXJyYXkyLCB0ZXN0KSB7XG4gIGFycmF5Mi5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRlc3QoZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHBhc3NlZCkge1xuICAgICAgYXJyYXkxLnB1c2goZWxlbWVudCk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcGFyYXRlKGFycmF5LCBhcnJheTEsIGFycmF5MiwgdGVzdCkge1xuICBhcnJheS5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRlc3QoZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgcGFzc2VkID9cbiAgICAgIGFycmF5MS5wdXNoKGVsZW1lbnQpIDpcbiAgICAgICAgYXJyYXkyLnB1c2goZWxlbWVudCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNGaW5lKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYXJyYXlMZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyYXlbaW5kZXhdLFxuICAgICAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKGVsZW1lbnQsIGluZGV4KTtcblxuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIHJldHVybiBlbGVtZW50O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJhY2t3YXJkc0ZpbmUoYXJyYXksIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gIGZvciAobGV0IGluZGV4ID0gYXJyYXlMZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3J3YXJkc1NvbWUoYXJyYXksIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBhcnJheUxlbmd0aDsgaW5kZXgrKykge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgcmVzdWx0ID0gY2FsbGJhY2soZWxlbWVudCwgaW5kZXgpO1xuICAgIFxuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJhY2t3YXJkc1NvbWUoYXJyYXksIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gIGZvciAobGV0IGluZGV4ID0gYXJyYXlMZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3J3YXJkc0V2ZXJ5KGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYXJyYXlMZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyYXlbaW5kZXhdLFxuICAgICAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKGVsZW1lbnQsIGluZGV4KTtcblxuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNFdmVyeShhcnJheSwgY2FsbGJhY2spIHtcbiAgY29uc3QgYXJyYXlMZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaW5kZXggPSBhcnJheUxlbmd0aCAtIDE7IGluZGV4ID49IDA7IGluZGV4LS0pIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyYXlbaW5kZXhdLFxuICAgICAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKGVsZW1lbnQsIGluZGV4KTtcblxuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3J3YXJkc1JlZHVjZShhcnJheSwgY2FsbGJhY2ssIGluaXRpYWxWYWx1ZSkge1xuICBsZXQgdmFsdWUgPSBpbml0aWFsVmFsdWU7IC8vL1xuXG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBhcnJheUxlbmd0aDsgaW5kZXgrKykge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBhcnJheVtpbmRleF07XG5cbiAgICB2YWx1ZSA9IGNhbGxiYWNrKHZhbHVlLCBlbGVtZW50LCBpbmRleCk7XG4gIH1cblxuICByZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNSZWR1Y2UoYXJyYXksIGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHtcbiAgbGV0IHZhbHVlID0gaW5pdGlhbFZhbHVlOyAvLy9cblxuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IGFycmF5TGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBhcnJheVtpbmRleF07XG5cbiAgICB2YWx1ZSA9IGNhbGxiYWNrKHZhbHVlLCBlbGVtZW50LCBpbmRleCk7XG4gIH1cblxuICByZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3J3YXJkc0ZvckVhY2goYXJyYXksIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBhcnJheUxlbmd0aDsgaW5kZXgrKykge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBhcnJheVtpbmRleF07XG5cbiAgICBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJhY2t3YXJkc0ZvckVhY2goYXJyYXksIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gIGZvciAobGV0IGluZGV4ID0gYXJyYXlMZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XTtcblxuICAgIGNhbGxiYWNrKGVsZW1lbnQsIGluZGV4KTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGZpcnN0LFxuICBzZWNvbmQsXG4gIHRoaXJkLFxuICBmb3VydGgsXG4gIGZpZnRoLFxuICBmaWZ0aExhc3QsXG4gIGZvdXJ0aExhc3QsXG4gIHRoaXJkTGFzdCxcbiAgc2Vjb25kTGFzdCxcbiAgZmlyc3RMYXN0LFxuICBsYXN0LFxuICBoZWFkLFxuICB0YWlsLFxuICBiYWNrLFxuICBmcm9udCxcbiAgcHVzaCxcbiAgdW5zaGlmdCxcbiAgY29uY2F0LFxuICBjbGVhcixcbiAgY29weSxcbiAgbWVyZ2UsXG4gIHNwbGljZSxcbiAgcmVwbGFjZSxcbiAgZmlsdGVyLFxuICBmaW5kLFxuICBwcnVuZSxcbiAgcGF0Y2gsXG4gIGF1Z21lbnQsXG4gIHNlcGFyYXRlLFxuICBmb3J3YXJkc0ZpbmQsXG4gIGJhY2t3YXJkc0ZpbmQsXG4gIGZvcndhcmRzU29tZSxcbiAgYmFja3dhcmRzU29tZSxcbiAgZm9yd2FyZHNFdmVyeSxcbiAgYmFja3dhcmRzRXZlcnksXG4gIGZvcndhcmRzUmVkdWNlLFxuICBiYWNrd2FyZHNSZWR1Y2UsXG4gIGZvcndhcmRzRm9yRWFjaCxcbiAgYmFja3dhcmRzRm9yRWFjaFxufTtcbiJdLCJuYW1lcyI6WyJmaXJzdCIsInNlY29uZCIsInRoaXJkIiwiZm91cnRoIiwiZmlmdGgiLCJmaWZ0aExhc3QiLCJmb3VydGhMYXN0IiwidGhpcmRMYXN0Iiwic2Vjb25kTGFzdCIsImZpcnN0TGFzdCIsImxhc3QiLCJoZWFkIiwidGFpbCIsImJhY2siLCJmcm9udCIsInB1c2giLCJ1bnNoaWZ0IiwiY29uY2F0IiwiY2xlYXIiLCJjb3B5IiwibWVyZ2UiLCJzcGxpY2UiLCJyZXBsYWNlIiwiZmlsdGVyIiwiZmluZCIsInBydW5lIiwicGF0Y2giLCJhdWdtZW50Iiwic2VwYXJhdGUiLCJmb3J3YXJkc0ZpbmUiLCJiYWNrd2FyZHNGaW5lIiwiZm9yd2FyZHNTb21lIiwiYmFja3dhcmRzU29tZSIsImZvcndhcmRzRXZlcnkiLCJiYWNrd2FyZHNFdmVyeSIsImZvcndhcmRzUmVkdWNlIiwiYmFja3dhcmRzUmVkdWNlIiwiZm9yd2FyZHNGb3JFYWNoIiwiYmFja3dhcmRzRm9yRWFjaCIsImFycmF5IiwibGVuZ3RoIiwic2xpY2UiLCJhcnJheTEiLCJhcnJheTIiLCJBcnJheSIsInByb3RvdHlwZSIsImFwcGx5IiwiZWxlbWVudE9yQXJyYXkyIiwic3RhcnQiLCJkZWxldGVDb3VudCIsIkluZmluaXR5IiwiYXJncyIsImRlbGV0ZWRJdGVtc0FycmF5IiwiZWxlbWVudCIsInRlc3QiLCJmb3VuZCIsInNvbWUiLCJpbmRleCIsInBhc3NlZCIsImZpbHRlcmVkRWxlbWVudHMiLCJkZWxldGVkRWxlbWVudHMiLCJmaXJzdERlbGV0ZWRFbGVtZW50IiwiZWxlbWVudHMiLCJwcnVuZWRFbGVtZW50IiwidW5kZWZpbmVkIiwiZm9yRWFjaCIsImNhbGxiYWNrIiwiYXJyYXlMZW5ndGgiLCJyZXN1bHQiLCJpbml0aWFsVmFsdWUiLCJ2YWx1ZSIsImZvcndhcmRzRmluZCIsImJhY2t3YXJkc0ZpbmQiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7UUFFSUEsS0FBSyxHQUFMQSxLQUFLO1FBRUxDLE1BQU0sR0FBTkEsTUFBTTtRQUVOQyxLQUFLLEdBQUxBLEtBQUs7UUFFTEMsTUFBTSxHQUFOQSxNQUFNO1FBRU5DLEtBQUssR0FBTEEsS0FBSztRQUVMQyxTQUFTLEdBQVRBLFNBQVM7UUFFVEMsVUFBVSxHQUFWQSxVQUFVO1FBRVZDLFNBQVMsR0FBVEEsU0FBUztRQUVUQyxVQUFVLEdBQVZBLFVBQVU7UUFFVkMsU0FBUyxHQUFUQSxTQUFTO1FBRVRDLElBQUksR0FBSkEsSUFBSTtRQUVKQyxJQUFJLEdBQUpBLElBQUk7UUFFSkMsSUFBSSxHQUFKQSxJQUFJO1FBRUpDLElBQUksR0FBSkEsSUFBSTtRQUVKQyxLQUFLLEdBQUxBLEtBQUs7UUFFTEMsSUFBSSxHQUFKQSxJQUFJO1FBRUpDLE9BQU8sR0FB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
362
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbMF07fVxuXG5leHBvcnQgZnVuY3Rpb24gc2Vjb25kKGFycmF5KSB7IHJldHVybiBhcnJheVsxXTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gdGhpcmQoYXJyYXkpIHsgcmV0dXJuIGFycmF5WzJdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3VydGgoYXJyYXkpIHsgcmV0dXJuIGFycmF5WzNdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWZ0aChhcnJheSkgeyByZXR1cm4gYXJyYXlbNF07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZnRoTGFzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbYXJyYXkubGVuZ3RoIC0gNV07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvdXJ0aExhc3QoYXJyYXkpIHsgcmV0dXJuIGFycmF5W2FycmF5Lmxlbmd0aCAtIDRdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiB0aGlyZExhc3QoYXJyYXkpIHsgcmV0dXJuIGFycmF5W2FycmF5Lmxlbmd0aCAtIDNdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWNvbmRMYXN0KGFycmF5KSB7IHJldHVybiBhcnJheVthcnJheS5sZW5ndGggLSAyXTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gZmlyc3RMYXN0KGFycmF5KSB7IHJldHVybiBhcnJheVthcnJheS5sZW5ndGggLSAxXTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gbGFzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbYXJyYXkubGVuZ3RoIC0gMV07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGhlYWQoYXJyYXkpIHsgcmV0dXJuIGFycmF5LnNsaWNlKDAsIDEpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWlsKGFycmF5KSB7IHJldHVybiBhcnJheS5zbGljZSgxKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gYmFjayhhcnJheSkgeyByZXR1cm4gYXJyYXkuc2xpY2UoYXJyYXkubGVuZ3RoIC0gMSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb250KGFycmF5KSB7IHJldHVybiBhcnJheS5zbGljZSgwLCBNYXRoLm1pbigxLCBhcnJheS5sZW5ndGggLSAxKSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIHB1c2goYXJyYXkxLCBhcnJheTIpIHsgQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoYXJyYXkxLCBhcnJheTIpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiB1bnNoaWZ0KGFycmF5MSwgYXJyYXkyKSB7IEFycmF5LnByb3RvdHlwZS51bnNoaWZ0LmFwcGx5KGFycmF5MSwgYXJyYXkyKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gY29uY2F0KGFycmF5MSwgZWxlbWVudE9yQXJyYXkyKSB7XG4gIGNvbnN0IGFycmF5MiA9IChlbGVtZW50T3JBcnJheTIgaW5zdGFuY2VvZiBBcnJheSkgP1xuICAgICAgICAgICAgICAgICAgICBlbGVtZW50T3JBcnJheTIgOlxuICAgICAgICAgICAgICAgICAgICAgW2VsZW1lbnRPckFycmF5Ml07XG4gIFxuICBwdXNoKGFycmF5MSwgYXJyYXkyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyKGFycmF5KSB7XG4gIGNvbnN0IHN0YXJ0ID0gMDtcbiAgXG4gIHJldHVybiBhcnJheS5zcGxpY2Uoc3RhcnQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29weShhcnJheTEsIGFycmF5Mikge1xuICBjb25zdCBzdGFydCA9IDAsXG4gICAgICAgIGRlbGV0ZUNvdW50ID0gYXJyYXkyLmxlbmd0aDsgIC8vL1xuICBcbiAgc3BsaWNlKGFycmF5MSwgc3RhcnQsIGRlbGV0ZUNvdW50LCBhcnJheTIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2UoYXJyYXkxLCBhcnJheTIpIHsgQXJyYXkucHJvdG90eXBlLnB1c2guYXBwbHkoYXJyYXkxLCBhcnJheTIpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBzcGxpY2UoYXJyYXkxLCBzdGFydCwgZGVsZXRlQ291bnQgPSBJbmZpbml0eSwgYXJyYXkyID0gW10pIHtcbiAgY29uc3QgYXJncyA9IFtzdGFydCwgZGVsZXRlQ291bnQsIC4uLmFycmF5Ml0sXG4gICAgICAgIGRlbGV0ZWRJdGVtc0FycmF5ID0gQXJyYXkucHJvdG90eXBlLnNwbGljZS5hcHBseShhcnJheTEsIGFyZ3MpO1xuXG4gIHJldHVybiBkZWxldGVkSXRlbXNBcnJheTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcGxhY2UoYXJyYXksIGVsZW1lbnQsIHRlc3QpIHtcbiAgbGV0IHN0YXJ0O1xuICBcbiAgY29uc3QgZm91bmQgPSBhcnJheS5zb21lKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRlc3QoZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHBhc3NlZCkge1xuICAgICAgc3RhcnQgPSBpbmRleDsgIC8vL1xuICAgICAgXG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuICBcbiAgaWYgKGZvdW5kKSB7XG4gICAgY29uc3QgZGVsZXRlQ291bnQgPSAxO1xuXG4gICAgYXJyYXkuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCwgZWxlbWVudCk7XG4gIH1cblxuICByZXR1cm4gZm91bmQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXIoYXJyYXksIHRlc3QpIHtcbiAgY29uc3QgZmlsdGVyZWRFbGVtZW50cyA9IFtdO1xuICBcbiAgYmFja3dhcmRzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgcGFzc2VkID0gdGVzdChlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAoIXBhc3NlZCkge1xuICAgICAgY29uc3Qgc3RhcnQgPSBpbmRleCwgIC8vL1xuICAgICAgICAgICAgZGVsZXRlQ291bnQgPSAxLFxuICAgICAgICAgICAgZGVsZXRlZEVsZW1lbnRzID0gYXJyYXkuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCksXG4gICAgICAgICAgICBmaXJzdERlbGV0ZWRFbGVtZW50ID0gZmlyc3QoZGVsZXRlZEVsZW1lbnRzKTtcbiAgICAgIFxuICAgICAgZmlsdGVyZWRFbGVtZW50cy51bnNoaWZ0KGZpcnN0RGVsZXRlZEVsZW1lbnQpOyAgLy8vXG4gICAgfVxuICB9KTtcbiAgXG4gIHJldHVybiBmaWx0ZXJlZEVsZW1lbnRzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZChhcnJheSwgdGVzdCkge1xuICBjb25zdCBlbGVtZW50cyA9IFtdO1xuXG4gIGZvcndhcmRzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgcGFzc2VkID0gdGVzdChlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAocGFzc2VkKSB7XG4gICAgICBlbGVtZW50cy5wdXNoKGVsZW1lbnQpO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGVsZW1lbnRzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJ1bmUoYXJyYXksIHRlc3QpIHtcbiAgbGV0IHBydW5lZEVsZW1lbnQgPSB1bmRlZmluZWQ7XG4gIFxuICBhcnJheS5zb21lKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRlc3QoZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKCFwYXNzZWQpIHtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gaW5kZXgsICAvLy9cbiAgICAgICAgICAgIGRlbGV0ZUNvdW50ID0gMSxcbiAgICAgICAgICAgIGRlbGV0ZWRFbGVtZW50cyA9IGFycmF5LnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQpLFxuICAgICAgICAgICAgZmlyc3REZWxldGVkRWxlbWVudCA9IGZpcnN0KGRlbGV0ZWRFbGVtZW50cyk7XG4gICAgICBcbiAgICAgIHBydW5lZEVsZW1lbnQgPSBmaXJzdERlbGV0ZWRFbGVtZW50OyAgLy8vXG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG4gIFxuICByZXR1cm4gcHJ1bmVkRWxlbWVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhdGNoKGFycmF5LCBlbGVtZW50LCB0ZXN0KSB7XG4gIGNvbnN0IGZvdW5kID0gYXJyYXkuc29tZSgoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBwYXNzZWQgPSB0ZXN0KGVsZW1lbnQsIGluZGV4KTtcblxuICAgIGlmIChwYXNzZWQpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cblxuICBpZiAoZm91bmQpIHtcbiAgICBhcnJheS5wdXNoKGVsZW1lbnQpO1xuICB9XG5cbiAgcmV0dXJuIGZvdW5kO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXVnbWVudChhcnJheTEsIGFycmF5MiwgdGVzdCkge1xuICBhcnJheTIuZm9yRWFjaCgoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBwYXNzZWQgPSB0ZXN0KGVsZW1lbnQsIGluZGV4KTtcblxuICAgIGlmIChwYXNzZWQpIHtcbiAgICAgIGFycmF5MS5wdXNoKGVsZW1lbnQpO1xuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXBhcmF0ZShhcnJheSwgYXJyYXkxLCBhcnJheTIsIHRlc3QpIHtcbiAgYXJyYXkuZm9yRWFjaCgoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBwYXNzZWQgPSB0ZXN0KGVsZW1lbnQsIGluZGV4KTtcblxuICAgIHBhc3NlZCA/XG4gICAgICBhcnJheTEucHVzaChlbGVtZW50KSA6XG4gICAgICAgIGFycmF5Mi5wdXNoKGVsZW1lbnQpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcndhcmRzRmluZChhcnJheSwgY2FsbGJhY2spIHtcbiAgY29uc3QgYXJyYXlMZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFycmF5TGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICByZXR1cm4gZWxlbWVudDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNGaW5kKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IGFycmF5TGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgcmVzdWx0ID0gY2FsbGJhY2soZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgcmV0dXJuIGVsZW1lbnQ7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNTb21lKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYXJyYXlMZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyYXlbaW5kZXhdLFxuICAgICAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKGVsZW1lbnQsIGluZGV4KTtcbiAgICBcbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNTb21lKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IGFycmF5TGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgcmVzdWx0ID0gY2FsbGJhY2soZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNFdmVyeShhcnJheSwgY2FsbGJhY2spIHtcbiAgY29uc3QgYXJyYXlMZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFycmF5TGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFja3dhcmRzRXZlcnkoYXJyYXksIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gIGZvciAobGV0IGluZGV4ID0gYXJyYXlMZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNSZWR1Y2UoYXJyYXksIGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHtcbiAgbGV0IHZhbHVlID0gaW5pdGlhbFZhbHVlOyAvLy9cblxuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYXJyYXlMZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyYXlbaW5kZXhdO1xuXG4gICAgdmFsdWUgPSBjYWxsYmFjayh2YWx1ZSwgZWxlbWVudCwgaW5kZXgpO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFja3dhcmRzUmVkdWNlKGFycmF5LCBjYWxsYmFjaywgaW5pdGlhbFZhbHVlKSB7XG4gIGxldCB2YWx1ZSA9IGluaXRpYWxWYWx1ZTsgLy8vXG5cbiAgY29uc3QgYXJyYXlMZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaW5kZXggPSBhcnJheUxlbmd0aCAtIDE7IGluZGV4ID49IDA7IGluZGV4LS0pIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyYXlbaW5kZXhdO1xuXG4gICAgdmFsdWUgPSBjYWxsYmFjayh2YWx1ZSwgZWxlbWVudCwgaW5kZXgpO1xuICB9XG5cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNGb3JFYWNoKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYXJyYXlMZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyYXlbaW5kZXhdO1xuXG4gICAgY2FsbGJhY2soZWxlbWVudCwgaW5kZXgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNGb3JFYWNoKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IGFycmF5TGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBhcnJheVtpbmRleF07XG5cbiAgICBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBmaXJzdCxcbiAgc2Vjb25kLFxuICB0aGlyZCxcbiAgZm91cnRoLFxuICBmaWZ0aCxcbiAgZmlmdGhMYXN0LFxuICBmb3VydGhMYXN0LFxuICB0aGlyZExhc3QsXG4gIHNlY29uZExhc3QsXG4gIGZpcnN0TGFzdCxcbiAgbGFzdCxcbiAgaGVhZCxcbiAgdGFpbCxcbiAgYmFjayxcbiAgZnJvbnQsXG4gIHB1c2gsXG4gIHVuc2hpZnQsXG4gIGNvbmNhdCxcbiAgY2xlYXIsXG4gIGNvcHksXG4gIG1lcmdlLFxuICBzcGxpY2UsXG4gIHJlcGxhY2UsXG4gIGZpbHRlcixcbiAgZmluZCxcbiAgcHJ1bmUsXG4gIHBhdGNoLFxuICBhdWdtZW50LFxuICBzZXBhcmF0ZSxcbiAgZm9yd2FyZHNGaW5kLFxuICBiYWNrd2FyZHNGaW5kLFxuICBmb3J3YXJkc1NvbWUsXG4gIGJhY2t3YXJkc1NvbWUsXG4gIGZvcndhcmRzRXZlcnksXG4gIGJhY2t3YXJkc0V2ZXJ5LFxuICBmb3J3YXJkc1JlZHVjZSxcbiAgYmFja3dhcmRzUmVkdWNlLFxuICBmb3J3YXJkc0ZvckVhY2gsXG4gIGJhY2t3YXJkc0ZvckVhY2hcbn07XG4iXSwibmFtZXMiOlsiZmlyc3QiLCJzZWNvbmQiLCJ0aGlyZCIsImZvdXJ0aCIsImZpZnRoIiwiZmlmdGhMYXN0IiwiZm91cnRoTGFzdCIsInRoaXJkTGFzdCIsInNlY29uZExhc3QiLCJmaXJzdExhc3QiLCJsYXN0IiwiaGVhZCIsInRhaWwiLCJiYWNrIiwiZnJvbnQiLCJwdXNoIiwidW5zaGlmdCIsImNvbmNhdCIsImNsZWFyIiwiY29weSIsIm1lcmdlIiwic3BsaWNlIiwicmVwbGFjZSIsImZpbHRlciIsImZpbmQiLCJwcnVuZSIsInBhdGNoIiwiYXVnbWVudCIsInNlcGFyYXRlIiwiZm9yd2FyZHNGaW5kIiwiYmFja3dhcmRzRmluZCIsImZvcndhcmRzU29tZSIsImJhY2t3YXJkc1NvbWUiLCJmb3J3YXJkc0V2ZXJ5IiwiYmFja3dhcmRzRXZlcnkiLCJmb3J3YXJkc1JlZHVjZSIsImJhY2t3YXJkc1JlZHVjZSIsImZvcndhcmRzRm9yRWFjaCIsImJhY2t3YXJkc0ZvckVhY2giLCJhcnJheSIsImxlbmd0aCIsInNsaWNlIiwiTWF0aCIsIm1pbiIsImFycmF5MSIsImFycmF5MiIsIkFycmF5IiwicHJvdG90eXBlIiwiYXBwbHkiLCJlbGVtZW50T3JBcnJheTIiLCJzdGFydCIsImRlbGV0ZUNvdW50IiwiSW5maW5pdHkiLCJhcmdzIiwiZGVsZXRlZEl0ZW1zQXJyYXkiLCJlbGVtZW50IiwidGVzdCIsImZvdW5kIiwic29tZSIsImluZGV4IiwicGFzc2VkIiwiZmlsdGVyZWRFbGVtZW50cyIsImRlbGV0ZWRFbGVtZW50cyIsImZpcnN0RGVsZXRlZEVsZW1lbnQiLCJlbGVtZW50cyIsInBydW5lZEVsZW1lbnQiLCJ1bmRlZmluZWQiLCJmb3JFYWNoIiwiY2FsbGJhY2siLCJhcnJheUxlbmd0aCIsInJlc3VsdCIsImluaXRpYWxWYWx1ZSIsInZhbHVlIl0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7O1FBRUlBLEtBQUssR0FBTEEsS0FBSztRQUVMQyxNQUFNLEdBQU5BLE1BQU07UUFFTkMsS0FBSyxHQUFMQSxLQUFLO1FBRUxDLE1BQU0sR0FBTkEsTUFBTTtRQUVOQyxLQUFLLEdBQUxBLEtBQUs7UUFFTEMsU0FBUyxHQUFUQSxTQUFTO1FBRVRDLFVBQVUsR0FBVkEsVUFBVTtRQUVWQyxTQUFTLEdBQVRBLFNBQVM7UUFFVEMsVUFBVSxHQUFWQSxVQUFVO1FBRVZDLFNBQVMsR0FBVEEsU0FBUztRQUVUQyxJQUFJLEdBQUpBLElBQUk7UUFFSkMsSUFBSSxHQUFKQSxJQUFJO1FBRUpDLElBQUksR0FBSkEsSUFBSTtRQUVKQyxJQUFJLEdBQUpBLElBQUk7UUFFSkMsS0FBSyxHQUFMQSxLQUFLO1FBRUxDLElBQUksR0FBSkEsSUFBSTtRQUVKQyxPQUFPLEdBQVBBLE9B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
@@ -113,11 +113,13 @@ function visibleInput(answer2, description, encoding, callback) {
113
113
  process.stdin.pause();
114
114
  callback(answer);
115
115
  };
116
+ var rawMode = false;
116
117
  process.stdout.write(description);
117
118
  process.stdout.write(answer2);
118
119
  process.stdin.setEncoding(encoding);
120
+ process.stdin.setRawMode(rawMode);
119
121
  process.stdin.once(_constants.DATA, listener);
120
122
  process.stdin.resume();
121
123
  }
122
124
 
123
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc2hlbGwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHdoaWxzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXN5bmNocm9ub3VzXCI7XG5cbmltcG9ydCB7IFVURjhfRU5DT0RJTkcgfSBmcm9tIFwiLi4vZW5jb2RpbmdzXCI7XG5pbXBvcnQgeyBEQVRBLCBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VOQ09ESU5HLCBERUZBVUxUX0FUVEVNUFRTLCBERUZBVUxUX0lOSVRJQUxfQU5TV0VSIH0gZnJvbSBcIi4uL2RlZmF1bHRzXCI7XG5pbXBvcnQgeyBFVFhfQ0hBUkFDVEVSLCBDVFJMX0NfQ0hBUkFDVEVSLCBCQUNLU1BBQ0VfQ0hBUkFDVEVSLCBORVdfTElORV9DSEFSQUNURVIsIENBUlJJQUdFX1JFVFVSTl9DSEFSQUNURVIgfSBmcm9tIFwiLi4vY2hhcmFjdGVyc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gb25FVFgoaGFuZGxlcikge1xuICBpZiAocHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKSB7XG4gICAgY29uc3QgcmF3TW9kZSA9IHRydWUsXG4gICAgICAgICAgZW5jb2RpbmcgPSBVVEY4X0VOQ09ESU5HO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKHJhd01vZGUpO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZyhlbmNvZGluZyk7XG5cbiAgICBwcm9jZXNzLnN0ZGluLmFkZExpc3RlbmVyKERBVEEsIGxpc3RlbmVyKTtcblxuICAgIHByb2Nlc3Muc3RkaW4ucmVzdW1lKCk7XG5cbiAgICByZXR1cm4gb2ZmRXh0O1xuICB9XG5cbiAgZnVuY3Rpb24gb2ZmRXh0KCkge1xuICAgIHByb2Nlc3Muc3RkaW4ucmVtb3ZlTGlzdGVuZXIoREFUQSwgbGlzdGVuZXIpO1xuICB9XG5cbiAgZnVuY3Rpb24gbGlzdGVuZXIoY2hhcmFjdGVyKSB7XG4gICAgaWYgKGNoYXJhY3RlciA9PT0gRVRYX0NIQVJBQ1RFUikge1xuICAgICAgaGFuZGxlcigpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvbXB0KG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gIGxldCB7IGFuc3dlciA9IG51bGwgfSA9IG9wdGlvbnM7XG5cbiAgaWYgKGFuc3dlciAhPT0gbnVsbCkge1xuICAgIGNhbGxiYWNrKGFuc3dlcik7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB7IGF0dGVtcHRzID0gREVGQVVMVF9BVFRFTVBUUyB9ID0gb3B0aW9ucyxcbiAgICAgICAgY29udGV4dCA9IHtcbiAgICAgICAgICBhbnN3ZXIsXG4gICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICBhdHRlbXB0c1xuICAgICAgICB9O1xuXG4gIHdoaWxzdChhdHRlbXB0LCAoKSA9PiB7XG4gICAgY29uc3QgeyBhbnN3ZXIgfSA9IGNvbnRleHQ7XG4gICAgXG4gICAgY2FsbGJhY2soYW5zd2VyKTtcbiAgfSwgY29udGV4dCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgb25FVFgsXG4gIHByb21wdFxufVxuXG5mdW5jdGlvbiBhdHRlbXB0KG5leHQsIGRvbmUsIGNvbnRleHQpIHtcbiAgbGV0IHsgYXR0ZW1wdHMgfSA9IGNvbnRleHQ7XG5cbiAgY29uc3QgdGVybWluYXRlID0gKGF0dGVtcHRzLS0gPT09IDApO1xuICBcbiAgaWYgKHRlcm1pbmF0ZSkge1xuICAgIGRvbmUoKTtcbiAgICBcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB7IG9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgaGlkZGVuID0gZmFsc2UsXG4gICAgICAgICAgZW5jb2RpbmcgPSBERUZBVUxUX0VOQ09ESU5HLFxuICAgICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICAgIGVycm9yTWVzc2FnZSxcbiAgICAgICAgICBpbml0aWFsQW5zd2VyID0gREVGQVVMVF9JTklUSUFMX0FOU1dFUixcbiAgICAgICAgICB2YWxpZGF0aW9uUGF0dGVybiA9IG51bGwsXG4gICAgICAgICAgdmFsaWRhdGlvbkZ1bmN0aW9uID0gbnVsbCB9ID0gb3B0aW9ucztcblxuICBpbnB1dChpbml0aWFsQW5zd2VyLCBoaWRkZW4sIGRlc2NyaXB0aW9uLCBlbmNvZGluZywgY2FsbGJhY2spO1xuXG4gIGZ1bmN0aW9uIGNhbGxiYWNrKGFuc3dlcikge1xuICAgIGNvbnN0IHZhbGlkID0gdmFsaWRhdGlvbkZ1bmN0aW9uID8gIC8vL1xuICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uRnVuY3Rpb24oYW5zd2VyKSA6XG4gICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvblBhdHRlcm4udGVzdChhbnN3ZXIpO1xuXG4gICAgaWYgKHZhbGlkKSB7XG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgYW5zd2VyXG4gICAgICB9KTtcblxuICAgICAgZG9uZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZyhlcnJvck1lc3NhZ2UpO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgYXR0ZW1wdHNcbiAgICAgIH0pO1xuXG4gICAgICBuZXh0KCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlucHV0KGluaXRpYWxBbnN3ZXIsIGhpZGRlbiwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjaykge1xuICBjb25zdCBhbnN3ZXIgPSBpbml0aWFsQW5zd2VyOyAvLy9cblxuICBoaWRkZW4gP1xuICAgIGhpZGRlbklucHV0KGFuc3dlciwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjaykgOlxuICAgICAgdmlzaWJsZUlucHV0KGFuc3dlciwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjayk7XG59XG5cbmZ1bmN0aW9uIGhpZGRlbklucHV0KGFuc3dlciwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjaykge1xuICBjb25zdCByYXdNb2RlID0gdHJ1ZTtcblxuICBwcm9jZXNzLnN0ZG91dC53cml0ZShkZXNjcmlwdGlvbik7XG5cbiAgcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZyhlbmNvZGluZyk7XG5cbiAgcHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKHJhd01vZGUpO1xuXG4gIHByb2Nlc3Muc3RkaW4ub24oREFUQSwgbGlzdGVuZXIpO1xuXG4gIHByb2Nlc3Muc3RkaW4ucmVzdW1lKCk7XG5cbiAgZnVuY3Rpb24gbGlzdGVuZXIoZGF0YSkge1xuICAgIGNvbnN0IGNoYXJhY3RlciA9IGRhdGEudG9TdHJpbmcoZW5jb2RpbmcpO1xuXG4gICAgc3dpdGNoIChjaGFyYWN0ZXIpIHtcbiAgICAgIGNhc2UgTkVXX0xJTkVfQ0hBUkFDVEVSIDpcbiAgICAgIGNhc2UgQ0FSUklBR0VfUkVUVVJOX0NIQVJBQ1RFUiA6XG4gICAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKE5FV19MSU5FX0NIQVJBQ1RFUik7XG5cbiAgICAgICAgcHJvY2Vzcy5zdGRpbi5yZW1vdmVMaXN0ZW5lcihEQVRBLCBsaXN0ZW5lcik7XG5cbiAgICAgICAgcHJvY2Vzcy5zdGRpbi5wYXVzZSgpO1xuXG4gICAgICAgIGNhbGxiYWNrKGFuc3dlcik7XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgQkFDS1NQQUNFX0NIQVJBQ1RFUiA6XG4gICAgICAgIGFuc3dlciA9IGFuc3dlci5zbGljZSgwLCBhbnN3ZXIubGVuZ3RoIC0gMSk7XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGFuc3dlciArPSBjaGFyYWN0ZXI7XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgRVRYX0NIQVJBQ1RFUiA6XG4gICAgICAgIGNvbnNvbGUubG9nKENUUkxfQ19DSEFSQUNURVIpO1xuXG4gICAgICAgIHByb2Nlc3MuZXhpdCgpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2aXNpYmxlSW5wdXQoYW5zd2VyLCBkZXNjcmlwdGlvbiwgZW5jb2RpbmcsIGNhbGxiYWNrKSB7XG4gIHByb2Nlc3Muc3Rkb3V0LndyaXRlKGRlc2NyaXB0aW9uKTtcblxuICBwcm9jZXNzLnN0ZG91dC53cml0ZShhbnN3ZXIpO1xuXG4gIHByb2Nlc3Muc3RkaW4uc2V0RW5jb2RpbmcoZW5jb2RpbmcpO1xuXG4gIHByb2Nlc3Muc3RkaW4ub25jZShEQVRBLCBsaXN0ZW5lcik7XG5cbiAgcHJvY2Vzcy5zdGRpbi5yZXN1bWUoKTtcblxuICBmdW5jdGlvbiBsaXN0ZW5lcihkYXRhKSB7XG4gICAgY29uc3QgYW5zd2VyID0gZGF0YS5yZXBsYWNlKC9cXG4kLywgRU1QVFlfU1RSSU5HKTtcblxuICAgIHByb2Nlc3Muc3RkaW4ucGF1c2UoKTtcblxuICAgIGNhbGxiYWNrKGFuc3dlcik7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJvbkVUWCIsInByb21wdCIsImhhbmRsZXIiLCJvZmZFeHQiLCJwcm9jZXNzIiwic3RkaW4iLCJyZW1vdmVMaXN0ZW5lciIsImxpc3RlbmVyIiwiY2hhcmFjdGVyIiwic2V0UmF3TW9kZSIsInJhd01vZGUiLCJlbmNvZGluZyIsInNldEVuY29kaW5nIiwiYWRkTGlzdGVuZXIiLCJyZXN1bWUiLCJvcHRpb25zIiwiY2FsbGJhY2siLCJhbnN3ZXIiLCJhdHRlbXB0cyIsImNvbnRleHQiLCJhdHRlbXB0IiwibmV4dCIsImRvbmUiLCJ2YWxpZCIsInZhbGlkYXRpb25GdW5jdGlvbiIsInZhbGlkYXRpb25QYXR0ZXJuIiwidGVzdCIsIk9iamVjdCIsImFzc2lnbiIsImNvbnNvbGUiLCJsb2ciLCJlcnJvck1lc3NhZ2UiLCJ0ZXJtaW5hdGUiLCJoaWRkZW4iLCJkZXNjcmlwdGlvbiIsImluaXRpYWxBbnN3ZXIiLCJpbnB1dCIsImhpZGRlbklucHV0IiwidmlzaWJsZUlucHV0Iiwic3Rkb3V0Iiwid3JpdGUiLCJvbiIsImRhdGEiLCJ0b1N0cmluZyIsInBhdXNlIiwic2xp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
125
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc2hlbGwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHdoaWxzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXN5bmNocm9ub3VzXCI7XG5cbmltcG9ydCB7IFVURjhfRU5DT0RJTkcgfSBmcm9tIFwiLi4vZW5jb2RpbmdzXCI7XG5pbXBvcnQgeyBEQVRBLCBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VOQ09ESU5HLCBERUZBVUxUX0FUVEVNUFRTLCBERUZBVUxUX0lOSVRJQUxfQU5TV0VSIH0gZnJvbSBcIi4uL2RlZmF1bHRzXCI7XG5pbXBvcnQgeyBFVFhfQ0hBUkFDVEVSLCBDVFJMX0NfQ0hBUkFDVEVSLCBCQUNLU1BBQ0VfQ0hBUkFDVEVSLCBORVdfTElORV9DSEFSQUNURVIsIENBUlJJQUdFX1JFVFVSTl9DSEFSQUNURVIgfSBmcm9tIFwiLi4vY2hhcmFjdGVyc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gb25FVFgoaGFuZGxlcikge1xuICBpZiAocHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKSB7XG4gICAgY29uc3QgcmF3TW9kZSA9IHRydWUsXG4gICAgICAgICAgZW5jb2RpbmcgPSBVVEY4X0VOQ09ESU5HO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKHJhd01vZGUpO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZyhlbmNvZGluZyk7XG5cbiAgICBwcm9jZXNzLnN0ZGluLmFkZExpc3RlbmVyKERBVEEsIGxpc3RlbmVyKTtcblxuICAgIHByb2Nlc3Muc3RkaW4ucmVzdW1lKCk7XG5cbiAgICByZXR1cm4gb2ZmRXh0O1xuICB9XG5cbiAgZnVuY3Rpb24gb2ZmRXh0KCkge1xuICAgIHByb2Nlc3Muc3RkaW4ucmVtb3ZlTGlzdGVuZXIoREFUQSwgbGlzdGVuZXIpO1xuICB9XG5cbiAgZnVuY3Rpb24gbGlzdGVuZXIoY2hhcmFjdGVyKSB7XG4gICAgaWYgKGNoYXJhY3RlciA9PT0gRVRYX0NIQVJBQ1RFUikge1xuICAgICAgaGFuZGxlcigpO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvbXB0KG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gIGxldCB7IGFuc3dlciA9IG51bGwgfSA9IG9wdGlvbnM7XG5cbiAgaWYgKGFuc3dlciAhPT0gbnVsbCkge1xuICAgIGNhbGxiYWNrKGFuc3dlcik7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB7IGF0dGVtcHRzID0gREVGQVVMVF9BVFRFTVBUUyB9ID0gb3B0aW9ucyxcbiAgICAgICAgY29udGV4dCA9IHtcbiAgICAgICAgICBhbnN3ZXIsXG4gICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICBhdHRlbXB0c1xuICAgICAgICB9O1xuXG4gIHdoaWxzdChhdHRlbXB0LCAoKSA9PiB7XG4gICAgY29uc3QgeyBhbnN3ZXIgfSA9IGNvbnRleHQ7XG4gICAgXG4gICAgY2FsbGJhY2soYW5zd2VyKTtcbiAgfSwgY29udGV4dCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgb25FVFgsXG4gIHByb21wdFxufVxuXG5mdW5jdGlvbiBhdHRlbXB0KG5leHQsIGRvbmUsIGNvbnRleHQpIHtcbiAgbGV0IHsgYXR0ZW1wdHMgfSA9IGNvbnRleHQ7XG5cbiAgY29uc3QgdGVybWluYXRlID0gKGF0dGVtcHRzLS0gPT09IDApO1xuICBcbiAgaWYgKHRlcm1pbmF0ZSkge1xuICAgIGRvbmUoKTtcbiAgICBcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB7IG9wdGlvbnMgfSA9IGNvbnRleHQsXG4gICAgICAgIHsgaGlkZGVuID0gZmFsc2UsXG4gICAgICAgICAgZW5jb2RpbmcgPSBERUZBVUxUX0VOQ09ESU5HLFxuICAgICAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgICAgIGVycm9yTWVzc2FnZSxcbiAgICAgICAgICBpbml0aWFsQW5zd2VyID0gREVGQVVMVF9JTklUSUFMX0FOU1dFUixcbiAgICAgICAgICB2YWxpZGF0aW9uUGF0dGVybiA9IG51bGwsXG4gICAgICAgICAgdmFsaWRhdGlvbkZ1bmN0aW9uID0gbnVsbCB9ID0gb3B0aW9ucztcblxuICBpbnB1dChpbml0aWFsQW5zd2VyLCBoaWRkZW4sIGRlc2NyaXB0aW9uLCBlbmNvZGluZywgY2FsbGJhY2spO1xuXG4gIGZ1bmN0aW9uIGNhbGxiYWNrKGFuc3dlcikge1xuICAgIGNvbnN0IHZhbGlkID0gdmFsaWRhdGlvbkZ1bmN0aW9uID8gIC8vL1xuICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uRnVuY3Rpb24oYW5zd2VyKSA6XG4gICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvblBhdHRlcm4udGVzdChhbnN3ZXIpO1xuXG4gICAgaWYgKHZhbGlkKSB7XG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgYW5zd2VyXG4gICAgICB9KTtcblxuICAgICAgZG9uZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZyhlcnJvck1lc3NhZ2UpO1xuXG4gICAgICBPYmplY3QuYXNzaWduKGNvbnRleHQsIHtcbiAgICAgICAgYXR0ZW1wdHNcbiAgICAgIH0pO1xuXG4gICAgICBuZXh0KCk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGlucHV0KGluaXRpYWxBbnN3ZXIsIGhpZGRlbiwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjaykge1xuICBjb25zdCBhbnN3ZXIgPSBpbml0aWFsQW5zd2VyOyAvLy9cblxuICBoaWRkZW4gP1xuICAgIGhpZGRlbklucHV0KGFuc3dlciwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjaykgOlxuICAgICAgdmlzaWJsZUlucHV0KGFuc3dlciwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjayk7XG59XG5cbmZ1bmN0aW9uIGhpZGRlbklucHV0KGFuc3dlciwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjaykge1xuICBjb25zdCByYXdNb2RlID0gdHJ1ZTtcblxuICBwcm9jZXNzLnN0ZG91dC53cml0ZShkZXNjcmlwdGlvbik7XG5cbiAgcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZyhlbmNvZGluZyk7XG5cbiAgcHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKHJhd01vZGUpO1xuXG4gIHByb2Nlc3Muc3RkaW4ub24oREFUQSwgbGlzdGVuZXIpO1xuXG4gIHByb2Nlc3Muc3RkaW4ucmVzdW1lKCk7XG5cbiAgZnVuY3Rpb24gbGlzdGVuZXIoZGF0YSkge1xuICAgIGNvbnN0IGNoYXJhY3RlciA9IGRhdGEudG9TdHJpbmcoZW5jb2RpbmcpO1xuXG4gICAgc3dpdGNoIChjaGFyYWN0ZXIpIHtcbiAgICAgIGNhc2UgTkVXX0xJTkVfQ0hBUkFDVEVSIDpcbiAgICAgIGNhc2UgQ0FSUklBR0VfUkVUVVJOX0NIQVJBQ1RFUiA6XG4gICAgICAgIHByb2Nlc3Muc3Rkb3V0LndyaXRlKE5FV19MSU5FX0NIQVJBQ1RFUik7XG5cbiAgICAgICAgcHJvY2Vzcy5zdGRpbi5yZW1vdmVMaXN0ZW5lcihEQVRBLCBsaXN0ZW5lcik7XG5cbiAgICAgICAgcHJvY2Vzcy5zdGRpbi5wYXVzZSgpO1xuXG4gICAgICAgIGNhbGxiYWNrKGFuc3dlcik7XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgQkFDS1NQQUNFX0NIQVJBQ1RFUiA6XG4gICAgICAgIGFuc3dlciA9IGFuc3dlci5zbGljZSgwLCBhbnN3ZXIubGVuZ3RoIC0gMSk7XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGFuc3dlciArPSBjaGFyYWN0ZXI7XG5cbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgRVRYX0NIQVJBQ1RFUiA6XG4gICAgICAgIGNvbnNvbGUubG9nKENUUkxfQ19DSEFSQUNURVIpO1xuXG4gICAgICAgIHByb2Nlc3MuZXhpdCgpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2aXNpYmxlSW5wdXQoYW5zd2VyLCBkZXNjcmlwdGlvbiwgZW5jb2RpbmcsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHJhd01vZGUgPSBmYWxzZTtcblxuICBwcm9jZXNzLnN0ZG91dC53cml0ZShkZXNjcmlwdGlvbik7XG5cbiAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoYW5zd2VyKTtcblxuICBwcm9jZXNzLnN0ZGluLnNldEVuY29kaW5nKGVuY29kaW5nKTtcblxuICBwcm9jZXNzLnN0ZGluLnNldFJhd01vZGUocmF3TW9kZSk7XG5cbiAgcHJvY2Vzcy5zdGRpbi5vbmNlKERBVEEsIGxpc3RlbmVyKTtcblxuICBwcm9jZXNzLnN0ZGluLnJlc3VtZSgpO1xuXG4gIGZ1bmN0aW9uIGxpc3RlbmVyKGRhdGEpIHtcbiAgICBjb25zdCBhbnN3ZXIgPSBkYXRhLnJlcGxhY2UoL1xcbiQvLCBFTVBUWV9TVFJJTkcpO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5wYXVzZSgpO1xuXG4gICAgY2FsbGJhY2soYW5zd2VyKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIm9uRVRYIiwicHJvbXB0IiwiaGFuZGxlciIsIm9mZkV4dCIsInByb2Nlc3MiLCJzdGRpbiIsInJlbW92ZUxpc3RlbmVyIiwibGlzdGVuZXIiLCJjaGFyYWN0ZXIiLCJzZXRSYXdNb2RlIiwicmF3TW9kZSIsImVuY29kaW5nIiwic2V0RW5jb2RpbmciLCJhZGRMaXN0ZW5lciIsInJlc3VtZSIsIm9wdGlvbnMiLCJjYWxsYmFjayIsImFuc3dlciIsImF0dGVtcHRzIiwiY29udGV4dCIsImF0dGVtcHQiLCJuZXh0IiwiZG9uZSIsInZhbGlkIiwidmFsaWRhdGlvbkZ1bmN0aW9uIiwidmFsaWRhdGlvblBhdHRlcm4iLCJ0ZXN0IiwiT2JqZWN0IiwiYXNzaWduIiwiY29uc29sZSIsImxvZyIsImVycm9yTWVzc2FnZSIsInRlcm1pbmF0ZSIsImhpZGRlbiIsImRlc2NyaXB0aW9uIiwiaW5pdGlhbEFuc3dlciIsImlucHV0IiwiaGlkZGVuSW5wdXQiLCJ2aXNpYmxlSW5wdXQiLCJzdGRvdXQiLCJ3cml0ZSIsIm9uIiwiZGF0YSIsInRvU3RyaW5nIiwicGF1c2UiLCJzbGljZSIsImxlbmd0aCIsImV4aXQiLCJyZXBsYWNlIiwib25jZSJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7OztRQVNJQSxLQUFLLEdBQUxBLEtBQUs7UUEyQkxDLE1BQU0sR0FBTkEsTUFBTTs7QUFsQ0MsR0FBMkIsQ0FBM0IsYUFBMkI7QUFFcEIsR0FBYyxDQUFkLFVBQWM7QUFDVCxHQUFjLENBQWQsVUFBYztBQUMwQixHQUFhLENBQWIsU0FBYTtBQUM0QixHQUFlLENBQWYsV0FBZTtTQUVuSEQsS0FBSyxDQUFDRSxPQUFPLEVBQUUsQ0FBQztRQWdCckJDLE1BQU0sR0FBZixRQUFRLENBQUNBLE1BQU0sR0FBRyxDQUFDO1FBQ2pCQyxPQUFPLENBQUNDLEtBQUssQ0FBQ0MsY0FBYyxDQXJCRyxVQUFjLE9BcUJWQyxRQUFRO0lBQzdDLENBQUM7UUFFUUEsUUFBUSxHQUFqQixRQUFRLENBQUNBLFFBQVEsQ0FBQ0MsU0FBUyxFQUFFLENBQUM7UUFDNUIsRUFBRSxFQUFFQSxTQUFTLEtBdkJtRyxXQUFlLGdCQXVCOUYsQ0FBQztZQUNoQ04sT0FBTztRQUNULENBQUM7SUFDSCxDQUFDO0lBdkJELEVBQUUsRUFBRUUsT0FBTyxDQUFDQyxLQUFLLENBQUNJLFVBQVUsRUFBRSxDQUFDO1FBQzdCLEdBQUssQ0FBQ0MsT0FBTyxHQUFHLElBQUksRUFDZEMsUUFBUSxHQVJZLFVBQWM7UUFVeENQLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDSSxVQUFVLENBQUNDLE9BQU87UUFFaENOLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDTyxXQUFXLENBQUNELFFBQVE7UUFFbENQLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDUSxXQUFXLENBYk0sVUFBYyxPQWFiTixRQUFRO1FBRXhDSCxPQUFPLENBQUNDLEtBQUssQ0FBQ1MsTUFBTTtRQUVwQixNQUFNLENBQUNYLE1BQU07SUFDZixDQUFDO0FBV0gsQ0FBQztTQUVlRixNQUFN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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "necessary",
3
3
  "author": "James Smith",
4
- "version": "11.1.2",
4
+ "version": "11.1.5",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/necessary",
7
7
  "description": "A collection of utility functions.",
@@ -28,7 +28,7 @@ export function tail(array) { return array.slice(1); }
28
28
 
29
29
  export function back(array) { return array.slice(array.length - 1); }
30
30
 
31
- export function front(array) { return array.slice(0, array.length - 1); }
31
+ export function front(array) { return array.slice(0, Math.min(1, array.length - 1)); }
32
32
 
33
33
  export function push(array1, array2) { Array.prototype.push.apply(array1, array2); }
34
34
 
@@ -177,7 +177,7 @@ export function separate(array, array1, array2, test) {
177
177
  });
178
178
  }
179
179
 
180
- export function forwardsFine(array, callback) {
180
+ export function forwardsFind(array, callback) {
181
181
  const arrayLength = array.length;
182
182
 
183
183
  for (let index = 0; index < arrayLength; index++) {
@@ -192,7 +192,7 @@ export function forwardsFine(array, callback) {
192
192
  return false;
193
193
  }
194
194
 
195
- export function backwardsFine(array, callback) {
195
+ export function backwardsFind(array, callback) {
196
196
  const arrayLength = array.length;
197
197
 
198
198
  for (let index = arrayLength - 1; index >= 0; index--) {
@@ -163,12 +163,16 @@ function hiddenInput(answer, description, encoding, callback) {
163
163
  }
164
164
 
165
165
  function visibleInput(answer, description, encoding, callback) {
166
+ const rawMode = false;
167
+
166
168
  process.stdout.write(description);
167
169
 
168
170
  process.stdout.write(answer);
169
171
 
170
172
  process.stdin.setEncoding(encoding);
171
173
 
174
+ process.stdin.setRawMode(rawMode);
175
+
172
176
  process.stdin.once(DATA, listener);
173
177
 
174
178
  process.stdin.resume();