/* Boomerang is Copyright (c) 2010 Yahoo! Inc. All rights reserved. Code licensed and distributed under the BSD License. */ BOOMR_start=new Date().getTime();(function(a){if(a.parent!=a&&document.getElementById("boomr-if-as")&&document.getElementById("boomr-if-as").nodeName.toLowerCase()=="script"){a=a.parent}var e,c,b,g=a.document;if(typeof a.BOOMR==="undefined"){a.BOOMR={}}BOOMR=a.BOOMR;if(BOOMR.version){return}BOOMR.version="0.9.1358322885";BOOMR.window=a;e={beacon_url:location.protocol+"//204st.us/",site_domain:a.location.hostname.replace(/.*?([^.]+\.[^.]+)\.?$/,"$1").toLowerCase(),user_ip:"",onloadfired:false,events:{page_ready:[],page_unload:[],dom_loaded:[],visibility_changed:[],before_beacon:[],xhr_load:[],click:[]},vars:{},disabled_plugins:{},onclick_handler:function(d){var h;if(!d){d=a.event}if(d.target){h=d.target}else{if(d.srcElement){h=d.srcElement}}if(h.nodeType==3){h=h.parentNode}e.fireEvent("click",h)},fireEvent:function(d,l){var j,k,m;if(!this.events.hasOwnProperty(d)){return false}m=this.events[d];for(j=0;j=0){h+=d.length;j=j.substring(h,j.indexOf(";",h));return j}return null},setCookie:function(j,l,d){var m=[],h,i,o,n;if(!j||!e.site_domain){return false}for(h in l){if(l.hasOwnProperty(h)){m.push(encodeURIComponent(h)+"="+encodeURIComponent(l[h]))}}m=m.join("&");i=j+"="+m;o=[i,"path=/","domain="+e.site_domain];if(d){n=new Date();n.setTime(n.getTime()+d*1000);n=n.toGMTString();o.push("expires="+n)}if(i.length<4000){g.cookie=o.join("; ");return(m===this.getCookie(j))}return false},getSubCookies:function(k){var j,h,d,n,m={};if(!k){return null}j=k.split("&");if(j.length===0){return null}for(h=0,d=j.length;h0)}},init:function(h){var l,d,j=["beacon_url","site_domain","user_ip"];if(!h){h={}}for(l=0;l-1)?"&":"?")+j.join("&");if(d){h=new Image();h.src=j}return this}};delete BOOMR_start;if(typeof BOOMR_lstart=="number"){c.t_lstart=BOOMR_lstart;delete BOOMR_lstart}var f=function(d){return function(h,i){this.log(h,d,"boomerang"+(i?"."+i:""));return this}};c.debug=f("debug");c.info=f("info");c.warn=f("warn");c.error=f("error");if(typeof console!=="undefined"&&typeof console.log!=="undefined"){c.log=function(d,h,i){console.log(i+": ["+h+"] "+d)}}for(b in c){if(c.hasOwnProperty(b)){BOOMR[b]=c[b]}}BOOMR.plugins=BOOMR.plugins||{}}(window)); (function(a){var c=a.document;BOOMR=BOOMR||{};BOOMR.plugins=BOOMR.plugins||{};var b={onloadfired:false,unloadfired:false,visiblefired:false,complete:false,timers:{},cookie:"RT",cookie_exp:60*60*24*7,session_exp:60*30,strict_referrer:true,navigationType:0,navigationStart:undefined,responseStart:undefined,sessionID:Math.floor(Math.random()*1048576).toString(36),sessionStart:undefined,sessionLength:0,loadTime:0,oboError:0,t_start:undefined,t_fb_approx:undefined,r:undefined,r2:undefined,setCookie:function(g){var f,d=new Date().getTime(),e;if(!this.cookie){return this}e=BOOMR.utils.getSubCookies(BOOMR.utils.getCookie(this.cookie))||{};if(g){e[g]=d}e.r=c.URL.replace(/#.*/,"");e.si=this.sessionID;e.ss=this.sessionStart;e.sl=this.sessionLength;e.tt=this.loadTime;e.obo=this.oboError;if(!BOOMR.utils.setCookie(this.cookie,e,this.cookie_exp)){BOOMR.error("cannot set start cookie","rt");return this}f=new Date().getTime();if(f-d>50){BOOMR.utils.removeCookie(this.cookie);BOOMR.error("took more than 50ms to set cookie... aborting: "+d+" -> "+f,"rt")}return this},initFromCookie:function(e){var d;if(!this.cookie){return}d=BOOMR.utils.getSubCookies(BOOMR.utils.getCookie(this.cookie));if(!d){return}d.s=d.ul||d.cl;if(e&&d.s&&d.r){this.r=d.r;if(!this.strict_referrer||this.r===this.r2){this.t_start=parseInt(d.s,10);this.t_fb_approx=parseInt(d.hd,10)}}if(d.s){this.lastActionTime=parseInt(d.s,10)}if(d.si){this.sessionID=d.si}if(d.ss){this.sessionStart=parseInt(d.ss,10)}if(d.sl){this.sessionLength=parseInt(d.sl,10)}if(d.tt&&d.tt.match(/\d/)){this.loadTime=parseInt(d.tt,10)}if(d.obo){this.oboError=parseInt(d.obo,10)|0}},page_ready:function(){this.onloadfired=true},visibility_changed:function(){if(!(c.hidden||c.msHidden||c.webkitHidden)){b.visiblefired=true}},checkPreRender:function(){if(!(c.webkitVisibilityState&&c.webkitVisibilityState==="prerender")&&!(c.msVisibilityState&&c.msVisibilityState===3)){return false}BOOMR.plugins.RT.startTimer("t_load",this.navigationStart);BOOMR.plugins.RT.endTimer("t_load");BOOMR.plugins.RT.startTimer("t_prerender",this.navigationStart);BOOMR.plugins.RT.startTimer("t_postrender");BOOMR.subscribe("visibility_changed",BOOMR.plugins.RT.done,"visible",BOOMR.plugins.RT);return true},initNavTiming:function(){var d,f,e;if(this.navigationStart){return}f=a.performance||a.msPerformance||a.webkitPerformance||a.mozPerformance;if(f&&f.navigation){this.navigationType=f.navigation.type}if(f&&f.timing){d=f.timing}else{if(a.chrome&&a.chrome.csi&&a.chrome.csi().startE){d={navigationStart:a.chrome.csi().startE};e="csi"}else{if(a.gtbExternal&&a.gtbExternal.startE()){d={navigationStart:a.gtbExternal.startE()};e="gtb"}}}if(d){BOOMR.addVar("rt.start",e||"navigation");this.navigationStart=d.navigationStart||d.fetchStart||undefined;this.responseStart=d.responseStart||undefined;if(navigator.userAgent.match(/Firefox\/[78]\./)){this.navigationStart=d.unloadEventStart||d.fetchStart||undefined}}else{BOOMR.warn("This browser doesn't support the WebTiming API","rt")}return},page_unload:function(d){if(!this.unloadfired){BOOMR.plugins.RT.done(d,"unload")}this.setCookie(d.type=="beforeunload"?"ul":"hd");this.unloadfired=true},onclick:function(d){if(!d){return}while(d!=c.body&&d.nodeName.toUpperCase()!="A"){d=d.parentNode}if(d.nodeName.toUpperCase()=="A"){this.initFromCookie(false);this.setCookie("cl")}},domloaded:function(){BOOMR.plugins.RT.endTimer("t_domloaded")}};BOOMR.plugins.RT={init:function(d){if(a!=BOOMR.window){a=BOOMR.window;c=a.document}BOOMR.utils.pluginConfig(b,d,"RT",["cookie","cookie_exp","session_exp","strict_referrer"]);if(b.onloadfired||b.complete){return this}b.complete=false;b.timers={};BOOMR.subscribe("page_ready",b.page_ready,null,b);b.visiblefired=!(c.hidden||c.msHidden||c.webkitHidden);if(!b.visiblefired){BOOMR.subscribe("visibility_changed",b.visibility_changed,null,b)}BOOMR.subscribe("page_ready",this.done,"load",this);BOOMR.subscribe("xhr_load",this.done,"xhr",this);BOOMR.subscribe("dom_loaded",b.domloaded,null,b);BOOMR.subscribe("page_unload",b.page_unload,null,b);BOOMR.subscribe("click",b.onclick,null,b);if(BOOMR.t_start){this.startTimer("boomerang",BOOMR.t_start);this.endTimer("boomerang",BOOMR.t_end);this.endTimer("boomr_fb",BOOMR.t_start);if(BOOMR.t_lstart){this.endTimer("boomr_ld",BOOMR.t_lstart);this.setTimer("boomr_lat",BOOMR.t_start-BOOMR.t_lstart)}}b.r=b.r2=c.referrer.replace(/#.*/,"");b.initFromCookie(true);if(!b.sessionStart){b.sessionStart=BOOMR.t_lstart||BOOMR.t_start}b.setCookie();return this},startTimer:function(d,e){if(d){if(d==="t_page"){this.endTimer("t_resp",e)}b.timers[d]={start:(typeof e==="number"?e:new Date().getTime())};b.complete=false}return this},endTimer:function(d,e){if(d){b.timers[d]=b.timers[d]||{};if(!("end" in b.timers[d])){b.timers[d].end=(typeof e==="number"?e:new Date().getTime())}}return this},setTimer:function(d,e){if(d){b.timers[d]={delta:e}}return this},done:function(j,h){var g,k=new Date().getTime(),f={t_done:1,t_resp:1,t_page:1},e=0,i,d,l=[];b.complete=false;if(h=="load"||h=="visible"){b.initNavTiming();if(b.checkPreRender()){return this}if(b.responseStart){this.endTimer("t_resp",b.responseStart);if(b.timers.t_load){this.setTimer("t_page",b.timers.t_load.end-b.responseStart)}else{this.setTimer("t_page",k-b.responseStart)}}else{if(b.timers.hasOwnProperty("t_page")){this.endTimer("t_page")}else{if(b.t_fb_approx){this.endTimer("t_resp",b.t_fb_approx);this.setTimer("t_page",k-b.t_fb_approx)}}}if(b.timers.hasOwnProperty("t_postrender")){this.endTimer("t_postrender");this.endTimer("t_prerender")}}if(h=="xhr"&&j.name&&b.timers[j.name]){g=b.timers[j.name].start;BOOMR.addVar("rt.start","manual")}else{if(b.navigationStart){g=b.navigationStart}else{if(b.t_start&&b.navigationType!==2){g=b.t_start;BOOMR.addVar("rt.start","cookie")}else{BOOMR.addVar("rt.start","none");g=undefined}}}b.initFromCookie(false);if((g&&b.sessionStart>g)||k-(b.lastActionTime||BOOMR.t_start)>b.session_exp*1000){b.sessionStart=g||BOOMR.t_lstart||BOOMR.t_start;b.sessionLength=0;b.loadTime=0;b.oboError=0}this.endTimer("t_done",k);BOOMR.removeVar("t_done","t_page","t_resp","r","r2","rt.tstart","rt.bstart","rt.end","rt.abld","rt.ss","rt.sl","rt.tt","rt.lt","t_postrender","t_prerender","t_load");BOOMR.addVar("rt.tstart",g);BOOMR.addVar("rt.bstart",BOOMR.t_start);BOOMR.addVar("rt.end",b.timers.t_done.end);if("t_configfb" in b.timers&&typeof b.timers.t_configfb.start!="number"){if("t_configjs" in b.timers&&typeof b.timers.t_configjs.start=="number"){b.timers.t_configfb.start=b.timers.t_configjs.start}else{delete b.timers.t_configfb}}for(i in b.timers){if(!b.timers.hasOwnProperty(i)){continue}d=b.timers[i];if(typeof d.delta!=="number"){if(typeof d.start!=="number"){d.start=g}d.delta=d.end-d.start}if(isNaN(d.delta)){continue}if(f.hasOwnProperty(i)){BOOMR.addVar(i,d.delta)}else{l.push(i+"|"+d.delta)}e++}if(e){if(h!="xhr"){BOOMR.addVar("r",b.r);if(b.r2!==b.r){BOOMR.addVar("r2",b.r2)}}if(l.length){BOOMR.addVar("t_other",l.join(","))}}if(h=="load"||h=="xhr"||!b.onloadfired){b.sessionLength++;if(isNaN(b.timers.t_done.delta)){b.oboError++}else{b.loadTime+=b.timers.t_done.delta}}BOOMR.addVar({"rt.si":b.sessionID,"rt.ss":b.sessionStart,"rt.sl":b.sessionLength,"rt.tt":b.loadTime,"rt.obo":b.oboError});b.setCookie();if(h=="unload"){BOOMR.addVar("rt.quit","");if(!b.onloadfired){BOOMR.addVar("rt.abld","")}if(!b.visiblefired){BOOMR.addVar("rt.ntvu","")}}b.timers={};b.complete=true;BOOMR.sendBeacon();return this},is_complete:function(){return b.complete}}}(window)); (function(){BOOMR=BOOMR||{};BOOMR.plugins=BOOMR.plugins||{};var a=[{name:"image-0.png",size:11483,timeout:1400},{name:"image-1.png",size:40658,timeout:1200},{name:"image-2.png",size:164897,timeout:1300},{name:"image-3.png",size:381756,timeout:1500},{name:"image-4.png",size:1234664,timeout:1200},{name:"image-5.png",size:4509613,timeout:1200},{name:"image-6.png",size:9084559,timeout:1200}];a.end=a.length;a.start=0;a.l={name:"image-l.gif",size:35,timeout:1000};var b={base_url:"",timeout:15000,nruns:5,latency_runs:10,user_ip:"",cookie_exp:7*86400,cookie:"BA",results:[],latencies:[],latency:null,runs_left:0,aborted:false,complete:false,running:false,ncmp:function(d,c){return(d-c)},iqr:function(f){var e=f.length-1,d,j,h,c=[],g;d=(f[Math.floor(e*0.25)]+f[Math.ceil(e*0.25)])/2;j=(f[Math.floor(e*0.75)]+f[Math.ceil(e*0.75)])/2;h=(j-d)*1.5;e++;for(g=0;gd-h){c.push(f[g])}}return c},calc_latency:function(){var f,d,g=0,e=0,h,k,c,l,j;j=this.iqr(this.latencies.sort(this.ncmp));d=j.length;BOOMR.debug(j,"bw");for(f=1;f=0&&k<3;w--){if(!o[w]){break}if(o[w].t===null){continue}s++;k++;y=a[w].size*1000/o[w].t;e.push(y);q=a[w].size*1000/(o[w].t-this.latency.mean);u.push(q);if(o[w].t3){e=this.iqr(e.sort(this.ncmp));u=this.iqr(u.sort(this.ncmp))}else{e=e.sort(this.ncmp);u=u.sort(this.ncmp)}BOOMR.debug("after iqr: "+e,"bw");BOOMR.debug("corrected: "+u,"bw");s=Math.max(e.length,u.length);for(x=0;x=a.end-1||typeof this.results[this.nruns-f].r[d+1]!=="undefined"){BOOMR.debug(this.results[this.nruns-f],"bw");if(f===this.nruns){a.start=d}this.defer(this.iterate)}else{this.load_img(d+1,f,this.img_loaded)}},finish:function(){if(!this.latency){this.latency=this.calc_latency()}var d=this.calc_bw(),c={bw:d.median_corrected,bw_err:parseFloat(d.stderr_corrected,10),lat:this.latency.mean,lat_err:parseFloat(this.latency.stderr,10),bw_time:Math.round(new Date().getTime()/1000)};BOOMR.addVar(c);if(d.debug_info.length>0){BOOMR.addVar("bw_debug",d.debug_info.join(","))}if(!isNaN(c.bw)&&c.bw>0){BOOMR.utils.setCookie(this.cookie,{ba:Math.round(c.bw),be:c.bw_err,l:c.lat,le:c.lat_err,ip:this.user_ip,t:c.bw_time},(this.user_ip?this.cookie_exp:0))}this.complete=true;BOOMR.sendBeacon();this.running=false},iterate:function(){if(this.aborted){return false}if(!this.runs_left){this.finish()}else{if(this.latency_runs){this.load_img("l",this.latency_runs--,this.lat_loaded)}else{this.results.push({r:[]});this.load_img(a.start,this.runs_left--,this.img_loaded)}}},setVarsFromCookie:function(j){var g=parseInt(j.ba,10),i=parseFloat(j.be,10),h=parseInt(j.l,10)||0,d=parseFloat(j.le,10)||0,c=j.ip.replace(/\.\d+$/,"0"),k=parseInt(j.t,10),f=this.user_ip.replace(/\.\d+$/,"0"),e=Math.round((new Date().getTime())/1000);if(c===f&&k>=e-this.cookie_exp&&g>0){this.complete=true;BOOMR.addVar({bw:g,lat:h,bw_err:i,lat_err:d});return true}return false}};BOOMR.plugins.BW={init:function(c){var d;if(b.complete){return this}BOOMR.utils.pluginConfig(b,c,"BW",["base_url","timeout","nruns","cookie","cookie_exp"]);if(c&&c.user_ip){b.user_ip=c.user_ip}if(!b.base_url){return this}a.start=0;b.runs_left=b.nruns;b.latency_runs=10;b.results=[];b.latencies=[];b.latency=null;b.complete=false;b.aborted=false;BOOMR.removeVar("ba","ba_err","lat","lat_err");d=BOOMR.utils.getSubCookies(BOOMR.utils.getCookie(b.cookie));if(!d||!d.ba||!b.setVarsFromCookie(d)){BOOMR.subscribe("page_ready",this.run,null,this);BOOMR.subscribe("page_unload",this.skip,null,this)}return this},run:function(){if(b.running||b.complete){return this}if(BOOMR.window.location.protocol==="https:"){BOOMR.info("HTTPS detected, skipping bandwidth test","bw");b.complete=true;BOOMR.sendBeacon();return this}b.running=true;setTimeout(this.abort,b.timeout);b.defer(b.iterate);return this},abort:function(){b.aborted=true;if(b.running){b.finish()}return this},skip:function(){this.abort();if(!b.complete){b.complete=true;BOOMR.sendBeacon()}return this},is_complete:function(){return b.complete}}}()); (function(){BOOMR=BOOMR||{};BOOMR.plugins=BOOMR.plugins||{};var a={complete:false,ipv6_url:"http://[2600:3c03::f03c:91ff:fe93:d155]/boomerang/images/image-l.gif",host_url:"http://ipv6.204st.us/boomerang/images/image-l.gif",timeout:1200,timers:{ipv6:{start:null,end:null},host:{start:null,end:null}},start:function(){this.load_img("ipv6","host")},load_img:function(){var c,e="?t="+(new Date().getTime())+Math.random(),h=0,d=null,f=this,g=Array.prototype.shift.call(arguments),b=arguments;if(!g||!(g in this.timers)){this.done();return false}if(!this[g+"_url"]){return this.load_img.apply(this,b)}c=new Image();c.onload=function(){f.timers[g].end=new Date().getTime();clearTimeout(h);c.onload=c.onerror=null;c=null;f.load_img.apply(f,b);f=b=null};d=function(){f.timers[g].supported=false;clearTimeout(h);c.onload=c.onerror=null;c=null;f.done();f=b=null};c.onerror=d;h=setTimeout(d,this.timeout);this.timers[g].start=new Date().getTime();c.src=this[g+"_url"]+e;return true},done:function(){if(this.complete){return}BOOMR.removeVar("ipv6_latency","ipv6_lookup");if(this.timers.ipv6.end!==null){BOOMR.addVar("ipv6_latency",this.timers.ipv6.end-this.timers.ipv6.start)}else{BOOMR.addVar("ipv6_latency","NA")}if(this.timers.host.end!==null){BOOMR.addVar("ipv6_lookup",this.timers.host.end-this.timers.host.start)}else{BOOMR.addVar("ipv6_lookup","NA")}this.complete=true;BOOMR.sendBeacon()},skip:function(){if(!this.complete){this.complete=true;BOOMR.sendBeacon()}return this}};BOOMR.plugins.IPv6={init:function(b){BOOMR.utils.pluginConfig(a,b,"IPv6",["ipv6_url","host_url","timeout"]);if(b&&b.wait){return this}if(!a.ipv6_url){BOOMR.warn("IPv6.ipv6_url is not set. Cannot run IPv6 test.","ipv6");a.complete=true;return this}if(!a.host_url){BOOMR.warn("IPv6.host_url is not set. Will skip hostname test.","ipv6")}if(BOOMR.window.location.protocol==="https:"){a.complete=true;return this}else{a.ipv6_url=a.ipv6_url.replace(/^https:/,"http:");a.host_url=a.host_url.replace(/^https:/,"http:")}BOOMR.subscribe("page_ready",a.start,null,a);BOOMR.subscribe("page_unload",a.skip,null,a);return this},is_complete:function(){return a.complete}}}()); (function(){BOOMR=BOOMR||{};BOOMR.plugins=BOOMR.plugins||{};var a={complete:false,base_url:"",t_start:null,t_dns:null,t_http:null,img:null,gen_url:"",start:function(){if(a.gen_url){return}var c=Math.random().toString(36),b=""+(new Date().getTime())+(Math.random());a.gen_url=a.base_url.replace(/\*/,c);a.img=new Image();a.img.onload=a.A_loaded;a.t_start=new Date().getTime();a.img.src=a.gen_url+"image-l.gif?t="+b},A_loaded:function(){var b;a.t_dns=new Date().getTime()-a.t_start;b=""+(new Date().getTime())+(Math.random());a.img=new Image();a.img.onload=a.B_loaded;a.t_start=new Date().getTime();a.img.src=a.gen_url+"image-l.gif?t="+b},B_loaded:function(){a.t_http=new Date().getTime()-a.t_start;a.img=null;a.done()},done:function(){var b=a.t_dns-a.t_http;BOOMR.addVar("dns.t",b);a.complete=true;a.gen_url="";BOOMR.sendBeacon()}};BOOMR.plugins.DNS={init:function(b){BOOMR.utils.pluginConfig(a,b,"DNS",["base_url"]);if(b&&b.wait){return this}if(!a.base_url){BOOMR.warn("DNS.base_url is not set. Cannot run DNS test.","dns");a.complete=true;return this}if(BOOMR.window.location.protocol==="https:"){a.complete=true;return this}BOOMR.subscribe("page_ready",a.start,null,a);return this},is_complete:function(){return a.complete}}}()); /* The navtiming, mobile and lognormal configurator plugins for Boomerang are Copyright (c) 2011-2012 Log-Normal, Inc. All rights reserved. Code licensed and distributed under the BSD License. */ (function(){BOOMR=BOOMR||{};BOOMR.plugins=BOOMR.plugins||{};var a={complete:false,done:function(){var b=BOOMR.window,f,c,e,d;if(this.complete){return this}f=b.performance||b.msPerformance||b.webkitPerformance||b.mozPerformance;if(f&&f.timing&&f.navigation){BOOMR.info("This user agent supports NavigationTiming.","nt");c=f.navigation;e=f.timing;d={nt_red_cnt:c.redirectCount,nt_nav_type:c.type,nt_nav_st:e.navigationStart,nt_red_st:e.redirectStart,nt_red_end:e.redirectEnd,nt_fet_st:e.fetchStart,nt_dns_st:e.domainLookupStart,nt_dns_end:e.domainLookupEnd,nt_con_st:e.connectStart,nt_con_end:e.connectEnd,nt_req_st:e.requestStart,nt_res_st:e.responseStart,nt_res_end:e.responseEnd,nt_domloading:e.domLoading,nt_domint:e.domInteractive,nt_domcontloaded_st:e.domContentLoadedEventStart,nt_domcontloaded_end:e.domContentLoadedEventEnd,nt_domcomp:e.domComplete,nt_load_st:e.loadEventStart,nt_load_end:e.loadEventEnd,nt_unload_st:e.unloadEventStart,nt_unload_end:e.unloadEventEnd};if(e.secureConnectionStart){d.nt_ssl_st=e.secureConnectionStart}if(e.msFirstPaint){d.nt_first_paint=e.msFirstPaint}BOOMR.addVar(d)}if(b.chrome&&b.chrome.loadTimes){e=b.chrome.loadTimes();if(e){d={nt_spdy:(e.wasFetchedViaSpdy?1:0),nt_first_paint:e.firstPaintTime};BOOMR.addVar(d)}}this.complete=true;BOOMR.sendBeacon()}};BOOMR.plugins.NavigationTiming={init:function(){BOOMR.subscribe("page_ready",a.done,null,a);BOOMR.subscribe("page_unload",a.done,null,a);return this},is_complete:function(){return a.complete}}}());BOOMR.addVar("mob.ct",(typeof navigator!=="undefined"&&navigator.connection)?navigator.connection.type:0);(function(){BOOMR=BOOMR||{};BOOMR.plugins=BOOMR.plugins||{};var a={complete:false,done:function(){if(this.complete){return this}var e=BOOMR.window,h=e.performance,j=e.console,i=e.document,g=(({}).toString.call(e.opera)=="[object Opera]"?i.querySelectorAll:i.getElementsByTagName),b;b=(h&&h.memory?h.memory:(j&&j.memory?j.memory:null));if(b){BOOMR.addVar({"mem.total":b.totalJSHeapSize,"mem.used":b.usedJSHeapSize})}BOOMR.addVar({"dom.ln":g.call(i,"*").length,"dom.sz":g.call(i,"html")[0].innerHTML.length,"dom.img":g.call(i,"img").length,"dom.script":g.call(i,"script").length});this.complete=true;BOOMR.sendBeacon()}};BOOMR.plugins.Memory={init:function(){BOOMR.subscribe("page_ready",a.done,null,a);return this},is_complete:function(){return a.complete}}}()); (function(f){var h=document,i="script",c=f.location.hostname,a=false,e=false,b;if(!c||c=="localhost"||c.match(/\.\d+$/)||c.match(/^mhtml/)||c.match(/^file:\//)){return}var d=function(){if(a){return}a=true;e=false;BOOMR.sendBeacon()};var g=function(){var k=h.getElementsByTagName(i)[0],j=h.createElement(i);b=new Date().getTime();j.src="//lognormal.net/boomerang/config.js?key=a05445f700b9619b1b3b0adbb6793cd78c16575d80454bdad4a5a44a&d="+encodeURIComponent(c)+"&t="+Math.round(b/(5*60*1000))+"&v="+BOOMR.version+(f==window?"":"&if=")+(a?"&r=":"");k.parentNode.insertBefore(j,k);k=j=null;if(a){setTimeout(g,5.5*60*1000)}};BOOMR.plugins.LOGN={init:function(){if(a){return this}if(e){BOOMR.setImmediate(d);setTimeout(g,5.5*60*1000);BOOMR.addVar("t_configjs",new Date().getTime()-b);if(typeof BOOMR_configt!="undefined"){BOOMR.addVar("t_configfb",BOOMR_configt-b);delete BOOMR_configt}return}e=true;if(f==window){BOOMR.subscribe("page_ready",g,null,null)}else{g()}return this},is_complete:function(){return a}}}(BOOMR.window));BOOMR.init({log:null,wait:true});BOOMR.t_end=new Date().getTime();