@secrecy/lib 1.0.0-dev.2 → 1.0.0-dev.20

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.
@@ -13,5 +13,5 @@ declare type Options = {
13
13
  declare type Callback = (err?: Error, data?: unknown) => void;
14
14
  export declare function popup(url: string, name: string, options: Partial<Options>, callback: Callback): Window | null;
15
15
  export declare function popupWithPost(url: string, postData: Record<string, string>, name: string, options: Partial<Options>, callback: Callback): Window | null;
16
- export declare function popupResponse<T extends unknown>(data: T): string;
16
+ export declare function popupResponse<T>(data: T): string;
17
17
  export {};
package/lib/PopupTools.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
 
3
- 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; }
3
+ 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; }
4
4
 
5
- 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; }
5
+ 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; }
6
6
 
7
7
  /**
8
8
  * TS Rewrite of https://github.com/enhancv/popup-tools
@@ -210,4 +210,4 @@ export function popupResponse(data) {
210
210
  var jsonData = JSON.stringify(data);
211
211
  return "<script>window.opener.postMessage(" + jsonData + ", \"*\");setTimeout(function() { window.close(); }, 50);</script>";
212
212
  }
213
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Qb3B1cFRvb2xzLnRzIl0sIm5hbWVzIjpbImRlZmF1bHRPcHRpb25zIiwid2lkdGgiLCJoZWlnaHQiLCJtZW51YmFyIiwicmVzaXphYmxlIiwibG9jYXRpb24iLCJzY3JvbGxiYXJzIiwiY2VudGVyZWQiLCJwb3B1cENvdW50Iiwib3B0aW9uc1RvU3RyaW5nIiwib3B0aW9ucyIsIk9iamVjdCIsImVudHJpZXMiLCJtYXAiLCJrIiwidiIsImpvaW4iLCJkZWZhdWx0UG9wdXBOYW1lIiwib3B0aW9uc1Jlc29sdmVDZW50ZXJlZCIsIkVycm9yIiwicmVzdWx0Iiwid2luZG93Iiwib3V0ZXJXaWR0aCIsIm91dGVySGVpZ2h0IiwibGVmdCIsIk1hdGgiLCJyb3VuZCIsInNjcmVlblgiLCJ0b3AiLCJzY3JlZW5ZIiwib3BlblBvcHVwV2l0aFBvc3QiLCJ1cmwiLCJwb3N0RGF0YSIsIm5hbWUiLCJmb3JtIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwid2luIiwic2V0QXR0cmlidXRlIiwia2V5cyIsImZvckVhY2giLCJhZGRGb3JtSXRlbSIsImtleSIsImlucHV0IiwidHlwZSIsInZhbHVlIiwiYXBwZW5kQ2hpbGQiLCJib2R5Iiwib3BlbiIsIndyaXRlIiwic3VibWl0IiwicmVtb3ZlQ2hpbGQiLCJwb3B1cEV4ZWN1dGUiLCJleGVjdXRlIiwiY2FsbGJhY2siLCJwb3B1cE5hbWUiLCJwb3B1cE9wdGlvbnMiLCJhc3NpZ24iLCJwb3B1cENhbGxiYWNrIiwibm9vcCIsIm9wdGlvbnNTdHJpbmciLCJpc01lc3NhZ2VTZW50IiwiaW50ZXJ2YWwiLCJwb3B1cENhbGxiYWNrT25jZSIsImVyciIsImRhdGEiLCJvbk1lc3NhZ2UiLCJtZXNzYWdlIiwidW5kZWZpbmVkIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImFkZEV2ZW50TGlzdGVuZXIiLCJzZXRJbnRlcnZhbCIsImNsb3NlUG9wdXBDYWxsYmFjayIsImNsb3NlZCIsInNldFRpbWVvdXQiLCJkZWxheVdpbmRvd0Nsb3NpbmciLCJjbGVhckludGVydmFsIiwicG9wdXAiLCJwb3B1cFdpdGhQb3N0Iiwib3BlbldpdGhQb3N0RGF0YSIsInBvcHVwVXJsIiwicG9wdXBSZXNwb25zZSIsImpzb25EYXRhIiwiSlNPTiIsInN0cmluZ2lmeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBZUEsSUFBTUEsY0FBdUIsR0FBRztBQUM5QkMsRUFBQUEsS0FBSyxFQUFFLEdBRHVCO0FBRTlCQyxFQUFBQSxNQUFNLEVBQUUsR0FGc0I7QUFHOUJDLEVBQUFBLE9BQU8sRUFBRSxJQUhxQjtBQUk5QkMsRUFBQUEsU0FBUyxFQUFFLEtBSm1CO0FBSzlCQyxFQUFBQSxRQUFRLEVBQUUsS0FMb0I7QUFNOUJDLEVBQUFBLFVBQVUsRUFBRSxJQU5rQjtBQU85QkMsRUFBQUEsUUFBUSxFQUFFO0FBUG9CLENBQWhDO0FBa0JBLElBQUlDLFVBQVUsR0FBRyxDQUFqQjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxTQUFTQyxlQUFULENBQTRDQyxPQUE1QyxFQUFnRTtBQUM5RCxTQUFPQyxNQUFNLENBQUNDLE9BQVAsQ0FBZUYsT0FBZixFQUNKRyxHQURJLENBQ0E7QUFBQSxRQUFFQyxDQUFGO0FBQUEsUUFBS0MsQ0FBTDtBQUFBLFdBQWVELENBQWYsU0FBb0JDLENBQXBCO0FBQUEsR0FEQSxFQUVKQyxJQUZJLENBRUMsR0FGRCxDQUFQO0FBR0Q7QUFFRDtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsU0FBU0MsZ0JBQVQsR0FBb0M7QUFDbENULEVBQUFBLFVBQVUsSUFBSSxDQUFkO0FBQ0Esb0JBQWdCQSxVQUFoQjtBQUNEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFNBQVNVLHNCQUFULENBQWdDUixPQUFoQyxFQUEyRDtBQUN6RCxNQUFJLENBQUNBLE9BQU8sQ0FBQ1QsS0FBVCxJQUFrQixDQUFDUyxPQUFPLENBQUNSLE1BQS9CLEVBQXVDO0FBQ3JDLFVBQU0sSUFB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O0FBQ0E7O0FBQ0EsT0FBTyxTQUFTMkIsYUFBVCxDQUEwQ2hCLElBQTFDLEVBQTJEO0FBQ2hFLE1BQU1pQixRQUFRLEdBQUdDLElBQUksQ0FBQ0MsU0FBTCxDQUFlbkIsSUFBZixDQUFqQjtBQUVBLGdEQUE0Q2lCLFFBQTVDO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRTIFJld3JpdGUgb2YgaHR0cHM6Ly9naXRodWIuY29tL2VuaGFuY3YvcG9wdXAtdG9vbHNcbiAqL1xuXG50eXBlIFllc05vID0gXCJ5ZXNcIiB8IFwibm9cIjtcbnR5cGUgT3B0aW9ucyA9IHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgbWVudWJhcjogWWVzTm87XG4gIHJlc2l6YWJsZTogWWVzTm87XG4gIGxvY2F0aW9uOiBZZXNObztcbiAgc2Nyb2xsYmFyczogWWVzTm87XG4gIGNlbnRlcmVkPzogYm9vbGVhbjtcbiAgbGVmdD86IG51bWJlcjtcbiAgdG9wPzogbnVtYmVyO1xufTtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE9wdGlvbnMgPSB7XG4gIHdpZHRoOiA3MDAsXG4gIGhlaWdodDogNTIwLFxuICBtZW51YmFyOiBcIm5vXCIsXG4gIHJlc2l6YWJsZTogXCJ5ZXNcIixcbiAgbG9jYXRpb246IFwieWVzXCIsXG4gIHNjcm9sbGJhcnM6IFwibm9cIixcbiAgY2VudGVyZWQ6IHRydWVcbn07XG5cbnR5cGUgQ2FsbGJhY2sgPSAoZXJyPzogRXJyb3IsIGRhdGE/OiB1bmtub3duKSA9PiB2b2lkO1xuXG50eXBlIFdpbmRvd09wZW4gPSAoXG4gIHBvcHVwVXJsOiBzdHJpbmcsXG4gIHBvcHVwTmFtZTogc3RyaW5nLFxuICBvcHRpb25zU3RyaW5nOiBzdHJpbmdcbikgPT4gV2luZG93IHwgbnVsbDtcblxubGV0IHBvcHVwQ291bnQgPSAxO1xuXG4vKipcbiAqIFJldHVybiBvcHRpb25zIGNvbnZlcnRlZCB0byBhIHN0cmluZ1xuICpcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5mdW5jdGlvbiBvcHRpb25zVG9TdHJpbmc8VCBleHRlbmRzIE9wdGlvbnM+KG9wdGlvbnM6IFQpOiBzdHJpbmcge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMob3B0aW9ucylcbiAgICAubWFwKChbaywgdl0pID0+IGAke2t9PSR7dn1gKVxuICAgIC5qb2luKFwiLFwiKTtcbn1cblxuLyoqXG4gKiBHZXQgYSB1bmlxdWUgbmFtZSBvbiBlYWNoIGNhbGxcbiAqIEByZXR1cm4ge1N0cmluZ31cbiAqL1xuZnVuY3Rpb24gZGVmYXVsdFBvcHVwTmFtZSgpOiBzdHJpbmcge1xuICBwb3B1cENvdW50ICs9IDE7XG4gIHJldHVybiBgUG9wdXAgJHtwb3B1cENvdW50fWA7XG59XG5cbi8qKlxuICogQ29udmVydCBcImNlbnRlcmVkOiB0cnVlXCIga2V5IGludG8gY29uY3JldGUgbGVmdCBhbmQgdG9wIGFyZ3VtZW50c1xuICogQm90aCBjYW4gYmUgb3ZlcndyaXR0ZW5cbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnNcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gb3B0aW9uc1Jlc29sdmVDZW50ZXJlZChvcHRpb25zOiBPcHRpb25zKTogT3B0aW9ucyB7XG4gIGlmICghb3B0aW9ucy53aWR0aCB8fCAhb3B0aW9ucy5oZWlnaHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJTaG91bGQgaGF2ZSB3aWR0aCBhbmQgaGVpZ2h0XCIpO1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9IHsgLi4ub3B0aW9ucyB9O1xuICBjb25zdCB3aWR0aCA9IHdpbmRvdy5vdXRlcldpZHRoIC0gb3B0aW9ucy53aWR0aDtcbiAgY29uc3QgaGVpZ2h0ID0gd2luZG93Lm91dGVySGVpZ2h0IC0gb3B0aW9ucy5oZWlnaHQ7XG5cbiAgaWYgKG9wdGlvbnMuY2VudGVyZWQpIHtcbiAgICByZXN1bHQubGVmdCA9IG9wdGlvbnMubGVmdCB8fCBNYXRoLnJvdW5kKHdpbmRvdy5zY3JlZW5YICsgd2lkdGggLyAyKTtcbiAgICByZXN1bHQudG9wID0gb3B0aW9ucy50b3AgfHwgTWF0aC5yb3VuZCh3aW5kb3cuc2NyZWVuWSArIGhlaWdodCAvIDIuNSk7XG4gICAgZGVsZXRlIHJlc3VsdC5jZW50ZXJlZDtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGZvcm0gZWxlbWVudCwgYWRkIGhpZGRlbiBpbnB1dHMgZm9yIGFsbCB0aGUgcG9zdCBkYXRhXG4gKiBhbmQgcG9zdCBpdCBpbnRvIGEgbmV3bHkgb3BlbmVkIHBvcHVwXG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSAge09iamVjdH0gcG9zdERhdGFcbiAqIEBwYXJhbSAge1N0cmluZ30gbmFtZVxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmZ1bmN0aW9uIG9wZW5Qb3B1cFdpdGhQb3N0KFxuICB1cmw6IHN0cmluZyxcbiAgcG9zdERhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogc3RyaW5nXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgY29uc3QgZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJmb3JtXCIpO1xuICBsZXQgd2luOiBXaW5kb3cgfCBudWxsID0gbnVsbDtcblxuICBmb3JtLnNldEF0dHJpYnV0ZShcIm1ldGhvZFwiLCBcInBvc3RcIik7XG4gIGZvcm0uc2V0QXR0cmlidXRlKFwiYWN0aW9uXCIsIHVybCk7XG4gIGZvcm0uc2V0QXR0cmlidXRlKFwidGFyZ2V0XCIsIG5hbWUpO1xuXG4gIE9iamVjdC5rZXlzKHBvc3REYXRhKS5mb3JFYWNoKGZ1bmN0aW9uIGFkZEZvcm1JdGVtKGtleSkge1xuICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpO1xuICAgIGlucHV0LnR5cGUgPSBcImhpZGRlblwiO1xuICAgIGlucHV0Lm5hbWUgPSBrZXk7XG4gICAgaW5wdXQudmFsdWUgPSBwb3N0RGF0YVtrZXldO1xuICAgIGZvcm0uYXBwZW5kQ2hpbGQoaW5wdXQpO1xuICB9KTtcblxuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvcm0pO1xuXG4gIHdpbiA9IHdpbmRvdy5vcGVuKFwiL1wiLCBuYW1lLCBvcHRpb25zKTtcbiAgd2luPy5kb2N1bWVudC53cml0ZShcIkxvYWRpbmcuLi5cIik7XG5cbiAgZm9ybS5zdWJtaXQoKTtcbiAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChmb3JtKTtcblxuICByZXR1cm4gd2luO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuIFdhaXQgZm9yIGl0IHRvIGNsb3NlLlxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge0Z1bmN0aW9ufVxuICogQHBhcmFtICB7U3RyaW5nfVxuICogQHBhcmFtICB7U3RyaW5nfVxuICogQHBhcmFtICB7T2JqZWN0fVxuICogQHBhcmFtICB7RnVuY3Rpb259XG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmZ1bmN0aW9uIHBvcHVwRXhlY3V0ZShcbiAgZXhlY3V0ZTogV2luZG93T3BlbixcbiAgdXJsOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgY29uc3QgcG9wdXBOYW1lID0gbmFtZSB8fCBkZWZhdWx0UG9wdXBOYW1lKCk7XG4gIGNvbnN0IHBvcHVwT3B0aW9ucyA9IG9wdGlvbnNSZXNvbHZlQ2VudGVyZWQoXG4gICAgT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdE9wdGlvbnMsIG9wdGlvbnMpXG4gICk7XG4gIGNvbnN0IHBvcHVwQ2FsbGJhY2sgPVxuICAgIGNhbGxiYWNrIHx8XG4gICAgZnVuY3Rpb24gbm9vcCgpOiB2b2lkIHtcbiAgICAgIC8vXG4gICAgfTtcbiAgY29uc3Qgb3B0aW9uc1N0cmluZyA9IG9wdGlvbnNUb1N0cmluZyhwb3B1cE9wdGlvbnMpO1xuICBjb25zdCB3aW4gPSBleGVjdXRlKHVybCwgcG9wdXBOYW1lLCBvcHRpb25zU3RyaW5nKTtcbiAgbGV0IGlzTWVzc2FnZVNlbnQgPSBmYWxzZTtcbiAgbGV0IGludGVydmFsOiBudW1iZXI7XG5cbiAgZnVuY3Rpb24gcG9wdXBDYWxsYmFja09uY2UoZXJyPzogRXJyb3IsIGRhdGE/OiB1bmtub3duKTogdm9pZCB7XG4gICAgaWYgKCFpc01lc3NhZ2VTZW50KSB7XG4gICAgICBpc01lc3NhZ2VTZW50ID0gdHJ1ZTtcbiAgICAgIHBvcHVwQ2FsbGJhY2soZXJyLCBkYXRhKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBvbk1lc3NhZ2UobWVzc2FnZT86IE1lc3NhZ2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGEgPSBtZXNzYWdlID8gbWVzc2FnZS5kYXRhIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHBvcHVwQ2FsbGJhY2tPbmNlKHVuZGVmaW5lZCwgZGF0YSk7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgb25NZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgb25NZXNzYWdlLCBmYWxzZSk7XG5cbiAgaWYgKHdpbikge1xuICAgIGludGVydmFsID0gd2luZG93LnNldEludGVydmFsKGZ1bmN0aW9uIGNsb3NlUG9wdXBDYWxsYmFjaygpIHtcbiAgICAgIGlmICh3aW4gPT09IG51bGwgfHwgd2luLmNsb3NlZCkge1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uIGRlbGF5V2luZG93Q2xvc2luZygpIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgICAgICBwb3B1cENhbGxiYWNrT25jZShuZXcgRXJyb3IoXCJQb3B1cCBjbG9zZWRcIikpO1xuICAgICAgICB9LCA1MDApO1xuICAgICAgfVxuICAgIH0sIDEwMCk7XG4gIH0gZWxzZSB7XG4gICAgcG9wdXBDYWxsYmFja09uY2UobmV3IEVycm9yKFwiUG9wdXAgYmxvY2tlZFwiKSk7XG4gIH1cblxuICByZXR1cm4gd2luO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuXG4gKiBXYWl0IGZvciBpdCB0byBjbG9zZSBhbmQgY2FsbCB0aGUgY2FsbGJhY2suXG4gKiBTZXQgdGhlIG9wdGlvbnMgc3RyaW5nIHVzaW5nIHRoZSBvcHRpb25zIG9iamVjdFxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gdXJsXG4gKiBAcGFyYW0gIHtTdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHBhcmFtICB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cChcbiAgdXJsOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgcmV0dXJuIHBvcHVwRXhlY3V0ZSh3aW5kb3cub3BlbiwgdXJsLCBuYW1lLCBvcHRpb25zLCBjYWxsYmFjayk7XG59XG5cbi8qKlxuICogT3BlbiBhIHBvcHVwIHVzaW5nIHRoZSBmaXJzdCBhcmd1bWVudC5cbiAqIFBvc3QgdGhlIGRhdGEgaW50byB0aGUgb3BlbiBwb3B1cC5cbiAqIFdhaXQgZm9yIGl0IHRvIGNsb3NlIGFuZCBjYWxsIHRoZSBjYWxsYmFjay5cbiAqIFNldCB0aGUgb3B0aW9ucyBzdHJpbmcgdXNpbmcgdGhlIG9wdGlvbnMgb2JqZWN0XG4gKiBSZXR1cm5zIHRoZSB3aW5kb3cgb2JqZWN0XG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSAge09iamVjdH0gcG9zdERhdGFcbiAqIEBwYXJhbSAge1N0cmluZ30gbmFtZVxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcGFyYW0gIHtGdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBvcHVwV2l0aFBvc3QoXG4gIHVybDogc3RyaW5nLFxuICBwb3N0RGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBQYXJ0aWFsPE9wdGlvbnM+LFxuICBjYWxsYmFjazogQ2FsbGJhY2tcbik6IFdpbmRvdyB8IG51bGwge1xuICBmdW5jdGlvbiBvcGVuV2l0aFBvc3REYXRhKFxuICAgIHBvcHVwVXJsOiBzdHJpbmcsXG4gICAgcG9wdXBOYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9uc1N0cmluZzogc3RyaW5nXG4gICk6IFdpbmRvdyB8IG51bGwge1xuICAgIHJldHVybiBvcGVuUG9wdXBXaXRoUG9zdChwb3B1cFVybCwgcG9zdERhdGEsIHBvcHVwTmFtZSwgb3B0aW9uc1N0cmluZyk7XG4gIH1cblxuICByZXR1cm4gcG9wdXBFeGVjdXRlKG9wZW5XaXRoUG9zdERhdGEsIHVybCwgbmFtZSwgb3B0aW9ucywgY2FsbGJhY2spO1xufVxuXG4vKipcbiAqIFJldHVybiBodG1sIHRoYXQgd2hlbiBleGVjdXRlZCwgd2lsbCB0cmlnZ2VyIHRoZSBwb3B1cCB0byBjYWxsYmFjayB3aXRoIGEgcmVzcG9uc2VcbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9XG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cFJlc3BvbnNlPFQgZXh0ZW5kcyB1bmtub3duPihkYXRhOiBUKTogc3RyaW5nIHtcbiAgY29uc3QganNvbkRhdGEgPSBKU09OLnN0cmluZ2lmeShkYXRhKTtcblxuICByZXR1cm4gYDxzY3JpcHQ+d2luZG93Lm9wZW5lci5wb3N0TWVzc2FnZSgke2pzb25EYXRhfSwgXCIqXCIpO3NldFRpbWVvdXQoZnVuY3Rpb24oKSB7IHdpbmRvdy5jbG9zZSgpOyB9LCA1MCk7PC9zY3JpcHQ+YDtcbn1cbiJdfQ==
213
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Qb3B1cFRvb2xzLnRzIl0sIm5hbWVzIjpbImRlZmF1bHRPcHRpb25zIiwid2lkdGgiLCJoZWlnaHQiLCJtZW51YmFyIiwicmVzaXphYmxlIiwibG9jYXRpb24iLCJzY3JvbGxiYXJzIiwiY2VudGVyZWQiLCJwb3B1cENvdW50Iiwib3B0aW9uc1RvU3RyaW5nIiwib3B0aW9ucyIsIk9iamVjdCIsImVudHJpZXMiLCJtYXAiLCJrIiwidiIsImpvaW4iLCJkZWZhdWx0UG9wdXBOYW1lIiwib3B0aW9uc1Jlc29sdmVDZW50ZXJlZCIsIkVycm9yIiwicmVzdWx0Iiwid2luZG93Iiwib3V0ZXJXaWR0aCIsIm91dGVySGVpZ2h0IiwibGVmdCIsIk1hdGgiLCJyb3VuZCIsInNjcmVlblgiLCJ0b3AiLCJzY3JlZW5ZIiwib3BlblBvcHVwV2l0aFBvc3QiLCJ1cmwiLCJwb3N0RGF0YSIsIm5hbWUiLCJmb3JtIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwid2luIiwic2V0QXR0cmlidXRlIiwia2V5cyIsImZvckVhY2giLCJhZGRGb3JtSXRlbSIsImtleSIsImlucHV0IiwidHlwZSIsInZhbHVlIiwiYXBwZW5kQ2hpbGQiLCJib2R5Iiwib3BlbiIsIndyaXRlIiwic3VibWl0IiwicmVtb3ZlQ2hpbGQiLCJwb3B1cEV4ZWN1dGUiLCJleGVjdXRlIiwiY2FsbGJhY2siLCJwb3B1cE5hbWUiLCJwb3B1cE9wdGlvbnMiLCJhc3NpZ24iLCJwb3B1cENhbGxiYWNrIiwibm9vcCIsIm9wdGlvbnNTdHJpbmciLCJpc01lc3NhZ2VTZW50IiwiaW50ZXJ2YWwiLCJwb3B1cENhbGxiYWNrT25jZSIsImVyciIsImRhdGEiLCJvbk1lc3NhZ2UiLCJtZXNzYWdlIiwidW5kZWZpbmVkIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImFkZEV2ZW50TGlzdGVuZXIiLCJzZXRJbnRlcnZhbCIsImNsb3NlUG9wdXBDYWxsYmFjayIsImNsb3NlZCIsInNldFRpbWVvdXQiLCJkZWxheVdpbmRvd0Nsb3NpbmciLCJjbGVhckludGVydmFsIiwicG9wdXAiLCJwb3B1cFdpdGhQb3N0Iiwib3BlbldpdGhQb3N0RGF0YSIsInBvcHVwVXJsIiwicG9wdXBSZXNwb25zZSIsImpzb25EYXRhIiwiSlNPTiIsInN0cmluZ2lmeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBZUEsSUFBTUEsY0FBdUIsR0FBRztBQUM5QkMsRUFBQUEsS0FBSyxFQUFFLEdBRHVCO0FBRTlCQyxFQUFBQSxNQUFNLEVBQUUsR0FGc0I7QUFHOUJDLEVBQUFBLE9BQU8sRUFBRSxJQUhxQjtBQUk5QkMsRUFBQUEsU0FBUyxFQUFFLEtBSm1CO0FBSzlCQyxFQUFBQSxRQUFRLEVBQUUsS0FMb0I7QUFNOUJDLEVBQUFBLFVBQVUsRUFBRSxJQU5rQjtBQU85QkMsRUFBQUEsUUFBUSxFQUFFO0FBUG9CLENBQWhDO0FBa0JBLElBQUlDLFVBQVUsR0FBRyxDQUFqQjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxTQUFTQyxlQUFULENBQTRDQyxPQUE1QyxFQUFnRTtBQUM5RCxTQUFPQyxNQUFNLENBQUNDLE9BQVAsQ0FBZUYsT0FBZixFQUNKRyxHQURJLENBQ0E7QUFBQSxRQUFFQyxDQUFGO0FBQUEsUUFBS0MsQ0FBTDtBQUFBLFdBQWVELENBQWYsU0FBb0JDLENBQXBCO0FBQUEsR0FEQSxFQUVKQyxJQUZJLENBRUMsR0FGRCxDQUFQO0FBR0Q7QUFFRDtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsU0FBU0MsZ0JBQVQsR0FBb0M7QUFDbENULEVBQUFBLFVBQVUsSUFBSSxDQUFkO0FBQ0Esb0JBQWdCQSxVQUFoQjtBQUNEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFNBQVNVLHNCQUFULENBQWdDUixPQUFoQyxFQUEyRDtBQUN6RCxNQUFJLENBQUNBLE9BQU8sQ0FBQ1QsS0FBVCxJQUFrQixDQUFDUyxPQUFPLENBQUNSLE1BQS9CLEVBQXVDO0FBQ3JDLFVBQU0sSUFB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O0FBQ0E7O0FBQ0EsT0FBTyxTQUFTMkIsYUFBVCxDQUEwQmhCLElBQTFCLEVBQTJDO0FBQ2hELE1BQU1pQixRQUFRLEdBQUdDLElBQUksQ0FBQ0MsU0FBTCxDQUFlbkIsSUFBZixDQUFqQjtBQUVBLGdEQUE0Q2lCLFFBQTVDO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRTIFJld3JpdGUgb2YgaHR0cHM6Ly9naXRodWIuY29tL2VuaGFuY3YvcG9wdXAtdG9vbHNcbiAqL1xuXG50eXBlIFllc05vID0gXCJ5ZXNcIiB8IFwibm9cIjtcbnR5cGUgT3B0aW9ucyA9IHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgbWVudWJhcjogWWVzTm87XG4gIHJlc2l6YWJsZTogWWVzTm87XG4gIGxvY2F0aW9uOiBZZXNObztcbiAgc2Nyb2xsYmFyczogWWVzTm87XG4gIGNlbnRlcmVkPzogYm9vbGVhbjtcbiAgbGVmdD86IG51bWJlcjtcbiAgdG9wPzogbnVtYmVyO1xufTtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE9wdGlvbnMgPSB7XG4gIHdpZHRoOiA3MDAsXG4gIGhlaWdodDogNTIwLFxuICBtZW51YmFyOiBcIm5vXCIsXG4gIHJlc2l6YWJsZTogXCJ5ZXNcIixcbiAgbG9jYXRpb246IFwieWVzXCIsXG4gIHNjcm9sbGJhcnM6IFwibm9cIixcbiAgY2VudGVyZWQ6IHRydWVcbn07XG5cbnR5cGUgQ2FsbGJhY2sgPSAoZXJyPzogRXJyb3IsIGRhdGE/OiB1bmtub3duKSA9PiB2b2lkO1xuXG50eXBlIFdpbmRvd09wZW4gPSAoXG4gIHBvcHVwVXJsOiBzdHJpbmcsXG4gIHBvcHVwTmFtZTogc3RyaW5nLFxuICBvcHRpb25zU3RyaW5nOiBzdHJpbmdcbikgPT4gV2luZG93IHwgbnVsbDtcblxubGV0IHBvcHVwQ291bnQgPSAxO1xuXG4vKipcbiAqIFJldHVybiBvcHRpb25zIGNvbnZlcnRlZCB0byBhIHN0cmluZ1xuICpcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5mdW5jdGlvbiBvcHRpb25zVG9TdHJpbmc8VCBleHRlbmRzIE9wdGlvbnM+KG9wdGlvbnM6IFQpOiBzdHJpbmcge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMob3B0aW9ucylcbiAgICAubWFwKChbaywgdl0pID0+IGAke2t9PSR7dn1gKVxuICAgIC5qb2luKFwiLFwiKTtcbn1cblxuLyoqXG4gKiBHZXQgYSB1bmlxdWUgbmFtZSBvbiBlYWNoIGNhbGxcbiAqIEByZXR1cm4ge1N0cmluZ31cbiAqL1xuZnVuY3Rpb24gZGVmYXVsdFBvcHVwTmFtZSgpOiBzdHJpbmcge1xuICBwb3B1cENvdW50ICs9IDE7XG4gIHJldHVybiBgUG9wdXAgJHtwb3B1cENvdW50fWA7XG59XG5cbi8qKlxuICogQ29udmVydCBcImNlbnRlcmVkOiB0cnVlXCIga2V5IGludG8gY29uY3JldGUgbGVmdCBhbmQgdG9wIGFyZ3VtZW50c1xuICogQm90aCBjYW4gYmUgb3ZlcndyaXR0ZW5cbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnNcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gb3B0aW9uc1Jlc29sdmVDZW50ZXJlZChvcHRpb25zOiBPcHRpb25zKTogT3B0aW9ucyB7XG4gIGlmICghb3B0aW9ucy53aWR0aCB8fCAhb3B0aW9ucy5oZWlnaHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJTaG91bGQgaGF2ZSB3aWR0aCBhbmQgaGVpZ2h0XCIpO1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9IHsgLi4ub3B0aW9ucyB9O1xuICBjb25zdCB3aWR0aCA9IHdpbmRvdy5vdXRlcldpZHRoIC0gb3B0aW9ucy53aWR0aDtcbiAgY29uc3QgaGVpZ2h0ID0gd2luZG93Lm91dGVySGVpZ2h0IC0gb3B0aW9ucy5oZWlnaHQ7XG5cbiAgaWYgKG9wdGlvbnMuY2VudGVyZWQpIHtcbiAgICByZXN1bHQubGVmdCA9IG9wdGlvbnMubGVmdCB8fCBNYXRoLnJvdW5kKHdpbmRvdy5zY3JlZW5YICsgd2lkdGggLyAyKTtcbiAgICByZXN1bHQudG9wID0gb3B0aW9ucy50b3AgfHwgTWF0aC5yb3VuZCh3aW5kb3cuc2NyZWVuWSArIGhlaWdodCAvIDIuNSk7XG4gICAgZGVsZXRlIHJlc3VsdC5jZW50ZXJlZDtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGZvcm0gZWxlbWVudCwgYWRkIGhpZGRlbiBpbnB1dHMgZm9yIGFsbCB0aGUgcG9zdCBkYXRhXG4gKiBhbmQgcG9zdCBpdCBpbnRvIGEgbmV3bHkgb3BlbmVkIHBvcHVwXG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSAge09iamVjdH0gcG9zdERhdGFcbiAqIEBwYXJhbSAge1N0cmluZ30gbmFtZVxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmZ1bmN0aW9uIG9wZW5Qb3B1cFdpdGhQb3N0KFxuICB1cmw6IHN0cmluZyxcbiAgcG9zdERhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogc3RyaW5nXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgY29uc3QgZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJmb3JtXCIpO1xuICBsZXQgd2luOiBXaW5kb3cgfCBudWxsID0gbnVsbDtcblxuICBmb3JtLnNldEF0dHJpYnV0ZShcIm1ldGhvZFwiLCBcInBvc3RcIik7XG4gIGZvcm0uc2V0QXR0cmlidXRlKFwiYWN0aW9uXCIsIHVybCk7XG4gIGZvcm0uc2V0QXR0cmlidXRlKFwidGFyZ2V0XCIsIG5hbWUpO1xuXG4gIE9iamVjdC5rZXlzKHBvc3REYXRhKS5mb3JFYWNoKGZ1bmN0aW9uIGFkZEZvcm1JdGVtKGtleSkge1xuICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpO1xuICAgIGlucHV0LnR5cGUgPSBcImhpZGRlblwiO1xuICAgIGlucHV0Lm5hbWUgPSBrZXk7XG4gICAgaW5wdXQudmFsdWUgPSBwb3N0RGF0YVtrZXldO1xuICAgIGZvcm0uYXBwZW5kQ2hpbGQoaW5wdXQpO1xuICB9KTtcblxuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvcm0pO1xuXG4gIHdpbiA9IHdpbmRvdy5vcGVuKFwiL1wiLCBuYW1lLCBvcHRpb25zKTtcbiAgd2luPy5kb2N1bWVudC53cml0ZShcIkxvYWRpbmcuLi5cIik7XG5cbiAgZm9ybS5zdWJtaXQoKTtcbiAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChmb3JtKTtcblxuICByZXR1cm4gd2luO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuIFdhaXQgZm9yIGl0IHRvIGNsb3NlLlxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge0Z1bmN0aW9ufVxuICogQHBhcmFtICB7U3RyaW5nfVxuICogQHBhcmFtICB7U3RyaW5nfVxuICogQHBhcmFtICB7T2JqZWN0fVxuICogQHBhcmFtICB7RnVuY3Rpb259XG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmZ1bmN0aW9uIHBvcHVwRXhlY3V0ZShcbiAgZXhlY3V0ZTogV2luZG93T3BlbixcbiAgdXJsOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgY29uc3QgcG9wdXBOYW1lID0gbmFtZSB8fCBkZWZhdWx0UG9wdXBOYW1lKCk7XG4gIGNvbnN0IHBvcHVwT3B0aW9ucyA9IG9wdGlvbnNSZXNvbHZlQ2VudGVyZWQoXG4gICAgT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdE9wdGlvbnMsIG9wdGlvbnMpXG4gICk7XG4gIGNvbnN0IHBvcHVwQ2FsbGJhY2sgPVxuICAgIGNhbGxiYWNrIHx8XG4gICAgZnVuY3Rpb24gbm9vcCgpOiB2b2lkIHtcbiAgICAgIC8vXG4gICAgfTtcbiAgY29uc3Qgb3B0aW9uc1N0cmluZyA9IG9wdGlvbnNUb1N0cmluZyhwb3B1cE9wdGlvbnMpO1xuICBjb25zdCB3aW4gPSBleGVjdXRlKHVybCwgcG9wdXBOYW1lLCBvcHRpb25zU3RyaW5nKTtcbiAgbGV0IGlzTWVzc2FnZVNlbnQgPSBmYWxzZTtcbiAgbGV0IGludGVydmFsOiBudW1iZXI7XG5cbiAgZnVuY3Rpb24gcG9wdXBDYWxsYmFja09uY2UoZXJyPzogRXJyb3IsIGRhdGE/OiB1bmtub3duKTogdm9pZCB7XG4gICAgaWYgKCFpc01lc3NhZ2VTZW50KSB7XG4gICAgICBpc01lc3NhZ2VTZW50ID0gdHJ1ZTtcbiAgICAgIHBvcHVwQ2FsbGJhY2soZXJyLCBkYXRhKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBvbk1lc3NhZ2UobWVzc2FnZT86IE1lc3NhZ2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGEgPSBtZXNzYWdlID8gbWVzc2FnZS5kYXRhIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHBvcHVwQ2FsbGJhY2tPbmNlKHVuZGVmaW5lZCwgZGF0YSk7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgb25NZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgb25NZXNzYWdlLCBmYWxzZSk7XG5cbiAgaWYgKHdpbikge1xuICAgIGludGVydmFsID0gd2luZG93LnNldEludGVydmFsKGZ1bmN0aW9uIGNsb3NlUG9wdXBDYWxsYmFjaygpIHtcbiAgICAgIGlmICh3aW4gPT09IG51bGwgfHwgd2luLmNsb3NlZCkge1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uIGRlbGF5V2luZG93Q2xvc2luZygpIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgICAgICBwb3B1cENhbGxiYWNrT25jZShuZXcgRXJyb3IoXCJQb3B1cCBjbG9zZWRcIikpO1xuICAgICAgICB9LCA1MDApO1xuICAgICAgfVxuICAgIH0sIDEwMCk7XG4gIH0gZWxzZSB7XG4gICAgcG9wdXBDYWxsYmFja09uY2UobmV3IEVycm9yKFwiUG9wdXAgYmxvY2tlZFwiKSk7XG4gIH1cblxuICByZXR1cm4gd2luO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuXG4gKiBXYWl0IGZvciBpdCB0byBjbG9zZSBhbmQgY2FsbCB0aGUgY2FsbGJhY2suXG4gKiBTZXQgdGhlIG9wdGlvbnMgc3RyaW5nIHVzaW5nIHRoZSBvcHRpb25zIG9iamVjdFxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gdXJsXG4gKiBAcGFyYW0gIHtTdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHBhcmFtICB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cChcbiAgdXJsOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgcmV0dXJuIHBvcHVwRXhlY3V0ZSh3aW5kb3cub3BlbiwgdXJsLCBuYW1lLCBvcHRpb25zLCBjYWxsYmFjayk7XG59XG5cbi8qKlxuICogT3BlbiBhIHBvcHVwIHVzaW5nIHRoZSBmaXJzdCBhcmd1bWVudC5cbiAqIFBvc3QgdGhlIGRhdGEgaW50byB0aGUgb3BlbiBwb3B1cC5cbiAqIFdhaXQgZm9yIGl0IHRvIGNsb3NlIGFuZCBjYWxsIHRoZSBjYWxsYmFjay5cbiAqIFNldCB0aGUgb3B0aW9ucyBzdHJpbmcgdXNpbmcgdGhlIG9wdGlvbnMgb2JqZWN0XG4gKiBSZXR1cm5zIHRoZSB3aW5kb3cgb2JqZWN0XG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSAge09iamVjdH0gcG9zdERhdGFcbiAqIEBwYXJhbSAge1N0cmluZ30gbmFtZVxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcGFyYW0gIHtGdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBvcHVwV2l0aFBvc3QoXG4gIHVybDogc3RyaW5nLFxuICBwb3N0RGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBQYXJ0aWFsPE9wdGlvbnM+LFxuICBjYWxsYmFjazogQ2FsbGJhY2tcbik6IFdpbmRvdyB8IG51bGwge1xuICBmdW5jdGlvbiBvcGVuV2l0aFBvc3REYXRhKFxuICAgIHBvcHVwVXJsOiBzdHJpbmcsXG4gICAgcG9wdXBOYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9uc1N0cmluZzogc3RyaW5nXG4gICk6IFdpbmRvdyB8IG51bGwge1xuICAgIHJldHVybiBvcGVuUG9wdXBXaXRoUG9zdChwb3B1cFVybCwgcG9zdERhdGEsIHBvcHVwTmFtZSwgb3B0aW9uc1N0cmluZyk7XG4gIH1cblxuICByZXR1cm4gcG9wdXBFeGVjdXRlKG9wZW5XaXRoUG9zdERhdGEsIHVybCwgbmFtZSwgb3B0aW9ucywgY2FsbGJhY2spO1xufVxuXG4vKipcbiAqIFJldHVybiBodG1sIHRoYXQgd2hlbiBleGVjdXRlZCwgd2lsbCB0cmlnZ2VyIHRoZSBwb3B1cCB0byBjYWxsYmFjayB3aXRoIGEgcmVzcG9uc2VcbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9XG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cFJlc3BvbnNlPFQ+KGRhdGE6IFQpOiBzdHJpbmcge1xuICBjb25zdCBqc29uRGF0YSA9IEpTT04uc3RyaW5naWZ5KGRhdGEpO1xuXG4gIHJldHVybiBgPHNjcmlwdD53aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKCR7anNvbkRhdGF9LCBcIipcIik7c2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmNsb3NlKCk7IH0sIDUwKTs8L3NjcmlwdD5gO1xufVxuIl19
@@ -2,9 +2,9 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
3
  import _regeneratorRuntime from "@babel/runtime/regenerator";
4
4
 
5
- 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; }
5
+ 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; }
6
6
 
7
- 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; }
7
+ 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; }
8
8
 
9
9
  import { GraphQLError, Thunder } from "./zeus/index.js";
10
10
 
@@ -0,0 +1,10 @@
1
+ import type { PlanKind, SecrecyEnv, User } from "../../index.js";
2
+ import { BaseClient } from "../../BaseClient.js";
3
+ export declare type UserAdminPanel = User<{
4
+ withPublicKey: false;
5
+ }>;
6
+ export declare class AdminSecrecyClient extends BaseClient {
7
+ userList(search?: string | null | undefined): Promise<UserAdminPanel[]>;
8
+ changeUserPlan(userId: string, plan: PlanKind): Promise<UserAdminPanel | null>;
9
+ }
10
+ export declare function getSecrecyAdminClient(env: SecrecyEnv, session?: boolean | undefined): AdminSecrecyClient | null;
@@ -0,0 +1,152 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _inheritsLoose from "@babel/runtime/helpers/inheritsLoose";
4
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
5
+
6
+ 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; }
7
+
8
+ 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; }
9
+
10
+ import { storeBuddy } from "../../utils/store-buddy.js";
11
+ import { BaseClient } from "../../BaseClient.js";
12
+ /* TODO
13
+ - query pour lister les users avec pagination et input optionnel "search" et boolean pour filtrer les bans
14
+ - mutation changer le plan d'un user (sans payer du coup)
15
+ - query pour renvoyer les apps d'un user
16
+ - query pour donner les limites d'un user
17
+ - query pour donner les reports d'un user
18
+ - mutation pour ban un user
19
+ - query pour get les bans d'un user
20
+ - mutation pour delete un user (déjà existant?)
21
+ - mutation changer le role du user (user/admin)
22
+ - mutation pour déco une ou des sessions meta ou app d'un user
23
+ - query afficher les sessions meta ou app d'un user
24
+ - query pour afficher des infos sur le cloud d'un user
25
+ - mutation pour delete, restore, delete trash, dans le cloud d'un user
26
+ - query pour afficher les infos sur les mails d'un user
27
+ - mutation pour delete, restore, delete trash, dans les mails d'un user
28
+ - query pour afficher les limites max et actuels d'un user
29
+ - query de stats?
30
+ */
31
+
32
+ var userSelector = {
33
+ id: true,
34
+ firstname: true,
35
+ lastname: true,
36
+ lang: true,
37
+ email: true,
38
+ phone: true,
39
+ role: true,
40
+ deletedAt: true,
41
+ lastLogin: true
42
+ };
43
+ export var AdminSecrecyClient = /*#__PURE__*/function (_BaseClient) {
44
+ _inheritsLoose(AdminSecrecyClient, _BaseClient);
45
+
46
+ function AdminSecrecyClient() {
47
+ return _BaseClient.apply(this, arguments) || this;
48
+ }
49
+
50
+ var _proto = AdminSecrecyClient.prototype;
51
+
52
+ _proto.userList = /*#__PURE__*/function () {
53
+ var _userList = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(search) {
54
+ var _yield$this$client, userList;
55
+
56
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
57
+ while (1) {
58
+ switch (_context.prev = _context.next) {
59
+ case 0:
60
+ _context.next = 2;
61
+ return this.client("query")({
62
+ userList: [{
63
+ search: search
64
+ }, userSelector]
65
+ });
66
+
67
+ case 2:
68
+ _yield$this$client = _context.sent;
69
+ userList = _yield$this$client.userList;
70
+ return _context.abrupt("return", userList.map(function (user) {
71
+ return _objectSpread(_objectSpread({}, user), {}, {
72
+ lastLogin: new Date(user.lastLogin),
73
+ deletedAt: user.deletedAt ? new Date(user.deletedAt) : null
74
+ });
75
+ }));
76
+
77
+ case 5:
78
+ case "end":
79
+ return _context.stop();
80
+ }
81
+ }
82
+ }, _callee, this);
83
+ }));
84
+
85
+ function userList(_x) {
86
+ return _userList.apply(this, arguments);
87
+ }
88
+
89
+ return userList;
90
+ }();
91
+
92
+ _proto.changeUserPlan = /*#__PURE__*/function () {
93
+ var _changeUserPlan = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(userId, plan) {
94
+ var _yield$this$client2, changeUserPlan;
95
+
96
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
97
+ while (1) {
98
+ switch (_context2.prev = _context2.next) {
99
+ case 0:
100
+ _context2.next = 2;
101
+ return this.client("mutation")({
102
+ changeUserPlan: [{
103
+ userId: userId,
104
+ plan: plan
105
+ }, userSelector]
106
+ });
107
+
108
+ case 2:
109
+ _yield$this$client2 = _context2.sent;
110
+ changeUserPlan = _yield$this$client2.changeUserPlan;
111
+
112
+ if (changeUserPlan) {
113
+ _context2.next = 6;
114
+ break;
115
+ }
116
+
117
+ return _context2.abrupt("return", null);
118
+
119
+ case 6:
120
+ return _context2.abrupt("return", _objectSpread(_objectSpread({}, changeUserPlan), {}, {
121
+ lastLogin: new Date(changeUserPlan.lastLogin),
122
+ deletedAt: changeUserPlan.deletedAt ? new Date(changeUserPlan.deletedAt) : null
123
+ }));
124
+
125
+ case 7:
126
+ case "end":
127
+ return _context2.stop();
128
+ }
129
+ }
130
+ }, _callee2, this);
131
+ }));
132
+
133
+ function changeUserPlan(_x2, _x3) {
134
+ return _changeUserPlan.apply(this, arguments);
135
+ }
136
+
137
+ return changeUserPlan;
138
+ }();
139
+
140
+ return AdminSecrecyClient;
141
+ }(BaseClient);
142
+ export function getSecrecyAdminClient(env, session) {
143
+ var userSession = storeBuddy("secrecy.user_session", session).init("");
144
+ var uaSession = userSession.load();
145
+
146
+ if (uaSession === "") {
147
+ return null;
148
+ }
149
+
150
+ return new AdminSecrecyClient(uaSession, env);
151
+ }
152
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvYWRtaW4vaW5kZXgudHMiXSwibmFtZXMiOlsic3RvcmVCdWRkeSIsIkJhc2VDbGllbnQiLCJ1c2VyU2VsZWN0b3IiLCJpZCIsImZpcnN0bmFtZSIsImxhc3RuYW1lIiwibGFuZyIsImVtYWlsIiwicGhvbmUiLCJyb2xlIiwiZGVsZXRlZEF0IiwibGFzdExvZ2luIiwiQWRtaW5TZWNyZWN5Q2xpZW50IiwidXNlckxpc3QiLCJzZWFyY2giLCJjbGllbnQiLCJtYXAiLCJ1c2VyIiwiRGF0ZSIsImNoYW5nZVVzZXJQbGFuIiwidXNlcklkIiwicGxhbiIsImdldFNlY3JlY3lBZG1pbkNsaWVudCIsImVudiIsInNlc3Npb24iLCJ1c2VyU2Vzc2lvbiIsImluaXQiLCJ1YVNlc3Npb24iLCJsb2FkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSxTQUFTQSxVQUFULFFBQTJCLDRCQUEzQjtBQUNBLFNBQVNDLFVBQVQsUUFBMkIscUJBQTNCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBR0EsSUFBTUMsWUFBWSxHQUFHO0FBQ25CQyxFQUFBQSxFQUFFLEVBQUUsSUFEZTtBQUVuQkMsRUFBQUEsU0FBUyxFQUFFLElBRlE7QUFHbkJDLEVBQUFBLFFBQVEsRUFBRSxJQUhTO0FBSW5CQyxFQUFBQSxJQUFJLEVBQUUsSUFKYTtBQUtuQkMsRUFBQUEsS0FBSyxFQUFFLElBTFk7QUFNbkJDLEVBQUFBLEtBQUssRUFBRSxJQU5ZO0FBT25CQyxFQUFBQSxJQUFJLEVBQUUsSUFQYTtBQVFuQkMsRUFBQUEsU0FBUyxFQUFFLElBUlE7QUFTbkJDLEVBQUFBLFNBQVMsRUFBRTtBQVRRLENBQXJCO0FBWUEsV0FBYUMsa0JBQWI7QUFBQTs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUEsU0FDUUMsUUFEUjtBQUFBLDZFQUNFLGlCQUNFQyxNQURGO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHFCQUc2QixLQUFLQyxNQUFMLENBQVksT0FBWixFQUFxQjtBQUM5Q0YsZ0JBQUFBLFFBQVEsRUFBRSxDQUNSO0FBQ0VDLGtCQUFBQSxNQUFNLEVBQU5BO0FBREYsaUJBRFEsRUFJUlosWUFKUTtBQURvQyxlQUFyQixDQUg3Qjs7QUFBQTtBQUFBO0FBR1VXLGNBQUFBLFFBSFYsc0JBR1VBLFFBSFY7QUFBQSwrQ0FZU0EsUUFBUSxDQUFDRyxHQUFULENBQWEsVUFBQUMsSUFBSTtBQUFBLHVEQUNuQkEsSUFEbUI7QUFFdEJOLGtCQUFBQSxTQUFTLEVBQUUsSUFBSU8sSUFBSixDQUFTRCxJQUFJLENBQUNOLFNBQWQsQ0FGVztBQUd0QkQsa0JBQUFBLFNBQVMsRUFBRU8sSUFBSSxDQUFDUCxTQUFMLEdBQWlCLElBQUlRLElBQUosQ0FBU0QsSUFBSSxDQUFDUCxTQUFkLENBQWpCLEdBQTRDO0FBSGpDO0FBQUEsZUFBakIsQ0FaVDs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxLQURGOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBLFNBb0JRUyxjQXBCUjtBQUFBLG1GQW9CRSxrQkFDRUMsTUFERixFQUVFQyxJQUZGO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHFCQUltQyxLQUFLTixNQUFMLENBQVksVUFBWixFQUF3QjtBQUN2REksZ0JBQUFBLGNBQWMsRUFBRSxDQUNkO0FBQ0VDLGtCQUFBQSxNQUFNLEVBQU5BLE1BREY7QUFFRUMsa0JBQUFBLElBQUksRUFBSkE7QUFGRixpQkFEYyxFQUtkbkIsWUFMYztBQUR1QyxlQUF4QixDQUpuQzs7QUFBQTtBQUFBO0FBSVVpQixjQUFBQSxjQUpWLHVCQUlVQSxjQUpWOztBQUFBLGtCQWNPQSxjQWRQO0FBQUE7QUFBQTtBQUFBOztBQUFBLGdEQWVXLElBZlg7O0FBQUE7QUFBQSxnRkFtQk9BLGNBbkJQO0FBb0JJUixnQkFBQUEsU0FBUyxFQUFFLElBQUlPLElBQUosQ0FBU0MsY0FBYyxDQUFDUixTQUF4QixDQXBCZjtBQXFCSUQsZ0JBQUFBLFNBQVMsRUFBRVMsY0FBYyxDQUFDVCxTQUFmLEdBQ1AsSUFBSVEsSUFBSixDQUFTQyxjQUFjLENBQUNULFNBQXhCLENBRE8sR0FFUDtBQXZCUjs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxLQXBCRjs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQUFBLEVBQXdDVCxVQUF4QztBQWdEQSxPQUFPLFNBQVNxQixxQkFBVCxDQUNMQyxHQURLLEVBRUxDLE9BRkssRUFHc0I7QUFDM0IsTUFBTUMsV0FBVyxHQUFHekIsVUFBVSx5QkFBaUN3QixPQUFqQyxDQUFWLENBQW9ERSxJQUFwRCxDQUNsQixFQURrQixDQUFwQjtBQUdBLE1BQU1DLFNBQVMsR0FBR0YsV0FBVyxDQUFDRyxJQUFaLEVBQWxCOztBQUNBLE1BQUlELFNBQVMsS0FBSyxFQUFsQixFQUFzQjtBQUNwQixXQUFPLElBQVA7QUFDRDs7QUFFRCxTQUFPLElBQUlmLGtCQUFKLENBQXVCZSxTQUF2QixFQUFrQ0osR0FBbEMsQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQbGFuS2luZCwgU2VjcmVjeUVudiwgVXNlciB9IGZyb20gXCIuLi8uLi9pbmRleC5qc1wiO1xuaW1wb3J0IHsgc3RvcmVCdWRkeSB9IGZyb20gXCIuLi8uLi91dGlscy9zdG9yZS1idWRkeS5qc1wiO1xuaW1wb3J0IHsgQmFzZUNsaWVudCB9IGZyb20gXCIuLi8uLi9CYXNlQ2xpZW50LmpzXCI7XG5cbi8qIFRPRE9cbi0gcXVlcnkgcG91ciBsaXN0ZXIgbGVzIHVzZXJzIGF2ZWMgcGFnaW5hdGlvbiBldCBpbnB1dCBvcHRpb25uZWwgXCJzZWFyY2hcIiBldCBib29sZWFuIHBvdXIgZmlsdHJlciBsZXMgYmFuc1xuLSBtdXRhdGlvbiBjaGFuZ2VyIGxlIHBsYW4gZCd1biB1c2VyIChzYW5zIHBheWVyIGR1IGNvdXApXG4tIHF1ZXJ5IHBvdXIgcmVudm95ZXIgbGVzIGFwcHMgZCd1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgZG9ubmVyIGxlcyBsaW1pdGVzIGQndW4gdXNlclxuLSBxdWVyeSBwb3VyIGRvbm5lciBsZXMgcmVwb3J0cyBkJ3VuIHVzZXJcbi0gbXV0YXRpb24gcG91ciBiYW4gdW4gdXNlclxuLSBxdWVyeSBwb3VyIGdldCBsZXMgYmFucyBkJ3VuIHVzZXJcbi0gbXV0YXRpb24gcG91ciBkZWxldGUgdW4gdXNlciAoZMOpasOgIGV4aXN0YW50Pylcbi0gbXV0YXRpb24gY2hhbmdlciBsZSByb2xlIGR1IHVzZXIgKHVzZXIvYWRtaW4pXG4tIG11dGF0aW9uIHBvdXIgZMOpY28gdW5lIG91IGRlcyBzZXNzaW9ucyBtZXRhIG91IGFwcCBkJ3VuIHVzZXJcbi0gcXVlcnkgYWZmaWNoZXIgbGVzIHNlc3Npb25zIG1ldGEgb3UgYXBwIGQndW4gdXNlclxuLSBxdWVyeSBwb3VyIGFmZmljaGVyIGRlcyBpbmZvcyBzdXIgbGUgY2xvdWQgZCd1biB1c2VyXG4tIG11dGF0aW9uIHBvdXIgZGVsZXRlLCByZXN0b3JlLCBkZWxldGUgdHJhc2gsIGRhbnMgbGUgY2xvdWQgZCd1biB1c2VyXG4tIHF1ZXJ5IHBvdXIgYWZmaWNoZXIgbGVzIGluZm9zIHN1ciBsZXMgbWFpbHMgZCd1biB1c2VyXG4tIG11dGF0aW9uIHBvdXIgZGVsZXRlLCByZXN0b3JlLCBkZWxldGUgdHJhc2gsIGRhbnMgbGVzIG1haWxzIGQndW4gdXNlclxuLSBxdWVyeSBwb3VyIGFmZmljaGVyIGxlcyBsaW1pdGVzIG1heCBldCBhY3R1ZWxzIGQndW4gdXNlclxuLSBxdWVyeSBkZSBzdGF0cz9cbiovXG5cbmV4cG9ydCB0eXBlIFVzZXJBZG1pblBhbmVsID0gVXNlcjx7IHdpdGhQdWJsaWNLZXk6IGZhbHNlIH0+O1xuY29uc3QgdXNlclNlbGVjdG9yID0ge1xuICBpZDogdHJ1ZSxcbiAgZmlyc3RuYW1lOiB0cnVlLFxuICBsYXN0bmFtZTogdHJ1ZSxcbiAgbGFuZzogdHJ1ZSxcbiAgZW1haWw6IHRydWUsXG4gIHBob25lOiB0cnVlLFxuICByb2xlOiB0cnVlLFxuICBkZWxldGVkQXQ6IHRydWUsXG4gIGxhc3RMb2dpbjogdHJ1ZVxufSBhcyBjb25zdDtcblxuZXhwb3J0IGNsYXNzIEFkbWluU2VjcmVjeUNsaWVudCBleHRlbmRzIEJhc2VDbGllbnQge1xuICBhc3luYyB1c2VyTGlzdChcbiAgICBzZWFyY2g/OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkXG4gICk6IFByb21pc2U8VXNlckFkbWluUGFuZWxbXT4ge1xuICAgIGNvbnN0IHsgdXNlckxpc3QgfSA9IGF3YWl0IHRoaXMuY2xpZW50KFwicXVlcnlcIikoe1xuICAgICAgdXNlckxpc3Q6IFtcbiAgICAgICAge1xuICAgICAgICAgIHNlYXJjaFxuICAgICAgICB9LFxuICAgICAgICB1c2VyU2VsZWN0b3JcbiAgICAgIF1cbiAgICB9KTtcblxuICAgIHJldHVybiB1c2VyTGlzdC5tYXAodXNlciA9PiAoe1xuICAgICAgLi4udXNlcixcbiAgICAgIGxhc3RMb2dpbjogbmV3IERhdGUodXNlci5sYXN0TG9naW4pLFxuICAgICAgZGVsZXRlZEF0OiB1c2VyLmRlbGV0ZWRBdCA/IG5ldyBEYXRlKHVzZXIuZGVsZXRlZEF0KSA6IG51bGxcbiAgICB9KSk7XG4gIH1cblxuICBhc3luYyBjaGFuZ2VVc2VyUGxhbihcbiAgICB1c2VySWQ6IHN0cmluZyxcbiAgICBwbGFuOiBQbGFuS2luZFxuICApOiBQcm9taXNlPFVzZXJBZG1pblBhbmVsIHwgbnVsbD4ge1xuICAgIGNvbnN0IHsgY2hhbmdlVXNlclBsYW4gfSA9IGF3YWl0IHRoaXMuY2xpZW50KFwibXV0YXRpb25cIikoe1xuICAgICAgY2hhbmdlVXNlclBsYW46IFtcbiAgICAgICAge1xuICAgICAgICAgIHVzZXJJZCxcbiAgICAgICAgICBwbGFuXG4gICAgICAgIH0sXG4gICAgICAgIHVzZXJTZWxlY3RvclxuICAgICAgXVxuICAgIH0pO1xuXG4gICAgaWYgKCFjaGFuZ2VVc2VyUGxhbikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmNoYW5nZVVzZXJQbGFuLFxuICAgICAgbGFzdExvZ2luOiBuZXcgRGF0ZShjaGFuZ2VVc2VyUGxhbi5sYXN0TG9naW4pLFxuICAgICAgZGVsZXRlZEF0OiBjaGFuZ2VVc2VyUGxhbi5kZWxldGVkQXRcbiAgICAgICAgPyBuZXcgRGF0ZShjaGFuZ2VVc2VyUGxhbi5kZWxldGVkQXQpXG4gICAgICAgIDogbnVsbFxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFNlY3JlY3lBZG1pbkNsaWVudChcbiAgZW52OiBTZWNyZWN5RW52LFxuICBzZXNzaW9uPzogYm9vbGVhbiB8IHVuZGVmaW5lZFxuKTogQWRtaW5TZWNyZWN5Q2xpZW50IHwgbnVsbCB7XG4gIGNvbnN0IHVzZXJTZXNzaW9uID0gc3RvcmVCdWRkeTxzdHJpbmc+KGBzZWNyZWN5LnVzZXJfc2Vzc2lvbmAsIHNlc3Npb24pLmluaXQoXG4gICAgXCJcIlxuICApO1xuICBjb25zdCB1YVNlc3Npb24gPSB1c2VyU2Vzc2lvbi5sb2FkKCk7XG4gIGlmICh1YVNlc3Npb24gPT09IFwiXCIpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiBuZXcgQWRtaW5TZWNyZWN5Q2xpZW50KHVhU2Vzc2lvbiwgZW52KTtcbn1cbiJdfQ==
@@ -1,8 +1,8 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
 
3
- 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; }
3
+ 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; }
4
4
 
5
- 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; }
5
+ 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; }
6
6
 
7
7
  import { filesCache } from "../../cache.js";
8
8
  import { decryptCryptoBox } from "../../crypto/index.js";
@@ -2,7 +2,6 @@ import type { KeyPair } from "../../crypto/index.js";
2
2
  import type { GQLFolder, InternalFolder, Folder, GQLFolderFull, InternalFolderFull, FolderFull } from "../types/index.js";
3
3
  export declare function gqlFolderToInternal(gql: GQLFolder, keyPair: KeyPair): Promise<InternalFolder>;
4
4
  export declare function gqlFolderFullToInternalFull(gql: GQLFolderFull, keyPair: KeyPair): Promise<InternalFolderFull>;
5
- export declare function gqlFolderFullToInternalFolderFull(gql: GQLFolderFull, keyPair: KeyPair): Promise<InternalFolderFull>;
6
5
  export declare function internalFolderToFolder(internal: InternalFolder): Folder;
7
6
  export declare function internalFolderFullToFolderFull(internal: InternalFolderFull): FolderFull;
8
7
  export declare function gqlFolderToExternalFolderFull(gql: GQLFolderFull, keyPair: KeyPair): Promise<FolderFull>;
@@ -8,9 +8,9 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
8
8
 
9
9
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
10
10
 
11
- 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; }
11
+ 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; }
12
12
 
13
- 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; }
13
+ 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; }
14
14
 
15
15
  import { sodium } from "../../sodium.js";
16
16
  import { decryptCryptoBox } from "../../crypto/index.js";
@@ -23,7 +23,8 @@ export function gqlFolderToInternal(_x, _x2) {
23
23
 
24
24
  function _gqlFolderToInternal() {
25
25
  _gqlFolderToInternal = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(gql, keyPair) {
26
- var internal, key;
26
+ var internal, key, _iterator2, _step2, b, _key;
27
+
27
28
  return _regeneratorRuntime.wrap(function _callee$(_context) {
28
29
  while (1) {
29
30
  switch (_context.prev = _context.next) {
@@ -68,24 +69,43 @@ function _gqlFolderToInternal() {
68
69
  internal.userApp.nameKey = sodium.to_hex(key);
69
70
 
70
71
  case 12:
71
- // for (const b of internal.breadcrumb) {
72
- // if (!b.nameKey) {
73
- // continue;
74
- // }
75
- // const key = decryptCryptoBox(
76
- // sodium.from_hex(b.nameKey),
77
- // b.pubKey,
78
- // keyPair.privateKey
79
- // );
80
- // b.nameKey = sodium.to_hex(key);
81
- // b.name = sodium.to_string(
82
- // await decryptSecretstream(key, sodium.from_hex(b.name))
83
- // );
84
- // }
72
+ _iterator2 = _createForOfIteratorHelperLoose(internal.breadcrumb);
73
+
74
+ case 13:
75
+ if ((_step2 = _iterator2()).done) {
76
+ _context.next = 26;
77
+ break;
78
+ }
79
+
80
+ b = _step2.value;
81
+
82
+ if (b.nameKey) {
83
+ _context.next = 17;
84
+ break;
85
+ }
86
+
87
+ return _context.abrupt("continue", 24);
88
+
89
+ case 17:
90
+ _key = decryptCryptoBox(sodium.from_hex(b.nameKey), b.pubKey, keyPair.privateKey);
91
+ b.nameKey = sodium.to_hex(_key);
92
+ _context.t2 = sodium;
93
+ _context.next = 22;
94
+ return decryptSecretstream(_key, sodium.from_hex(b.name));
95
+
96
+ case 22:
97
+ _context.t3 = _context.sent;
98
+ b.name = _context.t2.to_string.call(_context.t2, _context.t3);
99
+
100
+ case 24:
101
+ _context.next = 13;
102
+ break;
103
+
104
+ case 26:
85
105
  foldersCache.set(internal.id, internal);
86
106
  return _context.abrupt("return", internal);
87
107
 
88
- case 14:
108
+ case 28:
89
109
  case "end":
90
110
  return _context.stop();
91
111
  }
@@ -166,63 +186,6 @@ function _gqlFolderFullToInternalFull() {
166
186
  return _gqlFolderFullToInternalFull.apply(this, arguments);
167
187
  }
168
188
 
169
- export function gqlFolderFullToInternalFolderFull(_x5, _x6) {
170
- return _gqlFolderFullToInternalFolderFull.apply(this, arguments);
171
- }
172
-
173
- function _gqlFolderFullToInternalFolderFull() {
174
- _gqlFolderFullToInternalFolderFull = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(gql, keyPair) {
175
- var f, subfolders, parentFolder;
176
- return _regeneratorRuntime.wrap(function _callee3$(_context3) {
177
- while (1) {
178
- switch (_context3.prev = _context3.next) {
179
- case 0:
180
- _context3.next = 2;
181
- return gqlFolderFullToInternalFull(gql, keyPair);
182
-
183
- case 2:
184
- f = _context3.sent;
185
- _context3.next = 5;
186
- return Promise.all(gql.subfolders.map(function (f) {
187
- return gqlFolderToInternal(f, keyPair);
188
- }));
189
-
190
- case 5:
191
- subfolders = _context3.sent;
192
-
193
- if (!gql.parentFolder) {
194
- _context3.next = 12;
195
- break;
196
- }
197
-
198
- _context3.next = 9;
199
- return gqlFolderToInternal(gql.parentFolder, keyPair);
200
-
201
- case 9:
202
- _context3.t0 = _context3.sent;
203
- _context3.next = 13;
204
- break;
205
-
206
- case 12:
207
- _context3.t0 = null;
208
-
209
- case 13:
210
- parentFolder = _context3.t0;
211
- return _context3.abrupt("return", _objectSpread(_objectSpread({}, f), {}, {
212
- parentFolder: parentFolder,
213
- subfolders: subfolders
214
- }));
215
-
216
- case 15:
217
- case "end":
218
- return _context3.stop();
219
- }
220
- }
221
- }, _callee3);
222
- }));
223
- return _gqlFolderFullToInternalFolderFull.apply(this, arguments);
224
- }
225
-
226
189
  export function internalFolderToFolder(internal) {
227
190
  var folder = _objectSpread({}, internal);
228
191
 
@@ -243,59 +206,59 @@ export function internalFolderFullToFolderFull(internal) {
243
206
  subfolders: internal.subfolders.map(internalFolderToFolder)
244
207
  });
245
208
  }
246
- export function gqlFolderToExternalFolderFull(_x7, _x8) {
209
+ export function gqlFolderToExternalFolderFull(_x5, _x6) {
247
210
  return _gqlFolderToExternalFolderFull.apply(this, arguments);
248
211
  }
249
212
 
250
213
  function _gqlFolderToExternalFolderFull() {
251
- _gqlFolderToExternalFolderFull = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(gql, keyPair) {
252
- return _regeneratorRuntime.wrap(function _callee4$(_context4) {
214
+ _gqlFolderToExternalFolderFull = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(gql, keyPair) {
215
+ return _regeneratorRuntime.wrap(function _callee3$(_context3) {
253
216
  while (1) {
254
- switch (_context4.prev = _context4.next) {
217
+ switch (_context3.prev = _context3.next) {
255
218
  case 0:
256
- _context4.t0 = internalFolderFullToFolderFull;
257
- _context4.next = 3;
258
- return gqlFolderFullToInternalFolderFull(gql, keyPair);
219
+ _context3.t0 = internalFolderFullToFolderFull;
220
+ _context3.next = 3;
221
+ return gqlFolderFullToInternalFull(gql, keyPair);
259
222
 
260
223
  case 3:
261
- _context4.t1 = _context4.sent;
262
- return _context4.abrupt("return", (0, _context4.t0)(_context4.t1));
224
+ _context3.t1 = _context3.sent;
225
+ return _context3.abrupt("return", (0, _context3.t0)(_context3.t1));
263
226
 
264
227
  case 5:
265
228
  case "end":
266
- return _context4.stop();
229
+ return _context3.stop();
267
230
  }
268
231
  }
269
- }, _callee4);
232
+ }, _callee3);
270
233
  }));
271
234
  return _gqlFolderToExternalFolderFull.apply(this, arguments);
272
235
  }
273
236
 
274
- export function gqlFolderToExternal(_x9, _x10) {
237
+ export function gqlFolderToExternal(_x7, _x8) {
275
238
  return _gqlFolderToExternal.apply(this, arguments);
276
239
  }
277
240
 
278
241
  function _gqlFolderToExternal() {
279
- _gqlFolderToExternal = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(gql, keyPair) {
280
- return _regeneratorRuntime.wrap(function _callee5$(_context5) {
242
+ _gqlFolderToExternal = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(gql, keyPair) {
243
+ return _regeneratorRuntime.wrap(function _callee4$(_context4) {
281
244
  while (1) {
282
- switch (_context5.prev = _context5.next) {
245
+ switch (_context4.prev = _context4.next) {
283
246
  case 0:
284
- _context5.t0 = internalFolderToFolder;
285
- _context5.next = 3;
247
+ _context4.t0 = internalFolderToFolder;
248
+ _context4.next = 3;
286
249
  return gqlFolderToInternal(gql, keyPair);
287
250
 
288
251
  case 3:
289
- _context5.t1 = _context5.sent;
290
- return _context5.abrupt("return", (0, _context5.t0)(_context5.t1));
252
+ _context4.t1 = _context4.sent;
253
+ return _context4.abrupt("return", (0, _context4.t0)(_context4.t1));
291
254
 
292
255
  case 5:
293
256
  case "end":
294
- return _context5.stop();
257
+ return _context4.stop();
295
258
  }
296
259
  }
297
- }, _callee5);
260
+ }, _callee4);
298
261
  }));
299
262
  return _gqlFolderToExternal.apply(this, arguments);
300
263
  }
301
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvY29udmVydC9mb2xkZXIudHMiXSwibmFtZXMiOlsic29kaXVtIiwiZGVjcnlwdENyeXB0b0JveCIsImdxbFZGaWxlVG9JbnRlcm5hbCIsImludGVybmFsVkZpbGVUb1ZGaWxlIiwiZm9sZGVyc0NhY2hlIiwiZGVjcnlwdFNlY3JldHN0cmVhbSIsImdxbEZvbGRlclRvSW50ZXJuYWwiLCJncWwiLCJrZXlQYWlyIiwidXNlckFwcCIsImlkIiwiaW50ZXJuYWwiLCJuYW1lIiwiaXNGYXZvcml0ZSIsImJyZWFkY3J1bWIiLCJjcmVhdGVkQnkiLCJ1c2VyIiwiY3JlYXRlZEF0IiwiRGF0ZSIsInVwZGF0ZWRBdCIsImRlbGV0ZWRBdCIsInVzZXJzIiwidXNlckFwcHMiLCJtYXAiLCJ1IiwicmlnaHRzIiwibmFtZUtleSIsImtleSIsImZyb21faGV4IiwicHVibGljS2V5IiwicHJpdmF0ZUtleSIsInRvX3N0cmluZyIsInRvX2hleCIsInNldCIsImdxbEZvbGRlckZ1bGxUb0ludGVybmFsRnVsbCIsImYiLCJQcm9taXNlIiwiYWxsIiwidkZpbGVzIiwiZmlsdGVyIiwidkZpbGUiLCJwYXJlbnRGb2xkZXIiLCJzdWJmb2xkZXJzIiwicyIsImdxbEZvbGRlckZ1bGxUb0ludGVybmFsRm9sZGVyRnVsbCIsImludGVybmFsRm9sZGVyVG9Gb2xkZXIiLCJmb2xkZXIiLCJiIiwiaW50ZXJuYWxGb2xkZXJGdWxsVG9Gb2xkZXJGdWxsIiwiZ3FsRm9sZGVyVG9FeHRlcm5hbEZvbGRlckZ1bGwiLCJncWxGb2xkZXJUb0V4dGVybmFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLFNBQVNBLE1BQVQsUUFBdUIsaUJBQXZCO0FBRUEsU0FBU0MsZ0JBQVQsUUFBaUMsdUJBQWpDO0FBU0EsU0FBU0Msa0JBQVQsRUFBNkJDLG9CQUE3QixRQUF5RCxZQUF6RDtBQUNBLFNBQVNDLFlBQVQsUUFBNkIsZ0JBQTdCO0FBQ0EsU0FBU0MsbUJB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VixDQURaLEdBRVYsSUFMTjtBQU1FQyxJQUFBQSxVQUFVLEVBQUUvQixRQUFRLENBQUMrQixVQUFULENBQW9CbkIsR0FBcEIsQ0FBd0JzQixzQkFBeEI7QUFOZDtBQVFEO0FBRUQsZ0JBQXNCSSw2QkFBdEI7QUFBQTtBQUFBOzs7NEZBQU8sa0JBQ0wxQyxHQURLLEVBRUxDLE9BRks7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDJCQUlFd0MsOEJBSkY7QUFBQTtBQUFBLG1CQUtHSixpQ0FBaUMsQ0FBQ3JDLEdBQUQsRUFBTUMsT0FBTixDQUxwQzs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRzs7OztBQVNQLGdCQUFzQjBDLG1CQUF0QjtBQUFBO0FBQUE7OztrRkFBTyxrQkFDTDNDLEdBREssRUFFTEMsT0FGSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMkJBSUVxQyxzQkFKRjtBQUFBO0FBQUEsbUJBSStCdkMsbUJBQW1CLENBQUNDLEdBQUQsRUFBTUMsT0FBTixDQUpsRDs7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNvZGl1bSB9IGZyb20gXCIuLi8uLi9zb2RpdW0uanNcIjtcbmltcG9ydCB0eXBlIHsgS2V5UGFpciB9IGZyb20gXCIuLi8uLi9jcnlwdG8vaW5kZXguanNcIjtcbmltcG9ydCB7IGRlY3J5cHRDcnlwdG9Cb3ggfSBmcm9tIFwiLi4vLi4vY3J5cHRvL2luZGV4LmpzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEdRTEZvbGRlcixcbiAgSW50ZXJuYWxGb2xkZXIsXG4gIEZvbGRlcixcbiAgR1FMRm9sZGVyRnVsbCxcbiAgSW50ZXJuYWxGb2xkZXJGdWxsLFxuICBGb2xkZXJGdWxsXG59IGZyb20gXCIuLi90eXBlcy9pbmRleC5qc1wiO1xuaW1wb3J0IHsgZ3FsVkZpbGVUb0ludGVybmFsLCBpbnRlcm5hbFZGaWxlVG9WRmlsZSB9IGZyb20gXCIuL3ZGaWxlLmpzXCI7XG5pbXBvcnQgeyBmb2xkZXJzQ2FjaGUgfSBmcm9tIFwiLi4vLi4vY2FjaGUuanNcIjtcbmltcG9ydCB7IGRlY3J5cHRTZWNyZXRzdHJlYW0gfSBmcm9tIFwiLi4vLi4vY3J5cHRvL2ZpbGUuanNcIjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdxbEZvbGRlclRvSW50ZXJuYWwoXG4gIGdxbDogR1FMRm9sZGVyLFxuICBrZXlQYWlyOiBLZXlQYWlyXG4pOiBQcm9taXNlPEludGVybmFsRm9sZGVyPiB7XG4gIGlmICghZ3FsLnVzZXJBcHApIHtcbiAgICB0aHJvdyBgQ2FuJ3QgYWNjZXNzIGZvbGRlciAke2dxbC5pZH1gO1xuICB9XG4gIGNvbnN0IGludGVybmFsOiBJbnRlcm5hbEZvbGRlciA9IHtcbiAgICBpZDogZ3FsLmlkLFxuICAgIHVzZXJBcHA6IGdxbC51c2VyQXBwLFxuICAgIG5hbWU6IGdxbC5uYW1lLFxuICAgIGlzRmF2b3JpdGU6IGdxbC5pc0Zhdm9yaXRlLFxuICAgIGJyZWFkY3J1bWI6IGdxbC5icmVhZGNydW1iLFxuICAgIGNyZWF0ZWRCeTogZ3FsLmNyZWF0ZWRCeS51c2VyLFxuICAgIGNyZWF0ZWRBdDogbmV3IERhdGUoZ3FsLmNyZWF0ZWRBdCksXG4gICAgdXBkYXRlZEF0OiBuZXcgRGF0ZShncWwudXBkYXRlZEF0KSxcbiAgICBkZWxldGVkQXQ6IGdxbC5kZWxldGVkQXQgPyBuZXcgRGF0ZShncWwuZGVsZXRlZEF0KSA6IG51bGwsXG4gICAgdXNlcnM6IGdxbC51c2VyQXBwcy5tYXAodSA9PiBbdS51c2VyQXBwLnVzZXIsIHUucmlnaHRzXSlcbiAgfTtcblxuICBpbnRlcm5hbC51c2VyQXBwID0geyAuLi5ncWwudXNlckFwcCB9O1xuXG4gIGlmIChncWwudXNlckFwcC5uYW1lS2V5KSB7XG4gICAgY29uc3Qga2V5ID0gZGVjcnlwdENyeXB0b0JveChcbiAgICAgIHNvZGl1bS5mcm9tX2hleChncWwudXNlckFwcC5uYW1lS2V5KSxcbiAgICAgIGdxbC5jcmVhdGVkQnkudXNlci5wdWJsaWNLZXksXG4gICAgICBrZXlQYWlyLnByaXZhdGVLZXlcbiAgICApO1xuICAgIGludGVybmFsLm5hbWUgPSBzb2RpdW0udG9fc3RyaW5nKFxuICAgICAgYXdhaXQgZGVjcnlwdFNlY3JldHN0cmVhbShrZXksIHNvZGl1bS5mcm9tX2hleChpbnRlcm5hbC5uYW1lKSlcbiAgICApO1xuXG4gICAgaW50ZXJuYWwudXNlckFwcC5uYW1lS2V5ID0gc29kaXVtLnRvX2hleChrZXkpO1xuICB9XG5cbiAgLy8gZm9yIChjb25zdCBiIG9mIGludGVybmFsLmJyZWFkY3J1bWIpIHtcbiAgLy8gICBpZiAoIWIubmFtZUtleSkge1xuICAvLyAgICAgY29udGludWU7XG4gIC8vICAgfVxuXG4gIC8vICAgY29uc3Qga2V5ID0gZGVjcnlwdENyeXB0b0JveChcbiAgLy8gICAgIHNvZGl1bS5mcm9tX2hleChiLm5hbWVLZXkpLFxuICAvLyAgICAgYi5wdWJLZXksXG4gIC8vICAgICBrZXlQYWlyLnByaXZhdGVLZXlcbiAgLy8gICApO1xuICAvLyAgIGIubmFtZUtleSA9IHNvZGl1bS50b19oZXgoa2V5KTtcblxuICAvLyAgIGIubmFtZSA9IHNvZGl1bS50b19zdHJpbmcoXG4gIC8vICAgICBhd2FpdCBkZWNyeXB0U2VjcmV0c3RyZWFtKGtleSwgc29kaXVtLmZyb21faGV4KGIubmFtZSkpXG4gIC8vICAgKTtcbiAgLy8gfVxuXG4gIGZvbGRlcnNDYWNoZS5zZXQoaW50ZXJuYWwuaWQsIGludGVybmFsKTtcbiAgcmV0dXJuIGludGVybmFsO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ3FsRm9sZGVyRnVsbFRvSW50ZXJuYWxGdWxsKFxuICBncWw6IEdRTEZvbGRlckZ1bGwsXG4gIGtleVBhaXI6IEtleVBhaXJcbik6IFByb21pc2U8SW50ZXJuYWxGb2xkZXJGdWxsPiB7XG4gIGNvbnN0IGYgPSBhd2FpdCBncWxGb2xkZXJUb0ludGVybmFsKGdxbCwga2V5UGFpcik7XG4gIHJldHVybiB7XG4gICAgLi4uZixcbiAgICB2RmlsZXM6IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgZ3FsLnZGaWxlc1xuICAgICAgICAuZmlsdGVyKGYgPT4gZi51c2VyQXBwKVxuICAgICAgICAubWFwKHZGaWxlID0+IGdxbFZGaWxlVG9JbnRlcm5hbCh2RmlsZSwga2V5UGFpcikpXG4gICAgKSxcbiAgICBwYXJlbnRGb2xkZXI6IGdxbC5wYXJlbnRGb2xkZXJcbiAgICAgID8gYXdhaXQgZ3FsRm9sZGVyVG9JbnRlcm5hbChncWwucGFyZW50Rm9sZGVyLCBrZXlQYWlyKVxuICAgICAgOiBudWxsLFxuICAgIHN1YmZvbGRlcnM6IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgZ3FsLnN1YmZvbGRlcnMubWFwKHMgPT4gZ3FsRm9sZGVyVG9JbnRlcm5hbChzLCBrZXlQYWlyKSlcbiAgICApXG4gIH07XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBncWxGb2xkZXJGdWxsVG9JbnRlcm5hbEZvbGRlckZ1bGwoXG4gIGdxbDogR1FMRm9sZGVyRnVsbCxcbiAga2V5UGFpcjogS2V5UGFpclxuKTogUHJvbWlzZTxJbnRlcm5hbEZvbGRlckZ1bGw+IHtcbiAgY29uc3QgZiA9IGF3YWl0IGdxbEZvbGRlckZ1bGxUb0ludGVybmFsRnVsbChncWwsIGtleVBhaXIpO1xuICBjb25zdCBzdWJmb2xkZXJzID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgZ3FsLnN1YmZvbGRlcnMubWFwKGYgPT4gZ3FsRm9sZGVyVG9JbnRlcm5hbChmLCBrZXlQYWlyKSlcbiAgKTtcbiAgY29uc3QgcGFyZW50Rm9sZGVyID0gZ3FsLnBhcmVudEZvbGRlclxuICAgID8gYXdhaXQgZ3FsRm9sZGVyVG9JbnRlcm5hbChncWwucGFyZW50Rm9sZGVyLCBrZXlQYWlyKVxuICAgIDogbnVsbDtcblxuICByZXR1cm4ge1xuICAgIC4uLmYsXG4gICAgcGFyZW50Rm9sZGVyLFxuICAgIHN1YmZvbGRlcnNcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludGVybmFsRm9sZGVyVG9Gb2xkZXIoaW50ZXJuYWw6IEludGVybmFsRm9sZGVyKTogRm9sZGVyIHtcbiAgY29uc3QgZm9sZGVyOiBGb2xkZXIgPSB7XG4gICAgLi4uaW50ZXJuYWxcbiAgfTtcblxuICBmb3IgKGNvbnN0IGIgb2YgZm9sZGVyLmJyZWFkY3J1bWIpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgZGVsZXRlIGIubmFtZUtleTtcbiAgfVxuICAvLyBAdHMtaWdub3JlXG4gIGRlbGV0ZSBmb2xkZXIubmFtZUtleTtcbiAgcmV0dXJuIGZvbGRlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludGVybmFsRm9sZGVyRnVsbFRvRm9sZGVyRnVsbChcbiAgaW50ZXJuYWw6IEludGVybmFsRm9sZGVyRnVsbFxuKTogRm9sZGVyRnVsbCB7XG4gIHJldHVybiB7XG4gICAgLi4uaW50ZXJuYWxGb2xkZXJUb0ZvbGRlcihpbnRlcm5hbCksXG4gICAgdkZpbGVzOiBpbnRlcm5hbC52RmlsZXMubWFwKGludGVybmFsVkZpbGVUb1ZGaWxlKSxcbiAgICBwYXJlbnRGb2xkZXI6IGludGVybmFsLnBhcmVudEZvbGRlclxuICAgICAgPyBpbnRlcm5hbEZvbGRlclRvRm9sZGVyKGludGVybmFsLnBhcmVudEZvbGRlcilcbiAgICAgIDogbnVsbCxcbiAgICBzdWJmb2xkZXJzOiBpbnRlcm5hbC5zdWJmb2xkZXJzLm1hcChpbnRlcm5hbEZvbGRlclRvRm9sZGVyKVxuICB9O1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ3FsRm9sZGVyVG9FeHRlcm5hbEZvbGRlckZ1bGwoXG4gIGdxbDogR1FMRm9sZGVyRnVsbCxcbiAga2V5UGFpcjogS2V5UGFpclxuKTogUHJvbWlzZTxGb2xkZXJGdWxsPiB7XG4gIHJldHVybiBpbnRlcm5hbEZvbGRlckZ1bGxUb0ZvbGRlckZ1bGwoXG4gICAgYXdhaXQgZ3FsRm9sZGVyRnVsbFRvSW50ZXJuYWxGb2xkZXJGdWxsKGdxbCwga2V5UGFpcilcbiAgKTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdxbEZvbGRlclRvRXh0ZXJuYWwoXG4gIGdxbDogR1FMRm9sZGVyLFxuICBrZXlQYWlyOiBLZXlQYWlyXG4pOiBQcm9taXNlPEZvbGRlcj4ge1xuICByZXR1cm4gaW50ZXJuYWxGb2xkZXJUb0ZvbGRlcihhd2FpdCBncWxGb2xkZXJUb0ludGVybmFsKGdxbCwga2V5UGFpcikpO1xufVxuIl19
264
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvY29udmVydC9mb2xkZXIudHMiXSwibmFtZXMiOlsic29kaXVtIiwiZGVjcnlwdENyeXB0b0JveCIsImdxbFZGaWxlVG9JbnRlcm5hbCIsImludGVybmFsVkZpbGVUb1ZGaWxlIiwiZm9sZGVyc0NhY2hlIiwiZGVjcnlwdFNlY3JldHN0cmVhbSIsImdxbEZvbGRlclRvSW50ZXJuYWwiLCJncWwiLCJrZXlQYWlyIiwidXNlckFwcCIsImlkIiwiaW50ZXJuYWwiLCJuYW1lIiwiaXNGYXZvcml0ZSIsImJyZWFkY3J1bWIiLCJjcmVhdGVkQnkiLCJ1c2VyIiwiY3JlYXRlZEF0IiwiRGF0ZSIsInVwZGF0ZWRBdCIsImRlbGV0ZWRBdCIsInVzZXJzIiwidXNlckFwcHMiLCJtYXAiLCJ1IiwicmlnaHRzIiwibmFtZUtleSIsImtleSIsImZyb21faGV4IiwicHVibGljS2V5IiwicHJpdmF0ZUtleSIsInRvX3N0cmluZyIsInRvX2hleCIsImIiLCJwdWJLZXkiLCJzZXQiLCJncWxGb2xkZXJGdWxsVG9JbnRlcm5hbEZ1bGwiLCJmIiwiUHJvbWlzZSIsImFsbCIsInZGaWxlcyIsImZpbHRlciIsInZGaWxlIiwicGFyZW50Rm9sZGVyIiwic3ViZm9sZGVycyIsInMiLCJpbnRlcm5hbEZvbGRlclRvRm9sZGVyIiwiZm9sZGVyIiwiaW50ZXJuYWxGb2xkZXJGdWxsVG9Gb2xkZXJGdWxsIiwiZ3FsRm9sZGVyVG9FeHRlcm5hbEZvbGRlckZ1bGwiLCJncWxGb2xkZXJUb0V4dGVybmFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLFNBQVNBLE1BQVQsUUFBdUIsaUJBQXZCO0FBRUEsU0FBU0MsZ0JBQVQsUUFBaUMsdUJBQWpDO0FBU0EsU0FBU0Msa0JBQVQsRUFBNkJDLG9CQUE3QixRQUF5RCxZQUF6RDtBQUNBLFNBQVNDLFlBQVQsUUFBNkIsZ0JBQTdCO0FBQ0EsU0FBU0MsbUJBQVQsUUFBb0Msc0JBQXBDO0FBRUEsZ0JBQXNC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RjtBQUFBO0FBQUEsbUJBS0daLDJCQUEyQixDQUFDN0IsR0FBRCxFQUFNQyxPQUFOLENBTDlCOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHOzs7O0FBU1AsZ0JBQXNCMEMsbUJBQXRCO0FBQUE7QUFBQTs7O2tGQUFPLGtCQUNMM0MsR0FESyxFQUVMQyxPQUZLO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwyQkFJRXNDLHNCQUpGO0FBQUE7QUFBQSxtQkFJK0J4QyxtQkFBbUIsQ0FBQ0MsR0FBRCxFQUFNQyxPQUFOLENBSmxEOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc29kaXVtIH0gZnJvbSBcIi4uLy4uL3NvZGl1bS5qc1wiO1xuaW1wb3J0IHR5cGUgeyBLZXlQYWlyIH0gZnJvbSBcIi4uLy4uL2NyeXB0by9pbmRleC5qc1wiO1xuaW1wb3J0IHsgZGVjcnlwdENyeXB0b0JveCB9IGZyb20gXCIuLi8uLi9jcnlwdG8vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgR1FMRm9sZGVyLFxuICBJbnRlcm5hbEZvbGRlcixcbiAgRm9sZGVyLFxuICBHUUxGb2xkZXJGdWxsLFxuICBJbnRlcm5hbEZvbGRlckZ1bGwsXG4gIEZvbGRlckZ1bGxcbn0gZnJvbSBcIi4uL3R5cGVzL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBncWxWRmlsZVRvSW50ZXJuYWwsIGludGVybmFsVkZpbGVUb1ZGaWxlIH0gZnJvbSBcIi4vdkZpbGUuanNcIjtcbmltcG9ydCB7IGZvbGRlcnNDYWNoZSB9IGZyb20gXCIuLi8uLi9jYWNoZS5qc1wiO1xuaW1wb3J0IHsgZGVjcnlwdFNlY3JldHN0cmVhbSB9IGZyb20gXCIuLi8uLi9jcnlwdG8vZmlsZS5qc1wiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ3FsRm9sZGVyVG9JbnRlcm5hbChcbiAgZ3FsOiBHUUxGb2xkZXIsXG4gIGtleVBhaXI6IEtleVBhaXJcbik6IFByb21pc2U8SW50ZXJuYWxGb2xkZXI+IHtcbiAgaWYgKCFncWwudXNlckFwcCkge1xuICAgIHRocm93IGBDYW4ndCBhY2Nlc3MgZm9sZGVyICR7Z3FsLmlkfWA7XG4gIH1cbiAgY29uc3QgaW50ZXJuYWw6IEludGVybmFsRm9sZGVyID0ge1xuICAgIGlkOiBncWwuaWQsXG4gICAgdXNlckFwcDogZ3FsLnVzZXJBcHAsXG4gICAgbmFtZTogZ3FsLm5hbWUsXG4gICAgaXNGYXZvcml0ZTogZ3FsLmlzRmF2b3JpdGUsXG4gICAgYnJlYWRjcnVtYjogZ3FsLmJyZWFkY3J1bWIsXG4gICAgY3JlYXRlZEJ5OiBncWwuY3JlYXRlZEJ5LnVzZXIsXG4gICAgY3JlYXRlZEF0OiBuZXcgRGF0ZShncWwuY3JlYXRlZEF0KSxcbiAgICB1cGRhdGVkQXQ6IG5ldyBEYXRlKGdxbC51cGRhdGVkQXQpLFxuICAgIGRlbGV0ZWRBdDogZ3FsLmRlbGV0ZWRBdCA/IG5ldyBEYXRlKGdxbC5kZWxldGVkQXQpIDogbnVsbCxcbiAgICB1c2VyczogZ3FsLnVzZXJBcHBzLm1hcCh1ID0+IFt1LnVzZXJBcHAudXNlciwgdS5yaWdodHNdKVxuICB9O1xuXG4gIGludGVybmFsLnVzZXJBcHAgPSB7IC4uLmdxbC51c2VyQXBwIH07XG5cbiAgaWYgKGdxbC51c2VyQXBwLm5hbWVLZXkpIHtcbiAgICBjb25zdCBrZXkgPSBkZWNyeXB0Q3J5cHRvQm94KFxuICAgICAgc29kaXVtLmZyb21faGV4KGdxbC51c2VyQXBwLm5hbWVLZXkpLFxuICAgICAgZ3FsLmNyZWF0ZWRCeS51c2VyLnB1YmxpY0tleSxcbiAgICAgIGtleVBhaXIucHJpdmF0ZUtleVxuICAgICk7XG4gICAgaW50ZXJuYWwubmFtZSA9IHNvZGl1bS50b19zdHJpbmcoXG4gICAgICBhd2FpdCBkZWNyeXB0U2VjcmV0c3RyZWFtKGtleSwgc29kaXVtLmZyb21faGV4KGludGVybmFsLm5hbWUpKVxuICAgICk7XG5cbiAgICBpbnRlcm5hbC51c2VyQXBwLm5hbWVLZXkgPSBzb2RpdW0udG9faGV4KGtleSk7XG4gIH1cblxuICBmb3IgKGNvbnN0IGIgb2YgaW50ZXJuYWwuYnJlYWRjcnVtYikge1xuICAgIGlmICghYi5uYW1lS2V5KSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3Qga2V5ID0gZGVjcnlwdENyeXB0b0JveChcbiAgICAgIHNvZGl1bS5mcm9tX2hleChiLm5hbWVLZXkpLFxuICAgICAgYi5wdWJLZXksXG4gICAgICBrZXlQYWlyLnByaXZhdGVLZXlcbiAgICApO1xuICAgIGIubmFtZUtleSA9IHNvZGl1bS50b19oZXgoa2V5KTtcblxuICAgIGIubmFtZSA9IHNvZGl1bS50b19zdHJpbmcoXG4gICAgICBhd2FpdCBkZWNyeXB0U2VjcmV0c3RyZWFtKGtleSwgc29kaXVtLmZyb21faGV4KGIubmFtZSkpXG4gICAgKTtcbiAgfVxuXG4gIGZvbGRlcnNDYWNoZS5zZXQoaW50ZXJuYWwuaWQsIGludGVybmFsKTtcbiAgcmV0dXJuIGludGVybmFsO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ3FsRm9sZGVyRnVsbFRvSW50ZXJuYWxGdWxsKFxuICBncWw6IEdRTEZvbGRlckZ1bGwsXG4gIGtleVBhaXI6IEtleVBhaXJcbik6IFByb21pc2U8SW50ZXJuYWxGb2xkZXJGdWxsPiB7XG4gIGNvbnN0IGYgPSBhd2FpdCBncWxGb2xkZXJUb0ludGVybmFsKGdxbCwga2V5UGFpcik7XG4gIHJldHVybiB7XG4gICAgLi4uZixcbiAgICB2RmlsZXM6IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgZ3FsLnZGaWxlc1xuICAgICAgICAuZmlsdGVyKGYgPT4gZi51c2VyQXBwKVxuICAgICAgICAubWFwKHZGaWxlID0+IGdxbFZGaWxlVG9JbnRlcm5hbCh2RmlsZSwga2V5UGFpcikpXG4gICAgKSxcbiAgICBwYXJlbnRGb2xkZXI6IGdxbC5wYXJlbnRGb2xkZXJcbiAgICAgID8gYXdhaXQgZ3FsRm9sZGVyVG9JbnRlcm5hbChncWwucGFyZW50Rm9sZGVyLCBrZXlQYWlyKVxuICAgICAgOiBudWxsLFxuICAgIHN1YmZvbGRlcnM6IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgZ3FsLnN1YmZvbGRlcnMubWFwKHMgPT4gZ3FsRm9sZGVyVG9JbnRlcm5hbChzLCBrZXlQYWlyKSlcbiAgICApXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnRlcm5hbEZvbGRlclRvRm9sZGVyKGludGVybmFsOiBJbnRlcm5hbEZvbGRlcik6IEZvbGRlciB7XG4gIGNvbnN0IGZvbGRlcjogRm9sZGVyID0ge1xuICAgIC4uLmludGVybmFsXG4gIH07XG5cbiAgZm9yIChjb25zdCBiIG9mIGZvbGRlci5icmVhZGNydW1iKSB7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIGRlbGV0ZSBiLm5hbWVLZXk7XG4gIH1cbiAgLy8gQHRzLWlnbm9yZVxuICBkZWxldGUgZm9sZGVyLm5hbWVLZXk7XG4gIHJldHVybiBmb2xkZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnRlcm5hbEZvbGRlckZ1bGxUb0ZvbGRlckZ1bGwoXG4gIGludGVybmFsOiBJbnRlcm5hbEZvbGRlckZ1bGxcbik6IEZvbGRlckZ1bGwge1xuICByZXR1cm4ge1xuICAgIC4uLmludGVybmFsRm9sZGVyVG9Gb2xkZXIoaW50ZXJuYWwpLFxuICAgIHZGaWxlczogaW50ZXJuYWwudkZpbGVzLm1hcChpbnRlcm5hbFZGaWxlVG9WRmlsZSksXG4gICAgcGFyZW50Rm9sZGVyOiBpbnRlcm5hbC5wYXJlbnRGb2xkZXJcbiAgICAgID8gaW50ZXJuYWxGb2xkZXJUb0ZvbGRlcihpbnRlcm5hbC5wYXJlbnRGb2xkZXIpXG4gICAgICA6IG51bGwsXG4gICAgc3ViZm9sZGVyczogaW50ZXJuYWwuc3ViZm9sZGVycy5tYXAoaW50ZXJuYWxGb2xkZXJUb0ZvbGRlcilcbiAgfTtcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdxbEZvbGRlclRvRXh0ZXJuYWxGb2xkZXJGdWxsKFxuICBncWw6IEdRTEZvbGRlckZ1bGwsXG4gIGtleVBhaXI6IEtleVBhaXJcbik6IFByb21pc2U8Rm9sZGVyRnVsbD4ge1xuICByZXR1cm4gaW50ZXJuYWxGb2xkZXJGdWxsVG9Gb2xkZXJGdWxsKFxuICAgIGF3YWl0IGdxbEZvbGRlckZ1bGxUb0ludGVybmFsRnVsbChncWwsIGtleVBhaXIpXG4gICk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBncWxGb2xkZXJUb0V4dGVybmFsKFxuICBncWw6IEdRTEZvbGRlcixcbiAga2V5UGFpcjogS2V5UGFpclxuKTogUHJvbWlzZTxGb2xkZXI+IHtcbiAgcmV0dXJuIGludGVybmFsRm9sZGVyVG9Gb2xkZXIoYXdhaXQgZ3FsRm9sZGVyVG9JbnRlcm5hbChncWwsIGtleVBhaXIpKTtcbn1cbiJdfQ==
@@ -2,9 +2,9 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
3
  import _regeneratorRuntime from "@babel/runtime/regenerator";
4
4
 
5
- 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; }
5
+ 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; }
6
6
 
7
- 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; }
7
+ 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; }
8
8
 
9
9
  import { vFilesCache } from "../../cache.js";
10
10
  import { decryptCryptoBox } from "../../crypto/index.js";