@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.
- package/README.md +1 -0
- package/lib/BaseClient.d.ts +3 -0
- package/lib/BaseClient.js +132 -88
- package/lib/PopupTools.d.ts +1 -1
- package/lib/PopupTools.js +3 -3
- package/lib/ZeusThunder.js +2 -2
- package/lib/client/admin/index.d.ts +10 -0
- package/lib/client/admin/index.js +152 -0
- package/lib/client/convert/file.js +2 -2
- package/lib/client/convert/folder.d.ts +0 -1
- package/lib/client/convert/folder.js +60 -97
- package/lib/client/convert/vFile.js +2 -2
- package/lib/client/index.d.ts +19 -12
- package/lib/client/index.js +862 -699
- package/lib/client/types/File.js +1 -0
- package/lib/client/types/FilesOnUsersOnApplications.js +1 -0
- package/lib/client/types/Inputs.js +1 -0
- package/lib/client/types/UserAppNotifications.d.ts +6 -0
- package/lib/client/types/UserAppNotifications.js +3 -0
- package/lib/client/types/UserAppSettings.js +1 -0
- package/lib/client/types/index.d.ts +1 -0
- package/lib/client/types/index.js +3 -1
- package/lib/client/types/queries.js +2 -2
- package/lib/index.d.ts +2 -1
- package/lib/index.js +2 -1
- package/lib/worker/__mock__/sodium.worker.js +1 -12
- package/lib/worker/sodium.d.ts +2 -2
- package/lib/worker/sodium.js +19 -5
- package/lib/zeus/const.js +720 -648
- package/lib/zeus/index.d.ts +1330 -31075
- package/lib/zeus/index.js +92 -56
- package/package.json +34 -31
package/lib/PopupTools.d.ts
CHANGED
|
@@ -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
|
|
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);
|
|
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]
|
|
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Qb3B1cFRvb2xzLnRzIl0sIm5hbWVzIjpbImRlZmF1bHRPcHRpb25zIiwid2lkdGgiLCJoZWlnaHQiLCJtZW51YmFyIiwicmVzaXphYmxlIiwibG9jYXRpb24iLCJzY3JvbGxiYXJzIiwiY2VudGVyZWQiLCJwb3B1cENvdW50Iiwib3B0aW9uc1RvU3RyaW5nIiwib3B0aW9ucyIsIk9iamVjdCIsImVudHJpZXMiLCJtYXAiLCJrIiwidiIsImpvaW4iLCJkZWZhdWx0UG9wdXBOYW1lIiwib3B0aW9uc1Jlc29sdmVDZW50ZXJlZCIsIkVycm9yIiwicmVzdWx0Iiwid2luZG93Iiwib3V0ZXJXaWR0aCIsIm91dGVySGVpZ2h0IiwibGVmdCIsIk1hdGgiLCJyb3VuZCIsInNjcmVlblgiLCJ0b3AiLCJzY3JlZW5ZIiwib3BlblBvcHVwV2l0aFBvc3QiLCJ1cmwiLCJwb3N0RGF0YSIsIm5hbWUiLCJmb3JtIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwid2luIiwic2V0QXR0cmlidXRlIiwia2V5cyIsImZvckVhY2giLCJhZGRGb3JtSXRlbSIsImtleSIsImlucHV0IiwidHlwZSIsInZhbHVlIiwiYXBwZW5kQ2hpbGQiLCJib2R5Iiwib3BlbiIsIndyaXRlIiwic3VibWl0IiwicmVtb3ZlQ2hpbGQiLCJwb3B1cEV4ZWN1dGUiLCJleGVjdXRlIiwiY2FsbGJhY2siLCJwb3B1cE5hbWUiLCJwb3B1cE9wdGlvbnMiLCJhc3NpZ24iLCJwb3B1cENhbGxiYWNrIiwibm9vcCIsIm9wdGlvbnNTdHJpbmciLCJpc01lc3NhZ2VTZW50IiwiaW50ZXJ2YWwiLCJwb3B1cENhbGxiYWNrT25jZSIsImVyciIsImRhdGEiLCJvbk1lc3NhZ2UiLCJtZXNzYWdlIiwidW5kZWZpbmVkIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImFkZEV2ZW50TGlzdGVuZXIiLCJzZXRJbnRlcnZhbCIsImNsb3NlUG9wdXBDYWxsYmFjayIsImNsb3NlZCIsInNldFRpbWVvdXQiLCJkZWxheVdpbmRvd0Nsb3NpbmciLCJjbGVhckludGVydmFsIiwicG9wdXAiLCJwb3B1cFdpdGhQb3N0Iiwib3BlbldpdGhQb3N0RGF0YSIsInBvcHVwVXJsIiwicG9wdXBSZXNwb25zZSIsImpzb25EYXRhIiwiSlNPTiIsInN0cmluZ2lmeSJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBZUEsSUFBTUEsY0FBdUIsR0FBRztBQUM5QkMsRUFBQUEsS0FBSyxFQUFFLEdBRHVCO0FBRTlCQyxFQUFBQSxNQUFNLEVBQUUsR0FGc0I7QUFHOUJDLEVBQUFBLE9BQU8sRUFBRSxJQUhxQjtBQUk5QkMsRUFBQUEsU0FBUyxFQUFFLEtBSm1CO0FBSzlCQyxFQUFBQSxRQUFRLEVBQUUsS0FMb0I7QUFNOUJDLEVBQUFBLFVBQVUsRUFBRSxJQU5rQjtBQU85QkMsRUFBQUEsUUFBUSxFQUFFO0FBUG9CLENBQWhDO0FBa0JBLElBQUlDLFVBQVUsR0FBRyxDQUFqQjtBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQSxTQUFTQyxlQUFULENBQTRDQyxPQUE1QyxFQUFnRTtBQUM5RCxTQUFPQyxNQUFNLENBQUNDLE9BQVAsQ0FBZUYsT0FBZixFQUNKRyxHQURJLENBQ0E7QUFBQSxRQUFFQyxDQUFGO0FBQUEsUUFBS0MsQ0FBTDtBQUFBLFdBQWVELENBQWYsU0FBb0JDLENBQXBCO0FBQUEsR0FEQSxFQUVKQyxJQUZJLENBRUMsR0FGRCxDQUFQO0FBR0Q7QUFFRDtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsU0FBU0MsZ0JBQVQsR0FBb0M7QUFDbENULEVBQUFBLFVBQVUsSUFBSSxDQUFkO0FBQ0Esb0JBQWdCQSxVQUFoQjtBQUNEO0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFNBQVNVLHNCQUFULENBQWdDUixPQUFoQyxFQUEyRDtBQUN6RCxNQUFJLENBQUNBLE9BQU8sQ0FBQ1QsS0FBVCxJQUFrQixDQUFDUyxPQUFPLENBQUNSLE1BQS9CLEVBQXVDO0FBQ3JDLFVBQU0sSUFBSWlCLEtBQUosQ0FBVSw4QkFBVixDQUFOO0FBQ0Q7O0FBQ0QsTUFBTUMsTUFBTSxxQkFBUVYsT0FBUixDQUFaOztBQUNBLE1BQU1ULEtBQUssR0FBR29CLE1BQU0sQ0FBQ0MsVUFBUCxHQUFvQlosT0FBTyxDQUFDVCxLQUExQztBQUNBLE1BQU1DLE1BQU0sR0FBR21CLE1BQU0sQ0FBQ0UsV0FBUCxHQUFxQmIsT0FBTyxDQUFDUixNQUE1Qzs7QUFFQSxNQUFJUSxPQUFPLENBQUNILFFBQVosRUFBc0I7QUFDcEJhLElBQUFBLE1BQU0sQ0FBQ0ksSUFBUCxHQUFjZCxPQUFPLENBQUNjLElBQVIsSUFBZ0JDLElBQUksQ0FBQ0MsS0FBTCxDQUFXTCxNQUFNLENBQUNNLE9BQVAsR0FBaUIxQixLQUFLLEdBQUcsQ0FBcEMsQ0FBOUI7QUFDQW1CLElBQUFBLE1BQU0sQ0FBQ1EsR0FBUCxHQUFhbEIsT0FBTyxDQUFDa0IsR0FBUixJQUFlSCxJQUFJLENBQUNDLEtBQUwsQ0FBV0wsTUFBTSxDQUFDUSxPQUFQLEdBQWlCM0IsTUFBTSxHQUFHLEdBQXJDLENBQTVCO0FBQ0EsV0FBT2tCLE1BQU0sQ0FBQ2IsUUFBZDtBQUNEOztBQUNELFNBQU9hLE1BQVA7QUFDRDtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFDQSxTQUFTVSxpQkFBVCxDQUNFQyxHQURGLEVBRUVDLFFBRkYsRUFHRUMsSUFIRixFQUlFdkIsT0FKRixFQUtpQjtBQUFBOztBQUNmLE1BQU13QixJQUFJLEdBQUdDLFFBQVEsQ0FBQ0MsYUFBVCxDQUF1QixNQUF2QixDQUFiO0FBQ0EsTUFBSUMsR0FBa0IsR0FBRyxJQUF6QjtBQUVBSCxFQUFBQSxJQUFJLENBQUNJLFlBQUwsQ0FBa0IsUUFBbEIsRUFBNEIsTUFBNUI7QUFDQUosRUFBQUEsSUFBSSxDQUFDSSxZQUFMLENBQWtCLFFBQWxCLEVBQTRCUCxHQUE1QjtBQUNBRyxFQUFBQSxJQUFJLENBQUNJLFlBQUwsQ0FBa0IsUUFBbEIsRUFBNEJMLElBQTVCO0FBRUF0QixFQUFBQSxNQUFNLENBQUM0QixJQUFQLENBQVlQLFFBQVosRUFBc0JRLE9BQXRCLENBQThCLFNBQVNDLFdBQVQsQ0FBcUJDLEdBQXJCLEVBQTBCO0FBQ3RELFFBQU1DLEtBQUssR0FBR1IsUUFBUSxDQUFDQyxhQUFULENBQXVCLE9BQXZCLENBQWQ7QUFDQU8sSUFBQUEsS0FBSyxDQUFDQyxJQUFOLEdBQWEsUUFBYjtBQUNBRCxJQUFBQSxLQUFLLENBQUNWLElBQU4sR0FBYVMsR0FBYjtBQUNBQyxJQUFBQSxLQUFLLENBQUNFLEtBQU4sR0FBY2IsUUFBUSxDQUFDVSxHQUFELENBQXRCO0FBQ0FSLElBQUFBLElBQUksQ0FBQ1ksV0FBTCxDQUFpQkgsS0FBakI7QUFDRCxHQU5EO0FBUUFSLEVBQUFBLFFBQVEsQ0FBQ1ksSUFBVCxDQUFjRCxXQUFkLENBQTBCWixJQUExQjtBQUVBRyxFQUFBQSxHQUFHLEdBQUdoQixNQUFNLENBQUMyQixJQUFQLENBQVksR0FBWixFQUFpQmYsSUFBakIsRUFBdUJ2QixPQUF2QixDQUFOO0FBQ0EsVUFBQTJCLEdBQUcsU0FBSCxpQkFBS0YsUUFBTCxDQUFjYyxLQUFkLENBQW9CLFlBQXBCO0FBRUFmLEVBQUFBLElBQUksQ0FBQ2dCLE1BQUw7QUFDQWYsRUFBQUEsUUFBUSxDQUFDWSxJQUFULENBQWNJLFdBQWQsQ0FBMEJqQixJQUExQjtBQUVBLFNBQU9HLEdBQVA7QUFDRDtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUNBLFNBQVNlLFlBQVQsQ0FDRUMsT0FERixFQUVFdEIsR0FGRixFQUdFRSxJQUhGLEVBSUV2QixPQUpGLEVBS0U0QyxRQUxGLEVBTWlCO0FBQ2YsTUFBTUMsU0FBUyxHQUFHdEIsSUFBSSxJQUFJaEIsZ0JBQWdCLEVBQTFDO0FBQ0EsTUFBTXVDLFlBQVksR0FBR3RDLHNCQUFzQixDQUN6Q1AsTUFBTSxDQUFDOEMsTUFBUCxDQUFjLEVBQWQsRUFBa0J6RCxjQUFsQixFQUFrQ1UsT0FBbEMsQ0FEeUMsQ0FBM0M7O0FBR0EsTUFBTWdELGFBQWEsR0FDakJKLFFBQVEsSUFDUixTQUFTSyxJQUFULEdBQXNCLENBQ3BCO0FBQ0QsR0FKSDs7QUFLQSxNQUFNQyxhQUFhLEdBQUduRCxlQUFlLENBQUMrQyxZQUFELENBQXJDO0FBQ0EsTUFBTW5CLEdBQUcsR0FBR2dCLE9BQU8sQ0FBQ3RCLEdBQUQsRUFBTXdCLFNBQU4sRUFBaUJLLGFBQWpCLENBQW5CO0FBQ0EsTUFBSUMsYUFBYSxHQUFHLEtBQXBCO0FBQ0EsTUFBSUMsUUFBSjs7QUFFQSxXQUFTQyxpQkFBVCxDQUEyQkMsR0FBM0IsRUFBd0NDLElBQXhDLEVBQThEO0FBQzVELFFBQUksQ0FBQ0osYUFBTCxFQUFvQjtBQUNsQkEsTUFBQUEsYUFBYSxHQUFHLElBQWhCO0FBQ0FILE1BQUFBLGFBQWEsQ0FBQ00sR0FBRCxFQUFNQyxJQUFOLENBQWI7QUFDRDtBQUNGOztBQUVELFdBQVNDLFNBQVQsQ0FBbUJDLE9BQW5CLEVBQWlEO0FBQy9DLFFBQU1GLElBQUksR0FBR0UsT0FBTyxHQUFHQSxPQUFPLENBQUNGLElBQVgsR0FBa0JHLFNBQXRDOztBQUVBLFFBQUlILElBQUosRUFBVTtBQUNSRixNQUFBQSxpQkFBaUIsQ0FBQ0ssU0FBRCxFQUFZSCxJQUFaLENBQWpCO0FBQ0E1QyxNQUFBQSxNQUFNLENBQUNnRCxtQkFBUCxDQUEyQixTQUEzQixFQUFzQ0gsU0FBdEM7QUFDRDtBQUNGOztBQUVEN0MsRUFBQUEsTUFBTSxDQUFDaUQsZ0JBQVAsQ0FBd0IsU0FBeEIsRUFBbUNKLFNBQW5DLEVBQThDLEtBQTlDOztBQUVBLE1BQUk3QixHQUFKLEVBQVM7QUFDUHlCLElBQUFBLFFBQVEsR0FBR3pDLE1BQU0sQ0FBQ2tELFdBQVAsQ0FBbUIsU0FBU0Msa0JBQVQsR0FBOEI7QUFDMUQsVUFBSW5DLEdBQUcsS0FBSyxJQUFSLElBQWdCQSxHQUFHLENBQUNvQyxNQUF4QixFQUFnQztBQUM5QkMsUUFBQUEsVUFBVSxDQUFDLFNBQVNDLGtCQUFULEdBQThCO0FBQ3ZDQyxVQUFBQSxhQUFhLENBQUNkLFFBQUQsQ0FBYjtBQUNBQyxVQUFBQSxpQkFBaUIsQ0FBQyxJQUFJNUMsS0FBSixDQUFVLGNBQVYsQ0FBRCxDQUFqQjtBQUNELFNBSFMsRUFHUCxHQUhPLENBQVY7QUFJRDtBQUNGLEtBUFUsRUFPUixHQVBRLENBQVg7QUFRRCxHQVRELE1BU087QUFDTDRDLElBQUFBLGlCQUFpQixDQUFDLElBQUk1QyxLQUFKLENBQVUsZUFBVixDQUFELENBQWpCO0FBQ0Q7O0FBRUQsU0FBT2tCLEdBQVA7QUFDRDtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBQ0EsT0FBTyxTQUFTd0MsS0FBVCxDQUNMOUMsR0FESyxFQUVMRSxJQUZLLEVBR0x2QixPQUhLLEVBSUw0QyxRQUpLLEVBS1U7QUFDZixTQUFPRixZQUFZLENBQUMvQixNQUFNLENBQUMyQixJQUFSLEVBQWNqQixHQUFkLEVBQW1CRSxJQUFuQixFQUF5QnZCLE9BQXpCLEVBQWtDNEMsUUFBbEMsQ0FBbkI7QUFDRDtBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsT0FBTyxTQUFTd0IsYUFBVCxDQUNML0MsR0FESyxFQUVMQyxRQUZLLEVBR0xDLElBSEssRUFJTHZCLE9BSkssRUFLTDRDLFFBTEssRUFNVTtBQUNmLFdBQVN5QixnQkFBVCxDQUNFQyxRQURGLEVBRUV6QixTQUZGLEVBR0VLLGFBSEYsRUFJaUI7QUFDZixXQUFPOUIsaUJBQWlCLENBQUNrRCxRQUFELEVBQVdoRCxRQUFYLEVBQXFCdUIsU0FBckIsRUFBZ0NLLGFBQWhDLENBQXhCO0FBQ0Q7O0FBRUQsU0FBT1IsWUFBWSxDQUFDMkIsZ0JBQUQsRUFBbUJoRCxHQUFuQixFQUF3QkUsSUFBeEIsRUFBOEJ2QixPQUE5QixFQUF1QzRDLFFBQXZDLENBQW5CO0FBQ0Q7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0EsT0FBTyxTQUFTMkIsYUFBVCxDQUEwQmhCLElBQTFCLEVBQTJDO0FBQ2hELE1BQU1pQixRQUFRLEdBQUdDLElBQUksQ0FBQ0MsU0FBTCxDQUFlbkIsSUFBZixDQUFqQjtBQUVBLGdEQUE0Q2lCLFFBQTVDO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRTIFJld3JpdGUgb2YgaHR0cHM6Ly9naXRodWIuY29tL2VuaGFuY3YvcG9wdXAtdG9vbHNcbiAqL1xuXG50eXBlIFllc05vID0gXCJ5ZXNcIiB8IFwibm9cIjtcbnR5cGUgT3B0aW9ucyA9IHtcbiAgd2lkdGg/OiBudW1iZXI7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgbWVudWJhcjogWWVzTm87XG4gIHJlc2l6YWJsZTogWWVzTm87XG4gIGxvY2F0aW9uOiBZZXNObztcbiAgc2Nyb2xsYmFyczogWWVzTm87XG4gIGNlbnRlcmVkPzogYm9vbGVhbjtcbiAgbGVmdD86IG51bWJlcjtcbiAgdG9wPzogbnVtYmVyO1xufTtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE9wdGlvbnMgPSB7XG4gIHdpZHRoOiA3MDAsXG4gIGhlaWdodDogNTIwLFxuICBtZW51YmFyOiBcIm5vXCIsXG4gIHJlc2l6YWJsZTogXCJ5ZXNcIixcbiAgbG9jYXRpb246IFwieWVzXCIsXG4gIHNjcm9sbGJhcnM6IFwibm9cIixcbiAgY2VudGVyZWQ6IHRydWVcbn07XG5cbnR5cGUgQ2FsbGJhY2sgPSAoZXJyPzogRXJyb3IsIGRhdGE/OiB1bmtub3duKSA9PiB2b2lkO1xuXG50eXBlIFdpbmRvd09wZW4gPSAoXG4gIHBvcHVwVXJsOiBzdHJpbmcsXG4gIHBvcHVwTmFtZTogc3RyaW5nLFxuICBvcHRpb25zU3RyaW5nOiBzdHJpbmdcbikgPT4gV2luZG93IHwgbnVsbDtcblxubGV0IHBvcHVwQ291bnQgPSAxO1xuXG4vKipcbiAqIFJldHVybiBvcHRpb25zIGNvbnZlcnRlZCB0byBhIHN0cmluZ1xuICpcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHJldHVybiB7U3RyaW5nfVxuICovXG5mdW5jdGlvbiBvcHRpb25zVG9TdHJpbmc8VCBleHRlbmRzIE9wdGlvbnM+KG9wdGlvbnM6IFQpOiBzdHJpbmcge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMob3B0aW9ucylcbiAgICAubWFwKChbaywgdl0pID0+IGAke2t9PSR7dn1gKVxuICAgIC5qb2luKFwiLFwiKTtcbn1cblxuLyoqXG4gKiBHZXQgYSB1bmlxdWUgbmFtZSBvbiBlYWNoIGNhbGxcbiAqIEByZXR1cm4ge1N0cmluZ31cbiAqL1xuZnVuY3Rpb24gZGVmYXVsdFBvcHVwTmFtZSgpOiBzdHJpbmcge1xuICBwb3B1cENvdW50ICs9IDE7XG4gIHJldHVybiBgUG9wdXAgJHtwb3B1cENvdW50fWA7XG59XG5cbi8qKlxuICogQ29udmVydCBcImNlbnRlcmVkOiB0cnVlXCIga2V5IGludG8gY29uY3JldGUgbGVmdCBhbmQgdG9wIGFyZ3VtZW50c1xuICogQm90aCBjYW4gYmUgb3ZlcndyaXR0ZW5cbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9IG9wdGlvbnNcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZnVuY3Rpb24gb3B0aW9uc1Jlc29sdmVDZW50ZXJlZChvcHRpb25zOiBPcHRpb25zKTogT3B0aW9ucyB7XG4gIGlmICghb3B0aW9ucy53aWR0aCB8fCAhb3B0aW9ucy5oZWlnaHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJTaG91bGQgaGF2ZSB3aWR0aCBhbmQgaGVpZ2h0XCIpO1xuICB9XG4gIGNvbnN0IHJlc3VsdCA9IHsgLi4ub3B0aW9ucyB9O1xuICBjb25zdCB3aWR0aCA9IHdpbmRvdy5vdXRlcldpZHRoIC0gb3B0aW9ucy53aWR0aDtcbiAgY29uc3QgaGVpZ2h0ID0gd2luZG93Lm91dGVySGVpZ2h0IC0gb3B0aW9ucy5oZWlnaHQ7XG5cbiAgaWYgKG9wdGlvbnMuY2VudGVyZWQpIHtcbiAgICByZXN1bHQubGVmdCA9IG9wdGlvbnMubGVmdCB8fCBNYXRoLnJvdW5kKHdpbmRvdy5zY3JlZW5YICsgd2lkdGggLyAyKTtcbiAgICByZXN1bHQudG9wID0gb3B0aW9ucy50b3AgfHwgTWF0aC5yb3VuZCh3aW5kb3cuc2NyZWVuWSArIGhlaWdodCAvIDIuNSk7XG4gICAgZGVsZXRlIHJlc3VsdC5jZW50ZXJlZDtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIGZvcm0gZWxlbWVudCwgYWRkIGhpZGRlbiBpbnB1dHMgZm9yIGFsbCB0aGUgcG9zdCBkYXRhXG4gKiBhbmQgcG9zdCBpdCBpbnRvIGEgbmV3bHkgb3BlbmVkIHBvcHVwXG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSAge09iamVjdH0gcG9zdERhdGFcbiAqIEBwYXJhbSAge1N0cmluZ30gbmFtZVxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmZ1bmN0aW9uIG9wZW5Qb3B1cFdpdGhQb3N0KFxuICB1cmw6IHN0cmluZyxcbiAgcG9zdERhdGE6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4sXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogc3RyaW5nXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgY29uc3QgZm9ybSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJmb3JtXCIpO1xuICBsZXQgd2luOiBXaW5kb3cgfCBudWxsID0gbnVsbDtcblxuICBmb3JtLnNldEF0dHJpYnV0ZShcIm1ldGhvZFwiLCBcInBvc3RcIik7XG4gIGZvcm0uc2V0QXR0cmlidXRlKFwiYWN0aW9uXCIsIHVybCk7XG4gIGZvcm0uc2V0QXR0cmlidXRlKFwidGFyZ2V0XCIsIG5hbWUpO1xuXG4gIE9iamVjdC5rZXlzKHBvc3REYXRhKS5mb3JFYWNoKGZ1bmN0aW9uIGFkZEZvcm1JdGVtKGtleSkge1xuICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpO1xuICAgIGlucHV0LnR5cGUgPSBcImhpZGRlblwiO1xuICAgIGlucHV0Lm5hbWUgPSBrZXk7XG4gICAgaW5wdXQudmFsdWUgPSBwb3N0RGF0YVtrZXldO1xuICAgIGZvcm0uYXBwZW5kQ2hpbGQoaW5wdXQpO1xuICB9KTtcblxuICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGZvcm0pO1xuXG4gIHdpbiA9IHdpbmRvdy5vcGVuKFwiL1wiLCBuYW1lLCBvcHRpb25zKTtcbiAgd2luPy5kb2N1bWVudC53cml0ZShcIkxvYWRpbmcuLi5cIik7XG5cbiAgZm9ybS5zdWJtaXQoKTtcbiAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChmb3JtKTtcblxuICByZXR1cm4gd2luO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuIFdhaXQgZm9yIGl0IHRvIGNsb3NlLlxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge0Z1bmN0aW9ufVxuICogQHBhcmFtICB7U3RyaW5nfVxuICogQHBhcmFtICB7U3RyaW5nfVxuICogQHBhcmFtICB7T2JqZWN0fVxuICogQHBhcmFtICB7RnVuY3Rpb259XG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmZ1bmN0aW9uIHBvcHVwRXhlY3V0ZShcbiAgZXhlY3V0ZTogV2luZG93T3BlbixcbiAgdXJsOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgY29uc3QgcG9wdXBOYW1lID0gbmFtZSB8fCBkZWZhdWx0UG9wdXBOYW1lKCk7XG4gIGNvbnN0IHBvcHVwT3B0aW9ucyA9IG9wdGlvbnNSZXNvbHZlQ2VudGVyZWQoXG4gICAgT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdE9wdGlvbnMsIG9wdGlvbnMpXG4gICk7XG4gIGNvbnN0IHBvcHVwQ2FsbGJhY2sgPVxuICAgIGNhbGxiYWNrIHx8XG4gICAgZnVuY3Rpb24gbm9vcCgpOiB2b2lkIHtcbiAgICAgIC8vXG4gICAgfTtcbiAgY29uc3Qgb3B0aW9uc1N0cmluZyA9IG9wdGlvbnNUb1N0cmluZyhwb3B1cE9wdGlvbnMpO1xuICBjb25zdCB3aW4gPSBleGVjdXRlKHVybCwgcG9wdXBOYW1lLCBvcHRpb25zU3RyaW5nKTtcbiAgbGV0IGlzTWVzc2FnZVNlbnQgPSBmYWxzZTtcbiAgbGV0IGludGVydmFsOiBudW1iZXI7XG5cbiAgZnVuY3Rpb24gcG9wdXBDYWxsYmFja09uY2UoZXJyPzogRXJyb3IsIGRhdGE/OiB1bmtub3duKTogdm9pZCB7XG4gICAgaWYgKCFpc01lc3NhZ2VTZW50KSB7XG4gICAgICBpc01lc3NhZ2VTZW50ID0gdHJ1ZTtcbiAgICAgIHBvcHVwQ2FsbGJhY2soZXJyLCBkYXRhKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBvbk1lc3NhZ2UobWVzc2FnZT86IE1lc3NhZ2VFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGRhdGEgPSBtZXNzYWdlID8gbWVzc2FnZS5kYXRhIDogdW5kZWZpbmVkO1xuXG4gICAgaWYgKGRhdGEpIHtcbiAgICAgIHBvcHVwQ2FsbGJhY2tPbmNlKHVuZGVmaW5lZCwgZGF0YSk7XG4gICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgb25NZXNzYWdlKTtcbiAgICB9XG4gIH1cblxuICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgb25NZXNzYWdlLCBmYWxzZSk7XG5cbiAgaWYgKHdpbikge1xuICAgIGludGVydmFsID0gd2luZG93LnNldEludGVydmFsKGZ1bmN0aW9uIGNsb3NlUG9wdXBDYWxsYmFjaygpIHtcbiAgICAgIGlmICh3aW4gPT09IG51bGwgfHwgd2luLmNsb3NlZCkge1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uIGRlbGF5V2luZG93Q2xvc2luZygpIHtcbiAgICAgICAgICBjbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICAgICAgICBwb3B1cENhbGxiYWNrT25jZShuZXcgRXJyb3IoXCJQb3B1cCBjbG9zZWRcIikpO1xuICAgICAgICB9LCA1MDApO1xuICAgICAgfVxuICAgIH0sIDEwMCk7XG4gIH0gZWxzZSB7XG4gICAgcG9wdXBDYWxsYmFja09uY2UobmV3IEVycm9yKFwiUG9wdXAgYmxvY2tlZFwiKSk7XG4gIH1cblxuICByZXR1cm4gd2luO1xufVxuXG4vKipcbiAqIE9wZW4gYSBwb3B1cCB1c2luZyB0aGUgZmlyc3QgYXJndW1lbnQuXG4gKiBXYWl0IGZvciBpdCB0byBjbG9zZSBhbmQgY2FsbCB0aGUgY2FsbGJhY2suXG4gKiBTZXQgdGhlIG9wdGlvbnMgc3RyaW5nIHVzaW5nIHRoZSBvcHRpb25zIG9iamVjdFxuICogUmV0dXJucyB0aGUgd2luZG93IG9iamVjdFxuICpcbiAqIEBwYXJhbSAge1N0cmluZ30gdXJsXG4gKiBAcGFyYW0gIHtTdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSAge09iamVjdH0gb3B0aW9uc1xuICogQHBhcmFtICB7RnVuY3Rpb259IGNhbGxiYWNrXG4gKiBAcmV0dXJuIHtPYmplY3R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cChcbiAgdXJsOiBzdHJpbmcsXG4gIG5hbWU6IHN0cmluZyxcbiAgb3B0aW9uczogUGFydGlhbDxPcHRpb25zPixcbiAgY2FsbGJhY2s6IENhbGxiYWNrXG4pOiBXaW5kb3cgfCBudWxsIHtcbiAgcmV0dXJuIHBvcHVwRXhlY3V0ZSh3aW5kb3cub3BlbiwgdXJsLCBuYW1lLCBvcHRpb25zLCBjYWxsYmFjayk7XG59XG5cbi8qKlxuICogT3BlbiBhIHBvcHVwIHVzaW5nIHRoZSBmaXJzdCBhcmd1bWVudC5cbiAqIFBvc3QgdGhlIGRhdGEgaW50byB0aGUgb3BlbiBwb3B1cC5cbiAqIFdhaXQgZm9yIGl0IHRvIGNsb3NlIGFuZCBjYWxsIHRoZSBjYWxsYmFjay5cbiAqIFNldCB0aGUgb3B0aW9ucyBzdHJpbmcgdXNpbmcgdGhlIG9wdGlvbnMgb2JqZWN0XG4gKiBSZXR1cm5zIHRoZSB3aW5kb3cgb2JqZWN0XG4gKlxuICogQHBhcmFtICB7U3RyaW5nfSB1cmxcbiAqIEBwYXJhbSAge09iamVjdH0gcG9zdERhdGFcbiAqIEBwYXJhbSAge1N0cmluZ30gbmFtZVxuICogQHBhcmFtICB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcGFyYW0gIHtGdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm4ge09iamVjdH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBvcHVwV2l0aFBvc3QoXG4gIHVybDogc3RyaW5nLFxuICBwb3N0RGF0YTogUmVjb3JkPHN0cmluZywgc3RyaW5nPixcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBQYXJ0aWFsPE9wdGlvbnM+LFxuICBjYWxsYmFjazogQ2FsbGJhY2tcbik6IFdpbmRvdyB8IG51bGwge1xuICBmdW5jdGlvbiBvcGVuV2l0aFBvc3REYXRhKFxuICAgIHBvcHVwVXJsOiBzdHJpbmcsXG4gICAgcG9wdXBOYW1lOiBzdHJpbmcsXG4gICAgb3B0aW9uc1N0cmluZzogc3RyaW5nXG4gICk6IFdpbmRvdyB8IG51bGwge1xuICAgIHJldHVybiBvcGVuUG9wdXBXaXRoUG9zdChwb3B1cFVybCwgcG9zdERhdGEsIHBvcHVwTmFtZSwgb3B0aW9uc1N0cmluZyk7XG4gIH1cblxuICByZXR1cm4gcG9wdXBFeGVjdXRlKG9wZW5XaXRoUG9zdERhdGEsIHVybCwgbmFtZSwgb3B0aW9ucywgY2FsbGJhY2spO1xufVxuXG4vKipcbiAqIFJldHVybiBodG1sIHRoYXQgd2hlbiBleGVjdXRlZCwgd2lsbCB0cmlnZ2VyIHRoZSBwb3B1cCB0byBjYWxsYmFjayB3aXRoIGEgcmVzcG9uc2VcbiAqXG4gKiBAcGFyYW0gIHtPYmplY3R9XG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwb3B1cFJlc3BvbnNlPFQ+KGRhdGE6IFQpOiBzdHJpbmcge1xuICBjb25zdCBqc29uRGF0YSA9IEpTT04uc3RyaW5naWZ5KGRhdGEpO1xuXG4gIHJldHVybiBgPHNjcmlwdD53aW5kb3cub3BlbmVyLnBvc3RNZXNzYWdlKCR7anNvbkRhdGF9LCBcIipcIik7c2V0VGltZW91dChmdW5jdGlvbigpIHsgd2luZG93LmNsb3NlKCk7IH0sIDUwKTs8L3NjcmlwdD5gO1xufVxuIl19
|
package/lib/ZeusThunder.js
CHANGED
|
@@ -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);
|
|
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]
|
|
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);
|
|
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]
|
|
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);
|
|
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]
|
|
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
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
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
|
|
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(
|
|
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
|
|
252
|
-
return _regeneratorRuntime.wrap(function
|
|
214
|
+
_gqlFolderToExternalFolderFull = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(gql, keyPair) {
|
|
215
|
+
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
253
216
|
while (1) {
|
|
254
|
-
switch (
|
|
217
|
+
switch (_context3.prev = _context3.next) {
|
|
255
218
|
case 0:
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
return
|
|
219
|
+
_context3.t0 = internalFolderFullToFolderFull;
|
|
220
|
+
_context3.next = 3;
|
|
221
|
+
return gqlFolderFullToInternalFull(gql, keyPair);
|
|
259
222
|
|
|
260
223
|
case 3:
|
|
261
|
-
|
|
262
|
-
return
|
|
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
|
|
229
|
+
return _context3.stop();
|
|
267
230
|
}
|
|
268
231
|
}
|
|
269
|
-
},
|
|
232
|
+
}, _callee3);
|
|
270
233
|
}));
|
|
271
234
|
return _gqlFolderToExternalFolderFull.apply(this, arguments);
|
|
272
235
|
}
|
|
273
236
|
|
|
274
|
-
export function gqlFolderToExternal(
|
|
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
|
|
280
|
-
return _regeneratorRuntime.wrap(function
|
|
242
|
+
_gqlFolderToExternal = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(gql, keyPair) {
|
|
243
|
+
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
281
244
|
while (1) {
|
|
282
|
-
switch (
|
|
245
|
+
switch (_context4.prev = _context4.next) {
|
|
283
246
|
case 0:
|
|
284
|
-
|
|
285
|
-
|
|
247
|
+
_context4.t0 = internalFolderToFolder;
|
|
248
|
+
_context4.next = 3;
|
|
286
249
|
return gqlFolderToInternal(gql, keyPair);
|
|
287
250
|
|
|
288
251
|
case 3:
|
|
289
|
-
|
|
290
|
-
return
|
|
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
|
|
257
|
+
return _context4.stop();
|
|
295
258
|
}
|
|
296
259
|
}
|
|
297
|
-
},
|
|
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jbGllbnQvY29udmVydC9mb2xkZXIudHMiXSwibmFtZXMiOlsic29kaXVtIiwiZGVjcnlwdENyeXB0b0JveCIsImdxbFZGaWxlVG9JbnRlcm5hbCIsImludGVybmFsVkZpbGVUb1ZGaWxlIiwiZm9sZGVyc0NhY2hlIiwiZGVjcnlwdFNlY3JldHN0cmVhbSIsImdxbEZvbGRlclRvSW50ZXJuYWwiLCJncWwiLCJrZXlQYWlyIiwidXNlckFwcCIsImlkIiwiaW50ZXJuYWwiLCJuYW1lIiwiaXNGYXZvcml0ZSIsImJyZWFkY3J1bWIiLCJjcmVhdGVkQnkiLCJ1c2VyIiwiY3JlYXRlZEF0IiwiRGF0ZSIsInVwZGF0ZWRBdCIsImRlbGV0ZWRBdCIsInVzZXJzIiwidXNlckFwcHMiLCJtYXAiLCJ1IiwicmlnaHRzIiwibmFtZUtleSIsImtleSIsImZyb21faGV4IiwicHVibGljS2V5IiwicHJpdmF0ZUtleSIsInRvX3N0cmluZyIsInRvX2hleCIsImIiLCJwdWJLZXkiLCJzZXQiLCJncWxGb2xkZXJGdWxsVG9JbnRlcm5hbEZ1bGwiLCJmIiwiUHJvbWlzZSIsImFsbCIsInZGaWxlcyIsImZpbHRlciIsInZGaWxlIiwicGFyZW50Rm9sZGVyIiwic3ViZm9sZGVycyIsInMiLCJpbnRlcm5hbEZvbGRlclRvRm9sZGVyIiwiZm9sZGVyIiwiaW50ZXJuYWxGb2xkZXJGdWxsVG9Gb2xkZXJGdWxsIiwiZ3FsRm9sZGVyVG9FeHRlcm5hbEZvbGRlckZ1bGwiLCJncWxGb2xkZXJUb0V4dGVybmFsIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUFBLFNBQVNBLE1BQVQsUUFBdUIsaUJBQXZCO0FBRUEsU0FBU0MsZ0JBQVQsUUFBaUMsdUJBQWpDO0FBU0EsU0FBU0Msa0JBQVQsRUFBNkJDLG9CQUE3QixRQUF5RCxZQUF6RDtBQUNBLFNBQVNDLFlBQVQsUUFBNkIsZ0JBQTdCO0FBQ0EsU0FBU0MsbUJBQVQsUUFBb0Msc0JBQXBDO0FBRUEsZ0JBQXNCQyxtQkFBdEI7QUFBQTtBQUFBOzs7a0ZBQU8saUJBQ0xDLEdBREssRUFFTEMsT0FGSztBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsZ0JBSUFELEdBQUcsQ0FBQ0UsT0FKSjtBQUFBO0FBQUE7QUFBQTs7QUFBQSwyQ0FLMEJGLEdBQUcsQ0FBQ0csRUFMOUI7O0FBQUE7QUFPQ0MsWUFBQUEsUUFQRCxHQU80QjtBQUMvQkQsY0FBQUEsRUFBRSxFQUFFSCxHQUFHLENBQUNHLEVBRHVCO0FBRS9CRCxjQUFBQSxPQUFPLEVBQUVGLEdBQUcsQ0FBQ0UsT0FGa0I7QUFHL0JHLGNBQUFBLElBQUksRUFBRUwsR0FBRyxDQUFDSyxJQUhxQjtBQUkvQkMsY0FBQUEsVUFBVSxFQUFFTixHQUFHLENBQUNNLFVBSmU7QUFLL0JDLGNBQUFBLFVBQVUsRUFBRVAsR0FBRyxDQUFDTyxVQUxlO0FBTS9CQyxjQUFBQSxTQUFTLEVBQUVSLEdBQUcsQ0FBQ1EsU0FBSixDQUFjQyxJQU5NO0FBTy9CQyxjQUFBQSxTQUFTLEVBQUUsSUFBSUMsSUFBSixDQUFTWCxHQUFHLENBQUNVLFNBQWIsQ0FQb0I7QUFRL0JFLGNBQUFBLFNBQVMsRUFBRSxJQUFJRCxJQUFKLENBQVNYLEdBQUcsQ0FBQ1ksU0FBYixDQVJvQjtBQVMvQkMsY0FBQUEsU0FBUyxFQUFFYixHQUFHLENBQUNhLFNBQUosR0FBZ0IsSUFBSUYsSUFBSixDQUFTWCxHQUFHLENBQUNhLFNBQWIsQ0FBaEIsR0FBMEMsSUFUdEI7QUFVL0JDLGNBQUFBLEtBQUssRUFBRWQsR0FBRyxDQUFDZSxRQUFKLENBQWFDLEdBQWIsQ0FBaUIsVUFBQUMsQ0FBQztBQUFBLHVCQUFJLENBQUNBLENBQUMsQ0FBQ2YsT0FBRixDQUFVTyxJQUFYLEVBQWlCUSxDQUFDLENBQUNDLE1BQW5CLENBQUo7QUFBQSxlQUFsQjtBQVZ3QixhQVA1QjtBQW9CTGQsWUFBQUEsUUFBUSxDQUFDRixPQUFULHFCQUF3QkYsR0FBRyxDQUFDRSxPQUE1Qjs7QUFwQkssaUJBc0JERixHQUFHLENBQUNFLE9BQUosQ0FBWWlCLE9BdEJYO0FBQUE7QUFBQTtBQUFBOztBQXVCR0MsWUFBQUEsR0F2QkgsR0F1QlMxQixnQkFBZ0IsQ0FDMUJELE1BQU0sQ0FBQzRCLFFBQVAsQ0FBZ0JyQixHQUFHLENBQUNFLE9BQUosQ0FBWWlCLE9BQTVCLENBRDBCLEVBRTFCbkIsR0FBRyxDQUFDUSxTQUFKLENBQWNDLElBQWQsQ0FBbUJhLFNBRk8sRUFHMUJyQixPQUFPLENBQUNzQixVQUhrQixDQXZCekI7QUFBQSwwQkE0QmE5QixNQTVCYjtBQUFBO0FBQUEsbUJBNkJLSyxtQkFBbUIsQ0FBQ3NCLEdBQUQsRUFBTTNCLE1BQU0sQ0FBQzRCLFFBQVAsQ0FBZ0JqQixRQUFRLENBQUNDLElBQXpCLENBQU4sQ0E3QnhCOztBQUFBO0FBQUE7QUE0QkhELFlBQUFBLFFBQVEsQ0FBQ0MsSUE1Qk4sZUE0Qm9CbUIsU0E1QnBCO0FBZ0NIcEIsWUFBQUEsUUFBUSxDQUFDRixPQUFULENBQWlCaUIsT0FBakIsR0FBMkIxQixNQUFNLENBQUNnQyxNQUFQLENBQWNMLEdBQWQsQ0FBM0I7O0FBaENHO0FBQUEseURBbUNXaEIsUUFBUSxDQUFDRyxVQW5DcEI7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFtQ01tQixZQUFBQSxDQW5DTjs7QUFBQSxnQkFvQ0VBLENBQUMsQ0FBQ1AsT0FwQ0o7QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUF1Q0dDLFlBQUFBLElBdkNILEdBdUNTMUIsZ0JBQWdCLENBQzFCRCxNQUFNLENBQUM0QixRQUFQLENBQWdCSyxDQUFDLENBQUNQLE9BQWxCLENBRDBCLEVBRTFCTyxDQUFDLENBQUNDLE1BRndCLEVBRzFCMUIsT0FBTyxDQUFDc0IsVUFIa0IsQ0F2Q3pCO0FBNENIRyxZQUFBQSxDQUFDLENBQUNQLE9BQUYsR0FBWTFCLE1BQU0sQ0FBQ2dDLE1BQVAsQ0FBY0wsSUFBZCxDQUFaO0FBNUNHLDBCQThDTTNCLE1BOUNOO0FBQUE7QUFBQSxtQkErQ0tLLG1CQUFtQixDQUFDc0IsSUFBRCxFQUFNM0IsTUFBTSxDQUFDNEIsUUFBUCxDQUFnQkssQ0FBQyxDQUFDckIsSUFBbEIsQ0FBTixDQS9DeEI7O0FBQUE7QUFBQTtBQThDSHFCLFlBQUFBLENBQUMsQ0FBQ3JCLElBOUNDLGVBOENhbUIsU0E5Q2I7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBbURMM0IsWUFBQUEsWUFBWSxDQUFDK0IsR0FBYixDQUFpQnhCLFFBQVEsQ0FBQ0QsRUFBMUIsRUFBOEJDLFFBQTlCO0FBbkRLLDZDQW9ERUEsUUFwREY7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRzs7OztBQXVEUCxnQkFBc0J5QiwyQkFBdEI7QUFBQTtBQUFBOzs7MEZBQU8sa0JBQ0w3QixHQURLLEVBRUxDLE9BRks7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxtQkFJV0YsbUJBQW1CLENBQUNDLEdBQUQsRUFBTUMsT0FBTixDQUo5Qjs7QUFBQTtBQUlDNkIsWUFBQUEsQ0FKRDtBQUFBO0FBQUEsNkNBTUFBLENBTkE7QUFBQTtBQUFBO0FBQUEsbUJBT1dDLE9BQU8sQ0FBQ0MsR0FBUixDQUNaaEMsR0FBRyxDQUFDaUMsTUFBSixDQUNHQyxNQURILENBQ1UsVUFBQUosQ0FBQztBQUFBLHFCQUFJQSxDQUFDLENBQUM1QixPQUFOO0FBQUEsYUFEWCxFQUVHYyxHQUZILENBRU8sVUFBQW1CLEtBQUs7QUFBQSxxQkFBSXhDLGtCQUFrQixDQUFDd0MsS0FBRCxFQUFRbEMsT0FBUixDQUF0QjtBQUFBLGFBRlosQ0FEWSxDQVBYOztBQUFBO0FBQUE7O0FBQUEsaUJBWVdELEdBQUcsQ0FBQ29DLFlBWmY7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSxtQkFhT3JDLG1CQUFtQixDQUFDQyxHQUFHLENBQUNvQyxZQUFMLEVBQW1CbkMsT0FBbkIsQ0FiMUI7O0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSwyQkFjQyxJQWREOztBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQWVlOEIsT0FBTyxDQUFDQyxHQUFSLENBQ2hCaEMsR0FBRyxDQUFDcUMsVUFBSixDQUFlckIsR0FBZixDQUFtQixVQUFBc0IsQ0FBQztBQUFBLHFCQUFJdkMsbUJBQW1CLENBQUN1QyxDQUFELEVBQUlyQyxPQUFKLENBQXZCO0FBQUEsYUFBcEIsQ0FEZ0IsQ0FmZjs7QUFBQTtBQUFBO0FBQUE7QUFPSGdDLGNBQUFBLE1BUEc7QUFZSEcsY0FBQUEsWUFaRztBQWVIQyxjQUFBQSxVQWZHO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHOzs7O0FBcUJQLE9BQU8sU0FBU0Usc0JBQVQsQ0FBZ0NuQyxRQUFoQyxFQUFrRTtBQUN2RSxNQUFNb0MsTUFBYyxxQkFDZnBDLFFBRGUsQ0FBcEI7O0FBSUEsdURBQWdCb0MsTUFBTSxDQUFDakMsVUFBdkIsd0NBQW1DO0FBQUEsUUFBeEJtQixDQUF3QjtBQUNqQztBQUNBLFdBQU9BLENBQUMsQ0FBQ1AsT0FBVDtBQUNELEdBUnNFLENBU3ZFOzs7QUFDQSxTQUFPcUIsTUFBTSxDQUFDckIsT0FBZDtBQUNBLFNBQU9xQixNQUFQO0FBQ0Q7QUFFRCxPQUFPLFNBQVNDLDhCQUFULENBQ0xyQyxRQURLLEVBRU87QUFDWix5Q0FDS21DLHNCQUFzQixDQUFDbkMsUUFBRCxDQUQzQjtBQUVFNkIsSUFBQUEsTUFBTSxFQUFFN0IsUUFBUSxDQUFDNkIsTUFBVCxDQUFnQmpCLEdBQWhCLENBQW9CcEIsb0JBQXBCLENBRlY7QUFHRXdDLElBQUFBLFlBQVksRUFBRWhDLFFBQVEsQ0FBQ2dDLFlBQVQsR0FDVkcsc0JBQXNCLENBQUNuQyxRQUFRLENBQUNnQyxZQUFWLENBRFosR0FFVixJQUxOO0FBTUVDLElBQUFBLFVBQVUsRUFBRWpDLFFBQVEsQ0FBQ2lDLFVBQVQsQ0FBb0JyQixHQUFwQixDQUF3QnVCLHNCQUF4QjtBQU5kO0FBUUQ7QUFFRCxnQkFBc0JHLDZCQUF0QjtBQUFBO0FBQUE7Ozs0RkFBTyxrQkFDTDFDLEdBREssRUFFTEMsT0FGSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsMkJBSUV3Qyw4QkFKRjtBQUFBO0FBQUEsbUJBS0daLDJCQUEyQixDQUFDN0IsR0FBRCxFQUFNQyxPQUFOLENBTDlCOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHOzs7O0FBU1AsZ0JBQXNCMEMsbUJBQXRCO0FBQUE7QUFBQTs7O2tGQUFPLGtCQUNMM0MsR0FESyxFQUVMQyxPQUZLO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSwyQkFJRXNDLHNCQUpGO0FBQUE7QUFBQSxtQkFJK0J4QyxtQkFBbUIsQ0FBQ0MsR0FBRCxFQUFNQyxPQUFOLENBSmxEOztBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc29kaXVtIH0gZnJvbSBcIi4uLy4uL3NvZGl1bS5qc1wiO1xuaW1wb3J0IHR5cGUgeyBLZXlQYWlyIH0gZnJvbSBcIi4uLy4uL2NyeXB0by9pbmRleC5qc1wiO1xuaW1wb3J0IHsgZGVjcnlwdENyeXB0b0JveCB9IGZyb20gXCIuLi8uLi9jcnlwdG8vaW5kZXguanNcIjtcbmltcG9ydCB0eXBlIHtcbiAgR1FMRm9sZGVyLFxuICBJbnRlcm5hbEZvbGRlcixcbiAgRm9sZGVyLFxuICBHUUxGb2xkZXJGdWxsLFxuICBJbnRlcm5hbEZvbGRlckZ1bGwsXG4gIEZvbGRlckZ1bGxcbn0gZnJvbSBcIi4uL3R5cGVzL2luZGV4LmpzXCI7XG5pbXBvcnQgeyBncWxWRmlsZVRvSW50ZXJuYWwsIGludGVybmFsVkZpbGVUb1ZGaWxlIH0gZnJvbSBcIi4vdkZpbGUuanNcIjtcbmltcG9ydCB7IGZvbGRlcnNDYWNoZSB9IGZyb20gXCIuLi8uLi9jYWNoZS5qc1wiO1xuaW1wb3J0IHsgZGVjcnlwdFNlY3JldHN0cmVhbSB9IGZyb20gXCIuLi8uLi9jcnlwdG8vZmlsZS5qc1wiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ3FsRm9sZGVyVG9JbnRlcm5hbChcbiAgZ3FsOiBHUUxGb2xkZXIsXG4gIGtleVBhaXI6IEtleVBhaXJcbik6IFByb21pc2U8SW50ZXJuYWxGb2xkZXI+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);
|
|
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]
|
|
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";
|