1var cookieman=(function(){"use strict";var cookieName='CookieConsent',cookieLifetimeDays=365,form=document.querySelector('[data-cookieman-form]'),settingsEl=document.querySelector('[data-cookieman-settings]'),eventsEl=settingsEl,settings=JSON.parse(settingsEl.dataset.cookiemanSettings),checkboxes=form.querySelectorAll('[type=checkbox][name]'),saveButtons=document.querySelectorAll('[data-cookieman-save]'),acceptAllButtons=document.querySelectorAll('[data-cookieman-accept-all]'),acceptNoneButtons=document.querySelectorAll('[data-cookieman-accept-none]'),injectedTrackingObjects=[],loadedTrackingObjectScripts={} 2function getCookieDomain(){var hostParts=window.location.hostname.split('.');var domainParts=hostParts.slice(-2).join('.');if(domainParts==='localhost'){return'localhost'} 3return'.'+domainParts} 4function saveSelections(){var consented=[];for(var i=0;i<checkboxes.length;i++){if(checkboxes[i].checked){consented.push(checkboxes[i].name)}} 5var domainForCookie=getCookieDomain();var isLocalEnv=window.location.hostname==='localhost'||window.location.hostname.includes('en-local.')||window.location.hostname.includes('local.');var cookieOptions={expires:cookieLifetimeDays,domain:domainForCookie};if(isLocalEnv){cookieOptions.sameSite='lax';cookieOptions.secure=!1}else{cookieOptions.sameSite='none';cookieOptions.secure=!0} 6Cookies.set(cookieName,consented.join('|'),cookieOptions)} 7function setChecked(checkbox,state){checkbox.checked=state} 8function selectNone(){for(var _i=0;_i<checkboxes.length;_i++){var _checkbox=checkboxes[_i] 9if(!_checkbox.disabled){setChecked(_checkbox,!1)}}} 10function selectAll(){for(var _i=0;_i<checkboxes.length;_i++){setChecked(checkboxes[_i],!0)}} 11function hasConsented(groupKey){var consented=consentedSelectionsRespectDnt() 12for(var i=0;i<consented.length;i++){if(consented[i]===groupKey){return!0}} 13return!1} 14function hasConsentedTrackingObject(trackingObjectKey){var groups=findGroupsByTrackingObjectKey(trackingObjectKey) 15return groups.reduce(function(consentGiven,groupKey){return consentGiven&&hasConsented(groupKey)},groups.length>0)} 16function consentedSelectionsAll(){var cookie=Cookies.get(cookieName) 17return cookie?cookie.split('|'):[]} 18function consentedSelectionsRespectDnt(){return consentedSelectionsAll().filter(function(consented){var aGroup=settings.groups[consented] 19if(typeof aGroup==='undefined'){return!1} 20return!aGroup.respectDnt||(window.navigator.doNotTrack!=='1')})} 21function loadCheckboxStates(){if(typeof Cookies.get(cookieName)==='undefined'){return} 22var consented=consentedSelectionsAll() 23selectNone() 24for(var _i=0;_i<consented.length;_i++){var _checkbox=form.querySelector('[name='+consented[_i]+']') 25if(_checkbox){setChecked(_checkbox,!0)}}} 26function onBodyClick(e){const target=e.target 27if(!target){return} 28if(target.dataset.hasOwnProperty('cookiemanShow')){cookieman.show()}} 29function onSaveClick(e){e.preventDefault() 30saveSelections() 31cookieman.hide() 32removeDisabledTrackingObjects() 33injectNewTrackingObjects()} 34function onAcceptAllClick(e){e.preventDefault() 35selectAll()} 36function onAcceptNoneClick(e){e.preventDefault() 37selectNone()} 38function setDntTextIfEnabled(){if(window.navigator.doNotTrack==='1'){var dnts=document.querySelectorAll('[data-cookieman-dnt]') 39for(var _i=0;_i<dnts.length;_i++){dnts[_i].innerHTML=form.dataset.cookiemanDntEnabled}}} 40function findGroupsByTrackingObjectKey(trackingObjectKey){return Object.keys(settings.groups).filter(function(groupKey){return Object.prototype.hasOwnProperty.call(settings.groups[groupKey],'trackingObjects')&&settings.groups[groupKey].trackingObjects.indexOf(trackingObjectKey)>-1})} 41function isMatomoOptedOut(){return document.cookie.split(';').some(function(item){var trimmed=item.trim() 42return trimmed.indexOf('mtm_consent_removed=')===0&&trimmed.length>'mtm_consent_removed='.length})} 43function injectTrackingObject(trackingObjectKey,trackingObjectSettings){if(trackingObjectKey==='Matomo'&&isMatomoOptedOut()){return} 44if(typeof trackingObjectSettings==='undefined'){console.error('Used trackingObject â¹'+trackingObjectKey+'⺠is undefined.') 45return} 46if(typeof trackingObjectSettings.inject!=="undefined"){var pseudo=document.createElement('div'),_script 47pseudo.innerHTML=trackingObjectSettings.inject 48var iScript=0 49for(var iChild=0;iChild<pseudo.children.length;iChild++){var node=pseudo.children[iChild] 50if(node.tagName==='SCRIPT'){_script=document.createElement('script') 51_script.textContent=node.textContent 52for(var _iAttr=0;_iAttr<node.attributes.length;_iAttr++){var _attr=node.attributes[_iAttr] 53_script.setAttribute(_attr.name,_attr.value)} 54_script.addEventListener('load',(function(_script,iScript,trackingObjectKey,trackingObjectSettings){return function(ev){if(typeof loadedTrackingObjectScripts[trackingObjectKey]==='undefined'){loadedTrackingObjectScripts[trackingObjectKey]=[]} 55loadedTrackingObjectScripts[trackingObjectKey].push(iScript) 56emit('scriptLoaded',{detail:{trackingObjectKey:trackingObjectKey,trackingObjectSettings:trackingObjectSettings,scriptId:iScript,node:_script}})}})(_script,iScript++,trackingObjectKey,trackingObjectSettings)) 57node=_script}else{iChild--} 58document.body.appendChild(node)} 59injectedTrackingObjects.push(trackingObjectKey)}} 60function removeDisabledTrackingObjects(){for(var groupKey in settings.groups){if(!Object.prototype.hasOwnProperty.call(settings.groups,groupKey)){continue} 61if(!hasConsented(groupKey)){var oGroup=settings.groups[groupKey] 62for(var _j=0;_j<oGroup.trackingObjects.length;_j++){var trackingObjectKey=oGroup.trackingObjects[_j] 63removeTrackingObject(trackingObjectKey,settings.trackingObjects[trackingObjectKey])}}}} 64function removeTrackingObject(trackingObjectKey,trackingObjectSettings){if(typeof trackingObjectSettings==='undefined'){console.error('Used trackingObject â¹'+trackingObjectKey+'⺠is undefined.') 65return} 66for(var itemKey in trackingObjectSettings.show){if(!Object.prototype.hasOwnProperty.call(trackingObjectSettings.show,itemKey)){continue} 67var oItem=trackingObjectSettings.show[itemKey] 68removeTrackingObjectItem(itemKey,oItem)}} 69function removeTrackingObjectItem(itemKey,oItem){if(oItem.type==='cookie_http+html'){if(Object.prototype.hasOwnProperty.call(oItem,'htmlCookieRemovalPattern')&&oItem.htmlCookieRemovalPattern!==''){var regex,currentCookies=Cookies.get(),matches 70try{regex=RegExp(oItem.htmlCookieRemovalPattern)}catch(e){console.error('Malformed pattern for cookie deletion on trackingObjectItem "'+itemKey+'": '+e.message) 71return!1} 72for(var cookieName in currentCookies){if(cookieName.match(regex)!==null){removeHtmlCookie(cookieName)}}}else{removeHtmlCookie(itemKey)} 73return!0} 74return!1} 75function injectNewTrackingObjects(){var consenteds=consentedSelectionsRespectDnt() 76for(var _i=0;_i<consenteds.length;_i++){var oGroup=settings.groups[consenteds[_i]] 77for(var _j=0;_j<oGroup.trackingObjects.length;_j++){var trackingObjectKey=oGroup.trackingObjects[_j] 78if(injectedTrackingObjects.indexOf(trackingObjectKey)===-1){injectTrackingObject(trackingObjectKey,settings.trackingObjects[trackingObjectKey])}}}} 79function polyfillCustomEvent(){if(typeof window.CustomEvent!=="function"){window.CustomEvent=function(typeArg,customEventInit){customEventInit=customEventInit||{bubbles:!1,cancelable:!1,detail:undefined} 80var event=document.createEvent('CustomEvent') 81event.initCustomEvent(typeArg,customEventInit.bubbles,customEventInit.cancelable,customEventInit.detail) 82return event} 83window.CustomEvent.prototype=window.Event.prototype}} 84function emit(typeArg,customEventInit){polyfillCustomEvent() 85eventsEl.dispatchEvent(new window.CustomEvent(typeArg,customEventInit))} 86function removeHtmlCookie(name){var fullDomain=document.location.host 87var secondLevelDomain=fullDomain.split('.').slice(-2).join('.') 88Cookies.remove(name) 89Cookies.remove(name,{path:'/'}) 90Cookies.remove(name,{path:'',domain:fullDomain}) 91Cookies.remove(name,{path:'/',domain:fullDomain}) 92Cookies.remove(name,{path:'',domain:'.'+secondLevelDomain}) 93Cookies.remove(name,{path:'/',domain:'.'+secondLevelDomain})}
94function init(){for(var i=0;i<acceptAllButtons.length;i++){acceptAllButtons[i].addEventListener('click',onAcceptAllClick)} 95for(i=0;i<acceptNoneButtons.length;i++){acceptNoneButtons[i].addEventListener('click',onAcceptNoneClick)} 96for(i=0;i<saveButtons.length;i++){saveButtons[i].addEventListener('click',onSaveClick)} 97document.body.addEventListener('click',onBodyClick) 98loadCheckboxStates() 99setDntTextIfEnabled() 100injectNewTrackingObjects()} 101init() 102return{show:function(){console.error('Your theme should implement function cookieman.show()')},hide:function(){console.error('Your theme should implement function cookieman.hide()')},showOnce:function(){if(typeof Cookies.get(cookieName)==='undefined'){cookieman.show()}},hasConsented:hasConsented,hasConsentedTrackingObject:hasConsentedTrackingObject,consenteds:consentedSelectionsRespectDnt,consent:function(groupKey){var checkbox=form.querySelector('[type=checkbox][name="'+groupKey+'"]') 103setChecked(checkbox,!0) 104saveSelections() 105injectNewTrackingObjects()},onScriptLoaded:function(trackingObjectKey,scriptId,callback){if(typeof loadedTrackingObjectScripts[trackingObjectKey]==='undefined'){loadedTrackingObjectScripts[trackingObjectKey]=[]} 106if(loadedTrackingObjectScripts[trackingObjectKey].indexOf(scriptId)===-1){eventsEl.addEventListener('scriptLoaded',function(ev){if(ev.detail.trackingObjectKey===trackingObjectKey&&ev.detail.scriptId===scriptId){callback(ev.detail.trackingObjectKey,ev.detail.scriptId)}})}else{callback(trackingObjectKey,scriptId)}},eventsEl:eventsEl}}())
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.