@banta/sdk 4.0.9 → 4.0.10
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/banta-sdk.umd.js +1 -1
- package/bundles/banta-sdk.umd.js.map +1 -1
- package/bundles/banta-sdk.umd.min.js +1 -1
- package/bundles/banta-sdk.umd.min.js.map +1 -1
- package/esm2015/lib/comments/banta-comments/banta-comments.component.js +2 -2
- package/fesm2015/banta-sdk.js +1 -1
- package/fesm2015/banta-sdk.js.map +1 -1
- package/package.json +1 -1
|
@@ -77,7 +77,7 @@ export class BantaCommentsComponent {
|
|
|
77
77
|
this.sendReply = (message) => __awaiter(this, void 0, void 0, function* () {
|
|
78
78
|
var _b;
|
|
79
79
|
try {
|
|
80
|
-
const intercept = yield ((_b = this.shouldInterceptMessageSend) === null || _b === void 0 ? void 0 : _b.call(this, message, this.
|
|
80
|
+
const intercept = yield ((_b = this.shouldInterceptMessageSend) === null || _b === void 0 ? void 0 : _b.call(this, message, this.selectedMessageThread));
|
|
81
81
|
if (!intercept) {
|
|
82
82
|
yield this.selectedMessageThread.send(message);
|
|
83
83
|
}
|
|
@@ -487,4 +487,4 @@ BantaCommentsComponent.propDecorators = {
|
|
|
487
487
|
avatarSelected: [{ type: Output }],
|
|
488
488
|
shared: [{ type: Output }]
|
|
489
489
|
};
|
|
490
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFudGEtY29tbWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2RrL3NyYy9saWIvY29tbWVudHMvYmFudGEtY29tbWVudHMvYmFudGEtY29tbWVudHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQXFCLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUkxRDs7R0FFRztBQU1ILE1BQU0sT0FBTyxzQkFBc0I7SUFDL0IsWUFDWSxPQUF3QixFQUN4QixVQUFtQyxFQUNuQyxjQUE4QjtRQUY5QixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUF3RzFDLGlCQUFpQjtRQUNULG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzdCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQWlCOUIsWUFBTyxHQUFZLElBQUksQ0FBQztRQUN4QixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFzQmxCLHlCQUFvQixHQUFHLENBQUMsQ0FBQztRQUV4QixvQkFBZSxHQUFhO1lBQ2pDLGtCQUFrQjtZQUNsQixpQ0FBaUM7WUFDakMsNkJBQTZCO1lBQzdCLGlDQUFpQztZQUNqQyxpQ0FBaUM7WUFDakM7OztTQUdDO1NBQ0osQ0FBQztRQXVCRixhQUFhO1FBRUwsb0JBQWUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3RDLDJCQUFzQixHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7UUFDL0Msd0JBQW1CLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUMxQyxhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQWUsQ0FBQztRQUN0QyxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQWUsQ0FBQztRQUN2QyxjQUFTLEdBQUcsSUFBSSxPQUFPLEVBQWUsQ0FBQztRQUN2QyxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFlLENBQUM7UUFDM0MsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFlLENBQUM7UUFDckMsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN4QyxvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFFdEMsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDM0IsZUFBVSxHQUFrQixhQUFhLENBQUMsTUFBTSxDQUFDO1FBTXpELDJCQUFzQixHQUFHLEtBQUssQ0FBQztRQUUvQixTQUFTO1FBRUEsZ0JBQVcsR0FBRyxTQUFTLENBQUM7UUFDeEIsY0FBUyxHQUFHLE1BQU0sQ0FBQztRQUNuQixlQUFVLEdBQUcsT0FBTyxDQUFDO1FBQ3JCLGlCQUFZLEdBQUcsU0FBUyxDQUFDO1FBQ3pCLDBCQUFxQixHQUFHLE1BQU0sQ0FBQztRQUMvQixxQkFBZ0IsR0FBRyxnQkFBZ0IsQ0FBQztRQUNwQyxtQkFBYyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFNekIsaUJBQVksR0FBVyxFQUFFLENBQUM7UUFZbkMsYUFBUSxHQUFjO1lBQ2xCLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUM7WUFDakQsRUFBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSw0QkFBNEIsRUFBQztZQUMvRCxFQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLHFDQUFxQyxFQUFDO1NBQ3hFLENBQUM7UUF4T0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFPLE9BQW9CLEVBQUUsRUFBRTs7WUFDOUMsSUFBSTtnQkFDQSxNQUFNLFNBQVMsR0FBRyxhQUFNLElBQUksQ0FBQywwQkFBMEIsK0NBQS9CLElBQUksRUFBOEIsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUMsQ0FBQztnQkFDaEYsSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDWixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUNuQztnQkFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxLQUFLLGFBQWEsQ0FBQyxNQUFNLEVBQUU7b0JBQ2hELElBQUksQ0FBQyxTQUFTLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztpQkFDekM7Z0JBQ0QsT0FBTyxJQUFJLENBQUM7YUFDZjtZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQzthQUN0RDtRQUNMLENBQUMsQ0FBQSxDQUFBO1FBRUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFPLE9BQW9CLEVBQUUsRUFBRTs7WUFDNUMsSUFBSTtnQkFDQSxNQUFNLFNBQVMsR0FBRyxhQUFNLElBQUksQ0FBQywwQkFBMEIsK0NBQS9CLElBQUksRUFBOEIsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUMsQ0FBQztnQkFDaEYsSUFBSSxDQUFDLFNBQVMsRUFBRTtvQkFDWixNQUFNLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7aUJBQ2xEO2dCQUNELE9BQU8sSUFBSSxDQUFDO2FBQ2Y7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDUixJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxFQUFFLHdCQUF3QixDQUFDLENBQUM7YUFDNUQ7UUFDTCxDQUFDLENBQUEsQ0FBQTtJQUNMLENBQUM7SUFFTyw2QkFBNkIsQ0FBQyxDQUFRLEVBQUUsU0FBaUIsRUFBRTtRQUMvRCxJQUFJO1lBQ0EsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztTQUMxQztRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1IsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUNwQjtJQUNMLENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxDQUFRLEVBQUUsU0FBaUIsRUFBRTtRQUN4RCxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDO1FBRTdCLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO1lBQy9DLFlBQVksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBRWhFLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRTtnQkFDeEMsZ0dBQWdHO2dCQUNoRyw2QkFBNkI7Z0JBRTdCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNyRSxPQUFPO2FBQ1Y7U0FDSjtRQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxNQUFNLEdBQUcsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsb0NBQW9DO0lBRXBDLFFBQVE7UUFDSixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDN0UsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXBCLElBQUksT0FBTyxNQUFNLEtBQUssV0FBVyxFQUFFO1lBQy9CLElBQUksV0FBVyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN0RCxJQUFJLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztpQkFDN0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDdEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQzVDO1lBRUQsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ25DLElBQUksU0FBUyxFQUFFO2dCQUNYLElBQUksQ0FBQyxlQUFlLEdBQUcsU0FBUyxDQUFDO2FBQ3BDO1NBQ0o7SUFDTCxDQUFDO0lBSUQsV0FBVztRQUNQLElBQUksQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVhLG9CQUFvQixDQUFDLE9BQWU7O1lBQzlDLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDZCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNyQixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQzthQUN2QjtZQUVELFVBQVUsQ0FBQyxHQUFTLEVBQUU7Z0JBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsaURBQWlELE9BQU8sR0FBRyxDQUFDLENBQUM7Z0JBQ3pFLElBQUksQ0FBQyxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztnQkFFNUYsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFO29CQUN0QixJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO29CQUNuRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztpQkFDL0I7Z0JBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNwRSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvRCxDQUFDLENBQUEsQ0FBQyxDQUFDO1FBQ1AsQ0FBQztLQUFBO0lBTUQsSUFBSSxjQUFjO1FBQ2QsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLGNBQWMsQ0FBQyxLQUFLO1FBQ3BCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDbkMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNaLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO1lBQzdCLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQztZQUN0QyxDQUFDLENBQUMsQ0FBQTtRQUNOLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNaLENBQUM7SUFPYSxZQUFZOztZQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUUzRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQUUsT0FBTztZQUNqQyxNQUFNLElBQUksT0FBTyxDQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDckUsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUFFLE9BQU87WUFDakMsTUFBTSxJQUFJLE9BQU8sQ0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3JFLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFBRSxPQUFPO1lBQ2pDLE1BQU0sSUFBSSxPQUFPLENBQU8sT0FBTyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNyRSxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBQUUsT0FBTztZQUVqQyxPQUFPLENBQUMsR0FBRyxDQUFDLGdFQUFnRSxDQUFDLENBQUM7WUFDOUUsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUM5QixJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVc7Z0JBQzdCLElBQUksQ0FBQyxhQUFhLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzRSxDQUFDO0tBQUE7SUFpQk8sYUFBYTs7UUFDakIsSUFBSSxPQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLEtBQUssS0FBSSxPQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLEtBQUssTUFBSyxZQUFZLEVBQUU7WUFDM0QsYUFBYSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLGFBQWEsQ0FBQztZQUNwQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNaLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3pCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUNSLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7UUFFRCxJQUFJLGlCQUFpQixHQUFHLENBQUMsR0FBQyxJQUFJLENBQUM7UUFDL0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3hELElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsRUFBRTtnQkFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7Z0JBQ3hFLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDdEM7U0FDSjtRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUF5Q0QsSUFDSSxNQUFNLEtBQXFCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDckQsSUFBSSxNQUFNLENBQUMsS0FBSztRQUNaLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksS0FBSyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDL0IsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztTQUMvQjtJQUNMLENBQUM7SUFPRCxJQUNJLE9BQU8sS0FBYSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQy9DLElBQUksT0FBTyxDQUFDLEtBQUs7UUFDYixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxFQUFFO1lBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztTQUN0RDtJQUNMLENBQUM7SUFFRCxVQUFVO0lBRVYsSUFBYyxjQUFjLEtBQXVCLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFDakYsSUFBYyxrQkFBa0IsS0FBSyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7SUFDdkUsSUFBYyxxQkFBcUIsS0FBeUIsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDO0lBQ2pHLElBQWMsT0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDaEUsSUFBYyxRQUFRLEtBQUssT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNsRSxJQUFjLFFBQVEsS0FBSyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ2xFLElBQWMsWUFBWSxLQUFLLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUUsSUFBYyxnQkFBZ0IsS0FBSyxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDbEYsSUFBYyxjQUFjLEtBQUssT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM5RSxJQUFjLE1BQU0sS0FBSyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRTlELElBQUksU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDM0MsSUFBSSxTQUFTLENBQUMsS0FBSztRQUNmLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzVDLENBQUMsQ0FBQyxDQUFDO1NBQ047SUFDTCxDQUFDO0lBS0Qsa0JBQWtCO0lBRWxCLGVBQWUsQ0FBQyxTQUE0QjtRQUN4QyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixTQUFTLElBQUksQ0FBQyxDQUFDO1lBQzlFLElBQUksT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3RCLGdEQUFnRDtnQkFDaEQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQzthQUNsQztRQUNILENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNiLENBQUM7SUFFSyx1QkFBdUIsQ0FBQyxFQUFVOzs7WUFDcEMsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUV6QixNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUM7WUFFbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5Q0FBeUMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMvRCxJQUFJLE9BQW9CLENBQUM7WUFFekIsSUFBSTtnQkFDQSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN2QztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2dCQUMvRCxPQUFPO2FBQ1Y7WUFFRCxNQUFBLE9BQU8sQ0FBQyxjQUFjLG9DQUF0QixPQUFPLENBQUMsY0FBYyxHQUFLLEVBQUUsRUFBQztZQUU5QiwwRUFBMEU7WUFDMUUsNkNBQTZDO1lBRTdDLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRTtnQkFFekIsSUFBSSxhQUFhLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7Z0JBQ25FLE1BQUEsYUFBYSxDQUFDLGNBQWMsb0NBQTVCLGFBQWEsQ0FBQyxjQUFjLEdBQUssRUFBRSxFQUFDO2dCQUNwQyxJQUFJLE1BQU0sR0FBRyxNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLENBQUM7Z0JBRXJELDJFQUEyRTtnQkFDM0UsbUJBQW1CO2dCQUNuQixNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQ25CLE9BQU8sR0FBRyxNQUFNLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUN2QyxNQUFBLE9BQU8sQ0FBQyxjQUFjLG9DQUF0QixPQUFPLENBQUMsY0FBYyxHQUFLLEVBQUUsRUFBQztnQkFDOUIsT0FBTyxDQUFDLGNBQWMsQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO2dCQUMxQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNyQixNQUFNLElBQUksT0FBTyxDQUFPLE9BQU8sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFFeEU7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUMvQjtZQUVELElBQUksQ0FBQyxlQUFlLENBQUMsRUFBRSxDQUFDLENBQUM7O0tBQzVCO0lBRUQsc0JBQXNCLENBQUMsWUFBb0I7UUFDdkMscUVBQXFFO1FBRXJFLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN4QyxnR0FBZ0c7WUFDaEcsNkJBQTZCO1lBRTdCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGVBQWUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JFLE9BQU87U0FDVjtRQUVELEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBRUQsb0JBQW9CLENBQUMsT0FBZTtRQUNoQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxlQUFlLENBQUMsT0FBb0I7UUFDaEMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHFCQUFxQixPQUFPLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxRixJQUFJLENBQUMsRUFBRTtZQUNILE9BQU87UUFDWCxFQUFFLENBQUMsY0FBYyxDQUFDLEVBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFDLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRU8sY0FBYyxDQUFDLE9BQW9CO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzdDLE9BQU87UUFFWCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNyRSxJQUFJLFFBQVE7WUFDUixPQUFPO1FBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxVQUFVO0lBRUosV0FBVyxDQUFDLE1BQXNCLEVBQUUsT0FBb0I7OztZQUMxRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1QixPQUFPLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFFckMsSUFBSSxRQUFDLE9BQU8sQ0FBQyxTQUFTLDBDQUFFLEtBQUssQ0FBQTtnQkFDekIsT0FBTyxDQUFDLEtBQUssR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRTdDLElBQUk7Z0JBQ0EsTUFBTSxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN4QztZQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUNSLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDLEVBQUUsK0JBQStCLENBQUMsQ0FBQzthQUMxRTtZQUVELE1BQU0sSUFBSSxPQUFPLENBQU8sT0FBTyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNyRSxPQUFPLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7O0tBQ3pDO0lBRUssYUFBYSxDQUFDLE1BQXNCLEVBQUUsT0FBb0I7OztZQUM1RCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1QixPQUFPLENBQUMsY0FBYyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7WUFFckMsVUFBSSxPQUFPLENBQUMsU0FBUywwQ0FBRSxLQUFLO2dCQUN4QixPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFN0MsSUFBSTtnQkFDQSxNQUFNLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzFDO1lBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLDZCQUE2QixDQUFDLENBQUMsRUFBRSxpQ0FBaUMsQ0FBQyxDQUFDO2FBQzVFO1lBRUQsTUFBTSxJQUFJLE9BQU8sQ0FBTyxPQUFPLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3JFLE9BQU8sQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQzs7S0FDekM7SUFFSyxhQUFhLENBQUMsT0FBb0I7O1lBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2pDLENBQUM7S0FBQTtJQUVLLGVBQWU7O1lBQ2pCLElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUM7WUFFbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7WUFDNUIsSUFBSSxJQUFJLENBQUMscUJBQXFCLEVBQUU7Z0JBQzVCLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUs7b0JBQ2hDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQzthQUNyQztZQUVELElBQUksT0FBTztnQkFDUCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3hELENBQUM7S0FBQTtJQUVLLGFBQWEsQ0FBQyxPQUFvQjs7WUFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxPQUFPLENBQUM7WUFDL0IsSUFBSSxxQkFBcUIsR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7WUFFNUYsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUNyRCxVQUFVLENBQUMsR0FBUyxFQUFFO2dCQUNsQixJQUFJLENBQUMscUJBQXFCLEdBQUcscUJBQXFCLENBQUM7WUFDdkQsQ0FBQyxDQUFBLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFFUixPQUFPLHFCQUFxQixDQUFDO1FBQ2pDLENBQUM7S0FBQTtJQUVLLFVBQVU7O1lBQ1osSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNoQyxDQUFDO0tBQUE7SUFFSyxjQUFjOztZQUNoQixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEMsQ0FBQztLQUFBO0lBRUssaUJBQWlCLENBQUMsT0FBb0I7O1lBQ3hDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JDLENBQUM7S0FBQTtJQUVLLGNBQWMsQ0FBQyxJQUFVOztZQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLENBQUM7S0FBQTtJQUVLLFlBQVksQ0FBQyxJQUFVOztZQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQyxDQUFDO0tBQUE7SUFFSyxZQUFZLENBQUMsT0FBb0I7O1lBQ25DLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLENBQUM7S0FBQTtJQUVLLGFBQWEsQ0FBQyxPQUFvQjs7WUFDcEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyw0RUFBNEUsQ0FBQztnQkFDdEYsT0FBTztZQUVYLElBQUk7Z0JBQ0EsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDL0M7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDUixJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxFQUFFLDRCQUE0QixDQUFDLENBQUM7YUFDdkU7UUFDTCxDQUFDO0tBQUE7SUFFSyxXQUFXLENBQUMsTUFBc0IsRUFBRSxPQUFvQixFQUFFLE9BQWU7O1lBQzNFLElBQUk7Z0JBQ0EsTUFBTSxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQUM7YUFDakQ7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDUixJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxFQUFFLCtCQUErQixDQUFDLENBQUM7Z0JBQ3ZFLE9BQU87YUFDVjtZQUVELE9BQU8sQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1lBQzFCLE9BQU8sQ0FBQyxjQUFjLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUMzQyxDQUFDO0tBQUE7SUFFSyxZQUFZLENBQUMsT0FBb0I7O1lBQ25DLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDcEQsT0FBTyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQzFDLENBQUM7S0FBQTtJQUVLLFFBQVEsQ0FBQyxPQUFvQixFQUFFLElBQVk7O1lBQzdDLElBQUk7Z0JBQ0EsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNoRCxPQUFPLENBQUMsY0FBYyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7YUFDMUM7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDUixJQUFJLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxFQUFFLDBCQUEwQixDQUFDLENBQUM7YUFDckU7UUFDTCxDQUFDO0tBQUE7OztZQS9lSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsbzZNQUE4Qzs7YUFFakQ7OztZQVhRLGVBQWU7WUFMVyxVQUFVO1lBSXBDLGNBQWM7Ozs4QkFxS2xCLEtBQUs7MEJBeURMLEtBQUs7d0JBQ0wsS0FBSzt5QkFDTCxLQUFLOzJCQUNMLEtBQUs7b0NBQ0wsS0FBSzsrQkFDTCxLQUFLOzZCQUNMLEtBQUs7K0JBQ0wsS0FBSzswQkFDTCxLQUFLOzBCQUNMLEtBQUs7aUNBQ0wsS0FBSzsrQkFDTCxLQUFLO3lDQUNMLEtBQUs7MkJBQ0wsS0FBSztxQkFFTCxLQUFLO3VCQVNMLEtBQUs7c0JBTUwsS0FBSzs2QkFXTCxNQUFNO2lDQUNOLE1BQU07b0NBQ04sTUFBTTtzQkFDTixNQUFNO3VCQUNOLE1BQU07dUJBQ04sTUFBTTsyQkFDTixNQUFNOytCQUNOLE1BQU07NkJBQ04sTUFBTTtxQkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVzZXIsIENoYXRNZXNzYWdlLCBDb21tZW50c09yZGVyIH0gZnJvbSAnQGJhbnRhL2NvbW1vbic7XHJcbmltcG9ydCB7IEhhc2hUYWcgfSBmcm9tICcuLi9jb21tZW50LWZpZWxkL2NvbW1lbnQtZmllbGQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQ2hhdEJhY2tlbmRCYXNlIH0gZnJvbSAnLi4vLi4vY2hhdC1iYWNrZW5kLWJhc2UnO1xyXG5pbXBvcnQgeyBDaGF0U291cmNlQmFzZSB9IGZyb20gJy4uLy4uL2NoYXQtc291cmNlLWJhc2UnO1xyXG5pbXBvcnQgeyBFZGl0RXZlbnQgfSBmcm9tICcuLi9jb21tZW50LXZpZXcvY29tbWVudC12aWV3LmNvbXBvbmVudCc7XHJcblxyXG4vKipcclxuICogQ29tbWVudHMgY29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnYmFudGEtY29tbWVudHMnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhbnRhLWNvbW1lbnRzLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2JhbnRhLWNvbW1lbnRzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEJhbnRhQ29tbWVudHNDb21wb25lbnQge1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBiYWNrZW5kOiBDaGF0QmFja2VuZEJhc2UsXHJcbiAgICAgICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcclxuICAgICAgICBwcml2YXRlIGFjdGl2YXRlZFJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5zZW5kTWVzc2FnZSA9IGFzeW5jIChtZXNzYWdlOiBDaGF0TWVzc2FnZSkgPT4ge1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaW50ZXJjZXB0ID0gYXdhaXQgdGhpcy5zaG91bGRJbnRlcmNlcHRNZXNzYWdlU2VuZD8uKG1lc3NhZ2UsIHRoaXMuc291cmNlKTtcclxuICAgICAgICAgICAgICAgIGlmICghaW50ZXJjZXB0KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYXdhaXQgdGhpcy5zb3VyY2Uuc2VuZChtZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zb3VyY2Uuc29ydE9yZGVyICE9PSBDb21tZW50c09yZGVyLk5FV0VTVCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc29ydE9yZGVyID0gQ29tbWVudHNPcmRlci5ORVdFU1Q7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVCYWNrZW5kRXhjZXB0aW9uKGUsICdDb3VsZCBub3Qgc2VuZDogJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2VuZFJlcGx5ID0gYXN5bmMgKG1lc3NhZ2U6IENoYXRNZXNzYWdlKSA9PiB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpbnRlcmNlcHQgPSBhd2FpdCB0aGlzLnNob3VsZEludGVyY2VwdE1lc3NhZ2VTZW5kPy4obWVzc2FnZSwgdGhpcy5zb3VyY2UpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFpbnRlcmNlcHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnNlbGVjdGVkTWVzc2FnZVRocmVhZC5zZW5kKG1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQmFja2VuZEV4Y2VwdGlvbihlLCAnQ291bGQgbm90IHNlbmQgcmVwbHk6ICcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlQmFja2VuZEV4Y2VwdGlvbkFzQWxlcnQoZTogRXJyb3IsIHByZWZpeDogc3RyaW5nID0gJycpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUJhY2tlbmRFeGNlcHRpb24oZSwgcHJlZml4KTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGFsZXJ0KGUubWVzc2FnZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGFuZGxlQmFja2VuZEV4Y2VwdGlvbihlOiBFcnJvciwgcHJlZml4OiBzdHJpbmcgPSAnJykge1xyXG4gICAgICAgIGxldCBlcnJvck1lc3NhZ2UgPSBlLm1lc3NhZ2U7XHJcblxyXG4gICAgICAgIGlmIChlcnJvck1lc3NhZ2Uuc3RhcnRzV2l0aCgncGVybWlzc2lvbi1kZW5pZWR8JykpIHtcclxuICAgICAgICAgICAgZXJyb3JNZXNzYWdlID0gZXJyb3JNZXNzYWdlLnJlcGxhY2UoL15wZXJtaXNzaW9uLWRlbmllZFxcfC8sICcnKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChlcnJvck1lc3NhZ2Uuc3RhcnRzV2l0aChgYXBwLWhhbmRsZXxgKSkge1xyXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhbiBlcnJvciBkdXJpbmcgYXV0aG9yaXplQWN0aW9uIG9uIHRoZSBiYWNrZW5kLCBwYXNzIGNvbnRyb2wgdG8gdGhlIHVzZXItcHJvdmlkZWQgXHJcbiAgICAgICAgICAgICAgICAvLyBwZXJtaXNzaW9uLWRlbmllZCBoYW5kbGVyLlxyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuc2VuZFBlcm1pc3Npb25EZW5pZWQoZXJyb3JNZXNzYWdlLnJlcGxhY2UoL15hcHAtaGFuZGxlXFx8LywgJycpKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGAke3ByZWZpeH0ke2Vycm9yTWVzc2FnZX1gKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBMaWZlY3ljbGUgRXZlbnRzIC8gSW5pdGlhbGl6YXRpb25cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLl9zdWJzLmFkZCh0aGlzLmJhY2tlbmQudXNlckNoYW5nZWQuc3Vic2NyaWJlKHVzZXIgPT4gdGhpcy51c2VyID0gdXNlcikpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRMb2FkaW5nKCk7XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xyXG4gICAgICAgICAgICBsZXQgcXVlcnlTdHJpbmcgPSB3aW5kb3cubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKTtcclxuICAgICAgICAgICAgbGV0IHF1ZXJ5ID0gcXVlcnlTdHJpbmcuc3BsaXQoJyYnKVxyXG4gICAgICAgICAgICAgICAgLm1hcChzID0+IHMuc3BsaXQoJz0nKSlcclxuICAgICAgICAgICAgICAgIC5yZWR1Y2UoKG8sIFtrLCB2XSkgPT4gKG9ba10gPSB2LCBvKSwge30pXHJcbiAgICAgICAgICAgIDtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGNvbW1lbnRJRCA9IHF1ZXJ5Wydjb21tZW50J107XHJcbiAgICAgICAgICAgIGlmIChjb21tZW50SUQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkQ29tbWVudElEID0gY29tbWVudElEO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNoYXJlZENvbW1lbnRJRDogc3RyaW5nO1xyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuX3N1YnMudW5zdWJzY3JpYmUoKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIHNldFNvdXJjZUZyb21Ub3BpY0lEKHRvcGljSUQ6IHN0cmluZykge1xyXG4gICAgICAgIGlmICh0aGlzLl9zb3VyY2UpIHtcclxuICAgICAgICAgICAgdGhpcy5fc291cmNlLmNsb3NlKCk7XHJcbiAgICAgICAgICAgIHRoaXMuX3NvdXJjZSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coYFtiYW50YS1jb21tZW50c10gU3Vic2NyaWJpbmcgdG8gdG9waWMgc291cmNlICcke3RvcGljSUR9J2ApO1xyXG4gICAgICAgICAgICB0aGlzLl9zb3VyY2UgPSBhd2FpdCB0aGlzLmJhY2tlbmQuZ2V0U291cmNlRm9yVG9waWModG9waWNJRCwgeyBzb3J0T3JkZXI6IHRoaXMuc29ydE9yZGVyIH0pO1xyXG5cclxuICAgICAgICAgICAgaWYgKHRoaXMuc2hhcmVkQ29tbWVudElEKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5hdmlnYXRlVG9TaGFyZWRDb21tZW50KHRoaXMuc2hhcmVkQ29tbWVudElEKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2hhcmVkQ29tbWVudElEID0gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5fc291cmNlLm1lc3NhZ2VSZWNlaXZlZC5zdWJzY3JpYmUobSA9PiB0aGlzLmFkZFBhcnRpY2lwYW50KG0pKTtcclxuICAgICAgICAgICAgdGhpcy5fc291cmNlLm1lc3NhZ2VTZW50LnN1YnNjcmliZShtID0+IHRoaXMuYWRkUGFydGljaXBhbnQobSkpO1xyXG4gICAgICAgICAgICB0aGlzLl9zb3VyY2UubWVzc2FnZXMuZm9yRWFjaChtID0+IHRoaXMuYWRkUGFydGljaXBhbnQobSkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIExvYWRpbmcgU2NyZWVuXHJcbiAgICBwcml2YXRlIF9sb2FkaW5nTWVzc2FnZSA9ICcnO1xyXG4gICAgbG9hZGluZ01lc3NhZ2VWaXNpYmxlID0gZmFsc2U7XHJcblxyXG4gICAgZ2V0IGxvYWRpbmdNZXNzYWdlKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9sb2FkaW5nTWVzc2FnZTtcclxuICAgIH1cclxuXHJcbiAgICBzZXQgbG9hZGluZ01lc3NhZ2UodmFsdWUpIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmdNZXNzYWdlVmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nTWVzc2FnZSA9IHZhbHVlO1xyXG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nTWVzc2FnZSA9IHZhbHVlO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ01lc3NhZ2VWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9LCA1MDApO1xyXG4gICAgfVxyXG5cclxuICAgIGxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgc2hvd0xvYWRpbmdTY3JlZW4gPSBmYWxzZTtcclxuICAgIGxvYWRpbmdTdGFydGVkQXQ6IG51bWJlcjtcclxuICAgIG1lc3NhZ2VDaGFuZ2VkQXQ6IG51bWJlcjtcclxuXHJcbiAgICBwcml2YXRlIGFzeW5jIHN0YXJ0TG9hZGluZygpIHtcclxuICAgICAgICB0aGlzLmxvYWRpbmdTdGFydGVkQXQgPSB0aGlzLm1lc3NhZ2VDaGFuZ2VkQXQgPSBEYXRlLm5vdygpO1xyXG5cclxuICAgICAgICBpZiAodGhpcy51cGRhdGVMb2FkaW5nKCkpIHJldHVybjtcclxuICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZSgpLCAxMDApKTtcclxuICAgICAgICBpZiAodGhpcy51cGRhdGVMb2FkaW5nKCkpIHJldHVybjtcclxuICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZSgpLCAyNTApKTtcclxuICAgICAgICBpZiAodGhpcy51cGRhdGVMb2FkaW5nKCkpIHJldHVybjtcclxuICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZSgpLCA1MDApKTtcclxuICAgICAgICBpZiAodGhpcy51cGRhdGVMb2FkaW5nKCkpIHJldHVybjtcclxuXHJcbiAgICAgICAgY29uc29sZS5sb2coYFtCYW50YV0gTG9hZGluZyBpcyB0YWtpbmcgYSBsb25nIHRpbWUhIFNob3dpbmcgbG9hZGluZyBzY3JlZW4uYCk7XHJcbiAgICAgICAgdGhpcy5zaG93TG9hZGluZ1NjcmVlbiA9IHRydWU7XHJcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKVxyXG4gICAgICAgICAgICB0aGlzLl9sb2FkaW5nVGltZXIgPSBzZXRJbnRlcnZhbCgoKSA9PiB0aGlzLnVwZGF0ZUxvYWRpbmcoKSwgMTAwMCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHByaXZhdGUgX2xvYWRpbmdUaW1lcjtcclxuICAgIHByaXZhdGUgX2xvYWRpbmdNZXNzYWdlSW5kZXggPSAwO1xyXG5cclxuICAgIEBJbnB1dCgpIGxvYWRpbmdNZXNzYWdlczogc3RyaW5nW10gPSBbXHJcbiAgICAgICAgYEp1c3QgYSBzZWNvbmQuLi5gLFxyXG4gICAgICAgIGBXZSdyZSBkZWZpbml0ZWx5IHdvcmtpbmcgb24gaXQuYCxcclxuICAgICAgICBgVGhlcmUncyBubyBuZWVkIHRvIHJlZnJlc2guYCxcclxuICAgICAgICBgSXQncyBkZWZpbml0ZWx5IHdvcnRoIHRoZSB3YWl0IWAsXHJcbiAgICAgICAgYFRoaXMgaGFzIG5ldmVyIGhhcHBlbmVkIGJlZm9yZS5gLFxyXG4gICAgICAgIGBXZSdsbCBrZWVwIHRyeWluZywgYnV0IGl0J3Mgbm90IGxvb2tpbmcgZ3JlYXQuIFxyXG4gICAgICAgICAgICBDb21tZW50aW5nICYgY2hhdCBzZXJ2aWNlcyBtYXkgYmUgZG93bi4gXHJcbiAgICAgICAgICAgIElmIHlvdSBjb250aW51ZSB0byBleHBlcmllbmNlIGlzc3VlcywgcGxlYXNlIGNvbnRhY3Qgc3VwcG9ydC5cclxuICAgICAgICBgXHJcbiAgICBdO1xyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlTG9hZGluZygpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodGhpcy5zb3VyY2U/LnN0YXRlICYmIHRoaXMuc291cmNlPy5zdGF0ZSAhPT0gJ2Nvbm5lY3RpbmcnKSB7XHJcbiAgICAgICAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5fbG9hZGluZ1RpbWVyKTtcclxuICAgICAgICAgICAgdGhpcy5sb2FkaW5nTWVzc2FnZSA9IGBIZXJlIHdlIGdvIWA7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0sIDc1MCk7XHJcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IG1lc3NhZ2VTd2l0Y2hUaW1lID0gNSoxMDAwO1xyXG4gICAgICAgIGlmICh0aGlzLm1lc3NhZ2VDaGFuZ2VkQXQgKyBtZXNzYWdlU3dpdGNoVGltZSA8IERhdGUubm93KCkpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMubG9hZGluZ01lc3NhZ2VzW3RoaXMuX2xvYWRpbmdNZXNzYWdlSW5kZXhdKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdNZXNzYWdlID0gdGhpcy5sb2FkaW5nTWVzc2FnZXNbdGhpcy5fbG9hZGluZ01lc3NhZ2VJbmRleCsrXTtcclxuICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZUNoYW5nZWRBdCA9IERhdGUubm93KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBQcm9wZXJ0aWVzXHJcblxyXG4gICAgcHJpdmF0ZSBfc2lnbkluU2VsZWN0ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcHJpdmF0ZSBfcGVybWlzc2lvbkRlbmllZEVycm9yID0gbmV3IFN1YmplY3Q8c3RyaW5nPigpO1xyXG4gICAgcHJpdmF0ZSBfZWRpdEF2YXRhclNlbGVjdGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHByaXZhdGUgX3Vwdm90ZWQgPSBuZXcgU3ViamVjdDxDaGF0TWVzc2FnZT4oKTtcclxuICAgIHByaXZhdGUgX3JlcG9ydGVkID0gbmV3IFN1YmplY3Q8Q2hhdE1lc3NhZ2U+KCk7XHJcbiAgICBwcml2YXRlIF9zZWxlY3RlZCA9IG5ldyBTdWJqZWN0PENoYXRNZXNzYWdlPigpO1xyXG4gICAgcHJpdmF0ZSBfdXNlclNlbGVjdGVkID0gbmV3IFN1YmplY3Q8Q2hhdE1lc3NhZ2U+KCk7XHJcbiAgICBwcml2YXRlIF9zaGFyZWQgPSBuZXcgU3ViamVjdDxDaGF0TWVzc2FnZT4oKTtcclxuICAgIHByaXZhdGUgX3VzZXJuYW1lU2VsZWN0ZWQgPSBuZXcgU3ViamVjdDxVc2VyPigpO1xyXG4gICAgcHJpdmF0ZSBfYXZhdGFyU2VsZWN0ZWQgPSBuZXcgU3ViamVjdDxVc2VyPigpO1xyXG4gICAgcHJpdmF0ZSBfc291cmNlOiBDaGF0U291cmNlQmFzZTtcclxuICAgIHByaXZhdGUgX3N1YnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XHJcbiAgICBwcml2YXRlIF9zb3J0T3JkZXI6IENvbW1lbnRzT3JkZXIgPSBDb21tZW50c09yZGVyLk5FV0VTVDtcclxuICAgIHByaXZhdGUgX3RvcGljSUQ6IHN0cmluZztcclxuICAgIFxyXG4gICAgdXNlcjogVXNlcjtcclxuICAgIHNlbGVjdGVkTWVzc2FnZTogQ2hhdE1lc3NhZ2U7XHJcbiAgICBzZWxlY3RlZE1lc3NhZ2VUaHJlYWQ6IENoYXRTb3VyY2VCYXNlO1xyXG4gICAgc2VsZWN0ZWRNZXNzYWdlVmlzaWJsZSA9IGZhbHNlO1xyXG5cclxuICAgIC8vIElucHV0c1xyXG5cclxuICAgIEBJbnB1dCgpIHNpZ25JbkxhYmVsID0gJ1NpZ24gSW4nO1xyXG4gICAgQElucHV0KCkgc2VuZExhYmVsID0gJ1NlbmQnO1xyXG4gICAgQElucHV0KCkgcmVwbHlMYWJlbCA9ICdSZXBseSc7XHJcbiAgICBASW5wdXQoKSBzZW5kaW5nTGFiZWwgPSAnU2VuZGluZyc7XHJcbiAgICBASW5wdXQoKSBwZXJtaXNzaW9uRGVuaWVkTGFiZWwgPSAnU2VuZCc7XHJcbiAgICBASW5wdXQoKSBwb3N0Q29tbWVudExhYmVsID0gJ1Bvc3QgYSBjb21tZW50JztcclxuICAgIEBJbnB1dCgpIHBvc3RSZXBseUxhYmVsID0gJ1Bvc3QgYSByZXBseSc7XHJcbiAgICBASW5wdXQoKSBhbGxvd0F0dGFjaG1lbnRzID0gZmFsc2U7XHJcbiAgICBASW5wdXQoKSBmaXhlZEhlaWdodDogYm9vbGVhbjtcclxuICAgIEBJbnB1dCgpIG1heE1lc3NhZ2VzOiBudW1iZXI7XHJcbiAgICBASW5wdXQoKSBtYXhWaXNpYmxlTWVzc2FnZXM6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIGdlbmVyaWNBdmF0YXJVcmw6IHN0cmluZztcclxuICAgIEBJbnB1dCgpIHNob3VsZEludGVyY2VwdE1lc3NhZ2VTZW5kPzogKG1lc3NhZ2U6IENoYXRNZXNzYWdlLCBzb3VyY2U6IENoYXRTb3VyY2VCYXNlKSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPjtcclxuICAgIEBJbnB1dCgpIHBhcnRpY2lwYW50czogVXNlcltdID0gW107XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIGdldCBzb3VyY2UoKTogQ2hhdFNvdXJjZUJhc2UgeyByZXR1cm4gdGhpcy5fc291cmNlOyB9XHJcbiAgICBzZXQgc291cmNlKHZhbHVlKSB7IFxyXG4gICAgICAgIHRoaXMuX3NvdXJjZSA9IHZhbHVlO1xyXG4gICAgICAgIGlmICh2YWx1ZSAmJiB0aGlzLnNoYXJlZENvbW1lbnRJRCkge1xyXG4gICAgICAgICAgICB0aGlzLm5hdmlnYXRlVG9TaGFyZWRDb21tZW50KHRoaXMuc2hhcmVkQ29tbWVudElEKTtcclxuICAgICAgICAgICAgdGhpcy5zaGFyZWRDb21tZW50SUQgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBJbnB1dCgpIFxyXG4gICAgaGFzaHRhZ3M6IEhhc2hUYWdbXSA9IFtcclxuICAgICAgICB7aGFzaHRhZzogJ2Vycm9yJywgZGVzY3JpcHRpb246ICdDYXVzZSBhbiBlcnJvcid9LFxyXG4gICAgICAgIHtoYXNodGFnOiAndGltZW91dCcsIGRlc2NyaXB0aW9uOiAnQ2F1c2UgYSBzbG93IHRpbWVvdXQgZXJyb3InfSxcclxuICAgICAgICB7aGFzaHRhZzogJ3Nsb3cnLCBkZXNjcmlwdGlvbjogJ0JlIHNsb3cgd2hlbiB0aGlzIG1lc3NhZ2UgaXMgcG9zdGVkJ30sXHJcbiAgICBdO1xyXG4gICAgQElucHV0KClcclxuICAgIGdldCB0b3BpY0lEKCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl90b3BpY0lEOyB9XHJcbiAgICBzZXQgdG9waWNJRCh2YWx1ZSkge1xyXG4gICAgICAgIGlmICh0aGlzLl90b3BpY0lEICE9PSB2YWx1ZSkge1xyXG4gICAgICAgICAgICB0aGlzLl90b3BpY0lEID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZXRTb3VyY2VGcm9tVG9waWNJRCh2YWx1ZSkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBPdXRwdXRzXHJcblxyXG4gICAgQE91dHB1dCgpIGdldCBzaWduSW5TZWxlY3RlZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHsgcmV0dXJuIHRoaXMuX3NpZ25JblNlbGVjdGVkOyB9XHJcbiAgICBAT3V0cHV0KCkgZ2V0IGVkaXRBdmF0YXJTZWxlY3RlZCgpIHsgcmV0dXJuIHRoaXMuX2VkaXRBdmF0YXJTZWxlY3RlZDsgfVxyXG4gICAgQE91dHB1dCgpIGdldCBwZXJtaXNzaW9uRGVuaWVkRXJyb3IoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHsgcmV0dXJuIHRoaXMuX3Blcm1pc3Npb25EZW5pZWRFcnJvcjsgfVxyXG4gICAgQE91dHB1dCgpIGdldCB1cHZvdGVkKCkgeyByZXR1cm4gdGhpcy5fdXB2b3RlZC5hc09ic2VydmFibGUoKTsgfVxyXG4gICAgQE91dHB1dCgpIGdldCByZXBvcnRlZCgpIHsgcmV0dXJuIHRoaXMuX3JlcG9ydGVkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgICBAT3V0cHV0KCkgZ2V0IHNlbGVjdGVkKCkgeyByZXR1cm4gdGhpcy5fc2VsZWN0ZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgdXNlclNlbGVjdGVkKCkgeyByZXR1cm4gdGhpcy5fdXNlclNlbGVjdGVkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgICBAT3V0cHV0KCkgZ2V0IHVzZXJuYW1lU2VsZWN0ZWQoKSB7IHJldHVybiB0aGlzLl91c2VybmFtZVNlbGVjdGVkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgICBAT3V0cHV0KCkgZ2V0IGF2YXRhclNlbGVjdGVkKCkgeyByZXR1cm4gdGhpcy5fYXZhdGFyU2VsZWN0ZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgc2hhcmVkKCkgeyByZXR1cm4gdGhpcy5fc2hhcmVkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcblxyXG4gICAgZ2V0IHNvcnRPcmRlcigpIHsgcmV0dXJuIHRoaXMuX3NvcnRPcmRlcjsgfVxyXG4gICAgc2V0IHNvcnRPcmRlcih2YWx1ZSkge1xyXG4gICAgICAgIGlmICh0aGlzLl9zb3J0T3JkZXIgIT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3NvcnRPcmRlciA9IHZhbHVlO1xyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U291cmNlRnJvbVRvcGljSUQodGhpcy50b3BpY0lEKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNlbmRNZXNzYWdlOiAobWVzc2FnZTogQ2hhdE1lc3NhZ2UpID0+IHZvaWQ7XHJcbiAgICBzZW5kUmVwbHk6IChtZXNzYWdlOiBDaGF0TWVzc2FnZSkgPT4gdm9pZDtcclxuXHJcbiAgICAvLyBVSSBJbnRlcmFjdGlvbnNcclxuXHJcbiAgICBzY3JvbGxUb0NvbW1lbnQoY29tbWVudElkOiBDaGF0TWVzc2FnZVsnaWQnXSk6IHZvaWQge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgY29tbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoYFtkYXRhLWNvbW1lbnQtaWQ9XCIke2NvbW1lbnRJZH1cIl1gKTtcclxuICAgICAgICAgIGlmIChjb21tZW50Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgLy8gY29tbWVudC5pdGVtKDApLnNjcm9sbCh7YmVoYXZpb3I6ICdzbW9vdGgnfSk7XHJcbiAgICAgICAgICAgIGNvbW1lbnQuaXRlbSgwKS5zY3JvbGxJbnRvVmlldygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sIDEwMDApO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIG5hdmlnYXRlVG9TaGFyZWRDb21tZW50KGlkOiBzdHJpbmcpIHtcclxuICAgICAgICBsZXQgc291cmNlID0gdGhpcy5zb3VyY2U7XHJcblxyXG4gICAgICAgIGF3YWl0IHNvdXJjZS5yZWFkeTtcclxuXHJcbiAgICAgICAgY29uc29sZS5sb2coYE5hdmlnYXRpbmcgdG8gc2hhcmVkIGNvbW1lbnQgd2l0aCBJRCAnJHtpZH0nLi4uYCk7XHJcbiAgICAgICAgbGV0IG1lc3NhZ2U6IENoYXRNZXNzYWdlO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBhd2FpdCB0aGlzLnNvdXJjZS5nZXQoaWQpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihgRmFpbGVkIHRvIGZpbmQgY29tbWVudCBmcm9tIFVSTDogJHtlLm1lc3NhZ2V9YCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIG1lc3NhZ2UudHJhbnNpZW50U3RhdGUgPz89IHt9O1xyXG5cclxuICAgICAgICAvLyBJZiB0aGVyZSBpcyBhIHBhcmVudCBtZXNzYWdlLCB3ZSBzaG91bGQgaW5zdGVhZCBmb2N1cyB0aGF0IGFuZCBsZXQgdGhlIFxyXG4gICAgICAgIC8vIHNjcm9sbFRvQ29tbWVudCBhbmQgaGlnaGxpZ2h0IGRvIHRoZSB3b3JrLlxyXG5cclxuICAgICAgICBpZiAobWVzc2FnZS5wYXJlbnRNZXNzYWdlSWQpIHtcclxuXHJcbiAgICAgICAgICAgIGxldCBwYXJlbnRNZXNzYWdlID0gYXdhaXQgdGhpcy5zb3VyY2UuZ2V0KG1lc3NhZ2UucGFyZW50TWVzc2FnZUlkKTtcclxuICAgICAgICAgICAgcGFyZW50TWVzc2FnZS50cmFuc2llbnRTdGF0ZSA/Pz0ge307XHJcbiAgICAgICAgICAgIGxldCB0aHJlYWQgPSBhd2FpdCB0aGlzLnNlbGVjdE1lc3NhZ2UocGFyZW50TWVzc2FnZSk7IFxyXG5cclxuICAgICAgICAgICAgLy8gTmVlZCB0byByZS1yZXRyaWV2ZSB0aGUgbWVzc2FnZSB3aXRoaW4gdGhlIG5ldyBjaGF0IHNvdXJjZSB0byBhZmZlY3QgaXRzXHJcbiAgICAgICAgICAgIC8vIHRyYW5zaWVudCBzdGF0ZS5cclxuICAgICAgICAgICAgYXdhaXQgdGhyZWFkLnJlYWR5O1xyXG4gICAgICAgICAgICBtZXNzYWdlID0gYXdhaXQgdGhyZWFkLmdldChtZXNzYWdlLmlkKTtcclxuICAgICAgICAgICAgbWVzc2FnZS50cmFuc2llbnRTdGF0ZSA/Pz0ge307XHJcbiAgICAgICAgICAgIG1lc3NhZ2UudHJhbnNpZW50U3RhdGUuaGlnaGxpZ2h0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICBjb25zb2xlLmRpcihtZXNzYWdlKTtcclxuICAgICAgICAgICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4ocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KCgpID0+IHJlc29sdmUoKSwgNTAwKSk7XHJcblxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0TWVzc2FnZShtZXNzYWdlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2Nyb2xsVG9Db21tZW50KGlkKTtcclxuICAgIH1cclxuXHJcbiAgICBoYW5kbGVQZXJtaXNzaW9uRGVuaWVkKGVycm9yTWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICAgICAgLy8gVGhpcyBpcyB3aGF0IG90aGVyIGNvbXBvbmVudHMgY2FsbCB3aGVuIGhhbmRsaW5nIHBlcm1pc3Npb24gZXJyb3JzXHJcbiAgICAgICAgXHJcbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZS5zdGFydHNXaXRoKGBhcHAtaGFuZGxlfGApKSB7XHJcbiAgICAgICAgICAgIC8vIElmIHRoaXMgaXMgYW4gZXJyb3IgZHVyaW5nIGF1dGhvcml6ZUFjdGlvbiBvbiB0aGUgYmFja2VuZCwgcGFzcyBjb250cm9sIHRvIHRoZSB1c2VyLXByb3ZpZGVkIFxyXG4gICAgICAgICAgICAvLyBwZXJtaXNzaW9uLWRlbmllZCBoYW5kbGVyLlxyXG5cclxuICAgICAgICAgICAgdGhpcy5zZW5kUGVybWlzc2lvbkRlbmllZChlcnJvck1lc3NhZ2UucmVwbGFjZSgvXmFwcC1oYW5kbGVcXHwvLCAnJykpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhbGVydChlcnJvck1lc3NhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbmRQZXJtaXNzaW9uRGVuaWVkKG1lc3NhZ2U6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuX3Blcm1pc3Npb25EZW5pZWRFcnJvci5uZXh0KG1lc3NhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHNjcm9sbFRvTWVzc2FnZShtZXNzYWdlOiBDaGF0TWVzc2FnZSkge1xyXG4gICAgICAgIGxldCBlbCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoYFtkYXRhLWNvbW1lbnQtaWQ9XCIke21lc3NhZ2UuaWR9XCJdYCk7XHJcbiAgICAgICAgaWYgKCFlbClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIGVsLnNjcm9sbEludG9WaWV3KHtibG9jazogJ2NlbnRlcicsIGlubGluZTogJ3N0YXJ0J30pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYWRkUGFydGljaXBhbnQobWVzc2FnZTogQ2hhdE1lc3NhZ2UpIHtcclxuICAgICAgICBpZiAoIW1lc3NhZ2UgfHwgIW1lc3NhZ2UudXNlciB8fCAhbWVzc2FnZS51c2VyLmlkKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIGxldCBleGlzdGluZyA9IHRoaXMucGFydGljaXBhbnRzLmZpbmQoeCA9PiB4LmlkID09PSBtZXNzYWdlLnVzZXIuaWQpO1xyXG4gICAgICAgIGlmIChleGlzdGluZylcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIHRoaXMucGFydGljaXBhbnRzLnB1c2gobWVzc2FnZS51c2VyKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBY3Rpb25zXHJcblxyXG4gICAgYXN5bmMgbGlrZU1lc3NhZ2Uoc291cmNlOiBDaGF0U291cmNlQmFzZSwgbWVzc2FnZTogQ2hhdE1lc3NhZ2UpIHtcclxuICAgICAgICB0aGlzLl91cHZvdGVkLm5leHQobWVzc2FnZSk7XHJcbiAgICAgICAgbWVzc2FnZS50cmFuc2llbnRTdGF0ZS5saWtpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICBpZiAoIW1lc3NhZ2UudXNlclN0YXRlPy5saWtlZClcclxuICAgICAgICAgICAgbWVzc2FnZS5saWtlcyA9IChtZXNzYWdlLmxpa2VzIHx8IDApICsgMTtcclxuICAgICAgICBcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBzb3VyY2UubGlrZU1lc3NhZ2UobWVzc2FnZS5pZCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUJhY2tlbmRFeGNlcHRpb25Bc0FsZXJ0KGUsICdDb3VsZCBub3QgbGlrZSB0aGlzIG1lc3NhZ2U6ICcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBcclxuICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZSgpLCAyNTApKTtcclxuICAgICAgICBtZXNzYWdlLnRyYW5zaWVudFN0YXRlLmxpa2luZyA9IGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHVubGlrZU1lc3NhZ2Uoc291cmNlOiBDaGF0U291cmNlQmFzZSwgbWVzc2FnZTogQ2hhdE1lc3NhZ2UpIHtcclxuICAgICAgICB0aGlzLl91cHZvdGVkLm5leHQobWVzc2FnZSk7XHJcbiAgICAgICAgbWVzc2FnZS50cmFuc2llbnRTdGF0ZS5saWtpbmcgPSB0cnVlO1xyXG5cclxuICAgICAgICBpZiAobWVzc2FnZS51c2VyU3RhdGU/Lmxpa2VkKVxyXG4gICAgICAgICAgICBtZXNzYWdlLmxpa2VzID0gKG1lc3NhZ2UubGlrZXMgfHwgMCkgLSAxO1xyXG5cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCBzb3VyY2UudW5saWtlTWVzc2FnZShtZXNzYWdlLmlkKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQmFja2VuZEV4Y2VwdGlvbkFzQWxlcnQoZSwgJ0ZhaWxlZCB0byB1bmxpa2UgdGhpcyBtZXNzYWdlOiAnKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KHJlc29sdmUgPT4gc2V0VGltZW91dCgoKSA9PiByZXNvbHZlKCksIDI1MCkpO1xyXG4gICAgICAgIG1lc3NhZ2UudHJhbnNpZW50U3RhdGUubGlraW5nID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgcmVwb3J0TWVzc2FnZShtZXNzYWdlOiBDaGF0TWVzc2FnZSkge1xyXG4gICAgICAgIHRoaXMuX3JlcG9ydGVkLm5leHQobWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgdW5zZWxlY3RNZXNzYWdlKCkge1xyXG4gICAgICAgIGxldCBtZXNzYWdlID0gdGhpcy5zZWxlY3RlZE1lc3NhZ2U7XHJcblxyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkLm5leHQobnVsbCk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1lc3NhZ2UgPSBudWxsO1xyXG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTWVzc2FnZVRocmVhZCkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RlZE1lc3NhZ2VUaHJlYWQuY2xvc2UpXHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTWVzc2FnZVRocmVhZC5jbG9zZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTWVzc2FnZVRocmVhZCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAobWVzc2FnZSlcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNjcm9sbFRvTWVzc2FnZShtZXNzYWdlKSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2VsZWN0TWVzc2FnZShtZXNzYWdlOiBDaGF0TWVzc2FnZSkge1xyXG4gICAgICAgIHRoaXMuX3NlbGVjdGVkLm5leHQobWVzc2FnZSk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1lc3NhZ2UgPSBtZXNzYWdlO1xyXG4gICAgICAgIGxldCBzZWxlY3RlZE1lc3NhZ2VUaHJlYWQgPSBhd2FpdCB0aGlzLmJhY2tlbmQuZ2V0U291cmNlRm9yVGhyZWFkKHRoaXMudG9waWNJRCwgbWVzc2FnZS5pZCk7XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5zZWxlY3RlZE1lc3NhZ2VWaXNpYmxlID0gdHJ1ZSk7XHJcbiAgICAgICAgc2V0VGltZW91dChhc3luYyAoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRNZXNzYWdlVGhyZWFkID0gc2VsZWN0ZWRNZXNzYWdlVGhyZWFkO1xyXG4gICAgICAgIH0sIDI1MCk7XHJcblxyXG4gICAgICAgIHJldHVybiBzZWxlY3RlZE1lc3NhZ2VUaHJlYWQ7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2hvd1NpZ25JbigpIHtcclxuICAgICAgICB0aGlzLl9zaWduSW5TZWxlY3RlZC5uZXh0KCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2hvd0VkaXRBdmF0YXIoKSB7XHJcbiAgICAgICAgdGhpcy5fZWRpdEF2YXRhclNlbGVjdGVkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzZWxlY3RNZXNzYWdlVXNlcihtZXNzYWdlOiBDaGF0TWVzc2FnZSkge1xyXG4gICAgICAgIHRoaXMuX3VzZXJTZWxlY3RlZC5uZXh0KG1lc3NhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNlbGVjdFVzZXJuYW1lKHVzZXI6IFVzZXIpIHtcclxuICAgICAgICB0aGlzLl91c2VybmFtZVNlbGVjdGVkLm5leHQodXNlcik7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2VsZWN0QXZhdGFyKHVzZXI6IFVzZXIpIHtcclxuICAgICAgICB0aGlzLl9hdmF0YXJTZWxlY3RlZC5uZXh0KHVzZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNoYXJlTWVzc2FnZShtZXNzYWdlOiBDaGF0TWVzc2FnZSkge1xyXG4gICAgICAgIHRoaXMuX3NoYXJlZC5uZXh0KG1lc3NhZ2UpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIGRlbGV0ZU1lc3NhZ2UobWVzc2FnZTogQ2hhdE1lc3NhZ2UpIHtcclxuICAgICAgICBpZiAoIWNvbmZpcm0oXCJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgY29tbWVudD8gWW91IGNhbm5vdCB1bmRvIHRoaXMgYWN0aW9uLlwiKSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLnNvdXJjZS5kZWxldGVNZXNzYWdlKG1lc3NhZ2UuaWQpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVCYWNrZW5kRXhjZXB0aW9uQXNBbGVydChlLCBgQ291bGQgbm90IGRlbGV0ZSBtZXNzYWdlOiBgKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZWRpdE1lc3NhZ2Uoc291cmNlOiBDaGF0U291cmNlQmFzZSwgbWVzc2FnZTogQ2hhdE1lc3NhZ2UsIG5ld1RleHQ6IHN0cmluZykge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHNvdXJjZS5lZGl0TWVzc2FnZShtZXNzYWdlLmlkLCBuZXdUZXh0KTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQmFja2VuZEV4Y2VwdGlvbkFzQWxlcnQoZSwgJ0NvdWxkIG5vdCBlZGl0IHRoaXMgbWVzc2FnZTogJyk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIG1lc3NhZ2UubWVzc2FnZSA9IG5ld1RleHQ7XHJcbiAgICAgICAgbWVzc2FnZS50cmFuc2llbnRTdGF0ZS5lZGl0aW5nID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc3RhcnRFZGl0aW5nKG1lc3NhZ2U6IENoYXRNZXNzYWdlKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1lc3NhZ2UudHJhbnNpZW50U3RhdGUuZWRpdGluZyA9IGZhbHNlO1xyXG4gICAgICAgIG1lc3NhZ2UudHJhbnNpZW50U3RhdGUuZWRpdGluZyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2F2ZUVkaXQobWVzc2FnZTogQ2hhdE1lc3NhZ2UsIHRleHQ6IHN0cmluZykge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc291cmNlLmVkaXRNZXNzYWdlKG1lc3NhZ2UuaWQsIHRleHQpO1xyXG4gICAgICAgICAgICBtZXNzYWdlLnRyYW5zaWVudFN0YXRlLmVkaXRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQmFja2VuZEV4Y2VwdGlvbkFzQWxlcnQoZSwgYENvdWxkIG5vdCBlZGl0IG1lc3NhZ2U6IGApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
490
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFudGEtY29tbWVudHMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2RrL3NyYy9saWIvY29tbWVudHMvYmFudGEtY29tbWVudHMvYmFudGEtY29tbWVudHMuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQWlCLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQXFCLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRSxPQUFPLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDekQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUkxRDs7R0FFRztBQU1ILE1BQU0sT0FBTyxzQkFBc0I7SUFDL0IsWUFDWSxPQUF3QixFQUN4QixVQUFtQyxFQUNuQyxjQUE4QjtRQUY5QixZQUFPLEdBQVAsT0FBTyxDQUFpQjtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUF3RzFDLGlCQUFpQjtRQUNULG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzdCLDBCQUFxQixHQUFHLEtBQUssQ0FBQztRQWlCOUIsWUFBTyxHQUFZLElBQUksQ0FBQztRQUN4QixzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFzQmxCLHlCQUFvQixHQUFHLENBQUMsQ0FBQztRQUV4QixvQkFBZSxHQUFhO1lBQ2pDLGtCQUFrQjtZQUNsQixpQ0FBaUM7WUFDakMsNkJBQTZCO1lBQzdCLGlDQUFpQztZQUNqQyxpQ0FBaUM7WUFDakM7OztTQUdDO1NBQ0osQ0FBQztRQXVCRixhQUFhO1FBRUwsb0JBQWUsR0FBRyxJQUFJ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LCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVXNlciwgQ2hhdE1lc3NhZ2UsIENvbW1lbnRzT3JkZXIgfSBmcm9tICdAYmFudGEvY29tbW9uJztcclxuaW1wb3J0IHsgSGFzaFRhZyB9IGZyb20gJy4uL2NvbW1lbnQtZmllbGQvY29tbWVudC1maWVsZC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBDaGF0QmFja2VuZEJhc2UgfSBmcm9tICcuLi8uLi9jaGF0LWJhY2tlbmQtYmFzZSc7XHJcbmltcG9ydCB7IENoYXRTb3VyY2VCYXNlIH0gZnJvbSAnLi4vLi4vY2hhdC1zb3VyY2UtYmFzZSc7XHJcbmltcG9ydCB7IEVkaXRFdmVudCB9IGZyb20gJy4uL2NvbW1lbnQtdmlldy9jb21tZW50LXZpZXcuY29tcG9uZW50JztcclxuXHJcbi8qKlxyXG4gKiBDb21tZW50cyBjb21wb25lbnRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdiYW50YS1jb21tZW50cycsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vYmFudGEtY29tbWVudHMuY29tcG9uZW50Lmh0bWwnLFxyXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFudGEtY29tbWVudHMuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmFudGFDb21tZW50c0NvbXBvbmVudCB7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIGJhY2tlbmQ6IENoYXRCYWNrZW5kQmFzZSxcclxuICAgICAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxyXG4gICAgICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLnNlbmRNZXNzYWdlID0gYXN5bmMgKG1lc3NhZ2U6IENoYXRNZXNzYWdlKSA9PiB7XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpbnRlcmNlcHQgPSBhd2FpdCB0aGlzLnNob3VsZEludGVyY2VwdE1lc3NhZ2VTZW5kPy4obWVzc2FnZSwgdGhpcy5zb3VyY2UpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFpbnRlcmNlcHQpIHtcclxuICAgICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLnNvdXJjZS5zZW5kKG1lc3NhZ2UpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnNvdXJjZS5zb3J0T3JkZXIgIT09IENvbW1lbnRzT3JkZXIuTkVXRVNUKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zb3J0T3JkZXIgPSBDb21tZW50c09yZGVyLk5FV0VTVDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUJhY2tlbmRFeGNlcHRpb24oZSwgJ0NvdWxkIG5vdCBzZW5kOiAnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZW5kUmVwbHkgPSBhc3luYyAobWVzc2FnZTogQ2hhdE1lc3NhZ2UpID0+IHtcclxuICAgICAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGludGVyY2VwdCA9IGF3YWl0IHRoaXMuc2hvdWxkSW50ZXJjZXB0TWVzc2FnZVNlbmQ/LihtZXNzYWdlLCB0aGlzLnNlbGVjdGVkTWVzc2FnZVRocmVhZCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWludGVyY2VwdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGF3YWl0IHRoaXMuc2VsZWN0ZWRNZXNzYWdlVGhyZWFkLnNlbmQobWVzc2FnZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVCYWNrZW5kRXhjZXB0aW9uKGUsICdDb3VsZCBub3Qgc2VuZCByZXBseTogJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVCYWNrZW5kRXhjZXB0aW9uQXNBbGVydChlOiBFcnJvciwgcHJlZml4OiBzdHJpbmcgPSAnJykge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQmFja2VuZEV4Y2VwdGlvbihlLCBwcmVmaXgpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgYWxlcnQoZS5tZXNzYWdlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBoYW5kbGVCYWNrZW5kRXhjZXB0aW9uKGU6IEVycm9yLCBwcmVmaXg6IHN0cmluZyA9ICcnKSB7XHJcbiAgICAgICAgbGV0IGVycm9yTWVzc2FnZSA9IGUubWVzc2FnZTtcclxuXHJcbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZS5zdGFydHNXaXRoKCdwZXJtaXNzaW9uLWRlbmllZHwnKSkge1xyXG4gICAgICAgICAgICBlcnJvck1lc3NhZ2UgPSBlcnJvck1lc3NhZ2UucmVwbGFjZSgvXnBlcm1pc3Npb24tZGVuaWVkXFx8LywgJycpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGVycm9yTWVzc2FnZS5zdGFydHNXaXRoKGBhcHAtaGFuZGxlfGApKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIGlzIGFuIGVycm9yIGR1cmluZyBhdXRob3JpemVBY3Rpb24gb24gdGhlIGJhY2tlbmQsIHBhc3MgY29udHJvbCB0byB0aGUgdXNlci1wcm92aWRlZCBcclxuICAgICAgICAgICAgICAgIC8vIHBlcm1pc3Npb24tZGVuaWVkIGhhbmRsZXIuXHJcblxyXG4gICAgICAgICAgICAgICAgdGhpcy5zZW5kUGVybWlzc2lvbkRlbmllZChlcnJvck1lc3NhZ2UucmVwbGFjZSgvXmFwcC1oYW5kbGVcXHwvLCAnJykpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7cHJlZml4fSR7ZXJyb3JNZXNzYWdlfWApO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIExpZmVjeWNsZSBFdmVudHMgLyBJbml0aWFsaXphdGlvblxyXG5cclxuICAgIG5nT25Jbml0KCkge1xyXG4gICAgICAgIHRoaXMuX3N1YnMuYWRkKHRoaXMuYmFja2VuZC51c2VyQ2hhbmdlZC5zdWJzY3JpYmUodXNlciA9PiB0aGlzLnVzZXIgPSB1c2VyKSk7XHJcbiAgICAgICAgdGhpcy5zdGFydExvYWRpbmcoKTtcclxuXHJcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgICAgICAgIGxldCBxdWVyeVN0cmluZyA9IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpO1xyXG4gICAgICAgICAgICBsZXQgcXVlcnkgPSBxdWVyeVN0cmluZy5zcGxpdCgnJicpXHJcbiAgICAgICAgICAgICAgICAubWFwKHMgPT4gcy5zcGxpdCgnPScpKVxyXG4gICAgICAgICAgICAgICAgLnJlZHVjZSgobywgW2ssIHZdKSA9PiAob1trXSA9IHYsIG8pLCB7fSlcclxuICAgICAgICAgICAgO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgY29tbWVudElEID0gcXVlcnlbJ2NvbW1lbnQnXTtcclxuICAgICAgICAgICAgaWYgKGNvbW1lbnRJRCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaGFyZWRDb21tZW50SUQgPSBjb21tZW50SUQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2hhcmVkQ29tbWVudElEOiBzdHJpbmc7XHJcblxyXG4gICAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICAgICAgdGhpcy5fc3Vicy51bnN1YnNjcmliZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgc2V0U291cmNlRnJvbVRvcGljSUQodG9waWNJRDogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3NvdXJjZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9zb3VyY2UuY2xvc2UoKTtcclxuICAgICAgICAgICAgdGhpcy5fc291cmNlID0gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhgW2JhbnRhLWNvbW1lbnRzXSBTdWJzY3JpYmluZyB0byB0b3BpYyBzb3VyY2UgJyR7dG9waWNJRH0nYCk7XHJcbiAgICAgICAgICAgIHRoaXMuX3NvdXJjZSA9IGF3YWl0IHRoaXMuYmFja2VuZC5nZXRTb3VyY2VGb3JUb3BpYyh0b3BpY0lELCB7IHNvcnRPcmRlcjogdGhpcy5zb3J0T3JkZXIgfSk7XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5zaGFyZWRDb21tZW50SUQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubmF2aWdhdGVUb1NoYXJlZENvbW1lbnQodGhpcy5zaGFyZWRDb21tZW50SUQpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zaGFyZWRDb21tZW50SUQgPSBudWxsO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0aGlzLl9zb3VyY2UubWVzc2FnZVJlY2VpdmVkLnN1YnNjcmliZShtID0+IHRoaXMuYWRkUGFydGljaXBhbnQobSkpO1xyXG4gICAgICAgICAgICB0aGlzLl9zb3VyY2UubWVzc2FnZVNlbnQuc3Vic2NyaWJlKG0gPT4gdGhpcy5hZGRQYXJ0aWNpcGFudChtKSk7XHJcbiAgICAgICAgICAgIHRoaXMuX3NvdXJjZS5tZXNzYWdlcy5mb3JFYWNoKG0gPT4gdGhpcy5hZGRQYXJ0aWNpcGFudChtKSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gTG9hZGluZyBTY3JlZW5cclxuICAgIHByaXZhdGUgX2xvYWRpbmdNZXNzYWdlID0gJyc7XHJcbiAgICBsb2FkaW5nTWVzc2FnZVZpc2libGUgPSBmYWxzZTtcclxuXHJcbiAgICBnZXQgbG9hZGluZ01lc3NhZ2UoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRpbmdNZXNzYWdlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldCBsb2FkaW5nTWVzc2FnZSh2YWx1ZSkge1xyXG4gICAgICAgIHRoaXMubG9hZGluZ01lc3NhZ2VWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvYWRpbmdNZXNzYWdlID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvYWRpbmdNZXNzYWdlID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nTWVzc2FnZVZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIH0sIDUwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgbG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBzaG93TG9hZGluZ1NjcmVlbiA9IGZhbHNlO1xyXG4gICAgbG9hZGluZ1N0YXJ0ZWRBdDogbnVtYmVyO1xyXG4gICAgbWVzc2FnZUNoYW5nZWRBdDogbnVtYmVyO1xyXG5cclxuICAgIHByaXZhdGUgYXN5bmMgc3RhcnRMb2FkaW5nKCkge1xyXG4gICAgICAgIHRoaXMubG9hZGluZ1N0YXJ0ZWRBdCA9IHRoaXMubWVzc2FnZUNoYW5nZWRBdCA9IERhdGUubm93KCk7XHJcblxyXG4gICAgICAgIGlmICh0aGlzLnVwZGF0ZUxvYWRpbmcoKSkgcmV0dXJuO1xyXG4gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KHJlc29sdmUgPT4gc2V0VGltZW91dCgoKSA9PiByZXNvbHZlKCksIDEwMCkpO1xyXG4gICAgICAgIGlmICh0aGlzLnVwZGF0ZUxvYWRpbmcoKSkgcmV0dXJuO1xyXG4gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KHJlc29sdmUgPT4gc2V0VGltZW91dCgoKSA9PiByZXNvbHZlKCksIDI1MCkpO1xyXG4gICAgICAgIGlmICh0aGlzLnVwZGF0ZUxvYWRpbmcoKSkgcmV0dXJuO1xyXG4gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KHJlc29sdmUgPT4gc2V0VGltZW91dCgoKSA9PiByZXNvbHZlKCksIDUwMCkpO1xyXG4gICAgICAgIGlmICh0aGlzLnVwZGF0ZUxvYWRpbmcoKSkgcmV0dXJuO1xyXG5cclxuICAgICAgICBjb25zb2xlLmxvZyhgW0JhbnRhXSBMb2FkaW5nIGlzIHRha2luZyBhIGxvbmcgdGltZSEgU2hvd2luZyBsb2FkaW5nIHNjcmVlbi5gKTtcclxuICAgICAgICB0aGlzLnNob3dMb2FkaW5nU2NyZWVuID0gdHJ1ZTtcclxuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcpXHJcbiAgICAgICAgICAgIHRoaXMuX2xvYWRpbmdUaW1lciA9IHNldEludGVydmFsKCgpID0+IHRoaXMudXBkYXRlTG9hZGluZygpLCAxMDAwKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgcHJpdmF0ZSBfbG9hZGluZ1RpbWVyO1xyXG4gICAgcHJpdmF0ZSBfbG9hZGluZ01lc3NhZ2VJbmRleCA9IDA7XHJcblxyXG4gICAgQElucHV0KCkgbG9hZGluZ01lc3NhZ2VzOiBzdHJpbmdbXSA9IFtcclxuICAgICAgICBgSnVzdCBhIHNlY29uZC4uLmAsXHJcbiAgICAgICAgYFdlJ3JlIGRlZmluaXRlbHkgd29ya2luZyBvbiBpdC5gLFxyXG4gICAgICAgIGBUaGVyZSdzIG5vIG5lZWQgdG8gcmVmcmVzaC5gLFxyXG4gICAgICAgIGBJdCdzIGRlZmluaXRlbHkgd29ydGggdGhlIHdhaXQhYCxcclxuICAgICAgICBgVGhpcyBoYXMgbmV2ZXIgaGFwcGVuZWQgYmVmb3JlLmAsXHJcbiAgICAgICAgYFdlJ2xsIGtlZXAgdHJ5aW5nLCBidXQgaXQncyBub3QgbG9va2luZyBncmVhdC4gXHJcbiAgICAgICAgICAgIENvbW1lbnRpbmcgJiBjaGF0IHNlcnZpY2VzIG1heSBiZSBkb3duLiBcclxuICAgICAgICAgICAgSWYgeW91IGNvbnRpbnVlIHRvIGV4cGVyaWVuY2UgaXNzdWVzLCBwbGVhc2UgY29udGFjdCBzdXBwb3J0LlxyXG4gICAgICAgIGBcclxuICAgIF07XHJcblxyXG4gICAgcHJpdmF0ZSB1cGRhdGVMb2FkaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLnNvdXJjZT8uc3RhdGUgJiYgdGhpcy5zb3VyY2U/LnN0YXRlICE9PSAnY29ubmVjdGluZycpIHtcclxuICAgICAgICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLl9sb2FkaW5nVGltZXIpO1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmdNZXNzYWdlID0gYEhlcmUgd2UgZ28hYDtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSwgNzUwKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgbWVzc2FnZVN3aXRjaFRpbWUgPSA1KjEwMDA7XHJcbiAgICAgICAgaWYgKHRoaXMubWVzc2FnZUNoYW5nZWRBdCArIG1lc3NhZ2VTd2l0Y2hUaW1lIDwgRGF0ZS5ub3coKSkge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5sb2FkaW5nTWVzc2FnZXNbdGhpcy5fbG9hZGluZ01lc3NhZ2VJbmRleF0pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubG9hZGluZ01lc3NhZ2UgPSB0aGlzLmxvYWRpbmdNZXNzYWdlc1t0aGlzLl9sb2FkaW5nTWVzc2FnZUluZGV4KytdO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlQ2hhbmdlZEF0ID0gRGF0ZS5ub3coKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFByb3BlcnRpZXNcclxuXHJcbiAgICBwcml2YXRlIF9zaWduSW5TZWxlY3RlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBwcml2YXRlIF9wZXJtaXNzaW9uRGVuaWVkRXJyb3IgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgICBwcml2YXRlIF9lZGl0QXZhdGFyU2VsZWN0ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcHJpdmF0ZSBfdXB2b3RlZCA9IG5ldyBTdWJqZWN0PENoYXRNZXNzYWdlPigpO1xyXG4gICAgcHJpdmF0ZSBfcmVwb3J0ZWQgPSBuZXcgU3ViamVjdDxDaGF0TWVzc2FnZT4oKTtcclxuICAgIHByaXZhdGUgX3NlbGVjdGVkID0gbmV3IFN1YmplY3Q8Q2hhdE1lc3NhZ2U+KCk7XHJcbiAgICBwcml2YXRlIF91c2VyU2VsZWN0ZWQgPSBuZXcgU3ViamVjdDxDaGF0TWVzc2FnZT4oKTtcclxuICAgIHByaXZhdGUgX3NoYXJlZCA9IG5ldyBTdWJqZWN0PENoYXRNZXNzYWdlPigpO1xyXG4gICAgcHJpdmF0ZSBfdXNlcm5hbWVTZWxlY3RlZCA9IG5ldyBTdWJqZWN0PFVzZXI+KCk7XHJcbiAgICBwcml2YXRlIF9hdmF0YXJTZWxlY3RlZCA9IG5ldyBTdWJqZWN0PFVzZXI+KCk7XHJcbiAgICBwcml2YXRlIF9zb3VyY2U6IENoYXRTb3VyY2VCYXNlO1xyXG4gICAgcHJpdmF0ZSBfc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuICAgIHByaXZhdGUgX3NvcnRPcmRlcjogQ29tbWVudHNPcmRlciA9IENvbW1lbnRzT3JkZXIuTkVXRVNUO1xyXG4gICAgcHJpdmF0ZSBfdG9waWNJRDogc3RyaW5nO1xyXG4gICAgXHJcbiAgICB1c2VyOiBVc2VyO1xyXG4gICAgc2VsZWN0ZWRNZXNzYWdlOiBDaGF0TWVzc2FnZTtcclxuICAgIHNlbGVjdGVkTWVzc2FnZVRocmVhZDogQ2hhdFNvdXJjZUJhc2U7XHJcbiAgICBzZWxlY3RlZE1lc3NhZ2VWaXNpYmxlID0gZmFsc2U7XHJcblxyXG4gICAgLy8gSW5wdXRzXHJcblxyXG4gICAgQElucHV0KCkgc2lnbkluTGFiZWwgPSAnU2lnbiBJbic7XHJcbiAgICBASW5wdXQoKSBzZW5kTGFiZWwgPSAnU2VuZCc7XHJcbiAgICBASW5wdXQoKSByZXBseUxhYmVsID0gJ1JlcGx5JztcclxuICAgIEBJbnB1dCgpIHNlbmRpbmdMYWJlbCA9ICdTZW5kaW5nJztcclxuICAgIEBJbnB1dCgpIHBlcm1pc3Npb25EZW5pZWRMYWJlbCA9ICdTZW5kJztcclxuICAgIEBJbnB1dCgpIHBvc3RDb21tZW50TGFiZWwgPSAnUG9zdCBhIGNvbW1lbnQnO1xyXG4gICAgQElucHV0KCkgcG9zdFJlcGx5TGFiZWwgPSAnUG9zdCBhIHJlcGx5JztcclxuICAgIEBJbnB1dCgpIGFsbG93QXR0YWNobWVudHMgPSBmYWxzZTtcclxuICAgIEBJbnB1dCgpIGZpeGVkSGVpZ2h0OiBib29sZWFuO1xyXG4gICAgQElucHV0KCkgbWF4TWVzc2FnZXM6IG51bWJlcjtcclxuICAgIEBJbnB1dCgpIG1heFZpc2libGVNZXNzYWdlczogbnVtYmVyO1xyXG4gICAgQElucHV0KCkgZ2VuZXJpY0F2YXRhclVybDogc3RyaW5nO1xyXG4gICAgQElucHV0KCkgc2hvdWxkSW50ZXJjZXB0TWVzc2FnZVNlbmQ/OiAobWVzc2FnZTogQ2hhdE1lc3NhZ2UsIHNvdXJjZTogQ2hhdFNvdXJjZUJhc2UpID0+IGJvb2xlYW4gfCBQcm9taXNlPGJvb2xlYW4+O1xyXG4gICAgQElucHV0KCkgcGFydGljaXBhbnRzOiBVc2VyW10gPSBbXTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHNvdXJjZSgpOiBDaGF0U291cmNlQmFzZSB7IHJldHVybiB0aGlzLl9zb3VyY2U7IH1cclxuICAgIHNldCBzb3VyY2UodmFsdWUpIHsgXHJcbiAgICAgICAgdGhpcy5fc291cmNlID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKHZhbHVlICYmIHRoaXMuc2hhcmVkQ29tbWVudElEKSB7XHJcbiAgICAgICAgICAgIHRoaXMubmF2aWdhdGVUb1NoYXJlZENvbW1lbnQodGhpcy5zaGFyZWRDb21tZW50SUQpO1xyXG4gICAgICAgICAgICB0aGlzLnNoYXJlZENvbW1lbnRJRCA9IG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQElucHV0KCkgXHJcbiAgICBoYXNodGFnczogSGFzaFRhZ1tdID0gW1xyXG4gICAgICAgIHtoYXNodGFnOiAnZXJyb3InLCBkZXNjcmlwdGlvbjogJ0NhdXNlIGFuIGVycm9yJ30sXHJcbiAgICAgICAge2hhc2h0YWc6ICd0aW1lb3V0JywgZGVzY3JpcHRpb246ICdDYXVzZSBhIHNsb3cgdGltZW91dCBlcnJvcid9LFxyXG4gICAgICAgIHtoYXNodGFnOiAnc2xvdycsIGRlc2NyaXB0aW9uOiAnQmUgc2xvdyB3aGVuIHRoaXMgbWVzc2FnZSBpcyBwb3N0ZWQnfSxcclxuICAgIF07XHJcbiAgICBASW5wdXQoKVxyXG4gICAgZ2V0IHRvcGljSUQoKTogc3RyaW5nIHsgcmV0dXJuIHRoaXMuX3RvcGljSUQ7IH1cclxuICAgIHNldCB0b3BpY0lEKHZhbHVlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3RvcGljSUQgIT09IHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RvcGljSUQgPSB2YWx1ZTtcclxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNldFNvdXJjZUZyb21Ub3BpY0lEKHZhbHVlKSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIE91dHB1dHNcclxuXHJcbiAgICBAT3V0cHV0KCkgZ2V0IHNpZ25JblNlbGVjdGVkKCk6IE9ic2VydmFibGU8dm9pZD4geyByZXR1cm4gdGhpcy5fc2lnbkluU2VsZWN0ZWQ7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgZWRpdEF2YXRhclNlbGVjdGVkKCkgeyByZXR1cm4gdGhpcy5fZWRpdEF2YXRhclNlbGVjdGVkOyB9XHJcbiAgICBAT3V0cHV0KCkgZ2V0IHBlcm1pc3Npb25EZW5pZWRFcnJvcigpOiBPYnNlcnZhYmxlPHN0cmluZz4geyByZXR1cm4gdGhpcy5fcGVybWlzc2lvbkRlbmllZEVycm9yOyB9XHJcbiAgICBAT3V0cHV0KCkgZ2V0IHVwdm90ZWQoKSB7IHJldHVybiB0aGlzLl91cHZvdGVkLmFzT2JzZXJ2YWJsZSgpOyB9XHJcbiAgICBAT3V0cHV0KCkgZ2V0IHJlcG9ydGVkKCkgeyByZXR1cm4gdGhpcy5fcmVwb3J0ZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgc2VsZWN0ZWQoKSB7IHJldHVybiB0aGlzLl9zZWxlY3RlZC5hc09ic2VydmFibGUoKTsgfVxyXG4gICAgQE91dHB1dCgpIGdldCB1c2VyU2VsZWN0ZWQoKSB7IHJldHVybiB0aGlzLl91c2VyU2VsZWN0ZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgdXNlcm5hbWVTZWxlY3RlZCgpIHsgcmV0dXJuIHRoaXMuX3VzZXJuYW1lU2VsZWN0ZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuICAgIEBPdXRwdXQoKSBnZXQgYXZhdGFyU2VsZWN0ZWQoKSB7IHJldHVybiB0aGlzLl9hdmF0YXJTZWxlY3RlZC5hc09ic2VydmFibGUoKTsgfVxyXG4gICAgQE91dHB1dCgpIGdldCBzaGFyZWQoKSB7IHJldHVybiB0aGlzLl9zaGFyZWQuYXNPYnNlcnZhYmxlKCk7IH1cclxuXHJcbiAgICBnZXQgc29ydE9yZGVyKCkgeyByZXR1cm4gdGhpcy5fc29ydE9yZGVyOyB9XHJcbiAgICBzZXQgc29ydE9yZGVyKHZhbHVlKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuX3NvcnRPcmRlciAhPT0gdmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5fc29ydE9yZGVyID0gdmFsdWU7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZXRTb3VyY2VGcm9tVG9waWNJRCh0aGlzLnRvcGljSUQpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgc2VuZE1lc3NhZ2U6IChtZXNzYWdlOiBDaGF0TWVzc2FnZSkgPT4gdm9pZDtcclxuICAgIHNlbmRSZXBseTogKG1lc3NhZ2U6IENoYXRNZXNzYWdlKSA9PiB2b2lkO1xyXG5cclxuICAgIC8vIFVJIEludGVyYWN0aW9uc1xyXG5cclxuICAgIHNjcm9sbFRvQ29tbWVudChjb21tZW50SWQ6IENoYXRNZXNzYWdlWydpZCddKTogdm9pZCB7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBjb21tZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChgW2RhdGEtY29tbWVudC1pZD1cIiR7Y29tbWVudElkfVwiXWApO1xyXG4gICAgICAgICAgaWYgKGNvbW1lbnQubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAvLyBjb21tZW50Lml0ZW0oMCkuc2Nyb2xsKHtiZWhhdmlvcjogJ3Ntb290aCd9KTtcclxuICAgICAgICAgICAgY29tbWVudC5pdGVtKDApLnNjcm9sbEludG9WaWV3KCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSwgMTAwMCk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgbmF2aWdhdGVUb1NoYXJlZENvbW1lbnQoaWQ6IHN0cmluZykge1xyXG4gICAgICAgIGxldCBzb3VyY2UgPSB0aGlzLnNvdXJjZTtcclxuXHJcbiAgICAgICAgYXdhaXQgc291cmNlLnJlYWR5O1xyXG5cclxuICAgICAgICBjb25zb2xlLmxvZyhgTmF2aWdhdGluZyB0byBzaGFyZWQgY29tbWVudCB3aXRoIElEICcke2lkfScuLi5gKTtcclxuICAgICAgICBsZXQgbWVzc2FnZTogQ2hhdE1lc3NhZ2U7XHJcbiAgICAgICAgXHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgbWVzc2FnZSA9IGF3YWl0IHRoaXMuc291cmNlLmdldChpZCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gZmluZCBjb21tZW50IGZyb20gVVJMOiAke2UubWVzc2FnZX1gKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbWVzc2FnZS50cmFuc2llbnRTdGF0ZSA/Pz0ge307XHJcblxyXG4gICAgICAgIC8vIElmIHRoZXJlIGlzIGEgcGFyZW50IG1lc3NhZ2UsIHdlIHNob3VsZCBpbnN0ZWFkIGZvY3VzIHRoYXQgYW5kIGxldCB0aGUgXHJcbiAgICAgICAgLy8gc2Nyb2xsVG9Db21tZW50IGFuZCBoaWdobGlnaHQgZG8gdGhlIHdvcmsuXHJcblxyXG4gICAgICAgIGlmIChtZXNzYWdlLnBhcmVudE1lc3NhZ2VJZCkge1xyXG5cclxuICAgICAgICAgICAgbGV0IHBhcmVudE1lc3NhZ2UgPSBhd2FpdCB0aGlzLnNvdXJjZS5nZXQobWVzc2FnZS5wYXJlbnRNZXNzYWdlSWQpO1xyXG4gICAgICAgICAgICBwYXJlbnRNZXNzYWdlLnRyYW5zaWVudFN0YXRlID8/PSB7fTtcclxuICAgICAgICAgICAgbGV0IHRocmVhZCA9IGF3YWl0IHRoaXMuc2VsZWN0TWVzc2FnZShwYXJlbnRNZXNzYWdlKTsgXHJcblxyXG4gICAgICAgICAgICAvLyBOZWVkIHRvIHJlLXJldHJpZXZlIHRoZSBtZXNzYWdlIHdpdGhpbiB0aGUgbmV3IGNoYXQgc291cmNlIHRvIGFmZmVjdCBpdHNcclxuICAgICAgICAgICAgLy8gdHJhbnNpZW50IHN0YXRlLlxyXG4gICAgICAgICAgICBhd2FpdCB0aHJlYWQucmVhZHk7XHJcbiAgICAgICAgICAgIG1lc3NhZ2UgPSBhd2FpdCB0aHJlYWQuZ2V0KG1lc3NhZ2UuaWQpO1xyXG4gICAgICAgICAgICBtZXNzYWdlLnRyYW5zaWVudFN0YXRlID8/PSB7fTtcclxuICAgICAgICAgICAgbWVzc2FnZS50cmFuc2llbnRTdGF0ZS5oaWdobGlnaHRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZGlyKG1lc3NhZ2UpO1xyXG4gICAgICAgICAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPihyZXNvbHZlID0+IHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZSgpLCA1MDApKTtcclxuXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RNZXNzYWdlKG1lc3NhZ2UpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zY3JvbGxUb0NvbW1lbnQoaWQpO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZVBlcm1pc3Npb25EZW5pZWQoZXJyb3JNZXNzYWdlOiBzdHJpbmcpIHtcclxuICAgICAgICAvLyBUaGlzIGlzIHdoYXQgb3RoZXIgY29tcG9uZW50cyBjYWxsIHdoZW4gaGFuZGxpbmcgcGVybWlzc2lvbiBlcnJvcnNcclxuICAgICAgICBcclxuICAgICAgICBpZiAoZXJyb3JNZXNzYWdlLnN0YXJ0c1dpdGgoYGFwcC1oYW5kbGV8YCkpIHtcclxuICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBhbiBlcnJvciBkdXJpbmcgYXV0aG9yaXplQWN0aW9uIG9uIHRoZSBiYWNrZW5kLCBwYXNzIGNvbnRyb2wgdG8gdGhlIHVzZXItcHJvdmlkZWQgXHJcbiAgICAgICAgICAgIC8vIHBlcm1pc3Npb24tZGVuaWVkIGhhbmRsZXIuXHJcblxyXG4gICAgICAgICAgICB0aGlzLnNlbmRQZXJtaXNzaW9uRGVuaWVkKGVycm9yTWVzc2FnZS5yZXBsYWNlKC9eYXBwLWhhbmRsZVxcfC8sICcnKSk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGFsZXJ0KGVycm9yTWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2VuZFBlcm1pc3Npb25EZW5pZWQobWVzc2FnZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy5fcGVybWlzc2lvbkRlbmllZEVycm9yLm5leHQobWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgc2Nyb2xsVG9NZXNzYWdlKG1lc3NhZ2U6IENoYXRNZXNzYWdlKSB7XHJcbiAgICAgICAgbGV0IGVsID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcihgW2RhdGEtY29tbWVudC1pZD1cIiR7bWVzc2FnZS5pZH1cIl1gKTtcclxuICAgICAgICBpZiAoIWVsKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgZWwuc2Nyb2xsSW50b1ZpZXcoe2Jsb2NrOiAnY2VudGVyJywgaW5saW5lOiAnc3RhcnQnfSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhZGRQYXJ0aWNpcGFudChtZXNzYWdlOiBDaGF0TWVzc2FnZSkge1xyXG4gICAgICAgIGlmICghbWVzc2FnZSB8fCAhbWVzc2FnZS51c2VyIHx8ICFtZXNzYWdlLnVzZXIuaWQpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgbGV0IGV4aXN0aW5nID0gdGhpcy5wYXJ0aWNpcGFudHMuZmluZCh4ID0+IHguaWQgPT09IG1lc3NhZ2UudXNlci5pZCk7XHJcbiAgICAgICAgaWYgKGV4aXN0aW5nKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgdGhpcy5wYXJ0aWNpcGFudHMucHVzaChtZXNzYWdlLnVzZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIEFjdGlvbnNcclxuXHJcbiAgICBhc3luYyBsaWtlTWVzc2FnZShzb3VyY2U6IENoYXRTb3VyY2VCYXNlLCBtZXNzYWdlOiBDaGF0TWVzc2FnZSkge1xyXG4gICAgICAgIHRoaXMuX3Vwdm90ZWQubmV4dChtZXNzYWdlKTtcclxuICAgICAgICBtZXNzYWdlLnRyYW5zaWVudFN0YXRlLmxpa2luZyA9IHRydWU7XHJcblxyXG4gICAgICAgIGlmICghbWVzc2FnZS51c2VyU3RhdGU/Lmxpa2VkKVxyXG4gICAgICAgICAgICBtZXNzYWdlLmxpa2VzID0gKG1lc3NhZ2UubGlrZXMgfHwgMCkgKyAxO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHNvdXJjZS5saWtlTWVzc2FnZShtZXNzYWdlLmlkKTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQmFja2VuZEV4Y2VwdGlvbkFzQWxlcnQoZSwgJ0NvdWxkIG5vdCBsaWtlIHRoaXMgbWVzc2FnZTogJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG4gICAgICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KHJlc29sdmUgPT4gc2V0VGltZW91dCgoKSA9PiByZXNvbHZlKCksIDI1MCkpO1xyXG4gICAgICAgIG1lc3NhZ2UudHJhbnNpZW50U3RhdGUubGlraW5nID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgdW5saWtlTWVzc2FnZShzb3VyY2U6IENoYXRTb3VyY2VCYXNlLCBtZXNzYWdlOiBDaGF0TWVzc2FnZSkge1xyXG4gICAgICAgIHRoaXMuX3Vwdm90ZWQubmV4dChtZXNzYWdlKTtcclxuICAgICAgICBtZXNzYWdlLnRyYW5zaWVudFN0YXRlLmxpa2luZyA9IHRydWU7XHJcblxyXG4gICAgICAgIGlmIChtZXNzYWdlLnVzZXJTdGF0ZT8ubGlrZWQpXHJcbiAgICAgICAgICAgIG1lc3NhZ2UubGlrZXMgPSAobWVzc2FnZS5saWtlcyB8fCAwKSAtIDE7XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHNvdXJjZS51bmxpa2VNZXNzYWdlKG1lc3NhZ2UuaWQpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVCYWNrZW5kRXhjZXB0aW9uQXNBbGVydChlLCAnRmFpbGVkIHRvIHVubGlrZSB0aGlzIG1lc3NhZ2U6ICcpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4ocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KCgpID0+IHJlc29sdmUoKSwgMjUwKSk7XHJcbiAgICAgICAgbWVzc2FnZS50cmFuc2llbnRTdGF0ZS5saWtpbmcgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyByZXBvcnRNZXNzYWdlKG1lc3NhZ2U6IENoYXRNZXNzYWdlKSB7XHJcbiAgICAgICAgdGhpcy5fcmVwb3J0ZWQubmV4dChtZXNzYWdlKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyB1bnNlbGVjdE1lc3NhZ2UoKSB7XHJcbiAgICAgICAgbGV0IG1lc3NhZ2UgPSB0aGlzLnNlbGVjdGVkTWVzc2FnZTtcclxuXHJcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQubmV4dChudWxsKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTWVzc2FnZSA9IG51bGw7XHJcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRNZXNzYWdlVGhyZWFkKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdGVkTWVzc2FnZVRocmVhZC5jbG9zZSlcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRNZXNzYWdlVGhyZWFkLmNsb3NlKCk7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRNZXNzYWdlVGhyZWFkID0gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChtZXNzYWdlKVxyXG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2Nyb2xsVG9NZXNzYWdlKG1lc3NhZ2UpKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzZWxlY3RNZXNzYWdlKG1lc3NhZ2U6IENoYXRNZXNzYWdlKSB7XHJcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWQubmV4dChtZXNzYWdlKTtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTWVzc2FnZSA9IG1lc3NhZ2U7XHJcbiAgICAgICAgbGV0IHNlbGVjdGVkTWVzc2FnZVRocmVhZCA9IGF3YWl0IHRoaXMuYmFja2VuZC5nZXRTb3VyY2VGb3JUaHJlYWQodGhpcy50b3BpY0lELCBtZXNzYWdlLmlkKTtcclxuXHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLnNlbGVjdGVkTWVzc2FnZVZpc2libGUgPSB0cnVlKTtcclxuICAgICAgICBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE1lc3NhZ2VUaHJlYWQgPSBzZWxlY3RlZE1lc3NhZ2VUaHJlYWQ7XHJcbiAgICAgICAgfSwgMjUwKTtcclxuXHJcbiAgICAgICAgcmV0dXJuIHNlbGVjdGVkTWVzc2FnZVRocmVhZDtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzaG93U2lnbkluKCkge1xyXG4gICAgICAgIHRoaXMuX3NpZ25JblNlbGVjdGVkLm5leHQoKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzaG93RWRpdEF2YXRhcigpIHtcclxuICAgICAgICB0aGlzLl9lZGl0QXZhdGFyU2VsZWN0ZWQubmV4dCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzeW5jIHNlbGVjdE1lc3NhZ2VVc2VyKG1lc3NhZ2U6IENoYXRNZXNzYWdlKSB7XHJcbiAgICAgICAgdGhpcy5fdXNlclNlbGVjdGVkLm5leHQobWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2VsZWN0VXNlcm5hbWUodXNlcjogVXNlcikge1xyXG4gICAgICAgIHRoaXMuX3VzZXJuYW1lU2VsZWN0ZWQubmV4dCh1c2VyKTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzZWxlY3RBdmF0YXIodXNlcjogVXNlcikge1xyXG4gICAgICAgIHRoaXMuX2F2YXRhclNlbGVjdGVkLm5leHQodXNlcik7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgc2hhcmVNZXNzYWdlKG1lc3NhZ2U6IENoYXRNZXNzYWdlKSB7XHJcbiAgICAgICAgdGhpcy5fc2hhcmVkLm5leHQobWVzc2FnZSk7XHJcbiAgICB9XHJcblxyXG4gICAgYXN5bmMgZGVsZXRlTWVzc2FnZShtZXNzYWdlOiBDaGF0TWVzc2FnZSkge1xyXG4gICAgICAgIGlmICghY29uZmlybShcIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBjb21tZW50PyBZb3UgY2Fubm90IHVuZG8gdGhpcyBhY3Rpb24uXCIpKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc291cmNlLmRlbGV0ZU1lc3NhZ2UobWVzc2FnZS5pZCk7XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUJhY2tlbmRFeGNlcHRpb25Bc0FsZXJ0KGUsIGBDb3VsZCBub3QgZGVsZXRlIG1lc3NhZ2U6IGApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBlZGl0TWVzc2FnZShzb3VyY2U6IENoYXRTb3VyY2VCYXNlLCBtZXNzYWdlOiBDaGF0TWVzc2FnZSwgbmV3VGV4dDogc3RyaW5nKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgYXdhaXQgc291cmNlLmVkaXRNZXNzYWdlKG1lc3NhZ2UuaWQsIG5ld1RleHQpO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVCYWNrZW5kRXhjZXB0aW9uQXNBbGVydChlLCAnQ291bGQgbm90IGVkaXQgdGhpcyBtZXNzYWdlOiAnKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbWVzc2FnZS5tZXNzYWdlID0gbmV3VGV4dDtcclxuICAgICAgICBtZXNzYWdlLnRyYW5zaWVudFN0YXRlLmVkaXRpbmcgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzdGFydEVkaXRpbmcobWVzc2FnZTogQ2hhdE1lc3NhZ2UpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTWVzc2FnZS50cmFuc2llbnRTdGF0ZS5lZGl0aW5nID0gZmFsc2U7XHJcbiAgICAgICAgbWVzc2FnZS50cmFuc2llbnRTdGF0ZS5lZGl0aW5nID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBhc3luYyBzYXZlRWRpdChtZXNzYWdlOiBDaGF0TWVzc2FnZSwgdGV4dDogc3RyaW5nKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgICAgYXdhaXQgdGhpcy5zb3VyY2UuZWRpdE1lc3NhZ2UobWVzc2FnZS5pZCwgdGV4dCk7XHJcbiAgICAgICAgICAgIG1lc3NhZ2UudHJhbnNpZW50U3RhdGUuZWRpdGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVCYWNrZW5kRXhjZXB0aW9uQXNBbGVydChlLCBgQ291bGQgbm90IGVkaXQgbWVzc2FnZTogYCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
|
package/fesm2015/banta-sdk.js
CHANGED
|
@@ -8125,7 +8125,7 @@ class BantaCommentsComponent {
|
|
|
8125
8125
|
this.sendReply = (message) => __awaiter(this, void 0, void 0, function* () {
|
|
8126
8126
|
var _b;
|
|
8127
8127
|
try {
|
|
8128
|
-
const intercept = yield ((_b = this.shouldInterceptMessageSend) === null || _b === void 0 ? void 0 : _b.call(this, message, this.
|
|
8128
|
+
const intercept = yield ((_b = this.shouldInterceptMessageSend) === null || _b === void 0 ? void 0 : _b.call(this, message, this.selectedMessageThread));
|
|
8129
8129
|
if (!intercept) {
|
|
8130
8130
|
yield this.selectedMessageThread.send(message);
|
|
8131
8131
|
}
|