Real Cookie Banner: GDPR (DSGVO) & ePrivacy Cookie Consent - Version 3.1.4

Version Description

Download this release

Release Info

Developer devowl
Plugin Icon 128x128 Real Cookie Banner: GDPR (DSGVO) & ePrivacy Cookie Consent
Version 3.1.4
Comparing to
See all releases

Code changes from version 3.1.3 to 3.1.4

CHANGELOG.md CHANGED
@@ -3,6 +3,18 @@
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
 
 
 
 
 
 
 
 
 
 
 
 
6
  ## 3.1.3 (2022-09-16)
7
 
8
 
3
  All notable changes to this project will be documented in this file.
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
 
6
+ ## 3.1.4 (2022-09-20)
7
+
8
+
9
+ ### fix
10
+
11
+ * consent could not be created due to invalid NONCE_SALT (CU-2yypq95)
12
+ * google maps content blocker could not be created (CU-2zfw1cy)
13
+
14
+
15
+
16
+
17
+
18
  ## 3.1.3 (2022-09-16)
19
 
20
 
README.txt CHANGED
@@ -1,7 +1,7 @@
1
  === Real Cookie Banner: GDPR (DSGVO) & ePrivacy Cookie Consent ===
2
  Contributors: devowl, mguenter, jankarres, mrguenter
3
  Tags: cookie banner, cookie consent, cookie plugin, cookie scanner, gdpr, dsgvo, eprivacy, eu cookie law, cookie policy, cookie, consent, consent management
4
- Stable tag: 3.1.3
5
  Requires at least: 5.2
6
  Requires PHP: 7.2.0
7
  Tested up to: 6.0
1
  === Real Cookie Banner: GDPR (DSGVO) & ePrivacy Cookie Consent ===
2
  Contributors: devowl, mguenter, jankarres, mrguenter
3
  Tags: cookie banner, cookie consent, cookie plugin, cookie scanner, gdpr, dsgvo, eprivacy, eu cookie law, cookie policy, cookie, consent, consent management
4
+ Stable tag: 3.1.4
5
  Requires at least: 5.2
6
  Requires PHP: 7.2.0
7
  Tested up to: 6.0
inc/Utils.php CHANGED
@@ -427,7 +427,16 @@ class Utils {
427
  * @param string $data
428
  */
429
  public static function hash($data) {
430
- $data = \constant('NONCE_SALT') . $data;
 
 
 
 
 
 
 
 
 
431
  if (\function_exists('hash')) {
432
  return \hash('sha256', $data);
433
  } else {
427
  * @param string $data
428
  */
429
  public static function hash($data) {
430
+ /**
431
+ * In some cases, hosting providers generate the salts with lower case constant names.
432
+ * I do not know if this works correctly, as PHP's method to obtain a constant is case-
433
+ * sensitive and e.g. `wp_salt()` also expects an uppercase constant name.
434
+ *
435
+ * If a lowercase constant exists, use it, instead try the uppercase one and throw an error
436
+ * if needed (PHP > 8).
437
+ */
438
+ $nonceSalt = \defined('nonce_salt') ? \constant('nonce_salt') : \constant('NONCE_SALT');
439
+ $data = $nonceSalt . $data;
440
  if (\function_exists('hash')) {
441
  return \hash('sha256', $data);
442
  } else {
inc/base/others/cachebuster-lib.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- /* This file was automatically generated (Fri Sep 16 2022 11:59:32 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'animate.css' => '4.1.1',
5
  'mobx' => '4.15.7',
1
  <?php
2
+ /* This file was automatically generated (Tue Sep 20 2022 07:30:12 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'animate.css' => '4.1.1',
5
  'mobx' => '4.15.7',
inc/base/others/cachebuster.php CHANGED
@@ -1,5 +1,5 @@
1
  <?php
2
- /* This file was automatically generated (Fri Sep 16 2022 11:59:32 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'src/public/dist/101.pro.js' => '899ef18452f89e84adb38475ccec6b94',
5
  'src/public/dist/164.lite.js' => '7d2bd40dae8fb1432a350b4b0010550d',
@@ -37,9 +37,9 @@ return [
37
  'src/public/dist/995.pro.js' => '8d31a29e6bf1442b09d6da4e7ac4e2a6',
38
  'src/public/dist/admin.lite.js' => 'd912cf53deae92ad3e30e422de90a92d',
39
  'src/public/dist/admin.pro.js' => '7bb3601a909c93b64ada157e5e9a1975',
40
- 'src/public/dist/banner_tcf.pro.js' => '9f50771323ce32dbe128858b1dcac740',
41
- 'src/public/dist/banner.lite.js' => 'a32dec60dea8d130aee1d98ff43b59f0',
42
- 'src/public/dist/banner.pro.js' => '16ada914549ef54a0b4edc04c2e664aa',
43
  'src/public/dist/blocker_tcf.pro.js' => 'a6a778cf5108b76f10ef269240538634',
44
  'src/public/dist/blocker.lite.js' => 'fc0e2c3b3a39a40af7b9334d7bd2654d',
45
  'src/public/dist/blocker.pro.js' => '99ceb545a82e79370a10df3732cf1de6',
@@ -61,8 +61,8 @@ return [
61
  'src/public/dist/chunk-config-tab-settings.pro.js' => '94f0a9829cb4946de14d7ca34e4bd288',
62
  'src/public/dist/chunk-config-tab-tcf.lite.js' => '84d6d22ca914599d0224ce39d255c14d',
63
  'src/public/dist/chunk-config-tab-tcf.pro.js' => '387a538450a540935b341f7a805f6f18',
64
- 'src/public/dist/customize_banner.lite.js' => '2db91260681c981818bbac51cb526805',
65
- 'src/public/dist/customize_banner.pro.js' => '4167275bb6b65ce787c05eb41b732e9a',
66
  'src/public/dist/customize.lite.js' => '9f0e319be816b67259694917a5637a9f',
67
  'src/public/dist/customize.pro.js' => '036e398468e123e10404e745aa12422b',
68
  'src/public/dist/queue.lite.js' => 'fd84b87c9f3cd7bf0b9ead38c7fa96b9',
1
  <?php
2
+ /* This file was automatically generated (Tue Sep 20 2022 07:30:12 GMT+0000 (Coordinated Universal Time)). */
3
  return [
4
  'src/public/dist/101.pro.js' => '899ef18452f89e84adb38475ccec6b94',
5
  'src/public/dist/164.lite.js' => '7d2bd40dae8fb1432a350b4b0010550d',
37
  'src/public/dist/995.pro.js' => '8d31a29e6bf1442b09d6da4e7ac4e2a6',
38
  'src/public/dist/admin.lite.js' => 'd912cf53deae92ad3e30e422de90a92d',
39
  'src/public/dist/admin.pro.js' => '7bb3601a909c93b64ada157e5e9a1975',
40
+ 'src/public/dist/banner_tcf.pro.js' => '3c2002272cb542200c7efdb5869c4f19',
41
+ 'src/public/dist/banner.lite.js' => '0e444261faecab21e2bb7097380c405b',
42
+ 'src/public/dist/banner.pro.js' => 'b079cf2da5db0bdfd398ddb300ac859a',
43
  'src/public/dist/blocker_tcf.pro.js' => 'a6a778cf5108b76f10ef269240538634',
44
  'src/public/dist/blocker.lite.js' => 'fc0e2c3b3a39a40af7b9334d7bd2654d',
45
  'src/public/dist/blocker.pro.js' => '99ceb545a82e79370a10df3732cf1de6',
61
  'src/public/dist/chunk-config-tab-settings.pro.js' => '94f0a9829cb4946de14d7ca34e4bd288',
62
  'src/public/dist/chunk-config-tab-tcf.lite.js' => '84d6d22ca914599d0224ce39d255c14d',
63
  'src/public/dist/chunk-config-tab-tcf.pro.js' => '387a538450a540935b341f7a805f6f18',
64
+ 'src/public/dist/customize_banner.lite.js' => 'b398dca800f7588afd147255cef13fe4',
65
+ 'src/public/dist/customize_banner.pro.js' => '14557a7d6faf070780b0c929e971b209',
66
  'src/public/dist/customize.lite.js' => '9f0e319be816b67259694917a5637a9f',
67
  'src/public/dist/customize.pro.js' => '036e398468e123e10404e745aa12422b',
68
  'src/public/dist/queue.lite.js' => 'fd84b87c9f3cd7bf0b9ead38c7fa96b9',
inc/presets/middleware/BlockerHostsOptionsMiddleware.php CHANGED
@@ -44,7 +44,7 @@ class BlockerHostsOptionsMiddleware {
44
  $preset['scanOptions'] = $scanOptions;
45
  }
46
  // Unique rules as they can be duplicated in rules settings due to different rules options
47
- $preset['attributes']['rules'] = \array_unique($preset['attributes']['rules']);
48
  }
49
  return $preset;
50
  }
44
  $preset['scanOptions'] = $scanOptions;
45
  }
46
  // Unique rules as they can be duplicated in rules settings due to different rules options
47
+ $preset['attributes']['rules'] = \array_values(\array_unique($preset['attributes']['rules']));
48
  }
49
  return $preset;
50
  }
inc/presets/pro/blocker/GoogleMapsPreset.php CHANGED
@@ -140,8 +140,6 @@ class GoogleMapsPreset extends \DevOwl\RealCookieBanner\presets\AbstractBlockerP
140
  // [Plugin Comp] https://wordpress.org/plugins/wp-map-block/
141
  '*wp-content/plugins/wp-map-block*',
142
  'div[class*="wpmapblockrender"]',
143
- // [Plugin Comp] https://codecanyon.net/item/ultimate-addons-for-visual-composer/6892199
144
- 'div[class*="ultimate_google_map"]',
145
  // [Plugin Comp] https://rockythemes.com/creativo/
146
  '*wp-content/themes/creativo/assets/js/min/general/google-maps.min.js*',
147
  'div[data-id^="google_map_element_"]'
140
  // [Plugin Comp] https://wordpress.org/plugins/wp-map-block/
141
  '*wp-content/plugins/wp-map-block*',
142
  'div[class*="wpmapblockrender"]',
 
 
143
  // [Plugin Comp] https://rockythemes.com/creativo/
144
  '*wp-content/themes/creativo/assets/js/min/general/google-maps.min.js*',
145
  'div[data-id^="google_map_element_"]'
index.php CHANGED
@@ -8,7 +8,7 @@
8
  * Description: Obtain GDPR (DSGVO) and ePrivacy (EU cookie law) compliant opt-in consent. Find cookies and fill all legal information in your cookie banner. More than just a cookie notice!
9
  * Author: devowl.io
10
  * Author URI: https://devowl.io
11
- * Version: 3.1.3
12
  * Text Domain: real-cookie-banner
13
  * Domain Path: /languages
14
  */
8
  * Description: Obtain GDPR (DSGVO) and ePrivacy (EU cookie law) compliant opt-in consent. Find cookies and fill all legal information in your cookie banner. More than just a cookie notice!
9
  * Author: devowl.io
10
  * Author URI: https://devowl.io
11
+ * Version: 3.1.4
12
  * Text Domain: real-cookie-banner
13
  * Domain Path: /languages
14
  */
public/dist/banner.lite.js CHANGED
@@ -1,2 +1,2 @@
1
- var realCookieBanner_banner;(()=>{var t,e={8556:t=>{t.exports={}},9382:(t,e,n)=>{"use strict";n.d(e,{n:()=>g});var o=n(6346),i=n(7169);function r(t,e){let n,o,i,r=!1,a="";if(t&&"none"!==t){const s="googleTagManager"===t,c="matomoTagManager"===t;s?(i="gtm",n="dataLayer",a="Google Tag Manager"):c&&(i="mtm",n="_mtm",a="Matomo Tag Manager"),(s||c)&&(o=()=>(window[n]=window[n]||[],window[n])),i&&e===i&&(r=!0)}return{getDataLayer:o,serviceIsManager:r,managerLabel:a,expectedManagerPresetId:i}}function a({decisionCookieName:t,tagManager:e,groups:n,essentialGroupSlug:o,type:a}){let s;const c=e&&"none"!==e,[l]=n.filter((({slug:t})=>t===o)),d={[l.id]:l.items.map((({id:t})=>t))};if("consent"===a){const e=(0,i.h)(t);!1!==e?s=e.consent:(console.warn("Something went wrong while reading the cookie, fallback to essentials only..."),s=d)}return"essentials"===a&&(s=d),{isManagerActive:c,selectedGroups:s,iterateServices:async function(t){for(const i of n)for(const n of i.items){var o;const c="all"===a||(null===(o=s[i.id])||void 0===o?void 0:o.indexOf(n.id))>-1,l=r(e,n.presetId);await t(i,n,c,l)}}}}var s=n(9575),c=n(1456),l=n(8542),d=n.n(l),u=n(2891),p=n(1829);var h=n(7563),f=n(5447),m=n(6028);async function g(t){await(0,m.C)();const{dataLayerPromise:e,isManagerOptOut:n,services:i,ready:r}=await async function(t){const e=[],{isManagerActive:n,iterateServices:i}=a(t),{skipOptIn:r}=t;let c=Promise.resolve(void 0);const l=[];return await i((async(t,i,a,{getDataLayer:c,serviceIsManager:d})=>{const{codeDynamics:u,codeOptIn:p,executeCodeOptInWhenNoTagManagerConsentIsGiven:h}=i;if(a){const a=n&&h,c="function"==typeof r&&r(i);a||c||l.push((0,o.K)(p,u));const d={group:t,service:i};document.dispatchEvent(new CustomEvent(s.g,{detail:d})),e.push(d)}})),{isManagerOptOut:!1,dataLayerPromise:c,services:e,ready:Promise.all(l)}}(t),{ready:l}=await async function(t,e,n){const i=[],{isManagerActive:r,iterateServices:s}=a(t);return e?(s(((t,n,o,{serviceIsManager:i})=>{const r=n.tagManagerOptInEventName;o&&r&&!i&&e.push({realCookieBannerOptInEvents:{[r]:!0},event:r})})),setTimeout((()=>s(((t,n,o,{serviceIsManager:i})=>{const r=n.tagManagerOptOutEventName;o||!r||i||e.push({realCookieBannerOptOutEvents:{[r]:!0},event:r})}))),1e3)):r&&n&&await s((async(t,{codeDynamics:e,codeOptIn:n,executeCodeOptInWhenNoTagManagerConsentIsGiven:r},a)=>{a&&r&&i.push((0,o.K)(n,e))})),{ready:Promise.all(i)}}(t,await e,n),g=Promise.all([r,l]);document.dispatchEvent(new CustomEvent(h.V,{detail:{services:i,ready:g}}));const{deleteHttpCookies:b,services:v,ready:y}=await async function(t,e){const n=[],{isManagerActive:i,iterateServices:r}=a(t),s=[],l=[];return await r((async(t,r,a)=>{const{id:h,codeDynamics:f,codeOptOut:m,deleteTechnicalDefinitionsAfterOptOut:g,isEmbeddingOnlyExternalResources:b,technicalDefinitions:v,executeCodeOptOutWhenNoTagManagerConsentIsGiven:y}=r;if(!a){const a=i&&y;(a&&e||!a)&&s.push((0,o.K)(m,f)),g&&!b&&(function(t,e){for(const{type:n,name:o}of t){const t=new RegExp((0,p.L)((0,u.c)(o,e)),"g");switch(n){case"http":for(const e of Object.keys(d().get()))t.test(e)&&d().remove(e);break;case"local":case"session":try{const e="local"===n?window.localStorage:window.sessionStorage;if(e)for(const n of Object.keys(e))if(t.test(n)){try{e.setItem(n,null)}catch(t){}let t=0;for(;e.getItem(n)&&t<100;)t++,e.removeItem(n)}}catch(t){continue}}}}(v,f),v.some((({type:t})=>"http"===t))&&l.push(h));const k={group:t,service:r};document.dispatchEvent(new CustomEvent(c.E,{detail:k})),n.push(k)}})),{services:n,ready:Promise.all(s),deleteHttpCookies:l}}(t,n);document.dispatchEvent(new CustomEvent(f.C,{detail:{services:v,deleteHttpCookies:b,ready:Promise.all([g,y])}}))}},8218:(t,e,n)=>{"use strict";n.d(e,{G:()=>r});var o=n(9382),i=n(7169);class r{constructor(t){this.options=void 0,this.options=t}applyCookies(t){return(0,o.n)({...t,...this.options})}getUserDecision(){return(0,i.h)(this.getOption("decisionCookieName"))}getDefaultDecision(t=!0){return function({groups:t,essentialGroupSlug:e},n=!0){const[o]=t.filter((({slug:t})=>t===e)),i={[o.id]:o.items.map((({id:t})=>t))};if(n)for(const e of t){if(e===o)continue;const t=e.items.filter((({legalBasis:t})=>"legitimate-interest"===t)).map((({id:t})=>t));t.length&&(i[e.id]=t)}return i}(this.options,t)}getOption(t){return this.options[t]}getOptions(){return this.options}}},7169:(t,e,n)=>{"use strict";n.d(e,{h:()=>a});var o=n(4001),i=n(8542),r=n.n(i);function a(t){const e=r().get(t);if(!e)return!(0,o.E)()&&(window.rcbDisabledCookieComp||!1);const n=function(t,e,n){const o=t.split(":");if(o.length<=3)return o;const i=o.slice(0,2);return i.push(o.slice(2).join(":")),i}(e);if(3!==n.length)return!1;const[i,a]=n,s=i.split(",");return{uuid:s.shift(),previousUuids:s,revision:a,consent:JSON.parse(n[2])}}},7766:(t,e,n)=>{"use strict";n.d(e,{I:()=>o});const o="RCB/Banner/Show"},9575:(t,e,n)=>{"use strict";n.d(e,{g:()=>o});const o="RCB/OptIn"},7563:(t,e,n)=>{"use strict";n.d(e,{V:()=>o});const o="RCB/OptIn/All"},1456:(t,e,n)=>{"use strict";n.d(e,{E:()=>o});const o="RCB/OptOut"},5447:(t,e,n)=>{"use strict";n.d(e,{C:()=>o});const o="RCB/OptOut/All"},6028:(t,e,n)=>{"use strict";n.d(e,{C:()=>a});const o=()=>{let t;return[!1,new Promise((e=>t=e)),t]},i={loading:o(),complete:o(),interactive:o()},r=["readystatechange","rocket-readystatechange","DOMContentLoaded","rocket-DOMContentLoaded","rocket-allScriptsLoaded"],a=(t,e="complete")=>new Promise((n=>{let o=!1;const a=()=>{(()=>{const{readyState:t}=document,[e,,n]=i[t];e||(i[t][0]=!0,n())})(),!o&&i[e][0]&&(o=!0,null==t||t(),setTimeout(n,0))};a();for(const t of r)document.addEventListener(t,a);i[e][1].then(a)}))},1829:(t,e,n)=>{"use strict";function o(t){const e=t.replace(/\*/g,"PLEACE_REPLACE_ME_AGAIN");return"^".concat((n=e,n.replace(new RegExp("[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\".concat("","-]"),"g"),"\\$&")).replace(/PLEACE_REPLACE_ME_AGAIN/g,"(.*)"),"$");var n}n.d(e,{L:()=>o})},4001:(t,e,n)=>{"use strict";n.d(e,{E:()=>r});var o=n(8542),i=n.n(o);function r(t="test"){try{const e={sameSite:"Lax"};i().set(t,"1",e);const n=-1!==document.cookie.indexOf("".concat(t,"="));return i().remove(t,e),n}catch(t){return!1}}},2891:(t,e,n)=>{"use strict";n.d(e,{c:()=>i});const o=/{{([A-Za-z0-9_]+)}}/gm;function i(t,e){return t.replace(o,((t,n)=>Object.prototype.hasOwnProperty.call(e,n)?e[n]:t))}},4548:(t,e,n)=>{"use strict";n.d(e,{jb:()=>o,zm:()=>i,rG:()=>r,d3:()=>a,_W:()=>s,NY:()=>c,He:()=>l,i7:()=>d,Ng:()=>u,CT:()=>p,v4:()=>h,YO:()=>f,Gn:()=>m,Ti:()=>g,Ks:()=>b,dW:()=>v,Kh:()=>y,Wm:()=>k,Qt:()=>w,of:()=>x,fq:()=>C,WK:()=>S,jk:()=>A,Kx:()=>O});const o="consent-original",i="consent-click-original",r="_",a="consent-by",s="consent-required",c="consent-visual-use-parent",l="consent-visual-paint-mode",d="consent-inline",u="consent-inline-style",p="consent-id",h="script",f="consent-blocker-connected",m="consent-blocker-connected-pres",g="consent-transaction-complete",b="consent-transform-wrapper",v="1",y="consent-strict-hidden",k="consent-cb-reset-parent",w="1",x="consent-cb-reset-parent-is-ratio",C="consent-got-clicked",S="1",A="2",O="consent-thumbnail"},6346:(t,e,n)=>{"use strict";n.d(e,{L:()=>s,K:()=>c});var o=n(9749),i=n.n(o),r=n(2891),a=n(7033);const s="rcbInitiatorOnload";function c(t,e,n=document.body){return new Promise((o=>{t?i()(n,(0,r.c)(t,e),{done:o,error:t=>{console.error(t)},beforeWriteToken:t=>{const{attrs:e,booleanAttrs:n,src:o,href:i,content:r}=t;if(null!=n&&n["skip-write"])return!1;r&&(t.content=r.replace(/window\.onload\s+=/g,"window.".concat(s," =")));for(const t in e)if(e[t]=(0,a.l)(e[t]),"unique-write-name"===t&&document.querySelector('[unique-write-name="'.concat(e[t],'"]')))return!1;return o&&(t.src=(0,a.l)(o)),i&&(t.href=(0,a.l)(i)),t}}):o()}))}},3102:(t,e,n)=>{"use strict";n.d(e,{T:()=>o});const o="RCB/OptIn/ContentBlocker"},3743:(t,e,n)=>{"use strict";function o(t=0){setTimeout((()=>{try{window.dispatchEvent(new Event("resize"))}catch(t){}}),t)}n.d(e,{s:()=>o})},7033:(t,e,n)=>{"use strict";n.d(e,{l:()=>i});var o=n(3137);function i(t){var e;return(0,o.C)(t)?null===(e=(new DOMParser).parseFromString('<a href="'.concat(t,'"></a>'),"text/html").querySelector("a"))||void 0===e?void 0:e.href:(new DOMParser).parseFromString(t,"text/html").documentElement.textContent}},3137:(t,e,n)=>{"use strict";function o(t){return!!/^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/.test(t)}n.d(e,{C:()=>o})},9586:(t,e,n)=>{"use strict";n.d(e,{w:()=>i});var o=n(7932);function i(t,e){const n=[];let i=t.parentElement;for(;null!==i;)i.nodeType===Node.ELEMENT_NODE&&(0,o.D)(i,e)&&n.push(i),i=i.parentElement;return n}},4902:(t,e,n)=>{"use strict";n.d(e,{X:()=>r});var o=n(5213),i=n(7029).h;const r=({ms:t=100,chars:e=["&#9719;","&#9718;","&#9717;","&#9716;"]})=>{const[n,r]=(0,o.eJ)(1);return(0,o.d4)((()=>{const e=setInterval((()=>{r(n+1)}),t);return()=>clearInterval(e)}),[n]),i("span",{dangerouslySetInnerHTML:{__html:e[n%4]}})}},8559:(t,e,n)=>{"use strict";n.d(e,{P:()=>h});var o=n(4741),i=n(5213),r=n(2087),a=n(1680),s=n(7029).h;const c=({icon:t,...e})=>{const n=(0,i.Ye)((()=>(0,a.x)(t,{extraSVGAttrs:{style:"width:auto;height:100%;",fill:"currentColor"}})),[t]);return s("div",(0,o.Z)({},e,{dangerouslySetInnerHTML:{__html:n}}))};var l=n(4769),d=n(3282),u=n(8982),p=n(7029).h;const h=({hideCheckbox:t,isPartial:e,isChecked:n,isDisabled:a,fontSize:s,onClick:h,children:f,after:m,...g})=>{const b=e?l.Z:d.Z,v=(0,u.w)(),[y,k]=(0,i.eJ)(!1);return(0,i.bt)((()=>{k(!0)}),[]),p(i.HY,null,!t&&p(c,(0,o.Z)({icon:b,onClick:h},function({layout:{borderRadius:t},group:{headlineFontSize:e,checkboxBg:n,checkboxBorderWidth:o,checkboxBorderColor:i,checkboxActiveBg:a,checkboxActiveBorderColor:s,checkboxActiveColor:c},customCss:{antiAdBlocker:l},mobile:d,pageRequestUuid4:u},p,h,f,m){let g=m||e;g=u?(0,r.D)(d,u,g):g;const b=u?(0,r.D)(d,u,+o):+o,v=+g+2*b+6;return{className:"y"===l?void 0:"rcb-checkbox",style:{cursor:f?"not-allowed":"pointer",opacity:f?.5:void 0,color:h?c:n,display:p?"inline-block":"none",background:h?a:n,border:"".concat(b,"px solid ").concat(h?s:i),padding:3,height:v,width:v,marginRight:10,borderRadius:+t,verticalAlign:"middle",lineHeight:0,boxSizing:"border-box"}}}(v,y,n,a,s),g)),f&&p("span",{style:{verticalAlign:"middle",cursor:"pointer"}},p("span",{onClick:h},f),m))}},229:(t,e,n)=>{"use strict";n.d(e,{V:()=>g});var o=n(4741),i=n(8982),r=n(8559),a=n(5213),s=n(3137),c=n(2121),l=n(2087),d=n(7029).h;const u=({label:t,value:e,children:n,printValueAs:r})=>{const a=(0,i.w)(),{i18n:{yes:u,no:p}}=a;let h="string"==typeof e&&(0,s.C)(e)?d("a",{href:e,style:{wordBreak:"break-all",...(0,c.c)(a,!1).style},target:"_blank",rel:"noopener noreferrer"},e):"string"==typeof e?d("span",{dangerouslySetInnerHTML:{__html:e}}):e;return"boolean"===r&&(h=h?u:p),d("div",(0,o.Z)({key:t},function({group:{groupBorderWidth:t,groupBorderColor:e},customCss:{antiAdBlocker:n},mobile:o,pageRequestUuid4:i}){return{className:"y"===n?void 0:"rcb-cookie-prop",style:{borderLeft:(i?(0,l.D)(o,i,t):t)>0?"1px solid ".concat(e):void 0,paddingLeft:15}}}(a)),t&&d("strong",null,t,": "),h,!!n&&d("div",null,n))};var p=n(2891),h=n(7029).h;const f=({cookie:{purpose:t,provider:e,providerPrivacyPolicyUrl:n,legalBasis:o,ePrivacyUSA:r,isEmbeddingOnlyExternalResources:s,technicalDefinitions:c,codeDynamics:l},isEssentialGroup:d})=>{const{i18n:f,ePrivacyUSA:m}=(0,i.w)(),g={http:{name:"HTTP Cookie",abbr:"HTTP",backgroundColor:"black"},local:{name:"Local Storage",abbr:"Local",backgroundColor:"#b3983c"},session:{name:"Session Storage",abbr:"Session",backgroundColor:"#3c99b3"},flash:{name:"Flash Local Shared Object",abbr:"Flash",backgroundColor:"#b33c3c"},indexedDb:{name:"IndexedDB",abbr:"I-DB",backgroundColor:"#4ab33c"}};return h(a.HY,null,!!t&&h(u,{label:f.purpose,value:t}),h(u,{label:f.legalBasis,value:"legal-requirement"===o?f.legalRequirement:"legitimate-interest"===o||d?f.legitimateInterest:f.consent}),h(u,{label:f.provider,value:e}),!!n&&h(u,{label:f.providerPrivacyPolicyUrl,value:n}),!!m&&h(u,{label:f.ePrivacyUSA,value:r,printValueAs:"boolean"}),!s&&c.map((({type:t,name:e,host:n,duration:o,durationUnit:i,isSessionDuration:r,purpose:a})=>h(u,{key:e,label:f.technicalCookieDefinition,value:h("span",{style:{fontFamily:"monospace"}},(0,p.c)(e,l))},h(u,{label:f.type,value:g[t].name}),!!a&&h(u,{label:f.purpose,value:a}),!!n&&h(u,{label:f.host,value:h("span",{style:{fontFamily:"monospace"}},n)}),h(u,{label:f.duration,value:["local","indexedDb","flash"].indexOf(t)>-1?f.noExpiration:r||"session"===t?"Session":"".concat(o," ").concat(f.durationUnit[i])})))))};var m=n(7029).h;const g=({cookie:t,checked:e,disabled:n,onToggleCheck:a,propertyListProps:s={}})=>{const{name:c}=t,l=(0,i.w)(),{group:{descriptionFontSize:d}}=l;return m("div",function({customCss:{antiAdBlocker:t}}){return{className:"y"===t?void 0:"rcb-cookie",style:{marginTop:10}}}(l),m("div",{style:{marginBottom:10}},m(r.P,{isChecked:e,isDisabled:n,fontSize:d,onClick:a},m("strong",null,c))),m(f,(0,o.Z)({cookie:t},s)))}},8523:(t,e,n)=>{"use strict";n.d(e,{u:()=>c});var o=n(4741),i=n(5213),r=n(3428),a=n(9707),s=n(7029).h;const c=(0,i.Gp)((({children:t,className:e,title:n,position:i="top",color:c,size:l="large",always:d,rounded:u,noAnimate:p,bounce:h,...f},m)=>((0,a.G)(r,"hint-css",!0),s("div",(0,o.Z)({style:{position:"relative",display:"inline"},ref:m,"aria-label":n,className:"hint--".concat(i," hint--").concat(l," ").concat(c?"hint--".concat(c):""," ").concat(d?"hint--always":""," ").concat(u?"hint--rounded":""," ").concat(p?"hint--no-animate":""," ").concat(h?"hint--bounce":""," ").concat(e||"")},f),t))))},4766:(t,e,n)=>{"use strict";n.d(e,{k:()=>i,S:()=>r});var o=n(5213);class i{static Context(){return this.context=this.context||(0,o.kr)({})}}function r(){return(0,o.qp)(i.Context())}i.context=void 0},1347:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i,_:()=>r});var o=n(5213);class i{static Context(){return this.context=this.context||(0,o.kr)({})}}function r(){return(0,o.qp)(i.Context())}i.context=void 0},6092:(t,e,n)=>{"use strict";n.d(e,{g:()=>g});var o=n(4741),i=n(5213),r=n(8982),a=n(3258),s=n(2087),c=n(7029).h;const l=({children:t,...e})=>{const n=(0,r.w)(),[a,l]=(0,i.eJ)(!1);return c("a",(0,o.Z)({onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1)},function({footerDesign:{fontSize:t,fontColor:e,hoverFontColor:n,fontInheritFamily:o,fontFamily:i},design:{linkTextDecoration:r},customCss:{antiAdBlocker:a},mobile:c,pageRequestUuid4:l},d=!1){return{className:"y"===a?void 0:"rcb-footer-link",style:{textDecoration:r,fontSize:l?(0,s.D)(c,l,+t):+t,color:d?n:e,fontFamily:o?void 0:i,padding:"0 5px"}}}(n,a),e),t)};var d=n(8523),u=n(7029).h;const p=({poweredLink:t,affiliate:e})=>u(l,{href:e?e.link:t.href,target:t.target,key:"powered-by"},u("span",{dangerouslySetInnerHTML:{__html:t.innerHTML}}),e&&u(d.u,{title:e.description,position:"top-left"}," ",e.labelBehind));var h=n(7029).h;function f(t,e){const n=t.filter(Boolean);return 0===n.length?null:n.reduce(((t,n,o)=>t.length?[...t,h(i.HY,{key:o},e),n]:[n]),[])}var m=n(7029).h;function g({onClose:t,putPoweredByLinkInRow:e,row1:n}={}){const{i18n:{close:s},footerDesign:{poweredByLink:c,linkTarget:d},poweredLink:u,affiliate:h}=(0,r.w)(),{linkPrivacyPolicy:g,linkImprint:b}=(0,a.p)(),v="_blank"===d?{target:"_blank",rel:"noopener"}:{},y=[[t&&m(l,{href:"#",onClick:t,key:"close"},m("strong",null,s)),...n||[],g&&m(l,(0,o.Z)({href:g.url},v,{key:"privacyPolicy"}),g.label),b&&m(l,(0,o.Z)({href:b.url},v,{key:"imprint"}),b.label)].filter(Boolean),[]];u&&c&&y[e||0].push(m(p,{key:"poweredBy",poweredLink:u,affiliate:h}));const k=(0,i.I4)((t=>f(t.map((t=>t.length?m(i.HY,{key:t[0].key},f(t,m(i.HY,null," • "))):null)),m("br",null))),[]);return{rows:y,render:k}}},6268:(t,e,n)=>{"use strict";n.d(e,{k:()=>s});var o=n(8982),i=n(3258);function r(t,e){return t.length>1&&t.splice(t.length-1,0,"{{andSeparator}}"),t.join(", ").replace(/,\s+{{andSeparator}},\s+/g,e)}const a='<sup style="vertical-align:top;line-height:100%;position:initial;">';function s({disableDataProcessingInUnsafeCountries:t,disableAgeNotice:e,disableListServicesNotice:n}={}){const{blocker:s,groups:c,ePrivacyUSA:l,ageNotice:d,listServicesNotice:u,texts:{description:p,ePrivacyUSA:h,ageNoticeBanner:f,listServicesNotice:m,consentForwardingExternalHosts:g},tcf:b,consentForwardingExternalHosts:v,individualPrivacyOpen:y,individualTexts:{description:k},essentialGroup:w,i18n:{andSeparator:x,tcf:C},keepVariablesInTexts:S}=(0,o.w)(),{linkPrivacyPolicy:A}=(0,i.p)();let O="";v&&!S&&(O=g.replace(/{{websites}}/g,v.join(", ")));let D=[s?s.description:y?k:p,O].filter(Boolean).join(" ");S||(D=D.replace(/{{privacyPolicy}}(.*){{\/privacyPolicy}}/g,A?'<a href="'.concat(A.url,'" style="text-decoration:underline;color:inherit;" onmouseenter="this.style.textDecoration=\'none\'" onmouseleave="this.style.textDecoration=\'underline\'" target="_blank">$1</a>'):"$1"));const I=c.map((({items:t})=>t.filter((({ePrivacyUSA:t})=>t)))).flat(),E=b?Object.values(b.gvl.vendors).filter((t=>{var e;return(null===(e=t.additionalInformation)||void 0===e?void 0:e.internationalTransfers)||1===b.original.vendorConfigurations[t.id].ePrivacyUSA})):[];let B=!t&&(I.length>0||E.length>0)&&l?h:"";const T=d&&!e?f:"";let P="";if(u&&!n){const t=m.indexOf("{{services}}")>-1&&m.indexOf("{{serviceGroups}}")>-1,e=c.filter((({slug:t})=>t!==w)),n="~;~",o=r(e.map((({items:e},o)=>e.map((({name:e,ePrivacyUSA:n})=>"".concat(e).concat(a).concat([t?o+1:"",B&&n?"U":""].filter(Boolean).join(","),"</sup>"))).join(n))).join(n).split(n),x);if(o){const n=r(e.map((({name:e},n)=>"".concat(e).concat(a).concat(t?n+1:"","</sup>"))),x);P="<span>".concat(m,"</span>").concat(b&&!y?" <span>".concat(C.listOfServicesAppendix,"</span>"):""),S||(P=P.replace(/{{services}}/g,o).replace(/{{serviceGroups}}/g,n)),B&&(B+="".concat(a,"U</sup>"))}}return{description:D,teachings:[B,T,P].filter(Boolean)}}},8982:(t,e,n)=>{"use strict";n.d(e,{w:()=>r});var o=n(4766),i=n(1347);function r(){const t=(0,o.S)(),e=(0,i._)();return t.groups?t:e}},3258:(t,e,n)=>{"use strict";n.d(e,{p:()=>i});var o=n(8982);function i(){const{legal:{privacyPolicy:t,privacyPolicyExternalUrl:e,privacyPolicyIsExternalUrl:n,privacyPolicyLabel:i,imprint:r,imprintExternalUrl:a,imprintIsExternalUrl:s,imprintLabel:c},pageByIdUrl:l}=(0,o.w)(),d=(0,o.w)().pageIdToPermalink||{};let u=t>0?d[t]||"".concat(l,"=").concat(t):void 0,p=r>0?d[r]||"".concat(l,"=").concat(r):void 0;return n&&(u=e),s&&(p=a),{linkPrivacyPolicy:!(!i||!u)&&{url:u,label:i},linkImprint:!(!c||!p)&&{url:p,label:c}}}},9707:(t,e,n)=>{"use strict";n.d(e,{G:()=>r});var o=n(5213);let i=0;function r(t,e,n){const r=(0,o.Ye)((()=>"react-use-plain-css-".concat(e||(i++).toString(36))),[]);return(0,o.bt)((()=>{let e=document.getElementById(r);return e||(e=document.createElement("style"),e.style.type="text/css",e.id=r,document.getElementsByTagName("head")[0].appendChild(e)),e.innerHTML=t,()=>{var t;n||null===(t=e.parentNode)||void 0===t||t.removeChild(e)}}),[t,n]),r}},7613:(t,e,n)=>{"use strict";n.d(e,{W:()=>i});var o=n(2087);function i({bodyDesign:{teachingsInheritTextAlign:t,teachingsTextAlign:e,teachingsInheritFontSize:n,teachingsFontSize:i,teachingsInheritFontColor:r,teachingsFontColor:a},customCss:{antiAdBlocker:s},mobile:c,pageRequestUuid4:l}){return{className:"y"===s?void 0:"rcb-teachings",style:{marginTop:7,display:"inline-block",textAlign:t?void 0:e,fontSize:n?void 0:l?(0,o.D)(c,l,+i):+i,color:r?void 0:a}}}},8346:(t,e,n)=>{"use strict";function o({layout:{borderRadius:t},bodyDesign:{teachingsSeparatorActive:e,teachingsSeparatorWidth:n,teachingsSeparatorHeight:o,teachingsSeparatorColor:i},customCss:{antiAdBlocker:r}}){return{className:"y"===r?void 0:"rcb-teachings-separator",style:{marginTop:7,display:"inline-block",maxWidth:"100%",borderRadius:+t,width:+n,height:e?+o:0,background:i}}}n.d(e,{V:()=>o})},2121:(t,e,n)=>{"use strict";function o({design:{linkTextDecoration:t},group:{linkColor:e,linkHoverColor:n},customCss:{antiAdBlocker:o}},i){return{className:"y"===o?void 0:"rcb-group-more",style:{color:i?n:e,textDecoration:t}}}n.d(e,{c:()=>o})},6730:(t,e,n)=>{"use strict";n.d(e,{a:()=>i});var o=n(2087);function i({headerDesign:{fontSize:t,fontColor:e,fontInheritFamily:n,fontFamily:i,fontWeight:r},customCss:{antiAdBlocker:a},mobile:s,pageRequestUuid4:c},l){return{className:"y"===a?void 0:"rcb-headline",style:{color:e,lineHeight:1.8,fontSize:c?(0,o.D)(s,c,+t):+t,fontFamily:n?void 0:i,fontWeight:r,paddingRight:l?20:void 0}}}},2087:(t,e,n)=>{"use strict";function o({enabled:t,scalePercent:e,scalePercentVertical:n},o,i,r,a=!1){return i}n.d(e,{D:()=>o})},5672:(t,e,n)=>{"use strict";n.d(e,{U:()=>i});var o=n(7932);function i(t){const e=document.getElementById(t),n=document.createElement("div");return window.rcbPoweredByCacheOuterHTML?n.innerHTML=window.rcbPoweredByCacheOuterHTML:(0,o.D)(e,"a")&&e.innerHTML.toLowerCase().indexOf("Real Cookie Banner")&&(window.rcbPoweredByCacheOuterHTML=e.outerHTML,n.innerHTML=window.rcbPoweredByCacheOuterHTML,e.parentNode.removeChild(e)),n.children[0]}window.rcbPoweredByCacheOuterHTML=""},7932:(t,e,n)=>{"use strict";function o(t,e){const n="undefined"!=typeof Element?Element.prototype:{},o=n.matches||n.matchesSelector||n.webkitMatchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector;if(!t||1!==t.nodeType||!t.parentElement)return!1;if(o)return o.call(t,e);const i=t.parentElement.querySelectorAll(e);for(const e in i)if(i[e]===t)return!0;return!1}n.d(e,{D:()=>o})},3075:(t,e,n)=>{"use strict";n.d(e,{D:()=>y});var o=n(4312),i=n(6811),r=n(5566),a=n.n(r),s=n(6659),c=n(8542),l=n.n(c),d=n(830),u=n.n(d);function p(t,e,n){return t.search=s.stringify(n?a().all([s.parse(t.search),...e]):e,!0),t}const h={},f={};async function m(t,e){if(void 0!==e){const n=f[t]||new Promise((async(n,o)=>{try{const i=await window.fetch(e);if(i.ok){const e=await i.text();t===e?o():(h[t]=e,n(e))}else o()}catch(t){o()}}));return f[t]=n,n}{if(void 0===t)return;await Promise.all(Object.values(f));let e=t;for(;h[e]&&(e=h[e],h[e]!==t););return Promise.resolve(e)}}async function g(t,e,n){const o=e.clone();try{return await e.json()}catch(e){const r=await o.text();if(""===r&&[i.O.DELETE,i.O.PUT].indexOf(n)>-1)return;let a;console.warn("The response of ".concat(t," contains unexpected JSON, try to resolve the JSON line by line..."),{body:r});for(const t of r.split("\n"))if(t.startsWith("[")||t.startsWith("{"))try{return JSON.parse(t)}catch(t){a=t}throw a}}var b=n(8556),v=n.n(b);async function y({location:t,options:e,request:n,params:r,settings:c={},cookieValueAsParam:d,multipart:h=!1,sendRestNonce:f=!0}){const b=function({location:t,params:e={},nonce:n=!0,options:r,cookieValueAsParam:a}){const c=new URL(r.restRoot),d=s.parse(c.search),h=d.rest_route||c.pathname,f=[],m=t.path.replace(/:([A-Za-z0-9-_]+)/g,((t,n)=>(f.push(n),e[n]))),g={};for(const t of Object.keys(e))-1===f.indexOf(t)&&(g[t]=e[t]);a&&(g._httpCookieInvalidate=u()(JSON.stringify(a.map(l().get)))),c.protocol=window.location.protocol;const b=(0,o.Ab)(h)+(0,o.XO)(t.namespace||r.restNamespace)+m;return d.rest_route?d.rest_route=b:c.pathname=b,n&&r.restNonce&&(d._wpnonce=r.restNonce),p(c,d),["wp-json/","rest_route="].filter((t=>c.toString().indexOf(t)>-1)).length>0&&t.method&&t.method!==i.O.GET&&p(c,[{_method:t.method}],!0),p(c,[r.restQuery,g],!0),c.toString()}({location:t,params:r,nonce:!1,options:e,cookieValueAsParam:d});["wp-json/","rest_route="].filter((t=>b.indexOf(t)>-1)).length>0&&t.method&&t.method!==i.O.GET?c.method=i.O.POST:c.method=t.method||i.O.GET;const k=new URL(b),w=-1===["HEAD","GET"].indexOf(c.method);!w&&n&&p(k,[n],!0);const x=k.toString();let C;w&&(C=h?v()(n,"boolean"==typeof h?{}:h):JSON.stringify(n));const S=await m(e.restNonce),A=void 0!==S,O=a().all([c,{headers:{..."string"==typeof C?{"Content-Type":"application/json;charset=utf-8"}:{},...A&&f?{"X-WP-Nonce":S}:{},Accept:"application/json, */*;q=0.1"}}]);O.body=C;const D=await window.fetch(x,O);if(!D.ok){let o,a=!1;try{if(o=await g(x,D,t.method),"private_site"===o.code&&403===D.status&&A&&!f&&(a=!0),"rest_cookie_invalid_nonce"===o.code&&A){const{restRecreateNonceEndpoint:t}=e;try{await m(S,t),a=!0}catch(t){}}}catch(t){}if(a)return await y({location:t,options:e,multipart:h,params:r,request:n,sendRestNonce:!0,settings:c});c.method===i.O.GET&&(window.detectCorruptRestApiFailed=(window.detectCorruptRestApiFailed||0)+1);const s=D;throw s.responseJSON=o,s}return g(x,D,t.method)}},6811:(t,e,n)=>{"use strict";var o;n.d(e,{O:()=>o}),function(t){t.GET="GET",t.POST="POST",t.PUT="PUT",t.DELETE="DELETE",t.PATCH="PATCH"}(o||(o={}))},4312:(t,e,n)=>{"use strict";n.d(e,{XO:()=>o,Ab:()=>i,sE:()=>r});const o=t=>t.endsWith("/")||t.endsWith("\\")?o(t.slice(0,-1)):t,i=t=>"".concat(o(t),"/"),r=t=>{const e=window[t.replace(/-([a-z])/g,(t=>t[1].toUpperCase()))];return"".concat(e.publicUrl).concat(e.chunkFolder,"/")}},9302:(t,e,n)=>{"use strict";n.d(e,{h:()=>s});var o=n(3438),i=n(4548),r=n(3102),a=n(1829);function s(t,e=document.createElement("div")){return new Promise((n=>{let s;const{blocker:c}=(0,o.u)(),l=!e.parentElement;t:for(const e of c){const{rules:n}=e;for(const o of n){const n=(0,a.L)(o);if(t.match(n)){s=e;break t}}}s?(e.setAttribute(i.d3,"services"),e.setAttribute(i._W,s.services.join(",")),e.setAttribute(i.CT,s.id.toString()),e.addEventListener(r.T,(()=>{l&&e.remove(),n()})),l&&document.body.appendChild(e)):n()}))}},9181:(t,e,n)=>{"use strict";n.r(e),n.d(e,{consent:()=>ae,consentAll:()=>se,consentSync:()=>re,unblock:()=>ne.h});var o={};n.r(o),n.d(o,{consent:()=>ae,consentAll:()=>se,consentSync:()=>re,unblock:()=>ne.h});var i=n(5213),r=n(3438),a=n(625),s=n(6886),c=n(8218),l=n(9382),d=n(7766),u=n(6028),p=n(4001);const h=async({supportsCookiesName:t})=>!(0,p.E)(t)&&"essentials";var f=n(7169),m=n(4717),g=n.n(m);function b(){const{userAgent:t}=navigator;return!!t&&!/chrome-lighthouse/i.test(t)&&g()(t)}const v=(t,e=1e4,n=!0)=>async({decisionCookieName:o,revisionHash:i})=>{if(b()||!n)return!1;const r=(0,f.h)(o);if(r){const{revision:t}=r;if(i===t)return"consent"}try{const{predecision:n}=await(a=t(),s=e,new Promise(((t,e)=>{a.then(t,e);const n=new Error("Timed out");setTimeout(e,s,n)})));return n}catch(t){return!1}var a,s},y=(t=!0)=>async({decisionCookieName:e,groups:n,essentialGroupSlug:o})=>{const[i]=n.filter((({slug:t})=>t===o));if(!1!==(0,f.h)(e)||!t)return!1;for(const t of n)if(t!==i)for(const{legalBasis:e}of t.items)if("legitimate-interest"===e)return!1;return!!function(){try{const t=window;if((t.doNotTrack||t.navigator.doNotTrack||t.navigator.msDoNotTrack||"msTrackingProtectionEnabled"in t.external)&&("1"==t.doNotTrack||"yes"==t.navigator.doNotTrack||"1"==t.navigator.doNotTrack||"1"==t.navigator.msDoNotTrack||t.external.msTrackingProtectionEnabled()))return!0}catch(t){}return!1}()&&"dnt"},k=async({decisionCookieName:t,revisionHash:e})=>{const n=(0,f.h)(t);if(!1===n)return!1;const{revision:o}=n;return e===o&&"consent"};var w=n(3075),x=n(6811);const C={path:"/consent/dynamic-predecision",method:x.O.POST};function S(t){const{legal:{imprint:e,imprintHide:n,privacyPolicy:o,privacyPolicyHide:i},pageId:r}=t;return[n&&+e,i&&+o].filter(Boolean).indexOf(r)>-1}var A=n(6423),O=n(7563);function D(){const t=(0,i.Ye)((()=>window.innerWidth),[])<700,e=(0,i.Ye)((()=>{const t=window.navigator.userAgent.toLowerCase();return 4===["firefox","gecko","mobile","android"].map((e=>t.indexOf(e)>-1)).filter(Boolean).length}),[]);return(0,i.I4)((({animationIn:n,animationInOnlyMobile:o,animationOut:i,animationOutOnlyMobile:r})=>{let a=o?t?n:"none":n,s=r?t?i:"none":i;return e&&(a="none",s="none"),{useAnimationIn:a,useAnimationOut:s}}),[])}const I=t=>{t&&(t.preventDefault(),t.stopPropagation())};var E=n(4766),B=n(4741),T=n(3743),P=n(9707),N=n(9586),R=n(7932);const z='[href^="#consent-"]';var L=n(2087);function H(t,e){const[n,o]=(0,i.eJ)(0),[r,a]=(0,i.eJ)(0),[s,c]=(0,i.eJ)(t),[l,d]=(0,i.eJ)(void 0),[u,p]=(0,i.eJ)(e),[h,f]=(0,i.eJ)(void 0);return(0,i.d4)((()=>{n>0&&("none"===t?c(t):(c("none"),d(t))),o(n+1)}),[t]),(0,i.d4)((()=>{r>0&&(0===e?p(e):(p(0),f(e),c("none"),d(t))),a(r+1)}),[e]),(0,i.d4)((()=>{void 0!==l&&(c(l),d(void 0))}),[l]),(0,i.d4)((()=>{void 0!==h&&(p(h),f(void 0))}),[h]),[s,u]}function W(t){const e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null}function M(t,e){const{r:n,g:o,b:i}=W(t);return"rgba(".concat(n,", ").concat(o,", ").concat(i,", ").concat(e/100,")")}var _=n(7029).h;function Y({isVisible:t,animationIn:e,animationOut:n,animationInDuration:o,animationOutDuration:i,animationInDelay:r,animationOutDelay:a}){return t?{animation:e,duration:o,delay:r}:{animation:n,duration:i,delay:a}}const U=({animateOnMount:t=!0,isVisible:e=!0,animationIn:n="fadeIn",animationOut:o="fadeOut",animationInDelay:r=0,animationOutDelay:a=0,animationInDuration:s=1e3,animationOutDuration:c=1e3,className:l="",style:d={},children:u})=>{const[{animation:p,duration:h,delay:f},m]=(0,i.eJ)(t?Y({isVisible:e,animationIn:n,animationOut:o,animationInDelay:r,animationOutDelay:a,animationInDuration:s,animationOutDuration:c}):{animation:"",delay:void 0,duration:0});(0,i.d4)((()=>{m(Y({isVisible:e,animationIn:n,animationOut:o,animationInDelay:r,animationOutDelay:a,animationInDuration:s,animationOutDuration:c}))}),[e,n,o,r,a,s,c]);const g="animate__animated animate__".concat(p," ").concat(l),b=p?{}:{opacity:e?1:0,transition:"opacity ".concat(f,"ms")};return _("div",{className:g,style:{animationDelay:"".concat(f,"ms"),animationDuration:"".concat(h,"ms"),pointerEvents:e?"all":"none",...d,...b}},u)};function F(t,e){const{pageRequestUuid4:n}=(0,E.S)(),o=(0,P.G)("","useRenderedHeightsAsCssVars-".concat(e)),r=document.getElementById(o);(0,i.d4)((()=>{let o=0;const i=()=>{const i=t.getBoundingClientRect().height;o!==i&&(o=i,r.innerHTML="#".concat(n,"{--rendered-height-").concat(e,": ").concat(Math.floor(i),"px;--rendered-height-raw-").concat(e,": ").concat(i,"px}"))};if(!t)return()=>{};const a=document.querySelector("#".concat(n,' div[class*="animate__"]'));if(a.addEventListener("animationend",i),window.ResizeObserver){const e=new ResizeObserver(i);return e.observe(t),()=>{e.disconnect(),a.removeEventListener("animationend",i)}}{const t=setInterval(i,150);return()=>{clearInterval(t),a.removeEventListener("animationend",i)}}}),[t,e])}var G=n(6730);function q(){const{individualPrivacyOpen:t,onSave:e,updateGroupChecked:n,updateCookieChecked:o,groups:r,essentialGroup:a,updateIndividualPrivacyOpen:s,activeAction:c,onClose:l}=(0,E.S)(),d=t?"ind_all":"main_all",u=t?"ind_essential":"main_essential",p=t?"ind_close_icon":"main_close_icon",h=t?"ind_custom":"main_custom",f={buttonClickedAll:d,buttonClickedEssentials:u,buttonClickedCloseIcon:p,buttonClickedCustom:h,acceptAll:(0,i.I4)((()=>{r.forEach((t=>n(t.id,!0))),e(!1,d)}),[d]),acceptEssentials:(0,i.I4)(((t=!1)=>{r.forEach((({slug:t,id:e,items:i})=>{if(t===a)n(e,!0);else for(const{legalBasis:t,id:n}of i)o(e,n,"legitimate-interest"===t)})),e(!1,t?p:u)}),[u]),acceptIndividual:(0,i.I4)((()=>e(!1,h)),[h]),openIndividualPrivacy:(0,i.I4)((()=>{s(!0)}),[s])};return{...f,closeIcon:(0,i.I4)((()=>{c?l():f.acceptEssentials(!0)}),[c,l,f.acceptEssentials])}}var X=n(7778);const j=({children:t,className:e,tag:n="div",renderInContainer:o})=>{const[r]=(0,i.eJ)((()=>{const t=document.createElement(n);return e&&t.classList.add(e),t}));return(0,i.d4)((()=>(document.body.appendChild(r),()=>{document.body.removeChild(r)})),[]),(0,i.jz)(t,o||r)};var V=n(8523),J=n(7029).h;let Z=0;const $=({width:t,color:e,tooltipText:n,framed:o,renderInContainer:r,tooltipAlways:a,onClick:s,thickness:c=1})=>{const l=(0,i.Ye)((()=>"react-close-icon-".concat((Z++).toString(36))),[]),d=(0,i.Ye)((()=>"react-close-icon-".concat((Z++).toString(36))),[]),u=(0,i.Ye)((()=>"react-close-icon-".concat((Z++).toString(36))),[]),p=(0,i.sO)(),h=(0,X.EL)(p);return(0,P.G)("#".concat(u,", #").concat(l," {\n position: absolute;\n top: 50%;\n right: 0;\n margin-top: calc(").concat(t,"px / 2 * -1);\n display: block;\n width: ").concat(t,"px;\n height: ").concat(t,"px; \n pointer-events: none;\n}\n\n#").concat(l," {\n position: absolute !important;\n}\n\n#").concat(l,", #").concat(d," {\n cursor: pointer;\n pointer-events: all;\n ").concat(o?"outline: rgb(255, 94, 94) solid 5px;":"","\n}\n\n#").concat(d," {\n position: fixed !important;\n ").concat(h?"top: ".concat(h.y,"px;left: ").concat(h.x,"px;display:block;"):"display:none;","\n width: ").concat(t,"px;\n height: ").concat(t,"px;\n z-index: 99;\n}\n#").concat(d,":after, #").concat(l,":after {\n width: auto !important;\n white-space: nowrap !important;\n}\n#").concat(d,">span:before, #").concat(d,">span:after,\n#").concat(l,">span:before, #").concat(l,">span:after {\n position: absolute;\n top: 50%;\n left: 50%;\n width: ").concat(c,"px;\n height: ").concat(t,"px;\n background-color: ").concat(e,";\n transform: rotate(45deg) translate(-50%, -50%);\n transform-origin: top left;\n transition: all 420ms;\n content: '';\n opacity: 0.5;\n pointer-events: none;\n}\n#").concat(d,">span:after,\n#").concat(l,">span:after {\n transform: rotate(-45deg) translate(-50%, -50%);\n}\n#").concat(d,">span:hover:before, #").concat(d,">span:hover:after,\n#").concat(l,">span:hover:before, #").concat(l,">span:hover:after {\n opacity: 1;\n width: ").concat(c+1,"px;\n}")),r?J(i.HY,null,J("div",{id:u,ref:p}),(null==h?void 0:h.y)>0&&J(j,{renderInContainer:r},J(V.u,{title:n,id:d,onClick:s,position:h.y>50?"top-left":"left",always:a},J("span",null)))):J(V.u,{title:n,id:l,onClick:s,position:"top-left",always:a},J("span",null))};var Q=n(7029).h;const K=()=>{const{headerDesign:{fontSize:t,fontColor:e},texts:{acceptEssentials:n},mobile:o,activeAction:i,pageRequestUuid4:r,i18n:{close:a,closeWithoutSaving:s},buttonClicked:c=""}=(0,E.S)(),{buttonClickedCloseIcon:l,closeIcon:d}=q(),u=document.getElementById(r);return Q($,{width:(0,L.D)(o,r,t),color:e,tooltipText:i?"change"===i?s:a:n,tooltipAlways:(null==u?void 0:u.clientWidth)<700,framed:c===l,renderInContainer:u,onClick:d})};var tt=n(7029).h;const et=(0,i.Gp)(((t,e)=>{const n=(0,E.S)(),{headerDesign:{logo:o,logoRetina:i},decision:{showCloseIcon:r},texts:{headline:a},activeAction:s,individualPrivacyOpen:c,individualTexts:l,i18n:{headerTitlePrivacyPolicyHistory:d}}=n,u=i&&!(null!=o&&o.endsWith(".svg"))&&window.devicePixelRatio>1,p=u?i:o,h=c?"history"===s?d:l.headline:a;return tt("div",(0,B.Z)({ref:e},function({layout:{type:t,dialogBorderRadius:e},design:{borderWidth:n,borderColor:o,...i},headerDesign:{inheritBg:r,bg:a,padding:s},customCss:{antiAdBlocker:c},mobile:l,pageRequestUuid4:d}){const u=(0,L.D)(l,d,t,"banner"),p=(0,L.D)(l,d,n),h={padding:(0,L.D)(l,d,s,void 0,!0).map((t=>"".concat(t,"px"))).join(" "),background:r?i.bg:a,borderRadius:"dialog"===u?"".concat(e,"px ").concat(e,"px 0 0"):void 0,position:"sticky",zIndex:9,top:0};return"dialog"===u&&p>0&&(h.borderTop="".concat(p,"px solid ").concat(o),h.borderLeft=h.borderTop,h.borderRight=h.borderTop),{className:"y"===c?void 0:"rcb-header-container",style:h}}(n)),tt("div",function({layout:{type:t,bannerMaxWidth:e},design:{textAlign:n},headerDesign:{inheritTextAlign:o,logo:i,logoPosition:r,...a},texts:{headline:s},individualLayout:c,customCss:{antiAdBlocker:l},mobile:d,pageRequestUuid4:u,individualPrivacyOpen:p}){const h=o?n:a.textAlign;return{className:"y"===l?void 0:"rcb-header",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===(0,L.D)(d,u,t,"banner")?+(p&&!c.inheritBannerMaxWidth?c.bannerMaxWidth:e):void 0,margin:"auto",display:"flex",justifyContent:"center"===h?"center":"right"===h?"flex-end":void 0,textAlign:h,alignItems:"center",position:"relative",flexDirection:i&&s?"left"===r?"row":"right"===r?"row-reverse":"column":void 0}}}(n),!!p&&tt("img",(0,B.Z)({alt:"",src:p},function({headerDesign:{logoMaxHeight:t,logoMargin:e,logoFitDim:n,logoRetinaFitDim:o},customCss:{antiAdBlocker:i},mobile:r,pageRequestUuid4:a},s){const c=s?o:n;return{className:"y"===i?void 0:"rcb-logo",style:{...c?{width:c[0],height:c[1]}:{width:"auto",height:(0,L.D)(r,a,+t)},margin:(0,L.D)(r,a,e).map((t=>"".concat(t,"px"))).join(" ")}}}(n,u))),!!h&&tt("div",(0,G.a)(n,!1),h),(!!r||!!s)&&tt(K,null)))}));var nt=n(6268),ot=n(7029).h;const it=({title:t,children:e})=>{const n=(0,E.S)();return ot("div",function({group:{headlineFontSize:t,headlineFontColor:e,headlineFontWeight:n},customCss:{antiAdBlocker:o},mobile:i,pageRequestUuid4:r}){return{className:"y"===o?void 0:"rcb-group",style:{color:e,fontSize:(0,L.D)(i,r,t),fontWeight:n,textAlign:"left"}}}(n),t,e&&ot("div",function({design:{fontWeight:t},group:{descriptionFontColor:e,descriptionFontSize:n},customCss:{antiAdBlocker:o},mobile:i,pageRequestUuid4:r}){return{className:"y"===o?void 0:"rcb-group-description",style:{color:e,fontSize:(0,L.D)(i,r,+n),fontWeight:t,marginTop:5}}}(n),e))};var rt=n(8559),at=n(2121),st=n(8982),ct=n(7029).h;const lt=({onToggle:t,children:e,showMore:n,hideMore:o,...r})=>{const a=(0,st.w)(),[s,c]=(0,i.eJ)(!1),[l,d]=(0,i.eJ)(!1);return ct(i.HY,null,"  •  ",ct("a",(0,B.Z)({href:"#"},(0,at.c)(a,s),{onClick:e=>{const n=!l;d(n),null==t||t(n),e.preventDefault()},onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1)},r),l?o:n),l&&e)};var dt=n(229),ut=n(7029).h;const pt=({group:t,cookie:e})=>{var n;const{id:o}=e,r=(0,E.S)(),{consent:a,activeAction:s,essentialGroup:c}=r,l=c===t.slug,d=l||"history"===s,u=l||((null===(n=a.groups)||void 0===n?void 0:n[t.id])||[]).some((t=>t===o)),p=(0,i.I4)((()=>!d&&r.updateCookieChecked(t.id,o,!u)),[d,r,t,o,u]);return ut(dt.V,{cookie:e,propertyListProps:{isEssentialGroup:l},checked:u,disabled:d,onToggleCheck:p})};var ht=n(7029).h;const ft=({group:t})=>{var e;const n=(0,E.S)(),{id:o,slug:r,name:a,description:s,items:c}=t,{previewCheckboxActiveState:l,consent:d,activeAction:u,essentialGroup:p,individualTexts:{showMore:h,hideMore:f}}=n,m=p===r,g=m||"history"===u,b=l||m||!!d.groups[o],v=!m&&JSON.stringify(c.map((({id:t})=>t)).sort())!==JSON.stringify((null===(e=d.groups[o])||void 0===e?void 0:e.sort())||[]),y=(0,i.I4)((()=>!g&&n.updateGroupChecked(o,!b)),[g,n,o,b]);return ht("div",function({group:{groupBg:t,groupBorderRadius:e,groupBorderColor:n,groupPadding:o,groupBorderWidth:i,groupInheritBg:r},customCss:{antiAdBlocker:a},mobile:s,pageRequestUuid4:c}){const l=(0,L.D)(s,c,i);return{className:"y"===a?void 0:"rcb-group",style:{background:r?void 0:t,border:l>0?"".concat(l,"px solid ").concat(n):void 0,padding:(0,L.D)(s,c,o).map((t=>"".concat(t,"px"))).join(" "),borderRadius:+e,textAlign:"left"}}}(n),ht(it,{title:ht(rt.P,{onClick:y,isPartial:v,isChecked:b,isDisabled:g},a," (",c.length,")")},s,!!c&&ht(lt,{showMore:h,hideMore:f},c.map((e=>ht(pt,{key:e.id,group:t,cookie:e}))))))};var mt=n(7029).h;const gt=()=>{const t=(0,E.S)(),{groups:e,group:{groupSpacing:n},mobile:o,pageRequestUuid4:r}=t,a=e.filter((({items:t})=>t.length));return mt("div",function({customCss:{antiAdBlocker:t}}){return{className:"y"===t?void 0:"rcb-groups",style:{marginTop:10,clear:"both"}}}(t),a.map(((t,e)=>mt(i.HY,{key:t.id},mt(ft,{key:t.id,group:t}),e!==a.length-1&&mt("div",{style:{height:(0,L.D)(o,r,+n)}})))))};var bt=n(7029).h;const vt=({group:{id:t,slug:e,name:n}})=>{const o=(0,E.S)(),{decision:{groupsFirstView:r},design:{fontSize:a},consent:s,essentialGroup:c}=o,l=c===e,d=l||!!s.groups[t],u=(0,i.I4)((()=>false),[false,l,o,t,d,r]);return bt("span",(0,B.Z)({key:n},function({design:{fontSize:t},bodyDesign:{dottedGroupsInheritFontSize:e,dottedGroupsFontSize:n},mobile:o,pageRequestUuid4:i}){return{className:void 0,style:{paddingRight:10,fontSize:(0,L.D)(o,i,e?+t:+n),whiteSpace:"nowrap",display:"inline-block"}}}(o)),bt("span",null,bt(i.HY,null,bt("strong",function({bodyDesign:{dottedGroupsBulletColor:t}}){return{className:void 0,style:{color:t}}}(o),"●")," "),bt("span",{style:{verticalAlign:"middle",cursor:r?"pointer":void 0},onClick:u},n)))};var yt=n(7029).h;const kt=()=>{const t=(0,E.S)(),{groups:e,decision:{showGroups:n}}=t;return n?yt("div",function({customCss:{antiAdBlocker:t}}){return{className:"y"===t?void 0:"rcb-dotted-groups",style:{marginTop:10,lineBreak:"anywhere",lineHeight:2}}}(t),e.filter((({items:t})=>!!t.length)).map((t=>yt(vt,{key:t.id,group:t})))):null};var wt=n(7029).h;const xt=()=>{const t=(0,E.S)(),[e,n]=(0,i.eJ)(-1),{activeAction:o,history:r,selectHistoryEntry:a,i18n:{historyLabel:s,historySelectNone:c}}=t,l=(0,i.Ye)((()=>{var t;return null==r||null===(t=r.filter((({id:t})=>t===e)))||void 0===t?void 0:t[0]}),[e]);(0,i.d4)((()=>{o?"history"===o&&null!=r&&r.length&&n(r[0].id):n(-1)}),[o,r]);const d=null==l?void 0:l.uuid,u=function({design:{bg:t}}){return{className:void 0,style:{background:t}}}(t);return wt(i.HY,null,s," ",wt("select",(0,B.Z)({},function({design:{fontSize:t,fontColor:e},bodyDesign:{descriptionInheritFontSize:n,descriptionFontSize:o},customCss:{antiAdBlocker:i},mobile:r,pageRequestUuid4:a}){return{className:"y"===i?void 0:"rcb-history-select",style:{fontSize:(0,L.D)(r,a,n?+t:+o),background:"transparent",border:0,color:e,borderBottom:"1px solid ".concat(M(e,50))}}}(t),{disabled:!(null!=r&&r.length),value:e,onChange:t=>{const e=+t.target.value;r.forEach((({id:t,decision:o,groups:i,tcf:r})=>{t===e&&(n(t),a(i,o,r))}))}}),(null==r?void 0:r.length)>0?r.map((({id:t,isDoNotTrack:e,isUnblock:n,isForwarded:o,created:i})=>wt("option",(0,B.Z)({key:t,value:t},u),new Date(i).toLocaleString(document.documentElement.lang),e?" (Do Not Track)":"",n?" (Content Blocker)":"",o?" (Consent Forwarding)":""))):wt("option",(0,B.Z)({value:-1},u),c)),!!d&&wt("div",{style:{opacity:.5,marginTop:5}},"UUID: ",d))};var Ct=n(8346),St=n(7613);function At({name:t,order:e,type:n,borderRadius:o,bg:i,hoverBg:r,fontSize:a,textAlign:s,fontColor:c,fontWeight:l,hoverFontColor:d,borderWidth:u,borderColor:p,hoverBorderColor:h,padding:f,antiAdBlocker:m,pageRequestUuid4:g},b,v,y,k){const w=!k||e>1,x=k&&1===e?5:0,C=k&&0===e?5:0,S=(0,L.D)(b,g,+u),A={textDecoration:"link"===n?"underline":"none",borderRadius:+o,cursor:"button"===n?"pointer":void 0,backgroundColor:"button"===n?v?r:i:void 0,fontSize:(0,L.D)(b,g,+a),fontWeight:l,color:v?d:c,transition:"background-color 250ms, color 250ms, border-color 250ms",margin:"0 ".concat(C,"px ").concat((0,L.D)(b,g,10,void 0,!0),"px ").concat(x,"px"),border:"button"===n&&S>0?"".concat(S,"px solid ").concat(v?h:p):void 0,padding:(0,L.D)(b,g,f,void 0,"button"!==n).map((t=>"".concat(t,"px"))).join(" "),overflow:"hidden",outline:y?"rgb(255, 94, 94) solid 5px":void 0,flex:w?"1 1 100%":"0 0 calc(50% - ".concat(x+C,"px)"),display:"flex",alignItems:"center",justifyContent:"right"===s?"flex-end":"center"===s?"center":"left",textAlign:s,order:e};return{className:"y"===m?void 0:"rcb-btn-".concat(t),style:A}}function Ot({isTcf:t,decision:{acceptEssentials:e},layout:{borderRadius:n},bodyDesign:{acceptEssentialsFontSize:o,acceptEssentialsBg:i,acceptEssentialsTextAlign:r,acceptEssentialsBorderColor:a,acceptEssentialsPadding:s,acceptEssentialsBorderWidth:c,acceptEssentialsFontColor:l,acceptEssentialsFontWeight:d,acceptEssentialsHoverBg:u,acceptEssentialsHoverFontColor:p,acceptEssentialsHoverBorderColor:h,acceptAllFontWeight:f,acceptAllFontSize:m,acceptAllPadding:g},customCss:{antiAdBlocker:b},mobile:v,pageRequestUuid4:y},k,w,x,C){return At({name:"accept-essentials",order:x,type:e,borderRadius:n,bg:i,hoverBg:u,fontSize:C||t?m:o,textAlign:r,fontColor:l,fontWeight:t?f:d,hoverFontColor:p,borderWidth:c,borderColor:a,hoverBorderColor:h,padding:C?g:s,antiAdBlocker:b,pageRequestUuid4:y},v,k,w,C)}function Dt({decision:{acceptIndividual:t},layout:{borderRadius:e},bodyDesign:{acceptIndividualFontSize:n,acceptIndividualBg:o,acceptIndividualTextAlign:i,acceptIndividualBorderColor:r,acceptIndividualPadding:a,acceptIndividualBorderWidth:s,acceptIndividualFontColor:c,acceptIndividualFontWeight:l,acceptIndividualHoverBg:d,acceptIndividualHoverFontColor:u,acceptIndividualHoverBorderColor:p},customCss:{antiAdBlocker:h},mobile:f,pageRequestUuid4:m},g,b,v,y){return At({name:"accept-individual",order:v,type:t,borderRadius:e,bg:o,hoverBg:d,fontSize:n,textAlign:i,fontColor:c,fontWeight:l,hoverFontColor:u,borderWidth:s,borderColor:r,hoverBorderColor:p,padding:a,antiAdBlocker:h,pageRequestUuid4:m},f,g,b,y)}function It({isTcf:t,layout:{borderRadius:e},bodyDesign:{acceptAllFontWeight:n,acceptAllFontSize:o},saveButton:{type:i,fontSize:r,bg:a,textAlign:s,borderColor:c,padding:l,borderWidth:d,fontColor:u,fontWeight:p,hoverBg:h,hoverFontColor:f,hoverBorderColor:m},customCss:{antiAdBlocker:g},mobile:b,pageRequestUuid4:v},y,k,w,x){return At({name:"accept-individual-save",order:w,type:i,borderRadius:e,bg:a,hoverBg:h,fontSize:t?o:r,textAlign:s,fontColor:u,fontWeight:t?n:p,hoverFontColor:f,borderWidth:d,borderColor:c,hoverBorderColor:m,padding:l,antiAdBlocker:g,pageRequestUuid4:v},b,y,k,x)}function Et({decision:{acceptAll:t},layout:{borderRadius:e},bodyDesign:{acceptAllFontSize:n,acceptAllBg:o,acceptAllTextAlign:i,acceptAllBorderColor:r,acceptAllPadding:a,acceptAllBorderWidth:s,acceptAllFontColor:c,acceptAllFontWeight:l,acceptAllHoverBg:d,acceptAllHoverFontColor:u,acceptAllHoverBorderColor:p},customCss:{antiAdBlocker:h},mobile:f,pageRequestUuid4:m},g,b,v,y){return At({name:"accept-all",order:v,type:t,borderRadius:e,bg:o,hoverBg:d,fontSize:n,textAlign:i,fontColor:c,fontWeight:l,hoverFontColor:u,borderWidth:s,borderColor:r,hoverBorderColor:p,padding:a,antiAdBlocker:h,pageRequestUuid4:m},f,g,b,y)}var Bt=n(4902),Tt=n(7029).h;const Pt=({inlineStyle:t,type:e,onClick:n,children:o,framed:r,busyOnClick:a,order:s})=>{if("hide"===e)return null;const[c,l]=(0,i.eJ)(!1),d=(0,i.I4)((()=>{c||(a&&l(!0),null==n||n())}),[n,c,a]),[u,p]=(0,i.eJ)(!1),h=(0,E.S)(),{individualPrivacyOpen:f,decision:{acceptAll:m,acceptEssentials:g},bodyDesign:{acceptAllOneRowLayout:b,acceptEssentialsUseAcceptAll:v}}=h,y=v?m:g,k={onClick:d,onMouseEnter:()=>p(!0),onMouseLeave:()=>p(!1),style:{cursor:"pointer"}},w=(0,i.Ye)((()=>{switch(t){case"acceptEssentials":return Ot;case"acceptIndividual":return Dt;case"save":return It;default:return Et}}),[t]);return Tt("div",(0,B.Z)({},"button"===e?k:{},w(h,u,r,s,!(/MSIE (\d+\.\d+);/.test(navigator.userAgent)||navigator.userAgent.indexOf("Trident/")>-1||"hide"===m||"hide"===y||f||s>1)&&b)),Tt("span","link"===e?k:{},c?Tt(Bt.X,null):o))};var Nt=n(7029).h;const Rt=()=>{const t=(0,E.S)(),{activeAction:e,bodyDesign:{acceptEssentialsUseAcceptAll:n,acceptAllOneRowLayout:o},decision:{showGroups:r,groupsFirstView:a,saveButton:s,acceptAll:c,acceptEssentials:l,acceptIndividual:d,buttonOrder:u},texts:{acceptAll:p,acceptEssentials:h,acceptIndividual:f},saveButton:{type:m,useAcceptAll:g},individualTexts:{save:b},individualPrivacyOpen:v,didGroupFirstChange:y,productionNotice:k,buttonClicked:w=""}=t,{all:x,essential:C,individual:S,save:A}=(0,i.Ye)((()=>{const t=u.split(","),e=t.reduce(((e,n)=>(e[n]=t.indexOf(n),e)),{}),n=t.reduce(((e,n)=>(e[t.indexOf(n)]=n,e)),{});return o&&(e[n[0]]=1,e[n[1]]=0),e}),[u,o]),{buttonClickedAll:O,buttonClickedEssentials:D,buttonClickedCustom:I,acceptAll:B,acceptEssentials:T,acceptIndividual:P,openIndividualPrivacy:N}=q(),R="change"===e;return Nt(i.HY,null,Nt(Pt,{onClick:B,type:c,inlineStyle:"acceptAll",framed:w===O,busyOnClick:R,order:x},p),"change"!==e&&Nt(Pt,{onClick:T,type:n?c:l,inlineStyle:n?"acceptAll":"acceptEssentials",framed:w===D,busyOnClick:R,order:C},h),!!v&&Nt(Pt,{onClick:P,type:g?c:m,inlineStyle:g?"acceptAll":"save",framed:w===I,busyOnClick:R,order:A},b),!v&&Nt(Pt,{type:d,onClick:N,inlineStyle:"acceptIndividual",framed:w.startsWith("ind_"),busyOnClick:R,order:S},f),k)};var zt=n(7029).h;const Lt=({leftSideContainerRef:t,rightSideContainerRef:e})=>{var n;const o=(0,E.S)(),{layout:{type:r},mobile:a,bodyDesign:{teachingsSeparatorActive:s},tcf:c,individualPrivacyOpen:l,activeAction:d,pageRequestUuid4:u}=o,{description:p,teachings:h}=(0,nt.k)(),f="bnnr-body-leftSide-".concat(u),m="bnnr-body-rightSide-".concat(u),g="cntnt-".concat(u);(0,P.G)(" #".concat(f," img {\n max-width: 100%;\n height: auto;\n}\n\n").concat((null===(n=document.getElementById(u))||void 0===n?void 0:n.clientWidth)>700?"":"#".concat(f," {\n float: initial !important;\n width: auto !important;\n padding-right: initial !important;\n ").concat("banner"!==(0,L.D)(a,u,r,"banner")||l?l?"padding-top: 10px !important;":"":"padding-bottom: 10px !important;","\n }\n\n #").concat(g," {\n min-height: calc(var(--rendered-height-header) + var(--rendered-height-footer) + var(--rendered-height-rightSideContainer) + 60px);\n }\n \n #").concat(m," {\n float: initial !important;\n width: auto !important;\n max-width: initial !important;\n margin: initial !important;\n ").concat(l?"padding-bottom: 5px !important;":"padding-top: 10px !important;","\n position: sticky;\n }")));const b=(0,i.Ye)((()=>zt(l?gt:kt,null)),[l,c]),v=zt("div",(0,B.Z)({ref:t,key:"leftSide",id:f},function({layout:{type:t},bodyDesign:{padding:e},customCss:{antiAdBlocker:n},mobile:o,individualPrivacyOpen:i,activeAction:r,pageRequestUuid4:a}){const s=(0,L.D)(o,a,t,"banner"),c=(0,L.D)(o,a,e);return{className:"y"===n?void 0:"rcb-tb-left",style:{float:"banner"===s&&"history"!==r?"left":void 0,width:"banner"===s&&"history"!==r?"calc(100% - ".concat(300,"px)"):void 0,paddingRight:"banner"===s?20:void 0,paddingTop:+c[0],paddingBottom:"banner"===s||i?+c[2]:0}}}(o)),zt("div",function({design:{fontSize:t},bodyDesign:{descriptionInheritFontSize:e,descriptionFontSize:n},individualLayout:{descriptionTextAlign:o},customCss:{antiAdBlocker:i},mobile:r,individualPrivacyOpen:a,pageRequestUuid4:s}){return{className:"y"===i?void 0:"rcb-description",style:{lineHeight:1.5,fontSize:(0,L.D)(r,s,e?+t:+n),textAlign:a?o:void 0}}}(o),"history"===d?zt(xt,null):zt(i.HY,null,zt("span",{dangerouslySetInnerHTML:{__html:p}}),h.length>0&&zt(i.HY,null,s&&zt("div",null,zt("span",(0,Ct.V)(o))),h.map((t=>zt("span",(0,B.Z)({key:t},(0,St.W)(o),{dangerouslySetInnerHTML:{__html:t}}))))))),b),y="history"===d?zt("div",{ref:e}):zt("div",(0,B.Z)({ref:e,key:"rightSide",id:m},function({layout:{type:t,dialogMaxWidth:e},design:{borderWidth:n,bg:o,fontColor:i},headerDesign:r,footerDesign:a,bodyDesign:{padding:s},individualLayout:{inheritDialogMaxWidth:c},customCss:{antiAdBlocker:l},mobile:d,individualPrivacyOpen:u,pageRequestUuid4:p}){const h=(0,L.D)(d,p,t,"banner"),f=(0,L.D)(d,p,n),m=(0,L.D)(d,p,s,void 0,!0),{r:g,g:b,b:v}=W(i),y="dialog"===h?+e-m[1]-m[3]-2*f:300;return{className:"y"===l?void 0:"rcb-tb-right",style:{background:o,paddingTop:"banner"===h||u?+m[0]:10,paddingBottom:u?10:+m[2],float:"banner"===h||u?"right":void 0,maxWidth:y,width:y,margin:"dialog"===h&&u&&!c?"0 0 10px 10px":void 0,position:u?void 0:"sticky",[u?"top":"bottom"]:u?"calc(var(--rendered-height-header) + ".concat((0,L.D)(d,p,r.borderWidth),"px)"):"calc(var(--rendered-height-footer) + ".concat((0,L.D)(d,p,a.borderWidth),"px)"),zIndex:1,display:"flex",flexWrap:"wrap",transition:"box-shadow ease-in-out .1s","--boxShadowShowScroll":"0 -15px 15px -15px rgba(".concat(g,", ").concat(b,", ").concat(v,", 0.3)")}}}(o)),zt(Rt,null));return zt("div",function({layout:{type:t},design:{bg:e,borderWidth:n,borderColor:o},bodyDesign:{padding:i},customCss:{antiAdBlocker:r},mobile:a,pageRequestUuid4:s}){const c=(0,L.D)(a,s,n),l={background:e,padding:(0,L.D)(a,s,i).map(((t,e)=>"".concat([0,2].indexOf(e)>-1?0:t,"px"))).join(" "),lineHeight:1.4};return"dialog"===(0,L.D)(a,s,t,"banner")&&c>0&&(l.borderLeft="".concat(c,"px solid ").concat(o),l.borderRight=l.borderLeft),{className:"y"===r?void 0:"rcb-body-container",style:l}}(o),zt("div",function({layout:{type:t,bannerMaxWidth:e},individualLayout:n,customCss:{antiAdBlocker:o},mobile:i,individualPrivacyOpen:r,pageRequestUuid4:a}){return{className:"y"===o?void 0:"rcb-body",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===(0,L.D)(i,a,t,"banner")?+(r&&!n.inheritBannerMaxWidth?n.bannerMaxWidth:e):void 0,margin:"auto"}}}(o),l?[y,v]:[v,y],zt("div",{style:{clear:"both"}})))};var Ht=n(6092),Wt=n(7029).h;const Mt=(0,i.Gp)(((t,e)=>{const n=(0,E.S)(),{isTcf:o,layout:{type:r},individualPrivacyOpen:a,updateIndividualPrivacyOpen:s,onClose:c,i18n:{tcf:l},isConsentRecord:d}=n,u=(0,i.I4)((t=>{c(),t.preventDefault()}),[c]),{rows:p,render:h}=(0,Ht.g)({onClose:d?u:void 0,putPoweredByLinkInRow:"banner"===r?0:1,row1:[!1]});return Wt("div",(0,B.Z)({ref:e},function({layout:{type:t,dialogBorderRadius:e},design:n,footerDesign:{inheritBg:o,bg:i,inheritTextAlign:r,textAlign:a,padding:s,fontSize:c,fontColor:l,fontWeight:d},customCss:{antiAdBlocker:u},mobile:p,pageRequestUuid4:h}){const f=(0,L.D)(p,h,t,"banner"),m=(0,L.D)(p,h,n.borderWidth),g={padding:(0,L.D)(p,h,s,void 0,!0).map((t=>"".concat(t,"px"))).join(" "),background:o?n.bg:i,borderRadius:"dialog"===f?"0 0 ".concat(e,"px ").concat(e,"px"):void 0,fontSize:(0,L.D)(p,h,+c),fontWeight:d,color:l,textAlign:r?n.textAlign:a,position:"sticky",bottom:0,zIndex:1};return"dialog"===f&&m>0&&(g.borderBottom="".concat(m,"px solid ").concat(n.borderColor),g.borderLeft=g.borderBottom,g.borderRight=g.borderBottom),{className:"y"===u?void 0:"rcb-footer-container",style:g}}(n)),Wt("div",function({layout:{type:t,bannerMaxWidth:e},individualLayout:n,customCss:{antiAdBlocker:o},mobile:i,pageRequestUuid4:r,individualPrivacyOpen:a}){return{className:"y"===o?void 0:"rcb-footer",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===(0,L.D)(i,r,t,"banner")?+(a&&!n.inheritBannerMaxWidth?n.bannerMaxWidth:e):void 0,margin:"auto",lineHeight:1.8}}}(n),h(p)))}));var _t=n(7029).h;const Yt=()=>{const t=(0,E.S)(),{layout:{type:e,dialogBorderRadius:n},decision:{acceptAll:o,acceptEssentials:r,showCloseIcon:a},mobile:s,individualPrivacyOpen:c,design:{bg:l},bodyDesign:{teachingsFontColor:d,acceptEssentialsUseAcceptAll:u},activeAction:p,pageRequestUuid4:h}=t,f="bnnr-body-rightSide-".concat(h),m="cntnt-".concat(h),g=(0,i.sO)(),{current:b}=g,v=u?o:r;let y=!0;!s.hideHeader||p||c||"hide"===v&&a||(y=(0,L.D)(s,h,y,!1));const[k,w]=(0,i.eJ)(!1),x=(0,i.I4)((()=>{if(b){const{clientHeight:t,scrollHeight:e,scrollTop:n,offsetHeight:o}=b,i=t<e,r=Math.ceil(n+o)>=e,a=i&&!r&&!c;k!==a&&w(a)}}),[b,c,k]);x(),(0,i.bt)((()=>b?(b.addEventListener("scroll",x),()=>b.removeEventListener("scroll",x)):()=>{}),[b,x]),(0,P.G)(k?"#".concat(f," {box-shadow:var(--boxShadowShowScroll);}"):""),(0,P.G)("Win32"===navigator.platform&&"dialog"===e&&n>0?["#".concat(m,"{overflow:overlay!important;}"),"#".concat(m,"::-webkit-scrollbar{width:11px;}"),"#".concat(m,"{scrollbar-width:thin;scrollbar-color:").concat(d," transparent;}"),"#".concat(m,"::-webkit-scrollbar-track{background:transparent;}"),"#".concat(m,"::-webkit-scrollbar-thumb{background-color:").concat(d,";border-radius:").concat(n,"px;border:3px solid ").concat(l,";}"),"#".concat(m,">div{border-top-right-radius:0!important;border-bottom-right-radius:0!important;}")].join("\n"):"");const C=(0,i.sO)(),S=(0,i.sO)(),A=(0,i.sO)();return F(C.current,"header"),F(S.current,"footer"),F(A.current,"rightSideContainer"),_t("div",(0,B.Z)({},function({layout:{type:t},customCss:{antiAdBlocker:e},decision:{showCloseIcon:n},activeAction:o,individualPrivacyOpen:i,mobile:r,pageRequestUuid4:a}){var s;const c=(null===(s=document.getElementById(a))||void 0===s?void 0:s.clientHeight)||window.innerHeight,l=+r.maxHeight,d=l>c?c:l,u=n||o?51:0;return{className:"y"===e?void 0:"rcb-content",style:{position:"relative",maxHeight:(0,L.D)(r,a,c-("banner"===t?0:20)-u,i?c-u:d-u),overflow:"auto"}}}(t),{ref:g,id:m}),y&&_t(i.HY,null,_t(et,{ref:C}),_t("div",function({layout:{type:t},design:e,headerDesign:{borderWidth:n,borderColor:o},customCss:{antiAdBlocker:i},mobile:r,pageRequestUuid4:a}){const s=(0,L.D)(r,a,e.borderWidth),c={height:(0,L.D)(r,a,+n),background:o,position:"sticky",top:"var(--rendered-height-header)",zIndex:9};return"dialog"===(0,L.D)(r,a,t,"banner")&&s>0&&(c.borderLeft="".concat(s,"px solid ").concat(e.borderColor),c.borderRight=c.borderLeft),{className:"y"===i?void 0:"rcb-header-separator",style:c}}(t))),_t(Lt,{rightSideContainerRef:A}),_t("div",function({layout:{type:t},design:e,footerDesign:{borderWidth:n,borderColor:o},customCss:{antiAdBlocker:i},mobile:r,pageRequestUuid4:a}){const s=(0,L.D)(r,a,e.borderWidth),c={height:(0,L.D)(r,a,+n),background:o,position:"sticky",bottom:"var(--rendered-height-footer)"};return"dialog"===(0,L.D)(r,a,t,"banner")&&s>0&&(c.borderLeft="".concat(s,"px solid ").concat(e.borderColor),c.borderRight=c.borderLeft),{className:"y"===i?void 0:"rcb-footer-separator",style:c}}(t)),_t(Mt,{ref:S}))};var Ut=n(7029).h;const Ft=()=>{const t=(0,E.S)(),{layout:{animationInDuration:e,animationOutDuration:n},animationVisible:o}=t,{useAnimationIn:i,useAnimationOut:r}=D()(t.layout),[a,s]=H(i,e),[c,l]=H("none"===r?"fadeOut":r,"none"===r?0:n);return Ut(U,(0,B.Z)({animationIn:a,animationInDuration:s,animationOut:c,animationOutDuration:l,isVisible:o},function({layout:{type:t,dialogMaxWidth:e,dialogPosition:n,dialogMargin:o,bannerPosition:i,dialogBorderRadius:r},design:{borderWidth:a,borderColor:s,textAlign:c,fontColor:l,fontInheritFamily:d,fontFamily:u,fontWeight:p,boxShadowEnabled:h,boxShadowOffsetX:f,boxShadowOffsetY:m,boxShadowBlurRadius:g,boxShadowSpreadRadius:b,boxShadowColor:v,boxShadowColorAlpha:y},individualLayout:k,customCss:{antiAdBlocker:w},mobile:x,pageRequestUuid4:C,individualPrivacyOpen:S}){const{alignment:A}=x,O=(0,L.D)(x,C,t,"banner"),D=(0,L.D)(x,C,a),I="dialog"===O?+(S&&!k.inheritDialogMaxWidth?k.dialogMaxWidth:e):"100%",E={pointerEvents:"all",transition:"width 500ms, max-width 500ms",maxWidth:I,textAlign:c,width:I,overflow:"hidden",alignSelf:(0,L.D)(x,C,"banner"===O?"top"===i?"flex-start":"flex-end":void 0,"bottom"===A?"flex-end":"top"===A?"flex-start":"center"),fontFamily:d?void 0:u,fontWeight:p,color:l,margin:"dialog"===O?10:void 0,borderRadius:"dialog"===O?+r:void 0,boxShadow:h?"".concat(f,"px ").concat(m,"px ").concat(g,"px ").concat(b,"px ").concat(M(v,y)):void 0,["banner"===O?"top"===i?"borderBottom":"borderTop":"border"]:"banner"===O&&D>0?"".concat(D,"px solid ").concat(s):void 0};return"dialog"===O&&"middleCenter"!==n&&(E.margin=o.map((t=>"".concat(t,"px"))).join(" ")),{className:"y"===w?void 0:"rcb-inner",style:E}}(t)),Ut(Yt,null))};var Gt=n(7029).h;const qt=()=>{const t=(0,E.S)(),{customCss:{antiAdBlocker:e,css:n},visible:o,animationVisible:r,activeAction:a,skipOverlay:s,gotHiddenDueLegal:c,pageRequestUuid4:l,individualPrivacyOpen:d}=t,u=S(t),p=o&&!u||!!a;(0,P.G)(e?n:""),(0,P.G)("#".concat(l,", #").concat(l," * {box-sizing: border-box;backface-visibility:initial;text-transform:initial;-webkit-text-size-adjust:100%;}")),function(t){const e=(0,E.S)(),{layout:{overlay:n,overlayBlur:o},pageRequestUuid4:r,animationVisible:a}=e,s=t&&n&&a,c="rcb-overlay-active";(0,i.d4)((()=>{const{dataset:t,style:e,classList:n}=document.body;void 0===t.rcbPreviousOverflow&&(t.rcbPreviousOverflow=e.overflow),e.overflow=s?"hidden":t.rcbPreviousOverflow,document.body.parentElement.style.overflow=e.overflow,s?n.add(c):n.remove(c)}),[s])}(p);const[,h]=(0,i.eJ)(0),f=()=>h(+new Date);if((0,i.bt)((()=>(window.addEventListener("resize",f),()=>window.removeEventListener("resize",f))),[]),(0,i.bt)((()=>{(0,T.s)(1e3)}),[r,d]),c&&(0,i.d4)((()=>{c(u)}),[u]),function(){const t=(0,E.S)(),{consent:e,groups:n,tcf:o,activeAction:r,selectHistoryEntry:a,fetchHistory:s}=t,[c,l]=(0,i.eJ)({consent:e,groups:n,tcf:o});(0,i.d4)((()=>{r||l({consent:e,groups:n,tcf:o})}),[e,n,o,r]),(0,i.d4)((()=>{if("history"===r)l({consent:e,groups:n,tcf:o}),async function(){const t=await s();if(t.length){const[{groups:e,decision:n,tcf:o}]=t;a(e,n,o)}else a([],[])}();else{const{groups:t,consent:{groups:e},tcf:n}=c;null==a||a(t,e,n)}}),[r])}(),function(){const{openBanner:t,openHistory:e,revokeConsent:n}=(0,E.S)();(0,i.d4)((()=>{const o=(o,i,r)=>{if(t)switch(o){case"change":t(r);break;case"history":e(r);break;case"revoke":n(i,r)}},i=e=>{if(!t)return;const n=e.target;(0,N.w)(n,z).concat((0,R.D)(n,z)?[n]:[]).forEach((t=>{o(t.getAttribute("href").slice(9),t.getAttribute("data-success-message"),e)})),(0,R.D)(n,".rcb-sc-link")&&o(n.getAttribute("href").slice(1),n.getAttribute("data-success-message"),e)},r=()=>{const{hash:t}=window.location;t.startsWith("#consent-")&&o(t.substring(9),void 0,void 0)};return window.addEventListener("hashchange",r),document.addEventListener("click",i,!0),()=>{window.removeEventListener("hashchange",r),document.removeEventListener("click",i,!0)}}),[t,e,n])}(),!p)return null;const m=Gt("div",function({layout:{type:t,dialogPosition:e},customCss:{antiAdBlocker:n},mobile:o,pageRequestUuid4:i}){const r={display:"flex",width:"100%",height:"100%"};return"dialog"===(0,L.D)(o,i,t,"banner")&&(r.alignItems=e.startsWith("top")?"flex-start":e.startsWith("bottom")?"flex-end":"center",r.justifyContent=e.endsWith("Center")?"center":e.endsWith("Left")?"flex-start":"flex-end"),{className:"wp-exclude-emoji ".concat("y"===n?"":"rcb-align"),style:r}}(t),Gt(Ft,null));return s?m:Gt("div",(0,B.Z)({id:l},function({layout:{type:t,overlay:e,overlayBg:n,overlayBgAlpha:o},design:{fontSize:i},customCss:{antiAdBlocker:r},mobile:a,pageRequestUuid4:s}){return{className:"y"===r?void 0:"rcb-bann3r rcb-bann3r-".concat((0,L.D)(a,s,t,"banner")," ").concat(e?"":"overlay-deactivated"),style:{background:e?M(n,o):"none",position:"fixed",top:0,left:0,right:0,bottom:0,zIndex:999999,pointerEvents:e?"all":"none",fontSize:(0,L.D)(a,s,+i),filter:"none",maxHeight:"100vh"}}}(t)),m)},Xt={path:"/consent",method:x.O.GET};var jt=n(1100),Vt=n(7029).h;const Jt=({poweredLink:t})=>{const{customizeValuesBanner:{layout:e,decision:n,legal:o,design:p,headerDesign:m,bodyDesign:g,footerDesign:x,texts:B,individualLayout:T,saveButton:P,group:N,individualTexts:R,customCss:z,mobile:L},pageId:H,pageRequestUuid4:W,pageIdToPermalink:M,consentForwardingExternalHosts:_,essentialGroup:Y,isTcf:U,isEPrivacyUSA:F,isAgeNotice:G,isListServicesNotice:q,tcf:X,tcfMetadata:j,groups:V,userConsentCookieName:J,bannerI18n:Z,affiliate:$,isCurrentlyInTranslationEditorPreview:Q,pageByIdUrl:K}=(0,r.u)(),tt=(0,f.h)(J),et=function(t,e,n){return(0,i.Ye)((()=>{}),[t,e,n])}(U,X,j),{toggleOverlay:nt}=function(t){const e=D(),n=(0,i.I4)((({layout:n},o)=>{const{animationInDuration:i,animationOutDuration:r}=n,{useAnimationIn:a,useAnimationOut:s}=e(n),c=o?"none"===a?0:i:"none"===s?0:r;c>0&&(t.style.transition="background ".concat(c,"ms")),t.style.background="transparent",o?(setTimeout((()=>{t.style.display="block"}),0),setTimeout((()=>{const e=t.getAttribute("data-bg");t.style.background=e?e.split(":")[1].trim().replace(";",""):"transparent"}),100)):setTimeout((()=>{t.style.display="none"}),c);const l={animationVisible:o};return o?{visible:!0,...l}:l}),[e]);return{overlay:t,toggleOverlay:n}}(document.getElementById(W)),{openHistory:ot,openBanner:it,revokeConsent:rt,updateTcfFilterBy:at,updateIndividualPrivacyOpen:st,updateGroupChecked:ct,updateCookieChecked:lt,onClose:dt,selectHistoryEntry:ut}=function({toggleOverlay:t,revokeConsent:e}){const n=(e,n)=>e((e=>({...e,activeAction:n,individualPrivacyOpen:!0,refreshSiteAfterSave:"change"===n&&2e3,...t(e,!0)})));return{openHistory:(t,...e)=>{n(t,"history"),I(e[0])},openBanner:(t,...e)=>{n(t,"change"),I(e[0])},revokeConsent:(t,...n)=>{const[o,i]=n;t((t=>(e(t).then((()=>{o&&alert(o),setTimeout((()=>window.location.reload()),2e3)})),t))),I(i)},updateTcfFilterBy:(t,...e)=>{const[n]=e;t((t=>({...t,tcfFilterBy:n})))},updateIndividualPrivacyOpen:(t,...e)=>{const[n]=e;t((t=>({...t,individualPrivacyOpen:n})))},updateGroupChecked:(t,...e)=>{const[n,o]=e;t((t=>{const e=JSON.parse(JSON.stringify(t.consent));return o?e.groups[n]=t.groups.filter((t=>t.id===n))[0].items.map((({id:t})=>t)):delete e.groups[n],{...t,consent:e,didGroupFirstChange:!0}}))},updateCookieChecked:(t,...e)=>{const[n,o,i]=e;t((t=>{const e=JSON.parse(JSON.stringify(t.consent));e.groups[n]||(e.groups[n]=[]);const r=e.groups[n],a=r.indexOf(o);return i&&-1===a?r.push(o):!i&&a>-1&&r.splice(a,1),r.length||delete e.groups[n],{...t,consent:e}}))},onClose:e=>{e((e=>({...e,...t(e,!1),refreshSiteAfterSave:!1})))},selectHistoryEntry:(t,...e)=>{const[n,o,i]=e;t((t=>{const e={isTcf:!!i,tcf:null};return{...t,groups:n,consent:{...t.consent,groups:o},...e}}))}}}({toggleOverlay:nt,revokeConsent:({tcf:t})=>(0,A.$)({consent:{groups:(0,s.b)().getDefaultDecision(!0)},buttonClicked:"shortcode_revoke",tcfString:void 0})}),[pt,ht]=(0,i.eJ)({layout:{...e},decision:{...n},legal:{...o},design:{...p},headerDesign:{...m},bodyDesign:{...g},footerDesign:{...x},texts:{...B},individualLayout:{...T},saveButton:{...P},group:{...N},individualTexts:{...R},customCss:{...z},mobile:{...L},productionNotice:Vt(jt.Z,null),pageRequestUuid4:W,pageIdToPermalink:M,pageByIdUrl:K,consentForwardingExternalHosts:_,pageId:H,isTcf:U,ePrivacyUSA:F,ageNotice:G,listServicesNotice:q,tcf:et,tcfFilterBy:"legInt",groups:V,essentialGroup:Y,poweredLink:t,visible:!1,animationVisible:!0,skipOverlay:!0,previewCheckboxActiveState:!1,individualPrivacyOpen:!1,i18n:Z,keepVariablesInTexts:Q,affiliate:$,consent:{groups:{...!1===tt?{}:tt.consent,...(0,s.b)().getDefaultDecision(!1===tt)}},didGroupFirstChange:!1,onSave:(t,e)=>{ht((n=>{const o=(0,A.$)({consent:n.consent,markAsDoNotTrack:t,buttonClicked:e,tcfString:void 0});return n.refreshSiteAfterSave?(o.then((()=>setTimeout((()=>window.location.reload()),n.refreshSiteAfterSave||2e3))),n):{...n,...nt(n,!1)}}))},fetchHistory:async()=>{const{restNamespace:t,restRoot:e,restQuery:n,restNonce:o}=(0,a.m)(),i=await(0,w.D)({location:Xt,options:{restNamespace:t,restRoot:e,restQuery:n,restNonce:o},cookieValueAsParam:[J],sendRestNonce:!1});return ht((t=>({...t,history:i}))),i},updateTcfFilterBy:t=>at(ht,t),updateIndividualPrivacyOpen:t=>st(ht,t),updateGroupChecked:(t,e)=>ct(ht,t,e),updateCookieChecked:(t,e,n)=>lt(ht,t,e,n),onClose:()=>dt(ht),selectHistoryEntry:(t,e,n)=>ut(ht,t,e,n),openHistory:t=>ot(ht,t),openBanner:t=>it(ht,t),revokeConsent:(t,e)=>rt(ht,t,e)});(function(t,e,n){(0,i.d4)((()=>{if((0,r.u)().customizeIdsBanner)return;const{restNamespace:o,restRoot:i,restQuery:p,restNonce:m,others:{isAcceptAllForBots:g,isPreventPreDecision:x,hasDynamicPreDecisions:A,isRespectDoNotTrack:O}}=(0,a.m)(),{onSave:D}=t;var I,E,B;!async function(t,e){let n=!0;const o=t instanceof c.G?t.getOptions():t,{gateways:i,args:r,onIsDoNotTrack:a,onShowCookieBanner:s}=e;for(const t of i){const e=await t(o,...r);if(!1!==e){n=!1;const t=t=>(0,l.n)({type:t,...o});"all"===e?t("all"):"essentials"===e?t("essentials"):"dnt"===e?a((()=>t("essentials"))):"consent"===e&&t("consent");break}}n&&(s(),await(0,u.C)(),document.dispatchEvent(new CustomEvent(d.I,{detail:{}})))}((0,s.b)(),{gateways:[h,(B=["login-action-"],async()=>{const{className:t}=document.body;return B.filter((e=>t.indexOf(e)>-1)).length>0&&"consent"}),v((()=>{const{clientWidth:t,clientHeight:e}=document.documentElement;return(0,w.D)({location:C,options:{restNamespace:o,restRoot:i,restQuery:p,restNonce:m},sendRestNonce:!1,request:{viewPortWidth:t,viewPortHeight:e},params:{_wp_http_referer:window.location.href}})}),1e4,A),async(t,e)=>!!S(e)&&"consent",(E=x,async({decisionCookieName:t})=>{const e=(0,f.h)(t);return!(!E||!1!==e)&&(b()?"all":"consent")}),(I=!!g&&"all",async({decisionCookieName:t})=>!(!1!==(0,f.h)(t)||!I)&&!!b()&&I),y(O),k],args:[t],onIsDoNotTrack:()=>{D(!0,"none")},onShowCookieBanner:()=>e((t=>({...t,consent:{groups:(0,s.b)().getDefaultDecision()},...n(t,!0)})))})}),[])})(pt,ht,nt),function(t,e){(0,i.d4)((()=>{const n=()=>{const n=(0,f.h)(e);n&&t((t=>({...t,consent:{groups:n.consent}})))};return document.addEventListener(O.V,n),()=>{document.removeEventListener(O.V,n)}}),[])}(ht,J);const ft=E.k.Context();return Vt(ft.Provider,{value:pt},Vt(qt,null))};var Zt=n(6346),$t=n(3102),Qt=n(9575);async function Kt(t,e=500,n=0){let o=0;for(;!t();){if(n>0&&o>=n)return;await new Promise((t=>setTimeout(t,e))),o++}return t()}let te=0;const ee={path:"/consent/clear",method:x.O.DELETE};var ne=n(9302),oe=n(1456),ie=n(1829);function re(t,e,n){const o=[],{groups:i,revisionHash:a}=(0,r.u)(),s=i.map((({items:t})=>t)).flat();for(const i of s)if("number"==typeof t)i.id===t&&o.push({cookie:i,relevance:10});else{const{technicalDefinitions:r}=i;if(null!=r&&r.length)for(const a of r){const s=(0,ie.L)(a.name);if(a.type===t&&(a.name===e||e.match(s))&&(a.host===n||"*"===n)){o.push({cookie:i,relevance:r.length+r.indexOf(a)+1});break}}}const c=(0,f.h)((0,r.u)().userConsentCookieName);if(o.length){const t=o.sort((({relevance:t},{relevance:e})=>t-e))[0].cookie;return c&&a===c.revision?Object.values(c.consent).flat().indexOf(t.id)>-1?{cookie:t,consentGiven:!0,cookieOptIn:!0}:{cookie:t,consentGiven:!0,cookieOptIn:!1}:{cookie:t,consentGiven:!1,cookieOptIn:!1}}return{cookie:null,consentGiven:!!c,cookieOptIn:!0}}function ae(...t){return new Promise(((e,n)=>{const{cookie:o,consentGiven:i,cookieOptIn:r}=re(...t);o?i?r?e():n():(document.addEventListener(Qt.g,(async({detail:{service:t}})=>{t===o&&e()})),document.addEventListener(oe.E,(async({detail:{service:t}})=>{t===o&&n()}))):e()}))}function se(t){return Promise.all(t.map((t=>ae(...t))))}var ce=n(4312),le=n(5447),de=n(5672),ue=n(7029).h;n.p=(0,ce.sE)("real-cookie-banner"),document.addEventListener(Qt.g,(async({detail:{service:{presetId:t,codeOptIn:e,codeDynamics:n}}})=>{switch(t){case"amazon-associates-widget":{const{amznAssoWidgetHtmlId:t}=n||{};if(t){const o=document.getElementById(t);if(o){const t=te;te++,(0,Zt.K)(e,n,o);const i=await Kt((()=>document.querySelector('[id^="amzn_assoc_ad_div_"][id$="'.concat(t,'"]'))),500,50);i&&o.appendChild(i)}}break}case"google-maps":document.addEventListener($t.T,(async({detail:{element:t}})=>{const{et_pb_map_init:e,jQuery:n}=window;n&&t.matches(".et_pb_map")&&e&&(await Kt((()=>window.google)),e(n(t).parent()))}))}})),function(){const t=(0,r.u)(),{isTcf:e}=t}(),(0,u.C)((()=>{const{pageRequestUuid4:t}=(0,r.u)(),e=(0,de.U)("".concat(t,"-powered-by")),n=function(t){const{body:e}=document,{parentElement:n}=t;return n!==e&&e.appendChild(t),t}(document.getElementById(t));!function(t,e){const n=Array.prototype.slice.call(document.querySelectorAll(".rcb-consent-history-uuids"));document.addEventListener(d.I,(()=>{n.forEach((t=>t.innerHTML=t.getAttribute("data-fallback")))})),document.addEventListener(O.V,(()=>{const t=(0,f.h)(e instanceof c.G?e.getOption("decisionCookieName"):e),o=t?[t.uuid,...t.previousUuids]:[];n.forEach((t=>t.innerHTML=o.length>0?o.join(", "):t.getAttribute("data-fallback")))}))}(0,(0,s.b)()),document.addEventListener(le.C,(async({detail:{deleteHttpCookies:t}})=>{t.length&&setTimeout((()=>function(t){const{restNamespace:e,restRoot:n,restQuery:o,restNonce:i}=(0,a.m)();return(0,w.D)({location:ee,options:{restNamespace:e,restRoot:n,restQuery:o,restNonce:i},sendRestNonce:!1,params:{cookies:t.join(",")}})}(t)),0)})),n&&(0,i.sY)(ue(Jt,{poweredLink:e}),n)}),"interactive"),window&&(window.consentApi=o)},1100:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});var o=n(3438),i=n(7029).h;const r=()=>{const{isPro:t,isLicensed:e,isDevLicense:n,bannerI18n:{noLicense:r,devLicense:a}}=(0,o.u)();if(!t)return null;let s="";return n?s=a:e||(s=r),s?i("div",{style:{fontSize:13,color:"#c95252",fontWeight:"bold",order:9}},s):null}},6423:(t,e,n)=>{"use strict";n.d(e,{$:()=>l});const o={path:"/consent",method:n(6811).O.POST};var i=n(625),r=n(3438);function a({endpoints:t,data:e}){const{isPro:n}=(0,r.u)();if(n){const n=[];for(const o of t)n.push(window.fetch(o,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(e)}));return Promise.all(n)}return Promise.reject()}var s=n(6886),c=n(3075);async function l({consent:t,markAsDoNotTrack:e=!1,buttonClicked:n,blocker:r=0,blockerThumbnail:l,tcfString:d}){const{clientWidth:u,clientHeight:p}=document.documentElement,{restNamespace:h,restRoot:f,restQuery:m,restNonce:g}=(0,i.m)(),{forward:b,uuid:v,cookie_revision:y,decision_in_cookie:k}=await(0,c.D)({location:o,options:{restNamespace:h,restRoot:f,restQuery:m,restNonce:g},sendRestNonce:!1,request:{...t,markAsDoNotTrack:e,buttonClicked:n,viewPortWidth:u,viewPortHeight:p,blocker:r,blockerThumbnail:l,tcfString:d},params:{_wp_http_referer:window.location.href}});window.rcbDisabledCookieComp={uuid:v,previousUuids:[],revision:y,consent:k},await Promise.all([b&&a(b),(0,s.b)().applyCookies({type:"consent"})].filter(Boolean))}},6886:(t,e,n)=>{"use strict";n.d(e,{b:()=>s});var o=n(8218),i=n(625);function r(t){const e=(0,i.m)().version.split(".");return+("major"===t?e[0]:e.map((t=>+t<10?"0".concat(t):t)).join(""))}var a=n(3438);function s(){const{userConsentCookieName:t,revisionHash:e,setCookiesViaManager:n,groups:i,essentialGroup:s}=(0,a.u)();return window.rcbConsentManager||(window.rcbConsentManager=new o.G({decisionCookieName:t,essentialGroupSlug:s,groups:i,revisionHash:e,supportsCookiesName:"real_cookie_banner-test",tagManager:n,skipOptIn:function(t){const{presetId:e}=t;return["amazon-associates-widget"].indexOf(e)>-1},cmpId:367,cmpVersion:r("major"),tcfCookieName:"".concat(t,"-tcf")})),window.rcbConsentManager}},625:(t,e,n)=>{"use strict";function o(){return window["real-cookie-banner".replace(/-([a-z])/g,(t=>t[1].toUpperCase()))]}n.d(e,{m:()=>o})},3438:(t,e,n)=>{"use strict";n.d(e,{u:()=>i});var o=n(625);function i(){return(0,o.m)().others}},3428:t=>{"use strict";t.exports="/*! Hint.css - v2.7.0 - 2021-10-01\n* https://kushagra.dev/lab/hint/\n* Copyright (c) 2021 Kushagra Gour */\n\n[class*=hint--]{position:relative;display:inline-block}[class*=hint--]:after,[class*=hint--]:before{position:absolute;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;-webkit-transition:.3s ease;-moz-transition:.3s ease;transition:.3s ease;-webkit-transition-delay:0s;-moz-transition-delay:0s;transition-delay:0s}[class*=hint--]:hover:after,[class*=hint--]:hover:before{visibility:visible;opacity:1;-webkit-transition-delay:.1s;-moz-transition-delay:.1s;transition-delay:.1s}[class*=hint--]:before{content:'';position:absolute;background:0 0;border:6px solid transparent;z-index:1000001}[class*=hint--]:after{background:#383838;color:#fff;padding:8px 10px;font-size:12px;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;line-height:12px;white-space:nowrap;text-shadow:0 -1px 0 #000;box-shadow:4px 4px 8px rgba(0,0,0,.3)}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label='']:after,[aria-label='']:before,[data-hint='']:after,[data-hint='']:before{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#383838}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#383838}.hint--top:after,.hint--top:before{bottom:100%;left:50%}.hint--top:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}.hint--top:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--top:hover:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}.hint--bottom:after,.hint--bottom:before{top:100%;left:50%}.hint--bottom:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}.hint--bottom:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--bottom:hover:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}.hint--right:before{border-right-color:#383838;margin-left:-11px;margin-bottom:-6px}.hint--right:after{margin-bottom:-14px}.hint--right:after,.hint--right:before{left:100%;bottom:50%}.hint--right:hover:after,.hint--right:hover:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--left:before{border-left-color:#383838;margin-right:-11px;margin-bottom:-6px}.hint--left:after{margin-bottom:-14px}.hint--left:after,.hint--left:before{right:100%;bottom:50%}.hint--left:hover:after,.hint--left:hover:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--top-left:after,.hint--top-left:before{bottom:100%;left:50%}.hint--top-left:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}.hint--top-left:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--top-left:hover:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}.hint--top-right:after,.hint--top-right:before{bottom:100%;left:50%}.hint--top-right:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}.hint--top-right:hover:after,.hint--top-right:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--bottom-left:after,.hint--bottom-left:before{top:100%;left:50%}.hint--bottom-left:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}.hint--bottom-left:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--bottom-left:hover:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}.hint--bottom-right:after,.hint--bottom-right:before{top:100%;left:50%}.hint--bottom-right:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}.hint--bottom-right:hover:after,.hint--bottom-right:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--large:after,.hint--medium:after,.hint--small:after{white-space:normal;line-height:1.4em;word-wrap:break-word}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}.hint--error:after{background-color:#b34e4d;text-shadow:0 -1px 0 #592726}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{background-color:#c09854;text-shadow:0 -1px 0 #6c5328}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{background-color:#3986ac;text-shadow:0 -1px 0 #1a3c4d}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{background-color:#458746;text-shadow:0 -1px 0 #1a321a}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--top:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}.hint--always.hint--top-left:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--top-left:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}.hint--always.hint--top-right:after,.hint--always.hint--top-right:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--bottom:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--bottom:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}.hint--always.hint--bottom-left:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--bottom-left:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}.hint--always.hint--bottom-right:after,.hint--always.hint--bottom-right:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--left:after,.hint--always.hint--left:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--always.hint--right:after,.hint--always.hint--right:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:after,.hint--no-animate:before{-webkit-transition-duration:0s;-moz-transition-duration:0s;transition-duration:0s}.hint--bounce:after,.hint--bounce:before{-webkit-transition:opacity .3s ease,visibility .3s ease,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s ease,visibility .3s ease,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s ease,visibility .3s ease,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:after,.hint--no-shadow:before{text-shadow:initial;box-shadow:initial}.hint--no-arrow:before{display:none}"}},n={};function o(t){var i=n[t];if(void 0!==i)return i.exports;var r=n[t]={exports:{}};return e[t].call(r.exports,r,r.exports,o),r.exports}o.m=e,t=[],o.O=(e,n,i,r)=>{if(!n){var a=1/0;for(d=0;d<t.length;d++){for(var[n,i,r]=t[d],s=!0,c=0;c<n.length;c++)(!1&r||a>=r)&&Object.keys(o.O).every((t=>o.O[t](n[c])))?n.splice(c--,1):(s=!1,r<a&&(a=r));if(s){t.splice(d--,1);var l=i();void 0!==l&&(e=l)}}return e}r=r||0;for(var d=t.length;d>0&&t[d-1][2]>r;d--)t[d]=t[d-1];t[d]=[n,i,r]},o.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return o.d(e,{a:e}),e},o.d=(t,e)=>{for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{var t;o.g.importScripts&&(t=o.g.location+"");var e=o.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");n.length&&(t=n[n.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=t})(),(()=>{var t={392:0};o.O.j=e=>0===t[e];var e=(e,n)=>{var i,r,[a,s,c]=n,l=0;if(a.some((e=>0!==t[e]))){for(i in s)o.o(s,i)&&(o.m[i]=s[i]);if(c)var d=c(o)}for(e&&e(n);l<a.length;l++)r=a[l],o.o(t,r)&&t[r]&&t[r][0](),t[a[l]]=0;return o.O(d)},n=self.webpackChunkrealCookieBanner_name_=self.webpackChunkrealCookieBanner_name_||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))})();var i=o.O(void 0,[568],(()=>o(9181)));i=o.O(i),realCookieBanner_banner=i})();
2
  //# sourceMappingURL=banner.lite.js.map
1
+ var realCookieBanner_banner;(()=>{var t,e={8556:t=>{t.exports={}},9382:(t,e,n)=>{"use strict";n.d(e,{n:()=>g});var o=n(6346),i=n(7169);function r(t,e){let n,o,i,r=!1,a="";if(t&&"none"!==t){const s="googleTagManager"===t,c="matomoTagManager"===t;s?(i="gtm",n="dataLayer",a="Google Tag Manager"):c&&(i="mtm",n="_mtm",a="Matomo Tag Manager"),(s||c)&&(o=()=>(window[n]=window[n]||[],window[n])),i&&e===i&&(r=!0)}return{getDataLayer:o,serviceIsManager:r,managerLabel:a,expectedManagerPresetId:i}}function a({decisionCookieName:t,tagManager:e,groups:n,essentialGroupSlug:o,type:a}){let s;const c=e&&"none"!==e,[l]=n.filter((({slug:t})=>t===o)),d={[l.id]:l.items.map((({id:t})=>t))};if("consent"===a){const e=(0,i.h)(t);!1!==e?s=e.consent:(console.warn("Something went wrong while reading the cookie, fallback to essentials only..."),s=d)}return"essentials"===a&&(s=d),{isManagerActive:c,selectedGroups:s,iterateServices:async function(t){for(const i of n)for(const n of i.items){var o;const c="all"===a||(null===(o=s[i.id])||void 0===o?void 0:o.indexOf(n.id))>-1,l=r(e,n.presetId);await t(i,n,c,l)}}}}var s=n(9575),c=n(1456),l=n(8542),d=n.n(l),u=n(2891),p=n(1829);var h=n(7563),f=n(5447),m=n(6028);async function g(t){await(0,m.C)();const{dataLayerPromise:e,isManagerOptOut:n,services:i,ready:r}=await async function(t){const e=[],{isManagerActive:n,iterateServices:i}=a(t),{skipOptIn:r}=t;let c=Promise.resolve(void 0);const l=[];return await i((async(t,i,a,{getDataLayer:c,serviceIsManager:d})=>{const{codeDynamics:u,codeOptIn:p,executeCodeOptInWhenNoTagManagerConsentIsGiven:h}=i;if(a){const a=n&&h,c="function"==typeof r&&r(i);a||c||l.push((0,o.K)(p,u));const d={group:t,service:i};document.dispatchEvent(new CustomEvent(s.g,{detail:d})),e.push(d)}})),{isManagerOptOut:!1,dataLayerPromise:c,services:e,ready:Promise.all(l)}}(t),{ready:l}=await async function(t,e,n){const i=[],{isManagerActive:r,iterateServices:s}=a(t);return e?(s(((t,n,o,{serviceIsManager:i})=>{const r=n.tagManagerOptInEventName;o&&r&&!i&&e.push({realCookieBannerOptInEvents:{[r]:!0},event:r})})),setTimeout((()=>s(((t,n,o,{serviceIsManager:i})=>{const r=n.tagManagerOptOutEventName;o||!r||i||e.push({realCookieBannerOptOutEvents:{[r]:!0},event:r})}))),1e3)):r&&n&&await s((async(t,{codeDynamics:e,codeOptIn:n,executeCodeOptInWhenNoTagManagerConsentIsGiven:r},a)=>{a&&r&&i.push((0,o.K)(n,e))})),{ready:Promise.all(i)}}(t,await e,n),g=Promise.all([r,l]);document.dispatchEvent(new CustomEvent(h.V,{detail:{services:i,ready:g}}));const{deleteHttpCookies:b,services:v,ready:y}=await async function(t,e){const n=[],{isManagerActive:i,iterateServices:r}=a(t),s=[],l=[];return await r((async(t,r,a)=>{const{id:h,codeDynamics:f,codeOptOut:m,deleteTechnicalDefinitionsAfterOptOut:g,isEmbeddingOnlyExternalResources:b,technicalDefinitions:v,executeCodeOptOutWhenNoTagManagerConsentIsGiven:y}=r;if(!a){const a=i&&y;(a&&e||!a)&&s.push((0,o.K)(m,f)),g&&!b&&(function(t,e){for(const{type:n,name:o}of t){const t=new RegExp((0,p.L)((0,u.c)(o,e)),"g");switch(n){case"http":for(const e of Object.keys(d().get()))t.test(e)&&d().remove(e);break;case"local":case"session":try{const e="local"===n?window.localStorage:window.sessionStorage;if(e)for(const n of Object.keys(e))if(t.test(n)){try{e.setItem(n,null)}catch(t){}let t=0;for(;e.getItem(n)&&t<100;)t++,e.removeItem(n)}}catch(t){continue}}}}(v,f),v.some((({type:t})=>"http"===t))&&l.push(h));const k={group:t,service:r};document.dispatchEvent(new CustomEvent(c.E,{detail:k})),n.push(k)}})),{services:n,ready:Promise.all(s),deleteHttpCookies:l}}(t,n);document.dispatchEvent(new CustomEvent(f.C,{detail:{services:v,deleteHttpCookies:b,ready:Promise.all([g,y])}}))}},8218:(t,e,n)=>{"use strict";n.d(e,{G:()=>r});var o=n(9382),i=n(7169);class r{constructor(t){this.options=void 0,this.options=t}applyCookies(t){return(0,o.n)({...t,...this.options})}getUserDecision(){return(0,i.h)(this.getOption("decisionCookieName"))}getDefaultDecision(t=!0){return function({groups:t,essentialGroupSlug:e},n=!0){const[o]=t.filter((({slug:t})=>t===e)),i={[o.id]:o.items.map((({id:t})=>t))};if(n)for(const e of t){if(e===o)continue;const t=e.items.filter((({legalBasis:t})=>"legitimate-interest"===t)).map((({id:t})=>t));t.length&&(i[e.id]=t)}return i}(this.options,t)}getOption(t){return this.options[t]}getOptions(){return this.options}}},7169:(t,e,n)=>{"use strict";n.d(e,{h:()=>a});var o=n(4001),i=n(8542),r=n.n(i);function a(t){const e=r().get(t);if(!e)return!(0,o.E)()&&(window.rcbDisabledCookieComp||!1);const n=function(t,e,n){const o=t.split(":");if(o.length<=3)return o;const i=o.slice(0,2);return i.push(o.slice(2).join(":")),i}(e);if(3!==n.length)return!1;const[i,a]=n,s=i.split(",");return{uuid:s.shift(),previousUuids:s,revision:a,consent:JSON.parse(n[2])}}},7766:(t,e,n)=>{"use strict";n.d(e,{I:()=>o});const o="RCB/Banner/Show"},9575:(t,e,n)=>{"use strict";n.d(e,{g:()=>o});const o="RCB/OptIn"},7563:(t,e,n)=>{"use strict";n.d(e,{V:()=>o});const o="RCB/OptIn/All"},1456:(t,e,n)=>{"use strict";n.d(e,{E:()=>o});const o="RCB/OptOut"},5447:(t,e,n)=>{"use strict";n.d(e,{C:()=>o});const o="RCB/OptOut/All"},6028:(t,e,n)=>{"use strict";n.d(e,{C:()=>a});const o=()=>{let t;return[!1,new Promise((e=>t=e)),t]},i={loading:o(),complete:o(),interactive:o()},r=["readystatechange","rocket-readystatechange","DOMContentLoaded","rocket-DOMContentLoaded","rocket-allScriptsLoaded"],a=(t,e="complete")=>new Promise((n=>{let o=!1;const a=()=>{(()=>{const{readyState:t}=document,[e,,n]=i[t];if(!e){i[t][0]=!0,n();const[e,,o]=i.interactive;"complete"!==t||e||(i.interactive[0]=!0,o())}})(),!o&&i[e][0]&&(o=!0,null==t||t(),setTimeout(n,0))};a();for(const t of r)document.addEventListener(t,a);i[e][1].then(a)}))},1829:(t,e,n)=>{"use strict";function o(t){const e=t.replace(/\*/g,"PLEACE_REPLACE_ME_AGAIN");return"^".concat((n=e,n.replace(new RegExp("[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\".concat("","-]"),"g"),"\\$&")).replace(/PLEACE_REPLACE_ME_AGAIN/g,"(.*)"),"$");var n}n.d(e,{L:()=>o})},4001:(t,e,n)=>{"use strict";n.d(e,{E:()=>r});var o=n(8542),i=n.n(o);function r(t="test"){try{const e={sameSite:"Lax"};i().set(t,"1",e);const n=-1!==document.cookie.indexOf("".concat(t,"="));return i().remove(t,e),n}catch(t){return!1}}},2891:(t,e,n)=>{"use strict";n.d(e,{c:()=>i});const o=/{{([A-Za-z0-9_]+)}}/gm;function i(t,e){return t.replace(o,((t,n)=>Object.prototype.hasOwnProperty.call(e,n)?e[n]:t))}},4548:(t,e,n)=>{"use strict";n.d(e,{jb:()=>o,zm:()=>i,rG:()=>r,d3:()=>a,_W:()=>s,NY:()=>c,He:()=>l,i7:()=>d,Ng:()=>u,CT:()=>p,v4:()=>h,YO:()=>f,Gn:()=>m,Ti:()=>g,Ks:()=>b,dW:()=>v,Kh:()=>y,Wm:()=>k,Qt:()=>w,of:()=>x,fq:()=>C,WK:()=>S,jk:()=>A,Kx:()=>O});const o="consent-original",i="consent-click-original",r="_",a="consent-by",s="consent-required",c="consent-visual-use-parent",l="consent-visual-paint-mode",d="consent-inline",u="consent-inline-style",p="consent-id",h="script",f="consent-blocker-connected",m="consent-blocker-connected-pres",g="consent-transaction-complete",b="consent-transform-wrapper",v="1",y="consent-strict-hidden",k="consent-cb-reset-parent",w="1",x="consent-cb-reset-parent-is-ratio",C="consent-got-clicked",S="1",A="2",O="consent-thumbnail"},6346:(t,e,n)=>{"use strict";n.d(e,{L:()=>s,K:()=>c});var o=n(9749),i=n.n(o),r=n(2891),a=n(7033);const s="rcbInitiatorOnload";function c(t,e,n=document.body){return new Promise((o=>{t?i()(n,(0,r.c)(t,e),{done:o,error:t=>{console.error(t)},beforeWriteToken:t=>{const{attrs:e,booleanAttrs:n,src:o,href:i,content:r}=t;if(null!=n&&n["skip-write"])return!1;r&&(t.content=r.replace(/window\.onload\s+=/g,"window.".concat(s," =")));for(const t in e)if(e[t]=(0,a.l)(e[t]),"unique-write-name"===t&&document.querySelector('[unique-write-name="'.concat(e[t],'"]')))return!1;return o&&(t.src=(0,a.l)(o)),i&&(t.href=(0,a.l)(i)),t}}):o()}))}},3102:(t,e,n)=>{"use strict";n.d(e,{T:()=>o});const o="RCB/OptIn/ContentBlocker"},3743:(t,e,n)=>{"use strict";function o(t=0){setTimeout((()=>{try{window.dispatchEvent(new Event("resize"))}catch(t){}}),t)}n.d(e,{s:()=>o})},7033:(t,e,n)=>{"use strict";n.d(e,{l:()=>i});var o=n(3137);function i(t){var e;return(0,o.C)(t)?null===(e=(new DOMParser).parseFromString('<a href="'.concat(t,'"></a>'),"text/html").querySelector("a"))||void 0===e?void 0:e.href:(new DOMParser).parseFromString(t,"text/html").documentElement.textContent}},3137:(t,e,n)=>{"use strict";function o(t){return!!/^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/.test(t)}n.d(e,{C:()=>o})},9586:(t,e,n)=>{"use strict";n.d(e,{w:()=>i});var o=n(7932);function i(t,e){const n=[];let i=t.parentElement;for(;null!==i;)i.nodeType===Node.ELEMENT_NODE&&(0,o.D)(i,e)&&n.push(i),i=i.parentElement;return n}},4902:(t,e,n)=>{"use strict";n.d(e,{X:()=>r});var o=n(5213),i=n(7029).h;const r=({ms:t=100,chars:e=["&#9719;","&#9718;","&#9717;","&#9716;"]})=>{const[n,r]=(0,o.eJ)(1);return(0,o.d4)((()=>{const e=setInterval((()=>{r(n+1)}),t);return()=>clearInterval(e)}),[n]),i("span",{dangerouslySetInnerHTML:{__html:e[n%4]}})}},8559:(t,e,n)=>{"use strict";n.d(e,{P:()=>h});var o=n(4741),i=n(5213),r=n(2087),a=n(1680),s=n(7029).h;const c=({icon:t,...e})=>{const n=(0,i.Ye)((()=>(0,a.x)(t,{extraSVGAttrs:{style:"width:auto;height:100%;",fill:"currentColor"}})),[t]);return s("div",(0,o.Z)({},e,{dangerouslySetInnerHTML:{__html:n}}))};var l=n(4769),d=n(3282),u=n(8982),p=n(7029).h;const h=({hideCheckbox:t,isPartial:e,isChecked:n,isDisabled:a,fontSize:s,onClick:h,children:f,after:m,...g})=>{const b=e?l.Z:d.Z,v=(0,u.w)(),[y,k]=(0,i.eJ)(!1);return(0,i.bt)((()=>{k(!0)}),[]),p(i.HY,null,!t&&p(c,(0,o.Z)({icon:b,onClick:h},function({layout:{borderRadius:t},group:{headlineFontSize:e,checkboxBg:n,checkboxBorderWidth:o,checkboxBorderColor:i,checkboxActiveBg:a,checkboxActiveBorderColor:s,checkboxActiveColor:c},customCss:{antiAdBlocker:l},mobile:d,pageRequestUuid4:u},p,h,f,m){let g=m||e;g=u?(0,r.D)(d,u,g):g;const b=u?(0,r.D)(d,u,+o):+o,v=+g+2*b+6;return{className:"y"===l?void 0:"rcb-checkbox",style:{cursor:f?"not-allowed":"pointer",opacity:f?.5:void 0,color:h?c:n,display:p?"inline-block":"none",background:h?a:n,border:"".concat(b,"px solid ").concat(h?s:i),padding:3,height:v,width:v,marginRight:10,borderRadius:+t,verticalAlign:"middle",lineHeight:0,boxSizing:"border-box"}}}(v,y,n,a,s),g)),f&&p("span",{style:{verticalAlign:"middle",cursor:"pointer"}},p("span",{onClick:h},f),m))}},229:(t,e,n)=>{"use strict";n.d(e,{V:()=>g});var o=n(4741),i=n(8982),r=n(8559),a=n(5213),s=n(3137),c=n(2121),l=n(2087),d=n(7029).h;const u=({label:t,value:e,children:n,printValueAs:r})=>{const a=(0,i.w)(),{i18n:{yes:u,no:p}}=a;let h="string"==typeof e&&(0,s.C)(e)?d("a",{href:e,style:{wordBreak:"break-all",...(0,c.c)(a,!1).style},target:"_blank",rel:"noopener noreferrer"},e):"string"==typeof e?d("span",{dangerouslySetInnerHTML:{__html:e}}):e;return"boolean"===r&&(h=h?u:p),d("div",(0,o.Z)({key:t},function({group:{groupBorderWidth:t,groupBorderColor:e},customCss:{antiAdBlocker:n},mobile:o,pageRequestUuid4:i}){return{className:"y"===n?void 0:"rcb-cookie-prop",style:{borderLeft:(i?(0,l.D)(o,i,t):t)>0?"1px solid ".concat(e):void 0,paddingLeft:15}}}(a)),t&&d("strong",null,t,": "),h,!!n&&d("div",null,n))};var p=n(2891),h=n(7029).h;const f=({cookie:{purpose:t,provider:e,providerPrivacyPolicyUrl:n,legalBasis:o,ePrivacyUSA:r,isEmbeddingOnlyExternalResources:s,technicalDefinitions:c,codeDynamics:l},isEssentialGroup:d})=>{const{i18n:f,ePrivacyUSA:m}=(0,i.w)(),g={http:{name:"HTTP Cookie",abbr:"HTTP",backgroundColor:"black"},local:{name:"Local Storage",abbr:"Local",backgroundColor:"#b3983c"},session:{name:"Session Storage",abbr:"Session",backgroundColor:"#3c99b3"},flash:{name:"Flash Local Shared Object",abbr:"Flash",backgroundColor:"#b33c3c"},indexedDb:{name:"IndexedDB",abbr:"I-DB",backgroundColor:"#4ab33c"}};return h(a.HY,null,!!t&&h(u,{label:f.purpose,value:t}),h(u,{label:f.legalBasis,value:"legal-requirement"===o?f.legalRequirement:"legitimate-interest"===o||d?f.legitimateInterest:f.consent}),h(u,{label:f.provider,value:e}),!!n&&h(u,{label:f.providerPrivacyPolicyUrl,value:n}),!!m&&h(u,{label:f.ePrivacyUSA,value:r,printValueAs:"boolean"}),!s&&c.map((({type:t,name:e,host:n,duration:o,durationUnit:i,isSessionDuration:r,purpose:a})=>h(u,{key:e,label:f.technicalCookieDefinition,value:h("span",{style:{fontFamily:"monospace"}},(0,p.c)(e,l))},h(u,{label:f.type,value:g[t].name}),!!a&&h(u,{label:f.purpose,value:a}),!!n&&h(u,{label:f.host,value:h("span",{style:{fontFamily:"monospace"}},n)}),h(u,{label:f.duration,value:["local","indexedDb","flash"].indexOf(t)>-1?f.noExpiration:r||"session"===t?"Session":"".concat(o," ").concat(f.durationUnit[i])})))))};var m=n(7029).h;const g=({cookie:t,checked:e,disabled:n,onToggleCheck:a,propertyListProps:s={}})=>{const{name:c}=t,l=(0,i.w)(),{group:{descriptionFontSize:d}}=l;return m("div",function({customCss:{antiAdBlocker:t}}){return{className:"y"===t?void 0:"rcb-cookie",style:{marginTop:10}}}(l),m("div",{style:{marginBottom:10}},m(r.P,{isChecked:e,isDisabled:n,fontSize:d,onClick:a},m("strong",null,c))),m(f,(0,o.Z)({cookie:t},s)))}},8523:(t,e,n)=>{"use strict";n.d(e,{u:()=>c});var o=n(4741),i=n(5213),r=n(3428),a=n(9707),s=n(7029).h;const c=(0,i.Gp)((({children:t,className:e,title:n,position:i="top",color:c,size:l="large",always:d,rounded:u,noAnimate:p,bounce:h,...f},m)=>((0,a.G)(r,"hint-css",!0),s("div",(0,o.Z)({style:{position:"relative",display:"inline"},ref:m,"aria-label":n,className:"hint--".concat(i," hint--").concat(l," ").concat(c?"hint--".concat(c):""," ").concat(d?"hint--always":""," ").concat(u?"hint--rounded":""," ").concat(p?"hint--no-animate":""," ").concat(h?"hint--bounce":""," ").concat(e||"")},f),t))))},4766:(t,e,n)=>{"use strict";n.d(e,{k:()=>i,S:()=>r});var o=n(5213);class i{static Context(){return this.context=this.context||(0,o.kr)({})}}function r(){return(0,o.qp)(i.Context())}i.context=void 0},1347:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i,_:()=>r});var o=n(5213);class i{static Context(){return this.context=this.context||(0,o.kr)({})}}function r(){return(0,o.qp)(i.Context())}i.context=void 0},6092:(t,e,n)=>{"use strict";n.d(e,{g:()=>g});var o=n(4741),i=n(5213),r=n(8982),a=n(3258),s=n(2087),c=n(7029).h;const l=({children:t,...e})=>{const n=(0,r.w)(),[a,l]=(0,i.eJ)(!1);return c("a",(0,o.Z)({onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1)},function({footerDesign:{fontSize:t,fontColor:e,hoverFontColor:n,fontInheritFamily:o,fontFamily:i},design:{linkTextDecoration:r},customCss:{antiAdBlocker:a},mobile:c,pageRequestUuid4:l},d=!1){return{className:"y"===a?void 0:"rcb-footer-link",style:{textDecoration:r,fontSize:l?(0,s.D)(c,l,+t):+t,color:d?n:e,fontFamily:o?void 0:i,padding:"0 5px"}}}(n,a),e),t)};var d=n(8523),u=n(7029).h;const p=({poweredLink:t,affiliate:e})=>u(l,{href:e?e.link:t.href,target:t.target,key:"powered-by"},u("span",{dangerouslySetInnerHTML:{__html:t.innerHTML}}),e&&u(d.u,{title:e.description,position:"top-left"}," ",e.labelBehind));var h=n(7029).h;function f(t,e){const n=t.filter(Boolean);return 0===n.length?null:n.reduce(((t,n,o)=>t.length?[...t,h(i.HY,{key:o},e),n]:[n]),[])}var m=n(7029).h;function g({onClose:t,putPoweredByLinkInRow:e,row1:n}={}){const{i18n:{close:s},footerDesign:{poweredByLink:c,linkTarget:d},poweredLink:u,affiliate:h}=(0,r.w)(),{linkPrivacyPolicy:g,linkImprint:b}=(0,a.p)(),v="_blank"===d?{target:"_blank",rel:"noopener"}:{},y=[[t&&m(l,{href:"#",onClick:t,key:"close"},m("strong",null,s)),...n||[],g&&m(l,(0,o.Z)({href:g.url},v,{key:"privacyPolicy"}),g.label),b&&m(l,(0,o.Z)({href:b.url},v,{key:"imprint"}),b.label)].filter(Boolean),[]];u&&c&&y[e||0].push(m(p,{key:"poweredBy",poweredLink:u,affiliate:h}));const k=(0,i.I4)((t=>f(t.map((t=>t.length?m(i.HY,{key:t[0].key},f(t,m(i.HY,null," • "))):null)),m("br",null))),[]);return{rows:y,render:k}}},6268:(t,e,n)=>{"use strict";n.d(e,{k:()=>s});var o=n(8982),i=n(3258);function r(t,e){return t.length>1&&t.splice(t.length-1,0,"{{andSeparator}}"),t.join(", ").replace(/,\s+{{andSeparator}},\s+/g,e)}const a='<sup style="vertical-align:top;line-height:100%;position:initial;">';function s({disableDataProcessingInUnsafeCountries:t,disableAgeNotice:e,disableListServicesNotice:n}={}){const{blocker:s,groups:c,ePrivacyUSA:l,ageNotice:d,listServicesNotice:u,texts:{description:p,ePrivacyUSA:h,ageNoticeBanner:f,listServicesNotice:m,consentForwardingExternalHosts:g},tcf:b,consentForwardingExternalHosts:v,individualPrivacyOpen:y,individualTexts:{description:k},essentialGroup:w,i18n:{andSeparator:x,tcf:C},keepVariablesInTexts:S}=(0,o.w)(),{linkPrivacyPolicy:A}=(0,i.p)();let O="";v&&!S&&(O=g.replace(/{{websites}}/g,v.join(", ")));let D=[s?s.description:y?k:p,O].filter(Boolean).join(" ");S||(D=D.replace(/{{privacyPolicy}}(.*){{\/privacyPolicy}}/g,A?'<a href="'.concat(A.url,'" style="text-decoration:underline;color:inherit;" onmouseenter="this.style.textDecoration=\'none\'" onmouseleave="this.style.textDecoration=\'underline\'" target="_blank">$1</a>'):"$1"));const I=c.map((({items:t})=>t.filter((({ePrivacyUSA:t})=>t)))).flat(),E=b?Object.values(b.gvl.vendors).filter((t=>{var e;return(null===(e=t.additionalInformation)||void 0===e?void 0:e.internationalTransfers)||1===b.original.vendorConfigurations[t.id].ePrivacyUSA})):[];let B=!t&&(I.length>0||E.length>0)&&l?h:"";const T=d&&!e?f:"";let P="";if(u&&!n){const t=m.indexOf("{{services}}")>-1&&m.indexOf("{{serviceGroups}}")>-1,e=c.filter((({slug:t})=>t!==w)),n="~;~",o=r(e.map((({items:e},o)=>e.map((({name:e,ePrivacyUSA:n})=>"".concat(e).concat(a).concat([t?o+1:"",B&&n?"U":""].filter(Boolean).join(","),"</sup>"))).join(n))).join(n).split(n),x);if(o){const n=r(e.map((({name:e},n)=>"".concat(e).concat(a).concat(t?n+1:"","</sup>"))),x);P="<span>".concat(m,"</span>").concat(b&&!y?" <span>".concat(C.listOfServicesAppendix,"</span>"):""),S||(P=P.replace(/{{services}}/g,o).replace(/{{serviceGroups}}/g,n)),B&&(B+="".concat(a,"U</sup>"))}}return{description:D,teachings:[B,T,P].filter(Boolean)}}},8982:(t,e,n)=>{"use strict";n.d(e,{w:()=>r});var o=n(4766),i=n(1347);function r(){const t=(0,o.S)(),e=(0,i._)();return t.groups?t:e}},3258:(t,e,n)=>{"use strict";n.d(e,{p:()=>i});var o=n(8982);function i(){const{legal:{privacyPolicy:t,privacyPolicyExternalUrl:e,privacyPolicyIsExternalUrl:n,privacyPolicyLabel:i,imprint:r,imprintExternalUrl:a,imprintIsExternalUrl:s,imprintLabel:c},pageByIdUrl:l}=(0,o.w)(),d=(0,o.w)().pageIdToPermalink||{};let u=t>0?d[t]||"".concat(l,"=").concat(t):void 0,p=r>0?d[r]||"".concat(l,"=").concat(r):void 0;return n&&(u=e),s&&(p=a),{linkPrivacyPolicy:!(!i||!u)&&{url:u,label:i},linkImprint:!(!c||!p)&&{url:p,label:c}}}},9707:(t,e,n)=>{"use strict";n.d(e,{G:()=>r});var o=n(5213);let i=0;function r(t,e,n){const r=(0,o.Ye)((()=>"react-use-plain-css-".concat(e||(i++).toString(36))),[]);return(0,o.bt)((()=>{let e=document.getElementById(r);return e||(e=document.createElement("style"),e.style.type="text/css",e.id=r,document.getElementsByTagName("head")[0].appendChild(e)),e.innerHTML=t,()=>{var t;n||null===(t=e.parentNode)||void 0===t||t.removeChild(e)}}),[t,n]),r}},7613:(t,e,n)=>{"use strict";n.d(e,{W:()=>i});var o=n(2087);function i({bodyDesign:{teachingsInheritTextAlign:t,teachingsTextAlign:e,teachingsInheritFontSize:n,teachingsFontSize:i,teachingsInheritFontColor:r,teachingsFontColor:a},customCss:{antiAdBlocker:s},mobile:c,pageRequestUuid4:l}){return{className:"y"===s?void 0:"rcb-teachings",style:{marginTop:7,display:"inline-block",textAlign:t?void 0:e,fontSize:n?void 0:l?(0,o.D)(c,l,+i):+i,color:r?void 0:a}}}},8346:(t,e,n)=>{"use strict";function o({layout:{borderRadius:t},bodyDesign:{teachingsSeparatorActive:e,teachingsSeparatorWidth:n,teachingsSeparatorHeight:o,teachingsSeparatorColor:i},customCss:{antiAdBlocker:r}}){return{className:"y"===r?void 0:"rcb-teachings-separator",style:{marginTop:7,display:"inline-block",maxWidth:"100%",borderRadius:+t,width:+n,height:e?+o:0,background:i}}}n.d(e,{V:()=>o})},2121:(t,e,n)=>{"use strict";function o({design:{linkTextDecoration:t},group:{linkColor:e,linkHoverColor:n},customCss:{antiAdBlocker:o}},i){return{className:"y"===o?void 0:"rcb-group-more",style:{color:i?n:e,textDecoration:t}}}n.d(e,{c:()=>o})},6730:(t,e,n)=>{"use strict";n.d(e,{a:()=>i});var o=n(2087);function i({headerDesign:{fontSize:t,fontColor:e,fontInheritFamily:n,fontFamily:i,fontWeight:r},customCss:{antiAdBlocker:a},mobile:s,pageRequestUuid4:c},l){return{className:"y"===a?void 0:"rcb-headline",style:{color:e,lineHeight:1.8,fontSize:c?(0,o.D)(s,c,+t):+t,fontFamily:n?void 0:i,fontWeight:r,paddingRight:l?20:void 0}}}},2087:(t,e,n)=>{"use strict";function o({enabled:t,scalePercent:e,scalePercentVertical:n},o,i,r,a=!1){return i}n.d(e,{D:()=>o})},5672:(t,e,n)=>{"use strict";n.d(e,{U:()=>i});var o=n(7932);function i(t){const e=document.getElementById(t),n=document.createElement("div");return window.rcbPoweredByCacheOuterHTML?n.innerHTML=window.rcbPoweredByCacheOuterHTML:(0,o.D)(e,"a")&&e.innerHTML.toLowerCase().indexOf("Real Cookie Banner")&&(window.rcbPoweredByCacheOuterHTML=e.outerHTML,n.innerHTML=window.rcbPoweredByCacheOuterHTML,e.parentNode.removeChild(e)),n.children[0]}window.rcbPoweredByCacheOuterHTML=""},7932:(t,e,n)=>{"use strict";function o(t,e){const n="undefined"!=typeof Element?Element.prototype:{},o=n.matches||n.matchesSelector||n.webkitMatchesSelector||n.mozMatchesSelector||n.msMatchesSelector||n.oMatchesSelector;if(!t||1!==t.nodeType||!t.parentElement)return!1;if(o)return o.call(t,e);const i=t.parentElement.querySelectorAll(e);for(const e in i)if(i[e]===t)return!0;return!1}n.d(e,{D:()=>o})},3075:(t,e,n)=>{"use strict";n.d(e,{D:()=>y});var o=n(4312),i=n(6811),r=n(5566),a=n.n(r),s=n(6659),c=n(8542),l=n.n(c),d=n(830),u=n.n(d);function p(t,e,n){return t.search=s.stringify(n?a().all([s.parse(t.search),...e]):e,!0),t}const h={},f={};async function m(t,e){if(void 0!==e){const n=f[t]||new Promise((async(n,o)=>{try{const i=await window.fetch(e);if(i.ok){const e=await i.text();t===e?o():(h[t]=e,n(e))}else o()}catch(t){o()}}));return f[t]=n,n}{if(void 0===t)return;await Promise.all(Object.values(f));let e=t;for(;h[e]&&(e=h[e],h[e]!==t););return Promise.resolve(e)}}async function g(t,e,n){const o=e.clone();try{return await e.json()}catch(e){const r=await o.text();if(""===r&&[i.O.DELETE,i.O.PUT].indexOf(n)>-1)return;let a;console.warn("The response of ".concat(t," contains unexpected JSON, try to resolve the JSON line by line..."),{body:r});for(const t of r.split("\n"))if(t.startsWith("[")||t.startsWith("{"))try{return JSON.parse(t)}catch(t){a=t}throw a}}var b=n(8556),v=n.n(b);async function y({location:t,options:e,request:n,params:r,settings:c={},cookieValueAsParam:d,multipart:h=!1,sendRestNonce:f=!0}){const b=function({location:t,params:e={},nonce:n=!0,options:r,cookieValueAsParam:a}){const c=new URL(r.restRoot),d=s.parse(c.search),h=d.rest_route||c.pathname,f=[],m=t.path.replace(/:([A-Za-z0-9-_]+)/g,((t,n)=>(f.push(n),e[n]))),g={};for(const t of Object.keys(e))-1===f.indexOf(t)&&(g[t]=e[t]);a&&(g._httpCookieInvalidate=u()(JSON.stringify(a.map(l().get)))),c.protocol=window.location.protocol;const b=(0,o.Ab)(h)+(0,o.XO)(t.namespace||r.restNamespace)+m;return d.rest_route?d.rest_route=b:c.pathname=b,n&&r.restNonce&&(d._wpnonce=r.restNonce),p(c,d),["wp-json/","rest_route="].filter((t=>c.toString().indexOf(t)>-1)).length>0&&t.method&&t.method!==i.O.GET&&p(c,[{_method:t.method}],!0),p(c,[r.restQuery,g],!0),c.toString()}({location:t,params:r,nonce:!1,options:e,cookieValueAsParam:d});["wp-json/","rest_route="].filter((t=>b.indexOf(t)>-1)).length>0&&t.method&&t.method!==i.O.GET?c.method=i.O.POST:c.method=t.method||i.O.GET;const k=new URL(b),w=-1===["HEAD","GET"].indexOf(c.method);!w&&n&&p(k,[n],!0);const x=k.toString();let C;w&&(C=h?v()(n,"boolean"==typeof h?{}:h):JSON.stringify(n));const S=await m(e.restNonce),A=void 0!==S,O=a().all([c,{headers:{..."string"==typeof C?{"Content-Type":"application/json;charset=utf-8"}:{},...A&&f?{"X-WP-Nonce":S}:{},Accept:"application/json, */*;q=0.1"}}]);O.body=C;const D=await window.fetch(x,O);if(!D.ok){let o,a=!1;try{if(o=await g(x,D,t.method),"private_site"===o.code&&403===D.status&&A&&!f&&(a=!0),"rest_cookie_invalid_nonce"===o.code&&A){const{restRecreateNonceEndpoint:t}=e;try{await m(S,t),a=!0}catch(t){}}}catch(t){}if(a)return await y({location:t,options:e,multipart:h,params:r,request:n,sendRestNonce:!0,settings:c});c.method===i.O.GET&&(window.detectCorruptRestApiFailed=(window.detectCorruptRestApiFailed||0)+1);const s=D;throw s.responseJSON=o,s}return g(x,D,t.method)}},6811:(t,e,n)=>{"use strict";var o;n.d(e,{O:()=>o}),function(t){t.GET="GET",t.POST="POST",t.PUT="PUT",t.DELETE="DELETE",t.PATCH="PATCH"}(o||(o={}))},4312:(t,e,n)=>{"use strict";n.d(e,{XO:()=>o,Ab:()=>i,sE:()=>r});const o=t=>t.endsWith("/")||t.endsWith("\\")?o(t.slice(0,-1)):t,i=t=>"".concat(o(t),"/"),r=t=>{const e=window[t.replace(/-([a-z])/g,(t=>t[1].toUpperCase()))];return"".concat(e.publicUrl).concat(e.chunkFolder,"/")}},9302:(t,e,n)=>{"use strict";n.d(e,{h:()=>s});var o=n(3438),i=n(4548),r=n(3102),a=n(1829);function s(t,e=document.createElement("div")){return new Promise((n=>{let s;const{blocker:c}=(0,o.u)(),l=!e.parentElement;t:for(const e of c){const{rules:n}=e;for(const o of n){const n=(0,a.L)(o);if(t.match(n)){s=e;break t}}}s?(e.setAttribute(i.d3,"services"),e.setAttribute(i._W,s.services.join(",")),e.setAttribute(i.CT,s.id.toString()),e.addEventListener(r.T,(()=>{l&&e.remove(),n()})),l&&document.body.appendChild(e)):n()}))}},9181:(t,e,n)=>{"use strict";n.r(e),n.d(e,{consent:()=>ae,consentAll:()=>se,consentSync:()=>re,unblock:()=>ne.h});var o={};n.r(o),n.d(o,{consent:()=>ae,consentAll:()=>se,consentSync:()=>re,unblock:()=>ne.h});var i=n(5213),r=n(3438),a=n(625),s=n(6886),c=n(8218),l=n(9382),d=n(7766),u=n(6028),p=n(4001);const h=async({supportsCookiesName:t})=>!(0,p.E)(t)&&"essentials";var f=n(7169),m=n(4717),g=n.n(m);function b(){const{userAgent:t}=navigator;return!!t&&!/chrome-lighthouse/i.test(t)&&g()(t)}const v=(t,e=1e4,n=!0)=>async({decisionCookieName:o,revisionHash:i})=>{if(b()||!n)return!1;const r=(0,f.h)(o);if(r){const{revision:t}=r;if(i===t)return"consent"}try{const{predecision:n}=await(a=t(),s=e,new Promise(((t,e)=>{a.then(t,e);const n=new Error("Timed out");setTimeout(e,s,n)})));return n}catch(t){return!1}var a,s},y=(t=!0)=>async({decisionCookieName:e,groups:n,essentialGroupSlug:o})=>{const[i]=n.filter((({slug:t})=>t===o));if(!1!==(0,f.h)(e)||!t)return!1;for(const t of n)if(t!==i)for(const{legalBasis:e}of t.items)if("legitimate-interest"===e)return!1;return!!function(){try{const t=window;if((t.doNotTrack||t.navigator.doNotTrack||t.navigator.msDoNotTrack||"msTrackingProtectionEnabled"in t.external)&&("1"==t.doNotTrack||"yes"==t.navigator.doNotTrack||"1"==t.navigator.doNotTrack||"1"==t.navigator.msDoNotTrack||t.external.msTrackingProtectionEnabled()))return!0}catch(t){}return!1}()&&"dnt"},k=async({decisionCookieName:t,revisionHash:e})=>{const n=(0,f.h)(t);if(!1===n)return!1;const{revision:o}=n;return e===o&&"consent"};var w=n(3075),x=n(6811);const C={path:"/consent/dynamic-predecision",method:x.O.POST};function S(t){const{legal:{imprint:e,imprintHide:n,privacyPolicy:o,privacyPolicyHide:i},pageId:r}=t;return[n&&+e,i&&+o].filter(Boolean).indexOf(r)>-1}var A=n(6423),O=n(7563);function D(){const t=(0,i.Ye)((()=>window.innerWidth),[])<700,e=(0,i.Ye)((()=>{const t=window.navigator.userAgent.toLowerCase();return 4===["firefox","gecko","mobile","android"].map((e=>t.indexOf(e)>-1)).filter(Boolean).length}),[]);return(0,i.I4)((({animationIn:n,animationInOnlyMobile:o,animationOut:i,animationOutOnlyMobile:r})=>{let a=o?t?n:"none":n,s=r?t?i:"none":i;return e&&(a="none",s="none"),{useAnimationIn:a,useAnimationOut:s}}),[])}const I=t=>{t&&(t.preventDefault(),t.stopPropagation())};var E=n(4766),B=n(4741),T=n(3743),P=n(9707),N=n(9586),R=n(7932);const z='[href^="#consent-"]';var L=n(2087);function H(t,e){const[n,o]=(0,i.eJ)(0),[r,a]=(0,i.eJ)(0),[s,c]=(0,i.eJ)(t),[l,d]=(0,i.eJ)(void 0),[u,p]=(0,i.eJ)(e),[h,f]=(0,i.eJ)(void 0);return(0,i.d4)((()=>{n>0&&("none"===t?c(t):(c("none"),d(t))),o(n+1)}),[t]),(0,i.d4)((()=>{r>0&&(0===e?p(e):(p(0),f(e),c("none"),d(t))),a(r+1)}),[e]),(0,i.d4)((()=>{void 0!==l&&(c(l),d(void 0))}),[l]),(0,i.d4)((()=>{void 0!==h&&(p(h),f(void 0))}),[h]),[s,u]}function W(t){const e=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);return e?{r:parseInt(e[1],16),g:parseInt(e[2],16),b:parseInt(e[3],16)}:null}function M(t,e){const{r:n,g:o,b:i}=W(t);return"rgba(".concat(n,", ").concat(o,", ").concat(i,", ").concat(e/100,")")}var _=n(7029).h;function Y({isVisible:t,animationIn:e,animationOut:n,animationInDuration:o,animationOutDuration:i,animationInDelay:r,animationOutDelay:a}){return t?{animation:e,duration:o,delay:r}:{animation:n,duration:i,delay:a}}const U=({animateOnMount:t=!0,isVisible:e=!0,animationIn:n="fadeIn",animationOut:o="fadeOut",animationInDelay:r=0,animationOutDelay:a=0,animationInDuration:s=1e3,animationOutDuration:c=1e3,className:l="",style:d={},children:u})=>{const[{animation:p,duration:h,delay:f},m]=(0,i.eJ)(t?Y({isVisible:e,animationIn:n,animationOut:o,animationInDelay:r,animationOutDelay:a,animationInDuration:s,animationOutDuration:c}):{animation:"",delay:void 0,duration:0});(0,i.d4)((()=>{m(Y({isVisible:e,animationIn:n,animationOut:o,animationInDelay:r,animationOutDelay:a,animationInDuration:s,animationOutDuration:c}))}),[e,n,o,r,a,s,c]);const g="animate__animated animate__".concat(p," ").concat(l),b=p?{}:{opacity:e?1:0,transition:"opacity ".concat(f,"ms")};return _("div",{className:g,style:{animationDelay:"".concat(f,"ms"),animationDuration:"".concat(h,"ms"),pointerEvents:e?"all":"none",...d,...b}},u)};function F(t,e){const{pageRequestUuid4:n}=(0,E.S)(),o=(0,P.G)("","useRenderedHeightsAsCssVars-".concat(e)),r=document.getElementById(o);(0,i.d4)((()=>{let o=0;const i=()=>{const i=t.getBoundingClientRect().height;o!==i&&(o=i,r.innerHTML="#".concat(n,"{--rendered-height-").concat(e,": ").concat(Math.floor(i),"px;--rendered-height-raw-").concat(e,": ").concat(i,"px}"))};if(!t)return()=>{};const a=document.querySelector("#".concat(n,' div[class*="animate__"]'));if(a.addEventListener("animationend",i),window.ResizeObserver){const e=new ResizeObserver(i);return e.observe(t),()=>{e.disconnect(),a.removeEventListener("animationend",i)}}{const t=setInterval(i,150);return()=>{clearInterval(t),a.removeEventListener("animationend",i)}}}),[t,e])}var G=n(6730);function q(){const{individualPrivacyOpen:t,onSave:e,updateGroupChecked:n,updateCookieChecked:o,groups:r,essentialGroup:a,updateIndividualPrivacyOpen:s,activeAction:c,onClose:l}=(0,E.S)(),d=t?"ind_all":"main_all",u=t?"ind_essential":"main_essential",p=t?"ind_close_icon":"main_close_icon",h=t?"ind_custom":"main_custom",f={buttonClickedAll:d,buttonClickedEssentials:u,buttonClickedCloseIcon:p,buttonClickedCustom:h,acceptAll:(0,i.I4)((()=>{r.forEach((t=>n(t.id,!0))),e(!1,d)}),[d]),acceptEssentials:(0,i.I4)(((t=!1)=>{r.forEach((({slug:t,id:e,items:i})=>{if(t===a)n(e,!0);else for(const{legalBasis:t,id:n}of i)o(e,n,"legitimate-interest"===t)})),e(!1,t?p:u)}),[u]),acceptIndividual:(0,i.I4)((()=>e(!1,h)),[h]),openIndividualPrivacy:(0,i.I4)((()=>{s(!0)}),[s])};return{...f,closeIcon:(0,i.I4)((()=>{c?l():f.acceptEssentials(!0)}),[c,l,f.acceptEssentials])}}var X=n(7778);const j=({children:t,className:e,tag:n="div",renderInContainer:o})=>{const[r]=(0,i.eJ)((()=>{const t=document.createElement(n);return e&&t.classList.add(e),t}));return(0,i.d4)((()=>(document.body.appendChild(r),()=>{document.body.removeChild(r)})),[]),(0,i.jz)(t,o||r)};var V=n(8523),J=n(7029).h;let Z=0;const $=({width:t,color:e,tooltipText:n,framed:o,renderInContainer:r,tooltipAlways:a,onClick:s,thickness:c=1})=>{const l=(0,i.Ye)((()=>"react-close-icon-".concat((Z++).toString(36))),[]),d=(0,i.Ye)((()=>"react-close-icon-".concat((Z++).toString(36))),[]),u=(0,i.Ye)((()=>"react-close-icon-".concat((Z++).toString(36))),[]),p=(0,i.sO)(),h=(0,X.EL)(p);return(0,P.G)("#".concat(u,", #").concat(l," {\n position: absolute;\n top: 50%;\n right: 0;\n margin-top: calc(").concat(t,"px / 2 * -1);\n display: block;\n width: ").concat(t,"px;\n height: ").concat(t,"px; \n pointer-events: none;\n}\n\n#").concat(l," {\n position: absolute !important;\n}\n\n#").concat(l,", #").concat(d," {\n cursor: pointer;\n pointer-events: all;\n ").concat(o?"outline: rgb(255, 94, 94) solid 5px;":"","\n}\n\n#").concat(d," {\n position: fixed !important;\n ").concat(h?"top: ".concat(h.y,"px;left: ").concat(h.x,"px;display:block;"):"display:none;","\n width: ").concat(t,"px;\n height: ").concat(t,"px;\n z-index: 99;\n}\n#").concat(d,":after, #").concat(l,":after {\n width: auto !important;\n white-space: nowrap !important;\n}\n#").concat(d,">span:before, #").concat(d,">span:after,\n#").concat(l,">span:before, #").concat(l,">span:after {\n position: absolute;\n top: 50%;\n left: 50%;\n width: ").concat(c,"px;\n height: ").concat(t,"px;\n background-color: ").concat(e,";\n transform: rotate(45deg) translate(-50%, -50%);\n transform-origin: top left;\n transition: all 420ms;\n content: '';\n opacity: 0.5;\n pointer-events: none;\n}\n#").concat(d,">span:after,\n#").concat(l,">span:after {\n transform: rotate(-45deg) translate(-50%, -50%);\n}\n#").concat(d,">span:hover:before, #").concat(d,">span:hover:after,\n#").concat(l,">span:hover:before, #").concat(l,">span:hover:after {\n opacity: 1;\n width: ").concat(c+1,"px;\n}")),r?J(i.HY,null,J("div",{id:u,ref:p}),(null==h?void 0:h.y)>0&&J(j,{renderInContainer:r},J(V.u,{title:n,id:d,onClick:s,position:h.y>50?"top-left":"left",always:a},J("span",null)))):J(V.u,{title:n,id:l,onClick:s,position:"top-left",always:a},J("span",null))};var Q=n(7029).h;const K=()=>{const{headerDesign:{fontSize:t,fontColor:e},texts:{acceptEssentials:n},mobile:o,activeAction:i,pageRequestUuid4:r,i18n:{close:a,closeWithoutSaving:s},buttonClicked:c=""}=(0,E.S)(),{buttonClickedCloseIcon:l,closeIcon:d}=q(),u=document.getElementById(r);return Q($,{width:(0,L.D)(o,r,t),color:e,tooltipText:i?"change"===i?s:a:n,tooltipAlways:(null==u?void 0:u.clientWidth)<700,framed:c===l,renderInContainer:u,onClick:d})};var tt=n(7029).h;const et=(0,i.Gp)(((t,e)=>{const n=(0,E.S)(),{headerDesign:{logo:o,logoRetina:i},decision:{showCloseIcon:r},texts:{headline:a},activeAction:s,individualPrivacyOpen:c,individualTexts:l,i18n:{headerTitlePrivacyPolicyHistory:d}}=n,u=i&&!(null!=o&&o.endsWith(".svg"))&&window.devicePixelRatio>1,p=u?i:o,h=c?"history"===s?d:l.headline:a;return tt("div",(0,B.Z)({ref:e},function({layout:{type:t,dialogBorderRadius:e},design:{borderWidth:n,borderColor:o,...i},headerDesign:{inheritBg:r,bg:a,padding:s},customCss:{antiAdBlocker:c},mobile:l,pageRequestUuid4:d}){const u=(0,L.D)(l,d,t,"banner"),p=(0,L.D)(l,d,n),h={padding:(0,L.D)(l,d,s,void 0,!0).map((t=>"".concat(t,"px"))).join(" "),background:r?i.bg:a,borderRadius:"dialog"===u?"".concat(e,"px ").concat(e,"px 0 0"):void 0,position:"sticky",zIndex:9,top:0};return"dialog"===u&&p>0&&(h.borderTop="".concat(p,"px solid ").concat(o),h.borderLeft=h.borderTop,h.borderRight=h.borderTop),{className:"y"===c?void 0:"rcb-header-container",style:h}}(n)),tt("div",function({layout:{type:t,bannerMaxWidth:e},design:{textAlign:n},headerDesign:{inheritTextAlign:o,logo:i,logoPosition:r,...a},texts:{headline:s},individualLayout:c,customCss:{antiAdBlocker:l},mobile:d,pageRequestUuid4:u,individualPrivacyOpen:p}){const h=o?n:a.textAlign;return{className:"y"===l?void 0:"rcb-header",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===(0,L.D)(d,u,t,"banner")?+(p&&!c.inheritBannerMaxWidth?c.bannerMaxWidth:e):void 0,margin:"auto",display:"flex",justifyContent:"center"===h?"center":"right"===h?"flex-end":void 0,textAlign:h,alignItems:"center",position:"relative",flexDirection:i&&s?"left"===r?"row":"right"===r?"row-reverse":"column":void 0}}}(n),!!p&&tt("img",(0,B.Z)({alt:"",src:p},function({headerDesign:{logoMaxHeight:t,logoMargin:e,logoFitDim:n,logoRetinaFitDim:o},customCss:{antiAdBlocker:i},mobile:r,pageRequestUuid4:a},s){const c=s?o:n;return{className:"y"===i?void 0:"rcb-logo",style:{...c?{width:c[0],height:c[1]}:{width:"auto",height:(0,L.D)(r,a,+t)},margin:(0,L.D)(r,a,e).map((t=>"".concat(t,"px"))).join(" ")}}}(n,u))),!!h&&tt("div",(0,G.a)(n,!1),h),(!!r||!!s)&&tt(K,null)))}));var nt=n(6268),ot=n(7029).h;const it=({title:t,children:e})=>{const n=(0,E.S)();return ot("div",function({group:{headlineFontSize:t,headlineFontColor:e,headlineFontWeight:n},customCss:{antiAdBlocker:o},mobile:i,pageRequestUuid4:r}){return{className:"y"===o?void 0:"rcb-group",style:{color:e,fontSize:(0,L.D)(i,r,t),fontWeight:n,textAlign:"left"}}}(n),t,e&&ot("div",function({design:{fontWeight:t},group:{descriptionFontColor:e,descriptionFontSize:n},customCss:{antiAdBlocker:o},mobile:i,pageRequestUuid4:r}){return{className:"y"===o?void 0:"rcb-group-description",style:{color:e,fontSize:(0,L.D)(i,r,+n),fontWeight:t,marginTop:5}}}(n),e))};var rt=n(8559),at=n(2121),st=n(8982),ct=n(7029).h;const lt=({onToggle:t,children:e,showMore:n,hideMore:o,...r})=>{const a=(0,st.w)(),[s,c]=(0,i.eJ)(!1),[l,d]=(0,i.eJ)(!1);return ct(i.HY,null,"  •  ",ct("a",(0,B.Z)({href:"#"},(0,at.c)(a,s),{onClick:e=>{const n=!l;d(n),null==t||t(n),e.preventDefault()},onMouseEnter:()=>c(!0),onMouseLeave:()=>c(!1)},r),l?o:n),l&&e)};var dt=n(229),ut=n(7029).h;const pt=({group:t,cookie:e})=>{var n;const{id:o}=e,r=(0,E.S)(),{consent:a,activeAction:s,essentialGroup:c}=r,l=c===t.slug,d=l||"history"===s,u=l||((null===(n=a.groups)||void 0===n?void 0:n[t.id])||[]).some((t=>t===o)),p=(0,i.I4)((()=>!d&&r.updateCookieChecked(t.id,o,!u)),[d,r,t,o,u]);return ut(dt.V,{cookie:e,propertyListProps:{isEssentialGroup:l},checked:u,disabled:d,onToggleCheck:p})};var ht=n(7029).h;const ft=({group:t})=>{var e;const n=(0,E.S)(),{id:o,slug:r,name:a,description:s,items:c}=t,{previewCheckboxActiveState:l,consent:d,activeAction:u,essentialGroup:p,individualTexts:{showMore:h,hideMore:f}}=n,m=p===r,g=m||"history"===u,b=l||m||!!d.groups[o],v=!m&&JSON.stringify(c.map((({id:t})=>t)).sort())!==JSON.stringify((null===(e=d.groups[o])||void 0===e?void 0:e.sort())||[]),y=(0,i.I4)((()=>!g&&n.updateGroupChecked(o,!b)),[g,n,o,b]);return ht("div",function({group:{groupBg:t,groupBorderRadius:e,groupBorderColor:n,groupPadding:o,groupBorderWidth:i,groupInheritBg:r},customCss:{antiAdBlocker:a},mobile:s,pageRequestUuid4:c}){const l=(0,L.D)(s,c,i);return{className:"y"===a?void 0:"rcb-group",style:{background:r?void 0:t,border:l>0?"".concat(l,"px solid ").concat(n):void 0,padding:(0,L.D)(s,c,o).map((t=>"".concat(t,"px"))).join(" "),borderRadius:+e,textAlign:"left"}}}(n),ht(it,{title:ht(rt.P,{onClick:y,isPartial:v,isChecked:b,isDisabled:g},a," (",c.length,")")},s,!!c&&ht(lt,{showMore:h,hideMore:f},c.map((e=>ht(pt,{key:e.id,group:t,cookie:e}))))))};var mt=n(7029).h;const gt=()=>{const t=(0,E.S)(),{groups:e,group:{groupSpacing:n},mobile:o,pageRequestUuid4:r}=t,a=e.filter((({items:t})=>t.length));return mt("div",function({customCss:{antiAdBlocker:t}}){return{className:"y"===t?void 0:"rcb-groups",style:{marginTop:10,clear:"both"}}}(t),a.map(((t,e)=>mt(i.HY,{key:t.id},mt(ft,{key:t.id,group:t}),e!==a.length-1&&mt("div",{style:{height:(0,L.D)(o,r,+n)}})))))};var bt=n(7029).h;const vt=({group:{id:t,slug:e,name:n}})=>{const o=(0,E.S)(),{decision:{groupsFirstView:r},design:{fontSize:a},consent:s,essentialGroup:c}=o,l=c===e,d=l||!!s.groups[t],u=(0,i.I4)((()=>false),[false,l,o,t,d,r]);return bt("span",(0,B.Z)({key:n},function({design:{fontSize:t},bodyDesign:{dottedGroupsInheritFontSize:e,dottedGroupsFontSize:n},mobile:o,pageRequestUuid4:i}){return{className:void 0,style:{paddingRight:10,fontSize:(0,L.D)(o,i,e?+t:+n),whiteSpace:"nowrap",display:"inline-block"}}}(o)),bt("span",null,bt(i.HY,null,bt("strong",function({bodyDesign:{dottedGroupsBulletColor:t}}){return{className:void 0,style:{color:t}}}(o),"●")," "),bt("span",{style:{verticalAlign:"middle",cursor:r?"pointer":void 0},onClick:u},n)))};var yt=n(7029).h;const kt=()=>{const t=(0,E.S)(),{groups:e,decision:{showGroups:n}}=t;return n?yt("div",function({customCss:{antiAdBlocker:t}}){return{className:"y"===t?void 0:"rcb-dotted-groups",style:{marginTop:10,lineBreak:"anywhere",lineHeight:2}}}(t),e.filter((({items:t})=>!!t.length)).map((t=>yt(vt,{key:t.id,group:t})))):null};var wt=n(7029).h;const xt=()=>{const t=(0,E.S)(),[e,n]=(0,i.eJ)(-1),{activeAction:o,history:r,selectHistoryEntry:a,i18n:{historyLabel:s,historySelectNone:c}}=t,l=(0,i.Ye)((()=>{var t;return null==r||null===(t=r.filter((({id:t})=>t===e)))||void 0===t?void 0:t[0]}),[e]);(0,i.d4)((()=>{o?"history"===o&&null!=r&&r.length&&n(r[0].id):n(-1)}),[o,r]);const d=null==l?void 0:l.uuid,u=function({design:{bg:t}}){return{className:void 0,style:{background:t}}}(t);return wt(i.HY,null,s," ",wt("select",(0,B.Z)({},function({design:{fontSize:t,fontColor:e},bodyDesign:{descriptionInheritFontSize:n,descriptionFontSize:o},customCss:{antiAdBlocker:i},mobile:r,pageRequestUuid4:a}){return{className:"y"===i?void 0:"rcb-history-select",style:{fontSize:(0,L.D)(r,a,n?+t:+o),background:"transparent",border:0,color:e,borderBottom:"1px solid ".concat(M(e,50))}}}(t),{disabled:!(null!=r&&r.length),value:e,onChange:t=>{const e=+t.target.value;r.forEach((({id:t,decision:o,groups:i,tcf:r})=>{t===e&&(n(t),a(i,o,r))}))}}),(null==r?void 0:r.length)>0?r.map((({id:t,isDoNotTrack:e,isUnblock:n,isForwarded:o,created:i})=>wt("option",(0,B.Z)({key:t,value:t},u),new Date(i).toLocaleString(document.documentElement.lang),e?" (Do Not Track)":"",n?" (Content Blocker)":"",o?" (Consent Forwarding)":""))):wt("option",(0,B.Z)({value:-1},u),c)),!!d&&wt("div",{style:{opacity:.5,marginTop:5}},"UUID: ",d))};var Ct=n(8346),St=n(7613);function At({name:t,order:e,type:n,borderRadius:o,bg:i,hoverBg:r,fontSize:a,textAlign:s,fontColor:c,fontWeight:l,hoverFontColor:d,borderWidth:u,borderColor:p,hoverBorderColor:h,padding:f,antiAdBlocker:m,pageRequestUuid4:g},b,v,y,k){const w=!k||e>1,x=k&&1===e?5:0,C=k&&0===e?5:0,S=(0,L.D)(b,g,+u),A={textDecoration:"link"===n?"underline":"none",borderRadius:+o,cursor:"button"===n?"pointer":void 0,backgroundColor:"button"===n?v?r:i:void 0,fontSize:(0,L.D)(b,g,+a),fontWeight:l,color:v?d:c,transition:"background-color 250ms, color 250ms, border-color 250ms",margin:"0 ".concat(C,"px ").concat((0,L.D)(b,g,10,void 0,!0),"px ").concat(x,"px"),border:"button"===n&&S>0?"".concat(S,"px solid ").concat(v?h:p):void 0,padding:(0,L.D)(b,g,f,void 0,"button"!==n).map((t=>"".concat(t,"px"))).join(" "),overflow:"hidden",outline:y?"rgb(255, 94, 94) solid 5px":void 0,flex:w?"1 1 100%":"0 0 calc(50% - ".concat(x+C,"px)"),display:"flex",alignItems:"center",justifyContent:"right"===s?"flex-end":"center"===s?"center":"left",textAlign:s,order:e};return{className:"y"===m?void 0:"rcb-btn-".concat(t),style:A}}function Ot({isTcf:t,decision:{acceptEssentials:e},layout:{borderRadius:n},bodyDesign:{acceptEssentialsFontSize:o,acceptEssentialsBg:i,acceptEssentialsTextAlign:r,acceptEssentialsBorderColor:a,acceptEssentialsPadding:s,acceptEssentialsBorderWidth:c,acceptEssentialsFontColor:l,acceptEssentialsFontWeight:d,acceptEssentialsHoverBg:u,acceptEssentialsHoverFontColor:p,acceptEssentialsHoverBorderColor:h,acceptAllFontWeight:f,acceptAllFontSize:m,acceptAllPadding:g},customCss:{antiAdBlocker:b},mobile:v,pageRequestUuid4:y},k,w,x,C){return At({name:"accept-essentials",order:x,type:e,borderRadius:n,bg:i,hoverBg:u,fontSize:C||t?m:o,textAlign:r,fontColor:l,fontWeight:t?f:d,hoverFontColor:p,borderWidth:c,borderColor:a,hoverBorderColor:h,padding:C?g:s,antiAdBlocker:b,pageRequestUuid4:y},v,k,w,C)}function Dt({decision:{acceptIndividual:t},layout:{borderRadius:e},bodyDesign:{acceptIndividualFontSize:n,acceptIndividualBg:o,acceptIndividualTextAlign:i,acceptIndividualBorderColor:r,acceptIndividualPadding:a,acceptIndividualBorderWidth:s,acceptIndividualFontColor:c,acceptIndividualFontWeight:l,acceptIndividualHoverBg:d,acceptIndividualHoverFontColor:u,acceptIndividualHoverBorderColor:p},customCss:{antiAdBlocker:h},mobile:f,pageRequestUuid4:m},g,b,v,y){return At({name:"accept-individual",order:v,type:t,borderRadius:e,bg:o,hoverBg:d,fontSize:n,textAlign:i,fontColor:c,fontWeight:l,hoverFontColor:u,borderWidth:s,borderColor:r,hoverBorderColor:p,padding:a,antiAdBlocker:h,pageRequestUuid4:m},f,g,b,y)}function It({isTcf:t,layout:{borderRadius:e},bodyDesign:{acceptAllFontWeight:n,acceptAllFontSize:o},saveButton:{type:i,fontSize:r,bg:a,textAlign:s,borderColor:c,padding:l,borderWidth:d,fontColor:u,fontWeight:p,hoverBg:h,hoverFontColor:f,hoverBorderColor:m},customCss:{antiAdBlocker:g},mobile:b,pageRequestUuid4:v},y,k,w,x){return At({name:"accept-individual-save",order:w,type:i,borderRadius:e,bg:a,hoverBg:h,fontSize:t?o:r,textAlign:s,fontColor:u,fontWeight:t?n:p,hoverFontColor:f,borderWidth:d,borderColor:c,hoverBorderColor:m,padding:l,antiAdBlocker:g,pageRequestUuid4:v},b,y,k,x)}function Et({decision:{acceptAll:t},layout:{borderRadius:e},bodyDesign:{acceptAllFontSize:n,acceptAllBg:o,acceptAllTextAlign:i,acceptAllBorderColor:r,acceptAllPadding:a,acceptAllBorderWidth:s,acceptAllFontColor:c,acceptAllFontWeight:l,acceptAllHoverBg:d,acceptAllHoverFontColor:u,acceptAllHoverBorderColor:p},customCss:{antiAdBlocker:h},mobile:f,pageRequestUuid4:m},g,b,v,y){return At({name:"accept-all",order:v,type:t,borderRadius:e,bg:o,hoverBg:d,fontSize:n,textAlign:i,fontColor:c,fontWeight:l,hoverFontColor:u,borderWidth:s,borderColor:r,hoverBorderColor:p,padding:a,antiAdBlocker:h,pageRequestUuid4:m},f,g,b,y)}var Bt=n(4902),Tt=n(7029).h;const Pt=({inlineStyle:t,type:e,onClick:n,children:o,framed:r,busyOnClick:a,order:s})=>{if("hide"===e)return null;const[c,l]=(0,i.eJ)(!1),d=(0,i.I4)((()=>{c||(a&&l(!0),null==n||n())}),[n,c,a]),[u,p]=(0,i.eJ)(!1),h=(0,E.S)(),{individualPrivacyOpen:f,decision:{acceptAll:m,acceptEssentials:g},bodyDesign:{acceptAllOneRowLayout:b,acceptEssentialsUseAcceptAll:v}}=h,y=v?m:g,k={onClick:d,onMouseEnter:()=>p(!0),onMouseLeave:()=>p(!1),style:{cursor:"pointer"}},w=(0,i.Ye)((()=>{switch(t){case"acceptEssentials":return Ot;case"acceptIndividual":return Dt;case"save":return It;default:return Et}}),[t]);return Tt("div",(0,B.Z)({},"button"===e?k:{},w(h,u,r,s,!(/MSIE (\d+\.\d+);/.test(navigator.userAgent)||navigator.userAgent.indexOf("Trident/")>-1||"hide"===m||"hide"===y||f||s>1)&&b)),Tt("span","link"===e?k:{},c?Tt(Bt.X,null):o))};var Nt=n(7029).h;const Rt=()=>{const t=(0,E.S)(),{activeAction:e,bodyDesign:{acceptEssentialsUseAcceptAll:n,acceptAllOneRowLayout:o},decision:{showGroups:r,groupsFirstView:a,saveButton:s,acceptAll:c,acceptEssentials:l,acceptIndividual:d,buttonOrder:u},texts:{acceptAll:p,acceptEssentials:h,acceptIndividual:f},saveButton:{type:m,useAcceptAll:g},individualTexts:{save:b},individualPrivacyOpen:v,didGroupFirstChange:y,productionNotice:k,buttonClicked:w=""}=t,{all:x,essential:C,individual:S,save:A}=(0,i.Ye)((()=>{const t=u.split(","),e=t.reduce(((e,n)=>(e[n]=t.indexOf(n),e)),{}),n=t.reduce(((e,n)=>(e[t.indexOf(n)]=n,e)),{});return o&&(e[n[0]]=1,e[n[1]]=0),e}),[u,o]),{buttonClickedAll:O,buttonClickedEssentials:D,buttonClickedCustom:I,acceptAll:B,acceptEssentials:T,acceptIndividual:P,openIndividualPrivacy:N}=q(),R="change"===e;return Nt(i.HY,null,Nt(Pt,{onClick:B,type:c,inlineStyle:"acceptAll",framed:w===O,busyOnClick:R,order:x},p),"change"!==e&&Nt(Pt,{onClick:T,type:n?c:l,inlineStyle:n?"acceptAll":"acceptEssentials",framed:w===D,busyOnClick:R,order:C},h),!!v&&Nt(Pt,{onClick:P,type:g?c:m,inlineStyle:g?"acceptAll":"save",framed:w===I,busyOnClick:R,order:A},b),!v&&Nt(Pt,{type:d,onClick:N,inlineStyle:"acceptIndividual",framed:w.startsWith("ind_"),busyOnClick:R,order:S},f),k)};var zt=n(7029).h;const Lt=({leftSideContainerRef:t,rightSideContainerRef:e})=>{var n;const o=(0,E.S)(),{layout:{type:r},mobile:a,bodyDesign:{teachingsSeparatorActive:s},tcf:c,individualPrivacyOpen:l,activeAction:d,pageRequestUuid4:u}=o,{description:p,teachings:h}=(0,nt.k)(),f="bnnr-body-leftSide-".concat(u),m="bnnr-body-rightSide-".concat(u),g="cntnt-".concat(u);(0,P.G)(" #".concat(f," img {\n max-width: 100%;\n height: auto;\n}\n\n").concat((null===(n=document.getElementById(u))||void 0===n?void 0:n.clientWidth)>700?"":"#".concat(f," {\n float: initial !important;\n width: auto !important;\n padding-right: initial !important;\n ").concat("banner"!==(0,L.D)(a,u,r,"banner")||l?l?"padding-top: 10px !important;":"":"padding-bottom: 10px !important;","\n }\n\n #").concat(g," {\n min-height: calc(var(--rendered-height-header) + var(--rendered-height-footer) + var(--rendered-height-rightSideContainer) + 60px);\n }\n \n #").concat(m," {\n float: initial !important;\n width: auto !important;\n max-width: initial !important;\n margin: initial !important;\n ").concat(l?"padding-bottom: 5px !important;":"padding-top: 10px !important;","\n position: sticky;\n }")));const b=(0,i.Ye)((()=>zt(l?gt:kt,null)),[l,c]),v=zt("div",(0,B.Z)({ref:t,key:"leftSide",id:f},function({layout:{type:t},bodyDesign:{padding:e},customCss:{antiAdBlocker:n},mobile:o,individualPrivacyOpen:i,activeAction:r,pageRequestUuid4:a}){const s=(0,L.D)(o,a,t,"banner"),c=(0,L.D)(o,a,e);return{className:"y"===n?void 0:"rcb-tb-left",style:{float:"banner"===s&&"history"!==r?"left":void 0,width:"banner"===s&&"history"!==r?"calc(100% - ".concat(300,"px)"):void 0,paddingRight:"banner"===s?20:void 0,paddingTop:+c[0],paddingBottom:"banner"===s||i?+c[2]:0}}}(o)),zt("div",function({design:{fontSize:t},bodyDesign:{descriptionInheritFontSize:e,descriptionFontSize:n},individualLayout:{descriptionTextAlign:o},customCss:{antiAdBlocker:i},mobile:r,individualPrivacyOpen:a,pageRequestUuid4:s}){return{className:"y"===i?void 0:"rcb-description",style:{lineHeight:1.5,fontSize:(0,L.D)(r,s,e?+t:+n),textAlign:a?o:void 0}}}(o),"history"===d?zt(xt,null):zt(i.HY,null,zt("span",{dangerouslySetInnerHTML:{__html:p}}),h.length>0&&zt(i.HY,null,s&&zt("div",null,zt("span",(0,Ct.V)(o))),h.map((t=>zt("span",(0,B.Z)({key:t},(0,St.W)(o),{dangerouslySetInnerHTML:{__html:t}}))))))),b),y="history"===d?zt("div",{ref:e}):zt("div",(0,B.Z)({ref:e,key:"rightSide",id:m},function({layout:{type:t,dialogMaxWidth:e},design:{borderWidth:n,bg:o,fontColor:i},headerDesign:r,footerDesign:a,bodyDesign:{padding:s},individualLayout:{inheritDialogMaxWidth:c},customCss:{antiAdBlocker:l},mobile:d,individualPrivacyOpen:u,pageRequestUuid4:p}){const h=(0,L.D)(d,p,t,"banner"),f=(0,L.D)(d,p,n),m=(0,L.D)(d,p,s,void 0,!0),{r:g,g:b,b:v}=W(i),y="dialog"===h?+e-m[1]-m[3]-2*f:300;return{className:"y"===l?void 0:"rcb-tb-right",style:{background:o,paddingTop:"banner"===h||u?+m[0]:10,paddingBottom:u?10:+m[2],float:"banner"===h||u?"right":void 0,maxWidth:y,width:y,margin:"dialog"===h&&u&&!c?"0 0 10px 10px":void 0,position:u?void 0:"sticky",[u?"top":"bottom"]:u?"calc(var(--rendered-height-header) + ".concat((0,L.D)(d,p,r.borderWidth),"px)"):"calc(var(--rendered-height-footer) + ".concat((0,L.D)(d,p,a.borderWidth),"px)"),zIndex:1,display:"flex",flexWrap:"wrap",transition:"box-shadow ease-in-out .1s","--boxShadowShowScroll":"0 -15px 15px -15px rgba(".concat(g,", ").concat(b,", ").concat(v,", 0.3)")}}}(o)),zt(Rt,null));return zt("div",function({layout:{type:t},design:{bg:e,borderWidth:n,borderColor:o},bodyDesign:{padding:i},customCss:{antiAdBlocker:r},mobile:a,pageRequestUuid4:s}){const c=(0,L.D)(a,s,n),l={background:e,padding:(0,L.D)(a,s,i).map(((t,e)=>"".concat([0,2].indexOf(e)>-1?0:t,"px"))).join(" "),lineHeight:1.4};return"dialog"===(0,L.D)(a,s,t,"banner")&&c>0&&(l.borderLeft="".concat(c,"px solid ").concat(o),l.borderRight=l.borderLeft),{className:"y"===r?void 0:"rcb-body-container",style:l}}(o),zt("div",function({layout:{type:t,bannerMaxWidth:e},individualLayout:n,customCss:{antiAdBlocker:o},mobile:i,individualPrivacyOpen:r,pageRequestUuid4:a}){return{className:"y"===o?void 0:"rcb-body",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===(0,L.D)(i,a,t,"banner")?+(r&&!n.inheritBannerMaxWidth?n.bannerMaxWidth:e):void 0,margin:"auto"}}}(o),l?[y,v]:[v,y],zt("div",{style:{clear:"both"}})))};var Ht=n(6092),Wt=n(7029).h;const Mt=(0,i.Gp)(((t,e)=>{const n=(0,E.S)(),{isTcf:o,layout:{type:r},individualPrivacyOpen:a,updateIndividualPrivacyOpen:s,onClose:c,i18n:{tcf:l},isConsentRecord:d}=n,u=(0,i.I4)((t=>{c(),t.preventDefault()}),[c]),{rows:p,render:h}=(0,Ht.g)({onClose:d?u:void 0,putPoweredByLinkInRow:"banner"===r?0:1,row1:[!1]});return Wt("div",(0,B.Z)({ref:e},function({layout:{type:t,dialogBorderRadius:e},design:n,footerDesign:{inheritBg:o,bg:i,inheritTextAlign:r,textAlign:a,padding:s,fontSize:c,fontColor:l,fontWeight:d},customCss:{antiAdBlocker:u},mobile:p,pageRequestUuid4:h}){const f=(0,L.D)(p,h,t,"banner"),m=(0,L.D)(p,h,n.borderWidth),g={padding:(0,L.D)(p,h,s,void 0,!0).map((t=>"".concat(t,"px"))).join(" "),background:o?n.bg:i,borderRadius:"dialog"===f?"0 0 ".concat(e,"px ").concat(e,"px"):void 0,fontSize:(0,L.D)(p,h,+c),fontWeight:d,color:l,textAlign:r?n.textAlign:a,position:"sticky",bottom:0,zIndex:1};return"dialog"===f&&m>0&&(g.borderBottom="".concat(m,"px solid ").concat(n.borderColor),g.borderLeft=g.borderBottom,g.borderRight=g.borderBottom),{className:"y"===u?void 0:"rcb-footer-container",style:g}}(n)),Wt("div",function({layout:{type:t,bannerMaxWidth:e},individualLayout:n,customCss:{antiAdBlocker:o},mobile:i,pageRequestUuid4:r,individualPrivacyOpen:a}){return{className:"y"===o?void 0:"rcb-footer",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===(0,L.D)(i,r,t,"banner")?+(a&&!n.inheritBannerMaxWidth?n.bannerMaxWidth:e):void 0,margin:"auto",lineHeight:1.8}}}(n),h(p)))}));var _t=n(7029).h;const Yt=()=>{const t=(0,E.S)(),{layout:{type:e,dialogBorderRadius:n},decision:{acceptAll:o,acceptEssentials:r,showCloseIcon:a},mobile:s,individualPrivacyOpen:c,design:{bg:l},bodyDesign:{teachingsFontColor:d,acceptEssentialsUseAcceptAll:u},activeAction:p,pageRequestUuid4:h}=t,f="bnnr-body-rightSide-".concat(h),m="cntnt-".concat(h),g=(0,i.sO)(),{current:b}=g,v=u?o:r;let y=!0;!s.hideHeader||p||c||"hide"===v&&a||(y=(0,L.D)(s,h,y,!1));const[k,w]=(0,i.eJ)(!1),x=(0,i.I4)((()=>{if(b){const{clientHeight:t,scrollHeight:e,scrollTop:n,offsetHeight:o}=b,i=t<e,r=Math.ceil(n+o)>=e,a=i&&!r&&!c;k!==a&&w(a)}}),[b,c,k]);x(),(0,i.bt)((()=>b?(b.addEventListener("scroll",x),()=>b.removeEventListener("scroll",x)):()=>{}),[b,x]),(0,P.G)(k?"#".concat(f," {box-shadow:var(--boxShadowShowScroll);}"):""),(0,P.G)("Win32"===navigator.platform&&"dialog"===e&&n>0?["#".concat(m,"{overflow:overlay!important;}"),"#".concat(m,"::-webkit-scrollbar{width:11px;}"),"#".concat(m,"{scrollbar-width:thin;scrollbar-color:").concat(d," transparent;}"),"#".concat(m,"::-webkit-scrollbar-track{background:transparent;}"),"#".concat(m,"::-webkit-scrollbar-thumb{background-color:").concat(d,";border-radius:").concat(n,"px;border:3px solid ").concat(l,";}"),"#".concat(m,">div{border-top-right-radius:0!important;border-bottom-right-radius:0!important;}")].join("\n"):"");const C=(0,i.sO)(),S=(0,i.sO)(),A=(0,i.sO)();return F(C.current,"header"),F(S.current,"footer"),F(A.current,"rightSideContainer"),_t("div",(0,B.Z)({},function({layout:{type:t},customCss:{antiAdBlocker:e},decision:{showCloseIcon:n},activeAction:o,individualPrivacyOpen:i,mobile:r,pageRequestUuid4:a}){var s;const c=(null===(s=document.getElementById(a))||void 0===s?void 0:s.clientHeight)||window.innerHeight,l=+r.maxHeight,d=l>c?c:l,u=n||o?51:0;return{className:"y"===e?void 0:"rcb-content",style:{position:"relative",maxHeight:(0,L.D)(r,a,c-("banner"===t?0:20)-u,i?c-u:d-u),overflow:"auto"}}}(t),{ref:g,id:m}),y&&_t(i.HY,null,_t(et,{ref:C}),_t("div",function({layout:{type:t},design:e,headerDesign:{borderWidth:n,borderColor:o},customCss:{antiAdBlocker:i},mobile:r,pageRequestUuid4:a}){const s=(0,L.D)(r,a,e.borderWidth),c={height:(0,L.D)(r,a,+n),background:o,position:"sticky",top:"var(--rendered-height-header)",zIndex:9};return"dialog"===(0,L.D)(r,a,t,"banner")&&s>0&&(c.borderLeft="".concat(s,"px solid ").concat(e.borderColor),c.borderRight=c.borderLeft),{className:"y"===i?void 0:"rcb-header-separator",style:c}}(t))),_t(Lt,{rightSideContainerRef:A}),_t("div",function({layout:{type:t},design:e,footerDesign:{borderWidth:n,borderColor:o},customCss:{antiAdBlocker:i},mobile:r,pageRequestUuid4:a}){const s=(0,L.D)(r,a,e.borderWidth),c={height:(0,L.D)(r,a,+n),background:o,position:"sticky",bottom:"var(--rendered-height-footer)"};return"dialog"===(0,L.D)(r,a,t,"banner")&&s>0&&(c.borderLeft="".concat(s,"px solid ").concat(e.borderColor),c.borderRight=c.borderLeft),{className:"y"===i?void 0:"rcb-footer-separator",style:c}}(t)),_t(Mt,{ref:S}))};var Ut=n(7029).h;const Ft=()=>{const t=(0,E.S)(),{layout:{animationInDuration:e,animationOutDuration:n},animationVisible:o}=t,{useAnimationIn:i,useAnimationOut:r}=D()(t.layout),[a,s]=H(i,e),[c,l]=H("none"===r?"fadeOut":r,"none"===r?0:n);return Ut(U,(0,B.Z)({animationIn:a,animationInDuration:s,animationOut:c,animationOutDuration:l,isVisible:o},function({layout:{type:t,dialogMaxWidth:e,dialogPosition:n,dialogMargin:o,bannerPosition:i,dialogBorderRadius:r},design:{borderWidth:a,borderColor:s,textAlign:c,fontColor:l,fontInheritFamily:d,fontFamily:u,fontWeight:p,boxShadowEnabled:h,boxShadowOffsetX:f,boxShadowOffsetY:m,boxShadowBlurRadius:g,boxShadowSpreadRadius:b,boxShadowColor:v,boxShadowColorAlpha:y},individualLayout:k,customCss:{antiAdBlocker:w},mobile:x,pageRequestUuid4:C,individualPrivacyOpen:S}){const{alignment:A}=x,O=(0,L.D)(x,C,t,"banner"),D=(0,L.D)(x,C,a),I="dialog"===O?+(S&&!k.inheritDialogMaxWidth?k.dialogMaxWidth:e):"100%",E={pointerEvents:"all",transition:"width 500ms, max-width 500ms",maxWidth:I,textAlign:c,width:I,overflow:"hidden",alignSelf:(0,L.D)(x,C,"banner"===O?"top"===i?"flex-start":"flex-end":void 0,"bottom"===A?"flex-end":"top"===A?"flex-start":"center"),fontFamily:d?void 0:u,fontWeight:p,color:l,margin:"dialog"===O?10:void 0,borderRadius:"dialog"===O?+r:void 0,boxShadow:h?"".concat(f,"px ").concat(m,"px ").concat(g,"px ").concat(b,"px ").concat(M(v,y)):void 0,["banner"===O?"top"===i?"borderBottom":"borderTop":"border"]:"banner"===O&&D>0?"".concat(D,"px solid ").concat(s):void 0};return"dialog"===O&&"middleCenter"!==n&&(E.margin=o.map((t=>"".concat(t,"px"))).join(" ")),{className:"y"===w?void 0:"rcb-inner",style:E}}(t)),Ut(Yt,null))};var Gt=n(7029).h;const qt=()=>{const t=(0,E.S)(),{customCss:{antiAdBlocker:e,css:n},visible:o,animationVisible:r,activeAction:a,skipOverlay:s,gotHiddenDueLegal:c,pageRequestUuid4:l,individualPrivacyOpen:d}=t,u=S(t),p=o&&!u||!!a;(0,P.G)(e?n:""),(0,P.G)("#".concat(l,", #").concat(l," * {box-sizing: border-box;backface-visibility:initial;text-transform:initial;-webkit-text-size-adjust:100%;}")),function(t){const e=(0,E.S)(),{layout:{overlay:n,overlayBlur:o},pageRequestUuid4:r,animationVisible:a}=e,s=t&&n&&a,c="rcb-overlay-active";(0,i.d4)((()=>{const{dataset:t,style:e,classList:n}=document.body;void 0===t.rcbPreviousOverflow&&(t.rcbPreviousOverflow=e.overflow),e.overflow=s?"hidden":t.rcbPreviousOverflow,document.body.parentElement.style.overflow=e.overflow,s?n.add(c):n.remove(c)}),[s])}(p);const[,h]=(0,i.eJ)(0),f=()=>h(+new Date);if((0,i.bt)((()=>(window.addEventListener("resize",f),()=>window.removeEventListener("resize",f))),[]),(0,i.bt)((()=>{(0,T.s)(1e3)}),[r,d]),c&&(0,i.d4)((()=>{c(u)}),[u]),function(){const t=(0,E.S)(),{consent:e,groups:n,tcf:o,activeAction:r,selectHistoryEntry:a,fetchHistory:s}=t,[c,l]=(0,i.eJ)({consent:e,groups:n,tcf:o});(0,i.d4)((()=>{r||l({consent:e,groups:n,tcf:o})}),[e,n,o,r]),(0,i.d4)((()=>{if("history"===r)l({consent:e,groups:n,tcf:o}),async function(){const t=await s();if(t.length){const[{groups:e,decision:n,tcf:o}]=t;a(e,n,o)}else a([],[])}();else{const{groups:t,consent:{groups:e},tcf:n}=c;null==a||a(t,e,n)}}),[r])}(),function(){const{openBanner:t,openHistory:e,revokeConsent:n}=(0,E.S)();(0,i.d4)((()=>{const o=(o,i,r)=>{if(t)switch(o){case"change":t(r);break;case"history":e(r);break;case"revoke":n(i,r)}},i=e=>{if(!t)return;const n=e.target;(0,N.w)(n,z).concat((0,R.D)(n,z)?[n]:[]).forEach((t=>{o(t.getAttribute("href").slice(9),t.getAttribute("data-success-message"),e)})),(0,R.D)(n,".rcb-sc-link")&&o(n.getAttribute("href").slice(1),n.getAttribute("data-success-message"),e)},r=()=>{const{hash:t}=window.location;t.startsWith("#consent-")&&o(t.substring(9),void 0,void 0)};return window.addEventListener("hashchange",r),document.addEventListener("click",i,!0),()=>{window.removeEventListener("hashchange",r),document.removeEventListener("click",i,!0)}}),[t,e,n])}(),!p)return null;const m=Gt("div",function({layout:{type:t,dialogPosition:e},customCss:{antiAdBlocker:n},mobile:o,pageRequestUuid4:i}){const r={display:"flex",width:"100%",height:"100%"};return"dialog"===(0,L.D)(o,i,t,"banner")&&(r.alignItems=e.startsWith("top")?"flex-start":e.startsWith("bottom")?"flex-end":"center",r.justifyContent=e.endsWith("Center")?"center":e.endsWith("Left")?"flex-start":"flex-end"),{className:"wp-exclude-emoji ".concat("y"===n?"":"rcb-align"),style:r}}(t),Gt(Ft,null));return s?m:Gt("div",(0,B.Z)({id:l},function({layout:{type:t,overlay:e,overlayBg:n,overlayBgAlpha:o},design:{fontSize:i},customCss:{antiAdBlocker:r},mobile:a,pageRequestUuid4:s}){return{className:"y"===r?void 0:"rcb-bann3r rcb-bann3r-".concat((0,L.D)(a,s,t,"banner")," ").concat(e?"":"overlay-deactivated"),style:{background:e?M(n,o):"none",position:"fixed",top:0,left:0,right:0,bottom:0,zIndex:999999,pointerEvents:e?"all":"none",fontSize:(0,L.D)(a,s,+i),filter:"none",maxHeight:"100vh"}}}(t)),m)},Xt={path:"/consent",method:x.O.GET};var jt=n(1100),Vt=n(7029).h;const Jt=({poweredLink:t})=>{const{customizeValuesBanner:{layout:e,decision:n,legal:o,design:p,headerDesign:m,bodyDesign:g,footerDesign:x,texts:B,individualLayout:T,saveButton:P,group:N,individualTexts:R,customCss:z,mobile:L},pageId:H,pageRequestUuid4:W,pageIdToPermalink:M,consentForwardingExternalHosts:_,essentialGroup:Y,isTcf:U,isEPrivacyUSA:F,isAgeNotice:G,isListServicesNotice:q,tcf:X,tcfMetadata:j,groups:V,userConsentCookieName:J,bannerI18n:Z,affiliate:$,isCurrentlyInTranslationEditorPreview:Q,pageByIdUrl:K}=(0,r.u)(),tt=(0,f.h)(J),et=function(t,e,n){return(0,i.Ye)((()=>{}),[t,e,n])}(U,X,j),{toggleOverlay:nt}=function(t){const e=D(),n=(0,i.I4)((({layout:n},o)=>{const{animationInDuration:i,animationOutDuration:r}=n,{useAnimationIn:a,useAnimationOut:s}=e(n),c=o?"none"===a?0:i:"none"===s?0:r;c>0&&(t.style.transition="background ".concat(c,"ms")),t.style.background="transparent",o?(setTimeout((()=>{t.style.display="block"}),0),setTimeout((()=>{const e=t.getAttribute("data-bg");t.style.background=e?e.split(":")[1].trim().replace(";",""):"transparent"}),100)):setTimeout((()=>{t.style.display="none"}),c);const l={animationVisible:o};return o?{visible:!0,...l}:l}),[e]);return{overlay:t,toggleOverlay:n}}(document.getElementById(W)),{openHistory:ot,openBanner:it,revokeConsent:rt,updateTcfFilterBy:at,updateIndividualPrivacyOpen:st,updateGroupChecked:ct,updateCookieChecked:lt,onClose:dt,selectHistoryEntry:ut}=function({toggleOverlay:t,revokeConsent:e}){const n=(e,n)=>e((e=>({...e,activeAction:n,individualPrivacyOpen:!0,refreshSiteAfterSave:"change"===n&&2e3,...t(e,!0)})));return{openHistory:(t,...e)=>{n(t,"history"),I(e[0])},openBanner:(t,...e)=>{n(t,"change"),I(e[0])},revokeConsent:(t,...n)=>{const[o,i]=n;t((t=>(e(t).then((()=>{o&&alert(o),setTimeout((()=>window.location.reload()),2e3)})),t))),I(i)},updateTcfFilterBy:(t,...e)=>{const[n]=e;t((t=>({...t,tcfFilterBy:n})))},updateIndividualPrivacyOpen:(t,...e)=>{const[n]=e;t((t=>({...t,individualPrivacyOpen:n})))},updateGroupChecked:(t,...e)=>{const[n,o]=e;t((t=>{const e=JSON.parse(JSON.stringify(t.consent));return o?e.groups[n]=t.groups.filter((t=>t.id===n))[0].items.map((({id:t})=>t)):delete e.groups[n],{...t,consent:e,didGroupFirstChange:!0}}))},updateCookieChecked:(t,...e)=>{const[n,o,i]=e;t((t=>{const e=JSON.parse(JSON.stringify(t.consent));e.groups[n]||(e.groups[n]=[]);const r=e.groups[n],a=r.indexOf(o);return i&&-1===a?r.push(o):!i&&a>-1&&r.splice(a,1),r.length||delete e.groups[n],{...t,consent:e}}))},onClose:e=>{e((e=>({...e,...t(e,!1),refreshSiteAfterSave:!1})))},selectHistoryEntry:(t,...e)=>{const[n,o,i]=e;t((t=>{const e={isTcf:!!i,tcf:null};return{...t,groups:n,consent:{...t.consent,groups:o},...e}}))}}}({toggleOverlay:nt,revokeConsent:({tcf:t})=>(0,A.$)({consent:{groups:(0,s.b)().getDefaultDecision(!0)},buttonClicked:"shortcode_revoke",tcfString:void 0})}),[pt,ht]=(0,i.eJ)({layout:{...e},decision:{...n},legal:{...o},design:{...p},headerDesign:{...m},bodyDesign:{...g},footerDesign:{...x},texts:{...B},individualLayout:{...T},saveButton:{...P},group:{...N},individualTexts:{...R},customCss:{...z},mobile:{...L},productionNotice:Vt(jt.Z,null),pageRequestUuid4:W,pageIdToPermalink:M,pageByIdUrl:K,consentForwardingExternalHosts:_,pageId:H,isTcf:U,ePrivacyUSA:F,ageNotice:G,listServicesNotice:q,tcf:et,tcfFilterBy:"legInt",groups:V,essentialGroup:Y,poweredLink:t,visible:!1,animationVisible:!0,skipOverlay:!0,previewCheckboxActiveState:!1,individualPrivacyOpen:!1,i18n:Z,keepVariablesInTexts:Q,affiliate:$,consent:{groups:{...!1===tt?{}:tt.consent,...(0,s.b)().getDefaultDecision(!1===tt)}},didGroupFirstChange:!1,onSave:(t,e)=>{ht((n=>{const o=(0,A.$)({consent:n.consent,markAsDoNotTrack:t,buttonClicked:e,tcfString:void 0});return n.refreshSiteAfterSave?(o.then((()=>setTimeout((()=>window.location.reload()),n.refreshSiteAfterSave||2e3))),n):{...n,...nt(n,!1)}}))},fetchHistory:async()=>{const{restNamespace:t,restRoot:e,restQuery:n,restNonce:o}=(0,a.m)(),i=await(0,w.D)({location:Xt,options:{restNamespace:t,restRoot:e,restQuery:n,restNonce:o},cookieValueAsParam:[J],sendRestNonce:!1});return ht((t=>({...t,history:i}))),i},updateTcfFilterBy:t=>at(ht,t),updateIndividualPrivacyOpen:t=>st(ht,t),updateGroupChecked:(t,e)=>ct(ht,t,e),updateCookieChecked:(t,e,n)=>lt(ht,t,e,n),onClose:()=>dt(ht),selectHistoryEntry:(t,e,n)=>ut(ht,t,e,n),openHistory:t=>ot(ht,t),openBanner:t=>it(ht,t),revokeConsent:(t,e)=>rt(ht,t,e)});(function(t,e,n){(0,i.d4)((()=>{if((0,r.u)().customizeIdsBanner)return;const{restNamespace:o,restRoot:i,restQuery:p,restNonce:m,others:{isAcceptAllForBots:g,isPreventPreDecision:x,hasDynamicPreDecisions:A,isRespectDoNotTrack:O}}=(0,a.m)(),{onSave:D}=t;var I,E,B;!async function(t,e){let n=!0;const o=t instanceof c.G?t.getOptions():t,{gateways:i,args:r,onIsDoNotTrack:a,onShowCookieBanner:s}=e;for(const t of i){const e=await t(o,...r);if(!1!==e){n=!1;const t=t=>(0,l.n)({type:t,...o});"all"===e?t("all"):"essentials"===e?t("essentials"):"dnt"===e?a((()=>t("essentials"))):"consent"===e&&t("consent");break}}n&&(s(),await(0,u.C)(),document.dispatchEvent(new CustomEvent(d.I,{detail:{}})))}((0,s.b)(),{gateways:[h,(B=["login-action-"],async()=>{const{className:t}=document.body;return B.filter((e=>t.indexOf(e)>-1)).length>0&&"consent"}),v((()=>{const{clientWidth:t,clientHeight:e}=document.documentElement;return(0,w.D)({location:C,options:{restNamespace:o,restRoot:i,restQuery:p,restNonce:m},sendRestNonce:!1,request:{viewPortWidth:t,viewPortHeight:e},params:{_wp_http_referer:window.location.href}})}),1e4,A),async(t,e)=>!!S(e)&&"consent",(E=x,async({decisionCookieName:t})=>{const e=(0,f.h)(t);return!(!E||!1!==e)&&(b()?"all":"consent")}),(I=!!g&&"all",async({decisionCookieName:t})=>!(!1!==(0,f.h)(t)||!I)&&!!b()&&I),y(O),k],args:[t],onIsDoNotTrack:()=>{D(!0,"none")},onShowCookieBanner:()=>e((t=>({...t,consent:{groups:(0,s.b)().getDefaultDecision()},...n(t,!0)})))})}),[])})(pt,ht,nt),function(t,e){(0,i.d4)((()=>{const n=()=>{const n=(0,f.h)(e);n&&t((t=>({...t,consent:{groups:n.consent}})))};return document.addEventListener(O.V,n),()=>{document.removeEventListener(O.V,n)}}),[])}(ht,J);const ft=E.k.Context();return Vt(ft.Provider,{value:pt},Vt(qt,null))};var Zt=n(6346),$t=n(3102),Qt=n(9575);async function Kt(t,e=500,n=0){let o=0;for(;!t();){if(n>0&&o>=n)return;await new Promise((t=>setTimeout(t,e))),o++}return t()}let te=0;const ee={path:"/consent/clear",method:x.O.DELETE};var ne=n(9302),oe=n(1456),ie=n(1829);function re(t,e,n){const o=[],{groups:i,revisionHash:a}=(0,r.u)(),s=i.map((({items:t})=>t)).flat();for(const i of s)if("number"==typeof t)i.id===t&&o.push({cookie:i,relevance:10});else{const{technicalDefinitions:r}=i;if(null!=r&&r.length)for(const a of r){const s=(0,ie.L)(a.name);if(a.type===t&&(a.name===e||e.match(s))&&(a.host===n||"*"===n)){o.push({cookie:i,relevance:r.length+r.indexOf(a)+1});break}}}const c=(0,f.h)((0,r.u)().userConsentCookieName);if(o.length){const t=o.sort((({relevance:t},{relevance:e})=>t-e))[0].cookie;return c&&a===c.revision?Object.values(c.consent).flat().indexOf(t.id)>-1?{cookie:t,consentGiven:!0,cookieOptIn:!0}:{cookie:t,consentGiven:!0,cookieOptIn:!1}:{cookie:t,consentGiven:!1,cookieOptIn:!1}}return{cookie:null,consentGiven:!!c,cookieOptIn:!0}}function ae(...t){return new Promise(((e,n)=>{const{cookie:o,consentGiven:i,cookieOptIn:r}=re(...t);o?i?r?e():n():(document.addEventListener(Qt.g,(async({detail:{service:t}})=>{t===o&&e()})),document.addEventListener(oe.E,(async({detail:{service:t}})=>{t===o&&n()}))):e()}))}function se(t){return Promise.all(t.map((t=>ae(...t))))}var ce=n(4312),le=n(5447),de=n(5672),ue=n(7029).h;n.p=(0,ce.sE)("real-cookie-banner"),document.addEventListener(Qt.g,(async({detail:{service:{presetId:t,codeOptIn:e,codeDynamics:n}}})=>{switch(t){case"amazon-associates-widget":{const{amznAssoWidgetHtmlId:t}=n||{};if(t){const o=document.getElementById(t);if(o){const t=te;te++,(0,Zt.K)(e,n,o);const i=await Kt((()=>document.querySelector('[id^="amzn_assoc_ad_div_"][id$="'.concat(t,'"]'))),500,50);i&&o.appendChild(i)}}break}case"google-maps":document.addEventListener($t.T,(async({detail:{element:t}})=>{const{et_pb_map_init:e,jQuery:n}=window;n&&t.matches(".et_pb_map")&&e&&(await Kt((()=>window.google)),e(n(t).parent()))}))}})),function(){const t=(0,r.u)(),{isTcf:e}=t}(),(0,u.C)((()=>{const{pageRequestUuid4:t}=(0,r.u)(),e=(0,de.U)("".concat(t,"-powered-by")),n=function(t){const{body:e}=document,{parentElement:n}=t;return n!==e&&e.appendChild(t),t}(document.getElementById(t));!function(t,e){const n=Array.prototype.slice.call(document.querySelectorAll(".rcb-consent-history-uuids"));document.addEventListener(d.I,(()=>{n.forEach((t=>t.innerHTML=t.getAttribute("data-fallback")))})),document.addEventListener(O.V,(()=>{const t=(0,f.h)(e instanceof c.G?e.getOption("decisionCookieName"):e),o=t?[t.uuid,...t.previousUuids]:[];n.forEach((t=>t.innerHTML=o.length>0?o.join(", "):t.getAttribute("data-fallback")))}))}(0,(0,s.b)()),document.addEventListener(le.C,(async({detail:{deleteHttpCookies:t}})=>{t.length&&setTimeout((()=>function(t){const{restNamespace:e,restRoot:n,restQuery:o,restNonce:i}=(0,a.m)();return(0,w.D)({location:ee,options:{restNamespace:e,restRoot:n,restQuery:o,restNonce:i},sendRestNonce:!1,params:{cookies:t.join(",")}})}(t)),0)})),n&&(0,i.sY)(ue(Jt,{poweredLink:e}),n)}),"interactive"),window&&(window.consentApi=o)},1100:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});var o=n(3438),i=n(7029).h;const r=()=>{const{isPro:t,isLicensed:e,isDevLicense:n,bannerI18n:{noLicense:r,devLicense:a}}=(0,o.u)();if(!t)return null;let s="";return n?s=a:e||(s=r),s?i("div",{style:{fontSize:13,color:"#c95252",fontWeight:"bold",order:9}},s):null}},6423:(t,e,n)=>{"use strict";n.d(e,{$:()=>l});const o={path:"/consent",method:n(6811).O.POST};var i=n(625),r=n(3438);function a({endpoints:t,data:e}){const{isPro:n}=(0,r.u)();if(n){const n=[];for(const o of t)n.push(window.fetch(o,{method:"POST",credentials:"include",headers:{"Content-Type":"application/json;charset=utf-8"},body:JSON.stringify(e)}));return Promise.all(n)}return Promise.reject()}var s=n(6886),c=n(3075);async function l({consent:t,markAsDoNotTrack:e=!1,buttonClicked:n,blocker:r=0,blockerThumbnail:l,tcfString:d}){const{clientWidth:u,clientHeight:p}=document.documentElement,{restNamespace:h,restRoot:f,restQuery:m,restNonce:g}=(0,i.m)(),{forward:b,uuid:v,cookie_revision:y,decision_in_cookie:k}=await(0,c.D)({location:o,options:{restNamespace:h,restRoot:f,restQuery:m,restNonce:g},sendRestNonce:!1,request:{...t,markAsDoNotTrack:e,buttonClicked:n,viewPortWidth:u,viewPortHeight:p,blocker:r,blockerThumbnail:l,tcfString:d},params:{_wp_http_referer:window.location.href}});window.rcbDisabledCookieComp={uuid:v,previousUuids:[],revision:y,consent:k},await Promise.all([b&&a(b),(0,s.b)().applyCookies({type:"consent"})].filter(Boolean))}},6886:(t,e,n)=>{"use strict";n.d(e,{b:()=>s});var o=n(8218),i=n(625);function r(t){const e=(0,i.m)().version.split(".");return+("major"===t?e[0]:e.map((t=>+t<10?"0".concat(t):t)).join(""))}var a=n(3438);function s(){const{userConsentCookieName:t,revisionHash:e,setCookiesViaManager:n,groups:i,essentialGroup:s}=(0,a.u)();return window.rcbConsentManager||(window.rcbConsentManager=new o.G({decisionCookieName:t,essentialGroupSlug:s,groups:i,revisionHash:e,supportsCookiesName:"real_cookie_banner-test",tagManager:n,skipOptIn:function(t){const{presetId:e}=t;return["amazon-associates-widget"].indexOf(e)>-1},cmpId:367,cmpVersion:r("major"),tcfCookieName:"".concat(t,"-tcf")})),window.rcbConsentManager}},625:(t,e,n)=>{"use strict";function o(){return window["real-cookie-banner".replace(/-([a-z])/g,(t=>t[1].toUpperCase()))]}n.d(e,{m:()=>o})},3438:(t,e,n)=>{"use strict";n.d(e,{u:()=>i});var o=n(625);function i(){return(0,o.m)().others}},3428:t=>{"use strict";t.exports="/*! Hint.css - v2.7.0 - 2021-10-01\n* https://kushagra.dev/lab/hint/\n* Copyright (c) 2021 Kushagra Gour */\n\n[class*=hint--]{position:relative;display:inline-block}[class*=hint--]:after,[class*=hint--]:before{position:absolute;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;-webkit-transition:.3s ease;-moz-transition:.3s ease;transition:.3s ease;-webkit-transition-delay:0s;-moz-transition-delay:0s;transition-delay:0s}[class*=hint--]:hover:after,[class*=hint--]:hover:before{visibility:visible;opacity:1;-webkit-transition-delay:.1s;-moz-transition-delay:.1s;transition-delay:.1s}[class*=hint--]:before{content:'';position:absolute;background:0 0;border:6px solid transparent;z-index:1000001}[class*=hint--]:after{background:#383838;color:#fff;padding:8px 10px;font-size:12px;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;line-height:12px;white-space:nowrap;text-shadow:0 -1px 0 #000;box-shadow:4px 4px 8px rgba(0,0,0,.3)}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label='']:after,[aria-label='']:before,[data-hint='']:after,[data-hint='']:before{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#383838}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#383838}.hint--top:after,.hint--top:before{bottom:100%;left:50%}.hint--top:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}.hint--top:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--top:hover:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}.hint--bottom:after,.hint--bottom:before{top:100%;left:50%}.hint--bottom:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}.hint--bottom:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--bottom:hover:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}.hint--right:before{border-right-color:#383838;margin-left:-11px;margin-bottom:-6px}.hint--right:after{margin-bottom:-14px}.hint--right:after,.hint--right:before{left:100%;bottom:50%}.hint--right:hover:after,.hint--right:hover:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--left:before{border-left-color:#383838;margin-right:-11px;margin-bottom:-6px}.hint--left:after{margin-bottom:-14px}.hint--left:after,.hint--left:before{right:100%;bottom:50%}.hint--left:hover:after,.hint--left:hover:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--top-left:after,.hint--top-left:before{bottom:100%;left:50%}.hint--top-left:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}.hint--top-left:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--top-left:hover:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}.hint--top-right:after,.hint--top-right:before{bottom:100%;left:50%}.hint--top-right:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}.hint--top-right:hover:after,.hint--top-right:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--bottom-left:after,.hint--bottom-left:before{top:100%;left:50%}.hint--bottom-left:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}.hint--bottom-left:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--bottom-left:hover:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}.hint--bottom-right:after,.hint--bottom-right:before{top:100%;left:50%}.hint--bottom-right:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}.hint--bottom-right:hover:after,.hint--bottom-right:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--large:after,.hint--medium:after,.hint--small:after{white-space:normal;line-height:1.4em;word-wrap:break-word}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}.hint--error:after{background-color:#b34e4d;text-shadow:0 -1px 0 #592726}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{background-color:#c09854;text-shadow:0 -1px 0 #6c5328}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{background-color:#3986ac;text-shadow:0 -1px 0 #1a3c4d}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{background-color:#458746;text-shadow:0 -1px 0 #1a321a}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--top:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}.hint--always.hint--top-left:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--top-left:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}.hint--always.hint--top-right:after,.hint--always.hint--top-right:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--bottom:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--bottom:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}.hint--always.hint--bottom-left:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--bottom-left:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}.hint--always.hint--bottom-right:after,.hint--always.hint--bottom-right:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--left:after,.hint--always.hint--left:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--always.hint--right:after,.hint--always.hint--right:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:after,.hint--no-animate:before{-webkit-transition-duration:0s;-moz-transition-duration:0s;transition-duration:0s}.hint--bounce:after,.hint--bounce:before{-webkit-transition:opacity .3s ease,visibility .3s ease,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s ease,visibility .3s ease,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s ease,visibility .3s ease,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:after,.hint--no-shadow:before{text-shadow:initial;box-shadow:initial}.hint--no-arrow:before{display:none}"}},n={};function o(t){var i=n[t];if(void 0!==i)return i.exports;var r=n[t]={exports:{}};return e[t].call(r.exports,r,r.exports,o),r.exports}o.m=e,t=[],o.O=(e,n,i,r)=>{if(!n){var a=1/0;for(d=0;d<t.length;d++){for(var[n,i,r]=t[d],s=!0,c=0;c<n.length;c++)(!1&r||a>=r)&&Object.keys(o.O).every((t=>o.O[t](n[c])))?n.splice(c--,1):(s=!1,r<a&&(a=r));if(s){t.splice(d--,1);var l=i();void 0!==l&&(e=l)}}return e}r=r||0;for(var d=t.length;d>0&&t[d-1][2]>r;d--)t[d]=t[d-1];t[d]=[n,i,r]},o.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return o.d(e,{a:e}),e},o.d=(t,e)=>{for(var n in e)o.o(e,n)&&!o.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),o.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),o.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},(()=>{var t;o.g.importScripts&&(t=o.g.location+"");var e=o.g.document;if(!t&&e&&(e.currentScript&&(t=e.currentScript.src),!t)){var n=e.getElementsByTagName("script");n.length&&(t=n[n.length-1].src)}if(!t)throw new Error("Automatic publicPath is not supported in this browser");t=t.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),o.p=t})(),(()=>{var t={392:0};o.O.j=e=>0===t[e];var e=(e,n)=>{var i,r,[a,s,c]=n,l=0;if(a.some((e=>0!==t[e]))){for(i in s)o.o(s,i)&&(o.m[i]=s[i]);if(c)var d=c(o)}for(e&&e(n);l<a.length;l++)r=a[l],o.o(t,r)&&t[r]&&t[r][0](),t[a[l]]=0;return o.O(d)},n=self.webpackChunkrealCookieBanner_name_=self.webpackChunkrealCookieBanner_name_||[];n.forEach(e.bind(null,0)),n.push=e.bind(null,n.push.bind(n))})();var i=o.O(void 0,[568],(()=>o(9181)));i=o.O(i),realCookieBanner_banner=i})();
2
  //# sourceMappingURL=banner.lite.js.map
public/dist/banner.lite.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"banner.lite.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///../../dev-packages/wp-webpack/src/emptyModule.js","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/getManagerDependingVariables.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/getServiceSelection.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/apply.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/optIn.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/optInOutManager.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/optOut.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/deleteCookiesLocally.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/manager.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/getDefaultDecision.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/getUserDecision.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/explode.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/bannerPredecisionShow.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/optIn.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/optInAll.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/optOut.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/optOutAll.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/ready.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/regExpPatternFromWildcardName.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/pregQuote.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/supportsCookies.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/dom/applyDynamicsToHtml.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/dom/htmlAttributes.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/dom/putHtmlCodeToDom.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/events/optInContentBlocker.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/dispatchResizeEvent.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/htmlDecode.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/isUrl.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/parents.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/asciiSpinner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/plainAntdIconAsSvg.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/checkbox.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/checkbox.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/groups/cookieProperty.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/cookieProperty.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/groups/cookiePropertyList.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/groups/cookie.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/cookie.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/tooltip.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/contexts/banner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/contexts/blocker.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/footer/link.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/footer/link.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/footer/poweredByLink.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/jsxJoin.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/common/useCommonFooterLink.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/common/useCommonTeachings.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useBannerOrBlocker.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useLegalLinks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/usePlainCss.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/body/teaching.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/body/teachingSeparator.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/linkMore.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/header/headline.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/scale.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/others/getSsrPoweredByLink.tsx","webpack:///../../frontend-packages/resolve-none-computed-style/src/matchingSelector.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/commonUrlBuilder.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/nonceDeprecationPool.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/parseResult.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/commonRequest.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/routeHttpVerbEnum.tsx","webpack:///../../wordpress-packages/utils/lib/helpers.tsx","webpack:///./src/public/ts/api/unblock.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/supportsCookies.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/isCrawler.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/dynamicRequest.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/promiseTimeout.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/isDoNotTrack.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/isDoNotTrack.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/userConsent.tsx","webpack:///./src/public/ts/wp-api/consentDynamicPredecision.get.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/others/isHiddenDueLegal.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerAnimation.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/index.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerStateContextCallbacks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerActionLinks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useResettableAnimation.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/hexToRgb.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/calculateRgba.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/animateCss.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useRenderedHeightsAsCssVars.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerButtonCallbacks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/portal.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/closeIcon.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/header/closeIcon.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/header/header.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/container.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/header.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/logo.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/sectionTitle.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/title.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/description.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/linkMore.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/cookie.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/group.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/group.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/list.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/groups.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/dottedGroup.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/dottedGroupItem.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/dottedGroupBullet.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/dottedGroupList.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/dottedGroups.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/historySelect.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/historySelectOption.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/historySelect.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/common.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/acceptEssentials.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/acceptIndividual.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/save.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/acceptAll.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/button.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/isIE.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/buttonList.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/body.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/leftSide.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/description.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/rightSide.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/container.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/body.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/footer/footer.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/footer/container.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/footer/footer.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/content.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/content/content.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/separator.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/footer/separator.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/animatedContent.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/content/inner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/banner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useRestrictScrollWhenVisible.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerHistory.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/overlay/alignment.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/overlay/overlay.tsx","webpack:///./src/public/ts/wp-api/consent.get.tsx","webpack:///./src/public/ts/components/websiteBanner.tsx","webpack:///./src/public/ts/hooks/useTcf.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerToggleOverlay.tsx","webpack:///./src/public/ts/hooks/useBannerPreDecisionGateway.tsx","webpack:///./src/public/ts/utils/isCustomize.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/isCrawler.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/isPreventPreDecision.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/hasPageClass.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/gateway.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerConsentListener.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/waitObject.tsx","webpack:///./src/public/ts/others/comp/listenPresetOptIn.tsx","webpack:///./src/public/ts/wp-api/consentClear.delete.tsx","webpack:///./src/public/ts/api/consentSync.tsx","webpack:///./src/public/ts/api/consent.tsx","webpack:///./src/public/ts/api/consentAll.tsx","webpack:///./src/public/ts/banner.tsx","webpack:///./src/public/ts/tcf/cmpApi.tsx","webpack:///./src/public/ts/utils/ensureBodyElement.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/printConsentUuidsToHTMLElement.tsx","webpack:///./src/public/ts/others/deleteCookiesServer.tsx","webpack:///./src/public/ts/components/bannerProductionNotice.tsx","webpack:///./src/public/ts/wp-api/consent.post.tsx","webpack:///./src/public/ts/others/applyConsentForwarding.tsx","webpack:///./src/public/ts/others/applyConsent.tsx","webpack:///./src/public/ts/utils/getCmpVersion.tsx","webpack:///./src/public/ts/others/getCookieConsentManager.tsx","webpack:///./src/public/ts/utils/getOptionsFromWindow.tsx","webpack:///./src/public/ts/utils/getOtherOptionsFromWindow.tsx","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","module.exports = {};\n","export const LABEL_GTM = \"Google Tag Manager\";\nexport const LABEL_MTM = \"Matomo Tag Manager\";\n\nfunction getManagerDependingVariables(setCookiesViaManager, presetId) {\n let useGlobalObjectName;\n let getDataLayer;\n let serviceIsManager = false;\n let managerLabel = \"\";\n let expectedManagerPresetId;\n\n if (setCookiesViaManager && setCookiesViaManager !== \"none\") {\n const isGtm = setCookiesViaManager === \"googleTagManager\";\n const isMtm = setCookiesViaManager === \"matomoTagManager\";\n\n if (isGtm) {\n expectedManagerPresetId = \"gtm\";\n useGlobalObjectName = \"dataLayer\";\n managerLabel = LABEL_GTM;\n } else if (isMtm) {\n expectedManagerPresetId = \"mtm\";\n useGlobalObjectName = \"_mtm\";\n managerLabel = LABEL_MTM;\n }\n\n if (isGtm || isMtm) {\n getDataLayer = () => {\n window[useGlobalObjectName] = window[useGlobalObjectName] || [];\n return window[useGlobalObjectName];\n };\n }\n\n if (expectedManagerPresetId && presetId === expectedManagerPresetId) {\n serviceIsManager = true;\n }\n }\n\n return {\n getDataLayer,\n serviceIsManager,\n managerLabel,\n expectedManagerPresetId\n };\n}\n\nexport { getManagerDependingVariables };","import { getUserDecision } from \".\";\nimport { getManagerDependingVariables } from \"../apply\";\n\n/**\n * Read the selected groups + services depending on the passed type.\n */\nfunction getServiceSelection({\n decisionCookieName,\n tagManager,\n groups,\n essentialGroupSlug,\n type\n}) {\n let selectedGroups;\n const isManagerActive = tagManager && tagManager !== \"none\";\n const [essentialGroupObj] = groups.filter(({\n slug\n }) => slug === essentialGroupSlug);\n const consentEssentials = {\n [essentialGroupObj.id]: essentialGroupObj.items.map(({\n id\n }) => id)\n }; // Read current consent\n\n if (type === \"consent\") {\n const decision = getUserDecision(decisionCookieName);\n\n if (decision !== false) {\n selectedGroups = decision.consent;\n } else {\n console.warn(\"Something went wrong while reading the cookie, fallback to essentials only...\");\n selectedGroups = consentEssentials;\n }\n }\n\n if (type === \"essentials\") {\n selectedGroups = consentEssentials;\n }\n\n return {\n isManagerActive,\n selectedGroups,\n iterateServices: async function (callback) {\n for (const group of groups) {\n for (const service of group.items) {\n var _selectedGroups$group;\n\n const isOptIn = type === \"all\" || ((_selectedGroups$group = selectedGroups[group.id]) === null || _selectedGroups$group === void 0 ? void 0 : _selectedGroups$group.indexOf(service.id)) > -1;\n const useTagManager = getManagerDependingVariables(tagManager, service.presetId);\n await callback(group, service, isOptIn, useTagManager);\n }\n }\n }\n };\n}\n\nexport { getServiceSelection };","import { applyOptIn, applyOptInOutManager, applyOptOut } from \".\";\nimport { OPT_IN_ALL_EVENT, OPT_OUT_ALL_EVENT } from \"../events\";\nimport { ready } from \"../utils\";\n/**\n * Apply services on frontend. Depending on some other mechanism you can differ\n * between the following \"decision\" types:\n *\n * - `all`: All services are applied (e. g. bots)\n * - `consent`: All services from the current consent (read from cookie)\n *\n * The services are sent in the following way:\n *\n * 1. Apply opt-in scripts (sequentially)\n * 2. If GTM / MTM is active, wait for the data layer\n * a) Push all opt-in events (parallel)\n * b) Wait x seconds to avoid side effects\n * c) Push all opt-out events (parallel)\n * 3. Apply opt-in scripts (sequentially)\n *\n * @param type\n * @see https://www.simoahava.com/analytics/notify-page-google-tag-manager-loaded/\n * @see https://support.google.com/tagmanager/answer/7679219\n * @see https://developer.matomo.org/guides/tagmanager/datalayer\n */\n\nasync function apply(options) {\n // Wait all events are initialized\n await ready(); // Do opt-in\n\n const {\n dataLayerPromise,\n isManagerOptOut,\n services,\n ready: applyOptInReady\n } = await applyOptIn(options); // Wait for manager's dataLayer loaded (can also be none) and do manager's events\n\n const {\n ready: applyOptInOutManagerReady\n } = await applyOptInOutManager(options, await dataLayerPromise, isManagerOptOut);\n const optInAllReady = Promise.all([applyOptInReady, applyOptInOutManagerReady]);\n document.dispatchEvent(new CustomEvent(OPT_IN_ALL_EVENT, {\n detail: {\n services,\n ready: optInAllReady\n }\n })); // Do opt-out\n\n const {\n deleteHttpCookies,\n services: allOptOutServices,\n ready: optOutReady\n } = await applyOptOut(options, isManagerOptOut);\n document.dispatchEvent(new CustomEvent(OPT_OUT_ALL_EVENT, {\n detail: {\n services: allOptOutServices,\n deleteHttpCookies,\n ready: Promise.all([optInAllReady, optOutReady])\n }\n }));\n}\n\nexport { apply };","import { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\nimport { getServiceSelection } from \"../decision\";\nimport { OPT_IN_EVENT } from \"../events\";\n\n/**\n * Opt-in to a set of services.\n */\nasync function applyOptIn(options) {\n const allOptInServices = [];\n const {\n isManagerActive,\n iterateServices\n } = getServiceSelection(options);\n const {\n skipOptIn\n } = options; // Handle managers like GTM and MTM\n\n let isManagerOptOut = false;\n let dataLayerPromise = Promise.resolve(undefined);\n const waitPromises = []; // Handle opt-ins sequentially\n\n await iterateServices(async (group, service, isOptIn, {\n getDataLayer,\n serviceIsManager\n }) => {\n const {\n codeDynamics,\n codeOptIn,\n executeCodeOptInWhenNoTagManagerConsentIsGiven\n } = service;\n const isManager = isManagerActive && serviceIsManager;\n\n if (isOptIn) {\n // Check if the script should explicitly only be loaded if no consent is given to the manager\n const isOnlyWhenNoConsentToManager = isManagerActive && executeCodeOptInWhenNoTagManagerConsentIsGiven;\n const isSkipOptIn = typeof skipOptIn === \"function\" ? skipOptIn(service) : false;\n\n if (!isOnlyWhenNoConsentToManager && !isSkipOptIn) {\n waitPromises.push(putHtmlCodeToDom(codeOptIn, codeDynamics));\n } // If this is a manager, wait for the object to be loaded\n\n /* Silence is golden... Until you have PRO Version! */\n\n\n const summary = {\n group,\n service\n };\n document.dispatchEvent(new CustomEvent(OPT_IN_EVENT, {\n detail: summary\n }));\n allOptInServices.push(summary);\n } else if (isManager) {\n /* Silence is golden... Until you have PRO Version! */\n }\n });\n return {\n isManagerOptOut,\n dataLayerPromise,\n services: allOptInServices,\n ready: Promise.all(waitPromises)\n };\n}\n\nexport { applyOptIn };","import { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\nimport { getServiceSelection } from \"../decision\";\n/**\n * Opt-in and opt-out to a set of services for a given data manager like GTM / MTM.\n */\n\nasync function applyOptInOutManager(options, dataLayer, isManagerOptOut) {\n const waitPromises = [];\n /* onlypro:start */\n\n const {\n isManagerActive,\n iterateServices\n } = getServiceSelection(options); // When there is a manager, let's push all opt-in and opt-out events (parallel)\n\n if (dataLayer) {\n // Opt-in events\n iterateServices((group, service, isOptIn, {\n serviceIsManager\n }) => {\n const event = service.tagManagerOptInEventName;\n\n if (isOptIn && event && !serviceIsManager) {\n dataLayer.push({\n realCookieBannerOptInEvents: {\n [event]: true\n },\n event\n });\n }\n }); // Wait x seconds and apply opt-out events (should we add this to `waitPromises`?! I do not think so)\n\n setTimeout(() => iterateServices((group, service, isOptIn, {\n serviceIsManager\n }) => {\n const event = service.tagManagerOptOutEventName;\n\n if (!isOptIn && event && !serviceIsManager) {\n dataLayer.push({\n realCookieBannerOptOutEvents: {\n [event]: true\n },\n event\n });\n }\n }), 1000);\n } else if (isManagerActive && isManagerOptOut) {\n // The manager got opt out, let's execute scripts that are explicitly only for this case (sequentially)\n await iterateServices(async (group, {\n codeDynamics,\n codeOptIn,\n executeCodeOptInWhenNoTagManagerConsentIsGiven\n }, isOptIn) => {\n if (isOptIn && executeCodeOptInWhenNoTagManagerConsentIsGiven) {\n waitPromises.push(putHtmlCodeToDom(codeOptIn, codeDynamics));\n }\n });\n }\n /* onlypro:false */\n\n\n return {\n ready: Promise.all(waitPromises)\n };\n}\n\nexport { applyOptInOutManager };","import { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\nimport { getServiceSelection } from \"../decision\";\nimport { OPT_OUT_EVENT } from \"../events\";\nimport { deleteCookiesLocally } from \".\";\n/**\n * Opt-in to a set of services for a given data manager like GTM / MTM.\n */\n\nasync function applyOptOut(options, isManagerOptOut) {\n const allOptOutServices = [];\n const {\n isManagerActive,\n iterateServices\n } = getServiceSelection(options);\n const waitPromises = []; // Handle opt-outs sequentially\n\n const deleteHttpCookies = [];\n await iterateServices(async (group, service, isOptIn) => {\n const {\n id,\n codeDynamics,\n codeOptOut,\n deleteTechnicalDefinitionsAfterOptOut,\n isEmbeddingOnlyExternalResources,\n technicalDefinitions,\n executeCodeOptOutWhenNoTagManagerConsentIsGiven\n } = service;\n\n if (!isOptIn) {\n // Check if the script should explicitly only be loaded if no consent is given to the manager\n const isOnlyWhenNoConsentToManager = isManagerActive && executeCodeOptOutWhenNoTagManagerConsentIsGiven;\n\n if (isOnlyWhenNoConsentToManager && isManagerOptOut || !isOnlyWhenNoConsentToManager) {\n waitPromises.push(putHtmlCodeToDom(codeOptOut, codeDynamics));\n }\n\n if (deleteTechnicalDefinitionsAfterOptOut && !isEmbeddingOnlyExternalResources) {\n deleteCookiesLocally(technicalDefinitions, codeDynamics); // Mark deletable server-side services\n\n if (technicalDefinitions.some(({\n type\n }) => type === \"http\")) {\n deleteHttpCookies.push(id);\n }\n }\n\n const summary = {\n group,\n service\n };\n document.dispatchEvent(new CustomEvent(OPT_OUT_EVENT, {\n detail: summary\n }));\n allOptOutServices.push(summary);\n }\n });\n return {\n services: allOptOutServices,\n ready: Promise.all(waitPromises),\n deleteHttpCookies\n };\n}\n\nexport { applyOptOut };","import Cookie from \"js-cookie\";\nimport { applyDynamicsToHtml } from \"@devowl-wp/headless-content-unblocker\";\nimport { regExpPatternFromWildcardName } from \"../utils\";\n/**\n * Delete cookies on client side (currently only `localStorage` and `sessionStorage`).\n */\n\nfunction deleteCookiesLocally(technicalDefinitions, dynamics) {\n for (const {\n type,\n name\n } of technicalDefinitions) {\n // Create valid Regxp pattern\n const pattern = new RegExp(regExpPatternFromWildcardName(applyDynamicsToHtml(name, dynamics)), \"g\");\n\n switch (type) {\n case \"http\":\n {\n for (const key of Object.keys(Cookie.get())) {\n if (pattern.test(key)) {\n Cookie.remove(key);\n }\n }\n\n break;\n }\n\n case \"local\":\n case \"session\":\n {\n try {\n const useStorage = type === \"local\" ? window.localStorage : window.sessionStorage;\n\n if (useStorage) {\n for (const itemName of Object.keys(useStorage)) {\n if (pattern.test(itemName)) {\n try {\n // Fallback to `null` because `removeItem` can have issues on some browsers\n useStorage.setItem(itemName, null);\n } catch (e) {// Silence is golden. A `QuotaExceededError` can be thrown but we ignore it, because we remove the item\n } // Try as long (but max 100 times) until deleted\n\n\n let tries = 0;\n\n while (useStorage.getItem(itemName) && tries < 100) {\n tries++;\n useStorage.removeItem(itemName);\n }\n }\n }\n }\n } catch (e) {\n // Browser does not support localStorage, let's do nothing...\n continue;\n }\n\n break;\n }\n\n default:\n break;\n }\n }\n}\n\nexport { deleteCookiesLocally };","import { apply } from \".\";\nimport { getDefaultDecision, getUserDecision } from \"..\";\n\n/**\n * Main class to manage cookie consents within your application.\n */\nclass CookieConsentManager {\n constructor(options) {\n this.options = void 0;\n this.options = options;\n }\n\n applyCookies(options) {\n return apply({ ...options,\n ...this.options\n });\n }\n\n getUserDecision() {\n return getUserDecision(this.getOption(\"decisionCookieName\"));\n }\n\n getDefaultDecision(respectLegitimateInterests = true) {\n return getDefaultDecision(this.options, respectLegitimateInterests);\n }\n\n getOption(name) {\n return this.options[name];\n }\n\n getOptions() {\n return this.options;\n }\n\n}\n\nexport { CookieConsentManager };","/**\n * Get the default decision and respect essential group and legitimate interests.\n */\nfunction getDefaultDecision({\n groups,\n essentialGroupSlug\n}, respectLegitimateInterests = true) {\n const [essentialGroupObj] = groups.filter(({\n slug\n }) => slug === essentialGroupSlug); // We need always use the current essential group\n\n const result = {\n [essentialGroupObj.id]: essentialGroupObj.items.map(({\n id\n }) => id)\n };\n\n if (respectLegitimateInterests) {\n for (const group of groups) {\n if (group === essentialGroupObj) {\n continue;\n }\n\n const ids = group.items.filter(({\n legalBasis\n }) => legalBasis === \"legitimate-interest\").map(({\n id\n }) => id);\n\n if (ids.length) {\n result[group.id] = ids;\n }\n }\n }\n\n return result;\n}\n\nexport { getDefaultDecision };","import { explode, supportsCookies } from \"../utils\";\nimport Cookie from \"js-cookie\";\n\n/**\n * Get current user decision from the cookie value in a minimal form.\n */\nfunction getUserDecision(cookieName) {\n const cookieValue = Cookie.get(cookieName);\n\n if (!cookieValue) {\n if (!supportsCookies()) {\n // Use our `window` object instead of cookie value\n return window.rcbDisabledCookieComp || false;\n }\n\n return false;\n } // Validate cookie length\n\n\n const split = explode(cookieValue, \":\", 3);\n\n if (split.length !== 3) {\n return false;\n }\n\n const [uuidString, revision] = split;\n const uuids = uuidString.split(\",\");\n const uuid = uuids.shift();\n const consent = JSON.parse(split[2]);\n return {\n uuid,\n previousUuids: uuids,\n revision,\n consent\n };\n}\n\nexport { getUserDecision };","/**\n * A PHP's port of `explode`. `.split` is not similar because it does not join\n * remaining string.\n */\nfunction explode(string, separator, n) {\n const split = string.split(separator);\n if (split.length <= n) return split;\n const out = split.slice(0, n - 1);\n out.push(split.slice(n - 1).join(separator));\n return out;\n}\n\nexport { explode };","/**\n * This event is fired when the user has no consent or invalid consent\n * and the banner gets visible.\n */\nexport const BANNER_PRE_DECISION_SHOW_EVENT = \"RCB/Banner/Show\";","export const OPT_IN_EVENT = \"RCB/OptIn\";","export const OPT_IN_ALL_EVENT = \"RCB/OptIn/All\";","export const OPT_OUT_EVENT = \"RCB/OptOut\";","export const OPT_OUT_ALL_EVENT = \"RCB/OptOut/All\";","const helperCreateResolvablePromise = () => {\n let resolve;\n const promise = new Promise(r => resolve = r);\n return [false, promise, resolve];\n};\n\nconst memorizedReadyStatePromises = {\n loading: helperCreateResolvablePromise(),\n complete: helperCreateResolvablePromise(),\n interactive: helperCreateResolvablePromise()\n};\n/**\n * Instead of checking within our events itself at the time of the event, we memorize the state of resolved and reached\n * ready-states. Why? Some WordPress plugins are modifying the JavaScript execution waterfall (e.g. Delay JS in WP Rocket).\n *\n * @see https://github.com/wp-media/wp-rocket/search?q=readystatechange&type=issues\n * @see https://app.clickup.com/t/2v12m07\n */\n\nconst memorizeReadyState = () => {\n const {\n readyState\n } = document;\n const [reached,, resolve] = memorizedReadyStatePromises[readyState];\n\n if (!reached) {\n memorizedReadyStatePromises[readyState][0] = true;\n resolve();\n }\n};\n/**\n * Listen to multiple events. Why? See same reason as in `memorizedReadyStatePromises()`.\n */\n\n\nconst LISTEN_TO_EVENTS = [\"readystatechange\", \"rocket-readystatechange\", \"DOMContentLoaded\", \"rocket-DOMContentLoaded\", \"rocket-allScriptsLoaded\"];\n/**\n * Wait DOM is ready depending on a state.\n *\n * - `interactive`: Defer scripts are executing, but DOM is ready\n * - `complete`: All scripts including deferred ones are executed and DOM is ready\n *\n * @see https://stackoverflow.com/a/65430734/5506547\n * @see https://stackoverflow.com/a/51980980/5506547\n */\n\nconst ready = (fn, state = \"complete\") => {\n return new Promise(resolve => {\n let executed = false;\n\n const cb = () => {\n memorizeReadyState();\n\n if ( // Only execute once\n executed || // Ready-state not yet reached\n !memorizedReadyStatePromises[state][0]) {\n return;\n }\n\n executed = true;\n fn === null || fn === void 0 ? void 0 : fn(); // We need to make this promise non-blocking. E.g. on Safari this\n // could lead to issues as the `readystatechange` event listener\n // can be nested (once `interactive`, then waiting `complete`)\n // Imagine, you are using an `await ready` within a `ready(fn)` statement.\n\n setTimeout(resolve, 0);\n };\n\n cb();\n\n for (const event of LISTEN_TO_EVENTS) {\n document.addEventListener(event, cb);\n }\n\n memorizedReadyStatePromises[state][1].then(cb);\n });\n};\n\nexport { ready };","import { pregQuote } from \".\";\n/**\n * Create regular expression pattern from a string like `my_test*` and replace asterisks\n * with `(.*)`.\n */\n\nfunction regExpPatternFromWildcardName(name) {\n const tmp = name.replace(/\\*/g, \"PLEACE_REPLACE_ME_AGAIN\");\n return \"^\".concat(pregQuote(tmp).replace(/PLEACE_REPLACE_ME_AGAIN/g, \"(.*)\"), \"$\");\n}\n\nexport { regExpPatternFromWildcardName };","/**\n * Port of `preg_quote`.\n *\n * @see https://github.com/kvz/locutus/blob/3f14dc5d142f5dcbdf36b4271c21a850a4a259da/src/php/pcre/preg_quote.js#L1\n */\nfunction pregQuote(str, delimiter) {\n // discuss at: https://locutus.io/php/preg_quote/\n // original by: booeyOH\n // improved by: Ates Goral (https://magnetiq.com)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // example 1: preg_quote(\"$40\")\n // returns 1: '\\\\$40'\n // example 2: preg_quote(\"*RRRING* Hello?\")\n // returns 2: '\\\\*RRRING\\\\* Hello\\\\?'\n // example 3: preg_quote(\"\\\\.+*?[^]$(){}=!<>|:\")\n // returns 3: '\\\\\\\\\\\\.\\\\+\\\\*\\\\?\\\\[\\\\^\\\\]\\\\$\\\\(\\\\)\\\\{\\\\}\\\\=\\\\!\\\\<\\\\>\\\\|\\\\:'\n return str.replace(new RegExp(\"[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\\".concat(delimiter || \"\", \"-]\"), \"g\"), \"\\\\$&\");\n}\n\nexport { pregQuote };","import Cookies from \"js-cookie\";\n/**\n * Check if the current environment supports cookies.\n *\n * @see https://git.io/JcXiP\n * @returns\n */\n\nfunction supportsCookies(cookieName = \"test\") {\n try {\n const opts = {\n sameSite: \"Lax\"\n };\n Cookies.set(cookieName, \"1\", opts);\n const result = document.cookie.indexOf(\"\".concat(cookieName, \"=\")) !== -1;\n Cookies.remove(cookieName, opts);\n return result;\n } catch (e) {\n return false;\n }\n}\n\nexport { supportsCookies };","const DYNAMICS_VARIABLE_REGEXP = /{{([A-Za-z0-9_]+)}}/gm;\n/**\n * Takes any string and replaces `{{myVariable}}` with the value of the passed `dynamics` map.\n */\n\nfunction applyDynamicsToHtml(src, dynamics) {\n return src.replace(DYNAMICS_VARIABLE_REGEXP, (fullMatch, variableName) => Object.prototype.hasOwnProperty.call(dynamics, variableName) ? dynamics[variableName] : fullMatch);\n}\n\nexport { applyDynamicsToHtml, DYNAMICS_VARIABLE_REGEXP };","// Also ported to `view/Blocker.php`\nexport const HTML_ATTRIBUTE_CAPTURE_PREFIX = \"consent-original\";\nexport const HTML_ATTRIBUTE_CAPTURE_CLICK_PREFIX = \"consent-click-original\";\nexport const HTML_ATTRIBUTE_CAPTURE_SUFFIX = \"_\";\nexport const HTML_ATTRIBUTE_BY = \"consent-by\"; // TODO: cookie -> required?\n\nexport const HTML_ATTRIBUTE_COOKIE_IDS = \"consent-required\";\nexport const HTML_ATTRIBUTE_VISUAL_PARENT = \"consent-visual-use-parent\";\nexport const HTML_ATTRIBUTE_VISUAL_PAINT_MODE = \"consent-visual-paint-mode\";\nexport const HTML_ATTRIBUTE_INLINE = \"consent-inline\";\nexport const HTML_ATTRIBUTE_INLINE_STYLE = \"consent-inline-style\";\nexport const HTML_ATTRIBUTE_BLOCKER_ID = \"consent-id\";\nexport const HTML_TAG_CONSENT_SCRIPT = \"script\";\nexport const HTML_ATTRIBUTE_BLOCKER_CONNECTED = \"consent-blocker-connected\";\nexport const HTML_ATTRIBUTE_BLOCKER_CONNECTED_PRESERVED = \"consent-blocker-connected-pres\";\nexport const HTML_ATTRIBUTE_UNBLOCKED_TRANSACTION_COMPLETE = \"consent-transaction-complete\";\nexport const HTML_ATTRIBUTE_TRANSFORM_WRAPPER = \"consent-transform-wrapper\";\nexport const HTML_ATTRIBUTE_TRANSFORM_WRAPPER_VALUE = \"1\";\nexport const HTML_ATTRIBUTE_WAS_PREVIOUSLY_STRICT_HIDDEN = \"consent-strict-hidden\";\nexport const HTML_ATTRIBUTE_RESET_PARENT = \"consent-cb-reset-parent\";\nexport const HTML_ATTRIBUTE_RESET_PARENT_VALUE = \"1\";\nexport const HTML_ATTRIBUTE_RESET_PARENT_IS_RATIO_CONTAINER = \"consent-cb-reset-parent-is-ratio\";\nexport const HTML_ATTRIBUTE_GOT_CLICKED = \"consent-got-clicked\";\nexport const HTML_ATTRIBUTE_GOT_CLICKED_VALUE = \"1\";\nexport const HTML_ATTRIBUTE_GOT_CLICKED_VALUE_DO_NOT_USE_IN_NESTED = \"2\";\nexport const HTML_ATTRIBUTE_THUMBNAIL = \"consent-thumbnail\";\nexport const HTML_ATTRIBUTE_THUMBNAIL_SUGGESTION = \"consent-thumbnail-suggestion\";","import postscribe from \"postscribe\";\nimport { applyDynamicsToHtml } from \".\";\nimport { htmlDecode } from \"../utils\";\n/**\n * We do not modify `window.onload` directly, you need to use this variable name.\n */\n\nconst WINDOW_ONLOAD_UNBLOCK_REPLACEMENT = \"rcbInitiatorOnload\";\n/**\n * Put HTML code to the current DOM. `script` tags gets automatically\n * executed instead of pushing to DOM.\n *\n * @see https://github.com/krux/postscribe\n * @see https://stackoverflow.com/a/49724894/5506547\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\nfunction putHtmlCodeToDom(html, dynamics, referenceNode = document.body) {\n return new Promise(resolve => {\n if (html) {\n postscribe(referenceNode, applyDynamicsToHtml(html, dynamics), {\n done: resolve,\n error: e => {\n // We do ignore all errors as we handle like the usual browser\n // E.g. a script blocked by an ad-blocker should not break the execution\n // for upcoming scripts.\n console.error(e);\n },\n beforeWriteToken: token => {\n const {\n attrs,\n booleanAttrs,\n src,\n href,\n content\n } = token; // Probably skip this token? (do not use `disabled` tag as it should still be written to DOM)\n\n if (booleanAttrs !== null && booleanAttrs !== void 0 && booleanAttrs[\"skip-write\"]) {\n return false;\n } // Allow `window.onload` event\n\n\n if (content) {\n token.content = content.replace(/window\\.onload\\s+=/g, \"window.\".concat(WINDOW_ONLOAD_UNBLOCK_REPLACEMENT, \" =\"));\n } // Automatically unescape html entities in all attributes (https://github.com/krux/postscribe/issues/346#issuecomment-310227387)\n\n\n for (const attr in attrs) {\n attrs[attr] = htmlDecode(attrs[attr]); // Allow to skip complete HTML tag when it already got loaded by unique ID (e.g. Google Tag Manager gtag.js)\n\n if (attr === \"unique-write-name\" && document.querySelector(\"[unique-write-name=\\\"\".concat(attrs[attr], \"\\\"]\"))) {\n return false;\n }\n } // Scripts\n\n\n if (src) {\n token.src = htmlDecode(src);\n } // Styles\n\n\n if (href) {\n token.href = htmlDecode(href);\n }\n\n return token;\n }\n });\n } else {\n resolve();\n }\n });\n}\n\nexport { WINDOW_ONLOAD_UNBLOCK_REPLACEMENT, putHtmlCodeToDom };","/**\n * A content - which was blocked - got unblocked.\n */\nexport const OPT_IN_CONTENT_BLOCKER = \"RCB/OptIn/ContentBlocker\";","/**\n * In some cases, the complete layout can be changed and calculations are based on containers width.\n * Imagine: Google Fonts get added and the navigation bar has a button with a calculated width (e.g. BeTheme).\n * Another example: The instagram feed is not loaded / adjusted (masonry), so we need to trigger a resize\n * event manually\n *\n * @param delay\n */\nfunction dispatchResizeEvent(delay = 0) {\n setTimeout(() => {\n try {\n window.dispatchEvent(new Event(\"resize\"));\n } catch (e) {// You are running in IE, it's a UI bug, we can skip...\n }\n }, delay);\n}\n\nexport { dispatchResizeEvent };","import { isUrl } from \".\";\n/**\n * Decode HTML entities in a given string.\n *\n * @see https://stackoverflow.com/a/34064434/5506547\n */\n\nfunction htmlDecode(input) {\n const inputIsUrl = isUrl(input);\n\n if (inputIsUrl) {\n var _doc$querySelector;\n\n // URLs needs to be handled a bit different as e.g. `?regionid` gets parsed to `&#39;ionid=`\n const doc = new DOMParser().parseFromString(\"<a href=\\\"\".concat(input, \"\\\"></a>\"), \"text/html\");\n return (_doc$querySelector = doc.querySelector(\"a\")) === null || _doc$querySelector === void 0 ? void 0 : _doc$querySelector.href;\n } else {\n // Keep XSS protection intact\n const doc = new DOMParser().parseFromString(input, \"text/html\");\n return doc.documentElement.textContent;\n }\n}\n\nexport { htmlDecode };","/**\n * Check if a given string is an URL.\n *\n * @see https://www.w3resource.com/javascript-exercises/javascript-regexp-exercise-9.php\n */\nfunction isUrl(url) {\n const pattern = /^(?:(?:https?|ftp):\\/\\/)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:\\/\\S*)?$/;\n return !!pattern.test(url);\n}\n\nexport { isUrl };","import { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\n/**\n * Port of `jQuery.parents()`.\n */\n\nfunction parents(element, selector) {\n const elements = [];\n let elem = element.parentElement;\n\n while (elem !== null) {\n if (elem.nodeType === Node.ELEMENT_NODE && matchingSelector(elem, selector)) {\n elements.push(elem);\n }\n\n elem = elem.parentElement;\n }\n\n return elements;\n}\n\nexport { parents };","import { useState, useEffect } from \"react\";\n\nconst AsciiSpinner = ({\n ms = 100,\n chars = [\"&#9719;\", \"&#9718;\", \"&#9717;\", \"&#9716;\"]\n}) => {\n const [i, setI] = useState(1);\n useEffect(() => {\n const interval = setInterval(() => {\n setI(i + 1);\n }, ms);\n return () => clearInterval(interval);\n }, [i]);\n return h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: chars[i % 4]\n }\n });\n};\n\nexport { AsciiSpinner };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useMemo } from \"react\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { renderIconDefinitionToSVGElement } from \"@ant-design/icons-svg/es/helpers\";\n/**\n * Inject a plain SVG icon from `@ant-design/icons-svg`. This reduces the bundle size.\n * You can determine yourself to use `@ant-design/icons` or this helper component. For example,\n * this component is preferred for website bundles where website size matters.\n *\n * @see https://app.clickup.com/t/60pz5t\n */\n\nconst PlainAntdIconAsSvg = ({\n icon,\n ...rest\n}) => {\n const svgString = useMemo(() => renderIconDefinitionToSVGElement(icon, {\n extraSVGAttrs: {\n style: \"width:auto;height:100%;\",\n fill: \"currentColor\"\n }\n }), [icon]);\n return h(\"div\", _extends({}, rest, {\n dangerouslySetInnerHTML: {\n __html: svgString\n }\n }));\n};\n\nexport { PlainAntdIconAsSvg };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { Fragment, useLayoutEffect, useState } from \"react\";\nimport { commonInlineStyleGroupsCheckbox } from \"../../inlineStyles\";\nimport { PlainAntdIconAsSvg } from \"../..\";\nimport { CheckOutlined, MinusOutlined } from \"@ant-design/icons-svg\";\nimport { useBannerOrBlocker } from \"../../hooks\";\n\nconst CommonCheckbox = ({\n hideCheckbox,\n isPartial,\n isChecked,\n isDisabled,\n fontSize,\n onClick,\n children,\n after,\n ...rest\n}) => {\n const CheckboxIcon = isPartial ? MinusOutlined : CheckOutlined;\n const bannerOrBlocker = useBannerOrBlocker();\n const [isRendered, setIsRendered] = useState(false);\n useLayoutEffect(() => {\n setIsRendered(true);\n }, []);\n return h(Fragment, null, !hideCheckbox && h(PlainAntdIconAsSvg, _extends({\n icon: CheckboxIcon,\n onClick: onClick\n }, commonInlineStyleGroupsCheckbox(bannerOrBlocker, isRendered, isChecked, isDisabled, fontSize), rest)), children && h(\"span\", {\n style: {\n verticalAlign: \"middle\",\n cursor: \"pointer\"\n }\n }, h(\"span\", {\n onClick: onClick\n }, children), after));\n};\n\nexport { CommonCheckbox };","import { scaleMobile } from \"../..\";\n\n/**\n * Use `visible` together with `useLayoutEffect` to avoid flickering.\n * This is needed because the SVG icons of ant are a bit flickering.\n */\nfunction commonInlineStyleGroupsCheckbox({\n layout: {\n borderRadius\n },\n group: {\n headlineFontSize,\n checkboxBg,\n checkboxBorderWidth,\n checkboxBorderColor,\n checkboxActiveBg,\n checkboxActiveBorderColor,\n checkboxActiveColor\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}, visible, checked, disabled, fontSize) {\n let useFontSize = fontSize || headlineFontSize;\n useFontSize = pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, useFontSize) : useFontSize;\n const useCheckboxBorderWidth = pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +checkboxBorderWidth) : +checkboxBorderWidth;\n const height = +useFontSize + useCheckboxBorderWidth * 2 + 6;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-checkbox\",\n style: {\n cursor: disabled ? \"not-allowed\" : \"pointer\",\n opacity: disabled ? 0.5 : undefined,\n color: checked ? checkboxActiveColor : checkboxBg,\n display: visible ? \"inline-block\" : \"none\",\n background: checked ? checkboxActiveBg : checkboxBg,\n border: \"\".concat(useCheckboxBorderWidth, \"px solid \").concat(checked ? checkboxActiveBorderColor : checkboxBorderColor),\n padding: 3,\n height,\n width: height,\n marginRight: 10,\n borderRadius: +borderRadius,\n verticalAlign: \"middle\",\n lineHeight: 0,\n boxSizing: \"border-box\"\n }\n };\n}\n\nexport { commonInlineStyleGroupsCheckbox };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { isUrl } from \"@devowl-wp/headless-content-unblocker\";\nimport { useBannerOrBlocker } from \"../../../hooks\";\nimport { commonGroupsInlineStyleLinkMore, commonInlineStyleGroupsCookieProperty } from \"../../../inlineStyles\";\n\nconst CookieProperty = ({\n label,\n value,\n children,\n printValueAs\n}) => {\n const banner = useBannerOrBlocker();\n const {\n i18n: {\n yes,\n no\n }\n } = banner;\n const isValueUrl = typeof value === \"string\" && isUrl(value);\n let useValue = isValueUrl ? h(\"a\", {\n href: value,\n style: {\n wordBreak: \"break-all\",\n ...commonGroupsInlineStyleLinkMore(banner, false).style\n },\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, value) : typeof value === \"string\" ? h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: value\n }\n }) : value;\n\n if (printValueAs === \"boolean\") {\n useValue = useValue ? yes : no;\n }\n\n return h(\"div\", _extends({\n key: label\n }, commonInlineStyleGroupsCookieProperty(banner)), label && h(\"strong\", null, label, \":\\xA0\"), useValue, !!children && h(\"div\", null, children));\n};\n\nexport { CookieProperty };","import { scaleMobile } from \"../..\";\n\nfunction commonInlineStyleGroupsCookieProperty({\n group: {\n groupBorderWidth,\n groupBorderColor\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n // only used for banner\n pageRequestUuid4\n}) {\n const useGroupBorderWidth = pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, groupBorderWidth) : groupBorderWidth;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-cookie-prop\",\n style: {\n borderLeft: useGroupBorderWidth > 0 ? \"1px solid \".concat(groupBorderColor) : undefined,\n paddingLeft: 15\n }\n };\n}\n\nexport { commonInlineStyleGroupsCookieProperty };","import { Fragment } from \"react\";\nimport { CookieProperty } from \".\";\nimport { useBannerOrBlocker } from \"../../../hooks\";\nimport { applyDynamicsToHtml } from \"@devowl-wp/headless-content-unblocker\";\n\nconst CookiePropertyList = ({\n cookie: {\n purpose,\n provider,\n providerPrivacyPolicyUrl,\n legalBasis,\n ePrivacyUSA,\n isEmbeddingOnlyExternalResources,\n technicalDefinitions,\n codeDynamics\n },\n isEssentialGroup\n}) => {\n const {\n i18n,\n ePrivacyUSA: ePrivacyUSAEnabled\n } = useBannerOrBlocker();\n const types = getCookieTypeLocalizationMap();\n return h(Fragment, null, !!purpose && h(CookieProperty, {\n label: i18n.purpose,\n value: purpose\n }), h(CookieProperty, {\n label: i18n.legalBasis,\n value: legalBasis === \"legal-requirement\" ? i18n.legalRequirement : legalBasis === \"legitimate-interest\" || isEssentialGroup ? i18n.legitimateInterest : i18n.consent\n }), h(CookieProperty, {\n label: i18n.provider,\n value: provider\n }), !!providerPrivacyPolicyUrl && h(CookieProperty, {\n label: i18n.providerPrivacyPolicyUrl,\n value: providerPrivacyPolicyUrl\n }), !!ePrivacyUSAEnabled && h(CookieProperty, {\n label: i18n.ePrivacyUSA,\n value: ePrivacyUSA,\n printValueAs: \"boolean\"\n }), !isEmbeddingOnlyExternalResources && technicalDefinitions.map(({\n type,\n name,\n host,\n duration,\n durationUnit,\n isSessionDuration,\n purpose\n }) => h(CookieProperty, {\n key: name,\n label: i18n.technicalCookieDefinition,\n value: h(\"span\", {\n style: {\n fontFamily: \"monospace\"\n }\n }, applyDynamicsToHtml(name, codeDynamics))\n }, h(CookieProperty, {\n label: i18n.type,\n value: types[type].name\n }), !!purpose && h(CookieProperty, {\n label: i18n.purpose,\n value: purpose\n }), !!host && h(CookieProperty, {\n label: i18n.host,\n value: h(\"span\", {\n style: {\n fontFamily: \"monospace\"\n }\n }, host)\n }), h(CookieProperty, {\n label: i18n.duration,\n value: [\"local\", \"indexedDb\", \"flash\"].indexOf(type) > -1 ? i18n.noExpiration : isSessionDuration || type === \"session\" ? \"Session\" : \"\".concat(duration, \" \").concat(i18n.durationUnit[durationUnit])\n }))));\n};\n\nfunction getCookieTypeLocalizationMap() {\n return {\n http: {\n name: \"HTTP Cookie\",\n abbr: \"HTTP\",\n backgroundColor: \"black\"\n },\n local: {\n name: \"Local Storage\",\n abbr: \"Local\",\n backgroundColor: \"#b3983c\"\n },\n session: {\n name: \"Session Storage\",\n abbr: \"Session\",\n backgroundColor: \"#3c99b3\"\n },\n flash: {\n name: \"Flash Local Shared Object\",\n abbr: \"Flash\",\n backgroundColor: \"#b33c3c\"\n },\n indexedDb: {\n name: \"IndexedDB\",\n abbr: \"I-DB\",\n backgroundColor: \"#4ab33c\"\n }\n };\n}\n\nexport { CookiePropertyList, getCookieTypeLocalizationMap };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useBannerOrBlocker } from \"../../../hooks\";\nimport { commonInlineStyleGroupsCookie } from \"../../..\";\nimport { CommonCheckbox } from \"../..\";\nimport { CookiePropertyList } from \".\";\n\nconst Cookie = ({\n cookie,\n checked,\n disabled,\n onToggleCheck,\n propertyListProps = {}\n}) => {\n const {\n name\n } = cookie;\n const bannerOrBlocker = useBannerOrBlocker();\n const {\n group: {\n descriptionFontSize\n }\n } = bannerOrBlocker;\n return h(\"div\", commonInlineStyleGroupsCookie(bannerOrBlocker), h(\"div\", {\n style: {\n marginBottom: 10\n }\n }, h(CommonCheckbox, {\n isChecked: checked,\n isDisabled: disabled,\n fontSize: descriptionFontSize,\n onClick: onToggleCheck\n }, h(\"strong\", null, name))), h(CookiePropertyList, _extends({\n cookie: cookie\n }, propertyListProps)));\n};\n\nexport { Cookie };","function commonInlineStyleGroupsCookie({\n customCss: {\n antiAdBlocker\n }\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-cookie\",\n style: {\n marginTop: 10\n }\n };\n}\n\nexport { commonInlineStyleGroupsCookie };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { forwardRef } from \"react\";\nimport hintCss from \"hint.css/hint.min.css?inline-raw\";\nimport { usePlainCss } from \"../hooks\";\n/**\n * This is a very basic `hint.css` implementation for a tooltip.\n *\n * @see https://kushagra.dev/lab/hint/\n */\n// eslint-disable-next-line react/display-name\n\nconst Tooltip = /*#__PURE__*/forwardRef(({\n children,\n className,\n title,\n position = \"top\",\n color,\n size = \"large\",\n always,\n rounded,\n noAnimate,\n bounce,\n ...rest\n}, ref) => {\n usePlainCss(hintCss, \"hint-css\", true);\n return h(\"div\", _extends({\n style: {\n position: \"relative\",\n display: \"inline\"\n },\n ref: ref,\n \"aria-label\": title,\n className: \"hint--\".concat(position, \" hint--\").concat(size, \" \").concat(color ? \"hint--\".concat(color) : \"\", \" \").concat(always ? \"hint--always\" : \"\", \" \").concat(rounded ? \"hint--rounded\" : \"\", \" \").concat(noAnimate ? \"hint--no-animate\" : \"\", \" \").concat(bounce ? \"hint--bounce\" : \"\", \" \").concat(className || \"\")\n }, rest), children);\n});\nexport { Tooltip };","import { createContext, useContext } from \"react\";\n\n/**\n * Create a side-effect-free context provider.\n */\nclass BannerContextFactory {\n static Context() {\n return this.context = this.context || /*#__PURE__*/createContext({});\n }\n\n}\n\nBannerContextFactory.context = void 0;\n\nfunction useBanner() {\n return useContext(BannerContextFactory.Context());\n}\n\nexport { BannerContextFactory, useBanner };","import { createContext, useContext } from \"react\";\n\n/**\n * Create a side-effect-free context provider.\n */\nclass BlockerContextFactory {\n static Context() {\n return this.context = this.context || /*#__PURE__*/createContext({});\n }\n\n}\n\nBlockerContextFactory.context = void 0;\n\nfunction useBlocker() {\n return useContext(BlockerContextFactory.Context());\n}\n\nexport { BlockerContextFactory, useBlocker };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useState } from \"react\";\nimport { commonInlineStyleFooterLink, useBannerOrBlocker } from \"../../..\";\n\nconst FooterLink = ({\n children,\n ...anchorRest\n}) => {\n const bannerOrBlocker = useBannerOrBlocker();\n const [isHover, setIsHover] = useState(false);\n return h(\"a\", _extends({\n onMouseEnter: () => setIsHover(true),\n onMouseLeave: () => setIsHover(false)\n }, commonInlineStyleFooterLink(bannerOrBlocker, isHover), anchorRest), children);\n};\n\nexport { FooterLink };","import { scaleMobile } from \"../../scale\";\n\nfunction commonInlineStyleFooterLink({\n footerDesign: {\n fontSize,\n fontColor,\n hoverFontColor,\n fontInheritFamily,\n fontFamily\n },\n design: {\n linkTextDecoration\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n // only used for banner\n pageRequestUuid4\n}, isHover = false) {\n const style = {\n textDecoration: linkTextDecoration,\n fontSize: pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +fontSize) : +fontSize,\n color: isHover ? hoverFontColor : fontColor,\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n padding: \"0 5px\"\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-link\",\n style\n };\n}\n\nexport { commonInlineStyleFooterLink };","import { FooterLink } from \".\";\nimport { Tooltip } from \"../..\";\n\nconst FooterPoweredByLink = ({\n poweredLink,\n affiliate\n}) => {\n return h(FooterLink, {\n href: affiliate ? affiliate.link : poweredLink.href,\n target: poweredLink.target,\n key: \"powered-by\"\n }, h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: poweredLink.innerHTML\n }\n }), affiliate && h(Tooltip, {\n title: affiliate.description,\n position: \"top-left\"\n }, \" \", affiliate.labelBehind));\n};\n\nexport { FooterPoweredByLink };","import { Fragment } from \"react\";\n/**\n * Join together a set of JSX elements with a separator.\n *\n * @see https://stackoverflow.com/q/33577448/5506547\n */\n\nfunction jsxJoin(components, separator) {\n // Just to be sure, remove falsy values so we can add conditionals to the components array\n const filtered = components.filter(Boolean);\n return filtered.length === 0 ? null : filtered.reduce((acc, curr, i) => acc.length ? [...acc, // Wrap the separator in a fragment to avoid `missing key` issues\n h(Fragment, {\n key: i\n }, separator), curr] : [curr], []);\n}\n\nexport { jsxJoin };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useCallback, Fragment } from \"react\";\nimport { useBannerOrBlocker, useLegalLinks } from \"..\";\nimport { FooterLink, FooterPoweredByLink } from \"../../components\";\nimport { jsxJoin } from \"../../utils\";\n\nfunction useCommonFooterLinks({\n onClose,\n putPoweredByLinkInRow,\n row1\n} = {}) {\n const {\n i18n: {\n close\n },\n footerDesign: {\n poweredByLink,\n linkTarget\n },\n poweredLink,\n affiliate\n } = useBannerOrBlocker();\n const {\n linkPrivacyPolicy,\n linkImprint\n } = useLegalLinks();\n const targetAttributes = linkTarget === \"_blank\" ? {\n target: \"_blank\",\n rel: \"noopener\"\n } : {};\n const rows = [// Row 1\n [onClose && h(FooterLink, {\n href: \"#\",\n onClick: onClose,\n key: \"close\"\n }, h(\"strong\", null, close)), ...(row1 || []), linkPrivacyPolicy && h(FooterLink, _extends({\n href: linkPrivacyPolicy.url\n }, targetAttributes, {\n key: \"privacyPolicy\"\n }), linkPrivacyPolicy.label), linkImprint && h(FooterLink, _extends({\n href: linkImprint.url\n }, targetAttributes, {\n key: \"imprint\"\n }), linkImprint.label)].filter(Boolean), // Row 2\n [] // Nothing yet\n ];\n\n if (!!poweredLink && poweredByLink) {\n rows[putPoweredByLinkInRow || 0].push(h(FooterPoweredByLink, {\n key: \"poweredBy\",\n poweredLink: poweredLink,\n affiliate: affiliate\n }));\n }\n\n const render = useCallback(rows => jsxJoin(rows.map(row => row.length ? h(Fragment, {\n key: row[0].key\n }, jsxJoin(row, h(Fragment, null, \" \\u2022 \"))) : null), h(\"br\", null)), []);\n return {\n rows,\n render\n };\n}\n\nexport { useCommonFooterLinks };","import { useBannerOrBlocker, useLegalLinks } from \"..\";\n\nfunction joinWithAndSeparator(arr, andSeparator) {\n if (arr.length > 1) {\n arr.splice(arr.length - 1, 0, \"{{andSeparator}}\");\n }\n\n return arr.join(\", \").replace(/,\\s+{{andSeparator}},\\s+/g, andSeparator);\n}\n/**\n * @see https://gist.github.com/unruthless/413930\n * @see https://stackoverflow.com/a/23630325/5506547\n */\n\n\nconst supWithLineHeightFix = '<sup style=\"vertical-align:top;line-height:100%;position:initial;\">';\n\nfunction useCommonTeachings({\n disableDataProcessingInUnsafeCountries,\n disableAgeNotice,\n disableListServicesNotice\n} = {}) {\n const {\n blocker,\n groups,\n ePrivacyUSA: isEPrivacyUSA,\n ageNotice: isAgeNotice,\n listServicesNotice: isListServicesNotice,\n texts: {\n description,\n ePrivacyUSA,\n ageNoticeBanner,\n listServicesNotice,\n consentForwardingExternalHosts: consentForwardingExternalHostsText\n },\n tcf,\n consentForwardingExternalHosts,\n individualPrivacyOpen,\n individualTexts: {\n description: individualDescription\n },\n essentialGroup,\n i18n: {\n andSeparator,\n tcf: tcfBannerI18n\n },\n keepVariablesInTexts\n } = useBannerOrBlocker();\n const {\n linkPrivacyPolicy\n } = useLegalLinks(); // Description text (combination of configured text and Consent Forwarding)\n\n let consentForwardingExternalHostsFinalText = \"\";\n\n if (consentForwardingExternalHosts && !keepVariablesInTexts) {\n consentForwardingExternalHostsFinalText = consentForwardingExternalHostsText.replace(/{{websites}}/g, consentForwardingExternalHosts.join(\", \"));\n }\n\n let useDescription = [blocker ? blocker.description : individualPrivacyOpen ? individualDescription : description, consentForwardingExternalHostsFinalText].filter(Boolean).join(\" \");\n\n if (!keepVariablesInTexts) {\n // Place policy link into the text https://regex101.com/r/ayeFVy/1\n useDescription = useDescription.replace(/{{privacyPolicy}}(.*){{\\/privacyPolicy}}/g, linkPrivacyPolicy ? \"<a href=\\\"\".concat(linkPrivacyPolicy.url, \"\\\" style=\\\"text-decoration:underline;color:inherit;\\\" onmouseenter=\\\"this.style.textDecoration='none'\\\" onmouseleave=\\\"this.style.textDecoration='underline'\\\" target=\\\"_blank\\\">$1</a>\") : \"$1\");\n } // Teaching: Data processing in unsafe countries (formerly USA ePrivacy)\n\n\n const servicesProcessingUnsafeCountries = groups.map(({\n items\n }) => items.filter(({\n ePrivacyUSA\n }) => ePrivacyUSA)).flat();\n const tcfVendorsProcessingUnsafeCountries = process.env.IS_TCF && tcf ? Object.values(tcf.gvl.vendors).filter(vendor => {\n var _additionalInformatio;\n\n return ((_additionalInformatio = vendor.additionalInformation) === null || _additionalInformatio === void 0 ? void 0 : _additionalInformatio.internationalTransfers) || tcf.original.vendorConfigurations[vendor.id].ePrivacyUSA === 1;\n }) : [];\n let useDataProcessingInUnsafeCountries = !disableDataProcessingInUnsafeCountries && (servicesProcessingUnsafeCountries.length > 0 || tcfVendorsProcessingUnsafeCountries.length > 0) && isEPrivacyUSA ? ePrivacyUSA : \"\"; // Teaching: Age notice\n\n const useAgeNotice = isAgeNotice && !disableAgeNotice ? ageNoticeBanner : \"\"; // Teaching: List services notice\n\n let useListServicesNotice = \"\";\n\n if (isListServicesNotice && !disableListServicesNotice) {\n const hasBothPlaceholders = listServicesNotice.indexOf(\"{{services}}\") > -1 && listServicesNotice.indexOf(\"{{serviceGroups}}\") > -1;\n const nonEssentialGroups = groups.filter(({\n slug\n }) => slug !== essentialGroup);\n const flattenSeparator = \"~;~\";\n const listServicesNames = joinWithAndSeparator(nonEssentialGroups.map(({\n items\n }, groupIdx) => items.map(({\n name,\n ePrivacyUSA\n }) => \"\".concat(name).concat(supWithLineHeightFix).concat([hasBothPlaceholders ? groupIdx + 1 : \"\", useDataProcessingInUnsafeCountries && ePrivacyUSA ? \"U\" : \"\"].filter(Boolean).join(\",\"), \"</sup>\")).join(flattenSeparator)).join(flattenSeparator).split(flattenSeparator), andSeparator);\n\n if (listServicesNames) {\n const listServiceGroupsNames = joinWithAndSeparator(nonEssentialGroups.map(({\n name\n }, groupIdx) => \"\".concat(name).concat(supWithLineHeightFix).concat(hasBothPlaceholders ? groupIdx + 1 : \"\", \"</sup>\")), andSeparator);\n useListServicesNotice = \"<span>\".concat(listServicesNotice, \"</span>\").concat(tcf && !individualPrivacyOpen ? \" <span>\".concat(tcfBannerI18n.listOfServicesAppendix, \"</span>\") : \"\");\n\n if (!keepVariablesInTexts) {\n // Place service list into the text\n useListServicesNotice = useListServicesNotice.replace(/{{services}}/g, listServicesNames) // Place service group list into the text\n .replace(/{{serviceGroups}}/g, listServiceGroupsNames);\n }\n\n if (useDataProcessingInUnsafeCountries) {\n useDataProcessingInUnsafeCountries += \"\".concat(supWithLineHeightFix, \"U</sup>\");\n }\n }\n }\n\n return {\n description: useDescription,\n teachings: [useDataProcessingInUnsafeCountries, useAgeNotice, useListServicesNotice].filter(Boolean)\n };\n}\n\nexport { useCommonTeachings };","import { useBanner, useBlocker } from \"../contexts\";\n\n/**\n * Use one of the available banner or blocker contexts as union typed.\n */\nfunction useBannerOrBlocker() {\n const banner = useBanner();\n const blocker = useBlocker(); // Check for a common context property in an available context as it is never `undefined`\n\n return banner.groups ? banner : blocker;\n}\n\nexport { useBannerOrBlocker };","import { useBannerOrBlocker } from \".\";\n\nfunction useLegalLinks() {\n const {\n legal: {\n privacyPolicy,\n privacyPolicyExternalUrl,\n privacyPolicyIsExternalUrl,\n privacyPolicyLabel,\n imprint,\n imprintExternalUrl,\n imprintIsExternalUrl,\n imprintLabel\n },\n pageByIdUrl\n } = useBannerOrBlocker();\n const pageIdToPermalink = useBannerOrBlocker().pageIdToPermalink || {};\n let linkPrivacyPolicy = privacyPolicy > 0 ? pageIdToPermalink[privacyPolicy] || \"\".concat(pageByIdUrl, \"=\").concat(privacyPolicy) : undefined;\n let linkImprint = imprint > 0 ? pageIdToPermalink[imprint] || \"\".concat(pageByIdUrl, \"=\").concat(imprint) : undefined;\n\n if (privacyPolicyIsExternalUrl) {\n linkPrivacyPolicy = privacyPolicyExternalUrl;\n }\n\n if (imprintIsExternalUrl) {\n linkImprint = imprintExternalUrl;\n }\n\n return {\n linkPrivacyPolicy: privacyPolicyLabel && linkPrivacyPolicy ? {\n url: linkPrivacyPolicy,\n label: privacyPolicyLabel\n } : false,\n linkImprint: imprintLabel && linkImprint ? {\n url: linkImprint,\n label: imprintLabel\n } : false\n };\n}\n\nexport { useLegalLinks };","import { useMemo, useLayoutEffect } from \"react\";\nlet counter = 0;\n/**\n * Dynamically creates a style-tag in your head with a given plain CSS string.\n */\n\nfunction usePlainCss(css, uniqueId, keep) {\n const id = useMemo(() => \"react-use-plain-css-\".concat(uniqueId || (counter++).toString(36)), []);\n useLayoutEffect(() => {\n let element = document.getElementById(id);\n\n if (!element) {\n element = document.createElement(\"style\");\n element.style.type = \"text/css\";\n element.id = id;\n document.getElementsByTagName(\"head\")[0].appendChild(element);\n }\n\n element.innerHTML = css;\n return () => {\n if (!keep) {\n var _element$parentNode;\n\n (_element$parentNode = element.parentNode) === null || _element$parentNode === void 0 ? void 0 : _element$parentNode.removeChild(element);\n }\n };\n }, [css, keep]);\n return id;\n}\n\nexport { usePlainCss };","import { scaleMobile } from \"../../scale\";\n\nfunction commonInlineStyleBodyTeaching({\n bodyDesign: {\n teachingsInheritTextAlign,\n teachingsTextAlign,\n teachingsInheritFontSize,\n teachingsFontSize,\n teachingsInheritFontColor,\n teachingsFontColor\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n // only given for banner\n pageRequestUuid4\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-teachings\",\n style: {\n marginTop: 7,\n display: \"inline-block\",\n textAlign: teachingsInheritTextAlign ? undefined : teachingsTextAlign,\n fontSize: teachingsInheritFontSize ? undefined : pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +teachingsFontSize) : +teachingsFontSize,\n color: teachingsInheritFontColor ? undefined : teachingsFontColor\n }\n };\n}\n\nexport { commonInlineStyleBodyTeaching };","function commonInlineStyleBodyTeachingsSeparator({\n layout: {\n borderRadius\n },\n bodyDesign: {\n teachingsSeparatorActive,\n teachingsSeparatorWidth,\n teachingsSeparatorHeight,\n teachingsSeparatorColor\n },\n customCss: {\n antiAdBlocker\n }\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-teachings-separator\",\n style: {\n marginTop: 7,\n display: \"inline-block\",\n maxWidth: \"100%\",\n borderRadius: +borderRadius,\n width: +teachingsSeparatorWidth,\n height: teachingsSeparatorActive ? +teachingsSeparatorHeight : 0,\n background: teachingsSeparatorColor\n }\n };\n}\n\nexport { commonInlineStyleBodyTeachingsSeparator };","function commonGroupsInlineStyleLinkMore({\n design: {\n linkTextDecoration\n },\n group: {\n linkColor,\n linkHoverColor\n },\n customCss: {\n antiAdBlocker\n }\n}, isHover) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group-more\",\n style: {\n color: isHover ? linkHoverColor : linkColor,\n textDecoration: linkTextDecoration\n }\n };\n}\n\nexport { commonGroupsInlineStyleLinkMore };","import { scaleMobile } from \"../..\";\n\nfunction commonInlineStyleHeaderHeadline({\n headerDesign: {\n fontSize,\n fontColor,\n fontInheritFamily,\n fontFamily,\n fontWeight\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n // only used for banner\n pageRequestUuid4\n}, hasCloseIcon) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-headline\",\n style: {\n color: fontColor,\n lineHeight: 1.8,\n fontSize: pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +fontSize) : +fontSize,\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n fontWeight,\n paddingRight: hasCloseIcon ? 20 : undefined\n }\n };\n}\n\nexport { commonInlineStyleHeaderHeadline };","const calculateNewVal = (val, scalePercent) => {\n let newVal = val;\n newVal = val / 100 * scalePercent;\n newVal = newVal < 1 ? 1 : newVal;\n return newVal;\n};\n/**\n * Calculate the new value for an inline style value and respect the scaling options.\n */\n\n\nfunction scaleMobile({\n enabled,\n scalePercent,\n scalePercentVertical\n}, useWidthOfThisContainerId, original, replaceWith, additionalVerticalScaling = false) {\n if (process.env.PLUGIN_CTX === \"pro\") {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n return original;\n}\n\nexport { scaleMobile };","import { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\nwindow.rcbPoweredByCacheOuterHTML = \"\";\n/**\n * Get the server-side-rendered powered by link.\n */\n\nfunction getSsrPoweredByLink(id) {\n const originalPoweredLink = document.getElementById(id);\n const poweredLink = document.createElement(\"div\");\n\n if (window.rcbPoweredByCacheOuterHTML) {\n // We have cached the link as we remove it from the DOM\n poweredLink.innerHTML = window.rcbPoweredByCacheOuterHTML;\n } else if (matchingSelector(originalPoweredLink, \"a\") && originalPoweredLink.innerHTML.toLowerCase().indexOf(\"Real Cookie Banner\")) {\n window.rcbPoweredByCacheOuterHTML = originalPoweredLink.outerHTML;\n poweredLink.innerHTML = window.rcbPoweredByCacheOuterHTML;\n originalPoweredLink.parentNode.removeChild(originalPoweredLink);\n }\n\n return poweredLink.children[0];\n}\n\nexport { getSsrPoweredByLink };","function matchingSelector(element, selector) {\n const proto = typeof Element !== \"undefined\" ? Element.prototype : {};\n const nativeFunction = proto.matches || proto.matchesSelector || proto.webkitMatchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector;\n\n if (!element || element.nodeType !== 1 || !element.parentElement) {\n return false;\n }\n\n if (nativeFunction) {\n return nativeFunction.call(element, selector);\n }\n\n const matchingElements = element.parentElement.querySelectorAll(selector);\n\n for (const matchIdx in matchingElements) {\n if (matchingElements[matchIdx] === element) {\n return true;\n }\n }\n\n return false;\n}\n\nexport { matchingSelector };","import { trailingslashit, untrailingslashit } from \"../../helpers\";\nimport { RouteHttpVerb } from \".\";\nimport deepMerge from \"deepmerge\";\nimport qs from \"querystringify\";\nimport Cookie from \"js-cookie\";\nimport sha1 from \"sha-1\";\n\nfunction applyQueryString(url, query, merge) {\n url.search = qs.stringify(merge ? deepMerge.all([qs.parse(url.search), ...query]) : query, true);\n return url;\n}\n/**\n * Build an URL for a specific scheme.\n *\n * @param param0\n */\n\n\nfunction commonUrlBuilder({\n location,\n params = {},\n nonce = true,\n options,\n cookieValueAsParam\n}) {\n const apiUrl = new URL(options.restRoot);\n const query = qs.parse(apiUrl.search);\n const permalinkPath = query.rest_route || apiUrl.pathname; // Determine path from permalink settings\n // Find dynamic parameters from URL bindings (like /user/:id)\n\n const foundParams = [];\n const path = location.path.replace(/:([A-Za-z0-9-_]+)/g, (match, group) => {\n foundParams.push(group);\n return params[group];\n });\n const getParams = {}; // Find undeclared body params (which are not bind above) and add it to GET query\n\n for (const checkParam of Object.keys(params)) {\n if (foundParams.indexOf(checkParam) === -1) {\n getParams[checkParam] = params[checkParam]; // We do not need `encodeURIComponent` as it is supported by `querystringify` already\n }\n } // Calculate invalidator for cookie values\n\n\n if (cookieValueAsParam) {\n getParams._httpCookieInvalidate = sha1(JSON.stringify(cookieValueAsParam.map(Cookie.get)));\n } // Force protocol from parent location\n\n\n apiUrl.protocol = window.location.protocol; // Set path depending on permalink settings\n\n const usePath = trailingslashit(permalinkPath) + untrailingslashit(location.namespace || options.restNamespace) + path;\n\n if (query.rest_route) {\n query.rest_route = usePath; // eslint-disable-line @typescript-eslint/naming-convention\n } else {\n apiUrl.pathname = usePath; // Set path\n } // Append WordPress REST nonce\n\n\n if (nonce && options.restNonce) {\n query._wpnonce = options.restNonce;\n } // Determine if non-GET verbs should always use `POST`\n\n\n applyQueryString(apiUrl, query);\n\n if ([\"wp-json/\", \"rest_route=\"].filter(s => apiUrl.toString().indexOf(s) > -1).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n applyQueryString(apiUrl, [{\n _method: location.method\n }], true);\n } // Build final search\n\n\n applyQueryString(apiUrl, [options.restQuery, getParams], true);\n return apiUrl.toString();\n}\n\nexport { commonUrlBuilder, applyQueryString, qs };","const pool = {};\nconst recreateFetchPool = {};\n/**\n * A REST nonce in WordPress is only valid for 12 hours (can be configured). However, if it gets\n * invalid, the REST endpoints return a `403` error which signals us, we should recreate the nonce.\n * To avoid multiple recreations, we memorize the newly created nonce in a pool.\n */\n\nasync function nonceDeprecationPool(nonce, restRecreateNonceEndpoint) {\n if (typeof restRecreateNonceEndpoint !== \"undefined\") {\n const resultPromise = // Reuse already sent request\n recreateFetchPool[nonce] || new Promise( // eslint-disable-next-line no-async-promise-executor\n async (resolve, reject) => {\n try {\n const recreateFetch = await window.fetch(restRecreateNonceEndpoint);\n\n if (recreateFetch.ok) {\n const newNonce = await recreateFetch.text();\n\n if (nonce === newNonce) {\n reject();\n } else {\n pool[nonce] = newNonce;\n resolve(newNonce);\n }\n } else {\n reject();\n }\n } catch (e) {\n reject();\n }\n });\n recreateFetchPool[nonce] = resultPromise;\n return resultPromise;\n } else {\n if (typeof nonce === \"undefined\") {\n return undefined;\n } // Wait until all nonces are refreshed\n\n\n await Promise.all(Object.values(recreateFetchPool));\n let returnNonce = nonce;\n\n while (pool[returnNonce]) {\n returnNonce = pool[returnNonce];\n\n if (pool[returnNonce] === nonce) {\n break;\n }\n }\n\n return Promise.resolve(returnNonce);\n }\n}\n\nexport { nonceDeprecationPool };","import { RouteHttpVerb } from \".\";\n/**\n * Get the result of the `Response`. It also handles multiline responses, e. g.\n * a PHP `Notice:` message is output through a conflicting plugin:\n *\n * If you are using a verb like `DELETE` or `PUT` the response may be empty and this\n * function will return `undefined`.\n *\n * @see https://developer.mozilla.org/de/docs/Web/HTTP/Methods/DELETE\n */\n\nasync function parseResult(url, result, method) {\n const cloneForFallback = result.clone();\n\n try {\n return await result.json();\n } catch (e) {\n // Something went wrong, try each line as result of a JSON string\n const body = await cloneForFallback.text(); // Respect empty responses for given verbs (DELETE, PUT)\n\n if (body === \"\" && [RouteHttpVerb.DELETE, RouteHttpVerb.PUT].indexOf(method) > -1) {\n return undefined;\n }\n\n console.warn(\"The response of \".concat(url, \" contains unexpected JSON, try to resolve the JSON line by line...\"), {\n body\n });\n let lastError;\n\n for (const line of body.split(\"\\n\")) {\n if (line.startsWith(\"[\") || line.startsWith(\"{\")) {\n try {\n return JSON.parse(line);\n } catch (e) {\n lastError = e;\n }\n }\n }\n\n throw lastError;\n }\n}\n\nexport { parseResult };","import { parseResult, nonceDeprecationPool, applyQueryString, commonUrlBuilder, RouteHttpVerb } from \".\";\nimport deepMerge from \"deepmerge\";\nimport jsonFormData from \"json-form-data\";\nconst CONTENT_TYPE_JSON = \"application/json;charset=utf-8\"; // Fix: Return type of exported function has or is using name 'FormatOptions'\n// from external module \"/home/mg/vscode-workspace/devowl-wp/node_modules/@types/json-form-data/index\" but cannot be named.\n// type MultiPartOptions = Parameters<typeof jsonFormData>[1];\n\n/**\n * Build and execute a specific REST query.\n *\n * @see urlBuilder\n * @returns Result of REST API\n * @throws\n */\nasync function commonRequest({\n location,\n options,\n request: routeRequest,\n params,\n settings = {},\n cookieValueAsParam,\n multipart = false,\n sendRestNonce = true\n}) {\n const url = commonUrlBuilder({\n location,\n params,\n nonce: false,\n options,\n cookieValueAsParam\n }); // Use global parameter (see https://developer.wordpress.org/rest-api/using-the-rest-api/global-parameters/)\n\n if ([\"wp-json/\", \"rest_route=\"].filter(s => url.indexOf(s) > -1).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n settings.method = RouteHttpVerb.POST;\n } else {\n settings.method = location.method || RouteHttpVerb.GET;\n } // Request with GET/HEAD method cannot have body\n\n\n const apiUrl = new URL(url);\n const allowBody = [\"HEAD\", \"GET\"].indexOf(settings.method) === -1;\n\n if (!allowBody && routeRequest) {\n applyQueryString(apiUrl, [routeRequest], true);\n }\n\n const apiUrlBuilt = apiUrl.toString(); // Determine body\n\n let body;\n\n if (allowBody) {\n if (multipart) {\n // Let's create a multipart request...\n body = jsonFormData(routeRequest, typeof multipart === \"boolean\" ? {} : multipart);\n } else {\n // It is a usual JSON request, we do not need to send a multipart request\n body = JSON.stringify(routeRequest);\n }\n } // Do the request\n\n\n const restNonce = await nonceDeprecationPool(options.restNonce);\n const hasRestNonce = typeof restNonce !== \"undefined\";\n const init = deepMerge.all([settings, {\n headers: { ...(typeof body === \"string\" ? {\n \"Content-Type\": CONTENT_TYPE_JSON\n } : {}),\n ...(hasRestNonce && sendRestNonce ? {\n \"X-WP-Nonce\": restNonce\n } : {}),\n Accept: \"application/json, */*;q=0.1\"\n }\n }]);\n init.body = body; // Do not make body merge-able\n\n const result = await window.fetch(apiUrlBuilt, init); // `window.fetch` does not throw an error if the server response an error code.\n\n if (!result.ok) {\n let responseJSON = undefined;\n let replay = false;\n\n try {\n responseJSON = await parseResult(apiUrlBuilt, result, location.method); // wordpress.com private site compatibility\n\n /* istanbul ignore if */\n\n if (responseJSON.code === \"private_site\" && result.status === 403 && hasRestNonce && !sendRestNonce) {\n replay = true;\n } // Refresh nonce automatically\n\n /* istanbul ignore if */\n\n\n if (responseJSON.code === \"rest_cookie_invalid_nonce\" && hasRestNonce) {\n const {\n restRecreateNonceEndpoint\n } = options;\n\n try {\n await nonceDeprecationPool(restNonce, restRecreateNonceEndpoint);\n replay = true;\n } catch (e) {// Silence is golden.\n }\n }\n } catch (e) {// Silence is golden.\n }\n\n if (replay) {\n return await commonRequest({\n location,\n options,\n multipart,\n params,\n request: routeRequest,\n sendRestNonce: true,\n settings\n });\n } // Set this request as failing so the endpoint is probably corrupt (see `corruptRestApi.tsx`)\n\n\n settings.method === RouteHttpVerb.GET && (window.detectCorruptRestApiFailed = (window.detectCorruptRestApiFailed || 0) + 1);\n const resultAny = result;\n resultAny.responseJSON = responseJSON;\n throw resultAny;\n }\n\n return parseResult(apiUrlBuilt, result, location.method);\n}\n\nexport { commonRequest };","var RouteHttpVerb;\n\n(function (RouteHttpVerb) {\n RouteHttpVerb[\"GET\"] = \"GET\";\n RouteHttpVerb[\"POST\"] = \"POST\";\n RouteHttpVerb[\"PUT\"] = \"PUT\";\n RouteHttpVerb[\"DELETE\"] = \"DELETE\";\n RouteHttpVerb[\"PATCH\"] = \"PATCH\";\n})(RouteHttpVerb || (RouteHttpVerb = {}));\n\nexport { RouteHttpVerb };","const untrailingslashit = str => str.endsWith(\"/\") || str.endsWith(\"\\\\\") ? untrailingslashit(str.slice(0, -1)) : str;\n\nconst trailingslashit = str => \"\".concat(untrailingslashit(str), \"/\"); // Allows to make an interface extension and make some properties optional (https://git.io/JeK6J)\n\n\n/**\n * You need to manually put the following code snippet in each of your entry points to enable\n * \"on the fly\" public path for chunks:\n *\n * ```\n * __webpack_public_path__ = getWebpackPublicPath(process.env.slug);\n * ```\n *\n * @see https://webpack.js.org/guides/public-path/#on-the-fly\n */\nconst getWebpackPublicPath = slug => {\n const options = window[slug.replace(/-([a-z])/g, g => g[1].toUpperCase())];\n return \"\".concat(options.publicUrl).concat(options.chunkFolder, \"/\");\n};\n\nexport { untrailingslashit, trailingslashit, getWebpackPublicPath };","import { getOtherOptionsFromWindow } from \"../utils\";\nimport { HTML_ATTRIBUTE_COOKIE_IDS, HTML_ATTRIBUTE_BLOCKER_ID, HTML_ATTRIBUTE_BY, OPT_IN_CONTENT_BLOCKER } from \"@devowl-wp/headless-content-unblocker\";\nimport { regExpPatternFromWildcardName } from \"@devowl-wp/cookie-consent-web-client\";\n/**\n * `window.consentApi.unblock`: Check if a given URL / string is blocked by a Content Blocker:\n *\n * - When a Content Blocker exists, the Promise is only resolved after given consent\n * - When no Content Blocker exists, the Promise is immediate resolved\n *\n * Example (ES5):\n * ```js\n * (window.consentApi && window.consentApi.unblock(\"player.vimeo.com\") || Promise.resolve()).then(function() {\n * console.log(\"Consent for Vimeo given, unlock content...!\");\n * });\n * ```\n *\n * Example (ES6, Babel, TS):\n * ```js\n * (window.consentApi?.unblock(\"player.vimeo.com\") || Promise.resolve()).then(() => {\n * console.log(\"Consent for Vimeo given, unlock content...!\");\n * });\n * ```\n *\n * @param url\n * @param ref Create a visual content blocker to a given HTML element\n */\n\nfunction unblock(url, ref = document.createElement(\"div\")) {\n return new Promise(resolve => {\n // Find matching blocker\n let found;\n const {\n blocker\n } = getOtherOptionsFromWindow();\n const isPseudoRef = !ref.parentElement;\n\n loop1: for (const row of blocker) {\n const {\n rules\n } = row; // Check if host matches\n\n for (const rule of rules) {\n const regexp = regExpPatternFromWildcardName(rule);\n\n if (url.match(regexp)) {\n found = row;\n break loop1;\n }\n }\n }\n\n if (found) {\n // Add attributes to DOM element so it can be consumed by `manipulateDom`\n ref.setAttribute(HTML_ATTRIBUTE_BY, \"services\");\n ref.setAttribute(HTML_ATTRIBUTE_COOKIE_IDS, found.services.join(\",\"));\n ref.setAttribute(HTML_ATTRIBUTE_BLOCKER_ID, found.id.toString());\n ref.addEventListener(OPT_IN_CONTENT_BLOCKER, () => {\n isPseudoRef && ref.remove();\n resolve();\n }); // Append blocking element to HTML DOM if not already exists\n\n if (isPseudoRef) {\n document.body.appendChild(ref);\n }\n } else {\n resolve();\n }\n });\n}\n\nexport { unblock };","import { supportsCookies } from \"../utils\";\n/**\n * Does the current browser support cookies?\n */\n\nconst preDecisionGatewaySupportsCookies = async ({\n supportsCookiesName\n}) => {\n return supportsCookies(supportsCookiesName) ? false : \"essentials\";\n};\n\nexport { preDecisionGatewaySupportsCookies };","import isbot from \"isbot\";\n/**\n * Is the current browser a spider / crawler?\n */\n\nfunction isCrawler() {\n const {\n userAgent\n } = navigator;\n\n if (userAgent) {\n // Lighthouse / Google PageSpeed isn't currently a bot (https://git.io/J3r5z)\n if (/chrome-lighthouse/i.test(userAgent)) {\n return false;\n }\n\n return isbot(userAgent);\n }\n\n return false;\n}\n\nexport { isCrawler };","import { getUserDecision } from \"../decision\";\nimport { isCrawler, promiseTimeout } from \"../utils\";\n\n/**\n * Dynamically allow to get a predecision with a extra request to an external API.\n * If your server does not respond within a given timeout or with an error, it automatically\n * continues with the predecisions. Otherwise, the predecision of the response is used.\n */\nconst preDecisionGatewayDynamicRequest = (request, timeout = 10000, active = true) => async ({\n decisionCookieName,\n revisionHash\n}) => {\n if (isCrawler() || !active) {\n // Ignore unnecessary requests\n return false;\n } // Check if revision has changed, and probably access our dynamic predecision again\n\n\n const decision = getUserDecision(decisionCookieName);\n\n if (decision) {\n const {\n revision\n } = decision;\n\n if (revisionHash === revision) {\n // Still the same revision, so we can simply accept our consent as it is still the predecision we had previously\n return \"consent\";\n }\n }\n\n try {\n const {\n predecision\n } = await promiseTimeout(request(), timeout);\n return predecision;\n } catch (e) {\n return false;\n }\n};\n\nexport { preDecisionGatewayDynamicRequest };","/**\n * Let a `Promise` be rejected after a given amount of time.\n */\nfunction promiseTimeout(promise, ms) {\n return new Promise((resolve, reject) => {\n promise.then(resolve, reject);\n const e = new Error(\"Timed out\");\n setTimeout(reject, ms, e);\n });\n}\n\nexport { promiseTimeout };","import { getUserDecision } from \"../decision\";\nimport { isDoNotTrack } from \"../utils\";\n\n/**\n * When the user has \"Do not track\" enabled and is allowed to use, let's automatically\n * save the dialog without any action.\n */\nconst preDecisionGatewayIsDoNotTrack = (active = true) => async ({\n decisionCookieName,\n groups,\n essentialGroupSlug\n}) => {\n const [essentialGroupObj] = groups.filter(({\n slug\n }) => slug === essentialGroupSlug);\n\n if (getUserDecision(decisionCookieName) !== false || !active) {\n return false;\n } // As soon we have a legitimate interest, we need to show the cookie banner\n\n\n for (const group of groups) {\n if (group !== essentialGroupObj) {\n for (const {\n legalBasis\n } of group.items) {\n if (legalBasis === \"legitimate-interest\") {\n return false;\n }\n }\n }\n }\n\n return isDoNotTrack() ? \"dnt\" : false;\n};\n\nexport { preDecisionGatewayIsDoNotTrack };","/**\n * Checks if the given browser is requesting \"Do Not Track\" header.\n *\n * @see https://dev.to/corbindavenport/how-to-correctly-check-for-do-not-track-with-javascript-135d\n */\nfunction isDoNotTrack() {\n try {\n const w = window;\n\n if (w.doNotTrack || w.navigator.doNotTrack || w.navigator.msDoNotTrack || \"msTrackingProtectionEnabled\" in w.external) {\n // The browser supports Do Not Track!\n if (w.doNotTrack == \"1\" || w.navigator.doNotTrack == \"yes\" || w.navigator.doNotTrack == \"1\" || w.navigator.msDoNotTrack == \"1\" || w.external.msTrackingProtectionEnabled()) {\n return true;\n }\n }\n } catch (e) {// Silence is golden.\n }\n\n return false;\n}\n\nexport { isDoNotTrack };","import { getUserDecision } from \"../decision\";\n/**\n * Has the user already consent to the latest requested revision (hash)?\n */\n\nconst preDecisionGatewayUserConsent = async ({\n decisionCookieName,\n revisionHash\n}) => {\n const decision = getUserDecision(decisionCookieName);\n\n if (decision === false) {\n return false;\n }\n\n const {\n revision\n } = decision;\n return revisionHash === revision ? \"consent\" : false;\n};\n\nexport { preDecisionGatewayUserConsent };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestConsentDynamicPredecisionGet = {\n path: \"/consent/dynamic-predecision\",\n method: RouteHttpVerb.POST\n};","/**\n * Checks if the given banner is not visible due to legal settings.\n */\nfunction isHiddenDueLegal(banner) {\n const {\n legal: {\n imprint,\n imprintHide,\n privacyPolicy,\n privacyPolicyHide\n },\n pageId\n } = banner;\n return [imprintHide && +imprint, privacyPolicyHide && +privacyPolicy].filter(Boolean).indexOf(pageId) > -1;\n}\n\nexport { isHiddenDueLegal };","import { useCallback, useMemo } from \"react\";\nimport { BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER } from \"../..\";\n/**\n * Depending on the current screen, calculate the animation to use.\n *\n * Currently, we do not support animations on resize as we cannot calculate the\n * width of the overlay container as it does not exist on first render cycle of React.\n *\n * Drawback if animation only on mobile is enabled: if the window is first a mobile,\n * and the window gets resize it will reuse the animation on desktop again\n */\n\nfunction useBannerAnimation() {\n const clientWidth = useMemo(() => window.innerWidth, []);\n const isMobile = clientWidth < BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER; // Check if it is mobile Firefox, as it does not support `position:sticky;bottom:0;` and animations.\n // Effect: The buttons and footer are not visible.\n\n const isMobileFirefox = useMemo(() => {\n const userAgent = window.navigator.userAgent.toLowerCase();\n return [\"firefox\", \"gecko\", \"mobile\", \"android\"].map(term => userAgent.indexOf(term) > -1).filter(Boolean).length === 4;\n }, []);\n return useCallback(({\n animationIn,\n animationInOnlyMobile,\n animationOut,\n animationOutOnlyMobile\n }) => {\n let useAnimationIn = animationInOnlyMobile ? isMobile ? animationIn : \"none\" : animationIn;\n let useAnimationOut = animationOutOnlyMobile ? isMobile ? animationOut : \"none\" : animationOut;\n\n if (isMobileFirefox) {\n useAnimationIn = \"none\";\n useAnimationOut = \"none\";\n }\n\n return {\n useAnimationIn,\n useAnimationOut\n };\n }, []);\n}\n\nexport { useBannerAnimation };","export const BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER = 700;\nexport * from \"./types\";\nexport * from \"./contexts\";\nexport * from \"./hooks\";\nexport * from \"./inlineStyles\";\nexport * from \"./utils\";\nexport * from \"./components\";\nexport * from \"./others\";","import { createTcfModel } from \"@devowl-wp/cookie-consent-web-client\";\n\nconst cancelEvent = e => {\n if (!e) {\n return;\n }\n\n e.preventDefault(); // Some themes (e.g. AKEA) do have listeners on each link separately and do a custom redirect\n\n e.stopPropagation();\n};\n\nfunction useBannerStateContextCallbacks({\n toggleOverlay,\n revokeConsent\n}) {\n const toggleWithActiveAction = (setContextValue, type) => setContextValue(state => {\n return { ...state,\n activeAction: type,\n individualPrivacyOpen: true,\n refreshSiteAfterSave: type === \"change\" ? 2000 : false,\n ...toggleOverlay(state, true)\n };\n });\n\n return {\n openHistory: (setContextValue, ...args) => {\n toggleWithActiveAction(setContextValue, \"history\");\n cancelEvent(args[0]);\n },\n openBanner: (setContextValue, ...args) => {\n toggleWithActiveAction(setContextValue, \"change\");\n cancelEvent(args[0]);\n },\n revokeConsent: (setContextValue, ...args) => {\n const [successMessage, e] = args;\n setContextValue(state => {\n revokeConsent(state).then(() => {\n successMessage && alert(successMessage); // Always reload (always wait 2s to ensure opt-out scripts are exeucted)\n // Fix iOS / Safari bug when we want to reload the page after a POST request\n\n setTimeout(() => window.location.reload(), 2000);\n }); // Do not change anything\n\n return state;\n });\n cancelEvent(e);\n },\n updateTcfFilterBy: (setContextValue, ...args) => {\n const [newFilter] = args;\n setContextValue(state => ({ ...state,\n tcfFilterBy: newFilter\n }));\n },\n updateIndividualPrivacyOpen: (setContextValue, ...args) => {\n const [opened] = args;\n setContextValue(state => ({ ...state,\n individualPrivacyOpen: opened\n }));\n },\n updateGroupChecked: (setContextValue, ...args) => {\n const [id, checked] = args;\n setContextValue(state => {\n const newConsent = JSON.parse(JSON.stringify(state.consent));\n\n if (checked) {\n newConsent.groups[id] = state.groups.filter(group => group.id === id)[0].items.map(({\n id\n }) => id);\n } else {\n delete newConsent.groups[id];\n }\n\n return { ...state,\n consent: newConsent,\n didGroupFirstChange: true\n };\n });\n },\n updateCookieChecked: (setContextValue, ...args) => {\n const [groupId, id, checked] = args;\n setContextValue(state => {\n const newConsent = JSON.parse(JSON.stringify(state.consent)); // Initially create \"selected\" cookies\n\n if (!newConsent.groups[groupId]) {\n newConsent.groups[groupId] = [];\n }\n\n const cookieIds = newConsent.groups[groupId];\n const indexOf = cookieIds.indexOf(id);\n\n if (checked && indexOf === -1) {\n cookieIds.push(id);\n } else if (!checked && indexOf > -1) {\n cookieIds.splice(indexOf, 1);\n } // Delete group entirely when no cookies selected\n\n\n if (!cookieIds.length) {\n delete newConsent.groups[groupId];\n }\n\n return { ...state,\n consent: newConsent\n };\n });\n },\n onClose: setContextValue => {\n setContextValue(state => {\n return { ...state,\n ...toggleOverlay(state, false),\n // This should be set always by you again as it is one-time\n refreshSiteAfterSave: false\n };\n });\n },\n selectHistoryEntry: (setContextValue, ...args) => {\n const [groups, consentGroups, tcf] = args;\n setContextValue(state => {\n const additionalChanges = {\n // In case we previously used non-TCF functionality, do not show the TCF banner\n isTcf: !!tcf,\n tcf: null\n };\n\n if (process.env.IS_TCF === \"1\" && tcf) {\n Object.assign(additionalChanges, {\n tcf: \"gvl\" in tcf ? tcf : createTcfModel(tcf)\n });\n }\n\n return { ...state,\n groups,\n consent: { ...state.consent,\n groups: consentGroups\n },\n ...additionalChanges\n };\n });\n }\n };\n}\n\nexport { useBannerStateContextCallbacks };","import { useEffect } from \"react\";\nimport { parents } from \"@devowl-wp/headless-content-unblocker\";\nimport { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\nimport { useBanner } from \"../..\";\nconst HREF_MATCHER = '[href^=\"#consent-\"]';\n/**\n * Listen to anchor links and execute the banner action:\n *\n * ```\n * #consent-change\n * #consent-history\n * #consent-revoke\n * ```\n */\n\nfunction useBannerActionLinks() {\n const {\n openBanner,\n openHistory,\n revokeConsent\n } = useBanner();\n useEffect(() => {\n const handleType = (type, successMessage, e) => {\n if (!openBanner) {\n // `useBannerActions` is not yet initialized.\n return;\n }\n\n switch (type) {\n case \"change\":\n openBanner(e);\n break;\n\n case \"history\":\n openHistory(e);\n break;\n\n case \"revoke\":\n revokeConsent(successMessage, e);\n break;\n\n default:\n break;\n }\n };\n\n const eventListenerDocumentClick = e => {\n if (!openBanner) {\n // `useBannerActions` is not yet initialized.\n return;\n } // Check if one of the parents has a valid hash link\n\n\n const element = e.target;\n parents(element, HREF_MATCHER).concat(matchingSelector(element, HREF_MATCHER) ? [element] : []).forEach(parent => {\n handleType(parent.getAttribute(\"href\").slice(9), parent.getAttribute(\"data-success-message\"), e);\n }); // @deprecated Old behavior with simple links like `#change`\n\n if (matchingSelector(element, \".rcb-sc-link\")) {\n handleType(element.getAttribute(\"href\").slice(1), element.getAttribute(\"data-success-message\"), e);\n }\n };\n\n const eventListenerHashChange = () => {\n const {\n hash\n } = window.location;\n\n if (hash.startsWith(\"#consent-\")) {\n handleType(hash.substring(9), undefined, undefined);\n }\n };\n\n window.addEventListener(\"hashchange\", eventListenerHashChange);\n document.addEventListener(\"click\", eventListenerDocumentClick, true);\n return () => {\n window.removeEventListener(\"hashchange\", eventListenerHashChange);\n document.removeEventListener(\"click\", eventListenerDocumentClick, true);\n };\n }, [openBanner, openHistory, revokeConsent]);\n}\n\nexport { useBannerActionLinks };","import { useEffect, useState } from \"react\";\n\nfunction useResettableAnimation(animation, duration) {\n const [i, setI] = useState(0);\n const [j, setJ] = useState(0);\n const [stateAnimation, setStateAnimation] = useState(animation);\n const [stateAnimationReset, setStateAnimationReset] = useState(undefined);\n const [stateDuration, setStateDuration] = useState(duration);\n const [stateDurationReset, setStateDurationReset] = useState(undefined); // Reset animation, save it temporary so when changing it, it needs to be to \"none\" and then the needed one\n\n useEffect(() => {\n // Avoid first rendering as the first is animated at mount-time\n if (i > 0) {\n if (animation === \"none\") {\n setStateAnimation(animation);\n } else {\n setStateAnimation(\"none\");\n setStateAnimationReset(animation);\n }\n }\n\n setI(i + 1);\n }, [animation]);\n useEffect(() => {\n // Avoid first rendering as the first is animated at mount-time\n if (j > 0) {\n if (duration === 0) {\n setStateDuration(duration);\n } else {\n setStateDuration(0);\n setStateDurationReset(duration);\n setStateAnimation(\"none\");\n setStateAnimationReset(animation);\n }\n }\n\n setJ(j + 1);\n }, [duration]);\n useEffect(() => {\n if (stateAnimationReset !== undefined) {\n setStateAnimation(stateAnimationReset);\n setStateAnimationReset(undefined);\n }\n }, [stateAnimationReset]);\n useEffect(() => {\n if (stateDurationReset !== undefined) {\n setStateDuration(stateDurationReset);\n setStateDurationReset(undefined);\n }\n }, [stateDurationReset]);\n return [stateAnimation, stateDuration];\n}\n\nexport { useResettableAnimation };","/**\n * @see https://stackoverflow.com/a/5624139/5506547\n * @param hex\n */\nfunction hexToRgb(hex) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n}\n\nexport { hexToRgb };","import { hexToRgb } from \".\";\n\n/**\n * @param hex\n * @param alpha 0 - 100\n */\nfunction calculateRgba(hex, alpha) {\n const {\n r,\n g,\n b\n } = hexToRgb(hex);\n return \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(alpha / 100, \")\");\n}\n\nexport { calculateRgba };","import { useState, useEffect } from \"react\";\n\nfunction getAnimationRelatedState({\n isVisible,\n animationIn,\n animationOut,\n animationInDuration,\n animationOutDuration,\n animationInDelay,\n animationOutDelay\n}) {\n return isVisible ? {\n animation: animationIn,\n duration: animationInDuration,\n delay: animationInDelay\n } : {\n animation: animationOut,\n duration: animationOutDuration,\n delay: animationOutDelay\n };\n}\n/**\n * Ported from https://www.npmjs.com/package/react-animated-css due to high bundle size.\n */\n\n\nconst AnimatedCss = ({\n animateOnMount = true,\n isVisible = true,\n animationIn = \"fadeIn\",\n animationOut = \"fadeOut\",\n animationInDelay = 0,\n animationOutDelay = 0,\n animationInDuration = 1000,\n animationOutDuration = 1000,\n className = \"\",\n style = {},\n children\n}) => {\n const [{\n animation,\n duration,\n delay\n }, setAnimationRelatedState] = useState(animateOnMount ? getAnimationRelatedState({\n isVisible,\n animationIn,\n animationOut,\n animationInDelay,\n animationOutDelay,\n animationInDuration,\n animationOutDuration\n }) : {\n animation: \"\",\n delay: undefined,\n duration: 0\n });\n useEffect(() => {\n setAnimationRelatedState(getAnimationRelatedState({\n isVisible,\n animationIn,\n animationOut,\n animationInDelay,\n animationOutDelay,\n animationInDuration,\n animationOutDuration\n }));\n }, [isVisible, animationIn, animationOut, animationInDelay, animationOutDelay, animationInDuration, animationOutDuration]);\n const classes = \"animate__animated animate__\".concat(animation, \" \").concat(className);\n const backwardStyle = !animation ? {\n opacity: isVisible ? 1 : 0,\n transition: \"opacity \".concat(delay, \"ms\")\n } : {};\n return h(\"div\", {\n className: classes,\n style: {\n animationDelay: \"\".concat(delay, \"ms\"),\n animationDuration: \"\".concat(duration, \"ms\"),\n pointerEvents: isVisible ? \"all\" : \"none\",\n ...style,\n ...backwardStyle\n }\n }, children);\n};\n\nexport { AnimatedCss };","import { useEffect } from \"react\";\nimport { useBanner } from \"../contexts\";\nimport { usePlainCss } from \".\";\n/**\n * Pass an HTML refs and we will provide a root stylesheet with the height dimensions and variables\n * with the calculated height. This is needed as we need to do some positioning of header and footer.\n */\n\nfunction useRenderedHeightsAsCssVars(element, name) {\n const {\n pageRequestUuid4\n } = useBanner(); // We do directly modify the inline CSS as we do not want to trigger a rerender for the complete banner content\n\n const cssId = usePlainCss(\"\", \"useRenderedHeightsAsCssVars-\".concat(name));\n const cssElement = document.getElementById(cssId);\n useEffect(() => {\n let previousHeight = 0;\n\n const recalculate = () => {\n const currentHeight = element.getBoundingClientRect().height;\n\n if (previousHeight !== currentHeight) {\n previousHeight = currentHeight;\n cssElement.innerHTML = \"#\".concat(pageRequestUuid4, \"{--rendered-height-\").concat(name, \": \").concat(Math.floor(currentHeight), \"px;--rendered-height-raw-\").concat(name, \": \").concat(currentHeight, \"px}\");\n }\n };\n\n if (!element) {\n return () => {// Silence is golden.\n };\n } // Support animations\n\n\n const animateContainer = document.querySelector(\"#\".concat(pageRequestUuid4, \" div[class*=\\\"animate__\\\"]\"));\n animateContainer.addEventListener(\"animationend\", recalculate);\n\n if (window.ResizeObserver) {\n const ro = new ResizeObserver(recalculate);\n ro.observe(element);\n return () => {\n ro.disconnect();\n animateContainer.removeEventListener(\"animationend\", recalculate);\n };\n } else {\n const interval = setInterval(recalculate, 150);\n return () => {\n clearInterval(interval);\n animateContainer.removeEventListener(\"animationend\", recalculate);\n };\n }\n }, [element, name]);\n}\n\nexport { useRenderedHeightsAsCssVars };","import { useBanner } from \"../..\";\nimport { useCallback } from \"react\";\n/**\n * Provide callbacks for all the available button types in our cookie banner:\n *\n * - Accept all\n * - Continue without consent (accept essentials)\n * - Save custom choices (no changes to the current selected groups and services)\n * - Change individual privacy preferences\n */\n\nfunction useBannerButtonCallbacks() {\n const {\n individualPrivacyOpen,\n onSave,\n updateGroupChecked,\n updateCookieChecked,\n groups,\n essentialGroup,\n updateIndividualPrivacyOpen,\n activeAction,\n onClose\n } = useBanner();\n const buttonClickedAll = individualPrivacyOpen ? \"ind_all\" : \"main_all\";\n const buttonClickedEssentials = individualPrivacyOpen ? \"ind_essential\" : \"main_essential\";\n const buttonClickedCloseIcon = individualPrivacyOpen ? \"ind_close_icon\" : \"main_close_icon\";\n const buttonClickedCustom = individualPrivacyOpen ? \"ind_custom\" : \"main_custom\";\n const result = {\n buttonClickedAll,\n buttonClickedEssentials,\n buttonClickedCloseIcon,\n buttonClickedCustom,\n acceptAll: useCallback(() => {\n groups.forEach(g => updateGroupChecked(g.id, true));\n onSave(false, buttonClickedAll);\n }, [buttonClickedAll]),\n\n /**\n * This includes the complete \"Essential\" group + legal basis = legitimate interests.\n */\n acceptEssentials: useCallback((isCloseIcon = false) => {\n groups.forEach(({\n slug,\n id,\n items\n }) => {\n if (slug === essentialGroup) {\n updateGroupChecked(id, true);\n } else {\n for (const {\n legalBasis,\n id: cookieId\n } of items) {\n updateCookieChecked(id, cookieId, legalBasis === \"legitimate-interest\");\n }\n }\n });\n onSave(false, isCloseIcon ? buttonClickedCloseIcon : buttonClickedEssentials);\n }, [buttonClickedEssentials]),\n acceptIndividual: useCallback(() => onSave(false, buttonClickedCustom), [buttonClickedCustom]),\n openIndividualPrivacy: useCallback(() => {\n updateIndividualPrivacyOpen(true);\n }, [updateIndividualPrivacyOpen])\n };\n return { ...result,\n closeIcon: useCallback(() => {\n if (!activeAction) {\n // If we do not have yet a consent and it shows the banner for the first time,\n // the close icon is equivalent to \"Continue without consent\"\n result.acceptEssentials(true);\n } else {\n onClose();\n }\n }, [activeAction, onClose, result.acceptEssentials])\n };\n}\n\nexport { useBannerButtonCallbacks };","import { useState, useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\n/**\n * Portals provide a first-class way to render children into a DOM node that exists outside the DOM hierarchy of the parent component.\n *\n * @see https://reactjs.org/docs/portals.html\n */\n\nconst Portal = ({\n children,\n className,\n tag = \"div\",\n renderInContainer\n}) => {\n const [renderIn] = useState(() => {\n const el = document.createElement(tag);\n className && el.classList.add(className);\n return el;\n }); // Append container to `body`\n\n useEffect(() => {\n document.body.appendChild(renderIn);\n return () => {\n document.body.removeChild(renderIn);\n };\n }, []);\n return /*#__PURE__*/createPortal(children, renderInContainer || renderIn);\n};\n\nexport { Portal };","import { useMemo, useRef, Fragment } from \"react\";\nimport { useRect } from \"@reach/rect\";\nimport { usePlainCss } from \"../hooks\";\nimport { Portal, Tooltip } from \".\";\nlet counter = 0;\n/**\n * A portaled close icon creates a close icon rendered to a given container. This allows\n * you to put the close icon on the top right corner of an `overflow:hidden` container and\n * the tooltip gets rendered correctly.\n */\n\nconst CloseIcon = ({\n width,\n color,\n tooltipText,\n framed,\n renderInContainer,\n tooltipAlways,\n onClick,\n thickness = 1\n}) => {\n const idCloseIconNotPortaled = useMemo(() => \"react-close-icon-\".concat((counter++).toString(36)), []);\n const idCloseIconPortaled = useMemo(() => \"react-close-icon-\".concat((counter++).toString(36)), []);\n /**\n * Why two containers for a simple close icon? I need to explain something technical here.\n * Our complete banner/dialog is tainted with `overflow:hidden` due to flickering effects\n * with animate.css etc. We will now create an invisible element with the placeholder,\n * we will then read its positioning (rect) and generate the visible close icon based on this position.\n */\n\n const idCloseIconPlaceholder = useMemo(() => \"react-close-icon-\".concat((counter++).toString(36)), []);\n const ref = useRef();\n const rect = useRect(ref);\n usePlainCss(\"#\".concat(idCloseIconPlaceholder, \", #\").concat(idCloseIconNotPortaled, \" {\\n position: absolute;\\n top: 50%;\\n right: 0;\\n margin-top: calc(\").concat(width, \"px / 2 * -1);\\n display: block;\\n width: \").concat(width, \"px;\\n height: \").concat(width, \"px; \\n pointer-events: none;\\n}\\n\\n#\").concat(idCloseIconNotPortaled, \" {\\n position: absolute !important;\\n}\\n\\n#\").concat(idCloseIconNotPortaled, \", #\").concat(idCloseIconPortaled, \" {\\n cursor: pointer;\\n pointer-events: all;\\n \").concat(framed ? \"outline: rgb(255, 94, 94) solid 5px;\" : \"\", \"\\n}\\n\\n#\").concat(idCloseIconPortaled, \" {\\n position: fixed !important;\\n \").concat(rect ? \"top: \".concat(rect.y, \"px;left: \").concat(rect.x, \"px;display:block;\") : \"display:none;\", \"\\n width: \").concat(width, \"px;\\n height: \").concat(width, \"px;\\n z-index: 99;\\n}\\n#\").concat(idCloseIconPortaled, \":after, #\").concat(idCloseIconNotPortaled, \":after {\\n width: auto !important;\\n white-space: nowrap !important;\\n}\\n#\").concat(idCloseIconPortaled, \">span:before, #\").concat(idCloseIconPortaled, \">span:after,\\n#\").concat(idCloseIconNotPortaled, \">span:before, #\").concat(idCloseIconNotPortaled, \">span:after {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n width: \").concat(thickness, \"px;\\n height: \").concat(width, \"px;\\n background-color: \").concat(color, \";\\n transform: rotate(45deg) translate(-50%, -50%);\\n transform-origin: top left;\\n transition: all 420ms;\\n content: '';\\n opacity: 0.5;\\n pointer-events: none;\\n}\\n#\").concat(idCloseIconPortaled, \">span:after,\\n#\").concat(idCloseIconNotPortaled, \">span:after {\\n transform: rotate(-45deg) translate(-50%, -50%);\\n}\\n#\").concat(idCloseIconPortaled, \">span:hover:before, #\").concat(idCloseIconPortaled, \">span:hover:after,\\n#\").concat(idCloseIconNotPortaled, \">span:hover:before, #\").concat(idCloseIconNotPortaled, \">span:hover:after {\\n opacity: 1;\\n width: \").concat(thickness + 1, \"px;\\n}\"));\n return renderInContainer ? h(Fragment, null, h(\"div\", {\n id: idCloseIconPlaceholder,\n ref: ref\n }), (rect === null || rect === void 0 ? void 0 : rect.y) > 0 && h(Portal, {\n renderInContainer: renderInContainer\n }, h(Tooltip, {\n title: tooltipText,\n id: idCloseIconPortaled,\n onClick: onClick,\n position: rect.y > 50 ? \"top-left\" : \"left\",\n always: tooltipAlways\n }, h(\"span\", null)))) : h(Tooltip, {\n title: tooltipText,\n id: idCloseIconNotPortaled,\n onClick: onClick,\n position: \"top-left\",\n always: tooltipAlways\n }, h(\"span\", null));\n};\n\nexport { CloseIcon };","import { useBanner, useBannerButtonCallbacks, scaleMobile, CloseIcon, BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER } from \"../../..\";\n\nconst BannerCloseIcon = () => {\n const {\n headerDesign: {\n fontSize,\n fontColor\n },\n texts: {\n acceptEssentials\n },\n mobile,\n activeAction,\n pageRequestUuid4,\n i18n: {\n close,\n closeWithoutSaving\n },\n buttonClicked = \"\"\n } = useBanner();\n const {\n buttonClickedCloseIcon,\n closeIcon\n } = useBannerButtonCallbacks();\n const container = document.getElementById(pageRequestUuid4);\n return h(CloseIcon, {\n width: scaleMobile(mobile, pageRequestUuid4, fontSize),\n color: fontColor,\n tooltipText: activeAction ? activeAction === \"change\" ? closeWithoutSaving : close : acceptEssentials,\n tooltipAlways: (container === null || container === void 0 ? void 0 : container.clientWidth) < BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER,\n framed: buttonClicked === buttonClickedCloseIcon,\n renderInContainer: container,\n onClick: closeIcon\n });\n};\n\nexport { BannerCloseIcon };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useBanner, bannerHeaderInlineStyleContainer, bannerHeaderInlineStyle, bannerHeaderInlineStyleLogo, commonInlineStyleHeaderHeadline, BannerCloseIcon } from \"../../..\";\nimport { forwardRef } from \"react\"; // eslint-disable-next-line react/display-name\n\nconst BannerHeader = /*#__PURE__*/forwardRef((_, ref) => {\n const banner = useBanner();\n const {\n headerDesign: {\n logo,\n logoRetina\n },\n decision: {\n showCloseIcon\n },\n texts: {\n headline\n },\n activeAction,\n individualPrivacyOpen,\n individualTexts,\n i18n: {\n headerTitlePrivacyPolicyHistory\n }\n } = banner; // Calculate logo\n\n const useRetina = logoRetina && !(logo !== null && logo !== void 0 && logo.endsWith(\".svg\")) && window.devicePixelRatio > 1;\n const useLogo = useRetina ? logoRetina : logo; // Calculate headline\n\n const useHeadline = individualPrivacyOpen ? activeAction === \"history\" ? headerTitlePrivacyPolicyHistory : individualTexts.headline : headline;\n return h(\"div\", _extends({\n ref: ref\n }, bannerHeaderInlineStyleContainer(banner)), h(\"div\", bannerHeaderInlineStyle(banner), !!useLogo && h(\"img\", _extends({\n alt: \"\",\n src: useLogo\n }, bannerHeaderInlineStyleLogo(banner, useRetina))), !!useHeadline && h(\"div\", commonInlineStyleHeaderHeadline(banner, false), useHeadline), (!!showCloseIcon || !!activeAction) && h(BannerCloseIcon, null)));\n});\nexport { BannerHeader };","import { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyleContainer({\n layout: {\n type,\n dialogBorderRadius\n },\n design: {\n borderWidth,\n borderColor,\n ...restDesign\n },\n headerDesign: {\n inheritBg,\n bg,\n padding\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n const useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n const useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n const style = {\n padding: scaleMobile(mobile, pageRequestUuid4, padding, undefined, true).map(p => \"\".concat(p, \"px\")).join(\" \"),\n background: inheritBg ? restDesign.bg : bg,\n borderRadius: useType === \"dialog\" ? \"\".concat(dialogBorderRadius, \"px \").concat(dialogBorderRadius, \"px 0 0\") : undefined,\n position: \"sticky\",\n zIndex: 9,\n top: 0\n };\n\n if (useType === \"dialog\" && useBorderWidth > 0) {\n style.borderTop = \"\".concat(useBorderWidth, \"px solid \").concat(borderColor);\n style.borderLeft = style.borderTop;\n style.borderRight = style.borderTop;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header-container\",\n style\n };\n}\n\nexport { bannerHeaderInlineStyleContainer };","import { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyle({\n layout: {\n type,\n bannerMaxWidth\n },\n design: {\n textAlign\n },\n headerDesign: {\n inheritTextAlign,\n logo,\n logoPosition,\n ...restHeaderDesign\n },\n texts: {\n headline\n },\n individualLayout,\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4,\n individualPrivacyOpen\n}) {\n const useTextAlign = inheritTextAlign ? textAlign : restHeaderDesign.textAlign;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header\",\n style: {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\",\n display: \"flex\",\n justifyContent: useTextAlign === \"center\" ? \"center\" : useTextAlign === \"right\" ? \"flex-end\" : undefined,\n textAlign: useTextAlign,\n alignItems: \"center\",\n position: \"relative\",\n flexDirection: logo && headline ? logoPosition === \"left\" ? \"row\" : logoPosition === \"right\" ? \"row-reverse\" : \"column\" : undefined\n }\n };\n}\n\nexport { bannerHeaderInlineStyle };","import { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyleLogo({\n headerDesign: {\n logoMaxHeight,\n logoMargin,\n logoFitDim,\n logoRetinaFitDim\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}, isRetina) {\n const useFitDim = isRetina ? logoRetinaFitDim : logoFitDim;\n const dimStyle = useFitDim ? {\n width: useFitDim[0],\n height: useFitDim[1]\n } : {\n width: \"auto\",\n height: scaleMobile(mobile, pageRequestUuid4, +logoMaxHeight)\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-logo\",\n style: { ...dimStyle,\n margin: scaleMobile(mobile, pageRequestUuid4, logoMargin).map(m => \"\".concat(m, \"px\")).join(\" \") //[logoPosition === \"left\" ? \"marginRight\" : \"marginLeft\"]: logoPosition === \"above\" ? undefined : 15,\n //marginBottom: logoPosition === \"above\" ? 5 : undefined\n\n }\n };\n}\n\nexport { bannerHeaderInlineStyleLogo };","import { useBanner, bannerGroupsInlineStyleTitle, bannerGroupsInlineStyleDescription } from \"../../..\";\n\nconst BannerGroupSectionTitle = ({\n title,\n children\n}) => {\n const banner = useBanner();\n return h(\"div\", bannerGroupsInlineStyleTitle(banner), title, children && h(\"div\", bannerGroupsInlineStyleDescription(banner), children));\n};\n\nexport { BannerGroupSectionTitle };","import { scaleMobile } from \"../..\";\n\nfunction bannerGroupsInlineStyleTitle({\n group: {\n headlineFontSize,\n headlineFontColor,\n headlineFontWeight\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group\",\n style: {\n color: headlineFontColor,\n fontSize: scaleMobile(mobile, pageRequestUuid4, headlineFontSize),\n fontWeight: headlineFontWeight,\n textAlign: \"left\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyleTitle };","import { scaleMobile } from \"../..\";\n\nfunction bannerGroupsInlineStyleDescription({\n design: {\n fontWeight\n },\n group: {\n descriptionFontColor,\n descriptionFontSize\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group-description\",\n style: {\n color: descriptionFontColor,\n fontSize: scaleMobile(mobile, pageRequestUuid4, +descriptionFontSize),\n fontWeight,\n marginTop: 5\n }\n };\n}\n\nexport { bannerGroupsInlineStyleDescription };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { Fragment, useState } from \"react\";\nimport { commonGroupsInlineStyleLinkMore } from \"../../inlineStyles\";\nimport { useBannerOrBlocker } from \"../../hooks\";\n\nconst CommonLinkMore = ({\n onToggle,\n children,\n showMore,\n hideMore,\n ...rest\n}) => {\n const bannerOrBlocker = useBannerOrBlocker();\n const [isHover, setIsHover] = useState(false);\n const [isOpen, setIsOpen] = useState(false);\n return h(Fragment, null, \"\\xA0\\xA0\\u2022\\xA0\\xA0\", h(\"a\", _extends({\n href: \"#\"\n }, commonGroupsInlineStyleLinkMore(bannerOrBlocker, isHover), {\n onClick: e => {\n const newOpen = !isOpen;\n setIsOpen(newOpen);\n onToggle === null || onToggle === void 0 ? void 0 : onToggle(newOpen);\n e.preventDefault();\n },\n onMouseEnter: () => setIsHover(true),\n onMouseLeave: () => setIsHover(false)\n }, rest), isOpen ? hideMore : showMore), isOpen && children);\n};\n\nexport { CommonLinkMore };","import { useCallback } from \"react\";\nimport { useBanner, Cookie } from \"../../..\";\n\nconst BannerCookie = ({\n group,\n cookie\n}) => {\n var _consent$groups;\n\n const {\n id\n } = cookie;\n const banner = useBanner();\n const {\n consent,\n activeAction,\n essentialGroup\n } = banner;\n const isEssentialGroup = essentialGroup === group.slug;\n const isDisabled = isEssentialGroup || activeAction === \"history\";\n const isChecked = isEssentialGroup || (((_consent$groups = consent.groups) === null || _consent$groups === void 0 ? void 0 : _consent$groups[group.id]) || []).some(c => c === id);\n const handleCheckbox = useCallback(() => !isDisabled && banner.updateCookieChecked(group.id, id, !isChecked), [isDisabled, banner, group, id, isChecked]);\n return h(Cookie, {\n cookie: cookie,\n propertyListProps: {\n isEssentialGroup\n },\n checked: isChecked,\n disabled: isDisabled,\n onToggleCheck: handleCheckbox\n });\n};\n\nexport { BannerCookie };","import { useCallback } from \"react\";\nimport { CommonCheckbox, CommonLinkMore, useBanner, bannerGroupsInlineStyleGroup, BannerGroupSectionTitle, BannerCookie } from \"../../..\";\n\nconst BannerGroup = ({\n group\n}) => {\n var _consent$groups$id;\n\n const banner = useBanner();\n const {\n id,\n slug,\n name,\n description,\n items\n } = group;\n const {\n previewCheckboxActiveState,\n consent,\n activeAction,\n essentialGroup,\n individualTexts: {\n showMore,\n hideMore\n }\n } = banner;\n const isEssentialGroup = essentialGroup === slug;\n const isDisabled = isEssentialGroup || activeAction === \"history\";\n const isChecked = previewCheckboxActiveState || isEssentialGroup || !!consent.groups[id];\n const isPartial = !isEssentialGroup && JSON.stringify(items.map(({\n id\n }) => id).sort()) !== JSON.stringify(((_consent$groups$id = consent.groups[id]) === null || _consent$groups$id === void 0 ? void 0 : _consent$groups$id.sort()) || []);\n const handleCheckbox = useCallback(() => !isDisabled && banner.updateGroupChecked(id, !isChecked), [isDisabled, banner, id, isChecked]);\n return h(\"div\", bannerGroupsInlineStyleGroup(banner), h(BannerGroupSectionTitle, {\n title: h(CommonCheckbox, {\n onClick: handleCheckbox,\n isPartial: isPartial,\n isChecked: isChecked,\n isDisabled: isDisabled\n }, name, \" (\", items.length, \")\")\n }, description, !!items && h(CommonLinkMore, {\n showMore: showMore,\n hideMore: hideMore\n }, items.map(cookie => h(BannerCookie, {\n key: cookie.id,\n group: group,\n cookie: cookie\n })))));\n};\n\nexport { BannerGroup };","import { scaleMobile } from \"../..\";\n\nfunction bannerGroupsInlineStyleGroup({\n group: {\n groupBg,\n groupBorderRadius,\n groupBorderColor,\n groupPadding,\n groupBorderWidth,\n groupInheritBg\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n const useGroupBorderWidth = scaleMobile(mobile, pageRequestUuid4, groupBorderWidth);\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group\",\n style: {\n background: groupInheritBg ? undefined : groupBg,\n border: useGroupBorderWidth > 0 ? \"\".concat(useGroupBorderWidth, \"px solid \").concat(groupBorderColor) : undefined,\n padding: scaleMobile(mobile, pageRequestUuid4, groupPadding).map(p => \"\".concat(p, \"px\")).join(\" \"),\n borderRadius: +groupBorderRadius,\n textAlign: \"left\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyleGroup };","import { scaleMobile, useBanner, bannerGroupsInlineStyle, BannerGroup } from \"../../..\";\nimport { Fragment } from \"react\";\n\nconst BannerGroupList = () => {\n const banner = useBanner();\n const {\n groups,\n group: {\n groupSpacing\n },\n mobile,\n pageRequestUuid4\n } = banner;\n const useGroups = groups.filter(({\n items\n }) => items.length);\n return h(\"div\", bannerGroupsInlineStyle(banner), useGroups.map((group, index) => h(Fragment, {\n key: group.id\n }, h(BannerGroup, {\n key: group.id,\n group: group\n }), index !== useGroups.length - 1 && h(\"div\", {\n style: {\n height: scaleMobile(mobile, pageRequestUuid4, +groupSpacing)\n }\n }))));\n};\n\nexport { BannerGroupList };","function bannerGroupsInlineStyle({\n customCss: {\n antiAdBlocker\n }\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-groups\",\n style: {\n marginTop: 10,\n clear: \"both\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyle };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { Fragment, useCallback } from \"react\";\nimport { useBanner } from \"../../../contexts\";\nimport { bannerInlineStyleBodyDottedGroupItem, bannerInlineStyleBodyDottedGroupBullet } from \"../../../inlineStyles\";\nimport { CommonCheckbox } from \"../..\";\n\nconst BannerDottedGroup = ({\n group: {\n id,\n slug,\n name\n }\n}) => {\n const banner = useBanner();\n const {\n decision: {\n groupsFirstView\n },\n design: {\n fontSize\n },\n consent,\n essentialGroup\n } = banner;\n const isPro = process.env.PLUGIN_CTX === \"pro\";\n const isEssentialGroup = essentialGroup === slug;\n const isChecked = isEssentialGroup || !!consent.groups[id];\n const handleCheckbox = useCallback(() => isPro && groupsFirstView && !isEssentialGroup && banner.updateGroupChecked(id, !isChecked), [isPro, isEssentialGroup, banner, id, isChecked, groupsFirstView]);\n return h(\"span\", _extends({\n key: name\n }, bannerInlineStyleBodyDottedGroupItem(banner)), h(\"span\", null, isPro && groupsFirstView ? h(CommonCheckbox, {\n onClick: handleCheckbox,\n isChecked: isChecked,\n isDisabled: isEssentialGroup,\n fontSize: fontSize\n }) : h(Fragment, null, h(\"strong\", bannerInlineStyleBodyDottedGroupBullet(banner), \"\\u25CF\"), \"\\xA0\"), h(\"span\", {\n style: {\n verticalAlign: \"middle\",\n cursor: groupsFirstView ? \"pointer\" : undefined\n },\n onClick: handleCheckbox\n }, name)));\n};\n\nexport { BannerDottedGroup };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBodyDottedGroupItem({\n design: {\n fontSize\n },\n bodyDesign: {\n dottedGroupsInheritFontSize,\n dottedGroupsFontSize\n },\n mobile,\n pageRequestUuid4\n}) {\n return {\n className: undefined,\n style: {\n paddingRight: 10,\n fontSize: scaleMobile(mobile, pageRequestUuid4, dottedGroupsInheritFontSize ? +fontSize : +dottedGroupsFontSize),\n whiteSpace: \"nowrap\",\n display: \"inline-block\"\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroupItem };","function bannerInlineStyleBodyDottedGroupBullet({\n bodyDesign: {\n dottedGroupsBulletColor\n }\n}) {\n return {\n className: undefined,\n style: {\n color: dottedGroupsBulletColor\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroupBullet };","import { BannerDottedGroup } from \".\";\nimport { useBanner, bannerInlineStyleBodyDottedGroups } from \"../../..\";\n\nconst BannerDottedGroupList = () => {\n const banner = useBanner();\n const {\n groups,\n decision: {\n showGroups\n }\n } = banner;\n return showGroups ? h(\"div\", bannerInlineStyleBodyDottedGroups(banner), groups.filter(({\n items\n }) => !!items.length).map(group => h(BannerDottedGroup, {\n key: group.id,\n group: group\n }))) : null;\n};\n\nexport { BannerDottedGroupList };","function bannerInlineStyleBodyDottedGroups({\n customCss: {\n antiAdBlocker\n }\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-dotted-groups\",\n style: {\n marginTop: 10,\n lineBreak: \"anywhere\",\n lineHeight: 2\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroups };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useBanner, bannerInlineStyleHistorySelect, bannerInlineStyleHistorySelectOption } from \"../../..\";\nimport { useMemo } from \"react\";\nimport { Fragment, useState, useEffect } from \"react\";\nconst SELECT_NONE = -1;\n\nconst BannerHistorySelect = () => {\n const banner = useBanner();\n const [selectedId, setSelectedId] = useState(SELECT_NONE);\n const {\n activeAction,\n history,\n selectHistoryEntry,\n i18n: {\n historyLabel,\n historySelectNone\n }\n } = banner;\n const selectedHistoryItem = useMemo(() => {\n var _history$filter;\n\n return history === null || history === void 0 ? void 0 : (_history$filter = history.filter(({\n id\n }) => id === selectedId)) === null || _history$filter === void 0 ? void 0 : _history$filter[0];\n }, [selectedId]); // Reset select after exit history dialog\n\n useEffect(() => {\n if (!activeAction) {\n setSelectedId(SELECT_NONE);\n } else if (activeAction === \"history\" && history !== null && history !== void 0 && history.length) {\n setSelectedId(history[0].id);\n }\n }, [activeAction, history]); // History can only contain my data, so we can pick the first entry for the history\n\n const uuid = selectedHistoryItem === null || selectedHistoryItem === void 0 ? void 0 : selectedHistoryItem.uuid;\n const optionStyle = bannerInlineStyleHistorySelectOption(banner);\n return h(Fragment, null, historyLabel, \"\\xA0\", h(\"select\", _extends({}, bannerInlineStyleHistorySelect(banner), {\n disabled: !(history !== null && history !== void 0 && history.length),\n value: selectedId,\n onChange: e => {\n const value = +e.target.value;\n history.forEach(({\n id,\n decision,\n groups,\n tcf\n }) => {\n if (id === value) {\n setSelectedId(id);\n selectHistoryEntry(groups, decision, tcf);\n }\n });\n }\n }), (history === null || history === void 0 ? void 0 : history.length) > 0 ? history.map(({\n id,\n isDoNotTrack,\n isUnblock,\n isForwarded,\n created\n }) => h(\"option\", _extends({\n key: id,\n value: id\n }, optionStyle), new Date(created).toLocaleString(document.documentElement.lang), isDoNotTrack ? \" (Do Not Track)\" : \"\", isUnblock ? \" (Content Blocker)\" : \"\", isForwarded ? \" (Consent Forwarding)\" : \"\")) : h(\"option\", _extends({\n value: SELECT_NONE\n }, optionStyle), historySelectNone)), !!uuid && h(\"div\", {\n style: {\n opacity: 0.5,\n marginTop: 5\n }\n }, \"UUID: \", uuid));\n};\n\nexport { BannerHistorySelect };","function bannerInlineStyleHistorySelectOption({\n design: {\n bg\n }\n}) {\n return {\n className: undefined,\n style: {\n background: bg\n }\n };\n}\n\nexport { bannerInlineStyleHistorySelectOption };","import { calculateRgba } from \"../../../utils\";\nimport { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleHistorySelect({\n design: {\n fontSize,\n fontColor\n },\n bodyDesign: {\n descriptionInheritFontSize,\n descriptionFontSize\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-history-select\",\n style: {\n fontSize: scaleMobile(mobile, pageRequestUuid4, descriptionInheritFontSize ? +fontSize : +descriptionFontSize),\n background: \"transparent\",\n border: 0,\n color: fontColor,\n borderBottom: \"1px solid \".concat(calculateRgba(fontColor, 50))\n }\n };\n}\n\nexport { bannerInlineStyleHistorySelect };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerButtonsInlineStyleCommon({\n name,\n order,\n type,\n borderRadius,\n bg,\n hoverBg,\n fontSize,\n textAlign,\n fontColor,\n fontWeight,\n hoverFontColor,\n borderWidth,\n borderColor,\n hoverBorderColor,\n padding,\n antiAdBlocker,\n pageRequestUuid4\n}, mobile, isHover, framed, isTwoButtonRowLayout) {\n const fullWidth = !isTwoButtonRowLayout || order > 1;\n const marginLeft = isTwoButtonRowLayout && order === 1 ? 5 : 0;\n const marginRight = isTwoButtonRowLayout && order === 0 ? 5 : 0;\n const useBorderWidth = scaleMobile(mobile, pageRequestUuid4, +borderWidth);\n const style = {\n textDecoration: type === \"link\" ? \"underline\" : \"none\",\n borderRadius: +borderRadius,\n cursor: type === \"button\" ? \"pointer\" : undefined,\n backgroundColor: type === \"button\" ? isHover ? hoverBg : bg : undefined,\n fontSize: scaleMobile(mobile, pageRequestUuid4, +fontSize),\n fontWeight,\n color: isHover ? hoverFontColor : fontColor,\n transition: \"background-color 250ms, color 250ms, border-color 250ms\",\n margin: \"0 \".concat(marginRight, \"px \").concat(scaleMobile(mobile, pageRequestUuid4, 10, undefined, true), \"px \").concat(marginLeft, \"px\"),\n border: type === \"button\" && useBorderWidth > 0 ? \"\".concat(useBorderWidth, \"px solid \").concat(isHover ? hoverBorderColor : borderColor) : undefined,\n padding: scaleMobile(mobile, pageRequestUuid4, padding, undefined, type !== \"button\").map(p => \"\".concat(p, \"px\")).join(\" \"),\n overflow: \"hidden\",\n outline: framed ? \"rgb(255, 94, 94) solid 5px\" : undefined,\n flex: fullWidth ? \"1 1 100%\" : \"0 0 calc(50% - \".concat(marginLeft + marginRight, \"px)\"),\n display: \"flex\",\n alignItems: \"center\",\n // text-align is not supported within a `display: flex`\n justifyContent: textAlign === \"right\" ? \"flex-end\" : textAlign === \"center\" ? \"center\" : \"left\",\n textAlign,\n order\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-btn-\".concat(name),\n style\n };\n}\n\nexport { bannerButtonsInlineStyleCommon };","import { bannerButtonsInlineStyleCommon } from \".\";\n\nfunction bannerButtonsInlineStyleAcceptEssentials({\n isTcf,\n decision: {\n acceptEssentials\n },\n layout: {\n borderRadius\n },\n bodyDesign: {\n acceptEssentialsFontSize,\n acceptEssentialsBg,\n acceptEssentialsTextAlign,\n acceptEssentialsBorderColor,\n acceptEssentialsPadding,\n acceptEssentialsBorderWidth,\n acceptEssentialsFontColor,\n acceptEssentialsFontWeight,\n acceptEssentialsHoverBg,\n acceptEssentialsHoverFontColor,\n acceptEssentialsHoverBorderColor,\n // For two-button row layout use all dimensional properties from \"Accept all\"\n // For TCF use font size and font weight from \"Accept all\"\n acceptAllFontWeight,\n acceptAllFontSize,\n acceptAllPadding\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}, isHover, framed, order, isTwoButtonRowLayout) {\n return bannerButtonsInlineStyleCommon({\n name: \"accept-essentials\",\n order,\n type: acceptEssentials,\n borderRadius,\n bg: acceptEssentialsBg,\n hoverBg: acceptEssentialsHoverBg,\n fontSize: isTwoButtonRowLayout || isTcf ? acceptAllFontSize : acceptEssentialsFontSize,\n textAlign: acceptEssentialsTextAlign,\n fontColor: acceptEssentialsFontColor,\n fontWeight: isTcf ? acceptAllFontWeight : acceptEssentialsFontWeight,\n hoverFontColor: acceptEssentialsHoverFontColor,\n borderWidth: acceptEssentialsBorderWidth,\n borderColor: acceptEssentialsBorderColor,\n hoverBorderColor: acceptEssentialsHoverBorderColor,\n padding: isTwoButtonRowLayout ? acceptAllPadding : acceptEssentialsPadding,\n antiAdBlocker,\n pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleAcceptEssentials };","import { bannerButtonsInlineStyleCommon } from \".\";\n\nfunction bannerButtonsInlineStyleAcceptIndividual({\n decision: {\n acceptIndividual\n },\n layout: {\n borderRadius\n },\n bodyDesign: {\n acceptIndividualFontSize,\n acceptIndividualBg,\n acceptIndividualTextAlign,\n acceptIndividualBorderColor,\n acceptIndividualPadding,\n acceptIndividualBorderWidth,\n acceptIndividualFontColor,\n acceptIndividualFontWeight,\n acceptIndividualHoverBg,\n acceptIndividualHoverFontColor,\n acceptIndividualHoverBorderColor\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}, isHover, framed, order, isTwoButtonRowLayout) {\n return bannerButtonsInlineStyleCommon({\n name: \"accept-individual\",\n order,\n type: acceptIndividual,\n borderRadius,\n bg: acceptIndividualBg,\n hoverBg: acceptIndividualHoverBg,\n fontSize: acceptIndividualFontSize,\n textAlign: acceptIndividualTextAlign,\n fontColor: acceptIndividualFontColor,\n fontWeight: acceptIndividualFontWeight,\n hoverFontColor: acceptIndividualHoverFontColor,\n borderWidth: acceptIndividualBorderWidth,\n borderColor: acceptIndividualBorderColor,\n hoverBorderColor: acceptIndividualHoverBorderColor,\n padding: acceptIndividualPadding,\n antiAdBlocker,\n pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleAcceptIndividual };","import { bannerButtonsInlineStyleCommon } from \"./\";\n\nfunction bannerButtonsInlineStyleSave({\n isTcf,\n layout: {\n borderRadius\n },\n bodyDesign: {\n // For TCF use font size and font weight from \"Accept all\"\n acceptAllFontWeight,\n acceptAllFontSize\n },\n saveButton: {\n type,\n fontSize,\n bg,\n textAlign,\n borderColor,\n padding,\n borderWidth,\n fontColor,\n fontWeight,\n hoverBg,\n hoverFontColor,\n hoverBorderColor\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}, isHover, framed, order, isTwoButtonRowLayout) {\n return bannerButtonsInlineStyleCommon({\n name: \"accept-individual-save\",\n order,\n type,\n borderRadius,\n bg,\n hoverBg,\n fontSize: isTcf ? acceptAllFontSize : fontSize,\n textAlign,\n fontColor,\n fontWeight: isTcf ? acceptAllFontWeight : fontWeight,\n hoverFontColor,\n borderWidth: borderWidth,\n borderColor,\n hoverBorderColor,\n padding,\n antiAdBlocker,\n pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleSave };","import { bannerButtonsInlineStyleCommon } from \".\";\n\nfunction bannerButtonsInlineStyleAcceptAll({\n decision: {\n acceptAll\n },\n layout: {\n borderRadius\n },\n bodyDesign: {\n acceptAllFontSize,\n acceptAllBg,\n acceptAllTextAlign,\n acceptAllBorderColor,\n acceptAllPadding,\n acceptAllBorderWidth,\n acceptAllFontColor,\n acceptAllFontWeight,\n acceptAllHoverBg,\n acceptAllHoverFontColor,\n acceptAllHoverBorderColor\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}, isHover, framed, order, isTwoButtonRowLayout) {\n return bannerButtonsInlineStyleCommon({\n name: \"accept-all\",\n order,\n type: acceptAll,\n borderRadius,\n bg: acceptAllBg,\n hoverBg: acceptAllHoverBg,\n fontSize: acceptAllFontSize,\n textAlign: acceptAllTextAlign,\n fontColor: acceptAllFontColor,\n fontWeight: acceptAllFontWeight,\n hoverFontColor: acceptAllHoverFontColor,\n borderWidth: acceptAllBorderWidth,\n borderColor: acceptAllBorderColor,\n hoverBorderColor: acceptAllHoverBorderColor,\n padding: acceptAllPadding,\n antiAdBlocker,\n pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleAcceptAll };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useCallback } from \"react\";\nimport { useState, useMemo } from \"react\";\nimport { isIE, AsciiSpinner, useBanner, bannerButtonsInlineStyleAcceptAll, bannerButtonsInlineStyleAcceptEssentials, bannerButtonsInlineStyleAcceptIndividual, bannerButtonsInlineStyleSave } from \"../../../..\";\n\nconst BannerButton = ({\n inlineStyle,\n type,\n onClick,\n children,\n framed,\n busyOnClick,\n order\n}) => {\n if (type === \"hide\") {\n return null;\n }\n\n const [isBusy, setIsBusy] = useState(false);\n const handleOnClick = useCallback(() => {\n if (!isBusy) {\n busyOnClick && setIsBusy(true);\n onClick === null || onClick === void 0 ? void 0 : onClick();\n }\n }, [onClick, isBusy, busyOnClick]);\n const [isHover, setIsHover] = useState(false);\n const banner = useBanner();\n const {\n individualPrivacyOpen,\n decision: {\n acceptAll,\n acceptEssentials\n },\n bodyDesign: {\n acceptAllOneRowLayout,\n acceptEssentialsUseAcceptAll\n }\n } = banner;\n const useAcceptEssentials = acceptEssentialsUseAcceptAll ? acceptAll : acceptEssentials;\n const interactionAttr = {\n onClick: handleOnClick,\n onMouseEnter: () => setIsHover(true),\n onMouseLeave: () => setIsHover(false),\n style: {\n cursor: \"pointer\"\n }\n };\n const useStyleFn = useMemo(() => {\n switch (inlineStyle) {\n case \"acceptEssentials\":\n return bannerButtonsInlineStyleAcceptEssentials;\n\n case \"acceptIndividual\":\n return bannerButtonsInlineStyleAcceptIndividual;\n\n case \"save\":\n return bannerButtonsInlineStyleSave;\n\n default:\n return bannerButtonsInlineStyleAcceptAll;\n }\n }, [inlineStyle]); // Also create a spacing `height:10` container because `marginBottom` causes issues with `position:sticky`\n\n return h(\"div\", _extends({}, type === \"button\" ? interactionAttr : {}, useStyleFn(banner, isHover, framed, order, // IE does not support flex with calc()\n isIE() || acceptAll === \"hide\" || useAcceptEssentials === \"hide\" || individualPrivacyOpen || order > 1 ? false : acceptAllOneRowLayout)), h(\"span\", type === \"link\" ? interactionAttr : {}, isBusy ? h(AsciiSpinner, null) : children));\n};\n\nexport { BannerButton };","function isIE() {\n return /MSIE (\\d+\\.\\d+);/.test(navigator.userAgent) || navigator.userAgent.indexOf(\"Trident/\") > -1;\n}\n\nexport { isIE };","import { Fragment, useMemo } from \"react\";\nimport { useBanner, useBannerButtonCallbacks, BannerButton } from \"../../..\";\n\nconst BannerButtonList = () => {\n const banner = useBanner();\n const {\n activeAction,\n bodyDesign: {\n acceptEssentialsUseAcceptAll,\n acceptAllOneRowLayout\n },\n decision: {\n showGroups,\n groupsFirstView,\n saveButton,\n acceptAll,\n acceptEssentials,\n acceptIndividual,\n buttonOrder: buttonOrderString\n },\n texts: {\n acceptAll: acceptAllText,\n acceptEssentials: acceptEssentialsText,\n acceptIndividual: acceptIndividualText\n },\n saveButton: {\n type: saveButtonType,\n useAcceptAll: saveButtonUseAcceptAll\n },\n individualTexts: {\n save\n },\n individualPrivacyOpen,\n didGroupFirstChange,\n productionNotice,\n buttonClicked = \"\"\n } = banner; // Calculate order of the buttons depending on a string like `all,essential,save,individual`\n\n const {\n all: buttonOrderAll,\n essential: buttonOrderEssential,\n individual: buttonOrderIndividual,\n save: buttonOrderSave\n } = useMemo(() => {\n const buttonOrder = buttonOrderString.split(\",\");\n const buttonToOrder = buttonOrder.reduce((previous, curr) => {\n previous[curr] = buttonOrder.indexOf(curr);\n return previous;\n }, {});\n const orderToButton = buttonOrder.reduce((previous, curr) => {\n previous[buttonOrder.indexOf(curr)] = curr;\n return previous;\n }, {}); // If one-row layout is enabled, reverse the first two orders so the first button gets moved to the right\n\n if (acceptAllOneRowLayout) {\n buttonToOrder[orderToButton[0]] = 1;\n buttonToOrder[orderToButton[1]] = 0;\n }\n\n return buttonToOrder;\n }, [buttonOrderString, acceptAllOneRowLayout]);\n const isPro = process.env.PLUGIN_CTX === \"pro\";\n const {\n buttonClickedAll,\n buttonClickedEssentials,\n buttonClickedCustom,\n acceptAll: handleAll,\n acceptEssentials: handleEssentials,\n acceptIndividual: handleIndividual,\n openIndividualPrivacy\n } = useBannerButtonCallbacks(); // We expect a reload of the page for the \"change\" action (keeps also dialog open)\n\n const busyOnClick = activeAction === \"change\";\n const groupsFirstViewEnabled = showGroups && groupsFirstView;\n return h(Fragment, null, !individualPrivacyOpen && isPro && groupsFirstViewEnabled && saveButton === \"afterChangeAll\" && didGroupFirstChange ? h(BannerButton, {\n onClick: handleIndividual,\n type: acceptAll,\n inlineStyle: \"acceptAll\",\n framed: buttonClicked === buttonClickedCustom,\n busyOnClick: busyOnClick,\n order: buttonOrderAll\n }, save) : h(BannerButton, {\n onClick: handleAll,\n type: acceptAll,\n inlineStyle: \"acceptAll\",\n framed: buttonClicked === buttonClickedAll,\n busyOnClick: busyOnClick,\n order: buttonOrderAll\n }, acceptAllText), activeAction !== \"change\" && h(BannerButton, {\n onClick: handleEssentials,\n type: acceptEssentialsUseAcceptAll ? acceptAll : acceptEssentials,\n inlineStyle: acceptEssentialsUseAcceptAll ? \"acceptAll\" : \"acceptEssentials\",\n framed: buttonClicked === buttonClickedEssentials,\n busyOnClick: busyOnClick,\n order: buttonOrderEssential\n }, acceptEssentialsText), (individualPrivacyOpen || isPro && groupsFirstViewEnabled && (saveButton === \"always\" || saveButton === \"afterChange\" && didGroupFirstChange)) && h(BannerButton, {\n onClick: handleIndividual,\n type: saveButtonUseAcceptAll ? acceptAll : saveButtonType,\n inlineStyle: saveButtonUseAcceptAll ? \"acceptAll\" : \"save\",\n framed: buttonClicked === buttonClickedCustom,\n busyOnClick: busyOnClick,\n order: buttonOrderSave\n }, save), !individualPrivacyOpen && h(BannerButton, {\n type: acceptIndividual,\n onClick: openIndividualPrivacy,\n inlineStyle: \"acceptIndividual\",\n framed: buttonClicked.startsWith(\"ind_\"),\n busyOnClick: busyOnClick,\n order: buttonOrderIndividual\n }, acceptIndividualText), productionNotice);\n};\n\nexport { BannerButtonList };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useBanner, BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER, usePlainCss, scaleMobile, bannerInlineStylesRightSide, bannerInlineStylesLeftSide, bannerInlineStyleBody, bannerInlineStyleBodyContainer, bannerInlineStyleBodyDescription, commonInlineStyleBodyTeaching, commonInlineStyleBodyTeachingsSeparator, BannerDottedGroupList, BannerTcfStackList, BannerGroupList, BannerTcfGroupList, BannerButtonList, BannerHistorySelect, useCommonTeachings } from \"../../..\";\nimport { useMemo, Fragment } from \"react\";\n\nconst BannerBody = ({\n leftSideContainerRef,\n rightSideContainerRef\n}) => {\n var _document$getElementB;\n\n const banner = useBanner();\n const {\n layout: {\n type\n },\n mobile,\n bodyDesign: {\n teachingsSeparatorActive\n },\n tcf,\n individualPrivacyOpen,\n activeAction,\n pageRequestUuid4\n } = banner;\n const {\n description,\n teachings\n } = useCommonTeachings(); // Make the content responsive\n\n const leftSideId = \"bnnr-body-leftSide-\".concat(pageRequestUuid4);\n const rightSideId = \"bnnr-body-rightSide-\".concat(pageRequestUuid4);\n const contentId = \"cntnt-\".concat(pageRequestUuid4);\n usePlainCss(\" #\".concat(leftSideId, \" img {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n\").concat(((_document$getElementB = document.getElementById(pageRequestUuid4)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.clientWidth) > BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER ? \"\" : \"#\".concat(leftSideId, \" {\\n float: initial !important;\\n width: auto !important;\\n padding-right: initial !important;\\n \").concat(scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" && !individualPrivacyOpen ? \"padding-bottom: 10px !important;\" : individualPrivacyOpen ? \"padding-top: 10px !important;\" : \"\", \"\\n }\\n\\n #\").concat(contentId, \" {\\n min-height: calc(var(--rendered-height-header) + var(--rendered-height-footer) + var(--rendered-height-rightSideContainer) + 60px);\\n }\\n \\n #\").concat(rightSideId, \" {\\n float: initial !important;\\n width: auto !important;\\n max-width: initial !important;\\n margin: initial !important;\\n \").concat(individualPrivacyOpen ? \"padding-bottom: 5px !important;\" : \"padding-top: 10px !important;\", \"\\n position: sticky;\\n }\"))); // Calculate the body content depending on TCF availability and if second view got opened\n\n const stackOrGroups = useMemo(() => {\n if (process.env.IS_TCF === \"1\" && tcf) {\n return individualPrivacyOpen ? h(BannerTcfGroupList, null) : h(BannerTcfStackList, null);\n } else {\n return individualPrivacyOpen ? h(BannerGroupList, null) : h(BannerDottedGroupList, null);\n }\n }, [individualPrivacyOpen, tcf]);\n const leftSide = h(\"div\", _extends({\n ref: leftSideContainerRef,\n key: \"leftSide\",\n id: leftSideId\n }, bannerInlineStylesLeftSide(banner)), h(\"div\", bannerInlineStyleBodyDescription(banner), activeAction === \"history\" ? h(BannerHistorySelect, null) : h(Fragment, null, h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: description\n }\n }), teachings.length > 0 && h(Fragment, null, teachingsSeparatorActive && h(\"div\", null, h(\"span\", commonInlineStyleBodyTeachingsSeparator(banner))), teachings.map(teaching => h(\"span\", _extends({\n key: teaching\n }, commonInlineStyleBodyTeaching(banner), {\n dangerouslySetInnerHTML: {\n __html: teaching\n }\n })))))), stackOrGroups);\n const rightSide = activeAction === \"history\" ? h(\"div\", {\n ref: rightSideContainerRef\n }) : h(\"div\", _extends({\n ref: rightSideContainerRef,\n key: \"rightSide\",\n id: rightSideId\n }, bannerInlineStylesRightSide(banner)), h(BannerButtonList, null));\n return h(\"div\", bannerInlineStyleBodyContainer(banner), h(\"div\", bannerInlineStyleBody(banner), individualPrivacyOpen ? [rightSide, leftSide] : [leftSide, rightSide], h(\"div\", {\n style: {\n clear: \"both\"\n }\n })));\n};\n\nexport { BannerBody };","import { scaleMobile } from \"../../scale\";\nconst BUTTONS_WIDTH = 300;\n\nfunction bannerInlineStylesLeftSide({\n layout: {\n type\n },\n bodyDesign: {\n padding\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n individualPrivacyOpen,\n activeAction,\n pageRequestUuid4\n}) {\n const useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n const usePadding = scaleMobile(mobile, pageRequestUuid4, padding);\n const style = {\n float: useType === \"banner\" && activeAction !== \"history\" ? \"left\" : undefined,\n width: useType === \"banner\" && activeAction !== \"history\" ? \"calc(100% - \".concat(BUTTONS_WIDTH, \"px)\") : undefined,\n paddingRight: useType === \"banner\" ? 20 : undefined,\n paddingTop: +usePadding[0],\n paddingBottom: useType === \"banner\" || individualPrivacyOpen ? +usePadding[2] : 0\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-tb-left\",\n style\n };\n}\n\nexport { BUTTONS_WIDTH, bannerInlineStylesLeftSide };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBodyDescription({\n design: {\n fontSize\n },\n bodyDesign: {\n descriptionInheritFontSize,\n descriptionFontSize\n },\n individualLayout: {\n descriptionTextAlign\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n individualPrivacyOpen,\n pageRequestUuid4\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-description\",\n style: {\n lineHeight: 1.5,\n fontSize: scaleMobile(mobile, pageRequestUuid4, descriptionInheritFontSize ? +fontSize : +descriptionFontSize),\n textAlign: individualPrivacyOpen ? descriptionTextAlign : undefined\n }\n };\n}\n\nexport { bannerInlineStyleBodyDescription };","import { hexToRgb } from \"../../../utils\";\nimport { scaleMobile } from \"../../scale\";\nimport { BUTTONS_WIDTH } from \"./leftSide\";\n\nfunction bannerInlineStylesRightSide({\n layout: {\n type,\n dialogMaxWidth\n },\n design: {\n borderWidth,\n bg,\n fontColor\n },\n headerDesign,\n footerDesign,\n bodyDesign: {\n padding\n },\n individualLayout: {\n inheritDialogMaxWidth\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n individualPrivacyOpen,\n pageRequestUuid4\n}) {\n const useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n const useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n const usePadding = scaleMobile(mobile, pageRequestUuid4, padding, undefined, true);\n const {\n r,\n g,\n b\n } = hexToRgb(fontColor);\n const width = useType === \"dialog\" ? +dialogMaxWidth - usePadding[1] - usePadding[3] - useBorderWidth * 2 : BUTTONS_WIDTH;\n const style = {\n background: bg,\n paddingTop: useType === \"banner\" || individualPrivacyOpen ? +usePadding[0] : 10,\n paddingBottom: !individualPrivacyOpen ? +usePadding[2] : 10,\n float: useType === \"banner\" || individualPrivacyOpen ? \"right\" : undefined,\n maxWidth: width,\n width,\n margin: useType === \"dialog\" && individualPrivacyOpen && !inheritDialogMaxWidth ? \"0 0 10px 10px\" : undefined,\n // position: individualPrivacyOpen ? \"sticky\" : undefined, This is done by `body.tsx#usePlainCss`\n position: individualPrivacyOpen ? undefined : \"sticky\",\n [individualPrivacyOpen ? \"top\" : \"bottom\"]: individualPrivacyOpen ? \"calc(var(--rendered-height-header) + \".concat(scaleMobile(mobile, pageRequestUuid4, headerDesign.borderWidth), \"px)\") : \"calc(var(--rendered-height-footer) + \".concat(scaleMobile(mobile, pageRequestUuid4, footerDesign.borderWidth), \"px)\"),\n zIndex: 1,\n // Avoid overlapping the Checkbox Icon\n display: \"flex\",\n flexWrap: \"wrap\",\n transition: \"box-shadow ease-in-out .1s\",\n [\"--boxShadowShowScroll\"]: \"0 -15px 15px -15px rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", 0.3)\")\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-tb-right\",\n style\n };\n}\n\nexport { bannerInlineStylesRightSide };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBodyContainer({\n layout: {\n type\n },\n design: {\n bg,\n borderWidth,\n borderColor\n },\n bodyDesign: {\n padding\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n const useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n const style = {\n background: bg,\n // Top / Bottom padding is applied in leftSide and rightSide containers\n padding: scaleMobile(mobile, pageRequestUuid4, padding).map((p, i) => \"\".concat([0, 2].indexOf(i) > -1 ? 0 : p, \"px\")).join(\" \"),\n lineHeight: 1.4\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useBorderWidth > 0) {\n style.borderLeft = \"\".concat(useBorderWidth, \"px solid \").concat(borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-body-container\",\n style\n };\n}\n\nexport { bannerInlineStyleBodyContainer };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBody({\n layout: {\n type,\n bannerMaxWidth\n },\n individualLayout,\n customCss: {\n antiAdBlocker\n },\n mobile,\n individualPrivacyOpen,\n pageRequestUuid4\n}) {\n const style = {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\"\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-body\",\n style\n };\n}\n\nexport { bannerInlineStyleBody };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { forwardRef, useCallback } from \"react\";\nimport { useBanner, bannerFooterInlineStyle, bannerFooterInlineStyleContainer, FooterLink, useCommonFooterLinks } from \"../../..\"; // eslint-disable-next-line react/display-name\n\nconst BannerFooter = /*#__PURE__*/forwardRef((_, ref) => {\n const banner = useBanner();\n const {\n isTcf,\n layout: {\n type\n },\n individualPrivacyOpen,\n updateIndividualPrivacyOpen,\n onClose,\n i18n: {\n tcf\n },\n isConsentRecord\n } = banner;\n const handleTcfVendorList = process.env.IS_TCF === \"1\" && isTcf ? useCallback(e => {\n updateIndividualPrivacyOpen(true);\n e.preventDefault();\n }, [updateIndividualPrivacyOpen]) : undefined;\n const handleClose = useCallback(e => {\n onClose();\n e.preventDefault();\n }, [onClose]);\n const {\n rows: links,\n render: renderLinks\n } = useCommonFooterLinks({\n onClose: isConsentRecord ? handleClose : undefined,\n putPoweredByLinkInRow: type === \"banner\" ? 0 : 1,\n row1: [process.env.IS_TCF === \"1\" && isTcf && !individualPrivacyOpen && h(FooterLink, {\n href: \"#\",\n onClick: handleTcfVendorList,\n key: \"vendorList\"\n }, tcf.vendorList)]\n });\n return h(\"div\", _extends({\n ref: ref\n }, bannerFooterInlineStyleContainer(banner)), h(\"div\", bannerFooterInlineStyle(banner), renderLinks(links)));\n});\nexport { BannerFooter };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerFooterInlineStyleContainer({\n layout: {\n type,\n dialogBorderRadius\n },\n design,\n footerDesign: {\n inheritBg,\n bg,\n inheritTextAlign,\n textAlign,\n padding,\n fontSize,\n fontColor,\n fontWeight\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n const useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n const useBorderWidth = scaleMobile(mobile, pageRequestUuid4, design.borderWidth);\n const style = {\n padding: scaleMobile(mobile, pageRequestUuid4, padding, undefined, true).map(p => \"\".concat(p, \"px\")).join(\" \"),\n background: inheritBg ? design.bg : bg,\n borderRadius: useType === \"dialog\" ? \"0 0 \".concat(dialogBorderRadius, \"px \").concat(dialogBorderRadius, \"px\") : undefined,\n fontSize: scaleMobile(mobile, pageRequestUuid4, +fontSize),\n fontWeight,\n color: fontColor,\n textAlign: inheritTextAlign ? design.textAlign : textAlign,\n position: \"sticky\",\n bottom: 0,\n zIndex: 1\n };\n\n if (useType === \"dialog\" && useBorderWidth > 0) {\n style.borderBottom = \"\".concat(useBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderLeft = style.borderBottom;\n style.borderRight = style.borderBottom;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-container\",\n style\n };\n}\n\nexport { bannerFooterInlineStyleContainer };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerFooterInlineStyle({\n layout: {\n type,\n bannerMaxWidth\n },\n individualLayout,\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4,\n individualPrivacyOpen\n}) {\n const style = {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\",\n lineHeight: 1.8\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer\",\n style\n };\n}\n\nexport { bannerFooterInlineStyle };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { scaleMobile, useBanner, usePlainCss, useRenderedHeightsAsCssVars, bannerContentInlineStyle, bannerFooterInlineStyleSeparator, bannerHeaderInlineStyleSeparator, BannerHeader, BannerFooter, BannerBody } from \"../../..\";\nimport { Fragment, useState, useRef, useLayoutEffect, useCallback } from \"react\";\n\nconst BannerContent = () => {\n const banner = useBanner();\n const {\n layout: {\n type,\n dialogBorderRadius\n },\n decision: {\n acceptAll,\n acceptEssentials,\n showCloseIcon\n },\n mobile,\n individualPrivacyOpen,\n design: {\n bg\n },\n bodyDesign: {\n teachingsFontColor,\n acceptEssentialsUseAcceptAll\n },\n activeAction,\n pageRequestUuid4\n } = banner;\n const rightSideId = \"bnnr-body-rightSide-\".concat(pageRequestUuid4);\n const id = \"cntnt-\".concat(pageRequestUuid4);\n const ref = useRef();\n const {\n current: currentRef\n } = ref;\n const useAcceptEssentials = acceptEssentialsUseAcceptAll ? acceptAll : acceptEssentials;\n let showHeader = true;\n\n if (mobile.hideHeader && !activeAction && !individualPrivacyOpen && (useAcceptEssentials === \"hide\" ? !showCloseIcon : true)) {\n showHeader = scaleMobile(mobile, pageRequestUuid4, showHeader, false);\n } // Enable box shadow effect for the scrolling behavior\n\n\n const [showScrollBoxShadow, setShowScrollBoxShadow] = useState(false);\n const updateShowScrollBoxShadow = useCallback(() => {\n if (currentRef) {\n const {\n clientHeight,\n scrollHeight,\n scrollTop,\n offsetHeight\n } = currentRef;\n const hasScrollbar = clientHeight < scrollHeight;\n const scrolledToBottom = Math.ceil(scrollTop + offsetHeight) >= scrollHeight;\n const result = hasScrollbar && !scrolledToBottom && !individualPrivacyOpen;\n\n if (showScrollBoxShadow !== result) {\n setShowScrollBoxShadow(result);\n }\n }\n }, [currentRef, individualPrivacyOpen, showScrollBoxShadow]);\n updateShowScrollBoxShadow(); // The function gets called for each resize in `Banner` component\n\n useLayoutEffect(() => {\n if (currentRef) {\n currentRef.addEventListener(\"scroll\", updateShowScrollBoxShadow);\n return () => currentRef.removeEventListener(\"scroll\", updateShowScrollBoxShadow);\n } // eslint-disable-next-line @typescript-eslint/no-empty-function\n\n\n return () => {};\n }, [currentRef, updateShowScrollBoxShadow]);\n usePlainCss(showScrollBoxShadow ? \"#\".concat(rightSideId, \" {box-shadow:var(--boxShadowShowScroll);}\") : \"\"); // Create custom scrollbar when a border radius is active (https://css-tricks.com/the-current-state-of-styling-scrollbars/)\n\n usePlainCss(navigator.platform === \"Win32\" && type === \"dialog\" && dialogBorderRadius > 0 ? [\"#\".concat(id, \"{overflow:overlay!important;}\"), \"#\".concat(id, \"::-webkit-scrollbar{width:11px;}\"), \"#\".concat(id, \"{scrollbar-width:thin;scrollbar-color:\").concat(teachingsFontColor, \" transparent;}\"), \"#\".concat(id, \"::-webkit-scrollbar-track{background:transparent;}\"), \"#\".concat(id, \"::-webkit-scrollbar-thumb{background-color:\").concat(teachingsFontColor, \";border-radius:\").concat(dialogBorderRadius, \"px;border:3px solid \").concat(bg, \";}\"), \"#\".concat(id, \">div{border-top-right-radius:0!important;border-bottom-right-radius:0!important;}\")].join(\"\\n\") : \"\");\n const headerRef = useRef();\n const footerRef = useRef();\n const rightSideContainerRef = useRef();\n useRenderedHeightsAsCssVars(headerRef.current, \"header\");\n useRenderedHeightsAsCssVars(footerRef.current, \"footer\");\n useRenderedHeightsAsCssVars(rightSideContainerRef.current, \"rightSideContainer\");\n return h(\"div\", _extends({}, bannerContentInlineStyle(banner), {\n ref: ref,\n id: id\n }), showHeader && h(Fragment, null, h(BannerHeader, {\n ref: headerRef\n }), h(\"div\", bannerHeaderInlineStyleSeparator(banner))), h(BannerBody, {\n rightSideContainerRef: rightSideContainerRef\n }), h(\"div\", bannerFooterInlineStyleSeparator(banner)), h(BannerFooter, {\n ref: footerRef\n }));\n};\n\nexport { BannerContent };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerContentInlineStyle({\n layout: {\n type\n },\n customCss: {\n antiAdBlocker\n },\n decision: {\n showCloseIcon\n },\n activeAction,\n individualPrivacyOpen,\n mobile,\n pageRequestUuid4\n}) {\n var _document$getElementB;\n\n const innerHeight = ((_document$getElementB = document.getElementById(pageRequestUuid4)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.clientHeight) || window.innerHeight;\n const mobileMaxHeight = +mobile.maxHeight;\n const useMobileMaxHeight = mobileMaxHeight > innerHeight ? innerHeight : mobileMaxHeight;\n const closeIconDistance = showCloseIcon || activeAction ? 51 : 0;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-content\",\n style: {\n position: \"relative\",\n maxHeight: scaleMobile(mobile, pageRequestUuid4, innerHeight - (type === \"banner\" ? 0 : 20) - closeIconDistance, individualPrivacyOpen ? innerHeight - closeIconDistance : useMobileMaxHeight - closeIconDistance),\n overflow: \"auto\"\n }\n };\n}\n\nexport { bannerContentInlineStyle };","import { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyleSeparator({\n layout: {\n type\n },\n design,\n headerDesign: {\n borderWidth,\n borderColor\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n const useDesignBorderWidth = scaleMobile(mobile, pageRequestUuid4, design.borderWidth);\n const style = {\n height: scaleMobile(mobile, pageRequestUuid4, +borderWidth),\n background: borderColor,\n position: \"sticky\",\n top: \"var(--rendered-height-header)\",\n zIndex: 9\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useDesignBorderWidth > 0) {\n style.borderLeft = \"\".concat(useDesignBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header-separator\",\n style\n };\n}\n\nexport { bannerHeaderInlineStyleSeparator };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerFooterInlineStyleSeparator({\n layout: {\n type\n },\n design,\n footerDesign: {\n borderWidth,\n borderColor\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n const useBorderWidth = scaleMobile(mobile, pageRequestUuid4, design.borderWidth);\n const style = {\n height: scaleMobile(mobile, pageRequestUuid4, +borderWidth),\n background: borderColor,\n position: \"sticky\",\n bottom: \"var(--rendered-height-footer)\"\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useBorderWidth > 0) {\n style.borderLeft = \"\".concat(useBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-separator\",\n style\n };\n}\n\nexport { bannerFooterInlineStyleSeparator };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { bannerContentInlineStyleInner, useBanner, useBannerAnimation, useResettableAnimation } from \"../../..\";\nimport { AnimatedCss } from \"../..\";\nimport { BannerContent } from \".\";\n\nconst BannerAnimatedContent = () => {\n const banner = useBanner();\n const {\n layout: {\n animationInDuration,\n animationOutDuration\n },\n animationVisible\n } = banner;\n const {\n useAnimationIn,\n useAnimationOut\n } = useBannerAnimation()(banner.layout);\n const [stateAnimationIn, stateAnimationInDuration] = useResettableAnimation(useAnimationIn, animationInDuration);\n const [stateAnimationOut, stateAnimationOutDuration] = useResettableAnimation(useAnimationOut === \"none\" ? \"fadeOut\" : useAnimationOut, useAnimationOut === \"none\" ? 0 : animationOutDuration);\n return h(AnimatedCss, _extends({\n animationIn: stateAnimationIn,\n animationInDuration: stateAnimationInDuration,\n animationOut: stateAnimationOut,\n animationOutDuration: stateAnimationOutDuration,\n isVisible: animationVisible\n }, bannerContentInlineStyleInner(banner)), h(BannerContent, null));\n};\n\nexport { BannerAnimatedContent };","import { calculateRgba } from \"../../../utils\";\nimport { scaleMobile } from \"../../scale\";\n\nfunction bannerContentInlineStyleInner({\n layout: {\n type,\n dialogMaxWidth,\n dialogPosition,\n dialogMargin,\n bannerPosition,\n dialogBorderRadius\n },\n design: {\n borderWidth,\n borderColor,\n textAlign,\n fontColor,\n fontInheritFamily,\n fontFamily,\n fontWeight,\n boxShadowEnabled,\n boxShadowOffsetX,\n boxShadowOffsetY,\n boxShadowBlurRadius,\n boxShadowSpreadRadius,\n boxShadowColor,\n boxShadowColorAlpha\n },\n individualLayout,\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4,\n individualPrivacyOpen\n}) {\n const {\n alignment: mobileAlignment\n } = mobile;\n const useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n const useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n const width = useType === \"dialog\" ? +(individualPrivacyOpen && !individualLayout.inheritDialogMaxWidth ? individualLayout.dialogMaxWidth : dialogMaxWidth) : \"100%\";\n const style = {\n pointerEvents: \"all\",\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: width,\n textAlign,\n width,\n overflow: \"hidden\",\n alignSelf: scaleMobile(mobile, pageRequestUuid4, useType === \"banner\" ? bannerPosition === \"top\" ? \"flex-start\" : \"flex-end\" : undefined, mobileAlignment === \"bottom\" ? \"flex-end\" : mobileAlignment === \"top\" ? \"flex-start\" : \"center\"),\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n fontWeight,\n color: fontColor,\n margin: useType === \"dialog\" ? 10 : undefined,\n borderRadius: useType === \"dialog\" ? +dialogBorderRadius : undefined,\n boxShadow: boxShadowEnabled ? \"\".concat(boxShadowOffsetX, \"px \").concat(boxShadowOffsetY, \"px \").concat(boxShadowBlurRadius, \"px \").concat(boxShadowSpreadRadius, \"px \").concat(calculateRgba(boxShadowColor, boxShadowColorAlpha)) : undefined,\n [useType === \"banner\" ? bannerPosition === \"top\" ? \"borderBottom\" : \"borderTop\" : \"border\"]: useType === \"banner\" ? useBorderWidth > 0 ? \"\".concat(useBorderWidth, \"px solid \").concat(borderColor) : undefined : undefined\n };\n\n if (useType === \"dialog\" && dialogPosition !== \"middleCenter\") {\n style.margin = dialogMargin.map(i => \"\".concat(i, \"px\")).join(\" \");\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-inner\",\n style\n };\n}\n\nexport { bannerContentInlineStyleInner };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useState, useLayoutEffect, useEffect } from \"react\";\nimport { dispatchResizeEvent } from \"@devowl-wp/headless-content-unblocker\";\nimport { useBanner, useBannerActionLinks, useBannerHistory, usePlainCss, useRestrictScrollWhenVisible, bannerOverlayInlineStyle, bannerOverlayInlineStyleAlignment, BannerAnimatedContent, isHiddenDueLegal } from \"../..\";\n\nconst Banner = () => {\n const banner = useBanner();\n const {\n customCss: {\n antiAdBlocker,\n css\n },\n visible,\n animationVisible,\n activeAction,\n skipOverlay,\n gotHiddenDueLegal,\n pageRequestUuid4,\n individualPrivacyOpen\n } = banner;\n const hiddenDueLegal = isHiddenDueLegal(banner);\n const show = visible && !hiddenDueLegal || !!activeAction;\n usePlainCss(antiAdBlocker ? css : \"\");\n usePlainCss( // `-webkit-text-size-adjust:100%;`: https://stackoverflow.com/a/2711132/5506547\n \"#\".concat(pageRequestUuid4, \", #\").concat(pageRequestUuid4, \" * {box-sizing: border-box;backface-visibility:initial;text-transform:initial;-webkit-text-size-adjust:100%;}\"));\n useRestrictScrollWhenVisible(show); // Listen to window resizes and resize the content automatically\n\n const [, setInvalidate] = useState(0);\n\n const updateSize = () => setInvalidate(+new Date());\n\n useLayoutEffect(() => {\n window.addEventListener(\"resize\", updateSize);\n return () => window.removeEventListener(\"resize\", updateSize);\n }, []);\n useLayoutEffect(() => {\n dispatchResizeEvent(1000);\n }, [animationVisible, individualPrivacyOpen]); // When changes to the legal settings are done, make the banner visible or hide\n\n gotHiddenDueLegal && useEffect(() => {\n gotHiddenDueLegal(hiddenDueLegal);\n }, [hiddenDueLegal]);\n useBannerHistory();\n useBannerActionLinks();\n\n if (!show) {\n return null;\n }\n\n const content = h(\"div\", bannerOverlayInlineStyleAlignment(banner), h(BannerAnimatedContent, null));\n return skipOverlay ? content : h(\"div\", _extends({\n id: pageRequestUuid4\n }, bannerOverlayInlineStyle(banner)), content);\n};\n\nexport { Banner };","import { useEffect } from \"react\";\nimport { useBanner } from \"..\";\n/**\n * Do not allow scrolling when this banner is visible and add a blur effect if enabled.\n */\n\nfunction useRestrictScrollWhenVisible(show) {\n const banner = useBanner();\n const {\n layout: {\n overlay,\n overlayBlur\n },\n pageRequestUuid4,\n animationVisible\n } = banner;\n const showOverlay = show && overlay && animationVisible;\n const bodyClassRcbOverlayActive = \"rcb-overlay-active\"; // Blur effect\n\n if (process.env.PLUGIN_CTX === \"pro\") {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n return useEffect(() => {\n const {\n dataset,\n style,\n classList\n } = document.body; // Save first state\n\n if (dataset.rcbPreviousOverflow === undefined) {\n dataset.rcbPreviousOverflow = style.overflow;\n }\n\n style.overflow = showOverlay ? \"hidden\" : dataset.rcbPreviousOverflow;\n document.body.parentElement.style.overflow = style.overflow;\n\n if (showOverlay) {\n classList.add(bodyClassRcbOverlayActive);\n } else {\n classList.remove(bodyClassRcbOverlayActive);\n }\n }, [showOverlay]);\n}\n\nexport { useRestrictScrollWhenVisible };","import { useEffect, useState } from \"react\";\nimport { useBanner } from \"../../..\";\n\nfunction useBannerHistory() {\n const banner = useBanner();\n const {\n consent,\n groups,\n tcf,\n activeAction,\n selectHistoryEntry,\n fetchHistory\n } = banner; // Save the current consent and group settings to restore\n\n const [originalConsent, setOriginalConsent] = useState({\n consent,\n groups,\n tcf\n }); // Listen to consent changes and save it as original consent (only when non-history)\n\n useEffect(() => {\n if (!activeAction) {\n setOriginalConsent({\n consent,\n groups,\n tcf\n });\n }\n }, [consent, groups, tcf, activeAction]);\n useEffect(() => {\n async function fetch() {\n const result = await fetchHistory(); // Initially select first item\n\n if (result.length) {\n const [{\n groups,\n decision,\n tcf\n }] = result;\n selectHistoryEntry(groups, decision, tcf);\n } else {\n selectHistoryEntry([], []);\n }\n }\n\n if (activeAction === \"history\") {\n // Save state of original consent\n setOriginalConsent({\n consent,\n groups,\n tcf\n });\n fetch();\n } else {\n // If we close the history, restore the original state\n const {\n groups,\n consent: {\n groups: consentGroups\n },\n tcf\n } = originalConsent;\n selectHistoryEntry === null || selectHistoryEntry === void 0 ? void 0 : selectHistoryEntry(groups, consentGroups, tcf);\n }\n }, [activeAction]);\n}\n\nexport { useBannerHistory };","import { scaleMobile } from \"../..\";\n\nfunction bannerOverlayInlineStyleAlignment({\n layout: {\n type,\n dialogPosition\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n const style = {\n display: \"flex\",\n width: \"100%\",\n height: \"100%\"\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\") {\n style.alignItems = dialogPosition.startsWith(\"top\") ? \"flex-start\" : dialogPosition.startsWith(\"bottom\") ? \"flex-end\" : \"center\";\n style.justifyContent = dialogPosition.endsWith(\"Center\") ? \"center\" : dialogPosition.endsWith(\"Left\") ? \"flex-start\" : \"flex-end\";\n }\n\n return {\n className: \"wp-exclude-emoji \".concat(antiAdBlocker === \"y\" ? \"\" : \"rcb-align\"),\n style\n };\n}\n\nexport { bannerOverlayInlineStyleAlignment };","import { scaleMobile } from \"../..\";\nimport { calculateRgba } from \"../../..\";\n/**\n * This method needs to be ported to Banner.php#wp_footer, too!\n */\n\nfunction bannerOverlayInlineStyle({\n layout: {\n type,\n overlay,\n overlayBg,\n overlayBgAlpha\n },\n design: {\n fontSize\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-bann3r rcb-bann3r-\".concat(scaleMobile(mobile, pageRequestUuid4, type, \"banner\"), \" \").concat(overlay ? \"\" : \"overlay-deactivated\"),\n style: {\n background: overlay ? calculateRgba(overlayBg, overlayBgAlpha) : \"none\",\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 999999,\n pointerEvents: overlay ? \"all\" : \"none\",\n fontSize: scaleMobile(mobile, pageRequestUuid4, +fontSize),\n filter: \"none\",\n maxHeight: \"100vh\"\n }\n };\n}\n\nexport { bannerOverlayInlineStyle };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestConsentGet = {\n path: \"/consent\",\n method: RouteHttpVerb.GET\n};","import { useState } from \"react\";\nimport { getOptionsFromWindow, getOtherOptionsFromWindow } from \"../utils\";\nimport { useBannerPreDecisionGateway, useTcf } from \"../hooks\";\nimport { applyConsent, getCookieConsentManager } from \"../others\";\nimport { prepareTcfString } from \"../tcf\";\nimport { getUserDecision } from \"@devowl-wp/cookie-consent-web-client\";\nimport { useBannerConsentListener } from \"@devowl-wp/react-cookie-banner\";\nimport { BannerContextFactory, useBannerToggleOverlay, Banner, useBannerStateContextCallbacks } from \"@devowl-wp/react-cookie-banner\";\nimport { locationRestConsentGet } from \"../wp-api\";\nimport { commonRequest } from \"@devowl-wp/utils\";\nimport { BannerProductionNotice } from \".\";\n/**\n * Simply connects a context store to the banner itself. On the website itself\n * it should not rely\n */\n\nconst WebsiteBanner = ({\n poweredLink\n}) => {\n const {\n customizeValuesBanner: {\n layout,\n decision,\n legal,\n design,\n headerDesign,\n bodyDesign,\n footerDesign,\n texts,\n individualLayout,\n saveButton,\n group,\n individualTexts,\n customCss,\n mobile\n },\n pageId,\n pageRequestUuid4,\n pageIdToPermalink,\n consentForwardingExternalHosts,\n essentialGroup,\n isTcf,\n isEPrivacyUSA,\n isAgeNotice,\n isListServicesNotice,\n tcf,\n tcfMetadata,\n groups,\n userConsentCookieName,\n bannerI18n,\n affiliate,\n isCurrentlyInTranslationEditorPreview,\n pageByIdUrl\n } = getOtherOptionsFromWindow();\n const userDecision = getUserDecision(userConsentCookieName); // TCF compatibility\n\n const tcfObject = useTcf(isTcf, tcf, tcfMetadata); // Server-side rendered overlay handler\n\n const {\n toggleOverlay\n } = useBannerToggleOverlay(document.getElementById(pageRequestUuid4));\n const {\n openHistory,\n openBanner,\n revokeConsent,\n updateTcfFilterBy,\n updateIndividualPrivacyOpen,\n updateGroupChecked,\n updateCookieChecked,\n onClose,\n selectHistoryEntry\n } = useBannerStateContextCallbacks({\n toggleOverlay,\n revokeConsent: ({\n tcf\n }) => {\n // Do not rely on current state of `groups` because it can be altered through history change\n const buttonClicked = \"shortcode_revoke\"; // TCF compatibility: revoke TCF string\n\n let tcfString;\n\n if (process.env.IS_TCF === \"1\" && tcf !== null && tcf !== void 0 && tcf.model) {\n tcfString = prepareTcfString(tcf.model, buttonClicked);\n }\n\n return applyConsent({\n consent: {\n groups: getCookieConsentManager().getDefaultDecision(true)\n },\n buttonClicked,\n tcfString\n });\n }\n }); // Context values preparation\n\n const [contextValue, setContextValue] = useState({\n layout: { ...layout\n },\n decision: { ...decision\n },\n legal: { ...legal\n },\n design: { ...design\n },\n headerDesign: { ...headerDesign\n },\n bodyDesign: { ...bodyDesign\n },\n footerDesign: { ...footerDesign\n },\n texts: { ...texts\n },\n individualLayout: { ...individualLayout\n },\n saveButton: { ...saveButton\n },\n group: { ...group\n },\n individualTexts: { ...individualTexts\n },\n customCss: { ...customCss\n },\n mobile: { ...mobile\n },\n productionNotice: h(BannerProductionNotice, null),\n pageRequestUuid4,\n pageIdToPermalink,\n pageByIdUrl,\n consentForwardingExternalHosts,\n pageId,\n isTcf,\n ePrivacyUSA: isEPrivacyUSA,\n ageNotice: isAgeNotice,\n listServicesNotice: isListServicesNotice,\n tcf: tcfObject,\n tcfFilterBy: \"legInt\",\n groups,\n essentialGroup,\n poweredLink,\n visible: false,\n animationVisible: true,\n skipOverlay: true,\n previewCheckboxActiveState: false,\n individualPrivacyOpen: false,\n i18n: bannerI18n,\n keepVariablesInTexts: isCurrentlyInTranslationEditorPreview,\n affiliate,\n consent: {\n groups: { ...(userDecision === false ? {} : userDecision.consent),\n // Always override essential cookies\n ...getCookieConsentManager().getDefaultDecision(userDecision === false)\n }\n },\n didGroupFirstChange: false,\n onSave: (markAsDoNotTrack, buttonClicked) => {\n setContextValue(state => {\n var _state$tcf;\n\n // TCF compatibility: persist TCF string\n let tcfString;\n\n if (process.env.IS_TCF === \"1\" && isTcf && (_state$tcf = state.tcf) !== null && _state$tcf !== void 0 && _state$tcf.model) {\n tcfString = prepareTcfString(state.tcf.model, buttonClicked);\n }\n\n const appliedConsent = applyConsent({\n consent: state.consent,\n markAsDoNotTrack,\n buttonClicked,\n tcfString\n });\n\n if (state.refreshSiteAfterSave) {\n appliedConsent.then(() => // Fix iOS / Safari bug when we want to reload the page after a POST request\n setTimeout(() => window.location.reload(), state.refreshSiteAfterSave ||\n /* BC */\n 2000)); // When refreshing the site, do not show any out animation\n\n return state;\n } else {\n return { ...state,\n ...toggleOverlay(state, false)\n };\n }\n });\n },\n fetchHistory: async () => {\n const {\n restNamespace,\n restRoot,\n restQuery,\n restNonce\n } = getOptionsFromWindow();\n const history = await commonRequest({\n location: locationRestConsentGet,\n options: {\n restNamespace,\n restRoot,\n restQuery,\n restNonce\n },\n cookieValueAsParam: [userConsentCookieName],\n sendRestNonce: false\n });\n setContextValue(state => {\n return { ...state,\n history\n };\n });\n return history;\n },\n // Predefined callbacks\n updateTcfFilterBy: newFilter => updateTcfFilterBy(setContextValue, newFilter),\n updateIndividualPrivacyOpen: opened => updateIndividualPrivacyOpen(setContextValue, opened),\n updateGroupChecked: (id, checked) => updateGroupChecked(setContextValue, id, checked),\n updateCookieChecked: (groupId, id, checked) => updateCookieChecked(setContextValue, groupId, id, checked),\n onClose: () => onClose(setContextValue),\n selectHistoryEntry: (groups, consentGroups, tcf) => selectHistoryEntry(setContextValue, groups, consentGroups, tcf),\n openHistory: e => openHistory(setContextValue, e),\n openBanner: e => openBanner(setContextValue, e),\n revokeConsent: (successMessage, e) => revokeConsent(setContextValue, successMessage, e)\n });\n useBannerPreDecisionGateway(contextValue, setContextValue, toggleOverlay);\n useBannerConsentListener(setContextValue, userConsentCookieName);\n const BannerContext = BannerContextFactory.Context();\n return h(BannerContext.Provider, {\n value: contextValue\n }, h(Banner, null));\n};\n\nexport { WebsiteBanner };","import { useMemo } from \"react\";\nimport { prepareTcfString } from \"../tcf\";\nimport { applyTcfModelMetadata, applyRestrictivePurposes, createTcfModel, createTcfModelFromCookie } from \"@devowl-wp/cookie-consent-web-client\";\nimport { getCookieConsentManager } from \"../others\";\n/**\n * Merges the localized `tcf` and `tcfMetadata` together so it can be\n * used inside our `BannerContextProps` and returns a valid `GVL` instance.\n */\n\nfunction useTcf(active, tcf, tcfMeta) {\n return useMemo(() => {\n if (process.env.IS_TCF === \"1\" && active && Object.values(tcf.vendors).length > 0) {\n let gvl;\n let model;\n const manager = getCookieConsentManager();\n const restored = createTcfModelFromCookie(tcf, tcfMeta, manager.getOption(\"tcfCookieName\")); // First, try to resolve from user consent (cookie value)\n\n if (restored) {\n gvl = restored.gvl;\n model = restored.model;\n } else {\n // No consent given, let's create an empty model\n const newTcf = createTcfModel({\n tcf,\n tcfMeta,\n tcfString: \"\"\n });\n gvl = newTcf.gvl;\n model = newTcf.model;\n }\n\n applyTcfModelMetadata(model, tcfMeta, manager);\n applyRestrictivePurposes(model, tcf.vendorConfigurations);\n\n if (!restored) {\n prepareTcfString(model, \"initial\");\n }\n\n return {\n gvl,\n model,\n original: tcf,\n metadata: tcfMeta\n };\n } else {\n return undefined;\n }\n }, [active, tcf, tcfMeta]);\n}\n\nexport { useTcf };","import { useCallback } from \"react\";\nimport { useBannerAnimation } from \"../..\";\n/**\n * Provides a callback which can be used to update the state of the banner context and manipulate\n * the `visible` and `animationVisible` property correctly.\n */\n\nfunction useBannerToggleOverlay(overlay) {\n const useBannerAnimationCallback = useBannerAnimation();\n const toggleOverlay = useCallback(({\n layout\n }, show) => {\n const {\n animationInDuration,\n animationOutDuration\n } = layout;\n const {\n useAnimationIn,\n useAnimationOut\n } = useBannerAnimationCallback(layout);\n const defaultIfNoAnimation = 0; // Avoid \"hard\" overlay\n\n const useDuration = show ? useAnimationIn === \"none\" ? defaultIfNoAnimation : animationInDuration : useAnimationOut === \"none\" ? defaultIfNoAnimation : animationOutDuration; // Toggle SSR-rendered overlay\n\n useDuration > 0 && (overlay.style.transition = \"background \".concat(useDuration, \"ms\"));\n overlay.style.background = \"transparent\";\n\n if (show) {\n // We need a small delay to avoid flickering of animation out effect in customizer\n setTimeout(() => {\n overlay.style.display = \"block\";\n }, 0);\n setTimeout(() => {\n const bg = overlay.getAttribute(\"data-bg\");\n overlay.style.background = bg ? bg.split(\":\")[1].trim().replace(\";\", \"\") : \"transparent\";\n }, 100);\n } else {\n setTimeout(() => {\n overlay.style.display = \"none\";\n }, useDuration);\n }\n\n const animationVisible = {\n animationVisible: show\n };\n return show ? {\n visible: true,\n ...animationVisible\n } : animationVisible;\n }, [useBannerAnimationCallback]);\n return {\n overlay,\n toggleOverlay\n };\n}\n\nexport { useBannerToggleOverlay };","import { useEffect } from \"react\";\nimport { getOptionsFromWindow, isCustomize } from \"../utils\";\nimport { getCookieConsentManager } from \"../others\";\nimport { preDecisionGateway } from \"@devowl-wp/cookie-consent-web-client\";\nimport { preDecisionGatewayDynamicRequest, preDecisionGatewayHasPageClass, preDecisionGatewayIsCrawler, preDecisionGatewayIsPreventPreDecision, preDecisionGatewaySupportsCookies, preDecisionGatewayUserConsent, preDecisionGatewayIsDoNotTrack } from \"@devowl-wp/cookie-consent-web-client\";\nimport { commonRequest } from \"@devowl-wp/utils\";\nimport { locationRestConsentDynamicPredecisionGet } from \"../wp-api\";\nimport { isHiddenDueLegal } from \"@devowl-wp/react-cookie-banner\";\n/**\n * Do some decision gateways like DNT, Bot / Crawler and Decision and depending\n * on that, show the Banner initially.\n */\n\nfunction useBannerPreDecisionGateway(banner, setContextValue, toggleOverlay) {\n useEffect(() => {\n // Only run this predecision mechanism once and when not in customize\n if (isCustomize()) {\n return;\n }\n\n const {\n restNamespace,\n restRoot,\n restQuery,\n restNonce,\n others: {\n isAcceptAllForBots,\n isPreventPreDecision,\n hasDynamicPreDecisions,\n isRespectDoNotTrack\n }\n } = getOptionsFromWindow();\n const {\n onSave\n } = banner;\n preDecisionGateway(getCookieConsentManager(), {\n gateways: [preDecisionGatewaySupportsCookies, preDecisionGatewayHasPageClass([\"login-action-\"]), preDecisionGatewayDynamicRequest(() => {\n const {\n clientWidth,\n clientHeight\n } = document.documentElement;\n return commonRequest({\n location: locationRestConsentDynamicPredecisionGet,\n options: {\n restNamespace,\n restRoot,\n restQuery,\n restNonce\n },\n sendRestNonce: false,\n request: {\n viewPortWidth: clientWidth,\n viewPortHeight: clientHeight\n },\n params: {\n _wp_http_referer: window.location.href\n }\n });\n }, 10000, hasDynamicPreDecisions), async (_, banner) => isHiddenDueLegal(banner) ? \"consent\" : false, preDecisionGatewayIsPreventPreDecision(isPreventPreDecision), preDecisionGatewayIsCrawler(isAcceptAllForBots ? \"all\" : false), preDecisionGatewayIsDoNotTrack(isRespectDoNotTrack), preDecisionGatewayUserConsent],\n args: [banner],\n onIsDoNotTrack: () => {\n onSave(true, \"none\");\n },\n onShowCookieBanner: () => setContextValue(state => {\n return { ...state,\n // Always revert back to \"Essentials\" only consent when cookie needs to be consented\n consent: {\n groups: getCookieConsentManager().getDefaultDecision()\n },\n ...toggleOverlay(state, true)\n };\n })\n });\n }, []);\n}\n\nexport { useBannerPreDecisionGateway };","import { getOtherOptionsFromWindow } from \"./getOtherOptionsFromWindow\";\n/**\n * Checks if the current page is customize page.\n */\n\nfunction isCustomize() {\n return !!getOtherOptionsFromWindow().customizeIdsBanner;\n}\n\nexport { isCustomize };","import { getUserDecision } from \"../decision\";\nimport { isCrawler } from \"../utils\";\n/**\n * Is the current request from a spider / crawler?\n */\n\nconst preDecisionGatewayIsCrawler = resultIfBot => async ({\n decisionCookieName\n}) => {\n if (getUserDecision(decisionCookieName) !== false || !resultIfBot) {\n return false;\n }\n\n return isCrawler() ? resultIfBot : false;\n};\n\nexport { preDecisionGatewayIsCrawler };","import { getUserDecision } from \"../decision\";\nimport { isCrawler } from \"../utils\";\n/**\n * Prevent any predecision and user decision and force to reuse existing consent or all for crawlers.\n * This could be e.g. be configured by a dynamic hook or on server-side via a localized variable.\n */\n\nconst preDecisionGatewayIsPreventPreDecision = preventPreDecision => async ({\n decisionCookieName\n}) => {\n const userDecision = getUserDecision(decisionCookieName);\n return preventPreDecision && userDecision === false ? isCrawler() ? // For crawlers we need to explicitly allow services on all pages\n \"all\" : \"consent\" : false;\n};\n\nexport { preDecisionGatewayIsPreventPreDecision };","/**\n * Do not show cookie banner for a certain page, e.g. the login page.\n */\nconst preDecisionGatewayHasPageClass = classNames => async () => {\n const {\n className\n } = document.body;\n return classNames.filter(c => className.indexOf(c) > -1).length > 0 ? \"consent\" : false;\n};\n\nexport { preDecisionGatewayHasPageClass };","import { CookieConsentManager } from \"../apply\";\nimport { apply } from \"../apply\";\nimport { BANNER_PRE_DECISION_SHOW_EVENT } from \"../events\";\nimport { ready } from \"../utils\";\n\nasync function preDecisionGateway(options, handler) {\n let show = true;\n const useOptions = options instanceof CookieConsentManager ? options.getOptions() : options;\n const {\n gateways,\n args,\n onIsDoNotTrack,\n onShowCookieBanner\n } = handler;\n\n for (const gateway of gateways) {\n const result = await gateway(useOptions, ...args);\n\n if (result !== false) {\n show = false;\n\n const applyWithOptions = type => apply({\n type,\n ...useOptions\n });\n\n if (result === \"all\") {\n applyWithOptions(\"all\");\n } else if (result === \"essentials\") {\n applyWithOptions(\"essentials\");\n } else if (result === \"dnt\") {\n onIsDoNotTrack(() => applyWithOptions(\"essentials\"));\n } else if (result === \"consent\") {\n // Apply services for the current user decision\n applyWithOptions(\"consent\");\n }\n\n break;\n }\n }\n\n if (show) {\n onShowCookieBanner(); // Wait all events are initialized\n\n await ready();\n document.dispatchEvent(new CustomEvent(BANNER_PRE_DECISION_SHOW_EVENT, {\n detail: {}\n }));\n }\n}\n\nexport { preDecisionGateway };","import { getUserDecision, OPT_IN_ALL_EVENT } from \"@devowl-wp/cookie-consent-web-client\";\nimport { useEffect } from \"react\";\n\nfunction useBannerConsentListener(setContextValue, userConsentCookieName) {\n useEffect(() => {\n const listener = () => {\n const consent = getUserDecision(userConsentCookieName);\n consent && setContextValue(state => ({ ...state,\n consent: {\n groups: consent.consent\n }\n }));\n };\n\n document.addEventListener(OPT_IN_ALL_EVENT, listener);\n return () => {\n document.removeEventListener(OPT_IN_ALL_EVENT, listener);\n };\n }, []);\n}\n\nexport { useBannerConsentListener };","/**\n * Wait for a given object which is calculated through a callback.\n */\nasync function waitObject(getObject, delayNextCheck = 500, maxTries = 0) {\n let i = 0;\n\n while (!getObject()) {\n if (maxTries > 0 && i >= maxTries) {\n return undefined;\n }\n\n await new Promise(r => setTimeout(r, delayNextCheck));\n i++;\n }\n\n return getObject();\n}\n\nexport { waitObject };","import { putHtmlCodeToDom, OPT_IN_CONTENT_BLOCKER } from \"@devowl-wp/headless-content-unblocker\";\nimport { OPT_IN_EVENT, waitObject } from \"@devowl-wp/cookie-consent-web-client\";\nlet amazonWidgetsSlotNum = 0;\n/**\n * Some presets have custom opt-in coding, e. g. Amazon Widgets.\n */\n\nfunction listenPresetOptIn() {\n document.addEventListener(OPT_IN_EVENT, async ({\n detail: {\n service: {\n presetId,\n codeOptIn,\n codeDynamics\n }\n }\n }) => {\n switch (presetId) {\n case \"amazon-associates-widget\":\n {\n const {\n amznAssoWidgetHtmlId\n } = codeDynamics || {};\n\n if (amznAssoWidgetHtmlId) {\n const element = document.getElementById(amznAssoWidgetHtmlId);\n\n if (element) {\n const slotNum = amazonWidgetsSlotNum;\n amazonWidgetsSlotNum++;\n putHtmlCodeToDom(codeOptIn, codeDynamics, element); // Amazon Widgets is using `document.write`, we need to manually move the ad container...\n\n const adContainer = await waitObject(() => document.querySelector(\"[id^=\\\"amzn_assoc_ad_div_\\\"][id$=\\\"\".concat(slotNum, \"\\\"]\")), 500, 50);\n\n if (adContainer) {\n element.appendChild(adContainer);\n }\n }\n }\n\n break;\n }\n\n case \"google-maps\":\n {\n document.addEventListener(OPT_IN_CONTENT_BLOCKER, async ({\n detail: {\n element\n }\n }) => {\n const {\n et_pb_map_init,\n jQuery\n } = window;\n\n if (jQuery && element.matches(\".et_pb_map\") && et_pb_map_init) {\n await waitObject(() => window.google);\n et_pb_map_init(jQuery(element).parent());\n }\n });\n break;\n }\n\n default:\n break;\n }\n });\n}\n\nexport { listenPresetOptIn };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestConsentClearDelete = {\n path: \"/consent/clear\",\n method: RouteHttpVerb.DELETE\n};","import { getOtherOptionsFromWindow } from \"../utils\";\nimport { getUserDecision, regExpPatternFromWildcardName } from \"@devowl-wp/cookie-consent-web-client\";\n/**\n * Synchronously check if a consent is given. See `window.consentApi.consent` for more documentation.\n */\n\nfunction consentSync(typeOrId, name,\n/**\n * This can also be `*` to allow all hosts.\n */\nhost) {\n // Find matching cookie\n const found = [];\n const {\n groups,\n revisionHash\n } = getOtherOptionsFromWindow();\n const allCookies = groups.map(({\n items\n }) => items).flat();\n\n for (const row of allCookies) {\n if (typeof typeOrId === \"number\") {\n if (row.id === typeOrId) {\n found.push({\n cookie: row,\n relevance: 10\n });\n }\n } else {\n const {\n technicalDefinitions\n } = row;\n\n if (technicalDefinitions !== null && technicalDefinitions !== void 0 && technicalDefinitions.length) {\n // Check if technical information matches\n for (const td of technicalDefinitions) {\n const regexp = regExpPatternFromWildcardName(td.name);\n\n if (td.type === typeOrId && (td.name === name || name.match(regexp)) && (td.host === host || host === \"*\")) {\n found.push({\n cookie: row,\n // Create a priority by \"relevance\" inside the technical definitions\n // This is the case if e.g. another Cookie consumes the same technical cookie\n // Example: Vimeo uses Facebook Pixel, too\n relevance: technicalDefinitions.length + technicalDefinitions.indexOf(td) + 1\n });\n break;\n }\n }\n }\n }\n }\n\n const already = getUserDecision(getOtherOptionsFromWindow().userConsentCookieName);\n\n if (found.length) {\n const relevantCookie = found.sort(({\n relevance: a\n }, {\n relevance: b\n }) => a - b)[0].cookie; // Check if consent is already given\n\n if (already && revisionHash === already.revision) {\n const consentCookieIds = Object.values(already.consent).flat();\n\n if (consentCookieIds.indexOf(relevantCookie.id) > -1) {\n return {\n cookie: relevantCookie,\n consentGiven: true,\n cookieOptIn: true\n };\n } else {\n return {\n cookie: relevantCookie,\n consentGiven: true,\n cookieOptIn: false\n };\n }\n } else {\n return {\n cookie: relevantCookie,\n consentGiven: false,\n cookieOptIn: false\n };\n }\n } else {\n return {\n cookie: null,\n consentGiven: !!already,\n cookieOptIn: true\n };\n }\n}\n\nexport { consentSync };","import { OPT_IN_EVENT, OPT_OUT_EVENT } from \"@devowl-wp/cookie-consent-web-client\";\nimport { consentSync } from \".\";\n/**\n * `window.consentApi.consent`: Check if a given technical information (e.g. HTTP Cookie, LocalStorage, ...) has a consent:\n *\n * - When a technical information exists in defined cookies, the Promise is only resolved after given consent\n * - When no technical information exists, the Promise is immediate resolved\n *\n * Example (ES5):\n * ```js\n * (window.consentApi && window.consentApi.consent(\"http\", \"_twitter_sess\", \".twitter.com\") || Promise.resolve()).then(function() {\n * console.log(\"Consent for Twitter embed given, do something...!\");\n * });\n * ```\n *\n * Example (ES6, Babel, TS):\n * ```js\n * (window.consentApi?.consent(\"http\", \"_twitter_sess\", \".twitter.com\") || Promise.resolve()).then(() => {\n * console.log(\"Consent for Twitter embed given, do something...!\");\n * });\n * ```\n *\n * **Since 2.3.0**: You can also check for consent by cookie ID (ID in `wp_posts`, post id):\n *\n * ```js\n * window.consentApi.consent(15)\n * ```\n */\n\nfunction consent(...args) {\n return new Promise((resolve, reject) => {\n const {\n cookie: foundCookie,\n consentGiven,\n cookieOptIn\n } = consentSync(...args);\n\n if (foundCookie) {\n if (consentGiven) {\n if (cookieOptIn) {\n resolve();\n } else {\n reject();\n }\n } else {\n // Wait for consent\n document.addEventListener(OPT_IN_EVENT, async ({\n detail: {\n service\n }\n }) => {\n if (service === foundCookie) {\n resolve();\n }\n }); // Wait for opt out\n\n document.addEventListener(OPT_OUT_EVENT, async ({\n detail: {\n service\n }\n }) => {\n if (service === foundCookie) {\n reject();\n }\n });\n }\n } else {\n resolve();\n }\n });\n}\n\nexport { consent };","import { consent } from \".\";\n/**\n * `window.consentApi.consentAll`: Check if a set of given technical information (e.g. HTTP Cookie, LocalStorage, ...)\n * have a consent. This is similar to `window.consentApi.consent` but for multiple cookies.\n */\n\nfunction consentAll(technicalDefinitions) {\n return Promise.all(technicalDefinitions.map(args => consent(...args)));\n}\n\nexport { consentAll };","/* istanbul ignore file: we do not need to care about the entry point file as errors are detected through integration tests (E2E) */\n\n/**\n * Entrypoint for plain website. This file is only loaded if the visitor needs to accept cookies.\n */\nimport { render } from \"react-dom\";\nimport { WebsiteBanner } from \"./components\";\nimport { getOtherOptionsFromWindow, ensureBodyElement } from \"./utils\";\nimport { listenPresetOptIn, deleteCookiesServer, getCookieConsentManager } from \"./others\";\nimport { tcfCmpApi } from \"./tcf\";\nimport * as API from \"./api\";\nimport { getWebpackPublicPath } from \"@devowl-wp/utils\";\nimport { printConsentUuidsToHTMLElement } from \"@devowl-wp/cookie-consent-web-client\";\nimport { OPT_OUT_ALL_EVENT, ready } from \"@devowl-wp/cookie-consent-web-client\";\nimport { getSsrPoweredByLink } from \"@devowl-wp/react-cookie-banner\";\n__webpack_public_path__ = getWebpackPublicPath(process.env.slug);\nlistenPresetOptIn();\ntcfCmpApi();\nready(() => {\n const {\n pageRequestUuid4\n } = getOtherOptionsFromWindow();\n const poweredLink = getSsrPoweredByLink(\"\".concat(pageRequestUuid4, \"-powered-by\"));\n const element = ensureBodyElement(document.getElementById(pageRequestUuid4));\n printConsentUuidsToHTMLElement(\".rcb-consent-history-uuids\", getCookieConsentManager());\n document.addEventListener(OPT_OUT_ALL_EVENT, async ({\n detail: {\n deleteHttpCookies\n }\n }) => {\n // Handle cookie deletion which needs to be done server-side (e. g. HTTP cookies)\n deleteHttpCookies.length && setTimeout(() => deleteCookiesServer(deleteHttpCookies), 0);\n });\n\n if (element) {\n render(h(WebsiteBanner, {\n poweredLink: poweredLink\n }), element);\n }\n}, \"interactive\"); // Expose public API\n\nif (window) {\n window.consentApi = API;\n}\n\nexport * from \"./api\";","import { tcfCmpApiDispatcher } from \"@devowl-wp/cookie-consent-web-client\";\nimport { CmpApi } from \"@iabtcf/cmpapi\";\nimport { getCookieConsentManager } from \"../others\";\nimport { getCmpVersion, getOtherOptionsFromWindow } from \"../utils\";\nlet cmpApiInstance;\n/**\n * Initialize a CMP API once for this page request. If TCF is not available, it will\n * return `undefined`.\n *\n * @see https://www.npmjs.com/package/@iabtcf/cmpapi\n */\n\nfunction tcfCmpApi() {\n const other = getOtherOptionsFromWindow();\n const {\n isTcf\n } = other;\n\n if (process.env.IS_TCF === \"1\" && isTcf) {\n const {\n tcf,\n tcfMetadata\n } = other;\n const {\n scope\n } = tcfMetadata; // Create instance only once\n\n if (!cmpApiInstance) {\n cmpApiInstance = new CmpApi(+process.env.TCF_CMP_ID, // Currently, only two bits (https://git.io/JmuD0) can be saved to the cmpVersion, so we can only save the major version\n getCmpVersion(\"major\"), scope === \"service-specific\"); // Dispatch events to vendors can listen to it\n\n setTimeout(() => tcfCmpApiDispatcher(tcf, tcfMetadata, cmpApiInstance, getCookieConsentManager().getOption(\"tcfCookieName\")), 0);\n }\n\n return cmpApiInstance;\n } else {\n return undefined;\n }\n}\n\nexport { tcfCmpApi };","/**\n * Ensure the given HTML is a child of `body`. If not, it automatically gets moved.\n */\nfunction ensureBodyElement(element) {\n const {\n body\n } = document;\n const {\n parentElement\n } = element;\n\n if (parentElement !== body) {\n body.appendChild(element);\n }\n\n return element;\n}\n\nexport { ensureBodyElement };","import { CookieConsentManager } from \"../apply\";\nimport { BANNER_PRE_DECISION_SHOW_EVENT, OPT_IN_ALL_EVENT } from \"../events\";\nimport { getUserDecision } from \".\";\n/**\n * Listen to opt-in so we can safely print the UUID of the current consent to HTML elements.\n */\n\nfunction printConsentUuidsToHTMLElement(selector, decisionCookieName) {\n const elements = Array.prototype.slice.call(document.querySelectorAll(selector));\n document.addEventListener(BANNER_PRE_DECISION_SHOW_EVENT, () => {\n elements.forEach(element => element.innerHTML = element.getAttribute(\"data-fallback\"));\n });\n document.addEventListener(OPT_IN_ALL_EVENT, () => {\n const consent = getUserDecision(decisionCookieName instanceof CookieConsentManager ? decisionCookieName.getOption(\"decisionCookieName\") : decisionCookieName);\n const allUuids = consent ? [consent.uuid, ...consent.previousUuids] : [];\n elements.forEach(element => element.innerHTML = allUuids.length > 0 ? allUuids.join(\", \") : element.getAttribute(\"data-fallback\"));\n });\n}\n\nexport { printConsentUuidsToHTMLElement };","import { commonRequest } from \"@devowl-wp/utils\";\nimport { getOptionsFromWindow } from \"../utils\";\nimport { locationRestConsentClearDelete } from \"../wp-api\";\n/**\n * Delete cookies on server side (currently only `http`).\n */\n\nfunction deleteCookiesServer(cookies) {\n const {\n restNamespace,\n restRoot,\n restQuery,\n restNonce\n } = getOptionsFromWindow();\n return commonRequest({\n location: locationRestConsentClearDelete,\n options: {\n restNamespace,\n restRoot,\n restQuery,\n restNonce\n },\n sendRestNonce: false,\n params: {\n cookies: cookies.join(\",\")\n }\n });\n}\n\nexport { deleteCookiesServer };","import { getOtherOptionsFromWindow } from \"../utils\";\n\nconst BannerProductionNotice = () => {\n const {\n isPro,\n isLicensed,\n isDevLicense,\n bannerI18n: {\n noLicense,\n devLicense\n }\n } = getOtherOptionsFromWindow();\n\n if (!isPro) {\n return null;\n }\n\n let useText = \"\";\n\n if (isDevLicense) {\n useText = devLicense;\n } else if (!isLicensed) {\n useText = noLicense;\n }\n\n return useText ? h(\"div\", {\n style: {\n fontSize: 13,\n color: \"#c95252\",\n fontWeight: \"bold\",\n order: 9\n }\n }, useText) : null;\n};\n\nexport { BannerProductionNotice };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestConsentPost = {\n path: \"/consent\",\n method: RouteHttpVerb.POST\n};","import { getOtherOptionsFromWindow } from \"../utils\";\n/**\n * Apply Consent Forwarding, it set's cross domain cookies via CORS requests.\n *\n * @see https://javascript.info/fetch-crossorigin\n */\n\nfunction applyConsentForwarding({\n endpoints,\n data\n}) {\n const {\n isPro\n } = getOtherOptionsFromWindow();\n\n if (isPro) {\n /* onlypro:start */\n const promises = [];\n\n for (const endpoint of endpoints) {\n promises.push(window.fetch(endpoint, {\n method: \"POST\",\n credentials: \"include\",\n headers: {\n \"Content-Type\": \"application/json;charset=utf-8\"\n },\n body: JSON.stringify(data)\n }));\n }\n\n return Promise.all(promises);\n /* onlypro:start */\n } else {\n return Promise.reject();\n }\n}\n\nexport { applyConsentForwarding };","import { locationRestConsentPost } from \"../wp-api\";\nimport { getOptionsFromWindow } from \"../utils\";\nimport { applyConsentForwarding, getCookieConsentManager } from \".\";\nimport { commonRequest } from \"@devowl-wp/utils\";\n\n/**\n * Save consent to the backend and apply cookies on running session.\n */\nasync function applyConsent({\n consent,\n markAsDoNotTrack = false,\n buttonClicked,\n blocker = 0,\n blockerThumbnail,\n tcfString\n}) {\n const {\n clientWidth,\n clientHeight\n } = document.documentElement;\n const {\n restNamespace,\n restRoot,\n restQuery,\n restNonce\n } = getOptionsFromWindow(); // Use `commonRequest` cause on frontend we do not have `wp.i18n` available\n\n const {\n forward,\n uuid,\n cookie_revision,\n decision_in_cookie\n } = await commonRequest({\n location: locationRestConsentPost,\n options: {\n restNamespace,\n restRoot,\n restQuery,\n restNonce\n },\n sendRestNonce: false,\n request: { ...consent,\n markAsDoNotTrack,\n buttonClicked,\n viewPortWidth: clientWidth,\n viewPortHeight: clientHeight,\n blocker,\n blockerThumbnail,\n tcfString\n },\n params: {\n _wp_http_referer: window.location.href\n }\n }); // Does the browser support cookies? Save the decision locally in `window` so `getUserDecision` can fallback\n\n window.rcbDisabledCookieComp = {\n uuid,\n previousUuids: [],\n revision: cookie_revision,\n consent: decision_in_cookie\n };\n await Promise.all([// Apply consent forwarding and wait for all requests\n forward && applyConsentForwarding(forward), getCookieConsentManager().applyCookies({\n type: \"consent\"\n })].filter(Boolean));\n}\n\nexport { applyConsent };","import { getOptionsFromWindow } from \"./getOptionsFromWindow\";\n/**\n * Get the version of Real Cookie Banner as integer.\n */\n\nfunction getCmpVersion(type) {\n const split = getOptionsFromWindow().version.split(\".\");\n return +(type === \"major\" ? split[0] : split.map(i => +i < 10 ? \"0\".concat(i) : i).join(\"\")); // 1.11.1 => 1011000; 2.5.0 => 2005001;\n}\n\nexport { getCmpVersion };","import { CookieConsentManager } from \"@devowl-wp/cookie-consent-web-client\";\nimport { getCmpVersion, getOtherOptionsFromWindow } from \"../utils\";\n\nfunction getCookieConsentManager() {\n const {\n userConsentCookieName,\n revisionHash,\n setCookiesViaManager,\n groups,\n essentialGroup\n } = getOtherOptionsFromWindow();\n\n if (!window.rcbConsentManager) {\n window.rcbConsentManager = new CookieConsentManager({\n decisionCookieName: userConsentCookieName,\n essentialGroupSlug: essentialGroup,\n groups,\n revisionHash,\n supportsCookiesName: \"real_cookie_banner-test\",\n tagManager: setCookiesViaManager,\n skipOptIn: function (cookie) {\n const {\n presetId\n } = cookie;\n return [\"amazon-associates-widget\"].indexOf(presetId) > -1;\n },\n cmpId: process.env.TCF_CMP_ID,\n cmpVersion: getCmpVersion(\"major\"),\n tcfCookieName: \"\".concat(userConsentCookieName, \"-tcf\")\n });\n }\n\n return window.rcbConsentManager;\n}\n\nexport { getCookieConsentManager };","/**\n * Use this if you do not have the Mobx store available in your JavaScript asset.\n * E. g. the `banner.js` does not rely on the mobx store and should access the\n * localized options via `window.realCookieBanner` directly.\n */\nfunction getOptionsFromWindow() {\n return window[process.env.slug.replace(/-([a-z])/g, g => g[1].toUpperCase())];\n}\n\nexport { getOptionsFromWindow };","import { getOptionsFromWindow } from \"./getOptionsFromWindow\";\n/**\n * Use this if you do not have the Mobx store available in your JavaScript asset.\n * E. g. the `banner.js` does not rely on the mobx store and should access the\n * localized options via `window.realCookieBanner.others` directly.\n */\n\nfunction getOtherOptionsFromWindow() {\n return getOptionsFromWindow().others;\n}\n\nexport { getOtherOptionsFromWindow };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t392: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkrealCookieBanner_name_\"] = self[\"webpackChunkrealCookieBanner_name_\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [568], () => (__webpack_require__(9181)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","module","exports","getManagerDependingVariables","setCookiesViaManager","presetId","useGlobalObjectName","getDataLayer","expectedManagerPresetId","serviceIsManager","managerLabel","isGtm","isMtm","window","getServiceSelection","decisionCookieName","tagManager","groups","essentialGroupSlug","type","selectedGroups","isManagerActive","essentialGroupObj","filter","slug","consentEssentials","id","items","map","decision","getUserDecision","consent","console","warn","iterateServices","async","callback","group","service","_selectedGroups$group","isOptIn","indexOf","useTagManager","apply","options","ready","dataLayerPromise","isManagerOptOut","services","applyOptInReady","allOptInServices","skipOptIn","Promise","resolve","undefined","waitPromises","codeDynamics","codeOptIn","executeCodeOptInWhenNoTagManagerConsentIsGiven","isOnlyWhenNoConsentToManager","isSkipOptIn","push","putHtmlCodeToDom","summary","document","dispatchEvent","CustomEvent","detail","all","applyOptIn","applyOptInOutManagerReady","dataLayer","event","tagManagerOptInEventName","realCookieBannerOptInEvents","setTimeout","tagManagerOptOutEventName","realCookieBannerOptOutEvents","applyOptInOutManager","optInAllReady","deleteHttpCookies","allOptOutServices","optOutReady","codeOptOut","deleteTechnicalDefinitionsAfterOptOut","isEmbeddingOnlyExternalResources","technicalDefinitions","executeCodeOptOutWhenNoTagManagerConsentIsGiven","dynamics","name","pattern","RegExp","regExpPatternFromWildcardName","applyDynamicsToHtml","key","Object","keys","test","useStorage","localStorage","sessionStorage","itemName","setItem","e","tries","getItem","removeItem","deleteCookiesLocally","some","applyOptOut","CookieConsentManager","constructor","this","applyCookies","getOption","getDefaultDecision","respectLegitimateInterests","result","ids","legalBasis","length","getOptions","cookieName","cookieValue","supportsCookies","rcbDisabledCookieComp","split","string","separator","n","out","slice","join","explode","uuidString","revision","uuids","uuid","shift","previousUuids","JSON","parse","BANNER_PRE_DECISION_SHOW_EVENT","OPT_IN_EVENT","OPT_IN_ALL_EVENT","OPT_OUT_EVENT","OPT_OUT_ALL_EVENT","helperCreateResolvablePromise","r","memorizedReadyStatePromises","loading","complete","interactive","LISTEN_TO_EVENTS","fn","state","executed","cb","readyState","reached","memorizeReadyState","addEventListener","then","tmp","replace","concat","str","opts","sameSite","cookie","DYNAMICS_VARIABLE_REGEXP","src","fullMatch","variableName","prototype","hasOwnProperty","call","HTML_ATTRIBUTE_CAPTURE_PREFIX","HTML_ATTRIBUTE_CAPTURE_CLICK_PREFIX","HTML_ATTRIBUTE_CAPTURE_SUFFIX","HTML_ATTRIBUTE_BY","HTML_ATTRIBUTE_COOKIE_IDS","HTML_ATTRIBUTE_VISUAL_PARENT","HTML_ATTRIBUTE_VISUAL_PAINT_MODE","HTML_ATTRIBUTE_INLINE","HTML_ATTRIBUTE_INLINE_STYLE","HTML_ATTRIBUTE_BLOCKER_ID","HTML_TAG_CONSENT_SCRIPT","HTML_ATTRIBUTE_BLOCKER_CONNECTED","HTML_ATTRIBUTE_BLOCKER_CONNECTED_PRESERVED","HTML_ATTRIBUTE_UNBLOCKED_TRANSACTION_COMPLETE","HTML_ATTRIBUTE_TRANSFORM_WRAPPER","HTML_ATTRIBUTE_TRANSFORM_WRAPPER_VALUE","HTML_ATTRIBUTE_WAS_PREVIOUSLY_STRICT_HIDDEN","HTML_ATTRIBUTE_RESET_PARENT","HTML_ATTRIBUTE_RESET_PARENT_VALUE","HTML_ATTRIBUTE_RESET_PARENT_IS_RATIO_CONTAINER","HTML_ATTRIBUTE_GOT_CLICKED","HTML_ATTRIBUTE_GOT_CLICKED_VALUE","HTML_ATTRIBUTE_GOT_CLICKED_VALUE_DO_NOT_USE_IN_NESTED","HTML_ATTRIBUTE_THUMBNAIL","WINDOW_ONLOAD_UNBLOCK_REPLACEMENT","html","referenceNode","body","done","error","beforeWriteToken","token","attrs","booleanAttrs","href","content","attr","querySelector","OPT_IN_CONTENT_BLOCKER","dispatchResizeEvent","delay","Event","htmlDecode","input","_doc$querySelector","DOMParser","parseFromString","documentElement","textContent","isUrl","url","parents","element","selector","elements","elem","parentElement","nodeType","Node","ELEMENT_NODE","AsciiSpinner","ms","chars","i","setI","interval","setInterval","clearInterval","h","dangerouslySetInnerHTML","__html","PlainAntdIconAsSvg","icon","rest","svgString","extraSVGAttrs","style","fill","CommonCheckbox","hideCheckbox","isPartial","isChecked","isDisabled","fontSize","onClick","children","after","CheckboxIcon","MinusOutlined","CheckOutlined","bannerOrBlocker","useBannerOrBlocker","isRendered","setIsRendered","layout","borderRadius","headlineFontSize","checkboxBg","checkboxBorderWidth","checkboxBorderColor","checkboxActiveBg","checkboxActiveBorderColor","checkboxActiveColor","customCss","antiAdBlocker","mobile","pageRequestUuid4","visible","checked","disabled","useFontSize","scale","useCheckboxBorderWidth","height","className","cursor","opacity","color","display","background","border","padding","width","marginRight","verticalAlign","lineHeight","boxSizing","commonInlineStyleGroupsCheckbox","CookieProperty","label","value","printValueAs","banner","i18n","yes","no","useValue","wordBreak","c","target","rel","groupBorderWidth","groupBorderColor","borderLeft","paddingLeft","commonInlineStyleGroupsCookieProperty","CookiePropertyList","purpose","provider","providerPrivacyPolicyUrl","ePrivacyUSA","isEssentialGroup","ePrivacyUSAEnabled","types","http","abbr","backgroundColor","local","session","flash","indexedDb","legalRequirement","legitimateInterest","host","duration","durationUnit","isSessionDuration","technicalCookieDefinition","fontFamily","noExpiration","Cookie","onToggleCheck","propertyListProps","descriptionFontSize","marginTop","commonInlineStyleGroupsCookie","marginBottom","Tooltip","title","position","size","always","rounded","noAnimate","bounce","ref","BannerContextFactory","static","context","useBanner","Context","BlockerContextFactory","useBlocker","FooterLink","anchorRest","isHover","setIsHover","onMouseEnter","onMouseLeave","footerDesign","fontColor","hoverFontColor","fontInheritFamily","design","linkTextDecoration","textDecoration","commonInlineStyleFooterLink","FooterPoweredByLink","poweredLink","affiliate","link","innerHTML","description","labelBehind","jsxJoin","components","filtered","Boolean","reduce","acc","curr","useCommonFooterLinks","onClose","putPoweredByLinkInRow","row1","close","poweredByLink","linkTarget","linkPrivacyPolicy","linkImprint","useLegalLinks","targetAttributes","rows","render","row","joinWithAndSeparator","arr","andSeparator","splice","supWithLineHeightFix","useCommonTeachings","disableDataProcessingInUnsafeCountries","disableAgeNotice","disableListServicesNotice","blocker","isEPrivacyUSA","ageNotice","isAgeNotice","listServicesNotice","isListServicesNotice","texts","ageNoticeBanner","consentForwardingExternalHosts","consentForwardingExternalHostsText","tcf","individualPrivacyOpen","individualTexts","individualDescription","essentialGroup","tcfBannerI18n","keepVariablesInTexts","consentForwardingExternalHostsFinalText","useDescription","servicesProcessingUnsafeCountries","flat","tcfVendorsProcessingUnsafeCountries","values","gvl","vendors","vendor","_additionalInformatio","additionalInformation","internationalTransfers","original","vendorConfigurations","useDataProcessingInUnsafeCountries","useAgeNotice","useListServicesNotice","hasBothPlaceholders","nonEssentialGroups","flattenSeparator","listServicesNames","groupIdx","listServiceGroupsNames","listOfServicesAppendix","teachings","legal","privacyPolicy","privacyPolicyExternalUrl","privacyPolicyIsExternalUrl","privacyPolicyLabel","imprint","imprintExternalUrl","imprintIsExternalUrl","imprintLabel","pageByIdUrl","pageIdToPermalink","counter","usePlainCss","css","uniqueId","keep","toString","getElementById","createElement","getElementsByTagName","appendChild","_element$parentNode","parentNode","removeChild","commonInlineStyleBodyTeaching","bodyDesign","teachingsInheritTextAlign","teachingsTextAlign","teachingsInheritFontSize","teachingsFontSize","teachingsInheritFontColor","teachingsFontColor","textAlign","commonInlineStyleBodyTeachingsSeparator","teachingsSeparatorActive","teachingsSeparatorWidth","teachingsSeparatorHeight","teachingsSeparatorColor","maxWidth","commonGroupsInlineStyleLinkMore","linkColor","linkHoverColor","commonInlineStyleHeaderHeadline","headerDesign","fontWeight","hasCloseIcon","paddingRight","scaleMobile","enabled","scalePercent","scalePercentVertical","useWidthOfThisContainerId","replaceWith","additionalVerticalScaling","getSsrPoweredByLink","originalPoweredLink","rcbPoweredByCacheOuterHTML","toLowerCase","outerHTML","matchingSelector","proto","Element","nativeFunction","matches","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","matchingElements","querySelectorAll","matchIdx","applyQueryString","query","merge","search","pool","recreateFetchPool","nonceDeprecationPool","nonce","restRecreateNonceEndpoint","resultPromise","reject","recreateFetch","fetch","ok","newNonce","text","returnNonce","parseResult","method","cloneForFallback","clone","json","lastError","line","startsWith","commonRequest","location","request","routeRequest","params","settings","cookieValueAsParam","multipart","sendRestNonce","apiUrl","URL","restRoot","permalinkPath","rest_route","pathname","foundParams","path","match","getParams","checkParam","_httpCookieInvalidate","stringify","protocol","usePath","namespace","restNamespace","restNonce","_wpnonce","s","_method","restQuery","commonUrlBuilder","allowBody","apiUrlBuilt","hasRestNonce","init","headers","Accept","responseJSON","replay","code","status","detectCorruptRestApiFailed","resultAny","RouteHttpVerb","untrailingslashit","endsWith","trailingslashit","getWebpackPublicPath","g","toUpperCase","publicUrl","chunkFolder","unblock","found","isPseudoRef","loop1","rules","rule","regexp","setAttribute","remove","preDecisionGatewaySupportsCookies","supportsCookiesName","isCrawler","userAgent","navigator","preDecisionGatewayDynamicRequest","timeout","active","revisionHash","predecision","promise","Error","preDecisionGatewayIsDoNotTrack","w","doNotTrack","msDoNotTrack","external","msTrackingProtectionEnabled","isDoNotTrack","preDecisionGatewayUserConsent","locationRestConsentDynamicPredecisionGet","isHiddenDueLegal","imprintHide","privacyPolicyHide","pageId","useBannerAnimation","isMobile","innerWidth","isMobileFirefox","term","animationIn","animationInOnlyMobile","animationOut","animationOutOnlyMobile","useAnimationIn","useAnimationOut","cancelEvent","preventDefault","stopPropagation","HREF_MATCHER","useResettableAnimation","animation","j","setJ","stateAnimation","setStateAnimation","stateAnimationReset","setStateAnimationReset","stateDuration","setStateDuration","stateDurationReset","setStateDurationReset","hexToRgb","hex","exec","parseInt","b","calculateRgba","alpha","getAnimationRelatedState","isVisible","animationInDuration","animationOutDuration","animationInDelay","animationOutDelay","AnimatedCss","animateOnMount","setAnimationRelatedState","classes","backwardStyle","transition","animationDelay","animationDuration","pointerEvents","useRenderedHeightsAsCssVars","cssId","cssElement","previousHeight","recalculate","currentHeight","getBoundingClientRect","Math","floor","animateContainer","ResizeObserver","ro","observe","disconnect","removeEventListener","useBannerButtonCallbacks","onSave","updateGroupChecked","updateCookieChecked","updateIndividualPrivacyOpen","activeAction","buttonClickedAll","buttonClickedEssentials","buttonClickedCloseIcon","buttonClickedCustom","acceptAll","forEach","acceptEssentials","isCloseIcon","cookieId","acceptIndividual","openIndividualPrivacy","closeIcon","Portal","tag","renderInContainer","renderIn","el","classList","add","CloseIcon","tooltipText","framed","tooltipAlways","thickness","idCloseIconNotPortaled","idCloseIconPortaled","idCloseIconPlaceholder","rect","y","x","BannerCloseIcon","closeWithoutSaving","buttonClicked","container","clientWidth","BannerHeader","_","logo","logoRetina","showCloseIcon","headline","headerTitlePrivacyPolicyHistory","useRetina","devicePixelRatio","useLogo","useHeadline","dialogBorderRadius","borderWidth","borderColor","restDesign","inheritBg","bg","useType","useBorderWidth","p","zIndex","top","borderTop","borderRight","bannerHeaderInlineStyleContainer","bannerMaxWidth","inheritTextAlign","logoPosition","restHeaderDesign","individualLayout","useTextAlign","inheritBannerMaxWidth","margin","justifyContent","alignItems","flexDirection","bannerHeaderInlineStyle","alt","logoMaxHeight","logoMargin","logoFitDim","logoRetinaFitDim","isRetina","useFitDim","m","bannerHeaderInlineStyleLogo","BannerGroupSectionTitle","headlineFontColor","headlineFontWeight","bannerGroupsInlineStyleTitle","descriptionFontColor","bannerGroupsInlineStyleDescription","CommonLinkMore","onToggle","showMore","hideMore","isOpen","setIsOpen","newOpen","BannerCookie","_consent$groups","handleCheckbox","BannerGroup","_consent$groups$id","previewCheckboxActiveState","sort","groupBg","groupBorderRadius","groupPadding","groupInheritBg","useGroupBorderWidth","bannerGroupsInlineStyleGroup","BannerGroupList","groupSpacing","useGroups","clear","bannerGroupsInlineStyle","index","BannerDottedGroup","groupsFirstView","dottedGroupsInheritFontSize","dottedGroupsFontSize","whiteSpace","bannerInlineStyleBodyDottedGroupItem","dottedGroupsBulletColor","bannerInlineStyleBodyDottedGroupBullet","BannerDottedGroupList","showGroups","lineBreak","bannerInlineStyleBodyDottedGroups","BannerHistorySelect","selectedId","setSelectedId","history","selectHistoryEntry","historyLabel","historySelectNone","selectedHistoryItem","_history$filter","optionStyle","bannerInlineStyleHistorySelectOption","descriptionInheritFontSize","borderBottom","bannerInlineStyleHistorySelect","onChange","isUnblock","isForwarded","created","Date","toLocaleString","lang","bannerButtonsInlineStyleCommon","order","hoverBg","hoverBorderColor","isTwoButtonRowLayout","fullWidth","marginLeft","overflow","outline","flex","bannerButtonsInlineStyleAcceptEssentials","isTcf","acceptEssentialsFontSize","acceptEssentialsBg","acceptEssentialsTextAlign","acceptEssentialsBorderColor","acceptEssentialsPadding","acceptEssentialsBorderWidth","acceptEssentialsFontColor","acceptEssentialsFontWeight","acceptEssentialsHoverBg","acceptEssentialsHoverFontColor","acceptEssentialsHoverBorderColor","acceptAllFontWeight","acceptAllFontSize","acceptAllPadding","bannerButtonsInlineStyleAcceptIndividual","acceptIndividualFontSize","acceptIndividualBg","acceptIndividualTextAlign","acceptIndividualBorderColor","acceptIndividualPadding","acceptIndividualBorderWidth","acceptIndividualFontColor","acceptIndividualFontWeight","acceptIndividualHoverBg","acceptIndividualHoverFontColor","acceptIndividualHoverBorderColor","bannerButtonsInlineStyleSave","saveButton","bannerButtonsInlineStyleAcceptAll","acceptAllBg","acceptAllTextAlign","acceptAllBorderColor","acceptAllBorderWidth","acceptAllFontColor","acceptAllHoverBg","acceptAllHoverFontColor","acceptAllHoverBorderColor","BannerButton","inlineStyle","busyOnClick","isBusy","setIsBusy","handleOnClick","acceptAllOneRowLayout","acceptEssentialsUseAcceptAll","useAcceptEssentials","interactionAttr","useStyleFn","BannerButtonList","buttonOrder","buttonOrderString","acceptAllText","acceptEssentialsText","acceptIndividualText","saveButtonType","useAcceptAll","saveButtonUseAcceptAll","save","didGroupFirstChange","productionNotice","buttonOrderAll","essential","buttonOrderEssential","individual","buttonOrderIndividual","buttonOrderSave","buttonToOrder","previous","orderToButton","handleAll","handleEssentials","handleIndividual","BannerBody","leftSideContainerRef","rightSideContainerRef","_document$getElementB","leftSideId","rightSideId","contentId","stackOrGroups","leftSide","usePadding","float","paddingTop","paddingBottom","bannerInlineStylesLeftSide","descriptionTextAlign","bannerInlineStyleBodyDescription","teaching","rightSide","dialogMaxWidth","inheritDialogMaxWidth","flexWrap","bannerInlineStylesRightSide","bannerInlineStyleBodyContainer","bannerInlineStyleBody","BannerFooter","isConsentRecord","handleClose","links","renderLinks","useCommonFooterLink","bottom","bannerFooterInlineStyleContainer","bannerFooterInlineStyle","BannerContent","current","currentRef","showHeader","hideHeader","showScrollBoxShadow","setShowScrollBoxShadow","updateShowScrollBoxShadow","clientHeight","scrollHeight","scrollTop","offsetHeight","hasScrollbar","scrolledToBottom","ceil","platform","headerRef","footerRef","innerHeight","mobileMaxHeight","maxHeight","useMobileMaxHeight","closeIconDistance","bannerContentInlineStyle","useDesignBorderWidth","bannerHeaderInlineStyleSeparator","bannerFooterInlineStyleSeparator","BannerAnimatedContent","animationVisible","stateAnimationIn","stateAnimationInDuration","stateAnimationOut","stateAnimationOutDuration","dialogPosition","dialogMargin","bannerPosition","boxShadowEnabled","boxShadowOffsetX","boxShadowOffsetY","boxShadowBlurRadius","boxShadowSpreadRadius","boxShadowColor","boxShadowColorAlpha","alignment","mobileAlignment","alignSelf","boxShadow","bannerContentInlineStyleInner","Banner","skipOverlay","gotHiddenDueLegal","hiddenDueLegal","show","overlay","overlayBlur","showOverlay","bodyClassRcbOverlayActive","dataset","rcbPreviousOverflow","useRestrictScrollWhenVisible","setInvalidate","updateSize","fetchHistory","originalConsent","setOriginalConsent","consentGroups","useBannerHistory","openBanner","openHistory","revokeConsent","handleType","successMessage","eventListenerDocumentClick","parent","getAttribute","eventListenerHashChange","hash","substring","useBannerActionLinks","bannerOverlayInlineStyleAlignment","overlayBg","overlayBgAlpha","left","right","bannerOverlayInlineStyle","locationRestConsentGet","WebsiteBanner","customizeValuesBanner","tcfMetadata","userConsentCookieName","bannerI18n","isCurrentlyInTranslationEditorPreview","getOtherOptionsFromWindow","userDecision","tcfObject","tcfMeta","useTcf","toggleOverlay","useBannerAnimationCallback","useDuration","trim","useBannerToggleOverlay","updateTcfFilterBy","toggleWithActiveAction","setContextValue","refreshSiteAfterSave","args","alert","reload","newFilter","tcfFilterBy","opened","newConsent","groupId","cookieIds","additionalChanges","useBannerStateContextCallbacks","applyConsent","getCookieConsentManager","tcfString","contextValue","markAsDoNotTrack","appliedConsent","getOptionsFromWindow","customizeIdsBanner","others","isAcceptAllForBots","isPreventPreDecision","hasDynamicPreDecisions","isRespectDoNotTrack","resultIfBot","preventPreDecision","classNames","handler","useOptions","gateways","onIsDoNotTrack","onShowCookieBanner","gateway","applyWithOptions","preDecisionGateway","viewPortWidth","viewPortHeight","_wp_http_referer","useBannerPreDecisionGateway","listener","useBannerConsentListener","BannerContext","Provider","waitObject","getObject","delayNextCheck","maxTries","amazonWidgetsSlotNum","locationRestConsentClearDelete","consentSync","typeOrId","allCookies","relevance","td","already","relevantCookie","a","consentGiven","cookieOptIn","foundCookie","consentAll","amznAssoWidgetHtmlId","slotNum","adContainer","et_pb_map_init","jQuery","google","other","tcfCmpApi","ensureBodyElement","Array","allUuids","printConsentUuidsToHTMLElement","cookies","deleteCookiesServer","consentApi","BannerProductionNotice","isPro","isLicensed","isDevLicense","noLicense","devLicense","useText","locationRestConsentPost","applyConsentForwarding","endpoints","data","promises","endpoint","credentials","blockerThumbnail","forward","cookie_revision","decision_in_cookie","getCmpVersion","version","rcbConsentManager","cmpId","cmpVersion","tcfCookieName","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","d","definition","o","defineProperty","enumerable","get","globalThis","Function","obj","prop","Symbol","toStringTag","scriptUrl","importScripts","currentScript","scripts","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""}
1
+ {"version":3,"file":"banner.lite.js","mappings":"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","sources":["webpack:///webpack/runtime/chunk loaded","webpack:///../../dev-packages/wp-webpack/src/emptyModule.js","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/getManagerDependingVariables.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/getServiceSelection.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/apply.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/optIn.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/optInOutManager.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/optOut.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/deleteCookiesLocally.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/apply/manager.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/getDefaultDecision.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/getUserDecision.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/explode.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/bannerPredecisionShow.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/optIn.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/optInAll.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/optOut.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/events/optOutAll.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/ready.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/regExpPatternFromWildcardName.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/pregQuote.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/supportsCookies.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/dom/applyDynamicsToHtml.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/dom/htmlAttributes.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/dom/putHtmlCodeToDom.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/events/optInContentBlocker.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/dispatchResizeEvent.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/htmlDecode.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/isUrl.tsx","webpack:///../../frontend-packages/headless-content-unblocker/src/utils/parents.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/asciiSpinner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/plainAntdIconAsSvg.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/checkbox.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/checkbox.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/groups/cookieProperty.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/cookieProperty.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/groups/cookiePropertyList.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/groups/cookie.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/cookie.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/tooltip.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/contexts/banner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/contexts/blocker.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/footer/link.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/footer/link.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/footer/poweredByLink.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/jsxJoin.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/common/useCommonFooterLink.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/common/useCommonTeachings.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useBannerOrBlocker.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useLegalLinks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/usePlainCss.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/body/teaching.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/body/teachingSeparator.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/groups/linkMore.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/common/header/headline.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/scale.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/others/getSsrPoweredByLink.tsx","webpack:///../../frontend-packages/resolve-none-computed-style/src/matchingSelector.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/commonUrlBuilder.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/nonceDeprecationPool.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/parseResult.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/commonRequest.tsx","webpack:///../../wordpress-packages/utils/lib/factory/ajax/routeHttpVerbEnum.tsx","webpack:///../../wordpress-packages/utils/lib/helpers.tsx","webpack:///./src/public/ts/api/unblock.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/supportsCookies.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/isCrawler.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/dynamicRequest.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/promiseTimeout.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/isDoNotTrack.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/isDoNotTrack.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/userConsent.tsx","webpack:///./src/public/ts/wp-api/consentDynamicPredecision.get.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/others/isHiddenDueLegal.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerAnimation.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/index.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerStateContextCallbacks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerActionLinks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useResettableAnimation.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/hexToRgb.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/calculateRgba.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/animateCss.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useRenderedHeightsAsCssVars.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerButtonCallbacks.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/portal.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/closeIcon.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/header/closeIcon.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/header/header.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/container.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/header.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/logo.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/sectionTitle.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/title.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/description.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/common/linkMore.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/cookie.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/group.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/group.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/list.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/groups/groups.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/dottedGroup.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/dottedGroupItem.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/dottedGroupBullet.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/groups/dottedGroupList.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/dottedGroups.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/historySelect.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/historySelectOption.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/historySelect.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/common.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/acceptEssentials.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/acceptIndividual.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/save.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/buttons/acceptAll.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/button.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/utils/isIE.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/buttonList.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/body.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/leftSide.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/description.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/rightSide.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/container.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/body/body.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/footer/footer.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/footer/container.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/footer/footer.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/content.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/content/content.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/header/separator.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/footer/separator.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/body/animatedContent.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/content/inner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/components/banner/banner.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/useRestrictScrollWhenVisible.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerHistory.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/overlay/alignment.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/inlineStyles/banner/overlay/overlay.tsx","webpack:///./src/public/ts/wp-api/consent.get.tsx","webpack:///./src/public/ts/components/websiteBanner.tsx","webpack:///./src/public/ts/hooks/useTcf.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerToggleOverlay.tsx","webpack:///./src/public/ts/hooks/useBannerPreDecisionGateway.tsx","webpack:///./src/public/ts/utils/isCustomize.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/isCrawler.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/isPreventPreDecision.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/hasPageClass.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/predecision/gateway.tsx","webpack:///../../frontend-packages/react-cookie-banner/src/hooks/banner/useBannerConsentListener.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/utils/waitObject.tsx","webpack:///./src/public/ts/others/comp/listenPresetOptIn.tsx","webpack:///./src/public/ts/wp-api/consentClear.delete.tsx","webpack:///./src/public/ts/api/consentSync.tsx","webpack:///./src/public/ts/api/consent.tsx","webpack:///./src/public/ts/api/consentAll.tsx","webpack:///./src/public/ts/banner.tsx","webpack:///./src/public/ts/tcf/cmpApi.tsx","webpack:///./src/public/ts/utils/ensureBodyElement.tsx","webpack:///../../frontend-packages/cookie-consent-web-client/src/decision/printConsentUuidsToHTMLElement.tsx","webpack:///./src/public/ts/others/deleteCookiesServer.tsx","webpack:///./src/public/ts/components/bannerProductionNotice.tsx","webpack:///./src/public/ts/wp-api/consent.post.tsx","webpack:///./src/public/ts/others/applyConsentForwarding.tsx","webpack:///./src/public/ts/others/applyConsent.tsx","webpack:///./src/public/ts/utils/getCmpVersion.tsx","webpack:///./src/public/ts/others/getCookieConsentManager.tsx","webpack:///./src/public/ts/utils/getOptionsFromWindow.tsx","webpack:///./src/public/ts/utils/getOtherOptionsFromWindow.tsx","webpack:///webpack/bootstrap","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","module.exports = {};\n","export const LABEL_GTM = \"Google Tag Manager\";\nexport const LABEL_MTM = \"Matomo Tag Manager\";\n\nfunction getManagerDependingVariables(setCookiesViaManager, presetId) {\n let useGlobalObjectName;\n let getDataLayer;\n let serviceIsManager = false;\n let managerLabel = \"\";\n let expectedManagerPresetId;\n\n if (setCookiesViaManager && setCookiesViaManager !== \"none\") {\n const isGtm = setCookiesViaManager === \"googleTagManager\";\n const isMtm = setCookiesViaManager === \"matomoTagManager\";\n\n if (isGtm) {\n expectedManagerPresetId = \"gtm\";\n useGlobalObjectName = \"dataLayer\";\n managerLabel = LABEL_GTM;\n } else if (isMtm) {\n expectedManagerPresetId = \"mtm\";\n useGlobalObjectName = \"_mtm\";\n managerLabel = LABEL_MTM;\n }\n\n if (isGtm || isMtm) {\n getDataLayer = () => {\n window[useGlobalObjectName] = window[useGlobalObjectName] || [];\n return window[useGlobalObjectName];\n };\n }\n\n if (expectedManagerPresetId && presetId === expectedManagerPresetId) {\n serviceIsManager = true;\n }\n }\n\n return {\n getDataLayer,\n serviceIsManager,\n managerLabel,\n expectedManagerPresetId\n };\n}\n\nexport { getManagerDependingVariables };","import { getUserDecision } from \".\";\nimport { getManagerDependingVariables } from \"../apply\";\n\n/**\n * Read the selected groups + services depending on the passed type.\n */\nfunction getServiceSelection({\n decisionCookieName,\n tagManager,\n groups,\n essentialGroupSlug,\n type\n}) {\n let selectedGroups;\n const isManagerActive = tagManager && tagManager !== \"none\";\n const [essentialGroupObj] = groups.filter(({\n slug\n }) => slug === essentialGroupSlug);\n const consentEssentials = {\n [essentialGroupObj.id]: essentialGroupObj.items.map(({\n id\n }) => id)\n }; // Read current consent\n\n if (type === \"consent\") {\n const decision = getUserDecision(decisionCookieName);\n\n if (decision !== false) {\n selectedGroups = decision.consent;\n } else {\n console.warn(\"Something went wrong while reading the cookie, fallback to essentials only...\");\n selectedGroups = consentEssentials;\n }\n }\n\n if (type === \"essentials\") {\n selectedGroups = consentEssentials;\n }\n\n return {\n isManagerActive,\n selectedGroups,\n iterateServices: async function (callback) {\n for (const group of groups) {\n for (const service of group.items) {\n var _selectedGroups$group;\n\n const isOptIn = type === \"all\" || ((_selectedGroups$group = selectedGroups[group.id]) === null || _selectedGroups$group === void 0 ? void 0 : _selectedGroups$group.indexOf(service.id)) > -1;\n const useTagManager = getManagerDependingVariables(tagManager, service.presetId);\n await callback(group, service, isOptIn, useTagManager);\n }\n }\n }\n };\n}\n\nexport { getServiceSelection };","import { applyOptIn, applyOptInOutManager, applyOptOut } from \".\";\nimport { OPT_IN_ALL_EVENT, OPT_OUT_ALL_EVENT } from \"../events\";\nimport { ready } from \"../utils\";\n/**\n * Apply services on frontend. Depending on some other mechanism you can differ\n * between the following \"decision\" types:\n *\n * - `all`: All services are applied (e. g. bots)\n * - `consent`: All services from the current consent (read from cookie)\n *\n * The services are sent in the following way:\n *\n * 1. Apply opt-in scripts (sequentially)\n * 2. If GTM / MTM is active, wait for the data layer\n * a) Push all opt-in events (parallel)\n * b) Wait x seconds to avoid side effects\n * c) Push all opt-out events (parallel)\n * 3. Apply opt-in scripts (sequentially)\n *\n * @param type\n * @see https://www.simoahava.com/analytics/notify-page-google-tag-manager-loaded/\n * @see https://support.google.com/tagmanager/answer/7679219\n * @see https://developer.matomo.org/guides/tagmanager/datalayer\n */\n\nasync function apply(options) {\n // Wait all events are initialized\n await ready(); // Do opt-in\n\n const {\n dataLayerPromise,\n isManagerOptOut,\n services,\n ready: applyOptInReady\n } = await applyOptIn(options); // Wait for manager's dataLayer loaded (can also be none) and do manager's events\n\n const {\n ready: applyOptInOutManagerReady\n } = await applyOptInOutManager(options, await dataLayerPromise, isManagerOptOut);\n const optInAllReady = Promise.all([applyOptInReady, applyOptInOutManagerReady]);\n document.dispatchEvent(new CustomEvent(OPT_IN_ALL_EVENT, {\n detail: {\n services,\n ready: optInAllReady\n }\n })); // Do opt-out\n\n const {\n deleteHttpCookies,\n services: allOptOutServices,\n ready: optOutReady\n } = await applyOptOut(options, isManagerOptOut);\n document.dispatchEvent(new CustomEvent(OPT_OUT_ALL_EVENT, {\n detail: {\n services: allOptOutServices,\n deleteHttpCookies,\n ready: Promise.all([optInAllReady, optOutReady])\n }\n }));\n}\n\nexport { apply };","import { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\nimport { getServiceSelection } from \"../decision\";\nimport { OPT_IN_EVENT } from \"../events\";\n\n/**\n * Opt-in to a set of services.\n */\nasync function applyOptIn(options) {\n const allOptInServices = [];\n const {\n isManagerActive,\n iterateServices\n } = getServiceSelection(options);\n const {\n skipOptIn\n } = options; // Handle managers like GTM and MTM\n\n let isManagerOptOut = false;\n let dataLayerPromise = Promise.resolve(undefined);\n const waitPromises = []; // Handle opt-ins sequentially\n\n await iterateServices(async (group, service, isOptIn, {\n getDataLayer,\n serviceIsManager\n }) => {\n const {\n codeDynamics,\n codeOptIn,\n executeCodeOptInWhenNoTagManagerConsentIsGiven\n } = service;\n const isManager = isManagerActive && serviceIsManager;\n\n if (isOptIn) {\n // Check if the script should explicitly only be loaded if no consent is given to the manager\n const isOnlyWhenNoConsentToManager = isManagerActive && executeCodeOptInWhenNoTagManagerConsentIsGiven;\n const isSkipOptIn = typeof skipOptIn === \"function\" ? skipOptIn(service) : false;\n\n if (!isOnlyWhenNoConsentToManager && !isSkipOptIn) {\n waitPromises.push(putHtmlCodeToDom(codeOptIn, codeDynamics));\n } // If this is a manager, wait for the object to be loaded\n\n /* Silence is golden... Until you have PRO Version! */\n\n\n const summary = {\n group,\n service\n };\n document.dispatchEvent(new CustomEvent(OPT_IN_EVENT, {\n detail: summary\n }));\n allOptInServices.push(summary);\n } else if (isManager) {\n /* Silence is golden... Until you have PRO Version! */\n }\n });\n return {\n isManagerOptOut,\n dataLayerPromise,\n services: allOptInServices,\n ready: Promise.all(waitPromises)\n };\n}\n\nexport { applyOptIn };","import { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\nimport { getServiceSelection } from \"../decision\";\n/**\n * Opt-in and opt-out to a set of services for a given data manager like GTM / MTM.\n */\n\nasync function applyOptInOutManager(options, dataLayer, isManagerOptOut) {\n const waitPromises = [];\n /* onlypro:start */\n\n const {\n isManagerActive,\n iterateServices\n } = getServiceSelection(options); // When there is a manager, let's push all opt-in and opt-out events (parallel)\n\n if (dataLayer) {\n // Opt-in events\n iterateServices((group, service, isOptIn, {\n serviceIsManager\n }) => {\n const event = service.tagManagerOptInEventName;\n\n if (isOptIn && event && !serviceIsManager) {\n dataLayer.push({\n realCookieBannerOptInEvents: {\n [event]: true\n },\n event\n });\n }\n }); // Wait x seconds and apply opt-out events (should we add this to `waitPromises`?! I do not think so)\n\n setTimeout(() => iterateServices((group, service, isOptIn, {\n serviceIsManager\n }) => {\n const event = service.tagManagerOptOutEventName;\n\n if (!isOptIn && event && !serviceIsManager) {\n dataLayer.push({\n realCookieBannerOptOutEvents: {\n [event]: true\n },\n event\n });\n }\n }), 1000);\n } else if (isManagerActive && isManagerOptOut) {\n // The manager got opt out, let's execute scripts that are explicitly only for this case (sequentially)\n await iterateServices(async (group, {\n codeDynamics,\n codeOptIn,\n executeCodeOptInWhenNoTagManagerConsentIsGiven\n }, isOptIn) => {\n if (isOptIn && executeCodeOptInWhenNoTagManagerConsentIsGiven) {\n waitPromises.push(putHtmlCodeToDom(codeOptIn, codeDynamics));\n }\n });\n }\n /* onlypro:false */\n\n\n return {\n ready: Promise.all(waitPromises)\n };\n}\n\nexport { applyOptInOutManager };","import { putHtmlCodeToDom } from \"@devowl-wp/headless-content-unblocker\";\nimport { getServiceSelection } from \"../decision\";\nimport { OPT_OUT_EVENT } from \"../events\";\nimport { deleteCookiesLocally } from \".\";\n/**\n * Opt-in to a set of services for a given data manager like GTM / MTM.\n */\n\nasync function applyOptOut(options, isManagerOptOut) {\n const allOptOutServices = [];\n const {\n isManagerActive,\n iterateServices\n } = getServiceSelection(options);\n const waitPromises = []; // Handle opt-outs sequentially\n\n const deleteHttpCookies = [];\n await iterateServices(async (group, service, isOptIn) => {\n const {\n id,\n codeDynamics,\n codeOptOut,\n deleteTechnicalDefinitionsAfterOptOut,\n isEmbeddingOnlyExternalResources,\n technicalDefinitions,\n executeCodeOptOutWhenNoTagManagerConsentIsGiven\n } = service;\n\n if (!isOptIn) {\n // Check if the script should explicitly only be loaded if no consent is given to the manager\n const isOnlyWhenNoConsentToManager = isManagerActive && executeCodeOptOutWhenNoTagManagerConsentIsGiven;\n\n if (isOnlyWhenNoConsentToManager && isManagerOptOut || !isOnlyWhenNoConsentToManager) {\n waitPromises.push(putHtmlCodeToDom(codeOptOut, codeDynamics));\n }\n\n if (deleteTechnicalDefinitionsAfterOptOut && !isEmbeddingOnlyExternalResources) {\n deleteCookiesLocally(technicalDefinitions, codeDynamics); // Mark deletable server-side services\n\n if (technicalDefinitions.some(({\n type\n }) => type === \"http\")) {\n deleteHttpCookies.push(id);\n }\n }\n\n const summary = {\n group,\n service\n };\n document.dispatchEvent(new CustomEvent(OPT_OUT_EVENT, {\n detail: summary\n }));\n allOptOutServices.push(summary);\n }\n });\n return {\n services: allOptOutServices,\n ready: Promise.all(waitPromises),\n deleteHttpCookies\n };\n}\n\nexport { applyOptOut };","import Cookie from \"js-cookie\";\nimport { applyDynamicsToHtml } from \"@devowl-wp/headless-content-unblocker\";\nimport { regExpPatternFromWildcardName } from \"../utils\";\n/**\n * Delete cookies on client side (currently only `localStorage` and `sessionStorage`).\n */\n\nfunction deleteCookiesLocally(technicalDefinitions, dynamics) {\n for (const {\n type,\n name\n } of technicalDefinitions) {\n // Create valid Regxp pattern\n const pattern = new RegExp(regExpPatternFromWildcardName(applyDynamicsToHtml(name, dynamics)), \"g\");\n\n switch (type) {\n case \"http\":\n {\n for (const key of Object.keys(Cookie.get())) {\n if (pattern.test(key)) {\n Cookie.remove(key);\n }\n }\n\n break;\n }\n\n case \"local\":\n case \"session\":\n {\n try {\n const useStorage = type === \"local\" ? window.localStorage : window.sessionStorage;\n\n if (useStorage) {\n for (const itemName of Object.keys(useStorage)) {\n if (pattern.test(itemName)) {\n try {\n // Fallback to `null` because `removeItem` can have issues on some browsers\n useStorage.setItem(itemName, null);\n } catch (e) {// Silence is golden. A `QuotaExceededError` can be thrown but we ignore it, because we remove the item\n } // Try as long (but max 100 times) until deleted\n\n\n let tries = 0;\n\n while (useStorage.getItem(itemName) && tries < 100) {\n tries++;\n useStorage.removeItem(itemName);\n }\n }\n }\n }\n } catch (e) {\n // Browser does not support localStorage, let's do nothing...\n continue;\n }\n\n break;\n }\n\n default:\n break;\n }\n }\n}\n\nexport { deleteCookiesLocally };","import { apply } from \".\";\nimport { getDefaultDecision, getUserDecision } from \"..\";\n\n/**\n * Main class to manage cookie consents within your application.\n */\nclass CookieConsentManager {\n constructor(options) {\n this.options = void 0;\n this.options = options;\n }\n\n applyCookies(options) {\n return apply({ ...options,\n ...this.options\n });\n }\n\n getUserDecision() {\n return getUserDecision(this.getOption(\"decisionCookieName\"));\n }\n\n getDefaultDecision(respectLegitimateInterests = true) {\n return getDefaultDecision(this.options, respectLegitimateInterests);\n }\n\n getOption(name) {\n return this.options[name];\n }\n\n getOptions() {\n return this.options;\n }\n\n}\n\nexport { CookieConsentManager };","/**\n * Get the default decision and respect essential group and legitimate interests.\n */\nfunction getDefaultDecision({\n groups,\n essentialGroupSlug\n}, respectLegitimateInterests = true) {\n const [essentialGroupObj] = groups.filter(({\n slug\n }) => slug === essentialGroupSlug); // We need always use the current essential group\n\n const result = {\n [essentialGroupObj.id]: essentialGroupObj.items.map(({\n id\n }) => id)\n };\n\n if (respectLegitimateInterests) {\n for (const group of groups) {\n if (group === essentialGroupObj) {\n continue;\n }\n\n const ids = group.items.filter(({\n legalBasis\n }) => legalBasis === \"legitimate-interest\").map(({\n id\n }) => id);\n\n if (ids.length) {\n result[group.id] = ids;\n }\n }\n }\n\n return result;\n}\n\nexport { getDefaultDecision };","import { explode, supportsCookies } from \"../utils\";\nimport Cookie from \"js-cookie\";\n\n/**\n * Get current user decision from the cookie value in a minimal form.\n */\nfunction getUserDecision(cookieName) {\n const cookieValue = Cookie.get(cookieName);\n\n if (!cookieValue) {\n if (!supportsCookies()) {\n // Use our `window` object instead of cookie value\n return window.rcbDisabledCookieComp || false;\n }\n\n return false;\n } // Validate cookie length\n\n\n const split = explode(cookieValue, \":\", 3);\n\n if (split.length !== 3) {\n return false;\n }\n\n const [uuidString, revision] = split;\n const uuids = uuidString.split(\",\");\n const uuid = uuids.shift();\n const consent = JSON.parse(split[2]);\n return {\n uuid,\n previousUuids: uuids,\n revision,\n consent\n };\n}\n\nexport { getUserDecision };","/**\n * A PHP's port of `explode`. `.split` is not similar because it does not join\n * remaining string.\n */\nfunction explode(string, separator, n) {\n const split = string.split(separator);\n if (split.length <= n) return split;\n const out = split.slice(0, n - 1);\n out.push(split.slice(n - 1).join(separator));\n return out;\n}\n\nexport { explode };","/**\n * This event is fired when the user has no consent or invalid consent\n * and the banner gets visible.\n */\nexport const BANNER_PRE_DECISION_SHOW_EVENT = \"RCB/Banner/Show\";","export const OPT_IN_EVENT = \"RCB/OptIn\";","export const OPT_IN_ALL_EVENT = \"RCB/OptIn/All\";","export const OPT_OUT_EVENT = \"RCB/OptOut\";","export const OPT_OUT_ALL_EVENT = \"RCB/OptOut/All\";","const helperCreateResolvablePromise = () => {\n let resolve;\n const promise = new Promise(r => resolve = r);\n return [false, promise, resolve];\n};\n\nconst memorizedReadyStatePromises = {\n loading: helperCreateResolvablePromise(),\n complete: helperCreateResolvablePromise(),\n interactive: helperCreateResolvablePromise()\n};\n/**\n * Instead of checking within our events itself at the time of the event, we memorize the state of resolved and reached\n * ready-states. Why? Some WordPress plugins are modifying the JavaScript execution waterfall (e.g. Delay JS in WP Rocket).\n *\n * @see https://github.com/wp-media/wp-rocket/search?q=readystatechange&type=issues\n * @see https://app.clickup.com/t/2v12m07\n */\n\nconst memorizeReadyState = () => {\n const {\n readyState\n } = document;\n const [reached,, resolve] = memorizedReadyStatePromises[readyState];\n\n if (!reached) {\n memorizedReadyStatePromises[readyState][0] = true;\n resolve(); // Edge case: Already `complete`, but `interactive` was never fulfilled\n\n const [interactiveReached,, interactiveResolve] = memorizedReadyStatePromises.interactive;\n\n if (readyState === \"complete\" && !interactiveReached) {\n memorizedReadyStatePromises.interactive[0] = true;\n interactiveResolve();\n }\n }\n};\n/**\n * Listen to multiple events. Why? See same reason as in `memorizedReadyStatePromises()`.\n */\n\n\nconst LISTEN_TO_EVENTS = [\"readystatechange\", \"rocket-readystatechange\", \"DOMContentLoaded\", \"rocket-DOMContentLoaded\", \"rocket-allScriptsLoaded\"];\n/**\n * Wait DOM is ready depending on a state.\n *\n * - `interactive`: Defer scripts are executing, but DOM is ready\n * - `complete`: All scripts including deferred ones are executed and DOM is ready\n *\n * @see https://stackoverflow.com/a/65430734/5506547\n * @see https://stackoverflow.com/a/51980980/5506547\n */\n\nconst ready = (fn, state = \"complete\") => {\n return new Promise(resolve => {\n let executed = false;\n\n const cb = () => {\n memorizeReadyState();\n\n if ( // Only execute once\n executed || // Ready-state not yet reached\n !memorizedReadyStatePromises[state][0]) {\n return;\n }\n\n executed = true;\n fn === null || fn === void 0 ? void 0 : fn(); // We need to make this promise non-blocking. E.g. on Safari this\n // could lead to issues as the `readystatechange` event listener\n // can be nested (once `interactive`, then waiting `complete`)\n // Imagine, you are using an `await ready` within a `ready(fn)` statement.\n\n setTimeout(resolve, 0);\n };\n\n cb();\n\n for (const event of LISTEN_TO_EVENTS) {\n document.addEventListener(event, cb);\n }\n\n memorizedReadyStatePromises[state][1].then(cb);\n });\n};\n\nexport { ready };","import { pregQuote } from \".\";\n/**\n * Create regular expression pattern from a string like `my_test*` and replace asterisks\n * with `(.*)`.\n */\n\nfunction regExpPatternFromWildcardName(name) {\n const tmp = name.replace(/\\*/g, \"PLEACE_REPLACE_ME_AGAIN\");\n return \"^\".concat(pregQuote(tmp).replace(/PLEACE_REPLACE_ME_AGAIN/g, \"(.*)\"), \"$\");\n}\n\nexport { regExpPatternFromWildcardName };","/**\n * Port of `preg_quote`.\n *\n * @see https://github.com/kvz/locutus/blob/3f14dc5d142f5dcbdf36b4271c21a850a4a259da/src/php/pcre/preg_quote.js#L1\n */\nfunction pregQuote(str, delimiter) {\n // discuss at: https://locutus.io/php/preg_quote/\n // original by: booeyOH\n // improved by: Ates Goral (https://magnetiq.com)\n // improved by: Kevin van Zonneveld (https://kvz.io)\n // improved by: Brett Zamir (https://brett-zamir.me)\n // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman)\n // example 1: preg_quote(\"$40\")\n // returns 1: '\\\\$40'\n // example 2: preg_quote(\"*RRRING* Hello?\")\n // returns 2: '\\\\*RRRING\\\\* Hello\\\\?'\n // example 3: preg_quote(\"\\\\.+*?[^]$(){}=!<>|:\")\n // returns 3: '\\\\\\\\\\\\.\\\\+\\\\*\\\\?\\\\[\\\\^\\\\]\\\\$\\\\(\\\\)\\\\{\\\\}\\\\=\\\\!\\\\<\\\\>\\\\|\\\\:'\n return str.replace(new RegExp(\"[.\\\\\\\\+*?\\\\[\\\\^\\\\]$(){}=!<>|:\\\\\".concat(delimiter || \"\", \"-]\"), \"g\"), \"\\\\$&\");\n}\n\nexport { pregQuote };","import Cookies from \"js-cookie\";\n/**\n * Check if the current environment supports cookies.\n *\n * @see https://git.io/JcXiP\n * @returns\n */\n\nfunction supportsCookies(cookieName = \"test\") {\n try {\n const opts = {\n sameSite: \"Lax\"\n };\n Cookies.set(cookieName, \"1\", opts);\n const result = document.cookie.indexOf(\"\".concat(cookieName, \"=\")) !== -1;\n Cookies.remove(cookieName, opts);\n return result;\n } catch (e) {\n return false;\n }\n}\n\nexport { supportsCookies };","const DYNAMICS_VARIABLE_REGEXP = /{{([A-Za-z0-9_]+)}}/gm;\n/**\n * Takes any string and replaces `{{myVariable}}` with the value of the passed `dynamics` map.\n */\n\nfunction applyDynamicsToHtml(src, dynamics) {\n return src.replace(DYNAMICS_VARIABLE_REGEXP, (fullMatch, variableName) => Object.prototype.hasOwnProperty.call(dynamics, variableName) ? dynamics[variableName] : fullMatch);\n}\n\nexport { applyDynamicsToHtml, DYNAMICS_VARIABLE_REGEXP };","// Also ported to `view/Blocker.php`\nexport const HTML_ATTRIBUTE_CAPTURE_PREFIX = \"consent-original\";\nexport const HTML_ATTRIBUTE_CAPTURE_CLICK_PREFIX = \"consent-click-original\";\nexport const HTML_ATTRIBUTE_CAPTURE_SUFFIX = \"_\";\nexport const HTML_ATTRIBUTE_BY = \"consent-by\"; // TODO: cookie -> required?\n\nexport const HTML_ATTRIBUTE_COOKIE_IDS = \"consent-required\";\nexport const HTML_ATTRIBUTE_VISUAL_PARENT = \"consent-visual-use-parent\";\nexport const HTML_ATTRIBUTE_VISUAL_PAINT_MODE = \"consent-visual-paint-mode\";\nexport const HTML_ATTRIBUTE_INLINE = \"consent-inline\";\nexport const HTML_ATTRIBUTE_INLINE_STYLE = \"consent-inline-style\";\nexport const HTML_ATTRIBUTE_BLOCKER_ID = \"consent-id\";\nexport const HTML_TAG_CONSENT_SCRIPT = \"script\";\nexport const HTML_ATTRIBUTE_BLOCKER_CONNECTED = \"consent-blocker-connected\";\nexport const HTML_ATTRIBUTE_BLOCKER_CONNECTED_PRESERVED = \"consent-blocker-connected-pres\";\nexport const HTML_ATTRIBUTE_UNBLOCKED_TRANSACTION_COMPLETE = \"consent-transaction-complete\";\nexport const HTML_ATTRIBUTE_TRANSFORM_WRAPPER = \"consent-transform-wrapper\";\nexport const HTML_ATTRIBUTE_TRANSFORM_WRAPPER_VALUE = \"1\";\nexport const HTML_ATTRIBUTE_WAS_PREVIOUSLY_STRICT_HIDDEN = \"consent-strict-hidden\";\nexport const HTML_ATTRIBUTE_RESET_PARENT = \"consent-cb-reset-parent\";\nexport const HTML_ATTRIBUTE_RESET_PARENT_VALUE = \"1\";\nexport const HTML_ATTRIBUTE_RESET_PARENT_IS_RATIO_CONTAINER = \"consent-cb-reset-parent-is-ratio\";\nexport const HTML_ATTRIBUTE_GOT_CLICKED = \"consent-got-clicked\";\nexport const HTML_ATTRIBUTE_GOT_CLICKED_VALUE = \"1\";\nexport const HTML_ATTRIBUTE_GOT_CLICKED_VALUE_DO_NOT_USE_IN_NESTED = \"2\";\nexport const HTML_ATTRIBUTE_THUMBNAIL = \"consent-thumbnail\";\nexport const HTML_ATTRIBUTE_THUMBNAIL_SUGGESTION = \"consent-thumbnail-suggestion\";","import postscribe from \"postscribe\";\nimport { applyDynamicsToHtml } from \".\";\nimport { htmlDecode } from \"../utils\";\n/**\n * We do not modify `window.onload` directly, you need to use this variable name.\n */\n\nconst WINDOW_ONLOAD_UNBLOCK_REPLACEMENT = \"rcbInitiatorOnload\";\n/**\n * Put HTML code to the current DOM. `script` tags gets automatically\n * executed instead of pushing to DOM.\n *\n * @see https://github.com/krux/postscribe\n * @see https://stackoverflow.com/a/49724894/5506547\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\nfunction putHtmlCodeToDom(html, dynamics, referenceNode = document.body) {\n return new Promise(resolve => {\n if (html) {\n postscribe(referenceNode, applyDynamicsToHtml(html, dynamics), {\n done: resolve,\n error: e => {\n // We do ignore all errors as we handle like the usual browser\n // E.g. a script blocked by an ad-blocker should not break the execution\n // for upcoming scripts.\n console.error(e);\n },\n beforeWriteToken: token => {\n const {\n attrs,\n booleanAttrs,\n src,\n href,\n content\n } = token; // Probably skip this token? (do not use `disabled` tag as it should still be written to DOM)\n\n if (booleanAttrs !== null && booleanAttrs !== void 0 && booleanAttrs[\"skip-write\"]) {\n return false;\n } // Allow `window.onload` event\n\n\n if (content) {\n token.content = content.replace(/window\\.onload\\s+=/g, \"window.\".concat(WINDOW_ONLOAD_UNBLOCK_REPLACEMENT, \" =\"));\n } // Automatically unescape html entities in all attributes (https://github.com/krux/postscribe/issues/346#issuecomment-310227387)\n\n\n for (const attr in attrs) {\n attrs[attr] = htmlDecode(attrs[attr]); // Allow to skip complete HTML tag when it already got loaded by unique ID (e.g. Google Tag Manager gtag.js)\n\n if (attr === \"unique-write-name\" && document.querySelector(\"[unique-write-name=\\\"\".concat(attrs[attr], \"\\\"]\"))) {\n return false;\n }\n } // Scripts\n\n\n if (src) {\n token.src = htmlDecode(src);\n } // Styles\n\n\n if (href) {\n token.href = htmlDecode(href);\n }\n\n return token;\n }\n });\n } else {\n resolve();\n }\n });\n}\n\nexport { WINDOW_ONLOAD_UNBLOCK_REPLACEMENT, putHtmlCodeToDom };","/**\n * A content - which was blocked - got unblocked.\n */\nexport const OPT_IN_CONTENT_BLOCKER = \"RCB/OptIn/ContentBlocker\";","/**\n * In some cases, the complete layout can be changed and calculations are based on containers width.\n * Imagine: Google Fonts get added and the navigation bar has a button with a calculated width (e.g. BeTheme).\n * Another example: The instagram feed is not loaded / adjusted (masonry), so we need to trigger a resize\n * event manually\n *\n * @param delay\n */\nfunction dispatchResizeEvent(delay = 0) {\n setTimeout(() => {\n try {\n window.dispatchEvent(new Event(\"resize\"));\n } catch (e) {// You are running in IE, it's a UI bug, we can skip...\n }\n }, delay);\n}\n\nexport { dispatchResizeEvent };","import { isUrl } from \".\";\n/**\n * Decode HTML entities in a given string.\n *\n * @see https://stackoverflow.com/a/34064434/5506547\n */\n\nfunction htmlDecode(input) {\n const inputIsUrl = isUrl(input);\n\n if (inputIsUrl) {\n var _doc$querySelector;\n\n // URLs needs to be handled a bit different as e.g. `?regionid` gets parsed to `&#39;ionid=`\n const doc = new DOMParser().parseFromString(\"<a href=\\\"\".concat(input, \"\\\"></a>\"), \"text/html\");\n return (_doc$querySelector = doc.querySelector(\"a\")) === null || _doc$querySelector === void 0 ? void 0 : _doc$querySelector.href;\n } else {\n // Keep XSS protection intact\n const doc = new DOMParser().parseFromString(input, \"text/html\");\n return doc.documentElement.textContent;\n }\n}\n\nexport { htmlDecode };","/**\n * Check if a given string is an URL.\n *\n * @see https://www.w3resource.com/javascript-exercises/javascript-regexp-exercise-9.php\n */\nfunction isUrl(url) {\n const pattern = /^(?:(?:https?|ftp):\\/\\/)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:\\/\\S*)?$/;\n return !!pattern.test(url);\n}\n\nexport { isUrl };","import { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\n/**\n * Port of `jQuery.parents()`.\n */\n\nfunction parents(element, selector) {\n const elements = [];\n let elem = element.parentElement;\n\n while (elem !== null) {\n if (elem.nodeType === Node.ELEMENT_NODE && matchingSelector(elem, selector)) {\n elements.push(elem);\n }\n\n elem = elem.parentElement;\n }\n\n return elements;\n}\n\nexport { parents };","import { useState, useEffect } from \"react\";\n\nconst AsciiSpinner = ({\n ms = 100,\n chars = [\"&#9719;\", \"&#9718;\", \"&#9717;\", \"&#9716;\"]\n}) => {\n const [i, setI] = useState(1);\n useEffect(() => {\n const interval = setInterval(() => {\n setI(i + 1);\n }, ms);\n return () => clearInterval(interval);\n }, [i]);\n return h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: chars[i % 4]\n }\n });\n};\n\nexport { AsciiSpinner };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useMemo } from \"react\"; // eslint-disable-next-line import/no-extraneous-dependencies\n\nimport { renderIconDefinitionToSVGElement } from \"@ant-design/icons-svg/es/helpers\";\n/**\n * Inject a plain SVG icon from `@ant-design/icons-svg`. This reduces the bundle size.\n * You can determine yourself to use `@ant-design/icons` or this helper component. For example,\n * this component is preferred for website bundles where website size matters.\n *\n * @see https://app.clickup.com/t/60pz5t\n */\n\nconst PlainAntdIconAsSvg = ({\n icon,\n ...rest\n}) => {\n const svgString = useMemo(() => renderIconDefinitionToSVGElement(icon, {\n extraSVGAttrs: {\n style: \"width:auto;height:100%;\",\n fill: \"currentColor\"\n }\n }), [icon]);\n return h(\"div\", _extends({}, rest, {\n dangerouslySetInnerHTML: {\n __html: svgString\n }\n }));\n};\n\nexport { PlainAntdIconAsSvg };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { Fragment, useLayoutEffect, useState } from \"react\";\nimport { commonInlineStyleGroupsCheckbox } from \"../../inlineStyles\";\nimport { PlainAntdIconAsSvg } from \"../..\";\nimport { CheckOutlined, MinusOutlined } from \"@ant-design/icons-svg\";\nimport { useBannerOrBlocker } from \"../../hooks\";\n\nconst CommonCheckbox = ({\n hideCheckbox,\n isPartial,\n isChecked,\n isDisabled,\n fontSize,\n onClick,\n children,\n after,\n ...rest\n}) => {\n const CheckboxIcon = isPartial ? MinusOutlined : CheckOutlined;\n const bannerOrBlocker = useBannerOrBlocker();\n const [isRendered, setIsRendered] = useState(false);\n useLayoutEffect(() => {\n setIsRendered(true);\n }, []);\n return h(Fragment, null, !hideCheckbox && h(PlainAntdIconAsSvg, _extends({\n icon: CheckboxIcon,\n onClick: onClick\n }, commonInlineStyleGroupsCheckbox(bannerOrBlocker, isRendered, isChecked, isDisabled, fontSize), rest)), children && h(\"span\", {\n style: {\n verticalAlign: \"middle\",\n cursor: \"pointer\"\n }\n }, h(\"span\", {\n onClick: onClick\n }, children), after));\n};\n\nexport { CommonCheckbox };","import { scaleMobile } from \"../..\";\n\n/**\n * Use `visible` together with `useLayoutEffect` to avoid flickering.\n * This is needed because the SVG icons of ant are a bit flickering.\n */\nfunction commonInlineStyleGroupsCheckbox({\n layout: {\n borderRadius\n },\n group: {\n headlineFontSize,\n checkboxBg,\n checkboxBorderWidth,\n checkboxBorderColor,\n checkboxActiveBg,\n checkboxActiveBorderColor,\n checkboxActiveColor\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}, visible, checked, disabled, fontSize) {\n let useFontSize = fontSize || headlineFontSize;\n useFontSize = pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, useFontSize) : useFontSize;\n const useCheckboxBorderWidth = pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +checkboxBorderWidth) : +checkboxBorderWidth;\n const height = +useFontSize + useCheckboxBorderWidth * 2 + 6;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-checkbox\",\n style: {\n cursor: disabled ? \"not-allowed\" : \"pointer\",\n opacity: disabled ? 0.5 : undefined,\n color: checked ? checkboxActiveColor : checkboxBg,\n display: visible ? \"inline-block\" : \"none\",\n background: checked ? checkboxActiveBg : checkboxBg,\n border: \"\".concat(useCheckboxBorderWidth, \"px solid \").concat(checked ? checkboxActiveBorderColor : checkboxBorderColor),\n padding: 3,\n height,\n width: height,\n marginRight: 10,\n borderRadius: +borderRadius,\n verticalAlign: \"middle\",\n lineHeight: 0,\n boxSizing: \"border-box\"\n }\n };\n}\n\nexport { commonInlineStyleGroupsCheckbox };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { isUrl } from \"@devowl-wp/headless-content-unblocker\";\nimport { useBannerOrBlocker } from \"../../../hooks\";\nimport { commonGroupsInlineStyleLinkMore, commonInlineStyleGroupsCookieProperty } from \"../../../inlineStyles\";\n\nconst CookieProperty = ({\n label,\n value,\n children,\n printValueAs\n}) => {\n const banner = useBannerOrBlocker();\n const {\n i18n: {\n yes,\n no\n }\n } = banner;\n const isValueUrl = typeof value === \"string\" && isUrl(value);\n let useValue = isValueUrl ? h(\"a\", {\n href: value,\n style: {\n wordBreak: \"break-all\",\n ...commonGroupsInlineStyleLinkMore(banner, false).style\n },\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }, value) : typeof value === \"string\" ? h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: value\n }\n }) : value;\n\n if (printValueAs === \"boolean\") {\n useValue = useValue ? yes : no;\n }\n\n return h(\"div\", _extends({\n key: label\n }, commonInlineStyleGroupsCookieProperty(banner)), label && h(\"strong\", null, label, \":\\xA0\"), useValue, !!children && h(\"div\", null, children));\n};\n\nexport { CookieProperty };","import { scaleMobile } from \"../..\";\n\nfunction commonInlineStyleGroupsCookieProperty({\n group: {\n groupBorderWidth,\n groupBorderColor\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n // only used for banner\n pageRequestUuid4\n}) {\n const useGroupBorderWidth = pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, groupBorderWidth) : groupBorderWidth;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-cookie-prop\",\n style: {\n borderLeft: useGroupBorderWidth > 0 ? \"1px solid \".concat(groupBorderColor) : undefined,\n paddingLeft: 15\n }\n };\n}\n\nexport { commonInlineStyleGroupsCookieProperty };","import { Fragment } from \"react\";\nimport { CookieProperty } from \".\";\nimport { useBannerOrBlocker } from \"../../../hooks\";\nimport { applyDynamicsToHtml } from \"@devowl-wp/headless-content-unblocker\";\n\nconst CookiePropertyList = ({\n cookie: {\n purpose,\n provider,\n providerPrivacyPolicyUrl,\n legalBasis,\n ePrivacyUSA,\n isEmbeddingOnlyExternalResources,\n technicalDefinitions,\n codeDynamics\n },\n isEssentialGroup\n}) => {\n const {\n i18n,\n ePrivacyUSA: ePrivacyUSAEnabled\n } = useBannerOrBlocker();\n const types = getCookieTypeLocalizationMap();\n return h(Fragment, null, !!purpose && h(CookieProperty, {\n label: i18n.purpose,\n value: purpose\n }), h(CookieProperty, {\n label: i18n.legalBasis,\n value: legalBasis === \"legal-requirement\" ? i18n.legalRequirement : legalBasis === \"legitimate-interest\" || isEssentialGroup ? i18n.legitimateInterest : i18n.consent\n }), h(CookieProperty, {\n label: i18n.provider,\n value: provider\n }), !!providerPrivacyPolicyUrl && h(CookieProperty, {\n label: i18n.providerPrivacyPolicyUrl,\n value: providerPrivacyPolicyUrl\n }), !!ePrivacyUSAEnabled && h(CookieProperty, {\n label: i18n.ePrivacyUSA,\n value: ePrivacyUSA,\n printValueAs: \"boolean\"\n }), !isEmbeddingOnlyExternalResources && technicalDefinitions.map(({\n type,\n name,\n host,\n duration,\n durationUnit,\n isSessionDuration,\n purpose\n }) => h(CookieProperty, {\n key: name,\n label: i18n.technicalCookieDefinition,\n value: h(\"span\", {\n style: {\n fontFamily: \"monospace\"\n }\n }, applyDynamicsToHtml(name, codeDynamics))\n }, h(CookieProperty, {\n label: i18n.type,\n value: types[type].name\n }), !!purpose && h(CookieProperty, {\n label: i18n.purpose,\n value: purpose\n }), !!host && h(CookieProperty, {\n label: i18n.host,\n value: h(\"span\", {\n style: {\n fontFamily: \"monospace\"\n }\n }, host)\n }), h(CookieProperty, {\n label: i18n.duration,\n value: [\"local\", \"indexedDb\", \"flash\"].indexOf(type) > -1 ? i18n.noExpiration : isSessionDuration || type === \"session\" ? \"Session\" : \"\".concat(duration, \" \").concat(i18n.durationUnit[durationUnit])\n }))));\n};\n\nfunction getCookieTypeLocalizationMap() {\n return {\n http: {\n name: \"HTTP Cookie\",\n abbr: \"HTTP\",\n backgroundColor: \"black\"\n },\n local: {\n name: \"Local Storage\",\n abbr: \"Local\",\n backgroundColor: \"#b3983c\"\n },\n session: {\n name: \"Session Storage\",\n abbr: \"Session\",\n backgroundColor: \"#3c99b3\"\n },\n flash: {\n name: \"Flash Local Shared Object\",\n abbr: \"Flash\",\n backgroundColor: \"#b33c3c\"\n },\n indexedDb: {\n name: \"IndexedDB\",\n abbr: \"I-DB\",\n backgroundColor: \"#4ab33c\"\n }\n };\n}\n\nexport { CookiePropertyList, getCookieTypeLocalizationMap };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useBannerOrBlocker } from \"../../../hooks\";\nimport { commonInlineStyleGroupsCookie } from \"../../..\";\nimport { CommonCheckbox } from \"../..\";\nimport { CookiePropertyList } from \".\";\n\nconst Cookie = ({\n cookie,\n checked,\n disabled,\n onToggleCheck,\n propertyListProps = {}\n}) => {\n const {\n name\n } = cookie;\n const bannerOrBlocker = useBannerOrBlocker();\n const {\n group: {\n descriptionFontSize\n }\n } = bannerOrBlocker;\n return h(\"div\", commonInlineStyleGroupsCookie(bannerOrBlocker), h(\"div\", {\n style: {\n marginBottom: 10\n }\n }, h(CommonCheckbox, {\n isChecked: checked,\n isDisabled: disabled,\n fontSize: descriptionFontSize,\n onClick: onToggleCheck\n }, h(\"strong\", null, name))), h(CookiePropertyList, _extends({\n cookie: cookie\n }, propertyListProps)));\n};\n\nexport { Cookie };","function commonInlineStyleGroupsCookie({\n customCss: {\n antiAdBlocker\n }\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-cookie\",\n style: {\n marginTop: 10\n }\n };\n}\n\nexport { commonInlineStyleGroupsCookie };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { forwardRef } from \"react\";\nimport hintCss from \"hint.css/hint.min.css?inline-raw\";\nimport { usePlainCss } from \"../hooks\";\n/**\n * This is a very basic `hint.css` implementation for a tooltip.\n *\n * @see https://kushagra.dev/lab/hint/\n */\n// eslint-disable-next-line react/display-name\n\nconst Tooltip = /*#__PURE__*/forwardRef(({\n children,\n className,\n title,\n position = \"top\",\n color,\n size = \"large\",\n always,\n rounded,\n noAnimate,\n bounce,\n ...rest\n}, ref) => {\n usePlainCss(hintCss, \"hint-css\", true);\n return h(\"div\", _extends({\n style: {\n position: \"relative\",\n display: \"inline\"\n },\n ref: ref,\n \"aria-label\": title,\n className: \"hint--\".concat(position, \" hint--\").concat(size, \" \").concat(color ? \"hint--\".concat(color) : \"\", \" \").concat(always ? \"hint--always\" : \"\", \" \").concat(rounded ? \"hint--rounded\" : \"\", \" \").concat(noAnimate ? \"hint--no-animate\" : \"\", \" \").concat(bounce ? \"hint--bounce\" : \"\", \" \").concat(className || \"\")\n }, rest), children);\n});\nexport { Tooltip };","import { createContext, useContext } from \"react\";\n\n/**\n * Create a side-effect-free context provider.\n */\nclass BannerContextFactory {\n static Context() {\n return this.context = this.context || /*#__PURE__*/createContext({});\n }\n\n}\n\nBannerContextFactory.context = void 0;\n\nfunction useBanner() {\n return useContext(BannerContextFactory.Context());\n}\n\nexport { BannerContextFactory, useBanner };","import { createContext, useContext } from \"react\";\n\n/**\n * Create a side-effect-free context provider.\n */\nclass BlockerContextFactory {\n static Context() {\n return this.context = this.context || /*#__PURE__*/createContext({});\n }\n\n}\n\nBlockerContextFactory.context = void 0;\n\nfunction useBlocker() {\n return useContext(BlockerContextFactory.Context());\n}\n\nexport { BlockerContextFactory, useBlocker };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useState } from \"react\";\nimport { commonInlineStyleFooterLink, useBannerOrBlocker } from \"../../..\";\n\nconst FooterLink = ({\n children,\n ...anchorRest\n}) => {\n const bannerOrBlocker = useBannerOrBlocker();\n const [isHover, setIsHover] = useState(false);\n return h(\"a\", _extends({\n onMouseEnter: () => setIsHover(true),\n onMouseLeave: () => setIsHover(false)\n }, commonInlineStyleFooterLink(bannerOrBlocker, isHover), anchorRest), children);\n};\n\nexport { FooterLink };","import { scaleMobile } from \"../../scale\";\n\nfunction commonInlineStyleFooterLink({\n footerDesign: {\n fontSize,\n fontColor,\n hoverFontColor,\n fontInheritFamily,\n fontFamily\n },\n design: {\n linkTextDecoration\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n // only used for banner\n pageRequestUuid4\n}, isHover = false) {\n const style = {\n textDecoration: linkTextDecoration,\n fontSize: pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +fontSize) : +fontSize,\n color: isHover ? hoverFontColor : fontColor,\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n padding: \"0 5px\"\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-link\",\n style\n };\n}\n\nexport { commonInlineStyleFooterLink };","import { FooterLink } from \".\";\nimport { Tooltip } from \"../..\";\n\nconst FooterPoweredByLink = ({\n poweredLink,\n affiliate\n}) => {\n return h(FooterLink, {\n href: affiliate ? affiliate.link : poweredLink.href,\n target: poweredLink.target,\n key: \"powered-by\"\n }, h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: poweredLink.innerHTML\n }\n }), affiliate && h(Tooltip, {\n title: affiliate.description,\n position: \"top-left\"\n }, \" \", affiliate.labelBehind));\n};\n\nexport { FooterPoweredByLink };","import { Fragment } from \"react\";\n/**\n * Join together a set of JSX elements with a separator.\n *\n * @see https://stackoverflow.com/q/33577448/5506547\n */\n\nfunction jsxJoin(components, separator) {\n // Just to be sure, remove falsy values so we can add conditionals to the components array\n const filtered = components.filter(Boolean);\n return filtered.length === 0 ? null : filtered.reduce((acc, curr, i) => acc.length ? [...acc, // Wrap the separator in a fragment to avoid `missing key` issues\n h(Fragment, {\n key: i\n }, separator), curr] : [curr], []);\n}\n\nexport { jsxJoin };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useCallback, Fragment } from \"react\";\nimport { useBannerOrBlocker, useLegalLinks } from \"..\";\nimport { FooterLink, FooterPoweredByLink } from \"../../components\";\nimport { jsxJoin } from \"../../utils\";\n\nfunction useCommonFooterLinks({\n onClose,\n putPoweredByLinkInRow,\n row1\n} = {}) {\n const {\n i18n: {\n close\n },\n footerDesign: {\n poweredByLink,\n linkTarget\n },\n poweredLink,\n affiliate\n } = useBannerOrBlocker();\n const {\n linkPrivacyPolicy,\n linkImprint\n } = useLegalLinks();\n const targetAttributes = linkTarget === \"_blank\" ? {\n target: \"_blank\",\n rel: \"noopener\"\n } : {};\n const rows = [// Row 1\n [onClose && h(FooterLink, {\n href: \"#\",\n onClick: onClose,\n key: \"close\"\n }, h(\"strong\", null, close)), ...(row1 || []), linkPrivacyPolicy && h(FooterLink, _extends({\n href: linkPrivacyPolicy.url\n }, targetAttributes, {\n key: \"privacyPolicy\"\n }), linkPrivacyPolicy.label), linkImprint && h(FooterLink, _extends({\n href: linkImprint.url\n }, targetAttributes, {\n key: \"imprint\"\n }), linkImprint.label)].filter(Boolean), // Row 2\n [] // Nothing yet\n ];\n\n if (!!poweredLink && poweredByLink) {\n rows[putPoweredByLinkInRow || 0].push(h(FooterPoweredByLink, {\n key: \"poweredBy\",\n poweredLink: poweredLink,\n affiliate: affiliate\n }));\n }\n\n const render = useCallback(rows => jsxJoin(rows.map(row => row.length ? h(Fragment, {\n key: row[0].key\n }, jsxJoin(row, h(Fragment, null, \" \\u2022 \"))) : null), h(\"br\", null)), []);\n return {\n rows,\n render\n };\n}\n\nexport { useCommonFooterLinks };","import { useBannerOrBlocker, useLegalLinks } from \"..\";\n\nfunction joinWithAndSeparator(arr, andSeparator) {\n if (arr.length > 1) {\n arr.splice(arr.length - 1, 0, \"{{andSeparator}}\");\n }\n\n return arr.join(\", \").replace(/,\\s+{{andSeparator}},\\s+/g, andSeparator);\n}\n/**\n * @see https://gist.github.com/unruthless/413930\n * @see https://stackoverflow.com/a/23630325/5506547\n */\n\n\nconst supWithLineHeightFix = '<sup style=\"vertical-align:top;line-height:100%;position:initial;\">';\n\nfunction useCommonTeachings({\n disableDataProcessingInUnsafeCountries,\n disableAgeNotice,\n disableListServicesNotice\n} = {}) {\n const {\n blocker,\n groups,\n ePrivacyUSA: isEPrivacyUSA,\n ageNotice: isAgeNotice,\n listServicesNotice: isListServicesNotice,\n texts: {\n description,\n ePrivacyUSA,\n ageNoticeBanner,\n listServicesNotice,\n consentForwardingExternalHosts: consentForwardingExternalHostsText\n },\n tcf,\n consentForwardingExternalHosts,\n individualPrivacyOpen,\n individualTexts: {\n description: individualDescription\n },\n essentialGroup,\n i18n: {\n andSeparator,\n tcf: tcfBannerI18n\n },\n keepVariablesInTexts\n } = useBannerOrBlocker();\n const {\n linkPrivacyPolicy\n } = useLegalLinks(); // Description text (combination of configured text and Consent Forwarding)\n\n let consentForwardingExternalHostsFinalText = \"\";\n\n if (consentForwardingExternalHosts && !keepVariablesInTexts) {\n consentForwardingExternalHostsFinalText = consentForwardingExternalHostsText.replace(/{{websites}}/g, consentForwardingExternalHosts.join(\", \"));\n }\n\n let useDescription = [blocker ? blocker.description : individualPrivacyOpen ? individualDescription : description, consentForwardingExternalHostsFinalText].filter(Boolean).join(\" \");\n\n if (!keepVariablesInTexts) {\n // Place policy link into the text https://regex101.com/r/ayeFVy/1\n useDescription = useDescription.replace(/{{privacyPolicy}}(.*){{\\/privacyPolicy}}/g, linkPrivacyPolicy ? \"<a href=\\\"\".concat(linkPrivacyPolicy.url, \"\\\" style=\\\"text-decoration:underline;color:inherit;\\\" onmouseenter=\\\"this.style.textDecoration='none'\\\" onmouseleave=\\\"this.style.textDecoration='underline'\\\" target=\\\"_blank\\\">$1</a>\") : \"$1\");\n } // Teaching: Data processing in unsafe countries (formerly USA ePrivacy)\n\n\n const servicesProcessingUnsafeCountries = groups.map(({\n items\n }) => items.filter(({\n ePrivacyUSA\n }) => ePrivacyUSA)).flat();\n const tcfVendorsProcessingUnsafeCountries = process.env.IS_TCF && tcf ? Object.values(tcf.gvl.vendors).filter(vendor => {\n var _additionalInformatio;\n\n return ((_additionalInformatio = vendor.additionalInformation) === null || _additionalInformatio === void 0 ? void 0 : _additionalInformatio.internationalTransfers) || tcf.original.vendorConfigurations[vendor.id].ePrivacyUSA === 1;\n }) : [];\n let useDataProcessingInUnsafeCountries = !disableDataProcessingInUnsafeCountries && (servicesProcessingUnsafeCountries.length > 0 || tcfVendorsProcessingUnsafeCountries.length > 0) && isEPrivacyUSA ? ePrivacyUSA : \"\"; // Teaching: Age notice\n\n const useAgeNotice = isAgeNotice && !disableAgeNotice ? ageNoticeBanner : \"\"; // Teaching: List services notice\n\n let useListServicesNotice = \"\";\n\n if (isListServicesNotice && !disableListServicesNotice) {\n const hasBothPlaceholders = listServicesNotice.indexOf(\"{{services}}\") > -1 && listServicesNotice.indexOf(\"{{serviceGroups}}\") > -1;\n const nonEssentialGroups = groups.filter(({\n slug\n }) => slug !== essentialGroup);\n const flattenSeparator = \"~;~\";\n const listServicesNames = joinWithAndSeparator(nonEssentialGroups.map(({\n items\n }, groupIdx) => items.map(({\n name,\n ePrivacyUSA\n }) => \"\".concat(name).concat(supWithLineHeightFix).concat([hasBothPlaceholders ? groupIdx + 1 : \"\", useDataProcessingInUnsafeCountries && ePrivacyUSA ? \"U\" : \"\"].filter(Boolean).join(\",\"), \"</sup>\")).join(flattenSeparator)).join(flattenSeparator).split(flattenSeparator), andSeparator);\n\n if (listServicesNames) {\n const listServiceGroupsNames = joinWithAndSeparator(nonEssentialGroups.map(({\n name\n }, groupIdx) => \"\".concat(name).concat(supWithLineHeightFix).concat(hasBothPlaceholders ? groupIdx + 1 : \"\", \"</sup>\")), andSeparator);\n useListServicesNotice = \"<span>\".concat(listServicesNotice, \"</span>\").concat(tcf && !individualPrivacyOpen ? \" <span>\".concat(tcfBannerI18n.listOfServicesAppendix, \"</span>\") : \"\");\n\n if (!keepVariablesInTexts) {\n // Place service list into the text\n useListServicesNotice = useListServicesNotice.replace(/{{services}}/g, listServicesNames) // Place service group list into the text\n .replace(/{{serviceGroups}}/g, listServiceGroupsNames);\n }\n\n if (useDataProcessingInUnsafeCountries) {\n useDataProcessingInUnsafeCountries += \"\".concat(supWithLineHeightFix, \"U</sup>\");\n }\n }\n }\n\n return {\n description: useDescription,\n teachings: [useDataProcessingInUnsafeCountries, useAgeNotice, useListServicesNotice].filter(Boolean)\n };\n}\n\nexport { useCommonTeachings };","import { useBanner, useBlocker } from \"../contexts\";\n\n/**\n * Use one of the available banner or blocker contexts as union typed.\n */\nfunction useBannerOrBlocker() {\n const banner = useBanner();\n const blocker = useBlocker(); // Check for a common context property in an available context as it is never `undefined`\n\n return banner.groups ? banner : blocker;\n}\n\nexport { useBannerOrBlocker };","import { useBannerOrBlocker } from \".\";\n\nfunction useLegalLinks() {\n const {\n legal: {\n privacyPolicy,\n privacyPolicyExternalUrl,\n privacyPolicyIsExternalUrl,\n privacyPolicyLabel,\n imprint,\n imprintExternalUrl,\n imprintIsExternalUrl,\n imprintLabel\n },\n pageByIdUrl\n } = useBannerOrBlocker();\n const pageIdToPermalink = useBannerOrBlocker().pageIdToPermalink || {};\n let linkPrivacyPolicy = privacyPolicy > 0 ? pageIdToPermalink[privacyPolicy] || \"\".concat(pageByIdUrl, \"=\").concat(privacyPolicy) : undefined;\n let linkImprint = imprint > 0 ? pageIdToPermalink[imprint] || \"\".concat(pageByIdUrl, \"=\").concat(imprint) : undefined;\n\n if (privacyPolicyIsExternalUrl) {\n linkPrivacyPolicy = privacyPolicyExternalUrl;\n }\n\n if (imprintIsExternalUrl) {\n linkImprint = imprintExternalUrl;\n }\n\n return {\n linkPrivacyPolicy: privacyPolicyLabel && linkPrivacyPolicy ? {\n url: linkPrivacyPolicy,\n label: privacyPolicyLabel\n } : false,\n linkImprint: imprintLabel && linkImprint ? {\n url: linkImprint,\n label: imprintLabel\n } : false\n };\n}\n\nexport { useLegalLinks };","import { useMemo, useLayoutEffect } from \"react\";\nlet counter = 0;\n/**\n * Dynamically creates a style-tag in your head with a given plain CSS string.\n */\n\nfunction usePlainCss(css, uniqueId, keep) {\n const id = useMemo(() => \"react-use-plain-css-\".concat(uniqueId || (counter++).toString(36)), []);\n useLayoutEffect(() => {\n let element = document.getElementById(id);\n\n if (!element) {\n element = document.createElement(\"style\");\n element.style.type = \"text/css\";\n element.id = id;\n document.getElementsByTagName(\"head\")[0].appendChild(element);\n }\n\n element.innerHTML = css;\n return () => {\n if (!keep) {\n var _element$parentNode;\n\n (_element$parentNode = element.parentNode) === null || _element$parentNode === void 0 ? void 0 : _element$parentNode.removeChild(element);\n }\n };\n }, [css, keep]);\n return id;\n}\n\nexport { usePlainCss };","import { scaleMobile } from \"../../scale\";\n\nfunction commonInlineStyleBodyTeaching({\n bodyDesign: {\n teachingsInheritTextAlign,\n teachingsTextAlign,\n teachingsInheritFontSize,\n teachingsFontSize,\n teachingsInheritFontColor,\n teachingsFontColor\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n // only given for banner\n pageRequestUuid4\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-teachings\",\n style: {\n marginTop: 7,\n display: \"inline-block\",\n textAlign: teachingsInheritTextAlign ? undefined : teachingsTextAlign,\n fontSize: teachingsInheritFontSize ? undefined : pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +teachingsFontSize) : +teachingsFontSize,\n color: teachingsInheritFontColor ? undefined : teachingsFontColor\n }\n };\n}\n\nexport { commonInlineStyleBodyTeaching };","function commonInlineStyleBodyTeachingsSeparator({\n layout: {\n borderRadius\n },\n bodyDesign: {\n teachingsSeparatorActive,\n teachingsSeparatorWidth,\n teachingsSeparatorHeight,\n teachingsSeparatorColor\n },\n customCss: {\n antiAdBlocker\n }\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-teachings-separator\",\n style: {\n marginTop: 7,\n display: \"inline-block\",\n maxWidth: \"100%\",\n borderRadius: +borderRadius,\n width: +teachingsSeparatorWidth,\n height: teachingsSeparatorActive ? +teachingsSeparatorHeight : 0,\n background: teachingsSeparatorColor\n }\n };\n}\n\nexport { commonInlineStyleBodyTeachingsSeparator };","function commonGroupsInlineStyleLinkMore({\n design: {\n linkTextDecoration\n },\n group: {\n linkColor,\n linkHoverColor\n },\n customCss: {\n antiAdBlocker\n }\n}, isHover) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group-more\",\n style: {\n color: isHover ? linkHoverColor : linkColor,\n textDecoration: linkTextDecoration\n }\n };\n}\n\nexport { commonGroupsInlineStyleLinkMore };","import { scaleMobile } from \"../..\";\n\nfunction commonInlineStyleHeaderHeadline({\n headerDesign: {\n fontSize,\n fontColor,\n fontInheritFamily,\n fontFamily,\n fontWeight\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n // only used for banner\n pageRequestUuid4\n}, hasCloseIcon) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-headline\",\n style: {\n color: fontColor,\n lineHeight: 1.8,\n fontSize: pageRequestUuid4 ? scaleMobile(mobile, pageRequestUuid4, +fontSize) : +fontSize,\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n fontWeight,\n paddingRight: hasCloseIcon ? 20 : undefined\n }\n };\n}\n\nexport { commonInlineStyleHeaderHeadline };","const calculateNewVal = (val, scalePercent) => {\n let newVal = val;\n newVal = val / 100 * scalePercent;\n newVal = newVal < 1 ? 1 : newVal;\n return newVal;\n};\n/**\n * Calculate the new value for an inline style value and respect the scaling options.\n */\n\n\nfunction scaleMobile({\n enabled,\n scalePercent,\n scalePercentVertical\n}, useWidthOfThisContainerId, original, replaceWith, additionalVerticalScaling = false) {\n if (process.env.PLUGIN_CTX === \"pro\") {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n return original;\n}\n\nexport { scaleMobile };","import { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\nwindow.rcbPoweredByCacheOuterHTML = \"\";\n/**\n * Get the server-side-rendered powered by link.\n */\n\nfunction getSsrPoweredByLink(id) {\n const originalPoweredLink = document.getElementById(id);\n const poweredLink = document.createElement(\"div\");\n\n if (window.rcbPoweredByCacheOuterHTML) {\n // We have cached the link as we remove it from the DOM\n poweredLink.innerHTML = window.rcbPoweredByCacheOuterHTML;\n } else if (matchingSelector(originalPoweredLink, \"a\") && originalPoweredLink.innerHTML.toLowerCase().indexOf(\"Real Cookie Banner\")) {\n window.rcbPoweredByCacheOuterHTML = originalPoweredLink.outerHTML;\n poweredLink.innerHTML = window.rcbPoweredByCacheOuterHTML;\n originalPoweredLink.parentNode.removeChild(originalPoweredLink);\n }\n\n return poweredLink.children[0];\n}\n\nexport { getSsrPoweredByLink };","function matchingSelector(element, selector) {\n const proto = typeof Element !== \"undefined\" ? Element.prototype : {};\n const nativeFunction = proto.matches || proto.matchesSelector || proto.webkitMatchesSelector || proto.mozMatchesSelector || proto.msMatchesSelector || proto.oMatchesSelector;\n\n if (!element || element.nodeType !== 1 || !element.parentElement) {\n return false;\n }\n\n if (nativeFunction) {\n return nativeFunction.call(element, selector);\n }\n\n const matchingElements = element.parentElement.querySelectorAll(selector);\n\n for (const matchIdx in matchingElements) {\n if (matchingElements[matchIdx] === element) {\n return true;\n }\n }\n\n return false;\n}\n\nexport { matchingSelector };","import { trailingslashit, untrailingslashit } from \"../../helpers\";\nimport { RouteHttpVerb } from \".\";\nimport deepMerge from \"deepmerge\";\nimport qs from \"querystringify\";\nimport Cookie from \"js-cookie\";\nimport sha1 from \"sha-1\";\n\nfunction applyQueryString(url, query, merge) {\n url.search = qs.stringify(merge ? deepMerge.all([qs.parse(url.search), ...query]) : query, true);\n return url;\n}\n/**\n * Build an URL for a specific scheme.\n *\n * @param param0\n */\n\n\nfunction commonUrlBuilder({\n location,\n params = {},\n nonce = true,\n options,\n cookieValueAsParam\n}) {\n const apiUrl = new URL(options.restRoot);\n const query = qs.parse(apiUrl.search);\n const permalinkPath = query.rest_route || apiUrl.pathname; // Determine path from permalink settings\n // Find dynamic parameters from URL bindings (like /user/:id)\n\n const foundParams = [];\n const path = location.path.replace(/:([A-Za-z0-9-_]+)/g, (match, group) => {\n foundParams.push(group);\n return params[group];\n });\n const getParams = {}; // Find undeclared body params (which are not bind above) and add it to GET query\n\n for (const checkParam of Object.keys(params)) {\n if (foundParams.indexOf(checkParam) === -1) {\n getParams[checkParam] = params[checkParam]; // We do not need `encodeURIComponent` as it is supported by `querystringify` already\n }\n } // Calculate invalidator for cookie values\n\n\n if (cookieValueAsParam) {\n getParams._httpCookieInvalidate = sha1(JSON.stringify(cookieValueAsParam.map(Cookie.get)));\n } // Force protocol from parent location\n\n\n apiUrl.protocol = window.location.protocol; // Set path depending on permalink settings\n\n const usePath = trailingslashit(permalinkPath) + untrailingslashit(location.namespace || options.restNamespace) + path;\n\n if (query.rest_route) {\n query.rest_route = usePath; // eslint-disable-line @typescript-eslint/naming-convention\n } else {\n apiUrl.pathname = usePath; // Set path\n } // Append WordPress REST nonce\n\n\n if (nonce && options.restNonce) {\n query._wpnonce = options.restNonce;\n } // Determine if non-GET verbs should always use `POST`\n\n\n applyQueryString(apiUrl, query);\n\n if ([\"wp-json/\", \"rest_route=\"].filter(s => apiUrl.toString().indexOf(s) > -1).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n applyQueryString(apiUrl, [{\n _method: location.method\n }], true);\n } // Build final search\n\n\n applyQueryString(apiUrl, [options.restQuery, getParams], true);\n return apiUrl.toString();\n}\n\nexport { commonUrlBuilder, applyQueryString, qs };","const pool = {};\nconst recreateFetchPool = {};\n/**\n * A REST nonce in WordPress is only valid for 12 hours (can be configured). However, if it gets\n * invalid, the REST endpoints return a `403` error which signals us, we should recreate the nonce.\n * To avoid multiple recreations, we memorize the newly created nonce in a pool.\n */\n\nasync function nonceDeprecationPool(nonce, restRecreateNonceEndpoint) {\n if (typeof restRecreateNonceEndpoint !== \"undefined\") {\n const resultPromise = // Reuse already sent request\n recreateFetchPool[nonce] || new Promise( // eslint-disable-next-line no-async-promise-executor\n async (resolve, reject) => {\n try {\n const recreateFetch = await window.fetch(restRecreateNonceEndpoint);\n\n if (recreateFetch.ok) {\n const newNonce = await recreateFetch.text();\n\n if (nonce === newNonce) {\n reject();\n } else {\n pool[nonce] = newNonce;\n resolve(newNonce);\n }\n } else {\n reject();\n }\n } catch (e) {\n reject();\n }\n });\n recreateFetchPool[nonce] = resultPromise;\n return resultPromise;\n } else {\n if (typeof nonce === \"undefined\") {\n return undefined;\n } // Wait until all nonces are refreshed\n\n\n await Promise.all(Object.values(recreateFetchPool));\n let returnNonce = nonce;\n\n while (pool[returnNonce]) {\n returnNonce = pool[returnNonce];\n\n if (pool[returnNonce] === nonce) {\n break;\n }\n }\n\n return Promise.resolve(returnNonce);\n }\n}\n\nexport { nonceDeprecationPool };","import { RouteHttpVerb } from \".\";\n/**\n * Get the result of the `Response`. It also handles multiline responses, e. g.\n * a PHP `Notice:` message is output through a conflicting plugin:\n *\n * If you are using a verb like `DELETE` or `PUT` the response may be empty and this\n * function will return `undefined`.\n *\n * @see https://developer.mozilla.org/de/docs/Web/HTTP/Methods/DELETE\n */\n\nasync function parseResult(url, result, method) {\n const cloneForFallback = result.clone();\n\n try {\n return await result.json();\n } catch (e) {\n // Something went wrong, try each line as result of a JSON string\n const body = await cloneForFallback.text(); // Respect empty responses for given verbs (DELETE, PUT)\n\n if (body === \"\" && [RouteHttpVerb.DELETE, RouteHttpVerb.PUT].indexOf(method) > -1) {\n return undefined;\n }\n\n console.warn(\"The response of \".concat(url, \" contains unexpected JSON, try to resolve the JSON line by line...\"), {\n body\n });\n let lastError;\n\n for (const line of body.split(\"\\n\")) {\n if (line.startsWith(\"[\") || line.startsWith(\"{\")) {\n try {\n return JSON.parse(line);\n } catch (e) {\n lastError = e;\n }\n }\n }\n\n throw lastError;\n }\n}\n\nexport { parseResult };","import { parseResult, nonceDeprecationPool, applyQueryString, commonUrlBuilder, RouteHttpVerb } from \".\";\nimport deepMerge from \"deepmerge\";\nimport jsonFormData from \"json-form-data\";\nconst CONTENT_TYPE_JSON = \"application/json;charset=utf-8\"; // Fix: Return type of exported function has or is using name 'FormatOptions'\n// from external module \"/home/mg/vscode-workspace/devowl-wp/node_modules/@types/json-form-data/index\" but cannot be named.\n// type MultiPartOptions = Parameters<typeof jsonFormData>[1];\n\n/**\n * Build and execute a specific REST query.\n *\n * @see urlBuilder\n * @returns Result of REST API\n * @throws\n */\nasync function commonRequest({\n location,\n options,\n request: routeRequest,\n params,\n settings = {},\n cookieValueAsParam,\n multipart = false,\n sendRestNonce = true\n}) {\n const url = commonUrlBuilder({\n location,\n params,\n nonce: false,\n options,\n cookieValueAsParam\n }); // Use global parameter (see https://developer.wordpress.org/rest-api/using-the-rest-api/global-parameters/)\n\n if ([\"wp-json/\", \"rest_route=\"].filter(s => url.indexOf(s) > -1).length > 0 && location.method && location.method !== RouteHttpVerb.GET) {\n settings.method = RouteHttpVerb.POST;\n } else {\n settings.method = location.method || RouteHttpVerb.GET;\n } // Request with GET/HEAD method cannot have body\n\n\n const apiUrl = new URL(url);\n const allowBody = [\"HEAD\", \"GET\"].indexOf(settings.method) === -1;\n\n if (!allowBody && routeRequest) {\n applyQueryString(apiUrl, [routeRequest], true);\n }\n\n const apiUrlBuilt = apiUrl.toString(); // Determine body\n\n let body;\n\n if (allowBody) {\n if (multipart) {\n // Let's create a multipart request...\n body = jsonFormData(routeRequest, typeof multipart === \"boolean\" ? {} : multipart);\n } else {\n // It is a usual JSON request, we do not need to send a multipart request\n body = JSON.stringify(routeRequest);\n }\n } // Do the request\n\n\n const restNonce = await nonceDeprecationPool(options.restNonce);\n const hasRestNonce = typeof restNonce !== \"undefined\";\n const init = deepMerge.all([settings, {\n headers: { ...(typeof body === \"string\" ? {\n \"Content-Type\": CONTENT_TYPE_JSON\n } : {}),\n ...(hasRestNonce && sendRestNonce ? {\n \"X-WP-Nonce\": restNonce\n } : {}),\n Accept: \"application/json, */*;q=0.1\"\n }\n }]);\n init.body = body; // Do not make body merge-able\n\n const result = await window.fetch(apiUrlBuilt, init); // `window.fetch` does not throw an error if the server response an error code.\n\n if (!result.ok) {\n let responseJSON = undefined;\n let replay = false;\n\n try {\n responseJSON = await parseResult(apiUrlBuilt, result, location.method); // wordpress.com private site compatibility\n\n /* istanbul ignore if */\n\n if (responseJSON.code === \"private_site\" && result.status === 403 && hasRestNonce && !sendRestNonce) {\n replay = true;\n } // Refresh nonce automatically\n\n /* istanbul ignore if */\n\n\n if (responseJSON.code === \"rest_cookie_invalid_nonce\" && hasRestNonce) {\n const {\n restRecreateNonceEndpoint\n } = options;\n\n try {\n await nonceDeprecationPool(restNonce, restRecreateNonceEndpoint);\n replay = true;\n } catch (e) {// Silence is golden.\n }\n }\n } catch (e) {// Silence is golden.\n }\n\n if (replay) {\n return await commonRequest({\n location,\n options,\n multipart,\n params,\n request: routeRequest,\n sendRestNonce: true,\n settings\n });\n } // Set this request as failing so the endpoint is probably corrupt (see `corruptRestApi.tsx`)\n\n\n settings.method === RouteHttpVerb.GET && (window.detectCorruptRestApiFailed = (window.detectCorruptRestApiFailed || 0) + 1);\n const resultAny = result;\n resultAny.responseJSON = responseJSON;\n throw resultAny;\n }\n\n return parseResult(apiUrlBuilt, result, location.method);\n}\n\nexport { commonRequest };","var RouteHttpVerb;\n\n(function (RouteHttpVerb) {\n RouteHttpVerb[\"GET\"] = \"GET\";\n RouteHttpVerb[\"POST\"] = \"POST\";\n RouteHttpVerb[\"PUT\"] = \"PUT\";\n RouteHttpVerb[\"DELETE\"] = \"DELETE\";\n RouteHttpVerb[\"PATCH\"] = \"PATCH\";\n})(RouteHttpVerb || (RouteHttpVerb = {}));\n\nexport { RouteHttpVerb };","const untrailingslashit = str => str.endsWith(\"/\") || str.endsWith(\"\\\\\") ? untrailingslashit(str.slice(0, -1)) : str;\n\nconst trailingslashit = str => \"\".concat(untrailingslashit(str), \"/\"); // Allows to make an interface extension and make some properties optional (https://git.io/JeK6J)\n\n\n/**\n * You need to manually put the following code snippet in each of your entry points to enable\n * \"on the fly\" public path for chunks:\n *\n * ```\n * __webpack_public_path__ = getWebpackPublicPath(process.env.slug);\n * ```\n *\n * @see https://webpack.js.org/guides/public-path/#on-the-fly\n */\nconst getWebpackPublicPath = slug => {\n const options = window[slug.replace(/-([a-z])/g, g => g[1].toUpperCase())];\n return \"\".concat(options.publicUrl).concat(options.chunkFolder, \"/\");\n};\n\nexport { untrailingslashit, trailingslashit, getWebpackPublicPath };","import { getOtherOptionsFromWindow } from \"../utils\";\nimport { HTML_ATTRIBUTE_COOKIE_IDS, HTML_ATTRIBUTE_BLOCKER_ID, HTML_ATTRIBUTE_BY, OPT_IN_CONTENT_BLOCKER } from \"@devowl-wp/headless-content-unblocker\";\nimport { regExpPatternFromWildcardName } from \"@devowl-wp/cookie-consent-web-client\";\n/**\n * `window.consentApi.unblock`: Check if a given URL / string is blocked by a Content Blocker:\n *\n * - When a Content Blocker exists, the Promise is only resolved after given consent\n * - When no Content Blocker exists, the Promise is immediate resolved\n *\n * Example (ES5):\n * ```js\n * (window.consentApi && window.consentApi.unblock(\"player.vimeo.com\") || Promise.resolve()).then(function() {\n * console.log(\"Consent for Vimeo given, unlock content...!\");\n * });\n * ```\n *\n * Example (ES6, Babel, TS):\n * ```js\n * (window.consentApi?.unblock(\"player.vimeo.com\") || Promise.resolve()).then(() => {\n * console.log(\"Consent for Vimeo given, unlock content...!\");\n * });\n * ```\n *\n * @param url\n * @param ref Create a visual content blocker to a given HTML element\n */\n\nfunction unblock(url, ref = document.createElement(\"div\")) {\n return new Promise(resolve => {\n // Find matching blocker\n let found;\n const {\n blocker\n } = getOtherOptionsFromWindow();\n const isPseudoRef = !ref.parentElement;\n\n loop1: for (const row of blocker) {\n const {\n rules\n } = row; // Check if host matches\n\n for (const rule of rules) {\n const regexp = regExpPatternFromWildcardName(rule);\n\n if (url.match(regexp)) {\n found = row;\n break loop1;\n }\n }\n }\n\n if (found) {\n // Add attributes to DOM element so it can be consumed by `manipulateDom`\n ref.setAttribute(HTML_ATTRIBUTE_BY, \"services\");\n ref.setAttribute(HTML_ATTRIBUTE_COOKIE_IDS, found.services.join(\",\"));\n ref.setAttribute(HTML_ATTRIBUTE_BLOCKER_ID, found.id.toString());\n ref.addEventListener(OPT_IN_CONTENT_BLOCKER, () => {\n isPseudoRef && ref.remove();\n resolve();\n }); // Append blocking element to HTML DOM if not already exists\n\n if (isPseudoRef) {\n document.body.appendChild(ref);\n }\n } else {\n resolve();\n }\n });\n}\n\nexport { unblock };","import { supportsCookies } from \"../utils\";\n/**\n * Does the current browser support cookies?\n */\n\nconst preDecisionGatewaySupportsCookies = async ({\n supportsCookiesName\n}) => {\n return supportsCookies(supportsCookiesName) ? false : \"essentials\";\n};\n\nexport { preDecisionGatewaySupportsCookies };","import isbot from \"isbot\";\n/**\n * Is the current browser a spider / crawler?\n */\n\nfunction isCrawler() {\n const {\n userAgent\n } = navigator;\n\n if (userAgent) {\n // Lighthouse / Google PageSpeed isn't currently a bot (https://git.io/J3r5z)\n if (/chrome-lighthouse/i.test(userAgent)) {\n return false;\n }\n\n return isbot(userAgent);\n }\n\n return false;\n}\n\nexport { isCrawler };","import { getUserDecision } from \"../decision\";\nimport { isCrawler, promiseTimeout } from \"../utils\";\n\n/**\n * Dynamically allow to get a predecision with a extra request to an external API.\n * If your server does not respond within a given timeout or with an error, it automatically\n * continues with the predecisions. Otherwise, the predecision of the response is used.\n */\nconst preDecisionGatewayDynamicRequest = (request, timeout = 10000, active = true) => async ({\n decisionCookieName,\n revisionHash\n}) => {\n if (isCrawler() || !active) {\n // Ignore unnecessary requests\n return false;\n } // Check if revision has changed, and probably access our dynamic predecision again\n\n\n const decision = getUserDecision(decisionCookieName);\n\n if (decision) {\n const {\n revision\n } = decision;\n\n if (revisionHash === revision) {\n // Still the same revision, so we can simply accept our consent as it is still the predecision we had previously\n return \"consent\";\n }\n }\n\n try {\n const {\n predecision\n } = await promiseTimeout(request(), timeout);\n return predecision;\n } catch (e) {\n return false;\n }\n};\n\nexport { preDecisionGatewayDynamicRequest };","/**\n * Let a `Promise` be rejected after a given amount of time.\n */\nfunction promiseTimeout(promise, ms) {\n return new Promise((resolve, reject) => {\n promise.then(resolve, reject);\n const e = new Error(\"Timed out\");\n setTimeout(reject, ms, e);\n });\n}\n\nexport { promiseTimeout };","import { getUserDecision } from \"../decision\";\nimport { isDoNotTrack } from \"../utils\";\n\n/**\n * When the user has \"Do not track\" enabled and is allowed to use, let's automatically\n * save the dialog without any action.\n */\nconst preDecisionGatewayIsDoNotTrack = (active = true) => async ({\n decisionCookieName,\n groups,\n essentialGroupSlug\n}) => {\n const [essentialGroupObj] = groups.filter(({\n slug\n }) => slug === essentialGroupSlug);\n\n if (getUserDecision(decisionCookieName) !== false || !active) {\n return false;\n } // As soon we have a legitimate interest, we need to show the cookie banner\n\n\n for (const group of groups) {\n if (group !== essentialGroupObj) {\n for (const {\n legalBasis\n } of group.items) {\n if (legalBasis === \"legitimate-interest\") {\n return false;\n }\n }\n }\n }\n\n return isDoNotTrack() ? \"dnt\" : false;\n};\n\nexport { preDecisionGatewayIsDoNotTrack };","/**\n * Checks if the given browser is requesting \"Do Not Track\" header.\n *\n * @see https://dev.to/corbindavenport/how-to-correctly-check-for-do-not-track-with-javascript-135d\n */\nfunction isDoNotTrack() {\n try {\n const w = window;\n\n if (w.doNotTrack || w.navigator.doNotTrack || w.navigator.msDoNotTrack || \"msTrackingProtectionEnabled\" in w.external) {\n // The browser supports Do Not Track!\n if (w.doNotTrack == \"1\" || w.navigator.doNotTrack == \"yes\" || w.navigator.doNotTrack == \"1\" || w.navigator.msDoNotTrack == \"1\" || w.external.msTrackingProtectionEnabled()) {\n return true;\n }\n }\n } catch (e) {// Silence is golden.\n }\n\n return false;\n}\n\nexport { isDoNotTrack };","import { getUserDecision } from \"../decision\";\n/**\n * Has the user already consent to the latest requested revision (hash)?\n */\n\nconst preDecisionGatewayUserConsent = async ({\n decisionCookieName,\n revisionHash\n}) => {\n const decision = getUserDecision(decisionCookieName);\n\n if (decision === false) {\n return false;\n }\n\n const {\n revision\n } = decision;\n return revisionHash === revision ? \"consent\" : false;\n};\n\nexport { preDecisionGatewayUserConsent };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestConsentDynamicPredecisionGet = {\n path: \"/consent/dynamic-predecision\",\n method: RouteHttpVerb.POST\n};","/**\n * Checks if the given banner is not visible due to legal settings.\n */\nfunction isHiddenDueLegal(banner) {\n const {\n legal: {\n imprint,\n imprintHide,\n privacyPolicy,\n privacyPolicyHide\n },\n pageId\n } = banner;\n return [imprintHide && +imprint, privacyPolicyHide && +privacyPolicy].filter(Boolean).indexOf(pageId) > -1;\n}\n\nexport { isHiddenDueLegal };","import { useCallback, useMemo } from \"react\";\nimport { BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER } from \"../..\";\n/**\n * Depending on the current screen, calculate the animation to use.\n *\n * Currently, we do not support animations on resize as we cannot calculate the\n * width of the overlay container as it does not exist on first render cycle of React.\n *\n * Drawback if animation only on mobile is enabled: if the window is first a mobile,\n * and the window gets resize it will reuse the animation on desktop again\n */\n\nfunction useBannerAnimation() {\n const clientWidth = useMemo(() => window.innerWidth, []);\n const isMobile = clientWidth < BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER; // Check if it is mobile Firefox, as it does not support `position:sticky;bottom:0;` and animations.\n // Effect: The buttons and footer are not visible.\n\n const isMobileFirefox = useMemo(() => {\n const userAgent = window.navigator.userAgent.toLowerCase();\n return [\"firefox\", \"gecko\", \"mobile\", \"android\"].map(term => userAgent.indexOf(term) > -1).filter(Boolean).length === 4;\n }, []);\n return useCallback(({\n animationIn,\n animationInOnlyMobile,\n animationOut,\n animationOutOnlyMobile\n }) => {\n let useAnimationIn = animationInOnlyMobile ? isMobile ? animationIn : \"none\" : animationIn;\n let useAnimationOut = animationOutOnlyMobile ? isMobile ? animationOut : \"none\" : animationOut;\n\n if (isMobileFirefox) {\n useAnimationIn = \"none\";\n useAnimationOut = \"none\";\n }\n\n return {\n useAnimationIn,\n useAnimationOut\n };\n }, []);\n}\n\nexport { useBannerAnimation };","export const BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER = 700;\nexport * from \"./types\";\nexport * from \"./contexts\";\nexport * from \"./hooks\";\nexport * from \"./inlineStyles\";\nexport * from \"./utils\";\nexport * from \"./components\";\nexport * from \"./others\";","import { createTcfModel } from \"@devowl-wp/cookie-consent-web-client\";\n\nconst cancelEvent = e => {\n if (!e) {\n return;\n }\n\n e.preventDefault(); // Some themes (e.g. AKEA) do have listeners on each link separately and do a custom redirect\n\n e.stopPropagation();\n};\n\nfunction useBannerStateContextCallbacks({\n toggleOverlay,\n revokeConsent\n}) {\n const toggleWithActiveAction = (setContextValue, type) => setContextValue(state => {\n return { ...state,\n activeAction: type,\n individualPrivacyOpen: true,\n refreshSiteAfterSave: type === \"change\" ? 2000 : false,\n ...toggleOverlay(state, true)\n };\n });\n\n return {\n openHistory: (setContextValue, ...args) => {\n toggleWithActiveAction(setContextValue, \"history\");\n cancelEvent(args[0]);\n },\n openBanner: (setContextValue, ...args) => {\n toggleWithActiveAction(setContextValue, \"change\");\n cancelEvent(args[0]);\n },\n revokeConsent: (setContextValue, ...args) => {\n const [successMessage, e] = args;\n setContextValue(state => {\n revokeConsent(state).then(() => {\n successMessage && alert(successMessage); // Always reload (always wait 2s to ensure opt-out scripts are exeucted)\n // Fix iOS / Safari bug when we want to reload the page after a POST request\n\n setTimeout(() => window.location.reload(), 2000);\n }); // Do not change anything\n\n return state;\n });\n cancelEvent(e);\n },\n updateTcfFilterBy: (setContextValue, ...args) => {\n const [newFilter] = args;\n setContextValue(state => ({ ...state,\n tcfFilterBy: newFilter\n }));\n },\n updateIndividualPrivacyOpen: (setContextValue, ...args) => {\n const [opened] = args;\n setContextValue(state => ({ ...state,\n individualPrivacyOpen: opened\n }));\n },\n updateGroupChecked: (setContextValue, ...args) => {\n const [id, checked] = args;\n setContextValue(state => {\n const newConsent = JSON.parse(JSON.stringify(state.consent));\n\n if (checked) {\n newConsent.groups[id] = state.groups.filter(group => group.id === id)[0].items.map(({\n id\n }) => id);\n } else {\n delete newConsent.groups[id];\n }\n\n return { ...state,\n consent: newConsent,\n didGroupFirstChange: true\n };\n });\n },\n updateCookieChecked: (setContextValue, ...args) => {\n const [groupId, id, checked] = args;\n setContextValue(state => {\n const newConsent = JSON.parse(JSON.stringify(state.consent)); // Initially create \"selected\" cookies\n\n if (!newConsent.groups[groupId]) {\n newConsent.groups[groupId] = [];\n }\n\n const cookieIds = newConsent.groups[groupId];\n const indexOf = cookieIds.indexOf(id);\n\n if (checked && indexOf === -1) {\n cookieIds.push(id);\n } else if (!checked && indexOf > -1) {\n cookieIds.splice(indexOf, 1);\n } // Delete group entirely when no cookies selected\n\n\n if (!cookieIds.length) {\n delete newConsent.groups[groupId];\n }\n\n return { ...state,\n consent: newConsent\n };\n });\n },\n onClose: setContextValue => {\n setContextValue(state => {\n return { ...state,\n ...toggleOverlay(state, false),\n // This should be set always by you again as it is one-time\n refreshSiteAfterSave: false\n };\n });\n },\n selectHistoryEntry: (setContextValue, ...args) => {\n const [groups, consentGroups, tcf] = args;\n setContextValue(state => {\n const additionalChanges = {\n // In case we previously used non-TCF functionality, do not show the TCF banner\n isTcf: !!tcf,\n tcf: null\n };\n\n if (process.env.IS_TCF === \"1\" && tcf) {\n Object.assign(additionalChanges, {\n tcf: \"gvl\" in tcf ? tcf : createTcfModel(tcf)\n });\n }\n\n return { ...state,\n groups,\n consent: { ...state.consent,\n groups: consentGroups\n },\n ...additionalChanges\n };\n });\n }\n };\n}\n\nexport { useBannerStateContextCallbacks };","import { useEffect } from \"react\";\nimport { parents } from \"@devowl-wp/headless-content-unblocker\";\nimport { matchingSelector } from \"@devowl-wp/resolve-none-computed-style\";\nimport { useBanner } from \"../..\";\nconst HREF_MATCHER = '[href^=\"#consent-\"]';\n/**\n * Listen to anchor links and execute the banner action:\n *\n * ```\n * #consent-change\n * #consent-history\n * #consent-revoke\n * ```\n */\n\nfunction useBannerActionLinks() {\n const {\n openBanner,\n openHistory,\n revokeConsent\n } = useBanner();\n useEffect(() => {\n const handleType = (type, successMessage, e) => {\n if (!openBanner) {\n // `useBannerActions` is not yet initialized.\n return;\n }\n\n switch (type) {\n case \"change\":\n openBanner(e);\n break;\n\n case \"history\":\n openHistory(e);\n break;\n\n case \"revoke\":\n revokeConsent(successMessage, e);\n break;\n\n default:\n break;\n }\n };\n\n const eventListenerDocumentClick = e => {\n if (!openBanner) {\n // `useBannerActions` is not yet initialized.\n return;\n } // Check if one of the parents has a valid hash link\n\n\n const element = e.target;\n parents(element, HREF_MATCHER).concat(matchingSelector(element, HREF_MATCHER) ? [element] : []).forEach(parent => {\n handleType(parent.getAttribute(\"href\").slice(9), parent.getAttribute(\"data-success-message\"), e);\n }); // @deprecated Old behavior with simple links like `#change`\n\n if (matchingSelector(element, \".rcb-sc-link\")) {\n handleType(element.getAttribute(\"href\").slice(1), element.getAttribute(\"data-success-message\"), e);\n }\n };\n\n const eventListenerHashChange = () => {\n const {\n hash\n } = window.location;\n\n if (hash.startsWith(\"#consent-\")) {\n handleType(hash.substring(9), undefined, undefined);\n }\n };\n\n window.addEventListener(\"hashchange\", eventListenerHashChange);\n document.addEventListener(\"click\", eventListenerDocumentClick, true);\n return () => {\n window.removeEventListener(\"hashchange\", eventListenerHashChange);\n document.removeEventListener(\"click\", eventListenerDocumentClick, true);\n };\n }, [openBanner, openHistory, revokeConsent]);\n}\n\nexport { useBannerActionLinks };","import { useEffect, useState } from \"react\";\n\nfunction useResettableAnimation(animation, duration) {\n const [i, setI] = useState(0);\n const [j, setJ] = useState(0);\n const [stateAnimation, setStateAnimation] = useState(animation);\n const [stateAnimationReset, setStateAnimationReset] = useState(undefined);\n const [stateDuration, setStateDuration] = useState(duration);\n const [stateDurationReset, setStateDurationReset] = useState(undefined); // Reset animation, save it temporary so when changing it, it needs to be to \"none\" and then the needed one\n\n useEffect(() => {\n // Avoid first rendering as the first is animated at mount-time\n if (i > 0) {\n if (animation === \"none\") {\n setStateAnimation(animation);\n } else {\n setStateAnimation(\"none\");\n setStateAnimationReset(animation);\n }\n }\n\n setI(i + 1);\n }, [animation]);\n useEffect(() => {\n // Avoid first rendering as the first is animated at mount-time\n if (j > 0) {\n if (duration === 0) {\n setStateDuration(duration);\n } else {\n setStateDuration(0);\n setStateDurationReset(duration);\n setStateAnimation(\"none\");\n setStateAnimationReset(animation);\n }\n }\n\n setJ(j + 1);\n }, [duration]);\n useEffect(() => {\n if (stateAnimationReset !== undefined) {\n setStateAnimation(stateAnimationReset);\n setStateAnimationReset(undefined);\n }\n }, [stateAnimationReset]);\n useEffect(() => {\n if (stateDurationReset !== undefined) {\n setStateDuration(stateDurationReset);\n setStateDurationReset(undefined);\n }\n }, [stateDurationReset]);\n return [stateAnimation, stateDuration];\n}\n\nexport { useResettableAnimation };","/**\n * @see https://stackoverflow.com/a/5624139/5506547\n * @param hex\n */\nfunction hexToRgb(hex) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n}\n\nexport { hexToRgb };","import { hexToRgb } from \".\";\n\n/**\n * @param hex\n * @param alpha 0 - 100\n */\nfunction calculateRgba(hex, alpha) {\n const {\n r,\n g,\n b\n } = hexToRgb(hex);\n return \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(alpha / 100, \")\");\n}\n\nexport { calculateRgba };","import { useState, useEffect } from \"react\";\n\nfunction getAnimationRelatedState({\n isVisible,\n animationIn,\n animationOut,\n animationInDuration,\n animationOutDuration,\n animationInDelay,\n animationOutDelay\n}) {\n return isVisible ? {\n animation: animationIn,\n duration: animationInDuration,\n delay: animationInDelay\n } : {\n animation: animationOut,\n duration: animationOutDuration,\n delay: animationOutDelay\n };\n}\n/**\n * Ported from https://www.npmjs.com/package/react-animated-css due to high bundle size.\n */\n\n\nconst AnimatedCss = ({\n animateOnMount = true,\n isVisible = true,\n animationIn = \"fadeIn\",\n animationOut = \"fadeOut\",\n animationInDelay = 0,\n animationOutDelay = 0,\n animationInDuration = 1000,\n animationOutDuration = 1000,\n className = \"\",\n style = {},\n children\n}) => {\n const [{\n animation,\n duration,\n delay\n }, setAnimationRelatedState] = useState(animateOnMount ? getAnimationRelatedState({\n isVisible,\n animationIn,\n animationOut,\n animationInDelay,\n animationOutDelay,\n animationInDuration,\n animationOutDuration\n }) : {\n animation: \"\",\n delay: undefined,\n duration: 0\n });\n useEffect(() => {\n setAnimationRelatedState(getAnimationRelatedState({\n isVisible,\n animationIn,\n animationOut,\n animationInDelay,\n animationOutDelay,\n animationInDuration,\n animationOutDuration\n }));\n }, [isVisible, animationIn, animationOut, animationInDelay, animationOutDelay, animationInDuration, animationOutDuration]);\n const classes = \"animate__animated animate__\".concat(animation, \" \").concat(className);\n const backwardStyle = !animation ? {\n opacity: isVisible ? 1 : 0,\n transition: \"opacity \".concat(delay, \"ms\")\n } : {};\n return h(\"div\", {\n className: classes,\n style: {\n animationDelay: \"\".concat(delay, \"ms\"),\n animationDuration: \"\".concat(duration, \"ms\"),\n pointerEvents: isVisible ? \"all\" : \"none\",\n ...style,\n ...backwardStyle\n }\n }, children);\n};\n\nexport { AnimatedCss };","import { useEffect } from \"react\";\nimport { useBanner } from \"../contexts\";\nimport { usePlainCss } from \".\";\n/**\n * Pass an HTML refs and we will provide a root stylesheet with the height dimensions and variables\n * with the calculated height. This is needed as we need to do some positioning of header and footer.\n */\n\nfunction useRenderedHeightsAsCssVars(element, name) {\n const {\n pageRequestUuid4\n } = useBanner(); // We do directly modify the inline CSS as we do not want to trigger a rerender for the complete banner content\n\n const cssId = usePlainCss(\"\", \"useRenderedHeightsAsCssVars-\".concat(name));\n const cssElement = document.getElementById(cssId);\n useEffect(() => {\n let previousHeight = 0;\n\n const recalculate = () => {\n const currentHeight = element.getBoundingClientRect().height;\n\n if (previousHeight !== currentHeight) {\n previousHeight = currentHeight;\n cssElement.innerHTML = \"#\".concat(pageRequestUuid4, \"{--rendered-height-\").concat(name, \": \").concat(Math.floor(currentHeight), \"px;--rendered-height-raw-\").concat(name, \": \").concat(currentHeight, \"px}\");\n }\n };\n\n if (!element) {\n return () => {// Silence is golden.\n };\n } // Support animations\n\n\n const animateContainer = document.querySelector(\"#\".concat(pageRequestUuid4, \" div[class*=\\\"animate__\\\"]\"));\n animateContainer.addEventListener(\"animationend\", recalculate);\n\n if (window.ResizeObserver) {\n const ro = new ResizeObserver(recalculate);\n ro.observe(element);\n return () => {\n ro.disconnect();\n animateContainer.removeEventListener(\"animationend\", recalculate);\n };\n } else {\n const interval = setInterval(recalculate, 150);\n return () => {\n clearInterval(interval);\n animateContainer.removeEventListener(\"animationend\", recalculate);\n };\n }\n }, [element, name]);\n}\n\nexport { useRenderedHeightsAsCssVars };","import { useBanner } from \"../..\";\nimport { useCallback } from \"react\";\n/**\n * Provide callbacks for all the available button types in our cookie banner:\n *\n * - Accept all\n * - Continue without consent (accept essentials)\n * - Save custom choices (no changes to the current selected groups and services)\n * - Change individual privacy preferences\n */\n\nfunction useBannerButtonCallbacks() {\n const {\n individualPrivacyOpen,\n onSave,\n updateGroupChecked,\n updateCookieChecked,\n groups,\n essentialGroup,\n updateIndividualPrivacyOpen,\n activeAction,\n onClose\n } = useBanner();\n const buttonClickedAll = individualPrivacyOpen ? \"ind_all\" : \"main_all\";\n const buttonClickedEssentials = individualPrivacyOpen ? \"ind_essential\" : \"main_essential\";\n const buttonClickedCloseIcon = individualPrivacyOpen ? \"ind_close_icon\" : \"main_close_icon\";\n const buttonClickedCustom = individualPrivacyOpen ? \"ind_custom\" : \"main_custom\";\n const result = {\n buttonClickedAll,\n buttonClickedEssentials,\n buttonClickedCloseIcon,\n buttonClickedCustom,\n acceptAll: useCallback(() => {\n groups.forEach(g => updateGroupChecked(g.id, true));\n onSave(false, buttonClickedAll);\n }, [buttonClickedAll]),\n\n /**\n * This includes the complete \"Essential\" group + legal basis = legitimate interests.\n */\n acceptEssentials: useCallback((isCloseIcon = false) => {\n groups.forEach(({\n slug,\n id,\n items\n }) => {\n if (slug === essentialGroup) {\n updateGroupChecked(id, true);\n } else {\n for (const {\n legalBasis,\n id: cookieId\n } of items) {\n updateCookieChecked(id, cookieId, legalBasis === \"legitimate-interest\");\n }\n }\n });\n onSave(false, isCloseIcon ? buttonClickedCloseIcon : buttonClickedEssentials);\n }, [buttonClickedEssentials]),\n acceptIndividual: useCallback(() => onSave(false, buttonClickedCustom), [buttonClickedCustom]),\n openIndividualPrivacy: useCallback(() => {\n updateIndividualPrivacyOpen(true);\n }, [updateIndividualPrivacyOpen])\n };\n return { ...result,\n closeIcon: useCallback(() => {\n if (!activeAction) {\n // If we do not have yet a consent and it shows the banner for the first time,\n // the close icon is equivalent to \"Continue without consent\"\n result.acceptEssentials(true);\n } else {\n onClose();\n }\n }, [activeAction, onClose, result.acceptEssentials])\n };\n}\n\nexport { useBannerButtonCallbacks };","import { useState, useEffect } from \"react\";\nimport { createPortal } from \"react-dom\";\n/**\n * Portals provide a first-class way to render children into a DOM node that exists outside the DOM hierarchy of the parent component.\n *\n * @see https://reactjs.org/docs/portals.html\n */\n\nconst Portal = ({\n children,\n className,\n tag = \"div\",\n renderInContainer\n}) => {\n const [renderIn] = useState(() => {\n const el = document.createElement(tag);\n className && el.classList.add(className);\n return el;\n }); // Append container to `body`\n\n useEffect(() => {\n document.body.appendChild(renderIn);\n return () => {\n document.body.removeChild(renderIn);\n };\n }, []);\n return /*#__PURE__*/createPortal(children, renderInContainer || renderIn);\n};\n\nexport { Portal };","import { useMemo, useRef, Fragment } from \"react\";\nimport { useRect } from \"@reach/rect\";\nimport { usePlainCss } from \"../hooks\";\nimport { Portal, Tooltip } from \".\";\nlet counter = 0;\n/**\n * A portaled close icon creates a close icon rendered to a given container. This allows\n * you to put the close icon on the top right corner of an `overflow:hidden` container and\n * the tooltip gets rendered correctly.\n */\n\nconst CloseIcon = ({\n width,\n color,\n tooltipText,\n framed,\n renderInContainer,\n tooltipAlways,\n onClick,\n thickness = 1\n}) => {\n const idCloseIconNotPortaled = useMemo(() => \"react-close-icon-\".concat((counter++).toString(36)), []);\n const idCloseIconPortaled = useMemo(() => \"react-close-icon-\".concat((counter++).toString(36)), []);\n /**\n * Why two containers for a simple close icon? I need to explain something technical here.\n * Our complete banner/dialog is tainted with `overflow:hidden` due to flickering effects\n * with animate.css etc. We will now create an invisible element with the placeholder,\n * we will then read its positioning (rect) and generate the visible close icon based on this position.\n */\n\n const idCloseIconPlaceholder = useMemo(() => \"react-close-icon-\".concat((counter++).toString(36)), []);\n const ref = useRef();\n const rect = useRect(ref);\n usePlainCss(\"#\".concat(idCloseIconPlaceholder, \", #\").concat(idCloseIconNotPortaled, \" {\\n position: absolute;\\n top: 50%;\\n right: 0;\\n margin-top: calc(\").concat(width, \"px / 2 * -1);\\n display: block;\\n width: \").concat(width, \"px;\\n height: \").concat(width, \"px; \\n pointer-events: none;\\n}\\n\\n#\").concat(idCloseIconNotPortaled, \" {\\n position: absolute !important;\\n}\\n\\n#\").concat(idCloseIconNotPortaled, \", #\").concat(idCloseIconPortaled, \" {\\n cursor: pointer;\\n pointer-events: all;\\n \").concat(framed ? \"outline: rgb(255, 94, 94) solid 5px;\" : \"\", \"\\n}\\n\\n#\").concat(idCloseIconPortaled, \" {\\n position: fixed !important;\\n \").concat(rect ? \"top: \".concat(rect.y, \"px;left: \").concat(rect.x, \"px;display:block;\") : \"display:none;\", \"\\n width: \").concat(width, \"px;\\n height: \").concat(width, \"px;\\n z-index: 99;\\n}\\n#\").concat(idCloseIconPortaled, \":after, #\").concat(idCloseIconNotPortaled, \":after {\\n width: auto !important;\\n white-space: nowrap !important;\\n}\\n#\").concat(idCloseIconPortaled, \">span:before, #\").concat(idCloseIconPortaled, \">span:after,\\n#\").concat(idCloseIconNotPortaled, \">span:before, #\").concat(idCloseIconNotPortaled, \">span:after {\\n position: absolute;\\n top: 50%;\\n left: 50%;\\n width: \").concat(thickness, \"px;\\n height: \").concat(width, \"px;\\n background-color: \").concat(color, \";\\n transform: rotate(45deg) translate(-50%, -50%);\\n transform-origin: top left;\\n transition: all 420ms;\\n content: '';\\n opacity: 0.5;\\n pointer-events: none;\\n}\\n#\").concat(idCloseIconPortaled, \">span:after,\\n#\").concat(idCloseIconNotPortaled, \">span:after {\\n transform: rotate(-45deg) translate(-50%, -50%);\\n}\\n#\").concat(idCloseIconPortaled, \">span:hover:before, #\").concat(idCloseIconPortaled, \">span:hover:after,\\n#\").concat(idCloseIconNotPortaled, \">span:hover:before, #\").concat(idCloseIconNotPortaled, \">span:hover:after {\\n opacity: 1;\\n width: \").concat(thickness + 1, \"px;\\n}\"));\n return renderInContainer ? h(Fragment, null, h(\"div\", {\n id: idCloseIconPlaceholder,\n ref: ref\n }), (rect === null || rect === void 0 ? void 0 : rect.y) > 0 && h(Portal, {\n renderInContainer: renderInContainer\n }, h(Tooltip, {\n title: tooltipText,\n id: idCloseIconPortaled,\n onClick: onClick,\n position: rect.y > 50 ? \"top-left\" : \"left\",\n always: tooltipAlways\n }, h(\"span\", null)))) : h(Tooltip, {\n title: tooltipText,\n id: idCloseIconNotPortaled,\n onClick: onClick,\n position: \"top-left\",\n always: tooltipAlways\n }, h(\"span\", null));\n};\n\nexport { CloseIcon };","import { useBanner, useBannerButtonCallbacks, scaleMobile, CloseIcon, BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER } from \"../../..\";\n\nconst BannerCloseIcon = () => {\n const {\n headerDesign: {\n fontSize,\n fontColor\n },\n texts: {\n acceptEssentials\n },\n mobile,\n activeAction,\n pageRequestUuid4,\n i18n: {\n close,\n closeWithoutSaving\n },\n buttonClicked = \"\"\n } = useBanner();\n const {\n buttonClickedCloseIcon,\n closeIcon\n } = useBannerButtonCallbacks();\n const container = document.getElementById(pageRequestUuid4);\n return h(CloseIcon, {\n width: scaleMobile(mobile, pageRequestUuid4, fontSize),\n color: fontColor,\n tooltipText: activeAction ? activeAction === \"change\" ? closeWithoutSaving : close : acceptEssentials,\n tooltipAlways: (container === null || container === void 0 ? void 0 : container.clientWidth) < BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER,\n framed: buttonClicked === buttonClickedCloseIcon,\n renderInContainer: container,\n onClick: closeIcon\n });\n};\n\nexport { BannerCloseIcon };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useBanner, bannerHeaderInlineStyleContainer, bannerHeaderInlineStyle, bannerHeaderInlineStyleLogo, commonInlineStyleHeaderHeadline, BannerCloseIcon } from \"../../..\";\nimport { forwardRef } from \"react\"; // eslint-disable-next-line react/display-name\n\nconst BannerHeader = /*#__PURE__*/forwardRef((_, ref) => {\n const banner = useBanner();\n const {\n headerDesign: {\n logo,\n logoRetina\n },\n decision: {\n showCloseIcon\n },\n texts: {\n headline\n },\n activeAction,\n individualPrivacyOpen,\n individualTexts,\n i18n: {\n headerTitlePrivacyPolicyHistory\n }\n } = banner; // Calculate logo\n\n const useRetina = logoRetina && !(logo !== null && logo !== void 0 && logo.endsWith(\".svg\")) && window.devicePixelRatio > 1;\n const useLogo = useRetina ? logoRetina : logo; // Calculate headline\n\n const useHeadline = individualPrivacyOpen ? activeAction === \"history\" ? headerTitlePrivacyPolicyHistory : individualTexts.headline : headline;\n return h(\"div\", _extends({\n ref: ref\n }, bannerHeaderInlineStyleContainer(banner)), h(\"div\", bannerHeaderInlineStyle(banner), !!useLogo && h(\"img\", _extends({\n alt: \"\",\n src: useLogo\n }, bannerHeaderInlineStyleLogo(banner, useRetina))), !!useHeadline && h(\"div\", commonInlineStyleHeaderHeadline(banner, false), useHeadline), (!!showCloseIcon || !!activeAction) && h(BannerCloseIcon, null)));\n});\nexport { BannerHeader };","import { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyleContainer({\n layout: {\n type,\n dialogBorderRadius\n },\n design: {\n borderWidth,\n borderColor,\n ...restDesign\n },\n headerDesign: {\n inheritBg,\n bg,\n padding\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n const useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n const useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n const style = {\n padding: scaleMobile(mobile, pageRequestUuid4, padding, undefined, true).map(p => \"\".concat(p, \"px\")).join(\" \"),\n background: inheritBg ? restDesign.bg : bg,\n borderRadius: useType === \"dialog\" ? \"\".concat(dialogBorderRadius, \"px \").concat(dialogBorderRadius, \"px 0 0\") : undefined,\n position: \"sticky\",\n zIndex: 9,\n top: 0\n };\n\n if (useType === \"dialog\" && useBorderWidth > 0) {\n style.borderTop = \"\".concat(useBorderWidth, \"px solid \").concat(borderColor);\n style.borderLeft = style.borderTop;\n style.borderRight = style.borderTop;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header-container\",\n style\n };\n}\n\nexport { bannerHeaderInlineStyleContainer };","import { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyle({\n layout: {\n type,\n bannerMaxWidth\n },\n design: {\n textAlign\n },\n headerDesign: {\n inheritTextAlign,\n logo,\n logoPosition,\n ...restHeaderDesign\n },\n texts: {\n headline\n },\n individualLayout,\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4,\n individualPrivacyOpen\n}) {\n const useTextAlign = inheritTextAlign ? textAlign : restHeaderDesign.textAlign;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header\",\n style: {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\",\n display: \"flex\",\n justifyContent: useTextAlign === \"center\" ? \"center\" : useTextAlign === \"right\" ? \"flex-end\" : undefined,\n textAlign: useTextAlign,\n alignItems: \"center\",\n position: \"relative\",\n flexDirection: logo && headline ? logoPosition === \"left\" ? \"row\" : logoPosition === \"right\" ? \"row-reverse\" : \"column\" : undefined\n }\n };\n}\n\nexport { bannerHeaderInlineStyle };","import { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyleLogo({\n headerDesign: {\n logoMaxHeight,\n logoMargin,\n logoFitDim,\n logoRetinaFitDim\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}, isRetina) {\n const useFitDim = isRetina ? logoRetinaFitDim : logoFitDim;\n const dimStyle = useFitDim ? {\n width: useFitDim[0],\n height: useFitDim[1]\n } : {\n width: \"auto\",\n height: scaleMobile(mobile, pageRequestUuid4, +logoMaxHeight)\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-logo\",\n style: { ...dimStyle,\n margin: scaleMobile(mobile, pageRequestUuid4, logoMargin).map(m => \"\".concat(m, \"px\")).join(\" \") //[logoPosition === \"left\" ? \"marginRight\" : \"marginLeft\"]: logoPosition === \"above\" ? undefined : 15,\n //marginBottom: logoPosition === \"above\" ? 5 : undefined\n\n }\n };\n}\n\nexport { bannerHeaderInlineStyleLogo };","import { useBanner, bannerGroupsInlineStyleTitle, bannerGroupsInlineStyleDescription } from \"../../..\";\n\nconst BannerGroupSectionTitle = ({\n title,\n children\n}) => {\n const banner = useBanner();\n return h(\"div\", bannerGroupsInlineStyleTitle(banner), title, children && h(\"div\", bannerGroupsInlineStyleDescription(banner), children));\n};\n\nexport { BannerGroupSectionTitle };","import { scaleMobile } from \"../..\";\n\nfunction bannerGroupsInlineStyleTitle({\n group: {\n headlineFontSize,\n headlineFontColor,\n headlineFontWeight\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group\",\n style: {\n color: headlineFontColor,\n fontSize: scaleMobile(mobile, pageRequestUuid4, headlineFontSize),\n fontWeight: headlineFontWeight,\n textAlign: \"left\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyleTitle };","import { scaleMobile } from \"../..\";\n\nfunction bannerGroupsInlineStyleDescription({\n design: {\n fontWeight\n },\n group: {\n descriptionFontColor,\n descriptionFontSize\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group-description\",\n style: {\n color: descriptionFontColor,\n fontSize: scaleMobile(mobile, pageRequestUuid4, +descriptionFontSize),\n fontWeight,\n marginTop: 5\n }\n };\n}\n\nexport { bannerGroupsInlineStyleDescription };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { Fragment, useState } from \"react\";\nimport { commonGroupsInlineStyleLinkMore } from \"../../inlineStyles\";\nimport { useBannerOrBlocker } from \"../../hooks\";\n\nconst CommonLinkMore = ({\n onToggle,\n children,\n showMore,\n hideMore,\n ...rest\n}) => {\n const bannerOrBlocker = useBannerOrBlocker();\n const [isHover, setIsHover] = useState(false);\n const [isOpen, setIsOpen] = useState(false);\n return h(Fragment, null, \"\\xA0\\xA0\\u2022\\xA0\\xA0\", h(\"a\", _extends({\n href: \"#\"\n }, commonGroupsInlineStyleLinkMore(bannerOrBlocker, isHover), {\n onClick: e => {\n const newOpen = !isOpen;\n setIsOpen(newOpen);\n onToggle === null || onToggle === void 0 ? void 0 : onToggle(newOpen);\n e.preventDefault();\n },\n onMouseEnter: () => setIsHover(true),\n onMouseLeave: () => setIsHover(false)\n }, rest), isOpen ? hideMore : showMore), isOpen && children);\n};\n\nexport { CommonLinkMore };","import { useCallback } from \"react\";\nimport { useBanner, Cookie } from \"../../..\";\n\nconst BannerCookie = ({\n group,\n cookie\n}) => {\n var _consent$groups;\n\n const {\n id\n } = cookie;\n const banner = useBanner();\n const {\n consent,\n activeAction,\n essentialGroup\n } = banner;\n const isEssentialGroup = essentialGroup === group.slug;\n const isDisabled = isEssentialGroup || activeAction === \"history\";\n const isChecked = isEssentialGroup || (((_consent$groups = consent.groups) === null || _consent$groups === void 0 ? void 0 : _consent$groups[group.id]) || []).some(c => c === id);\n const handleCheckbox = useCallback(() => !isDisabled && banner.updateCookieChecked(group.id, id, !isChecked), [isDisabled, banner, group, id, isChecked]);\n return h(Cookie, {\n cookie: cookie,\n propertyListProps: {\n isEssentialGroup\n },\n checked: isChecked,\n disabled: isDisabled,\n onToggleCheck: handleCheckbox\n });\n};\n\nexport { BannerCookie };","import { useCallback } from \"react\";\nimport { CommonCheckbox, CommonLinkMore, useBanner, bannerGroupsInlineStyleGroup, BannerGroupSectionTitle, BannerCookie } from \"../../..\";\n\nconst BannerGroup = ({\n group\n}) => {\n var _consent$groups$id;\n\n const banner = useBanner();\n const {\n id,\n slug,\n name,\n description,\n items\n } = group;\n const {\n previewCheckboxActiveState,\n consent,\n activeAction,\n essentialGroup,\n individualTexts: {\n showMore,\n hideMore\n }\n } = banner;\n const isEssentialGroup = essentialGroup === slug;\n const isDisabled = isEssentialGroup || activeAction === \"history\";\n const isChecked = previewCheckboxActiveState || isEssentialGroup || !!consent.groups[id];\n const isPartial = !isEssentialGroup && JSON.stringify(items.map(({\n id\n }) => id).sort()) !== JSON.stringify(((_consent$groups$id = consent.groups[id]) === null || _consent$groups$id === void 0 ? void 0 : _consent$groups$id.sort()) || []);\n const handleCheckbox = useCallback(() => !isDisabled && banner.updateGroupChecked(id, !isChecked), [isDisabled, banner, id, isChecked]);\n return h(\"div\", bannerGroupsInlineStyleGroup(banner), h(BannerGroupSectionTitle, {\n title: h(CommonCheckbox, {\n onClick: handleCheckbox,\n isPartial: isPartial,\n isChecked: isChecked,\n isDisabled: isDisabled\n }, name, \" (\", items.length, \")\")\n }, description, !!items && h(CommonLinkMore, {\n showMore: showMore,\n hideMore: hideMore\n }, items.map(cookie => h(BannerCookie, {\n key: cookie.id,\n group: group,\n cookie: cookie\n })))));\n};\n\nexport { BannerGroup };","import { scaleMobile } from \"../..\";\n\nfunction bannerGroupsInlineStyleGroup({\n group: {\n groupBg,\n groupBorderRadius,\n groupBorderColor,\n groupPadding,\n groupBorderWidth,\n groupInheritBg\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n const useGroupBorderWidth = scaleMobile(mobile, pageRequestUuid4, groupBorderWidth);\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-group\",\n style: {\n background: groupInheritBg ? undefined : groupBg,\n border: useGroupBorderWidth > 0 ? \"\".concat(useGroupBorderWidth, \"px solid \").concat(groupBorderColor) : undefined,\n padding: scaleMobile(mobile, pageRequestUuid4, groupPadding).map(p => \"\".concat(p, \"px\")).join(\" \"),\n borderRadius: +groupBorderRadius,\n textAlign: \"left\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyleGroup };","import { scaleMobile, useBanner, bannerGroupsInlineStyle, BannerGroup } from \"../../..\";\nimport { Fragment } from \"react\";\n\nconst BannerGroupList = () => {\n const banner = useBanner();\n const {\n groups,\n group: {\n groupSpacing\n },\n mobile,\n pageRequestUuid4\n } = banner;\n const useGroups = groups.filter(({\n items\n }) => items.length);\n return h(\"div\", bannerGroupsInlineStyle(banner), useGroups.map((group, index) => h(Fragment, {\n key: group.id\n }, h(BannerGroup, {\n key: group.id,\n group: group\n }), index !== useGroups.length - 1 && h(\"div\", {\n style: {\n height: scaleMobile(mobile, pageRequestUuid4, +groupSpacing)\n }\n }))));\n};\n\nexport { BannerGroupList };","function bannerGroupsInlineStyle({\n customCss: {\n antiAdBlocker\n }\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-groups\",\n style: {\n marginTop: 10,\n clear: \"both\"\n }\n };\n}\n\nexport { bannerGroupsInlineStyle };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { Fragment, useCallback } from \"react\";\nimport { useBanner } from \"../../../contexts\";\nimport { bannerInlineStyleBodyDottedGroupItem, bannerInlineStyleBodyDottedGroupBullet } from \"../../../inlineStyles\";\nimport { CommonCheckbox } from \"../..\";\n\nconst BannerDottedGroup = ({\n group: {\n id,\n slug,\n name\n }\n}) => {\n const banner = useBanner();\n const {\n decision: {\n groupsFirstView\n },\n design: {\n fontSize\n },\n consent,\n essentialGroup\n } = banner;\n const isPro = process.env.PLUGIN_CTX === \"pro\";\n const isEssentialGroup = essentialGroup === slug;\n const isChecked = isEssentialGroup || !!consent.groups[id];\n const handleCheckbox = useCallback(() => isPro && groupsFirstView && !isEssentialGroup && banner.updateGroupChecked(id, !isChecked), [isPro, isEssentialGroup, banner, id, isChecked, groupsFirstView]);\n return h(\"span\", _extends({\n key: name\n }, bannerInlineStyleBodyDottedGroupItem(banner)), h(\"span\", null, isPro && groupsFirstView ? h(CommonCheckbox, {\n onClick: handleCheckbox,\n isChecked: isChecked,\n isDisabled: isEssentialGroup,\n fontSize: fontSize\n }) : h(Fragment, null, h(\"strong\", bannerInlineStyleBodyDottedGroupBullet(banner), \"\\u25CF\"), \"\\xA0\"), h(\"span\", {\n style: {\n verticalAlign: \"middle\",\n cursor: groupsFirstView ? \"pointer\" : undefined\n },\n onClick: handleCheckbox\n }, name)));\n};\n\nexport { BannerDottedGroup };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBodyDottedGroupItem({\n design: {\n fontSize\n },\n bodyDesign: {\n dottedGroupsInheritFontSize,\n dottedGroupsFontSize\n },\n mobile,\n pageRequestUuid4\n}) {\n return {\n className: undefined,\n style: {\n paddingRight: 10,\n fontSize: scaleMobile(mobile, pageRequestUuid4, dottedGroupsInheritFontSize ? +fontSize : +dottedGroupsFontSize),\n whiteSpace: \"nowrap\",\n display: \"inline-block\"\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroupItem };","function bannerInlineStyleBodyDottedGroupBullet({\n bodyDesign: {\n dottedGroupsBulletColor\n }\n}) {\n return {\n className: undefined,\n style: {\n color: dottedGroupsBulletColor\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroupBullet };","import { BannerDottedGroup } from \".\";\nimport { useBanner, bannerInlineStyleBodyDottedGroups } from \"../../..\";\n\nconst BannerDottedGroupList = () => {\n const banner = useBanner();\n const {\n groups,\n decision: {\n showGroups\n }\n } = banner;\n return showGroups ? h(\"div\", bannerInlineStyleBodyDottedGroups(banner), groups.filter(({\n items\n }) => !!items.length).map(group => h(BannerDottedGroup, {\n key: group.id,\n group: group\n }))) : null;\n};\n\nexport { BannerDottedGroupList };","function bannerInlineStyleBodyDottedGroups({\n customCss: {\n antiAdBlocker\n }\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-dotted-groups\",\n style: {\n marginTop: 10,\n lineBreak: \"anywhere\",\n lineHeight: 2\n }\n };\n}\n\nexport { bannerInlineStyleBodyDottedGroups };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useBanner, bannerInlineStyleHistorySelect, bannerInlineStyleHistorySelectOption } from \"../../..\";\nimport { useMemo } from \"react\";\nimport { Fragment, useState, useEffect } from \"react\";\nconst SELECT_NONE = -1;\n\nconst BannerHistorySelect = () => {\n const banner = useBanner();\n const [selectedId, setSelectedId] = useState(SELECT_NONE);\n const {\n activeAction,\n history,\n selectHistoryEntry,\n i18n: {\n historyLabel,\n historySelectNone\n }\n } = banner;\n const selectedHistoryItem = useMemo(() => {\n var _history$filter;\n\n return history === null || history === void 0 ? void 0 : (_history$filter = history.filter(({\n id\n }) => id === selectedId)) === null || _history$filter === void 0 ? void 0 : _history$filter[0];\n }, [selectedId]); // Reset select after exit history dialog\n\n useEffect(() => {\n if (!activeAction) {\n setSelectedId(SELECT_NONE);\n } else if (activeAction === \"history\" && history !== null && history !== void 0 && history.length) {\n setSelectedId(history[0].id);\n }\n }, [activeAction, history]); // History can only contain my data, so we can pick the first entry for the history\n\n const uuid = selectedHistoryItem === null || selectedHistoryItem === void 0 ? void 0 : selectedHistoryItem.uuid;\n const optionStyle = bannerInlineStyleHistorySelectOption(banner);\n return h(Fragment, null, historyLabel, \"\\xA0\", h(\"select\", _extends({}, bannerInlineStyleHistorySelect(banner), {\n disabled: !(history !== null && history !== void 0 && history.length),\n value: selectedId,\n onChange: e => {\n const value = +e.target.value;\n history.forEach(({\n id,\n decision,\n groups,\n tcf\n }) => {\n if (id === value) {\n setSelectedId(id);\n selectHistoryEntry(groups, decision, tcf);\n }\n });\n }\n }), (history === null || history === void 0 ? void 0 : history.length) > 0 ? history.map(({\n id,\n isDoNotTrack,\n isUnblock,\n isForwarded,\n created\n }) => h(\"option\", _extends({\n key: id,\n value: id\n }, optionStyle), new Date(created).toLocaleString(document.documentElement.lang), isDoNotTrack ? \" (Do Not Track)\" : \"\", isUnblock ? \" (Content Blocker)\" : \"\", isForwarded ? \" (Consent Forwarding)\" : \"\")) : h(\"option\", _extends({\n value: SELECT_NONE\n }, optionStyle), historySelectNone)), !!uuid && h(\"div\", {\n style: {\n opacity: 0.5,\n marginTop: 5\n }\n }, \"UUID: \", uuid));\n};\n\nexport { BannerHistorySelect };","function bannerInlineStyleHistorySelectOption({\n design: {\n bg\n }\n}) {\n return {\n className: undefined,\n style: {\n background: bg\n }\n };\n}\n\nexport { bannerInlineStyleHistorySelectOption };","import { calculateRgba } from \"../../../utils\";\nimport { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleHistorySelect({\n design: {\n fontSize,\n fontColor\n },\n bodyDesign: {\n descriptionInheritFontSize,\n descriptionFontSize\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-history-select\",\n style: {\n fontSize: scaleMobile(mobile, pageRequestUuid4, descriptionInheritFontSize ? +fontSize : +descriptionFontSize),\n background: \"transparent\",\n border: 0,\n color: fontColor,\n borderBottom: \"1px solid \".concat(calculateRgba(fontColor, 50))\n }\n };\n}\n\nexport { bannerInlineStyleHistorySelect };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerButtonsInlineStyleCommon({\n name,\n order,\n type,\n borderRadius,\n bg,\n hoverBg,\n fontSize,\n textAlign,\n fontColor,\n fontWeight,\n hoverFontColor,\n borderWidth,\n borderColor,\n hoverBorderColor,\n padding,\n antiAdBlocker,\n pageRequestUuid4\n}, mobile, isHover, framed, isTwoButtonRowLayout) {\n const fullWidth = !isTwoButtonRowLayout || order > 1;\n const marginLeft = isTwoButtonRowLayout && order === 1 ? 5 : 0;\n const marginRight = isTwoButtonRowLayout && order === 0 ? 5 : 0;\n const useBorderWidth = scaleMobile(mobile, pageRequestUuid4, +borderWidth);\n const style = {\n textDecoration: type === \"link\" ? \"underline\" : \"none\",\n borderRadius: +borderRadius,\n cursor: type === \"button\" ? \"pointer\" : undefined,\n backgroundColor: type === \"button\" ? isHover ? hoverBg : bg : undefined,\n fontSize: scaleMobile(mobile, pageRequestUuid4, +fontSize),\n fontWeight,\n color: isHover ? hoverFontColor : fontColor,\n transition: \"background-color 250ms, color 250ms, border-color 250ms\",\n margin: \"0 \".concat(marginRight, \"px \").concat(scaleMobile(mobile, pageRequestUuid4, 10, undefined, true), \"px \").concat(marginLeft, \"px\"),\n border: type === \"button\" && useBorderWidth > 0 ? \"\".concat(useBorderWidth, \"px solid \").concat(isHover ? hoverBorderColor : borderColor) : undefined,\n padding: scaleMobile(mobile, pageRequestUuid4, padding, undefined, type !== \"button\").map(p => \"\".concat(p, \"px\")).join(\" \"),\n overflow: \"hidden\",\n outline: framed ? \"rgb(255, 94, 94) solid 5px\" : undefined,\n flex: fullWidth ? \"1 1 100%\" : \"0 0 calc(50% - \".concat(marginLeft + marginRight, \"px)\"),\n display: \"flex\",\n alignItems: \"center\",\n // text-align is not supported within a `display: flex`\n justifyContent: textAlign === \"right\" ? \"flex-end\" : textAlign === \"center\" ? \"center\" : \"left\",\n textAlign,\n order\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-btn-\".concat(name),\n style\n };\n}\n\nexport { bannerButtonsInlineStyleCommon };","import { bannerButtonsInlineStyleCommon } from \".\";\n\nfunction bannerButtonsInlineStyleAcceptEssentials({\n isTcf,\n decision: {\n acceptEssentials\n },\n layout: {\n borderRadius\n },\n bodyDesign: {\n acceptEssentialsFontSize,\n acceptEssentialsBg,\n acceptEssentialsTextAlign,\n acceptEssentialsBorderColor,\n acceptEssentialsPadding,\n acceptEssentialsBorderWidth,\n acceptEssentialsFontColor,\n acceptEssentialsFontWeight,\n acceptEssentialsHoverBg,\n acceptEssentialsHoverFontColor,\n acceptEssentialsHoverBorderColor,\n // For two-button row layout use all dimensional properties from \"Accept all\"\n // For TCF use font size and font weight from \"Accept all\"\n acceptAllFontWeight,\n acceptAllFontSize,\n acceptAllPadding\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}, isHover, framed, order, isTwoButtonRowLayout) {\n return bannerButtonsInlineStyleCommon({\n name: \"accept-essentials\",\n order,\n type: acceptEssentials,\n borderRadius,\n bg: acceptEssentialsBg,\n hoverBg: acceptEssentialsHoverBg,\n fontSize: isTwoButtonRowLayout || isTcf ? acceptAllFontSize : acceptEssentialsFontSize,\n textAlign: acceptEssentialsTextAlign,\n fontColor: acceptEssentialsFontColor,\n fontWeight: isTcf ? acceptAllFontWeight : acceptEssentialsFontWeight,\n hoverFontColor: acceptEssentialsHoverFontColor,\n borderWidth: acceptEssentialsBorderWidth,\n borderColor: acceptEssentialsBorderColor,\n hoverBorderColor: acceptEssentialsHoverBorderColor,\n padding: isTwoButtonRowLayout ? acceptAllPadding : acceptEssentialsPadding,\n antiAdBlocker,\n pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleAcceptEssentials };","import { bannerButtonsInlineStyleCommon } from \".\";\n\nfunction bannerButtonsInlineStyleAcceptIndividual({\n decision: {\n acceptIndividual\n },\n layout: {\n borderRadius\n },\n bodyDesign: {\n acceptIndividualFontSize,\n acceptIndividualBg,\n acceptIndividualTextAlign,\n acceptIndividualBorderColor,\n acceptIndividualPadding,\n acceptIndividualBorderWidth,\n acceptIndividualFontColor,\n acceptIndividualFontWeight,\n acceptIndividualHoverBg,\n acceptIndividualHoverFontColor,\n acceptIndividualHoverBorderColor\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}, isHover, framed, order, isTwoButtonRowLayout) {\n return bannerButtonsInlineStyleCommon({\n name: \"accept-individual\",\n order,\n type: acceptIndividual,\n borderRadius,\n bg: acceptIndividualBg,\n hoverBg: acceptIndividualHoverBg,\n fontSize: acceptIndividualFontSize,\n textAlign: acceptIndividualTextAlign,\n fontColor: acceptIndividualFontColor,\n fontWeight: acceptIndividualFontWeight,\n hoverFontColor: acceptIndividualHoverFontColor,\n borderWidth: acceptIndividualBorderWidth,\n borderColor: acceptIndividualBorderColor,\n hoverBorderColor: acceptIndividualHoverBorderColor,\n padding: acceptIndividualPadding,\n antiAdBlocker,\n pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleAcceptIndividual };","import { bannerButtonsInlineStyleCommon } from \"./\";\n\nfunction bannerButtonsInlineStyleSave({\n isTcf,\n layout: {\n borderRadius\n },\n bodyDesign: {\n // For TCF use font size and font weight from \"Accept all\"\n acceptAllFontWeight,\n acceptAllFontSize\n },\n saveButton: {\n type,\n fontSize,\n bg,\n textAlign,\n borderColor,\n padding,\n borderWidth,\n fontColor,\n fontWeight,\n hoverBg,\n hoverFontColor,\n hoverBorderColor\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}, isHover, framed, order, isTwoButtonRowLayout) {\n return bannerButtonsInlineStyleCommon({\n name: \"accept-individual-save\",\n order,\n type,\n borderRadius,\n bg,\n hoverBg,\n fontSize: isTcf ? acceptAllFontSize : fontSize,\n textAlign,\n fontColor,\n fontWeight: isTcf ? acceptAllFontWeight : fontWeight,\n hoverFontColor,\n borderWidth: borderWidth,\n borderColor,\n hoverBorderColor,\n padding,\n antiAdBlocker,\n pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleSave };","import { bannerButtonsInlineStyleCommon } from \".\";\n\nfunction bannerButtonsInlineStyleAcceptAll({\n decision: {\n acceptAll\n },\n layout: {\n borderRadius\n },\n bodyDesign: {\n acceptAllFontSize,\n acceptAllBg,\n acceptAllTextAlign,\n acceptAllBorderColor,\n acceptAllPadding,\n acceptAllBorderWidth,\n acceptAllFontColor,\n acceptAllFontWeight,\n acceptAllHoverBg,\n acceptAllHoverFontColor,\n acceptAllHoverBorderColor\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}, isHover, framed, order, isTwoButtonRowLayout) {\n return bannerButtonsInlineStyleCommon({\n name: \"accept-all\",\n order,\n type: acceptAll,\n borderRadius,\n bg: acceptAllBg,\n hoverBg: acceptAllHoverBg,\n fontSize: acceptAllFontSize,\n textAlign: acceptAllTextAlign,\n fontColor: acceptAllFontColor,\n fontWeight: acceptAllFontWeight,\n hoverFontColor: acceptAllHoverFontColor,\n borderWidth: acceptAllBorderWidth,\n borderColor: acceptAllBorderColor,\n hoverBorderColor: acceptAllHoverBorderColor,\n padding: acceptAllPadding,\n antiAdBlocker,\n pageRequestUuid4\n }, mobile, isHover, framed, isTwoButtonRowLayout);\n}\n\nexport { bannerButtonsInlineStyleAcceptAll };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useCallback } from \"react\";\nimport { useState, useMemo } from \"react\";\nimport { isIE, AsciiSpinner, useBanner, bannerButtonsInlineStyleAcceptAll, bannerButtonsInlineStyleAcceptEssentials, bannerButtonsInlineStyleAcceptIndividual, bannerButtonsInlineStyleSave } from \"../../../..\";\n\nconst BannerButton = ({\n inlineStyle,\n type,\n onClick,\n children,\n framed,\n busyOnClick,\n order\n}) => {\n if (type === \"hide\") {\n return null;\n }\n\n const [isBusy, setIsBusy] = useState(false);\n const handleOnClick = useCallback(() => {\n if (!isBusy) {\n busyOnClick && setIsBusy(true);\n onClick === null || onClick === void 0 ? void 0 : onClick();\n }\n }, [onClick, isBusy, busyOnClick]);\n const [isHover, setIsHover] = useState(false);\n const banner = useBanner();\n const {\n individualPrivacyOpen,\n decision: {\n acceptAll,\n acceptEssentials\n },\n bodyDesign: {\n acceptAllOneRowLayout,\n acceptEssentialsUseAcceptAll\n }\n } = banner;\n const useAcceptEssentials = acceptEssentialsUseAcceptAll ? acceptAll : acceptEssentials;\n const interactionAttr = {\n onClick: handleOnClick,\n onMouseEnter: () => setIsHover(true),\n onMouseLeave: () => setIsHover(false),\n style: {\n cursor: \"pointer\"\n }\n };\n const useStyleFn = useMemo(() => {\n switch (inlineStyle) {\n case \"acceptEssentials\":\n return bannerButtonsInlineStyleAcceptEssentials;\n\n case \"acceptIndividual\":\n return bannerButtonsInlineStyleAcceptIndividual;\n\n case \"save\":\n return bannerButtonsInlineStyleSave;\n\n default:\n return bannerButtonsInlineStyleAcceptAll;\n }\n }, [inlineStyle]); // Also create a spacing `height:10` container because `marginBottom` causes issues with `position:sticky`\n\n return h(\"div\", _extends({}, type === \"button\" ? interactionAttr : {}, useStyleFn(banner, isHover, framed, order, // IE does not support flex with calc()\n isIE() || acceptAll === \"hide\" || useAcceptEssentials === \"hide\" || individualPrivacyOpen || order > 1 ? false : acceptAllOneRowLayout)), h(\"span\", type === \"link\" ? interactionAttr : {}, isBusy ? h(AsciiSpinner, null) : children));\n};\n\nexport { BannerButton };","function isIE() {\n return /MSIE (\\d+\\.\\d+);/.test(navigator.userAgent) || navigator.userAgent.indexOf(\"Trident/\") > -1;\n}\n\nexport { isIE };","import { Fragment, useMemo } from \"react\";\nimport { useBanner, useBannerButtonCallbacks, BannerButton } from \"../../..\";\n\nconst BannerButtonList = () => {\n const banner = useBanner();\n const {\n activeAction,\n bodyDesign: {\n acceptEssentialsUseAcceptAll,\n acceptAllOneRowLayout\n },\n decision: {\n showGroups,\n groupsFirstView,\n saveButton,\n acceptAll,\n acceptEssentials,\n acceptIndividual,\n buttonOrder: buttonOrderString\n },\n texts: {\n acceptAll: acceptAllText,\n acceptEssentials: acceptEssentialsText,\n acceptIndividual: acceptIndividualText\n },\n saveButton: {\n type: saveButtonType,\n useAcceptAll: saveButtonUseAcceptAll\n },\n individualTexts: {\n save\n },\n individualPrivacyOpen,\n didGroupFirstChange,\n productionNotice,\n buttonClicked = \"\"\n } = banner; // Calculate order of the buttons depending on a string like `all,essential,save,individual`\n\n const {\n all: buttonOrderAll,\n essential: buttonOrderEssential,\n individual: buttonOrderIndividual,\n save: buttonOrderSave\n } = useMemo(() => {\n const buttonOrder = buttonOrderString.split(\",\");\n const buttonToOrder = buttonOrder.reduce((previous, curr) => {\n previous[curr] = buttonOrder.indexOf(curr);\n return previous;\n }, {});\n const orderToButton = buttonOrder.reduce((previous, curr) => {\n previous[buttonOrder.indexOf(curr)] = curr;\n return previous;\n }, {}); // If one-row layout is enabled, reverse the first two orders so the first button gets moved to the right\n\n if (acceptAllOneRowLayout) {\n buttonToOrder[orderToButton[0]] = 1;\n buttonToOrder[orderToButton[1]] = 0;\n }\n\n return buttonToOrder;\n }, [buttonOrderString, acceptAllOneRowLayout]);\n const isPro = process.env.PLUGIN_CTX === \"pro\";\n const {\n buttonClickedAll,\n buttonClickedEssentials,\n buttonClickedCustom,\n acceptAll: handleAll,\n acceptEssentials: handleEssentials,\n acceptIndividual: handleIndividual,\n openIndividualPrivacy\n } = useBannerButtonCallbacks(); // We expect a reload of the page for the \"change\" action (keeps also dialog open)\n\n const busyOnClick = activeAction === \"change\";\n const groupsFirstViewEnabled = showGroups && groupsFirstView;\n return h(Fragment, null, !individualPrivacyOpen && isPro && groupsFirstViewEnabled && saveButton === \"afterChangeAll\" && didGroupFirstChange ? h(BannerButton, {\n onClick: handleIndividual,\n type: acceptAll,\n inlineStyle: \"acceptAll\",\n framed: buttonClicked === buttonClickedCustom,\n busyOnClick: busyOnClick,\n order: buttonOrderAll\n }, save) : h(BannerButton, {\n onClick: handleAll,\n type: acceptAll,\n inlineStyle: \"acceptAll\",\n framed: buttonClicked === buttonClickedAll,\n busyOnClick: busyOnClick,\n order: buttonOrderAll\n }, acceptAllText), activeAction !== \"change\" && h(BannerButton, {\n onClick: handleEssentials,\n type: acceptEssentialsUseAcceptAll ? acceptAll : acceptEssentials,\n inlineStyle: acceptEssentialsUseAcceptAll ? \"acceptAll\" : \"acceptEssentials\",\n framed: buttonClicked === buttonClickedEssentials,\n busyOnClick: busyOnClick,\n order: buttonOrderEssential\n }, acceptEssentialsText), (individualPrivacyOpen || isPro && groupsFirstViewEnabled && (saveButton === \"always\" || saveButton === \"afterChange\" && didGroupFirstChange)) && h(BannerButton, {\n onClick: handleIndividual,\n type: saveButtonUseAcceptAll ? acceptAll : saveButtonType,\n inlineStyle: saveButtonUseAcceptAll ? \"acceptAll\" : \"save\",\n framed: buttonClicked === buttonClickedCustom,\n busyOnClick: busyOnClick,\n order: buttonOrderSave\n }, save), !individualPrivacyOpen && h(BannerButton, {\n type: acceptIndividual,\n onClick: openIndividualPrivacy,\n inlineStyle: \"acceptIndividual\",\n framed: buttonClicked.startsWith(\"ind_\"),\n busyOnClick: busyOnClick,\n order: buttonOrderIndividual\n }, acceptIndividualText), productionNotice);\n};\n\nexport { BannerButtonList };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useBanner, BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER, usePlainCss, scaleMobile, bannerInlineStylesRightSide, bannerInlineStylesLeftSide, bannerInlineStyleBody, bannerInlineStyleBodyContainer, bannerInlineStyleBodyDescription, commonInlineStyleBodyTeaching, commonInlineStyleBodyTeachingsSeparator, BannerDottedGroupList, BannerTcfStackList, BannerGroupList, BannerTcfGroupList, BannerButtonList, BannerHistorySelect, useCommonTeachings } from \"../../..\";\nimport { useMemo, Fragment } from \"react\";\n\nconst BannerBody = ({\n leftSideContainerRef,\n rightSideContainerRef\n}) => {\n var _document$getElementB;\n\n const banner = useBanner();\n const {\n layout: {\n type\n },\n mobile,\n bodyDesign: {\n teachingsSeparatorActive\n },\n tcf,\n individualPrivacyOpen,\n activeAction,\n pageRequestUuid4\n } = banner;\n const {\n description,\n teachings\n } = useCommonTeachings(); // Make the content responsive\n\n const leftSideId = \"bnnr-body-leftSide-\".concat(pageRequestUuid4);\n const rightSideId = \"bnnr-body-rightSide-\".concat(pageRequestUuid4);\n const contentId = \"cntnt-\".concat(pageRequestUuid4);\n usePlainCss(\" #\".concat(leftSideId, \" img {\\n max-width: 100%;\\n height: auto;\\n}\\n\\n\").concat(((_document$getElementB = document.getElementById(pageRequestUuid4)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.clientWidth) > BANNER_SCALING_WHEN_WINDOW_WIDTH_LOWER ? \"\" : \"#\".concat(leftSideId, \" {\\n float: initial !important;\\n width: auto !important;\\n padding-right: initial !important;\\n \").concat(scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" && !individualPrivacyOpen ? \"padding-bottom: 10px !important;\" : individualPrivacyOpen ? \"padding-top: 10px !important;\" : \"\", \"\\n }\\n\\n #\").concat(contentId, \" {\\n min-height: calc(var(--rendered-height-header) + var(--rendered-height-footer) + var(--rendered-height-rightSideContainer) + 60px);\\n }\\n \\n #\").concat(rightSideId, \" {\\n float: initial !important;\\n width: auto !important;\\n max-width: initial !important;\\n margin: initial !important;\\n \").concat(individualPrivacyOpen ? \"padding-bottom: 5px !important;\" : \"padding-top: 10px !important;\", \"\\n position: sticky;\\n }\"))); // Calculate the body content depending on TCF availability and if second view got opened\n\n const stackOrGroups = useMemo(() => {\n if (process.env.IS_TCF === \"1\" && tcf) {\n return individualPrivacyOpen ? h(BannerTcfGroupList, null) : h(BannerTcfStackList, null);\n } else {\n return individualPrivacyOpen ? h(BannerGroupList, null) : h(BannerDottedGroupList, null);\n }\n }, [individualPrivacyOpen, tcf]);\n const leftSide = h(\"div\", _extends({\n ref: leftSideContainerRef,\n key: \"leftSide\",\n id: leftSideId\n }, bannerInlineStylesLeftSide(banner)), h(\"div\", bannerInlineStyleBodyDescription(banner), activeAction === \"history\" ? h(BannerHistorySelect, null) : h(Fragment, null, h(\"span\", {\n dangerouslySetInnerHTML: {\n __html: description\n }\n }), teachings.length > 0 && h(Fragment, null, teachingsSeparatorActive && h(\"div\", null, h(\"span\", commonInlineStyleBodyTeachingsSeparator(banner))), teachings.map(teaching => h(\"span\", _extends({\n key: teaching\n }, commonInlineStyleBodyTeaching(banner), {\n dangerouslySetInnerHTML: {\n __html: teaching\n }\n })))))), stackOrGroups);\n const rightSide = activeAction === \"history\" ? h(\"div\", {\n ref: rightSideContainerRef\n }) : h(\"div\", _extends({\n ref: rightSideContainerRef,\n key: \"rightSide\",\n id: rightSideId\n }, bannerInlineStylesRightSide(banner)), h(BannerButtonList, null));\n return h(\"div\", bannerInlineStyleBodyContainer(banner), h(\"div\", bannerInlineStyleBody(banner), individualPrivacyOpen ? [rightSide, leftSide] : [leftSide, rightSide], h(\"div\", {\n style: {\n clear: \"both\"\n }\n })));\n};\n\nexport { BannerBody };","import { scaleMobile } from \"../../scale\";\nconst BUTTONS_WIDTH = 300;\n\nfunction bannerInlineStylesLeftSide({\n layout: {\n type\n },\n bodyDesign: {\n padding\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n individualPrivacyOpen,\n activeAction,\n pageRequestUuid4\n}) {\n const useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n const usePadding = scaleMobile(mobile, pageRequestUuid4, padding);\n const style = {\n float: useType === \"banner\" && activeAction !== \"history\" ? \"left\" : undefined,\n width: useType === \"banner\" && activeAction !== \"history\" ? \"calc(100% - \".concat(BUTTONS_WIDTH, \"px)\") : undefined,\n paddingRight: useType === \"banner\" ? 20 : undefined,\n paddingTop: +usePadding[0],\n paddingBottom: useType === \"banner\" || individualPrivacyOpen ? +usePadding[2] : 0\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-tb-left\",\n style\n };\n}\n\nexport { BUTTONS_WIDTH, bannerInlineStylesLeftSide };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBodyDescription({\n design: {\n fontSize\n },\n bodyDesign: {\n descriptionInheritFontSize,\n descriptionFontSize\n },\n individualLayout: {\n descriptionTextAlign\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n individualPrivacyOpen,\n pageRequestUuid4\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-description\",\n style: {\n lineHeight: 1.5,\n fontSize: scaleMobile(mobile, pageRequestUuid4, descriptionInheritFontSize ? +fontSize : +descriptionFontSize),\n textAlign: individualPrivacyOpen ? descriptionTextAlign : undefined\n }\n };\n}\n\nexport { bannerInlineStyleBodyDescription };","import { hexToRgb } from \"../../../utils\";\nimport { scaleMobile } from \"../../scale\";\nimport { BUTTONS_WIDTH } from \"./leftSide\";\n\nfunction bannerInlineStylesRightSide({\n layout: {\n type,\n dialogMaxWidth\n },\n design: {\n borderWidth,\n bg,\n fontColor\n },\n headerDesign,\n footerDesign,\n bodyDesign: {\n padding\n },\n individualLayout: {\n inheritDialogMaxWidth\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n individualPrivacyOpen,\n pageRequestUuid4\n}) {\n const useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n const useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n const usePadding = scaleMobile(mobile, pageRequestUuid4, padding, undefined, true);\n const {\n r,\n g,\n b\n } = hexToRgb(fontColor);\n const width = useType === \"dialog\" ? +dialogMaxWidth - usePadding[1] - usePadding[3] - useBorderWidth * 2 : BUTTONS_WIDTH;\n const style = {\n background: bg,\n paddingTop: useType === \"banner\" || individualPrivacyOpen ? +usePadding[0] : 10,\n paddingBottom: !individualPrivacyOpen ? +usePadding[2] : 10,\n float: useType === \"banner\" || individualPrivacyOpen ? \"right\" : undefined,\n maxWidth: width,\n width,\n margin: useType === \"dialog\" && individualPrivacyOpen && !inheritDialogMaxWidth ? \"0 0 10px 10px\" : undefined,\n // position: individualPrivacyOpen ? \"sticky\" : undefined, This is done by `body.tsx#usePlainCss`\n position: individualPrivacyOpen ? undefined : \"sticky\",\n [individualPrivacyOpen ? \"top\" : \"bottom\"]: individualPrivacyOpen ? \"calc(var(--rendered-height-header) + \".concat(scaleMobile(mobile, pageRequestUuid4, headerDesign.borderWidth), \"px)\") : \"calc(var(--rendered-height-footer) + \".concat(scaleMobile(mobile, pageRequestUuid4, footerDesign.borderWidth), \"px)\"),\n zIndex: 1,\n // Avoid overlapping the Checkbox Icon\n display: \"flex\",\n flexWrap: \"wrap\",\n transition: \"box-shadow ease-in-out .1s\",\n [\"--boxShadowShowScroll\"]: \"0 -15px 15px -15px rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", 0.3)\")\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-tb-right\",\n style\n };\n}\n\nexport { bannerInlineStylesRightSide };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBodyContainer({\n layout: {\n type\n },\n design: {\n bg,\n borderWidth,\n borderColor\n },\n bodyDesign: {\n padding\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n const useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n const style = {\n background: bg,\n // Top / Bottom padding is applied in leftSide and rightSide containers\n padding: scaleMobile(mobile, pageRequestUuid4, padding).map((p, i) => \"\".concat([0, 2].indexOf(i) > -1 ? 0 : p, \"px\")).join(\" \"),\n lineHeight: 1.4\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useBorderWidth > 0) {\n style.borderLeft = \"\".concat(useBorderWidth, \"px solid \").concat(borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-body-container\",\n style\n };\n}\n\nexport { bannerInlineStyleBodyContainer };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerInlineStyleBody({\n layout: {\n type,\n bannerMaxWidth\n },\n individualLayout,\n customCss: {\n antiAdBlocker\n },\n mobile,\n individualPrivacyOpen,\n pageRequestUuid4\n}) {\n const style = {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\"\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-body\",\n style\n };\n}\n\nexport { bannerInlineStyleBody };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { forwardRef, useCallback } from \"react\";\nimport { useBanner, bannerFooterInlineStyle, bannerFooterInlineStyleContainer, FooterLink, useCommonFooterLinks } from \"../../..\"; // eslint-disable-next-line react/display-name\n\nconst BannerFooter = /*#__PURE__*/forwardRef((_, ref) => {\n const banner = useBanner();\n const {\n isTcf,\n layout: {\n type\n },\n individualPrivacyOpen,\n updateIndividualPrivacyOpen,\n onClose,\n i18n: {\n tcf\n },\n isConsentRecord\n } = banner;\n const handleTcfVendorList = process.env.IS_TCF === \"1\" && isTcf ? useCallback(e => {\n updateIndividualPrivacyOpen(true);\n e.preventDefault();\n }, [updateIndividualPrivacyOpen]) : undefined;\n const handleClose = useCallback(e => {\n onClose();\n e.preventDefault();\n }, [onClose]);\n const {\n rows: links,\n render: renderLinks\n } = useCommonFooterLinks({\n onClose: isConsentRecord ? handleClose : undefined,\n putPoweredByLinkInRow: type === \"banner\" ? 0 : 1,\n row1: [process.env.IS_TCF === \"1\" && isTcf && !individualPrivacyOpen && h(FooterLink, {\n href: \"#\",\n onClick: handleTcfVendorList,\n key: \"vendorList\"\n }, tcf.vendorList)]\n });\n return h(\"div\", _extends({\n ref: ref\n }, bannerFooterInlineStyleContainer(banner)), h(\"div\", bannerFooterInlineStyle(banner), renderLinks(links)));\n});\nexport { BannerFooter };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerFooterInlineStyleContainer({\n layout: {\n type,\n dialogBorderRadius\n },\n design,\n footerDesign: {\n inheritBg,\n bg,\n inheritTextAlign,\n textAlign,\n padding,\n fontSize,\n fontColor,\n fontWeight\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n const useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n const useBorderWidth = scaleMobile(mobile, pageRequestUuid4, design.borderWidth);\n const style = {\n padding: scaleMobile(mobile, pageRequestUuid4, padding, undefined, true).map(p => \"\".concat(p, \"px\")).join(\" \"),\n background: inheritBg ? design.bg : bg,\n borderRadius: useType === \"dialog\" ? \"0 0 \".concat(dialogBorderRadius, \"px \").concat(dialogBorderRadius, \"px\") : undefined,\n fontSize: scaleMobile(mobile, pageRequestUuid4, +fontSize),\n fontWeight,\n color: fontColor,\n textAlign: inheritTextAlign ? design.textAlign : textAlign,\n position: \"sticky\",\n bottom: 0,\n zIndex: 1\n };\n\n if (useType === \"dialog\" && useBorderWidth > 0) {\n style.borderBottom = \"\".concat(useBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderLeft = style.borderBottom;\n style.borderRight = style.borderBottom;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-container\",\n style\n };\n}\n\nexport { bannerFooterInlineStyleContainer };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerFooterInlineStyle({\n layout: {\n type,\n bannerMaxWidth\n },\n individualLayout,\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4,\n individualPrivacyOpen\n}) {\n const style = {\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"banner\" ? +(individualPrivacyOpen && !individualLayout.inheritBannerMaxWidth ? individualLayout.bannerMaxWidth : bannerMaxWidth) : undefined,\n margin: \"auto\",\n lineHeight: 1.8\n };\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer\",\n style\n };\n}\n\nexport { bannerFooterInlineStyle };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { scaleMobile, useBanner, usePlainCss, useRenderedHeightsAsCssVars, bannerContentInlineStyle, bannerFooterInlineStyleSeparator, bannerHeaderInlineStyleSeparator, BannerHeader, BannerFooter, BannerBody } from \"../../..\";\nimport { Fragment, useState, useRef, useLayoutEffect, useCallback } from \"react\";\n\nconst BannerContent = () => {\n const banner = useBanner();\n const {\n layout: {\n type,\n dialogBorderRadius\n },\n decision: {\n acceptAll,\n acceptEssentials,\n showCloseIcon\n },\n mobile,\n individualPrivacyOpen,\n design: {\n bg\n },\n bodyDesign: {\n teachingsFontColor,\n acceptEssentialsUseAcceptAll\n },\n activeAction,\n pageRequestUuid4\n } = banner;\n const rightSideId = \"bnnr-body-rightSide-\".concat(pageRequestUuid4);\n const id = \"cntnt-\".concat(pageRequestUuid4);\n const ref = useRef();\n const {\n current: currentRef\n } = ref;\n const useAcceptEssentials = acceptEssentialsUseAcceptAll ? acceptAll : acceptEssentials;\n let showHeader = true;\n\n if (mobile.hideHeader && !activeAction && !individualPrivacyOpen && (useAcceptEssentials === \"hide\" ? !showCloseIcon : true)) {\n showHeader = scaleMobile(mobile, pageRequestUuid4, showHeader, false);\n } // Enable box shadow effect for the scrolling behavior\n\n\n const [showScrollBoxShadow, setShowScrollBoxShadow] = useState(false);\n const updateShowScrollBoxShadow = useCallback(() => {\n if (currentRef) {\n const {\n clientHeight,\n scrollHeight,\n scrollTop,\n offsetHeight\n } = currentRef;\n const hasScrollbar = clientHeight < scrollHeight;\n const scrolledToBottom = Math.ceil(scrollTop + offsetHeight) >= scrollHeight;\n const result = hasScrollbar && !scrolledToBottom && !individualPrivacyOpen;\n\n if (showScrollBoxShadow !== result) {\n setShowScrollBoxShadow(result);\n }\n }\n }, [currentRef, individualPrivacyOpen, showScrollBoxShadow]);\n updateShowScrollBoxShadow(); // The function gets called for each resize in `Banner` component\n\n useLayoutEffect(() => {\n if (currentRef) {\n currentRef.addEventListener(\"scroll\", updateShowScrollBoxShadow);\n return () => currentRef.removeEventListener(\"scroll\", updateShowScrollBoxShadow);\n } // eslint-disable-next-line @typescript-eslint/no-empty-function\n\n\n return () => {};\n }, [currentRef, updateShowScrollBoxShadow]);\n usePlainCss(showScrollBoxShadow ? \"#\".concat(rightSideId, \" {box-shadow:var(--boxShadowShowScroll);}\") : \"\"); // Create custom scrollbar when a border radius is active (https://css-tricks.com/the-current-state-of-styling-scrollbars/)\n\n usePlainCss(navigator.platform === \"Win32\" && type === \"dialog\" && dialogBorderRadius > 0 ? [\"#\".concat(id, \"{overflow:overlay!important;}\"), \"#\".concat(id, \"::-webkit-scrollbar{width:11px;}\"), \"#\".concat(id, \"{scrollbar-width:thin;scrollbar-color:\").concat(teachingsFontColor, \" transparent;}\"), \"#\".concat(id, \"::-webkit-scrollbar-track{background:transparent;}\"), \"#\".concat(id, \"::-webkit-scrollbar-thumb{background-color:\").concat(teachingsFontColor, \";border-radius:\").concat(dialogBorderRadius, \"px;border:3px solid \").concat(bg, \";}\"), \"#\".concat(id, \">div{border-top-right-radius:0!important;border-bottom-right-radius:0!important;}\")].join(\"\\n\") : \"\");\n const headerRef = useRef();\n const footerRef = useRef();\n const rightSideContainerRef = useRef();\n useRenderedHeightsAsCssVars(headerRef.current, \"header\");\n useRenderedHeightsAsCssVars(footerRef.current, \"footer\");\n useRenderedHeightsAsCssVars(rightSideContainerRef.current, \"rightSideContainer\");\n return h(\"div\", _extends({}, bannerContentInlineStyle(banner), {\n ref: ref,\n id: id\n }), showHeader && h(Fragment, null, h(BannerHeader, {\n ref: headerRef\n }), h(\"div\", bannerHeaderInlineStyleSeparator(banner))), h(BannerBody, {\n rightSideContainerRef: rightSideContainerRef\n }), h(\"div\", bannerFooterInlineStyleSeparator(banner)), h(BannerFooter, {\n ref: footerRef\n }));\n};\n\nexport { BannerContent };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerContentInlineStyle({\n layout: {\n type\n },\n customCss: {\n antiAdBlocker\n },\n decision: {\n showCloseIcon\n },\n activeAction,\n individualPrivacyOpen,\n mobile,\n pageRequestUuid4\n}) {\n var _document$getElementB;\n\n const innerHeight = ((_document$getElementB = document.getElementById(pageRequestUuid4)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.clientHeight) || window.innerHeight;\n const mobileMaxHeight = +mobile.maxHeight;\n const useMobileMaxHeight = mobileMaxHeight > innerHeight ? innerHeight : mobileMaxHeight;\n const closeIconDistance = showCloseIcon || activeAction ? 51 : 0;\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-content\",\n style: {\n position: \"relative\",\n maxHeight: scaleMobile(mobile, pageRequestUuid4, innerHeight - (type === \"banner\" ? 0 : 20) - closeIconDistance, individualPrivacyOpen ? innerHeight - closeIconDistance : useMobileMaxHeight - closeIconDistance),\n overflow: \"auto\"\n }\n };\n}\n\nexport { bannerContentInlineStyle };","import { scaleMobile } from \"../..\";\n\nfunction bannerHeaderInlineStyleSeparator({\n layout: {\n type\n },\n design,\n headerDesign: {\n borderWidth,\n borderColor\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n const useDesignBorderWidth = scaleMobile(mobile, pageRequestUuid4, design.borderWidth);\n const style = {\n height: scaleMobile(mobile, pageRequestUuid4, +borderWidth),\n background: borderColor,\n position: \"sticky\",\n top: \"var(--rendered-height-header)\",\n zIndex: 9\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useDesignBorderWidth > 0) {\n style.borderLeft = \"\".concat(useDesignBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-header-separator\",\n style\n };\n}\n\nexport { bannerHeaderInlineStyleSeparator };","import { scaleMobile } from \"../../scale\";\n\nfunction bannerFooterInlineStyleSeparator({\n layout: {\n type\n },\n design,\n footerDesign: {\n borderWidth,\n borderColor\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n const useBorderWidth = scaleMobile(mobile, pageRequestUuid4, design.borderWidth);\n const style = {\n height: scaleMobile(mobile, pageRequestUuid4, +borderWidth),\n background: borderColor,\n position: \"sticky\",\n bottom: \"var(--rendered-height-footer)\"\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\" && useBorderWidth > 0) {\n style.borderLeft = \"\".concat(useBorderWidth, \"px solid \").concat(design.borderColor);\n style.borderRight = style.borderLeft;\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-footer-separator\",\n style\n };\n}\n\nexport { bannerFooterInlineStyleSeparator };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { bannerContentInlineStyleInner, useBanner, useBannerAnimation, useResettableAnimation } from \"../../..\";\nimport { AnimatedCss } from \"../..\";\nimport { BannerContent } from \".\";\n\nconst BannerAnimatedContent = () => {\n const banner = useBanner();\n const {\n layout: {\n animationInDuration,\n animationOutDuration\n },\n animationVisible\n } = banner;\n const {\n useAnimationIn,\n useAnimationOut\n } = useBannerAnimation()(banner.layout);\n const [stateAnimationIn, stateAnimationInDuration] = useResettableAnimation(useAnimationIn, animationInDuration);\n const [stateAnimationOut, stateAnimationOutDuration] = useResettableAnimation(useAnimationOut === \"none\" ? \"fadeOut\" : useAnimationOut, useAnimationOut === \"none\" ? 0 : animationOutDuration);\n return h(AnimatedCss, _extends({\n animationIn: stateAnimationIn,\n animationInDuration: stateAnimationInDuration,\n animationOut: stateAnimationOut,\n animationOutDuration: stateAnimationOutDuration,\n isVisible: animationVisible\n }, bannerContentInlineStyleInner(banner)), h(BannerContent, null));\n};\n\nexport { BannerAnimatedContent };","import { calculateRgba } from \"../../../utils\";\nimport { scaleMobile } from \"../../scale\";\n\nfunction bannerContentInlineStyleInner({\n layout: {\n type,\n dialogMaxWidth,\n dialogPosition,\n dialogMargin,\n bannerPosition,\n dialogBorderRadius\n },\n design: {\n borderWidth,\n borderColor,\n textAlign,\n fontColor,\n fontInheritFamily,\n fontFamily,\n fontWeight,\n boxShadowEnabled,\n boxShadowOffsetX,\n boxShadowOffsetY,\n boxShadowBlurRadius,\n boxShadowSpreadRadius,\n boxShadowColor,\n boxShadowColorAlpha\n },\n individualLayout,\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4,\n individualPrivacyOpen\n}) {\n const {\n alignment: mobileAlignment\n } = mobile;\n const useType = scaleMobile(mobile, pageRequestUuid4, type, \"banner\");\n const useBorderWidth = scaleMobile(mobile, pageRequestUuid4, borderWidth);\n const width = useType === \"dialog\" ? +(individualPrivacyOpen && !individualLayout.inheritDialogMaxWidth ? individualLayout.dialogMaxWidth : dialogMaxWidth) : \"100%\";\n const style = {\n pointerEvents: \"all\",\n transition: \"width 500ms, max-width 500ms\",\n maxWidth: width,\n textAlign,\n width,\n overflow: \"hidden\",\n alignSelf: scaleMobile(mobile, pageRequestUuid4, useType === \"banner\" ? bannerPosition === \"top\" ? \"flex-start\" : \"flex-end\" : undefined, mobileAlignment === \"bottom\" ? \"flex-end\" : mobileAlignment === \"top\" ? \"flex-start\" : \"center\"),\n fontFamily: fontInheritFamily ? undefined : fontFamily,\n fontWeight,\n color: fontColor,\n margin: useType === \"dialog\" ? 10 : undefined,\n borderRadius: useType === \"dialog\" ? +dialogBorderRadius : undefined,\n boxShadow: boxShadowEnabled ? \"\".concat(boxShadowOffsetX, \"px \").concat(boxShadowOffsetY, \"px \").concat(boxShadowBlurRadius, \"px \").concat(boxShadowSpreadRadius, \"px \").concat(calculateRgba(boxShadowColor, boxShadowColorAlpha)) : undefined,\n [useType === \"banner\" ? bannerPosition === \"top\" ? \"borderBottom\" : \"borderTop\" : \"border\"]: useType === \"banner\" ? useBorderWidth > 0 ? \"\".concat(useBorderWidth, \"px solid \").concat(borderColor) : undefined : undefined\n };\n\n if (useType === \"dialog\" && dialogPosition !== \"middleCenter\") {\n style.margin = dialogMargin.map(i => \"\".concat(i, \"px\")).join(\" \");\n }\n\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-inner\",\n style\n };\n}\n\nexport { bannerContentInlineStyleInner };","import _extends from \"@babel/runtime/helpers/extends\";\nimport { useState, useLayoutEffect, useEffect } from \"react\";\nimport { dispatchResizeEvent } from \"@devowl-wp/headless-content-unblocker\";\nimport { useBanner, useBannerActionLinks, useBannerHistory, usePlainCss, useRestrictScrollWhenVisible, bannerOverlayInlineStyle, bannerOverlayInlineStyleAlignment, BannerAnimatedContent, isHiddenDueLegal } from \"../..\";\n\nconst Banner = () => {\n const banner = useBanner();\n const {\n customCss: {\n antiAdBlocker,\n css\n },\n visible,\n animationVisible,\n activeAction,\n skipOverlay,\n gotHiddenDueLegal,\n pageRequestUuid4,\n individualPrivacyOpen\n } = banner;\n const hiddenDueLegal = isHiddenDueLegal(banner);\n const show = visible && !hiddenDueLegal || !!activeAction;\n usePlainCss(antiAdBlocker ? css : \"\");\n usePlainCss( // `-webkit-text-size-adjust:100%;`: https://stackoverflow.com/a/2711132/5506547\n \"#\".concat(pageRequestUuid4, \", #\").concat(pageRequestUuid4, \" * {box-sizing: border-box;backface-visibility:initial;text-transform:initial;-webkit-text-size-adjust:100%;}\"));\n useRestrictScrollWhenVisible(show); // Listen to window resizes and resize the content automatically\n\n const [, setInvalidate] = useState(0);\n\n const updateSize = () => setInvalidate(+new Date());\n\n useLayoutEffect(() => {\n window.addEventListener(\"resize\", updateSize);\n return () => window.removeEventListener(\"resize\", updateSize);\n }, []);\n useLayoutEffect(() => {\n dispatchResizeEvent(1000);\n }, [animationVisible, individualPrivacyOpen]); // When changes to the legal settings are done, make the banner visible or hide\n\n gotHiddenDueLegal && useEffect(() => {\n gotHiddenDueLegal(hiddenDueLegal);\n }, [hiddenDueLegal]);\n useBannerHistory();\n useBannerActionLinks();\n\n if (!show) {\n return null;\n }\n\n const content = h(\"div\", bannerOverlayInlineStyleAlignment(banner), h(BannerAnimatedContent, null));\n return skipOverlay ? content : h(\"div\", _extends({\n id: pageRequestUuid4\n }, bannerOverlayInlineStyle(banner)), content);\n};\n\nexport { Banner };","import { useEffect } from \"react\";\nimport { useBanner } from \"..\";\n/**\n * Do not allow scrolling when this banner is visible and add a blur effect if enabled.\n */\n\nfunction useRestrictScrollWhenVisible(show) {\n const banner = useBanner();\n const {\n layout: {\n overlay,\n overlayBlur\n },\n pageRequestUuid4,\n animationVisible\n } = banner;\n const showOverlay = show && overlay && animationVisible;\n const bodyClassRcbOverlayActive = \"rcb-overlay-active\"; // Blur effect\n\n if (process.env.PLUGIN_CTX === \"pro\") {\n /* Silence is golden... Until you have PRO Version! */\n }\n\n return useEffect(() => {\n const {\n dataset,\n style,\n classList\n } = document.body; // Save first state\n\n if (dataset.rcbPreviousOverflow === undefined) {\n dataset.rcbPreviousOverflow = style.overflow;\n }\n\n style.overflow = showOverlay ? \"hidden\" : dataset.rcbPreviousOverflow;\n document.body.parentElement.style.overflow = style.overflow;\n\n if (showOverlay) {\n classList.add(bodyClassRcbOverlayActive);\n } else {\n classList.remove(bodyClassRcbOverlayActive);\n }\n }, [showOverlay]);\n}\n\nexport { useRestrictScrollWhenVisible };","import { useEffect, useState } from \"react\";\nimport { useBanner } from \"../../..\";\n\nfunction useBannerHistory() {\n const banner = useBanner();\n const {\n consent,\n groups,\n tcf,\n activeAction,\n selectHistoryEntry,\n fetchHistory\n } = banner; // Save the current consent and group settings to restore\n\n const [originalConsent, setOriginalConsent] = useState({\n consent,\n groups,\n tcf\n }); // Listen to consent changes and save it as original consent (only when non-history)\n\n useEffect(() => {\n if (!activeAction) {\n setOriginalConsent({\n consent,\n groups,\n tcf\n });\n }\n }, [consent, groups, tcf, activeAction]);\n useEffect(() => {\n async function fetch() {\n const result = await fetchHistory(); // Initially select first item\n\n if (result.length) {\n const [{\n groups,\n decision,\n tcf\n }] = result;\n selectHistoryEntry(groups, decision, tcf);\n } else {\n selectHistoryEntry([], []);\n }\n }\n\n if (activeAction === \"history\") {\n // Save state of original consent\n setOriginalConsent({\n consent,\n groups,\n tcf\n });\n fetch();\n } else {\n // If we close the history, restore the original state\n const {\n groups,\n consent: {\n groups: consentGroups\n },\n tcf\n } = originalConsent;\n selectHistoryEntry === null || selectHistoryEntry === void 0 ? void 0 : selectHistoryEntry(groups, consentGroups, tcf);\n }\n }, [activeAction]);\n}\n\nexport { useBannerHistory };","import { scaleMobile } from \"../..\";\n\nfunction bannerOverlayInlineStyleAlignment({\n layout: {\n type,\n dialogPosition\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n const style = {\n display: \"flex\",\n width: \"100%\",\n height: \"100%\"\n };\n\n if (scaleMobile(mobile, pageRequestUuid4, type, \"banner\") === \"dialog\") {\n style.alignItems = dialogPosition.startsWith(\"top\") ? \"flex-start\" : dialogPosition.startsWith(\"bottom\") ? \"flex-end\" : \"center\";\n style.justifyContent = dialogPosition.endsWith(\"Center\") ? \"center\" : dialogPosition.endsWith(\"Left\") ? \"flex-start\" : \"flex-end\";\n }\n\n return {\n className: \"wp-exclude-emoji \".concat(antiAdBlocker === \"y\" ? \"\" : \"rcb-align\"),\n style\n };\n}\n\nexport { bannerOverlayInlineStyleAlignment };","import { scaleMobile } from \"../..\";\nimport { calculateRgba } from \"../../..\";\n/**\n * This method needs to be ported to Banner.php#wp_footer, too!\n */\n\nfunction bannerOverlayInlineStyle({\n layout: {\n type,\n overlay,\n overlayBg,\n overlayBgAlpha\n },\n design: {\n fontSize\n },\n customCss: {\n antiAdBlocker\n },\n mobile,\n pageRequestUuid4\n}) {\n return {\n className: antiAdBlocker === \"y\" ? undefined : \"rcb-bann3r rcb-bann3r-\".concat(scaleMobile(mobile, pageRequestUuid4, type, \"banner\"), \" \").concat(overlay ? \"\" : \"overlay-deactivated\"),\n style: {\n background: overlay ? calculateRgba(overlayBg, overlayBgAlpha) : \"none\",\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n zIndex: 999999,\n pointerEvents: overlay ? \"all\" : \"none\",\n fontSize: scaleMobile(mobile, pageRequestUuid4, +fontSize),\n filter: \"none\",\n maxHeight: \"100vh\"\n }\n };\n}\n\nexport { bannerOverlayInlineStyle };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestConsentGet = {\n path: \"/consent\",\n method: RouteHttpVerb.GET\n};","import { useState } from \"react\";\nimport { getOptionsFromWindow, getOtherOptionsFromWindow } from \"../utils\";\nimport { useBannerPreDecisionGateway, useTcf } from \"../hooks\";\nimport { applyConsent, getCookieConsentManager } from \"../others\";\nimport { prepareTcfString } from \"../tcf\";\nimport { getUserDecision } from \"@devowl-wp/cookie-consent-web-client\";\nimport { useBannerConsentListener } from \"@devowl-wp/react-cookie-banner\";\nimport { BannerContextFactory, useBannerToggleOverlay, Banner, useBannerStateContextCallbacks } from \"@devowl-wp/react-cookie-banner\";\nimport { locationRestConsentGet } from \"../wp-api\";\nimport { commonRequest } from \"@devowl-wp/utils\";\nimport { BannerProductionNotice } from \".\";\n/**\n * Simply connects a context store to the banner itself. On the website itself\n * it should not rely\n */\n\nconst WebsiteBanner = ({\n poweredLink\n}) => {\n const {\n customizeValuesBanner: {\n layout,\n decision,\n legal,\n design,\n headerDesign,\n bodyDesign,\n footerDesign,\n texts,\n individualLayout,\n saveButton,\n group,\n individualTexts,\n customCss,\n mobile\n },\n pageId,\n pageRequestUuid4,\n pageIdToPermalink,\n consentForwardingExternalHosts,\n essentialGroup,\n isTcf,\n isEPrivacyUSA,\n isAgeNotice,\n isListServicesNotice,\n tcf,\n tcfMetadata,\n groups,\n userConsentCookieName,\n bannerI18n,\n affiliate,\n isCurrentlyInTranslationEditorPreview,\n pageByIdUrl\n } = getOtherOptionsFromWindow();\n const userDecision = getUserDecision(userConsentCookieName); // TCF compatibility\n\n const tcfObject = useTcf(isTcf, tcf, tcfMetadata); // Server-side rendered overlay handler\n\n const {\n toggleOverlay\n } = useBannerToggleOverlay(document.getElementById(pageRequestUuid4));\n const {\n openHistory,\n openBanner,\n revokeConsent,\n updateTcfFilterBy,\n updateIndividualPrivacyOpen,\n updateGroupChecked,\n updateCookieChecked,\n onClose,\n selectHistoryEntry\n } = useBannerStateContextCallbacks({\n toggleOverlay,\n revokeConsent: ({\n tcf\n }) => {\n // Do not rely on current state of `groups` because it can be altered through history change\n const buttonClicked = \"shortcode_revoke\"; // TCF compatibility: revoke TCF string\n\n let tcfString;\n\n if (process.env.IS_TCF === \"1\" && tcf !== null && tcf !== void 0 && tcf.model) {\n tcfString = prepareTcfString(tcf.model, buttonClicked);\n }\n\n return applyConsent({\n consent: {\n groups: getCookieConsentManager().getDefaultDecision(true)\n },\n buttonClicked,\n tcfString\n });\n }\n }); // Context values preparation\n\n const [contextValue, setContextValue] = useState({\n layout: { ...layout\n },\n decision: { ...decision\n },\n legal: { ...legal\n },\n design: { ...design\n },\n headerDesign: { ...headerDesign\n },\n bodyDesign: { ...bodyDesign\n },\n footerDesign: { ...footerDesign\n },\n texts: { ...texts\n },\n individualLayout: { ...individualLayout\n },\n saveButton: { ...saveButton\n },\n group: { ...group\n },\n individualTexts: { ...individualTexts\n },\n customCss: { ...customCss\n },\n mobile: { ...mobile\n },\n productionNotice: h(BannerProductionNotice, null),\n pageRequestUuid4,\n pageIdToPermalink,\n pageByIdUrl,\n consentForwardingExternalHosts,\n pageId,\n isTcf,\n ePrivacyUSA: isEPrivacyUSA,\n ageNotice: isAgeNotice,\n listServicesNotice: isListServicesNotice,\n tcf: tcfObject,\n tcfFilterBy: \"legInt\",\n groups,\n essentialGroup,\n poweredLink,\n visible: false,\n animationVisible: true,\n skipOverlay: true,\n previewCheckboxActiveState: false,\n individualPrivacyOpen: false,\n i18n: bannerI18n,\n keepVariablesInTexts: isCurrentlyInTranslationEditorPreview,\n affiliate,\n consent: {\n groups: { ...(userDecision === false ? {} : userDecision.consent),\n // Always override essential cookies\n ...getCookieConsentManager().getDefaultDecision(userDecision === false)\n }\n },\n didGroupFirstChange: false,\n onSave: (markAsDoNotTrack, buttonClicked) => {\n setContextValue(state => {\n var _state$tcf;\n\n // TCF compatibility: persist TCF string\n let tcfString;\n\n if (process.env.IS_TCF === \"1\" && isTcf && (_state$tcf = state.tcf) !== null && _state$tcf !== void 0 && _state$tcf.model) {\n tcfString = prepareTcfString(state.tcf.model, buttonClicked);\n }\n\n const appliedConsent = applyConsent({\n consent: state.consent,\n markAsDoNotTrack,\n buttonClicked,\n tcfString\n });\n\n if (state.refreshSiteAfterSave) {\n appliedConsent.then(() => // Fix iOS / Safari bug when we want to reload the page after a POST request\n setTimeout(() => window.location.reload(), state.refreshSiteAfterSave ||\n /* BC */\n 2000)); // When refreshing the site, do not show any out animation\n\n return state;\n } else {\n return { ...state,\n ...toggleOverlay(state, false)\n };\n }\n });\n },\n fetchHistory: async () => {\n const {\n restNamespace,\n restRoot,\n restQuery,\n restNonce\n } = getOptionsFromWindow();\n const history = await commonRequest({\n location: locationRestConsentGet,\n options: {\n restNamespace,\n restRoot,\n restQuery,\n restNonce\n },\n cookieValueAsParam: [userConsentCookieName],\n sendRestNonce: false\n });\n setContextValue(state => {\n return { ...state,\n history\n };\n });\n return history;\n },\n // Predefined callbacks\n updateTcfFilterBy: newFilter => updateTcfFilterBy(setContextValue, newFilter),\n updateIndividualPrivacyOpen: opened => updateIndividualPrivacyOpen(setContextValue, opened),\n updateGroupChecked: (id, checked) => updateGroupChecked(setContextValue, id, checked),\n updateCookieChecked: (groupId, id, checked) => updateCookieChecked(setContextValue, groupId, id, checked),\n onClose: () => onClose(setContextValue),\n selectHistoryEntry: (groups, consentGroups, tcf) => selectHistoryEntry(setContextValue, groups, consentGroups, tcf),\n openHistory: e => openHistory(setContextValue, e),\n openBanner: e => openBanner(setContextValue, e),\n revokeConsent: (successMessage, e) => revokeConsent(setContextValue, successMessage, e)\n });\n useBannerPreDecisionGateway(contextValue, setContextValue, toggleOverlay);\n useBannerConsentListener(setContextValue, userConsentCookieName);\n const BannerContext = BannerContextFactory.Context();\n return h(BannerContext.Provider, {\n value: contextValue\n }, h(Banner, null));\n};\n\nexport { WebsiteBanner };","import { useMemo } from \"react\";\nimport { prepareTcfString } from \"../tcf\";\nimport { applyTcfModelMetadata, applyRestrictivePurposes, createTcfModel, createTcfModelFromCookie } from \"@devowl-wp/cookie-consent-web-client\";\nimport { getCookieConsentManager } from \"../others\";\n/**\n * Merges the localized `tcf` and `tcfMetadata` together so it can be\n * used inside our `BannerContextProps` and returns a valid `GVL` instance.\n */\n\nfunction useTcf(active, tcf, tcfMeta) {\n return useMemo(() => {\n if (process.env.IS_TCF === \"1\" && active && Object.values(tcf.vendors).length > 0) {\n let gvl;\n let model;\n const manager = getCookieConsentManager();\n const restored = createTcfModelFromCookie(tcf, tcfMeta, manager.getOption(\"tcfCookieName\")); // First, try to resolve from user consent (cookie value)\n\n if (restored) {\n gvl = restored.gvl;\n model = restored.model;\n } else {\n // No consent given, let's create an empty model\n const newTcf = createTcfModel({\n tcf,\n tcfMeta,\n tcfString: \"\"\n });\n gvl = newTcf.gvl;\n model = newTcf.model;\n }\n\n applyTcfModelMetadata(model, tcfMeta, manager);\n applyRestrictivePurposes(model, tcf.vendorConfigurations);\n\n if (!restored) {\n prepareTcfString(model, \"initial\");\n }\n\n return {\n gvl,\n model,\n original: tcf,\n metadata: tcfMeta\n };\n } else {\n return undefined;\n }\n }, [active, tcf, tcfMeta]);\n}\n\nexport { useTcf };","import { useCallback } from \"react\";\nimport { useBannerAnimation } from \"../..\";\n/**\n * Provides a callback which can be used to update the state of the banner context and manipulate\n * the `visible` and `animationVisible` property correctly.\n */\n\nfunction useBannerToggleOverlay(overlay) {\n const useBannerAnimationCallback = useBannerAnimation();\n const toggleOverlay = useCallback(({\n layout\n }, show) => {\n const {\n animationInDuration,\n animationOutDuration\n } = layout;\n const {\n useAnimationIn,\n useAnimationOut\n } = useBannerAnimationCallback(layout);\n const defaultIfNoAnimation = 0; // Avoid \"hard\" overlay\n\n const useDuration = show ? useAnimationIn === \"none\" ? defaultIfNoAnimation : animationInDuration : useAnimationOut === \"none\" ? defaultIfNoAnimation : animationOutDuration; // Toggle SSR-rendered overlay\n\n useDuration > 0 && (overlay.style.transition = \"background \".concat(useDuration, \"ms\"));\n overlay.style.background = \"transparent\";\n\n if (show) {\n // We need a small delay to avoid flickering of animation out effect in customizer\n setTimeout(() => {\n overlay.style.display = \"block\";\n }, 0);\n setTimeout(() => {\n const bg = overlay.getAttribute(\"data-bg\");\n overlay.style.background = bg ? bg.split(\":\")[1].trim().replace(\";\", \"\") : \"transparent\";\n }, 100);\n } else {\n setTimeout(() => {\n overlay.style.display = \"none\";\n }, useDuration);\n }\n\n const animationVisible = {\n animationVisible: show\n };\n return show ? {\n visible: true,\n ...animationVisible\n } : animationVisible;\n }, [useBannerAnimationCallback]);\n return {\n overlay,\n toggleOverlay\n };\n}\n\nexport { useBannerToggleOverlay };","import { useEffect } from \"react\";\nimport { getOptionsFromWindow, isCustomize } from \"../utils\";\nimport { getCookieConsentManager } from \"../others\";\nimport { preDecisionGateway } from \"@devowl-wp/cookie-consent-web-client\";\nimport { preDecisionGatewayDynamicRequest, preDecisionGatewayHasPageClass, preDecisionGatewayIsCrawler, preDecisionGatewayIsPreventPreDecision, preDecisionGatewaySupportsCookies, preDecisionGatewayUserConsent, preDecisionGatewayIsDoNotTrack } from \"@devowl-wp/cookie-consent-web-client\";\nimport { commonRequest } from \"@devowl-wp/utils\";\nimport { locationRestConsentDynamicPredecisionGet } from \"../wp-api\";\nimport { isHiddenDueLegal } from \"@devowl-wp/react-cookie-banner\";\n/**\n * Do some decision gateways like DNT, Bot / Crawler and Decision and depending\n * on that, show the Banner initially.\n */\n\nfunction useBannerPreDecisionGateway(banner, setContextValue, toggleOverlay) {\n useEffect(() => {\n // Only run this predecision mechanism once and when not in customize\n if (isCustomize()) {\n return;\n }\n\n const {\n restNamespace,\n restRoot,\n restQuery,\n restNonce,\n others: {\n isAcceptAllForBots,\n isPreventPreDecision,\n hasDynamicPreDecisions,\n isRespectDoNotTrack\n }\n } = getOptionsFromWindow();\n const {\n onSave\n } = banner;\n preDecisionGateway(getCookieConsentManager(), {\n gateways: [preDecisionGatewaySupportsCookies, preDecisionGatewayHasPageClass([\"login-action-\"]), preDecisionGatewayDynamicRequest(() => {\n const {\n clientWidth,\n clientHeight\n } = document.documentElement;\n return commonRequest({\n location: locationRestConsentDynamicPredecisionGet,\n options: {\n restNamespace,\n restRoot,\n restQuery,\n restNonce\n },\n sendRestNonce: false,\n request: {\n viewPortWidth: clientWidth,\n viewPortHeight: clientHeight\n },\n params: {\n _wp_http_referer: window.location.href\n }\n });\n }, 10000, hasDynamicPreDecisions), async (_, banner) => isHiddenDueLegal(banner) ? \"consent\" : false, preDecisionGatewayIsPreventPreDecision(isPreventPreDecision), preDecisionGatewayIsCrawler(isAcceptAllForBots ? \"all\" : false), preDecisionGatewayIsDoNotTrack(isRespectDoNotTrack), preDecisionGatewayUserConsent],\n args: [banner],\n onIsDoNotTrack: () => {\n onSave(true, \"none\");\n },\n onShowCookieBanner: () => setContextValue(state => {\n return { ...state,\n // Always revert back to \"Essentials\" only consent when cookie needs to be consented\n consent: {\n groups: getCookieConsentManager().getDefaultDecision()\n },\n ...toggleOverlay(state, true)\n };\n })\n });\n }, []);\n}\n\nexport { useBannerPreDecisionGateway };","import { getOtherOptionsFromWindow } from \"./getOtherOptionsFromWindow\";\n/**\n * Checks if the current page is customize page.\n */\n\nfunction isCustomize() {\n return !!getOtherOptionsFromWindow().customizeIdsBanner;\n}\n\nexport { isCustomize };","import { getUserDecision } from \"../decision\";\nimport { isCrawler } from \"../utils\";\n/**\n * Is the current request from a spider / crawler?\n */\n\nconst preDecisionGatewayIsCrawler = resultIfBot => async ({\n decisionCookieName\n}) => {\n if (getUserDecision(decisionCookieName) !== false || !resultIfBot) {\n return false;\n }\n\n return isCrawler() ? resultIfBot : false;\n};\n\nexport { preDecisionGatewayIsCrawler };","import { getUserDecision } from \"../decision\";\nimport { isCrawler } from \"../utils\";\n/**\n * Prevent any predecision and user decision and force to reuse existing consent or all for crawlers.\n * This could be e.g. be configured by a dynamic hook or on server-side via a localized variable.\n */\n\nconst preDecisionGatewayIsPreventPreDecision = preventPreDecision => async ({\n decisionCookieName\n}) => {\n const userDecision = getUserDecision(decisionCookieName);\n return preventPreDecision && userDecision === false ? isCrawler() ? // For crawlers we need to explicitly allow services on all pages\n \"all\" : \"consent\" : false;\n};\n\nexport { preDecisionGatewayIsPreventPreDecision };","/**\n * Do not show cookie banner for a certain page, e.g. the login page.\n */\nconst preDecisionGatewayHasPageClass = classNames => async () => {\n const {\n className\n } = document.body;\n return classNames.filter(c => className.indexOf(c) > -1).length > 0 ? \"consent\" : false;\n};\n\nexport { preDecisionGatewayHasPageClass };","import { CookieConsentManager } from \"../apply\";\nimport { apply } from \"../apply\";\nimport { BANNER_PRE_DECISION_SHOW_EVENT } from \"../events\";\nimport { ready } from \"../utils\";\n\nasync function preDecisionGateway(options, handler) {\n let show = true;\n const useOptions = options instanceof CookieConsentManager ? options.getOptions() : options;\n const {\n gateways,\n args,\n onIsDoNotTrack,\n onShowCookieBanner\n } = handler;\n\n for (const gateway of gateways) {\n const result = await gateway(useOptions, ...args);\n\n if (result !== false) {\n show = false;\n\n const applyWithOptions = type => apply({\n type,\n ...useOptions\n });\n\n if (result === \"all\") {\n applyWithOptions(\"all\");\n } else if (result === \"essentials\") {\n applyWithOptions(\"essentials\");\n } else if (result === \"dnt\") {\n onIsDoNotTrack(() => applyWithOptions(\"essentials\"));\n } else if (result === \"consent\") {\n // Apply services for the current user decision\n applyWithOptions(\"consent\");\n }\n\n break;\n }\n }\n\n if (show) {\n onShowCookieBanner(); // Wait all events are initialized\n\n await ready();\n document.dispatchEvent(new CustomEvent(BANNER_PRE_DECISION_SHOW_EVENT, {\n detail: {}\n }));\n }\n}\n\nexport { preDecisionGateway };","import { getUserDecision, OPT_IN_ALL_EVENT } from \"@devowl-wp/cookie-consent-web-client\";\nimport { useEffect } from \"react\";\n\nfunction useBannerConsentListener(setContextValue, userConsentCookieName) {\n useEffect(() => {\n const listener = () => {\n const consent = getUserDecision(userConsentCookieName);\n consent && setContextValue(state => ({ ...state,\n consent: {\n groups: consent.consent\n }\n }));\n };\n\n document.addEventListener(OPT_IN_ALL_EVENT, listener);\n return () => {\n document.removeEventListener(OPT_IN_ALL_EVENT, listener);\n };\n }, []);\n}\n\nexport { useBannerConsentListener };","/**\n * Wait for a given object which is calculated through a callback.\n */\nasync function waitObject(getObject, delayNextCheck = 500, maxTries = 0) {\n let i = 0;\n\n while (!getObject()) {\n if (maxTries > 0 && i >= maxTries) {\n return undefined;\n }\n\n await new Promise(r => setTimeout(r, delayNextCheck));\n i++;\n }\n\n return getObject();\n}\n\nexport { waitObject };","import { putHtmlCodeToDom, OPT_IN_CONTENT_BLOCKER } from \"@devowl-wp/headless-content-unblocker\";\nimport { OPT_IN_EVENT, waitObject } from \"@devowl-wp/cookie-consent-web-client\";\nlet amazonWidgetsSlotNum = 0;\n/**\n * Some presets have custom opt-in coding, e. g. Amazon Widgets.\n */\n\nfunction listenPresetOptIn() {\n document.addEventListener(OPT_IN_EVENT, async ({\n detail: {\n service: {\n presetId,\n codeOptIn,\n codeDynamics\n }\n }\n }) => {\n switch (presetId) {\n case \"amazon-associates-widget\":\n {\n const {\n amznAssoWidgetHtmlId\n } = codeDynamics || {};\n\n if (amznAssoWidgetHtmlId) {\n const element = document.getElementById(amznAssoWidgetHtmlId);\n\n if (element) {\n const slotNum = amazonWidgetsSlotNum;\n amazonWidgetsSlotNum++;\n putHtmlCodeToDom(codeOptIn, codeDynamics, element); // Amazon Widgets is using `document.write`, we need to manually move the ad container...\n\n const adContainer = await waitObject(() => document.querySelector(\"[id^=\\\"amzn_assoc_ad_div_\\\"][id$=\\\"\".concat(slotNum, \"\\\"]\")), 500, 50);\n\n if (adContainer) {\n element.appendChild(adContainer);\n }\n }\n }\n\n break;\n }\n\n case \"google-maps\":\n {\n document.addEventListener(OPT_IN_CONTENT_BLOCKER, async ({\n detail: {\n element\n }\n }) => {\n const {\n et_pb_map_init,\n jQuery\n } = window;\n\n if (jQuery && element.matches(\".et_pb_map\") && et_pb_map_init) {\n await waitObject(() => window.google);\n et_pb_map_init(jQuery(element).parent());\n }\n });\n break;\n }\n\n default:\n break;\n }\n });\n}\n\nexport { listenPresetOptIn };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestConsentClearDelete = {\n path: \"/consent/clear\",\n method: RouteHttpVerb.DELETE\n};","import { getOtherOptionsFromWindow } from \"../utils\";\nimport { getUserDecision, regExpPatternFromWildcardName } from \"@devowl-wp/cookie-consent-web-client\";\n/**\n * Synchronously check if a consent is given. See `window.consentApi.consent` for more documentation.\n */\n\nfunction consentSync(typeOrId, name,\n/**\n * This can also be `*` to allow all hosts.\n */\nhost) {\n // Find matching cookie\n const found = [];\n const {\n groups,\n revisionHash\n } = getOtherOptionsFromWindow();\n const allCookies = groups.map(({\n items\n }) => items).flat();\n\n for (const row of allCookies) {\n if (typeof typeOrId === \"number\") {\n if (row.id === typeOrId) {\n found.push({\n cookie: row,\n relevance: 10\n });\n }\n } else {\n const {\n technicalDefinitions\n } = row;\n\n if (technicalDefinitions !== null && technicalDefinitions !== void 0 && technicalDefinitions.length) {\n // Check if technical information matches\n for (const td of technicalDefinitions) {\n const regexp = regExpPatternFromWildcardName(td.name);\n\n if (td.type === typeOrId && (td.name === name || name.match(regexp)) && (td.host === host || host === \"*\")) {\n found.push({\n cookie: row,\n // Create a priority by \"relevance\" inside the technical definitions\n // This is the case if e.g. another Cookie consumes the same technical cookie\n // Example: Vimeo uses Facebook Pixel, too\n relevance: technicalDefinitions.length + technicalDefinitions.indexOf(td) + 1\n });\n break;\n }\n }\n }\n }\n }\n\n const already = getUserDecision(getOtherOptionsFromWindow().userConsentCookieName);\n\n if (found.length) {\n const relevantCookie = found.sort(({\n relevance: a\n }, {\n relevance: b\n }) => a - b)[0].cookie; // Check if consent is already given\n\n if (already && revisionHash === already.revision) {\n const consentCookieIds = Object.values(already.consent).flat();\n\n if (consentCookieIds.indexOf(relevantCookie.id) > -1) {\n return {\n cookie: relevantCookie,\n consentGiven: true,\n cookieOptIn: true\n };\n } else {\n return {\n cookie: relevantCookie,\n consentGiven: true,\n cookieOptIn: false\n };\n }\n } else {\n return {\n cookie: relevantCookie,\n consentGiven: false,\n cookieOptIn: false\n };\n }\n } else {\n return {\n cookie: null,\n consentGiven: !!already,\n cookieOptIn: true\n };\n }\n}\n\nexport { consentSync };","import { OPT_IN_EVENT, OPT_OUT_EVENT } from \"@devowl-wp/cookie-consent-web-client\";\nimport { consentSync } from \".\";\n/**\n * `window.consentApi.consent`: Check if a given technical information (e.g. HTTP Cookie, LocalStorage, ...) has a consent:\n *\n * - When a technical information exists in defined cookies, the Promise is only resolved after given consent\n * - When no technical information exists, the Promise is immediate resolved\n *\n * Example (ES5):\n * ```js\n * (window.consentApi && window.consentApi.consent(\"http\", \"_twitter_sess\", \".twitter.com\") || Promise.resolve()).then(function() {\n * console.log(\"Consent for Twitter embed given, do something...!\");\n * });\n * ```\n *\n * Example (ES6, Babel, TS):\n * ```js\n * (window.consentApi?.consent(\"http\", \"_twitter_sess\", \".twitter.com\") || Promise.resolve()).then(() => {\n * console.log(\"Consent for Twitter embed given, do something...!\");\n * });\n * ```\n *\n * **Since 2.3.0**: You can also check for consent by cookie ID (ID in `wp_posts`, post id):\n *\n * ```js\n * window.consentApi.consent(15)\n * ```\n */\n\nfunction consent(...args) {\n return new Promise((resolve, reject) => {\n const {\n cookie: foundCookie,\n consentGiven,\n cookieOptIn\n } = consentSync(...args);\n\n if (foundCookie) {\n if (consentGiven) {\n if (cookieOptIn) {\n resolve();\n } else {\n reject();\n }\n } else {\n // Wait for consent\n document.addEventListener(OPT_IN_EVENT, async ({\n detail: {\n service\n }\n }) => {\n if (service === foundCookie) {\n resolve();\n }\n }); // Wait for opt out\n\n document.addEventListener(OPT_OUT_EVENT, async ({\n detail: {\n service\n }\n }) => {\n if (service === foundCookie) {\n reject();\n }\n });\n }\n } else {\n resolve();\n }\n });\n}\n\nexport { consent };","import { consent } from \".\";\n/**\n * `window.consentApi.consentAll`: Check if a set of given technical information (e.g. HTTP Cookie, LocalStorage, ...)\n * have a consent. This is similar to `window.consentApi.consent` but for multiple cookies.\n */\n\nfunction consentAll(technicalDefinitions) {\n return Promise.all(technicalDefinitions.map(args => consent(...args)));\n}\n\nexport { consentAll };","/* istanbul ignore file: we do not need to care about the entry point file as errors are detected through integration tests (E2E) */\n\n/**\n * Entrypoint for plain website. This file is only loaded if the visitor needs to accept cookies.\n */\nimport { render } from \"react-dom\";\nimport { WebsiteBanner } from \"./components\";\nimport { getOtherOptionsFromWindow, ensureBodyElement } from \"./utils\";\nimport { listenPresetOptIn, deleteCookiesServer, getCookieConsentManager } from \"./others\";\nimport { tcfCmpApi } from \"./tcf\";\nimport * as API from \"./api\";\nimport { getWebpackPublicPath } from \"@devowl-wp/utils\";\nimport { printConsentUuidsToHTMLElement } from \"@devowl-wp/cookie-consent-web-client\";\nimport { OPT_OUT_ALL_EVENT, ready } from \"@devowl-wp/cookie-consent-web-client\";\nimport { getSsrPoweredByLink } from \"@devowl-wp/react-cookie-banner\";\n__webpack_public_path__ = getWebpackPublicPath(process.env.slug);\nlistenPresetOptIn();\ntcfCmpApi();\nready(() => {\n const {\n pageRequestUuid4\n } = getOtherOptionsFromWindow();\n const poweredLink = getSsrPoweredByLink(\"\".concat(pageRequestUuid4, \"-powered-by\"));\n const element = ensureBodyElement(document.getElementById(pageRequestUuid4));\n printConsentUuidsToHTMLElement(\".rcb-consent-history-uuids\", getCookieConsentManager());\n document.addEventListener(OPT_OUT_ALL_EVENT, async ({\n detail: {\n deleteHttpCookies\n }\n }) => {\n // Handle cookie deletion which needs to be done server-side (e. g. HTTP cookies)\n deleteHttpCookies.length && setTimeout(() => deleteCookiesServer(deleteHttpCookies), 0);\n });\n\n if (element) {\n render(h(WebsiteBanner, {\n poweredLink: poweredLink\n }), element);\n }\n}, \"interactive\"); // Expose public API\n\nif (window) {\n window.consentApi = API;\n}\n\nexport * from \"./api\";","import { tcfCmpApiDispatcher } from \"@devowl-wp/cookie-consent-web-client\";\nimport { CmpApi } from \"@iabtcf/cmpapi\";\nimport { getCookieConsentManager } from \"../others\";\nimport { getCmpVersion, getOtherOptionsFromWindow } from \"../utils\";\nlet cmpApiInstance;\n/**\n * Initialize a CMP API once for this page request. If TCF is not available, it will\n * return `undefined`.\n *\n * @see https://www.npmjs.com/package/@iabtcf/cmpapi\n */\n\nfunction tcfCmpApi() {\n const other = getOtherOptionsFromWindow();\n const {\n isTcf\n } = other;\n\n if (process.env.IS_TCF === \"1\" && isTcf) {\n const {\n tcf,\n tcfMetadata\n } = other;\n const {\n scope\n } = tcfMetadata; // Create instance only once\n\n if (!cmpApiInstance) {\n cmpApiInstance = new CmpApi(+process.env.TCF_CMP_ID, // Currently, only two bits (https://git.io/JmuD0) can be saved to the cmpVersion, so we can only save the major version\n getCmpVersion(\"major\"), scope === \"service-specific\"); // Dispatch events to vendors can listen to it\n\n setTimeout(() => tcfCmpApiDispatcher(tcf, tcfMetadata, cmpApiInstance, getCookieConsentManager().getOption(\"tcfCookieName\")), 0);\n }\n\n return cmpApiInstance;\n } else {\n return undefined;\n }\n}\n\nexport { tcfCmpApi };","/**\n * Ensure the given HTML is a child of `body`. If not, it automatically gets moved.\n */\nfunction ensureBodyElement(element) {\n const {\n body\n } = document;\n const {\n parentElement\n } = element;\n\n if (parentElement !== body) {\n body.appendChild(element);\n }\n\n return element;\n}\n\nexport { ensureBodyElement };","import { CookieConsentManager } from \"../apply\";\nimport { BANNER_PRE_DECISION_SHOW_EVENT, OPT_IN_ALL_EVENT } from \"../events\";\nimport { getUserDecision } from \".\";\n/**\n * Listen to opt-in so we can safely print the UUID of the current consent to HTML elements.\n */\n\nfunction printConsentUuidsToHTMLElement(selector, decisionCookieName) {\n const elements = Array.prototype.slice.call(document.querySelectorAll(selector));\n document.addEventListener(BANNER_PRE_DECISION_SHOW_EVENT, () => {\n elements.forEach(element => element.innerHTML = element.getAttribute(\"data-fallback\"));\n });\n document.addEventListener(OPT_IN_ALL_EVENT, () => {\n const consent = getUserDecision(decisionCookieName instanceof CookieConsentManager ? decisionCookieName.getOption(\"decisionCookieName\") : decisionCookieName);\n const allUuids = consent ? [consent.uuid, ...consent.previousUuids] : [];\n elements.forEach(element => element.innerHTML = allUuids.length > 0 ? allUuids.join(\", \") : element.getAttribute(\"data-fallback\"));\n });\n}\n\nexport { printConsentUuidsToHTMLElement };","import { commonRequest } from \"@devowl-wp/utils\";\nimport { getOptionsFromWindow } from \"../utils\";\nimport { locationRestConsentClearDelete } from \"../wp-api\";\n/**\n * Delete cookies on server side (currently only `http`).\n */\n\nfunction deleteCookiesServer(cookies) {\n const {\n restNamespace,\n restRoot,\n restQuery,\n restNonce\n } = getOptionsFromWindow();\n return commonRequest({\n location: locationRestConsentClearDelete,\n options: {\n restNamespace,\n restRoot,\n restQuery,\n restNonce\n },\n sendRestNonce: false,\n params: {\n cookies: cookies.join(\",\")\n }\n });\n}\n\nexport { deleteCookiesServer };","import { getOtherOptionsFromWindow } from \"../utils\";\n\nconst BannerProductionNotice = () => {\n const {\n isPro,\n isLicensed,\n isDevLicense,\n bannerI18n: {\n noLicense,\n devLicense\n }\n } = getOtherOptionsFromWindow();\n\n if (!isPro) {\n return null;\n }\n\n let useText = \"\";\n\n if (isDevLicense) {\n useText = devLicense;\n } else if (!isLicensed) {\n useText = noLicense;\n }\n\n return useText ? h(\"div\", {\n style: {\n fontSize: 13,\n color: \"#c95252\",\n fontWeight: \"bold\",\n order: 9\n }\n }, useText) : null;\n};\n\nexport { BannerProductionNotice };","import { RouteHttpVerb } from \"@devowl-wp/utils\";\nexport const locationRestConsentPost = {\n path: \"/consent\",\n method: RouteHttpVerb.POST\n};","import { getOtherOptionsFromWindow } from \"../utils\";\n/**\n * Apply Consent Forwarding, it set's cross domain cookies via CORS requests.\n *\n * @see https://javascript.info/fetch-crossorigin\n */\n\nfunction applyConsentForwarding({\n endpoints,\n data\n}) {\n const {\n isPro\n } = getOtherOptionsFromWindow();\n\n if (isPro) {\n /* onlypro:start */\n const promises = [];\n\n for (const endpoint of endpoints) {\n promises.push(window.fetch(endpoint, {\n method: \"POST\",\n credentials: \"include\",\n headers: {\n \"Content-Type\": \"application/json;charset=utf-8\"\n },\n body: JSON.stringify(data)\n }));\n }\n\n return Promise.all(promises);\n /* onlypro:start */\n } else {\n return Promise.reject();\n }\n}\n\nexport { applyConsentForwarding };","import { locationRestConsentPost } from \"../wp-api\";\nimport { getOptionsFromWindow } from \"../utils\";\nimport { applyConsentForwarding, getCookieConsentManager } from \".\";\nimport { commonRequest } from \"@devowl-wp/utils\";\n\n/**\n * Save consent to the backend and apply cookies on running session.\n */\nasync function applyConsent({\n consent,\n markAsDoNotTrack = false,\n buttonClicked,\n blocker = 0,\n blockerThumbnail,\n tcfString\n}) {\n const {\n clientWidth,\n clientHeight\n } = document.documentElement;\n const {\n restNamespace,\n restRoot,\n restQuery,\n restNonce\n } = getOptionsFromWindow(); // Use `commonRequest` cause on frontend we do not have `wp.i18n` available\n\n const {\n forward,\n uuid,\n cookie_revision,\n decision_in_cookie\n } = await commonRequest({\n location: locationRestConsentPost,\n options: {\n restNamespace,\n restRoot,\n restQuery,\n restNonce\n },\n sendRestNonce: false,\n request: { ...consent,\n markAsDoNotTrack,\n buttonClicked,\n viewPortWidth: clientWidth,\n viewPortHeight: clientHeight,\n blocker,\n blockerThumbnail,\n tcfString\n },\n params: {\n _wp_http_referer: window.location.href\n }\n }); // Does the browser support cookies? Save the decision locally in `window` so `getUserDecision` can fallback\n\n window.rcbDisabledCookieComp = {\n uuid,\n previousUuids: [],\n revision: cookie_revision,\n consent: decision_in_cookie\n };\n await Promise.all([// Apply consent forwarding and wait for all requests\n forward && applyConsentForwarding(forward), getCookieConsentManager().applyCookies({\n type: \"consent\"\n })].filter(Boolean));\n}\n\nexport { applyConsent };","import { getOptionsFromWindow } from \"./getOptionsFromWindow\";\n/**\n * Get the version of Real Cookie Banner as integer.\n */\n\nfunction getCmpVersion(type) {\n const split = getOptionsFromWindow().version.split(\".\");\n return +(type === \"major\" ? split[0] : split.map(i => +i < 10 ? \"0\".concat(i) : i).join(\"\")); // 1.11.1 => 1011000; 2.5.0 => 2005001;\n}\n\nexport { getCmpVersion };","import { CookieConsentManager } from \"@devowl-wp/cookie-consent-web-client\";\nimport { getCmpVersion, getOtherOptionsFromWindow } from \"../utils\";\n\nfunction getCookieConsentManager() {\n const {\n userConsentCookieName,\n revisionHash,\n setCookiesViaManager,\n groups,\n essentialGroup\n } = getOtherOptionsFromWindow();\n\n if (!window.rcbConsentManager) {\n window.rcbConsentManager = new CookieConsentManager({\n decisionCookieName: userConsentCookieName,\n essentialGroupSlug: essentialGroup,\n groups,\n revisionHash,\n supportsCookiesName: \"real_cookie_banner-test\",\n tagManager: setCookiesViaManager,\n skipOptIn: function (cookie) {\n const {\n presetId\n } = cookie;\n return [\"amazon-associates-widget\"].indexOf(presetId) > -1;\n },\n cmpId: process.env.TCF_CMP_ID,\n cmpVersion: getCmpVersion(\"major\"),\n tcfCookieName: \"\".concat(userConsentCookieName, \"-tcf\")\n });\n }\n\n return window.rcbConsentManager;\n}\n\nexport { getCookieConsentManager };","/**\n * Use this if you do not have the Mobx store available in your JavaScript asset.\n * E. g. the `banner.js` does not rely on the mobx store and should access the\n * localized options via `window.realCookieBanner` directly.\n */\nfunction getOptionsFromWindow() {\n return window[process.env.slug.replace(/-([a-z])/g, g => g[1].toUpperCase())];\n}\n\nexport { getOptionsFromWindow };","import { getOptionsFromWindow } from \"./getOptionsFromWindow\";\n/**\n * Use this if you do not have the Mobx store available in your JavaScript asset.\n * E. g. the `banner.js` does not rely on the mobx store and should access the\n * localized options via `window.realCookieBanner.others` directly.\n */\n\nfunction getOtherOptionsFromWindow() {\n return getOptionsFromWindow().others;\n}\n\nexport { getOtherOptionsFromWindow };","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var scriptUrl;\nif (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + \"\";\nvar document = __webpack_require__.g.document;\nif (!scriptUrl && document) {\n\tif (document.currentScript)\n\t\tscriptUrl = document.currentScript.src\n\tif (!scriptUrl) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tif(scripts.length) scriptUrl = scripts[scripts.length - 1].src\n\t}\n}\n// When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration\n// or pass an empty string (\"\") and set the __webpack_public_path__ variable from your code to use your own logic.\nif (!scriptUrl) throw new Error(\"Automatic publicPath is not supported in this browser\");\nscriptUrl = scriptUrl.replace(/#.*$/, \"\").replace(/\\?.*$/, \"\").replace(/\\/[^\\/]+$/, \"/\");\n__webpack_require__.p = scriptUrl;","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t392: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar [chunkIds, moreModules, runtime] = data;\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkIds[i]] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkrealCookieBanner_name_\"] = self[\"webpackChunkrealCookieBanner_name_\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [568], () => (__webpack_require__(9181)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["deferred","module","exports","getManagerDependingVariables","setCookiesViaManager","presetId","useGlobalObjectName","getDataLayer","expectedManagerPresetId","serviceIsManager","managerLabel","isGtm","isMtm","window","getServiceSelection","decisionCookieName","tagManager","groups","essentialGroupSlug","type","selectedGroups","isManagerActive","essentialGroupObj","filter","slug","consentEssentials","id","items","map","decision","getUserDecision","consent","console","warn","iterateServices","async","callback","group","service","_selectedGroups$group","isOptIn","indexOf","useTagManager","apply","options","ready","dataLayerPromise","isManagerOptOut","services","applyOptInReady","allOptInServices","skipOptIn","Promise","resolve","undefined","waitPromises","codeDynamics","codeOptIn","executeCodeOptInWhenNoTagManagerConsentIsGiven","isOnlyWhenNoConsentToManager","isSkipOptIn","push","putHtmlCodeToDom","summary","document","dispatchEvent","CustomEvent","detail","all","applyOptIn","applyOptInOutManagerReady","dataLayer","event","tagManagerOptInEventName","realCookieBannerOptInEvents","setTimeout","tagManagerOptOutEventName","realCookieBannerOptOutEvents","applyOptInOutManager","optInAllReady","deleteHttpCookies","allOptOutServices","optOutReady","codeOptOut","deleteTechnicalDefinitionsAfterOptOut","isEmbeddingOnlyExternalResources","technicalDefinitions","executeCodeOptOutWhenNoTagManagerConsentIsGiven","dynamics","name","pattern","RegExp","regExpPatternFromWildcardName","applyDynamicsToHtml","key","Object","keys","test","useStorage","localStorage","sessionStorage","itemName","setItem","e","tries","getItem","removeItem","deleteCookiesLocally","some","applyOptOut","CookieConsentManager","constructor","this","applyCookies","getOption","getDefaultDecision","respectLegitimateInterests","result","ids","legalBasis","length","getOptions","cookieName","cookieValue","supportsCookies","rcbDisabledCookieComp","split","string","separator","n","out","slice","join","explode","uuidString","revision","uuids","uuid","shift","previousUuids","JSON","parse","BANNER_PRE_DECISION_SHOW_EVENT","OPT_IN_EVENT","OPT_IN_ALL_EVENT","OPT_OUT_EVENT","OPT_OUT_ALL_EVENT","helperCreateResolvablePromise","r","memorizedReadyStatePromises","loading","complete","interactive","LISTEN_TO_EVENTS","fn","state","executed","cb","readyState","reached","interactiveReached","interactiveResolve","memorizeReadyState","addEventListener","then","tmp","replace","concat","str","opts","sameSite","cookie","DYNAMICS_VARIABLE_REGEXP","src","fullMatch","variableName","prototype","hasOwnProperty","call","HTML_ATTRIBUTE_CAPTURE_PREFIX","HTML_ATTRIBUTE_CAPTURE_CLICK_PREFIX","HTML_ATTRIBUTE_CAPTURE_SUFFIX","HTML_ATTRIBUTE_BY","HTML_ATTRIBUTE_COOKIE_IDS","HTML_ATTRIBUTE_VISUAL_PARENT","HTML_ATTRIBUTE_VISUAL_PAINT_MODE","HTML_ATTRIBUTE_INLINE","HTML_ATTRIBUTE_INLINE_STYLE","HTML_ATTRIBUTE_BLOCKER_ID","HTML_TAG_CONSENT_SCRIPT","HTML_ATTRIBUTE_BLOCKER_CONNECTED","HTML_ATTRIBUTE_BLOCKER_CONNECTED_PRESERVED","HTML_ATTRIBUTE_UNBLOCKED_TRANSACTION_COMPLETE","HTML_ATTRIBUTE_TRANSFORM_WRAPPER","HTML_ATTRIBUTE_TRANSFORM_WRAPPER_VALUE","HTML_ATTRIBUTE_WAS_PREVIOUSLY_STRICT_HIDDEN","HTML_ATTRIBUTE_RESET_PARENT","HTML_ATTRIBUTE_RESET_PARENT_VALUE","HTML_ATTRIBUTE_RESET_PARENT_IS_RATIO_CONTAINER","HTML_ATTRIBUTE_GOT_CLICKED","HTML_ATTRIBUTE_GOT_CLICKED_VALUE","HTML_ATTRIBUTE_GOT_CLICKED_VALUE_DO_NOT_USE_IN_NESTED","HTML_ATTRIBUTE_THUMBNAIL","WINDOW_ONLOAD_UNBLOCK_REPLACEMENT","html","referenceNode","body","done","error","beforeWriteToken","token","attrs","booleanAttrs","href","content","attr","querySelector","OPT_IN_CONTENT_BLOCKER","dispatchResizeEvent","delay","Event","htmlDecode","input","_doc$querySelector","DOMParser","parseFromString","documentElement","textContent","isUrl","url","parents","element","selector","elements","elem","parentElement","nodeType","Node","ELEMENT_NODE","AsciiSpinner","ms","chars","i","setI","interval","setInterval","clearInterval","h","dangerouslySetInnerHTML","__html","PlainAntdIconAsSvg","icon","rest","svgString","extraSVGAttrs","style","fill","CommonCheckbox","hideCheckbox","isPartial","isChecked","isDisabled","fontSize","onClick","children","after","CheckboxIcon","MinusOutlined","CheckOutlined","bannerOrBlocker","useBannerOrBlocker","isRendered","setIsRendered","layout","borderRadius","headlineFontSize","checkboxBg","checkboxBorderWidth","checkboxBorderColor","checkboxActiveBg","checkboxActiveBorderColor","checkboxActiveColor","customCss","antiAdBlocker","mobile","pageRequestUuid4","visible","checked","disabled","useFontSize","scale","useCheckboxBorderWidth","height","className","cursor","opacity","color","display","background","border","padding","width","marginRight","verticalAlign","lineHeight","boxSizing","commonInlineStyleGroupsCheckbox","CookieProperty","label","value","printValueAs","banner","i18n","yes","no","useValue","wordBreak","c","target","rel","groupBorderWidth","groupBorderColor","borderLeft","paddingLeft","commonInlineStyleGroupsCookieProperty","CookiePropertyList","purpose","provider","providerPrivacyPolicyUrl","ePrivacyUSA","isEssentialGroup","ePrivacyUSAEnabled","types","http","abbr","backgroundColor","local","session","flash","indexedDb","legalRequirement","legitimateInterest","host","duration","durationUnit","isSessionDuration","technicalCookieDefinition","fontFamily","noExpiration","Cookie","onToggleCheck","propertyListProps","descriptionFontSize","marginTop","commonInlineStyleGroupsCookie","marginBottom","Tooltip","title","position","size","always","rounded","noAnimate","bounce","ref","BannerContextFactory","static","context","useBanner","Context","BlockerContextFactory","useBlocker","FooterLink","anchorRest","isHover","setIsHover","onMouseEnter","onMouseLeave","footerDesign","fontColor","hoverFontColor","fontInheritFamily","design","linkTextDecoration","textDecoration","commonInlineStyleFooterLink","FooterPoweredByLink","poweredLink","affiliate","link","innerHTML","description","labelBehind","jsxJoin","components","filtered","Boolean","reduce","acc","curr","useCommonFooterLinks","onClose","putPoweredByLinkInRow","row1","close","poweredByLink","linkTarget","linkPrivacyPolicy","linkImprint","useLegalLinks","targetAttributes","rows","render","row","joinWithAndSeparator","arr","andSeparator","splice","supWithLineHeightFix","useCommonTeachings","disableDataProcessingInUnsafeCountries","disableAgeNotice","disableListServicesNotice","blocker","isEPrivacyUSA","ageNotice","isAgeNotice","listServicesNotice","isListServicesNotice","texts","ageNoticeBanner","consentForwardingExternalHosts","consentForwardingExternalHostsText","tcf","individualPrivacyOpen","individualTexts","individualDescription","essentialGroup","tcfBannerI18n","keepVariablesInTexts","consentForwardingExternalHostsFinalText","useDescription","servicesProcessingUnsafeCountries","flat","tcfVendorsProcessingUnsafeCountries","values","gvl","vendors","vendor","_additionalInformatio","additionalInformation","internationalTransfers","original","vendorConfigurations","useDataProcessingInUnsafeCountries","useAgeNotice","useListServicesNotice","hasBothPlaceholders","nonEssentialGroups","flattenSeparator","listServicesNames","groupIdx","listServiceGroupsNames","listOfServicesAppendix","teachings","legal","privacyPolicy","privacyPolicyExternalUrl","privacyPolicyIsExternalUrl","privacyPolicyLabel","imprint","imprintExternalUrl","imprintIsExternalUrl","imprintLabel","pageByIdUrl","pageIdToPermalink","counter","usePlainCss","css","uniqueId","keep","toString","getElementById","createElement","getElementsByTagName","appendChild","_element$parentNode","parentNode","removeChild","commonInlineStyleBodyTeaching","bodyDesign","teachingsInheritTextAlign","teachingsTextAlign","teachingsInheritFontSize","teachingsFontSize","teachingsInheritFontColor","teachingsFontColor","textAlign","commonInlineStyleBodyTeachingsSeparator","teachingsSeparatorActive","teachingsSeparatorWidth","teachingsSeparatorHeight","teachingsSeparatorColor","maxWidth","commonGroupsInlineStyleLinkMore","linkColor","linkHoverColor","commonInlineStyleHeaderHeadline","headerDesign","fontWeight","hasCloseIcon","paddingRight","scaleMobile","enabled","scalePercent","scalePercentVertical","useWidthOfThisContainerId","replaceWith","additionalVerticalScaling","getSsrPoweredByLink","originalPoweredLink","rcbPoweredByCacheOuterHTML","toLowerCase","outerHTML","matchingSelector","proto","Element","nativeFunction","matches","matchesSelector","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector","matchingElements","querySelectorAll","matchIdx","applyQueryString","query","merge","search","pool","recreateFetchPool","nonceDeprecationPool","nonce","restRecreateNonceEndpoint","resultPromise","reject","recreateFetch","fetch","ok","newNonce","text","returnNonce","parseResult","method","cloneForFallback","clone","json","lastError","line","startsWith","commonRequest","location","request","routeRequest","params","settings","cookieValueAsParam","multipart","sendRestNonce","apiUrl","URL","restRoot","permalinkPath","rest_route","pathname","foundParams","path","match","getParams","checkParam","_httpCookieInvalidate","stringify","protocol","usePath","namespace","restNamespace","restNonce","_wpnonce","s","_method","restQuery","commonUrlBuilder","allowBody","apiUrlBuilt","hasRestNonce","init","headers","Accept","responseJSON","replay","code","status","detectCorruptRestApiFailed","resultAny","RouteHttpVerb","untrailingslashit","endsWith","trailingslashit","getWebpackPublicPath","g","toUpperCase","publicUrl","chunkFolder","unblock","found","isPseudoRef","loop1","rules","rule","regexp","setAttribute","remove","preDecisionGatewaySupportsCookies","supportsCookiesName","isCrawler","userAgent","navigator","preDecisionGatewayDynamicRequest","timeout","active","revisionHash","predecision","promise","Error","preDecisionGatewayIsDoNotTrack","w","doNotTrack","msDoNotTrack","external","msTrackingProtectionEnabled","isDoNotTrack","preDecisionGatewayUserConsent","locationRestConsentDynamicPredecisionGet","isHiddenDueLegal","imprintHide","privacyPolicyHide","pageId","useBannerAnimation","isMobile","innerWidth","isMobileFirefox","term","animationIn","animationInOnlyMobile","animationOut","animationOutOnlyMobile","useAnimationIn","useAnimationOut","cancelEvent","preventDefault","stopPropagation","HREF_MATCHER","useResettableAnimation","animation","j","setJ","stateAnimation","setStateAnimation","stateAnimationReset","setStateAnimationReset","stateDuration","setStateDuration","stateDurationReset","setStateDurationReset","hexToRgb","hex","exec","parseInt","b","calculateRgba","alpha","getAnimationRelatedState","isVisible","animationInDuration","animationOutDuration","animationInDelay","animationOutDelay","AnimatedCss","animateOnMount","setAnimationRelatedState","classes","backwardStyle","transition","animationDelay","animationDuration","pointerEvents","useRenderedHeightsAsCssVars","cssId","cssElement","previousHeight","recalculate","currentHeight","getBoundingClientRect","Math","floor","animateContainer","ResizeObserver","ro","observe","disconnect","removeEventListener","useBannerButtonCallbacks","onSave","updateGroupChecked","updateCookieChecked","updateIndividualPrivacyOpen","activeAction","buttonClickedAll","buttonClickedEssentials","buttonClickedCloseIcon","buttonClickedCustom","acceptAll","forEach","acceptEssentials","isCloseIcon","cookieId","acceptIndividual","openIndividualPrivacy","closeIcon","Portal","tag","renderInContainer","renderIn","el","classList","add","CloseIcon","tooltipText","framed","tooltipAlways","thickness","idCloseIconNotPortaled","idCloseIconPortaled","idCloseIconPlaceholder","rect","y","x","BannerCloseIcon","closeWithoutSaving","buttonClicked","container","clientWidth","BannerHeader","_","logo","logoRetina","showCloseIcon","headline","headerTitlePrivacyPolicyHistory","useRetina","devicePixelRatio","useLogo","useHeadline","dialogBorderRadius","borderWidth","borderColor","restDesign","inheritBg","bg","useType","useBorderWidth","p","zIndex","top","borderTop","borderRight","bannerHeaderInlineStyleContainer","bannerMaxWidth","inheritTextAlign","logoPosition","restHeaderDesign","individualLayout","useTextAlign","inheritBannerMaxWidth","margin","justifyContent","alignItems","flexDirection","bannerHeaderInlineStyle","alt","logoMaxHeight","logoMargin","logoFitDim","logoRetinaFitDim","isRetina","useFitDim","m","bannerHeaderInlineStyleLogo","BannerGroupSectionTitle","headlineFontColor","headlineFontWeight","bannerGroupsInlineStyleTitle","descriptionFontColor","bannerGroupsInlineStyleDescription","CommonLinkMore","onToggle","showMore","hideMore","isOpen","setIsOpen","newOpen","BannerCookie","_consent$groups","handleCheckbox","BannerGroup","_consent$groups$id","previewCheckboxActiveState","sort","groupBg","groupBorderRadius","groupPadding","groupInheritBg","useGroupBorderWidth","bannerGroupsInlineStyleGroup","BannerGroupList","groupSpacing","useGroups","clear","bannerGroupsInlineStyle","index","BannerDottedGroup","groupsFirstView","dottedGroupsInheritFontSize","dottedGroupsFontSize","whiteSpace","bannerInlineStyleBodyDottedGroupItem","dottedGroupsBulletColor","bannerInlineStyleBodyDottedGroupBullet","BannerDottedGroupList","showGroups","lineBreak","bannerInlineStyleBodyDottedGroups","BannerHistorySelect","selectedId","setSelectedId","history","selectHistoryEntry","historyLabel","historySelectNone","selectedHistoryItem","_history$filter","optionStyle","bannerInlineStyleHistorySelectOption","descriptionInheritFontSize","borderBottom","bannerInlineStyleHistorySelect","onChange","isUnblock","isForwarded","created","Date","toLocaleString","lang","bannerButtonsInlineStyleCommon","order","hoverBg","hoverBorderColor","isTwoButtonRowLayout","fullWidth","marginLeft","overflow","outline","flex","bannerButtonsInlineStyleAcceptEssentials","isTcf","acceptEssentialsFontSize","acceptEssentialsBg","acceptEssentialsTextAlign","acceptEssentialsBorderColor","acceptEssentialsPadding","acceptEssentialsBorderWidth","acceptEssentialsFontColor","acceptEssentialsFontWeight","acceptEssentialsHoverBg","acceptEssentialsHoverFontColor","acceptEssentialsHoverBorderColor","acceptAllFontWeight","acceptAllFontSize","acceptAllPadding","bannerButtonsInlineStyleAcceptIndividual","acceptIndividualFontSize","acceptIndividualBg","acceptIndividualTextAlign","acceptIndividualBorderColor","acceptIndividualPadding","acceptIndividualBorderWidth","acceptIndividualFontColor","acceptIndividualFontWeight","acceptIndividualHoverBg","acceptIndividualHoverFontColor","acceptIndividualHoverBorderColor","bannerButtonsInlineStyleSave","saveButton","bannerButtonsInlineStyleAcceptAll","acceptAllBg","acceptAllTextAlign","acceptAllBorderColor","acceptAllBorderWidth","acceptAllFontColor","acceptAllHoverBg","acceptAllHoverFontColor","acceptAllHoverBorderColor","BannerButton","inlineStyle","busyOnClick","isBusy","setIsBusy","handleOnClick","acceptAllOneRowLayout","acceptEssentialsUseAcceptAll","useAcceptEssentials","interactionAttr","useStyleFn","BannerButtonList","buttonOrder","buttonOrderString","acceptAllText","acceptEssentialsText","acceptIndividualText","saveButtonType","useAcceptAll","saveButtonUseAcceptAll","save","didGroupFirstChange","productionNotice","buttonOrderAll","essential","buttonOrderEssential","individual","buttonOrderIndividual","buttonOrderSave","buttonToOrder","previous","orderToButton","handleAll","handleEssentials","handleIndividual","BannerBody","leftSideContainerRef","rightSideContainerRef","_document$getElementB","leftSideId","rightSideId","contentId","stackOrGroups","leftSide","usePadding","float","paddingTop","paddingBottom","bannerInlineStylesLeftSide","descriptionTextAlign","bannerInlineStyleBodyDescription","teaching","rightSide","dialogMaxWidth","inheritDialogMaxWidth","flexWrap","bannerInlineStylesRightSide","bannerInlineStyleBodyContainer","bannerInlineStyleBody","BannerFooter","isConsentRecord","handleClose","links","renderLinks","useCommonFooterLink","bottom","bannerFooterInlineStyleContainer","bannerFooterInlineStyle","BannerContent","current","currentRef","showHeader","hideHeader","showScrollBoxShadow","setShowScrollBoxShadow","updateShowScrollBoxShadow","clientHeight","scrollHeight","scrollTop","offsetHeight","hasScrollbar","scrolledToBottom","ceil","platform","headerRef","footerRef","innerHeight","mobileMaxHeight","maxHeight","useMobileMaxHeight","closeIconDistance","bannerContentInlineStyle","useDesignBorderWidth","bannerHeaderInlineStyleSeparator","bannerFooterInlineStyleSeparator","BannerAnimatedContent","animationVisible","stateAnimationIn","stateAnimationInDuration","stateAnimationOut","stateAnimationOutDuration","dialogPosition","dialogMargin","bannerPosition","boxShadowEnabled","boxShadowOffsetX","boxShadowOffsetY","boxShadowBlurRadius","boxShadowSpreadRadius","boxShadowColor","boxShadowColorAlpha","alignment","mobileAlignment","alignSelf","boxShadow","bannerContentInlineStyleInner","Banner","skipOverlay","gotHiddenDueLegal","hiddenDueLegal","show","overlay","overlayBlur","showOverlay","bodyClassRcbOverlayActive","dataset","rcbPreviousOverflow","useRestrictScrollWhenVisible","setInvalidate","updateSize","fetchHistory","originalConsent","setOriginalConsent","consentGroups","useBannerHistory","openBanner","openHistory","revokeConsent","handleType","successMessage","eventListenerDocumentClick","parent","getAttribute","eventListenerHashChange","hash","substring","useBannerActionLinks","bannerOverlayInlineStyleAlignment","overlayBg","overlayBgAlpha","left","right","bannerOverlayInlineStyle","locationRestConsentGet","WebsiteBanner","customizeValuesBanner","tcfMetadata","userConsentCookieName","bannerI18n","isCurrentlyInTranslationEditorPreview","getOtherOptionsFromWindow","userDecision","tcfObject","tcfMeta","useTcf","toggleOverlay","useBannerAnimationCallback","useDuration","trim","useBannerToggleOverlay","updateTcfFilterBy","toggleWithActiveAction","setContextValue","refreshSiteAfterSave","args","alert","reload","newFilter","tcfFilterBy","opened","newConsent","groupId","cookieIds","additionalChanges","useBannerStateContextCallbacks","applyConsent","getCookieConsentManager","tcfString","contextValue","markAsDoNotTrack","appliedConsent","getOptionsFromWindow","customizeIdsBanner","others","isAcceptAllForBots","isPreventPreDecision","hasDynamicPreDecisions","isRespectDoNotTrack","resultIfBot","preventPreDecision","classNames","handler","useOptions","gateways","onIsDoNotTrack","onShowCookieBanner","gateway","applyWithOptions","preDecisionGateway","viewPortWidth","viewPortHeight","_wp_http_referer","useBannerPreDecisionGateway","listener","useBannerConsentListener","BannerContext","Provider","waitObject","getObject","delayNextCheck","maxTries","amazonWidgetsSlotNum","locationRestConsentClearDelete","consentSync","typeOrId","allCookies","relevance","td","already","relevantCookie","a","consentGiven","cookieOptIn","foundCookie","consentAll","amznAssoWidgetHtmlId","slotNum","adContainer","et_pb_map_init","jQuery","google","other","tcfCmpApi","ensureBodyElement","Array","allUuids","printConsentUuidsToHTMLElement","cookies","deleteCookiesServer","consentApi","BannerProductionNotice","isPro","isLicensed","isDevLicense","noLicense","devLicense","useText","locationRestConsentPost","applyConsentForwarding","endpoints","data","promises","endpoint","credentials","blockerThumbnail","forward","cookie_revision","decision_in_cookie","getCmpVersion","version","rcbConsentManager","cmpId","cmpVersion","tcfCookieName","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","O","chunkIds","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","d","definition","o","defineProperty","enumerable","get","globalThis","Function","obj","prop","Symbol","toStringTag","scriptUrl","importScripts","currentScript","scripts","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","bind","__webpack_exports__"],"sourceRoot":""}
public/dist/customize_banner.lite.js CHANGED
@@ -1,2 +1,2 @@
1
- var realCookieBanner_customize_banner;(()=>{"use strict";var e,t={6975:(e,t,o)=>{o.r(t),o.d(t,{ChecklistStore:()=>Mo,ConsentStore:()=>Ro,CookieStore:()=>Ot,CustomizeBannerStore:()=>Be,OptionStore:()=>me,RootStore:()=>ti,ScannerStore:()=>ei,StatsStore:()=>Ao,TcfStore:()=>kr,useStores:()=>oi});var r=o(1533),i=o(7821);const n=devowlWp_utils;var a=o(6724),s=o(9303);const l={path:"/settings",namespace:"wp/v2",method:n.RouteHttpVerb.GET},c={path:"/settings",namespace:"wp/v2",method:n.RouteHttpVerb.PATCH},p={path:"/revision/current",method:n.RouteHttpVerb.GET},u={path:"/revision/current",method:n.RouteHttpVerb.PUT},d={path:"/dismiss-config-page-pro-notice",method:n.RouteHttpVerb.DELETE},h={path:"/migration/:migration",method:n.RouteHttpVerb.DELETE},b={path:"/nav-menu/add-links",method:n.RouteHttpVerb.POST},f={path:"/country-bypass/database",method:n.RouteHttpVerb.PUT};let m;const g=(...e)=>(m||(m=(0,n.createRequestFactory)(window[n.BaseOptions.getPureSlug("real-cookie-banner",!0)]))).request(...e),y={path:"/modal-hint",method:n.RouteHttpVerb.PUT};var v,w,k,C,x,S,R,E,Z,P,O,A,z,D,I,B,T,M,U,F,_,j,L,N,V,W,H,q,G,Y,X,J,$,Q,K,ee,te,oe,re,ie,ne,ae,se,le,ce,pe,ue,de,he,be,fe;let me=(v=class extends n.BaseOptions{get isOnlyRcbCookieCreated(){return!(1!==this.allCookieCount||this.tcf&&this.allTcfVendorConfigurationCount)}get areSettingsFetched(){return void 0!==this.respectDoNotTrack}constructor(e){super(),(0,a.Z)(this,"busySettings",w,this),(0,a.Z)(this,"busyCountryBypassUpdate",k,this),(0,a.Z)(this,"busyAddLinksToNavigationMenu",C,this),(0,a.Z)(this,"needsRevisionRetrigger",x,this),(0,a.Z)(this,"publicCookieCount",S,this),(0,a.Z)(this,"allCookieCount",R,this),(0,a.Z)(this,"allBlockerCount",E,this),(0,a.Z)(this,"allTcfVendorConfigurationCount",Z,this),(0,a.Z)(this,"allScannerResultPresetsCount",P,this),(0,a.Z)(this,"allScannerResultExternalUrlsCount",O,this),(0,a.Z)(this,"cookieCounts",A,this),(0,a.Z)(this,"nav_menus",z,this),(0,a.Z)(this,"tcfVendorConfigurationCounts",D,this),(0,a.Z)(this,"hasManager",I,this),(0,a.Z)(this,"contexts",B,this),(0,a.Z)(this,"dashboardMigration",T,this),(0,a.Z)(this,"fomoCoupon",M,this),(0,a.Z)(this,"bannerActive",U,this),(0,a.Z)(this,"blockerActive",F,this),(0,a.Z)(this,"imprintId",_,this),(0,a.Z)(this,"imprintExternalUrl",j,this),(0,a.Z)(this,"imprintIsExternalUrl",L,this),(0,a.Z)(this,"privacyPolicyId",N,this),(0,a.Z)(this,"privacyPolicyExternalUrl",V,this),(0,a.Z)(this,"privacyPolicyIsExternalUrl",W,this),(0,a.Z)(this,"hidePageIds",H,this),(0,a.Z)(this,"setCookiesViaManager",q,this),(0,a.Z)(this,"acceptAllForBots",G,this),(0,a.Z)(this,"respectDoNotTrack",Y,this),(0,a.Z)(this,"cookieDuration",X,this),(0,a.Z)(this,"saveIp",J,this),(0,a.Z)(this,"ePrivacyUSA",$,this),(0,a.Z)(this,"ageNotice",Q,this),(0,a.Z)(this,"listServicesNotice",K,this),(0,a.Z)(this,"consentForwarding",ee,this),(0,a.Z)(this,"forwardTo",te,this),(0,a.Z)(this,"crossDomains",oe,this),(0,a.Z)(this,"affiliateLink",re,this),(0,a.Z)(this,"affiliateLabelBehind",ie,this),(0,a.Z)(this,"affiliateLabelDescription",ne,this),(0,a.Z)(this,"countryBypass",ae,this),(0,a.Z)(this,"countryBypassCountries",se,this),(0,a.Z)(this,"countryBypassType",le,this),(0,a.Z)(this,"countryBypassDbDownloadTime",ce,this),(0,a.Z)(this,"tcf",pe,this),(0,a.Z)(this,"tcfPublisherCc",ue,this),(0,a.Z)(this,"tcfAcceptedTime",de,this),(0,a.Z)(this,"tcfGvlDownloadTime",he,this),(0,a.Z)(this,"tcfScopeOfConsent",be,this),(0,a.Z)(this,"others",fe,this),this.pureSlug=void 0,this.pureSlugCamelCased=void 0,this.rootStore=void 0,this.fetchSettings=(0,i.flow)((function*(e){this.busySettings=!0;try{const t=e||(yield g({location:l}));this.bannerActive=t["rcb-banner-active"],this.blockerActive=t["rcb-blocker-active"],this.imprintId=t["rcb-banner-legal-imprint"],this.imprintExternalUrl=t["rcb-banner-legal-imprint-external-url"],this.imprintIsExternalUrl=t["rcb-banner-legal-imprint-is-external-url"],this.privacyPolicyId=t["rcb-banner-legal-privacy-policy"],this.privacyPolicyExternalUrl=t["rcb-banner-legal-privacy-policy-external-url"],this.privacyPolicyIsExternalUrl=t["rcb-banner-legal-privacy-policy-is-external-url"],this.hidePageIds=(t["rcb-hide-page-ids"]||"").split(",").map(Number).filter(Boolean),this.setCookiesViaManager=t["rcb-set-cookies-via-manager"]||"none",this.acceptAllForBots=t["rcb-accept-all-for-bots"],this.respectDoNotTrack=t["rcb-respect-do-not-track"],this.cookieDuration=t["rcb-cookie-duration"],this.saveIp=t["rcb-save-ip"],this.ePrivacyUSA=t["rcb-eprivacy-usa"],this.ageNotice=t["rcb-age-notice"],this.listServicesNotice=t["rcb-list-services-notice"],this.consentForwarding=t["rcb-consent-forwarding"]||!1,this.forwardTo=(t["rcb-forward-to"]||"").split("|").filter(Boolean),this.crossDomains=t["rcb-cross-domains"]||"",this.countryBypass=t["rcb-country-bypass"],this.countryBypassCountries=(t["rcb-country-bypass-countries"]||"").split(",").filter(Boolean),this.countryBypassType=t["rcb-country-bypass-type"],this.countryBypassDbDownloadTime=t["rcb-country-bypass-db-download-time"],this.tcf=t["rcb-tcf"],this.tcfPublisherCc=t["rcb-tcf-publisher-cc"],this.tcfAcceptedTime=t["rcb-tcf-accepted-time"],this.tcfGvlDownloadTime=t["rcb-tcf-gvl-download-time"],this.tcfScopeOfConsent=t["rcb-tcf-scope-of-consent"],yield this.fetchCurrentRevision()}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.updateSettings=(0,i.flow)((function*({bannerActive:e,blockerActive:t,imprintId:o,privacyPolicyId:r,hidePageIds:i,setCookiesViaManager:n,acceptAllForBots:a,respectDoNotTrack:s,cookieDuration:l,saveIp:p,ePrivacyUSA:u,ageNotice:d,listServicesNotice:h,consentForwarding:b,forwardTo:f,crossDomains:m,affiliateLink:y,affiliateLabelBehind:v,affiliateLabelDescription:w,countryBypass:k,countryBypassCountries:C,countryBypassType:x,tcf:S,tcfPublisherCc:R,tcfScopeOfConsent:E}){this.busySettings=!0;try{const y=yield g({location:c,request:{...void 0===e?{}:{"rcb-banner-active":e},...void 0===t?{}:{"rcb-blocker-active":t},...void 0===o?{}:{"rcb-banner-legal-imprint":o},...void 0===r?{}:{"rcb-banner-legal-privacy-policy":r},...void 0===i?{}:{"rcb-hide-page-ids":i.join(",")},...void 0===n?{}:{"rcb-set-cookies-via-manager":n},...void 0===a?{}:{"rcb-accept-all-for-bots":a},...void 0===s?{}:{"rcb-respect-do-not-track":s},...void 0===l?{}:{"rcb-cookie-duration":l},...void 0===p?{}:{"rcb-save-ip":p},...void 0===u?{}:{"rcb-eprivacy-usa":u},...void 0===d?{}:{"rcb-age-notice":d},...void 0===h?{}:{"rcb-list-services-notice":h},...void 0===b?{}:{"rcb-consent-forwarding":b},...void 0===f?{}:{"rcb-forward-to":f.join("|")},...void 0===m?{}:{"rcb-cross-domains":m},...void 0===k?{}:{"rcb-country-bypass":k},...void 0===C?{}:{"rcb-country-bypass-countries":C.join(",")},...void 0===x?{}:{"rcb-country-bypass-type":x},...void 0===S?{}:{"rcb-tcf":S},...void 0===R?{}:{"rcb-tcf-publisher-cc":R},...void 0===E?{}:{"rcb-tcf-scope-of-consent":E}}});this.fetchSettings(y),this.rootStore.checklistStore.probablyFetchByChangedItem(["save-settings","activate-banner","privacy-policy"])}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.fetchCurrentRevision=(0,i.flow)((function*(){this.busySettings=!0;try{this.setFromCurrentRevision(yield g({location:p}))}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.updateCurrentRevision=(0,i.flow)((function*(e){this.busySettings=!0;try{this.setFromCurrentRevision(yield g({location:u,request:e}))}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.setModalHintSeen=(0,i.flow)((function*(e){this.busySettings=!0;try{this.others.modalHints.push(e),yield g({location:y,request:{identifier:e}})}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.dismissConfigProNotice=(0,i.flow)((function*(){try{this.others.isConfigProNoticeVisible=!1,yield g({location:d})}catch(e){throw console.log(e),e}})),this.dismissMigration=(0,i.flow)((function*(){try{const{id:e}=this.dashboardMigration;this.dashboardMigration=void 0,yield g({location:h,params:{migration:e}})}catch(e){throw console.log(e),e}})),this.addLinksToNavigationMenu=(0,i.flow)((function*(e){this.busyAddLinksToNavigationMenu=!0;try{const{success:t}=yield g({location:b,request:{id:e}});return t&&(this.rootStore.checklistStore.fetchChecklist(),yield this.fetchCurrentRevision()),t}catch(e){throw console.log(e),e}finally{this.busyAddLinksToNavigationMenu=!1}})),this.updateCountryBypassDatabase=(0,i.flow)((function*(){this.busyCountryBypassUpdate=!0;try{const{dbDownloadTime:e}=yield g({location:f});this.countryBypassDbDownloadTime=e}catch(e){throw console.log(e),e}finally{this.busyCountryBypassUpdate=!1}})),this.rootStore=e,this.pureSlug=n.BaseOptions.getPureSlug("real-cookie-banner"),this.pureSlugCamelCased=n.BaseOptions.getPureSlug("real-cookie-banner",!0),(0,i.runInAction)((()=>Object.assign(this,window[this.pureSlugCamelCased])))}setFromCurrentRevision({contexts:e,has_manager:t,needs_retrigger:o,public_cookie_count:r,all_cookie_count:i,all_blocker_count:n,all_tcf_vendor_configuration_count:a,all_scanner_result_presets_count:s,all_scanner_result_external_urls_count:l,cookie_counts:c,nav_menus:p,tcf_vendor_configuration_counts:u,dashboard_migration:d,fomo_coupon:h}){this.hasManager=t,this.needsRevisionRetrigger=o,this.publicCookieCount=r,this.allCookieCount=i,this.allBlockerCount=n,this.allTcfVendorConfigurationCount=a,this.allScannerResultPresetsCount=s,this.allScannerResultExternalUrlsCount=l,this.cookieCounts=c,this.nav_menus=p,this.tcfVendorConfigurationCounts=u,this.contexts=e,this.dashboardMigration=d,this.fomoCoupon=h}setShowLicenseFormImmediate(e,t){this.others.showLicenseFormImmediate=e,this.others.isLicensed=t}},w=(0,s.Z)(v.prototype,"busySettings",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),k=(0,s.Z)(v.prototype,"busyCountryBypassUpdate",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),C=(0,s.Z)(v.prototype,"busyAddLinksToNavigationMenu",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),x=(0,s.Z)(v.prototype,"needsRevisionRetrigger",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),S=(0,s.Z)(v.prototype,"publicCookieCount",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),R=(0,s.Z)(v.prototype,"allCookieCount",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),E=(0,s.Z)(v.prototype,"allBlockerCount",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),Z=(0,s.Z)(v.prototype,"allTcfVendorConfigurationCount",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),P=(0,s.Z)(v.prototype,"allScannerResultPresetsCount",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),O=(0,s.Z)(v.prototype,"allScannerResultExternalUrlsCount",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),A=(0,s.Z)(v.prototype,"cookieCounts",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{draft:0,private:0,publish:0}}}),z=(0,s.Z)(v.prototype,"nav_menus",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),D=(0,s.Z)(v.prototype,"tcfVendorConfigurationCounts",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=(0,s.Z)(v.prototype,"hasManager",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),B=(0,s.Z)(v.prototype,"contexts",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{"":""}}}),T=(0,s.Z)(v.prototype,"dashboardMigration",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=(0,s.Z)(v.prototype,"fomoCoupon",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U=(0,s.Z)(v.prototype,"bannerActive",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),F=(0,s.Z)(v.prototype,"blockerActive",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),_=(0,s.Z)(v.prototype,"imprintId",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=(0,s.Z)(v.prototype,"imprintExternalUrl",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),L=(0,s.Z)(v.prototype,"imprintIsExternalUrl",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=(0,s.Z)(v.prototype,"privacyPolicyId",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=(0,s.Z)(v.prototype,"privacyPolicyExternalUrl",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),W=(0,s.Z)(v.prototype,"privacyPolicyIsExternalUrl",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=(0,s.Z)(v.prototype,"hidePageIds",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=(0,s.Z)(v.prototype,"setCookiesViaManager",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=(0,s.Z)(v.prototype,"acceptAllForBots",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=(0,s.Z)(v.prototype,"respectDoNotTrack",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X=(0,s.Z)(v.prototype,"cookieDuration",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=(0,s.Z)(v.prototype,"saveIp",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$=(0,s.Z)(v.prototype,"ePrivacyUSA",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=(0,s.Z)(v.prototype,"ageNotice",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),K=(0,s.Z)(v.prototype,"listServicesNotice",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ee=(0,s.Z)(v.prototype,"consentForwarding",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),te=(0,s.Z)(v.prototype,"forwardTo",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),oe=(0,s.Z)(v.prototype,"crossDomains",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),re=(0,s.Z)(v.prototype,"affiliateLink",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ie=(0,s.Z)(v.prototype,"affiliateLabelBehind",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ne=(0,s.Z)(v.prototype,"affiliateLabelDescription",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ae=(0,s.Z)(v.prototype,"countryBypass",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),se=(0,s.Z)(v.prototype,"countryBypassCountries",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),le=(0,s.Z)(v.prototype,"countryBypassType",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ce=(0,s.Z)(v.prototype,"countryBypassDbDownloadTime",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),pe=(0,s.Z)(v.prototype,"tcf",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ue=(0,s.Z)(v.prototype,"tcfPublisherCc",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),de=(0,s.Z)(v.prototype,"tcfAcceptedTime",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),he=(0,s.Z)(v.prototype,"tcfGvlDownloadTime",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),be=(0,s.Z)(v.prototype,"tcfScopeOfConsent",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),fe=(0,s.Z)(v.prototype,"others",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(v.prototype,"isOnlyRcbCookieCreated",[i.computed],Object.getOwnPropertyDescriptor(v.prototype,"isOnlyRcbCookieCreated"),v.prototype),(0,s.Z)(v.prototype,"areSettingsFetched",[i.computed],Object.getOwnPropertyDescriptor(v.prototype,"areSettingsFetched"),v.prototype),(0,s.Z)(v.prototype,"setFromCurrentRevision",[i.action],Object.getOwnPropertyDescriptor(v.prototype,"setFromCurrentRevision"),v.prototype),(0,s.Z)(v.prototype,"setShowLicenseFormImmediate",[i.action],Object.getOwnPropertyDescriptor(v.prototype,"setShowLicenseFormImmediate"),v.prototype),v);const ge={path:"/presets/banner",method:n.RouteHttpVerb.GET},ye=devowlWp_customize;var ve,we,ke,Ce,xe,Se,Re;let Ee=(ve=class e{constructor(e,t){(0,a.Z)(this,"id",we,this),(0,a.Z)(this,"name",ke,this),(0,a.Z)(this,"needsPro",Ce,this),(0,a.Z)(this,"description",xe,this),(0,a.Z)(this,"tags",Se,this),(0,a.Z)(this,"settings",Re,this),this.store=void 0,this.resetPreviewInUiSettings=void 0,(0,i.runInAction)((()=>(0,i.set)(this,e))),this.store=t}static getIframeStore(){try{return document.querySelector("#customize-preview > iframe").contentWindow.realCookieBanner_customize_banner.RootStore.get}catch(e){return}}applyInUi(){return!(!this.store.rootStore.optionStore.others.isPro&&this.needsPro||(this.previewInUi(),setTimeout((()=>{const e=(0,ye.getSidebarCustomize)();this.store.presetDefaults.forEach(((t,o)=>{e(o).set(void 0===this.settings[o]?t:this.settings[o])}))}),100),0))}previewInUi(){const t=(0,ye.getSidebarCustomize)(),{presetDefaults:o}=this.store,{settings:r}=this.store.rootStore.optionStore.others.customizeIdsBanner,i=[];this.resetPreviewInUiSettings={};for(const e of Object.keys(r)){const n=r[e];for(const r of Object.keys(n)){const a=n[r];if(!o.has(a))continue;this.resetPreviewInUiSettings[a]=[e,r,t(a).get()];const s=Object.prototype.hasOwnProperty.call(this.settings,a)?this.settings[a]:o.get(a);i.push([e,r,s])}}e.getIframeStore().customizeBannerStore.setBannerFromPreset(i)}resetPreviewInUi(){this.resetPreviewInUiSettings&&(e.getIframeStore().customizeBannerStore.setBannerFromPreset(Object.values(this.resetPreviewInUiSettings)),this.resetPreviewInUiSettings={})}},we=(0,s.Z)(ve.prototype,"id",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ke=(0,s.Z)(ve.prototype,"name",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ce=(0,s.Z)(ve.prototype,"needsPro",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),xe=(0,s.Z)(ve.prototype,"description",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Se=(0,s.Z)(ve.prototype,"tags",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Re=(0,s.Z)(ve.prototype,"settings",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ve);var Ze,Pe,Oe,Ae,ze,De,Ie;let Be=(Ze=class{constructor(e){(0,a.Z)(this,"visible",Pe,this),(0,a.Z)(this,"animationVisible",Oe,this),(0,a.Z)(this,"individualPrivacyOpen",Ae,this),(0,a.Z)(this,"previewCheckboxActiveState",ze,this),(0,a.Z)(this,"busyPresets",De,this),(0,a.Z)(this,"presets",Ie,this),this.rootStore=void 0,this.presetConstants=new Map,this.presetDefaults=new Map,this.debounceFromCustomize={},this.fetchPresets=(0,i.flow)((function*(){this.busyPresets=!0;try{const{defaults:e,constants:t,items:o}=yield g({location:ge});for(const t of Object.keys(e))this.presetDefaults.set(t,e[t]);for(const e of Object.keys(t))this.presetConstants.set(e,t[e]);for(const e of Object.keys(o))this.presets.set(e,new Ee({id:e,...o[e]},this))}catch(e){throw console.log(e),e}finally{this.busyPresets=!1}})),this.rootStore=e}setBannerFromCustomize(e,t,o,r=!0){const{customizeValuesBanner:i}=this.rootStore.optionStore.others,n=t.toString();if(r&&["css","animationInDuration","animationOutDuration"].indexOf(n)>-1)clearTimeout(this.debounceFromCustomize[n]),this.debounceFromCustomize[n]=setTimeout((()=>this.setBannerFromCustomize(e,t,o,!1)),500);else{const r=i[e][t];i[e][t]=o,n.startsWith("animationOut")&&r!==o&&this.forceAnimationOutSimulation()}}setBannerFromPreset(e){for(const t of e){const[e,o,r]=t;this.rootStore.optionStore.others.customizeValuesBanner[e][o]=r}}forceAnimationOutSimulation(){const{customizeValuesBanner:e}=this.rootStore.optionStore.others;"none"!==e.layout.animationOut&&(this.animationVisible=!1,setTimeout((()=>(0,i.runInAction)((()=>{this.animationVisible=!0}))),+e.layout.animationOutDuration+1e3))}setVisible(e){this.visible=e}setIndividualPrivacyOpen(e){this.individualPrivacyOpen=e}setPreviewCheckboxActiveState(e){this.previewCheckboxActiveState=e}exportPhp(){const e={},t=(0,ye.getSidebarCustomize)();return this.presetDefaults.forEach(((o,r)=>{let i=t(r).get();"boolean"==typeof o?i=!!+i:isNaN(i)||""===i||(i=+i),JSON.stringify(o)!==JSON.stringify(i)&&(e[this.presetConstants.get(r)]=i)})),this.jsonToPHPArray(e)}jsonToPHPArray(e){const t=JSON.stringify(e,null,4).split("\n");return t.shift(),t.pop(),t.join("\n").replace(/^(\s+)"([A-Za-z\\]+::[A-Z_]+)"(:)/gm,"$1$2 =>").replace(/^(\s+)([A-Za-z\\]+)::/gm,((e,t,o)=>"".concat(t).concat(o.replace(/\\\\/gm,"\\"),"::")))}},Pe=(0,s.Z)(Ze.prototype,"visible",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Oe=(0,s.Z)(Ze.prototype,"animationVisible",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),Ae=(0,s.Z)(Ze.prototype,"individualPrivacyOpen",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),ze=(0,s.Z)(Ze.prototype,"previewCheckboxActiveState",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),De=(0,s.Z)(Ze.prototype,"busyPresets",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Ie=(0,s.Z)(Ze.prototype,"presets",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,s.Z)(Ze.prototype,"setBannerFromCustomize",[i.action],Object.getOwnPropertyDescriptor(Ze.prototype,"setBannerFromCustomize"),Ze.prototype),(0,s.Z)(Ze.prototype,"setBannerFromPreset",[i.action],Object.getOwnPropertyDescriptor(Ze.prototype,"setBannerFromPreset"),Ze.prototype),(0,s.Z)(Ze.prototype,"forceAnimationOutSimulation",[i.action],Object.getOwnPropertyDescriptor(Ze.prototype,"forceAnimationOutSimulation"),Ze.prototype),(0,s.Z)(Ze.prototype,"setVisible",[i.action],Object.getOwnPropertyDescriptor(Ze.prototype,"setVisible"),Ze.prototype),(0,s.Z)(Ze.prototype,"setIndividualPrivacyOpen",[i.action],Object.getOwnPropertyDescriptor(Ze.prototype,"setIndividualPrivacyOpen"),Ze.prototype),(0,s.Z)(Ze.prototype,"setPreviewCheckboxActiveState",[i.action],Object.getOwnPropertyDescriptor(Ze.prototype,"setPreviewCheckboxActiveState"),Ze.prototype),Ze);const Te={path:"/presets/blocker/:identifier",method:n.RouteHttpVerb.GET};var Me,Ue,Fe,_e;let je=(Me=class{get fullLogoUrl(){const{logoFile:e}=this.data,{publicUrl:t}=this.store.rootStore.optionStore;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}constructor(e,t){(0,a.Z)(this,"busy",Ue,this),(0,a.Z)(this,"data",Fe,this),(0,a.Z)(this,"attributes",_e,this),this.store=void 0,this.fetchAttributes=(0,i.flow)((function*(){try{this.busy=!0;const e=yield g({location:Te,params:{identifier:this.data.identifier}});this.attributes=e}catch(e){throw console.log(e),e}finally{this.busy=!1}})),(0,i.runInAction)((()=>{this.data=e})),this.store=t}},Ue=(0,s.Z)(Me.prototype,"busy",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Fe=(0,s.Z)(Me.prototype,"data",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_e=(0,s.Z)(Me.prototype,"attributes",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(Me.prototype,"fullLogoUrl",[i.computed],Object.getOwnPropertyDescriptor(Me.prototype,"fullLogoUrl"),Me.prototype),Me);const Le={path:"/presets/cookies/:identifier",method:n.RouteHttpVerb.GET};var Ne,Ve,We,He;let qe=(Ne=class{get fullLogoUrl(){const{logoFile:e}=this.data,{publicUrl:t}=this.store.rootStore.optionStore;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}constructor(e,t){(0,a.Z)(this,"busy",Ve,this),(0,a.Z)(this,"data",We,this),(0,a.Z)(this,"attributes",He,this),this.store=void 0,this.fetchAttributes=(0,i.flow)((function*(){try{this.busy=!0;const e=yield g({location:Le,params:{identifier:this.data.identifier}});this.attributes=e}catch(e){throw console.log(e),e}finally{this.busy=!1}})),(0,i.runInAction)((()=>{this.data=e})),this.store=t}},Ve=(0,s.Z)(Ne.prototype,"busy",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),We=(0,s.Z)(Ne.prototype,"data",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),He=(0,s.Z)(Ne.prototype,"attributes",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(Ne.prototype,"fullLogoUrl",[i.computed],Object.getOwnPropertyDescriptor(Ne.prototype,"fullLogoUrl"),Ne.prototype),Ne);var Ge,Ye,Xe;let Je=n.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:g,create:{path:"/rcb-cookie"},patch:{path:"/rcb-cookie/:id"},delete:{path:"/rcb-cookie/:id"}})((Ye=class extends n.AbstractPost{get rootStore(){return this.collection.store.collection.store.rootStore}get technicalDefinitions(){return JSON.parse(this.data.meta.technicalDefinitions)}get codeDynamics(){return JSON.parse(this.data.meta.codeDynamics||"{}")}constructor(e,t={}){super(e,t),(0,a.Z)(this,"presetModel",Xe,this),this.store=void 0,(0,i.reaction)((()=>{var e;return null===(e=this.data)||void 0===e?void 0:e.preset}),(e=>(0,i.runInAction)((()=>{this.presetModel=e?new qe(e,ti.get.cookieStore):void 0}))),{fireImmediately:!0})}afterPatch(){const e=this.collection.store.collection,[t]=this.data["rcb-cookie-group"];e.entries.forEach((e=>{t!==e.key?e.cookies.entries.delete(this.key):e.cookies.entries.set(this.key,this)})),this.rootStore.optionStore.fetchCurrentRevision(),this.rootStore.cookieStore.unassignedCookies.delete(this.key)}setOrder(e){this.data.menu_order=e}setName(e){this.data.title.rendered=e}setStatus(e){this.data.status=e}setPurpose(e){this.data.content.rendered=e}setGroup(e){this.data["rcb-cookie-group"]=[e]}setMeta(e){this.data.meta=e}transformDataForPersist(){return{...super.transformDataForPersist(),"rcb-cookie-group":[this.collection.store.key]}}transformDataForPatch(){const e=super.transformDataForPatch();return{title:e.title,content:e.content,status:e.status,meta:e.meta,menu_order:e.menu_order,"rcb-cookie-group":this.data["rcb-cookie-group"],slug:e.title}}afterDelete(){this.collection.store.cookies.store.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterPersist(){const{optionStore:e,checklistStore:t}=this.collection.store.cookies.store.collection.store.rootStore;e.fetchCurrentRevision(),t.probablyFetchByChangedItem("add-cookie")}},Xe=(0,s.Z)(Ye.prototype,"presetModel",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(Ye.prototype,"rootStore",[i.computed],Object.getOwnPropertyDescriptor(Ye.prototype,"rootStore"),Ye.prototype),(0,s.Z)(Ye.prototype,"technicalDefinitions",[i.computed],Object.getOwnPropertyDescriptor(Ye.prototype,"technicalDefinitions"),Ye.prototype),(0,s.Z)(Ye.prototype,"codeDynamics",[i.computed],Object.getOwnPropertyDescriptor(Ye.prototype,"codeDynamics"),Ye.prototype),(0,s.Z)(Ye.prototype,"afterPatch",[i.action],Object.getOwnPropertyDescriptor(Ye.prototype,"afterPatch"),Ye.prototype),(0,s.Z)(Ye.prototype,"setOrder",[i.action],Object.getOwnPropertyDescriptor(Ye.prototype,"setOrder"),Ye.prototype),(0,s.Z)(Ye.prototype,"setName",[i.action],Object.getOwnPropertyDescriptor(Ye.prototype,"setName"),Ye.prototype),(0,s.Z)(Ye.prototype,"setStatus",[i.action],Object.getOwnPropertyDescriptor(Ye.prototype,"setStatus"),Ye.prototype),(0,s.Z)(Ye.prototype,"setPurpose",[i.action],Object.getOwnPropertyDescriptor(Ye.prototype,"setPurpose"),Ye.prototype),(0,s.Z)(Ye.prototype,"setGroup",[i.action],Object.getOwnPropertyDescriptor(Ye.prototype,"setGroup"),Ye.prototype),(0,s.Z)(Ye.prototype,"setMeta",[i.action],Object.getOwnPropertyDescriptor(Ye.prototype,"setMeta"),Ye.prototype),Ge=Ye))||Ge;const $e={path:"/cookies/order",method:n.RouteHttpVerb.PUT};var Qe,Ke;let et=n.ClientCollection.annotate({path:"/rcb-cookie",singlePath:"/rcb-cookie/:id",namespace:"wp/v2",methods:[n.RouteHttpVerb.GET],request:g})((Ke=class extends n.AbstractPostCollection{get sortedCookies(){const e=Array.from(this.entries.values());return e.sort(((e,t)=>e.data.menu_order<t.data.menu_order?-1:e.data.menu_order>t.data.menu_order||e.key<t.key?1:e.key>t.key?-1:0)),e}constructor(e){super(),this.store=void 0,this.orderCookies=(0,i.flow)((function*(e){this.busy=!0;try{yield g({location:$e,request:{ids:e}});let t=0;for(const o of e)this.entries.get(o).setOrder(t),t++}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.store=e}instance(e){return new Je(this).fromResponse(e)}},(0,s.Z)(Ke.prototype,"sortedCookies",[i.computed],Object.getOwnPropertyDescriptor(Ke.prototype,"sortedCookies"),Ke.prototype),Qe=Ke))||Qe;var tt,ot,rt,it;let nt=n.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:g,create:{path:"/rcb-cookie-group"},patch:{path:"/rcb-cookie-group/:id"},delete:{path:"/rcb-cookie-group/:id"}})((ot=class extends n.AbstractCategory{get cookiesCount(){return this.fetchedAllCookies?this.cookies.entries.size:this.data.count}constructor(e,t={}){super(e,t),(0,a.Z)(this,"cookies",rt,this),(0,a.Z)(this,"fetchedAllCookies",it,this),this.fetchCookies=(0,i.flow)((function*(){yield this.cookies.get({request:{status:["draft","publish","private"]},params:{per_page:100,"rcb-cookie-group":this.key,context:"edit"}}),this.fetchedAllCookies=!0})),(0,i.runInAction)((()=>{this.cookies=new et(this)}))}setName(e){this.data.name=e}setDescription(e){this.data.description=e}setOrder(e){this.data.meta.order=e}afterDelete(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterPatch(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterPersist(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}},rt=(0,s.Z)(ot.prototype,"cookies",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),it=(0,s.Z)(ot.prototype,"fetchedAllCookies",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,s.Z)(ot.prototype,"cookiesCount",[i.computed],Object.getOwnPropertyDescriptor(ot.prototype,"cookiesCount"),ot.prototype),(0,s.Z)(ot.prototype,"setName",[i.action],Object.getOwnPropertyDescriptor(ot.prototype,"setName"),ot.prototype),(0,s.Z)(ot.prototype,"setDescription",[i.action],Object.getOwnPropertyDescriptor(ot.prototype,"setDescription"),ot.prototype),(0,s.Z)(ot.prototype,"setOrder",[i.action],Object.getOwnPropertyDescriptor(ot.prototype,"setOrder"),ot.prototype),tt=ot))||tt;const at={path:"/cookie-groups/order",method:n.RouteHttpVerb.PUT};var st,lt;let ct=n.ClientCollection.annotate({path:"/rcb-cookie-group",singlePath:"/rcb-cookie-group/:id",namespace:"wp/v2",methods:[n.RouteHttpVerb.GET],request:g})((lt=class extends n.AbstractCategoryCollection{get sortedGroups(){const e=Array.from(this.entries.values());return e.sort(((e,t)=>e.data.meta.order<t.data.meta.order?-1:e.data.meta.order>t.data.meta.order?1:0)),e}constructor(e){super(),this.store=void 0,this.orderCookieGroups=(0,i.flow)((function*(e){this.busy=!0;try{yield g({location:at,request:{ids:e}});let t=0;for(const o of e)this.entries.get(o).setOrder(t),t++}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.store=e}instance(e){return new nt(this).fromResponse(e)}},(0,s.Z)(lt.prototype,"sortedGroups",[i.computed],Object.getOwnPropertyDescriptor(lt.prototype,"sortedGroups"),lt.prototype),st=lt))||st;var pt,ut,dt;let ht=n.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:g,create:{path:"/rcb-blocker"},patch:{path:"/rcb-blocker/:id"},delete:{path:"/rcb-blocker/:id"}})((ut=class extends n.AbstractPost{get rules(){var e;return null===(e=this.data)||void 0===e?void 0:e.meta.rules.split("\n")}get tcfVendors(){var e;return null!==(e=this.data)&&void 0!==e&&e.meta.tcfVendors?this.data.meta.tcfVendors.split(",").filter(Boolean).map(Number):[]}get services(){var e;return null===(e=this.data)||void 0===e?void 0:e.meta.services.split(",").filter(Boolean).map(Number)}constructor(e,t={}){super(e,t),(0,a.Z)(this,"presetModel",dt,this),(0,i.reaction)((()=>{var e;return null===(e=this.data)||void 0===e?void 0:e.preset}),(e=>(0,i.runInAction)((()=>{this.presetModel=e?new je(e,ti.get.cookieStore):void 0}))),{fireImmediately:!0})}setName(e){this.data.title.rendered=e}setStatus(e){this.data.status=e}setDescription(e){this.data.content.rendered=e}setMeta(e){this.data.meta=e}transformDataForPatch(){const e=super.transformDataForPatch();return{title:e.title,content:e.content,status:e.status,meta:e.meta,slug:e.title}}afterPatch(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}afterDelete(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}afterPersist(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}},dt=(0,s.Z)(ut.prototype,"presetModel",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(ut.prototype,"rules",[i.computed],Object.getOwnPropertyDescriptor(ut.prototype,"rules"),ut.prototype),(0,s.Z)(ut.prototype,"tcfVendors",[i.computed],Object.getOwnPropertyDescriptor(ut.prototype,"tcfVendors"),ut.prototype),(0,s.Z)(ut.prototype,"services",[i.computed],Object.getOwnPropertyDescriptor(ut.prototype,"services"),ut.prototype),(0,s.Z)(ut.prototype,"setName",[i.action],Object.getOwnPropertyDescriptor(ut.prototype,"setName"),ut.prototype),(0,s.Z)(ut.prototype,"setStatus",[i.action],Object.getOwnPropertyDescriptor(ut.prototype,"setStatus"),ut.prototype),(0,s.Z)(ut.prototype,"setDescription",[i.action],Object.getOwnPropertyDescriptor(ut.prototype,"setDescription"),ut.prototype),(0,s.Z)(ut.prototype,"setMeta",[i.action],Object.getOwnPropertyDescriptor(ut.prototype,"setMeta"),ut.prototype),pt=ut))||pt;var bt;let ft=n.ClientCollection.annotate({path:"/rcb-blocker",singlePath:"/rcb-blocker/:id",namespace:"wp/v2",methods:[n.RouteHttpVerb.GET],request:g})(bt=class extends n.AbstractPostCollection{constructor(e){super(),this.store=void 0,this.store=e}instance(e){return new ht(this).fromResponse(e)}})||bt;const mt={path:"/cookies/unassigned",method:n.RouteHttpVerb.GET},gt={path:"/presets/blocker",method:n.RouteHttpVerb.GET},yt={path:"/presets/cookies",method:n.RouteHttpVerb.GET};var vt,wt,kt,Ct,xt,St,Rt,Et,Zt,Pt;let Ot=(vt=class{get blockersCount(){return this.fetchedAllBlockers?this.blockers.entries.size:this.rootStore.optionStore.allBlockerCount}get cookiesCount(){return Array.from(this.groups.entries.values()).map((({cookiesCount:e})=>e)).reduce(((e,t)=>e+t),0)}constructor(e){(0,a.Z)(this,"busy",wt,this),(0,a.Z)(this,"groups",kt,this),(0,a.Z)(this,"unassignedCookies",Ct,this),(0,a.Z)(this,"blockers",xt,this),(0,a.Z)(this,"presetsBlocker",St,this),(0,a.Z)(this,"busyPresetsBlocker",Rt,this),(0,a.Z)(this,"presetsCookie",Et,this),(0,a.Z)(this,"busyPresetsCookie",Zt,this),(0,a.Z)(this,"fetchedAllBlockers",Pt,this),this.rootStore=void 0,this.fetchGroups=(0,i.flow)((function*(){yield this.groups.get({params:{per_page:100}}),yield this.fetchUnassignedCookies()})),this.fetchUnassignedCookies=(0,i.flow)((function*(){try{const e=yield g({location:mt});for(const t of Object.values(e))this.unassignedCookies.set(t.id,t)}catch(e){throw console.log(e),e}})),this.fetchBlockers=(0,i.flow)((function*(){yield this.blockers.get({request:{status:["draft","publish","private"]},params:{per_page:100,context:"edit"}}),this.fetchedAllBlockers=!0})),this.fetchPresetsBlocker=(0,i.flow)((function*(){this.busyPresetsBlocker=!0;try{const{items:e}=yield g({location:gt});for(const t of Object.keys(e))this.presetsBlocker.set(t,new je(e[t],this))}catch(e){throw console.log(e),e}finally{this.busyPresetsBlocker=!1}})),this.fetchPresetsCookie=(0,i.flow)((function*(){this.busyPresetsCookie=!0;try{const{items:e}=yield g({location:yt});for(const t of Object.keys(e))this.presetsCookie.set(t,new qe(e[t],this))}catch(e){throw console.log(e),e}finally{this.busyPresetsCookie=!1}})),this.rootStore=e,(0,i.runInAction)((()=>{this.groups=new ct(this),this.blockers=new ft(this)}))}get essentialGroup(){if(0===this.groups.entries.size)return;const e=this.groups.entries.values();let t;for(;(t=e.next().value)&&t.data.slug!==this.rootStore.optionStore.others.essentialGroup;);return t}},wt=(0,s.Z)(vt.prototype,"busy",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),kt=(0,s.Z)(vt.prototype,"groups",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ct=(0,s.Z)(vt.prototype,"unassignedCookies",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),xt=(0,s.Z)(vt.prototype,"blockers",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),St=(0,s.Z)(vt.prototype,"presetsBlocker",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),Rt=(0,s.Z)(vt.prototype,"busyPresetsBlocker",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Et=(0,s.Z)(vt.prototype,"presetsCookie",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),Zt=(0,s.Z)(vt.prototype,"busyPresetsCookie",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Pt=(0,s.Z)(vt.prototype,"fetchedAllBlockers",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,s.Z)(vt.prototype,"blockersCount",[i.computed],Object.getOwnPropertyDescriptor(vt.prototype,"blockersCount"),vt.prototype),(0,s.Z)(vt.prototype,"cookiesCount",[i.computed],Object.getOwnPropertyDescriptor(vt.prototype,"cookiesCount"),vt.prototype),(0,s.Z)(vt.prototype,"essentialGroup",[i.computed],Object.getOwnPropertyDescriptor(vt.prototype,"essentialGroup"),vt.prototype),vt);const At={path:"/consent/all",method:n.RouteHttpVerb.GET},zt={path:"/revision/:hash",method:n.RouteHttpVerb.GET},Dt={path:"/revision/independent/:hash",method:n.RouteHttpVerb.GET},It={path:"/consent/referer",method:n.RouteHttpVerb.GET},Bt={path:"/consent/all",method:n.RouteHttpVerb.DELETE};var Tt,Mt,Ut,Ft,_t,jt,Lt,Nt,Vt,Wt,Ht,qt,Gt,Yt,Xt,Jt,$t,Qt,Kt,eo,to,oo,ro,io,no,ao,so,lo,co,po;let uo=(Tt=class{get revision(){return this.store.revisions.get(this.revision_hash)}get revision_independent(){return this.store.revisionsIndependent.get(this.revision_independent_hash)}get custom_bypass_readable(){const{custom_bypass:e}=this;return e?e.charAt(0).toUpperCase()+e.slice(1):""}get export(){return JSON.parse(JSON.stringify({...this.plain,revision:this.revision.data,revision_independent:this.revision_independent.data}))}constructor(e,t){(0,a.Z)(this,"id",Mt,this),(0,a.Z)(this,"plugin_version",Ut,this),(0,a.Z)(this,"design_version",Ft,this),(0,a.Z)(this,"ipv4",_t,this),(0,a.Z)(this,"ipv6",jt,this),(0,a.Z)(this,"ipv4_hash",Lt,this),(0,a.Z)(this,"ipv6_hash",Nt,this),(0,a.Z)(this,"uuid",Vt,this),(0,a.Z)(this,"previous_decision",Wt,this),(0,a.Z)(this,"decision",Ht,this),(0,a.Z)(this,"decision_labels",qt,this),(0,a.Z)(this,"created",Gt,this),(0,a.Z)(this,"blocker",Yt,this),(0,a.Z)(this,"blocker_thumbnail",Xt,this),(0,a.Z)(this,"dnt",Jt,this),(0,a.Z)(this,"custom_bypass",$t,this),(0,a.Z)(this,"user_country",Qt,this),(0,a.Z)(this,"revision_hash",Kt,this),(0,a.Z)(this,"revision_independent_hash",eo,this),(0,a.Z)(this,"button_clicked",to,this),(0,a.Z)(this,"context",oo,this),(0,a.Z)(this,"viewport_width",ro,this),(0,a.Z)(this,"viewport_height",io,this),(0,a.Z)(this,"viewed_page",no,this),(0,a.Z)(this,"url_imprint",ao,this),(0,a.Z)(this,"url_privacy_policy",so,this),(0,a.Z)(this,"forwarded",lo,this),(0,a.Z)(this,"forwarded_blocker",co,this),(0,a.Z)(this,"tcf_string",po,this),this.store=void 0,this.plain=void 0,(0,i.runInAction)((()=>(0,i.set)(this,e))),this.store=t,this.plain=e}fetchRevisions(){return Promise.all([this.store.fetchRevision({hash:this.revision_hash}),this.store.fetchRevisionIndependent({hash:this.revision_independent_hash})])}},Mt=(0,s.Z)(Tt.prototype,"id",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ut=(0,s.Z)(Tt.prototype,"plugin_version",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ft=(0,s.Z)(Tt.prototype,"design_version",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_t=(0,s.Z)(Tt.prototype,"ipv4",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),jt=(0,s.Z)(Tt.prototype,"ipv6",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Lt=(0,s.Z)(Tt.prototype,"ipv4_hash",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Nt=(0,s.Z)(Tt.prototype,"ipv6_hash",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Vt=(0,s.Z)(Tt.prototype,"uuid",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Wt=(0,s.Z)(Tt.prototype,"previous_decision",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ht=(0,s.Z)(Tt.prototype,"decision",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),qt=(0,s.Z)(Tt.prototype,"decision_labels",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Gt=(0,s.Z)(Tt.prototype,"created",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Yt=(0,s.Z)(Tt.prototype,"blocker",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Xt=(0,s.Z)(Tt.prototype,"blocker_thumbnail",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Jt=(0,s.Z)(Tt.prototype,"dnt",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$t=(0,s.Z)(Tt.prototype,"custom_bypass",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Qt=(0,s.Z)(Tt.prototype,"user_country",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Kt=(0,s.Z)(Tt.prototype,"revision_hash",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),eo=(0,s.Z)(Tt.prototype,"revision_independent_hash",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),to=(0,s.Z)(Tt.prototype,"button_clicked",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),oo=(0,s.Z)(Tt.prototype,"context",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ro=(0,s.Z)(Tt.prototype,"viewport_width",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),io=(0,s.Z)(Tt.prototype,"viewport_height",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),no=(0,s.Z)(Tt.prototype,"viewed_page",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ao=(0,s.Z)(Tt.prototype,"url_imprint",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),so=(0,s.Z)(Tt.prototype,"url_privacy_policy",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),lo=(0,s.Z)(Tt.prototype,"forwarded",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),co=(0,s.Z)(Tt.prototype,"forwarded_blocker",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),po=(0,s.Z)(Tt.prototype,"tcf_string",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(Tt.prototype,"revision",[i.computed],Object.getOwnPropertyDescriptor(Tt.prototype,"revision"),Tt.prototype),(0,s.Z)(Tt.prototype,"revision_independent",[i.computed],Object.getOwnPropertyDescriptor(Tt.prototype,"revision_independent"),Tt.prototype),(0,s.Z)(Tt.prototype,"custom_bypass_readable",[i.computed],Object.getOwnPropertyDescriptor(Tt.prototype,"custom_bypass_readable"),Tt.prototype),Tt);class ho{constructor(e,t){this.data=void 0,this.store=void 0,this.data=e,this.store=t}}class bo{constructor(e,t){this.data=void 0,this.store=void 0,this.data=e,this.store=t}}var fo,mo,go,yo,vo,wo,ko,Co,xo,So;let Ro=(fo=class extends n.BaseOptions{constructor(e){super(),(0,a.Z)(this,"busyConsent",mo,this),(0,a.Z)(this,"busyReferer",go,this),(0,a.Z)(this,"count",yo,this),(0,a.Z)(this,"perPage",vo,this),(0,a.Z)(this,"offset",wo,this),(0,a.Z)(this,"pageCollection",ko,this),(0,a.Z)(this,"revisions",Co,this),(0,a.Z)(this,"revisionsIndependent",xo,this),(0,a.Z)(this,"referer",So,this),this.filters=i.observable.object({page:1,dates:[void 0,void 0],context:void 0,referer:void 0,ip:void 0,uuid:void 0},{},{deep:!1}),this.rootStore=void 0,this.fetchAll=(0,i.flow)((function*(){this.busyConsent=!0;try{const{page:e,referer:t,ip:o,uuid:r,context:i}=this.filters,n=this.filters.dates.map((e=>e?e.format("YYYY-MM-DD"):"")),{count:a,items:s}=yield g({location:At,params:{per_page:this.perPage,offset:(e-1)*this.perPage,from:n[0],to:n[1],ip:o,uuid:r,referer:t,context:i}});this.count=a,this.pageCollection.clear();for(const e of s)this.pageCollection.set(e.id,new uo(e,this))}catch(e){throw console.log(e),e}finally{this.busyConsent=!1}})),this.fetchRevision=(0,i.flow)((function*(e){try{const t=yield g({location:zt,params:e});this.revisions.set(e.hash,new ho(t,this))}catch(e){throw console.log(e),e}})),this.fetchRevisionIndependent=(0,i.flow)((function*(e){try{const t=yield g({location:Dt,params:e});this.revisionsIndependent.set(e.hash,new bo(t,this))}catch(e){throw console.log(e),e}})),this.fetchReferer=(0,i.flow)((function*(e){this.busyReferer=!0;try{const t=yield g({location:It,params:e});this.referer=t.items}catch(e){throw console.log(e),e}finally{this.busyReferer=!1}})),this.deleteAll=(0,i.flow)((function*(){this.busyConsent=!0;try{yield g({location:Bt}),this.applyPage(0),yield this.fetchAll()}catch(e){throw console.log(e),e}finally{this.busyConsent=!1}})),this.rootStore=e,(0,i.runInAction)((()=>{this.filters.context=this.rootStore.optionStore.others.context}))}applyPage(e){this.filters.page=e}applyDates(e){this.filters.dates=e}applyContext(e){this.filters.context=e}applyReferer(e){this.filters.referer=e}applyIp(e){this.filters.ip=e}applyUuid(e){this.filters.uuid=e}},mo=(0,s.Z)(fo.prototype,"busyConsent",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),go=(0,s.Z)(fo.prototype,"busyReferer",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),yo=(0,s.Z)(fo.prototype,"count",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),vo=(0,s.Z)(fo.prototype,"perPage",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 50}}),wo=(0,s.Z)(fo.prototype,"offset",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),ko=(0,s.Z)(fo.prototype,"pageCollection",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),Co=(0,s.Z)(fo.prototype,"revisions",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),xo=(0,s.Z)(fo.prototype,"revisionsIndependent",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),So=(0,s.Z)(fo.prototype,"referer",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),(0,s.Z)(fo.prototype,"applyPage",[i.action],Object.getOwnPropertyDescriptor(fo.prototype,"applyPage"),fo.prototype),(0,s.Z)(fo.prototype,"applyDates",[i.action],Object.getOwnPropertyDescriptor(fo.prototype,"applyDates"),fo.prototype),(0,s.Z)(fo.prototype,"applyContext",[i.action],Object.getOwnPropertyDescriptor(fo.prototype,"applyContext"),fo.prototype),(0,s.Z)(fo.prototype,"applyReferer",[i.action],Object.getOwnPropertyDescriptor(fo.prototype,"applyReferer"),fo.prototype),(0,s.Z)(fo.prototype,"applyIp",[i.action],Object.getOwnPropertyDescriptor(fo.prototype,"applyIp"),fo.prototype),(0,s.Z)(fo.prototype,"applyUuid",[i.action],Object.getOwnPropertyDescriptor(fo.prototype,"applyUuid"),fo.prototype),fo);const Eo=moment;var Zo,Po,Oo=o.n(Eo);let Ao=(Zo=class extends n.BaseOptions{constructor(e){super(),(0,a.Z)(this,"busyStats",Po,this),this.rootStore=void 0,this.stats=i.observable.object({main:void 0,buttonsClicked:void 0,customBypass:void 0},{},{deep:!1}),this.filters=i.observable.object({dates:void 0,context:void 0},{},{deep:!1}),this.fetchMain=(0,i.flow)((function*(){throw new Error("This feature is not available in the free version.")})),this.fetchButtonsClicked=(0,i.flow)((function*(){throw new Error("This feature is not available in the free version.")})),this.fetchCustomBypass=(0,i.flow)((function*(){throw new Error("This feature is not available in the free version.")})),this.rootStore=e,(0,i.runInAction)((()=>{this.filters.dates=[Oo()().subtract(30,"days"),Oo()()],this.filters.context=this.rootStore.optionStore.others.context}))}applyDates(e){this.filters.dates=e}applyContext(e){this.filters.context=e}},Po=(0,s.Z)(Zo.prototype,"busyStats",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{main:!1,buttonClicked:!1,customBypass:!1}}}),(0,s.Z)(Zo.prototype,"applyDates",[i.action],Object.getOwnPropertyDescriptor(Zo.prototype,"applyDates"),Zo.prototype),(0,s.Z)(Zo.prototype,"applyContext",[i.action],Object.getOwnPropertyDescriptor(Zo.prototype,"applyContext"),Zo.prototype),Zo);const zo={path:"/checklist",method:n.RouteHttpVerb.GET},Do={path:"/checklist/:id",method:n.RouteHttpVerb.PUT};var Io,Bo,To;let Mo=(Io=class extends n.BaseOptions{constructor(e){super(),(0,a.Z)(this,"busyChecklist",Bo,this),(0,a.Z)(this,"checklist",To,this),this.rootStore=void 0,this.probablyFetchByChangedItem=(0,i.flow)((function*(e,t){if(t)return void(yield this.fetchChecklist());const o=Array.isArray(e)?e:[e];this.items.filter((({id:e,checked:t})=>o.indexOf(e)>-1&&!t)).length>0&&(yield this.fetchChecklist())})),this.fetchChecklist=(0,i.flow)((function*(){this.busyChecklist=!0;try{this.checklist=yield g({location:zo,params:{_wp_http_referer:window.location.href}})}catch(e){throw console.log(e),e}finally{this.busyChecklist=!1}})),this.toggleChecklistItem=(0,i.flow)((function*(e,t){this.busyChecklist=!0;try{this.checklist=yield g({location:Do,request:{state:t},params:{id:e,_wp_http_referer:window.location.href}})}catch(e){throw console.log(e),e}finally{this.busyChecklist=!1}})),this.rootStore=e}get items(){return this.checklist&&Object.keys(this.checklist.items).map((e=>({id:e,...this.checklist.items[e]})))||[]}get completed(){return this.items.filter((({checked:e})=>e))}get checkable(){const{isPro:e}=this.rootStore.optionStore.others;return this.items.filter((({needsPro:t})=>!t||e&&t))}get done(){var e;return this.completed.length>=this.checkable.length||!(null===(e=this.checklist)||void 0===e||!e.dismissed)}},Bo=(0,s.Z)(Io.prototype,"busyChecklist",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),To=(0,s.Z)(Io.prototype,"checklist",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(Io.prototype,"items",[i.computed],Object.getOwnPropertyDescriptor(Io.prototype,"items"),Io.prototype),(0,s.Z)(Io.prototype,"completed",[i.computed],Object.getOwnPropertyDescriptor(Io.prototype,"completed"),Io.prototype),(0,s.Z)(Io.prototype,"checkable",[i.computed],Object.getOwnPropertyDescriptor(Io.prototype,"checkable"),Io.prototype),(0,s.Z)(Io.prototype,"done",[i.computed],Object.getOwnPropertyDescriptor(Io.prototype,"done"),Io.prototype),Io);const Uo={path:"/tcf/declarations",method:n.RouteHttpVerb.GET},Fo={path:"/tcf/vendors",method:n.RouteHttpVerb.GET},_o={path:"/tcf/gvl",method:n.RouteHttpVerb.PUT};var jo,Lo,No,Vo;!function(e){e.Cookie="cookie",e.Web="web",e.App="app"}(jo||(jo={})),function(e){e.Bulgarian="bg",e.Catalan="ca",e.Czech="cs",e.Danish="da",e.German="de",e.Greek="el",e.Spanish="es",e.Estonian="et",e.Basque="eus",e.Finnish="fi",e.French="fr",e.Galician="gl",e.Croatian="hr",e.Hungarian="hu",e.Italian="it",e.Japanese="ja",e.Lithuanian="lt",e.Latvian="lv",e.Maltese="mt",e.Dutch="nl",e.Norwegian="no",e.Polish="pl",e.Portuguese="pt",e.Romanian="ro",e.SerbianCyrillic="sr-Cyrl",e.SerbianLatin="sr-Latn",e.Russian="ru",e.Slovak="sk",e.Slovenian="sl",e.Swedish="sv",e.Turkish="tr",e.Chinese="zh"}(Lo||(Lo={}));let Wo=(No=class{get vendorConfiguration(){for(const e of this.store.vendorConfigurations.entries.values())if(e.vendorModel.data.id===this.data.id)return e}get deviceStorageDisclosure(){const{usesCookies:e,cookieMaxAgeSeconds:t,cookieRefresh:o,usesNonCookieAccess:r,deviceStorageDisclosure:i}=this.data,n=null!=i&&i.disclosures.length?[...i.disclosures]:[];return r&&n.unshift({type:jo.Web,identifier:"*",purposes:void 0,cookieRefresh:void 0,domain:"*",maxAgeSeconds:null}),e&&n.unshift({type:jo.Cookie,identifier:"*",purposes:void 0,cookieRefresh:o,domain:"*",maxAgeSeconds:t}),n}get allPurposes(){return[...this.legIntPurposes,...this.purposes,...this.specialPurposes].filter(Boolean)}get allFeatures(){return[...this.features,...this.specialFeatures].filter(Boolean)}get restrictivePurposes(){const e={normal:{}};for(const t of[...this.legIntPurposes,...this.purposes])e.normal[t.data.id.toString()]={enabled:!0,legInt:this.legIntPurposes.indexOf(t)>-1&&!t.special?"yes":"no"};return e}get purposes(){var e;return null===(e=this.data)||void 0===e?void 0:e.purposes.map((e=>this.store.purposes.get("".concat(e))))}get legIntPurposes(){var e;return null===(e=this.data)||void 0===e?void 0:e.legIntPurposes.map((e=>this.store.purposes.get("".concat(e))))}get flexiblePurposes(){var e;return null===(e=this.data)||void 0===e?void 0:e.flexiblePurposes.map((e=>this.store.purposes.get("".concat(e))))}get specialPurposes(){var e;return null===(e=this.data)||void 0===e?void 0:e.specialPurposes.map((e=>this.store.specialPurposes.get("".concat(e))))}get features(){var e;return null===(e=this.data)||void 0===e?void 0:e.features.map((e=>this.store.features.get("".concat(e))))}get specialFeatures(){var e;return null===(e=this.data)||void 0===e?void 0:e.specialFeatures.map((e=>this.store.specialFeatures.get("".concat(e))))}constructor(e,t){(0,a.Z)(this,"data",Vo,this),this.store=void 0,(0,i.runInAction)((()=>{this.data=e})),this.store=t}},Vo=(0,s.Z)(No.prototype,"data",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(No.prototype,"vendorConfiguration",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"vendorConfiguration"),No.prototype),(0,s.Z)(No.prototype,"deviceStorageDisclosure",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"deviceStorageDisclosure"),No.prototype),(0,s.Z)(No.prototype,"allPurposes",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"allPurposes"),No.prototype),(0,s.Z)(No.prototype,"allFeatures",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"allFeatures"),No.prototype),(0,s.Z)(No.prototype,"restrictivePurposes",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"restrictivePurposes"),No.prototype),(0,s.Z)(No.prototype,"purposes",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"purposes"),No.prototype),(0,s.Z)(No.prototype,"legIntPurposes",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"legIntPurposes"),No.prototype),(0,s.Z)(No.prototype,"flexiblePurposes",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"flexiblePurposes"),No.prototype),(0,s.Z)(No.prototype,"specialPurposes",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"specialPurposes"),No.prototype),(0,s.Z)(No.prototype,"features",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"features"),No.prototype),(0,s.Z)(No.prototype,"specialFeatures",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"specialFeatures"),No.prototype),No);var Ho,qo,Go;let Yo=(Ho=class{constructor(e,t,o){(0,a.Z)(this,"data",qo,this),(0,a.Z)(this,"special",Go,this),this.store=void 0,(0,i.runInAction)((()=>{this.special=t,this.data=e})),this.store=o}},qo=(0,s.Z)(Ho.prototype,"data",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Go=(0,s.Z)(Ho.prototype,"special",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ho);var Xo,Jo,$o;let Qo=(Xo=class{constructor(e,t,o){(0,a.Z)(this,"data",Jo,this),(0,a.Z)(this,"special",$o,this),this.store=void 0,(0,i.runInAction)((()=>{this.special=t,this.data=e})),this.store=o}},Jo=(0,s.Z)(Xo.prototype,"data",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$o=(0,s.Z)(Xo.prototype,"special",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Xo);const Ko=jQuery;var er,tr,or,rr=o.n(Ko);let ir=n.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:g,create:{path:"/rcb-tcf-vendor-conf"},patch:{path:"/rcb-tcf-vendor-conf/:id"},delete:{path:"/rcb-tcf-vendor-conf/:id"}})((tr=class extends n.AbstractPost{get hasVendor(){return!!this.vendorModel}get restrictivePurposes(){var e,t;const o="global"===this.collection.store.rootStore.optionStore.tcfScopeOfConsent,r=(null===(e=this.vendorModel)||void 0===e?void 0:e.restrictivePurposes)||{normal:{}};if(o)return r;const i=JSON.parse(this.data.meta.restrictivePurposes);return rr().extend(!0,{},(null===(t=this.vendorModel)||void 0===t?void 0:t.restrictivePurposes)||{},i)}get stats(){var e;const{normal:t}=this.restrictivePurposes,o=[...Object.values(t)];return{activePurposes:o.filter((({enabled:e})=>e)).length,legIntPurposes:o.filter((({enabled:e,legInt:t})=>e&&"yes"===t)).length,activeFeatures:(null===(e=this.vendorModel)||void 0===e?void 0:e.allFeatures.length)||0}}constructor(e,t={}){super(e,t),(0,a.Z)(this,"vendorModel",or,this),(0,i.reaction)((()=>this.data.vendor),(e=>(0,i.runInAction)((()=>{if(e){const{vendors:t}=this.collection.store,o=e.id.toString();let r=t.get(o);r||(r=new Wo(e,this.collection.store),t.set(o,r)),this.vendorModel=r}}))),{fireImmediately:!0}),(0,i.reaction)((()=>{var e;return null===(e=this.data.meta)||void 0===e?void 0:e.vendorId}),(e=>{e&&(this.vendorModel=this.collection.store.vendors.get(e.toString()))}),{fireImmediately:!0})}setStatus(e){this.data.status=e}setMeta(e){this.data.meta=e}transformDataForPatch(){const e=super.transformDataForPatch();return{status:e.status,meta:e.meta}}afterPatch(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterDelete(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterPersist(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}},or=(0,s.Z)(tr.prototype,"vendorModel",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(tr.prototype,"hasVendor",[i.computed],Object.getOwnPropertyDescriptor(tr.prototype,"hasVendor"),tr.prototype),(0,s.Z)(tr.prototype,"restrictivePurposes",[i.computed],Object.getOwnPropertyDescriptor(tr.prototype,"restrictivePurposes"),tr.prototype),(0,s.Z)(tr.prototype,"stats",[i.computed],Object.getOwnPropertyDescriptor(tr.prototype,"stats"),tr.prototype),(0,s.Z)(tr.prototype,"setStatus",[i.action],Object.getOwnPropertyDescriptor(tr.prototype,"setStatus"),tr.prototype),(0,s.Z)(tr.prototype,"setMeta",[i.action],Object.getOwnPropertyDescriptor(tr.prototype,"setMeta"),tr.prototype),er=tr))||er;var nr;let ar=n.ClientCollection.annotate({path:"/rcb-tcf-vendor-conf",singlePath:"/rcb-tcf-vendor-conf/:id",namespace:"wp/v2",methods:[n.RouteHttpVerb.GET],request:g})(nr=class extends n.AbstractPostCollection{constructor(e){super(),this.store=void 0,this.store=e}instance(e){return new ir(this).fromResponse(e)}})||nr;var sr,lr,cr,pr,ur,dr,hr,br,fr,mr,gr,yr,vr,wr;let kr=(sr=class extends n.BaseOptions{get vendorConfigurationCount(){return this.fetchedAllVendorConfigurations?this.vendorConfigurations.entries.size:this.rootStore.optionStore.allTcfVendorConfigurationCount}constructor(e){super(),(0,a.Z)(this,"busyGvl",lr,this),(0,a.Z)(this,"busyVendors",cr,this),(0,a.Z)(this,"busyDeclarations",pr,this),(0,a.Z)(this,"vendorConfigurations",ur,this),(0,a.Z)(this,"fetchedAllVendorConfigurations",dr,this),(0,a.Z)(this,"vendorListVersion",hr,this),(0,a.Z)(this,"gvlSpecificationVersion",br,this),(0,a.Z)(this,"tcfPolicyVersion",fr,this),(0,a.Z)(this,"vendors",mr,this),(0,a.Z)(this,"purposes",gr,this),(0,a.Z)(this,"specialPurposes",yr,this),(0,a.Z)(this,"features",vr,this),(0,a.Z)(this,"specialFeatures",wr,this),this.rootStore=void 0,this.fetchVendorConfigurations=(0,i.flow)((function*(){const e=Math.ceil(this.vendorConfigurationCount/100);for(let t=0;t<e;t++)yield this.vendorConfigurations.get({request:{status:["draft","publish","private"]},params:{offset:100*t,per_page:100,context:"edit"}});this.fetchedAllVendorConfigurations=!0})),this.fetchVendors=(0,i.flow)((function*(){this.busyVendors=!0;try{const{vendorListVersion:e,vendors:t}=yield g({location:Fo});for(const e of Object.keys(t))this.vendors.set(e,new Wo(t[e],this));this.vendorListVersion=e}catch(e){throw console.log(e),e}finally{this.busyVendors=!1}})),this.fetchDeclarations=(0,i.flow)((function*(){this.busyDeclarations=!0;try{const{gvlSpecificationVersion:e,tcfPolicyVersion:t,purposes:o,specialPurposes:r,features:i,specialFeatures:n}=yield g({location:Uo});for(const e of Object.keys(o))this.purposes.set(e,new Yo(o[e],!1,this));for(const e of Object.keys(r))this.specialPurposes.set(e,new Yo(r[e],!0,this));for(const e of Object.keys(i))this.features.set(e,new Qo(i[e],!1,this));for(const e of Object.keys(n))this.specialFeatures.set(e,new Qo(n[e],!0,this));this.gvlSpecificationVersion=e,this.tcfPolicyVersion=t}catch(e){throw console.log(e),e}finally{this.busyDeclarations=!1}})),this.updateGvl=(0,i.flow)((function*(){this.busyGvl=!0;try{const{gvlDownloadTime:e}=yield g({location:_o});this.rootStore.optionStore.tcfGvlDownloadTime=e}catch(e){throw console.log(e),e}finally{this.busyGvl=!1}})),this.rootStore=e,(0,i.runInAction)((()=>{this.vendorConfigurations=new ar(this)}))}},lr=(0,s.Z)(sr.prototype,"busyGvl",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),cr=(0,s.Z)(sr.prototype,"busyVendors",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),pr=(0,s.Z)(sr.prototype,"busyDeclarations",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),ur=(0,s.Z)(sr.prototype,"vendorConfigurations",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),dr=(0,s.Z)(sr.prototype,"fetchedAllVendorConfigurations",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),hr=(0,s.Z)(sr.prototype,"vendorListVersion",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),br=(0,s.Z)(sr.prototype,"gvlSpecificationVersion",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),fr=(0,s.Z)(sr.prototype,"tcfPolicyVersion",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),mr=(0,s.Z)(sr.prototype,"vendors",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),gr=(0,s.Z)(sr.prototype,"purposes",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),yr=(0,s.Z)(sr.prototype,"specialPurposes",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),vr=(0,s.Z)(sr.prototype,"features",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),wr=(0,s.Z)(sr.prototype,"specialFeatures",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,s.Z)(sr.prototype,"vendorConfigurationCount",[i.computed],Object.getOwnPropertyDescriptor(sr.prototype,"vendorConfigurationCount"),sr.prototype),sr);const Cr={path:"/scanner/result/externals/:host",method:n.RouteHttpVerb.PUT};let xr;const Sr=(...e)=>(xr||(xr=(0,n.createLocalizationFactory)(n.BaseOptions.getPureSlug("real-cookie-banner")))).__(...e);var Rr,Er,Zr;let Pr=(Rr=class{get identifier(){return this.data.host}get inactive(){return"full"===this.blockedStatus||this.data.ignored}get blockedStatus(){const{foundCount:e,blockedCount:t}=this.data;return 0===t?"none":e===t?"full":"partial"}get blockedStatusText(){switch(this.blockedStatus){case"full":return Sr("Fully blocked");case"partial":return Sr("Partially blocked");default:return Sr("Not blocked")}}constructor(e,t){(0,a.Z)(this,"busy",Er,this),(0,a.Z)(this,"data",Zr,this),this.store=void 0,this.ignore=(0,i.flow)((function*(e=!0){try{yield g({location:Cr,request:{ignored:e},params:{host:this.data.host.replace(/\./g,"_")}}),this.data.ignored=e}catch(e){throw console.log(e),e}})),(0,i.runInAction)((()=>{this.data=e})),this.store=t}},Er=(0,s.Z)(Rr.prototype,"busy",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Zr=(0,s.Z)(Rr.prototype,"data",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(Rr.prototype,"identifier",[i.computed],Object.getOwnPropertyDescriptor(Rr.prototype,"identifier"),Rr.prototype),(0,s.Z)(Rr.prototype,"inactive",[i.computed],Object.getOwnPropertyDescriptor(Rr.prototype,"inactive"),Rr.prototype),(0,s.Z)(Rr.prototype,"blockedStatus",[i.computed],Object.getOwnPropertyDescriptor(Rr.prototype,"blockedStatus"),Rr.prototype),(0,s.Z)(Rr.prototype,"blockedStatusText",[i.computed],Object.getOwnPropertyDescriptor(Rr.prototype,"blockedStatusText"),Rr.prototype),Rr);function Or(e,t=50,o="..."){if(!e||e.length<=t)return e;const r=t-o.length,i=Math.ceil(r/2),n=Math.floor(r/2);return e.substr(0,i)+o+e.substr(e.length-n)}var Ar,zr,Dr;let Ir=(Ar=class{get markup(){return this.store.resultMarkup.get(this.data.id)}get blockedUrlTruncate(){return Or(this.data.blockedUrl,50,"[...]")}get sourceUrlTruncate(){return Or(this.data.sourceUrl,50,"[...]")}constructor(e,t){(0,a.Z)(this,"busy",zr,this),(0,a.Z)(this,"data",Dr,this),this.store=void 0,this.fetchMarkup=(0,i.flow)((function*(){yield this.store.fetchMarkup(this.data.id)})),(0,i.runInAction)((()=>{this.data=e})),this.store=t}},zr=(0,s.Z)(Ar.prototype,"busy",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Dr=(0,s.Z)(Ar.prototype,"data",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(Ar.prototype,"markup",[i.computed],Object.getOwnPropertyDescriptor(Ar.prototype,"markup"),Ar.prototype),(0,s.Z)(Ar.prototype,"blockedUrlTruncate",[i.computed],Object.getOwnPropertyDescriptor(Ar.prototype,"blockedUrlTruncate"),Ar.prototype),(0,s.Z)(Ar.prototype,"sourceUrlTruncate",[i.computed],Object.getOwnPropertyDescriptor(Ar.prototype,"sourceUrlTruncate"),Ar.prototype),Ar);var Br,Tr,Mr,Ur;let Fr=(Br=class{get identifier(){return this.data.identifier}get fullLogoUrl(){const{logoFile:e}=this.data,{publicUrl:t}=this.store.rootStore.optionStore;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}get inactive(){return this.data.created}constructor(e,t){(0,a.Z)(this,"busy",Tr,this),(0,a.Z)(this,"data",Mr,this),(0,a.Z)(this,"attributes",Ur,this),this.store=void 0,this.fetchAttributes=(0,i.flow)((function*(){try{this.busy=!0;const e=yield g({location:Te,params:{identifier:this.data.identifier}});this.attributes=e}catch(e){throw console.log(e),e}finally{this.busy=!1}})),(0,i.runInAction)((()=>{this.data=e})),this.store=t}},Tr=(0,s.Z)(Br.prototype,"busy",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Mr=(0,s.Z)(Br.prototype,"data",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ur=(0,s.Z)(Br.prototype,"attributes",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(Br.prototype,"identifier",[i.computed],Object.getOwnPropertyDescriptor(Br.prototype,"identifier"),Br.prototype),(0,s.Z)(Br.prototype,"fullLogoUrl",[i.computed],Object.getOwnPropertyDescriptor(Br.prototype,"fullLogoUrl"),Br.prototype),(0,s.Z)(Br.prototype,"inactive",[i.computed],Object.getOwnPropertyDescriptor(Br.prototype,"inactive"),Br.prototype),Br);const _r={path:"/scanner/queue",method:n.RouteHttpVerb.POST},jr={path:"/scanner/result/presets",method:n.RouteHttpVerb.GET},Lr={path:"/scanner/result/externals",method:n.RouteHttpVerb.GET},Nr={path:"/scanner/result/externals/:type/:identifier",method:n.RouteHttpVerb.GET},Vr={path:"/scanner/result/markup/:id",method:n.RouteHttpVerb.GET};var Wr,Hr,qr,Gr,Yr,Xr,Jr,$r,Qr,Kr;let ei=(Wr=class{get sortedExternalUrls(){const e=Array.from(this.resultExternalUrls.values());return e.sort(((e,t)=>e.inactive===t.inactive?0:e.inactive?1:-1)),e}get presetsCount(){return this.fetchedAllResultPresets?this.resultPresets.size:this.rootStore.optionStore.allScannerResultPresetsCount}get externalUrlsCount(){return this.fetchedAllResultExternalUrls?this.resultExternalUrls.size:this.rootStore.optionStore.allScannerResultExternalUrlsCount}get canShowResults(){var e;return this.presetsCount+this.externalUrlsCount>0&&(null===(e=this.rootStore.checklistStore.checklist)||void 0===e?void 0:e.items.scanner.checked)}get foundScanResultsCount(){return this.resultPresets.size+this.resultExternalUrls.size}get needsAttentionCount(){return[...this.resultPresets.values(),...this.resultExternalUrls.values()].filter((({inactive:e})=>!e)).length}constructor(e){(0,a.Z)(this,"resultPresets",Hr,this),(0,a.Z)(this,"busyResultPresets",qr,this),(0,a.Z)(this,"fetchedAllResultPresets",Gr,this),(0,a.Z)(this,"resultExternalUrls",Yr,this),(0,a.Z)(this,"resultAllExternalUrls",Xr,this),(0,a.Z)(this,"busyExternalUrls",Jr,this),(0,a.Z)(this,"fetchedAllResultExternalUrls",$r,this),(0,a.Z)(this,"busyMarkup",Qr,this),(0,a.Z)(this,"resultMarkup",Kr,this),this.rootStore=void 0,this.addUrlsToQueue=(0,i.flow)((function*(e){return yield g({location:_r,request:e})})),this.fetchResultPresets=(0,i.flow)((function*(){this.busyResultPresets=!0;try{this.resultPresetsFromResponse(yield g({location:jr})),this.fetchedAllResultPresets=!0}catch(e){throw console.log(e),e}finally{this.busyResultPresets=!1}})),this.fetchResultExternals=(0,i.flow)((function*(){this.busyExternalUrls=!0;try{this.resultExternalUrlsFromResponse(yield g({location:Lr})),this.fetchedAllResultExternalUrls=!0}catch(e){throw console.log(e),e}finally{this.busyExternalUrls=!1}})),this.fetchResultAllExternals=(0,i.flow)((function*(e){const t=e instanceof Pr?"host":"preset",{identifier:o}=e;e.busy=!0;try{const{items:r}=yield g({location:Nr,params:{type:t,identifier:"host"===t?o.replace(/\./g,"_"):o}});let i=this.resultAllExternalUrls.get(o);if(i){const e=r.map((({id:e})=>e));for(const t of i.keys())-1===e.indexOf(t)&&i.delete(t)}else i=new Map;for(const e of Object.values(r))i.set(e.id,new Ir(e,this)),this.resultAllExternalUrls.set(o,i)}catch(e){throw console.log(e),e}finally{e.busy=!1}})),this.fetchMarkup=(0,i.flow)((function*(e){this.busyMarkup=!0;try{const t=yield g({location:Vr,params:{id:e}});this.resultMarkup.set(e,t)}catch(e){throw console.log(e),e}finally{this.busyMarkup=!1}})),this.rootStore=e}resultPresetsFromResponse({items:e}){const t=Object.keys(e);for(const e of this.resultPresets.keys())-1===t.indexOf(e)&&this.resultPresets.delete(e);for(const o of t)this.resultPresets.set(o,new Fr(e[o],this))}resultExternalUrlsFromResponse({items:e}){const t=Object.keys(e);for(const e of this.resultExternalUrls.keys())-1===t.indexOf(e)&&this.resultExternalUrls.delete(e);for(const o of t)this.resultExternalUrls.set(o,new Pr(e[o],this))}},Hr=(0,s.Z)(Wr.prototype,"resultPresets",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),qr=(0,s.Z)(Wr.prototype,"busyResultPresets",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Gr=(0,s.Z)(Wr.prototype,"fetchedAllResultPresets",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Yr=(0,s.Z)(Wr.prototype,"resultExternalUrls",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),Xr=(0,s.Z)(Wr.prototype,"resultAllExternalUrls",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),Jr=(0,s.Z)(Wr.prototype,"busyExternalUrls",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),$r=(0,s.Z)(Wr.prototype,"fetchedAllResultExternalUrls",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Qr=(0,s.Z)(Wr.prototype,"busyMarkup",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Kr=(0,s.Z)(Wr.prototype,"resultMarkup",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,s.Z)(Wr.prototype,"sortedExternalUrls",[i.computed],Object.getOwnPropertyDescriptor(Wr.prototype,"sortedExternalUrls"),Wr.prototype),(0,s.Z)(Wr.prototype,"presetsCount",[i.computed],Object.getOwnPropertyDescriptor(Wr.prototype,"presetsCount"),Wr.prototype),(0,s.Z)(Wr.prototype,"externalUrlsCount",[i.computed],Object.getOwnPropertyDescriptor(Wr.prototype,"externalUrlsCount"),Wr.prototype),(0,s.Z)(Wr.prototype,"canShowResults",[i.computed],Object.getOwnPropertyDescriptor(Wr.prototype,"canShowResults"),Wr.prototype),(0,s.Z)(Wr.prototype,"foundScanResultsCount",[i.computed],Object.getOwnPropertyDescriptor(Wr.prototype,"foundScanResultsCount"),Wr.prototype),(0,s.Z)(Wr.prototype,"needsAttentionCount",[i.computed],Object.getOwnPropertyDescriptor(Wr.prototype,"needsAttentionCount"),Wr.prototype),(0,s.Z)(Wr.prototype,"resultPresetsFromResponse",[i.action],Object.getOwnPropertyDescriptor(Wr.prototype,"resultPresetsFromResponse"),Wr.prototype),(0,s.Z)(Wr.prototype,"resultExternalUrlsFromResponse",[i.action],Object.getOwnPropertyDescriptor(Wr.prototype,"resultExternalUrlsFromResponse"),Wr.prototype),Wr);(0,i.configure)({enforceActions:"always"});class ti{get context(){return this.contextMemo?this.contextMemo:this.contextMemo=(0,n.createContextFactory)(this)}constructor(){this.optionStore=void 0,this.customizeBannerStore=void 0,this.cookieStore=void 0,this.consentStore=void 0,this.statsStore=void 0,this.checklistStore=void 0,this.tcfStore=void 0,this.scannerStore=void 0,this.contextMemo=void 0,this.optionStore=new me(this),this.customizeBannerStore=new Be(this),this.cookieStore=new Ot(this),this.consentStore=new Ro(this),this.statsStore=new Ao(this),this.checklistStore=new Mo(this),this.tcfStore=new kr(this),this.scannerStore=new ei(this)}static get StoreProvider(){return ti.get.context.StoreProvider}static get get(){return ti.me?ti.me:ti.me=new ti}}ti.me=void 0;const oi=()=>ti.get.context.useStores();var ri=o(7363),ii=o(3554),ni=o(9040);function ai(e,t,o,{id:r,legIntPurposes:i}){var n;const a=e.publisherRestrictions.getRestrictions(r);if(a.map((({purposeId:e,restrictionType:o})=>e===t&&o===ni.RestrictionType.NOT_ALLOWED&&e)).filter(Boolean).indexOf(t)>-1)return!1;let s=null===(n=a.filter((({purposeId:e,restrictionType:o})=>e===t&&o!==ni.RestrictionType.NOT_ALLOWED))[0])||void 0===n?void 0:n.restrictionType;return s||(s=i.indexOf(t)>-1?ni.RestrictionType.REQUIRE_LI:ni.RestrictionType.REQUIRE_CONSENT),!(o&&s===ni.RestrictionType.REQUIRE_CONSENT||!o&&s===ni.RestrictionType.REQUIRE_LI)}function si(e,t,o,...[r,i]){const n=function(e,t){switch(e){case"features":return"getVendorsWithFeature";case"specialFeatures":return"getVendorsWithSpecialFeature";case"specialPurposes":return"getVendorsWithSpecialPurpose";case"purposes":return t?"getVendorsWithLegIntPurpose":"getVendorsWithConsentPurpose";default:return"getVendorsWithConsentPurpose"}}(r,i);let a=e[n](o);return["getVendorsWithLegIntPurpose","getVendorsWithConsentPurpose"].indexOf(n)>-1&&(a={...a,...e.getVendorsWithFlexiblePurpose(o)}),Object.values(a).filter((e=>"purposes"!==r||ai(t,o,i,e))).sort((({name:e},{name:t})=>e<t?-1:e>t?1:0))}function li(e,t,o,r){const{[e]:i}=t,n=Object.values(i),a=n.reduce(((i,{id:n})=>(i[n]=si(t,o,n,e,"legInt"===r).length,i)),{});return n.filter((({id:e})=>a[e]))}function ci({tcf:e,tcfMeta:t,tcfString:o}){if(!e||!t||!Object.keys(e.vendors).length)return;const r=new ni.GVL(Object.assign({},e,t));r.lang_=t.language;const i=new ni.TCModel(r),{publisherCc:n}=t;return n&&(i.publisherCountryCode=n),o?ni.TCString.decode(o,i):i.unsetAll(),{gvl:r,model:i,original:e,metadata:t}}var pi=o(8542),ui=o.n(pi),di=o(9749),hi=o.n(di);const bi=/{{([A-Za-z0-9_]+)}}/gm;function fi(e,t){return e.replace(bi,((e,o)=>Object.prototype.hasOwnProperty.call(t,o)?t[o]:e))}function mi(e){return!!/^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/.test(e)}function gi(e){var t;return mi(e)?null===(t=(new DOMParser).parseFromString('<a href="'.concat(e,'"></a>'),"text/html").querySelector("a"))||void 0===t?void 0:t.href:(new DOMParser).parseFromString(e,"text/html").documentElement.textContent}function yi(e,t,o=document.body){return new Promise((r=>{e?hi()(o,fi(e,t),{done:r,error:e=>{console.error(e)},beforeWriteToken:e=>{const{attrs:t,booleanAttrs:o,src:r,href:i,content:n}=e;if(null!=o&&o["skip-write"])return!1;n&&(e.content=n.replace(/window\.onload\s+=/g,"window.".concat("rcbInitiatorOnload"," =")));for(const e in t)if(t[e]=gi(t[e]),"unique-write-name"===e&&document.querySelector('[unique-write-name="'.concat(t[e],'"]')))return!1;return r&&(e.src=gi(r)),i&&(e.href=gi(i)),e}}):r()}))}function vi(e){const t=ui().get(e);if(!t)return!function(e="test"){try{const t={sameSite:"Lax"};ui().set(e,"1",t);const o=-1!==document.cookie.indexOf("".concat(e,"="));return ui().remove(e,t),o}catch(e){return!1}}()&&(window.rcbDisabledCookieComp||!1);const o=function(e,t,o){const r=e.split(":");if(r.length<=3)return r;const i=r.slice(0,2);return i.push(r.slice(2).join(":")),i}(t);if(3!==o.length)return!1;const[r,i]=o,n=r.split(",");return{uuid:n.shift(),previousUuids:n,revision:i,consent:JSON.parse(o[2])}}function wi(e,t){let o,r,i,n=!1,a="";if(e&&"none"!==e){const s="googleTagManager"===e,l="matomoTagManager"===e;s?(i="gtm",o="dataLayer",a="Google Tag Manager"):l&&(i="mtm",o="_mtm",a="Matomo Tag Manager"),(s||l)&&(r=()=>(window[o]=window[o]||[],window[o])),i&&t===i&&(n=!0)}return{getDataLayer:r,serviceIsManager:n,managerLabel:a,expectedManagerPresetId:i}}function ki({decisionCookieName:e,tagManager:t,groups:o,essentialGroupSlug:r,type:i}){let n;const a=t&&"none"!==t,[s]=o.filter((({slug:e})=>e===r)),l={[s.id]:s.items.map((({id:e})=>e))};if("consent"===i){const t=vi(e);!1!==t?n=t.consent:(console.warn("Something went wrong while reading the cookie, fallback to essentials only..."),n=l)}return"essentials"===i&&(n=l),{isManagerActive:a,selectedGroups:n,iterateServices:async function(e){for(const a of o)for(const o of a.items){var r;const s="all"===i||(null===(r=n[a.id])||void 0===r?void 0:r.indexOf(o.id))>-1,l=wi(t,o.presetId);await e(a,o,s,l)}}}}function Ci(e){const t=e.replace(/\*/g,"PLEACE_REPLACE_ME_AGAIN");return"^".concat((o=t,o.replace(new RegExp("[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\".concat("","-]"),"g"),"\\$&")).replace(/PLEACE_REPLACE_ME_AGAIN/g,"(.*)"),"$");var o}const xi=()=>{let e;return[!1,new Promise((t=>e=t)),e]},Si={loading:xi(),complete:xi(),interactive:xi()},Ri=["readystatechange","rocket-readystatechange","DOMContentLoaded","rocket-DOMContentLoaded","rocket-allScriptsLoaded"],Ei=(e,t="complete")=>new Promise((o=>{let r=!1;const i=()=>{(()=>{const{readyState:e}=document,[t,,o]=Si[e];t||(Si[e][0]=!0,o())})(),!r&&Si[t][0]&&(r=!0,null==e||e(),setTimeout(o,0))};i();for(const e of Ri)document.addEventListener(e,i);Si[t][1].then(i)}));async function Zi(e){await Ei();const{dataLayerPromise:t,isManagerOptOut:o,services:r,ready:i}=await async function(e){const t=[],{isManagerActive:o,iterateServices:r}=ki(e),{skipOptIn:i}=e;let n=Promise.resolve(void 0);const a=[];return await r((async(e,r,n,{getDataLayer:s,serviceIsManager:l})=>{const{codeDynamics:c,codeOptIn:p,executeCodeOptInWhenNoTagManagerConsentIsGiven:u}=r;if(n){const n=o&&u,s="function"==typeof i&&i(r);n||s||a.push(yi(p,c));const l={group:e,service:r};document.dispatchEvent(new CustomEvent("RCB/OptIn",{detail:l})),t.push(l)}})),{isManagerOptOut:!1,dataLayerPromise:n,services:t,ready:Promise.all(a)}}(e),{ready:n}=await async function(e,t,o){const r=[],{isManagerActive:i,iterateServices:n}=ki(e);return t?(n(((e,o,r,{serviceIsManager:i})=>{const n=o.tagManagerOptInEventName;r&&n&&!i&&t.push({realCookieBannerOptInEvents:{[n]:!0},event:n})})),setTimeout((()=>n(((e,o,r,{serviceIsManager:i})=>{const n=o.tagManagerOptOutEventName;r||!n||i||t.push({realCookieBannerOptOutEvents:{[n]:!0},event:n})}))),1e3)):i&&o&&await n((async(e,{codeDynamics:t,codeOptIn:o,executeCodeOptInWhenNoTagManagerConsentIsGiven:i},n)=>{n&&i&&r.push(yi(o,t))})),{ready:Promise.all(r)}}(e,await t,o),a=Promise.all([i,n]);document.dispatchEvent(new CustomEvent("RCB/OptIn/All",{detail:{services:r,ready:a}}));const{deleteHttpCookies:s,services:l,ready:c}=await async function(e,t){const o=[],{isManagerActive:r,iterateServices:i}=ki(e),n=[],a=[];return await i((async(e,i,s)=>{const{id:l,codeDynamics:c,codeOptOut:p,deleteTechnicalDefinitionsAfterOptOut:u,isEmbeddingOnlyExternalResources:d,technicalDefinitions:h,executeCodeOptOutWhenNoTagManagerConsentIsGiven:b}=i;if(!s){const s=r&&b;(s&&t||!s)&&n.push(yi(p,c)),u&&!d&&(function(e,t){for(const{type:o,name:r}of e){const e=new RegExp(Ci(fi(r,t)),"g");switch(o){case"http":for(const t of Object.keys(ui().get()))e.test(t)&&ui().remove(t);break;case"local":case"session":try{const t="local"===o?window.localStorage:window.sessionStorage;if(t)for(const o of Object.keys(t))if(e.test(o)){try{t.setItem(o,null)}catch(e){}let e=0;for(;t.getItem(o)&&e<100;)e++,t.removeItem(o)}}catch(e){continue}}}}(h,c),h.some((({type:e})=>"http"===e))&&a.push(l));const f={group:e,service:i};document.dispatchEvent(new CustomEvent("RCB/OptOut",{detail:f})),o.push(f)}})),{services:o,ready:Promise.all(n),deleteHttpCookies:a}}(e,o);document.dispatchEvent(new CustomEvent("RCB/OptOut/All",{detail:{services:l,deleteHttpCookies:s,ready:Promise.all([a,c])}}))}class Pi{constructor(e){this.options=void 0,this.options=e}applyCookies(e){return Zi({...e,...this.options})}getUserDecision(){return vi(this.getOption("decisionCookieName"))}getDefaultDecision(e=!0){return function({groups:e,essentialGroupSlug:t},o=!0){const[r]=e.filter((({slug:e})=>e===t)),i={[r.id]:r.items.map((({id:e})=>e))};if(o)for(const t of e){if(t===r)continue;const e=t.items.filter((({legalBasis:e})=>"legitimate-interest"===e)).map((({id:e})=>e));e.length&&(i[t.id]=e)}return i}(this.options,e)}getOption(e){return this.options[e]}getOptions(){return this.options}}function Oi(){return window["real-cookie-banner".replace(/-([a-z])/g,(e=>e[1].toUpperCase()))]}function Ai(){return Oi().others}function zi(e){const t=Oi().version.split(".");return+("major"===e?t[0]:t.map((e=>+e<10?"0".concat(e):e)).join(""))}class Di{static Context(){return this.context=this.context||(0,ri.createContext)({})}}function Ii(){return(0,ri.useContext)(Di.Context())}Di.context=void 0;var Bi=o(4741);let Ti=0;function Mi(e,t,o){const r=(0,ri.useMemo)((()=>"react-use-plain-css-".concat(t||(Ti++).toString(36))),[]);return(0,ri.useLayoutEffect)((()=>{let t=document.getElementById(r);return t||(t=document.createElement("style"),t.style.type="text/css",t.id=r,document.getElementsByTagName("head")[0].appendChild(t)),t.innerHTML=e,()=>{var e;o||null===(e=t.parentNode)||void 0===e||e.removeChild(t)}}),[e,o]),r}function Ui(e,t){const o="undefined"!=typeof Element?Element.prototype:{},r=o.matches||o.matchesSelector||o.webkitMatchesSelector||o.mozMatchesSelector||o.msMatchesSelector||o.oMatchesSelector;if(!e||1!==e.nodeType||!e.parentElement)return!1;if(r)return r.call(e,t);const i=e.parentElement.querySelectorAll(t);for(const t in i)if(i[t]===e)return!0;return!1}const Fi='[href^="#consent-"]';function _i({enabled:e,scalePercent:t,scalePercentVertical:o},r,i,n,a=!1){return i}function ji(e,t){const[o,r]=(0,ri.useState)(0),[i,n]=(0,ri.useState)(0),[a,s]=(0,ri.useState)(e),[l,c]=(0,ri.useState)(void 0),[p,u]=(0,ri.useState)(t),[d,h]=(0,ri.useState)(void 0);return(0,ri.useEffect)((()=>{o>0&&("none"===e?s(e):(s("none"),c(e))),r(o+1)}),[e]),(0,ri.useEffect)((()=>{i>0&&(0===t?u(t):(u(0),h(t),s("none"),c(e))),n(i+1)}),[t]),(0,ri.useEffect)((()=>{void 0!==l&&(s(l),c(void 0))}),[l]),(0,ri.useEffect)((()=>{void 0!==d&&(u(d),h(void 0))}),[d]),[a,p]}function Li(e){const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return t?{r:parseInt(t[1],16),g:parseInt(t[2],16),b:parseInt(t[3],16)}:null}function Ni(e,t){const{r:o,g:r,b:i}=Li(e);return"rgba(".concat(o,", ").concat(r,", ").concat(i,", ").concat(t/100,")")}function Vi({isVisible:e,animationIn:t,animationOut:o,animationInDuration:r,animationOutDuration:i,animationInDelay:n,animationOutDelay:a}){return e?{animation:t,duration:r,delay:n}:{animation:o,duration:i,delay:a}}const Wi=({animateOnMount:e=!0,isVisible:t=!0,animationIn:o="fadeIn",animationOut:r="fadeOut",animationInDelay:i=0,animationOutDelay:n=0,animationInDuration:a=1e3,animationOutDuration:s=1e3,className:l="",style:c={},children:p})=>{const[{animation:u,duration:d,delay:h},b]=(0,ri.useState)(e?Vi({isVisible:t,animationIn:o,animationOut:r,animationInDelay:i,animationOutDelay:n,animationInDuration:a,animationOutDuration:s}):{animation:"",delay:void 0,duration:0});(0,ri.useEffect)((()=>{b(Vi({isVisible:t,animationIn:o,animationOut:r,animationInDelay:i,animationOutDelay:n,animationInDuration:a,animationOutDuration:s}))}),[t,o,r,i,n,a,s]);const f="animate__animated animate__".concat(u," ").concat(l),m=u?{}:{opacity:t?1:0,transition:"opacity ".concat(h,"ms")};return React.createElement("div",{className:f,style:{animationDelay:"".concat(h,"ms"),animationDuration:"".concat(d,"ms"),pointerEvents:t?"all":"none",...c,...m}},p)};function Hi(e,t){const{pageRequestUuid4:o}=Ii(),r=Mi("","useRenderedHeightsAsCssVars-".concat(t)),i=document.getElementById(r);(0,ri.useEffect)((()=>{let r=0;const n=()=>{const n=e.getBoundingClientRect().height;r!==n&&(r=n,i.innerHTML="#".concat(o,"{--rendered-height-").concat(t,": ").concat(Math.floor(n),"px;--rendered-height-raw-").concat(t,": ").concat(n,"px}"))};if(!e)return()=>{};const a=document.querySelector("#".concat(o,' div[class*="animate__"]'));if(a.addEventListener("animationend",n),window.ResizeObserver){const t=new ResizeObserver(n);return t.observe(e),()=>{t.disconnect(),a.removeEventListener("animationend",n)}}{const e=setInterval(n,150);return()=>{clearInterval(e),a.removeEventListener("animationend",n)}}}),[e,t])}function qi(){const{individualPrivacyOpen:e,onSave:t,updateGroupChecked:o,updateCookieChecked:r,groups:i,essentialGroup:n,updateIndividualPrivacyOpen:a,activeAction:s,onClose:l}=Ii(),c=e?"ind_all":"main_all",p=e?"ind_essential":"main_essential",u=e?"ind_close_icon":"main_close_icon",d=e?"ind_custom":"main_custom",h={buttonClickedAll:c,buttonClickedEssentials:p,buttonClickedCloseIcon:u,buttonClickedCustom:d,acceptAll:(0,ri.useCallback)((()=>{i.forEach((e=>o(e.id,!0))),t(!1,c)}),[c]),acceptEssentials:(0,ri.useCallback)(((e=!1)=>{i.forEach((({slug:e,id:t,items:i})=>{if(e===n)o(t,!0);else for(const{legalBasis:e,id:o}of i)r(t,o,"legitimate-interest"===e)})),t(!1,e?u:p)}),[p]),acceptIndividual:(0,ri.useCallback)((()=>t(!1,d)),[d]),openIndividualPrivacy:(0,ri.useCallback)((()=>{a(!0)}),[a])};return{...h,closeIcon:(0,ri.useCallback)((()=>{s?l():h.acceptEssentials(!0)}),[s,l,h.acceptEssentials])}}var Gi=o(7778);const Yi=({children:e,className:t,tag:o="div",renderInContainer:i})=>{const[n]=(0,ri.useState)((()=>{const e=document.createElement(o);return t&&e.classList.add(t),e}));return(0,ri.useEffect)((()=>(document.body.appendChild(n),()=>{document.body.removeChild(n)})),[]),(0,r.createPortal)(e,i||n)};var Xi=o(3428);const Ji=(0,ri.forwardRef)((({children:e,className:t,title:o,position:r="top",color:i,size:n="large",always:a,rounded:s,noAnimate:l,bounce:c,...p},u)=>(Mi(Xi,"hint-css",!0),React.createElement("div",(0,Bi.Z)({style:{position:"relative",display:"inline"},ref:u,"aria-label":o,className:"hint--".concat(r," hint--").concat(n," ").concat(i?"hint--".concat(i):""," ").concat(a?"hint--always":""," ").concat(s?"hint--rounded":""," ").concat(l?"hint--no-animate":""," ").concat(c?"hint--bounce":""," ").concat(t||"")},p),e))));let $i=0;const Qi=({width:e,color:t,tooltipText:o,framed:r,renderInContainer:i,tooltipAlways:n,onClick:a,thickness:s=1})=>{const l=(0,ri.useMemo)((()=>"react-close-icon-".concat(($i++).toString(36))),[]),c=(0,ri.useMemo)((()=>"react-close-icon-".concat(($i++).toString(36))),[]),p=(0,ri.useMemo)((()=>"react-close-icon-".concat(($i++).toString(36))),[]),u=(0,ri.useRef)(),d=(0,Gi.EL)(u);return Mi("#".concat(p,", #").concat(l," {\n position: absolute;\n top: 50%;\n right: 0;\n margin-top: calc(").concat(e,"px / 2 * -1);\n display: block;\n width: ").concat(e,"px;\n height: ").concat(e,"px; \n pointer-events: none;\n}\n\n#").concat(l," {\n position: absolute !important;\n}\n\n#").concat(l,", #").concat(c," {\n cursor: pointer;\n pointer-events: all;\n ").concat(r?"outline: rgb(255, 94, 94) solid 5px;":"","\n}\n\n#").concat(c," {\n position: fixed !important;\n ").concat(d?"top: ".concat(d.y,"px;left: ").concat(d.x,"px;display:block;"):"display:none;","\n width: ").concat(e,"px;\n height: ").concat(e,"px;\n z-index: 99;\n}\n#").concat(c,":after, #").concat(l,":after {\n width: auto !important;\n white-space: nowrap !important;\n}\n#").concat(c,">span:before, #").concat(c,">span:after,\n#").concat(l,">span:before, #").concat(l,">span:after {\n position: absolute;\n top: 50%;\n left: 50%;\n width: ").concat(s,"px;\n height: ").concat(e,"px;\n background-color: ").concat(t,";\n transform: rotate(45deg) translate(-50%, -50%);\n transform-origin: top left;\n transition: all 420ms;\n content: '';\n opacity: 0.5;\n pointer-events: none;\n}\n#").concat(c,">span:after,\n#").concat(l,">span:after {\n transform: rotate(-45deg) translate(-50%, -50%);\n}\n#").concat(c,">span:hover:before, #").concat(c,">span:hover:after,\n#").concat(l,">span:hover:before, #").concat(l,">span:hover:after {\n opacity: 1;\n width: ").concat(s+1,"px;\n}")),i?React.createElement(ri.Fragment,null,React.createElement("div",{id:p,ref:u}),(null==d?void 0:d.y)>0&&React.createElement(Yi,{renderInContainer:i},React.createElement(Ji,{title:o,id:c,onClick:a,position:d.y>50?"top-left":"left",always:n},React.createElement("span",null)))):React.createElement(Ji,{title:o,id:l,onClick:a,position:"top-left",always:n},React.createElement("span",null))},Ki=()=>{const{headerDesign:{fontSize:e,fontColor:t},texts:{acceptEssentials:o},mobile:r,activeAction:i,pageRequestUuid4:n,i18n:{close:a,closeWithoutSaving:s},buttonClicked:l=""}=Ii(),{buttonClickedCloseIcon:c,closeIcon:p}=qi(),u=document.getElementById(n);return React.createElement(Qi,{width:_i(r,0,e),color:t,tooltipText:i?"change"===i?s:a:o,tooltipAlways:(null==u?void 0:u.clientWidth)<700,framed:l===c,renderInContainer:u,onClick:p})},en=(0,ri.forwardRef)(((e,t)=>{const o=Ii(),{headerDesign:{logo:r,logoRetina:i},decision:{showCloseIcon:n},texts:{headline:a},activeAction:s,individualPrivacyOpen:l,individualTexts:c,i18n:{headerTitlePrivacyPolicyHistory:p}}=o,u=i&&!(null!=r&&r.endsWith(".svg"))&&window.devicePixelRatio>1,d=u?i:r,h=l?"history"===s?p:c.headline:a;return React.createElement("div",(0,Bi.Z)({ref:t},function({layout:{type:e,dialogBorderRadius:t},design:{borderWidth:o,borderColor:r,...i},headerDesign:{inheritBg:n,bg:a,padding:s},customCss:{antiAdBlocker:l},mobile:c,pageRequestUuid4:p}){const u=_i(c,0,e),d=_i(c,0,o),h={padding:_i(c,0,s,0,!0).map((e=>"".concat(e,"px"))).join(" "),background:n?i.bg:a,borderRadius:"dialog"===u?"".concat(t,"px ").concat(t,"px 0 0"):void 0,position:"sticky",zIndex:9,top:0};return"dialog"===u&&d>0&&(h.borderTop="".concat(d,"px solid ").concat(r),h.borderLeft=h.borderTop,h.borderRight=h.borderTop),{className:"y"===l?void 0:"rcb-header-container",style:h}}(o)),React.createElement("div",function({layout:{type:e,bannerMaxWidth:t},design:{textAlign:o},headerDesign:{inheritTextAlign:r,logo:i,logoPosition:n,...a},texts:{headline:s},individualLayout:l,customCss:{antiAdBlocker:c},mobile:p,pageRequestUuid4:u,individualPrivacyOpen:d}){const h=r?o:a.textAlign;return{className:"y"===c?void 0:"rcb-header",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===_i(p,0,e)?+(d&&!l.inheritBannerMaxWidth?l.bannerMaxWidth:t):void 0,margin:"auto",display:"flex",justifyContent:"center"===h?"center":"right"===h?"flex-end":void 0,textAlign:h,alignItems:"center",position:"relative",flexDirection:i&&s?"left"===n?"row":"right"===n?"row-reverse":"column":void 0}}}(o),!!d&&React.createElement("img",(0,Bi.Z)({alt:"",src:d},function({headerDesign:{logoMaxHeight:e,logoMargin:t,logoFitDim:o,logoRetinaFitDim:r},customCss:{antiAdBlocker:i},mobile:n,pageRequestUuid4:a},s){const l=s?r:o;return{className:"y"===i?void 0:"rcb-logo",style:{...l?{width:l[0],height:l[1]}:{width:"auto",height:_i(n,0,+e)},margin:_i(n,0,t).map((e=>"".concat(e,"px"))).join(" ")}}}(o,u))),!!h&&React.createElement("div",function({headerDesign:{fontSize:e,fontColor:t,fontInheritFamily:o,fontFamily:r,fontWeight:i},customCss:{antiAdBlocker:n},mobile:a,pageRequestUuid4:s},l){return{className:"y"===n?void 0:"rcb-headline",style:{color:t,lineHeight:1.8,fontSize:s?_i(a,0,+e):+e,fontFamily:o?void 0:r,fontWeight:i,paddingRight:l?20:void 0}}}(o,!1),h),(!!n||!!s)&&React.createElement(Ki,null)))}));class tn{static Context(){return this.context=this.context||(0,ri.createContext)({})}}function on(){const e=Ii(),t=(0,ri.useContext)(tn.Context());return e.groups?e:t}function rn(){const{legal:{privacyPolicy:e,privacyPolicyExternalUrl:t,privacyPolicyIsExternalUrl:o,privacyPolicyLabel:r,imprint:i,imprintExternalUrl:n,imprintIsExternalUrl:a,imprintLabel:s},pageByIdUrl:l}=on(),c=on().pageIdToPermalink||{};let p=e>0?c[e]||"".concat(l,"=").concat(e):void 0,u=i>0?c[i]||"".concat(l,"=").concat(i):void 0;return o&&(p=t),a&&(u=n),{linkPrivacyPolicy:!(!r||!p)&&{url:p,label:r},linkImprint:!(!s||!u)&&{url:u,label:s}}}function nn(e,t){return e.length>1&&e.splice(e.length-1,0,"{{andSeparator}}"),e.join(", ").replace(/,\s+{{andSeparator}},\s+/g,t)}tn.context=void 0;const an='<sup style="vertical-align:top;line-height:100%;position:initial;">',sn=({title:e,children:t})=>{const o=Ii();return React.createElement("div",function({group:{headlineFontSize:e,headlineFontColor:t,headlineFontWeight:o},customCss:{antiAdBlocker:r},mobile:i,pageRequestUuid4:n}){return{className:"y"===r?void 0:"rcb-group",style:{color:t,fontSize:_i(i,0,e),fontWeight:o,textAlign:"left"}}}(o),e,t&&React.createElement("div",function({design:{fontWeight:e},group:{descriptionFontColor:t,descriptionFontSize:o},customCss:{antiAdBlocker:r},mobile:i,pageRequestUuid4:n}){return{className:"y"===r?void 0:"rcb-group-description",style:{color:t,fontSize:_i(i,0,+o),fontWeight:e,marginTop:5}}}(o),t))};function ln({customCss:{antiAdBlocker:e}}){return{className:"y"===e?void 0:"rcb-groups",style:{marginTop:10,clear:"both"}}}function cn({group:{groupBg:e,groupBorderRadius:t,groupBorderColor:o,groupPadding:r,groupBorderWidth:i,groupInheritBg:n},customCss:{antiAdBlocker:a},mobile:s,pageRequestUuid4:l}){const c=_i(s,0,i);return{className:"y"===a?void 0:"rcb-group",style:{background:n?void 0:e,border:c>0?"".concat(c,"px solid ").concat(o):void 0,padding:_i(s,0,r).map((e=>"".concat(e,"px"))).join(" "),borderRadius:+t,textAlign:"left"}}}var pn=o(6141);const un=({icon:e,...t})=>{const o=(0,ri.useMemo)((()=>(0,pn.x)(e,{extraSVGAttrs:{style:"width:auto;height:100%;",fill:"currentColor"}})),[e]);return React.createElement("div",(0,Bi.Z)({},t,{dangerouslySetInnerHTML:{__html:o}}))};var dn=o(4769),hn=o(3282);const bn=({hideCheckbox:e,isPartial:t,isChecked:o,isDisabled:r,fontSize:i,onClick:n,children:a,after:s,...l})=>{const c=t?dn.Z:hn.Z,p=on(),[u,d]=(0,ri.useState)(!1);return(0,ri.useLayoutEffect)((()=>{d(!0)}),[]),React.createElement(ri.Fragment,null,!e&&React.createElement(un,(0,Bi.Z)({icon:c,onClick:n},function({layout:{borderRadius:e},group:{headlineFontSize:t,checkboxBg:o,checkboxBorderWidth:r,checkboxBorderColor:i,checkboxActiveBg:n,checkboxActiveBorderColor:a,checkboxActiveColor:s},customCss:{antiAdBlocker:l},mobile:c,pageRequestUuid4:p},u,d,h,b){let f=b||t;f=p?_i(c,0,f):f;const m=p?_i(c,0,+r):+r,g=+f+2*m+6;return{className:"y"===l?void 0:"rcb-checkbox",style:{cursor:h?"not-allowed":"pointer",opacity:h?.5:void 0,color:d?s:o,display:u?"inline-block":"none",background:d?n:o,border:"".concat(m,"px solid ").concat(d?a:i),padding:3,height:g,width:g,marginRight:10,borderRadius:+e,verticalAlign:"middle",lineHeight:0,boxSizing:"border-box"}}}(p,u,o,r,i),l)),a&&React.createElement("span",{style:{verticalAlign:"middle",cursor:"pointer"}},React.createElement("span",{onClick:n},a),s))};function fn({design:{linkTextDecoration:e},group:{linkColor:t,linkHoverColor:o},customCss:{antiAdBlocker:r}},i){return{className:"y"===r?void 0:"rcb-group-more",style:{color:i?o:t,textDecoration:e}}}const mn=({onToggle:e,children:t,showMore:o,hideMore:r,...i})=>{const n=on(),[a,s]=(0,ri.useState)(!1),[l,c]=(0,ri.useState)(!1);return React.createElement(ri.Fragment,null,"  •  ",React.createElement("a",(0,Bi.Z)({href:"#"},fn(n,a),{onClick:t=>{const o=!l;c(o),null==e||e(o),t.preventDefault()},onMouseEnter:()=>s(!0),onMouseLeave:()=>s(!1)},i),l?r:o),l&&t)};function gn({customCss:{antiAdBlocker:e}}){return{className:"y"===e?void 0:"rcb-cookie",style:{marginTop:10}}}const yn=({label:e,value:t,children:o,printValueAs:r})=>{const i=on(),{i18n:{yes:n,no:a}}=i;let s="string"==typeof t&&mi(t)?React.createElement("a",{href:t,style:{wordBreak:"break-all",...fn(i,!1).style},target:"_blank",rel:"noopener noreferrer"},t):"string"==typeof t?React.createElement("span",{dangerouslySetInnerHTML:{__html:t}}):t;return"boolean"===r&&(s=s?n:a),React.createElement("div",(0,Bi.Z)({key:e},function({group:{groupBorderWidth:e,groupBorderColor:t},customCss:{antiAdBlocker:o},mobile:r,pageRequestUuid4:i}){return{className:"y"===o?void 0:"rcb-cookie-prop",style:{borderLeft:(i?_i(r,0,e):e)>0?"1px solid ".concat(t):void 0,paddingLeft:15}}}(i)),e&&React.createElement("strong",null,e,": "),s,!!o&&React.createElement("div",null,o))},vn=({cookie:{purpose:e,provider:t,providerPrivacyPolicyUrl:o,legalBasis:r,ePrivacyUSA:i,isEmbeddingOnlyExternalResources:n,technicalDefinitions:a,codeDynamics:s},isEssentialGroup:l})=>{const{i18n:c,ePrivacyUSA:p}=on(),u={http:{name:"HTTP Cookie",abbr:"HTTP",backgroundColor:"black"},local:{name:"Local Storage",abbr:"Local",backgroundColor:"#b3983c"},session:{name:"Session Storage",abbr:"Session",backgroundColor:"#3c99b3"},flash:{name:"Flash Local Shared Object",abbr:"Flash",backgroundColor:"#b33c3c"},indexedDb:{name:"IndexedDB",abbr:"I-DB",backgroundColor:"#4ab33c"}};return React.createElement(ri.Fragment,null,!!e&&React.createElement(yn,{label:c.purpose,value:e}),React.createElement(yn,{label:c.legalBasis,value:"legal-requirement"===r?c.legalRequirement:"legitimate-interest"===r||l?c.legitimateInterest:c.consent}),React.createElement(yn,{label:c.provider,value:t}),!!o&&React.createElement(yn,{label:c.providerPrivacyPolicyUrl,value:o}),!!p&&React.createElement(yn,{label:c.ePrivacyUSA,value:i,printValueAs:"boolean"}),!n&&a.map((({type:e,name:t,host:o,duration:r,durationUnit:i,isSessionDuration:n,purpose:a})=>React.createElement(yn,{key:t,label:c.technicalCookieDefinition,value:React.createElement("span",{style:{fontFamily:"monospace"}},fi(t,s))},React.createElement(yn,{label:c.type,value:u[e].name}),!!a&&React.createElement(yn,{label:c.purpose,value:a}),!!o&&React.createElement(yn,{label:c.host,value:React.createElement("span",{style:{fontFamily:"monospace"}},o)}),React.createElement(yn,{label:c.duration,value:["local","indexedDb","flash"].indexOf(e)>-1?c.noExpiration:n||"session"===e?"Session":"".concat(r," ").concat(c.durationUnit[i])})))))},wn=({cookie:e,checked:t,disabled:o,onToggleCheck:r,propertyListProps:i={}})=>{const{name:n}=e,a=on(),{group:{descriptionFontSize:s}}=a;return React.createElement("div",gn(a),React.createElement("div",{style:{marginBottom:10}},React.createElement(bn,{isChecked:t,isDisabled:o,fontSize:s,onClick:r},React.createElement("strong",null,n))),React.createElement(vn,(0,Bi.Z)({cookie:e},i)))},kn=({group:e,cookie:t})=>{var o;const{id:r}=t,i=Ii(),{consent:n,activeAction:a,essentialGroup:s}=i,l=s===e.slug,c=l||"history"===a,p=l||((null===(o=n.groups)||void 0===o?void 0:o[e.id])||[]).some((e=>e===r)),u=(0,ri.useCallback)((()=>!c&&i.updateCookieChecked(e.id,r,!p)),[c,i,e,r,p]);return React.createElement(wn,{cookie:t,propertyListProps:{isEssentialGroup:l},checked:p,disabled:c,onToggleCheck:u})},Cn=({group:e})=>{var t;const o=Ii(),{id:r,slug:i,name:n,description:a,items:s}=e,{previewCheckboxActiveState:l,consent:c,activeAction:p,essentialGroup:u,individualTexts:{showMore:d,hideMore:h}}=o,b=u===i,f=b||"history"===p,m=l||b||!!c.groups[r],g=!b&&JSON.stringify(s.map((({id:e})=>e)).sort())!==JSON.stringify((null===(t=c.groups[r])||void 0===t?void 0:t.sort())||[]),y=(0,ri.useCallback)((()=>!f&&o.updateGroupChecked(r,!m)),[f,o,r,m]);return React.createElement("div",cn(o),React.createElement(sn,{title:React.createElement(bn,{onClick:y,isPartial:g,isChecked:m,isDisabled:f},n," (",s.length,")")},a,!!s&&React.createElement(mn,{showMore:d,hideMore:h},s.map((t=>React.createElement(kn,{key:t.id,group:e,cookie:t}))))))},xn=()=>{const e=Ii(),{groups:t,group:{groupSpacing:o},mobile:r,pageRequestUuid4:i}=e,n=t.filter((({items:e})=>e.length));return React.createElement("div",ln(e),n.map(((e,t)=>React.createElement(ri.Fragment,{key:e.id},React.createElement(Cn,{key:e.id,group:e}),t!==n.length-1&&React.createElement("div",{style:{height:_i(r,0,+o)}})))))},Sn=({children:e,active:t,...o})=>{const r=on(),[i,n]=(0,ri.useState)(!1);return React.createElement("a",(0,Bi.Z)({},o,{onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1)},function({bodyDesign:{acceptAllBg:e,acceptAllFontColor:t,acceptAllBorderWidth:o,acceptAllBorderColor:r},layout:{borderRadius:i},design:{linkTextDecoration:n},group:{linkColor:a},customCss:{antiAdBlocker:s},mobile:l,pageRequestUuid4:c},p,u){return{className:"y"===s?void 0:"rcb-tcf-groups-switch-button",style:{padding:"5px 10px",color:p?t:a,border:"".concat(c?_i(l,0,o):o,"px solid ").concat(p?r:"transparent"),background:p?e:void 0,borderRadius:+i,textDecoration:p?void 0:n,cursor:p?"initial":"pointer",opacity:u||p?1:.8}}}(r,t,i)),e)},Rn=({id:e})=>{var t;const[o,r]=(0,ri.useState)(!1),i=Ii(),{ePrivacyUSA:n,tcfFilterBy:a,tcf:{gvl:s,model:l,original:{vendorConfigurations:c}}}=i,{vendors:{[e]:p},purposes:u,specialPurposes:d,features:h,specialFeatures:b}=s,{name:f,policyUrl:m,["consent"===a?"purposes":"legIntPurposes"]:g,flexiblePurposes:y,specialPurposes:v,features:w,specialFeatures:k,usesCookies:C,cookieMaxAgeSeconds:x,cookieRefresh:S,usesNonCookieAccess:R,...E}=p,{ePrivacyUSA:Z}=(0,ri.useMemo)((()=>Object.values(c).filter((({vendorId:t})=>t===e))[0]),[e]),P=(0,ri.useMemo)((()=>[...g,...y.filter((e=>-1===g.indexOf(e)))].filter((e=>ai(l,e,"legInt"===a,p)))),[e,a]),{group:{descriptionFontSize:O},i18n:{tcf:{declarations:A,...z},...D},activeAction:I}=i,B=E.deviceStorageDisclosure,T=E.additionalInformation,M=null==T?void 0:T.legalAddress,U=!(null==T||!T.internationalTransfers),F=l["consent"===a?"vendorConsents":"vendorLegitimateInterests"],_="history"===I,j=F.has(e),[L,N]=(0,ri.useState)(j);(0,ri.useEffect)((()=>{N(j)}),[j]);const V=(0,ri.useCallback)((()=>{if(!_){const t=!L;try{F[t?"set":"unset"](e),N(t)}catch(e){}}}),[_,e,L,F,N]);return React.createElement("div",gn(i),React.createElement("div",{style:{marginBottom:10}},React.createElement(bn,{isChecked:L,isDisabled:_,fontSize:O,onClick:V,after:React.createElement(mn,{onToggle:r,showMore:z.showMore,hideMore:z.hideMore})},React.createElement("strong",null,f))),o&&React.createElement(ri.Fragment,null,!!M&&React.createElement(yn,{label:D.provider,value:M.split(";").join(", ")}),React.createElement(yn,{label:D.providerPrivacyPolicyUrl,value:m}),!!n&&React.createElement(yn,{label:D.ePrivacyUSA,value:U?D.yes:2===Z?D.unknown:1===Z?D.yes:D.no}),P.length>0&&React.createElement(yn,{label:A.purposes.title,value:P.map((e=>u[e].name)).join(", ")}),v.length>0&&React.createElement(yn,{label:A.specialPurposes.title,value:v.map((e=>d[e].name)).join(", ")}),w.length>0&&React.createElement(yn,{label:A.features.title,value:w.map((e=>h[e].name)).join(", ")}),k.length>0&&React.createElement(yn,{label:A.specialFeatures.title,value:k.map((e=>b[e].name)).join(", ")}),React.createElement(yn,{label:D.usesCookies,value:C,printValueAs:"boolean"}),C&&React.createElement(yn,{label:D.duration,value:x<=0?"Session":"".concat(x," ").concat(D.durationUnit.s)}),React.createElement(yn,{label:D.cookieRefresh,value:S,printValueAs:"boolean"}),React.createElement(yn,{label:D.usesNonCookieAccess,value:R,printValueAs:"boolean"}),null==B||null===(t=B.disclosures)||void 0===t?void 0:t.map((({type:e,identifier:t,domain:o,maxAgeSeconds:r,cookieRefresh:i,purposes:n})=>React.createElement(yn,{key:f,label:D.technicalCookieDefinition,value:React.createElement("span",{style:{fontFamily:"monospace"}},t)},React.createElement(yn,{label:D.type,value:En(e)}),!!o&&React.createElement(yn,{label:D.host,value:React.createElement("span",{style:{fontFamily:"monospace"}},o)}),null!==r&&React.createElement(yn,{label:D.duration,value:r<=0?"Session":"".concat(r," ").concat(D.durationUnit.s)}),React.createElement(yn,{label:D.cookieRefresh,value:i,printValueAs:"boolean"}),!(null==n||!n.length)&&React.createElement(yn,{label:A.purposes.title,value:n.map((e=>u[e].name)).join(", ")}))))))};function En(e){switch(e){case"cookie":return"HTTP Cookie";case"web":return"LocalStorage, Session Storage, IndexDB";case"app":return"App";default:return e}}const Zn=()=>{const e=Ii(),{tcf:{gvl:{vendors:t},model:o},tcfFilterBy:r,i18n:{tcf:{vendors:i,filterNoVendors:n}}}=e,a=(0,ri.useMemo)((()=>Object.values(t).filter((({["consent"===r?"purposes":"legIntPurposes"]:e})=>"consent"===r||e.length>0)).sort((({name:e},{name:t})=>e<t?-1:e>t?1:0))),[t,r,o]),s=a.length>0;return React.createElement("div",cn(e),React.createElement(sn,{title:i},a.map((({id:e})=>React.createElement(Rn,{key:e,id:e}))),!s&&n))},Pn=/(\r\n|\r|\n|<br[ ]?\/>)/g;function On(e,t){const o=e.filter(Boolean);return 0===o.length?null:o.reduce(((e,o,r)=>e.length?[...e,React.createElement(ri.Fragment,{key:r},t),o]:[o]),[])}const An=({declaration:e,id:t})=>{const[o,r]=(0,ri.useState)(!1),i=Ii(),{tcf:{gvl:n,model:a},tcfFilterBy:s}=i,{[e]:{[t.toString()]:{name:l,descriptionLegal:c}}}=n,{group:{descriptionFontSize:p},activeAction:u,i18n:{purpose:d,tcf:{showMore:h,hideMore:b,vendors:f}}}=i,m=["specialPurposes","features"].indexOf(e)>-1,g="history"===u||m,y=m?void 0:a["specialFeatures"===e?"specialFeatureOptins":"legInt"===s?"purposeLegitimateInterests":"purposeConsents"],v=m||!(null==y||!y.has(t)),[w,k]=(0,ri.useState)(v);(0,ri.useEffect)((()=>{k(v)}),[v]);const C=(0,ri.useCallback)((()=>{if(!g){const e=!w;try{y[e?"set":"unset"](t),k(e)}catch(e){}}}),[g,t,w,y,k]),x=(0,ri.useMemo)((()=>si(n,a,t,e,"legInt"===s)),[n,a,t,e,s]);return React.createElement("div",gn(i),React.createElement("div",{style:{marginBottom:10}},React.createElement(bn,{hideCheckbox:-1===["purposes","specialFeatures"].indexOf(e),isChecked:w,isDisabled:g,fontSize:p,onClick:C,after:React.createElement(mn,{onToggle:r,showMore:h,hideMore:b})},React.createElement("strong",null,l))),o&&React.createElement(ri.Fragment,null,React.createElement(yn,{label:d,value:(S=c,S.split(Pn).map(((e,t)=>e.match(Pn)?(0,ri.createElement)("br",{key:t}):e)))}),React.createElement(yn,{label:f,value:On(x.map((({id:e,name:t,policyUrl:o})=>React.createElement("a",(0,Bi.Z)({key:e,href:o,target:"_blank",rel:"noreferrer"},fn(i,!1)),t))),", ")})));var S},zn=({declaration:e})=>{const t=Ii(),{i18n:{tcf:{declarations:{[e]:{title:o,desc:r}}}}}=t,i=function(e){const t=Ii(),{tcf:{gvl:o,model:r},tcfFilterBy:i}=t,{[e]:n}=o;return(0,ri.useMemo)((()=>li(e,o,r,i)),[n,o,r,e,i])}(e);return i.length>0?React.createElement("div",cn(t),React.createElement(sn,{title:o},r,i.map((({id:t})=>React.createElement(An,{key:t,declaration:e,id:t}))))):null},Dn=["purposes","specialPurposes","features","specialFeatures"],In=()=>{const e=Ii(),{group:{groupSpacing:t},mobile:o,tcfFilterBy:r,updateTcfFilterBy:i,pageRequestUuid4:n,i18n:{legitimateInterest:a,consent:s,tcf:{filterText:l,nonStandard:c,nonStandardDesc:p,tcfStandard:u,tcfStandardDesc:d}}}=e,h={margin:"20px 0 10px 0"},b={height:_i(o,0,+t)};return React.createElement(ri.Fragment,null,React.createElement("div",{style:h},React.createElement(sn,{title:c},p)),React.createElement(xn,null),React.createElement("div",{style:h},React.createElement(sn,{title:u},d,React.createElement("div",{style:h},l," ",React.createElement(Sn,{onClick:()=>i("legInt"),active:"legInt"===r},a),React.createElement(Sn,{onClick:()=>i("consent"),active:"consent"===r},s)))),React.createElement("div",ln(e),React.createElement(Zn,null),React.createElement("div",{style:b}),Dn.map(((e,t)=>React.createElement(ri.Fragment,{key:e},React.createElement(zn,{key:e,declaration:e}),t!==Dn.length-1&&React.createElement("div",{style:b}))))))};var Bn=o(2018),Tn=o(351),Mn=o(4849),Un=o(1278);const Fn=({item:{name:e,description:t},isLast:o})=>{const r=Ii(),{bodyDesign:{tcfStacksArrowType:i}}=r,[n,a]=(0,ri.useState)(!1),[s,l]=(0,ri.useState)(!1);return React.createElement("div",(0,Bi.Z)({},function({bodyDesign:{tcfStacksBorderWidth:e,tcfStacksBorderColor:t,tcfStacksPadding:o,tcfStacksBg:r,tcfStacksHoverBg:i,tcfStacksActiveBg:n},customCss:{antiAdBlocker:a},mobile:s,pageRequestUuid4:l},c,p,u){const d="".concat(_i(s,0,e),"px solid ").concat(t);return{className:"y"===a?void 0:"rcb-tcf-stacks-accordion",style:{padding:_i(s,0,o).map((e=>"".concat(e,"px"))).join(" "),borderTop:d,borderBottom:c?d:void 0,cursor:"pointer",background:u?i:p?n:r}}}(r,o,n,s),{onClick:()=>a(!n),onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1)}),React.createElement("div",{style:{display:"flex",alignItems:"center"}},"none"!==i&&React.createElement(un,(0,Bi.Z)({icon:n?"filled"===i?Bn.Z:Tn.Z:"filled"===i?Mn.Z:Un.Z},function({bodyDesign:{tcfStacksTitleFontSize:e,tcfStacksArrowColor:t},customCss:{antiAdBlocker:o},mobile:r,pageRequestUuid4:i}){const n=_i(r,0,+e);return{className:"y"===o?void 0:"rcb-tcf-stacks-arrow",style:{width:n,height:n,flex:"0 0 ".concat(n,"px"),lineHeight:"".concat(n,"px"),float:"left",marginRight:10,color:t}}}(r))),React.createElement("div",function({bodyDesign:{tcfStacksTitleFontSize:e,tcfStacksTitleFontColor:t,tcfStacksTitleFontWeight:o},customCss:{antiAdBlocker:r},mobile:i,pageRequestUuid4:n}){return{className:"y"===r?void 0:"rcb-tcf-stacks-title",style:{fontSize:_i(i,0,+e),color:t,fontWeight:o}}}(r),e)),n&&React.createElement("div",function({bodyDesign:{tcfStacksDescriptionFontSize:e,tcfStacksDescriptionFontColor:t,tcfStacksDescriptionFontWeight:o,tcfStacksDescriptionMargin:r},customCss:{antiAdBlocker:i},mobile:n,pageRequestUuid4:a}){return{className:"y"===i?void 0:"rcb-tcf-stacks-title",style:{fontSize:_i(n,0,+e),color:t,fontWeight:o,margin:_i(n,0,r).map((e=>"".concat(e,"px"))).join(" ")}}}(r),t))},_n=()=>{const e=Ii(),{tcf:{gvl:t,model:o},texts:{tcfStacksCustomName:r,tcfStacksCustomDescription:i},listServicesNotice:n}=e,{vendors:a,stacks:s,purposes:{1:l}}=t,c=(0,ri.useMemo)((()=>{const e=li("purposes",t,o,"legInt").filter((({id:e})=>1===e)),r=li("purposes",t,o,"consent").filter((({id:e})=>1===e));return e.length>0||r.length>0}),[a,t,o]);return React.createElement("div",function({bodyDesign:{tcfStacksMargin:e},customCss:{antiAdBlocker:t},mobile:o,pageRequestUuid4:r}){return{className:"y"===t?void 0:"rcb-tcf-stacks-container",style:{margin:_i(o,0,e).map((e=>"".concat(e,"px"))).join(" "),textAlign:"left",lineHeight:1.5}}}(e),c&&React.createElement(Fn,{item:{id:void 0,description:l.description,name:l.name,purposes:[],specialFeatures:[]}}),Object.values(s).map((e=>React.createElement(Fn,{key:e.id,item:e}))),!n&&React.createElement(Fn,{item:{id:void 0,description:i,name:r,purposes:[],specialFeatures:[]},isLast:!0}))},jn=({group:{id:e,slug:t,name:o}})=>{const r=Ii(),{decision:{groupsFirstView:i},design:{fontSize:n},consent:a,essentialGroup:s}=r,l=s===t,c=l||!!a.groups[e],p=(0,ri.useCallback)((()=>false),[false,l,r,e,c,i]);return React.createElement("span",(0,Bi.Z)({key:o},function({design:{fontSize:e},bodyDesign:{dottedGroupsInheritFontSize:t,dottedGroupsFontSize:o},mobile:r,pageRequestUuid4:i}){return{className:void 0,style:{paddingRight:10,fontSize:_i(r,0,t?+e:+o),whiteSpace:"nowrap",display:"inline-block"}}}(r)),React.createElement("span",null,React.createElement(ri.Fragment,null,React.createElement("strong",function({bodyDesign:{dottedGroupsBulletColor:e}}){return{className:void 0,style:{color:e}}}(r),"●")," "),React.createElement("span",{style:{verticalAlign:"middle",cursor:i?"pointer":void 0},onClick:p},o)))},Ln=()=>{const e=Ii(),{groups:t,decision:{showGroups:o}}=e;return o?React.createElement("div",function({customCss:{antiAdBlocker:e}}){return{className:"y"===e?void 0:"rcb-dotted-groups",style:{marginTop:10,lineBreak:"anywhere",lineHeight:2}}}(e),t.filter((({items:e})=>!!e.length)).map((e=>React.createElement(jn,{key:e.id,group:e})))):null},Nn=()=>{const e=Ii(),[t,o]=(0,ri.useState)(-1),{activeAction:r,history:i,selectHistoryEntry:n,i18n:{historyLabel:a,historySelectNone:s}}=e,l=(0,ri.useMemo)((()=>{var e;return null==i||null===(e=i.filter((({id:e})=>e===t)))||void 0===e?void 0:e[0]}),[t]);(0,ri.useEffect)((()=>{r?"history"===r&&null!=i&&i.length&&o(i[0].id):o(-1)}),[r,i]);const c=null==l?void 0:l.uuid,p=function({design:{bg:e}}){return{className:void 0,style:{background:e}}}(e);return React.createElement(ri.Fragment,null,a," ",React.createElement("select",(0,Bi.Z)({},function({design:{fontSize:e,fontColor:t},bodyDesign:{descriptionInheritFontSize:o,descriptionFontSize:r},customCss:{antiAdBlocker:i},mobile:n,pageRequestUuid4:a}){return{className:"y"===i?void 0:"rcb-history-select",style:{fontSize:_i(n,0,o?+e:+r),background:"transparent",border:0,color:t,borderBottom:"1px solid ".concat(Ni(t,50))}}}(e),{disabled:!(null!=i&&i.length),value:t,onChange:e=>{const t=+e.target.value;i.forEach((({id:e,decision:r,groups:i,tcf:a})=>{e===t&&(o(e),n(i,r,a))}))}}),(null==i?void 0:i.length)>0?i.map((({id:e,isDoNotTrack:t,isUnblock:o,isForwarded:r,created:i})=>React.createElement("option",(0,Bi.Z)({key:e,value:e},p),new Date(i).toLocaleString(document.documentElement.lang),t?" (Do Not Track)":"",o?" (Content Blocker)":"",r?" (Consent Forwarding)":""))):React.createElement("option",(0,Bi.Z)({value:-1},p),s)),!!c&&React.createElement("div",{style:{opacity:.5,marginTop:5}},"UUID: ",c))};function Vn({name:e,order:t,type:o,borderRadius:r,bg:i,hoverBg:n,fontSize:a,textAlign:s,fontColor:l,fontWeight:c,hoverFontColor:p,borderWidth:u,borderColor:d,hoverBorderColor:h,padding:b,antiAdBlocker:f,pageRequestUuid4:m},g,y,v,w){const k=!w||t>1,C=w&&1===t?5:0,x=w&&0===t?5:0,S=_i(g,0,+u),R={textDecoration:"link"===o?"underline":"none",borderRadius:+r,cursor:"button"===o?"pointer":void 0,backgroundColor:"button"===o?y?n:i:void 0,fontSize:_i(g,0,+a),fontWeight:c,color:y?p:l,transition:"background-color 250ms, color 250ms, border-color 250ms",margin:"0 ".concat(x,"px ").concat(_i(g,0,10,0,!0),"px ").concat(C,"px"),border:"button"===o&&S>0?"".concat(S,"px solid ").concat(y?h:d):void 0,padding:_i(g,0,b,0,"button"!==o).map((e=>"".concat(e,"px"))).join(" "),overflow:"hidden",outline:v?"rgb(255, 94, 94) solid 5px":void 0,flex:k?"1 1 100%":"0 0 calc(50% - ".concat(C+x,"px)"),display:"flex",alignItems:"center",justifyContent:"right"===s?"flex-end":"center"===s?"center":"left",textAlign:s,order:t};return{className:"y"===f?void 0:"rcb-btn-".concat(e),style:R}}function Wn({isTcf:e,decision:{acceptEssentials:t},layout:{borderRadius:o},bodyDesign:{acceptEssentialsFontSize:r,acceptEssentialsBg:i,acceptEssentialsTextAlign:n,acceptEssentialsBorderColor:a,acceptEssentialsPadding:s,acceptEssentialsBorderWidth:l,acceptEssentialsFontColor:c,acceptEssentialsFontWeight:p,acceptEssentialsHoverBg:u,acceptEssentialsHoverFontColor:d,acceptEssentialsHoverBorderColor:h,acceptAllFontWeight:b,acceptAllFontSize:f,acceptAllPadding:m},customCss:{antiAdBlocker:g},mobile:y,pageRequestUuid4:v},w,k,C,x){return Vn({name:"accept-essentials",order:C,type:t,borderRadius:o,bg:i,hoverBg:u,fontSize:x||e?f:r,textAlign:n,fontColor:c,fontWeight:e?b:p,hoverFontColor:d,borderWidth:l,borderColor:a,hoverBorderColor:h,padding:x?m:s,antiAdBlocker:g,pageRequestUuid4:v},y,w,k,x)}function Hn({decision:{acceptIndividual:e},layout:{borderRadius:t},bodyDesign:{acceptIndividualFontSize:o,acceptIndividualBg:r,acceptIndividualTextAlign:i,acceptIndividualBorderColor:n,acceptIndividualPadding:a,acceptIndividualBorderWidth:s,acceptIndividualFontColor:l,acceptIndividualFontWeight:c,acceptIndividualHoverBg:p,acceptIndividualHoverFontColor:u,acceptIndividualHoverBorderColor:d},customCss:{antiAdBlocker:h},mobile:b,pageRequestUuid4:f},m,g,y,v){return Vn({name:"accept-individual",order:y,type:e,borderRadius:t,bg:r,hoverBg:p,fontSize:o,textAlign:i,fontColor:l,fontWeight:c,hoverFontColor:u,borderWidth:s,borderColor:n,hoverBorderColor:d,padding:a,antiAdBlocker:h,pageRequestUuid4:f},b,m,g,v)}function qn({isTcf:e,layout:{borderRadius:t},bodyDesign:{acceptAllFontWeight:o,acceptAllFontSize:r},saveButton:{type:i,fontSize:n,bg:a,textAlign:s,borderColor:l,padding:c,borderWidth:p,fontColor:u,fontWeight:d,hoverBg:h,hoverFontColor:b,hoverBorderColor:f},customCss:{antiAdBlocker:m},mobile:g,pageRequestUuid4:y},v,w,k,C){return Vn({name:"accept-individual-save",order:k,type:i,borderRadius:t,bg:a,hoverBg:h,fontSize:e?r:n,textAlign:s,fontColor:u,fontWeight:e?o:d,hoverFontColor:b,borderWidth:p,borderColor:l,hoverBorderColor:f,padding:c,antiAdBlocker:m,pageRequestUuid4:y},g,v,w,C)}function Gn({decision:{acceptAll:e},layout:{borderRadius:t},bodyDesign:{acceptAllFontSize:o,acceptAllBg:r,acceptAllTextAlign:i,acceptAllBorderColor:n,acceptAllPadding:a,acceptAllBorderWidth:s,acceptAllFontColor:l,acceptAllFontWeight:c,acceptAllHoverBg:p,acceptAllHoverFontColor:u,acceptAllHoverBorderColor:d},customCss:{antiAdBlocker:h},mobile:b,pageRequestUuid4:f},m,g,y,v){return Vn({name:"accept-all",order:y,type:e,borderRadius:t,bg:r,hoverBg:p,fontSize:o,textAlign:i,fontColor:l,fontWeight:c,hoverFontColor:u,borderWidth:s,borderColor:n,hoverBorderColor:d,padding:a,antiAdBlocker:h,pageRequestUuid4:f},b,m,g,v)}const Yn=({ms:e=100,chars:t=["&#9719;","&#9718;","&#9717;","&#9716;"]})=>{const[o,r]=(0,ri.useState)(1);return(0,ri.useEffect)((()=>{const t=setInterval((()=>{r(o+1)}),e);return()=>clearInterval(t)}),[o]),React.createElement("span",{dangerouslySetInnerHTML:{__html:t[o%4]}})},Xn=({inlineStyle:e,type:t,onClick:o,children:r,framed:i,busyOnClick:n,order:a})=>{if("hide"===t)return null;const[s,l]=(0,ri.useState)(!1),c=(0,ri.useCallback)((()=>{s||(n&&l(!0),null==o||o())}),[o,s,n]),[p,u]=(0,ri.useState)(!1),d=Ii(),{individualPrivacyOpen:h,decision:{acceptAll:b,acceptEssentials:f},bodyDesign:{acceptAllOneRowLayout:m,acceptEssentialsUseAcceptAll:g}}=d,y=g?b:f,v={onClick:c,onMouseEnter:()=>u(!0),onMouseLeave:()=>u(!1),style:{cursor:"pointer"}},w=(0,ri.useMemo)((()=>{switch(e){case"acceptEssentials":return Wn;case"acceptIndividual":return Hn;case"save":return qn;default:return Gn}}),[e]);return React.createElement("div",(0,Bi.Z)({},"button"===t?v:{},w(d,p,i,a,!(/MSIE (\d+\.\d+);/.test(navigator.userAgent)||navigator.userAgent.indexOf("Trident/")>-1||"hide"===b||"hide"===y||h||a>1)&&m)),React.createElement("span","link"===t?v:{},s?React.createElement(Yn,null):r))},Jn=()=>{const e=Ii(),{activeAction:t,bodyDesign:{acceptEssentialsUseAcceptAll:o,acceptAllOneRowLayout:r},decision:{showGroups:i,groupsFirstView:n,saveButton:a,acceptAll:s,acceptEssentials:l,acceptIndividual:c,buttonOrder:p},texts:{acceptAll:u,acceptEssentials:d,acceptIndividual:h},saveButton:{type:b,useAcceptAll:f},individualTexts:{save:m},individualPrivacyOpen:g,didGroupFirstChange:y,productionNotice:v,buttonClicked:w=""}=e,{all:k,essential:C,individual:x,save:S}=(0,ri.useMemo)((()=>{const e=p.split(","),t=e.reduce(((t,o)=>(t[o]=e.indexOf(o),t)),{}),o=e.reduce(((t,o)=>(t[e.indexOf(o)]=o,t)),{});return r&&(t[o[0]]=1,t[o[1]]=0),t}),[p,r]),{buttonClickedAll:R,buttonClickedEssentials:E,buttonClickedCustom:Z,acceptAll:P,acceptEssentials:O,acceptIndividual:A,openIndividualPrivacy:z}=qi(),D="change"===t;return React.createElement(ri.Fragment,null,React.createElement(Xn,{onClick:P,type:s,inlineStyle:"acceptAll",framed:w===R,busyOnClick:D,order:k},u),"change"!==t&&React.createElement(Xn,{onClick:O,type:o?s:l,inlineStyle:o?"acceptAll":"acceptEssentials",framed:w===E,busyOnClick:D,order:C},d),!!g&&React.createElement(Xn,{onClick:A,type:f?s:b,inlineStyle:f?"acceptAll":"save",framed:w===Z,busyOnClick:D,order:S},m),!g&&React.createElement(Xn,{type:c,onClick:z,inlineStyle:"acceptIndividual",framed:w.startsWith("ind_"),busyOnClick:D,order:x},h),v)},$n=({leftSideContainerRef:e,rightSideContainerRef:t})=>{var o;const r=Ii(),{layout:{type:i},mobile:n,bodyDesign:{teachingsSeparatorActive:a},tcf:s,individualPrivacyOpen:l,activeAction:c,pageRequestUuid4:p}=r,{description:u,teachings:d}=function({disableDataProcessingInUnsafeCountries:e,disableAgeNotice:t,disableListServicesNotice:o}={}){const{blocker:r,groups:i,ePrivacyUSA:n,ageNotice:a,listServicesNotice:s,texts:{description:l,ePrivacyUSA:c,ageNoticeBanner:p,listServicesNotice:u,consentForwardingExternalHosts:d},tcf:h,consentForwardingExternalHosts:b,individualPrivacyOpen:f,individualTexts:{description:m},essentialGroup:g,i18n:{andSeparator:y,tcf:v},keepVariablesInTexts:w}=on(),{linkPrivacyPolicy:k}=rn();let C="";b&&!w&&(C=d.replace(/{{websites}}/g,b.join(", ")));let x=[r?r.description:f?m:l,C].filter(Boolean).join(" ");w||(x=x.replace(/{{privacyPolicy}}(.*){{\/privacyPolicy}}/g,k?'<a href="'.concat(k.url,'" style="text-decoration:underline;color:inherit;" onmouseenter="this.style.textDecoration=\'none\'" onmouseleave="this.style.textDecoration=\'underline\'" target="_blank">$1</a>'):"$1"));const S=i.map((({items:e})=>e.filter((({ePrivacyUSA:e})=>e)))).flat(),R=h?Object.values(h.gvl.vendors).filter((e=>{var t;return(null===(t=e.additionalInformation)||void 0===t?void 0:t.internationalTransfers)||1===h.original.vendorConfigurations[e.id].ePrivacyUSA})):[];let E=!e&&(S.length>0||R.length>0)&&n?c:"";const Z=a&&!t?p:"";let P="";if(s&&!o){const e=u.indexOf("{{services}}")>-1&&u.indexOf("{{serviceGroups}}")>-1,t=i.filter((({slug:e})=>e!==g)),o="~;~",r=nn(t.map((({items:t},r)=>t.map((({name:t,ePrivacyUSA:o})=>"".concat(t).concat(an).concat([e?r+1:"",E&&o?"U":""].filter(Boolean).join(","),"</sup>"))).join(o))).join(o).split(o),y);if(r){const o=nn(t.map((({name:t},o)=>"".concat(t).concat(an).concat(e?o+1:"","</sup>"))),y);P="<span>".concat(u,"</span>").concat(h&&!f?" <span>".concat(v.listOfServicesAppendix,"</span>"):""),w||(P=P.replace(/{{services}}/g,r).replace(/{{serviceGroups}}/g,o)),E&&(E+="".concat(an,"U</sup>"))}}return{description:x,teachings:[E,Z,P].filter(Boolean)}}(),h="bnnr-body-leftSide-".concat(p),b="bnnr-body-rightSide-".concat(p),f="cntnt-".concat(p);Mi(" #".concat(h," img {\n max-width: 100%;\n height: auto;\n}\n\n").concat((null===(o=document.getElementById(p))||void 0===o?void 0:o.clientWidth)>700?"":"#".concat(h," {\n float: initial !important;\n width: auto !important;\n padding-right: initial !important;\n ").concat("banner"!==_i(n,0,i)||l?l?"padding-top: 10px !important;":"":"padding-bottom: 10px !important;","\n }\n\n #").concat(f," {\n min-height: calc(var(--rendered-height-header) + var(--rendered-height-footer) + var(--rendered-height-rightSideContainer) + 60px);\n }\n \n #").concat(b," {\n float: initial !important;\n width: auto !important;\n max-width: initial !important;\n margin: initial !important;\n ").concat(l?"padding-bottom: 5px !important;":"padding-top: 10px !important;","\n position: sticky;\n }")));const m=(0,ri.useMemo)((()=>s?l?React.createElement(In,null):React.createElement(_n,null):l?React.createElement(xn,null):React.createElement(Ln,null)),[l,s]),g=React.createElement("div",(0,Bi.Z)({ref:e,key:"leftSide",id:h},function({layout:{type:e},bodyDesign:{padding:t},customCss:{antiAdBlocker:o},mobile:r,individualPrivacyOpen:i,activeAction:n,pageRequestUuid4:a}){const s=_i(r,0,e),l=_i(r,0,t);return{className:"y"===o?void 0:"rcb-tb-left",style:{float:"banner"===s&&"history"!==n?"left":void 0,width:"banner"===s&&"history"!==n?"calc(100% - ".concat(300,"px)"):void 0,paddingRight:"banner"===s?20:void 0,paddingTop:+l[0],paddingBottom:"banner"===s||i?+l[2]:0}}}(r)),React.createElement("div",function({design:{fontSize:e},bodyDesign:{descriptionInheritFontSize:t,descriptionFontSize:o},individualLayout:{descriptionTextAlign:r},customCss:{antiAdBlocker:i},mobile:n,individualPrivacyOpen:a,pageRequestUuid4:s}){return{className:"y"===i?void 0:"rcb-description",style:{lineHeight:1.5,fontSize:_i(n,0,t?+e:+o),textAlign:a?r:void 0}}}(r),"history"===c?React.createElement(Nn,null):React.createElement(ri.Fragment,null,React.createElement("span",{dangerouslySetInnerHTML:{__html:u}}),d.length>0&&React.createElement(ri.Fragment,null,a&&React.createElement("div",null,React.createElement("span",function({layout:{borderRadius:e},bodyDesign:{teachingsSeparatorActive:t,teachingsSeparatorWidth:o,teachingsSeparatorHeight:r,teachingsSeparatorColor:i},customCss:{antiAdBlocker:n}}){return{className:"y"===n?void 0:"rcb-teachings-separator",style:{marginTop:7,display:"inline-block",maxWidth:"100%",borderRadius:+e,width:+o,height:t?+r:0,background:i}}}(r))),d.map((e=>React.createElement("span",(0,Bi.Z)({key:e},function({bodyDesign:{teachingsInheritTextAlign:e,teachingsTextAlign:t,teachingsInheritFontSize:o,teachingsFontSize:r,teachingsInheritFontColor:i,teachingsFontColor:n},customCss:{antiAdBlocker:a},mobile:s,pageRequestUuid4:l}){return{className:"y"===a?void 0:"rcb-teachings",style:{marginTop:7,display:"inline-block",textAlign:e?void 0:t,fontSize:o?void 0:l?_i(s,0,+r):+r,color:i?void 0:n}}}(r),{dangerouslySetInnerHTML:{__html:e}}))))))),m),y="history"===c?React.createElement("div",{ref:t}):React.createElement("div",(0,Bi.Z)({ref:t,key:"rightSide",id:b},function({layout:{type:e,dialogMaxWidth:t},design:{borderWidth:o,bg:r,fontColor:i},headerDesign:n,footerDesign:a,bodyDesign:{padding:s},individualLayout:{inheritDialogMaxWidth:l},customCss:{antiAdBlocker:c},mobile:p,individualPrivacyOpen:u,pageRequestUuid4:d}){const h=_i(p,0,e),b=_i(p,0,o),f=_i(p,0,s,0,!0),{r:m,g,b:y}=Li(i),v="dialog"===h?+t-f[1]-f[3]-2*b:300;return{className:"y"===c?void 0:"rcb-tb-right",style:{background:r,paddingTop:"banner"===h||u?+f[0]:10,paddingBottom:u?10:+f[2],float:"banner"===h||u?"right":void 0,maxWidth:v,width:v,margin:"dialog"===h&&u&&!l?"0 0 10px 10px":void 0,position:u?void 0:"sticky",[u?"top":"bottom"]:u?"calc(var(--rendered-height-header) + ".concat(_i(p,0,n.borderWidth),"px)"):"calc(var(--rendered-height-footer) + ".concat(_i(p,0,a.borderWidth),"px)"),zIndex:1,display:"flex",flexWrap:"wrap",transition:"box-shadow ease-in-out .1s","--boxShadowShowScroll":"0 -15px 15px -15px rgba(".concat(m,", ").concat(g,", ").concat(y,", 0.3)")}}}(r)),React.createElement(Jn,null));return React.createElement("div",function({layout:{type:e},design:{bg:t,borderWidth:o,borderColor:r},bodyDesign:{padding:i},customCss:{antiAdBlocker:n},mobile:a,pageRequestUuid4:s}){const l=_i(a,0,o),c={background:t,padding:_i(a,0,i).map(((e,t)=>"".concat([0,2].indexOf(t)>-1?0:e,"px"))).join(" "),lineHeight:1.4};return"dialog"===_i(a,0,e)&&l>0&&(c.borderLeft="".concat(l,"px solid ").concat(r),c.borderRight=c.borderLeft),{className:"y"===n?void 0:"rcb-body-container",style:c}}(r),React.createElement("div",function({layout:{type:e,bannerMaxWidth:t},individualLayout:o,customCss:{antiAdBlocker:r},mobile:i,individualPrivacyOpen:n,pageRequestUuid4:a}){return{className:"y"===r?void 0:"rcb-body",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===_i(i,0,e)?+(n&&!o.inheritBannerMaxWidth?o.bannerMaxWidth:t):void 0,margin:"auto"}}}(r),l?[y,g]:[g,y],React.createElement("div",{style:{clear:"both"}})))},Qn=({children:e,...t})=>{const o=on(),[r,i]=(0,ri.useState)(!1);return React.createElement("a",(0,Bi.Z)({onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1)},function({footerDesign:{fontSize:e,fontColor:t,hoverFontColor:o,fontInheritFamily:r,fontFamily:i},design:{linkTextDecoration:n},customCss:{antiAdBlocker:a},mobile:s,pageRequestUuid4:l},c=!1){return{className:"y"===a?void 0:"rcb-footer-link",style:{textDecoration:n,fontSize:l?_i(s,0,+e):+e,color:c?o:t,fontFamily:r?void 0:i,padding:"0 5px"}}}(o,r),t),e)},Kn=({poweredLink:e,affiliate:t})=>React.createElement(Qn,{href:t?t.link:e.href,target:e.target,key:"powered-by"},React.createElement("span",{dangerouslySetInnerHTML:{__html:e.innerHTML}}),t&&React.createElement(Ji,{title:t.description,position:"top-left"}," ",t.labelBehind)),ea=(0,ri.forwardRef)(((e,t)=>{const o=Ii(),{isTcf:r,layout:{type:i},individualPrivacyOpen:n,updateIndividualPrivacyOpen:a,onClose:s,i18n:{tcf:l},isConsentRecord:c}=o,p=r?(0,ri.useCallback)((e=>{a(!0),e.preventDefault()}),[a]):void 0,u=(0,ri.useCallback)((e=>{s(),e.preventDefault()}),[s]),{rows:d,render:h}=function({onClose:e,putPoweredByLinkInRow:t,row1:o}={}){const{i18n:{close:r},footerDesign:{poweredByLink:i,linkTarget:n},poweredLink:a,affiliate:s}=on(),{linkPrivacyPolicy:l,linkImprint:c}=rn(),p="_blank"===n?{target:"_blank",rel:"noopener"}:{},u=[[e&&React.createElement(Qn,{href:"#",onClick:e,key:"close"},React.createElement("strong",null,r)),...o||[],l&&React.createElement(Qn,(0,Bi.Z)({href:l.url},p,{key:"privacyPolicy"}),l.label),c&&React.createElement(Qn,(0,Bi.Z)({href:c.url},p,{key:"imprint"}),c.label)].filter(Boolean),[]];a&&i&&u[t||0].push(React.createElement(Kn,{key:"poweredBy",poweredLink:a,affiliate:s}));const d=(0,ri.useCallback)((e=>On(e.map((e=>e.length?React.createElement(ri.Fragment,{key:e[0].key},On(e,React.createElement(ri.Fragment,null," • "))):null)),React.createElement("br",null))),[]);return{rows:u,render:d}}({onClose:c?u:void 0,putPoweredByLinkInRow:"banner"===i?0:1,row1:[r&&!n&&React.createElement(Qn,{href:"#",onClick:p,key:"vendorList"},l.vendorList)]});return React.createElement("div",(0,Bi.Z)({ref:t},function({layout:{type:e,dialogBorderRadius:t},design:o,footerDesign:{inheritBg:r,bg:i,inheritTextAlign:n,textAlign:a,padding:s,fontSize:l,fontColor:c,fontWeight:p},customCss:{antiAdBlocker:u},mobile:d,pageRequestUuid4:h}){const b=_i(d,0,e),f=_i(d,0,o.borderWidth),m={padding:_i(d,0,s,0,!0).map((e=>"".concat(e,"px"))).join(" "),background:r?o.bg:i,borderRadius:"dialog"===b?"0 0 ".concat(t,"px ").concat(t,"px"):void 0,fontSize:_i(d,0,+l),fontWeight:p,color:c,textAlign:n?o.textAlign:a,position:"sticky",bottom:0,zIndex:1};return"dialog"===b&&f>0&&(m.borderBottom="".concat(f,"px solid ").concat(o.borderColor),m.borderLeft=m.borderBottom,m.borderRight=m.borderBottom),{className:"y"===u?void 0:"rcb-footer-container",style:m}}(o)),React.createElement("div",function({layout:{type:e,bannerMaxWidth:t},individualLayout:o,customCss:{antiAdBlocker:r},mobile:i,pageRequestUuid4:n,individualPrivacyOpen:a}){return{className:"y"===r?void 0:"rcb-footer",style:{transition:"width 500ms, max-width 500ms",maxWidth:"banner"===_i(i,0,e)?+(a&&!o.inheritBannerMaxWidth?o.bannerMaxWidth:t):void 0,margin:"auto",lineHeight:1.8}}}(o),h(d)))})),ta=()=>{const e=Ii(),{layout:{type:t,dialogBorderRadius:o},decision:{acceptAll:r,acceptEssentials:i,showCloseIcon:n},mobile:a,individualPrivacyOpen:s,design:{bg:l},bodyDesign:{teachingsFontColor:c,acceptEssentialsUseAcceptAll:p},activeAction:u,pageRequestUuid4:d}=e,h="bnnr-body-rightSide-".concat(d),b="cntnt-".concat(d),f=(0,ri.useRef)(),{current:m}=f,g=p?r:i;let y=!0;!a.hideHeader||u||s||"hide"===g&&n||(y=_i(a,0,y));const[v,w]=(0,ri.useState)(!1),k=(0,ri.useCallback)((()=>{if(m){const{clientHeight:e,scrollHeight:t,scrollTop:o,offsetHeight:r}=m,i=e<t,n=Math.ceil(o+r)>=t,a=i&&!n&&!s;v!==a&&w(a)}}),[m,s,v]);k(),(0,ri.useLayoutEffect)((()=>m?(m.addEventListener("scroll",k),()=>m.removeEventListener("scroll",k)):()=>{}),[m,k]),Mi(v?"#".concat(h," {box-shadow:var(--boxShadowShowScroll);}"):""),Mi("Win32"===navigator.platform&&"dialog"===t&&o>0?["#".concat(b,"{overflow:overlay!important;}"),"#".concat(b,"::-webkit-scrollbar{width:11px;}"),"#".concat(b,"{scrollbar-width:thin;scrollbar-color:").concat(c," transparent;}"),"#".concat(b,"::-webkit-scrollbar-track{background:transparent;}"),"#".concat(b,"::-webkit-scrollbar-thumb{background-color:").concat(c,";border-radius:").concat(o,"px;border:3px solid ").concat(l,";}"),"#".concat(b,">div{border-top-right-radius:0!important;border-bottom-right-radius:0!important;}")].join("\n"):"");const C=(0,ri.useRef)(),x=(0,ri.useRef)(),S=(0,ri.useRef)();return Hi(C.current,"header"),Hi(x.current,"footer"),Hi(S.current,"rightSideContainer"),React.createElement("div",(0,Bi.Z)({},function({layout:{type:e},customCss:{antiAdBlocker:t},decision:{showCloseIcon:o},activeAction:r,individualPrivacyOpen:i,mobile:n,pageRequestUuid4:a}){var s;return{className:"y"===t?void 0:"rcb-content",style:{position:"relative",maxHeight:_i(n,0,((null===(s=document.getElementById(a))||void 0===s?void 0:s.clientHeight)||window.innerHeight)-("banner"===e?0:20)-(n.maxHeight,o||r?51:0)),overflow:"auto"}}}(e),{ref:f,id:b}),y&&React.createElement(ri.Fragment,null,React.createElement(en,{ref:C}),React.createElement("div",function({layout:{type:e},design:t,headerDesign:{borderWidth:o,borderColor:r},customCss:{antiAdBlocker:i},mobile:n,pageRequestUuid4:a}){const s=_i(n,0,t.borderWidth),l={height:_i(n,0,+o),background:r,position:"sticky",top:"var(--rendered-height-header)",zIndex:9};return"dialog"===_i(n,0,e)&&s>0&&(l.borderLeft="".concat(s,"px solid ").concat(t.borderColor),l.borderRight=l.borderLeft),{className:"y"===i?void 0:"rcb-header-separator",style:l}}(e))),React.createElement($n,{rightSideContainerRef:S}),React.createElement("div",function({layout:{type:e},design:t,footerDesign:{borderWidth:o,borderColor:r},customCss:{antiAdBlocker:i},mobile:n,pageRequestUuid4:a}){const s=_i(n,0,t.borderWidth),l={height:_i(n,0,+o),background:r,position:"sticky",bottom:"var(--rendered-height-footer)"};return"dialog"===_i(n,0,e)&&s>0&&(l.borderLeft="".concat(s,"px solid ").concat(t.borderColor),l.borderRight=l.borderLeft),{className:"y"===i?void 0:"rcb-footer-separator",style:l}}(e)),React.createElement(ea,{ref:x}))},oa=()=>{const e=Ii(),{layout:{animationInDuration:t,animationOutDuration:o},animationVisible:r}=e,{useAnimationIn:i,useAnimationOut:n}=function(){const e=(0,ri.useMemo)((()=>window.innerWidth),[])<700,t=(0,ri.useMemo)((()=>{const e=window.navigator.userAgent.toLowerCase();return 4===["firefox","gecko","mobile","android"].map((t=>e.indexOf(t)>-1)).filter(Boolean).length}),[]);return(0,ri.useCallback)((({animationIn:o,animationInOnlyMobile:r,animationOut:i,animationOutOnlyMobile:n})=>{let a=r?e?o:"none":o,s=n?e?i:"none":i;return t&&(a="none",s="none"),{useAnimationIn:a,useAnimationOut:s}}),[])}()(e.layout),[a,s]=ji(i,t),[l,c]=ji("none"===n?"fadeOut":n,"none"===n?0:o);return React.createElement(Wi,(0,Bi.Z)({animationIn:a,animationInDuration:s,animationOut:l,animationOutDuration:c,isVisible:r},function({layout:{type:e,dialogMaxWidth:t,dialogPosition:o,dialogMargin:r,bannerPosition:i,dialogBorderRadius:n},design:{borderWidth:a,borderColor:s,textAlign:l,fontColor:c,fontInheritFamily:p,fontFamily:u,fontWeight:d,boxShadowEnabled:h,boxShadowOffsetX:b,boxShadowOffsetY:f,boxShadowBlurRadius:m,boxShadowSpreadRadius:g,boxShadowColor:y,boxShadowColorAlpha:v},individualLayout:w,customCss:{antiAdBlocker:k},mobile:C,pageRequestUuid4:x,individualPrivacyOpen:S}){const{alignment:R}=C,E=_i(C,0,e),Z=_i(C,0,a),P="dialog"===E?+(S&&!w.inheritDialogMaxWidth?w.dialogMaxWidth:t):"100%",O={pointerEvents:"all",transition:"width 500ms, max-width 500ms",maxWidth:P,textAlign:l,width:P,overflow:"hidden",alignSelf:_i(C,0,"banner"===E?"top"===i?"flex-start":"flex-end":void 0),fontFamily:p?void 0:u,fontWeight:d,color:c,margin:"dialog"===E?10:void 0,borderRadius:"dialog"===E?+n:void 0,boxShadow:h?"".concat(b,"px ").concat(f,"px ").concat(m,"px ").concat(g,"px ").concat(Ni(y,v)):void 0,["banner"===E?"top"===i?"borderBottom":"borderTop":"border"]:"banner"===E&&Z>0?"".concat(Z,"px solid ").concat(s):void 0};return"dialog"===E&&"middleCenter"!==o&&(O.margin=r.map((e=>"".concat(e,"px"))).join(" ")),{className:"y"===k?void 0:"rcb-inner",style:O}}(e)),React.createElement(ta,null))},ra=()=>{const e=Ii(),{customCss:{antiAdBlocker:t,css:o},visible:r,animationVisible:i,activeAction:n,skipOverlay:a,gotHiddenDueLegal:s,pageRequestUuid4:l,individualPrivacyOpen:c}=e,p=function(e){const{legal:{imprint:t,imprintHide:o,privacyPolicy:r,privacyPolicyHide:i},pageId:n}=e;return[o&&+t,i&&+r].filter(Boolean).indexOf(n)>-1}(e),u=r&&!p||!!n;Mi(t?o:""),Mi("#".concat(l,", #").concat(l," * {box-sizing: border-box;backface-visibility:initial;text-transform:initial;-webkit-text-size-adjust:100%;}")),function(e){const t=Ii(),{layout:{overlay:o,overlayBlur:r},pageRequestUuid4:i,animationVisible:n}=t,a=e&&o&&n,s="rcb-overlay-active";(0,ri.useEffect)((()=>{const{dataset:e,style:t,classList:o}=document.body;void 0===e.rcbPreviousOverflow&&(e.rcbPreviousOverflow=t.overflow),t.overflow=a?"hidden":e.rcbPreviousOverflow,document.body.parentElement.style.overflow=t.overflow,a?o.add(s):o.remove(s)}),[a])}(u);const[,d]=(0,ri.useState)(0),h=()=>d(+new Date);if((0,ri.useLayoutEffect)((()=>(window.addEventListener("resize",h),()=>window.removeEventListener("resize",h))),[]),(0,ri.useLayoutEffect)((()=>{!function(e=0){setTimeout((()=>{try{window.dispatchEvent(new Event("resize"))}catch(e){}}),e)}(1e3)}),[i,c]),s&&(0,ri.useEffect)((()=>{s(p)}),[p]),function(){const e=Ii(),{consent:t,groups:o,tcf:r,activeAction:i,selectHistoryEntry:n,fetchHistory:a}=e,[s,l]=(0,ri.useState)({consent:t,groups:o,tcf:r});(0,ri.useEffect)((()=>{i||l({consent:t,groups:o,tcf:r})}),[t,o,r,i]),(0,ri.useEffect)((()=>{if("history"===i)l({consent:t,groups:o,tcf:r}),async function(){const e=await a();if(e.length){const[{groups:t,decision:o,tcf:r}]=e;n(t,o,r)}else n([],[])}();else{const{groups:e,consent:{groups:t},tcf:o}=s;null==n||n(e,t,o)}}),[i])}(),function(){const{openBanner:e,openHistory:t,revokeConsent:o}=Ii();(0,ri.useEffect)((()=>{const r=(r,i,n)=>{if(e)switch(r){case"change":e(n);break;case"history":t(n);break;case"revoke":o(i,n)}},i=t=>{if(!e)return;const o=t.target;(function(e,t){const o=[];let r=e.parentElement;for(;null!==r;)r.nodeType===Node.ELEMENT_NODE&&Ui(r,'[href^="#consent-"]')&&o.push(r),r=r.parentElement;return o})(o).concat(Ui(o,Fi)?[o]:[]).forEach((e=>{r(e.getAttribute("href").slice(9),e.getAttribute("data-success-message"),t)})),Ui(o,".rcb-sc-link")&&r(o.getAttribute("href").slice(1),o.getAttribute("data-success-message"),t)},n=()=>{const{hash:e}=window.location;e.startsWith("#consent-")&&r(e.substring(9),void 0,void 0)};return window.addEventListener("hashchange",n),document.addEventListener("click",i,!0),()=>{window.removeEventListener("hashchange",n),document.removeEventListener("click",i,!0)}}),[e,t,o])}(),!u)return null;const b=React.createElement("div",function({layout:{type:e,dialogPosition:t},customCss:{antiAdBlocker:o},mobile:r,pageRequestUuid4:i}){const n={display:"flex",width:"100%",height:"100%"};return"dialog"===_i(r,0,e)&&(n.alignItems=t.startsWith("top")?"flex-start":t.startsWith("bottom")?"flex-end":"center",n.justifyContent=t.endsWith("Center")?"center":t.endsWith("Left")?"flex-start":"flex-end"),{className:"wp-exclude-emoji ".concat("y"===o?"":"rcb-align"),style:n}}(e),React.createElement(oa,null));return a?b:React.createElement("div",(0,Bi.Z)({id:l},function({layout:{type:e,overlay:t,overlayBg:o,overlayBgAlpha:r},design:{fontSize:i},customCss:{antiAdBlocker:n},mobile:a,pageRequestUuid4:s}){return{className:"y"===n?void 0:"rcb-bann3r rcb-bann3r-".concat(_i(a,0,e)," ").concat(t?"":"overlay-deactivated"),style:{background:t?Ni(o,r):"none",position:"fixed",top:0,left:0,right:0,bottom:0,zIndex:999999,pointerEvents:t?"all":"none",fontSize:_i(a,0,+i),filter:"none",maxHeight:"100vh"}}}(e)),b)},ia=(0,ii.Pi)((({poweredLink:e})=>{const{optionStore:t,customizeBannerStore:o}=oi(),{others:{customizeValuesBanner:{layout:r,decision:i,legal:n,design:a,headerDesign:s,bodyDesign:l,footerDesign:c,texts:p,individualLayout:u,saveButton:d,group:h,individualTexts:b,customCss:f,mobile:m},bannerI18n:g,pageId:y,pageRequestUuid4:v,pageIdToPermalink:w,consentForwardingExternalHosts:k,isTcf:C,tcf:x,tcfMetadata:S,isEPrivacyUSA:R,isAgeNotice:E,isListServicesNotice:Z,groups:P,essentialGroup:O,isPoweredByLinkDisabledByException:A,affiliate:z,pageByIdUrl:D}}=t,{visible:I,animationVisible:B,individualPrivacyOpen:T,previewCheckboxActiveState:M}=o,U=function(e,t,o){return(0,ri.useMemo)((()=>{if(e&&Object.values(t.vendors).length>0){let e,r;const i=function(){const{userConsentCookieName:e,revisionHash:t,setCookiesViaManager:o,groups:r,essentialGroup:i}=Ai();return window.rcbConsentManager||(window.rcbConsentManager=new Pi({decisionCookieName:e,essentialGroupSlug:i,groups:r,revisionHash:t,supportsCookiesName:"real_cookie_banner-test",tagManager:o,skipOptIn:function(e){const{presetId:t}=e;return["amazon-associates-widget"].indexOf(t)>-1},cmpId:367,cmpVersion:zi("major"),tcfCookieName:"".concat(e,"-tcf")})),window.rcbConsentManager}(),n=function(e,t,o){const r=ui().get(o);if(!r)return;const{gvl:i,model:n}=ci({tcf:e,tcfMeta:t,tcfString:r});return{gvl:i,model:n,tcfString:r,tcfStringForVendors:ni.TCString.encode(n,{isForVendors:!0})}}(t,o,i.getOption("tcfCookieName"));if(n)e=n.gvl,r=n.model;else{const i=ci({tcf:t,tcfMeta:o,tcfString:""});e=i.gvl,r=i.model}return function(e,t,o){const{cmpVersion:r,cmpId:i}=o instanceof Pi?o.getOptions():o;e.cmpId=i,e.isServiceSpecific="service-specific"===t.scope,e.cmpVersion=r}(r,o,i),function(e,t){e.isServiceSpecific&&Object.values(t).forEach((({vendorId:t,restrictivePurposes:o})=>{for(const r in o.normal){const{enabled:i,legInt:n}=o.normal[r],a=new ni.PurposeRestriction;a.purposeId=+r,i?n&&(a.restrictionType="yes"===n?ni.RestrictionType.REQUIRE_LI:ni.RestrictionType.REQUIRE_CONSENT):a.restrictionType=ni.RestrictionType.NOT_ALLOWED,void 0!==a.restrictionType&&e.publisherRestrictions.add(t,a)}}))}(r,t.vendorConfigurations),n||function(e,t){const{gvl:o}=e,r=({id:e})=>e;e.unsetAll(),e.setAllVendorLegitimateInterests(),e.purposeLegitimateInterests.set(li("purposes",o,e,"legInt").map(r)),t.startsWith("main_")?e.consentScreen=0:!!t.startsWith("ind_")&&(e.consentScreen=1),ni.TCString.encode(e)}(r,"initial"),{gvl:e,model:r,original:t,metadata:o}}}),[e,t,o])}(C,x,S),[F,_]=(0,ri.useState)("legInt"),j=(0,ri.useCallback)((()=>{}),[]),L=Di.Context();return React.createElement(L.Provider,{value:{layout:{...r,animationInOnlyMobile:!1,animationOutOnlyMobile:!1},decision:{...i},legal:{...n},design:{...a},headerDesign:{...s},bodyDesign:{...l},footerDesign:{...c,poweredByLink:!A&&c.poweredByLink},texts:{...p},individualLayout:{...u},saveButton:{...d},group:{...h},individualTexts:{...b},customCss:{...f},mobile:{...m},pageRequestUuid4:v,pageIdToPermalink:w,consentForwardingExternalHosts:k,poweredLink:e,pageId:y,pageByIdUrl:D,isTcf:C,ePrivacyUSA:R,ageNotice:E,listServicesNotice:Z,tcf:U,tcfFilterBy:F,updateTcfFilterBy:e=>{_(e)},groups:P,essentialGroup:O,visible:I,animationVisible:B,individualPrivacyOpen:T,previewCheckboxActiveState:M,updateIndividualPrivacyOpen:()=>{alert(Sr('To customize please select an option from "Individual privacy settings".'))},gotHiddenDueLegal:e=>{const t=(0,ye.getSidebarCustomize)(),o="rcb_invisible_due_legal";try{e?t.notifications.add(new t.Notification(o,{message:Sr('Due to the settings in the "Legal" section, the cookie banner is hidden on this page. Please visit another page!'),type:"warning",dismissible:!0})):t.notifications.remove(o)}catch(e){}},i18n:g,affiliate:z,consent:{groups:{}},didGroupFirstChange:!1,updateGroupChecked:j,updateCookieChecked:j,onSave:j}},React.createElement(ra,null))})),na=wp;var aa=o.n(na);const sa=document.createElement("div");function la(){const{customizeIdsBanner:{settings:{texts:{poweredBy:e}}},poweredByTexts:t}=Ai(),o=aa().customize(e).get(),i=document.createElement("a");i.target="_blank",i.href=ti.get.optionStore.others.pluginUrl,i.innerHTML=t[o],(0,r.render)(React.createElement(ti.StoreProvider,null,React.createElement(ia,{poweredLink:i})),document.body.appendChild(sa))}sa.className="rcb-customize-banner-container",Ei((async()=>{await async function(e,t=500,o=0){let r=0;for(;!e();){if(o>0&&r>=o)return;await new Promise((e=>setTimeout(e,t))),r++}return e()}((()=>aa().customize("rcb-banner-texts-powered-by")));const{customizeIdsBanner:{settings:{texts:{poweredBy:e}}}}=Ai();(0,ye.listenChanges)({texts:{poweredBy:e}},(()=>setTimeout(la,0))),la()})),function(){const{customizeBannerStore:e,optionStore:t,checklistStore:o}=ti.get,{others:{customizeIdsBanner:{panel:r,sections:i,settings:n}}}=t,a=e=>setTimeout(e,0),s=(0,ye.getSidebarCustomize)(),{group:l}=n;[l.checkboxActiveBg,l.checkboxActiveBorderColor,l.checkboxActiveColor].forEach((t=>s.control(t,(({container:t})=>t.hover((()=>a((()=>e.setPreviewCheckboxActiveState(!0)))),(()=>a((()=>e.setPreviewCheckboxActiveState(!1))))))))),[i.individualLayout,i.group,i.saveButton,i.individualTexts].forEach((t=>(0,ye.listenPanelExpanded)(t,(t=>{a((()=>e.setIndividualPrivacyOpen(t)))})))),(0,ye.previewFactory)({immediateApply:{texts:n.texts,individualTexts:n.individualTexts,legal:{imprintLabel:n.legal.imprintLabel,privacyPolicyLabel:n.legal.privacyPolicyLabel}},onChange:[n,(t,o,r)=>a((()=>e.setBannerFromCustomize(t,o,r)))],onPanelChange:[r,t=>a((()=>{e.setVisible(t),t&&o.toggleChecklistItem("customize-banner",!0)}))]})}()},3428:e=>{e.exports="/*! Hint.css - v2.7.0 - 2021-10-01\n* https://kushagra.dev/lab/hint/\n* Copyright (c) 2021 Kushagra Gour */\n\n[class*=hint--]{position:relative;display:inline-block}[class*=hint--]:after,[class*=hint--]:before{position:absolute;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);transform:translate3d(0,0,0);visibility:hidden;opacity:0;z-index:1000000;pointer-events:none;-webkit-transition:.3s ease;-moz-transition:.3s ease;transition:.3s ease;-webkit-transition-delay:0s;-moz-transition-delay:0s;transition-delay:0s}[class*=hint--]:hover:after,[class*=hint--]:hover:before{visibility:visible;opacity:1;-webkit-transition-delay:.1s;-moz-transition-delay:.1s;transition-delay:.1s}[class*=hint--]:before{content:'';position:absolute;background:0 0;border:6px solid transparent;z-index:1000001}[class*=hint--]:after{background:#383838;color:#fff;padding:8px 10px;font-size:12px;font-family:\"Helvetica Neue\",Helvetica,Arial,sans-serif;line-height:12px;white-space:nowrap;text-shadow:0 -1px 0 #000;box-shadow:4px 4px 8px rgba(0,0,0,.3)}[class*=hint--][aria-label]:after{content:attr(aria-label)}[class*=hint--][data-hint]:after{content:attr(data-hint)}[aria-label='']:after,[aria-label='']:before,[data-hint='']:after,[data-hint='']:before{display:none!important}.hint--top-left:before,.hint--top-right:before,.hint--top:before{border-top-color:#383838}.hint--bottom-left:before,.hint--bottom-right:before,.hint--bottom:before{border-bottom-color:#383838}.hint--top:after,.hint--top:before{bottom:100%;left:50%}.hint--top:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}.hint--top:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--top:hover:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}.hint--bottom:after,.hint--bottom:before{top:100%;left:50%}.hint--bottom:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom:after{-webkit-transform:translateX(-50%);-moz-transform:translateX(-50%);transform:translateX(-50%)}.hint--bottom:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--bottom:hover:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}.hint--right:before{border-right-color:#383838;margin-left:-11px;margin-bottom:-6px}.hint--right:after{margin-bottom:-14px}.hint--right:after,.hint--right:before{left:100%;bottom:50%}.hint--right:hover:after,.hint--right:hover:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--left:before{border-left-color:#383838;margin-right:-11px;margin-bottom:-6px}.hint--left:after{margin-bottom:-14px}.hint--left:after,.hint--left:before{right:100%;bottom:50%}.hint--left:hover:after,.hint--left:hover:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--top-left:after,.hint--top-left:before{bottom:100%;left:50%}.hint--top-left:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}.hint--top-left:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--top-left:hover:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}.hint--top-right:after,.hint--top-right:before{bottom:100%;left:50%}.hint--top-right:before{margin-bottom:-11px;left:calc(50% - 6px)}.hint--top-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}.hint--top-right:hover:after,.hint--top-right:hover:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--bottom-left:after,.hint--bottom-left:before{top:100%;left:50%}.hint--bottom-left:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-left:after{-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);transform:translateX(-100%);margin-left:12px}.hint--bottom-left:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--bottom-left:hover:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}.hint--bottom-right:after,.hint--bottom-right:before{top:100%;left:50%}.hint--bottom-right:before{margin-top:-11px;left:calc(50% - 6px)}.hint--bottom-right:after{-webkit-transform:translateX(0);-moz-transform:translateX(0);transform:translateX(0);margin-left:-12px}.hint--bottom-right:hover:after,.hint--bottom-right:hover:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--large:after,.hint--medium:after,.hint--small:after{white-space:normal;line-height:1.4em;word-wrap:break-word}.hint--small:after{width:80px}.hint--medium:after{width:150px}.hint--large:after{width:300px}.hint--error:after{background-color:#b34e4d;text-shadow:0 -1px 0 #592726}.hint--error.hint--top-left:before,.hint--error.hint--top-right:before,.hint--error.hint--top:before{border-top-color:#b34e4d}.hint--error.hint--bottom-left:before,.hint--error.hint--bottom-right:before,.hint--error.hint--bottom:before{border-bottom-color:#b34e4d}.hint--error.hint--left:before{border-left-color:#b34e4d}.hint--error.hint--right:before{border-right-color:#b34e4d}.hint--warning:after{background-color:#c09854;text-shadow:0 -1px 0 #6c5328}.hint--warning.hint--top-left:before,.hint--warning.hint--top-right:before,.hint--warning.hint--top:before{border-top-color:#c09854}.hint--warning.hint--bottom-left:before,.hint--warning.hint--bottom-right:before,.hint--warning.hint--bottom:before{border-bottom-color:#c09854}.hint--warning.hint--left:before{border-left-color:#c09854}.hint--warning.hint--right:before{border-right-color:#c09854}.hint--info:after{background-color:#3986ac;text-shadow:0 -1px 0 #1a3c4d}.hint--info.hint--top-left:before,.hint--info.hint--top-right:before,.hint--info.hint--top:before{border-top-color:#3986ac}.hint--info.hint--bottom-left:before,.hint--info.hint--bottom-right:before,.hint--info.hint--bottom:before{border-bottom-color:#3986ac}.hint--info.hint--left:before{border-left-color:#3986ac}.hint--info.hint--right:before{border-right-color:#3986ac}.hint--success:after{background-color:#458746;text-shadow:0 -1px 0 #1a321a}.hint--success.hint--top-left:before,.hint--success.hint--top-right:before,.hint--success.hint--top:before{border-top-color:#458746}.hint--success.hint--bottom-left:before,.hint--success.hint--bottom-right:before,.hint--success.hint--bottom:before{border-bottom-color:#458746}.hint--success.hint--left:before{border-left-color:#458746}.hint--success.hint--right:before{border-right-color:#458746}.hint--always:after,.hint--always:before{opacity:1;visibility:visible}.hint--always.hint--top:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--top:after{-webkit-transform:translateX(-50%) translateY(-8px);-moz-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px)}.hint--always.hint--top-left:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--top-left:after{-webkit-transform:translateX(-100%) translateY(-8px);-moz-transform:translateX(-100%) translateY(-8px);transform:translateX(-100%) translateY(-8px)}.hint--always.hint--top-right:after,.hint--always.hint--top-right:before{-webkit-transform:translateY(-8px);-moz-transform:translateY(-8px);transform:translateY(-8px)}.hint--always.hint--bottom:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--bottom:after{-webkit-transform:translateX(-50%) translateY(8px);-moz-transform:translateX(-50%) translateY(8px);transform:translateX(-50%) translateY(8px)}.hint--always.hint--bottom-left:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--bottom-left:after{-webkit-transform:translateX(-100%) translateY(8px);-moz-transform:translateX(-100%) translateY(8px);transform:translateX(-100%) translateY(8px)}.hint--always.hint--bottom-right:after,.hint--always.hint--bottom-right:before{-webkit-transform:translateY(8px);-moz-transform:translateY(8px);transform:translateY(8px)}.hint--always.hint--left:after,.hint--always.hint--left:before{-webkit-transform:translateX(-8px);-moz-transform:translateX(-8px);transform:translateX(-8px)}.hint--always.hint--right:after,.hint--always.hint--right:before{-webkit-transform:translateX(8px);-moz-transform:translateX(8px);transform:translateX(8px)}.hint--rounded:after{border-radius:4px}.hint--no-animate:after,.hint--no-animate:before{-webkit-transition-duration:0s;-moz-transition-duration:0s;transition-duration:0s}.hint--bounce:after,.hint--bounce:before{-webkit-transition:opacity .3s ease,visibility .3s ease,-webkit-transform .3s cubic-bezier(.71,1.7,.77,1.24);-moz-transition:opacity .3s ease,visibility .3s ease,-moz-transform .3s cubic-bezier(.71,1.7,.77,1.24);transition:opacity .3s ease,visibility .3s ease,transform .3s cubic-bezier(.71,1.7,.77,1.24)}.hint--no-shadow:after,.hint--no-shadow:before{text-shadow:initial;box-shadow:initial}.hint--no-arrow:before{display:none}"},7363:e=>{e.exports=React},1533:e=>{e.exports=ReactDOM},7821:e=>{e.exports=mobx}},o={};function r(e){var i=o[e];if(void 0!==i)return i.exports;var n=o[e]={exports:{}};return t[e].call(n.exports,n,n.exports,r),n.exports}r.m=t,e=[],r.O=(t,o,i,n)=>{if(!o){var a=1/0;for(p=0;p<e.length;p++){for(var[o,i,n]=e[p],s=!0,l=0;l<o.length;l++)(!1&n||a>=n)&&Object.keys(r.O).every((e=>r.O[e](o[l])))?o.splice(l--,1):(s=!1,n<a&&(a=n));if(s){e.splice(p--,1);var c=i();void 0!==c&&(t=c)}}return t}n=n||0;for(var p=e.length;p>0&&e[p-1][2]>n;p--)e[p]=e[p-1];e[p]=[o,i,n]},r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e={515:0};r.O.j=t=>0===e[t];var t=(t,o)=>{var i,n,[a,s,l]=o,c=0;if(a.some((t=>0!==e[t]))){for(i in s)r.o(s,i)&&(r.m[i]=s[i]);if(l)var p=l(r)}for(t&&t(o);c<a.length;c++)n=a[c],r.o(e,n)&&e[n]&&e[n][0](),e[a[c]]=0;return r.O(p)},o=self.webpackChunkrealCookieBanner_name_=self.webpackChunkrealCookieBanner_name_||[];o.forEach(t.bind(null,0)),o.push=t.bind(null,o.push.bind(o))})();var i=r.O(void 0,[568],(()=>r(6975)));i=r.O(i),realCookieBanner_customize_banner=i})();
1
+ var realCookieBanner_customize_banner;(()=>{"use strict";var e,t={6975:(e,t,o)=>{o.r(t),o.d(t,{ChecklistStore:()=>Mo,ConsentStore:()=>Ro,CookieStore:()=>Ot,CustomizeBannerStore:()=>Be,OptionStore:()=>me,RootStore:()=>ti,ScannerStore:()=>ei,StatsStore:()=>Ao,TcfStore:()=>kr,useStores:()=>oi});var r=o(1533),i=o(7821);const n=devowlWp_utils;var a=o(6724),s=o(9303);const l={path:"/settings",namespace:"wp/v2",method:n.RouteHttpVerb.GET},c={path:"/settings",namespace:"wp/v2",method:n.RouteHttpVerb.PATCH},p={path:"/revision/current",method:n.RouteHttpVerb.GET},u={path:"/revision/current",method:n.RouteHttpVerb.PUT},d={path:"/dismiss-config-page-pro-notice",method:n.RouteHttpVerb.DELETE},h={path:"/migration/:migration",method:n.RouteHttpVerb.DELETE},b={path:"/nav-menu/add-links",method:n.RouteHttpVerb.POST},f={path:"/country-bypass/database",method:n.RouteHttpVerb.PUT};let m;const g=(...e)=>(m||(m=(0,n.createRequestFactory)(window[n.BaseOptions.getPureSlug("real-cookie-banner",!0)]))).request(...e),y={path:"/modal-hint",method:n.RouteHttpVerb.PUT};var v,w,k,C,x,S,R,E,Z,P,O,A,z,D,I,B,T,M,U,F,_,j,L,N,V,W,H,q,G,Y,X,J,$,Q,K,ee,te,oe,re,ie,ne,ae,se,le,ce,pe,ue,de,he,be,fe;let me=(v=class extends n.BaseOptions{get isOnlyRcbCookieCreated(){return!(1!==this.allCookieCount||this.tcf&&this.allTcfVendorConfigurationCount)}get areSettingsFetched(){return void 0!==this.respectDoNotTrack}constructor(e){super(),(0,a.Z)(this,"busySettings",w,this),(0,a.Z)(this,"busyCountryBypassUpdate",k,this),(0,a.Z)(this,"busyAddLinksToNavigationMenu",C,this),(0,a.Z)(this,"needsRevisionRetrigger",x,this),(0,a.Z)(this,"publicCookieCount",S,this),(0,a.Z)(this,"allCookieCount",R,this),(0,a.Z)(this,"allBlockerCount",E,this),(0,a.Z)(this,"allTcfVendorConfigurationCount",Z,this),(0,a.Z)(this,"allScannerResultPresetsCount",P,this),(0,a.Z)(this,"allScannerResultExternalUrlsCount",O,this),(0,a.Z)(this,"cookieCounts",A,this),(0,a.Z)(this,"nav_menus",z,this),(0,a.Z)(this,"tcfVendorConfigurationCounts",D,this),(0,a.Z)(this,"hasManager",I,this),(0,a.Z)(this,"contexts",B,this),(0,a.Z)(this,"dashboardMigration",T,this),(0,a.Z)(this,"fomoCoupon",M,this),(0,a.Z)(this,"bannerActive",U,this),(0,a.Z)(this,"blockerActive",F,this),(0,a.Z)(this,"imprintId",_,this),(0,a.Z)(this,"imprintExternalUrl",j,this),(0,a.Z)(this,"imprintIsExternalUrl",L,this),(0,a.Z)(this,"privacyPolicyId",N,this),(0,a.Z)(this,"privacyPolicyExternalUrl",V,this),(0,a.Z)(this,"privacyPolicyIsExternalUrl",W,this),(0,a.Z)(this,"hidePageIds",H,this),(0,a.Z)(this,"setCookiesViaManager",q,this),(0,a.Z)(this,"acceptAllForBots",G,this),(0,a.Z)(this,"respectDoNotTrack",Y,this),(0,a.Z)(this,"cookieDuration",X,this),(0,a.Z)(this,"saveIp",J,this),(0,a.Z)(this,"ePrivacyUSA",$,this),(0,a.Z)(this,"ageNotice",Q,this),(0,a.Z)(this,"listServicesNotice",K,this),(0,a.Z)(this,"consentForwarding",ee,this),(0,a.Z)(this,"forwardTo",te,this),(0,a.Z)(this,"crossDomains",oe,this),(0,a.Z)(this,"affiliateLink",re,this),(0,a.Z)(this,"affiliateLabelBehind",ie,this),(0,a.Z)(this,"affiliateLabelDescription",ne,this),(0,a.Z)(this,"countryBypass",ae,this),(0,a.Z)(this,"countryBypassCountries",se,this),(0,a.Z)(this,"countryBypassType",le,this),(0,a.Z)(this,"countryBypassDbDownloadTime",ce,this),(0,a.Z)(this,"tcf",pe,this),(0,a.Z)(this,"tcfPublisherCc",ue,this),(0,a.Z)(this,"tcfAcceptedTime",de,this),(0,a.Z)(this,"tcfGvlDownloadTime",he,this),(0,a.Z)(this,"tcfScopeOfConsent",be,this),(0,a.Z)(this,"others",fe,this),this.pureSlug=void 0,this.pureSlugCamelCased=void 0,this.rootStore=void 0,this.fetchSettings=(0,i.flow)((function*(e){this.busySettings=!0;try{const t=e||(yield g({location:l}));this.bannerActive=t["rcb-banner-active"],this.blockerActive=t["rcb-blocker-active"],this.imprintId=t["rcb-banner-legal-imprint"],this.imprintExternalUrl=t["rcb-banner-legal-imprint-external-url"],this.imprintIsExternalUrl=t["rcb-banner-legal-imprint-is-external-url"],this.privacyPolicyId=t["rcb-banner-legal-privacy-policy"],this.privacyPolicyExternalUrl=t["rcb-banner-legal-privacy-policy-external-url"],this.privacyPolicyIsExternalUrl=t["rcb-banner-legal-privacy-policy-is-external-url"],this.hidePageIds=(t["rcb-hide-page-ids"]||"").split(",").map(Number).filter(Boolean),this.setCookiesViaManager=t["rcb-set-cookies-via-manager"]||"none",this.acceptAllForBots=t["rcb-accept-all-for-bots"],this.respectDoNotTrack=t["rcb-respect-do-not-track"],this.cookieDuration=t["rcb-cookie-duration"],this.saveIp=t["rcb-save-ip"],this.ePrivacyUSA=t["rcb-eprivacy-usa"],this.ageNotice=t["rcb-age-notice"],this.listServicesNotice=t["rcb-list-services-notice"],this.consentForwarding=t["rcb-consent-forwarding"]||!1,this.forwardTo=(t["rcb-forward-to"]||"").split("|").filter(Boolean),this.crossDomains=t["rcb-cross-domains"]||"",this.countryBypass=t["rcb-country-bypass"],this.countryBypassCountries=(t["rcb-country-bypass-countries"]||"").split(",").filter(Boolean),this.countryBypassType=t["rcb-country-bypass-type"],this.countryBypassDbDownloadTime=t["rcb-country-bypass-db-download-time"],this.tcf=t["rcb-tcf"],this.tcfPublisherCc=t["rcb-tcf-publisher-cc"],this.tcfAcceptedTime=t["rcb-tcf-accepted-time"],this.tcfGvlDownloadTime=t["rcb-tcf-gvl-download-time"],this.tcfScopeOfConsent=t["rcb-tcf-scope-of-consent"],yield this.fetchCurrentRevision()}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.updateSettings=(0,i.flow)((function*({bannerActive:e,blockerActive:t,imprintId:o,privacyPolicyId:r,hidePageIds:i,setCookiesViaManager:n,acceptAllForBots:a,respectDoNotTrack:s,cookieDuration:l,saveIp:p,ePrivacyUSA:u,ageNotice:d,listServicesNotice:h,consentForwarding:b,forwardTo:f,crossDomains:m,affiliateLink:y,affiliateLabelBehind:v,affiliateLabelDescription:w,countryBypass:k,countryBypassCountries:C,countryBypassType:x,tcf:S,tcfPublisherCc:R,tcfScopeOfConsent:E}){this.busySettings=!0;try{const y=yield g({location:c,request:{...void 0===e?{}:{"rcb-banner-active":e},...void 0===t?{}:{"rcb-blocker-active":t},...void 0===o?{}:{"rcb-banner-legal-imprint":o},...void 0===r?{}:{"rcb-banner-legal-privacy-policy":r},...void 0===i?{}:{"rcb-hide-page-ids":i.join(",")},...void 0===n?{}:{"rcb-set-cookies-via-manager":n},...void 0===a?{}:{"rcb-accept-all-for-bots":a},...void 0===s?{}:{"rcb-respect-do-not-track":s},...void 0===l?{}:{"rcb-cookie-duration":l},...void 0===p?{}:{"rcb-save-ip":p},...void 0===u?{}:{"rcb-eprivacy-usa":u},...void 0===d?{}:{"rcb-age-notice":d},...void 0===h?{}:{"rcb-list-services-notice":h},...void 0===b?{}:{"rcb-consent-forwarding":b},...void 0===f?{}:{"rcb-forward-to":f.join("|")},...void 0===m?{}:{"rcb-cross-domains":m},...void 0===k?{}:{"rcb-country-bypass":k},...void 0===C?{}:{"rcb-country-bypass-countries":C.join(",")},...void 0===x?{}:{"rcb-country-bypass-type":x},...void 0===S?{}:{"rcb-tcf":S},...void 0===R?{}:{"rcb-tcf-publisher-cc":R},...void 0===E?{}:{"rcb-tcf-scope-of-consent":E}}});this.fetchSettings(y),this.rootStore.checklistStore.probablyFetchByChangedItem(["save-settings","activate-banner","privacy-policy"])}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.fetchCurrentRevision=(0,i.flow)((function*(){this.busySettings=!0;try{this.setFromCurrentRevision(yield g({location:p}))}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.updateCurrentRevision=(0,i.flow)((function*(e){this.busySettings=!0;try{this.setFromCurrentRevision(yield g({location:u,request:e}))}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.setModalHintSeen=(0,i.flow)((function*(e){this.busySettings=!0;try{this.others.modalHints.push(e),yield g({location:y,request:{identifier:e}})}catch(e){throw console.log(e),e}finally{this.busySettings=!1}})),this.dismissConfigProNotice=(0,i.flow)((function*(){try{this.others.isConfigProNoticeVisible=!1,yield g({location:d})}catch(e){throw console.log(e),e}})),this.dismissMigration=(0,i.flow)((function*(){try{const{id:e}=this.dashboardMigration;this.dashboardMigration=void 0,yield g({location:h,params:{migration:e}})}catch(e){throw console.log(e),e}})),this.addLinksToNavigationMenu=(0,i.flow)((function*(e){this.busyAddLinksToNavigationMenu=!0;try{const{success:t}=yield g({location:b,request:{id:e}});return t&&(this.rootStore.checklistStore.fetchChecklist(),yield this.fetchCurrentRevision()),t}catch(e){throw console.log(e),e}finally{this.busyAddLinksToNavigationMenu=!1}})),this.updateCountryBypassDatabase=(0,i.flow)((function*(){this.busyCountryBypassUpdate=!0;try{const{dbDownloadTime:e}=yield g({location:f});this.countryBypassDbDownloadTime=e}catch(e){throw console.log(e),e}finally{this.busyCountryBypassUpdate=!1}})),this.rootStore=e,this.pureSlug=n.BaseOptions.getPureSlug("real-cookie-banner"),this.pureSlugCamelCased=n.BaseOptions.getPureSlug("real-cookie-banner",!0),(0,i.runInAction)((()=>Object.assign(this,window[this.pureSlugCamelCased])))}setFromCurrentRevision({contexts:e,has_manager:t,needs_retrigger:o,public_cookie_count:r,all_cookie_count:i,all_blocker_count:n,all_tcf_vendor_configuration_count:a,all_scanner_result_presets_count:s,all_scanner_result_external_urls_count:l,cookie_counts:c,nav_menus:p,tcf_vendor_configuration_counts:u,dashboard_migration:d,fomo_coupon:h}){this.hasManager=t,this.needsRevisionRetrigger=o,this.publicCookieCount=r,this.allCookieCount=i,this.allBlockerCount=n,this.allTcfVendorConfigurationCount=a,this.allScannerResultPresetsCount=s,this.allScannerResultExternalUrlsCount=l,this.cookieCounts=c,this.nav_menus=p,this.tcfVendorConfigurationCounts=u,this.contexts=e,this.dashboardMigration=d,this.fomoCoupon=h}setShowLicenseFormImmediate(e,t){this.others.showLicenseFormImmediate=e,this.others.isLicensed=t}},w=(0,s.Z)(v.prototype,"busySettings",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),k=(0,s.Z)(v.prototype,"busyCountryBypassUpdate",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),C=(0,s.Z)(v.prototype,"busyAddLinksToNavigationMenu",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),x=(0,s.Z)(v.prototype,"needsRevisionRetrigger",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),S=(0,s.Z)(v.prototype,"publicCookieCount",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),R=(0,s.Z)(v.prototype,"allCookieCount",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),E=(0,s.Z)(v.prototype,"allBlockerCount",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),Z=(0,s.Z)(v.prototype,"allTcfVendorConfigurationCount",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),P=(0,s.Z)(v.prototype,"allScannerResultPresetsCount",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),O=(0,s.Z)(v.prototype,"allScannerResultExternalUrlsCount",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),A=(0,s.Z)(v.prototype,"cookieCounts",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{draft:0,private:0,publish:0}}}),z=(0,s.Z)(v.prototype,"nav_menus",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),D=(0,s.Z)(v.prototype,"tcfVendorConfigurationCounts",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),I=(0,s.Z)(v.prototype,"hasManager",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),B=(0,s.Z)(v.prototype,"contexts",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{"":""}}}),T=(0,s.Z)(v.prototype,"dashboardMigration",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),M=(0,s.Z)(v.prototype,"fomoCoupon",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),U=(0,s.Z)(v.prototype,"bannerActive",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),F=(0,s.Z)(v.prototype,"blockerActive",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),_=(0,s.Z)(v.prototype,"imprintId",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),j=(0,s.Z)(v.prototype,"imprintExternalUrl",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),L=(0,s.Z)(v.prototype,"imprintIsExternalUrl",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),N=(0,s.Z)(v.prototype,"privacyPolicyId",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),V=(0,s.Z)(v.prototype,"privacyPolicyExternalUrl",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),W=(0,s.Z)(v.prototype,"privacyPolicyIsExternalUrl",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),H=(0,s.Z)(v.prototype,"hidePageIds",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),q=(0,s.Z)(v.prototype,"setCookiesViaManager",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),G=(0,s.Z)(v.prototype,"acceptAllForBots",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Y=(0,s.Z)(v.prototype,"respectDoNotTrack",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),X=(0,s.Z)(v.prototype,"cookieDuration",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),J=(0,s.Z)(v.prototype,"saveIp",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$=(0,s.Z)(v.prototype,"ePrivacyUSA",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Q=(0,s.Z)(v.prototype,"ageNotice",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),K=(0,s.Z)(v.prototype,"listServicesNotice",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ee=(0,s.Z)(v.prototype,"consentForwarding",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),te=(0,s.Z)(v.prototype,"forwardTo",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),oe=(0,s.Z)(v.prototype,"crossDomains",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),re=(0,s.Z)(v.prototype,"affiliateLink",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ie=(0,s.Z)(v.prototype,"affiliateLabelBehind",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ne=(0,s.Z)(v.prototype,"affiliateLabelDescription",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ae=(0,s.Z)(v.prototype,"countryBypass",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),se=(0,s.Z)(v.prototype,"countryBypassCountries",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),le=(0,s.Z)(v.prototype,"countryBypassType",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ce=(0,s.Z)(v.prototype,"countryBypassDbDownloadTime",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),pe=(0,s.Z)(v.prototype,"tcf",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ue=(0,s.Z)(v.prototype,"tcfPublisherCc",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),de=(0,s.Z)(v.prototype,"tcfAcceptedTime",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),he=(0,s.Z)(v.prototype,"tcfGvlDownloadTime",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),be=(0,s.Z)(v.prototype,"tcfScopeOfConsent",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),fe=(0,s.Z)(v.prototype,"others",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(v.prototype,"isOnlyRcbCookieCreated",[i.computed],Object.getOwnPropertyDescriptor(v.prototype,"isOnlyRcbCookieCreated"),v.prototype),(0,s.Z)(v.prototype,"areSettingsFetched",[i.computed],Object.getOwnPropertyDescriptor(v.prototype,"areSettingsFetched"),v.prototype),(0,s.Z)(v.prototype,"setFromCurrentRevision",[i.action],Object.getOwnPropertyDescriptor(v.prototype,"setFromCurrentRevision"),v.prototype),(0,s.Z)(v.prototype,"setShowLicenseFormImmediate",[i.action],Object.getOwnPropertyDescriptor(v.prototype,"setShowLicenseFormImmediate"),v.prototype),v);const ge={path:"/presets/banner",method:n.RouteHttpVerb.GET},ye=devowlWp_customize;var ve,we,ke,Ce,xe,Se,Re;let Ee=(ve=class e{constructor(e,t){(0,a.Z)(this,"id",we,this),(0,a.Z)(this,"name",ke,this),(0,a.Z)(this,"needsPro",Ce,this),(0,a.Z)(this,"description",xe,this),(0,a.Z)(this,"tags",Se,this),(0,a.Z)(this,"settings",Re,this),this.store=void 0,this.resetPreviewInUiSettings=void 0,(0,i.runInAction)((()=>(0,i.set)(this,e))),this.store=t}static getIframeStore(){try{return document.querySelector("#customize-preview > iframe").contentWindow.realCookieBanner_customize_banner.RootStore.get}catch(e){return}}applyInUi(){return!(!this.store.rootStore.optionStore.others.isPro&&this.needsPro||(this.previewInUi(),setTimeout((()=>{const e=(0,ye.getSidebarCustomize)();this.store.presetDefaults.forEach(((t,o)=>{e(o).set(void 0===this.settings[o]?t:this.settings[o])}))}),100),0))}previewInUi(){const t=(0,ye.getSidebarCustomize)(),{presetDefaults:o}=this.store,{settings:r}=this.store.rootStore.optionStore.others.customizeIdsBanner,i=[];this.resetPreviewInUiSettings={};for(const e of Object.keys(r)){const n=r[e];for(const r of Object.keys(n)){const a=n[r];if(!o.has(a))continue;this.resetPreviewInUiSettings[a]=[e,r,t(a).get()];const s=Object.prototype.hasOwnProperty.call(this.settings,a)?this.settings[a]:o.get(a);i.push([e,r,s])}}e.getIframeStore().customizeBannerStore.setBannerFromPreset(i)}resetPreviewInUi(){this.resetPreviewInUiSettings&&(e.getIframeStore().customizeBannerStore.setBannerFromPreset(Object.values(this.resetPreviewInUiSettings)),this.resetPreviewInUiSettings={})}},we=(0,s.Z)(ve.prototype,"id",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ke=(0,s.Z)(ve.prototype,"name",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ce=(0,s.Z)(ve.prototype,"needsPro",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),xe=(0,s.Z)(ve.prototype,"description",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Se=(0,s.Z)(ve.prototype,"tags",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Re=(0,s.Z)(ve.prototype,"settings",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ve);var Ze,Pe,Oe,Ae,ze,De,Ie;let Be=(Ze=class{constructor(e){(0,a.Z)(this,"visible",Pe,this),(0,a.Z)(this,"animationVisible",Oe,this),(0,a.Z)(this,"individualPrivacyOpen",Ae,this),(0,a.Z)(this,"previewCheckboxActiveState",ze,this),(0,a.Z)(this,"busyPresets",De,this),(0,a.Z)(this,"presets",Ie,this),this.rootStore=void 0,this.presetConstants=new Map,this.presetDefaults=new Map,this.debounceFromCustomize={},this.fetchPresets=(0,i.flow)((function*(){this.busyPresets=!0;try{const{defaults:e,constants:t,items:o}=yield g({location:ge});for(const t of Object.keys(e))this.presetDefaults.set(t,e[t]);for(const e of Object.keys(t))this.presetConstants.set(e,t[e]);for(const e of Object.keys(o))this.presets.set(e,new Ee({id:e,...o[e]},this))}catch(e){throw console.log(e),e}finally{this.busyPresets=!1}})),this.rootStore=e}setBannerFromCustomize(e,t,o,r=!0){const{customizeValuesBanner:i}=this.rootStore.optionStore.others,n=t.toString();if(r&&["css","animationInDuration","animationOutDuration"].indexOf(n)>-1)clearTimeout(this.debounceFromCustomize[n]),this.debounceFromCustomize[n]=setTimeout((()=>this.setBannerFromCustomize(e,t,o,!1)),500);else{const r=i[e][t];i[e][t]=o,n.startsWith("animationOut")&&r!==o&&this.forceAnimationOutSimulation()}}setBannerFromPreset(e){for(const t of e){const[e,o,r]=t;this.rootStore.optionStore.others.customizeValuesBanner[e][o]=r}}forceAnimationOutSimulation(){const{customizeValuesBanner:e}=this.rootStore.optionStore.others;"none"!==e.layout.animationOut&&(this.animationVisible=!1,setTimeout((()=>(0,i.runInAction)((()=>{this.animationVisible=!0}))),+e.layout.animationOutDuration+1e3))}setVisible(e){this.visible=e}setIndividualPrivacyOpen(e){this.individualPrivacyOpen=e}setPreviewCheckboxActiveState(e){this.previewCheckboxActiveState=e}exportPhp(){const e={},t=(0,ye.getSidebarCustomize)();return this.presetDefaults.forEach(((o,r)=>{let i=t(r).get();"boolean"==typeof o?i=!!+i:isNaN(i)||""===i||(i=+i),JSON.stringify(o)!==JSON.stringify(i)&&(e[this.presetConstants.get(r)]=i)})),this.jsonToPHPArray(e)}jsonToPHPArray(e){const t=JSON.stringify(e,null,4).split("\n");return t.shift(),t.pop(),t.join("\n").replace(/^(\s+)"([A-Za-z\\]+::[A-Z_]+)"(:)/gm,"$1$2 =>").replace(/^(\s+)([A-Za-z\\]+)::/gm,((e,t,o)=>"".concat(t).concat(o.replace(/\\\\/gm,"\\"),"::")))}},Pe=(0,s.Z)(Ze.prototype,"visible",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Oe=(0,s.Z)(Ze.prototype,"animationVisible",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!0}}),Ae=(0,s.Z)(Ze.prototype,"individualPrivacyOpen",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),ze=(0,s.Z)(Ze.prototype,"previewCheckboxActiveState",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),De=(0,s.Z)(Ze.prototype,"busyPresets",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Ie=(0,s.Z)(Ze.prototype,"presets",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,s.Z)(Ze.prototype,"setBannerFromCustomize",[i.action],Object.getOwnPropertyDescriptor(Ze.prototype,"setBannerFromCustomize"),Ze.prototype),(0,s.Z)(Ze.prototype,"setBannerFromPreset",[i.action],Object.getOwnPropertyDescriptor(Ze.prototype,"setBannerFromPreset"),Ze.prototype),(0,s.Z)(Ze.prototype,"forceAnimationOutSimulation",[i.action],Object.getOwnPropertyDescriptor(Ze.prototype,"forceAnimationOutSimulation"),Ze.prototype),(0,s.Z)(Ze.prototype,"setVisible",[i.action],Object.getOwnPropertyDescriptor(Ze.prototype,"setVisible"),Ze.prototype),(0,s.Z)(Ze.prototype,"setIndividualPrivacyOpen",[i.action],Object.getOwnPropertyDescriptor(Ze.prototype,"setIndividualPrivacyOpen"),Ze.prototype),(0,s.Z)(Ze.prototype,"setPreviewCheckboxActiveState",[i.action],Object.getOwnPropertyDescriptor(Ze.prototype,"setPreviewCheckboxActiveState"),Ze.prototype),Ze);const Te={path:"/presets/blocker/:identifier",method:n.RouteHttpVerb.GET};var Me,Ue,Fe,_e;let je=(Me=class{get fullLogoUrl(){const{logoFile:e}=this.data,{publicUrl:t}=this.store.rootStore.optionStore;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}constructor(e,t){(0,a.Z)(this,"busy",Ue,this),(0,a.Z)(this,"data",Fe,this),(0,a.Z)(this,"attributes",_e,this),this.store=void 0,this.fetchAttributes=(0,i.flow)((function*(){try{this.busy=!0;const e=yield g({location:Te,params:{identifier:this.data.identifier}});this.attributes=e}catch(e){throw console.log(e),e}finally{this.busy=!1}})),(0,i.runInAction)((()=>{this.data=e})),this.store=t}},Ue=(0,s.Z)(Me.prototype,"busy",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Fe=(0,s.Z)(Me.prototype,"data",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_e=(0,s.Z)(Me.prototype,"attributes",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(Me.prototype,"fullLogoUrl",[i.computed],Object.getOwnPropertyDescriptor(Me.prototype,"fullLogoUrl"),Me.prototype),Me);const Le={path:"/presets/cookies/:identifier",method:n.RouteHttpVerb.GET};var Ne,Ve,We,He;let qe=(Ne=class{get fullLogoUrl(){const{logoFile:e}=this.data,{publicUrl:t}=this.store.rootStore.optionStore;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}constructor(e,t){(0,a.Z)(this,"busy",Ve,this),(0,a.Z)(this,"data",We,this),(0,a.Z)(this,"attributes",He,this),this.store=void 0,this.fetchAttributes=(0,i.flow)((function*(){try{this.busy=!0;const e=yield g({location:Le,params:{identifier:this.data.identifier}});this.attributes=e}catch(e){throw console.log(e),e}finally{this.busy=!1}})),(0,i.runInAction)((()=>{this.data=e})),this.store=t}},Ve=(0,s.Z)(Ne.prototype,"busy",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),We=(0,s.Z)(Ne.prototype,"data",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),He=(0,s.Z)(Ne.prototype,"attributes",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(Ne.prototype,"fullLogoUrl",[i.computed],Object.getOwnPropertyDescriptor(Ne.prototype,"fullLogoUrl"),Ne.prototype),Ne);var Ge,Ye,Xe;let Je=n.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:g,create:{path:"/rcb-cookie"},patch:{path:"/rcb-cookie/:id"},delete:{path:"/rcb-cookie/:id"}})((Ye=class extends n.AbstractPost{get rootStore(){return this.collection.store.collection.store.rootStore}get technicalDefinitions(){return JSON.parse(this.data.meta.technicalDefinitions)}get codeDynamics(){return JSON.parse(this.data.meta.codeDynamics||"{}")}constructor(e,t={}){super(e,t),(0,a.Z)(this,"presetModel",Xe,this),this.store=void 0,(0,i.reaction)((()=>{var e;return null===(e=this.data)||void 0===e?void 0:e.preset}),(e=>(0,i.runInAction)((()=>{this.presetModel=e?new qe(e,ti.get.cookieStore):void 0}))),{fireImmediately:!0})}afterPatch(){const e=this.collection.store.collection,[t]=this.data["rcb-cookie-group"];e.entries.forEach((e=>{t!==e.key?e.cookies.entries.delete(this.key):e.cookies.entries.set(this.key,this)})),this.rootStore.optionStore.fetchCurrentRevision(),this.rootStore.cookieStore.unassignedCookies.delete(this.key)}setOrder(e){this.data.menu_order=e}setName(e){this.data.title.rendered=e}setStatus(e){this.data.status=e}setPurpose(e){this.data.content.rendered=e}setGroup(e){this.data["rcb-cookie-group"]=[e]}setMeta(e){this.data.meta=e}transformDataForPersist(){return{...super.transformDataForPersist(),"rcb-cookie-group":[this.collection.store.key]}}transformDataForPatch(){const e=super.transformDataForPatch();return{title:e.title,content:e.content,status:e.status,meta:e.meta,menu_order:e.menu_order,"rcb-cookie-group":this.data["rcb-cookie-group"],slug:e.title}}afterDelete(){this.collection.store.cookies.store.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterPersist(){const{optionStore:e,checklistStore:t}=this.collection.store.cookies.store.collection.store.rootStore;e.fetchCurrentRevision(),t.probablyFetchByChangedItem("add-cookie")}},Xe=(0,s.Z)(Ye.prototype,"presetModel",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(Ye.prototype,"rootStore",[i.computed],Object.getOwnPropertyDescriptor(Ye.prototype,"rootStore"),Ye.prototype),(0,s.Z)(Ye.prototype,"technicalDefinitions",[i.computed],Object.getOwnPropertyDescriptor(Ye.prototype,"technicalDefinitions"),Ye.prototype),(0,s.Z)(Ye.prototype,"codeDynamics",[i.computed],Object.getOwnPropertyDescriptor(Ye.prototype,"codeDynamics"),Ye.prototype),(0,s.Z)(Ye.prototype,"afterPatch",[i.action],Object.getOwnPropertyDescriptor(Ye.prototype,"afterPatch"),Ye.prototype),(0,s.Z)(Ye.prototype,"setOrder",[i.action],Object.getOwnPropertyDescriptor(Ye.prototype,"setOrder"),Ye.prototype),(0,s.Z)(Ye.prototype,"setName",[i.action],Object.getOwnPropertyDescriptor(Ye.prototype,"setName"),Ye.prototype),(0,s.Z)(Ye.prototype,"setStatus",[i.action],Object.getOwnPropertyDescriptor(Ye.prototype,"setStatus"),Ye.prototype),(0,s.Z)(Ye.prototype,"setPurpose",[i.action],Object.getOwnPropertyDescriptor(Ye.prototype,"setPurpose"),Ye.prototype),(0,s.Z)(Ye.prototype,"setGroup",[i.action],Object.getOwnPropertyDescriptor(Ye.prototype,"setGroup"),Ye.prototype),(0,s.Z)(Ye.prototype,"setMeta",[i.action],Object.getOwnPropertyDescriptor(Ye.prototype,"setMeta"),Ye.prototype),Ge=Ye))||Ge;const $e={path:"/cookies/order",method:n.RouteHttpVerb.PUT};var Qe,Ke;let et=n.ClientCollection.annotate({path:"/rcb-cookie",singlePath:"/rcb-cookie/:id",namespace:"wp/v2",methods:[n.RouteHttpVerb.GET],request:g})((Ke=class extends n.AbstractPostCollection{get sortedCookies(){const e=Array.from(this.entries.values());return e.sort(((e,t)=>e.data.menu_order<t.data.menu_order?-1:e.data.menu_order>t.data.menu_order||e.key<t.key?1:e.key>t.key?-1:0)),e}constructor(e){super(),this.store=void 0,this.orderCookies=(0,i.flow)((function*(e){this.busy=!0;try{yield g({location:$e,request:{ids:e}});let t=0;for(const o of e)this.entries.get(o).setOrder(t),t++}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.store=e}instance(e){return new Je(this).fromResponse(e)}},(0,s.Z)(Ke.prototype,"sortedCookies",[i.computed],Object.getOwnPropertyDescriptor(Ke.prototype,"sortedCookies"),Ke.prototype),Qe=Ke))||Qe;var tt,ot,rt,it;let nt=n.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:g,create:{path:"/rcb-cookie-group"},patch:{path:"/rcb-cookie-group/:id"},delete:{path:"/rcb-cookie-group/:id"}})((ot=class extends n.AbstractCategory{get cookiesCount(){return this.fetchedAllCookies?this.cookies.entries.size:this.data.count}constructor(e,t={}){super(e,t),(0,a.Z)(this,"cookies",rt,this),(0,a.Z)(this,"fetchedAllCookies",it,this),this.fetchCookies=(0,i.flow)((function*(){yield this.cookies.get({request:{status:["draft","publish","private"]},params:{per_page:100,"rcb-cookie-group":this.key,context:"edit"}}),this.fetchedAllCookies=!0})),(0,i.runInAction)((()=>{this.cookies=new et(this)}))}setName(e){this.data.name=e}setDescription(e){this.data.description=e}setOrder(e){this.data.meta.order=e}afterDelete(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterPatch(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterPersist(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}},rt=(0,s.Z)(ot.prototype,"cookies",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),it=(0,s.Z)(ot.prototype,"fetchedAllCookies",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,s.Z)(ot.prototype,"cookiesCount",[i.computed],Object.getOwnPropertyDescriptor(ot.prototype,"cookiesCount"),ot.prototype),(0,s.Z)(ot.prototype,"setName",[i.action],Object.getOwnPropertyDescriptor(ot.prototype,"setName"),ot.prototype),(0,s.Z)(ot.prototype,"setDescription",[i.action],Object.getOwnPropertyDescriptor(ot.prototype,"setDescription"),ot.prototype),(0,s.Z)(ot.prototype,"setOrder",[i.action],Object.getOwnPropertyDescriptor(ot.prototype,"setOrder"),ot.prototype),tt=ot))||tt;const at={path:"/cookie-groups/order",method:n.RouteHttpVerb.PUT};var st,lt;let ct=n.ClientCollection.annotate({path:"/rcb-cookie-group",singlePath:"/rcb-cookie-group/:id",namespace:"wp/v2",methods:[n.RouteHttpVerb.GET],request:g})((lt=class extends n.AbstractCategoryCollection{get sortedGroups(){const e=Array.from(this.entries.values());return e.sort(((e,t)=>e.data.meta.order<t.data.meta.order?-1:e.data.meta.order>t.data.meta.order?1:0)),e}constructor(e){super(),this.store=void 0,this.orderCookieGroups=(0,i.flow)((function*(e){this.busy=!0;try{yield g({location:at,request:{ids:e}});let t=0;for(const o of e)this.entries.get(o).setOrder(t),t++}catch(e){throw console.log(e),e}finally{this.busy=!1}})),this.store=e}instance(e){return new nt(this).fromResponse(e)}},(0,s.Z)(lt.prototype,"sortedGroups",[i.computed],Object.getOwnPropertyDescriptor(lt.prototype,"sortedGroups"),lt.prototype),st=lt))||st;var pt,ut,dt;let ht=n.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:g,create:{path:"/rcb-blocker"},patch:{path:"/rcb-blocker/:id"},delete:{path:"/rcb-blocker/:id"}})((ut=class extends n.AbstractPost{get rules(){var e;return null===(e=this.data)||void 0===e?void 0:e.meta.rules.split("\n")}get tcfVendors(){var e;return null!==(e=this.data)&&void 0!==e&&e.meta.tcfVendors?this.data.meta.tcfVendors.split(",").filter(Boolean).map(Number):[]}get services(){var e;return null===(e=this.data)||void 0===e?void 0:e.meta.services.split(",").filter(Boolean).map(Number)}constructor(e,t={}){super(e,t),(0,a.Z)(this,"presetModel",dt,this),(0,i.reaction)((()=>{var e;return null===(e=this.data)||void 0===e?void 0:e.preset}),(e=>(0,i.runInAction)((()=>{this.presetModel=e?new je(e,ti.get.cookieStore):void 0}))),{fireImmediately:!0})}setName(e){this.data.title.rendered=e}setStatus(e){this.data.status=e}setDescription(e){this.data.content.rendered=e}setMeta(e){this.data.meta=e}transformDataForPatch(){const e=super.transformDataForPatch();return{title:e.title,content:e.content,status:e.status,meta:e.meta,slug:e.title}}afterPatch(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}afterDelete(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}afterPersist(){this.collection.store.blockers.store.rootStore.optionStore.fetchCurrentRevision()}},dt=(0,s.Z)(ut.prototype,"presetModel",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(ut.prototype,"rules",[i.computed],Object.getOwnPropertyDescriptor(ut.prototype,"rules"),ut.prototype),(0,s.Z)(ut.prototype,"tcfVendors",[i.computed],Object.getOwnPropertyDescriptor(ut.prototype,"tcfVendors"),ut.prototype),(0,s.Z)(ut.prototype,"services",[i.computed],Object.getOwnPropertyDescriptor(ut.prototype,"services"),ut.prototype),(0,s.Z)(ut.prototype,"setName",[i.action],Object.getOwnPropertyDescriptor(ut.prototype,"setName"),ut.prototype),(0,s.Z)(ut.prototype,"setStatus",[i.action],Object.getOwnPropertyDescriptor(ut.prototype,"setStatus"),ut.prototype),(0,s.Z)(ut.prototype,"setDescription",[i.action],Object.getOwnPropertyDescriptor(ut.prototype,"setDescription"),ut.prototype),(0,s.Z)(ut.prototype,"setMeta",[i.action],Object.getOwnPropertyDescriptor(ut.prototype,"setMeta"),ut.prototype),pt=ut))||pt;var bt;let ft=n.ClientCollection.annotate({path:"/rcb-blocker",singlePath:"/rcb-blocker/:id",namespace:"wp/v2",methods:[n.RouteHttpVerb.GET],request:g})(bt=class extends n.AbstractPostCollection{constructor(e){super(),this.store=void 0,this.store=e}instance(e){return new ht(this).fromResponse(e)}})||bt;const mt={path:"/cookies/unassigned",method:n.RouteHttpVerb.GET},gt={path:"/presets/blocker",method:n.RouteHttpVerb.GET},yt={path:"/presets/cookies",method:n.RouteHttpVerb.GET};var vt,wt,kt,Ct,xt,St,Rt,Et,Zt,Pt;let Ot=(vt=class{get blockersCount(){return this.fetchedAllBlockers?this.blockers.entries.size:this.rootStore.optionStore.allBlockerCount}get cookiesCount(){return Array.from(this.groups.entries.values()).map((({cookiesCount:e})=>e)).reduce(((e,t)=>e+t),0)}constructor(e){(0,a.Z)(this,"busy",wt,this),(0,a.Z)(this,"groups",kt,this),(0,a.Z)(this,"unassignedCookies",Ct,this),(0,a.Z)(this,"blockers",xt,this),(0,a.Z)(this,"presetsBlocker",St,this),(0,a.Z)(this,"busyPresetsBlocker",Rt,this),(0,a.Z)(this,"presetsCookie",Et,this),(0,a.Z)(this,"busyPresetsCookie",Zt,this),(0,a.Z)(this,"fetchedAllBlockers",Pt,this),this.rootStore=void 0,this.fetchGroups=(0,i.flow)((function*(){yield this.groups.get({params:{per_page:100}}),yield this.fetchUnassignedCookies()})),this.fetchUnassignedCookies=(0,i.flow)((function*(){try{const e=yield g({location:mt});for(const t of Object.values(e))this.unassignedCookies.set(t.id,t)}catch(e){throw console.log(e),e}})),this.fetchBlockers=(0,i.flow)((function*(){yield this.blockers.get({request:{status:["draft","publish","private"]},params:{per_page:100,context:"edit"}}),this.fetchedAllBlockers=!0})),this.fetchPresetsBlocker=(0,i.flow)((function*(){this.busyPresetsBlocker=!0;try{const{items:e}=yield g({location:gt});for(const t of Object.keys(e))this.presetsBlocker.set(t,new je(e[t],this))}catch(e){throw console.log(e),e}finally{this.busyPresetsBlocker=!1}})),this.fetchPresetsCookie=(0,i.flow)((function*(){this.busyPresetsCookie=!0;try{const{items:e}=yield g({location:yt});for(const t of Object.keys(e))this.presetsCookie.set(t,new qe(e[t],this))}catch(e){throw console.log(e),e}finally{this.busyPresetsCookie=!1}})),this.rootStore=e,(0,i.runInAction)((()=>{this.groups=new ct(this),this.blockers=new ft(this)}))}get essentialGroup(){if(0===this.groups.entries.size)return;const e=this.groups.entries.values();let t;for(;(t=e.next().value)&&t.data.slug!==this.rootStore.optionStore.others.essentialGroup;);return t}},wt=(0,s.Z)(vt.prototype,"busy",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),kt=(0,s.Z)(vt.prototype,"groups",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ct=(0,s.Z)(vt.prototype,"unassignedCookies",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),xt=(0,s.Z)(vt.prototype,"blockers",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),St=(0,s.Z)(vt.prototype,"presetsBlocker",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),Rt=(0,s.Z)(vt.prototype,"busyPresetsBlocker",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Et=(0,s.Z)(vt.prototype,"presetsCookie",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),Zt=(0,s.Z)(vt.prototype,"busyPresetsCookie",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Pt=(0,s.Z)(vt.prototype,"fetchedAllBlockers",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),(0,s.Z)(vt.prototype,"blockersCount",[i.computed],Object.getOwnPropertyDescriptor(vt.prototype,"blockersCount"),vt.prototype),(0,s.Z)(vt.prototype,"cookiesCount",[i.computed],Object.getOwnPropertyDescriptor(vt.prototype,"cookiesCount"),vt.prototype),(0,s.Z)(vt.prototype,"essentialGroup",[i.computed],Object.getOwnPropertyDescriptor(vt.prototype,"essentialGroup"),vt.prototype),vt);const At={path:"/consent/all",method:n.RouteHttpVerb.GET},zt={path:"/revision/:hash",method:n.RouteHttpVerb.GET},Dt={path:"/revision/independent/:hash",method:n.RouteHttpVerb.GET},It={path:"/consent/referer",method:n.RouteHttpVerb.GET},Bt={path:"/consent/all",method:n.RouteHttpVerb.DELETE};var Tt,Mt,Ut,Ft,_t,jt,Lt,Nt,Vt,Wt,Ht,qt,Gt,Yt,Xt,Jt,$t,Qt,Kt,eo,to,oo,ro,io,no,ao,so,lo,co,po;let uo=(Tt=class{get revision(){return this.store.revisions.get(this.revision_hash)}get revision_independent(){return this.store.revisionsIndependent.get(this.revision_independent_hash)}get custom_bypass_readable(){const{custom_bypass:e}=this;return e?e.charAt(0).toUpperCase()+e.slice(1):""}get export(){return JSON.parse(JSON.stringify({...this.plain,revision:this.revision.data,revision_independent:this.revision_independent.data}))}constructor(e,t){(0,a.Z)(this,"id",Mt,this),(0,a.Z)(this,"plugin_version",Ut,this),(0,a.Z)(this,"design_version",Ft,this),(0,a.Z)(this,"ipv4",_t,this),(0,a.Z)(this,"ipv6",jt,this),(0,a.Z)(this,"ipv4_hash",Lt,this),(0,a.Z)(this,"ipv6_hash",Nt,this),(0,a.Z)(this,"uuid",Vt,this),(0,a.Z)(this,"previous_decision",Wt,this),(0,a.Z)(this,"decision",Ht,this),(0,a.Z)(this,"decision_labels",qt,this),(0,a.Z)(this,"created",Gt,this),(0,a.Z)(this,"blocker",Yt,this),(0,a.Z)(this,"blocker_thumbnail",Xt,this),(0,a.Z)(this,"dnt",Jt,this),(0,a.Z)(this,"custom_bypass",$t,this),(0,a.Z)(this,"user_country",Qt,this),(0,a.Z)(this,"revision_hash",Kt,this),(0,a.Z)(this,"revision_independent_hash",eo,this),(0,a.Z)(this,"button_clicked",to,this),(0,a.Z)(this,"context",oo,this),(0,a.Z)(this,"viewport_width",ro,this),(0,a.Z)(this,"viewport_height",io,this),(0,a.Z)(this,"viewed_page",no,this),(0,a.Z)(this,"url_imprint",ao,this),(0,a.Z)(this,"url_privacy_policy",so,this),(0,a.Z)(this,"forwarded",lo,this),(0,a.Z)(this,"forwarded_blocker",co,this),(0,a.Z)(this,"tcf_string",po,this),this.store=void 0,this.plain=void 0,(0,i.runInAction)((()=>(0,i.set)(this,e))),this.store=t,this.plain=e}fetchRevisions(){return Promise.all([this.store.fetchRevision({hash:this.revision_hash}),this.store.fetchRevisionIndependent({hash:this.revision_independent_hash})])}},Mt=(0,s.Z)(Tt.prototype,"id",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ut=(0,s.Z)(Tt.prototype,"plugin_version",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ft=(0,s.Z)(Tt.prototype,"design_version",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),_t=(0,s.Z)(Tt.prototype,"ipv4",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),jt=(0,s.Z)(Tt.prototype,"ipv6",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Lt=(0,s.Z)(Tt.prototype,"ipv4_hash",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Nt=(0,s.Z)(Tt.prototype,"ipv6_hash",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Vt=(0,s.Z)(Tt.prototype,"uuid",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Wt=(0,s.Z)(Tt.prototype,"previous_decision",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ht=(0,s.Z)(Tt.prototype,"decision",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),qt=(0,s.Z)(Tt.prototype,"decision_labels",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Gt=(0,s.Z)(Tt.prototype,"created",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Yt=(0,s.Z)(Tt.prototype,"blocker",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Xt=(0,s.Z)(Tt.prototype,"blocker_thumbnail",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Jt=(0,s.Z)(Tt.prototype,"dnt",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$t=(0,s.Z)(Tt.prototype,"custom_bypass",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Qt=(0,s.Z)(Tt.prototype,"user_country",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Kt=(0,s.Z)(Tt.prototype,"revision_hash",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),eo=(0,s.Z)(Tt.prototype,"revision_independent_hash",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),to=(0,s.Z)(Tt.prototype,"button_clicked",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),oo=(0,s.Z)(Tt.prototype,"context",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ro=(0,s.Z)(Tt.prototype,"viewport_width",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),io=(0,s.Z)(Tt.prototype,"viewport_height",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),no=(0,s.Z)(Tt.prototype,"viewed_page",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),ao=(0,s.Z)(Tt.prototype,"url_imprint",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),so=(0,s.Z)(Tt.prototype,"url_privacy_policy",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),lo=(0,s.Z)(Tt.prototype,"forwarded",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),co=(0,s.Z)(Tt.prototype,"forwarded_blocker",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),po=(0,s.Z)(Tt.prototype,"tcf_string",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(Tt.prototype,"revision",[i.computed],Object.getOwnPropertyDescriptor(Tt.prototype,"revision"),Tt.prototype),(0,s.Z)(Tt.prototype,"revision_independent",[i.computed],Object.getOwnPropertyDescriptor(Tt.prototype,"revision_independent"),Tt.prototype),(0,s.Z)(Tt.prototype,"custom_bypass_readable",[i.computed],Object.getOwnPropertyDescriptor(Tt.prototype,"custom_bypass_readable"),Tt.prototype),Tt);class ho{constructor(e,t){this.data=void 0,this.store=void 0,this.data=e,this.store=t}}class bo{constructor(e,t){this.data=void 0,this.store=void 0,this.data=e,this.store=t}}var fo,mo,go,yo,vo,wo,ko,Co,xo,So;let Ro=(fo=class extends n.BaseOptions{constructor(e){super(),(0,a.Z)(this,"busyConsent",mo,this),(0,a.Z)(this,"busyReferer",go,this),(0,a.Z)(this,"count",yo,this),(0,a.Z)(this,"perPage",vo,this),(0,a.Z)(this,"offset",wo,this),(0,a.Z)(this,"pageCollection",ko,this),(0,a.Z)(this,"revisions",Co,this),(0,a.Z)(this,"revisionsIndependent",xo,this),(0,a.Z)(this,"referer",So,this),this.filters=i.observable.object({page:1,dates:[void 0,void 0],context:void 0,referer:void 0,ip:void 0,uuid:void 0},{},{deep:!1}),this.rootStore=void 0,this.fetchAll=(0,i.flow)((function*(){this.busyConsent=!0;try{const{page:e,referer:t,ip:o,uuid:r,context:i}=this.filters,n=this.filters.dates.map((e=>e?e.format("YYYY-MM-DD"):"")),{count:a,items:s}=yield g({location:At,params:{per_page:this.perPage,offset:(e-1)*this.perPage,from:n[0],to:n[1],ip:o,uuid:r,referer:t,context:i}});this.count=a,this.pageCollection.clear();for(const e of s)this.pageCollection.set(e.id,new uo(e,this))}catch(e){throw console.log(e),e}finally{this.busyConsent=!1}})),this.fetchRevision=(0,i.flow)((function*(e){try{const t=yield g({location:zt,params:e});this.revisions.set(e.hash,new ho(t,this))}catch(e){throw console.log(e),e}})),this.fetchRevisionIndependent=(0,i.flow)((function*(e){try{const t=yield g({location:Dt,params:e});this.revisionsIndependent.set(e.hash,new bo(t,this))}catch(e){throw console.log(e),e}})),this.fetchReferer=(0,i.flow)((function*(e){this.busyReferer=!0;try{const t=yield g({location:It,params:e});this.referer=t.items}catch(e){throw console.log(e),e}finally{this.busyReferer=!1}})),this.deleteAll=(0,i.flow)((function*(){this.busyConsent=!0;try{yield g({location:Bt}),this.applyPage(0),yield this.fetchAll()}catch(e){throw console.log(e),e}finally{this.busyConsent=!1}})),this.rootStore=e,(0,i.runInAction)((()=>{this.filters.context=this.rootStore.optionStore.others.context}))}applyPage(e){this.filters.page=e}applyDates(e){this.filters.dates=e}applyContext(e){this.filters.context=e}applyReferer(e){this.filters.referer=e}applyIp(e){this.filters.ip=e}applyUuid(e){this.filters.uuid=e}},mo=(0,s.Z)(fo.prototype,"busyConsent",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),go=(0,s.Z)(fo.prototype,"busyReferer",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),yo=(0,s.Z)(fo.prototype,"count",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),vo=(0,s.Z)(fo.prototype,"perPage",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 50}}),wo=(0,s.Z)(fo.prototype,"offset",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return 0}}),ko=(0,s.Z)(fo.prototype,"pageCollection",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),Co=(0,s.Z)(fo.prototype,"revisions",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),xo=(0,s.Z)(fo.prototype,"revisionsIndependent",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),So=(0,s.Z)(fo.prototype,"referer",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return[]}}),(0,s.Z)(fo.prototype,"applyPage",[i.action],Object.getOwnPropertyDescriptor(fo.prototype,"applyPage"),fo.prototype),(0,s.Z)(fo.prototype,"applyDates",[i.action],Object.getOwnPropertyDescriptor(fo.prototype,"applyDates"),fo.prototype),(0,s.Z)(fo.prototype,"applyContext",[i.action],Object.getOwnPropertyDescriptor(fo.prototype,"applyContext"),fo.prototype),(0,s.Z)(fo.prototype,"applyReferer",[i.action],Object.getOwnPropertyDescriptor(fo.prototype,"applyReferer"),fo.prototype),(0,s.Z)(fo.prototype,"applyIp",[i.action],Object.getOwnPropertyDescriptor(fo.prototype,"applyIp"),fo.prototype),(0,s.Z)(fo.prototype,"applyUuid",[i.action],Object.getOwnPropertyDescriptor(fo.prototype,"applyUuid"),fo.prototype),fo);const Eo=moment;var Zo,Po,Oo=o.n(Eo);let Ao=(Zo=class extends n.BaseOptions{constructor(e){super(),(0,a.Z)(this,"busyStats",Po,this),this.rootStore=void 0,this.stats=i.observable.object({main:void 0,buttonsClicked:void 0,customBypass:void 0},{},{deep:!1}),this.filters=i.observable.object({dates:void 0,context:void 0},{},{deep:!1}),this.fetchMain=(0,i.flow)((function*(){throw new Error("This feature is not available in the free version.")})),this.fetchButtonsClicked=(0,i.flow)((function*(){throw new Error("This feature is not available in the free version.")})),this.fetchCustomBypass=(0,i.flow)((function*(){throw new Error("This feature is not available in the free version.")})),this.rootStore=e,(0,i.runInAction)((()=>{this.filters.dates=[Oo()().subtract(30,"days"),Oo()()],this.filters.context=this.rootStore.optionStore.others.context}))}applyDates(e){this.filters.dates=e}applyContext(e){this.filters.context=e}},Po=(0,s.Z)(Zo.prototype,"busyStats",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return{main:!1,buttonClicked:!1,customBypass:!1}}}),(0,s.Z)(Zo.prototype,"applyDates",[i.action],Object.getOwnPropertyDescriptor(Zo.prototype,"applyDates"),Zo.prototype),(0,s.Z)(Zo.prototype,"applyContext",[i.action],Object.getOwnPropertyDescriptor(Zo.prototype,"applyContext"),Zo.prototype),Zo);const zo={path:"/checklist",method:n.RouteHttpVerb.GET},Do={path:"/checklist/:id",method:n.RouteHttpVerb.PUT};var Io,Bo,To;let Mo=(Io=class extends n.BaseOptions{constructor(e){super(),(0,a.Z)(this,"busyChecklist",Bo,this),(0,a.Z)(this,"checklist",To,this),this.rootStore=void 0,this.probablyFetchByChangedItem=(0,i.flow)((function*(e,t){if(t)return void(yield this.fetchChecklist());const o=Array.isArray(e)?e:[e];this.items.filter((({id:e,checked:t})=>o.indexOf(e)>-1&&!t)).length>0&&(yield this.fetchChecklist())})),this.fetchChecklist=(0,i.flow)((function*(){this.busyChecklist=!0;try{this.checklist=yield g({location:zo,params:{_wp_http_referer:window.location.href}})}catch(e){throw console.log(e),e}finally{this.busyChecklist=!1}})),this.toggleChecklistItem=(0,i.flow)((function*(e,t){this.busyChecklist=!0;try{this.checklist=yield g({location:Do,request:{state:t},params:{id:e,_wp_http_referer:window.location.href}})}catch(e){throw console.log(e),e}finally{this.busyChecklist=!1}})),this.rootStore=e}get items(){return this.checklist&&Object.keys(this.checklist.items).map((e=>({id:e,...this.checklist.items[e]})))||[]}get completed(){return this.items.filter((({checked:e})=>e))}get checkable(){const{isPro:e}=this.rootStore.optionStore.others;return this.items.filter((({needsPro:t})=>!t||e&&t))}get done(){var e;return this.completed.length>=this.checkable.length||!(null===(e=this.checklist)||void 0===e||!e.dismissed)}},Bo=(0,s.Z)(Io.prototype,"busyChecklist",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),To=(0,s.Z)(Io.prototype,"checklist",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(Io.prototype,"items",[i.computed],Object.getOwnPropertyDescriptor(Io.prototype,"items"),Io.prototype),(0,s.Z)(Io.prototype,"completed",[i.computed],Object.getOwnPropertyDescriptor(Io.prototype,"completed"),Io.prototype),(0,s.Z)(Io.prototype,"checkable",[i.computed],Object.getOwnPropertyDescriptor(Io.prototype,"checkable"),Io.prototype),(0,s.Z)(Io.prototype,"done",[i.computed],Object.getOwnPropertyDescriptor(Io.prototype,"done"),Io.prototype),Io);const Uo={path:"/tcf/declarations",method:n.RouteHttpVerb.GET},Fo={path:"/tcf/vendors",method:n.RouteHttpVerb.GET},_o={path:"/tcf/gvl",method:n.RouteHttpVerb.PUT};var jo,Lo,No,Vo;!function(e){e.Cookie="cookie",e.Web="web",e.App="app"}(jo||(jo={})),function(e){e.Bulgarian="bg",e.Catalan="ca",e.Czech="cs",e.Danish="da",e.German="de",e.Greek="el",e.Spanish="es",e.Estonian="et",e.Basque="eus",e.Finnish="fi",e.French="fr",e.Galician="gl",e.Croatian="hr",e.Hungarian="hu",e.Italian="it",e.Japanese="ja",e.Lithuanian="lt",e.Latvian="lv",e.Maltese="mt",e.Dutch="nl",e.Norwegian="no",e.Polish="pl",e.Portuguese="pt",e.Romanian="ro",e.SerbianCyrillic="sr-Cyrl",e.SerbianLatin="sr-Latn",e.Russian="ru",e.Slovak="sk",e.Slovenian="sl",e.Swedish="sv",e.Turkish="tr",e.Chinese="zh"}(Lo||(Lo={}));let Wo=(No=class{get vendorConfiguration(){for(const e of this.store.vendorConfigurations.entries.values())if(e.vendorModel.data.id===this.data.id)return e}get deviceStorageDisclosure(){const{usesCookies:e,cookieMaxAgeSeconds:t,cookieRefresh:o,usesNonCookieAccess:r,deviceStorageDisclosure:i}=this.data,n=null!=i&&i.disclosures.length?[...i.disclosures]:[];return r&&n.unshift({type:jo.Web,identifier:"*",purposes:void 0,cookieRefresh:void 0,domain:"*",maxAgeSeconds:null}),e&&n.unshift({type:jo.Cookie,identifier:"*",purposes:void 0,cookieRefresh:o,domain:"*",maxAgeSeconds:t}),n}get allPurposes(){return[...this.legIntPurposes,...this.purposes,...this.specialPurposes].filter(Boolean)}get allFeatures(){return[...this.features,...this.specialFeatures].filter(Boolean)}get restrictivePurposes(){const e={normal:{}};for(const t of[...this.legIntPurposes,...this.purposes])e.normal[t.data.id.toString()]={enabled:!0,legInt:this.legIntPurposes.indexOf(t)>-1&&!t.special?"yes":"no"};return e}get purposes(){var e;return null===(e=this.data)||void 0===e?void 0:e.purposes.map((e=>this.store.purposes.get("".concat(e))))}get legIntPurposes(){var e;return null===(e=this.data)||void 0===e?void 0:e.legIntPurposes.map((e=>this.store.purposes.get("".concat(e))))}get flexiblePurposes(){var e;return null===(e=this.data)||void 0===e?void 0:e.flexiblePurposes.map((e=>this.store.purposes.get("".concat(e))))}get specialPurposes(){var e;return null===(e=this.data)||void 0===e?void 0:e.specialPurposes.map((e=>this.store.specialPurposes.get("".concat(e))))}get features(){var e;return null===(e=this.data)||void 0===e?void 0:e.features.map((e=>this.store.features.get("".concat(e))))}get specialFeatures(){var e;return null===(e=this.data)||void 0===e?void 0:e.specialFeatures.map((e=>this.store.specialFeatures.get("".concat(e))))}constructor(e,t){(0,a.Z)(this,"data",Vo,this),this.store=void 0,(0,i.runInAction)((()=>{this.data=e})),this.store=t}},Vo=(0,s.Z)(No.prototype,"data",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(No.prototype,"vendorConfiguration",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"vendorConfiguration"),No.prototype),(0,s.Z)(No.prototype,"deviceStorageDisclosure",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"deviceStorageDisclosure"),No.prototype),(0,s.Z)(No.prototype,"allPurposes",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"allPurposes"),No.prototype),(0,s.Z)(No.prototype,"allFeatures",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"allFeatures"),No.prototype),(0,s.Z)(No.prototype,"restrictivePurposes",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"restrictivePurposes"),No.prototype),(0,s.Z)(No.prototype,"purposes",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"purposes"),No.prototype),(0,s.Z)(No.prototype,"legIntPurposes",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"legIntPurposes"),No.prototype),(0,s.Z)(No.prototype,"flexiblePurposes",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"flexiblePurposes"),No.prototype),(0,s.Z)(No.prototype,"specialPurposes",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"specialPurposes"),No.prototype),(0,s.Z)(No.prototype,"features",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"features"),No.prototype),(0,s.Z)(No.prototype,"specialFeatures",[i.computed],Object.getOwnPropertyDescriptor(No.prototype,"specialFeatures"),No.prototype),No);var Ho,qo,Go;let Yo=(Ho=class{constructor(e,t,o){(0,a.Z)(this,"data",qo,this),(0,a.Z)(this,"special",Go,this),this.store=void 0,(0,i.runInAction)((()=>{this.special=t,this.data=e})),this.store=o}},qo=(0,s.Z)(Ho.prototype,"data",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Go=(0,s.Z)(Ho.prototype,"special",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ho);var Xo,Jo,$o;let Qo=(Xo=class{constructor(e,t,o){(0,a.Z)(this,"data",Jo,this),(0,a.Z)(this,"special",$o,this),this.store=void 0,(0,i.runInAction)((()=>{this.special=t,this.data=e})),this.store=o}},Jo=(0,s.Z)(Xo.prototype,"data",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),$o=(0,s.Z)(Xo.prototype,"special",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Xo);const Ko=jQuery;var er,tr,or,rr=o.n(Ko);let ir=n.ClientModel.annotate({keyId:"id",namespace:"wp/v2",request:g,create:{path:"/rcb-tcf-vendor-conf"},patch:{path:"/rcb-tcf-vendor-conf/:id"},delete:{path:"/rcb-tcf-vendor-conf/:id"}})((tr=class extends n.AbstractPost{get hasVendor(){return!!this.vendorModel}get restrictivePurposes(){var e,t;const o="global"===this.collection.store.rootStore.optionStore.tcfScopeOfConsent,r=(null===(e=this.vendorModel)||void 0===e?void 0:e.restrictivePurposes)||{normal:{}};if(o)return r;const i=JSON.parse(this.data.meta.restrictivePurposes);return rr().extend(!0,{},(null===(t=this.vendorModel)||void 0===t?void 0:t.restrictivePurposes)||{},i)}get stats(){var e;const{normal:t}=this.restrictivePurposes,o=[...Object.values(t)];return{activePurposes:o.filter((({enabled:e})=>e)).length,legIntPurposes:o.filter((({enabled:e,legInt:t})=>e&&"yes"===t)).length,activeFeatures:(null===(e=this.vendorModel)||void 0===e?void 0:e.allFeatures.length)||0}}constructor(e,t={}){super(e,t),(0,a.Z)(this,"vendorModel",or,this),(0,i.reaction)((()=>this.data.vendor),(e=>(0,i.runInAction)((()=>{if(e){const{vendors:t}=this.collection.store,o=e.id.toString();let r=t.get(o);r||(r=new Wo(e,this.collection.store),t.set(o,r)),this.vendorModel=r}}))),{fireImmediately:!0}),(0,i.reaction)((()=>{var e;return null===(e=this.data.meta)||void 0===e?void 0:e.vendorId}),(e=>{e&&(this.vendorModel=this.collection.store.vendors.get(e.toString()))}),{fireImmediately:!0})}setStatus(e){this.data.status=e}setMeta(e){this.data.meta=e}transformDataForPatch(){const e=super.transformDataForPatch();return{status:e.status,meta:e.meta}}afterPatch(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterDelete(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}afterPersist(){this.collection.store.rootStore.optionStore.fetchCurrentRevision()}},or=(0,s.Z)(tr.prototype,"vendorModel",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(tr.prototype,"hasVendor",[i.computed],Object.getOwnPropertyDescriptor(tr.prototype,"hasVendor"),tr.prototype),(0,s.Z)(tr.prototype,"restrictivePurposes",[i.computed],Object.getOwnPropertyDescriptor(tr.prototype,"restrictivePurposes"),tr.prototype),(0,s.Z)(tr.prototype,"stats",[i.computed],Object.getOwnPropertyDescriptor(tr.prototype,"stats"),tr.prototype),(0,s.Z)(tr.prototype,"setStatus",[i.action],Object.getOwnPropertyDescriptor(tr.prototype,"setStatus"),tr.prototype),(0,s.Z)(tr.prototype,"setMeta",[i.action],Object.getOwnPropertyDescriptor(tr.prototype,"setMeta"),tr.prototype),er=tr))||er;var nr;let ar=n.ClientCollection.annotate({path:"/rcb-tcf-vendor-conf",singlePath:"/rcb-tcf-vendor-conf/:id",namespace:"wp/v2",methods:[n.RouteHttpVerb.GET],request:g})(nr=class extends n.AbstractPostCollection{constructor(e){super(),this.store=void 0,this.store=e}instance(e){return new ir(this).fromResponse(e)}})||nr;var sr,lr,cr,pr,ur,dr,hr,br,fr,mr,gr,yr,vr,wr;let kr=(sr=class extends n.BaseOptions{get vendorConfigurationCount(){return this.fetchedAllVendorConfigurations?this.vendorConfigurations.entries.size:this.rootStore.optionStore.allTcfVendorConfigurationCount}constructor(e){super(),(0,a.Z)(this,"busyGvl",lr,this),(0,a.Z)(this,"busyVendors",cr,this),(0,a.Z)(this,"busyDeclarations",pr,this),(0,a.Z)(this,"vendorConfigurations",ur,this),(0,a.Z)(this,"fetchedAllVendorConfigurations",dr,this),(0,a.Z)(this,"vendorListVersion",hr,this),(0,a.Z)(this,"gvlSpecificationVersion",br,this),(0,a.Z)(this,"tcfPolicyVersion",fr,this),(0,a.Z)(this,"vendors",mr,this),(0,a.Z)(this,"purposes",gr,this),(0,a.Z)(this,"specialPurposes",yr,this),(0,a.Z)(this,"features",vr,this),(0,a.Z)(this,"specialFeatures",wr,this),this.rootStore=void 0,this.fetchVendorConfigurations=(0,i.flow)((function*(){const e=Math.ceil(this.vendorConfigurationCount/100);for(let t=0;t<e;t++)yield this.vendorConfigurations.get({request:{status:["draft","publish","private"]},params:{offset:100*t,per_page:100,context:"edit"}});this.fetchedAllVendorConfigurations=!0})),this.fetchVendors=(0,i.flow)((function*(){this.busyVendors=!0;try{const{vendorListVersion:e,vendors:t}=yield g({location:Fo});for(const e of Object.keys(t))this.vendors.set(e,new Wo(t[e],this));this.vendorListVersion=e}catch(e){throw console.log(e),e}finally{this.busyVendors=!1}})),this.fetchDeclarations=(0,i.flow)((function*(){this.busyDeclarations=!0;try{const{gvlSpecificationVersion:e,tcfPolicyVersion:t,purposes:o,specialPurposes:r,features:i,specialFeatures:n}=yield g({location:Uo});for(const e of Object.keys(o))this.purposes.set(e,new Yo(o[e],!1,this));for(const e of Object.keys(r))this.specialPurposes.set(e,new Yo(r[e],!0,this));for(const e of Object.keys(i))this.features.set(e,new Qo(i[e],!1,this));for(const e of Object.keys(n))this.specialFeatures.set(e,new Qo(n[e],!0,this));this.gvlSpecificationVersion=e,this.tcfPolicyVersion=t}catch(e){throw console.log(e),e}finally{this.busyDeclarations=!1}})),this.updateGvl=(0,i.flow)((function*(){this.busyGvl=!0;try{const{gvlDownloadTime:e}=yield g({location:_o});this.rootStore.optionStore.tcfGvlDownloadTime=e}catch(e){throw console.log(e),e}finally{this.busyGvl=!1}})),this.rootStore=e,(0,i.runInAction)((()=>{this.vendorConfigurations=new ar(this)}))}},lr=(0,s.Z)(sr.prototype,"busyGvl",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),cr=(0,s.Z)(sr.prototype,"busyVendors",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),pr=(0,s.Z)(sr.prototype,"busyDeclarations",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),ur=(0,s.Z)(sr.prototype,"vendorConfigurations",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),dr=(0,s.Z)(sr.prototype,"fetchedAllVendorConfigurations",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),hr=(0,s.Z)(sr.prototype,"vendorListVersion",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),br=(0,s.Z)(sr.prototype,"gvlSpecificationVersion",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),fr=(0,s.Z)(sr.prototype,"tcfPolicyVersion",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),mr=(0,s.Z)(sr.prototype,"vendors",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),gr=(0,s.Z)(sr.prototype,"purposes",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),yr=(0,s.Z)(sr.prototype,"specialPurposes",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),vr=(0,s.Z)(sr.prototype,"features",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),wr=(0,s.Z)(sr.prototype,"specialFeatures",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,s.Z)(sr.prototype,"vendorConfigurationCount",[i.computed],Object.getOwnPropertyDescriptor(sr.prototype,"vendorConfigurationCount"),sr.prototype),sr);const Cr={path:"/scanner/result/externals/:host",method:n.RouteHttpVerb.PUT};let xr;const Sr=(...e)=>(xr||(xr=(0,n.createLocalizationFactory)(n.BaseOptions.getPureSlug("real-cookie-banner")))).__(...e);var Rr,Er,Zr;let Pr=(Rr=class{get identifier(){return this.data.host}get inactive(){return"full"===this.blockedStatus||this.data.ignored}get blockedStatus(){const{foundCount:e,blockedCount:t}=this.data;return 0===t?"none":e===t?"full":"partial"}get blockedStatusText(){switch(this.blockedStatus){case"full":return Sr("Fully blocked");case"partial":return Sr("Partially blocked");default:return Sr("Not blocked")}}constructor(e,t){(0,a.Z)(this,"busy",Er,this),(0,a.Z)(this,"data",Zr,this),this.store=void 0,this.ignore=(0,i.flow)((function*(e=!0){try{yield g({location:Cr,request:{ignored:e},params:{host:this.data.host.replace(/\./g,"_")}}),this.data.ignored=e}catch(e){throw console.log(e),e}})),(0,i.runInAction)((()=>{this.data=e})),this.store=t}},Er=(0,s.Z)(Rr.prototype,"busy",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Zr=(0,s.Z)(Rr.prototype,"data",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(Rr.prototype,"identifier",[i.computed],Object.getOwnPropertyDescriptor(Rr.prototype,"identifier"),Rr.prototype),(0,s.Z)(Rr.prototype,"inactive",[i.computed],Object.getOwnPropertyDescriptor(Rr.prototype,"inactive"),Rr.prototype),(0,s.Z)(Rr.prototype,"blockedStatus",[i.computed],Object.getOwnPropertyDescriptor(Rr.prototype,"blockedStatus"),Rr.prototype),(0,s.Z)(Rr.prototype,"blockedStatusText",[i.computed],Object.getOwnPropertyDescriptor(Rr.prototype,"blockedStatusText"),Rr.prototype),Rr);function Or(e,t=50,o="..."){if(!e||e.length<=t)return e;const r=t-o.length,i=Math.ceil(r/2),n=Math.floor(r/2);return e.substr(0,i)+o+e.substr(e.length-n)}var Ar,zr,Dr;let Ir=(Ar=class{get markup(){return this.store.resultMarkup.get(this.data.id)}get blockedUrlTruncate(){return Or(this.data.blockedUrl,50,"[...]")}get sourceUrlTruncate(){return Or(this.data.sourceUrl,50,"[...]")}constructor(e,t){(0,a.Z)(this,"busy",zr,this),(0,a.Z)(this,"data",Dr,this),this.store=void 0,this.fetchMarkup=(0,i.flow)((function*(){yield this.store.fetchMarkup(this.data.id)})),(0,i.runInAction)((()=>{this.data=e})),this.store=t}},zr=(0,s.Z)(Ar.prototype,"busy",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Dr=(0,s.Z)(Ar.prototype,"data",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(Ar.prototype,"markup",[i.computed],Object.getOwnPropertyDescriptor(Ar.prototype,"markup"),Ar.prototype),(0,s.Z)(Ar.prototype,"blockedUrlTruncate",[i.computed],Object.getOwnPropertyDescriptor(Ar.prototype,"blockedUrlTruncate"),Ar.prototype),(0,s.Z)(Ar.prototype,"sourceUrlTruncate",[i.computed],Object.getOwnPropertyDescriptor(Ar.prototype,"sourceUrlTruncate"),Ar.prototype),Ar);var Br,Tr,Mr,Ur;let Fr=(Br=class{get identifier(){return this.data.identifier}get fullLogoUrl(){const{logoFile:e}=this.data,{publicUrl:t}=this.store.rootStore.optionStore;return e.startsWith("http")?e:"".concat(t,"images/logos/").concat(e)}get inactive(){return this.data.created}constructor(e,t){(0,a.Z)(this,"busy",Tr,this),(0,a.Z)(this,"data",Mr,this),(0,a.Z)(this,"attributes",Ur,this),this.store=void 0,this.fetchAttributes=(0,i.flow)((function*(){try{this.busy=!0;const e=yield g({location:Te,params:{identifier:this.data.identifier}});this.attributes=e}catch(e){throw console.log(e),e}finally{this.busy=!1}})),(0,i.runInAction)((()=>{this.data=e})),this.store=t}},Tr=(0,s.Z)(Br.prototype,"busy",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Mr=(0,s.Z)(Br.prototype,"data",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),Ur=(0,s.Z)(Br.prototype,"attributes",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:null}),(0,s.Z)(Br.prototype,"identifier",[i.computed],Object.getOwnPropertyDescriptor(Br.prototype,"identifier"),Br.prototype),(0,s.Z)(Br.prototype,"fullLogoUrl",[i.computed],Object.getOwnPropertyDescriptor(Br.prototype,"fullLogoUrl"),Br.prototype),(0,s.Z)(Br.prototype,"inactive",[i.computed],Object.getOwnPropertyDescriptor(Br.prototype,"inactive"),Br.prototype),Br);const _r={path:"/scanner/queue",method:n.RouteHttpVerb.POST},jr={path:"/scanner/result/presets",method:n.RouteHttpVerb.GET},Lr={path:"/scanner/result/externals",method:n.RouteHttpVerb.GET},Nr={path:"/scanner/result/externals/:type/:identifier",method:n.RouteHttpVerb.GET},Vr={path:"/scanner/result/markup/:id",method:n.RouteHttpVerb.GET};var Wr,Hr,qr,Gr,Yr,Xr,Jr,$r,Qr,Kr;let ei=(Wr=class{get sortedExternalUrls(){const e=Array.from(this.resultExternalUrls.values());return e.sort(((e,t)=>e.inactive===t.inactive?0:e.inactive?1:-1)),e}get presetsCount(){return this.fetchedAllResultPresets?this.resultPresets.size:this.rootStore.optionStore.allScannerResultPresetsCount}get externalUrlsCount(){return this.fetchedAllResultExternalUrls?this.resultExternalUrls.size:this.rootStore.optionStore.allScannerResultExternalUrlsCount}get canShowResults(){var e;return this.presetsCount+this.externalUrlsCount>0&&(null===(e=this.rootStore.checklistStore.checklist)||void 0===e?void 0:e.items.scanner.checked)}get foundScanResultsCount(){return this.resultPresets.size+this.resultExternalUrls.size}get needsAttentionCount(){return[...this.resultPresets.values(),...this.resultExternalUrls.values()].filter((({inactive:e})=>!e)).length}constructor(e){(0,a.Z)(this,"resultPresets",Hr,this),(0,a.Z)(this,"busyResultPresets",qr,this),(0,a.Z)(this,"fetchedAllResultPresets",Gr,this),(0,a.Z)(this,"resultExternalUrls",Yr,this),(0,a.Z)(this,"resultAllExternalUrls",Xr,this),(0,a.Z)(this,"busyExternalUrls",Jr,this),(0,a.Z)(this,"fetchedAllResultExternalUrls",$r,this),(0,a.Z)(this,"busyMarkup",Qr,this),(0,a.Z)(this,"resultMarkup",Kr,this),this.rootStore=void 0,this.addUrlsToQueue=(0,i.flow)((function*(e){return yield g({location:_r,request:e})})),this.fetchResultPresets=(0,i.flow)((function*(){this.busyResultPresets=!0;try{this.resultPresetsFromResponse(yield g({location:jr})),this.fetchedAllResultPresets=!0}catch(e){throw console.log(e),e}finally{this.busyResultPresets=!1}})),this.fetchResultExternals=(0,i.flow)((function*(){this.busyExternalUrls=!0;try{this.resultExternalUrlsFromResponse(yield g({location:Lr})),this.fetchedAllResultExternalUrls=!0}catch(e){throw console.log(e),e}finally{this.busyExternalUrls=!1}})),this.fetchResultAllExternals=(0,i.flow)((function*(e){const t=e instanceof Pr?"host":"preset",{identifier:o}=e;e.busy=!0;try{const{items:r}=yield g({location:Nr,params:{type:t,identifier:"host"===t?o.replace(/\./g,"_"):o}});let i=this.resultAllExternalUrls.get(o);if(i){const e=r.map((({id:e})=>e));for(const t of i.keys())-1===e.indexOf(t)&&i.delete(t)}else i=new Map;for(const e of Object.values(r))i.set(e.id,new Ir(e,this)),this.resultAllExternalUrls.set(o,i)}catch(e){throw console.log(e),e}finally{e.busy=!1}})),this.fetchMarkup=(0,i.flow)((function*(e){this.busyMarkup=!0;try{const t=yield g({location:Vr,params:{id:e}});this.resultMarkup.set(e,t)}catch(e){throw console.log(e),e}finally{this.busyMarkup=!1}})),this.rootStore=e}resultPresetsFromResponse({items:e}){const t=Object.keys(e);for(const e of this.resultPresets.keys())-1===t.indexOf(e)&&this.resultPresets.delete(e);for(const o of t)this.resultPresets.set(o,new Fr(e[o],this))}resultExternalUrlsFromResponse({items:e}){const t=Object.keys(e);for(const e of this.resultExternalUrls.keys())-1===t.indexOf(e)&&this.resultExternalUrls.delete(e);for(const o of t)this.resultExternalUrls.set(o,new Pr(e[o],this))}},Hr=(0,s.Z)(Wr.prototype,"resultPresets",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),qr=(0,s.Z)(Wr.prototype,"busyResultPresets",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Gr=(0,s.Z)(Wr.prototype,"fetchedAllResultPresets",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Yr=(0,s.Z)(Wr.prototype,"resultExternalUrls",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),Xr=(0,s.Z)(Wr.prototype,"resultAllExternalUrls",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),Jr=(0,s.Z)(Wr.prototype,"busyExternalUrls",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),$r=(0,s.Z)(Wr.prototype,"fetchedAllResultExternalUrls",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Qr=(0,s.Z)(Wr.prototype,"busyMarkup",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return!1}}),Kr=(0,s.Z)(Wr.prototype,"resultMarkup",[i.observable],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){return new Map}}),(0,s.Z)(Wr.prototype,"sortedExternalUrls",[i.computed],Object.getOwnPropertyDescriptor(Wr.prototype,"sortedExternalUrls"),Wr.prototype),(0,s.Z)(Wr.prototype,"presetsCount",[i.computed],Object.getOwnPropertyDescriptor(Wr.prototype,"presetsCount"),Wr.prototype),(0,s.Z)(Wr.prototype,"externalUrlsCount",[i.computed],Object.getOwnPropertyDescriptor(Wr.prototype,"externalUrlsCount"),Wr.prototype),(0,s.Z)(Wr.prototype,"canShowResults",[i.computed],Object.getOwnPropertyDescriptor(Wr.prototype,"canShowResults"),Wr.prototype),(0,s.Z)(Wr.prototype,"foundScanResultsCount",[i.computed],Object.getOwnPropertyDescriptor(Wr.prototype,"foundScanResultsCount"),Wr.prototype),(0,s.Z)(Wr.prototype,"needsAttentionCount",[i.comp