PHP WebShell

Текущая директория: /opt/BitGoJS/modules/sdk-coin-doge/dist/src

Просмотр файла: doge.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.Doge = void 0;
const abstract_utxo_1 = require("@bitgo/abstract-utxo");
const utxo_lib_1 = require("@bitgo/utxo-lib");
function parseUnspents(unspents) {
    return unspents.map((unspent) => {
        if (typeof unspent.value === 'bigint') {
            return unspent;
        }
        if ('valueString' in unspent) {
            return { ...unspent, value: BigInt(unspent.valueString) };
        }
        if (typeof unspent.value === 'number') {
            throw new Error(`received Unspent<number> where Unspent<bigint> or UnspentJSON was expected`);
        }
        throw new Error('invalid unspent');
    });
}
function parseTransactionInfo(txInfo) {
    if (txInfo.unspents) {
        return { ...txInfo, unspents: parseUnspents(txInfo.unspents) };
    }
    return { ...txInfo, unspents: undefined };
}
function parseTransactionPrebuild(txPrebuild) {
    if (txPrebuild?.txInfo) {
        return { ...txPrebuild, txInfo: parseTransactionInfo(txPrebuild.txInfo) };
    }
    return txPrebuild;
}
class Doge extends abstract_utxo_1.AbstractUtxoCoin {
    constructor(bitgo, network) {
        super(bitgo, network || utxo_lib_1.networks.dogecoin, 'bigint');
    }
    static createInstance(bitgo) {
        return new Doge(bitgo);
    }
    supportsBlockTarget() {
        return true;
    }
    /* amountType is set in constructor. Functions below override the default TNumber of AbstractUtxoCoin to bigint */
    /* postProcessPrebuild, isBitGoTaintedUnspent, verifyCustomChangeKeySignatures do not care whether they receive number or bigint */
    createTransactionFromHex(hex) {
        return super.createTransactionFromHex(hex);
    }
    async parseTransaction(params) {
        return (await super.parseTransaction({
            ...params,
            txPrebuild: parseTransactionPrebuild(params.txPrebuild),
        })) /* cast to satisfy superclass signature */;
    }
    async verifyTransaction(params) {
        return super.verifyTransaction({
            ...params,
            txPrebuild: parseTransactionPrebuild(params.txPrebuild),
        });
    }
    async signTransaction(params) {
        return super.signTransaction({
            ...params,
            txPrebuild: {
                ...params.txPrebuild,
                txInfo: params.txPrebuild.txInfo === undefined ? undefined : parseTransactionInfo(params.txPrebuild.txInfo),
            },
        });
    }
    async explainTransaction(params) {
        return super.explainTransaction({
            ...params,
            txInfo: params.txInfo ? parseTransactionInfo(params.txInfo) : undefined,
        });
    }
    async recoverFromWrongChain(params) {
        return super.recoverFromWrongChain(params);
    }
}
exports.Doge = Doge;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9nZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kb2dlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHdEQWM4QjtBQUU5Qiw4Q0FBa0Q7QUFNbEQsU0FBUyxhQUFhLENBQ3BCLFFBQWtEO0lBRWxELE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQTZDLEVBQXlCLEVBQUU7UUFDM0YsSUFBSSxPQUFPLE9BQU8sQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdEMsT0FBTyxPQUFnQyxDQUFDO1FBQzFDLENBQUM7UUFDRCxJQUFJLGFBQWEsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUM3QixPQUFPLEVBQUUsR0FBRyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztRQUM1RCxDQUFDO1FBQ0QsSUFBSSxPQUFPLE9BQU8sQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDdEMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDO1FBQ2hHLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDckMsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxvQkFBb0IsQ0FDM0IsTUFBc0Q7SUFFdEQsSUFBSSxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDcEIsT0FBTyxFQUFFLEdBQUcsTUFBTSxFQUFFLFFBQVEsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7SUFDakUsQ0FBQztJQUNELE9BQU8sRUFBRSxHQUFHLE1BQU0sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFDNUMsQ0FBQztBQUVELFNBQVMsd0JBQXdCLENBQy9CLFVBQWtFO0lBRWxFLElBQUksVUFBVSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sRUFBRSxHQUFHLFVBQVUsRUFBRSxNQUFNLEVBQUUsb0JBQW9CLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7SUFDNUUsQ0FBQztJQUNELE9BQU8sVUFBeUMsQ0FBQztBQUNuRCxDQUFDO0FBRUQsTUFBYSxJQUFLLFNBQVEsZ0NBQWdCO0lBQ3hDLFlBQVksS0FBZ0IsRUFBRSxPQUFxQjtRQUNqRCxLQUFLLENBQUMsS0FBSyxFQUFFLE9BQU8sSUFBSSxtQkFBUSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFnQjtRQUNwQyxPQUFPLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsa0hBQWtIO0lBRWxILG1JQUFtSTtJQUVuSSx3QkFBd0IsQ0FBMkMsR0FBVztRQUM1RSxPQUFPLEtBQUssQ0FBQyx3QkFBd0IsQ0FBVSxHQUFHLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsS0FBSyxDQUFDLGdCQUFnQixDQUNwQixNQUF3QztRQU14QyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsZ0JBQWdCLENBQUM7WUFDbkMsR0FBRyxNQUFNO1lBQ1QsVUFBVSxFQUFFLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUM7U0FDeEQsQ0FBQyxDQUErQixDQUFDLDBDQUEwQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxLQUFLLENBQUMsaUJBQWlCLENBQ3JCLE1BRWlGO1FBRWpGLE9BQU8sS0FBSyxDQUFDLGlCQUFpQixDQUFDO1lBQzdCLEdBQUcsTUFBTTtZQUNULFVBQVUsRUFBRSx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1NBQ3hELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLLENBQUMsZUFBZSxDQUNuQixNQUF1QztRQUV2QyxPQUFPLEtBQUssQ0FBQyxlQUFlLENBQUM7WUFDM0IsR0FBRyxNQUFNO1lBQ1QsVUFBVSxFQUFFO2dCQUNWLEdBQUcsTUFBTSxDQUFDLFVBQVU7Z0JBQ3BCLE1BQU0sRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7YUFDNUc7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLGtCQUFrQixDQUN0QixNQUFtSDtRQUVuSCxPQUFPLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztZQUM5QixHQUFHLE1BQU07WUFDVCxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLE1BQTZCLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztTQUMvRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSyxDQUFDLHFCQUFxQixDQUN6QixNQUFvQztRQUVwQyxPQUFPLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QyxDQUFDO0NBQ0Y7QUF2RUQsb0JBdUVDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzdHJhY3RVdHhvQ29pbixcbiAgU2lnblRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgRXhwbGFpblRyYW5zYWN0aW9uT3B0aW9ucyxcbiAgVHJhbnNhY3Rpb25FeHBsYW5hdGlvbixcbiAgVXR4b05ldHdvcmssXG4gIFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zLFxuICBQYXJzZWRUcmFuc2FjdGlvbixcbiAgVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zLFxuICBDcm9zc0NoYWluUmVjb3ZlcnlTaWduZWQsXG4gIENyb3NzQ2hhaW5SZWNvdmVyeVVuc2lnbmVkLFxuICBSZWNvdmVyRnJvbVdyb25nQ2hhaW5PcHRpb25zLFxuICBUcmFuc2FjdGlvbkluZm8sXG4gIFRyYW5zYWN0aW9uUHJlYnVpbGQsXG59IGZyb20gJ0BiaXRnby9hYnN0cmFjdC11dHhvJztcbmltcG9ydCB7IEJhc2VDb2luLCBCaXRHb0Jhc2UsIEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb24sIFNpZ25lZFRyYW5zYWN0aW9uIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IGJpdGdvLCBuZXR3b3JrcyB9IGZyb20gJ0BiaXRnby91dHhvLWxpYic7XG5cbnR5cGUgVW5zcGVudEpTT04gPSBiaXRnby5VbnNwZW50PG51bWJlcj4gJiB7IHZhbHVlU3RyaW5nOiBzdHJpbmcgfTtcbnR5cGUgVHJhbnNhY3Rpb25JbmZvSlNPTiA9IFRyYW5zYWN0aW9uSW5mbzxudW1iZXI+ICYgeyB1bnNwZW50czogVW5zcGVudEpTT05bXSB9O1xudHlwZSBUcmFuc2FjdGlvblByZWJ1aWxkSlNPTiA9IFRyYW5zYWN0aW9uUHJlYnVpbGQ8bnVtYmVyPiAmIHsgdHhJbmZvOiBUcmFuc2FjdGlvbkluZm9KU09OIH07XG5cbmZ1bmN0aW9uIHBhcnNlVW5zcGVudHM8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oXG4gIHVuc3BlbnRzOiBVbnNwZW50SlNPTltdIHwgYml0Z28uVW5zcGVudDxUTnVtYmVyPltdXG4pOiBiaXRnby5VbnNwZW50PGJpZ2ludD5bXSB7XG4gIHJldHVybiB1bnNwZW50cy5tYXAoKHVuc3BlbnQ6IGJpdGdvLlVuc3BlbnQ8VE51bWJlcj4gfCBVbnNwZW50SlNPTik6IGJpdGdvLlVuc3BlbnQ8YmlnaW50PiA9PiB7XG4gICAgaWYgKHR5cGVvZiB1bnNwZW50LnZhbHVlID09PSAnYmlnaW50Jykge1xuICAgICAgcmV0dXJuIHVuc3BlbnQgYXMgYml0Z28uVW5zcGVudDxiaWdpbnQ+O1xuICAgIH1cbiAgICBpZiAoJ3ZhbHVlU3RyaW5nJyBpbiB1bnNwZW50KSB7XG4gICAgICByZXR1cm4geyAuLi51bnNwZW50LCB2YWx1ZTogQmlnSW50KHVuc3BlbnQudmFsdWVTdHJpbmcpIH07XG4gICAgfVxuICAgIGlmICh0eXBlb2YgdW5zcGVudC52YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgcmVjZWl2ZWQgVW5zcGVudDxudW1iZXI+IHdoZXJlIFVuc3BlbnQ8YmlnaW50PiBvciBVbnNwZW50SlNPTiB3YXMgZXhwZWN0ZWRgKTtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKCdpbnZhbGlkIHVuc3BlbnQnKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlVHJhbnNhY3Rpb25JbmZvPFROdW1iZXIgZXh0ZW5kcyBudW1iZXIgfCBiaWdpbnQ+KFxuICB0eEluZm86IFRyYW5zYWN0aW9uSW5mbzxUTnVtYmVyPiB8IFRyYW5zYWN0aW9uSW5mb0pTT05cbik6IFRyYW5zYWN0aW9uSW5mbzxiaWdpbnQ+IHtcbiAgaWYgKHR4SW5mby51bnNwZW50cykge1xuICAgIHJldHVybiB7IC4uLnR4SW5mbywgdW5zcGVudHM6IHBhcnNlVW5zcGVudHModHhJbmZvLnVuc3BlbnRzKSB9O1xuICB9XG4gIHJldHVybiB7IC4uLnR4SW5mbywgdW5zcGVudHM6IHVuZGVmaW5lZCB9O1xufVxuXG5mdW5jdGlvbiBwYXJzZVRyYW5zYWN0aW9uUHJlYnVpbGQ8VE51bWJlciBleHRlbmRzIG51bWJlciB8IGJpZ2ludD4oXG4gIHR4UHJlYnVpbGQ6IFRyYW5zYWN0aW9uUHJlYnVpbGQ8VE51bWJlcj4gfCBUcmFuc2FjdGlvblByZWJ1aWxkSlNPTlxuKTogVHJhbnNhY3Rpb25QcmVidWlsZDxiaWdpbnQ+IHtcbiAgaWYgKHR4UHJlYnVpbGQ/LnR4SW5mbykge1xuICAgIHJldHVybiB7IC4uLnR4UHJlYnVpbGQsIHR4SW5mbzogcGFyc2VUcmFuc2FjdGlvbkluZm8odHhQcmVidWlsZC50eEluZm8pIH07XG4gIH1cbiAgcmV0dXJuIHR4UHJlYnVpbGQgYXMgVHJhbnNhY3Rpb25QcmVidWlsZDxiaWdpbnQ+O1xufVxuXG5leHBvcnQgY2xhc3MgRG9nZSBleHRlbmRzIEFic3RyYWN0VXR4b0NvaW4ge1xuICBjb25zdHJ1Y3RvcihiaXRnbzogQml0R29CYXNlLCBuZXR3b3JrPzogVXR4b05ldHdvcmspIHtcbiAgICBzdXBlcihiaXRnbywgbmV0d29yayB8fCBuZXR3b3Jrcy5kb2dlY29pbiwgJ2JpZ2ludCcpO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZUluc3RhbmNlKGJpdGdvOiBCaXRHb0Jhc2UpOiBCYXNlQ29pbiB7XG4gICAgcmV0dXJuIG5ldyBEb2dlKGJpdGdvKTtcbiAgfVxuXG4gIHN1cHBvcnRzQmxvY2tUYXJnZXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKiBhbW91bnRUeXBlIGlzIHNldCBpbiBjb25zdHJ1Y3Rvci4gRnVuY3Rpb25zIGJlbG93IG92ZXJyaWRlIHRoZSBkZWZhdWx0IFROdW1iZXIgb2YgQWJzdHJhY3RVdHhvQ29pbiB0byBiaWdpbnQgKi9cblxuICAvKiBwb3N0UHJvY2Vzc1ByZWJ1aWxkLCBpc0JpdEdvVGFpbnRlZFVuc3BlbnQsIHZlcmlmeUN1c3RvbUNoYW5nZUtleVNpZ25hdHVyZXMgZG8gbm90IGNhcmUgd2hldGhlciB0aGV5IHJlY2VpdmUgbnVtYmVyIG9yIGJpZ2ludCAqL1xuXG4gIGNyZWF0ZVRyYW5zYWN0aW9uRnJvbUhleDxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gYmlnaW50PihoZXg6IHN0cmluZyk6IGJpdGdvLlV0eG9UcmFuc2FjdGlvbjxUTnVtYmVyPiB7XG4gICAgcmV0dXJuIHN1cGVyLmNyZWF0ZVRyYW5zYWN0aW9uRnJvbUhleDxUTnVtYmVyPihoZXgpO1xuICB9XG5cbiAgYXN5bmMgcGFyc2VUcmFuc2FjdGlvbjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gYmlnaW50PihcbiAgICBwYXJhbXM6IFBhcnNlVHJhbnNhY3Rpb25PcHRpb25zPFROdW1iZXI+XG4gICk6IC8qXG4gICAgdGhlIGFjdHVhbCByZXR1cm4gdHlwZSBpcyBQcm9taXNlPFBhcnNlZFRyYW5zYWN0aW9uPGJpZ2ludD4+LFxuICAgIGJ1dCB0aGUgc3VwZXJjbGFzcyBzaWduYXR1cmUgY3VycmVudGx5IHJlcXVpcmVzIFROdW1iZXJcbiAgICAgKi9cbiAgUHJvbWlzZTxQYXJzZWRUcmFuc2FjdGlvbjxUTnVtYmVyPj4ge1xuICAgIHJldHVybiAoYXdhaXQgc3VwZXIucGFyc2VUcmFuc2FjdGlvbih7XG4gICAgICAuLi5wYXJhbXMsXG4gICAgICB0eFByZWJ1aWxkOiBwYXJzZVRyYW5zYWN0aW9uUHJlYnVpbGQocGFyYW1zLnR4UHJlYnVpbGQpLFxuICAgIH0pKSBhcyBQYXJzZWRUcmFuc2FjdGlvbjxUTnVtYmVyPiAvKiBjYXN0IHRvIHNhdGlzZnkgc3VwZXJjbGFzcyBzaWduYXR1cmUgKi87XG4gIH1cblxuICBhc3luYyB2ZXJpZnlUcmFuc2FjdGlvbjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gYmlnaW50PihcbiAgICBwYXJhbXM6XG4gICAgICB8IFZlcmlmeVRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPlxuICAgICAgfCAoVmVyaWZ5VHJhbnNhY3Rpb25PcHRpb25zPFROdW1iZXI+ICYgeyB0eFByZWJ1aWxkOiBUcmFuc2FjdGlvblByZWJ1aWxkSlNPTiB9KVxuICApOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gc3VwZXIudmVyaWZ5VHJhbnNhY3Rpb24oe1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgdHhQcmVidWlsZDogcGFyc2VUcmFuc2FjdGlvblByZWJ1aWxkKHBhcmFtcy50eFByZWJ1aWxkKSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHNpZ25UcmFuc2FjdGlvbjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gYmlnaW50PihcbiAgICBwYXJhbXM6IFNpZ25UcmFuc2FjdGlvbk9wdGlvbnM8VE51bWJlcj5cbiAgKTogUHJvbWlzZTxTaWduZWRUcmFuc2FjdGlvbiB8IEhhbGZTaWduZWRVdHhvVHJhbnNhY3Rpb24+IHtcbiAgICByZXR1cm4gc3VwZXIuc2lnblRyYW5zYWN0aW9uKHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHR4UHJlYnVpbGQ6IHtcbiAgICAgICAgLi4ucGFyYW1zLnR4UHJlYnVpbGQsXG4gICAgICAgIHR4SW5mbzogcGFyYW1zLnR4UHJlYnVpbGQudHhJbmZvID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBwYXJzZVRyYW5zYWN0aW9uSW5mbyhwYXJhbXMudHhQcmVidWlsZC50eEluZm8pLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGV4cGxhaW5UcmFuc2FjdGlvbjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gYmlnaW50PihcbiAgICBwYXJhbXM6IEV4cGxhaW5UcmFuc2FjdGlvbk9wdGlvbnM8VE51bWJlcj4gfCAoRXhwbGFpblRyYW5zYWN0aW9uT3B0aW9uczxUTnVtYmVyPiAmIHsgdHhJbmZvOiBUcmFuc2FjdGlvbkluZm9KU09OIH0pXG4gICk6IFByb21pc2U8VHJhbnNhY3Rpb25FeHBsYW5hdGlvbj4ge1xuICAgIHJldHVybiBzdXBlci5leHBsYWluVHJhbnNhY3Rpb24oe1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgdHhJbmZvOiBwYXJhbXMudHhJbmZvID8gcGFyc2VUcmFuc2FjdGlvbkluZm8ocGFyYW1zLnR4SW5mbyBhcyBUcmFuc2FjdGlvbkluZm9KU09OKSA6IHVuZGVmaW5lZCxcbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHJlY292ZXJGcm9tV3JvbmdDaGFpbjxUTnVtYmVyIGV4dGVuZHMgbnVtYmVyIHwgYmlnaW50ID0gYmlnaW50PihcbiAgICBwYXJhbXM6IFJlY292ZXJGcm9tV3JvbmdDaGFpbk9wdGlvbnNcbiAgKTogUHJvbWlzZTxDcm9zc0NoYWluUmVjb3ZlcnlTaWduZWQ8VE51bWJlcj4gfCBDcm9zc0NoYWluUmVjb3ZlcnlVbnNpZ25lZDxUTnVtYmVyPj4ge1xuICAgIHJldHVybiBzdXBlci5yZWNvdmVyRnJvbVdyb25nQ2hhaW4ocGFyYW1zKTtcbiAgfVxufVxuIl19

Выполнить команду


Для локальной разработки. Не используйте в интернете!