diff --git a/dist/cookieconsent.esm.js b/dist/cookieconsent.esm.js index 2af051a9..a03683f5 100644 --- a/dist/cookieconsent.esm.js +++ b/dist/cookieconsent.esm.js @@ -4,4 +4,4 @@ * Author Orest Bida * Released under the MIT License */ -const e='opt-in',t='opt-out',o='show--consent',n='show--preferences',a='disable--interaction',s='data-category',c='div',r='button',i='aria-hidden',l='btn-group',d='click',f='data-role',_='consentModal',u='preferencesModal';class p{constructor(){this.t={mode:e,revision:0,autoShow:!0,lazyHtmlGeneration:!0,autoClearCookies:!0,manageScriptTags:!0,hideFromBots:!0,cookie:{name:'cc_cookie',expiresAfterDays:182,domain:'',path:'/',sameSite:'Lax'}},this.o={i:{},l:'',_:{},u:{},p:{},m:[],v:!1,h:null,C:null,S:null,M:'',D:!0,T:!1,k:!1,A:!1,N:!1,H:[],V:!1,I:!0,L:[],j:!1,F:'',P:!1,O:[],R:[],B:[],G:[],J:!1,U:!1,$:!1,q:[],K:[],W:[],X:{},Y:{},Z:{},ee:{},te:{},oe:[]},this.ne={ae:{},se:{}},this.ce={},this.re={ie:'cc:onFirstConsent',le:'cc:onConsent',de:'cc:onChange',fe:'cc:onModalShow',_e:'cc:onModalHide',ue:'cc:onModalReady'}}}const m=new p,g=(e,t)=>e.indexOf(t),b=(e,t)=>-1!==g(e,t),v=e=>Array.isArray(e),y=e=>'string'==typeof e,h=e=>!!e&&'object'==typeof e&&!v(e),C=e=>'function'==typeof e,w=e=>Object.keys(e),S=e=>Array.from(new Set(e)),x=()=>document.activeElement,M=e=>e.preventDefault(),D=(e,t)=>e.querySelectorAll(t),T=e=>e.dispatchEvent(new Event('change')),k=e=>{const t=document.createElement(e);return e===r&&(t.type=e),t},E=(e,t,o)=>e.setAttribute(t,o),A=(e,t,o)=>{e.removeAttribute(o?'data-'+t:t)},N=(e,t,o)=>e.getAttribute(o?'data-'+t:t),H=(e,t)=>e.appendChild(t),V=(e,t)=>e.classList.add(t),I=(e,t)=>V(e,'cm__'+t),L=(e,t)=>V(e,'pm__'+t),j=(e,t)=>e.classList.remove(t),F=e=>{if('object'!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());let t=Array.isArray(e)?[]:{};for(let o in e){let n=e[o];t[o]=F(n)}return t},P=()=>{const e={},{O:t,X:o,Y:n}=m.o;for(const a of t)e[a]=G(n[a],w(o[a]));return e},O=(e,t)=>dispatchEvent(new CustomEvent(e,{detail:t})),R=(e,t,o,n)=>{e.addEventListener(t,o),n&&m.o.m.push({pe:e,me:t,ge:o})},B=()=>{const e=m.t.cookie.expiresAfterDays;return C(e)?e(m.o.F):e},G=(e,t)=>{const o=e||[],n=t||[];return o.filter((e=>!b(n,e))).concat(n.filter((e=>!b(o,e))))},J=e=>{m.o.R=S(e),m.o.F=(()=>{let e='custom';const{R:t,O:o,B:n}=m.o,a=t.length;return a===o.length?e='all':a===n.length&&(e='necessary'),e})()},U=(e,t,o,n)=>{const a='accept-',{show:s,showPreferences:c,hide:r,hidePreferences:i,acceptCategory:l}=t,f=e||document,_=e=>D(f,`[data-cc="${e}"]`),u=(e,t)=>{M(e),l(t),i(),r()},p=_('show-preferencesModal'),g=_('show-consentModal'),b=_(a+'all'),v=_(a+'necessary'),y=_(a+'custom'),h=m.t.lazyHtmlGeneration;for(const e of p)E(e,'aria-haspopup','dialog'),R(e,d,(e=>{M(e),c()})),h&&(R(e,'mouseenter',(e=>{M(e),m.o.N||o(t,n)}),!0),R(e,'focus',(()=>{m.o.N||o(t,n)})));for(let e of g)E(e,'aria-haspopup','dialog'),R(e,d,(e=>{M(e),s(!0)}),!0);for(let e of b)R(e,d,(e=>{u(e,'all')}),!0);for(let e of y)R(e,d,(e=>{u(e)}),!0);for(let e of v)R(e,d,(e=>{u(e,[])}),!0)},$=(e,t)=>{e&&(t&&(e.tabIndex=-1),e.focus(),t&&e.removeAttribute('tabindex'))},z=(e,t)=>{const o=n=>{n.target.removeEventListener('transitionend',o),'opacity'===n.propertyName&&'1'===getComputedStyle(e).opacity&&$((e=>1===e?m.ne.be:m.ne.ve)(t))};R(e,'transitionend',o)};let q;const K=e=>{clearTimeout(q),e?V(m.ne.ye,a):q=setTimeout((()=>{j(m.ne.ye,a)}),500)},Q=['M 19.5 4.5 L 4.5 19.5 M 4.5 4.501 L 19.5 19.5','M 3.572 13.406 L 8.281 18.115 L 20.428 5.885','M 21.999 6.94 L 11.639 17.18 L 2.001 6.82 '],W=(e=0,t=1.5)=>``,X=e=>{const t=m.ne,o=m.o;(e=>{const n=e===t.he,a=o.i.disablePageInteraction?t.ye:n?t.Ce:t.ye;R(a,'keydown',(t=>{if('Tab'!==t.key||!(n?o.k&&!o.A:o.A))return;const a=x(),s=n?o.q:o.K;0!==s.length&&(t.shiftKey?a!==s[0]&&e.contains(a)||(M(t),$(s[1])):a!==s[1]&&e.contains(a)||(M(t),$(s[0])))}),!0)})(e)},Y=['[href]',r,'input','details','[tabindex]'].map((e=>e+':not([tabindex="-1"])')).join(','),Z=e=>{const{o:t,ne:o}=m,n=(e,t)=>{const o=D(e,Y);t[0]=o[0],t[1]=o[o.length-1]};1===e&&t.T&&n(o.he,t.q),2===e&&t.N&&n(o.we,t.K)},ee=(e,t,o)=>{const{de:n,le:a,ie:s,_e:c,ue:r,fe:i}=m.ce,l=m.re;if(t){const n={modalName:t};return e===l.fe?C(i)&&i(n):e===l._e?C(c)&&c(n):(n.modal=o,C(r)&&r(n)),O(e,n)}const d={cookie:m.o.p};e===l.ie?C(s)&&s(F(d)):e===l.le?C(a)&&a(F(d)):(d.changedCategories=m.o.L,d.changedServices=m.o.ee,C(n)&&n(F(d))),O(e,F(d))},te=(e,t)=>{try{return e()}catch(e){return!t&&console.warn('CookieConsent:',e),!1}},oe=e=>{const{Y:t,ee:o,O:n,X:a,oe:c,p:r,L:i}=m.o;for(const e of n){const n=o[e]||t[e]||[];for(const o of n){const n=a[e][o];if(!n)continue;const{onAccept:s,onReject:c}=n;!n.Se&&b(t[e],o)?(n.Se=!0,C(s)&&s()):n.Se&&!b(t[e],o)&&(n.Se=!1,C(c)&&c())}}if(!m.t.manageScriptTags)return;const l=c,d=e||r.categories||[],f=(e,n)=>{if(n>=e.length)return;const a=c[n];if(a.xe)return f(e,n+1);const r=a.Me,l=a.De,_=a.Te,u=b(d,l),p=!!_&&b(t[l],_);if(!_&&!a.ke&&u||!_&&a.ke&&!u&&b(i,l)||_&&!a.ke&&p||_&&a.ke&&!p&&b(o[l]||[],_)){a.xe=!0;const t=N(r,'type',!0);A(r,'type',!!t),A(r,s);let o=N(r,'src',!0);o&&A(r,'src',!0);const c=k('script');c.textContent=r.innerHTML;for(const{nodeName:e}of r.attributes)E(c,e,r[e]||N(r,e));t&&(c.type=t),o?c.src=o:o=r.src;const i=!!o&&(!t||['text/javascript','module'].includes(t));if(i&&(c.onload=c.onerror=()=>{f(e,++n)}),r.replaceWith(c),i)return}f(e,++n)};f(l,0)},ne='bottom',ae='left',se='center',ce='right',re='inline',ie='wide',le='pm--',de=['middle','top',ne],fe=[ae,se,ce],_e={box:{Ee:[ie,re],Ae:de,Ne:fe,He:ne,Ve:ce},cloud:{Ee:[re],Ae:de,Ne:fe,He:ne,Ve:se},bar:{Ee:[re],Ae:de.slice(1),Ne:[],He:ne,Ve:''}},ue={box:{Ee:[],Ae:[],Ne:[],He:'',Ve:''},bar:{Ee:[ie],Ae:[],Ne:[ae,ce],He:'',Ve:ae}},pe=e=>{const t=m.o.i.guiOptions,o=t&&t.consentModal,n=t&&t.preferencesModal;0===e&&me(m.ne.he,_e,o,'cm--','box','cm'),1===e&&me(m.ne.we,ue,n,le,'box','pm')},me=(e,t,o,n,a,s)=>{e.className=s;const c=o&&o.layout,r=o&&o.position,i=o&&o.flipButtons,l=!o||!1!==o.equalWeightButtons,d=c&&c.split(' ')||[],f=d[0],_=d[1],u=f in t?f:a,p=t[u],g=b(p.Ee,_)&&_,v=r&&r.split(' ')||[],y=v[0],h=n===le?v[0]:v[1],C=b(p.Ae,y)?y:p.He,w=b(p.Ne,h)?h:p.Ve,S=t=>{t&&V(e,n+t)};S(u),S(g),S(C),S(w),i&&S('flip');const x=s+'__btn--secondary';if('cm'===s){const{Ie:e,Le:t}=m.ne;e&&(l?j(e,x):V(e,x)),t&&(l?j(t,x):V(t,x))}else{const{je:e}=m.ne;e&&(l?j(e,x):V(e,x))}},ge=(e,t)=>{const o=m.o,n=m.ne,{hide:a,hidePreferences:s,acceptCategory:_}=e,p=e=>{_(e),s(),a()},g=o.u&&o.u.preferencesModal;if(!g)return;const b=g.title,v=g.closeIconLabel,C=g.acceptAllBtn,S=g.acceptNecessaryBtn,x=g.savePreferencesBtn,M=g.sections||[],D=C||S||x;if(n.Fe)n.Pe=k(c),L(n.Pe,'body');else{n.Fe=k(c),V(n.Fe,'pm-wrapper');const e=k('div');V(e,'pm-overlay'),H(n.Fe,e),R(e,d,s),n.we=k(c),V(n.we,'pm'),E(n.we,'role','dialog'),E(n.we,i,!0),E(n.we,'aria-modal',!0),E(n.we,'aria-labelledby','pm__title'),R(n.ye,'keydown',(e=>{27===e.keyCode&&s()}),!0),n.Oe=k(c),L(n.Oe,'header'),n.Re=k('h2'),L(n.Re,'title'),n.Re.id='pm__title',n.Be=k(r),L(n.Be,'close-btn'),E(n.Be,'aria-label',g.closeIconLabel||''),R(n.Be,d,s),n.Ge=k('span'),n.Ge.innerHTML=W(),H(n.Be,n.Ge),n.Je=k(c),L(n.Je,'body'),n.Ue=k(c),L(n.Ue,'footer');var T=k(c);V(T,'btns');var A=k(c),N=k(c);L(A,l),L(N,l),H(n.Ue,A),H(n.Ue,N),H(n.Oe,n.Re),H(n.Oe,n.Be),n.ve=k(c),E(n.ve,'tabIndex',-1),H(n.we,n.ve),H(n.we,n.Oe),H(n.we,n.Je),D&&H(n.we,n.Ue),H(n.Fe,n.we)}let I;b&&(n.Re.innerHTML=b,v&&E(n.Be,'aria-label',v)),M.forEach(((e,t)=>{const a=e.title,s=e.description,l=e.linkedCategory,f=l&&o.P[l],_=e.cookieTable,u=_&&_.body,p=_&&_.caption,m=u&&u.length>0,b=!!f,v=b&&o.X[l],C=h(v)&&w(v)||[],S=b&&(!!s||!!m||w(v).length>0);var x=k(c);if(L(x,'section'),S||s){var M=k(c);L(M,'section-desc-wrapper')}let D=C.length;if(S&&D>0){const e=k(c);L(e,'section-services');for(const t of C){const o=v[t],n=o&&o.label||t,a=k(c),s=k(c),r=k(c),i=k(c);L(a,'service'),L(i,'service-title'),L(s,'service-header'),L(r,'service-icon');const d=be(n,t,f,!0,l);i.innerHTML=n,H(s,r),H(s,i),H(a,s),H(a,d),H(e,a)}H(M,e)}if(a){var T=k(c),A=k(b?r:c);if(L(T,'section-title-wrapper'),L(A,'section-title'),A.innerHTML=a,H(T,A),b){const e=k('span');e.innerHTML=W(2,3.5),L(e,'section-arrow'),H(T,e),x.className+='--toggle';const t=be(a,l,f);let o=g.serviceCounterLabel;if(D>0&&y(o)){let e=k('span');L(e,'badge'),L(e,'service-counter'),E(e,i,!0),E(e,'data-servicecounter',D),o&&(o=o.split('|'),o=o.length>1&&D>1?o[1]:o[0],E(e,'data-counterlabel',o)),e.innerHTML=D+(o?' '+o:''),H(A,e)}if(S){L(x,'section--expandable');var N=l+'-desc';E(A,'aria-expanded',!1),E(A,'aria-controls',N)}H(T,t)}else E(A,'role','heading'),E(A,'aria-level','3');H(x,T)}if(s){var F=k('p');L(F,'section-desc'),F.innerHTML=s,H(M,F)}if(S&&(E(M,i,'true'),M.id=N,((e,t,o)=>{R(A,d,(()=>{t.classList.contains('is-expanded')?(j(t,'is-expanded'),E(o,'aria-expanded','false'),E(e,i,'true')):(V(t,'is-expanded'),E(o,'aria-expanded','true'),E(e,i,'false'))}))})(M,x,A),m)){const e=k('table'),o=k('thead'),a=k('tbody');if(p){const t=k('caption');L(t,'table-caption'),t.innerHTML=p,e.appendChild(t)}L(e,'section-table'),L(o,'table-head'),L(a,'table-body');const s=_.headers,r=w(s),i=n.$e.createDocumentFragment(),l=k('tr');for(const e of r){const o=s[e],n=k('th');n.id='cc__row-'+o+t,E(n,'scope','col'),L(n,'table-th'),n.innerHTML=o,H(i,n)}H(l,i),H(o,l);const d=n.$e.createDocumentFragment();for(const e of u){const o=k('tr');L(o,'table-tr');for(const n of r){const a=s[n],r=e[n],i=k('td'),l=k(c);L(i,'table-td'),E(i,'data-column',a),E(i,'headers','cc__row-'+a+t),l.insertAdjacentHTML('beforeend',r),H(i,l),H(o,i)}H(d,o)}H(a,d),H(e,o),H(e,a),H(M,e)}(S||s)&&H(x,M);const P=n.Pe||n.Je;b?(I||(I=k(c),L(I,'section-toggles')),I.appendChild(x)):I=null,H(P,I||x)})),C&&(n.ze||(n.ze=k(r),L(n.ze,'btn'),E(n.ze,f,'all'),H(A,n.ze),R(n.ze,d,(()=>p('all')))),n.ze.innerHTML=C),S&&(n.je||(n.je=k(r),L(n.je,'btn'),E(n.je,f,'necessary'),H(A,n.je),R(n.je,d,(()=>p([])))),n.je.innerHTML=S),x&&(n.qe||(n.qe=k(r),L(n.qe,'btn'),L(n.qe,'btn--secondary'),E(n.qe,f,'save'),H(N,n.qe),R(n.qe,d,(()=>p()))),n.qe.innerHTML=x),n.Pe&&(n.we.replaceChild(n.Pe,n.Je),n.Je=n.Pe),pe(1),o.N||(o.N=!0,ee(m.re.ue,u,n.we),t(e),H(n.Ce,n.Fe),X(n.we),setTimeout((()=>V(n.Fe,'cc--anim')),100)),Z(2)};function be(e,t,o,n,a){const c=m.o,r=m.ne,l=k('label'),f=k('input'),_=k('span'),u=k('span'),p=k('span'),g=k('span'),v=k('span');if(g.innerHTML=W(1,3),v.innerHTML=W(0,3),f.type='checkbox',V(l,'section__toggle-wrapper'),V(f,'section__toggle'),V(g,'toggle__icon-on'),V(v,'toggle__icon-off'),V(_,'toggle__icon'),V(u,'toggle__icon-circle'),V(p,'toggle__label'),E(_,i,'true'),n?(V(l,'toggle-service'),E(f,s,a),r.se[a][t]=f):r.ae[t]=f,n?(e=>{R(f,'change',(()=>{const t=r.se[e],o=r.ae[e];c.Z[e]=[];for(let o in t){const n=t[o];n.checked&&c.Z[e].push(n.value)}o.checked=c.Z[e].length>0}))})(a):(e=>{R(f,d,(()=>{const t=r.se[e],o=f.checked;c.Z[e]=[];for(let n in t)t[n].checked=o,o&&c.Z[e].push(n)}))})(t),f.value=t,p.textContent=e.replace(/<.*>.*<\/.*>/gm,''),H(u,v),H(u,g),H(_,u),c.D)(o.readOnly||o.enabled)&&(f.checked=!0);else if(n){const e=c.Y[a];f.checked=o.readOnly||b(e,t)}else b(c.R,t)&&(f.checked=!0);return o.readOnly&&(f.disabled=!0),H(l,f),H(l,_),H(l,p),l}const ve=()=>{const e=k('span');return m.ne.Ke||(m.ne.Ke=e),e},ye=(e,t)=>{const o=m.o,n=m.ne,{hide:a,showPreferences:s,acceptCategory:u}=e,p=o.u&&o.u.consentModal;if(!p)return;const g=p.acceptAllBtn,b=p.acceptNecessaryBtn,v=p.showPreferencesBtn,y=p.closeIconLabel,h=p.footer,C=p.label,w=p.title,S=e=>{a(),u(e)};if(!n.Qe){n.Qe=k(c),n.he=k(c),n.We=k(c),n.Xe=k(c),n.Ye=k(c),V(n.Qe,'cm-wrapper'),V(n.he,'cm'),I(n.We,'body'),I(n.Xe,'texts'),I(n.Ye,'btns'),E(n.he,'role','dialog'),E(n.he,'aria-modal','true'),E(n.he,i,'false'),E(n.he,'aria-describedby','cm__desc'),C?E(n.he,'aria-label',C):w&&E(n.he,'aria-labelledby','cm__title');const e='box',t=o.i.guiOptions,a=t&&t.consentModal,s=(a&&a.layout||e).split(' ')[0]===e;w&&y&&s&&(n.Le||(n.Le=k(r),n.Le.innerHTML=W(),I(n.Le,'btn'),I(n.Le,'btn--close'),R(n.Le,d,(()=>{S([])})),H(n.We,n.Le)),E(n.Le,'aria-label',y)),H(n.We,n.Xe),(g||b||v)&&H(n.We,n.Ye),n.be=k(c),E(n.be,'tabIndex',-1),H(n.he,n.be),H(n.he,n.We),H(n.Qe,n.he)}w&&(n.Ze||(n.Ze=k('h2'),n.Ze.className=n.Ze.id='cm__title',H(n.Xe,n.Ze)),n.Ze.innerHTML=w);let x=p.description;if(x&&(o.V&&(x=x.replace('{{revisionMessage}}',o.I?'':p.revisionMessage||'')),n.et||(n.et=k('p'),n.et.className=n.et.id='cm__desc',H(n.Xe,n.et)),n.et.innerHTML=x),g&&(n.tt||(n.tt=k(r),H(n.tt,ve()),I(n.tt,'btn'),E(n.tt,f,'all'),R(n.tt,d,(()=>{S('all')}))),n.tt.firstElementChild.innerHTML=g),b&&(n.Ie||(n.Ie=k(r),H(n.Ie,ve()),I(n.Ie,'btn'),E(n.Ie,f,'necessary'),R(n.Ie,d,(()=>{S([])}))),n.Ie.firstElementChild.innerHTML=b),v&&(n.ot||(n.ot=k(r),H(n.ot,ve()),I(n.ot,'btn'),I(n.ot,'btn--secondary'),E(n.ot,f,'show'),R(n.ot,'mouseenter',(()=>{o.N||ge(e,t)})),R(n.ot,d,s)),n.ot.firstElementChild.innerHTML=v),n.nt||(n.nt=k(c),I(n.nt,l),g&&H(n.nt,n.tt),b&&H(n.nt,n.Ie),(g||b)&&H(n.We,n.nt),H(n.Ye,n.nt)),n.ot&&!n.st&&(n.st=k(c),n.Ie&&n.tt?(I(n.st,l),H(n.st,n.ot),H(n.Ye,n.st)):(H(n.nt,n.ot),I(n.nt,l+'--uneven'))),h){if(!n.ct){let e=k(c),t=k(c);n.ct=k(c),I(e,'footer'),I(t,'links'),I(n.ct,'link-group'),H(t,n.ct),H(e,t),H(n.he,e)}n.ct.innerHTML=h}pe(0),o.T||(o.T=!0,ee(m.re.ue,_,n.he),t(e),H(n.Ce,n.Qe),X(n.he),setTimeout((()=>V(n.Qe,'cc--anim')),100)),Z(1),U(n.We,e,ge,t)},he=e=>{if(!y(e))return null;if(e in m.o._)return e;let t=e.slice(0,2);return t in m.o._?t:null},Ce=()=>m.o.l||m.o.i.language.default,we=e=>{e&&(m.o.l=e)},Se=async e=>{const t=m.o;let o=he(e)?e:Ce(),n=t._[o];return y(n)?n=await(async e=>{try{const t=await fetch(e);return await t.json()}catch(e){return console.error(e),!1}})(n):C(n)&&(n=await n()),!!n&&(t.u=n,we(o),!0)},xe=()=>{let e=m.o.i.language.rtl,t=m.ne.Ce;e&&t&&(v(e)||(e=[e]),b(e,m.o.l)?V(t,'cc--rtl'):j(t,'cc--rtl'))},Me=()=>{const e=m.ne;if(e.Ce)return;e.Ce=k(c),e.Ce.id='cc-main',e.Ce.setAttribute('data-nosnippet',''),xe();let t=m.o.i.root;t&&y(t)&&(t=document.querySelector(t)),(t||e.$e.body).appendChild(e.Ce)},De=e=>te((()=>localStorage.removeItem(e))),Te=(e,t)=>{if(t instanceof RegExp)return e.filter((e=>t.test(e)));{const o=g(e,t);return o>-1?[e[o]]:[]}},ke=e=>{const{hostname:t,protocol:o}=location,{name:n,path:a,domain:s,sameSite:c,useLocalStorage:r}=m.t.cookie,i=e?(()=>{const e=m.o.S,t=e?new Date-e:0;return 864e5*B()-t})():864e5*B(),l=new Date;l.setTime(l.getTime()+i),m.o.p.expirationTime=l.getTime();const d=JSON.stringify(m.o.p);let f=n+'='+encodeURIComponent(d)+(0!==i?'; expires='+l.toUTCString():'')+'; Path='+a+'; SameSite='+c;b(t,'.')&&(f+='; Domain='+s),'https:'===o&&(f+='; Secure'),r?((e,t)=>{te((()=>localStorage.setItem(e,t)))})(n,d):document.cookie=f,m.o.p},Ee=(e,t,o)=>{if(0===e.length)return;const n=o||m.t.cookie.domain,a=t||m.t.cookie.path,s='www.'===n.slice(0,4),c=s&&n.substring(4),r=(e,t)=>{document.cookie=e+'=; path='+a+(t?'; domain=.'+t:'')+'; expires=Thu, 01 Jan 1970 00:00:01 GMT;'};for(const t of e)r(t),r(t,n),s&&r(t,c)},Ae=e=>{const t=e||m.t.cookie.name,o=m.t.cookie.useLocalStorage;return((e,t)=>{let o;return o=te((()=>JSON.parse(t?e:decodeURIComponent(e))),!0)||{},o})(o?(n=t,te((()=>localStorage.getItem(n)))||''):Ne(t,!0),o);var n},Ne=(e,t)=>{const o=document.cookie.match('(^|;)\\s*'+e+'\\s*=\\s*([^;]+)');return o?t?o.pop():e:''},He=e=>{const t=document.cookie.split(/;\s*/),o=[];for(const n of t){let t=n.split('=')[0];e?te((()=>{e.test(t)&&o.push(t)})):o.push(t)}return o},Ve=(o,n=[])=>{((e,t)=>{const{O:o,R:n,B:a,N:s,Z:c,G:r,X:i}=m.o;let l=[];if(e){v(e)?l.push(...e):y(e)&&(l='all'===e?o:[e]);for(const e of o)c[e]=b(l,e)?w(i[e]):[]}else l=[...n,...r],s&&(l=(()=>{const e=m.ne.ae;if(!e)return[];let t=[];for(let o in e)e[o].checked&&t.push(o);return t})());l=l.filter((e=>!b(o,e)||!b(t,e))),l.push(...a),J(l)})(o,n),(e=>{const t=m.o,{Z:o,B:n,Y:a,X:s,O:c}=t,r=c;t.te=F(a);for(const e of r){const c=s[e],r=w(c),i=o[e]&&o[e].length>0,l=b(n,e);if(0!==r.length){if(a[e]=[],l)a[e].push(...r);else if(i){const t=o[e];a[e].push(...t)}else a[e]=t.Z[e];a[e]=S(a[e])}}})(),(()=>{const o=m.o;o.L=m.t.mode===t&&o.D?G(o.G,o.R):G(o.R,o.p.categories);let n=o.L.length>0,a=!1;for(const e of o.O)o.ee[e]=G(o.Y[e],o.te[e]),o.ee[e].length>0&&(a=!0);const s=m.ne.ae;for(const e in s)s[e].checked=b(o.R,e);for(const e of o.O){const t=m.ne.se[e],n=o.Y[e];for(const e in t)t[e].checked=b(n,e)}o.C||(o.C=new Date),o.M||(o.M=([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)))),o.p={categories:F(o.R),revision:m.t.revision,data:o.h,consentTimestamp:o.C.toISOString(),consentId:o.M,services:F(o.Y)};let c=!1;const r=n||a;(o.D||r)&&(o.D&&(o.D=!1,c=!0),o.S=o.S?new Date:o.C,o.p.lastConsentTimestamp=o.S.toISOString(),ke(),m.t.autoClearCookies&&(c||r)&&(e=>{const t=m.o,o=He(),n=(e=>{const t=m.o;return(e?t.O:t.L).filter((e=>{const o=t.P[e];return!!o&&!o.readOnly&&!!o.autoClear}))})(e);for(const e in t.ee)for(const n of t.ee[e]){const a=t.X[e][n].cookies;if(!b(t.Y[e],n)&&a)for(const e of a){const t=Te(o,e.name);Ee(t,e.path,e.domain)}}for(const a of n){const n=t.P[a].autoClear,s=n&&n.cookies||[],c=b(t.L,a),r=!b(t.R,a),i=c&&r;if(e?r:i){n.reloadPage&&i&&(t.j=!0);for(const e of s){const t=Te(o,e.name);Ee(t,e.path,e.domain)}}}})(c),oe()),c&&(ee(m.re.ie),ee(m.re.le),m.t.mode===e)||(r&&ee(m.re.de),o.j&&(o.j=!1,location.reload()))})()},Ie=e=>{const t=m.o.D?[]:m.o.R;return b(t,e)},Le=(e,t)=>{const{O:o,X:n}=m.o;if(!(e&&t&&y(t)&&b(o,t)&&0!==w(n[t]).length))return!1;((e,t)=>{const o=m.o,{X:n,Z:a,N:s}=o,c=m.ne.se[t]||{},r=m.ne.ae[t]||{},i=w(n[t]);if(a[t]=[],y(e)){if('all'===e){if(a[t].push(...i),s)for(let e in c)c[e].checked=!0,T(c[e])}else if(b(i,e)&&a[t].push(e),s)for(let t in c)c[t].checked=e===t,T(c[t])}else if(v(e))for(let o of i){const n=b(e,o);n&&a[t].push(o),s&&(c[o].checked=n,T(c[o]))}const l=0===a[t].length;o.R=l?o.R.filter((e=>e!==t)):S([...o.R,t]),s&&(r.checked=!l,T(r))})(e,t),Ve()},je=(e,t)=>{const o=m.o.D?[]:m.o.Y[t]||[];return b(o,e)},Fe=e=>''!==Ne(e,!0),Pe=(e,t,o)=>{let n=[];const a=e=>{if(y(e)){let t=Ne(e);''!==t&&n.push(t)}else n.push(...He(e))};if(v(e))for(let t of e)a(t);else a(e);Ee(n,t,o)},Oe=e=>{const{ne:t,o:n}=m;if(!n.k){if(!n.T){if(!e)return;ye(Je,Me)}n.k=!0,n.U=x(),n.v&&K(!0),z(t.he,1),V(t.ye,o),E(t.he,i,'false'),setTimeout((()=>{$(m.ne.be)}),100),ee(m.re.fe,_)}},Re=()=>{const{ne:e,o:t,re:n}=m;t.k&&(t.k=!1,t.v&&K(),$(e.Ke,!0),j(e.ye,o),E(e.he,i,'true'),$(t.U),t.U=null,ee(n._e,_))},Be=()=>{const e=m.o;e.A||(e.N||ge(Je,Me),e.A=!0,e.k?e.$=x():e.U=x(),z(m.ne.we,2),V(m.ne.ye,n),E(m.ne.we,i,'false'),setTimeout((()=>{$(m.ne.ve)}),100),ee(m.re.fe,u))},Ge=()=>{const e=m.o;e.A&&(e.A=!1,(()=>{const e=We(),t=m.o.P,o=m.ne.ae,n=m.ne.se,a=e=>b(m.o.G,e);for(const s in o){const c=!!t[s].readOnly;o[s].checked=c||(e?Ie(s):a(s));for(const t in n[s])n[s][t].checked=c||(e?je(t,s):a(s))}})(),$(m.ne.Ge,!0),j(m.ne.ye,n),E(m.ne.we,i,'true'),e.k?($(e.$),e.$=null):($(e.U),e.U=null),ee(m.re._e,u))};var Je={show:Oe,hide:Re,showPreferences:Be,hidePreferences:Ge,acceptCategory:Ve};const Ue=async(e,t)=>{if(!he(e))return!1;const o=m.o;return!(e===Ce()&&!0!==t||!await Se(e)||(we(e),o.T&&ye(Je,Me),o.N&&ge(Je,Me),xe(),0))},$e=()=>{const{F:e,Y:t}=m.o,{accepted:o,rejected:n}=(()=>{const{D:e,R:t,O:o}=m.o;return{accepted:t,rejected:e?[]:o.filter((e=>!b(t,e)))}})();return F({acceptType:e,acceptedCategories:o,rejectedCategories:n,acceptedServices:t,rejectedServices:P()})},ze=(e,t)=>{let o=document.querySelector('script[src="'+e+'"]');return new Promise((n=>{if(o)return n(!0);if(o=k('script'),h(t))for(const e in t)E(o,e,t[e]);o.onload=()=>n(!0),o.onerror=()=>{o.remove(),n(!1)},o.src=e,H(document.head,o)}))},qe=e=>{let t,o=e.value,n=e.mode,a=!1;const s=m.o;if('update'===n){s.h=t=Ke('data');const e=typeof t==typeof o;if(e&&'object'==typeof t){!t&&(t={});for(let e in o)t[e]!==o[e]&&(t[e]=o[e],a=!0)}else!e&&t||t===o||(t=o,a=!0)}else t=o,a=!0;return a&&(s.h=t,s.p.data=t,ke(!0)),a},Ke=(e,t)=>{const o=Ae(t);return e?o[e]:o},Qe=e=>{const t=m.t,o=m.o.i;return e?t[e]||o[e]:{...t,...o,cookie:{...t.cookie}}},We=()=>!m.o.D,Xe=async e=>{const{o:o,t:n,re:a}=m,c=window;if(!c._ccRun){if(c._ccRun=!0,(e=>{const{ne:o,t:n,o:a}=m,c=n,r=a,{cookie:i}=c,l=m.ce,d=e.cookie,f=e.categories,_=w(f)||[],u=navigator,p=document;o.$e=p,o.ye=p.documentElement,i.domain=location.hostname,r.i=e,r.P=f,r.O=_,r._=e.language.translations,r.v=!!e.disablePageInteraction,l.ie=e.onFirstConsent,l.le=e.onConsent,l.de=e.onChange,l._e=e.onModalHide,l.fe=e.onModalShow,l.ue=e.onModalReady;const{mode:g,autoShow:v,lazyHtmlGeneration:y,autoClearCookies:C,revision:S,manageScriptTags:x,hideFromBots:M}=e;g===t&&(c.mode=g),'boolean'==typeof C&&(c.autoClearCookies=C),'boolean'==typeof x&&(c.manageScriptTags=x),'number'==typeof S&&S>=0&&(c.revision=S,r.V=!0),'boolean'==typeof v&&(c.autoShow=v),'boolean'==typeof y&&(c.lazyHtmlGeneration=y),!1===M&&(c.hideFromBots=!1),!0===c.hideFromBots&&u&&(r.J=u.userAgent&&/bot|crawl|spider|slurp|teoma/i.test(u.userAgent)||u.webdriver),h(d)&&(c.cookie={...i,...d}),c.autoClearCookies,r.V,c.manageScriptTags,(e=>{const{P:t,X:o,Y:n,Z:a,B:s}=m.o;for(let c of e){const e=t[c],r=e.services||{},i=h(r)&&w(r)||[];o[c]={},n[c]=[],a[c]=[],e.readOnly&&(s.push(c),n[c]=i),m.ne.se[c]={};for(let e of i){const t=r[e];t.Se=!1,o[c][e]=t}}})(_),(()=>{if(!m.t.manageScriptTags)return;const e=m.o,t=D(document,'script['+s+']');for(const o of t){let t=N(o,s),n=o.dataset.service||'',a=!1;if(t&&'!'===t.charAt(0)&&(t=t.slice(1),a=!0),'!'===n.charAt(0)&&(n=n.slice(1),a=!0),b(e.O,t)&&(e.oe.push({Me:o,xe:!1,ke:a,De:t,Te:n}),n)){const o=e.X[t];o[n]||(o[n]={Se:!1})}}})(),we((()=>{const e=m.o.i.language.autoDetect;if(e){const t={browser:navigator.language,document:document.documentElement.lang},o=he(t[e]);if(o)return o}return Ce()})())})(e),o.J)return;(()=>{const e=m.o,o=m.t,n=Ae(),{categories:a,services:s,consentId:c,consentTimestamp:r,lastConsentTimestamp:i,data:l,revision:d}=n,f=v(a);e.p=n,e.M=c;const _=!!c&&y(c);e.C=r,e.C&&(e.C=new Date(r)),e.S=i,e.S&&(e.S=new Date(i)),e.h=void 0!==l?l:null,e.V&&_&&d!==o.revision&&(e.I=!1),e.D=!(_&&e.I&&e.C&&e.S&&f),o.cookie.useLocalStorage&&!e.D&&(e.D=(new Date).getTime()>(n.expirationTime||0),e.D&&De(o.cookie.name)),e.D,(()=>{const e=m.o;for(const o of e.O){const n=e.P[o];if(n.readOnly||n.enabled){e.G.push(o);const n=e.X[o]||{};for(let a in n)e.Z[o].push(a),e.i.mode===t&&e.Y[o].push(a)}}})(),e.D?o.mode===t&&(e.R=[...e.G]):(e.Z={...e.Y},e.Y={...e.Y,...s},J([...e.B,...a]))})();const i=We();if(!await Se())return!1;if(U(null,r=Je,ge,Me),m.o.D&&ye(r,Me),m.t.lazyHtmlGeneration||ge(r,Me),n.autoShow&&!i&&Oe(!0),i)return oe(),ee(a.le);n.mode===t&&oe(o.G)}var r},Ye=e=>{const{Ce:t,ye:s}=m.ne,{name:c,path:r,domain:i,useLocalStorage:l}=m.t.cookie;e&&(l?De(c):Pe(c,r,i));for(const{pe:e,me:t,ge:o}of m.o.m)e.removeEventListener(t,o);t&&t.remove(),s&&s.classList.remove(a,n,o);const d=new p;for(const e in m)m[e]=d[e];window._ccRun=!1};export{Ve as acceptCategory,Le as acceptService,Ie as acceptedCategory,je as acceptedService,Pe as eraseCookies,Qe as getConfig,Ke as getCookie,$e as getUserPreferences,Re as hide,Ge as hidePreferences,ze as loadScript,Ye as reset,Xe as run,qe as setCookieData,Ue as setLanguage,Oe as show,Be as showPreferences,We as validConsent,Fe as validCookie}; +const e='opt-in',t='opt-out',o='show--consent',n='show--preferences',a='disable--interaction',s='data-category',c='div',r='button',i='aria-hidden',l='btn-group',d='click',f='data-role',_='consentModal',u='preferencesModal';class p{constructor(){this.t={mode:e,revision:0,autoShow:!0,lazyHtmlGeneration:!0,autoClearCookies:!0,manageScriptTags:!0,hideFromBots:!0,cookie:{name:'cc_cookie',expiresAfterDays:182,domain:'',path:'/',secure:!0,sameSite:'Lax'}},this.o={i:{},l:'',_:{},u:{},p:{},m:[],v:!1,h:null,C:null,S:null,M:'',D:!0,T:!1,k:!1,A:!1,N:!1,H:[],V:!1,j:!0,I:[],L:!1,F:'',O:!1,P:[],R:[],B:[],$:[],G:!1,J:!1,U:!1,q:[],K:[],W:[],X:{},Y:{},Z:{},ee:{},te:{},oe:[]},this.ne={ae:{},se:{}},this.ce={},this.re={ie:'cc:onFirstConsent',le:'cc:onConsent',de:'cc:onChange',fe:'cc:onModalShow',_e:'cc:onModalHide',ue:'cc:onModalReady'}}}const g=new p,m=(e,t)=>e.indexOf(t),b=(e,t)=>-1!==m(e,t),v=e=>Array.isArray(e),y=e=>'string'==typeof e,h=e=>!!e&&'object'==typeof e&&!v(e),C=e=>'function'==typeof e,w=e=>Object.keys(e),S=e=>Array.from(new Set(e)),x=()=>document.activeElement,M=e=>e.preventDefault(),D=(e,t)=>e.querySelectorAll(t),T=e=>e.dispatchEvent(new Event('change')),k=e=>{const t=document.createElement(e);return e===r&&(t.type=e),t},E=(e,t,o)=>e.setAttribute(t,o),A=(e,t,o)=>{e.removeAttribute(o?'data-'+t:t)},N=(e,t,o)=>e.getAttribute(o?'data-'+t:t),H=(e,t)=>e.appendChild(t),V=(e,t)=>e.classList.add(t),j=(e,t)=>V(e,'cm__'+t),I=(e,t)=>V(e,'pm__'+t),L=(e,t)=>e.classList.remove(t),F=e=>{if('object'!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());let t=Array.isArray(e)?[]:{};for(let o in e){let n=e[o];t[o]=F(n)}return t},O=()=>{const e={},{P:t,X:o,Y:n}=g.o;for(const a of t)e[a]=$(n[a],w(o[a]));return e},P=(e,t)=>dispatchEvent(new CustomEvent(e,{detail:t})),R=(e,t,o,n)=>{e.addEventListener(t,o),n&&g.o.m.push({pe:e,ge:t,me:o})},B=()=>{const e=g.t.cookie.expiresAfterDays;return C(e)?e(g.o.F):e},$=(e,t)=>{const o=e||[],n=t||[];return o.filter((e=>!b(n,e))).concat(n.filter((e=>!b(o,e))))},G=e=>{g.o.R=S(e),g.o.F=(()=>{let e='custom';const{R:t,P:o,B:n}=g.o,a=t.length;return a===o.length?e='all':a===n.length&&(e='necessary'),e})()},J=(e,t,o,n)=>{const a='accept-',{show:s,showPreferences:c,hide:r,hidePreferences:i,acceptCategory:l}=t,f=e||document,_=e=>D(f,`[data-cc="${e}"]`),u=(e,t)=>{M(e),l(t),i(),r()},p=_('show-preferencesModal'),m=_('show-consentModal'),b=_(a+'all'),v=_(a+'necessary'),y=_(a+'custom'),h=g.t.lazyHtmlGeneration;for(const e of p)E(e,'aria-haspopup','dialog'),R(e,d,(e=>{M(e),c()})),h&&(R(e,'mouseenter',(e=>{M(e),g.o.N||o(t,n)}),!0),R(e,'focus',(()=>{g.o.N||o(t,n)})));for(let e of m)E(e,'aria-haspopup','dialog'),R(e,d,(e=>{M(e),s(!0)}),!0);for(let e of b)R(e,d,(e=>{u(e,'all')}),!0);for(let e of y)R(e,d,(e=>{u(e)}),!0);for(let e of v)R(e,d,(e=>{u(e,[])}),!0)},U=(e,t)=>{e&&(t&&(e.tabIndex=-1),e.focus(),t&&e.removeAttribute('tabindex'))},z=(e,t)=>{const o=n=>{n.target.removeEventListener('transitionend',o),'opacity'===n.propertyName&&'1'===getComputedStyle(e).opacity&&U((e=>1===e?g.ne.be:g.ne.ve)(t))};R(e,'transitionend',o)};let q;const K=e=>{clearTimeout(q),e?V(g.ne.ye,a):q=setTimeout((()=>{L(g.ne.ye,a)}),500)},Q=['M 19.5 4.5 L 4.5 19.5 M 4.5 4.501 L 19.5 19.5','M 3.572 13.406 L 8.281 18.115 L 20.428 5.885','M 21.999 6.94 L 11.639 17.18 L 2.001 6.82 '],W=(e=0,t=1.5)=>``,X=e=>{const t=g.ne,o=g.o;(e=>{const n=e===t.he,a=o.i.disablePageInteraction?t.ye:n?t.Ce:t.ye;R(a,'keydown',(t=>{if('Tab'!==t.key||!(n?o.k&&!o.A:o.A))return;const a=x(),s=n?o.q:o.K;0!==s.length&&(t.shiftKey?a!==s[0]&&e.contains(a)||(M(t),U(s[1])):a!==s[1]&&e.contains(a)||(M(t),U(s[0])))}),!0)})(e)},Y=['[href]',r,'input','details','[tabindex]'].map((e=>e+':not([tabindex="-1"])')).join(','),Z=e=>{const{o:t,ne:o}=g,n=(e,t)=>{const o=D(e,Y);t[0]=o[0],t[1]=o[o.length-1]};1===e&&t.T&&n(o.he,t.q),2===e&&t.N&&n(o.we,t.K)},ee=(e,t,o)=>{const{de:n,le:a,ie:s,_e:c,ue:r,fe:i}=g.ce,l=g.re;if(t){const n={modalName:t};return e===l.fe?C(i)&&i(n):e===l._e?C(c)&&c(n):(n.modal=o,C(r)&&r(n)),P(e,n)}const d={cookie:g.o.p};e===l.ie?C(s)&&s(F(d)):e===l.le?C(a)&&a(F(d)):(d.changedCategories=g.o.I,d.changedServices=g.o.ee,C(n)&&n(F(d))),P(e,F(d))},te=(e,t)=>{try{return e()}catch(e){return!t&&console.warn('CookieConsent:',e),!1}},oe=e=>{const{Y:t,ee:o,P:n,X:a,oe:c,p:r,I:i}=g.o;for(const e of n){const n=o[e]||t[e]||[];for(const o of n){const n=a[e][o];if(!n)continue;const{onAccept:s,onReject:c}=n;!n.Se&&b(t[e],o)?(n.Se=!0,C(s)&&s()):n.Se&&!b(t[e],o)&&(n.Se=!1,C(c)&&c())}}if(!g.t.manageScriptTags)return;const l=c,d=e||r.categories||[],f=(e,n)=>{if(n>=e.length)return;const a=c[n];if(a.xe)return f(e,n+1);const r=a.Me,l=a.De,_=a.Te,u=b(d,l),p=!!_&&b(t[l],_);if(!_&&!a.ke&&u||!_&&a.ke&&!u&&b(i,l)||_&&!a.ke&&p||_&&a.ke&&!p&&b(o[l]||[],_)){a.xe=!0;const t=N(r,'type',!0);A(r,'type',!!t),A(r,s);let o=N(r,'src',!0);o&&A(r,'src',!0);const c=k('script');c.textContent=r.innerHTML;for(const{nodeName:e}of r.attributes)E(c,e,r[e]||N(r,e));t&&(c.type=t),o?c.src=o:o=r.src;const i=!!o&&(!t||['text/javascript','module'].includes(t));if(i&&(c.onload=c.onerror=()=>{f(e,++n)}),r.replaceWith(c),i)return}f(e,++n)};f(l,0)},ne='bottom',ae='left',se='center',ce='right',re='inline',ie='wide',le='pm--',de=['middle','top',ne],fe=[ae,se,ce],_e={box:{Ee:[ie,re],Ae:de,Ne:fe,He:ne,Ve:ce},cloud:{Ee:[re],Ae:de,Ne:fe,He:ne,Ve:se},bar:{Ee:[re],Ae:de.slice(1),Ne:[],He:ne,Ve:''}},ue={box:{Ee:[],Ae:[],Ne:[],He:'',Ve:''},bar:{Ee:[ie],Ae:[],Ne:[ae,ce],He:'',Ve:ae}},pe=e=>{const t=g.o.i.guiOptions,o=t&&t.consentModal,n=t&&t.preferencesModal;0===e&&ge(g.ne.he,_e,o,'cm--','box','cm'),1===e&&ge(g.ne.we,ue,n,le,'box','pm')},ge=(e,t,o,n,a,s)=>{e.className=s;const c=o&&o.layout,r=o&&o.position,i=o&&o.flipButtons,l=!o||!1!==o.equalWeightButtons,d=c&&c.split(' ')||[],f=d[0],_=d[1],u=f in t?f:a,p=t[u],m=b(p.Ee,_)&&_,v=r&&r.split(' ')||[],y=v[0],h=n===le?v[0]:v[1],C=b(p.Ae,y)?y:p.He,w=b(p.Ne,h)?h:p.Ve,S=t=>{t&&V(e,n+t)};S(u),S(m),S(C),S(w),i&&S('flip');const x=s+'__btn--secondary';if('cm'===s){const{je:e,Ie:t}=g.ne;e&&(l?L(e,x):V(e,x)),t&&(l?L(t,x):V(t,x))}else{const{Le:e}=g.ne;e&&(l?L(e,x):V(e,x))}},me=(e,t)=>{const o=g.o,n=g.ne,{hide:a,hidePreferences:s,acceptCategory:_}=e,p=e=>{_(e),s(),a()},m=o.u&&o.u.preferencesModal;if(!m)return;const b=m.title,v=m.closeIconLabel,C=m.acceptAllBtn,S=m.acceptNecessaryBtn,x=m.savePreferencesBtn,M=m.sections||[],D=C||S||x;if(n.Fe)n.Oe=k(c),I(n.Oe,'body');else{n.Fe=k(c),V(n.Fe,'pm-wrapper');const e=k('div');V(e,'pm-overlay'),H(n.Fe,e),R(e,d,s),n.we=k(c),V(n.we,'pm'),E(n.we,'role','dialog'),E(n.we,i,!0),E(n.we,'aria-modal',!0),E(n.we,'aria-labelledby','pm__title'),R(n.ye,'keydown',(e=>{27===e.keyCode&&s()}),!0),n.Pe=k(c),I(n.Pe,'header'),n.Re=k('h2'),I(n.Re,'title'),n.Re.id='pm__title',n.Be=k(r),I(n.Be,'close-btn'),E(n.Be,'aria-label',m.closeIconLabel||''),R(n.Be,d,s),n.$e=k('span'),n.$e.innerHTML=W(),H(n.Be,n.$e),n.Ge=k(c),I(n.Ge,'body'),n.Je=k(c),I(n.Je,'footer');var T=k(c);V(T,'btns');var A=k(c),N=k(c);I(A,l),I(N,l),H(n.Je,A),H(n.Je,N),H(n.Pe,n.Re),H(n.Pe,n.Be),n.ve=k(c),E(n.ve,'tabIndex',-1),H(n.we,n.ve),H(n.we,n.Pe),H(n.we,n.Ge),D&&H(n.we,n.Je),H(n.Fe,n.we)}let j;b&&(n.Re.innerHTML=b,v&&E(n.Be,'aria-label',v)),M.forEach(((e,t)=>{const a=e.title,s=e.description,l=e.linkedCategory,f=l&&o.O[l],_=e.cookieTable,u=_&&_.body,p=_&&_.caption,g=u&&u.length>0,b=!!f,v=b&&o.X[l],C=h(v)&&w(v)||[],S=b&&(!!s||!!g||w(v).length>0);var x=k(c);if(I(x,'section'),S||s){var M=k(c);I(M,'section-desc-wrapper')}let D=C.length;if(S&&D>0){const e=k(c);I(e,'section-services');for(const t of C){const o=v[t],n=o&&o.label||t,a=k(c),s=k(c),r=k(c),i=k(c);I(a,'service'),I(i,'service-title'),I(s,'service-header'),I(r,'service-icon');const d=be(n,t,f,!0,l);i.innerHTML=n,H(s,r),H(s,i),H(a,s),H(a,d),H(e,a)}H(M,e)}if(a){var T=k(c),A=k(b?r:c);if(I(T,'section-title-wrapper'),I(A,'section-title'),A.innerHTML=a,H(T,A),b){const e=k('span');e.innerHTML=W(2,3.5),I(e,'section-arrow'),H(T,e),x.className+='--toggle';const t=be(a,l,f);let o=m.serviceCounterLabel;if(D>0&&y(o)){let e=k('span');I(e,'badge'),I(e,'service-counter'),E(e,i,!0),E(e,'data-servicecounter',D),o&&(o=o.split('|'),o=o.length>1&&D>1?o[1]:o[0],E(e,'data-counterlabel',o)),e.innerHTML=D+(o?' '+o:''),H(A,e)}if(S){I(x,'section--expandable');var N=l+'-desc';E(A,'aria-expanded',!1),E(A,'aria-controls',N)}H(T,t)}else E(A,'role','heading'),E(A,'aria-level','3');H(x,T)}if(s){var F=k('p');I(F,'section-desc'),F.innerHTML=s,H(M,F)}if(S&&(E(M,i,'true'),M.id=N,((e,t,o)=>{R(A,d,(()=>{t.classList.contains('is-expanded')?(L(t,'is-expanded'),E(o,'aria-expanded','false'),E(e,i,'true')):(V(t,'is-expanded'),E(o,'aria-expanded','true'),E(e,i,'false'))}))})(M,x,A),g)){const e=k('table'),o=k('thead'),a=k('tbody');if(p){const t=k('caption');I(t,'table-caption'),t.innerHTML=p,e.appendChild(t)}I(e,'section-table'),I(o,'table-head'),I(a,'table-body');const s=_.headers,r=w(s),i=n.Ue.createDocumentFragment(),l=k('tr');for(const e of r){const o=s[e],n=k('th');n.id='cc__row-'+o+t,E(n,'scope','col'),I(n,'table-th'),n.innerHTML=o,H(i,n)}H(l,i),H(o,l);const d=n.Ue.createDocumentFragment();for(const e of u){const o=k('tr');I(o,'table-tr');for(const n of r){const a=s[n],r=e[n],i=k('td'),l=k(c);I(i,'table-td'),E(i,'data-column',a),E(i,'headers','cc__row-'+a+t),l.insertAdjacentHTML('beforeend',r),H(i,l),H(o,i)}H(d,o)}H(a,d),H(e,o),H(e,a),H(M,e)}(S||s)&&H(x,M);const O=n.Oe||n.Ge;b?(j||(j=k(c),I(j,'section-toggles')),j.appendChild(x)):j=null,H(O,j||x)})),C&&(n.ze||(n.ze=k(r),I(n.ze,'btn'),E(n.ze,f,'all'),H(A,n.ze),R(n.ze,d,(()=>p('all')))),n.ze.innerHTML=C),S&&(n.Le||(n.Le=k(r),I(n.Le,'btn'),E(n.Le,f,'necessary'),H(A,n.Le),R(n.Le,d,(()=>p([])))),n.Le.innerHTML=S),x&&(n.qe||(n.qe=k(r),I(n.qe,'btn'),I(n.qe,'btn--secondary'),E(n.qe,f,'save'),H(N,n.qe),R(n.qe,d,(()=>p()))),n.qe.innerHTML=x),n.Oe&&(n.we.replaceChild(n.Oe,n.Ge),n.Ge=n.Oe),pe(1),o.N||(o.N=!0,ee(g.re.ue,u,n.we),t(e),H(n.Ce,n.Fe),X(n.we),setTimeout((()=>V(n.Fe,'cc--anim')),100)),Z(2)};function be(e,t,o,n,a){const c=g.o,r=g.ne,l=k('label'),f=k('input'),_=k('span'),u=k('span'),p=k('span'),m=k('span'),v=k('span');if(m.innerHTML=W(1,3),v.innerHTML=W(0,3),f.type='checkbox',V(l,'section__toggle-wrapper'),V(f,'section__toggle'),V(m,'toggle__icon-on'),V(v,'toggle__icon-off'),V(_,'toggle__icon'),V(u,'toggle__icon-circle'),V(p,'toggle__label'),E(_,i,'true'),n?(V(l,'toggle-service'),E(f,s,a),r.se[a][t]=f):r.ae[t]=f,n?(e=>{R(f,'change',(()=>{const t=r.se[e],o=r.ae[e];c.Z[e]=[];for(let o in t){const n=t[o];n.checked&&c.Z[e].push(n.value)}o.checked=c.Z[e].length>=Object.keys(t).length}))})(a):(e=>{R(f,d,(()=>{const t=r.se[e],o=f.checked;c.Z[e]=[];for(let n in t)t[n].checked=o,o&&c.Z[e].push(n)}))})(t),f.value=t,p.textContent=e.replace(/<.*>.*<\/.*>/gm,''),H(u,v),H(u,m),H(_,u),c.D)(o.readOnly||o.enabled)&&(f.checked=!0);else if(n){const e=c.Y[a];f.checked=o.readOnly||b(e,t)}else b(c.R,t)&&(f.checked=!0);return o.readOnly&&(f.disabled=!0),H(l,f),H(l,_),H(l,p),l}const ve=()=>{const e=k('span');return g.ne.Ke||(g.ne.Ke=e),e},ye=(e,t)=>{const o=g.o,n=g.ne,{hide:a,showPreferences:s,acceptCategory:u}=e,p=o.u&&o.u.consentModal;if(!p)return;const m=p.acceptAllBtn,b=p.acceptNecessaryBtn,v=p.showPreferencesBtn,y=p.closeIconLabel,h=p.footer,C=p.label,w=p.title,S=e=>{a(),u(e)};if(!n.Qe){n.Qe=k(c),n.he=k(c),n.We=k(c),n.Xe=k(c),n.Ye=k(c),V(n.Qe,'cm-wrapper'),V(n.he,'cm'),j(n.We,'body'),j(n.Xe,'texts'),j(n.Ye,'btns'),E(n.he,'role','dialog'),E(n.he,'aria-modal','true'),E(n.he,i,'false'),E(n.he,'aria-describedby','cm__desc'),C?E(n.he,'aria-label',C):w&&E(n.he,'aria-labelledby','cm__title');const e='box',t=o.i.guiOptions,a=t&&t.consentModal,s=(a&&a.layout||e).split(' ')[0]===e;w&&y&&s&&(n.Ie||(n.Ie=k(r),n.Ie.innerHTML=W(),j(n.Ie,'btn'),j(n.Ie,'btn--close'),R(n.Ie,d,(()=>{S([])})),H(n.We,n.Ie)),E(n.Ie,'aria-label',y)),H(n.We,n.Xe),(m||b||v)&&H(n.We,n.Ye),n.be=k(c),E(n.be,'tabIndex',-1),H(n.he,n.be),H(n.he,n.We),H(n.Qe,n.he)}w&&(n.Ze||(n.Ze=k('h2'),n.Ze.className=n.Ze.id='cm__title',H(n.Xe,n.Ze)),n.Ze.innerHTML=w);let x=p.description;if(x&&(o.V&&(x=x.replace('{{revisionMessage}}',o.j?'':p.revisionMessage||'')),n.et||(n.et=k('p'),n.et.className=n.et.id='cm__desc',H(n.Xe,n.et)),n.et.innerHTML=x),m&&(n.tt||(n.tt=k(r),H(n.tt,ve()),j(n.tt,'btn'),E(n.tt,f,'all'),R(n.tt,d,(()=>{S('all')}))),n.tt.firstElementChild.innerHTML=m),b&&(n.je||(n.je=k(r),H(n.je,ve()),j(n.je,'btn'),E(n.je,f,'necessary'),R(n.je,d,(()=>{S([])}))),n.je.firstElementChild.innerHTML=b),v&&(n.ot||(n.ot=k(r),H(n.ot,ve()),j(n.ot,'btn'),j(n.ot,'btn--secondary'),E(n.ot,f,'show'),R(n.ot,'mouseenter',(()=>{o.N||me(e,t)})),R(n.ot,d,s)),n.ot.firstElementChild.innerHTML=v),n.nt||(n.nt=k(c),j(n.nt,l),m&&H(n.nt,n.tt),b&&H(n.nt,n.je),(m||b)&&H(n.We,n.nt),H(n.Ye,n.nt)),n.ot&&!n.st&&(n.st=k(c),n.je&&n.tt?(j(n.st,l),H(n.st,n.ot),H(n.Ye,n.st)):(H(n.nt,n.ot),j(n.nt,l+'--uneven'))),h){if(!n.ct){let e=k(c),t=k(c);n.ct=k(c),j(e,'footer'),j(t,'links'),j(n.ct,'link-group'),H(t,n.ct),H(e,t),H(n.he,e)}n.ct.innerHTML=h}pe(0),o.T||(o.T=!0,ee(g.re.ue,_,n.he),t(e),H(n.Ce,n.Qe),X(n.he),setTimeout((()=>V(n.Qe,'cc--anim')),100)),Z(1),J(n.We,e,me,t)},he=e=>{if(!y(e))return null;if(e in g.o._)return e;let t=e.slice(0,2);return t in g.o._?t:null},Ce=()=>g.o.l||g.o.i.language.default,we=e=>{e&&(g.o.l=e)},Se=async e=>{const t=g.o;let o=he(e)?e:Ce(),n=t._[o];if(y(n)?n=await(async e=>{try{const t=await fetch(e);return await t.json()}catch(e){return console.error(e),!1}})(n):C(n)&&(n=await n()),!n)throw`Could not load translation for the '${o}' language`;return t.u=n,we(o),!0},xe=()=>{let e=g.o.i.language.rtl,t=g.ne.Ce;e&&t&&(v(e)||(e=[e]),b(e,g.o.l)?V(t,'cc--rtl'):L(t,'cc--rtl'))},Me=()=>{const e=g.ne;if(e.Ce)return;e.Ce=k(c),e.Ce.id='cc-main',e.Ce.setAttribute('data-nosnippet',''),xe();let t=g.o.i.root;t&&y(t)&&(t=document.querySelector(t)),(t||e.Ue.body).appendChild(e.Ce)},De=e=>te((()=>localStorage.removeItem(e))),Te=(e,t)=>{if(t instanceof RegExp)return e.filter((e=>t.test(e)));{const o=m(e,t);return o>-1?[e[o]]:[]}},ke=e=>{const{hostname:t,protocol:o}=location,{name:n,path:a,domain:s,sameSite:c,useLocalStorage:r,secure:i}=g.t.cookie,l=e?(()=>{const e=g.o.S,t=e?new Date-e:0;return 864e5*B()-t})():864e5*B(),d=new Date;d.setTime(d.getTime()+l),g.o.p.expirationTime=d.getTime();const f=JSON.stringify(g.o.p);let _=n+'='+encodeURIComponent(f)+(0!==l?'; expires='+d.toUTCString():'')+'; Path='+a+'; SameSite='+c;b(t,'.')&&(_+='; Domain='+s),i&&'https:'===o&&(_+='; Secure'),r?((e,t)=>{te((()=>localStorage.setItem(e,t)))})(n,f):document.cookie=_,g.o.p},Ee=(e,t,o)=>{if(0===e.length)return;const n=o||g.t.cookie.domain,a=t||g.t.cookie.path,s='www.'===n.slice(0,4),c=s&&n.substring(4),r=(e,t)=>{document.cookie=e+'=; path='+a+(t?'; domain=.'+t:'')+'; expires=Thu, 01 Jan 1970 00:00:01 GMT;'};for(const t of e)r(t),r(t,n),s&&r(t,c)},Ae=e=>{const t=e||g.t.cookie.name,o=g.t.cookie.useLocalStorage;return((e,t)=>{let o;return o=te((()=>JSON.parse(t?e:decodeURIComponent(e))),!0)||{},o})(o?(n=t,te((()=>localStorage.getItem(n)))||''):Ne(t,!0),o);var n},Ne=(e,t)=>{const o=document.cookie.match('(^|;)\\s*'+e+'\\s*=\\s*([^;]+)');return o?t?o.pop():e:''},He=e=>{const t=document.cookie.split(/;\s*/),o=[];for(const n of t){let t=n.split('=')[0];e?te((()=>{e.test(t)&&o.push(t)})):o.push(t)}return o},Ve=(o,n=[])=>{((e,t)=>{const{P:o,R:n,B:a,N:s,Z:c,$:r,X:i}=g.o;let l=[];if(e){v(e)?l.push(...e):y(e)&&(l='all'===e?o:[e]);for(const e of o)c[e]=b(l,e)?w(i[e]):[]}else l=[...n,...r],s&&(l=(()=>{const e=g.ne.ae;if(!e)return[];let t=[];for(let o in e)e[o].checked&&t.push(o);return t})());l=l.filter((e=>!b(o,e)||!b(t,e))),l.push(...a),G(l)})(o,n),(e=>{const t=g.o,{Z:o,B:n,Y:a,X:s,P:c}=t,r=c;t.te=F(a);for(const e of r){const c=s[e],r=w(c),i=o[e]&&o[e].length>0,l=b(n,e);if(0!==r.length){if(a[e]=[],l)a[e].push(...r);else if(i){const t=o[e];a[e].push(...t)}else a[e]=t.Z[e];a[e]=S(a[e])}}})(),(()=>{const o=g.o;o.I=g.t.mode===t&&o.D?$(o.$,o.R):$(o.R,o.p.categories);let n=o.I.length>0,a=!1;for(const e of o.P)o.ee[e]=$(o.Y[e],o.te[e]),o.ee[e].length>0&&(a=!0);const s=g.ne.ae;for(const e in s)s[e].checked=b(o.R,e);for(const e of o.P){const t=g.ne.se[e],n=o.Y[e];for(const e in t)t[e].checked=b(n,e)}o.C||(o.C=new Date),o.M||(o.M=([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)))),o.p={categories:F(o.R),revision:g.t.revision,data:o.h,consentTimestamp:o.C.toISOString(),consentId:o.M,services:F(o.Y)},o.S&&(o.p.lastConsentTimestamp=o.S.toISOString());let c=!1;const r=n||a;(o.D||r)&&(o.D&&(o.D=!1,c=!0),o.S=o.S?new Date:o.C,o.p.lastConsentTimestamp=o.S.toISOString(),ke(),g.t.autoClearCookies&&(c||r)&&(e=>{const t=g.o,o=He(),n=(e=>{const t=g.o;return(e?t.P:t.I).filter((e=>{const o=t.O[e];return!!o&&!o.readOnly&&!!o.autoClear}))})(e);for(const e in t.ee)for(const n of t.ee[e]){const a=t.X[e][n].cookies;if(!b(t.Y[e],n)&&a)for(const e of a){const t=Te(o,e.name);Ee(t,e.path,e.domain)}}for(const a of n){const n=t.O[a].autoClear,s=n&&n.cookies||[],c=b(t.I,a),r=!b(t.R,a),i=c&&r;if(e?r:i){n.reloadPage&&i&&(t.L=!0);for(const e of s){const t=Te(o,e.name);Ee(t,e.path,e.domain)}}}})(c),oe()),c&&(ee(g.re.ie),ee(g.re.le),g.t.mode===e)||(r&&ee(g.re.de),o.L&&(o.L=!1,location.reload()))})()},je=e=>{const t=g.o.D?[]:g.o.R;return b(t,e)},Ie=(e,t)=>{const{P:o,X:n}=g.o;if(!(e&&t&&y(t)&&b(o,t)&&0!==w(n[t]).length))return!1;((e,t)=>{const o=g.o,{X:n,Z:a,N:s}=o,c=g.ne.se[t]||{},r=g.ne.ae[t]||{},i=w(n[t]);if(a[t]=[],y(e)){if('all'===e){if(a[t].push(...i),s)for(let e in c)c[e].checked=!0,T(c[e])}else if(b(i,e)&&a[t].push(e),s)for(let t in c)c[t].checked=e===t,T(c[t])}else if(v(e))for(let o of i){const n=b(e,o);n&&a[t].push(o),s&&(c[o].checked=n,T(c[o]))}const l=a[t].lengthe!==t)):S([...o.R,t]),s&&(r.checked=!l,T(r))})(e,t),Ve()},Le=(e,t)=>{const o=g.o.D?[]:g.o.Y[t]||[];return b(o,e)},Fe=e=>''!==Ne(e,!0),Oe=(e,t,o)=>{let n=[];const a=e=>{if(y(e)){let t=Ne(e);''!==t&&n.push(t)}else n.push(...He(e))};if(v(e))for(let t of e)a(t);else a(e);Ee(n,t,o)},Pe=e=>{const{ne:t,o:n}=g;if(!n.k){if(!n.T){if(!e)return;ye(Ge,Me)}n.k=!0,n.J=x(),n.v&&K(!0),z(t.he,1),V(t.ye,o),E(t.he,i,'false'),setTimeout((()=>{U(g.ne.be)}),100),ee(g.re.fe,_)}},Re=()=>{const{ne:e,o:t,re:n}=g;t.k&&(t.k=!1,t.v&&K(),U(e.Ke,!0),L(e.ye,o),E(e.he,i,'true'),U(t.J),t.J=null,ee(n._e,_))},Be=()=>{const e=g.o;e.A||(e.N||me(Ge,Me),e.A=!0,e.k?e.U=x():e.J=x(),z(g.ne.we,2),V(g.ne.ye,n),E(g.ne.we,i,'false'),setTimeout((()=>{U(g.ne.ve)}),100),ee(g.re.fe,u))},$e=()=>{const e=g.o;e.A&&(e.A=!1,(()=>{const e=We(),t=g.o.O,o=g.ne.ae,n=g.ne.se,a=e=>b(g.o.$,e);for(const s in o){const c=!!t[s].readOnly;o[s].checked=c||(e?je(s):a(s));for(const t in n[s])n[s][t].checked=c||(e?Le(t,s):a(s))}})(),U(g.ne.$e,!0),L(g.ne.ye,n),E(g.ne.we,i,'true'),e.k?(U(e.U),e.U=null):(U(e.J),e.J=null),ee(g.re._e,u))};var Ge={show:Pe,hide:Re,showPreferences:Be,hidePreferences:$e,acceptCategory:Ve};const Je=async(e,t)=>{if(!he(e))return!1;const o=g.o;return!(e===Ce()&&!0!==t||!await Se(e)||(we(e),o.T&&ye(Ge,Me),o.N&&me(Ge,Me),xe(),0))},Ue=()=>{const{F:e,Y:t}=g.o,{accepted:o,rejected:n}=(()=>{const{D:e,R:t,P:o}=g.o;return{accepted:t,rejected:e?[]:o.filter((e=>!b(t,e)))}})();return F({acceptType:e,acceptedCategories:o,rejectedCategories:n,acceptedServices:t,rejectedServices:O()})},ze=(e,t)=>{let o=document.querySelector('script[src="'+e+'"]');return new Promise((n=>{if(o)return n(!0);if(o=k('script'),h(t))for(const e in t)E(o,e,t[e]);o.onload=()=>n(!0),o.onerror=()=>{o.remove(),n(!1)},o.src=e,H(document.head,o)}))},qe=e=>{let t,o=e.value,n=e.mode,a=!1;const s=g.o;if('update'===n){s.h=t=Ke('data');const e=typeof t==typeof o;if(e&&'object'==typeof t){!t&&(t={});for(let e in o)t[e]!==o[e]&&(t[e]=o[e],a=!0)}else!e&&t||t===o||(t=o,a=!0)}else t=o,a=!0;return a&&(s.h=t,s.p.data=t,ke(!0)),a},Ke=(e,t)=>{const o=Ae(t);return e?o[e]:o},Qe=e=>{const t=g.t,o=g.o.i;return e?t[e]||o[e]:{...t,...o,cookie:{...t.cookie}}},We=()=>!g.o.D,Xe=async e=>{const{o:o,t:n,re:a}=g,c=window;if(!c._ccRun){if(c._ccRun=!0,(e=>{const{ne:o,t:n,o:a}=g,c=n,r=a,{cookie:i}=c,l=g.ce,d=e.cookie,f=e.categories,_=w(f)||[],u=navigator,p=document;o.Ue=p,o.ye=p.documentElement,i.domain=location.hostname,r.i=e,r.O=f,r.P=_,r._=e.language.translations,r.v=!!e.disablePageInteraction,l.ie=e.onFirstConsent,l.le=e.onConsent,l.de=e.onChange,l._e=e.onModalHide,l.fe=e.onModalShow,l.ue=e.onModalReady;const{mode:m,autoShow:v,lazyHtmlGeneration:y,autoClearCookies:C,revision:S,manageScriptTags:x,hideFromBots:M}=e;m===t&&(c.mode=m),'boolean'==typeof C&&(c.autoClearCookies=C),'boolean'==typeof x&&(c.manageScriptTags=x),'number'==typeof S&&S>=0&&(c.revision=S,r.V=!0),'boolean'==typeof v&&(c.autoShow=v),'boolean'==typeof y&&(c.lazyHtmlGeneration=y),!1===M&&(c.hideFromBots=!1),!0===c.hideFromBots&&u&&(r.G=u.userAgent&&/bot|crawl|spider|slurp|teoma/i.test(u.userAgent)||u.webdriver),h(d)&&(c.cookie={...i,...d}),c.autoClearCookies,r.V,c.manageScriptTags,(e=>{const{O:t,X:o,Y:n,Z:a,B:s}=g.o;for(let c of e){const e=t[c],r=e.services||{},i=h(r)&&w(r)||[];o[c]={},n[c]=[],a[c]=[],e.readOnly&&(s.push(c),n[c]=i),g.ne.se[c]={};for(let e of i){const t=r[e];t.Se=!1,o[c][e]=t}}})(_),(()=>{if(!g.t.manageScriptTags)return;const e=g.o,t=D(document,'script['+s+']');for(const o of t){let t=N(o,s),n=o.dataset.service||'',a=!1;if(t&&'!'===t.charAt(0)&&(t=t.slice(1),a=!0),'!'===n.charAt(0)&&(n=n.slice(1),a=!0),b(e.P,t)&&(e.oe.push({Me:o,xe:!1,ke:a,De:t,Te:n}),n)){const o=e.X[t];o[n]||(o[n]={Se:!1})}}})(),we((()=>{const e=g.o.i.language.autoDetect;if(e){const t={browser:navigator.language,document:document.documentElement.lang},o=he(t[e]);if(o)return o}return Ce()})())})(e),o.G)return;(()=>{const e=g.o,o=g.t,n=Ae(),{categories:a,services:s,consentId:c,consentTimestamp:r,lastConsentTimestamp:i,data:l,revision:d}=n,f=v(a);e.p=n,e.M=c;const _=!!c&&y(c);e.C=r,e.C&&(e.C=new Date(r)),e.S=i,e.S&&(e.S=new Date(i)),e.h=void 0!==l?l:null,e.V&&_&&d!==o.revision&&(e.j=!1),e.D=!(_&&e.j&&e.C&&e.S&&f),o.cookie.useLocalStorage&&!e.D&&(e.D=(new Date).getTime()>(n.expirationTime||0),e.D&&De(o.cookie.name)),e.D,(()=>{const e=g.o;for(const o of e.P){const n=e.O[o];if(n.readOnly||n.enabled){e.$.push(o);const n=e.X[o]||{};for(let a in n)e.Z[o].push(a),e.i.mode===t&&e.Y[o].push(a)}}})(),e.D?o.mode===t&&(e.R=[...e.$]):(e.Y={...e.Y,...s},e.Z={...e.Y},G([...e.B,...a]))})();const i=We();if(!await Se())return!1;if(J(null,r=Ge,me,Me),g.o.D&&ye(r,Me),g.t.lazyHtmlGeneration||me(r,Me),n.autoShow&&!i&&Pe(!0),i)return oe(),ee(a.le);n.mode===t&&oe(o.$)}var r},Ye=e=>{const{Ce:t,ye:s}=g.ne,{name:c,path:r,domain:i,useLocalStorage:l}=g.t.cookie;e&&(l?De(c):Oe(c,r,i));for(const{pe:e,ge:t,me:o}of g.o.m)e.removeEventListener(t,o);t&&t.remove(),s&&s.classList.remove(a,n,o);const d=new p;for(const e in g)g[e]=d[e];window._ccRun=!1};export{Ve as acceptCategory,Ie as acceptService,je as acceptedCategory,Le as acceptedService,Oe as eraseCookies,Qe as getConfig,Ke as getCookie,Ue as getUserPreferences,Re as hide,$e as hidePreferences,ze as loadScript,Ye as reset,Xe as run,qe as setCookieData,Je as setLanguage,Pe as show,Be as showPreferences,We as validConsent,Fe as validCookie}; diff --git a/dist/cookieconsent.umd.js b/dist/cookieconsent.umd.js index 1edeb4fc..bb15be71 100644 --- a/dist/cookieconsent.umd.js +++ b/dist/cookieconsent.umd.js @@ -4,4 +4,4 @@ * Author Orest Bida * Released under the MIT License */ -var e,t;e=this,t=function(e){'use strict';const t='opt-in',o='opt-out',n='show--consent',s='show--preferences',a='disable--interaction',c='data-category',r='div',i='button',l='aria-hidden',d='btn-group',f='click',_='data-role',u='consentModal',p='preferencesModal';class g{constructor(){this.t={mode:t,revision:0,autoShow:!0,lazyHtmlGeneration:!0,autoClearCookies:!0,manageScriptTags:!0,hideFromBots:!0,cookie:{name:'cc_cookie',expiresAfterDays:182,domain:'',path:'/',sameSite:'Lax'}},this.o={i:{},l:'',_:{},u:{},p:{},m:[],v:!1,h:null,C:null,S:null,M:'',T:!0,D:!1,k:!1,A:!1,N:!1,H:[],V:!1,j:!0,I:[],L:!1,F:'',P:!1,O:[],R:[],B:[],G:[],J:!1,U:!1,$:!1,q:[],K:[],W:[],X:{},Y:{},Z:{},ee:{},te:{},oe:[]},this.ne={se:{},ae:{}},this.ce={},this.re={ie:'cc:onFirstConsent',le:'cc:onConsent',de:'cc:onChange',fe:'cc:onModalShow',_e:'cc:onModalHide',ue:'cc:onModalReady'}}}const m=new g,b=(e,t)=>e.indexOf(t),v=(e,t)=>-1!==b(e,t),y=e=>Array.isArray(e),h=e=>'string'==typeof e,C=e=>!!e&&'object'==typeof e&&!y(e),w=e=>'function'==typeof e,S=e=>Object.keys(e),x=e=>Array.from(new Set(e)),M=()=>document.activeElement,T=e=>e.preventDefault(),D=(e,t)=>e.querySelectorAll(t),k=e=>e.dispatchEvent(new Event('change')),E=e=>{const t=document.createElement(e);return e===i&&(t.type=e),t},A=(e,t,o)=>e.setAttribute(t,o),N=(e,t,o)=>{e.removeAttribute(o?'data-'+t:t)},H=(e,t,o)=>e.getAttribute(o?'data-'+t:t),V=(e,t)=>e.appendChild(t),j=(e,t)=>e.classList.add(t),I=(e,t)=>j(e,'cm__'+t),L=(e,t)=>j(e,'pm__'+t),F=(e,t)=>e.classList.remove(t),P=e=>{if('object'!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());let t=Array.isArray(e)?[]:{};for(let o in e){let n=e[o];t[o]=P(n)}return t},O=()=>{const e={},{O:t,X:o,Y:n}=m.o;for(const s of t)e[s]=J(n[s],S(o[s]));return e},R=(e,t)=>dispatchEvent(new CustomEvent(e,{detail:t})),B=(e,t,o,n)=>{e.addEventListener(t,o),n&&m.o.m.push({pe:e,ge:t,me:o})},G=()=>{const e=m.t.cookie.expiresAfterDays;return w(e)?e(m.o.F):e},J=(e,t)=>{const o=e||[],n=t||[];return o.filter((e=>!v(n,e))).concat(n.filter((e=>!v(o,e))))},U=e=>{m.o.R=x(e),m.o.F=(()=>{let e='custom';const{R:t,O:o,B:n}=m.o,s=t.length;return s===o.length?e='all':s===n.length&&(e='necessary'),e})()},$=(e,t,o,n)=>{const s='accept-',{show:a,showPreferences:c,hide:r,hidePreferences:i,acceptCategory:l}=t,d=e||document,_=e=>D(d,`[data-cc="${e}"]`),u=(e,t)=>{T(e),l(t),i(),r()},p=_('show-preferencesModal'),g=_('show-consentModal'),b=_(s+'all'),v=_(s+'necessary'),y=_(s+'custom'),h=m.t.lazyHtmlGeneration;for(const e of p)A(e,'aria-haspopup','dialog'),B(e,f,(e=>{T(e),c()})),h&&(B(e,'mouseenter',(e=>{T(e),m.o.N||o(t,n)}),!0),B(e,'focus',(()=>{m.o.N||o(t,n)})));for(let e of g)A(e,'aria-haspopup','dialog'),B(e,f,(e=>{T(e),a(!0)}),!0);for(let e of b)B(e,f,(e=>{u(e,'all')}),!0);for(let e of y)B(e,f,(e=>{u(e)}),!0);for(let e of v)B(e,f,(e=>{u(e,[])}),!0)},z=(e,t)=>{e&&(t&&(e.tabIndex=-1),e.focus(),t&&e.removeAttribute('tabindex'))},q=(e,t)=>{const o=n=>{n.target.removeEventListener('transitionend',o),'opacity'===n.propertyName&&'1'===getComputedStyle(e).opacity&&z((e=>1===e?m.ne.be:m.ne.ve)(t))};B(e,'transitionend',o)};let K;const Q=e=>{clearTimeout(K),e?j(m.ne.ye,a):K=setTimeout((()=>{F(m.ne.ye,a)}),500)},W=['M 19.5 4.5 L 4.5 19.5 M 4.5 4.501 L 19.5 19.5','M 3.572 13.406 L 8.281 18.115 L 20.428 5.885','M 21.999 6.94 L 11.639 17.18 L 2.001 6.82 '],X=(e=0,t=1.5)=>``,Y=e=>{const t=m.ne,o=m.o;(e=>{const n=e===t.he,s=o.i.disablePageInteraction?t.ye:n?t.Ce:t.ye;B(s,'keydown',(t=>{if('Tab'!==t.key||!(n?o.k&&!o.A:o.A))return;const s=M(),a=n?o.q:o.K;0!==a.length&&(t.shiftKey?s!==a[0]&&e.contains(s)||(T(t),z(a[1])):s!==a[1]&&e.contains(s)||(T(t),z(a[0])))}),!0)})(e)},Z=['[href]',i,'input','details','[tabindex]'].map((e=>e+':not([tabindex="-1"])')).join(','),ee=e=>{const{o:t,ne:o}=m,n=(e,t)=>{const o=D(e,Z);t[0]=o[0],t[1]=o[o.length-1]};1===e&&t.D&&n(o.he,t.q),2===e&&t.N&&n(o.we,t.K)},te=(e,t,o)=>{const{de:n,le:s,ie:a,_e:c,ue:r,fe:i}=m.ce,l=m.re;if(t){const n={modalName:t};return e===l.fe?w(i)&&i(n):e===l._e?w(c)&&c(n):(n.modal=o,w(r)&&r(n)),R(e,n)}const d={cookie:m.o.p};e===l.ie?w(a)&&a(P(d)):e===l.le?w(s)&&s(P(d)):(d.changedCategories=m.o.I,d.changedServices=m.o.ee,w(n)&&n(P(d))),R(e,P(d))},oe=(e,t)=>{try{return e()}catch(e){return!t&&console.warn('CookieConsent:',e),!1}},ne=e=>{const{Y:t,ee:o,O:n,X:s,oe:a,p:r,I:i}=m.o;for(const e of n){const n=o[e]||t[e]||[];for(const o of n){const n=s[e][o];if(!n)continue;const{onAccept:a,onReject:c}=n;!n.Se&&v(t[e],o)?(n.Se=!0,w(a)&&a()):n.Se&&!v(t[e],o)&&(n.Se=!1,w(c)&&c())}}if(!m.t.manageScriptTags)return;const l=a,d=e||r.categories||[],f=(e,n)=>{if(n>=e.length)return;const s=a[n];if(s.xe)return f(e,n+1);const r=s.Me,l=s.Te,_=s.De,u=v(d,l),p=!!_&&v(t[l],_);if(!_&&!s.ke&&u||!_&&s.ke&&!u&&v(i,l)||_&&!s.ke&&p||_&&s.ke&&!p&&v(o[l]||[],_)){s.xe=!0;const t=H(r,'type',!0);N(r,'type',!!t),N(r,c);let o=H(r,'src',!0);o&&N(r,'src',!0);const a=E('script');a.textContent=r.innerHTML;for(const{nodeName:e}of r.attributes)A(a,e,r[e]||H(r,e));t&&(a.type=t),o?a.src=o:o=r.src;const i=!!o&&(!t||['text/javascript','module'].includes(t));if(i&&(a.onload=a.onerror=()=>{f(e,++n)}),r.replaceWith(a),i)return}f(e,++n)};f(l,0)},se='bottom',ae='left',ce='center',re='right',ie='inline',le='wide',de='pm--',fe=['middle','top',se],_e=[ae,ce,re],ue={box:{Ee:[le,ie],Ae:fe,Ne:_e,He:se,Ve:re},cloud:{Ee:[ie],Ae:fe,Ne:_e,He:se,Ve:ce},bar:{Ee:[ie],Ae:fe.slice(1),Ne:[],He:se,Ve:''}},pe={box:{Ee:[],Ae:[],Ne:[],He:'',Ve:''},bar:{Ee:[le],Ae:[],Ne:[ae,re],He:'',Ve:ae}},ge=e=>{const t=m.o.i.guiOptions,o=t&&t.consentModal,n=t&&t.preferencesModal;0===e&&me(m.ne.he,ue,o,'cm--','box','cm'),1===e&&me(m.ne.we,pe,n,de,'box','pm')},me=(e,t,o,n,s,a)=>{e.className=a;const c=o&&o.layout,r=o&&o.position,i=o&&o.flipButtons,l=!o||!1!==o.equalWeightButtons,d=c&&c.split(' ')||[],f=d[0],_=d[1],u=f in t?f:s,p=t[u],g=v(p.Ee,_)&&_,b=r&&r.split(' ')||[],y=b[0],h=n===de?b[0]:b[1],C=v(p.Ae,y)?y:p.He,w=v(p.Ne,h)?h:p.Ve,S=t=>{t&&j(e,n+t)};S(u),S(g),S(C),S(w),i&&S('flip');const x=a+'__btn--secondary';if('cm'===a){const{je:e,Ie:t}=m.ne;e&&(l?F(e,x):j(e,x)),t&&(l?F(t,x):j(t,x))}else{const{Le:e}=m.ne;e&&(l?F(e,x):j(e,x))}},be=(e,t)=>{const o=m.o,n=m.ne,{hide:s,hidePreferences:a,acceptCategory:c}=e,u=e=>{c(e),a(),s()},g=o.u&&o.u.preferencesModal;if(!g)return;const b=g.title,v=g.closeIconLabel,y=g.acceptAllBtn,w=g.acceptNecessaryBtn,x=g.savePreferencesBtn,M=g.sections||[],T=y||w||x;if(n.Fe)n.Pe=E(r),L(n.Pe,'body');else{n.Fe=E(r),j(n.Fe,'pm-wrapper');const e=E('div');j(e,'pm-overlay'),V(n.Fe,e),B(e,f,a),n.we=E(r),j(n.we,'pm'),A(n.we,'role','dialog'),A(n.we,l,!0),A(n.we,'aria-modal',!0),A(n.we,'aria-labelledby','pm__title'),B(n.ye,'keydown',(e=>{27===e.keyCode&&a()}),!0),n.Oe=E(r),L(n.Oe,'header'),n.Re=E('h2'),L(n.Re,'title'),n.Re.id='pm__title',n.Be=E(i),L(n.Be,'close-btn'),A(n.Be,'aria-label',g.closeIconLabel||''),B(n.Be,f,a),n.Ge=E('span'),n.Ge.innerHTML=X(),V(n.Be,n.Ge),n.Je=E(r),L(n.Je,'body'),n.Ue=E(r),L(n.Ue,'footer');var D=E(r);j(D,'btns');var k=E(r),N=E(r);L(k,d),L(N,d),V(n.Ue,k),V(n.Ue,N),V(n.Oe,n.Re),V(n.Oe,n.Be),n.ve=E(r),A(n.ve,'tabIndex',-1),V(n.we,n.ve),V(n.we,n.Oe),V(n.we,n.Je),T&&V(n.we,n.Ue),V(n.Fe,n.we)}let H;b&&(n.Re.innerHTML=b,v&&A(n.Be,'aria-label',v)),M.forEach(((e,t)=>{const s=e.title,a=e.description,c=e.linkedCategory,d=c&&o.P[c],_=e.cookieTable,u=_&&_.body,p=_&&_.caption,m=u&&u.length>0,b=!!d,v=b&&o.X[c],y=C(v)&&S(v)||[],w=b&&(!!a||!!m||S(v).length>0);var x=E(r);if(L(x,'section'),w||a){var M=E(r);L(M,'section-desc-wrapper')}let T=y.length;if(w&&T>0){const e=E(r);L(e,'section-services');for(const t of y){const o=v[t],n=o&&o.label||t,s=E(r),a=E(r),i=E(r),l=E(r);L(s,'service'),L(l,'service-title'),L(a,'service-header'),L(i,'service-icon');const f=ve(n,t,d,!0,c);l.innerHTML=n,V(a,i),V(a,l),V(s,a),V(s,f),V(e,s)}V(M,e)}if(s){var D=E(r),k=E(b?i:r);if(L(D,'section-title-wrapper'),L(k,'section-title'),k.innerHTML=s,V(D,k),b){const e=E('span');e.innerHTML=X(2,3.5),L(e,'section-arrow'),V(D,e),x.className+='--toggle';const t=ve(s,c,d);let o=g.serviceCounterLabel;if(T>0&&h(o)){let e=E('span');L(e,'badge'),L(e,'service-counter'),A(e,l,!0),A(e,'data-servicecounter',T),o&&(o=o.split('|'),o=o.length>1&&T>1?o[1]:o[0],A(e,'data-counterlabel',o)),e.innerHTML=T+(o?' '+o:''),V(k,e)}if(w){L(x,'section--expandable');var N=c+'-desc';A(k,'aria-expanded',!1),A(k,'aria-controls',N)}V(D,t)}else A(k,'role','heading'),A(k,'aria-level','3');V(x,D)}if(a){var I=E('p');L(I,'section-desc'),I.innerHTML=a,V(M,I)}if(w&&(A(M,l,'true'),M.id=N,((e,t,o)=>{B(k,f,(()=>{t.classList.contains('is-expanded')?(F(t,'is-expanded'),A(o,'aria-expanded','false'),A(e,l,'true')):(j(t,'is-expanded'),A(o,'aria-expanded','true'),A(e,l,'false'))}))})(M,x,k),m)){const e=E('table'),o=E('thead'),s=E('tbody');if(p){const t=E('caption');L(t,'table-caption'),t.innerHTML=p,e.appendChild(t)}L(e,'section-table'),L(o,'table-head'),L(s,'table-body');const a=_.headers,c=S(a),i=n.$e.createDocumentFragment(),l=E('tr');for(const e of c){const o=a[e],n=E('th');n.id='cc__row-'+o+t,A(n,'scope','col'),L(n,'table-th'),n.innerHTML=o,V(i,n)}V(l,i),V(o,l);const d=n.$e.createDocumentFragment();for(const e of u){const o=E('tr');L(o,'table-tr');for(const n of c){const s=a[n],c=e[n],i=E('td'),l=E(r);L(i,'table-td'),A(i,'data-column',s),A(i,'headers','cc__row-'+s+t),l.insertAdjacentHTML('beforeend',c),V(i,l),V(o,i)}V(d,o)}V(s,d),V(e,o),V(e,s),V(M,e)}(w||a)&&V(x,M);const P=n.Pe||n.Je;b?(H||(H=E(r),L(H,'section-toggles')),H.appendChild(x)):H=null,V(P,H||x)})),y&&(n.ze||(n.ze=E(i),L(n.ze,'btn'),A(n.ze,_,'all'),V(k,n.ze),B(n.ze,f,(()=>u('all')))),n.ze.innerHTML=y),w&&(n.Le||(n.Le=E(i),L(n.Le,'btn'),A(n.Le,_,'necessary'),V(k,n.Le),B(n.Le,f,(()=>u([])))),n.Le.innerHTML=w),x&&(n.qe||(n.qe=E(i),L(n.qe,'btn'),L(n.qe,'btn--secondary'),A(n.qe,_,'save'),V(N,n.qe),B(n.qe,f,(()=>u()))),n.qe.innerHTML=x),n.Pe&&(n.we.replaceChild(n.Pe,n.Je),n.Je=n.Pe),ge(1),o.N||(o.N=!0,te(m.re.ue,p,n.we),t(e),V(n.Ce,n.Fe),Y(n.we),setTimeout((()=>j(n.Fe,'cc--anim')),100)),ee(2)};function ve(e,t,o,n,s){const a=m.o,r=m.ne,i=E('label'),d=E('input'),_=E('span'),u=E('span'),p=E('span'),g=E('span'),b=E('span');if(g.innerHTML=X(1,3),b.innerHTML=X(0,3),d.type='checkbox',j(i,'section__toggle-wrapper'),j(d,'section__toggle'),j(g,'toggle__icon-on'),j(b,'toggle__icon-off'),j(_,'toggle__icon'),j(u,'toggle__icon-circle'),j(p,'toggle__label'),A(_,l,'true'),n?(j(i,'toggle-service'),A(d,c,s),r.ae[s][t]=d):r.se[t]=d,n?(e=>{B(d,'change',(()=>{const t=r.ae[e],o=r.se[e];a.Z[e]=[];for(let o in t){const n=t[o];n.checked&&a.Z[e].push(n.value)}o.checked=a.Z[e].length>0}))})(s):(e=>{B(d,f,(()=>{const t=r.ae[e],o=d.checked;a.Z[e]=[];for(let n in t)t[n].checked=o,o&&a.Z[e].push(n)}))})(t),d.value=t,p.textContent=e.replace(/<.*>.*<\/.*>/gm,''),V(u,b),V(u,g),V(_,u),a.T)(o.readOnly||o.enabled)&&(d.checked=!0);else if(n){const e=a.Y[s];d.checked=o.readOnly||v(e,t)}else v(a.R,t)&&(d.checked=!0);return o.readOnly&&(d.disabled=!0),V(i,d),V(i,_),V(i,p),i}const ye=()=>{const e=E('span');return m.ne.Ke||(m.ne.Ke=e),e},he=(e,t)=>{const o=m.o,n=m.ne,{hide:s,showPreferences:a,acceptCategory:c}=e,p=o.u&&o.u.consentModal;if(!p)return;const g=p.acceptAllBtn,b=p.acceptNecessaryBtn,v=p.showPreferencesBtn,y=p.closeIconLabel,h=p.footer,C=p.label,w=p.title,S=e=>{s(),c(e)};if(!n.Qe){n.Qe=E(r),n.he=E(r),n.We=E(r),n.Xe=E(r),n.Ye=E(r),j(n.Qe,'cm-wrapper'),j(n.he,'cm'),I(n.We,'body'),I(n.Xe,'texts'),I(n.Ye,'btns'),A(n.he,'role','dialog'),A(n.he,'aria-modal','true'),A(n.he,l,'false'),A(n.he,'aria-describedby','cm__desc'),C?A(n.he,'aria-label',C):w&&A(n.he,'aria-labelledby','cm__title');const e='box',t=o.i.guiOptions,s=t&&t.consentModal,a=(s&&s.layout||e).split(' ')[0]===e;w&&y&&a&&(n.Ie||(n.Ie=E(i),n.Ie.innerHTML=X(),I(n.Ie,'btn'),I(n.Ie,'btn--close'),B(n.Ie,f,(()=>{S([])})),V(n.We,n.Ie)),A(n.Ie,'aria-label',y)),V(n.We,n.Xe),(g||b||v)&&V(n.We,n.Ye),n.be=E(r),A(n.be,'tabIndex',-1),V(n.he,n.be),V(n.he,n.We),V(n.Qe,n.he)}w&&(n.Ze||(n.Ze=E('h2'),n.Ze.className=n.Ze.id='cm__title',V(n.Xe,n.Ze)),n.Ze.innerHTML=w);let x=p.description;if(x&&(o.V&&(x=x.replace('{{revisionMessage}}',o.j?'':p.revisionMessage||'')),n.et||(n.et=E('p'),n.et.className=n.et.id='cm__desc',V(n.Xe,n.et)),n.et.innerHTML=x),g&&(n.tt||(n.tt=E(i),V(n.tt,ye()),I(n.tt,'btn'),A(n.tt,_,'all'),B(n.tt,f,(()=>{S('all')}))),n.tt.firstElementChild.innerHTML=g),b&&(n.je||(n.je=E(i),V(n.je,ye()),I(n.je,'btn'),A(n.je,_,'necessary'),B(n.je,f,(()=>{S([])}))),n.je.firstElementChild.innerHTML=b),v&&(n.ot||(n.ot=E(i),V(n.ot,ye()),I(n.ot,'btn'),I(n.ot,'btn--secondary'),A(n.ot,_,'show'),B(n.ot,'mouseenter',(()=>{o.N||be(e,t)})),B(n.ot,f,a)),n.ot.firstElementChild.innerHTML=v),n.nt||(n.nt=E(r),I(n.nt,d),g&&V(n.nt,n.tt),b&&V(n.nt,n.je),(g||b)&&V(n.We,n.nt),V(n.Ye,n.nt)),n.ot&&!n.st&&(n.st=E(r),n.je&&n.tt?(I(n.st,d),V(n.st,n.ot),V(n.Ye,n.st)):(V(n.nt,n.ot),I(n.nt,d+'--uneven'))),h){if(!n.ct){let e=E(r),t=E(r);n.ct=E(r),I(e,'footer'),I(t,'links'),I(n.ct,'link-group'),V(t,n.ct),V(e,t),V(n.he,e)}n.ct.innerHTML=h}ge(0),o.D||(o.D=!0,te(m.re.ue,u,n.he),t(e),V(n.Ce,n.Qe),Y(n.he),setTimeout((()=>j(n.Qe,'cc--anim')),100)),ee(1),$(n.We,e,be,t)},Ce=e=>{if(!h(e))return null;if(e in m.o._)return e;let t=e.slice(0,2);return t in m.o._?t:null},we=()=>m.o.l||m.o.i.language.default,Se=e=>{e&&(m.o.l=e)},xe=async e=>{const t=m.o;let o=Ce(e)?e:we(),n=t._[o];return h(n)?n=await(async e=>{try{const t=await fetch(e);return await t.json()}catch(e){return console.error(e),!1}})(n):w(n)&&(n=await n()),!!n&&(t.u=n,Se(o),!0)},Me=()=>{let e=m.o.i.language.rtl,t=m.ne.Ce;e&&t&&(y(e)||(e=[e]),v(e,m.o.l)?j(t,'cc--rtl'):F(t,'cc--rtl'))},Te=()=>{const e=m.ne;if(e.Ce)return;e.Ce=E(r),e.Ce.id='cc-main',e.Ce.setAttribute('data-nosnippet',''),Me();let t=m.o.i.root;t&&h(t)&&(t=document.querySelector(t)),(t||e.$e.body).appendChild(e.Ce)},De=e=>oe((()=>localStorage.removeItem(e))),ke=(e,t)=>{if(t instanceof RegExp)return e.filter((e=>t.test(e)));{const o=b(e,t);return o>-1?[e[o]]:[]}},Ee=e=>{const{hostname:t,protocol:o}=location,{name:n,path:s,domain:a,sameSite:c,useLocalStorage:r}=m.t.cookie,i=e?(()=>{const e=m.o.S,t=e?new Date-e:0;return 864e5*G()-t})():864e5*G(),l=new Date;l.setTime(l.getTime()+i),m.o.p.expirationTime=l.getTime();const d=JSON.stringify(m.o.p);let f=n+'='+encodeURIComponent(d)+(0!==i?'; expires='+l.toUTCString():'')+'; Path='+s+'; SameSite='+c;v(t,'.')&&(f+='; Domain='+a),'https:'===o&&(f+='; Secure'),r?((e,t)=>{oe((()=>localStorage.setItem(e,t)))})(n,d):document.cookie=f,m.o.p},Ae=(e,t,o)=>{if(0===e.length)return;const n=o||m.t.cookie.domain,s=t||m.t.cookie.path,a='www.'===n.slice(0,4),c=a&&n.substring(4),r=(e,t)=>{document.cookie=e+'=; path='+s+(t?'; domain=.'+t:'')+'; expires=Thu, 01 Jan 1970 00:00:01 GMT;'};for(const t of e)r(t),r(t,n),a&&r(t,c)},Ne=e=>{const t=e||m.t.cookie.name,o=m.t.cookie.useLocalStorage;return((e,t)=>{let o;return o=oe((()=>JSON.parse(t?e:decodeURIComponent(e))),!0)||{},o})(o?(n=t,oe((()=>localStorage.getItem(n)))||''):He(t,!0),o);var n},He=(e,t)=>{const o=document.cookie.match('(^|;)\\s*'+e+'\\s*=\\s*([^;]+)');return o?t?o.pop():e:''},Ve=e=>{const t=document.cookie.split(/;\s*/),o=[];for(const n of t){let t=n.split('=')[0];e?oe((()=>{e.test(t)&&o.push(t)})):o.push(t)}return o},je=(e,n=[])=>{((e,t)=>{const{O:o,R:n,B:s,N:a,Z:c,G:r,X:i}=m.o;let l=[];if(e){y(e)?l.push(...e):h(e)&&(l='all'===e?o:[e]);for(const e of o)c[e]=v(l,e)?S(i[e]):[]}else l=[...n,...r],a&&(l=(()=>{const e=m.ne.se;if(!e)return[];let t=[];for(let o in e)e[o].checked&&t.push(o);return t})());l=l.filter((e=>!v(o,e)||!v(t,e))),l.push(...s),U(l)})(e,n),(e=>{const t=m.o,{Z:o,B:n,Y:s,X:a,O:c}=t,r=c;t.te=P(s);for(const e of r){const c=a[e],r=S(c),i=o[e]&&o[e].length>0,l=v(n,e);if(0!==r.length){if(s[e]=[],l)s[e].push(...r);else if(i){const t=o[e];s[e].push(...t)}else s[e]=t.Z[e];s[e]=x(s[e])}}})(),(()=>{const e=m.o;e.I=m.t.mode===o&&e.T?J(e.G,e.R):J(e.R,e.p.categories);let n=e.I.length>0,s=!1;for(const t of e.O)e.ee[t]=J(e.Y[t],e.te[t]),e.ee[t].length>0&&(s=!0);const a=m.ne.se;for(const t in a)a[t].checked=v(e.R,t);for(const t of e.O){const o=m.ne.ae[t],n=e.Y[t];for(const e in o)o[e].checked=v(n,e)}e.C||(e.C=new Date),e.M||(e.M=([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)))),e.p={categories:P(e.R),revision:m.t.revision,data:e.h,consentTimestamp:e.C.toISOString(),consentId:e.M,services:P(e.Y)};let c=!1;const r=n||s;(e.T||r)&&(e.T&&(e.T=!1,c=!0),e.S=e.S?new Date:e.C,e.p.lastConsentTimestamp=e.S.toISOString(),Ee(),m.t.autoClearCookies&&(c||r)&&(e=>{const t=m.o,o=Ve(),n=(e=>{const t=m.o;return(e?t.O:t.I).filter((e=>{const o=t.P[e];return!!o&&!o.readOnly&&!!o.autoClear}))})(e);for(const e in t.ee)for(const n of t.ee[e]){const s=t.X[e][n].cookies;if(!v(t.Y[e],n)&&s)for(const e of s){const t=ke(o,e.name);Ae(t,e.path,e.domain)}}for(const s of n){const n=t.P[s].autoClear,a=n&&n.cookies||[],c=v(t.I,s),r=!v(t.R,s),i=c&&r;if(e?r:i){n.reloadPage&&i&&(t.L=!0);for(const e of a){const t=ke(o,e.name);Ae(t,e.path,e.domain)}}}})(c),ne()),c&&(te(m.re.ie),te(m.re.le),m.t.mode===t)||(r&&te(m.re.de),e.L&&(e.L=!1,location.reload()))})()},Ie=e=>{const t=m.o.T?[]:m.o.R;return v(t,e)},Le=(e,t)=>{const o=m.o.T?[]:m.o.Y[t]||[];return v(o,e)},Fe=(e,t,o)=>{let n=[];const s=e=>{if(h(e)){let t=He(e);''!==t&&n.push(t)}else n.push(...Ve(e))};if(y(e))for(let t of e)s(t);else s(e);Ae(n,t,o)},Pe=e=>{const{ne:t,o:o}=m;if(!o.k){if(!o.D){if(!e)return;he(Ge,Te)}o.k=!0,o.U=M(),o.v&&Q(!0),q(t.he,1),j(t.ye,n),A(t.he,l,'false'),setTimeout((()=>{z(m.ne.be)}),100),te(m.re.fe,u)}},Oe=()=>{const{ne:e,o:t,re:o}=m;t.k&&(t.k=!1,t.v&&Q(),z(e.Ke,!0),F(e.ye,n),A(e.he,l,'true'),z(t.U),t.U=null,te(o._e,u))},Re=()=>{const e=m.o;e.A||(e.N||be(Ge,Te),e.A=!0,e.k?e.$=M():e.U=M(),q(m.ne.we,2),j(m.ne.ye,s),A(m.ne.we,l,'false'),setTimeout((()=>{z(m.ne.ve)}),100),te(m.re.fe,p))},Be=()=>{const e=m.o;e.A&&(e.A=!1,(()=>{const e=Ue(),t=m.o.P,o=m.ne.se,n=m.ne.ae,s=e=>v(m.o.G,e);for(const a in o){const c=!!t[a].readOnly;o[a].checked=c||(e?Ie(a):s(a));for(const t in n[a])n[a][t].checked=c||(e?Le(t,a):s(a))}})(),z(m.ne.Ge,!0),F(m.ne.ye,s),A(m.ne.we,l,'true'),e.k?(z(e.$),e.$=null):(z(e.U),e.U=null),te(m.re._e,p))};var Ge={show:Pe,hide:Oe,showPreferences:Re,hidePreferences:Be,acceptCategory:je};const Je=(e,t)=>{const o=Ne(t);return e?o[e]:o},Ue=()=>!m.o.T;e.acceptCategory=je,e.acceptService=(e,t)=>{const{O:o,X:n}=m.o;if(!(e&&t&&h(t)&&v(o,t)&&0!==S(n[t]).length))return!1;((e,t)=>{const o=m.o,{X:n,Z:s,N:a}=o,c=m.ne.ae[t]||{},r=m.ne.se[t]||{},i=S(n[t]);if(s[t]=[],h(e)){if('all'===e){if(s[t].push(...i),a)for(let e in c)c[e].checked=!0,k(c[e])}else if(v(i,e)&&s[t].push(e),a)for(let t in c)c[t].checked=e===t,k(c[t])}else if(y(e))for(let o of i){const n=v(e,o);n&&s[t].push(o),a&&(c[o].checked=n,k(c[o]))}const l=0===s[t].length;o.R=l?o.R.filter((e=>e!==t)):x([...o.R,t]),a&&(r.checked=!l,k(r))})(e,t),je()},e.acceptedCategory=Ie,e.acceptedService=Le,e.eraseCookies=Fe,e.getConfig=e=>{const t=m.t,o=m.o.i;return e?t[e]||o[e]:{...t,...o,cookie:{...t.cookie}}},e.getCookie=Je,e.getUserPreferences=()=>{const{F:e,Y:t}=m.o,{accepted:o,rejected:n}=(()=>{const{T:e,R:t,O:o}=m.o;return{accepted:t,rejected:e?[]:o.filter((e=>!v(t,e)))}})();return P({acceptType:e,acceptedCategories:o,rejectedCategories:n,acceptedServices:t,rejectedServices:O()})},e.hide=Oe,e.hidePreferences=Be,e.loadScript=(e,t)=>{let o=document.querySelector('script[src="'+e+'"]');return new Promise((n=>{if(o)return n(!0);if(o=E('script'),C(t))for(const e in t)A(o,e,t[e]);o.onload=()=>n(!0),o.onerror=()=>{o.remove(),n(!1)},o.src=e,V(document.head,o)}))},e.reset=e=>{const{Ce:t,ye:o}=m.ne,{name:c,path:r,domain:i,useLocalStorage:l}=m.t.cookie;e&&(l?De(c):Fe(c,r,i));for(const{pe:e,ge:t,me:o}of m.o.m)e.removeEventListener(t,o);t&&t.remove(),o&&o.classList.remove(a,s,n);const d=new g;for(const e in m)m[e]=d[e];window._ccRun=!1},e.run=async e=>{const{o:t,t:n,re:s}=m,a=window;if(!a._ccRun){if(a._ccRun=!0,(e=>{const{ne:t,t:n,o:s}=m,a=n,r=s,{cookie:i}=a,l=m.ce,d=e.cookie,f=e.categories,_=S(f)||[],u=navigator,p=document;t.$e=p,t.ye=p.documentElement,i.domain=location.hostname,r.i=e,r.P=f,r.O=_,r._=e.language.translations,r.v=!!e.disablePageInteraction,l.ie=e.onFirstConsent,l.le=e.onConsent,l.de=e.onChange,l._e=e.onModalHide,l.fe=e.onModalShow,l.ue=e.onModalReady;const{mode:g,autoShow:b,lazyHtmlGeneration:y,autoClearCookies:h,revision:w,manageScriptTags:x,hideFromBots:M}=e;g===o&&(a.mode=g),'boolean'==typeof h&&(a.autoClearCookies=h),'boolean'==typeof x&&(a.manageScriptTags=x),'number'==typeof w&&w>=0&&(a.revision=w,r.V=!0),'boolean'==typeof b&&(a.autoShow=b),'boolean'==typeof y&&(a.lazyHtmlGeneration=y),!1===M&&(a.hideFromBots=!1),!0===a.hideFromBots&&u&&(r.J=u.userAgent&&/bot|crawl|spider|slurp|teoma/i.test(u.userAgent)||u.webdriver),C(d)&&(a.cookie={...i,...d}),a.autoClearCookies,r.V,a.manageScriptTags,(e=>{const{P:t,X:o,Y:n,Z:s,B:a}=m.o;for(let c of e){const e=t[c],r=e.services||{},i=C(r)&&S(r)||[];o[c]={},n[c]=[],s[c]=[],e.readOnly&&(a.push(c),n[c]=i),m.ne.ae[c]={};for(let e of i){const t=r[e];t.Se=!1,o[c][e]=t}}})(_),(()=>{if(!m.t.manageScriptTags)return;const e=m.o,t=D(document,'script['+c+']');for(const o of t){let t=H(o,c),n=o.dataset.service||'',s=!1;if(t&&'!'===t.charAt(0)&&(t=t.slice(1),s=!0),'!'===n.charAt(0)&&(n=n.slice(1),s=!0),v(e.O,t)&&(e.oe.push({Me:o,xe:!1,ke:s,Te:t,De:n}),n)){const o=e.X[t];o[n]||(o[n]={Se:!1})}}})(),Se((()=>{const e=m.o.i.language.autoDetect;if(e){const t={browser:navigator.language,document:document.documentElement.lang},o=Ce(t[e]);if(o)return o}return we()})())})(e),t.J)return;(()=>{const e=m.o,t=m.t,n=Ne(),{categories:s,services:a,consentId:c,consentTimestamp:r,lastConsentTimestamp:i,data:l,revision:d}=n,f=y(s);e.p=n,e.M=c;const _=!!c&&h(c);e.C=r,e.C&&(e.C=new Date(r)),e.S=i,e.S&&(e.S=new Date(i)),e.h=void 0!==l?l:null,e.V&&_&&d!==t.revision&&(e.j=!1),e.T=!(_&&e.j&&e.C&&e.S&&f),t.cookie.useLocalStorage&&!e.T&&(e.T=(new Date).getTime()>(n.expirationTime||0),e.T&&De(t.cookie.name)),e.T,(()=>{const e=m.o;for(const t of e.O){const n=e.P[t];if(n.readOnly||n.enabled){e.G.push(t);const n=e.X[t]||{};for(let s in n)e.Z[t].push(s),e.i.mode===o&&e.Y[t].push(s)}}})(),e.T?t.mode===o&&(e.R=[...e.G]):(e.Z={...e.Y},e.Y={...e.Y,...a},U([...e.B,...s]))})();const i=Ue();if(!await xe())return!1;if($(null,r=Ge,be,Te),m.o.T&&he(r,Te),m.t.lazyHtmlGeneration||be(r,Te),n.autoShow&&!i&&Pe(!0),i)return ne(),te(s.le);n.mode===o&&ne(t.G)}var r},e.setCookieData=e=>{let t,o=e.value,n=e.mode,s=!1;const a=m.o;if('update'===n){a.h=t=Je('data');const e=typeof t==typeof o;if(e&&'object'==typeof t){!t&&(t={});for(let e in o)t[e]!==o[e]&&(t[e]=o[e],s=!0)}else!e&&t||t===o||(t=o,s=!0)}else t=o,s=!0;return s&&(a.h=t,a.p.data=t,Ee(!0)),s},e.setLanguage=async(e,t)=>{if(!Ce(e))return!1;const o=m.o;return!(e===we()&&!0!==t||!await xe(e)||(Se(e),o.D&&he(Ge,Te),o.N&&be(Ge,Te),Me(),0))},e.show=Pe,e.showPreferences=Re,e.validConsent=Ue,e.validCookie=e=>''!==He(e,!0)},'object'==typeof exports&&'undefined'!=typeof module?t(exports):'function'==typeof define&&define.amd?define(['exports'],t):t((e='undefined'!=typeof globalThis?globalThis:e||self).CookieConsent={}); +var e,t;e=this,t=function(e){'use strict';const t='opt-in',o='opt-out',n='show--consent',s='show--preferences',a='disable--interaction',c='data-category',r='div',i='button',l='aria-hidden',d='btn-group',f='click',_='data-role',u='consentModal',p='preferencesModal';class g{constructor(){this.t={mode:t,revision:0,autoShow:!0,lazyHtmlGeneration:!0,autoClearCookies:!0,manageScriptTags:!0,hideFromBots:!0,cookie:{name:'cc_cookie',expiresAfterDays:182,domain:'',path:'/',secure:!0,sameSite:'Lax'}},this.o={i:{},l:'',_:{},u:{},p:{},m:[],v:!1,h:null,C:null,S:null,M:'',T:!0,D:!1,k:!1,A:!1,N:!1,H:[],j:!1,V:!0,I:[],L:!1,F:'',O:!1,P:[],R:[],B:[],$:[],G:!1,J:!1,U:!1,q:[],K:[],W:[],X:{},Y:{},Z:{},ee:{},te:{},oe:[]},this.ne={se:{},ae:{}},this.ce={},this.re={ie:'cc:onFirstConsent',le:'cc:onConsent',de:'cc:onChange',fe:'cc:onModalShow',_e:'cc:onModalHide',ue:'cc:onModalReady'}}}const m=new g,b=(e,t)=>e.indexOf(t),v=(e,t)=>-1!==b(e,t),y=e=>Array.isArray(e),h=e=>'string'==typeof e,C=e=>!!e&&'object'==typeof e&&!y(e),w=e=>'function'==typeof e,S=e=>Object.keys(e),x=e=>Array.from(new Set(e)),M=()=>document.activeElement,T=e=>e.preventDefault(),D=(e,t)=>e.querySelectorAll(t),k=e=>e.dispatchEvent(new Event('change')),E=e=>{const t=document.createElement(e);return e===i&&(t.type=e),t},A=(e,t,o)=>e.setAttribute(t,o),N=(e,t,o)=>{e.removeAttribute(o?'data-'+t:t)},H=(e,t,o)=>e.getAttribute(o?'data-'+t:t),j=(e,t)=>e.appendChild(t),V=(e,t)=>e.classList.add(t),I=(e,t)=>V(e,'cm__'+t),L=(e,t)=>V(e,'pm__'+t),F=(e,t)=>e.classList.remove(t),O=e=>{if('object'!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());let t=Array.isArray(e)?[]:{};for(let o in e){let n=e[o];t[o]=O(n)}return t},P=()=>{const e={},{P:t,X:o,Y:n}=m.o;for(const s of t)e[s]=G(n[s],S(o[s]));return e},R=(e,t)=>dispatchEvent(new CustomEvent(e,{detail:t})),B=(e,t,o,n)=>{e.addEventListener(t,o),n&&m.o.m.push({pe:e,ge:t,me:o})},$=()=>{const e=m.t.cookie.expiresAfterDays;return w(e)?e(m.o.F):e},G=(e,t)=>{const o=e||[],n=t||[];return o.filter((e=>!v(n,e))).concat(n.filter((e=>!v(o,e))))},J=e=>{m.o.R=x(e),m.o.F=(()=>{let e='custom';const{R:t,P:o,B:n}=m.o,s=t.length;return s===o.length?e='all':s===n.length&&(e='necessary'),e})()},U=(e,t,o,n)=>{const s='accept-',{show:a,showPreferences:c,hide:r,hidePreferences:i,acceptCategory:l}=t,d=e||document,_=e=>D(d,`[data-cc="${e}"]`),u=(e,t)=>{T(e),l(t),i(),r()},p=_('show-preferencesModal'),g=_('show-consentModal'),b=_(s+'all'),v=_(s+'necessary'),y=_(s+'custom'),h=m.t.lazyHtmlGeneration;for(const e of p)A(e,'aria-haspopup','dialog'),B(e,f,(e=>{T(e),c()})),h&&(B(e,'mouseenter',(e=>{T(e),m.o.N||o(t,n)}),!0),B(e,'focus',(()=>{m.o.N||o(t,n)})));for(let e of g)A(e,'aria-haspopup','dialog'),B(e,f,(e=>{T(e),a(!0)}),!0);for(let e of b)B(e,f,(e=>{u(e,'all')}),!0);for(let e of y)B(e,f,(e=>{u(e)}),!0);for(let e of v)B(e,f,(e=>{u(e,[])}),!0)},z=(e,t)=>{e&&(t&&(e.tabIndex=-1),e.focus(),t&&e.removeAttribute('tabindex'))},q=(e,t)=>{const o=n=>{n.target.removeEventListener('transitionend',o),'opacity'===n.propertyName&&'1'===getComputedStyle(e).opacity&&z((e=>1===e?m.ne.be:m.ne.ve)(t))};B(e,'transitionend',o)};let K;const Q=e=>{clearTimeout(K),e?V(m.ne.ye,a):K=setTimeout((()=>{F(m.ne.ye,a)}),500)},W=['M 19.5 4.5 L 4.5 19.5 M 4.5 4.501 L 19.5 19.5','M 3.572 13.406 L 8.281 18.115 L 20.428 5.885','M 21.999 6.94 L 11.639 17.18 L 2.001 6.82 '],X=(e=0,t=1.5)=>``,Y=e=>{const t=m.ne,o=m.o;(e=>{const n=e===t.he,s=o.i.disablePageInteraction?t.ye:n?t.Ce:t.ye;B(s,'keydown',(t=>{if('Tab'!==t.key||!(n?o.k&&!o.A:o.A))return;const s=M(),a=n?o.q:o.K;0!==a.length&&(t.shiftKey?s!==a[0]&&e.contains(s)||(T(t),z(a[1])):s!==a[1]&&e.contains(s)||(T(t),z(a[0])))}),!0)})(e)},Z=['[href]',i,'input','details','[tabindex]'].map((e=>e+':not([tabindex="-1"])')).join(','),ee=e=>{const{o:t,ne:o}=m,n=(e,t)=>{const o=D(e,Z);t[0]=o[0],t[1]=o[o.length-1]};1===e&&t.D&&n(o.he,t.q),2===e&&t.N&&n(o.we,t.K)},te=(e,t,o)=>{const{de:n,le:s,ie:a,_e:c,ue:r,fe:i}=m.ce,l=m.re;if(t){const n={modalName:t};return e===l.fe?w(i)&&i(n):e===l._e?w(c)&&c(n):(n.modal=o,w(r)&&r(n)),R(e,n)}const d={cookie:m.o.p};e===l.ie?w(a)&&a(O(d)):e===l.le?w(s)&&s(O(d)):(d.changedCategories=m.o.I,d.changedServices=m.o.ee,w(n)&&n(O(d))),R(e,O(d))},oe=(e,t)=>{try{return e()}catch(e){return!t&&console.warn('CookieConsent:',e),!1}},ne=e=>{const{Y:t,ee:o,P:n,X:s,oe:a,p:r,I:i}=m.o;for(const e of n){const n=o[e]||t[e]||[];for(const o of n){const n=s[e][o];if(!n)continue;const{onAccept:a,onReject:c}=n;!n.Se&&v(t[e],o)?(n.Se=!0,w(a)&&a()):n.Se&&!v(t[e],o)&&(n.Se=!1,w(c)&&c())}}if(!m.t.manageScriptTags)return;const l=a,d=e||r.categories||[],f=(e,n)=>{if(n>=e.length)return;const s=a[n];if(s.xe)return f(e,n+1);const r=s.Me,l=s.Te,_=s.De,u=v(d,l),p=!!_&&v(t[l],_);if(!_&&!s.ke&&u||!_&&s.ke&&!u&&v(i,l)||_&&!s.ke&&p||_&&s.ke&&!p&&v(o[l]||[],_)){s.xe=!0;const t=H(r,'type',!0);N(r,'type',!!t),N(r,c);let o=H(r,'src',!0);o&&N(r,'src',!0);const a=E('script');a.textContent=r.innerHTML;for(const{nodeName:e}of r.attributes)A(a,e,r[e]||H(r,e));t&&(a.type=t),o?a.src=o:o=r.src;const i=!!o&&(!t||['text/javascript','module'].includes(t));if(i&&(a.onload=a.onerror=()=>{f(e,++n)}),r.replaceWith(a),i)return}f(e,++n)};f(l,0)},se='bottom',ae='left',ce='center',re='right',ie='inline',le='wide',de='pm--',fe=['middle','top',se],_e=[ae,ce,re],ue={box:{Ee:[le,ie],Ae:fe,Ne:_e,He:se,je:re},cloud:{Ee:[ie],Ae:fe,Ne:_e,He:se,je:ce},bar:{Ee:[ie],Ae:fe.slice(1),Ne:[],He:se,je:''}},pe={box:{Ee:[],Ae:[],Ne:[],He:'',je:''},bar:{Ee:[le],Ae:[],Ne:[ae,re],He:'',je:ae}},ge=e=>{const t=m.o.i.guiOptions,o=t&&t.consentModal,n=t&&t.preferencesModal;0===e&&me(m.ne.he,ue,o,'cm--','box','cm'),1===e&&me(m.ne.we,pe,n,de,'box','pm')},me=(e,t,o,n,s,a)=>{e.className=a;const c=o&&o.layout,r=o&&o.position,i=o&&o.flipButtons,l=!o||!1!==o.equalWeightButtons,d=c&&c.split(' ')||[],f=d[0],_=d[1],u=f in t?f:s,p=t[u],g=v(p.Ee,_)&&_,b=r&&r.split(' ')||[],y=b[0],h=n===de?b[0]:b[1],C=v(p.Ae,y)?y:p.He,w=v(p.Ne,h)?h:p.je,S=t=>{t&&V(e,n+t)};S(u),S(g),S(C),S(w),i&&S('flip');const x=a+'__btn--secondary';if('cm'===a){const{Ve:e,Ie:t}=m.ne;e&&(l?F(e,x):V(e,x)),t&&(l?F(t,x):V(t,x))}else{const{Le:e}=m.ne;e&&(l?F(e,x):V(e,x))}},be=(e,t)=>{const o=m.o,n=m.ne,{hide:s,hidePreferences:a,acceptCategory:c}=e,u=e=>{c(e),a(),s()},g=o.u&&o.u.preferencesModal;if(!g)return;const b=g.title,v=g.closeIconLabel,y=g.acceptAllBtn,w=g.acceptNecessaryBtn,x=g.savePreferencesBtn,M=g.sections||[],T=y||w||x;if(n.Fe)n.Oe=E(r),L(n.Oe,'body');else{n.Fe=E(r),V(n.Fe,'pm-wrapper');const e=E('div');V(e,'pm-overlay'),j(n.Fe,e),B(e,f,a),n.we=E(r),V(n.we,'pm'),A(n.we,'role','dialog'),A(n.we,l,!0),A(n.we,'aria-modal',!0),A(n.we,'aria-labelledby','pm__title'),B(n.ye,'keydown',(e=>{27===e.keyCode&&a()}),!0),n.Pe=E(r),L(n.Pe,'header'),n.Re=E('h2'),L(n.Re,'title'),n.Re.id='pm__title',n.Be=E(i),L(n.Be,'close-btn'),A(n.Be,'aria-label',g.closeIconLabel||''),B(n.Be,f,a),n.$e=E('span'),n.$e.innerHTML=X(),j(n.Be,n.$e),n.Ge=E(r),L(n.Ge,'body'),n.Je=E(r),L(n.Je,'footer');var D=E(r);V(D,'btns');var k=E(r),N=E(r);L(k,d),L(N,d),j(n.Je,k),j(n.Je,N),j(n.Pe,n.Re),j(n.Pe,n.Be),n.ve=E(r),A(n.ve,'tabIndex',-1),j(n.we,n.ve),j(n.we,n.Pe),j(n.we,n.Ge),T&&j(n.we,n.Je),j(n.Fe,n.we)}let H;b&&(n.Re.innerHTML=b,v&&A(n.Be,'aria-label',v)),M.forEach(((e,t)=>{const s=e.title,a=e.description,c=e.linkedCategory,d=c&&o.O[c],_=e.cookieTable,u=_&&_.body,p=_&&_.caption,m=u&&u.length>0,b=!!d,v=b&&o.X[c],y=C(v)&&S(v)||[],w=b&&(!!a||!!m||S(v).length>0);var x=E(r);if(L(x,'section'),w||a){var M=E(r);L(M,'section-desc-wrapper')}let T=y.length;if(w&&T>0){const e=E(r);L(e,'section-services');for(const t of y){const o=v[t],n=o&&o.label||t,s=E(r),a=E(r),i=E(r),l=E(r);L(s,'service'),L(l,'service-title'),L(a,'service-header'),L(i,'service-icon');const f=ve(n,t,d,!0,c);l.innerHTML=n,j(a,i),j(a,l),j(s,a),j(s,f),j(e,s)}j(M,e)}if(s){var D=E(r),k=E(b?i:r);if(L(D,'section-title-wrapper'),L(k,'section-title'),k.innerHTML=s,j(D,k),b){const e=E('span');e.innerHTML=X(2,3.5),L(e,'section-arrow'),j(D,e),x.className+='--toggle';const t=ve(s,c,d);let o=g.serviceCounterLabel;if(T>0&&h(o)){let e=E('span');L(e,'badge'),L(e,'service-counter'),A(e,l,!0),A(e,'data-servicecounter',T),o&&(o=o.split('|'),o=o.length>1&&T>1?o[1]:o[0],A(e,'data-counterlabel',o)),e.innerHTML=T+(o?' '+o:''),j(k,e)}if(w){L(x,'section--expandable');var N=c+'-desc';A(k,'aria-expanded',!1),A(k,'aria-controls',N)}j(D,t)}else A(k,'role','heading'),A(k,'aria-level','3');j(x,D)}if(a){var I=E('p');L(I,'section-desc'),I.innerHTML=a,j(M,I)}if(w&&(A(M,l,'true'),M.id=N,((e,t,o)=>{B(k,f,(()=>{t.classList.contains('is-expanded')?(F(t,'is-expanded'),A(o,'aria-expanded','false'),A(e,l,'true')):(V(t,'is-expanded'),A(o,'aria-expanded','true'),A(e,l,'false'))}))})(M,x,k),m)){const e=E('table'),o=E('thead'),s=E('tbody');if(p){const t=E('caption');L(t,'table-caption'),t.innerHTML=p,e.appendChild(t)}L(e,'section-table'),L(o,'table-head'),L(s,'table-body');const a=_.headers,c=S(a),i=n.Ue.createDocumentFragment(),l=E('tr');for(const e of c){const o=a[e],n=E('th');n.id='cc__row-'+o+t,A(n,'scope','col'),L(n,'table-th'),n.innerHTML=o,j(i,n)}j(l,i),j(o,l);const d=n.Ue.createDocumentFragment();for(const e of u){const o=E('tr');L(o,'table-tr');for(const n of c){const s=a[n],c=e[n],i=E('td'),l=E(r);L(i,'table-td'),A(i,'data-column',s),A(i,'headers','cc__row-'+s+t),l.insertAdjacentHTML('beforeend',c),j(i,l),j(o,i)}j(d,o)}j(s,d),j(e,o),j(e,s),j(M,e)}(w||a)&&j(x,M);const O=n.Oe||n.Ge;b?(H||(H=E(r),L(H,'section-toggles')),H.appendChild(x)):H=null,j(O,H||x)})),y&&(n.ze||(n.ze=E(i),L(n.ze,'btn'),A(n.ze,_,'all'),j(k,n.ze),B(n.ze,f,(()=>u('all')))),n.ze.innerHTML=y),w&&(n.Le||(n.Le=E(i),L(n.Le,'btn'),A(n.Le,_,'necessary'),j(k,n.Le),B(n.Le,f,(()=>u([])))),n.Le.innerHTML=w),x&&(n.qe||(n.qe=E(i),L(n.qe,'btn'),L(n.qe,'btn--secondary'),A(n.qe,_,'save'),j(N,n.qe),B(n.qe,f,(()=>u()))),n.qe.innerHTML=x),n.Oe&&(n.we.replaceChild(n.Oe,n.Ge),n.Ge=n.Oe),ge(1),o.N||(o.N=!0,te(m.re.ue,p,n.we),t(e),j(n.Ce,n.Fe),Y(n.we),setTimeout((()=>V(n.Fe,'cc--anim')),100)),ee(2)};function ve(e,t,o,n,s){const a=m.o,r=m.ne,i=E('label'),d=E('input'),_=E('span'),u=E('span'),p=E('span'),g=E('span'),b=E('span');if(g.innerHTML=X(1,3),b.innerHTML=X(0,3),d.type='checkbox',V(i,'section__toggle-wrapper'),V(d,'section__toggle'),V(g,'toggle__icon-on'),V(b,'toggle__icon-off'),V(_,'toggle__icon'),V(u,'toggle__icon-circle'),V(p,'toggle__label'),A(_,l,'true'),n?(V(i,'toggle-service'),A(d,c,s),r.ae[s][t]=d):r.se[t]=d,n?(e=>{B(d,'change',(()=>{const t=r.ae[e],o=r.se[e];a.Z[e]=[];for(let o in t){const n=t[o];n.checked&&a.Z[e].push(n.value)}o.checked=a.Z[e].length>=Object.keys(t).length}))})(s):(e=>{B(d,f,(()=>{const t=r.ae[e],o=d.checked;a.Z[e]=[];for(let n in t)t[n].checked=o,o&&a.Z[e].push(n)}))})(t),d.value=t,p.textContent=e.replace(/<.*>.*<\/.*>/gm,''),j(u,b),j(u,g),j(_,u),a.T)(o.readOnly||o.enabled)&&(d.checked=!0);else if(n){const e=a.Y[s];d.checked=o.readOnly||v(e,t)}else v(a.R,t)&&(d.checked=!0);return o.readOnly&&(d.disabled=!0),j(i,d),j(i,_),j(i,p),i}const ye=()=>{const e=E('span');return m.ne.Ke||(m.ne.Ke=e),e},he=(e,t)=>{const o=m.o,n=m.ne,{hide:s,showPreferences:a,acceptCategory:c}=e,p=o.u&&o.u.consentModal;if(!p)return;const g=p.acceptAllBtn,b=p.acceptNecessaryBtn,v=p.showPreferencesBtn,y=p.closeIconLabel,h=p.footer,C=p.label,w=p.title,S=e=>{s(),c(e)};if(!n.Qe){n.Qe=E(r),n.he=E(r),n.We=E(r),n.Xe=E(r),n.Ye=E(r),V(n.Qe,'cm-wrapper'),V(n.he,'cm'),I(n.We,'body'),I(n.Xe,'texts'),I(n.Ye,'btns'),A(n.he,'role','dialog'),A(n.he,'aria-modal','true'),A(n.he,l,'false'),A(n.he,'aria-describedby','cm__desc'),C?A(n.he,'aria-label',C):w&&A(n.he,'aria-labelledby','cm__title');const e='box',t=o.i.guiOptions,s=t&&t.consentModal,a=(s&&s.layout||e).split(' ')[0]===e;w&&y&&a&&(n.Ie||(n.Ie=E(i),n.Ie.innerHTML=X(),I(n.Ie,'btn'),I(n.Ie,'btn--close'),B(n.Ie,f,(()=>{S([])})),j(n.We,n.Ie)),A(n.Ie,'aria-label',y)),j(n.We,n.Xe),(g||b||v)&&j(n.We,n.Ye),n.be=E(r),A(n.be,'tabIndex',-1),j(n.he,n.be),j(n.he,n.We),j(n.Qe,n.he)}w&&(n.Ze||(n.Ze=E('h2'),n.Ze.className=n.Ze.id='cm__title',j(n.Xe,n.Ze)),n.Ze.innerHTML=w);let x=p.description;if(x&&(o.j&&(x=x.replace('{{revisionMessage}}',o.V?'':p.revisionMessage||'')),n.et||(n.et=E('p'),n.et.className=n.et.id='cm__desc',j(n.Xe,n.et)),n.et.innerHTML=x),g&&(n.tt||(n.tt=E(i),j(n.tt,ye()),I(n.tt,'btn'),A(n.tt,_,'all'),B(n.tt,f,(()=>{S('all')}))),n.tt.firstElementChild.innerHTML=g),b&&(n.Ve||(n.Ve=E(i),j(n.Ve,ye()),I(n.Ve,'btn'),A(n.Ve,_,'necessary'),B(n.Ve,f,(()=>{S([])}))),n.Ve.firstElementChild.innerHTML=b),v&&(n.ot||(n.ot=E(i),j(n.ot,ye()),I(n.ot,'btn'),I(n.ot,'btn--secondary'),A(n.ot,_,'show'),B(n.ot,'mouseenter',(()=>{o.N||be(e,t)})),B(n.ot,f,a)),n.ot.firstElementChild.innerHTML=v),n.nt||(n.nt=E(r),I(n.nt,d),g&&j(n.nt,n.tt),b&&j(n.nt,n.Ve),(g||b)&&j(n.We,n.nt),j(n.Ye,n.nt)),n.ot&&!n.st&&(n.st=E(r),n.Ve&&n.tt?(I(n.st,d),j(n.st,n.ot),j(n.Ye,n.st)):(j(n.nt,n.ot),I(n.nt,d+'--uneven'))),h){if(!n.ct){let e=E(r),t=E(r);n.ct=E(r),I(e,'footer'),I(t,'links'),I(n.ct,'link-group'),j(t,n.ct),j(e,t),j(n.he,e)}n.ct.innerHTML=h}ge(0),o.D||(o.D=!0,te(m.re.ue,u,n.he),t(e),j(n.Ce,n.Qe),Y(n.he),setTimeout((()=>V(n.Qe,'cc--anim')),100)),ee(1),U(n.We,e,be,t)},Ce=e=>{if(!h(e))return null;if(e in m.o._)return e;let t=e.slice(0,2);return t in m.o._?t:null},we=()=>m.o.l||m.o.i.language.default,Se=e=>{e&&(m.o.l=e)},xe=async e=>{const t=m.o;let o=Ce(e)?e:we(),n=t._[o];if(h(n)?n=await(async e=>{try{const t=await fetch(e);return await t.json()}catch(e){return console.error(e),!1}})(n):w(n)&&(n=await n()),!n)throw`Could not load translation for the '${o}' language`;return t.u=n,Se(o),!0},Me=()=>{let e=m.o.i.language.rtl,t=m.ne.Ce;e&&t&&(y(e)||(e=[e]),v(e,m.o.l)?V(t,'cc--rtl'):F(t,'cc--rtl'))},Te=()=>{const e=m.ne;if(e.Ce)return;e.Ce=E(r),e.Ce.id='cc-main',e.Ce.setAttribute('data-nosnippet',''),Me();let t=m.o.i.root;t&&h(t)&&(t=document.querySelector(t)),(t||e.Ue.body).appendChild(e.Ce)},De=e=>oe((()=>localStorage.removeItem(e))),ke=(e,t)=>{if(t instanceof RegExp)return e.filter((e=>t.test(e)));{const o=b(e,t);return o>-1?[e[o]]:[]}},Ee=e=>{const{hostname:t,protocol:o}=location,{name:n,path:s,domain:a,sameSite:c,useLocalStorage:r,secure:i}=m.t.cookie,l=e?(()=>{const e=m.o.S,t=e?new Date-e:0;return 864e5*$()-t})():864e5*$(),d=new Date;d.setTime(d.getTime()+l),m.o.p.expirationTime=d.getTime();const f=JSON.stringify(m.o.p);let _=n+'='+encodeURIComponent(f)+(0!==l?'; expires='+d.toUTCString():'')+'; Path='+s+'; SameSite='+c;v(t,'.')&&(_+='; Domain='+a),i&&'https:'===o&&(_+='; Secure'),r?((e,t)=>{oe((()=>localStorage.setItem(e,t)))})(n,f):document.cookie=_,m.o.p},Ae=(e,t,o)=>{if(0===e.length)return;const n=o||m.t.cookie.domain,s=t||m.t.cookie.path,a='www.'===n.slice(0,4),c=a&&n.substring(4),r=(e,t)=>{document.cookie=e+'=; path='+s+(t?'; domain=.'+t:'')+'; expires=Thu, 01 Jan 1970 00:00:01 GMT;'};for(const t of e)r(t),r(t,n),a&&r(t,c)},Ne=e=>{const t=e||m.t.cookie.name,o=m.t.cookie.useLocalStorage;return((e,t)=>{let o;return o=oe((()=>JSON.parse(t?e:decodeURIComponent(e))),!0)||{},o})(o?(n=t,oe((()=>localStorage.getItem(n)))||''):He(t,!0),o);var n},He=(e,t)=>{const o=document.cookie.match('(^|;)\\s*'+e+'\\s*=\\s*([^;]+)');return o?t?o.pop():e:''},je=e=>{const t=document.cookie.split(/;\s*/),o=[];for(const n of t){let t=n.split('=')[0];e?oe((()=>{e.test(t)&&o.push(t)})):o.push(t)}return o},Ve=(e,n=[])=>{((e,t)=>{const{P:o,R:n,B:s,N:a,Z:c,$:r,X:i}=m.o;let l=[];if(e){y(e)?l.push(...e):h(e)&&(l='all'===e?o:[e]);for(const e of o)c[e]=v(l,e)?S(i[e]):[]}else l=[...n,...r],a&&(l=(()=>{const e=m.ne.se;if(!e)return[];let t=[];for(let o in e)e[o].checked&&t.push(o);return t})());l=l.filter((e=>!v(o,e)||!v(t,e))),l.push(...s),J(l)})(e,n),(e=>{const t=m.o,{Z:o,B:n,Y:s,X:a,P:c}=t,r=c;t.te=O(s);for(const e of r){const c=a[e],r=S(c),i=o[e]&&o[e].length>0,l=v(n,e);if(0!==r.length){if(s[e]=[],l)s[e].push(...r);else if(i){const t=o[e];s[e].push(...t)}else s[e]=t.Z[e];s[e]=x(s[e])}}})(),(()=>{const e=m.o;e.I=m.t.mode===o&&e.T?G(e.$,e.R):G(e.R,e.p.categories);let n=e.I.length>0,s=!1;for(const t of e.P)e.ee[t]=G(e.Y[t],e.te[t]),e.ee[t].length>0&&(s=!0);const a=m.ne.se;for(const t in a)a[t].checked=v(e.R,t);for(const t of e.P){const o=m.ne.ae[t],n=e.Y[t];for(const e in o)o[e].checked=v(n,e)}e.C||(e.C=new Date),e.M||(e.M=([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)))),e.p={categories:O(e.R),revision:m.t.revision,data:e.h,consentTimestamp:e.C.toISOString(),consentId:e.M,services:O(e.Y)},e.S&&(e.p.lastConsentTimestamp=e.S.toISOString());let c=!1;const r=n||s;(e.T||r)&&(e.T&&(e.T=!1,c=!0),e.S=e.S?new Date:e.C,e.p.lastConsentTimestamp=e.S.toISOString(),Ee(),m.t.autoClearCookies&&(c||r)&&(e=>{const t=m.o,o=je(),n=(e=>{const t=m.o;return(e?t.P:t.I).filter((e=>{const o=t.O[e];return!!o&&!o.readOnly&&!!o.autoClear}))})(e);for(const e in t.ee)for(const n of t.ee[e]){const s=t.X[e][n].cookies;if(!v(t.Y[e],n)&&s)for(const e of s){const t=ke(o,e.name);Ae(t,e.path,e.domain)}}for(const s of n){const n=t.O[s].autoClear,a=n&&n.cookies||[],c=v(t.I,s),r=!v(t.R,s),i=c&&r;if(e?r:i){n.reloadPage&&i&&(t.L=!0);for(const e of a){const t=ke(o,e.name);Ae(t,e.path,e.domain)}}}})(c),ne()),c&&(te(m.re.ie),te(m.re.le),m.t.mode===t)||(r&&te(m.re.de),e.L&&(e.L=!1,location.reload()))})()},Ie=e=>{const t=m.o.T?[]:m.o.R;return v(t,e)},Le=(e,t)=>{const o=m.o.T?[]:m.o.Y[t]||[];return v(o,e)},Fe=(e,t,o)=>{let n=[];const s=e=>{if(h(e)){let t=He(e);''!==t&&n.push(t)}else n.push(...je(e))};if(y(e))for(let t of e)s(t);else s(e);Ae(n,t,o)},Oe=e=>{const{ne:t,o:o}=m;if(!o.k){if(!o.D){if(!e)return;he($e,Te)}o.k=!0,o.J=M(),o.v&&Q(!0),q(t.he,1),V(t.ye,n),A(t.he,l,'false'),setTimeout((()=>{z(m.ne.be)}),100),te(m.re.fe,u)}},Pe=()=>{const{ne:e,o:t,re:o}=m;t.k&&(t.k=!1,t.v&&Q(),z(e.Ke,!0),F(e.ye,n),A(e.he,l,'true'),z(t.J),t.J=null,te(o._e,u))},Re=()=>{const e=m.o;e.A||(e.N||be($e,Te),e.A=!0,e.k?e.U=M():e.J=M(),q(m.ne.we,2),V(m.ne.ye,s),A(m.ne.we,l,'false'),setTimeout((()=>{z(m.ne.ve)}),100),te(m.re.fe,p))},Be=()=>{const e=m.o;e.A&&(e.A=!1,(()=>{const e=Je(),t=m.o.O,o=m.ne.se,n=m.ne.ae,s=e=>v(m.o.$,e);for(const a in o){const c=!!t[a].readOnly;o[a].checked=c||(e?Ie(a):s(a));for(const t in n[a])n[a][t].checked=c||(e?Le(t,a):s(a))}})(),z(m.ne.$e,!0),F(m.ne.ye,s),A(m.ne.we,l,'true'),e.k?(z(e.U),e.U=null):(z(e.J),e.J=null),te(m.re._e,p))};var $e={show:Oe,hide:Pe,showPreferences:Re,hidePreferences:Be,acceptCategory:Ve};const Ge=(e,t)=>{const o=Ne(t);return e?o[e]:o},Je=()=>!m.o.T;e.acceptCategory=Ve,e.acceptService=(e,t)=>{const{P:o,X:n}=m.o;if(!(e&&t&&h(t)&&v(o,t)&&0!==S(n[t]).length))return!1;((e,t)=>{const o=m.o,{X:n,Z:s,N:a}=o,c=m.ne.ae[t]||{},r=m.ne.se[t]||{},i=S(n[t]);if(s[t]=[],h(e)){if('all'===e){if(s[t].push(...i),a)for(let e in c)c[e].checked=!0,k(c[e])}else if(v(i,e)&&s[t].push(e),a)for(let t in c)c[t].checked=e===t,k(c[t])}else if(y(e))for(let o of i){const n=v(e,o);n&&s[t].push(o),a&&(c[o].checked=n,k(c[o]))}const l=s[t].lengthe!==t)):x([...o.R,t]),a&&(r.checked=!l,k(r))})(e,t),Ve()},e.acceptedCategory=Ie,e.acceptedService=Le,e.eraseCookies=Fe,e.getConfig=e=>{const t=m.t,o=m.o.i;return e?t[e]||o[e]:{...t,...o,cookie:{...t.cookie}}},e.getCookie=Ge,e.getUserPreferences=()=>{const{F:e,Y:t}=m.o,{accepted:o,rejected:n}=(()=>{const{T:e,R:t,P:o}=m.o;return{accepted:t,rejected:e?[]:o.filter((e=>!v(t,e)))}})();return O({acceptType:e,acceptedCategories:o,rejectedCategories:n,acceptedServices:t,rejectedServices:P()})},e.hide=Pe,e.hidePreferences=Be,e.loadScript=(e,t)=>{let o=document.querySelector('script[src="'+e+'"]');return new Promise((n=>{if(o)return n(!0);if(o=E('script'),C(t))for(const e in t)A(o,e,t[e]);o.onload=()=>n(!0),o.onerror=()=>{o.remove(),n(!1)},o.src=e,j(document.head,o)}))},e.reset=e=>{const{Ce:t,ye:o}=m.ne,{name:c,path:r,domain:i,useLocalStorage:l}=m.t.cookie;e&&(l?De(c):Fe(c,r,i));for(const{pe:e,ge:t,me:o}of m.o.m)e.removeEventListener(t,o);t&&t.remove(),o&&o.classList.remove(a,s,n);const d=new g;for(const e in m)m[e]=d[e];window._ccRun=!1},e.run=async e=>{const{o:t,t:n,re:s}=m,a=window;if(!a._ccRun){if(a._ccRun=!0,(e=>{const{ne:t,t:n,o:s}=m,a=n,r=s,{cookie:i}=a,l=m.ce,d=e.cookie,f=e.categories,_=S(f)||[],u=navigator,p=document;t.Ue=p,t.ye=p.documentElement,i.domain=location.hostname,r.i=e,r.O=f,r.P=_,r._=e.language.translations,r.v=!!e.disablePageInteraction,l.ie=e.onFirstConsent,l.le=e.onConsent,l.de=e.onChange,l._e=e.onModalHide,l.fe=e.onModalShow,l.ue=e.onModalReady;const{mode:g,autoShow:b,lazyHtmlGeneration:y,autoClearCookies:h,revision:w,manageScriptTags:x,hideFromBots:M}=e;g===o&&(a.mode=g),'boolean'==typeof h&&(a.autoClearCookies=h),'boolean'==typeof x&&(a.manageScriptTags=x),'number'==typeof w&&w>=0&&(a.revision=w,r.j=!0),'boolean'==typeof b&&(a.autoShow=b),'boolean'==typeof y&&(a.lazyHtmlGeneration=y),!1===M&&(a.hideFromBots=!1),!0===a.hideFromBots&&u&&(r.G=u.userAgent&&/bot|crawl|spider|slurp|teoma/i.test(u.userAgent)||u.webdriver),C(d)&&(a.cookie={...i,...d}),a.autoClearCookies,r.j,a.manageScriptTags,(e=>{const{O:t,X:o,Y:n,Z:s,B:a}=m.o;for(let c of e){const e=t[c],r=e.services||{},i=C(r)&&S(r)||[];o[c]={},n[c]=[],s[c]=[],e.readOnly&&(a.push(c),n[c]=i),m.ne.ae[c]={};for(let e of i){const t=r[e];t.Se=!1,o[c][e]=t}}})(_),(()=>{if(!m.t.manageScriptTags)return;const e=m.o,t=D(document,'script['+c+']');for(const o of t){let t=H(o,c),n=o.dataset.service||'',s=!1;if(t&&'!'===t.charAt(0)&&(t=t.slice(1),s=!0),'!'===n.charAt(0)&&(n=n.slice(1),s=!0),v(e.P,t)&&(e.oe.push({Me:o,xe:!1,ke:s,Te:t,De:n}),n)){const o=e.X[t];o[n]||(o[n]={Se:!1})}}})(),Se((()=>{const e=m.o.i.language.autoDetect;if(e){const t={browser:navigator.language,document:document.documentElement.lang},o=Ce(t[e]);if(o)return o}return we()})())})(e),t.G)return;(()=>{const e=m.o,t=m.t,n=Ne(),{categories:s,services:a,consentId:c,consentTimestamp:r,lastConsentTimestamp:i,data:l,revision:d}=n,f=y(s);e.p=n,e.M=c;const _=!!c&&h(c);e.C=r,e.C&&(e.C=new Date(r)),e.S=i,e.S&&(e.S=new Date(i)),e.h=void 0!==l?l:null,e.j&&_&&d!==t.revision&&(e.V=!1),e.T=!(_&&e.V&&e.C&&e.S&&f),t.cookie.useLocalStorage&&!e.T&&(e.T=(new Date).getTime()>(n.expirationTime||0),e.T&&De(t.cookie.name)),e.T,(()=>{const e=m.o;for(const t of e.P){const n=e.O[t];if(n.readOnly||n.enabled){e.$.push(t);const n=e.X[t]||{};for(let s in n)e.Z[t].push(s),e.i.mode===o&&e.Y[t].push(s)}}})(),e.T?t.mode===o&&(e.R=[...e.$]):(e.Y={...e.Y,...a},e.Z={...e.Y},J([...e.B,...s]))})();const i=Je();if(!await xe())return!1;if(U(null,r=$e,be,Te),m.o.T&&he(r,Te),m.t.lazyHtmlGeneration||be(r,Te),n.autoShow&&!i&&Oe(!0),i)return ne(),te(s.le);n.mode===o&&ne(t.$)}var r},e.setCookieData=e=>{let t,o=e.value,n=e.mode,s=!1;const a=m.o;if('update'===n){a.h=t=Ge('data');const e=typeof t==typeof o;if(e&&'object'==typeof t){!t&&(t={});for(let e in o)t[e]!==o[e]&&(t[e]=o[e],s=!0)}else!e&&t||t===o||(t=o,s=!0)}else t=o,s=!0;return s&&(a.h=t,a.p.data=t,Ee(!0)),s},e.setLanguage=async(e,t)=>{if(!Ce(e))return!1;const o=m.o;return!(e===we()&&!0!==t||!await xe(e)||(Se(e),o.D&&he($e,Te),o.N&&be($e,Te),Me(),0))},e.show=Oe,e.showPreferences=Re,e.validConsent=Je,e.validCookie=e=>''!==He(e,!0)},'object'==typeof exports&&'undefined'!=typeof module?t(exports):'function'==typeof define&&define.amd?define(['exports'],t):t((e='undefined'!=typeof globalThis?globalThis:e||self).CookieConsent={}); diff --git a/dist/core/cookieconsent-core.esm.js b/dist/core/cookieconsent-core.esm.js index f9ccc8fa..a84155fb 100644 --- a/dist/core/cookieconsent-core.esm.js +++ b/dist/core/cookieconsent-core.esm.js @@ -4,4 +4,4 @@ * Author Orest Bida * Released under the MIT License */ -const e='opt-in',t='opt-out',o='data-category';class n{constructor(){this.t={mode:e,revision:0,autoClearCookies:!0,manageScriptTags:!0,hideFromBots:!0,cookie:{name:'cc_cookie',expiresAfterDays:182,domain:'',path:'/',sameSite:'Lax'}},this.o={i:{},l:'',_:{},u:{},p:{},m:[],C:!1,v:null,S:null,h:null,D:'',T:!0,N:!1,k:!0,j:[],O:!1,A:'',I:!1,R:[],F:[],L:[],M:[],P:!1,J:{},U:{},B:{},G:{},H:{},q:[]},this.K={},this.V={W:'cc:onFirstConsent',X:'cc:onConsent',Y:'cc:onChange'}}}const s=new n,c=(e,t)=>e.indexOf(t),r=(e,t)=>-1!==c(e,t),a=e=>Array.isArray(e),i=e=>'string'==typeof e,l=e=>!!e&&'object'==typeof e&&!a(e),d=e=>'function'==typeof e,f=e=>Object.keys(e),_=e=>Array.from(new Set(e)),u=e=>{const t=document.createElement(e);return'button'===e&&(t.type=e),t},p=(e,t,o)=>e.setAttribute(t,o),m=(e,t,o)=>{e.removeAttribute(o?'data-'+t:t)},g=(e,t,o)=>e.getAttribute(o?'data-'+t:t),C=e=>{if('object'!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());let t=Array.isArray(e)?[]:{};for(let o in e){let n=e[o];t[o]=C(n)}return t},v=()=>{const e={},{R:t,J:o,U:n}=s.o;for(const s of t)e[s]=S(n[s],f(o[s]));return e},y=()=>{const e=s.t.cookie.expiresAfterDays;return d(e)?e(s.o.A):e},S=(e,t)=>{const o=e||[],n=t||[];return o.filter((e=>!r(n,e))).concat(n.filter((e=>!r(o,e))))},h=e=>{s.o.F=_(e),s.o.A=(()=>{let e='custom';const{F:t,R:o,L:n}=s.o,c=t.length;return c===o.length?e='all':c===n.length&&(e='necessary'),e})()},w=(e,t,o)=>{const{Y:n,X:c,W:r,Z:a,$:i,ee:l}=s.K,f=s.V,_={cookie:s.o.p};e===f.W?d(r)&&r(C(_)):e===f.X?d(c)&&c(C(_)):(_.changedCategories=s.o.j,_.changedServices=s.o.G,d(n)&&n(C(_))),((e,t)=>{dispatchEvent(new CustomEvent(e,{detail:t}))})(e,C(_))},D=(e,t)=>{try{return e()}catch(e){return!t&&console.warn('CookieConsent:',e),!1}},b=e=>{const{U:t,G:n,R:c,J:a,q:i,p:l,j:f}=s.o;for(const e of c){const o=n[e]||t[e]||[];for(const n of o){const o=a[e][n];if(!o)continue;const{onAccept:s,onReject:c}=o;!o.te&&r(t[e],n)?(o.te=!0,d(s)&&s()):o.te&&!r(t[e],n)&&(o.te=!1,d(c)&&c())}}if(!s.t.manageScriptTags)return;const _=i,C=e||l.categories||[],v=(e,s)=>{if(s>=e.length)return;const c=i[s];if(c.oe)return v(e,s+1);const a=c.ne,l=c.se,d=c.ce,_=r(C,l),y=!!d&&r(t[l],d);if(!d&&!c.re&&_||!d&&c.re&&!_&&r(f,l)||d&&!c.re&&y||d&&c.re&&!y&&r(n[l]||[],d)){c.oe=!0;const t=g(a,'type',!0);m(a,'type',!!t),m(a,o);let n=g(a,'src',!0);n&&m(a,'src',!0);const r=u('script');r.textContent=a.innerHTML;for(const{nodeName:e}of a.attributes)p(r,e,a[e]||g(a,e));t&&(r.type=t),n?r.src=n:n=a.src;const i=!!n&&(!t||['text/javascript','module'].includes(t));if(i&&(r.onload=r.onerror=()=>{v(e,++s)}),a.replaceWith(r),i)return}v(e,++s)};v(_,0)},T=e=>D((()=>localStorage.removeItem(e))),N=(e,t)=>{if(t instanceof RegExp)return e.filter((e=>t.test(e)));{const o=c(e,t);return o>-1?[e[o]]:[]}},k=e=>{const{hostname:t,protocol:o}=location,{name:n,path:c,domain:a,sameSite:i,useLocalStorage:l}=s.t.cookie,d=e?(()=>{const e=s.o.h,t=e?new Date-e:0;return 864e5*y()-t})():864e5*y(),f=new Date;f.setTime(f.getTime()+d),s.o.p.expirationTime=f.getTime();const _=JSON.stringify(s.o.p);let u=n+'='+encodeURIComponent(_)+(0!==d?'; expires='+f.toUTCString():'')+'; Path='+c+'; SameSite='+i;r(t,'.')&&(u+='; Domain='+a),'https:'===o&&(u+='; Secure'),l?((e,t)=>{D((()=>localStorage.setItem(e,t)))})(n,_):document.cookie=u,s.o.p},j=(e,t,o)=>{if(0===e.length)return;const n=o||s.t.cookie.domain,c=t||s.t.cookie.path,r='www.'===n.slice(0,4),a=r&&n.substring(4),i=(e,t)=>{document.cookie=e+'=; path='+c+(t?'; domain=.'+t:'')+'; expires=Thu, 01 Jan 1970 00:00:01 GMT;'};for(const t of e)i(t),i(t,n),r&&i(t,a)},E=e=>{const t=e||s.t.cookie.name,o=s.t.cookie.useLocalStorage;return((e,t)=>{let o;return o=D((()=>JSON.parse(t?e:decodeURIComponent(e))),!0)||{},o})(o?(n=t,D((()=>localStorage.getItem(n)))||''):x(t,!0),o);var n},x=(e,t)=>{const o=document.cookie.match('(^|;)\\s*'+e+'\\s*=\\s*([^;]+)');return o?t?o.pop():e:''},O=e=>{const t=document.cookie.split(/;\s*/),o=[];for(const n of t){let t=n.split('=')[0];e?D((()=>{e.test(t)&&o.push(t)})):o.push(t)}return o},A=(o,n=[])=>{((e,t)=>{const{R:o,F:n,L:c,ae:l,B:d,M:_,J:u}=s.o;let p=[];if(e){a(e)?p.push(...e):i(e)&&(p='all'===e?o:[e]);for(const e of o)d[e]=r(p,e)?f(u[e]):[]}else p=[...n,..._];p=p.filter((e=>!r(o,e)||!r(t,e))),p.push(...c),h(p)})(o,n),(e=>{const t=s.o,{B:o,L:n,U:c,J:a,R:i}=t,l=i;t.H=C(c);for(const e of l){const s=a[e],i=f(s),l=o[e]&&o[e].length>0,d=r(n,e);if(0!==i.length){if(c[e]=[],d)c[e].push(...i);else if(l){const t=o[e];c[e].push(...t)}else c[e]=t.B[e];c[e]=_(c[e])}}})(),(()=>{const o=s.o;o.j=s.t.mode===t&&o.T?S(o.M,o.F):S(o.F,o.p.categories);let n=o.j.length>0,c=!1;for(const e of o.R)o.G[e]=S(o.U[e],o.H[e]),o.G[e].length>0&&(c=!0);o.S||(o.S=new Date),o.D||(o.D=([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)))),o.p={categories:C(o.F),revision:s.t.revision,data:o.v,consentTimestamp:o.S.toISOString(),consentId:o.D,services:C(o.U)};let a=!1;const i=n||c;(o.T||i)&&(o.T&&(o.T=!1,a=!0),o.h=o.h?new Date:o.S,o.p.lastConsentTimestamp=o.h.toISOString(),k(),s.t.autoClearCookies&&(a||i)&&(e=>{const t=s.o,o=O(),n=(e=>{const t=s.o;return(e?t.R:t.j).filter((e=>{const o=t.I[e];return!!o&&!o.readOnly&&!!o.autoClear}))})(e);for(const e in t.G)for(const n of t.G[e]){const s=t.J[e][n].cookies;if(!r(t.U[e],n)&&s)for(const e of s){const t=N(o,e.name);j(t,e.path,e.domain)}}for(const s of n){const n=t.I[s].autoClear,c=n&&n.cookies||[],a=r(t.j,s),i=!r(t.F,s),l=a&&i;if(e?i:l){n.reloadPage&&l&&(t.O=!0);for(const e of c){const t=N(o,e.name);j(t,e.path,e.domain)}}}})(a),b()),a&&(w(s.V.W),w(s.V.X),s.t.mode===e)||(i&&w(s.V.Y),o.O&&(o.O=!1,location.reload()))})()},I=e=>{const t=s.o.T?[]:s.o.F;return r(t,e)},R=(e,t)=>{const{R:o,J:n}=s.o;if(!(e&&t&&i(t)&&r(o,t)&&0!==f(n[t]).length))return!1;A()},F=(e,t)=>{const o=s.o.T?[]:s.o.U[t]||[];return r(o,e)},L=e=>''!==x(e,!0),M=(e,t,o)=>{let n=[];const s=e=>{if(i(e)){let t=x(e);''!==t&&n.push(t)}else n.push(...O(e))};if(a(e))for(let t of e)s(t);else s(e);j(n,t,o)},P=()=>{const{A:e,U:t}=s.o,{accepted:o,rejected:n}=(()=>{const{T:e,F:t,R:o}=s.o;return{accepted:t,rejected:e?[]:o.filter((e=>!r(t,e)))}})();return C({acceptType:e,acceptedCategories:o,rejectedCategories:n,acceptedServices:t,rejectedServices:v()})},J=(e,t)=>{let o=document.querySelector('script[src="'+e+'"]');return new Promise((n=>{if(o)return n(!0);if(o=u('script'),l(t))for(const e in t)p(o,e,t[e]);var s,c;o.onload=()=>n(!0),o.onerror=()=>{o.remove(),n(!1)},o.src=e,s=document.head,c=o,s.appendChild(c)}))},U=e=>{let t,o=e.value,n=e.mode,c=!1;const r=s.o;if('update'===n){r.v=t=B('data');const e=typeof t==typeof o;if(e&&'object'==typeof t){!t&&(t={});for(let e in o)t[e]!==o[e]&&(t[e]=o[e],c=!0)}else!e&&t||t===o||(t=o,c=!0)}else t=o,c=!0;return c&&(r.v=t,r.p.data=t,k(!0)),c},B=(e,t)=>{const o=E(t);return e?o[e]:o},G=e=>{const t=s.t,o=s.o.i;return e?t[e]||o[e]:{...t,...o,cookie:{...t.cookie}}},H=()=>!s.o.T,q=async e=>{const{o:n,t:c,V:d}=s,_=window;if(!_._ccRun){if(_._ccRun=!0,(e=>{const{ie:n,t:c,o:a}=s,i=c,d=a,{cookie:_}=i,u=s.K,p=e.cookie,m=e.categories,C=f(m)||[],v=navigator,y=document;n.le=y,_.domain=location.hostname,d.i=e,d.I=m,d.R=C,u.W=e.onFirstConsent,u.X=e.onConsent,u.Y=e.onChange;const{mode:S,autoClearCookies:h,revision:w,manageScriptTags:D,hideFromBots:b}=e;S===t&&(i.mode=S),'boolean'==typeof h&&(i.autoClearCookies=h),'boolean'==typeof D&&(i.manageScriptTags=D),'number'==typeof w&&w>=0&&(i.revision=w,d.N=!0),!1===b&&(i.hideFromBots=!1),!0===i.hideFromBots&&v&&(d.P=v.userAgent&&/bot|crawl|spider|slurp|teoma/i.test(v.userAgent)||v.webdriver),l(p)&&(i.cookie={..._,...p}),i.autoClearCookies,d.N,i.manageScriptTags,(e=>{const{I:t,J:o,U:n,B:c,L:r}=s.o;for(let a of e){const e=t[a],i=e.services||{},d=l(i)&&f(i)||[];o[a]={},n[a]=[],c[a]=[],e.readOnly&&(r.push(a),n[a]=d),s.ie.de[a]={};for(let e of d){const t=i[e];t.te=!1,o[a][e]=t}}})(C),(()=>{if(!s.t.manageScriptTags)return;const e=s.o,t=(n=document,c='script['+o+']',n.querySelectorAll(c));var n,c;for(const n of t){let t=g(n,o),s=n.dataset.service||'',c=!1;if(t&&'!'===t.charAt(0)&&(t=t.slice(1),c=!0),'!'===s.charAt(0)&&(s=s.slice(1),c=!0),r(e.R,t)&&(e.q.push({ne:n,oe:!1,re:c,se:t,ce:s}),s)){const o=e.J[t];o[s]||(o[s]={te:!1})}}})()})(e),n.P)return;if((()=>{const e=s.o,o=s.t,n=E(),{categories:c,services:r,consentId:l,consentTimestamp:d,lastConsentTimestamp:f,data:_,revision:u}=n,p=a(c);e.p=n,e.D=l;const m=!!l&&i(l);e.S=d,e.S&&(e.S=new Date(d)),e.h=f,e.h&&(e.h=new Date(f)),e.v=void 0!==_?_:null,e.N&&m&&u!==o.revision&&(e.k=!1),e.T=!(m&&e.k&&e.S&&e.h&&p),o.cookie.useLocalStorage&&!e.T&&(e.T=(new Date).getTime()>(n.expirationTime||0),e.T&&T(o.cookie.name)),e.T,(()=>{const e=s.o;for(const o of e.R){const n=e.I[o];if(n.readOnly||n.enabled){e.M.push(o);const n=e.J[o]||{};for(let s in n)e.B[o].push(s),e.i.mode===t&&e.U[o].push(s)}}})(),e.T?o.mode===t&&(e.F=[...e.M]):(e.B={...e.U},e.U={...e.U,...r},h([...e.L,...c]))})(),H())return b(),w(d.X);c.mode===t&&b(n.M)}},z=e=>{const{name:t,path:o,domain:c,useLocalStorage:r}=s.t.cookie;e&&(r?T(t):M(t,o,c));for(const{fe:e,_e:t,ue:o}of s.o.m)e.removeEventListener(t,o);const a=new n;for(const e in s)s[e]=a[e];window._ccRun=!1};export{A as acceptCategory,R as acceptService,I as acceptedCategory,F as acceptedService,M as eraseCookies,G as getConfig,B as getCookie,P as getUserPreferences,J as loadScript,z as reset,q as run,U as setCookieData,H as validConsent,L as validCookie}; +const e='opt-in',t='opt-out',o='data-category';class n{constructor(){this.t={mode:e,revision:0,autoClearCookies:!0,manageScriptTags:!0,hideFromBots:!0,cookie:{name:'cc_cookie',expiresAfterDays:182,domain:'',path:'/',secure:!0,sameSite:'Lax'}},this.o={i:{},l:'',_:{},u:{},p:{},m:[],C:!1,v:null,S:null,h:null,D:'',T:!0,N:!1,k:!0,j:[],O:!1,A:'',I:!1,R:[],F:[],L:[],M:[],P:!1,J:{},U:{},B:{},G:{},H:{},q:[]},this.K={},this.V={W:'cc:onFirstConsent',X:'cc:onConsent',Y:'cc:onChange'}}}const s=new n,c=(e,t)=>e.indexOf(t),r=(e,t)=>-1!==c(e,t),a=e=>Array.isArray(e),i=e=>'string'==typeof e,l=e=>!!e&&'object'==typeof e&&!a(e),d=e=>'function'==typeof e,f=e=>Object.keys(e),_=e=>Array.from(new Set(e)),u=e=>document.createElement(e),p=(e,t,o)=>e.setAttribute(t,o),m=(e,t,o)=>{e.removeAttribute(o?'data-'+t:t)},g=(e,t,o)=>e.getAttribute(o?'data-'+t:t),C=e=>{if('object'!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());let t=Array.isArray(e)?[]:{};for(let o in e){let n=e[o];t[o]=C(n)}return t},v=()=>{const e={},{R:t,J:o,U:n}=s.o;for(const s of t)e[s]=S(n[s],f(o[s]));return e},y=()=>{const e=s.t.cookie.expiresAfterDays;return d(e)?e(s.o.A):e},S=(e,t)=>{const o=e||[],n=t||[];return o.filter((e=>!r(n,e))).concat(n.filter((e=>!r(o,e))))},h=e=>{s.o.F=_(e),s.o.A=(()=>{let e='custom';const{F:t,R:o,L:n}=s.o,c=t.length;return c===o.length?e='all':c===n.length&&(e='necessary'),e})()},w=(e,t,o)=>{const{Y:n,X:c,W:r,Z:a,$:i,ee:l}=s.K,f=s.V,_={cookie:s.o.p};e===f.W?d(r)&&r(C(_)):e===f.X?d(c)&&c(C(_)):(_.changedCategories=s.o.j,_.changedServices=s.o.G,d(n)&&n(C(_))),((e,t)=>{dispatchEvent(new CustomEvent(e,{detail:t}))})(e,C(_))},D=(e,t)=>{try{return e()}catch(e){return!t&&console.warn('CookieConsent:',e),!1}},b=e=>{const{U:t,G:n,R:c,J:a,q:i,p:l,j:f}=s.o;for(const e of c){const o=n[e]||t[e]||[];for(const n of o){const o=a[e][n];if(!o)continue;const{onAccept:s,onReject:c}=o;!o.te&&r(t[e],n)?(o.te=!0,d(s)&&s()):o.te&&!r(t[e],n)&&(o.te=!1,d(c)&&c())}}if(!s.t.manageScriptTags)return;const _=i,C=e||l.categories||[],v=(e,s)=>{if(s>=e.length)return;const c=i[s];if(c.oe)return v(e,s+1);const a=c.ne,l=c.se,d=c.ce,_=r(C,l),y=!!d&&r(t[l],d);if(!d&&!c.re&&_||!d&&c.re&&!_&&r(f,l)||d&&!c.re&&y||d&&c.re&&!y&&r(n[l]||[],d)){c.oe=!0;const t=g(a,'type',!0);m(a,'type',!!t),m(a,o);let n=g(a,'src',!0);n&&m(a,'src',!0);const r=u('script');r.textContent=a.innerHTML;for(const{nodeName:e}of a.attributes)p(r,e,a[e]||g(a,e));t&&(r.type=t),n?r.src=n:n=a.src;const i=!!n&&(!t||['text/javascript','module'].includes(t));if(i&&(r.onload=r.onerror=()=>{v(e,++s)}),a.replaceWith(r),i)return}v(e,++s)};v(_,0)},T=e=>D((()=>localStorage.removeItem(e))),N=(e,t)=>{if(t instanceof RegExp)return e.filter((e=>t.test(e)));{const o=c(e,t);return o>-1?[e[o]]:[]}},k=e=>{const{hostname:t,protocol:o}=location,{name:n,path:c,domain:a,sameSite:i,useLocalStorage:l,secure:d}=s.t.cookie,f=e?(()=>{const e=s.o.h,t=e?new Date-e:0;return 864e5*y()-t})():864e5*y(),_=new Date;_.setTime(_.getTime()+f),s.o.p.expirationTime=_.getTime();const u=JSON.stringify(s.o.p);let p=n+'='+encodeURIComponent(u)+(0!==f?'; expires='+_.toUTCString():'')+'; Path='+c+'; SameSite='+i;r(t,'.')&&(p+='; Domain='+a),d&&'https:'===o&&(p+='; Secure'),l?((e,t)=>{D((()=>localStorage.setItem(e,t)))})(n,u):document.cookie=p,s.o.p},j=(e,t,o)=>{if(0===e.length)return;const n=o||s.t.cookie.domain,c=t||s.t.cookie.path,r='www.'===n.slice(0,4),a=r&&n.substring(4),i=(e,t)=>{document.cookie=e+'=; path='+c+(t?'; domain=.'+t:'')+'; expires=Thu, 01 Jan 1970 00:00:01 GMT;'};for(const t of e)i(t),i(t,n),r&&i(t,a)},E=e=>{const t=e||s.t.cookie.name,o=s.t.cookie.useLocalStorage;return((e,t)=>{let o;return o=D((()=>JSON.parse(t?e:decodeURIComponent(e))),!0)||{},o})(o?(n=t,D((()=>localStorage.getItem(n)))||''):x(t,!0),o);var n},x=(e,t)=>{const o=document.cookie.match('(^|;)\\s*'+e+'\\s*=\\s*([^;]+)');return o?t?o.pop():e:''},O=e=>{const t=document.cookie.split(/;\s*/),o=[];for(const n of t){let t=n.split('=')[0];e?D((()=>{e.test(t)&&o.push(t)})):o.push(t)}return o},A=(o,n=[])=>{((e,t)=>{const{R:o,F:n,L:c,ae:l,B:d,M:_,J:u}=s.o;let p=[];if(e){a(e)?p.push(...e):i(e)&&(p='all'===e?o:[e]);for(const e of o)d[e]=r(p,e)?f(u[e]):[]}else p=[...n,..._];p=p.filter((e=>!r(o,e)||!r(t,e))),p.push(...c),h(p)})(o,n),(e=>{const t=s.o,{B:o,L:n,U:c,J:a,R:i}=t,l=i;t.H=C(c);for(const e of l){const s=a[e],i=f(s),l=o[e]&&o[e].length>0,d=r(n,e);if(0!==i.length){if(c[e]=[],d)c[e].push(...i);else if(l){const t=o[e];c[e].push(...t)}else c[e]=t.B[e];c[e]=_(c[e])}}})(),(()=>{const o=s.o;o.j=s.t.mode===t&&o.T?S(o.M,o.F):S(o.F,o.p.categories);let n=o.j.length>0,c=!1;for(const e of o.R)o.G[e]=S(o.U[e],o.H[e]),o.G[e].length>0&&(c=!0);o.S||(o.S=new Date),o.D||(o.D=([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)))),o.p={categories:C(o.F),revision:s.t.revision,data:o.v,consentTimestamp:o.S.toISOString(),consentId:o.D,services:C(o.U)},o.h&&(o.p.lastConsentTimestamp=o.h.toISOString());let a=!1;const i=n||c;(o.T||i)&&(o.T&&(o.T=!1,a=!0),o.h=o.h?new Date:o.S,o.p.lastConsentTimestamp=o.h.toISOString(),k(),s.t.autoClearCookies&&(a||i)&&(e=>{const t=s.o,o=O(),n=(e=>{const t=s.o;return(e?t.R:t.j).filter((e=>{const o=t.I[e];return!!o&&!o.readOnly&&!!o.autoClear}))})(e);for(const e in t.G)for(const n of t.G[e]){const s=t.J[e][n].cookies;if(!r(t.U[e],n)&&s)for(const e of s){const t=N(o,e.name);j(t,e.path,e.domain)}}for(const s of n){const n=t.I[s].autoClear,c=n&&n.cookies||[],a=r(t.j,s),i=!r(t.F,s),l=a&&i;if(e?i:l){n.reloadPage&&l&&(t.O=!0);for(const e of c){const t=N(o,e.name);j(t,e.path,e.domain)}}}})(a),b()),a&&(w(s.V.W),w(s.V.X),s.t.mode===e)||(i&&w(s.V.Y),o.O&&(o.O=!1,location.reload()))})()},I=e=>{const t=s.o.T?[]:s.o.F;return r(t,e)},R=(e,t)=>{const{R:o,J:n}=s.o;if(!(e&&t&&i(t)&&r(o,t)&&0!==f(n[t]).length))return!1;A()},F=(e,t)=>{const o=s.o.T?[]:s.o.U[t]||[];return r(o,e)},L=e=>''!==x(e,!0),M=(e,t,o)=>{let n=[];const s=e=>{if(i(e)){let t=x(e);''!==t&&n.push(t)}else n.push(...O(e))};if(a(e))for(let t of e)s(t);else s(e);j(n,t,o)},P=()=>{const{A:e,U:t}=s.o,{accepted:o,rejected:n}=(()=>{const{T:e,F:t,R:o}=s.o;return{accepted:t,rejected:e?[]:o.filter((e=>!r(t,e)))}})();return C({acceptType:e,acceptedCategories:o,rejectedCategories:n,acceptedServices:t,rejectedServices:v()})},J=(e,t)=>{let o=document.querySelector('script[src="'+e+'"]');return new Promise((n=>{if(o)return n(!0);if(o=u('script'),l(t))for(const e in t)p(o,e,t[e]);var s,c;o.onload=()=>n(!0),o.onerror=()=>{o.remove(),n(!1)},o.src=e,s=document.head,c=o,s.appendChild(c)}))},U=e=>{let t,o=e.value,n=e.mode,c=!1;const r=s.o;if('update'===n){r.v=t=B('data');const e=typeof t==typeof o;if(e&&'object'==typeof t){!t&&(t={});for(let e in o)t[e]!==o[e]&&(t[e]=o[e],c=!0)}else!e&&t||t===o||(t=o,c=!0)}else t=o,c=!0;return c&&(r.v=t,r.p.data=t,k(!0)),c},B=(e,t)=>{const o=E(t);return e?o[e]:o},G=e=>{const t=s.t,o=s.o.i;return e?t[e]||o[e]:{...t,...o,cookie:{...t.cookie}}},H=()=>!s.o.T,q=async e=>{const{o:n,t:c,V:d}=s,_=window;if(!_._ccRun){if(_._ccRun=!0,(e=>{const{ie:n,t:c,o:a}=s,i=c,d=a,{cookie:_}=i,u=s.K,p=e.cookie,m=e.categories,C=f(m)||[],v=navigator,y=document;n.le=y,_.domain=location.hostname,d.i=e,d.I=m,d.R=C,u.W=e.onFirstConsent,u.X=e.onConsent,u.Y=e.onChange;const{mode:S,autoClearCookies:h,revision:w,manageScriptTags:D,hideFromBots:b}=e;S===t&&(i.mode=S),'boolean'==typeof h&&(i.autoClearCookies=h),'boolean'==typeof D&&(i.manageScriptTags=D),'number'==typeof w&&w>=0&&(i.revision=w,d.N=!0),!1===b&&(i.hideFromBots=!1),!0===i.hideFromBots&&v&&(d.P=v.userAgent&&/bot|crawl|spider|slurp|teoma/i.test(v.userAgent)||v.webdriver),l(p)&&(i.cookie={..._,...p}),i.autoClearCookies,d.N,i.manageScriptTags,(e=>{const{I:t,J:o,U:n,B:c,L:r}=s.o;for(let a of e){const e=t[a],i=e.services||{},d=l(i)&&f(i)||[];o[a]={},n[a]=[],c[a]=[],e.readOnly&&(r.push(a),n[a]=d),s.ie.de[a]={};for(let e of d){const t=i[e];t.te=!1,o[a][e]=t}}})(C),(()=>{if(!s.t.manageScriptTags)return;const e=s.o,t=(n=document,c='script['+o+']',n.querySelectorAll(c));var n,c;for(const n of t){let t=g(n,o),s=n.dataset.service||'',c=!1;if(t&&'!'===t.charAt(0)&&(t=t.slice(1),c=!0),'!'===s.charAt(0)&&(s=s.slice(1),c=!0),r(e.R,t)&&(e.q.push({ne:n,oe:!1,re:c,se:t,ce:s}),s)){const o=e.J[t];o[s]||(o[s]={te:!1})}}})()})(e),n.P)return;if((()=>{const e=s.o,o=s.t,n=E(),{categories:c,services:r,consentId:l,consentTimestamp:d,lastConsentTimestamp:f,data:_,revision:u}=n,p=a(c);e.p=n,e.D=l;const m=!!l&&i(l);e.S=d,e.S&&(e.S=new Date(d)),e.h=f,e.h&&(e.h=new Date(f)),e.v=void 0!==_?_:null,e.N&&m&&u!==o.revision&&(e.k=!1),e.T=!(m&&e.k&&e.S&&e.h&&p),o.cookie.useLocalStorage&&!e.T&&(e.T=(new Date).getTime()>(n.expirationTime||0),e.T&&T(o.cookie.name)),e.T,(()=>{const e=s.o;for(const o of e.R){const n=e.I[o];if(n.readOnly||n.enabled){e.M.push(o);const n=e.J[o]||{};for(let s in n)e.B[o].push(s),e.i.mode===t&&e.U[o].push(s)}}})(),e.T?o.mode===t&&(e.F=[...e.M]):(e.U={...e.U,...r},e.B={...e.U},h([...e.L,...c]))})(),H())return b(),w(d.X);c.mode===t&&b(n.M)}},z=e=>{const{name:t,path:o,domain:c,useLocalStorage:r}=s.t.cookie;e&&(r?T(t):M(t,o,c));for(const{fe:e,_e:t,ue:o}of s.o.m)e.removeEventListener(t,o);const a=new n;for(const e in s)s[e]=a[e];window._ccRun=!1};export{A as acceptCategory,R as acceptService,I as acceptedCategory,F as acceptedService,M as eraseCookies,G as getConfig,B as getCookie,P as getUserPreferences,J as loadScript,z as reset,q as run,U as setCookieData,H as validConsent,L as validCookie}; diff --git a/dist/core/cookieconsent-core.umd.js b/dist/core/cookieconsent-core.umd.js index 412818fb..ebbc5298 100644 --- a/dist/core/cookieconsent-core.umd.js +++ b/dist/core/cookieconsent-core.umd.js @@ -4,4 +4,4 @@ * Author Orest Bida * Released under the MIT License */ -var e,t;e=this,t=function(e){'use strict';const t='opt-in',o='opt-out',n='data-category';class s{constructor(){this.t={mode:t,revision:0,autoClearCookies:!0,manageScriptTags:!0,hideFromBots:!0,cookie:{name:'cc_cookie',expiresAfterDays:182,domain:'',path:'/',sameSite:'Lax'}},this.o={i:{},l:'',_:{},u:{},p:{},m:[],C:!1,v:null,S:null,h:null,D:'',T:!0,N:!1,j:!0,k:[],O:!1,A:'',I:!1,R:[],F:[],L:[],M:[],P:!1,J:{},U:{},B:{},G:{},H:{},q:[]},this.K={},this.V={W:'cc:onFirstConsent',X:'cc:onConsent',Y:'cc:onChange'}}}const c=new s,r=(e,t)=>e.indexOf(t),a=(e,t)=>-1!==r(e,t),i=e=>Array.isArray(e),l=e=>'string'==typeof e,f=e=>!!e&&'object'==typeof e&&!i(e),d=e=>'function'==typeof e,_=e=>Object.keys(e),u=e=>Array.from(new Set(e)),p=e=>{const t=document.createElement(e);return'button'===e&&(t.type=e),t},m=(e,t,o)=>e.setAttribute(t,o),g=(e,t,o)=>{e.removeAttribute(o?'data-'+t:t)},C=(e,t,o)=>e.getAttribute(o?'data-'+t:t),v=e=>{if('object'!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());let t=Array.isArray(e)?[]:{};for(let o in e){let n=e[o];t[o]=v(n)}return t},y=()=>{const e={},{R:t,J:o,U:n}=c.o;for(const s of t)e[s]=h(n[s],_(o[s]));return e},S=()=>{const e=c.t.cookie.expiresAfterDays;return d(e)?e(c.o.A):e},h=(e,t)=>{const o=e||[],n=t||[];return o.filter((e=>!a(n,e))).concat(n.filter((e=>!a(o,e))))},b=e=>{c.o.F=u(e),c.o.A=(()=>{let e='custom';const{F:t,R:o,L:n}=c.o,s=t.length;return s===o.length?e='all':s===n.length&&(e='necessary'),e})()},w=(e,t,o)=>{const{Y:n,X:s,W:r,Z:a,$:i,ee:l}=c.K,f=c.V,_={cookie:c.o.p};e===f.W?d(r)&&r(v(_)):e===f.X?d(s)&&s(v(_)):(_.changedCategories=c.o.k,_.changedServices=c.o.G,d(n)&&n(v(_))),((e,t)=>{dispatchEvent(new CustomEvent(e,{detail:t}))})(e,v(_))},D=(e,t)=>{try{return e()}catch(e){return!t&&console.warn('CookieConsent:',e),!1}},T=e=>{const{U:t,G:o,R:s,J:r,q:i,p:l,k:f}=c.o;for(const e of s){const n=o[e]||t[e]||[];for(const o of n){const n=r[e][o];if(!n)continue;const{onAccept:s,onReject:c}=n;!n.te&&a(t[e],o)?(n.te=!0,d(s)&&s()):n.te&&!a(t[e],o)&&(n.te=!1,d(c)&&c())}}if(!c.t.manageScriptTags)return;const _=i,u=e||l.categories||[],v=(e,s)=>{if(s>=e.length)return;const c=i[s];if(c.oe)return v(e,s+1);const r=c.ne,l=c.se,d=c.ce,_=a(u,l),y=!!d&&a(t[l],d);if(!d&&!c.re&&_||!d&&c.re&&!_&&a(f,l)||d&&!c.re&&y||d&&c.re&&!y&&a(o[l]||[],d)){c.oe=!0;const t=C(r,'type',!0);g(r,'type',!!t),g(r,n);let o=C(r,'src',!0);o&&g(r,'src',!0);const a=p('script');a.textContent=r.innerHTML;for(const{nodeName:e}of r.attributes)m(a,e,r[e]||C(r,e));t&&(a.type=t),o?a.src=o:o=r.src;const i=!!o&&(!t||['text/javascript','module'].includes(t));if(i&&(a.onload=a.onerror=()=>{v(e,++s)}),r.replaceWith(a),i)return}v(e,++s)};v(_,0)},N=e=>D((()=>localStorage.removeItem(e))),j=(e,t)=>{if(t instanceof RegExp)return e.filter((e=>t.test(e)));{const o=r(e,t);return o>-1?[e[o]]:[]}},k=e=>{const{hostname:t,protocol:o}=location,{name:n,path:s,domain:r,sameSite:i,useLocalStorage:l}=c.t.cookie,f=e?(()=>{const e=c.o.h,t=e?new Date-e:0;return 864e5*S()-t})():864e5*S(),d=new Date;d.setTime(d.getTime()+f),c.o.p.expirationTime=d.getTime();const _=JSON.stringify(c.o.p);let u=n+'='+encodeURIComponent(_)+(0!==f?'; expires='+d.toUTCString():'')+'; Path='+s+'; SameSite='+i;a(t,'.')&&(u+='; Domain='+r),'https:'===o&&(u+='; Secure'),l?((e,t)=>{D((()=>localStorage.setItem(e,t)))})(n,_):document.cookie=u,c.o.p},x=(e,t,o)=>{if(0===e.length)return;const n=o||c.t.cookie.domain,s=t||c.t.cookie.path,r='www.'===n.slice(0,4),a=r&&n.substring(4),i=(e,t)=>{document.cookie=e+'=; path='+s+(t?'; domain=.'+t:'')+'; expires=Thu, 01 Jan 1970 00:00:01 GMT;'};for(const t of e)i(t),i(t,n),r&&i(t,a)},E=e=>{const t=e||c.t.cookie.name,o=c.t.cookie.useLocalStorage;return((e,t)=>{let o;return o=D((()=>JSON.parse(t?e:decodeURIComponent(e))),!0)||{},o})(o?(n=t,D((()=>localStorage.getItem(n)))||''):O(t,!0),o);var n},O=(e,t)=>{const o=document.cookie.match('(^|;)\\s*'+e+'\\s*=\\s*([^;]+)');return o?t?o.pop():e:''},A=e=>{const t=document.cookie.split(/;\s*/),o=[];for(const n of t){let t=n.split('=')[0];e?D((()=>{e.test(t)&&o.push(t)})):o.push(t)}return o},I=(e,n=[])=>{((e,t)=>{const{R:o,F:n,L:s,ae:r,B:f,M:d,J:u}=c.o;let p=[];if(e){i(e)?p.push(...e):l(e)&&(p='all'===e?o:[e]);for(const e of o)f[e]=a(p,e)?_(u[e]):[]}else p=[...n,...d];p=p.filter((e=>!a(o,e)||!a(t,e))),p.push(...s),b(p)})(e,n),(e=>{const t=c.o,{B:o,L:n,U:s,J:r,R:i}=t,l=i;t.H=v(s);for(const e of l){const c=r[e],i=_(c),l=o[e]&&o[e].length>0,f=a(n,e);if(0!==i.length){if(s[e]=[],f)s[e].push(...i);else if(l){const t=o[e];s[e].push(...t)}else s[e]=t.B[e];s[e]=u(s[e])}}})(),(()=>{const e=c.o;e.k=c.t.mode===o&&e.T?h(e.M,e.F):h(e.F,e.p.categories);let n=e.k.length>0,s=!1;for(const t of e.R)e.G[t]=h(e.U[t],e.H[t]),e.G[t].length>0&&(s=!0);e.S||(e.S=new Date),e.D||(e.D=([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)))),e.p={categories:v(e.F),revision:c.t.revision,data:e.v,consentTimestamp:e.S.toISOString(),consentId:e.D,services:v(e.U)};let r=!1;const i=n||s;(e.T||i)&&(e.T&&(e.T=!1,r=!0),e.h=e.h?new Date:e.S,e.p.lastConsentTimestamp=e.h.toISOString(),k(),c.t.autoClearCookies&&(r||i)&&(e=>{const t=c.o,o=A(),n=(e=>{const t=c.o;return(e?t.R:t.k).filter((e=>{const o=t.I[e];return!!o&&!o.readOnly&&!!o.autoClear}))})(e);for(const e in t.G)for(const n of t.G[e]){const s=t.J[e][n].cookies;if(!a(t.U[e],n)&&s)for(const e of s){const t=j(o,e.name);x(t,e.path,e.domain)}}for(const s of n){const n=t.I[s].autoClear,c=n&&n.cookies||[],r=a(t.k,s),i=!a(t.F,s),l=r&&i;if(e?i:l){n.reloadPage&&l&&(t.O=!0);for(const e of c){const t=j(o,e.name);x(t,e.path,e.domain)}}}})(r),T()),r&&(w(c.V.W),w(c.V.X),c.t.mode===t)||(i&&w(c.V.Y),e.O&&(e.O=!1,location.reload()))})()},R=(e,t,o)=>{let n=[];const s=e=>{if(l(e)){let t=O(e);''!==t&&n.push(t)}else n.push(...A(e))};if(i(e))for(let t of e)s(t);else s(e);x(n,t,o)},F=(e,t)=>{const o=E(t);return e?o[e]:o},L=()=>!c.o.T;e.acceptCategory=I,e.acceptService=(e,t)=>{const{R:o,J:n}=c.o;if(!(e&&t&&l(t)&&a(o,t)&&0!==_(n[t]).length))return!1;I()},e.acceptedCategory=e=>{const t=c.o.T?[]:c.o.F;return a(t,e)},e.acceptedService=(e,t)=>{const o=c.o.T?[]:c.o.U[t]||[];return a(o,e)},e.eraseCookies=R,e.getConfig=e=>{const t=c.t,o=c.o.i;return e?t[e]||o[e]:{...t,...o,cookie:{...t.cookie}}},e.getCookie=F,e.getUserPreferences=()=>{const{A:e,U:t}=c.o,{accepted:o,rejected:n}=(()=>{const{T:e,F:t,R:o}=c.o;return{accepted:t,rejected:e?[]:o.filter((e=>!a(t,e)))}})();return v({acceptType:e,acceptedCategories:o,rejectedCategories:n,acceptedServices:t,rejectedServices:y()})},e.loadScript=(e,t)=>{let o=document.querySelector('script[src="'+e+'"]');return new Promise((n=>{if(o)return n(!0);if(o=p('script'),f(t))for(const e in t)m(o,e,t[e]);var s,c;o.onload=()=>n(!0),o.onerror=()=>{o.remove(),n(!1)},o.src=e,s=document.head,c=o,s.appendChild(c)}))},e.reset=e=>{const{name:t,path:o,domain:n,useLocalStorage:r}=c.t.cookie;e&&(r?N(t):R(t,o,n));for(const{ie:e,le:t,fe:o}of c.o.m)e.removeEventListener(t,o);const a=new s;for(const e in c)c[e]=a[e];window._ccRun=!1},e.run=async e=>{const{o:t,t:s,V:r}=c,d=window;if(!d._ccRun){if(d._ccRun=!0,(e=>{const{de:t,t:s,o:r}=c,i=s,l=r,{cookie:d}=i,u=c.K,p=e.cookie,m=e.categories,g=_(m)||[],v=navigator,y=document;t._e=y,d.domain=location.hostname,l.i=e,l.I=m,l.R=g,u.W=e.onFirstConsent,u.X=e.onConsent,u.Y=e.onChange;const{mode:S,autoClearCookies:h,revision:b,manageScriptTags:w,hideFromBots:D}=e;S===o&&(i.mode=S),'boolean'==typeof h&&(i.autoClearCookies=h),'boolean'==typeof w&&(i.manageScriptTags=w),'number'==typeof b&&b>=0&&(i.revision=b,l.N=!0),!1===D&&(i.hideFromBots=!1),!0===i.hideFromBots&&v&&(l.P=v.userAgent&&/bot|crawl|spider|slurp|teoma/i.test(v.userAgent)||v.webdriver),f(p)&&(i.cookie={...d,...p}),i.autoClearCookies,l.N,i.manageScriptTags,(e=>{const{I:t,J:o,U:n,B:s,L:r}=c.o;for(let a of e){const e=t[a],i=e.services||{},l=f(i)&&_(i)||[];o[a]={},n[a]=[],s[a]=[],e.readOnly&&(r.push(a),n[a]=l),c.de.ue[a]={};for(let e of l){const t=i[e];t.te=!1,o[a][e]=t}}})(g),(()=>{if(!c.t.manageScriptTags)return;const e=c.o,t=(o=document,s='script['+n+']',o.querySelectorAll(s));var o,s;for(const o of t){let t=C(o,n),s=o.dataset.service||'',c=!1;if(t&&'!'===t.charAt(0)&&(t=t.slice(1),c=!0),'!'===s.charAt(0)&&(s=s.slice(1),c=!0),a(e.R,t)&&(e.q.push({ne:o,oe:!1,re:c,se:t,ce:s}),s)){const o=e.J[t];o[s]||(o[s]={te:!1})}}})()})(e),t.P)return;if((()=>{const e=c.o,t=c.t,n=E(),{categories:s,services:r,consentId:a,consentTimestamp:f,lastConsentTimestamp:d,data:_,revision:u}=n,p=i(s);e.p=n,e.D=a;const m=!!a&&l(a);e.S=f,e.S&&(e.S=new Date(f)),e.h=d,e.h&&(e.h=new Date(d)),e.v=void 0!==_?_:null,e.N&&m&&u!==t.revision&&(e.j=!1),e.T=!(m&&e.j&&e.S&&e.h&&p),t.cookie.useLocalStorage&&!e.T&&(e.T=(new Date).getTime()>(n.expirationTime||0),e.T&&N(t.cookie.name)),e.T,(()=>{const e=c.o;for(const t of e.R){const n=e.I[t];if(n.readOnly||n.enabled){e.M.push(t);const n=e.J[t]||{};for(let s in n)e.B[t].push(s),e.i.mode===o&&e.U[t].push(s)}}})(),e.T?t.mode===o&&(e.F=[...e.M]):(e.B={...e.U},e.U={...e.U,...r},b([...e.L,...s]))})(),L())return T(),w(r.X);s.mode===o&&T(t.M)}},e.setCookieData=e=>{let t,o=e.value,n=e.mode,s=!1;const r=c.o;if('update'===n){r.v=t=F('data');const e=typeof t==typeof o;if(e&&'object'==typeof t){!t&&(t={});for(let e in o)t[e]!==o[e]&&(t[e]=o[e],s=!0)}else!e&&t||t===o||(t=o,s=!0)}else t=o,s=!0;return s&&(r.v=t,r.p.data=t,k(!0)),s},e.validConsent=L,e.validCookie=e=>''!==O(e,!0)},'object'==typeof exports&&'undefined'!=typeof module?t(exports):'function'==typeof define&&define.amd?define(['exports'],t):t((e='undefined'!=typeof globalThis?globalThis:e||self).CookieConsent={}); +var e,t;e=this,t=function(e){'use strict';const t='opt-in',o='opt-out',n='data-category';class s{constructor(){this.t={mode:t,revision:0,autoClearCookies:!0,manageScriptTags:!0,hideFromBots:!0,cookie:{name:'cc_cookie',expiresAfterDays:182,domain:'',path:'/',secure:!0,sameSite:'Lax'}},this.o={i:{},l:'',_:{},u:{},p:{},m:[],C:!1,v:null,S:null,h:null,D:'',T:!0,N:!1,j:!0,k:[],O:!1,A:'',I:!1,R:[],F:[],L:[],M:[],P:!1,J:{},U:{},B:{},G:{},H:{},q:[]},this.K={},this.V={W:'cc:onFirstConsent',X:'cc:onConsent',Y:'cc:onChange'}}}const c=new s,r=(e,t)=>e.indexOf(t),a=(e,t)=>-1!==r(e,t),i=e=>Array.isArray(e),l=e=>'string'==typeof e,f=e=>!!e&&'object'==typeof e&&!i(e),d=e=>'function'==typeof e,_=e=>Object.keys(e),u=e=>Array.from(new Set(e)),p=e=>document.createElement(e),m=(e,t,o)=>e.setAttribute(t,o),g=(e,t,o)=>{e.removeAttribute(o?'data-'+t:t)},C=(e,t,o)=>e.getAttribute(o?'data-'+t:t),v=e=>{if('object'!=typeof e)return e;if(e instanceof Date)return new Date(e.getTime());let t=Array.isArray(e)?[]:{};for(let o in e){let n=e[o];t[o]=v(n)}return t},y=()=>{const e={},{R:t,J:o,U:n}=c.o;for(const s of t)e[s]=h(n[s],_(o[s]));return e},S=()=>{const e=c.t.cookie.expiresAfterDays;return d(e)?e(c.o.A):e},h=(e,t)=>{const o=e||[],n=t||[];return o.filter((e=>!a(n,e))).concat(n.filter((e=>!a(o,e))))},b=e=>{c.o.F=u(e),c.o.A=(()=>{let e='custom';const{F:t,R:o,L:n}=c.o,s=t.length;return s===o.length?e='all':s===n.length&&(e='necessary'),e})()},w=(e,t,o)=>{const{Y:n,X:s,W:r,Z:a,$:i,ee:l}=c.K,f=c.V,_={cookie:c.o.p};e===f.W?d(r)&&r(v(_)):e===f.X?d(s)&&s(v(_)):(_.changedCategories=c.o.k,_.changedServices=c.o.G,d(n)&&n(v(_))),((e,t)=>{dispatchEvent(new CustomEvent(e,{detail:t}))})(e,v(_))},D=(e,t)=>{try{return e()}catch(e){return!t&&console.warn('CookieConsent:',e),!1}},T=e=>{const{U:t,G:o,R:s,J:r,q:i,p:l,k:f}=c.o;for(const e of s){const n=o[e]||t[e]||[];for(const o of n){const n=r[e][o];if(!n)continue;const{onAccept:s,onReject:c}=n;!n.te&&a(t[e],o)?(n.te=!0,d(s)&&s()):n.te&&!a(t[e],o)&&(n.te=!1,d(c)&&c())}}if(!c.t.manageScriptTags)return;const _=i,u=e||l.categories||[],v=(e,s)=>{if(s>=e.length)return;const c=i[s];if(c.oe)return v(e,s+1);const r=c.ne,l=c.se,d=c.ce,_=a(u,l),y=!!d&&a(t[l],d);if(!d&&!c.re&&_||!d&&c.re&&!_&&a(f,l)||d&&!c.re&&y||d&&c.re&&!y&&a(o[l]||[],d)){c.oe=!0;const t=C(r,'type',!0);g(r,'type',!!t),g(r,n);let o=C(r,'src',!0);o&&g(r,'src',!0);const a=p('script');a.textContent=r.innerHTML;for(const{nodeName:e}of r.attributes)m(a,e,r[e]||C(r,e));t&&(a.type=t),o?a.src=o:o=r.src;const i=!!o&&(!t||['text/javascript','module'].includes(t));if(i&&(a.onload=a.onerror=()=>{v(e,++s)}),r.replaceWith(a),i)return}v(e,++s)};v(_,0)},N=e=>D((()=>localStorage.removeItem(e))),j=(e,t)=>{if(t instanceof RegExp)return e.filter((e=>t.test(e)));{const o=r(e,t);return o>-1?[e[o]]:[]}},k=e=>{const{hostname:t,protocol:o}=location,{name:n,path:s,domain:r,sameSite:i,useLocalStorage:l,secure:f}=c.t.cookie,d=e?(()=>{const e=c.o.h,t=e?new Date-e:0;return 864e5*S()-t})():864e5*S(),_=new Date;_.setTime(_.getTime()+d),c.o.p.expirationTime=_.getTime();const u=JSON.stringify(c.o.p);let p=n+'='+encodeURIComponent(u)+(0!==d?'; expires='+_.toUTCString():'')+'; Path='+s+'; SameSite='+i;a(t,'.')&&(p+='; Domain='+r),f&&'https:'===o&&(p+='; Secure'),l?((e,t)=>{D((()=>localStorage.setItem(e,t)))})(n,u):document.cookie=p,c.o.p},x=(e,t,o)=>{if(0===e.length)return;const n=o||c.t.cookie.domain,s=t||c.t.cookie.path,r='www.'===n.slice(0,4),a=r&&n.substring(4),i=(e,t)=>{document.cookie=e+'=; path='+s+(t?'; domain=.'+t:'')+'; expires=Thu, 01 Jan 1970 00:00:01 GMT;'};for(const t of e)i(t),i(t,n),r&&i(t,a)},E=e=>{const t=e||c.t.cookie.name,o=c.t.cookie.useLocalStorage;return((e,t)=>{let o;return o=D((()=>JSON.parse(t?e:decodeURIComponent(e))),!0)||{},o})(o?(n=t,D((()=>localStorage.getItem(n)))||''):O(t,!0),o);var n},O=(e,t)=>{const o=document.cookie.match('(^|;)\\s*'+e+'\\s*=\\s*([^;]+)');return o?t?o.pop():e:''},A=e=>{const t=document.cookie.split(/;\s*/),o=[];for(const n of t){let t=n.split('=')[0];e?D((()=>{e.test(t)&&o.push(t)})):o.push(t)}return o},I=(e,n=[])=>{((e,t)=>{const{R:o,F:n,L:s,ae:r,B:f,M:d,J:u}=c.o;let p=[];if(e){i(e)?p.push(...e):l(e)&&(p='all'===e?o:[e]);for(const e of o)f[e]=a(p,e)?_(u[e]):[]}else p=[...n,...d];p=p.filter((e=>!a(o,e)||!a(t,e))),p.push(...s),b(p)})(e,n),(e=>{const t=c.o,{B:o,L:n,U:s,J:r,R:i}=t,l=i;t.H=v(s);for(const e of l){const c=r[e],i=_(c),l=o[e]&&o[e].length>0,f=a(n,e);if(0!==i.length){if(s[e]=[],f)s[e].push(...i);else if(l){const t=o[e];s[e].push(...t)}else s[e]=t.B[e];s[e]=u(s[e])}}})(),(()=>{const e=c.o;e.k=c.t.mode===o&&e.T?h(e.M,e.F):h(e.F,e.p.categories);let n=e.k.length>0,s=!1;for(const t of e.R)e.G[t]=h(e.U[t],e.H[t]),e.G[t].length>0&&(s=!0);e.S||(e.S=new Date),e.D||(e.D=([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,(e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)))),e.p={categories:v(e.F),revision:c.t.revision,data:e.v,consentTimestamp:e.S.toISOString(),consentId:e.D,services:v(e.U)},e.h&&(e.p.lastConsentTimestamp=e.h.toISOString());let r=!1;const i=n||s;(e.T||i)&&(e.T&&(e.T=!1,r=!0),e.h=e.h?new Date:e.S,e.p.lastConsentTimestamp=e.h.toISOString(),k(),c.t.autoClearCookies&&(r||i)&&(e=>{const t=c.o,o=A(),n=(e=>{const t=c.o;return(e?t.R:t.k).filter((e=>{const o=t.I[e];return!!o&&!o.readOnly&&!!o.autoClear}))})(e);for(const e in t.G)for(const n of t.G[e]){const s=t.J[e][n].cookies;if(!a(t.U[e],n)&&s)for(const e of s){const t=j(o,e.name);x(t,e.path,e.domain)}}for(const s of n){const n=t.I[s].autoClear,c=n&&n.cookies||[],r=a(t.k,s),i=!a(t.F,s),l=r&&i;if(e?i:l){n.reloadPage&&l&&(t.O=!0);for(const e of c){const t=j(o,e.name);x(t,e.path,e.domain)}}}})(r),T()),r&&(w(c.V.W),w(c.V.X),c.t.mode===t)||(i&&w(c.V.Y),e.O&&(e.O=!1,location.reload()))})()},R=(e,t,o)=>{let n=[];const s=e=>{if(l(e)){let t=O(e);''!==t&&n.push(t)}else n.push(...A(e))};if(i(e))for(let t of e)s(t);else s(e);x(n,t,o)},F=(e,t)=>{const o=E(t);return e?o[e]:o},L=()=>!c.o.T;e.acceptCategory=I,e.acceptService=(e,t)=>{const{R:o,J:n}=c.o;if(!(e&&t&&l(t)&&a(o,t)&&0!==_(n[t]).length))return!1;I()},e.acceptedCategory=e=>{const t=c.o.T?[]:c.o.F;return a(t,e)},e.acceptedService=(e,t)=>{const o=c.o.T?[]:c.o.U[t]||[];return a(o,e)},e.eraseCookies=R,e.getConfig=e=>{const t=c.t,o=c.o.i;return e?t[e]||o[e]:{...t,...o,cookie:{...t.cookie}}},e.getCookie=F,e.getUserPreferences=()=>{const{A:e,U:t}=c.o,{accepted:o,rejected:n}=(()=>{const{T:e,F:t,R:o}=c.o;return{accepted:t,rejected:e?[]:o.filter((e=>!a(t,e)))}})();return v({acceptType:e,acceptedCategories:o,rejectedCategories:n,acceptedServices:t,rejectedServices:y()})},e.loadScript=(e,t)=>{let o=document.querySelector('script[src="'+e+'"]');return new Promise((n=>{if(o)return n(!0);if(o=p('script'),f(t))for(const e in t)m(o,e,t[e]);var s,c;o.onload=()=>n(!0),o.onerror=()=>{o.remove(),n(!1)},o.src=e,s=document.head,c=o,s.appendChild(c)}))},e.reset=e=>{const{name:t,path:o,domain:n,useLocalStorage:r}=c.t.cookie;e&&(r?N(t):R(t,o,n));for(const{ie:e,le:t,fe:o}of c.o.m)e.removeEventListener(t,o);const a=new s;for(const e in c)c[e]=a[e];window._ccRun=!1},e.run=async e=>{const{o:t,t:s,V:r}=c,d=window;if(!d._ccRun){if(d._ccRun=!0,(e=>{const{de:t,t:s,o:r}=c,i=s,l=r,{cookie:d}=i,u=c.K,p=e.cookie,m=e.categories,g=_(m)||[],v=navigator,y=document;t._e=y,d.domain=location.hostname,l.i=e,l.I=m,l.R=g,u.W=e.onFirstConsent,u.X=e.onConsent,u.Y=e.onChange;const{mode:S,autoClearCookies:h,revision:b,manageScriptTags:w,hideFromBots:D}=e;S===o&&(i.mode=S),'boolean'==typeof h&&(i.autoClearCookies=h),'boolean'==typeof w&&(i.manageScriptTags=w),'number'==typeof b&&b>=0&&(i.revision=b,l.N=!0),!1===D&&(i.hideFromBots=!1),!0===i.hideFromBots&&v&&(l.P=v.userAgent&&/bot|crawl|spider|slurp|teoma/i.test(v.userAgent)||v.webdriver),f(p)&&(i.cookie={...d,...p}),i.autoClearCookies,l.N,i.manageScriptTags,(e=>{const{I:t,J:o,U:n,B:s,L:r}=c.o;for(let a of e){const e=t[a],i=e.services||{},l=f(i)&&_(i)||[];o[a]={},n[a]=[],s[a]=[],e.readOnly&&(r.push(a),n[a]=l),c.de.ue[a]={};for(let e of l){const t=i[e];t.te=!1,o[a][e]=t}}})(g),(()=>{if(!c.t.manageScriptTags)return;const e=c.o,t=(o=document,s='script['+n+']',o.querySelectorAll(s));var o,s;for(const o of t){let t=C(o,n),s=o.dataset.service||'',c=!1;if(t&&'!'===t.charAt(0)&&(t=t.slice(1),c=!0),'!'===s.charAt(0)&&(s=s.slice(1),c=!0),a(e.R,t)&&(e.q.push({ne:o,oe:!1,re:c,se:t,ce:s}),s)){const o=e.J[t];o[s]||(o[s]={te:!1})}}})()})(e),t.P)return;if((()=>{const e=c.o,t=c.t,n=E(),{categories:s,services:r,consentId:a,consentTimestamp:f,lastConsentTimestamp:d,data:_,revision:u}=n,p=i(s);e.p=n,e.D=a;const m=!!a&&l(a);e.S=f,e.S&&(e.S=new Date(f)),e.h=d,e.h&&(e.h=new Date(d)),e.v=void 0!==_?_:null,e.N&&m&&u!==t.revision&&(e.j=!1),e.T=!(m&&e.j&&e.S&&e.h&&p),t.cookie.useLocalStorage&&!e.T&&(e.T=(new Date).getTime()>(n.expirationTime||0),e.T&&N(t.cookie.name)),e.T,(()=>{const e=c.o;for(const t of e.R){const n=e.I[t];if(n.readOnly||n.enabled){e.M.push(t);const n=e.J[t]||{};for(let s in n)e.B[t].push(s),e.i.mode===o&&e.U[t].push(s)}}})(),e.T?t.mode===o&&(e.F=[...e.M]):(e.U={...e.U,...r},e.B={...e.U},b([...e.L,...s]))})(),L())return T(),w(r.X);s.mode===o&&T(t.M)}},e.setCookieData=e=>{let t,o=e.value,n=e.mode,s=!1;const r=c.o;if('update'===n){r.v=t=F('data');const e=typeof t==typeof o;if(e&&'object'==typeof t){!t&&(t={});for(let e in o)t[e]!==o[e]&&(t[e]=o[e],s=!0)}else!e&&t||t===o||(t=o,s=!0)}else t=o,s=!0;return s&&(r.v=t,r.p.data=t,k(!0)),s},e.validConsent=L,e.validCookie=e=>''!==O(e,!0)},'object'==typeof exports&&'undefined'!=typeof module?t(exports):'function'==typeof define&&define.amd?define(['exports'],t):t((e='undefined'!=typeof globalThis?globalThis:e||self).CookieConsent={}); diff --git a/src/core/modals/preferencesModal.js b/src/core/modals/preferencesModal.js index 73f1718d..261aa774 100644 --- a/src/core/modals/preferencesModal.js +++ b/src/core/modals/preferencesModal.js @@ -569,7 +569,7 @@ function createToggleLabel(label, value, sCurrentCategoryObject, isService, cate } } - categoryToggle.checked = state._enabledServices[categoryName].length > 0; + categoryToggle.checked = state._enabledServices[categoryName].length >= Object.keys(categoryServicesToggles).length; }); })(categoryName); diff --git a/src/utils/general.js b/src/utils/general.js index ffe9b3bb..7028b4a2 100644 --- a/src/utils/general.js +++ b/src/utils/general.js @@ -470,7 +470,7 @@ export const updateModalToggles = (service, category) => { } } - const uncheckCategory = _enabledServices[category].length === 0; + const uncheckCategory = _enabledServices[category].length < allServiceNames.length; /** * Remove/add the category from acceptedCategories