@lifeready/core 1.0.21 → 1.0.22
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/bundles/lifeready-core.umd.js +9745 -9700
- package/bundles/lifeready-core.umd.js.map +1 -1
- package/bundles/lifeready-core.umd.min.js +2 -2
- package/bundles/lifeready-core.umd.min.js.map +1 -1
- package/esm2015/lib/_common/run-outside-angular.js +2 -2
- package/esm2015/lib/_common/types.js +1 -1
- package/esm2015/lib/api/lr-apollo.service.js +3 -3
- package/esm2015/lib/api/lr-graphql/lr-graphql.service.js +3 -3
- package/esm2015/lib/api/query-processor/common-processors.service.js +3 -3
- package/esm2015/lib/api/query-processor/query-processor.service.js +4 -4
- package/esm2015/lib/api/query-processor/tp-password-reset-processor.service.js +6 -5
- package/esm2015/lib/api/types/lr-graphql.types.js +1 -1
- package/esm2015/lib/auth/auth.gql.js +1 -28
- package/esm2015/lib/auth/auth.types.js +1 -1
- package/esm2015/lib/auth/life-ready-auth.service.js +32 -31
- package/esm2015/lib/category/category.gql.js +1 -1
- package/esm2015/lib/category/category.service.js +6 -6
- package/esm2015/lib/contact-card/contact-card.gql.js +79 -0
- package/esm2015/lib/contact-card/contact-card.service.js +154 -0
- package/esm2015/lib/contact-card/contact-card2.gql.js +29 -0
- package/esm2015/lib/contact-card/contact-card2.service.js +103 -0
- package/esm2015/lib/encryption/encryption.service.js +189 -0
- package/esm2015/lib/file-upload/file-upload.service.js +74 -0
- package/esm2015/lib/file-upload/file-upload.types.js +1 -0
- package/esm2015/lib/{auth → idle}/idle.service.js +7 -7
- package/esm2015/lib/{auth → idle}/idle.types.js +1 -1
- package/esm2015/lib/items2/item2.service.js +20 -20
- package/esm2015/lib/key/key-factory.service.js +237 -0
- package/esm2015/lib/{cryptography → key}/key-graph.service.js +10 -10
- package/esm2015/lib/key/key-meta.service.js +200 -0
- package/esm2015/lib/key/key.service.js +124 -0
- package/esm2015/lib/key/key.types.js +11 -0
- package/esm2015/lib/key-exchange/key-exchange.gql.js +188 -0
- package/esm2015/lib/key-exchange/key-exchange.service.js +443 -0
- package/esm2015/lib/key-exchange/key-exchange.types.js +7 -0
- package/esm2015/lib/key-exchange/key-exchange2.gql.js +171 -0
- package/esm2015/lib/key-exchange/key-exchange2.service.js +500 -0
- package/esm2015/lib/lbop/lbop.service.js +355 -0
- package/esm2015/lib/life-ready.module.js +2 -27
- package/esm2015/lib/lock/lock.gql.js +40 -0
- package/esm2015/lib/lock/lock.service.js +64 -0
- package/esm2015/lib/message/message.gql.js +32 -0
- package/esm2015/lib/message/message.service.js +116 -0
- package/esm2015/lib/message/message.types.js +1 -0
- package/esm2015/lib/password/password.gql.js +28 -0
- package/esm2015/lib/password/password.service.js +315 -0
- package/esm2015/lib/persist/persist.service.js +180 -0
- package/esm2015/lib/profile/profile-details.service.js +214 -0
- package/esm2015/lib/profile/profile.gql.js +97 -0
- package/esm2015/lib/profile/profile.service.js +169 -0
- package/esm2015/lib/profile/profile.types.js +34 -0
- package/esm2015/lib/record/record-attachment.service.js +15 -15
- package/esm2015/lib/record/record.service.js +3 -3
- package/esm2015/lib/register/register.service.js +172 -0
- package/esm2015/lib/scenario/scenario.controller.js +2 -2
- package/esm2015/lib/scenario/{scenario.gql.private.js → scenario.private.gql.js} +1 -1
- package/esm2015/lib/scenario/scenario.service.js +9 -9
- package/esm2015/lib/scenario/scenario.types.js +1 -1
- package/esm2015/lib/shared-contact-card/shared-contact-card.service.js +119 -0
- package/esm2015/lib/shared-contact-card/shared-contact-card2.gql.js +41 -0
- package/esm2015/lib/shared-contact-card/shared-contact-card2.service.js +117 -0
- package/esm2015/lib/slip39/slip39.service.js +169 -0
- package/esm2015/lib/time/time.service.js +146 -0
- package/esm2015/lib/tp-assembly/tp-assembly.js +365 -0
- package/esm2015/lib/tp-assembly/tp-assembly.private.gql.js +22 -0
- package/esm2015/lib/tp-assembly/tp-assembly.types.js +1 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset-request.service.js +100 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset-user.service.js +117 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.constants.js +4 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.controller.js +34 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.gql.js +74 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.private.gql.js +165 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.private.service.js +54 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.service.js +92 -0
- package/esm2015/lib/tp-password-reset/tp-password-reset.types.js +1 -0
- package/esm2015/lib/trusted-party/trusted-party.gql.js +148 -0
- package/esm2015/lib/trusted-party/trusted-party.service.js +326 -0
- package/esm2015/lib/trusted-party/trusted-party.types.js +41 -0
- package/esm2015/lib/trusted-party/trusted-party2.gql.js +64 -0
- package/esm2015/lib/trusted-party/trusted-party2.gql.private.js +25 -0
- package/esm2015/lib/trusted-party/trusted-party2.service.js +224 -0
- package/esm2015/lib/trusted-party/trusted-party2.types.js +1 -0
- package/esm2015/lib/two-factor/two-factor.service.js +74 -0
- package/esm2015/lib/user/user.gql.js +60 -0
- package/esm2015/lib/user/user.service.js +79 -0
- package/esm2015/lib/user/user.types.js +1 -0
- package/esm2015/lib/web-crypto/web-crypto.service.js +29 -0
- package/esm2015/lifeready-core.js +15 -13
- package/esm2015/public-api.js +49 -51
- package/fesm2015/lifeready-core.js +9232 -9214
- package/fesm2015/lifeready-core.js.map +1 -1
- package/lib/_common/types.d.ts +3 -1
- package/lib/api/lr-apollo.service.d.ts +1 -1
- package/lib/api/lr-graphql/lr-graphql.service.d.ts +1 -1
- package/lib/api/query-processor/common-processors.service.d.ts +1 -1
- package/lib/api/query-processor/query-processor.service.d.ts +1 -1
- package/lib/api/query-processor/tp-password-reset-processor.service.d.ts +1 -1
- package/lib/api/types/lr-graphql.types.d.ts +11 -0
- package/lib/auth/auth.gql.d.ts +0 -3
- package/lib/auth/auth.types.d.ts +2 -2
- package/lib/auth/life-ready-auth.service.d.ts +12 -12
- package/lib/category/category.gql.d.ts +1 -1
- package/lib/category/category.service.d.ts +2 -2
- package/lib/{api → contact-card}/contact-card.service.d.ts +9 -9
- package/lib/contact-card/contact-card2.gql.d.ts +25 -0
- package/lib/{api → contact-card}/contact-card2.service.d.ts +11 -12
- package/lib/{cryptography → encryption}/encryption.service.d.ts +2 -2
- package/lib/{api/file.service.d.ts → file-upload/file-upload.service.d.ts} +3 -7
- package/lib/file-upload/file-upload.types.d.ts +5 -0
- package/lib/{auth → idle}/idle.service.d.ts +4 -4
- package/lib/items2/item2.service.d.ts +11 -11
- package/lib/{cryptography → key}/key-factory.service.d.ts +2 -2
- package/lib/{cryptography → key}/key-graph.service.d.ts +5 -5
- package/lib/{cryptography → key}/key-meta.service.d.ts +1 -1
- package/lib/{cryptography → key}/key.service.d.ts +2 -2
- package/lib/{cryptography/cryptography.types.d.ts → key/key.types.d.ts} +9 -13
- package/lib/{api → key-exchange}/key-exchange.service.d.ts +5 -5
- package/lib/{api → key-exchange}/key-exchange.types.d.ts +4 -4
- package/lib/{api → key-exchange}/key-exchange2.gql.d.ts +1 -1
- package/lib/{api → key-exchange}/key-exchange2.service.d.ts +71 -18
- package/lib/{auth → lbop}/lbop.service.d.ts +7 -7
- package/lib/{api → lock}/lock.gql.d.ts +1 -1
- package/lib/{api → lock}/lock.service.d.ts +1 -1
- package/lib/message/message.gql.d.ts +13 -0
- package/lib/message/message.service.d.ts +29 -0
- package/lib/message/message.types.d.ts +12 -0
- package/lib/password/password.gql.d.ts +3 -0
- package/lib/{auth → password}/password.service.d.ts +8 -8
- package/lib/{api → persist}/persist.service.d.ts +3 -3
- package/lib/{users → profile}/profile-details.service.d.ts +3 -3
- package/lib/{users → profile}/profile.gql.d.ts +2 -2
- package/lib/{users → profile}/profile.service.d.ts +6 -6
- package/lib/{users → profile}/profile.types.d.ts +1 -1
- package/lib/record/record-attachment.service.d.ts +6 -6
- package/lib/record/record.service.d.ts +1 -1
- package/lib/{auth → register}/register.service.d.ts +4 -4
- package/lib/scenario/scenario.controller.d.ts +1 -1
- package/lib/scenario/scenario.service.d.ts +2 -2
- package/lib/scenario/scenario.types.d.ts +1 -1
- package/lib/{api → shared-contact-card}/shared-contact-card.service.d.ts +9 -9
- package/lib/{api → shared-contact-card}/shared-contact-card2.gql.d.ts +1 -1
- package/lib/{api → shared-contact-card}/shared-contact-card2.service.d.ts +6 -6
- package/lib/{trusted-parties → tp-assembly}/tp-assembly.d.ts +7 -7
- package/lib/{trusted-parties → tp-assembly}/tp-assembly.types.d.ts +1 -1
- package/lib/{trusted-parties → tp-password-reset}/tp-password-reset-request.service.d.ts +4 -8
- package/lib/{trusted-parties → tp-password-reset}/tp-password-reset-user.service.d.ts +7 -13
- package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.controller.d.ts +1 -1
- package/lib/tp-password-reset/tp-password-reset.gql.d.ts +63 -0
- package/lib/{trusted-parties/tp-password-reset.gql.d.ts → tp-password-reset/tp-password-reset.private.gql.d.ts} +1 -63
- package/lib/tp-password-reset/tp-password-reset.private.service.d.ts +59 -0
- package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.service.d.ts +6 -89
- package/lib/tp-password-reset/tp-password-reset.types.d.ts +40 -0
- package/lib/{trusted-parties → trusted-party}/trusted-party.service.d.ts +7 -7
- package/lib/{trusted-parties → trusted-party}/trusted-party.types.d.ts +2 -3
- package/lib/{trusted-parties → trusted-party}/trusted-party2.gql.d.ts +0 -22
- package/lib/trusted-party/trusted-party2.gql.private.d.ts +23 -0
- package/lib/{trusted-parties → trusted-party}/trusted-party2.service.d.ts +11 -35
- package/lib/trusted-party/trusted-party2.types.d.ts +12 -0
- package/lib/{users → user}/user.gql.d.ts +1 -1
- package/lib/{users → user}/user.types.d.ts +1 -1
- package/lifeready-core.d.ts +14 -12
- package/lifeready-core.metadata.json +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +48 -50
- package/esm2015/lib/api/contact-card.gql.js +0 -79
- package/esm2015/lib/api/contact-card.service.js +0 -154
- package/esm2015/lib/api/contact-card2.gql.js +0 -60
- package/esm2015/lib/api/contact-card2.service.js +0 -103
- package/esm2015/lib/api/file.service.js +0 -74
- package/esm2015/lib/api/key-exchange.gql.js +0 -188
- package/esm2015/lib/api/key-exchange.service.js +0 -442
- package/esm2015/lib/api/key-exchange.types.js +0 -7
- package/esm2015/lib/api/key-exchange2.gql.js +0 -171
- package/esm2015/lib/api/key-exchange2.service.js +0 -480
- package/esm2015/lib/api/lock.gql.js +0 -40
- package/esm2015/lib/api/lock.service.js +0 -64
- package/esm2015/lib/api/message.service.js +0 -138
- package/esm2015/lib/api/persist.service.js +0 -181
- package/esm2015/lib/api/shared-contact-card.service.js +0 -119
- package/esm2015/lib/api/shared-contact-card2.gql.js +0 -41
- package/esm2015/lib/api/shared-contact-card2.service.js +0 -117
- package/esm2015/lib/api/time.service.js +0 -146
- package/esm2015/lib/auth/lbop.service.js +0 -355
- package/esm2015/lib/auth/password.service.js +0 -315
- package/esm2015/lib/auth/register.service.js +0 -172
- package/esm2015/lib/auth/two-factor.service.js +0 -74
- package/esm2015/lib/cryptography/cryptography.types.js +0 -11
- package/esm2015/lib/cryptography/encryption.service.js +0 -189
- package/esm2015/lib/cryptography/key-factory.service.js +0 -237
- package/esm2015/lib/cryptography/key-meta.service.js +0 -200
- package/esm2015/lib/cryptography/key.service.js +0 -124
- package/esm2015/lib/cryptography/slip39.service.js +0 -169
- package/esm2015/lib/cryptography/web-crypto.service.js +0 -29
- package/esm2015/lib/trusted-parties/tp-assembly.gql.private.js +0 -22
- package/esm2015/lib/trusted-parties/tp-assembly.js +0 -365
- package/esm2015/lib/trusted-parties/tp-assembly.types.js +0 -1
- package/esm2015/lib/trusted-parties/tp-password-reset-request.service.js +0 -113
- package/esm2015/lib/trusted-parties/tp-password-reset-user.service.js +0 -129
- package/esm2015/lib/trusted-parties/tp-password-reset.constants.js +0 -4
- package/esm2015/lib/trusted-parties/tp-password-reset.controller.js +0 -34
- package/esm2015/lib/trusted-parties/tp-password-reset.gql.js +0 -237
- package/esm2015/lib/trusted-parties/tp-password-reset.service.js +0 -95
- package/esm2015/lib/trusted-parties/trusted-party.gql.js +0 -148
- package/esm2015/lib/trusted-parties/trusted-party.service.js +0 -326
- package/esm2015/lib/trusted-parties/trusted-party.types.js +0 -41
- package/esm2015/lib/trusted-parties/trusted-party2.gql.js +0 -87
- package/esm2015/lib/trusted-parties/trusted-party2.service.js +0 -218
- package/esm2015/lib/users/profile-details.service.js +0 -214
- package/esm2015/lib/users/profile.gql.js +0 -97
- package/esm2015/lib/users/profile.service.js +0 -169
- package/esm2015/lib/users/profile.types.js +0 -34
- package/esm2015/lib/users/user.gql.js +0 -60
- package/esm2015/lib/users/user.service.js +0 -79
- package/esm2015/lib/users/user.types.js +0 -1
- package/lib/api/contact-card2.gql.d.ts +0 -34
- package/lib/api/message.service.d.ts +0 -59
- /package/lib/{api → contact-card}/contact-card.gql.d.ts +0 -0
- /package/lib/{auth → idle}/idle.types.d.ts +0 -0
- /package/lib/{api → key-exchange}/key-exchange.gql.d.ts +0 -0
- /package/lib/scenario/{scenario.gql.private.d.ts → scenario.private.gql.d.ts} +0 -0
- /package/lib/{cryptography → slip39}/slip39.service.d.ts +0 -0
- /package/lib/{api → time}/time.service.d.ts +0 -0
- /package/lib/{trusted-parties/tp-assembly.gql.private.d.ts → tp-assembly/tp-assembly.private.gql.d.ts} +0 -0
- /package/lib/{trusted-parties → tp-password-reset}/tp-password-reset.constants.d.ts +0 -0
- /package/lib/{trusted-parties → trusted-party}/trusted-party.gql.d.ts +0 -0
- /package/lib/{auth → two-factor}/two-factor.service.d.ts +0 -0
- /package/lib/{users → user}/user.service.d.ts +0 -0
- /package/lib/{cryptography → web-crypto}/web-crypto.service.d.ts +0 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { __awaiter, __decorate } from "tslib";
|
|
2
|
+
import { Injectable, NgZone } from '@angular/core';
|
|
3
|
+
import { LrMutation } from '../api/lr-graphql';
|
|
4
|
+
import { EncryptionService } from '../encryption/encryption.service';
|
|
5
|
+
import { KeyFactoryService } from '../key/key-factory.service';
|
|
6
|
+
import { KeyGraphService } from '../key/key-graph.service';
|
|
7
|
+
import { KeyMetaService } from '../key/key-meta.service';
|
|
8
|
+
import { KeyService } from '../key/key.service';
|
|
9
|
+
import { RunOutsideAngular } from '../_common/run-outside-angular';
|
|
10
|
+
import { CreateContactCardMutation, DeleteContactCardMutation, UpdateContactCardMutation, } from './contact-card2.gql';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "../key/key-factory.service";
|
|
13
|
+
import * as i2 from "../key/key.service";
|
|
14
|
+
import * as i3 from "../encryption/encryption.service";
|
|
15
|
+
import * as i4 from "../key/key-graph.service";
|
|
16
|
+
import * as i5 from "../key/key-meta.service";
|
|
17
|
+
export class OwnerPlainDataJson {
|
|
18
|
+
}
|
|
19
|
+
let ContactCard2Service = class ContactCard2Service {
|
|
20
|
+
constructor(keyFactory, keyService, encryptionService, keyGraph, keyMetaService, ngZone) {
|
|
21
|
+
this.keyFactory = keyFactory;
|
|
22
|
+
this.keyService = keyService;
|
|
23
|
+
this.encryptionService = encryptionService;
|
|
24
|
+
this.keyGraph = keyGraph;
|
|
25
|
+
this.keyMetaService = keyMetaService;
|
|
26
|
+
this.ngZone = ngZone;
|
|
27
|
+
}
|
|
28
|
+
createContactCard(input) {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
// Get encryption key
|
|
31
|
+
const rootKey = yield this.keyService.getCurrentRootKey();
|
|
32
|
+
const key = yield this.keyFactory.createKey();
|
|
33
|
+
const wrappedKey = yield this.keyGraph.encryptToString(rootKey.jwk, key.toJSON(true));
|
|
34
|
+
const cipherData = yield this.keyGraph.encryptToString(key, input.plainCipherDataJson);
|
|
35
|
+
const params = yield this.prepareContactCardInput(input);
|
|
36
|
+
return new LrMutation({
|
|
37
|
+
mutation: CreateContactCardMutation,
|
|
38
|
+
variables: {
|
|
39
|
+
input: Object.assign(Object.assign({}, params), { wrappingKeyId: rootKey.id, wrappedKey,
|
|
40
|
+
cipherData }),
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
updateContactCard(input) {
|
|
46
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
// Get encryption key
|
|
48
|
+
const cipherData = yield this.keyGraph.encryptToString(input.keyId, input.plainCipherDataJson);
|
|
49
|
+
const params = yield this.prepareContactCardInput(input);
|
|
50
|
+
return new LrMutation({
|
|
51
|
+
mutation: UpdateContactCardMutation,
|
|
52
|
+
variables: {
|
|
53
|
+
input: Object.assign(Object.assign({}, params), { id: input.id, cipherData }),
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
deleteContactCard(id) {
|
|
59
|
+
return new LrMutation({
|
|
60
|
+
mutation: DeleteContactCardMutation,
|
|
61
|
+
variables: {
|
|
62
|
+
input: {
|
|
63
|
+
id,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
prepareContactCardInput(input) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const sigPxk = yield this.keyService.getCurrentSigPxk();
|
|
71
|
+
const publicDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, input.publicDataJson));
|
|
72
|
+
const publicSearchableSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, input.publicSearchableJson));
|
|
73
|
+
const plainDataSig = JSON.stringify(yield this.encryptionService.sign(sigPxk.jwk, input.plainDataJson));
|
|
74
|
+
return {
|
|
75
|
+
sigPxkId: sigPxk.id,
|
|
76
|
+
publicDataSig,
|
|
77
|
+
publicSearchableSig,
|
|
78
|
+
plainDataSig,
|
|
79
|
+
};
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
ContactCard2Service.ɵprov = i0.ɵɵdefineInjectable({ factory: function ContactCard2Service_Factory() { return new ContactCard2Service(i0.ɵɵinject(i1.KeyFactoryService), i0.ɵɵinject(i2.KeyService), i0.ɵɵinject(i3.EncryptionService), i0.ɵɵinject(i4.KeyGraphService), i0.ɵɵinject(i5.KeyMetaService), i0.ɵɵinject(i0.NgZone)); }, token: ContactCard2Service, providedIn: "root" });
|
|
84
|
+
ContactCard2Service.decorators = [
|
|
85
|
+
{ type: Injectable, args: [{
|
|
86
|
+
providedIn: 'root',
|
|
87
|
+
},] }
|
|
88
|
+
];
|
|
89
|
+
ContactCard2Service.ctorParameters = () => [
|
|
90
|
+
{ type: KeyFactoryService },
|
|
91
|
+
{ type: KeyService },
|
|
92
|
+
{ type: EncryptionService },
|
|
93
|
+
{ type: KeyGraphService },
|
|
94
|
+
{ type: KeyMetaService },
|
|
95
|
+
{ type: NgZone }
|
|
96
|
+
];
|
|
97
|
+
ContactCard2Service = __decorate([
|
|
98
|
+
RunOutsideAngular({
|
|
99
|
+
ngZoneName: 'ngZone',
|
|
100
|
+
})
|
|
101
|
+
], ContactCard2Service);
|
|
102
|
+
export { ContactCard2Service };
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC1jYXJkMi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9jb250YWN0LWNhcmQvY29udGFjdC1jYXJkMi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDckUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUNMLHlCQUF5QixFQUN6Qix5QkFBeUIsRUFDekIseUJBQXlCLEdBQzFCLE1BQU0scUJBQXFCLENBQUM7Ozs7Ozs7QUFtQjdCLE1BQU0sT0FBTyxrQkFBa0I7Q0FFOUI7SUFhWSxtQkFBbUIsU0FBbkIsbUJBQW1CO0lBQzlCLFlBQ1UsVUFBNkIsRUFDN0IsVUFBc0IsRUFDdEIsaUJBQW9DLEVBQ3BDLFFBQXlCLEVBQ3pCLGNBQThCLEVBQzlCLE1BQWM7UUFMZCxlQUFVLEdBQVYsVUFBVSxDQUFtQjtRQUM3QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsYUFBUSxHQUFSLFFBQVEsQ0FBaUI7UUFDekIsbUJBQWMsR0FBZCxjQUFjLENB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QUFVLEVBQUUsTUFBTTthQUNuQjs7O1lBM0NRLGlCQUFpQjtZQUdqQixVQUFVO1lBSlYsaUJBQWlCO1lBRWpCLGVBQWU7WUFDZixjQUFjO1lBTkYsTUFBTTs7QUFnRGQsbUJBQW1CO0lBTi9CLGlCQUFpQixDQUFDO1FBQ2pCLFVBQVUsRUFBRSxRQUFRO0tBQ3JCLENBQUM7R0FJVyxtQkFBbUIsQ0EyRi9CO1NBM0ZZLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTHJNdXRhdGlvbiB9IGZyb20gJy4uL2FwaS9sci1ncmFwaHFsJztcbmltcG9ydCB7IEpTT05PYmplY3QgfSBmcm9tICcuLi9hcGkvdHlwZXMnO1xuaW1wb3J0IHsgRW5jcnlwdGlvblNlcnZpY2UgfSBmcm9tICcuLi9lbmNyeXB0aW9uL2VuY3J5cHRpb24uc2VydmljZSc7XG5pbXBvcnQgeyBLZXlGYWN0b3J5U2VydmljZSB9IGZyb20gJy4uL2tleS9rZXktZmFjdG9yeS5zZXJ2aWNlJztcbmltcG9ydCB7IEtleUdyYXBoU2VydmljZSB9IGZyb20gJy4uL2tleS9rZXktZ3JhcGguc2VydmljZSc7XG5pbXBvcnQgeyBLZXlNZXRhU2VydmljZSB9IGZyb20gJy4uL2tleS9rZXktbWV0YS5zZXJ2aWNlJztcbmltcG9ydCB7IEtleVNlcnZpY2UgfSBmcm9tICcuLi9rZXkva2V5LnNlcnZpY2UnO1xuaW1wb3J0IHsgTWFpbkNvbnRhY3RDYXJkUGxhaW5GaWVsZHMgfSBmcm9tICcuLi9wcm9maWxlL3Byb2ZpbGUudHlwZXMnO1xuaW1wb3J0IHsgUnVuT3V0c2lkZUFuZ3VsYXIgfSBmcm9tICcuLi9fY29tbW9uL3J1bi1vdXRzaWRlLWFuZ3VsYXInO1xuaW1wb3J0IHtcbiAgQ3JlYXRlQ29udGFjdENhcmRNdXRhdGlvbixcbiAgRGVsZXRlQ29udGFjdENhcmRNdXRhdGlvbixcbiAgVXBkYXRlQ29udGFjdENhcmRNdXRhdGlvbixcbn0gZnJvbSAnLi9jb250YWN0LWNhcmQyLmdxbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlQ29udGFjdENhcmRJbnB1dDIge1xuICBwdWJsaWNEYXRhSnNvbjogSlNPTk9iamVjdDtcbiAgcHVibGljU2VhcmNoYWJsZUpzb246IEpTT05PYmplY3Q7XG4gIHBsYWluQ2lwaGVyRGF0YUpzb246IEpTT05PYmplY3Q7XG4gIHBsYWluRGF0YUpzb246IE1haW5Db250YWN0Q2FyZFBsYWluRmllbGRzO1xufVxuXG4vLyBUaGVzZSBjb250YWN0IG5hbWUgZmllbGRzIGFyZSBlbmZvcmNlZCBieSB0aGUgc2VydmVyIHNvIHRoYXQgaXQgY2FuIHNlbmQgb3V0IGVtYWlscyB3aXRoXG4vLyBhcHByb3ByaWF0ZSBmb3JtYXQuXG5leHBvcnQgaW50ZXJmYWNlIENvbnRhY3RDYXJkTmFtZTIge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBmaXJzdE5hbWU/OiBzdHJpbmc7XG4gIGxhc3ROYW1lPzogc3RyaW5nO1xuICAvLyBhZGRpdGlvbmFsIGZpZWxkcyBhcmUgbm90IGFsbG93ZWQgYnkgdGhlIHNlcnZlclxufVxuXG5leHBvcnQgY2xhc3MgT3duZXJQbGFpbkRhdGFKc29uIHtcbiAgbmFtZTogQ29udGFjdENhcmROYW1lMjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVDb250YWN0Q2FyZElucHV0MiBleHRlbmRzIENyZWF0ZUNvbnRhY3RDYXJkSW5wdXQyIHtcbiAgaWQ6IHN0cmluZztcbiAga2V5SWQ6IHN0cmluZztcbn1cblxuQFJ1bk91dHNpZGVBbmd1bGFyKHtcbiAgbmdab25lTmFtZTogJ25nWm9uZScsXG59KVxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENvbnRhY3RDYXJkMlNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGtleUZhY3Rvcnk6IEtleUZhY3RvcnlTZXJ2aWNlLFxuICAgIHByaXZhdGUga2V5U2VydmljZTogS2V5U2VydmljZSxcbiAgICBwcml2YXRlIGVuY3J5cHRpb25TZXJ2aWNlOiBFbmNyeXB0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIGtleUdyYXBoOiBLZXlHcmFwaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBrZXlNZXRhU2VydmljZTogS2V5TWV0YVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZVxuICApIHt9XG5cbiAgYXN5bmMgY3JlYXRlQ29udGFjdENhcmQoaW5wdXQ6IENyZWF0ZUNvbnRhY3RDYXJkSW5wdXQyKSB7XG4gICAgLy8gR2V0IGVuY3J5cHRpb24ga2V5XG4gICAgY29uc3Qgcm9vdEtleSA9IGF3YWl0IHRoaXMua2V5U2VydmljZS5nZXRDdXJyZW50Um9vdEtleSgpO1xuICAgIGNvbnN0IGtleSA9IGF3YWl0IHRoaXMua2V5RmFjdG9yeS5jcmVhdGVLZXkoKTtcbiAgICBjb25zdCB3cmFwcGVkS2V5ID0gYXdhaXQgdGhpcy5rZXlHcmFwaC5lbmNyeXB0VG9TdHJpbmcoXG4gICAgICByb290S2V5Lmp3ayxcbiAgICAgIGtleS50b0pTT04odHJ1ZSlcbiAgICApO1xuICAgIGNvbnN0IGNpcGhlckRhdGEgPSBhd2FpdCB0aGlzLmtleUdyYXBoLmVuY3J5cHRUb1N0cmluZyhcbiAgICAgIGtleSxcbiAgICAgIGlucHV0LnBsYWluQ2lwaGVyRGF0YUpzb25cbiAgICApO1xuXG4gICAgY29uc3QgcGFyYW1zID0gYXdhaXQgdGhpcy5wcmVwYXJlQ29udGFjdENhcmRJbnB1dChpbnB1dCk7XG5cbiAgICByZXR1cm4gbmV3IExyTXV0YXRpb24oe1xuICAgICAgbXV0YXRpb246IENyZWF0ZUNvbnRhY3RDYXJkTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgd3JhcHBpbmdLZXlJZDogcm9vdEtleS5pZCxcbiAgICAgICAgICB3cmFwcGVkS2V5LFxuICAgICAgICAgIGNpcGhlckRhdGEsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgdXBkYXRlQ29udGFjdENhcmQoaW5wdXQ6IFVwZGF0ZUNvbnRhY3RDYXJkSW5wdXQyKSB7XG4gICAgLy8gR2V0IGVuY3J5cHRpb24ga2V5XG4gICAgY29uc3QgY2lwaGVyRGF0YSA9IGF3YWl0IHRoaXMua2V5R3JhcGguZW5jcnlwdFRvU3RyaW5nKFxuICAgICAgaW5wdXQua2V5SWQsXG4gICAgICBpbnB1dC5wbGFpbkNpcGhlckRhdGFKc29uXG4gICAgKTtcblxuICAgIGNvbnN0IHBhcmFtcyA9IGF3YWl0IHRoaXMucHJlcGFyZUNvbnRhY3RDYXJkSW5wdXQoaW5wdXQpO1xuXG4gICAgcmV0dXJuIG5ldyBMck11dGF0aW9uKHtcbiAgICAgIG11dGF0aW9uOiBVcGRhdGVDb250YWN0Q2FyZE11dGF0aW9uLFxuICAgICAgdmFyaWFibGVzOiB7XG4gICAgICAgIGlucHV0OiB7XG4gICAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgICAgIGlkOiBpbnB1dC5pZCxcbiAgICAgICAgICBjaXBoZXJEYXRhLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGRlbGV0ZUNvbnRhY3RDYXJkKGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IExyTXV0YXRpb24oe1xuICAgICAgbXV0YXRpb246IERlbGV0ZUNvbnRhY3RDYXJkTXV0YXRpb24sXG4gICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgaW5wdXQ6IHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHByZXBhcmVDb250YWN0Q2FyZElucHV0KFxuICAgIGlucHV0OiBDcmVhdGVDb250YWN0Q2FyZElucHV0MlxuICApOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHNpZ1B4ayA9IGF3YWl0IHRoaXMua2V5U2VydmljZS5nZXRDdXJyZW50U2lnUHhrKCk7XG4gICAgY29uc3QgcHVibGljRGF0YVNpZyA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAgYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5zaWduKHNpZ1B4ay5qd2ssIGlucHV0LnB1YmxpY0RhdGFKc29uKVxuICAgICk7XG4gICAgY29uc3QgcHVibGljU2VhcmNoYWJsZVNpZyA9IEpTT04uc3RyaW5naWZ5KFxuICAgICAgYXdhaXQgdGhpcy5lbmNyeXB0aW9uU2VydmljZS5zaWduKHNpZ1B4ay5qd2ssIGlucHV0LnB1YmxpY1NlYXJjaGFibGVKc29uKVxuICAgICk7XG4gICAgY29uc3QgcGxhaW5EYXRhU2lnID0gSlNPTi5zdHJpbmdpZnkoXG4gICAgICBhd2FpdCB0aGlzLmVuY3J5cHRpb25TZXJ2aWNlLnNpZ24oc2lnUHhrLmp3aywgaW5wdXQucGxhaW5EYXRhSnNvbilcbiAgICApO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNpZ1B4a0lkOiBzaWdQeGsuaWQsXG4gICAgICBwdWJsaWNEYXRhU2lnLFxuICAgICAgcHVibGljU2VhcmNoYWJsZVNpZyxcbiAgICAgIHBsYWluRGF0YVNpZyxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import { JWE, JWS } from 'node-jose';
|
|
4
|
+
import { TimeService } from '../time/time.service';
|
|
5
|
+
import { LrBadArgumentException, LrErrorCode, LrException, } from './../_common/exceptions';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../time/time.service";
|
|
8
|
+
export var JoseSerialization;
|
|
9
|
+
(function (JoseSerialization) {
|
|
10
|
+
JoseSerialization["JSON"] = "JSON";
|
|
11
|
+
JoseSerialization["COMPACT"] = "COMPACT";
|
|
12
|
+
})(JoseSerialization || (JoseSerialization = {}));
|
|
13
|
+
export const VERIFY_OPTIONS_DEFAULT = {
|
|
14
|
+
payloadType: 'json',
|
|
15
|
+
returnOnlyPayload: true,
|
|
16
|
+
};
|
|
17
|
+
export const DECRYPT_OPTIONS_DEFAULT = {
|
|
18
|
+
payloadType: 'json',
|
|
19
|
+
returnOnlyPayload: true,
|
|
20
|
+
serializations: [JoseSerialization.JSON],
|
|
21
|
+
};
|
|
22
|
+
export function isSymmetricKey(key) {
|
|
23
|
+
// TODO: make sure this covers all cases.
|
|
24
|
+
return key.kty === 'oct';
|
|
25
|
+
}
|
|
26
|
+
export function asJwk(key) {
|
|
27
|
+
// TODO: make sure this covers all cases.
|
|
28
|
+
// Excluded:
|
|
29
|
+
// key.use - only for public keys, Ref: https://tools.ietf.org/html/rfc7517#section-4.2
|
|
30
|
+
if (key.id && key.jwk) {
|
|
31
|
+
return key.jwk;
|
|
32
|
+
}
|
|
33
|
+
else if (key.keystore && key.length && key.kty && key.kid && key.alg) {
|
|
34
|
+
return key;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return null;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
export class EncryptionService {
|
|
41
|
+
constructor(timeService) {
|
|
42
|
+
this.timeService = timeService;
|
|
43
|
+
}
|
|
44
|
+
decrypt(key, // string is assumed to be key.id, will unwrap key.
|
|
45
|
+
jwe, // string will be JSON.parsed
|
|
46
|
+
options) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
const opt = {
|
|
49
|
+
algorithms: ['dir', 'A*GCM', 'RSA-OAEP-*'],
|
|
50
|
+
};
|
|
51
|
+
options = Object.assign(Object.assign({}, DECRYPT_OPTIONS_DEFAULT), options);
|
|
52
|
+
if (key.jwk) {
|
|
53
|
+
key = key.jwk;
|
|
54
|
+
}
|
|
55
|
+
if (typeof jwe === 'string') {
|
|
56
|
+
if (options.serializations.includes(JoseSerialization.JSON)) {
|
|
57
|
+
try {
|
|
58
|
+
jwe = JSON.parse(jwe);
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
if (options.serializations.includes(JoseSerialization.COMPACT)) {
|
|
62
|
+
console.log('Not a JSON-formatted JWE, it maybe compact serialisation format.');
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
throw error;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// {result} is a Object with:
|
|
71
|
+
// * header: the combined 'protected' and 'unprotected' header members
|
|
72
|
+
// * protected: an array of the member names from the "protected" member
|
|
73
|
+
// * key: Key used to decrypt
|
|
74
|
+
// * payload: Buffer of the decrypted content
|
|
75
|
+
// * plaintext: Buffer of the decrypted content (alternate), just a reference to payload
|
|
76
|
+
const res = yield JWE.createDecrypt(key, opt).decrypt(jwe);
|
|
77
|
+
res.payload = this.decodePayload(options.payloadType, res.payload);
|
|
78
|
+
if (options.returnOnlyPayload) {
|
|
79
|
+
return res.payload;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
return res;
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
// TODO rename this to encrypt() and use as the most common usecase
|
|
87
|
+
encryptToString(key, content) {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
return JSON.stringify(yield this.encrypt(key, content));
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
// TODO rename this to encryptToJSON() and use this when required.
|
|
93
|
+
encrypt(key, content) {
|
|
94
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
+
if (content == null) {
|
|
96
|
+
throw new Error('Encrypting null/undefined content.');
|
|
97
|
+
}
|
|
98
|
+
if (!(content instanceof ArrayBuffer)) {
|
|
99
|
+
content = new TextEncoder().encode(JSON.stringify(content));
|
|
100
|
+
}
|
|
101
|
+
return JWE.createEncrypt({
|
|
102
|
+
contentAlg: 'A256GCM',
|
|
103
|
+
fields: {
|
|
104
|
+
timestamp: yield this.timeService.serverNow(),
|
|
105
|
+
},
|
|
106
|
+
}, key)
|
|
107
|
+
.update(content)
|
|
108
|
+
.final();
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
// <AZ> Unlike signContent, the serialised "content" variable is contained inside
|
|
112
|
+
// the result. So ordering of fields within "content" is not an issue.
|
|
113
|
+
sign(key, content) {
|
|
114
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
115
|
+
const signer = JWS.createSign({
|
|
116
|
+
fields: {
|
|
117
|
+
timestamp: yield this.timeService.serverNow(),
|
|
118
|
+
},
|
|
119
|
+
}, key);
|
|
120
|
+
if (content instanceof Buffer) {
|
|
121
|
+
signer.update(content);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
signer.update(JSON.stringify(content), 'utf8');
|
|
125
|
+
}
|
|
126
|
+
return signer.final();
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
signToString(key, content) {
|
|
130
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
131
|
+
return JSON.stringify(yield this.sign(key, content));
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
verify(key, jws, options) {
|
|
135
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
136
|
+
const opt = {
|
|
137
|
+
algorithms: ['RS*'],
|
|
138
|
+
};
|
|
139
|
+
options = Object.assign(Object.assign({}, VERIFY_OPTIONS_DEFAULT), options);
|
|
140
|
+
try {
|
|
141
|
+
const res = yield JWS.createVerify(key, opt).verify(jws);
|
|
142
|
+
res.payload = this.decodePayload(options.payloadType, res.payload);
|
|
143
|
+
if (options.returnOnlyPayload) {
|
|
144
|
+
return res.payload;
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
return res;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
throw new LrException({
|
|
152
|
+
code: LrErrorCode.BadSignature,
|
|
153
|
+
message: `Bad signature: ${error}`,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
encryptThenSign({ key, sigPrk, }, content) {
|
|
159
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
160
|
+
const cipher = JSON.stringify(yield this.encrypt(key, content));
|
|
161
|
+
const sig = yield this.sign(sigPrk, cipher);
|
|
162
|
+
delete sig.payload;
|
|
163
|
+
return {
|
|
164
|
+
cipher,
|
|
165
|
+
sig: JSON.stringify(sig),
|
|
166
|
+
};
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
decodePayload(payloadType, payload) {
|
|
170
|
+
switch (payloadType) {
|
|
171
|
+
case 'json':
|
|
172
|
+
return JSON.parse(new TextDecoder().decode(payload));
|
|
173
|
+
case 'ArrayBuffer':
|
|
174
|
+
return payload;
|
|
175
|
+
default:
|
|
176
|
+
throw new LrBadArgumentException(`Unknown payloadType: ${payloadType}`);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
EncryptionService.ɵprov = i0.ɵɵdefineInjectable({ factory: function EncryptionService_Factory() { return new EncryptionService(i0.ɵɵinject(i1.TimeService)); }, token: EncryptionService, providedIn: "root" });
|
|
181
|
+
EncryptionService.decorators = [
|
|
182
|
+
{ type: Injectable, args: [{
|
|
183
|
+
providedIn: 'root',
|
|
184
|
+
},] }
|
|
185
|
+
];
|
|
186
|
+
EncryptionService.ctorParameters = () => [
|
|
187
|
+
{ type: TimeService }
|
|
188
|
+
];
|
|
189
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jcnlwdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9lbmNyeXB0aW9uL2VuY3J5cHRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsR0FBRyxFQUFPLEdBQUcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUUxQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixXQUFXLEVBQ1gsV0FBVyxHQUNaLE1BQU0seUJBQXlCLENBQUM7OztBQUVqQyxNQUFNLENBQU4sSUFBWSxpQkFHWDtBQUhELFdBQVksaUJBQWlCO0lBQzNCLGtDQUFhLENBQUE7SUFDYix3Q0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBSFcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQUc1QjtBQWFELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFrQjtJQUNuRCxXQUFXLEVBQUUsTUFBTTtJQUNuQixpQkFBaUIsRUFBRSxJQUFJO0NBQ3hCLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBbUI7SUFDckQsV0FBVyxFQUFFLE1BQU07SUFDbkIsaUJBQWlCLEVBQUUsSUFBSTtJQUN2QixjQUFjLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUM7Q0FDekMsQ0FBQztBQUVGLE1BQU0sVUFBVSxjQUFjLENBQUMsR0FBWTtJQUN6Qyx5Q0FBeUM7SUFDekMsT0FBTyxHQUFHLENBQUMsR0FBRyxLQUFLLEtBQUssQ0FBQztBQUMzQixDQUFDO0FBRUQsTUFBTSxVQUFVLEtBQUssQ0FBQyxHQUF3QjtJQUM1Qyx5Q0FBeUM7SUFDekMsWUFBWTtJQUNaLHlGQUF5RjtJQUV6RixJ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QU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELEtBQUssYUFBYTtnQkFDaEIsT0FBTyxPQUFPLENBQUM7WUFDakI7Z0JBQ0UsTUFBTSxJQUFJLHNCQUFzQixDQUFDLHdCQUF3QixXQUFXLEVBQUUsQ0FBQyxDQUFDO1NBQzNFO0lBQ0gsQ0FBQzs7OztZQXpMRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7OztZQXZEUSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSldFLCBKV0ssIEpXUyB9IGZyb20gJ25vZGUtam9zZSc7XG5pbXBvcnQgeyBLZXksIFBheWxvYWRUeXBlIH0gZnJvbSAnLi4va2V5L2tleS50eXBlcyc7XG5pbXBvcnQgeyBUaW1lU2VydmljZSB9IGZyb20gJy4uL3RpbWUvdGltZS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIExyQmFkQXJndW1lbnRFeGNlcHRpb24sXG4gIExyRXJyb3JDb2RlLFxuICBMckV4Y2VwdGlvbixcbn0gZnJvbSAnLi8uLi9fY29tbW9uL2V4Y2VwdGlvbnMnO1xuXG5leHBvcnQgZW51bSBKb3NlU2VyaWFsaXphdGlvbiB7XG4gIEpTT04gPSAnSlNPTicsXG4gIENPTVBBQ1QgPSAnQ09NUEFDVCcsXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVmVyaWZ5T3B0aW9ucyB7XG4gIHBheWxvYWRUeXBlPzogUGF5bG9hZFR5cGU7XG4gIHJldHVybk9ubHlQYXlsb2FkPzogYm9vbGVhbjsgLy8gSWYgdHJ1ZSwgcmV0dXJuIG9ubHkgdGhlIGRlY29kZWQgcGF5bG9hZC5cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWNyeXB0T3B0aW9ucyB7XG4gIHBheWxvYWRUeXBlPzogUGF5bG9hZFR5cGU7XG4gIHJldHVybk9ubHlQYXlsb2FkPzogYm9vbGVhbjsgLy8gSWYgdHJ1ZSwgcmV0dXJuIG9ubHkgdGhlIGRlY29kZWQgcGF5bG9hZC5cbiAgc2VyaWFsaXphdGlvbnM/OiBKb3NlU2VyaWFsaXphdGlvbltdO1xufVxuXG5leHBvcnQgY29uc3QgVkVSSUZZX09QVElPTlNfREVGQVVMVDogVmVyaWZ5T3B0aW9ucyA9IHtcbiAgcGF5bG9hZFR5cGU6ICdqc29uJyxcbiAgcmV0dXJuT25seVBheWxvYWQ6IHRydWUsXG59O1xuXG5leHBvcnQgY29uc3QgREVDUllQVF9PUFRJT05TX0RFRkFVTFQ6IERlY3J5cHRPcHRpb25zID0ge1xuICBwYXlsb2FkVHlwZTogJ2pzb24nLFxuICByZXR1cm5Pbmx5UGF5bG9hZDogdHJ1ZSxcbiAgc2VyaWFsaXphdGlvbnM6IFtKb3NlU2VyaWFsaXphdGlvbi5KU09OXSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N5bW1ldHJpY0tleShrZXk6IEpXSy5LZXkpIHtcbiAgLy8gVE9ETzogbWFrZSBzdXJlIHRoaXMgY292ZXJzIGFsbCBjYXNlcy5cbiAgcmV0dXJuIGtleS5rdHkgPT09ICdvY3QnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNKd2soa2V5OiBKV0suS2V5IHwgS2V5IHwgYW55KTogSldLLktleSB8IG51bGwge1xuICAvLyBUT0RPOiBtYWtlIHN1cmUgdGhpcyBjb3ZlcnMgYWxsIGNhc2VzLlxuICAvLyBFeGNsdWRlZDpcbiAgLy8gICBrZXkudXNlIC0gb25seSBmb3IgcHVibGljIGtleXMsIFJlZjogaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc1MTcjc2VjdGlvbi00LjJcblxuICBpZiAoa2V5LmlkICYmIGtleS5qd2spIHtcbiAgICByZXR1cm4ga2V5Lmp3aztcbiAgfSBlbHNlIGlmIChrZXkua2V5c3RvcmUgJiYga2V5Lmxlbmd0aCAmJiBrZXkua3R5ICYmIGtleS5raWQgJiYga2V5LmFsZykge1xuICAgIHJldHVybiBrZXk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVuY3J5cHRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0aW1lU2VydmljZTogVGltZVNlcnZpY2UpIHt9XG5cbiAgYXN5bmMgZGVjcnlwdChcbiAgICBrZXk6IEpXSy5LZXkgfCBLZXksIC8vIHN0cmluZyBpcyBhc3N1bWVkIHRvIGJlIGtleS5pZCwgd2lsbCB1bndyYXAga2V5LlxuICAgIGp3ZTogb2JqZWN0IHwgc3RyaW5nLCAvLyBzdHJpbmcgd2lsbCBiZSBKU09OLnBhcnNlZFxuICAgIG9wdGlvbnM/OiBEZWNyeXB0T3B0aW9uc1xuICApOiBQcm9taXNlPEpXRS5EZWNyeXB0UmVzdWx0IHwgYW55PiB7XG4gICAgY29uc3Qgb3B0ID0ge1xuICAgICAgYWxnb3JpdGhtczogWydkaXInLCAnQSpHQ00nLCAnUlNBLU9BRVAtKiddLFxuICAgIH07XG5cbiAgICBvcHRpb25zID0ge1xuICAgICAgLi4uREVDUllQVF9PUFRJT05TX0RFRkFVTFQsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG5cbiAgICBpZiAoKGtleSBhcyBLZXkpLmp3aykge1xuICAgICAga2V5ID0gKGtleSBhcyBLZXkpLmp3aztcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGp3ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChvcHRpb25zLnNlcmlhbGl6YXRpb25zLmluY2x1ZGVzKEpvc2VTZXJpYWxpemF0aW9uLkpTT04pKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgandlID0gSlNPTi5wYXJzZShqd2UpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGlmIChvcHRpb25zLnNlcmlhbGl6YXRpb25zLmluY2x1ZGVzKEpvc2VTZXJpYWxpemF0aW9uLkNPTVBBQ1QpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcbiAgICAgICAgICAgICAgJ05vdCBhIEpTT04tZm9ybWF0dGVkIEpXRSwgaXQgbWF5YmUgY29tcGFjdCBzZXJpYWxpc2F0aW9uIGZvcm1hdC4nXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB7cmVzdWx0fSBpcyBhIE9iamVjdCB3aXRoOlxuICAgIC8vICogIGhlYWRlcjogdGhlIGNvbWJpbmVkICdwcm90ZWN0ZWQnIGFuZCAndW5wcm90ZWN0ZWQnIGhlYWRlciBtZW1iZXJzXG4gICAgLy8gKiAgcHJvdGVjdGVkOiBhbiBhcnJheSBvZiB0aGUgbWVtYmVyIG5hbWVzIGZyb20gdGhlIFwicHJvdGVjdGVkXCIgbWVtYmVyXG4gICAgLy8gKiAga2V5OiBLZXkgdXNlZCB0byBkZWNyeXB0XG4gICAgLy8gKiAgcGF5bG9hZDogQnVmZmVyIG9mIHRoZSBkZWNyeXB0ZWQgY29udGVudFxuICAgIC8vICogIHBsYWludGV4dDogQnVmZmVyIG9mIHRoZSBkZWNyeXB0ZWQgY29udGVudCAoYWx0ZXJuYXRlKSwganVzdCBhIHJlZmVyZW5jZSB0byBwYXlsb2FkXG4gICAgY29uc3QgcmVzID0gYXdhaXQgSldFLmNyZWF0ZURlY3J5cHQoa2V5IGFzIEpXSy5LZXksIG9wdCkuZGVjcnlwdChcbiAgICAgIGp3ZSBhcyBhbnlcbiAgICApO1xuXG4gICAgcmVzLnBheWxvYWQgPSB0aGlzLmRlY29kZVBheWxvYWQob3B0aW9ucy5wYXlsb2FkVHlwZSwgcmVzLnBheWxvYWQpO1xuXG4gICAgaWYgKG9wdGlvbnMucmV0dXJuT25seVBheWxvYWQpIHtcbiAgICAgIHJldHVybiByZXMucGF5bG9hZDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG4gIH1cblxuICAvLyBUT0RPIHJlbmFtZSB0aGlzIHRvIGVuY3J5cHQoKSBhbmQgdXNlIGFzIHRoZSBtb3N0IGNvbW1vbiB1c2VjYXNlXG4gIGFzeW5jIGVuY3J5cHRUb1N0cmluZyhcbiAgICBrZXk6IEpXSy5LZXksXG4gICAgY29udGVudDogQXJyYXlCdWZmZXIgfCBzdHJpbmcgfCBvYmplY3RcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoYXdhaXQgdGhpcy5lbmNyeXB0KGtleSwgY29udGVudCkpO1xuICB9XG5cbiAgLy8gVE9ETyByZW5hbWUgdGhpcyB0byBlbmNyeXB0VG9KU09OKCkgYW5kIHVzZSB0aGlzIHdoZW4gcmVxdWlyZWQuXG4gIGFzeW5jIGVuY3J5cHQoXG4gICAga2V5OiBKV0suS2V5LFxuICAgIGNvbnRlbnQ6IEFycmF5QnVmZmVyIHwgc3RyaW5nIHwgb2JqZWN0XG4gICk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKGNvbnRlbnQgPT0gbnVsbCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFbmNyeXB0aW5nIG51bGwvdW5kZWZpbmVkIGNvbnRlbnQuJyk7XG4gICAgfVxuXG4gICAgaWYgKCEoY29udGVudCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSkge1xuICAgICAgY29udGVudCA9IG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShKU09OLnN0cmluZ2lmeShjb250ZW50KSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIEpXRS5jcmVhdGVFbmNyeXB0KFxuICAgICAge1xuICAgICAgICBjb250ZW50QWxnOiAnQTI1NkdDTScsXG4gICAgICAgIGZpZWxkczoge1xuICAgICAgICAgIHRpbWVzdGFtcDogYXdhaXQgdGhpcy50aW1lU2VydmljZS5zZXJ2ZXJOb3coKSxcbiAgICAgICAgfSxcbiAgICAgIH0gYXMgYW55LFxuICAgICAga2V5XG4gICAgKVxuICAgICAgLnVwZGF0ZShjb250ZW50KVxuICAgICAgLmZpbmFsKCkgYXMgYW55O1xuICB9XG5cbiAgLy8gPEFaPiBVbmxpa2Ugc2lnbkNvbnRlbnQsIHRoZSBzZXJpYWxpc2VkIFwiY29udGVudFwiIHZhcmlhYmxlIGlzIGNvbnRhaW5lZCBpbnNpZGVcbiAgLy8gdGhlIHJlc3VsdC4gU28gb3JkZXJpbmcgb2YgZmllbGRzIHdpdGhpbiBcImNvbnRlbnRcIiBpcyBub3QgYW4gaXNzdWUuXG4gIGFzeW5jIHNpZ24oa2V5OiBKV0suS2V5LCBjb250ZW50OiBCdWZmZXIgfCBzdHJpbmcgfCBvYmplY3QpOiBQcm9taXNlPGFueT4ge1xuICAgIGNvbnN0IHNpZ25lciA9IEpXUy5jcmVhdGVTaWduKFxuICAgICAge1xuICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICB0aW1lc3RhbXA6IGF3YWl0IHRoaXMudGltZVNlcnZpY2Uuc2VydmVyTm93KCksXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAga2V5XG4gICAgKTtcblxuICAgIGlmIChjb250ZW50IGluc3RhbmNlb2YgQnVmZmVyKSB7XG4gICAgICBzaWduZXIudXBkYXRlKGNvbnRlbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzaWduZXIudXBkYXRlKEpTT04uc3RyaW5naWZ5KGNvbnRlbnQpLCAndXRmOCcpO1xuICAgIH1cblxuICAgIHJldHVybiBzaWduZXIuZmluYWwoKTtcbiAgfVxuXG4gIGFzeW5jIHNpZ25Ub1N0cmluZyhcbiAgICBrZXk6IEpXSy5LZXksXG4gICAgY29udGVudDogQnVmZmVyIHwgc3RyaW5nIHwgb2JqZWN0XG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KGF3YWl0IHRoaXMuc2lnbihrZXksIGNvbnRlbnQpKTtcbiAgfVxuXG4gIGFzeW5jIHZlcmlmeShcbiAgICBrZXk6IEpXSy5LZXksXG4gICAgandzOiBvYmplY3QsXG4gICAgb3B0aW9ucz86IFZlcmlmeU9wdGlvbnNcbiAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBvcHQgPSB7XG4gICAgICBhbGdvcml0aG1zOiBbJ1JTKiddLFxuICAgIH07XG5cbiAgICBvcHRpb25zID0ge1xuICAgICAgLi4uVkVSSUZZX09QVElPTlNfREVGQVVMVCxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCBKV1MuY3JlYXRlVmVyaWZ5KGtleSwgb3B0KS52ZXJpZnkoandzIGFzIGFueSk7XG5cbiAgICAgIHJlcy5wYXlsb2FkID0gdGhpcy5kZWNvZGVQYXlsb2FkKG9wdGlvbnMucGF5bG9hZFR5cGUsIHJlcy5wYXlsb2FkKTtcblxuICAgICAgaWYgKG9wdGlvbnMucmV0dXJuT25seVBheWxvYWQpIHtcbiAgICAgICAgcmV0dXJuIHJlcy5wYXlsb2FkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IExyRXhjZXB0aW9uKHtcbiAgICAgICAgY29kZTogTHJFcnJvckNvZGUuQmFkU2lnbmF0dXJlLFxuICAgICAgICBtZXNzYWdlOiBgQmFkIHNpZ25hdHVyZTogJHtlcnJvcn1gLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgZW5jcnlwdFRoZW5TaWduKFxuICAgIHtcbiAgICAgIGtleSxcbiAgICAgIHNpZ1ByayxcbiAgICB9OiB7XG4gICAgICBrZXk6IEpXSy5LZXk7XG4gICAgICBzaWdQcms6IEpXSy5LZXk7XG4gICAgfSxcbiAgICBjb250ZW50OiBBcnJheUJ1ZmZlciB8IHN0cmluZyB8IG9iamVjdFxuICApOiBQcm9taXNlPHsgY2lwaGVyOiBzdHJpbmc7IHNpZzogc3RyaW5nIH0+IHtcbiAgICBjb25zdCBjaXBoZXIgPSBKU09OLnN0cmluZ2lmeShhd2FpdCB0aGlzLmVuY3J5cHQoa2V5LCBjb250ZW50KSk7XG4gICAgY29uc3Qgc2lnID0gYXdhaXQgdGhpcy5zaWduKHNpZ1ByaywgY2lwaGVyKTtcbiAgICBkZWxldGUgc2lnLnBheWxvYWQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgY2lwaGVyLFxuICAgICAgc2lnOiBKU09OLnN0cmluZ2lmeShzaWcpLFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGRlY29kZVBheWxvYWQoXG4gICAgcGF5bG9hZFR5cGU6IFBheWxvYWRUeXBlLFxuICAgIHBheWxvYWQ6IEFycmF5QnVmZmVyXG4gICk6IEFycmF5QnVmZmVyIHwgYW55IHtcbiAgICBzd2l0Y2ggKHBheWxvYWRUeXBlKSB7XG4gICAgICBjYXNlICdqc29uJzpcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UobmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKHBheWxvYWQpKTtcbiAgICAgIGNhc2UgJ0FycmF5QnVmZmVyJzpcbiAgICAgICAgcmV0dXJuIHBheWxvYWQ7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgTHJCYWRBcmd1bWVudEV4Y2VwdGlvbihgVW5rbm93biBwYXlsb2FkVHlwZTogJHtwYXlsb2FkVHlwZX1gKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { HttpClient } from '@angular/common/http';
|
|
3
|
+
import { Inject, Injectable } from '@angular/core';
|
|
4
|
+
import { LifeReadyAuthService } from '../auth/life-ready-auth.service';
|
|
5
|
+
import { LR_CONFIG } from '../life-ready.config';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../life-ready.config";
|
|
8
|
+
import * as i2 from "@angular/common/http";
|
|
9
|
+
import * as i3 from "../auth/life-ready-auth.service";
|
|
10
|
+
export class FileUploadService {
|
|
11
|
+
constructor(config, http, lrAuth) {
|
|
12
|
+
this.config = config;
|
|
13
|
+
this.http = http;
|
|
14
|
+
this.lrAuth = lrAuth;
|
|
15
|
+
}
|
|
16
|
+
downloadEncryptedFile(fileStateNodeId) {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
return JSON.parse(yield this.downloadEncryptedFile2(fileStateNodeId));
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
downloadEncryptedFile2(fileStateNodeId) {
|
|
22
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
+
const url = `${this.config.apiUrl}files/download/?file_state_node_id=${fileStateNodeId}`;
|
|
24
|
+
const content = yield this.http
|
|
25
|
+
.get(url, {
|
|
26
|
+
responseType: 'text',
|
|
27
|
+
headers: {
|
|
28
|
+
Authorization: `Bearer ${(yield this.lrAuth.getUser()).getAccessJwtToken()}`,
|
|
29
|
+
},
|
|
30
|
+
})
|
|
31
|
+
.toPromise();
|
|
32
|
+
return content;
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
loadFile(file) {
|
|
36
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
return new Promise((resolve, reject) => {
|
|
38
|
+
const reader = new FileReader();
|
|
39
|
+
reader.onload = () => {
|
|
40
|
+
// OK to type cast here since we are using readAsArrayBuffer.
|
|
41
|
+
resolve(reader.result);
|
|
42
|
+
};
|
|
43
|
+
reader.readAsArrayBuffer(file);
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
uploadEncryptedFile(options) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
const { encryptedContent, fileName } = options;
|
|
50
|
+
const formData = new FormData();
|
|
51
|
+
formData.append('content', new Blob([encryptedContent]), fileName);
|
|
52
|
+
const { content_resource } = yield this.http
|
|
53
|
+
.post(`${this.config.apiUrl}files/upload/`, formData, {
|
|
54
|
+
headers: {
|
|
55
|
+
Authorization: `Bearer ${(yield this.lrAuth.getUser()).getAccessJwtToken()}`,
|
|
56
|
+
},
|
|
57
|
+
})
|
|
58
|
+
.toPromise();
|
|
59
|
+
return content_resource;
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
FileUploadService.ɵprov = i0.ɵɵdefineInjectable({ factory: function FileUploadService_Factory() { return new FileUploadService(i0.ɵɵinject(i1.LR_CONFIG), i0.ɵɵinject(i2.HttpClient), i0.ɵɵinject(i3.LifeReadyAuthService)); }, token: FileUploadService, providedIn: "root" });
|
|
64
|
+
FileUploadService.decorators = [
|
|
65
|
+
{ type: Injectable, args: [{
|
|
66
|
+
providedIn: 'root',
|
|
67
|
+
},] }
|
|
68
|
+
];
|
|
69
|
+
FileUploadService.ctorParameters = () => [
|
|
70
|
+
{ type: undefined, decorators: [{ type: Inject, args: [LR_CONFIG,] }] },
|
|
71
|
+
{ type: HttpClient },
|
|
72
|
+
{ type: LifeReadyAuthService }
|
|
73
|
+
];
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvZmlsZS11cGxvYWQvZmlsZS11cGxvYWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBbUIsU0FBUyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7O0FBTWxFLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFDNkIsTUFBdUIsRUFDMUMsSUFBZ0IsRUFDaEIsTUFBNEI7UUFGVCxXQUFNLEdBQU4sTUFBTSxDQUFpQjtRQUMxQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ2hCLFdBQU0sR0FBTixNQUFNLENBQXNCO0lBQ25DLENBQUM7SUFFRSxxQkFBcUIsQ0FBQyxlQUF1Qjs7WUFDakQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDeEUsQ0FBQztLQUFBO0lBRUssc0JBQXNCLENBQUMsZUFBdUI7O1lBQ2xELE1BQU0sR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxlQUFlLEVBQUUsQ0FBQztZQUV6RixNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJO2lCQUM1QixHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNSLFlBQVksRUFBRSxNQUFNO2dCQUNwQixPQUFPLEVBQUU7b0JBQ1AsYUFBYSxFQUFFLFVBQVUsQ0FDdkIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUM1QixDQUFDLGlCQUFpQixFQUFFLEVBQUU7aUJBQ3hCO2FBQ0YsQ0FBQztpQkFDRCxTQUFTLEVBQUUsQ0FBQztZQUVmLE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUM7S0FBQTtJQUVLLFFBQVEsQ0FBQyxJQUFVOztZQUN2QixPQUFPLElBQUksT0FBTyxDQUFjLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO2dCQUNsRCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNoQyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRTtvQkFDbkIsNkRBQTZEO29CQUM3RCxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQXFCLENBQUMsQ0FBQztnQkFDeEMsQ0FBQyxDQUFDO2dCQUNGLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7S0FBQTtJQUVLLG1CQUFtQixDQUN2QixPQUFtQzs7WUFFbkMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxHQUFHLE9BQU8sQ0FBQztZQUUvQyxNQUFNLFFBQVEsR0FBRyxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2hDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRW5FLE1BQU0sRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLElBQUk7aUJBQ3pDLElBQUksQ0FDSCxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxlQUFlLEVBQ3BDLFFBQVEsRUFDUjtnQkFDRSxPQUFPLEVBQUU7b0JBQ1AsYUFBYSxFQUFFLFVBQVUsQ0FDdkIsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUM1QixDQUFDLGlCQUFpQixFQUFFLEVBQUU7aUJBQ3hCO2FBQ0YsQ0FDRjtpQkFDQSxTQUFTLEVBQUUsQ0FBQztZQUVmLE9BQU8sZ0JBQWdCLENBQUM7UUFDMUIsQ0FBQztLQUFBOzs7O1lBakVGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OzRDQUdJLE1BQU0sU0FBQyxTQUFTO1lBWFosVUFBVTtZQUVWLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExpZmVSZWFkeUF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vYXV0aC9saWZlLXJlYWR5LWF1dGguc2VydmljZSc7XG5pbXBvcnQgeyBMaWZlUmVhZHlDb25maWcsIExSX0NPTkZJRyB9IGZyb20gJy4uL2xpZmUtcmVhZHkuY29uZmlnJztcbmltcG9ydCB7IFVwbG9hZEVuY3J5cHRlZEZpbGVPcHRpb25zIH0gZnJvbSAnLi9maWxlLXVwbG9hZC50eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlVXBsb2FkU2VydmljZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBJbmplY3QoTFJfQ09ORklHKSBwcml2YXRlIGNvbmZpZzogTGlmZVJlYWR5Q29uZmlnLFxuICAgIHByaXZhdGUgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcml2YXRlIGxyQXV0aDogTGlmZVJlYWR5QXV0aFNlcnZpY2VcbiAgKSB7fVxuXG4gIGFzeW5jIGRvd25sb2FkRW5jcnlwdGVkRmlsZShmaWxlU3RhdGVOb2RlSWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UoYXdhaXQgdGhpcy5kb3dubG9hZEVuY3J5cHRlZEZpbGUyKGZpbGVTdGF0ZU5vZGVJZCkpO1xuICB9XG5cbiAgYXN5bmMgZG93bmxvYWRFbmNyeXB0ZWRGaWxlMihmaWxlU3RhdGVOb2RlSWQ6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgdXJsID0gYCR7dGhpcy5jb25maWcuYXBpVXJsfWZpbGVzL2Rvd25sb2FkLz9maWxlX3N0YXRlX25vZGVfaWQ9JHtmaWxlU3RhdGVOb2RlSWR9YDtcblxuICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCB0aGlzLmh0dHBcbiAgICAgIC5nZXQodXJsLCB7XG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ3RleHQnLFxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAkeyhcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubHJBdXRoLmdldFVzZXIoKVxuICAgICAgICAgICkuZ2V0QWNjZXNzSnd0VG9rZW4oKX1gLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIC50b1Byb21pc2UoKTtcblxuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgYXN5bmMgbG9hZEZpbGUoZmlsZTogRmlsZSk6IFByb21pc2U8QXJyYXlCdWZmZXI+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8QXJyYXlCdWZmZXI+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICByZWFkZXIub25sb2FkID0gKCkgPT4ge1xuICAgICAgICAvLyBPSyB0byB0eXBlIGNhc3QgaGVyZSBzaW5jZSB3ZSBhcmUgdXNpbmcgcmVhZEFzQXJyYXlCdWZmZXIuXG4gICAgICAgIHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBBcnJheUJ1ZmZlcik7XG4gICAgICB9O1xuICAgICAgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKGZpbGUpO1xuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgdXBsb2FkRW5jcnlwdGVkRmlsZShcbiAgICBvcHRpb25zOiBVcGxvYWRFbmNyeXB0ZWRGaWxlT3B0aW9uc1xuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHsgZW5jcnlwdGVkQ29udGVudCwgZmlsZU5hbWUgfSA9IG9wdGlvbnM7XG5cbiAgICBjb25zdCBmb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuICAgIGZvcm1EYXRhLmFwcGVuZCgnY29udGVudCcsIG5ldyBCbG9iKFtlbmNyeXB0ZWRDb250ZW50XSksIGZpbGVOYW1lKTtcblxuICAgIGNvbnN0IHsgY29udGVudF9yZXNvdXJjZSB9ID0gYXdhaXQgdGhpcy5odHRwXG4gICAgICAucG9zdDx7IGNvbnRlbnRfcmVzb3VyY2UgfT4oXG4gICAgICAgIGAke3RoaXMuY29uZmlnLmFwaVVybH1maWxlcy91cGxvYWQvYCxcbiAgICAgICAgZm9ybURhdGEsXG4gICAgICAgIHtcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7KFxuICAgICAgICAgICAgICBhd2FpdCB0aGlzLmxyQXV0aC5nZXRVc2VyKClcbiAgICAgICAgICAgICkuZ2V0QWNjZXNzSnd0VG9rZW4oKX1gLFxuICAgICAgICAgIH0sXG4gICAgICAgIH1cbiAgICAgIClcbiAgICAgIC50b1Byb21pc2UoKTtcblxuICAgIHJldHVybiBjb250ZW50X3Jlc291cmNlO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS11cGxvYWQudHlwZXMuanMiLCJzb3VyY2VSb290IjoiL29wdC9hdGxhc3NpYW4vcGlwZWxpbmVzL2FnZW50L2J1aWxkL3Byb2plY3RzL2NvcmUvc3JjLyIsInNvdXJjZXMiOlsibGliL2ZpbGUtdXBsb2FkL2ZpbGUtdXBsb2FkLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBGaWxlQ29udGVudENvbnRleHQgPSAnRklMRV9TVEFURSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkRW5jcnlwdGVkRmlsZU9wdGlvbnMge1xuICBlbmNyeXB0ZWRDb250ZW50OiBzdHJpbmc7XG4gIC8vIFRPRE8gQWRkIGluIHRoZSBjb250ZXh0IGZpZWxkIGFuZCBtYWtlIGl0IG1hbmRhdG9yeVxuICAvLyBjb250ZXh0OiBGaWxlQ29udGVudENvbnRleHQ7XG4gIGZpbGVOYW1lPzogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
3
|
import { Inject, Injectable } from '@angular/core';
|
|
3
|
-
import {
|
|
4
|
+
import { AuthClass } from '@aws-amplify/auth/lib-esm/Auth';
|
|
5
|
+
import { DEFAULT_INTERRUPTSOURCES, Idle } from '@ng-idle/core';
|
|
4
6
|
import { Keepalive } from '@ng-idle/keepalive';
|
|
5
|
-
import { KeyService } from '../
|
|
6
|
-
import { LrBadArgumentException, LrBadStateException, } from '../_common/exceptions';
|
|
7
|
+
import { KeyService } from '../key/key.service';
|
|
7
8
|
import { LR_CONFIG } from '../life-ready.config';
|
|
8
|
-
import {
|
|
9
|
+
import { LrBadArgumentException, LrBadStateException, } from '../_common/exceptions';
|
|
9
10
|
import { Config } from './idle.types';
|
|
10
|
-
import { AuthClass } from '@aws-amplify/auth/lib-esm/Auth';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "../life-ready.config";
|
|
13
13
|
import * as i2 from "@angular/common/http";
|
|
14
14
|
import * as i3 from "@ng-idle/core";
|
|
15
15
|
import * as i4 from "@ng-idle/keepalive";
|
|
16
|
-
import * as i5 from "../
|
|
16
|
+
import * as i5 from "../key/key.service";
|
|
17
17
|
import * as i6 from "@aws-amplify/auth/lib-esm/Auth";
|
|
18
18
|
export class IdleService {
|
|
19
19
|
constructor(config, http, idle, keepalive, keyService, auth) {
|
|
@@ -165,4 +165,4 @@ IdleService.ctorParameters = () => [
|
|
|
165
165
|
{ type: KeyService },
|
|
166
166
|
{ type: AuthClass }
|
|
167
167
|
];
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9hdXRoL2lkbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLElBQUksRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pELE9BQU8sRUFDTCxzQkFBc0IsRUFDdEIsbUJBQW1CLEdBQ3BCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFtQixTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE1BQU0sRUFBbUIsTUFBTSxjQUFjLENBQUM7QUFHdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7OztBQWMzRCxNQUFNLE9BQU8sV0FBVztJQVF0QixZQUM2QixNQUF1QixFQUMxQyxJQUFnQixFQUNoQixJQUFVLEVBQ1YsU0FBb0IsRUFDcEIsVUFBc0IsRUFDdEIsSUFBZTtRQUxJLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQzFDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBTTtRQUNWLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUFXO1FBYlIsb0JBQWUsR0FBRyxxQkFBcUIsQ0FBQztRQUN4QyxlQUFVLEdBQUcscUJBQXFC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QUNULElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVPLEtBQUs7UUFDWCxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM5QyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxDQUFDOzs7O1lBdExGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OzRDQVVJLE1BQU0sU0FBQyxTQUFTO1lBM0JaLFVBQVU7WUFSVixJQUFJO1lBQ0osU0FBUztZQUNULFVBQVU7WUFVVixTQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZGxlLCBERUZBVUxUX0lOVEVSUlVQVFNPVVJDRVMgfSBmcm9tICdAbmctaWRsZS9jb3JlJztcbmltcG9ydCB7IEtlZXBhbGl2ZSB9IGZyb20gJ0BuZy1pZGxlL2tlZXBhbGl2ZSc7XG5pbXBvcnQgeyBLZXlTZXJ2aWNlIH0gZnJvbSAnLi4vY3J5cHRvZ3JhcGh5L2tleS5zZXJ2aWNlJztcbmltcG9ydCB7XG4gIExyQmFkQXJndW1lbnRFeGNlcHRpb24sXG4gIExyQmFkU3RhdGVFeGNlcHRpb24sXG59IGZyb20gJy4uL19jb21tb24vZXhjZXB0aW9ucyc7XG5pbXBvcnQgeyBMaWZlUmVhZHlDb25maWcsIExSX0NPTkZJRyB9IGZyb20gJy4uL2xpZmUtcmVhZHkuY29uZmlnJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDb25maWcsIEtlZXBhbGl2ZVJlc3VsdCB9IGZyb20gJy4vaWRsZS50eXBlcyc7XG5pbXBvcnQgeyBLZXkgfSBmcm9tICcuLi9jcnlwdG9ncmFwaHkvY3J5cHRvZ3JhcGh5LnR5cGVzJztcbmltcG9ydCB7IENvZ25pdG9Vc2VyIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2F1dGgnO1xuaW1wb3J0IHsgQXV0aENsYXNzIH0gZnJvbSAnQGF3cy1hbXBsaWZ5L2F1dGgvbGliLWVzbS9BdXRoJztcblxuZXhwb3J0IGludGVyZmFjZSBJZGxlU2VydmljZUluaXQge1xuICAvLyBUT0RPOiB0aGlzIHNob3VsZCBiZSBFdmVudEVtaXR0ZXIgaW5zdGVhZCBvZiBhIGNhbGxiYWNrLlxuICBvblRpbWVvdXQ/OiAoKCkgPT4gYW55KSB8ICgoKSA9PiBQcm9taXNlPGFueT4pIHwgbnVsbDtcbiAgb25LZWVwYWxpdmU/OiAoKCkgPT4gYW55KSB8ICgoKSA9PiBQcm9taXNlPGFueT4pIHwgbnVsbDtcbiAgaWRsZVNlYz86IG51bWJlcjtcbiAgdGltZW91dFNlYz86IG51bWJlcjtcbiAga2VlcEFsaXZlSW50ZXJ2YWxTZWM/OiBudW1iZXI7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBJZGxlU2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgSURMRV9FWFBJUllfS0VZID0gJ25nMklkbGUubWFpbi5leHBpcnknO1xuICBwcml2YXRlIHJlYWRvbmx5IElETElOR19LRVkgPSAnbmcySWRsZS5tYWluLmlkbGluZyc7XG5cbiAgcHJpdmF0ZSBpbml0Q2FsbGVkID0gZmFsc2U7XG4gIHByaXZhdGUgb25UaW1lb3V0OiAoKCkgPT4gYW55KSB8ICgoKSA9PiBQcm9taXNlPGFueT4pIHwgbnVsbDtcbiAgcHJpdmF0ZSBvbktlZXBhbGl2ZTogKCgpID0+IGFueSkgfCAoKCkgPT4gUHJvbWlzZTxhbnk+KSB8IG51bGw7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChMUl9DT05GSUcpIHByaXZhdGUgY29uZmlnOiBMaWZlUmVhZHlDb25maWcsXG4gICAgcHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LFxuICAgIHByaXZhdGUgaWRsZTogSWRsZSxcbiAgICBwcml2YXRlIGtlZXBhbGl2ZTogS2VlcGFsaXZlLFxuICAgIHByaXZhdGUga2V5U2VydmljZTogS2V5U2VydmljZSxcbiAgICBwcml2YXRlIGF1dGg6IEF1dGhDbGFzc1xuICApIHt9XG5cbiAgcHJpdmF0ZSBhc3NlcnRJbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pbml0Q2FsbGVkKSB7XG4gICAgICB0aHJvdyBuZXcgTHJCYWRTdGF0ZUV4Y2VwdGlvbignQ2FsbCBJZGxlU2VydmljZS5pbml0KCkgZmlyc3QuJyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIGluaXQocGFyYW1zPzogSWRsZVNlcnZpY2VJbml0KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuaW5pdENhbGxlZCkge1xuICAgICAgdGhyb3cgbmV3IExyQmFkU3RhdGVFeGNlcHRpb24oXG4gICAgICAgICdJZGxlU2VydmljZS5pbml0KCkgY2FuIG9ubHkgYmUgY2FsbGVkIG9uY2UuIElkbGVTZXJ2aWNlLnN0YXJ0KCkgY2FsbHMgaW5pdCgpIHdpdGggZGVmYXVsdCB2YWx1ZXMgaWYgaW5pdCgpIGhhcyBub3QgYmVlbiBjYWxsZWQgeWV0LidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0Q2FsbGVkID0gdHJ1ZTtcblxuICAgIC8vIERlZmF1bHRzXG4gICAgcGFyYW1zID0ge1xuICAgICAgb25UaW1lb3V0OiBudWxsLFxuICAgICAgb25LZWVwYWxpdmU6IG51bGwsXG4gICAgICBpZGxlU2VjOiBDb25maWcuSURMRSxcbiAgICAgIHRpbWVvdXRTZWM6IENvbmZpZy5USU1FT1VULFxuICAgICAga2VlcEFsaXZlSW50ZXJ2YWxTZWM6IENvbmZpZy5LRUVQX0FMSVZFX0lOVEVSVkFMLFxuICAgICAgLi4ucGFyYW1zLFxuICAgIH07XG5cbiAgICAvLyBJZiB0aW1lb3V0U2VjID09IDAgdGhlbiB0aGUgb25UaW1lb3V0KCkgY2FsbGJhY2sgaXMgbmV2ZXIgY2FsbGVkLlxuICAgIGlmIChwYXJhbXMudGltZW91dFNlYyA8IDAuMDEpIHtcbiAgICAgIHRocm93IG5ldyBMckJhZEFyZ3VtZW50RXhjZXB0aW9uKFxuICAgICAgICAnTWluaW11bSB2YWx1ZSBmb3IgSWRsZVNlcnZpY2UuaW5pdCh7IHRpbWVvdXRTZWMgfSkgaXMgMC4wMSdcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5vblRpbWVvdXQgPSBwYXJhbXMub25UaW1lb3V0O1xuICAgIHRoaXMub25LZWVwYWxpdmUgPSBwYXJhbXMub25LZWVwYWxpdmU7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBTZXR1cCBJZGxlXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gc2V0cyBhbiBpZGxlIHRpbWVvdXQgb2YgNSBzZWNvbmRzLCBmb3IgdGVzdGluZyBwdXJwb3Nlcy5cbiAgICB0aGlzLmlkbGUuc2V0SWRsZShwYXJhbXMuaWRsZVNlYyk7XG4gICAgLy8gc2V0cyBhIHRpbWVvdXQgcGVyaW9kIG9mIDUgc2Vjb25kcy4gYWZ0ZXIgMTAgc2Vjb25kcyBvZiBpbmFjdGl2aXR5LCB0aGUgdXNlciB3aWxsIGJlIGNvbnNpZGVyZWQgdGltZWQgb3V0LlxuICAgIHRoaXMuaWRsZS5zZXRUaW1lb3V0KHBhcmFtcy50aW1lb3V0U2VjKTtcbiAgICAvLyBzZXRzIHRoZSBkZWZhdWx0IGludGVycnVwdHMsIGluIHRoaXMgY2FzZSwgdGhpbmdzIGxpa2UgY2xpY2tzLCBzY3JvbGxzLCB0b3VjaGVzIHRvIHRoZSBkb2N1bWVudFxuICAgIHRoaXMuaWRsZS5zZXRJbnRlcnJ1cHRzKERFRkFVTFRfSU5URVJSVVBUU09VUkNFUyk7XG5cbiAgICB0aGlzLmlkbGUub25JZGxlRW5kLnN1YnNjcmliZSgoKSA9PiBjb25zb2xlLmxvZygnSWRsZSBzdG9wcGVkJykpO1xuICAgIHRoaXMuaWRsZS5vbklkbGVTdGFydC5zdWJzY3JpYmUoKCkgPT4gY29uc29sZS5sb2coJ0lkbGUgc3RhcnRlZCcpKTtcblxuICAgIHRoaXMuaWRsZS5vblRpbWVvdXQuc3Vic2NyaWJlKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdJZGxlIHRpbWVkIG91dCcpO1xuICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKHRoaXMub25UaW1lb3V0ICYmIHRoaXMub25UaW1lb3V0KCkpO1xuICAgIH0pO1xuICAgIHRoaXMuaWRsZS5vblRpbWVvdXRXYXJuaW5nLnN1YnNjcmliZSgoY291bnRkb3duOiBhbnkpID0+XG4gICAgICBjb25zb2xlLmxvZyhgV2lsbCB0aW1lb3V0IGluICR7Y291bnRkb3dufSBzZWNvbmRzIWApXG4gICAgKTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFNldHVwIEtlZXBhbGl2ZVxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFJlZjogaHR0cHM6Ly9naXRodWIuY29tL21vcmlidm5kdnMvbmcyLWlkbGUjcmVhZG1lXG4gICAgLy8gbmctaWRsZSB3aWxsIGluc3RydWN0IEBuZy1pZGxlL2tlZXBhbGl2ZSB0byBwaW5nIHdoaWxlIHRoZSB1c2VyIGlzIGFjdGl2ZSwgYW5kIHN0b3Agb25jZVxuICAgIC8vIHRoZXkgZ28gaWRsZSBvciB0aW1lIG91dC4gV2hlbiB0aGUgdXNlciByZXN1bWVzIGFjdGl2aXR5IG9yIHRoZSBpZGxlIHN0YXRlIGlzIHJlc2V0LCBpdCB3aWxsXG4gICAgLy8gcGluZyBpbW1lZGlhdGVseSBhbmQgdGhlbiByZXN1bWUgcGluZ2luZy5cbiAgICB0aGlzLmtlZXBhbGl2ZS5pbnRlcnZhbChwYXJhbXMua2VlcEFsaXZlSW50ZXJ2YWxTZWMpO1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYEtlZXAgYWxpdmUgaW50ZXJ2YWwgc2V0IGF0OiAke0NvbmZpZy5LRUVQX0FMSVZFX0lOVEVSVkFMfSBzZWNvbmRzYFxuICAgICk7XG5cbiAgICB0aGlzLmtlZXBhbGl2ZS5vblBpbmcuc3Vic2NyaWJlKCgpID0+IHRoaXMub25QaW5nKCkpO1xuXG4gICAgLy8gSWYgdGhlIGJyb3dzZXIgdGFiIGhhcyBiZWVuIGNsb3NlZCBmb3IgYSBwZXJpb2QgbG9uZ2VyIHRoYW50IHRoZSBpbmFjdGl2aXR5XG4gICAgLy8gcGVyaW9kLCB0aGVuIHdlIHNob3VsZCBsb2dvdXQgcmlnaHQgZnJvbSB0aGUgc3RhcnQuXG4gICAgY29uc3QgaWRsZUV4cGlyeSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuSURMRV9FWFBJUllfS0VZKTtcbiAgICBpZiAoXG4gICAgICBpZGxlRXhwaXJ5ICYmXG4gICAgICBwYXJzZUludChpZGxlRXhwaXJ5LCAxMCkgKyB0aGlzLmlkbGUuZ2V0VGltZW91dCgpICogMTAwMCA8IERhdGUubm93KClcbiAgICApIHtcbiAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZSh0aGlzLm9uVGltZW91dCAmJiB0aGlzLm9uVGltZW91dCgpKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMga2VlcGFsaXZlUG9zdCgpOiBQcm9taXNlPHtcbiAgICBleHBpcmVzQWZ0ZXJTZWNvbmRzOiBudW1iZXI7XG4gICAga2VlcGFsaXZlUmVzdWx0OiBLZWVwYWxpdmVSZXN1bHQ7XG4gIH0+IHtcbiAgICAvLyBjdXJyZW50QXV0aGVudGljYXRlZFVzZXIoKSByZWZyZXNoZXMgdGhlIGFjY2VzcyB0b2tlbiBpZiByZXF1aXJlZC5cbiAgICBjb25zdCBjb2duaXRvVXNlcjogQ29nbml0b1VzZXIgPSBhd2FpdCB0aGlzLmF1dGguY3VycmVudEF1dGhlbnRpY2F0ZWRVc2VyKCk7XG5cbiAgICBjb25zdCBrZWVwYWxpdmVSZXN1bHQgPSBhd2FpdCB0aGlzLmh0dHBcbiAgICAgIC5wb3N0PEtlZXBhbGl2ZVJlc3VsdD4oYCR7dGhpcy5jb25maWcuYXV0aFVybH1hdXRoL2tlZXBhbGl2ZS9gLCBudWxsLCB7XG4gICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSwgLy8gL2F1dGgva2VlcGFsaXZlLyB3aWxsIGJlIGV4dGVuZGluZyB0aGUgc2Vzc2lvbnMgY29va2llLlxuICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke2NvZ25pdG9Vc2VyXG4gICAgICAgICAgICAuZ2V0U2lnbkluVXNlclNlc3Npb24oKVxuICAgICAgICAgICAgLmdldEFjY2Vzc1Rva2VuKClcbiAgICAgICAgICAgIC5nZXRKd3RUb2tlbigpfWAsXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgLnRvUHJvbWlzZSgpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIGtlZXBhbGl2ZVJlc3VsdCxcbiAgICAgIGV4cGlyZXNBZnRlclNlY29uZHM6XG4gICAgICAgIHRoaXMuaWRsZS5nZXRJZGxlKCkgK1xuICAgICAgICB0aGlzLmlkbGUuZ2V0VGltZW91dCgpICtcbiAgICAgICAgdGhpcy5rZWVwYWxpdmUuaW50ZXJ2YWwoKSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHBlcnNpc3RNYXN0ZXJLZXkobWFzdGVyS2V5OiBLZXkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAvLyBUaGUga2VlcGFsaXZlIEFQSSBjYWxsIGV4dGVuZHMgdGhlIHNlcnZlci1zaWRlIHNlc3Npb24sIHRoZSBzZXNzaW9uIGNvb2tpZSBleHBpcnksIHJlZnJlc2gga2V5IGNvb2tpZVxuICAgIC8vIGV4cGlyeSwgYW5kIHJldHVybnMgdGhlIHNlc3Npb24gZXhwaXJ5LlxuICAgIC8vIE5PVEUgVXNlIHRpbWUgZGVsdGEgcmF0aGVyIHRoYW4gYWJzb2x1dGUgdGltZSwgc2luY2UgY2xpZW50IGNsb2NrIGFuZCBzZXJ2ZXIgY2xvY2sgbWF5YmVcbiAgICAvLyBvdXQgb2Ygc3luYy4gV2UgY2FuJ3QgdXNlIHRoZSBzZXJ2ZXJUaW1lKCkgZnVuY3Rpb25hbGl0eSBiZWNhdXNlIHRoZSBjb29raWUgZXhwaXJ5IHN0aWxsXG4gICAgLy8gcnVuIG9uIGxvY2FsIGNsb2NrLlxuICAgIGNvbnN0IHsgZXhwaXJlc0FmdGVyU2Vjb25kcyB9ID0gYXdhaXQgdGhpcy5rZWVwYWxpdmVQb3N0KCk7XG5cbiAgICAvLyBQZXJzaXN0IHRoZSBkZXJpdmVkIHBhc3NLZXlcbiAgICBhd2FpdCB0aGlzLmtleVNlcnZpY2UucGVyc2lzdE1hc3RlcktleShtYXN0ZXJLZXksIGV4cGlyZXNBZnRlclNlY29uZHMpO1xuXG4gICAgY29uc29sZS5sb2coJ3NldE1hc3RlcktleSgpIGRvbmUnKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgb25QaW5nKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYEtlZXAgYWxpdmUgdHJpZ2dlcmVkIGF0IHRpbWU6ICR7RGF0ZS5ub3coKX0uIEludGVydmFsIHNldCBhdDogJHt0aGlzLmtlZXBhbGl2ZS5pbnRlcnZhbCgpfSBzZWNvbmRzYFxuICAgICk7XG5cbiAgICAvLyBLZWVwYWxpdmUgQVBJIHdpbGwgZXh0ZW5kIHRoZSBzZXNzaW9uIGV4cGlyeS5cbiAgICBjb25zdCB7IGV4cGlyZXNBZnRlclNlY29uZHMgfSA9IGF3YWl0IHRoaXMua2VlcGFsaXZlUG9zdCgpO1xuXG4gICAgLy8gRXh0ZW5kIHRoZSBleHBpcnkgb2YgdGhlIHBlcnNpc3RlZCBrZXlcbiAgICBhd2FpdCB0aGlzLmtleVNlcnZpY2Uuc2V0TWFzdGVyS2V5RXhwaXJlc0FmdGVyU2Vjb25kcyhleHBpcmVzQWZ0ZXJTZWNvbmRzKTtcblxuICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZSh0aGlzLm9uS2VlcGFsaXZlICYmIHRoaXMub25LZWVwYWxpdmUoKSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgc3RhcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmluaXRDYWxsZWQpIHtcbiAgICAgIGF3YWl0IHRoaXMuaW5pdCgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlkbGUuaXNSdW5uaW5nKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBQaW5nIGRvZXMgbm90IHNlZW0gdG8gaGFwcGVuIHJpZ2h0IGF0IHRoZSBzdGFydC4gU28gd2UgY2FsbCBpdCBleHBsaWNpdGx5XG4gICAgYXdhaXQgdGhpcy5vblBpbmcoKTtcblxuICAgIHRoaXMuaWRsZS53YXRjaCgpO1xuICB9XG5cbiAgcHVibGljIHN0b3AoKTogdm9pZCB7XG4gICAgdGhpcy5pZGxlLnN0b3AoKTtcbiAgICB0aGlzLnJlc2V0KCk7XG4gIH1cblxuICBwcml2YXRlIHJlc2V0KCkge1xuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuSURMRV9FWFBJUllfS0VZKTtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLklETElOR19LRVkpO1xuICB9XG59XG4iXX0=
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Ii9vcHQvYXRsYXNzaWFuL3BpcGVsaW5lcy9hZ2VudC9idWlsZC9wcm9qZWN0cy9jb3JlL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9pZGxlL2lkbGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFaEQsT0FBTyxFQUFtQixTQUFTLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRSxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLG1CQUFtQixHQUNwQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxNQUFNLEVBQW1CLE1BQU0sY0FBYyxDQUFDOzs7Ozs7OztBQWN2RCxNQUFNLE9BQU8sV0FBVztJQVF0QixZQUM2QixNQUF1QixFQUMxQyxJQUFnQixFQUNoQixJQUFVLEVBQ1YsU0FBb0IsRUFDcEIsVUFBc0IsRUFDdEIsSUFBZTtRQUxJLFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQzFDLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsU0FBSSxHQUFKLElBQUksQ0FBTTtRQUNWLGNBQVMsR0FBVCxTQUFTLENBQVc7UUFDcEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixTQUFJLEdBQUosSUFBSSxDQUFXO1FBYlIsb0JBQWUsR0FBRyxxQkFBcUIsQ0FBQztRQUN4QyxlQUFVLEdBQUcscUJBQXFC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QUNULElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2YsQ0FBQztJQUVPLEtBQUs7UUFDWCxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUM5QyxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUMzQyxDQUFDOzs7O1lBdExGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OzRDQVVJLE1BQU0sU0FBQyxTQUFTO1lBcENaLFVBQVU7WUFJZ0IsSUFBSTtZQUM5QixTQUFTO1lBQ1QsVUFBVTtZQUhWLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb2duaXRvVXNlciB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9hdXRoJztcbmltcG9ydCB7IEF1dGhDbGFzcyB9IGZyb20gJ0Bhd3MtYW1wbGlmeS9hdXRoL2xpYi1lc20vQXV0aCc7XG5pbXBvcnQgeyBERUZBVUxUX0lOVEVSUlVQVFNPVVJDRVMsIElkbGUgfSBmcm9tICdAbmctaWRsZS9jb3JlJztcbmltcG9ydCB7IEtlZXBhbGl2ZSB9IGZyb20gJ0BuZy1pZGxlL2tlZXBhbGl2ZSc7XG5pbXBvcnQgeyBLZXlTZXJ2aWNlIH0gZnJvbSAnLi4va2V5L2tleS5zZXJ2aWNlJztcbmltcG9ydCB7IEtleSB9IGZyb20gJy4uL2tleS9rZXkudHlwZXMnO1xuaW1wb3J0IHsgTGlmZVJlYWR5Q29uZmlnLCBMUl9DT05GSUcgfSBmcm9tICcuLi9saWZlLXJlYWR5LmNvbmZpZyc7XG5pbXBvcnQge1xuICBMckJhZEFyZ3VtZW50RXhjZXB0aW9uLFxuICBMckJhZFN0YXRlRXhjZXB0aW9uLFxufSBmcm9tICcuLi9fY29tbW9uL2V4Y2VwdGlvbnMnO1xuaW1wb3J0IHsgQ29uZmlnLCBLZWVwYWxpdmVSZXN1bHQgfSBmcm9tICcuL2lkbGUudHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElkbGVTZXJ2aWNlSW5pdCB7XG4gIC8vIFRPRE86IHRoaXMgc2hvdWxkIGJlIEV2ZW50RW1pdHRlciBpbnN0ZWFkIG9mIGEgY2FsbGJhY2suXG4gIG9uVGltZW91dD86ICgoKSA9PiBhbnkpIHwgKCgpID0+IFByb21pc2U8YW55PikgfCBudWxsO1xuICBvbktlZXBhbGl2ZT86ICgoKSA9PiBhbnkpIHwgKCgpID0+IFByb21pc2U8YW55PikgfCBudWxsO1xuICBpZGxlU2VjPzogbnVtYmVyO1xuICB0aW1lb3V0U2VjPzogbnVtYmVyO1xuICBrZWVwQWxpdmVJbnRlcnZhbFNlYz86IG51bWJlcjtcbn1cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIElkbGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBJRExFX0VYUElSWV9LRVkgPSAnbmcySWRsZS5tYWluLmV4cGlyeSc7XG4gIHByaXZhdGUgcmVhZG9ubHkgSURMSU5HX0tFWSA9ICduZzJJZGxlLm1haW4uaWRsaW5nJztcblxuICBwcml2YXRlIGluaXRDYWxsZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBvblRpbWVvdXQ6ICgoKSA9PiBhbnkpIHwgKCgpID0+IFByb21pc2U8YW55PikgfCBudWxsO1xuICBwcml2YXRlIG9uS2VlcGFsaXZlOiAoKCkgPT4gYW55KSB8ICgoKSA9PiBQcm9taXNlPGFueT4pIHwgbnVsbDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KExSX0NPTkZJRykgcHJpdmF0ZSBjb25maWc6IExpZmVSZWFkeUNvbmZpZyxcbiAgICBwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBpZGxlOiBJZGxlLFxuICAgIHByaXZhdGUga2VlcGFsaXZlOiBLZWVwYWxpdmUsXG4gICAgcHJpdmF0ZSBrZXlTZXJ2aWNlOiBLZXlTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXV0aDogQXV0aENsYXNzXG4gICkge31cblxuICBwcml2YXRlIGFzc2VydEluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmluaXRDYWxsZWQpIHtcbiAgICAgIHRocm93IG5ldyBMckJhZFN0YXRlRXhjZXB0aW9uKCdDYWxsIElkbGVTZXJ2aWNlLmluaXQoKSBmaXJzdC4nKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgaW5pdChwYXJhbXM/OiBJZGxlU2VydmljZUluaXQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5pbml0Q2FsbGVkKSB7XG4gICAgICB0aHJvdyBuZXcgTHJCYWRTdGF0ZUV4Y2VwdGlvbihcbiAgICAgICAgJ0lkbGVTZXJ2aWNlLmluaXQoKSBjYW4gb25seSBiZSBjYWxsZWQgb25jZS4gSWRsZVNlcnZpY2Uuc3RhcnQoKSBjYWxscyBpbml0KCkgd2l0aCBkZWZhdWx0IHZhbHVlcyBpZiBpbml0KCkgaGFzIG5vdCBiZWVuIGNhbGxlZCB5ZXQuJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLmluaXRDYWxsZWQgPSB0cnVlO1xuXG4gICAgLy8gRGVmYXVsdHNcbiAgICBwYXJhbXMgPSB7XG4gICAgICBvblRpbWVvdXQ6IG51bGwsXG4gICAgICBvbktlZXBhbGl2ZTogbnVsbCxcbiAgICAgIGlkbGVTZWM6IENvbmZpZy5JRExFLFxuICAgICAgdGltZW91dFNlYzogQ29uZmlnLlRJTUVPVVQsXG4gICAgICBrZWVwQWxpdmVJbnRlcnZhbFNlYzogQ29uZmlnLktFRVBfQUxJVkVfSU5URVJWQUwsXG4gICAgICAuLi5wYXJhbXMsXG4gICAgfTtcblxuICAgIC8vIElmIHRpbWVvdXRTZWMgPT0gMCB0aGVuIHRoZSBvblRpbWVvdXQoKSBjYWxsYmFjayBpcyBuZXZlciBjYWxsZWQuXG4gICAgaWYgKHBhcmFtcy50aW1lb3V0U2VjIDwgMC4wMSkge1xuICAgICAgdGhyb3cgbmV3IExyQmFkQXJndW1lbnRFeGNlcHRpb24oXG4gICAgICAgICdNaW5pbXVtIHZhbHVlIGZvciBJZGxlU2VydmljZS5pbml0KHsgdGltZW91dFNlYyB9KSBpcyAwLjAxJ1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aGlzLm9uVGltZW91dCA9IHBhcmFtcy5vblRpbWVvdXQ7XG4gICAgdGhpcy5vbktlZXBhbGl2ZSA9IHBhcmFtcy5vbktlZXBhbGl2ZTtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFNldHVwIElkbGVcbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBzZXRzIGFuIGlkbGUgdGltZW91dCBvZiA1IHNlY29uZHMsIGZvciB0ZXN0aW5nIHB1cnBvc2VzLlxuICAgIHRoaXMuaWRsZS5zZXRJZGxlKHBhcmFtcy5pZGxlU2VjKTtcbiAgICAvLyBzZXRzIGEgdGltZW91dCBwZXJpb2Qgb2YgNSBzZWNvbmRzLiBhZnRlciAxMCBzZWNvbmRzIG9mIGluYWN0aXZpdHksIHRoZSB1c2VyIHdpbGwgYmUgY29uc2lkZXJlZCB0aW1lZCBvdXQuXG4gICAgdGhpcy5pZGxlLnNldFRpbWVvdXQocGFyYW1zLnRpbWVvdXRTZWMpO1xuICAgIC8vIHNldHMgdGhlIGRlZmF1bHQgaW50ZXJydXB0cywgaW4gdGhpcyBjYXNlLCB0aGluZ3MgbGlrZSBjbGlja3MsIHNjcm9sbHMsIHRvdWNoZXMgdG8gdGhlIGRvY3VtZW50XG4gICAgdGhpcy5pZGxlLnNldEludGVycnVwdHMoREVGQVVMVF9JTlRFUlJVUFRTT1VSQ0VTKTtcblxuICAgIHRoaXMuaWRsZS5vbklkbGVFbmQuc3Vic2NyaWJlKCgpID0+IGNvbnNvbGUubG9nKCdJZGxlIHN0b3BwZWQnKSk7XG4gICAgdGhpcy5pZGxlLm9uSWRsZVN0YXJ0LnN1YnNjcmliZSgoKSA9PiBjb25zb2xlLmxvZygnSWRsZSBzdGFydGVkJykpO1xuXG4gICAgdGhpcy5pZGxlLm9uVGltZW91dC5zdWJzY3JpYmUoYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ0lkbGUgdGltZWQgb3V0Jyk7XG4gICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICBhd2FpdCBQcm9taXNlLnJlc29sdmUodGhpcy5vblRpbWVvdXQgJiYgdGhpcy5vblRpbWVvdXQoKSk7XG4gICAgfSk7XG4gICAgdGhpcy5pZGxlLm9uVGltZW91dFdhcm5pbmcuc3Vic2NyaWJlKChjb3VudGRvd246IGFueSkgPT5cbiAgICAgIGNvbnNvbGUubG9nKGBXaWxsIHRpbWVvdXQgaW4gJHtjb3VudGRvd259IHNlY29uZHMhYClcbiAgICApO1xuXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gU2V0dXAgS2VlcGFsaXZlXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUmVmOiBodHRwczovL2dpdGh1Yi5jb20vbW9yaWJ2bmR2cy9uZzItaWRsZSNyZWFkbWVcbiAgICAvLyBuZy1pZGxlIHdpbGwgaW5zdHJ1Y3QgQG5nLWlkbGUva2VlcGFsaXZlIHRvIHBpbmcgd2hpbGUgdGhlIHVzZXIgaXMgYWN0aXZlLCBhbmQgc3RvcCBvbmNlXG4gICAgLy8gdGhleSBnbyBpZGxlIG9yIHRpbWUgb3V0LiBXaGVuIHRoZSB1c2VyIHJlc3VtZXMgYWN0aXZpdHkgb3IgdGhlIGlkbGUgc3RhdGUgaXMgcmVzZXQsIGl0IHdpbGxcbiAgICAvLyBwaW5nIGltbWVkaWF0ZWx5IGFuZCB0aGVuIHJlc3VtZSBwaW5naW5nLlxuICAgIHRoaXMua2VlcGFsaXZlLmludGVydmFsKHBhcmFtcy5rZWVwQWxpdmVJbnRlcnZhbFNlYyk7XG4gICAgY29uc29sZS5sb2coXG4gICAgICBgS2VlcCBhbGl2ZSBpbnRlcnZhbCBzZXQgYXQ6ICR7Q29uZmlnLktFRVBfQUxJVkVfSU5URVJWQUx9IHNlY29uZHNgXG4gICAgKTtcblxuICAgIHRoaXMua2VlcGFsaXZlLm9uUGluZy5zdWJzY3JpYmUoKCkgPT4gdGhpcy5vblBpbmcoKSk7XG5cbiAgICAvLyBJZiB0aGUgYnJvd3NlciB0YWIgaGFzIGJlZW4gY2xvc2VkIGZvciBhIHBlcmlvZCBsb25nZXIgdGhhbnQgdGhlIGluYWN0aXZpdHlcbiAgICAvLyBwZXJpb2QsIHRoZW4gd2Ugc2hvdWxkIGxvZ291dCByaWdodCBmcm9tIHRoZSBzdGFydC5cbiAgICBjb25zdCBpZGxlRXhwaXJ5ID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5JRExFX0VYUElSWV9LRVkpO1xuICAgIGlmIChcbiAgICAgIGlkbGVFeHBpcnkgJiZcbiAgICAgIHBhcnNlSW50KGlkbGVFeHBpcnksIDEwKSArIHRoaXMuaWRsZS5nZXRUaW1lb3V0KCkgKiAxMDAwIDwgRGF0ZS5ub3coKVxuICAgICkge1xuICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKHRoaXMub25UaW1lb3V0ICYmIHRoaXMub25UaW1lb3V0KCkpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBrZWVwYWxpdmVQb3N0KCk6IFByb21pc2U8e1xuICAgIGV4cGlyZXNBZnRlclNlY29uZHM6IG51bWJlcjtcbiAgICBrZWVwYWxpdmVSZXN1bHQ6IEtlZXBhbGl2ZVJlc3VsdDtcbiAgfT4ge1xuICAgIC8vIGN1cnJlbnRBdXRoZW50aWNhdGVkVXNlcigpIHJlZnJlc2hlcyB0aGUgYWNjZXNzIHRva2VuIGlmIHJlcXVpcmVkLlxuICAgIGNvbnN0IGNvZ25pdG9Vc2VyOiBDb2duaXRvVXNlciA9IGF3YWl0IHRoaXMuYXV0aC5jdXJyZW50QXV0aGVudGljYXRlZFVzZXIoKTtcblxuICAgIGNvbnN0IGtlZXBhbGl2ZVJlc3VsdCA9IGF3YWl0IHRoaXMuaHR0cFxuICAgICAgLnBvc3Q8S2VlcGFsaXZlUmVzdWx0PihgJHt0aGlzLmNvbmZpZy5hdXRoVXJsfWF1dGgva2VlcGFsaXZlL2AsIG51bGwsIHtcbiAgICAgICAgd2l0aENyZWRlbnRpYWxzOiB0cnVlLCAvLyAvYXV0aC9rZWVwYWxpdmUvIHdpbGwgYmUgZXh0ZW5kaW5nIHRoZSBzZXNzaW9ucyBjb29raWUuXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7Y29nbml0b1VzZXJcbiAgICAgICAgICAgIC5nZXRTaWduSW5Vc2VyU2Vzc2lvbigpXG4gICAgICAgICAgICAuZ2V0QWNjZXNzVG9rZW4oKVxuICAgICAgICAgICAgLmdldEp3dFRva2VuKCl9YCxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgICAudG9Qcm9taXNlKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAga2VlcGFsaXZlUmVzdWx0LFxuICAgICAgZXhwaXJlc0FmdGVyU2Vjb25kczpcbiAgICAgICAgdGhpcy5pZGxlLmdldElkbGUoKSArXG4gICAgICAgIHRoaXMuaWRsZS5nZXRUaW1lb3V0KCkgK1xuICAgICAgICB0aGlzLmtlZXBhbGl2ZS5pbnRlcnZhbCgpLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgcGVyc2lzdE1hc3RlcktleShtYXN0ZXJLZXk6IEtleSk6IFByb21pc2U8dm9pZD4ge1xuICAgIC8vIFRoZSBrZWVwYWxpdmUgQVBJIGNhbGwgZXh0ZW5kcyB0aGUgc2VydmVyLXNpZGUgc2Vzc2lvbiwgdGhlIHNlc3Npb24gY29va2llIGV4cGlyeSwgcmVmcmVzaCBrZXkgY29va2llXG4gICAgLy8gZXhwaXJ5LCBhbmQgcmV0dXJucyB0aGUgc2Vzc2lvbiBleHBpcnkuXG4gICAgLy8gTk9URSBVc2UgdGltZSBkZWx0YSByYXRoZXIgdGhhbiBhYnNvbHV0ZSB0aW1lLCBzaW5jZSBjbGllbnQgY2xvY2sgYW5kIHNlcnZlciBjbG9jayBtYXliZVxuICAgIC8vIG91dCBvZiBzeW5jLiBXZSBjYW4ndCB1c2UgdGhlIHNlcnZlclRpbWUoKSBmdW5jdGlvbmFsaXR5IGJlY2F1c2UgdGhlIGNvb2tpZSBleHBpcnkgc3RpbGxcbiAgICAvLyBydW4gb24gbG9jYWwgY2xvY2suXG4gICAgY29uc3QgeyBleHBpcmVzQWZ0ZXJTZWNvbmRzIH0gPSBhd2FpdCB0aGlzLmtlZXBhbGl2ZVBvc3QoKTtcblxuICAgIC8vIFBlcnNpc3QgdGhlIGRlcml2ZWQgcGFzc0tleVxuICAgIGF3YWl0IHRoaXMua2V5U2VydmljZS5wZXJzaXN0TWFzdGVyS2V5KG1hc3RlcktleSwgZXhwaXJlc0FmdGVyU2Vjb25kcyk7XG5cbiAgICBjb25zb2xlLmxvZygnc2V0TWFzdGVyS2V5KCkgZG9uZScpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBvblBpbmcoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc29sZS5sb2coXG4gICAgICBgS2VlcCBhbGl2ZSB0cmlnZ2VyZWQgYXQgdGltZTogJHtEYXRlLm5vdygpfS4gSW50ZXJ2YWwgc2V0IGF0OiAke3RoaXMua2VlcGFsaXZlLmludGVydmFsKCl9IHNlY29uZHNgXG4gICAgKTtcblxuICAgIC8vIEtlZXBhbGl2ZSBBUEkgd2lsbCBleHRlbmQgdGhlIHNlc3Npb24gZXhwaXJ5LlxuICAgIGNvbnN0IHsgZXhwaXJlc0FmdGVyU2Vjb25kcyB9ID0gYXdhaXQgdGhpcy5rZWVwYWxpdmVQb3N0KCk7XG5cbiAgICAvLyBFeHRlbmQgdGhlIGV4cGlyeSBvZiB0aGUgcGVyc2lzdGVkIGtleVxuICAgIGF3YWl0IHRoaXMua2V5U2VydmljZS5zZXRNYXN0ZXJLZXlFeHBpcmVzQWZ0ZXJTZWNvbmRzKGV4cGlyZXNBZnRlclNlY29uZHMpO1xuXG4gICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKHRoaXMub25LZWVwYWxpdmUgJiYgdGhpcy5vbktlZXBhbGl2ZSgpKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzdGFydCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuaW5pdENhbGxlZCkge1xuICAgICAgYXdhaXQgdGhpcy5pbml0KCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaWRsZS5pc1J1bm5pbmcoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFBpbmcgZG9lcyBub3Qgc2VlbSB0byBoYXBwZW4gcmlnaHQgYXQgdGhlIHN0YXJ0LiBTbyB3ZSBjYWxsIGl0IGV4cGxpY2l0bHlcbiAgICBhd2FpdCB0aGlzLm9uUGluZygpO1xuXG4gICAgdGhpcy5pZGxlLndhdGNoKCk7XG4gIH1cblxuICBwdWJsaWMgc3RvcCgpOiB2b2lkIHtcbiAgICB0aGlzLmlkbGUuc3RvcCgpO1xuICAgIHRoaXMucmVzZXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXQoKSB7XG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5JRExFX0VYUElSWV9LRVkpO1xuICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuSURMSU5HX0tFWSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -4,4 +4,4 @@ export var Config;
|
|
|
4
4
|
Config[Config["IDLE"] = 1200] = "IDLE";
|
|
5
5
|
Config[Config["KEEP_ALIVE_INTERVAL"] = 60] = "KEEP_ALIVE_INTERVAL";
|
|
6
6
|
})(Config || (Config = {}));
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRsZS50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIvb3B0L2F0bGFzc2lhbi9waXBlbGluZXMvYWdlbnQvYnVpbGQvcHJvamVjdHMvY29yZS9zcmMvIiwic291cmNlcyI6WyJsaWIvaWRsZS9pZGxlLnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLE1BSVg7QUFKRCxXQUFZLE1BQU07SUFDaEIsNENBQWMsQ0FBQTtJQUNkLHNDQUFjLENBQUE7SUFDZCxrRUFBNEIsQ0FBQTtBQUM5QixDQUFDLEVBSlcsTUFBTSxLQUFOLE1BQU0sUUFJakIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDb25maWcge1xuICBUSU1FT1VUID0gMC4wMSwgLy8gc2Vjb25kcywgbWluIHZhbHVlIDAuMDEsIGFmdGVyIHN0YXRlIGlzIGlkbGUsIHdhaXQgZm9yIFRJTUVPVVQgc2Vjb25kcyBiZWZvcmUgdGFraW5nIGFjdGlvblxuICBJRExFID0gNjAgKiAyMCwgLy8gc2Vjb25kcywgcGVyaW9kIG9mIGluYWN0aXZpdHkgdG8gY29uc2lkZXIgc3RhdGUgYXMgaWRsZVxuICBLRUVQX0FMSVZFX0lOVEVSVkFMID0gNjAgKiAxLCAvLyBzZWNvbmRzLCB0cmlnZ2VyZWQgb24gYSByZWd1bGFyIGJhc2lzIHdoaWxlIGFjdGl2ZSAoaS5lLiB3aGlsZSBub3QgaWRsaW5nKVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEtlZXBhbGl2ZVJlc3VsdCB7XG4gIHNlc3Npb246IHtcbiAgICBleHBpcmVzX2FmdGVyX3NlY29uZHM6IG51bWJlcjtcbiAgfTtcbn1cbiJdfQ==
|