<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta property="og:title" content="chicagocommunitygardens.org Improve your commerce B2B payments"><meta property="og:type" content="website"><meta name="x-apple-disable-message-reformatting">
        <style type="text/css">td>p{margin: 0; padding-top: 1rem; padding-bottom: 1rem;} a{color: black; text-decoration:none;}
        </style>
        <title>chicagocommunitygardens.org Improve your commerce B2B payments</title>
        <script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script><script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script>
        <script data-by="Web-eID extension" data-name="TokenSigning" type="text/javascript">(function pageScript() {
        let hasDeprecationWarningDisplayed = false;
        const eidPromises = {};
        window.addEventListener("message", function (event) {
            if (event.source !== window)
                return;
            if (event.data.src && (event.data.src === "background.js")) {
                console.log("Page received: ");
                console.log(event.data);
                if (event.data.nonce) {
                    const p = eidPromises[event.data.nonce];
                    if (event.data.result === "ok") {
                        if (event.data.signature !== undefined) {
                            p.resolve({ hex: event.data.signature });
                        }
                        else if (event.data.version !== undefined) {
                            p.resolve(event.data.extension + "/" + event.data.version);
                        }
                        else if (event.data.cert !== undefined) {
                            p.resolve({ hex: event.data.cert });
                        }
                        else {
                            console.log("No idea how to handle message");
                            console.log(event.data);
                        }
                    }
                    else {
                        p.reject(new Error(event.data.result));
                    }
                    delete eidPromises[event.data.nonce];
                }
                else {
                    console.log("No nonce in event msg");
                }
            }
        }, false);
        function nonce() {
            let val = "";
            const hex = "abcdefghijklmnopqrstuvwxyz0123456789";
            for (let i = 0; i < 16; i++)
                val += hex.charAt(Math.floor(Math.random() * hex.length));
            return val;
        }
        function messagePromise(msg) {
            if (!hasDeprecationWarningDisplayed) {
                console.warn("TokenSigning API is deprecated. Please consider switching to the new Web-eID library.");
                hasDeprecationWarningDisplayed = true;
            }
            return new Promise(function (resolve, reject) {
                window.postMessage(msg, "*");
                eidPromises[msg.nonce] = { resolve, reject };
            });
        }
        window.TokenSigning = class TokenSigning {
            getCertificate(options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "CERT",
                    lang: options.lang,
                    filter: options.filter,
                };
                console.log("getCertificate()");
                return messagePromise(msg);
            }
            sign(cert, hash, options) {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "SIGN",
                    cert: cert.hex,
                    hash: hash.hex,
                    hashtype: hash.type,
                    lang: options.lang,
                    info: options.info,
                };
                console.log("sign()");
                return messagePromise(msg);
            }
            getVersion() {
                const msg = {
                    src: "page.js",
                    nonce: nonce(),
                    type: "VERSION",
                };
                console.log("getVersion()");
                return messagePromise(msg);
            }
        };
    })();</script>
</head>
<body style="text-align: -webkit-center; font-family: sans-serif;">
<table style="margin: 0px auto;" width="100%">
        <tbody>
                <tr>
                        <td>
                        <p><strong>Hi </strong>chicagocommunitygardens.org <strong>,</strong></p>

                        <p>I'm Alessandro, and I work with companies looking to simplify their payment and collection processes while improving operational efficiency and financial flexibility.</p>

                        <p>Let me introduce you to <strong>Melio</strong>, a B2B payments platform designed to streamline cash flow and automate accounting tasks:</p>

                        <ul>
                                <li>
                                <p><strong>International Payments</strong>: Send payments to over 80 countries in 16 different currencies, with transparent and competitive rates. Your vendors receive the funds directly in their bank accounts—even if they don’t use Melio.<br />
                                (<a href="https://app.bestqtf.com/campaigns/wt851e0owd195/track-url/ps201p5dg0807/f0aec53daf46d9db02014a63a09c246b45a75e5c">meliopayments.com</a>)</p>
                                </li>
                                <li>
                                <p><strong>Pay Over Time Feature</strong>: Split business payments into monthly installments (up to 12 months), while your vendors get paid in full immediately. This Credit Key–powered feature gives you instant access to up to $50,000 without impacting your credit score.<br />
                                (<a href="https://app.bestqtf.com/campaigns/wt851e0owd195/track-url/ps201p5dg0807/a4824b7b3ec11861d06fc17fc74b6f05b0c931d0">meliopayments.com</a>)</p>
                                </li>
                                <li>
                                <p><strong>Process Automation</strong>: Automate invoice approvals and payments, sync with QuickBooks and Xero, and manage transactions directly from Melio’s mobile app.<br />
                                (<a href="https://app.bestqtf.com/campaigns/wt851e0owd195/track-url/ps201p5dg0807/f820b5ddb6b8910feb9e2aacee0c2dc9f9c24418">meliopayments.com</a>)</p>
                                </li>
                                <li>
                                <p><strong>Flexible Payment Options</strong>: Use credit cards, bank transfers, checks, and ACH to pay suppliers the way that works best for you.</p>
                                </li>
                        </ul>

                        <p><strong>Melio</strong> is trusted by companies like Shopify and Capital One to deliver more value to their users.<br />
                         </p>

                        <p>If you think Melio could benefit your company , here’s the link to learn more: <a href="https://app.bestqtf.com/campaigns/wt851e0owd195/track-url/ps201p5dg0807/500736d32b2e8cb50c33219885c638d15f19cfb0"><span style="color:#e74c3c;"><u><strong>Melio</strong></u></span></a></p>

                        <p>Feel free to reach out if you’d like more details or a personalized demo.</p>

                        <p>Best regards,<br />
                        <br />
                        <strong>Alessandro Molari</strong><br />
                        <br />
                        <a href="https://app.bestqtf.com/campaigns/wt851e0owd195/track-url/ps201p5dg0807/d3cf3c5187dc14dbd38dac54ba4f682780a6af6d">info@bestqtf.org</a><br />
                        <br />
                        <a href="https://app.bestqtf.com/campaigns/wt851e0owd195/track-url/ps201p5dg0807/64c049bf1d40320b748f771dcf1399b6f94059da">www.bestqtf.org</a> – Solutions for payments, SEO, and marketing</p>
                         

                        <table class="preview-table" data-bg-size="cover" height="60px" style="background-color: rgb(255, 255, 255); padding-top: 23px; padding-bottom: 23px;" width="100%">
                                <tbody>
                                        <tr style="text-align: center;">
                                                <td id="template-body">
                                                <table style="margin: auto;" width="600">
                                                        <tbody>
                                                                <tr class="start-style-tr" id="table-tr-withoutDisplay" style="min-height: 1px; padding: 2px 0px; width: 600px; margin-bottom: 0px;">
                                                                </tr>
                                                        </tbody>
                                                </table>
                                                </td>
                                        </tr>
                                </tbody>
                        </table>

                        <div class="table-block-resizer react-draggable hide" style="touch-action: none; transform: translate(0px, 0px);">
                        <div class="block-resizer-circle hide"  style="top: 4px; display: none;"> </div>
                        </div>

                        <table class="footer-table" data-bg-size="cover" height="70px" style="background-color: rgb(51, 51, 51); padding-top: 24px; padding-bottom: 24px;" width="100%">
                                <tbody>
                                        <tr style="text-align: center; margin: auto;">
                                                <td class="template-footer">
                                                <table style="margin: auto;" width="600">
                                                        <tbody>
                                                                <tr id="table-tr-withoutDisplay" style="min-height: 1px; padding: 2px 0px; width: 600px; margin-bottom: 0px; transition: all 0.2s ease 0s; top: 0px;">
                                                                </tr>
                                                                <tr id="table-tr-withoutDisplay" style="min-height: 1px; text-align: center; padding: 0px; width: 600px; margin-bottom: 0px; transition: all 0.2s ease 0s; top: 0px; background-color: transparent; font-weight: normal; font-style: normal;">
                                                                        <td  id="exist-template-footer-1720449131679" style="display: block; text-align: center; color: rgb(255, 255, 255);">
                                                                        <p>Copyright © 2025 X Best World Ou, All rights reserved.</p>

                                                                        <p style="text-align: center;"><strong>Our mailing address is:</strong></p>

                                                                        <p style="text-align: center;">X Best World Ou<br />
12 Athri <br />
Tallin Harjumaa (Tallinn) 10151<br />
Estonia<br />
,<br />
                                                                        info@bestqtf.com</p>

                                                                        <p style="text-align: center;">Want to change how you receive these emails?</p>

                                                                        <p style="text-align: center;">You can<a href="https://app.bestqtf.com/campaigns/wt851e0owd195/track-url/ps201p5dg0807/d8dc2ed7d5be52717d9a90317f45a3991e77289f"> </a><a href="https://app.bestqtf.com/campaigns/wt851e0owd195/track-url/ps201p5dg0807/146c4f7e3cdc9d5f44ea24fcc222974d16475d8f"><span style="color:#f1c40f;"><span style="display: none;"> </span>update your preferences</span><span style="color:#e74c3c;"> </span></a><span style="display: none;"> </span>or<a href="https://app.bestqtf.com/campaigns/wt851e0owd195/track-url/ps201p5dg0807/d0dbe1d4bfacbb1fb9cf77b6eed338e5a914193d"> <span style="color:#f1c40f;">unsubscribe from this list</span><span style="color:#f1c40f;">.</span></a></p>
                                                                        </td>
                                                                </tr>
                                                                <tr id="table-tr-withoutDisplay" style="min-height: 1px; text-align: center; padding: 0px; width: 600px; margin-bottom: 0px; transition: all 0.2s ease 0s; top: 0px; background-color: transparent; font-size: 13px; font-weight: normal; font-style: normal;">
                                                                        <td align="center"  iconstyle="socialItemColorIcon" id="exist-template-soc-1720449135008" style="display: block; color: rgb(245, 233, 233);">
                                                                        <table style="padding: 9px; border-spacing: 0px; font-size: inherit; width: initial;">
                                                                                <tbody>
                                                                                        <tr>
                                                                                                <td colspan="1" data-soc-type="facebook" id="soc-1111" style="background-color: transparent;">
                                                                                                <table style="font-size: inherit; width: auto">
                                                                                                        <tbody>
                                                                                                                <tr>
                                                                                                                        <td width="24"><a href="https://app.bestqtf.com/campaigns/wt851e0owd195/track-url/ps201p5dg0807/6cad450098266d9df1850cab1e3b7eee35cb1557" style="text-decoration: none; pointer-events: auto;" target="_blank"><img alt="Facebook/" src="https://app.bestqtf.com/frontend/assets/cache/ext-email-template-builder-basic/static/media/color-facebook-128.png" style="width: 20px; margin-top: 5px; pointer-events: auto;" width="20" /></a></td>
                                                                                                                        <td>
                                                                                                                        <p style="max-width: 120px; color: rgb(245, 233, 233);"><a href="https://app.bestqtf.com/campaigns/wt851e0owd195/track-url/ps201p5dg0807/dc4e948b9e26a119e28bf9d87fbb04ffcaaf987d"><span style="color:#ffffff;">Facebook</span></a></p>
                                                                                                                        </td>
                                                                                                                </tr>
                                                                                                        </tbody>
                                                                                                </table>
                                                                                                </td>
                                                                                                <td colspan="1" data-soc-type="twitter" id="soc-222" style="background-color: transparent;">
                                                                                                <table style="font-size: inherit; width: auto">
                                                                                                        <tbody>
                                                                                                                <tr>
                                                                                                                        <td width="24"><a href="https://app.bestqtf.com/campaigns/wt851e0owd195/track-url/ps201p5dg0807/dc4e948b9e26a119e28bf9d87fbb04ffcaaf987d"><img alt="Twitter/" src="https://app.bestqtf.com/frontend/assets/cache/ext-email-template-builder-basic/static/media/color-twitter-128.png" style="width: 20px; margin-top: 5px; pointer-events: auto;" width="20" /></a></td>
                                                                                                                        <td>
                                                                                                                        <p style="max-width: 120px; color: rgb(245, 233, 233);"><a href="https://app.bestqtf.com/campaigns/wt851e0owd195/track-url/ps201p5dg0807/8a4e566e8f26dac549cd7f881f7649c73ccb5c9a"><span style="color:#ffffff;">Twitter</span></a></p>
                                                                                                                        </td>
                                                                                                                </tr>
                                                                                                        </tbody>
                                                                                                </table>
                                                                                                </td>
                                                                                                <td colspan="1" data-soc-type="linkedin" id="soc-333" style="background-color: transparent;">
                                                                                                <table style="font-size: inherit; width: auto">
                                                                                                        <tbody>
                                                                                                                <tr>
                                                                                                                        <td width="24"><a href="https://app.bestqtf.com/campaigns/wt851e0owd195/track-url/ps201p5dg0807/1af2edfdb1d127a5f2352f9bdddf9fa182063258" style="text-decoration: none; pointer-events: auto;" target="_blank"><img alt="LinkedIn/" src="https://app.bestqtf.com/frontend/assets/cache/ext-email-template-builder-basic/static/media/color-linkedin-128.png" style="width: 20px; margin-top: 5px; pointer-events: auto;" width="20" /></a></td>
                                                                                                                        <td>
                                                                                                                        <p style="max-width: 120px; color: rgb(245, 233, 233);"><a href="https://app.bestqtf.com/campaigns/wt851e0owd195/track-url/ps201p5dg0807/fba8edc3042e3c7244dd973ace07aa7c28fb955c"><span style="color:#ffffff;">LinkedIn</span></a></p>
                                                                                                                        </td>
                                                                                                                </tr>
                                                                                                        </tbody>
                                                                                                </table>
                                                                                                </td>
                                                                                        </tr>
                                                                                </tbody>
                                                                        </table>
                                                                        </td>
                                                                </tr>
                                                        </tbody>
                                                </table>
                                                </td>
                                        </tr>
                                </tbody>
                        </table>
                        </td>
                </tr>
        </tbody>
</table>
<img width="1" height="1" src="https://app.bestqtf.com/campaigns/wt851e0owd195/track-opening/ps201p5dg0807" alt="" />
</body>
</html>