gocolly / twocaptcha

Golang Client for 2captcha.com API
Apache License 2.0
25 stars 9 forks source link

Example #1

Open Stormsher opened 5 years ago

Stormsher commented 5 years ago

Can you share a little example of using captcha solving extension?

ghost commented 4 years ago

Yeah, would be awesome to have an example ? or to have a disclaimer that it is not working.

khaelou commented 4 years ago

@x0rzkov It is working, yet only for V2 not V3

ghost commented 4 years ago

@khaelou do you have have a gist or a snippet to share how it works ? with colly or selenium ? plz

khaelou commented 4 years ago

@lucmichalski Sure thing, give me a second to whip a gist up real quick.

ghost commented 4 years ago

awesome thx man !

khaelou commented 4 years ago

@lucmichalski No problem, check it out here

ghost commented 4 years ago

thanks a lot ! so from my understanding we need to wait for a v3 support. Isn't it ?

khaelou commented 4 years ago

@lucmichalski They actually have v3 support, my thing is finding a wrapper/package that properly supports it. I've been trying to come up with a workaround literally all day for a website that has both v2 & v3 enabled yet came up short for the most part. I still have to solve this eventually however, I'm considering another service such as Anticaptcha but I haven't decided yet.

ghost commented 4 years ago

@khaelou OK that s interesting, I tried your gist and got an error "runtime.main_main·f: function main is undeclared in the main package"

khaelou commented 4 years ago

@lucmichalski Simple fix, I just changed Main() to main()

ghost commented 4 years ago

@khaelou worked like a charm many thanks !

I'm considering another service such as Anticaptcha but I haven't decided yet.

I am interested to get an update from your decision. Do you have a twitter or telegram account ?

ghost commented 4 years ago

@khaelou Hi mate,

I tried to make it work on bloomberg.com but it does not work. It has not a form tag.

Any idea of how to submit the captcha ?

Excerpt of captacha page with bloomberg.com:

<html><head>
    <title>Bloomberg - Are you a robot?</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" type="text/css" href="https://assets.bwbx.io/font-service/css/BWHaasGrotesk-55Roman-Web,BWHaasGrotesk-75Bold-Web,BW%20Haas%20Text%20Mono%20A-55%20Roman/font-face.css">
    <style rel="stylesheet" type="text/css">
        html, body, div, span, applet, object, iframe,
        h1, h2, h3, h4, h5, h6, p, blockquote, pre,
        a, abbr, acronym, address, big, cite, code,
        del, dfn, em, img, ins, kbd, q, s, samp,
        small, strike, strong, sub, sup, tt, var,
        b, u, i, center,
        dl, dt, dd, ol, ul, li,
        fieldset, form, label, legend,
        table, caption, tbody, tfoot, thead, tr, th, td,
        article, aside, canvas, details, embed,
        figure, figcaption, footer, header, hgroup,
        menu, nav, output, ruby, section, summary,
        time, mark, audio, video {
            margin: 0;
            padding: 0;
            border: 0;
            font-size: 100%;
            font: inherit;
            vertical-align: baseline;
        }
        /* HTML5 display-role reset for older browsers */
        article, aside, details, figcaption, figure,
        footer, header, hgroup, menu, nav, section {
            display: block;
        }
        body {
            line-height: 1;
        }
        ol, ul {
            list-style: none;
        }
        blockquote, q {
            quotes: none;
        }
        blockquote:before, blockquote:after,
        q:before, q:after {
            content: '';
            content: none;
        }
        table {
            border-collapse: collapse;
            border-spacing: 0;
        }

        * {
            box-sizing: border-box;
        }

        body {
            background-color: #f2f2f2;
            font-family: "BWHaasGrotesk-55Roman-Web";
            line-height: 1.2;
        }

        .header {
            margin: 0;
            height: 60px;
            width: 100%;
            background-color: black;
            color: white;
            overflow-x: hidden;
        }

        .logo {
            float: left;
            margin: 0 20px;
            height: 60px;
            width: 140px;
            background-image: url('data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTcuNzUgNDcuNjMiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojZmZmO308L3N0eWxlPjwvZGVmcz48dGl0bGU+Qmxvb21iZXJnX05IR193aHQ8L3RpdGxlPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTgxLjczLDExMzhIMTAwLjZjMy41NywwLDYuMzIuODcsOC4yNiwyLjQ1YTkuNDUsOS40NSwwLDAsMSwzLjM3LDcuNmMwLDMuNjctMS40OCw2LTQuNTQsNy4zOXYwLjE1YzQsMS4zMyw2LjI3LDQuOSw2LjI3LDkuMjMsMCw0LjEzLTEuNTgsNy4zNC00LjE4LDkuMjgtMi4xOSwxLjU4LTUsMi4zNS04LjgyLDIuMzVIODEuNzNWMTEzOFptMTcsMTVjMiwwLDMuNTItMS4xMiwzLjUyLTMuMzdzLTEuNTMtMy4yNi0zLjU3LTMuMjZIOTIuMTlWMTE1M2g2LjUzWm0xLDE0Ljg5YTMuOTMsMy45MywwLDEsMC0uMDUtNy44NUg5Mi4xOXY3Ljg1aDcuNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04MS43MyAtMTEzNy45OCkiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMTUuOCwxMTM4aDkuODl2MzguNDVIMTE1LjhWMTEzOFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04MS43MyAtMTEzNy45OCkiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xMjcuNjksMTE2Mi43N2MwLTguNjcsNS42MS0xNC41NCwxNC4yOC0xNC41NHMxNC4xOCw1Ljg3LDE0LjE4LDE0LjU0LTUuNTEsMTQuNTMtMTQuMTgsMTQuNTNTMTI3LjY5LDExNzEuNDgsMTI3LjY5LDExNjIuNzdabTE4LjY2LDBjMC00Ljc5LTEuNTMtNy44LTQuNDktNy44cy00LjM5LDMtNC4zOSw3LjgsMS40Myw3Ljg1LDQuMzksNy44NVMxNDYuMzUsMTE2Ny42MSwxNDYuMzUsMTE2Mi43N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04MS43MyAtMTEzNy45OCkiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xNTcuMzIsMTE2Mi43N2MwLTguNjcsNS42MS0xNC41NCwxNC4yOC0xNC41NHMxNC4xOCw1Ljg3LDE0LjE4LDE0LjU0LTUuNTEsMTQuNTMtMTQuMTgsMTQuNTNTMTU3LjMyLDExNzEuNDgsMTU3LjMyLDExNjIuNzdabTE4LjY2LDBjMC00Ljc5LTEuNTMtNy44LTQuNDktNy44cy00LjM5LDMtNC4zOSw3LjgsMS40Myw3Ljg1LDQuMzksNy44NVMxNzYsMTE2Ny42MSwxNzYsMTE2Mi43N1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04MS43MyAtMTEzNy45OCkiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xODcuNzYsMTE0OWg5LjE4djQuMTNoMC4xNWMxLjg0LTMuMjEsNC4zMy00Ljk1LDguMjYtNC45NWE3LjY2LDcuNjYsMCwwLDEsNy4zOSw0Ljc0aDAuMTVhOS4yMSw5LjIxLDAsMCwxLDguNTItNC43NGM2LjM3LDAsOS4xMyw0LjY5LDkuMTMsMTF2MTcuMjRoLTkuNjR2LTE1LjVjMC0yLjgtLjg3LTQuNjQtMy4zMS00LjY0cy0zLjYyLDIuMjQtMy42Miw1LjJ2MTQuOTRoLTkuNjR2LTE1LjVjMC0yLjgtLjg3LTQuNjQtMy4zMS00LjY0cy0zLjYyLDIuMjQtMy42Miw1LjJ2MTQuOTRoLTkuNjRWMTE0OVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04MS43MyAtMTEzNy45OCkiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yNDIuNjksMTE3Mi44NmgtMC4xdjMuNTdoLTkuMThWMTEzOEgyNDN2MTMuODdoMC4xNWE5LjEyLDkuMTIsMCwwLDEsNy44LTMuNjdjNi44OCwwLDEwLjg2LDYuMjIsMTAuODYsMTQuNDgsMCw5LjMzLTQuMzMsMTQuNjktMTEuNDcsMTQuNjlBOC42Nyw4LjY3LDAsMCwxLDI0Mi42OSwxMTcyLjg2Wm05LjM4LTEwLjNjMC00LjQ0LTEuNjMtNy4yOS00LjU0LTcuMjlzLTQuODQsMi44Ni00Ljg0LDcuMjksMS44OSw3LjI5LDQuODQsNy4yOVMyNTIuMDcsMTE2NywyNTIuMDcsMTE2Mi41NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04MS43MyAtMTEzNy45OCkiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yNjMsMTE2Mi42NmMwLTguNTcsNS42Ni0xNC41MywxMy44Ny0xNC41M2ExMy4zNCwxMy4zNCwwLDAsMSw5LjY0LDMuNTdjMy4xNiwzLjA2LDQuNTksNy44NSw0LjQ5LDEzLjUxSDI3Mi42M2MwLjQxLDMuNDIsMiw1LjE1LDQuOTUsNS4xNWEzLjcsMy43LDAsMCwwLDMuNzctMi42aDkuMjhjLTEuNjMsNi4yNy02LjQ4LDkuNDQtMTMuMzYsOS40NEMyNjguNzUsMTE3Ny4yLDI2MywxMTcxLjQzLDI2MywxMTYyLjY2Wm05LjU5LTIuODZoOC43N2MtMC4xNS0zLjMxLTItNS00LjI4LTVDMjc0LjQ2LDExNTQuNzYsMjczLDExNTYuNjQsMjcyLjYzLDExNTkuODFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODEuNzMgLTExMzcuOTgpIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzAyLDExNTMuNjloMC4xNWMyLTMuODIsNC41OS01LjI1LDcuOS01LjI1YTMuNzIsMy43MiwwLDAsMSwxLjU4LjI1djguNDFoLTAuMmMtNS42Ni0xLTksMS42OC05LDcuODV2MTEuNDdoLTkuNjRWMTE0OUgzMDJ2NC42OVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04MS43MyAtMTEzNy45OCkiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0zMTIuNjYsMTE3Ni40OGg5LjI4YzAuMzYsMS4xNywxLjU4LDIuMzUsMy44OCwyLjM1LDMuMTEsMCw0LjE4LTEuOTQsNC4xOC00Ljc5di0yaC0wLjJhOC4yNiw4LjI2LDAsMCwxLTYuNTgsMy4xMWMtNS45MiwwLTExLjA3LTQuMzgtMTEuMDctMTMsMC03Ljg1LDQuMjMtMTQsMTAuNjEtMTQsMy42NywwLDUuOTEsMS40OCw3LjM5LDMuODJoMC4xNXYtM2g5LjE4djIzLjc2YzAsNC4zOC0xLjUzLDcuOC0zLjgyLDkuODRzLTUuODEsMy05LjY5LDNDMzE4LjY4LDExODUuNjEsMzEzLjU4LDExODIuNiwzMTIuNjYsMTE3Ni40OFptMTcuNzUtMTQuNzljMC0zLjQyLTEuNjMtNi4xNy00LjQ0LTYuMTdzLTQuNDQsMi40NS00LjQ0LDYuMTcsMS43Myw2LjMyLDQuNDQsNi4zMlMzMzAuNDEsMTE2NS4zMSwzMzAuNDEsMTE2MS42OVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04MS43MyAtMTEzNy45OCkiLz48L3N2Zz4=');
            background-repeat: no-repeat;
            background-position: center;
            font-size: 0;
        }

        .contact-us {
            float: right;
            margin: 0 20px;
            line-height: 60px;
            font-family: "BWHaasGrotesk-55Roman-Web";
            font-size: 14px;
            color: white;
            text-decoration: underline;
        }

        .box {
            margin: 30px auto;
            padding: 30px;
            width: 680px;
            background-color: white;
        }

        @media (max-width:760px) {
            .box {
                width: calc(100% - 20px);
            }
        }

        .main__heading, .info__heading {
            font-family: "BWHaasGrotesk-75Bold-Web";
        }

        .main__heading {
            font-size: 19px;
            padding-bottom: 9px;
        }

        .continue {
            font-size: 18px;
        }

        #px-captcha {
            margin-top: 20px;
            min-height: 80px;
        }

        .info {
            border-top: dotted 1px black;
            padding-top: 9px;
        }

        .info + .info {
            margin-top: 30px;
        }

        .info__link {
            color: black;
            text-decoration: underline;
        }

        .info__heading {
            font-size: 16px;
            line-height: 20px;
            padding-bottom: 9px;
        }

        .info__text {
            padding-bottom: 9px;
        }

        #block_uuid {
            display: inline-block;
            padding: 6px;
            background-color: #f2f2f2;
            font-family: "BW Haas Text Mono A-55 Roman";
            font-size: 14px;
        }

    </style>
    <script type="text/javascript" async="" src="https://www.gstatic.com/recaptcha/releases/BT5UwN2jyUJCo7TdbwTYi_58/recaptcha__en.js"></script><script async="" src="//cdn.taboola.com/libtrc/unip/1194877/tfa.js" id="tb_tfa_script"></script><script type="text/javascript" async="" src="https://snap.licdn.com/li.lms-analytics/insight.min.js"></script><script src="//bat.bing.com/bat.js" async=""></script><script src="https://s.yimg.com/wi/ytc.js" async=""></script><script type="text/javascript" async="" src="https://a2.adform.net/serving/scripts/trackpoint/async/"></script><script async="" src="//static.ads-twitter.com/uwt.js"></script><script type="text/javascript" async="" src="//www.googleadservices.com/pagead/conversion_async.js"></script><script type="text/javascript" async="" src="//www.googleadservices.com/pagead/conversion_async.js"></script><script type="text/javascript" async="" src="//www.googleadservices.com/pagead/conversion_async.js"></script><script defer="" src="https://www.googletagmanager.com/gtm.js?id=GTM-MNTH5N"></script><script>
        window._pxAppId = "PX8FCGYgk4";
        window._pxJsClientSrc = "/8FCGYgk4/init.js";
        window._pxFirstPartyEnabled = true;
        window._pxHostUrl = "/8FCGYgk4/xhr";
        window._pxreCaptchaTheme = "light";
        window._pxUuid = qs("uuid");

        if(!window._pxUuid) {
            window.pxInit = function (px) {
                px.Events.one("uid", function (uuid) {
                    if (uuid) {
                        document.getElementById("block_uuid").innerText = "Block reference ID: " + uuid;
                    }
                });
            };
        }

        function qs(name) {
            var search = window.location.search;
            var rx = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)");
            var match = rx.exec(search);
            return match ? decodeURIComponent(match[2].replace(/\+/g, " ")) : "";
        }
    </script>
    <script src="/8FCGYgk4/captcha/captcha.js?a=c&amp;m=0" async=""></script>
<script src="https://www.recaptcha.net/recaptcha/api.js?hl=en-US"></script><script src="/8FCGYgk4/init.js"></script><script async="" src="https://assets.bwbx.io/s3/spritz/v1.0.0/spritz.mjs"></script><script src="https://www.googleadservices.com/pagead/conversion/1063184170/?random=1590403811253&amp;cv=9&amp;fst=1590403811253&amp;num=1&amp;value=0&amp;label=6VpQCOnp7YkBEKrO-_oD&amp;guid=ON&amp;resp=GooglemKTybQhCsO&amp;u_h=768&amp;u_w=1024&amp;u_ah=768&amp;u_aw=1024&amp;u_cd=24&amp;u_his=3&amp;u_tz=0&amp;u_java=false&amp;u_nplug=0&amp;u_nmime=0&amp;gtm=2wg5e1&amp;sendb=1&amp;ig=1&amp;frm=0&amp;url=https%3A%2F%2Fwww.bloomberg.com%2Ftosv2.html%3Fvid%3D7e0720a0-9e75-11ea-b555-97d6507df23a%26uuid%3D7f0779a0-9e75-11ea-b8a1-47c94731a4f6%26url%3DL25ld3MvYXJ0aWNsZXMvMjAxOS0xMS0xOC9ob3VzZS1kZW1vY3JhdHMtdW52ZWlsLWJpbGwtdG8tYXZlcnQtZmVkZXJhbC1zaHV0ZG93bi10aGlzLXdlZWs%3D&amp;tiba=Bloomberg%20-%20Are%20you%20a%20robot%3F&amp;hn=www.googleadservices.com&amp;bttype=purchase&amp;us_privacy=1---&amp;async=1&amp;rfmt=3&amp;fmt=4"></script><script src="https://www.googleadservices.com/pagead/conversion/759744127/?random=1590403811256&amp;cv=9&amp;fst=1590403811256&amp;num=1&amp;value=0&amp;label=NPt6CL6b_JYBEP-Mo-oC&amp;guid=ON&amp;resp=GooglemKTybQhCsO&amp;u_h=768&amp;u_w=1024&amp;u_ah=768&amp;u_aw=1024&amp;u_cd=24&amp;u_his=3&amp;u_tz=0&amp;u_java=false&amp;u_nplug=0&amp;u_nmime=0&amp;gtm=2wg5e1&amp;sendb=1&amp;ig=1&amp;frm=0&amp;url=https%3A%2F%2Fwww.bloomberg.com%2Ftosv2.html%3Fvid%3D7e0720a0-9e75-11ea-b555-97d6507df23a%26uuid%3D7f0779a0-9e75-11ea-b8a1-47c94731a4f6%26url%3DL25ld3MvYXJ0aWNsZXMvMjAxOS0xMS0xOC9ob3VzZS1kZW1vY3JhdHMtdW52ZWlsLWJpbGwtdG8tYXZlcnQtZmVkZXJhbC1zaHV0ZG93bi10aGlzLXdlZWs%3D&amp;tiba=Bloomberg%20-%20Are%20you%20a%20robot%3F&amp;hn=www.googleadservices.com&amp;bttype=purchase&amp;us_privacy=1---&amp;async=1&amp;rfmt=3&amp;fmt=4"></script><script src="https://googleads.g.doubleclick.net/pagead/viewthroughconversion/1063184170/?random=1590403811263&amp;cv=9&amp;fst=1590403811263&amp;num=1&amp;guid=ON&amp;resp=GooglemKTybQhCsO&amp;u_h=768&amp;u_w=1024&amp;u_ah=768&amp;u_aw=1024&amp;u_cd=24&amp;u_his=3&amp;u_tz=0&amp;u_java=false&amp;u_nplug=0&amp;u_nmime=0&amp;gtm=2wg5e1&amp;sendb=1&amp;ig=1&amp;frm=0&amp;url=https%3A%2F%2Fwww.bloomberg.com%2Ftosv2.html%3Fvid%3D7e0720a0-9e75-11ea-b555-97d6507df23a%26uuid%3D7f0779a0-9e75-11ea-b8a1-47c94731a4f6%26url%3DL25ld3MvYXJ0aWNsZXMvMjAxOS0xMS0xOC9ob3VzZS1kZW1vY3JhdHMtdW52ZWlsLWJpbGwtdG8tYXZlcnQtZmVkZXJhbC1zaHV0ZG93bi10aGlzLXdlZWs%3D&amp;tiba=Bloomberg%20-%20Are%20you%20a%20robot%3F&amp;hn=www.googleadservices.com&amp;us_privacy=1---&amp;async=1&amp;rfmt=3&amp;fmt=4"></script><script src="https://googleads.g.doubleclick.net/pagead/viewthroughconversion/759744127/?random=1590403811266&amp;cv=9&amp;fst=1590403811266&amp;num=1&amp;guid=ON&amp;resp=GooglemKTybQhCsO&amp;u_h=768&amp;u_w=1024&amp;u_ah=768&amp;u_aw=1024&amp;u_cd=24&amp;u_his=3&amp;u_tz=0&amp;u_java=false&amp;u_nplug=0&amp;u_nmime=0&amp;gtm=2wg5e1&amp;sendb=1&amp;ig=1&amp;frm=0&amp;url=https%3A%2F%2Fwww.bloomberg.com%2Ftosv2.html%3Fvid%3D7e0720a0-9e75-11ea-b555-97d6507df23a%26uuid%3D7f0779a0-9e75-11ea-b8a1-47c94731a4f6%26url%3DL25ld3MvYXJ0aWNsZXMvMjAxOS0xMS0xOC9ob3VzZS1kZW1vY3JhdHMtdW52ZWlsLWJpbGwtdG8tYXZlcnQtZmVkZXJhbC1zaHV0ZG93bi10aGlzLXdlZWs%3D&amp;tiba=Bloomberg%20-%20Are%20you%20a%20robot%3F&amp;hn=www.googleadservices.com&amp;us_privacy=1---&amp;async=1&amp;rfmt=3&amp;fmt=4"></script><a tabindex="-1" aria-hidden="true" href="/tosv2.html?_pxhc=1590403811315" rel="nofollow" target="_blank" style="width: 0px; height: 0px; font-size: 0px; line-height: 0;"></a><script src="https://a2.adform.net/Serving/TrackPoint/?pm=1118168&amp;ADFdivider=%7C&amp;ord=622135707342&amp;Set1=en-US%7Cen-US%7C1024x768%7C24&amp;ADFtpmode=2&amp;loc=https%3A%2F%2Fwww.bloomberg.com%2Ftosv2.html%3Fvid%3D7e0720a0-9e75-11ea-b555-97d6507df23a%26uuid%3D7f0779a0-9e75-11" async=""></script></head>
<body>
    <header class="header">
        <h1 class="logo">Bloomberg</h1>
        <a class="contact-us" href="/feedback">Need help? Contact us</a>
    </header>
    <section class="box main">
        <h2 class="main__heading">We've detected unusual activity from your computer network</h2>
        <p class="continue">To continue, please click the box below to let us know you're not a robot.</p>
        <div id="px-captcha"><div class="g-recaptcha" data-sitekey="6Lcj-R8TAAAAABs3FrRPuQhLMbp5QrHsHufzLf7b" data-callback="handleCaptcha" data-theme="light"><div style="width: 304px; height: 78px;"><div><iframe src="https://www.google.com/recaptcha/api2/anchor?ar=1&amp;k=6Lcj-R8TAAAAABs3FrRPuQhLMbp5QrHsHufzLf7b&amp;co=aHR0cHM6Ly93d3cuYmxvb21iZXJnLmNvbTo0NDM.&amp;hl=en&amp;v=BT5UwN2jyUJCo7TdbwTYi_58&amp;theme=light&amp;size=normal&amp;cb=vnb137va0mar" width="304" height="78" role="presentation" name="a-a76rkcgpgy0i" frameborder="0" scrolling="no" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-top-navigation allow-modals allow-popups-to-escape-sandbox"></iframe></div><textarea id="g-recaptcha-response" name="g-recaptcha-response" class="g-recaptcha-response" style="width: 250px; height: 40px; border: 1px solid rgb(193, 193, 193); margin: 10px 25px; padding: 0px; resize: none; display: none;"></textarea></div><iframe style="display: none;"></iframe></div></div>
    </section>
    <section class="box">
        <section class="info">
            <h3 class="info__heading">Why did this happen?</h3>
            <p class="info__text">Please make sure your browser supports JavaScript and cookies and that you are not blocking them from loading. For more information you can review our <a class="info__link" href="/notices/tos">Terms of Service</a> and <a class="info__link" href="/notices/tos">Cookie Policy</a>.</p>
        </section>
        <section class="info">
            <h3 class="info__heading">Need Help?</h3>
            <p class="info__text">For inquiries related to this message please <a class="info__link" href="/feedback">contact our support team</a> and provide the reference ID below.</p>
            <div id="block_uuid">Block reference ID: 7f0779a0-9e75-11ea-b8a1-47c94731a4f6</div>
        </section>
    </section>
    <script type="text/javascript">
    document.getElementById("block_uuid").innerText = "Block reference ID: " + window._pxUuid;
    </script>
    <!-- Google Tag Manager -->
    <script>(function(w, d, s, l, i) {
        w[l] = w[l] || [];
        w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' });
        var f = d.getElementsByTagName(s)[0], j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
        j.defer = true;
        j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
        f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'dataLayer', 'GTM-MNTH5N');</script>
    <!-- End Google Tag Manager -->

<script type="text/javascript" id="">!function(d,e,f,a,b,c){d.twq||(a=d.twq=function(){a.exe?a.exe.apply(a,arguments):a.queue.push(arguments)},a.version="1.1",a.queue=[],b=e.createElement(f),b.async=!0,b.src="//static.ads-twitter.com/uwt.js",c=e.getElementsByTagName(f)[0],c.parentNode.insertBefore(b,c))}(window,document,"script");twq("init","nzex3");twq("track","PageView");</script>

<script type="text/javascript" id="">window._adftrack=Array.isArray(window._adftrack)?window._adftrack:window._adftrack?[window._adftrack]:[];window._adftrack.push({pm:1118168});(function(){var a=document.createElement("script");a.type="text/javascript";a.async=!0;a.src="https://a2.adform.net/serving/scripts/trackpoint/async/";var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(a,b)})();</script>
<noscript>
    <p style="margin:0;padding:0;border:0;">
        <img src="https://a2.adform.net/Serving/TrackPoint/?pm=1118168" width="1" height="1" alt="">
    </p>
</noscript>
<script type="text/javascript" id="">(function(d,a,b,f,e){d[e]=d[e]||[];d[e].push({projectId:"10000",properties:{pixelId:"10048438"}});var c=a.createElement(b);c.src=f;c.async=!0;c.onload=c.onreadystatechange=function(){var a=this.readyState,c=d[e];if(!a||"complete"==a||"loaded"==a)try{var b=YAHOO.ywa.I13N.fireBeacon;d[e]=[];d[e].push=function(a){b([a])};b(c)}catch(g){}};a=a.getElementsByTagName(b)[0];b=a.parentNode;b.insertBefore(c,a)})(window,document,"script","https://s.yimg.com/wi/ytc.js","dotq");</script>
<script type="text/javascript" id="">!function(d,e,f,a,b,c){d.twq||(a=d.twq=function(){a.exe?a.exe.apply(a,arguments):a.queue.push(arguments)},a.version="1.1",a.queue=[],b=e.createElement(f),b.async=!0,b.src="//static.ads-twitter.com/uwt.js",c=e.getElementsByTagName(f)[0],c.parentNode.insertBefore(b,c))}(window,document,"script");twq("init","nyu3t");twq("track","PageView");</script>

<script type="text/javascript" id="">(function(b){b=b.body;var a=document.createElement("script"),c="//consent.trustarc.com/notice?domain\x3dbloomberg-iab.com\x26c\x3dteconsent\x26gtm\x3d1\x26text\x3dtrue";-1!==window.location.search.indexOf("bb_force_cm\x3d1")?c+="\x26country\x3dgb\x26behavior\x3dexpressed":-1!==window.location.search.indexOf("bb_ccpa_cm\x3d1")&&(c+="\x26country\x3dus\x26behavior\x3dexpressed");b.appendChild(a);a.type="text/javascript";a.async=!0;a.onload=function(){var a=setInterval(function(){-1!==document.cookie.indexOf("notice_behavior\x3d")&&
(clearInterval(a),window.dispatchEvent(new CustomEvent("trustarc-loaded")))},50)};a.src=c})(document);</script><script type="text/javascript" async="" src="//consent.trustarc.com/notice?domain=bloomberg-iab.com&amp;c=teconsent&amp;gtm=1&amp;text=true" id="truste_0.500736975590715"></script>

<script type="text/javascript" id="">(function(){function d(){if(!window.frames.__cmpLocator)if(document.body){var b=document.body,a=document.createElement("iframe");a.style="display:none";a.name="__cmpLocator";a.id="__cmpTrustarc";a.src="//trustarc.mgr.consensu.org/get?name\x3dcmpcookie.html";b.appendChild(a)}else setTimeout(d,5)}function g(){var b=arguments;__cmp.a=__cmp.a||[];if(b.length)if("ping"===b[0])b[2]({gdprAppliesGlobally:f,cmpLoaded:!1},!0);else __cmp.a.push([].slice.apply(b));else return __cmp.a}function c(b){try{var a=
"string"===typeof b.data,c=a?JSON.parse(b.data):b.data;if(c.__cmpCall){var e=c.__cmpCall;window.__cmp(e.command,e.parameter,function(c,d){c={__cmpReturn:{returnValue:c,success:d,callId:e.callId}};b.source.postMessage(a?JSON.stringify(c):c,"*")})}}catch(l){}}var h=!0,f=!1;d();"function"!==typeof __cmp&&(window.__cmp=g,__cmp.msgHandler=c,__cmp.gdprApplies=h,__cmp.gdprAppliesGlobally=f,window.addEventListener?window.addEventListener("message",c,!1):window.attachEvent("onmessage",c));var k=setInterval(function(){window.__cmp("getConsentData",
null,function(b,a){a&&(a=new Date,a.setTime(a.getTime()+31536E6),a="expires\x3d"+a.toUTCString(),document.cookie="euconsent\x3d"+b.consentData+"; "+a,clearInterval(k))})},250)})();</script><iframe name="__cmpLocator" id="__cmpTrustarc" src="//trustarc.mgr.consensu.org/get?name=cmpcookie.html" style="display: none;"></iframe>

<script type="text/javascript" id="">(function(){function a(){var a=document.querySelector("footer.bb-global-footer");if(a)try{var c=a.querySelector(".bb-global-footer__group");var d=c.querySelectorAll(".bb-global-footer__link")[1];var b=document.createElement("div");b.id="teconsent";b.style.display="inline-block";b.classList.add("bb-global-footer__link");c.insertBefore(b,d)}catch(e){console.error(e)}}"loading"===document.readyState?document.addEventListener("DOMContentLoaded",a):a()})();</script><script type="text/javascript" id="">(function(b,c,e,f,d){b[d]=b[d]||[];var g=function(){var a={ti:"5820275"};a.q=b[d];b[d]=new UET(a);b[d].push("pageLoad")};var a=c.createElement(e);a.src=f;a.async=1;a.onload=a.onreadystatechange=function(){var b=this.readyState;b&&"loaded"!==b&&"complete"!==b||(g(),a.onload=a.onreadystatechange=null)};c=c.getElementsByTagName(e)[0];c.parentNode.insertBefore(a,c)})(window,document,"script","//bat.bing.com/bat.js","uetq");</script><script type="text/javascript" id="">var DATALAYER_OBJECT_NAME="dataLayer",referrerOverride=function(d){var c=window[DATALAYER_OBJECT_NAME]||[];c.push({event:"optimizely-referrer-override","optimizely-referrer":d})},sendCampaignData=function(d,c,h,g,f,k,b,a,e){optimizely&&"function"===typeof optimizely.get&&(g=optimizely.get("data")&&optimizely.get("data").campaigns[c]&&optimizely.get("data").campaigns[c].integrationSettings&&optimizely.get("data").campaigns[c].integrationSettings.google_universal_analytics&&optimizely.get("data").campaigns[c].integrationSettings.google_universal_analytics.universal_analytics_slot)&&
(d=d?d+"("+c+")":c,h=h.join(","),f=f?f+"("+k+")":h+"("+k+")",b=b?b+"("+a+")":a,e=e?"holdback":"treatment",e=[d,f,b,e].join(":"),b=window[DATALAYER_OBJECT_NAME]||[],b.push({event:"campaign-decided","optimizely-dimension-value":e,"optimizely-dimension-number":g}))},initNewOptimizelyIntegration=function(d,c){var h=!1,g=function(b){var a=window.optimizely.get&&window.optimizely.get("state"),e=a.getRedirectInfo()&&a.getRedirectInfo().referrer;!h&&e&&(d(e),h=!0);a=a.getCampaignStates({isActive:!0});a=a[b];
e=a.campaignName;if(0<a.audiences.length){var f=a.audiences.map(function(a){return a.name});var g=a.audiences.map(function(a){return a.id})}else f=["everyone_else"],g=[0];var k=a.experiment.name,l=a.experiment.id,m=a.variation.name,n=a.variation.id;c(e,b,f,g,k,l,m,n,a.isInCampaignHoldback)},f=function(){window.optimizely=window.optimizely||[];window.optimizely.push({type:"addListener",filter:{type:"lifecycle",name:"campaignDecided"},handler:function(b){b=b.data.campaign.id;g(b)}})},k=function(){var b=
window.optimizely.get&&window.optimizely.get("state");if(b){b=b.getCampaignStates({isActive:!0});for(var a in b)g(a)}};k();f()},initOptimizelyIntegration=function(d,c){window.optimizely&&"function"===typeof window.optimizely.get&&initNewOptimizelyIntegration(d,c)};initOptimizelyIntegration(referrerOverride,sendCampaignData);</script><script type="text/javascript" id="">_linkedin_partner_id="403593";window._linkedin_data_partner_ids=window._linkedin_data_partner_ids||[];window._linkedin_data_partner_ids.push(_linkedin_partner_id);</script><script type="text/javascript" id="">(function(){var b=document.getElementsByTagName("script")[0],a=document.createElement("script");a.type="text/javascript";a.async=!0;a.src="https://snap.licdn.com/li.lms-analytics/insight.min.js";b.parentNode.insertBefore(a,b)})();</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=403593&amp;fmt=gif">
</noscript>
<script type="text/javascript" id="" charset="utf-8" src="//b-code.liadm.com/a-015y.min.js"></script>
<script type="text/javascript" id="" src="https://ads.avocet.io/s?add=5adf6ad75f7614a66abb437a&amp;ty=j"></script><script type="text/javascript" id="">function cb(a){dataLayer.push({"Private Browser":a})}function isChrome(){return!!("undefined"!==typeof window&&window.navigator&&window.navigator.userAgent&&/Chrome/.test(window.navigator.userAgent)&&window.navigator.vendor&&/Google Inc/.test(window.navigator.vendor))}function isSafari(){return!(!("undefined"!==typeof window&&window.navigator&&window.navigator.userAgent&&/Safari/i.test(window.navigator.userAgent))||/Chrome/i.test(window.navigator.userAgent))}
function isIEorEdge(){return!("undefined"===typeof window||!window.PointerEvent&&!window.MSPointerEvent)}function isFirefox(){return!!("undefined"!==typeof document&&document.documentElement&&document.documentElement.style&&"MozAppearance"in document.documentElement.style)}function retry(a,c){var e=0,f=50,b=!1,d=window.setInterval(function(){a()&&(window.clearInterval(d),c(b));e++>f&&(window.clearInterval(d),b=!0,c(b))},10)}
if(isChrome())navigator&&navigator.storage&&navigator.storage.estimate?navigator.storage.estimate().then(function(a){12E7>a.quota?cb(!0):cb(!1)}):cb(!1);else if(isSafari())try{window.openDatabase(null,null,null,null),cb(!1)}catch(a){cb(!0)}else if(isFirefox()){var db;try{db=window.indexedDB.open("test")}catch(a){is_private=!0}"undefined"===typeof is_private&&retry(function(){return"done"===db.readyState?cb(!0):cb(!1)},function(a){a||(is_private=db.result?cb(!1):cb(!0))})}else if(isIEorEdge()){try{if(!window.indexedDB)throw Error("private mode");
}catch(a){cb(!0)}cb(!1)}cb(!1);</script>
<script type="text/javascript" id="">window._tfa=window._tfa||[];window._tfa.push({notify:"event",name:"page_view",id:1194877});!function(a,b,d,c){document.getElementById(c)||(a.async=1,a.src=d,a.id=c,b.parentNode.insertBefore(a,b))}(document.createElement("script"),document.getElementsByTagName("script")[0],"//cdn.taboola.com/libtrc/unip/1194877/tfa.js","tb_tfa_script");</script>
<noscript>
  <img src="//trc.taboola.com/1194877/log/3/unip?en=page_view" width="0" height="0" style="display:none" alt="">
</noscript>

<script type="text/javascript" id="">(function(d,l,f){function h(){var a=g("notice_behavior")||"",b=g("cmapi_cookie_privacy")||"",c=-1!==b.indexOf(k);if(-1!==a.indexOf("us")&&!c)return e.ccpaOptedIn;if("expressed|eu"===a)return e.inEU;a=c&&-1!==b.indexOf("1");var d=c&&-1!==b.indexOf("2");b=c&&-1!==b.indexOf("3");return a&&d&&b?e.ccpaOptedIn:e.ccpaOptedOut}function g(a){return(a=document.cookie.match("(^|;) ?"+a+"\x3d([^;$]*)"))?a[2]:""}var e={inEU:"1---",ccpaOptedIn:"1YNY",ccpaOptedOut:"1YYY"},k="permit";"function"!==typeof d[f]&&(d[f]=
function(a,b,c){"getUSPData"===a&&c({version:b,uspString:h()},!0)})})(window,document,"__uspapi");</script><script type="text/javascript" id="">(function(b){if("noModule"in HTMLScriptElement.prototype){var a=document.createElement("script");a.async=!0;a.src="https://assets.bwbx.io/s3/spritz/v1.0.0/spritz.mjs";b.head.appendChild(a)}else a=document.createElement("script"),a.async=!0,a.src="https://assets.bwbx.io/s3/spritz/v1.0.0/spritz.js",b.head.appendChild(a)})(document);</script><div style="width:0px; height:0px; display:none; visibility:hidden;" id="batBeacon0.3586336530392211"><img style="width:0px; height:0px; display:none; visibility:hidden;" id="batBeacon0.5124883512094127" width="0" height="0" alt="" src="https://bat.bing.com/action/0?ti=5820275&amp;Ver=2&amp;mid=2ad8d085-ed11-6f7b-9c45-014240b73afe&amp;sid=8e9b0e59-c4c2-e710-ef50-cffc92c80c4f&amp;pi=0&amp;lg=en-US&amp;sw=1024&amp;sh=768&amp;sc=24&amp;tl=Bloomberg%20-%20Are%20you%20a%20robot%3F&amp;p=https%3A%2F%2Fwww.bloomberg.com%2Ftosv2.html%3Fvid%3D7e0720a0-9e75-11ea-b555-97d6507df23a%26uuid%3D7f0779a0-9e75-11ea-b8a1-47c94731a4f6%26url%3DL25ld3MvYXJ0aWNsZXMvMjAxOS0xMS0xOC9ob3VzZS1kZW1vY3JhdHMtdW52ZWlsLWJpbGwtdG8tYXZlcnQtZmVkZXJhbC1zaHV0ZG93bi10aGlzLXdlZWs%3D&amp;r=&amp;lt=218&amp;evt=pageLoad&amp;msclkid=N&amp;sv=1&amp;rn=46357"></div><script async="async" type="text/javascript" crossorigin="" src="https://consent.trustarc.com/asset/notice.js/v/v1.7-14"></script><script async="async" type="text/javascript" crossorigin="" src="//trustarc.mgr.consensu.org/get?name=cmp.js"></script><script type="application/javascript" id="ywa-1590403811334-173643" class="ywa-10000" defer="" src="https://sp.analytics.yahoo.com/sp.pl?a=10000&amp;d=Mon%2C%2025%20May%202020%2010%3A50%3A11%20GMT&amp;n=0&amp;b=Bloomberg%20-%20Are%20you%20a%20robot%3F&amp;.yp=10048438&amp;f=https%3A%2F%2Fwww.bloomberg.com%2Ftosv2.html%3Fvid%3D7e0720a0-9e75-11ea-b555-97d6507df23a%26uuid%3D7f0779a0-9e75-11ea-b8a1-47c94731a4f6%26url%3DL25ld3MvYXJ0aWNsZXMvMjAxOS0xMS0xOC9ob3VzZS1kZW1vY3JhdHMtdW52ZWlsLWJpbGwtdG8tYXZlcnQtZmVkZXJhbC1zaHV0ZG93bi10aGlzLXdlZWs%3D&amp;enc=UTF-8&amp;us_privacy=1---"></script>
<div id="pop-div0426261982554619" class="truste_overlay" style="background-color: rgb(0, 0, 0); opacity: 0.4; position: fixed; z-index: 1000000; width: 100%; height: 100%; top: 0px; left: 0px; overflow: hidden;"></div><div id="pop-div202748517296864148" class="truste_box_overlay" style="position: absolute; z-index: 2000000; top: 0px; left: 0px; bottom: 0px; right: 0px; border-radius: 5px; padding: 0px; background: none; width: 80%; max-width: 680px; min-width: 220px; margin: 20px auto; box-sizing: content-box; height: 320px;"><div id="pop-div303292801971702968" class="truste_box_overlay_inner" tabindex="1" role="dialog" aria-label="Your choices regarding the use of cookies on this site" style="position: relative; width: 100%; height: 100%; outline: none;"><img src="https://consent.trustarc.com/asset/transparent.png" alt="transparent background" style="display: block; width: 100%; height: 100%;"><iframe src="https://consent-pref.trustarc.com/?type=bloomberg_iab&amp;layout=gdpr&amp;site=bloomberg-iab.com&amp;action=notice&amp;country=fr&amp;locale=en&amp;behavior=expressed&amp;gtm=1&amp;iab=true&amp;irm=undefined&amp;from=https://consent.trustarc.com/" id="pop-frame07082005326441452" title="TrustArc Cookie Consent Manager" tabindex="1" scrolling="no" style="border: 0px; border-radius: 0px; overflow: hidden; background: rgb(255, 255, 255); display: block; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%;"></iframe></div></div><div style="background-color: rgb(255, 255, 255); border: 1px solid rgb(204, 204, 204); box-shadow: rgba(0, 0, 0, 0.2) 2px 2px 3px; position: absolute; transition: visibility 0s linear 0.3s, opacity 0.3s linear 0s; opacity: 0; visibility: hidden; z-index: 2000000000; left: 0px; top: -10000px;"><div style="width: 100%; height: 100%; position: fixed; top: 0px; left: 0px; z-index: 2000000000; background-color: rgb(255, 255, 255); opacity: 0.05;"></div><div class="g-recaptcha-bubble-arrow" style="border: 11px solid transparent; width: 0px; height: 0px; position: absolute; pointer-events: none; margin-top: -11px; z-index: 2000000000;"></div><div class="g-recaptcha-bubble-arrow" style="border: 10px solid transparent; width: 0px; height: 0px; position: absolute; pointer-events: none; margin-top: -10px; z-index: 2000000000;"></div><div style="z-index: 2000000000; position: relative;"><iframe title="recaptcha challenge" src="https://www.google.com/recaptcha/api2/bframe?hl=en&amp;v=BT5UwN2jyUJCo7TdbwTYi_58&amp;k=6Lcj-R8TAAAAABs3FrRPuQhLMbp5QrHsHufzLf7b&amp;cb=r7ky0nq8w1px" name="c-a76rkcgpgy0i" frameborder="0" scrolling="no" sandbox="allow-forms allow-popups allow-same-origin allow-scripts allow-top-navigation allow-modals allow-popups-to-escape-sandbox" style="width: 100%; height: 100%;"></iframe></div></div><script src="https://analytics.twitter.com/i/adsct?p_id=Twitter&amp;p_user_id=0&amp;txn_id=nzex3&amp;events=%5B%5B%22pageview%22%2Cnull%5D%5D&amp;tw_sale_amount=0&amp;tw_order_quantity=0&amp;tw_iframe_status=0&amp;tpx_cb=twttr.conversion.loadPixels&amp;tw_document_href=https%3A%2F%2Fwww.bloomberg.com%2Ftosv2.html%3Fvid%3D7e0720a0-9e75-11ea-b555-97d6507df23a%26uuid%3D7f0779a0-9e75-11ea-b8a1-47c94731a4f6%26url%3DL25ld3MvYXJ0aWNsZXMvMjAxOS0xMS0xOC9ob3VzZS1kZW1vY3JhdHMtdW52ZWlsLWJpbGwtdG8tYXZlcnQtZmVkZXJhbC1zaHV0ZG93bi10aGlzLXdlZWs%3D" type="text/javascript"></script><script src="https://analytics.twitter.com/i/adsct?p_id=Twitter&amp;p_user_id=0&amp;txn_id=nyu3t&amp;events=%5B%5B%22pageview%22%2Cnull%5D%5D&amp;tw_sale_amount=0&amp;tw_order_quantity=0&amp;tw_iframe_status=0&amp;tpx_cb=twttr.conversion.loadPixels&amp;tw_document_href=https%3A%2F%2Fwww.bloomberg.com%2Ftosv2.html%3Fvid%3D7e0720a0-9e75-11ea-b555-97d6507df23a%26uuid%3D7f0779a0-9e75-11ea-b8a1-47c94731a4f6%26url%3DL25ld3MvYXJ0aWNsZXMvMjAxOS0xMS0xOC9ob3VzZS1kZW1vY3JhdHMtdW52ZWlsLWJpbGwtdG8tYXZlcnQtZmVkZXJhbC1zaHV0ZG93bi10aGlzLXdlZWs%3D" type="text/javascript"></script></body></html>