var $ci360; (function(h){var m=function(){function e(){}e._keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.-=";e.encode=function(a){for(var c="",b,d,g,f,r,q=0,n=e._utf8_encode(a);q>2,b=(b&3)<<4|a>>4,f=(a&15)<<2|d>>6,r=d&63,isNaN(a)?f=r=64:isNaN(d)&&(r=64),c=c+e._keyStr.charAt(g)+e._keyStr.charAt(b)+e._keyStr.charAt(f)+e._keyStr.charAt(r);return c};e._utf8_encode=function(a){a=a.replace(/\r\n/g,"\n");for(var c="", b=0;bd?c+=String.fromCharCode(d):(127d?c+=String.fromCharCode(d>>6|192):(c+=String.fromCharCode(d>>12|224),c+=String.fromCharCode(d>>6&63|128)),c+=String.fromCharCode(d&63|128))}return c};return e}();h.Base64=m})($ci360||($ci360={})); (function(h){var m=function(){function e(a,c,b,d,g,f){this.configService=a;this.persistenceService=c;this.networkService=b;this.paramService=d;this.spotService=g;this.util=f}e.prototype.send=function(a,c){var b=this;void 0===c&&(c=!0);this.persistenceService.registerActivity();var d;a.hasOwnProperty("eventName")&&(d=a.eventName);var g=new h.CI360EventObj(d);this.addFieldsToEvent(g,a);this.decorateEvent(g);if(a=this.paramService.validateEvent(g))this.paramService.obfuscateFields(g),g.paramMap.delete("obfuscateFields"), this.paramService.mapTransportNames(g),this.sendEvent(g,c),"identity"==d&&setTimeout(function(){return b.configService.retrieveDid()},e.RT_DID_TO);return a};e.prototype.addFieldsToEvent=function(a,c){"submit"===a.paramMap.get("eventName")&&this.paramService.submitEventHandling(a,c);"change"===a.paramMap.get("eventName")&&this.paramService.changeEventHandling(a,c);"cart"===a.paramMap.get("eventName")&&this.paramService.cartEventHandling(a,c);"load"===a.paramMap.get("eventName")&&this.networkService.setCachedLoadEvent(a); for(var b in c)c.hasOwnProperty(b)&&"items"!==b&&a.paramMap.set(b,c[b])};e.prototype.sendEvent=function(a,c){c&&a.paramMap.set("initiator","api");a.paramMap.set("event_guid",this.networkService.getRandomGuid());"impression_viewable"===a.paramMap.get("eventName")?a.paramMap.set("event","spot_viewable"):a.paramMap.set("event",a.paramMap.get("eventName"));a.paramMap.set("eventname",a.paramMap.get("eventName"));this.networkService.pushEvent(a)};e.prototype.decorateEvent=function(a){var c=this.configService.getConfig(); a.paramMap.set("tab_id",this.persistenceService.getTabId());a.paramMap.set("hb",this.persistenceService.getSidArray()[2]);var b={ccs:"ccs",csu:"csu",datahubId:"datahub_id",vid:"visitor",sid:"session"},d;for(d in b)a.paramMap.set(b[d],c[d]);"load"!=a.paramMap.get("eventName")&&a.paramMap.set("load_id",this.networkService.getLoadId());this.spotService.decorateEvent(a);this.paramService.addDefaultFields(a)};e.RT_DID_TO=1500;return e}();h.EventService=m})($ci360||($ci360={})); (function(h){var m=function(){function e(){this.readyCallbacks=[];this.isReady=!1;this.initError=null;this.initStarted=!1;this.services=[];this.efname="ci360";this.lazyInit=!1}e.prototype.updateExposedFunction=function(){var a=this,c=this.ef&&this.ef.q,b=window[this.efname]=function(){for(var b=[],c=0;ch.indexOf(f.ciParam)&&(b.href=f.trace(h))}}}catch(z){}};this.trace=function(a){return f.insertQueryParam(a,f.ciParam+"="+f.cdtToken())};this.insertQueryParam=function(a,b){a=a.split("#"); var c=a[0];a=a.slice(1);var d=c.split("?");c=d[0];d=d[1];b=(d=void 0===d?"":d)?"".concat(d,"&").concat(b):b;return"".concat(c,"?").concat(b).concat(0(new Date).getTime()&&(screen.height||"1")+""+(screen.width||"1")==b[5]&&b[0]&&b[1]||4==b.length&&parseInt(b[3])+3E5>(new Date).getTime())&&{vid:b[0],sid:b[1],hb:b[2],ref:4==b.length?"1":"0"}||null}catch(n){return null}};this.cdtInfoPage=function(){var a=f.util.getUriInfo().cdt;return a&&f.cdtInfo(a)};this.updateNetworkService=!1;this.networkServiceObserver=function(){f.updateNetworkService=!0};this.refreshConfig=function(a,b){f.networkService.setFirstLoad(!0);f.networkService.call(f.buildConfigURL(!0), function(c){f.configLoadCallback(c);b();a()})};this.getAttributeStore=function(a){if(a||void 0===f.cachedAttributeStore){a={};a.browser_language=navigator.language;var b=!1;if(navigator.plugins&&navigator.plugins.length){var c=navigator.plugins["Shockwave Flash"];c||(c=navigator.plugins["Shockwave Flash 2.0"]);c&&(b=!0)}a.flash_enabled=b.toString();a.character_set=document.characterSet;a.event_channel="web";a.java_enabled=navigator.javaEnabled().toString();a.platform=navigator.platform;a.protocol= location.protocol.substr(0,location.protocol.length-1);return f.cachedAttributeStore=a}return f.cachedAttributeStore};this.handleConfig=function(a){var b=f.networkService;f.config.sid=a.sid||"";f.config.vid=a.vid||"";f.config.timestamp=a.timestamp||"";f.config.isNewSid=a.isNewSid||!1;f.config.isNewVid=a.isNewVid||!1;f.config.datahubId=a.datahubId||"";f.config.loadId=a.loadId||"";b.setLoadId(f.config.loadId);f.config.csu=a.csu||"";f.config.sld=a.sld||"";f.config.e=a.e;f.config.f=a.f;f.persistenceService.setSld(f.config.sld); b.setSessionId(f.config.sid);b.setClientBaseTimestamp((new Date).getTime());b.setServerTimestamp(parseInt(f.config.timestamp,10));f.config.s=a.s;f.config.c=a.c;f.config.t=a.t;f.config.l=a.l};this.getLoadId=function(){return f.networkService.getLoadId()};this.setCookies=function(a){var b=f.persistenceService;b.setVid(a.vid);b.setSid(a.sid);b.setDid(a.datahubId)};this.configLoadCallback=function(a){a=JSON.parse(a);f.handleConfig(a);f.setCookies(a);f.traceDomains=(f.traceDomains||[]).concat(f.config.t&& f.config.t.d||[]);0v;++v)b[v][0]=c.getInt32()>>>0,b[v][1]=c.getInt32()>>>0;for(;80>v;++v)k=b[v-2],l=k[0],k=k[1],d=((l>>>19|k<<13)^(k>>>29|l<<3)^l>>>6)>>>0,g=((l<<13|k>>>19)^(k<<3|l>>>29)^(l<<26|k>>>6))>>>0,k=b[v-15],l=k[0],k=k[1],f=((l>>>1|k<<31)^(l>>>8|k<<24)^l>>>7)>>>0,e=((l<<31|k>>>1)^(l<<24|k>>>8)^(l<<25|k>>>7))>>>0,l=b[v-7],t=b[v-16],k=g+l[1]+e+t[1],b[v][0]=d+l[0]+f+t[0]+(k/4294967296>>>0)>>>0,b[v][1]=k>>>0;l=a[0][0];t=a[0][1];h=a[1][0];m=a[1][1];w=a[2][0];G= a[2][1];O=a[3][0];P=a[3][1];A=a[4][0];B=a[4][1];L=a[5][0];M=a[5][1];I=a[6][0];J=a[6][1];Q=a[7][0];R=a[7][1];for(v=0;80>v;++v)d=((A>>>14|B<<18)^(A>>>18|B<<14)^(B>>>9|A<<23))>>>0,k=((A<<18|B>>>14)^(A<<14|B>>>18)^(B<<23|A>>>9))>>>0,g=(I^A&(L^I))>>>0,n=(J^B&(M^J))>>>0,f=((l>>>28|t<<4)^(t>>>2|l<<30)^(t>>>7|l<<25))>>>0,e=((l<<4|t>>>28)^(t<<30|l>>>2)^(t<<25|l>>>7))>>>0,r=(l&h|w&(l^h))>>>0,u=(t&m|G&(t^m))>>>0,k=R+k+n+q[v][1]+b[v][1],d=Q+d+g+q[v][0]+b[v][0]+(k/4294967296>>>0)>>>0,g=k>>>0,k=e+u,f=f+r+(k/4294967296>>> 0)>>>0,e=k>>>0,Q=I,R=J,I=L,J=M,L=A,M=B,k=P+g,A=O+d+(k/4294967296>>>0)>>>0,B=k>>>0,O=w,P=G,w=h,G=m,h=l,m=t,k=g+e,l=d+f+(k/4294967296>>>0)>>>0,t=k>>>0;k=a[0][1]+t;a[0][0]=a[0][0]+l+(k/4294967296>>>0)>>>0;a[0][1]=k>>>0;k=a[1][1]+m;a[1][0]=a[1][0]+h+(k/4294967296>>>0)>>>0;a[1][1]=k>>>0;k=a[2][1]+G;a[2][0]=a[2][0]+w+(k/4294967296>>>0)>>>0;a[2][1]=k>>>0;k=a[3][1]+P;a[3][0]=a[3][0]+O+(k/4294967296>>>0)>>>0;a[3][1]=k>>>0;k=a[4][1]+B;a[4][0]=a[4][0]+A+(k/4294967296>>>0)>>>0;a[4][1]=k>>>0;k=a[5][1]+M;a[5][0]= a[5][0]+L+(k/4294967296>>>0)>>>0;a[5][1]=k>>>0;k=a[6][1]+J;a[6][0]=a[6][0]+I+(k/4294967296>>>0)>>>0;a[6][1]=k>>>0;k=a[7][1]+R;a[7][0]=a[7][0]+Q+(k/4294967296>>>0)>>>0;a[7][1]=k>>>0;S-=128}}var b=b||{};b.md=b.md||{};b.md.algorithms=b.md.algorithms||{};var d=b.sha512=b.sha512||{};b.util=b.util||{};b.util.fillString=function(a,b){for(var c="";0>>=1,0=this.length()};b.util.ByteStringBuffer.prototype.putBytes=function(a){this.data+=a;this._optimizeConstructedString(a.length);return this};b.util.ByteStringBuffer.prototype.putInt32=function(a){return this.putBytes(String.fromCharCode(a>>24&255)+String.fromCharCode(a>>16&255)+String.fromCharCode(a>>8&255)+String.fromCharCode(a&255))};b.util.ByteStringBuffer.prototype.putInt= function(a,b){if(8!==b&&16!==b&&24!==b&&32!==b)throw Error("Only 8, 16, 24, or 32 bits supported: "+b);var c="";do b-=8,c+=String.fromCharCode(a>>b&255);while(0c&&(a+="0");a+=c.toString(16)}return a};b.util.ByteStringBuffer.prototype.toString=function(){return b.util.decodeUtf8(this.bytes())};b.md.sha512=b.md.algorithms.sha512=d;var g=b.sha384=b.sha512.sha384=b.sha512.sha384||{};g.create=function(){return d.create("SHA-384")};b.md.sha384=b.md.algorithms.sha384=g;b.sha512.sha256=b.sha512.sha256||{create:function(){return d.create("SHA-512/256")}};b.md["sha512/256"]=b.md.algorithms["sha512/256"]=b.sha512.sha256;b.sha512.sha224=b.sha512.sha224||{create:function(){return d.create("SHA-512/224")}}; b.md["sha512/224"]=b.md.algorithms["sha512/224"]=b.sha512.sha224;d.create=function(a){e||(f=String.fromCharCode(128),f+=b.util.fillString(String.fromCharCode(0),128),q=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103, 633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823], [1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815, 1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468], [1816402316,1246189591]],n={"SHA-512":[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],"SHA-384":[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],"SHA-512/256":[[573645204,4230739756],[2673172387,3360449730],[596883563, 1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],"SHA-512/224":[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]]},e=!0);"undefined"===typeof a&&(a="SHA-512");if(!(a in n))throw Error("Invalid SHA-512 algorithm: "+a);for(var d=n[a],g=null,k=b.util.createBuffer(),r=Array(80),h=0;80>h;++h)r[h]= Array(2);h=64;switch(a){case "SHA-384":h=48;break;case "SHA-512/256":h=32;break;case "SHA-512/224":h=28}var p={algorithm:a.replace("-","").toLowerCase(),blockLength:128,digestLength:h,messageLength:0,fullMessageLength:null,messageLengthSize:16,messageLength128:null,update:null,digest:null,start:function(){p.messageLength=0;p.fullMessageLength=p.messageLength128=[];for(var a=p.messageLengthSize/4,c=0;c>>0,d>>>0];for(var f=p.fullMessageLength.length-1;0<=f;--f)p.fullMessageLength[f]+=d[1],d[1]=d[0]+(p.fullMessageLength[f]/4294967296>>>0),p.fullMessageLength[f]>>>=0,d[0]=d[1]/4294967296>>>0;k.putBytes(a);c(g,r,k);(2048>>0,q+=n,d.putInt32(q>>>0),q=e>>>0;d.putInt32(q);e=Array(g.length);for(l=0;ld.status?d.responseText?(b(d.responseText),c()):c(Error("Response is Empty.")):d.readyState===XMLHttpRequest.DONE&&503===d.status&&c(Error("(503) Service is not available."))};d.withCredentials=!0;d.open(e,a);q&&d.setRequestHeader("Content-Type","application/x-www-form-urlencoded;"); d.send(q||null)};this.resendEvent=function(){setTimeout(function(){b.resendCounte.MAX_URL_SIZE&&(n.set(p,r),u.push(p),k=0,r=[],p=b);r.push("".concat(l.spotName));C="";y=void 0;a.attributes&&(y=a.attributes[l.spotName]);if(y)for(var w in y)"product_id"===w||"product_sku"===w?(x=y[w],null!=x&&x.trim&&x.trim(),w+="_key",C+="".concat(w,"=").concat(x,"/")):null!=y[w]&&d.containsAttribute(l.spotAttributes,w)&&(x=y[w],x.toString&&(C+="".concat(w,"=").concat(h.Base64.encode(x.toString().trim()).replace(/=/g, ""),"/")));p+="/b".concat(++k,"/spot_id=").concat(l.spotId,"/").concat(C,"viewid=").concat(H.get(l.spotId))}r.length&&(n.set(p,r),u.push(p));q(null,u,n,c)}else q(b,null,null,null)})};this.configService=a;this.networkService=c;this.util=b}e.prototype.init=function(a){this.config=this.configService.getConfig();a()};e.prototype.isConfigValid=function(){return!(!this.config||!this.config.sdu)};e.prototype.handleCreativesUrlResponse=function(a,c,b){return function(){if(a.readyState===XMLHttpRequest.DONE&& 200===a.status){var d=[];if(a.responseText)try{d=JSON.parse(a.responseText)}catch(g){b(Error("Creatives response could not be parsed: ".concat(g)),c,null)}b(null,c,d)}else a.readyState===XMLHttpRequest.DONE&&b(Error("Creatives could not be retrieved: ".concat(a.statusText)),c,null)}};e.prototype.getCreatives=function(a,c,b){var d=this,e=new Map;this.getCreativesUrls(a,c,e,function(c,g,h){if(c)b(c,null,null);else{var f=new Map,k=0,r=!0;c=function(c,g,m){if(!c&&r){k++;var n=c=0;g=h.get(g);for(var q= 0;q--a.retries?c(null,null):setTimeout(function(a,c){b.getPersonalizedCreative(a,c)},a.delay,a,c)}):0===e.size?c(Error("No creative found"),null):1/,"").replace(//,"")},b=a.match(/data-creativeID="([A-Za-z0-9-]+)"/i);if(b)b[1]&&(c.creativeId=b[1]);else if(b=a.indexOf('data-creativeID="'),-1")&&(a=a.slice(1).trim());if(!this.isSelectorValid(a))return b;null!=c&&(d=document); null!=d.matches&&d.matches(a)&&(b=b.concat(d));a=d.querySelectorAll(a);if(null!=a&&0=c||0>b||p&&a>=y}function f(){var a=Date.now();if(e(a))return h(a);var b=a-D;a=c-(a-F);t=setTimeout(f,p?Math.min(a,y-b):a)}function h(a){t=void 0;if(K&&n)return d(a);n=k=void 0;return u}function m(){for(var a=[],b=0;b