@bitgo/abstract-lightning 7.4.5 → 7.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import * as utxolib from '@bitgo/utxo-lib';
|
|
2
|
-
import {
|
|
2
|
+
import { Psbt } from '@bitgo/utxo-lib';
|
|
3
|
+
import { WatchOnlyAccount, WithdrawBaseOutputUTXO } from '../codecs';
|
|
3
4
|
import { LightningOnchainRecipient } from '@bitgo/public-types';
|
|
5
|
+
export declare function parsePsbtOutputs(psbt: Psbt, network: utxolib.Network): WithdrawBaseOutputUTXO<bigint>[];
|
|
6
|
+
export declare function verifyChangeAddress(output: WithdrawBaseOutputUTXO<bigint>, accounts: WatchOnlyAccount[], network: utxolib.Network): void;
|
|
4
7
|
/**
|
|
5
8
|
* Validates the funded psbt before creating the signatures for withdraw.
|
|
6
9
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseWithdrawPsbt.d.ts","sourceRoot":"","sources":["../../../src/lightning/parseWithdrawPsbt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"parseWithdrawPsbt.d.ts","sourceRoot":"","sources":["../../../src/lightning/parseWithdrawPsbt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAa,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACrE,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAyBhE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,sBAAsB,CAAC,MAAM,CAAC,EAAE,CA8BvG;AAED,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,EACtC,QAAQ,EAAE,gBAAgB,EAAE,EAC5B,OAAO,EAAE,OAAO,CAAC,OAAO,GACvB,IAAI,CA4DN;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,CAAC,OAAO,EACxB,UAAU,EAAE,yBAAyB,EAAE,EACvC,QAAQ,EAAE,gBAAgB,EAAE,GAC3B,IAAI,CAsBN"}
|
|
@@ -33,6 +33,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.parsePsbtOutputs = parsePsbtOutputs;
|
|
37
|
+
exports.verifyChangeAddress = verifyChangeAddress;
|
|
36
38
|
exports.validatePsbtForWithdraw = validatePsbtForWithdraw;
|
|
37
39
|
const utxolib = __importStar(require("@bitgo/utxo-lib"));
|
|
38
40
|
const utxo_lib_1 = require("@bitgo/utxo-lib");
|
|
@@ -152,4 +154,4 @@ function validatePsbtForWithdraw(psbtHex, network, recipients, accounts) {
|
|
|
152
154
|
}
|
|
153
155
|
});
|
|
154
156
|
}
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VXaXRoZHJhd1BzYnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGlnaHRuaW5nL3BhcnNlV2l0aGRyYXdQc2J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUlBLDBEQTJCQztBQTVKRCx5REFBMkM7QUFDM0MsOENBQWtEO0FBSWxELHFEQU0wQjtBQUUxQixTQUFTLG1CQUFtQixDQUFDLGNBQXNCO0lBS2pELE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0QsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkUsSUFBSSxPQUFPLEtBQUssc0NBQXFCLElBQUksT0FBTyxLQUFLLDhCQUFhLElBQUksT0FBTyxLQUFLLDZCQUFZLEVBQUUsQ0FBQztRQUMvRixNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQztBQUMzQyxDQUFDO0FBRUQsU0FBUyxnQkFBZ0IsQ0FBQyxJQUFVLEVBQUUsT0FBd0I7SUFDNUQsTUFBTSxhQUFhLEdBQXFDLEVBQUUsQ0FBQztJQUMzRCxJQUFJLGVBQTRDLENBQUM7SUFFakQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVB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O0lBRTVCLE1BQU0sVUFBVSxHQUFHLGVBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7SUFDL0QsTUFBTSxPQUFPLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtRQUN6QixJQUFJLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUM7Z0JBQ0gsbUJBQW1CLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNqRCxDQUFDO1lBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztnQkFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUMzRCxDQUFDO1FBQ0gsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbEIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUMvQixJQUFJLFNBQVMsQ0FBQyxPQUFPLEtBQUssTUFBTSxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztvQkFDekYsS0FBSyxHQUFHLElBQUksQ0FBQztnQkFDZixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQyxlQUFlLE1BQU0sQ0FBQyxPQUFPLGVBQWUsTUFBTSxDQUFDLEtBQUssK0JBQStCLENBQUMsQ0FBQztZQUMzRyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHV0eG9saWIgZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IGlzTWFpbm5ldCwgUHNidCB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5pbXBvcnQgeyBXYXRjaE9ubHlBY2NvdW50LCBXaXRoZHJhd0Jhc2VPdXRwdXRVVFhPIH0gZnJvbSAnLi4vY29kZWNzJztcbmltcG9ydCB7IExpZ2h0bmluZ09uY2hhaW5SZWNpcGllbnQgfSBmcm9tICdAYml0Z28vcHVibGljLXR5cGVzJztcbmltcG9ydCB7IEJpcDMyRGVyaXZhdGlvbiB9IGZyb20gJ2JpcDE3NC9zcmMvbGliL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgRXh0ZW5kZWRLZXlBZGRyZXNzUHVycG9zZSxcbiAgUFVSUE9TRV9QMlRSLFxuICBQVVJQT1NFX1AyV0tILFxuICBQVVJQT1NFX1dSQVBQRURfUDJXS0gsXG4gIHJldmVydFhwdWJQcmVmaXgsXG59IGZyb20gJy4vbGlnaHRuaW5nVXRpbHMnO1xuXG5mdW5jdGlvbiBwYXJzZURlcml2YXRpb25QYXRoKGRlcml2YXRpb25QYXRoOiBzdHJpbmcpOiB7XG4gIHB1cnBvc2U6IEV4dGVuZGVkS2V5QWRkcmVzc1B1cnBvc2U7XG4gIGNoYW5nZTogbnVtYmVyO1xuICBhZGRyZXNzSW5kZXg6IG51bWJlcjtcbn0ge1xuICBjb25zdCBwYXRoU2VnbWVudHMgPSBkZXJpdmF0aW9uUGF0aC5zcGxpdCgnLycpO1xuICBjb25zdCBwdXJwb3NlID0gTnVtYmVyKHBhdGhTZWdtZW50c1sxXS5yZXBsYWNlKC8nL2csICcnKSk7XG4gIGNvbnN0IGNoYW5nZSA9IE51bWJlcihwYXRoU2VnbWVudHNbcGF0aFNlZ21lbnRzLmxlbmd0aCAtIDJdKTtcbiAgY29uc3QgYWRkcmVzc0luZGV4ID0gTnVtYmVyKHBhdGhTZWdtZW50c1twYXRoU2VnbWVudHMubGVuZ3RoIC0gMV0pO1xuICBpZiAocHVycG9zZSAhPT0gUFVSUE9TRV9XUkFQUEVEX1AyV0tIICYmIHB1cnBvc2UgIT09IFBVUlBPU0VfUDJXS0ggJiYgcHVycG9zZSAhPT0gUFVSUE9TRV9QMlRSKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBwdXJwb3NlIGluIGRlcml2YXRpb24gcGF0aDogJHtwdXJwb3NlfWApO1xuICB9XG4gIHJldHVybiB7IHB1cnBvc2UsIGNoYW5nZSwgYWRkcmVzc0luZGV4IH07XG59XG5cbmZ1bmN0aW9uIHBhcnNlUHNidE91dHB1dHMocHNidDogUHNidCwgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrKTogV2l0aGRyYXdCYXNlT3V0cHV0VVRYTzxiaWdpbnQ+W10ge1xuICBjb25zdCBwYXJzZWRPdXRwdXRzOiBXaXRoZHJhd0Jhc2VPdXRwdXRVVFhPPGJpZ2ludD5bXSA9IFtdO1xuICBsZXQgYmlwMzJEZXJpdmF0aW9uOiBCaXAzMkRlcml2YXRpb24gfCB1bmRlZmluZWQ7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwc2J0LmRhdGEub3V0cHV0cy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IG91dHB1dCA9IHBzYnQuZGF0YS5vdXRwdXRzW2ldO1xuICAgIGNvbnN0IHR4T3V0cHV0ID0gcHNidC50eE91dHB1dHNbaV07XG5cbiAgICBsZXQgYWRkcmVzcyA9ICcnO1xuICAgIGNvbnN0IHZhbHVlID0gdHhPdXRwdXQudmFsdWU7XG4gICAgbGV0IGlzQ2hhbmdlID0gZmFsc2U7XG5cbiAgICBpZiAob3V0cHV0LmJpcDMyRGVyaXZhdGlvbiAmJiBvdXRwdXQuYmlwMzJEZXJpdmF0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgIGlzQ2hhbmdlID0gdHJ1ZTtcbiAgICAgIGJpcDMyRGVyaXZhdGlvbiA9IG91dHB1dC5iaXAzMkRlcml2YXRpb25bMF07XG4gICAgfVxuICAgIGlmICh0eE91dHB1dC5zY3JpcHQpIHtcbiAgICAgIGFkZHJlc3MgPSB1dHhvbGliLmFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdCh0eE91dHB1dC5zY3JpcHQsIG5ldHdvcmspO1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZUJpZ0ludCA9IEJpZ0ludCh2YWx1ZSk7XG5cbiAgICBwYXJzZWRPdXRwdXRzLnB1c2goe1xuICAgICAgYWRkcmVzcyxcbiAgICAgIHZhbHVlOiB2YWx1ZUJpZ0ludCxcbiAgICAgIGNoYW5nZTogaXNDaGFuZ2UsXG4gICAgICBiaXAzMkRlcml2YXRpb24sXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcGFyc2VkT3V0cHV0cztcbn1cblxuZnVuY3Rpb24gdmVyaWZ5Q2hhbmdlQWRkcmVzcyhcbiAgb3V0cHV0OiBXaXRoZHJhd0Jhc2VPdXRwdXRVVFhPPGJpZ2ludD4sXG4gIGFjY291bnRzOiBXYXRjaE9ubHlBY2NvdW50W10sXG4gIG5ldHdvcms6IHV0eG9saWIuTmV0d29ya1xuKTogdm9pZCB7XG4gIGlmICghb3V0cHV0LmJpcDMyRGVyaXZhdGlvbiB8fCAhb3V0cHV0LmJpcDMyRGVyaXZhdGlvbi5wYXRoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBiaXAzMkRlcml2YXRpb24gcGF0aCBub3QgZm91bmQgZm9yIGNoYW5nZSBhZGRyZXNzYCk7XG4gIH1cbiAgLy8gZGVyaXZhdGlvbiBwYXRoIGV4YW1wbGU6IG0vODQnLzAnLzAnLzEvMFxuICBjb25zdCB7IHB1cnBvc2UsIGNoYW5nZSwgYWRkcmVzc0luZGV4IH0gPSBwYXJzZURlcml2YXRpb25QYXRoKG91dHB1dC5iaXAzMkRlcml2YXRpb24ucGF0aCk7XG5cbiAgLy8gRmluZCB0aGUgY29ycmVzcG9uZGluZyBhY2NvdW50IHVzaW5nIHRoZSBwdXJwb3NlXG4gIGNvbnN0IGFjY291bnQgPSBhY2NvdW50cy5maW5kKChhY2MpID0+IGFjYy5wdXJwb3NlID09PSBwdXJwb3NlKTtcbiAgaWYgKCFhY2NvdW50KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBBY2NvdW50IG5vdCBmb3VuZCBmb3IgcHVycG9zZTogJHtwdXJwb3NlfWApO1xuICB9XG5cbiAgLy8gY29udmVydCB1cHViLCB2cHViLCBldGMgcHJlZml4ZXMgdG8geHB1YiBhcyB1dHhvbGliIGRvZXNuJ3Qgc3VwcG9ydCB0aGVzZVxuICBjb25zdCBjb252ZXJ0ZWRYcHViID0gcmV2ZXJ0WHB1YlByZWZpeChhY2NvdW50LnhwdWIsIHB1cnBvc2UsIGlzTWFpbm5ldChuZXR3b3JrKSk7XG4gIC8vIENyZWF0ZSBhIEJJUDMyIG5vZGUgZnJvbSB0aGUgeHB1YlxuICBjb25zdCB4cHViTm9kZSA9IHV0eG9saWIuYmlwMzIuZnJvbUJhc2U1OChjb252ZXJ0ZWRYcHViLCBuZXR3b3JrKTtcblxuICAvLyBEZXJpdmUgdGhlIHB1YmxpYyBrZXkgZnJvbSB0aGUgeHB1YiB1c2luZyB0aGUgY2hhbmdlIGFuZCBhZGRyZXNzIGluZGV4XG4gIGNvbnN0IGRlcml2ZWRQdWJrZXkgPSB4cHViTm9kZS5kZXJpdmUoY2hhbmdlKS5kZXJpdmUoYWRkcmVzc0luZGV4KS5wdWJsaWNLZXk7XG5cbiAgaWYgKGRlcml2ZWRQdWJrZXkudG9TdHJpbmcoJ2hleCcpICE9PSBvdXRwdXQuYmlwMzJEZXJpdmF0aW9uLnB1YmtleS50b1N0cmluZygnaGV4JykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgRGVyaXZlZCBwdWJrZXkgZG9lcyBub3QgbWF0Y2ggZm9yIGFkZHJlc3M6ICR7b3V0cHV0LmFkZHJlc3N9LCBkZXJpdmVkOiAke2Rlcml2ZWRQdWJrZXkudG9TdHJpbmcoXG4gICAgICAgICdoZXgnXG4gICAgICApfSwgZXhwZWN0ZWQ6ICR7b3V0cHV0LmJpcDMyRGVyaXZhdGlvbi5wdWJrZXkudG9TdHJpbmcoJ2hleCcpfWBcbiAgICApO1xuICB9XG5cbiAgLy8gRGV0ZXJtaW5lIHRoZSBjb3JyZWN0IHBheW1lbnQgdHlwZSBiYXNlZCBvbiB0aGUgcHVycG9zZVxuICBsZXQgZGVyaXZlZEFkZHJlc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgc3dpdGNoIChwdXJwb3NlKSB7XG4gICAgY2FzZSA0OTogLy8gUDJTSC1QMldQS0ggKE5lc3RlZCBTZWdXaXQpXG4gICAgICBkZXJpdmVkQWRkcmVzcyA9IHV0eG9saWIucGF5bWVudHMucDJzaCh7XG4gICAgICAgIHJlZGVlbTogdXR4b2xpYi5wYXltZW50cy5wMndwa2goe1xuICAgICAgICAgIHB1YmtleTogZGVyaXZlZFB1YmtleSxcbiAgICAgICAgICBuZXR3b3JrLFxuICAgICAgICB9KSxcbiAgICAgICAgbmV0d29yayxcbiAgICAgIH0pLmFkZHJlc3M7XG4gICAgICBicmVhaztcbiAgICBjYXNlIDg0OiAvLyBQMldQS0ggKE5hdGl2ZSBTZWdXaXQpXG4gICAgICBkZXJpdmVkQWRkcmVzcyA9IHV0eG9saWIucGF5bWVudHMucDJ3cGtoKHtcbiAgICAgICAgcHVia2V5OiBkZXJpdmVkUHVia2V5LFxuICAgICAgICBuZXR3b3JrLFxuICAgICAgfSkuYWRkcmVzcztcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgODY6IC8vIFAyVFIgKFRhcHJvb3QpXG4gICAgICBkZXJpdmVkQWRkcmVzcyA9IHV0eG9saWIucGF5bWVudHMucDJ0cih7XG4gICAgICAgIHB1YmtleTogZGVyaXZlZFB1YmtleSxcbiAgICAgICAgbmV0d29yayxcbiAgICAgIH0pLmFkZHJlc3M7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBwdXJwb3NlOiAke3B1cnBvc2V9YCk7XG4gIH1cblxuICBpZiAoZGVyaXZlZEFkZHJlc3MgIT09IG91dHB1dC5hZGRyZXNzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBpbnZhbGlkIGNoYW5nZSBhZGRyZXNzOiBleHBlY3RlZCAke2Rlcml2ZWRBZGRyZXNzfSwgZ290ICR7b3V0cHV0LmFkZHJlc3N9YCk7XG4gIH1cbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgdGhlIGZ1bmRlZCBwc2J0IGJlZm9yZSBjcmVhdGluZyB0aGUgc2lnbmF0dXJlcyBmb3Igd2l0aGRyYXcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZVBzYnRGb3JXaXRoZHJhdyhcbiAgcHNidEhleDogc3RyaW5nLFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmssXG4gIHJlY2lwaWVudHM6IExpZ2h0bmluZ09uY2hhaW5SZWNpcGllbnRbXSxcbiAgYWNjb3VudHM6IFdhdGNoT25seUFjY291bnRbXVxuKTogdm9pZCB7XG4gIGNvbnN0IHBhcnNlZFBzYnQgPSBQc2J0LmZyb21IZXgocHNidEhleCwgeyBuZXR3b3JrOiBuZXR3b3JrIH0pO1xuICBjb25zdCBvdXRwdXRzID0gcGFyc2VQc2J0T3V0cHV0cyhwYXJzZWRQc2J0LCBuZXR3b3JrKTtcbiAgb3V0cHV0cy5mb3JFYWNoKChvdXRwdXQpID0+IHtcbiAgICBpZiAob3V0cHV0LmNoYW5nZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdmVyaWZ5Q2hhbmdlQWRkcmVzcyhvdXRwdXQsIGFjY291bnRzLCBuZXR3b3JrKTtcbiAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byB2ZXJpZnkgY2hhbmdlIGFkZHJlc3M6ICR7ZX1gKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgbGV0IG1hdGNoID0gZmFsc2U7XG4gICAgICByZWNpcGllbnRzLmZvckVhY2goKHJlY2lwaWVudCkgPT4ge1xuICAgICAgICBpZiAocmVjaXBpZW50LmFkZHJlc3MgPT09IG91dHB1dC5hZGRyZXNzICYmIEJpZ0ludChyZWNpcGllbnQuYW1vdW50U2F0KSA9PT0gb3V0cHV0LnZhbHVlKSB7XG4gICAgICAgICAgbWF0Y2ggPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGlmICghbWF0Y2gpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBQU0JUIG91dHB1dCAke291dHB1dC5hZGRyZXNzfSB3aXRoIHZhbHVlICR7b3V0cHV0LnZhbHVlfSBkb2VzIG5vdCBtYXRjaCBhbnkgcmVjaXBpZW50YCk7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2VXaXRoZHJhd1BzYnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGlnaHRuaW5nL3BhcnNlV2l0aGRyYXdQc2J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNEJBLDRDQThCQztBQUVELGtEQWdFQztBQUtELDBEQTJCQztBQTVKRCx5REFBMkM7QUFDM0MsOENBQWtEO0FBSWxELHFEQU0wQjtBQUUxQixTQUFTLG1CQUFtQixDQUFDLGNBQXNCO0lBS2pELE1BQU0sWUFBWSxHQUFHLGNBQWMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0MsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDN0QsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkUsSUFBSSxPQUFPLEtBQUssc0NBQXFCLElBQUksT0FBTyxLQUFLLDhCQUFhLElBQUksT0FBTyxLQUFLLDZCQUFZLEVBQUUsQ0FBQztRQUMvRixNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQztBQUMzQyxDQUFDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQUMsSUFBVSxFQUFFLE9BQXdCO0lBQ25FLE1BQU0sYUFBYSxHQUFxQyxFQUFFLENBQUM7SUFDM0QsSUFBSSxlQUE0QyxDQUFDO0lBRWpELEtB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Yml0Z28vdXR4by1saWInO1xuaW1wb3J0IHsgaXNNYWlubmV0LCBQc2J0IH0gZnJvbSAnQGJpdGdvL3V0eG8tbGliJztcbmltcG9ydCB7IFdhdGNoT25seUFjY291bnQsIFdpdGhkcmF3QmFzZU91dHB1dFVUWE8gfSBmcm9tICcuLi9jb2RlY3MnO1xuaW1wb3J0IHsgTGlnaHRuaW5nT25jaGFpblJlY2lwaWVudCB9IGZyb20gJ0BiaXRnby9wdWJsaWMtdHlwZXMnO1xuaW1wb3J0IHsgQmlwMzJEZXJpdmF0aW9uIH0gZnJvbSAnYmlwMTc0L3NyYy9saWIvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1xuICBFeHRlbmRlZEtleUFkZHJlc3NQdXJwb3NlLFxuICBQVVJQT1NFX1AyVFIsXG4gIFBVUlBPU0VfUDJXS0gsXG4gIFBVUlBPU0VfV1JBUFBFRF9QMldLSCxcbiAgcmV2ZXJ0WHB1YlByZWZpeCxcbn0gZnJvbSAnLi9saWdodG5pbmdVdGlscyc7XG5cbmZ1bmN0aW9uIHBhcnNlRGVyaXZhdGlvblBhdGgoZGVyaXZhdGlvblBhdGg6IHN0cmluZyk6IHtcbiAgcHVycG9zZTogRXh0ZW5kZWRLZXlBZGRyZXNzUHVycG9zZTtcbiAgY2hhbmdlOiBudW1iZXI7XG4gIGFkZHJlc3NJbmRleDogbnVtYmVyO1xufSB7XG4gIGNvbnN0IHBhdGhTZWdtZW50cyA9IGRlcml2YXRpb25QYXRoLnNwbGl0KCcvJyk7XG4gIGNvbnN0IHB1cnBvc2UgPSBOdW1iZXIocGF0aFNlZ21lbnRzWzFdLnJlcGxhY2UoLycvZywgJycpKTtcbiAgY29uc3QgY2hhbmdlID0gTnVtYmVyKHBhdGhTZWdtZW50c1twYXRoU2VnbWVudHMubGVuZ3RoIC0gMl0pO1xuICBjb25zdCBhZGRyZXNzSW5kZXggPSBOdW1iZXIocGF0aFNlZ21lbnRzW3BhdGhTZWdtZW50cy5sZW5ndGggLSAxXSk7XG4gIGlmIChwdXJwb3NlICE9PSBQVVJQT1NFX1dSQVBQRURfUDJXS0ggJiYgcHVycG9zZSAhPT0gUFVSUE9TRV9QMldLSCAmJiBwdXJwb3NlICE9PSBQVVJQT1NFX1AyVFIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIHB1cnBvc2UgaW4gZGVyaXZhdGlvbiBwYXRoOiAke3B1cnBvc2V9YCk7XG4gIH1cbiAgcmV0dXJuIHsgcHVycG9zZSwgY2hhbmdlLCBhZGRyZXNzSW5kZXggfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUHNidE91dHB1dHMocHNidDogUHNidCwgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrKTogV2l0aGRyYXdCYXNlT3V0cHV0VVRYTzxiaWdpbnQ+W10ge1xuICBjb25zdCBwYXJzZWRPdXRwdXRzOiBXaXRoZHJhd0Jhc2VPdXRwdXRVVFhPPGJpZ2ludD5bXSA9IFtdO1xuICBsZXQgYmlwMzJEZXJpdmF0aW9uOiBCaXAzMkRlcml2YXRpb24gfCB1bmRlZmluZWQ7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBwc2J0LmRhdGEub3V0cHV0cy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IG91dHB1dCA9IHBzYnQuZGF0YS5vdXRwdXRzW2ldO1xuICAgIGNvbnN0IHR4T3V0cHV0ID0gcHNidC50eE91dHB1dHNbaV07XG5cbiAgICBsZXQgYWRkcmVzcyA9ICcnO1xuICAgIGNvbnN0IHZhbHVlID0gdHhPdXRwdXQudmFsdWU7XG4gICAgbGV0IGlzQ2hhbmdlID0gZmFsc2U7XG5cbiAgICBpZiAob3V0cHV0LmJpcDMyRGVyaXZhdGlvbiAmJiBvdXRwdXQuYmlwMzJEZXJpdmF0aW9uLmxlbmd0aCA+IDApIHtcbiAgICAgIGlzQ2hhbmdlID0gdHJ1ZTtcbiAgICAgIGJpcDMyRGVyaXZhdGlvbiA9IG91dHB1dC5iaXAzMkRlcml2YXRpb25bMF07XG4gICAgfVxuICAgIGlmICh0eE91dHB1dC5zY3JpcHQpIHtcbiAgICAgIGFkZHJlc3MgPSB1dHhvbGliLmFkZHJlc3MuZnJvbU91dHB1dFNjcmlwdCh0eE91dHB1dC5zY3JpcHQsIG5ldHdvcmspO1xuICAgIH1cbiAgICBjb25zdCB2YWx1ZUJpZ0ludCA9IEJpZ0ludCh2YWx1ZSk7XG5cbiAgICBwYXJzZWRPdXRwdXRzLnB1c2goe1xuICAgICAgYWRkcmVzcyxcbiAgICAgIHZhbHVlOiB2YWx1ZUJpZ0ludCxcbiAgICAgIGNoYW5nZTogaXNDaGFuZ2UsXG4gICAgICBiaXAzMkRlcml2YXRpb24sXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcGFyc2VkT3V0cHV0cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZlcmlmeUNoYW5nZUFkZHJlc3MoXG4gIG91dHB1dDogV2l0aGRyYXdCYXNlT3V0cHV0VVRYTzxiaWdpbnQ+LFxuICBhY2NvdW50czogV2F0Y2hPbmx5QWNjb3VudFtdLFxuICBuZXR3b3JrOiB1dHhvbGliLk5ldHdvcmtcbik6IHZvaWQge1xuICBpZiAoIW91dHB1dC5iaXAzMkRlcml2YXRpb24gfHwgIW91dHB1dC5iaXAzMkRlcml2YXRpb24ucGF0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgYmlwMzJEZXJpdmF0aW9uIHBhdGggbm90IGZvdW5kIGZvciBjaGFuZ2UgYWRkcmVzc2ApO1xuICB9XG4gIC8vIGRlcml2YXRpb24gcGF0aCBleGFtcGxlOiBtLzg0Jy8wJy8wJy8xLzBcbiAgY29uc3QgeyBwdXJwb3NlLCBjaGFuZ2UsIGFkZHJlc3NJbmRleCB9ID0gcGFyc2VEZXJpdmF0aW9uUGF0aChvdXRwdXQuYmlwMzJEZXJpdmF0aW9uLnBhdGgpO1xuXG4gIC8vIEZpbmQgdGhlIGNvcnJlc3BvbmRpbmcgYWNjb3VudCB1c2luZyB0aGUgcHVycG9zZVxuICBjb25zdCBhY2NvdW50ID0gYWNjb3VudHMuZmluZCgoYWNjKSA9PiBhY2MucHVycG9zZSA9PT0gcHVycG9zZSk7XG4gIGlmICghYWNjb3VudCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgQWNjb3VudCBub3QgZm91bmQgZm9yIHB1cnBvc2U6ICR7cHVycG9zZX1gKTtcbiAgfVxuXG4gIC8vIGNvbnZlcnQgdXB1YiwgdnB1YiwgZXRjIHByZWZpeGVzIHRvIHhwdWIgYXMgdXR4b2xpYiBkb2Vzbid0IHN1cHBvcnQgdGhlc2VcbiAgY29uc3QgY29udmVydGVkWHB1YiA9IHJldmVydFhwdWJQcmVmaXgoYWNjb3VudC54cHViLCBwdXJwb3NlLCBpc01haW5uZXQobmV0d29yaykpO1xuICAvLyBDcmVhdGUgYSBCSVAzMiBub2RlIGZyb20gdGhlIHhwdWJcbiAgY29uc3QgeHB1Yk5vZGUgPSB1dHhvbGliLmJpcDMyLmZyb21CYXNlNTgoY29udmVydGVkWHB1YiwgbmV0d29yayk7XG5cbiAgLy8gRGVyaXZlIHRoZSBwdWJsaWMga2V5IGZyb20gdGhlIHhwdWIgdXNpbmcgdGhlIGNoYW5nZSBhbmQgYWRkcmVzcyBpbmRleFxuICBjb25zdCBkZXJpdmVkUHVia2V5ID0geHB1Yk5vZGUuZGVyaXZlKGNoYW5nZSkuZGVyaXZlKGFkZHJlc3NJbmRleCkucHVibGljS2V5O1xuXG4gIGlmIChkZXJpdmVkUHVia2V5LnRvU3RyaW5nKCdoZXgnKSAhPT0gb3V0cHV0LmJpcDMyRGVyaXZhdGlvbi5wdWJrZXkudG9TdHJpbmcoJ2hleCcpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYERlcml2ZWQgcHVia2V5IGRvZXMgbm90IG1hdGNoIGZvciBhZGRyZXNzOiAke291dHB1dC5hZGRyZXNzfSwgZGVyaXZlZDogJHtkZXJpdmVkUHVia2V5LnRvU3RyaW5nKFxuICAgICAgICAnaGV4J1xuICAgICAgKX0sIGV4cGVjdGVkOiAke291dHB1dC5iaXAzMkRlcml2YXRpb24ucHVia2V5LnRvU3RyaW5nKCdoZXgnKX1gXG4gICAgKTtcbiAgfVxuXG4gIC8vIERldGVybWluZSB0aGUgY29ycmVjdCBwYXltZW50IHR5cGUgYmFzZWQgb24gdGhlIHB1cnBvc2VcbiAgbGV0IGRlcml2ZWRBZGRyZXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHN3aXRjaCAocHVycG9zZSkge1xuICAgIGNhc2UgNDk6IC8vIFAyU0gtUDJXUEtIIChOZXN0ZWQgU2VnV2l0KVxuICAgICAgZGVyaXZlZEFkZHJlc3MgPSB1dHhvbGliLnBheW1lbnRzLnAyc2goe1xuICAgICAgICByZWRlZW06IHV0eG9saWIucGF5bWVudHMucDJ3cGtoKHtcbiAgICAgICAgICBwdWJrZXk6IGRlcml2ZWRQdWJrZXksXG4gICAgICAgICAgbmV0d29yayxcbiAgICAgICAgfSksXG4gICAgICAgIG5ldHdvcmssXG4gICAgICB9KS5hZGRyZXNzO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSA4NDogLy8gUDJXUEtIIChOYXRpdmUgU2VnV2l0KVxuICAgICAgZGVyaXZlZEFkZHJlc3MgPSB1dHhvbGliLnBheW1lbnRzLnAyd3BraCh7XG4gICAgICAgIHB1YmtleTogZGVyaXZlZFB1YmtleSxcbiAgICAgICAgbmV0d29yayxcbiAgICAgIH0pLmFkZHJlc3M7XG4gICAgICBicmVhaztcbiAgICBjYXNlIDg2OiAvLyBQMlRSIChUYXByb290KVxuICAgICAgZGVyaXZlZEFkZHJlc3MgPSB1dHhvbGliLnBheW1lbnRzLnAydHIoe1xuICAgICAgICBwdWJrZXk6IGRlcml2ZWRQdWJrZXksXG4gICAgICAgIG5ldHdvcmssXG4gICAgICB9KS5hZGRyZXNzO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgcHVycG9zZTogJHtwdXJwb3NlfWApO1xuICB9XG5cbiAgaWYgKGRlcml2ZWRBZGRyZXNzICE9PSBvdXRwdXQuYWRkcmVzcykge1xuICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCBjaGFuZ2UgYWRkcmVzczogZXhwZWN0ZWQgJHtkZXJpdmVkQWRkcmVzc30sIGdvdCAke291dHB1dC5hZGRyZXNzfWApO1xuICB9XG59XG5cbi8qKlxuICogVmFsaWRhdGVzIHRoZSBmdW5kZWQgcHNidCBiZWZvcmUgY3JlYXRpbmcgdGhlIHNpZ25hdHVyZXMgZm9yIHdpdGhkcmF3LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVQc2J0Rm9yV2l0aGRyYXcoXG4gIHBzYnRIZXg6IHN0cmluZyxcbiAgbmV0d29yazogdXR4b2xpYi5OZXR3b3JrLFxuICByZWNpcGllbnRzOiBMaWdodG5pbmdPbmNoYWluUmVjaXBpZW50W10sXG4gIGFjY291bnRzOiBXYXRjaE9ubHlBY2NvdW50W11cbik6IHZvaWQge1xuICBjb25zdCBwYXJzZWRQc2J0ID0gUHNidC5mcm9tSGV4KHBzYnRIZXgsIHsgbmV0d29yazogbmV0d29yayB9KTtcbiAgY29uc3Qgb3V0cHV0cyA9IHBhcnNlUHNidE91dHB1dHMocGFyc2VkUHNidCwgbmV0d29yayk7XG4gIG91dHB1dHMuZm9yRWFjaCgob3V0cHV0KSA9PiB7XG4gICAgaWYgKG91dHB1dC5jaGFuZ2UpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHZlcmlmeUNoYW5nZUFkZHJlc3Mob3V0cHV0LCBhY2NvdW50cywgbmV0d29yayk7XG4gICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmFibGUgdG8gdmVyaWZ5IGNoYW5nZSBhZGRyZXNzOiAke2V9YCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBtYXRjaCA9IGZhbHNlO1xuICAgICAgcmVjaXBpZW50cy5mb3JFYWNoKChyZWNpcGllbnQpID0+IHtcbiAgICAgICAgaWYgKHJlY2lwaWVudC5hZGRyZXNzID09PSBvdXRwdXQuYWRkcmVzcyAmJiBCaWdJbnQocmVjaXBpZW50LmFtb3VudFNhdCkgPT09IG91dHB1dC52YWx1ZSkge1xuICAgICAgICAgIG1hdGNoID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpZiAoIW1hdGNoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgUFNCVCBvdXRwdXQgJHtvdXRwdXQuYWRkcmVzc30gd2l0aCB2YWx1ZSAke291dHB1dC52YWx1ZX0gZG9lcyBub3QgbWF0Y2ggYW55IHJlY2lwaWVudGApO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG59XG4iXX0=
|