@lifeready/core 1.1.26 → 4.0.1

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.
@@ -9,7 +9,7 @@ import { KeyGraphService } from '../key/key-graph.service';
9
9
  import { KeyService } from '../key/key.service';
10
10
  import { LrBadStateException } from '../_common/exceptions';
11
11
  import { RunOutsideAngular } from '../_common/run-outside-angular';
12
- import { CompleteTpMkReshareMutation, DeleteTpMutation, RequestTpMkReshareMutation, RespondTpMkReshareMutation, ShareDirectoryMutation, ShareFileMutation, UnshareDirectoryMutation, UnshareFileMutation, } from './trusted-party2.gql';
12
+ import { CompleteTpMkReshareMutation, DeleteTpMutation, RequestTpMkReshareMutation, RespondTpMkReshareMutation, ShareDirectoryMutation, ShareFileMutation, UnshareDirectoryMutation, UnshareFileMutation } from './trusted-party2.gql';
13
13
  import { TpCurrentUserSharedKeyQuery } from './trusted-party2.gql.private';
14
14
  import * as i0 from "@angular/core";
15
15
  import * as i1 from "../key/key-graph.service";
@@ -47,15 +47,25 @@ let TrustedParty2Service = class TrustedParty2Service extends LrService {
47
47
  }
48
48
  shareDirectory(options) {
49
49
  return __awaiter(this, void 0, void 0, function* () {
50
- return this.shareItem(Object.assign(Object.assign({}, options), { isDirectory: true }));
50
+ return this.mutate(this.shareDirectoryMutation(options));
51
+ });
52
+ }
53
+ shareDirectoryMutation(options) {
54
+ return __awaiter(this, void 0, void 0, function* () {
55
+ return this.shareItemMutation(Object.assign(Object.assign({}, options), { isDirectory: true }));
51
56
  });
52
57
  }
53
58
  shareFile(options) {
54
59
  return __awaiter(this, void 0, void 0, function* () {
55
- return this.shareItem(Object.assign(Object.assign({}, options), { isDirectory: false }));
60
+ return this.mutate(this.shareFileMutation(options));
56
61
  });
57
62
  }
58
- shareItem({ itemId, itemKeyId, tpId, tpSharedKeyId, accessRole, isDirectory, }) {
63
+ shareFileMutation(options) {
64
+ return __awaiter(this, void 0, void 0, function* () {
65
+ return this.shareItemMutation(Object.assign(Object.assign({}, options), { isDirectory: false }));
66
+ });
67
+ }
68
+ shareItemMutation({ itemId, itemKeyId, tpId, tpSharedKeyId, accessRole, isDirectory, }) {
59
69
  return __awaiter(this, void 0, void 0, function* () {
60
70
  const itemKey = yield this.keyGraph.getKey(itemKeyId, () => isDirectory
61
71
  ? this.item2Service.getDirectoryKeyId(itemId)
@@ -79,12 +89,35 @@ let TrustedParty2Service = class TrustedParty2Service extends LrService {
79
89
  }
80
90
  unshareDirectory(options) {
81
91
  return __awaiter(this, void 0, void 0, function* () {
82
- return this.unshareItem(Object.assign(Object.assign({}, options), { isDirectory: true }));
92
+ return this.mutate(this.unshareDirectoryMutation(options));
93
+ });
94
+ }
95
+ unshareDirectoryMutation(options) {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ return this.unshareItemMutation(Object.assign(Object.assign({}, options), { isDirectory: true }));
83
98
  });
84
99
  }
85
100
  unshareFile(options) {
86
101
  return __awaiter(this, void 0, void 0, function* () {
87
- return this.unshareItem(Object.assign(Object.assign({}, options), { isDirectory: false }));
102
+ return this.mutate(this.unshareFileMutation(options));
103
+ });
104
+ }
105
+ unshareFileMutation(options) {
106
+ return __awaiter(this, void 0, void 0, function* () {
107
+ return this.unshareItemMutation(Object.assign(Object.assign({}, options), { isDirectory: false }));
108
+ });
109
+ }
110
+ unshareItemMutation({ itemId, tpId, isDirectory, }) {
111
+ return __awaiter(this, void 0, void 0, function* () {
112
+ return new LrMutation({
113
+ mutation: isDirectory ? UnshareDirectoryMutation : UnshareFileMutation,
114
+ variables: {
115
+ input: {
116
+ id: itemId,
117
+ tpId,
118
+ },
119
+ },
120
+ });
88
121
  });
89
122
  }
90
123
  requestMkReshare(tpId) {
@@ -186,19 +219,6 @@ let TrustedParty2Service = class TrustedParty2Service extends LrService {
186
219
  })).tp.currentUserSharedKey.userSharedKey;
187
220
  });
188
221
  }
189
- unshareItem({ itemId, tpId, isDirectory, }) {
190
- return __awaiter(this, void 0, void 0, function* () {
191
- return new LrMutation({
192
- mutation: isDirectory ? UnshareDirectoryMutation : UnshareFileMutation,
193
- variables: {
194
- input: {
195
- id: itemId,
196
- tpId,
197
- },
198
- },
199
- });
200
- });
201
- }
202
222
  };
203
223
  TrustedParty2Service.ɵprov = i0.ɵɵdefineInjectable({ factory: function TrustedParty2Service_Factory() { return new TrustedParty2Service(i0.ɵɵinject(i0.NgZone), i0.ɵɵinject(i0.INJECTOR), i0.ɵɵinject(i1.KeyGraphService), i0.ɵɵinject(i2.Item2Service), i0.ɵɵinject(i3.KeyService), i0.ɵɵinject(i4.KeyFactoryService), i0.ɵɵinject(i5.EncryptionService)); }, token: TrustedParty2Service, providedIn: "root" });
204
224
  TrustedParty2Service.decorators = [
@@ -221,4 +241,4 @@ TrustedParty2Service = __decorate([
221
241
  })
222
242
  ], TrustedParty2Service);
223
243
  export { TrustedParty2Service };
224
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZC1wYXJ0eTIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi90cnVzdGVkLXBhcnR5L3RydXN0ZWQtcGFydHkyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUNMLDJCQUEyQixFQUMzQixnQkFBZ0IsRUFDaEIsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQixzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixtQkFBbUIsR0FDcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7OztJQVM5RCxvQkFBb0IsU0FBcEIsb0JBQXFCLFNBQVEsU0FBUztJQUNqRCxZQUNVLE1BQWMsRUFDZCxRQUFrQixFQUNs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QUFBOzs7WUFqUEEsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7WUE5QjhCLE1BQU07WUFBaEIsUUFBUTtZQU9wQixlQUFlO1lBRmYsWUFBWTtZQUdaLFVBQVU7WUFGVixpQkFBaUI7WUFGakIsaUJBQWlCOztBQTJCYixvQkFBb0I7SUFOaEMsaUJBQWlCLENBQUM7UUFDakIsVUFBVSxFQUFFLFFBQVE7S0FDckIsQ0FBQztHQUlXLG9CQUFvQixDQThPaEM7U0E5T1ksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0b3IsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSldLIH0gZnJvbSAnbm9kZS1qb3NlJztcbmltcG9ydCB7IExyTXV0YXRpb24sIExyU2VydmljZSB9IGZyb20gJy4uL2FwaS9sci1ncmFwaHFsJztcbmltcG9ydCB7IExyUmVsYXlJZElucHV0IH0gZnJvbSAnLi4vYXBpL3R5cGVzJztcbmltcG9ydCB7IEVuY3J5cHRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vZW5jcnlwdGlvbi9lbmNyeXB0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgSXRlbTJTZXJ2aWNlIH0gZnJvbSAnLi4vaXRlbTIvaXRlbTIuc2VydmljZSc7XG5pbXBvcnQgeyBLZXlGYWN0b3J5U2VydmljZSB9IGZyb20gJy4uL2tleS9rZXktZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IEtleUdyYXBoU2VydmljZSB9IGZyb20gJy4uL2tleS9rZXktZ3JhcGguc2VydmljZSc7XG5pbXBvcnQgeyBLZXlTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS5zZXJ2aWNlJztcbmltcG9ydCB7IEtleSB9IGZyb20gJy4uL2tleS9rZXkudHlwZXMnO1xuaW1wb3J0IHsgTHJCYWRTdGF0ZUV4Y2VwdGlvbiB9IGZyb20gJy4uL19jb21tb24vZXhjZXB0aW9ucyc7XG5pbXBvcnQgeyBSdW5PdXRzaWRlQW5ndWxhciB9IGZyb20gJy4uL19jb21tb24vcnVuLW91dHNpZGUtYW5ndWxhcic7XG5pbXBvcnQge1xuICBDb21wbGV0ZVRwTWtSZXNoYXJlTXV0YXRpb24sXG4gIERlbGV0ZVRwTXV0YXRpb24sXG4gIFJlcXVlc3RUcE1rUmVzaGFyZU11dGF0aW9uLFxuICBSZXNwb25kVHBNa1Jlc2hhcmVNdXRhdGlvbixcbiAgU2hhcmVEaXJlY3RvcnlNdXRhdGlvbixcbiAgU2hhcmVGaWxlTXV0YXRpb24sXG4gIFVuc2hhcmVEaXJlY3RvcnlNdXRhdGlvbixcbiAgVW5zaGFyZUZpbGVNdXRhdGlvbixcbn0gZnJvbSAnLi90cnVzdGVkLXBhcnR5Mi5ncWwnO1xuaW1wb3J0IHsgVHBDdXJyZW50VXNlclNoYXJlZEtleVF1ZXJ5IH0gZnJvbSAnLi90cnVzdGVkLXBhcnR5Mi5ncWwucHJpdmF0ZSc7XG5pbXBvcnQgeyBTaGFyZUl0ZW1PcHRpb25zLCBVbnNoYXJlSXRlbU9wdGlvbnMgfSBmcm9tICcuL3RydXN0ZWQtcGFydHkyLnR5cGVzJztcblxuQFJ1bk91dHNpZGVBbmd1bGFyKHtcbiAgbmdab25lTmFtZTogJ25nWm9uZScsXG59KVxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRydXN0ZWRQYXJ0eTJTZXJ2aWNlIGV4dGVuZHMgTHJTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgICBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIGtleUdyYXBoOiBLZXlHcmFwaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBpdGVtMlNlcnZpY2U6IEl0ZW0yU2VydmljZSxcbiAgICBwcml2YXRlIGtleVNlcnZpY2U6IEtleVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBrZXlGYWN0b3J5OiBLZXlGYWN0b3J5U2VydmljZSxcbiAgICBwcml2YXRlIGVuY3J5cHRpb25TZXJ2aWNlOiBFbmNyeXB0aW9uU2VydmljZVxuICApIHtcbiAgICBzdXBlcihpbmplY3Rvcik7XG4gIH1cblxuICBkZWxldGVUcEV4ZWModHBJZDogTHJSZWxheUlkSW5wdXQpIHtcbiAgICByZXR1cm4gdGhpcy5tdXRhdGUodGhpcy5kZWxldGVUcE11dGF0aW9uKHRwSWQpKTtcbiAgfVxuXG4gIC8vIFRPRE86IGRlcHJlY2F0ZSB0aGlzXG4gIGRlbGV0ZVRwKHRwSWQ6IExyUmVsYXlJZElucHV0KSB7XG4gICAgcmV0dXJuIHRoaXMuZGVsZXRlVHBNdXRhdGlvbih0cElkKTtcbiAgfVxuXG4gIGRlbGV0ZVRwTXV0YXRpb24odHBJZDogTHJSZWxheUlkSW5wdXQpIHtcbiAgICByZXR1cm4gbmV3IExyTXV0YXRpb24oe1xuICAgICAgbXV0YXRpb246IERlbGV0ZVRwTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICBpZDogdHBJZCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBzaGFyZURpcmVjdG9yeShvcHRpb25zOiBTaGFyZUl0ZW1PcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVJdGVtKHsgLi4ub3B0aW9ucywgaXNEaXJlY3Rvcnk6IHRydWUgfSk7XG4gIH1cblxuICBhc3luYyBzaGFyZUZpbGUob3B0aW9uczogU2hhcmVJdGVtT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnNoYXJlSXRlbSh7IC4uLm9wdGlvbnMsIGlzRGlyZWN0b3J5OiBmYWxzZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2hhcmVJdGVtKHtcbiAgICBpdGVtSWQsXG4gICAgaXRlbUtleUlkLFxuICAgIHRwSWQsXG4gICAgdHBTaGFyZWRLZXlJZCxcbiAgICBhY2Nlc3NSb2xlLFxuICAgIGlzRGlyZWN0b3J5LFxuICB9OiBTaGFyZUl0ZW1PcHRpb25zICYge1xuICAgIGlzRGlyZWN0b3J5OiBib29sZWFuO1xuICB9KSB7XG4gICAgY29uc3QgaXRlbUtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KGl0ZW1LZXlJZCwgKCkgPT5cbiAgICAgIGlzRGlyZWN0b3J5XG4gICAgICAgID8gdGhpcy5pdGVtMlNlcnZpY2UuZ2V0RGlyZWN0b3J5S2V5SWQoaXRlbUlkKVxuICAgICAgICA6IHRoaXMuaXRlbTJTZXJ2aWNlLmdldEZpbGVLZXlJZChpdGVtSWQpXG4gICAgKTtcbiAgICBjb25zdCB3cmFwcGluZ0tleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KHRwU2hhcmVkS2V5SWQsICgpID0+XG4gICAgICB0aGlzLmdldFRwQ3VycmVudFVzZXJTaGFyZWRLZXkodHBJZCkudGhlbigocmVzKSA9PiByZXMuc2hhcmVkS2V5LmlkKVxuICAgICk7XG4gICAgY29uc3Qgd3JhcHBlZEtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGgud3JhcEtleSh3cmFwcGluZ0tleSwgaXRlbUtleS5qd2spO1xuXG4gICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcbiAgICAgIG11dGF0aW9uOiBpc0RpcmVjdG9yeSA/IFNoYXJlRGlyZWN0b3J5TXV0YXRpb24gOiBTaGFyZUZpbGVNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIGlkOiBpdGVtSWQsXG4gICAgICAgICAgdHBJZCxcbiAgICAgICAgICBhY2Nlc3NSb2xlLFxuICAgICAgICAgIGtleUlkOiBpdGVtS2V5LmlkLFxuICAgICAgICAgIHdyYXBwaW5nS2V5SWQ6IHdyYXBwaW5nS2V5LmlkLFxuICAgICAgICAgIHdyYXBwZWRLZXksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgdW5zaGFyZURpcmVjdG9yeShvcHRpb25zOiBVbnNoYXJlSXRlbU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy51bnNoYXJlSXRlbSh7IC4uLm9wdGlvbnMsIGlzRGlyZWN0b3J5OiB0cnVlIH0pO1xuICB9XG5cbiAgYXN5bmMgdW5zaGFyZUZpbGUob3B0aW9uczogVW5zaGFyZUl0ZW1PcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMudW5zaGFyZUl0ZW0oeyAuLi5vcHRpb25zLCBpc0RpcmVjdG9yeTogZmFsc2UgfSk7XG4gIH1cblxuICBhc3luYyByZXF1ZXN0TWtSZXNoYXJlKHRwSWQ6IExyUmVsYXlJZElucHV0KSB7XG4gICAgY29uc3QgdXNlclNoYXJlZEtleSA9IGF3YWl0IHRoaXMuZ2V0VHBDdXJyZW50VXNlclNoYXJlZEtleSh0cElkKTtcblxuICAgIGlmICh1c2VyU2hhcmVkS2V5Lm1rU2hhcmVkS2V5KSB7XG4gICAgICB0aHJvdyBuZXcgTHJCYWRTdGF0ZUV4Y2VwdGlvbignVFAgYWxyZWFkeSBoYXMgbWtTaGFyZWRLZXknKTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXN0ZXJLZXkgPSBhd2FpdCB0aGlzLmtleVNlcnZpY2UuZ2V0Q3VycmVudE1hc3RlcktleSgpO1xuICAgIGNvbnN0IHByayA9IGF3YWl0IHRoaXMua2V5RmFjdG9yeS5jcmVhdGVQa2NLZXkoKTtcbiAgICBjb25zdCBta1dyYXBwZWRNa1ByayA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdFRvU3RyaW5nKFxuICAgICAgbWFzdGVyS2V5Lmp3ayxcbiAgICAgIHByay50b0pTT04odHJ1ZSlcbiAgICApO1xuXG4gICAgY29uc3Qgc2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkodXNlclNoYXJlZEtleS5zaGFyZWRLZXkuaWQpO1xuICAgIGNvbnN0IG1rUmVzaGFyZVJlcXVlc3RDaXBoZXIgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgIHNoYXJlZEtleS5qd2ssXG4gICAgICB7XG4gICAgICAgIHBiazogcHJrLnRvSlNPTigpLFxuICAgICAgfVxuICAgICk7XG5cbiAgICByZXR1cm4gYXdhaXQgbmV3IExyTXV0YXRpb24oe1xuICAgICAgbXV0YXRpb246IFJlcXVlc3RUcE1rUmVzaGFyZU11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgdHBJZCxcbiAgICAgICAgICBtYXN0ZXJLZXlJZDogbWFzdGVyS2V5LmlkLFxuICAgICAgICAgIG1rUGJrOiBKU09OLnN0cmluZ2lmeShwcmsudG9KU09OKCkpLFxuICAgICAgICAgIG1rV3JhcHBlZE1rUHJrLFxuICAgICAgICAgIHNoYXJlZEtleUlkOiBzaGFyZWRLZXkuaWQsXG4gICAgICAgICAgbWtSZXNoYXJlUmVxdWVzdENpcGhlcixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyByZXNwb25kTWtSZXNoYXJlKHRwSWQ6IExyUmVsYXlJZElucHV0KSB7XG4gICAgY29uc3QgdXNlclNoYXJlZEtleSA9IGF3YWl0IHRoaXMuZ2V0VHBDdXJyZW50VXNlclNoYXJlZEtleSh0cElkKTtcblxuICAgIGlmICghdXNlclNoYXJlZEtleS5ta1NoYXJlZEtleSkge1xuICAgICAgdGhyb3cgbmV3IExyQmFkU3RhdGVFeGNlcHRpb24oXG4gICAgICAgICdObyBhY2Nlc3MgdG8gdGhlIG1rU2hhcmVkS2V5IHNvIGNhbm5vdCByZXNoYXJlIGl0IHdpdGggVFAnXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHNoYXJlZEtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KHVzZXJTaGFyZWRLZXkuc2hhcmVkS2V5LmlkKTtcbiAgICBjb25zdCBwbGFpbk1rUmVzaGFyZVJlcXVlc3RDaXBoZXIgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmRlY3J5cHQoXG4gICAgICBzaGFyZWRLZXksXG4gICAgICB1c2VyU2hhcmVkS2V5Lm1rUmVzaGFyZVJlcXVlc3RDaXBoZXJcbiAgICApO1xuICAgIGNvbnN0IHBiayA9IGF3YWl0IEpXSy5hc0tleShwbGFpbk1rUmVzaGFyZVJlcXVlc3RDaXBoZXIucGJrKTtcbiAgICBjb25zdCBta1NoYXJlZEtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KFxuICAgICAgdXNlclNoYXJlZEtleS5ta1NoYXJlZEtleS5pZFxuICAgICk7XG5cbiAgICBjb25zdCBwbGFpbk1rUmVzaGFyZVJlc3BvbnNlQ2lwaGVyID0ge1xuICAgICAgbWtTaGFyZWRLZXk6IHtcbiAgICAgICAgaWQ6IG1rU2hhcmVkS2V5LmlkLFxuICAgICAgICBqd2s6IG1rU2hhcmVkS2V5Lmp3ay50b0pTT04odHJ1ZSksXG4gICAgICB9LFxuICAgIH07XG5cbiAgICAvLyBXcmFwIHdpdGggc2hhcmVkS2V5IHRoZW4gYWdhaW4gd2l0aCBQYmtcbiAgICBjb25zdCBta1Jlc2hhcmVSZXNwb25zZUNpcGhlciA9XG4gICAgICBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgICAgcGJrLFxuICAgICAgICBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgICAgICBzaGFyZWRLZXkuandrLFxuICAgICAgICAgIHBsYWluTWtSZXNoYXJlUmVzcG9uc2VDaXBoZXJcbiAgICAgICAgKVxuICAgICAgKTtcblxuICAgIHJldHVybiBuZXcgTHJNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbjogUmVzcG9uZFRwTWtSZXNoYXJlTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICB0cElkLFxuICAgICAgICAgIG1rU2hhcmVkS2V5SWQ6IG1rU2hhcmVkS2V5LmlkLFxuICAgICAgICAgIG1rUmVzaGFyZVJlc3BvbnNlQ2lwaGVyLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGNvbXBsZXRlTWtSZXNoYXJlKHRwSWQ6IExyUmVsYXlJZElucHV0KSB7XG4gICAgY29uc3QgdXNlclNoYXJlZEtleSA9IGF3YWl0IHRoaXMuZ2V0VHBDdXJyZW50VXNlclNoYXJlZEtleSh0cElkKTtcblxuICAgIGNvbnN0IHNoYXJlZEtleSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KHVzZXJTaGFyZWRLZXkuc2hhcmVkS2V5LmlkKTtcbiAgICBjb25zdCBwcmsgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmdldEtleSh1c2VyU2hhcmVkS2V5Lm1rUHhrLmlkKTtcbiAgICBjb25zdCBwbGFpbk1rUmVzaGFyZVJlc3BvbnNlQ2lwaGVyID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5kZWNyeXB0KFxuICAgICAgc2hhcmVkS2V5LFxuICAgICAgYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5kZWNyeXB0KFxuICAgICAgICBwcmssXG4gICAgICAgIHVzZXJTaGFyZWRLZXkubWtSZXNoYXJlUmVzcG9uc2VDaXBoZXJcbiAgICAgIClcbiAgICApO1xuXG4gICAgLy8gRG91YmxlIGNoZWNrIGl0J3MgYSB2YWxpZCBrZXkuXG4gICAgY29uc3QgbWtTaGFyZWRLZXk6IEtleSA9IHtcbiAgICAgIGlkOiBwbGFpbk1rUmVzaGFyZVJlc3BvbnNlQ2lwaGVyLm1rU2hhcmVkS2V5LmlkLFxuICAgICAgandrOiBhd2FpdCBKV0suYXNLZXkocGxhaW5Na1Jlc2hhcmVSZXNwb25zZUNpcGhlci5ta1NoYXJlZEtleS5qd2spLFxuICAgIH07XG5cbiAgICBjb25zdCBtYXN0ZXJLZXkgPSBhd2FpdCB0aGlzLmtleVNlcnZpY2UuZ2V0Q3VycmVudE1hc3RlcktleSgpO1xuICAgIGNvbnN0IG1rV3JhcHBlZE1rU2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5lbmNyeXB0VG9TdHJpbmcoXG4gICAgICBtYXN0ZXJLZXkuandrLFxuICAgICAgbWtTaGFyZWRLZXkuandrLnRvSlNPTih0cnVlKVxuICAgICk7XG5cbiAgICByZXR1cm4gbmV3IExyTXV0YXRpb24oe1xuICAgICAgbXV0YXRpb246IENvbXBsZXRlVHBNa1Jlc2hhcmVNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIHRwSWQsXG4gICAgICAgICAgbWFzdGVyS2V5SWQ6IG1hc3RlcktleS5pZCxcbiAgICAgICAgICBta1NoYXJlZEtleUlkOiBta1NoYXJlZEtleS5pZCxcbiAgICAgICAgICBta1dyYXBwZWRNa1NoYXJlZEtleSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIEhlbHBlcnNcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICBwcml2YXRlIGFzeW5jIGdldFRwQ3VycmVudFVzZXJTaGFyZWRLZXkodHBJZDogTHJSZWxheUlkSW5wdXQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgYXdhaXQgdGhpcy5sckdyYXBoUUwucXVlcnkoe1xuICAgICAgICBxdWVyeTogVHBDdXJyZW50VXNlclNoYXJlZEtleVF1ZXJ5LFxuICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICBpZDogdHBJZCxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgKS50cC5jdXJyZW50VXNlclNoYXJlZEtleS51c2VyU2hhcmVkS2V5O1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB1bnNoYXJlSXRlbSh7XG4gICAgaXRlbUlkLFxuICAgIHRwSWQsXG4gICAgaXNEaXJlY3RvcnksXG4gIH06IFVuc2hhcmVJdGVtT3B0aW9ucyAmIHsgaXNEaXJlY3Rvcnk6IGJvb2xlYW4gfSkge1xuICAgIHJldHVybiBuZXcgTHJNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbjogaXNEaXJlY3RvcnkgPyBVbnNoYXJlRGlyZWN0b3J5TXV0YXRpb24gOiBVbnNoYXJlRmlsZU11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgaWQ6IGl0ZW1JZCxcbiAgICAgICAgICB0cElkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJ1c3RlZC1wYXJ0eTIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL2xpYi90cnVzdGVkLXBhcnR5L3RydXN0ZWQtcGFydHkyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFMUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUNMLDJCQUEyQixFQUMzQixnQkFBZ0IsRUFDaEIsMEJBQTBCLEVBQzFCLDBCQUEwQixFQUMxQixzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLHdCQUF3QixFQUN4QixtQkFBbUIsRUFDcEIsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7OztJQVM5RCxvQkFBb0IsU0FBcEIsb0JBQXFCLFNBQVEsU0FBUztJQUNqRCxZQUNVLE1BQWMsRUFDZCxRQUFrQixFQUNs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Q3BCLFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFNBQVMsRUFBRTtvQkFDVCxLQUFLLEVBQUU7d0JBQ0wsSUFBSTt3QkFDSixXQUFXLEVBQUUsU0FBUyxDQUFDLEVBQUU7d0JBQ3pCLGFBQWEsRUFBRSxXQUFXLENBQUMsRUFBRTt3QkFDN0Isb0JBQW9CO3FCQUNyQjtpQkFDRjthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVELHVGQUF1RjtJQUN2Rix1RkFBdUY7SUFDdkYsVUFBVTtJQUNWLHVGQUF1RjtJQUN2Rix1RkFBdUY7SUFDekUseUJBQXlCLENBQUMsSUFBb0I7O1lBQzFELE9BQU8sQ0FDTCxNQUFNLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO2dCQUN6QixLQUFLLEVBQUUsMkJBQTJCO2dCQUNsQyxTQUFTLEVBQUU7b0JBQ1QsRUFBRSxFQUFFLElBQUk7aUJBQ1Q7YUFDRixDQUFDLENBQ0gsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsYUFBYSxDQUFDO1FBQzFDLENBQUM7S0FBQTtDQUNGLENBQUE7OztZQWpRQSxVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQTlCOEIsTUFBTTtZQUFoQixRQUFRO1lBT3BCLGVBQWU7WUFGZixZQUFZO1lBR1osVUFBVTtZQUZWLGlCQUFpQjtZQUZqQixpQkFBaUI7O0FBMkJiLG9CQUFvQjtJQU5oQyxpQkFBaUIsQ0FBQztRQUNqQixVQUFVLEVBQUUsUUFBUTtLQUNyQixDQUFDO0dBSVcsb0JBQW9CLENBOFBoQztTQTlQWSxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3RvciwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBKV0sgfSBmcm9tICdub2RlLWpvc2UnO1xuaW1wb3J0IHsgTHJNdXRhdGlvbiwgTHJTZXJ2aWNlIH0gZnJvbSAnLi4vYXBpL2xyLWdyYXBocWwnO1xuaW1wb3J0IHsgTHJSZWxheUlkSW5wdXQgfSBmcm9tICcuLi9hcGkvdHlwZXMnO1xuaW1wb3J0IHsgRW5jcnlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi9lbmNyeXB0aW9uL2VuY3J5cHRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBJdGVtMlNlcnZpY2UgfSBmcm9tICcuLi9pdGVtMi9pdGVtMi5zZXJ2aWNlJztcbmltcG9ydCB7IEtleUZhY3RvcnlTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS1mYWN0b3J5LnNlcnZpY2UnO1xuaW1wb3J0IHsgS2V5R3JhcGhTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS1ncmFwaC5zZXJ2aWNlJztcbmltcG9ydCB7IEtleVNlcnZpY2UgfSBmcm9tICcuLi9rZXkva2V5LnNlcnZpY2UnO1xuaW1wb3J0IHsgS2V5IH0gZnJvbSAnLi4va2V5L2tleS50eXBlcyc7XG5pbXBvcnQgeyBMckJhZFN0YXRlRXhjZXB0aW9uIH0gZnJvbSAnLi4vX2NvbW1vbi9leGNlcHRpb25zJztcbmltcG9ydCB7IFJ1bk91dHNpZGVBbmd1bGFyIH0gZnJvbSAnLi4vX2NvbW1vbi9ydW4tb3V0c2lkZS1hbmd1bGFyJztcbmltcG9ydCB7XG4gIENvbXBsZXRlVHBNa1Jlc2hhcmVNdXRhdGlvbixcbiAgRGVsZXRlVHBNdXRhdGlvbixcbiAgUmVxdWVzdFRwTWtSZXNoYXJlTXV0YXRpb24sXG4gIFJlc3BvbmRUcE1rUmVzaGFyZU11dGF0aW9uLFxuICBTaGFyZURpcmVjdG9yeU11dGF0aW9uLFxuICBTaGFyZUZpbGVNdXRhdGlvbixcbiAgVW5zaGFyZURpcmVjdG9yeU11dGF0aW9uLFxuICBVbnNoYXJlRmlsZU11dGF0aW9uXG59IGZyb20gJy4vdHJ1c3RlZC1wYXJ0eTIuZ3FsJztcbmltcG9ydCB7IFRwQ3VycmVudFVzZXJTaGFyZWRLZXlRdWVyeSB9IGZyb20gJy4vdHJ1c3RlZC1wYXJ0eTIuZ3FsLnByaXZhdGUnO1xuaW1wb3J0IHsgU2hhcmVJdGVtT3B0aW9ucywgVW5zaGFyZUl0ZW1PcHRpb25zIH0gZnJvbSAnLi90cnVzdGVkLXBhcnR5Mi50eXBlcyc7XG5cbkBSdW5PdXRzaWRlQW5ndWxhcih7XG4gIG5nWm9uZU5hbWU6ICduZ1pvbmUnLFxufSlcbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBUcnVzdGVkUGFydHkyU2VydmljZSBleHRlbmRzIExyU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBrZXlHcmFwaDogS2V5R3JhcGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgaXRlbTJTZXJ2aWNlOiBJdGVtMlNlcnZpY2UsXG4gICAgcHJpdmF0ZSBrZXlTZXJ2aWNlOiBLZXlTZXJ2aWNlLFxuICAgIHByaXZhdGUga2V5RmFjdG9yeTogS2V5RmFjdG9yeVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbmNyeXB0aW9uU2VydmljZTogRW5jcnlwdGlvblNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoaW5qZWN0b3IpO1xuICB9XG5cbiAgZGVsZXRlVHBFeGVjKHRwSWQ6IExyUmVsYXlJZElucHV0KSB7XG4gICAgcmV0dXJuIHRoaXMubXV0YXRlKHRoaXMuZGVsZXRlVHBNdXRhdGlvbih0cElkKSk7XG4gIH1cblxuICAvLyBUT0RPOiBkZXByZWNhdGUgdGhpc1xuICBkZWxldGVUcCh0cElkOiBMclJlbGF5SWRJbnB1dCkge1xuICAgIHJldHVybiB0aGlzLmRlbGV0ZVRwTXV0YXRpb24odHBJZCk7XG4gIH1cblxuICBkZWxldGVUcE11dGF0aW9uKHRwSWQ6IExyUmVsYXlJZElucHV0KSB7XG4gICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcbiAgICAgIG11dGF0aW9uOiBEZWxldGVUcE11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgaWQ6IHRwSWQsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgc2hhcmVEaXJlY3Rvcnkob3B0aW9uczogU2hhcmVJdGVtT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLm11dGF0ZSh0aGlzLnNoYXJlRGlyZWN0b3J5TXV0YXRpb24ob3B0aW9ucykpO1xuICB9XG5cbiAgYXN5bmMgc2hhcmVEaXJlY3RvcnlNdXRhdGlvbihvcHRpb25zOiBTaGFyZUl0ZW1PcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMuc2hhcmVJdGVtTXV0YXRpb24oeyAuLi5vcHRpb25zLCBpc0RpcmVjdG9yeTogdHJ1ZSB9KTtcbiAgfVxuXG4gIGFzeW5jIHNoYXJlRmlsZShvcHRpb25zOiBTaGFyZUl0ZW1PcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMubXV0YXRlKHRoaXMuc2hhcmVGaWxlTXV0YXRpb24ob3B0aW9ucykpO1xuICB9XG5cbiAgYXN5bmMgc2hhcmVGaWxlTXV0YXRpb24ob3B0aW9uczogU2hhcmVJdGVtT3B0aW9ucykge1xuICAgIHJldHVybiB0aGlzLnNoYXJlSXRlbU11dGF0aW9uKHsgLi4ub3B0aW9ucywgaXNEaXJlY3Rvcnk6IGZhbHNlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzaGFyZUl0ZW1NdXRhdGlvbih7XG4gICAgaXRlbUlkLFxuICAgIGl0ZW1LZXlJZCxcbiAgICB0cElkLFxuICAgIHRwU2hhcmVkS2V5SWQsXG4gICAgYWNjZXNzUm9sZSxcbiAgICBpc0RpcmVjdG9yeSxcbiAgfTogU2hhcmVJdGVtT3B0aW9ucyAmIHtcbiAgICBpc0RpcmVjdG9yeTogYm9vbGVhbjtcbiAgfSkge1xuICAgIGNvbnN0IGl0ZW1LZXkgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmdldEtleShpdGVtS2V5SWQsICgpID0+XG4gICAgICBpc0RpcmVjdG9yeVxuICAgICAgICA/IHRoaXMuaXRlbTJTZXJ2aWNlLmdldERpcmVjdG9yeUtleUlkKGl0ZW1JZClcbiAgICAgICAgOiB0aGlzLml0ZW0yU2VydmljZS5nZXRGaWxlS2V5SWQoaXRlbUlkKVxuICAgICk7XG4gICAgY29uc3Qgd3JhcHBpbmdLZXkgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmdldEtleSh0cFNoYXJlZEtleUlkLCAoKSA9PlxuICAgICAgdGhpcy5nZXRUcEN1cnJlbnRVc2VyU2hhcmVkS2V5KHRwSWQpLnRoZW4oKHJlcykgPT4gcmVzLnNoYXJlZEtleS5pZClcbiAgICApO1xuICAgIGNvbnN0IHdyYXBwZWRLZXkgPSBhd2FpdCB0aGlzLmtleUdyYXBoLndyYXBLZXkod3JhcHBpbmdLZXksIGl0ZW1LZXkuandrKTtcblxuICAgIHJldHVybiBuZXcgTHJNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbjogaXNEaXJlY3RvcnkgPyBTaGFyZURpcmVjdG9yeU11dGF0aW9uIDogU2hhcmVGaWxlTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICBpZDogaXRlbUlkLFxuICAgICAgICAgIHRwSWQsXG4gICAgICAgICAgYWNjZXNzUm9sZSxcbiAgICAgICAgICBrZXlJZDogaXRlbUtleS5pZCxcbiAgICAgICAgICB3cmFwcGluZ0tleUlkOiB3cmFwcGluZ0tleS5pZCxcbiAgICAgICAgICB3cmFwcGVkS2V5LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHVuc2hhcmVEaXJlY3Rvcnkob3B0aW9uczogVW5zaGFyZUl0ZW1PcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMubXV0YXRlKHRoaXMudW5zaGFyZURpcmVjdG9yeU11dGF0aW9uKG9wdGlvbnMpKTtcbiAgfVxuXG4gIGFzeW5jIHVuc2hhcmVEaXJlY3RvcnlNdXRhdGlvbihvcHRpb25zOiBVbnNoYXJlSXRlbU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy51bnNoYXJlSXRlbU11dGF0aW9uKHsgLi4ub3B0aW9ucywgaXNEaXJlY3Rvcnk6IHRydWUgfSk7XG4gIH1cblxuICBhc3luYyB1bnNoYXJlRmlsZShvcHRpb25zOiBVbnNoYXJlSXRlbU9wdGlvbnMpIHtcbiAgICByZXR1cm4gdGhpcy5tdXRhdGUodGhpcy51bnNoYXJlRmlsZU11dGF0aW9uKG9wdGlvbnMpKTtcbiAgfVxuXG4gIGFzeW5jIHVuc2hhcmVGaWxlTXV0YXRpb24ob3B0aW9uczogVW5zaGFyZUl0ZW1PcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMudW5zaGFyZUl0ZW1NdXRhdGlvbih7IC4uLm9wdGlvbnMsIGlzRGlyZWN0b3J5OiBmYWxzZSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdW5zaGFyZUl0ZW1NdXRhdGlvbih7XG4gICAgaXRlbUlkLFxuICAgIHRwSWQsXG4gICAgaXNEaXJlY3RvcnksXG4gIH06IFVuc2hhcmVJdGVtT3B0aW9ucyAmIHsgaXNEaXJlY3Rvcnk6IGJvb2xlYW4gfSkge1xuICAgIHJldHVybiBuZXcgTHJNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbjogaXNEaXJlY3RvcnkgPyBVbnNoYXJlRGlyZWN0b3J5TXV0YXRpb24gOiBVbnNoYXJlRmlsZU11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgaWQ6IGl0ZW1JZCxcbiAgICAgICAgICB0cElkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHJlcXVlc3RNa1Jlc2hhcmUodHBJZDogTHJSZWxheUlkSW5wdXQpIHtcbiAgICBjb25zdCB1c2VyU2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5nZXRUcEN1cnJlbnRVc2VyU2hhcmVkS2V5KHRwSWQpO1xuXG4gICAgaWYgKHVzZXJTaGFyZWRLZXkubWtTaGFyZWRLZXkpIHtcbiAgICAgIHRocm93IG5ldyBMckJhZFN0YXRlRXhjZXB0aW9uKCdUUCBhbHJlYWR5IGhhcyBta1NoYXJlZEtleScpO1xuICAgIH1cblxuICAgIGNvbnN0IG1hc3RlcktleSA9IGF3YWl0IHRoaXMua2V5U2VydmljZS5nZXRDdXJyZW50TWFzdGVyS2V5KCk7XG4gICAgY29uc3QgcHJrID0gYXdhaXQgdGhpcy5rZXlGYWN0b3J5LmNyZWF0ZVBrY0tleSgpO1xuICAgIGNvbnN0IG1rV3JhcHBlZE1rUHJrID0gYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5lbmNyeXB0VG9TdHJpbmcoXG4gICAgICBtYXN0ZXJLZXkuandrLFxuICAgICAgcHJrLnRvSlNPTih0cnVlKVxuICAgICk7XG5cbiAgICBjb25zdCBzaGFyZWRLZXkgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmdldEtleSh1c2VyU2hhcmVkS2V5LnNoYXJlZEtleS5pZCk7XG4gICAgY29uc3QgbWtSZXNoYXJlUmVxdWVzdENpcGhlciA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdFRvU3RyaW5nKFxuICAgICAgc2hhcmVkS2V5Lmp3ayxcbiAgICAgIHtcbiAgICAgICAgcGJrOiBwcmsudG9KU09OKCksXG4gICAgICB9XG4gICAgKTtcblxuICAgIHJldHVybiBhd2FpdCBuZXcgTHJNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbjogUmVxdWVzdFRwTWtSZXNoYXJlTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICB0cElkLFxuICAgICAgICAgIG1hc3RlcktleUlkOiBtYXN0ZXJLZXkuaWQsXG4gICAgICAgICAgbWtQYms6IEpTT04uc3RyaW5naWZ5KHByay50b0pTT04oKSksXG4gICAgICAgICAgbWtXcmFwcGVkTWtQcmssXG4gICAgICAgICAgc2hhcmVkS2V5SWQ6IHNoYXJlZEtleS5pZCxcbiAgICAgICAgICBta1Jlc2hhcmVSZXF1ZXN0Q2lwaGVyLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHJlc3BvbmRNa1Jlc2hhcmUodHBJZDogTHJSZWxheUlkSW5wdXQpIHtcbiAgICBjb25zdCB1c2VyU2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5nZXRUcEN1cnJlbnRVc2VyU2hhcmVkS2V5KHRwSWQpO1xuXG4gICAgaWYgKCF1c2VyU2hhcmVkS2V5Lm1rU2hhcmVkS2V5KSB7XG4gICAgICB0aHJvdyBuZXcgTHJCYWRTdGF0ZUV4Y2VwdGlvbihcbiAgICAgICAgJ05vIGFjY2VzcyB0byB0aGUgbWtTaGFyZWRLZXkgc28gY2Fubm90IHJlc2hhcmUgaXQgd2l0aCBUUCdcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkodXNlclNoYXJlZEtleS5zaGFyZWRLZXkuaWQpO1xuICAgIGNvbnN0IHBsYWluTWtSZXNoYXJlUmVxdWVzdENpcGhlciA9IGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZGVjcnlwdChcbiAgICAgIHNoYXJlZEtleSxcbiAgICAgIHVzZXJTaGFyZWRLZXkubWtSZXNoYXJlUmVxdWVzdENpcGhlclxuICAgICk7XG4gICAgY29uc3QgcGJrID0gYXdhaXQgSldLLmFzS2V5KHBsYWluTWtSZXNoYXJlUmVxdWVzdENpcGhlci5wYmspO1xuICAgIGNvbnN0IG1rU2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkoXG4gICAgICB1c2VyU2hhcmVkS2V5Lm1rU2hhcmVkS2V5LmlkXG4gICAgKTtcblxuICAgIGNvbnN0IHBsYWluTWtSZXNoYXJlUmVzcG9uc2VDaXBoZXIgPSB7XG4gICAgICBta1NoYXJlZEtleToge1xuICAgICAgICBpZDogbWtTaGFyZWRLZXkuaWQsXG4gICAgICAgIGp3azogbWtTaGFyZWRLZXkuandrLnRvSlNPTih0cnVlKSxcbiAgICAgIH0sXG4gICAgfTtcblxuICAgIC8vIFdyYXAgd2l0aCBzaGFyZWRLZXkgdGhlbiBhZ2FpbiB3aXRoIFBia1xuICAgIGNvbnN0IG1rUmVzaGFyZVJlc3BvbnNlQ2lwaGVyID1cbiAgICAgIGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdFRvU3RyaW5nKFxuICAgICAgICBwYmssXG4gICAgICAgIGF3YWl0IHRoaXMuZW5jcnlwdGlvblNlcnZpY2UuZW5jcnlwdFRvU3RyaW5nKFxuICAgICAgICAgIHNoYXJlZEtleS5qd2ssXG4gICAgICAgICAgcGxhaW5Na1Jlc2hhcmVSZXNwb25zZUNpcGhlclxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcbiAgICAgIG11dGF0aW9uOiBSZXNwb25kVHBNa1Jlc2hhcmVNdXRhdGlvbixcbiAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICBpbnB1dDoge1xuICAgICAgICAgIHRwSWQsXG4gICAgICAgICAgbWtTaGFyZWRLZXlJZDogbWtTaGFyZWRLZXkuaWQsXG4gICAgICAgICAgbWtSZXNoYXJlUmVzcG9uc2VDaXBoZXIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgY29tcGxldGVNa1Jlc2hhcmUodHBJZDogTHJSZWxheUlkSW5wdXQpIHtcbiAgICBjb25zdCB1c2VyU2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5nZXRUcEN1cnJlbnRVc2VyU2hhcmVkS2V5KHRwSWQpO1xuXG4gICAgY29uc3Qgc2hhcmVkS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5nZXRLZXkodXNlclNoYXJlZEtleS5zaGFyZWRLZXkuaWQpO1xuICAgIGNvbnN0IHByayA9IGF3YWl0IHRoaXMua2V5R3JhcGguZ2V0S2V5KHVzZXJTaGFyZWRLZXkubWtQeGsuaWQpO1xuICAgIGNvbnN0IHBsYWluTWtSZXNoYXJlUmVzcG9uc2VDaXBoZXIgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmRlY3J5cHQoXG4gICAgICBzaGFyZWRLZXksXG4gICAgICBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmRlY3J5cHQoXG4gICAgICAgIHByayxcbiAgICAgICAgdXNlclNoYXJlZEtleS5ta1Jlc2hhcmVSZXNwb25zZUNpcGhlclxuICAgICAgKVxuICAgICk7XG5cbiAgICAvLyBEb3VibGUgY2hlY2sgaXQncyBhIHZhbGlkIGtleS5cbiAgICBjb25zdCBta1NoYXJlZEtleTogS2V5ID0ge1xuICAgICAgaWQ6IHBsYWluTWtSZXNoYXJlUmVzcG9uc2VDaXBoZXIubWtTaGFyZWRLZXkuaWQsXG4gICAgICBqd2s6IGF3YWl0IEpXSy5hc0tleShwbGFpbk1rUmVzaGFyZVJlc3BvbnNlQ2lwaGVyLm1rU2hhcmVkS2V5Lmp3ayksXG4gICAgfTtcblxuICAgIGNvbnN0IG1hc3RlcktleSA9IGF3YWl0IHRoaXMua2V5U2VydmljZS5nZXRDdXJyZW50TWFzdGVyS2V5KCk7XG4gICAgY29uc3QgbWtXcmFwcGVkTWtTaGFyZWRLZXkgPSBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgIG1hc3RlcktleS5qd2ssXG4gICAgICBta1NoYXJlZEtleS5qd2sudG9KU09OKHRydWUpXG4gICAgKTtcblxuICAgIHJldHVybiBuZXcgTHJNdXRhdGlvbih7XG4gICAgICBtdXRhdGlvbjogQ29tcGxldGVUcE1rUmVzaGFyZU11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgdHBJZCxcbiAgICAgICAgICBtYXN0ZXJLZXlJZDogbWFzdGVyS2V5LmlkLFxuICAgICAgICAgIG1rU2hhcmVkS2V5SWQ6IG1rU2hhcmVkS2V5LmlkLFxuICAgICAgICAgIG1rV3JhcHBlZE1rU2hhcmVkS2V5LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gSGVscGVyc1xuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIHByaXZhdGUgYXN5bmMgZ2V0VHBDdXJyZW50VXNlclNoYXJlZEtleSh0cElkOiBMclJlbGF5SWRJbnB1dCkge1xuICAgIHJldHVybiAoXG4gICAgICBhd2FpdCB0aGlzLmxyR3JhcGhRTC5xdWVyeSh7XG4gICAgICAgIHF1ZXJ5OiBUcEN1cnJlbnRVc2VyU2hhcmVkS2V5UXVlcnksXG4gICAgICAgIHZhcmlhYmxlczoge1xuICAgICAgICAgIGlkOiB0cElkLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICApLnRwLmN1cnJlbnRVc2VyU2hhcmVkS2V5LnVzZXJTaGFyZWRLZXk7XG4gIH1cbn1cbiJdfQ==
@@ -12815,15 +12815,25 @@ let TrustedParty2Service = class TrustedParty2Service extends LrService {
12815
12815
  }
12816
12816
  shareDirectory(options) {
12817
12817
  return __awaiter(this, void 0, void 0, function* () {
12818
- return this.shareItem(Object.assign(Object.assign({}, options), { isDirectory: true }));
12818
+ return this.mutate(this.shareDirectoryMutation(options));
12819
+ });
12820
+ }
12821
+ shareDirectoryMutation(options) {
12822
+ return __awaiter(this, void 0, void 0, function* () {
12823
+ return this.shareItemMutation(Object.assign(Object.assign({}, options), { isDirectory: true }));
12819
12824
  });
12820
12825
  }
12821
12826
  shareFile(options) {
12822
12827
  return __awaiter(this, void 0, void 0, function* () {
12823
- return this.shareItem(Object.assign(Object.assign({}, options), { isDirectory: false }));
12828
+ return this.mutate(this.shareFileMutation(options));
12824
12829
  });
12825
12830
  }
12826
- shareItem({ itemId, itemKeyId, tpId, tpSharedKeyId, accessRole, isDirectory, }) {
12831
+ shareFileMutation(options) {
12832
+ return __awaiter(this, void 0, void 0, function* () {
12833
+ return this.shareItemMutation(Object.assign(Object.assign({}, options), { isDirectory: false }));
12834
+ });
12835
+ }
12836
+ shareItemMutation({ itemId, itemKeyId, tpId, tpSharedKeyId, accessRole, isDirectory, }) {
12827
12837
  return __awaiter(this, void 0, void 0, function* () {
12828
12838
  const itemKey = yield this.keyGraph.getKey(itemKeyId, () => isDirectory
12829
12839
  ? this.item2Service.getDirectoryKeyId(itemId)
@@ -12847,12 +12857,35 @@ let TrustedParty2Service = class TrustedParty2Service extends LrService {
12847
12857
  }
12848
12858
  unshareDirectory(options) {
12849
12859
  return __awaiter(this, void 0, void 0, function* () {
12850
- return this.unshareItem(Object.assign(Object.assign({}, options), { isDirectory: true }));
12860
+ return this.mutate(this.unshareDirectoryMutation(options));
12861
+ });
12862
+ }
12863
+ unshareDirectoryMutation(options) {
12864
+ return __awaiter(this, void 0, void 0, function* () {
12865
+ return this.unshareItemMutation(Object.assign(Object.assign({}, options), { isDirectory: true }));
12851
12866
  });
12852
12867
  }
12853
12868
  unshareFile(options) {
12854
12869
  return __awaiter(this, void 0, void 0, function* () {
12855
- return this.unshareItem(Object.assign(Object.assign({}, options), { isDirectory: false }));
12870
+ return this.mutate(this.unshareFileMutation(options));
12871
+ });
12872
+ }
12873
+ unshareFileMutation(options) {
12874
+ return __awaiter(this, void 0, void 0, function* () {
12875
+ return this.unshareItemMutation(Object.assign(Object.assign({}, options), { isDirectory: false }));
12876
+ });
12877
+ }
12878
+ unshareItemMutation({ itemId, tpId, isDirectory, }) {
12879
+ return __awaiter(this, void 0, void 0, function* () {
12880
+ return new LrMutation({
12881
+ mutation: isDirectory ? UnshareDirectoryMutation : UnshareFileMutation,
12882
+ variables: {
12883
+ input: {
12884
+ id: itemId,
12885
+ tpId,
12886
+ },
12887
+ },
12888
+ });
12856
12889
  });
12857
12890
  }
12858
12891
  requestMkReshare(tpId) {
@@ -12954,19 +12987,6 @@ let TrustedParty2Service = class TrustedParty2Service extends LrService {
12954
12987
  })).tp.currentUserSharedKey.userSharedKey;
12955
12988
  });
12956
12989
  }
12957
- unshareItem({ itemId, tpId, isDirectory, }) {
12958
- return __awaiter(this, void 0, void 0, function* () {
12959
- return new LrMutation({
12960
- mutation: isDirectory ? UnshareDirectoryMutation : UnshareFileMutation,
12961
- variables: {
12962
- input: {
12963
- id: itemId,
12964
- tpId,
12965
- },
12966
- },
12967
- });
12968
- });
12969
- }
12970
12990
  };
12971
12991
  TrustedParty2Service.ɵprov = ɵɵdefineInjectable({ factory: function TrustedParty2Service_Factory() { return new TrustedParty2Service(ɵɵinject(NgZone), ɵɵinject(INJECTOR), ɵɵinject(KeyGraphService), ɵɵinject(Item2Service), ɵɵinject(KeyService), ɵɵinject(KeyFactoryService), ɵɵinject(EncryptionService)); }, token: TrustedParty2Service, providedIn: "root" });
12972
12992
  TrustedParty2Service.decorators = [