1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const HeaderContext_1 = require("./HeaderContext");
|
4 | const SignatureSentContext_1 = require("./SignatureSentContext");
|
5 | const ViewChangingContext_1 = require("./ViewChangingContext");
|
6 | class RequestReceivedContext extends HeaderContext_1.HeaderContext {
|
7 | constructor({ viewNumber, myIndex, primaryIndex, expectedView, validators, blockReceivedTimeSeconds, transactions, signatures, header, }) {
|
8 | super({
|
9 | type: 'backup',
|
10 | viewNumber,
|
11 | myIndex,
|
12 | primaryIndex,
|
13 | expectedView,
|
14 | validators,
|
15 | blockReceivedTimeSeconds,
|
16 | transactions,
|
17 | signatures,
|
18 | header,
|
19 | });
|
20 | }
|
21 | clone({ transactions }) {
|
22 | return new RequestReceivedContext({
|
23 | viewNumber: this.viewNumber,
|
24 | myIndex: this.myIndex,
|
25 | primaryIndex: this.primaryIndex,
|
26 | expectedView: this.expectedView,
|
27 | validators: this.validators,
|
28 | blockReceivedTimeSeconds: this.blockReceivedTimeSeconds,
|
29 | transactions,
|
30 | header: {
|
31 | type: 'existing',
|
32 | block: this.header,
|
33 | transactionHashes: this.transactionHashes,
|
34 | },
|
35 | signatures: this.signatures,
|
36 | });
|
37 | }
|
38 | cloneViewChanging({ expectedView }) {
|
39 | return new ViewChangingContext_1.ViewChangingContext({
|
40 | previousHash: this.previousHash,
|
41 | blockIndex: this.blockIndex,
|
42 | viewNumber: this.viewNumber,
|
43 | myIndex: this.myIndex,
|
44 | primaryIndex: this.primaryIndex,
|
45 | expectedView,
|
46 | validators: this.validators,
|
47 | blockReceivedTimeSeconds: this.blockReceivedTimeSeconds,
|
48 | });
|
49 | }
|
50 | cloneSignatureSent({ signatures, }) {
|
51 | return new SignatureSentContext_1.SignatureSentContext({
|
52 | type: this.type,
|
53 | viewNumber: this.viewNumber,
|
54 | myIndex: this.myIndex,
|
55 | primaryIndex: this.primaryIndex,
|
56 | expectedView: this.expectedView,
|
57 | validators: this.validators,
|
58 | blockReceivedTimeSeconds: this.blockReceivedTimeSeconds,
|
59 | transactions: this.transactions,
|
60 | header: {
|
61 | type: 'existing',
|
62 | block: this.header,
|
63 | transactionHashes: this.transactionHashes,
|
64 | },
|
65 | signatures,
|
66 | });
|
67 | }
|
68 | cloneExpectedView({ expectedView }) {
|
69 | return new RequestReceivedContext({
|
70 | viewNumber: this.viewNumber,
|
71 | myIndex: this.myIndex,
|
72 | primaryIndex: this.primaryIndex,
|
73 | expectedView,
|
74 | validators: this.validators,
|
75 | blockReceivedTimeSeconds: this.blockReceivedTimeSeconds,
|
76 | transactions: this.transactions,
|
77 | signatures: this.signatures,
|
78 | header: {
|
79 | type: 'existing',
|
80 | block: this.header,
|
81 | transactionHashes: this.transactionHashes,
|
82 | },
|
83 | });
|
84 | }
|
85 | cloneSignatures({ signatures, }) {
|
86 | return new RequestReceivedContext({
|
87 | viewNumber: this.viewNumber,
|
88 | myIndex: this.myIndex,
|
89 | primaryIndex: this.primaryIndex,
|
90 | expectedView: this.expectedView,
|
91 | validators: this.validators,
|
92 | blockReceivedTimeSeconds: this.blockReceivedTimeSeconds,
|
93 | transactions: this.transactions,
|
94 | signatures,
|
95 | header: {
|
96 | type: 'existing',
|
97 | block: this.header,
|
98 | transactionHashes: this.transactionHashes,
|
99 | },
|
100 | });
|
101 | }
|
102 | }
|
103 | exports.RequestReceivedContext = RequestReceivedContext;
|
104 |
|
105 | //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJlcXVlc3RSZWNlaXZlZENvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFHQSxtREFBZ0Q7QUFDaEQsaUVBQThEO0FBRTlELCtEQUE0RDtBQTRCNUQsTUFBYSxzQkFBdUIsU0FBUSw2QkFBcUM7SUFDL0UsWUFBbUIsRUFDakIsVUFBVSxFQUNWLE9BQU8sRUFDUCxZQUFZLEVBQ1osWUFBWSxFQUNaLFVBQVUsRUFDVix3QkFBd0IsRUFDeEIsWUFBWSxFQUNaLFVBQVUsRUFDVixNQUFNLEdBQ29CO1FBQzFCLEtBQUssQ0FBQztZQUNKLElBQUksRUFBRSxRQUFRO1lBQ2QsVUFBVTtZQUNWLE9BQU87WUFDUCxZQUFZO1lBQ1osWUFBWTtZQUNaLFVBQVU7WUFDVix3QkFBd0I7WUFDeEIsWUFBWTtZQUNaLFVBQVU7WUFDVixNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBMkM7UUFDcEUsT0FBTyxJQUFJLHNCQUFzQixDQUFDO1lBQ2hDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0Isd0JBQXdCLEVBQUUsSUFBSSxDQUFDLHdCQUF3QjtZQUN2RCxZQUFZO1lBQ1osTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxVQUFVO2dCQUNoQixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ2xCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUI7YUFDMUM7WUFFRCxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7U0FDNUIsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEVBQUUsWUFBWSxFQUFnRDtRQUNyRixPQUFPLElBQUkseUNBQW1CLENBQUM7WUFDN0IsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixZQUFZO1lBQ1osVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLHdCQUF3QixFQUFFLElBQUksQ0FBQyx3QkFBd0I7U0FDeEQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGtCQUFrQixDQUFDLEVBQ3hCLFVBQVUsR0FHWDtRQUNDLE9BQU8sSUFBSSwyQ0FBb0IsQ0FBQztZQUM5QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLHdCQUF3QixFQUFFLElBQUksQ0FBQyx3QkFBd0I7WUFDdkQsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNsQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO2FBQzFDO1lBRUQsVUFBVTtTQUNYLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxFQUFFLFlBQVksRUFBZ0Q7UUFDckYsT0FBTyxJQUFJLHNCQUFzQixDQUFDO1lBQ2hDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLFlBQVk7WUFDWixVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVU7WUFDM0Isd0JBQXdCLEVBQUUsSUFBSSxDQUFDLHdCQUF3QjtZQUN2RCxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLE1BQU0sRUFBRTtnQkFDTixJQUFJLEVBQUUsVUFBVTtnQkFDaEIsS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNO2dCQUNsQixpQkFBaUIsRUFBRSxJQUFJLENBQUMsaUJBQWlCO2FBQzFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVNLGVBQWUsQ0FBQyxFQUNyQixVQUFVLEdBR1g7UUFDQyxPQUFPLElBQUksc0JBQXNCLENBQUM7WUFDaEMsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7WUFDL0IsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQix3QkFBd0IsRUFBRSxJQUFJLENBQUMsd0JBQXdCO1lBQ3ZELFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixVQUFVO1lBQ1YsTUFBTSxFQUFFO2dCQUNOLElBQUksRUFBRSxVQUFVO2dCQUNoQixLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ2xCLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUI7YUFDMUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUF6SEQsd0RBeUhDIiwiZmlsZSI6Im5lby1vbmUtbm9kZS1jb25zZW5zdXMvc3JjL2NvbnRleHQvUmVxdWVzdFJlY2VpdmVkQ29udGV4dC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVDUG9pbnQsIFVJbnQxNjAsIFVJbnQyNTYsIFVJbnQyNTZIZXggfSBmcm9tICdAbmVvLW9uZS9jbGllbnQtY29tbW9uJztcbmltcG9ydCB7IEJsb2NrIH0gZnJvbSAnQG5lby1vbmUvbm9kZS1jb3JlJztcbmltcG9ydCB7IEJOIH0gZnJvbSAnYm4uanMnO1xuaW1wb3J0IHsgSGVhZGVyQ29udGV4dCB9IGZyb20gJy4vSGVhZGVyQ29udGV4dCc7XG5pbXBvcnQgeyBTaWduYXR1cmVTZW50Q29udGV4dCB9IGZyb20gJy4vU2lnbmF0dXJlU2VudENvbnRleHQnO1xuaW1wb3J0IHsgVHJhbnNhY3Rpb25zIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBWaWV3Q2hhbmdpbmdDb250ZXh0IH0gZnJvbSAnLi9WaWV3Q2hhbmdpbmdDb250ZXh0JztcblxuaW50ZXJmYWNlIFJlcXVlc3RSZWNlaXZlZENvbnRleHRBZGQge1xuICByZWFkb25seSB2aWV3TnVtYmVyOiBudW1iZXI7XG4gIHJlYWRvbmx5IG15SW5kZXg6IG51bWJlcjtcbiAgcmVhZG9ubHkgcHJpbWFyeUluZGV4OiBudW1iZXI7XG4gIHJlYWRvbmx5IGV4cGVjdGVkVmlldzogcmVhZG9ubHkgbnVtYmVyW107XG4gIHJlYWRvbmx5IHZhbGlkYXRvcnM6IHJlYWRvbmx5IEVDUG9pbnRbXTtcbiAgcmVhZG9ubHkgYmxvY2tSZWNlaXZlZFRpbWVTZWNvbmRzOiBudW1iZXI7XG4gIHJlYWRvbmx5IHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25zO1xuICByZWFkb25seSBzaWduYXR1cmVzOiBSZWFkb25seUFycmF5PEJ1ZmZlciB8IHVuZGVmaW5lZD47XG4gIHJlYWRvbmx5IGhlYWRlcjpcbiAgICB8IHtcbiAgICAgICAgcmVhZG9ubHkgdHlwZTogJ25ldyc7XG4gICAgICAgIHJlYWRvbmx5IHByZXZpb3VzSGFzaDogVUludDI1NjtcbiAgICAgICAgcmVhZG9ubHkgdHJhbnNhY3Rpb25IYXNoZXM6IHJlYWRvbmx5IFVJbnQyNTZIZXhbXTtcbiAgICAgICAgcmVhZG9ubHkgYmxvY2tJbmRleDogbnVtYmVyO1xuICAgICAgICByZWFkb25seSBub25jZTogQk47XG4gICAgICAgIHJlYWRvbmx5IHRpbWVzdGFtcDogbnVtYmVyO1xuICAgICAgICByZWFkb25seSBuZXh0Q29uc2Vuc3VzOiBVSW50MTYwO1xuICAgICAgfVxuICAgIHwge1xuICAgICAgICByZWFkb25seSB0eXBlOiAnZXhpc3RpbmcnO1xuICAgICAgICByZWFkb25seSBibG9jazogQmxvY2s7XG4gICAgICAgIHJlYWRvbmx5IHRyYW5zYWN0aW9uSGFzaGVzOiByZWFkb25seSBVSW50MjU2SGV4W107XG4gICAgICB9O1xufVxuXG5leHBvcnQgY2xhc3MgUmVxdWVzdFJlY2VpdmVkQ29udGV4dCBleHRlbmRzIEhlYWRlckNvbnRleHQ8UmVxdWVzdFJlY2VpdmVkQ29udGV4dD4ge1xuICBwdWJsaWMgY29uc3RydWN0b3Ioe1xuICAgIHZpZXdOdW1iZXIsXG4gICAgbXlJbmRleCxcbiAgICBwcmltYXJ5SW5kZXgsXG4gICAgZXhwZWN0ZWRWaWV3LFxuICAgIHZhbGlkYXRvcnMsXG4gICAgYmxvY2tSZWNlaXZlZFRpbWVTZWNvbmRzLFxuICAgIHRyYW5zYWN0aW9ucyxcbiAgICBzaWduYXR1cmVzLFxuICAgIGhlYWRlcixcbiAgfTogUmVxdWVzdFJlY2VpdmVkQ29udGV4dEFkZCkge1xuICAgIHN1cGVyKHtcbiAgICAgIHR5cGU6ICdiYWNrdXAnLFxuICAgICAgdmlld051bWJlcixcbiAgICAgIG15SW5kZXgsXG4gICAgICBwcmltYXJ5SW5kZXgsXG4gICAgICBleHBlY3RlZFZpZXcsXG4gICAgICB2YWxpZGF0b3JzLFxuICAgICAgYmxvY2tSZWNlaXZlZFRpbWVTZWNvbmRzLFxuICAgICAgdHJhbnNhY3Rpb25zLFxuICAgICAgc2lnbmF0dXJlcyxcbiAgICAgIGhlYWRlcixcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBjbG9uZSh7IHRyYW5zYWN0aW9ucyB9OiB7IHJlYWRvbmx5IHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25zIH0pOiBSZXF1ZXN0UmVjZWl2ZWRDb250ZXh0IHtcbiAgICByZXR1cm4gbmV3IFJlcXVlc3RSZWNlaXZlZENvbnRleHQoe1xuICAgICAgdmlld051bWJlcjogdGhpcy52aWV3TnVtYmVyLFxuICAgICAgbXlJbmRleDogdGhpcy5teUluZGV4LFxuICAgICAgcHJpbWFyeUluZGV4OiB0aGlzLnByaW1hcnlJbmRleCxcbiAgICAgIGV4cGVjdGVkVmlldzogdGhpcy5leHBlY3RlZFZpZXcsXG4gICAgICB2YWxpZGF0b3JzOiB0aGlzLnZhbGlkYXRvcnMsXG4gICAgICBibG9ja1JlY2VpdmVkVGltZVNlY29uZHM6IHRoaXMuYmxvY2tSZWNlaXZlZFRpbWVTZWNvbmRzLFxuICAgICAgdHJhbnNhY3Rpb25zLFxuICAgICAgaGVhZGVyOiB7XG4gICAgICAgIHR5cGU6ICdleGlzdGluZycsXG4gICAgICAgIGJsb2NrOiB0aGlzLmhlYWRlcixcbiAgICAgICAgdHJhbnNhY3Rpb25IYXNoZXM6IHRoaXMudHJhbnNhY3Rpb25IYXNoZXMsXG4gICAgICB9LFxuXG4gICAgICBzaWduYXR1cmVzOiB0aGlzLnNpZ25hdHVyZXMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xvbmVWaWV3Q2hhbmdpbmcoeyBleHBlY3RlZFZpZXcgfTogeyByZWFkb25seSBleHBlY3RlZFZpZXc6IHJlYWRvbmx5IG51bWJlcltdIH0pOiBWaWV3Q2hhbmdpbmdDb250ZXh0IHtcbiAgICByZXR1cm4gbmV3IFZpZXdDaGFuZ2luZ0NvbnRleHQoe1xuICAgICAgcHJldmlvdXNIYXNoOiB0aGlzLnByZXZpb3VzSGFzaCxcbiAgICAgIGJsb2NrSW5kZXg6IHRoaXMuYmxvY2tJbmRleCxcbiAgICAgIHZpZXdOdW1iZXI6IHRoaXMudmlld051bWJlcixcbiAgICAgIG15SW5kZXg6IHRoaXMubXlJbmRleCxcbiAgICAgIHByaW1hcnlJbmRleDogdGhpcy5wcmltYXJ5SW5kZXgsXG4gICAgICBleHBlY3RlZFZpZXcsXG4gICAgICB2YWxpZGF0b3JzOiB0aGlzLnZhbGlkYXRvcnMsXG4gICAgICBibG9ja1JlY2VpdmVkVGltZVNlY29uZHM6IHRoaXMuYmxvY2tSZWNlaXZlZFRpbWVTZWNvbmRzLFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNsb25lU2lnbmF0dXJlU2VudCh7XG4gICAgc2lnbmF0dXJlcyxcbiAgfToge1xuICAgIHJlYWRvbmx5IHNpZ25hdHVyZXM6IFJlYWRvbmx5QXJyYXk8QnVmZmVyIHwgdW5kZWZpbmVkPjtcbiAgfSk6IFNpZ25hdHVyZVNlbnRDb250ZXh0IHtcbiAgICByZXR1cm4gbmV3IFNpZ25hdHVyZVNlbnRDb250ZXh0KHtcbiAgICAgIHR5cGU6IHRoaXMudHlwZSxcbiAgICAgIHZpZXdOdW1iZXI6IHRoaXMudmlld051bWJlcixcbiAgICAgIG15SW5kZXg6IHRoaXMubXlJbmRleCxcbiAgICAgIHByaW1hcnlJbmRleDogdGhpcy5wcmltYXJ5SW5kZXgsXG4gICAgICBleHBlY3RlZFZpZXc6IHRoaXMuZXhwZWN0ZWRWaWV3LFxuICAgICAgdmFsaWRhdG9yczogdGhpcy52YWxpZGF0b3JzLFxuICAgICAgYmxvY2tSZWNlaXZlZFRpbWVTZWNvbmRzOiB0aGlzLmJsb2NrUmVjZWl2ZWRUaW1lU2Vjb25kcyxcbiAgICAgIHRyYW5zYWN0aW9uczogdGhpcy50cmFuc2FjdGlvbnMsXG4gICAgICBoZWFkZXI6IHtcbiAgICAgICAgdHlwZTogJ2V4aXN0aW5nJyxcbiAgICAgICAgYmxvY2s6IHRoaXMuaGVhZGVyLFxuICAgICAgICB0cmFuc2FjdGlvbkhhc2hlczogdGhpcy50cmFuc2FjdGlvbkhhc2hlcyxcbiAgICAgIH0sXG5cbiAgICAgIHNpZ25hdHVyZXMsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY2xvbmVFeHBlY3RlZFZpZXcoeyBleHBlY3RlZFZpZXcgfTogeyByZWFkb25seSBleHBlY3RlZFZpZXc6IHJlYWRvbmx5IG51bWJlcltdIH0pOiBSZXF1ZXN0UmVjZWl2ZWRDb250ZXh0IHtcbiAgICByZXR1cm4gbmV3IFJlcXVlc3RSZWNlaXZlZENvbnRleHQoe1xuICAgICAgdmlld051bWJlcjogdGhpcy52aWV3TnVtYmVyLFxuICAgICAgbXlJbmRleDogdGhpcy5teUluZGV4LFxuICAgICAgcHJpbWFyeUluZGV4OiB0aGlzLnByaW1hcnlJbmRleCxcbiAgICAgIGV4cGVjdGVkVmlldyxcbiAgICAgIHZhbGlkYXRvcnM6IHRoaXMudmFsaWRhdG9ycyxcbiAgICAgIGJsb2NrUmVjZWl2ZWRUaW1lU2Vjb25kczogdGhpcy5ibG9ja1JlY2VpdmVkVGltZVNlY29uZHMsXG4gICAgICB0cmFuc2FjdGlvbnM6IHRoaXMudHJhbnNhY3Rpb25zLFxuICAgICAgc2lnbmF0dXJlczogdGhpcy5zaWduYXR1cmVzLFxuICAgICAgaGVhZGVyOiB7XG4gICAgICAgIHR5cGU6ICdleGlzdGluZycsXG4gICAgICAgIGJsb2NrOiB0aGlzLmhlYWRlcixcbiAgICAgICAgdHJhbnNhY3Rpb25IYXNoZXM6IHRoaXMudHJhbnNhY3Rpb25IYXNoZXMsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNsb25lU2lnbmF0dXJlcyh7XG4gICAgc2lnbmF0dXJlcyxcbiAgfToge1xuICAgIHJlYWRvbmx5IHNpZ25hdHVyZXM6IFJlYWRvbmx5QXJyYXk8QnVmZmVyIHwgdW5kZWZpbmVkPjtcbiAgfSk6IFJlcXVlc3RSZWNlaXZlZENvbnRleHQge1xuICAgIHJldHVybiBuZXcgUmVxdWVzdFJlY2VpdmVkQ29udGV4dCh7XG4gICAgICB2aWV3TnVtYmVyOiB0aGlzLnZpZXdOdW1iZXIsXG4gICAgICBteUluZGV4OiB0aGlzLm15SW5kZXgsXG4gICAgICBwcmltYXJ5SW5kZXg6IHRoaXMucHJpbWFyeUluZGV4LFxuICAgICAgZXhwZWN0ZWRWaWV3OiB0aGlzLmV4cGVjdGVkVmlldyxcbiAgICAgIHZhbGlkYXRvcnM6IHRoaXMudmFsaWRhdG9ycyxcbiAgICAgIGJsb2NrUmVjZWl2ZWRUaW1lU2Vjb25kczogdGhpcy5ibG9ja1JlY2VpdmVkVGltZVNlY29uZHMsXG4gICAgICB0cmFuc2FjdGlvbnM6IHRoaXMudHJhbnNhY3Rpb25zLFxuICAgICAgc2lnbmF0dXJlcyxcbiAgICAgIGhlYWRlcjoge1xuICAgICAgICB0eXBlOiAnZXhpc3RpbmcnLFxuICAgICAgICBibG9jazogdGhpcy5oZWFkZXIsXG4gICAgICAgIHRyYW5zYWN0aW9uSGFzaGVzOiB0aGlzLnRyYW5zYWN0aW9uSGFzaGVzLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuIl19
|