BUSINESS

„Dacă vrei să creşti, trebuie să te uiţi la nevoile clientului“

May 5th, 2008, com Un comentariu

susţine Steven van Groningen, Preşedinte Raiffeisen Bank România

Raiffeisen Bank este, după valoarea activelor, al doilea jucător din sistem, deci prinde podiumul băncilor româneşti. Datorită cărui fapt a ajuns aici?

– Cu peste zece ani în urmă, un grup austriac, Raiffeisen, a înţeles potenţialul care există în România şi a deschis aici o reprezentanţă. După cinci ani, a hotărât că doreşte să devină un jucător important, iar pentru asta trebuie să facă un „pas“ mai mare. Am preluat Banca Agricolă, în 2001, care era aproape de faliment, o infrastructură fără prea mult conţinut bancar. Am reuşit să o revigorăm şi, mai mult, am reuşit să urcăm destul de repede până pe locul trei. Cred că la acest succes a contribuit faptul că am fost printre primii care au recunoscut potenţialul extraordinar pe care îl are România. În plus, am fost printre primele bănci care şi-au îndreptat atenţia spre retail şi am început să acordăm credite de consum populaţiei. Acesta a fost al doilea pas important.

– Care este astăzi profilul bancherului român?

– Un bancher trebuie să fie un manager foarte bun şi trebuie să aibă şi o reputaţie foarte bună. Faţă de acum zece ani, în România s-au înregistrat progrese destul de mari. Cred, totuşi, că, în următorii ani, vom afla cine a fost bancherul prea prudent sau cine a fost prea agresiv. Anii care vor veni ne vor ajuta să răspundem la următoarea întrebare: au fost suficient de prudente băncile, mai ales cele care au rezultate foarte bune, şi care vor fi costurile acestor ani de creştere agresivă a unor bănci. Oricine poate acorda un credit dacă are bani, dar trebuie să se asigure că toţi banii vor fi returnaţi, iar acest lucru nu poate fi probat decât în timp. Atunci se va vedea cine a fost bancherul adevărat. Trebuie câţiva ani să mai treacă până se vor clarifica toate acestea.

– Cât de puternică este o tradiţie de familie în privinţa bancherilor?

– Eu, de exemplu, sunt copilul unui bancher şi bunicul meu a fost de asemenea bancher. Nu pot totuşi să spun că am devenit bancher fiindcă tatăl meu era bancher, mai curând aşa s-a întâmplat. Are putere de determinare, nu-mi era ceva necunoscut şi cred că aşa se întâmplă în viaţă: când eşti mai în vârstă, îi înţelegi mai bine pe părinţi. În familia mea, eu sunt a cincea generaţie de bancheri. Am început să lucrez într-o bancă, în Olanda, şi trebuie să spun că, la început, nu eram convins că asta vreau să fac toată viaţa. De aceea am trecut în consultanţă, dar, după puţin timp, am revenit în sistemul bancar, iar acum pot să spun că am făcut o alegere bună şi am una dintre cele mai interesante meserii pe care poţi să o ai în România.

– Spuneaţi, într-un interviu anterior, că nu aţi reuşit să convingeţi acţionarii (şi echipa) cât de repede va creşte piaţa la un anumit moment. De ce nu aţi reuşit?

– Într-un fel, e în firea lucrurilor. Cei care sunt responsabili de activitate spun nu se poate, nu creştem atât de mult, nu putem livra. E păcat, însă, să gândeşti aşa când eşti într-o piaţă care creşte foarte mult. Dacă piaţa se dezvoltă şi nu eşti pregătit din punct de vedere al infrastructurii, durează până te adaptezi. Mai ales dacă eşti o companie mare. Să pui la punct toate resursele necesare îţi ia timp şi e foarte posibil ca, din această cauză, să pierzi multe oportunităţi de a te dezvolta. Este un lucru pe care îl întâlneşti şi în alte industrii. Se fac investiţii mari, dar dacă nu vin clienţii avem o problemă. Noi am avut creşteri foarte rapide, în fiecare an creşteam mai mult decât am preconizat. La momentul respectiv, e o situaţie clasică, bugetul era prea mic. În principiu, într-o piaţă nu trebuie să te uiţi doar la buget, ci trebuie să te uiţi ce se întâmplă în piaţă, la trendul pieţei.


– Care a fost cea mai mare provocare în cei cinci ani petrecuţi la Raiffeisen Bank?

– Cea mai mare provocare a fost în perioada de început, când am preluat Banca Agricolă şi am dorit să schimbăm atitudinea echipei, să schimbăm traiectoria activităţii băncii. La început, nimeni nu a avut încredere în noi. A fost un efort imens, de redimensionare, de angajare de personal, gândiţi-vă că am angajat o mie de oameni într-un an, iar în acest timp încercam să punem banca pe un făgaş bun. Banca era atunci ca o persoană bolnavă şi dacă eşti bolnav nu-ţi doreşti decât un singur lucru: să fii sănătos; dacă eşti sănătos, dintr-o dată ai multe dorinţe: maşină, casă, excursii, de toate. Ideea e să devii sănătos. Asta a fost ideea şi atunci când am pornit la drum cu Banca Agricolă: să fim o bancă sănătoasă, să schimbăm cultura, abordarea, să avem o evoluţie rapidă şi bună. Acum, când vorbim, toată lumea ştie că am reuşit şi sunt mulţi care îşi doresc să lucreze cu sau la Raiffeisen Bank. La început nu a fost deloc aşa.

– Care este povestea dv. de dragoste cu canotajul?

– Este cam aceeaşi poveste cum este şi cu cea de bancher. Era un sport care se făcea în familie, tatăl meu a făcut canotaj, bunicul meu a făcut canotaj. E un sport care se face foarte mult în Olanda când eşti la universitate. Pentru mine, a fost şi o tradiţie, dar e şi un sport care îmi place. La momentul când am început să-l practic, mi-am zis că vreau să văd cât de departe pot să ajung şi am ajuns până la Olimpiadă.

– Are importanţă să te căsătoreşti cu un campion? (Steven van Groningen este căsătorit din 1984 cu campioana olimpică Valeria Răcilă van Groningen)

– Nu e un element important. Între mine şi soţia mea e un caz clasic de „dragoste la prima vedere“. Ne-am întâlnit prima dată în 1982, la un campionat mondial de canotaj, în Elveţia, şi gata!

– Ce v-a atras mai mult, frumuseţea sau performanţa?

– La prima vedere, evident că m-a atras frumuseţea, şi, bineînţeles, la asta se adaugă în timp caracterul, personalitatea. Prima dată când am văzut-o, nici nu ştiam cine este.


– Cum se îndrăgosteşte un bancher de o sportivă?

– Când ne-am cunoscut, amândoi eram sportivi, nu eram încă bancher. Şi acum avem interese comune. Ca bancher, am învăţat foarte mult din sport, tenacitatea şi insistenţa în urmărirea unui scop, focusul pe termen lung; ca şi în sport, şi în banking dacă te afli într-o competiţie, atunci trebuie să te pregăteşti, trebuie să ai un program pe care să-l respecţi, ai nevoie de disciplină şi determinare. Dacă apare o problemă, nu cedezi uşor… În plus, când lucrezi în echipă, cum e cazul într-o bancă, atunci sportul te învaţă multe. E important cum reuşeşti să performezi ca echipă şi asta uneşte. Şi dă performanţă în business. Ca şi în sport, şi în business trebuie să câştigi, asta e regula. Dacă ai performanţe nu trebuie să cauţi metode mai puţin legale, poţi fi mândru de rezultatele tale. Dacă doreşti să ai succes ca bancher trebuie să faci cu pasiune ceea ce faci. Dacă nu ai pasiune, nu poţi avea rezultate. Cred că sunt foarte multe valori comune între business şi sport… Şi azi mai fac sport, dar din păcate nu mai am timp pentru canotaj…

– Cum a decurs derularea campaniei de imagine începută cu Saatchi & Saatchi?

– Foarte bine. Sunt foarte mulţumit de campanie. Pentru noi era un moment în care am simţit că am devenit o bancă mare, sănătoasă şi profitabilă; ne-am schimbat şi am zis că trebuie să arătăm acest lucru. Exact cum se dezvoltă un om în timp, tot aşa ne-am dezvoltat noi ca instituţie, deci şi imaginea trebuia să se schimbe. De la sloganul Banca ta de încredere am trecut la sloganul Reuşim împreună. Asta nu e ceva doar pentru exterior ci este şi pentru noi cei care lucrăm zi de zi în bancă. Am decis că toţi clienţii au nevoie de soluţii din ce în ce mai complexe, şi trebuie să le devenim parteneri şi să le oferim cele mai bune opţiuni. Pentru asta trebuie să colaborăm şi să fim toţi cei care lucrăm în bancă o adevărată echipă. Dacă acum zece ani sau chiar cinci ani întrebam pe cineva de ce doreşte să lucreze cu banca noastră răspunsul era cam aşa: pentru că suntem o bancă sigură, avem acţionari puternici. Acum situaţia s-a schimbat, sistemul bancar românesc s-a schimbat. Nimeni nu se mai aşteaptă ca o bancă să dea faliment, toate băncile sunt sigure. Şi atunci se pune întrebarea: de ce vine cineva la noi? E adevărat, avem produse de calitate, produse inovative, dar nici asta nu mai este un element care face deosebirea între o bancă şi o altă bancă. În această etapă, alte lucruri devin importante: identitatea noastră şi ceea ce reuşim să transmitem în piaţă. Asta e şi campania pe care o facem, să clarificăm mai bine cine şi ce este brandul Raiffeisen Bank.

– Sunteţi una dintre puţinele bănci care susţineţi cultura; iată, printr-un proiect, numit chiar Raiffeisen Art Project. Caracterizaţi, în linii mari, acest proiect.

– Spre noi, trebuie să spun, vin în fiecare zi foarte multe cereri de sponsorizare. Împreună cu oamenii de la departamentul de Relaţii Publice, am zis, la un moment dat, că trebuie să stabilim criterii clare pe care să le avem în vedere an de an, când alegem să sponsorizăm un proiect sau altul. Ne-am gândit că arta românească are valoare şi merită să fie sprijinită şi aşa am ajuns la Raiffeisen Art Project. Ideea e să sprijinim proiecte culturale valoroase care, fără sprijinul nostru, nu ar fi văzut lumina zilei, nu ar fi fost oferite oamenilor. În fiecare an încercăm să alegem altceva, anul trecut am avut muzica, jazz, anul acesta va fi un proiect legat de pictură. Întotdeauna e vorba despre un artist român, nu neapărat extrem de cunoscut, dar care are un proiect valoros, care chiar merită să iasă pe piaţă şi să fie susţinut financiar. În anii trecuţi am sprijinit tipărirea Istoriei Literaturii Române la care scriitorul Alex Ştefănescu lucrase 15 ani şi dorea să o vadă în librării. Am încercat să avem criterii clare de valoare, să contribuim la progresul culturii române, în 2006 am colaborat cu Teodora Enache la realizarea şi lansarea unui CD, cuprinzând muzica lui Johnny Răducanu. Nu se editase încă un CD cu compoziţiile maestrului Johnny Răducanu, iar iubitorii jazz-ului meritau asta. Astfel de proiecte căutăm. Cred că prin artă putem să îmbunătăţim calitatea vieţii pe care o ducem şi să lăsăm ceva durabil în urma noastră.


– Anul trecut aţi avut un profit net de aproximativ 100 de milioane de euro, ce proiecte noi luaţi în calcul pentru investiţii şi planuri viitoare?

– Rezultatele noastre sunt foarte bune, creştem profitabil şi sănătos, dar nu ne oprim aici. Avem o cotă de piaţă aproape de 10% şi peste două milioane de clienţi. Asta este o bază solidă de creştere. Vom continua să ne dezvoltăm capacitatea de distribuţie. Anul trecut am deschis peste 160 de agenţii şi vom continua să deschidem şi anul acesta. Dacă vrei să creşti, trebuie să te uiţi la toate nevoile clientului, de la o plată banală de utilităţi, la credite sau conturi de economii. Sunt milioane de clienţi care au de plătit ceva, vor să achiziţioneze ceva sau fac călătorii; pentru fiecare client trebuie să pregătim pachete de produse şi servicii care să le ofere ceea ce au nevoie.

– E şi Raiffeisen Bank „partener invizibil“ împreună cu care se poate reuşi, cum e conceptul din spatele companiei şi băncii?

– Dacă ne uităm la ce face o bancă… o bancă într-un fel ajută pe cineva să cumpere ceva, sau să asigure ceva. Dacă cineva are bani, poate să facă plăţi, dar, dacă nu are, poate veni la bancă şi să se împrumute de la noi. Suntem prezenţi peste tot în ţară şi îi ajutăm pe clienţii noştri să găsească la noi soluţiile de care au nevoie. Foarte multe lucruri importante din viaţa unui om au în spate o bancă… Nevoile clientului se schimbă, dacă e tânăr, vrea să cumpere ceva, dacă are copii vrea să le plătească şcoala sau să le cumpere maşină. Trebuie să înţelegem de ce are nevoie clientul şi să-l sprijinim. Noi trebuie să ne adaptăm la nevoile pieţei şi, atunci, Reuşim împreună nu e doar un slogan ci o strategie.

– Sunteţi mulţumit de cota de piaţă de 10-11%?

– Nu pot să spun că sunt mulţumit 100%, dar dacă ne uităm la brandul Raiffeisen, la dezvoltarea pe care am avut-o, la investiţiile pe care le-am făcut, atunci putem fi mulţumiţi. Dacă ne uităm la piaţă cred că ar trebui să ne apropiem mai mult de banca numărul unu şi numărul doi, care au o poziţie mai puternică. Cred că este important să ne uităm la mai mulţi indicatori, cum ar fi eficienţa, profitul net, capitalul, cota de piaţă pe produse sau servicii şi să creştem de la an la an.

– Creşterea de profit net cu 68% de la un an la altul pare miraculoasă, ce se ascunde în spatele miracolului, cum se justifică o asemenea creştere?

– Sunt câteva elemente. Un punct important este că ne-am mărit reţeaua de distribuţie şi, odată cu ea, şi activitatea. Apoi, noi nu vrem doar să dăm cuiva un credit sau să avem un depozit, ci să oferim unui client toate produsele şi serviciile financiar-bancare de care are nevoie. Un punct important în activitatea bancară, aşa cum vă spuneam, este costul de risc. Am reuşit să creştem activitatea noastră fără să avem costuri mari în ceea ce priveşte riscul, cu alte cuvinte să atragem parteneri şi clienţi buni. Anul trecut am încheiat un proces de centralizare a activităţilor operaţionale, cum le spunem noi de „back-office“ şi rezultatele n-au întârziat să apară, iar strategia noastră a dat roade.

– Venitul net obţinut de bancă din dobânzi în 2008 este cel mai mare, în afară de cel obţinut din comisioane. El este cel care determină această creştere spectaculoasă?

– Activitatea de creditare este de bază într-o bancă. Ideea este să reuşim să avem o relaţie pe termen lung cu clientul şi care să nu se bazeze doar pe creditare. Contează nu doar creditele, ci cât de eficientă e banca în atragerea de clienţi. Întotdeauna am reuşit să atragem şi depozite, cred că şi asta contează foarte mult: cât de eficientă este o bancă în a atrage depozite. De aceea, nu pot să spun că este un singur lucru care a contribuit la venitul net; este foarte important să menţii lucrurile în echilibru, între toate aceste servicii şi produsele pe care le oferă o bancă. În plus, noi, ca bancheri, trebuie să creăm anumite oportunităţi şi să atragem din ce în ce mai mulţi clienţi să întreprindă operaţiuni (plăţi, transferuri), să lucreze cu banca.

– Ce mesaj va transmite Raiffeisen Bank în viitor, care este pasul următor?

– Cred că în România clienţii o să relaţioneze din ce în ce mai mult cu băncile. Problema este că, deşi clientul pare un pic reticent, el o să folosească din ce în ce mai mult anumite produse bancare care, de fapt, ne uşurează viaţa. De exemplu, să plăteşti o factură de telefon prin telefonul mobil, sau să faci plăţile pentru utilităţi prin Internet Banking etc. Mulţi spun, când au bani: de ce să-i pun la bancă, mai bine cumpăr acţiuni, le creşte valoarea. Acest lucru nu e întotdeauna aşa. E un risc şi acolo. Cred că o să vedem cât de curând o revenire la condiţiile clasice, pun nişte bani la bancă, pentru că am copii, şi trebuie să mă gândesc la viitorul lor. Asta e o abordare sănătoasă. Mai mult, trebuie să ţinem cont că orice piaţă are oscilaţiile ei, iar oamenii ar trebui să gândească pe termen mediu şi pe termen lung.

foto Octavian Tibăr

Taguri:

Comenteaza

 

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).version={})}(this,(function(exports){"use strict";function __awaiter(e,t,n,i){return new(n||(n=Promise))((function(s,a){function o(e){try{d(i.next(e))}catch(e){a(e)}}function r(e){try{d(i.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?s(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,r)}d((i=i.apply(e,t||[])).next())}))}var Blocking;"function"==typeof SuppressedError&&SuppressedError,function(e){e.PENDING="pending",e.NONE="none",e.BLOCKED="blocked",e.ALLOWED="allowed"}(Blocking||(Blocking={}));class Adblock{constructor(e){this.state=Blocking.PENDING,this._mocked=!1,e?(this.state=e,this._mocked=!0):this.state=Blocking.ALLOWED}inject(){return __awaiter(this,void 0,void 0,(function*(){}))}get isBlocked(){return this.state===Blocking.BLOCKED}get isAllowed(){return this.state===Blocking.ALLOWED}toContext(){return{user_has_ad_blocker:null,is_ad_blocked:null}}}const OBFUSCATING_BASE_64_PREFIX="UxFdVMwNFNwN0wzODEybV",encode=e=>OBFUSCATING_BASE_64_PREFIX+btoa(unescape(encodeURIComponent(JSON.stringify(e))));function decode$1(e){return JSON.parse(decodeURIComponent(escape(atob(e.replace(OBFUSCATING_BASE_64_PREFIX,"")))))}var version="0.2.13";const APP_ENV="production",TRACKING_DOMAIN="https://click-euw1.bodis.com/",SALES_JS_URL="https://parking.bodiscdn.com/js/inquiry.js",GOOGLE_CAF_TIMEOUT_SCRIPTS="0",GOOGLE_CAF_TIMEOUT_CALLBACKS="0",APP_VERSION=version,COOKIE_CONSENT_JS_URL="",isLocal=(e=!0)=>"production"!==APP_ENV;function log(...e){}const FIND_DOMAIN_URL="_fd",getFindDomain=()=>{const e=`/${FIND_DOMAIN_URL}${window.location.search}`;return fetch(e,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"}}).then((e=>e.text())).then(decode$1)};var ZeroClickReasons;!function(e){e.CAF_TIMEDOUT="caf_timedout",e.CAF_ADLOAD_FAIL_RS="caf_adloadfail_rs",e.CAF_ADLOAD_FAIL_ADS="caf_adloadfail_ads",e.DISABLED_GB="disabled_gb",e.DISABLED_AB="disabled_ab",e.DISABLED_DS="disabled_ds",e.AD_BLOCKED="ad_blocked",e.PREFERRED="preferred"}(ZeroClickReasons||(ZeroClickReasons={}));const getZeroClick=e=>__awaiter(void 0,void 0,void 0,(function*(){const t=Object.assign(Object.assign({},e),{type:"zc_fetch"});return fetch("/_zc",{method:"POST",body:JSON.stringify({signature:encode(t)}),headers:{Accept:"application/json","Content-Type":"application/json"}}).then((e=>__awaiter(void 0,void 0,void 0,(function*(){try{return decode$1(yield e.text())}catch(e){return{}}}))))})),waiter=(e,t)=>new Promise((n=>{t(e),e<=0&&n();let i=e;const s=()=>{i>0?(i-=1,t(i),setTimeout(s,1e3)):n()};s()})),decode=()=>JSON.parse(atob(window.park||""));var PAGE_STYLES='* {\n font-smoothing: antialiased;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\nhtml, body {\n width: 100%;\n margin: 0;\n}\n\nhtml {\n background-color: #2B2B2B;\n height: 100%;\n}\n\nbody {\n min-height: 90%;\n font-family: Arial, sans-serif;\n letter-spacing: 1.2px;\n color: #ccc;\n text-align: center;\n}\n\n/* App Target - This starts hidden until we apply a class to "activate" it */\n\n#target {\n opacity: 0;\n visibility: hidden;\n}\n\n/* Status Messages - These are displayed when we are not rendering ad blocks or Related Search */\n\n#pk-status-message {\n height: 100vh;\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n}\n\n/* Sales Box - Default State */\n\n#sales-box {\n display: block;\n width: 100%;\n padding: 3px;\n text-align: center;\n text-decoration: none;\n color: #8EABC0;\n}\n\n#sales-box a {\n display: block;\n width: 100%;\n text-decoration: inherit;\n color: #8EABC0;\n cursor: pointer;\n}\n\n/* Sales Box - Highlighted State */\n\n#sales-box.is-highlighted {\n position: relative;\n z-index: 1;\n background: #032438 linear-gradient(to top, #044368 0%, #000 100%);\n box-shadow: 0 0 15px 0 #000;\n border-bottom: 3px solid #262626;\n}\n\n#sales-box.is-highlighted a {\n line-height: 1.3;\n display: inline-block;\n font-size: 18px;\n color: #fff;\n text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.5);\n background: none;\n}\n\n/* Ellipsis Loader */\n\n.pk-loader {\n display: inline-block;\n position: relative;\n width: 80px;\n height: 80px;\n}\n\n.pk-loader div {\n position: absolute;\n top: 33px;\n width: 13px;\n height: 13px;\n border-radius: 50%;\n background: #ccc;\n animation-timing-function: cubic-bezier(0, 1, 1, 0);\n}\n\n.pk-loader div:nth-child(1) {\n left: 8px;\n animation: pk-anim-1 0.6s infinite;\n}\n\n.pk-loader div:nth-child(2) {\n left: 8px;\n animation: pk-anim-2 0.6s infinite;\n}\n\n.pk-loader div:nth-child(3) {\n left: 32px;\n animation: pk-anim-2 0.6s infinite;\n}\n\n.pk-loader div:nth-child(4) {\n left: 56px;\n animation: pk-anim-1 0.6s infinite;\n animation-direction: reverse;\n}\n\n.pk-loader-text {\n position: fixed;\n font-size: 12px;\n right: 20px;\n bottom: 20px;\n font-weight: lighter;\n}\n\n/* Utilities */\n\n.pk-message-title {\n font-size: 2em;\n font-weight: bold;\n}\n\n.pk-page-ready {\n opacity: 1 !important;\n visibility: visible !important;\n}\n\n@media only screen and (max-width: 600px) {\n .hidden-xs {\n opacity: 0;\n visibility: hidden;\n }\n}\n\n/* Animation */\n\n@keyframes pk-anim-1 {\n 0% {\n transform: scale(0);\n }\n 100% {\n transform: scale(1);\n }\n}\n\n@keyframes pk-anim-2 {\n 0% {\n transform: translate(0, 0);\n }\n 100% {\n transform: translate(24px, 0);\n }\n}\n';const APP_TARGET="#target",MESSAGE_SELECTOR="#pk-status-message",PAGE_READY_CLASS="pk-page-ready",MESSAGE_TEMPLATE='
';class Renderer{constructor(e){this._domIsReady=!1,this.revealPage=()=>{this.domNode&&this.domNode.classList.add(PAGE_READY_CLASS)},this.injectMetaDescription=e=>{if(!e||0===e.length)return;window.document.title=e;const t=document.createElement("meta");t.setAttribute("name","description"),t.setAttribute("content",`See relevant content for ${e}`),document.getElementsByTagName("head")[0].appendChild(t)},this.domNode=document.querySelector(e)}get domIsReady(){return this._domIsReady}set domIsReady(e){this._domIsReady=e,e&&this.injectStyles(PAGE_STYLES)}message(e,t=""){if(this.injectHTML(MESSAGE_TEMPLATE),this.domNode){const t=this.domNode.querySelector(MESSAGE_SELECTOR);t&&(t.innerHTML=e)}t&&this.injectMetaDescription(t)}salesBanner(e){if(!e)return;const{href:t,position:n,message:i,theme:s}=e,a=document.createElement("div"),o=n||"",r="HIGHLIGHT"===s?"is-highlighted":"";a.innerHTML=t?`\n
\n ${i}\n
\n `:`\n
\n ${i}\n
\n `,"BOTTOM"===n?(a.style.marginTop="30px",document.body.appendChild(a)):document.body.prepend(a)}loading(e){let t="a few";e>0&&(t=`${e}`),this.message(`\n
\n
\n
\n
\n
\n
\n \n `)}adBlockMessage(){this.message("\n

Ad block detected

\n Please disable your ad blocker and reload the page.\n ")}errorParkingUnavailable(){this.message("\n

An Error Occurred

\n

Parking is currently unavailable. We'll be right back.

\n ")}errorParkingServicesDisabled(){this.message("\n

An Error Occurred

\n

Services for this domain name have been disabled.

\n ")}errorParkingNoSponsors(e){this.message(`\n
\n No sponsors\n
\n \n ${window.location.hostname} currently does not have any sponsors for you.\n \n `,e)}imprint(e){if(!e)return;const t=document.querySelector("#imprint-text");t&&(t.innerHTML=e.replace(/(?:\r\n|\r|\n)/g,"
"))}injectStyles(e){if(!e)return;const t=document.createElement("style");t.innerHTML=e.toString(),document.head.appendChild(t)}injectScript(e){if(!e)return;const t=document.createElement("script");t.type="text/javascript",t.src=e,document.body.appendChild(t)}injectJS(js){js&&0!==js.length&&eval(js)}injectHTML(e){this.domNode?(e&&(this.domNode.innerHTML=e),this.domIsReady=!0):(this.domIsReady=!1,console.error("An error occurred when trying to render this page. DOM node not found."))}prerender(e){this.injectMetaDescription(e.domain),this.injectHTML(e.html)}template(e){var t;this.domIsReady||this.prerender(e),this.injectStyles(e.stylesheet),this.imprint(e.imprint),this.salesBanner(e.salesBanner),this.injectJS(e.javascript),null===(t=e.scripts)||void 0===t||t.forEach((e=>{this.injectScript(e)}))}}const Render=new Renderer(APP_TARGET);var Type;!function(e){e[e.Failed=0]="Failed",e[e.Disabled=1]="Disabled",e[e.Redirect=2]="Redirect",e[e.Parking=3]="Parking",e[e.Sales=4]="Sales"}(Type||(Type={}));let State$2=class{get trackingType(){return this._trackingType}set trackingType(e){this._trackingType=e}get track(){return!!this.trackingType}};class Disabled extends State$2{constructor(){super(...arguments),this.type=Type.Disabled}static build(e,t){let n;switch(t===Blocking.BLOCKED&&(n="adblocker"),e.cannotPark){case"disabled_mr":case"disabled_rc":n=e.cannotPark}if(n){const t=new Disabled;return t.reason=n,t.domain=e.domainName,t}}get message(){switch(this.reason){case"adblocker":return"

Ad block detected

Please disable your ad blocker and reload the page.";case"disabled_mr":return`

Invalid URL

Referral traffic for ${this.domain} does not meet requirements.`;default:return`

No sponsors

${this.domain} currently does not have any sponsors for you.`}}get trackingType(){switch(this.reason){case"adblocker":return"ad_blocked_message";case"disabled_mr":return"invalid_referral";case"disabled_rc":return"revenue_cap_reached";default:return"no_sponsors_message"}}toContext(){return{cannotPark:this.reason}}}class Failed extends State$2{constructor(){super(...arguments),this.type=Type.Failed}static cannotPark({cannotPark:e}){switch(e){case"disabled_b":case"prohibited_ua":case"disabled_fr":case"revenue_cap_reached":case"disabled_mr":case"disabled_rc":case"disabled_cp":case"invalid_domain":{const t=new Failed;return t.reason=e,t}}}static noSponsors({cannotLoadAds:e}){if(e){const e=new Failed;return e.reason="no_sponsors",e}}static fromError(e){const t=new Failed;return t.reason="js_error",t.error=e,t}get track(){return!!this.trackingType}get message(){switch(this.reason){case"disabled_fr":case"disabled_rc":case"no_sponsors":return`\n

No Sponsors

\n

${this.domain} currently does not have any sponsors for you.

`;case"disabled_mr":return`\n

Invalid URL

\n

Referral traffic for ${this.domain} does not meet requirements.

`;case"js_error":return"\n

An Error Occurred

\n

Parking is currently unavailable. We'll be right back.

\n ";default:return"\n

An Error Occurred

\n

Services for this domain name have been disabled.

\n "}}get trackingType(){switch(this.reason){case"disabled_rc":return"revenue_cap_reached";case"disabled_mr":return"invalid_referral";case"adblock":return"ad_blocked_message";case"no_sponsors":return"no_sponsors_message"}}get domain(){return window.location.hostname}toContext(){return{cannotPark:this.reason}}}function unpackPHPArrayObject(e,t){const n=e[t];if(n&&!Array.isArray(n))return n}class Parking extends State$2{constructor(){super(...arguments),this.type=Type.Parking}static build(e,t){const n=new Parking;n.domain=e.domainName,n.html=e.template,n.scripts=e.scripts||[],n.javascript=e.inlineJs,n.stylesheet=e.styles,n.imprint=e.imprintText;const i=unpackPHPArrayObject(e,"salesSettings"),s=(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status);if(s){const{status:e,location:t,message:s,link:a,type:o}=i;n.salesBanner={message:s,href:a,position:t,theme:o}}return t.wantsToServeAds?n.trackingType="ctr":s&&window.location.pathname.startsWith("/listing")?n.trackingType="sales":n.trackingType="visit",n}toContext(){return{}}}class Sales extends State$2{constructor(){super(...arguments),this.type=Type.Sales}static build(e){const t=unpackPHPArrayObject(e,"salesSettings");if(!t)return;const{status:n}=t;return["NOT_FOR_SALE","EXTERNAL_MARKET","URL"].includes(n)?void 0:window.location.pathname.startsWith("/listing")?new Sales:void 0}toContext(){return{}}get trackingType(){return"sales"}init(e){window.context=e;const t=document.createElement("script");t.type="text/javascript",t.src=SALES_JS_URL,document.head.append(t)}}class Redirect extends State$2{constructor(){super(...arguments),this.type=Type.Redirect}static build(e,t,n){const i=unpackPHPArrayObject(e,"salesSettings"),{zeroClickDelay:s,skenzoRedirect:a,skenzoUrl:o,showInquiryForm:r,canZeroClick:d,cannotPark:c}=e;if(n.cannotLoadAds&&n.wantsToServeAds)return Redirect.toState(n.noAdsRedirectUrl,"no_ads_redirect");if(d&&(null==t?void 0:t.reason)){if(null==t?void 0:t.redirect)return Redirect.toState(t.redirect,"zc_redirect",s);if(a&&o)return Redirect.toState(o,"skenzo_redirect")}if(window.location.pathname.startsWith("/listing")){if("EXTERNAL_MARKET"===(null==i?void 0:i.status)&&(null==i?void 0:i.external))return Redirect.toState(i.external,"sales");if("URL"===(null==i?void 0:i.status)&&(null==i?void 0:i.link))return Redirect.toState(i.link,"sales")}return(null==i?void 0:i.status)&&"NOT_FOR_SALE"!==(null==i?void 0:i.status)&&(n.cannotLoadAds||n.cannotLoadAds&&!d||r)?Redirect.toState(`${window.location.origin}/listing`):void 0}static toState(e,t,n=0){const i=new Redirect;return i.url=e,i.delay=n,i.trackingType=t,i}toContext(){return{}}}const browserState=()=>{var e,t,n,i,s;const{screen:{width:a,height:o},self:r,top:d,matchMedia:c,opener:l}=window,{documentElement:{clientWidth:h,clientHeight:u}}=document;let p;try{p=(new Date).getTimezoneOffset()/60*-1}catch(e){p=null}return{popup:!(!l||l===window),timezone_offset:p,user_preference:null===(e=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat())||void 0===e?void 0:e.resolvedOptions(),user_using_darkmode:Boolean(c&&c("(prefers-color-scheme: dark)").matches),user_supports_darkmode:Boolean(c),window_resolution:{width:null!=h?h:0,height:null!=u?u:0},screen_resolution:{width:null!=a?a:0,height:null!=o?o:0},frame:d===r?null:{innerWidth:null!==(t=null==r?void 0:r.innerWidth)&&void 0!==t?t:0,innerHeight:null!==(n=null==r?void 0:r.innerHeight)&&void 0!==n?n:0,outerWidth:null!==(i=null==r?void 0:r.outerWidth)&&void 0!==i?i:0,outerHeight:null!==(s=null==r?void 0:r.outerHeight)&&void 0!==s?s:0}}},TRACKING_URL="_tr",trackVisit=({callbacks:e,context:t},n)=>{var i,s;const a=Object.assign({ad_loaded_callback:null==e?void 0:e.adLoadedCallback,app_version:version,caf_timed_out:null==e?void 0:e.cafTimedOut,caf_loaded_ms:null==e?void 0:e.cafLoadedMs,channel:null===(i=null==t?void 0:t.pageOptions)||void 0===i?void 0:i.channel,fd_server_datetime:t.fd_server_datetime,fd_server:t.fd_server,flex_rule:t.flex_rule,host:t.host,ip:t.ip,ivt:null===(s=null==t?void 0:t.pageOptions)||void 0===s?void 0:s.ivt,js_error:t.js_error,no_ads_redirect:t.noAdsRedirect,page_headers:t.page_headers,page_loaded_callback:null==e?void 0:e.pageLoadedCallback,page_method:t.page_method,page_request:t.page_request,page_time:t.page_time,page_url:t.page_url,reportable_channel:t.reportableChannel,reportable_style_id:t.reportableStyleId,template_id:t.templateId,type:n,user_has_ad_blocker:t.user_has_ad_blocker,uuid:t.uuid,zeroclick:t.zeroClick},browserState());fetch(`/${TRACKING_URL}`,{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({signature:encode(a)})})};var State$1;!function(){if(!window.CustomEvent){function e(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};const n=document.createEvent("CustomEvent");return n.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),n}e.prototype=window.Event.prototype,window.CustomEvent=e}}(),function(e){e[e.Pending=0]="Pending",e[e.Loaded=1]="Loaded",e[e.Failed=2]="Failed"}(State$1||(State$1={}));class Provider{constructor(e){this.timeoutSeconds=5,this.handlePixelEvent=e=>{switch(this.state){case State$1.Failed:break;case State$1.Pending:setTimeout((()=>this.handlePixelEvent(e)),100);break;case State$1.Loaded:this.onPixelEvent(e)}},this.watch=()=>{switch(this.state){case State$1.Loaded:case State$1.Failed:break;case State$1.Pending:this.isLoaded()?this.state=State$1.Loaded:this.isTimedOut()?this.state=State$1.Failed:setTimeout(this.watch,50)}},this.config=e,this.identifier&&this.identifier.length>0?(this.state=State$1.Pending,this.timeoutAt=new Date,this.timeoutAt.setSeconds(this.timeoutAt.getSeconds()+this.timeoutAfter()),this.injectPixel()):this.state=State$1.Failed}get identifier(){var e;return null===(e=this.config)||void 0===e?void 0:e.key}get pixelEvents(){var e;return null===(e=this.config)||void 0===e?void 0:e.pixel_events}injectPixel(){this.injectedAt||(this.injectedAt=new Date,this.inject(),this.watch())}inject(){const e=document.createElement("script");e.text=this.script,document.head.appendChild(e)}isTimedOut(){return+new Date>=+this.timeoutAt}timeoutAfter(){return this.timeoutSeconds}selectPixelEvents(e){if(Array.isArray(this.pixelEvents))return this.pixelEvents.filter((t=>"term-view"===t.trigger&&"visit"===e||(!(!["term-click","ad-view"].includes(t.trigger)||"ctr"!==e)||"ad-click"===t.trigger&&"click"===e)))}}class Facebook extends Provider{get script(){return`!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js');fbq('init', '${this.identifier}');`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&(e.custom?window.fbq("trackCustom",e.event):window.fbq("track",e.event))}))}isLoaded(){return!!window.fbq}}class Outbrain extends Provider{get script(){return`!function(_window, _document) {var OB_ADV_ID = '${this.identifier}';if (_window.obApi) {var toArray = function(object) {return Object.prototype.toString.call(object) === '[object Array]' ? object : [object];};_window.obApi.marketerId = toArray(_window.obApi.marketerId).concat(toArray(OB_ADV_ID));return;}var api = _window.obApi = function() {api.dispatch ? api.dispatch.apply(api, arguments) : api.queue.push(arguments);};api.version = '1.1';api.loaded = true;api.marketerId = OB_ADV_ID;api.queue = [];var tag = _document.createElement('script');tag.async = true;tag.src = '//amplify.outbrain.com/cp/obtp.js';tag.type = 'text/javascript';var script = _document.getElementsByTagName('script')[0];script.parentNode.insertBefore(tag, script);}(window, document);`}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.obApi("track",e.event)}))}isLoaded(){return!!window.obApi}}class Revcontent extends Provider{get script(){return""}inject(){const e=document.createElement("script");e.src="https://assets.revcontent.com/master/rev.js",document.head.appendChild(e)}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window.rev("event",e.event)}))}isLoaded(){return!!window.rev}}class Taboola extends Provider{get script(){return"window._tfa = window._tfa || [];!function (t, f, a, x) {if (!document.getElementById(x)) {t.async = 1;t.src = a;t.id=x;f.parentNode.insertBefore(t, f);}}(document.createElement('script'),document.getElementsByTagName('script')[0],'//cdn.taboola.com/libtrc/unip/1451879/tfa.js','tb_tfa_script');"}onPixelEvent(e){this.selectPixelEvents(e).forEach((e=>{e&&window._tfa.push({notify:"event",name:e.event,id:e.pixel_id})}))}isLoaded(){return Array.isArray(window._tfa)}}class Tiktok extends Provider{constructor(e,t){super(e),this.useAltTikTokEventsForAdsPlatformUser=t}get script(){return`!function (w, d, t) {w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i{e&&window.ttq.instance(this.identifier).track(e.event)}))}isLoaded(){return!!window.ttq}}const ADS_PARAM$1="?caf",MESSAGE_PREFIX="FSXDC,.aCS:",ALLOWED_ORIGINS=["https://www.google.com","https://www.adsensecustomsearchads.com"];class Pixels{static build(e){const t=unpackPHPArrayObject(e,"pixel_tracking_data");if(t)return t.useAltTikTokEventsForAdsPlatformUser=e.is_ads,new Pixels(t)}constructor(e){this.onPixelEvent=e=>{const{detail:{type:t}}=e;switch(t){case"visit":case"ctr":case"click":this.providers.forEach((e=>e.handlePixelEvent(t)))}},this.providers=[new Facebook(e.facebook),new Tiktok(e.tiktok,e.useAltTikTokEventsForAdsPlatformUser),new Taboola(e.taboola),new Revcontent(e.revcontent),new Outbrain(e.outbrain)]}listenForEvents(){document.addEventListener("pixel",(e=>{this.onPixelEvent(e)}));window.onmessage=e=>{const{origin:t,data:n}=e;ALLOWED_ORIGINS.includes(t)&&(null==n?void 0:n.startsWith(MESSAGE_PREFIX))&&window.location.search.startsWith(ADS_PARAM$1)&&document.dispatchEvent(new CustomEvent("pixel",{detail:{type:"click"}}))}}dispatchEvent(e){document.dispatchEvent(new CustomEvent("pixel",{detail:e}))}}class URLSearchParamsPolyfill{constructor(e){this.params={},e&&e.slice(1).split("&").forEach((e=>{const[t,n]=e.split("=").map(decodeURIComponent);this.params[t]=n}))}has(e){return Object.keys(this.params).includes(e)}append(e,t){this.params[e]=t}toString(){return Object.keys(this.params).map((e=>`${encodeURIComponent(e)}=${encodeURIComponent(this.params[e])}`)).join("&")}}const parse=()=>"function"==typeof window.URLSearchParams?new URLSearchParams(window.location.search):new URLSearchParamsPolyfill(window.location.search);var State;!function(e){e[e.Pending=0]="Pending",e[e.Loaded=1]="Loaded",e[e.Failure=2]="Failure",e[e.TimedOut=3]="TimedOut",e[e.Errored=4]="Errored"}(State||(State={}));const CAF_SCRIPT_SRC="https://www.google.com/adsense/domains/caf.js",TIMEOUT_SCRIPTS=Number(GOOGLE_CAF_TIMEOUT_SCRIPTS),TIMEOUT_CALLBACKS=Number(GOOGLE_CAF_TIMEOUT_CALLBACKS);class StateMachine{constructor(){this.state=State.Pending}transitionTo(e){this.state=e}transitionFromPendingTo(e){this.done||(this.state=e)}get loaded(){return this.state===State.Loaded}get timedOut(){return this.state===State.TimedOut}get done(){return this.state!==State.Pending}}class Ads{constructor(e,t){this.state={script:new StateMachine,blocks:new StateMachine},this.blocksLoaded=[],this.injectScriptTags=()=>__awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=document.createElement("script");t.type="text/javascript",t.src=CAF_SCRIPT_SRC,t.addEventListener("load",(()=>e(!0))),t.addEventListener("error",(()=>e(!1))),document.body.appendChild(t),TIMEOUT_SCRIPTS>0&&setTimeout((()=>e(!1)),TIMEOUT_SCRIPTS)}))})),this.onPageLoaded=(e,t)=>{if(this.pageLoaded={requestAccepted:e,status:t},this.state.script.done)return;const n=null==t?void 0:t.error_code;n?(this.state.script.transitionTo(State.Failure),this.failureReason=`caf_pageloaderror_${n}`):this.state.script.transitionTo(State.Loaded)},this.onBlockLoaded=(e,t,n,i)=>{this.blocksLoaded.push({containerName:e,adsLoaded:t,isExperimentVariant:n,callbackOptions:i}),this.state.blocks.done||(t?this.state.blocks.transitionTo(State.Loaded):this.blocksLoaded.length>=this.blocks.length&&(this.state.blocks.transitionTo(State.Failure),this.failureReason=`caf_adloadfail_${e}`))},this.onTimeout=()=>{this.state.script.transitionFromPendingTo(State.TimedOut),this.state.blocks.transitionFromPendingTo(State.TimedOut)},this.blocks=e,this.options=t}get loaded(){return this.state.script.loaded&&!this.blocksLoaded.map((e=>e.adsLoaded)).includes(!1)}waitForBlocks(){return __awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=()=>{const n=performance.now();if(this.state.blocks.done)return this.cafLoadTime=Math.round(n-this.cafStartTime),void e();const i=this.blocksLoaded.map((e=>e.adsLoaded));i.includes(!1)||i.length>=this.blocks.length?e():setTimeout(t,50)};t()}))}))}inject(){return __awaiter(this,void 0,void 0,(function*(){try{const e=yield this.injectScriptTags();return this.cafStartTime=performance.now(),e&&void 0!==window.google?(new window.google.ads.domains.Caf(Object.assign(Object.assign({},this.options),{pageLoadedCallback:this.onPageLoaded,adLoadedCallback:this.onBlockLoaded}),...this.blocks),TIMEOUT_CALLBACKS>0&&setTimeout(this.onTimeout,TIMEOUT_CALLBACKS),yield new Promise((e=>{const t=()=>{this.state.script.done?e():setTimeout(t,10)};t()}))):void this.state.script.transitionTo(State.Failure)}catch(e){return void(this.error=e.toString())}}))}toCallbacks(){return{adLoadedCallback:this.blocksLoaded.slice(-1)[0],pageLoadedCallback:this.pageLoaded,cafTimedOut:this.state.script.timedOut||this.state.blocks.timedOut,cafLoadedMs:this.cafLoadTime,googleAdsFailure:!!this.failureReason}}toContext(){const e={cafScriptWasLoaded:this.state.script.loaded,cafScriptLoadTime:this.cafLoadTime,callbacks:this.toCallbacks};return this.error&&(e.js_error={message:this.error}),this.state.script.loaded||(e.zeroclick={reason:"googleAdsFailure"}),e}mockFailedState(){this.state.blocks.transitionTo(State.Failure),this.state.script.transitionTo(State.Failure)}}class TagManager{constructor(e){this.injected=!1,this.identifier=e}inject(){if(this.injected)return;if(!this.identifier)return;if("TEST"===this.identifier)return;const e=document.createElement("script");e.setAttribute("src",`https://www.googletagmanager.com/gtag/js?id=${this.identifier}`),document.head.appendChild(e),this.track(),this.injected=!0}track(){this.push("js",new Date),this.push("config",this.identifier)}push(e,t){window.dataLayer||(window.dataLayer=[]),window.dataLayer.push(arguments)}}const ADS_PARAM="?caf",ADS_TRACKING_URL="_tr",BLOCKS_TYPE="ads",BLOCKS_CONTAINER="rs",KNOWN_CAF_PARAMS=["caf","query","afdToken","pcsa","nb","nm","nx","ny","is","clkt"];class Google{static build({pageOptions:e,preferredLanguage:t,blocks:n,googleAnalytics:i},s,a){let o={};e&&(o=Object.assign({},e),o.hl||(o.hl=t));let r=null==e?void 0:e.resultsPageBaseUrl;return new Google(s.uuid,n,o,i,r)}constructor(e,t,n,i,s){this._blocks=t,this._pageOptions=n,this.uuid=e,this.baseURL=s,this.ads=new Ads(this.blocks,this.pageOptions),this.tagManager=new TagManager(i)}injectTagManager(){this.tagManager.inject()}injectAds(){return __awaiter(this,void 0,void 0,(function*(){yield this.ads.inject()}))}waitForBlocks(){return __awaiter(this,void 0,void 0,(function*(){return this.ads.waitForBlocks()}))}get blocks(){return(this._blocks||[]).filter((e=>this.wantsToServeAds?e.type===BLOCKS_TYPE:e.container===BLOCKS_CONTAINER)).map((e=>{const t=parse(),n=Object.assign({},e);return n.resultsPageBaseUrl=`${this.baseURL}${ADS_PARAM}&${t.toString()}`,this.wantsToServeAds&&(t.append("click","true"),t.append("session",this.uuid),n.clicktrackUrl=`${TRACKING_DOMAIN}${ADS_TRACKING_URL}/?${t.toString()}`),n}))}get pageOptions(){const e=Object.assign({},this._pageOptions);return Object.keys(this._pageOptions).forEach((t=>{t.startsWith("bodis")&&delete e[t]})),e}get cannotLoadAds(){return!this.ads.loaded}get wantsToServeAds(){return window.location.search.startsWith(ADS_PARAM)}get adsMode(){return this.ads.loaded&&this.wantsToServeAds}get adsReady(){return this.wantsToServeAds&&!this.cannotLoadAds}get noAdsRedirectUrl(){const e=new URLSearchParams(window.location.search);return KNOWN_CAF_PARAMS.forEach((t=>e.delete(t))),`${window.location.origin}?${e.toString()}`}get callbacks(){return this.ads.toCallbacks()}toContext(){return Object.assign({blocks:this.blocks,pageOptions:this.pageOptions},this.ads.toContext())}}class CookieConsentManager{constructor(){this.injectScriptTag=()=>__awaiter(this,void 0,void 0,(function*(){return new Promise((e=>{const t=document.createElement("script");t.setAttribute("src",COOKIE_CONSENT_JS_URL),t.addEventListener("load",(()=>this.awaitConsent(e))),t.addEventListener("error",(()=>e(!1))),document.head.appendChild(t)}))}))}inject(){return __awaiter(this,void 0,void 0,(function*(){this.injected||!COOKIE_CONSENT_JS_URL||isLocal()||(this.injected=yield this.injectScriptTag())}))}awaitConsent(e){let t=0;const n=setInterval((()=>{t+=1,20===t&&(clearInterval(n),e(!0)),void 0!==window.__tcfapi&&(window.addEventListener("ConsentActivity",(t=>{const{detail:{status:n}}=t;n&&e(!0)})),clearInterval(n))}),50)}}class App{main(){var e;return __awaiter(this,void 0,void 0,(function*(){if(this.parkResponse=decode(),this.findDomainResponse=yield getFindDomain(),!this.findDomainResponse)throw new Error("Domain failed to load.");this.pixels=Pixels.build(this.findDomainResponse),null===(e=this.pixels)||void 0===e||e.listenForEvents(),this.adblock=new Adblock,yield this.adblock.inject(),this.google=Google.build(this.findDomainResponse,this.parkResponse,this.adblock),this.google.injectTagManager();const t=Parking.build(this.findDomainResponse,this.google);Render.prerender(t),this.cookieConsentManager=new CookieConsentManager,yield this.cookieConsentManager.inject();let n=Failed.cannotPark(this.findDomainResponse);if(n)return void(yield this.transitionToFailed(n));yield this.google.injectAds();const i=Disabled.build(this.findDomainResponse,this.adblock.state);if(i)return void(yield this.transitionToDisabled(i));const s=Sales.build(this.findDomainResponse);if(s)return void(yield this.transitionToSales(s));this.eligibleForZeroClick&&(this.zeroClickResponse=yield getZeroClick(this.context));const a=Redirect.build(this.findDomainResponse,this.zeroClickResponse,this.google);a?yield this.transitionToRedirect(a):(n=Failed.noSponsors(this.google),n?yield this.transitionToFailed(n):yield this.transitionToParking(t))}))}transitionToParking(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.template(e),Render.revealPage(),yield this.google.waitForBlocks(),yield this.track()}))}transitionToRedirect(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e;const t=this.track();Render.revealPage(),yield waiter(e.delay,(e=>Render.loading(e))),yield t,window.location.href=e.url,log(`➡ Redirecting [${e.url}]`)}))}transitionToFailed(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),Render.revealPage(),yield this.track()}))}transitionToSales(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e,e.init(this.context),yield this.track()}))}transitionToDisabled(e){return __awaiter(this,void 0,void 0,(function*(){this.state=e,Render.message(e.message),Render.revealPage(),yield this.track()}))}track(){var e;return __awaiter(this,void 0,void 0,(function*(){if(!this.state.track)return Promise.resolve();try{const t=this.state.trackingType;return null===(e=this.pixels)||void 0===e||e.dispatchEvent({type:t}),trackVisit({context:this.context,callbacks:this.google.callbacks},t)}catch(e){return}}))}get eligibleForZeroClick(){const{cannotPark:e,canZeroClick:t,zeroClick:n}=this.findDomainResponse,{cannotLoadAds:i,wantsToServeAds:s}=this.google;return!!t&&(!!e||(!(!i||s)||!!(null==n?void 0:n.reason)))}get context(){var e,t,n,i;const s=this.findDomainResponse,a=this.parkResponse,o=null===(e=this.state)||void 0===e?void 0:e.toContext(),r=null===(t=this.adblock)||void 0===t?void 0:t.toContext(),d=null===(n=this.google)||void 0===n?void 0:n.toContext(),c=browserState(),l=Object.assign(Object.assign({},null===(i=this.findDomainResponse)||void 0===i?void 0:i.zeroClick),this.zeroClickResponse);return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({app_version:APP_VERSION,zeroClick:l},s),a),r),d),o),c)}init(){return __awaiter(this,void 0,void 0,(function*(){try{window.__parkour=this,yield this.main()}catch(e){console.error("app",e);const t=Failed.fromError(e);this.state=t,Render.message(t.message),Render.revealPage()}}))}}(new App).init(),exports.App=App}));