verdaccio 5.4.0 → 5.6.0

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.
Files changed (67) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/CODE_OF_CONDUCT.md +10 -10
  3. package/CONTRIBUTING.md +28 -27
  4. package/SECURITY.md +8 -9
  5. package/build/api/debug/index.js +1 -1
  6. package/build/api/endpoint/api/dist-tags.js +4 -4
  7. package/build/api/endpoint/api/package.js +3 -3
  8. package/build/api/endpoint/api/ping.js +1 -1
  9. package/build/api/endpoint/api/publish.js +11 -11
  10. package/build/api/endpoint/api/star.js +5 -5
  11. package/build/api/endpoint/api/stars.js +1 -1
  12. package/build/api/endpoint/api/user.js +6 -6
  13. package/build/api/endpoint/api/v1/index.js +1 -1
  14. package/build/api/endpoint/api/v1/profile.js +4 -4
  15. package/build/api/endpoint/api/v1/search.js +4 -4
  16. package/build/api/endpoint/api/v1/token.js +8 -8
  17. package/build/api/endpoint/api/whoami.js +1 -1
  18. package/build/api/endpoint/index.js +9 -9
  19. package/build/api/index.js +13 -13
  20. package/build/api/middleware.js +6 -6
  21. package/build/api/rate-limiter.js +3 -3
  22. package/build/api/web/api.js +3 -3
  23. package/build/api/web/endpoint/index.js +10 -4
  24. package/build/api/web/endpoint/package.js +9 -9
  25. package/build/api/web/endpoint/search.js +3 -3
  26. package/build/api/web/endpoint/user.js +4 -4
  27. package/build/api/web/html/renderHTML.js +13 -9
  28. package/build/api/web/html/template.js +1 -1
  29. package/build/api/web/index.js +10 -10
  30. package/build/config/env.js +1 -1
  31. package/build/index.js +1 -1
  32. package/build/lib/auth-utils.js +5 -5
  33. package/build/lib/auth.js +7 -17
  34. package/build/lib/bootstrap.js +8 -8
  35. package/build/lib/cli/cli.js +3 -3
  36. package/build/lib/cli/commands/info.js +3 -3
  37. package/build/lib/cli/commands/init.js +3 -3
  38. package/build/lib/cli/commands/version.js +1 -1
  39. package/build/lib/cli/utils.js +3 -3
  40. package/build/lib/config-path.js +3 -3
  41. package/build/lib/config-utils.js +3 -3
  42. package/build/lib/config.js +8 -32
  43. package/build/lib/crypto-utils.js +3 -3
  44. package/build/lib/local-storage.js +7 -15
  45. package/build/lib/logger/formatter/index.js +1 -1
  46. package/build/lib/logger/formatter/prettifier.js +3 -3
  47. package/build/lib/logger/levels.js +1 -1
  48. package/build/lib/logger/logger.js +10 -6
  49. package/build/lib/logger/utils.js +1 -1
  50. package/build/lib/metadata-utils.js +3 -3
  51. package/build/lib/notify/index.js +3 -3
  52. package/build/lib/notify/notify-request.js +5 -5
  53. package/build/lib/plugin-loader.js +4 -4
  54. package/build/lib/search.js +2 -6
  55. package/build/lib/storage-utils.js +3 -3
  56. package/build/lib/storage.js +10 -22
  57. package/build/lib/up-storage.js +9 -43
  58. package/build/lib/uplink-util.js +1 -1
  59. package/build/lib/utils.js +22 -13
  60. package/build/utils/user.js +1 -1
  61. package/conf/README.md +3 -3
  62. package/eslintrc.js +92 -92
  63. package/index.js +1 -1
  64. package/package.json +64 -63
  65. package/prettier.config.js +15 -0
  66. package/tsconfig.json +3 -10
  67. package/yarn-plugins/plugin-postinstall.js +10 -10
@@ -21,9 +21,9 @@ var _utils = require("./utils");
21
21
 
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
23
 
24
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
24
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
25
 
26
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
26
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
27
27
 
28
28
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
29
 
@@ -154,4 +154,4 @@ function normalisePackageAccess(packages) {
154
154
 
155
155
  return normalizedPkgs;
156
156
  }
157
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY29uZmlnLXV0aWxzLnRzIl0sIm5hbWVzIjpbIkJMQUNLTElTVCIsImFsbCIsImFub255bW91cyIsInVuZGVmaW5lZCIsIm93bmVyIiwibm9uZSIsIm5vcm1hbGl6ZVVzZXJMaXN0Iiwib2xkRm9ybWF0IiwibmV3Rm9ybWF0IiwicmVzdWx0IiwiaSIsImFyZ3VtZW50cyIsImxlbmd0aCIsIl8iLCJpc1N0cmluZyIsInB1c2giLCJzcGxpdCIsIkFycmF5IiwiaXNBcnJheSIsIkVycm9yQ29kZSIsImdldEludGVybmFsRXJyb3IiLCJKU09OIiwic3RyaW5naWZ5IiwiZmxhdHRlbiIsInVwbGlua1Nhbml0eUNoZWNrIiwidXBsaW5rcyIsInVzZXJzIiwibmV3VXBsaW5rcyIsImNsb25lIiwibmV3VXNlcnMiLCJ1cGxpbmsiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpc05pbCIsImNhY2hlIiwic2FuaXR5Q2hlY2tOYW1lcyIsIml0ZW0iLCJtYXRjaCIsInNhbml0eUNoZWNrVXBsaW5rc1Byb3BzIiwiY29uZmlnVXBMaW5rcyIsInVybCIsInJlcGxhY2UiLCJoYXNQcm94eVRvIiwicGtnIiwidXBMaW5rIiwicGFja2FnZXMiLCJtYXRjaGVkUGtnIiwiZ2V0TWF0Y2hlZFBhY2thZ2VzU3BlYyIsInByb3h5TGlzdCIsInByb3h5Iiwic29tZSIsImN1cnIiLCJwa2dOYW1lIiwibWluaW1hdGNoIiwibWFrZVJlIiwiZXhlYyIsIm5vcm1hbGlzZVBhY2thZ2VBY2Nlc3MiLCJub3JtYWxpemVkUGtncyIsImFjY2VzcyIsInB1Ymxpc2giLCJpc09iamVjdCIsImFsbG93X2FjY2VzcyIsImFsbG93X3B1Ymxpc2giLCJwcm94eV9hY2Nlc3MiLCJ1bnB1Ymxpc2giLCJpc1VuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUtBOztBQUNBOztBQUNBOztBQUlBOzs7Ozs7Ozs7O0FBRUEsTUFB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QSxhQUFPRCxjQUFjLENBQUNkLEdBQUQsQ0FBZCxDQUFvQmtCLFlBQTNCO0FBQ0FKLE1BQUFBLGNBQWMsQ0FBQ2QsR0FBRCxDQUFkLENBQW9CZ0IsT0FBcEIsR0FBOEJ2RCxpQkFBaUIsQ0FDN0N5QyxRQUFRLENBQUNGLEdBQUQsQ0FBUixDQUFjbUIsYUFEK0IsRUFFN0NqQixRQUFRLENBQUNGLEdBQUQsQ0FBUixDQUFjZ0IsT0FGK0IsQ0FBL0M7QUFJQSxhQUFPRixjQUFjLENBQUNkLEdBQUQsQ0FBZCxDQUFvQm1CLGFBQTNCO0FBQ0FMLE1BQUFBLGNBQWMsQ0FBQ2QsR0FBRCxDQUFkLENBQW9CTSxLQUFwQixHQUE0QjdDLGlCQUFpQixDQUMzQ3lDLFFBQVEsQ0FBQ0YsR0FBRCxDQUFSLENBQWNvQixZQUQ2QixFQUUzQ2xCLFFBQVEsQ0FBQ0YsR0FBRCxDQUFSLENBQWNNLEtBRjZCLENBQTdDO0FBSUEsYUFBT1EsY0FBYyxDQUFDZCxHQUFELENBQWQsQ0FBb0JvQixZQUEzQixDQW5CdUQsQ0FvQnZEOztBQUNBTixNQUFBQSxjQUFjLENBQUNkLEdBQUQsQ0FBZCxDQUFvQnFCLFNBQXBCLEdBQWdDckQsZ0JBQUVzRCxXQUFGLENBQWNwQixRQUFRLENBQUNGLEdBQUQsQ0FBUixDQUFjcUIsU0FBNUIsSUFDNUIsS0FENEIsR0FFNUI1RCxpQkFBaUIsQ0FBQyxFQUFELEVBQUt5QyxRQUFRLENBQUNGLEdBQUQsQ0FBUixDQUFjcUIsU0FBbkIsQ0FGckI7QUFHRDtBQUNGOztBQUVELFNBQU9QLGNBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHByZXR0aWVyXG4gKiBAZmxvd1xuICovXG5cbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgbWluaW1hdGNoIGZyb20gJ21pbmltYXRjaCc7XG5cbmltcG9ydCB7IFBhY2thZ2VMaXN0LCBVcExpbmtzQ29uZkxpc3QgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCB7IE1hdGNoZWRQYWNrYWdlLCBMZWdhY3lQYWNrYWdlTGlzdCB9IGZyb20gJy4uLy4uL3R5cGVzJztcbmltcG9ydCB7IEVycm9yQ29kZSB9IGZyb20gJy4vdXRpbHMnO1xuXG5jb25zdCBCTEFDS0xJU1QgPSB7XG4gIGFsbDogdHJ1ZSxcbiAgYW5vbnltb3VzOiB0cnVlLFxuICB1bmRlZmluZWQ6IHRydWUsXG4gIG93bmVyOiB0cnVlLFxuICBub25lOiB0cnVlXG59O1xuXG4vKipcbiAqIE5vcm1hbGl6ZSB1c2VyIGxpc3QuXG4gKiBAcmV0dXJuIHtBcnJheX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZVVzZXJMaXN0KG9sZEZvcm1hdDogYW55LCBuZXdGb3JtYXQ6IGFueSk6IGFueSB7XG4gIGNvbnN0IHJlc3VsdDogYW55W11bXSA9IFtdO1xuICAvKiBlc2xpbnQgcHJlZmVyLXJlc3QtcGFyYW1zOiBcIm9mZlwiICovXG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoYXJndW1lbnRzW2ldID09IG51bGwpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIGlmIGl0J3MgYSBzdHJpbmcsIHNwbGl0IGl0IHRvIGFycmF5XG4gICAgaWYgKF8uaXNTdHJpbmcoYXJndW1lbnRzW2ldKSkge1xuICAgICAgcmVzdWx0LnB1c2goYXJndW1lbnRzW2ldLnNwbGl0KC9cXHMrLykpO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShhcmd1bWVudHNbaV0pKSB7XG4gICAgICByZXN1bHQucHVzaChhcmd1bWVudHNbaV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvckNvZGUuZ2V0SW50ZXJuYWxFcnJvcihcbiAgICAgICAgJ0NPTkZJRzogYmFkIHBhY2thZ2UgYWNsIChhcnJheSBvciBzdHJpbmcgZXhwZWN0ZWQpOiAnICsgSlNPTi5zdHJpbmdpZnkoYXJndW1lbnRzW2ldKVxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIF8uZmxhdHRlbihyZXN1bHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBsaW5rU2FuaXR5Q2hlY2soXG4gIHVwbGlua3M6IFVwTGlua3NDb25mTGlzdCxcbiAgdXNlcnM6IGFueSA9IEJMQUNLTElTVFxuKTogVXBMaW5rc0NvbmZMaXN0IHtcbiAgY29uc3QgbmV3VXBsaW5rcyA9IF8uY2xvbmUodXBsaW5rcyk7XG4gIGxldCBuZXdVc2VycyA9IF8uY2xvbmUodXNlcnMpO1xuXG4gIGZvciAoY29uc3QgdXBsaW5rIGluIG5ld1VwbGlua3MpIHtcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG5ld1VwbGlua3MsIHVwbGluaykpIHtcbiAgICAgIGlmIChfLmlzTmlsKG5ld1VwbGlua3NbdXBsaW5rXS5jYWNoZSkpIHtcbiAgICAgICAgbmV3VXBsaW5rc1t1cGxpbmtdLmNhY2hlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIG5ld1VzZXJzID0gc2FuaXR5Q2hlY2tOYW1lcyh1cGxpbmssIG5ld1VzZXJzKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmV3VXBsaW5rcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhbml0eUNoZWNrTmFtZXMoaXRlbTogc3RyaW5nLCB1c2VyczogYW55KTogYW55IHtcbiAgYXNzZXJ0KFxuICAgIGl0ZW0gIT09ICdhbGwnICYmXG4gICAgICBpdGVtICE9PSAnb3duZXInICYmXG4gICAgICBpdGVtICE9PSAnYW5vbnltb3VzJyAmJlxuICAgICAgaXRlbSAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAgIGl0ZW0gIT09ICdub25lJyxcbiAgICAnQ09ORklHOiByZXNlcnZlZCB1cGxpbmsgbmFtZTogJyArIGl0ZW1cbiAgKTtcbiAgYXNzZXJ0KCFpdGVtLm1hdGNoKC9cXHMvKSwgJ0NPTkZJRzogaW52YWxpZCB1cGxpbmsgbmFtZTogJyArIGl0ZW0pO1xuICBhc3NlcnQoXy5pc05pbCh1c2Vyc1tpdGVtXSksICdDT05GSUc6IGR1cGxpY2F0ZSB1cGxpbmsgbmFtZTogJyArIGl0ZW0pO1xuICB1c2Vyc1tpdGVtXSA9IHRydWU7XG5cbiAgcmV0dXJuIHVzZXJzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2FuaXR5Q2hlY2tVcGxpbmtzUHJvcHMoY29uZmlnVXBMaW5rczogVXBMaW5rc0NvbmZMaXN0KTogVXBMaW5rc0NvbmZMaXN0IHtcbiAgY29uc3QgdXBsaW5rcyA9IF8uY2xvbmUoY29uZmlnVXBMaW5rcyk7XG5cbiAgZm9yIChjb25zdCB1cGxpbmsgaW4gdXBsaW5rcykge1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodXBsaW5rcywgdXBsaW5rKSkge1xuICAgICAgYXNzZXJ0KHVwbGlua3NbdXBsaW5rXS51cmwsICdDT05GSUc6IG5vIHVybCBmb3IgdXBsaW5rOiAnICsgdXBsaW5rKTtcbiAgICAgIGFzc2VydChfLmlzU3RyaW5nKHVwbGlua3NbdXBsaW5rXS51cmwpLCAnQ09ORklHOiB3cm9uZyB1cmwgZm9ybWF0IGZvciB1cGxpbms6ICcgKyB1cGxpbmspO1xuICAgICAgdXBsaW5rc1t1cGxpbmtdLnVybCA9IHVwbGlua3NbdXBsaW5rXS51cmwucmVwbGFjZSgvXFwvJC8sICcnKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdXBsaW5rcztcbn1cblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIGFuIHVwbGluayBjYW4gcHJveHlcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc1Byb3h5VG8ocGtnOiBzdHJpbmcsIHVwTGluazogc3RyaW5nLCBwYWNrYWdlczogUGFja2FnZUxpc3QpOiBib29sZWFuIHtcbiAgY29uc3QgbWF0Y2hlZFBrZzogTWF0Y2hlZFBhY2thZ2UgPSBnZXRNYXRjaGVkUGFja2FnZXNTcGVjKHBrZywgcGFja2FnZXMpO1xuICBjb25zdCBwcm94eUxpc3QgPSB0eXBlb2YgbWF0Y2hlZFBrZyAhPT0gJ3VuZGVmaW5lZCcgPyBtYXRjaGVkUGtnLnByb3h5IDogW107XG4gIGlmIChwcm94eUxpc3QpIHtcbiAgICByZXR1cm4gcHJveHlMaXN0LnNvbWUoKGN1cnIpID0+IHVwTGluayA9PT0gY3Vycik7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXRjaGVkUGFja2FnZXNTcGVjKHBrZ05hbWU6IHN0cmluZywgcGFja2FnZXM6IFBhY2thZ2VMaXN0KTogTWF0Y2hlZFBhY2thZ2Uge1xuICBmb3IgKGNvbnN0IGkgaW4gcGFja2FnZXMpIHtcbiAgICBpZiAobWluaW1hdGNoLm1ha2VSZShpKS5leGVjKHBrZ05hbWUpKSB7XG4gICAgICByZXR1cm4gcGFja2FnZXNbaV07XG4gICAgfVxuICB9XG4gIHJldHVybjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGlzZVBhY2thZ2VBY2Nlc3MocGFja2FnZXM6IExlZ2FjeVBhY2thZ2VMaXN0KTogTGVnYWN5UGFja2FnZUxpc3Qge1xuICBjb25zdCBub3JtYWxpemVkUGtnczogTGVnYWN5UGFja2FnZUxpc3QgPSB7IC4uLnBhY2thZ2VzIH07XG4gIC8vIGFkZCBhIGRlZmF1bHQgcnVsZSBmb3IgYWxsIHBhY2thZ2VzIHRvIG1ha2Ugd3JpdGluZyBwbHVnaW5zIGVhc2llclxuICBpZiAoXy5pc05pbChub3JtYWxpemVkUGtnc1snKionXSkpIHtcbiAgICBub3JtYWxpemVkUGtnc1snKionXSA9IHsgYWNjZXNzOiBbXSwgcHVibGlzaDogW10sIHByb3h5OiBbXSB9O1xuICB9XG5cbiAgZm9yIChjb25zdCBwa2cgaW4gcGFja2FnZXMpIHtcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHBhY2thZ2VzLCBwa2cpKSB7XG4gICAgICBhc3NlcnQoXG4gICAgICAgIF8uaXNPYmplY3QocGFja2FnZXNbcGtnXSkgJiYgXy5pc0FycmF5KHBhY2thZ2VzW3BrZ10pID09PSBmYWxzZSxcbiAgICAgICAgYENPTkZJRzogYmFkIFwiJyR7cGtnfSdcIiBwYWNrYWdlIGRlc2NyaXB0aW9uIChvYmplY3QgZXhwZWN0ZWQpYFxuICAgICAgKTtcbiAgICAgIG5vcm1hbGl6ZWRQa2dzW3BrZ10uYWNjZXNzID0gbm9ybWFsaXplVXNlckxpc3QoXG4gICAgICAgIHBhY2thZ2VzW3BrZ10uYWxsb3dfYWNjZXNzLFxuICAgICAgICBwYWNrYWdlc1twa2ddLmFjY2Vzc1xuICAgICAgKTtcbiAgICAgIGRlbGV0ZSBub3JtYWxpemVkUGtnc1twa2ddLmFsbG93X2FjY2VzcztcbiAgICAgIG5vcm1hbGl6ZWRQa2dzW3BrZ10ucHVibGlzaCA9IG5vcm1hbGl6ZVVzZXJMaXN0KFxuICAgICAgICBwYWNrYWdlc1twa2ddLmFsbG93X3B1Ymxpc2gsXG4gICAgICAgIHBhY2thZ2VzW3BrZ10ucHVibGlzaFxuICAgICAgKTtcbiAgICAgIGRlbGV0ZSBub3JtYWxpemVkUGtnc1twa2ddLmFsbG93X3B1Ymxpc2g7XG4gICAgICBub3JtYWxpemVkUGtnc1twa2ddLnByb3h5ID0gbm9ybWFsaXplVXNlckxpc3QoXG4gICAgICAgIHBhY2thZ2VzW3BrZ10ucHJveHlfYWNjZXNzLFxuICAgICAgICBwYWNrYWdlc1twa2ddLnByb3h5XG4gICAgICApO1xuICAgICAgZGVsZXRlIG5vcm1hbGl6ZWRQa2dzW3BrZ10ucHJveHlfYWNjZXNzO1xuICAgICAgLy8gaWYgdW5wdWJsaXNoIGlzIG5vdCBkZWZpbmVkLCB3ZSBzZXQgdG8gZmFsc2UgdG8gZmFsbGJhY2sgaW4gcHVibGlzaCBhY2Nlc3NcbiAgICAgIG5vcm1hbGl6ZWRQa2dzW3BrZ10udW5wdWJsaXNoID0gXy5pc1VuZGVmaW5lZChwYWNrYWdlc1twa2ddLnVucHVibGlzaClcbiAgICAgICAgPyBmYWxzZVxuICAgICAgICA6IG5vcm1hbGl6ZVVzZXJMaXN0KFtdLCBwYWNrYWdlc1twa2ddLnVucHVibGlzaCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5vcm1hbGl6ZWRQa2dzO1xufVxuIl19
157
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY29uZmlnLXV0aWxzLnRzIl0sIm5hbWVzIjpbIkJMQUNLTElTVCIsImFsbCIsImFub255bW91cyIsInVuZGVmaW5lZCIsIm93bmVyIiwibm9uZSIsIm5vcm1hbGl6ZVVzZXJMaXN0Iiwib2xkRm9ybWF0IiwibmV3Rm9ybWF0IiwicmVzdWx0IiwiaSIsImFyZ3VtZW50cyIsImxlbmd0aCIsIl8iLCJpc1N0cmluZyIsInB1c2giLCJzcGxpdCIsIkFycmF5IiwiaXNBcnJheSIsIkVycm9yQ29kZSIsImdldEludGVybmFsRXJyb3IiLCJKU09OIiwic3RyaW5naWZ5IiwiZmxhdHRlbiIsInVwbGlua1Nhbml0eUNoZWNrIiwidXBsaW5rcyIsInVzZXJzIiwibmV3VXBsaW5rcyIsImNsb25lIiwibmV3VXNlcnMiLCJ1cGxpbmsiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpc05pbCIsImNhY2hlIiwic2FuaXR5Q2hlY2tOYW1lcyIsIml0ZW0iLCJtYXRjaCIsInNhbml0eUNoZWNrVXBsaW5rc1Byb3BzIiwiY29uZmlnVXBMaW5rcyIsInVybCIsInJlcGxhY2UiLCJoYXNQcm94eVRvIiwicGtnIiwidXBMaW5rIiwicGFja2FnZXMiLCJtYXRjaGVkUGtnIiwiZ2V0TWF0Y2hlZFBhY2thZ2VzU3BlYyIsInByb3h5TGlzdCIsInByb3h5Iiwic29tZSIsImN1cnIiLCJwa2dOYW1lIiwibWluaW1hdGNoIiwibWFrZVJlIiwiZXhlYyIsIm5vcm1hbGlzZVBhY2thZ2VBY2Nlc3MiLCJub3JtYWxpemVkUGtncyIsImFjY2VzcyIsInB1Ymxpc2giLCJpc09iamVjdCIsImFsbG93X2FjY2VzcyIsImFsbG93X3B1Ymxpc2giLCJwcm94eV9hY2Nlc3MiLCJ1bnB1Ymxpc2giLCJpc1VuZGVmaW5lZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUlBOztBQUNBOztBQUNBOztBQUtBOzs7Ozs7Ozs7O0FBRUEsTUFBTUEsU0FBUyxHQUFHO0FBQ2hCQyxFQUFBQSxHQUFHLEVBQUUsSUFEVztBQUVoQkMsRUFBQUEsU0FBUyxFQUFFLElBRks7QUFHaEJDLEVBQUFBLFNBQVMsRUFBRSxJQUhLO0FBSWhCQyxFQUFBQSxLQUFLLEVBQUUsSUFKUztBQUtoQkMsRUFBQUEsSUFBSSxFQUFFO0FBTFUsQ0FBbEI7QUFRQTtBQUNBO0FBQ0E7QUFDQTs7QUFDTyxTQUFTQyxpQkFBVCxDQUEyQkMsU0FBM0IsRUFBMkNDLFNBQTNDLEVBQWdFO0FBQ3JFLFFBQU1DLE1BQWUsR0FBRyxFQUF4QjtBQUNBOztBQUVBLE9BQUssSUFBSUMsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR0MsU0FBUyxDQUFDQyxNQUE5QixFQUFzQ0YsQ0FBQyxFQUF2QyxFQUEyQztBQUN6QyxRQUFJQyxTQUFTLENBQUNELENBQUQsQ0FBVCxJQUFnQixJQUFwQixFQUEwQjtBQUN4QjtBQUNELEtBSHdDLENBS3pDOzs7QUFDQSxRQUFJRyxnQkFBRUMsUUFBRixDQUFXSCxTQUFTLENBQUNELENBQUQsQ0FBcEIsQ0FBSixFQUE4QjtBQUM1QkQsTUFBQUEsTUFBTSxDQUFDTSxJQUFQLENBQVlKLFNBQVMsQ0FBQ0QsQ0FBRCxDQUFULENBQWFNLEtBQWIsQ0FBbUIsS0FBbkIsQ0FBWjtBQUNELEtBRkQsTUFFTyxJQUFJQyxLQUFLLENBQUNDLE9BQU4sQ0FBY1AsU0FBUyxDQUFDRCxDQUFELENBQXZCLENBQUosRUFBaUM7QUFDdENELE1BQUFBLE1BQU0sQ0FBQ00sSUFBUCxDQUFZSixTQUFTLENBQUNELENBQUQsQ0FBckI7QUFDRCxLQUZNLE1BRUE7QUFDTCxZQUFNUyxpQkFBVUMsZ0JBQVYsQ0FBMkIseURBQXlEQyxJQUFJLENBQUNDLFNBQUwsQ0FBZVgsU0FBUyxDQUFDRCxDQUFELENBQXhCLENBQXBGLENBQU47QUFDRDtBQUNGOztBQUNELFNBQU9HLGdCQUFFVSxPQUFGLENBQVVkLE1BQVYsQ0FBUDtBQUNEOztBQUVNLFNBQVNlLGlCQUFULENBQTJCQyxPQUEzQixFQUFxREMsS0FBVSxHQUFHMUIsU0FBbEUsRUFBOEY7QUFDbkcsUUFBTTJCLFVBQVUsR0FBR2QsZ0JBQUVlLEtBQUYsQ0FBUUgsT0FBUixDQUFuQjs7QUFDQSxNQUFJSSxRQUFRLEdBQUdoQixnQkFBRWUsS0FBRixDQUFRRixLQUFSLENBQWY7O0FBRUEsT0FBSyxNQUFNSSxNQUFYLElBQXFCSCxVQUFyQixFQUFpQztBQUMvQixRQUFJSSxNQUFNLENBQUNDLFNBQVAsQ0FBaUJDLGNBQWpCLENBQWdDQyxJQUFoQyxDQUFxQ1AsVUFBckMsRUFBaURHLE1BQWpELENBQUosRUFBOEQ7QUFDNUQsVUFBSWpCLGdCQUFFc0IsS0FBRixDQUFRUixVQUFVLENBQUNHLE1BQUQsQ0FBVixDQUFtQk0sS0FBM0IsQ0FBSixFQUF1QztBQUNyQ1QsUUFBQUEsVUFBVSxDQUFDRyxNQUFELENBQVYsQ0FBbUJNLEtBQW5CLEdBQTJCLElBQTNCO0FBQ0Q7O0FBQ0RQLE1BQUFBLFFBQVEsR0FBR1EsZ0JBQWdCLENBQUNQLE1BQUQsRUFBU0QsUUFBVCxDQUEzQjtBQUNEO0FBQ0Y7O0FBRUQsU0FBT0YsVUFBUDtBQUNEOztBQUVNLFNBQVNVLGdCQUFULENBQTBCQyxJQUExQixFQUF3Q1osS0FBeEMsRUFBeUQ7QUFDOUQsdUJBQU9ZLElBQUksS0FBSyxLQUFULElBQWtCQSxJQUFJLEtBQUssT0FBM0IsSUFBc0NBLElBQUksS0FBSyxXQUEvQyxJQUE4REEsSUFBSSxLQUFLLFdBQXZFLElBQXNGQSxJQUFJLEtBQUssTUFBdEcsRUFBOEcsbUNBQW1DQSxJQUFqSjtBQUNBLHVCQUFPLENBQUNBLElBQUksQ0FBQ0MsS0FBTCxDQUFXLElBQVgsQ0FBUixFQUEwQixrQ0FBa0NELElBQTVEO0FBQ0EsdUJBQU96QixnQkFBRXNCLEtBQUYsQ0FBUVQsS0FBSyxDQUFDWSxJQUFELENBQWIsQ0FBUCxFQUE2QixvQ0FBb0NBLElBQWpFO0FBQ0FaLEVBQUFBLEtBQUssQ0FBQ1ksSUFBRCxDQUFMLEdBQWMsSUFBZDtBQUVBLFNBQU9aLEtBQVA7QUFDRDs7QUFFTSxTQUFTYyx1QkFBVCxDQUFpQ0MsYUFBakMsRUFBa0Y7QUFDdkYsUUFBTWhCLE9BQU8sR0FBR1osZ0JBQUVlLEtBQUYsQ0FBUWEsYUFBUixDQUFoQjs7QUFFQSxPQUFLLE1BQU1YLE1BQVgsSUFBcUJMLE9BQXJCLEVBQThCO0FBQzVCLFFBQUlNLE1BQU0sQ0FBQ0MsU0FBUCxDQUFpQkMsY0FBakIsQ0FBZ0NDLElBQWhDLENBQXFDVCxPQUFyQyxFQUE4Q0ssTUFBOUMsQ0FBSixFQUEyRDtBQUN6RCwyQkFBT0wsT0FBTyxDQUFDSyxNQUFELENBQVAsQ0FBZ0JZLEdBQXZCLEVBQTRCLGdDQUFnQ1osTUFBNUQ7QUFDQSwyQkFBT2pCLGdCQUFFQyxRQUFGLENBQVdXLE9BQU8sQ0FBQ0ssTUFBRCxDQUFQLENBQWdCWSxHQUEzQixDQUFQLEVBQXdDLDBDQUEwQ1osTUFBbEY7QUFDQUwsTUFBQUEsT0FBTyxDQUFDSyxNQUFELENBQVAsQ0FBZ0JZLEdBQWhCLEdBQXNCakIsT0FBTyxDQUFDSyxNQUFELENBQVAsQ0FBZ0JZLEdBQWhCLENBQW9CQyxPQUFwQixDQUE0QixLQUE1QixFQUFtQyxFQUFuQyxDQUF0QjtBQUNEO0FBQ0Y7O0FBRUQsU0FBT2xCLE9BQVA7QUFDRDtBQUVEO0FBQ0E7QUFDQTs7O0FBQ08sU0FBU21CLFVBQVQsQ0FBb0JDLEdBQXBCLEVBQWlDQyxNQUFqQyxFQUFpREMsUUFBakQsRUFBaUY7QUFDdEYsUUFBTUMsVUFBMEIsR0FBR0Msc0JBQXNCLENBQUNKLEdBQUQsRUFBTUUsUUFBTixDQUF6RDtBQUNBLFFBQU1HLFNBQVMsR0FBRyxPQUFPRixVQUFQLEtBQXNCLFdBQXRCLEdBQW9DQSxVQUFVLENBQUNHLEtBQS9DLEdBQXVELEVBQXpFOztBQUNBLE1BQUlELFNBQUosRUFBZTtBQUNiLFdBQU9BLFNBQVMsQ0FBQ0UsSUFBVixDQUFnQkMsSUFBRCxJQUFVUCxNQUFNLEtBQUtPLElBQXBDLENBQVA7QUFDRDs7QUFFRCxTQUFPLEtBQVA7QUFDRDs7QUFFTSxTQUFTSixzQkFBVCxDQUFnQ0ssT0FBaEMsRUFBaURQLFFBQWpELEVBQXdGO0FBQzdGLE9BQUssTUFBTXJDLENBQVgsSUFBZ0JxQyxRQUFoQixFQUEwQjtBQUN4QixRQUFJUSxtQkFBVUMsTUFBVixDQUFpQjlDLENBQWpCLEVBQW9CK0MsSUFBcEIsQ0FBeUJILE9BQXpCLENBQUosRUFBdUM7QUFDckMsYUFBT1AsUUFBUSxDQUFDckMsQ0FBRCxDQUFmO0FBQ0Q7QUFDRjs7QUFDRDtBQUNEOztBQUVNLFNBQVNnRCxzQkFBVCxDQUFnQ1gsUUFBaEMsRUFBZ0Y7QUFDckYsUUFBTVksY0FBaUMscUJBQVFaLFFBQVIsQ0FBdkMsQ0FEcUYsQ0FFckY7OztBQUNBLE1BQUlsQyxnQkFBRXNCLEtBQUYsQ0FBUXdCLGNBQWMsQ0FBQyxJQUFELENBQXRCLENBQUosRUFBbUM7QUFDakNBLElBQUFBLGNBQWMsQ0FBQyxJQUFELENBQWQsR0FBdUI7QUFBRUMsTUFBQUEsTUFBTSxFQUFFLEVBQVY7QUFBY0MsTUFBQUEsT0FBTyxFQUFFLEVBQXZCO0FBQTJCVixNQUFBQSxLQUFLLEVBQUU7QUFBbEMsS0FBdkI7QUFDRDs7QUFFRCxPQUFLLE1BQU1OLEdBQVgsSUFBa0JFLFFBQWxCLEVBQTRCO0FBQzFCLFFBQUloQixNQUFNLENBQUNDLFNBQVAsQ0FBaUJDLGNBQWpCLENBQWdDQyxJQUFoQyxDQUFxQ2EsUUFBckMsRUFBK0NGLEdBQS9DLENBQUosRUFBeUQ7QUFDdkQsMkJBQU9oQyxnQkFBRWlELFFBQUYsQ0FBV2YsUUFBUSxDQUFDRixHQUFELENBQW5CLEtBQTZCaEMsZ0JBQUVLLE9BQUYsQ0FBVTZCLFFBQVEsQ0FBQ0YsR0FBRCxDQUFsQixNQUE2QixLQUFqRSxFQUF5RSxpQkFBZ0JBLEdBQUksMENBQTdGO0FBQ0FjLE1BQUFBLGNBQWMsQ0FBQ2QsR0FBRCxDQUFkLENBQW9CZSxNQUFwQixHQUE2QnRELGlCQUFpQixDQUFDeUMsUUFBUSxDQUFDRixHQUFELENBQVIsQ0FBY2tCLFlBQWYsRUFBNkJoQixRQUFRLENBQUNGLEdBQUQsQ0FBUixDQUFjZSxNQUEzQyxDQUE5QztBQUNBLGFBQU9ELGNBQWMsQ0FBQ2QsR0FBRCxDQUFkLENBQW9Ca0IsWUFBM0I7QUFDQUosTUFBQUEsY0FBYyxDQUFDZCxHQUFELENBQWQsQ0FBb0JnQixPQUFwQixHQUE4QnZELGlCQUFpQixDQUFDeUMsUUFBUSxDQUFDRixHQUFELENBQVIsQ0FBY21CLGFBQWYsRUFBOEJqQixRQUFRLENBQUNGLEdBQUQsQ0FBUixDQUFjZ0IsT0FBNUMsQ0FBL0M7QUFDQSxhQUFPRixjQUFjLENBQUNkLEdBQUQsQ0FBZCxDQUFvQm1CLGFBQTNCO0FBQ0FMLE1BQUFBLGNBQWMsQ0FBQ2QsR0FBRCxDQUFkLENBQW9CTSxLQUFwQixHQUE0QjdDLGlCQUFpQixDQUFDeUMsUUFBUSxDQUFDRixHQUFELENBQVIsQ0FBY29CLFlBQWYsRUFBNkJsQixRQUFRLENBQUNGLEdBQUQsQ0FBUixDQUFjTSxLQUEzQyxDQUE3QztBQUNBLGFBQU9RLGNBQWMsQ0FBQ2QsR0FBRCxDQUFkLENBQW9Cb0IsWUFBM0IsQ0FQdUQsQ0FRdkQ7O0FBQ0FOLE1BQUFBLGNBQWMsQ0FBQ2QsR0FBRCxDQUFkLENBQW9CcUIsU0FBcEIsR0FBZ0NyRCxnQkFBRXNELFdBQUYsQ0FBY3BCLFFBQVEsQ0FBQ0YsR0FBRCxDQUFSLENBQWNxQixTQUE1QixJQUF5QyxLQUF6QyxHQUFpRDVELGlCQUFpQixDQUFDLEVBQUQsRUFBS3lDLFFBQVEsQ0FBQ0YsR0FBRCxDQUFSLENBQWNxQixTQUFuQixDQUFsRztBQUNEO0FBQ0Y7O0FBRUQsU0FBT1AsY0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcHJldHRpZXJcbiAqIEBmbG93XG4gKi9cbmltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgbWluaW1hdGNoIGZyb20gJ21pbmltYXRjaCc7XG5cbmltcG9ydCB7IFBhY2thZ2VMaXN0LCBVcExpbmtzQ29uZkxpc3QgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcblxuaW1wb3J0IHsgTGVnYWN5UGFja2FnZUxpc3QsIE1hdGNoZWRQYWNrYWdlIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgRXJyb3JDb2RlIH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IEJMQUNLTElTVCA9IHtcbiAgYWxsOiB0cnVlLFxuICBhbm9ueW1vdXM6IHRydWUsXG4gIHVuZGVmaW5lZDogdHJ1ZSxcbiAgb3duZXI6IHRydWUsXG4gIG5vbmU6IHRydWUsXG59O1xuXG4vKipcbiAqIE5vcm1hbGl6ZSB1c2VyIGxpc3QuXG4gKiBAcmV0dXJuIHtBcnJheX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZVVzZXJMaXN0KG9sZEZvcm1hdDogYW55LCBuZXdGb3JtYXQ6IGFueSk6IGFueSB7XG4gIGNvbnN0IHJlc3VsdDogYW55W11bXSA9IFtdO1xuICAvKiBlc2xpbnQgcHJlZmVyLXJlc3QtcGFyYW1zOiBcIm9mZlwiICovXG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoYXJndW1lbnRzW2ldID09IG51bGwpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIC8vIGlmIGl0J3MgYSBzdHJpbmcsIHNwbGl0IGl0IHRvIGFycmF5XG4gICAgaWYgKF8uaXNTdHJpbmcoYXJndW1lbnRzW2ldKSkge1xuICAgICAgcmVzdWx0LnB1c2goYXJndW1lbnRzW2ldLnNwbGl0KC9cXHMrLykpO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShhcmd1bWVudHNbaV0pKSB7XG4gICAgICByZXN1bHQucHVzaChhcmd1bWVudHNbaV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBFcnJvckNvZGUuZ2V0SW50ZXJuYWxFcnJvcignQ09ORklHOiBiYWQgcGFja2FnZSBhY2wgKGFycmF5IG9yIHN0cmluZyBleHBlY3RlZCk6ICcgKyBKU09OLnN0cmluZ2lmeShhcmd1bWVudHNbaV0pKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIF8uZmxhdHRlbihyZXN1bHQpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXBsaW5rU2FuaXR5Q2hlY2sodXBsaW5rczogVXBMaW5rc0NvbmZMaXN0LCB1c2VyczogYW55ID0gQkxBQ0tMSVNUKTogVXBMaW5rc0NvbmZMaXN0IHtcbiAgY29uc3QgbmV3VXBsaW5rcyA9IF8uY2xvbmUodXBsaW5rcyk7XG4gIGxldCBuZXdVc2VycyA9IF8uY2xvbmUodXNlcnMpO1xuXG4gIGZvciAoY29uc3QgdXBsaW5rIGluIG5ld1VwbGlua3MpIHtcbiAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG5ld1VwbGlua3MsIHVwbGluaykpIHtcbiAgICAgIGlmIChfLmlzTmlsKG5ld1VwbGlua3NbdXBsaW5rXS5jYWNoZSkpIHtcbiAgICAgICAgbmV3VXBsaW5rc1t1cGxpbmtdLmNhY2hlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIG5ld1VzZXJzID0gc2FuaXR5Q2hlY2tOYW1lcyh1cGxpbmssIG5ld1VzZXJzKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbmV3VXBsaW5rcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNhbml0eUNoZWNrTmFtZXMoaXRlbTogc3RyaW5nLCB1c2VyczogYW55KTogYW55IHtcbiAgYXNzZXJ0KGl0ZW0gIT09ICdhbGwnICYmIGl0ZW0gIT09ICdvd25lcicgJiYgaXRlbSAhPT0gJ2Fub255bW91cycgJiYgaXRlbSAhPT0gJ3VuZGVmaW5lZCcgJiYgaXRlbSAhPT0gJ25vbmUnLCAnQ09ORklHOiByZXNlcnZlZCB1cGxpbmsgbmFtZTogJyArIGl0ZW0pO1xuICBhc3NlcnQoIWl0ZW0ubWF0Y2goL1xccy8pLCAnQ09ORklHOiBpbnZhbGlkIHVwbGluayBuYW1lOiAnICsgaXRlbSk7XG4gIGFzc2VydChfLmlzTmlsKHVzZXJzW2l0ZW1dKSwgJ0NPTkZJRzogZHVwbGljYXRlIHVwbGluayBuYW1lOiAnICsgaXRlbSk7XG4gIHVzZXJzW2l0ZW1dID0gdHJ1ZTtcblxuICByZXR1cm4gdXNlcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzYW5pdHlDaGVja1VwbGlua3NQcm9wcyhjb25maWdVcExpbmtzOiBVcExpbmtzQ29uZkxpc3QpOiBVcExpbmtzQ29uZkxpc3Qge1xuICBjb25zdCB1cGxpbmtzID0gXy5jbG9uZShjb25maWdVcExpbmtzKTtcblxuICBmb3IgKGNvbnN0IHVwbGluayBpbiB1cGxpbmtzKSB7XG4gICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh1cGxpbmtzLCB1cGxpbmspKSB7XG4gICAgICBhc3NlcnQodXBsaW5rc1t1cGxpbmtdLnVybCwgJ0NPTkZJRzogbm8gdXJsIGZvciB1cGxpbms6ICcgKyB1cGxpbmspO1xuICAgICAgYXNzZXJ0KF8uaXNTdHJpbmcodXBsaW5rc1t1cGxpbmtdLnVybCksICdDT05GSUc6IHdyb25nIHVybCBmb3JtYXQgZm9yIHVwbGluazogJyArIHVwbGluayk7XG4gICAgICB1cGxpbmtzW3VwbGlua10udXJsID0gdXBsaW5rc1t1cGxpbmtdLnVybC5yZXBsYWNlKC9cXC8kLywgJycpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1cGxpbmtzO1xufVxuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgYW4gdXBsaW5rIGNhbiBwcm94eVxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzUHJveHlUbyhwa2c6IHN0cmluZywgdXBMaW5rOiBzdHJpbmcsIHBhY2thZ2VzOiBQYWNrYWdlTGlzdCk6IGJvb2xlYW4ge1xuICBjb25zdCBtYXRjaGVkUGtnOiBNYXRjaGVkUGFja2FnZSA9IGdldE1hdGNoZWRQYWNrYWdlc1NwZWMocGtnLCBwYWNrYWdlcyk7XG4gIGNvbnN0IHByb3h5TGlzdCA9IHR5cGVvZiBtYXRjaGVkUGtnICE9PSAndW5kZWZpbmVkJyA/IG1hdGNoZWRQa2cucHJveHkgOiBbXTtcbiAgaWYgKHByb3h5TGlzdCkge1xuICAgIHJldHVybiBwcm94eUxpc3Quc29tZSgoY3VycikgPT4gdXBMaW5rID09PSBjdXJyKTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1hdGNoZWRQYWNrYWdlc1NwZWMocGtnTmFtZTogc3RyaW5nLCBwYWNrYWdlczogUGFja2FnZUxpc3QpOiBNYXRjaGVkUGFja2FnZSB7XG4gIGZvciAoY29uc3QgaSBpbiBwYWNrYWdlcykge1xuICAgIGlmIChtaW5pbWF0Y2gubWFrZVJlKGkpLmV4ZWMocGtnTmFtZSkpIHtcbiAgICAgIHJldHVybiBwYWNrYWdlc1tpXTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXNlUGFja2FnZUFjY2VzcyhwYWNrYWdlczogTGVnYWN5UGFja2FnZUxpc3QpOiBMZWdhY3lQYWNrYWdlTGlzdCB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRQa2dzOiBMZWdhY3lQYWNrYWdlTGlzdCA9IHsgLi4ucGFja2FnZXMgfTtcbiAgLy8gYWRkIGEgZGVmYXVsdCBydWxlIGZvciBhbGwgcGFja2FnZXMgdG8gbWFrZSB3cml0aW5nIHBsdWdpbnMgZWFzaWVyXG4gIGlmIChfLmlzTmlsKG5vcm1hbGl6ZWRQa2dzWycqKiddKSkge1xuICAgIG5vcm1hbGl6ZWRQa2dzWycqKiddID0geyBhY2Nlc3M6IFtdLCBwdWJsaXNoOiBbXSwgcHJveHk6IFtdIH07XG4gIH1cblxuICBmb3IgKGNvbnN0IHBrZyBpbiBwYWNrYWdlcykge1xuICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocGFja2FnZXMsIHBrZykpIHtcbiAgICAgIGFzc2VydChfLmlzT2JqZWN0KHBhY2thZ2VzW3BrZ10pICYmIF8uaXNBcnJheShwYWNrYWdlc1twa2ddKSA9PT0gZmFsc2UsIGBDT05GSUc6IGJhZCBcIicke3BrZ30nXCIgcGFja2FnZSBkZXNjcmlwdGlvbiAob2JqZWN0IGV4cGVjdGVkKWApO1xuICAgICAgbm9ybWFsaXplZFBrZ3NbcGtnXS5hY2Nlc3MgPSBub3JtYWxpemVVc2VyTGlzdChwYWNrYWdlc1twa2ddLmFsbG93X2FjY2VzcywgcGFja2FnZXNbcGtnXS5hY2Nlc3MpO1xuICAgICAgZGVsZXRlIG5vcm1hbGl6ZWRQa2dzW3BrZ10uYWxsb3dfYWNjZXNzO1xuICAgICAgbm9ybWFsaXplZFBrZ3NbcGtnXS5wdWJsaXNoID0gbm9ybWFsaXplVXNlckxpc3QocGFja2FnZXNbcGtnXS5hbGxvd19wdWJsaXNoLCBwYWNrYWdlc1twa2ddLnB1Ymxpc2gpO1xuICAgICAgZGVsZXRlIG5vcm1hbGl6ZWRQa2dzW3BrZ10uYWxsb3dfcHVibGlzaDtcbiAgICAgIG5vcm1hbGl6ZWRQa2dzW3BrZ10ucHJveHkgPSBub3JtYWxpemVVc2VyTGlzdChwYWNrYWdlc1twa2ddLnByb3h5X2FjY2VzcywgcGFja2FnZXNbcGtnXS5wcm94eSk7XG4gICAgICBkZWxldGUgbm9ybWFsaXplZFBrZ3NbcGtnXS5wcm94eV9hY2Nlc3M7XG4gICAgICAvLyBpZiB1bnB1Ymxpc2ggaXMgbm90IGRlZmluZWQsIHdlIHNldCB0byBmYWxzZSB0byBmYWxsYmFjayBpbiBwdWJsaXNoIGFjY2Vzc1xuICAgICAgbm9ybWFsaXplZFBrZ3NbcGtnXS51bnB1Ymxpc2ggPSBfLmlzVW5kZWZpbmVkKHBhY2thZ2VzW3BrZ10udW5wdWJsaXNoKSA/IGZhbHNlIDogbm9ybWFsaXplVXNlckxpc3QoW10sIHBhY2thZ2VzW3BrZ10udW5wdWJsaXNoKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbm9ybWFsaXplZFBrZ3M7XG59XG4iXX0=
@@ -9,21 +9,21 @@ var _assert = _interopRequireDefault(require("assert"));
9
9
 
10
10
  var _lodash = _interopRequireDefault(require("lodash"));
11
11
 
12
- var _cryptoUtils = require("./crypto-utils");
12
+ var _authUtils = require("./auth-utils");
13
13
 
14
14
  var _configUtils = require("./config-utils");
15
15
 
16
- var _utils = require("./utils");
17
-
18
16
  var _constants = require("./constants");
19
17
 
20
- var _authUtils = require("./auth-utils");
18
+ var _cryptoUtils = require("./crypto-utils");
19
+
20
+ var _utils = require("./utils");
21
21
 
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
23
 
24
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
24
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
25
25
 
26
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
26
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
27
27
 
28
28
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29
29
 
@@ -40,34 +40,10 @@ class Config {
40
40
  // @ts-ignore
41
41
  // @ts-ignore
42
42
  constructor(config) {
43
- _defineProperty(this, "logger", void 0);
44
-
45
- _defineProperty(this, "user_agent", void 0);
46
-
47
- _defineProperty(this, "secret", void 0);
48
-
49
- _defineProperty(this, "uplinks", void 0);
50
-
51
- _defineProperty(this, "packages", void 0);
52
-
53
- _defineProperty(this, "users", void 0);
54
-
55
- _defineProperty(this, "userRateLimit", void 0);
56
-
57
- _defineProperty(this, "server_id", void 0);
58
-
59
- _defineProperty(this, "self_path", void 0);
60
-
61
- _defineProperty(this, "storage", void 0);
62
-
63
- _defineProperty(this, "plugins", void 0);
64
-
65
- _defineProperty(this, "security", void 0);
66
-
67
43
  const self = this;
68
44
  this.logger = LoggerApi.logger;
69
45
  this.self_path = config.self_path;
70
- this.storage = config.storage;
46
+ this.storage = process.env.VERDACCIO_STORAGE_PATH || config.storage;
71
47
  this.plugins = config.plugins;
72
48
 
73
49
  for (const configProp in config) {
@@ -140,4 +116,4 @@ class Config {
140
116
 
141
117
  var _default = Config;
142
118
  exports.default = _default;
143
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY29uZmlnLnRzIl0sIm5hbWVzIjpbIkxvZ2dlckFwaSIsInJlcXVpcmUiLCJzdHJhdGVnaWNDb25maWdQcm9wcyIsImFsbG93ZWRFbnZDb25maWciLCJDb25maWciLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsInNlbGYiLCJsb2dnZXIiLCJzZWxmX3BhdGgiLCJzdG9yYWdlIiwicGx1Z2lucyIsImNvbmZpZ1Byb3AiLCJ1c2VyX2FnZW50IiwidXNlclJhdGVMaW1pdCIsImRlZmF1bHRVc2VyUmF0ZUxpbWl0aW5nIiwiXyIsImlzT2JqZWN0IiwiQVBQX0VSUk9SIiwiQ09ORklHX05PVF9WQUxJRCIsImZvckVhY2giLCJ4IiwidXBsaW5rcyIsImlzTmlsIiwidXNlcnMiLCJ3YXJuIiwicGFja2FnZXMiLCJlbnZDb25mIiwicHJvY2VzcyIsImVudiIsInRvVXBwZXJDYXNlIiwic2VydmVyX2lkIiwiZ2V0TWF0Y2hlZFBhY2thZ2VzU3BlYyIsInBrZ05hbWUiLCJjaGVja1NlY3JldEtleSIsInNlY3JldCIsImlzU3RyaW5nIiwiaXNFbXB0eSJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBOztBQUNBOztBQUlBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOzs7Ozs7Ozs7O0FBRUEsTUFBTUEsU0FBUyxHQUFHQyxPQUFPLENBQUMsVUFBRCxDQUF6Qjs7QUFDQSxNQUFNQyxvQkFBb0IsR0FBRyxDQUFDLFNBQUQsRUFBWSxVQUFaLENBQTdCO0FBQ0EsTUFBTUMsZ0JBQWdCLEdBQUcsQ0FBQyxZQUFELEVBQWUsYUFBZixFQUE4QixVQUE5QixDQUF6QjtBQUVBO0FBQ0E7QUFDQTs7QUFDQSxNQUFNQyxNQUFOLENBQWtDO0FBRWhDO0FBRUE7QUFVQTtBQUdPQyxFQUFBQSxXQUFXLENBQUNDLE1BQUQsRUFBd0I7QUFBQTs7QUFBQTs7QUFBQTs7QUFBQTs7QUFBQTs7QUFBQTs7QUFBQTs7QUFBQTs7QUFBQTs7QUFBQTs7QUFBQTs7QUFBQTs7QUFDeEMs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LDBDQUF3QixFQUF4QixDQUFkO0FBQ0EsV0FBTyxLQUFLQSxNQUFaO0FBQ0Q7O0FBMUYrQjs7ZUE2Rm5CL0IsTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBhc3NlcnQgZnJvbSAnYXNzZXJ0JztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmltcG9ydCB7IFBhY2thZ2VMaXN0LCBDb25maWcgYXMgQXBwQ29uZmlnLCBTZWN1cml0eSwgTG9nZ2VyLCBSYXRlTGltaXQgfSBmcm9tICdAdmVyZGFjY2lvL3R5cGVzJztcbmltcG9ydCB7IE1hdGNoZWRQYWNrYWdlLCBTdGFydFVwQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgZ2VuZXJhdGVSYW5kb21IZXhTdHJpbmcgfSBmcm9tICcuL2NyeXB0by11dGlscyc7XG5pbXBvcnQgeyBnZXRNYXRjaGVkUGFja2FnZXNTcGVjLCBub3JtYWxpc2VQYWNrYWdlQWNjZXNzLCBzYW5pdHlDaGVja1VwbGlua3NQcm9wcywgdXBsaW5rU2FuaXR5Q2hlY2sgfSBmcm9tICcuL2NvbmZpZy11dGlscyc7XG5pbXBvcnQgeyBnZXRVc2VyQWdlbnQsIGlzT2JqZWN0IH0gZnJvbSAnLi91dGlscyc7XG5pbXBvcnQgeyBBUFBfRVJST1IgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBkZWZhdWx0VXNlclJhdGVMaW1pdGluZyB9IGZyb20gJy4vYXV0aC11dGlscyc7XG5cbmNvbnN0IExvZ2dlckFwaSA9IHJlcXVpcmUoJy4vbG9nZ2VyJyk7XG5jb25zdCBzdHJhdGVnaWNDb25maWdQcm9wcyA9IFsndXBsaW5rcycsICdwYWNrYWdlcyddO1xuY29uc3QgYWxsb3dlZEVudkNvbmZpZyA9IFsnaHR0cF9wcm94eScsICdodHRwc19wcm94eScsICdub19wcm94eSddO1xuXG4vKipcbiAqIENvb3JkaW5hdGVzIHRoZSBhcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uXG4gKi9cbmNsYXNzIENvbmZpZyBpbXBsZW1lbnRzIEFwcENvbmZpZyB7XG4gIHB1YmxpYyBsb2dnZXI6IExvZ2dlcjtcbiAgLy8gQHRzLWlnbm9yZVxuICBwdWJsaWMgdXNlcl9hZ2VudDogYm9vbGVhbiB8IHN0cmluZztcbiAgLy8gQHRzLWlnbm9yZVxuICBwdWJsaWMgc2VjcmV0OiBzdHJpbmc7XG4gIHB1YmxpYyB1cGxpbmtzOiBhbnk7XG4gIHB1YmxpYyBwYWNrYWdlczogUGFja2FnZUxpc3Q7XG4gIHB1YmxpYyB1c2VyczogYW55O1xuICBwdWJsaWMgdXNlclJhdGVMaW1pdDogUmF0ZUxpbWl0O1xuICBwdWJsaWMgc2VydmVyX2lkOiBzdHJpbmc7XG4gIHB1YmxpYyBzZWxmX3BhdGg6IHN0cmluZztcbiAgcHVibGljIHN0b3JhZ2U6IHN0cmluZyB8IHZvaWQ7XG4gIHB1YmxpYyBwbHVnaW5zOiBzdHJpbmcgfCB2b2lkO1xuICAvLyBAdHMtaWdub3JlXG4gIHB1YmxpYyBzZWN1cml0eTogU2VjdXJpdHk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbmZpZzogU3RhcnRVcENvbmZpZykge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHRoaXMubG9nZ2VyID0gTG9nZ2VyQXBpLmxvZ2dlcjtcbiAgICB0aGlzLnNlbGZfcGF0aCA9IGNvbmZpZy5zZWxmX3BhdGg7XG4gICAgdGhpcy5zdG9yYWdlID0gY29uZmlnLnN0b3JhZ2U7XG4gICAgdGhpcy5wbHVnaW5zID0gY29uZmlnLnBsdWdpbnM7XG5cbiAgICBmb3IgKGNvbnN0IGNvbmZpZ1Byb3AgaW4gY29uZmlnKSB7XG4gICAgICBpZiAoc2VsZltjb25maWdQcm9wXSA9PSBudWxsKSB7XG4gICAgICAgIHNlbGZbY29uZmlnUHJvcF0gPSBjb25maWdbY29uZmlnUHJvcF07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZz8udXNlcl9hZ2VudCkge1xuICAgICAgdGhpcy51c2VyX2FnZW50ID0gZ2V0VXNlckFnZW50KGNvbmZpZz8udXNlcl9hZ2VudCk7XG4gICAgfVxuXG4gICAgdGhpcy51c2VyUmF0ZUxpbWl0ID0geyAuLi5kZWZhdWx0VXNlclJhdGVMaW1pdGluZywgLi4uY29uZmlnPy51c2VyUmF0ZUxpbWl0IH07XG5cbiAgICAvLyBzb21lIHdlaXJkIHNoZWxsIHNjcmlwdHMgYXJlIHZhbGlkIHlhbWwgZmlsZXMgcGFyc2VkIGFzIHN0cmluZ1xuICAgIGFzc2VydChfLmlzT2JqZWN0KGNvbmZpZyksIEFQUF9FUlJPUi5DT05GSUdfTk9UX1ZBTElEKTtcblxuICAgIC8vIHNhbml0eSBjaGVjayBmb3Igc3RyYXRlZ2ljIGNvbmZpZyBwcm9wZXJ0aWVzXG4gICAgc3RyYXRlZ2ljQ29uZmlnUHJvcHMuZm9yRWFjaChmdW5jdGlvbiAoeCk6IHZvaWQge1xuICAgICAgaWYgKHNlbGZbeF0gPT0gbnVsbCkge1xuICAgICAgICBzZWxmW3hdID0ge307XG4gICAgICB9XG5cbiAgICAgIGFzc2VydChpc09iamVjdChzZWxmW3hdKSwgYENPTkZJRzogYmFkIFwiJHt4fVwiIHZhbHVlIChvYmplY3QgZXhwZWN0ZWQpYCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLnVwbGlua3MgPSBzYW5pdHlDaGVja1VwbGlua3NQcm9wcyh1cGxpbmtTYW5pdHlDaGVjayh0aGlzLnVwbGlua3MpKTtcblxuICAgIGlmIChfLmlzTmlsKHRoaXMudXNlcnMpID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihgW3VzZXJzXTogcHJvcGVydHkgb24gY29uZmlndXJhdGlvbiBmaWxlXG4gICAgICBpcyBub3QgbG9uZ2VyIHN1cHBvcnRlZCwgcHJvcGVydHkgYmVpbmcgaWdub3JlZGApO1xuICAgIH1cblxuICAgIHRoaXMucGFja2FnZXMgPSBub3JtYWxpc2VQYWNrYWdlQWNjZXNzKHNlbGYucGFja2FnZXMpO1xuXG4gICAgLy8gbG9hZGluZyB0aGVzZSBmcm9tIEVOViBpZiBhcmVuJ3QgaW4gY29uZmlnXG4gICAgYWxsb3dlZEVudkNvbmZpZy5mb3JFYWNoKChlbnZDb25mKTogdm9pZCA9PiB7XG4gICAgICBpZiAoIShlbnZDb25mIGluIHNlbGYpKSB7XG4gICAgICAgIHNlbGZbZW52Q29uZl0gPSBwcm9jZXNzLmVudltlbnZDb25mXSB8fCBwcm9jZXNzLmVudltlbnZDb25mLnRvVXBwZXJDYXNlKCldO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gdW5pcXVlIGlkZW50aWZpZXIgb2Ygc2VsZiBzZXJ2ZXIgKG9yIGEgY2x1c3RlciksIHVzZWQgdG8gYXZvaWQgbG9vcHNcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKCF0aGlzLnNlcnZlcl9pZCkge1xuICAgICAgdGhpcy5zZXJ2ZXJfaWQgPSBnZW5lcmF0ZVJhbmRvbUhleFN0cmluZyg2KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgZm9yIHBhY2thZ2Ugc3BlY1xuICAgKi9cbiAgcHVibGljIGdldE1hdGNoZWRQYWNrYWdlc1NwZWMocGtnTmFtZTogc3RyaW5nKTogTWF0Y2hlZFBhY2thZ2Uge1xuICAgIHJldHVybiBnZXRNYXRjaGVkUGFja2FnZXNTcGVjKHBrZ05hbWUsIHRoaXMucGFja2FnZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0b3JlIG9yIGNyZWF0ZSB3aGV0aGVyIHJlY2VpdmUgYSBzZWNyZXQga2V5XG4gICAqL1xuICBwdWJsaWMgY2hlY2tTZWNyZXRLZXkoc2VjcmV0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChfLmlzU3RyaW5nKHNlY3JldCkgJiYgXy5pc0VtcHR5KHNlY3JldCkgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLnNlY3JldCA9IHNlY3JldDtcbiAgICAgIHJldHVybiBzZWNyZXQ7XG4gICAgfVxuICAgIC8vIGl0IGdlbmVyYXRlcyBhIHNlY3JldCBrZXlcbiAgICAvLyBGVVRVUkU6IHRoaXMgbWlnaHQgYmUgYW4gZXh0ZXJuYWwgc2VjcmV0IGtleSwgcGVyaGFwcyB3aXRoaW4gY29uZmlnIGZpbGU/XG4gICAgdGhpcy5zZWNyZXQgPSBnZW5lcmF0ZVJhbmRvbUhleFN0cmluZygzMik7XG4gICAgcmV0dXJuIHRoaXMuc2VjcmV0O1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IENvbmZpZztcbiJdfQ==
119
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY29uZmlnLnRzIl0sIm5hbWVzIjpbIkxvZ2dlckFwaSIsInJlcXVpcmUiLCJzdHJhdGVnaWNDb25maWdQcm9wcyIsImFsbG93ZWRFbnZDb25maWciLCJDb25maWciLCJjb25zdHJ1Y3RvciIsImNvbmZpZyIsInNlbGYiLCJsb2dnZXIiLCJzZWxmX3BhdGgiLCJzdG9yYWdlIiwicHJvY2VzcyIsImVudiIsIlZFUkRBQ0NJT19TVE9SQUdFX1BBVEgiLCJwbHVnaW5zIiwiY29uZmlnUHJvcCIsInVzZXJfYWdlbnQiLCJ1c2VyUmF0ZUxpbWl0IiwiZGVmYXVsdFVzZXJSYXRlTGltaXRpbmciLCJfIiwiaXNPYmplY3QiLCJBUFBfRVJST1IiLCJDT05GSUdfTk9UX1ZBTElEIiwiZm9yRWFjaCIsIngiLCJ1cGxpbmtzIiwiaXNOaWwiLCJ1c2VycyIsIndhcm4iLCJwYWNrYWdlcyIsImVudkNvbmYiLCJ0b1VwcGVyQ2FzZSIsInNlcnZlcl9pZCIsImdldE1hdGNoZWRQYWNrYWdlc1NwZWMiLCJwa2dOYW1lIiwiY2hlY2tTZWNyZXRLZXkiLCJzZWNyZXQiLCJpc1N0cmluZyIsImlzRW1wdHkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFLQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7OztBQUVBLE1BQU1BLFNBQVMsR0FBR0MsT0FBTyxDQUFDLFVBQUQsQ0FBekI7O0FBQ0EsTUFBTUMsb0JBQW9CLEdBQUcsQ0FBQyxTQUFELEVBQVksVUFBWixDQUE3QjtBQUNBLE1BQU1DLGdCQUFnQixHQUFHLENBQUMsWUFBRCxFQUFlLGFBQWYsRUFBOEIsVUFBOUIsQ0FBekI7QUFFQTtBQUNBO0FBQ0E7O0FBQ0EsTUFBTUMsTUFBTixDQUFrQztBQUVoQztBQUVBO0FBVUE7QUFHT0MsRUFBQUEsV0FBVyxDQUFDQyxNQUFELEVBQXdCO0FBQ3hDLFVBQU1DLElBQUksR0FBRyxJQUFiO0FBQ0EsU0FBS0MsTUFBTCxHQUFjUixTQUFT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Q0FBd0IsRUFBeEIsQ0FBZDtBQUNBLFdBQU8sS0FBS0EsTUFBWjtBQUNEOztBQTFGK0I7O2VBNkZuQmhDLE0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5pbXBvcnQgeyBDb25maWcgYXMgQXBwQ29uZmlnLCBMb2dnZXIsIFBhY2thZ2VMaXN0LCBSYXRlTGltaXQsIFNlY3VyaXR5IH0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5cbmltcG9ydCB7IE1hdGNoZWRQYWNrYWdlLCBTdGFydFVwQ29uZmlnIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgZGVmYXVsdFVzZXJSYXRlTGltaXRpbmcgfSBmcm9tICcuL2F1dGgtdXRpbHMnO1xuaW1wb3J0IHsgZ2V0TWF0Y2hlZFBhY2thZ2VzU3BlYywgbm9ybWFsaXNlUGFja2FnZUFjY2Vzcywgc2FuaXR5Q2hlY2tVcGxpbmtzUHJvcHMsIHVwbGlua1Nhbml0eUNoZWNrIH0gZnJvbSAnLi9jb25maWctdXRpbHMnO1xuaW1wb3J0IHsgQVBQX0VSUk9SIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2VuZXJhdGVSYW5kb21IZXhTdHJpbmcgfSBmcm9tICcuL2NyeXB0by11dGlscyc7XG5pbXBvcnQgeyBnZXRVc2VyQWdlbnQsIGlzT2JqZWN0IH0gZnJvbSAnLi91dGlscyc7XG5cbmNvbnN0IExvZ2dlckFwaSA9IHJlcXVpcmUoJy4vbG9nZ2VyJyk7XG5jb25zdCBzdHJhdGVnaWNDb25maWdQcm9wcyA9IFsndXBsaW5rcycsICdwYWNrYWdlcyddO1xuY29uc3QgYWxsb3dlZEVudkNvbmZpZyA9IFsnaHR0cF9wcm94eScsICdodHRwc19wcm94eScsICdub19wcm94eSddO1xuXG4vKipcbiAqIENvb3JkaW5hdGVzIHRoZSBhcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uXG4gKi9cbmNsYXNzIENvbmZpZyBpbXBsZW1lbnRzIEFwcENvbmZpZyB7XG4gIHB1YmxpYyBsb2dnZXI6IExvZ2dlcjtcbiAgLy8gQHRzLWlnbm9yZVxuICBwdWJsaWMgdXNlcl9hZ2VudDogYm9vbGVhbiB8IHN0cmluZztcbiAgLy8gQHRzLWlnbm9yZVxuICBwdWJsaWMgc2VjcmV0OiBzdHJpbmc7XG4gIHB1YmxpYyB1cGxpbmtzOiBhbnk7XG4gIHB1YmxpYyBwYWNrYWdlczogUGFja2FnZUxpc3Q7XG4gIHB1YmxpYyB1c2VyczogYW55O1xuICBwdWJsaWMgdXNlclJhdGVMaW1pdDogUmF0ZUxpbWl0O1xuICBwdWJsaWMgc2VydmVyX2lkOiBzdHJpbmc7XG4gIHB1YmxpYyBzZWxmX3BhdGg6IHN0cmluZztcbiAgcHVibGljIHN0b3JhZ2U6IHN0cmluZyB8IHZvaWQ7XG4gIHB1YmxpYyBwbHVnaW5zOiBzdHJpbmcgfCB2b2lkO1xuICAvLyBAdHMtaWdub3JlXG4gIHB1YmxpYyBzZWN1cml0eTogU2VjdXJpdHk7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbmZpZzogU3RhcnRVcENvbmZpZykge1xuICAgIGNvbnN0IHNlbGYgPSB0aGlzO1xuICAgIHRoaXMubG9nZ2VyID0gTG9nZ2VyQXBpLmxvZ2dlcjtcbiAgICB0aGlzLnNlbGZfcGF0aCA9IGNvbmZpZy5zZWxmX3BhdGg7XG4gICAgdGhpcy5zdG9yYWdlID0gcHJvY2Vzcy5lbnYuVkVSREFDQ0lPX1NUT1JBR0VfUEFUSCB8fCBjb25maWcuc3RvcmFnZTtcbiAgICB0aGlzLnBsdWdpbnMgPSBjb25maWcucGx1Z2lucztcblxuICAgIGZvciAoY29uc3QgY29uZmlnUHJvcCBpbiBjb25maWcpIHtcbiAgICAgIGlmIChzZWxmW2NvbmZpZ1Byb3BdID09IG51bGwpIHtcbiAgICAgICAgc2VsZltjb25maWdQcm9wXSA9IGNvbmZpZ1tjb25maWdQcm9wXTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoY29uZmlnPy51c2VyX2FnZW50KSB7XG4gICAgICB0aGlzLnVzZXJfYWdlbnQgPSBnZXRVc2VyQWdlbnQoY29uZmlnPy51c2VyX2FnZW50KTtcbiAgICB9XG5cbiAgICB0aGlzLnVzZXJSYXRlTGltaXQgPSB7IC4uLmRlZmF1bHRVc2VyUmF0ZUxpbWl0aW5nLCAuLi5jb25maWc/LnVzZXJSYXRlTGltaXQgfTtcblxuICAgIC8vIHNvbWUgd2VpcmQgc2hlbGwgc2NyaXB0cyBhcmUgdmFsaWQgeWFtbCBmaWxlcyBwYXJzZWQgYXMgc3RyaW5nXG4gICAgYXNzZXJ0KF8uaXNPYmplY3QoY29uZmlnKSwgQVBQX0VSUk9SLkNPTkZJR19OT1RfVkFMSUQpO1xuXG4gICAgLy8gc2FuaXR5IGNoZWNrIGZvciBzdHJhdGVnaWMgY29uZmlnIHByb3BlcnRpZXNcbiAgICBzdHJhdGVnaWNDb25maWdQcm9wcy5mb3JFYWNoKGZ1bmN0aW9uICh4KTogdm9pZCB7XG4gICAgICBpZiAoc2VsZlt4XSA9PSBudWxsKSB7XG4gICAgICAgIHNlbGZbeF0gPSB7fTtcbiAgICAgIH1cblxuICAgICAgYXNzZXJ0KGlzT2JqZWN0KHNlbGZbeF0pLCBgQ09ORklHOiBiYWQgXCIke3h9XCIgdmFsdWUgKG9iamVjdCBleHBlY3RlZClgKTtcbiAgICB9KTtcblxuICAgIHRoaXMudXBsaW5rcyA9IHNhbml0eUNoZWNrVXBsaW5rc1Byb3BzKHVwbGlua1Nhbml0eUNoZWNrKHRoaXMudXBsaW5rcykpO1xuXG4gICAgaWYgKF8uaXNOaWwodGhpcy51c2VycykgPT09IGZhbHNlKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKGBbdXNlcnNdOiBwcm9wZXJ0eSBvbiBjb25maWd1cmF0aW9uIGZpbGVcbiAgICAgIGlzIG5vdCBsb25nZXIgc3VwcG9ydGVkLCBwcm9wZXJ0eSBiZWluZyBpZ25vcmVkYCk7XG4gICAgfVxuXG4gICAgdGhpcy5wYWNrYWdlcyA9IG5vcm1hbGlzZVBhY2thZ2VBY2Nlc3Moc2VsZi5wYWNrYWdlcyk7XG5cbiAgICAvLyBsb2FkaW5nIHRoZXNlIGZyb20gRU5WIGlmIGFyZW4ndCBpbiBjb25maWdcbiAgICBhbGxvd2VkRW52Q29uZmlnLmZvckVhY2goKGVudkNvbmYpOiB2b2lkID0+IHtcbiAgICAgIGlmICghKGVudkNvbmYgaW4gc2VsZikpIHtcbiAgICAgICAgc2VsZltlbnZDb25mXSA9IHByb2Nlc3MuZW52W2VudkNvbmZdIHx8IHByb2Nlc3MuZW52W2VudkNvbmYudG9VcHBlckNhc2UoKV07XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyB1bmlxdWUgaWRlbnRpZmllciBvZiBzZWxmIHNlcnZlciAob3IgYSBjbHVzdGVyKSwgdXNlZCB0byBhdm9pZCBsb29wc1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBpZiAoIXRoaXMuc2VydmVyX2lkKSB7XG4gICAgICB0aGlzLnNlcnZlcl9pZCA9IGdlbmVyYXRlUmFuZG9tSGV4U3RyaW5nKDYpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBmb3IgcGFja2FnZSBzcGVjXG4gICAqL1xuICBwdWJsaWMgZ2V0TWF0Y2hlZFBhY2thZ2VzU3BlYyhwa2dOYW1lOiBzdHJpbmcpOiBNYXRjaGVkUGFja2FnZSB7XG4gICAgcmV0dXJuIGdldE1hdGNoZWRQYWNrYWdlc1NwZWMocGtnTmFtZSwgdGhpcy5wYWNrYWdlcyk7XG4gIH1cblxuICAvKipcbiAgICogU3RvcmUgb3IgY3JlYXRlIHdoZXRoZXIgcmVjZWl2ZSBhIHNlY3JldCBrZXlcbiAgICovXG4gIHB1YmxpYyBjaGVja1NlY3JldEtleShzZWNyZXQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgaWYgKF8uaXNTdHJpbmcoc2VjcmV0KSAmJiBfLmlzRW1wdHkoc2VjcmV0KSA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuc2VjcmV0ID0gc2VjcmV0O1xuICAgICAgcmV0dXJuIHNlY3JldDtcbiAgICB9XG4gICAgLy8gaXQgZ2VuZXJhdGVzIGEgc2VjcmV0IGtleVxuICAgIC8vIEZVVFVSRTogdGhpcyBtaWdodCBiZSBhbiBleHRlcm5hbCBzZWNyZXQga2V5LCBwZXJoYXBzIHdpdGhpbiBjb25maWcgZmlsZT9cbiAgICB0aGlzLnNlY3JldCA9IGdlbmVyYXRlUmFuZG9tSGV4U3RyaW5nKDMyKTtcbiAgICByZXR1cm4gdGhpcy5zZWNyZXQ7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgQ29uZmlnO1xuIl19
@@ -18,9 +18,9 @@ var _jsonwebtoken = _interopRequireDefault(require("jsonwebtoken"));
18
18
 
19
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
20
 
21
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
21
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
22
22
 
23
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
23
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
24
24
 
25
25
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
26
26
 
@@ -84,4 +84,4 @@ async function signPayload(payload, secretOrPrivateKey, options) {
84
84
  function verifyPayload(token, secretOrPrivateKey) {
85
85
  return _jsonwebtoken.default.verify(token, secretOrPrivateKey);
86
86
  }
87
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY3J5cHRvLXV0aWxzLnRzIl0sIm5hbWVzIjpbImRlZmF1bHRBbGdvcml0aG0iLCJkZWZhdWx0VGFyYmFsbEhhc2hBbGdvcml0aG0iLCJhZXNFbmNyeXB0IiwiYnVmIiwic2VjcmV0IiwiYyIsImIxIiwidXBkYXRlIiwiYjIiLCJmaW5hbCIsIkJ1ZmZlciIsImNvbmNhdCIsImFlc0RlY3J5cHQiLCJfIiwiYWxsb2MiLCJjcmVhdGVUYXJiYWxsSGFzaCIsInN0cmluZ1RvTUQ1IiwiZGF0YSIsImRpZ2VzdCIsImdlbmVyYXRlUmFuZG9tSGV4U3RyaW5nIiwibGVuZ3RoIiwidG9TdHJpbmciLCJzaWduUGF5bG9hZCIsInBheWxvYWQiLCJzZWNyZXRPclByaXZhdGVLZXkiLCJvcHRpb25zIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJqd3QiLCJzaWduIiwibm90QmVmb3JlIiwiZXJyb3IiLCJ0b2tlbiIsInZlcmlmeVBheWxvYWQiLCJ2ZXJpZnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7Ozs7Ozs7QUFJTyxNQUFNQSxnQkFBZ0IsR0FBRyxRQUF6Qjs7QUFDQSxNQUFNQywyQkFBMkIsR0FBRyxNQUFwQzs7O0FBRUEsU0FBU0MsVUFBVCxDQUFvQkMsR0FBcEIsRUFBaUNDLE1BQWpDLEVBQXlEO0FBQzlEO0FBQ0E7QUFDQTtBQUNBLFFBQU1DLENBQUMsR0FBRywwQkFBYUwsZ0JBQWIsRUFBK0JJLE1BQS9CLENBQVY7QUFDQSxRQUFNRSxFQUFFLEdBQUdELENBQUMsQ0FBQ0UsTUFBRixDQUFTSixHQUFULENBQVg7QUFDQSxRQUFNSyxFQUFFLEdBQUdILENBQUMsQ0FBQ0ksS0FBRixFQUFYO0FBQ0EsU0FBT0MsTUFBTSxDQUFDQyxNQUFQLENBQWMsQ0FBQ0wsRUFBRCxFQUFLRSxFQUFMLENBQWQsQ0FBUDtBQUNEOztBQUVNLFNBQVNJLFVBQVQsQ0FBb0JULEdBQXBCLEVBQWlDQyxNQUFqQyxFQUF5RDtBQUM5RCxNQUFJO0FBQ0Y7QUFDQTtBQUNBO0FBQ0EsVUFBTUMsQ0FBQyxHQUFHLDRCQUFlTCxnQkFBZixFQUFpQ0ksTUFBakMsQ0FBVjtBQUNBLFVBQU1FLEVBQUUsR0FBR0QsQ0FBQyxDQUFDRSxNQUFGLENBQVNKLEdBQVQsQ0FBWDtBQUNBLFVBQU1LLEVBQUUsR0FBR0gsQ0FBQyxDQUFDSSxLQUFGLEVBQVg7QUFDQSxXQUFPQyxNQUFNLENBQUNDLE1BQVAsQ0FBYyxDQUFDTCxFQUFELEVBQUtFLEVBQUwsQ0FBZCxDQUFQO0FBQ0QsR0FSRCxDQVFFLE9BQU9LLENBQVAsRUFBVTtBQUNWLFdBQU9ILE1BQU0sQ0FBQ0ksS0FBUCxDQUFhLENBQWIsQ0FBUDtBQUNEO0FBQ0Y7O0FBRU0sU0FBU0MsaUJBQVQsR0FBbUM7QUFDeEMsU0FBTyx3QkFBV2QsMkJBQVgsQ0FBUDtBQUNEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLFNBQVNlLFdBQVQsQ0FBcUJDLElBQXJCLEVBQW9EO0FBQ3pELFNBQU8sd0JBQVcsS0FBWCxFQUFrQlYsTUFBbEIsQ0FBeUJVLElBQXpCLEVBQStCQyxNQUEvQixDQUFzQyxLQUF0QyxDQUFQO0FBQ0Q7O0FBRU0sU0FBU0MsdUJBQVQsQ0FBaUNDLE1BQU0sR0FBRyxDQUExQyxFQUFxRDtBQUMxRCxTQUFPLCtCQUFrQkEsTUFBbEIsRUFBMEJDLFFBQTFCLENBQW1DLEtBQW5DLENBQVA7QUFDRDs7QUFFTSxlQUFlQyxXQUFmLENBQ0xDLE9BREssRUFFTEMsa0JBRkssRUFHTEMsT0FISyxFQUlZO0FBQ2pCLFNBQU8sSUFBSUMsT0FBSixDQUFZLFVBQVVDLE9BQVYsRUFBbUJDLE1BQW5CLEVBQTRDO0FBQzdELFdBQU9DLHNCQUFJQyxJQUFKLENBQ0xQLE9BREssRUFFTEMsa0JBRks7QUFJSE8sTUFBQUEsU0FBUyxFQUFFO0FBSlIsT0FLQU4sT0FMQSxHQU9MLENBQUNPLEtBQUQsRUFBUUMsS0FBUixLQUFtQkQsS0FBSyxHQUFHSixNQUFNLENBQUNJLEtBQUQsQ0FBVCxHQUFtQkwsT0FBTyxDQUFDTSxLQUFELENBUDdDLENBQVA7QUFTRCxHQVZNLENBQVA7QUFXRDs7QUFFTSxTQUFTQyxhQUFULENBQXVCRCxLQUF2QixFQUFzQ1Qsa0JBQXRDLEVBQThFO0FBQ25GLFNBQU9LLHNCQUFJTSxNQUFKLENBQVdGLEtBQVgsRUFBa0JULGtCQUFsQixDQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVEZWNpcGhlciwgY3JlYXRlQ2lwaGVyLCBjcmVhdGVIYXNoLCBwc2V1ZG9SYW5kb21CeXRlcywgSGFzaCB9IGZyb20gJ2NyeXB0byc7XG5pbXBvcnQgand0IGZyb20gJ2pzb253ZWJ0b2tlbic7XG5cbmltcG9ydCB7IEpXVFNpZ25PcHRpb25zLCBSZW1vdGVVc2VyIH0gZnJvbSAnQHZlcmRhY2Npby90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0QWxnb3JpdGhtID0gJ2FlczE5Mic7XG5leHBvcnQgY29uc3QgZGVmYXVsdFRhcmJhbGxIYXNoQWxnb3JpdGhtID0gJ3NoYTEnO1xuXG5leHBvcnQgZnVuY3Rpb24gYWVzRW5jcnlwdChidWY6IEJ1ZmZlciwgc2VjcmV0OiBzdHJpbmcpOiBCdWZmZXIge1xuICAvLyBkZXByZWNhdGVkIChpdCB3aWxsIGJlIG1pZ3JhdGVkIGluIFZlcmRhY2NpbyA1KSwgaXQgaXMgYSBicmVha2luZyBjaGFuZ2VcbiAgLy8gaHR0cHM6Ly9ub2RlanMub3JnL2FwaS9jcnlwdG8uaHRtbCNjcnlwdG9fY3J5cHRvX2NyZWF0ZWNpcGhlcl9hbGdvcml0aG1fcGFzc3dvcmRfb3B0aW9uc1xuICAvLyBodHRwczovL3d3dy5ncmFpbmdlci54eXovY2hhbmdpbmctZnJvbS1jaXBoZXItdG8tY2lwaGVyaXYvXG4gIGNvbnN0IGMgPSBjcmVhdGVDaXBoZXIoZGVmYXVsdEFsZ29yaXRobSwgc2VjcmV0KTtcbiAgY29uc3QgYjEgPSBjLnVwZGF0ZShidWYpO1xuICBjb25zdCBiMiA9IGMuZmluYWwoKTtcbiAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW2IxLCBiMl0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWVzRGVjcnlwdChidWY6IEJ1ZmZlciwgc2VjcmV0OiBzdHJpbmcpOiBCdWZmZXIge1xuICB0cnkge1xuICAgIC8vIGRlcHJlY2F0ZWQgKGl0IHdpbGwgYmUgbWlncmF0ZWQgaW4gVmVyZGFjY2lvIDUpLCBpdCBpcyBhIGJyZWFraW5nIGNoYW5nZVxuICAgIC8vIGh0dHBzOi8vbm9kZWpzLm9yZy9hcGkvY3J5cHRvLmh0bWwjY3J5cHRvX2NyeXB0b19jcmVhdGVkZWNpcGhlcl9hbGdvcml0aG1fcGFzc3dvcmRfb3B0aW9uc1xuICAgIC8vIGh0dHBzOi8vd3d3LmdyYWluZ2VyLnh5ei9jaGFuZ2luZy1mcm9tLWNpcGhlci10by1jaXBoZXJpdi9cbiAgICBjb25zdCBjID0gY3JlYXRlRGVjaXBoZXIoZGVmYXVsdEFsZ29yaXRobSwgc2VjcmV0KTtcbiAgICBjb25zdCBiMSA9IGMudXBkYXRlKGJ1Zik7XG4gICAgY29uc3QgYjIgPSBjLmZpbmFsKCk7XG4gICAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoW2IxLCBiMl0pO1xuICB9IGNhdGNoIChfKSB7XG4gICAgcmV0dXJuIEJ1ZmZlci5hbGxvYygwKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVGFyYmFsbEhhc2goKTogSGFzaCB7XG4gIHJldHVybiBjcmVhdGVIYXNoKGRlZmF1bHRUYXJiYWxsSGFzaEFsZ29yaXRobSk7XG59XG5cbi8qKlxuICogRXhwcmVzcyBkb2Vzbid0IGRvIEVUQUdTIHdpdGggcmVxdWVzdHMgPD0gMTAyNGJcbiAqIHdlIHVzZSBtZDUgaGVyZSwgaXQgd29ya3Mgd2VsbCBvbiAxaysgYnl0ZXMsIGJ1dCBzdWNrcyB3aXRoIGZld2VyIGRhdGFcbiAqIGNvdWxkIGltcHJvdmUgcGVyZm9ybWFuY2UgdXNpbmcgY3JjMzIgYWZ0ZXIgYmVuY2htYXJrcy5cbiAqIEBwYXJhbSB7T2JqZWN0fSBkYXRhXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpbmdUb01ENShkYXRhOiBCdWZmZXIgfCBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gY3JlYXRlSGFzaCgnbWQ1JykudXBkYXRlKGRhdGEpLmRpZ2VzdCgnaGV4Jyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0ZVJhbmRvbUhleFN0cmluZyhsZW5ndGggPSA4KTogc3RyaW5nIHtcbiAgcmV0dXJuIHBzZXVkb1JhbmRvbUJ5dGVzKGxlbmd0aCkudG9TdHJpbmcoJ2hleCcpO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2lnblBheWxvYWQoXG4gIHBheWxvYWQ6IFJlbW90ZVVzZXIsXG4gIHNlY3JldE9yUHJpdmF0ZUtleTogc3RyaW5nLFxuICBvcHRpb25zOiBKV1RTaWduT3B0aW9uc1xuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIHJldHVybiBqd3Quc2lnbihcbiAgICAgIHBheWxvYWQsXG4gICAgICBzZWNyZXRPclByaXZhdGVLZXksXG4gICAgICB7XG4gICAgICAgIG5vdEJlZm9yZTogJzEnLCAvLyBNYWtlIHN1cmUgdGhlIHRpbWUgd2lsbCBub3Qgcm9sbGJhY2sgOilcbiAgICAgICAgLi4ub3B0aW9uc1xuICAgICAgfSxcbiAgICAgIChlcnJvciwgdG9rZW4pID0+IChlcnJvciA/IHJlamVjdChlcnJvcikgOiByZXNvbHZlKHRva2VuKSlcbiAgICApO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeVBheWxvYWQodG9rZW46IHN0cmluZywgc2VjcmV0T3JQcml2YXRlS2V5OiBzdHJpbmcpOiBSZW1vdGVVc2VyIHtcbiAgcmV0dXJuIGp3dC52ZXJpZnkodG9rZW4sIHNlY3JldE9yUHJpdmF0ZUtleSk7XG59XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY3J5cHRvLXV0aWxzLnRzIl0sIm5hbWVzIjpbImRlZmF1bHRBbGdvcml0aG0iLCJkZWZhdWx0VGFyYmFsbEhhc2hBbGdvcml0aG0iLCJhZXNFbmNyeXB0IiwiYnVmIiwic2VjcmV0IiwiYyIsImIxIiwidXBkYXRlIiwiYjIiLCJmaW5hbCIsIkJ1ZmZlciIsImNvbmNhdCIsImFlc0RlY3J5cHQiLCJfIiwiYWxsb2MiLCJjcmVhdGVUYXJiYWxsSGFzaCIsInN0cmluZ1RvTUQ1IiwiZGF0YSIsImRpZ2VzdCIsImdlbmVyYXRlUmFuZG9tSGV4U3RyaW5nIiwibGVuZ3RoIiwidG9TdHJpbmciLCJzaWduUGF5bG9hZCIsInBheWxvYWQiLCJzZWNyZXRPclByaXZhdGVLZXkiLCJvcHRpb25zIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJqd3QiLCJzaWduIiwibm90QmVmb3JlIiwiZXJyb3IiLCJ0b2tlbiIsInZlcmlmeVBheWxvYWQiLCJ2ZXJpZnkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7Ozs7Ozs7QUFJTyxNQUFNQSxnQkFBZ0IsR0FBRyxRQUF6Qjs7QUFDQSxNQUFNQywyQkFBMkIsR0FBRyxNQUFwQzs7O0FBRUEsU0FBU0MsVUFBVCxDQUFvQkMsR0FBcEIsRUFBaUNDLE1BQWpDLEVBQXlEO0FBQzlEO0FBQ0E7QUFDQTtBQUNBLFFBQU1DLENBQUMsR0FBRywwQkFBYUwsZ0JBQWIsRUFBK0JJLE1BQS9CLENBQVY7QUFDQSxRQUFNRSxFQUFFLEdBQUdELENBQUMsQ0FBQ0UsTUFBRixDQUFTSixHQUFULENBQVg7QUFDQSxRQUFNSyxFQUFFLEdBQUdILENBQUMsQ0FBQ0ksS0FBRixFQUFYO0FBQ0EsU0FBT0MsTUFBTSxDQUFDQyxNQUFQLENBQWMsQ0FBQ0wsRUFBRCxFQUFLRSxFQUFMLENBQWQsQ0FBUDtBQUNEOztBQUVNLFNBQVNJLFVBQVQsQ0FBb0JULEdBQXBCLEVBQWlDQyxNQUFqQyxFQUF5RDtBQUM5RCxNQUFJO0FBQ0Y7QUFDQTtBQUNBO0FBQ0EsVUFBTUMsQ0FBQyxHQUFHLDRCQUFlTCxnQkFBZixFQUFpQ0ksTUFBakMsQ0FBVjtBQUNBLFVBQU1FLEVBQUUsR0FBR0QsQ0FBQyxDQUFDRSxNQUFGLENBQVNKLEdBQVQsQ0FBWDtBQUNBLFVBQU1LLEVBQUUsR0FBR0gsQ0FBQyxDQUFDSSxLQUFGLEVBQVg7QUFDQSxXQUFPQyxNQUFNLENBQUNDLE1BQVAsQ0FBYyxDQUFDTCxFQUFELEVBQUtFLEVBQUwsQ0FBZCxDQUFQO0FBQ0QsR0FSRCxDQVFFLE9BQU9LLENBQVAsRUFBVTtBQUNWLFdBQU9ILE1BQU0sQ0FBQ0ksS0FBUCxDQUFhLENBQWIsQ0FBUDtBQUNEO0FBQ0Y7O0FBRU0sU0FBU0MsaUJBQVQsR0FBbUM7QUFDeEMsU0FBTyx3QkFBV2QsMkJBQVgsQ0FBUDtBQUNEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNPLFNBQVNlLFdBQVQsQ0FBcUJDLElBQXJCLEVBQW9EO0FBQ3pELFNBQU8sd0JBQVcsS0FBWCxFQUFrQlYsTUFBbEIsQ0FBeUJVLElBQXpCLEVBQStCQyxNQUEvQixDQUFzQyxLQUF0QyxDQUFQO0FBQ0Q7O0FBRU0sU0FBU0MsdUJBQVQsQ0FBaUNDLE1BQU0sR0FBRyxDQUExQyxFQUFxRDtBQUMxRCxTQUFPLCtCQUFrQkEsTUFBbEIsRUFBMEJDLFFBQTFCLENBQW1DLEtBQW5DLENBQVA7QUFDRDs7QUFFTSxlQUFlQyxXQUFmLENBQTJCQyxPQUEzQixFQUFnREMsa0JBQWhELEVBQTRFQyxPQUE1RSxFQUFzSDtBQUMzSCxTQUFPLElBQUlDLE9BQUosQ0FBWSxVQUFVQyxPQUFWLEVBQW1CQyxNQUFuQixFQUE0QztBQUM3RCxXQUFPQyxzQkFBSUMsSUFBSixDQUNMUCxPQURLLEVBRUxDLGtCQUZLO0FBSUhPLE1BQUFBLFNBQVMsRUFBRTtBQUpSLE9BS0FOLE9BTEEsR0FPTCxDQUFDTyxLQUFELEVBQVFDLEtBQVIsS0FBbUJELEtBQUssR0FBR0osTUFBTSxDQUFDSSxLQUFELENBQVQsR0FBbUJMLE9BQU8sQ0FBQ00sS0FBRCxDQVA3QyxDQUFQO0FBU0QsR0FWTSxDQUFQO0FBV0Q7O0FBRU0sU0FBU0MsYUFBVCxDQUF1QkQsS0FBdkIsRUFBc0NULGtCQUF0QyxFQUE4RTtBQUNuRixTQUFPSyxzQkFBSU0sTUFBSixDQUFXRixLQUFYLEVBQWtCVCxrQkFBbEIsQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFzaCwgY3JlYXRlQ2lwaGVyLCBjcmVhdGVEZWNpcGhlciwgY3JlYXRlSGFzaCwgcHNldWRvUmFuZG9tQnl0ZXMgfSBmcm9tICdjcnlwdG8nO1xuaW1wb3J0IGp3dCBmcm9tICdqc29ud2VidG9rZW4nO1xuXG5pbXBvcnQgeyBKV1RTaWduT3B0aW9ucywgUmVtb3RlVXNlciB9IGZyb20gJ0B2ZXJkYWNjaW8vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEFsZ29yaXRobSA9ICdhZXMxOTInO1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRUYXJiYWxsSGFzaEFsZ29yaXRobSA9ICdzaGExJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFlc0VuY3J5cHQoYnVmOiBCdWZmZXIsIHNlY3JldDogc3RyaW5nKTogQnVmZmVyIHtcbiAgLy8gZGVwcmVjYXRlZCAoaXQgd2lsbCBiZSBtaWdyYXRlZCBpbiBWZXJkYWNjaW8gNSksIGl0IGlzIGEgYnJlYWtpbmcgY2hhbmdlXG4gIC8vIGh0dHBzOi8vbm9kZWpzLm9yZy9hcGkvY3J5cHRvLmh0bWwjY3J5cHRvX2NyeXB0b19jcmVhdGVjaXBoZXJfYWxnb3JpdGhtX3Bhc3N3b3JkX29wdGlvbnNcbiAgLy8gaHR0cHM6Ly93d3cuZ3JhaW5nZXIueHl6L2NoYW5naW5nLWZyb20tY2lwaGVyLXRvLWNpcGhlcml2L1xuICBjb25zdCBjID0gY3JlYXRlQ2lwaGVyKGRlZmF1bHRBbGdvcml0aG0sIHNlY3JldCk7XG4gIGNvbnN0IGIxID0gYy51cGRhdGUoYnVmKTtcbiAgY29uc3QgYjIgPSBjLmZpbmFsKCk7XG4gIHJldHVybiBCdWZmZXIuY29uY2F0KFtiMSwgYjJdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFlc0RlY3J5cHQoYnVmOiBCdWZmZXIsIHNlY3JldDogc3RyaW5nKTogQnVmZmVyIHtcbiAgdHJ5IHtcbiAgICAvLyBkZXByZWNhdGVkIChpdCB3aWxsIGJlIG1pZ3JhdGVkIGluIFZlcmRhY2NpbyA1KSwgaXQgaXMgYSBicmVha2luZyBjaGFuZ2VcbiAgICAvLyBodHRwczovL25vZGVqcy5vcmcvYXBpL2NyeXB0by5odG1sI2NyeXB0b19jcnlwdG9fY3JlYXRlZGVjaXBoZXJfYWxnb3JpdGhtX3Bhc3N3b3JkX29wdGlvbnNcbiAgICAvLyBodHRwczovL3d3dy5ncmFpbmdlci54eXovY2hhbmdpbmctZnJvbS1jaXBoZXItdG8tY2lwaGVyaXYvXG4gICAgY29uc3QgYyA9IGNyZWF0ZURlY2lwaGVyKGRlZmF1bHRBbGdvcml0aG0sIHNlY3JldCk7XG4gICAgY29uc3QgYjEgPSBjLnVwZGF0ZShidWYpO1xuICAgIGNvbnN0IGIyID0gYy5maW5hbCgpO1xuICAgIHJldHVybiBCdWZmZXIuY29uY2F0KFtiMSwgYjJdKTtcbiAgfSBjYXRjaCAoXykge1xuICAgIHJldHVybiBCdWZmZXIuYWxsb2MoMCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRhcmJhbGxIYXNoKCk6IEhhc2gge1xuICByZXR1cm4gY3JlYXRlSGFzaChkZWZhdWx0VGFyYmFsbEhhc2hBbGdvcml0aG0pO1xufVxuXG4vKipcbiAqIEV4cHJlc3MgZG9lc24ndCBkbyBFVEFHUyB3aXRoIHJlcXVlc3RzIDw9IDEwMjRiXG4gKiB3ZSB1c2UgbWQ1IGhlcmUsIGl0IHdvcmtzIHdlbGwgb24gMWsrIGJ5dGVzLCBidXQgc3Vja3Mgd2l0aCBmZXdlciBkYXRhXG4gKiBjb3VsZCBpbXByb3ZlIHBlcmZvcm1hbmNlIHVzaW5nIGNyYzMyIGFmdGVyIGJlbmNobWFya3MuXG4gKiBAcGFyYW0ge09iamVjdH0gZGF0YVxuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc3RyaW5nVG9NRDUoZGF0YTogQnVmZmVyIHwgc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGNyZWF0ZUhhc2goJ21kNScpLnVwZGF0ZShkYXRhKS5kaWdlc3QoJ2hleCcpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVSYW5kb21IZXhTdHJpbmcobGVuZ3RoID0gOCk6IHN0cmluZyB7XG4gIHJldHVybiBwc2V1ZG9SYW5kb21CeXRlcyhsZW5ndGgpLnRvU3RyaW5nKCdoZXgnKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNpZ25QYXlsb2FkKHBheWxvYWQ6IFJlbW90ZVVzZXIsIHNlY3JldE9yUHJpdmF0ZUtleTogc3RyaW5nLCBvcHRpb25zOiBKV1RTaWduT3B0aW9ucyk6IFByb21pc2U8c3RyaW5nPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gand0LnNpZ24oXG4gICAgICBwYXlsb2FkLFxuICAgICAgc2VjcmV0T3JQcml2YXRlS2V5LFxuICAgICAge1xuICAgICAgICBub3RCZWZvcmU6ICcxJywgLy8gTWFrZSBzdXJlIHRoZSB0aW1lIHdpbGwgbm90IHJvbGxiYWNrIDopXG4gICAgICAgIC4uLm9wdGlvbnMsXG4gICAgICB9LFxuICAgICAgKGVycm9yLCB0b2tlbikgPT4gKGVycm9yID8gcmVqZWN0KGVycm9yKSA6IHJlc29sdmUodG9rZW4pKVxuICAgICk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdmVyaWZ5UGF5bG9hZCh0b2tlbjogc3RyaW5nLCBzZWNyZXRPclByaXZhdGVLZXk6IHN0cmluZyk6IFJlbW90ZVVzZXIge1xuICByZXR1cm4gand0LnZlcmlmeSh0b2tlbiwgc2VjcmV0T3JQcml2YXRlS2V5KTtcbn1cbiJdfQ==