From 7f28f2b77ee718542f31ee25f7ab17be0992028f Mon Sep 17 00:00:00 2001 From: Thomas Steur Date: Tue, 7 Jul 2020 13:13:12 +1200 Subject: Implement cookie consent (#16178) * implement cookie consent * rebuilt piwik.js * fix documentation --- matomo.js | 79 ++++++++++++++++++++++++++++++++------------------------------- 1 file changed, 40 insertions(+), 39 deletions(-) (limited to 'matomo.js') diff --git a/matomo.js b/matomo.js index 4e61b790b4..7642308816 100644 --- a/matomo.js +++ b/matomo.js @@ -38,44 +38,45 @@ if(!aq){aq="/"}}return aq},findMediaUrlInNode:function(at){if(!at){return}var aq if(aq&&au.offsetTop){aq=(au.offsetTop+at.height)>0}var ap=ar.clientWidth;if(T.innerWidth&&ap>T.innerWidth){ap=T.innerWidth}var ao=ar.clientHeight;if(T.innerHeight&&ao>T.innerHeight){ao=T.innerHeight}return((at.bottom>0||aq)&&at.right>0&&at.left=0){dm=dm.slice(0,dl)}dl=dm.lastIndexOf("/");if(dl!==dm.length-1){dm=dm.slice(0,dl+1)}return dm+dk}function cG(dm,dk){var dl;dm=String(dm).toLowerCase();dk=String(dk).toLowerCase();if(dm===dk){return true}if(dk.slice(0,1)==="."){if(dm===dk.slice(1)){return true}dl=dm.length-dk.length;if((dl>0)&&(dm.slice(dl)===dk)){return true}}return false}function cl(dk){var dl=document.createElement("a"); -if(dk.indexOf("//")!==0&&dk.indexOf("http")!==0){if(dk.indexOf("*")===0){dk=dk.substr(1)}if(dk.indexOf(".")===0){dk=dk.substr(1)}dk="http://"+dk}dl.href=v.toAbsoluteUrl(dk);if(dl.pathname){return dl.pathname}return""}function a4(dl,dk){if(!aj(dk,"/")){dk="/"+dk}if(!aj(dl,"/")){dl="/"+dl}var dm=(dk==="/"||dk==="/*");if(dm){return true}if(dl===dk){return true}dk=String(dk).toLowerCase();dl=String(dl).toLowerCase();if(R(dk,"*")){dk=dk.slice(0,-1);dm=(!dk||dk==="/");if(dm){return true}if(dl===dk){return true}return dl.indexOf(dk)===0}if(!R(dl,"/")){dl+="/"}if(!R(dk,"/")){dk+="/"}return dl.indexOf(dk)===0}function ar(dp,dr){var dl,dk,dm,dn,dq;for(dl=0;dl0)&&(dn.slice(dm)===dk)){return true}}}return false}function cq(dk,dm){dk=dk.replace("send_image=0","send_image=1"); -var dl=new Image(1,1);dl.onload=function(){E=0;if(typeof dm==="function"){dm({request:dk,trackerUrl:aE,success:true})}};dl.onerror=function(){if(typeof dm==="function"){dm({request:dk,trackerUrl:aE,success:false})}};dl.src=aE+(aE.indexOf("?")<0?"?":"&")+dk}function cD(dk){if(db==="POST"){return true}return dk&&(dk.length>2000||dk.indexOf('{"requests"')===0)}function aK(){return"object"===typeof h&&"function"===typeof h.sendBeacon&&"function"===typeof Blob}function a7(dp,ds,dr){var dm=aK();if(!dm){return false}var dn={type:"application/x-www-form-urlencoded; charset=UTF-8"};var dt=false;var dl=aE;try{var dk=new Blob([dp],dn);if(dr&&!cD(dp)){dk=new Blob([],dn);dl=dl+(dl.indexOf("?")<0?"?":"&")+dp}dt=h.sendBeacon(dl,dk)}catch(dq){return false}if(dt&&typeof ds==="function"){ds({request:dp,trackerUrl:aE,success:true,isSendBeacon:true})}return dt}function c5(dl,dm,dk){if(!J(dk)||null===dk){dk=true}if(m&&a7(dl,dm,dk)){return}setTimeout(function(){if(m&&a7(dl,dm,dk)){return}var dq;try{var dp=T.XMLHttpRequest?new T.XMLHttpRequest():T.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null; -dp.open("POST",aE,true);dp.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var dr=m&&a7(dl,dm,dk);if(!dr&&dk){cq(dl,dm)}else{if(typeof dm==="function"){dm({request:dl,trackerUrl:aE,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dm==="function")){dm({request:dl,trackerUrl:aE,success:true,xhr:this})}}};dp.setRequestHeader("Content-Type",cx);dp.withCredentials=true;dp.send(dl)}catch(dn){dq=m&&a7(dl,dm,dk);if(!dq&&dk){cq(dl,dm)}else{if(typeof dm==="function"){dm({request:dl,trackerUrl:aE,success:false})}}}},50)}function cg(dl){var dk=new Date();var dm=dk.getTime()+dl;if(!r||dm>r){r=dm}}function co(dk){if(cc||!a6||!bB){return}cc=setTimeout(function dl(){cc=null;if(!bd){bd=(!G.hasFocus||G.hasFocus())}if(!bd){co(a6);return}if(bR()){return}var dm=new Date(),dn=a6-(dm.getTime()-cZ);dn=Math.min(a6,dn);co(dn)},dk||a6)}function bK(){if(!cc){return}clearTimeout(cc);cc=null}function bb(){bd=true;cS=new Date().getTime()}function de(){var dk=new Date().getTime(); -return !cS||(dk-cS)>a6}function az(){if(de()){bR()}bK()}function dh(){if(aO||!a6){return}aO=true;an(T,"focus",bb);an(T,"blur",az);ab++;e.addPlugin("HeartBeat"+ab,{unload:function(){if(aO&&de()){bR()}}})}function cC(dp){var dl=new Date();var dk=dl.getTime();cZ=dk;if(cB&&dk=dk.length){return[dk]}var dl=0;var dm=dk.length;var dn=[];for(dl;dl=dl&&dk<=(dl+a0)){return true}}return false -}function di(dk){if(!cN){return""}var dp=f(dk,av);if(!dp){return""}dp=String(dp);var dm=new RegExp("^[a-zA-Z0-9]+$");if(dp.length===32&&dm.test(dp)){var dl=dp.substr(16,32);if(c3(dl)){var dn=dp.substr(0,16);return dn}}return""}function cO(){if(!bO){bO=di(bN)}var dm=new Date(),dk=Math.round(dm.getTime()/1000),dl=aU("id"),dq=aD(dl),dp,dn;if(dq){dp=dq.split(".");dp.unshift("0");if(bO.length){dp[1]=bO}return dp}if(bO.length){dn=bO}else{if("0"===b5()){dn=""}else{dn=cR()}}dp=["1",dn,dk,0,dk,"",""];return dp}function aZ(){var ds=cO(),dn=ds[0],dp=ds[1],dl=ds[2],dk=ds[3],dq=ds[4],dm=ds[5];if(!J(ds[6])){ds[6]=""}var dr=ds[6];return{newVisitor:dn,uuid:dp,createTs:dl,visitCount:dk,currentVisitTs:dq,lastVisitTs:dm,lastEcommerceOrderTs:dr}}function aH(){var dn=new Date(),dl=dn.getTime(),dp=aZ().createTs;var dk=parseInt(dp,10);var dm=(dk*1000)+cJ-dl;return dm}function aM(dk){if(!b6){return}var dm=new Date(),dl=Math.round(dm.getTime()/1000);if(!J(dk)){dk=aZ()}var dn=dk.uuid+"."+dk.createTs+"."+dk.visitCount+"."+dl+"."+dk.lastVisitTs+"."+dk.lastEcommerceOrderTs; -df(aU("id"),dn,aH(),bp,cY,bS)}function bM(){var dk=aD(aU("ref"));if(dk.length){try{dk=JSON_PIWIK.parse(dk);if(W(dk)){return dk}}catch(dl){}}return["","",0,""]}function bw(dl){var dk="testvalue";df("test",dk,10000,null,dl);if(aD("test")===dk){bY("test",null,dl);return true}return false}function aF(){var dl=bl;bl=false;var dk,dm;for(dk=0;dkdK){dB.visitCount++;dB.lastVisitTs=dB.currentVisitTs}if(!bv||!dt.length){for(dH in cr){if(Object.prototype.hasOwnProperty.call(cr,dH)){dt=f(dL,cr[dH]);if(dt.length){break}}}for(dH in bG){if(Object.prototype.hasOwnProperty.call(bG,dH)){dk=f(dL,bG[dH]);if(dk.length){break}}}}dP=d(bn);dw=dG.length?d(dG):"";if(dP.length&&!aW(dP)&&(!bv||!dw.length||aW(dw))){dG=bn}if(dG.length||dt.length){ds=dv;dF=[dt,dk,ds,b2(dG.slice(0,dp))];df(dC,JSON_PIWIK.stringify(dF),c6,bp,cY)}}dm+="&idsite="+b6+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+dl.getHours()+"&m="+dl.getMinutes()+"&s="+dl.getSeconds()+"&url="+t(b2(dL))+(bn.length?"&urlref="+t(b2(bn)):"")+((by&&by.length)?"&uid="+t(by):"")+"&_id="+dB.uuid+"&_idts="+dB.createTs+"&_idvc="+dB.visitCount+"&_idn="+dB.newVisitor+(dt.length?"&_rcn="+t(dt):"")+(dk.length?"&_rck="+t(dk):"")+"&_refts="+ds+"&_viewts="+dB.lastVisitTs+(String(dB.lastEcommerceOrderTs).length?"&_ects="+dB.lastEcommerceOrderTs:"")+(String(dG).length?"&_ref="+t(b2(dG.slice(0,dp))):"")+(dy?"&cs="+t(dy):"")+"&send_image=0"; -var dO=cH();for(dH in dO){if(Object.prototype.hasOwnProperty.call(dO,dH)){dm+="&"+dH+"="+dO[dH]}}var dN=[];if(dI){for(dH in dI){if(Object.prototype.hasOwnProperty.call(dI,dH)&&/^dimension\d+$/.test(dH)){var dr=dH.replace("dimension","");dN.push(parseInt(dr,10));dN.push(String(dr));dm+="&"+dH+"="+t(dI[dH]);delete dI[dH]}}}if(dI&&B(dI)){dI=null}for(dH in bm){if(Object.prototype.hasOwnProperty.call(bm,dH)){var dx=(-1===M(dN,dH));if(dx){dm+="&dimension"+dH+"="+t(bm[dH])}}}if(dI){dm+="&data="+t(JSON_PIWIK.stringify(dI))}else{if(ao){dm+="&data="+t(JSON_PIWIK.stringify(ao))}}function du(dQ,dR){var dS=JSON_PIWIK.stringify(dQ);if(dS.length>2){return"&"+dR+"="+t(dS)}return""}var dM=dj(bW);var dD=dj(cm);dm+=du(dM,"cvar");dm+=du(dD,"e_cvar");if(aR){dm+=du(aR,"_cvar");for(dH in dE){if(Object.prototype.hasOwnProperty.call(dE,dH)){if(aR[dH][0]===""||aR[dH][1]===""){delete aR[dH]}}}if(bQ){df(dz,JSON_PIWIK.stringify(aR),cp,bp,cY)}}if(a3){if(cn){dm+=">_ms="+cn}else{if(i&&i.timing&&i.timing.requestStart&&i.timing.responseEnd){dm+=">_ms="+(i.timing.responseEnd-i.timing.requestStart) -}}}if(aL){dm+="&pv_id="+aL}dB.lastEcommerceOrderTs=J(dn)&&String(dn).length?dn:dB.lastEcommerceOrderTs;aM(dB);cd();dm+=ac(dJ,{tracker:bI,request:dm});if(c0.length){dm+="&"+c0}if(A(cb)){dm=cb(dm)}return dm}bR=function a8(){var dk=new Date();dk=dk.getTime();if(!cZ){return false}if((cZ+(1000*c8))<=dk){return false}if(cZ+a6<=dk){bI.ping();return true}return false};function bq(dn,dm,dt,dp,dk,dw){var dr="idgoal=0",ds,dl=new Date(),du=[],dv,dq=String(dn).length;if(dq){dr+="&ec_id="+t(dn);ds=Math.round(dl.getTime()/1000)}dr+="&revenue="+dm;if(String(dt).length){dr+="&ec_st="+dt}if(String(dp).length){dr+="&ec_tx="+dp}if(String(dk).length){dr+="&ec_sh="+dk}if(String(dw).length){dr+="&ec_dt="+dw}if(c1){for(dv in c1){if(Object.prototype.hasOwnProperty.call(c1,dv)){if(!J(c1[dv][1])){c1[dv][1]=""}if(!J(c1[dv][2])){c1[dv][2]=""}if(!J(c1[dv][3])||String(c1[dv][3]).length===0){c1[dv][3]=0}if(!J(c1[dv][4])||String(c1[dv][4]).length===0){c1[dv][4]=1}du.push(c1[dv])}}dr+="&ec_items="+t(JSON_PIWIK.stringify(du)) -}dr=ct(dr,ao,"ecommerce",ds);bF(dr,bJ);if(dq){c1={}}}function bZ(dk,dp,dn,dm,dl,dq){if(String(dk).length&&J(dp)){bq(dk,dp,dn,dm,dl,dq)}}function bs(dk){if(J(dk)){bq("",dk,"","","","")}}function b0(dl,dn,dm){aL=bh();var dk=ct("action_name="+t(al(dl||bj)),dn,"log");bF(dk,bJ,dm)}function a1(dm,dl){var dn,dk="(^| )(piwik[_-]"+dl;if(dm){for(dn=0;dn0){dp=parseInt(dp,10);ds(dp)}})}var bC={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var dk=this.requests;this.requests=[];if(dk.length===1){bF(dk[0],bJ)}else{dg(dk,bJ)}},canQueue:function(){return !m&&this.enabled},pushMultiple:function(dl){if(!this.canQueue()){dg(dl,bJ);return}var dk;for(dk=0;dk0){if(!J(dl)){dl=""}if(!w(dl)){dl=String(dl)}bm[dk]=dl}};this.getCustomDimension=function(dk){dk=parseInt(dk,10);if(dk>0&&Object.prototype.hasOwnProperty.call(bm,dk)){return bm[dk]}};this.deleteCustomDimension=function(dk){dk=parseInt(dk,10);if(dk>0){delete bm[dk]}};this.setCustomVariable=function(dl,dk,dp,dm){var dn;if(!J(dm)){dm="visit"}if(!J(dk)){return}if(!J(dp)){dp=""}if(dl>0){dk=!w(dk)?String(dk):dk;dp=!w(dp)?String(dp):dp;dn=[dk.slice(0,bt),dp.slice(0,bt)];if(dm==="visit"||dm===2){cE();aR[dl]=dn}else{if(dm==="page"||dm===3){bW[dl]=dn}else{if(dm==="event"){cm[dl]=dn}}}}};this.getCustomVariable=function(dl,dm){var dk; -if(!J(dm)){dm="visit"}if(dm==="page"||dm===3){dk=bW[dl]}else{if(dm==="event"){dk=cm[dl]}else{if(dm==="visit"||dm===2){cE();dk=aR[dl]}}}if(!J(dk)||(dk&&dk[0]==="")){return false}return dk};this.deleteCustomVariable=function(dk,dl){if(this.getCustomVariable(dk,dl)){this.setCustomVariable(dk,"","",dl)}};this.deleteCustomVariables=function(dk){if(dk==="page"||dk===3){bW={}}else{if(dk==="event"){cm={}}else{if(dk==="visit"||dk===2){aR={}}}}};this.storeCustomVariablesInCookie=function(){bQ=true};this.setLinkTrackingTimer=function(dk){bJ=dk};this.getLinkTrackingTimer=function(){return bJ};this.setDownloadExtensions=function(dk){if(w(dk)){dk=dk.split("|")}c7=dk};this.addDownloadExtensions=function(dl){var dk;if(w(dl)){dl=dl.split("|")}for(dk=0;dk1&&ap!=="addTracker"){ak("The method "+ap+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Piwik trackers documentation: https://developer.piwik.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}av[ap]++}}}}return au}var C=["addTracker","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","enableLinkTracking","enableCookies","requireConsent","setConsentGiven"]; -function ad(ao,aq){var ap=new Q(ao,aq);I.push(ap);_paq=c(_paq,C);for(E=0;E<_paq.length;E++){if(_paq[E]){af(_paq[E])}}_paq=new H();e.trigger("TrackerAdded",[ap]);return ap}an(T,"beforeunload",ai,false);an(T,"message",function(au){if(!au||!au.origin){return}var aw,ar,ap;var ax=d(au.origin);var at=e.getAsyncTrackers();for(ar=0;ar=0){dn=dn.slice(0,dm)}dm=dn.lastIndexOf("/");if(dm!==dn.length-1){dn=dn.slice(0,dm+1)}return dn+dl}function cH(dn,dl){var dm;dn=String(dn).toLowerCase();dl=String(dl).toLowerCase();if(dn===dl){return true}if(dl.slice(0,1)==="."){if(dn===dl.slice(1)){return true}dm=dn.length-dl.length;if((dm>0)&&(dn.slice(dm)===dl)){return true}}return false}function cl(dl){var dm=document.createElement("a"); +if(dl.indexOf("//")!==0&&dl.indexOf("http")!==0){if(dl.indexOf("*")===0){dl=dl.substr(1)}if(dl.indexOf(".")===0){dl=dl.substr(1)}dl="http://"+dl}dm.href=v.toAbsoluteUrl(dl);if(dm.pathname){return dm.pathname}return""}function a4(dm,dl){if(!aj(dl,"/")){dl="/"+dl}if(!aj(dm,"/")){dm="/"+dm}var dn=(dl==="/"||dl==="/*");if(dn){return true}if(dm===dl){return true}dl=String(dl).toLowerCase();dm=String(dm).toLowerCase();if(R(dl,"*")){dl=dl.slice(0,-1);dn=(!dl||dl==="/");if(dn){return true}if(dm===dl){return true}return dm.indexOf(dl)===0}if(!R(dm,"/")){dm+="/"}if(!R(dl,"/")){dl+="/"}return dm.indexOf(dl)===0}function ar(dq,ds){var dm,dl,dn,dp,dr;for(dm=0;dm0)&&(dp.slice(dn)===dl)){return true}}}return false}function cq(dl,dn){dl=dl.replace("send_image=0","send_image=1"); +var dm=new Image(1,1);dm.onload=function(){E=0;if(typeof dn==="function"){dn({request:dl,trackerUrl:aE,success:true})}};dm.onerror=function(){if(typeof dn==="function"){dn({request:dl,trackerUrl:aE,success:false})}};dm.src=aE+(aE.indexOf("?")<0?"?":"&")+dl}function cE(dl){if(dc==="POST"){return true}return dl&&(dl.length>2000||dl.indexOf('{"requests"')===0)}function aK(){return"object"===typeof h&&"function"===typeof h.sendBeacon&&"function"===typeof Blob}function a7(dq,dt,ds){var dn=aK();if(!dn){return false}var dp={type:"application/x-www-form-urlencoded; charset=UTF-8"};var du=false;var dm=aE;try{var dl=new Blob([dq],dp);if(ds&&!cE(dq)){dl=new Blob([],dp);dm=dm+(dm.indexOf("?")<0?"?":"&")+dq}du=h.sendBeacon(dm,dl)}catch(dr){return false}if(du&&typeof dt==="function"){dt({request:dq,trackerUrl:aE,success:true,isSendBeacon:true})}return du}function c6(dm,dn,dl){if(!J(dl)||null===dl){dl=true}if(m&&a7(dm,dn,dl)){return}setTimeout(function(){if(m&&a7(dm,dn,dl)){return}var dr;try{var dq=T.XMLHttpRequest?new T.XMLHttpRequest():T.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):null; +dq.open("POST",aE,true);dq.onreadystatechange=function(){if(this.readyState===4&&!(this.status>=200&&this.status<300)){var ds=m&&a7(dm,dn,dl);if(!ds&&dl){cq(dm,dn)}else{if(typeof dn==="function"){dn({request:dm,trackerUrl:aE,success:false,xhr:this})}}}else{if(this.readyState===4&&(typeof dn==="function")){dn({request:dm,trackerUrl:aE,success:true,xhr:this})}}};dq.setRequestHeader("Content-Type",cx);dq.withCredentials=true;dq.send(dm)}catch(dp){dr=m&&a7(dm,dn,dl);if(!dr&&dl){cq(dm,dn)}else{if(typeof dn==="function"){dn({request:dm,trackerUrl:aE,success:false})}}}},50)}function cg(dm){var dl=new Date();var dn=dl.getTime()+dm;if(!r||dn>r){r=dn}}function co(dl){if(cc||!a6||!bB){return}cc=setTimeout(function dm(){cc=null;if(!bd){bd=(!G.hasFocus||G.hasFocus())}if(!bd){co(a6);return}if(bR()){return}var dn=new Date(),dp=a6-(dn.getTime()-c0);dp=Math.min(a6,dp);co(dp)},dl||a6)}function bK(){if(!cc){return}clearTimeout(cc);cc=null}function bb(){bd=true;cT=new Date().getTime()}function df(){var dl=new Date().getTime(); +return !cT||(dl-cT)>a6}function az(){if(df()){bR()}bK()}function di(){if(aO||!a6){return}aO=true;an(T,"focus",bb);an(T,"blur",az);ab++;e.addPlugin("HeartBeat"+ab,{unload:function(){if(aO&&df()){bR()}}})}function cC(dq){var dm=new Date();var dl=dm.getTime();c0=dl;if(cB&&dl=dl.length){return[dl]}var dm=0;var dn=dl.length;var dp=[];for(dm;dm=dm&&dl<=(dm+a0)){return true}}return false +}function dj(dl){if(!cO){return""}var dq=f(dl,av);if(!dq){return""}dq=String(dq);var dn=new RegExp("^[a-zA-Z0-9]+$");if(dq.length===32&&dn.test(dq)){var dm=dq.substr(16,32);if(c4(dm)){var dp=dq.substr(0,16);return dp}}return""}function cP(){if(!bO){bO=dj(bN)}var dn=new Date(),dl=Math.round(dn.getTime()/1000),dm=aU("id"),dr=aD(dm),dq,dp;if(dr){dq=dr.split(".");dq.unshift("0");if(bO.length){dq[1]=bO}return dq}if(bO.length){dp=bO}else{if("0"===b5()){dp=""}else{dp=cS()}}dq=["1",dp,dl,0,dl,"",""];return dq}function aZ(){var dt=cP(),dp=dt[0],dq=dt[1],dm=dt[2],dl=dt[3],dr=dt[4],dn=dt[5];if(!J(dt[6])){dt[6]=""}var ds=dt[6];return{newVisitor:dp,uuid:dq,createTs:dm,visitCount:dl,currentVisitTs:dr,lastVisitTs:dn,lastEcommerceOrderTs:ds}}function aH(){var dp=new Date(),dm=dp.getTime(),dq=aZ().createTs;var dl=parseInt(dq,10);var dn=(dl*1000)+cK-dm;return dn}function aM(dl){if(!b6){return}var dn=new Date(),dm=Math.round(dn.getTime()/1000);if(!J(dl)){dl=aZ()}var dp=dl.uuid+"."+dl.createTs+"."+dl.visitCount+"."+dm+"."+dl.lastVisitTs+"."+dl.lastEcommerceOrderTs; +dg(aU("id"),dp,aH(),bp,cZ,bS)}function bM(){var dl=aD(aU("ref"));if(dl.length){try{dl=JSON_PIWIK.parse(dl);if(W(dl)){return dl}}catch(dm){}}return["","",0,""]}function bw(dm){var dl="testvalue";dg("test",dl,10000,null,dm);if(aD("test")===dl){bY("test",null,dm);return true}return false}function aF(){var dm=bl;bl=false;var dl,dn;for(dl=0;dldL){dC.visitCount++;dC.lastVisitTs=dC.currentVisitTs}if(!bv||!du.length){for(dI in cr){if(Object.prototype.hasOwnProperty.call(cr,dI)){du=f(dM,cr[dI]);if(du.length){break}}}for(dI in bG){if(Object.prototype.hasOwnProperty.call(bG,dI)){dl=f(dM,bG[dI]);if(dl.length){break}}}}dQ=d(bn);dx=dH.length?d(dH):"";if(dQ.length&&!aW(dQ)&&(!bv||!dx.length||aW(dx))){dH=bn}if(dH.length||du.length){dt=dw;dG=[du,dl,dt,b2(dH.slice(0,dq))];dg(dD,JSON_PIWIK.stringify(dG),c7,bp,cZ)}}dn+="&idsite="+b6+"&rec=1&r="+String(Math.random()).slice(2,8)+"&h="+dm.getHours()+"&m="+dm.getMinutes()+"&s="+dm.getSeconds()+"&url="+t(b2(dM))+(bn.length?"&urlref="+t(b2(bn)):"")+((by&&by.length)?"&uid="+t(by):"")+"&_id="+dC.uuid+"&_idts="+dC.createTs+"&_idvc="+dC.visitCount+"&_idn="+dC.newVisitor+(du.length?"&_rcn="+t(du):"")+(dl.length?"&_rck="+t(dl):"")+"&_refts="+dt+"&_viewts="+dC.lastVisitTs+(String(dC.lastEcommerceOrderTs).length?"&_ects="+dC.lastEcommerceOrderTs:"")+(String(dH).length?"&_ref="+t(b2(dH.slice(0,dq))):"")+(dz?"&cs="+t(dz):"")+"&send_image=0"; +var dP=cI();for(dI in dP){if(Object.prototype.hasOwnProperty.call(dP,dI)){dn+="&"+dI+"="+dP[dI]}}var dO=[];if(dJ){for(dI in dJ){if(Object.prototype.hasOwnProperty.call(dJ,dI)&&/^dimension\d+$/.test(dI)){var ds=dI.replace("dimension","");dO.push(parseInt(ds,10));dO.push(String(ds));dn+="&"+dI+"="+t(dJ[dI]);delete dJ[dI]}}}if(dJ&&B(dJ)){dJ=null}for(dI in bm){if(Object.prototype.hasOwnProperty.call(bm,dI)){var dy=(-1===M(dO,dI));if(dy){dn+="&dimension"+dI+"="+t(bm[dI])}}}if(dJ){dn+="&data="+t(JSON_PIWIK.stringify(dJ))}else{if(ao){dn+="&data="+t(JSON_PIWIK.stringify(ao))}}function dv(dR,dS){var dT=JSON_PIWIK.stringify(dR);if(dT.length>2){return"&"+dS+"="+t(dT)}return""}var dN=dk(bW);var dE=dk(cm);dn+=dv(dN,"cvar");dn+=dv(dE,"e_cvar");if(aR){dn+=dv(aR,"_cvar");for(dI in dF){if(Object.prototype.hasOwnProperty.call(dF,dI)){if(aR[dI][0]===""||aR[dI][1]===""){delete aR[dI]}}}if(bQ){dg(dA,JSON_PIWIK.stringify(aR),cp,bp,cZ)}}if(a3){if(cn){dn+=">_ms="+cn}else{if(i&&i.timing&&i.timing.requestStart&&i.timing.responseEnd){dn+=">_ms="+(i.timing.responseEnd-i.timing.requestStart) +}}}if(aL){dn+="&pv_id="+aL}dC.lastEcommerceOrderTs=J(dp)&&String(dp).length?dp:dC.lastEcommerceOrderTs;aM(dC);cd();dn+=ac(dK,{tracker:bI,request:dn});if(c1.length){dn+="&"+c1}if(A(cb)){dn=cb(dn)}return dn}bR=function a8(){var dl=new Date();dl=dl.getTime();if(!c0){return false}if((c0+(1000*c9))<=dl){return false}if(c0+a6<=dl){bI.ping();return true}return false};function bq(dp,dn,du,dq,dl,dx){var ds="idgoal=0",dt,dm=new Date(),dv=[],dw,dr=String(dp).length;if(dr){ds+="&ec_id="+t(dp);dt=Math.round(dm.getTime()/1000)}ds+="&revenue="+dn;if(String(du).length){ds+="&ec_st="+du}if(String(dq).length){ds+="&ec_tx="+dq}if(String(dl).length){ds+="&ec_sh="+dl}if(String(dx).length){ds+="&ec_dt="+dx}if(c2){for(dw in c2){if(Object.prototype.hasOwnProperty.call(c2,dw)){if(!J(c2[dw][1])){c2[dw][1]=""}if(!J(c2[dw][2])){c2[dw][2]=""}if(!J(c2[dw][3])||String(c2[dw][3]).length===0){c2[dw][3]=0}if(!J(c2[dw][4])||String(c2[dw][4]).length===0){c2[dw][4]=1}dv.push(c2[dw])}}ds+="&ec_items="+t(JSON_PIWIK.stringify(dv)) +}ds=ct(ds,ao,"ecommerce",dt);bF(ds,bJ);if(dr){c2={}}}function bZ(dl,dq,dp,dn,dm,dr){if(String(dl).length&&J(dq)){bq(dl,dq,dp,dn,dm,dr)}}function bs(dl){if(J(dl)){bq("",dl,"","","","")}}function b0(dm,dp,dn){aL=bh();var dl=ct("action_name="+t(al(dm||bj)),dp,"log");bF(dl,bJ,dn)}function a1(dn,dm){var dp,dl="(^| )(piwik[_-]"+dm;if(dn){for(dp=0;dp0){dq=parseInt(dq,10);dt(dq)}})}var bC={enabled:true,requests:[],timeout:null,interval:2500,sendRequests:function(){var dl=this.requests;this.requests=[];if(dl.length===1){bF(dl[0],bJ)}else{dh(dl,bJ)}},canQueue:function(){return !m&&this.enabled},pushMultiple:function(dm){if(!this.canQueue()){dh(dm,bJ);return}var dl;for(dl=0;dl0){if(!J(dm)){dm=""}if(!w(dm)){dm=String(dm)}bm[dl]=dm}};this.getCustomDimension=function(dl){dl=parseInt(dl,10);if(dl>0&&Object.prototype.hasOwnProperty.call(bm,dl)){return bm[dl]}};this.deleteCustomDimension=function(dl){dl=parseInt(dl,10);if(dl>0){delete bm[dl]}};this.setCustomVariable=function(dm,dl,dq,dn){var dp;if(!J(dn)){dn="visit"}if(!J(dl)){return}if(!J(dq)){dq=""}if(dm>0){dl=!w(dl)?String(dl):dl;dq=!w(dq)?String(dq):dq;dp=[dl.slice(0,bt),dq.slice(0,bt)];if(dn==="visit"||dn===2){cF();aR[dm]=dp}else{if(dn==="page"||dn===3){bW[dm]=dp}else{if(dn==="event"){cm[dm]=dp}}}}};this.getCustomVariable=function(dm,dn){var dl; +if(!J(dn)){dn="visit"}if(dn==="page"||dn===3){dl=bW[dm]}else{if(dn==="event"){dl=cm[dm]}else{if(dn==="visit"||dn===2){cF();dl=aR[dm]}}}if(!J(dl)||(dl&&dl[0]==="")){return false}return dl};this.deleteCustomVariable=function(dl,dm){if(this.getCustomVariable(dl,dm)){this.setCustomVariable(dl,"","",dm)}};this.deleteCustomVariables=function(dl){if(dl==="page"||dl===3){bW={}}else{if(dl==="event"){cm={}}else{if(dl==="visit"||dl===2){aR={}}}}};this.storeCustomVariablesInCookie=function(){bQ=true};this.setLinkTrackingTimer=function(dl){bJ=dl};this.getLinkTrackingTimer=function(){return bJ};this.setDownloadExtensions=function(dl){if(w(dl)){dl=dl.split("|")}c8=dl};this.addDownloadExtensions=function(dm){var dl;if(w(dm)){dm=dm.split("|")}for(dl=0;dl1&&ap!=="addTracker"){ak("The method "+ap+' is registered more than once in "_paq" variable. Only the last call has an effect. Please have a look at the multiple Piwik trackers documentation: https://developer.piwik.org/guides/tracking-javascript-guide#multiple-piwik-trackers')}av[ap]++}}}}return au}var C=["addTracker","forgetCookieConsentGiven","requireCookieConsent","disableCookies","setTrackerUrl","setAPIUrl","enableCrossDomainLinking","setCrossDomainLinkingTimeout","setSessionCookieTimeout","setVisitorCookieTimeout","setSecureCookie","setCookiePath","setCookieDomain","setDomains","setUserId","setVisitorId","setSiteId","alwaysUseSendBeacon","enableLinkTracking","setCookieConsentGiven","requireConsent","setConsentGiven"];function ad(ao,aq){var ap=new Q(ao,aq);I.push(ap);_paq=c(_paq,C);for(E=0;E<_paq.length;E++){if(_paq[E]){af(_paq[E]) +}}_paq=new H();e.trigger("TrackerAdded",[ap]);return ap}an(T,"beforeunload",ai,false);an(T,"message",function(au){if(!au||!au.origin){return}var aw,ar,ap;var ax=d(au.origin);var at=e.getAsyncTrackers();for(ar=0;ar