HTTP/1.1 200 OK
Server: nginx
Content-Type: text/html; charset=UTF-8
X-Tx-Id: 9c4a6fdf-1e64-47b6-8f01-6ec83ed88679
Access-Control-Allow-Origin: http://download.cnet.com
Access-Control-Allow-Credentials: true
Vary: x-originallang
Vary: x-cnet-is-mobile-device
Vary: Accept-Encoding
Cache-Control: private, max-age=2592000
Expires: Fri, 07 Apr 2017 19:00:33 GMT
Date: Wed, 08 Mar 2017 19:00:33 GMT
Transfer-Encoding:  chunked
Connection: keep-alive
Connection: Transfer-Encoding
Set-Cookie: fly_device=desktop; path=/; httponly
Set-Cookie: dl_ad=%7B%22region%22%3A%22aw%22%2C%22type%22%3A%22gpt%22%2C%22session%22%3A%22b%22%2C%22subSession%22%3A%22a%22%7D; path=/

<!DOCTYPE html>
<html class="mobile">
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=Edge" />        
        <title>CNET Download - Free Software, Apps, Downloads, and Reviews</title>
        
            
<meta name="description" content="CNET Download - Find the latest free software, apps, downloads, and reviews for Windows, Mac, iOS, and Android." />
<meta name="keywords" content="Free software downloads and software reviews - CNET Download.com" />

    <link rel="canonical" href="http://download.cnet.com/"/>





<meta name="twitter:site" content="@CNETDownloads">


    <meta name="twitter:title" content="Free software downloads and software reviews - CNET Download.com">

    <meta name="twitter:description" content="CNET Download.com provides free downloads for Windows, Mac, iOS and Android computers and mobile devices. Every category of desktop software and mobile apps, including security, utilities, games, video, and audio software.">




    <meta property="og:description" content="CNET Download.com provides free downloads for Windows, Mac, iOS and Android computers and mobile devices. Every category of desktop software and mobile apps, including security, utilities, games, video, and audio software.">


    <link rel="og:url" href="http://download.cnet.com/"/>


        			<meta charset="UTF-8" />
			
						
			            
                        
            
            <meta name="viewport" content="width=device-width, initial-scale=1">
            
              
        

            <script>
            window['optimizely'] = window['optimizely'] || [];
            window['optimizely'].push(["customTag", "pageTypeName", "front_door_dl"]);
            window['optimizely'].push(["customTag", "platform", "no-platform"]);
            window['optimizely'].push(["customTag", "category", ""]);
            window['optimizely'].push(["customTag", "subcategory", ""]);
            window['optimizely'].push(["setDimensionValue", "pageTypeName", "front_door_dl"]);
        </script>

        <script src="//cdn.optimizely.com/js/4177821143.js"></script>
<script type="text/javascript">
    function getOptimizelyTestAndVariant(){if("undefined"!=typeof window["optimizely"]){var allTests=window["optimizely"].allExperiments,charCount=0,variationMap=window["optimizely"].variationMap,variationMapActive=[];for(var testId in variationMap){if(variationMap.hasOwnProperty(testId)){var map=[],mapString="",testDefined=false,testEnabled=false;testDefined=allTests.hasOwnProperty(testId);testEnabled=testDefined&&allTests[testId].hasOwnProperty("enabled");if(testEnabled){map=[].concat(variationMap[testId]).join("_");mapString=testId+":"+map;if((charCount+mapString.length)<=255){charCount+=mapString.length;variationMapActive.push(mapString)}}}}return variationMapActive.join()}else{return""}}
</script>    
                                    <!--esi
<esi:function name="getDlSegmentFromCookie">
    <esi:choose>
        <esi:when test="!$exists($(HTTP_COOKIE{'dl_ssegment'}))">
            <esi:return value="''"/>
        </esi:when>
        <esi:otherwise>
            <esi:return value="$(HTTP_COOKIE{'dl_ssegment'})"/>
        </esi:otherwise>
    </esi:choose>
</esi:function>

<esi:function name="getDeviceFromCookie">
    <esi:choose>
        <esi:when test="$exists($(HTTP_COOKIE{'dl_is_mobile_device'}))">
            <esi:return value="'mobile'"/>
        </esi:when>
        <esi:otherwise>
            <esi:return value="'desktop'"/>
        </esi:otherwise>
    </esi:choose>
</esi:function>

<esi:vars>
    <esi:assign name="dlSegment" value="$getDlSegmentFromCookie()"/>
        <esi:assign name="segmentUser" value="$segmentUser()"/>
</esi:vars>

<esi:choose>
    <esi:when test="$(dlSegment) matches '''^SEO'''">
        $add_header( 'Set-Cookie', 'dl_ssegment=' + $(dlSegment) +
         ';path=/;expires=' + $http_time($time()+1800)+ ';' +
         'domain=' + $url_encode('.cnet.com') + ';' )
    </esi:when>
</esi:choose>

<esi:function name="segmentUser">
    <esi:choose>
        <esi:when test="$(dlSegment) matches '''^SEO'''">
            <esi:return value="$(dlSegment)" />
        </esi:when>
        <esi:when test="$exists($(segmentUser))">
            <esi:return value="$(segmentUser)" />
        </esi:when>
        <esi:otherwise>
            <esi:assign name="dlPath" value="ORG"/>
                        <esi:assign name="referer_is_search" value="'n'" />
            <esi:choose>
                <esi:when test="$(HTTP_REFERER) matches '''^https?://[^/]*(google.\w+\.?\w+|g.cn|yahoo.com|bing.com|ask.com|aol.com|blekko.com|duckduckgo.com|youdao.com|sogou.com|baidu.com|yandex.com|babylon.com).*'''" >
                    <esi:assign name="referer_is_search" value="'y'" />
                </esi:when>
            </esi:choose>

            <esi:assign name="dlLanguage" value="''"/>
            <esi:choose>
                <esi:when test="$(HTTP_X_ORIGINALLANG)">
                    <esi:assign name="dlLanguage" value="'_' + $(HTTP_X_ORIGINALLANG)"/>
                </esi:when>
            </esi:choose>

                        <esi:choose>
                <esi:when test="$(referer_is_search)=='y'">
                    <esi:assign name="dlPath" value="SEO"/>
                    $add_header( 'Set-Cookie', 'dl_ssegment=' + $(dlPath) + $(dlLanguage) + ';path=/;expires=' + $http_time($time()+1800)+ ';' + 'domain=' + $url_encode('.cnet.com') + ';' )
                </esi:when>
                <esi:when test="$isButtonPartnerPage()=='true'">
                    <esi:assign name="dlPath" value="'BP'"/>
                </esi:when>
            </esi:choose>
            <esi:return value="$(dlPath) + $(dlLanguage)"/>
        </esi:otherwise>
    </esi:choose>
</esi:function>

<esi:assign name="pguid" value="$substr($digest_md5_hex($(REMOTE_ADDR) + $time() + $rand() + $(HTTP_COOKIE)), 0, 24)"/>

<esi:assign name="vguid" value="$generateVguid()"/>

<esi:assign name="deviceType" value="$getDeviceFromCookie()"/>

    <esi:function name="isButtonPartnerPage">
        <esi:assign name="partParamList" value="$(QUERY_STRING{'part'})"/>
        <esi:choose>
                        <esi:when test="$is_empty($(partParamList))">
                <esi:return value="false"/>
            </esi:when>
                        <esi:otherwise>
                <esi:choose>
                    <esi:when test="$(QUERY_STRING{'part'}) has_i 'dl-'">
                        <esi:return value="true"/>
                    </esi:when>
                </esi:choose>
                                <esi:return value="false"/>
            </esi:otherwise>
        </esi:choose>
    </esi:function>

<esi:function name="generateVguid">
        <esi:assign name="uuEncodeChars" value="[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,'0','1','2','3','4','5','6','7','8','9','@','-']"/>
    <esi:assign name="ts" value="$time()"/>
        <esi:assign name="ts" value="$(ts) - (($(ts) >> 28) << 28)"/>
        <esi:assign name="pints" value="[$(ts) >> 4, (($(ts) % 16) << 20) + $rand(1048576), $rand(16777216), $rand(16777216), $rand(16777216), $rand(16777216), $rand(16777216), $rand(16777216), $rand(16777216)]"/>
        <esi:foreach item="iter" collection="[8,7,6,5,4,3,2,1,0]">
        <esi:foreach item="shift" collection="[0,1,2,3]">
            <esi:assign name="uu" value="$(uuEncodeChars{($(pints{$(iter)}) >> (6*$(shift))) % 64})"/>
            <esi:choose>
                <esi:when test="!$exists($(_pguid))"><esi:assign name="_pguid" value="$(uu)"/></esi:when>
                <esi:otherwise><esi:assign name="_pguid" value="$(uu) + $(_pguid)"/></esi:otherwise>
            </esi:choose>
        </esi:foreach>
    </esi:foreach>
    <esi:return value="$(_pguid)"/>
</esi:function>

-->
        
            
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />

<meta property="fb:app_id" content="16995676698"/>
<meta property="fb:admins" content="100001036810388"/>
<meta property="og:site_name" content="Download.com">

<meta name="application-name" content="Download.com" />
<meta name="msapplication-starturl" content="http://download.cnet.com/" />
<meta name="msapplication-window" content="width=1024;height=768" />
<meta name="msapplication-TileImage" content="http://a3.fdlstatic.com/373/bundles/downloadcore/images/default_product_icon/icon_default_64.jpg" />

<meta name="msapplication-task" content="name=New Releases;action-uri=http://download.cnet.com/new-windows-software/;icon-uri=/favicon.ico" />
<meta name="msapplication-task" content="name=Most Popular;action-uri=http://download.cnet.com/windows/most-popular/3101-20_4-0.html;icon-uri=/favicon.ico" />
<meta name="msapplication-task" content="name=Latest Reviews;action-uri=http://download.cnet.com/windows/3150-20_4-0.html?sort=reviewDate+asc;icon-uri=/favicon.ico" />
<meta name="msapplication-task" content="name=Blog;action-uri=http://download.cnet.com/download-blog/;icon-uri=/favicon.ico" />


    
<script type="text/javascript">
    var mobileForced = false;
    var mobileDetected = navigator.userAgent.toLowerCase().indexOf("mobile") >= 0 && !navigator.userAgent.search(/(ipad)/i) >= 0;
    var isMobileDevice = mobileDetected || mobileForced;
    var hbFileName = 'ls-Download.js';
    var onMobile = true;
    var onDesktop = true;

    if (onDesktop && !isMobileDevice) {

        (function() {
            var hb = document.createElement('script');
            hb.async = true;
            hb.type = 'text/javascript';
            var useSSL = 'https:' == document.location.protocol;
            hb.src = (useSSL ? 'https:' : 'http:') +
                    '//js-sec.indexww.com/ht/' + hbFileName;
            var node = document.getElementsByTagName('head')[0];
            node.insertBefore(hb, node.childNodes[0]);
        })();
    }
</script>

        
                                    
            
                 
        

    <link rel="search" type="application/opensearchdescription+xml" title="CNET Download Search" href="http://download.cnet.com/html/osdd/download.xml"/>



    <link class="OneLinkKeepLinks" rel="alternate" hreflang="en" href="http://download.cnet.com/" />
    <link class="OneLinkKeepLinks" rel="alternate" hreflang="es" href="http://descargar.cnet.com/" />
    <link class="OneLinkKeepLinks" rel="alternate" hreflang="de" href="http://de.download.cnet.com/" />
    <link class="OneLinkKeepLinks" rel="alternate" hreflang="fr" href="http://telecharger.cnet.com/" />
    
        
                    
                <!--[if gt IE 9]><!-->
            <link rel="stylesheet" type="text/css" href="http://a2.fdlstatic.com/373/bundles/downloadcore/css/main.desktop.css" />
        <!--<![endif]-->

                <!--[if IE 9]>
            <link rel="stylesheet" type="text/css" href="http://a3.fdlstatic.com/373/bundles/downloadcore/css/main.desktop.ie9.css" />
            <link rel="stylesheet" type="text/css" href="http://a4.fdlstatic.com/373/bundles/downloadcore/css/aux.desktop.ie9.css" />
        <![endif]-->

                <!--[if lte IE 8]>
            <link rel="stylesheet" type="text/css" href="http://a3.fdlstatic.com/373/bundles/downloadcore/css/main.desktop.ie.css" />
            <link rel="stylesheet" type="text/css" href="http://a4.fdlstatic.com/373/bundles/downloadcore/css/aux.desktop.ie.css" />
        <![endif]-->
    
    <!-- ****** faviconit.com favicons ****** -->
    <link rel="shortcut icon" href="http://a1.fdlstatic.com/373/bundles/downloadcore/images/favicon.ico">
    <link rel="icon" sizes="16x16 32x32 64x64" href="http://a1.fdlstatic.com/373/bundles/downloadcore/images/favicon.ico">
    <link rel="icon" type="image/png" sizes="196x196" href="http://a4.fdlstatic.com/373/bundles/downloadcore/images/favicon-192.png">
    <link rel="icon" type="image/png" sizes="160x160" href="http://a.fdlstatic.com/373/bundles/downloadcore/images/favicon-160.png">
    <link rel="icon" type="image/png" sizes="96x96" href="http://a1.fdlstatic.com/373/bundles/downloadcore/images/favicon-96.png">
    <link rel="icon" type="image/png" sizes="64x64" href="http://a1.fdlstatic.com/373/bundles/downloadcore/images/favicon-64.png">
    <link rel="icon" type="image/png" sizes="32x32" href="http://a4.fdlstatic.com/373/bundles/downloadcore/images/favicon-32.png">
    <link rel="icon" type="image/png" sizes="16x16" href="http://a4.fdlstatic.com/373/bundles/downloadcore/images/favicon-16.png">
    <link rel="apple-touch-icon" href="http://a.fdlstatic.com/373/bundles/downloadcore/images/favicon-57.png">
    <link rel="apple-touch-icon" sizes="114x114" href="http://a1.fdlstatic.com/373/bundles/downloadcore/images/favicon-114.png">
    <link rel="apple-touch-icon" sizes="72x72" href="http://a4.fdlstatic.com/373/bundles/downloadcore/images/favicon-72.png">
    <link rel="apple-touch-icon" sizes="144x144" href="http://a1.fdlstatic.com/373/bundles/downloadcore/images/favicon-144.png">
    <link rel="apple-touch-icon" sizes="60x60" href="http://a2.fdlstatic.com/373/bundles/downloadcore/images/favicon-60.png">
    <link rel="apple-touch-icon" sizes="120x120" href="http://a4.fdlstatic.com/373/bundles/downloadcore/images/favicon-120.png">
    <link rel="apple-touch-icon" sizes="76x76" href="http://a.fdlstatic.com/373/bundles/downloadcore/images/favicon-76.png">
    <link rel="apple-touch-icon" sizes="152x152" href="http://a4.fdlstatic.com/373/bundles/downloadcore/images/favicon-152.png">
    <link rel="apple-touch-icon" sizes="180x180" href="http://a1.fdlstatic.com/373/bundles/downloadcore/images/favicon-180.png">
    <meta name="msapplication-TileColor" content="#FFFFFF">
    <meta name="msapplication-TileImage" content="http://a1.fdlstatic.com/373/bundles/downloadcore/images/favicon-144.png">
    <meta name="msapplication-config" content="http://a2.fdlstatic.com/373/bundles/downloadcore/images/browserconfig.xml">
    <!-- ****** faviconit.com favicons ****** -->
            <script type="text/javascript" src="//native.sharethrough.com/assets/sfp.js" async></script>
    <script src='https://s.yimg.com/uv/dm/scripts/syndication.js'></script>
        <script type="application/ld+json">
        {
            "@context": "http://schema.org",
            "@type": "WebSite",
            "url": "http://download.cnet.com/",
            "potentialAction": {
                "@type": "SearchAction",
                "target": "http://download.cnet.com/s/{search_term_string}/",
                "query-input": "required name=search_term_string"
            }
        }
    </script>
            <!--[if lte IE 7]>
        <script type="text/javascript" src="http://a.fdlstatic.com/373/bundles/downloadcore/js/libs/json2.js" > </script>
    <![endif]-->

        <!--[if lte IE 9]>
        <script type="text/javascript" src="http://a4.fdlstatic.com/373/bundles/downloadcore/js/libs/polyfill/mediaMatch.js" > </script>
    <![endif]-->

    <script>
        var DL = (function () {
                        var mobileMediaQuery = 'screen and (max-width: 640px),' +
                    'screen and (min-device-width: 375px) and (max-device-width: 667px) and (-webkit-device-pixel-ratio: 2),' +
                    'screen and (min-device-width: 414px) and (max-device-width: 736px) and (-webkit-device-pixel-ratio: 3)',
                matchesMobileMediaQuery = window.matchMedia(mobileMediaQuery).matches,
                isMobileUserAgent = navigator.userAgent.toLowerCase().indexOf("mobile") >= 0,
                isMobileDevice = isMobileUserAgent,
                isIPhone = navigator.userAgent.search(/(iphone)/i) >= 0,
                isIPad = navigator.userAgent.search(/(ipad)/i) >= 0;

            var forceMobile = false;
            var shouldServeAlternateAds = (typeof bingData != 'undefined' && typeof bingData.ads != 'undefined');

            return {
                viewportWidth: Math.max(document.documentElement.clientWidth, window.innerWidth || 0),
                mobileMediaQuery: mobileMediaQuery,
                matchesMobileMediaQuery: matchesMobileMediaQuery,
                isMobileUserAgent: isMobileUserAgent,
                isMobileDevice: (isMobileDevice && !isIPad) || forceMobile,
                isIPhone: isIPhone,
                isIPad: isIPad,
                isResponsivePage: true,
                shouldServeAlternateAds: shouldServeAlternateAds
            };
        }());
    </script>

    <script>
        // global function to detect version of IE including 10
        function getIEVersion(){
            var agent = navigator.userAgent;
            var reg = /MSIE\s?(\d+)(?:\.(\d+))?/i;
            var matches = agent.match(reg);
            if (matches != null) {
                return { major: matches[1], minor: matches[2] };
            }
            return { major: "-1", minor: "-1" };
        }

        var ie_version = getIEVersion();
    </script>

                            <script type='text/javascript'>
    var googletag = googletag || {};
    googletag.cmd = googletag.cmd || [];

    googletag.CBSigetCookieValue = function(ckNm) {
        var value = null;
        var allCookies = document.cookie;
        var pos = allCookies.indexOf(ckNm);
        if (pos != -1) {
            var start = pos + ckNm.length + 1;
            var end = allCookies.indexOf(";", start);
            if (end == -1) end = allCookies.length;
            value = allCookies.substring(start, end);
         }
         return value;
    };

    // determine if it's DST in the Eastern Timezone on the given date
    googletag.CBSiisEDT = function(dt) {
        // EDT starts second Sunday of March
        var edtStart = new Date(dt.getFullYear(), 2, 1);
        edtStart = Date.UTC(edtStart.getUTCFullYear(), 2, 14-(edtStart.getUTCDay()+13)%7, 5);
        // EDT ends first Sunday of November
        var edtEnd = new Date(dt.getFullYear(), 10, 1);
        edtEnd = Date.UTC(edtEnd.getUTCFullYear(), 10, 7-(edtEnd.getUTCDay()+6)%7, 4);
        // see if current date is within the EDT range
        return dt.getTime() >= edtStart && dt.getTime() < edtEnd;
    };

    googletag.CBSiaddPageView = function () {
        var pv=1;
        var cookiename='dl_page_view';
        //If there's a cookie, get the current value and add one to it.
        if (document.cookie.indexOf(cookiename)!=-1) {
            pv=parseInt(googletag.CBSigetCookieValue(cookiename));
            if(isNaN(pv)) {
                pv=1;
            } else {
                pv+=1;
            }
        }
        // set expiration to midnight using EDT or EST offset (4|5)
        var dt = new Date();
        var exp = Date.UTC(dt.getUTCFullYear(), dt.getUTCMonth(), dt.getUTCDate(), googletag.CBSiisEDT(dt) ? 4 : 5);
        // adjust 1 day if set to midnight of previous day
        exp += exp > dt.getTime() ? 0 : 24*60*60*1000;
        exp = new Date(exp).toUTCString();
        // get L2 domain
        var domainArr = document.domain.split('.').reverse();
        var l2domain=document.domain;
        if(domainArr[1]!=null)
        {   l2domain = domainArr[1] + "." + domainArr[0];
        }

        // save the value in the cookie
        document.cookie = cookiename + "=" + pv + ";path=/;domain=" + l2domain + ";expires=" + exp;
        //update the value for the next ad call
        googletag.pubads().setTargeting("pv",""+pv);
    };

    (function() {
        var gads = document.createElement('script');
        gads.async = true;
        gads.type = 'text/javascript';
        var useSSL = 'https:' == document.location.protocol;
        gads.src = (useSSL ? 'https:' : 'http:') +
        '//www.googletagservices.com/tag/js/gpt.js';
        var node = document.getElementsByTagName('script')[0];
        node.parentNode.insertBefore(gads, node);
    })();

        var topicName = "downloads";
    
        var ukRegion = ['gb','ie','za','bh','kw','om','qa','sa','ae','iq','eg','fr','it','de','be','nl'];
    var auRegion = ['au','nz'];
    var asiaRegion = ['sg','my','th','id','ph','hk','vn','tw'];

        var adCountry = 'us';
    var adRegion = 'aw';

        var ftag = '';
    if ("undefined" != typeof window["optimizelyFtag"]) {
        ftag = window["optimizelyFtag"];
    }

        if (false) {
        ftag = '';
    }

        try {
        var cookies = document.cookie.split(';');
        var dlGeoCookie = "dl_geo=";
        var dlFtagCookie = "dl_ad_ftag=";
        for (var i = 0; i < cookies.length; i++) {
            var c = cookies[i];
            while (c.charAt(0) == ' ') c = c.substring(1, c.length);
            if (c.indexOf(dlGeoCookie) == 0) {
                var dlGeoCookieValue = c.substring(dlGeoCookie.length, c.length);
                if (dlGeoCookieValue.indexOf("countryCode") !== -1) {
                    var parsedCountry = eval("(" + dlGeoCookieValue + ")").countryCode;
                    adCountry = parsedCountry.toLowerCase();
                }
            } else if (c.indexOf(dlFtagCookie) == 0) {
                ftag = c.substring(dlFtagCookie.length, c.length);
            }
        }
    } catch (e) { }

        var j;
    for (j = 0; j < ukRegion.length; j++) {
        if (adCountry === ukRegion[j]) {
            adRegion = 'uk'; break;
        }
    }
    for (j = 0; j < auRegion.length; j++) {
        if (adCountry === auRegion[j]) {
            adRegion = 'au'; break;
        }
    }
    for (j = 0; j < asiaRegion.length; j++) {
        if (adCountry === asiaRegion[j]) {
            adRegion = 'asia'; break;
        }
    }

        
        var pageTargeting = {
        "ptype": "front_door_dl",
        "vguid": "<!--esi<esi:vars>$(vguid)</esi:vars>-->",
        "Category": "no-platform",
        "topic": topicName,
        "pid": "0"
    };

    googletag.cmd.push(function() { googletag.pubads().collapseEmptyDivs(true); });

        var adSlots = {};

        var desktopAdChannel = "/8264/" + adRegion + "-download/" + topicName ,
        mobileAdChannel = "/8264/maw-download/" + topicName,
        adUnitChannel = '';

                        
        
                if (!DL.isMobileDevice || !DL.isResponsivePage) {
            googletag.cmd.push(function () {
                adUnitChannel = desktopAdChannel + "";
                                                        if (typeof window["loadStickyOnPage"] != 'undefined' && "intromercial" == 'sticky_top') {
                                                    adSlots["intromercial"] = googletag.defineOutOfPageSlot(adUnitChannel, "intromercial")
                                    .addService(googletag.pubads());
                                            } else if (typeof window["loadStickyOnScroll"] == 'undefined' || "intromercial" != 'sticky_top') {
                                                                        adSlots["intromercial"] = googletag.defineOutOfPageSlot(adUnitChannel, "intromercial")
                                .addService(googletag.pubads());
                                            }
                                                        if (typeof window["loadStickyOnPage"] != 'undefined' && "sticky_top" == 'sticky_top') {
                                                    adSlots["sticky_top"] = googletag.defineSlot(adUnitChannel, [980,45], "sticky_top")
                                    .addService(googletag.pubads())
                                    .setTargeting("pos", "top")
                                    .setTargeting("test", "" + window["loadStickyOnPage"])
                                                                        ;
                                            } else if (typeof window["loadStickyOnScroll"] == 'undefined' || "sticky_top" != 'sticky_top') {
                                                                        adSlots["sticky_top"] = googletag.defineSlot(adUnitChannel, [980,45], "sticky_top")
                                .addService(googletag.pubads())
                                .setTargeting("pos", "top")
                                                                            }
                                                        if (typeof window["loadStickyOnPage"] != 'undefined' && "text_link_top" == 'sticky_top') {
                                                    adSlots["text_link_top"] = googletag.defineSlot(adUnitChannel, [401,11], "text_link_top")
                                    .addService(googletag.pubads())
                                    .setTargeting("pos", "top")
                                    .setTargeting("test", "" + window["loadStickyOnPage"])
                                                                        ;
                                            } else if (typeof window["loadStickyOnScroll"] == 'undefined' || "text_link_top" != 'sticky_top') {
                                                                        adSlots["text_link_top"] = googletag.defineSlot(adUnitChannel, [401,11], "text_link_top")
                                .addService(googletag.pubads())
                                .setTargeting("pos", "top")
                                                                            }
                                                        if (typeof window["loadStickyOnPage"] != 'undefined' && "download_drive" == 'sticky_top') {
                                                    adSlots["download_drive"] = googletag.defineSlot(adUnitChannel, [[458,120],[11,11]], "download_drive")
                                    .addService(googletag.pubads())
                                    .setTargeting("pos", "top")
                                    .setTargeting("test", "" + window["loadStickyOnPage"])
                                                                        .setTargeting("strnativekey", "d13c6e4a")
                                                                        ;
                                            } else if (typeof window["loadStickyOnScroll"] == 'undefined' || "download_drive" != 'sticky_top') {
                                                                        adSlots["download_drive"] = googletag.defineSlot(adUnitChannel, [[458,120],[11,11]], "download_drive")
                                .addService(googletag.pubads())
                                .setTargeting("pos", "top")
                                                                .setTargeting("strnativekey", "d13c6e4a")
                                                                            }
                                                        if (typeof window["loadStickyOnPage"] != 'undefined' && "fd_leader_plus_top" == 'sticky_top') {
                                                    adSlots["fd_leader_plus_top"] = googletag.defineSlot(adUnitChannel, [[728,90],[970,66],[970,250]], "fd_leader_plus_top")
                                    .addService(googletag.pubads())
                                    .setTargeting("pos", "top")
                                    .setTargeting("test", "" + window["loadStickyOnPage"])
                                                                        ;
                                            } else if (typeof window["loadStickyOnScroll"] == 'undefined' || "fd_leader_plus_top" != 'sticky_top') {
                                                                        adSlots["fd_leader_plus_top"] = googletag.defineSlot(adUnitChannel, [[728,90],[970,66],[970,250]], "fd_leader_plus_top")
                                .addService(googletag.pubads())
                                .setTargeting("pos", "top")
                                                                            }
                                                        if (typeof window["loadStickyOnPage"] != 'undefined' && "mpu_plus_top" == 'sticky_top') {
                                                    adSlots["mpu_plus_top"] = googletag.defineSlot(adUnitChannel, [[300,250],[300,600]], "mpu_plus_top")
                                    .addService(googletag.pubads())
                                    .setTargeting("pos", "top")
                                    .setTargeting("test", "" + window["loadStickyOnPage"])
                                                                        ;
                                            } else if (typeof window["loadStickyOnScroll"] == 'undefined' || "mpu_plus_top" != 'sticky_top') {
                                                                        adSlots["mpu_plus_top"] = googletag.defineSlot(adUnitChannel, [[300,250],[300,600]], "mpu_plus_top")
                                .addService(googletag.pubads())
                                .setTargeting("pos", "top")
                                                                            }
                                                        if (typeof window["loadStickyOnPage"] != 'undefined' && "mpu_bottom" == 'sticky_top') {
                                                    adSlots["mpu_bottom"] = googletag.defineSlot(adUnitChannel, [[300,250],[300,600]], "mpu_bottom")
                                    .addService(googletag.pubads())
                                    .setTargeting("pos", "bottom")
                                    .setTargeting("test", "" + window["loadStickyOnPage"])
                                                                        ;
                                            } else if (typeof window["loadStickyOnScroll"] == 'undefined' || "mpu_bottom" != 'sticky_top') {
                                                                        adSlots["mpu_bottom"] = googletag.defineSlot(adUnitChannel, [[300,250],[300,600]], "mpu_bottom")
                                .addService(googletag.pubads())
                                .setTargeting("pos", "bottom")
                                                                            }
                                                        if (typeof window["loadStickyOnPage"] != 'undefined' && "leader_bottom" == 'sticky_top') {
                                                    adSlots["leader_bottom"] = googletag.defineSlot(adUnitChannel, [[970,66],[728,90]], "leader_bottom")
                                    .addService(googletag.pubads())
                                    .setTargeting("pos", "bottom")
                                    .setTargeting("test", "" + window["loadStickyOnPage"])
                                                                        ;
                                            } else if (typeof window["loadStickyOnScroll"] == 'undefined' || "leader_bottom" != 'sticky_top') {
                                                                        adSlots["leader_bottom"] = googletag.defineSlot(adUnitChannel, [[970,66],[728,90]], "leader_bottom")
                                .addService(googletag.pubads())
                                .setTargeting("pos", "bottom")
                                                                            }
                                                        if (typeof window["loadStickyOnPage"] != 'undefined' && "skin" == 'sticky_top') {
                                                    adSlots["skin"] = googletag.defineSlot(adUnitChannel, [1600,1000], "skin")
                                    .addService(googletag.pubads())
                                    .setTargeting("pos", "top")
                                    .setTargeting("test", "" + window["loadStickyOnPage"])
                                                                        ;
                                            } else if (typeof window["loadStickyOnScroll"] == 'undefined' || "skin" != 'sticky_top') {
                                                                        adSlots["skin"] = googletag.defineSlot(adUnitChannel, [1600,1000], "skin")
                                .addService(googletag.pubads())
                                .setTargeting("pos", "top")
                                                                            }
                                                        if (typeof window["loadStickyOnPage"] != 'undefined' && "bottom2_all_sizes" == 'sticky_top') {
                                                    adSlots["bottom2_all_sizes"] = googletag.defineSlot(adUnitChannel, [[300,250],[300,600]], "bottom2_all_sizes")
                                    .addService(googletag.pubads())
                                    .setTargeting("pos", "bottom2")
                                    .setTargeting("test", "" + window["loadStickyOnPage"])
                                                                        ;
                                            } else if (typeof window["loadStickyOnScroll"] == 'undefined' || "bottom2_all_sizes" != 'sticky_top') {
                                                                        adSlots["bottom2_all_sizes"] = googletag.defineSlot(adUnitChannel, [[300,250],[300,600]], "bottom2_all_sizes")
                                .addService(googletag.pubads())
                                .setTargeting("pos", "bottom2")
                                                                            }
                                                        if (typeof window["loadStickyOnPage"] != 'undefined' && "native_middle_doors" == 'sticky_top') {
                                                    adSlots["native_middle_doors"] = googletag.defineSlot(adUnitChannel, [11,11], "native_middle_doors")
                                    .addService(googletag.pubads())
                                    .setTargeting("pos", "bottom")
                                    .setTargeting("test", "" + window["loadStickyOnPage"])
                                                                        .setTargeting("strnativekey", "09f65906")
                                                                        ;
                                            } else if (typeof window["loadStickyOnScroll"] == 'undefined' || "native_middle_doors" != 'sticky_top') {
                                                                        adSlots["native_middle_doors"] = googletag.defineSlot(adUnitChannel, [11,11], "native_middle_doors")
                                .addService(googletag.pubads())
                                .setTargeting("pos", "bottom")
                                                                .setTargeting("strnativekey", "09f65906")
                                                                            }
                            });
        }
    
        
                if (DL.isMobileDevice && DL.isResponsivePage) {
                                        googletag.cmd.push(function () {
                    adSlots["intromercial"] = googletag.defineOutOfPageSlot(mobileAdChannel, "intromercial")
                        .addService(googletag.pubads());
                });
                                                    googletag.cmd.push(function () {
                    adSlots["mobile_banner_plus"] = googletag.defineSlot(mobileAdChannel, [[320,50],[300,250]], "mobile_banner_plus")
                        .addService(googletag.pubads())
                        .setTargeting("pos", "top")
                                        });
                                                    googletag.cmd.push(function () {
                    adSlots["mobile_mpu_bottom-1"] = googletag.defineSlot(mobileAdChannel, [[300,250]], "mobile_mpu_bottom-1")
                        .addService(googletag.pubads())
                        .setTargeting("pos", "bottom")
                                        });
                                }
    
        googletag.cmd.push(function() { googletag.pubads().setTargeting("ptype", "front_door_dl"); });
    googletag.cmd.push(function() { googletag.pubads().setTargeting("vguid", "<!--esi<esi:vars>$(vguid)</esi:vars>-->"); });
    googletag.cmd.push(function() { googletag.pubads().setTargeting("Category", "no-platform"); });
    googletag.cmd.push(function() { googletag.pubads().setTargeting("pid", "0"); });

                if (ftag != '') {
            googletag.cmd.push(function() { googletag.pubads().setTargeting("ftag", ftag+""); });
        }
    
    
        
    googletag.cmd.push(function() { googletag.pubads().enableSingleRequest() });
    googletag.cmd.push(function() { googletag.enableServices() });
    googletag.cmd.push(function() { googletag.CBSiaddPageView(); });

        window.addEventListener('message', function (event) {
        if (event.data == 'nativeAdBlankServed_bidtellect') {
            var bidtellectUnits = document.querySelectorAll('.bidtellect');
            for (var i = 0; i < bidtellectUnits.length; i++) {
                bidtellectUnits[i].parentNode.removeChild(bidtellectUnits[i]);
            }
        }
    }, false);
</script>

    
    

    <script type="text/javascript" src="http://dw.cbsi.com/js/dw.js"></script>

                <script type="text/javascript" src="http://a1.fdlstatic.com/373/bundles/downloadcore/js-build/fly/libs/require-2.1.2.js"></script>
<script type="text/javascript">
    require.config({"baseUrl":"http:\/\/a3.fdlstatic.com\/373\/bundles\/downloadcore\/js-build","config":{"version":{"fly\/libs\/easy-xdm":"2.4.17.1","fly\/libs\/jquery.widget":"1.9.2","fly\/libs\/jquery.throttle-debounce":"1.1","fly\/libs\/urs":"1.0","fly\/utils\/data-prefix":"1.0","fly\/utils\/data-selector":"1.0","fly\/utils\/component-helper":"1.0","fly\/utils\/log":"1.0","fly\/utils\/object-helper":"1.0","fly\/utils\/string-helper":"1.0","fly\/utils\/string-vars":"1.0","fly\/utils\/ad-helper":"1.0","fly\/utils\/url-helper":"1.0","fly\/utils\/guid":"1.0","fly\/managers\/dw-tracking":"1.0","fly\/libs\/jquery.cookie":"1.2","fly\/managers\/cookie":"1.0","fly\/managers\/components":"1.0","fly\/managers\/ad":"1.0","fly\/managers\/gpt":"1.0","fly\/managers\/madison":"1.0","fly\/managers\/debug":"1.0","fly\/managers\/user":"1.0","fly\/managers\/history":"1.0","fly\/managers\/tracking":"1.0","fly\/components\/base":"1.0","fly\/components\/iframe-messenger":"1.0","fly\/components\/dependent-field":"1.0","fly\/components\/carousel":"1.0","fly\/components\/livefyre-conversation":"1.0","fly\/components\/livefyre-commentcount":"1.0","fly\/components\/load-more":"1.0","fly\/components\/tabs":"1.0","fly\/components\/tooltip":"1.0","fly\/components\/dropdown":"1.0","fly\/components\/fixate":"1.0","fly\/components\/alert":"1.0","fly\/components\/modal":"1.0","fly\/components\/modal-async":"1.0","fly\/components\/modal-iframe":"1.0","fly\/components\/form-validate":"1.0","fly\/components\/social-button":"1.0","fly\/components\/social-links":"1.0","fly\/components\/loading":"1.0","managers\/adsManager":"1.0","libs\/dil":"2.0","libs\/adlens":"1.0","components\/carousel":"1.0","components\/downloadNowButton":"2.0","components\/utility":"1.0","components\/listing-pagination":"1.0","components\/offsite-dl-popup":"2.0","components\/offsite-visit-site":"1.0","components\/tab-widget":"1.0","components\/footer-change-site":"1.0","components\/find-software-widget":"1.0","components\/autosuggest":"1.0","components\/spotbid-impressions":"2.0","components\/panama":"1.0","components\/language-pushdown":"1.0","components\/listing-controls":"1.0","components\/version-dropdown":"1.0","components\/delay-redirect":"1.0","components\/init-download":"1.0","managers\/social-authentication":"1.0","components\/user-form":"1.0","components\/user-controller":"1.0","managers\/user":"2.0","managers\/ad":"1.0","components\/onLoad":"1.0","components\/image-gallery":"1.0","components\/lightbox":"1.0","components\/livefyre-conversation":"1.0","components\/medusa-unit":"1.0","components\/user-review-sort":"1.0","components\/user-review-form":"1.0","components\/user-reply":"1.0","components\/floating-download-now-button-bar-widget":"1.0","components\/tooltip":"1.0","components\/download-social-links":"1.0","components\/watchlist-controller":"2.0","components\/watchlist-auto-add":"1.0","managers\/watchlist":"2.0","components\/form-validate":"1.0","components\/dreCarousel":"1.0","components\/alternate-platform-button":"1.0","components\/user-review-rating":"1.0","components\/infinite-scroll":"1.0","components\/review-infinite-scroll":"1.0","components\/door-infinite-scroll":"1.0","components\/uninstall-download-app-form":"1.0","components\/mobile-drawer":"1.0","components\/mobile-tabs":"1.0","components\/search-autosuggest":"1.0","components\/responsive-header":"1.0","components\/search-filter":"1.0","components\/listing-filter":"1.0","components\/sharebar":"1.0","components\/bing-ads":"1.0","components\/blog-infinite-scroll":"1.0","components\/ad-injector":"1.0","components\/truncation-toggler":"1.0","components\/simple-truncation-toggler":"1.0","libs\/placeholder":"0.2.4","utils\/function-natives":"1.0","libs\/slick":"1.5.8","components\/slick-carousel":"1.0","components\/page-header":"1.0","libs\/waypoints\/jquery.waypoints":"3.1.1","components\/follow-video":"1.0","managers\/device":"1.0","microservicevote\/components\/microservice-vote-submit":"1.0","components\/uvp":"1.0"}},"shim":{"jquery-ui":["jquery"],"version!libs\/placeholder":["jquery"],"version!libs\/slick":["jquery"],"version!components\/uvp":["jquery"],"version!libs\/waypoints\/jquery.waypoints":["jquery"]},"map":{"*":{"livefyre":"\/\/zor.livefyre.com\/wjs\/v3.0\/javascripts\/livefyre.js","livefyre-commentcount":"\/\/zor.livefyre.com\/wjs\/v1.0\/javascripts\/CommentCount.js","gpt":"\/\/www.googletagservices.com\/tag\/js\/gpt.js","panama":"http:\/\/i.i.cbsi.com\/cnwk.1d\/Ads\/common\/panama\/panama-download.js","urs":"\/\/urs.cnet.com\/sdk\/urs.js","uvp":"\/\/vidtech.cbsinteractive.com\/uvpjs\/1.6.0\/CBSI-PLAYER.js","ima":"\/\/imasdk.googleapis.com\/js\/sdkloader\/ima3.js"}},"waitSeconds":0});
    require(['main.desktop']);
</script>
    
    <script type="text/javascript">
        // Normalize the binding of event listeners
        function bindEventListener(element, eventType, callback) {
            if (element.addEventListener) {
                element.addEventListener(eventType, callback);
            } else {
                element.attachEvent('on' + eventType, callback);
            }
        }
    </script>

            <script language="JavaScript" type="text/javascript" src="http://a.fdlstatic.com/373/bundles/downloadcore/js/libs/om-inline.js"></script>
    
    <script>
        if (!DL.isMobileDevice) {
            document.documentElement.className = document.documentElement.className.replace(/\bmobile\b/, 'desktop');
        }
    </script>

    
    <script type="text/javascript">
        window._taboola = window._taboola || [];
        _taboola.push({'home':'auto'});
        !function (e, f, u) {
            e.async = 1;
            e.src = u;
            f.parentNode.insertBefore(e, f);
        }(document.createElement('script'),
                document.getElementsByTagName('script')[0],
                '//cdn.taboola.com/libtrc/cbsinteractive-downloadcom/loader.js');
    </script>
    </head>
    <body 
                    data-dw='{"host":null,"pageParams":{"sitetype":"desktop web","devicetype":"desktop"}}'
                data-tracking-status='true'

    data-ad-cookie-service-path='/module/ad-cookie/'
    data-ad='{"gpt":{"targeting":{"device":"desktop","ptype":"","cid":"","env":"prod"},"adConfig":{"network":{"dev":8264,"qa":8264,"uat":8264,"stage":8264,"prod":8264},"method":"async","regions":[{"region":"uk","countries":["gb","ie","za","bh","kw","om","qa","sa","ae","iq","eg","fr","it","de","be","nl"]},{"region":"au","countries":["au","nz"]},{"region":"asia","countries":["sg","my","th","id","ph","hk","vn","tw"]}],"adUnits":{"intromercial":{"sizes":[630,480],"outOfPage":true},"skin":{"sizes":[[1600,1000]]},"bottom2":{"sizes":[[300,250]],"position":"bottom2"},"launchpad_1":{"sizes":[[200,75]],"position":1},"launchpad_2":{"sizes":[[200,75]],"position":2},"resourceCenterTop":{"sizes":[[300,300]],"position":"top"},"resourceCenterBottom":{"sizes":[[632,160]],"position":"bottom"},"mpuPlusTop":{"sizes":[[300,250],[300,600],[300,1050]],"position":"top"},"marqueeTop":{"sizes":[[234,60]],"position":"top"},"mpuTop":{"sizes":[[300,250],[300,600]],"position":"top"},"mpuBottom":{"sizes":[[300,250]],"position":"bottom"},"leaderPlusTop":{"sizes":[[728,90],[970,66],[970,250]],"position":"top"},"leaderTop":{"sizes":[[728,90],[970,66],[970,250]],"position":"bottom"},"textLinkTop":{"sizes":[401,11],"position":"top"},"leaderPlusBottom":{"sizes":[[728,90],[970,66],[970,250]],"position":"bottom"},"leaderBottom":{"sizes":[[728,90],[970,66]],"position":"bottom"},"infoBoardTop":{"sizes":[[771,201]],"position":"top"},"categorySpotlightTop":{"sizes":[[681,200]],"position":"top"},"categorySpotlightBottom":{"sizes":[[681,200]],"position":"bottom"}},"mobile":{"adUnits":{"mobileBannerTop":{"sizes":[[300,50],["120. 20"],[168,28],[216,36]]},"mobileBannerMpuHptoOverlay":{"outOfPage":true},"mobileMpuBottom":{"sizes":[300,250]}}},"tablet":{"adUnits":{"resourceCenterTop":{"sizes":[[300,300]],"position":"top"},"resourceCenterBottom":{"sizes":[[632,160]],"position":"bottom"},"mpuPlusTop":{"sizes":[[300,600],[300,250]]},"marqueeTop":{"sizes":[[234,60]],"position":"top"},"mpuTop":{"sizes":[[300,250],[300,600]],"position":"top"},"mpuBottom":{"sizes":[[300,250]],"position":"bottom"},"leaderTop":{"sizes":[[728,90],[970,66]],"position":"bottom"},"leaderPlusTop":{"sizes":[[728,90],[970,66],[970,250]],"position":"top"}}},"siteName":"download","collapseEmptyDiv